@detergent-software/atk 8.6.2-dev.1 → 8.7.0-dev.10

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 (222) hide show
  1. package/CHANGELOG.md +109 -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 +91 -26
  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/schema.d.ts +1 -1
  36. package/build/commands/sync.d.ts.map +1 -1
  37. package/build/commands/sync.js +22 -13
  38. package/build/commands/sync.js.map +1 -1
  39. package/build/commands/thaw.d.ts.map +1 -1
  40. package/build/commands/thaw.js +11 -6
  41. package/build/commands/thaw.js.map +1 -1
  42. package/build/commands/uninstall.d.ts.map +1 -1
  43. package/build/commands/uninstall.js +20 -15
  44. package/build/commands/uninstall.js.map +1 -1
  45. package/build/commands/unpin.d.ts.map +1 -1
  46. package/build/commands/unpin.js +11 -6
  47. package/build/commands/unpin.js.map +1 -1
  48. package/build/commands/update.d.ts.map +1 -1
  49. package/build/commands/update.js +11 -11
  50. package/build/commands/update.js.map +1 -1
  51. package/build/components/CrossScopeWarning.d.ts +12 -0
  52. package/build/components/CrossScopeWarning.d.ts.map +1 -0
  53. package/build/components/CrossScopeWarning.js +13 -0
  54. package/build/components/CrossScopeWarning.js.map +1 -0
  55. package/build/components/DryRunBanner.d.ts +3 -1
  56. package/build/components/DryRunBanner.d.ts.map +1 -1
  57. package/build/components/DryRunBanner.js +2 -2
  58. package/build/components/DryRunBanner.js.map +1 -1
  59. package/build/components/InstallConfirmBar.d.ts.map +1 -1
  60. package/build/components/InstallConfirmBar.js +1 -3
  61. package/build/components/InstallConfirmBar.js.map +1 -1
  62. package/build/components/InstallSummary.d.ts +3 -1
  63. package/build/components/InstallSummary.d.ts.map +1 -1
  64. package/build/components/InstallSummary.js +2 -2
  65. package/build/components/InstallSummary.js.map +1 -1
  66. package/build/components/ListActionBar.d.ts +4 -2
  67. package/build/components/ListActionBar.d.ts.map +1 -1
  68. package/build/components/ListActionBar.js +5 -4
  69. package/build/components/ListActionBar.js.map +1 -1
  70. package/build/components/ListBrowseList.d.ts +7 -6
  71. package/build/components/ListBrowseList.d.ts.map +1 -1
  72. package/build/components/ListBrowseList.js +10 -6
  73. package/build/components/ListBrowseList.js.map +1 -1
  74. package/build/components/StatusBadge.d.ts +1 -1
  75. package/build/components/StatusBadge.d.ts.map +1 -1
  76. package/build/components/StatusBadge.js +1 -0
  77. package/build/components/StatusBadge.js.map +1 -1
  78. package/build/components/SyncAllInSync.d.ts +3 -1
  79. package/build/components/SyncAllInSync.d.ts.map +1 -1
  80. package/build/components/SyncAllInSync.js +2 -2
  81. package/build/components/SyncAllInSync.js.map +1 -1
  82. package/build/components/SyncDriftedList.d.ts +3 -1
  83. package/build/components/SyncDriftedList.d.ts.map +1 -1
  84. package/build/components/SyncDriftedList.js +3 -3
  85. package/build/components/SyncDriftedList.js.map +1 -1
  86. package/build/components/SyncNoAssets.d.ts +3 -1
  87. package/build/components/SyncNoAssets.d.ts.map +1 -1
  88. package/build/components/SyncNoAssets.js +2 -2
  89. package/build/components/SyncNoAssets.js.map +1 -1
  90. package/build/components/index.d.ts +1 -0
  91. package/build/components/index.d.ts.map +1 -1
  92. package/build/components/index.js +1 -0
  93. package/build/components/index.js.map +1 -1
  94. package/build/hooks/useInitState.d.ts.map +1 -1
  95. package/build/hooks/useInitState.js +4 -2
  96. package/build/hooks/useInitState.js.map +1 -1
  97. package/build/hooks/useListActions.d.ts +19 -6
  98. package/build/hooks/useListActions.d.ts.map +1 -1
  99. package/build/hooks/useListActions.js +36 -30
  100. package/build/hooks/useListActions.js.map +1 -1
  101. package/build/hooks/useListState.d.ts +29 -12
  102. package/build/hooks/useListState.d.ts.map +1 -1
  103. package/build/hooks/useListState.js +22 -6
  104. package/build/hooks/useListState.js.map +1 -1
  105. package/build/hooks/usePruneState.d.ts +6 -0
  106. package/build/hooks/usePruneState.d.ts.map +1 -1
  107. package/build/hooks/usePruneState.js +6 -1
  108. package/build/hooks/usePruneState.js.map +1 -1
  109. package/build/hooks/useResolvedScope.d.ts +21 -0
  110. package/build/hooks/useResolvedScope.d.ts.map +1 -0
  111. package/build/hooks/useResolvedScope.js +15 -0
  112. package/build/hooks/useResolvedScope.js.map +1 -0
  113. package/build/hooks/useUninstallState.d.ts +6 -0
  114. package/build/hooks/useUninstallState.d.ts.map +1 -1
  115. package/build/hooks/useUninstallState.js +6 -1
  116. package/build/hooks/useUninstallState.js.map +1 -1
  117. package/build/lib/adapter.d.ts +47 -1
  118. package/build/lib/adapter.d.ts.map +1 -1
  119. package/build/lib/adapter.js +153 -10
  120. package/build/lib/adapter.js.map +1 -1
  121. package/build/lib/checksum.d.ts.map +1 -1
  122. package/build/lib/checksum.js +2 -1
  123. package/build/lib/checksum.js.map +1 -1
  124. package/build/lib/config-entries.d.ts +5 -3
  125. package/build/lib/config-entries.d.ts.map +1 -1
  126. package/build/lib/config-entries.js +7 -4
  127. package/build/lib/config-entries.js.map +1 -1
  128. package/build/lib/config-file.d.ts +15 -4
  129. package/build/lib/config-file.d.ts.map +1 -1
  130. package/build/lib/config-file.js +35 -10
  131. package/build/lib/config-file.js.map +1 -1
  132. package/build/lib/config-lock.d.ts +22 -0
  133. package/build/lib/config-lock.d.ts.map +1 -0
  134. package/build/lib/config-lock.js +67 -0
  135. package/build/lib/config-lock.js.map +1 -0
  136. package/build/lib/cross-scope.d.ts +50 -0
  137. package/build/lib/cross-scope.d.ts.map +1 -0
  138. package/build/lib/cross-scope.js +132 -0
  139. package/build/lib/cross-scope.js.map +1 -0
  140. package/build/lib/diagnostics.d.ts +15 -2
  141. package/build/lib/diagnostics.d.ts.map +1 -1
  142. package/build/lib/diagnostics.js +152 -10
  143. package/build/lib/diagnostics.js.map +1 -1
  144. package/build/lib/diff-command.d.ts.map +1 -1
  145. package/build/lib/diff-command.js +7 -7
  146. package/build/lib/diff-command.js.map +1 -1
  147. package/build/lib/hook-config.d.ts +7 -0
  148. package/build/lib/hook-config.d.ts.map +1 -1
  149. package/build/lib/hook-config.js +11 -0
  150. package/build/lib/hook-config.js.map +1 -1
  151. package/build/lib/init.d.ts.map +1 -1
  152. package/build/lib/init.js +2 -1
  153. package/build/lib/init.js.map +1 -1
  154. package/build/lib/installed-for-tool.d.ts +2 -1
  155. package/build/lib/installed-for-tool.d.ts.map +1 -1
  156. package/build/lib/installed-for-tool.js +7 -4
  157. package/build/lib/installed-for-tool.js.map +1 -1
  158. package/build/lib/installer.d.ts +8 -4
  159. package/build/lib/installer.d.ts.map +1 -1
  160. package/build/lib/installer.js +153 -57
  161. package/build/lib/installer.js.map +1 -1
  162. package/build/lib/lockfile.d.ts +1 -1
  163. package/build/lib/lockfile.d.ts.map +1 -1
  164. package/build/lib/lockfile.js +2 -2
  165. package/build/lib/lockfile.js.map +1 -1
  166. package/build/lib/mover.d.ts +103 -0
  167. package/build/lib/mover.d.ts.map +1 -0
  168. package/build/lib/mover.js +375 -0
  169. package/build/lib/mover.js.map +1 -0
  170. package/build/lib/multi-tool-install.js +1 -1
  171. package/build/lib/multi-tool-install.js.map +1 -1
  172. package/build/lib/owned-paths.d.ts.map +1 -1
  173. package/build/lib/owned-paths.js +8 -8
  174. package/build/lib/owned-paths.js.map +1 -1
  175. package/build/lib/read-scopes.d.ts +32 -0
  176. package/build/lib/read-scopes.d.ts.map +1 -0
  177. package/build/lib/read-scopes.js +55 -0
  178. package/build/lib/read-scopes.js.map +1 -0
  179. package/build/lib/root-path.d.ts +7 -0
  180. package/build/lib/root-path.d.ts.map +1 -0
  181. package/build/lib/root-path.js +10 -0
  182. package/build/lib/root-path.js.map +1 -0
  183. package/build/lib/schemas/adapter.d.ts +80 -1
  184. package/build/lib/schemas/adapter.d.ts.map +1 -1
  185. package/build/lib/schemas/adapter.js +48 -0
  186. package/build/lib/schemas/adapter.js.map +1 -1
  187. package/build/lib/schemas/lockfile.d.ts +2 -0
  188. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  189. package/build/lib/schemas/lockfile.js +8 -2
  190. package/build/lib/schemas/lockfile.js.map +1 -1
  191. package/build/lib/scope.d.ts +11 -0
  192. package/build/lib/scope.d.ts.map +1 -1
  193. package/build/lib/scope.js +12 -0
  194. package/build/lib/scope.js.map +1 -1
  195. package/build/lib/sync.d.ts +4 -3
  196. package/build/lib/sync.d.ts.map +1 -1
  197. package/build/lib/sync.js +12 -5
  198. package/build/lib/sync.js.map +1 -1
  199. package/build/lib/toml-edit.d.ts +10 -0
  200. package/build/lib/toml-edit.d.ts.map +1 -0
  201. package/build/lib/toml-edit.js +311 -0
  202. package/build/lib/toml-edit.js.map +1 -0
  203. package/build/lib/tool-resolver.d.ts +5 -0
  204. package/build/lib/tool-resolver.d.ts.map +1 -1
  205. package/build/lib/tool-resolver.js +16 -12
  206. package/build/lib/tool-resolver.js.map +1 -1
  207. package/build/lib/uninstaller.d.ts +14 -1
  208. package/build/lib/uninstaller.d.ts.map +1 -1
  209. package/build/lib/uninstaller.js +73 -28
  210. package/build/lib/uninstaller.js.map +1 -1
  211. package/build/lib/updater.d.ts +5 -4
  212. package/build/lib/updater.d.ts.map +1 -1
  213. package/build/lib/updater.js +18 -12
  214. package/build/lib/updater.js.map +1 -1
  215. package/build/lib/write-file.d.ts +17 -4
  216. package/build/lib/write-file.d.ts.map +1 -1
  217. package/build/lib/write-file.js +60 -10
  218. package/build/lib/write-file.js.map +1 -1
  219. package/package.json +1 -1
  220. package/tool-adapters/claude-code.json +44 -0
  221. package/tool-adapters/codex-cli.json +28 -0
  222. package/tool-adapters/copilot-cli.json +46 -2
@@ -0,0 +1,375 @@
1
+ import { satisfies } from 'semver';
2
+ import { resolveInstalledPaths } from './adapter.js';
3
+ import { supportsType } from './asset-tools.js';
4
+ import { verifyChecksums, verifyConfigEntries } from './checksum.js';
5
+ import { getConfigEntriesForTool } from './config-entries.js';
6
+ import { freezeAssetInConfig } from './config.js';
7
+ import { errorMessage, GuidedError } from './errors.js';
8
+ import { isInstalledForTool } from './installed-for-tool.js';
9
+ import { rollBackInstalledAssets } from './installer.js';
10
+ import { addAssetToLockfile, findDependencyAsset, findInstalledAsset, findInstalledAssetWithFallback, identityKey, readLockfile, withLockfileErrorHandling, writeLockfile, } from './lockfile.js';
11
+ import { executeInstallPlanForTools, withoutKeptDependencies } from './multi-tool-install.js';
12
+ import { formatOrgName } from './org.js';
13
+ import { isLatestAlias } from './registry.js';
14
+ import { resolveInstallPlan } from './resolver.js';
15
+ import { fromRoot } from './root-path.js';
16
+ import {} from './schemas/config.js';
17
+ import { loadScopeConfig, resolveScope, saveScopeConfig, scopeLabel } from './scope.js';
18
+ import { resolveTools } from './tool-resolver.js';
19
+ import { planUninstall, uninstallAsset } from './uninstaller.js';
20
+ /** Thrown when a move is refused before anything is written. */
21
+ export class MoveError extends GuidedError {
22
+ name = 'MoveError';
23
+ }
24
+ /**
25
+ * `plan` with each dependency the source has installed at the source's version, so a dependency
26
+ * that moves keeps its lockfile entry. Only when the registry still has that version, it declares
27
+ * the same dependencies as the version the resolver picked (so the rest of the plan still fits
28
+ * it), and every dependent in the plan accepts it. The others stay as the resolver picked them.
29
+ */
30
+ export function atSourceVersions(plan, source) {
31
+ const rangesFor = (name, type) => plan.entries.flatMap(({ versionData }) => (versionData.dependencies ?? [])
32
+ .filter((d) => d.name === name && d.type === type && d.version && !isLatestAlias(d.version))
33
+ .map((d) => d.version));
34
+ const entries = plan.entries.map((entry) => {
35
+ if (entry.reason !== 'dependency')
36
+ return entry;
37
+ const installed = findInstalledAsset(source, entry.asset.name, entry.asset.type, entry.asset.org);
38
+ if (!installed || installed.version === entry.version)
39
+ return entry;
40
+ const versionData = entry.asset.versions[installed.version];
41
+ if (!versionData || dependencyKey(versionData) !== dependencyKey(entry.versionData))
42
+ return entry;
43
+ const accepted = rangesFor(entry.asset.name, entry.asset.type).every((range) => satisfies(installed.version, range));
44
+ return accepted ? { ...entry, version: installed.version, versionData } : entry;
45
+ });
46
+ return { entries, totalCount: entries.length };
47
+ }
48
+ /**
49
+ * Plan and run a move. Both lockfiles stay locked throughout, the user root's first, so two moves
50
+ * in opposite directions take them in the same order, and the plan ({@link planMove}) is worked out
51
+ * under them. The target install runs first and rolls itself back when it fails, so the source is
52
+ * untouched; so is it when giving the new target entries the source's pin, install reason, bundle
53
+ * and freeze fails, which rolls the target back too. Then the source uninstalls the asset and its
54
+ * moving dependencies (a failure there is `source-uninstall-failed`, with both scopes installed),
55
+ * and drops its freeze record.
56
+ */
57
+ export async function executeMove(request, registry, onProgress) {
58
+ const { project, user } = await moveScopes(request);
59
+ return await withLockfileErrorHandling(user.root, () => withLockfileErrorHandling(project.root, async () => {
60
+ const plan = await planMove(request, registry, onProgress);
61
+ return { ...(await runMove(plan, request.force, onProgress)), plan };
62
+ }));
63
+ }
64
+ /**
65
+ * The command that finishes a move whose source half failed: the uninstall in the source scope.
66
+ */
67
+ export function finishMoveCommand({ asset, from }) {
68
+ const spec = formatOrgName(asset.org, asset.name);
69
+ const where = from.scope === 'user' ? '--user' : `--project-root "${from.root}"`;
70
+ return `atk uninstall ${spec} --type ${asset.type} ${where} --yes`;
71
+ }
72
+ /**
73
+ * Work out a move without writing anything. The target scope is `to`, the source the other one;
74
+ * `-P` (or the marker walk) gives the project side. Refused here: a project root that is the user
75
+ * root, an asset the source doesn't have (or a bundle), one other source assets depend on, one the
76
+ * target has at another version, and a frozen one with local edits unless `force`. A target that
77
+ * already has the asset in place at the same version keeps its copy.
78
+ */
79
+ export async function planMove(request, registry, onProgress) {
80
+ const { project, user } = await moveScopes(request);
81
+ const [from, to] = request.to === 'user' ? [project, user] : [user, project];
82
+ const [sourceTools, targetTools, source, target] = await Promise.all([
83
+ resolveTools(undefined, from.root),
84
+ resolveTools(undefined, to.root),
85
+ readLockfile(from.root),
86
+ readLockfile(to.root),
87
+ ]);
88
+ const asset = findSourceAsset(source, request, from);
89
+ const displayName = formatOrgName(asset.org, asset.name);
90
+ const uninstall = planUninstall(source, asset.name, asset.org, asset.type);
91
+ if (uninstall.dependents.length > 0) {
92
+ const dependents = uninstall.dependents.map((d) => formatOrgName(d.org, d.name)).join(', ');
93
+ throw new MoveError(`"${displayName}" is needed by ${dependents} in ${scopeLabel(from)}, so it can't leave it.`, {
94
+ hint: `Move ${dependents} instead, or install ${displayName} in ${scopeLabel(to)} as well.`,
95
+ });
96
+ }
97
+ const atTarget = findInstalledAsset(target, asset.name, asset.type, asset.org);
98
+ if (atTarget && atTarget.version !== asset.version) {
99
+ throw new MoveError(`"${displayName}" is already installed in ${scopeLabel(to)} at v${atTarget.version}, not v${asset.version}.`, { hint: `Uninstall or update it in ${scopeLabel(to)} first, so the move doesn't change its version there.` });
100
+ }
101
+ const frozen = isFrozen(await loadScopeConfig(from.root), asset);
102
+ if (frozen && !request.force && (await hasLocalEdits(asset, sourceTools, from.root))) {
103
+ throw new MoveError(`"${displayName}" is frozen and has local edits in ${scopeLabel(from)}; moving it installs the registry's v${asset.version} and loses them.`, { hint: 'Run it again with --force to move it anyway.' });
104
+ }
105
+ const resolved = atSourceVersions(resolveInstallPlan(registry, asset.name, asset.type, asset.version, asset.org), source);
106
+ const inPlace = atTarget !== undefined &&
107
+ targetTools
108
+ .filter(({ adapter }) => supportsType(adapter, asset.type))
109
+ .every(({ adapter }) => isInstalledForTool(atTarget, adapter, to.root));
110
+ const requested = inPlace ? withoutEntry(resolved, asset) : resolved;
111
+ const install = withoutKeptDependencies(requested, target, targetTools, {
112
+ onProgress,
113
+ projectDir: to.root,
114
+ scope: to.scope,
115
+ });
116
+ const moving = uninstall.orphanedDependencies;
117
+ const movingKeys = new Set(moving.map(identityKey));
118
+ const staying = dependencyClosure(source, asset).filter((d) => !movingKeys.has(identityKey(d)));
119
+ return {
120
+ asset,
121
+ dependencies: { moving, staying },
122
+ from,
123
+ frozen,
124
+ install,
125
+ requested,
126
+ sourceTools,
127
+ targetTools,
128
+ to,
129
+ uninstall,
130
+ };
131
+ }
132
+ /**
133
+ * Give the target's entries what the source's had. A moved asset (the asset and its moving
134
+ * dependencies) the target didn't have gets its install reason, its bundle and, at the same
135
+ * version, its pin; one it had gets a pin it lacks, and a direct install reason when either was
136
+ * direct. A staying dependency the target newly got its own copy of gets its pin. Then freeze the
137
+ * asset when it was frozen: the last step, so a failure before it leaves nothing frozen.
138
+ */
139
+ async function carryOver(plan, targetBefore) {
140
+ const { to } = plan;
141
+ let lockfile = await readLockfile(to.root);
142
+ const pinOf = (source, placed) => source.pinnedVersion && source.version === placed.version ? { pinnedVersion: source.pinnedVersion } : {};
143
+ for (const moved of [plan.asset, ...plan.dependencies.moving]) {
144
+ const placed = findInstalledAsset(lockfile, moved.name, moved.type, moved.org);
145
+ if (!placed)
146
+ continue;
147
+ const had = findInstalledAsset(targetBefore, moved.name, moved.type, moved.org);
148
+ const direct = (moved.installReason ?? 'direct') === 'direct';
149
+ const entry = had
150
+ ? {
151
+ ...placed,
152
+ installReason: direct || (had.installReason ?? 'direct') === 'direct' ? 'direct' : 'dependency',
153
+ ...(placed.pinnedVersion ? {} : pinOf(moved, placed)),
154
+ }
155
+ : {
156
+ ...placed,
157
+ ...(moved.bundleOrigin ? { bundleOrigin: moved.bundleOrigin } : {}),
158
+ installReason: direct ? 'direct' : 'dependency',
159
+ ...pinOf(moved, placed),
160
+ };
161
+ lockfile = addAssetToLockfile(lockfile, entry);
162
+ }
163
+ for (const staying of plan.dependencies.staying) {
164
+ const placed = findInstalledAsset(lockfile, staying.name, staying.type, staying.org);
165
+ if (!placed || findInstalledAsset(targetBefore, staying.name, staying.type, staying.org))
166
+ continue;
167
+ lockfile = addAssetToLockfile(lockfile, { ...placed, ...pinOf(staying, placed) });
168
+ }
169
+ await writeLockfile(to.root, lockfile);
170
+ if (plan.frozen)
171
+ await freezeAssetInConfig(to.root, plan.asset.name, plan.asset.type, plan.asset.org);
172
+ }
173
+ /** The installed assets `asset` depends on in `lockfile`, directly or through others. */
174
+ function dependencyClosure(lockfile, asset) {
175
+ const found = new Map();
176
+ const queue = [asset];
177
+ while (queue.length > 0) {
178
+ const current = queue.shift();
179
+ for (const dependency of current.dependencies ?? []) {
180
+ const installed = findDependencyAsset(lockfile, dependency, current.org);
181
+ if (!installed || found.has(identityKey(installed)) || identityKey(installed) === identityKey(asset))
182
+ continue;
183
+ found.set(identityKey(installed), installed);
184
+ queue.push(installed);
185
+ }
186
+ }
187
+ return [...found.values()];
188
+ }
189
+ /** A version's dependency declarations, as one comparable string. */
190
+ function dependencyKey({ dependencies = [], }) {
191
+ return dependencies
192
+ .map((d) => `${d.type}:${d.name}@${d.version ?? ''}`)
193
+ .sort()
194
+ .join(',');
195
+ }
196
+ /**
197
+ * The source's entry for the requested asset: the org's (the spec's, else the lockfile's), else
198
+ * the global one, as `uninstall` finds it. A name of several types needs `--type`, and a bundle
199
+ * is refused, since a move takes one asset.
200
+ */
201
+ function findSourceAsset(source, request, from) {
202
+ const org = request.org ?? source.org;
203
+ const installed = findInstalledAssetWithFallback(source, request.name, request.type, org);
204
+ const spec = formatOrgName(request.org, request.name);
205
+ if (!installed) {
206
+ if ((source.assets ?? []).some((a) => a.bundleOrigin?.name === request.name)) {
207
+ throw new MoveError(`"${spec}" is a bundle; atk move moves one asset at a time.`, {
208
+ hint: 'Move each of its assets, or install the bundle in the other scope and uninstall it here.',
209
+ });
210
+ }
211
+ throw new MoveError(`"${spec}" is not installed in ${scopeLabel(from)}.`);
212
+ }
213
+ if (!request.type) {
214
+ const types = (source.assets ?? [])
215
+ .filter((a) => a.name === installed.name && a.org === installed.org)
216
+ .map((a) => a.type)
217
+ .sort();
218
+ if (types.length > 1) {
219
+ throw new MoveError(`"${spec}" is installed as more than one type (${types.join(', ')}). Name the one to move with --type.`);
220
+ }
221
+ }
222
+ return installed;
223
+ }
224
+ /**
225
+ * Whether any of the asset's files, or the config entries it registered, differs from what its
226
+ * lockfile entry recorded, for any tool that has it in place.
227
+ */
228
+ async function hasLocalEdits(asset, tools, root) {
229
+ for (const { adapter } of tools) {
230
+ if (!isInstalledForTool(asset, adapter, root))
231
+ continue;
232
+ const files = resolveInstalledPaths(asset, adapter, root).files.map((f) => ({
233
+ checksum: f.checksum,
234
+ path: fromRoot(root, f.installedPath),
235
+ }));
236
+ if ((await verifyChecksums(files)).some((f) => !f.actual.startsWith('FILE_NOT_FOUND')))
237
+ return true;
238
+ const entries = getConfigEntriesForTool(asset, adapter);
239
+ if ((await verifyConfigEntries(entries, root)).some((f) => f.reason === 'CONFIG_CHECKSUM_MISMATCH'))
240
+ return true;
241
+ }
242
+ return false;
243
+ }
244
+ /** Whether `config` freezes exactly this asset: its org too, so a global asset isn't an org's. */
245
+ function isFrozen(config, asset) {
246
+ return (config?.frozenAssets ?? []).some((entry) => sameIdentity(entry, asset));
247
+ }
248
+ /**
249
+ * The two scopes of a move: the project (`-P`, or the marker walk) and the user root. A project
250
+ * root that is the user root leaves no other scope to move to.
251
+ */
252
+ async function moveScopes(request) {
253
+ const project = await resolveScope({ projectRoot: request.projectRoot });
254
+ if (project.scope === 'user') {
255
+ throw new MoveError(`The project root is the user root (${project.root}), so there is no other scope to move to.`, {
256
+ hint: 'Run atk move from a project, or name one with -P <dir>.',
257
+ });
258
+ }
259
+ return { project, user: await resolveScope({ user: true }) };
260
+ }
261
+ /** The plan entry an install result is for. */
262
+ function planEntryOf(plan, result) {
263
+ return plan.entries.find(({ asset }) => asset.name === result.name && asset.type === result.type && asset.org === result.org);
264
+ }
265
+ /**
266
+ * Undo a target install whose follow-up failed, as a failed multi-tool install does: for each
267
+ * tool, the assets its pass added leave the target, and the ones it already had in place get their
268
+ * entries from before back. A pass that moved an asset it had in place to another version stays,
269
+ * since that version may need what the pass added. Best-effort.
270
+ */
271
+ async function rollBackTarget(plan, toolResults, targetBefore, onProgress) {
272
+ const { to } = plan;
273
+ try {
274
+ let lockfile = await readLockfile(to.root);
275
+ const restore = new Map();
276
+ for (let i = toolResults.length - 1; i >= 0; i--) {
277
+ const { adapter, tool } = plan.targetTools[i];
278
+ const placed = toolResults[i].results.flatMap((result) => {
279
+ const entry = planEntryOf(plan.requested, result);
280
+ if (!entry)
281
+ return [];
282
+ const before = findInstalledAsset(targetBefore, entry.asset.name, entry.asset.type, entry.asset.org);
283
+ const inPlace = before && isInstalledForTool(before, adapter, to.root) ? before : undefined;
284
+ return [{ asset: entry.asset, inPlace, result }];
285
+ });
286
+ if (placed.some(({ inPlace, result }) => inPlace && inPlace.version !== result.version)) {
287
+ onProgress?.(`Keeping the install for ${tool}: it moved an installed asset to another version.`);
288
+ continue;
289
+ }
290
+ const added = placed.filter(({ inPlace }) => !inPlace);
291
+ if (added.length > 0) {
292
+ lockfile = await rollBackInstalledAssets(added, targetBefore, lockfile, {
293
+ adapter,
294
+ onProgress,
295
+ projectDir: to.root,
296
+ });
297
+ }
298
+ for (const { inPlace } of placed)
299
+ if (inPlace)
300
+ restore.set(identityKey(inPlace), inPlace);
301
+ }
302
+ for (const before of restore.values())
303
+ lockfile = addAssetToLockfile(lockfile, before);
304
+ await writeLockfile(to.root, lockfile);
305
+ }
306
+ catch (error) {
307
+ onProgress?.(`Warning: Failed to roll back ${scopeLabel(to)} — ${errorMessage(error)}`);
308
+ }
309
+ }
310
+ /** Run a move planned under both lockfile locks (see {@link executeMove}). */
311
+ async function runMove(plan, force, onProgress) {
312
+ const { asset, from, to } = plan;
313
+ const targetBefore = await readLockfile(to.root);
314
+ const toolResults = await executeInstallPlanForTools(plan.requested, plan.targetTools, {
315
+ force,
316
+ onProgress,
317
+ onTool: (tool) => onProgress?.(`Installing in ${scopeLabel(to)} for ${tool}...`),
318
+ projectDir: to.root,
319
+ scope: to.scope,
320
+ });
321
+ try {
322
+ await carryOver(plan, targetBefore);
323
+ }
324
+ catch (error) {
325
+ await rollBackTarget(plan, toolResults, targetBefore, onProgress);
326
+ throw error;
327
+ }
328
+ let removed;
329
+ try {
330
+ onProgress?.(`Removing from ${scopeLabel(from)}...`);
331
+ const lockfile = await readLockfile(from.root);
332
+ const [first, ...others] = plan.sourceTools;
333
+ removed = await uninstallAsset(asset.name, {
334
+ adapter: first.adapter,
335
+ additionalAdapters: others.map((t) => t.adapter),
336
+ lockfile,
337
+ onProgress,
338
+ org: asset.org,
339
+ plan: planUninstall(lockfile, asset.name, asset.org, asset.type),
340
+ projectDir: from.root,
341
+ scope: from.scope,
342
+ type: asset.type,
343
+ });
344
+ }
345
+ catch (error) {
346
+ return { error, outcome: 'source-uninstall-failed', toolResults };
347
+ }
348
+ const warnings = [];
349
+ if (plan.frozen) {
350
+ try {
351
+ await thaw(from.root, asset);
352
+ }
353
+ catch (error) {
354
+ warnings.push(`Failed to remove the freeze record from ${scopeLabel(from)}: ${errorMessage(error)}`);
355
+ }
356
+ }
357
+ return { outcome: 'moved', removed, toolResults, warnings };
358
+ }
359
+ function sameIdentity(a, b) {
360
+ return a.name === b.name && a.type === b.type && a.org === b.org;
361
+ }
362
+ /** Remove exactly this asset's freeze record from the config of the scope at `root`. */
363
+ async function thaw(root, asset) {
364
+ const config = await loadScopeConfig(root);
365
+ if (!config || !isFrozen(config, asset))
366
+ return;
367
+ const frozenAssets = (config.frozenAssets ?? []).filter((entry) => !sameIdentity(entry, asset));
368
+ await saveScopeConfig(root, { ...config, frozenAssets });
369
+ }
370
+ /** `plan` without the entry of `asset`. */
371
+ function withoutEntry(plan, asset) {
372
+ const entries = plan.entries.filter((entry) => !sameIdentity(entry.asset, asset));
373
+ return { entries, totalCount: entries.length };
374
+ }
375
+ //# sourceMappingURL=mover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mover.js","sourceRoot":"","sources":["../../src/lib/mover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAMnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAsB,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EACL,kBAAkB,EAElB,mBAAmB,EACnB,kBAAkB,EAClB,8BAA8B,EAC9B,WAAW,EACX,YAAY,EACZ,yBAAyB,EACzB,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,0BAA0B,EAA0B,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACtH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAsB,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAsB,YAAY,EAAE,eAAe,EAAc,UAAU,EAAE,MAAM,YAAY,CAAC;AACxH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,cAAc,EAA4C,MAAM,kBAAkB,CAAC;AAsD3G,gEAAgE;AAChE,MAAM,OAAO,SAAU,SAAQ,WAAW;IAC/B,IAAI,GAAG,WAAW,CAAC;CAC7B;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAiB,EAAE,MAAgB;IAClE,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE,CAC/C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CACvC,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;SAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;SAC3F,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAQ,CAAC,CAC1B,CAAC;IAEJ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACzC,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY;YAAE,OAAO,KAAK,CAAC;QAChD,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QACpE,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,IAAI,aAAa,CAAC,WAAW,CAAC,KAAK,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC;YAAE,OAAO,KAAK,CAAC;QAClG,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7E,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CACpC,CAAC;QACF,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAClF,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAoB,EACpB,QAAkB,EAClB,UAAsC;IAEtC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;IAEpD,OAAO,MAAM,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CACrD,yBAAyB,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC3D,OAAO,EAAE,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACvE,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAoC;IACjF,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,IAAI,GAAG,CAAC;IACjF,OAAO,iBAAiB,IAAI,WAAW,KAAK,CAAC,IAAI,IAAI,KAAK,QAAQ,CAAC;AACrE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAoB,EACpB,QAAkB,EAClB,UAAsC;IAEtC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE7E,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACnE,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC;QAClC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC;QAChC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC;KACtB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAEzD,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3E,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5F,MAAM,IAAI,SAAS,CAAC,IAAI,WAAW,kBAAkB,UAAU,OAAO,UAAU,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC/G,IAAI,EAAE,QAAQ,UAAU,wBAAwB,WAAW,OAAO,UAAU,CAAC,EAAE,CAAC,WAAW;SAC5F,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/E,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;QACnD,MAAM,IAAI,SAAS,CACjB,IAAI,WAAW,6BAA6B,UAAU,CAAC,EAAE,CAAC,QAAQ,QAAQ,CAAC,OAAO,UAAU,KAAK,CAAC,OAAO,GAAG,EAC5G,EAAE,IAAI,EAAE,6BAA6B,UAAU,CAAC,EAAE,CAAC,uDAAuD,EAAE,CAC7G,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACjE,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACrF,MAAM,IAAI,SAAS,CACjB,IAAI,WAAW,sCAAsC,UAAU,CAAC,IAAI,CAAC,wCAAwC,KAAK,CAAC,OAAO,kBAAkB,EAC5I,EAAE,IAAI,EAAE,8CAA8C,EAAE,CACzD,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,EAC9E,MAAM,CACP,CAAC;IACF,MAAM,OAAO,GACX,QAAQ,KAAK,SAAS;QACtB,WAAW;aACR,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aAC1D,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACrE,MAAM,OAAO,GAAG,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE;QACtE,UAAU;QACV,UAAU,EAAE,EAAE,CAAC,IAAI;QACnB,KAAK,EAAE,EAAE,CAAC,KAAK;KAChB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,SAAS,CAAC,oBAAoB,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhG,OAAO;QACL,KAAK;QACL,YAAY,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QACjC,IAAI;QACJ,MAAM;QACN,OAAO;QACP,SAAS;QACT,WAAW;QACX,WAAW;QACX,EAAE;QACF,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,SAAS,CAAC,IAAc,EAAE,YAAsB;IAC7D,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IACpB,IAAI,QAAQ,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,CAAC,MAAsB,EAAE,MAAsB,EAAE,EAAE,CAC/D,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3G,KAAK,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/E,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,GAAG,GAAG,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAChF,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,QAAQ,CAAC,KAAK,QAAQ,CAAC;QAC9D,MAAM,KAAK,GAAmB,GAAG;YAC/B,CAAC,CAAC;gBACE,GAAG,MAAM;gBACT,aAAa,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;gBAC/F,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;aACtD;YACH,CAAC,CAAC;gBACE,GAAG,MAAM;gBACT,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;gBAC/C,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC;aACxB,CAAC;QACN,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACrF,IAAI,CAAC,MAAM,IAAI,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;YAAE,SAAS;QACnG,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAEvC,IAAI,IAAI,CAAC,MAAM;QAAE,MAAM,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACxG,CAAC;AAED,yFAAyF;AACzF,SAAS,iBAAiB,CAAC,QAAkB,EAAE,KAAqB;IAClE,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAChD,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;IACtB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC/B,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;YACpD,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YACzE,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,WAAW,CAAC,SAAS,CAAC,KAAK,WAAW,CAAC,KAAK,CAAC;gBAAE,SAAS;YAC/G,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED,qEAAqE;AACrE,SAAS,aAAa,CAAC,EACrB,YAAY,GAAG,EAAE,GAGlB;IACC,OAAO,YAAY;SAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;SACpD,IAAI,EAAE;SACN,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,MAAgB,EAAE,OAAoB,EAAE,IAAmB;IAClF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC;IACtC,MAAM,SAAS,GAAG,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7E,MAAM,IAAI,SAAS,CAAC,IAAI,IAAI,oDAAoD,EAAE;gBAChF,IAAI,EAAE,0FAA0F;aACjG,CAAC,CAAC;QACL,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,IAAI,IAAI,yBAAyB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;aAChC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC;aACnE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,EAAE,CAAC;QACV,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,SAAS,CACjB,IAAI,IAAI,yCAAyC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,CACxG,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,KAAqB,EAAE,KAAiB,EAAE,IAAY;IACjF,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC;YAAE,SAAS;QACxD,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1E,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC;SACtC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpG,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,0BAA0B,CAAC;YAAE,OAAO,IAAI,CAAC;IACnH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kGAAkG;AAClG,SAAS,QAAQ,CAAC,MAA4B,EAAE,KAAoB;IAClE,OAAO,CAAC,MAAM,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAClF,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,UAAU,CAAC,OAAoB;IAC5C,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,SAAS,CAAC,sCAAsC,OAAO,CAAC,IAAI,2CAA2C,EAAE;YACjH,IAAI,EAAE,yDAAyD;SAChE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,+CAA+C;AAC/C,SAAS,WAAW,CAAC,IAAiB,EAAE,MAAqB;IAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CACtB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CACpG,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,cAAc,CAC3B,IAAc,EACd,WAAgC,EAChC,YAAsB,EACtB,UAAsC;IAEtC,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IACpB,IAAI,CAAC;QACH,IAAI,QAAQ,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACxD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAClD,IAAI,CAAC,KAAK;oBAAE,OAAO,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrG,MAAM,OAAO,GAAG,MAAM,IAAI,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC5F,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxF,UAAU,EAAE,CAAC,2BAA2B,IAAI,mDAAmD,CAAC,CAAC;gBACjG,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,QAAQ,GAAG,MAAM,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE;oBACtE,OAAO;oBACP,UAAU;oBACV,UAAU,EAAE,EAAE,CAAC,IAAI;iBACpB,CAAC,CAAC;YACL,CAAC;YACD,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,MAAM;gBAAE,IAAI,OAAO;oBAAE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5F,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;YAAE,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvF,MAAM,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,EAAE,CAAC,gCAAgC,UAAU,CAAC,EAAE,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,KAAK,UAAU,OAAO,CACpB,IAAc,EACd,KAA0B,EAC1B,UAAmD;IAEnD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,MAAM,0BAA0B,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE;QACrF,KAAK;QACL,UAAU;QACV,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,iBAAiB,UAAU,CAAC,EAAE,CAAC,QAAQ,IAAI,KAAK,CAAC;QAChF,UAAU,EAAE,EAAE,CAAC,IAAI;QACnB,KAAK,EAAE,EAAE,CAAC,KAAK;KAChB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QAClE,MAAM,KAAK,CAAC;IACd,CAAC;IAED,IAAI,OAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,UAAU,EAAE,CAAC,iBAAiB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5C,OAAO,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE;YACzC,OAAO,EAAE,KAAM,CAAC,OAAO;YACvB,kBAAkB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAChD,QAAQ;YACR,UAAU;YACV,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC;YAChE,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,CAAC;IACpE,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,2CAA2C,UAAU,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,YAAY,CAAC,CAA+C,EAAE,CAAgB;IACrF,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC;AACnE,CAAC;AAED,wFAAwF;AACxF,KAAK,UAAU,IAAI,CAAC,IAAY,EAAE,KAAoB;IACpD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO;IAChD,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAChG,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,2CAA2C;AAC3C,SAAS,YAAY,CAAC,IAAiB,EAAE,KAAoB;IAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAClF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AACjD,CAAC"}
@@ -46,7 +46,7 @@ export async function executeInstallPlanForTools(requestedPlan, tools, options)
46
46
  toolResults.push({ results, tool, ...toolSupportNotes(plan, adapter) });
47
47
  }
48
48
  if (tools.length > 1)
49
- assertInstalledByAnyTool(plan, toolResults);
49
+ assertInstalledByAnyTool(plan, toolResults, options.scope);
50
50
  if (toolResults.some((r) => r.skipped))
51
51
  await excludeSkippedTools(toolResults, tools, before, options.projectDir);
52
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"multi-tool-install.js","sourceRoot":"","sources":["../../src/lib/multi-tool-install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-tool-install.js","sourceRoot":"","sources":["../../src/lib/multi-tool-install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAOnC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAChH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,EAEd,gBAAgB,EAEhB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAc,aAAa,EAAE,MAAM,YAAY,CAAC;AA8BvD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,aAA0B,EAC1B,KAAgD,EAChD,OAAkG;IAElG,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,uBAAuB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5E,mGAAmG;IACnG,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;QAC9C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoC,CAAC;QAC5D,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YACpD,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClG,IAAI,SAAS,IAAI,kBAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7G,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAwB,EAAE,CAAC;IAC5C,IAAI,CAAC;QACH,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;YACtC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;YACf,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE;gBAC7C,GAAG,cAAc;gBACjB,OAAO;gBACP,eAAe,EAAE,MAAM;gBACvB,eAAe,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC;aAClC,CAAC,CAAC;YACH,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,wBAAwB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACjF,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAAE,MAAM,mBAAmB,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACpH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,gGAAgG;QAChG,IAAI,KAAK,YAAY,gBAAgB,IAAI,KAAK,CAAC,WAAW;YAAE,MAAM,KAAK,CAAC;QACxE,IAAI,CAAC;YACH,IAAI,QAA8B,CAAC;YACnC,KAAK,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;oBACzD,KAAK,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,KAAK;oBACxB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAE;oBAClB,MAAM;iBACP,CAAC,CAAC,CAAC;gBACJ,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;oBACpG,OAAO,CAAC,UAAU,EAAE,CAAC,2BAA2B,IAAI,mDAAmD,CAAC,CAAC;oBACzG,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBACjC,OAAO,CAAC,UAAU,EAAE,CAAC,gCAAgC,KAAK,CAAC,MAAM,2BAA2B,IAAI,KAAK,CAAC,CAAC;gBACvG,QAAQ,GAAG,MAAM,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,IAAI,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAAE;oBAC5G,GAAG,cAAc;oBACjB,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,aAAsB,EAAE,CAAC;YAChC,OAAO,CAAC,UAAU,EAAE,CAAC,kDAAkD,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACxG,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAiB,EACjB,SAAmB,EACnB,KAAkC,EAClC,OAAoE;IAEpE,8FAA8F;IAC9F,4FAA4F;IAC5F,2EAA2E;IAC3E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC3C,MAAM,SAAS,GAAG,CAAC,eAAwE,EAAE,EAAE,EAAE;QAC/F,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,YAAY,EAAE,CAAC;YACnD,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;gBACpC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACvF,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoC,CAAC;IACzD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;QACxC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3G,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC1C,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3G,MAAM,OAAO,GAAG,KAAK;aAClB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aAC5E,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QACpF,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACzB,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAChC,SAAS;QACX,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;YAC/D,MAAM,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACvE,CAAC;QACD,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,KAAK,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC;QAC1D,OAAO,CAAC,UAAU,EAAE,CAAC,WAAW,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,qBAAqB,CAAC,CAAC;IAChH,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,mBAAmB,CAChC,WAAgC,EAChC,KAAgD,EAChD,MAAgB,EAChB,UAAkB;IAElB,IAAI,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;QAChE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QAC9B,KAAK,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAChE,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC;gBAAE,SAAS;YAC/D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAC7D,IAAI,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC;gBAAE,SAAS;YAC5E,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;YAC3E,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IACD,IAAI,OAAO;QAAE,MAAM,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAC5B,KAAuB,EACvB,OAAuB,EACvB,QAAiB,EACjB,KAAwB;IAExB,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAI,WAAW,kBAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAClE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,cAAc,CACvB,GAAG,MAAM,iEAAiE,KAAK,CAAC,OAAO,GAAG,EAC1F;YACE,OAAO,EAAE,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC;YACzC,IAAI,EAAE,sEAAsE;SAC7E,CACF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,sBAAsB,CAAC;IACtF,OAAO,IAAI,cAAc,CAAC,GAAG,MAAM,WAAW,SAAS,8BAA8B,KAAK,CAAC,OAAO,IAAI,EAAE;QACtG,OAAO,EAAE,aAAa,CAAC,aAAa,WAAW,EAAE,EAAE,KAAK,CAAC;QACzD,IAAI,EAAE,6CAA6C;KACpD,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,IAAiB,EAAE,OAAgB;IAC3D,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,KAAK,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAClD,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC;YAAE,SAAS;QAClG,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC;QAC1G,IAAI,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,OAAO,GACX,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBACjF,OAAO,OAAO,CAAC,IAAI,0BAA0B,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACrF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AACtG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"owned-paths.d.ts","sourceRoot":"","sources":["../../src/lib/owned-paths.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAInF,OAAO,EAAE,KAAK,kBAAkB,EAAyD,MAAM,eAAe,CAAC;AAG/G;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;AAEvE,wFAAwF;AACxF,MAAM,WAAW,iBAAiB;IAChC,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAClC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,EACpD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,iBAAiB,CAYnB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,iBAAiB,EAAE,CAKrB;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAClC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,EACpD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,GAAG,CAAC,MAAM,CAAC,CAQb;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,EACpD,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAClC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAa/B;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAChD,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,EACpD,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAClC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAmBpE"}
1
+ {"version":3,"file":"owned-paths.d.ts","sourceRoot":"","sources":["../../src/lib/owned-paths.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAInF,OAAO,EAAE,KAAK,kBAAkB,EAAyD,MAAM,eAAe,CAAC;AAI/G;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;AAEvE,wFAAwF;AACxF,MAAM,WAAW,iBAAiB;IAChC,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAClC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,EACpD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,iBAAiB,CAYnB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,iBAAiB,EAAE,CAKrB;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAClC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,EACpD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,GAAG,CAAC,MAAM,CAAC,CAQb;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,EACpD,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAClC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAa/B;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAChD,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC,EACpD,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAClC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAmBpE"}
@@ -1,9 +1,9 @@
1
1
  import { readFile } from 'node:fs/promises';
2
- import { join } from 'node:path';
3
- import { resolveInstalledPaths } from './adapter.js';
2
+ import { adapterAsPlaced, resolveInstalledPaths } from './adapter.js';
4
3
  import { isExcludedForTool, supportsType } from './asset-tools.js';
5
4
  import { matchesChecksum, verifyChecksums, verifyConfigEntries } from './checksum.js';
6
5
  import { getConfigEntriesForTool } from './config-entries.js';
6
+ import { fromRoot } from './root-path.js';
7
7
  /**
8
8
  * The config entries, memory-template blocks and hook groups that installed assets other than
9
9
  * `asset` placed for the adapter's tool. Like {@link pathsOwnedByOthers}, for the entries a global
@@ -33,7 +33,7 @@ export function configEntriesToRemove(asset, adapter, projectDir) {
33
33
  const ownEntries = getConfigEntriesForTool(asset, adapter);
34
34
  return ownEntries.length > 0
35
35
  ? ownEntries.map((e) => ({ checksum: e.checksum, command: e.command, file: e.file, key: e.key }))
36
- : resolveInstalledPaths(asset, adapter, projectDir).configEntries;
36
+ : resolveInstalledPaths(asset, adapterAsPlaced(adapter, asset), projectDir).configEntries;
37
37
  }
38
38
  /**
39
39
  * Whether `entry`, which an asset being removed placed, now holds the value of another asset that
@@ -54,8 +54,8 @@ export async function holdsAnotherOwnersValue(entry, owners, projectDir) {
54
54
  export function pathsOwnedByOthers(lockfile, asset, adapter, projectDir) {
55
55
  const paths = new Set();
56
56
  for (const other of otherAssetsPlacedFor(lockfile, asset, adapter)) {
57
- for (const file of resolveInstalledPaths(other, adapter, projectDir).files) {
58
- paths.add(join(projectDir, file.installedPath));
57
+ for (const file of resolveInstalledPaths(other, adapterAsPlaced(adapter, other), projectDir).files) {
58
+ paths.add(fromRoot(projectDir, file.installedPath));
59
59
  }
60
60
  }
61
61
  return paths;
@@ -117,15 +117,15 @@ export async function verifyOwnFiles(files, asset, lockfile, adapter, projectDir
117
117
  * recorded path and an adapter's `./`-prefixed one match.
118
118
  */
119
119
  function configEntryKey(entry, projectDir) {
120
- return `${join(projectDir, entry.file)}#${entry.key}#${entry.command ?? ''}`;
120
+ return `${fromRoot(projectDir, entry.file)}#${entry.key}#${entry.command ?? ''}`;
121
121
  }
122
122
  /**
123
123
  * For each installed asset other than `asset` placed for the adapter's tool, the absolute paths of
124
124
  * its files mapped to the checksums it recorded for them.
125
125
  */
126
126
  function filesPlacedByOthers(lockfile, asset, adapter, projectDir) {
127
- return otherAssetsPlacedFor(lockfile, asset, adapter).map((other) => new Map(resolveInstalledPaths(other, adapter, projectDir).files.map((file) => [
128
- join(projectDir, file.installedPath),
127
+ return otherAssetsPlacedFor(lockfile, asset, adapter).map((other) => new Map(resolveInstalledPaths(other, adapterAsPlaced(adapter, other), projectDir).files.map((file) => [
128
+ fromRoot(projectDir, file.installedPath),
129
129
  file.checksum,
130
130
  ])));
131
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"owned-paths.js","sourceRoot":"","sources":["../../src/lib/owned-paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owned-paths.js","sourceRoot":"","sources":["../../src/lib/owned-paths.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { ProjectConfig } from './schemas/config.js';
2
+ import type { Lockfile } from './schemas/lockfile.js';
3
+ import { type ResolvedScope } from './scope.js';
4
+ /** A scope a read command shows: its root, its lockfile and its config. */
5
+ export interface ReadScope extends ResolvedScope {
6
+ /** The scope's config; null when it has none, or when the command didn't ask for it (`withConfig`). */
7
+ config: null | ProjectConfig;
8
+ lockfile: Lockfile;
9
+ }
10
+ /** The scopes a read command shows, project first, and why the user scope is missing when it can't be read. */
11
+ export interface ReadScopes {
12
+ /** The command's own scope first. */
13
+ scopes: [ReadScope, ...ReadScope[]];
14
+ /** Set when the user root has a lockfile that couldn't be read, so only the project is shown. */
15
+ warning?: string;
16
+ }
17
+ /**
18
+ * Resolve the scopes `list` and `outdated` show. `--user` (or a root that is the user root)
19
+ * shows the user scope alone, and `--project` the project alone. Otherwise a project also shows
20
+ * the user scope when the user root has installs, so the user's own assets appear beside the
21
+ * project's. The project's lockfile and config load as they always have, and fail the command
22
+ * when they can't; the user scope's only add a warning, so the project view always works.
23
+ * A command that reads no config passes `withConfig: false`, so a config that doesn't load
24
+ * doesn't fail it.
25
+ */
26
+ export declare function resolveReadScopes({ project, projectRoot, user, withConfig, }: {
27
+ project?: boolean;
28
+ projectRoot?: string;
29
+ user?: boolean;
30
+ withConfig?: boolean;
31
+ }): Promise<ReadScopes>;
32
+ //# sourceMappingURL=read-scopes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-scopes.d.ts","sourceRoot":"","sources":["../../src/lib/read-scopes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,EAAmB,KAAK,aAAa,EAA6C,MAAM,YAAY,CAAC;AAE5G,2EAA2E;AAC3E,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C,uGAAuG;IACvG,MAAM,EAAE,IAAI,GAAG,aAAa,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,+GAA+G;AAC/G,MAAM,WAAW,UAAU;IACzB,qCAAqC;IACrC,MAAM,EAAE,CAAC,SAAS,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;IACpC,iGAAiG;IACjG,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,EACtC,OAAe,EACf,WAAW,EACX,IAAY,EACZ,UAAiB,GAClB,EAAE;IACD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,OAAO,CAAC,UAAU,CAAC,CAoCtB"}