@mmnto/cli 1.101.2 → 1.103.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.
- package/dist/commands/init-detect.js +1 -1
- package/dist/commands/init-detect.js.map +1 -1
- package/dist/commands/init-detect.test.js +2 -1
- package/dist/commands/init-detect.test.js.map +1 -1
- package/dist/commands/init-templates.d.ts.map +1 -1
- package/dist/commands/init-templates.js +118 -9
- package/dist/commands/init-templates.js.map +1 -1
- package/dist/commands/init.test.js +186 -5
- package/dist/commands/init.test.js.map +1 -1
- package/dist/commands/review-fan.d.ts +9 -3
- package/dist/commands/review-fan.d.ts.map +1 -1
- package/dist/commands/review-fan.js +131 -16
- package/dist/commands/review-fan.js.map +1 -1
- package/dist/commands/review-fan.test.js +246 -7
- package/dist/commands/review-fan.test.js.map +1 -1
- package/dist/commands/shield-nonreview.test.d.ts +24 -0
- package/dist/commands/shield-nonreview.test.d.ts.map +1 -0
- package/dist/commands/shield-nonreview.test.js +175 -0
- package/dist/commands/shield-nonreview.test.js.map +1 -0
- package/dist/commands/shield.d.ts +33 -7
- package/dist/commands/shield.d.ts.map +1 -1
- package/dist/commands/shield.js +96 -50
- package/dist/commands/shield.js.map +1 -1
- package/dist/commands/shield.test.js +69 -2
- package/dist/commands/shield.test.js.map +1 -1
- package/dist/hook/schema.d.ts +2 -2
- package/dist/orchestrators/orchestrator.d.ts +86 -1
- package/dist/orchestrators/orchestrator.d.ts.map +1 -1
- package/dist/orchestrators/orchestrator.js +277 -9
- package/dist/orchestrators/orchestrator.js.map +1 -1
- package/dist/orchestrators/orchestrator.test.js +240 -4
- package/dist/orchestrators/orchestrator.test.js.map +1 -1
- package/dist/orchestrators/shell-orchestrator.d.ts +12 -1
- package/dist/orchestrators/shell-orchestrator.d.ts.map +1 -1
- package/dist/orchestrators/shell-orchestrator.js +256 -49
- package/dist/orchestrators/shell-orchestrator.js.map +1 -1
- package/dist/orchestrators/shell-orchestrator.test.js +252 -4
- package/dist/orchestrators/shell-orchestrator.test.js.map +1 -1
- package/dist/utils.d.ts +18 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +389 -108
- package/dist/utils.js.map +1 -1
- package/dist/utils.test.js +406 -14
- package/dist/utils.test.js.map +1 -1
- package/package.json +2 -2
|
@@ -4,10 +4,12 @@ import * as fs from 'node:fs';
|
|
|
4
4
|
import * as path from 'node:path';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import { log } from '../ui.js';
|
|
7
|
-
import { assertValidModelName,
|
|
7
|
+
import { assertValidModelName, classifyInvokeFailure, OrchestratorInvokeError, } from './orchestrator.js';
|
|
8
8
|
// ─── Constants ───────────────────────────────────────
|
|
9
9
|
const LLM_TIMEOUT_MS = 180_000;
|
|
10
10
|
const LLM_MAX_OUTPUT = 50 * 1024 * 1024; // 50 MB — safety cap on streamed output
|
|
11
|
+
const RUNTIME_EVIDENCE_LIMIT_BYTES = 64 * 1024;
|
|
12
|
+
const RUNTIME_EVIDENCE_SEGMENT_BYTES = RUNTIME_EVIDENCE_LIMIT_BYTES / 2;
|
|
11
13
|
const TEMP_ID_BYTES = 4;
|
|
12
14
|
/** execFileSync on Windows can't resolve executables without `shell: true`. */
|
|
13
15
|
const IS_WIN = process.platform === 'win32';
|
|
@@ -25,6 +27,114 @@ function quoteShellArg(value) {
|
|
|
25
27
|
// this helper. See GCA + Shield discussion on mmnto/totem#1429.
|
|
26
28
|
return IS_WIN ? `"${value.replace(/"/g, '\\"')}"` : `'${value.replace(/'/g, "'\\''")}'`;
|
|
27
29
|
}
|
|
30
|
+
function decodeUtf8Segment(buffer, trimFromStart) {
|
|
31
|
+
let decoded = buffer.toString('utf8');
|
|
32
|
+
while (Buffer.byteLength(decoded, 'utf8') > buffer.length && decoded.length > 0) {
|
|
33
|
+
decoded = trimFromStart ? decoded.slice(1) : decoded.slice(0, -1);
|
|
34
|
+
}
|
|
35
|
+
return decoded;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Retain the legacy 50 MiB semantic stream independently from the much
|
|
39
|
+
* smaller diagnostic head/tail window. Evidence remains raw in memory; DLP
|
|
40
|
+
* masking happens at the run-artifact boundary.
|
|
41
|
+
*/
|
|
42
|
+
function createStreamCapture() {
|
|
43
|
+
const semanticChunks = [];
|
|
44
|
+
let semanticBytes = 0;
|
|
45
|
+
let observedBytes = 0;
|
|
46
|
+
let prefix = Buffer.alloc(0);
|
|
47
|
+
let tail = Buffer.alloc(0);
|
|
48
|
+
return {
|
|
49
|
+
append(chunk) {
|
|
50
|
+
const bytes = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
|
|
51
|
+
observedBytes += bytes.length;
|
|
52
|
+
if (semanticBytes < LLM_MAX_OUTPUT) {
|
|
53
|
+
const remaining = LLM_MAX_OUTPUT - semanticBytes;
|
|
54
|
+
const retained = bytes.subarray(0, remaining);
|
|
55
|
+
if (retained.length > 0)
|
|
56
|
+
semanticChunks.push(retained);
|
|
57
|
+
semanticBytes += retained.length;
|
|
58
|
+
}
|
|
59
|
+
if (prefix.length < RUNTIME_EVIDENCE_LIMIT_BYTES) {
|
|
60
|
+
const remaining = RUNTIME_EVIDENCE_LIMIT_BYTES - prefix.length;
|
|
61
|
+
prefix = Buffer.concat([prefix, bytes.subarray(0, remaining)]);
|
|
62
|
+
}
|
|
63
|
+
if (bytes.length >= RUNTIME_EVIDENCE_SEGMENT_BYTES) {
|
|
64
|
+
tail = bytes.subarray(bytes.length - RUNTIME_EVIDENCE_SEGMENT_BYTES);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
const combined = Buffer.concat([tail, bytes]);
|
|
68
|
+
tail = combined.subarray(Math.max(0, combined.length - RUNTIME_EVIDENCE_SEGMENT_BYTES));
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
semanticText() {
|
|
72
|
+
return Buffer.concat(semanticChunks, semanticBytes).toString('utf8');
|
|
73
|
+
},
|
|
74
|
+
evidence() {
|
|
75
|
+
const truncated = observedBytes > RUNTIME_EVIDENCE_LIMIT_BYTES;
|
|
76
|
+
const headBuffer = truncated ? prefix.subarray(0, RUNTIME_EVIDENCE_SEGMENT_BYTES) : prefix;
|
|
77
|
+
const head = decodeUtf8Segment(headBuffer, false);
|
|
78
|
+
const tailText = truncated ? decodeUtf8Segment(tail, true) : undefined;
|
|
79
|
+
const retainedBytes = Buffer.byteLength(head, 'utf8') +
|
|
80
|
+
(tailText === undefined ? 0 : Buffer.byteLength(tailText, 'utf8'));
|
|
81
|
+
return {
|
|
82
|
+
encoding: 'utf-8',
|
|
83
|
+
head,
|
|
84
|
+
...(tailText !== undefined ? { tail: tailText } : {}),
|
|
85
|
+
observedBytes,
|
|
86
|
+
retainedBytes,
|
|
87
|
+
limitBytes: RUNTIME_EVIDENCE_LIMIT_BYTES,
|
|
88
|
+
truncated,
|
|
89
|
+
};
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/** Best-effort tree termination that never prevents timeout settlement. */
|
|
94
|
+
export function killShellProcessTree(child, platform = process.platform, spawnProcess = spawn, killGroup = process.kill) {
|
|
95
|
+
let directKillAttempted = false;
|
|
96
|
+
const killChild = () => {
|
|
97
|
+
if (directKillAttempted)
|
|
98
|
+
return;
|
|
99
|
+
directKillAttempted = true;
|
|
100
|
+
try {
|
|
101
|
+
child.kill();
|
|
102
|
+
// totem-context: timeout teardown is best-effort; a kill race must not replace or block the already-determined timeout rejection.
|
|
103
|
+
}
|
|
104
|
+
catch (_err) {
|
|
105
|
+
void _err;
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
if (platform === 'win32' && child.pid) {
|
|
109
|
+
try {
|
|
110
|
+
const taskkill = spawnProcess('taskkill', ['/pid', String(child.pid), '/T', '/F'], {
|
|
111
|
+
stdio: 'ignore',
|
|
112
|
+
});
|
|
113
|
+
taskkill.once('error', killChild);
|
|
114
|
+
taskkill.once('close', (code) => {
|
|
115
|
+
if (code !== 0)
|
|
116
|
+
killChild();
|
|
117
|
+
});
|
|
118
|
+
// totem-context: taskkill can be absent or race process exit; direct child kill is the intentional best-effort fallback.
|
|
119
|
+
}
|
|
120
|
+
catch (_err) {
|
|
121
|
+
killChild();
|
|
122
|
+
}
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
if (child.pid) {
|
|
126
|
+
try {
|
|
127
|
+
killGroup(-child.pid);
|
|
128
|
+
// totem-context: Unix process-group exit races are expected during timeout teardown; fall back to direct child kill without changing settlement.
|
|
129
|
+
}
|
|
130
|
+
catch (_err) {
|
|
131
|
+
killChild();
|
|
132
|
+
}
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
// A spawn can time out before a pid is assigned.
|
|
136
|
+
killChild();
|
|
137
|
+
}
|
|
28
138
|
// ─── Gemini CLI JSON parsing ─────────────────────────
|
|
29
139
|
const GeminiModelStatsSchema = z.object({
|
|
30
140
|
tokens: z.object({ input: z.number(), candidates: z.number() }).optional(),
|
|
@@ -42,6 +152,7 @@ export function tryParseGeminiJson(raw) {
|
|
|
42
152
|
let data;
|
|
43
153
|
try {
|
|
44
154
|
data = JSON.parse(raw);
|
|
155
|
+
// totem-context: non-JSON is a supported shell-provider output shape; the caller intentionally falls back to normalized raw text.
|
|
45
156
|
}
|
|
46
157
|
catch {
|
|
47
158
|
return null;
|
|
@@ -62,6 +173,27 @@ export function tryParseGeminiJson(raw) {
|
|
|
62
173
|
latencyMs,
|
|
63
174
|
};
|
|
64
175
|
}
|
|
176
|
+
const ClaudeOutputSchema = z.object({
|
|
177
|
+
type: z.literal('result'),
|
|
178
|
+
is_error: z.literal(false),
|
|
179
|
+
result: z.string(),
|
|
180
|
+
});
|
|
181
|
+
/** Unwrap only Claude CLI's typed success envelope, never arbitrary outer JSON. */
|
|
182
|
+
export function tryParseClaudeJson(raw) {
|
|
183
|
+
let data;
|
|
184
|
+
try {
|
|
185
|
+
data = JSON.parse(raw);
|
|
186
|
+
// totem-context: non-JSON Claude output is valid when JSON mode is not configured; the caller intentionally preserves normalized raw text.
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
return null;
|
|
190
|
+
}
|
|
191
|
+
const result = ClaudeOutputSchema.safeParse(data);
|
|
192
|
+
return result.success ? result.data.result : null;
|
|
193
|
+
}
|
|
194
|
+
function isClaudeCommand(command) {
|
|
195
|
+
return /(?:^|[\s"'])claude(?:\.exe)?(?:[\s"']|$)/i.test(command);
|
|
196
|
+
}
|
|
65
197
|
export async function invokeShellOrchestrator(opts) {
|
|
66
198
|
// mmnto/totem#1291 Phase 3: opts.systemPrompt is concatenated with prompt
|
|
67
199
|
// before being written to the tempfile because shell orchestrators talk to
|
|
@@ -72,6 +204,8 @@ export async function invokeShellOrchestrator(opts) {
|
|
|
72
204
|
// shell CLI fallback. Caught by Shield AI on the first push attempt as
|
|
73
205
|
// part of the same cascade as the Gemini/OpenAI/Ollama fixes.
|
|
74
206
|
const { prompt, systemPrompt, command, model, cwd, tag, totemDir } = opts;
|
|
207
|
+
const provider = opts.provider ?? 'shell';
|
|
208
|
+
const route = opts.route ?? 'configured-shell';
|
|
75
209
|
// Reject poisoned model names BEFORE we ever interpolate into a shell string.
|
|
76
210
|
// The {model} token used to be substituted raw, which turned a config-supplied
|
|
77
211
|
// string into a shell-injection sink. A malicious totem.config.ts could set
|
|
@@ -107,70 +241,135 @@ export async function invokeShellOrchestrator(opts) {
|
|
|
107
241
|
log.info(tag, 'Invoking orchestrator (this may take 15-60 seconds)...');
|
|
108
242
|
const startMs = Date.now();
|
|
109
243
|
try {
|
|
110
|
-
const
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
244
|
+
const execution = await new Promise((resolve, reject) => {
|
|
245
|
+
const stdout = createStreamCapture();
|
|
246
|
+
const stderr = createStreamCapture();
|
|
247
|
+
let child;
|
|
248
|
+
try {
|
|
249
|
+
child = spawn(resolvedCmd, {
|
|
250
|
+
cwd,
|
|
251
|
+
shell: true,
|
|
252
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
253
|
+
detached: !IS_WIN, // process group for clean tree-kill on Unix
|
|
254
|
+
});
|
|
255
|
+
// totem-context: synchronous spawn failures are converted into the structured process-spawn contract and rejected below; no failure is swallowed.
|
|
256
|
+
}
|
|
257
|
+
catch (err) {
|
|
258
|
+
const cause = err instanceof Error ? err : new Error(String(err));
|
|
259
|
+
const attempt = {
|
|
260
|
+
sequence: 1,
|
|
261
|
+
route,
|
|
262
|
+
provider,
|
|
263
|
+
model,
|
|
264
|
+
status: 'failed',
|
|
265
|
+
durationMs: Date.now() - startMs,
|
|
266
|
+
failureKind: 'process-spawn',
|
|
267
|
+
...('code' in cause && typeof cause.code === 'string'
|
|
268
|
+
? { providerCode: cause.code }
|
|
269
|
+
: {}),
|
|
270
|
+
process: {
|
|
271
|
+
exitCode: null,
|
|
272
|
+
signal: null,
|
|
273
|
+
timedOut: false,
|
|
274
|
+
stdout: stdout.evidence(),
|
|
275
|
+
stderr: stderr.evidence(),
|
|
276
|
+
},
|
|
277
|
+
};
|
|
278
|
+
reject(new OrchestratorInvokeError('Shell orchestrator command failed to start.', 'process-spawn', [attempt], { cause }));
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
119
281
|
let timedOut = false;
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
282
|
+
let settled = false;
|
|
283
|
+
child.stdout.on('data', (chunk) => stdout.append(chunk));
|
|
284
|
+
child.stderr.on('data', (chunk) => stderr.append(chunk));
|
|
285
|
+
const processEvidence = (exitCode, signal) => ({
|
|
286
|
+
exitCode,
|
|
287
|
+
signal,
|
|
288
|
+
timedOut,
|
|
289
|
+
...(timedOut ? { timeoutMs: LLM_TIMEOUT_MS } : {}),
|
|
290
|
+
stdout: stdout.evidence(),
|
|
291
|
+
stderr: stderr.evidence(),
|
|
127
292
|
});
|
|
293
|
+
const rejectInvocation = (err, process, context, classificationSource = err) => {
|
|
294
|
+
if (settled)
|
|
295
|
+
return;
|
|
296
|
+
settled = true;
|
|
297
|
+
clearTimeout(timer);
|
|
298
|
+
const failureKind = classifyInvokeFailure(classificationSource, context);
|
|
299
|
+
const attempt = {
|
|
300
|
+
sequence: 1,
|
|
301
|
+
route,
|
|
302
|
+
provider,
|
|
303
|
+
model,
|
|
304
|
+
status: 'failed',
|
|
305
|
+
durationMs: Date.now() - startMs,
|
|
306
|
+
failureKind,
|
|
307
|
+
...('status' in classificationSource && typeof classificationSource.status === 'number'
|
|
308
|
+
? { providerStatus: classificationSource.status }
|
|
309
|
+
: {}),
|
|
310
|
+
...('code' in classificationSource && typeof classificationSource.code === 'string'
|
|
311
|
+
? { providerCode: classificationSource.code }
|
|
312
|
+
: {}),
|
|
313
|
+
process,
|
|
314
|
+
};
|
|
315
|
+
reject(new OrchestratorInvokeError(err.message, failureKind, [attempt], { cause: err }));
|
|
316
|
+
};
|
|
128
317
|
const killTree = () => {
|
|
129
318
|
// On Windows with shell: true, child.kill() only kills the shell,
|
|
130
319
|
// leaving the actual process (grandchild) alive as a zombie.
|
|
131
|
-
|
|
132
|
-
if (IS_WIN && child.pid) {
|
|
133
|
-
try {
|
|
134
|
-
spawn('taskkill', ['/pid', String(child.pid), '/T', '/F'], { stdio: 'ignore' });
|
|
135
|
-
}
|
|
136
|
-
catch (_err) {
|
|
137
|
-
// taskkill failed — fall back to basic kill
|
|
138
|
-
child.kill();
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
else if (child.pid) {
|
|
142
|
-
process.kill(-child.pid); // totem-ignore — Unix process group kill
|
|
143
|
-
}
|
|
320
|
+
killShellProcessTree(child);
|
|
144
321
|
};
|
|
145
322
|
const timer = setTimeout(() => {
|
|
146
323
|
timedOut = true;
|
|
147
324
|
killTree();
|
|
325
|
+
const err = Object.assign(new Error(`[Totem Error] Orchestrator timed out after ${LLM_TIMEOUT_MS / 1000}s.`), { code: 'ETIMEDOUT' });
|
|
326
|
+
rejectInvocation(err, processEvidence(null, null), { timedOut: true });
|
|
148
327
|
}, LLM_TIMEOUT_MS);
|
|
149
328
|
child.on('error', (err) => {
|
|
150
|
-
|
|
151
|
-
|
|
329
|
+
const spawnErr = Object.assign(new Error('[Totem Error] Shell orchestrator command failed to start.', {
|
|
330
|
+
cause: err,
|
|
331
|
+
}), 'code' in err ? { code: err.code } : {});
|
|
332
|
+
rejectInvocation(spawnErr, processEvidence(null, null), { spawnFailed: true });
|
|
152
333
|
});
|
|
153
|
-
child.on('close', (code) => {
|
|
154
|
-
|
|
155
|
-
if (timedOut) {
|
|
156
|
-
reject(Object.assign(new Error(`[Totem Error] Orchestrator timed out after ${LLM_TIMEOUT_MS / 1000}s.\n${stderr}`), { code: 'ETIMEDOUT' }));
|
|
334
|
+
child.on('close', (code, signal) => {
|
|
335
|
+
if (settled)
|
|
157
336
|
return;
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
}
|
|
337
|
+
const normalizedSignal = (signal ?? null);
|
|
338
|
+
const process = processEvidence(code, normalizedSignal);
|
|
339
|
+
if (code !== 0 || normalizedSignal !== null) {
|
|
340
|
+
const closedWithoutStatus = code === null && normalizedSignal === null;
|
|
341
|
+
const processDescription = closedWithoutStatus
|
|
342
|
+
? 'closed without an exit code or signal'
|
|
343
|
+
: normalizedSignal === null
|
|
344
|
+
? `exited with code ${code}`
|
|
345
|
+
: `exited with code ${code} (signal ${normalizedSignal})`;
|
|
346
|
+
const err = new Error(`[Totem Error] Shell orchestrator command failed: Process ${processDescription}.`);
|
|
347
|
+
const diagnosticText = [process.stderr?.head, process.stderr?.tail]
|
|
348
|
+
.filter((part) => part !== undefined)
|
|
349
|
+
.join('\n');
|
|
350
|
+
const classificationSource = Object.assign(new Error(diagnosticText), code === null ? {} : { exitCode: code });
|
|
351
|
+
const failureContext = {
|
|
352
|
+
...(code === null ? {} : { exitCode: code }),
|
|
353
|
+
...(normalizedSignal === null ? {} : { signal: normalizedSignal }),
|
|
354
|
+
};
|
|
355
|
+
rejectInvocation(err, process, failureContext, classificationSource);
|
|
168
356
|
return;
|
|
169
357
|
}
|
|
170
|
-
|
|
358
|
+
settled = true;
|
|
359
|
+
clearTimeout(timer);
|
|
360
|
+
resolve({ raw: stdout.semanticText(), process, durationMs: Date.now() - startMs });
|
|
171
361
|
});
|
|
172
362
|
});
|
|
173
|
-
const wallMs =
|
|
363
|
+
const { raw, process: executionProcess, durationMs: wallMs } = execution;
|
|
364
|
+
const succeededAttempt = {
|
|
365
|
+
sequence: 1,
|
|
366
|
+
route,
|
|
367
|
+
provider,
|
|
368
|
+
model,
|
|
369
|
+
status: 'succeeded',
|
|
370
|
+
durationMs: wallMs,
|
|
371
|
+
process: executionProcess,
|
|
372
|
+
};
|
|
174
373
|
const gemini = tryParseGeminiJson(raw);
|
|
175
374
|
if (gemini) {
|
|
176
375
|
return {
|
|
@@ -178,9 +377,17 @@ export async function invokeShellOrchestrator(opts) {
|
|
|
178
377
|
inputTokens: gemini.inputTokens,
|
|
179
378
|
outputTokens: gemini.outputTokens,
|
|
180
379
|
durationMs: gemini.latencyMs ?? wallMs,
|
|
380
|
+
attempts: [succeededAttempt],
|
|
181
381
|
};
|
|
182
382
|
}
|
|
183
|
-
|
|
383
|
+
const claude = isClaudeCommand(resolvedCmd) ? tryParseClaudeJson(raw) : null;
|
|
384
|
+
return {
|
|
385
|
+
content: (claude ?? raw).trim(),
|
|
386
|
+
inputTokens: null,
|
|
387
|
+
outputTokens: null,
|
|
388
|
+
durationMs: wallMs,
|
|
389
|
+
attempts: [succeededAttempt],
|
|
390
|
+
};
|
|
184
391
|
}
|
|
185
392
|
finally {
|
|
186
393
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-orchestrator.js","sourceRoot":"","sources":["../../src/orchestrators/shell-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shell-orchestrator.js","sourceRoot":"","sources":["../../src/orchestrators/shell-orchestrator.ts"],"names":[],"mappings":"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"}
|