@canonical/pragma-cli 0.31.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 (1064) hide show
  1. package/dist/pragma +0 -0
  2. package/package.json +27 -42
  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 -70
  157. package/src/index.ts +27 -122
  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 +13 -12
  359. package/src/types.ts +42 -0
  360. package/README.md +0 -458
  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 -25
  367. package/src/completions/handleQuery.test.ts +0 -125
  368. package/src/completions/handleQuery.ts +0 -49
  369. package/src/completions/index.ts +0 -14
  370. package/src/completions/queryCompletions.test.ts +0 -105
  371. package/src/completions/queryCompletions.ts +0 -75
  372. package/src/completions/querySocket.test.ts +0 -101
  373. package/src/completions/querySocket.ts +0 -71
  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 -217
  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 -109
  391. package/src/config/readConfigLayers.ts +0 -118
  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 -128
  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 -56
  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 -44
  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 -260
  434. package/src/domains/block/types.ts +0 -30
  435. package/src/domains/config/commands/channel.test.ts +0 -128
  436. package/src/domains/config/commands/channel.ts +0 -99
  437. package/src/domains/config/commands/configScope.ts +0 -46
  438. package/src/domains/config/commands/framework.test.ts +0 -119
  439. package/src/domains/config/commands/framework.ts +0 -103
  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 -102
  444. package/src/domains/config/commands/tier.ts +0 -97
  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 -65
  467. package/src/domains/config/operations/validateTier.ts +0 -43
  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/generatorPack/bundled.ts +0 -49
  476. package/src/domains/create/generatorPack/compileGeneratorPack.test.ts +0 -159
  477. package/src/domains/create/generatorPack/compileGeneratorPack.ts +0 -312
  478. package/src/domains/create/index.ts +0 -21
  479. package/src/domains/create/mcp/index.ts +0 -2
  480. package/src/domains/create/mcp/specs.ts +0 -13
  481. package/src/domains/create/renderGeneratorUi.test.ts +0 -103
  482. package/src/domains/create/renderGeneratorUi.ts +0 -65
  483. package/src/domains/doctor/commands/doctor.test.ts +0 -75
  484. package/src/domains/doctor/commands/doctor.ts +0 -43
  485. package/src/domains/doctor/commands/index.ts +0 -2
  486. package/src/domains/doctor/formatters/doctor.test.ts +0 -165
  487. package/src/domains/doctor/formatters/doctor.ts +0 -136
  488. package/src/domains/doctor/formatters/index.ts +0 -2
  489. package/src/domains/doctor/index.ts +0 -9
  490. package/src/domains/doctor/mcp/index.ts +0 -2
  491. package/src/domains/doctor/mcp/specs.ts +0 -41
  492. package/src/domains/doctor/operations/checks/checkConfigFile.ts +0 -42
  493. package/src/domains/doctor/operations/checks/checkKeStore.ts +0 -38
  494. package/src/domains/doctor/operations/checks/checkMcpCommands.ts +0 -133
  495. package/src/domains/doctor/operations/checks/checkMcpConfigured.ts +0 -65
  496. package/src/domains/doctor/operations/checks/checkNodeVersion.ts +0 -25
  497. package/src/domains/doctor/operations/checks/checkPackageRefs.ts +0 -76
  498. package/src/domains/doctor/operations/checks/checkPragmaVersion.ts +0 -20
  499. package/src/domains/doctor/operations/checks/checkShellCompletions.ts +0 -42
  500. package/src/domains/doctor/operations/checks/checkSkillsSymlinked.ts +0 -64
  501. package/src/domains/doctor/operations/checks/index.ts +0 -10
  502. package/src/domains/doctor/operations/checks.test.ts +0 -307
  503. package/src/domains/doctor/operations/index.ts +0 -3
  504. package/src/domains/doctor/operations/runChecks.test.ts +0 -176
  505. package/src/domains/doctor/operations/runChecks.ts +0 -78
  506. package/src/domains/doctor/operations/types.ts +0 -42
  507. package/src/domains/graph/commands/index.ts +0 -4
  508. package/src/domains/graph/commands/inspect.test.ts +0 -94
  509. package/src/domains/graph/commands/inspect.ts +0 -63
  510. package/src/domains/graph/commands/query.test.ts +0 -94
  511. package/src/domains/graph/commands/query.ts +0 -60
  512. package/src/domains/graph/formatters/index.ts +0 -4
  513. package/src/domains/graph/formatters/inspect.ts +0 -50
  514. package/src/domains/graph/formatters/query.test.ts +0 -87
  515. package/src/domains/graph/formatters/query.ts +0 -74
  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 -46
  533. package/src/domains/graphql/commands/serve.ts +0 -141
  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 -65
  543. package/src/domains/graphql/helpers/resolveSourceFiles.ts +0 -66
  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/ensureSchemaArtifact.test.ts +0 -167
  552. package/src/domains/graphql/operations/ensureSchemaArtifact.ts +0 -178
  553. package/src/domains/graphql/operations/index.ts +0 -17
  554. package/src/domains/graphql/types.ts +0 -29
  555. package/src/domains/info/commands/index.ts +0 -4
  556. package/src/domains/info/commands/info.test.ts +0 -88
  557. package/src/domains/info/commands/info.ts +0 -47
  558. package/src/domains/info/commands/upgrade.test.ts +0 -183
  559. package/src/domains/info/commands/upgrade.ts +0 -153
  560. package/src/domains/info/constants.test.ts +0 -22
  561. package/src/domains/info/constants.ts +0 -15
  562. package/src/domains/info/formatters/index.ts +0 -8
  563. package/src/domains/info/formatters/info.test.ts +0 -207
  564. package/src/domains/info/formatters/info.ts +0 -131
  565. package/src/domains/info/formatters/upgrade.test.ts +0 -136
  566. package/src/domains/info/formatters/upgrade.ts +0 -70
  567. package/src/domains/info/index.ts +0 -9
  568. package/src/domains/info/mcp/index.ts +0 -2
  569. package/src/domains/info/mcp/specs.ts +0 -65
  570. package/src/domains/info/operations/checkRegistryVersion.test.ts +0 -124
  571. package/src/domains/info/operations/checkRegistryVersion.ts +0 -45
  572. package/src/domains/info/operations/collectEntityCounts.test.ts +0 -156
  573. package/src/domains/info/operations/collectEntityCounts.ts +0 -123
  574. package/src/domains/info/operations/collectInfo.test.ts +0 -122
  575. package/src/domains/info/operations/collectInfo.ts +0 -94
  576. package/src/domains/info/operations/collectStoreSummary.test.ts +0 -61
  577. package/src/domains/info/operations/collectStoreSummary.ts +0 -42
  578. package/src/domains/info/operations/index.ts +0 -6
  579. package/src/domains/info/types.test-d.ts +0 -35
  580. package/src/domains/info/types.ts +0 -67
  581. package/src/domains/llm/capabilities.test.ts +0 -111
  582. package/src/domains/llm/commands/capabilities.ts +0 -37
  583. package/src/domains/llm/commands/index.ts +0 -4
  584. package/src/domains/llm/commands/llm.ts +0 -41
  585. package/src/domains/llm/data/commandReference.ts +0 -106
  586. package/src/domains/llm/data/decisionTrees.ts +0 -55
  587. package/src/domains/llm/data/index.ts +0 -6
  588. package/src/domains/llm/data/toolCatalog.ts +0 -221
  589. package/src/domains/llm/formatters/capabilities.ts +0 -50
  590. package/src/domains/llm/formatters/index.ts +0 -4
  591. package/src/domains/llm/formatters/orientation.ts +0 -57
  592. package/src/domains/llm/index.ts +0 -9
  593. package/src/domains/llm/llmCommand.test.ts +0 -101
  594. package/src/domains/llm/mcp/index.ts +0 -2
  595. package/src/domains/llm/mcp/specs.ts +0 -93
  596. package/src/domains/llm/operations/collectContext.test.ts +0 -64
  597. package/src/domains/llm/operations/collectContext.ts +0 -37
  598. package/src/domains/llm/operations/index.ts +0 -3
  599. package/src/domains/llm/types.ts +0 -72
  600. package/src/domains/modifier/commands/index.ts +0 -5
  601. package/src/domains/modifier/commands/list.test.ts +0 -57
  602. package/src/domains/modifier/commands/list.ts +0 -9
  603. package/src/domains/modifier/commands/lookup.test.ts +0 -91
  604. package/src/domains/modifier/commands/lookup.ts +0 -14
  605. package/src/domains/modifier/commands/sample.ts +0 -54
  606. package/src/domains/modifier/formatters/index.ts +0 -8
  607. package/src/domains/modifier/formatters/list.test.ts +0 -38
  608. package/src/domains/modifier/formatters/list.ts +0 -22
  609. package/src/domains/modifier/formatters/lookup.test.ts +0 -33
  610. package/src/domains/modifier/formatters/lookup.ts +0 -50
  611. package/src/domains/modifier/formatters/sample.ts +0 -15
  612. package/src/domains/modifier/index.ts +0 -27
  613. package/src/domains/modifier/mcp/index.ts +0 -2
  614. package/src/domains/modifier/mcp/specs.ts +0 -65
  615. package/src/domains/modifier/modifierConfig.ts +0 -36
  616. package/src/domains/modifier/operations/index.ts +0 -5
  617. package/src/domains/modifier/operations/list.test.ts +0 -39
  618. package/src/domains/modifier/operations/list.ts +0 -41
  619. package/src/domains/modifier/operations/lookup.test.ts +0 -37
  620. package/src/domains/modifier/operations/lookup.ts +0 -69
  621. package/src/domains/modifier/operations/sample.ts +0 -32
  622. package/src/domains/modifier/orchestration/index.ts +0 -3
  623. package/src/domains/modifier/orchestration/modifierEmptyError.test.ts +0 -26
  624. package/src/domains/modifier/orchestration/modifierEmptyError.ts +0 -15
  625. package/src/domains/modifier/orchestration/resolveModifierList.ts +0 -16
  626. package/src/domains/modifier/orchestration/resolveModifierLookup.ts +0 -33
  627. package/src/domains/modifier/stories.test.ts +0 -20
  628. package/src/domains/modifier/stories.ts +0 -86
  629. package/src/domains/modifier/types.ts +0 -5
  630. package/src/domains/ontology/commands/index.ts +0 -4
  631. package/src/domains/ontology/commands/list.test.ts +0 -84
  632. package/src/domains/ontology/commands/list.ts +0 -11
  633. package/src/domains/ontology/commands/show.test.ts +0 -179
  634. package/src/domains/ontology/commands/show.ts +0 -14
  635. package/src/domains/ontology/formatters/index.ts +0 -5
  636. package/src/domains/ontology/formatters/list.ts +0 -64
  637. package/src/domains/ontology/formatters/show.ts +0 -396
  638. package/src/domains/ontology/helpers/buildClassTree.ts +0 -89
  639. package/src/domains/ontology/helpers/completeClassNames.ts +0 -43
  640. package/src/domains/ontology/helpers/expandOntologyIris.ts +0 -79
  641. package/src/domains/ontology/helpers/findNamespace.ts +0 -23
  642. package/src/domains/ontology/helpers/index.ts +0 -21
  643. package/src/domains/ontology/helpers/queryClasses.ts +0 -66
  644. package/src/domains/ontology/helpers/queryProperties.ts +0 -90
  645. package/src/domains/ontology/helpers/queryTboxFacts.ts +0 -160
  646. package/src/domains/ontology/helpers/resolvePrefix.ts +0 -45
  647. package/src/domains/ontology/index.ts +0 -26
  648. package/src/domains/ontology/mcp/index.ts +0 -2
  649. package/src/domains/ontology/mcp/specs.ts +0 -16
  650. package/src/domains/ontology/operations/index.ts +0 -5
  651. package/src/domains/ontology/operations/listOntologies.test.ts +0 -122
  652. package/src/domains/ontology/operations/listOntologies.ts +0 -197
  653. package/src/domains/ontology/operations/showOntology.test.ts +0 -184
  654. package/src/domains/ontology/operations/showOntology.ts +0 -323
  655. package/src/domains/ontology/operations/showOntologyRaw.test.ts +0 -41
  656. package/src/domains/ontology/operations/showOntologyRaw.ts +0 -50
  657. package/src/domains/ontology/stories.test.ts +0 -36
  658. package/src/domains/ontology/stories.ts +0 -153
  659. package/src/domains/refs/commands/updateRefs.ts +0 -52
  660. package/src/domains/refs/formatters/updateRefs.ts +0 -27
  661. package/src/domains/refs/index.ts +0 -27
  662. package/src/domains/refs/operations/gitOps.test.ts +0 -155
  663. package/src/domains/refs/operations/gitOps.ts +0 -92
  664. package/src/domains/refs/operations/index.ts +0 -10
  665. package/src/domains/refs/operations/parseRef.test.ts +0 -157
  666. package/src/domains/refs/operations/parseRef.ts +0 -114
  667. package/src/domains/refs/operations/paths.test.ts +0 -98
  668. package/src/domains/refs/operations/paths.ts +0 -91
  669. package/src/domains/refs/operations/readGlobalRefs.test.ts +0 -63
  670. package/src/domains/refs/operations/readGlobalRefs.ts +0 -37
  671. package/src/domains/refs/operations/updateRefs.test.ts +0 -167
  672. package/src/domains/refs/operations/updateRefs.ts +0 -180
  673. package/src/domains/setup/commands/all.ts +0 -58
  674. package/src/domains/setup/commands/completions.ts +0 -85
  675. package/src/domains/setup/commands/entrypoints.test.ts +0 -170
  676. package/src/domains/setup/commands/index.ts +0 -7
  677. package/src/domains/setup/commands/lsp.ts +0 -49
  678. package/src/domains/setup/commands/mcp.ts +0 -119
  679. package/src/domains/setup/commands/setup.ts +0 -70
  680. package/src/domains/setup/commands/skills.test.ts +0 -68
  681. package/src/domains/setup/commands/skills.ts +0 -110
  682. package/src/domains/setup/formatters/index.ts +0 -2
  683. package/src/domains/setup/formatters/skills.test.ts +0 -103
  684. package/src/domains/setup/formatters/skills.ts +0 -112
  685. package/src/domains/setup/formatters/types.ts +0 -7
  686. package/src/domains/setup/helpers/completionScripts.test.ts +0 -58
  687. package/src/domains/setup/helpers/completionScripts.ts +0 -92
  688. package/src/domains/setup/helpers/constants.ts +0 -2
  689. package/src/domains/setup/helpers/detectShell.test.ts +0 -48
  690. package/src/domains/setup/helpers/detectShell.ts +0 -20
  691. package/src/domains/setup/helpers/index.ts +0 -12
  692. package/src/domains/setup/helpers/runSetupTask.test.ts +0 -277
  693. package/src/domains/setup/helpers/runSetupTask.ts +0 -221
  694. package/src/domains/setup/index.ts +0 -37
  695. package/src/domains/setup/operations/index.ts +0 -6
  696. package/src/domains/setup/operations/setupAll.test.ts +0 -48
  697. package/src/domains/setup/operations/setupAll.ts +0 -41
  698. package/src/domains/setup/operations/setupCompletions.test.ts +0 -94
  699. package/src/domains/setup/operations/setupCompletions.ts +0 -54
  700. package/src/domains/setup/operations/setupLsp.test.ts +0 -30
  701. package/src/domains/setup/operations/setupLsp.ts +0 -22
  702. package/src/domains/setup/operations/setupMcp.test.ts +0 -120
  703. package/src/domains/setup/operations/setupMcp.ts +0 -108
  704. package/src/domains/setup/operations/setupSkills.test.ts +0 -191
  705. package/src/domains/setup/operations/setupSkills.ts +0 -160
  706. package/src/domains/setup/types.ts +0 -18
  707. package/src/domains/shared/ToolSpec.ts +0 -49
  708. package/src/domains/shared/bootStore.bareCore.test.ts +0 -63
  709. package/src/domains/shared/bootStore.test.ts +0 -82
  710. package/src/domains/shared/bootStore.ts +0 -171
  711. package/src/domains/shared/buildQuery.ts +0 -18
  712. package/src/domains/shared/compactUri.test.ts +0 -32
  713. package/src/domains/shared/compactUri.ts +0 -21
  714. package/src/domains/shared/context.ts +0 -16
  715. package/src/domains/shared/contracts.ts +0 -164
  716. package/src/domains/shared/createInteractivePromptSession.test.ts +0 -439
  717. package/src/domains/shared/createInteractivePromptSession.ts +0 -236
  718. package/src/domains/shared/emptyErrorRecovery.test.ts +0 -106
  719. package/src/domains/shared/extractLocalName.test.ts +0 -21
  720. package/src/domains/shared/extractLocalName.ts +0 -14
  721. package/src/domains/shared/filters/buildChannelFilter.test.ts +0 -52
  722. package/src/domains/shared/filters/buildChannelFilter.ts +0 -41
  723. package/src/domains/shared/filters/buildFilterConfig.ts +0 -15
  724. package/src/domains/shared/filters/buildFilters.test.ts +0 -33
  725. package/src/domains/shared/filters/buildFilters.ts +0 -30
  726. package/src/domains/shared/filters/buildTierFilter.test.ts +0 -78
  727. package/src/domains/shared/filters/buildTierFilter.ts +0 -69
  728. package/src/domains/shared/filters/describeFilters.ts +0 -14
  729. package/src/domains/shared/filters/index.ts +0 -10
  730. package/src/domains/shared/formatters.ts +0 -103
  731. package/src/domains/shared/listTiers.ts +0 -40
  732. package/src/domains/shared/loaders/bundledLoader.test.ts +0 -248
  733. package/src/domains/shared/loaders/bundledLoader.ts +0 -254
  734. package/src/domains/shared/loaders/gitLoader.ts +0 -30
  735. package/src/domains/shared/loaders/index.ts +0 -9
  736. package/src/domains/shared/loaders/localLoader.ts +0 -71
  737. package/src/domains/shared/loaders/readPackageDir.test.ts +0 -58
  738. package/src/domains/shared/loaders/readPackageDir.ts +0 -185
  739. package/src/domains/shared/loaders/storyAssetsPlugin.test.ts +0 -84
  740. package/src/domains/shared/loaders/storyAssetsPlugin.ts +0 -46
  741. package/src/domains/shared/lookupMany.test.ts +0 -135
  742. package/src/domains/shared/lookupMany.ts +0 -101
  743. package/src/domains/shared/mergeAndParseRefs.test.ts +0 -89
  744. package/src/domains/shared/mergeAndParseRefs.ts +0 -44
  745. package/src/domains/shared/namespaces.ts +0 -26
  746. package/src/domains/shared/packages.ts +0 -20
  747. package/src/domains/shared/parseSampleCount.test.ts +0 -47
  748. package/src/domains/shared/parseSampleCount.ts +0 -45
  749. package/src/domains/shared/pickRandom.ts +0 -22
  750. package/src/domains/shared/prefixes.test.ts +0 -211
  751. package/src/domains/shared/prefixes.ts +0 -204
  752. package/src/domains/shared/renderers.ts +0 -410
  753. package/src/domains/shared/resolveConfiguredGraphs.test.ts +0 -27
  754. package/src/domains/shared/resolveConfiguredGraphs.ts +0 -41
  755. package/src/domains/shared/resolveLookupExitCode.test.ts +0 -48
  756. package/src/domains/shared/resolveLookupExitCode.ts +0 -42
  757. package/src/domains/shared/runtime.ts +0 -61
  758. package/src/domains/shared/sampleFormatters.ts +0 -47
  759. package/src/domains/shared/semanticPackage.test.ts +0 -89
  760. package/src/domains/shared/semanticPackage.ts +0 -127
  761. package/src/domains/shared/stories/compileLookupCommand.test.ts +0 -145
  762. package/src/domains/shared/stories/compileLookupCommand.ts +0 -102
  763. package/src/domains/shared/stories/compileLookupTool.test.ts +0 -105
  764. package/src/domains/shared/stories/compileLookupTool.ts +0 -96
  765. package/src/domains/shared/stories/compileReadCommand.test.ts +0 -121
  766. package/src/domains/shared/stories/compileReadCommand.ts +0 -48
  767. package/src/domains/shared/stories/compileReadTool.test.ts +0 -64
  768. package/src/domains/shared/stories/compileReadTool.ts +0 -38
  769. package/src/domains/shared/stories/condense.test.ts +0 -18
  770. package/src/domains/shared/stories/condense.ts +0 -15
  771. package/src/domains/shared/stories/index.ts +0 -20
  772. package/src/domains/shared/stories/normalizeNames.test.ts +0 -20
  773. package/src/domains/shared/stories/normalizeNames.ts +0 -22
  774. package/src/domains/shared/stories/pack/applyPackFilters.test.ts +0 -151
  775. package/src/domains/shared/stories/pack/applyPackFilters.ts +0 -111
  776. package/src/domains/shared/stories/pack/applyPackSearch.test.ts +0 -57
  777. package/src/domains/shared/stories/pack/applyPackSearch.ts +0 -41
  778. package/src/domains/shared/stories/pack/buildLookupQuery.test.ts +0 -81
  779. package/src/domains/shared/stories/pack/buildLookupQuery.ts +0 -154
  780. package/src/domains/shared/stories/pack/bundled/index.ts +0 -23
  781. package/src/domains/shared/stories/pack/bundled/standardPack.ts +0 -164
  782. package/src/domains/shared/stories/pack/bundled/tierPack.ts +0 -50
  783. package/src/domains/shared/stories/pack/collectPackStories.test.ts +0 -406
  784. package/src/domains/shared/stories/pack/collectPackStories.ts +0 -158
  785. package/src/domains/shared/stories/pack/compilePackCommands.ts +0 -50
  786. package/src/domains/shared/stories/pack/compilePackStories.test.ts +0 -751
  787. package/src/domains/shared/stories/pack/compilePackStories.ts +0 -724
  788. package/src/domains/shared/stories/pack/compilePackToolSpecs.ts +0 -55
  789. package/src/domains/shared/stories/pack/index.ts +0 -42
  790. package/src/domains/shared/stories/pack/reservedVerbs.test.ts +0 -213
  791. package/src/domains/shared/stories/pack/reservedVerbs.ts +0 -170
  792. package/src/domains/shared/stories/pack/runSelectQuery.ts +0 -31
  793. package/src/domains/shared/stories/pack/standardParity.test.ts +0 -381
  794. package/src/domains/shared/stories/pack/types.ts +0 -224
  795. package/src/domains/shared/stories/pack/validateStoryPackDefinition.test.ts +0 -742
  796. package/src/domains/shared/stories/pack/validateStoryPackDefinition.ts +0 -859
  797. package/src/domains/shared/stories/projectCliParameters.test.ts +0 -59
  798. package/src/domains/shared/stories/projectCliParameters.ts +0 -57
  799. package/src/domains/shared/stories/projectToolParams.test.ts +0 -50
  800. package/src/domains/shared/stories/projectToolParams.ts +0 -32
  801. package/src/domains/shared/stories/requirePragmaContext.test.ts +0 -23
  802. package/src/domains/shared/stories/requirePragmaContext.ts +0 -23
  803. package/src/domains/shared/stories/resolveLookupDetailed.test.ts +0 -57
  804. package/src/domains/shared/stories/resolveLookupDetailed.ts +0 -27
  805. package/src/domains/shared/stories/types.ts +0 -179
  806. package/src/domains/shared/suggestions/detectCrossDomain.test.ts +0 -43
  807. package/src/domains/shared/suggestions/detectCrossDomain.ts +0 -116
  808. package/src/domains/shared/suggestions/expandGlob.test.ts +0 -92
  809. package/src/domains/shared/suggestions/expandGlob.ts +0 -52
  810. package/src/domains/shared/suggestions/expandLookupQueries.ts +0 -57
  811. package/src/domains/shared/suggestions/index.ts +0 -7
  812. package/src/domains/shared/suggestions/listDomainNames.ts +0 -61
  813. package/src/domains/shared/suggestions/suggestNames.test.ts +0 -70
  814. package/src/domains/shared/suggestions/suggestNames.ts +0 -130
  815. package/src/domains/shared/types/block.ts +0 -107
  816. package/src/domains/shared/types/common.ts +0 -33
  817. package/src/domains/shared/types/graph.ts +0 -17
  818. package/src/domains/shared/types/index.ts +0 -46
  819. package/src/domains/shared/types/modifier.ts +0 -22
  820. package/src/domains/shared/types/ontology.ts +0 -145
  821. package/src/domains/shared/types/runtime.ts +0 -24
  822. package/src/domains/shared/types/sample.ts +0 -17
  823. package/src/domains/shared/types/standard.ts +0 -21
  824. package/src/domains/shared/types/tier.ts +0 -15
  825. package/src/domains/shared/types/token.ts +0 -30
  826. package/src/domains/skill/commands/index.ts +0 -4
  827. package/src/domains/skill/commands/list.test.ts +0 -115
  828. package/src/domains/skill/commands/list.ts +0 -11
  829. package/src/domains/skill/commands/lookup.test.ts +0 -118
  830. package/src/domains/skill/commands/lookup.ts +0 -14
  831. package/src/domains/skill/formatters/index.ts +0 -3
  832. package/src/domains/skill/formatters/list.test.ts +0 -140
  833. package/src/domains/skill/formatters/list.ts +0 -119
  834. package/src/domains/skill/formatters/lookup.test.ts +0 -46
  835. package/src/domains/skill/formatters/lookup.ts +0 -57
  836. package/src/domains/skill/formatters/types.ts +0 -8
  837. package/src/domains/skill/helpers/index.ts +0 -6
  838. package/src/domains/skill/helpers/parseFrontmatter.test.ts +0 -122
  839. package/src/domains/skill/helpers/parseFrontmatter.ts +0 -112
  840. package/src/domains/skill/helpers/resolveSkillSources.ts +0 -70
  841. package/src/domains/skill/index.ts +0 -23
  842. package/src/domains/skill/mcp/index.ts +0 -2
  843. package/src/domains/skill/mcp/specs.ts +0 -19
  844. package/src/domains/skill/operations/discover.test.ts +0 -176
  845. package/src/domains/skill/operations/discover.ts +0 -59
  846. package/src/domains/skill/operations/index.ts +0 -5
  847. package/src/domains/skill/operations/list.test.ts +0 -76
  848. package/src/domains/skill/operations/list.ts +0 -47
  849. package/src/domains/skill/operations/lookup.test.ts +0 -91
  850. package/src/domains/skill/operations/lookup.ts +0 -70
  851. package/src/domains/skill/stories.test.ts +0 -43
  852. package/src/domains/skill/stories.ts +0 -103
  853. package/src/domains/skill/types.ts +0 -33
  854. package/src/domains/token/commands/add-config.test.ts +0 -68
  855. package/src/domains/token/commands/add-config.ts +0 -62
  856. package/src/domains/token/commands/index.ts +0 -6
  857. package/src/domains/token/commands/list.test.ts +0 -82
  858. package/src/domains/token/commands/list.ts +0 -54
  859. package/src/domains/token/commands/lookup.test.ts +0 -133
  860. package/src/domains/token/commands/lookup.ts +0 -107
  861. package/src/domains/token/commands/sample.ts +0 -54
  862. package/src/domains/token/featureFlag.ts +0 -17
  863. package/src/domains/token/formatters/index.ts +0 -8
  864. package/src/domains/token/formatters/list.test.ts +0 -37
  865. package/src/domains/token/formatters/list.ts +0 -24
  866. package/src/domains/token/formatters/lookup.test.ts +0 -61
  867. package/src/domains/token/formatters/lookup.ts +0 -107
  868. package/src/domains/token/formatters/sample.ts +0 -16
  869. package/src/domains/token/index.ts +0 -45
  870. package/src/domains/token/mcp/index.ts +0 -2
  871. package/src/domains/token/mcp/specs.ts +0 -207
  872. package/src/domains/token/operations/add-config.test.ts +0 -68
  873. package/src/domains/token/operations/add-config.ts +0 -61
  874. package/src/domains/token/operations/index.ts +0 -8
  875. package/src/domains/token/operations/list.test.ts +0 -50
  876. package/src/domains/token/operations/list.ts +0 -52
  877. package/src/domains/token/operations/lookup.test.ts +0 -42
  878. package/src/domains/token/operations/lookup.ts +0 -75
  879. package/src/domains/token/operations/sample.ts +0 -32
  880. package/src/domains/token/orchestration/index.ts +0 -3
  881. package/src/domains/token/orchestration/resolveTokenList.ts +0 -17
  882. package/src/domains/token/orchestration/resolveTokenLookup.ts +0 -33
  883. package/src/domains/token/orchestration/tokenEmptyError.test.ts +0 -33
  884. package/src/domains/token/orchestration/tokenEmptyError.ts +0 -20
  885. package/src/domains/token/tokenConfig.ts +0 -38
  886. package/src/domains/token/types.ts +0 -6
  887. package/src/domains/trace/commands/clear.ts +0 -71
  888. package/src/domains/trace/commands/index.ts +0 -5
  889. package/src/domains/trace/commands/resolveTraceLimit.test.ts +0 -31
  890. package/src/domains/trace/commands/sessions.ts +0 -32
  891. package/src/domains/trace/commands/show.ts +0 -171
  892. package/src/domains/trace/formatters/index.ts +0 -9
  893. package/src/domains/trace/formatters/sessions.ts +0 -80
  894. package/src/domains/trace/formatters/show.ts +0 -122
  895. package/src/domains/trace/index.ts +0 -17
  896. package/src/domains/trace/operations/index.ts +0 -8
  897. package/src/domains/trace/operations/listSessions.test.ts +0 -55
  898. package/src/domains/trace/operations/listSessions.ts +0 -52
  899. package/src/domains/trace/operations/readTraceLog.test.ts +0 -100
  900. package/src/domains/trace/operations/readTraceLog.ts +0 -104
  901. package/src/domains/trace/tracePlugin.test.ts +0 -171
  902. package/src/domains/trace/tracePlugin.ts +0 -159
  903. package/src/domains/trace/types.ts +0 -65
  904. package/src/embedWasm.ts +0 -42
  905. package/src/error/PragmaError.test.ts +0 -121
  906. package/src/error/PragmaError.ts +0 -177
  907. package/src/error/constants.ts +0 -12
  908. package/src/error/index.ts +0 -4
  909. package/src/error/types.ts +0 -55
  910. package/src/mcp/createMcpServer.test.ts +0 -41
  911. package/src/mcp/createMcpServer.ts +0 -53
  912. package/src/mcp/error/buildRecovery.test.ts +0 -37
  913. package/src/mcp/error/buildRecovery.ts +0 -17
  914. package/src/mcp/error/index.ts +0 -12
  915. package/src/mcp/error/serializeError.test.ts +0 -121
  916. package/src/mcp/error/serializeError.ts +0 -31
  917. package/src/mcp/error/serializeErrorPayload.test.ts +0 -38
  918. package/src/mcp/error/serializeErrorPayload.ts +0 -34
  919. package/src/mcp/error/types.ts +0 -59
  920. package/src/mcp/index.ts +0 -15
  921. package/src/mcp/registerResources.test.ts +0 -566
  922. package/src/mcp/registerResources.ts +0 -9
  923. package/src/mcp/resources/buildGraphIndex.ts +0 -167
  924. package/src/mcp/resources/buildResourceList.test.ts +0 -97
  925. package/src/mcp/resources/buildResourceList.ts +0 -176
  926. package/src/mcp/resources/classifyEntity.test.ts +0 -40
  927. package/src/mcp/resources/classifyEntity.ts +0 -27
  928. package/src/mcp/resources/constants.ts +0 -105
  929. package/src/mcp/resources/displayPredicates.ts +0 -62
  930. package/src/mcp/resources/pickFirstValue.test.ts +0 -29
  931. package/src/mcp/resources/pickFirstValue.ts +0 -26
  932. package/src/mcp/resources/pickPrimaryType.test.ts +0 -41
  933. package/src/mcp/resources/pickPrimaryType.ts +0 -26
  934. package/src/mcp/resources/rankUriCompletions.test.ts +0 -52
  935. package/src/mcp/resources/rankUriCompletions.ts +0 -64
  936. package/src/mcp/resources/readEntity.ts +0 -169
  937. package/src/mcp/resources/registerResources.ts +0 -126
  938. package/src/mcp/resources/types.ts +0 -128
  939. package/src/mcp/runMcpServer.test.ts +0 -66
  940. package/src/mcp/runMcpServer.ts +0 -24
  941. package/src/mcp/tools/index.ts +0 -74
  942. package/src/mcp/tools/registerFromSpec.ts +0 -97
  943. package/src/mcp/tools/registerTools.test.ts +0 -1277
  944. package/src/mcp/types.ts +0 -66
  945. package/src/mcp/utils/estimateTokens.test.ts +0 -14
  946. package/src/mcp/utils/estimateTokens.ts +0 -9
  947. package/src/mcp/utils/index.ts +0 -11
  948. package/src/mcp/utils/wrapTool.test.ts +0 -109
  949. package/src/mcp/utils/wrapTool.ts +0 -81
  950. package/src/package-manager/constants.ts +0 -29
  951. package/src/package-manager/detectInstallSource.test.ts +0 -23
  952. package/src/package-manager/detectInstallSource.ts +0 -111
  953. package/src/package-manager/detectLocalInstall.test.ts +0 -16
  954. package/src/package-manager/detectLocalInstall.ts +0 -43
  955. package/src/package-manager/detectPackageManager.test.ts +0 -81
  956. package/src/package-manager/detectPackageManager.ts +0 -30
  957. package/src/package-manager/index.ts +0 -6
  958. package/src/package-manager/types.ts +0 -10
  959. package/src/pipeline/collectCommands.test.ts +0 -187
  960. package/src/pipeline/collectCommands.ts +0 -75
  961. package/src/pipeline/constants.ts +0 -14
  962. package/src/pipeline/createProgram.test.ts +0 -116
  963. package/src/pipeline/createProgram.ts +0 -89
  964. package/src/pipeline/firstRun.test.ts +0 -80
  965. package/src/pipeline/firstRun.ts +0 -99
  966. package/src/pipeline/formatTerminal.test.ts +0 -43
  967. package/src/pipeline/formatTerminal.ts +0 -53
  968. package/src/pipeline/index.ts +0 -22
  969. package/src/pipeline/mapExitCode.test.ts +0 -41
  970. package/src/pipeline/mapExitCode.ts +0 -12
  971. package/src/pipeline/parseGlobalFlags.test.ts +0 -193
  972. package/src/pipeline/parseGlobalFlags.ts +0 -135
  973. package/src/pipeline/renderError.test.ts +0 -151
  974. package/src/pipeline/renderError.ts +0 -129
  975. package/src/pipeline/resolveCommandKind.test.ts +0 -80
  976. package/src/pipeline/resolveCommandKind.ts +0 -82
  977. package/src/pipeline/rootHelp.test.ts +0 -87
  978. package/src/pipeline/rootHelp.ts +0 -265
  979. package/src/pipeline/runCli.orchestration.test.ts +0 -435
  980. package/src/pipeline/runCli.test.ts +0 -83
  981. package/src/pipeline/runCli.ts +0 -411
  982. package/src/pipeline/types.ts +0 -17
  983. package/src/testing/cli.ts +0 -71
  984. package/src/testing/createTestMcpClient.ts +0 -68
  985. package/src/testing/dsFixtures.ts +0 -523
  986. package/src/testing/fixtures/canonical-config.json +0 -4
  987. package/src/testing/fixtures/canonical.ttl +0 -437
  988. package/src/testing/fixtures/filtered-config.json +0 -4
  989. package/src/testing/fixtures.ts +0 -34
  990. package/src/testing/graphqlFixtures.ts +0 -72
  991. package/src/testing/helpers/assertParity.ts +0 -28
  992. package/src/testing/helpers/createTestMcpClient.ts +0 -40
  993. package/src/testing/helpers/createTestRuntime.ts +0 -67
  994. package/src/testing/index.ts +0 -22
  995. package/src/testing/integration/__snapshots__/executor-golden.test.ts.snap +0 -1207
  996. package/src/testing/integration/agent-session.test.ts +0 -148
  997. package/src/testing/integration/boot.test.ts +0 -105
  998. package/src/testing/integration/cli-user-stories.test.ts +0 -261
  999. package/src/testing/integration/cross-binary-byte-equality.test.ts +0 -129
  1000. package/src/testing/integration/edge-cases.test.ts +0 -275
  1001. package/src/testing/integration/executor-execution.test.ts +0 -103
  1002. package/src/testing/integration/executor-golden.test.ts +0 -145
  1003. package/src/testing/integration/mcp-surface.test.ts +0 -605
  1004. package/src/testing/integration/parity.test.ts +0 -596
  1005. package/src/testing/regression/0001-skill-discovery-granularity.test.ts +0 -71
  1006. package/src/testing/standardParityFixtures.ts +0 -35
  1007. package/src/testing/store.ts +0 -39
  1008. package/src/testing/storyFixtures.ts +0 -63
  1009. package/src/testing/types.ts +0 -20
  1010. package/src/tui/components/BulletList/BulletList.tsx +0 -46
  1011. package/src/tui/components/BulletList/index.ts +0 -2
  1012. package/src/tui/components/BulletList/types.ts +0 -6
  1013. package/src/tui/components/Card/Card.tsx +0 -73
  1014. package/src/tui/components/Card/index.ts +0 -1
  1015. package/src/tui/components/Card/types.ts +0 -12
  1016. package/src/tui/components/CodeBlock/CodeBlock.tsx +0 -37
  1017. package/src/tui/components/CodeBlock/index.ts +0 -2
  1018. package/src/tui/components/CodeBlock/types.ts +0 -6
  1019. package/src/tui/components/DataRow/DataRow.tsx +0 -80
  1020. package/src/tui/components/DataRow/index.ts +0 -2
  1021. package/src/tui/components/DataRow/types.ts +0 -14
  1022. package/src/tui/components/FieldRow/FieldRow.tsx +0 -24
  1023. package/src/tui/components/FieldRow/index.ts +0 -2
  1024. package/src/tui/components/FieldRow/types.ts +0 -10
  1025. package/src/tui/components/HeaderRow/HeaderRow.tsx +0 -32
  1026. package/src/tui/components/HeaderRow/index.ts +0 -2
  1027. package/src/tui/components/HeaderRow/types.ts +0 -8
  1028. package/src/tui/components/MarkdownText/MarkdownText.tsx +0 -19
  1029. package/src/tui/components/MarkdownText/index.ts +0 -2
  1030. package/src/tui/components/MarkdownText/types.ts +0 -4
  1031. package/src/tui/components/MiniTable/MiniTable.tsx +0 -82
  1032. package/src/tui/components/MiniTable/index.ts +0 -2
  1033. package/src/tui/components/MiniTable/types.ts +0 -6
  1034. package/src/tui/components/SectionRenderer/SectionRenderer.tsx +0 -91
  1035. package/src/tui/components/SectionRenderer/index.ts +0 -2
  1036. package/src/tui/components/SectionRenderer/types.ts +0 -15
  1037. package/src/tui/components/TreeView/TreeView.tsx +0 -84
  1038. package/src/tui/components/TreeView/index.ts +0 -2
  1039. package/src/tui/components/TreeView/types.ts +0 -6
  1040. package/src/tui/components/index.ts +0 -19
  1041. package/src/tui/constants.ts +0 -39
  1042. package/src/tui/createListView.ts +0 -23
  1043. package/src/tui/createLookupView.ts +0 -26
  1044. package/src/tui/helpers/computeWidths.ts +0 -53
  1045. package/src/tui/helpers/fitColumns.ts +0 -33
  1046. package/src/tui/helpers/formatMarkdown.ts +0 -19
  1047. package/src/tui/helpers/getTerminalSize.ts +0 -16
  1048. package/src/tui/helpers/index.ts +0 -6
  1049. package/src/tui/helpers/syntaxColor.ts +0 -67
  1050. package/src/tui/helpers/truncateText.ts +0 -12
  1051. package/src/tui/hooks/index.ts +0 -3
  1052. package/src/tui/hooks/types.ts +0 -7
  1053. package/src/tui/hooks/useAutoExit.ts +0 -17
  1054. package/src/tui/hooks/useTerminalSize.ts +0 -19
  1055. package/src/tui/index.ts +0 -15
  1056. package/src/tui/renderInk.tsx +0 -18
  1057. package/src/tui/types.ts +0 -12
  1058. package/src/tui/views/ListView/ListView.tsx +0 -104
  1059. package/src/tui/views/ListView/index.ts +0 -2
  1060. package/src/tui/views/ListView/types.ts +0 -14
  1061. package/src/tui/views/LookupView/LookupView.tsx +0 -244
  1062. package/src/tui/views/LookupView/index.ts +0 -2
  1063. package/src/tui/views/LookupView/types.ts +0 -16
  1064. package/src/tui/views/index.ts +0 -4
@@ -1,55 +0,0 @@
1
- import { resolvePrefixes } from "../../prefixes.js";
2
- import type { ToolSpec } from "../../ToolSpec.js";
3
- import type { PragmaRuntime } from "../../types/index.js";
4
- import compileLookupTool from "../compileLookupTool.js";
5
- import compileReadTool from "../compileReadTool.js";
6
- import collectPackStories from "./collectPackStories.js";
7
- import compilePackStories from "./compilePackStories.js";
8
- import type { ReservedVerbs } from "./reservedVerbs.js";
9
-
10
- /**
11
- * Compile every active story pack into MCP tool specs.
12
- *
13
- * Mirrors `compilePackCommands` on the MCP surface: each pack yields
14
- * `<noun>_list` and, when declared, `<noun>_lookup`, extra `<noun>_<verb>`
15
- * tools, and `<noun>_sample`, registered alongside the built-in tools.
16
- *
17
- * @param runtime - Pragma runtime carrying config, packages, and the store.
18
- * @param reserved - Built-in `(noun, verb)` reservations packs must not shadow.
19
- * @returns Tool specs for every pack story.
20
- */
21
- export default function compilePackToolSpecs(
22
- runtime: PragmaRuntime,
23
- reserved: ReservedVerbs,
24
- ): ToolSpec[] {
25
- const prefixes = resolvePrefixes(
26
- runtime.packages ?? [],
27
- runtime.config.prefixes,
28
- );
29
- const entries = collectPackStories(
30
- runtime.config,
31
- runtime.packages ?? [],
32
- reserved,
33
- );
34
-
35
- return entries.flatMap((entry) => {
36
- const compiled = compilePackStories(
37
- entry.definition,
38
- entry.source,
39
- prefixes,
40
- );
41
- // Registration order mirrors compilePackCommands: list, lookup,
42
- // extra verbs, sample.
43
- const specs = [compileReadTool(compiled.list)];
44
- if (compiled.lookup) {
45
- specs.push(compileLookupTool(compiled.lookup));
46
- }
47
- for (const verb of compiled.verbs) {
48
- specs.push(compileReadTool(verb));
49
- }
50
- if (compiled.sample) {
51
- specs.push(compileReadTool(compiled.sample));
52
- }
53
- return specs;
54
- });
55
- }
@@ -1,42 +0,0 @@
1
- /**
2
- * Story packs — declarative read stories compiled through the kernel.
3
- * @module
4
- */
5
-
6
- export {
7
- buildLookupNamesQuery,
8
- default as buildLookupQuery,
9
- escapeSparqlString,
10
- formatTerm,
11
- } from "./buildLookupQuery.js";
12
- export type { PackStoryEntry } from "./collectPackStories.js";
13
- export { default as collectPackStories } from "./collectPackStories.js";
14
- export { default as compilePackCommands } from "./compilePackCommands.js";
15
- export type { CompiledPackStories } from "./compilePackStories.js";
16
- export { default as compilePackStories } from "./compilePackStories.js";
17
- export { default as compilePackToolSpecs } from "./compilePackToolSpecs.js";
18
- export type { ReservedVerbs } from "./reservedVerbs.js";
19
- export {
20
- buildReservedVerbs,
21
- deriveReservedVerbs,
22
- isReserved,
23
- nounVerbFromPath,
24
- nounVerbFromToolName,
25
- } from "./reservedVerbs.js";
26
- export { default as runSelectQuery } from "./runSelectQuery.js";
27
- export type {
28
- StoryPackColumn,
29
- StoryPackDefinition,
30
- StoryPackDisclosure,
31
- StoryPackExpand,
32
- StoryPackField,
33
- StoryPackFilter,
34
- StoryPackList,
35
- StoryPackLookup,
36
- StoryPackSample,
37
- StoryPackSearch,
38
- StoryPackSection,
39
- StoryPackSource,
40
- StoryPackVerb,
41
- } from "./types.js";
42
- export { default as validateStoryPackDefinition } from "./validateStoryPackDefinition.js";
@@ -1,213 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import {
3
- buildReservedVerbs,
4
- deriveReservedVerbs,
5
- isReserved,
6
- nounVerbFromPath,
7
- nounVerbFromToolName,
8
- } from "./reservedVerbs.js";
9
-
10
- describe("nounVerbFromPath", () => {
11
- it("splits a [noun, verb] path", () => {
12
- expect(nounVerbFromPath(["standard", "list"])).toEqual([
13
- "standard",
14
- "list",
15
- ]);
16
- });
17
-
18
- it("treats a single-segment path as a whole-noun reservation", () => {
19
- expect(nounVerbFromPath(["info"])).toEqual(["info", undefined]);
20
- });
21
-
22
- it("preserves the hyphenated multi-word built-in verb", () => {
23
- expect(nounVerbFromPath(["tokens", "add-config"])).toEqual([
24
- "tokens",
25
- "add-config",
26
- ]);
27
- });
28
- });
29
-
30
- describe("nounVerbFromToolName", () => {
31
- it("splits a single-underscore tool name", () => {
32
- expect(nounVerbFromToolName("standard_list")).toEqual(["standard", "list"]);
33
- });
34
-
35
- it("keeps every segment after the first for multi-underscore names", () => {
36
- expect(nounVerbFromToolName("tokens_add_config")).toEqual([
37
- "tokens",
38
- "add_config",
39
- ]);
40
- });
41
-
42
- it("treats a single-token name as a whole-noun reservation", () => {
43
- expect(nounVerbFromToolName("info")).toEqual(["info", undefined]);
44
- });
45
- });
46
-
47
- describe("buildReservedVerbs", () => {
48
- // Mirrors the real built-in CLI command paths (pinned by
49
- // collectCommands.test.ts's golden snapshot).
50
- const CLI_PATHS: readonly (readonly string[])[] = [
51
- ["standard", "list"],
52
- ["standard", "lookup"],
53
- ["standard", "categories"],
54
- ["standard", "sample"],
55
- ["token", "list"],
56
- ["token", "lookup"],
57
- ["token", "sample"],
58
- ["tokens", "add-config"],
59
- ["config", "show"],
60
- ["config", "tier"],
61
- ["config", "channel"],
62
- ["info"],
63
- ["llm"],
64
- ["doctor"],
65
- ["capabilities"],
66
- ];
67
-
68
- // Mirrors the real built-in MCP tool names (pinned by registerTools.test.ts).
69
- const MCP_NAMES: readonly string[] = [
70
- "standard_list",
71
- "standard_lookup",
72
- "standard_categories",
73
- "standard_sample",
74
- "token_list",
75
- "token_lookup",
76
- "token_sample",
77
- "tokens_add_config",
78
- "info",
79
- "llm",
80
- ];
81
-
82
- it("assembles verb sets per noun from real CLI command paths", () => {
83
- const reserved = buildReservedVerbs(
84
- CLI_PATHS.map((path) => nounVerbFromPath(path)),
85
- );
86
-
87
- expect(reserved.get("standard")).toEqual(
88
- new Set(["list", "lookup", "categories", "sample"]),
89
- );
90
- expect(reserved.get("token")).toEqual(
91
- new Set(["list", "lookup", "sample"]),
92
- );
93
- expect(reserved.get("tokens")).toEqual(new Set(["add-config"]));
94
- expect(reserved.get("info")).toEqual(new Set(["*"]));
95
- });
96
-
97
- it("assembles verb sets per noun from real MCP tool names", () => {
98
- const reserved = buildReservedVerbs(
99
- MCP_NAMES.map((name) => nounVerbFromToolName(name)),
100
- );
101
-
102
- expect(reserved.get("standard")).toEqual(
103
- new Set(["list", "lookup", "categories", "sample"]),
104
- );
105
- // The token/tokens split plus underscore verb is harmless surface skew.
106
- expect(reserved.get("tokens")).toEqual(new Set(["add_config"]));
107
- expect(reserved.get("info")).toEqual(new Set(["*"]));
108
- });
109
-
110
- it("keeps both entries when a noun has a concrete verb and a bare form", () => {
111
- const reserved = buildReservedVerbs([
112
- ["config", "show"],
113
- ["config", undefined],
114
- ]);
115
-
116
- expect(reserved.get("config")).toEqual(new Set(["show", "*"]));
117
- });
118
- });
119
-
120
- describe("isReserved", () => {
121
- // Raw grouping (buildReservedVerbs, no promotion): a partially reserved
122
- // noun like `config` keeps only its concrete verbs. The policy-applied
123
- // promotion of operational nouns is exercised under `deriveReservedVerbs`.
124
- const reserved = buildReservedVerbs(
125
- (
126
- [
127
- ["standard", "list"],
128
- ["standard", "lookup"],
129
- ["standard", "categories"],
130
- ["standard", "sample"],
131
- ["config", "show"],
132
- ["info"],
133
- ] as const
134
- ).map((path) => nounVerbFromPath(path)),
135
- );
136
-
137
- it("reserves a verb the built-in noun owns", () => {
138
- expect(isReserved(reserved, "standard", "list")).toBe(true);
139
- });
140
-
141
- it("admits a new verb on an existing noun (per-verb relaxation)", () => {
142
- expect(isReserved(reserved, "standard", "foo")).toBe(false);
143
- });
144
-
145
- it("reserves every verb of a whole-noun (`*`) reservation", () => {
146
- expect(isReserved(reserved, "info", "list")).toBe(true);
147
- });
148
-
149
- it("does not reserve an unowned verb of a partially reserved noun (raw map)", () => {
150
- // buildReservedVerbs alone does NOT promote `config`; deriveReservedVerbs
151
- // does (asserted below). This pins the pure-grouping behavior.
152
- expect(isReserved(reserved, "config", "list")).toBe(false);
153
- });
154
-
155
- it("does not reserve a noun with no built-in", () => {
156
- expect(isReserved(reserved, "recipe", "list")).toBe(false);
157
- });
158
- });
159
-
160
- describe("deriveReservedVerbs", () => {
161
- // Mirrors the real built-in surface: leaf read nouns that own list/lookup
162
- // plus operational nouns that own neither.
163
- const PAIRS: readonly (readonly [string, string | undefined])[] = [
164
- ["standard", "list"],
165
- ["standard", "lookup"],
166
- ["standard", "categories"],
167
- ["standard", "sample"],
168
- ["config", "show"],
169
- ["config", "tier"],
170
- ["config", "channel"],
171
- ["graph", "query"],
172
- ["graph", "inspect"],
173
- ["create", "component"],
174
- ["create", "package"],
175
- ["graphql", "build"],
176
- ["setup", "all"],
177
- ["tokens", "add-config"],
178
- ["info", undefined],
179
- ];
180
- const derived = deriveReservedVerbs(PAIRS);
181
-
182
- it("promotes operational nouns (no list/lookup) to a whole-noun reservation", () => {
183
- for (const noun of ["config", "graph", "create", "graphql", "setup"]) {
184
- expect(isReserved(derived, noun, "list")).toBe(true);
185
- // Whole-noun means every verb is reserved, not just list.
186
- expect(isReserved(derived, noun, "anything")).toBe(true);
187
- }
188
- // The plural add-config noun owns only a non-read verb, so it too promotes.
189
- expect(isReserved(derived, "tokens", "list")).toBe(true);
190
- // The promoted set is exactly the whole-noun sentinel.
191
- expect(derived.get("config")).toEqual(new Set(["*"]));
192
- });
193
-
194
- it("keeps leaf read nouns per-verb (does not promote `standard`)", () => {
195
- expect(isReserved(derived, "standard", "list")).toBe(true);
196
- expect(isReserved(derived, "standard", "lookup")).toBe(true);
197
- // A verb the built-in noun does not own stays admissible.
198
- expect(isReserved(derived, "standard", "foo")).toBe(false);
199
- // Untouched: the per-verb set is preserved verbatim.
200
- expect(derived.get("standard")).toEqual(
201
- new Set(["list", "lookup", "categories", "sample"]),
202
- );
203
- });
204
-
205
- it("leaves a bare whole-noun reservation idempotent", () => {
206
- expect(derived.get("info")).toEqual(new Set(["*"]));
207
- expect(isReserved(derived, "info", "list")).toBe(true);
208
- });
209
-
210
- it("does not reserve a noun with no built-in", () => {
211
- expect(isReserved(derived, "recipe", "list")).toBe(false);
212
- });
213
- });
@@ -1,170 +0,0 @@
1
- /**
2
- * Per-(noun, verb) reservation for story packs.
3
- *
4
- * A story pack must not shadow a built-in command. The built-in surface is
5
- * derived at assembly time into a {@link ReservedVerbs} map via
6
- * {@link deriveReservedVerbs}: each built-in noun maps to the set of verbs it
7
- * already occupies. A pack is only blocked when it would emit a verb the
8
- * built-in noun actually owns — so a new verb on an existing noun is
9
- * admissible, and once a noun's `list`/`lookup` wrapper is deleted (leaf
10
- * cutover, ADR C.07) that verb automatically leaves the map, making the
11
- * migration incremental.
12
- *
13
- * Per-verb relaxation applies ONLY to nouns that own a `list`/`lookup` read
14
- * verb (the real leaf-migration targets: block/standard/modifier/token/tier).
15
- * A built-in noun that owns neither — an operational command like `config`,
16
- * `graph`, `setup` — is reserved wholesale by {@link deriveReservedVerbs}, so
17
- * a pack can never colonize its namespace.
18
- *
19
- * The {@link WHOLE_NOUN} sentinel (`"*"`) reserves a whole noun: single-word
20
- * built-ins (e.g. `info`, `llm`, `doctor`) have no verb, so they reserve every
21
- * verb, as do promoted operational nouns.
22
- * @module
23
- */
24
-
25
- /** Sentinel verb reserving an entire noun (matches every verb). */
26
- const WHOLE_NOUN = "*";
27
-
28
- /**
29
- * The read-story verbs a pack can emit — the only verbs a leaf cutover frees.
30
- *
31
- * A built-in noun that owns one of these is a declarative-read migration
32
- * target and keeps per-verb reservation; a noun disjoint from this set is
33
- * operational and is reserved wholesale.
34
- */
35
- const READ_STORY_VERBS: ReadonlySet<string> = new Set(["list", "lookup"]);
36
-
37
- /**
38
- * Built-in reservations: noun → the verbs it occupies.
39
- *
40
- * The {@link WHOLE_NOUN} (`"*"`) sentinel in a noun's verb set reserves the
41
- * entire noun.
42
- */
43
- export type ReservedVerbs = ReadonlyMap<string, ReadonlySet<string>>;
44
-
45
- /**
46
- * Whether a `(noun, verb)` pair is reserved by a built-in command.
47
- *
48
- * @param reserved - The assembled reservation map.
49
- * @param noun - The story pack noun.
50
- * @param verb - A verb the pack would emit (e.g. `"list"`).
51
- * @returns `true` when the noun reserves this verb or the whole noun (`"*"`).
52
- */
53
- export function isReserved(
54
- reserved: ReservedVerbs,
55
- noun: string,
56
- verb: string,
57
- ): boolean {
58
- const verbs = reserved.get(noun);
59
- return verbs !== undefined && (verbs.has(verb) || verbs.has(WHOLE_NOUN));
60
- }
61
-
62
- /**
63
- * Split a CLI command path into a `(noun, verb)` pair.
64
- *
65
- * `["standard", "list"]` → `["standard", "list"]`; a single-segment path
66
- * like `["info"]` → `["info", undefined]` (whole-noun reservation).
67
- *
68
- * @param path - A command's path segments.
69
- * @returns The `[noun, verb]` pair; `verb` is `undefined` for a bare noun.
70
- */
71
- export function nounVerbFromPath(
72
- path: readonly string[],
73
- ): [string, string | undefined] {
74
- return [path.at(0) ?? "", path.at(1)];
75
- }
76
-
77
- /**
78
- * Split an MCP tool name into a `(noun, verb)` pair on `"_"`.
79
- *
80
- * The verb keeps every segment after the first, so the one multi-underscore
81
- * built-in parses as `"tokens_add_config"` → `["tokens", "add_config"]`;
82
- * `"standard_list"` → `["standard", "list"]`; a bare `"info"` →
83
- * `["info", undefined]`.
84
- *
85
- * Note the surface asymmetry this tolerates: the CLI reserves `tokens
86
- * add-config` (hyphen) while MCP reserves `tokens_add_config` (underscore),
87
- * and CLI/MCP reserve different noun sets overall. That is harmless — each
88
- * surface derives and consumes its own map, and packs only ever emit the
89
- * `list`/`lookup` verbs.
90
- *
91
- * @param name - An MCP tool name (e.g. `"token_lookup"`).
92
- * @returns The `[noun, verb]` pair; `verb` is `undefined` for a bare noun.
93
- */
94
- export function nounVerbFromToolName(
95
- name: string,
96
- ): [string, string | undefined] {
97
- const parts = name.split("_");
98
- const noun = parts.at(0) ?? "";
99
- const verb = parts.length > 1 ? parts.slice(1).join("_") : undefined;
100
- return [noun, verb];
101
- }
102
-
103
- /**
104
- * Assemble a {@link ReservedVerbs} map from `(noun, verb)` pairs.
105
- *
106
- * Pure grouping only — no reservation policy. A pair with an `undefined`
107
- * verb reserves the whole noun (stored as the {@link WHOLE_NOUN} sentinel).
108
- * A noun appearing with both a concrete verb and `undefined` keeps both
109
- * entries in its set, which is harmless because `"*"` already matches every
110
- * verb. Callers wanting the policy-applied surface use
111
- * {@link deriveReservedVerbs}, not this function.
112
- *
113
- * @param pairs - `(noun, verb)` pairs, e.g. from {@link nounVerbFromPath}.
114
- * @returns The assembled reservation map (raw grouping).
115
- */
116
- export function buildReservedVerbs(
117
- pairs: Iterable<readonly [string, string | undefined]>,
118
- ): ReservedVerbs {
119
- const reserved = new Map<string, Set<string>>();
120
- for (const [noun, verb] of pairs) {
121
- const verbs = reserved.get(noun) ?? new Set<string>();
122
- verbs.add(verb ?? WHOLE_NOUN);
123
- reserved.set(noun, verbs);
124
- }
125
- return reserved;
126
- }
127
-
128
- /**
129
- * Derive the policy-applied {@link ReservedVerbs} the guard consumes.
130
- *
131
- * A built-in noun that exposes neither `list` nor `lookup` is an operational
132
- * command (config, graph, setup, …), never a declarative-read migration
133
- * target, so it is reserved wholesale — a pack may not colonize its
134
- * namespace. Nouns that own `list`/`lookup` keep per-verb reservation so a
135
- * later cutover phase can free an individual read verb by deleting its
136
- * wrapper.
137
- *
138
- * Both the CLI and MCP surfaces route through this single derivation, so the
139
- * two surfaces reserve the same `list`/`lookup` verbs for every leaf noun.
140
- *
141
- * Limitation: a fully-migrated leaf noun whose only *remaining* built-in
142
- * verbs are non-read (e.g. `sample`/`categories` after both `list` and
143
- * `lookup` are deleted) would be wholesale-promoted here; that Phase-3 case
144
- * is served by the built-in pack's own precedence (C.07) and must be
145
- * revisited when it lands.
146
- *
147
- * @param pairs - `(noun, verb)` pairs, e.g. from {@link nounVerbFromPath}.
148
- * @returns The reservation map with operational nouns promoted to whole-noun.
149
- */
150
- export function deriveReservedVerbs(
151
- pairs: Iterable<readonly [string, string | undefined]>,
152
- ): ReservedVerbs {
153
- // Mutable working copy of the pure grouping.
154
- const map = new Map<string, Set<string>>();
155
- for (const [noun, verbs] of buildReservedVerbs(pairs)) {
156
- map.set(noun, new Set(verbs));
157
- }
158
-
159
- // Promote every operational noun (verb-set disjoint from the read verbs)
160
- // to a wholesale reservation. Bare nouns already hold `{"*"}`, so this is
161
- // idempotent for them; leaf read nouns keep their per-verb sets untouched.
162
- for (const [noun, verbs] of map) {
163
- const ownsReadVerb = [...verbs].some((verb) => READ_STORY_VERBS.has(verb));
164
- if (!ownsReadVerb) {
165
- map.set(noun, new Set([WHOLE_NOUN]));
166
- }
167
- }
168
-
169
- return map;
170
- }
@@ -1,31 +0,0 @@
1
- import type { Store } from "@canonical/ke";
2
- import { PragmaError } from "#error";
3
- import { buildQuery } from "../../buildQuery.js";
4
-
5
- /**
6
- * Run a pack story's SELECT and return its binding rows.
7
- *
8
- * The store rejects non-read queries at the engine level; this guards the
9
- * result shape so a pack whose query is not a SELECT fails with a
10
- * recoverable config error instead of a shape mismatch downstream.
11
- *
12
- * @param store - The ke store to query.
13
- * @param query - SPARQL SELECT text (the store injects PREFIX declarations).
14
- * @param source - The pack source, for error attribution.
15
- * @returns One record per row, keyed by SELECT variable name.
16
- * @throws PragmaError with code `CONFIG_ERROR` when the query is not a SELECT.
17
- * @note Impure — queries the ke store.
18
- */
19
- export default async function runSelectQuery(
20
- store: Store,
21
- query: string,
22
- source: string,
23
- ): Promise<Record<string, string>[]> {
24
- const result = await store.query(buildQuery(query));
25
- if (result.type !== "select") {
26
- throw PragmaError.configError(
27
- `Story query in ${source} must be a SELECT (got ${result.type}).`,
28
- );
29
- }
30
- return result.bindings;
31
- }