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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/CHANGELOG.md +106 -0
  2. package/build/commands/audit.d.ts.map +1 -1
  3. package/build/commands/audit.js +34 -11
  4. package/build/commands/audit.js.map +1 -1
  5. package/build/commands/browse.d.ts.map +1 -1
  6. package/build/commands/browse.js +23 -15
  7. package/build/commands/browse.js.map +1 -1
  8. package/build/commands/freeze.d.ts.map +1 -1
  9. package/build/commands/freeze.js +11 -6
  10. package/build/commands/freeze.js.map +1 -1
  11. package/build/commands/index.d.ts.map +1 -1
  12. package/build/commands/index.js +1 -0
  13. package/build/commands/index.js.map +1 -1
  14. package/build/commands/install.d.ts.map +1 -1
  15. package/build/commands/install.js +94 -29
  16. package/build/commands/install.js.map +1 -1
  17. package/build/commands/list.d.ts +2 -1
  18. package/build/commands/list.d.ts.map +1 -1
  19. package/build/commands/list.js +82 -66
  20. package/build/commands/list.js.map +1 -1
  21. package/build/commands/move.d.ts +28 -0
  22. package/build/commands/move.d.ts.map +1 -0
  23. package/build/commands/move.js +180 -0
  24. package/build/commands/move.js.map +1 -0
  25. package/build/commands/outdated.d.ts +2 -1
  26. package/build/commands/outdated.d.ts.map +1 -1
  27. package/build/commands/outdated.js +67 -24
  28. package/build/commands/outdated.js.map +1 -1
  29. package/build/commands/pin.d.ts.map +1 -1
  30. package/build/commands/pin.js +12 -7
  31. package/build/commands/pin.js.map +1 -1
  32. package/build/commands/prune.d.ts.map +1 -1
  33. package/build/commands/prune.js +17 -10
  34. package/build/commands/prune.js.map +1 -1
  35. package/build/commands/sync.d.ts.map +1 -1
  36. package/build/commands/sync.js +24 -15
  37. package/build/commands/sync.js.map +1 -1
  38. package/build/commands/thaw.d.ts.map +1 -1
  39. package/build/commands/thaw.js +11 -6
  40. package/build/commands/thaw.js.map +1 -1
  41. package/build/commands/uninstall.d.ts.map +1 -1
  42. package/build/commands/uninstall.js +20 -15
  43. package/build/commands/uninstall.js.map +1 -1
  44. package/build/commands/unpin.d.ts.map +1 -1
  45. package/build/commands/unpin.js +11 -6
  46. package/build/commands/unpin.js.map +1 -1
  47. package/build/commands/update.d.ts.map +1 -1
  48. package/build/commands/update.js +13 -13
  49. package/build/commands/update.js.map +1 -1
  50. package/build/components/CrossScopeWarning.d.ts +12 -0
  51. package/build/components/CrossScopeWarning.d.ts.map +1 -0
  52. package/build/components/CrossScopeWarning.js +13 -0
  53. package/build/components/CrossScopeWarning.js.map +1 -0
  54. package/build/components/DryRunBanner.d.ts +3 -1
  55. package/build/components/DryRunBanner.d.ts.map +1 -1
  56. package/build/components/DryRunBanner.js +2 -2
  57. package/build/components/DryRunBanner.js.map +1 -1
  58. package/build/components/InstallConfirmBar.d.ts.map +1 -1
  59. package/build/components/InstallConfirmBar.js +1 -3
  60. package/build/components/InstallConfirmBar.js.map +1 -1
  61. package/build/components/InstallSummary.d.ts +3 -1
  62. package/build/components/InstallSummary.d.ts.map +1 -1
  63. package/build/components/InstallSummary.js +2 -2
  64. package/build/components/InstallSummary.js.map +1 -1
  65. package/build/components/ListActionBar.d.ts +4 -2
  66. package/build/components/ListActionBar.d.ts.map +1 -1
  67. package/build/components/ListActionBar.js +5 -4
  68. package/build/components/ListActionBar.js.map +1 -1
  69. package/build/components/ListBrowseList.d.ts +7 -6
  70. package/build/components/ListBrowseList.d.ts.map +1 -1
  71. package/build/components/ListBrowseList.js +10 -6
  72. package/build/components/ListBrowseList.js.map +1 -1
  73. package/build/components/StatusBadge.d.ts +1 -1
  74. package/build/components/StatusBadge.d.ts.map +1 -1
  75. package/build/components/StatusBadge.js +1 -0
  76. package/build/components/StatusBadge.js.map +1 -1
  77. package/build/components/SyncAllInSync.d.ts +3 -1
  78. package/build/components/SyncAllInSync.d.ts.map +1 -1
  79. package/build/components/SyncAllInSync.js +2 -2
  80. package/build/components/SyncAllInSync.js.map +1 -1
  81. package/build/components/SyncDriftedList.d.ts +3 -1
  82. package/build/components/SyncDriftedList.d.ts.map +1 -1
  83. package/build/components/SyncDriftedList.js +3 -3
  84. package/build/components/SyncDriftedList.js.map +1 -1
  85. package/build/components/SyncNoAssets.d.ts +3 -1
  86. package/build/components/SyncNoAssets.d.ts.map +1 -1
  87. package/build/components/SyncNoAssets.js +2 -2
  88. package/build/components/SyncNoAssets.js.map +1 -1
  89. package/build/components/index.d.ts +1 -0
  90. package/build/components/index.d.ts.map +1 -1
  91. package/build/components/index.js +1 -0
  92. package/build/components/index.js.map +1 -1
  93. package/build/hooks/useInitState.d.ts.map +1 -1
  94. package/build/hooks/useInitState.js +4 -2
  95. package/build/hooks/useInitState.js.map +1 -1
  96. package/build/hooks/useListActions.d.ts +19 -6
  97. package/build/hooks/useListActions.d.ts.map +1 -1
  98. package/build/hooks/useListActions.js +37 -33
  99. package/build/hooks/useListActions.js.map +1 -1
  100. package/build/hooks/useListState.d.ts +29 -12
  101. package/build/hooks/useListState.d.ts.map +1 -1
  102. package/build/hooks/useListState.js +22 -6
  103. package/build/hooks/useListState.js.map +1 -1
  104. package/build/hooks/usePruneState.d.ts +6 -0
  105. package/build/hooks/usePruneState.d.ts.map +1 -1
  106. package/build/hooks/usePruneState.js +6 -1
  107. package/build/hooks/usePruneState.js.map +1 -1
  108. package/build/hooks/useResolvedScope.d.ts +21 -0
  109. package/build/hooks/useResolvedScope.d.ts.map +1 -0
  110. package/build/hooks/useResolvedScope.js +15 -0
  111. package/build/hooks/useResolvedScope.js.map +1 -0
  112. package/build/hooks/useUninstallState.d.ts +17 -8
  113. package/build/hooks/useUninstallState.d.ts.map +1 -1
  114. package/build/hooks/useUninstallState.js +48 -12
  115. package/build/hooks/useUninstallState.js.map +1 -1
  116. package/build/lib/adapter.d.ts +41 -2
  117. package/build/lib/adapter.d.ts.map +1 -1
  118. package/build/lib/adapter.js +147 -12
  119. package/build/lib/adapter.js.map +1 -1
  120. package/build/lib/checksum.d.ts.map +1 -1
  121. package/build/lib/checksum.js +2 -1
  122. package/build/lib/checksum.js.map +1 -1
  123. package/build/lib/config-entries.d.ts +5 -3
  124. package/build/lib/config-entries.d.ts.map +1 -1
  125. package/build/lib/config-entries.js +7 -4
  126. package/build/lib/config-entries.js.map +1 -1
  127. package/build/lib/config-file.d.ts +10 -3
  128. package/build/lib/config-file.d.ts.map +1 -1
  129. package/build/lib/config-file.js +29 -7
  130. package/build/lib/config-file.js.map +1 -1
  131. package/build/lib/config-lock.d.ts +3 -1
  132. package/build/lib/config-lock.d.ts.map +1 -1
  133. package/build/lib/config-lock.js +12 -5
  134. package/build/lib/config-lock.js.map +1 -1
  135. package/build/lib/cross-scope.d.ts +50 -0
  136. package/build/lib/cross-scope.d.ts.map +1 -0
  137. package/build/lib/cross-scope.js +132 -0
  138. package/build/lib/cross-scope.js.map +1 -0
  139. package/build/lib/diagnostics.d.ts +15 -2
  140. package/build/lib/diagnostics.d.ts.map +1 -1
  141. package/build/lib/diagnostics.js +152 -10
  142. package/build/lib/diagnostics.js.map +1 -1
  143. package/build/lib/diff-command.d.ts.map +1 -1
  144. package/build/lib/diff-command.js +7 -7
  145. package/build/lib/diff-command.js.map +1 -1
  146. package/build/lib/init.d.ts.map +1 -1
  147. package/build/lib/init.js +2 -1
  148. package/build/lib/init.js.map +1 -1
  149. package/build/lib/installed-for-tool.d.ts +2 -1
  150. package/build/lib/installed-for-tool.d.ts.map +1 -1
  151. package/build/lib/installed-for-tool.js +7 -4
  152. package/build/lib/installed-for-tool.js.map +1 -1
  153. package/build/lib/installer.d.ts +2 -2
  154. package/build/lib/installer.d.ts.map +1 -1
  155. package/build/lib/installer.js +111 -40
  156. package/build/lib/installer.js.map +1 -1
  157. package/build/lib/lockfile.d.ts +1 -1
  158. package/build/lib/lockfile.d.ts.map +1 -1
  159. package/build/lib/lockfile.js +2 -2
  160. package/build/lib/lockfile.js.map +1 -1
  161. package/build/lib/mover.d.ts +103 -0
  162. package/build/lib/mover.d.ts.map +1 -0
  163. package/build/lib/mover.js +375 -0
  164. package/build/lib/mover.js.map +1 -0
  165. package/build/lib/owned-paths.d.ts.map +1 -1
  166. package/build/lib/owned-paths.js +8 -8
  167. package/build/lib/owned-paths.js.map +1 -1
  168. package/build/lib/read-scopes.d.ts +32 -0
  169. package/build/lib/read-scopes.d.ts.map +1 -0
  170. package/build/lib/read-scopes.js +55 -0
  171. package/build/lib/read-scopes.js.map +1 -0
  172. package/build/lib/root-path.d.ts +7 -0
  173. package/build/lib/root-path.d.ts.map +1 -0
  174. package/build/lib/root-path.js +10 -0
  175. package/build/lib/root-path.js.map +1 -0
  176. package/build/lib/schemas/adapter.d.ts +49 -1
  177. package/build/lib/schemas/adapter.d.ts.map +1 -1
  178. package/build/lib/schemas/adapter.js +36 -0
  179. package/build/lib/schemas/adapter.js.map +1 -1
  180. package/build/lib/schemas/lockfile.d.ts +2 -0
  181. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  182. package/build/lib/schemas/lockfile.js +8 -2
  183. package/build/lib/schemas/lockfile.js.map +1 -1
  184. package/build/lib/scope.d.ts +11 -0
  185. package/build/lib/scope.d.ts.map +1 -1
  186. package/build/lib/scope.js +12 -0
  187. package/build/lib/scope.js.map +1 -1
  188. package/build/lib/sync.d.ts +2 -1
  189. package/build/lib/sync.d.ts.map +1 -1
  190. package/build/lib/sync.js +12 -5
  191. package/build/lib/sync.js.map +1 -1
  192. package/build/lib/toml-edit.d.ts +10 -0
  193. package/build/lib/toml-edit.d.ts.map +1 -0
  194. package/build/lib/toml-edit.js +311 -0
  195. package/build/lib/toml-edit.js.map +1 -0
  196. package/build/lib/tool-resolver.d.ts +12 -0
  197. package/build/lib/tool-resolver.d.ts.map +1 -1
  198. package/build/lib/tool-resolver.js +34 -8
  199. package/build/lib/tool-resolver.js.map +1 -1
  200. package/build/lib/uninstaller.d.ts +37 -2
  201. package/build/lib/uninstaller.d.ts.map +1 -1
  202. package/build/lib/uninstaller.js +121 -35
  203. package/build/lib/uninstaller.js.map +1 -1
  204. package/build/lib/updater.d.ts +3 -2
  205. package/build/lib/updater.d.ts.map +1 -1
  206. package/build/lib/updater.js +18 -12
  207. package/build/lib/updater.js.map +1 -1
  208. package/build/lib/write-file.d.ts +5 -2
  209. package/build/lib/write-file.d.ts.map +1 -1
  210. package/build/lib/write-file.js +6 -3
  211. package/build/lib/write-file.js.map +1 -1
  212. package/package.json +1 -1
  213. package/tool-adapters/claude-code.json +13 -0
  214. package/tool-adapters/codex-cli.json +28 -0
  215. package/tool-adapters/copilot-cli.json +46 -2
@@ -4,12 +4,13 @@ import { option } from 'pastel';
4
4
  import { z } from 'zod';
5
5
  import { ErrorView, Spinner } from '../components/index.js';
6
6
  import { useCommand } from '../hooks/useCommand.js';
7
+ import { useResolvedScope } from '../hooks/useResolvedScope.js';
7
8
  import { isAssetFrozen, thawAssetInConfig } from '../lib/config.js';
8
9
  import { readLockfile, requireDirectInstall } from '../lib/lockfile.js';
9
10
  import { parseOrgFromName } from '../lib/org.js';
10
11
  import { renderJson, useNonInteractive } from '../lib/output.js';
11
12
  import { AssetType } from '../lib/schemas/index.js';
12
- import { resolveScope } from '../lib/scope.js';
13
+ import { scopeLabel } from '../lib/scope.js';
13
14
  export const description = 'Thaw a frozen asset to allow sync and update to overwrite it again';
14
15
  export const options = z.object({
15
16
  json: z
@@ -41,14 +42,16 @@ export const args = z.tuple([z.string().describe('Asset name to thaw')]);
41
42
  export default function Thaw({ args: [rawName], options: { json, projectRoot, type, user } }) {
42
43
  const { name, org } = parseOrgFromName(rawName);
43
44
  const { json: effectiveJson } = useNonInteractive(json);
45
+ const { fields, resolve, resolved } = useResolvedScope({ projectRoot, user });
44
46
  const state = useCommand(async (progress) => {
45
- const { root: projectDir } = await resolveScope({ projectRoot, user });
47
+ const where = await resolve();
48
+ const projectDir = where.root;
46
49
  // Note: resolveTool is intentionally omitted — thaw only toggles the
47
50
  // frozen state in the project config and does not place or modify any files.
48
51
  progress('Reading lockfile...');
49
52
  const lockfile = await readLockfile(projectDir);
50
53
  // Verify the asset is installed and is a direct install
51
- requireDirectInstall(lockfile, name, 'thawed', type, org);
54
+ requireDirectInstall(lockfile, name, 'thawed', type, org, scopeLabel(where));
52
55
  // Check if the asset is actually frozen (via project config)
53
56
  const frozen = await isAssetFrozen(projectDir, name, type, org);
54
57
  if (!frozen) {
@@ -69,18 +72,20 @@ export default function Thaw({ args: [rawName], options: { json, projectRoot, ty
69
72
  ...(state.hint ? { hint: state.hint } : {}),
70
73
  message: state.message,
71
74
  outcome: 'error',
75
+ ...fields,
72
76
  });
73
77
  }
74
78
  return _jsx(ErrorView, { command: state.command, hint: state.hint, message: state.message });
75
79
  }
76
80
  const { data } = state;
77
81
  if (effectiveJson) {
78
- return renderJson(data);
82
+ return renderJson({ ...data, ...fields });
79
83
  }
84
+ const where = resolved ? _jsxs(Text, { dimColor: true, children: [" in ", scopeLabel(resolved)] }) : null;
80
85
  if (data.outcome === 'not-frozen') {
81
- return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: data.name }), " is not currently frozen"] }));
86
+ return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: data.name }), " is not currently frozen", where] }));
82
87
  }
83
88
  // data.outcome === 'thawed'
84
- return (_jsxs(Text, { color: 'green', children: ["Thawed ", _jsx(Text, { bold: true, children: data.name })] }));
89
+ return (_jsxs(Text, { color: 'green', children: ["Thawed ", _jsx(Text, { bold: true, children: data.name }), where] }));
85
90
  }
86
91
  //# sourceMappingURL=thaw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thaw.js","sourceRoot":"","sources":["../../src/commands/thaw.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thaw.js","sourceRoot":"","sources":["../../src/commands/thaw.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,WAAW,iCAAiC,CAAC;AAE1D,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;iBAwFlB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAAsE,CAAC;AAgBxF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AASF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,IAAI,EAAE,CAAC,IAAI,CAAC,EACZ,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GACrF,EAAE,KAAK,kDAgbP"}
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,eAAO,MAAM,WAAW,iCAAiC,CAAC;AAE1D,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;iBAwFlB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAAsE,CAAC;AAiBxF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAUF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,IAAI,EAAE,CAAC,IAAI,CAAC,EACZ,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GACrF,EAAE,KAAK,kDA6bP"}
@@ -6,11 +6,12 @@ import { z } from 'zod';
6
6
  import { DryRunBanner, ErrorView, OrphanListItem, Spinner } from '../components/index.js';
7
7
  import { useConfirmation } from '../hooks/useConfirmation.js';
8
8
  import { useUninstallState } from '../hooks/useUninstallState.js';
9
- import { resolveInstalledPaths } from '../lib/adapter.js';
9
+ import { adapterAsPlaced, resolveInstalledPaths } from '../lib/adapter.js';
10
10
  import { identityKey } from '../lib/lockfile.js';
11
11
  import { formatOrgName } from '../lib/org.js';
12
12
  import { renderJson, useNonInteractive } from '../lib/output.js';
13
13
  import { AssetType } from '../lib/schemas/index.js';
14
+ import { scopeFields, scopeLabel } from '../lib/scope.js';
14
15
  export const description = 'Uninstall an asset or bundle';
15
16
  export const options = z.object({
16
17
  cascade: z
@@ -151,6 +152,9 @@ export default function Uninstall({ args: [name], options: { cascade, dryRun, js
151
152
  // ---------------------------------------------------------------------------
152
153
  // Render
153
154
  // ---------------------------------------------------------------------------
155
+ const fields = state.where ? scopeFields(state.where) : {};
156
+ const label = state.where && scopeLabel(state.where);
157
+ const where = label ? ` in ${label}` : '';
154
158
  // Loading phase
155
159
  if (state.phase === 'loading') {
156
160
  return _jsx(Spinner, { message: state.progress });
@@ -164,6 +168,7 @@ export default function Uninstall({ args: [name], options: { cascade, dryRun, js
164
168
  ...(state.errorHint ? { hint: state.errorHint } : {}),
165
169
  message: state.errorMessage,
166
170
  outcome: 'error',
171
+ ...fields,
167
172
  });
168
173
  }
169
174
  return _jsx(ErrorView, { command: state.errorCommand, hint: state.errorHint, message: state.errorMessage });
@@ -178,7 +183,7 @@ export default function Uninstall({ args: [name], options: { cascade, dryRun, js
178
183
  const cancelled = outcome?.outcome === 'confirming' || outcome?.outcome === 'bundle-confirming';
179
184
  // JSON path: emit the outcome shape directly once we have one
180
185
  if (effectiveJson && state.phase === 'done' && outcome) {
181
- return renderJson(cancelled ? { name, outcome: 'cancelled' } : outcome);
186
+ return renderJson({ ...(cancelled ? { name, outcome: 'cancelled' } : outcome), ...fields });
182
187
  }
183
188
  // Cancelled from confirming (done phase with no outcome change — cancelled before execution)
184
189
  if (state.phase === 'done' && outcome?.outcome === 'confirming') {
@@ -194,51 +199,51 @@ export default function Uninstall({ args: [name], options: { cascade, dryRun, js
194
199
  // --- Single-asset outcomes ---
195
200
  if (outcome.outcome === 'not-installed') {
196
201
  // Echo the spec the user typed (keeps the @org/ prefix visible).
197
- return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: name }), " is not installed."] }));
202
+ return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: name }), " is not installed", where, "."] }));
198
203
  }
199
204
  if (outcome.outcome === 'dry-run-single') {
200
205
  const { lockfileEffects, plan, projectDir, tools } = outcome;
201
206
  const resolvedToolNames = tools.map((t) => t.tool);
202
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(DryRunBanner, { action: 'uninstall', count: 1, tools: resolvedToolNames }), _jsx(Text, { children: " " }), _jsxs(Text, { children: [' ', _jsx(Text, { bold: true, children: formatOrgName(plan.primary.org, plan.primary.name) }), _jsxs(Text, { dimColor: true, children: [' ', "(", plan.primary.type, ") v", plan.primary.version] })] }), tools.map(({ adapter: toolAdapter, tool: toolName }) => {
203
- const resolved = resolveInstalledPaths(plan.primary, toolAdapter, projectDir);
207
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(DryRunBanner, { action: 'uninstall', count: 1, tools: resolvedToolNames, where: label }), _jsx(Text, { children: " " }), _jsxs(Text, { children: [' ', _jsx(Text, { bold: true, children: formatOrgName(plan.primary.org, plan.primary.name) }), _jsxs(Text, { dimColor: true, children: [' ', "(", plan.primary.type, ") v", plan.primary.version] })] }), tools.map(({ adapter: toolAdapter, tool: toolName }) => {
208
+ const resolved = resolveInstalledPaths(plan.primary, adapterAsPlaced(toolAdapter, plan.primary), projectDir);
204
209
  return (_jsxs(Box, { flexDirection: 'column', children: [resolved.files.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsxs(Text, { dimColor: true, children: ["Files to remove (", toolName, "):"] }), resolved.files.map((f) => (_jsxs(Text, { dimColor: true, children: [' ', "\u2715 ", f.installedPath] }, f.installedPath)))] })), resolved.configEntries.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsxs(Text, { dimColor: true, children: ["Config entries to clean (", toolName, "):"] }), resolved.configEntries.map((c) => (_jsxs(Text, { dimColor: true, children: [' ', "\u2715 ", c.key] }, c.key)))] }))] }, toolName));
205
210
  }), plan.dependents.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsxs(Text, { color: 'yellow', children: ["Warning: the following assets depend on", ' ', _jsx(Text, { bold: true, children: formatOrgName(plan.primary.org, plan.primary.name) }), ":"] }), plan.dependents.map((d) => (_jsxs(Text, { color: 'yellow', children: [' ', "- ", formatOrgName(d.org, d.name), " (", d.type, ")"] }, `dep-${identityKey(d)}`)))] })), plan.orphanedDependencies.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Orphaned dependencies that would also be removed:" }), plan.orphanedDependencies.map((d) => (_jsx(OrphanListItem, { name: d.name, org: d.org, type: d.type, version: d.version }, `orphan-${identityKey(d)}`)))] })), _jsx(LockfileEffects, { effects: lockfileEffects, tools: resolvedToolNames })] }));
206
211
  }
207
212
  if (outcome.outcome === 'success') {
208
- return (_jsx(Box, { flexDirection: 'column', children: outcome.toolResults.map(({ plan, results, tool: toolName }) => (_jsx(SingleUninstallSummary, { name: name, plan: plan, results: results, tools: [toolName] }, toolName))) }));
213
+ return (_jsx(Box, { flexDirection: 'column', children: outcome.toolResults.map(({ plan, results, tool: toolName }) => (_jsx(SingleUninstallSummary, { name: name, plan: plan, results: results, tools: [toolName], where: where }, toolName))) }));
209
214
  }
210
215
  if (outcome.outcome === 'confirming') {
211
216
  const { lockfileEffects, plan, tools: confirmTools } = outcome;
212
217
  // Awaiting confirmation — show dependents warning and prompt
213
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'yellow', children: ["Warning: the following assets depend on ", _jsx(Text, { bold: true, children: name }), ":"] }), plan.dependents.map((d) => (_jsxs(Text, { color: 'yellow', children: [' ', "- ", formatOrgName(d.org, d.name), " (", d.type, ")"] }, `dep-${identityKey(d)}`))), plan.orphanedDependencies.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Orphaned dependencies that will also be removed:" }), plan.orphanedDependencies.map((d) => (_jsx(OrphanListItem, { name: d.name, org: d.org, type: d.type, version: d.version }, `orphan-${identityKey(d)}`)))] })), _jsx(LockfileEffects, { effects: lockfileEffects, keptOnly: true, tools: confirmTools.map((t) => t.tool) }), _jsx(Text, { children: " " }), _jsx(Text, { children: "Continue with uninstall? (y/n)" })] }));
218
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'yellow', children: ["Warning: the following assets depend on ", _jsx(Text, { bold: true, children: name }), ":"] }), plan.dependents.map((d) => (_jsxs(Text, { color: 'yellow', children: [' ', "- ", formatOrgName(d.org, d.name), " (", d.type, ")"] }, `dep-${identityKey(d)}`))), plan.orphanedDependencies.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Orphaned dependencies that will also be removed:" }), plan.orphanedDependencies.map((d) => (_jsx(OrphanListItem, { name: d.name, org: d.org, type: d.type, version: d.version }, `orphan-${identityKey(d)}`)))] })), _jsx(LockfileEffects, { effects: lockfileEffects, keptOnly: true, tools: confirmTools.map((t) => t.tool) }), _jsx(Text, { children: " " }), _jsxs(Text, { children: ["Continue with uninstall", where, "? (y/n)"] })] }));
214
219
  }
215
220
  // --- Bundle outcomes ---
216
221
  if (outcome.outcome === 'dry-run-bundle') {
217
222
  const { lockfileEffects, plan, tools } = outcome;
218
223
  const totalRemovals = plan.assetsToRemove.length + plan.orphansToRemove.length;
219
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(DryRunBanner, { action: 'uninstall', count: totalRemovals, tools: tools }), _jsx(Text, { children: " " }), _jsxs(Text, { children: [_jsxs(Text, { bold: true, color: 'magenta', children: ["Bundle: ", plan.bundleName] }), _jsxs(Text, { dimColor: true, children: [" v", plan.bundleVersion] })] }), plan.assetsToRemove.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Assets to remove:" }), plan.assetsToRemove.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'red', children: ["- ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `remove-${identityKey(a)}`)))] })), plan.orphansToRemove.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Orphaned dependencies to remove:" }), plan.orphansToRemove.map((a) => (_jsx(OrphanListItem, { name: a.name, org: a.org, type: a.type, version: a.version }, `orphan-${identityKey(a)}`)))] })), plan.assetsToSkip.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Skipped (still needed):" }), plan.assetsToSkip.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'yellow', children: ["~ ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [" \u2014 ", a.reason] })] }, `skip-${identityKey(a)}`)))] })), _jsx(LockfileEffects, { effects: lockfileEffects, tools: tools })] }));
224
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(DryRunBanner, { action: 'uninstall', count: totalRemovals, tools: tools, where: label }), _jsx(Text, { children: " " }), _jsxs(Text, { children: [_jsxs(Text, { bold: true, color: 'magenta', children: ["Bundle: ", plan.bundleName] }), _jsxs(Text, { dimColor: true, children: [" v", plan.bundleVersion] })] }), plan.assetsToRemove.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Assets to remove:" }), plan.assetsToRemove.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'red', children: ["- ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `remove-${identityKey(a)}`)))] })), plan.orphansToRemove.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Orphaned dependencies to remove:" }), plan.orphansToRemove.map((a) => (_jsx(OrphanListItem, { name: a.name, org: a.org, type: a.type, version: a.version }, `orphan-${identityKey(a)}`)))] })), plan.assetsToSkip.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Skipped (still needed):" }), plan.assetsToSkip.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'yellow', children: ["~ ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [" \u2014 ", a.reason] })] }, `skip-${identityKey(a)}`)))] })), _jsx(LockfileEffects, { effects: lockfileEffects, tools: tools })] }));
220
225
  }
221
226
  if (outcome.outcome === 'bundle-not-installed') {
222
227
  // Echo the spec the user typed (keeps the @org/ prefix visible).
223
- return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " Bundle ", _jsx(Text, { bold: true, children: name }), " is not currently installed."] }));
228
+ return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " Bundle ", _jsx(Text, { bold: true, children: name }), " is not currently installed", where, "."] }));
224
229
  }
225
230
  if (outcome.outcome === 'bundle-confirming') {
226
231
  const { lockfileEffects, plan, tools } = outcome;
227
232
  const totalRemovals = plan.assetsToRemove.length + plan.orphansToRemove.length;
228
233
  // Awaiting confirmation — show plan
229
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsxs(Text, { bold: true, color: 'magenta', children: ["Bundle: ", plan.bundleName] }), _jsxs(Text, { dimColor: true, children: [" v", plan.bundleVersion] })] }), _jsx(Text, { children: " " }), plan.assetsToRemove.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { dimColor: true, children: "Assets to remove:" }), plan.assetsToRemove.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'red', children: ["- ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `remove-${identityKey(a)}`))), _jsx(Text, { children: " " })] })), plan.orphansToRemove.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { dimColor: true, children: "Orphaned dependencies to remove:" }), plan.orphansToRemove.map((a) => (_jsx(OrphanListItem, { name: a.name, org: a.org, type: a.type, version: a.version }, `orphan-${identityKey(a)}`))), _jsx(Text, { children: " " })] })), plan.assetsToSkip.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { dimColor: true, children: "Skipped (still needed):" }), plan.assetsToSkip.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'yellow', children: ["~ ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [" \u2014 ", a.reason] })] }, `skip-${identityKey(a)}`))), _jsx(Text, { children: " " })] })), _jsx(LockfileEffects, { effects: lockfileEffects, keptOnly: true, tools: tools.map((t) => t.tool) }), _jsxs(Text, { children: ["Remove ", totalRemovals, " asset", totalRemovals !== 1 ? 's' : '', "? (y/n)"] })] }));
234
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsxs(Text, { bold: true, color: 'magenta', children: ["Bundle: ", plan.bundleName] }), _jsxs(Text, { dimColor: true, children: [" v", plan.bundleVersion] })] }), _jsx(Text, { children: " " }), plan.assetsToRemove.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { dimColor: true, children: "Assets to remove:" }), plan.assetsToRemove.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'red', children: ["- ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `remove-${identityKey(a)}`))), _jsx(Text, { children: " " })] })), plan.orphansToRemove.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { dimColor: true, children: "Orphaned dependencies to remove:" }), plan.orphansToRemove.map((a) => (_jsx(OrphanListItem, { name: a.name, org: a.org, type: a.type, version: a.version }, `orphan-${identityKey(a)}`))), _jsx(Text, { children: " " })] })), plan.assetsToSkip.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { dimColor: true, children: "Skipped (still needed):" }), plan.assetsToSkip.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'yellow', children: ["~ ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [" \u2014 ", a.reason] })] }, `skip-${identityKey(a)}`))), _jsx(Text, { children: " " })] })), _jsx(LockfileEffects, { effects: lockfileEffects, keptOnly: true, tools: tools.map((t) => t.tool) }), _jsxs(Text, { children: ["Remove ", totalRemovals, " asset", totalRemovals !== 1 ? 's' : '', where, "? (y/n)"] })] }));
230
235
  }
231
236
  if (outcome.outcome === 'bundle-success' ||
232
237
  outcome.outcome === 'bundle-partial' ||
233
238
  outcome.outcome === 'bundle-failed') {
234
- return _jsx(BundleUninstallSummary, { plan: outcome.plan, result: outcome.result, tools: outcome.tools });
239
+ return _jsx(BundleUninstallSummary, { plan: outcome.plan, result: outcome.result, tools: outcome.tools, where: where });
235
240
  }
236
241
  // This should never be reached, but TypeScript exhaustiveness
237
242
  return null;
238
243
  }
239
- function BundleUninstallSummary({ plan, result, tools }) {
244
+ function BundleUninstallSummary({ plan, result, tools, where }) {
240
245
  const totalRemoved = result.removedAssets.length + result.removedOrphans.length;
241
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsxs(Text, { bold: true, color: 'magenta', children: ["Bundle: ", plan.bundleName] }), _jsxs(Text, { dimColor: true, children: [" v", plan.bundleVersion] })] }), _jsx(Text, { children: " " }), _jsxs(Text, { color: result.errors.length === 0 ? 'green' : totalRemoved > 0 ? 'yellow' : 'red', children: [result.errors.length === 0 ? '✓' : totalRemoved > 0 ? '!' : '✕', " Removed ", totalRemoved, " asset", totalRemoved !== 1 ? 's' : '', " from ", tools.join(', '), result.errors.length > 0 ? `; ${result.errors.length} could not be removed` : ''] }), result.removedAssets.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Removed assets:" }), result.removedAssets.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'green', children: ["\u2713 ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `remove-${identityKey(a)}`)))] })), result.removedOrphans.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Removed orphaned dependencies:" }), result.removedOrphans.map((a) => (_jsx(OrphanListItem, { color: 'green', icon: '\u2713', name: a.name, org: a.org, type: a.type, version: a.version }, `orphan-${identityKey(a)}`)))] })), result.skippedAssets.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Skipped (still needed):" }), result.skippedAssets.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'yellow', children: ["~ ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [" \u2014 ", a.reason] })] }, `skip-${identityKey(a)}`)))] })), _jsx(LockfileEffects, { effects: (result.keptEntries ?? []).map((k) => ({ ...k, entryKept: true })), keptOnly: true, tools: tools }), result.errors.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { color: 'red', children: "Errors:" }), result.errors.map((e) => (_jsxs(Text, { color: 'red', children: [' ', "\u2715 ", formatOrgName(e.org, e.asset), ": ", e.error] }, `err-${identityKey({ name: e.asset, org: e.org, type: e.type })}`)))] }))] }));
246
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsxs(Text, { bold: true, color: 'magenta', children: ["Bundle: ", plan.bundleName] }), _jsxs(Text, { dimColor: true, children: [" v", plan.bundleVersion] })] }), _jsx(Text, { children: " " }), _jsxs(Text, { color: result.errors.length === 0 ? 'green' : totalRemoved > 0 ? 'yellow' : 'red', children: [result.errors.length === 0 ? '✓' : totalRemoved > 0 ? '!' : '✕', " Removed ", totalRemoved, " asset", totalRemoved !== 1 ? 's' : '', " from ", tools.join(', '), where, result.errors.length > 0 ? `; ${result.errors.length} could not be removed` : ''] }), result.removedAssets.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Removed assets:" }), result.removedAssets.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'green', children: ["\u2713 ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `remove-${identityKey(a)}`)))] })), result.removedOrphans.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Removed orphaned dependencies:" }), result.removedOrphans.map((a) => (_jsx(OrphanListItem, { color: 'green', icon: '\u2713', name: a.name, org: a.org, type: a.type, version: a.version }, `orphan-${identityKey(a)}`)))] })), result.skippedAssets.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Skipped (still needed):" }), result.skippedAssets.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'yellow', children: ["~ ", formatOrgName(a.org, a.name)] }), _jsxs(Text, { dimColor: true, children: [" \u2014 ", a.reason] })] }, `skip-${identityKey(a)}`)))] })), _jsx(LockfileEffects, { effects: (result.keptEntries ?? []).map((k) => ({ ...k, entryKept: true })), keptOnly: true, tools: tools }), result.errors.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { color: 'red', children: "Errors:" }), result.errors.map((e) => (_jsxs(Text, { color: 'red', children: [' ', "\u2715 ", formatOrgName(e.org, e.asset), ": ", e.error] }, `err-${identityKey({ name: e.asset, org: e.org, type: e.type })}`)))] }))] }));
242
247
  }
243
248
  /**
244
249
  * Says what happens to each asset's lockfile entry. A `--tool` uninstall keeps the entry while
@@ -252,10 +257,10 @@ function LockfileEffects({ effects, keptOnly = false, tools }) {
252
257
  ? `${formatOrgName(e.org, e.name)}: entry kept — still installed for ${e.remainingTools.join(', ')}; excluded for ${tools.join(', ')}`
253
258
  : `${formatOrgName(e.org, e.name)}: entry removed`] }, `lock-${identityKey(e)}`)))] }));
254
259
  }
255
- function SingleUninstallSummary({ name, plan, results, tools }) {
260
+ function SingleUninstallSummary({ name, plan, results, tools, where }) {
256
261
  const primaryResult = results.find((r) => r.reason === 'direct');
257
262
  const orphanResults = results.filter((r) => r.reason === 'orphan');
258
- return (_jsxs(Box, { flexDirection: 'column', children: [plan.dependents.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(Text, { color: 'yellow', children: ["Warning: the following assets depend on ", _jsx(Text, { bold: true, children: name }), ":"] }), plan.dependents.map((d) => (_jsxs(Text, { color: 'yellow', children: [' ', "- ", formatOrgName(d.org, d.name), " (", d.type, ")"] }, `dep-${identityKey(d)}`))), _jsx(Text, { children: " " })] })), primaryResult && (_jsxs(Text, { color: 'green', children: ["\u2713 Uninstalled ", _jsx(Text, { bold: true, children: formatOrgName(primaryResult.org, primaryResult.name) }), " (", primaryResult.type, ") v", primaryResult.version, " from ", tools.join(', ')] })), primaryResult && primaryResult.filesRemoved.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Removed files:" }), primaryResult.filesRemoved.map((f) => (_jsxs(Text, { dimColor: true, children: ["\u2715 ", f] }, f)))] })), primaryResult && primaryResult.configEntriesCleaned.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Cleaned config entries:" }), primaryResult.configEntriesCleaned.map((c) => (_jsxs(Text, { dimColor: true, children: ["\u2715 ", c.key] }, c.key)))] })), orphanResults.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Removed orphaned dependencies:" }), orphanResults.map((r) => (_jsx(OrphanListItem, { color: 'green', icon: '\u2713', name: r.name, org: r.org, type: r.type, version: r.version }, `orphan-${identityKey(r)}`)))] })), _jsx(LockfileEffects, { effects: results
263
+ return (_jsxs(Box, { flexDirection: 'column', children: [plan.dependents.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(Text, { color: 'yellow', children: ["Warning: the following assets depend on ", _jsx(Text, { bold: true, children: name }), ":"] }), plan.dependents.map((d) => (_jsxs(Text, { color: 'yellow', children: [' ', "- ", formatOrgName(d.org, d.name), " (", d.type, ")"] }, `dep-${identityKey(d)}`))), _jsx(Text, { children: " " })] })), primaryResult && (_jsxs(Text, { color: 'green', children: ["\u2713 Uninstalled ", _jsx(Text, { bold: true, children: formatOrgName(primaryResult.org, primaryResult.name) }), " (", primaryResult.type, ") v", primaryResult.version, " from ", tools.join(', '), where] })), primaryResult && primaryResult.filesRemoved.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Removed files:" }), primaryResult.filesRemoved.map((f) => (_jsxs(Text, { dimColor: true, children: ["\u2715 ", f] }, f)))] })), primaryResult && primaryResult.configEntriesCleaned.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Cleaned config entries:" }), primaryResult.configEntriesCleaned.map((c) => (_jsxs(Text, { dimColor: true, children: ["\u2715 ", c.key] }, c.key)))] })), orphanResults.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Removed orphaned dependencies:" }), orphanResults.map((r) => (_jsx(OrphanListItem, { color: 'green', icon: '\u2713', name: r.name, org: r.org, type: r.type, version: r.version }, `orphan-${identityKey(r)}`)))] })), _jsx(LockfileEffects, { effects: results
259
264
  .filter((r) => r.lockfileEntryKept)
260
265
  .map((r) => ({
261
266
  entryKept: true,
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"unpin.d.ts","sourceRoot":"","sources":["../../src/commands/unpin.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB,eAAO,MAAM,WAAW,iDAAiD,CAAC;AAE1E,eAAO,MAAM,OAAO;;;;;;;;;;;;iBAiClB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAAwD,CAAC;AAE1E,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CA0EnG"}
1
+ {"version":3,"file":"unpin.d.ts","sourceRoot":"","sources":["../../src/commands/unpin.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,eAAO,MAAM,WAAW,iDAAiD,CAAC;AAE1E,eAAO,MAAM,OAAO;;;;;;;;;;;;iBAiClB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAAwD,CAAC;AAE1E,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CAiFnG"}
@@ -4,11 +4,12 @@ import { option } from 'pastel';
4
4
  import { z } from 'zod';
5
5
  import { ErrorView, Spinner } from '../components/index.js';
6
6
  import { useCommand } from '../hooks/useCommand.js';
7
+ import { useResolvedScope } from '../hooks/useResolvedScope.js';
7
8
  import { findInstalledAsset, isPinned, LockfileError, readLockfile, unpinAssetVersion, withLockfileErrorHandling, writeLockfile, } from '../lib/lockfile.js';
8
9
  import { parseOrgFromName } from '../lib/org.js';
9
10
  import { renderJson, useNonInteractive } from '../lib/output.js';
10
11
  import { AssetType } from '../lib/schemas/index.js';
11
- import { resolveScope } from '../lib/scope.js';
12
+ import { scopeLabel } from '../lib/scope.js';
12
13
  export const description = 'Remove a version pin from an installed asset';
13
14
  export const options = z.object({
14
15
  json: z
@@ -40,15 +41,17 @@ export const args = z.tuple([z.string().describe('Asset name to unpin')]);
40
41
  export default function Unpin({ args: [rawName], options: { json, projectRoot, type, user } }) {
41
42
  const { name, org } = parseOrgFromName(rawName);
42
43
  const { json: effectiveJson } = useNonInteractive(json);
44
+ const { fields, resolve, resolved } = useResolvedScope({ projectRoot, user });
43
45
  const state = useCommand(async (progress) => {
44
- const { root: projectDir } = await resolveScope({ projectRoot, user });
46
+ const where = await resolve();
47
+ const projectDir = where.root;
45
48
  return await withLockfileErrorHandling(projectDir, async () => {
46
49
  progress('Reading lockfile...');
47
50
  const lockfile = await readLockfile(projectDir);
48
51
  // Verify the asset is installed
49
52
  const installed = findInstalledAsset(lockfile, name, type, org);
50
53
  if (!installed) {
51
- throw new LockfileError(`Asset '${rawName}' is not installed`);
54
+ throw new LockfileError(`Asset '${rawName}' is not installed in ${scopeLabel(where)}`);
52
55
  }
53
56
  // Check if the asset is actually pinned
54
57
  if (!isPinned(lockfile, name, type, org)) {
@@ -73,18 +76,20 @@ export default function Unpin({ args: [rawName], options: { json, projectRoot, t
73
76
  ...(state.hint ? { hint: state.hint } : {}),
74
77
  message: state.message,
75
78
  outcome: 'error',
79
+ ...fields,
76
80
  });
77
81
  }
78
82
  return _jsx(ErrorView, { command: state.command, hint: state.hint, message: state.message });
79
83
  }
80
84
  const { data } = state;
81
85
  if (effectiveJson) {
82
- return renderJson(data);
86
+ return renderJson({ ...data, ...fields });
83
87
  }
88
+ const where = resolved ? _jsxs(Text, { dimColor: true, children: [" in ", scopeLabel(resolved)] }) : null;
84
89
  if (data.outcome === 'not-pinned') {
85
- return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: data.name }), " is not currently pinned"] }));
90
+ return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " ", _jsx(Text, { bold: true, children: data.name }), " is not currently pinned", where] }));
86
91
  }
87
92
  // data.outcome === 'unpinned'
88
- return (_jsxs(Text, { color: 'green', children: ["Unpinned ", _jsx(Text, { bold: true, children: data.name }), " ", _jsxs(Text, { dimColor: true, children: ["(was pinned to v", data.version, ")"] })] }));
93
+ return (_jsxs(Text, { color: 'green', children: ["Unpinned ", _jsx(Text, { bold: true, children: data.name }), " ", _jsxs(Text, { dimColor: true, children: ["(was pinned to v", data.version, ")"] }), where] }));
89
94
  }
90
95
  //# sourceMappingURL=unpin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"unpin.js","sourceRoot":"","sources":["../../src/commands/unpin.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unpin.js","sourceRoot":"","sources":["../../src/commands/unpin.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkCxB,eAAO,MAAM,WAAW,4BAA4B,CAAC;AAErD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;iBAqElB,CAAC;AAEH,eAAO,MAAM,IAAI,gDAEf,CAAC;AAEH,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAwCF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,IAAI,EAAE,CAAC,OAAO,CAAC,EACf,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAChE,EAAE,KAAK,2CAyYP"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmCxB,eAAO,MAAM,WAAW,4BAA4B,CAAC;AAErD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;iBAqElB,CAAC;AAEH,eAAO,MAAM,IAAI,gDAEf,CAAC;AAEH,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAwCF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,IAAI,EAAE,CAAC,OAAO,CAAC,EACf,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAChE,EAAE,KAAK,2CAoZP"}
@@ -4,13 +4,14 @@ import { option } from 'pastel';
4
4
  import { z } from 'zod';
5
5
  import { AssetVersionLine, DryRunBanner, ErrorView, RunStoppedHint, SkippedAssetSection, Spinner, UndeclaredRemovedHint, } from '../components/index.js';
6
6
  import { useCommand } from '../hooks/useCommand.js';
7
+ import { useResolvedScope } from '../hooks/useResolvedScope.js';
7
8
  import { readLockfile, withLockfileErrorHandling } from '../lib/lockfile.js';
8
9
  import { formatOrgName } from '../lib/org.js';
9
10
  import { renderJson, useNonInteractive } from '../lib/output.js';
10
11
  import { fetchRegistry } from '../lib/registry.js';
11
12
  import { AssetType } from '../lib/schemas/index.js';
12
- import { loadScopeConfig, resolveScope, scopedCommand } from '../lib/scope.js';
13
- import { resolveTools } from '../lib/tool-resolver.js';
13
+ import { loadScopeConfig, scopedCommand, scopeLabel } from '../lib/scope.js';
14
+ import { resolvePlacingTools, resolveTools } from '../lib/tool-resolver.js';
14
15
  import { checkOutdated, findUpdateTarget, removeUndeclaredAfterUpdate, updateAssets, } from '../lib/updater.js';
15
16
  import { parseNameVersion } from '../lib/version.js';
16
17
  export const description = 'Update installed assets';
@@ -76,12 +77,13 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
76
77
  const name = parsed?.name;
77
78
  const requestedVersion = parsed?.version;
78
79
  const { json: effectiveJson } = useNonInteractive(json);
80
+ const { fields, resolve, resolved } = useResolvedScope({ projectRoot, user });
79
81
  const state = useCommand(async (progress) => {
80
- const { root: projectDir, scope } = await resolveScope({ projectRoot, user });
82
+ const { root: projectDir, scope } = await resolve();
81
83
  // Load the scope's config to get frozen assets
82
84
  const projectConfig = await loadScopeConfig(projectDir);
83
85
  const frozenNames = new Set((projectConfig?.frozenAssets ?? []).map((a) => `${a.type}:${a.org ?? ''}:${a.name}`));
84
- const tools = await resolveTools(tool, projectDir);
86
+ const tools = await resolvePlacingTools(tool, projectDir);
85
87
  const toolNames = tools.map((t) => t.tool);
86
88
  progress('Fetching registry...');
87
89
  const registry = await fetchRegistry({ force: true });
@@ -89,7 +91,7 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
89
91
  progress('Reading lockfile...');
90
92
  const preCheckLockfile = await readLockfile(projectDir);
91
93
  const target = name
92
- ? findUpdateTarget(preCheckLockfile, name, { scope, type, version: requestedVersion })
94
+ ? findUpdateTarget(preCheckLockfile, name, { root: projectDir, scope, type, version: requestedVersion })
93
95
  : undefined;
94
96
  if ((preCheckLockfile.assets ?? []).length === 0) {
95
97
  return { outcome: 'up-to-date', tools: toolNames };
@@ -240,30 +242,28 @@ export default function Update({ args: [rawName], options: { dryRun, force, json
240
242
  ...(state.hint ? { hint: state.hint } : {}),
241
243
  message: state.message,
242
244
  outcome: 'error',
245
+ ...fields,
243
246
  });
244
247
  }
245
248
  return _jsx(ErrorView, { command: state.command, hint: state.hint, message: state.message });
246
249
  }
247
250
  const { data } = state;
251
+ const where = resolved ? ` in ${scopeLabel(resolved)}` : '';
248
252
  if (data.outcome === 'failed' || data.outcome === 'partial') {
249
253
  process.exitCode = 1;
250
254
  }
251
255
  if (effectiveJson) {
252
- if (data.outcome === 'up-to-date')
253
- return renderJson(data);
254
- // The scope only words the hints' commands; the JSON payload leaves it out.
255
- const { scope: _scope, ...payload } = data;
256
- return renderJson(payload);
256
+ return renderJson({ ...data, ...fields });
257
257
  }
258
258
  if (data.outcome === 'up-to-date') {
259
- return _jsxs(Text, { color: 'green', children: ["\u2713 All assets are up to date for ", data.tools.join(', '), "."] });
259
+ return (_jsxs(Text, { color: 'green', children: ["\u2713 All assets are up to date for ", data.tools.join(', '), where, "."] }));
260
260
  }
261
261
  if (data.outcome === 'dry-run') {
262
262
  const hasUpdatable = data.outdated.length > 0;
263
- return (_jsxs(Box, { flexDirection: 'column', children: [hasUpdatable && (_jsxs(_Fragment, { children: [_jsx(DryRunBanner, { action: 'update', count: data.outdated.length, tools: data.tools }), _jsx(Box, { flexDirection: 'column', marginTop: 1, children: data.outdated.map((o) => (_jsx(AssetVersionLine, { installedVersion: o.installedVersion, latestVersion: o.latestVersion, name: o.name, type: o.type }, `${o.type}/${o.org ?? ''}/${o.name}`))) })] })), _jsx(SkippedAssetSection, { badgeText: 'frozen', color: 'cyan', hint: `use ${scopedCommand('atk thaw', data.scope)} to unfreeze`, icon: '\u2744', items: data.skippedFrozen, label: 'frozen', showSpacer: hasUpdatable }), _jsx(SkippedAssetSection, { badgeText: 'pinned', color: 'yellow', hint: 'update by name with --force to override', icon: '\u2298', items: data.skippedPinned, label: 'pinned', showSpacer: hasUpdatable || data.skippedFrozen.length > 0 })] }));
263
+ return (_jsxs(Box, { flexDirection: 'column', children: [hasUpdatable && (_jsxs(_Fragment, { children: [_jsx(DryRunBanner, { action: 'update', count: data.outdated.length, tools: data.tools, where: resolved && scopeLabel(resolved) }), _jsx(Box, { flexDirection: 'column', marginTop: 1, children: data.outdated.map((o) => (_jsx(AssetVersionLine, { installedVersion: o.installedVersion, latestVersion: o.latestVersion, name: o.name, type: o.type }, `${o.type}/${o.org ?? ''}/${o.name}`))) })] })), _jsx(SkippedAssetSection, { badgeText: 'frozen', color: 'cyan', hint: `use ${scopedCommand('atk thaw', data.scope)} to unfreeze`, icon: '\u2744', items: data.skippedFrozen, label: 'frozen', showSpacer: hasUpdatable }), _jsx(SkippedAssetSection, { badgeText: 'pinned', color: 'yellow', hint: 'update by name with --force to override', icon: '\u2298', items: data.skippedPinned, label: 'pinned', showSpacer: hasUpdatable || data.skippedFrozen.length > 0 })] }));
264
264
  }
265
265
  const stoppedAt = data.toolResults.find((tr) => tr.notAttempted);
266
- return (_jsxs(Box, { flexDirection: 'column', children: [data.toolResults.map(({ excludedSkipped, failures, frozenSkipped, removedUndeclared, removeFailures, results, skipped, tool: resolvedTool, }) => (_jsxs(Box, { flexDirection: 'column', children: [results.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(Text, { color: 'green', children: ["\u2713 Updated ", results.length, " asset", results.length !== 1 ? 's' : '', " for ", resolvedTool] }), _jsx(Box, { flexDirection: 'column', marginTop: 1, children: results.map((r) => (_jsxs(Box, { flexDirection: 'column', children: [_jsx(AssetVersionLine, { installedVersion: r.fromVersion, latestVersion: r.toVersion, name: r.name, type: r.type }), r.installResult.filesPlaced.map((f) => (_jsxs(Text, { dimColor: true, wrap: 'truncate', children: [' ', "\u2192 ", f.destination] }, f.destination))), (r.warnings ?? []).map((w, i) => (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'yellow', children: [' ', "\u26A0 ", w.message] }), _jsxs(Text, { dimColor: true, children: [' ', w.command] })] }, i)))] }, `${r.type}/${r.org ?? ''}/${r.name}`))) })] })), failures.length > 0 && (_jsxs(Box, { flexDirection: 'column', marginTop: results.length > 0 ? 1 : 0, children: [_jsxs(Text, { color: 'red', children: ["\u2717 Failed to update ", failures.length, " asset", failures.length !== 1 ? 's' : ''] }), _jsx(Box, { flexDirection: 'column', paddingLeft: 2, children: failures.map((f) => (_jsx(ErrorView, { command: f.command, hint: f.hint, message: f.error }, `${f.type}/${f.org ?? ''}/${f.name}`))) })] })), _jsx(SkippedAssetSection, { badgeText: 'frozen', color: 'cyan', hint: `use ${scopedCommand('atk thaw', data.scope)} to unfreeze`, icon: '\u2744', items: frozenSkipped ?? [], label: 'frozen', showSpacer: results.length > 0 || failures.length > 0 }), _jsx(SkippedAssetSection, { badgeText: 'pinned', color: 'yellow', hint: 'update by name with --force to override', icon: '\u2298', items: skipped ?? [], label: 'pinned', showSpacer: results.length > 0 || failures.length > 0 || (frozenSkipped ?? []).length > 0 }), (excludedSkipped ?? []).length > 0 && (_jsxs(Text, { dimColor: true, children: ["Skipped for ", resolvedTool, " (uninstalled for this tool):", ' ', (excludedSkipped ?? []).map((a) => a.name).join(', ')] })), _jsx(UndeclaredRemovedHint, { assets: removedUndeclared ?? [], tool: resolvedTool }), (removeFailures ?? []).map((f) => (_jsx(ErrorView, { command: f.command, hint: f.hint, message: f.error }, `remove/${f.type}/${f.org ?? ''}/${f.name}`)))] }, resolvedTool))), data.toolResults.flatMap(({ failedSkipped, tool: resolvedTool }) => (failedSkipped ?? []).map((a) => (_jsxs(Text, { dimColor: true, children: ["Not updated for ", resolvedTool, " (", a.dependency
266
+ return (_jsxs(Box, { flexDirection: 'column', children: [data.toolResults.map(({ excludedSkipped, failures, frozenSkipped, removedUndeclared, removeFailures, results, skipped, tool: resolvedTool, }) => (_jsxs(Box, { flexDirection: 'column', children: [results.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(Text, { color: 'green', children: ["\u2713 Updated ", results.length, " asset", results.length !== 1 ? 's' : '', " for ", resolvedTool, where] }), _jsx(Box, { flexDirection: 'column', marginTop: 1, children: results.map((r) => (_jsxs(Box, { flexDirection: 'column', children: [_jsx(AssetVersionLine, { installedVersion: r.fromVersion, latestVersion: r.toVersion, name: r.name, type: r.type }), r.installResult.filesPlaced.map((f) => (_jsxs(Text, { dimColor: true, wrap: 'truncate', children: [' ', "\u2192 ", f.destination] }, f.destination))), (r.warnings ?? []).map((w, i) => (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'yellow', children: [' ', "\u26A0 ", w.message] }), _jsxs(Text, { dimColor: true, children: [' ', w.command] })] }, i)))] }, `${r.type}/${r.org ?? ''}/${r.name}`))) })] })), failures.length > 0 && (_jsxs(Box, { flexDirection: 'column', marginTop: results.length > 0 ? 1 : 0, children: [_jsxs(Text, { color: 'red', children: ["\u2717 Failed to update ", failures.length, " asset", failures.length !== 1 ? 's' : ''] }), _jsx(Box, { flexDirection: 'column', paddingLeft: 2, children: failures.map((f) => (_jsx(ErrorView, { command: f.command, hint: f.hint, message: f.error }, `${f.type}/${f.org ?? ''}/${f.name}`))) })] })), _jsx(SkippedAssetSection, { badgeText: 'frozen', color: 'cyan', hint: `use ${scopedCommand('atk thaw', data.scope)} to unfreeze`, icon: '\u2744', items: frozenSkipped ?? [], label: 'frozen', showSpacer: results.length > 0 || failures.length > 0 }), _jsx(SkippedAssetSection, { badgeText: 'pinned', color: 'yellow', hint: 'update by name with --force to override', icon: '\u2298', items: skipped ?? [], label: 'pinned', showSpacer: results.length > 0 || failures.length > 0 || (frozenSkipped ?? []).length > 0 }), (excludedSkipped ?? []).length > 0 && (_jsxs(Text, { dimColor: true, children: ["Skipped for ", resolvedTool, " (uninstalled for this tool):", ' ', (excludedSkipped ?? []).map((a) => a.name).join(', ')] })), _jsx(UndeclaredRemovedHint, { assets: removedUndeclared ?? [], tool: resolvedTool }), (removeFailures ?? []).map((f) => (_jsx(ErrorView, { command: f.command, hint: f.hint, message: f.error }, `remove/${f.type}/${f.org ?? ''}/${f.name}`)))] }, resolvedTool))), data.toolResults.flatMap(({ failedSkipped, tool: resolvedTool }) => (failedSkipped ?? []).map((a) => (_jsxs(Text, { dimColor: true, children: ["Not updated for ", resolvedTool, " (", a.dependency
267
267
  ? `its dependency ${formatOrgName(a.dependency.org, a.dependency.name)} failed to update`
268
268
  : 'update failed', ' ', "for ", a.failedFor, "): ", a.name] }, `failed/${resolvedTool}/${a.type}/${a.org ?? ''}/${a.name}`)))), stoppedAt?.notAttempted && (_jsx(RunStoppedHint, { notAttempted: stoppedAt.notAttempted, notRunTools: data.notRunTools ?? [] }))] }));
269
269
  }