@detergent-software/atk 9.0.0 → 9.1.0-dev.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/README.md +47 -42
  3. package/build/command-manifest.json +60 -2
  4. package/build/commands/audit.d.ts.map +1 -1
  5. package/build/commands/audit.js +21 -9
  6. package/build/commands/audit.js.map +1 -1
  7. package/build/commands/browse.d.ts.map +1 -1
  8. package/build/commands/browse.js +18 -14
  9. package/build/commands/browse.js.map +1 -1
  10. package/build/commands/deprecate.d.ts.map +1 -1
  11. package/build/commands/deprecate.js +2 -12
  12. package/build/commands/deprecate.js.map +1 -1
  13. package/build/commands/init.d.ts +3 -1
  14. package/build/commands/init.d.ts.map +1 -1
  15. package/build/commands/init.js +41 -4
  16. package/build/commands/init.js.map +1 -1
  17. package/build/commands/list.js +7 -5
  18. package/build/commands/list.js.map +1 -1
  19. package/build/commands/promote.d.ts +2 -1
  20. package/build/commands/promote.d.ts.map +1 -1
  21. package/build/commands/promote.js +35 -16
  22. package/build/commands/promote.js.map +1 -1
  23. package/build/commands/search.d.ts +8 -2
  24. package/build/commands/search.d.ts.map +1 -1
  25. package/build/commands/search.js +55 -9
  26. package/build/commands/search.js.map +1 -1
  27. package/build/commands/unpublish.d.ts +2 -1
  28. package/build/commands/unpublish.d.ts.map +1 -1
  29. package/build/commands/unpublish.js +35 -16
  30. package/build/commands/unpublish.js.map +1 -1
  31. package/build/commands/validate.d.ts +13 -0
  32. package/build/commands/validate.d.ts.map +1 -0
  33. package/build/commands/validate.js +55 -0
  34. package/build/commands/validate.js.map +1 -0
  35. package/build/components/AssetTable.d.ts +4 -0
  36. package/build/components/AssetTable.d.ts.map +1 -1
  37. package/build/components/AssetTable.js +1 -1
  38. package/build/components/AssetTable.js.map +1 -1
  39. package/build/components/ErrorView.d.ts +12 -1
  40. package/build/components/ErrorView.d.ts.map +1 -1
  41. package/build/components/ErrorView.js +15 -2
  42. package/build/components/ErrorView.js.map +1 -1
  43. package/build/components/InitSuccess.d.ts.map +1 -1
  44. package/build/components/InitSuccess.js +1 -1
  45. package/build/components/InitSuccess.js.map +1 -1
  46. package/build/components/InstallConfirmBar.d.ts.map +1 -1
  47. package/build/components/InstallConfirmBar.js +2 -1
  48. package/build/components/InstallConfirmBar.js.map +1 -1
  49. package/build/components/ListActionBar.d.ts.map +1 -1
  50. package/build/components/ListActionBar.js +2 -1
  51. package/build/components/ListActionBar.js.map +1 -1
  52. package/build/components/index.d.ts +1 -1
  53. package/build/components/index.d.ts.map +1 -1
  54. package/build/components/index.js +1 -1
  55. package/build/components/index.js.map +1 -1
  56. package/build/hooks/useBrowseState.d.ts +11 -5
  57. package/build/hooks/useBrowseState.d.ts.map +1 -1
  58. package/build/hooks/useBrowseState.js +6 -7
  59. package/build/hooks/useBrowseState.js.map +1 -1
  60. package/build/hooks/useInitState.d.ts +2 -0
  61. package/build/hooks/useInitState.d.ts.map +1 -1
  62. package/build/hooks/useInitState.js +56 -14
  63. package/build/hooks/useInitState.js.map +1 -1
  64. package/build/hooks/useListActions.d.ts +6 -2
  65. package/build/hooks/useListActions.d.ts.map +1 -1
  66. package/build/hooks/useListActions.js +11 -8
  67. package/build/hooks/useListActions.js.map +1 -1
  68. package/build/hooks/useListState.d.ts +10 -4
  69. package/build/hooks/useListState.d.ts.map +1 -1
  70. package/build/hooks/useListState.js +2 -0
  71. package/build/hooks/useListState.js.map +1 -1
  72. package/build/lib/adapter.d.ts +2 -0
  73. package/build/lib/adapter.d.ts.map +1 -1
  74. package/build/lib/adapter.js +11 -11
  75. package/build/lib/adapter.js.map +1 -1
  76. package/build/lib/config-entries.d.ts +12 -1
  77. package/build/lib/config-entries.d.ts.map +1 -1
  78. package/build/lib/config-entries.js +22 -1
  79. package/build/lib/config-entries.js.map +1 -1
  80. package/build/lib/config-file.d.ts +8 -5
  81. package/build/lib/config-file.d.ts.map +1 -1
  82. package/build/lib/config-file.js +28 -7
  83. package/build/lib/config-file.js.map +1 -1
  84. package/build/lib/init.d.ts +4 -0
  85. package/build/lib/init.d.ts.map +1 -1
  86. package/build/lib/init.js +5 -2
  87. package/build/lib/init.js.map +1 -1
  88. package/build/lib/installer.d.ts.map +1 -1
  89. package/build/lib/installer.js +92 -41
  90. package/build/lib/installer.js.map +1 -1
  91. package/build/lib/jsonc.d.ts +25 -0
  92. package/build/lib/jsonc.d.ts.map +1 -0
  93. package/build/lib/jsonc.js +204 -0
  94. package/build/lib/jsonc.js.map +1 -0
  95. package/build/lib/output.d.ts +13 -0
  96. package/build/lib/output.d.ts.map +1 -1
  97. package/build/lib/output.js +13 -3
  98. package/build/lib/output.js.map +1 -1
  99. package/build/lib/owned-paths.d.ts +9 -0
  100. package/build/lib/owned-paths.d.ts.map +1 -1
  101. package/build/lib/owned-paths.js +51 -3
  102. package/build/lib/owned-paths.js.map +1 -1
  103. package/build/lib/publish-flow.d.ts +2 -0
  104. package/build/lib/publish-flow.d.ts.map +1 -1
  105. package/build/lib/publish-flow.js +6 -2
  106. package/build/lib/publish-flow.js.map +1 -1
  107. package/build/lib/publisher.d.ts.map +1 -1
  108. package/build/lib/publisher.js +26 -1
  109. package/build/lib/publisher.js.map +1 -1
  110. package/build/lib/registry-change-json.d.ts +32 -0
  111. package/build/lib/registry-change-json.d.ts.map +1 -0
  112. package/build/lib/registry-change-json.js +32 -0
  113. package/build/lib/registry-change-json.js.map +1 -0
  114. package/build/lib/registry.d.ts +6 -1
  115. package/build/lib/registry.d.ts.map +1 -1
  116. package/build/lib/registry.js +8 -0
  117. package/build/lib/registry.js.map +1 -1
  118. package/build/lib/search.d.ts +36 -9
  119. package/build/lib/search.d.ts.map +1 -1
  120. package/build/lib/search.js +138 -68
  121. package/build/lib/search.js.map +1 -1
  122. package/build/lib/setup.d.ts +2 -1
  123. package/build/lib/setup.d.ts.map +1 -1
  124. package/build/lib/setup.js +3 -2
  125. package/build/lib/setup.js.map +1 -1
  126. package/build/lib/sync.d.ts.map +1 -1
  127. package/build/lib/sync.js +33 -6
  128. package/build/lib/sync.js.map +1 -1
  129. package/build/lib/tool-resolver.d.ts +1 -1
  130. package/build/lib/tool-resolver.d.ts.map +1 -1
  131. package/build/lib/tool-resolver.js +34 -13
  132. package/build/lib/tool-resolver.js.map +1 -1
  133. package/build/lib/touched-paths.d.ts +12 -0
  134. package/build/lib/touched-paths.d.ts.map +1 -0
  135. package/build/lib/touched-paths.js +38 -0
  136. package/build/lib/touched-paths.js.map +1 -0
  137. package/build/lib/updater.d.ts.map +1 -1
  138. package/build/lib/updater.js +5 -36
  139. package/build/lib/updater.js.map +1 -1
  140. package/build/lib/validate.d.ts +30 -0
  141. package/build/lib/validate.d.ts.map +1 -0
  142. package/build/lib/validate.js +111 -0
  143. package/build/lib/validate.js.map +1 -0
  144. package/build/lib/write-file.d.ts +6 -0
  145. package/build/lib/write-file.d.ts.map +1 -1
  146. package/build/lib/write-file.js +15 -15
  147. package/build/lib/write-file.js.map +1 -1
  148. package/package.json +2 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,80 @@
1
+ ## [9.1.0-dev.10](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.1.0-dev.9&targetVersion=GTv9.1.0-dev.10) (2026-10-21)
2
+
3
+ ### Bug Fixes
4
+
5
+ * **cli:** restore a sync's files before a lockfile failure aborts it (ATK-713) ([d74f703](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/d74f703c62ea6f8f8c71d7692304c013815b57cd))
6
+ * **cli:** restore an asset's files when its sync reinstall fails (ATK-713) ([c91f813](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/c91f81389f6b34bb3a1b61782d03dd3a746cd97a))
7
+
8
+ ## [9.1.0-dev.9](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.1.0-dev.8&targetVersion=GTv9.1.0-dev.9) (2026-10-21)
9
+
10
+ ### Bug Fixes
11
+
12
+ * **cli:** fail a hook or keyed config merge that can't read its file (ATK-708) ([5bcfc07](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/5bcfc07a8f7263c00ed5ce35aa96df2cbb2ba2e4))
13
+ * **cli:** refuse a hook install before placing files when its config doesn't parse (ATK-708) ([a1cdc95](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/a1cdc9502c030155384397b6804ef58342248810))
14
+
15
+ ## [9.1.0-dev.8](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.1.0-dev.7&targetVersion=GTv9.1.0-dev.8) (2026-10-21)
16
+
17
+ ### Bug Fixes
18
+
19
+ * **cli:** fail an mcp-config install with nothing to register (ATK-472) ([2c1bc84](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/2c1bc84e71eec9df88231ece82c197af8c946378))
20
+ * **cli:** indent and remove JSONC config entries like the user's (ATK-472) ([0479787](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/0479787d493b86fd64aec4177fc823381df0e07f))
21
+ * **cli:** keep a comment on the user's last config entry when ATK adds one (ATK-472) ([02b7adb](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/02b7adb7b530cd761d3cba1a691a9d266c8fc8e5))
22
+ * **cli:** merge mcp-config into a JSONC .vscode/mcp.json, or fail the install (ATK-472) ([065d56f](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/065d56f40ad0cd7f94ba2a552db7adde83c9e1ce))
23
+
24
+ ## [9.1.0-dev.7](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.1.0-dev.6&targetVersion=GTv9.1.0-dev.7) (2026-10-21)
25
+
26
+ ### Bug Fixes
27
+
28
+ * **cli:** compare an asset folder's files on disk and skip runtime files (ATK-370) ([bc05b40](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/bc05b40c9ef0afa7e8315ef3b86757040f5da999))
29
+ * **cli:** remove the files a newer asset version no longer ships (ATK-370) ([1c2c826](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/1c2c826bfc0243c1f8dcda1aaccb58b9cac5b3af))
30
+
31
+ ## [9.1.0-dev.6](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.1.0-dev.5&targetVersion=GTv9.1.0-dev.6) (2026-10-21)
32
+
33
+ ### Bug Fixes
34
+
35
+ * **cli:** keep the list in view when a failure shows its guidance ([b7578c7](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/b7578c71c10d036fdd6f0d2a1053fe40960bd10d))
36
+ * **cli:** show the tool resolver's own error in list and browse ([1f53f37](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/1f53f37a75e8b87d6805608555c42638c619374a))
37
+
38
+ ## [9.1.0-dev.5](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.1.0-dev.4&targetVersion=GTv9.1.0-dev.5) (2026-10-21)
39
+
40
+ ### Features
41
+
42
+ * **cli:** add --json and --yes to atk init ([d556c0c](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/d556c0c5c754b8a1c90c243ba924d3cb4af447e3))
43
+ * **cli:** add --json to atk unpublish and atk promote ([5aef22a](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/5aef22a21a828c83d84556ba3a586281766de4c3))
44
+
45
+ ### Bug Fixes
46
+
47
+ * **cli:** keep init's --name over a --from path, and share error JSON ([e0c9385](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/e0c9385af0150176b0b9224ef43eaabb038fff38))
48
+
49
+ ## [9.1.0-dev.4](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.1.0-dev.3&targetVersion=GTv9.1.0-dev.4) (2026-10-21)
50
+
51
+ ### Bug Fixes
52
+
53
+ * **cli:** take --tool ids in any case on install, audit and diff ([9d18ec8](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/9d18ec8bb2ec008710643a619ac8fbddd0d24c50))
54
+
55
+ ## [9.1.0-dev.3](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.1.0-dev.2&targetVersion=GTv9.1.0-dev.3) (2026-10-21)
56
+
57
+ ### Bug Fixes
58
+
59
+ * **cli:** take --tools and --tool ids in any case ([7286c15](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/7286c15dbd826d2ce5bd18c205955457d4f04749))
60
+
61
+ ## [9.1.0-dev.2](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.1.0-dev.1&targetVersion=GTv9.1.0-dev.2) (2026-10-21)
62
+
63
+ ### Features
64
+
65
+ * **cli:** one search matcher with all-word, fuzzy and deprecated ranking ([0865972](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/0865972707a47f613496c46ca5ae62c2dff40c7b))
66
+
67
+ ### Bug Fixes
68
+
69
+ * **cli:** keep a search result's deprecation to its own kind ([6749524](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/6749524472880f12af3f73b3ead88fb784a43305))
70
+ * **cli:** rank literal search hits above fuzzy ones ([0c7c700](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/0c7c700322f92280e264dfcb0c14f68575464715))
71
+
72
+ ## [9.1.0-dev.1](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv9.0.0&targetVersion=GTv9.1.0-dev.1) (2026-10-21)
73
+
74
+ ### Features
75
+
76
+ * **cli:** add atk validate to check assets and bundles before publishing ([48ff3ba](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/commit/48ff3ba5b27569c8322f84b3aa4168219bfc6e53))
77
+
1
78
  ## [9.0.0](https://emergentcode.visualstudio.com/Emergent%20Software/_git/Emergent.AgenticToolkit/branchCompare?baseVersion=GTv8.9.1&targetVersion=GTv9.0.0) (2026-10-21)
2
79
 
3
80
  ### ⚠ BREAKING CHANGES
package/README.md CHANGED
@@ -39,9 +39,12 @@ Dev releases follow the format `x.y.z-dev.N` and include features and fixes that
39
39
  ### Basic Usage
40
40
 
41
41
  ```bash
42
- # Search for assets
42
+ # Search for assets (every word must match; a typo in a name still finds it)
43
43
  atk search "planning"
44
44
 
45
+ # List by tag with no query: at most 10, by name, without deprecated assets
46
+ atk search --tag review --limit 10 --sort name --no-deprecated
47
+
45
48
  # Browse the registry interactively
46
49
  atk browse
47
50
 
@@ -63,38 +66,39 @@ atk update
63
66
 
64
67
  ## Commands
65
68
 
66
- | Command | Description |
67
- | ----------------------- | ----------------------------------------------------------------- |
68
- | `atk audit` | Verify installed asset integrity via checksums |
69
- | `atk browse` | Interactively browse the registry with filtering |
70
- | `atk cache` | Manage the registry cache |
71
- | `atk checkout <name>` | Fetch a writable working copy of a registry asset for updating |
72
- | `atk config` | Manage user configuration (`~/.atkrc.json`) |
73
- | `atk deprecate <name>` | Deprecate an asset or bundle (or `--undo`) via PR, no new version |
74
- | `atk diff <asset>` | Show changes between installed and latest versions |
75
- | `atk doctor` | Run environment diagnostics |
76
- | `atk info <asset>` | Show detailed asset information |
77
- | `atk init` | Scaffold a new asset or bundle |
78
- | `atk install <asset>` | Install an asset with dependency resolution |
79
- | `atk list` | List all installed assets |
80
- | `atk login` | Sign in with your Emergent (Microsoft Entra) account |
81
- | `atk logout` | Sign out of your Emergent account |
82
- | `atk move <asset>` | Move an installed asset between the project and the user scope |
83
- | `atk outdated` | Show assets with available updates |
84
- | `atk pin <asset>` | Pin an asset to its current version |
85
- | `atk promote <name>` | Promote an org-scoped asset or bundle to global via PR |
86
- | `atk prune` | Remove orphaned dependencies |
87
- | `atk publish` | Publish one or more assets, or a bundle, to the registry |
88
- | `atk register <dir>` | Drop a manifest.json into an existing local directory |
89
- | `atk release-notes` | Show CLI release notes, recent history or a specific version |
90
- | `atk search <query>` | Search for assets by keyword, type, or tag |
91
- | `atk sync` | Re-apply all installed assets from the lockfile |
92
- | `atk uninstall <asset>` | Remove an asset and clean up placed files |
93
- | `atk unpin <asset>` | Remove a version pin |
94
- | `atk unpublish <name>` | Remove an asset, bundle or one version from the registry via PR |
95
- | `atk update [asset]` | Update installed assets to latest versions |
96
- | `atk whoami` | Show who you are signed in as and where the credential came from |
97
- | `atk why <asset>` | Explain why an asset is installed (direct, dependency, or orphan) |
69
+ | Command | Description |
70
+ | ------------------------ | ----------------------------------------------------------------- |
71
+ | `atk audit` | Verify installed asset integrity via checksums |
72
+ | `atk browse` | Interactively browse the registry with filtering |
73
+ | `atk cache` | Manage the registry cache |
74
+ | `atk checkout <name>` | Fetch a writable working copy of a registry asset for updating |
75
+ | `atk config` | Manage user configuration (`~/.atkrc.json`) |
76
+ | `atk deprecate <name>` | Deprecate an asset or bundle (or `--undo`) via PR, no new version |
77
+ | `atk diff <asset>` | Show changes between installed and latest versions |
78
+ | `atk doctor` | Run environment diagnostics |
79
+ | `atk info <asset>` | Show detailed asset information |
80
+ | `atk init` | Scaffold a new asset or bundle |
81
+ | `atk install <asset>` | Install an asset with dependency resolution |
82
+ | `atk list` | List all installed assets |
83
+ | `atk login` | Sign in with your Emergent (Microsoft Entra) account |
84
+ | `atk logout` | Sign out of your Emergent account |
85
+ | `atk move <asset>` | Move an installed asset between the project and the user scope |
86
+ | `atk outdated` | Show assets with available updates |
87
+ | `atk pin <asset>` | Pin an asset to its current version |
88
+ | `atk promote <name>` | Promote an org-scoped asset or bundle to global via PR |
89
+ | `atk prune` | Remove orphaned dependencies |
90
+ | `atk publish` | Publish one or more assets, or a bundle, to the registry |
91
+ | `atk register <dir>` | Drop a manifest.json into an existing local directory |
92
+ | `atk release-notes` | Show CLI release notes, recent history or a specific version |
93
+ | `atk search [query]` | Search by keyword (every word must match), type, tag or tool |
94
+ | `atk sync` | Re-apply all installed assets from the lockfile |
95
+ | `atk uninstall <asset>` | Remove an asset and clean up placed files |
96
+ | `atk unpin <asset>` | Remove a version pin |
97
+ | `atk unpublish <name>` | Remove an asset, bundle or one version from the registry via PR |
98
+ | `atk update [asset]` | Update installed assets to latest versions |
99
+ | `atk validate [path...]` | Check asset or bundle directories for errors before publishing |
100
+ | `atk whoami` | Show who you are signed in as and where the credential came from |
101
+ | `atk why <asset>` | Explain why an asset is installed (direct, dependency, or orphan) |
98
102
 
99
103
  ### Short flags
100
104
 
@@ -102,19 +106,20 @@ A short flag means the same long flag on every command that takes it, and a long
102
106
 
103
107
  | Short | Long | Short | Long |
104
108
  | ----- | ------------------------------------ | ----- | ----------------------------------------------------- |
105
- | `-a` | `--all` | `-n` | `--dry-run` |
106
- | `-b` | `--bundle` | `-O` | `--offline` (`init`) |
107
- | `-C` | `--context` | `-o` | `--org` |
108
- | `-d` | `--description` (`init`, `register`) | `-P` | `--project-root` |
109
- | `-e` | `--entrypoint` | `-p` | `--pin` |
110
- | `-F` | `--from` | `-R` | `--reset` |
111
- | `-f` | `--force` | `-r` | `--refresh` |
109
+ | `-a` | `--all` | `-O` | `--offline` (`init`) |
110
+ | `-b` | `--bundle` | `-o` | `--org` |
111
+ | `-C` | `--context` | `-P` | `--project-root` |
112
+ | `-d` | `--description` (`init`, `register`) | `-p` | `--pin` |
113
+ | `-e` | `--entrypoint` | `-R` | `--reset` |
114
+ | `-F` | `--from` | `-r` | `--refresh` |
115
+ | `-f` | `--force` | `-s` | `--sort` |
112
116
  | `-g` | `--tag` | `-T` | `--tool` |
113
117
  | `-h` | `--help` | `-t` | `--type` |
114
118
  | `-i` | `--from-installed` | `-u` | `--update` |
115
119
  | `-j` | `--json` | `-V` | `--version`, an asset's (`checkout`, `drift`, `info`) |
116
- | `-m` | `--message` | `-v` | `--version`, the CLI's |
117
- | | | `-y` | `--yes` |
120
+ | `-l` | `--limit` | `-v` | `--version`, the CLI's |
121
+ | `-m` | `--message` | `-y` | `--yes` |
122
+ | `-n` | `--dry-run` | | |
118
123
 
119
124
  CLI 9.0.0 changed the letters that meant two things. `-n` became `--dry-run` on `publish`, `unpublish`, `promote` and `deprecate`. Their old `-d` is now an unknown option on all four, so an old dry run fails rather than running for real. `--name` (`init`, `register`, `drift`), `--author` (`init`, `register`), `deprecate --reason`, `info --full`, `info --verbose` and `release-notes --prerelease` lost their short flags. `move` gained `-n` and `setup` gained `-j`.
120
125
 
@@ -462,6 +462,11 @@
462
462
  "flags": "-F, --from [from]",
463
463
  "description": "Fork from an installed asset name or a local file/directory path"
464
464
  },
465
+ {
466
+ "flags": "-j, --json",
467
+ "description": "Output raw JSON (for scripting and CI); never prompts",
468
+ "defaultValue": false
469
+ },
465
470
  {
466
471
  "flags": "--name [name]",
467
472
  "description": "Asset name (kebab-case)"
@@ -478,6 +483,11 @@
478
483
  {
479
484
  "flags": "--tags [tags]",
480
485
  "description": "Comma-separated tags (skips tags prompt)"
486
+ },
487
+ {
488
+ "flags": "-y, --yes",
489
+ "description": "Never prompt: take the inferred org or none, no tags, no dependencies, and fail if --name, --description or --author (when not signed in) is missing",
490
+ "defaultValue": false
481
491
  }
482
492
  ]
483
493
  },
@@ -785,6 +795,11 @@
785
795
  "description": "Show what would happen without creating the PR",
786
796
  "defaultValue": false
787
797
  },
798
+ {
799
+ "flags": "-j, --json",
800
+ "description": "Output raw JSON (for scripting and CI)",
801
+ "defaultValue": false
802
+ },
788
803
  {
789
804
  "flags": "-P, --project-root [project-root]",
790
805
  "description": "Override project root directory"
@@ -1102,18 +1117,28 @@
1102
1117
  "name": "search",
1103
1118
  "args": [
1104
1119
  {
1105
- "description": "Search query",
1106
- "name": "<query>"
1120
+ "description": "Search query (optional with --tag, --type or --tool)",
1121
+ "name": "[query]"
1107
1122
  }
1108
1123
  ],
1109
1124
  "description": "Search for assets and bundles in the registry",
1110
1125
  "file": "search.js",
1111
1126
  "options": [
1127
+ {
1128
+ "flags": "--no-deprecated",
1129
+ "description": "Hide deprecated assets and bundles (shown by default, marked and listed last)",
1130
+ "defaultValue": true
1131
+ },
1112
1132
  {
1113
1133
  "flags": "-j, --json",
1114
1134
  "description": "Output raw JSON (for scripting and CI)",
1115
1135
  "defaultValue": false
1116
1136
  },
1137
+ {
1138
+ "flags": "-l, --limit [limit]",
1139
+ "description": "Show at most this many results",
1140
+ "parse": "number"
1141
+ },
1117
1142
  {
1118
1143
  "flags": "-o, --org [org]",
1119
1144
  "description": "Filter assets by organization scope"
@@ -1123,6 +1148,15 @@
1123
1148
  "description": "Bypass the registry cache and fetch fresh data",
1124
1149
  "defaultValue": false
1125
1150
  },
1151
+ {
1152
+ "flags": "-s, --sort [sort]",
1153
+ "description": "Order results by relevance or by name (deprecated ones always come last)",
1154
+ "choices": [
1155
+ "relevance",
1156
+ "name"
1157
+ ],
1158
+ "defaultValue": "relevance"
1159
+ },
1126
1160
  {
1127
1161
  "flags": "-g, --tag [tag]",
1128
1162
  "description": "Filter by tag"
@@ -1378,6 +1412,11 @@
1378
1412
  "description": "Show what would happen without creating the PR",
1379
1413
  "defaultValue": false
1380
1414
  },
1415
+ {
1416
+ "flags": "-j, --json",
1417
+ "description": "Output raw JSON (for scripting and CI)",
1418
+ "defaultValue": false
1419
+ },
1381
1420
  {
1382
1421
  "flags": "-P, --project-root [project-root]",
1383
1422
  "description": "Override project root directory"
@@ -1466,6 +1505,25 @@
1466
1505
  }
1467
1506
  ]
1468
1507
  },
1508
+ {
1509
+ "isDefault": false,
1510
+ "name": "validate",
1511
+ "args": [
1512
+ {
1513
+ "description": "Asset or bundle directories to check (defaults to the current directory)",
1514
+ "name": "[path...]"
1515
+ }
1516
+ ],
1517
+ "description": "Check asset or bundle directories for errors before publishing",
1518
+ "file": "validate.js",
1519
+ "options": [
1520
+ {
1521
+ "flags": "-j, --json",
1522
+ "description": "Output raw JSON (for scripting and CI)",
1523
+ "defaultValue": false
1524
+ }
1525
+ ]
1526
+ },
1469
1527
  {
1470
1528
  "isDefault": false,
1471
1529
  "name": "whoami",
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA2BxB,eAAO,MAAM,WAAW,mDAAmD,CAAC;AAE5E,eAAO,MAAM,OAAO;;;;;iBAoClB,CAAC;AAuCH,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAOF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CAiVlF"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA4BxB,eAAO,MAAM,WAAW,mDAAmD,CAAC;AAE5E,eAAO,MAAM,OAAO;;;;;iBAoClB,CAAC;AA6CH,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;CAClC,CAAC;AAOF,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,2CA2WlF"}
@@ -6,14 +6,14 @@ import { ErrorView, FileStatusIcon, Spinner } from '../components/index.js';
6
6
  import { useCommand } from '../hooks/useCommand.js';
7
7
  import { adapterAsPlaced, configDirMove, resolveInstalledPaths, userConfigDirPath } from '../lib/adapter.js';
8
8
  import { declarationAllows, isExcludedAtVersion } from '../lib/asset-tools.js';
9
- import { getConfigEntriesForTool, needsConfigRegistration, normalizeConfigPath, staleHookCommandEntries, } from '../lib/config-entries.js';
9
+ import { getConfigEntriesForTool, lacksHookRegistration, needsConfigRegistration, normalizeConfigPath, staleHookCommandEntries, } from '../lib/config-entries.js';
10
10
  import { isFrozenInConfig } from '../lib/config.js';
11
11
  import { identityKey, readLockfile } from '../lib/lockfile.js';
12
12
  import { formatOrgName } from '../lib/org.js';
13
13
  import { renderJson, useNonInteractive } from '../lib/output.js';
14
- import { verifyOwnConfigEntries, verifyOwnFiles } from '../lib/owned-paths.js';
14
+ import { unlistedFiles, verifyOwnConfigEntries, verifyOwnFiles } from '../lib/owned-paths.js';
15
15
  import { option } from '../lib/pastel/index.js';
16
- import { fetchRegistry, versionTools } from '../lib/registry.js';
16
+ import { fetchRegistry, versionHookConfig, versionTools } from '../lib/registry.js';
17
17
  import { fromRoot } from '../lib/root-path.js';
18
18
  import { loadScopeConfig, resolveScope, scopedCommand } from '../lib/scope.js';
19
19
  import { resolveTools } from '../lib/tool-resolver.js';
@@ -127,10 +127,13 @@ export default function Audit({ options: { json, projectRoot, tool, user } }) {
127
127
  continue;
128
128
  }
129
129
  // Another tool recorded config entries for this asset but this tool never did, or this
130
- // tool's are in a config file its adapter no longer uses: report the registration as
131
- // missing (`atk sync` registers it).
130
+ // tool's are in a config file its adapter no longer uses, or a hook whose locked version
131
+ // binds events has none: report the registration as missing (`atk sync` registers it).
132
132
  const placement = toolAdapter.placements[asset.type];
133
- if (placement?.configFile && placement.configKey && needsConfigRegistration(asset, toolAdapter)) {
133
+ const hookConfig = registry && asset.type === 'hook' ? versionHookConfig(registry, asset, asset.version) : null;
134
+ if (placement?.configFile &&
135
+ placement.configKey &&
136
+ (needsConfigRegistration(asset, toolAdapter) || lacksHookRegistration(asset, toolAdapter, hookConfig))) {
134
137
  configFailures.push({
135
138
  file: normalizeConfigPath(placement.configFile),
136
139
  key: placement.configKey,
@@ -170,7 +173,14 @@ export default function Audit({ options: { json, projectRoot, tool, user } }) {
170
173
  assetStatus = 'config-missing';
171
174
  }
172
175
  }
173
- entries.push({ asset, configFailures, failures, status: assetStatus });
176
+ const extraFiles = await unlistedFiles(asset, lockfile, placedAdapter, projectDir);
177
+ entries.push({
178
+ asset,
179
+ configFailures,
180
+ ...(extraFiles.length > 0 ? { extraFiles } : {}),
181
+ failures,
182
+ status: assetStatus,
183
+ });
174
184
  }
175
185
  entries.sort((a, b) => a.asset.type.localeCompare(b.asset.type) ||
176
186
  a.asset.name.localeCompare(b.asset.name) ||
@@ -214,10 +224,11 @@ export default function Audit({ options: { json, projectRoot, tool, user } }) {
214
224
  const configModifiedCount = entries.filter((e) => e.status === 'config-modified').length;
215
225
  const configMissingCount = entries.filter((e) => e.status === 'config-missing').length;
216
226
  const movedCount = entries.filter((e) => e.status === 'moved').length;
227
+ const extraCount = entries.reduce((count, e) => count + (e.extraFiles?.length ?? 0), 0);
217
228
  const allOk = !entries.some(isAuditFailure);
218
229
  return (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { bold: true, children: ["Integrity audit for ", _jsx(Text, { color: 'cyan', children: resolvedTool })] }), _jsx(Text, { children: " " }), entries.map((entry) => (_jsxs(Box, { flexDirection: 'column', children: [_jsxs(Text, { children: [_jsx(FileStatusIcon, { status: entry.status }), ' ', _jsx(Text, { bold: true, children: formatOrgName(entry.asset.org, entry.asset.name) }), _jsxs(Text, { dimColor: true, children: [' ', "(", entry.asset.type, ") v", entry.asset.version] }), entry.status === 'ok' && _jsx(Text, { color: 'green', children: " \u2014 intact" }), entry.status === 'frozen' && _jsx(Text, { color: 'cyan', children: " \u2014 frozen (content-locked)" }), entry.status === 'excluded' && (_jsxs(Text, { dimColor: true, children: [' ', "\u2014 excluded for ", resolvedTool, entry.stillOnDisk ? ' (files still on disk)' : ''] })), entry.status === 'modified' && _jsx(Text, { color: 'yellow', children: " \u2014 modified" }), entry.status === 'missing' && _jsx(Text, { color: 'red', children: " \u2014 files missing" }), entry.status === 'config-modified' && _jsx(Text, { color: 'magenta', children: " \u2014 config modified" }), entry.status === 'config-missing' && _jsx(Text, { color: 'red', children: " \u2014 config entries missing" }), entry.status === 'moved' && _jsx(Text, { color: 'yellow', children: " \u2014 config dir moved" })] }), entry.moved && (_jsxs(Text, { dimColor: true, children: [' ', "placed in ", entry.moved.from, "; ", resolvedTool, " now reads ", entry.moved.to] })), entry.failures.map((f) => (_jsxs(Text, { dimColor: true, children: [' ', f.actual.startsWith('FILE_NOT_FOUND') ? '✕ missing:' : '⚠ changed:', " ", f.path] }, f.path))), entry.configFailures.map((cf) => (_jsxs(Text, { dimColor: true, children: [' ', cf.reason === 'CONFIG_CHECKSUM_MISMATCH'
219
230
  ? `⚠ config changed: ${cf.file} → ${cf.key}`
220
- : `✕ config missing: ${cf.file} → ${cf.key}`] }, `${cf.file}:${cf.key}`)))] }, identityKey(entry.asset)))), _jsx(Text, { children: " " }), allOk ? (_jsxs(Text, { color: 'green', children: ["\u2713 All ", okCount + frozenCount, " asset", okCount + frozenCount !== 1 ? 's' : '', " passed integrity check.", frozenCount > 0 && _jsxs(Text, { color: 'cyan', children: [" (", frozenCount, " frozen)"] }), excludedCount > 0 && _jsxs(Text, { dimColor: true, children: [" (", excludedCount, " excluded for this tool)"] })] })) : (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Text, { children: [
231
+ : `✕ config missing: ${cf.file} → ${cf.key}`] }, `${cf.file}:${cf.key}`))), entry.extraFiles?.map((path) => (_jsxs(Text, { dimColor: true, children: [' ', "+ not from v", entry.asset.version, ": ", path] }, path)))] }, identityKey(entry.asset)))), _jsx(Text, { children: " " }), allOk ? (_jsxs(Text, { color: 'green', children: ["\u2713 All ", okCount + frozenCount, " asset", okCount + frozenCount !== 1 ? 's' : '', " passed integrity check.", frozenCount > 0 && _jsxs(Text, { color: 'cyan', children: [" (", frozenCount, " frozen)"] }), excludedCount > 0 && _jsxs(Text, { dimColor: true, children: [" (", excludedCount, " excluded for this tool)"] })] })) : (_jsxs(Box, { flexDirection: 'column', children: [_jsx(Text, { children: [
221
232
  okCount > 0 && (_jsxs(Text, { color: 'green', children: [okCount, " ok"] }, 'ok')),
222
233
  frozenCount > 0 && (_jsxs(Text, { color: 'cyan', children: [frozenCount, " frozen"] }, 'frozen')),
223
234
  excludedCount > 0 && (_jsxs(Text, { dimColor: true, children: [excludedCount, " excluded"] }, 'excluded')),
@@ -226,7 +237,7 @@ export default function Audit({ options: { json, projectRoot, tool, user } }) {
226
237
  missingCount > 0 && (_jsxs(Text, { color: 'red', children: [missingCount, " missing"] }, 'missing')),
227
238
  configMissingCount > 0 && (_jsxs(Text, { color: 'red', children: [configMissingCount, " config missing"] }, 'config-missing')),
228
239
  movedCount > 0 && (_jsxs(Text, { color: 'yellow', children: [movedCount, " moved"] }, 'moved')),
229
- ].filter(Boolean).flatMap((el, i) => (i > 0 ? [_jsx(Text, { children: ", " }, `sep-${i}`), el] : [el])) }), _jsxs(Text, { dimColor: true, children: ["Run ", _jsx(Text, { bold: true, children: scopedCommand('atk sync', scope) }), " to restore assets to their expected state."] }), modifiedCount > 0 && (_jsxs(Text, { dimColor: true, children: ["Sync keeps files you edited; ", _jsx(Text, { bold: true, children: scopedCommand('atk sync --force', scope) }), " overwrites them."] }))] })), index < toolResults.length - 1 && _jsx(Text, { children: " " })] }, resolvedTool));
240
+ ].filter(Boolean).flatMap((el, i) => (i > 0 ? [_jsx(Text, { children: ", " }, `sep-${i}`), el] : [el])) }), _jsxs(Text, { dimColor: true, children: ["Run ", _jsx(Text, { bold: true, children: scopedCommand('atk sync', scope) }), " to restore assets to their expected state."] }), modifiedCount > 0 && (_jsxs(Text, { dimColor: true, children: ["Sync keeps files you edited; ", _jsx(Text, { bold: true, children: scopedCommand('atk sync --force', scope) }), " overwrites them."] }))] })), extraCount > 0 && (_jsxs(Text, { dimColor: true, children: [extraCount, " file", extraCount !== 1 ? 's' : '', " in asset folders ", extraCount !== 1 ? 'were' : 'was', " not placed by ATK (+). An older version may have left ", extraCount !== 1 ? 'them' : 'it', ": delete what you don't need."] })), index < toolResults.length - 1 && _jsx(Text, { children: " " })] }, resolvedTool));
230
241
  }) }));
231
242
  }
232
243
  const FAILURE_STATUSES = new Set([
@@ -240,6 +251,7 @@ function buildJsonOutput(results, hasFailures) {
240
251
  const tools = results.map(({ entries, tool }) => ({
241
252
  entries: entries.map((entry) => ({
242
253
  configFailures: entry.configFailures,
254
+ ...(entry.extraFiles ? { extraFiles: entry.extraFiles } : {}),
243
255
  failures: entry.failures,
244
256
  ...(entry.moved ? { movedFrom: entry.moved.from, movedTo: entry.moved.to } : {}),
245
257
  name: entry.asset.name,
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"browse.d.ts","sourceRoot":"","sources":["../../src/commands/browse.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0CxB,eAAO,MAAM,WAAW,4CAA4C,CAAC;AASrE,eAAO,MAAM,OAAO;;;;;;;iBAsDlB,CAAC;AAEH,eAAO,MAAM,IAAI,gDAKf,CAAC;AAiBH,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,MAAM,CAAC,EAC7B,IAAI,EAAE,CAAC,SAAS,CAAC,EACjB,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAC1E,EAAE,KAAK,2CA0BP"}
1
+ {"version":3,"file":"browse.d.ts","sourceRoot":"","sources":["../../src/commands/browse.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgDxB,eAAO,MAAM,WAAW,4CAA4C,CAAC;AASrE,eAAO,MAAM,OAAO;;;;;;;iBAsDlB,CAAC;AAEH,eAAO,MAAM,IAAI,gDAKf,CAAC;AAiBH,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,MAAM,CAAC,EAC7B,IAAI,EAAE,CAAC,SAAS,CAAC,EACjB,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAC1E,EAAE,KAAK,2CA0BP"}
@@ -5,7 +5,7 @@ import { z } from 'zod';
5
5
  import BrowseList from '../components/BrowseList.js';
6
6
  import FilterBar from '../components/FilterBar.js';
7
7
  import HelpBar from '../components/HelpBar.js';
8
- import { ErrorView, Spinner } from '../components/index.js';
8
+ import { errorGuidanceRows, ErrorView, Spinner } from '../components/index.js';
9
9
  import InstallConfirmBar from '../components/InstallConfirmBar.js';
10
10
  import { TYPE_TAB_LABELS, TYPE_TABS, useBrowseInput, useBrowseState, } from '../hooks/useBrowseState.js';
11
11
  import { useCommand } from '../hooks/useCommand.js';
@@ -20,8 +20,10 @@ import { argument, option } from '../lib/pastel/index.js';
20
20
  import { fetchRegistry, filterVisibleAssets, filterVisibleBundles, findBundle } from '../lib/registry.js';
21
21
  import { resolveBundleInstallPlan, resolveInstallPlan } from '../lib/resolver.js';
22
22
  import { resolveScope, scopeLabel } from '../lib/scope.js';
23
- import { noToolsError, resolveTools } from '../lib/tool-resolver.js';
23
+ import { resolveTools } from '../lib/tool-resolver.js';
24
24
  import { buildAssetWebUrl, buildBundleWebUrl } from '../lib/web-app.js';
25
+ /** The tools before the load resolves them; an install can't start that early. */
26
+ const UNRESOLVED_TOOLS = { error: new Error('The tools have not resolved yet.') };
25
27
  const BROWSE_SORT_FIELD_LABELS = {
26
28
  name: 'Name',
27
29
  type: 'Type',
@@ -99,7 +101,7 @@ function BrowseInteractive({ cliOrg, filterArg, projectRoot, refresh, typeOpt, u
99
101
  const isInstalling = state.status === 'ready' && state.mode.kind === 'installing';
100
102
  const stateRef = useRef(state);
101
103
  stateRef.current = state;
102
- const resolvedToolsRef = useRef([]);
104
+ const resolvedToolsRef = useRef(UNRESOLVED_TOOLS);
103
105
  const scopeRef = useRef(undefined);
104
106
  const terminalWidth = stdout?.columns ?? 120;
105
107
  // Track viewport height
@@ -126,13 +128,12 @@ function BrowseInteractive({ cliOrg, filterArg, projectRoot, refresh, typeOpt, u
126
128
  scopeRef.current = resolved;
127
129
  let toolWarning;
128
130
  try {
129
- const tools = await resolveTools(undefined, projectDir);
130
- resolvedToolsRef.current = tools;
131
+ resolvedToolsRef.current = await resolveTools(undefined, projectDir);
131
132
  }
132
- catch (err) {
133
- // Fallback: no tools resolved — install will fail gracefully
134
- resolvedToolsRef.current = [];
135
- toolWarning = errorMessage(err);
133
+ catch (error) {
134
+ // No tools resolved: browsing still works, and an install fails with this error
135
+ resolvedToolsRef.current = { error };
136
+ toolWarning = errorMessage(error);
136
137
  }
137
138
  const registry = await fetchRegistry({ force: refresh, stale: true });
138
139
  const lockfile = await readLockfile(projectDir);
@@ -191,9 +192,10 @@ function BrowseInteractive({ cliOrg, filterArg, projectRoot, refresh, typeOpt, u
191
192
  }
192
193
  catch (err) {
193
194
  if (!cancelled) {
194
- const message = err instanceof LockfileLockedError ? LOCKFILE_LOCKED_MESSAGE : errorMessage(err);
195
195
  dispatch({
196
- message,
196
+ ...(err instanceof LockfileLockedError
197
+ ? { message: LOCKFILE_LOCKED_MESSAGE }
198
+ : { ...errorGuidance(err), message: errorMessage(err) }),
197
199
  success: false,
198
200
  type: 'INSTALL_COMPLETE',
199
201
  });
@@ -236,7 +238,9 @@ function BrowseInteractive({ cliOrg, filterArg, projectRoot, refresh, typeOpt, u
236
238
  : expandedItem?.kind === 'bundle'
237
239
  ? buildBundleWebUrl(expandedItem.data.name, expandedItem.data.org)
238
240
  : null;
239
- return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(FilterBar, { filterText: state.filterText, inputMode: inputMode, org: state.org, orgOnly: state.orgOnly, resultCount: state.filteredItems.length, sortIndicator: sortIndicator, terminalWidth: terminalWidth, totalCount: totalCount, typeFilter: state.typeFilter, typeTabLabels: TYPE_TAB_LABELS, typeTabs: TYPE_TABS }), state.toolWarning && (_jsxs(Text, { color: 'yellow', children: ['\u26A0', " Tool resolution failed: ", state.toolWarning, ". Install will not be available."] })), _jsx(BrowseList, { cursorIndex: state.cursorIndex, expandedIndex: state.expandedIndex, hasOrg: !!state.org, items: state.filteredItems, lockfile: state.lockfile, registryAssets: state.allAssets, scrollOffset: state.scrollOffset, terminalWidth: terminalWidth, typeFilter: state.typeFilter, viewportHeight: state.viewportHeight, webUrl: webUrl }), browsing ? (_jsx(HelpBar, { canInstall: canInstall, expanded: state.expandedIndex !== null, hasOrg: !!state.org, inputMode: inputMode })) : (_jsx(InstallConfirmBar, { mode: mode }))] }));
241
+ // A failed install's hint and command make the install bar taller: the list gives up those rows
242
+ const guidanceRows = mode.kind === 'install-result' && !mode.success ? errorGuidanceRows(mode) : 0;
243
+ return (_jsxs(Box, { flexDirection: 'column', children: [_jsx(FilterBar, { filterText: state.filterText, inputMode: inputMode, org: state.org, orgOnly: state.orgOnly, resultCount: state.filteredItems.length, sortIndicator: sortIndicator, terminalWidth: terminalWidth, totalCount: totalCount, typeFilter: state.typeFilter, typeTabLabels: TYPE_TAB_LABELS, typeTabs: TYPE_TABS }), state.toolWarning && (_jsxs(Text, { color: 'yellow', children: ['\u26A0', " Tool resolution failed: ", state.toolWarning, ". Install will not be available."] })), _jsx(BrowseList, { cursorIndex: state.cursorIndex, expandedIndex: state.expandedIndex, hasOrg: !!state.org, items: state.filteredItems, lockfile: state.lockfile, registryAssets: state.allAssets, scrollOffset: state.scrollOffset, terminalWidth: terminalWidth, typeFilter: state.typeFilter, viewportHeight: Math.max(1, state.viewportHeight - guidanceRows), webUrl: webUrl }), browsing ? (_jsx(HelpBar, { canInstall: canInstall, expanded: state.expandedIndex !== null, hasOrg: !!state.org, inputMode: inputMode })) : (_jsx(InstallConfirmBar, { mode: mode }))] }));
240
244
  }
241
245
  /**
242
246
  * JSON / non-TTY render branch.
@@ -320,8 +324,8 @@ function BrowseJson({ cliOrg, filterArg, projectRoot, refresh, typeOpt, user })
320
324
  */
321
325
  async function executeInstallFromBrowse({ assetName, assetOrg, dispatch, isCancelled, itemKind, registry, resolved, tools, }) {
322
326
  const { root: projectDir, scope } = resolved;
323
- if (tools.length === 0) {
324
- throw await noToolsError(projectDir);
327
+ if ('error' in tools) {
328
+ throw tools.error;
325
329
  }
326
330
  await withLockfileLock(projectDir, async () => {
327
331
  // Resolve install plan: bundles use resolveBundleInstallPlan, assets use resolveInstallPlan.