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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/build/commands/audit.d.ts.map +1 -1
  3. package/build/commands/audit.js +5 -5
  4. package/build/commands/audit.js.map +1 -1
  5. package/build/commands/browse.js +6 -2
  6. package/build/commands/browse.js.map +1 -1
  7. package/build/commands/diff.d.ts.map +1 -1
  8. package/build/commands/diff.js +1 -1
  9. package/build/commands/diff.js.map +1 -1
  10. package/build/commands/doctor.d.ts +2 -1
  11. package/build/commands/doctor.d.ts.map +1 -1
  12. package/build/commands/doctor.js +9 -3
  13. package/build/commands/doctor.js.map +1 -1
  14. package/build/commands/install.js +9 -2
  15. package/build/commands/install.js.map +1 -1
  16. package/build/commands/outdated.d.ts.map +1 -1
  17. package/build/commands/outdated.js +9 -9
  18. package/build/commands/outdated.js.map +1 -1
  19. package/build/commands/pin.js +3 -3
  20. package/build/commands/pin.js.map +1 -1
  21. package/build/commands/sync.d.ts.map +1 -1
  22. package/build/commands/sync.js +11 -10
  23. package/build/commands/sync.js.map +1 -1
  24. package/build/commands/update.d.ts.map +1 -1
  25. package/build/commands/update.js +21 -7
  26. package/build/commands/update.js.map +1 -1
  27. package/build/commands/why.d.ts.map +1 -1
  28. package/build/commands/why.js +5 -4
  29. package/build/commands/why.js.map +1 -1
  30. package/build/components/DiffView.d.ts +4 -1
  31. package/build/components/DiffView.d.ts.map +1 -1
  32. package/build/components/DiffView.js +3 -2
  33. package/build/components/DiffView.js.map +1 -1
  34. package/build/components/ExcludedSkippedHint.d.ts +4 -1
  35. package/build/components/ExcludedSkippedHint.d.ts.map +1 -1
  36. package/build/components/ExcludedSkippedHint.js +3 -2
  37. package/build/components/ExcludedSkippedHint.js.map +1 -1
  38. package/build/components/FrozenSkippedHint.d.ts +4 -1
  39. package/build/components/FrozenSkippedHint.d.ts.map +1 -1
  40. package/build/components/FrozenSkippedHint.js +3 -2
  41. package/build/components/FrozenSkippedHint.js.map +1 -1
  42. package/build/components/SyncAllInSync.d.ts +4 -1
  43. package/build/components/SyncAllInSync.d.ts.map +1 -1
  44. package/build/components/SyncAllInSync.js +2 -2
  45. package/build/components/SyncAllInSync.js.map +1 -1
  46. package/build/components/SyncDriftedList.d.ts +4 -1
  47. package/build/components/SyncDriftedList.d.ts.map +1 -1
  48. package/build/components/SyncDriftedList.js +3 -3
  49. package/build/components/SyncDriftedList.js.map +1 -1
  50. package/build/hooks/useListActions.d.ts.map +1 -1
  51. package/build/hooks/useListActions.js +3 -1
  52. package/build/hooks/useListActions.js.map +1 -1
  53. package/build/lib/adapter.d.ts +7 -0
  54. package/build/lib/adapter.d.ts.map +1 -1
  55. package/build/lib/adapter.js +8 -0
  56. package/build/lib/adapter.js.map +1 -1
  57. package/build/lib/config-file.d.ts +5 -1
  58. package/build/lib/config-file.d.ts.map +1 -1
  59. package/build/lib/config-file.js +6 -3
  60. package/build/lib/config-file.js.map +1 -1
  61. package/build/lib/config-lock.d.ts +20 -0
  62. package/build/lib/config-lock.d.ts.map +1 -0
  63. package/build/lib/config-lock.js +60 -0
  64. package/build/lib/config-lock.js.map +1 -0
  65. package/build/lib/diagnostics.d.ts +12 -6
  66. package/build/lib/diagnostics.d.ts.map +1 -1
  67. package/build/lib/diagnostics.js +29 -24
  68. package/build/lib/diagnostics.js.map +1 -1
  69. package/build/lib/diff-command.d.ts +3 -0
  70. package/build/lib/diff-command.d.ts.map +1 -1
  71. package/build/lib/diff-command.js +10 -8
  72. package/build/lib/diff-command.js.map +1 -1
  73. package/build/lib/hook-config.d.ts +7 -0
  74. package/build/lib/hook-config.d.ts.map +1 -1
  75. package/build/lib/hook-config.js +11 -0
  76. package/build/lib/hook-config.js.map +1 -1
  77. package/build/lib/installer.d.ts +6 -2
  78. package/build/lib/installer.d.ts.map +1 -1
  79. package/build/lib/installer.js +47 -22
  80. package/build/lib/installer.js.map +1 -1
  81. package/build/lib/multi-tool-install.d.ts +1 -1
  82. package/build/lib/multi-tool-install.d.ts.map +1 -1
  83. package/build/lib/multi-tool-install.js +10 -6
  84. package/build/lib/multi-tool-install.js.map +1 -1
  85. package/build/lib/org.d.ts +2 -1
  86. package/build/lib/org.d.ts.map +1 -1
  87. package/build/lib/org.js +4 -3
  88. package/build/lib/org.js.map +1 -1
  89. package/build/lib/schemas/adapter.d.ts +31 -0
  90. package/build/lib/schemas/adapter.d.ts.map +1 -1
  91. package/build/lib/schemas/adapter.js +12 -0
  92. package/build/lib/schemas/adapter.js.map +1 -1
  93. package/build/lib/scope.d.ts +5 -0
  94. package/build/lib/scope.d.ts.map +1 -1
  95. package/build/lib/scope.js +7 -0
  96. package/build/lib/scope.js.map +1 -1
  97. package/build/lib/sync.d.ts +11 -2
  98. package/build/lib/sync.d.ts.map +1 -1
  99. package/build/lib/sync.js +8 -7
  100. package/build/lib/sync.js.map +1 -1
  101. package/build/lib/tool-resolver.d.ts +2 -0
  102. package/build/lib/tool-resolver.d.ts.map +1 -1
  103. package/build/lib/tool-resolver.js +8 -4
  104. package/build/lib/tool-resolver.js.map +1 -1
  105. package/build/lib/uninstaller.d.ts.map +1 -1
  106. package/build/lib/uninstaller.js +5 -3
  107. package/build/lib/uninstaller.js.map +1 -1
  108. package/build/lib/updater.d.ts +12 -6
  109. package/build/lib/updater.d.ts.map +1 -1
  110. package/build/lib/updater.js +56 -37
  111. package/build/lib/updater.js.map +1 -1
  112. package/build/lib/write-file.d.ts +12 -2
  113. package/build/lib/write-file.d.ts.map +1 -1
  114. package/build/lib/write-file.js +54 -7
  115. package/build/lib/write-file.js.map +1 -1
  116. package/package.json +1 -1
  117. package/tool-adapters/claude-code.json +31 -0
@@ -2,9 +2,9 @@ import type { Adapter } from './schemas/adapter.js';
2
2
  import type { AssetType } from './schemas/index.js';
3
3
  import type { Registry } from './schemas/index.js';
4
4
  import type { InstalledAsset, Lockfile } from './schemas/lockfile.js';
5
- import type { Scope } from './scope.js';
6
5
  import { ApiCodeError, type ErrorGuidance } from './errors.js';
7
6
  import { type InstallResult } from './installer.js';
7
+ import { type Scope } from './scope.js';
8
8
  export interface OutdatedAsset {
9
9
  /** Whether the asset is frozen. */
10
10
  frozen?: boolean;
@@ -113,7 +113,10 @@ export interface UpdateOptions {
113
113
  onProgress?: (message: string) => void;
114
114
  /** Project root directory. */
115
115
  projectDir: string;
116
- /** The scope `projectDir` is the root of. Placement doesn't depend on it yet. */
116
+ /**
117
+ * The scope `projectDir` is the root of. The fix-it commands in errors and warnings carry it,
118
+ * and it is passed on to the installer (see `InstallOptions.scope`).
119
+ */
117
120
  scope?: Scope;
118
121
  /** Target version to update to (defaults to latest). */
119
122
  targetVersion?: string;
@@ -155,9 +158,10 @@ export declare function checkOutdated(lockfile: Lockfile, registry: Registry, fr
155
158
  /**
156
159
  * Installed assets pinned to a version other than the one installed. Older CLIs let
157
160
  * `atk pin name@X` write the pin without installing X, and `update` skips pinned assets, so
158
- * nothing else brings them back into line.
161
+ * nothing else brings them back into line. Each one's `command` installs the pinned version in
162
+ * `scope`.
159
163
  */
160
- export declare function checkPinMismatches(lockfile: Lockfile): PinMismatch[];
164
+ export declare function checkPinMismatches(lockfile: Lockfile, scope?: Scope): PinMismatch[];
161
165
  /**
162
166
  * Whether the manifest of `version` of the asset lets the adapter's tool take it (see
163
167
  * {@link declarationAllows}); only a hook's declaration decides that. A version the registry lacks
@@ -178,9 +182,11 @@ export declare function excludedAtVersion(registry: Registry, installed: Install
178
182
  /**
179
183
  * The installed asset `atk update <spec>` names. `@org/name` names that org's entry only. A
180
184
  * bare name resolves the way `install` resolved it: the lockfile org's entry, else the global
181
- * one. A name installed as more than one type needs `type` to pick one.
185
+ * one. A name installed as more than one type needs `type` to pick one. The commands its errors
186
+ * suggest run in `scope`.
182
187
  */
183
- export declare function findUpdateTarget(lockfile: Lockfile, spec: string, { type, version }?: {
188
+ export declare function findUpdateTarget(lockfile: Lockfile, spec: string, { scope, type, version }?: {
189
+ scope?: Scope;
184
190
  type?: AssetType;
185
191
  version?: string;
186
192
  }): InstalledAsset;
@@ -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":"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"}
@@ -12,6 +12,7 @@ import { withoutKeptDependencies } from './multi-tool-install.js';
12
12
  import { formatOrgName, parseOrgFromName, scopeSwitchGuidance } from './org.js';
13
13
  import { findAsset } from './registry.js';
14
14
  import { resolveInstallPlan } from './resolver.js';
15
+ import { scopedCommand } from './scope.js';
15
16
  import { removeUndeclaredCopy, uninstallAsset } from './uninstaller.js';
16
17
  export class UpdaterError extends ApiCodeError {
17
18
  name = 'UpdaterError';
@@ -49,13 +50,14 @@ export function checkOutdated(lockfile, registry, frozenNames) {
49
50
  /**
50
51
  * Installed assets pinned to a version other than the one installed. Older CLIs let
51
52
  * `atk pin name@X` write the pin without installing X, and `update` skips pinned assets, so
52
- * nothing else brings them back into line.
53
+ * nothing else brings them back into line. Each one's `command` installs the pinned version in
54
+ * `scope`.
53
55
  */
54
- export function checkPinMismatches(lockfile) {
56
+ export function checkPinMismatches(lockfile, scope) {
55
57
  return (lockfile.assets ?? []).flatMap(({ name, org, pinnedVersion, type, version }) => pinnedVersion && pinnedVersion !== version
56
58
  ? [
57
59
  {
58
- command: `atk install ${formatOrgName(org, name)}@${pinnedVersion} --pin`,
60
+ command: scopedCommand(`atk install ${formatOrgName(org, name)}@${pinnedVersion} --pin`, scope),
59
61
  installedVersion: version,
60
62
  name,
61
63
  ...(org ? { org } : {}),
@@ -93,9 +95,10 @@ export function excludedAtVersion(registry, installed, version, adapter) {
93
95
  /**
94
96
  * The installed asset `atk update <spec>` names. `@org/name` names that org's entry only. A
95
97
  * bare name resolves the way `install` resolved it: the lockfile org's entry, else the global
96
- * one. A name installed as more than one type needs `type` to pick one.
98
+ * one. A name installed as more than one type needs `type` to pick one. The commands its errors
99
+ * suggest run in `scope`.
97
100
  */
98
- export function findUpdateTarget(lockfile, spec, { type, version } = {}) {
101
+ export function findUpdateTarget(lockfile, spec, { scope, type, version } = {}) {
99
102
  const { name, org } = parseOrgFromName(spec);
100
103
  const named = (lockfile.assets ?? []).filter((a) => a.name === name && (!type || a.type === type));
101
104
  let matches = named.filter((a) => a.org === (org ?? lockfile.org));
@@ -105,14 +108,16 @@ export function findUpdateTarget(lockfile, spec, { type, version } = {}) {
105
108
  const versionSuffix = version ? `@${version}` : '';
106
109
  if (matches.length > 1) {
107
110
  const types = matches.map((a) => a.type).sort();
108
- throw new UpdaterError(`"${spec}" is installed as more than one type (${types.join(', ')}). Name the one to update with --type.`, { command: `atk update ${spec}${versionSuffix} --type ${types[0]}` });
111
+ throw new UpdaterError(`"${spec}" is installed as more than one type (${types.join(', ')}). Name the one to update with --type.`, { command: scopedCommand(`atk update ${spec}${versionSuffix} --type ${types[0]}`, scope) });
109
112
  }
110
113
  if (matches.length === 1)
111
114
  return matches[0];
112
115
  const elsewhere = [...new Set(named.map((a) => formatOrgName(a.org, a.name)))].sort();
113
116
  if (elsewhere.length > 0) {
114
117
  throw new UpdaterError(`Asset "${spec}" is not installed. Installed as: ${elsewhere.join(', ')}.`, elsewhere.length === 1
115
- ? { command: `atk update ${elsewhere[0]}${versionSuffix}${type ? ` --type ${type}` : ''}` }
118
+ ? {
119
+ command: scopedCommand(`atk update ${elsewhere[0]}${versionSuffix}${type ? ` --type ${type}` : ''}`, scope),
120
+ }
116
121
  : {});
117
122
  }
118
123
  throw new UpdaterError(`Asset "${spec}" is not installed.`);
@@ -176,6 +181,7 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
176
181
  // and delegate directly to updateAsset which handles version comparison.
177
182
  if (options.targetVersion && assetNames && assetNames.length === 1) {
178
183
  const installed = findUpdateTarget(lockfile, assetNames[0], {
184
+ scope: options.scope,
179
185
  type: options.type,
180
186
  version: options.targetVersion,
181
187
  });
@@ -184,17 +190,11 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
184
190
  // Check frozen state for explicitly targeted asset
185
191
  const compositeKey = `${installed.type}:${installed.org ?? ''}:${name}`;
186
192
  if (options.frozenAssets?.has(compositeKey)) {
187
- throw new UpdaterError(`Asset "${name}" is frozen. Use "atk thaw ${spec}" to unfreeze it before updating.`, {
188
- command: `atk thaw ${spec}`,
189
- hint: 'Thaw the asset before updating, or remove it from your lockfile.',
190
- });
193
+ throw frozenError(name, spec, options.scope);
191
194
  }
192
195
  // Check pin state for explicitly targeted asset
193
196
  if (installed.pinnedVersion && !options.force) {
194
- throw new UpdaterError(`Asset "${name}" is pinned to version "${installed.pinnedVersion}". Use --force to override the pin.`, {
195
- command: `atk unpin ${spec}`,
196
- hint: 'Unpin the asset, or pass --force to override the pin.',
197
- });
197
+ throw pinnedError(`Asset "${name}" is pinned to version "${installed.pinnedVersion}".`, spec, options.scope);
198
198
  }
199
199
  // Uninstalled for this tool: leave it alone (updating would reinstall it here). The
200
200
  // other tools in a multi-tool update still get the new version.
@@ -239,14 +239,14 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
239
239
  const frozenSkipped = [];
240
240
  const skipped = [];
241
241
  if (assetNames && assetNames.length > 0) {
242
- const targets = assetNames.map((spec) => findUpdateTarget(lockfile, spec, { type: options.type }));
242
+ const targets = assetNames.map((spec) => findUpdateTarget(lockfile, spec, { scope: options.scope, type: options.type }));
243
243
  toUpdate = outdated.filter((o) => targets.some((t) => isSameAsset(t, o)));
244
244
  // Check for names that aren't outdated
245
245
  for (const target of targets) {
246
246
  if (!outdated.some((o) => isSameAsset(target, o))) {
247
247
  const resolved = findAsset(registry, target.name, target.type, undefined, target.org);
248
248
  if (resolved && resolved.asset.org !== target.org) {
249
- throw scopeSwitchError(target, resolved.asset);
249
+ throw scopeSwitchError(target, resolved.asset, options.scope);
250
250
  }
251
251
  throw new UpdaterError(`Asset "${formatOrgName(target.org, target.name)}" is already at the latest version (v${target.version}).`);
252
252
  }
@@ -254,20 +254,13 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
254
254
  // For explicitly targeted frozen assets, throw
255
255
  for (const asset of toUpdate) {
256
256
  if (asset.frozen) {
257
- const spec = assetSpec(asset, options.type);
258
- throw new UpdaterError(`Asset "${asset.name}" is frozen. Use "atk thaw ${spec}" to unfreeze it before updating.`, {
259
- command: `atk thaw ${spec}`,
260
- hint: 'Thaw the asset before updating, or remove it from your lockfile.',
261
- });
257
+ throw frozenError(asset.name, assetSpec(asset, options.type), options.scope);
262
258
  }
263
259
  }
264
260
  // For explicitly targeted pinned assets, throw unless force is true
265
261
  for (const asset of toUpdate) {
266
262
  if (asset.pinned && !options.force) {
267
- throw new UpdaterError(`Asset "${asset.name}" is pinned. Use --force to override the pin.`, {
268
- command: `atk unpin ${assetSpec(asset, options.type)}`,
269
- hint: 'Unpin the asset, or pass --force to override the pin.',
270
- });
263
+ throw pinnedError(`Asset "${asset.name}" is pinned.`, assetSpec(asset, options.type), options.scope);
271
264
  }
272
265
  }
273
266
  }
@@ -277,11 +270,13 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
277
270
  for (const asset of outdated) {
278
271
  if (asset.frozen) {
279
272
  frozenSkipped.push(asset);
280
- options.onProgress?.(`Skipping frozen asset ${asset.name} (frozen, use "atk thaw ${asset.name}" to unfreeze)`);
273
+ const thaw = scopedCommand(`atk thaw ${asset.name}`, options.scope);
274
+ options.onProgress?.(`Skipping frozen asset ${asset.name} (frozen, use "${thaw}" to unfreeze)`);
281
275
  }
282
276
  else if (asset.pinned) {
283
277
  skipped.push(asset);
284
- options.onProgress?.(`Skipping pinned asset ${asset.name} (pinned, use "atk update ${asset.name} --force" to override)`);
278
+ const force = scopedCommand(`atk update ${asset.name} --force`, options.scope);
279
+ options.onProgress?.(`Skipping pinned asset ${asset.name} (pinned, use "${force}" to override)`);
285
280
  }
286
281
  else {
287
282
  toUpdate.push(asset);
@@ -417,8 +412,13 @@ async function failedDependencySkipFor(installed, registry, options) {
417
412
  const lockfile = await readLockfile(options.projectDir);
418
413
  let plan;
419
414
  try {
420
- const { adapter, projectDir, toolLockfile } = options;
421
- plan = planFor(registry, installed, resolved.version, { adapter, lockfile: toolLockfile ?? lockfile, projectDir });
415
+ const { adapter, projectDir, scope, toolLockfile } = options;
416
+ plan = planFor(registry, installed, resolved.version, {
417
+ adapter,
418
+ lockfile: toolLockfile ?? lockfile,
419
+ projectDir,
420
+ scope,
421
+ });
422
422
  }
423
423
  catch (error) {
424
424
  // It would move a pinned dependency, which the update itself refuses and reports.
@@ -462,6 +462,14 @@ function failedSkipFor(asset, snapshot, recorded, options) {
462
462
  function failureReason(error, installed) {
463
463
  return asSentence(installFailureMessage(error, installed));
464
464
  }
465
+ /** The refusal to update a frozen asset, with the thaw command for its scope. */
466
+ function frozenError(name, spec, scope) {
467
+ const thaw = scopedCommand(`atk thaw ${spec}`, scope);
468
+ return new UpdaterError(`Asset "${name}" is frozen. Use "${thaw}" to unfreeze it before updating.`, {
469
+ command: thaw,
470
+ hint: 'Thaw the asset before updating, or remove it from your lockfile.',
471
+ });
472
+ }
465
473
  /**
466
474
  * Check if the registry version is newer than the installed version.
467
475
  * Falls back to string comparison if semver parsing fails.
@@ -493,6 +501,13 @@ function liftFailure(installed, error) {
493
501
  function lockfileEntryFor(lockfile, asset) {
494
502
  return (lockfile.assets ?? []).find((a) => isSameAsset(a, asset));
495
503
  }
504
+ /** The refusal to update a pinned asset (`pinned`, a sentence), with the unpin command for its scope. */
505
+ function pinnedError(pinned, spec, scope) {
506
+ return new UpdaterError(`${pinned} Use --force to override the pin.`, {
507
+ command: scopedCommand(`atk unpin ${spec}`, scope),
508
+ hint: 'Unpin the asset, or pass --force to override the pin.',
509
+ });
510
+ }
496
511
  /**
497
512
  * The install plan for one version of an installed asset. The resolver treats the asset as
498
513
  * a fresh top-level request, so keep the install reason its lockfile entry had: updating a
@@ -536,8 +551,8 @@ async function restoreBundleOrigin(projectDir, installed) {
536
551
  return;
537
552
  await writeLockfile(projectDir, addAssetToLockfile(lockfile, { ...entry, bundleOrigin: installed.bundleOrigin }));
538
553
  }
539
- function scopeSwitchError(installed, fallback) {
540
- const { message, ...guidance } = scopeSwitchGuidance(installed, fallback, 'update');
554
+ function scopeSwitchError(installed, fallback, scope) {
555
+ const { message, ...guidance } = scopeSwitchGuidance(installed, fallback, 'update', scope);
541
556
  return new UpdaterError(message, guidance);
542
557
  }
543
558
  function toExcludedSkipped(installed) {
@@ -559,7 +574,7 @@ async function updateAssetPlanned(assetName, installed, registry, options) {
559
574
  throw new UpdaterError(`Asset "${assetName}" not found in registry.`);
560
575
  }
561
576
  if (resolved.asset.org !== installed.org) {
562
- throw scopeSwitchError(installed, resolved.asset);
577
+ throw scopeSwitchError(installed, resolved.asset, scope);
563
578
  }
564
579
  const toVersion = resolved.version;
565
580
  if (!isNewer(toVersion, installed.version)) {
@@ -668,22 +683,26 @@ async function updateAssetPlanned(assetName, installed, registry, options) {
668
683
  }
669
684
  catch (rollbackError) {
670
685
  const rollbackFailure = failureReason(rollbackError, installed);
686
+ const sync = scopedCommand('atk sync', scope);
671
687
  throw new UpdaterError(`Failed to update "${assetName}" to v${toVersion}: ${installFailure} ` +
672
688
  `Rollback to v${fromVersion} also failed` +
673
689
  (rollbackFailure === installFailure ? ' for the same reason. ' : `: ${rollbackFailure} `) +
674
- `Run "atk sync" to restore the asset.`, { command: 'atk sync', ...errorGuidance(installError) });
690
+ `Run "${sync}" to restore the asset.`, { command: sync, ...errorGuidance(installError) });
675
691
  }
676
692
  if (isExcludedForTool(installed, adapter.tool)) {
677
693
  // A hook whose exclusion this version lifts: the tool had no copy, and still has none.
678
694
  throw new UpdaterError(`Failed to install "${assetName}" v${toVersion} for ${adapter.tool}: ${installFailure} ` +
679
695
  `Nothing was installed for ${adapter.tool}.`, conflict
680
- ? { command: `atk sync --tool ${adapter.tool}`, hint: `${conflictRemedy}, then run the command.` }
696
+ ? {
697
+ command: scopedCommand(`atk sync --tool ${adapter.tool}`, scope),
698
+ hint: `${conflictRemedy}, then run the command.`,
699
+ }
681
700
  : errorGuidance(installError));
682
701
  }
683
702
  if (lockedVersion !== undefined && lockedVersion !== fromVersion) {
684
703
  // The lockfile has one entry for every tool, so this tool's files now trail it.
685
704
  const tool = adapter.tool;
686
- const command = `atk sync --tool ${tool}`;
705
+ const command = scopedCommand(`atk sync --tool ${tool}`, scope);
687
706
  throw new UpdaterError(`Failed to update "${assetName}" to v${toVersion} for ${tool}: ${installFailure} ` +
688
707
  `Its ${tool} files were restored to v${fromVersion}, but the lockfile records v${lockedVersion}, ` +
689
708
  `which the other tools have. Run "${command}" to install v${lockedVersion} for ${tool}.`, conflict
@@ -739,7 +758,7 @@ async function updateAssetPlanned(assetName, installed, registry, options) {
739
758
  // Other tools may still need the dependency, so the command removes it for this tool only.
740
759
  const toolFlag = (options.configuredAdapters?.length ?? 1) > 1 ? ` --tool ${adapter.tool}` : '';
741
760
  const spec = `${depAsset.org ? `@${depAsset.org}/` : ''}${dep.name}`;
742
- warnings.push({ command: `atk uninstall ${spec}${toolFlag}`, message });
761
+ warnings.push({ command: scopedCommand(`atk uninstall ${spec}${toolFlag}`, scope), message });
743
762
  }
744
763
  }
745
764
  }
@@ -1 +1 @@
1
- {"version":3,"file":"updater.js","sourceRoot":"","sources":["../../src/lib/updater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updater.js","sourceRoot":"","sources":["../../src/lib/updater.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
+ /** How a file is written. */
2
+ export interface WriteOptions {
3
+ /**
4
+ * Write a temp file next to it and rename it over the file, so a process that reads the file
5
+ * while it is written (a tool rewriting its own config) never sees it half written.
6
+ */
7
+ atomic?: boolean;
8
+ }
1
9
  /**
2
10
  * Write a binary file verbatim, but skip the write when the content is unchanged.
3
11
  *
@@ -26,8 +34,9 @@ export declare function writeBinaryFile(filePath: string, content: Buffer): Prom
26
34
  *
27
35
  * @param filePath - Absolute path of the file to write.
28
36
  * @param data - Value to serialize as JSON.
37
+ * @param options - How to write it.
29
38
  */
30
- export declare function writeJsonFile(filePath: string, data: unknown): Promise<void>;
39
+ export declare function writeJsonFile(filePath: string, data: unknown, options?: WriteOptions): Promise<void>;
31
40
  /**
32
41
  * Write a text file verbatim, but skip the write when the content is unchanged.
33
42
  *
@@ -49,6 +58,7 @@ export declare function writeTextFile(filePath: string, content: string): Promis
49
58
  *
50
59
  * @param filePath - Absolute path of the file to write.
51
60
  * @param data - Object to serialize as TOML.
61
+ * @param options - How to write it.
52
62
  */
53
- export declare function writeTomlFile(filePath: string, data: Record<string, unknown>): Promise<void>;
63
+ export declare function writeTomlFile(filePath: string, data: Record<string, unknown>, options?: WriteOptions): Promise<void>;
54
64
  //# sourceMappingURL=write-file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"write-file.d.ts","sourceRoot":"","sources":["../../src/lib/write-file.ts"],"names":[],"mappings":"AAYA;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYtF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAYlF;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpF;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAUlG"}
1
+ {"version":3,"file":"write-file.d.ts","sourceRoot":"","sources":["../../src/lib/write-file.ts"],"names":[],"mappings":"AAOA,6BAA6B;AAC7B,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AASD;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYtF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY9G;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGpF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CAUf"}
@@ -1,6 +1,8 @@
1
+ import { randomBytes } from 'node:crypto';
1
2
  import { existsSync } from 'node:fs';
2
- import { mkdir, readFile, writeFile } from 'node:fs/promises';
3
+ import { chmod, mkdir, readFile, realpath, rename, stat, unlink, writeFile } from 'node:fs/promises';
3
4
  import { dirname } from 'node:path';
5
+ import { setTimeout as sleep } from 'node:timers/promises';
4
6
  import { stringify as stringifyToml } from 'smol-toml';
5
7
  /**
6
8
  * Default indentation for brand-new JSON files that ATK creates (no existing
@@ -47,8 +49,9 @@ export async function writeBinaryFile(filePath, content) {
47
49
  *
48
50
  * @param filePath - Absolute path of the file to write.
49
51
  * @param data - Value to serialize as JSON.
52
+ * @param options - How to write it.
50
53
  */
51
- export async function writeJsonFile(filePath, data) {
54
+ export async function writeJsonFile(filePath, data, options = {}) {
52
55
  const existing = await readIfExists(filePath);
53
56
  const indent = existing === undefined ? DEFAULT_JSON_INDENT : detectIndent(existing);
54
57
  const eol = existing !== undefined && existing.includes('\r\n') ? '\r\n' : '\n';
@@ -56,7 +59,7 @@ export async function writeJsonFile(filePath, data) {
56
59
  // escapes any newline inside string values, so a global `\n` → eol swap only
57
60
  // touches structural newlines.
58
61
  const content = JSON.stringify(data, null, indent).replace(/\n/g, eol) + eol;
59
- await writeFileIfChanged(filePath, content, existing);
62
+ await writeFileIfChanged(filePath, content, existing, options);
60
63
  }
61
64
  /**
62
65
  * Write a text file verbatim, but skip the write when the content is unchanged.
@@ -82,15 +85,16 @@ export async function writeTextFile(filePath, content) {
82
85
  *
83
86
  * @param filePath - Absolute path of the file to write.
84
87
  * @param data - Object to serialize as TOML.
88
+ * @param options - How to write it.
85
89
  */
86
- export async function writeTomlFile(filePath, data) {
90
+ export async function writeTomlFile(filePath, data, options = {}) {
87
91
  const existing = await readIfExists(filePath);
88
92
  const eol = existing !== undefined && existing.includes('\r\n') ? '\r\n' : '\n';
89
93
  // smol-toml emits `\n` as the structural line separator and escapes any
90
94
  // newline inside string values, so a global `\n` → eol swap only touches
91
95
  // structural newlines.
92
96
  const content = stringifyToml(data).replace(/\n/g, eol);
93
- await writeFileIfChanged(filePath, content, existing);
97
+ await writeFileIfChanged(filePath, content, existing, options);
94
98
  }
95
99
  /**
96
100
  * Detect the per-level indentation unit of an existing JSON document.
@@ -116,17 +120,60 @@ async function readIfExists(filePath) {
116
120
  return undefined;
117
121
  return readFile(filePath, 'utf-8');
118
122
  }
123
+ /**
124
+ * Write `content` to a temp file next to `filePath` and rename it over the file. A symlink is
125
+ * written through to its target, and the file keeps its mode (a `.claude.json` kept at 0600
126
+ * because it holds MCP secrets stays 0600); a new file gets 0600. Windows refuses a rename while another process (an
127
+ * antivirus scan, the tool reading it) has the file open, so a refused rename is retried briefly.
128
+ * The temp file is removed when the write fails.
129
+ */
130
+ async function writeFileAtomic(filePath, content) {
131
+ const target = existsSync(filePath) ? await realpath(filePath) : filePath;
132
+ // A new file is private to its owner: what a tool rewrites while it runs can hold secrets.
133
+ const mode = existsSync(target) ? (await stat(target)).mode & 0o777 : 0o600;
134
+ const tempPath = `${target}.tmp.${process.pid}.${randomBytes(4).toString('hex')}`;
135
+ try {
136
+ await writeFile(tempPath, content, { encoding: 'utf-8', mode });
137
+ await chmod(tempPath, mode);
138
+ await renameWithRetry(tempPath, target);
139
+ }
140
+ catch (error) {
141
+ await unlink(tempPath).catch(() => undefined);
142
+ throw error;
143
+ }
144
+ }
119
145
  /**
120
146
  * Write `content` to `filePath` only if it differs from `existing`, creating
121
147
  * the parent directory as needed. A no-op when the content already matches.
122
148
  */
123
- async function writeFileIfChanged(filePath, content, existing) {
149
+ async function writeFileIfChanged(filePath, content, existing, { atomic = false } = {}) {
124
150
  if (existing === content)
125
151
  return;
126
152
  const dir = dirname(filePath);
127
153
  if (!existsSync(dir)) {
128
154
  await mkdir(dir, { recursive: true });
129
155
  }
130
- await writeFile(filePath, content, 'utf-8');
156
+ if (!atomic) {
157
+ await writeFile(filePath, content, 'utf-8');
158
+ return;
159
+ }
160
+ await writeFileAtomic(filePath, content);
161
+ }
162
+ /** How often, and how far apart, a rename Windows refused is tried again. */
163
+ const RENAME_RETRIES = 10;
164
+ const RENAME_RETRY_MS = 50;
165
+ async function renameWithRetry(from, to) {
166
+ for (let attempt = 0;; attempt++) {
167
+ try {
168
+ await rename(from, to);
169
+ return;
170
+ }
171
+ catch (error) {
172
+ const code = error.code;
173
+ if (attempt >= RENAME_RETRIES || (code !== 'EPERM' && code !== 'EBUSY' && code !== 'EACCES'))
174
+ throw error;
175
+ await sleep(RENAME_RETRY_MS);
176
+ }
177
+ }
131
178
  }
132
179
  //# sourceMappingURL=write-file.js.map