@indy2kro/agentenv 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/agent-dirs.d.ts +29 -0
- package/dist/adapters/agent-dirs.d.ts.map +1 -0
- package/dist/adapters/agent-dirs.js +46 -0
- package/dist/adapters/agent-dirs.js.map +1 -0
- package/dist/adapters/base.d.ts +7 -1
- package/dist/adapters/base.d.ts.map +1 -1
- package/dist/adapters/base.js.map +1 -1
- package/dist/adapters/claude.d.ts.map +1 -1
- package/dist/adapters/claude.js +18 -10
- package/dist/adapters/claude.js.map +1 -1
- package/dist/adapters/cline.d.ts.map +1 -1
- package/dist/adapters/cline.js +2 -2
- package/dist/adapters/cline.js.map +1 -1
- package/dist/adapters/codex.d.ts.map +1 -1
- package/dist/adapters/codex.js +3 -2
- package/dist/adapters/codex.js.map +1 -1
- package/dist/adapters/copilot.d.ts.map +1 -1
- package/dist/adapters/copilot.js +3 -4
- package/dist/adapters/copilot.js.map +1 -1
- package/dist/adapters/cursor.d.ts.map +1 -1
- package/dist/adapters/cursor.js +7 -6
- package/dist/adapters/cursor.js.map +1 -1
- package/dist/adapters/detect.d.ts.map +1 -1
- package/dist/adapters/detect.js +1 -0
- package/dist/adapters/detect.js.map +1 -1
- package/dist/adapters/gemini.d.ts.map +1 -1
- package/dist/adapters/gemini.js +2 -2
- package/dist/adapters/gemini.js.map +1 -1
- package/dist/adapters/index.d.ts +4 -0
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +21 -0
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/opencode.d.ts.map +1 -1
- package/dist/adapters/opencode.js +2 -2
- package/dist/adapters/opencode.js.map +1 -1
- package/dist/adapters/rtk-delegation.d.ts.map +1 -1
- package/dist/adapters/rtk-delegation.js +16 -1
- package/dist/adapters/rtk-delegation.js.map +1 -1
- package/dist/adapters/vibe.d.ts.map +1 -1
- package/dist/adapters/vibe.js +2 -2
- package/dist/adapters/vibe.js.map +1 -1
- package/dist/adapters/windsurf.d.ts.map +1 -1
- package/dist/adapters/windsurf.js +2 -2
- package/dist/adapters/windsurf.js.map +1 -1
- package/dist/cli/exit.d.ts +17 -6
- package/dist/cli/exit.d.ts.map +1 -1
- package/dist/cli/exit.js +17 -7
- package/dist/cli/exit.js.map +1 -1
- package/dist/commands/apply.d.ts +77 -0
- package/dist/commands/apply.d.ts.map +1 -1
- package/dist/commands/apply.js +202 -27
- package/dist/commands/apply.js.map +1 -1
- package/dist/commands/config-edit.d.ts +33 -0
- package/dist/commands/config-edit.d.ts.map +1 -0
- package/dist/commands/config-edit.js +216 -0
- package/dist/commands/config-edit.js.map +1 -0
- package/dist/commands/doctor.d.ts +41 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +135 -52
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/setup.d.ts +4 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +58 -5
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +40 -16
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/uninstall.d.ts +78 -1
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +329 -31
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.d.ts +51 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +172 -71
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/wizard.d.ts +27 -1
- package/dist/commands/wizard.d.ts.map +1 -1
- package/dist/commands/wizard.js +48 -31
- package/dist/commands/wizard.js.map +1 -1
- package/dist/config/schema.d.ts +31 -3
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +224 -123
- package/dist/config/schema.js.map +1 -1
- package/dist/config/scopes.d.ts +4 -2
- package/dist/config/scopes.d.ts.map +1 -1
- package/dist/config/scopes.js +23 -4
- package/dist/config/scopes.js.map +1 -1
- package/dist/generate/agentsmd.d.ts +54 -0
- package/dist/generate/agentsmd.d.ts.map +1 -1
- package/dist/generate/agentsmd.js +225 -143
- package/dist/generate/agentsmd.js.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/integrations/render.d.ts.map +1 -1
- package/dist/integrations/render.js +25 -10
- package/dist/integrations/render.js.map +1 -1
- package/dist/integrations/superpowers.d.ts.map +1 -1
- package/dist/integrations/superpowers.js +2 -0
- package/dist/integrations/superpowers.js.map +1 -1
- package/dist/shell/detector.d.ts +22 -2
- package/dist/shell/detector.d.ts.map +1 -1
- package/dist/shell/detector.js +122 -34
- package/dist/shell/detector.js.map +1 -1
- package/dist/toolchain/gh.d.ts.map +1 -1
- package/dist/toolchain/gh.js +1 -0
- package/dist/toolchain/gh.js.map +1 -1
- package/dist/toolchain/mise.d.ts +7 -0
- package/dist/toolchain/mise.d.ts.map +1 -1
- package/dist/toolchain/mise.js +23 -3
- package/dist/toolchain/mise.js.map +1 -1
- package/dist/toolchain/rtk.d.ts +71 -3
- package/dist/toolchain/rtk.d.ts.map +1 -1
- package/dist/toolchain/rtk.js +115 -7
- package/dist/toolchain/rtk.js.map +1 -1
- package/dist/ui/output.d.ts.map +1 -1
- package/dist/ui/output.js +10 -2
- package/dist/ui/output.js.map +1 -1
- package/dist/ui/spinner.d.ts +15 -3
- package/dist/ui/spinner.d.ts.map +1 -1
- package/dist/ui/spinner.js +52 -4
- package/dist/ui/spinner.js.map +1 -1
- package/dist/ui/theme.d.ts +27 -1
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/ui/theme.js +73 -8
- package/dist/ui/theme.js.map +1 -1
- package/dist/utils/fs-retry.d.ts +16 -0
- package/dist/utils/fs-retry.d.ts.map +1 -1
- package/dist/utils/fs-retry.js +28 -0
- package/dist/utils/fs-retry.js.map +1 -1
- package/package.json +4 -3
|
@@ -2,11 +2,13 @@ import { Command } from 'commander';
|
|
|
2
2
|
import * as fs from 'fs';
|
|
3
3
|
import * as path from 'path';
|
|
4
4
|
import { confirm } from '@inquirer/prompts';
|
|
5
|
-
import { BINARY_MAP, loadConfig, validateConfig } from '../config/schema.js';
|
|
5
|
+
import { AGENT_KEYS, BINARY_MAP, getEnabledAgents, loadConfig, validateConfig, } from '../config/schema.js';
|
|
6
6
|
import { configFilePath, findConfigPath, parseScopeFlag, resolveScopeDir, } from '../config/scopes.js';
|
|
7
|
+
import { ADAPTER_CLASSES } from '../adapters/index.js';
|
|
8
|
+
import { generateInstructionFiles, planMarkerRemoval, removeMarkerBlock, } from '../generate/agentsmd.js';
|
|
7
9
|
import { getToolsToInstall, isMiseInstalled, miseInstallInstructions, parseInstalledToolState, runMiseCaptured, runMiseUninstall, } from '../toolchain/mise.js';
|
|
8
10
|
import { normalizeOutput } from '../utils/output.js';
|
|
9
|
-
import { renderLogo } from '../ui/output.js';
|
|
11
|
+
import { renderLogo, setQuietEnabled } from '../ui/output.js';
|
|
10
12
|
import { printConfigPath, printResult, reportValidation } from '../ui/report.js';
|
|
11
13
|
/**
|
|
12
14
|
* The uninstall parity set for apply: enabled non-fallback `[tools]` entries
|
|
@@ -105,6 +107,218 @@ export function renderUninstallSummary(targets, plan, mode = 'result', stateUnkn
|
|
|
105
107
|
...plan.alreadyGone.map((name) => ` ${label(name)} — already gone`),
|
|
106
108
|
];
|
|
107
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Parse a comma-separated `--unwire-agents` value into valid AgentKeys.
|
|
112
|
+
* Unlike wizard/build.ts's parseAgentsInput(), unknown names are reported
|
|
113
|
+
* back for the caller's own usage-error path instead of throwing, matching
|
|
114
|
+
* resolveToolArgs()'s style elsewhere in this file.
|
|
115
|
+
*/
|
|
116
|
+
export function parseAgentList(raw) {
|
|
117
|
+
const agents = [];
|
|
118
|
+
const unknown = [];
|
|
119
|
+
const seen = new Set();
|
|
120
|
+
for (const part of raw.split(',')) {
|
|
121
|
+
const name = part.trim();
|
|
122
|
+
if (!name)
|
|
123
|
+
continue;
|
|
124
|
+
const key = AGENT_KEYS.find((candidate) => candidate === name);
|
|
125
|
+
if (!key) {
|
|
126
|
+
unknown.push(name);
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
if (!seen.has(key)) {
|
|
130
|
+
seen.add(key);
|
|
131
|
+
agents.push(key);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return { agents, unknown };
|
|
135
|
+
}
|
|
136
|
+
function classifyRemoval(filePath, plan) {
|
|
137
|
+
return plan.status === 'error'
|
|
138
|
+
? { path: filePath, status: 'error', message: plan.message }
|
|
139
|
+
: { path: filePath, status: plan.status };
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Plan what `--unwire-agents` would do, without changing anything: which
|
|
143
|
+
* per-agent user-scope instruction files and (on a full unwire) shared
|
|
144
|
+
* instruction files hold a removable managed block, and whether mise.toml
|
|
145
|
+
* would be deleted. Shared, agent-independent files (AGENTS.md/CLAUDE.md,
|
|
146
|
+
* mise.toml) are only ever touched on a full unwire — a partial unwire of
|
|
147
|
+
* one agent must not strip content the remaining agents still need.
|
|
148
|
+
*/
|
|
149
|
+
export function buildUnwirePlan(config, baseDir, scope, agents, fullUnwire, deleteMiseToml) {
|
|
150
|
+
const markerStart = config.generate?.marker_start ?? '<!-- agentenv-managed-start -->';
|
|
151
|
+
const markerEnd = config.generate?.marker_end ?? '<!-- agentenv-managed-end -->';
|
|
152
|
+
const agentFiles = scope === 'user'
|
|
153
|
+
? agents.map((agent) => {
|
|
154
|
+
const adapter = new ADAPTER_CLASSES[agent]({ enabled: true, baseDir });
|
|
155
|
+
const filePath = adapter.getUserInstructionFile();
|
|
156
|
+
return classifyRemoval(filePath, planMarkerRemoval(filePath, markerStart, markerEnd));
|
|
157
|
+
})
|
|
158
|
+
: [];
|
|
159
|
+
const sharedFiles = fullUnwire
|
|
160
|
+
? generateInstructionFiles(config, baseDir).map((file) => classifyRemoval(file.path, planMarkerRemoval(file.path, markerStart, markerEnd)))
|
|
161
|
+
: [];
|
|
162
|
+
const miseTomlPath = path.join(baseDir, 'mise.toml');
|
|
163
|
+
const miseToml = fullUnwire && deleteMiseToml
|
|
164
|
+
? { path: miseTomlPath, exists: fs.existsSync(miseTomlPath) }
|
|
165
|
+
: null;
|
|
166
|
+
return { agents, fullUnwire, markerStart, markerEnd, agentFiles, sharedFiles, miseToml };
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Execute an unwire plan: adapter cleanup() per targeted agent, then remove
|
|
170
|
+
* the managed block from each planned file, then delete mise.toml if
|
|
171
|
+
* planned. Files are re-read fresh via removeMarkerBlock() rather than
|
|
172
|
+
* trusting the plan's precomputed status, matching apply's dry-run/execute
|
|
173
|
+
* split (FEAT-06) — the plan is a preview, never a cached write.
|
|
174
|
+
*/
|
|
175
|
+
export async function executeUnwire(baseDir, plan) {
|
|
176
|
+
const messages = [];
|
|
177
|
+
const errors = [];
|
|
178
|
+
for (const agent of plan.agents) {
|
|
179
|
+
const adapter = new ADAPTER_CLASSES[agent]({ enabled: true, baseDir });
|
|
180
|
+
const result = await adapter.cleanup();
|
|
181
|
+
messages.push(`${adapter.getName()}: ${result.message}`);
|
|
182
|
+
errors.push(...result.errors);
|
|
183
|
+
}
|
|
184
|
+
for (const file of [...plan.agentFiles, ...plan.sharedFiles]) {
|
|
185
|
+
const result = removeMarkerBlock(file.path, plan.markerStart, plan.markerEnd);
|
|
186
|
+
(result.success ? messages : errors).push(result.message);
|
|
187
|
+
}
|
|
188
|
+
if (plan.miseToml) {
|
|
189
|
+
if (fs.existsSync(plan.miseToml.path)) {
|
|
190
|
+
try {
|
|
191
|
+
fs.unlinkSync(plan.miseToml.path);
|
|
192
|
+
messages.push(`Deleted ${plan.miseToml.path}`);
|
|
193
|
+
}
|
|
194
|
+
catch (err) {
|
|
195
|
+
errors.push(`Failed to delete ${plan.miseToml.path}: ${err instanceof Error ? err.message : String(err)}`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
messages.push(`${plan.miseToml.path} does not exist; nothing to delete`);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return { success: errors.length === 0, messages, errors };
|
|
203
|
+
}
|
|
204
|
+
function printUninstallJson(payload) {
|
|
205
|
+
console.log(JSON.stringify(payload, null, 2));
|
|
206
|
+
}
|
|
207
|
+
const filesChangedFrom = (plan) => [...plan.agentFiles, ...plan.sharedFiles]
|
|
208
|
+
.filter((f) => f.status === 'delete' || f.status === 'strip')
|
|
209
|
+
.map((f) => f.path);
|
|
210
|
+
/**
|
|
211
|
+
* The `--unwire-agents` path (FEAT-03): calls each targeted agent's
|
|
212
|
+
* `cleanup()`, removes the agentenv-managed block from its user-scope
|
|
213
|
+
* instruction file, and — on a full unwire (no specific agents named) —
|
|
214
|
+
* also strips the shared project/user AGENTS.md/CLAUDE.md and, with
|
|
215
|
+
* `--delete-mise-toml`, deletes the generated mise.toml. Mutually exclusive
|
|
216
|
+
* with the tool-uninstall positional args.
|
|
217
|
+
*/
|
|
218
|
+
async function doUnwireAgents(options, configPath, config, json, fail, startedAt) {
|
|
219
|
+
const usageError = (message) => {
|
|
220
|
+
if (options.command && !json)
|
|
221
|
+
options.command.error(message);
|
|
222
|
+
else
|
|
223
|
+
fail(message, 2);
|
|
224
|
+
};
|
|
225
|
+
if (options.tools && options.tools.length > 0) {
|
|
226
|
+
usageError('--unwire-agents cannot be combined with specific tool arguments; run them separately.');
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
const value = options.unwireAgents;
|
|
230
|
+
const fullUnwire = value === true;
|
|
231
|
+
let agents;
|
|
232
|
+
if (fullUnwire) {
|
|
233
|
+
agents = getEnabledAgents(config);
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
const parsed = parseAgentList(value);
|
|
237
|
+
if (parsed.unknown.length > 0) {
|
|
238
|
+
usageError(`Unknown agent(s) to unwire: ${parsed.unknown.join(', ')}`);
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
agents = parsed.agents;
|
|
242
|
+
}
|
|
243
|
+
if (options.deleteMiseToml && !fullUnwire) {
|
|
244
|
+
usageError('--delete-mise-toml requires --unwire-agents with no specific agent list (mise.toml is shared, not agent-specific).');
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
if (agents.length === 0 && !(fullUnwire && options.deleteMiseToml)) {
|
|
248
|
+
if (json)
|
|
249
|
+
printUninstallJson({ success: true, message: 'Nothing to unwire.', configPath });
|
|
250
|
+
else
|
|
251
|
+
printResult('warn', 'Nothing to unwire.');
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
const scope = config.scope ?? 'project';
|
|
255
|
+
const baseDir = resolveScopeDir(scope);
|
|
256
|
+
const plan = buildUnwirePlan(config, baseDir, scope, agents, fullUnwire, options.deleteMiseToml === true);
|
|
257
|
+
if (options.dryRun) {
|
|
258
|
+
if (json) {
|
|
259
|
+
printUninstallJson({
|
|
260
|
+
success: true,
|
|
261
|
+
message: 'no changes were made',
|
|
262
|
+
configPath,
|
|
263
|
+
dryRun: true,
|
|
264
|
+
unwiredAgents: agents,
|
|
265
|
+
filesChanged: filesChangedFrom(plan),
|
|
266
|
+
deletedMiseToml: plan.miseToml?.exists ?? false,
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
const lines = agents.map((agent) => ` ${agent} — would run cleanup()`);
|
|
271
|
+
for (const file of [...plan.agentFiles, ...plan.sharedFiles]) {
|
|
272
|
+
lines.push(` ${file.path} — ${file.status}${file.message ? ` (${file.message})` : ''}`);
|
|
273
|
+
}
|
|
274
|
+
if (plan.miseToml) {
|
|
275
|
+
lines.push(` ${plan.miseToml.path} — ${plan.miseToml.exists ? 'would delete' : 'already absent'}`);
|
|
276
|
+
}
|
|
277
|
+
console.log(lines.join('\n'));
|
|
278
|
+
printResult('warn', 'Dry run complete', 'no changes were made', Date.now() - startedAt);
|
|
279
|
+
}
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
if (!options.yes) {
|
|
283
|
+
if (process.stdin.isTTY && process.stdout.isTTY) {
|
|
284
|
+
const proceed = await confirm({
|
|
285
|
+
message: fullUnwire
|
|
286
|
+
? `Unwire ${agents.length} agent(s) and remove agentenv-managed instruction blocks?`
|
|
287
|
+
: `Unwire ${agents.length} agent(s)?`,
|
|
288
|
+
default: false,
|
|
289
|
+
});
|
|
290
|
+
if (!proceed) {
|
|
291
|
+
if (json)
|
|
292
|
+
printUninstallJson({ success: true, message: 'Aborted', configPath });
|
|
293
|
+
else
|
|
294
|
+
printResult('warn', 'Aborted', 'no changes were made');
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
fail('Interactive confirmation requires a TTY; pass `--yes` (or `--dry-run` to preview) to run non-interactively.');
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
const result = await executeUnwire(baseDir, plan);
|
|
304
|
+
if (!result.success) {
|
|
305
|
+
fail(`Unwire failed: ${result.errors.join('; ')}`);
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
308
|
+
if (json) {
|
|
309
|
+
printUninstallJson({
|
|
310
|
+
success: true,
|
|
311
|
+
message: `Unwired ${agents.length} agent(s)`,
|
|
312
|
+
configPath,
|
|
313
|
+
unwiredAgents: agents,
|
|
314
|
+
filesChanged: filesChangedFrom(plan),
|
|
315
|
+
deletedMiseToml: plan.miseToml?.exists ?? false,
|
|
316
|
+
});
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
console.log(result.messages.join('\n'));
|
|
320
|
+
printResult('ok', `Unwired ${agents.length} agent(s)`, undefined, Date.now() - startedAt);
|
|
321
|
+
}
|
|
108
322
|
/**
|
|
109
323
|
* Cleanup: remove the config-declared, mise-managed tools from the mise store.
|
|
110
324
|
* Does not modify agentenv.toml or the generated mise.toml — `agentenv apply`
|
|
@@ -112,53 +326,89 @@ export function renderUninstallSummary(targets, plan, mode = 'result', stateUnkn
|
|
|
112
326
|
*/
|
|
113
327
|
export async function doUninstall(options) {
|
|
114
328
|
const startedAt = Date.now();
|
|
329
|
+
const json = options.json === true;
|
|
330
|
+
if (json)
|
|
331
|
+
setQuietEnabled(true);
|
|
115
332
|
renderLogo();
|
|
333
|
+
const fail = (message, exitCode = 1) => {
|
|
334
|
+
if (json)
|
|
335
|
+
printUninstallJson({ success: false, message });
|
|
336
|
+
else
|
|
337
|
+
console.error(message);
|
|
338
|
+
process.exitCode = exitCode;
|
|
339
|
+
};
|
|
116
340
|
// 1. Config resolution (mirrors update.ts).
|
|
117
341
|
let configPath;
|
|
118
342
|
if (options.scope) {
|
|
119
343
|
configPath = configFilePath(options.scope);
|
|
120
344
|
if (!fs.existsSync(configPath)) {
|
|
121
|
-
|
|
122
|
-
process.exitCode = 1;
|
|
345
|
+
fail(`No agentenv.toml found at ${configPath} (scope ${options.scope}).`);
|
|
123
346
|
return;
|
|
124
347
|
}
|
|
125
348
|
}
|
|
126
349
|
else {
|
|
127
350
|
configPath = findConfigPath() ?? null;
|
|
128
351
|
if (!configPath) {
|
|
129
|
-
|
|
130
|
-
process.exitCode = 1;
|
|
352
|
+
fail('No agentenv.toml found. Run `agentenv setup` first.');
|
|
131
353
|
return;
|
|
132
354
|
}
|
|
133
355
|
}
|
|
134
|
-
|
|
356
|
+
if (!json)
|
|
357
|
+
printConfigPath(configPath);
|
|
135
358
|
let config;
|
|
136
359
|
try {
|
|
137
|
-
config = loadConfig(configPath);
|
|
360
|
+
config = loadConfig(configPath, { layerUserConfig: true });
|
|
138
361
|
}
|
|
139
362
|
catch (error) {
|
|
140
|
-
|
|
141
|
-
process.exitCode = 1;
|
|
363
|
+
fail(error instanceof Error ? error.message : String(error));
|
|
142
364
|
return;
|
|
143
365
|
}
|
|
144
366
|
const report = validateConfig(config);
|
|
145
|
-
if (
|
|
367
|
+
if (report.errors.length > 0) {
|
|
368
|
+
if (json)
|
|
369
|
+
printUninstallJson({ success: false, message: report.errors.join('; ') });
|
|
370
|
+
else
|
|
371
|
+
reportValidation(report, 'Configuration invalid — not applying.');
|
|
146
372
|
process.exitCode = 1;
|
|
147
373
|
return;
|
|
148
374
|
}
|
|
375
|
+
if (!json)
|
|
376
|
+
reportValidation(report, 'Configuration invalid — not applying.');
|
|
377
|
+
if (options.unwireAgents !== undefined) {
|
|
378
|
+
await doUnwireAgents(options, configPath, config, json, fail, startedAt);
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
if (options.deleteMiseToml) {
|
|
382
|
+
const message = '--delete-mise-toml requires --unwire-agents.';
|
|
383
|
+
if (options.command && !json)
|
|
384
|
+
options.command.error(message);
|
|
385
|
+
else
|
|
386
|
+
fail(message, 2);
|
|
387
|
+
return;
|
|
388
|
+
}
|
|
149
389
|
// 2. Argument validation runs immediately after config resolution, before
|
|
150
390
|
// confirmation, the mise gate, or any uninstall.
|
|
151
391
|
const targets = calculateUninstallTargets(config);
|
|
152
392
|
const { matched, unknown } = resolveToolArgs(options.tools ?? [], targets);
|
|
153
393
|
if (unknown.length > 0) {
|
|
154
|
-
|
|
155
|
-
|
|
394
|
+
const message = `Unknown tool(s) to uninstall: ${unknown.join(', ')}`;
|
|
395
|
+
if (options.command && !json) {
|
|
396
|
+
// Usage error, not an operational failure — exit 2, matching
|
|
397
|
+
// docs/guides/exit-codes.md.
|
|
398
|
+
options.command.error(message);
|
|
399
|
+
}
|
|
400
|
+
else {
|
|
401
|
+
fail(message, 2);
|
|
402
|
+
}
|
|
156
403
|
return;
|
|
157
404
|
}
|
|
158
405
|
const requested = options.tools && options.tools.length > 0 ? matched : targets;
|
|
159
406
|
// 3. No-op path needs no mise.
|
|
160
407
|
if (requested.length === 0) {
|
|
161
|
-
|
|
408
|
+
if (json)
|
|
409
|
+
printUninstallJson({ success: true, message: 'Nothing to uninstall.', configPath });
|
|
410
|
+
else
|
|
411
|
+
printResult('warn', 'Nothing to uninstall.');
|
|
162
412
|
return;
|
|
163
413
|
}
|
|
164
414
|
const scopeDir = resolveScopeDir(config.scope ?? 'project');
|
|
@@ -168,36 +418,70 @@ export async function doUninstall(options) {
|
|
|
168
418
|
if (options.dryRun) {
|
|
169
419
|
if (!isMiseInstalled()) {
|
|
170
420
|
const plan = { toUninstall: [], alreadyGone: [] };
|
|
171
|
-
|
|
172
|
-
|
|
421
|
+
if (json) {
|
|
422
|
+
printUninstallJson({
|
|
423
|
+
success: true,
|
|
424
|
+
message: 'nothing was uninstalled (mise not installed)',
|
|
425
|
+
configPath,
|
|
426
|
+
dryRun: true,
|
|
427
|
+
toUninstall: [],
|
|
428
|
+
alreadyGone: [],
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
else {
|
|
432
|
+
console.log(renderUninstallSummary(requested, plan, 'preview', true).join('\n'));
|
|
433
|
+
printResult('warn', 'Dry run complete', 'nothing was uninstalled (mise not installed)');
|
|
434
|
+
}
|
|
173
435
|
return;
|
|
174
436
|
}
|
|
175
437
|
const state = readInstalledState();
|
|
176
438
|
if (!state) {
|
|
177
|
-
|
|
439
|
+
fail('mise ls --json failed or returned unrecognized output.');
|
|
178
440
|
return;
|
|
179
441
|
}
|
|
180
|
-
|
|
181
|
-
|
|
442
|
+
const plan = uninstallPlan(requested, state);
|
|
443
|
+
if (json) {
|
|
444
|
+
printUninstallJson({
|
|
445
|
+
success: true,
|
|
446
|
+
message: 'no changes were made',
|
|
447
|
+
configPath,
|
|
448
|
+
dryRun: true,
|
|
449
|
+
toUninstall: plan.toUninstall,
|
|
450
|
+
alreadyGone: plan.alreadyGone,
|
|
451
|
+
});
|
|
452
|
+
}
|
|
453
|
+
else {
|
|
454
|
+
console.log(renderUninstallSummary(requested, plan, 'preview', false).join('\n'));
|
|
455
|
+
printResult('warn', 'Dry run complete', 'no changes were made', Date.now() - startedAt);
|
|
456
|
+
}
|
|
182
457
|
return;
|
|
183
458
|
}
|
|
184
459
|
// 5. Fail-closed mise gate: unknown installed state is not "already gone".
|
|
185
460
|
if (!isMiseInstalled()) {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
461
|
+
if (json) {
|
|
462
|
+
printUninstallJson({ success: false, message: 'agentenv uninstall requires mise' });
|
|
463
|
+
process.exitCode = 1;
|
|
464
|
+
}
|
|
465
|
+
else {
|
|
466
|
+
console.error('agentenv uninstall requires mise, but mise was not found.');
|
|
467
|
+
for (const line of miseInstallInstructions())
|
|
468
|
+
console.error(` ${line}`);
|
|
469
|
+
process.exitCode = 1;
|
|
470
|
+
}
|
|
190
471
|
return;
|
|
191
472
|
}
|
|
192
473
|
// 6. Plan from live state.
|
|
193
474
|
const state = readInstalledState();
|
|
194
475
|
if (!state) {
|
|
195
|
-
|
|
476
|
+
fail('mise ls --json failed or returned unrecognized output.');
|
|
196
477
|
return;
|
|
197
478
|
}
|
|
198
479
|
const plan = uninstallPlan(requested, state);
|
|
199
480
|
if (plan.toUninstall.length === 0) {
|
|
200
|
-
|
|
481
|
+
if (json)
|
|
482
|
+
printUninstallJson({ success: true, message: 'Nothing to uninstall.', configPath });
|
|
483
|
+
else
|
|
484
|
+
printResult('warn', 'Nothing to uninstall.');
|
|
201
485
|
return;
|
|
202
486
|
}
|
|
203
487
|
// 7. Confirmation, only when there is actually something to remove.
|
|
@@ -208,21 +492,32 @@ export async function doUninstall(options) {
|
|
|
208
492
|
default: false,
|
|
209
493
|
});
|
|
210
494
|
if (!proceed) {
|
|
211
|
-
|
|
495
|
+
if (json)
|
|
496
|
+
printUninstallJson({ success: true, message: 'Aborted', configPath });
|
|
497
|
+
else
|
|
498
|
+
printResult('warn', 'Aborted', 'no changes were made');
|
|
212
499
|
return;
|
|
213
500
|
}
|
|
214
501
|
}
|
|
215
502
|
else {
|
|
216
|
-
|
|
217
|
-
process.exitCode = 1;
|
|
503
|
+
fail('Interactive confirmation requires a TTY; pass `--yes` (or `--dry-run` to preview) to run non-interactively.');
|
|
218
504
|
return;
|
|
219
505
|
}
|
|
220
506
|
}
|
|
221
507
|
// 8. Uninstall.
|
|
222
508
|
const result = runMiseUninstall(plan.toUninstall, scopeDir, miseTomlPath);
|
|
223
509
|
if (!result.success) {
|
|
224
|
-
|
|
225
|
-
|
|
510
|
+
fail(`mise uninstall failed (exit ${result.exitCode ?? 'null'}): ${normalizeOutput(result.stderr || result.stdout).trim()}`);
|
|
511
|
+
return;
|
|
512
|
+
}
|
|
513
|
+
if (json) {
|
|
514
|
+
printUninstallJson({
|
|
515
|
+
success: true,
|
|
516
|
+
message: `Removed ${plan.toUninstall.length} tool(s)`,
|
|
517
|
+
configPath,
|
|
518
|
+
toUninstall: plan.toUninstall,
|
|
519
|
+
alreadyGone: plan.alreadyGone,
|
|
520
|
+
});
|
|
226
521
|
return;
|
|
227
522
|
}
|
|
228
523
|
console.log(renderUninstallSummary(requested, plan, 'result', false).join('\n'));
|
|
@@ -235,12 +530,15 @@ export const uninstallCommand = new Command()
|
|
|
235
530
|
.option('--yes', 'skip the confirmation prompt (required when non-interactive)')
|
|
236
531
|
.option('--dry-run', 'print what would be uninstalled without changing anything')
|
|
237
532
|
.option('--scope <scope>', 'config scope to use: project|user (default: nearest config)')
|
|
533
|
+
.option('--json', 'emit a machine-readable JSON document on stdout')
|
|
534
|
+
.option('--unwire-agents [agents]', 'unwire agent hook config and managed instruction blocks; comma-separated agent keys, or every enabled agent if no value is given. Cannot be combined with [tools...].')
|
|
535
|
+
.option('--delete-mise-toml', 'also delete the generated mise.toml (requires --unwire-agents with no specific agents)')
|
|
238
536
|
.action((tools, options, command) => {
|
|
239
537
|
const scope = parseScopeFlag(options.scope);
|
|
240
538
|
if (scope.error) {
|
|
241
539
|
command.error(scope.error);
|
|
242
540
|
return;
|
|
243
541
|
}
|
|
244
|
-
return doUninstall({ ...options, scope: scope.scope, tools });
|
|
542
|
+
return doUninstall({ ...options, scope: scope.scope, tools, command });
|
|
245
543
|
});
|
|
246
544
|
//# sourceMappingURL=uninstall.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,cAAc,GAGf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,gBAAgB,GAEjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAWjF;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAsB;IAC9D,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,SAAS;QACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC;YACX,GAAG,EAAE,IAAI,CAAC,IAAI;YACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;SAC3C,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;YAAE,SAAS;QAClE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAc,EACd,OAA0B;IAE1B,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CACtB,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,KAAK,GAAG,CACnF,CAAC;QACF,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAOD;;;;GAIG;AACH,SAAS,kBAAkB;IACzB,MAAM,EAAE,GAAG,eAAe,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7C,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CACX,+BAA+B,EAAE,CAAC,MAAM,IAAI,MAAM,MAAM,eAAe,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACzG,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,uBAAuB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CACX,oFAAoF,CACrF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,aAAa,CAC3B,OAA0B,EAC1B,cAAkD;IAElD,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS;YAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;;YAC7E,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAA0B,EAC1B,IAAmB,EACnB,OAA6B,QAAQ,EACrC,YAAY,GAAG,KAAK;IAEpB,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,wCAAwC,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,OAAO;QACL,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,EAAE,CAAC;QACjE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC;KACrE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAY,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAsBD,SAAS,eAAe,CAAC,QAAgB,EAAE,IAAuB;IAChE,OAAO,IAAI,CAAC,MAAM,KAAK,OAAO;QAC5B,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;QAC5D,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAsB,EACtB,OAAe,EACf,KAAiB,EACjB,MAAkB,EAClB,UAAmB,EACnB,cAAuB;IAEvB,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,YAAY,IAAI,iCAAiC,CAAC;IACvF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,UAAU,IAAI,+BAA+B,CAAC;IAEjF,MAAM,UAAU,GACd,KAAK,KAAK,MAAM;QACd,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACnB,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;YAClD,OAAO,eAAe,CAAC,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;QACxF,CAAC,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,WAAW,GAAuB,UAAU;QAChD,CAAC,CAAC,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACrD,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CACjF;QACH,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACrD,MAAM,QAAQ,GACZ,UAAU,IAAI,cAAc;QAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;QAC7D,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AAC3F,CAAC;AAQD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAe,EAAE,IAAgB;IACnE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9E,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAClC,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CACT,oBAAoB,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC9F,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,oCAAoC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC5D,CAAC;AAiCD,SAAS,kBAAkB,CAAC,OAA4B;IACtD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAgB,EAAY,EAAE,CACtD,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;KACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC;KAC5D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAExB;;;;;;;GAOG;AACH,KAAK,UAAU,cAAc,CAC3B,OAAgC,EAChC,UAAkB,EAClB,MAAsB,EACtB,IAAa,EACb,IAAiD,EACjD,SAAiB;IAEjB,MAAM,UAAU,GAAG,CAAC,OAAe,EAAQ,EAAE;QAC3C,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;;YACxD,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,UAAU,CACR,uFAAuF,CACxF,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC;IACnC,MAAM,UAAU,GAAG,KAAK,KAAK,IAAI,CAAC;IAClC,IAAI,MAAkB,CAAC;IACvB,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAe,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,cAAc,CAAC,KAAe,CAAC,CAAC;QAC/C,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,UAAU,CAAC,+BAA+B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1C,UAAU,CACR,oHAAoH,CACrH,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACnE,IAAI,IAAI;YAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC,CAAC;;YACtF,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAe,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;IACpD,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,eAAe,CAC1B,MAAM,EACN,OAAO,EACP,KAAK,EACL,MAAM,EACN,UAAU,EACV,OAAO,CAAC,cAAc,KAAK,IAAI,CAChC,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,IAAI,EAAE,CAAC;YACT,kBAAkB,CAAC;gBACjB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,sBAAsB;gBAC/B,UAAU;gBACV,MAAM,EAAE,IAAI;gBACZ,aAAa,EAAE,MAAM;gBACrB,YAAY,EAAE,gBAAgB,CAAC,IAAI,CAAC;gBACpC,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK;aAChD,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAa,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,wBAAwB,CAAC,CAAC;YAClF,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7D,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3F,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,KAAK,CAAC,IAAI,CACR,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,EAAE,CACxF,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9B,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjB,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;gBAC5B,OAAO,EAAE,UAAU;oBACjB,CAAC,CAAC,UAAU,MAAM,CAAC,MAAM,2DAA2D;oBACpF,CAAC,CAAC,UAAU,MAAM,CAAC,MAAM,YAAY;gBACvC,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,IAAI;oBAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;;oBAC3E,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CACF,6GAA6G,CAC9G,CAAC;YACF,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,CAAC,kBAAkB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,kBAAkB,CAAC;YACjB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,WAAW,MAAM,CAAC,MAAM,WAAW;YAC5C,UAAU;YACV,aAAa,EAAE,MAAM;YACrB,YAAY,EAAE,gBAAgB,CAAC,IAAI,CAAC;YACpC,eAAe,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK;SAChD,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,WAAW,CAAC,IAAI,EAAE,WAAW,MAAM,CAAC,MAAM,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;AAC5F,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAgC;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;IACnC,IAAI,IAAI;QAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAChC,UAAU,EAAE,CAAC;IAEb,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,WAAkB,CAAC,EAAQ,EAAE;QAC1D,IAAI,IAAI;YAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;;YACrD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,CAAC,CAAC;IAEF,4CAA4C;IAC5C,IAAI,UAAyB,CAAC;IAC9B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,6BAA6B,UAAU,WAAW,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;IACH,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,cAAc,EAAE,IAAI,IAAI,CAAC;QACtC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,qDAAqD,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IAEvC,IAAI,MAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,IAAI,IAAI;YAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;YAC/E,gBAAgB,CAAC,MAAM,EAAE,uCAAuC,CAAC,CAAC;QACvE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,gBAAgB,CAAC,MAAM,EAAE,uCAAuC,CAAC,CAAC;IAE7E,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,8CAA8C,CAAC;QAC/D,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;;YACxD,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtB,OAAO;IACT,CAAC;IAED,0EAA0E;IAC1E,oDAAoD;IACpD,MAAM,OAAO,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,iCAAiC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtE,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7B,6DAA6D;YAC7D,6BAA6B;YAC7B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAEhF,+BAA+B;IAC/B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,IAAI,IAAI;YAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,CAAC,CAAC;;YACzF,WAAW,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAEpE,2EAA2E;IAC3E,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,EAAE,WAAW,EAAE,EAAc,EAAE,WAAW,EAAE,EAAc,EAAE,CAAC;YAC1E,IAAI,IAAI,EAAE,CAAC;gBACT,kBAAkB,CAAC;oBACjB,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,8CAA8C;oBACvD,UAAU;oBACV,MAAM,EAAE,IAAI;oBACZ,WAAW,EAAE,EAAE;oBACf,WAAW,EAAE,EAAE;iBAChB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACjF,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,8CAA8C,CAAC,CAAC;YAC1F,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,wDAAwD,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,IAAI,EAAE,CAAC;YACT,kBAAkB,CAAC;gBACjB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,sBAAsB;gBAC/B,UAAU;gBACV,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAClF,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO;IACT,CAAC;IAED,2EAA2E;IAC3E,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACvB,IAAI,IAAI,EAAE,CAAC;YACT,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC,CAAC;YACpF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;YAC3E,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE;gBAAE,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACzE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,OAAO;IACT,CAAC;IAED,2BAA2B;IAC3B,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,wDAAwD,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7C,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,IAAI,IAAI;YAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,CAAC,CAAC;;YACzF,WAAW,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IAED,oEAAoE;IACpE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjB,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;gBAC5B,OAAO,EAAE,aAAa,IAAI,CAAC,WAAW,CAAC,MAAM,+BAA+B;gBAC5E,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,IAAI;oBAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;;oBAC3E,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CACF,6GAA6G,CAC9G,CAAC;YACF,OAAO;QACT,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC1E,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,CACF,+BAA+B,MAAM,CAAC,QAAQ,IAAI,MAAM,MAAM,eAAe,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACvH,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,kBAAkB,CAAC;YACjB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,WAAW,IAAI,CAAC,WAAW,CAAC,MAAM,UAAU;YACrD,UAAU;YACV,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,WAAW,CACT,IAAI,EACJ,WAAW,IAAI,CAAC,WAAW,CAAC,MAAM,UAAU,EAC5C,wFAAwF,EACxF,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CACvB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAE;KAC1C,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CACV,qGAAqG,CACtG;KACA,QAAQ,CACP,YAAY,EACZ,2FAA2F,CAC5F;KACA,MAAM,CAAC,OAAO,EAAE,8DAA8D,CAAC;KAC/E,MAAM,CAAC,WAAW,EAAE,2DAA2D,CAAC;KAChF,MAAM,CAAC,iBAAiB,EAAE,6DAA6D,CAAC;KACxF,MAAM,CAAC,QAAQ,EAAE,iDAAiD,CAAC;KACnE,MAAM,CACL,0BAA0B,EAC1B,uKAAuK,CACxK;KACA,MAAM,CACL,oBAAoB,EACpB,wFAAwF,CACzF;KACA,MAAM,CAAC,CAAC,KAAe,EAAE,OAAgC,EAAE,OAAgB,EAAE,EAAE;IAC9E,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IACD,OAAO,WAAW,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AACzE,CAAC,CAAC,CAAC"}
|
|
@@ -1,3 +1,54 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
import * as fs from 'fs';
|
|
3
|
+
import { loadConfig } from '../config/schema.js';
|
|
4
|
+
import type { ScopeValue } from '../config/scopes.js';
|
|
5
|
+
import { ensureGlobalShimsDir, getMiseVersion, isMiseInstalled, runMiseSelfUpdate, runMiseUpgrade, trustMiseToml, verifyToolAvailability } from '../toolchain/mise.js';
|
|
6
|
+
interface UpdateCommandOptions {
|
|
7
|
+
self?: boolean;
|
|
8
|
+
tools?: boolean;
|
|
9
|
+
scope?: ScopeValue;
|
|
10
|
+
watch?: boolean;
|
|
11
|
+
dryRun?: boolean;
|
|
12
|
+
check?: boolean;
|
|
13
|
+
json?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Every mise-touching call `doUpdate` makes, injectable so tests can stub
|
|
17
|
+
* them the same way `apply.test.ts` stubs `rtkInit`/`superpowersDeps` —
|
|
18
|
+
* without this, exercising update.ts meant actually installing/upgrading
|
|
19
|
+
* mise tools, which is why it sat at 13% line coverage.
|
|
20
|
+
*/
|
|
21
|
+
export interface UpdateDeps {
|
|
22
|
+
isMiseInstalled?: typeof isMiseInstalled;
|
|
23
|
+
getMiseVersion?: typeof getMiseVersion;
|
|
24
|
+
ensureGlobalShimsDir?: typeof ensureGlobalShimsDir;
|
|
25
|
+
runMiseSelfUpdate?: typeof runMiseSelfUpdate;
|
|
26
|
+
trustMiseToml?: typeof trustMiseToml;
|
|
27
|
+
runMiseUpgrade?: typeof runMiseUpgrade;
|
|
28
|
+
verifyToolAvailability?: typeof verifyToolAvailability;
|
|
29
|
+
loadConfig?: typeof loadConfig;
|
|
30
|
+
/** Skips the real `watchMiseToml` call entirely (tests never want a live fs.watch). */
|
|
31
|
+
watchMiseToml?: typeof watchMiseToml;
|
|
32
|
+
}
|
|
33
|
+
export declare function doUpdate(options: UpdateCommandOptions, deps?: UpdateDeps): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Watch mise.toml's directory for changes and trigger mise up when it
|
|
36
|
+
* changes, re-reading agentenv.toml fresh each time so a `[tools]` edit
|
|
37
|
+
* made since watch started (via `agentenv apply`, which regenerates
|
|
38
|
+
* mise.toml) is picked up instead of upgrading whatever was enabled when
|
|
39
|
+
* `--watch` started.
|
|
40
|
+
*
|
|
41
|
+
* Watches the *directory*, not the file itself: most editors save via an
|
|
42
|
+
* atomic rename (write a temp file, rename over the original), which
|
|
43
|
+
* replaces the file's inode. A watch on the specific path stops firing
|
|
44
|
+
* after that rename on several platforms/filesystems — a directory watch
|
|
45
|
+
* keeps working, since the directory itself is never replaced.
|
|
46
|
+
*
|
|
47
|
+
* Returns the underlying watcher so callers (and tests) can close it;
|
|
48
|
+
* `debounceMs` is overridable so tests don't have to wait out the real
|
|
49
|
+
* 1000ms debounce.
|
|
50
|
+
*/
|
|
51
|
+
export declare function watchMiseToml(miseTomlPath: string, scopeDir: string, configPath: string, debounceMs?: number): fs.FSWatcher | undefined;
|
|
2
52
|
export declare const updateCommand: Command;
|
|
53
|
+
export {};
|
|
3
54
|
//# sourceMappingURL=update.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAkB,MAAM,qBAAqB,CAAC;AAQjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EACL,oBAAoB,EACpB,cAAc,EAEd,eAAe,EAGf,iBAAiB,EACjB,cAAc,EAId,aAAa,EAGb,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAK9B,UAAU,oBAAoB;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,eAAe,CAAC,EAAE,OAAO,eAAe,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,cAAc,CAAC;IACvC,oBAAoB,CAAC,EAAE,OAAO,oBAAoB,CAAC;IACnD,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAC;IAC7C,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,cAAc,CAAC,EAAE,OAAO,cAAc,CAAC;IACvC,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;IACvD,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;IAC/B,uFAAuF;IACvF,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;CACtC;AAED,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,oBAAoB,EAC7B,IAAI,GAAE,UAAe,GACpB,OAAO,CAAC,IAAI,CAAC,CAoNf;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,UAAU,SAAO,GAChB,EAAE,CAAC,SAAS,GAAG,SAAS,CA8E1B;AAED,eAAO,MAAM,aAAa,SAqBtB,CAAC"}
|