@detergent-software/atk 3.0.0-dev.2 → 3.0.0-dev.20

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 (265) hide show
  1. package/README.md +361 -0
  2. package/build/commands/audit.d.ts.map +1 -1
  3. package/build/commands/audit.js +79 -37
  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 +119 -154
  7. package/build/commands/browse.js.map +1 -1
  8. package/build/commands/cache.d.ts.map +1 -1
  9. package/build/commands/cache.js +13 -15
  10. package/build/commands/cache.js.map +1 -1
  11. package/build/commands/config.d.ts +1 -1
  12. package/build/commands/config.d.ts.map +1 -1
  13. package/build/commands/config.js +7 -3
  14. package/build/commands/config.js.map +1 -1
  15. package/build/commands/diff.d.ts.map +1 -1
  16. package/build/commands/diff.js +4 -117
  17. package/build/commands/diff.js.map +1 -1
  18. package/build/commands/freeze.d.ts +1 -2
  19. package/build/commands/freeze.d.ts.map +1 -1
  20. package/build/commands/freeze.js +17 -37
  21. package/build/commands/freeze.js.map +1 -1
  22. package/build/commands/info.d.ts +1 -2
  23. package/build/commands/info.d.ts.map +1 -1
  24. package/build/commands/info.js +36 -35
  25. package/build/commands/info.js.map +1 -1
  26. package/build/commands/init.d.ts.map +1 -1
  27. package/build/commands/init.js +39 -405
  28. package/build/commands/init.js.map +1 -1
  29. package/build/commands/install.d.ts.map +1 -1
  30. package/build/commands/install.js +49 -34
  31. package/build/commands/install.js.map +1 -1
  32. package/build/commands/list.d.ts +2 -2
  33. package/build/commands/list.d.ts.map +1 -1
  34. package/build/commands/list.js +138 -27
  35. package/build/commands/list.js.map +1 -1
  36. package/build/commands/outdated.d.ts.map +1 -1
  37. package/build/commands/outdated.js +20 -10
  38. package/build/commands/outdated.js.map +1 -1
  39. package/build/commands/pin.d.ts +1 -2
  40. package/build/commands/pin.d.ts.map +1 -1
  41. package/build/commands/pin.js +44 -47
  42. package/build/commands/pin.js.map +1 -1
  43. package/build/commands/prune.d.ts.map +1 -1
  44. package/build/commands/prune.js +76 -151
  45. package/build/commands/prune.js.map +1 -1
  46. package/build/commands/publish.d.ts +3 -1
  47. package/build/commands/publish.d.ts.map +1 -1
  48. package/build/commands/publish.js +67 -390
  49. package/build/commands/publish.js.map +1 -1
  50. package/build/commands/search.d.ts.map +1 -1
  51. package/build/commands/search.js +14 -19
  52. package/build/commands/search.js.map +1 -1
  53. package/build/commands/setup.d.ts +1 -1
  54. package/build/commands/setup.d.ts.map +1 -1
  55. package/build/commands/setup.js +49 -242
  56. package/build/commands/setup.js.map +1 -1
  57. package/build/commands/sync.d.ts.map +1 -1
  58. package/build/commands/sync.js +114 -121
  59. package/build/commands/sync.js.map +1 -1
  60. package/build/commands/thaw.d.ts +1 -2
  61. package/build/commands/thaw.d.ts.map +1 -1
  62. package/build/commands/thaw.js +19 -37
  63. package/build/commands/thaw.js.map +1 -1
  64. package/build/commands/uninstall.d.ts.map +1 -1
  65. package/build/commands/uninstall.js +106 -221
  66. package/build/commands/uninstall.js.map +1 -1
  67. package/build/commands/unpin.d.ts +1 -2
  68. package/build/commands/unpin.d.ts.map +1 -1
  69. package/build/commands/unpin.js +23 -38
  70. package/build/commands/unpin.js.map +1 -1
  71. package/build/commands/update.d.ts.map +1 -1
  72. package/build/commands/update.js +37 -25
  73. package/build/commands/update.js.map +1 -1
  74. package/build/commands/why.d.ts +1 -1
  75. package/build/commands/why.d.ts.map +1 -1
  76. package/build/commands/why.js +14 -6
  77. package/build/commands/why.js.map +1 -1
  78. package/build/components/AssetDetail.d.ts +1 -3
  79. package/build/components/AssetDetail.d.ts.map +1 -1
  80. package/build/components/AssetDetail.js +24 -21
  81. package/build/components/AssetDetail.js.map +1 -1
  82. package/build/components/AssetTable.d.ts +5 -2
  83. package/build/components/AssetTable.d.ts.map +1 -1
  84. package/build/components/AssetTable.js +37 -40
  85. package/build/components/AssetTable.js.map +1 -1
  86. package/build/components/BrowseExpandedBundle.d.ts +7 -0
  87. package/build/components/BrowseExpandedBundle.d.ts.map +1 -1
  88. package/build/components/BrowseExpandedBundle.js +19 -0
  89. package/build/components/BrowseExpandedBundle.js.map +1 -1
  90. package/build/components/BrowseExpandedRow.d.ts +4 -1
  91. package/build/components/BrowseExpandedRow.d.ts.map +1 -1
  92. package/build/components/BrowseExpandedRow.js +24 -3
  93. package/build/components/BrowseExpandedRow.js.map +1 -1
  94. package/build/components/BrowseList.d.ts +3 -1
  95. package/build/components/BrowseList.d.ts.map +1 -1
  96. package/build/components/BrowseList.js +52 -42
  97. package/build/components/BrowseList.js.map +1 -1
  98. package/build/components/DiffView.d.ts +0 -2
  99. package/build/components/DiffView.d.ts.map +1 -1
  100. package/build/components/DiffView.js +11 -5
  101. package/build/components/DiffView.js.map +1 -1
  102. package/build/components/DryRunBanner.d.ts +3 -3
  103. package/build/components/DryRunBanner.d.ts.map +1 -1
  104. package/build/components/DryRunBanner.js +2 -2
  105. package/build/components/DryRunBanner.js.map +1 -1
  106. package/build/components/FilterBar.d.ts +10 -3
  107. package/build/components/FilterBar.d.ts.map +1 -1
  108. package/build/components/FilterBar.js +4 -4
  109. package/build/components/FilterBar.js.map +1 -1
  110. package/build/components/HelpBar.d.ts.map +1 -1
  111. package/build/components/HelpBar.js +3 -3
  112. package/build/components/HelpBar.js.map +1 -1
  113. package/build/components/InitSuccess.d.ts +5 -0
  114. package/build/components/InitSuccess.d.ts.map +1 -0
  115. package/build/components/InitSuccess.js +20 -0
  116. package/build/components/InitSuccess.js.map +1 -0
  117. package/build/components/InstallSummary.d.ts +3 -3
  118. package/build/components/InstallSummary.d.ts.map +1 -1
  119. package/build/components/InstallSummary.js +2 -2
  120. package/build/components/InstallSummary.js.map +1 -1
  121. package/build/components/Link.d.ts +7 -0
  122. package/build/components/Link.d.ts.map +1 -0
  123. package/build/components/Link.js +6 -0
  124. package/build/components/Link.js.map +1 -0
  125. package/build/components/ListActionBar.d.ts +11 -0
  126. package/build/components/ListActionBar.d.ts.map +1 -0
  127. package/build/components/ListActionBar.js +30 -0
  128. package/build/components/ListActionBar.js.map +1 -0
  129. package/build/components/ListBrowseList.d.ts +27 -0
  130. package/build/components/ListBrowseList.d.ts.map +1 -0
  131. package/build/components/ListBrowseList.js +57 -0
  132. package/build/components/ListBrowseList.js.map +1 -0
  133. package/build/components/ListExpandedRow.d.ts +38 -0
  134. package/build/components/ListExpandedRow.d.ts.map +1 -0
  135. package/build/components/ListExpandedRow.js +46 -0
  136. package/build/components/ListExpandedRow.js.map +1 -0
  137. package/build/components/ListHelpBar.d.ts +19 -0
  138. package/build/components/ListHelpBar.d.ts.map +1 -0
  139. package/build/components/ListHelpBar.js +11 -0
  140. package/build/components/ListHelpBar.js.map +1 -0
  141. package/build/components/OrphanListItem.d.ts +15 -0
  142. package/build/components/OrphanListItem.d.ts.map +1 -0
  143. package/build/components/OrphanListItem.js +6 -0
  144. package/build/components/OrphanListItem.js.map +1 -0
  145. package/build/components/PromptField.d.ts +19 -0
  146. package/build/components/PromptField.d.ts.map +1 -0
  147. package/build/components/PromptField.js +7 -0
  148. package/build/components/PromptField.js.map +1 -0
  149. package/build/components/StatusBadge.d.ts +1 -1
  150. package/build/components/StatusBadge.d.ts.map +1 -1
  151. package/build/components/StatusBadge.js +4 -0
  152. package/build/components/StatusBadge.js.map +1 -1
  153. package/build/components/index.d.ts +10 -2
  154. package/build/components/index.d.ts.map +1 -1
  155. package/build/components/index.js +10 -2
  156. package/build/components/index.js.map +1 -1
  157. package/build/hooks/useBrowseState.d.ts +41 -1
  158. package/build/hooks/useBrowseState.d.ts.map +1 -1
  159. package/build/hooks/useBrowseState.js +142 -12
  160. package/build/hooks/useBrowseState.js.map +1 -1
  161. package/build/hooks/useConfirmation.d.ts +18 -0
  162. package/build/hooks/useConfirmation.d.ts.map +1 -0
  163. package/build/hooks/useConfirmation.js +56 -0
  164. package/build/hooks/useConfirmation.js.map +1 -0
  165. package/build/hooks/useInitState.d.ts +72 -0
  166. package/build/hooks/useInitState.d.ts.map +1 -0
  167. package/build/hooks/useInitState.js +372 -0
  168. package/build/hooks/useInitState.js.map +1 -0
  169. package/build/hooks/useListActions.d.ts +15 -0
  170. package/build/hooks/useListActions.d.ts.map +1 -0
  171. package/build/hooks/useListActions.js +155 -0
  172. package/build/hooks/useListActions.js.map +1 -0
  173. package/build/hooks/useListState.d.ts +151 -0
  174. package/build/hooks/useListState.d.ts.map +1 -0
  175. package/build/hooks/useListState.js +448 -0
  176. package/build/hooks/useListState.js.map +1 -0
  177. package/build/hooks/usePruneState.d.ts +76 -0
  178. package/build/hooks/usePruneState.d.ts.map +1 -0
  179. package/build/hooks/usePruneState.js +246 -0
  180. package/build/hooks/usePruneState.js.map +1 -0
  181. package/build/hooks/usePublishState.d.ts +115 -0
  182. package/build/hooks/usePublishState.d.ts.map +1 -0
  183. package/build/hooks/usePublishState.js +673 -0
  184. package/build/hooks/usePublishState.js.map +1 -0
  185. package/build/hooks/useSetupState.d.ts +59 -0
  186. package/build/hooks/useSetupState.d.ts.map +1 -0
  187. package/build/hooks/useSetupState.js +295 -0
  188. package/build/hooks/useSetupState.js.map +1 -0
  189. package/build/hooks/useUninstallState.d.ts +102 -0
  190. package/build/hooks/useUninstallState.d.ts.map +1 -0
  191. package/build/hooks/useUninstallState.js +342 -0
  192. package/build/hooks/useUninstallState.js.map +1 -0
  193. package/build/lib/checksum.d.ts +39 -0
  194. package/build/lib/checksum.d.ts.map +1 -1
  195. package/build/lib/checksum.js +101 -13
  196. package/build/lib/checksum.js.map +1 -1
  197. package/build/lib/config.d.ts +38 -18
  198. package/build/lib/config.d.ts.map +1 -1
  199. package/build/lib/config.js +107 -55
  200. package/build/lib/config.js.map +1 -1
  201. package/build/lib/diagnostics.d.ts +7 -0
  202. package/build/lib/diagnostics.d.ts.map +1 -1
  203. package/build/lib/diagnostics.js +54 -34
  204. package/build/lib/diagnostics.js.map +1 -1
  205. package/build/lib/diff-command.d.ts +40 -0
  206. package/build/lib/diff-command.d.ts.map +1 -0
  207. package/build/lib/diff-command.js +145 -0
  208. package/build/lib/diff-command.js.map +1 -0
  209. package/build/lib/diff.d.ts +7 -0
  210. package/build/lib/diff.d.ts.map +1 -1
  211. package/build/lib/diff.js +15 -10
  212. package/build/lib/diff.js.map +1 -1
  213. package/build/lib/format.d.ts +6 -0
  214. package/build/lib/format.d.ts.map +1 -0
  215. package/build/lib/format.js +18 -0
  216. package/build/lib/format.js.map +1 -0
  217. package/build/lib/github.d.ts +8 -0
  218. package/build/lib/github.d.ts.map +1 -1
  219. package/build/lib/github.js +9 -0
  220. package/build/lib/github.js.map +1 -1
  221. package/build/lib/installer.d.ts +1 -0
  222. package/build/lib/installer.d.ts.map +1 -1
  223. package/build/lib/installer.js +7 -7
  224. package/build/lib/installer.js.map +1 -1
  225. package/build/lib/lockfile.d.ts +19 -17
  226. package/build/lib/lockfile.d.ts.map +1 -1
  227. package/build/lib/lockfile.js +43 -67
  228. package/build/lib/lockfile.js.map +1 -1
  229. package/build/lib/publisher.d.ts +35 -0
  230. package/build/lib/publisher.d.ts.map +1 -1
  231. package/build/lib/publisher.js +210 -16
  232. package/build/lib/publisher.js.map +1 -1
  233. package/build/lib/registry.d.ts +20 -5
  234. package/build/lib/registry.d.ts.map +1 -1
  235. package/build/lib/registry.js +41 -30
  236. package/build/lib/registry.js.map +1 -1
  237. package/build/lib/schemas/config.d.ts +31 -3
  238. package/build/lib/schemas/config.d.ts.map +1 -1
  239. package/build/lib/schemas/config.js +21 -2
  240. package/build/lib/schemas/config.js.map +1 -1
  241. package/build/lib/schemas/index.d.ts +1 -1
  242. package/build/lib/schemas/index.d.ts.map +1 -1
  243. package/build/lib/schemas/index.js +1 -1
  244. package/build/lib/schemas/index.js.map +1 -1
  245. package/build/lib/schemas/lockfile.d.ts +18 -2
  246. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  247. package/build/lib/schemas/lockfile.js +10 -1
  248. package/build/lib/schemas/lockfile.js.map +1 -1
  249. package/build/lib/search.d.ts +15 -1
  250. package/build/lib/search.d.ts.map +1 -1
  251. package/build/lib/search.js +65 -65
  252. package/build/lib/search.js.map +1 -1
  253. package/build/lib/tool-resolver.d.ts +29 -6
  254. package/build/lib/tool-resolver.d.ts.map +1 -1
  255. package/build/lib/tool-resolver.js +54 -15
  256. package/build/lib/tool-resolver.js.map +1 -1
  257. package/build/lib/updater.d.ts +7 -4
  258. package/build/lib/updater.d.ts.map +1 -1
  259. package/build/lib/updater.js +12 -7
  260. package/build/lib/updater.js.map +1 -1
  261. package/build/lib/version.js +1 -1
  262. package/build/lib/version.js.map +1 -1
  263. package/package.json +79 -65
  264. package/tool-adapters/claude-code.json +1 -1
  265. package/tool-adapters/copilot-cli.json +1 -1
@@ -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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"}
@@ -0,0 +1,115 @@
1
+ import type { PublishPlan, PublishResult, PublishTarget, RawAssetDetection, ValidationResult, VersionCheckResult } from '../lib/publisher.js';
2
+ export type MetadataSubPhase = 'building-staging' | 'description' | 'tags';
3
+ export type PublishAction = {
4
+ authorValue: string;
5
+ orgValue: string;
6
+ rawDetection: RawAssetDetection;
7
+ toolsDetected: Array<{
8
+ tool: string;
9
+ }>;
10
+ type: 'RAW_DETECT_DONE';
11
+ } | {
12
+ isUpdate: boolean;
13
+ resolvedVersion: string;
14
+ token: string;
15
+ type: 'REGISTRY_CHECK_DONE';
16
+ versionCheck: VersionCheckResult;
17
+ } | {
18
+ message: string;
19
+ type: 'BUMP_DONE';
20
+ updatedTarget: PublishTarget;
21
+ version: string;
22
+ } | {
23
+ message: string;
24
+ type: 'ERROR';
25
+ } | {
26
+ message: string;
27
+ type: 'PUBLISH_PROGRESS';
28
+ } | {
29
+ plan: PublishPlan;
30
+ type: 'PLAN_DONE';
31
+ } | {
32
+ rawDetection: RawAssetDetection;
33
+ target: PublishTarget;
34
+ type: 'RAW_DETECT_DONE_NON_INTERACTIVE';
35
+ } | {
36
+ resolvedPath: string;
37
+ type: 'RESOLVED_INSTALLED';
38
+ } | {
39
+ result: PublishResult;
40
+ type: 'PUBLISH_DONE';
41
+ } | {
42
+ target: PublishTarget;
43
+ type: 'DETECT_DONE';
44
+ } | {
45
+ target: PublishTarget;
46
+ type: 'STAGING_DONE';
47
+ } | {
48
+ type: 'INSTALL_DONE';
49
+ } | {
50
+ type: 'SET_BUMP_SELECTION';
51
+ value: string;
52
+ } | {
53
+ type: 'SET_CONFIRM_VALUE';
54
+ value: string;
55
+ } | {
56
+ type: 'SET_DESCRIPTION';
57
+ value: string;
58
+ } | {
59
+ type: 'SET_TAGS';
60
+ value: string;
61
+ } | {
62
+ type: 'SUBMIT_BUMP';
63
+ } | {
64
+ type: 'SUBMIT_CONFIRM';
65
+ } | {
66
+ type: 'SUBMIT_DESCRIPTION';
67
+ } | {
68
+ type: 'SUBMIT_TAGS';
69
+ } | {
70
+ type: 'VALIDATE_DONE';
71
+ validation: ValidationResult;
72
+ };
73
+ export interface PublishFlags {
74
+ descriptionFlag?: string;
75
+ dryRun: boolean;
76
+ fromInstalled: boolean;
77
+ message?: string;
78
+ projectRoot?: string;
79
+ rawPath: string;
80
+ refresh?: boolean;
81
+ tagsFlag?: string;
82
+ tool?: string;
83
+ }
84
+ export type PublishPhase = 'building-plan' | 'bump-prompt' | 'checking-registry' | 'confirm-update' | 'detecting' | 'done' | 'dry-run-result' | 'error' | 'gathering-metadata' | 'installing' | 'publishing' | 'resolving-installed' | 'validating';
85
+ export interface PublishState {
86
+ authorValue: string;
87
+ bumpSelection: string;
88
+ confirmValue: string;
89
+ descriptionValue: string;
90
+ errorMessage: string;
91
+ flags: PublishFlags;
92
+ isRawPublish: boolean;
93
+ isUpdate: boolean;
94
+ metadataSubPhase: MetadataSubPhase;
95
+ orgValue: string;
96
+ phase: PublishPhase;
97
+ plan: PublishPlan | undefined;
98
+ progressMessage: string;
99
+ publishResult: PublishResult | undefined;
100
+ rawDetection: null | RawAssetDetection;
101
+ resolvedPath: string;
102
+ resolvedVersion: string;
103
+ tagsValue: string;
104
+ target: PublishTarget | undefined;
105
+ token: string | undefined;
106
+ toolsDetected: Array<{
107
+ tool: string;
108
+ }>;
109
+ validation: undefined | ValidationResult;
110
+ versionCheck: undefined | VersionCheckResult;
111
+ }
112
+ export declare function createInitialState(flags: PublishFlags): PublishState;
113
+ export declare function publishReducer(state: PublishState, action: PublishAction): PublishState;
114
+ export declare function usePublishState(flags: PublishFlags): readonly [PublishState, React.Dispatch<PublishAction>];
115
+ //# sourceMappingURL=usePublishState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePublishState.d.ts","sourceRoot":"","sources":["../../src/hooks/usePublishState.ts"],"names":[],"mappings":"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"}