agents-reverse-engineer 0.4.3 → 0.4.5
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.
- package/dist/ai/service.d.ts +17 -0
- package/dist/ai/service.d.ts.map +1 -1
- package/dist/ai/service.js +91 -2
- package/dist/ai/service.js.map +1 -1
- package/dist/ai/subprocess.d.ts +23 -6
- package/dist/ai/subprocess.d.ts.map +1 -1
- package/dist/ai/subprocess.js +32 -2
- package/dist/ai/subprocess.js.map +1 -1
- package/dist/ai/types.d.ts +4 -0
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/ai/types.js.map +1 -1
- package/dist/cli/generate.d.ts +2 -0
- package/dist/cli/generate.d.ts.map +1 -1
- package/dist/cli/generate.js +15 -1
- package/dist/cli/generate.js.map +1 -1
- package/dist/cli/index.js +3 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/update.d.ts +2 -0
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js +15 -1
- package/dist/cli/update.js.map +1 -1
- package/dist/config/schema.d.ts +6 -6
- package/dist/integration/templates.d.ts.map +1 -1
- package/dist/integration/templates.js +31 -8
- package/dist/integration/templates.js.map +1 -1
- package/dist/orchestration/index.d.ts +2 -0
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js +1 -0
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/pool.d.ts +8 -1
- package/dist/orchestration/pool.d.ts.map +1 -1
- package/dist/orchestration/pool.js +44 -3
- package/dist/orchestration/pool.js.map +1 -1
- package/dist/orchestration/runner.d.ts +2 -0
- package/dist/orchestration/runner.d.ts.map +1 -1
- package/dist/orchestration/runner.js +142 -4
- package/dist/orchestration/runner.js.map +1 -1
- package/dist/orchestration/trace.d.ts +142 -0
- package/dist/orchestration/trace.d.ts.map +1 -0
- package/dist/orchestration/trace.js +135 -0
- package/dist/orchestration/trace.js.map +1 -0
- package/dist/orchestration/types.d.ts +3 -0
- package/dist/orchestration/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/ai/service.d.ts
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import type { AIBackend, AICallOptions, AIResponse, RunLog, FileRead } from './types.js';
|
|
11
11
|
import type { ModelPricing } from './pricing.js';
|
|
12
|
+
import type { ITraceWriter } from '../orchestration/trace.js';
|
|
12
13
|
/**
|
|
13
14
|
* Configuration options for the {@link AIService}.
|
|
14
15
|
*
|
|
@@ -66,6 +67,12 @@ export declare class AIService {
|
|
|
66
67
|
private callCount;
|
|
67
68
|
/** Set of model IDs for which an unknown-pricing warning has already been emitted */
|
|
68
69
|
private readonly warnedModels;
|
|
70
|
+
/** Trace writer for concurrency debugging (may be no-op) */
|
|
71
|
+
private tracer;
|
|
72
|
+
/** Whether debug mode is enabled */
|
|
73
|
+
private debug;
|
|
74
|
+
/** Number of currently active subprocesses */
|
|
75
|
+
private activeSubprocesses;
|
|
69
76
|
/**
|
|
70
77
|
* Create a new AI service instance.
|
|
71
78
|
*
|
|
@@ -73,6 +80,16 @@ export declare class AIService {
|
|
|
73
80
|
* @param options - Service configuration (timeout, retries, telemetry)
|
|
74
81
|
*/
|
|
75
82
|
constructor(backend: AIBackend, options: AIServiceOptions);
|
|
83
|
+
/**
|
|
84
|
+
* Set the trace writer for subprocess and retry event tracing.
|
|
85
|
+
*
|
|
86
|
+
* @param tracer - The trace writer instance
|
|
87
|
+
*/
|
|
88
|
+
setTracer(tracer: ITraceWriter): void;
|
|
89
|
+
/**
|
|
90
|
+
* Enable debug mode for verbose subprocess logging to stderr.
|
|
91
|
+
*/
|
|
92
|
+
setDebug(enabled: boolean): void;
|
|
76
93
|
/**
|
|
77
94
|
* Make an AI call with retry logic and telemetry recording.
|
|
78
95
|
*
|
package/dist/ai/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/ai/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAkB,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQzG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/ai/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAkB,MAAM,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQzG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAsC9D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,SAAS,EAAE;QACT,qDAAqD;QACrD,QAAQ,EAAE,MAAM,CAAC;QACjB,0DAA0D;QAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACjD;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,SAAS;IACpB,mDAAmD;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IAEpC,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAE3C,8CAA8C;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IAEzC,4DAA4D;IAC5D,OAAO,CAAC,SAAS,CAAa;IAE9B,qFAAqF;IACrF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAElD,4DAA4D;IAC5D,OAAO,CAAC,MAAM,CAA6B;IAE3C,oCAAoC;IACpC,OAAO,CAAC,KAAK,CAAkB;IAE/B,8CAA8C;IAC9C,OAAO,CAAC,kBAAkB,CAAa;IAEvC;;;;;OAKG;gBACS,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB;IAMzD;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAIrC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIhC;;;;;;;;;;;;;;;OAeG;IACG,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IA2MvD;;;;;;;;OAQG;IACG,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;KAAE,CAAC;IAO7F;;;;;;;OAOG;IACH,uBAAuB,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI;IAIpD;;;;;;OAMG;IACH,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC;CAGhC"}
|
package/dist/ai/service.js
CHANGED
|
@@ -34,6 +34,16 @@ function isRateLimitStderr(stderr) {
|
|
|
34
34
|
const lower = stderr.toLowerCase();
|
|
35
35
|
return RATE_LIMIT_PATTERNS.some((pattern) => lower.includes(pattern));
|
|
36
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Format bytes as a human-readable string.
|
|
39
|
+
*/
|
|
40
|
+
function formatBytes(bytes) {
|
|
41
|
+
if (bytes < 1024)
|
|
42
|
+
return `${bytes}B`;
|
|
43
|
+
if (bytes < 1024 * 1024)
|
|
44
|
+
return `${(bytes / 1024).toFixed(1)}KB`;
|
|
45
|
+
return `${(bytes / (1024 * 1024)).toFixed(1)}MB`;
|
|
46
|
+
}
|
|
37
47
|
// ---------------------------------------------------------------------------
|
|
38
48
|
// AIService
|
|
39
49
|
// ---------------------------------------------------------------------------
|
|
@@ -74,6 +84,12 @@ export class AIService {
|
|
|
74
84
|
callCount = 0;
|
|
75
85
|
/** Set of model IDs for which an unknown-pricing warning has already been emitted */
|
|
76
86
|
warnedModels = new Set();
|
|
87
|
+
/** Trace writer for concurrency debugging (may be no-op) */
|
|
88
|
+
tracer = null;
|
|
89
|
+
/** Whether debug mode is enabled */
|
|
90
|
+
debug = false;
|
|
91
|
+
/** Number of currently active subprocesses */
|
|
92
|
+
activeSubprocesses = 0;
|
|
77
93
|
/**
|
|
78
94
|
* Create a new AI service instance.
|
|
79
95
|
*
|
|
@@ -85,6 +101,20 @@ export class AIService {
|
|
|
85
101
|
this.options = options;
|
|
86
102
|
this.logger = new TelemetryLogger(new Date().toISOString());
|
|
87
103
|
}
|
|
104
|
+
/**
|
|
105
|
+
* Set the trace writer for subprocess and retry event tracing.
|
|
106
|
+
*
|
|
107
|
+
* @param tracer - The trace writer instance
|
|
108
|
+
*/
|
|
109
|
+
setTracer(tracer) {
|
|
110
|
+
this.tracer = tracer;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Enable debug mode for verbose subprocess logging to stderr.
|
|
114
|
+
*/
|
|
115
|
+
setDebug(enabled) {
|
|
116
|
+
this.debug = enabled;
|
|
117
|
+
}
|
|
88
118
|
/**
|
|
89
119
|
* Make an AI call with retry logic and telemetry recording.
|
|
90
120
|
*
|
|
@@ -105,18 +135,61 @@ export class AIService {
|
|
|
105
135
|
this.callCount++;
|
|
106
136
|
const callStart = Date.now();
|
|
107
137
|
const timestamp = new Date().toISOString();
|
|
138
|
+
const taskLabel = options.taskLabel ?? 'unknown';
|
|
108
139
|
const args = this.backend.buildArgs(options);
|
|
109
140
|
const timeoutMs = options.timeoutMs ?? this.options.timeoutMs;
|
|
110
141
|
let retryCount = 0;
|
|
111
142
|
try {
|
|
112
143
|
const response = await withRetry(async () => {
|
|
144
|
+
if (this.debug) {
|
|
145
|
+
const mem = process.memoryUsage();
|
|
146
|
+
console.error(`[debug] Spawning subprocess for "${taskLabel}" ` +
|
|
147
|
+
`(active: ${this.activeSubprocesses}, ` +
|
|
148
|
+
`heapUsed: ${formatBytes(mem.heapUsed)}, ` +
|
|
149
|
+
`rss: ${formatBytes(mem.rss)}, ` +
|
|
150
|
+
`timeout: ${(timeoutMs / 1000).toFixed(0)}s)`);
|
|
151
|
+
}
|
|
152
|
+
this.activeSubprocesses++;
|
|
113
153
|
const result = await runSubprocess(this.backend.cliCommand, args, {
|
|
114
154
|
timeoutMs,
|
|
115
155
|
input: options.prompt,
|
|
156
|
+
onSpawn: (pid) => {
|
|
157
|
+
// Emit subprocess:spawn at actual spawn time (not after completion)
|
|
158
|
+
this.tracer?.emit({
|
|
159
|
+
type: 'subprocess:spawn',
|
|
160
|
+
childPid: pid ?? -1,
|
|
161
|
+
command: this.backend.cliCommand,
|
|
162
|
+
taskLabel,
|
|
163
|
+
});
|
|
164
|
+
},
|
|
116
165
|
});
|
|
166
|
+
this.activeSubprocesses--;
|
|
167
|
+
// Emit subprocess:exit after completion
|
|
168
|
+
if (this.tracer && result.childPid !== undefined) {
|
|
169
|
+
this.tracer.emit({
|
|
170
|
+
type: 'subprocess:exit',
|
|
171
|
+
childPid: result.childPid,
|
|
172
|
+
command: this.backend.cliCommand,
|
|
173
|
+
taskLabel,
|
|
174
|
+
exitCode: result.exitCode,
|
|
175
|
+
signal: result.signal,
|
|
176
|
+
durationMs: result.durationMs,
|
|
177
|
+
timedOut: result.timedOut,
|
|
178
|
+
});
|
|
179
|
+
}
|
|
117
180
|
if (result.timedOut) {
|
|
181
|
+
console.error(`[warn] Subprocess timed out after ${(result.durationMs / 1000).toFixed(1)}s ` +
|
|
182
|
+
`for "${taskLabel}" (PID ${result.childPid ?? 'unknown'}, ` +
|
|
183
|
+
`timeout was ${(timeoutMs / 1000).toFixed(0)}s)`);
|
|
118
184
|
throw new AIServiceError('TIMEOUT', 'Subprocess timed out');
|
|
119
185
|
}
|
|
186
|
+
if (this.debug) {
|
|
187
|
+
console.error(`[debug] Subprocess exited for "${taskLabel}" ` +
|
|
188
|
+
`(PID ${result.childPid ?? 'unknown'}, ` +
|
|
189
|
+
`exitCode: ${result.exitCode}, ` +
|
|
190
|
+
`duration: ${(result.durationMs / 1000).toFixed(1)}s, ` +
|
|
191
|
+
`active: ${this.activeSubprocesses})`);
|
|
192
|
+
}
|
|
120
193
|
if (result.exitCode !== 0) {
|
|
121
194
|
if (isRateLimitStderr(result.stderr)) {
|
|
122
195
|
throw new AIServiceError('RATE_LIMIT', `Rate limited by ${this.backend.name}: ${result.stderr.slice(0, 200)}`);
|
|
@@ -138,11 +211,27 @@ export class AIService {
|
|
|
138
211
|
...DEFAULT_RETRY_OPTIONS,
|
|
139
212
|
maxRetries: this.options.maxRetries,
|
|
140
213
|
isRetryable: (error) => {
|
|
214
|
+
// Only retry rate limits. Timeouts are NOT retried because
|
|
215
|
+
// spawning another heavyweight subprocess on a system that's
|
|
216
|
+
// already struggling (or against an unresponsive API) makes
|
|
217
|
+
// things worse and can exhaust system resources.
|
|
141
218
|
return (error instanceof AIServiceError &&
|
|
142
|
-
|
|
219
|
+
error.code === 'RATE_LIMIT');
|
|
143
220
|
},
|
|
144
|
-
onRetry: (
|
|
221
|
+
onRetry: (attempt, error) => {
|
|
145
222
|
retryCount++;
|
|
223
|
+
const errorCode = error instanceof AIServiceError ? error.code : 'UNKNOWN';
|
|
224
|
+
// Always warn on retry (not just debug) -- retries are noteworthy
|
|
225
|
+
console.error(`[warn] Retrying "${taskLabel}" (attempt ${attempt}/${this.options.maxRetries}, reason: ${errorCode})`);
|
|
226
|
+
// Emit retry trace event
|
|
227
|
+
if (this.tracer) {
|
|
228
|
+
this.tracer.emit({
|
|
229
|
+
type: 'retry',
|
|
230
|
+
attempt,
|
|
231
|
+
taskLabel,
|
|
232
|
+
errorCode,
|
|
233
|
+
});
|
|
234
|
+
}
|
|
146
235
|
},
|
|
147
236
|
});
|
|
148
237
|
// Compute cost via pricing engine
|
package/dist/ai/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/ai/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/ai/service.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/subprocess.d.ts
CHANGED
|
@@ -3,11 +3,25 @@
|
|
|
3
3
|
*
|
|
4
4
|
* This is the ONLY place in the codebase that spawns AI CLI processes.
|
|
5
5
|
* Centralizes timeout enforcement, stdin piping, zombie prevention,
|
|
6
|
-
* and exit code extraction.
|
|
6
|
+
* SIGKILL escalation, and exit code extraction.
|
|
7
7
|
*
|
|
8
8
|
* @module
|
|
9
9
|
*/
|
|
10
10
|
import type { SubprocessResult } from './types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Options for subprocess execution.
|
|
13
|
+
*/
|
|
14
|
+
export interface SubprocessOptions {
|
|
15
|
+
/** Maximum time in milliseconds before the process is killed */
|
|
16
|
+
timeoutMs: number;
|
|
17
|
+
/** Optional stdin input to pipe to the process */
|
|
18
|
+
input?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Callback fired synchronously when the child process is spawned.
|
|
21
|
+
* Use this for trace events that need the actual spawn time.
|
|
22
|
+
*/
|
|
23
|
+
onSpawn?: (pid: number | undefined) => void;
|
|
24
|
+
}
|
|
11
25
|
/**
|
|
12
26
|
* Spawn a CLI subprocess with timeout enforcement and stdin piping.
|
|
13
27
|
*
|
|
@@ -15,9 +29,14 @@ import type { SubprocessResult } from './types.js';
|
|
|
15
29
|
* {@link SubprocessResult} fields (`exitCode`, `timedOut`, `stderr`) so
|
|
16
30
|
* that callers can decide how to handle failures.
|
|
17
31
|
*
|
|
32
|
+
* When the subprocess exceeds its timeout, `execFile` sends SIGTERM.
|
|
33
|
+
* If the process doesn't exit within {@link SIGKILL_GRACE_MS} after
|
|
34
|
+
* SIGTERM, we escalate to SIGKILL to prevent hung processes from
|
|
35
|
+
* lingering indefinitely.
|
|
36
|
+
*
|
|
18
37
|
* @param command - The CLI executable to run (e.g., "claude", "gemini")
|
|
19
38
|
* @param args - Argument array passed to the executable
|
|
20
|
-
* @param options - Timeout
|
|
39
|
+
* @param options - Timeout, optional stdin input, and spawn callback
|
|
21
40
|
* @returns Resolved result with stdout, stderr, exit code, timing, and timeout flag
|
|
22
41
|
*
|
|
23
42
|
* @example
|
|
@@ -27,6 +46,7 @@ import type { SubprocessResult } from './types.js';
|
|
|
27
46
|
* const result = await runSubprocess('claude', ['-p', '--output-format', 'json'], {
|
|
28
47
|
* timeoutMs: 120_000,
|
|
29
48
|
* input: 'Summarize this codebase',
|
|
49
|
+
* onSpawn: (pid) => console.log(`Spawned PID ${pid}`),
|
|
30
50
|
* });
|
|
31
51
|
*
|
|
32
52
|
* if (result.timedOut) {
|
|
@@ -38,8 +58,5 @@ import type { SubprocessResult } from './types.js';
|
|
|
38
58
|
* }
|
|
39
59
|
* ```
|
|
40
60
|
*/
|
|
41
|
-
export declare function runSubprocess(command: string, args: string[], options:
|
|
42
|
-
timeoutMs: number;
|
|
43
|
-
input?: string;
|
|
44
|
-
}): Promise<SubprocessResult>;
|
|
61
|
+
export declare function runSubprocess(command: string, args: string[], options: SubprocessOptions): Promise<SubprocessResult>;
|
|
45
62
|
//# sourceMappingURL=subprocess.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subprocess.d.ts","sourceRoot":"","sources":["../../src/ai/subprocess.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"subprocess.d.ts","sourceRoot":"","sources":["../../src/ai/subprocess.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAKnD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CAC7C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,gBAAgB,CAAC,CA+E3B"}
|
package/dist/ai/subprocess.js
CHANGED
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
*
|
|
4
4
|
* This is the ONLY place in the codebase that spawns AI CLI processes.
|
|
5
5
|
* Centralizes timeout enforcement, stdin piping, zombie prevention,
|
|
6
|
-
* and exit code extraction.
|
|
6
|
+
* SIGKILL escalation, and exit code extraction.
|
|
7
7
|
*
|
|
8
8
|
* @module
|
|
9
9
|
*/
|
|
10
10
|
import { execFile } from 'node:child_process';
|
|
11
|
+
/** Grace period after SIGTERM before escalating to SIGKILL (ms) */
|
|
12
|
+
const SIGKILL_GRACE_MS = 5_000;
|
|
11
13
|
/**
|
|
12
14
|
* Spawn a CLI subprocess with timeout enforcement and stdin piping.
|
|
13
15
|
*
|
|
@@ -15,9 +17,14 @@ import { execFile } from 'node:child_process';
|
|
|
15
17
|
* {@link SubprocessResult} fields (`exitCode`, `timedOut`, `stderr`) so
|
|
16
18
|
* that callers can decide how to handle failures.
|
|
17
19
|
*
|
|
20
|
+
* When the subprocess exceeds its timeout, `execFile` sends SIGTERM.
|
|
21
|
+
* If the process doesn't exit within {@link SIGKILL_GRACE_MS} after
|
|
22
|
+
* SIGTERM, we escalate to SIGKILL to prevent hung processes from
|
|
23
|
+
* lingering indefinitely.
|
|
24
|
+
*
|
|
18
25
|
* @param command - The CLI executable to run (e.g., "claude", "gemini")
|
|
19
26
|
* @param args - Argument array passed to the executable
|
|
20
|
-
* @param options - Timeout
|
|
27
|
+
* @param options - Timeout, optional stdin input, and spawn callback
|
|
21
28
|
* @returns Resolved result with stdout, stderr, exit code, timing, and timeout flag
|
|
22
29
|
*
|
|
23
30
|
* @example
|
|
@@ -27,6 +34,7 @@ import { execFile } from 'node:child_process';
|
|
|
27
34
|
* const result = await runSubprocess('claude', ['-p', '--output-format', 'json'], {
|
|
28
35
|
* timeoutMs: 120_000,
|
|
29
36
|
* input: 'Summarize this codebase',
|
|
37
|
+
* onSpawn: (pid) => console.log(`Spawned PID ${pid}`),
|
|
30
38
|
* });
|
|
31
39
|
*
|
|
32
40
|
* if (result.timedOut) {
|
|
@@ -41,6 +49,7 @@ import { execFile } from 'node:child_process';
|
|
|
41
49
|
export function runSubprocess(command, args, options) {
|
|
42
50
|
return new Promise((resolve) => {
|
|
43
51
|
const startTime = Date.now();
|
|
52
|
+
let sigkillTimer;
|
|
44
53
|
const child = execFile(command, args, {
|
|
45
54
|
timeout: options.timeoutMs,
|
|
46
55
|
killSignal: 'SIGTERM',
|
|
@@ -48,6 +57,9 @@ export function runSubprocess(command, args, options) {
|
|
|
48
57
|
encoding: 'utf-8',
|
|
49
58
|
}, (error, stdout, stderr) => {
|
|
50
59
|
const durationMs = Date.now() - startTime;
|
|
60
|
+
// Clear SIGKILL escalation timer -- process has exited
|
|
61
|
+
if (sigkillTimer !== undefined)
|
|
62
|
+
clearTimeout(sigkillTimer);
|
|
51
63
|
// Detect timeout: execFile sets `killed = true` when the process
|
|
52
64
|
// is terminated due to exceeding the timeout option.
|
|
53
65
|
const timedOut = error !== null && 'killed' in error && error.killed === true;
|
|
@@ -76,8 +88,26 @@ export function runSubprocess(command, args, options) {
|
|
|
76
88
|
signal: (error !== null && 'signal' in error ? error.signal : null) ?? null,
|
|
77
89
|
durationMs,
|
|
78
90
|
timedOut,
|
|
91
|
+
childPid: child.pid,
|
|
79
92
|
});
|
|
80
93
|
});
|
|
94
|
+
// Notify caller of spawn (for trace events at actual spawn time)
|
|
95
|
+
options.onSpawn?.(child.pid);
|
|
96
|
+
// SIGKILL escalation: if the process doesn't exit within
|
|
97
|
+
// timeout + grace period, force-kill it. This handles cases where
|
|
98
|
+
// SIGTERM is caught/ignored by the child or its process tree.
|
|
99
|
+
if (child.pid !== undefined) {
|
|
100
|
+
sigkillTimer = setTimeout(() => {
|
|
101
|
+
try {
|
|
102
|
+
child.kill('SIGKILL');
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
// Process may already be dead -- ignore
|
|
106
|
+
}
|
|
107
|
+
}, options.timeoutMs + SIGKILL_GRACE_MS);
|
|
108
|
+
// Don't let this timer keep the event loop alive
|
|
109
|
+
sigkillTimer.unref();
|
|
110
|
+
}
|
|
81
111
|
// Write prompt to stdin if provided, then close the stream.
|
|
82
112
|
// IMPORTANT: Always call .end() -- the child process blocks waiting
|
|
83
113
|
// for EOF on stdin otherwise (see RESEARCH.md Pitfall 1).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subprocess.js","sourceRoot":"","sources":["../../src/ai/subprocess.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C
|
|
1
|
+
{"version":3,"file":"subprocess.js","sourceRoot":"","sources":["../../src/ai/subprocess.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/types.d.ts
CHANGED
|
@@ -24,6 +24,8 @@ export interface SubprocessResult {
|
|
|
24
24
|
durationMs: number;
|
|
25
25
|
/** Whether the process was killed because it exceeded its timeout */
|
|
26
26
|
timedOut: boolean;
|
|
27
|
+
/** OS PID of the child process (undefined if spawn failed) */
|
|
28
|
+
childPid?: number;
|
|
27
29
|
}
|
|
28
30
|
/**
|
|
29
31
|
* Input options for an AI call.
|
|
@@ -41,6 +43,8 @@ export interface AICallOptions {
|
|
|
41
43
|
timeoutMs?: number;
|
|
42
44
|
/** Maximum number of agentic turns (backend-specific) */
|
|
43
45
|
maxTurns?: number;
|
|
46
|
+
/** Label for tracing (e.g., file path being processed) */
|
|
47
|
+
taskLabel?: string;
|
|
44
48
|
}
|
|
45
49
|
/**
|
|
46
50
|
* Normalized response from any AI CLI backend.
|
package/dist/ai/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,QAAQ,EAAE,OAAO,CAAC;CACnB;AAMD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,QAAQ,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,eAAe,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,GAAG,EAAE,OAAO,CAAC;CACd;AAMD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,SAAS;IACxB,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,4DAA4D;IAC5D,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhC,oDAAoD;IACpD,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,EAAE,CAAC;IAE5C,kEAAkE;IAClE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAAC;IAEhF,qEAAqE;IACrE,sBAAsB,IAAI,MAAM,CAAC;CAClC;AAMD;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IACzC,0DAA0D;IAC1D,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAMD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,eAAe,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,kCAAkC;IAClC,UAAU,EAAE,UAAU,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,MAAM;IACrB,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,4CAA4C;IAC5C,OAAO,EAAE;QACP,oCAAoC;QACpC,UAAU,EAAE,MAAM,CAAC;QACnB,2CAA2C;QAC3C,gBAAgB,EAAE,MAAM,CAAC;QACzB,4CAA4C;QAC5C,iBAAiB,EAAE,MAAM,CAAC;QAC1B,6CAA6C;QAC7C,YAAY,EAAE,MAAM,CAAC;QACrB,gDAAgD;QAChD,eAAe,EAAE,MAAM,CAAC;QACxB,gDAAgD;QAChD,UAAU,EAAE,MAAM,CAAC;QACnB,0DAA0D;QAC1D,aAAa,EAAE,OAAO,CAAC;QACvB,+DAA+D;QAC/D,cAAc,EAAE,MAAM,CAAC;QACvB,0CAA0C;QAC1C,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAMD,mEAAmE;AACnE,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GACf,SAAS,GACT,aAAa,GACb,kBAAkB,GAClB,YAAY,CAAC;AAEjB;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;gBAEtB,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM;CAKtD"}
|
package/dist/ai/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA8PH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,kCAAkC;IACzB,IAAI,CAAqB;IAElC,YAAY,IAAwB,EAAE,OAAe;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
|
package/dist/cli/generate.d.ts
CHANGED
|
@@ -29,6 +29,8 @@ export interface GenerateOptions {
|
|
|
29
29
|
failFast?: boolean;
|
|
30
30
|
/** Show AI prompts and backend details */
|
|
31
31
|
debug?: boolean;
|
|
32
|
+
/** Enable concurrency tracing to .agents-reverse-engineer/traces/ */
|
|
33
|
+
trace?: boolean;
|
|
32
34
|
/** @deprecated Execute mode - output JSON for AI agent execution */
|
|
33
35
|
execute?: boolean;
|
|
34
36
|
/** @deprecated Stream mode - output tasks one per line */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAyBH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAuFD;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAyBH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oEAAoE;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAuFD;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CA8Lf"}
|
package/dist/cli/generate.js
CHANGED
|
@@ -20,7 +20,7 @@ import { applyFilters, createGitignoreFilter, createVendorFilter, createBinaryFi
|
|
|
20
20
|
import { createOrchestrator } from '../generation/orchestrator.js';
|
|
21
21
|
import { buildExecutionPlan, formatExecutionPlanAsJson, streamTasks } from '../generation/executor.js';
|
|
22
22
|
import { AIService, AIServiceError, createBackendRegistry, resolveBackend, getInstallInstructions, } from '../ai/index.js';
|
|
23
|
-
import { CommandRunner } from '../orchestration/index.js';
|
|
23
|
+
import { CommandRunner, createTraceWriter, cleanupOldTraces } from '../orchestration/index.js';
|
|
24
24
|
/**
|
|
25
25
|
* Format file type distribution for display.
|
|
26
26
|
*/
|
|
@@ -220,21 +220,35 @@ export async function generateCommand(targetPath, options) {
|
|
|
220
220
|
maxRetries: config.ai.maxRetries,
|
|
221
221
|
telemetry: { keepRuns: config.ai.telemetry.keepRuns },
|
|
222
222
|
});
|
|
223
|
+
if (options.debug) {
|
|
224
|
+
aiService.setDebug(true);
|
|
225
|
+
}
|
|
223
226
|
// Build execution plan
|
|
224
227
|
const executionPlan = buildExecutionPlan(plan, absolutePath);
|
|
225
228
|
// Determine concurrency
|
|
226
229
|
const concurrency = options.concurrency ?? config.ai.concurrency;
|
|
230
|
+
// Create trace writer (no-op when --trace is not set)
|
|
231
|
+
const tracer = createTraceWriter(absolutePath, options.trace ?? false);
|
|
232
|
+
if (options.trace && tracer.filePath) {
|
|
233
|
+
console.error(pc.dim(`[trace] Writing to ${tracer.filePath}`));
|
|
234
|
+
}
|
|
227
235
|
// Create command runner
|
|
228
236
|
const runner = new CommandRunner(aiService, {
|
|
229
237
|
concurrency,
|
|
230
238
|
failFast: options.failFast,
|
|
231
239
|
quiet: options.quiet,
|
|
232
240
|
debug: options.debug,
|
|
241
|
+
tracer,
|
|
233
242
|
});
|
|
234
243
|
// Execute the three-phase pipeline
|
|
235
244
|
const summary = await runner.executeGenerate(executionPlan);
|
|
236
245
|
// Write telemetry run log
|
|
237
246
|
await aiService.finalize(absolutePath);
|
|
247
|
+
// Finalize trace and clean up old trace files
|
|
248
|
+
await tracer.finalize();
|
|
249
|
+
if (options.trace) {
|
|
250
|
+
await cleanupOldTraces(absolutePath);
|
|
251
|
+
}
|
|
238
252
|
// Determine exit code from RunSummary
|
|
239
253
|
// 0: all files succeeded
|
|
240
254
|
// 1: some files failed (partial failure)
|
package/dist/cli/generate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAuB,MAAM,+BAA+B,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACvG,OAAO,EACL,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,cAAc,EACd,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -58,6 +58,7 @@ General Options:
|
|
|
58
58
|
--concurrency <n> Number of concurrent AI calls (default: 5)
|
|
59
59
|
--fail-fast Stop on first file analysis failure
|
|
60
60
|
--debug Show AI prompts and backend details
|
|
61
|
+
--trace Enable concurrency tracing (.agents-reverse-engineer/traces/)
|
|
61
62
|
--execute [deprecated] Output JSON execution plan (generate)
|
|
62
63
|
--stream [deprecated] Output tasks as streaming JSON (generate)
|
|
63
64
|
--uncommitted Include uncommitted changes (update only)
|
|
@@ -258,6 +259,7 @@ async function main() {
|
|
|
258
259
|
concurrency: values.has('concurrency') ? parseInt(values.get('concurrency'), 10) : undefined,
|
|
259
260
|
failFast: flags.has('fail-fast'),
|
|
260
261
|
debug: flags.has('debug'),
|
|
262
|
+
trace: flags.has('trace'),
|
|
261
263
|
execute: flags.has('execute'),
|
|
262
264
|
stream: flags.has('stream'),
|
|
263
265
|
};
|
|
@@ -274,6 +276,7 @@ async function main() {
|
|
|
274
276
|
concurrency: values.has('concurrency') ? parseInt(values.get('concurrency'), 10) : undefined,
|
|
275
277
|
failFast: flags.has('fail-fast'),
|
|
276
278
|
debug: flags.has('debug'),
|
|
279
|
+
trace: flags.has('trace'),
|
|
277
280
|
};
|
|
278
281
|
await updateCommand(positional[0] || '.', options);
|
|
279
282
|
break;
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAwB,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,eAAe,EAAwB,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,aAAa,EAA6B,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEzE;;GAEG;AACH,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAChE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QACnE,OAAO,WAAW,CAAC,OAAO,IAAI,SAAS,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;AAE7B,MAAM,KAAK,GAAG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/update.d.ts
CHANGED
|
@@ -18,6 +18,8 @@ export interface UpdateCommandOptions {
|
|
|
18
18
|
failFast?: boolean;
|
|
19
19
|
/** Show AI prompts and backend details */
|
|
20
20
|
debug?: boolean;
|
|
21
|
+
/** Enable concurrency tracing to .agents-reverse-engineer/traces/ */
|
|
22
|
+
trace?: boolean;
|
|
21
23
|
}
|
|
22
24
|
/**
|
|
23
25
|
* Update command - incrementally updates documentation based on git changes.
|
package/dist/cli/update.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"AA2BA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oCAAoC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAuGD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"AA2BA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oCAAoC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAuGD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAwLf"}
|