kastell 1.16.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +4 -4
  3. package/README.tr.md +4 -4
  4. package/dist/commands/doctor.d.ts +1 -0
  5. package/dist/commands/doctor.d.ts.map +1 -1
  6. package/dist/commands/doctor.js +49 -7
  7. package/dist/commands/doctor.js.map +1 -1
  8. package/dist/commands/fix.d.ts +3 -0
  9. package/dist/commands/fix.d.ts.map +1 -1
  10. package/dist/commands/fix.js +71 -19
  11. package/dist/commands/fix.js.map +1 -1
  12. package/dist/commands/interactive.d.ts.map +1 -1
  13. package/dist/commands/interactive.js +325 -23
  14. package/dist/commands/interactive.js.map +1 -1
  15. package/dist/commands/schedule.d.ts +3 -0
  16. package/dist/commands/schedule.d.ts.map +1 -0
  17. package/dist/commands/schedule.js +96 -0
  18. package/dist/commands/schedule.js.map +1 -0
  19. package/dist/core/audit/checks/kernel.js +4 -4
  20. package/dist/core/audit/checks/kernel.js.map +1 -1
  21. package/dist/core/audit/checks/network.js +4 -4
  22. package/dist/core/audit/checks/network.js.map +1 -1
  23. package/dist/core/audit/checks/nginx.d.ts.map +1 -1
  24. package/dist/core/audit/checks/nginx.js +62 -14
  25. package/dist/core/audit/checks/nginx.js.map +1 -1
  26. package/dist/core/audit/checks/updates.js +1 -1
  27. package/dist/core/audit/checks/updates.js.map +1 -1
  28. package/dist/core/audit/commands.d.ts.map +1 -1
  29. package/dist/core/audit/commands.js +6 -0
  30. package/dist/core/audit/commands.js.map +1 -1
  31. package/dist/core/audit/compliance/mapper.d.ts.map +1 -1
  32. package/dist/core/audit/compliance/mapper.js +6 -0
  33. package/dist/core/audit/compliance/mapper.js.map +1 -1
  34. package/dist/core/audit/fix-history.d.ts +16 -0
  35. package/dist/core/audit/fix-history.d.ts.map +1 -1
  36. package/dist/core/audit/fix-history.js +53 -1
  37. package/dist/core/audit/fix-history.js.map +1 -1
  38. package/dist/core/audit/fix.d.ts +2 -0
  39. package/dist/core/audit/fix.d.ts.map +1 -1
  40. package/dist/core/audit/fix.js +21 -2
  41. package/dist/core/audit/fix.js.map +1 -1
  42. package/dist/core/audit/formatters/shared.d.ts +3 -0
  43. package/dist/core/audit/formatters/shared.d.ts.map +1 -1
  44. package/dist/core/audit/formatters/shared.js +8 -0
  45. package/dist/core/audit/formatters/shared.js.map +1 -1
  46. package/dist/core/audit/handlers/aptUpgrade.d.ts +9 -0
  47. package/dist/core/audit/handlers/aptUpgrade.d.ts.map +1 -0
  48. package/dist/core/audit/handlers/aptUpgrade.js +25 -0
  49. package/dist/core/audit/handlers/aptUpgrade.js.map +1 -0
  50. package/dist/core/audit/handlers/fileWrite.d.ts +8 -0
  51. package/dist/core/audit/handlers/fileWrite.d.ts.map +1 -0
  52. package/dist/core/audit/handlers/fileWrite.js +56 -0
  53. package/dist/core/audit/handlers/fileWrite.js.map +1 -0
  54. package/dist/core/audit/handlers/index.d.ts +3 -3
  55. package/dist/core/audit/handlers/index.d.ts.map +1 -1
  56. package/dist/core/audit/handlers/index.js +9 -1
  57. package/dist/core/audit/handlers/index.js.map +1 -1
  58. package/dist/core/audit/handlers/sedReplace.d.ts +9 -0
  59. package/dist/core/audit/handlers/sedReplace.d.ts.map +1 -0
  60. package/dist/core/audit/handlers/sedReplace.js +72 -0
  61. package/dist/core/audit/handlers/sedReplace.js.map +1 -0
  62. package/dist/core/audit/handlers/sysctl.d.ts +2 -0
  63. package/dist/core/audit/handlers/sysctl.d.ts.map +1 -1
  64. package/dist/core/audit/handlers/sysctl.js +36 -7
  65. package/dist/core/audit/handlers/sysctl.js.map +1 -1
  66. package/dist/core/audit/handlers/systemctl.d.ts +8 -0
  67. package/dist/core/audit/handlers/systemctl.d.ts.map +1 -0
  68. package/dist/core/audit/handlers/systemctl.js +37 -0
  69. package/dist/core/audit/handlers/systemctl.js.map +1 -0
  70. package/dist/core/audit/profiles.d.ts +14 -5
  71. package/dist/core/audit/profiles.d.ts.map +1 -1
  72. package/dist/core/audit/profiles.js +46 -6
  73. package/dist/core/audit/profiles.js.map +1 -1
  74. package/dist/core/auth.js +2 -2
  75. package/dist/core/auth.js.map +1 -1
  76. package/dist/core/doctor-fix.d.ts +4 -3
  77. package/dist/core/doctor-fix.d.ts.map +1 -1
  78. package/dist/core/doctor-fix.js +11 -18
  79. package/dist/core/doctor-fix.js.map +1 -1
  80. package/dist/core/doctor.d.ts.map +1 -1
  81. package/dist/core/doctor.js +1 -2
  82. package/dist/core/doctor.js.map +1 -1
  83. package/dist/core/notifyStore.d.ts.map +1 -1
  84. package/dist/core/notifyStore.js +22 -20
  85. package/dist/core/notifyStore.js.map +1 -1
  86. package/dist/core/scheduleManager.d.ts +33 -0
  87. package/dist/core/scheduleManager.d.ts.map +1 -0
  88. package/dist/core/scheduleManager.js +140 -0
  89. package/dist/core/scheduleManager.js.map +1 -0
  90. package/dist/index.js +6 -0
  91. package/dist/index.js.map +1 -1
  92. package/dist/mcp/index.js +6 -1
  93. package/dist/mcp/index.js.map +1 -1
  94. package/dist/mcp/tools/serverAudit.d.ts +1 -1
  95. package/dist/mcp/tools/serverDoctor.d.ts +7 -1
  96. package/dist/mcp/tools/serverDoctor.d.ts.map +1 -1
  97. package/dist/mcp/tools/serverDoctor.js +35 -0
  98. package/dist/mcp/tools/serverDoctor.js.map +1 -1
  99. package/dist/mcp/tools/serverFix.d.ts +6 -8
  100. package/dist/mcp/tools/serverFix.d.ts.map +1 -1
  101. package/dist/mcp/tools/serverFix.js +64 -11
  102. package/dist/mcp/tools/serverFix.js.map +1 -1
  103. package/dist/mcp/tools/serverGuard.d.ts.map +1 -1
  104. package/dist/mcp/tools/serverGuard.js +5 -0
  105. package/dist/mcp/tools/serverGuard.js.map +1 -1
  106. package/dist/mcp/tools/serverInfo.d.ts +1 -1
  107. package/dist/mcp/tools/serverLock.d.ts.map +1 -1
  108. package/dist/mcp/tools/serverLock.js +5 -0
  109. package/dist/mcp/tools/serverLock.js.map +1 -1
  110. package/dist/mcp/tools/serverManage.d.ts +1 -1
  111. package/dist/mcp/tools/serverSecure.d.ts.map +1 -1
  112. package/dist/mcp/tools/serverSecure.js +7 -0
  113. package/dist/mcp/tools/serverSecure.js.map +1 -1
  114. package/dist/utils/config.d.ts +2 -1
  115. package/dist/utils/config.d.ts.map +1 -1
  116. package/dist/utils/config.js +16 -11
  117. package/dist/utils/config.js.map +1 -1
  118. package/dist/utils/defaults.d.ts +2 -1
  119. package/dist/utils/defaults.d.ts.map +1 -1
  120. package/dist/utils/defaults.js +6 -9
  121. package/dist/utils/defaults.js.map +1 -1
  122. package/dist/utils/encryption.d.ts.map +1 -1
  123. package/dist/utils/encryption.js +2 -2
  124. package/dist/utils/encryption.js.map +1 -1
  125. package/dist/utils/paths.d.ts +3 -0
  126. package/dist/utils/paths.d.ts.map +1 -0
  127. package/dist/utils/paths.js +5 -0
  128. package/dist/utils/paths.js.map +1 -0
  129. package/dist/utils/ssh.d.ts +12 -0
  130. package/dist/utils/ssh.d.ts.map +1 -1
  131. package/dist/utils/ssh.js +98 -1
  132. package/dist/utils/ssh.js.map +1 -1
  133. package/dist/utils/updateCheck.d.ts.map +1 -1
  134. package/dist/utils/updateCheck.js +4 -10
  135. package/dist/utils/updateCheck.js.map +1 -1
  136. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,38 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [1.17.0] - 2026-04-01
6
+
7
+ ### Added
8
+ - **Bulk rollback** — `kastell fix --rollback-all` and `--rollback-to <fix-id>` for batch fix reversal
9
+ - **Doctor auto-fix** — `kastell doctor --auto-fix` diagnose-then-fix pipeline with `--dry-run` and `--force` options
10
+ - **Fix scheduling** — `kastell schedule fix|audit` installs local cron for automated fix/audit runs with `list` and `remove` management
11
+ - **Fix engine DRY refactor** — shared bulk rollback helpers, sed-replace and aptUpgrade programmatic handlers
12
+ - **Custom fix profiles** — user-defined profiles loaded from `~/.kastell/profiles/` alongside built-in web-server/database/mail-server
13
+ - **SSH ControlMaster** — connection multiplexing for fix engine prevents sshd MaxStartups exhaustion during bulk operations
14
+ - **Interactive menu full CLI parity** — schedule category, audit extras (snapshot/trend/watch/host/threshold/report/compare), fix extras (category/diff/report/rollback-to), doctor/lock/evidence/maintain/backup/status/snapshot/fleet options, shared validators
15
+ - **WAF bot detection checks** — NGX-WAF-BOT-DETECT and NGX-WAF-CHALLENGE-MODE audit checks for nginx bot mitigation
16
+ - **`--no-interactive` flag** — `kastell fix --no-interactive` for scheduled/automated runs without confirmation prompts
17
+
18
+ ### Fixed
19
+ - **SSH lockout prevention** — NET-HOSTS-DENY moved to GUARDED tier, prevents TCP wrapper lockout via `/etc/hosts.deny`
20
+ - **Sysctl SSH breakage** — all sysctl fixes promoted to GUARDED tier, network sysctl SSH probe with automatic rollback (D-20)
21
+ - **Session-terminating commands** — reboot/shutdown/poweroff/halt promoted to GUARDED tier (D-22)
22
+ - **SSH ControlMaster Windows** — Unix-style `/tmp` socket path, stale socket cleanup, fork detection fix
23
+ - **MCP SAFE_MODE guards** — `serverLock`, `serverGuard`, `serverSecure` now enforce `isSafeMode()` for destructive operations
24
+ - **Fix backup directory** — rollback remote backup path resolution bug fixed (BUG-01)
25
+ - **fileWrite + systemctl handlers** — shell metachar bypass prevention for programmatic fix handlers
26
+
27
+ ### Changed
28
+ - **TOCTOU elimination** — replaced `existsSync` checks with direct operation + ENOENT handling across fix engine and core modules
29
+ - **KASTELL_DIR consolidation** — unified `CONFIG_DIR` imports to `KASTELL_DIR` from `paths.ts`, eliminated deprecated re-exports
30
+ - **severityChalk utility** — centralized severity-to-chalk color mapping, replaces inline switch statements
31
+ - **9,871 tests** across 219 suites (up from 9,611 / 215 in v1.16)
32
+
33
+ ### Security
34
+ - **Tier promotion system** — dangerous fixes (sysctl, hosts.deny, reboot) automatically promoted from SAFE to GUARDED, requiring explicit `--guarded` flag
35
+ - **MCP fail-closed SAFE_MODE** — MCP server defaults to safe mode, blocking destructive operations unless explicitly disabled
36
+
5
37
  ## [1.16.0] - 2026-03-29
6
38
 
7
39
  ### Added
package/README.md CHANGED
@@ -45,7 +45,7 @@ Running `kastell` without any arguments launches an **interactive search menu**
45
45
  ██║ ██╗ ██║ ██║ ███████║ ██║ ███████╗███████╗███████╗
46
46
  ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═╝ ╚══════╝╚══════╝╚══════╝
47
47
 
48
- KASTELL v1.16.0 · Your infrastructure, fortified.
48
+ KASTELL v1.17.0 · Your infrastructure, fortified.
49
49
 
50
50
  $ kastell init --template production → deploy a new server
51
51
  $ kastell status --all → check all servers
@@ -169,7 +169,7 @@ kastell domain add my-server --domain example.com # Set domain + SSL
169
169
 
170
170
  ### Security Audit
171
171
  ```bash
172
- kastell audit my-server # Full security audit (31 categories, 457+ checks)
172
+ kastell audit my-server # Full security audit (31 categories, 468+ checks)
173
173
  kastell audit my-server --json # JSON output for automation
174
174
  kastell audit my-server --threshold 70 # Exit code 1 if score below threshold
175
175
  kastell audit my-server --fix # Interactive fix mode (prompts per severity)
@@ -262,7 +262,7 @@ kastell init --template production --provider hetzner
262
262
 
263
263
  ## Security
264
264
 
265
- Kastell is built with security as a priority -- **9,611 tests** across 215 suites, including dedicated security test suites.
265
+ Kastell is built with security as a priority -- **9,871 tests** across 219 suites, including dedicated security test suites.
266
266
 
267
267
  - API tokens are never stored on disk -- prompted at runtime or via environment variables
268
268
  - SSH keys are auto-generated if needed (Ed25519)
@@ -305,7 +305,7 @@ Use `kastell status my-server --autostart` to check platform status and auto-res
305
305
 
306
306
  See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, testing, and contribution guidelines.
307
307
 
308
- Kastell uses **9,611 tests** across 215 suites. Run `npm test` before submitting PRs.
308
+ Kastell uses **9,871 tests** across 219 suites. Run `npm test` before submitting PRs.
309
309
 
310
310
  ## MCP Server (AI Integration)
311
311
 
package/README.tr.md CHANGED
@@ -45,7 +45,7 @@ npx kastell
45
45
  ██║ ██╗ ██║ ██║ ███████║ ██║ ███████╗███████╗███████╗
46
46
  ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═╝ ╚══════╝╚══════╝╚══════╝
47
47
 
48
- KASTELL v1.16.0 · Your infrastructure, fortified.
48
+ KASTELL v1.17.0 · Your infrastructure, fortified.
49
49
 
50
50
  $ kastell init --template production → deploy a new server
51
51
  $ kastell status --all → check all servers
@@ -169,7 +169,7 @@ kastell domain add sunucum --domain ornek.com # Domain + SSL ayarla
169
169
 
170
170
  ### Güvenlik Denetimi
171
171
  ```bash
172
- kastell audit sunucum # Tam güvenlik denetimi (31 kategori, 457+ kontrol)
172
+ kastell audit sunucum # Tam güvenlik denetimi (31 kategori, 468+ kontrol)
173
173
  kastell audit sunucum --json # Otomasyon için JSON çıktısı
174
174
  kastell audit sunucum --threshold 70 # Skor eşiğin altındaysa exit code 1
175
175
  kastell audit sunucum --fix # İnteraktif düzeltme modu (önem derecesine göre)
@@ -262,7 +262,7 @@ kastell init --template production --provider hetzner
262
262
 
263
263
  ## Güvenlik
264
264
 
265
- Kastell güvenlik öncelikli olarak geliştirilmektedir -- 215 test suite'inde **9.611 test**, özel güvenlik test suite'leri dahil.
265
+ Kastell güvenlik öncelikli olarak geliştirilmektedir -- 219 test suite'inde **9.871 test**, özel güvenlik test suite'leri dahil.
266
266
 
267
267
  - API token'ları asla diske kaydedilmez -- çalışma zamanında sorulur veya ortam değişkenlerinden alınır
268
268
  - SSH anahtarları gerekirse otomatik oluşturulur (Ed25519)
@@ -339,7 +339,7 @@ Mevcut araçlar:
339
339
  | `server_secure` | secure, firewall, domain | SSH sıkılaştırma, güvenlik duvarı kuralları, domain/SSL yönetimi (10 alt komut) |
340
340
  | `server_backup` | backup, snapshot | Veritabanı yedekle/geri yükle ve VPS snapshot oluştur/yönet |
341
341
  | `server_provision` | create | Bulut sağlayıcılarda yeni sunucu oluştur |
342
- | `server_audit` | audit | 457+ kontrollü güvenlik denetimi, uyumluluk çerçevesi filtresiyle; iyileştirme rehberi için `--explain` kullanın |
342
+ | `server_audit` | audit | 468+ kontrollü güvenlik denetimi, uyumluluk çerçevesi filtresiyle; iyileştirme rehberi için `--explain` kullanın |
343
343
  | `server_evidence` | collect | Adli kanıt paketi topla (SHA256 checksum ile) |
344
344
  | `server_guard` | start, stop, status | Otonom güvenlik izleme daemon'u yönet |
345
345
  | `server_doctor` | diagnose | Proaktif sağlık analizi ve iyileştirme komutları |
@@ -5,5 +5,6 @@ export declare function doctorCommand(server?: string, options?: {
5
5
  fix?: boolean;
6
6
  force?: boolean;
7
7
  dryRun?: boolean;
8
+ autoFix?: boolean;
8
9
  }, version?: string): Promise<void>;
9
10
  //# sourceMappingURL=doctor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AA0DA,wBAAsB,aAAa,CACjC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,EACD,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAiHf"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AA0DA,wBAAsB,aAAa,CACjC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,EACD,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAgKf"}
@@ -50,9 +50,8 @@ function displayFindings(result) {
50
50
  }
51
51
  // ─── Main command ──────────────────────────────────────────────────────────────
52
52
  export async function doctorCommand(server, options, version) {
53
- // ── Guard: --fix requires a server argument ───────────────────────────────
54
- if (options?.fix && !server) {
55
- logger.error("--fix requires a server argument");
53
+ if ((options?.fix || options?.autoFix) && !server) {
54
+ logger.error(`${options?.autoFix ? "--auto-fix" : "--fix"} requires a server argument`);
56
55
  return;
57
56
  }
58
57
  // ── Server mode ──────────────────────────────────────────────────────────────
@@ -60,9 +59,9 @@ export async function doctorCommand(server, options, version) {
60
59
  const resolved = await resolveServer(server, "Select a server for doctor analysis:");
61
60
  if (!resolved)
62
61
  return;
63
- // --fix forces --fresh to get current server state before fixing
64
- const useFresh = options?.fix ? true : options?.fresh;
65
- if (options?.fix) {
62
+ // --fix / --auto-fix forces --fresh to get current server state before fixing
63
+ const useFresh = options?.fix || options?.autoFix ? true : options?.fresh;
64
+ if (options?.fix || options?.autoFix) {
66
65
  logger.info("Running with --fresh to get current server state before fixing.");
67
66
  }
68
67
  const spinner = createSpinner(`Running doctor analysis on ${resolved.name}...`);
@@ -78,11 +77,54 @@ export async function doctorCommand(server, options, version) {
78
77
  }
79
78
  return;
80
79
  }
81
- if (!result.success) {
80
+ if (!result.success || !result.data) {
82
81
  logger.error(result.error ?? "Doctor analysis failed");
83
82
  return;
84
83
  }
85
84
  displayFindings(result.data);
85
+ if (options?.autoFix) {
86
+ const findings = result.data.findings;
87
+ const fixable = findings.filter((f) => f.fixCommand);
88
+ const manualCount = findings.length - fixable.length;
89
+ if (fixable.length === 0) {
90
+ logger.info("No auto-fixable findings detected.");
91
+ return;
92
+ }
93
+ if (options.dryRun) {
94
+ console.log();
95
+ logger.title("Auto-Fix Preview (--dry-run -- no SSH will be executed)");
96
+ for (const f of fixable) {
97
+ logger.step(`[${f.severity.toUpperCase()}] ${f.description}`);
98
+ logger.info(` Handler: ${f.fixCommand}`);
99
+ }
100
+ if (manualCount > 0) {
101
+ console.log();
102
+ logger.info(`${manualCount} finding(s) require manual remediation`);
103
+ }
104
+ return;
105
+ }
106
+ const fixResult = await runDoctorFix(resolved.ip, findings, {
107
+ dryRun: false,
108
+ force: options.force ?? false,
109
+ });
110
+ // Finding count delta summary (per D-03)
111
+ console.log();
112
+ logger.title("Auto-Fix Summary");
113
+ logger.info(`Findings: ${findings.length} total (${fixable.length} auto-fixable, ${manualCount} manual)`);
114
+ if (fixResult.applied.length > 0) {
115
+ logger.success(`Applied: ${fixResult.applied.length}`);
116
+ }
117
+ if (fixResult.skipped.length > 0) {
118
+ logger.info(`Skipped: ${fixResult.skipped.length}`);
119
+ }
120
+ if (fixResult.failed.length > 0) {
121
+ logger.error(`Failed: ${fixResult.failed.length}`);
122
+ for (const entry of fixResult.failed) {
123
+ logger.error(` ${entry}`);
124
+ }
125
+ }
126
+ return;
127
+ }
86
128
  if (!options?.fix) {
87
129
  return;
88
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,14 @@ export declare function fixSafeCommand(query: string | undefined, options: {
10
10
  dryRun?: boolean;
11
11
  category?: string;
12
12
  rollback?: string;
13
+ rollbackAll?: boolean;
14
+ rollbackTo?: string;
13
15
  history?: boolean;
14
16
  top?: string;
15
17
  target?: string;
16
18
  profile?: string;
17
19
  diff?: boolean;
18
20
  report?: boolean;
21
+ interactive?: boolean;
19
22
  }): Promise<void>;
20
23
  //# sourceMappingURL=fix.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"AAiCA;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE;IACP,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACA,OAAO,CAAC,IAAI,CAAC,CAycf"}
1
+ {"version":3,"file":"fix.d.ts","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"AAoCA;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,OAAO,EAAE;IACP,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GACA,OAAO,CAAC,IAAI,CAAC,CA8df"}
@@ -1,6 +1,7 @@
1
1
  import chalk from "chalk";
2
2
  import inquirer from "inquirer";
3
3
  import { resolveServer } from "../utils/serverSelect.js";
4
+ import { severityChalk } from "../core/audit/formatters/shared.js";
4
5
  import { checkSshAvailable, sshExec } from "../utils/ssh.js";
5
6
  import { raw } from "../utils/sshCommand.js";
6
7
  import { logger, createSpinner } from "../utils/logger.js";
@@ -8,11 +9,11 @@ import { runAudit } from "../core/audit/index.js";
8
9
  import { previewSafeFixes, runScoreCheck, isFixCommandAllowed, sortChecksByImpact, selectChecksForTop, selectChecksForTarget, fixCommandsFromChecks, } from "../core/audit/fix.js";
9
10
  import { tryHandlerDispatch } from "../core/audit/handlers/index.js";
10
11
  import { buildImpactContext } from "../core/audit/scoring.js";
11
- import { filterChecksByProfile, isValidProfile } from "../core/audit/profiles.js";
12
+ import { filterChecksByProfile, isValidProfile, listAllProfileNames } from "../core/audit/profiles.js";
12
13
  import { writeFixReport } from "../utils/fixReport.js";
13
14
  import { backupServer } from "../core/backup.js";
14
15
  import { getErrorMessage } from "../utils/errorMapper.js";
15
- import { loadFixHistory, saveFixHistory, saveRollbackEntry, generateFixId, backupFilesBeforeFix, rollbackFix, backupRemoteCleanup, } from "../core/audit/fix-history.js";
16
+ import { loadFixHistory, saveFixHistory, saveRollbackEntry, generateFixId, backupFilesBeforeFix, rollbackFix, backupRemoteCleanup, rollbackAllFixes, rollbackToFix, } from "../core/audit/fix-history.js";
16
17
  /**
17
18
  * `kastell fix --safe` command.
18
19
  * Applies only SAFE tier fixes with mandatory backup-first execution.
@@ -40,6 +41,12 @@ export async function fixSafeCommand(query, options) {
40
41
  logger.error("--report requires --safe. Run: kastell fix --safe --report --server <server>");
41
42
  return;
42
43
  }
44
+ // ── Rollback mutual exclusion (FIX-01, FIX-02) ───────────────────────────
45
+ const rollbackFlags = [options.rollback, options.rollbackAll, options.rollbackTo].filter(Boolean).length;
46
+ if (rollbackFlags > 1) {
47
+ logger.error("--rollback, --rollback-all, and --rollback-to are mutually exclusive. Use one.");
48
+ return;
49
+ }
43
50
  // ── History display (FIXPRO-02) ──────────────────────────────────────────
44
51
  if (options.history) {
45
52
  const server = await resolveServer(query, "Select a server:");
@@ -125,12 +132,24 @@ export async function fixSafeCommand(query, options) {
125
132
  await saveRollbackEntry(entry, scoreAfter);
126
133
  return;
127
134
  }
135
+ // ── Rollback-All (FIX-01) ────────────────────────────────────────────────
136
+ if (options.rollbackAll) {
137
+ await executeBulkRollback(query, "Rolling back all fixes...", (ip) => rollbackAllFixes(ip));
138
+ return;
139
+ }
140
+ // ── Rollback-To (FIX-02) ─────────────────────────────────────────────────
141
+ if (options.rollbackTo) {
142
+ await executeBulkRollback(query, `Rolling back to ${options.rollbackTo}...`, (ip) => rollbackToFix(ip, options.rollbackTo));
143
+ return;
144
+ }
128
145
  // Gate check (D-06): --safe flag is required
129
146
  if (!options.safe) {
130
147
  logger.info("Usage: kastell fix --safe --server <name>");
131
148
  logger.info(" --safe Apply only SAFE tier fixes (no service restarts)");
132
149
  logger.info(" --dry-run Preview fixes without applying");
133
150
  logger.info(" --rollback <id> Rollback a fix by ID (or 'last')");
151
+ logger.info(" --rollback-all Rollback all applied fixes for server");
152
+ logger.info(" --rollback-to <id> Rollback all fixes from newest down to given fix ID");
134
153
  logger.info(" --history Show fix history for server");
135
154
  logger.info(" --top <n> Apply top N highest-impact SAFE fixes");
136
155
  logger.info(" --target <score> Apply SAFE fixes until score reaches target");
@@ -168,7 +187,7 @@ export async function fixSafeCommand(query, options) {
168
187
  let profileFilteredChecks = allSafeChecks;
169
188
  if (options.profile !== undefined) {
170
189
  if (!isValidProfile(options.profile)) {
171
- logger.error(`Unknown profile: ${options.profile}. Valid profiles: web-server, database, mail-server`);
190
+ logger.error(`Unknown profile: "${options.profile}". Available: ${listAllProfileNames().join(", ")}`);
172
191
  return;
173
192
  }
174
193
  profileFilteredChecks = filterChecksByProfile(allSafeChecks, options.profile);
@@ -220,11 +239,7 @@ export async function fixSafeCommand(query, options) {
220
239
  logger.info(` SAFE fixes to apply: ${safeCount} checks (+${totalEstimatedImpact.toFixed(1)} pts estimated)`);
221
240
  logger.info(" ──────────────────────────────────────────────");
222
241
  for (const check of selectedChecks) {
223
- const severityColor = check.severity === "critical"
224
- ? chalk.red
225
- : check.severity === "warning"
226
- ? chalk.yellow
227
- : chalk.blue;
242
+ const severityColor = severityChalk(check.severity);
228
243
  logger.info(` ${severityColor(`[${check.severity}]`.padEnd(12))} ${check.id.padEnd(22)} ${check.category} / ${check.name}`);
229
244
  }
230
245
  logger.info("");
@@ -239,17 +254,19 @@ export async function fixSafeCommand(query, options) {
239
254
  if (options.dryRun) {
240
255
  return;
241
256
  }
242
- // Confirm with user
243
- const { confirm } = await inquirer.prompt([
244
- {
245
- type: "confirm",
246
- name: "confirm",
247
- message: `Apply ${safeCount} SAFE fix(es)? (backup will be created first)`,
248
- default: false,
249
- },
250
- ]);
251
- if (!confirm)
252
- return;
257
+ // Confirm with user (skip in non-interactive mode for scheduled/automated runs)
258
+ if (options.interactive !== false) {
259
+ const { confirm } = await inquirer.prompt([
260
+ {
261
+ type: "confirm",
262
+ name: "confirm",
263
+ message: `Apply ${safeCount} SAFE fix(es)? (backup will be created first)`,
264
+ default: false,
265
+ },
266
+ ]);
267
+ if (!confirm)
268
+ return;
269
+ }
253
270
  // Backup (FIX-03, D-07 hard abort)
254
271
  const backupSpinner = createSpinner("Creating backup...");
255
272
  backupSpinner.start();
@@ -389,4 +406,39 @@ export async function fixSafeCommand(query, options) {
389
406
  // Prune old backups (retention policy)
390
407
  await backupRemoteCleanup(ip);
391
408
  }
409
+ /** Shared scaffold for --rollback-all and --rollback-to CLI handlers. */
410
+ async function executeBulkRollback(query, spinnerLabel, coreFn) {
411
+ const server = await resolveServer(query, "Select a server to rollback:");
412
+ if (!server)
413
+ return;
414
+ const { ip, name } = server;
415
+ const platform = server.platform ?? server.mode ?? "bare";
416
+ if (!checkSshAvailable()) {
417
+ logger.error("SSH client not found. Please install OpenSSH.");
418
+ return;
419
+ }
420
+ const rollbackSpinner = createSpinner(spinnerLabel);
421
+ rollbackSpinner.start();
422
+ const { rolledBack, errors: rbErrors } = await coreFn(ip);
423
+ rollbackSpinner.stop();
424
+ if (rolledBack.length === 0 && rbErrors.length === 0) {
425
+ logger.info("No applied fixes found — nothing to roll back.");
426
+ return;
427
+ }
428
+ if (rolledBack.length > 0) {
429
+ logger.success(`Rolled back: ${rolledBack.join(", ")}`);
430
+ }
431
+ if (rbErrors.length > 0) {
432
+ logger.error(`Errors: ${rbErrors.join("; ")}`);
433
+ }
434
+ if (rolledBack.length > 0) {
435
+ const scoreSpinner = createSpinner("Verifying score...");
436
+ scoreSpinner.start();
437
+ const auditRes = await runAudit(ip, name, platform);
438
+ scoreSpinner.stop();
439
+ if (auditRes.success && auditRes.data) {
440
+ logger.info(`Score after rollback: ${auditRes.data.overallScore}`);
441
+ }
442
+ }
443
+ }
392
444
  //# sourceMappingURL=fix.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fix.js","sourceRoot":"","sources":["../../src/commands/fix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAsB,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACvG,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,GACd,MAAM,8BAA8B,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,KAAyB,EACzB,OAcC;IAED,8EAA8E;IAC9E,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9D,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACjF,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IACD,uCAAuC;IACvC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,uFAAuF,CAAC,CAAC;QACtG,OAAO;IACT,CAAC;IACD,sCAAsC;IACtC,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;QAC7F,OAAO;IACT,CAAC;IACD,4EAA4E;IAC5E,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACzG,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAC/F,OAAO;IACT,CAAC;IACD,4EAA4E;IAC5E,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CACT,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAC/F,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GACT,KAAK,CAAC,UAAU,KAAK,IAAI;gBACvB,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,UAAU,EAAE;gBAC5C,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,IAAI,CAAC;YAC/B,MAAM,WAAW,GACf,KAAK,CAAC,MAAM,KAAK,SAAS;gBACxB,CAAC,CAAC,KAAK,CAAC,KAAK;gBACb,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa;oBAC9B,CAAC,CAAC,KAAK,CAAC,MAAM;oBACd,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;YAClB,MAAM,CAAC,IAAI,CACT,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CACnK,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IAED,2EAA2E;IAC3E,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;QAE1D,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;QAEnC,IAAI,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC7B,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YACD,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAC/E,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,WAAW;QACX,MAAM,eAAe,GAAG,aAAa,CAAC,gBAAgB,KAAK,KAAK,CAAC,CAAC;QAClE,eAAe,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,WAAW,CAC5D,EAAE,EACF,KAAK,CAAC,UAAU,CACjB,CAAC;QACF,eAAe,CAAC,IAAI,EAAE,CAAC;QAEvB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,OAAO,CAAC,aAAa,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,WAAW,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,sDAAsD;QACtD,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;YACzD,YAAY,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACpD,YAAY,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtC,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;gBACxC,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;gBACnE,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CACT,UAAU,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,WAAW,MAAM,UAAU,KAAK,IAAI,GAAG,KAAK,GAAG,CACpF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAE3C,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,mBAAmB,CAAC,KAAK,EAAE,2BAA2B,EAAE,CAAC,EAAE,EAAE,EAAE,CACnE,gBAAgB,CAAC,EAAE,CAAC,CACrB,CAAC;QACF,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,OAAO,CAAC,UAAU,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAClF,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,UAAW,CAAC,CACvC,CAAC;QACF,OAAO;IACT,CAAC;IAED,6CAA6C;IAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CACT,wEAAwE,CACzE,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QACpE,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACtE,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;QACzF,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QACjF,MAAM,CAAC,IAAI,CACT,qEAAqE,CACtE,CAAC;QACF,OAAO;IACT,CAAC;IAED,4BAA4B;IAC5B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;IAE1D,uBAAuB;IACvB,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,iCAAiC;IACjC,MAAM,YAAY,GAAG,aAAa,CAAC,2BAA2B,CAAC,CAAC;IAChE,YAAY,CAAC,KAAK,EAAE,CAAC;IACrB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClD,YAAY,CAAC,IAAI,EAAE,CAAC;IAEpB,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,CAAC,KAAK,CACV,iBAAiB,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,CACnD,CAAC;QACF,IAAI,MAAM,CAAC,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;IAEhC,oBAAoB;IACpB,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,GAC1D,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAEhC,8EAA8E;IAC9E,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAE/D,wEAAwE;IACxE,IAAI,qBAAqB,GAAG,aAAa,CAAC;IAC1C,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,qBAAqB,OAAO,CAAC,OAAO,iBAAiB,mBAAmB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtG,OAAO;QACT,CAAC;QACD,qBAAqB,GAAG,qBAAqB,CAAC,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9E,MAAM,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,OAAO,MAAM,qBAAqB,CAAC,MAAM,qCAAqC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACzI,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,kBAAkB,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;IAE1E,IAAI,cAAgC,CAAC;IACrC,IAAI,YAAgC,CAAC;IAErC,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QACD,cAAc,GAAG,kBAAkB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACxC,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,GAAG,GAAG,EAAE,CAAC;YAClE,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QACD,IAAI,WAAW,CAAC,YAAY,IAAI,YAAY,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CACT,eAAe,WAAW,CAAC,YAAY,WAAW,YAAY,kBAAkB,CACjF,CAAC;YACF,OAAO;QACT,CAAC;QACD,cAAc,GAAG,qBAAqB,CAAC,YAAY,EAAE,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC/F,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,YAAY,CAAC;IAChC,CAAC;IAED,2BAA2B;IAC3B,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC;IACxC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC7C,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CACT,KAAK,YAAY,0DAA0D,CAC5E,CAAC;QACJ,CAAC;QACD,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CACT,KAAK,cAAc,wDAAwD,CAC5E,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IAED,uDAAuD;IACvD,MAAM,oBAAoB,GAAG,cAAc,CAAC,MAAM,CAChD,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAC1B,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACjC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,CAAC,IAAI,CACT,2BAA2B,SAAS,aAAa,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAClG,CAAC;IACF,MAAM,CAAC,IAAI,CACT,kDAAkD,CACnD,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CACT,KAAK,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,IAAI,EAAE,CAChH,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CACT,sEAAsE,YAAY,SAAS,CAC5F,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CACT,0DAA0D,cAAc,SAAS,CAClF,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IAED,gFAAgF;IAChF,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAClC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACxC;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,SAAS,SAAS,+CAA+C;gBAC1E,OAAO,EAAE,KAAK;aACf;SACF,CAAC,CAAC;QACH,IAAI,CAAC,OAAO;YAAE,OAAO;IACvB,CAAC;IAED,mCAAmC;IACnC,MAAM,aAAa,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;IAC1D,aAAa,CAAC,KAAK,EAAE,CAAC;IACtB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAC1C,aAAa,CAAC,IAAI,EAAE,CAAC;IAErB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CACV,wCAAwC,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,CAC1E,CAAC;QACF,IAAI,MAAM,CAAC,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CACT,+DAA+D,CAChE,CAAC;QACF,OAAO,CAAC,qCAAqC;IAC/C,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,oBAAoB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAExD,4DAA4D;IAC5D,MAAM,KAAK,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,WAAW,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAC1D,MAAM,mBAAmB,GAAG,aAAa,CAAC,gCAAgC,CAAC,CAAC;IAC5E,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC5B,MAAM,gBAAgB,GAAG,MAAM,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC5E,mBAAmB,CAAC,IAAI,EAAE,CAAC;IAE3B,iCAAiC;IACjC,MAAM,UAAU,GAAG,aAAa,CAAC,wBAAwB,CAAC,CAAC;IAC3D,UAAU,CAAC,KAAK,EAAE,CAAC;IACnB,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,cAAc,GAAoB,EAAE,CAAC;IAE3C,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,2CAA2C;YAC3C,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC5D,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,wBAAwB,CAAC,CAAC;oBACjD,SAAS;gBACX,CAAC;YACH,CAAC;YACD,gEAAgE;YAChE,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACtE,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpH,2CAA2C;gBAC3C,IAAI,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAClC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACtF,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE,sCAAsC,CAAC,CAAC,CAAC;gBAC9E,CAAC;gBACD,SAAS;YACX,CAAC;YACD,mCAAmC;YACnC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,wBAAwB,CAAC,CAAC;gBACjD,SAAS;YACX,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YAC3D,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CACT,GAAG,KAAK,CAAC,EAAE,0BAA0B,SAAS,CAAC,IAAI,GAAG,CACvD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvB,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC/F,6DAA6D;gBAC7D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE,sCAAsC,CAAC,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,KAAK,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,UAAU,CAAC,IAAI,EAAE,CAAC;IAElB,kBAAkB;IAClB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QACpB,MAAM,CAAC,OAAO,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE/C,gCAAgC;IAChC,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;QACzD,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,YAAY,GAAG;YACnB,GAAG,IAAI,GAAG,CACR,OAAO;iBACJ,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACf,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;oBACzC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC;wBAC5C,OAAO,GAAG,CAAC,IAAI,CAAC;gBACpB,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAC/C;SACF,CAAC;QACF,QAAQ,GAAG,MAAM,aAAa,CAC5B,EAAE,EACF,QAAQ,EACR,WAAW,EACX,YAAY,CACb,CAAC;QACF,YAAY,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC;YAClD,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;YAClE,MAAM,CAAC,OAAO,CACZ,UAAU,WAAW,CAAC,YAAY,WAAW,QAAQ,KAAK,IAAI,GAAG,KAAK,gBAAgB,OAAO,CAAC,MAAM,eAAe,YAAY,cAAc,YAAY,gBAAgB,cAAc,GAAG,CAC3L,CAAC;YACF,qCAAqC;YACrC,IAAI,YAAY,KAAK,SAAS,IAAI,QAAQ,GAAG,YAAY,EAAE,CAAC;gBAC1D,MAAM,CAAC,IAAI,CACT,UAAU,YAAY,eAAe,QAAQ,4CAA4C,CAC1F,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,MAAM,cAAc,CAAC;QACnB,KAAK;QACL,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,MAAM,EAAE,OAAO;QACf,WAAW,EAAE,WAAW,CAAC,YAAY;QACrC,UAAU,EAAE,QAAQ;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;QACjD,UAAU,EAAE,gBAAgB;KAC7B,CAAC,CAAC;IAEH,wCAAwC;IACxC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,aAAa;aAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,cAAc,CAAC;YAC9B,cAAc,EAAE,OAAO,EAAE,MAAM;YAC/B,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACpB,WAAW,EAAE,WAAW,CAAC,YAAY;YACrC,UAAU,EAAE,QAAQ;YACpB,OAAO;YACP,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,uCAAuC;IACvC,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,yEAAyE;AACzE,KAAK,UAAU,mBAAmB,CAChC,KAAyB,EACzB,YAAoB,EACpB,MAA2E;IAE3E,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;IAC1E,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;IAE1D,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IACpD,eAAe,CAAC,KAAK,EAAE,CAAC;IACxB,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1D,eAAe,CAAC,IAAI,EAAE,CAAC;IAEvB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,OAAO,CAAC,gBAAgB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,WAAW,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;QACzD,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpD,YAAY,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/commands/interactive.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAkGhC,KAAK,iBAAiB,GAAG,YAAY,CAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;AACjE,KAAK,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,CAAC;AAkBxF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAsBpE;AAmkBD,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAkChE"}
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../src/commands/interactive.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAsIhC,KAAK,iBAAiB,GAAG,YAAY,CAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;AACjE,KAAK,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,CAAC;AAkBxF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAsBpE;AAw0BD,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAmChE"}