@canonical/pragma-cli 0.30.0 → 0.32.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 (1083) hide show
  1. package/dist/pragma +0 -0
  2. package/package.json +27 -40
  3. package/src/bin.ts +292 -11
  4. package/src/capabilities/block/blockList.verb.ts +150 -0
  5. package/src/capabilities/block/index.ts +25 -0
  6. package/src/capabilities/block/pack.ts +155 -0
  7. package/src/capabilities/block/parity.test.ts +180 -0
  8. package/src/capabilities/block/tierChain.ts +78 -0
  9. package/src/capabilities/capabilities/capabilities.render.ts +89 -0
  10. package/src/capabilities/capabilities/capabilities.test.ts +131 -0
  11. package/src/capabilities/capabilities/capabilities.verb.ts +48 -0
  12. package/src/capabilities/capabilities/catalog.ts +144 -0
  13. package/src/capabilities/capabilities/hints.ts +221 -0
  14. package/src/capabilities/capabilities/index.ts +13 -0
  15. package/src/capabilities/capabilities/types.ts +58 -0
  16. package/src/capabilities/colophon/collectColophon.ts +68 -0
  17. package/src/capabilities/colophon/colophon.render.test.ts +87 -0
  18. package/src/capabilities/colophon/colophon.render.ts +38 -0
  19. package/src/capabilities/colophon/colophon.test.ts +241 -0
  20. package/src/capabilities/colophon/colophon.verb.ts +41 -0
  21. package/src/capabilities/colophon/index.ts +6 -0
  22. package/src/capabilities/colophon/markdownTerminal.test.ts +50 -0
  23. package/src/capabilities/colophon/markdownTerminal.ts +85 -0
  24. package/src/capabilities/colophon/pragmaColophon.ts +66 -0
  25. package/src/capabilities/colophon/types.ts +29 -0
  26. package/src/capabilities/config/collectConfigShow.ts +32 -0
  27. package/src/capabilities/config/field.render.ts +28 -0
  28. package/src/capabilities/config/field.test.ts +188 -0
  29. package/src/capabilities/config/fields.ts +152 -0
  30. package/src/capabilities/config/index.ts +6 -0
  31. package/src/capabilities/config/runField.ts +59 -0
  32. package/src/capabilities/config/runSet.ts +38 -0
  33. package/src/capabilities/config/set.test.ts +207 -0
  34. package/src/capabilities/config/set.verb.ts +70 -0
  35. package/src/capabilities/config/show.render.ts +61 -0
  36. package/src/capabilities/config/show.verb.ts +45 -0
  37. package/src/capabilities/config/types.ts +27 -0
  38. package/src/capabilities/create/byteEquality.subprocess.test.ts +88 -0
  39. package/src/capabilities/create/byteEquality.test.ts +222 -0
  40. package/src/capabilities/create/compiledCreate.subprocess.test.ts +152 -0
  41. package/src/capabilities/create/create.mcp.test.ts +139 -0
  42. package/src/capabilities/create/create.render.ts +50 -0
  43. package/src/capabilities/create/create.test.ts +403 -0
  44. package/src/capabilities/create/create.verb.ts +435 -0
  45. package/src/capabilities/create/cwdJail.test.ts +129 -0
  46. package/src/capabilities/create/generatorToVerbSpec.ts +111 -0
  47. package/src/capabilities/create/index.ts +25 -0
  48. package/src/capabilities/create/pathJail.ts +73 -0
  49. package/src/capabilities/create/pickGenerator.ts +63 -0
  50. package/src/capabilities/create/templates.embedded.generated.ts +53 -0
  51. package/src/capabilities/create/types.ts +8 -0
  52. package/src/capabilities/doctor/checks/checkConfigFile.ts +41 -0
  53. package/src/capabilities/doctor/checks/checkKeStore.ts +39 -0
  54. package/src/capabilities/doctor/checks/checkMcpCommands.ts +108 -0
  55. package/src/capabilities/doctor/checks/checkMcpConfigured.ts +61 -0
  56. package/src/capabilities/doctor/checks/checkNodeVersion.ts +25 -0
  57. package/src/capabilities/doctor/checks/checkPackageRefs.ts +73 -0
  58. package/src/capabilities/doctor/checks/checkPragmaVersion.ts +22 -0
  59. package/src/capabilities/doctor/checks/checkShellCompletions.test.ts +111 -0
  60. package/src/capabilities/doctor/checks/checkShellCompletions.ts +131 -0
  61. package/src/capabilities/doctor/checks/checkSkillsSymlinked.ts +60 -0
  62. package/src/capabilities/doctor/doctor.render.ts +116 -0
  63. package/src/capabilities/doctor/doctor.test.ts +179 -0
  64. package/src/capabilities/doctor/doctor.verb.ts +46 -0
  65. package/src/capabilities/doctor/index.ts +6 -0
  66. package/src/capabilities/doctor/runChecks.ts +76 -0
  67. package/src/capabilities/doctor/types.ts +41 -0
  68. package/src/capabilities/emptyRecovery.test.ts +112 -0
  69. package/src/capabilities/graph/index.ts +21 -0
  70. package/src/capabilities/graph/inspect.render.ts +38 -0
  71. package/src/capabilities/graph/inspect.test.ts +80 -0
  72. package/src/capabilities/graph/inspect.verb.ts +51 -0
  73. package/src/capabilities/graph/query.render.ts +77 -0
  74. package/src/capabilities/graph/query.test.ts +156 -0
  75. package/src/capabilities/graph/query.verb.ts +58 -0
  76. package/src/capabilities/graph/runQuery.ts +49 -0
  77. package/src/capabilities/index.ts +54 -0
  78. package/src/capabilities/info/collectInfo.ts +76 -0
  79. package/src/capabilities/info/index.ts +6 -0
  80. package/src/capabilities/info/info.render.ts +72 -0
  81. package/src/capabilities/info/info.test.ts +127 -0
  82. package/src/capabilities/info/info.verb.ts +46 -0
  83. package/src/capabilities/info/types.ts +42 -0
  84. package/src/capabilities/lazy.test.ts +89 -0
  85. package/src/capabilities/meta/complete.verb.ts +52 -0
  86. package/src/capabilities/meta/index.ts +15 -0
  87. package/src/capabilities/meta/mcp.verb.ts +35 -0
  88. package/src/capabilities/modifier/index.ts +15 -0
  89. package/src/capabilities/modifier/pack.ts +64 -0
  90. package/src/capabilities/ontology/index.ts +12 -0
  91. package/src/capabilities/ontology/ontology.test.ts +94 -0
  92. package/src/capabilities/ontology/queries.ts +197 -0
  93. package/src/capabilities/ontology/render.ts +87 -0
  94. package/src/capabilities/ontology/verbs.ts +170 -0
  95. package/src/capabilities/prompt/index.ts +18 -0
  96. package/src/capabilities/prompt/prompt.render.ts +70 -0
  97. package/src/capabilities/prompt/prompt.test.ts +119 -0
  98. package/src/capabilities/prompt/types.ts +30 -0
  99. package/src/capabilities/prompt/verbs.ts +93 -0
  100. package/src/capabilities/resources/index.ts +15 -0
  101. package/src/capabilities/resources/provider.ts +231 -0
  102. package/src/capabilities/resources/resources.test.ts +114 -0
  103. package/src/capabilities/roundtrip.test.ts +107 -0
  104. package/src/capabilities/setup/index.ts +6 -0
  105. package/src/capabilities/setup/operations/setupCompletions.ts +108 -0
  106. package/src/capabilities/setup/operations/setupGenerator.ts +307 -0
  107. package/src/capabilities/setup/operations/setupLsp.ts +61 -0
  108. package/src/capabilities/setup/operations/setupMcp.ts +85 -0
  109. package/src/capabilities/setup/operations/setupSkills.ts +199 -0
  110. package/src/capabilities/setup/setup.render.ts +49 -0
  111. package/src/capabilities/setup/setup.test.ts +351 -0
  112. package/src/capabilities/setup/setup.verb.ts +209 -0
  113. package/src/capabilities/setup/shell.ts +85 -0
  114. package/src/capabilities/setup/types.ts +42 -0
  115. package/src/capabilities/shared/assertExecOk.ts +106 -0
  116. package/src/capabilities/shared/packageManager.ts +62 -0
  117. package/src/capabilities/shared/registry.ts +70 -0
  118. package/src/capabilities/skill/discover.ts +178 -0
  119. package/src/capabilities/skill/index.ts +12 -0
  120. package/src/capabilities/skill/render.ts +60 -0
  121. package/src/capabilities/skill/skill.test.ts +142 -0
  122. package/src/capabilities/skill/verbs.ts +100 -0
  123. package/src/capabilities/sources/collectStatus.ts +87 -0
  124. package/src/capabilities/sources/index.ts +15 -0
  125. package/src/capabilities/sources/installSkills.ts +124 -0
  126. package/src/capabilities/sources/runUpdate.ts +407 -0
  127. package/src/capabilities/sources/sources.test.ts +642 -0
  128. package/src/capabilities/sources/status.render.ts +56 -0
  129. package/src/capabilities/sources/status.verb.ts +42 -0
  130. package/src/capabilities/sources/types.ts +51 -0
  131. package/src/capabilities/sources/update.render.ts +35 -0
  132. package/src/capabilities/sources/update.verb.ts +76 -0
  133. package/src/capabilities/standard/index.ts +18 -0
  134. package/src/capabilities/standard/pack.ts +128 -0
  135. package/src/capabilities/standard/parity.test.ts +208 -0
  136. package/src/capabilities/surface.test.ts +208 -0
  137. package/src/capabilities/tier/index.ts +19 -0
  138. package/src/capabilities/tier/lookup.render.ts +34 -0
  139. package/src/capabilities/tier/lookup.test.ts +68 -0
  140. package/src/capabilities/tier/lookup.verb.ts +44 -0
  141. package/src/capabilities/tier/pack.ts +28 -0
  142. package/src/capabilities/tier/runLookup.ts +59 -0
  143. package/src/capabilities/token/addConfig.render.ts +27 -0
  144. package/src/capabilities/token/addConfig.test.ts +62 -0
  145. package/src/capabilities/token/addConfig.verb.ts +40 -0
  146. package/src/capabilities/token/index.ts +19 -0
  147. package/src/capabilities/token/pack.ts +58 -0
  148. package/src/capabilities/token/runAddConfig.ts +95 -0
  149. package/src/capabilities/upgrade/index.ts +6 -0
  150. package/src/capabilities/upgrade/runUpgrade.ts +119 -0
  151. package/src/capabilities/upgrade/types.ts +21 -0
  152. package/src/capabilities/upgrade/upgrade.render.ts +55 -0
  153. package/src/capabilities/upgrade/upgrade.test.ts +372 -0
  154. package/src/capabilities/upgrade/upgrade.verb.ts +56 -0
  155. package/src/constants.test.ts +33 -0
  156. package/src/constants.ts +38 -68
  157. package/src/index.ts +27 -134
  158. package/src/kernel/completion/__snapshots__/emitScripts.test.ts.snap +340 -0
  159. package/src/kernel/completion/bashDrive.test.ts +73 -0
  160. package/src/kernel/completion/complete.test.ts +101 -0
  161. package/src/kernel/completion/complete.ts +77 -0
  162. package/src/kernel/completion/emitScripts.test.ts +173 -0
  163. package/src/kernel/completion/emitScripts.ts +122 -0
  164. package/src/kernel/completion/entitySource.test.ts +198 -0
  165. package/src/kernel/completion/entitySource.ts +269 -0
  166. package/src/kernel/completion/index.ts +42 -0
  167. package/src/kernel/completion/model.test.ts +405 -0
  168. package/src/kernel/completion/model.ts +259 -0
  169. package/src/kernel/completion/parse.test.ts +338 -0
  170. package/src/kernel/completion/parse.ts +294 -0
  171. package/src/kernel/completion/rank.test.ts +100 -0
  172. package/src/kernel/completion/rank.ts +118 -0
  173. package/src/kernel/completion/resolve.test.ts +204 -0
  174. package/src/kernel/completion/resolve.ts +133 -0
  175. package/src/kernel/completion/safety.test.ts +374 -0
  176. package/src/kernel/completion/templates/bash.ts +249 -0
  177. package/src/kernel/completion/templates/fish.ts +245 -0
  178. package/src/kernel/completion/templates/shared.ts +134 -0
  179. package/src/kernel/completion/templates/zsh.ts +246 -0
  180. package/src/kernel/completion/types.ts +153 -0
  181. package/src/kernel/config/__snapshots__/firstRun.test.ts.snap +11 -0
  182. package/src/kernel/config/defaults.ts +28 -0
  183. package/src/kernel/config/evaluateProjectConfig.ts +119 -0
  184. package/src/kernel/config/findProjectConfig.ts +45 -0
  185. package/src/kernel/config/firstRun.test.ts +60 -0
  186. package/src/kernel/config/firstRun.ts +91 -0
  187. package/src/kernel/config/globalConfig.ts +94 -0
  188. package/src/kernel/config/index.ts +35 -0
  189. package/src/kernel/config/paths.ts +39 -0
  190. package/src/kernel/config/readConfig.test.ts +245 -0
  191. package/src/kernel/config/readConfig.ts +94 -0
  192. package/src/kernel/config/schema.ts +56 -0
  193. package/src/kernel/config/types.ts +106 -0
  194. package/src/kernel/config/writeConfigField.ts +82 -0
  195. package/src/kernel/error/PragmaError.test.ts +119 -0
  196. package/src/kernel/error/PragmaError.ts +182 -0
  197. package/src/kernel/error/constants.ts +38 -0
  198. package/src/kernel/error/fromTaskError.test.ts +83 -0
  199. package/src/kernel/error/fromTaskError.ts +80 -0
  200. package/src/kernel/error/index.ts +23 -0
  201. package/src/kernel/error/recovery.test.ts +60 -0
  202. package/src/kernel/error/recovery.ts +49 -0
  203. package/src/kernel/error/renderError.ts +101 -0
  204. package/src/kernel/error/serialize.ts +28 -0
  205. package/src/kernel/error/types.ts +62 -0
  206. package/src/kernel/packs/collect.test.ts +138 -0
  207. package/src/kernel/packs/collect.ts +108 -0
  208. package/src/kernel/packs/compile.test.ts +229 -0
  209. package/src/kernel/packs/compile.ts +315 -0
  210. package/src/kernel/packs/disclosure.test.ts +200 -0
  211. package/src/kernel/packs/disclosure.ts +98 -0
  212. package/src/kernel/packs/glob.ts +39 -0
  213. package/src/kernel/packs/graphql/buildLookupDocument.ts +397 -0
  214. package/src/kernel/packs/graphql/fetchGraphqlLookup.ts +217 -0
  215. package/src/kernel/packs/graphql/nameMap.ts +67 -0
  216. package/src/kernel/packs/graphqlSource.test.ts +383 -0
  217. package/src/kernel/packs/iri.ts +78 -0
  218. package/src/kernel/packs/renderPack.ts +196 -0
  219. package/src/kernel/packs/resolveEntity.ts +232 -0
  220. package/src/kernel/packs/runBodies.ts +157 -0
  221. package/src/kernel/packs/sample.ts +60 -0
  222. package/src/kernel/packs/schema.ts +328 -0
  223. package/src/kernel/packs/sparql/applyFilters.ts +83 -0
  224. package/src/kernel/packs/sparql/applySearch.ts +33 -0
  225. package/src/kernel/packs/sparql/buildLookupQuery.ts +180 -0
  226. package/src/kernel/packs/sparql/escape.ts +22 -0
  227. package/src/kernel/packs/sparql/runSelect.test.ts +80 -0
  228. package/src/kernel/packs/sparql/runSelect.ts +84 -0
  229. package/src/kernel/packs/toolDescription.test.ts +81 -0
  230. package/src/kernel/packs/types.ts +337 -0
  231. package/src/kernel/packs/uniqueness.ts +35 -0
  232. package/src/kernel/project/cli/buildProgram.test.ts +387 -0
  233. package/src/kernel/project/cli/buildProgram.ts +280 -0
  234. package/src/kernel/project/cli/dispatch.test.ts +288 -0
  235. package/src/kernel/project/cli/dispatch.ts +334 -0
  236. package/src/kernel/project/cli/exitCodes.test.ts +59 -0
  237. package/src/kernel/project/cli/exitCodes.ts +68 -0
  238. package/src/kernel/project/cli/globalFlags.test.ts +99 -0
  239. package/src/kernel/project/cli/globalFlags.ts +149 -0
  240. package/src/kernel/project/cli/helpFormat.ts +58 -0
  241. package/src/kernel/project/cli/index.ts +21 -0
  242. package/src/kernel/project/cli/interactionSeam.test.ts +99 -0
  243. package/src/kernel/project/cli/rootHelp.ts +218 -0
  244. package/src/kernel/project/cli/suggest.test.ts +54 -0
  245. package/src/kernel/project/cli/suggest.ts +67 -0
  246. package/src/kernel/project/cli/suggestNames.ts +122 -0
  247. package/src/kernel/project/cli/verbHelp.test.ts +138 -0
  248. package/src/kernel/project/cli/verbHelp.ts +144 -0
  249. package/src/kernel/project/mcp/buildServer.ts +70 -0
  250. package/src/kernel/project/mcp/envelope.ts +44 -0
  251. package/src/kernel/project/mcp/index.ts +8 -0
  252. package/src/kernel/project/mcp/instructions.ts +48 -0
  253. package/src/kernel/project/mcp/parity.test.ts +72 -0
  254. package/src/kernel/project/mcp/prompts/prompts.test.ts +96 -0
  255. package/src/kernel/project/mcp/prompts/provider.ts +74 -0
  256. package/src/kernel/project/mcp/prompts/source.ts +194 -0
  257. package/src/kernel/project/mcp/registerVerb.test.ts +238 -0
  258. package/src/kernel/project/mcp/registerVerb.ts +296 -0
  259. package/src/kernel/project/mcp/serve.ts +34 -0
  260. package/src/kernel/project/mcp/toolDescriptions.test.ts +80 -0
  261. package/src/kernel/render/__snapshots__/renderers.test.ts.snap +127 -0
  262. package/src/kernel/render/compactUri.ts +25 -0
  263. package/src/kernel/render/contracts.ts +72 -0
  264. package/src/kernel/render/disclosure.ts +44 -0
  265. package/src/kernel/render/envelope.ts +50 -0
  266. package/src/kernel/render/formatters.ts +30 -0
  267. package/src/kernel/render/index.ts +30 -0
  268. package/src/kernel/render/prefixes.ts +21 -0
  269. package/src/kernel/render/renderers.test.ts +171 -0
  270. package/src/kernel/render/renderers.ts +429 -0
  271. package/src/kernel/render/writeStdout.test.ts +43 -0
  272. package/src/kernel/render/writeStdout.ts +49 -0
  273. package/src/kernel/runtime/boot.test.ts +69 -0
  274. package/src/kernel/runtime/boot.ts +59 -0
  275. package/src/kernel/runtime/facade.test.ts +125 -0
  276. package/src/kernel/runtime/facade.ts +47 -0
  277. package/src/kernel/runtime/graphpack/build.ts +148 -0
  278. package/src/kernel/runtime/graphpack/buildIndex.ts +229 -0
  279. package/src/kernel/runtime/graphpack/embedded/pack.generated.ts +8 -0
  280. package/src/kernel/runtime/graphpack/embedded/pack.index.generated.ts +4 -0
  281. package/src/kernel/runtime/graphpack/embedded/sample.ttl +39 -0
  282. package/src/kernel/runtime/graphpack/embedded.ts +70 -0
  283. package/src/kernel/runtime/graphpack/graphpack.test.ts +153 -0
  284. package/src/kernel/runtime/graphpack/hash.ts +46 -0
  285. package/src/kernel/runtime/graphpack/index.ts +21 -0
  286. package/src/kernel/runtime/graphpack/manifest.ts +55 -0
  287. package/src/kernel/runtime/graphpack/read.ts +102 -0
  288. package/src/kernel/runtime/graphpack/types.ts +111 -0
  289. package/src/kernel/runtime/index.ts +15 -0
  290. package/src/kernel/runtime/loadSession.ts +56 -0
  291. package/src/kernel/runtime/lock.ts +90 -0
  292. package/src/kernel/runtime/paths.ts +37 -0
  293. package/src/kernel/runtime/probe.test.ts +16 -0
  294. package/src/kernel/runtime/probe.ts +39 -0
  295. package/src/kernel/runtime/readEntity.ts +83 -0
  296. package/src/kernel/runtime/refs/gitOps.ts +88 -0
  297. package/src/kernel/runtime/refs/parseRef.test.ts +34 -0
  298. package/src/kernel/runtime/refs/parseRef.ts +103 -0
  299. package/src/kernel/runtime/refs/resolve.ts +320 -0
  300. package/src/kernel/runtime/resolveSources.test.ts +154 -0
  301. package/src/kernel/runtime/resolveSources.ts +66 -0
  302. package/src/kernel/runtime/store.test.ts +94 -0
  303. package/src/kernel/runtime/store.ts +90 -0
  304. package/src/kernel/runtime/storeless.test.ts +86 -0
  305. package/src/kernel/runtime/types.ts +210 -0
  306. package/src/kernel/runtime/wasmEmbed.test.ts +142 -0
  307. package/src/kernel/spec/asVerb.ts +23 -0
  308. package/src/kernel/spec/emitSurface.test.ts +65 -0
  309. package/src/kernel/spec/emitSurface.ts +223 -0
  310. package/src/kernel/spec/index.ts +34 -0
  311. package/src/kernel/spec/surfaceConformance.test.ts +94 -0
  312. package/src/kernel/spec/surfaceConformance.ts +135 -0
  313. package/src/kernel/spec/types.ts +233 -0
  314. package/src/kernel/spec/validate.test.ts +81 -0
  315. package/src/kernel/spec/validate.ts +125 -0
  316. package/src/testing/PARITY_GAPS.test.ts +32 -0
  317. package/src/testing/PARITY_GAPS.ts +179 -0
  318. package/src/testing/behavioral/README.md +164 -0
  319. package/src/testing/behavioral/agentSession.mcp.test.ts +160 -0
  320. package/src/testing/behavioral/autoLlm.e2e.test.ts +44 -0
  321. package/src/testing/behavioral/completion.test.ts +132 -0
  322. package/src/testing/behavioral/disclosure.test.ts +103 -0
  323. package/src/testing/behavioral/errorMatrix.mcp.test.ts +120 -0
  324. package/src/testing/behavioral/errorMatrix.storeless.test.ts +123 -0
  325. package/src/testing/behavioral/exitCodes.e2e.test.ts +53 -0
  326. package/src/testing/behavioral/firstRun.e2e.test.ts +40 -0
  327. package/src/testing/behavioral/harness.foundation.test.ts +136 -0
  328. package/src/testing/behavioral/journeys.cli.test.ts +129 -0
  329. package/src/testing/behavioral/liveReadSurface.ts +80 -0
  330. package/src/testing/behavioral/mcpServe.e2e.test.ts +21 -0
  331. package/src/testing/behavioral/mcpSurface.test.ts +139 -0
  332. package/src/testing/behavioral/parity.test.ts +224 -0
  333. package/src/testing/behavioral/rootCli.e2e.test.ts +62 -0
  334. package/src/testing/eval/__snapshots__/eval.test.ts.snap +201 -0
  335. package/src/testing/eval/cases/assembly.ts +195 -0
  336. package/src/testing/eval/cases/effectful.ts +245 -0
  337. package/src/testing/eval/cases/readNouns.ts +232 -0
  338. package/src/testing/eval/cases/stable.ts +163 -0
  339. package/src/testing/eval/eval.test.ts +74 -0
  340. package/src/testing/eval/harness.ts +91 -0
  341. package/src/testing/eval/report.ts +58 -0
  342. package/src/testing/fixtures/blockGraph.ts +112 -0
  343. package/src/testing/fixtures/completionFixture.ts +239 -0
  344. package/src/testing/fixtures/fixtureCapability.ts +175 -0
  345. package/src/testing/fixtures/graph/canonical.ts +184 -0
  346. package/src/testing/fixtures/packs/recipe.ts +78 -0
  347. package/src/testing/helpers/fixtureGraph.ts +148 -0
  348. package/src/testing/helpers/golden.ts +45 -0
  349. package/src/testing/helpers/packRuntime.ts +118 -0
  350. package/src/testing/helpers/parity.ts +86 -0
  351. package/src/testing/helpers/projectCli.ts +35 -0
  352. package/src/testing/helpers/projectMcp.ts +145 -0
  353. package/src/testing/helpers/runCli.ts +128 -0
  354. package/src/testing/perf/budgets.test.ts +164 -0
  355. package/src/testing/perf/budgets.ts +37 -0
  356. package/src/testing/perf/globalSetup.ts +30 -0
  357. package/src/testing/perf/measure.ts +97 -0
  358. package/src/testing/setupXdgIsolation.ts +17 -5
  359. package/src/types.ts +42 -0
  360. package/README.md +0 -429
  361. package/src/bin.test.ts +0 -54
  362. package/src/compile-validation.runner.ts +0 -137
  363. package/src/compile-validation.ts +0 -191
  364. package/src/completions/computeSocketPath.test.ts +0 -26
  365. package/src/completions/computeSocketPath.ts +0 -16
  366. package/src/completions/constants.ts +0 -18
  367. package/src/completions/handleQuery.test.ts +0 -93
  368. package/src/completions/handleQuery.ts +0 -30
  369. package/src/completions/index.ts +0 -14
  370. package/src/completions/queryCompletions.test.ts +0 -100
  371. package/src/completions/queryCompletions.ts +0 -61
  372. package/src/completions/querySocket.test.ts +0 -70
  373. package/src/completions/querySocket.ts +0 -44
  374. package/src/completions/startCompletionsServer.test.ts +0 -74
  375. package/src/completions/startCompletionsServer.ts +0 -75
  376. package/src/completions/startCompletionsServer.unit.test.ts +0 -131
  377. package/src/completions/waitForSocket.test.ts +0 -27
  378. package/src/completions/waitForSocket.ts +0 -27
  379. package/src/config/configExists.ts +0 -14
  380. package/src/config/defaultConfig.test.ts +0 -33
  381. package/src/config/defaultConfig.ts +0 -59
  382. package/src/config/defaults.json +0 -17
  383. package/src/config/findProjectConfigPath.test.ts +0 -53
  384. package/src/config/findProjectConfigPath.ts +0 -36
  385. package/src/config/index.ts +0 -21
  386. package/src/config/mergeConfigFileUpdate.ts +0 -58
  387. package/src/config/parseConfigValues.ts +0 -215
  388. package/src/config/readConfig.test.ts +0 -395
  389. package/src/config/readConfig.ts +0 -21
  390. package/src/config/readConfigLayers.test.ts +0 -107
  391. package/src/config/readConfigLayers.ts +0 -115
  392. package/src/config/resolveConfigPath.test.ts +0 -20
  393. package/src/config/resolveConfigPath.ts +0 -11
  394. package/src/config/resolveGlobalConfigPath.ts +0 -13
  395. package/src/config/resolveWriteConfigPath.test.ts +0 -53
  396. package/src/config/resolveWriteConfigPath.ts +0 -31
  397. package/src/config/types.ts +0 -121
  398. package/src/config/writeConfig.ts +0 -37
  399. package/src/domains/block/blockConfig.ts +0 -97
  400. package/src/domains/block/commands/index.ts +0 -5
  401. package/src/domains/block/commands/list.test.ts +0 -111
  402. package/src/domains/block/commands/list.ts +0 -11
  403. package/src/domains/block/commands/lookup.test.ts +0 -187
  404. package/src/domains/block/commands/lookup.ts +0 -14
  405. package/src/domains/block/commands/sample.ts +0 -55
  406. package/src/domains/block/formatters/index.ts +0 -5
  407. package/src/domains/block/formatters/list.test.ts +0 -107
  408. package/src/domains/block/formatters/list.ts +0 -50
  409. package/src/domains/block/formatters/lookup.test.ts +0 -318
  410. package/src/domains/block/formatters/lookup.ts +0 -149
  411. package/src/domains/block/formatters/sample.ts +0 -21
  412. package/src/domains/block/formatters/types.ts +0 -16
  413. package/src/domains/block/helpers/index.ts +0 -4
  414. package/src/domains/block/helpers/resolveAspects.test.ts +0 -64
  415. package/src/domains/block/helpers/resolveAspects.ts +0 -35
  416. package/src/domains/block/index.ts +0 -25
  417. package/src/domains/block/mcp/index.ts +0 -2
  418. package/src/domains/block/mcp/specs.ts +0 -67
  419. package/src/domains/block/operations/index.ts +0 -5
  420. package/src/domains/block/operations/list.test.ts +0 -80
  421. package/src/domains/block/operations/list.ts +0 -72
  422. package/src/domains/block/operations/lookup.test.ts +0 -129
  423. package/src/domains/block/operations/lookup.ts +0 -446
  424. package/src/domains/block/operations/sample.ts +0 -41
  425. package/src/domains/block/orchestration/blockEmptyError.test.ts +0 -26
  426. package/src/domains/block/orchestration/blockEmptyError.ts +0 -19
  427. package/src/domains/block/orchestration/buildBlockFilters.ts +0 -12
  428. package/src/domains/block/orchestration/enrichBlocks.ts +0 -41
  429. package/src/domains/block/orchestration/index.ts +0 -5
  430. package/src/domains/block/orchestration/resolveBlockList.ts +0 -39
  431. package/src/domains/block/orchestration/resolveBlockLookup.ts +0 -35
  432. package/src/domains/block/stories.test.ts +0 -28
  433. package/src/domains/block/stories.ts +0 -254
  434. package/src/domains/block/types.ts +0 -30
  435. package/src/domains/config/commands/channel.test.ts +0 -112
  436. package/src/domains/config/commands/channel.ts +0 -86
  437. package/src/domains/config/commands/configScope.ts +0 -46
  438. package/src/domains/config/commands/framework.test.ts +0 -105
  439. package/src/domains/config/commands/framework.ts +0 -91
  440. package/src/domains/config/commands/index.ts +0 -6
  441. package/src/domains/config/commands/show.test.ts +0 -61
  442. package/src/domains/config/commands/show.ts +0 -11
  443. package/src/domains/config/commands/tier.test.ts +0 -95
  444. package/src/domains/config/commands/tier.ts +0 -84
  445. package/src/domains/config/commands/trace.test.ts +0 -165
  446. package/src/domains/config/commands/trace.ts +0 -83
  447. package/src/domains/config/formatters/channel.test.ts +0 -70
  448. package/src/domains/config/formatters/channel.ts +0 -37
  449. package/src/domains/config/formatters/framework.ts +0 -37
  450. package/src/domains/config/formatters/index.ts +0 -6
  451. package/src/domains/config/formatters/show.test.ts +0 -153
  452. package/src/domains/config/formatters/show.ts +0 -89
  453. package/src/domains/config/formatters/tier.test.ts +0 -86
  454. package/src/domains/config/formatters/tier.ts +0 -48
  455. package/src/domains/config/formatters/trace.ts +0 -28
  456. package/src/domains/config/index.ts +0 -36
  457. package/src/domains/config/mcp/index.ts +0 -2
  458. package/src/domains/config/mcp/specs.ts +0 -100
  459. package/src/domains/config/operations/index.ts +0 -6
  460. package/src/domains/config/operations/show.test.ts +0 -78
  461. package/src/domains/config/operations/show.ts +0 -48
  462. package/src/domains/config/operations/types.ts +0 -20
  463. package/src/domains/config/operations/validateChannel.test.ts +0 -36
  464. package/src/domains/config/operations/validateChannel.ts +0 -24
  465. package/src/domains/config/operations/validateFramework.ts +0 -24
  466. package/src/domains/config/operations/validateTier.test.ts +0 -56
  467. package/src/domains/config/operations/validateTier.ts +0 -35
  468. package/src/domains/config/stories.ts +0 -42
  469. package/src/domains/config/tasks/index.ts +0 -6
  470. package/src/domains/config/tasks/setChannel.ts +0 -21
  471. package/src/domains/config/tasks/setFramework.ts +0 -21
  472. package/src/domains/config/tasks/setTier.ts +0 -20
  473. package/src/domains/config/tasks/setTrace.ts +0 -20
  474. package/src/domains/config/tasks/writeConfigField.ts +0 -41
  475. package/src/domains/create/commands/component.test.ts +0 -166
  476. package/src/domains/create/commands/component.ts +0 -123
  477. package/src/domains/create/commands/index.ts +0 -3
  478. package/src/domains/create/commands/package.test.ts +0 -35
  479. package/src/domains/create/commands/package.ts +0 -21
  480. package/src/domains/create/generators.ts +0 -8
  481. package/src/domains/create/index.ts +0 -15
  482. package/src/domains/create/mcp/index.ts +0 -2
  483. package/src/domains/create/mcp/specs.ts +0 -168
  484. package/src/domains/doctor/commands/doctor.test.ts +0 -75
  485. package/src/domains/doctor/commands/doctor.ts +0 -43
  486. package/src/domains/doctor/commands/index.ts +0 -2
  487. package/src/domains/doctor/formatters/doctor.test.ts +0 -117
  488. package/src/domains/doctor/formatters/doctor.ts +0 -84
  489. package/src/domains/doctor/formatters/index.ts +0 -2
  490. package/src/domains/doctor/index.ts +0 -9
  491. package/src/domains/doctor/mcp/index.ts +0 -2
  492. package/src/domains/doctor/mcp/specs.ts +0 -41
  493. package/src/domains/doctor/operations/checks/checkConfigFile.ts +0 -42
  494. package/src/domains/doctor/operations/checks/checkKeStore.ts +0 -38
  495. package/src/domains/doctor/operations/checks/checkMcpCommands.ts +0 -130
  496. package/src/domains/doctor/operations/checks/checkMcpConfigured.ts +0 -65
  497. package/src/domains/doctor/operations/checks/checkNodeVersion.ts +0 -25
  498. package/src/domains/doctor/operations/checks/checkPackageRefs.ts +0 -58
  499. package/src/domains/doctor/operations/checks/checkPragmaVersion.ts +0 -20
  500. package/src/domains/doctor/operations/checks/checkShellCompletions.ts +0 -42
  501. package/src/domains/doctor/operations/checks/checkSkillsSymlinked.ts +0 -64
  502. package/src/domains/doctor/operations/checks/index.ts +0 -10
  503. package/src/domains/doctor/operations/checks.test.ts +0 -305
  504. package/src/domains/doctor/operations/index.ts +0 -3
  505. package/src/domains/doctor/operations/runChecks.test.ts +0 -176
  506. package/src/domains/doctor/operations/runChecks.ts +0 -78
  507. package/src/domains/doctor/operations/types.ts +0 -20
  508. package/src/domains/graph/commands/index.ts +0 -4
  509. package/src/domains/graph/commands/inspect.test.ts +0 -94
  510. package/src/domains/graph/commands/inspect.ts +0 -63
  511. package/src/domains/graph/commands/query.test.ts +0 -92
  512. package/src/domains/graph/commands/query.ts +0 -60
  513. package/src/domains/graph/formatters/index.ts +0 -4
  514. package/src/domains/graph/formatters/inspect.ts +0 -50
  515. package/src/domains/graph/formatters/query.ts +0 -37
  516. package/src/domains/graph/helpers/index.ts +0 -3
  517. package/src/domains/graph/helpers/resolveUri.test.ts +0 -50
  518. package/src/domains/graph/helpers/resolveUri.ts +0 -77
  519. package/src/domains/graph/index.ts +0 -22
  520. package/src/domains/graph/mcp/index.ts +0 -2
  521. package/src/domains/graph/mcp/specs.ts +0 -82
  522. package/src/domains/graph/operations/executeQuery.test.ts +0 -68
  523. package/src/domains/graph/operations/executeQuery.ts +0 -32
  524. package/src/domains/graph/operations/index.ts +0 -4
  525. package/src/domains/graph/operations/inspectUri.test.ts +0 -101
  526. package/src/domains/graph/operations/inspectUri.ts +0 -64
  527. package/src/domains/graphql/commands/build.test.ts +0 -196
  528. package/src/domains/graphql/commands/build.ts +0 -117
  529. package/src/domains/graphql/commands/check.test.ts +0 -141
  530. package/src/domains/graphql/commands/check.ts +0 -81
  531. package/src/domains/graphql/commands/index.ts +0 -5
  532. package/src/domains/graphql/commands/serve.test.ts +0 -40
  533. package/src/domains/graphql/commands/serve.ts +0 -131
  534. package/src/domains/graphql/constants.ts +0 -10
  535. package/src/domains/graphql/formatters/index.ts +0 -3
  536. package/src/domains/graphql/formatters/report.ts +0 -78
  537. package/src/domains/graphql/helpers/gatherSources.test.ts +0 -92
  538. package/src/domains/graphql/helpers/gatherSources.ts +0 -58
  539. package/src/domains/graphql/helpers/index.ts +0 -6
  540. package/src/domains/graphql/helpers/parsePrefixes.test.ts +0 -44
  541. package/src/domains/graphql/helpers/parsePrefixes.ts +0 -38
  542. package/src/domains/graphql/helpers/resolveSourceFiles.test.ts +0 -56
  543. package/src/domains/graphql/helpers/resolveSourceFiles.ts +0 -45
  544. package/src/domains/graphql/helpers/routeGraphql.test.ts +0 -43
  545. package/src/domains/graphql/helpers/routeGraphql.ts +0 -28
  546. package/src/domains/graphql/index.ts +0 -24
  547. package/src/domains/graphql/operations/compileSchema.test.ts +0 -95
  548. package/src/domains/graphql/operations/compileSchema.ts +0 -107
  549. package/src/domains/graphql/operations/createSchemaServer.test.ts +0 -50
  550. package/src/domains/graphql/operations/createSchemaServer.ts +0 -75
  551. package/src/domains/graphql/operations/index.ts +0 -12
  552. package/src/domains/graphql/types.ts +0 -29
  553. package/src/domains/info/commands/index.ts +0 -4
  554. package/src/domains/info/commands/info.test.ts +0 -88
  555. package/src/domains/info/commands/info.ts +0 -47
  556. package/src/domains/info/commands/upgrade.test.ts +0 -183
  557. package/src/domains/info/commands/upgrade.ts +0 -153
  558. package/src/domains/info/constants.test.ts +0 -22
  559. package/src/domains/info/constants.ts +0 -15
  560. package/src/domains/info/formatters/index.ts +0 -8
  561. package/src/domains/info/formatters/info.test.ts +0 -207
  562. package/src/domains/info/formatters/info.ts +0 -131
  563. package/src/domains/info/formatters/upgrade.test.ts +0 -133
  564. package/src/domains/info/formatters/upgrade.ts +0 -68
  565. package/src/domains/info/index.ts +0 -9
  566. package/src/domains/info/mcp/index.ts +0 -2
  567. package/src/domains/info/mcp/specs.ts +0 -65
  568. package/src/domains/info/operations/checkRegistryVersion.test.ts +0 -124
  569. package/src/domains/info/operations/checkRegistryVersion.ts +0 -45
  570. package/src/domains/info/operations/collectInfo.test.ts +0 -122
  571. package/src/domains/info/operations/collectInfo.ts +0 -94
  572. package/src/domains/info/operations/collectStoreSummary.test.ts +0 -61
  573. package/src/domains/info/operations/collectStoreSummary.ts +0 -42
  574. package/src/domains/info/operations/index.ts +0 -5
  575. package/src/domains/info/types.test-d.ts +0 -35
  576. package/src/domains/info/types.ts +0 -54
  577. package/src/domains/llm/capabilities.test.ts +0 -91
  578. package/src/domains/llm/commands/capabilities.ts +0 -28
  579. package/src/domains/llm/commands/index.ts +0 -4
  580. package/src/domains/llm/commands/llm.ts +0 -37
  581. package/src/domains/llm/data/commandReference.ts +0 -97
  582. package/src/domains/llm/data/decisionTrees.ts +0 -50
  583. package/src/domains/llm/data/index.ts +0 -6
  584. package/src/domains/llm/data/toolCatalog.ts +0 -190
  585. package/src/domains/llm/formatters/capabilities.ts +0 -50
  586. package/src/domains/llm/formatters/index.ts +0 -4
  587. package/src/domains/llm/formatters/orientation.ts +0 -53
  588. package/src/domains/llm/index.ts +0 -9
  589. package/src/domains/llm/llmCommand.test.ts +0 -93
  590. package/src/domains/llm/mcp/index.ts +0 -2
  591. package/src/domains/llm/mcp/specs.ts +0 -94
  592. package/src/domains/llm/operations/collectContext.ts +0 -47
  593. package/src/domains/llm/operations/index.ts +0 -3
  594. package/src/domains/llm/types.ts +0 -72
  595. package/src/domains/modifier/commands/index.ts +0 -5
  596. package/src/domains/modifier/commands/list.test.ts +0 -57
  597. package/src/domains/modifier/commands/list.ts +0 -9
  598. package/src/domains/modifier/commands/lookup.test.ts +0 -91
  599. package/src/domains/modifier/commands/lookup.ts +0 -14
  600. package/src/domains/modifier/commands/sample.ts +0 -53
  601. package/src/domains/modifier/formatters/index.ts +0 -8
  602. package/src/domains/modifier/formatters/list.test.ts +0 -38
  603. package/src/domains/modifier/formatters/list.ts +0 -22
  604. package/src/domains/modifier/formatters/lookup.test.ts +0 -33
  605. package/src/domains/modifier/formatters/lookup.ts +0 -50
  606. package/src/domains/modifier/formatters/sample.ts +0 -15
  607. package/src/domains/modifier/index.ts +0 -27
  608. package/src/domains/modifier/mcp/index.ts +0 -2
  609. package/src/domains/modifier/mcp/specs.ts +0 -65
  610. package/src/domains/modifier/modifierConfig.ts +0 -36
  611. package/src/domains/modifier/operations/index.ts +0 -5
  612. package/src/domains/modifier/operations/list.test.ts +0 -39
  613. package/src/domains/modifier/operations/list.ts +0 -41
  614. package/src/domains/modifier/operations/lookup.test.ts +0 -37
  615. package/src/domains/modifier/operations/lookup.ts +0 -67
  616. package/src/domains/modifier/operations/sample.ts +0 -32
  617. package/src/domains/modifier/orchestration/index.ts +0 -3
  618. package/src/domains/modifier/orchestration/modifierEmptyError.test.ts +0 -26
  619. package/src/domains/modifier/orchestration/modifierEmptyError.ts +0 -15
  620. package/src/domains/modifier/orchestration/resolveModifierList.ts +0 -16
  621. package/src/domains/modifier/orchestration/resolveModifierLookup.ts +0 -33
  622. package/src/domains/modifier/stories.test.ts +0 -20
  623. package/src/domains/modifier/stories.ts +0 -77
  624. package/src/domains/modifier/types.ts +0 -5
  625. package/src/domains/ontology/commands/index.ts +0 -4
  626. package/src/domains/ontology/commands/list.test.ts +0 -82
  627. package/src/domains/ontology/commands/list.ts +0 -11
  628. package/src/domains/ontology/commands/show.test.ts +0 -103
  629. package/src/domains/ontology/commands/show.ts +0 -14
  630. package/src/domains/ontology/formatters/index.ts +0 -4
  631. package/src/domains/ontology/formatters/list.ts +0 -39
  632. package/src/domains/ontology/formatters/show.ts +0 -105
  633. package/src/domains/ontology/helpers/findNamespace.ts +0 -23
  634. package/src/domains/ontology/helpers/index.ts +0 -7
  635. package/src/domains/ontology/helpers/queryClasses.ts +0 -50
  636. package/src/domains/ontology/helpers/queryProperties.ts +0 -57
  637. package/src/domains/ontology/helpers/resolvePrefix.ts +0 -45
  638. package/src/domains/ontology/index.ts +0 -26
  639. package/src/domains/ontology/mcp/index.ts +0 -2
  640. package/src/domains/ontology/mcp/specs.ts +0 -16
  641. package/src/domains/ontology/operations/index.ts +0 -5
  642. package/src/domains/ontology/operations/listOntologies.test.ts +0 -45
  643. package/src/domains/ontology/operations/listOntologies.ts +0 -101
  644. package/src/domains/ontology/operations/showOntology.test.ts +0 -65
  645. package/src/domains/ontology/operations/showOntology.ts +0 -41
  646. package/src/domains/ontology/operations/showOntologyRaw.test.ts +0 -39
  647. package/src/domains/ontology/operations/showOntologyRaw.ts +0 -50
  648. package/src/domains/ontology/stories.test.ts +0 -36
  649. package/src/domains/ontology/stories.ts +0 -108
  650. package/src/domains/refs/commands/updateRefs.ts +0 -52
  651. package/src/domains/refs/formatters/updateRefs.ts +0 -27
  652. package/src/domains/refs/index.ts +0 -27
  653. package/src/domains/refs/operations/gitOps.test.ts +0 -155
  654. package/src/domains/refs/operations/gitOps.ts +0 -92
  655. package/src/domains/refs/operations/index.ts +0 -10
  656. package/src/domains/refs/operations/parseRef.test.ts +0 -157
  657. package/src/domains/refs/operations/parseRef.ts +0 -114
  658. package/src/domains/refs/operations/paths.test.ts +0 -98
  659. package/src/domains/refs/operations/paths.ts +0 -91
  660. package/src/domains/refs/operations/readGlobalRefs.test.ts +0 -63
  661. package/src/domains/refs/operations/readGlobalRefs.ts +0 -37
  662. package/src/domains/refs/operations/updateRefs.test.ts +0 -167
  663. package/src/domains/refs/operations/updateRefs.ts +0 -181
  664. package/src/domains/setup/commands/all.ts +0 -58
  665. package/src/domains/setup/commands/completions.ts +0 -85
  666. package/src/domains/setup/commands/entrypoints.test.ts +0 -170
  667. package/src/domains/setup/commands/index.ts +0 -6
  668. package/src/domains/setup/commands/lsp.ts +0 -49
  669. package/src/domains/setup/commands/mcp.ts +0 -119
  670. package/src/domains/setup/commands/skills.test.ts +0 -68
  671. package/src/domains/setup/commands/skills.ts +0 -110
  672. package/src/domains/setup/formatters/index.ts +0 -2
  673. package/src/domains/setup/formatters/skills.test.ts +0 -103
  674. package/src/domains/setup/formatters/skills.ts +0 -112
  675. package/src/domains/setup/formatters/types.ts +0 -7
  676. package/src/domains/setup/helpers/completionScripts.test.ts +0 -58
  677. package/src/domains/setup/helpers/completionScripts.ts +0 -92
  678. package/src/domains/setup/helpers/constants.ts +0 -2
  679. package/src/domains/setup/helpers/detectShell.test.ts +0 -48
  680. package/src/domains/setup/helpers/detectShell.ts +0 -20
  681. package/src/domains/setup/helpers/index.ts +0 -12
  682. package/src/domains/setup/helpers/runSetupTask.test.ts +0 -277
  683. package/src/domains/setup/helpers/runSetupTask.ts +0 -221
  684. package/src/domains/setup/index.ts +0 -33
  685. package/src/domains/setup/operations/index.ts +0 -6
  686. package/src/domains/setup/operations/setupAll.test.ts +0 -48
  687. package/src/domains/setup/operations/setupAll.ts +0 -41
  688. package/src/domains/setup/operations/setupCompletions.test.ts +0 -94
  689. package/src/domains/setup/operations/setupCompletions.ts +0 -54
  690. package/src/domains/setup/operations/setupLsp.test.ts +0 -29
  691. package/src/domains/setup/operations/setupLsp.ts +0 -17
  692. package/src/domains/setup/operations/setupMcp.test.ts +0 -120
  693. package/src/domains/setup/operations/setupMcp.ts +0 -108
  694. package/src/domains/setup/operations/setupSkills.test.ts +0 -191
  695. package/src/domains/setup/operations/setupSkills.ts +0 -160
  696. package/src/domains/setup/types.ts +0 -18
  697. package/src/domains/shared/ToolSpec.ts +0 -49
  698. package/src/domains/shared/bootStore.ts +0 -135
  699. package/src/domains/shared/buildQuery.ts +0 -18
  700. package/src/domains/shared/compactUri.test.ts +0 -32
  701. package/src/domains/shared/compactUri.ts +0 -21
  702. package/src/domains/shared/context.ts +0 -16
  703. package/src/domains/shared/contracts.ts +0 -164
  704. package/src/domains/shared/createInteractivePromptSession.test.ts +0 -439
  705. package/src/domains/shared/createInteractivePromptSession.ts +0 -236
  706. package/src/domains/shared/emptyErrorRecovery.test.ts +0 -109
  707. package/src/domains/shared/extractLocalName.test.ts +0 -21
  708. package/src/domains/shared/extractLocalName.ts +0 -14
  709. package/src/domains/shared/filters/buildChannelFilter.test.ts +0 -52
  710. package/src/domains/shared/filters/buildChannelFilter.ts +0 -41
  711. package/src/domains/shared/filters/buildFilterConfig.ts +0 -15
  712. package/src/domains/shared/filters/buildFilters.test.ts +0 -33
  713. package/src/domains/shared/filters/buildFilters.ts +0 -30
  714. package/src/domains/shared/filters/buildTierFilter.test.ts +0 -78
  715. package/src/domains/shared/filters/buildTierFilter.ts +0 -69
  716. package/src/domains/shared/filters/describeFilters.ts +0 -14
  717. package/src/domains/shared/filters/index.ts +0 -10
  718. package/src/domains/shared/formatters.ts +0 -82
  719. package/src/domains/shared/loaders/bundledLoader.test.ts +0 -248
  720. package/src/domains/shared/loaders/bundledLoader.ts +0 -206
  721. package/src/domains/shared/loaders/gitLoader.ts +0 -31
  722. package/src/domains/shared/loaders/index.ts +0 -9
  723. package/src/domains/shared/loaders/localLoader.ts +0 -87
  724. package/src/domains/shared/loaders/readPackageDir.ts +0 -147
  725. package/src/domains/shared/loaders/storyAssetsPlugin.test.ts +0 -84
  726. package/src/domains/shared/loaders/storyAssetsPlugin.ts +0 -46
  727. package/src/domains/shared/lookupMany.test.ts +0 -120
  728. package/src/domains/shared/lookupMany.ts +0 -85
  729. package/src/domains/shared/mergeAndParseRefs.test.ts +0 -89
  730. package/src/domains/shared/mergeAndParseRefs.ts +0 -44
  731. package/src/domains/shared/namespaces.ts +0 -18
  732. package/src/domains/shared/packages.ts +0 -20
  733. package/src/domains/shared/pickRandom.ts +0 -22
  734. package/src/domains/shared/prefixes.ts +0 -37
  735. package/src/domains/shared/renderers.ts +0 -410
  736. package/src/domains/shared/resolveConfiguredGraphs.test.ts +0 -27
  737. package/src/domains/shared/resolveConfiguredGraphs.ts +0 -41
  738. package/src/domains/shared/runtime.ts +0 -61
  739. package/src/domains/shared/sampleFormatters.ts +0 -47
  740. package/src/domains/shared/semanticPackage.ts +0 -112
  741. package/src/domains/shared/stories/compileLookupCommand.test.ts +0 -145
  742. package/src/domains/shared/stories/compileLookupCommand.ts +0 -100
  743. package/src/domains/shared/stories/compileLookupTool.test.ts +0 -105
  744. package/src/domains/shared/stories/compileLookupTool.ts +0 -96
  745. package/src/domains/shared/stories/compileReadCommand.test.ts +0 -121
  746. package/src/domains/shared/stories/compileReadCommand.ts +0 -48
  747. package/src/domains/shared/stories/compileReadTool.test.ts +0 -64
  748. package/src/domains/shared/stories/compileReadTool.ts +0 -38
  749. package/src/domains/shared/stories/condense.test.ts +0 -18
  750. package/src/domains/shared/stories/condense.ts +0 -15
  751. package/src/domains/shared/stories/index.ts +0 -20
  752. package/src/domains/shared/stories/normalizeNames.test.ts +0 -20
  753. package/src/domains/shared/stories/normalizeNames.ts +0 -22
  754. package/src/domains/shared/stories/pack/applyPackFilters.test.ts +0 -102
  755. package/src/domains/shared/stories/pack/applyPackFilters.ts +0 -76
  756. package/src/domains/shared/stories/pack/buildLookupQuery.test.ts +0 -51
  757. package/src/domains/shared/stories/pack/buildLookupQuery.ts +0 -80
  758. package/src/domains/shared/stories/pack/collectPackStories.test.ts +0 -108
  759. package/src/domains/shared/stories/pack/collectPackStories.ts +0 -76
  760. package/src/domains/shared/stories/pack/compilePackCommands.ts +0 -40
  761. package/src/domains/shared/stories/pack/compilePackStories.test.ts +0 -146
  762. package/src/domains/shared/stories/pack/compilePackStories.ts +0 -253
  763. package/src/domains/shared/stories/pack/compilePackToolSpecs.ts +0 -43
  764. package/src/domains/shared/stories/pack/index.ts +0 -28
  765. package/src/domains/shared/stories/pack/runSelectQuery.ts +0 -31
  766. package/src/domains/shared/stories/pack/standardParity.test.ts +0 -308
  767. package/src/domains/shared/stories/pack/types.ts +0 -104
  768. package/src/domains/shared/stories/pack/validateStoryPackDefinition.test.ts +0 -240
  769. package/src/domains/shared/stories/pack/validateStoryPackDefinition.ts +0 -408
  770. package/src/domains/shared/stories/projectCliParameters.test.ts +0 -59
  771. package/src/domains/shared/stories/projectCliParameters.ts +0 -57
  772. package/src/domains/shared/stories/projectToolParams.test.ts +0 -50
  773. package/src/domains/shared/stories/projectToolParams.ts +0 -32
  774. package/src/domains/shared/stories/requirePragmaContext.test.ts +0 -23
  775. package/src/domains/shared/stories/requirePragmaContext.ts +0 -23
  776. package/src/domains/shared/stories/resolveLookupDetailed.test.ts +0 -57
  777. package/src/domains/shared/stories/resolveLookupDetailed.ts +0 -27
  778. package/src/domains/shared/stories/types.ts +0 -171
  779. package/src/domains/shared/suggestions/detectCrossDomain.test.ts +0 -43
  780. package/src/domains/shared/suggestions/detectCrossDomain.ts +0 -116
  781. package/src/domains/shared/suggestions/expandGlob.test.ts +0 -92
  782. package/src/domains/shared/suggestions/expandGlob.ts +0 -52
  783. package/src/domains/shared/suggestions/expandLookupQueries.ts +0 -57
  784. package/src/domains/shared/suggestions/index.ts +0 -7
  785. package/src/domains/shared/suggestions/listDomainNames.ts +0 -61
  786. package/src/domains/shared/suggestions/suggestNames.test.ts +0 -70
  787. package/src/domains/shared/suggestions/suggestNames.ts +0 -130
  788. package/src/domains/shared/types/block.ts +0 -107
  789. package/src/domains/shared/types/common.ts +0 -33
  790. package/src/domains/shared/types/graph.ts +0 -17
  791. package/src/domains/shared/types/index.ts +0 -50
  792. package/src/domains/shared/types/modifier.ts +0 -22
  793. package/src/domains/shared/types/ontology.ts +0 -50
  794. package/src/domains/shared/types/runtime.ts +0 -24
  795. package/src/domains/shared/types/sample.ts +0 -17
  796. package/src/domains/shared/types/standard.ts +0 -64
  797. package/src/domains/shared/types/tier.ts +0 -15
  798. package/src/domains/shared/types/token.ts +0 -30
  799. package/src/domains/skill/commands/index.ts +0 -4
  800. package/src/domains/skill/commands/list.test.ts +0 -115
  801. package/src/domains/skill/commands/list.ts +0 -11
  802. package/src/domains/skill/commands/lookup.test.ts +0 -118
  803. package/src/domains/skill/commands/lookup.ts +0 -14
  804. package/src/domains/skill/formatters/index.ts +0 -3
  805. package/src/domains/skill/formatters/list.test.ts +0 -140
  806. package/src/domains/skill/formatters/list.ts +0 -119
  807. package/src/domains/skill/formatters/lookup.test.ts +0 -46
  808. package/src/domains/skill/formatters/lookup.ts +0 -57
  809. package/src/domains/skill/formatters/types.ts +0 -8
  810. package/src/domains/skill/helpers/index.ts +0 -6
  811. package/src/domains/skill/helpers/parseFrontmatter.test.ts +0 -122
  812. package/src/domains/skill/helpers/parseFrontmatter.ts +0 -112
  813. package/src/domains/skill/helpers/resolveSkillSources.ts +0 -70
  814. package/src/domains/skill/index.ts +0 -23
  815. package/src/domains/skill/mcp/index.ts +0 -2
  816. package/src/domains/skill/mcp/specs.ts +0 -19
  817. package/src/domains/skill/operations/discover.test.ts +0 -176
  818. package/src/domains/skill/operations/discover.ts +0 -59
  819. package/src/domains/skill/operations/index.ts +0 -5
  820. package/src/domains/skill/operations/list.test.ts +0 -76
  821. package/src/domains/skill/operations/list.ts +0 -47
  822. package/src/domains/skill/operations/lookup.test.ts +0 -91
  823. package/src/domains/skill/operations/lookup.ts +0 -70
  824. package/src/domains/skill/stories.test.ts +0 -43
  825. package/src/domains/skill/stories.ts +0 -103
  826. package/src/domains/skill/types.ts +0 -33
  827. package/src/domains/standard/commands/categories.test.ts +0 -70
  828. package/src/domains/standard/commands/categories.ts +0 -48
  829. package/src/domains/standard/commands/index.ts +0 -6
  830. package/src/domains/standard/commands/list.test.ts +0 -105
  831. package/src/domains/standard/commands/list.ts +0 -11
  832. package/src/domains/standard/commands/lookup.test.ts +0 -135
  833. package/src/domains/standard/commands/lookup.ts +0 -14
  834. package/src/domains/standard/commands/sample.ts +0 -57
  835. package/src/domains/standard/formatters/categories.test.ts +0 -44
  836. package/src/domains/standard/formatters/categories.ts +0 -38
  837. package/src/domains/standard/formatters/index.ts +0 -10
  838. package/src/domains/standard/formatters/list.test.ts +0 -169
  839. package/src/domains/standard/formatters/list.ts +0 -184
  840. package/src/domains/standard/formatters/lookup.test.ts +0 -95
  841. package/src/domains/standard/formatters/lookup.ts +0 -101
  842. package/src/domains/standard/formatters/sample.ts +0 -15
  843. package/src/domains/standard/formatters/types.ts +0 -31
  844. package/src/domains/standard/index.ts +0 -40
  845. package/src/domains/standard/mcp/index.ts +0 -2
  846. package/src/domains/standard/mcp/specs.ts +0 -89
  847. package/src/domains/standard/operations/categories.test.ts +0 -61
  848. package/src/domains/standard/operations/categories.ts +0 -38
  849. package/src/domains/standard/operations/index.ts +0 -6
  850. package/src/domains/standard/operations/list.test.ts +0 -75
  851. package/src/domains/standard/operations/list.ts +0 -64
  852. package/src/domains/standard/operations/lookup.test.ts +0 -58
  853. package/src/domains/standard/operations/lookup.ts +0 -151
  854. package/src/domains/standard/operations/sample.ts +0 -35
  855. package/src/domains/standard/orchestration/buildStandardFilters.ts +0 -11
  856. package/src/domains/standard/orchestration/index.ts +0 -4
  857. package/src/domains/standard/orchestration/resolveStandardList.ts +0 -45
  858. package/src/domains/standard/orchestration/resolveStandardLookup.ts +0 -33
  859. package/src/domains/standard/orchestration/standardEmptyError.test.ts +0 -33
  860. package/src/domains/standard/orchestration/standardEmptyError.ts +0 -29
  861. package/src/domains/standard/standardConfig.ts +0 -42
  862. package/src/domains/standard/stories.test.ts +0 -24
  863. package/src/domains/standard/stories.ts +0 -151
  864. package/src/domains/standard/types.ts +0 -15
  865. package/src/domains/tier/commands/index.ts +0 -3
  866. package/src/domains/tier/commands/list.test.ts +0 -67
  867. package/src/domains/tier/commands/list.ts +0 -9
  868. package/src/domains/tier/formatters/index.ts +0 -3
  869. package/src/domains/tier/formatters/list.test.ts +0 -33
  870. package/src/domains/tier/formatters/list.ts +0 -45
  871. package/src/domains/tier/index.ts +0 -17
  872. package/src/domains/tier/mcp/index.ts +0 -2
  873. package/src/domains/tier/mcp/specs.ts +0 -12
  874. package/src/domains/tier/operations/index.ts +0 -3
  875. package/src/domains/tier/operations/list.test.ts +0 -32
  876. package/src/domains/tier/operations/list.ts +0 -33
  877. package/src/domains/tier/stories.test.ts +0 -22
  878. package/src/domains/tier/stories.ts +0 -52
  879. package/src/domains/token/commands/add-config.test.ts +0 -68
  880. package/src/domains/token/commands/add-config.ts +0 -62
  881. package/src/domains/token/commands/index.ts +0 -6
  882. package/src/domains/token/commands/list.test.ts +0 -82
  883. package/src/domains/token/commands/list.ts +0 -54
  884. package/src/domains/token/commands/lookup.test.ts +0 -125
  885. package/src/domains/token/commands/lookup.ts +0 -95
  886. package/src/domains/token/commands/sample.ts +0 -53
  887. package/src/domains/token/formatters/index.ts +0 -8
  888. package/src/domains/token/formatters/list.test.ts +0 -37
  889. package/src/domains/token/formatters/list.ts +0 -24
  890. package/src/domains/token/formatters/lookup.test.ts +0 -61
  891. package/src/domains/token/formatters/lookup.ts +0 -107
  892. package/src/domains/token/formatters/sample.ts +0 -16
  893. package/src/domains/token/index.ts +0 -40
  894. package/src/domains/token/mcp/index.ts +0 -2
  895. package/src/domains/token/mcp/specs.ts +0 -195
  896. package/src/domains/token/operations/add-config.test.ts +0 -68
  897. package/src/domains/token/operations/add-config.ts +0 -61
  898. package/src/domains/token/operations/index.ts +0 -8
  899. package/src/domains/token/operations/list.test.ts +0 -50
  900. package/src/domains/token/operations/list.ts +0 -52
  901. package/src/domains/token/operations/lookup.test.ts +0 -42
  902. package/src/domains/token/operations/lookup.ts +0 -75
  903. package/src/domains/token/operations/sample.ts +0 -32
  904. package/src/domains/token/orchestration/index.ts +0 -3
  905. package/src/domains/token/orchestration/resolveTokenList.ts +0 -17
  906. package/src/domains/token/orchestration/resolveTokenLookup.ts +0 -33
  907. package/src/domains/token/orchestration/tokenEmptyError.test.ts +0 -33
  908. package/src/domains/token/orchestration/tokenEmptyError.ts +0 -20
  909. package/src/domains/token/tokenConfig.ts +0 -38
  910. package/src/domains/token/types.ts +0 -6
  911. package/src/domains/trace/commands/clear.ts +0 -71
  912. package/src/domains/trace/commands/index.ts +0 -5
  913. package/src/domains/trace/commands/sessions.ts +0 -32
  914. package/src/domains/trace/commands/show.ts +0 -145
  915. package/src/domains/trace/formatters/index.ts +0 -9
  916. package/src/domains/trace/formatters/sessions.ts +0 -80
  917. package/src/domains/trace/formatters/show.ts +0 -122
  918. package/src/domains/trace/index.ts +0 -17
  919. package/src/domains/trace/operations/index.ts +0 -8
  920. package/src/domains/trace/operations/listSessions.test.ts +0 -55
  921. package/src/domains/trace/operations/listSessions.ts +0 -52
  922. package/src/domains/trace/operations/readTraceLog.test.ts +0 -100
  923. package/src/domains/trace/operations/readTraceLog.ts +0 -104
  924. package/src/domains/trace/tracePlugin.test.ts +0 -171
  925. package/src/domains/trace/tracePlugin.ts +0 -159
  926. package/src/domains/trace/types.ts +0 -65
  927. package/src/embedWasm.ts +0 -42
  928. package/src/error/PragmaError.test.ts +0 -121
  929. package/src/error/PragmaError.ts +0 -177
  930. package/src/error/constants.ts +0 -12
  931. package/src/error/index.ts +0 -4
  932. package/src/error/types.ts +0 -55
  933. package/src/mcp/createMcpServer.test.ts +0 -41
  934. package/src/mcp/createMcpServer.ts +0 -53
  935. package/src/mcp/error/buildRecovery.test.ts +0 -37
  936. package/src/mcp/error/buildRecovery.ts +0 -17
  937. package/src/mcp/error/index.ts +0 -12
  938. package/src/mcp/error/serializeError.test.ts +0 -121
  939. package/src/mcp/error/serializeError.ts +0 -31
  940. package/src/mcp/error/serializeErrorPayload.test.ts +0 -38
  941. package/src/mcp/error/serializeErrorPayload.ts +0 -34
  942. package/src/mcp/error/types.ts +0 -59
  943. package/src/mcp/index.ts +0 -15
  944. package/src/mcp/registerResources.test.ts +0 -566
  945. package/src/mcp/registerResources.ts +0 -9
  946. package/src/mcp/resources/buildGraphIndex.ts +0 -167
  947. package/src/mcp/resources/buildResourceList.test.ts +0 -97
  948. package/src/mcp/resources/buildResourceList.ts +0 -176
  949. package/src/mcp/resources/classifyEntity.test.ts +0 -40
  950. package/src/mcp/resources/classifyEntity.ts +0 -27
  951. package/src/mcp/resources/constants.ts +0 -105
  952. package/src/mcp/resources/displayPredicates.ts +0 -62
  953. package/src/mcp/resources/pickFirstValue.test.ts +0 -29
  954. package/src/mcp/resources/pickFirstValue.ts +0 -26
  955. package/src/mcp/resources/pickPrimaryType.test.ts +0 -41
  956. package/src/mcp/resources/pickPrimaryType.ts +0 -26
  957. package/src/mcp/resources/rankUriCompletions.test.ts +0 -52
  958. package/src/mcp/resources/rankUriCompletions.ts +0 -64
  959. package/src/mcp/resources/readEntity.ts +0 -169
  960. package/src/mcp/resources/registerResources.ts +0 -126
  961. package/src/mcp/resources/types.ts +0 -128
  962. package/src/mcp/runMcpServer.test.ts +0 -66
  963. package/src/mcp/runMcpServer.ts +0 -24
  964. package/src/mcp/tools/index.ts +0 -66
  965. package/src/mcp/tools/registerFromSpec.ts +0 -97
  966. package/src/mcp/tools/registerTools.test.ts +0 -1201
  967. package/src/mcp/types.ts +0 -66
  968. package/src/mcp/utils/estimateTokens.test.ts +0 -14
  969. package/src/mcp/utils/estimateTokens.ts +0 -9
  970. package/src/mcp/utils/index.ts +0 -11
  971. package/src/mcp/utils/wrapTool.test.ts +0 -109
  972. package/src/mcp/utils/wrapTool.ts +0 -81
  973. package/src/package-manager/constants.ts +0 -29
  974. package/src/package-manager/detectInstallSource.test.ts +0 -23
  975. package/src/package-manager/detectInstallSource.ts +0 -111
  976. package/src/package-manager/detectLocalInstall.test.ts +0 -16
  977. package/src/package-manager/detectLocalInstall.ts +0 -43
  978. package/src/package-manager/detectPackageManager.test.ts +0 -81
  979. package/src/package-manager/detectPackageManager.ts +0 -30
  980. package/src/package-manager/index.ts +0 -6
  981. package/src/package-manager/types.ts +0 -10
  982. package/src/pipeline/collectCommands.test.ts +0 -37
  983. package/src/pipeline/collectCommands.ts +0 -60
  984. package/src/pipeline/constants.ts +0 -14
  985. package/src/pipeline/createProgram.test.ts +0 -112
  986. package/src/pipeline/createProgram.ts +0 -89
  987. package/src/pipeline/formatTerminal.test.ts +0 -43
  988. package/src/pipeline/formatTerminal.ts +0 -53
  989. package/src/pipeline/index.ts +0 -22
  990. package/src/pipeline/mapExitCode.test.ts +0 -41
  991. package/src/pipeline/mapExitCode.ts +0 -12
  992. package/src/pipeline/parseGlobalFlags.test.ts +0 -92
  993. package/src/pipeline/parseGlobalFlags.ts +0 -46
  994. package/src/pipeline/renderError.test.ts +0 -151
  995. package/src/pipeline/renderError.ts +0 -129
  996. package/src/pipeline/resolveCommandKind.test.ts +0 -68
  997. package/src/pipeline/resolveCommandKind.ts +0 -78
  998. package/src/pipeline/runCli.orchestration.test.ts +0 -419
  999. package/src/pipeline/runCli.test.ts +0 -70
  1000. package/src/pipeline/runCli.ts +0 -268
  1001. package/src/pipeline/types.ts +0 -17
  1002. package/src/testing/cli.ts +0 -43
  1003. package/src/testing/createTestMcpClient.ts +0 -68
  1004. package/src/testing/dsFixtures.ts +0 -506
  1005. package/src/testing/fixtures/canonical-config.json +0 -4
  1006. package/src/testing/fixtures/canonical.ttl +0 -437
  1007. package/src/testing/fixtures/filtered-config.json +0 -4
  1008. package/src/testing/fixtures.ts +0 -34
  1009. package/src/testing/graphqlFixtures.ts +0 -72
  1010. package/src/testing/helpers/assertParity.ts +0 -28
  1011. package/src/testing/helpers/createTestMcpClient.ts +0 -40
  1012. package/src/testing/helpers/createTestRuntime.ts +0 -67
  1013. package/src/testing/index.ts +0 -25
  1014. package/src/testing/integration/__snapshots__/executor-golden.test.ts.snap +0 -1207
  1015. package/src/testing/integration/agent-session.test.ts +0 -148
  1016. package/src/testing/integration/boot.test.ts +0 -105
  1017. package/src/testing/integration/cli-user-stories.test.ts +0 -198
  1018. package/src/testing/integration/cross-binary-byte-equality.test.ts +0 -129
  1019. package/src/testing/integration/edge-cases.test.ts +0 -263
  1020. package/src/testing/integration/executor-execution.test.ts +0 -101
  1021. package/src/testing/integration/executor-golden.test.ts +0 -145
  1022. package/src/testing/integration/mcp-surface.test.ts +0 -580
  1023. package/src/testing/integration/parity.test.ts +0 -547
  1024. package/src/testing/regression/0001-skill-discovery-granularity.test.ts +0 -71
  1025. package/src/testing/standardParityFixtures.ts +0 -92
  1026. package/src/testing/store.ts +0 -39
  1027. package/src/testing/storyFixtures.ts +0 -63
  1028. package/src/testing/types.ts +0 -20
  1029. package/src/tui/components/BulletList/BulletList.tsx +0 -46
  1030. package/src/tui/components/BulletList/index.ts +0 -2
  1031. package/src/tui/components/BulletList/types.ts +0 -6
  1032. package/src/tui/components/Card/Card.tsx +0 -73
  1033. package/src/tui/components/Card/index.ts +0 -1
  1034. package/src/tui/components/Card/types.ts +0 -12
  1035. package/src/tui/components/CodeBlock/CodeBlock.tsx +0 -37
  1036. package/src/tui/components/CodeBlock/index.ts +0 -2
  1037. package/src/tui/components/CodeBlock/types.ts +0 -6
  1038. package/src/tui/components/DataRow/DataRow.tsx +0 -80
  1039. package/src/tui/components/DataRow/index.ts +0 -2
  1040. package/src/tui/components/DataRow/types.ts +0 -14
  1041. package/src/tui/components/FieldRow/FieldRow.tsx +0 -24
  1042. package/src/tui/components/FieldRow/index.ts +0 -2
  1043. package/src/tui/components/FieldRow/types.ts +0 -10
  1044. package/src/tui/components/HeaderRow/HeaderRow.tsx +0 -32
  1045. package/src/tui/components/HeaderRow/index.ts +0 -2
  1046. package/src/tui/components/HeaderRow/types.ts +0 -8
  1047. package/src/tui/components/MarkdownText/MarkdownText.tsx +0 -19
  1048. package/src/tui/components/MarkdownText/index.ts +0 -2
  1049. package/src/tui/components/MarkdownText/types.ts +0 -4
  1050. package/src/tui/components/MiniTable/MiniTable.tsx +0 -82
  1051. package/src/tui/components/MiniTable/index.ts +0 -2
  1052. package/src/tui/components/MiniTable/types.ts +0 -6
  1053. package/src/tui/components/SectionRenderer/SectionRenderer.tsx +0 -91
  1054. package/src/tui/components/SectionRenderer/index.ts +0 -2
  1055. package/src/tui/components/SectionRenderer/types.ts +0 -15
  1056. package/src/tui/components/TreeView/TreeView.tsx +0 -84
  1057. package/src/tui/components/TreeView/index.ts +0 -2
  1058. package/src/tui/components/TreeView/types.ts +0 -6
  1059. package/src/tui/components/index.ts +0 -19
  1060. package/src/tui/constants.ts +0 -39
  1061. package/src/tui/createListView.ts +0 -23
  1062. package/src/tui/createLookupView.ts +0 -26
  1063. package/src/tui/helpers/computeWidths.ts +0 -53
  1064. package/src/tui/helpers/fitColumns.ts +0 -33
  1065. package/src/tui/helpers/formatMarkdown.ts +0 -19
  1066. package/src/tui/helpers/getTerminalSize.ts +0 -16
  1067. package/src/tui/helpers/index.ts +0 -6
  1068. package/src/tui/helpers/syntaxColor.ts +0 -67
  1069. package/src/tui/helpers/truncateText.ts +0 -12
  1070. package/src/tui/hooks/index.ts +0 -3
  1071. package/src/tui/hooks/types.ts +0 -7
  1072. package/src/tui/hooks/useAutoExit.ts +0 -17
  1073. package/src/tui/hooks/useTerminalSize.ts +0 -19
  1074. package/src/tui/index.ts +0 -15
  1075. package/src/tui/renderInk.tsx +0 -18
  1076. package/src/tui/types.ts +0 -12
  1077. package/src/tui/views/ListView/ListView.tsx +0 -104
  1078. package/src/tui/views/ListView/index.ts +0 -2
  1079. package/src/tui/views/ListView/types.ts +0 -14
  1080. package/src/tui/views/LookupView/LookupView.tsx +0 -244
  1081. package/src/tui/views/LookupView/index.ts +0 -2
  1082. package/src/tui/views/LookupView/types.ts +0 -16
  1083. package/src/tui/views/index.ts +0 -4
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Process exit codes for the CLI projector (D2).
3
+ *
4
+ * The covenant freezes exactly four ERROR-CLASSIFICATION codes: success, a
5
+ * generic runtime failure, a usage failure, and an unavailable store.
6
+ * {@link mapExitCode} routes every {@link ErrorCode} into one of them — usage
7
+ * errors the shell can fix, a store that is not reachable, and everything else
8
+ * as a runtime failure.
9
+ *
10
+ * COVENANT NOTE — out-of-band codes bypass {@link mapExitCode} by design. The
11
+ * dispatch catch sets two codes DIRECTLY, never through the map, so the frozen
12
+ * `{0,1,2,3}` classification set is untouched:
13
+ * - a deliberate cancel (declining the confirm gate / an at-prompt Ctrl-C)
14
+ * exits {@link EXIT.OK} (0) — a user choice, not a failure; and
15
+ * - an interrupt ({@link EXIT.INTERRUPTED}, 130) — a run aborted by SIGINT or
16
+ * an in-wizard Ctrl-C mid-execution, following the UNIX 128+SIGINT
17
+ * convention. It is intentionally out-of-band from the four error codes and
18
+ * is NOT produced by `mapExitCode`.
19
+ */
20
+
21
+ import type { ErrorCode } from "../../error/types.js";
22
+
23
+ /**
24
+ * The process exit codes. The first four are the covenant's frozen
25
+ * error-classification set (produced by {@link mapExitCode}); `INTERRUPTED` is
26
+ * the out-of-band UNIX interrupt code set directly at the dispatch catch (see
27
+ * the module doc), never routed through the map.
28
+ */
29
+ export const EXIT = {
30
+ /** Success. */
31
+ OK: 0,
32
+ /** Generic runtime failure (entity-not-found, empty, config, internal). */
33
+ RUNTIME: 1,
34
+ /** Usage failure (invalid/ambiguous input, unknown verb). */
35
+ USAGE: 2,
36
+ /** The knowledge-engine store could not be reached. */
37
+ STORE_UNAVAILABLE: 3,
38
+ /**
39
+ * Interrupted by SIGINT / an in-wizard Ctrl-C during execution (UNIX
40
+ * 128+SIGINT). Out-of-band from the four classification codes above: set
41
+ * directly at the dispatch catch, NOT via {@link mapExitCode}.
42
+ */
43
+ INTERRUPTED: 130,
44
+ } as const;
45
+
46
+ /** Error codes that signal a usage mistake the caller can correct. */
47
+ const USAGE_CODES = new Set<ErrorCode>([
48
+ "INVALID_INPUT",
49
+ "AMBIGUOUS_INPUT",
50
+ "UNKNOWN_VERB",
51
+ ]);
52
+
53
+ /**
54
+ * Map a {@link PragmaError} code to its numeric process exit code.
55
+ *
56
+ * Usage codes map to {@link EXIT.USAGE}, an unavailable store to
57
+ * {@link EXIT.STORE_UNAVAILABLE}, and every other code — entity-not-found,
58
+ * empty results, config error, internal error — to the generic
59
+ * {@link EXIT.RUNTIME}.
60
+ *
61
+ * @param code - The error code to map.
62
+ * @returns The corresponding process exit code.
63
+ */
64
+ export function mapExitCode(code: ErrorCode): number {
65
+ if (code === "STORE_UNAVAILABLE") return EXIT.STORE_UNAVAILABLE;
66
+ if (USAGE_CODES.has(code)) return EXIT.USAGE;
67
+ return EXIT.RUNTIME;
68
+ }
@@ -0,0 +1,99 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import {
3
+ parseGlobalFlags,
4
+ readRawFormat,
5
+ stripGlobalFlags,
6
+ } from "./globalFlags.js";
7
+
8
+ const TTY = { isTty: true, noAutoLlm: false };
9
+ const PIPE = { isTty: false, noAutoLlm: false };
10
+
11
+ describe("parseGlobalFlags", () => {
12
+ it("honours an explicit --llm", () => {
13
+ expect(parseGlobalFlags(["--llm"], TTY)).toMatchObject({
14
+ llm: true,
15
+ autoLlm: false,
16
+ format: "plain",
17
+ });
18
+ });
19
+
20
+ it("selects json format (space and equals forms)", () => {
21
+ expect(parseGlobalFlags(["--format", "json"], TTY).format).toBe("json");
22
+ expect(parseGlobalFlags(["--format=json"], TTY).format).toBe("json");
23
+ });
24
+
25
+ it("renames --format text to plain", () => {
26
+ expect(parseGlobalFlags(["--format", "text"], PIPE).format).toBe("plain");
27
+ });
28
+
29
+ it("auto-enables llm on a non-interactive stdout", () => {
30
+ expect(parseGlobalFlags([], PIPE)).toMatchObject({
31
+ llm: true,
32
+ autoLlm: true,
33
+ });
34
+ });
35
+
36
+ it("stays rich on an interactive terminal", () => {
37
+ expect(parseGlobalFlags([], TTY)).toMatchObject({
38
+ llm: false,
39
+ autoLlm: false,
40
+ });
41
+ });
42
+
43
+ it("respects PRAGMA_NO_AUTO_LLM", () => {
44
+ expect(
45
+ parseGlobalFlags([], { isTty: false, noAutoLlm: true }),
46
+ ).toMatchObject({ llm: false, autoLlm: false });
47
+ });
48
+
49
+ it("does not auto-enable llm when a format is requested", () => {
50
+ expect(parseGlobalFlags(["--format", "json"], PIPE).llm).toBe(false);
51
+ });
52
+
53
+ it("reads a valid --detail level and drops an invalid one", () => {
54
+ expect(parseGlobalFlags(["--detail", "detailed"], TTY).detail).toBe(
55
+ "detailed",
56
+ );
57
+ expect(parseGlobalFlags(["--detail", "bogus"], TTY).detail).toBeUndefined();
58
+ });
59
+
60
+ it("reads --verbose", () => {
61
+ expect(parseGlobalFlags(["--verbose"], TTY).verbose).toBe(true);
62
+ });
63
+ });
64
+
65
+ describe("stripGlobalFlags", () => {
66
+ it("removes global flags and their values, keeping the command", () => {
67
+ expect(stripGlobalFlags(["--format", "json", "block", "list"])).toEqual([
68
+ "block",
69
+ "list",
70
+ ]);
71
+ expect(
72
+ stripGlobalFlags(["block", "--llm", "list", "--detail", "detailed"]),
73
+ ).toEqual(["block", "list"]);
74
+ expect(stripGlobalFlags(["--format=json", "config", "show"])).toEqual([
75
+ "config",
76
+ "show",
77
+ ]);
78
+ expect(stripGlobalFlags(["config", "show", "--verbose"])).toEqual([
79
+ "config",
80
+ "show",
81
+ ]);
82
+ });
83
+ });
84
+
85
+ describe("readRawFormat", () => {
86
+ it("returns the raw value for validation", () => {
87
+ expect(readRawFormat(["--format", "yaml"])).toBe("yaml");
88
+ expect(readRawFormat(["--format=json"])).toBe("json");
89
+ });
90
+
91
+ it("reports a valueless --format as empty string", () => {
92
+ expect(readRawFormat(["--format"])).toBe("");
93
+ expect(readRawFormat(["--format", "--llm"])).toBe("");
94
+ });
95
+
96
+ it("returns undefined when --format is absent", () => {
97
+ expect(readRawFormat(["block", "list"])).toBeUndefined();
98
+ });
99
+ });
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Global-flag pre-parsing, ahead of Commander.
3
+ *
4
+ * `--llm`, `--format`, `--verbose`, and `--detail` may appear anywhere on the
5
+ * line, so they are scanned and stripped before Commander sees argv — otherwise
6
+ * `enablePositionalOptions()` scoping would reject a flag placed after a verb.
7
+ * Ported from the v1 `parseGlobalFlags`, with two v2 changes: a new `--detail`
8
+ * flag and the `--format text` value renamed to `plain` (the kernel's
9
+ * {@link OutputFormat}). Both the space (`--format json`) and equals
10
+ * (`--format=json`) forms are recognized.
11
+ */
12
+
13
+ import { DETAIL_LEVELS, type DetailLevel } from "../../../constants.js";
14
+ import type { GlobalFlags } from "../../runtime/types.js";
15
+
16
+ /**
17
+ * Read a `--flag`'s value, accepting both `--flag value` and `--flag=value`.
18
+ *
19
+ * @param argv - Raw argv (already sliced to the user's arguments).
20
+ * @param flag - The flag including leading dashes (e.g. `--format`).
21
+ * @returns The value, or `undefined` when the flag is absent.
22
+ */
23
+ function readFlagValue(
24
+ argv: readonly string[],
25
+ flag: string,
26
+ ): string | undefined {
27
+ const equalsPrefix = `${flag}=`;
28
+ const equalsArg = argv.find((arg) => arg.startsWith(equalsPrefix));
29
+ if (equalsArg !== undefined) {
30
+ return equalsArg.slice(equalsPrefix.length);
31
+ }
32
+ const spaceIndex = argv.indexOf(flag);
33
+ return spaceIndex === -1 ? undefined : argv[spaceIndex + 1];
34
+ }
35
+
36
+ /**
37
+ * Read the raw `--format` value exactly as typed, for validation.
38
+ *
39
+ * Unlike {@link parseGlobalFlags} this does not normalize — the caller decides
40
+ * how to reject an unknown value. A bare `--format` with no following value is
41
+ * reported as `""` (not `undefined`) so it is rejected rather than silently
42
+ * falling through.
43
+ *
44
+ * @param argv - Raw argv (the user's arguments).
45
+ * @returns The raw value, `""` for a valueless `--format`, or `undefined`.
46
+ */
47
+ export function readRawFormat(argv: readonly string[]): string | undefined {
48
+ const equalsArg = argv.find((arg) => arg.startsWith("--format="));
49
+ if (equalsArg !== undefined) return equalsArg.slice("--format=".length);
50
+
51
+ const spaceIndex = argv.indexOf("--format");
52
+ if (spaceIndex === -1) return undefined;
53
+
54
+ const value = argv[spaceIndex + 1];
55
+ return value !== undefined && !value.startsWith("-") ? value : "";
56
+ }
57
+
58
+ /**
59
+ * Environment probe for the auto-LLM default. Injectable so detection can be
60
+ * unit-tested without touching the real process.
61
+ */
62
+ export interface OutputEnvironment {
63
+ /** Whether stdout is attached to an interactive terminal. */
64
+ readonly isTty: boolean;
65
+ /** Whether the auto-LLM default is explicitly disabled. */
66
+ readonly noAutoLlm: boolean;
67
+ }
68
+
69
+ /** Read the real stdout/env output environment. @note Impure — reads process. */
70
+ function readOutputEnvironment(): OutputEnvironment {
71
+ return {
72
+ isTty: process.stdout.isTTY === true,
73
+ noAutoLlm: Boolean(process.env.PRAGMA_NO_AUTO_LLM),
74
+ };
75
+ }
76
+
77
+ /** Narrow a raw `--detail` value to a recognized level, else `undefined`. */
78
+ function readDetail(argv: readonly string[]): DetailLevel | undefined {
79
+ const raw = readFlagValue(argv, "--detail");
80
+ if (raw !== undefined && (DETAIL_LEVELS as readonly string[]).includes(raw)) {
81
+ return raw as DetailLevel;
82
+ }
83
+ return undefined;
84
+ }
85
+
86
+ /**
87
+ * Extract the global flags from raw argv (the user's arguments, argv[2:]).
88
+ *
89
+ * Auto-LLM: with no `--llm`/`--format` and a non-interactive stdout (piped or
90
+ * redirected — the shape an agent captures), `llm` defaults to true so agents
91
+ * get condensed Markdown without a flag. `--llm`, `--format`, and
92
+ * `PRAGMA_NO_AUTO_LLM` all override it.
93
+ *
94
+ * @param argv - The user's arguments (no `node`/script prefix).
95
+ * @param env - Output environment probe (defaults to the real process).
96
+ * @returns The parsed global flags.
97
+ * @note Impure by default — reads process.stdout/env unless `env` is injected.
98
+ */
99
+ export function parseGlobalFlags(
100
+ argv: readonly string[],
101
+ env: OutputEnvironment = readOutputEnvironment(),
102
+ ): GlobalFlags {
103
+ const explicitLlm = argv.includes("--llm");
104
+ const rawFormat = readFlagValue(argv, "--format");
105
+ const format = rawFormat === "json" ? "json" : "plain";
106
+ const formatRequested = rawFormat !== undefined;
107
+ const autoLlm =
108
+ !explicitLlm && !formatRequested && !env.isTty && !env.noAutoLlm;
109
+ const detail = readDetail(argv);
110
+ return {
111
+ llm: explicitLlm || autoLlm,
112
+ autoLlm,
113
+ format,
114
+ verbose: argv.includes("--verbose"),
115
+ ...(detail !== undefined ? { detail } : {}),
116
+ };
117
+ }
118
+
119
+ /**
120
+ * Return a copy of argv with every global flag (and its value) removed.
121
+ *
122
+ * Since {@link parseGlobalFlags} pre-parses these, they are dropped so they do
123
+ * not collide with Commander's positional scoping, letting the user place them
124
+ * anywhere on the line.
125
+ *
126
+ * @param argv - The user's arguments.
127
+ * @returns A new array with global flags stripped.
128
+ */
129
+ export function stripGlobalFlags(argv: readonly string[]): string[] {
130
+ const result: string[] = [];
131
+ for (let i = 0; i < argv.length; i++) {
132
+ const arg = argv[i];
133
+ if (arg === "--llm" || arg === "--verbose") continue;
134
+ if (
135
+ arg?.startsWith("--format=") ||
136
+ arg?.startsWith("--llm=") ||
137
+ arg?.startsWith("--verbose=") ||
138
+ arg?.startsWith("--detail=")
139
+ ) {
140
+ continue;
141
+ }
142
+ if (arg === "--format" || arg === "--detail") {
143
+ i += 1; // skip the space-form value too
144
+ continue;
145
+ }
146
+ result.push(arg as string);
147
+ }
148
+ return result;
149
+ }
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Shared help-rendering primitives — the ONE visual system every help page
3
+ * composes from.
4
+ *
5
+ * Root help (`rootHelp.ts`), noun help, and verb help (`verbHelp.ts`) all build
6
+ * their pages out of these helpers so the front door and the leaf pages read as
7
+ * the same CLI: a dim `Usage:` label, bold section headers, a cyan-term /
8
+ * dim-description two-column body, and a dim footer that points at the next help
9
+ * level. chalk auto-disables color off a TTY, so goldens, piped output, and MCP
10
+ * transports all capture plain text — only an interactive terminal gets color.
11
+ */
12
+
13
+ import chalk from "chalk";
14
+
15
+ /** Two-space indent for every list body row. */
16
+ const INDENT = " ";
17
+ /** Two-space gap between a term column and its description. */
18
+ const GAP = " ";
19
+
20
+ /** A bold section header (`Flags`, `Verbs`, `Explore the design system`). */
21
+ export function helpHeading(text: string): string {
22
+ return chalk.bold(text);
23
+ }
24
+
25
+ /** Dim secondary text — an example note, or the footer line. */
26
+ export function helpDim(text: string): string {
27
+ return chalk.dim(text);
28
+ }
29
+
30
+ /** A cyan term — a command, verb, flag, or example, as shown in the body. */
31
+ export function helpTerm(text: string): string {
32
+ return chalk.cyan(text);
33
+ }
34
+
35
+ /** The `Usage:` line: a dim label followed by the given command shape. */
36
+ export function helpUsage(body: string): string {
37
+ return `${chalk.dim("Usage:")} ${body}`;
38
+ }
39
+
40
+ /**
41
+ * Render aligned two-column rows: a cyan term padded to a common width, then its
42
+ * dim description. Pass an explicit `width` to align across several lists (the
43
+ * root's grouped sections share one column); omit it to size to these rows
44
+ * alone.
45
+ *
46
+ * @param rows - `[term, description]` pairs.
47
+ * @param width - Optional shared column width; defaults to the widest term.
48
+ * @returns One formatted line per row.
49
+ */
50
+ export function helpColumns(
51
+ rows: readonly (readonly [term: string, description: string])[],
52
+ width?: number,
53
+ ): string[] {
54
+ const column = width ?? Math.max(0, ...rows.map(([term]) => term.length));
55
+ return rows.map(([term, description]) =>
56
+ `${INDENT}${chalk.cyan(term.padEnd(column))}${GAP}${chalk.dim(description)}`.trimEnd(),
57
+ );
58
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * CLI projector barrel — the Commander program, dispatcher, help, and
3
+ * exit-code model. The bin composes these; tests build programs from arbitrary
4
+ * modules via the `projectCli` helper.
5
+ */
6
+
7
+ export type { BuildProgramOptions } from "./buildProgram.js";
8
+ export { buildProgram } from "./buildProgram.js";
9
+ export type { DispatchOutcome, MutationFlags } from "./dispatch.js";
10
+ export { dispatch, executeVerb, extractParams } from "./dispatch.js";
11
+ export { EXIT, mapExitCode } from "./exitCodes.js";
12
+ export type { OutputEnvironment } from "./globalFlags.js";
13
+ export {
14
+ parseGlobalFlags,
15
+ readRawFormat,
16
+ stripGlobalFlags,
17
+ } from "./globalFlags.js";
18
+ export { formatRootHelp } from "./rootHelp.js";
19
+ export { nounVerbMap, resolveUnknownCommand } from "./suggest.js";
20
+ export { suggestNames } from "./suggestNames.js";
21
+ export { formatNounHelp, formatVerbHelp } from "./verbHelp.js";
@@ -0,0 +1,99 @@
1
+ /**
2
+ * The §0 spine: a mutating verb reads `runtime.interaction` and sets
3
+ * `runtime.exec`, and the dispatcher spreads `exec` into the node interpreter
4
+ * on the REAL-run branch only — so an interactive Prompt effect is resolved by
5
+ * the injected handler (not the bare `NO_PROMPT_HANDLER` throw), while
6
+ * `--dry-run` stays handler-free and mocks the prompt.
7
+ */
8
+
9
+ import { $, gen, prompt } from "@canonical/task";
10
+ import { describe, expect, it, vi } from "vitest";
11
+ import { bootRuntime } from "../../runtime/boot.js";
12
+ import type { GlobalFlags, VerbSpec } from "../../spec/types.js";
13
+ import { executeVerb, type MutationFlags } from "./dispatch.js";
14
+
15
+ const FLAGS: GlobalFlags = {
16
+ llm: false,
17
+ autoLlm: false,
18
+ format: "plain",
19
+ verbose: false,
20
+ };
21
+ const noMutation: MutationFlags = { dryRun: false, undo: false, yes: false };
22
+
23
+ const json = (d: unknown) => JSON.stringify(d);
24
+
25
+ /** A mutating verb whose task prompts once and whose `run` wires `exec`. */
26
+ function seamVerb(onExec?: () => void): VerbSpec {
27
+ return {
28
+ path: ["fixture", "seam"],
29
+ summary: "A prompting mutation.",
30
+ params: [],
31
+ output: { formatters: { plain: json, llm: json, json } },
32
+ capability: {
33
+ needsStore: false,
34
+ mutates: true,
35
+ interactive: true,
36
+ mcp: { expose: false, reason: "test fixture" },
37
+ },
38
+ run: (_params, rt) => {
39
+ // The verb picks its strategy from the interaction context and records it
40
+ // as the injected prompt handler + optional teardown.
41
+ const answer = rt.interaction?.yes ? "confirmed" : "attended";
42
+ rt.exec = {
43
+ promptHandler: () => Promise.resolve(answer),
44
+ dispose: onExec,
45
+ };
46
+ return gen(function* () {
47
+ const value = yield* $(
48
+ prompt({ type: "text", name: "which", message: "Which?" }),
49
+ );
50
+ return { value };
51
+ });
52
+ },
53
+ };
54
+ }
55
+
56
+ describe("interaction/exec seam (PROTECTED)", () => {
57
+ it("resolves an interactive Prompt through the verb's injected handler", async () => {
58
+ const runtime = bootRuntime(FLAGS);
59
+ const outcome = await executeVerb(
60
+ seamVerb(),
61
+ {},
62
+ { ...noMutation, yes: true },
63
+ runtime,
64
+ );
65
+ expect(outcome.exitCode).toBe(0);
66
+ expect(outcome.stdout).toContain("confirmed");
67
+ });
68
+
69
+ it("passes the interaction context (yes flag) to the verb", async () => {
70
+ const runtime = bootRuntime(FLAGS);
71
+ const outcome = await executeVerb(seamVerb(), {}, noMutation, runtime);
72
+ expect(outcome.stdout).toContain("attended");
73
+ });
74
+
75
+ it("runs the verb's exec.dispose teardown after a real run", async () => {
76
+ const dispose = vi.fn();
77
+ const runtime = bootRuntime(FLAGS);
78
+ await executeVerb(
79
+ seamVerb(dispose),
80
+ {},
81
+ { ...noMutation, yes: true },
82
+ runtime,
83
+ );
84
+ expect(dispose).toHaveBeenCalledTimes(1);
85
+ });
86
+
87
+ it("dry-run stays handler-free, mocks the prompt, and omits it from the plan", async () => {
88
+ const runtime = bootRuntime(FLAGS);
89
+ const outcome = await executeVerb(
90
+ seamVerb(),
91
+ {},
92
+ { ...noMutation, dryRun: true },
93
+ runtime,
94
+ );
95
+ expect(outcome.exitCode).toBe(0);
96
+ // The only effect is the Prompt (mocked) — filtered from the plan.
97
+ expect(outcome.stdout).toContain("no effects");
98
+ });
99
+ });