@detergent-software/atk 3.0.0-dev.18 → 3.0.0-dev.19

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.
@@ -1 +1 @@
1
- {"version":3,"file":"pin.d.ts","sourceRoot":"","sources":["../../src/commands/pin.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAiBxB,eAAO,MAAM,WAAW,iDAAiD,CAAC;AAE1E,eAAO,MAAM,OAAO;;;;;;;;;;iBAgBlB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAEf,CAAC;AAOH,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;AAEF,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CAmGrF"}
1
+ {"version":3,"file":"pin.d.ts","sourceRoot":"","sources":["../../src/commands/pin.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,eAAO,MAAM,WAAW,iDAAiD,CAAC;AAE1E,eAAO,MAAM,OAAO;;;;;;;;;;iBAgBlB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAEf,CAAC;AAOH,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;AAEF,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CA6FrF"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Text } from 'ink';
3
3
  import { option } from 'pastel';
4
+ import { valid as semverValid } from 'semver';
4
5
  import { z } from 'zod';
5
6
  import { Spinner } from '../components/index.js';
6
7
  import { useCommand } from '../hooks/useCommand.js';
@@ -9,6 +10,7 @@ import { parseOrgFromName } from '../lib/org.js';
9
10
  import { findProjectRoot } from '../lib/paths.js';
10
11
  import { fetchRegistry, findAsset } from '../lib/registry.js';
11
12
  import { AssetType } from '../lib/schemas/manifest.js';
13
+ import { parseNameVersion } from '../lib/version.js';
12
14
  export const description = 'Pin an installed asset to a specific version';
13
15
  export const options = z.object({
14
16
  projectRoot: z
@@ -27,13 +29,13 @@ export const args = z.tuple([
27
29
  z.string().describe('Asset name, optionally with @version suffix (e.g., my-asset@2.0.0)'),
28
30
  ]);
29
31
  export default function Pin({ args: [nameArg], options: { projectRoot, type } }) {
32
+ const { name: parsedName, version } = parseNameVersion(nameArg);
33
+ const { name, org } = parseOrgFromName(parsedName);
30
34
  const state = useCommand(async (progress) => {
31
- // Parse name@version syntax
32
- const atIndex = nameArg.lastIndexOf('@');
33
- const hasVersion = atIndex > 0; // ignore leading @ (e.g., @scoped names shouldn't match)
34
- const rawName = hasVersion ? nameArg.slice(0, atIndex) : nameArg;
35
- const explicitVersion = hasVersion ? nameArg.slice(atIndex + 1) : undefined;
36
- const { name, org } = parseOrgFromName(rawName);
35
+ // Validate explicit version is valid semver
36
+ if (version !== undefined && semverValid(version) === null) {
37
+ throw new LockfileError(`Invalid version '${version}' -- expected a valid semver version`);
38
+ }
37
39
  const projectDir = findProjectRoot(projectRoot);
38
40
  return await withLockfileErrorHandling(projectDir, async () => {
39
41
  progress('Reading lockfile...');
@@ -41,24 +43,21 @@ export default function Pin({ args: [nameArg], options: { projectRoot, type } })
41
43
  // Look up the installed asset to determine current version
42
44
  const installed = findInstalledAsset(lockfile, name, type, org);
43
45
  if (!installed) {
44
- throw new LockfileError(`Asset '${rawName}' is not installed`);
45
- }
46
- if (installed.installReason === 'dependency') {
47
- throw new LockfileError(`Asset '${rawName}' was installed as a dependency and cannot be pinned directly`);
46
+ throw new LockfileError(`Asset '${nameArg}' is not installed`);
48
47
  }
49
48
  // Validate explicit version exists in registry
50
- if (explicitVersion) {
49
+ if (version) {
51
50
  progress('Validating version in registry...');
52
51
  const registry = await fetchRegistry();
53
- const resolved = findAsset(registry, name, type, explicitVersion, org);
52
+ const resolved = findAsset(registry, name, type, version, org);
54
53
  if (!resolved) {
55
- throw new LockfileError(`Version '${explicitVersion}' not found in registry for asset '${rawName}'`);
54
+ throw new LockfileError(`Version '${version}' not found in registry for asset '${nameArg}'`);
56
55
  }
57
56
  }
58
- const pinVersion = explicitVersion ?? installed.version;
57
+ const pinVersion = version ?? installed.version;
59
58
  // Check if already pinned to the same version
60
59
  if (isPinned(lockfile, name, type, org) && installed.pinnedVersion === pinVersion) {
61
- return { name: rawName, outcome: 'already-pinned', version: pinVersion };
60
+ return { name: nameArg, outcome: 'already-pinned', version: pinVersion };
62
61
  }
63
62
  // Track previous pin for informational message
64
63
  const previousPin = installed.pinnedVersion;
@@ -67,11 +66,11 @@ export default function Pin({ args: [nameArg], options: { projectRoot, type } })
67
66
  progress('Writing lockfile...');
68
67
  await writeLockfile(projectDir, updatedLockfile);
69
68
  if (previousPin) {
70
- return { name: rawName, outcome: 'updated-pin', previousVersion: previousPin, version: pinVersion };
69
+ return { name: nameArg, outcome: 'updated-pin', previousVersion: previousPin, version: pinVersion };
71
70
  }
72
- return { name: rawName, outcome: 'pinned', version: pinVersion };
71
+ return { name: nameArg, outcome: 'pinned', version: pinVersion };
73
72
  });
74
- }, [nameArg, projectRoot, type]);
73
+ }, [name, org, version, projectRoot, type]);
75
74
  if (state.status === 'loading') {
76
75
  return _jsx(Spinner, { message: state.message });
77
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pin.js","sourceRoot":"","sources":["../../src/commands/pin.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pin.js","sourceRoot":"","sources":["../../src/commands/pin.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EACL,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,eAAe,EACf,YAAY,EACZ,yBAAyB,EACzB,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,MAAM,CAAC,MAAM,WAAW,GAAG,8CAA8C,CAAC;AAE1E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,iCAAiC;KAC/C,CAAC,CACH;IACH,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACjC,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,8EAA8E;KAC5F,CAAC,CACH;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;IAC1B,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;CAC1F,CAAC,CAAC;AAYH,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAS;IACpF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAEnD,MAAM,KAAK,GAAG,UAAU,CACtB,KAAK,EAAE,QAAQ,EAAE,EAAE;QACjB,4CAA4C;QAC5C,IAAI,OAAO,KAAK,SAAS,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3D,MAAM,IAAI,aAAa,CAAC,oBAAoB,OAAO,sCAAsC,CAAC,CAAC;QAC7F,CAAC;QAED,MAAM,UAAU,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAEhD,OAAO,MAAM,yBAAyB,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;YAC5D,QAAQ,CAAC,qBAAqB,CAAC,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;YAEhD,2DAA2D;YAC3D,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAChE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,aAAa,CAAC,UAAU,OAAO,oBAAoB,CAAC,CAAC;YACjE,CAAC;YAED,+CAA+C;YAC/C,IAAI,OAAO,EAAE,CAAC;gBACZ,QAAQ,CAAC,mCAAmC,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC/D,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,aAAa,CACrB,YAAY,OAAO,sCAAsC,OAAO,GAAG,CACpE,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC;YAEhD,8CAA8C;YAC9C,IAAI,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;gBAClF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAyB,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;YACpF,CAAC;YAED,+CAA+C;YAC/C,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC;YAE5C,QAAQ,CAAC,0BAA0B,CAAC,CAAC;YACrC,MAAM,eAAe,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAE/E,QAAQ,CAAC,qBAAqB,CAAC,CAAC;YAChC,MAAM,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;YAEjD,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,aAAsB,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;YAC/G,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CACxC,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,KAAC,OAAO,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC;IAC7C,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,wBAAS,KAAK,CAAC,OAAO,IAAQ,CAAC;IACzD,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEvB,IAAI,IAAI,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;QACtC,OAAO,CACL,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,kBAAS,OAAC,KAAC,IAAI,IAAC,IAAI,kBAAE,IAAI,CAAC,IAAI,GAAQ,6BAAwB,IAAI,CAAC,OAAO,IAC1F,CACR,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QACnC,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,wBACV,KAAC,IAAI,IAAC,IAAI,kBAAE,IAAI,CAAC,IAAI,GAAQ,WAAM,IAAI,CAAC,OAAO,OAAE,MAAC,IAAI,IAAC,QAAQ,6BAAQ,IAAI,CAAC,eAAe,SAAS,IACtG,CACR,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,wBACV,KAAC,IAAI,IAAC,IAAI,kBAAE,IAAI,CAAC,IAAI,GAAQ,WAAM,IAAI,CAAC,OAAO,IACjD,CACR,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prune.d.ts","sourceRoot":"","sources":["../../src/commands/prune.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoBxB,eAAO,MAAM,WAAW,iCAAiC,CAAC;AAE1D,eAAO,MAAM,OAAO;;;;;iBAqClB,CAAC;AAEH,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAsBF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,kDA4OnF"}
1
+ {"version":3,"file":"prune.d.ts","sourceRoot":"","sources":["../../src/commands/prune.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB,eAAO,MAAM,WAAW,iCAAiC,CAAC;AAE1D,eAAO,MAAM,OAAO;;;;;iBAqClB,CAAC;AAEH,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AASF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,kDAyInF"}
@@ -1,15 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { Box, Text, useApp } from 'ink';
3
3
  import { option } from 'pastel';
4
- import { useEffect, useState } from 'react';
4
+ import { useEffect } from 'react';
5
5
  import { z } from 'zod';
6
- import { DryRunBanner, Spinner } from '../components/index.js';
7
- import { useCommand } from '../hooks/useCommand.js';
6
+ import { DryRunBanner, OrphanListItem, Spinner } from '../components/index.js';
8
7
  import { useConfirmation } from '../hooks/useConfirmation.js';
9
- import { findAllOrphanedAssets, LockfileLockedError, readLockfile, removeAssetFromLockfile, withLockfileLock, writeLockfile, } from '../lib/lockfile.js';
10
- import { findProjectRoot } from '../lib/paths.js';
11
- import { resolveTools } from '../lib/tool-resolver.js';
12
- import { removeSingleAsset } from '../lib/uninstaller.js';
8
+ import { usePruneState } from '../hooks/usePruneState.js';
13
9
  export const description = 'Remove orphaned dependencies';
14
10
  export const options = z.object({
15
11
  dryRun: z
@@ -42,158 +38,99 @@ export const options = z.object({
42
38
  })),
43
39
  });
44
40
  export default function Prune({ options: { dryRun, projectRoot, tool, yes } }) {
45
- const [pruneResult, setPruneResult] = useState(null);
46
- const [pruneError, setPruneError] = useState(null);
47
- const [pruneProgress, setPruneProgress] = useState('Removing orphans...');
48
41
  const { exit } = useApp();
49
- const state = useCommand(async (progress) => {
50
- const projectDir = findProjectRoot(projectRoot);
51
- const resolved = await resolveTools(tool);
52
- const defaultAdapter = resolved[0].adapter;
53
- const toolNames = resolved.map((r) => r.tool);
54
- progress('Reading lockfile...');
55
- const lockfile = await readLockfile(projectDir);
56
- if ((lockfile.assets ?? []).length === 0) {
57
- return { outcome: 'no-orphans', toolNames };
58
- }
59
- progress('Scanning for orphaned dependencies...');
60
- const orphans = findAllOrphanedAssets(lockfile);
61
- if (orphans.length === 0) {
62
- return { outcome: 'no-orphans', toolNames };
63
- }
64
- if (dryRun) {
65
- return { orphans, outcome: 'dry-run', toolNames };
66
- }
67
- if (yes) {
68
- try {
69
- const result = await withLockfileLock(projectDir, async () => {
70
- // Re-read lockfile inside the lock for freshness
71
- let currentLockfile = await readLockfile(projectDir);
72
- const freshOrphans = findAllOrphanedAssets(currentLockfile);
73
- const removed = [];
74
- const errors = [];
75
- for (const orphan of freshOrphans) {
76
- try {
77
- progress(`Removing ${orphan.name}...`);
78
- await removeSingleAsset(orphan, defaultAdapter, projectDir);
79
- currentLockfile = removeAssetFromLockfile(currentLockfile, orphan.name, orphan.type);
80
- removed.push(orphan.name);
81
- }
82
- catch (err) {
83
- errors.push({
84
- error: err instanceof Error ? err.message : String(err),
85
- name: orphan.name,
86
- });
87
- }
88
- }
89
- progress('Updating lockfile...');
90
- await writeLockfile(projectDir, currentLockfile);
91
- return { errors, orphans: freshOrphans, removed };
92
- });
93
- return { ...result, defaultAdapter, outcome: 'pruned', toolNames };
94
- }
95
- catch (error) {
96
- if (error instanceof LockfileLockedError) {
97
- throw new Error('Another ATK process is currently modifying this project. Please wait and try again.');
98
- }
99
- throw error;
100
- }
101
- }
102
- if (!process.stdin.isTTY) {
103
- throw new Error('Confirmation required but stdin is not interactive. Use --yes (-y) to skip the prompt.');
104
- }
105
- return { defaultAdapter, orphans, outcome: 'confirming', toolNames };
106
- }, [dryRun, projectRoot, tool, yes]);
42
+ const flags = {
43
+ dryRun,
44
+ projectRoot,
45
+ tool,
46
+ yes,
47
+ };
48
+ const [state, dispatch] = usePruneState(flags);
49
+ // ---------------------------------------------------------------------------
107
50
  // Confirmation hook — active only during the confirming phase
108
- const confirmation = useConfirmation(state.status === 'done' && state.data.outcome === 'confirming');
109
- // Execute prune after confirmation
51
+ // ---------------------------------------------------------------------------
52
+ const confirmation = useConfirmation(state.phase === 'confirming');
53
+ // Bridge: confirmation → dispatch CONFIRM
110
54
  useEffect(() => {
111
- if (confirmation.isConfirmed &&
112
- !pruneResult &&
113
- !pruneError &&
114
- state.status === 'done' &&
115
- state.data.outcome === 'confirming') {
116
- const { defaultAdapter: confirmedDefaultAdapter } = state.data;
117
- const projectDir = findProjectRoot(projectRoot);
118
- withLockfileLock(projectDir, async () => {
119
- let currentLockfile = await readLockfile(projectDir);
120
- const freshOrphans = findAllOrphanedAssets(currentLockfile);
121
- const removed = [];
122
- const errors = [];
123
- for (const orphan of freshOrphans) {
124
- setPruneProgress(`Removing ${orphan.name}...`);
125
- try {
126
- await removeSingleAsset(orphan, confirmedDefaultAdapter, projectDir);
127
- currentLockfile = removeAssetFromLockfile(currentLockfile, orphan.name, orphan.type);
128
- removed.push(orphan.name);
129
- }
130
- catch (err) {
131
- errors.push({
132
- error: err instanceof Error ? err.message : String(err),
133
- name: orphan.name,
134
- });
135
- }
136
- }
137
- setPruneProgress('Updating lockfile...');
138
- await writeLockfile(projectDir, currentLockfile);
139
- return { errors, orphans: freshOrphans, removed };
140
- })
141
- .then((result) => {
142
- setPruneResult(result);
143
- })
144
- .catch((err) => {
145
- setPruneError(err instanceof Error ? err.message : String(err));
146
- });
55
+ if (confirmation.isConfirmed) {
56
+ dispatch({ type: 'CONFIRM' });
147
57
  }
148
- }, [confirmation.isConfirmed, pruneResult, pruneError, state, projectRoot]);
149
- // Exit after cancellation
58
+ }, [confirmation.isConfirmed, dispatch]);
59
+ // Bridge: cancellation → dispatch CANCEL
150
60
  useEffect(() => {
151
61
  if (confirmation.isCancelled) {
62
+ dispatch({ type: 'CANCEL' });
63
+ }
64
+ }, [confirmation.isCancelled, dispatch]);
65
+ // ---------------------------------------------------------------------------
66
+ // Exit effects
67
+ // ---------------------------------------------------------------------------
68
+ // Exit on error
69
+ useEffect(() => {
70
+ if (state.phase === 'error') {
152
71
  const timer = setTimeout(() => {
72
+ process.exitCode = 1;
153
73
  exit();
154
74
  }, 100);
155
75
  return () => {
156
76
  clearTimeout(timer);
157
77
  };
158
78
  }
159
- }, [confirmation.isCancelled, exit]);
160
- // --- Render ---
161
- if (state.status === 'loading') {
162
- return _jsx(Spinner, { message: state.message });
79
+ }, [state.phase, exit]);
80
+ // Exit on done (cancelled or completed)
81
+ useEffect(() => {
82
+ if (state.phase === 'done') {
83
+ const timer = setTimeout(() => {
84
+ exit();
85
+ }, 100);
86
+ return () => {
87
+ clearTimeout(timer);
88
+ };
89
+ }
90
+ }, [state.phase, exit]);
91
+ // ---------------------------------------------------------------------------
92
+ // Render
93
+ // ---------------------------------------------------------------------------
94
+ // Loading phase
95
+ if (state.phase === 'loading') {
96
+ return _jsx(Spinner, { message: state.progress });
163
97
  }
164
- if (state.status === 'error') {
165
- return _jsxs(Text, { color: 'red', children: ["Error: ", state.message] });
98
+ // Error phase
99
+ if (state.phase === 'error') {
100
+ return _jsxs(Text, { color: 'red', children: ["Error: ", state.errorMessage] });
166
101
  }
167
- const { data } = state;
168
- if (data.outcome === 'no-orphans') {
169
- return _jsxs(Text, { dimColor: true, children: ["No orphaned dependencies found for ", data.toolNames.join(', '), ". Nothing to prune."] });
102
+ // Executing phase
103
+ if (state.phase === 'executing') {
104
+ return _jsx(Spinner, { message: state.progress });
170
105
  }
171
- if (data.outcome === 'dry-run') {
172
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(DryRunBanner, { action: 'prune', count: data.orphans.length, tools: data.toolNames }), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Orphaned dependencies:" }), data.orphans.map((o) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'cyan', children: ["- ", o.name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", o.type, ") v", o.version] })] }, `orphan-${o.type}/${o.name}`)))] }));
106
+ // --- Done phase: render based on outcome ---
107
+ const { outcome } = state;
108
+ // Cancelled from confirming (done phase with confirming outcome — cancelled before execution)
109
+ if (state.phase === 'done' && outcome?.outcome === 'confirming') {
110
+ return confirmation.isTTY ? (_jsx(Text, { color: 'yellow', children: "Cancelled." })) : (_jsx(Text, { color: 'yellow', children: "Confirmation required. Use --yes (-y) to skip the prompt." }));
173
111
  }
174
- if (data.outcome === 'pruned') {
175
- return (_jsx(PruneSummary, { errors: data.errors, orphans: data.orphans, removed: data.removed, toolNames: data.toolNames }));
112
+ if (!outcome) {
113
+ // Still initializing or no outcome yet
114
+ return null;
176
115
  }
177
- if (data.outcome === 'confirming') {
178
- if (confirmation.isCancelled) {
179
- return confirmation.isTTY ? (_jsx(Text, { color: 'yellow', children: "Cancelled." })) : (_jsx(Text, { color: 'yellow', children: "Confirmation required. Use --yes (-y) to skip the prompt." }));
180
- }
181
- if (pruneError) {
182
- return _jsxs(Text, { color: 'red', children: ["Error: ", pruneError] });
183
- }
184
- if (confirmation.isConfirmed && !pruneResult) {
185
- return _jsx(Spinner, { message: pruneProgress });
186
- }
187
- if (confirmation.isConfirmed && pruneResult) {
188
- return (_jsx(PruneSummary, { errors: pruneResult.errors, orphans: data.orphans, removed: pruneResult.removed, toolNames: data.toolNames }));
189
- }
190
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Text, { dimColor: true, children: "Orphaned dependencies to remove:" }), data.orphans.map((o) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'cyan', children: ["- ", o.name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", o.type, ") v", o.version] })] }, `orphan-${o.type}/${o.name}`))), _jsx(Text, { children: " " }), _jsxs(Text, { children: ["Remove ", data.orphans.length, " orphan", data.orphans.length !== 1 ? 's' : '', "? (y/n)"] })] }));
116
+ if (outcome.outcome === 'no-orphans') {
117
+ return _jsxs(Text, { dimColor: true, children: ["No orphaned dependencies found for ", outcome.toolNames.join(', '), ". Nothing to prune."] });
118
+ }
119
+ if (outcome.outcome === 'dry-run') {
120
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(DryRunBanner, { action: 'prune', count: outcome.orphans.length, tools: outcome.toolNames }), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Orphaned dependencies:" }), outcome.orphans.map((o) => (_jsx(OrphanListItem, { name: o.name, type: o.type, version: o.version }, `orphan-${o.type}/${o.name}`)))] }));
121
+ }
122
+ if (outcome.outcome === 'pruned') {
123
+ return (_jsx(PruneSummary, { errors: outcome.errors, orphans: outcome.orphans, removed: outcome.removed, toolNames: outcome.toolNames }));
124
+ }
125
+ if (outcome.outcome === 'confirming') {
126
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Text, { dimColor: true, children: "Orphaned dependencies to remove:" }), outcome.orphans.map((o) => (_jsx(OrphanListItem, { name: o.name, type: o.type, version: o.version }, `orphan-${o.type}/${o.name}`))), _jsx(Text, { children: " " }), _jsxs(Text, { children: ["Remove ", outcome.orphans.length, " orphan", outcome.orphans.length !== 1 ? 's' : '', "? (y/n)"] })] }));
191
127
  }
128
+ // exhaustive-check: should never be reached
192
129
  return null;
193
130
  }
194
131
  function PruneSummary({ errors, orphans, removed, toolNames }) {
195
132
  return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'green', children: ["\u2713 Pruned ", removed.length, " orphaned dependenc", removed.length !== 1 ? 'ies' : 'y', " from ", toolNames.join(', ')] }), removed.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), orphans
196
133
  .filter((o) => removed.includes(o.name))
197
- .map((o) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'green', children: ["\u2713 ", o.name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", o.type, ") v", o.version] })] }, `orphan-${o.type}/${o.name}`)))] })), errors.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { color: 'red', children: "Errors:" }), errors.map((e) => (_jsxs(Text, { color: 'red', children: [' ', "\u2715 ", e.name, ": ", e.error] }, `err-${e.name}`)))] }))] }));
134
+ .map((o) => (_jsx(OrphanListItem, { color: 'green', icon: '\u2713', name: o.name, type: o.type, version: o.version }, `orphan-${o.type}/${o.name}`)))] })), errors.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { color: 'red', children: "Errors:" }), errors.map((e) => (_jsxs(Text, { color: 'red', children: [' ', "\u2715 ", e.name, ": ", e.error] }, `err-${e.name}`)))] }))] }));
198
135
  }
199
136
  //# sourceMappingURL=prune.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prune.js","sourceRoot":"","sources":["../../src/commands/prune.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prune.js","sourceRoot":"","sources":["../../src/commands/prune.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,CAAC,MAAM,WAAW,GAAG,8BAA8B,CAAC;AAE1D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,MAAM,EAAE,CAAC;SACN,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,kDAAkD;KAChE,CAAC,CACH;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,iCAAiC;KAC/C,CAAC,CACH;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,iCAAiC;KAC/C,CAAC,CACH;IACH,GAAG,EAAE,CAAC;SACH,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,MAAM,CAAC;QACL,KAAK,EAAE,GAAG;QACV,WAAW,EAAE,0BAA0B;KACxC,CAAC,CACH;CACJ,CAAC,CAAC;AAaH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,EAAS;IAClF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAE1B,MAAM,KAAK,GAAe;QACxB,MAAM;QACN,WAAW;QACX,IAAI;QACJ,GAAG;KACJ,CAAC;IAEF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAE/C,8EAA8E;IAC9E,8DAA8D;IAC9D,8EAA8E;IAC9E,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC;IAEnE,0CAA0C;IAC1C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;YAC7B,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzC,yCAAyC;IACzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;YAC7B,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzC,8EAA8E;IAC9E,eAAe;IACf,8EAA8E;IAE9E,gBAAgB;IAChB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,IAAI,EAAE,CAAC;YACT,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,OAAO,GAAG,EAAE;gBACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAExB,wCAAwC;IACxC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,EAAE,CAAC;YACT,CAAC,EAAE,GAAG,CAAC,CAAC;YACR,OAAO,GAAG,EAAE;gBACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAExB,8EAA8E;IAC9E,SAAS;IACT,8EAA8E;IAE9E,gBAAgB;IAChB,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,KAAC,OAAO,IAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,GAAI,CAAC;IAC9C,CAAC;IAED,cAAc;IACd,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,wBAAS,KAAK,CAAC,YAAY,IAAQ,CAAC;IAC9D,CAAC;IAED,kBAAkB;IAClB,IAAI,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO,KAAC,OAAO,IAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,GAAI,CAAC;IAC9C,CAAC;IAED,8CAA8C;IAE9C,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE1B,8FAA8F;IAC9F,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,OAAO,EAAE,OAAO,KAAK,YAAY,EAAE,CAAC;QAChE,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAC1B,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,2BAAkB,CACvC,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,0EAAiE,CACtF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,uCAAuC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;QACrC,OAAO,MAAC,IAAI,IAAC,QAAQ,0DAAqC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC;IACpH,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,YAAY,IAAC,MAAM,EAAC,OAAO,EAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,GAAI,EACxF,KAAC,IAAI,oBAAS,EACd,KAAC,IAAI,IAAC,QAAQ,6CAA8B,EAC3C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC1B,KAAC,cAAc,IAAoC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAA5E,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAoD,CACtG,CAAC,IACE,CACP,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,CACL,KAAC,YAAY,IAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,GAAI,CAC3H,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;QACrC,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,IAAI,IAAC,QAAQ,uDAAwC,EACrD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC1B,KAAC,cAAc,IAAoC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAA5E,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAoD,CACtG,CAAC,EACF,KAAC,IAAI,oBAAS,EACd,MAAC,IAAI,0BACK,OAAO,CAAC,OAAO,CAAC,MAAM,aAAS,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,eACzE,IACH,CACP,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAqB;IAC9E,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,MAAC,IAAI,IAAC,KAAK,EAAC,OAAO,+BACP,OAAO,CAAC,MAAM,yBAAqB,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,YAAQ,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IACtG,EACN,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACrB,8BACE,KAAC,IAAI,oBAAS,EACb,OAAO;yBACL,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;yBACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACV,KAAC,cAAc,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,QAAG,EAAoC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAA5E,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAoD,CAC7H,CAAC,IACH,CACJ,EACA,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CACpB,8BACE,KAAC,IAAI,oBAAS,EACd,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,wBAAe,EAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACjB,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,aACd,IAAI,aAAI,CAAC,CAAC,IAAI,QAAI,CAAC,CAAC,KAAK,KADL,OAAO,CAAC,CAAC,IAAI,EAAE,CAE/B,CACR,CAAC,IACD,CACJ,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -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;AAWxB,eAAO,MAAM,WAAW,iCAAiC,CAAC;AAE1D,eAAO,MAAM,OAAO;;;;;;;iBAuDlB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAAsE,CAAC;AAQxF,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,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAC9D,EAAE,KAAK,kDA8ZP"}
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,WAAW,iCAAiC,CAAC;AAE1D,eAAO,MAAM,OAAO;;;;;;;iBAuDlB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAAsE,CAAC;AAQxF,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,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAC9D,EAAE,KAAK,kDAkYP"}
@@ -3,7 +3,7 @@ import { Box, Text, useApp } from 'ink';
3
3
  import { option } from 'pastel';
4
4
  import { useEffect } from 'react';
5
5
  import { z } from 'zod';
6
- import { DryRunBanner, Spinner } from '../components/index.js';
6
+ import { DryRunBanner, OrphanListItem, Spinner } from '../components/index.js';
7
7
  import { useConfirmation } from '../hooks/useConfirmation.js';
8
8
  import { useUninstallState } from '../hooks/useUninstallState.js';
9
9
  import { resolveInstalledPaths } from '../lib/adapter.js';
@@ -147,7 +147,7 @@ export default function Uninstall({ args: [name], options: { cascade, dryRun, pr
147
147
  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: plan.primary.name }), _jsxs(Text, { dimColor: true, children: [' ', "(", plan.primary.type, ") v", plan.primary.version] })] }), tools.map(({ adapter: toolAdapter, tool: toolName }) => {
148
148
  const resolved = resolveInstalledPaths(plan.primary, toolAdapter, projectDir);
149
149
  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));
150
- }), 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: plan.primary.name }), ":"] }), plan.dependents.map((d) => (_jsxs(Text, { color: 'yellow', children: [' ', "- ", d.name, " (", d.type, ")"] }, `dep-${d.type}/${d.name}`)))] })), 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) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'cyan', children: ["- ", d.name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", d.type, ") v", d.version] })] }, `orphan-${d.type}/${d.name}`)))] }))] }));
150
+ }), 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: plan.primary.name }), ":"] }), plan.dependents.map((d) => (_jsxs(Text, { color: 'yellow', children: [' ', "- ", d.name, " (", d.type, ")"] }, `dep-${d.type}/${d.name}`)))] })), 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, type: d.type, version: d.version }, `orphan-${d.type}/${d.name}`)))] }))] }));
151
151
  }
152
152
  if (outcome.outcome === 'success') {
153
153
  return (_jsx(Box, { flexDirection: 'column', children: outcome.toolResults.map(({ plan, results, tool: toolName }) => (_jsx(SingleUninstallSummary, { name: name, plan: plan, results: results, tools: [toolName] }, toolName))) }));
@@ -163,13 +163,13 @@ export default function Uninstall({ args: [name], options: { cascade, dryRun, pr
163
163
  return _jsx(SingleUninstallSummary, { name: name, plan: plan, results: state.singleResult, tools: [resolvedTool] });
164
164
  }
165
165
  // Awaiting confirmation — show dependents warning and prompt
166
- 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: [' ', "- ", d.name, " (", d.type, ")"] }, `dep-${d.type}/${d.name}`))), 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) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'cyan', children: ["- ", d.name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", d.type, ") v", d.version] })] }, `orphan-${d.type}/${d.name}`)))] })), _jsx(Text, { children: " " }), _jsx(Text, { children: "Continue with uninstall? (y/n)" })] }));
166
+ 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: [' ', "- ", d.name, " (", d.type, ")"] }, `dep-${d.type}/${d.name}`))), 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, type: d.type, version: d.version }, `orphan-${d.type}/${d.name}`)))] })), _jsx(Text, { children: " " }), _jsx(Text, { children: "Continue with uninstall? (y/n)" })] }));
167
167
  }
168
168
  // --- Bundle outcomes ---
169
169
  if (outcome.outcome === 'dry-run-bundle') {
170
170
  const { plan, tools } = outcome;
171
171
  const totalRemovals = plan.assetsToRemove.length + plan.orphansToRemove.length;
172
- 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: ["- ", a.name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `remove-${a.type}/${a.name}`)))] })), plan.orphansToRemove.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Orphaned dependencies to remove:" }), plan.orphansToRemove.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'cyan', children: ["- ", a.name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `orphan-${a.type}/${a.name}`)))] })), 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: ["~ ", a.name] }), _jsxs(Text, { dimColor: true, children: [" \u2014 ", a.reason] })] }, `skip-${a.type}/${a.name}`)))] }))] }));
172
+ 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: ["- ", a.name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `remove-${a.type}/${a.name}`)))] })), 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, type: a.type, version: a.version }, `orphan-${a.type}/${a.name}`)))] })), 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: ["~ ", a.name] }), _jsxs(Text, { dimColor: true, children: [" \u2014 ", a.reason] })] }, `skip-${a.type}/${a.name}`)))] }))] }));
173
173
  }
174
174
  if (outcome.outcome === 'bundle-not-installed') {
175
175
  return (_jsxs(Text, { children: [_jsx(Text, { color: 'yellow', children: "!" }), " Bundle ", _jsx(Text, { bold: true, children: outcome.bundleName }), " is not currently installed."] }));
@@ -186,7 +186,7 @@ export default function Uninstall({ args: [name], options: { cascade, dryRun, pr
186
186
  return _jsx(BundleUninstallSummary, { plan: plan, result: state.bundleResult, tools: tools.map((t) => t.tool) });
187
187
  }
188
188
  // Awaiting confirmation — show plan
189
- 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: ["- ", a.name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `remove-${a.type}/${a.name}`))), _jsx(Text, { children: " " })] })), plan.orphansToRemove.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { dimColor: true, children: "Orphaned dependencies to remove:" }), plan.orphansToRemove.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'cyan', children: ["- ", a.name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `orphan-${a.type}/${a.name}`))), _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: ["~ ", a.name] }), _jsxs(Text, { dimColor: true, children: [" \u2014 ", a.reason] })] }, `skip-${a.type}/${a.name}`))), _jsx(Text, { children: " " })] })), _jsxs(Text, { children: ["Remove ", totalRemovals, " asset", totalRemovals !== 1 ? 's' : '', "? (y/n)"] })] }));
189
+ 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: ["- ", a.name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `remove-${a.type}/${a.name}`))), _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, type: a.type, version: a.version }, `orphan-${a.type}/${a.name}`))), _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: ["~ ", a.name] }), _jsxs(Text, { dimColor: true, children: [" \u2014 ", a.reason] })] }, `skip-${a.type}/${a.name}`))), _jsx(Text, { children: " " })] })), _jsxs(Text, { children: ["Remove ", totalRemovals, " asset", totalRemovals !== 1 ? 's' : '', "? (y/n)"] })] }));
190
190
  }
191
191
  if (outcome.outcome === 'bundle-success') {
192
192
  return _jsx(BundleUninstallSummary, { plan: outcome.plan, result: outcome.result, tools: outcome.tools });
@@ -196,11 +196,11 @@ export default function Uninstall({ args: [name], options: { cascade, dryRun, pr
196
196
  }
197
197
  function BundleUninstallSummary({ plan, result, tools }) {
198
198
  const totalRemoved = result.removedAssets.length + result.removedOrphans.length;
199
- 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: 'green', children: ["\u2713 Removed ", totalRemoved, " asset", totalRemoved !== 1 ? 's' : '', " from ", tools.join(', ')] }), 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 ", a.name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `remove-${a.type}/${a.name}`)))] })), result.removedOrphans.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Removed orphaned dependencies:" }), result.removedOrphans.map((a) => (_jsxs(Text, { children: [' ', _jsxs(Text, { color: 'cyan', children: ["\u2713 ", a.name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `orphan-${a.type}/${a.name}`)))] })), 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: ["~ ", a.name] }), _jsxs(Text, { dimColor: true, children: [" \u2014 ", a.reason] })] }, `skip-${a.type}/${a.name}`)))] })), 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 ", e.asset, ": ", e.error] }, `err-${e.asset}`)))] }))] }));
199
+ 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: 'green', children: ["\u2713 Removed ", totalRemoved, " asset", totalRemoved !== 1 ? 's' : '', " from ", tools.join(', ')] }), 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 ", a.name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", a.type, ") v", a.version] })] }, `remove-${a.type}/${a.name}`)))] })), 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, type: a.type, version: a.version }, `orphan-${a.type}/${a.name}`)))] })), 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: ["~ ", a.name] }), _jsxs(Text, { dimColor: true, children: [" \u2014 ", a.reason] })] }, `skip-${a.type}/${a.name}`)))] })), 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 ", e.asset, ": ", e.error] }, `err-${e.asset}`)))] }))] }));
200
200
  }
201
201
  function SingleUninstallSummary({ name, plan, results, tools }) {
202
202
  const primaryResult = results.find((r) => r.reason === 'direct');
203
203
  const orphanResults = results.filter((r) => r.reason === 'orphan');
204
- 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: [' ', "- ", d.name, " (", d.type, ")"] }, `dep-${d.type}/${d.name}`))), _jsx(Text, { children: " " })] })), primaryResult && (_jsxs(Text, { color: 'green', children: ["\u2713 Uninstalled ", _jsx(Text, { bold: true, children: 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) => (_jsxs(Text, { children: [' ', _jsx(Text, { color: 'cyan', children: r.name }), _jsxs(Text, { dimColor: true, children: [' ', "(", r.type, ") v", r.version] })] }, `orphan-${r.type}/${r.name}`)))] }))] }));
204
+ 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: [' ', "- ", d.name, " (", d.type, ")"] }, `dep-${d.type}/${d.name}`))), _jsx(Text, { children: " " })] })), primaryResult && (_jsxs(Text, { color: 'green', children: ["\u2713 Uninstalled ", _jsx(Text, { bold: true, children: 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, type: r.type, version: r.version }, `orphan-${r.type}/${r.name}`)))] }))] }));
205
205
  }
206
206
  //# sourceMappingURL=uninstall.js.map
@@ -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;AAgBxB,eAAO,MAAM,WAAW,iDAAiD,CAAC;AAE1E,eAAO,MAAM,OAAO;;;;;;;;;;iBAgBlB,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,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CAkEvF"}
1
+ {"version":3,"file":"unpin.d.ts","sourceRoot":"","sources":["../../src/commands/unpin.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,eAAO,MAAM,WAAW,iDAAiD,CAAC;AAE1E,eAAO,MAAM,OAAO;;;;;;;;;;iBAgBlB,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,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CA4DvF"}
@@ -35,9 +35,6 @@ export default function Unpin({ args: [rawName], options: { projectRoot, type }
35
35
  if (!installed) {
36
36
  throw new LockfileError(`Asset '${rawName}' is not installed`);
37
37
  }
38
- if (installed.installReason === 'dependency') {
39
- throw new LockfileError(`Asset '${rawName}' was installed as a dependency and cannot be unpinned directly`);
40
- }
41
38
  // Check if the asset is actually pinned
42
39
  if (!isPinned(lockfile, name, type, org)) {
43
40
  return { name: rawName, outcome: 'not-pinned' };
@@ -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":"why.d.ts","sourceRoot":"","sources":["../../src/commands/why.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,WAAW,sCAAsC,CAAC;AAE/D,eAAO,MAAM,OAAO;;;;;;;;;;;;iBAkClB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAA+C,CAAC;AAEjE,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;AAEF,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CAmFjG"}
1
+ {"version":3,"file":"why.d.ts","sourceRoot":"","sources":["../../src/commands/why.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,WAAW,sCAAsC,CAAC;AAE/D,eAAO,MAAM,OAAO;;;;;;;;;;;;iBAkClB,CAAC;AAEH,eAAO,MAAM,IAAI,iCAA+C,CAAC;AAEjE,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;AAEF,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CA0FjG"}
@@ -8,7 +8,7 @@ import { readLockfile, traceDependencyChain } from '../lib/lockfile.js';
8
8
  import { parseOrgFromName } from '../lib/org.js';
9
9
  import { findProjectRoot } from '../lib/paths.js';
10
10
  import { AssetType } from '../lib/schemas/manifest.js';
11
- import { resolveTool } from '../lib/tool-resolver.js';
11
+ import { resolveToolNames } from '../lib/tool-resolver.js';
12
12
  export const description = 'Explain why an asset is installed';
13
13
  export const options = z.object({
14
14
  json: z
@@ -42,7 +42,7 @@ export default function Why({ args: [rawName], options: { json, projectRoot, too
42
42
  const { name, org } = parseOrgFromName(rawName);
43
43
  const state = useCommand(async (progress) => {
44
44
  const projectDir = findProjectRoot(projectRoot);
45
- await resolveTool(tool, projectDir);
45
+ await resolveToolNames(tool, projectDir);
46
46
  progress('Reading lockfile...');
47
47
  const lockfile = await readLockfile(projectDir);
48
48
  progress('Tracing dependency chain...');
@@ -52,14 +52,20 @@ export default function Why({ args: [rawName], options: { json, projectRoot, too
52
52
  return _jsx(Spinner, { message: state.message });
53
53
  }
54
54
  if (state.status === 'error') {
55
+ process.exitCode = 1;
56
+ if (json) {
57
+ return _jsx(Text, { children: JSON.stringify({ error: state.message, exitCode: 1 }, null, 2) });
58
+ }
55
59
  return _jsxs(Text, { color: 'red', children: ["Error: ", state.message] });
56
60
  }
57
61
  const { data } = state;
62
+ if (data.status === 'not_installed') {
63
+ process.exitCode = 1;
64
+ }
58
65
  if (json) {
59
66
  return _jsx(Text, { children: JSON.stringify(buildJsonOutput(data), null, 2) });
60
67
  }
61
68
  if (data.status === 'not_installed') {
62
- process.exitCode = 1;
63
69
  return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { color: 'red', children: ["Asset ", _jsxs(Text, { bold: true, children: ["\"", data.name, "\""] }), " is not installed."] }), _jsxs(Text, { dimColor: true, children: ["Run ", _jsxs(Text, { bold: true, children: ["atk search ", data.name] }), " to find assets to install."] })] }));
64
70
  }
65
71
  if (data.status === 'direct') {
@@ -1 +1 @@
1
- {"version":3,"file":"why.js","sourceRoot":"","sources":["../../src/commands/why.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"why.js","sourceRoot":"","sources":["../../src/commands/why.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ interface OrphanListItemProps {
2
+ /** Color of the icon and name text (default: 'cyan') */
3
+ color?: string;
4
+ /** Leading icon character (default: '-') */
5
+ icon?: string;
6
+ /** Asset name */
7
+ name: string;
8
+ /** Asset type (e.g., 'skill', 'rule') */
9
+ type: string;
10
+ /** Asset version */
11
+ version: string;
12
+ }
13
+ export default function OrphanListItem({ color, icon, name, type, version }: OrphanListItemProps): import("react/jsx-runtime").JSX.Element;
14
+ export {};
15
+ //# sourceMappingURL=OrphanListItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrphanListItem.d.ts","sourceRoot":"","sources":["../../src/components/OrphanListItem.tsx"],"names":[],"mappings":"AAEA,UAAU,mBAAmB;IAC3B,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,KAAc,EAAE,IAAU,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,mBAAmB,2CAa9G"}
@@ -0,0 +1,6 @@
1
+ import { jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text } from 'ink';
3
+ export default function OrphanListItem({ color = 'cyan', icon = '-', name, type, version }) {
4
+ return (_jsxs(Text, { children: [' ', _jsxs(Text, { color: color, children: [icon, " ", name] }), _jsxs(Text, { dimColor: true, children: [' ', "(", type, ") v", version] })] }));
5
+ }
6
+ //# sourceMappingURL=OrphanListItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrphanListItem.js","sourceRoot":"","sources":["../../src/components/OrphanListItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAe3B,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAuB;IAC7G,OAAO,CACL,MAAC,IAAI,eACF,IAAI,EACL,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,aACf,IAAI,OAAG,IAAI,IACP,EACP,MAAC,IAAI,IAAC,QAAQ,mBACX,GAAG,OACF,IAAI,SAAK,OAAO,IACb,IACF,CACR,CAAC;AACJ,CAAC"}
@@ -20,6 +20,7 @@ export { default as ListActionBar } from './ListActionBar.js';
20
20
  export { default as ListBrowseList } from './ListBrowseList.js';
21
21
  export { computeExpandedLines, LIST_EXPANDED_BASE_LINES, default as ListExpandedRow } from './ListExpandedRow.js';
22
22
  export { default as ListHelpBar } from './ListHelpBar.js';
23
+ export { default as OrphanListItem } from './OrphanListItem.js';
23
24
  export { default as PromptField } from './PromptField.js';
24
25
  export { default as SectionDivider } from './SectionDivider.js';
25
26
  export { default as Spinner } from './Spinner.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,OAAO,IAAI,oBAAoB,EAC/B,KAAK,UAAU,EACf,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,KAAK,eAAe,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,KAAK,oBAAoB,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,OAAO,IAAI,oBAAoB,EAC/B,KAAK,UAAU,EACf,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,KAAK,eAAe,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,KAAK,oBAAoB,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -20,6 +20,7 @@ export { default as ListActionBar } from './ListActionBar.js';
20
20
  export { default as ListBrowseList } from './ListBrowseList.js';
21
21
  export { computeExpandedLines, LIST_EXPANDED_BASE_LINES, default as ListExpandedRow } from './ListExpandedRow.js';
22
22
  export { default as ListHelpBar } from './ListHelpBar.js';
23
+ export { default as OrphanListItem } from './OrphanListItem.js';
23
24
  export { default as PromptField } from './PromptField.js';
24
25
  export { default as SectionDivider } from './SectionDivider.js';
25
26
  export { default as Spinner } from './Spinner.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,OAAO,IAAI,oBAAoB,EAE/B,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAwB,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAsB,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAA6B,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,OAAO,IAAI,oBAAoB,EAE/B,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAClG,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAwB,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAsB,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAA6B,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,76 @@
1
+ import type { Adapter } from '../lib/schemas/adapter.js';
2
+ import type { InstalledAsset } from '../lib/schemas/lockfile.js';
3
+ export type PruneAction = {
4
+ errors: Array<{
5
+ error: string;
6
+ name: string;
7
+ }>;
8
+ orphans: InstalledAsset[];
9
+ removed: string[];
10
+ type: 'EXECUTE_DONE';
11
+ } | {
12
+ message: string;
13
+ type: 'ERROR';
14
+ } | {
15
+ message: string;
16
+ type: 'EXECUTE_ERROR';
17
+ } | {
18
+ message: string;
19
+ type: 'EXECUTE_PROGRESS';
20
+ } | {
21
+ message: string;
22
+ type: 'LOAD_PROGRESS';
23
+ } | {
24
+ outcome: PruneOutcome;
25
+ type: 'LOAD_DONE';
26
+ } | {
27
+ type: 'CANCEL';
28
+ } | {
29
+ type: 'CONFIRM';
30
+ };
31
+ export interface PruneFlags {
32
+ dryRun: boolean;
33
+ projectRoot?: string;
34
+ tool?: string;
35
+ yes: boolean;
36
+ }
37
+ export type PruneOutcome = {
38
+ defaultAdapter: Adapter;
39
+ orphans: InstalledAsset[];
40
+ outcome: 'confirming';
41
+ toolNames: string[];
42
+ } | {
43
+ errors: Array<{
44
+ error: string;
45
+ name: string;
46
+ }>;
47
+ orphans: InstalledAsset[];
48
+ outcome: 'pruned';
49
+ removed: string[];
50
+ toolNames: string[];
51
+ } | {
52
+ orphans: InstalledAsset[];
53
+ outcome: 'dry-run';
54
+ toolNames: string[];
55
+ } | {
56
+ outcome: 'no-orphans';
57
+ toolNames: string[];
58
+ };
59
+ export type PrunePhase = 'confirming' | 'done' | 'error' | 'executing' | 'loading';
60
+ export interface PruneState {
61
+ errorMessage: string;
62
+ executeErrors: Array<{
63
+ error: string;
64
+ name: string;
65
+ }>;
66
+ executeOrphans: InstalledAsset[];
67
+ executeRemoved: string[];
68
+ flags: PruneFlags;
69
+ outcome: null | PruneOutcome;
70
+ phase: PrunePhase;
71
+ progress: string;
72
+ }
73
+ export declare function createInitialState(flags: PruneFlags): PruneState;
74
+ export declare function pruneReducer(state: PruneState, action: PruneAction): PruneState;
75
+ export declare function usePruneState(flags: PruneFlags): readonly [PruneState, React.Dispatch<PruneAction>];
76
+ //# sourceMappingURL=usePruneState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePruneState.d.ts","sourceRoot":"","sources":["../../src/hooks/usePruneState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAiBjE,MAAM,MAAM,WAAW,GACnB;IAAE,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GACtH;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAClC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAC1C;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,GAC7C;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,eAAe,CAAA;CAAE,GAC1C;IAAE,OAAO,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,cAAc,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,GAClG;IAAE,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,GACxI;IAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,GACtE;IAAE,OAAO,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEnD,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;AAEnF,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtD,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,IAAI,GAAG,YAAY,CAAC;IAC7B,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAWhE;AAMD,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,GAAG,UAAU,CAkE/E;AAMD,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAsLnG"}
@@ -0,0 +1,246 @@
1
+ import { useEffect, useReducer, useRef } from 'react';
2
+ import { findAllOrphanedAssets, readLockfile, removeAssetFromLockfile, withLockfileErrorHandling, writeLockfile, } from '../lib/lockfile.js';
3
+ import { findProjectRoot } from '../lib/paths.js';
4
+ import { resolveTools } from '../lib/tool-resolver.js';
5
+ import { removeSingleAsset } from '../lib/uninstaller.js';
6
+ // ---------------------------------------------------------------------------
7
+ // Initial state factory
8
+ // ---------------------------------------------------------------------------
9
+ export function createInitialState(flags) {
10
+ return {
11
+ errorMessage: '',
12
+ executeErrors: [],
13
+ executeOrphans: [],
14
+ executeRemoved: [],
15
+ flags,
16
+ outcome: null,
17
+ phase: 'loading',
18
+ progress: 'Initializing...',
19
+ };
20
+ }
21
+ // ---------------------------------------------------------------------------
22
+ // Pure reducer
23
+ // ---------------------------------------------------------------------------
24
+ export function pruneReducer(state, action) {
25
+ switch (action.type) {
26
+ case 'CANCEL': {
27
+ if (state.phase !== 'confirming')
28
+ return state;
29
+ return { ...state, phase: 'done' };
30
+ }
31
+ case 'CONFIRM': {
32
+ if (state.phase !== 'confirming')
33
+ return state;
34
+ return { ...state, phase: 'executing', progress: 'Executing...' };
35
+ }
36
+ case 'ERROR':
37
+ return { ...state, errorMessage: action.message, phase: 'error' };
38
+ case 'EXECUTE_DONE': {
39
+ // Extract toolNames from the previous confirming outcome for the pruned outcome
40
+ const toolNames = state.outcome && 'toolNames' in state.outcome ? state.outcome.toolNames : [];
41
+ return {
42
+ ...state,
43
+ executeErrors: action.errors,
44
+ executeOrphans: action.orphans,
45
+ executeRemoved: action.removed,
46
+ outcome: {
47
+ errors: action.errors,
48
+ orphans: action.orphans,
49
+ outcome: 'pruned',
50
+ removed: action.removed,
51
+ toolNames,
52
+ },
53
+ phase: 'done',
54
+ };
55
+ }
56
+ case 'EXECUTE_ERROR': {
57
+ return { ...state, errorMessage: action.message, phase: 'error' };
58
+ }
59
+ case 'EXECUTE_PROGRESS': {
60
+ if (state.phase !== 'executing')
61
+ return state;
62
+ return { ...state, progress: action.message };
63
+ }
64
+ case 'LOAD_DONE': {
65
+ const { outcome } = action;
66
+ switch (outcome.outcome) {
67
+ case 'confirming':
68
+ return { ...state, outcome, phase: 'confirming' };
69
+ case 'dry-run':
70
+ case 'no-orphans':
71
+ case 'pruned':
72
+ return { ...state, outcome, phase: 'done' };
73
+ default:
74
+ return { ...state, outcome, phase: 'done' };
75
+ }
76
+ }
77
+ case 'LOAD_PROGRESS': {
78
+ if (state.phase !== 'loading')
79
+ return state;
80
+ return { ...state, progress: action.message };
81
+ }
82
+ default:
83
+ return state;
84
+ }
85
+ }
86
+ // ---------------------------------------------------------------------------
87
+ // Hook
88
+ // ---------------------------------------------------------------------------
89
+ export function usePruneState(flags) {
90
+ const [state, dispatch] = useReducer(pruneReducer, undefined, () => createInitialState(flags));
91
+ // Guard against React development-mode double-firing of effects.
92
+ const hasLoadedRef = useRef(false);
93
+ // --- Loading phase-gated effect ---
94
+ useEffect(() => {
95
+ if (state.phase !== 'loading')
96
+ return;
97
+ if (hasLoadedRef.current)
98
+ return;
99
+ hasLoadedRef.current = true;
100
+ let cancelled = false;
101
+ const load = async () => {
102
+ const { dryRun, projectRoot, tool, yes } = state.flags;
103
+ const projectDir = findProjectRoot(projectRoot);
104
+ const resolved = await resolveTools(tool, projectDir);
105
+ const defaultAdapter = resolved[0].adapter;
106
+ const toolNames = resolved.map((r) => r.tool);
107
+ if (cancelled)
108
+ return;
109
+ dispatch({ message: 'Reading lockfile...', type: 'LOAD_PROGRESS' });
110
+ const lockfile = await readLockfile(projectDir);
111
+ if (cancelled)
112
+ return;
113
+ if ((lockfile.assets ?? []).length === 0) {
114
+ dispatch({ outcome: { outcome: 'no-orphans', toolNames }, type: 'LOAD_DONE' });
115
+ return;
116
+ }
117
+ dispatch({ message: 'Scanning for orphaned dependencies...', type: 'LOAD_PROGRESS' });
118
+ const orphans = findAllOrphanedAssets(lockfile);
119
+ if (orphans.length === 0) {
120
+ dispatch({ outcome: { outcome: 'no-orphans', toolNames }, type: 'LOAD_DONE' });
121
+ return;
122
+ }
123
+ if (dryRun) {
124
+ dispatch({ outcome: { orphans, outcome: 'dry-run', toolNames }, type: 'LOAD_DONE' });
125
+ return;
126
+ }
127
+ if (yes) {
128
+ dispatch({ message: 'Removing orphans...', type: 'LOAD_PROGRESS' });
129
+ const result = await withLockfileErrorHandling(projectDir, async () => {
130
+ // Re-read lockfile inside the lock for freshness
131
+ let currentLockfile = await readLockfile(projectDir);
132
+ const freshOrphans = findAllOrphanedAssets(currentLockfile);
133
+ const removed = [];
134
+ const errors = [];
135
+ for (const orphan of freshOrphans) {
136
+ if (cancelled)
137
+ break;
138
+ try {
139
+ dispatch({ message: `Removing ${orphan.name}...`, type: 'LOAD_PROGRESS' });
140
+ await removeSingleAsset(orphan, defaultAdapter, projectDir);
141
+ currentLockfile = removeAssetFromLockfile(currentLockfile, orphan.name, orphan.type);
142
+ removed.push(orphan.name);
143
+ }
144
+ catch (err) {
145
+ errors.push({
146
+ error: err instanceof Error ? err.message : String(err),
147
+ name: orphan.name,
148
+ });
149
+ }
150
+ }
151
+ dispatch({ message: 'Updating lockfile...', type: 'LOAD_PROGRESS' });
152
+ await writeLockfile(projectDir, currentLockfile);
153
+ return { errors, orphans: freshOrphans, removed };
154
+ });
155
+ if (cancelled)
156
+ return;
157
+ dispatch({
158
+ outcome: { errors: result.errors, orphans: result.orphans, outcome: 'pruned', removed: result.removed, toolNames },
159
+ type: 'LOAD_DONE',
160
+ });
161
+ return;
162
+ }
163
+ // Confirmation path — check for interactive TTY
164
+ if (!process.stdin.isTTY) {
165
+ dispatch({
166
+ message: 'Confirmation required but stdin is not interactive. Use --yes (-y) to skip the prompt.',
167
+ type: 'ERROR',
168
+ });
169
+ return;
170
+ }
171
+ dispatch({
172
+ outcome: { defaultAdapter, orphans, outcome: 'confirming', toolNames },
173
+ type: 'LOAD_DONE',
174
+ });
175
+ };
176
+ load().catch((err) => {
177
+ if (!cancelled) {
178
+ dispatch({ message: err instanceof Error ? err.message : String(err), type: 'ERROR' });
179
+ }
180
+ });
181
+ return () => {
182
+ cancelled = true;
183
+ };
184
+ // Phase-gated effect: only runs when entering 'loading'
185
+ // eslint-disable-next-line react-hooks/exhaustive-deps
186
+ }, [state.phase]);
187
+ // --- Executing phase-gated effect ---
188
+ useEffect(() => {
189
+ if (state.phase !== 'executing')
190
+ return;
191
+ let cancelled = false;
192
+ const execute = async () => {
193
+ const { outcome } = state;
194
+ if (!outcome || outcome.outcome !== 'confirming') {
195
+ dispatch({ message: 'Internal error: no confirming outcome available for execution.', type: 'EXECUTE_ERROR' });
196
+ return;
197
+ }
198
+ const { defaultAdapter } = outcome;
199
+ const { projectRoot } = state.flags;
200
+ const projectDir = findProjectRoot(projectRoot);
201
+ const result = await withLockfileErrorHandling(projectDir, async () => {
202
+ // Re-read lockfile inside the lock for freshness
203
+ let currentLockfile = await readLockfile(projectDir);
204
+ const freshOrphans = findAllOrphanedAssets(currentLockfile);
205
+ const removed = [];
206
+ const errors = [];
207
+ for (const orphan of freshOrphans) {
208
+ if (cancelled)
209
+ break;
210
+ try {
211
+ if (!cancelled)
212
+ dispatch({ message: `Removing ${orphan.name}...`, type: 'EXECUTE_PROGRESS' });
213
+ await removeSingleAsset(orphan, defaultAdapter, projectDir);
214
+ currentLockfile = removeAssetFromLockfile(currentLockfile, orphan.name, orphan.type);
215
+ removed.push(orphan.name);
216
+ }
217
+ catch (err) {
218
+ errors.push({
219
+ error: err instanceof Error ? err.message : String(err),
220
+ name: orphan.name,
221
+ });
222
+ }
223
+ }
224
+ if (!cancelled)
225
+ dispatch({ message: 'Updating lockfile...', type: 'EXECUTE_PROGRESS' });
226
+ await writeLockfile(projectDir, currentLockfile);
227
+ return { errors, orphans: freshOrphans, removed };
228
+ });
229
+ if (cancelled)
230
+ return;
231
+ dispatch({ errors: result.errors, orphans: result.orphans, removed: result.removed, type: 'EXECUTE_DONE' });
232
+ };
233
+ execute().catch((err) => {
234
+ if (!cancelled) {
235
+ dispatch({ message: err instanceof Error ? err.message : String(err), type: 'EXECUTE_ERROR' });
236
+ }
237
+ });
238
+ return () => {
239
+ cancelled = true;
240
+ };
241
+ // Phase-gated effect: only runs when entering 'executing'
242
+ // eslint-disable-next-line react-hooks/exhaustive-deps
243
+ }, [state.phase]);
244
+ return [state, dispatch];
245
+ }
246
+ //# sourceMappingURL=usePruneState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePruneState.js","sourceRoot":"","sources":["../../src/hooks/usePruneState.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ export function parseNameVersion(input) {
23
23
  const version = input.slice(lastAt + 1);
24
24
  // Guard against empty version (trailing `@` with nothing after it)
25
25
  if (!version) {
26
- return { name: input };
26
+ return { name };
27
27
  }
28
28
  return { name, version };
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAwB,CAAC;AAEjH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC;AAEvC,MAAM,UAAU,YAAY;IAC1B,OAAO,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEtC,iFAAiF;IACjF,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAChB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAExC,mEAAmE;IACnE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAwB,CAAC;AAEjH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC;AAEvC,MAAM,UAAU,YAAY;IAC1B,OAAO,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEtC,iFAAiF;IACjF,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAChB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAExC,mEAAmE;IACnE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@detergent-software/atk",
3
- "version": "3.0.0-dev.18",
3
+ "version": "3.0.0-dev.19",
4
4
  "description": "Agentic Tool Kit — CLI for managing AI coding tool assets.",
5
5
  "type": "module",
6
6
  "bin": {