@canonical/pragma-cli 0.38.0 → 0.42.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 (365) hide show
  1. package/README.md +3 -3
  2. package/dist/package.json +16 -16
  3. package/dist/pragma.conf.js +273 -176
  4. package/dist/pragma.conf.js.map +1 -1
  5. package/dist/src/capabilities/capabilities/capabilities.verb.js +2 -0
  6. package/dist/src/capabilities/capabilities/capabilities.verb.js.map +1 -1
  7. package/dist/src/capabilities/capabilities/catalog.js +47 -51
  8. package/dist/src/capabilities/capabilities/catalog.js.map +1 -1
  9. package/dist/src/capabilities/capabilities/index.js +2 -0
  10. package/dist/src/capabilities/capabilities/index.js.map +1 -1
  11. package/dist/src/capabilities/capabilities/types.js +5 -5
  12. package/dist/src/capabilities/colophon/colophon.render.js +7 -4
  13. package/dist/src/capabilities/colophon/colophon.render.js.map +1 -1
  14. package/dist/src/capabilities/colophon/colophon.verb.js +1 -0
  15. package/dist/src/capabilities/colophon/colophon.verb.js.map +1 -1
  16. package/dist/src/capabilities/colophon/markdownTerminal.js.map +1 -1
  17. package/dist/src/capabilities/config/get.verb.js +2 -0
  18. package/dist/src/capabilities/config/get.verb.js.map +1 -1
  19. package/dist/src/capabilities/config/runField.js +2 -2
  20. package/dist/src/capabilities/config/runField.js.map +1 -1
  21. package/dist/src/capabilities/config/set.verb.js +2 -0
  22. package/dist/src/capabilities/config/set.verb.js.map +1 -1
  23. package/dist/src/capabilities/config/show.render.js.map +1 -1
  24. package/dist/src/capabilities/config/show.verb.js +1 -0
  25. package/dist/src/capabilities/config/show.verb.js.map +1 -1
  26. package/dist/src/capabilities/config/unset.verb.js +2 -0
  27. package/dist/src/capabilities/config/unset.verb.js.map +1 -1
  28. package/dist/src/capabilities/create/constants.js +8 -5
  29. package/dist/src/capabilities/create/constants.js.map +1 -1
  30. package/dist/src/capabilities/create/create.render.js.map +1 -1
  31. package/dist/src/capabilities/create/create.verb.js +36 -7
  32. package/dist/src/capabilities/create/create.verb.js.map +1 -1
  33. package/dist/src/capabilities/create/createSurface.generated.js +22 -0
  34. package/dist/src/capabilities/create/createSurface.generated.js.map +1 -1
  35. package/dist/src/capabilities/create/index.js +1 -1
  36. package/dist/src/capabilities/create/pickGenerator.js +1 -0
  37. package/dist/src/capabilities/create/pickGenerator.js.map +1 -1
  38. package/dist/src/capabilities/distribution.js +3 -1
  39. package/dist/src/capabilities/distribution.js.map +1 -1
  40. package/dist/src/capabilities/doctor/checks/checkPackageRefs.js +10 -2
  41. package/dist/src/capabilities/doctor/checks/checkPackageRefs.js.map +1 -1
  42. package/dist/src/capabilities/doctor/checks/targetHealth.js.map +1 -1
  43. package/dist/src/capabilities/doctor/doctor.verb.js +2 -0
  44. package/dist/src/capabilities/doctor/doctor.verb.js.map +1 -1
  45. package/dist/src/capabilities/graph/connect.verb.js +2 -0
  46. package/dist/src/capabilities/graph/connect.verb.js.map +1 -1
  47. package/dist/src/capabilities/graph/inspect.render.js +7 -1
  48. package/dist/src/capabilities/graph/inspect.render.js.map +1 -1
  49. package/dist/src/capabilities/graph/inspect.verb.js +2 -0
  50. package/dist/src/capabilities/graph/inspect.verb.js.map +1 -1
  51. package/dist/src/capabilities/graph/query.render.js +37 -5
  52. package/dist/src/capabilities/graph/query.render.js.map +1 -1
  53. package/dist/src/capabilities/graph/query.verb.js +2 -0
  54. package/dist/src/capabilities/graph/query.verb.js.map +1 -1
  55. package/dist/src/capabilities/graph/queryText.js +28 -0
  56. package/dist/src/capabilities/graph/queryText.js.map +1 -1
  57. package/dist/src/capabilities/graph/runConnect.js +3 -3
  58. package/dist/src/capabilities/graph/runConnect.js.map +1 -1
  59. package/dist/src/capabilities/graph/runQuery.js +8 -6
  60. package/dist/src/capabilities/graph/runQuery.js.map +1 -1
  61. package/dist/src/capabilities/info/info.verb.js +2 -0
  62. package/dist/src/capabilities/info/info.verb.js.map +1 -1
  63. package/dist/src/capabilities/meta/mcp.verb.js +1 -0
  64. package/dist/src/capabilities/meta/mcp.verb.js.map +1 -1
  65. package/dist/src/capabilities/ontology/verbs.js +7 -10
  66. package/dist/src/capabilities/ontology/verbs.js.map +1 -1
  67. package/dist/src/capabilities/prompt/verbs.js +5 -4
  68. package/dist/src/capabilities/prompt/verbs.js.map +1 -1
  69. package/dist/src/capabilities/resources/provider.js +6 -3
  70. package/dist/src/capabilities/resources/provider.js.map +1 -1
  71. package/dist/src/capabilities/setup/operations/writability.js.map +1 -1
  72. package/dist/src/capabilities/setup/plan.render.js.map +1 -1
  73. package/dist/src/capabilities/setup/setup.verb.js +13 -5
  74. package/dist/src/capabilities/setup/setup.verb.js.map +1 -1
  75. package/dist/src/capabilities/shared/calls.js +16 -0
  76. package/dist/src/capabilities/shared/calls.js.map +1 -0
  77. package/dist/src/capabilities/shared/packageManager.js.map +1 -1
  78. package/dist/src/capabilities/skill/discover.js.map +1 -1
  79. package/dist/src/capabilities/skill/render.js +7 -5
  80. package/dist/src/capabilities/skill/render.js.map +1 -1
  81. package/dist/src/capabilities/skill/verbs.js +5 -4
  82. package/dist/src/capabilities/skill/verbs.js.map +1 -1
  83. package/dist/src/capabilities/sources/collectStatus.js +6 -1
  84. package/dist/src/capabilities/sources/collectStatus.js.map +1 -1
  85. package/dist/src/capabilities/sources/index.js +4 -3
  86. package/dist/src/capabilities/sources/index.js.map +1 -1
  87. package/dist/src/capabilities/sources/reset.render.js +37 -0
  88. package/dist/src/capabilities/sources/reset.render.js.map +1 -0
  89. package/dist/src/capabilities/sources/reset.verb.js +51 -0
  90. package/dist/src/capabilities/sources/reset.verb.js.map +1 -0
  91. package/dist/src/capabilities/sources/runReset.js +59 -0
  92. package/dist/src/capabilities/sources/runReset.js.map +1 -0
  93. package/dist/src/capabilities/sources/runUpdate.js +7 -6
  94. package/dist/src/capabilities/sources/runUpdate.js.map +1 -1
  95. package/dist/src/capabilities/sources/status.render.js +24 -8
  96. package/dist/src/capabilities/sources/status.render.js.map +1 -1
  97. package/dist/src/capabilities/sources/status.verb.js +1 -0
  98. package/dist/src/capabilities/sources/status.verb.js.map +1 -1
  99. package/dist/src/capabilities/sources/update.verb.js +2 -0
  100. package/dist/src/capabilities/sources/update.verb.js.map +1 -1
  101. package/dist/src/capabilities/upgrade/upgrade.verb.js +1 -0
  102. package/dist/src/capabilities/upgrade/upgrade.verb.js.map +1 -1
  103. package/dist/src/capabilities/version/version.verb.js +1 -0
  104. package/dist/src/capabilities/version/version.verb.js.map +1 -1
  105. package/dist/src/constants.js +4 -3
  106. package/dist/src/constants.js.map +1 -1
  107. package/dist/src/kernel/completion/complete.js.map +1 -1
  108. package/dist/src/kernel/completion/emitScripts.js.map +1 -1
  109. package/dist/src/kernel/completion/parse.js.map +1 -1
  110. package/dist/src/kernel/completion/rank.js.map +1 -1
  111. package/dist/src/kernel/completion/resolve.js.map +1 -1
  112. package/dist/src/kernel/config/readConfig.js.map +1 -1
  113. package/dist/src/kernel/error/PragmaError.js.map +1 -1
  114. package/dist/src/kernel/error/index.js +1 -1
  115. package/dist/src/kernel/error/index.js.map +1 -1
  116. package/dist/src/kernel/error/recovery.js +24 -42
  117. package/dist/src/kernel/error/recovery.js.map +1 -1
  118. package/dist/src/kernel/packs/collect.js +123 -9
  119. package/dist/src/kernel/packs/collect.js.map +1 -1
  120. package/dist/src/kernel/packs/compile.js +74 -15
  121. package/dist/src/kernel/packs/compile.js.map +1 -1
  122. package/dist/src/kernel/packs/graphql/fetchGraphqlLookup.js +3 -3
  123. package/dist/src/kernel/packs/graphql/fetchGraphqlLookup.js.map +1 -1
  124. package/dist/src/kernel/packs/iri.js +2 -4
  125. package/dist/src/kernel/packs/iri.js.map +1 -1
  126. package/dist/src/kernel/packs/renderPack.js +90 -50
  127. package/dist/src/kernel/packs/renderPack.js.map +1 -1
  128. package/dist/src/kernel/packs/resolveEntity.js +202 -90
  129. package/dist/src/kernel/packs/resolveEntity.js.map +1 -1
  130. package/dist/src/kernel/packs/runBodies.js +89 -30
  131. package/dist/src/kernel/packs/runBodies.js.map +1 -1
  132. package/dist/src/kernel/packs/schema.js +66 -12
  133. package/dist/src/kernel/packs/schema.js.map +1 -1
  134. package/dist/src/kernel/packs/sparql/buildListQuery.js +80 -13
  135. package/dist/src/kernel/packs/sparql/buildListQuery.js.map +1 -1
  136. package/dist/src/kernel/packs/sparql/buildLookupQuery.js +41 -13
  137. package/dist/src/kernel/packs/sparql/buildLookupQuery.js.map +1 -1
  138. package/dist/src/kernel/packs/sparql/filterValues.js +32 -23
  139. package/dist/src/kernel/packs/sparql/filterValues.js.map +1 -1
  140. package/dist/src/kernel/packs/sparql/runSelect.js +3 -5
  141. package/dist/src/kernel/packs/sparql/runSelect.js.map +1 -1
  142. package/dist/src/kernel/packs/storyRules.js +31 -4
  143. package/dist/src/kernel/packs/storyRules.js.map +1 -1
  144. package/dist/src/kernel/packs/tierScope.js +3 -3
  145. package/dist/src/kernel/packs/tierScope.js.map +1 -1
  146. package/dist/src/kernel/packs/types.js +4 -0
  147. package/dist/src/kernel/packs/types.js.map +1 -1
  148. package/dist/src/kernel/project/cli/buildProgram.js +4 -0
  149. package/dist/src/kernel/project/cli/buildProgram.js.map +1 -1
  150. package/dist/src/kernel/project/cli/dispatch.js +32 -8
  151. package/dist/src/kernel/project/cli/dispatch.js.map +1 -1
  152. package/dist/src/kernel/project/cli/globalFlags.js.map +1 -1
  153. package/dist/src/kernel/project/cli/suggestNames.js +44 -1
  154. package/dist/src/kernel/project/cli/suggestNames.js.map +1 -1
  155. package/dist/src/kernel/project/cli/verbHelp.js +17 -18
  156. package/dist/src/kernel/project/cli/verbHelp.js.map +1 -1
  157. package/dist/src/kernel/project/mcp/buildServer.js +11 -4
  158. package/dist/src/kernel/project/mcp/buildServer.js.map +1 -1
  159. package/dist/src/kernel/project/mcp/envelope.js +3 -2
  160. package/dist/src/kernel/project/mcp/envelope.js.map +1 -1
  161. package/dist/src/kernel/project/mcp/instructions.js +101 -31
  162. package/dist/src/kernel/project/mcp/instructions.js.map +1 -1
  163. package/dist/src/kernel/project/mcp/registerVerb.js +59 -23
  164. package/dist/src/kernel/project/mcp/registerVerb.js.map +1 -1
  165. package/dist/src/kernel/render/envelope.js.map +1 -1
  166. package/dist/src/kernel/render/renderers.js +3 -3
  167. package/dist/src/kernel/render/renderers.js.map +1 -1
  168. package/dist/src/kernel/render/turtle.js +21 -4
  169. package/dist/src/kernel/render/turtle.js.map +1 -1
  170. package/dist/src/kernel/runtime/boot.js.map +1 -1
  171. package/dist/src/kernel/runtime/graphpack/build.js +54 -1
  172. package/dist/src/kernel/runtime/graphpack/build.js.map +1 -1
  173. package/dist/src/kernel/runtime/graphpack/manifest.js +14 -0
  174. package/dist/src/kernel/runtime/graphpack/manifest.js.map +1 -1
  175. package/dist/src/kernel/runtime/graphpack/read.js +3 -5
  176. package/dist/src/kernel/runtime/graphpack/read.js.map +1 -1
  177. package/dist/src/kernel/runtime/graphpack/schemas.js +1 -0
  178. package/dist/src/kernel/runtime/graphpack/schemas.js.map +1 -1
  179. package/dist/src/kernel/runtime/loadSession.js +8 -1
  180. package/dist/src/kernel/runtime/loadSession.js.map +1 -1
  181. package/dist/src/kernel/runtime/packVersion.js +75 -0
  182. package/dist/src/kernel/runtime/packVersion.js.map +1 -0
  183. package/dist/src/kernel/runtime/readEntity.js +43 -4
  184. package/dist/src/kernel/runtime/readEntity.js.map +1 -1
  185. package/dist/src/kernel/runtime/refs/resolve.js.map +1 -1
  186. package/dist/src/kernel/runtime/resolveSources.js +61 -9
  187. package/dist/src/kernel/runtime/resolveSources.js.map +1 -1
  188. package/dist/src/kernel/runtime/storeReadiness.js +3 -2
  189. package/dist/src/kernel/runtime/storeReadiness.js.map +1 -1
  190. package/dist/src/kernel/spec/call.js +167 -0
  191. package/dist/src/kernel/spec/call.js.map +1 -0
  192. package/dist/src/kernel/spec/emitReference.js +9 -13
  193. package/dist/src/kernel/spec/emitReference.js.map +1 -1
  194. package/dist/src/kernel/spec/emitSurface.js +8 -1
  195. package/dist/src/kernel/spec/emitSurface.js.map +1 -1
  196. package/dist/src/kernel/spec/guidance.js +63 -0
  197. package/dist/src/kernel/spec/guidance.js.map +1 -0
  198. package/dist/src/kernel/spec/wireType.js +36 -0
  199. package/dist/src/kernel/spec/wireType.js.map +1 -0
  200. package/package.json +16 -16
  201. package/pragma.conf.ts +294 -177
  202. package/src/capabilities/block.parity.test.ts +1 -1
  203. package/src/capabilities/callRule.test.ts +147 -0
  204. package/src/capabilities/capabilities/capabilities.test.ts +47 -19
  205. package/src/capabilities/capabilities/capabilities.verb.ts +2 -0
  206. package/src/capabilities/capabilities/catalog.ts +60 -55
  207. package/src/capabilities/capabilities/index.ts +2 -0
  208. package/src/capabilities/capabilities/types.ts +16 -19
  209. package/src/capabilities/colophon/colophon.render.ts +9 -5
  210. package/src/capabilities/colophon/colophon.verb.ts +1 -0
  211. package/src/capabilities/config/get.verb.ts +2 -0
  212. package/src/capabilities/config/runField.ts +3 -3
  213. package/src/capabilities/config/set.verb.ts +3 -0
  214. package/src/capabilities/config/show.verb.ts +2 -0
  215. package/src/capabilities/config/unset.verb.ts +2 -0
  216. package/src/capabilities/create/constants.ts +8 -5
  217. package/src/capabilities/create/create.mcp.test.ts +173 -1
  218. package/src/capabilities/create/create.test.ts +4 -2
  219. package/src/capabilities/create/create.verb.ts +45 -3
  220. package/src/capabilities/create/createGrammar.test.ts +41 -5
  221. package/src/capabilities/create/createSurface.generated.ts +22 -0
  222. package/src/capabilities/create/crossCli.subprocess.test.ts +53 -14
  223. package/src/capabilities/create/index.ts +1 -1
  224. package/src/capabilities/create/pickGenerator.ts +1 -0
  225. package/src/capabilities/create/shippedCreate.subprocess.test.ts +28 -7
  226. package/src/capabilities/distribution.test.ts +6 -3
  227. package/src/capabilities/distribution.ts +6 -0
  228. package/src/capabilities/doctor/checks/checkPackageRefs.ts +14 -2
  229. package/src/capabilities/doctor/doctor.test.ts +38 -1
  230. package/src/capabilities/doctor/doctor.verb.ts +2 -0
  231. package/src/capabilities/emptyRecovery.test.ts +5 -0
  232. package/src/capabilities/graph/connect.verb.ts +2 -0
  233. package/src/capabilities/graph/inspect.render.ts +9 -1
  234. package/src/capabilities/graph/inspect.test.ts +73 -0
  235. package/src/capabilities/graph/inspect.verb.ts +2 -0
  236. package/src/capabilities/graph/query.render.test.ts +35 -0
  237. package/src/capabilities/graph/query.render.ts +45 -7
  238. package/src/capabilities/graph/query.shipped.exec.test.ts +44 -0
  239. package/src/capabilities/graph/query.verb.ts +2 -0
  240. package/src/capabilities/graph/queryText.test.ts +55 -1
  241. package/src/capabilities/graph/queryText.ts +47 -0
  242. package/src/capabilities/graph/runConnect.ts +4 -5
  243. package/src/capabilities/graph/runQuery.ts +23 -9
  244. package/src/capabilities/info/info.verb.ts +2 -0
  245. package/src/capabilities/links.shipped.exec.test.ts +398 -0
  246. package/src/capabilities/listBudget.shipped.exec.test.ts +2 -2
  247. package/src/capabilities/listLookup.shipped.exec.test.ts +122 -13
  248. package/src/capabilities/listQuery.shipped.exec.test.ts +39 -16
  249. package/src/capabilities/lookupBudget.shipped.exec.test.ts +208 -0
  250. package/src/capabilities/meta/mcp.verb.ts +2 -0
  251. package/src/capabilities/ontology/ontology.test.ts +24 -0
  252. package/src/capabilities/ontology/verbs.ts +16 -12
  253. package/src/capabilities/prompt/verbs.ts +10 -4
  254. package/src/capabilities/resources/provider.ts +7 -3
  255. package/src/capabilities/resources/resources.test.ts +2 -1
  256. package/src/capabilities/setup/setup.verb.ts +16 -0
  257. package/src/capabilities/shared/calls.ts +20 -0
  258. package/src/capabilities/skill/render.ts +9 -6
  259. package/src/capabilities/skill/verbs.ts +8 -4
  260. package/src/capabilities/sources/collectStatus.ts +6 -1
  261. package/src/capabilities/sources/index.ts +4 -3
  262. package/src/capabilities/sources/reset.render.test.ts +33 -0
  263. package/src/capabilities/sources/reset.render.ts +43 -0
  264. package/src/capabilities/sources/reset.verb.ts +59 -0
  265. package/src/capabilities/sources/runReset.ts +65 -0
  266. package/src/capabilities/sources/runUpdate.ts +12 -11
  267. package/src/capabilities/sources/sources.test.ts +158 -3
  268. package/src/capabilities/sources/status.render.test.ts +63 -1
  269. package/src/capabilities/sources/status.render.ts +25 -8
  270. package/src/capabilities/sources/status.verb.ts +2 -0
  271. package/src/capabilities/sources/types.ts +26 -0
  272. package/src/capabilities/sources/update.verb.ts +3 -0
  273. package/src/capabilities/surface.test.ts +29 -4
  274. package/src/capabilities/token.parity.test.ts +3 -2
  275. package/src/capabilities/tokenGraph.shipped.exec.test.ts +14 -2
  276. package/src/capabilities/upgrade/upgrade.verb.ts +1 -0
  277. package/src/capabilities/variable.parity.test.ts +2 -1
  278. package/src/capabilities/version/version.verb.ts +1 -0
  279. package/src/capabilities/wireContract.test.ts +110 -0
  280. package/src/constants.ts +4 -3
  281. package/src/kernel/completion/shellDrive.test.ts +2 -2
  282. package/src/kernel/copy.test.ts +1 -1
  283. package/src/kernel/error/PragmaError.test.ts +7 -3
  284. package/src/kernel/error/index.ts +1 -1
  285. package/src/kernel/error/recovery.test.ts +52 -18
  286. package/src/kernel/error/recovery.ts +25 -46
  287. package/src/kernel/error/types.ts +1 -1
  288. package/src/kernel/packs/collect.test.ts +79 -0
  289. package/src/kernel/packs/collect.ts +151 -11
  290. package/src/kernel/packs/compile.test.ts +107 -10
  291. package/src/kernel/packs/compile.ts +100 -11
  292. package/src/kernel/packs/filteredEmpty.test.ts +22 -5
  293. package/src/kernel/packs/graphql/fetchGraphqlLookup.ts +5 -6
  294. package/src/kernel/packs/graphqlSource.test.ts +42 -0
  295. package/src/kernel/packs/iri.ts +5 -4
  296. package/src/kernel/packs/listNotice.test.ts +1 -1
  297. package/src/kernel/packs/nounLink.test.ts +385 -0
  298. package/src/kernel/packs/renderPack.ts +137 -57
  299. package/src/kernel/packs/resolveEntity.test.ts +170 -1
  300. package/src/kernel/packs/resolveEntity.ts +281 -101
  301. package/src/kernel/packs/runBodies.ts +133 -31
  302. package/src/kernel/packs/schema.ts +77 -12
  303. package/src/kernel/packs/sparql/buildListQuery.test.ts +78 -1
  304. package/src/kernel/packs/sparql/buildListQuery.ts +106 -16
  305. package/src/kernel/packs/sparql/buildLookupQuery.ts +44 -13
  306. package/src/kernel/packs/sparql/filterValues.test.ts +36 -4
  307. package/src/kernel/packs/sparql/filterValues.ts +50 -31
  308. package/src/kernel/packs/sparql/runSelect.ts +4 -6
  309. package/src/kernel/packs/storyRules.ts +37 -4
  310. package/src/kernel/packs/tierScope.test.ts +120 -6
  311. package/src/kernel/packs/tierScope.ts +5 -7
  312. package/src/kernel/packs/toolDescription.test.ts +59 -74
  313. package/src/kernel/packs/types.ts +93 -11
  314. package/src/kernel/project/cli/buildProgram.ts +4 -0
  315. package/src/kernel/project/cli/dispatch.ts +34 -8
  316. package/src/kernel/project/cli/suggest.test.ts +77 -0
  317. package/src/kernel/project/cli/suggestNames.ts +47 -1
  318. package/src/kernel/project/cli/verbHelp.ts +16 -19
  319. package/src/kernel/project/mcp/buildServer.ts +15 -4
  320. package/src/kernel/project/mcp/envelope.ts +3 -2
  321. package/src/kernel/project/mcp/instructions.ts +123 -35
  322. package/src/kernel/project/mcp/prompts/prompts.test.ts +136 -20
  323. package/src/kernel/project/mcp/registerVerb.test.ts +28 -0
  324. package/src/kernel/project/mcp/registerVerb.ts +67 -29
  325. package/src/kernel/render/__snapshots__/renderers.test.ts.snap +1 -1
  326. package/src/kernel/render/renderers.test.ts +2 -2
  327. package/src/kernel/render/renderers.ts +3 -3
  328. package/src/kernel/render/turtle.ts +24 -4
  329. package/src/kernel/runtime/graphpack/build.ts +58 -1
  330. package/src/kernel/runtime/graphpack/graphpack.test.ts +20 -0
  331. package/src/kernel/runtime/graphpack/manifest.ts +15 -0
  332. package/src/kernel/runtime/graphpack/read.ts +4 -6
  333. package/src/kernel/runtime/graphpack/schemas.ts +1 -0
  334. package/src/kernel/runtime/graphpack/types.ts +13 -0
  335. package/src/kernel/runtime/loadSession.ts +8 -1
  336. package/src/kernel/runtime/packVersion.test.ts +61 -0
  337. package/src/kernel/runtime/packVersion.ts +84 -0
  338. package/src/kernel/runtime/readEntity.ts +61 -6
  339. package/src/kernel/runtime/resolveSources.test.ts +90 -7
  340. package/src/kernel/runtime/resolveSources.ts +91 -10
  341. package/src/kernel/runtime/storeReadiness.ts +4 -4
  342. package/src/kernel/runtime/types.ts +12 -0
  343. package/src/kernel/spec/call.test.ts +95 -0
  344. package/src/kernel/spec/call.ts +186 -0
  345. package/src/kernel/spec/emitReference.ts +9 -13
  346. package/src/kernel/spec/emitSurface.ts +9 -1
  347. package/src/kernel/spec/guidance.test.ts +49 -0
  348. package/src/kernel/spec/guidance.ts +68 -0
  349. package/src/kernel/spec/index.ts +4 -0
  350. package/src/kernel/spec/surfaceConformance.test.ts +2 -2
  351. package/src/kernel/spec/types.ts +64 -7
  352. package/src/kernel/spec/wireType.ts +53 -0
  353. package/src/testing/behavioral/README.md +1 -1
  354. package/src/testing/behavioral/errorMatrix.mcp.test.ts +2 -1
  355. package/src/testing/behavioral/journeys.firstInstall.test.ts +72 -2
  356. package/src/testing/behavioral/parity.test.ts +40 -0
  357. package/src/testing/eval/__snapshots__/eval.test.ts.snap +1 -1
  358. package/src/testing/eval/cases/assembly.ts +4 -3
  359. package/src/testing/eval/cases/stable.ts +2 -3
  360. package/src/testing/helpers/callSchema.ts +40 -0
  361. package/src/testing/helpers/parity.ts +35 -2
  362. package/src/testing/setupCallChecking.ts +30 -0
  363. package/dist/src/capabilities/capabilities/hints.js +0 -223
  364. package/dist/src/capabilities/capabilities/hints.js.map +0 -1
  365. package/src/capabilities/capabilities/hints.ts +0 -266
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../../src/kernel/runtime/refs/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAmB,SAAS,EAAE,MAAM,eAAe,CAAC;AA+B3D,6DAA6D;AAC7D,MAAM,QAAQ,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AAEzC,mFAAmF;AACnF,MAAM,WAAW,GAAG,SAAS,CAAC;AAE9B,sDAAsD;AACtD,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;AAEhF;;6EAE6E;AAC7E,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAG3B,CAAC;QACF,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE;YAAE,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IAC3E,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;oFACoF;AACpF,SAAS,OAAO,CACd,GAAW,EACX,IAAY,EACZ,KAAa,EACb,GAAwC;IAExC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO;IAC7B,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9D,yEAAyE;QACzE,qEAAqE;QACrE,2EAA2E;QAC3E,6DAA6D;QAC7D,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,mEAAmE;QACnE,oEAAoE;QACpE,2EAA2E;QAC3E,0EAA0E;QAC1E,oEAAoE;QACpE,sEAAsE;QACtE,4EAA4E;QAC5E,6EAA6E;QAC7E,sBAAsB;QACtB,IAAI,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBACjC,KAAK,GAAG,KAAK,CAAC;YAChB,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,GAAG,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;gBACxC,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;aACrC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,SAAS,cAAc,CACrB,OAAe,EACf,KAAa;IAEb,MAAM,OAAO,GAAwC,EAAE,CAAC;IACxD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CACvB,OAAe,EACf,KAAa;IAEb,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,OAAO,GAAwC,EAAE,CAAC;IACxD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9D,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,SAAS;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QACD,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,GAAG,KAAK,IAAI,WAAW,IAAI,KAAK,CAAC,IAAI,EAAE;YAC7C,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG,6CAA6C,CAAC;AAElE;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,aAAa,CAAC,OAAe;IACpC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC3E,OAAO,OAAO;SACX,OAAO,CAAC,iBAAiB,EAAE,YAAY,CAAC;SACxC,OAAO,CAAC,iBAAiB,EAAE,YAAY,CAAC;SACxC,OAAO,CAAC,sBAAsB,EAAE,YAAY,CAAC;SAC7C,OAAO,CAAC,sBAAsB,EAAE,YAAY,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAgD;IAEhD,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACjE,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;YAC7B,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;gBAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QACtE,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AASD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAgD;IAEhD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC5C,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACjE,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;YAC7B,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS;gBAAE,SAAS;YACvD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAyC,EACzC,GAAW;IAEX,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,GAAG,eAAe,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;IAC7E,CAAC;IACD,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAChD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAEzD,CAAC;gBACF,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG;oBAAE,OAAO,SAAS,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,4CAA4C;YAC9C,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,OAAO;YAAE,MAAM;QAC9B,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAe,EACf,OAAuB;IAEvB,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,MAAM,WAAW,CAAC,WAAW,CAC3B,YAAY,GAAG,CAAC,GAAG,qBAAqB,GAAG,CAAC,IAAI,GAAG,CACpD,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,GAAG,CAAC,GAAG;gBACb,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,GAAG,CAAC,IAAI;gBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC;gBAC1C,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC;aAC7C,CAAC;QACJ,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YACzD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,WAAW,CAAC,WAAW,CAC3B,YAAY,GAAG,CAAC,GAAG,4CAA4C,CAChE,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;YACjC,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO;oBACJ,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,OAAkB;wBAClE,OAAO,CAAC;YACZ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,yEAAyE;gBACzE,8DAA8D;gBAC9D,MAAM,WAAW,CAAC,WAAW,CAC3B,YAAY,GAAG,CAAC,GAAG,kCAAkC,WAAW,MAAM,WAAW,CAAC,KAAK,CAAC,EAAE,CAC3F,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,GAAG,CAAC,GAAG;gBACb,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;gBACrC,OAAO,EAAE,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;aACxC,CAAC;QACJ,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACvE,IAAI,QAAgB,CAAC;YACrB,IAAI,CAAC;gBACH,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpB,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAChC,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wEAAwE;gBACxE,yEAAyE;gBACzE,wEAAwE;gBACxE,qDAAqD;gBACrD,MAAM,WAAW,CAAC,WAAW,CAC3B,mBAAmB,GAAG,CAAC,GAAG,UAAU,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK,WAAW,CAAC,KAAK,CAAC,EAAE,EAC1F;oBACE,QAAQ,EAAE;wBACR,OAAO,EACL,4FAA4F;qBAC/F;iBACF,CACF,CAAC;YACJ,CAAC;YACD,uEAAuE;YACvE,uEAAuE;YACvE,oEAAoE;YACpE,uEAAuE;YACvE,kBAAkB;YAClB,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7D,OAAO;gBACL,IAAI,EAAE,GAAG,CAAC,GAAG;gBACb,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ;gBACR,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC;gBAC7C,OAAO,EAAE,gBAAgB,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC;aAChD,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../../src/kernel/runtime/refs/resolve.ts"],"names":[],"mappings":"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"}
@@ -8,24 +8,58 @@
8
8
  * says so, and it answers with completion candidates, never content.
9
9
  *
10
10
  * Boot never touches the network. From the project's active-pack pointer (the
11
- * content hash `sources update` last built here) and the resolved config:
11
+ * content hash `sources update` last built here), the pack's recorded builder
12
+ * version, and the resolved config:
12
13
  *
13
- * | pointer | pack complete | packs origin | → decision |
14
- * |---------|---------------|--------------|-----------------------|
15
- * | yes | yes | — | load the built pack |
16
- * | yes | no | — | STORE_UNAVAILABLE |
17
- * | no | — | default | embedded fallback |
18
- * | no | — | configured | STORE_UNAVAILABLE |
14
+ * | pointer | pack complete | built by | packs origin | → decision |
15
+ * |---------|---------------|----------------|--------------|---------------------|
16
+ * | yes | yes | this CLI/newer | — | load the built pack |
17
+ * | yes | yes | an older CLI | configured | load the built pack |
18
+ * | yes | yes | an older CLI | default | embedded, pack named|
19
+ * | yes | no | — | — | STORE_UNAVAILABLE |
20
+ * | no | — | — | default | embedded fallback |
21
+ * | no | — | — | configured | STORE_UNAVAILABLE |
19
22
  *
20
23
  * A configured-but-unbuilt store (or a pointer whose pack the cache lost)
21
24
  * surfaces STORE_UNAVAILABLE with a single recovery: `pragma sources update`.
22
25
  * "packs origin default" means the user has not pinned their own packs —
23
26
  * a fresh install — so the embedded pack answers reads offline. A project that
24
27
  * DID configure its own packs is never quietly served the distribution's graph.
28
+ *
29
+ * The third row is the UPGRADE row, and it is why the pack's builder version is
30
+ * part of the decision. A CLI upgrade ships a NEW embedded snapshot; a pack some
31
+ * older CLI built in this directory weeks ago then answered every read from the
32
+ * graph the upgrade replaced — silently, with `sources status` reporting a
33
+ * healthy `built` store. So a pack built by an older CLI, in a project that
34
+ * declares no packs of its own, YIELDS: the snapshot answers and the pack is
35
+ * named as ignored ({@link IgnoredPack}) on every surface that reports on the
36
+ * store, until `sources update` rebuilds it or `sources reset` removes it. The
37
+ * second row is the other half of the same rule: a project with its own packs
38
+ * has its own graph, and a snapshot of the distribution's is not a substitute
39
+ * for it, stale or not — that project keeps today's behaviour exactly.
25
40
  */
26
41
  import { existsSync } from "node:fs";
27
- import { packIsComplete } from "./graphpack/manifest.js";
42
+ import { BIN_NAME, VERSION } from "../../constants.js";
43
+ import { packArtifactsPresent, readManifest } from "./graphpack/manifest.js";
44
+ import { packIsOlderThanCli } from "./packVersion.js";
28
45
  import { packDir, readActivePack } from "./paths.js";
46
+ /**
47
+ * The one sentence every surface uses for a passed-over pack.
48
+ *
49
+ * ONE wording, in one place, because the three surfaces that say it
50
+ * (`sources status`, `doctor`'s pack refs row, and the recovery text a reader
51
+ * lands on) must not each invent their own account of the same state. It names
52
+ * the version and the day — the two facts that make the situation legible — and
53
+ * both ways out, because they are genuinely different choices: rebuild if you
54
+ * want your own packs back, reset if you want the shipped snapshot.
55
+ *
56
+ * @param ignored - The passed-over pack.
57
+ * @returns The sentence, without a trailing full stop.
58
+ */
59
+ export function describeIgnoredPack(ignored) {
60
+ return (`a pack built by ${BIN_NAME} ${ignored.builtBy} on ${ignored.builtAt.slice(0, 10)} is ignored — ` +
61
+ `run \`${BIN_NAME} sources update\` to rebuild it or \`${BIN_NAME} sources reset\` to remove it`);
62
+ }
29
63
  /**
30
64
  * Decide how (or whether) to boot the store — without any network or store I/O.
31
65
  *
@@ -38,8 +72,26 @@ export function resolveSources(layers, cwd) {
38
72
  const contentHash = readActivePack(cwd);
39
73
  if (contentHash !== undefined) {
40
74
  const dir = packDir(contentHash);
41
- if (packIsComplete(dir))
75
+ // The manifest is read ONCE and used twice — for completeness (the half of
76
+ // `packIsComplete` that is not the manifest itself) and for the builder
77
+ // version. The boot decision is evaluated on the storeless fast path, so
78
+ // asking the same ~1 KB file for the version separately would be a second
79
+ // read for a field the first read already had in hand.
80
+ const manifest = readManifest(dir);
81
+ if (manifest !== undefined && packArtifactsPresent(dir)) {
82
+ if (layers.origins.packs === "default" &&
83
+ packIsOlderThanCli(manifest.version, VERSION)) {
84
+ return {
85
+ kind: "embedded",
86
+ ignoredPack: {
87
+ contentHash,
88
+ builtBy: manifest.version,
89
+ builtAt: manifest.createdAt,
90
+ },
91
+ };
92
+ }
42
93
  return { kind: "pack", dir, contentHash };
94
+ }
43
95
  // Two different things, and the recovery text is the only thing a user has
44
96
  // to go on: the cache evicted the pack, or the directory is there but does
45
97
  // not hold a whole pack — the state EVERY install upgraded past the
@@ -1 +1 @@
1
- {"version":3,"file":"resolveSources.js","sourceRoot":"","sources":["../../../../src/kernel/runtime/resolveSources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAYrD;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAoB,EACpB,GAAW;IAEX,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,cAAc,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;QACnE,2EAA2E;QAC3E,2EAA2E;QAC3E,oEAAoE;QACpE,4EAA4E;QAC5E,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC;gBACrB,CAAC,CAAC,uDAAuD;gBACzD,CAAC,CAAC,0CAA0C;SAC/C,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,uDAAuD;KAChE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"resolveSources.js","sourceRoot":"","sources":["../../../../src/kernel/runtime/resolveSources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAmCrD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAoB;IACtD,OAAO,CACL,mBAAmB,QAAQ,IAAI,OAAO,CAAC,OAAO,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB;QACjG,SAAS,QAAQ,wCAAwC,QAAQ,+BAA+B,CACjG,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAoB,EACpB,GAAW;IAEX,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QACjC,2EAA2E;QAC3E,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,uDAAuD;QACvD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,QAAQ,KAAK,SAAS,IAAI,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;YACxD,IACE,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS;gBAClC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,EAC7C,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,UAAU;oBAChB,WAAW,EAAE;wBACX,WAAW;wBACX,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,OAAO,EAAE,QAAQ,CAAC,SAAS;qBAC5B;iBACF,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;QAC5C,CAAC;QACD,2EAA2E;QAC3E,2EAA2E;QAC3E,oEAAoE;QACpE,4EAA4E;QAC5E,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC;gBACrB,CAAC,CAAC,uDAAuD;gBACzD,CAAC,CAAC,0CAA0C;SAC/C,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,uDAAuD;KAChE,CAAC;AACJ,CAAC"}
@@ -16,7 +16,8 @@
16
16
  * no ke), so a caller on the storeless fast path can pre-check availability
17
17
  * without ever booting the store.
18
18
  */
19
- import { cliRecovery, PragmaError } from "../error/index.js";
19
+ import { callRecovery, PragmaError } from "../error/index.js";
20
+ import { BUILD_STORE_CALL } from "../spec/call.js";
20
21
  import { resolveSources } from "./resolveSources.js";
21
22
  /**
22
23
  * Build the canonical cold-store `STORE_UNAVAILABLE` error: the reason plus the
@@ -29,7 +30,7 @@ import { resolveSources } from "./resolveSources.js";
29
30
  */
30
31
  export function storeUnavailable(reason) {
31
32
  return PragmaError.storeUnavailable(`${reason}.`, {
32
- recovery: cliRecovery("sources update", "Build the local store from the configured packs.", { tool: "sources_update" }),
33
+ recovery: callRecovery(BUILD_STORE_CALL, "Build the local store from the configured packs."),
33
34
  });
34
35
  }
35
36
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"storeReadiness.js","sourceRoot":"","sources":["../../../../src/kernel/runtime/storeReadiness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,WAAW,CAAC,gBAAgB,CAAC,GAAG,MAAM,GAAG,EAAE;QAChD,QAAQ,EAAE,WAAW,CACnB,gBAAgB,EAChB,kDAAkD,EAClD,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAC3B;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAoB,EACpB,GAAW;IAEX,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7C,OAAO,QAAQ,CAAC,IAAI,KAAK,aAAa;QACpC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"storeReadiness.js","sourceRoot":"","sources":["../../../../src/kernel/runtime/storeReadiness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,OAAO,WAAW,CAAC,gBAAgB,CAAC,GAAG,MAAM,GAAG,EAAE;QAChD,QAAQ,EAAE,YAAY,CACpB,gBAAgB,EAChB,kDAAkD,CACnD;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAoB,EACpB,GAAW;IAEX,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7C,OAAO,QAAQ,CAAC,IAAI,KAAK,aAAa;QACpC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * A call: one verb plus the params to make it with — the single type behind
3
+ * every example and every recovery.
4
+ *
5
+ * An author names the call ONCE and both spellings derive from it:
6
+ * `token_lookup { name: ["color.text"] }` for an agent on MCP,
7
+ * `pragma token lookup color.text` for a person at a terminal. A hand-typed
8
+ * pair can disagree, and a hand-typed string cannot be checked against the
9
+ * verb it names, where a call can (`capabilities/callRule.test.ts`).
10
+ *
11
+ * The CLI spelling needs facts the call does not carry — which params are
12
+ * positional, which booleans default to true, whether the verb mutates. They
13
+ * live on the verb, so the projectors declare their verbs here as they boot
14
+ * ({@link declareVerbs}). A call naming a verb nobody declared renders every
15
+ * param as a flag rather than throwing: this runs inside error rendering,
16
+ * where a second failure helps no one.
17
+ *
18
+ * NOT derivable here: a noun whose CLI is mounted by its own projection
19
+ * (`create`, whose commands carry a generator segment the verb's params do
20
+ * not). Its calls spell correctly as tool calls only.
21
+ *
22
+ * Zod-free: it is reachable from the `--help` path.
23
+ */
24
+ import { RECOVERY_CLI_PREFIX } from "../../constants.js";
25
+ import { kebabCase, toolName } from "./emitSurface.js";
26
+ const declared = new Map();
27
+ let findProblem;
28
+ /**
29
+ * Declare the verbs a call may name. Additive, so a fixture's verbs join the
30
+ * distribution's rather than replacing them.
31
+ *
32
+ * @note Impure — fills the module-level index {@link renderCall} reads. A call
33
+ * is rendered deep inside error construction and formatters, which hold no
34
+ * registry to pass in.
35
+ */
36
+ export function declareVerbs(verbs) {
37
+ for (const verb of verbs)
38
+ declared.set(verb.path.join(" "), verb);
39
+ }
40
+ /**
41
+ * Make every rendered call prove itself. The test setup installs the ONE
42
+ * validator — the verb's real MCP input schema — so a recovery built on any
43
+ * line a test runs is checked exactly as the conformance test checks examples.
44
+ * It is handed the DECLARED verb the call names, so a fixture that declares its
45
+ * verbs is held to them too.
46
+ *
47
+ * @note Impure — sets module-level state; never installed in a shipped process.
48
+ */
49
+ export function checkCallsWith(validator) {
50
+ findProblem = validator;
51
+ }
52
+ /** The tool name a call addresses (`"sources update"` → `sources_update`). */
53
+ function callToolName(call) {
54
+ return toolName(call.verb.split(" "));
55
+ }
56
+ /**
57
+ * Build (or rebuild) the store from the configured packs — the one call the
58
+ * kernel itself points at, from every unavailable store and every empty list.
59
+ * Named once, here, because the kernel owns the verb's name.
60
+ */
61
+ export const BUILD_STORE_CALL = { verb: "sources update" };
62
+ /** The MCP tool a recovery names, or nothing when its verb is withheld from MCP. */
63
+ export function callTool(call) {
64
+ if (declared.get(call.verb)?.capability.mcp.expose === false) {
65
+ return undefined;
66
+ }
67
+ return { tool: callToolName(call), params: { ...call.params } };
68
+ }
69
+ /** Quote a CLI word unless the shell would read it bare. */
70
+ function quoteWord(value) {
71
+ const word = String(value);
72
+ return /^[\w.:/@=,+-]+$/.test(word)
73
+ ? word
74
+ : `'${word.replaceAll("'", "'\\''")}'`;
75
+ }
76
+ /** The CLI spelling: global flags, then flags, then positionals in the verb's order. */
77
+ function renderCliCall(call) {
78
+ const params = call.params ?? {};
79
+ const specs = declared.get(call.verb)?.params ?? [];
80
+ const positional = specs.filter((p) => p.positional).map((p) => p.name);
81
+ const flags = [];
82
+ for (const [name, value] of Object.entries(params)) {
83
+ if (positional.includes(name) || value === undefined)
84
+ continue;
85
+ const flag = `--${kebabCase(name)}`;
86
+ if (typeof value === "boolean") {
87
+ const spec = specs.find((p) => p.name === name);
88
+ const defaultsTrue = spec?.kind === "boolean" && spec.default === true;
89
+ if (value)
90
+ flags.push(flag);
91
+ else if (defaultsTrue)
92
+ flags.push(`--no-${kebabCase(name)}`);
93
+ continue;
94
+ }
95
+ // A list-valued flag is repeated, one value each.
96
+ for (const item of [value].flat())
97
+ flags.push(`${flag} ${quoteWord(item)}`);
98
+ }
99
+ const words = positional
100
+ .filter((name) => params[name] !== undefined)
101
+ .flatMap((name) => [params[name]].flat().map(quoteWord));
102
+ // A positional that looks like a flag needs the end-of-options marker.
103
+ const guard = words.some((word) => word.startsWith("-")) ? ["--"] : [];
104
+ return [
105
+ `${RECOVERY_CLI_PREFIX}${call.verb}`,
106
+ ...(call.cliFlags ?? []),
107
+ ...flags,
108
+ ...guard,
109
+ ...words,
110
+ ].join(" ");
111
+ }
112
+ /** The MCP spelling: the tool name and its argument bag. */
113
+ function renderMcpCall(call) {
114
+ const body = Object.entries(call.params ?? {})
115
+ .filter(([, value]) => value !== undefined)
116
+ .map(([name, value]) => `${name}: ${JSON.stringify(value)}`)
117
+ .join(", ");
118
+ return `${callToolName(call)} ${body ? `{ ${body} }` : "{}"}`;
119
+ }
120
+ /**
121
+ * Spell a call for the surface it is about to be printed on.
122
+ *
123
+ * @param call - The verb and params to make.
124
+ * @param surface - `"cli"` for a command line, `"mcp"` for a tool call.
125
+ * @returns `pragma token lookup color.text`, or `token_lookup { name: ["color.text"] }`.
126
+ * @throws Error when a validator is installed (tests only) and rejects the call.
127
+ */
128
+ export function renderCall(call, surface) {
129
+ const problem = findProblem?.(call, declared.get(call.verb));
130
+ if (problem)
131
+ throw new Error(`Unsound call ${call.verb}: ${problem}`);
132
+ return spellingFor(call, surface) === "mcp"
133
+ ? renderMcpCall(call)
134
+ : renderCliCall(call);
135
+ }
136
+ /**
137
+ * A verb withheld from MCP has no tool to name, so even over MCP it is spelled
138
+ * as the command it is — something an agent can hand to its user.
139
+ */
140
+ function spellingFor(call, surface) {
141
+ return declared.get(call.verb)?.capability.mcp.expose === false
142
+ ? "cli"
143
+ : surface;
144
+ }
145
+ /**
146
+ * One argument, quoted as code, in the surface's own spelling: `--tier all` on
147
+ * the CLI, `tier: "all"` over MCP. For the sentences that name an argument to
148
+ * change rather than a whole call to make. The CLI value is shell-quoted like
149
+ * any other word, so what is printed can be pasted.
150
+ */
151
+ export function quoteArgument(name, value, surface) {
152
+ return surface === "mcp"
153
+ ? `\`${name}: ${JSON.stringify(value)}\``
154
+ : `\`--${kebabCase(name)} ${quoteWord(value)}\``;
155
+ }
156
+ /** A call quoted as code; one containing a backtick takes the doubled fence. */
157
+ export function quoteCall(call, surface) {
158
+ const text = renderCall(call, surface);
159
+ return text.includes("`") ? `\`\` ${text} \`\`` : `\`${text}\``;
160
+ }
161
+ /** The sentence that ends a dead end: the exact next call, for this surface. */
162
+ export function renderNextStep(call, surface) {
163
+ return spellingFor(call, surface) === "mcp"
164
+ ? `Call ${quoteCall(call, surface)}.`
165
+ : `Run ${quoteCall(call, surface)}.`;
166
+ }
167
+ //# sourceMappingURL=call.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call.js","sourceRoot":"","sources":["../../../../src/kernel/spec/call.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,8 @@
17
17
  import { BIN_NAME, PROJECT_CONFIG_FILENAME } from "../../constants.js";
18
18
  import { ERROR_CODES } from "../error/index.js";
19
19
  import { FIXED_SURFACE, kebabCase, toolName, verbLabel, } from "./emitSurface.js";
20
+ import { describeTool, useWhenSentence } from "./guidance.js";
21
+ import { formatWireType, wireType } from "./wireType.js";
20
22
  /**
21
23
  * The closed error-code → one-line meaning map. Typed as an exhaustive
22
24
  * `Record` over the `ERROR_CODES` tuple, so a code added to the tuple without a
@@ -96,19 +98,11 @@ function formatFlagValue(param) {
96
98
  }
97
99
  }
98
100
  /**
99
- * The tool-schema type label a param projects to (mirrors `buildZodSchema`).
100
- * Enum values are comma-joined (never pipe-joined) so the label is safe inside
101
- * a Markdown table cell without escaping.
101
+ * The tool-schema type label a param projects to: the SAME {@link wireType}
102
+ * `buildZodSchema` validates against, printed — never a mirror of it.
102
103
  */
103
104
  function formatParamType(param) {
104
- switch (param.kind) {
105
- case "enum":
106
- return `enum(${param.values.join(", ")})`;
107
- case "string[]":
108
- return "string[]";
109
- default:
110
- return param.kind;
111
- }
105
+ return formatWireType(wireType(param));
112
106
  }
113
107
  /** Render a default value for prose (strings verbatim, everything else stringified). */
114
108
  function formatDefault(value) {
@@ -213,6 +207,7 @@ function renderCommandSection(verb, syntax) {
213
207
  `### ${formatInvocation(verb)}`,
214
208
  verb.summary,
215
209
  verb.doc ?? "",
210
+ useWhenSentence(verb) ?? "",
216
211
  `\`\`\`\n${syntax ? `${BIN_NAME} ${syntax.usage}` : formatUsage(verb)}\n\`\`\``,
217
212
  formatArgsTable(verb.params, syntax?.positionalTokens),
218
213
  formatFlagsTable(verb.params, syntax?.flagTokens),
@@ -341,7 +336,8 @@ function formatToolAnnotations(verb) {
341
336
  function renderToolSection(verb) {
342
337
  const blocks = [
343
338
  `### ${toolName(verb.path)}`,
344
- verb.doc ?? verb.summary,
339
+ // The description an agent is actually served, from the one generator.
340
+ describeTool(verb),
345
341
  formatToolAnnotations(verb),
346
342
  "**Input**",
347
343
  formatToolParams(verb),
@@ -373,7 +369,7 @@ function renderNonToolSurface(modules) {
373
369
  if (prompts) {
374
370
  bullets.push("- **Prompts**: the workflow prompt templates the active graph declares are offered natively over `prompts/list` and `prompts/get`, and as the `prompt_list` / `prompt_lookup` content tools. A graph declaring none leaves both views empty.");
375
371
  }
376
- bullets.push("- **Instructions**: the server always sends handshake instructions describing the conventions and the discovery sequence.");
372
+ bullets.push("- **Instructions**: the server always sends handshake instructions: the conventions, and a generated index of tools by the question each answers, fitted to 2,000 characters.");
377
373
  return `## Non-tool surface\n\n${bullets.join("\n")}`;
378
374
  }
379
375
  /** Render the MCP tool reference plus the non-tool surface. */
@@ -1 +1 @@
1
- {"version":3,"file":"emitReference.js","sourceRoot":"","sources":["../../../../src/kernel/spec/emitReference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emitReference.js","sourceRoot":"","sources":["../../../../src/kernel/spec/emitReference.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,13 @@ import { BIN_NAME, PROJECT_CONFIG_FILENAME } from "../../constants.js";
12
12
  export function kebabCase(name) {
13
13
  return name.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
14
14
  }
15
+ /**
16
+ * The ceiling on the whole MCP tool catalogue (name + description + input
17
+ * schema per tool, ~4 characters a token). ONE constant: the emitted surface
18
+ * states it, the covenant freezes it, and the eval case enforces it. Set from
19
+ * measurement plus about a tenth — `BUDGETS.md` records each raise.
20
+ */
21
+ export const CONDENSED_SDL_TOKEN_BUDGET = 9600;
15
22
  /** The MCP tool name for a verb path (`["config","show"]` -> `config_show`). */
16
23
  export function toolName(path) {
17
24
  const [noun, verb] = path;
@@ -99,7 +106,7 @@ export const FIXED_SURFACE = {
99
106
  projectConfigLoad: "<10ms",
100
107
  warmStoreVerb: "<300ms",
101
108
  mcpP95Warm: "<100ms",
102
- condensedSDL: "<=8000 tokens",
109
+ condensedSDL: `<=${CONDENSED_SDL_TOKEN_BUDGET} tokens`,
103
110
  },
104
111
  };
105
112
  /** Format a positional param as its usage token (`<name>` required, `[name]` optional). */
@@ -1 +1 @@
1
- {"version":3,"file":"emitSurface.js","sourceRoot":"","sources":["../../../../src/kernel/spec/emitSurface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emitSurface.js","sourceRoot":"","sources":["../../../../src/kernel/spec/emitSurface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * The ONE generator of tool guidance.
3
+ *
4
+ * A verb declares the question it answers (`useWhen`) and one real call
5
+ * (`example`) once. Everything a caller reads when choosing a tool is built
6
+ * here from those two and the summary: the MCP tool description, the
7
+ * `capabilities` catalogue entry, the verb's help and the reference. A sentence
8
+ * that lives in one place cannot be true in the catalogue and missing from the
9
+ * description, which is how an agent that never called `capabilities` came to
10
+ * choose between fifty tools without it.
11
+ *
12
+ * It names no tool: what the distribution says about its own tools arrives as
13
+ * data (a verb's fields, a module's `mcpOrientation`).
14
+ *
15
+ * Zod-free: the catalogue and help read it on the fast path.
16
+ */
17
+ import { renderCall } from "./call.js";
18
+ /** A verb's category: `write` ⟺ it mutates, else what it declares, else `read`. */
19
+ export function verbCategory(verb) {
20
+ return verb.capability.mutates ? "write" : (verb.category ?? "read");
21
+ }
22
+ /**
23
+ * A verb's declared example as a call. A verb with no required param may
24
+ * declare none — called bare, its only call is its own name — and then none
25
+ * is rendered.
26
+ */
27
+ export function exampleCall(verb) {
28
+ return verb.example
29
+ ? { verb: verb.path.join(" "), params: verb.example }
30
+ : undefined;
31
+ }
32
+ /**
33
+ * `useWhen` as a sentence. It is stored as the bare clause ("when asked which
34
+ * components use a token") because the catalogue's field is already named
35
+ * `use_when`; prose adds the lead.
36
+ */
37
+ export function useWhenSentence(verb) {
38
+ return verb.useWhen ? `Use ${verb.useWhen}.` : undefined;
39
+ }
40
+ /**
41
+ * The agent-facing MCP tool description: the question first — it is what a
42
+ * caller scanning fifty descriptions matches its task against — then what the
43
+ * tool returns when a richer `doc` is authored, then one call to copy. The
44
+ * one-line summary is the fallback for a verb declaring no question, never a
45
+ * second sentence after one: it says the same thing less usefully.
46
+ *
47
+ * @param verb - The verb to describe.
48
+ * @returns The description.
49
+ */
50
+ export function describeTool(verb) {
51
+ const question = useWhenSentence(verb);
52
+ const example = exampleCall(verb);
53
+ const rendered = example && `Example: ${renderCall(example, "mcp")}.`;
54
+ return [
55
+ question,
56
+ verb.doc ?? (question ? undefined : verb.summary),
57
+ // A third-party description may still end in its own hand-typed example.
58
+ rendered && !verb.doc?.includes("Example:") ? rendered : undefined,
59
+ ]
60
+ .filter(Boolean)
61
+ .join(" ");
62
+ }
63
+ //# sourceMappingURL=guidance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guidance.js","sourceRoot":"","sources":["../../../../src/kernel/spec/guidance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,mFAAmF;AACnF,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,CAAC;AACvE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAc;IACxC,OAAO,IAAI,CAAC,OAAO;QACjB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;QACrD,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,OAAO,IAAI,YAAY,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC;IACtE,OAAO;QACL,QAAQ;QACR,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACjD,yEAAyE;QACzE,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;KACnE;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}