@kaitranntt/ccs 4.4.0 → 5.0.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 (262) hide show
  1. package/README.md +98 -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 +95 -0
  23. package/dist/cliproxy/auth-handler.d.ts.map +1 -0
  24. package/dist/cliproxy/auth-handler.js +443 -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,153 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * Manages delegation session persistence for multi-turn conversations
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || function (mod) {
23
+ if (mod && mod.__esModule) return mod;
24
+ var result = {};
25
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
26
+ __setModuleDefault(result, mod);
27
+ return result;
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.SessionManager = void 0;
31
+ const fs = __importStar(require("fs"));
32
+ const path = __importStar(require("path"));
33
+ const os = __importStar(require("os"));
34
+ /**
35
+ * Session Manager Class
36
+ */
37
+ class SessionManager {
38
+ constructor() {
39
+ this.sessionsPath = path.join(os.homedir(), '.ccs', 'delegation-sessions.json');
40
+ }
41
+ /**
42
+ * Store new session metadata
43
+ */
44
+ storeSession(profile, sessionData) {
45
+ const sessions = this.loadSessions();
46
+ const key = `${profile}:latest`;
47
+ sessions[key] = {
48
+ sessionId: sessionData.sessionId,
49
+ profile,
50
+ startTime: Date.now(),
51
+ lastTurnTime: Date.now(),
52
+ totalCost: sessionData.totalCost || 0,
53
+ turns: 1,
54
+ cwd: sessionData.cwd || process.cwd(),
55
+ };
56
+ this.saveSessions(sessions);
57
+ if (process.env.CCS_DEBUG) {
58
+ console.error(`[i] Stored session: ${sessionData.sessionId} for ${profile}`);
59
+ }
60
+ }
61
+ /**
62
+ * Update session after additional turn
63
+ */
64
+ updateSession(profile, sessionId, turnData) {
65
+ const sessions = this.loadSessions();
66
+ const key = `${profile}:latest`;
67
+ if (sessions[key]?.sessionId === sessionId) {
68
+ sessions[key].lastTurnTime = Date.now();
69
+ sessions[key].totalCost += turnData.totalCost || 0;
70
+ sessions[key].turns += 1;
71
+ this.saveSessions(sessions);
72
+ if (process.env.CCS_DEBUG) {
73
+ const cost = sessions[key].totalCost !== undefined && sessions[key].totalCost !== null
74
+ ? sessions[key].totalCost.toFixed(4)
75
+ : '0.0000';
76
+ console.error(`[i] Updated session: ${sessionId}, total: $${cost}, turns: ${sessions[key].turns}`);
77
+ }
78
+ }
79
+ }
80
+ /**
81
+ * Get last session for profile
82
+ */
83
+ getLastSession(profile) {
84
+ const sessions = this.loadSessions();
85
+ const key = `${profile}:latest`;
86
+ return sessions[key] || null;
87
+ }
88
+ /**
89
+ * Clear all sessions for profile
90
+ */
91
+ clearProfile(profile) {
92
+ const sessions = this.loadSessions();
93
+ const key = `${profile}:latest`;
94
+ delete sessions[key];
95
+ this.saveSessions(sessions);
96
+ }
97
+ /**
98
+ * Clean up expired sessions (>30 days)
99
+ */
100
+ cleanupExpired() {
101
+ const sessions = this.loadSessions();
102
+ const now = Date.now();
103
+ const maxAge = 30 * 24 * 60 * 60 * 1000; // 30 days
104
+ let cleaned = 0;
105
+ Object.keys(sessions).forEach((key) => {
106
+ if (now - sessions[key].lastTurnTime > maxAge) {
107
+ delete sessions[key];
108
+ cleaned++;
109
+ }
110
+ });
111
+ if (cleaned > 0) {
112
+ this.saveSessions(sessions);
113
+ if (process.env.CCS_DEBUG) {
114
+ console.error(`[i] Cleaned ${cleaned} expired sessions`);
115
+ }
116
+ }
117
+ }
118
+ /**
119
+ * Load sessions from disk
120
+ */
121
+ loadSessions() {
122
+ try {
123
+ if (!fs.existsSync(this.sessionsPath)) {
124
+ return {};
125
+ }
126
+ const content = fs.readFileSync(this.sessionsPath, 'utf8');
127
+ return JSON.parse(content);
128
+ }
129
+ catch (error) {
130
+ if (process.env.CCS_DEBUG) {
131
+ console.warn(`[!] Failed to load sessions: ${error.message}`);
132
+ }
133
+ return {};
134
+ }
135
+ }
136
+ /**
137
+ * Save sessions to disk
138
+ */
139
+ saveSessions(sessions) {
140
+ try {
141
+ const dir = path.dirname(this.sessionsPath);
142
+ if (!fs.existsSync(dir)) {
143
+ fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
144
+ }
145
+ fs.writeFileSync(this.sessionsPath, JSON.stringify(sessions, null, 2), { mode: 0o600 });
146
+ }
147
+ catch (error) {
148
+ console.error(`[!] Failed to save sessions: ${error.message}`);
149
+ }
150
+ }
151
+ }
152
+ exports.SessionManager = SessionManager;
153
+ //# sourceMappingURL=session-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/delegation/session-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Parses Claude Code settings for tool restrictions
4
+ */
5
+ interface ToolRestrictions {
6
+ allowedTools: string[];
7
+ disallowedTools: string[];
8
+ }
9
+ /**
10
+ * Settings Parser Class
11
+ */
12
+ declare class SettingsParser {
13
+ /**
14
+ * Parse default permission mode from project settings
15
+ */
16
+ static parseDefaultPermissionMode(projectDir: string): string;
17
+ /**
18
+ * Parse project settings for tool restrictions
19
+ */
20
+ static parseToolRestrictions(projectDir: string): ToolRestrictions;
21
+ /**
22
+ * Load and merge settings files (local overrides shared)
23
+ */
24
+ private static loadSettings;
25
+ /**
26
+ * Read JSON file safely (no throw)
27
+ */
28
+ private static readJsonSafe;
29
+ }
30
+ export { SettingsParser };
31
+ //# sourceMappingURL=settings-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-parser.d.ts","sourceRoot":"","sources":["../../src/delegation/settings-parser.ts"],"names":[],"mappings":";AAEA;;GAEG;AAKH,UAAU,gBAAgB;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAUD;;GAEG;AACH,cAAM,cAAc;IAClB;;OAEG;IACH,MAAM,CAAC,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAc7D;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB;IAiBlE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAsB3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;CAe5B;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,107 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * Parses Claude Code settings for tool restrictions
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || function (mod) {
23
+ if (mod && mod.__esModule) return mod;
24
+ var result = {};
25
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
26
+ __setModuleDefault(result, mod);
27
+ return result;
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.SettingsParser = void 0;
31
+ const fs = __importStar(require("fs"));
32
+ const path = __importStar(require("path"));
33
+ /**
34
+ * Settings Parser Class
35
+ */
36
+ class SettingsParser {
37
+ /**
38
+ * Parse default permission mode from project settings
39
+ */
40
+ static parseDefaultPermissionMode(projectDir) {
41
+ const settings = this.loadSettings(projectDir);
42
+ const permissions = settings.permissions || {};
43
+ // Priority: local > shared > fallback to 'acceptEdits'
44
+ const defaultMode = permissions.defaultMode || 'acceptEdits';
45
+ if (process.env.CCS_DEBUG) {
46
+ console.error(`[i] Permission mode from settings: ${defaultMode}`);
47
+ }
48
+ return defaultMode;
49
+ }
50
+ /**
51
+ * Parse project settings for tool restrictions
52
+ */
53
+ static parseToolRestrictions(projectDir) {
54
+ const settings = this.loadSettings(projectDir);
55
+ const permissions = settings.permissions || {};
56
+ const allowed = permissions.allow || [];
57
+ const denied = permissions.deny || [];
58
+ if (process.env.CCS_DEBUG) {
59
+ console.error(`[i] Tool restrictions: ${allowed.length} allowed, ${denied.length} denied`);
60
+ }
61
+ return {
62
+ allowedTools: allowed,
63
+ disallowedTools: denied,
64
+ };
65
+ }
66
+ /**
67
+ * Load and merge settings files (local overrides shared)
68
+ */
69
+ static loadSettings(projectDir) {
70
+ const claudeDir = path.join(projectDir, '.claude');
71
+ const sharedPath = path.join(claudeDir, 'settings.json');
72
+ const localPath = path.join(claudeDir, 'settings.local.json');
73
+ // Load shared settings
74
+ const shared = this.readJsonSafe(sharedPath) || {};
75
+ // Load local settings (overrides shared)
76
+ const local = this.readJsonSafe(localPath) || {};
77
+ // Merge permissions (local overrides shared)
78
+ return {
79
+ permissions: {
80
+ allow: [...(shared.permissions?.allow || []), ...(local.permissions?.allow || [])],
81
+ deny: [...(shared.permissions?.deny || []), ...(local.permissions?.deny || [])],
82
+ // Local defaultMode takes priority over shared
83
+ defaultMode: local.permissions?.defaultMode || shared.permissions?.defaultMode || undefined,
84
+ },
85
+ };
86
+ }
87
+ /**
88
+ * Read JSON file safely (no throw)
89
+ */
90
+ static readJsonSafe(filePath) {
91
+ try {
92
+ if (!fs.existsSync(filePath)) {
93
+ return null;
94
+ }
95
+ const content = fs.readFileSync(filePath, 'utf8');
96
+ return JSON.parse(content);
97
+ }
98
+ catch (error) {
99
+ if (process.env.CCS_DEBUG) {
100
+ console.warn(`[!] Failed to read settings: ${filePath}: ${error.message}`);
101
+ }
102
+ return null;
103
+ }
104
+ }
105
+ }
106
+ exports.SettingsParser = SettingsParser;
107
+ //# sourceMappingURL=settings-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-parser.js","sourceRoot":"","sources":["../../src/delegation/settings-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,210 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * DeltaAccumulator - Maintain state across streaming deltas
4
+ *
5
+ * Tracks:
6
+ * - Message metadata (id, model, role)
7
+ * - Content blocks (thinking, text)
8
+ * - Current block index
9
+ * - Accumulated content
10
+ *
11
+ * Usage:
12
+ * const acc = new DeltaAccumulator(thinkingConfig);
13
+ * const events = transformer.transformDelta(openaiEvent, acc);
14
+ */
15
+ interface ThinkingConfig {
16
+ [key: string]: unknown;
17
+ }
18
+ interface DeltaAccumulatorOptions {
19
+ maxBlocks?: number;
20
+ maxBufferSize?: number;
21
+ loopDetectionThreshold?: number;
22
+ }
23
+ interface ContentBlock {
24
+ index: number;
25
+ type: string;
26
+ content: string;
27
+ started: boolean;
28
+ stopped: boolean;
29
+ }
30
+ interface ToolCall {
31
+ index: number;
32
+ id: string;
33
+ type: string;
34
+ function: {
35
+ name: string;
36
+ arguments: string;
37
+ };
38
+ }
39
+ interface ToolCallDelta {
40
+ index: number;
41
+ id?: string;
42
+ type?: string;
43
+ function?: {
44
+ name?: string;
45
+ arguments?: string;
46
+ };
47
+ }
48
+ interface UsageStats {
49
+ prompt_tokens?: number;
50
+ input_tokens?: number;
51
+ completion_tokens?: number;
52
+ output_tokens?: number;
53
+ }
54
+ interface AccumulatorSummary {
55
+ messageId: string;
56
+ model: string | null;
57
+ role: string;
58
+ blockCount: number;
59
+ currentIndex: number;
60
+ toolCallCount: number;
61
+ messageStarted: boolean;
62
+ finalized: boolean;
63
+ loopDetected: boolean;
64
+ usage: {
65
+ input_tokens: number;
66
+ output_tokens: number;
67
+ };
68
+ }
69
+ export declare class DeltaAccumulator {
70
+ private messageId;
71
+ private model;
72
+ private role;
73
+ private contentBlocks;
74
+ private currentBlockIndex;
75
+ private toolCalls;
76
+ private toolCallsIndex;
77
+ private thinkingBuffer;
78
+ private textBuffer;
79
+ private maxBlocks;
80
+ private maxBufferSize;
81
+ private loopDetectionThreshold;
82
+ private loopDetected;
83
+ private messageStarted;
84
+ private finalized;
85
+ private inputTokens;
86
+ private outputTokens;
87
+ constructor(_thinkingConfig?: ThinkingConfig, options?: DeltaAccumulatorOptions);
88
+ /**
89
+ * Get current content block
90
+ * @returns Current block or null
91
+ */
92
+ getCurrentBlock(): ContentBlock | null;
93
+ /**
94
+ * Start new content block
95
+ * @param type - Block type ('thinking', 'text', or 'tool_use')
96
+ * @returns New block
97
+ */
98
+ startBlock(type: string): ContentBlock;
99
+ /**
100
+ * Add delta to current block
101
+ * @param delta - Content delta
102
+ */
103
+ addDelta(delta: string): void;
104
+ /**
105
+ * Mark current block as stopped
106
+ */
107
+ stopCurrentBlock(): void;
108
+ /**
109
+ * Update usage statistics
110
+ * @param usage - Usage object from OpenAI
111
+ */
112
+ updateUsage(usage: UsageStats): void;
113
+ /**
114
+ * Add or update tool call delta
115
+ * @param toolCallDelta - Tool call delta from OpenAI
116
+ */
117
+ addToolCallDelta(toolCallDelta: ToolCallDelta): void;
118
+ /**
119
+ * Get all tool calls
120
+ * @returns Tool calls array
121
+ */
122
+ getToolCalls(): ToolCall[];
123
+ /**
124
+ * Check for planning loop pattern
125
+ * Loop = N consecutive thinking blocks with no tool calls
126
+ * @returns True if loop detected
127
+ */
128
+ checkForLoop(): boolean;
129
+ /**
130
+ * Reset loop detection state (for testing)
131
+ */
132
+ resetLoopDetection(): void;
133
+ /**
134
+ * Get summary of accumulated state
135
+ * @returns Summary
136
+ */
137
+ getSummary(): AccumulatorSummary;
138
+ /**
139
+ * Check if message has been finalized
140
+ */
141
+ isFinalized(): boolean;
142
+ /**
143
+ * Check if message has started
144
+ */
145
+ isMessageStarted(): boolean;
146
+ /**
147
+ * Get message ID
148
+ */
149
+ getMessageId(): string;
150
+ /**
151
+ * Get model name
152
+ */
153
+ getModel(): string | null;
154
+ /**
155
+ * Get role
156
+ */
157
+ getRole(): string;
158
+ /**
159
+ * Get input tokens
160
+ */
161
+ getInputTokens(): number;
162
+ /**
163
+ * Get output tokens
164
+ */
165
+ getOutputTokens(): number;
166
+ /**
167
+ * Set model name
168
+ */
169
+ setModel(model: string): void;
170
+ /**
171
+ * Set message started flag
172
+ */
173
+ setMessageStarted(started: boolean): void;
174
+ /**
175
+ * Set role
176
+ */
177
+ setRole(role: string): void;
178
+ /**
179
+ * Set finalized flag
180
+ */
181
+ setFinalized(finalized: boolean): void;
182
+ private finishReason;
183
+ private usageReceived;
184
+ /**
185
+ * Set finish reason
186
+ */
187
+ setFinishReason(reason: string): void;
188
+ /**
189
+ * Get finish reason
190
+ */
191
+ getFinishReason(): string | null;
192
+ /**
193
+ * Check if usage stats have been received
194
+ */
195
+ hasUsageReceived(): boolean;
196
+ /**
197
+ * Mark usage as received
198
+ */
199
+ setUsageReceived(received: boolean): void;
200
+ /**
201
+ * Check if there are any tool calls, or check if a specific index exists
202
+ */
203
+ hasToolCall(index?: number): boolean;
204
+ /**
205
+ * Get tool call by index
206
+ */
207
+ getToolCall(index: number): ToolCall | undefined;
208
+ }
209
+ export {};
210
+ //# sourceMappingURL=delta-accumulator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delta-accumulator.d.ts","sourceRoot":"","sources":["../../src/glmt/delta-accumulator.ts"],"names":[],"mappings":"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"}