@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.
Files changed (69) hide show
  1. package/README.md +63 -354
  2. package/dist/adapters/claude.d.ts.map +1 -1
  3. package/dist/adapters/claude.js +12 -4
  4. package/dist/adapters/claude.js.map +1 -1
  5. package/dist/adapters/opencode.d.ts.map +1 -1
  6. package/dist/adapters/opencode.js +5 -8
  7. package/dist/adapters/opencode.js.map +1 -1
  8. package/dist/commands/apply.d.ts.map +1 -1
  9. package/dist/commands/apply.js +8 -3
  10. package/dist/commands/apply.js.map +1 -1
  11. package/dist/commands/completion.d.ts.map +1 -1
  12. package/dist/commands/completion.js +15 -1
  13. package/dist/commands/completion.js.map +1 -1
  14. package/dist/commands/doctor.d.ts.map +1 -1
  15. package/dist/commands/doctor.js +21 -8
  16. package/dist/commands/doctor.js.map +1 -1
  17. package/dist/commands/setup.d.ts +2 -1
  18. package/dist/commands/setup.d.ts.map +1 -1
  19. package/dist/commands/setup.js +9 -4
  20. package/dist/commands/setup.js.map +1 -1
  21. package/dist/commands/shell-fix.d.ts +29 -0
  22. package/dist/commands/shell-fix.d.ts.map +1 -0
  23. package/dist/commands/shell-fix.js +111 -0
  24. package/dist/commands/shell-fix.js.map +1 -0
  25. package/dist/commands/status.d.ts +5 -1
  26. package/dist/commands/status.d.ts.map +1 -1
  27. package/dist/commands/status.js +30 -8
  28. package/dist/commands/status.js.map +1 -1
  29. package/dist/commands/uninstall.d.ts +2 -1
  30. package/dist/commands/uninstall.d.ts.map +1 -1
  31. package/dist/commands/uninstall.js +11 -5
  32. package/dist/commands/uninstall.js.map +1 -1
  33. package/dist/commands/update.d.ts.map +1 -1
  34. package/dist/commands/update.js +11 -5
  35. package/dist/commands/update.js.map +1 -1
  36. package/dist/config/schema.d.ts.map +1 -1
  37. package/dist/config/schema.js +54 -5
  38. package/dist/config/schema.js.map +1 -1
  39. package/dist/config/scopes.d.ts +13 -0
  40. package/dist/config/scopes.d.ts.map +1 -1
  41. package/dist/config/scopes.js +15 -0
  42. package/dist/config/scopes.js.map +1 -1
  43. package/dist/generate/agentsmd.d.ts.map +1 -1
  44. package/dist/generate/agentsmd.js +15 -2
  45. package/dist/generate/agentsmd.js.map +1 -1
  46. package/dist/index.js +2 -0
  47. package/dist/index.js.map +1 -1
  48. package/dist/integrations/base.d.ts +1 -1
  49. package/dist/integrations/base.js +1 -1
  50. package/dist/shell/detector.d.ts +36 -1
  51. package/dist/shell/detector.d.ts.map +1 -1
  52. package/dist/shell/detector.js +279 -47
  53. package/dist/shell/detector.js.map +1 -1
  54. package/dist/shell/shell-fix-state.d.ts +43 -0
  55. package/dist/shell/shell-fix-state.d.ts.map +1 -0
  56. package/dist/shell/shell-fix-state.js +70 -0
  57. package/dist/shell/shell-fix-state.js.map +1 -0
  58. package/dist/toolchain/gh.d.ts +12 -3
  59. package/dist/toolchain/gh.d.ts.map +1 -1
  60. package/dist/toolchain/gh.js +23 -8
  61. package/dist/toolchain/gh.js.map +1 -1
  62. package/dist/toolchain/mise.d.ts +22 -5
  63. package/dist/toolchain/mise.d.ts.map +1 -1
  64. package/dist/toolchain/mise.js +36 -22
  65. package/dist/toolchain/mise.js.map +1 -1
  66. package/dist/toolchain/rtk.d.ts.map +1 -1
  67. package/dist/toolchain/rtk.js +1 -1
  68. package/dist/toolchain/rtk.js.map +1 -1
  69. package/package.json +1 -1
@@ -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
- try {
191
- // First, get the resolved path - this will follow shell function aliases.
192
- // Then invoke the binary directly rather than building a shell string so
193
- // paths containing spaces keep working reliably.
194
- const grepResult = child_process.spawnSync('sh', ['-c', 'command -v grep'], {
195
- encoding: 'utf-8',
196
- stdio: ['ignore', 'pipe', 'pipe'],
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
- const sedPath = sedResult.stdout.trim();
212
- // GNU sed supports --version; BSD sed does not
213
- child_process.spawnSync(sedPath, ['--version'], { stdio: 'ignore' });
214
- return true;
200
+ if (grepCheck.status === 0)
201
+ return true;
215
202
  }
216
- catch {
217
- // Ignore
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
- try {
240
- // Check if already installed
241
- child_process.spawnSync('brew', ['list', '--formula', pkg], { stdio: 'ignore' });
242
- }
243
- catch {
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
- try {
271
- // Try to find the utility
272
- child_process.spawnSync('cmd.exe', ['/c', 'where', util], { stdio: 'ignore' });
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
- catch {
275
- try {
276
- child_process.spawnSync('sh', ['-c', `which ${util}`], { stdio: 'ignore' });
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"}