@indy2kro/agentenv 0.3.2 → 0.4.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.
- package/README.md +63 -354
- package/dist/adapters/claude.d.ts.map +1 -1
- package/dist/adapters/claude.js +12 -4
- package/dist/adapters/claude.js.map +1 -1
- package/dist/adapters/opencode.d.ts.map +1 -1
- package/dist/adapters/opencode.js +5 -8
- package/dist/adapters/opencode.js.map +1 -1
- package/dist/commands/apply.d.ts.map +1 -1
- package/dist/commands/apply.js +8 -3
- package/dist/commands/apply.js.map +1 -1
- package/dist/commands/completion.d.ts.map +1 -1
- package/dist/commands/completion.js +15 -1
- package/dist/commands/completion.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +21 -8
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/setup.d.ts +2 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +9 -4
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/shell-fix.d.ts +29 -0
- package/dist/commands/shell-fix.d.ts.map +1 -0
- package/dist/commands/shell-fix.js +111 -0
- package/dist/commands/shell-fix.js.map +1 -0
- package/dist/commands/status.d.ts +5 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +30 -8
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/uninstall.d.ts +2 -1
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +11 -5
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +11 -5
- package/dist/commands/update.js.map +1 -1
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +54 -5
- package/dist/config/schema.js.map +1 -1
- package/dist/config/scopes.d.ts +13 -0
- package/dist/config/scopes.d.ts.map +1 -1
- package/dist/config/scopes.js +15 -0
- package/dist/config/scopes.js.map +1 -1
- package/dist/generate/agentsmd.d.ts.map +1 -1
- package/dist/generate/agentsmd.js +15 -2
- package/dist/generate/agentsmd.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/integrations/base.d.ts +1 -1
- package/dist/integrations/base.js +1 -1
- package/dist/shell/detector.d.ts +36 -1
- package/dist/shell/detector.d.ts.map +1 -1
- package/dist/shell/detector.js +279 -47
- package/dist/shell/detector.js.map +1 -1
- package/dist/shell/shell-fix-state.d.ts +43 -0
- package/dist/shell/shell-fix-state.d.ts.map +1 -0
- package/dist/shell/shell-fix-state.js +70 -0
- package/dist/shell/shell-fix-state.js.map +1 -0
- package/dist/toolchain/gh.d.ts +12 -3
- package/dist/toolchain/gh.d.ts.map +1 -1
- package/dist/toolchain/gh.js +23 -8
- package/dist/toolchain/gh.js.map +1 -1
- package/dist/toolchain/mise.d.ts +22 -5
- package/dist/toolchain/mise.d.ts.map +1 -1
- package/dist/toolchain/mise.js +36 -22
- package/dist/toolchain/mise.js.map +1 -1
- package/dist/toolchain/rtk.d.ts.map +1 -1
- package/dist/toolchain/rtk.js +1 -1
- package/dist/toolchain/rtk.js.map +1 -1
- package/package.json +1 -1
package/dist/shell/detector.js
CHANGED
|
@@ -8,6 +8,7 @@ import * as winPath from 'path/win32';
|
|
|
8
8
|
import * as child_process from 'child_process';
|
|
9
9
|
import { AGENT_KEYS } from '../config/schema.js';
|
|
10
10
|
import { pathContainsDir } from '../toolchain/mise.js';
|
|
11
|
+
import { clearShellFixState, mergeShellFixEntries, readShellFixState, shellFixStatePath, writeShellFixState, } from './shell-fix-state.js';
|
|
11
12
|
// Well-known POSIX utilities that should be available
|
|
12
13
|
export const POSIX_UTILITIES = [
|
|
13
14
|
'grep',
|
|
@@ -179,42 +180,36 @@ function checkGitBash() {
|
|
|
179
180
|
* Uses `command -v` to get the resolved path, then checks version output.
|
|
180
181
|
* This handles shell function shadowing (e.g., Claude Code's ugrep/bfs).
|
|
181
182
|
*/
|
|
182
|
-
function checkGNUCoreutils() {
|
|
183
|
+
export function checkGNUCoreutils() {
|
|
183
184
|
if (process.platform === 'win32') {
|
|
184
185
|
return false;
|
|
185
186
|
}
|
|
186
187
|
try {
|
|
187
188
|
// Check if we have GNU versions of tools
|
|
188
189
|
// Use `command -v` to get the actual resolved path (works through shell functions)
|
|
189
|
-
// BSD vs GNU grep: GNU grep has -P flag for PCRE
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
const grepPath = grepResult.stdout.trim();
|
|
199
|
-
child_process.spawnSync(grepPath, ['-P', '--version'], { stdio: 'ignore' });
|
|
200
|
-
return true;
|
|
201
|
-
}
|
|
202
|
-
catch {
|
|
203
|
-
// Try other indicators
|
|
204
|
-
}
|
|
205
|
-
// Check for GNU sed via resolved path
|
|
206
|
-
try {
|
|
207
|
-
const sedResult = child_process.spawnSync('sh', ['-c', 'command -v sed'], {
|
|
208
|
-
encoding: 'utf-8',
|
|
209
|
-
stdio: ['ignore', 'pipe', 'pipe'],
|
|
190
|
+
// BSD vs GNU grep: GNU grep has -P flag for PCRE.
|
|
191
|
+
const grepResult = child_process.spawnSync('sh', ['-c', 'command -v grep'], {
|
|
192
|
+
encoding: 'utf-8',
|
|
193
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
194
|
+
});
|
|
195
|
+
const grepPath = grepResult.stdout.trim();
|
|
196
|
+
if (grepPath) {
|
|
197
|
+
const grepCheck = child_process.spawnSync(grepPath, ['-P', '--version'], {
|
|
198
|
+
stdio: 'ignore',
|
|
210
199
|
});
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
child_process.spawnSync(sedPath, ['--version'], { stdio: 'ignore' });
|
|
214
|
-
return true;
|
|
200
|
+
if (grepCheck.status === 0)
|
|
201
|
+
return true;
|
|
215
202
|
}
|
|
216
|
-
|
|
217
|
-
|
|
203
|
+
// Check for GNU sed via resolved path (GNU sed supports --version; BSD sed does not).
|
|
204
|
+
const sedResult = child_process.spawnSync('sh', ['-c', 'command -v sed'], {
|
|
205
|
+
encoding: 'utf-8',
|
|
206
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
207
|
+
});
|
|
208
|
+
const sedPath = sedResult.stdout.trim();
|
|
209
|
+
if (sedPath) {
|
|
210
|
+
const sedCheck = child_process.spawnSync(sedPath, ['--version'], { stdio: 'ignore' });
|
|
211
|
+
if (sedCheck.status === 0)
|
|
212
|
+
return true;
|
|
218
213
|
}
|
|
219
214
|
return false;
|
|
220
215
|
}
|
|
@@ -232,16 +227,18 @@ function installGNUCoreutilsMacOS() {
|
|
|
232
227
|
}
|
|
233
228
|
try {
|
|
234
229
|
// Check if Homebrew is installed
|
|
235
|
-
child_process.spawnSync('sh', ['-c', 'command -v brew'], { stdio: 'ignore' });
|
|
230
|
+
const brewOk = child_process.spawnSync('sh', ['-c', 'command -v brew'], { stdio: 'ignore' });
|
|
231
|
+
if (brewOk.status !== 0) {
|
|
232
|
+
return undefined;
|
|
233
|
+
}
|
|
236
234
|
// Install coreutils, gnu-sed, grep, findutils, gawk if not already installed
|
|
237
235
|
const packages = ['coreutils', 'gnu-sed', 'grep', 'findutils', 'gawk'];
|
|
238
236
|
for (const pkg of packages) {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
// Not installed, install it
|
|
237
|
+
// Only install when the formula is not already installed
|
|
238
|
+
const listed = child_process.spawnSync('brew', ['list', '--formula', pkg], {
|
|
239
|
+
stdio: 'ignore',
|
|
240
|
+
});
|
|
241
|
+
if (listed.status !== 0) {
|
|
245
242
|
child_process.spawnSync('brew', ['install', '--quiet', pkg], { stdio: 'ignore' });
|
|
246
243
|
}
|
|
247
244
|
}
|
|
@@ -250,6 +247,9 @@ function installGNUCoreutilsMacOS() {
|
|
|
250
247
|
encoding: 'utf-8',
|
|
251
248
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
252
249
|
});
|
|
250
|
+
if (result.status !== 0) {
|
|
251
|
+
return undefined;
|
|
252
|
+
}
|
|
253
253
|
const prefix = result.stdout.trim();
|
|
254
254
|
const gnubinPath = path.join(prefix, 'libexec', 'gnubin');
|
|
255
255
|
return gnubinPath;
|
|
@@ -261,24 +261,23 @@ function installGNUCoreutilsMacOS() {
|
|
|
261
261
|
/**
|
|
262
262
|
* Check which POSIX utilities are missing on Windows
|
|
263
263
|
*/
|
|
264
|
-
function checkMissingUtilities(isPosixCompatible) {
|
|
264
|
+
export function checkMissingUtilities(isPosixCompatible) {
|
|
265
265
|
if (process.platform !== 'win32' || isPosixCompatible) {
|
|
266
266
|
return [];
|
|
267
267
|
}
|
|
268
268
|
const missing = [];
|
|
269
269
|
for (const util of POSIX_UTILITIES) {
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
270
|
+
// `where` reports "not found" via a non-zero exit code (the INFO text goes
|
|
271
|
+
// to stderr), so checking the exit status is what distinguishes "found".
|
|
272
|
+
const where = child_process.spawnSync('cmd.exe', ['/c', 'where', util], { stdio: 'ignore' });
|
|
273
|
+
if (where.status === 0) {
|
|
274
|
+
continue;
|
|
273
275
|
}
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
}
|
|
278
|
-
catch {
|
|
279
|
-
missing.push(util);
|
|
280
|
-
}
|
|
276
|
+
const which = child_process.spawnSync('sh', ['-c', `command -v ${util}`], { stdio: 'ignore' });
|
|
277
|
+
if (which.status === 0) {
|
|
278
|
+
continue;
|
|
281
279
|
}
|
|
280
|
+
missing.push(util);
|
|
282
281
|
}
|
|
283
282
|
return missing;
|
|
284
283
|
}
|
|
@@ -354,6 +353,9 @@ export function generateMacOSGNUPathAddition(gnubinPath) {
|
|
|
354
353
|
}
|
|
355
354
|
// Export the installation function for use by other modules
|
|
356
355
|
export { installGNUCoreutilsMacOS };
|
|
356
|
+
function priorField(key, previous) {
|
|
357
|
+
return { key, previous };
|
|
358
|
+
}
|
|
357
359
|
/**
|
|
358
360
|
* Resolve the full path to bash.exe from a detected Git Bash directory.
|
|
359
361
|
* Handles both the `usr\bin` form and the plain `bin` form Git for Windows ships.
|
|
@@ -420,6 +422,12 @@ function patchClaudeShellFix(bashExe, home) {
|
|
|
420
422
|
file,
|
|
421
423
|
action: 'created',
|
|
422
424
|
message: `Set CLAUDE_CODE_GIT_BASH_PATH in ${file}`,
|
|
425
|
+
state: {
|
|
426
|
+
agent: 'claude_code',
|
|
427
|
+
file,
|
|
428
|
+
createdFile: true,
|
|
429
|
+
fields: [priorField('env.CLAUDE_CODE_GIT_BASH_PATH', null)],
|
|
430
|
+
},
|
|
423
431
|
};
|
|
424
432
|
}
|
|
425
433
|
try {
|
|
@@ -438,6 +446,7 @@ function patchClaudeShellFix(bashExe, home) {
|
|
|
438
446
|
if (env[bashKey] === bashExe) {
|
|
439
447
|
return { agent: 'claude_code', file, action: 'unchanged', message: `Already set in ${file}` };
|
|
440
448
|
}
|
|
449
|
+
const previous = typeof env[bashKey] === 'string' ? env[bashKey] : null;
|
|
441
450
|
env[bashKey] = bashExe;
|
|
442
451
|
settings.env = env;
|
|
443
452
|
fs.writeFileSync(file, JSON.stringify(settings, null, 2));
|
|
@@ -446,6 +455,12 @@ function patchClaudeShellFix(bashExe, home) {
|
|
|
446
455
|
file,
|
|
447
456
|
action: 'updated',
|
|
448
457
|
message: `Set CLAUDE_CODE_GIT_BASH_PATH in ${file}`,
|
|
458
|
+
state: {
|
|
459
|
+
agent: 'claude_code',
|
|
460
|
+
file,
|
|
461
|
+
createdFile: false,
|
|
462
|
+
fields: [priorField('env.CLAUDE_CODE_GIT_BASH_PATH', previous)],
|
|
463
|
+
},
|
|
449
464
|
};
|
|
450
465
|
}
|
|
451
466
|
function patchCodexShellFix(bashExe, home) {
|
|
@@ -459,6 +474,12 @@ function patchCodexShellFix(bashExe, home) {
|
|
|
459
474
|
file,
|
|
460
475
|
action: 'created',
|
|
461
476
|
message: `Set [windows] shell_path in ${file}`,
|
|
477
|
+
state: {
|
|
478
|
+
agent: 'codex_cli',
|
|
479
|
+
file,
|
|
480
|
+
createdFile: true,
|
|
481
|
+
fields: [priorField('[windows].shell_path', null)],
|
|
482
|
+
},
|
|
462
483
|
};
|
|
463
484
|
}
|
|
464
485
|
const original = fs.readFileSync(file, 'utf-8');
|
|
@@ -472,6 +493,12 @@ function patchCodexShellFix(bashExe, home) {
|
|
|
472
493
|
file,
|
|
473
494
|
action: 'updated',
|
|
474
495
|
message: `Set [windows] shell_path in ${file}`,
|
|
496
|
+
state: {
|
|
497
|
+
agent: 'codex_cli',
|
|
498
|
+
file,
|
|
499
|
+
createdFile: false,
|
|
500
|
+
fields: [priorField('[windows].shell_path', readTomlWindowsShellPath(original) ?? null)],
|
|
501
|
+
},
|
|
475
502
|
};
|
|
476
503
|
}
|
|
477
504
|
function patchOpenCodeShellFix(bashExe, home) {
|
|
@@ -484,6 +511,12 @@ function patchOpenCodeShellFix(bashExe, home) {
|
|
|
484
511
|
file,
|
|
485
512
|
action: 'created',
|
|
486
513
|
message: `Set shell/defaultShell in ${file}`,
|
|
514
|
+
state: {
|
|
515
|
+
agent: 'opencode',
|
|
516
|
+
file,
|
|
517
|
+
createdFile: true,
|
|
518
|
+
fields: [priorField('shell', null), priorField('defaultShell', null)],
|
|
519
|
+
},
|
|
487
520
|
};
|
|
488
521
|
}
|
|
489
522
|
let config;
|
|
@@ -501,6 +534,8 @@ function patchOpenCodeShellFix(bashExe, home) {
|
|
|
501
534
|
if (config.shell === bashExe && config.defaultShell === bashExe) {
|
|
502
535
|
return { agent: 'opencode', file, action: 'unchanged', message: `Already set in ${file}` };
|
|
503
536
|
}
|
|
537
|
+
const priorShell = typeof config.shell === 'string' ? config.shell : null;
|
|
538
|
+
const priorDefault = typeof config.defaultShell === 'string' ? config.defaultShell : null;
|
|
504
539
|
config.shell = bashExe;
|
|
505
540
|
config.defaultShell = bashExe;
|
|
506
541
|
fs.writeFileSync(file, JSON.stringify(config, null, 2));
|
|
@@ -509,6 +544,12 @@ function patchOpenCodeShellFix(bashExe, home) {
|
|
|
509
544
|
file,
|
|
510
545
|
action: 'updated',
|
|
511
546
|
message: `Set shell/defaultShell in ${file}`,
|
|
547
|
+
state: {
|
|
548
|
+
agent: 'opencode',
|
|
549
|
+
file,
|
|
550
|
+
createdFile: false,
|
|
551
|
+
fields: [priorField('shell', priorShell), priorField('defaultShell', priorDefault)],
|
|
552
|
+
},
|
|
512
553
|
};
|
|
513
554
|
}
|
|
514
555
|
/**
|
|
@@ -538,11 +579,29 @@ function setTomlWindowsShellPath(content, valueLine) {
|
|
|
538
579
|
lines.splice(windowsSectionIndex + 1, 0, valueLine);
|
|
539
580
|
return lines.join('\n');
|
|
540
581
|
}
|
|
582
|
+
/**
|
|
583
|
+
* Persist the revert records for the files an apply actually changed. Best
|
|
584
|
+
* effort: a failure to record must never fail the apply itself.
|
|
585
|
+
*/
|
|
586
|
+
function recordShellFixState(results, bashExe, statePath) {
|
|
587
|
+
const entries = results
|
|
588
|
+
.map((result) => result.state)
|
|
589
|
+
.filter((entry) => entry !== undefined);
|
|
590
|
+
if (entries.length === 0)
|
|
591
|
+
return;
|
|
592
|
+
try {
|
|
593
|
+
const existing = readShellFixState(statePath);
|
|
594
|
+
writeShellFixState(mergeShellFixEntries(existing, entries, bashExe), statePath);
|
|
595
|
+
}
|
|
596
|
+
catch {
|
|
597
|
+
// Recording is advisory; the fix itself already succeeded.
|
|
598
|
+
}
|
|
599
|
+
}
|
|
541
600
|
/**
|
|
542
601
|
* Fix shell configuration for Windows and macOS
|
|
543
602
|
* This is a Tier 0 fix - ensures POSIX utilities are available
|
|
544
603
|
*/
|
|
545
|
-
export function fixShellConfiguration(_baseDir = '.', agents = [...AGENT_KEYS], complex = process.stdin.isTTY === true) {
|
|
604
|
+
export function fixShellConfiguration(_baseDir = '.', agents = [...AGENT_KEYS], complex = process.stdin.isTTY === true, statePath = shellFixStatePath()) {
|
|
546
605
|
if (process.platform === 'win32') {
|
|
547
606
|
const shellInfo = detectShell();
|
|
548
607
|
if (shellInfo.isPosixCompatible) {
|
|
@@ -570,6 +629,7 @@ export function fixShellConfiguration(_baseDir = '.', agents = [...AGENT_KEYS],
|
|
|
570
629
|
const home = process.env.HOME || process.env.USERPROFILE || '';
|
|
571
630
|
const results = agents.map((agent) => applyAgentShellFix(agent, bashExe, home));
|
|
572
631
|
const written = results.filter((result) => result.action === 'created' || result.action === 'updated');
|
|
632
|
+
recordShellFixState(written, bashExe, statePath);
|
|
573
633
|
const message = written.length > 0
|
|
574
634
|
? `Current shell (${shellInfo.currentShell}) is not POSIX-compatible; pointed agents at Git Bash (${bashExe})`
|
|
575
635
|
: `Git Bash detected at ${bashExe}; agent shell config already up to date`;
|
|
@@ -752,4 +812,176 @@ function checkOpenCodeShell(home) {
|
|
|
752
812
|
return { isConfigured: false, needsFix: true };
|
|
753
813
|
}
|
|
754
814
|
}
|
|
815
|
+
/**
|
|
816
|
+
* Remove the `shell_path` line that setTomlWindowsShellPath writes and, if that
|
|
817
|
+
* leaves the `[windows]` section empty, the section header too. Returns the
|
|
818
|
+
* content unchanged when no `shell_path` line is present.
|
|
819
|
+
*/
|
|
820
|
+
export function removeTomlWindowsShellPath(content) {
|
|
821
|
+
const lines = content.split(/\r?\n/);
|
|
822
|
+
const shellPathIndex = lines.findIndex((line) => /^shell_path\s*=/.test(line.trim()));
|
|
823
|
+
if (shellPathIndex === -1)
|
|
824
|
+
return content;
|
|
825
|
+
lines.splice(shellPathIndex, 1);
|
|
826
|
+
const headerIndex = lines.findIndex((line) => line.trim() === '[windows]');
|
|
827
|
+
if (headerIndex !== -1) {
|
|
828
|
+
let empty = true;
|
|
829
|
+
for (let i = headerIndex + 1; i < lines.length; i++) {
|
|
830
|
+
const trimmed = lines[i].trim();
|
|
831
|
+
if (/^\[.*]$/.test(trimmed))
|
|
832
|
+
break;
|
|
833
|
+
if (trimmed !== '') {
|
|
834
|
+
empty = false;
|
|
835
|
+
break;
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
if (empty)
|
|
839
|
+
lines.splice(headerIndex, 1);
|
|
840
|
+
}
|
|
841
|
+
while (lines.length > 0 && lines[lines.length - 1].trim() === '')
|
|
842
|
+
lines.pop();
|
|
843
|
+
return lines.length > 0 ? `${lines.join('\n')}\n` : '';
|
|
844
|
+
}
|
|
845
|
+
function revertResult(entry, action, message) {
|
|
846
|
+
return { agent: entry.agent, file: entry.file, action, message };
|
|
847
|
+
}
|
|
848
|
+
function restoreClaudeShellFix(entry, bashExe, dryRun) {
|
|
849
|
+
if (!fs.existsSync(entry.file)) {
|
|
850
|
+
return revertResult(entry, 'absent', `${entry.file} is already gone`);
|
|
851
|
+
}
|
|
852
|
+
let settings;
|
|
853
|
+
try {
|
|
854
|
+
settings = JSON.parse(fs.readFileSync(entry.file, 'utf-8'));
|
|
855
|
+
}
|
|
856
|
+
catch {
|
|
857
|
+
return revertResult(entry, 'skipped', `${entry.file} is not valid JSON; leaving it untouched`);
|
|
858
|
+
}
|
|
859
|
+
const env = (settings.env ?? {});
|
|
860
|
+
const key = 'CLAUDE_CODE_GIT_BASH_PATH';
|
|
861
|
+
if (env[key] === undefined) {
|
|
862
|
+
return revertResult(entry, 'absent', `No agentenv shell override in ${entry.file}`);
|
|
863
|
+
}
|
|
864
|
+
if (env[key] !== bashExe) {
|
|
865
|
+
return revertResult(entry, 'skipped', `${entry.file}: CLAUDE_CODE_GIT_BASH_PATH changed after agentenv set it; leaving it untouched`);
|
|
866
|
+
}
|
|
867
|
+
const previous = entry.fields.find((field) => field.key === 'env.CLAUDE_CODE_GIT_BASH_PATH')?.previous ?? null;
|
|
868
|
+
if (previous === null)
|
|
869
|
+
delete env[key];
|
|
870
|
+
else
|
|
871
|
+
env[key] = previous;
|
|
872
|
+
if (Object.keys(env).length === 0)
|
|
873
|
+
delete settings.env;
|
|
874
|
+
if (entry.createdFile && Object.keys(settings).length === 0) {
|
|
875
|
+
if (!dryRun)
|
|
876
|
+
fs.rmSync(entry.file, { force: true });
|
|
877
|
+
return revertResult(entry, 'removed', `Removed ${entry.file} (created by agentenv)`);
|
|
878
|
+
}
|
|
879
|
+
if (!dryRun)
|
|
880
|
+
fs.writeFileSync(entry.file, JSON.stringify(settings, null, 2));
|
|
881
|
+
return revertResult(entry, 'reverted', `Restored ${entry.file}`);
|
|
882
|
+
}
|
|
883
|
+
function restoreCodexShellFix(entry, bashExe, dryRun) {
|
|
884
|
+
if (!fs.existsSync(entry.file)) {
|
|
885
|
+
return revertResult(entry, 'absent', `${entry.file} is already gone`);
|
|
886
|
+
}
|
|
887
|
+
const content = fs.readFileSync(entry.file, 'utf-8');
|
|
888
|
+
const current = readTomlWindowsShellPath(content);
|
|
889
|
+
if (current === undefined) {
|
|
890
|
+
return revertResult(entry, 'absent', `No agentenv shell override in ${entry.file}`);
|
|
891
|
+
}
|
|
892
|
+
if (current !== bashExe) {
|
|
893
|
+
return revertResult(entry, 'skipped', `${entry.file}: [windows] shell_path changed after agentenv set it; leaving it untouched`);
|
|
894
|
+
}
|
|
895
|
+
const next = removeTomlWindowsShellPath(content);
|
|
896
|
+
if (entry.createdFile && next.trim() === '') {
|
|
897
|
+
if (!dryRun)
|
|
898
|
+
fs.rmSync(entry.file, { force: true });
|
|
899
|
+
return revertResult(entry, 'removed', `Removed ${entry.file} (created by agentenv)`);
|
|
900
|
+
}
|
|
901
|
+
if (next !== content && !dryRun)
|
|
902
|
+
fs.writeFileSync(entry.file, next);
|
|
903
|
+
return revertResult(entry, 'reverted', `Restored ${entry.file}`);
|
|
904
|
+
}
|
|
905
|
+
function restoreOpenCodeShellFix(entry, bashExe, dryRun) {
|
|
906
|
+
if (!fs.existsSync(entry.file)) {
|
|
907
|
+
return revertResult(entry, 'absent', `${entry.file} is already gone`);
|
|
908
|
+
}
|
|
909
|
+
let config;
|
|
910
|
+
try {
|
|
911
|
+
config = JSON.parse(fs.readFileSync(entry.file, 'utf-8'));
|
|
912
|
+
}
|
|
913
|
+
catch {
|
|
914
|
+
return revertResult(entry, 'skipped', `${entry.file} is not valid JSON; leaving it untouched`);
|
|
915
|
+
}
|
|
916
|
+
let changed = false;
|
|
917
|
+
let drifted = false;
|
|
918
|
+
for (const key of ['shell', 'defaultShell']) {
|
|
919
|
+
if (config[key] === undefined)
|
|
920
|
+
continue;
|
|
921
|
+
if (config[key] !== bashExe) {
|
|
922
|
+
drifted = true;
|
|
923
|
+
continue;
|
|
924
|
+
}
|
|
925
|
+
const previous = entry.fields.find((field) => field.key === key)?.previous ?? null;
|
|
926
|
+
if (previous === null)
|
|
927
|
+
delete config[key];
|
|
928
|
+
else
|
|
929
|
+
config[key] = previous;
|
|
930
|
+
changed = true;
|
|
931
|
+
}
|
|
932
|
+
if (!changed && !drifted) {
|
|
933
|
+
return revertResult(entry, 'absent', `No agentenv shell override in ${entry.file}`);
|
|
934
|
+
}
|
|
935
|
+
if (drifted && !changed) {
|
|
936
|
+
return revertResult(entry, 'skipped', `${entry.file}: shell/defaultShell changed after agentenv set it; leaving it untouched`);
|
|
937
|
+
}
|
|
938
|
+
if (entry.createdFile && Object.keys(config).length === 0) {
|
|
939
|
+
if (!dryRun)
|
|
940
|
+
fs.rmSync(entry.file, { force: true });
|
|
941
|
+
return revertResult(entry, 'removed', `Removed ${entry.file} (created by agentenv)`);
|
|
942
|
+
}
|
|
943
|
+
if (changed && !dryRun)
|
|
944
|
+
fs.writeFileSync(entry.file, JSON.stringify(config, null, 2));
|
|
945
|
+
return revertResult(entry, 'reverted', `Restored ${entry.file}`);
|
|
946
|
+
}
|
|
947
|
+
function revertShellFixEntry(entry, bashExe, dryRun) {
|
|
948
|
+
switch (entry.agent) {
|
|
949
|
+
case 'claude_code':
|
|
950
|
+
return restoreClaudeShellFix(entry, bashExe, dryRun);
|
|
951
|
+
case 'codex_cli':
|
|
952
|
+
return restoreCodexShellFix(entry, bashExe, dryRun);
|
|
953
|
+
case 'opencode':
|
|
954
|
+
return restoreOpenCodeShellFix(entry, bashExe, dryRun);
|
|
955
|
+
default:
|
|
956
|
+
return revertResult(entry, 'skipped', `${entry.agent}: no revert handler`);
|
|
957
|
+
}
|
|
958
|
+
}
|
|
959
|
+
/**
|
|
960
|
+
* Undo the Tier 0 agent shell fixes recorded by previous applies. Each entry is
|
|
961
|
+
* reverted only when the file still holds the value agentenv set; a value the
|
|
962
|
+
* user changed afterwards is left untouched and reported as skipped, and the
|
|
963
|
+
* manifest retains that entry so a later run can retry. Clears the manifest
|
|
964
|
+
* once nothing is left to revert. With `dryRun`, reports what it would do
|
|
965
|
+
* without touching any file or the manifest.
|
|
966
|
+
*/
|
|
967
|
+
export function revertShellFixes(statePath = shellFixStatePath(), dryRun = false) {
|
|
968
|
+
const state = readShellFixState(statePath);
|
|
969
|
+
if (!state)
|
|
970
|
+
return [];
|
|
971
|
+
const results = [];
|
|
972
|
+
const remaining = [];
|
|
973
|
+
for (const entry of state.entries) {
|
|
974
|
+
const result = revertShellFixEntry(entry, state.bashExe, dryRun);
|
|
975
|
+
results.push(result);
|
|
976
|
+
if (result.action === 'skipped')
|
|
977
|
+
remaining.push(entry);
|
|
978
|
+
}
|
|
979
|
+
if (dryRun)
|
|
980
|
+
return results;
|
|
981
|
+
if (remaining.length === 0)
|
|
982
|
+
clearShellFixState(statePath);
|
|
983
|
+
else
|
|
984
|
+
writeShellFixState({ ...state, entries: remaining }, statePath);
|
|
985
|
+
return results;
|
|
986
|
+
}
|
|
755
987
|
//# sourceMappingURL=detector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/shell/detector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/shell/detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,aAAa,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,GAGnB,MAAM,sBAAsB,CAAC;AAE9B,sDAAsD;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,KAAK;IACL,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,MAAM;CACP,CAAC;AAEF,2CAA2C;AAC3C,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,6BAA6B;IAC7B,kCAAkC;IAClC,mCAAmC;IACnC,wCAAwC;CACzC,CAAC;AAcF;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAC9C,MAAM,YAAY,GAAG,qBAAqB,EAAE,CAAC;IAE7C,2DAA2D;IAC3D,IAAI,iBAA0B,CAAC;IAC/B,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,WAA+B,CAAC;IACpC,IAAI,UAA8B,CAAC;IACnC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAE/C,IAAI,SAAS,EAAE,CAAC;QACd,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,yDAAyD;QACzD,SAAS,GAAG,YAAY,EAAE,CAAC;QAC3B,iBAAiB,GAAG,SAAS,CAAC;QAE9B,yEAAyE;QACzE,mEAAmE;QACnE,2DAA2D;QAC3D,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAChC,WAAW,GAAG,YAAY,CAAC;oBAC3B,MAAM;gBACR,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,oCAAoC;QACpC,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;QAExC,kEAAkE;QAClE,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,UAAU,GAAG,wBAAwB,EAAE,CAAC;YACxC,IAAI,UAAU,EAAE,CAAC;gBACf,iBAAiB,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,wDAAwD;YACxD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;oBACxE,QAAQ,EAAE,OAAO;oBACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;iBAClC,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,kEAAkE;YACpE,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,gEAAgE;QAChE,+CAA+C;QAC/C,iBAAiB,GAAG,iBAAiB,EAAE,CAAC;IAC1C,CAAC;IAED,oCAAoC;IACpC,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnF,OAAO;QACL,YAAY;QACZ,iBAAiB;QACjB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,OAAO;QAChB,SAAS;QACT,WAAW;QACX,UAAU;QACV,gBAAgB;QAChB,eAAe;KAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB;IAC5B,aAAa;IACb,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,uEAAuE;QACvE,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACnF,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QACpC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QAEhC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,uBAAuB;IACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IAChC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,YAAY;IACnB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,uCAAuC;QACvC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,8BAA8B;QAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mDAAmD;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,0EAA0E;QAC1E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACvC,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;YACrC,IAAI,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;gBACtC,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,yCAAyC;QACzC,mFAAmF;QACnF,kDAAkD;QAClD,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE;YAC1E,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC1C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE;gBACvE,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;YACH,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC1C,CAAC;QAED,sFAAsF;QACtF,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE;YACxE,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACtF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;QACzC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB;IAC/B,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QACH,iCAAiC;QACjC,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7F,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,6EAA6E;QAC7E,MAAM,QAAQ,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACvE,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,yDAAyD;YACzD,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE;gBACzE,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE;YACxE,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE1D,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,iBAA0B;IAC9D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACtD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,2EAA2E;QAC3E,yEAAyE;QACzE,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,cAAc,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAoB;IAMxD,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACxB,aAAa;QACb,IAAI,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAChC,OAAO;gBACL,KAAK,EAAE,SAAS,CAAC,YAAY;gBAC7B,SAAS,EAAE,SAAS,CAAC,WAAW;gBAChC,kBAAkB,EAAE,KAAK;aAC1B,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;YAC1B,OAAO;gBACL,KAAK,EAAE,UAAU;gBACjB,SAAS,EAAE,SAAS,CAAC,WAAW;gBAChC,kBAAkB,EAAE,IAAI;aACzB,CAAC;QACJ,CAAC;QAED,qBAAqB;QACrB,OAAO;YACL,KAAK,EAAE,SAAS,CAAC,YAAY;YAC7B,kBAAkB,EAAE,IAAI;SACzB,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,IAAI,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAChC,OAAO;YACL,KAAK,EAAE,SAAS,CAAC,YAAY;YAC7B,OAAO,EAAE,SAAS,CAAC,UAAU;YAC7B,kBAAkB,EAAE,KAAK;SAC1B,CAAC;IACJ,CAAC;IAED,2CAA2C;IAC3C,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QAC9C,OAAO;YACL,KAAK,EAAE,SAAS,CAAC,YAAY;YAC7B,OAAO,EAAE,SAAS,CAAC,UAAU;YAC7B,kBAAkB,EAAE,IAAI;SACzB,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,OAAO;QACL,KAAK,EAAE,SAAS,CAAC,YAAY;QAC7B,kBAAkB,EAAE,IAAI;KACzB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,WAAmB;IAC7D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAE9D,OAAO,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,UAAkB;IAC7D,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,4DAA4D;AAC5D,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAsBpC,SAAS,UAAU,CAAC,GAAW,EAAE,QAAuB;IACtD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1D,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YACrD,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAe,EAAE,OAAe,EAAE,IAAY;IAC/E,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,aAAa;YAChB,OAAO,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5C,KAAK,WAAW;YACd,OAAO,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3C,KAAK,UAAU;YACb,OAAO,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9C,KAAK,SAAS;YACZ,OAAO;gBACL,KAAK;gBACL,IAAI,EAAE,EAAE;gBACR,MAAM,EAAE,SAAS;gBACjB,OAAO,EACL,wIAAwI;aAC3I,CAAC;QACJ,KAAK,YAAY,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,MAAM;YACT,OAAO;gBACL,KAAK;gBACL,IAAI,EAAE,EAAE;gBACR,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,GAAG,KAAK,oDAAoD;aACtE,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe,EAAE,IAAY;IACxD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACzD,IAAI,QAAiC,CAAC;IAEtC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,EAAE,CAAC,aAAa,CACd,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,EAAE,yBAAyB,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CACzE,CAAC;QACF,OAAO;YACL,KAAK,EAAE,aAAa;YACpB,IAAI;YACJ,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,oCAAoC,IAAI,EAAE;YACnD,KAAK,EAAE;gBACL,KAAK,EAAE,aAAa;gBACpB,IAAI;gBACJ,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE,CAAC,UAAU,CAAC,+BAA+B,EAAE,IAAI,CAAC,CAAC;aAC5D;SACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAA4B,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,KAAK,EAAE,aAAa;YACpB,IAAI;YACJ,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,GAAG,IAAI,2CAA2C;SAC5D,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAA4B,CAAC;IAC5D,MAAM,OAAO,GAAG,2BAA2B,CAAC;IAC5C,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,IAAI,EAAE,EAAE,CAAC;IAChG,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAC,OAAO,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IACpF,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACvB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO;QACL,KAAK,EAAE,aAAa;QACpB,IAAI;QACJ,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,oCAAoC,IAAI,EAAE;QACnD,KAAK,EAAE;YACL,KAAK,EAAE,aAAa;YACpB,IAAI;YACJ,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,CAAC,UAAU,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC;SAChE;KACF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe,EAAE,IAAY;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IAE5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,SAAS,IAAI,CAAC,CAAC;QACpD,OAAO;YACL,KAAK,EAAE,WAAW;YAClB,IAAI;YACJ,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,+BAA+B,IAAI,EAAE;YAC9C,KAAK,EAAE;gBACL,KAAK,EAAE,WAAW;gBAClB,IAAI;gBACJ,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE,CAAC,UAAU,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;aACnD;SACF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7D,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,IAAI,EAAE,EAAE,CAAC;IAC9F,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO;QACL,KAAK,EAAE,WAAW;QAClB,IAAI;QACJ,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,+BAA+B,IAAI,EAAE;QAC9C,KAAK,EAAE;YACL,KAAK,EAAE,WAAW;YAClB,IAAI;YACJ,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,CAAC,UAAU,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC;SACzF;KACF,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe,EAAE,IAAY;IAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IAErE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3F,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,IAAI;YACJ,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,6BAA6B,IAAI,EAAE;YAC5C,KAAK,EAAE;gBACL,KAAK,EAAE,UAAU;gBACjB,IAAI;gBACJ,WAAW,EAAE,IAAI;gBACjB,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;aACtE;SACF,CAAC;IACJ,CAAC;IAED,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAA4B,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,IAAI;YACJ,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,GAAG,IAAI,2CAA2C;SAC5D,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,IAAI,MAAM,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;QAChE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,IAAI,EAAE,EAAE,CAAC;IAC7F,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,MAAM,CAAC,KAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;IACtF,MAAM,YAAY,GAChB,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAE,MAAM,CAAC,YAAuB,CAAC,CAAC,CAAC,IAAI,CAAC;IACnF,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;IACvB,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC;IAC9B,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACxD,OAAO;QACL,KAAK,EAAE,UAAU;QACjB,IAAI;QACJ,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,6BAA6B,IAAI,EAAE;QAC5C,KAAK,EAAE;YACL,KAAK,EAAE,UAAU;YACjB,IAAI;YACJ,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;SACpF;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,uBAAuB,CAAC,OAAe,EAAE,SAAiB;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,mBAAmB,GAAG,CAAC,CAAC,CAAC;IAC7B,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,OAAO,KAAK,WAAW;YAAE,mBAAmB,GAAG,CAAC,CAAC;QACrD,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,cAAc,GAAG,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,mBAAmB,KAAK,CAAC,CAAC,EAAE,CAAC;QAC/B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,SAAS,IAAI,CAAC;IACvE,CAAC;IAED,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC;QAC/D,KAAK,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;QAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,OAAyB,EAAE,OAAe,EAAE,SAAiB;IACxF,MAAM,OAAO,GAAG,OAAO;SACpB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;SAC7B,MAAM,CAAC,CAAC,KAAK,EAA+B,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IACvE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC9C,kBAAkB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,2DAA2D;IAC7D,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,WAAmB,GAAG,EACtB,SAAqB,CAAC,GAAG,UAAU,CAAC,EACpC,UAAmB,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,EAC/C,YAAoB,iBAAiB,EAAE;IAQvC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC;QAEhC,IAAI,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,mCAAmC;gBAC5C,WAAW,EAAE,SAAS,CAAC,WAAW;aACnC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC3B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,kFAAkF;aAC5F,CAAC;QACJ,CAAC;QAED,8DAA8D;QAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,8BAA8B,MAAM,CAAC,MAAM,gEAAgE;gBACpH,WAAW,EAAE,SAAS,CAAC,WAAW;aACnC,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAChF,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAC5B,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CACvE,CAAC;QACF,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAEjD,MAAM,OAAO,GACX,OAAO,CAAC,MAAM,GAAG,CAAC;YAChB,CAAC,CAAC,kBAAkB,SAAS,CAAC,YAAY,0DAA0D,OAAO,GAAG;YAC9G,CAAC,CAAC,wBAAwB,OAAO,yCAAyC,CAAC;QAE/E,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO;YACP,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,OAAO;SACR,CAAC;IACJ,CAAC;IAED,sDAAsD;IACtD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC;QAEhC,IAAI,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,mCAAmC;gBAC5C,UAAU,EAAE,SAAS,CAAC,UAAU;aACjC,CAAC;QACJ,CAAC;QAED,4CAA4C;QAC5C,MAAM,UAAU,GAAG,wBAAwB,EAAE,CAAC;QAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EACL,yIAAyI;aAC5I,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,iDAAiD,UAAU,yBAAyB;YAC7F,UAAU;SACX,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC;IAChC,IAAI,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAChC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,mCAAmC;SAC7C,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,OAAO,EACL,mGAAmG;KACtG,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAC1C,KAAe,EACf,OAAe,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE;IAEhE,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,aAAa;YAChB,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACpC,KAAK,WAAW;YACd,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;QAC/B,KAAK,SAAS;YACZ,OAAO,iBAAiB,EAAE,CAAC;QAC7B,KAAK,UAAU;YACb,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAClC,KAAK,YAAY,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,MAAM;YACT,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACnD,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,IAAY;IAKxC,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QACjE,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAGjE,CAAC;YACF,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAA4B,CAAC;YAC5D,MAAM,QAAQ,GAAG,GAAG,CAAC,yBAAyB,CAAC;YAC/C,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACL,YAAY,EAAE,IAAI;oBAClB,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;iBACnD,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB,CAAC,OAAe;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,gBAAgB,GAAG,OAAO,KAAK,WAAW,CAAC;YAC3C,SAAS;QACX,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACrB,uEAAuE;YACvE,kEAAkE;YAClE,MAAM,KAAK,GAAG,wCAAwC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrE,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC;oBACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAW,CAAC;gBACxC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,IAAY;IAKnC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC5D,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,wBAAwB,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YACjF,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,OAAO;oBACL,YAAY,EAAE,IAAI;oBAClB,KAAK,EAAE,SAAS;oBAChB,QAAQ,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;iBACpD,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB;IACxB,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,IAAY;IAKtC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QAC3E,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAA4B,CAAC;YAC3F,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACxF,CAAC;QACH,CAAC;QACD,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAe;IACxD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACtF,IAAI,cAAc,KAAK,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC;IAC1C,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAEhC,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,WAAW,CAAC,CAAC;IAC3E,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,MAAM;YACnC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;gBACnB,KAAK,GAAG,KAAK,CAAC;gBACd,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,KAAK;YAAE,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,KAAK,CAAC,GAAG,EAAE,CAAC;IAC9E,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,YAAY,CACnB,KAAyB,EACzB,MAA4B,EAC5B,OAAe;IAEf,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAyB,EACzB,OAAe,EACf,MAAe;IAEf,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,IAAI,kBAAkB,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,QAAiC,CAAC;IACtC,IAAI,CAAC;QACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAA4B,CAAC;IACzF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,IAAI,0CAA0C,CAAC,CAAC;IACjG,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAA4B,CAAC;IAC5D,MAAM,GAAG,GAAG,2BAA2B,CAAC;IACxC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,iCAAiC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,YAAY,CACjB,KAAK,EACL,SAAS,EACT,GAAG,KAAK,CAAC,IAAI,iFAAiF,CAC/F,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GACZ,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,+BAA+B,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC;IAChG,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;;QAClC,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IACzB,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC;IAEvD,IAAI,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC,MAAM;YAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,KAAK,CAAC,IAAI,wBAAwB,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,CAAC,MAAM;QAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,OAAO,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAyB,EACzB,OAAe,EACf,MAAe;IAEf,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,IAAI,kBAAkB,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,iCAAiC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,YAAY,CACjB,KAAK,EACL,SAAS,EACT,GAAG,KAAK,CAAC,IAAI,4EAA4E,CAC1F,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5C,IAAI,CAAC,MAAM;YAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,KAAK,CAAC,IAAI,wBAAwB,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,MAAM;QAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpE,OAAO,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAyB,EACzB,OAAe,EACf,MAAe;IAEf,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,IAAI,kBAAkB,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAA4B,CAAC;IACvF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,IAAI,0CAA0C,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,CAAU,EAAE,CAAC;QACrD,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,SAAS;QACxC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC;YAC5B,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC;QACnF,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;;YACrC,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QAC5B,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,iCAAiC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;QACxB,OAAO,YAAY,CACjB,KAAK,EACL,SAAS,EACT,GAAG,KAAK,CAAC,IAAI,0EAA0E,CACxF,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,MAAM;YAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,OAAO,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,KAAK,CAAC,IAAI,wBAAwB,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,MAAM;QAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACtF,OAAO,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAyB,EACzB,OAAe,EACf,MAAe;IAEf,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;QACpB,KAAK,aAAa;YAChB,OAAO,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACvD,KAAK,WAAW;YACd,OAAO,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACtD,KAAK,UAAU;YACb,OAAO,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACzD;YACE,OAAO,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,KAAK,qBAAqB,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,YAAoB,iBAAiB,EAAE,EACvC,SAAkB,KAAK;IAEvB,MAAM,KAAK,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAyB,EAAE,CAAC;IAC3C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,MAAM;QAAE,OAAO,OAAO,CAAC;IAC3B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;;QACrD,kBAAkB,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;IACrE,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shell-fix state manifest (FEAT-06).
|
|
3
|
+
*
|
|
4
|
+
* The Tier 0 Windows fix (`detector.ts`) writes per-agent config keys into
|
|
5
|
+
* files agentenv does not own. To make that reversible, every write records
|
|
6
|
+
* the file, whether agentenv created it, and the prior value of each key it
|
|
7
|
+
* set. `agentenv shell-fix --revert` reads this manifest to put things back.
|
|
8
|
+
*
|
|
9
|
+
* Stored under the user config dir (`shellFixStatePath`) so it is per-user,
|
|
10
|
+
* not per-project, matching where the Tier 0 fix itself writes.
|
|
11
|
+
*/
|
|
12
|
+
import type { AgentKey } from '../config/schema.js';
|
|
13
|
+
/** One key agentenv set, with the value found before it wrote (`null` = absent). */
|
|
14
|
+
export interface ShellFixField {
|
|
15
|
+
/** Dotted location within the file, e.g. `env.CLAUDE_CODE_GIT_BASH_PATH`, `[windows].shell_path`, `shell`. */
|
|
16
|
+
key: string;
|
|
17
|
+
previous: string | null;
|
|
18
|
+
}
|
|
19
|
+
export interface ShellFixStateEntry {
|
|
20
|
+
agent: AgentKey;
|
|
21
|
+
file: string;
|
|
22
|
+
/** True when agentenv created the whole file (revert may delete it). */
|
|
23
|
+
createdFile: boolean;
|
|
24
|
+
fields: ShellFixField[];
|
|
25
|
+
}
|
|
26
|
+
export interface ShellFixState {
|
|
27
|
+
version: 1;
|
|
28
|
+
bashExe: string;
|
|
29
|
+
recordedAt: string;
|
|
30
|
+
entries: ShellFixStateEntry[];
|
|
31
|
+
}
|
|
32
|
+
export declare function shellFixStatePath(): string;
|
|
33
|
+
export declare function readShellFixState(statePath?: string): ShellFixState | null;
|
|
34
|
+
export declare function writeShellFixState(state: ShellFixState, statePath?: string): void;
|
|
35
|
+
export declare function clearShellFixState(statePath?: string): void;
|
|
36
|
+
/**
|
|
37
|
+
* Merge freshly recorded entries into an existing manifest. For a file already
|
|
38
|
+
* recorded, the original prior values win, so revert restores the true
|
|
39
|
+
* pre-agentenv value even after several applies. `createdFile` stays sticky
|
|
40
|
+
* once true (if we ever created the file, a later edit must not erase that).
|
|
41
|
+
*/
|
|
42
|
+
export declare function mergeShellFixEntries(existing: ShellFixState | null, entries: ShellFixStateEntry[], bashExe: string, now?: string): ShellFixState;
|
|
43
|
+
//# sourceMappingURL=shell-fix-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-fix-state.d.ts","sourceRoot":"","sources":["../../src/shell/shell-fix-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B,8GAA8G;IAC9G,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,QAAQ,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC/B;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,iBAAiB,CAAC,SAAS,GAAE,MAA4B,GAAG,aAAa,GAAG,IAAI,CAS/F;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,SAAS,GAAE,MAA4B,GACtC,IAAI,CAGN;AAED,wBAAgB,kBAAkB,CAAC,SAAS,GAAE,MAA4B,GAAG,IAAI,CAEhF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,aAAa,GAAG,IAAI,EAC9B,OAAO,EAAE,kBAAkB,EAAE,EAC7B,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,MAAiC,GACrC,aAAa,CAwBf"}
|