@detergent-software/atk 8.7.0-dev.1 → 8.7.0-dev.11

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 (215) hide show
  1. package/CHANGELOG.md +106 -0
  2. package/build/commands/audit.d.ts.map +1 -1
  3. package/build/commands/audit.js +34 -11
  4. package/build/commands/audit.js.map +1 -1
  5. package/build/commands/browse.d.ts.map +1 -1
  6. package/build/commands/browse.js +23 -15
  7. package/build/commands/browse.js.map +1 -1
  8. package/build/commands/freeze.d.ts.map +1 -1
  9. package/build/commands/freeze.js +11 -6
  10. package/build/commands/freeze.js.map +1 -1
  11. package/build/commands/index.d.ts.map +1 -1
  12. package/build/commands/index.js +1 -0
  13. package/build/commands/index.js.map +1 -1
  14. package/build/commands/install.d.ts.map +1 -1
  15. package/build/commands/install.js +94 -29
  16. package/build/commands/install.js.map +1 -1
  17. package/build/commands/list.d.ts +2 -1
  18. package/build/commands/list.d.ts.map +1 -1
  19. package/build/commands/list.js +82 -66
  20. package/build/commands/list.js.map +1 -1
  21. package/build/commands/move.d.ts +28 -0
  22. package/build/commands/move.d.ts.map +1 -0
  23. package/build/commands/move.js +180 -0
  24. package/build/commands/move.js.map +1 -0
  25. package/build/commands/outdated.d.ts +2 -1
  26. package/build/commands/outdated.d.ts.map +1 -1
  27. package/build/commands/outdated.js +67 -24
  28. package/build/commands/outdated.js.map +1 -1
  29. package/build/commands/pin.d.ts.map +1 -1
  30. package/build/commands/pin.js +12 -7
  31. package/build/commands/pin.js.map +1 -1
  32. package/build/commands/prune.d.ts.map +1 -1
  33. package/build/commands/prune.js +17 -10
  34. package/build/commands/prune.js.map +1 -1
  35. package/build/commands/sync.d.ts.map +1 -1
  36. package/build/commands/sync.js +24 -15
  37. package/build/commands/sync.js.map +1 -1
  38. package/build/commands/thaw.d.ts.map +1 -1
  39. package/build/commands/thaw.js +11 -6
  40. package/build/commands/thaw.js.map +1 -1
  41. package/build/commands/uninstall.d.ts.map +1 -1
  42. package/build/commands/uninstall.js +20 -15
  43. package/build/commands/uninstall.js.map +1 -1
  44. package/build/commands/unpin.d.ts.map +1 -1
  45. package/build/commands/unpin.js +11 -6
  46. package/build/commands/unpin.js.map +1 -1
  47. package/build/commands/update.d.ts.map +1 -1
  48. package/build/commands/update.js +13 -13
  49. package/build/commands/update.js.map +1 -1
  50. package/build/components/CrossScopeWarning.d.ts +12 -0
  51. package/build/components/CrossScopeWarning.d.ts.map +1 -0
  52. package/build/components/CrossScopeWarning.js +13 -0
  53. package/build/components/CrossScopeWarning.js.map +1 -0
  54. package/build/components/DryRunBanner.d.ts +3 -1
  55. package/build/components/DryRunBanner.d.ts.map +1 -1
  56. package/build/components/DryRunBanner.js +2 -2
  57. package/build/components/DryRunBanner.js.map +1 -1
  58. package/build/components/InstallConfirmBar.d.ts.map +1 -1
  59. package/build/components/InstallConfirmBar.js +1 -3
  60. package/build/components/InstallConfirmBar.js.map +1 -1
  61. package/build/components/InstallSummary.d.ts +3 -1
  62. package/build/components/InstallSummary.d.ts.map +1 -1
  63. package/build/components/InstallSummary.js +2 -2
  64. package/build/components/InstallSummary.js.map +1 -1
  65. package/build/components/ListActionBar.d.ts +4 -2
  66. package/build/components/ListActionBar.d.ts.map +1 -1
  67. package/build/components/ListActionBar.js +5 -4
  68. package/build/components/ListActionBar.js.map +1 -1
  69. package/build/components/ListBrowseList.d.ts +7 -6
  70. package/build/components/ListBrowseList.d.ts.map +1 -1
  71. package/build/components/ListBrowseList.js +10 -6
  72. package/build/components/ListBrowseList.js.map +1 -1
  73. package/build/components/StatusBadge.d.ts +1 -1
  74. package/build/components/StatusBadge.d.ts.map +1 -1
  75. package/build/components/StatusBadge.js +1 -0
  76. package/build/components/StatusBadge.js.map +1 -1
  77. package/build/components/SyncAllInSync.d.ts +3 -1
  78. package/build/components/SyncAllInSync.d.ts.map +1 -1
  79. package/build/components/SyncAllInSync.js +2 -2
  80. package/build/components/SyncAllInSync.js.map +1 -1
  81. package/build/components/SyncDriftedList.d.ts +3 -1
  82. package/build/components/SyncDriftedList.d.ts.map +1 -1
  83. package/build/components/SyncDriftedList.js +3 -3
  84. package/build/components/SyncDriftedList.js.map +1 -1
  85. package/build/components/SyncNoAssets.d.ts +3 -1
  86. package/build/components/SyncNoAssets.d.ts.map +1 -1
  87. package/build/components/SyncNoAssets.js +2 -2
  88. package/build/components/SyncNoAssets.js.map +1 -1
  89. package/build/components/index.d.ts +1 -0
  90. package/build/components/index.d.ts.map +1 -1
  91. package/build/components/index.js +1 -0
  92. package/build/components/index.js.map +1 -1
  93. package/build/hooks/useInitState.d.ts.map +1 -1
  94. package/build/hooks/useInitState.js +4 -2
  95. package/build/hooks/useInitState.js.map +1 -1
  96. package/build/hooks/useListActions.d.ts +19 -6
  97. package/build/hooks/useListActions.d.ts.map +1 -1
  98. package/build/hooks/useListActions.js +37 -33
  99. package/build/hooks/useListActions.js.map +1 -1
  100. package/build/hooks/useListState.d.ts +29 -12
  101. package/build/hooks/useListState.d.ts.map +1 -1
  102. package/build/hooks/useListState.js +22 -6
  103. package/build/hooks/useListState.js.map +1 -1
  104. package/build/hooks/usePruneState.d.ts +6 -0
  105. package/build/hooks/usePruneState.d.ts.map +1 -1
  106. package/build/hooks/usePruneState.js +6 -1
  107. package/build/hooks/usePruneState.js.map +1 -1
  108. package/build/hooks/useResolvedScope.d.ts +21 -0
  109. package/build/hooks/useResolvedScope.d.ts.map +1 -0
  110. package/build/hooks/useResolvedScope.js +15 -0
  111. package/build/hooks/useResolvedScope.js.map +1 -0
  112. package/build/hooks/useUninstallState.d.ts +17 -8
  113. package/build/hooks/useUninstallState.d.ts.map +1 -1
  114. package/build/hooks/useUninstallState.js +48 -12
  115. package/build/hooks/useUninstallState.js.map +1 -1
  116. package/build/lib/adapter.d.ts +41 -2
  117. package/build/lib/adapter.d.ts.map +1 -1
  118. package/build/lib/adapter.js +147 -12
  119. package/build/lib/adapter.js.map +1 -1
  120. package/build/lib/checksum.d.ts.map +1 -1
  121. package/build/lib/checksum.js +2 -1
  122. package/build/lib/checksum.js.map +1 -1
  123. package/build/lib/config-entries.d.ts +5 -3
  124. package/build/lib/config-entries.d.ts.map +1 -1
  125. package/build/lib/config-entries.js +7 -4
  126. package/build/lib/config-entries.js.map +1 -1
  127. package/build/lib/config-file.d.ts +10 -3
  128. package/build/lib/config-file.d.ts.map +1 -1
  129. package/build/lib/config-file.js +29 -7
  130. package/build/lib/config-file.js.map +1 -1
  131. package/build/lib/config-lock.d.ts +3 -1
  132. package/build/lib/config-lock.d.ts.map +1 -1
  133. package/build/lib/config-lock.js +12 -5
  134. package/build/lib/config-lock.js.map +1 -1
  135. package/build/lib/cross-scope.d.ts +50 -0
  136. package/build/lib/cross-scope.d.ts.map +1 -0
  137. package/build/lib/cross-scope.js +132 -0
  138. package/build/lib/cross-scope.js.map +1 -0
  139. package/build/lib/diagnostics.d.ts +15 -2
  140. package/build/lib/diagnostics.d.ts.map +1 -1
  141. package/build/lib/diagnostics.js +152 -10
  142. package/build/lib/diagnostics.js.map +1 -1
  143. package/build/lib/diff-command.d.ts.map +1 -1
  144. package/build/lib/diff-command.js +7 -7
  145. package/build/lib/diff-command.js.map +1 -1
  146. package/build/lib/init.d.ts.map +1 -1
  147. package/build/lib/init.js +2 -1
  148. package/build/lib/init.js.map +1 -1
  149. package/build/lib/installed-for-tool.d.ts +2 -1
  150. package/build/lib/installed-for-tool.d.ts.map +1 -1
  151. package/build/lib/installed-for-tool.js +7 -4
  152. package/build/lib/installed-for-tool.js.map +1 -1
  153. package/build/lib/installer.d.ts +2 -2
  154. package/build/lib/installer.d.ts.map +1 -1
  155. package/build/lib/installer.js +111 -40
  156. package/build/lib/installer.js.map +1 -1
  157. package/build/lib/lockfile.d.ts +1 -1
  158. package/build/lib/lockfile.d.ts.map +1 -1
  159. package/build/lib/lockfile.js +2 -2
  160. package/build/lib/lockfile.js.map +1 -1
  161. package/build/lib/mover.d.ts +103 -0
  162. package/build/lib/mover.d.ts.map +1 -0
  163. package/build/lib/mover.js +375 -0
  164. package/build/lib/mover.js.map +1 -0
  165. package/build/lib/owned-paths.d.ts.map +1 -1
  166. package/build/lib/owned-paths.js +8 -8
  167. package/build/lib/owned-paths.js.map +1 -1
  168. package/build/lib/read-scopes.d.ts +32 -0
  169. package/build/lib/read-scopes.d.ts.map +1 -0
  170. package/build/lib/read-scopes.js +55 -0
  171. package/build/lib/read-scopes.js.map +1 -0
  172. package/build/lib/root-path.d.ts +7 -0
  173. package/build/lib/root-path.d.ts.map +1 -0
  174. package/build/lib/root-path.js +10 -0
  175. package/build/lib/root-path.js.map +1 -0
  176. package/build/lib/schemas/adapter.d.ts +49 -1
  177. package/build/lib/schemas/adapter.d.ts.map +1 -1
  178. package/build/lib/schemas/adapter.js +36 -0
  179. package/build/lib/schemas/adapter.js.map +1 -1
  180. package/build/lib/schemas/lockfile.d.ts +2 -0
  181. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  182. package/build/lib/schemas/lockfile.js +8 -2
  183. package/build/lib/schemas/lockfile.js.map +1 -1
  184. package/build/lib/scope.d.ts +11 -0
  185. package/build/lib/scope.d.ts.map +1 -1
  186. package/build/lib/scope.js +12 -0
  187. package/build/lib/scope.js.map +1 -1
  188. package/build/lib/sync.d.ts +2 -1
  189. package/build/lib/sync.d.ts.map +1 -1
  190. package/build/lib/sync.js +12 -5
  191. package/build/lib/sync.js.map +1 -1
  192. package/build/lib/toml-edit.d.ts +10 -0
  193. package/build/lib/toml-edit.d.ts.map +1 -0
  194. package/build/lib/toml-edit.js +311 -0
  195. package/build/lib/toml-edit.js.map +1 -0
  196. package/build/lib/tool-resolver.d.ts +12 -0
  197. package/build/lib/tool-resolver.d.ts.map +1 -1
  198. package/build/lib/tool-resolver.js +34 -8
  199. package/build/lib/tool-resolver.js.map +1 -1
  200. package/build/lib/uninstaller.d.ts +37 -2
  201. package/build/lib/uninstaller.d.ts.map +1 -1
  202. package/build/lib/uninstaller.js +121 -35
  203. package/build/lib/uninstaller.js.map +1 -1
  204. package/build/lib/updater.d.ts +3 -2
  205. package/build/lib/updater.d.ts.map +1 -1
  206. package/build/lib/updater.js +18 -12
  207. package/build/lib/updater.js.map +1 -1
  208. package/build/lib/write-file.d.ts +5 -2
  209. package/build/lib/write-file.d.ts.map +1 -1
  210. package/build/lib/write-file.js +6 -3
  211. package/build/lib/write-file.js.map +1 -1
  212. package/package.json +1 -1
  213. package/tool-adapters/claude-code.json +13 -0
  214. package/tool-adapters/codex-cli.json +28 -0
  215. package/tool-adapters/copilot-cli.json +46 -2
@@ -1,11 +1,11 @@
1
- import { existsSync } from 'node:fs';
1
+ import { existsSync, realpathSync } from 'node:fs';
2
2
  import { readdir, readFile, rmdir, unlink } from 'node:fs/promises';
3
- import { dirname, join } from 'node:path';
4
- import { getPlacement, resolveInstalledPaths } from './adapter.js';
3
+ import { dirname, resolve } from 'node:path';
4
+ import { adapterAsPlaced, adapterForScope, getPlacement, loadAllAdapters, resolveInstalledPaths } from './adapter.js';
5
5
  import { excludeToolFromAsset, getRemainingTools, isExcludedForTools, supportsType } from './asset-tools.js';
6
6
  import { verifyChecksum } from './checksum.js';
7
7
  import { getConfigEntriesForTool } from './config-entries.js';
8
- import { readConfigFile, resolveConfigFormat, writeConfigFile } from './config-file.js';
8
+ import { readConfigFile, removeEmptiedConfigFile, resolveConfigFormat, writeConfigFile, } from './config-file.js';
9
9
  import { configLockPath, withConfigLock } from './config-lock.js';
10
10
  import { removeFromEnabledList } from './enabled-list.js';
11
11
  import { errorMessage, GuidedError } from './errors.js';
@@ -13,10 +13,42 @@ import { removeHookGroup } from './hook-config.js';
13
13
  import { addAssetToLockfile, findDependents, findInstalledAsset, findOrphanedDependencies, identityKey, readLockfile, removeAssetFromLockfile, withLockfileLock, writeLockfile, } from './lockfile.js';
14
14
  import { formatOrgName } from './org.js';
15
15
  import { configEntriesOwnedByOthers, configEntriesToRemove, holdsAnotherOwnersValue, pathsOwnedByOthers, } from './owned-paths.js';
16
+ import { fromRoot } from './root-path.js';
17
+ import { isSamePath } from './same-path.js';
16
18
  import { writeTextFile } from './write-file.js';
17
19
  export class UninstallerError extends GuidedError {
18
20
  name = 'UninstallerError';
19
21
  }
22
+ /**
23
+ * The adapters of the other bundled tools, beyond `removing`, that still have ATK's copy of one of
24
+ * `assets` (see {@link hasCopyForTool}, with `placedByAtk`), scoped as `scope` places them. An
25
+ * uninstall that drops the entries for every tool removes these copies too rather than leave them
26
+ * untracked: one placed with `--tool` for a tool the scope wasn't set up for, or for a tool since
27
+ * taken out of the scope's tools. A tool whose placements can't be resolved here is skipped.
28
+ */
29
+ export async function adaptersWithCopies(assets, removing, projectDir, { lockfile, onProgress, scope }) {
30
+ const removingTools = new Set(removing.map((a) => a.tool));
31
+ const found = [];
32
+ for (const bundled of await loadAllAdapters()) {
33
+ if (removingTools.has(bundled.tool))
34
+ continue;
35
+ let adapter;
36
+ try {
37
+ adapter = adapterForScope(bundled, scope, projectDir);
38
+ }
39
+ catch (error) {
40
+ onProgress?.(`Not checking ${bundled.tool} for copies: ${errorMessage(error)}`);
41
+ continue;
42
+ }
43
+ for (const asset of assets) {
44
+ if (await hasCopyForTool(asset, adapter, projectDir, { lockfile, placedByAtk: true })) {
45
+ found.push(adapter);
46
+ break;
47
+ }
48
+ }
49
+ }
50
+ return found;
51
+ }
20
52
  /**
21
53
  * Execute a bundle uninstall plan, removing assets and orphaned dependencies.
22
54
  * Errors are collected per-asset rather than aborting the entire operation.
@@ -25,8 +57,9 @@ export async function executeBundleUninstall(plan, options) {
25
57
  // Bundle membership was already resolved by planBundleUninstall keyed on
26
58
  // bundleOrigin (name, org); each removal below uses the asset's own org, so
27
59
  // no ambient org scope participates here.
28
- const { adapter, additionalAdapters = [], onProgress, projectDir, toolScope } = options;
60
+ const { adapter, additionalAdapters = [], onProgress, placedByAtkTools = [], projectDir, toolScope } = options;
29
61
  const adapters = [adapter, ...additionalAdapters];
62
+ const removal = { onProgress, placedByAtkTools };
30
63
  return withLockfileLock(projectDir, async () => {
31
64
  let lockfile = await readLockfile(projectDir);
32
65
  const keptEntries = [];
@@ -44,7 +77,7 @@ export async function executeBundleUninstall(plan, options) {
44
77
  for (const asset of plan.assetsToRemove) {
45
78
  try {
46
79
  onProgress?.(`Removing ${asset.name}...`);
47
- await removeAssetForAdapters(asset, adapters, projectDir, lockfile, onProgress);
80
+ await removeAssetForAdapters(asset, adapters, projectDir, lockfile, removal);
48
81
  const dropped = dropOrExcludeEntry(lockfile, asset, adapters, toolScope);
49
82
  lockfile = dropped.lockfile;
50
83
  if (dropped.remainingTools.length > 0) {
@@ -75,7 +108,7 @@ export async function executeBundleUninstall(plan, options) {
75
108
  for (const orphan of plan.orphansToRemove) {
76
109
  try {
77
110
  onProgress?.(`Removing orphaned dependency ${orphan.name}...`);
78
- await removeAssetForAdapters(orphan, adapters, projectDir, lockfile, onProgress);
111
+ await removeAssetForAdapters(orphan, adapters, projectDir, lockfile, removal);
79
112
  const dropped = dropOrExcludeEntry(lockfile, orphan, adapters, toolScope);
80
113
  lockfile = dropped.lockfile;
81
114
  if (dropped.remainingTools.length > 0) {
@@ -124,8 +157,8 @@ export async function hasCopyForTool(asset, adapter, projectDir, { lockfile, pla
124
157
  if (getConfigEntriesForTool(asset, adapter).length > 0)
125
158
  return true;
126
159
  const ownedByOthers = pathsOwnedByOthers(lockfile, asset, adapter, projectDir);
127
- for (const file of resolveInstalledPaths(asset, adapter, projectDir).files) {
128
- const path = join(projectDir, file.installedPath);
160
+ for (const file of resolveInstalledPaths(asset, adapterAsPlaced(adapter, asset), projectDir).files) {
161
+ const path = fromRoot(projectDir, file.installedPath);
129
162
  if (ownedByOthers.has(path) || !existsSync(path))
130
163
  continue;
131
164
  if (!placedByAtk || (await verifyChecksum(path, file.checksum)))
@@ -234,35 +267,60 @@ export function planUninstall(lockfile, assetName, org, type, removingTools = []
234
267
  };
235
268
  }
236
269
  /**
237
- * Remove a single asset's files and config entries from disk.
238
- * Does NOT touch the lockfile — caller is responsible for lockfile updates.
239
- *
240
- * Uses the adapter to dynamically resolve installed file paths and config entries
241
- * from the asset's source paths, rather than reading pre-computed paths from the lockfile.
242
- * A file or config entry that another entry of `lockfile` also places for the tool is kept.
270
+ * Delete the files `installed` placed for the adapter's tool, at the adapter's placements, and the
271
+ * empty directories they leave below the placements' own. A file another entry of `lockfile` also
272
+ * places for the tool is kept, and so is one that is on disk the same file as one of `keep`. With
273
+ * `placedByAtk`, so is one that doesn't hold what ATK placed (its recorded checksum).
274
+ * Returns the absolute paths removed.
243
275
  */
244
- export async function removeSingleAsset(installed, adapter, projectDir, { lockfile, onProgress }) {
245
- onProgress?.(`Removing files for ${installed.name}...`);
246
- // Dynamically resolve installed paths via the adapter
276
+ export async function removePlacedFiles(installed, adapter, projectDir, { keep = [], lockfile, onProgress, placedByAtk = false, }) {
247
277
  const resolved = resolveInstalledPaths(installed, adapter, projectDir);
248
278
  const ownedByOthers = pathsOwnedByOthers(lockfile, installed, adapter, projectDir);
249
- // Delete placed files (resolve relative paths to absolute)
279
+ // Two spellings of one directory (another case on Windows, a symlink) are one file on disk.
280
+ const kept = new Set(keep.map(realPath));
250
281
  const filesRemoved = [];
282
+ const keptDirs = placementBaseDirs(adapter, projectDir);
251
283
  for (const file of resolved.files) {
252
- const absolutePath = join(projectDir, file.installedPath);
284
+ const absolutePath = fromRoot(projectDir, file.installedPath);
253
285
  if (ownedByOthers.has(absolutePath)) {
254
286
  onProgress?.(`Keeping ${absolutePath}: another installed asset also owns it`);
255
287
  continue;
256
288
  }
289
+ if (kept.has(realPath(absolutePath)))
290
+ continue;
291
+ if (placedByAtk && existsSync(absolutePath) && !(await verifyChecksum(absolutePath, file.checksum))) {
292
+ onProgress?.(`Keeping ${absolutePath}: it is not the file ATK placed`);
293
+ continue;
294
+ }
257
295
  if (existsSync(absolutePath)) {
258
296
  await unlink(absolutePath);
259
297
  filesRemoved.push(absolutePath);
260
298
  // Clean up empty parent directories
261
- await cleanupEmptyDirectories(dirname(absolutePath), onProgress);
299
+ await cleanupEmptyDirectories(dirname(absolutePath), keptDirs, onProgress);
262
300
  }
263
301
  }
302
+ return filesRemoved;
303
+ }
304
+ /**
305
+ * Remove a single asset's files and config entries from disk.
306
+ * Does NOT touch the lockfile — caller is responsible for lockfile updates.
307
+ *
308
+ * Uses the adapter to dynamically resolve installed file paths and config entries
309
+ * from the asset's source paths, rather than reading pre-computed paths from the lockfile.
310
+ * At the user scope they resolve in the user config directory the asset was placed in for the
311
+ * tool, which is not the current one when its `userConfigDir.env` moved since.
312
+ * A file or config entry that another entry of `lockfile` also places for the tool is kept, and
313
+ * with `placedByAtk` a file that doesn't hold what ATK placed (see {@link removePlacedFiles}).
314
+ */
315
+ export async function removeSingleAsset(installed, currentAdapter, projectDir, { lockfile, onProgress, placedByAtk = false, }) {
316
+ onProgress?.(`Removing files for ${installed.name}...`);
317
+ const adapter = adapterAsPlaced(currentAdapter, installed);
318
+ const filesRemoved = await removePlacedFiles(installed, adapter, projectDir, { lockfile, onProgress, placedByAtk });
264
319
  // Clean up this tool's config entries, except one holding the value of another asset that owns it.
265
- const entriesToClean = configEntriesToRemove(installed, adapter, projectDir);
320
+ // With `placedByAtk`, an entry the lockfile didn't record for the tool may be the user's own, so
321
+ // only a memory-template's block, which carries ATK's markers, is rebuilt from the placement.
322
+ const recorded = getConfigEntriesForTool(installed, adapter).length > 0;
323
+ const entriesToClean = configEntriesToRemove(installed, adapter, projectDir).filter((entry) => !placedByAtk || recorded || entry.key.startsWith('memory-template.'));
266
324
  const entriesOwnedByOthers = configEntriesOwnedByOthers(lockfile, installed, adapter, projectDir);
267
325
  const placement = getPlacement(adapter, installed.type);
268
326
  const configEntriesCleaned = [];
@@ -270,7 +328,7 @@ export async function removeSingleAsset(installed, adapter, projectDir, { lockfi
270
328
  const entriesRemoved = [];
271
329
  // The asset's own checksum isn't part of what the result reports.
272
330
  for (const { checksum: _checksum, ...entry } of entriesToClean) {
273
- const absoluteConfigPath = join(projectDir, entry.file);
331
+ const absoluteConfigPath = fromRoot(projectDir, entry.file);
274
332
  if (await holdsAnotherOwnersValue(entry, entriesOwnedByOthers, projectDir)) {
275
333
  onProgress?.(`Keeping ${entry.key} in ${absoluteConfigPath}: another installed asset also owns it`);
276
334
  continue;
@@ -296,7 +354,7 @@ export async function removeSingleAsset(installed, adapter, projectDir, { lockfi
296
354
  const prefix = `${placement.configKey}.`;
297
355
  const names = entriesRemoved.filter((e) => e.key.startsWith(prefix)).map((e) => e.key.slice(prefix.length));
298
356
  if (names.length > 0) {
299
- await removeFromEnabledList(join(projectDir, placement.enabledListFile), placement.enabledListKey, names, true, onProgress);
357
+ await removeFromEnabledList(fromRoot(projectDir, placement.enabledListFile), placement.enabledListKey, names, true, onProgress);
300
358
  }
301
359
  }
302
360
  return { configEntriesCleaned, filesRemoved };
@@ -323,8 +381,9 @@ export async function removeUndeclaredCopy(installed, adapter, projectDir, { man
323
381
  * Uninstall a single asset by name, with optional cascade removal of orphaned dependencies.
324
382
  */
325
383
  export async function uninstallAsset(assetName, options) {
326
- const { adapter, additionalAdapters = [], cascade = true, keepLockfileEntry = false, lockfile: precomputedLockfile, managedFrom, onProgress, org, plan: precomputedPlan, projectDir, toolScope, type, } = options;
384
+ const { adapter, additionalAdapters = [], cascade = true, keepLockfileEntry = false, lockfile: precomputedLockfile, managedFrom, onProgress, org, placedByAtkTools = [], plan: precomputedPlan, projectDir, toolScope, type, } = options;
327
385
  const adapters = [adapter, ...additionalAdapters];
386
+ const removal = { onProgress, placedByAtkTools };
328
387
  onProgress?.(`Reading lockfile...`);
329
388
  let lockfile = precomputedLockfile ?? (await readLockfile(projectDir));
330
389
  // Compute the plan before removing anything
@@ -333,7 +392,7 @@ export async function uninstallAsset(assetName, options) {
333
392
  const plan = precomputedPlan ?? planUninstall(lockfile, assetName, org, type, removingTools);
334
393
  // Remove primary asset. Key the lockfile removal on the entry the plan resolved,
335
394
  // not the caller-supplied org — the lookup may have fallen back to a global entry.
336
- const primaryRemoval = await removeAssetForAdapters(plan.primary, adapters, projectDir, managedFrom ?? lockfile, onProgress);
395
+ const primaryRemoval = await removeAssetForAdapters(plan.primary, adapters, projectDir, managedFrom ?? lockfile, removal);
337
396
  let primaryRemainingTools = [];
338
397
  if (!keepLockfileEntry) {
339
398
  const dropped = dropOrExcludeEntry(lockfile, plan.primary, adapters, toolScope);
@@ -355,7 +414,7 @@ export async function uninstallAsset(assetName, options) {
355
414
  if (cascade && plan.orphanedDependencies.length > 0) {
356
415
  for (const orphan of plan.orphanedDependencies) {
357
416
  onProgress?.(`Removing orphaned dependency ${orphan.name}...`);
358
- const orphanRemoval = await removeAssetForAdapters(orphan, adapters, projectDir, lockfile, onProgress);
417
+ const orphanRemoval = await removeAssetForAdapters(orphan, adapters, projectDir, lockfile, removal);
359
418
  const dropped = dropOrExcludeEntry(lockfile, orphan, adapters, toolScope);
360
419
  lockfile = dropped.lockfile;
361
420
  results.push({
@@ -377,13 +436,15 @@ export async function uninstallAsset(assetName, options) {
377
436
  }
378
437
  /**
379
438
  * Remove empty parent directories up the tree.
380
- * Stops when it encounters a non-empty directory or the .claude directory itself.
439
+ * Stops when it encounters a non-empty directory, one of `keptDirs`, or the .claude directory itself.
381
440
  */
382
- async function cleanupEmptyDirectories(dirPath, onProgress) {
441
+ async function cleanupEmptyDirectories(dirPath, keptDirs, onProgress) {
383
442
  try {
384
443
  // Don't remove well-known root directories
385
444
  const dirName = dirPath.replace(/\\/g, '/');
386
- if (dirName.endsWith('/.claude') ||
445
+ const absoluteDir = resolve(dirPath);
446
+ if (keptDirs.some((kept) => isSamePath(kept, absoluteDir)) ||
447
+ dirName.endsWith('/.claude') ||
387
448
  dirName.endsWith('/.claude/agents') ||
388
449
  dirName.endsWith('/.claude/hooks') ||
389
450
  dirName.endsWith('/.claude/rules') ||
@@ -394,7 +455,7 @@ async function cleanupEmptyDirectories(dirPath, onProgress) {
394
455
  if (entries.length === 0) {
395
456
  await rmdir(dirPath);
396
457
  // Recurse up to clean parent if also empty
397
- await cleanupEmptyDirectories(dirname(dirPath), onProgress);
458
+ await cleanupEmptyDirectories(dirname(dirPath), keptDirs, onProgress);
398
459
  }
399
460
  }
400
461
  catch (error) {
@@ -426,15 +487,40 @@ function dropOrExcludeEntry(lockfile, asset, adapters, toolScope) {
426
487
  function keptEntryFields(remainingTools) {
427
488
  return remainingTools.length > 0 ? { lockfileEntryKept: true, remainingTools } : {};
428
489
  }
490
+ /**
491
+ * The directories the adapter's placements put assets in (`.claude/skills` for
492
+ * `.claude/skills/{name}/`), as absolute paths. They belong to the tool, so removing its last
493
+ * asset leaves them, wherever its config directory is (`CLAUDE_CONFIG_DIR`). Every placed file is
494
+ * under one, so cleaning up from a file stops at its base before it reaches anything above.
495
+ */
496
+ function placementBaseDirs(adapter, projectDir) {
497
+ return Object.values(adapter.placements)
498
+ .filter(({ path }) => path)
499
+ .map(({ path }) => {
500
+ const nameAt = path.indexOf('{name}');
501
+ return resolve(projectDir, nameAt === -1 ? dirname(path) : path.slice(0, nameAt));
502
+ });
503
+ }
504
+ /** The file's canonical path (real case, links resolved), or the path itself when it doesn't exist. */
505
+ function realPath(path) {
506
+ try {
507
+ return realpathSync.native(path);
508
+ }
509
+ catch {
510
+ return resolve(path);
511
+ }
512
+ }
429
513
  /**
430
514
  * Remove a single asset from disk for every given adapter, merging the per-tool results.
431
- * Each adapter only cleans the files and config entries of its own tool.
515
+ * Each adapter only cleans the files and config entries of its own tool; one of `placedByAtkTools`
516
+ * only the files that still hold what ATK placed.
432
517
  */
433
- async function removeAssetForAdapters(installed, adapters, projectDir, lockfile, onProgress) {
518
+ async function removeAssetForAdapters(installed, adapters, projectDir, lockfile, { onProgress, placedByAtkTools }) {
434
519
  const configEntriesCleaned = [];
435
520
  const filesRemoved = [];
436
521
  for (const adapter of adapters) {
437
- const removal = await removeSingleAsset(installed, adapter, projectDir, { lockfile, onProgress });
522
+ const placedByAtk = placedByAtkTools?.includes(adapter.tool) ?? false;
523
+ const removal = await removeSingleAsset(installed, adapter, projectDir, { lockfile, onProgress, placedByAtk });
438
524
  configEntriesCleaned.push(...removal.configEntriesCleaned);
439
525
  filesRemoved.push(...removal.filesRemoved);
440
526
  }
@@ -484,7 +570,7 @@ async function removeConfigEntry(configFilePath, configKeyPath, assetName, comma
484
570
  }
485
571
  // If the whole config file is now empty, delete it rather than leaving a bare `{}`.
486
572
  if (Object.keys(config).length === 0) {
487
- await unlink(configFilePath);
573
+ await removeEmptiedConfigFile(configFilePath, format, writeOptions);
488
574
  return true;
489
575
  }
490
576
  await writeConfigFile(configFilePath, config, format, onProgress, writeOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"uninstaller.js","sourceRoot":"","sources":["../../src/lib/uninstaller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstaller.js","sourceRoot":"","sources":["../../src/lib/uninstaller.ts"],"names":[],"mappings":"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"}
@@ -183,9 +183,10 @@ export declare function excludedAtVersion(registry: Registry, installed: Install
183
183
  * The installed asset `atk update <spec>` names. `@org/name` names that org's entry only. A
184
184
  * bare name resolves the way `install` resolved it: the lockfile org's entry, else the global
185
185
  * one. A name installed as more than one type needs `type` to pick one. The commands its errors
186
- * suggest run in `scope`.
186
+ * suggest run in `scope`, and a "not installed" error names `root`'s scope.
187
187
  */
188
- export declare function findUpdateTarget(lockfile: Lockfile, spec: string, { scope, type, version }?: {
188
+ export declare function findUpdateTarget(lockfile: Lockfile, spec: string, { root, scope, type, version }?: {
189
+ root?: string;
189
190
  scope?: Scope;
190
191
  type?: AssetType;
191
192
  version?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../src/lib/updater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../src/lib/updater.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAatE,OAAO,EACL,YAAY,EAGZ,KAAK,aAAa,EAGnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAOL,KAAK,aAAa,EAEnB,MAAM,gBAAgB,CAAC;AAexB,OAAO,EAAE,KAAK,KAAK,EAA6B,MAAM,YAAY,CAAC;AAGnE,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,0FAA0F;AAC1F,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,iEAAiE;AACjE,MAAM,WAAW,iBAAiB;IAChC,6FAA6F;IAC7F,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,iDAAiD;IACjD,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,eAAe,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,SAAS,CAAA;KAAE,CAAC,CAAC;IACzE;;;OAGG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC;QACpB,UAAU,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,SAAS,CAAA;SAAE,CAAC;QAC7D,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,SAAS,CAAC;KACjB,CAAC,CAAC;IACH,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,2EAA2E;IAC3E,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;IAChC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B;;;OAGG;IACH,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC;IAC/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,gDAAgD;IAChD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mFAAmF;IACnF,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,qCAAqC;IACrC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,gFAAgF;IAChF,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,qBAAa,YAAa,SAAQ,YAAY;IACnC,IAAI,SAAkB;CAChC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,aAAa,EAAE,CA2BhH;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW,EAAE,CAenF;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,EACtD,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,OAAO,GACf,OAAO,CAKT;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,OAAO,GACf,OAAO,CAKT;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACxG,cAAc,CA+BhB;AAED;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,cAAc,EAAE,EAC5B,QAAQ,EAAE,QAAQ,EAClB,EACE,OAAO,EACP,UAAU,EACV,UAAU,EACV,YAAY,GACb,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,YAAY,GAAG,YAAY,CAAC,GAAG;IAAE,YAAY,EAAE,QAAQ,CAAA;CAAE,GAC3F,OAAO,CAAC,iBAAiB,CAAC,CA4B5B;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAEvB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,EAChC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAuO7B"}
@@ -1,6 +1,5 @@
1
- import { join } from 'node:path';
2
1
  import { compare, valid } from 'semver';
3
- import { getPlacement, resolveInstalledPaths } from './adapter.js';
2
+ import { adapterAsPlaced, getPlacement, resolveInstalledPaths } from './adapter.js';
4
3
  import { declarationAllows, isExcludedAtVersion, isExcludedForTool, isUndeclaredForTool, placesAsset, supportsType, } from './asset-tools.js';
5
4
  import { getCredential } from './auth.js';
6
5
  import { getConfigEntriesForTool } from './config-entries.js';
@@ -12,7 +11,8 @@ import { withoutKeptDependencies } from './multi-tool-install.js';
12
11
  import { formatOrgName, parseOrgFromName, scopeSwitchGuidance } from './org.js';
13
12
  import { findAsset } from './registry.js';
14
13
  import { resolveInstallPlan } from './resolver.js';
15
- import { scopedCommand } from './scope.js';
14
+ import { fromRoot } from './root-path.js';
15
+ import { scopedCommand, scopeLabel } from './scope.js';
16
16
  import { removeUndeclaredCopy, uninstallAsset } from './uninstaller.js';
17
17
  export class UpdaterError extends ApiCodeError {
18
18
  name = 'UpdaterError';
@@ -96,9 +96,9 @@ export function excludedAtVersion(registry, installed, version, adapter) {
96
96
  * The installed asset `atk update <spec>` names. `@org/name` names that org's entry only. A
97
97
  * bare name resolves the way `install` resolved it: the lockfile org's entry, else the global
98
98
  * one. A name installed as more than one type needs `type` to pick one. The commands its errors
99
- * suggest run in `scope`.
99
+ * suggest run in `scope`, and a "not installed" error names `root`'s scope.
100
100
  */
101
- export function findUpdateTarget(lockfile, spec, { scope, type, version } = {}) {
101
+ export function findUpdateTarget(lockfile, spec, { root, scope, type, version } = {}) {
102
102
  const { name, org } = parseOrgFromName(spec);
103
103
  const named = (lockfile.assets ?? []).filter((a) => a.name === name && (!type || a.type === type));
104
104
  let matches = named.filter((a) => a.org === (org ?? lockfile.org));
@@ -112,15 +112,16 @@ export function findUpdateTarget(lockfile, spec, { scope, type, version } = {})
112
112
  }
113
113
  if (matches.length === 1)
114
114
  return matches[0];
115
+ const notInstalled = `Asset "${spec}" is not installed${root ? ` in ${scopeLabel({ root, scope: scope ?? 'project' })}` : ''}.`;
115
116
  const elsewhere = [...new Set(named.map((a) => formatOrgName(a.org, a.name)))].sort();
116
117
  if (elsewhere.length > 0) {
117
- throw new UpdaterError(`Asset "${spec}" is not installed. Installed as: ${elsewhere.join(', ')}.`, elsewhere.length === 1
118
+ throw new UpdaterError(`${notInstalled} Installed as: ${elsewhere.join(', ')}.`, elsewhere.length === 1
118
119
  ? {
119
120
  command: scopedCommand(`atk update ${elsewhere[0]}${versionSuffix}${type ? ` --type ${type}` : ''}`, scope),
120
121
  }
121
122
  : {});
122
123
  }
123
- throw new UpdaterError(`Asset "${spec}" is not installed.`);
124
+ throw new UpdaterError(notInstalled);
124
125
  }
125
126
  /**
126
127
  * After every tool's update in a run: remove the adapter's tool's copy of each hook its update
@@ -181,6 +182,7 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
181
182
  // and delegate directly to updateAsset which handles version comparison.
182
183
  if (options.targetVersion && assetNames && assetNames.length === 1) {
183
184
  const installed = findUpdateTarget(lockfile, assetNames[0], {
185
+ root: options.projectDir,
184
186
  scope: options.scope,
185
187
  type: options.type,
186
188
  version: options.targetVersion,
@@ -239,7 +241,7 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
239
241
  const frozenSkipped = [];
240
242
  const skipped = [];
241
243
  if (assetNames && assetNames.length > 0) {
242
- const targets = assetNames.map((spec) => findUpdateTarget(lockfile, spec, { scope: options.scope, type: options.type }));
244
+ const targets = assetNames.map((spec) => findUpdateTarget(lockfile, spec, { root: options.projectDir, scope: options.scope, type: options.type }));
243
245
  toUpdate = outdated.filter((o) => targets.some((t) => isSameAsset(t, o)));
244
246
  // Check for names that aren't outdated
245
247
  for (const target of targets) {
@@ -786,9 +788,13 @@ function updateTouchedPaths(lockfiles, plan, installed, adapter, projectDir) {
786
788
  const relativePaths = [];
787
789
  const replaced = lockfiles.flatMap((lockfile) => plan.entries.flatMap((e) => findInstalledAsset(lockfile, e.asset.name, e.asset.type, e.asset.org) ?? []));
788
790
  for (const asset of [...installed, ...replaced]) {
789
- const resolved = resolveInstalledPaths(asset, adapter, projectDir);
790
- relativePaths.push(...resolved.files.map((f) => f.installedPath));
791
- relativePaths.push(...[...getConfigEntriesForTool(asset, adapter), ...resolved.configEntries].map((e) => e.file));
791
+ // Where the copy is, and where the update writes it when the tool's config directory moved since.
792
+ for (const placedBy of new Set([adapter, adapterAsPlaced(adapter, asset)])) {
793
+ const resolved = resolveInstalledPaths(asset, placedBy, projectDir);
794
+ relativePaths.push(...resolved.files.map((f) => f.installedPath));
795
+ relativePaths.push(...resolved.configEntries.map((e) => e.file));
796
+ }
797
+ relativePaths.push(...getConfigEntriesForTool(asset, adapter).map((e) => e.file));
792
798
  }
793
799
  for (const { asset } of plan.entries) {
794
800
  const placement = getPlacement(adapter, asset.type);
@@ -802,7 +808,7 @@ function updateTouchedPaths(lockfiles, plan, installed, adapter, projectDir) {
802
808
  if (asset.type === 'memory-template')
803
809
  relativePaths.push(placement.path.replace(/\{name\}/g, asset.name));
804
810
  }
805
- return [getLockfilePath(projectDir), ...relativePaths.map((p) => join(projectDir, p))];
811
+ return [getLockfilePath(projectDir), ...relativePaths.map((p) => fromRoot(projectDir, p))];
806
812
  }
807
813
  /** `toolLockfile` with the on-disk lockfile entries of the assets an update installed with `plan`. */
808
814
  async function withInstalledEntries(toolLockfile, plan, { projectDir }) {