@detergent-software/atk 8.1.2-dev.9 → 8.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/CHANGELOG.md +335 -0
  2. package/build/commands/audit.d.ts.map +1 -1
  3. package/build/commands/audit.js +14 -9
  4. package/build/commands/audit.js.map +1 -1
  5. package/build/commands/browse.js +21 -29
  6. package/build/commands/browse.js.map +1 -1
  7. package/build/commands/info.js +2 -2
  8. package/build/commands/info.js.map +1 -1
  9. package/build/commands/install.d.ts.map +1 -1
  10. package/build/commands/install.js +35 -75
  11. package/build/commands/install.js.map +1 -1
  12. package/build/commands/list.js +2 -2
  13. package/build/commands/list.js.map +1 -1
  14. package/build/commands/prune.d.ts.map +1 -1
  15. package/build/commands/prune.js +10 -8
  16. package/build/commands/prune.js.map +1 -1
  17. package/build/commands/sync.d.ts.map +1 -1
  18. package/build/commands/sync.js +5 -4
  19. package/build/commands/sync.js.map +1 -1
  20. package/build/commands/uninstall.d.ts +9 -1
  21. package/build/commands/uninstall.d.ts.map +1 -1
  22. package/build/commands/uninstall.js +40 -35
  23. package/build/commands/uninstall.js.map +1 -1
  24. package/build/commands/update.d.ts +9 -1
  25. package/build/commands/update.d.ts.map +1 -1
  26. package/build/commands/update.js +42 -12
  27. package/build/commands/update.js.map +1 -1
  28. package/build/commands/why.d.ts.map +1 -1
  29. package/build/commands/why.js +13 -5
  30. package/build/commands/why.js.map +1 -1
  31. package/build/components/AssetDetail.js +3 -1
  32. package/build/components/AssetDetail.js.map +1 -1
  33. package/build/components/AssetTable.d.ts.map +1 -1
  34. package/build/components/AssetTable.js +7 -3
  35. package/build/components/AssetTable.js.map +1 -1
  36. package/build/components/DependencyTree.d.ts +1 -1
  37. package/build/components/DependencyTree.d.ts.map +1 -1
  38. package/build/components/DependencyTree.js +4 -2
  39. package/build/components/DependencyTree.js.map +1 -1
  40. package/build/components/InstallSummary.d.ts +1 -0
  41. package/build/components/InstallSummary.d.ts.map +1 -1
  42. package/build/components/InstallSummary.js +3 -1
  43. package/build/components/InstallSummary.js.map +1 -1
  44. package/build/components/ListBrowseList.d.ts.map +1 -1
  45. package/build/components/ListBrowseList.js +4 -2
  46. package/build/components/ListBrowseList.js.map +1 -1
  47. package/build/components/OrphanListItem.d.ts +3 -1
  48. package/build/components/OrphanListItem.d.ts.map +1 -1
  49. package/build/components/OrphanListItem.js +3 -2
  50. package/build/components/OrphanListItem.js.map +1 -1
  51. package/build/components/SkippedAssetSection.d.ts +2 -0
  52. package/build/components/SkippedAssetSection.d.ts.map +1 -1
  53. package/build/components/SkippedAssetSection.js +1 -1
  54. package/build/components/SkippedAssetSection.js.map +1 -1
  55. package/build/components/SyncDriftedList.d.ts +3 -2
  56. package/build/components/SyncDriftedList.d.ts.map +1 -1
  57. package/build/components/SyncDriftedList.js +13 -3
  58. package/build/components/SyncDriftedList.js.map +1 -1
  59. package/build/hooks/useListActions.d.ts.map +1 -1
  60. package/build/hooks/useListActions.js +33 -16
  61. package/build/hooks/useListActions.js.map +1 -1
  62. package/build/hooks/usePruneState.d.ts +13 -15
  63. package/build/hooks/usePruneState.d.ts.map +1 -1
  64. package/build/hooks/usePruneState.js +10 -6
  65. package/build/hooks/usePruneState.js.map +1 -1
  66. package/build/hooks/useUninstallState.d.ts +16 -29
  67. package/build/hooks/useUninstallState.d.ts.map +1 -1
  68. package/build/hooks/useUninstallState.js +146 -139
  69. package/build/hooks/useUninstallState.js.map +1 -1
  70. package/build/lib/adapter.js +1 -1
  71. package/build/lib/adapter.js.map +1 -1
  72. package/build/lib/asset-tools.d.ts +5 -0
  73. package/build/lib/asset-tools.d.ts.map +1 -1
  74. package/build/lib/asset-tools.js +7 -0
  75. package/build/lib/asset-tools.js.map +1 -1
  76. package/build/lib/diagnostics.d.ts.map +1 -1
  77. package/build/lib/diagnostics.js +6 -5
  78. package/build/lib/diagnostics.js.map +1 -1
  79. package/build/lib/diff-command.d.ts.map +1 -1
  80. package/build/lib/diff-command.js +10 -7
  81. package/build/lib/diff-command.js.map +1 -1
  82. package/build/lib/enabled-list.d.ts +15 -0
  83. package/build/lib/enabled-list.d.ts.map +1 -0
  84. package/build/lib/enabled-list.js +83 -0
  85. package/build/lib/enabled-list.js.map +1 -0
  86. package/build/lib/file-snapshot.d.ts +17 -0
  87. package/build/lib/file-snapshot.d.ts.map +1 -0
  88. package/build/lib/file-snapshot.js +41 -0
  89. package/build/lib/file-snapshot.js.map +1 -0
  90. package/build/lib/installed-for-tool.d.ts +8 -0
  91. package/build/lib/installed-for-tool.d.ts.map +1 -0
  92. package/build/lib/installed-for-tool.js +18 -0
  93. package/build/lib/installed-for-tool.js.map +1 -0
  94. package/build/lib/installer.d.ts +109 -4
  95. package/build/lib/installer.d.ts.map +1 -1
  96. package/build/lib/installer.js +546 -162
  97. package/build/lib/installer.js.map +1 -1
  98. package/build/lib/lockfile.d.ts +30 -4
  99. package/build/lib/lockfile.d.ts.map +1 -1
  100. package/build/lib/lockfile.js +35 -15
  101. package/build/lib/lockfile.js.map +1 -1
  102. package/build/lib/multi-tool-install.d.ts +23 -0
  103. package/build/lib/multi-tool-install.d.ts.map +1 -0
  104. package/build/lib/multi-tool-install.js +78 -0
  105. package/build/lib/multi-tool-install.js.map +1 -0
  106. package/build/lib/org.d.ts +16 -0
  107. package/build/lib/org.d.ts.map +1 -1
  108. package/build/lib/org.js +18 -0
  109. package/build/lib/org.js.map +1 -1
  110. package/build/lib/owned-paths.d.ts +68 -0
  111. package/build/lib/owned-paths.d.ts.map +1 -0
  112. package/build/lib/owned-paths.js +162 -0
  113. package/build/lib/owned-paths.js.map +1 -0
  114. package/build/lib/registry.js +6 -2
  115. package/build/lib/registry.js.map +1 -1
  116. package/build/lib/resolver.d.ts.map +1 -1
  117. package/build/lib/resolver.js +35 -13
  118. package/build/lib/resolver.js.map +1 -1
  119. package/build/lib/sync.d.ts +8 -1
  120. package/build/lib/sync.d.ts.map +1 -1
  121. package/build/lib/sync.js +81 -28
  122. package/build/lib/sync.js.map +1 -1
  123. package/build/lib/uninstaller.d.ts +28 -4
  124. package/build/lib/uninstaller.d.ts.map +1 -1
  125. package/build/lib/uninstaller.js +95 -97
  126. package/build/lib/uninstaller.js.map +1 -1
  127. package/build/lib/updater.d.ts +59 -3
  128. package/build/lib/updater.d.ts.map +1 -1
  129. package/build/lib/updater.js +353 -80
  130. package/build/lib/updater.js.map +1 -1
  131. package/package.json +1 -1
@@ -7,6 +7,7 @@ import { getCredential, getLastEntraSession, validateToken } from './auth.js';
7
7
  import { loadConfig, loadProjectConfig } from './config.js';
8
8
  import { detectTools, getAdapterDiagnostics } from './detector.js';
9
9
  import { getEntraCachePath } from './entra.js';
10
+ import { errorMessage } from './errors.js';
10
11
  import { hookScriptPath, lacksExecBit } from './hook-script.js';
11
12
  import { lockfileExists, readLockfile } from './lockfile.js';
12
13
  import { findProjectRoot } from './paths.js';
@@ -116,7 +117,7 @@ export async function runDiagnostics(progress, projectRootOverride) {
116
117
  }
117
118
  catch (err) {
118
119
  checks.push({
119
- message: err instanceof Error ? err.message : 'Failed to load config',
120
+ message: errorMessage(err),
120
121
  name: 'Config',
121
122
  status: 'fail',
122
123
  });
@@ -145,7 +146,7 @@ export async function runDiagnostics(progress, projectRootOverride) {
145
146
  }
146
147
  catch (err) {
147
148
  checks.push({
148
- message: err instanceof Error ? err.message : 'Failed to fetch registry',
149
+ message: errorMessage(err),
149
150
  name: 'Registry',
150
151
  status: 'fail',
151
152
  });
@@ -222,7 +223,7 @@ export async function runDiagnostics(progress, projectRootOverride) {
222
223
  catch (err) {
223
224
  checks.push({
224
225
  detail: 'Run `atk setup` to initialize project config.',
225
- message: err instanceof Error ? err.message : 'Failed to load project config',
226
+ message: errorMessage(err),
226
227
  name: 'Project config',
227
228
  status: 'warn',
228
229
  });
@@ -252,7 +253,7 @@ export async function runDiagnostics(progress, projectRootOverride) {
252
253
  catch (err) {
253
254
  checks.push({
254
255
  detail: 'Run `atk setup` to re-initialize',
255
- message: err instanceof Error ? err.message : 'Failed to read lockfile',
256
+ message: errorMessage(err),
256
257
  name: 'Lockfile',
257
258
  status: 'warn',
258
259
  });
@@ -286,7 +287,7 @@ async function checkAuthentication() {
286
287
  catch (err) {
287
288
  return {
288
289
  detail: staleEntraSessionNote(),
289
- message: err instanceof Error ? err.message : 'Failed to resolve a credential',
290
+ message: errorMessage(err),
290
291
  name,
291
292
  status: 'fail',
292
293
  };
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/lib/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"diff-command.d.ts","sourceRoot":"","sources":["../../src/lib/diff-command.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAoB3E,MAAM,MAAM,WAAW,GACnB;IACE,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;CACtB,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC;AAE/C,0FAA0F;AAC1F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,WAAW,CAAC,CAiKtB"}
1
+ {"version":3,"file":"diff-command.d.ts","sourceRoot":"","sources":["../../src/lib/diff-command.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAqB3E,MAAM,MAAM,WAAW,GACnB;IACE,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;CACtB,GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC;AAE/C,0FAA0F;AAC1F,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,WAAW,CAAC,CAqKtB"}
@@ -5,11 +5,11 @@ import { resolveInstalledPaths } from './adapter.js';
5
5
  import { isExcludedForTool } from './asset-tools.js';
6
6
  import { loadConfig } from './config.js';
7
7
  import { computeAddedFileDiff, computeRemovedFileDiff, computeUnifiedDiff } from './diff.js';
8
- import { errorMessage } from './errors.js';
8
+ import { errorGuidance, errorMessage } from './errors.js';
9
9
  import { findInstalledAssetWithFallback, readLockfile } from './lockfile.js';
10
- import { resolveActiveOrg } from './org.js';
10
+ import { resolveActiveOrg, scopeSwitchGuidance } from './org.js';
11
11
  import { findProjectRoot } from './paths.js';
12
- import { fetchAssetFileBytes, fetchRegistry, findAsset, listAssetFiles, } from './registry.js';
12
+ import { fetchAssetFileBytes, fetchRegistry, findAsset, listAssetFiles, RegistryError, } from './registry.js';
13
13
  import { resolveTool } from './tool-resolver.js';
14
14
  /**
15
15
  * Core logic for the `atk diff` command. Computes the diff between a locally
@@ -54,6 +54,12 @@ export async function computeDiffOutcome(name, org, tool, context, refresh, proj
54
54
  if (!foundAsset) {
55
55
  return { name, outcome: 'not-in-registry' };
56
56
  }
57
+ // An org asset gone from the registry looks up as the global asset of the same name, which is
58
+ // another asset: comparing against it would present that asset's files as an update.
59
+ if (foundAsset.asset.org !== installed.org) {
60
+ const { message, ...guidance } = scopeSwitchGuidance(installed, foundAsset.asset, 'diff');
61
+ throw Object.assign(new Error(message), guidance);
62
+ }
57
63
  const { asset: registryAsset, version: latestVersion } = foundAsset;
58
64
  progress('Fetching latest version...');
59
65
  const assetRef = { name: registryAsset.name, org: registryAsset.org, type: registryAsset.type };
@@ -62,10 +68,7 @@ export async function computeDiffOutcome(name, org, tool, context, refresh, proj
62
68
  remoteFilesList = await listAssetFiles(assetRef, latestVersion);
63
69
  }
64
70
  catch (error) {
65
- const hint = error?.hint;
66
- throw new Error(`Failed to list asset directory files for "${name}": ` +
67
- errorMessage(error) +
68
- (typeof hint === 'string' ? ` ${hint}` : ''));
71
+ throw new RegistryError(`Failed to list asset directory files for "${name}": ${errorMessage(error)}`, errorGuidance(error));
69
72
  }
70
73
  // Convert remote files array to a Map for O(1) lookups by relative path
71
74
  const remoteFiles = new Map(remoteFilesList.map((f) => [f.relativePath, f]));
@@ -1 +1 @@
1
- {"version":3,"file":"diff-command.js","sourceRoot":"","sources":["../../src/lib/diff-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAMjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,8BAA8B,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAEL,mBAAmB,EACnB,aAAa,EACb,SAAS,EACT,cAAc,GAEf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAsBjD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAY,EACZ,GAAuB,EACvB,IAAwB,EACxB,OAAe,EACf,OAAgB,EAChB,WAA+B,EAC/B,MAA0B,EAC1B,SAA6B,EAC7B,QAAmC;IAEnC,MAAM,UAAU,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IAEhD,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IAE5C,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IAChD,iFAAiF;IACjF,8DAA8D;IAC9D,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,IAAI,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACpF,MAAM,SAAS,GAAG,8BAA8B,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAEzF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAC5C,CAAC;IAED,sFAAsF;IACtF,IAAI,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,IAAI,0BAA0B,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE;YACtF,OAAO,EAAE,eAAe,IAAI,WAAW,OAAO,CAAC,IAAI,EAAE;YACrD,IAAI,EAAE,0BAA0B,OAAO,CAAC,IAAI,sEAAsE;SACnH,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACzD,6EAA6E;IAC7E,0EAA0E;IAC1E,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IAEvF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC;IAEpE,QAAQ,CAAC,4BAA4B,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAa,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC;IAE1G,IAAI,eAAkC,CAAC;IAEvC,IAAI,CAAC;QACH,eAAe,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAI,KAA4B,EAAE,IAAI,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,6CAA6C,IAAI,KAAK;YACpD,YAAY,CAAC,KAAK,CAAC;YACnB,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAC/C,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,MAAM,WAAW,GAAG,IAAI,GAAG,CAA0B,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtG,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACvE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAE7F,6EAA6E;IAC7E,MAAM,YAAY,GAAqB,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAoB,EAAE,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEpD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,qBAAqB,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE1F,IAAI,qBAAqB,IAAI,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;gBAC/D,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;gBACpE,KAAK,CAAC,IAAI,CAAC;oBACT,SAAS,EAAE,sBAAsB,CAAC,YAAY,CAAC;oBAC/C,QAAQ,EAAE,IAAI,CAAC,UAAU;oBACzB,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC/D,CAAC;YAED,SAAS;QACX,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;YACnE,SAAS;QACX,CAAC;QAED,MAAM,qBAAqB,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAE9D,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;YACnE,SAAS;QACX,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,6CAA6C;IAC7C,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC,CACjG,CAAC;IAEF,2CAA2C;IAC3C,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC,CAClG,CAAC;IAEF,mCAAmC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;QAClC,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAE,CAAC;QACzC,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;QAEvC,IAAI,YAAY,KAAK,aAAa,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC;gBACT,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;gBAC3C,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;gBAC7C,MAAM,EAAE,WAAW;aACpB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,mDAAmD;YACnD,yFAAyF;YACzF,KAAK,CAAC,IAAI,CAAC;gBACT,SAAS,EAAE,kBAAkB,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO,CAAC;gBACnE,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;gBAC3C,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;gBAC7C,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,qGAAqG;IACrG,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/E,MAAM,gBAAgB,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAE9G,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAC9F,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAE,CAAC;QACxC,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,oBAAoB,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACrH,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,KAAK,aAAa,CAAC;IACxD,OAAO;QACL,KAAK;QACL,SAAS;QACT,aAAa;QACb,IAAI;QACJ,OAAO,EAAE,SAAS;QAClB,aAAa;QACb,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,KAAK,UAAU,eAAe,CAAC,GAAa,EAAE,OAAe,EAAE,YAAoB;IACjF,OAAO,CAAC,MAAM,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACnF,CAAC"}
1
+ {"version":3,"file":"diff-command.js","sourceRoot":"","sources":["../../src/lib/diff-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Append entry names to a string-array key in a config file (e.g., `enabledMcpjsonServers`
3
+ * in `.claude/settings.local.json`), creating the file/array as needed and de-duplicating.
4
+ * Used to auto-approve installed MCP servers so the tool doesn't prompt on open. Returns the
5
+ * names it added: a name already in the list is not one of them.
6
+ */
7
+ export declare function addToEnabledList(enabledListFilePath: string, enabledListKey: string, names: string[], onProgress?: (message: string) => void): Promise<string[]>;
8
+ /**
9
+ * Remove entry names from a string-array key in a config file (e.g., `enabledMcpjsonServers`
10
+ * in `.claude/settings.local.json`). Drops the array key when it becomes empty, and with
11
+ * `deleteWhenEmpty` deletes the file entirely if it then holds nothing else. No-ops gracefully
12
+ * when the file/key/name is absent.
13
+ */
14
+ export declare function removeFromEnabledList(enabledListFilePath: string, enabledListKey: string, names: string[], deleteWhenEmpty: boolean, onProgress?: (message: string) => void): Promise<boolean>;
15
+ //# sourceMappingURL=enabled-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enabled-list.d.ts","sourceRoot":"","sources":["../../src/lib/enabled-list.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EAAE,EACf,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACrC,OAAO,CAAC,MAAM,EAAE,CAAC,CA4BnB;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,mBAAmB,EAAE,MAAM,EAC3B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EAAE,EACf,eAAe,EAAE,OAAO,EACxB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACrC,OAAO,CAAC,OAAO,CAAC,CAuClB"}
@@ -0,0 +1,83 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { mkdir, unlink } from 'node:fs/promises';
3
+ import { dirname } from 'node:path';
4
+ import { detectConfigFormat, readConfigFile, writeConfigFile } from './config-file.js';
5
+ import { errorMessage } from './errors.js';
6
+ /**
7
+ * Append entry names to a string-array key in a config file (e.g., `enabledMcpjsonServers`
8
+ * in `.claude/settings.local.json`), creating the file/array as needed and de-duplicating.
9
+ * Used to auto-approve installed MCP servers so the tool doesn't prompt on open. Returns the
10
+ * names it added: a name already in the list is not one of them.
11
+ */
12
+ export async function addToEnabledList(enabledListFilePath, enabledListKey, names, onProgress) {
13
+ try {
14
+ const format = detectConfigFormat(enabledListFilePath);
15
+ let config = {};
16
+ if (existsSync(enabledListFilePath)) {
17
+ config = await readConfigFile(enabledListFilePath, format);
18
+ }
19
+ else {
20
+ const dir = dirname(enabledListFilePath);
21
+ if (!existsSync(dir)) {
22
+ await mkdir(dir, { recursive: true });
23
+ }
24
+ }
25
+ const existing = Array.isArray(config[enabledListKey]) ? config[enabledListKey] : [];
26
+ const list = existing.filter((v) => typeof v === 'string');
27
+ const added = names.filter((name, i) => !list.includes(name) && names.indexOf(name) === i);
28
+ list.push(...added);
29
+ if (added.length > 0 || !Array.isArray(config[enabledListKey])) {
30
+ config[enabledListKey] = list;
31
+ await writeConfigFile(enabledListFilePath, config, format, onProgress);
32
+ }
33
+ return added;
34
+ }
35
+ catch (error) {
36
+ // Non-fatal — log but don't fail the install
37
+ onProgress?.(`Warning: Failed to update enabled list ${enabledListFilePath} — ${errorMessage(error)}`);
38
+ return [];
39
+ }
40
+ }
41
+ /**
42
+ * Remove entry names from a string-array key in a config file (e.g., `enabledMcpjsonServers`
43
+ * in `.claude/settings.local.json`). Drops the array key when it becomes empty, and with
44
+ * `deleteWhenEmpty` deletes the file entirely if it then holds nothing else. No-ops gracefully
45
+ * when the file/key/name is absent.
46
+ */
47
+ export async function removeFromEnabledList(enabledListFilePath, enabledListKey, names, deleteWhenEmpty, onProgress) {
48
+ try {
49
+ if (!existsSync(enabledListFilePath)) {
50
+ return false;
51
+ }
52
+ const format = detectConfigFormat(enabledListFilePath);
53
+ const config = await readConfigFile(enabledListFilePath, format);
54
+ if (!Array.isArray(config[enabledListKey])) {
55
+ return false;
56
+ }
57
+ const toRemove = new Set(names);
58
+ const original = config[enabledListKey];
59
+ const filtered = original.filter((v) => !(typeof v === 'string' && toRemove.has(v)));
60
+ if (filtered.length === original.length) {
61
+ return false;
62
+ }
63
+ if (filtered.length === 0) {
64
+ delete config[enabledListKey];
65
+ }
66
+ else {
67
+ config[enabledListKey] = filtered;
68
+ }
69
+ // If the whole file is now empty, delete it rather than leaving a bare `{}`.
70
+ if (deleteWhenEmpty && Object.keys(config).length === 0) {
71
+ await unlink(enabledListFilePath);
72
+ return true;
73
+ }
74
+ await writeConfigFile(enabledListFilePath, config, format, onProgress);
75
+ return true;
76
+ }
77
+ catch (error) {
78
+ // Non-fatal — log but don't fail the caller
79
+ onProgress?.(`Warning: Failed to update enabled list ${enabledListFilePath} — ${errorMessage(error)}`);
80
+ return false;
81
+ }
82
+ }
83
+ //# sourceMappingURL=enabled-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enabled-list.js","sourceRoot":"","sources":["../../src/lib/enabled-list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /** The bytes and mode of files captured before a change, by absolute path. */
2
+ export type FileSnapshot = ReadonlyMap<string, {
3
+ content: Buffer;
4
+ mode: number;
5
+ }>;
6
+ /**
7
+ * Write every file of a snapshot back as it was, recreating its directory and mode (a hook
8
+ * script keeps its exec bit). Files created since the snapshot are left alone. A file that
9
+ * can't be written doesn't stop the others; the first error is thrown once all were tried.
10
+ */
11
+ export declare function restoreFiles(snapshot: FileSnapshot): Promise<void>;
12
+ /**
13
+ * Capture the bytes and mode of each file in `paths` that exists. A missing path is skipped,
14
+ * including one under a file where a directory would be (`ENOTDIR` on POSIX, `ENOENT` on Windows).
15
+ */
16
+ export declare function snapshotFiles(paths: Iterable<string>): Promise<FileSnapshot>;
17
+ //# sourceMappingURL=file-snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-snapshot.d.ts","sourceRoot":"","sources":["../../src/lib/file-snapshot.ts"],"names":[],"mappings":"AAIA,8EAA8E;AAC9E,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAElF;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAWxE;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAYlF"}
@@ -0,0 +1,41 @@
1
+ import { chmod, readFile, stat } from 'node:fs/promises';
2
+ import { writeBinaryFile } from './write-file.js';
3
+ /**
4
+ * Write every file of a snapshot back as it was, recreating its directory and mode (a hook
5
+ * script keeps its exec bit). Files created since the snapshot are left alone. A file that
6
+ * can't be written doesn't stop the others; the first error is thrown once all were tried.
7
+ */
8
+ export async function restoreFiles(snapshot) {
9
+ const errors = [];
10
+ for (const [path, { content, mode }] of snapshot) {
11
+ try {
12
+ await writeBinaryFile(path, content);
13
+ await chmod(path, mode);
14
+ }
15
+ catch (error) {
16
+ errors.push(error);
17
+ }
18
+ }
19
+ if (errors.length > 0)
20
+ throw errors[0];
21
+ }
22
+ /**
23
+ * Capture the bytes and mode of each file in `paths` that exists. A missing path is skipped,
24
+ * including one under a file where a directory would be (`ENOTDIR` on POSIX, `ENOENT` on Windows).
25
+ */
26
+ export async function snapshotFiles(paths) {
27
+ const snapshot = new Map();
28
+ for (const path of new Set(paths)) {
29
+ const stats = await stat(path).catch((error) => {
30
+ const code = error.code;
31
+ if (code === 'ENOENT' || code === 'ENOTDIR')
32
+ return undefined;
33
+ throw error;
34
+ });
35
+ if (!stats?.isFile())
36
+ continue;
37
+ snapshot.set(path, { content: await readFile(path), mode: stats.mode });
38
+ }
39
+ return snapshot;
40
+ }
41
+ //# sourceMappingURL=file-snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-snapshot.js","sourceRoot":"","sources":["../../src/lib/file-snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAKlD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAsB;IACvD,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACrC,MAAM,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAuB;IACzD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6C,CAAC;IACtE,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACtD,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;YACnD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC9D,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;YAAE,SAAS;QAC/B,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { Adapter } from './schemas/adapter.js';
2
+ import type { InstalledAsset } from './schemas/lockfile.js';
3
+ /**
4
+ * Whether a lockfile asset is in place for one tool: not uninstalled for it (`excludedTools`),
5
+ * its files are on disk, and the tool's config registration was recorded.
6
+ */
7
+ export declare function isInstalledForTool(installed: InstalledAsset, adapter: Adapter, projectDir: string): boolean;
8
+ //# sourceMappingURL=installed-for-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installed-for-tool.d.ts","sourceRoot":"","sources":["../../src/lib/installed-for-tool.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAO5D;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAK3G"}
@@ -0,0 +1,18 @@
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
+ import { areAssetFilesIntact } from './lockfile.js';
6
+ /**
7
+ * Whether a lockfile asset is in place for one tool: not uninstalled for it (`excludedTools`),
8
+ * its files are on disk, and the tool's config registration was recorded.
9
+ */
10
+ export function isInstalledForTool(installed, adapter, projectDir) {
11
+ if (isExcludedForTool(installed, adapter.tool))
12
+ return false;
13
+ if (needsConfigRegistration(installed, adapter))
14
+ return false;
15
+ const resolved = resolveInstalledPaths(installed, adapter, projectDir);
16
+ return areAssetFilesIntact(resolved.files.map((f) => join(projectDir, f.installedPath)));
17
+ }
18
+ //# sourceMappingURL=installed-for-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installed-for-tool.js","sourceRoot":"","sources":["../../src/lib/installed-for-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAyB,EAAE,OAAgB,EAAE,UAAkB;IAChG,IAAI,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,IAAI,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACvE,OAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AAC3F,CAAC"}
@@ -1,6 +1,9 @@
1
- import type { InstallPlan } from './resolver.js';
1
+ import type { InstallPlan, InstallPlanEntry } from './resolver.js';
2
2
  import type { Adapter } from './schemas/adapter.js';
3
+ import type { RegistryAsset } from './schemas/index.js';
4
+ import type { Lockfile } from './schemas/lockfile.js';
3
5
  import { ApiCodeError } from './errors.js';
6
+ import { type AssetIdentity } from './lockfile.js';
4
7
  export interface InstallOptions {
5
8
  /** Adapter for the target tool. */
6
9
  adapter: Adapter;
@@ -10,8 +13,22 @@ export interface InstallOptions {
10
13
  org?: string;
11
14
  version: string;
12
15
  };
16
+ /** Files already downloaded with {@link fetchPlanFiles}, for every entry this tool can place. */
17
+ files?: PlanFiles;
13
18
  /** Skip file conflict detection, allowing overwrite of non-ATK files. */
14
19
  force?: boolean;
20
+ /**
21
+ * The lockfile from before the command, for deciding which assets this tool already had in
22
+ * place, which a failed plan keeps. A multi-tool install passes it, since an earlier tool's pass
23
+ * has rewritten the shared lockfile by then. Defaults to `managedFrom`, then the lockfile on disk.
24
+ */
25
+ installedBefore?: Lockfile;
26
+ /**
27
+ * The lockfile as this tool has it, for deciding which files are ATK-managed. In a multi-tool
28
+ * update the shared lockfile can already list the files of a version an earlier tool installed,
29
+ * which a later tool does not have yet. Defaults to the lockfile on disk.
30
+ */
31
+ managedFrom?: Lockfile;
15
32
  /** Callback for progress updates. */
16
33
  onProgress?: (message: string) => void;
17
34
  /** Pin the asset at the installed version. */
@@ -27,6 +44,15 @@ export interface InstallOptions {
27
44
  skipUnsupported?: boolean;
28
45
  }
29
46
  export interface InstallResult {
47
+ /**
48
+ * The memory-template block the install wrote into `file` (relative, like `configFilesCreated`),
49
+ * the block of that name it `replaced`, and whether it `created` the file; a rollback undoes it.
50
+ */
51
+ blockWritten?: {
52
+ created: boolean;
53
+ file: string;
54
+ replaced?: string;
55
+ };
30
56
  bundleOrigin?: {
31
57
  name: string;
32
58
  org?: string;
@@ -38,18 +64,65 @@ export interface InstallResult {
38
64
  file: string;
39
65
  key: string;
40
66
  }>;
67
+ /** The config files the install created, relative like `configEntriesCreated[].file`; a rollback deletes them once empty. */
68
+ configFilesCreated?: string[];
69
+ /** The names the install added to its placement's enabled list (e.g. `enabledMcpjsonServers`). */
70
+ enabledListAdded?: string[];
41
71
  filesPlaced: Array<{
42
72
  destination: string;
43
73
  source: string;
44
74
  }>;
45
75
  installReason: 'dependency' | 'direct';
46
76
  name: string;
77
+ org?: string;
47
78
  type: string;
48
79
  version: string;
49
80
  }
81
+ /** The downloaded files of a plan's entries, keyed by {@link planEntryKey}. */
82
+ export type PlanFiles = Map<string, AssetFiles>;
83
+ interface AssetFile {
84
+ /** Raw file bytes — asset files may be binary (images, spreadsheets), never assume text. */
85
+ content: Buffer;
86
+ relativePath: string;
87
+ }
88
+ interface AssetFiles {
89
+ entrypoint?: string;
90
+ files: AssetFile[];
91
+ }
50
92
  export declare class InstallerError extends ApiCodeError {
51
93
  name: string;
52
94
  }
95
+ /**
96
+ * A file the install would place at `path` exists and is not ATK-managed, or belongs to `owner`,
97
+ * another installed asset; nothing was written there. With `entry`, the conflict is that part of
98
+ * the file (a memory-template's block, a config entry), which `owner` wrote.
99
+ */
100
+ export declare class FileConflictError extends InstallerError {
101
+ name: string;
102
+ readonly owner?: AssetIdentity;
103
+ readonly path: string;
104
+ /** What conflicts, quoted for a message: `"<path>"`, or `the <entry> in "<path>"`. */
105
+ readonly where: string;
106
+ constructor(path: string, owner?: AssetIdentity, entry?: string);
107
+ }
108
+ /**
109
+ * An install plan that failed at `asset` with `cause`, after rolling back the
110
+ * `rolledBack` assets it had already installed. Keeps the cause's API code and
111
+ * guidance, so callers that name the asset themselves can quote just the cause.
112
+ */
113
+ export declare class InstallPlanError extends InstallerError {
114
+ readonly asset: Pick<RegistryAsset, 'name' | 'org' | 'type'>;
115
+ readonly cause: unknown;
116
+ /** The plan kept what it installed before `asset`, because it moved an installed asset to another version. */
117
+ readonly keptInstall: boolean;
118
+ name: string;
119
+ constructor(asset: Pick<RegistryAsset, 'name' | 'org' | 'type'>, cause: unknown, rolledBack: number, keptInstall?: boolean);
120
+ }
121
+ /** A plan whose files for `asset` could not be downloaded; nothing was written. */
122
+ export declare class PlanDownloadError extends InstallPlanError {
123
+ name: string;
124
+ constructor(asset: Pick<RegistryAsset, 'name' | 'org' | 'type'>, cause: unknown);
125
+ }
53
126
  /**
54
127
  * Guard for multi-tool installs run with `skipUnsupported`. Each tool skips the asset
55
128
  * types it cannot place, which is fine as long as some tool placed something. If every
@@ -62,9 +135,41 @@ export declare function assertInstalledByAnyTool(plan: InstallPlan, toolResults:
62
135
  }>): void;
63
136
  /**
64
137
  * Execute a full install plan — install all assets in order.
65
- * On partial failure, rolls back previously installed assets (deletes placed files,
66
- * reverts config entries, removes lockfile entries) so the system is not left in
67
- * an inconsistent state.
138
+ * On partial failure, deletes the files the failing asset wrote where no file was before placing
139
+ * its files failed, and rolls back the assets the plan added before it (deletes placed files,
140
+ * reverts config entries and memory-template blocks, removes lockfile entries) so the system is not
141
+ * left in an inconsistent state. An asset the tool already had in place keeps what the plan placed,
142
+ * since rolling it back would delete its working copy, and gets its lockfile entry back. When the
143
+ * plan moved such an asset to another version, which may need the assets the plan added, nothing is
144
+ * rolled back ({@link InstallPlanError.keptInstall}).
68
145
  */
69
146
  export declare function executeInstallPlan(plan: InstallPlan, options: InstallOptions): Promise<InstallResult[]>;
147
+ /**
148
+ * Download the files of every plan entry this tool can place, without writing anything. A
149
+ * caller that replaces an installed asset downloads first, so a refused download leaves the
150
+ * installed version in place, then passes the result to {@link executeInstallPlan} as `files`.
151
+ */
152
+ export declare function fetchPlanFiles(plan: InstallPlan, adapter: Adapter): Promise<PlanFiles>;
153
+ /**
154
+ * The message of an install failure for `asset`, for a caller whose own message already names
155
+ * it: a plan that failed at that asset gives just its cause; one that failed at another asset
156
+ * keeps the installer's message, which names that asset.
157
+ */
158
+ export declare function installFailureMessage(error: unknown, asset: Pick<RegistryAsset, 'name' | 'org' | 'type'>): string;
159
+ /** The entries of `plan` the adapter's tool has a placement for, in plan order. */
160
+ export declare function placeableEntries(plan: InstallPlan, adapter: Adapter): InstallPlanEntry[];
161
+ /**
162
+ * Undo the installs of `installed` for the adapter's tool, in reverse order (best-effort): delete
163
+ * their placed files, revert their config entries (deleting a config file they created once it is
164
+ * empty), put back the memory-template block they replaced or take out the one they added (deleting
165
+ * a file they created once it is empty), take the names they added out of an enabled list, and give
166
+ * each asset its lockfile entry from `before`, or remove it. A file or config entry an asset of
167
+ * `before` also owns is kept.
168
+ * Returns `lockfile` with the entries reverted, as written.
169
+ */
170
+ export declare function rollBackInstalledAssets(installed: Array<{
171
+ asset: Pick<RegistryAsset, 'name' | 'org' | 'type'>;
172
+ result: InstallResult;
173
+ }>, before: Lockfile, lockfile: Lockfile, options: Pick<InstallOptions, 'adapter' | 'onProgress' | 'projectDir'>): Promise<Lockfile>;
174
+ export {};
70
175
  //# sourceMappingURL=installer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/lib/installer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAoB,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAiBpD,OAAO,EAAE,YAAY,EAA+B,MAAM,aAAa,CAAC;AASxE,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,yEAAyE;IACzE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qCAAqC;IACrC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,8CAA8C;IAC9C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,oBAAoB,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/F,WAAW,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,aAAa,EAAE,YAAY,GAAG,QAAQ,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAQD,qBAAa,cAAe,SAAQ,YAAY;IACrC,IAAI,SAAoB;CAClC;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,WAAW,EACjB,WAAW,EAAE,KAAK,CAAC;IAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC7D,IAAI,CAUN;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAiH7G"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/lib/installer.ts"],"names":[],"mappings":"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"}