@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,228 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorManager = exports.ErrorTypes = void 0;
4
+ const helpers_1 = require("./helpers");
5
+ const error_codes_1 = require("./error-codes");
6
+ /**
7
+ * Error types with structured messages (Legacy - kept for compatibility)
8
+ */
9
+ exports.ErrorTypes = {
10
+ NO_CLAUDE_CLI: 'NO_CLAUDE_CLI',
11
+ MISSING_SETTINGS: 'MISSING_SETTINGS',
12
+ INVALID_CONFIG: 'INVALID_CONFIG',
13
+ UNKNOWN_PROFILE: 'UNKNOWN_PROFILE',
14
+ PERMISSION_DENIED: 'PERMISSION_DENIED',
15
+ GENERIC: 'GENERIC',
16
+ };
17
+ /**
18
+ * Enhanced error manager with context-aware messages
19
+ */
20
+ class ErrorManager {
21
+ /**
22
+ * Show error code and documentation URL
23
+ */
24
+ static showErrorCode(errorCode) {
25
+ console.error((0, helpers_1.colored)(`Error: ${errorCode}`, 'yellow'));
26
+ console.error((0, helpers_1.colored)((0, error_codes_1.getErrorDocUrl)(errorCode), 'yellow'));
27
+ console.error('');
28
+ }
29
+ /**
30
+ * Show Claude CLI not found error
31
+ */
32
+ static showClaudeNotFound() {
33
+ console.error('');
34
+ console.error((0, helpers_1.colored)('[X] Claude CLI not found', 'red'));
35
+ console.error('');
36
+ console.error('CCS requires Claude CLI to be installed and available in PATH.');
37
+ console.error('');
38
+ console.error((0, helpers_1.colored)('Solutions:', 'yellow'));
39
+ console.error(' 1. Install Claude CLI:');
40
+ console.error(' https://docs.claude.com/en/docs/claude-code/installation');
41
+ console.error('');
42
+ console.error(' 2. Verify installation:');
43
+ console.error(' command -v claude (Unix)');
44
+ console.error(' Get-Command claude (Windows)');
45
+ console.error('');
46
+ console.error(' 3. Custom path (if installed elsewhere):');
47
+ console.error(' export CCS_CLAUDE_PATH="/path/to/claude"');
48
+ console.error('');
49
+ this.showErrorCode(error_codes_1.ERROR_CODES.CLAUDE_NOT_FOUND);
50
+ }
51
+ /**
52
+ * Show settings file not found error
53
+ */
54
+ static showSettingsNotFound(settingsPath) {
55
+ const isClaudeSettings = settingsPath.includes('.claude') && settingsPath.endsWith('settings.json');
56
+ console.error('');
57
+ console.error((0, helpers_1.colored)('[X] Settings file not found', 'red'));
58
+ console.error('');
59
+ console.error(`File: ${settingsPath}`);
60
+ console.error('');
61
+ if (isClaudeSettings) {
62
+ console.error('This file is auto-created when you login to Claude CLI.');
63
+ console.error('');
64
+ console.error((0, helpers_1.colored)('Solutions:', 'yellow'));
65
+ console.error(` echo '{}' > ${settingsPath}`);
66
+ console.error(' claude /login');
67
+ console.error('');
68
+ console.error('Why: Newer Claude CLI versions require explicit login.');
69
+ }
70
+ else {
71
+ console.error((0, helpers_1.colored)('Solutions:', 'yellow'));
72
+ console.error(' npm install -g @kaitranntt/ccs --force');
73
+ console.error('');
74
+ console.error('This will recreate missing profile settings.');
75
+ }
76
+ console.error('');
77
+ this.showErrorCode(error_codes_1.ERROR_CODES.CONFIG_INVALID_PROFILE);
78
+ }
79
+ /**
80
+ * Show invalid configuration error
81
+ */
82
+ static showInvalidConfig(configPath, errorDetail) {
83
+ console.error('');
84
+ console.error((0, helpers_1.colored)('[X] Configuration invalid', 'red'));
85
+ console.error('');
86
+ console.error(`File: ${configPath}`);
87
+ console.error(`Issue: ${errorDetail}`);
88
+ console.error('');
89
+ console.error((0, helpers_1.colored)('Solutions:', 'yellow'));
90
+ console.error(' # Backup corrupted file');
91
+ console.error(` mv ${configPath} ${configPath}.backup`);
92
+ console.error('');
93
+ console.error(' # Reinstall CCS');
94
+ console.error(' npm install -g @kaitranntt/ccs --force');
95
+ console.error('');
96
+ console.error('Your profile settings will be preserved.');
97
+ console.error('');
98
+ this.showErrorCode(error_codes_1.ERROR_CODES.CONFIG_INVALID_JSON);
99
+ }
100
+ /**
101
+ * Show profile not found error
102
+ */
103
+ static showProfileNotFound(profileName, availableProfiles, suggestions = []) {
104
+ console.error('');
105
+ console.error((0, helpers_1.colored)(`[X] Profile '${profileName}' not found`, 'red'));
106
+ console.error('');
107
+ if (suggestions && suggestions.length > 0) {
108
+ console.error((0, helpers_1.colored)('Did you mean:', 'yellow'));
109
+ suggestions.forEach((s) => console.error(` ${s}`));
110
+ console.error('');
111
+ }
112
+ console.error((0, helpers_1.colored)('Available profiles:', 'cyan'));
113
+ availableProfiles.forEach((line) => console.error(` ${line}`));
114
+ console.error('');
115
+ console.error((0, helpers_1.colored)('Solutions:', 'yellow'));
116
+ console.error(' # Use existing profile');
117
+ console.error(' ccs <profile> "your prompt"');
118
+ console.error('');
119
+ console.error(' # Create new account profile');
120
+ console.error(' ccs auth create <name>');
121
+ console.error('');
122
+ this.showErrorCode(error_codes_1.ERROR_CODES.PROFILE_NOT_FOUND);
123
+ }
124
+ /**
125
+ * Show permission denied error
126
+ */
127
+ static showPermissionDenied(path) {
128
+ console.error('');
129
+ console.error((0, helpers_1.colored)('[X] Permission denied', 'red'));
130
+ console.error('');
131
+ console.error(`Cannot write to: ${path}`);
132
+ console.error('');
133
+ console.error((0, helpers_1.colored)('Solutions:', 'yellow'));
134
+ console.error(' # Fix ownership');
135
+ console.error(' sudo chown -R $USER ~/.ccs ~/.claude');
136
+ console.error('');
137
+ console.error(' # Fix permissions');
138
+ console.error(' chmod 755 ~/.ccs ~/.claude');
139
+ console.error('');
140
+ console.error(' # Retry installation');
141
+ console.error(' npm install -g @kaitranntt/ccs --force');
142
+ console.error('');
143
+ this.showErrorCode(error_codes_1.ERROR_CODES.FS_CANNOT_WRITE_FILE);
144
+ }
145
+ /**
146
+ * Show CLIProxy OAuth timeout error
147
+ */
148
+ static showOAuthTimeout(provider) {
149
+ console.error('');
150
+ console.error((0, helpers_1.colored)('+---------------------------------------------------------+', 'red'));
151
+ console.error((0, helpers_1.colored)('| OAuth Timeout |', 'red'));
152
+ console.error((0, helpers_1.colored)('+---------------------------------------------------------+', 'red'));
153
+ console.error('');
154
+ console.error('Authentication did not complete within 2 minutes.');
155
+ console.error('');
156
+ console.error((0, helpers_1.colored)('Troubleshooting:', 'yellow'));
157
+ console.error(' 1. Check if browser opened (popup blocker?)');
158
+ console.error(' 2. Complete login in browser, then return here');
159
+ console.error(' 3. Try different browser');
160
+ console.error(' 4. Disable browser extensions temporarily');
161
+ console.error('');
162
+ console.error((0, helpers_1.colored)('For headless/SSH environments:', 'cyan'));
163
+ console.error(` ccs ${provider} --auth --headless`);
164
+ console.error('');
165
+ console.error('This displays manual authentication steps.');
166
+ console.error('');
167
+ }
168
+ /**
169
+ * Show CLIProxy port conflict error
170
+ */
171
+ static showPortConflict(port) {
172
+ console.error('');
173
+ console.error((0, helpers_1.colored)('+---------------------------------------------------------+', 'red'));
174
+ console.error((0, helpers_1.colored)('| Port Conflict |', 'red'));
175
+ console.error((0, helpers_1.colored)('+---------------------------------------------------------+', 'red'));
176
+ console.error('');
177
+ console.error(`CLIProxy port ${port} is already in use.`);
178
+ console.error('');
179
+ console.error((0, helpers_1.colored)('Solutions:', 'yellow'));
180
+ console.error(' 1. Find process using port:');
181
+ console.error(` lsof -i :${port} (macOS/Linux)`);
182
+ console.error(` netstat -ano | findstr ${port} (Windows)`);
183
+ console.error('');
184
+ console.error(' 2. Kill the process:');
185
+ console.error(` lsof -ti:${port} | xargs kill -9`);
186
+ console.error('');
187
+ console.error(' 3. Wait and retry (process may exit on its own)');
188
+ console.error('');
189
+ }
190
+ /**
191
+ * Show CLIProxy binary download failure error
192
+ */
193
+ static showBinaryDownloadFailed(url, error) {
194
+ console.error('');
195
+ console.error((0, helpers_1.colored)('+---------------------------------------------------------+', 'red'));
196
+ console.error((0, helpers_1.colored)('| Binary Download Failed |', 'red'));
197
+ console.error((0, helpers_1.colored)('+---------------------------------------------------------+', 'red'));
198
+ console.error('');
199
+ console.error(`Error: ${error}`);
200
+ console.error('');
201
+ console.error((0, helpers_1.colored)('Troubleshooting:', 'yellow'));
202
+ console.error(' 1. Check internet connection');
203
+ console.error(' 2. Check firewall/proxy settings');
204
+ console.error(' 3. Try again in a few minutes');
205
+ console.error('');
206
+ console.error((0, helpers_1.colored)('Manual download:', 'cyan'));
207
+ console.error(` URL: ${url}`);
208
+ console.error(' Save to: ~/.ccs/bin/cliproxyapi');
209
+ console.error(' chmod +x ~/.ccs/bin/cliproxyapi');
210
+ console.error('');
211
+ }
212
+ /**
213
+ * Show CLIProxy authentication required error
214
+ */
215
+ static showAuthRequired(provider) {
216
+ console.error('');
217
+ console.error((0, helpers_1.colored)(`[X] ${provider} authentication required`, 'red'));
218
+ console.error('');
219
+ console.error((0, helpers_1.colored)('To authenticate:', 'yellow'));
220
+ console.error(` ccs ${provider} --auth`);
221
+ console.error('');
222
+ console.error('This will open a browser for OAuth login.');
223
+ console.error('After login, you can use the profile normally.');
224
+ console.error('');
225
+ }
226
+ }
227
+ exports.ErrorManager = ErrorManager;
228
+ //# sourceMappingURL=error-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-manager.js","sourceRoot":"","sources":["../../src/utils/error-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { ColorName, TerminalInfo } from '../types';
2
+ export declare const colors: Record<ColorName, string>;
3
+ /**
4
+ * Helper: Apply color to text (returns plain text if colors disabled)
5
+ */
6
+ export declare function colored(text: string, colorName?: ColorName): string;
7
+ /**
8
+ * Simple error formatting
9
+ */
10
+ export declare function error(message: string): never;
11
+ /**
12
+ * Path expansion (~ and env vars)
13
+ */
14
+ export declare function expandPath(pathStr: string): string;
15
+ /**
16
+ * Detect terminal capabilities
17
+ */
18
+ export declare function getTerminalInfo(): TerminalInfo;
19
+ /**
20
+ * Calculate Levenshtein distance between two strings
21
+ */
22
+ export declare function levenshteinDistance(a: string, b: string): number;
23
+ /**
24
+ * Find similar strings using fuzzy matching
25
+ */
26
+ export declare function findSimilarStrings(target: string, candidates: string[], maxDistance?: number): string[];
27
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AA6BnD,eAAO,MAAM,MAAM,2BAAc,CAAC;AAElC;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,SAAmB,GAAG,MAAM,CAI5E;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAI5C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAgBlD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,CAM9C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA+BhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAAE,EACpB,WAAW,GAAE,MAAU,GACtB,MAAM,EAAE,CAcV"}
@@ -0,0 +1,150 @@
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.findSimilarStrings = exports.levenshteinDistance = exports.getTerminalInfo = exports.expandPath = exports.error = exports.colored = exports.colors = void 0;
27
+ const path = __importStar(require("path"));
28
+ const os = __importStar(require("os"));
29
+ /**
30
+ * TTY-aware color detection (matches lib/ccs bash logic)
31
+ */
32
+ function getColors() {
33
+ const forcedColors = process.env.FORCE_COLOR;
34
+ const noColor = process.env.NO_COLOR;
35
+ const isTTY = process.stdout.isTTY === true; // Must be explicitly true
36
+ const useColors = !!forcedColors || (isTTY && !noColor);
37
+ if (useColors) {
38
+ return {
39
+ red: '\x1b[0;31m',
40
+ yellow: '\x1b[1;33m',
41
+ cyan: '\x1b[0;36m',
42
+ green: '\x1b[0;32m',
43
+ blue: '\x1b[0;34m',
44
+ bold: '\x1b[1m',
45
+ cyanBold: '\x1b[1;36m',
46
+ reset: '\x1b[0m',
47
+ };
48
+ }
49
+ return { red: '', yellow: '', cyan: '', green: '', blue: '', bold: '', cyanBold: '', reset: '' };
50
+ }
51
+ // Colors object (dynamic)
52
+ exports.colors = getColors();
53
+ /**
54
+ * Helper: Apply color to text (returns plain text if colors disabled)
55
+ */
56
+ function colored(text, colorName = 'reset') {
57
+ const currentColors = getColors();
58
+ const color = currentColors[colorName] || '';
59
+ return color ? `${color}${text}${currentColors.reset}` : text;
60
+ }
61
+ exports.colored = colored;
62
+ /**
63
+ * Simple error formatting
64
+ */
65
+ function error(message) {
66
+ console.error(`ERROR: ${message}`);
67
+ console.error('Try: npm install -g @kaitranntt/ccs --force');
68
+ process.exit(1);
69
+ }
70
+ exports.error = error;
71
+ /**
72
+ * Path expansion (~ and env vars)
73
+ */
74
+ function expandPath(pathStr) {
75
+ // Handle tilde expansion
76
+ if (pathStr.startsWith('~/') || pathStr.startsWith('~\\')) {
77
+ pathStr = path.join(os.homedir(), pathStr.slice(2));
78
+ }
79
+ // Expand environment variables (Windows and Unix)
80
+ pathStr = pathStr.replace(/\$\{([^}]+)\}/g, (_, name) => process.env[name] || '');
81
+ pathStr = pathStr.replace(/\$([A-Z_][A-Z0-9_]*)/gi, (_, name) => process.env[name] || '');
82
+ // Windows %VAR% style
83
+ if (process.platform === 'win32') {
84
+ pathStr = pathStr.replace(/%([^%]+)%/g, (_, name) => process.env[name] || '');
85
+ }
86
+ return path.normalize(pathStr);
87
+ }
88
+ exports.expandPath = expandPath;
89
+ /**
90
+ * Detect terminal capabilities
91
+ */
92
+ function getTerminalInfo() {
93
+ return {
94
+ isTTY: process.stdout.isTTY ?? false,
95
+ supportsColor: (process.stdout.isTTY ?? false) && !process.env.NO_COLOR,
96
+ noColorEnv: !!process.env.NO_COLOR,
97
+ };
98
+ }
99
+ exports.getTerminalInfo = getTerminalInfo;
100
+ /**
101
+ * Calculate Levenshtein distance between two strings
102
+ */
103
+ function levenshteinDistance(a, b) {
104
+ if (a.length === 0)
105
+ return b.length;
106
+ if (b.length === 0)
107
+ return a.length;
108
+ const matrix = [];
109
+ // Initialize first row and column
110
+ for (let i = 0; i <= b.length; i++) {
111
+ matrix[i] = [i];
112
+ }
113
+ for (let j = 0; j <= a.length; j++) {
114
+ matrix[0][j] = j;
115
+ }
116
+ // Fill in the rest of the matrix
117
+ for (let i = 1; i <= b.length; i++) {
118
+ for (let j = 1; j <= a.length; j++) {
119
+ if (b.charAt(i - 1) === a.charAt(j - 1)) {
120
+ matrix[i][j] = matrix[i - 1][j - 1];
121
+ }
122
+ else {
123
+ matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, // substitution
124
+ matrix[i][j - 1] + 1, // insertion
125
+ matrix[i - 1][j] + 1 // deletion
126
+ );
127
+ }
128
+ }
129
+ }
130
+ return matrix[b.length][a.length];
131
+ }
132
+ exports.levenshteinDistance = levenshteinDistance;
133
+ /**
134
+ * Find similar strings using fuzzy matching
135
+ */
136
+ function findSimilarStrings(target, candidates, maxDistance = 2) {
137
+ const targetLower = target.toLowerCase();
138
+ const matches = candidates
139
+ .map((candidate) => ({
140
+ name: candidate,
141
+ distance: levenshteinDistance(targetLower, candidate.toLowerCase()),
142
+ }))
143
+ .filter((item) => item.distance <= maxDistance && item.distance > 0)
144
+ .sort((a, b) => a.distance - b.distance)
145
+ .slice(0, 3) // Show at most 3 suggestions
146
+ .map((item) => item.name);
147
+ return matches;
148
+ }
149
+ exports.findSimilarStrings = findSimilarStrings;
150
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Package Manager Detector Utilities
3
+ *
4
+ * Cross-platform package manager detection utilities for CCS.
5
+ */
6
+ /**
7
+ * Detect installation method
8
+ */
9
+ export declare function detectInstallationMethod(): 'npm' | 'direct';
10
+ /**
11
+ * Detect which package manager was used for installation
12
+ */
13
+ export declare function detectPackageManager(): 'npm' | 'yarn' | 'pnpm' | 'bun';
14
+ //# sourceMappingURL=package-manager-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-manager-detector.d.ts","sourceRoot":"","sources":["../../src/utils/package-manager-detector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,KAAK,GAAG,QAAQ,CA4D3D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CA4DtE"}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ /**
3
+ * Package Manager Detector Utilities
4
+ *
5
+ * Cross-platform package manager detection utilities for CCS.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || function (mod) {
24
+ if (mod && mod.__esModule) return mod;
25
+ var result = {};
26
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
27
+ __setModuleDefault(result, mod);
28
+ return result;
29
+ };
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports.detectPackageManager = exports.detectInstallationMethod = void 0;
32
+ const path = __importStar(require("path"));
33
+ const fs = __importStar(require("fs"));
34
+ const child_process_1 = require("child_process");
35
+ /**
36
+ * Detect installation method
37
+ */
38
+ function detectInstallationMethod() {
39
+ const scriptPath = process.argv[1];
40
+ // Method 1: Check if script is inside node_modules
41
+ if (scriptPath.includes('node_modules')) {
42
+ return 'npm';
43
+ }
44
+ // Method 2: Check if script is in npm global bin directory
45
+ const npmGlobalBinPatterns = [
46
+ /\.npm\/global\/bin\//,
47
+ /\/\.nvm\/versions\/node\/[^/]+\/bin\//,
48
+ /\/usr\/local\/bin\//,
49
+ /\/usr\/bin\//,
50
+ ];
51
+ for (const pattern of npmGlobalBinPatterns) {
52
+ if (pattern.test(scriptPath)) {
53
+ try {
54
+ const binDir = path.dirname(scriptPath);
55
+ const nodeModulesDir = path.join(binDir, '..', 'lib', 'node_modules', '@kaitranntt', 'ccs');
56
+ const globalModulesDir = path.join(binDir, '..', 'node_modules', '@kaitranntt', 'ccs');
57
+ if (fs.existsSync(nodeModulesDir) || fs.existsSync(globalModulesDir)) {
58
+ return 'npm';
59
+ }
60
+ }
61
+ catch (_err) {
62
+ // Continue checking other patterns
63
+ }
64
+ }
65
+ }
66
+ // Method 3: Check if package.json exists in parent directory
67
+ const packageJsonPath = path.join(__dirname, '..', 'package.json');
68
+ if (fs.existsSync(packageJsonPath)) {
69
+ try {
70
+ const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
71
+ if (pkg.name === '@kaitranntt/ccs') {
72
+ return 'npm';
73
+ }
74
+ }
75
+ catch (_err) {
76
+ // Ignore parse errors
77
+ }
78
+ }
79
+ // Method 4: Check if script is a symlink pointing to node_modules
80
+ try {
81
+ const stats = fs.lstatSync(scriptPath);
82
+ if (stats.isSymbolicLink()) {
83
+ const targetPath = fs.readlinkSync(scriptPath);
84
+ if (targetPath.includes('node_modules') || targetPath.includes('@kaitranntt/ccs')) {
85
+ return 'npm';
86
+ }
87
+ }
88
+ }
89
+ catch (_err) {
90
+ // Continue to default
91
+ }
92
+ return 'direct';
93
+ }
94
+ exports.detectInstallationMethod = detectInstallationMethod;
95
+ /**
96
+ * Detect which package manager was used for installation
97
+ */
98
+ function detectPackageManager() {
99
+ const scriptPath = process.argv[1];
100
+ // Check if script path contains package manager indicators
101
+ if (scriptPath.includes('.pnpm'))
102
+ return 'pnpm';
103
+ if (scriptPath.includes('yarn'))
104
+ return 'yarn';
105
+ if (scriptPath.includes('bun'))
106
+ return 'bun';
107
+ // Check parent directories for lock files
108
+ const binDir = path.dirname(scriptPath);
109
+ let checkDir = binDir;
110
+ for (let i = 0; i < 5; i++) {
111
+ if (fs.existsSync(path.join(checkDir, 'pnpm-lock.yaml')))
112
+ return 'pnpm';
113
+ if (fs.existsSync(path.join(checkDir, 'yarn.lock')))
114
+ return 'yarn';
115
+ if (fs.existsSync(path.join(checkDir, 'bun.lockb')))
116
+ return 'bun';
117
+ checkDir = path.dirname(checkDir);
118
+ }
119
+ // Check if package managers are available on the system
120
+ try {
121
+ const yarnResult = (0, child_process_1.spawnSync)('yarn', ['global', 'list', '--pattern', '@kaitranntt/ccs'], {
122
+ encoding: 'utf8',
123
+ shell: true,
124
+ timeout: 5000,
125
+ });
126
+ if (yarnResult.status === 0 && yarnResult.stdout.includes('@kaitranntt/ccs')) {
127
+ return 'yarn';
128
+ }
129
+ }
130
+ catch (_err) {
131
+ // Continue to next check
132
+ }
133
+ try {
134
+ const pnpmResult = (0, child_process_1.spawnSync)('pnpm', ['list', '-g', '--pattern', '@kaitranntt/ccs'], {
135
+ encoding: 'utf8',
136
+ shell: true,
137
+ timeout: 5000,
138
+ });
139
+ if (pnpmResult.status === 0 && pnpmResult.stdout.includes('@kaitranntt/ccs')) {
140
+ return 'pnpm';
141
+ }
142
+ }
143
+ catch (_err) {
144
+ // Continue to next check
145
+ }
146
+ try {
147
+ const bunResult = (0, child_process_1.spawnSync)('bun', ['pm', 'ls', '-g', '--pattern', '@kaitranntt/ccs'], {
148
+ encoding: 'utf8',
149
+ shell: true,
150
+ timeout: 5000,
151
+ });
152
+ if (bunResult.status === 0 && bunResult.stdout.includes('@kaitranntt/ccs')) {
153
+ return 'bun';
154
+ }
155
+ }
156
+ catch (_err) {
157
+ // Continue to default
158
+ }
159
+ return 'npm';
160
+ }
161
+ exports.detectPackageManager = detectPackageManager;
162
+ //# sourceMappingURL=package-manager-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-manager-detector.js","sourceRoot":"","sources":["../../src/utils/package-manager-detector.ts"],"names":[],"mappings":"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"}