@detergent-software/atk 3.0.0 → 5.0.0-dev.1

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 (332) hide show
  1. package/README.md +361 -0
  2. package/build/commands/_app.d.ts.map +1 -1
  3. package/build/commands/_app.js +23 -3
  4. package/build/commands/_app.js.map +1 -1
  5. package/build/commands/audit.d.ts.map +1 -1
  6. package/build/commands/audit.js +76 -37
  7. package/build/commands/audit.js.map +1 -1
  8. package/build/commands/browse.d.ts.map +1 -1
  9. package/build/commands/browse.js +126 -154
  10. package/build/commands/browse.js.map +1 -1
  11. package/build/commands/cache.d.ts.map +1 -1
  12. package/build/commands/cache.js +13 -15
  13. package/build/commands/cache.js.map +1 -1
  14. package/build/commands/config.d.ts +1 -1
  15. package/build/commands/config.d.ts.map +1 -1
  16. package/build/commands/config.js +7 -3
  17. package/build/commands/config.js.map +1 -1
  18. package/build/commands/diff.d.ts.map +1 -1
  19. package/build/commands/diff.js +4 -117
  20. package/build/commands/diff.js.map +1 -1
  21. package/build/commands/freeze.d.ts +1 -2
  22. package/build/commands/freeze.d.ts.map +1 -1
  23. package/build/commands/freeze.js +17 -37
  24. package/build/commands/freeze.js.map +1 -1
  25. package/build/commands/info.d.ts +1 -2
  26. package/build/commands/info.d.ts.map +1 -1
  27. package/build/commands/info.js +43 -38
  28. package/build/commands/info.js.map +1 -1
  29. package/build/commands/init.d.ts.map +1 -1
  30. package/build/commands/init.js +41 -414
  31. package/build/commands/init.js.map +1 -1
  32. package/build/commands/install.d.ts.map +1 -1
  33. package/build/commands/install.js +79 -72
  34. package/build/commands/install.js.map +1 -1
  35. package/build/commands/list.d.ts +2 -2
  36. package/build/commands/list.d.ts.map +1 -1
  37. package/build/commands/list.js +138 -27
  38. package/build/commands/list.js.map +1 -1
  39. package/build/commands/outdated.d.ts.map +1 -1
  40. package/build/commands/outdated.js +20 -10
  41. package/build/commands/outdated.js.map +1 -1
  42. package/build/commands/pin.d.ts +1 -2
  43. package/build/commands/pin.d.ts.map +1 -1
  44. package/build/commands/pin.js +44 -47
  45. package/build/commands/pin.js.map +1 -1
  46. package/build/commands/prune.d.ts.map +1 -1
  47. package/build/commands/prune.js +76 -151
  48. package/build/commands/prune.js.map +1 -1
  49. package/build/commands/publish.d.ts +4 -1
  50. package/build/commands/publish.d.ts.map +1 -1
  51. package/build/commands/publish.js +139 -388
  52. package/build/commands/publish.js.map +1 -1
  53. package/build/commands/search.d.ts.map +1 -1
  54. package/build/commands/search.js +14 -19
  55. package/build/commands/search.js.map +1 -1
  56. package/build/commands/setup.d.ts +1 -1
  57. package/build/commands/setup.d.ts.map +1 -1
  58. package/build/commands/setup.js +48 -253
  59. package/build/commands/setup.js.map +1 -1
  60. package/build/commands/sync.d.ts.map +1 -1
  61. package/build/commands/sync.js +43 -169
  62. package/build/commands/sync.js.map +1 -1
  63. package/build/commands/thaw.d.ts +1 -2
  64. package/build/commands/thaw.d.ts.map +1 -1
  65. package/build/commands/thaw.js +19 -37
  66. package/build/commands/thaw.js.map +1 -1
  67. package/build/commands/uninstall.d.ts.map +1 -1
  68. package/build/commands/uninstall.js +106 -221
  69. package/build/commands/uninstall.js.map +1 -1
  70. package/build/commands/unpin.d.ts +1 -2
  71. package/build/commands/unpin.d.ts.map +1 -1
  72. package/build/commands/unpin.js +23 -38
  73. package/build/commands/unpin.js.map +1 -1
  74. package/build/commands/update.d.ts.map +1 -1
  75. package/build/commands/update.js +57 -54
  76. package/build/commands/update.js.map +1 -1
  77. package/build/commands/why.d.ts +1 -1
  78. package/build/commands/why.d.ts.map +1 -1
  79. package/build/commands/why.js +14 -6
  80. package/build/commands/why.js.map +1 -1
  81. package/build/components/AssetDetail.d.ts +1 -3
  82. package/build/components/AssetDetail.d.ts.map +1 -1
  83. package/build/components/AssetDetail.js +22 -21
  84. package/build/components/AssetDetail.js.map +1 -1
  85. package/build/components/AssetTable.d.ts +5 -2
  86. package/build/components/AssetTable.d.ts.map +1 -1
  87. package/build/components/AssetTable.js +37 -40
  88. package/build/components/AssetTable.js.map +1 -1
  89. package/build/components/AssetVersionLine.d.ts +27 -0
  90. package/build/components/AssetVersionLine.d.ts.map +1 -0
  91. package/build/components/AssetVersionLine.js +10 -0
  92. package/build/components/AssetVersionLine.js.map +1 -0
  93. package/build/components/BrowseExpandedBundle.d.ts +10 -1
  94. package/build/components/BrowseExpandedBundle.d.ts.map +1 -1
  95. package/build/components/BrowseExpandedBundle.js +28 -3
  96. package/build/components/BrowseExpandedBundle.js.map +1 -1
  97. package/build/components/BrowseExpandedRow.d.ts +9 -1
  98. package/build/components/BrowseExpandedRow.d.ts.map +1 -1
  99. package/build/components/BrowseExpandedRow.js +35 -3
  100. package/build/components/BrowseExpandedRow.js.map +1 -1
  101. package/build/components/BrowseList.d.ts +5 -1
  102. package/build/components/BrowseList.d.ts.map +1 -1
  103. package/build/components/BrowseList.js +57 -47
  104. package/build/components/BrowseList.js.map +1 -1
  105. package/build/components/BundleDetail.d.ts +2 -1
  106. package/build/components/BundleDetail.d.ts.map +1 -1
  107. package/build/components/BundleDetail.js +3 -2
  108. package/build/components/BundleDetail.js.map +1 -1
  109. package/build/components/DiffView.d.ts +0 -2
  110. package/build/components/DiffView.d.ts.map +1 -1
  111. package/build/components/DiffView.js +11 -5
  112. package/build/components/DiffView.js.map +1 -1
  113. package/build/components/DryRunBanner.d.ts +3 -3
  114. package/build/components/DryRunBanner.d.ts.map +1 -1
  115. package/build/components/DryRunBanner.js +2 -2
  116. package/build/components/DryRunBanner.js.map +1 -1
  117. package/build/components/FilterBar.d.ts +10 -3
  118. package/build/components/FilterBar.d.ts.map +1 -1
  119. package/build/components/FilterBar.js +4 -4
  120. package/build/components/FilterBar.js.map +1 -1
  121. package/build/components/FrozenSkippedHint.d.ts +11 -0
  122. package/build/components/FrozenSkippedHint.d.ts.map +1 -0
  123. package/build/components/FrozenSkippedHint.js +12 -0
  124. package/build/components/FrozenSkippedHint.js.map +1 -0
  125. package/build/components/HelpBar.d.ts.map +1 -1
  126. package/build/components/HelpBar.js +3 -3
  127. package/build/components/HelpBar.js.map +1 -1
  128. package/build/components/InitSuccess.d.ts +5 -0
  129. package/build/components/InitSuccess.d.ts.map +1 -0
  130. package/build/components/InitSuccess.js +20 -0
  131. package/build/components/InitSuccess.js.map +1 -0
  132. package/build/components/InstallSummary.d.ts +3 -3
  133. package/build/components/InstallSummary.d.ts.map +1 -1
  134. package/build/components/InstallSummary.js +2 -2
  135. package/build/components/InstallSummary.js.map +1 -1
  136. package/build/components/Link.d.ts +7 -0
  137. package/build/components/Link.d.ts.map +1 -0
  138. package/build/components/Link.js +6 -0
  139. package/build/components/Link.js.map +1 -0
  140. package/build/components/ListActionBar.d.ts +11 -0
  141. package/build/components/ListActionBar.d.ts.map +1 -0
  142. package/build/components/ListActionBar.js +30 -0
  143. package/build/components/ListActionBar.js.map +1 -0
  144. package/build/components/ListBrowseList.d.ts +27 -0
  145. package/build/components/ListBrowseList.d.ts.map +1 -0
  146. package/build/components/ListBrowseList.js +57 -0
  147. package/build/components/ListBrowseList.js.map +1 -0
  148. package/build/components/ListExpandedRow.d.ts +38 -0
  149. package/build/components/ListExpandedRow.d.ts.map +1 -0
  150. package/build/components/ListExpandedRow.js +49 -0
  151. package/build/components/ListExpandedRow.js.map +1 -0
  152. package/build/components/ListHelpBar.d.ts +19 -0
  153. package/build/components/ListHelpBar.d.ts.map +1 -0
  154. package/build/components/ListHelpBar.js +11 -0
  155. package/build/components/ListHelpBar.js.map +1 -0
  156. package/build/components/OrphanListItem.d.ts +15 -0
  157. package/build/components/OrphanListItem.d.ts.map +1 -0
  158. package/build/components/OrphanListItem.js +6 -0
  159. package/build/components/OrphanListItem.js.map +1 -0
  160. package/build/components/PromptField.d.ts +19 -0
  161. package/build/components/PromptField.d.ts.map +1 -0
  162. package/build/components/PromptField.js +7 -0
  163. package/build/components/PromptField.js.map +1 -0
  164. package/build/components/SkippedAssetSection.d.ts +35 -0
  165. package/build/components/SkippedAssetSection.d.ts.map +1 -0
  166. package/build/components/SkippedAssetSection.js +15 -0
  167. package/build/components/SkippedAssetSection.js.map +1 -0
  168. package/build/components/StatusBadge.d.ts +1 -1
  169. package/build/components/StatusBadge.d.ts.map +1 -1
  170. package/build/components/StatusBadge.js +4 -0
  171. package/build/components/StatusBadge.js.map +1 -1
  172. package/build/components/SyncAllInSync.d.ts +14 -0
  173. package/build/components/SyncAllInSync.d.ts.map +1 -0
  174. package/build/components/SyncAllInSync.js +10 -0
  175. package/build/components/SyncAllInSync.js.map +1 -0
  176. package/build/components/SyncDriftedList.d.ts +24 -0
  177. package/build/components/SyncDriftedList.d.ts.map +1 -0
  178. package/build/components/SyncDriftedList.js +17 -0
  179. package/build/components/SyncDriftedList.js.map +1 -0
  180. package/build/components/SyncNoAssets.d.ts +12 -0
  181. package/build/components/SyncNoAssets.d.ts.map +1 -0
  182. package/build/components/SyncNoAssets.js +9 -0
  183. package/build/components/SyncNoAssets.js.map +1 -0
  184. package/build/components/index.d.ts +16 -2
  185. package/build/components/index.d.ts.map +1 -1
  186. package/build/components/index.js +16 -2
  187. package/build/components/index.js.map +1 -1
  188. package/build/hooks/useBrowseState.d.ts +44 -1
  189. package/build/hooks/useBrowseState.d.ts.map +1 -1
  190. package/build/hooks/useBrowseState.js +148 -13
  191. package/build/hooks/useBrowseState.js.map +1 -1
  192. package/build/hooks/useConfirmation.d.ts +18 -0
  193. package/build/hooks/useConfirmation.d.ts.map +1 -0
  194. package/build/hooks/useConfirmation.js +56 -0
  195. package/build/hooks/useConfirmation.js.map +1 -0
  196. package/build/hooks/useInitState.d.ts +109 -0
  197. package/build/hooks/useInitState.d.ts.map +1 -0
  198. package/build/hooks/useInitState.js +474 -0
  199. package/build/hooks/useInitState.js.map +1 -0
  200. package/build/hooks/useListActions.d.ts +15 -0
  201. package/build/hooks/useListActions.d.ts.map +1 -0
  202. package/build/hooks/useListActions.js +155 -0
  203. package/build/hooks/useListActions.js.map +1 -0
  204. package/build/hooks/useListState.d.ts +151 -0
  205. package/build/hooks/useListState.d.ts.map +1 -0
  206. package/build/hooks/useListState.js +448 -0
  207. package/build/hooks/useListState.js.map +1 -0
  208. package/build/hooks/usePruneState.d.ts +76 -0
  209. package/build/hooks/usePruneState.d.ts.map +1 -0
  210. package/build/hooks/usePruneState.js +252 -0
  211. package/build/hooks/usePruneState.js.map +1 -0
  212. package/build/hooks/usePublishState.d.ts +147 -0
  213. package/build/hooks/usePublishState.d.ts.map +1 -0
  214. package/build/hooks/usePublishState.js +916 -0
  215. package/build/hooks/usePublishState.js.map +1 -0
  216. package/build/hooks/useSetupState.d.ts +57 -0
  217. package/build/hooks/useSetupState.d.ts.map +1 -0
  218. package/build/hooks/useSetupState.js +236 -0
  219. package/build/hooks/useSetupState.js.map +1 -0
  220. package/build/hooks/useUninstallState.d.ts +102 -0
  221. package/build/hooks/useUninstallState.d.ts.map +1 -0
  222. package/build/hooks/useUninstallState.js +342 -0
  223. package/build/hooks/useUninstallState.js.map +1 -0
  224. package/build/lib/adapter.d.ts +21 -0
  225. package/build/lib/adapter.d.ts.map +1 -1
  226. package/build/lib/adapter.js +59 -1
  227. package/build/lib/adapter.js.map +1 -1
  228. package/build/lib/checksum.d.ts +39 -0
  229. package/build/lib/checksum.d.ts.map +1 -1
  230. package/build/lib/checksum.js +98 -13
  231. package/build/lib/checksum.js.map +1 -1
  232. package/build/lib/config.d.ts +38 -18
  233. package/build/lib/config.d.ts.map +1 -1
  234. package/build/lib/config.js +103 -55
  235. package/build/lib/config.js.map +1 -1
  236. package/build/lib/detector.d.ts +2 -11
  237. package/build/lib/detector.d.ts.map +1 -1
  238. package/build/lib/detector.js +2 -64
  239. package/build/lib/detector.js.map +1 -1
  240. package/build/lib/diagnostics.d.ts +7 -0
  241. package/build/lib/diagnostics.d.ts.map +1 -1
  242. package/build/lib/diagnostics.js +54 -34
  243. package/build/lib/diagnostics.js.map +1 -1
  244. package/build/lib/diff-command.d.ts +40 -0
  245. package/build/lib/diff-command.d.ts.map +1 -0
  246. package/build/lib/diff-command.js +145 -0
  247. package/build/lib/diff-command.js.map +1 -0
  248. package/build/lib/diff.d.ts +7 -0
  249. package/build/lib/diff.d.ts.map +1 -1
  250. package/build/lib/diff.js +15 -10
  251. package/build/lib/diff.js.map +1 -1
  252. package/build/lib/format.d.ts +6 -0
  253. package/build/lib/format.d.ts.map +1 -0
  254. package/build/lib/format.js +18 -0
  255. package/build/lib/format.js.map +1 -0
  256. package/build/lib/github.d.ts +35 -0
  257. package/build/lib/github.d.ts.map +1 -1
  258. package/build/lib/github.js +44 -0
  259. package/build/lib/github.js.map +1 -1
  260. package/build/lib/gitignore.d.ts +17 -0
  261. package/build/lib/gitignore.d.ts.map +1 -1
  262. package/build/lib/gitignore.js +17 -1
  263. package/build/lib/gitignore.js.map +1 -1
  264. package/build/lib/init.d.ts +22 -0
  265. package/build/lib/init.d.ts.map +1 -1
  266. package/build/lib/init.js +163 -18
  267. package/build/lib/init.js.map +1 -1
  268. package/build/lib/installer.d.ts +1 -0
  269. package/build/lib/installer.d.ts.map +1 -1
  270. package/build/lib/installer.js +7 -7
  271. package/build/lib/installer.js.map +1 -1
  272. package/build/lib/lockfile.d.ts +19 -17
  273. package/build/lib/lockfile.d.ts.map +1 -1
  274. package/build/lib/lockfile.js +45 -68
  275. package/build/lib/lockfile.js.map +1 -1
  276. package/build/lib/publisher.d.ts +41 -12
  277. package/build/lib/publisher.d.ts.map +1 -1
  278. package/build/lib/publisher.js +226 -64
  279. package/build/lib/publisher.js.map +1 -1
  280. package/build/lib/registry.d.ts +20 -5
  281. package/build/lib/registry.d.ts.map +1 -1
  282. package/build/lib/registry.js +45 -33
  283. package/build/lib/registry.js.map +1 -1
  284. package/build/lib/sanitize.d.ts +25 -0
  285. package/build/lib/sanitize.d.ts.map +1 -0
  286. package/build/lib/sanitize.js +61 -0
  287. package/build/lib/sanitize.js.map +1 -0
  288. package/build/lib/schemas/config.d.ts +31 -3
  289. package/build/lib/schemas/config.d.ts.map +1 -1
  290. package/build/lib/schemas/config.js +21 -2
  291. package/build/lib/schemas/config.js.map +1 -1
  292. package/build/lib/schemas/index.d.ts +1 -1
  293. package/build/lib/schemas/index.d.ts.map +1 -1
  294. package/build/lib/schemas/index.js +1 -1
  295. package/build/lib/schemas/index.js.map +1 -1
  296. package/build/lib/schemas/lockfile.d.ts +20 -4
  297. package/build/lib/schemas/lockfile.d.ts.map +1 -1
  298. package/build/lib/schemas/lockfile.js +7 -1
  299. package/build/lib/schemas/lockfile.js.map +1 -1
  300. package/build/lib/schemas/manifest.d.ts +1 -1
  301. package/build/lib/schemas/manifest.d.ts.map +1 -1
  302. package/build/lib/schemas/manifest.js +7 -2
  303. package/build/lib/schemas/manifest.js.map +1 -1
  304. package/build/lib/schemas/registry.d.ts +2 -4
  305. package/build/lib/schemas/registry.d.ts.map +1 -1
  306. package/build/lib/schemas/registry.js +1 -1
  307. package/build/lib/schemas/registry.js.map +1 -1
  308. package/build/lib/search.d.ts +15 -1
  309. package/build/lib/search.d.ts.map +1 -1
  310. package/build/lib/search.js +65 -65
  311. package/build/lib/search.js.map +1 -1
  312. package/build/lib/setup.d.ts +28 -0
  313. package/build/lib/setup.d.ts.map +1 -0
  314. package/build/lib/setup.js +98 -0
  315. package/build/lib/setup.js.map +1 -0
  316. package/build/lib/sync.d.ts +109 -0
  317. package/build/lib/sync.d.ts.map +1 -0
  318. package/build/lib/sync.js +217 -0
  319. package/build/lib/sync.js.map +1 -0
  320. package/build/lib/tool-resolver.d.ts +29 -6
  321. package/build/lib/tool-resolver.d.ts.map +1 -1
  322. package/build/lib/tool-resolver.js +54 -15
  323. package/build/lib/tool-resolver.js.map +1 -1
  324. package/build/lib/updater.d.ts +7 -4
  325. package/build/lib/updater.d.ts.map +1 -1
  326. package/build/lib/updater.js +10 -6
  327. package/build/lib/updater.js.map +1 -1
  328. package/build/lib/version.js +1 -1
  329. package/build/lib/version.js.map +1 -1
  330. package/package.json +79 -65
  331. package/tool-adapters/claude-code.json +1 -1
  332. package/tool-adapters/copilot-cli.json +1 -1
@@ -0,0 +1,217 @@
1
+ import { join } from 'node:path';
2
+ import { resolveInstalledPaths } from './adapter.js';
3
+ import { verifyChecksums } from './checksum.js';
4
+ import { isFrozenInConfig } from './config.js';
5
+ import { executeInstallPlan, InstallerError } from './installer.js';
6
+ import { addAssetToLockfile, readLockfile, removeAssetFromLockfile, withLockfileErrorHandling, writeLockfile, } from './lockfile.js';
7
+ import { resolveInstallPlan, ResolverError } from './resolver.js';
8
+ import { removeSingleAsset, UninstallerError } from './uninstaller.js';
9
+ // ---------------------------------------------------------------------------
10
+ // Dry-run orchestration
11
+ // ---------------------------------------------------------------------------
12
+ /**
13
+ * Classify installed assets into entries that need syncing vs. those that
14
+ * can be skipped. This consolidates the duplicated checksum-checking loop
15
+ * that previously appeared in both the dry-run and live sync paths.
16
+ *
17
+ * For each asset the function:
18
+ * 1. Checks if the asset is frozen — if so, increments `frozenSkipped`.
19
+ * 2. If `force` is true, marks it as `forced` without checking checksums.
20
+ * 3. Otherwise, resolves installed paths via the adapter, verifies checksums,
21
+ * and classifies as `missing` or `modified` when checksums fail, or
22
+ * increments `skipped` when all checksums pass.
23
+ */
24
+ export async function classifySyncEntries(options) {
25
+ const { adapter, assets, force, onProgress, projectConfig, projectDir } = options;
26
+ const toSync = [];
27
+ let frozenSkipped = 0;
28
+ let skipped = 0;
29
+ for (const asset of assets) {
30
+ onProgress?.(`Checking ${asset.name}...`);
31
+ if (isFrozenInConfig(projectConfig, asset.name, asset.type, asset.org)) {
32
+ frozenSkipped++;
33
+ continue;
34
+ }
35
+ if (force) {
36
+ toSync.push({ asset, reason: 'forced' });
37
+ continue;
38
+ }
39
+ const resolved = resolveInstalledPaths(asset, adapter, projectDir);
40
+ const filesToCheck = resolved.files.map((f) => ({
41
+ checksum: f.checksum,
42
+ path: join(projectDir, f.installedPath),
43
+ }));
44
+ const checksumFailures = await verifyChecksums(filesToCheck);
45
+ if (checksumFailures.length === 0) {
46
+ skipped++;
47
+ continue;
48
+ }
49
+ const hasMissing = checksumFailures.some((f) => f.actual.startsWith('FILE_NOT_FOUND'));
50
+ toSync.push({
51
+ asset,
52
+ reason: hasMissing ? 'missing' : 'modified',
53
+ });
54
+ }
55
+ return { frozenSkipped, skipped, toSync };
56
+ }
57
+ /**
58
+ * Perform a dry-run sync: read the lockfile (without locking), classify each
59
+ * tool's assets, and return the results so the UI can display what *would*
60
+ * be synced.
61
+ *
62
+ * This fixes finding O10.3 by populating `bootstrapHint` when a tool has no
63
+ * installed assets, which the original inline dry-run path in sync.tsx omitted.
64
+ */
65
+ export async function dryRunSync(options) {
66
+ const { force, onProgress, projectConfig, projectDir, tools } = options;
67
+ onProgress?.('Reading lockfile...');
68
+ const lockfile = await readLockfile(projectDir);
69
+ const toolResults = [];
70
+ for (const { adapter, tool: toolName } of tools) {
71
+ const toolAssets = lockfile.assets ?? [];
72
+ if (toolAssets.length === 0) {
73
+ toolResults.push({
74
+ bootstrapHint: `Run "atk install <asset>" to install assets for ${toolName}`,
75
+ frozenSkipped: 0,
76
+ skipped: 0,
77
+ tool: toolName,
78
+ toSync: [],
79
+ });
80
+ continue;
81
+ }
82
+ const classified = await classifySyncEntries({
83
+ adapter,
84
+ assets: toolAssets,
85
+ force,
86
+ onProgress: onProgress ? (msg) => onProgress(`${msg} for ${toolName}`) : undefined,
87
+ projectConfig,
88
+ projectDir,
89
+ });
90
+ toolResults.push({
91
+ frozenSkipped: classified.frozenSkipped,
92
+ skipped: classified.skipped,
93
+ tool: toolName,
94
+ toSync: classified.toSync,
95
+ });
96
+ }
97
+ return toolResults;
98
+ }
99
+ // ---------------------------------------------------------------------------
100
+ // Live sync orchestration
101
+ // ---------------------------------------------------------------------------
102
+ /**
103
+ * Perform a live sync: acquire the lockfile lock, classify each tool's assets,
104
+ * then remove and reinstall drifted entries.
105
+ *
106
+ * Uses `removeSingleAsset()` for disk-only cleanup (no lockfile I/O) and
107
+ * manages lockfile state in-memory with a single read at the start and a
108
+ * single write at the end. This follows the same pattern established by
109
+ * `executeBundleUninstall()` in `uninstaller.ts`.
110
+ *
111
+ * NOTE: Sync reinstalls only the direct asset, not its dependencies. This is
112
+ * intentional per F4.2 — dependencies are assumed to already be installed and
113
+ * are not re-fetched during a sync operation.
114
+ */
115
+ export async function syncAssets(options) {
116
+ const { force, onProgress, projectConfig, projectDir, registry, tools } = options;
117
+ return withLockfileErrorHandling(projectDir, async () => {
118
+ onProgress?.('Reading lockfile...');
119
+ let lockfile = await readLockfile(projectDir);
120
+ const toolResults = [];
121
+ for (const { adapter, tool: toolName } of tools) {
122
+ const toolAssets = lockfile.assets ?? [];
123
+ if (toolAssets.length === 0) {
124
+ toolResults.push({
125
+ bootstrapHint: 'No assets installed. Run `atk setup` to initialize.',
126
+ failures: [],
127
+ frozenSkipped: 0,
128
+ skipped: 0,
129
+ synced: [],
130
+ tool: toolName,
131
+ });
132
+ continue;
133
+ }
134
+ const classified = await classifySyncEntries({
135
+ adapter,
136
+ assets: toolAssets,
137
+ force,
138
+ onProgress: onProgress ? (msg) => onProgress(`${msg} for ${toolName}`) : undefined,
139
+ projectConfig,
140
+ projectDir,
141
+ });
142
+ if (classified.toSync.length === 0) {
143
+ toolResults.push({
144
+ failures: [],
145
+ frozenSkipped: classified.frozenSkipped,
146
+ skipped: classified.skipped,
147
+ synced: [],
148
+ tool: toolName,
149
+ });
150
+ continue;
151
+ }
152
+ const failures = [];
153
+ for (const entry of classified.toSync) {
154
+ onProgress?.(`Syncing ${entry.asset.name} for ${toolName}...`);
155
+ // Save the original lockfile entry so we can restore it on reinstall failure
156
+ const originalEntry = entry.asset;
157
+ // Step 1: Disk-only cleanup via removeSingleAsset (no lockfile I/O).
158
+ // Tolerate UninstallerError (e.g., files already missing) but propagate
159
+ // unexpected errors.
160
+ try {
161
+ await removeSingleAsset(originalEntry, adapter, projectDir, onProgress);
162
+ }
163
+ catch (error) {
164
+ if (!(error instanceof UninstallerError)) {
165
+ throw error;
166
+ }
167
+ }
168
+ // Step 2: Track removal in the in-memory lockfile
169
+ lockfile = removeAssetFromLockfile(lockfile, originalEntry.name, originalEntry.type, originalEntry.org);
170
+ // Step 3: Reinstall the direct asset only (not dependencies — intentional per F4.2).
171
+ // Resolve the full plan but filter to just the direct asset entry.
172
+ try {
173
+ const plan = resolveInstallPlan(registry, originalEntry.name, originalEntry.type, originalEntry.version);
174
+ const directEntries = plan.entries.filter((e) => e.asset.name === originalEntry.name);
175
+ const directPlan = { entries: directEntries, totalCount: directEntries.length };
176
+ const results = await executeInstallPlan(directPlan, {
177
+ adapter,
178
+ onProgress,
179
+ projectDir,
180
+ });
181
+ entry.result = results[0];
182
+ // Step 4: After successful reinstall, re-read the lockfile from disk
183
+ // to capture the state that executeInstallPlan wrote, and keep our
184
+ // in-memory copy in sync.
185
+ lockfile = await readLockfile(projectDir);
186
+ }
187
+ catch (error) {
188
+ if (error instanceof ResolverError || error instanceof InstallerError) {
189
+ // On reinstall failure, restore the original InstalledAsset entry
190
+ // back into the in-memory lockfile so it is not silently dropped.
191
+ lockfile = addAssetToLockfile(lockfile, originalEntry);
192
+ failures.push({
193
+ assetName: originalEntry.name,
194
+ assetType: originalEntry.type,
195
+ error: error.message,
196
+ version: originalEntry.version,
197
+ });
198
+ continue;
199
+ }
200
+ throw error;
201
+ }
202
+ }
203
+ toolResults.push({
204
+ failures,
205
+ frozenSkipped: classified.frozenSkipped,
206
+ skipped: classified.skipped,
207
+ synced: classified.toSync.filter((e) => e.result !== undefined),
208
+ tool: toolName,
209
+ });
210
+ }
211
+ // Write the lockfile once at the end to persist any in-memory mutations
212
+ // (e.g., restored entries from failed reinstalls)
213
+ await writeLockfile(projectDir, lockfile);
214
+ return toolResults;
215
+ });
216
+ }
217
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/lib/sync.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,39 @@
1
1
  import type { Adapter } from './schemas/adapter.js';
2
2
  /**
3
- * Resolve which tool to target, returning both the resolved tool name and its adapter config.
3
+ * Resolve a single tool to target, returning both the resolved tool name and its adapter config.
4
+ *
5
+ * Convenience wrapper around `resolveTools()` that returns the first result.
6
+ * When `toolOption` is provided, returns that specific tool.
7
+ * When no `toolOption`, returns the first tool from the project config `tools` array.
8
+ */
9
+ export declare function resolveTool(toolOption?: string, projectDir?: string): Promise<{
10
+ adapter: Adapter;
11
+ tool: string;
12
+ }>;
13
+ /**
14
+ * Resolve targeted tool names without loading adapter JSON.
4
15
  *
5
16
  * Resolution order:
6
- * 1. Explicit `--tool` CLI flag
7
- * 2. Project config `.atkrc.json` `tool` field
17
+ * 1. Explicit `--tool` CLI flag → returns `[toolOption]` immediately
18
+ * 2. Project config `.atkrc.json` `tools` array → returns the array as-is
8
19
  * 3. Error directing user to run `atk setup`
9
20
  *
10
- * No auto-detection is performed the tool must be explicitly configured.
21
+ * This is a lightweight alternative to `resolveTools()` for callers that only
22
+ * need the tool name strings and do not need the full adapter definitions.
11
23
  */
12
- export declare function resolveTool(toolOption: string | undefined, projectDir?: string): Promise<{
24
+ export declare function resolveToolNames(toolOption?: string, projectDir?: string): Promise<string[]>;
25
+ /**
26
+ * Resolve all targeted tools, returning an array of tool names and their adapter configs.
27
+ *
28
+ * Resolution order:
29
+ * 1. Explicit `--tool` CLI flag → returns only that single tool (filter behavior)
30
+ * 2. Project config `.atkrc.json` `tools` array → returns all configured tools
31
+ * 3. Error directing user to run `atk setup`
32
+ *
33
+ * No auto-detection is performed — tools must be explicitly configured.
34
+ */
35
+ export declare function resolveTools(toolOption?: string, projectDir?: string): Promise<Array<{
13
36
  adapter: Adapter;
14
37
  tool: string;
15
- }>;
38
+ }>>;
16
39
  //# sourceMappingURL=tool-resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-resolver.d.ts","sourceRoot":"","sources":["../../src/lib/tool-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAMpD;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAkB7C"}
1
+ {"version":3,"file":"tool-resolver.d.ts","sourceRoot":"","sources":["../../src/lib/tool-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAMpD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAG7C;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAclG;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,KAAK,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAwBpD"}
@@ -2,28 +2,67 @@ import { loadAdapter } from './adapter.js';
2
2
  import { loadProjectConfig } from './config.js';
3
3
  import { findProjectRoot } from './paths.js';
4
4
  /**
5
- * Resolve which tool to target, returning both the resolved tool name and its adapter config.
5
+ * Resolve a single tool to target, returning both the resolved tool name and its adapter config.
6
+ *
7
+ * Convenience wrapper around `resolveTools()` that returns the first result.
8
+ * When `toolOption` is provided, returns that specific tool.
9
+ * When no `toolOption`, returns the first tool from the project config `tools` array.
10
+ */
11
+ export async function resolveTool(toolOption, projectDir) {
12
+ const results = await resolveTools(toolOption, projectDir);
13
+ return results[0];
14
+ }
15
+ /**
16
+ * Resolve targeted tool names without loading adapter JSON.
6
17
  *
7
18
  * Resolution order:
8
- * 1. Explicit `--tool` CLI flag
9
- * 2. Project config `.atkrc.json` `tool` field
19
+ * 1. Explicit `--tool` CLI flag → returns `[toolOption]` immediately
20
+ * 2. Project config `.atkrc.json` `tools` array → returns the array as-is
10
21
  * 3. Error directing user to run `atk setup`
11
22
  *
12
- * No auto-detection is performed the tool must be explicitly configured.
23
+ * This is a lightweight alternative to `resolveTools()` for callers that only
24
+ * need the tool name strings and do not need the full adapter definitions.
13
25
  */
14
- export async function resolveTool(toolOption, projectDir) {
26
+ export async function resolveToolNames(toolOption, projectDir) {
27
+ if (toolOption) {
28
+ return [toolOption];
29
+ }
15
30
  const resolvedDir = projectDir ?? findProjectRoot();
16
- let tool = toolOption;
17
- if (!tool) {
18
- const projectConfig = await loadProjectConfig(resolvedDir);
19
- if (projectConfig?.tool) {
20
- tool = projectConfig.tool;
21
- }
31
+ const projectConfig = await loadProjectConfig(resolvedDir);
32
+ const tools = projectConfig?.tools;
33
+ if (!tools || tools.length === 0) {
34
+ throw new Error('No tools configured. Run `atk setup` to select your AI coding tool.');
35
+ }
36
+ return tools;
37
+ }
38
+ /**
39
+ * Resolve all targeted tools, returning an array of tool names and their adapter configs.
40
+ *
41
+ * Resolution order:
42
+ * 1. Explicit `--tool` CLI flag → returns only that single tool (filter behavior)
43
+ * 2. Project config `.atkrc.json` `tools` array → returns all configured tools
44
+ * 3. Error directing user to run `atk setup`
45
+ *
46
+ * No auto-detection is performed — tools must be explicitly configured.
47
+ */
48
+ export async function resolveTools(toolOption, projectDir) {
49
+ const resolvedDir = projectDir ?? findProjectRoot();
50
+ // When --tool flag is provided, return only that single tool
51
+ if (toolOption) {
52
+ const adapter = await loadAdapter(toolOption);
53
+ return [{ adapter, tool: toolOption }];
54
+ }
55
+ // Read all tools from project config
56
+ const projectConfig = await loadProjectConfig(resolvedDir);
57
+ const tools = projectConfig?.tools;
58
+ if (!tools || tools.length === 0) {
59
+ throw new Error('No tools configured. Run `atk setup` to select your AI coding tool.');
22
60
  }
23
- if (!tool) {
24
- throw new Error('No tool configured. Run `atk setup` to select your AI coding tool.');
61
+ const results = [];
62
+ for (const tool of tools) {
63
+ const adapter = await loadAdapter(tool);
64
+ results.push({ adapter, tool });
25
65
  }
26
- const adapter = await loadAdapter(tool);
27
- return { adapter, tool };
66
+ return results;
28
67
  }
29
68
  //# sourceMappingURL=tool-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-resolver.js","sourceRoot":"","sources":["../../src/lib/tool-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAA8B,EAC9B,UAAmB;IAEnB,MAAM,WAAW,GAAG,UAAU,IAAI,eAAe,EAAE,CAAC;IAEpD,IAAI,IAAI,GAAuB,UAAU,CAAC;IAE1C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,aAAa,EAAE,IAAI,EAAE,CAAC;YACxB,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"tool-resolver.js","sourceRoot":"","sources":["../../src/lib/tool-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,UAAmB,EACnB,UAAmB;IAEnB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC;AACrB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,UAAmB,EAAE,UAAmB;IAC7E,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,IAAI,eAAe,EAAE,CAAC;IACpD,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,aAAa,EAAE,KAAK,CAAC;IAEnC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAmB,EACnB,UAAmB;IAEnB,MAAM,WAAW,GAAG,UAAU,IAAI,eAAe,EAAE,CAAC;IAEpD,6DAA6D;IAC7D,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,qCAAqC;IACrC,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,aAAa,EAAE,KAAK,CAAC;IAEnC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,OAAO,GAA8C,EAAE,CAAC;IAC9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { Adapter } from './schemas/adapter.js';
2
2
  import type { InstalledAsset, Lockfile } from './schemas/lockfile.js';
3
+ import type { AssetType } from './schemas/manifest.js';
3
4
  import type { Registry } from './schemas/registry.js';
4
5
  import { type InstallResult } from './installer.js';
5
6
  export interface OutdatedAsset {
@@ -12,7 +13,7 @@ export interface OutdatedAsset {
12
13
  org?: string;
13
14
  /** Whether the asset is version-pinned. */
14
15
  pinned?: boolean;
15
- type: string;
16
+ type: AssetType;
16
17
  }
17
18
  export interface UpdateAssetsResult {
18
19
  failures: UpdateFailure[];
@@ -25,13 +26,15 @@ export interface UpdateAssetsResult {
25
26
  export interface UpdateFailure {
26
27
  error: string;
27
28
  name: string;
28
- type: string;
29
+ type: AssetType;
29
30
  }
30
31
  export interface UpdateOptions {
31
32
  /** Adapter for the target tool. */
32
33
  adapter: Adapter;
33
34
  /** Force update even if the asset is pinned. */
34
35
  force?: boolean;
36
+ /** Set of frozen asset composite keys in format `${type}:${org ?? ''}:${name}`. */
37
+ frozenAssets?: Set<string>;
35
38
  /** Pre-read lockfile to avoid redundant reads (used for dropped dependency cleanup). */
36
39
  lockfile?: Lockfile;
37
40
  /** Callback for progress updates. */
@@ -46,7 +49,7 @@ export interface UpdateResult {
46
49
  installResult: InstallResult;
47
50
  name: string;
48
51
  toVersion: string;
49
- type: string;
52
+ type: AssetType;
50
53
  }
51
54
  export declare class UpdaterError extends Error {
52
55
  constructor(message: string);
@@ -56,7 +59,7 @@ export declare class UpdaterError extends Error {
56
59
  * Compares the installed version against the asset's `latest` version
57
60
  * using the version-aware `findAsset` lookup.
58
61
  */
59
- export declare function checkOutdated(lockfile: Lockfile, registry: Registry): OutdatedAsset[];
62
+ export declare function checkOutdated(lockfile: Lockfile, registry: Registry, frozenNames?: Set<string>): OutdatedAsset[];
60
63
  /**
61
64
  * Update a single asset to the target version (defaults to latest).
62
65
  * Uninstalls the current version and installs the target from registry.
@@ -1 +1 @@
1
- {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../src/lib/updater.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAMxE,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,2EAA2E;IAC3E,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;IAChC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,qCAAqC;IACrC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,aAAa,EAAE,CAyBrF;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAsGvB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,EAChC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAsH7B"}
1
+ {"version":3,"file":"updater.d.ts","sourceRoot":"","sources":["../../src/lib/updater.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAMxE,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,2EAA2E;IAC3E,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;IAChC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mFAAmF;IACnF,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,wFAAwF;IACxF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,qCAAqC;IACrC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,aAAa,EAAE,CA0BhH;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,cAAc,EACzB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAsGvB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,EAChC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAuH7B"}
@@ -15,7 +15,7 @@ export class UpdaterError extends Error {
15
15
  * Compares the installed version against the asset's `latest` version
16
16
  * using the version-aware `findAsset` lookup.
17
17
  */
18
- export function checkOutdated(lockfile, registry) {
18
+ export function checkOutdated(lockfile, registry, frozenNames) {
19
19
  const outdated = [];
20
20
  for (const installed of lockfile.assets ?? []) {
21
21
  const resolved = findAsset(registry, installed.name, installed.type, undefined, installed.org);
@@ -25,8 +25,9 @@ export function checkOutdated(lockfile, registry) {
25
25
  }
26
26
  // resolved.version is the latest version (findAsset defaults to latest)
27
27
  if (isNewer(resolved.version, installed.version)) {
28
+ const compositeKey = `${installed.type}:${installed.org ?? ''}:${installed.name}`;
28
29
  outdated.push({
29
- frozen: installed.frozen ? true : undefined,
30
+ frozen: frozenNames?.has(compositeKey) ? true : undefined,
30
31
  installedVersion: installed.version,
31
32
  latestVersion: resolved.version,
32
33
  name: installed.name,
@@ -108,7 +109,7 @@ export async function updateAsset(assetName, installed, registry, options) {
108
109
  if (droppedDeps.length > 0) {
109
110
  const updatedLockfile = options.lockfile ?? (await readLockfile(projectDir));
110
111
  for (const dep of droppedDeps) {
111
- const depAsset = findInstalledAsset(updatedLockfile, dep.name, dep.type);
112
+ const depAsset = findInstalledAsset(updatedLockfile, dep.name, dep.type, dep.org);
112
113
  if (!depAsset)
113
114
  continue;
114
115
  // Only remove if it was a dependency and no other asset depends on it
@@ -144,7 +145,8 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
144
145
  throw new UpdaterError(`Asset "${name}" is not installed.`);
145
146
  }
146
147
  // Check frozen state for explicitly targeted asset
147
- if (installed.frozen) {
148
+ const compositeKey = `${installed.type}:${installed.org ?? ''}:${name}`;
149
+ if (options.frozenAssets?.has(compositeKey)) {
148
150
  throw new UpdaterError(`Asset "${name}" is frozen. Use "atk thaw ${name}" to unfreeze it before updating.`);
149
151
  }
150
152
  // Check pin state for explicitly targeted asset
@@ -158,7 +160,7 @@ export async function updateAssets(assetNames, lockfile, registry, options) {
158
160
  });
159
161
  return { failures: [], results: [result] };
160
162
  }
161
- const outdated = checkOutdated(lockfile, registry);
163
+ const outdated = checkOutdated(lockfile, registry, options.frozenAssets);
162
164
  let toUpdate;
163
165
  const frozenSkipped = [];
164
166
  const skipped = [];
@@ -250,7 +252,9 @@ function isNewer(registryVersion, installedVersion) {
250
252
  if (valid(registryVersion) && valid(installedVersion)) {
251
253
  return compare(registryVersion, installedVersion) > 0;
252
254
  }
253
- // Fallback: string comparison
255
+ // Defensive fallback: when version strings are not valid semver, treat any
256
+ // difference as "newer" so the change is surfaced for user review rather than
257
+ // silently ignored.
254
258
  return registryVersion !== installedVersion;
255
259
  }
256
260
  //# sourceMappingURL=updater.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updater.js","sourceRoot":"","sources":["../../src/lib/updater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAMxC,OAAO,EAAE,kBAAkB,EAAsB,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAqDlD,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,QAAkB,EAAE,QAAkB;IAClE,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAC/F,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,mEAAmE;YACnE,SAAS;QACX,CAAC;QAED,wEAAwE;QACxE,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBAC3C,gBAAgB,EAAE,SAAS,CAAC,OAAO;gBACnC,aAAa,EAAE,QAAQ,CAAC,OAAO;gBAC/B,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,GAAG,EAAE,SAAS,CAAC,GAAG;gBAClB,MAAM,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBAClD,IAAI,EAAE,SAAS,CAAC,IAAI;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,SAAiB,EACjB,SAAyB,EACzB,QAAkB,EAClB,OAAsB;IAEtB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAEnE,kFAAkF;IAClF,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9F,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,IAAI,YAAY,CAAC,UAAU,SAAS,cAAc,aAAa,0BAA0B,CAAC,CAAC;QACnG,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,UAAU,SAAS,0BAA0B,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC;IAEnC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,IAAI,YAAY,CACpB,UAAU,SAAS,kEAAkE,SAAS,CAAC,OAAO,iBAAiB,SAAS,IAAI,CACrI,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,UAAU,SAAS,wCAAwC,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC;IAC3G,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC;IAEtC,+CAA+C;IAC/C,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,IAAI,EAAE,CAAC;IAE7C,uFAAuF;IACvF,UAAU,EAAE,CAAC,YAAY,SAAS,IAAI,WAAW,KAAK,CAAC,CAAC;IACxD,MAAM,cAAc,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IAErF,6DAA6D;IAC7D,UAAU,EAAE,CAAC,cAAc,SAAS,IAAI,SAAS,KAAK,CAAC,CAAC;IACxD,IAAI,OAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAC/F,OAAO,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE;YACvC,OAAO;YACP,KAAK,EAAE,IAAI;YACX,UAAU;YACV,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,YAAY,EAAE,CAAC;QACtB,wEAAwE;QACxE,UAAU,EAAE,CAAC,cAAc,SAAS,IAAI,SAAS,kCAAkC,SAAS,IAAI,WAAW,KAAK,CAAC,CAAC;QAClH,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;YACzG,MAAM,kBAAkB,CAAC,YAAY,EAAE;gBACrC,OAAO;gBACP,KAAK,EAAE,IAAI;gBACX,UAAU;gBACV,UAAU;aACX,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,YAAY,CACpB,qBAAqB,SAAS,SAAS,SAAS,KAAK,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI;gBAClI,gBAAgB,WAAW,iBAAiB,aAAa,YAAY,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI;gBAC9H,gDAAgD,CACnD,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,YAAY,CACpB,qBAAqB,SAAS,SAAS,SAAS,KAAK,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI;YAClI,0BAA0B,WAAW,sBAAsB,CAC9D,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,YAAY,CAAC,yCAAyC,SAAS,IAAI,CAAC,CAAC;IACjF,CAAC;IAED,4EAA4E;IAC5E,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;IACxD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAElF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;QAE7E,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACzE,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,sEAAsE;YACtE,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,KAAK,YAAY;gBAAE,SAAS;YAEpE,MAAM,UAAU,GAAG,cAAc,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,UAAU,EAAE,CAAC,+BAA+B,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC;gBAC3D,MAAM,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW;QACX,aAAa,EAAE,YAAY;QAC3B,IAAI,EAAE,SAAS;QACf,SAAS;QACT,IAAI,EAAE,SAAS,CAAC,IAAI;KACrB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAgC,EAChC,QAAkB,EAClB,QAAkB,EAClB,OAAsB;IAEtB,wFAAwF;IACxF,yEAAyE;IACzE,IAAI,OAAO,CAAC,aAAa,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACvE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,YAAY,CAAC,UAAU,IAAI,qBAAqB,CAAC,CAAC;QAC9D,CAAC;QAED,mDAAmD;QACnD,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,YAAY,CAAC,UAAU,IAAI,8BAA8B,IAAI,mCAAmC,CAAC,CAAC;QAC9G,CAAC;QAED,gDAAgD;QAChD,IAAI,SAAS,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9C,MAAM,IAAI,YAAY,CACpB,UAAU,IAAI,2BAA2B,SAAS,CAAC,aAAa,qCAAqC,CACtG,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE;YAC1D,GAAG,OAAO;YACV,QAAQ,EAAE,eAAe;SAC1B,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEnD,IAAI,QAAyB,CAAC;IAC9B,MAAM,aAAa,GAAoB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,uCAAuC;QACvC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBAC3C,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBACvE,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,MAAM,IAAI,YAAY,CAAC,UAAU,IAAI,qBAAqB,CAAC,CAAC;gBAC9D,CAAC;gBACD,MAAM,IAAI,YAAY,CAAC,UAAU,IAAI,wCAAwC,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,IAAI,YAAY,CACpB,UAAU,KAAK,CAAC,IAAI,8BAA8B,KAAK,CAAC,IAAI,mCAAmC,CAChG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnC,MAAM,IAAI,YAAY,CAAC,UAAU,KAAK,CAAC,IAAI,+CAA+C,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,2DAA2D;QAC3D,QAAQ,GAAG,EAAE,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1B,OAAO,CAAC,UAAU,EAAE,CAAC,yBAAyB,KAAK,CAAC,IAAI,2BAA2B,KAAK,CAAC,IAAI,gBAAgB,CAAC,CAAC;YACjH,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,CAAC,UAAU,EAAE,CAAC,yBAAyB,KAAK,CAAC,IAAI,oCAAoC,CAAC,CAAC;YAChG,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;YACnE,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SAClD,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,YAAY,CAAC,UAAU,KAAK,CAAC,IAAI,2CAA2C,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,CAAC;YACH,uEAAuE;YACvE,mEAAmE;YACnE,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE;gBAChE,GAAG,OAAO;gBACV,QAAQ,EAAE,eAAe;aAC1B,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,CAAC,UAAU,EAAE,CAAC,oBAAoB,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;YACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;QACR,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;QACnE,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;KAClD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,OAAO,CAAC,eAAuB,EAAE,gBAAwB;IAChE,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACtD,OAAO,OAAO,CAAC,eAAe,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IACD,8BAA8B;IAC9B,OAAO,eAAe,KAAK,gBAAgB,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"updater.js","sourceRoot":"","sources":["../../src/lib/updater.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"}