@canonical/pragma-cli 0.35.0 → 0.37.0

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 (295) hide show
  1. package/README.md +2 -2
  2. package/bundled-skills/add-standard/SKILL.md +338 -0
  3. package/bundled-skills/adoption-a1-styles/SKILL.md +269 -0
  4. package/bundled-skills/adoption-a2-components/SKILL.md +291 -0
  5. package/bundled-skills/adoption-a3-forms/SKILL.md +260 -0
  6. package/bundled-skills/anatomy-author/ANATOMY_DSL_SPEC.md +406 -0
  7. package/bundled-skills/anatomy-author/SKILL.md +1226 -0
  8. package/bundled-skills/design-auditor/SKILL.md +455 -0
  9. package/bundled-skills/implement-component/SKILL.md +333 -0
  10. package/bundled-skills/specify-component/SKILL.md +331 -0
  11. package/bundled-skills/specify-pattern/SKILL.md +292 -0
  12. package/dist/package.json +24 -20
  13. package/dist/pragma.conf.js +266 -34
  14. package/dist/pragma.conf.js.map +1 -1
  15. package/dist/src/bin.js +1 -1
  16. package/dist/src/bin.js.map +1 -1
  17. package/dist/src/capabilities/capabilities/hints.js +1 -1
  18. package/dist/src/capabilities/capabilities/hints.js.map +1 -1
  19. package/dist/src/capabilities/colophon/colophon.render.js +1 -1
  20. package/dist/src/capabilities/colophon/colophon.render.js.map +1 -1
  21. package/dist/src/capabilities/create/create.verb.js +2 -1
  22. package/dist/src/capabilities/create/create.verb.js.map +1 -1
  23. package/dist/src/capabilities/create/createSurface.generated.js +23 -1
  24. package/dist/src/capabilities/create/createSurface.generated.js.map +1 -1
  25. package/dist/src/capabilities/create/mount.js +4 -3
  26. package/dist/src/capabilities/create/mount.js.map +1 -1
  27. package/dist/src/capabilities/doctor/checks/checkNodeVersion.js +11 -6
  28. package/dist/src/capabilities/doctor/checks/checkNodeVersion.js.map +1 -1
  29. package/dist/src/capabilities/doctor/checks/checkPackageRefs.js +60 -4
  30. package/dist/src/capabilities/doctor/checks/checkPackageRefs.js.map +1 -1
  31. package/dist/src/capabilities/doctor/checks/checkShellCompletions.js +8 -8
  32. package/dist/src/capabilities/doctor/checks/checkShellCompletions.js.map +1 -1
  33. package/dist/src/capabilities/doctor/checks/harnessInventory.js +195 -0
  34. package/dist/src/capabilities/doctor/checks/harnessInventory.js.map +1 -0
  35. package/dist/src/capabilities/doctor/checks/index.js +6 -6
  36. package/dist/src/capabilities/doctor/checks/isSupportedNodeVersion.js +38 -0
  37. package/dist/src/capabilities/doctor/checks/isSupportedNodeVersion.js.map +1 -0
  38. package/dist/src/capabilities/doctor/checks/targetHealth.js +194 -50
  39. package/dist/src/capabilities/doctor/checks/targetHealth.js.map +1 -1
  40. package/dist/src/capabilities/doctor/doctor.render.js +43 -64
  41. package/dist/src/capabilities/doctor/doctor.render.js.map +1 -1
  42. package/dist/src/capabilities/doctor/doctor.verb.js +6 -2
  43. package/dist/src/capabilities/doctor/doctor.verb.js.map +1 -1
  44. package/dist/src/capabilities/doctor/runChecks.js +14 -11
  45. package/dist/src/capabilities/doctor/runChecks.js.map +1 -1
  46. package/dist/src/capabilities/graph/query.render.js +2 -2
  47. package/dist/src/capabilities/graph/query.render.js.map +1 -1
  48. package/dist/src/capabilities/info/collectInfo.js +8 -2
  49. package/dist/src/capabilities/info/collectInfo.js.map +1 -1
  50. package/dist/src/capabilities/info/info.render.js +6 -2
  51. package/dist/src/capabilities/info/info.render.js.map +1 -1
  52. package/dist/src/capabilities/prompt/prompt.render.js +2 -2
  53. package/dist/src/capabilities/prompt/prompt.render.js.map +1 -1
  54. package/dist/src/capabilities/setup/buildPlan.js +43 -39
  55. package/dist/src/capabilities/setup/buildPlan.js.map +1 -1
  56. package/dist/src/capabilities/setup/mode.js +2 -2
  57. package/dist/src/capabilities/setup/operations/index.js +4 -4
  58. package/dist/src/capabilities/setup/operations/index.js.map +1 -1
  59. package/dist/src/capabilities/setup/operations/setupCompletions.js +6 -2
  60. package/dist/src/capabilities/setup/operations/setupCompletions.js.map +1 -1
  61. package/dist/src/capabilities/setup/operations/setupConfig.js +4 -2
  62. package/dist/src/capabilities/setup/operations/setupConfig.js.map +1 -1
  63. package/dist/src/capabilities/setup/operations/setupGenerator.js +156 -58
  64. package/dist/src/capabilities/setup/operations/setupGenerator.js.map +1 -1
  65. package/dist/src/capabilities/setup/operations/setupLsp.js +136 -38
  66. package/dist/src/capabilities/setup/operations/setupLsp.js.map +1 -1
  67. package/dist/src/capabilities/setup/operations/setupMcp.js +101 -52
  68. package/dist/src/capabilities/setup/operations/setupMcp.js.map +1 -1
  69. package/dist/src/capabilities/setup/operations/setupSkills.js +329 -49
  70. package/dist/src/capabilities/setup/operations/setupSkills.js.map +1 -1
  71. package/dist/src/capabilities/setup/plan.js.map +1 -1
  72. package/dist/src/capabilities/setup/plan.render.js +144 -66
  73. package/dist/src/capabilities/setup/plan.render.js.map +1 -1
  74. package/dist/src/capabilities/setup/setup.render.js +1 -1
  75. package/dist/src/capabilities/setup/setup.verb.js +165 -63
  76. package/dist/src/capabilities/setup/setup.verb.js.map +1 -1
  77. package/dist/src/capabilities/setup/targets.js +122 -51
  78. package/dist/src/capabilities/setup/targets.js.map +1 -1
  79. package/dist/src/capabilities/shared/index.js +7 -6
  80. package/dist/src/capabilities/shared/index.js.map +1 -1
  81. package/dist/src/capabilities/shared/packageManager.js +300 -54
  82. package/dist/src/capabilities/shared/packageManager.js.map +1 -1
  83. package/dist/src/capabilities/skill/discover.js +97 -11
  84. package/dist/src/capabilities/skill/discover.js.map +1 -1
  85. package/dist/src/capabilities/skill/render.js +2 -2
  86. package/dist/src/capabilities/skill/render.js.map +1 -1
  87. package/dist/src/capabilities/sources/installSkills.js +145 -3
  88. package/dist/src/capabilities/sources/installSkills.js.map +1 -1
  89. package/dist/src/capabilities/sources/runUpdate.js +68 -2
  90. package/dist/src/capabilities/sources/runUpdate.js.map +1 -1
  91. package/dist/src/capabilities/sources/update.verb.js +3 -3
  92. package/dist/src/capabilities/sources/update.verb.js.map +1 -1
  93. package/dist/src/capabilities/upgrade/runUpgrade.js +43 -7
  94. package/dist/src/capabilities/upgrade/runUpgrade.js.map +1 -1
  95. package/dist/src/capabilities/upgrade/upgrade.render.js +10 -2
  96. package/dist/src/capabilities/upgrade/upgrade.render.js.map +1 -1
  97. package/dist/src/constants.js +13 -2
  98. package/dist/src/constants.js.map +1 -1
  99. package/dist/src/kernel/index.js +11 -2
  100. package/dist/src/kernel/index.js.map +1 -1
  101. package/dist/src/kernel/interactivity.js +68 -0
  102. package/dist/src/kernel/interactivity.js.map +1 -0
  103. package/dist/src/kernel/packs/renderPack.js +3 -3
  104. package/dist/src/kernel/packs/renderPack.js.map +1 -1
  105. package/dist/src/kernel/packs/resolveEntity.js +63 -12
  106. package/dist/src/kernel/packs/resolveEntity.js.map +1 -1
  107. package/dist/src/kernel/packs/runBodies.js +57 -4
  108. package/dist/src/kernel/packs/runBodies.js.map +1 -1
  109. package/dist/src/kernel/packs/schema.js +54 -2
  110. package/dist/src/kernel/packs/schema.js.map +1 -1
  111. package/dist/src/kernel/packs/sparql/applyFilters.js +104 -5
  112. package/dist/src/kernel/packs/sparql/applyFilters.js.map +1 -1
  113. package/dist/src/kernel/packs/sparql/buildLookupQuery.js +310 -43
  114. package/dist/src/kernel/packs/sparql/buildLookupQuery.js.map +1 -1
  115. package/dist/src/kernel/packs/types.js.map +1 -1
  116. package/dist/src/kernel/project/cli/buildProgram.js +1 -1
  117. package/dist/src/kernel/project/cli/buildProgram.js.map +1 -1
  118. package/dist/src/kernel/project/cli/dispatch.js +46 -24
  119. package/dist/src/kernel/project/cli/dispatch.js.map +1 -1
  120. package/dist/src/kernel/project/cli/globalFlags.js +4 -1
  121. package/dist/src/kernel/project/cli/globalFlags.js.map +1 -1
  122. package/dist/src/kernel/project/cli/helpFormat.js +1 -2
  123. package/dist/src/kernel/project/cli/helpFormat.js.map +1 -1
  124. package/dist/src/kernel/project/cli/rootHelp.js +42 -9
  125. package/dist/src/kernel/project/cli/rootHelp.js.map +1 -1
  126. package/dist/src/kernel/project/mcp/registerVerb.js +16 -1
  127. package/dist/src/kernel/project/mcp/registerVerb.js.map +1 -1
  128. package/dist/src/kernel/render/renderers.js +1 -1
  129. package/dist/src/kernel/render/style.js +29 -9
  130. package/dist/src/kernel/render/style.js.map +1 -1
  131. package/dist/src/kernel/render/vocabulary.js +174 -0
  132. package/dist/src/kernel/render/vocabulary.js.map +1 -0
  133. package/dist/src/kernel/runtime/graphpack/embedded/pack.generated.js +2 -3
  134. package/dist/src/kernel/runtime/graphpack/embedded/pack.generated.js.map +1 -1
  135. package/dist/src/kernel/runtime/graphpack/embedded/pack.index.generated.js +1 -1
  136. package/dist/src/kernel/runtime/graphpack/embedded/pack.index.generated.js.map +1 -1
  137. package/dist/src/kernel/runtime/graphpack/embedded/pack.manifest.generated.js +4 -0
  138. package/dist/src/kernel/runtime/graphpack/embedded/pack.manifest.generated.js.map +1 -0
  139. package/dist/src/kernel/runtime/graphpack/embedded.js +13 -6
  140. package/dist/src/kernel/runtime/graphpack/embedded.js.map +1 -1
  141. package/dist/src/kernel/runtime/graphpack/read.js +14 -9
  142. package/dist/src/kernel/runtime/graphpack/read.js.map +1 -1
  143. package/dist/src/kernel/runtime/loadSession.js +3 -1
  144. package/dist/src/kernel/runtime/loadSession.js.map +1 -1
  145. package/dist/src/kernel/runtime/probe.js +1 -1
  146. package/dist/src/kernel/runtime/probe.js.map +1 -1
  147. package/dist/src/kernel/runtime/refs/parseRef.js +17 -1
  148. package/dist/src/kernel/runtime/refs/parseRef.js.map +1 -1
  149. package/dist/src/kernel/runtime/refs/resolve.js +9 -3
  150. package/dist/src/kernel/runtime/refs/resolve.js.map +1 -1
  151. package/dist/src/kernel/spec/emitReference.js +1 -1
  152. package/dist/src/kernel/spec/emitReference.js.map +1 -1
  153. package/package.json +24 -20
  154. package/pragma.conf.ts +272 -34
  155. package/src/bin.ts +8 -1
  156. package/src/capabilities/block.parity.test.ts +25 -11
  157. package/src/capabilities/block.shipped.exec.test.ts +282 -0
  158. package/src/capabilities/block.tierRank.exec.test.ts +300 -0
  159. package/src/capabilities/capabilities/hints.ts +1 -1
  160. package/src/capabilities/colophon/colophon.render.ts +1 -2
  161. package/src/capabilities/colophon/colophon.test.ts +2 -2
  162. package/src/capabilities/config/collectConfigShow.test.ts +1 -0
  163. package/src/capabilities/create/byteEquality.test.ts +28 -1
  164. package/src/capabilities/create/create.test.ts +1 -0
  165. package/src/capabilities/create/create.verb.ts +2 -1
  166. package/src/capabilities/create/createGrammar.test.ts +5 -2
  167. package/src/capabilities/create/createSurface.generated.ts +23 -1
  168. package/src/capabilities/create/crossCli.subprocess.test.ts +10 -3
  169. package/src/capabilities/create/mount.ts +3 -3
  170. package/src/capabilities/distribution.parity.test.ts +4 -0
  171. package/src/capabilities/doctor/checks/checkNodeVersion.test.ts +49 -0
  172. package/src/capabilities/doctor/checks/checkNodeVersion.ts +11 -7
  173. package/src/capabilities/doctor/checks/checkPackageRefs.ts +69 -4
  174. package/src/capabilities/doctor/checks/checkShellCompletions.test.ts +6 -4
  175. package/src/capabilities/doctor/checks/checkShellCompletions.ts +8 -8
  176. package/src/capabilities/doctor/checks/harnessInventory.test.ts +219 -0
  177. package/src/capabilities/doctor/checks/harnessInventory.ts +298 -0
  178. package/src/capabilities/doctor/checks/index.ts +6 -6
  179. package/src/capabilities/doctor/checks/isSupportedNodeVersion.test.ts +111 -0
  180. package/src/capabilities/doctor/checks/isSupportedNodeVersion.ts +34 -0
  181. package/src/capabilities/doctor/checks/mcpCommand.test.ts +7 -1
  182. package/src/capabilities/doctor/checks/targetHealth.ts +229 -59
  183. package/src/capabilities/doctor/doctor.render.test.ts +108 -32
  184. package/src/capabilities/doctor/doctor.render.ts +56 -80
  185. package/src/capabilities/doctor/doctor.test.ts +247 -35
  186. package/src/capabilities/doctor/doctor.verb.ts +7 -2
  187. package/src/capabilities/doctor/runChecks.ts +14 -11
  188. package/src/capabilities/doctor/types.ts +15 -24
  189. package/src/capabilities/emptyRecovery.test.ts +10 -2
  190. package/src/capabilities/graph/query.render.ts +2 -2
  191. package/src/capabilities/info/collectInfo.ts +8 -1
  192. package/src/capabilities/info/info.render.ts +6 -2
  193. package/src/capabilities/info/info.test.ts +37 -1
  194. package/src/capabilities/info/types.ts +10 -2
  195. package/src/capabilities/lazy.test.ts +26 -2
  196. package/src/capabilities/listLookup.shipped.exec.test.ts +340 -0
  197. package/src/capabilities/prompt/prompt.render.ts +2 -2
  198. package/src/capabilities/renderVocabularySync.test.ts +82 -0
  199. package/src/capabilities/resources/resources.test.ts +38 -2
  200. package/src/capabilities/scopeTypeSync.test.ts +29 -15
  201. package/src/capabilities/setup/buildPlan.ts +45 -41
  202. package/src/capabilities/setup/index.ts +1 -1
  203. package/src/capabilities/setup/mode.ts +2 -2
  204. package/src/capabilities/setup/operations/index.ts +6 -1
  205. package/src/capabilities/setup/operations/setupCompletions.ts +9 -2
  206. package/src/capabilities/setup/operations/setupConfig.ts +7 -2
  207. package/src/capabilities/setup/operations/setupGenerator.ts +227 -84
  208. package/src/capabilities/setup/operations/setupLsp.ts +203 -38
  209. package/src/capabilities/setup/operations/setupMcp.ts +139 -62
  210. package/src/capabilities/setup/operations/setupSkills.ts +399 -60
  211. package/src/capabilities/setup/plan.render.ts +171 -76
  212. package/src/capabilities/setup/plan.ts +17 -12
  213. package/src/capabilities/setup/setup.mcp.correctness.test.ts +9 -9
  214. package/src/capabilities/setup/setup.render.test.ts +50 -36
  215. package/src/capabilities/setup/setup.render.ts +1 -1
  216. package/src/capabilities/setup/setup.test.ts +1126 -50
  217. package/src/capabilities/setup/setup.verb.ts +174 -68
  218. package/src/capabilities/setup/targets.ts +138 -60
  219. package/src/capabilities/setup/types.ts +10 -18
  220. package/src/capabilities/shared/index.ts +18 -6
  221. package/src/capabilities/shared/packageManager.test.ts +421 -6
  222. package/src/capabilities/shared/packageManager.ts +394 -59
  223. package/src/capabilities/skill/bundledSkills.test.ts +347 -0
  224. package/src/capabilities/skill/discover.ts +100 -11
  225. package/src/capabilities/skill/render.ts +2 -2
  226. package/src/capabilities/skill/skill.test.ts +17 -4
  227. package/src/capabilities/sources/installSkills.ts +181 -3
  228. package/src/capabilities/sources/runUpdate.ts +78 -2
  229. package/src/capabilities/sources/sources.test.ts +228 -0
  230. package/src/capabilities/sources/update.verb.ts +3 -3
  231. package/src/capabilities/surface.test.ts +14 -6
  232. package/src/capabilities/upgrade/runUpgrade.ts +45 -6
  233. package/src/capabilities/upgrade/types.ts +10 -2
  234. package/src/capabilities/upgrade/upgrade.render.ts +9 -2
  235. package/src/capabilities/upgrade/upgrade.test.ts +72 -0
  236. package/src/constants.ts +14 -1
  237. package/src/identity.test.ts +18 -5
  238. package/src/kernel/completion/entitySource.test.ts +15 -2
  239. package/src/kernel/completion/safety.test.ts +16 -9
  240. package/src/kernel/config/defaults.test.ts +19 -3
  241. package/src/kernel/config/readConfig.test.ts +1 -1
  242. package/src/kernel/index.ts +11 -2
  243. package/src/kernel/interactivity.test.ts +76 -0
  244. package/src/kernel/interactivity.ts +69 -0
  245. package/src/kernel/packs/compile.test.ts +92 -0
  246. package/src/kernel/packs/renderPack.ts +3 -3
  247. package/src/kernel/packs/resolveEntity.test.ts +75 -14
  248. package/src/kernel/packs/resolveEntity.ts +88 -24
  249. package/src/kernel/packs/runBodies.ts +84 -19
  250. package/src/kernel/packs/schema.ts +60 -4
  251. package/src/kernel/packs/sparql/applyFilters.ts +125 -4
  252. package/src/kernel/packs/sparql/buildLookupQuery.test.ts +290 -0
  253. package/src/kernel/packs/sparql/buildLookupQuery.ts +327 -45
  254. package/src/kernel/packs/toolDescription.test.ts +35 -1
  255. package/src/kernel/packs/types.ts +125 -2
  256. package/src/kernel/project/cli/buildProgram.test.ts +73 -2
  257. package/src/kernel/project/cli/buildProgram.ts +8 -1
  258. package/src/kernel/project/cli/dispatch.test.ts +5 -4
  259. package/src/kernel/project/cli/dispatch.ts +48 -25
  260. package/src/kernel/project/cli/globalFlags.ts +4 -1
  261. package/src/kernel/project/cli/helpFormat.ts +1 -2
  262. package/src/kernel/project/cli/rootHelp.ts +44 -8
  263. package/src/kernel/project/mcp/registerVerb.ts +20 -1
  264. package/src/kernel/render/prefixes.test.ts +2 -0
  265. package/src/kernel/render/renderers.ts +1 -1
  266. package/src/kernel/render/style.ts +32 -9
  267. package/src/kernel/render/vocabulary.ts +276 -0
  268. package/src/kernel/runtime/graphpack/embedded/pack.generated.ts +2 -3
  269. package/src/kernel/runtime/graphpack/embedded/pack.index.generated.ts +1 -1
  270. package/src/kernel/runtime/graphpack/embedded/pack.manifest.generated.ts +3 -0
  271. package/src/kernel/runtime/graphpack/embedded.ts +14 -6
  272. package/src/kernel/runtime/graphpack/graphpack.test.ts +31 -5
  273. package/src/kernel/runtime/graphpack/read.ts +14 -12
  274. package/src/kernel/runtime/loadSession.ts +3 -1
  275. package/src/kernel/runtime/probe.ts +1 -1
  276. package/src/kernel/runtime/refs/parseRef.test.ts +49 -1
  277. package/src/kernel/runtime/refs/parseRef.ts +25 -1
  278. package/src/kernel/runtime/refs/resolve.ts +9 -3
  279. package/src/kernel/runtime/types.ts +17 -0
  280. package/src/kernel/spec/emitReference.ts +1 -1
  281. package/src/kernel/spec/types.ts +35 -6
  282. package/src/testing/PARITY_GAPS.ts +9 -3
  283. package/src/testing/behavioral/docExamples.test.ts +4 -2
  284. package/src/testing/behavioral/errorMatrix.mcp.test.ts +110 -7
  285. package/src/testing/behavioral/journeys.firstInstall.test.ts +7 -2
  286. package/src/testing/behavioral/journeys.packageStories.test.ts +6 -3
  287. package/src/testing/eval/__snapshots__/eval.test.ts.snap +26 -1
  288. package/src/testing/eval/cases/readNouns.ts +245 -9
  289. package/src/testing/fixtures/blockGraph.ts +28 -13
  290. package/src/testing/fixtures/graph/canonical.ts +95 -12
  291. package/src/testing/helpers/runCli.test.ts +44 -0
  292. package/src/testing/helpers/runCli.ts +27 -3
  293. package/dist/src/capabilities/shared/bands.js +0 -16
  294. package/dist/src/capabilities/shared/bands.js.map +0 -1
  295. package/src/capabilities/shared/bands.ts +0 -16
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * THE target table — the one list `setup` and `doctor` both read.
3
3
  *
4
- * Five rows, each with a band column. This table drives the `setup <target>`
4
+ * Five rows, each with a scope column. This table drives the `setup <target>`
5
5
  * sub-verbs, the wizard's choices, the `--dry-run` plan, the progress lines, the
6
6
  * recap, the doctor rows, and each doctor row's `fix:` line. Adding a sixth
7
7
  * target is one row here — not a new sub-verb, a new check, a new recap branch
8
8
  * and a new fix string that four separate files have to agree about.
9
9
  *
10
10
  * A row owns: its identity (`id` is BOTH the sub-verb argument and the doctor
11
- * row name, so `mcp` and `setup mcp` visibly share a token), which bands it can
11
+ * row name, so `mcp` and `setup mcp` visibly share a token), which scopes it can
12
12
  * be installed into, how to DETECT its current state, how to PLAN a run from
13
13
  * that detection, and how to COMPOSE the forward and removal effects. Detection
14
14
  * runs once per invocation and feeds every reader, so setup and doctor cannot
@@ -23,12 +23,13 @@
23
23
  * This module is reached only through the verb's lazy dynamic import (and
24
24
  * doctor's), so nothing here lands on the `--help`/`__complete` fast path.
25
25
  */
26
+ import { dirname } from "node:path";
26
27
  import { BIN_NAME } from "../../constants.js";
27
28
  import { composeCompletions, composeCompletionsRemoval, detectCompletions, } from "./operations/setupCompletions.js";
28
29
  import { composeConfigFile, composeConfigRemoval, detectConfigFile, } from "./operations/setupConfig.js";
29
- import { composeLsp, composeLspRemoval, detectLsp, LSP_SKIP_REMEDY, lspEditorNames, lspSkipReason, lspUninstallRemedy, } from "./operations/setupLsp.js";
30
+ import { composeLsp, composeLspRemoval, detectLsp, LSP_SKIP_REMEDY, lspEditorNames, lspSkipReason, ownedLspEditors, } from "./operations/setupLsp.js";
30
31
  import { composeMcp, composeMcpRemoval, detectMcp, mcpGroupState, ownedMcpGroups, selectedGroups, } from "./operations/setupMcp.js";
31
- import { composeSkills, composeSkillsRemoval, detectSkills, ownedSkillLinks, skillsSkipReason, } from "./operations/setupSkills.js";
32
+ import { composeSkills, composeSkillsRemoval, detectSkills, ownedSkillLinks, skillsSkipReason, skillsSkipRemedy, staleSkillLinks, } from "./operations/setupSkills.js";
32
33
  import { shortenPath, } from "./plan.js";
33
34
  /** Erase a row's detection type so the five rows can share one array. */
34
35
  const defineTarget = (target) => target;
@@ -38,15 +39,15 @@ const defineTarget = (target) => target;
38
39
  const configTarget = defineTarget({
39
40
  id: "config",
40
41
  title: "Global configuration",
41
- bands: ["global"],
42
+ scopes: ["global"],
42
43
  detect: () => detectConfigFile(),
43
- plan: (d, _band, roots) => {
44
+ plan: (d, _scope, roots) => {
44
45
  const path = shortenPath(d.path, roots);
45
46
  if (!d.exists)
46
47
  return { action: "install", detail: path };
47
48
  return { action: "none", detail: `${path} — present` };
48
49
  },
49
- removalPlan: (d, _band, roots) => {
50
+ removalPlan: (d, _scope, roots) => {
50
51
  const path = shortenPath(d.path, roots);
51
52
  if (!d.exists)
52
53
  return { action: "none", detail: `${path} — absent` };
@@ -54,20 +55,20 @@ const configTarget = defineTarget({
54
55
  return {
55
56
  action: "skip",
56
57
  detail: path,
57
- reason: "kept — it holds your settings",
58
+ reason: `it holds your own settings, so ${path} stays`,
58
59
  };
59
60
  }
60
61
  return { action: "remove", detail: path };
61
62
  },
62
63
  compose: (d) => composeConfigFile(d),
63
- composeRemoval: (d) => composeConfigRemoval(d),
64
+ composeRemoval: (d, undoKey) => composeConfigRemoval(d, undoKey),
64
65
  });
65
66
  const completionsTarget = defineTarget({
66
67
  id: "completions",
67
68
  title: "Shell completions",
68
- bands: ["global"],
69
+ scopes: ["global"],
69
70
  detect: (rt) => detectCompletions(rt.cwd),
70
- plan: (d, _band, roots) => {
71
+ plan: (d, _scope, roots) => {
71
72
  // Never guess a shell. Installing for the wrong one is invisible until the
72
73
  // user presses TAB and nothing happens, so an unresolved shell is a named
73
74
  // skip whose remedy is the one action that DOES settle it.
@@ -98,26 +99,30 @@ const completionsTarget = defineTarget({
98
99
  };
99
100
  }
100
101
  const where = `${d.shell} → ${shortenPath(d.path, roots)}`;
101
- if (d.state === "installed")
102
- return { action: "none", detail: where };
102
+ // A no-op row says what it FOUND, not just where it looked: `no change`
103
+ // beside a bare path leaves the reader to guess whether the script is
104
+ // there and current or missing and unreachable.
105
+ if (d.state === "installed") {
106
+ return { action: "none", detail: `${where} — already up to date` };
107
+ }
103
108
  return {
104
109
  action: d.state === "stale" ? "update" : "install",
105
110
  detail: where,
106
111
  };
107
112
  },
108
- removalPlan: (d, _band, roots) => {
113
+ removalPlan: (d, _scope, roots) => {
109
114
  if (d.path === null || d.state === "absent") {
110
115
  return { action: "none", detail: "no script installed" };
111
116
  }
112
117
  return { action: "remove", detail: shortenPath(d.path, roots) };
113
118
  },
114
119
  compose: (d) => composeCompletions(d),
115
- composeRemoval: (d) => composeCompletionsRemoval(d),
120
+ composeRemoval: (d, undoKey) => composeCompletionsRemoval(d, undoKey),
116
121
  });
117
122
  const lspTarget = defineTarget({
118
123
  id: "lsp",
119
124
  title: "Terrazzo LSP extension",
120
- bands: ["global"],
125
+ scopes: ["global"],
121
126
  detect: (rt) => detectLsp(rt.cwd),
122
127
  plan: (d) => {
123
128
  if (d.state === "unknown") {
@@ -136,37 +141,76 @@ const lspTarget = defineTarget({
136
141
  label: `${e.editor.cli} — ${e.editor.name}`,
137
142
  action: e.installed ? "unchanged" : "add",
138
143
  }));
144
+ // The detail names WHAT is being placed and WHERE — never the row's own
145
+ // state, which the action column already carries. `installed (VSCodium)`
146
+ // beside a child row reading `codium — VSCodium (unchanged)` said the
147
+ // editor's name twice and "nothing happens here" twice.
139
148
  if (d.state === "installed") {
140
149
  return {
141
150
  action: "none",
142
- detail: `installed (${lspEditorNames(d).join(", ")})`,
151
+ detail: `Terrazzo extension in ${lspEditorNames(d).join(", ")}`,
143
152
  children,
144
153
  };
145
154
  }
146
155
  const pending = d.editors.filter((e) => !e.installed);
147
156
  return {
148
157
  action: "install",
149
- detail: `${pending.length} ${pending.length === 1 ? "editor" : "editors"}`,
158
+ detail: `Terrazzo extension → ${pending
159
+ .map((e) => e.editor.name)
160
+ .join(", ")}`,
150
161
  children,
151
162
  };
152
163
  },
153
- removalPlan: (d) => ({
154
- action: "skip",
155
- detail: "not removed",
156
- reason: "an extension install cannot be reversed from here",
157
- remedy: lspUninstallRemedy(d) ??
158
- "no editor CLI is on PATH — uninstall it from your editor",
159
- }),
164
+ removalPlan: (d) => {
165
+ // No editor CLI on PATH is the SAME named skip the forward plan reports:
166
+ // there is nothing on this machine to run an uninstall with.
167
+ if (d.state === "unknown") {
168
+ return {
169
+ action: "skip",
170
+ detail: lspSkipReason(d),
171
+ reason: lspSkipReason(d),
172
+ remedy: LSP_SKIP_REMEDY,
173
+ };
174
+ }
175
+ // Removal is composed from what detection says we OWN — a copy that is
176
+ // present, whatever its version. The forward plan's version gate would let
177
+ // a dead pre-0.8.3 copy this command installed survive its own `--undo`.
178
+ const owned = ownedLspEditors(d);
179
+ if (owned.length === 0) {
180
+ return { action: "none", detail: "no editor carries the extension" };
181
+ }
182
+ return {
183
+ action: "remove",
184
+ detail: `Terrazzo extension from ${owned
185
+ .map((e) => e.editor.name)
186
+ .join(", ")}`,
187
+ children: owned.map((e) => ({
188
+ key: e.editor.cli,
189
+ label: `${e.editor.cli} — ${e.editor.name}`,
190
+ action: "update",
191
+ })),
192
+ };
193
+ },
160
194
  compose: (d, chosen) => composeLsp(d, chosen),
161
- composeRemoval: (d) => composeLspRemoval(d),
195
+ composeRemoval: (d, undoKey) => composeLspRemoval(d, undoKey),
162
196
  });
197
+ /**
198
+ * Why the `mcp` row has nothing to write in a scope — authored once, because
199
+ * `setup`'s row and `doctor`'s row are the same finding and must not word it
200
+ * differently. Neither sentence says "scope": the two scopes are `global` and
201
+ * `local project`, after the `--global` / `--local` flags that select them.
202
+ */
203
+ export const MCP_NO_LOCATION = {
204
+ global: "no AI harness on this machine keeps a global config",
205
+ project: "no AI harness in this project keeps a per-project config",
206
+ };
163
207
  /** One MCP file as a plan child: its path, the harnesses sharing it, its state. */
164
208
  const mcpChild = (d, group, roots) => {
165
209
  const state = mcpGroupState(d, group.path);
166
210
  return {
167
211
  key: group.path,
168
212
  label: shortenPath(group.path, roots),
169
- action: state === "configured"
213
+ action: state === "registered"
170
214
  ? "unchanged"
171
215
  : state === "drifted"
172
216
  ? "update"
@@ -176,34 +220,32 @@ const mcpChild = (d, group, roots) => {
176
220
  const mcpTarget = defineTarget({
177
221
  id: "mcp",
178
222
  title: "MCP server registration",
179
- bands: ["global", "project"],
180
- detect: (rt, band) => detectMcp(rt, band),
181
- plan: (d, band, roots) => {
223
+ scopes: ["global", "project"],
224
+ detect: (rt, scope) => detectMcp(rt, scope),
225
+ plan: (d, scope, roots) => {
182
226
  if (d.groups.length === 0) {
183
227
  return {
184
228
  action: "skip",
185
- detail: "no harness config location in this band",
186
- reason: band === "project"
187
- ? "no AI harness in this project writes a per-repository config"
188
- : "no detected AI harness declares a user-level config location",
229
+ detail: MCP_NO_LOCATION[scope],
230
+ reason: MCP_NO_LOCATION[scope],
189
231
  };
190
232
  }
191
233
  const children = d.groups.map((group) => mcpChild(d, group, roots));
192
234
  const pending = children.filter((c) => c.action !== "unchanged");
193
235
  return {
194
236
  action: pending.length === 0 ? "none" : "update",
195
- detail: `${d.groups.length} ${d.groups.length === 1 ? "file" : "files"}`,
237
+ detail: `${d.groups.length} ${d.groups.length === 1 ? "config file" : "config files"}`,
196
238
  children,
197
239
  };
198
240
  },
199
- removalPlan: (d, _band, roots) => {
241
+ removalPlan: (d, _scope, roots) => {
200
242
  const owned = ownedMcpGroups(d);
201
243
  if (owned.length === 0) {
202
244
  return { action: "none", detail: "no entry to remove" };
203
245
  }
204
246
  return {
205
247
  action: "remove",
206
- detail: `${owned.length} ${owned.length === 1 ? "file" : "files"}`,
248
+ detail: `${owned.length} ${owned.length === 1 ? "config file" : "config files"}`,
207
249
  children: owned.map((group) => ({
208
250
  key: group.path,
209
251
  label: shortenPath(group.path, roots),
@@ -212,29 +254,58 @@ const mcpTarget = defineTarget({
212
254
  };
213
255
  },
214
256
  compose: (d, chosen) => composeMcp(d, chosen ? selectedGroups(d, chosen) : d.groups),
215
- composeRemoval: (d) => composeMcpRemoval(d),
257
+ composeRemoval: (d, undoKey) => composeMcpRemoval(d, undoKey),
216
258
  });
217
259
  const skillsTarget = defineTarget({
218
260
  id: "skills",
219
261
  title: "Skill symlinks",
220
- bands: ["global", "project"],
221
- detect: (rt, band) => detectSkills(rt, band),
222
- plan: (d, band, roots) => {
223
- if (!d.available) {
224
- const reason = skillsSkipReason(shortenPath(d.sourceRoot, roots), band);
225
- return { action: "skip", detail: reason, reason };
262
+ scopes: ["global", "project"],
263
+ detect: (rt, scope) => detectSkills(rt, scope),
264
+ plan: (d, scope, roots) => {
265
+ // A forward run RECONCILES: stale links this scope owns are its work too, so
266
+ // an orphan-only tree is actionable rather than a row that plans `none` and
267
+ // is then deselected into doing nothing. `staleSkillLinks` carries the
268
+ // absent-root safety gate, so a machine whose source root does not exist
269
+ // contributes no sweep and the row falls back to the honest skip.
270
+ const stale = staleSkillLinks(d);
271
+ if (!d.available && stale.length === 0) {
272
+ const short = shortenPath(d.sourceRoot, roots);
273
+ const reason = skillsSkipReason(short, scope, d.rootExists);
274
+ // A skip with no remedy is a dead end — this one names the command that
275
+ // fills the scope's source root, exactly as the completions and lsp skips
276
+ // beside it name theirs.
277
+ return {
278
+ action: "skip",
279
+ detail: reason,
280
+ reason,
281
+ remedy: skillsSkipRemedy(short, scope),
282
+ };
226
283
  }
227
284
  const dirs = d.targets.map((t) => shortenPath(t.dir, roots)).join(", ");
228
- const where = `${d.skillCount} ${d.skillCount === 1 ? "skill" : "skills"} → ${d.targets.length} ${d.targets.length === 1 ? "dir" : "dirs"} (${dirs})`;
285
+ const where = `${d.skillCount} ${d.skillCount === 1 ? "skill" : "skills"} → ${d.targets.length} ${d.targets.length === 1 ? "folder" : "folders"} (${dirs})`;
286
+ const detail = stale.length === 0
287
+ ? where
288
+ : `${where}, ${stale.length} stale ${stale.length === 1 ? "link" : "links"} to remove`;
229
289
  const pending = d.actions.filter((a) => a.action !== "skipped");
230
- return { action: pending.length === 0 ? "none" : "link", detail: where };
290
+ if (pending.length > 0)
291
+ return { action: "link", detail };
292
+ // Nothing to link, but something to retire: `update` is the table's word
293
+ // for "this row has work that is not a fresh install".
294
+ if (stale.length > 0)
295
+ return { action: "update", detail };
296
+ return { action: "none", detail };
231
297
  },
232
- removalPlan: (d, _band, roots) => {
298
+ removalPlan: (d, _scope, roots) => {
233
299
  const owned = ownedSkillLinks(d);
234
300
  if (owned.length === 0) {
235
301
  return { action: "none", detail: "no link to remove" };
236
302
  }
237
- const dirs = [...new Set(owned.map((a) => shortenPath(a.linkPath, roots)))];
303
+ // Dedupe to the FOLDERS the links live in — `linkPath` itself is one path
304
+ // per link, so a Set over it deduped nothing and the removal preview
305
+ // printed an 18-path wall where the forward plan says `… → 2 folders`.
306
+ const dirs = [
307
+ ...new Set(owned.map((a) => shortenPath(dirname(a.linkPath), roots))),
308
+ ];
238
309
  return {
239
310
  action: "remove",
240
311
  detail: `${owned.length} ${owned.length === 1 ? "link" : "links"}`,
@@ -246,7 +317,7 @@ const skillsTarget = defineTarget({
246
317
  };
247
318
  },
248
319
  compose: (d) => composeSkills(d),
249
- composeRemoval: (d) => composeSkillsRemoval(d),
320
+ composeRemoval: (d, undoKey) => composeSkillsRemoval(d, undoKey),
250
321
  });
251
322
  /** THE table, in display order. */
252
323
  export const TARGETS = [
@@ -258,6 +329,6 @@ export const TARGETS = [
258
329
  ];
259
330
  /** Look a row up by id. */
260
331
  export const findTarget = (id) => TARGETS.find((target) => target.id === id);
261
- /** Whether a target can be installed into a band. */
262
- export const supportsBand = (target, band) => target.bands.includes(band);
332
+ /** Whether a target can be installed into a scope. */
333
+ export const supportsScope = (target, scope) => target.scopes.includes(scope);
263
334
  //# sourceMappingURL=targets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"targets.js","sourceRoot":"","sources":["../../../../src/capabilities/setup/targets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"targets.js","sourceRoot":"","sources":["../../../../src/capabilities/setup/targets.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,11 @@
8
8
  * that capability, and the moment something here has a single consumer again
9
9
  * it should move back. What survives is the environment the CLI reports on but
10
10
  * does not own — how it was installed, what the registry says about it,
11
- * whether a subprocess it ran actually succeeded — plus the one piece of
12
- * vocabulary (`BAND_LABELS`) that keeps `setup` and `doctor` calling the two
13
- * config bands by the same names users meet in the flags.
11
+ * whether a subprocess it ran actually succeeded. (The scope labels that keep
12
+ * `setup` and `doctor` calling the two config scopes by the same names used
13
+ * to live here too; they are part of the rendering vocabulary now —
14
+ * `kernel/render/vocabulary.ts` — beside the statuses and glyphs they are
15
+ * printed with.)
14
16
  *
15
17
  * The exec guard is exported as the pair a caller needs together: `checkExecOk`
16
18
  * to classify a result inside a Task and `assertExecOk` to throw on one
@@ -19,8 +21,7 @@
19
21
  * stay internal — a caller reaching for the predicate instead of the guard is
20
22
  * a caller about to reimplement the classification.
21
23
  */
22
- export { assertExecOk, checkExecOk, guardMissingBinary, } from "./assertExecOk.js";
23
- export { BAND_LABELS } from "./bands.js";
24
- export { detectInstallSource, pmUpdateCommand } from "./packageManager.js";
24
+ export { assertExecOk, checkExecOk, failPragma, guardMissingBinary, } from "./assertExecOk.js";
25
+ export { detectInstallSource, pmUpdateCommand, updateGuidance, } from "./packageManager.js";
25
26
  export { checkRegistryVersion, PRAGMA_PACKAGE } from "./registry.js";
26
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/capabilities/shared/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EACL,YAAY,EACZ,WAAW,EACX,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/capabilities/shared/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}