@detergent-software/atk 8.1.2-dev.35 → 8.1.2-dev.37
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/CHANGELOG.md +15 -0
- package/build/commands/install.d.ts.map +1 -1
- package/build/commands/install.js +2 -1
- package/build/commands/install.js.map +1 -1
- package/build/lib/enabled-list.d.ts +15 -0
- package/build/lib/enabled-list.d.ts.map +1 -0
- package/build/lib/enabled-list.js +83 -0
- package/build/lib/enabled-list.js.map +1 -0
- package/build/lib/installed-for-tool.d.ts +8 -0
- package/build/lib/installed-for-tool.d.ts.map +1 -0
- package/build/lib/installed-for-tool.js +18 -0
- package/build/lib/installed-for-tool.js.map +1 -0
- package/build/lib/installer.d.ts +23 -6
- package/build/lib/installer.d.ts.map +1 -1
- package/build/lib/installer.js +130 -59
- package/build/lib/installer.js.map +1 -1
- package/build/lib/multi-tool-install.d.ts +2 -7
- package/build/lib/multi-tool-install.d.ts.map +1 -1
- package/build/lib/multi-tool-install.js +9 -19
- package/build/lib/multi-tool-install.js.map +1 -1
- package/build/lib/uninstaller.d.ts.map +1 -1
- package/build/lib/uninstaller.js +3 -43
- package/build/lib/uninstaller.js.map +1 -1
- package/package.json +1 -1
package/build/lib/installer.js
CHANGED
|
@@ -4,13 +4,15 @@ import { dirname, join } from 'node:path';
|
|
|
4
4
|
import { getPlacement, isEntrypoint, resolveInstalledPaths } from './adapter.js';
|
|
5
5
|
import { carryExcludedTools, isExcludedForTool } from './asset-tools.js';
|
|
6
6
|
import { computeConfigEntryChecksum, computeHookGroupChecksum, hashBytes } from './checksum.js';
|
|
7
|
-
import { getConfigEntriesForTool, mergeConfigEntriesForTool } from './config-entries.js';
|
|
8
|
-
import {
|
|
7
|
+
import { getConfigEntriesForTool, getOtherToolsConfigEntries, mergeConfigEntriesForTool, normalizeConfigPath, } from './config-entries.js';
|
|
8
|
+
import { normalizeForFormat, readConfigFile, resolveConfigFormat, writeConfigFile, } from './config-file.js';
|
|
9
|
+
import { addToEnabledList, removeFromEnabledList } from './enabled-list.js';
|
|
9
10
|
import { ApiCodeError, errorGuidance, errorMessage } from './errors.js';
|
|
10
11
|
import { ensureGitignoreEntries } from './gitignore.js';
|
|
11
12
|
import { buildHookGroup, deriveHookCommand, hookGroupOwnsCommand, removeHookGroup } from './hook-config.js';
|
|
12
13
|
import { hookScriptPath, makeExecutable } from './hook-script.js';
|
|
13
|
-
import {
|
|
14
|
+
import { isInstalledForTool } from './installed-for-tool.js';
|
|
15
|
+
import { addAssetToLockfile, findInstalledAsset, readLockfile, removeAssetFromLockfile, writeLockfile, } from './lockfile.js';
|
|
14
16
|
import { formatOrgName } from './org.js';
|
|
15
17
|
import { configEntriesOwnedByOthers, holdsAnotherOwnersValue, pathsOwnedByOthers } from './owned-paths.js';
|
|
16
18
|
import { toRelativePosix } from './paths.js';
|
|
@@ -48,12 +50,15 @@ export class FileConflictError extends InstallerError {
|
|
|
48
50
|
export class InstallPlanError extends InstallerError {
|
|
49
51
|
asset;
|
|
50
52
|
cause;
|
|
53
|
+
/** The plan kept what it installed before `asset`, because it moved an installed asset to another version. */
|
|
54
|
+
keptInstall;
|
|
51
55
|
name = 'InstallPlanError';
|
|
52
|
-
constructor(asset, cause, rolledBack) {
|
|
56
|
+
constructor(asset, cause, rolledBack, keptInstall = false) {
|
|
53
57
|
const rollback = rolledBack > 0 ? ` and ${rolledBack} previously installed asset(s) were rolled back` : '';
|
|
54
58
|
super(`Install failed at asset "${formatOrgName(asset.org, asset.name)}"${rollback}: ${errorMessage(cause)}`, errorGuidance(cause));
|
|
55
59
|
this.asset = asset;
|
|
56
60
|
this.cause = cause;
|
|
61
|
+
this.keptInstall = keptInstall;
|
|
57
62
|
}
|
|
58
63
|
}
|
|
59
64
|
/** A plan whose files for `asset` could not be downloaded; nothing was written. */
|
|
@@ -84,8 +89,12 @@ export function assertInstalledByAnyTool(plan, toolResults) {
|
|
|
84
89
|
/**
|
|
85
90
|
* Execute a full install plan — install all assets in order.
|
|
86
91
|
* On partial failure, deletes the files the failing asset wrote where no file was before placing
|
|
87
|
-
* its files failed, and rolls back
|
|
88
|
-
* lockfile entries) so the system is not left in an inconsistent
|
|
92
|
+
* its files failed, and rolls back the assets the plan added before it (deletes placed files,
|
|
93
|
+
* reverts config entries, removes lockfile entries) so the system is not left in an inconsistent
|
|
94
|
+
* state. An asset the tool already had in place keeps what the plan placed, since rolling it back
|
|
95
|
+
* would delete its working copy, and gets its lockfile entry back. When the plan moved such an
|
|
96
|
+
* asset to another version, which may need the assets the plan added, nothing is rolled back
|
|
97
|
+
* ({@link InstallPlanError.keptInstall}).
|
|
89
98
|
*/
|
|
90
99
|
export async function executeInstallPlan(plan, options) {
|
|
91
100
|
const results = [];
|
|
@@ -103,6 +112,8 @@ export async function executeInstallPlan(plan, options) {
|
|
|
103
112
|
const managedPaths = buildManagedPaths(options.managedFrom ?? lockfile, options.projectDir, options.adapter);
|
|
104
113
|
// ...and each block or keyed config entry to the assets that wrote it
|
|
105
114
|
const managedEntries = buildManagedEntries(options.managedFrom ?? lockfile, options.projectDir, options.adapter);
|
|
115
|
+
// ...and each keyed config entry of other tools to its owners, who may share it for this tool
|
|
116
|
+
const ownersElsewhere = buildEntryOwnersElsewhere(options.managedFrom ?? lockfile, options.adapter);
|
|
106
117
|
// In multi-tool projects the same plan runs once per tool. A tool that has no
|
|
107
118
|
// placement for an asset type (e.g. Codex CLI has no `rule` placement) skips
|
|
108
119
|
// those entries instead of aborting the whole run for that tool. When the tool
|
|
@@ -117,12 +128,20 @@ export async function executeInstallPlan(plan, options) {
|
|
|
117
128
|
if (supportedEntries.length === 0 && plan.entries.length > 0 && !options.skipUnsupported) {
|
|
118
129
|
throw new InstallerError(`Tool "${options.adapter.tool}" does not support asset type "${plan.entries[0].asset.type}"`);
|
|
119
130
|
}
|
|
131
|
+
// The assets this tool had in place before the plan, by plan entry, which a failure keeps.
|
|
132
|
+
const installedBefore = options.installedBefore ?? options.managedFrom ?? lockfile;
|
|
133
|
+
const inPlace = new Map();
|
|
134
|
+
for (const entry of supportedEntries) {
|
|
135
|
+
const installed = findInstalledAsset(installedBefore, entry.asset.name, entry.asset.type, entry.asset.org);
|
|
136
|
+
if (installed && isInstalledForTool(installed, options.adapter, options.projectDir))
|
|
137
|
+
inPlace.set(entry, installed);
|
|
138
|
+
}
|
|
120
139
|
// The files the asset being placed wrote where no file was, which a failure removes.
|
|
121
140
|
let created = [];
|
|
122
141
|
try {
|
|
123
142
|
for (const entry of supportedEntries) {
|
|
124
143
|
created = [];
|
|
125
|
-
const { lockfile: updatedLockfile, result, sharedEntries, } = await installAsset(entry, options, managedPaths, managedEntries, lockfile, created);
|
|
144
|
+
const { lockfile: updatedLockfile, result, sharedEntries, } = await installAsset(entry, options, managedPaths, managedEntries, ownersElsewhere, lockfile, created);
|
|
126
145
|
results.push(result);
|
|
127
146
|
// A later entry of this plan may land on these files or entries, and must see whose they are.
|
|
128
147
|
for (const file of result.filesPlaced)
|
|
@@ -144,15 +163,41 @@ export async function executeInstallPlan(plan, options) {
|
|
|
144
163
|
options.onProgress?.(`Warning: Failed to delete file during rollback: ${path} — ${errorMessage(error)}`);
|
|
145
164
|
}
|
|
146
165
|
}
|
|
147
|
-
// Roll back all successfully installed assets in reverse order
|
|
148
|
-
if (results.length > 0) {
|
|
149
|
-
options.onProgress?.(`Install failed, rolling back ${results.length} installed asset(s)...`);
|
|
150
|
-
await rollBackInstalledAssets(results.map((result, i) => ({ asset: supportedEntries[i].asset, result })), initialLockfile, lockfile, options);
|
|
151
|
-
options.onProgress?.(`Rollback complete.`);
|
|
152
|
-
}
|
|
153
166
|
// Re-throw the original error with rollback context, keeping any API error code and
|
|
154
167
|
// recovery hint/command (e.g. from an API auth failure).
|
|
155
|
-
|
|
168
|
+
const failed = supportedEntries[results.length].asset;
|
|
169
|
+
const placed = results.map((result, i) => ({
|
|
170
|
+
asset: supportedEntries[i].asset,
|
|
171
|
+
entry: supportedEntries[i],
|
|
172
|
+
result,
|
|
173
|
+
}));
|
|
174
|
+
if (placed.some(({ entry }) => inPlace.has(entry) && inPlace.get(entry).version !== entry.version)) {
|
|
175
|
+
options.onProgress?.(`Keeping the install for ${options.adapter.tool}: it moved an installed asset to another version.`);
|
|
176
|
+
throw new InstallPlanError(failed, error, 0, true);
|
|
177
|
+
}
|
|
178
|
+
// Roll back the assets the plan added, in reverse order
|
|
179
|
+
const added = placed.filter(({ entry }) => !inPlace.has(entry));
|
|
180
|
+
if (added.length > 0) {
|
|
181
|
+
options.onProgress?.(`Install failed, rolling back ${added.length} installed asset(s)...`);
|
|
182
|
+
lockfile = await rollBackInstalledAssets(added, initialLockfile, lockfile, options);
|
|
183
|
+
options.onProgress?.(`Rollback complete.`);
|
|
184
|
+
}
|
|
185
|
+
// The assets that were in place keep their files, of the same version, and get their entries back.
|
|
186
|
+
const kept = placed.filter(({ entry }) => inPlace.has(entry));
|
|
187
|
+
if (kept.length > 0) {
|
|
188
|
+
try {
|
|
189
|
+
for (const { asset } of kept) {
|
|
190
|
+
const previous = findInstalledAsset(initialLockfile, asset.name, asset.type, asset.org);
|
|
191
|
+
if (previous)
|
|
192
|
+
lockfile = addAssetToLockfile(lockfile, previous);
|
|
193
|
+
}
|
|
194
|
+
await writeLockfile(options.projectDir, lockfile);
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
options.onProgress?.(`Warning: Failed to restore lockfile entries during rollback — ${errorMessage(error)}`);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
throw new InstallPlanError(failed, error, added.length);
|
|
156
201
|
}
|
|
157
202
|
return results;
|
|
158
203
|
}
|
|
@@ -193,9 +238,10 @@ export function placeableEntries(plan, adapter) {
|
|
|
193
238
|
}
|
|
194
239
|
/**
|
|
195
240
|
* Undo the installs of `installed` for the adapter's tool, in reverse order (best-effort): delete
|
|
196
|
-
* their placed files, revert their config entries
|
|
197
|
-
*
|
|
198
|
-
* `
|
|
241
|
+
* their placed files, revert their config entries (deleting a config file they created once it is
|
|
242
|
+
* empty), take the names they added out of an enabled list, and give each asset its lockfile entry
|
|
243
|
+
* from `before`, or remove it. A file or config entry an asset of `before` also owns is kept.
|
|
244
|
+
* Returns `lockfile` with the entries reverted, as written.
|
|
199
245
|
*/
|
|
200
246
|
export async function rollBackInstalledAssets(installed, before, lockfile, options) {
|
|
201
247
|
for (const { asset: rolledBack, result } of installed.toReversed()) {
|
|
@@ -217,19 +263,31 @@ export async function rollBackInstalledAssets(installed, before, lockfile, optio
|
|
|
217
263
|
}
|
|
218
264
|
// Revert config file entries (best-effort), except one holding the value of an asset from
|
|
219
265
|
// before this plan that also owns it
|
|
266
|
+
const placement = getPlacement(options.adapter, result.type);
|
|
220
267
|
const entriesOwnedByOthers = configEntriesOwnedByOthers(before, rolledBack, options.adapter, options.projectDir);
|
|
268
|
+
const kept = new Set();
|
|
221
269
|
for (const entry of result.configEntriesCreated) {
|
|
222
270
|
try {
|
|
223
|
-
if (await holdsAnotherOwnersValue(entry, entriesOwnedByOthers, options.projectDir))
|
|
271
|
+
if (await holdsAnotherOwnersValue(entry, entriesOwnedByOthers, options.projectDir)) {
|
|
272
|
+
kept.add(entry.key);
|
|
224
273
|
continue;
|
|
274
|
+
}
|
|
225
275
|
const configPath = join(options.projectDir, entry.file);
|
|
226
|
-
const format = resolveConfigFormat(configPath,
|
|
227
|
-
|
|
276
|
+
const format = resolveConfigFormat(configPath, placement);
|
|
277
|
+
const created = result.configFilesCreated?.includes(entry.file) ?? false;
|
|
278
|
+
await revertConfigEntry(configPath, entry.key, entry.command, format, created, options.onProgress);
|
|
228
279
|
}
|
|
229
280
|
catch (error) {
|
|
230
281
|
options.onProgress?.(`Warning: Failed to revert config entry ${entry.key} during rollback — ${errorMessage(error)}`);
|
|
231
282
|
}
|
|
232
283
|
}
|
|
284
|
+
// Take the names the install added out of the enabled list again, except one whose entry was
|
|
285
|
+
// kept for its other owner (as uninstall does)
|
|
286
|
+
const { configKey, enabledListFile, enabledListKey } = placement ?? {};
|
|
287
|
+
const names = (result.enabledListAdded ?? []).filter((name) => !kept.has(`${configKey}.${name}`));
|
|
288
|
+
if (enabledListFile && enabledListKey && names.length > 0) {
|
|
289
|
+
await removeFromEnabledList(join(options.projectDir, enabledListFile), enabledListKey, names, result.configFilesCreated?.includes(enabledListFile) ?? false, options.onProgress);
|
|
290
|
+
}
|
|
233
291
|
// Revert the lockfile entry using the in-memory lockfile (best-effort). An asset that
|
|
234
292
|
// was already recorded before this plan ran (a sync/update reinstall, or a second
|
|
235
293
|
// tool's pass in a multi-tool install) gets its previous entry back, so other tools'
|
|
@@ -258,41 +316,25 @@ function addOwner(owned, key, owner) {
|
|
|
258
316
|
}
|
|
259
317
|
}
|
|
260
318
|
/**
|
|
261
|
-
*
|
|
262
|
-
* in
|
|
263
|
-
*
|
|
319
|
+
* Map each name of a keyed config entry other tools have to the owners of each such entry: the
|
|
320
|
+
* assets that recorded it for one other tool, in one file. Assets the adapter's tool can't hold
|
|
321
|
+
* are left out, as in {@link buildManagedEntries}.
|
|
264
322
|
*/
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
const existing = Array.isArray(config[enabledListKey]) ? config[enabledListKey] : [];
|
|
279
|
-
const list = existing.filter((v) => typeof v === 'string');
|
|
280
|
-
let changed = !Array.isArray(config[enabledListKey]);
|
|
281
|
-
for (const name of names) {
|
|
282
|
-
if (!list.includes(name)) {
|
|
283
|
-
list.push(name);
|
|
284
|
-
changed = true;
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
if (changed) {
|
|
288
|
-
config[enabledListKey] = list;
|
|
289
|
-
await writeConfigFile(enabledListFilePath, config, format, onProgress);
|
|
323
|
+
function buildEntryOwnersElsewhere(lockfile, adapter) {
|
|
324
|
+
const byName = new Map();
|
|
325
|
+
for (const asset of lockfile.assets ?? []) {
|
|
326
|
+
if (isExcludedForTool(asset, adapter.tool) || !getPlacement(adapter, asset.type))
|
|
327
|
+
continue;
|
|
328
|
+
for (const entry of getOtherToolsConfigEntries(asset, adapter)) {
|
|
329
|
+
const name = configEntryName(entry.key);
|
|
330
|
+
if (entry.command !== undefined || name === undefined)
|
|
331
|
+
continue;
|
|
332
|
+
const byFile = byName.get(name) ?? new Map();
|
|
333
|
+
byName.set(name, byFile);
|
|
334
|
+
addOwner(byFile, sharedEntryKey({ file: normalizeConfigPath(entry.file), key: entry.key }), asset);
|
|
290
335
|
}
|
|
291
336
|
}
|
|
292
|
-
|
|
293
|
-
// Non-fatal — log but don't fail the install
|
|
294
|
-
onProgress?.(`Warning: Failed to update enabled list ${enabledListFilePath} — ${errorMessage(error)}`);
|
|
295
|
-
}
|
|
337
|
+
return new Map([...byName].map(([name, byFile]) => [name, [...byFile.values()]]));
|
|
296
338
|
}
|
|
297
339
|
/**
|
|
298
340
|
* Map each memory-template block and keyed config entry the given lockfile's assets wrote for the
|
|
@@ -335,13 +377,20 @@ function buildManagedPaths(lockfile, projectDir, adapter) {
|
|
|
335
377
|
}
|
|
336
378
|
/**
|
|
337
379
|
* Throw a FileConflictError if another installed asset wrote `entry` and `asset` didn't. An entry
|
|
338
|
-
* no installed asset wrote is left to the merge, as before.
|
|
380
|
+
* no installed asset wrote is left to the merge, as before. An asset that recorded the entry of
|
|
381
|
+
* that name for another tool together with all of its owners here (a forced install, or one from
|
|
382
|
+
* before installs refused a shared entry) shares it here too: otherwise the first of them to sync
|
|
383
|
+
* a newly added tool would lock the others out of it.
|
|
339
384
|
*/
|
|
340
|
-
function checkEntryConflict(entry, managedEntries, asset) {
|
|
385
|
+
function checkEntryConflict(entry, managedEntries, ownersElsewhere, asset) {
|
|
341
386
|
const owners = managedEntries.get(sharedEntryKey(entry));
|
|
342
387
|
if (!owners || isOwner(owners, asset)) {
|
|
343
388
|
return;
|
|
344
389
|
}
|
|
390
|
+
const sharedElsewhere = (entry.entry ? ownersElsewhere.get(entry.entry.name) : undefined)?.some((coOwners) => isOwner(coOwners, asset) && owners.every((owner) => isOwner(coOwners, owner)));
|
|
391
|
+
if (sharedElsewhere) {
|
|
392
|
+
return;
|
|
393
|
+
}
|
|
345
394
|
throw new FileConflictError(entry.file, owners[0], entry.label);
|
|
346
395
|
}
|
|
347
396
|
/**
|
|
@@ -377,6 +426,11 @@ async function checkUserEntryConflict(entry, managedEntries, format) {
|
|
|
377
426
|
}
|
|
378
427
|
throw new FileConflictError(entry.file, undefined, entry.label);
|
|
379
428
|
}
|
|
429
|
+
/** The name a keyed config entry has in its section: `neon` for `mcpServers.neon`. */
|
|
430
|
+
function configEntryName(key) {
|
|
431
|
+
const dotIndex = key.indexOf('.');
|
|
432
|
+
return dotIndex === -1 ? undefined : key.slice(dotIndex + 1);
|
|
433
|
+
}
|
|
380
434
|
/**
|
|
381
435
|
* Fetch all files for an asset version from the ATK API, plus its
|
|
382
436
|
* manifest-declared entrypoint. Lists the version directory and downloads
|
|
@@ -447,7 +501,7 @@ function fragmentEntries(content, configKey, fragmentKey) {
|
|
|
447
501
|
* before the write), so a caller can remove them when placing fails partway. It is emptied once
|
|
448
502
|
* every file is placed.
|
|
449
503
|
*/
|
|
450
|
-
async function installAsset(entry, options, managedPaths, managedEntries, lockfile, created) {
|
|
504
|
+
async function installAsset(entry, options, managedPaths, managedEntries, ownersElsewhere, lockfile, created) {
|
|
451
505
|
const { asset } = entry;
|
|
452
506
|
const { adapter, force, onProgress, pin, projectDir } = options;
|
|
453
507
|
onProgress?.(`Installing ${asset.name}...`);
|
|
@@ -488,7 +542,7 @@ async function installAsset(entry, options, managedPaths, managedEntries, lockfi
|
|
|
488
542
|
const sharedEntries = plannedSharedEntries(asset.name, asset.type, placement, basePath, mergeContent);
|
|
489
543
|
if (!force) {
|
|
490
544
|
for (const shared of sharedEntries) {
|
|
491
|
-
checkEntryConflict(shared, managedEntries, asset);
|
|
545
|
+
checkEntryConflict(shared, managedEntries, ownersElsewhere, asset);
|
|
492
546
|
await checkUserEntryConflict(shared, managedEntries, configFormat);
|
|
493
547
|
}
|
|
494
548
|
}
|
|
@@ -595,6 +649,13 @@ async function installAsset(entry, options, managedPaths, managedEntries, lockfi
|
|
|
595
649
|
// Every file is placed, and the config entries below can point at them (a hook runs its script),
|
|
596
650
|
// so a failure from here on leaves them in place.
|
|
597
651
|
created.length = 0;
|
|
652
|
+
// The config files the writes below can create, which a rollback then removes once empty.
|
|
653
|
+
const absentConfigFiles = [placement.configFile, placement.enabledListFile]
|
|
654
|
+
.filter((file) => !!file)
|
|
655
|
+
.map((file) => join(basePath, file))
|
|
656
|
+
.filter((path) => !existsSync(path));
|
|
657
|
+
// The names the install adds to the placement's enabled list, which a rollback takes out again.
|
|
658
|
+
let enabledListAdded = [];
|
|
598
659
|
// Handle config file updates if needed.
|
|
599
660
|
if (placement.configFile && placement.configKey && placement.configHookMerge) {
|
|
600
661
|
// Hook placement: merge the asset's hookConfig event bindings into the tool
|
|
@@ -615,7 +676,7 @@ async function installAsset(entry, options, managedPaths, managedEntries, lockfi
|
|
|
615
676
|
// Auto-register the merged entry names into an enabled-list (e.g. enabledMcpjsonServers
|
|
616
677
|
// in settings.local.json) so the tool auto-approves them.
|
|
617
678
|
if (names.length > 0 && placement.enabledListFile && placement.enabledListKey) {
|
|
618
|
-
await addToEnabledList(join(basePath, placement.enabledListFile), placement.enabledListKey, names, onProgress);
|
|
679
|
+
enabledListAdded = await addToEnabledList(join(basePath, placement.enabledListFile), placement.enabledListKey, names, onProgress);
|
|
619
680
|
}
|
|
620
681
|
}
|
|
621
682
|
else {
|
|
@@ -626,6 +687,9 @@ async function installAsset(entry, options, managedPaths, managedEntries, lockfi
|
|
|
626
687
|
}
|
|
627
688
|
}
|
|
628
689
|
written.push(...sharedEntries.filter((shared) => configEntries.some((c) => !c.command && c.key === shared.key)));
|
|
690
|
+
const configFilesCreated = absentConfigFiles
|
|
691
|
+
.filter((path) => existsSync(path))
|
|
692
|
+
.map((path) => toRelativePosix(projectDir, path));
|
|
629
693
|
// Config entries are tool-specific but the lockfile is shared across tools: tag this
|
|
630
694
|
// tool's entries and carry over whatever other tools already registered for this asset,
|
|
631
695
|
// so a multi-tool install/sync/update never drops another tool's registration record.
|
|
@@ -664,6 +728,8 @@ async function installAsset(entry, options, managedPaths, managedEntries, lockfi
|
|
|
664
728
|
result: {
|
|
665
729
|
...(options.bundleOrigin ? { bundleOrigin: options.bundleOrigin } : {}),
|
|
666
730
|
configEntriesCreated: configEntries,
|
|
731
|
+
...(configFilesCreated.length > 0 ? { configFilesCreated } : {}),
|
|
732
|
+
...(enabledListAdded.length > 0 ? { enabledListAdded } : {}),
|
|
667
733
|
filesPlaced,
|
|
668
734
|
installReason: entry.reason,
|
|
669
735
|
name: asset.name,
|
|
@@ -853,9 +919,10 @@ function resolveFilePath(pathTemplate, assetName, basePath, relativePath, assetT
|
|
|
853
919
|
/**
|
|
854
920
|
* Revert a config file entry created during installation.
|
|
855
921
|
* Reads the config file, removes the entry at the given key path (e.g., "mcpServers.my-mcp"),
|
|
856
|
-
* and writes it back. If the parent section becomes empty, it is also removed.
|
|
922
|
+
* and writes it back. If the parent section becomes empty, it is also removed. A file the
|
|
923
|
+
* install created (`deleteWhenEmpty`) is deleted instead once nothing is left in it.
|
|
857
924
|
*/
|
|
858
|
-
async function revertConfigEntry(configFilePath, keyPath, command, format, onProgress) {
|
|
925
|
+
async function revertConfigEntry(configFilePath, keyPath, command, format, deleteWhenEmpty, onProgress) {
|
|
859
926
|
if (!existsSync(configFilePath)) {
|
|
860
927
|
return;
|
|
861
928
|
}
|
|
@@ -885,6 +952,10 @@ async function revertConfigEntry(configFilePath, keyPath, command, format, onPro
|
|
|
885
952
|
delete config[sectionKey];
|
|
886
953
|
}
|
|
887
954
|
}
|
|
955
|
+
if (deleteWhenEmpty && Object.keys(config).length === 0) {
|
|
956
|
+
await unlink(configFilePath);
|
|
957
|
+
return;
|
|
958
|
+
}
|
|
888
959
|
await writeConfigFile(configFilePath, config, format, onProgress);
|
|
889
960
|
}
|
|
890
961
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/lib/installer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/lib/installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { InstallPlan } from './resolver.js';
|
|
2
2
|
import type { Adapter } from './schemas/adapter.js';
|
|
3
|
-
import type { InstalledAsset } from './schemas/lockfile.js';
|
|
4
3
|
import { type InstallOptions, type InstallResult } from './installer.js';
|
|
5
4
|
export interface ToolInstallResult {
|
|
6
5
|
results: InstallResult[];
|
|
@@ -12,7 +11,8 @@ export interface ToolInstallResult {
|
|
|
12
11
|
* leave it, and the lockfile gets their entries from before the command back. An asset that was
|
|
13
12
|
* already in place for a tool keeps what that tool's pass placed, because rolling it back would
|
|
14
13
|
* delete its working copy (see {@link rollBackInstalledAssets}). When a pass moved such an asset
|
|
15
|
-
* to another version, the whole pass stays, since that version may need the assets it added
|
|
14
|
+
* to another version, the whole pass stays, since that version may need the assets it added; when
|
|
15
|
+
* the failing pass kept itself that way ({@link InstallPlanError.keptInstall}), every pass stays.
|
|
16
16
|
*/
|
|
17
17
|
export declare function executeInstallPlanForTools(plan: InstallPlan, tools: Array<{
|
|
18
18
|
adapter: Adapter;
|
|
@@ -20,9 +20,4 @@ export declare function executeInstallPlanForTools(plan: InstallPlan, tools: Arr
|
|
|
20
20
|
}>, options: Omit<InstallOptions, 'adapter' | 'skipUnsupported'> & {
|
|
21
21
|
onTool?: (tool: string) => void;
|
|
22
22
|
}): Promise<ToolInstallResult[]>;
|
|
23
|
-
/**
|
|
24
|
-
* Whether a lockfile asset is in place for one tool: not uninstalled for it (`excludedTools`),
|
|
25
|
-
* its files are on disk, and the tool's config registration was recorded.
|
|
26
|
-
*/
|
|
27
|
-
export declare function isInstalledForTool(installed: InstalledAsset, adapter: Adapter, projectDir: string): boolean;
|
|
28
23
|
//# sourceMappingURL=multi-tool-install.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-tool-install.d.ts","sourceRoot":"","sources":["../../src/lib/multi-tool-install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"multi-tool-install.d.ts","sourceRoot":"","sources":["../../src/lib/multi-tool-install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAKpD,OAAO,EAGL,KAAK,cAAc,EAEnB,KAAK,aAAa,EAGnB,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAChD,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,iBAAiB,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GACjG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA0D9B"}
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
import { join } from 'node:path';
|
|
2
|
-
import { resolveInstalledPaths } from './adapter.js';
|
|
3
|
-
import { isExcludedForTool } from './asset-tools.js';
|
|
4
|
-
import { needsConfigRegistration } from './config-entries.js';
|
|
5
1
|
import { errorMessage } from './errors.js';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
2
|
+
import { isInstalledForTool } from './installed-for-tool.js';
|
|
3
|
+
import { assertInstalledByAnyTool, executeInstallPlan, InstallPlanError, placeableEntries, rollBackInstalledAssets, } from './installer.js';
|
|
4
|
+
import { findInstalledAsset, readLockfile } from './lockfile.js';
|
|
8
5
|
/**
|
|
9
6
|
* Install `plan` once per tool, as `atk install` and `atk browse` do. A failure in any tool's pass
|
|
10
7
|
* undoes the earlier tools' passes too, then rethrows: the assets the command added for a tool
|
|
11
8
|
* leave it, and the lockfile gets their entries from before the command back. An asset that was
|
|
12
9
|
* already in place for a tool keeps what that tool's pass placed, because rolling it back would
|
|
13
10
|
* delete its working copy (see {@link rollBackInstalledAssets}). When a pass moved such an asset
|
|
14
|
-
* to another version, the whole pass stays, since that version may need the assets it added
|
|
11
|
+
* to another version, the whole pass stays, since that version may need the assets it added; when
|
|
12
|
+
* the failing pass kept itself that way ({@link InstallPlanError.keptInstall}), every pass stays.
|
|
15
13
|
*/
|
|
16
14
|
export async function executeInstallPlanForTools(plan, tools, options) {
|
|
17
15
|
const { onTool, ...installOptions } = options;
|
|
@@ -33,6 +31,7 @@ export async function executeInstallPlanForTools(plan, tools, options) {
|
|
|
33
31
|
const results = await executeInstallPlan(plan, {
|
|
34
32
|
...installOptions,
|
|
35
33
|
adapter,
|
|
34
|
+
installedBefore: before,
|
|
36
35
|
skipUnsupported: tools.length > 1,
|
|
37
36
|
});
|
|
38
37
|
toolResults.push({ results, tool });
|
|
@@ -41,6 +40,9 @@ export async function executeInstallPlanForTools(plan, tools, options) {
|
|
|
41
40
|
assertInstalledByAnyTool(plan, toolResults);
|
|
42
41
|
}
|
|
43
42
|
catch (error) {
|
|
43
|
+
// The failing tool kept its pass, whose lockfile entries the other passes' rollback would undo.
|
|
44
|
+
if (error instanceof InstallPlanError && error.keptInstall)
|
|
45
|
+
throw error;
|
|
44
46
|
try {
|
|
45
47
|
let lockfile;
|
|
46
48
|
for (let i = toolResults.length - 1; i >= 0; i--) {
|
|
@@ -73,16 +75,4 @@ export async function executeInstallPlanForTools(plan, tools, options) {
|
|
|
73
75
|
}
|
|
74
76
|
return toolResults;
|
|
75
77
|
}
|
|
76
|
-
/**
|
|
77
|
-
* Whether a lockfile asset is in place for one tool: not uninstalled for it (`excludedTools`),
|
|
78
|
-
* its files are on disk, and the tool's config registration was recorded.
|
|
79
|
-
*/
|
|
80
|
-
export function isInstalledForTool(installed, adapter, projectDir) {
|
|
81
|
-
if (isExcludedForTool(installed, adapter.tool))
|
|
82
|
-
return false;
|
|
83
|
-
if (needsConfigRegistration(installed, adapter))
|
|
84
|
-
return false;
|
|
85
|
-
const resolved = resolveInstalledPaths(installed, adapter, projectDir);
|
|
86
|
-
return areAssetFilesIntact(resolved.files.map((f) => join(projectDir, f.installedPath)));
|
|
87
|
-
}
|
|
88
78
|
//# sourceMappingURL=multi-tool-install.js.map
|