@canonical/pragma-cli 0.38.0 → 0.40.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 (330) hide show
  1. package/README.md +1 -1
  2. package/dist/package.json +14 -14
  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/config/get.verb.js +2 -0
  17. package/dist/src/capabilities/config/get.verb.js.map +1 -1
  18. package/dist/src/capabilities/config/runField.js +2 -2
  19. package/dist/src/capabilities/config/runField.js.map +1 -1
  20. package/dist/src/capabilities/config/set.verb.js +2 -0
  21. package/dist/src/capabilities/config/set.verb.js.map +1 -1
  22. package/dist/src/capabilities/config/show.verb.js +1 -0
  23. package/dist/src/capabilities/config/show.verb.js.map +1 -1
  24. package/dist/src/capabilities/config/unset.verb.js +2 -0
  25. package/dist/src/capabilities/config/unset.verb.js.map +1 -1
  26. package/dist/src/capabilities/create/constants.js +2 -2
  27. package/dist/src/capabilities/create/create.verb.js +14 -4
  28. package/dist/src/capabilities/create/create.verb.js.map +1 -1
  29. package/dist/src/capabilities/distribution.js +3 -1
  30. package/dist/src/capabilities/distribution.js.map +1 -1
  31. package/dist/src/capabilities/doctor/checks/checkPackageRefs.js +10 -2
  32. package/dist/src/capabilities/doctor/checks/checkPackageRefs.js.map +1 -1
  33. package/dist/src/capabilities/doctor/doctor.verb.js +2 -0
  34. package/dist/src/capabilities/doctor/doctor.verb.js.map +1 -1
  35. package/dist/src/capabilities/graph/connect.verb.js +2 -0
  36. package/dist/src/capabilities/graph/connect.verb.js.map +1 -1
  37. package/dist/src/capabilities/graph/inspect.render.js +7 -1
  38. package/dist/src/capabilities/graph/inspect.render.js.map +1 -1
  39. package/dist/src/capabilities/graph/inspect.verb.js +2 -0
  40. package/dist/src/capabilities/graph/inspect.verb.js.map +1 -1
  41. package/dist/src/capabilities/graph/query.render.js +37 -5
  42. package/dist/src/capabilities/graph/query.render.js.map +1 -1
  43. package/dist/src/capabilities/graph/query.verb.js +2 -0
  44. package/dist/src/capabilities/graph/query.verb.js.map +1 -1
  45. package/dist/src/capabilities/graph/queryText.js +28 -0
  46. package/dist/src/capabilities/graph/queryText.js.map +1 -1
  47. package/dist/src/capabilities/graph/runConnect.js +3 -3
  48. package/dist/src/capabilities/graph/runConnect.js.map +1 -1
  49. package/dist/src/capabilities/graph/runQuery.js +8 -6
  50. package/dist/src/capabilities/graph/runQuery.js.map +1 -1
  51. package/dist/src/capabilities/info/info.verb.js +2 -0
  52. package/dist/src/capabilities/info/info.verb.js.map +1 -1
  53. package/dist/src/capabilities/meta/mcp.verb.js +1 -0
  54. package/dist/src/capabilities/meta/mcp.verb.js.map +1 -1
  55. package/dist/src/capabilities/ontology/verbs.js +7 -10
  56. package/dist/src/capabilities/ontology/verbs.js.map +1 -1
  57. package/dist/src/capabilities/prompt/verbs.js +5 -4
  58. package/dist/src/capabilities/prompt/verbs.js.map +1 -1
  59. package/dist/src/capabilities/resources/provider.js +6 -3
  60. package/dist/src/capabilities/resources/provider.js.map +1 -1
  61. package/dist/src/capabilities/setup/setup.verb.js +13 -5
  62. package/dist/src/capabilities/setup/setup.verb.js.map +1 -1
  63. package/dist/src/capabilities/shared/calls.js +16 -0
  64. package/dist/src/capabilities/shared/calls.js.map +1 -0
  65. package/dist/src/capabilities/skill/render.js +7 -5
  66. package/dist/src/capabilities/skill/render.js.map +1 -1
  67. package/dist/src/capabilities/skill/verbs.js +5 -4
  68. package/dist/src/capabilities/skill/verbs.js.map +1 -1
  69. package/dist/src/capabilities/sources/collectStatus.js +6 -1
  70. package/dist/src/capabilities/sources/collectStatus.js.map +1 -1
  71. package/dist/src/capabilities/sources/index.js +4 -3
  72. package/dist/src/capabilities/sources/index.js.map +1 -1
  73. package/dist/src/capabilities/sources/reset.render.js +37 -0
  74. package/dist/src/capabilities/sources/reset.render.js.map +1 -0
  75. package/dist/src/capabilities/sources/reset.verb.js +51 -0
  76. package/dist/src/capabilities/sources/reset.verb.js.map +1 -0
  77. package/dist/src/capabilities/sources/runReset.js +59 -0
  78. package/dist/src/capabilities/sources/runReset.js.map +1 -0
  79. package/dist/src/capabilities/sources/runUpdate.js +7 -6
  80. package/dist/src/capabilities/sources/runUpdate.js.map +1 -1
  81. package/dist/src/capabilities/sources/status.render.js +24 -8
  82. package/dist/src/capabilities/sources/status.render.js.map +1 -1
  83. package/dist/src/capabilities/sources/status.verb.js +1 -0
  84. package/dist/src/capabilities/sources/status.verb.js.map +1 -1
  85. package/dist/src/capabilities/sources/update.verb.js +2 -0
  86. package/dist/src/capabilities/sources/update.verb.js.map +1 -1
  87. package/dist/src/capabilities/upgrade/upgrade.verb.js +1 -0
  88. package/dist/src/capabilities/upgrade/upgrade.verb.js.map +1 -1
  89. package/dist/src/capabilities/version/version.verb.js +1 -0
  90. package/dist/src/capabilities/version/version.verb.js.map +1 -1
  91. package/dist/src/constants.js +4 -3
  92. package/dist/src/constants.js.map +1 -1
  93. package/dist/src/kernel/error/index.js +1 -1
  94. package/dist/src/kernel/error/index.js.map +1 -1
  95. package/dist/src/kernel/error/recovery.js +24 -42
  96. package/dist/src/kernel/error/recovery.js.map +1 -1
  97. package/dist/src/kernel/packs/collect.js +123 -9
  98. package/dist/src/kernel/packs/collect.js.map +1 -1
  99. package/dist/src/kernel/packs/compile.js +74 -15
  100. package/dist/src/kernel/packs/compile.js.map +1 -1
  101. package/dist/src/kernel/packs/graphql/fetchGraphqlLookup.js +3 -3
  102. package/dist/src/kernel/packs/graphql/fetchGraphqlLookup.js.map +1 -1
  103. package/dist/src/kernel/packs/iri.js +2 -4
  104. package/dist/src/kernel/packs/iri.js.map +1 -1
  105. package/dist/src/kernel/packs/renderPack.js +90 -50
  106. package/dist/src/kernel/packs/renderPack.js.map +1 -1
  107. package/dist/src/kernel/packs/resolveEntity.js +202 -90
  108. package/dist/src/kernel/packs/resolveEntity.js.map +1 -1
  109. package/dist/src/kernel/packs/runBodies.js +89 -30
  110. package/dist/src/kernel/packs/runBodies.js.map +1 -1
  111. package/dist/src/kernel/packs/schema.js +66 -12
  112. package/dist/src/kernel/packs/schema.js.map +1 -1
  113. package/dist/src/kernel/packs/sparql/buildListQuery.js +80 -13
  114. package/dist/src/kernel/packs/sparql/buildListQuery.js.map +1 -1
  115. package/dist/src/kernel/packs/sparql/buildLookupQuery.js +41 -13
  116. package/dist/src/kernel/packs/sparql/buildLookupQuery.js.map +1 -1
  117. package/dist/src/kernel/packs/sparql/filterValues.js +32 -23
  118. package/dist/src/kernel/packs/sparql/filterValues.js.map +1 -1
  119. package/dist/src/kernel/packs/sparql/runSelect.js +3 -5
  120. package/dist/src/kernel/packs/sparql/runSelect.js.map +1 -1
  121. package/dist/src/kernel/packs/storyRules.js +31 -4
  122. package/dist/src/kernel/packs/storyRules.js.map +1 -1
  123. package/dist/src/kernel/packs/tierScope.js +3 -3
  124. package/dist/src/kernel/packs/tierScope.js.map +1 -1
  125. package/dist/src/kernel/packs/types.js +4 -0
  126. package/dist/src/kernel/packs/types.js.map +1 -1
  127. package/dist/src/kernel/project/cli/buildProgram.js +4 -0
  128. package/dist/src/kernel/project/cli/buildProgram.js.map +1 -1
  129. package/dist/src/kernel/project/cli/dispatch.js +32 -8
  130. package/dist/src/kernel/project/cli/dispatch.js.map +1 -1
  131. package/dist/src/kernel/project/cli/suggestNames.js +44 -1
  132. package/dist/src/kernel/project/cli/suggestNames.js.map +1 -1
  133. package/dist/src/kernel/project/cli/verbHelp.js +17 -18
  134. package/dist/src/kernel/project/cli/verbHelp.js.map +1 -1
  135. package/dist/src/kernel/project/mcp/buildServer.js +11 -4
  136. package/dist/src/kernel/project/mcp/buildServer.js.map +1 -1
  137. package/dist/src/kernel/project/mcp/envelope.js +3 -2
  138. package/dist/src/kernel/project/mcp/envelope.js.map +1 -1
  139. package/dist/src/kernel/project/mcp/instructions.js +101 -31
  140. package/dist/src/kernel/project/mcp/instructions.js.map +1 -1
  141. package/dist/src/kernel/project/mcp/registerVerb.js +59 -23
  142. package/dist/src/kernel/project/mcp/registerVerb.js.map +1 -1
  143. package/dist/src/kernel/render/renderers.js +3 -3
  144. package/dist/src/kernel/render/turtle.js +21 -4
  145. package/dist/src/kernel/render/turtle.js.map +1 -1
  146. package/dist/src/kernel/runtime/graphpack/build.js +54 -1
  147. package/dist/src/kernel/runtime/graphpack/build.js.map +1 -1
  148. package/dist/src/kernel/runtime/graphpack/manifest.js +14 -0
  149. package/dist/src/kernel/runtime/graphpack/manifest.js.map +1 -1
  150. package/dist/src/kernel/runtime/graphpack/read.js +3 -5
  151. package/dist/src/kernel/runtime/graphpack/read.js.map +1 -1
  152. package/dist/src/kernel/runtime/graphpack/schemas.js +1 -0
  153. package/dist/src/kernel/runtime/graphpack/schemas.js.map +1 -1
  154. package/dist/src/kernel/runtime/loadSession.js +8 -1
  155. package/dist/src/kernel/runtime/loadSession.js.map +1 -1
  156. package/dist/src/kernel/runtime/packVersion.js +75 -0
  157. package/dist/src/kernel/runtime/packVersion.js.map +1 -0
  158. package/dist/src/kernel/runtime/readEntity.js +43 -4
  159. package/dist/src/kernel/runtime/readEntity.js.map +1 -1
  160. package/dist/src/kernel/runtime/resolveSources.js +61 -9
  161. package/dist/src/kernel/runtime/resolveSources.js.map +1 -1
  162. package/dist/src/kernel/runtime/storeReadiness.js +3 -2
  163. package/dist/src/kernel/runtime/storeReadiness.js.map +1 -1
  164. package/dist/src/kernel/spec/call.js +167 -0
  165. package/dist/src/kernel/spec/call.js.map +1 -0
  166. package/dist/src/kernel/spec/emitReference.js +9 -13
  167. package/dist/src/kernel/spec/emitReference.js.map +1 -1
  168. package/dist/src/kernel/spec/emitSurface.js +8 -1
  169. package/dist/src/kernel/spec/emitSurface.js.map +1 -1
  170. package/dist/src/kernel/spec/guidance.js +63 -0
  171. package/dist/src/kernel/spec/guidance.js.map +1 -0
  172. package/dist/src/kernel/spec/wireType.js +36 -0
  173. package/dist/src/kernel/spec/wireType.js.map +1 -0
  174. package/package.json +14 -14
  175. package/pragma.conf.ts +294 -177
  176. package/src/capabilities/block.parity.test.ts +1 -1
  177. package/src/capabilities/callRule.test.ts +147 -0
  178. package/src/capabilities/capabilities/capabilities.test.ts +47 -19
  179. package/src/capabilities/capabilities/capabilities.verb.ts +2 -0
  180. package/src/capabilities/capabilities/catalog.ts +60 -55
  181. package/src/capabilities/capabilities/index.ts +2 -0
  182. package/src/capabilities/capabilities/types.ts +16 -19
  183. package/src/capabilities/colophon/colophon.render.ts +9 -5
  184. package/src/capabilities/colophon/colophon.verb.ts +1 -0
  185. package/src/capabilities/config/get.verb.ts +2 -0
  186. package/src/capabilities/config/runField.ts +3 -3
  187. package/src/capabilities/config/set.verb.ts +3 -0
  188. package/src/capabilities/config/show.verb.ts +2 -0
  189. package/src/capabilities/config/unset.verb.ts +2 -0
  190. package/src/capabilities/create/constants.ts +2 -2
  191. package/src/capabilities/create/create.verb.ts +16 -0
  192. package/src/capabilities/create/createGrammar.test.ts +1 -1
  193. package/src/capabilities/distribution.test.ts +6 -3
  194. package/src/capabilities/distribution.ts +6 -0
  195. package/src/capabilities/doctor/checks/checkPackageRefs.ts +14 -2
  196. package/src/capabilities/doctor/doctor.test.ts +38 -1
  197. package/src/capabilities/doctor/doctor.verb.ts +2 -0
  198. package/src/capabilities/emptyRecovery.test.ts +5 -0
  199. package/src/capabilities/graph/connect.verb.ts +2 -0
  200. package/src/capabilities/graph/inspect.render.ts +9 -1
  201. package/src/capabilities/graph/inspect.test.ts +73 -0
  202. package/src/capabilities/graph/inspect.verb.ts +2 -0
  203. package/src/capabilities/graph/query.render.test.ts +35 -0
  204. package/src/capabilities/graph/query.render.ts +45 -7
  205. package/src/capabilities/graph/query.shipped.exec.test.ts +44 -0
  206. package/src/capabilities/graph/query.verb.ts +2 -0
  207. package/src/capabilities/graph/queryText.test.ts +55 -1
  208. package/src/capabilities/graph/queryText.ts +47 -0
  209. package/src/capabilities/graph/runConnect.ts +4 -5
  210. package/src/capabilities/graph/runQuery.ts +23 -9
  211. package/src/capabilities/info/info.verb.ts +2 -0
  212. package/src/capabilities/links.shipped.exec.test.ts +398 -0
  213. package/src/capabilities/listBudget.shipped.exec.test.ts +2 -2
  214. package/src/capabilities/listLookup.shipped.exec.test.ts +122 -13
  215. package/src/capabilities/listQuery.shipped.exec.test.ts +39 -16
  216. package/src/capabilities/lookupBudget.shipped.exec.test.ts +208 -0
  217. package/src/capabilities/meta/mcp.verb.ts +2 -0
  218. package/src/capabilities/ontology/ontology.test.ts +24 -0
  219. package/src/capabilities/ontology/verbs.ts +16 -12
  220. package/src/capabilities/prompt/verbs.ts +10 -4
  221. package/src/capabilities/resources/provider.ts +7 -3
  222. package/src/capabilities/resources/resources.test.ts +2 -1
  223. package/src/capabilities/setup/setup.verb.ts +16 -0
  224. package/src/capabilities/shared/calls.ts +20 -0
  225. package/src/capabilities/skill/render.ts +9 -6
  226. package/src/capabilities/skill/verbs.ts +8 -4
  227. package/src/capabilities/sources/collectStatus.ts +6 -1
  228. package/src/capabilities/sources/index.ts +4 -3
  229. package/src/capabilities/sources/reset.render.test.ts +33 -0
  230. package/src/capabilities/sources/reset.render.ts +43 -0
  231. package/src/capabilities/sources/reset.verb.ts +59 -0
  232. package/src/capabilities/sources/runReset.ts +65 -0
  233. package/src/capabilities/sources/runUpdate.ts +12 -11
  234. package/src/capabilities/sources/sources.test.ts +158 -3
  235. package/src/capabilities/sources/status.render.test.ts +63 -1
  236. package/src/capabilities/sources/status.render.ts +25 -8
  237. package/src/capabilities/sources/status.verb.ts +2 -0
  238. package/src/capabilities/sources/types.ts +26 -0
  239. package/src/capabilities/sources/update.verb.ts +3 -0
  240. package/src/capabilities/surface.test.ts +2 -2
  241. package/src/capabilities/token.parity.test.ts +3 -2
  242. package/src/capabilities/tokenGraph.shipped.exec.test.ts +14 -2
  243. package/src/capabilities/upgrade/upgrade.verb.ts +1 -0
  244. package/src/capabilities/variable.parity.test.ts +2 -1
  245. package/src/capabilities/version/version.verb.ts +1 -0
  246. package/src/capabilities/wireContract.test.ts +110 -0
  247. package/src/constants.ts +4 -3
  248. package/src/kernel/copy.test.ts +1 -1
  249. package/src/kernel/error/PragmaError.test.ts +7 -3
  250. package/src/kernel/error/index.ts +1 -1
  251. package/src/kernel/error/recovery.test.ts +52 -18
  252. package/src/kernel/error/recovery.ts +25 -46
  253. package/src/kernel/error/types.ts +1 -1
  254. package/src/kernel/packs/collect.test.ts +79 -0
  255. package/src/kernel/packs/collect.ts +151 -11
  256. package/src/kernel/packs/compile.test.ts +107 -10
  257. package/src/kernel/packs/compile.ts +100 -11
  258. package/src/kernel/packs/filteredEmpty.test.ts +22 -5
  259. package/src/kernel/packs/graphql/fetchGraphqlLookup.ts +5 -6
  260. package/src/kernel/packs/graphqlSource.test.ts +42 -0
  261. package/src/kernel/packs/iri.ts +5 -4
  262. package/src/kernel/packs/listNotice.test.ts +1 -1
  263. package/src/kernel/packs/nounLink.test.ts +385 -0
  264. package/src/kernel/packs/renderPack.ts +137 -57
  265. package/src/kernel/packs/resolveEntity.test.ts +170 -1
  266. package/src/kernel/packs/resolveEntity.ts +281 -101
  267. package/src/kernel/packs/runBodies.ts +133 -31
  268. package/src/kernel/packs/schema.ts +77 -12
  269. package/src/kernel/packs/sparql/buildListQuery.test.ts +78 -1
  270. package/src/kernel/packs/sparql/buildListQuery.ts +106 -16
  271. package/src/kernel/packs/sparql/buildLookupQuery.ts +44 -13
  272. package/src/kernel/packs/sparql/filterValues.test.ts +36 -4
  273. package/src/kernel/packs/sparql/filterValues.ts +50 -31
  274. package/src/kernel/packs/sparql/runSelect.ts +4 -6
  275. package/src/kernel/packs/storyRules.ts +37 -4
  276. package/src/kernel/packs/tierScope.test.ts +120 -6
  277. package/src/kernel/packs/tierScope.ts +5 -7
  278. package/src/kernel/packs/toolDescription.test.ts +59 -74
  279. package/src/kernel/packs/types.ts +93 -11
  280. package/src/kernel/project/cli/buildProgram.ts +4 -0
  281. package/src/kernel/project/cli/dispatch.ts +34 -8
  282. package/src/kernel/project/cli/suggest.test.ts +77 -0
  283. package/src/kernel/project/cli/suggestNames.ts +47 -1
  284. package/src/kernel/project/cli/verbHelp.ts +16 -19
  285. package/src/kernel/project/mcp/buildServer.ts +15 -4
  286. package/src/kernel/project/mcp/envelope.ts +3 -2
  287. package/src/kernel/project/mcp/instructions.ts +123 -35
  288. package/src/kernel/project/mcp/prompts/prompts.test.ts +136 -20
  289. package/src/kernel/project/mcp/registerVerb.test.ts +28 -0
  290. package/src/kernel/project/mcp/registerVerb.ts +67 -29
  291. package/src/kernel/render/__snapshots__/renderers.test.ts.snap +1 -1
  292. package/src/kernel/render/renderers.test.ts +2 -2
  293. package/src/kernel/render/renderers.ts +3 -3
  294. package/src/kernel/render/turtle.ts +24 -4
  295. package/src/kernel/runtime/graphpack/build.ts +58 -1
  296. package/src/kernel/runtime/graphpack/graphpack.test.ts +20 -0
  297. package/src/kernel/runtime/graphpack/manifest.ts +15 -0
  298. package/src/kernel/runtime/graphpack/read.ts +4 -6
  299. package/src/kernel/runtime/graphpack/schemas.ts +1 -0
  300. package/src/kernel/runtime/graphpack/types.ts +13 -0
  301. package/src/kernel/runtime/loadSession.ts +8 -1
  302. package/src/kernel/runtime/packVersion.test.ts +61 -0
  303. package/src/kernel/runtime/packVersion.ts +84 -0
  304. package/src/kernel/runtime/readEntity.ts +61 -6
  305. package/src/kernel/runtime/resolveSources.test.ts +90 -7
  306. package/src/kernel/runtime/resolveSources.ts +91 -10
  307. package/src/kernel/runtime/storeReadiness.ts +4 -4
  308. package/src/kernel/runtime/types.ts +12 -0
  309. package/src/kernel/spec/call.test.ts +95 -0
  310. package/src/kernel/spec/call.ts +186 -0
  311. package/src/kernel/spec/emitReference.ts +9 -13
  312. package/src/kernel/spec/emitSurface.ts +9 -1
  313. package/src/kernel/spec/guidance.test.ts +49 -0
  314. package/src/kernel/spec/guidance.ts +68 -0
  315. package/src/kernel/spec/index.ts +4 -0
  316. package/src/kernel/spec/surfaceConformance.test.ts +2 -2
  317. package/src/kernel/spec/types.ts +64 -7
  318. package/src/kernel/spec/wireType.ts +53 -0
  319. package/src/testing/behavioral/errorMatrix.mcp.test.ts +2 -1
  320. package/src/testing/behavioral/journeys.firstInstall.test.ts +72 -2
  321. package/src/testing/behavioral/parity.test.ts +40 -0
  322. package/src/testing/eval/__snapshots__/eval.test.ts.snap +1 -1
  323. package/src/testing/eval/cases/assembly.ts +4 -3
  324. package/src/testing/eval/cases/stable.ts +2 -3
  325. package/src/testing/helpers/callSchema.ts +40 -0
  326. package/src/testing/helpers/parity.ts +35 -2
  327. package/src/testing/setupCallChecking.ts +30 -0
  328. package/dist/src/capabilities/capabilities/hints.js +0 -223
  329. package/dist/src/capabilities/capabilities/hints.js.map +0 -1
  330. package/src/capabilities/capabilities/hints.ts +0 -266
@@ -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":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;AAC7C,IAAI,WAES,CAAC;AAEd;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,KAA0B;IACrD,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC5B,SAAyE;IAEzE,WAAW,GAAG,SAAS,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAC9E,SAAS,YAAY,CAAC,IAAU;IAC9B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,CAAC,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;AAEjE,oFAAoF;AACpF,MAAM,UAAU,QAAQ,CACtB,IAAU;IAEV,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;AAClE,CAAC;AAED,4DAA4D;AAC5D,SAAS,SAAS,CAAC,KAAc;IAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;QACjC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC;AAC3C,CAAC;AAED,wFAAwF;AACxF,SAAS,aAAa,CAAC,IAAU;IAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC;IACpD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACxE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAC/D,MAAM,IAAI,GAAG,KAAK,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,IAAI,EAAE,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;YACvE,IAAI,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACvB,IAAI,YAAY;gBAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7D,SAAS;QACX,CAAC;QACD,kDAAkD;QAClD,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,KAAK,GAAG,UAAU;SACrB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;SAC5C,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3D,uEAAuE;IACvE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,OAAO;QACL,GAAG,mBAAmB,GAAG,IAAI,CAAC,IAAI,EAAE;QACpC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QACxB,GAAG,KAAK;QACR,GAAG,KAAK;QACR,GAAG,KAAK;KACT,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,4DAA4D;AAC5D,SAAS,aAAa,CAAC,IAAU;IAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;SAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC;SAC1C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;SAC3D,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAChE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,IAAU,EAAE,OAAgB;IACrD,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,IAAI,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;IACtE,OAAO,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,KAAK;QACzC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,IAAU,EAAE,OAAgB;IAC/C,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK;QAC7D,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,OAAO,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,KAAsB,EACtB,OAAgB;IAEhB,OAAO,OAAO,KAAK,KAAK;QACtB,CAAC,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI;QACzC,CAAC,CAAC,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;AACrD,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,SAAS,CAAC,IAAU,EAAE,OAAgB;IACpD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC;AAClE,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,cAAc,CAAC,IAAU,EAAE,OAAgB;IACzD,OAAO,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,KAAK;QACzC,CAAC,CAAC,QAAQ,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG;QACrC,CAAC,CAAC,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AACzC,CAAC"}
@@ -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":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,aAAa,EACb,SAAS,EACT,QAAQ,EACR,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAQ9D,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKzD;;;;;;GAMG;AACH,MAAM,uBAAuB,GAAiD;IAC5E,gBAAgB,EAAE,2DAA2D;IAC7E,aAAa,EACX,gEAAgE;IAClE,aAAa,EAAE,8DAA8D;IAC7E,eAAe,EACb,iEAAiE;IACnE,YAAY,EAAE,6CAA6C;IAC3D,iBAAiB,EAAE,oDAAoD;IACvE,YAAY,EAAE,+CAA+C;IAC7D,cAAc,EAAE,6CAA6C;IAC7D,WAAW,EAAE,2DAA2D;CACzE,CAAC;AAEF,iFAAiF;AACjF,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,yFAAyF;AACzF,SAAS,eAAe,CACtB,OAAoC;IAEpC,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,MAAM;gBAAE,SAAS;YAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACrC,CAAC;AAED,gFAAgF;AAChF,SAAS,eAAe,CAAC,CAAW,EAAE,CAAW;IAC/C,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjC;;oEAEgE;IAChE,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC;IAChC,OAAO,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,yFAAyF;AACzF,SAAS,gBAAgB,CAAC,IAAc;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,OAAO,GAAG,KAAK,SAAS;QACtB,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAC/B,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;AAC3C,CAAC;AAED,6FAA6F;AAC7F,SAAS,qBAAqB,CAAC,KAAgB;IAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,OAAO,KAAK,CAAC,QAAQ;QACnB,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG;QAC9B,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,QAAQ,GAAG,CAAC;AACnC,CAAC;AAED,4EAA4E;AAC5E,SAAS,eAAe,CAAC,KAAgB;IACvC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QACvC,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,UAAU,CAAC;QACpB,KAAK,UAAU;YACb,OAAO,YAAY,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,KAAgB;IACvC,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,wFAAwF;AACxF,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,6EAA6E;AAC7E,SAAS,aAAa,CAAC,KAAgB;IACrC,IAAI,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,WAAW,IAAI,aAAa,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACzD,CAAC;IACD,IAAI,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACtD,WAAW,IAAI,cAAc,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;IAC3E,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,4EAA4E;AAC5E,SAAS,WAAW,CAAC,IAAc;IACjC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CACtB,MAA4B,EAC5B,gBAAmD;IAEnD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACvD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,CAAC,uCAAuC,EAAE,qBAAqB,CAAC,CAAC;IAC9E,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,MAAM,KAAK,GACT,gBAAgB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,QAAQ,MAAM,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,oBAAoB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,MAA4B,EAC5B,UAA6C;IAE7C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,CAAC,gCAAgC,EAAE,qBAAqB,CAAC,CAAC;IACvE,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,6EAA6E;QAC7E,mCAAmC;QACnC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;QAClE,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvE,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,SAAS,MAAM,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,gBAAgB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3C,CAAC;AAED,qEAAqE;AACrE,SAAS,cAAc,CAAC,QAAwC;IAC9D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CACjE,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,OAAO,mBAAmB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,iEAAiE;AACjE,SAAS,oBAAoB,CAAC,IAAc;IAC1C,MAAM,OAAO,GAAG;QACd,IAAI,CAAC,UAAU,CAAC,UAAU;YACxB,CAAC,CAAC,qCAAqC,QAAQ,+BAA+B;YAC9E,CAAC,CAAC,qBAAqB;KAC1B,CAAC;IACF,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CACV,+FAA+F,CAChG,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,IAAI,CACV,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM;QACxB,CAAC,CAAC,2BAA2B,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU;QAC1D,CAAC,CAAC,gCAAgC,CACrC,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,mFAAmF;AACnF,SAAS,YAAY,CAAC,MAAyB;IAC7C,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACxE,CAAC;AAED,0EAA0E;AAC1E,SAAS,oBAAoB,CAC3B,IAAc,EACd,MAA2B;IAE3B,MAAM,MAAM,GAAG;QACb,OAAO,gBAAgB,CAAC,IAAI,CAAC,EAAE;QAC/B,IAAI,CAAC,OAAO;QACZ,IAAI,CAAC,GAAG,IAAI,EAAE;QACd,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE;QAC3B,WAAW,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU;QAC/E,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC;QACtD,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC;QACjD,oBAAoB,CAAC,IAAI,CAAC;QAC1B,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;KAC9B,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CACzB,KAA0B,EAC1B,UAAuC,EACvC,UAAqD;IAErD,MAAM,MAAM,GAAG;QACb,yBAAyB;QACzB,WAAW,QAAQ,gGAAgG;QACnH,uOAAuO;KACxO,CAAC;IACF,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,WAAW,GAAG,IAAI,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED,4EAA4E;AAC5E,SAAS,iBAAiB,CACxB,OAAoC;IAEpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC;QACnD,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,yEAAyE;AACzE,SAAS,iBAAiB,CACxB,OAAoC;IAEpC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgC,CAAC;IACvD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC;QACvD,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,KAAK;gBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAUD,sFAAsF;AACtF,SAAS,iBAAiB,CAAC,IAAc;IACvC,MAAM,IAAI,GAAmB,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ,KAAK,IAAI;YACjC,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAClD,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,yCAAyC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI;SAClF,CAAC,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,KAAK;YACf,WAAW,EACT,oEAAoE;SACvE,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,KAAK;YACf,WAAW,EACT,uFAAuF;SAC1F,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iFAAiF;AACjF,SAAS,gBAAgB,CAAC,IAAc;IACtC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,wBAAwB,CAAC;IACvD,MAAM,KAAK,GAAG;QACZ,+CAA+C;QAC/C,2BAA2B;KAC5B,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,KAAK,CAAC,IAAI,CACR,OAAO,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,MAAM,QAAQ,MAAM,GAAG,CAAC,WAAW,IAAI,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,yEAAyE;AACzE,SAAS,qBAAqB,CAAC,IAAc;IAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO;QAAE,OAAO,YAAY,CAAC;IAClD,MAAM,WAAW,GACf,IAAI,CAAC,UAAU,CAAC,WAAW,KAAK,IAAI;QAClC,CAAC,CAAC,sBAAsB;QACxB,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,KAAK,KAAK;YACrC,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,EAAE,CAAC;IACX,OAAO,0DAA0D,WAAW,EAAE,CAAC;AACjF,CAAC;AAED,4CAA4C;AAC5C,SAAS,iBAAiB,CAAC,IAAc;IACvC,MAAM,MAAM,GAAG;QACb,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC5B,uEAAuE;QACvE,YAAY,CAAC,IAAI,CAAC;QAClB,qBAAqB,CAAC,IAAI,CAAC;QAC3B,WAAW;QACX,gBAAgB,CAAC,IAAI,CAAC;KACvB,CAAC;IACF,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,qFAAqF;AACrF,SAAS,gBAAgB,CAAC,OAAoC;IAI5D,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;YACjC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,MAAM,CAAC,UAAU;YAAE,OAAO,GAAG,IAAI,CAAC;IACxC,CAAC;IACD,+EAA+E;IAC/E,0CAA0C;IAC1C,OAAO,EAAE,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;AACvD,CAAC;AAED,8DAA8D;AAC9D,SAAS,oBAAoB,CAAC,OAAoC;IAChE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CACV,oBAAoB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,6TAA6T,CAC7X,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CACV,8OAA8O,CAC/O,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,IAAI,CACV,+KAA+K,CAChL,CAAC;IACF,OAAO,0BAA0B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,+DAA+D;AAC/D,SAAS,eAAe,CACtB,KAA0B,EAC1B,OAAoC;IAEpC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG;QACb,sBAAsB;QACtB,kBAAkB,QAAQ,kVAAkV;QAC5W,yMAAyM;KAC1M,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED,gFAAgF;AAChF,SAAS,gBAAgB;IACvB,MAAM,QAAQ,GAAG,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAC;IAC9D,8EAA8E;IAC9E,2EAA2E;IAC3E,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QACtE,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,QAAQ,OAAO,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IAC5D,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC9C;mFAC2E;QAC3E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,OAAO,IAAI,QAAQ,OAAO,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,YAAY,CAAC;QAClB,uBAAuB;QACvB,oKAAoK;QACpK,eAAe;QACf,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QACnB,sBAAsB;QACtB,eAAe,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU;QACxE,gBAAgB;QAChB,mEAAmE;QACnE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;KACvB,CAAC,CAAC;AACL,CAAC;AAUD;;;;;;;;;;;GAWG;AACH,MAAM,iBAAiB,GAA4C;IACjE,IAAI,EAAE;QACJ,IAAI,EAAE,mBAAmB;QACzB,KAAK,EACH,0GAA0G;KAC7G;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,mBAAmB;QACzB,KAAK,EACH,+FAA+F;KAClG;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EACH,o1BAAo1B;KACv1B;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,mBAAmB;QACzB,KAAK,EACH,kUAAkU;KACrU;IACD,SAAS,EAAE;QACT,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EACH,wFAAwF;KAC3F;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,mBAAmB;QACzB,KAAK,EACH,+uBAA+uB;KAClvB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,qDAAqD;QAC3D,KAAK,EACH,qMAAqM;KACxM;IACD,MAAM,EAAE;QACN,IAAI,EAAE,gDAAgD;QACtD,KAAK,EACH,yMAAyM;KAC5M;IACD,KAAK,EAAE;QACL,IAAI,EAAE,kBAAkB;QACxB,KAAK,EACH,oLAAoL;KACvL;IACD,OAAO,EAAE;QACP,IAAI,EAAE,kBAAkB;QACxB,KAAK,EACH,qJAAqJ;KACxJ;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,mBAAmB;QACzB,KAAK,EACH,mWAAmW;KACtW;IACD,UAAU,EAAE;QACV,IAAI,EAAE,mBAAmB;QACzB,KAAK,EACH,gLAAgL;KACnL;CACF,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAE/D,+EAA+E;AAC/E,SAAS,gBAAgB;IACvB,MAAM,IAAI,GAAG,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAC;IACjE,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,IAAI,CACP,OAAO,KAAK,QAAQ,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CACxE,CAAC;IACJ,CAAC;IACD,OAAO,YAAY,CAAC;QAClB,2BAA2B;QAC3B,mBAAmB,QAAQ,uJAAuJ;QAClL,WAAW;QACX,oCAAoC;QACpC;YACE,8EAA8E;YAC9E,6CAA6C,QAAQ,gCAAgC,QAAQ,gBAAgB;YAC7G,yCAAyC,uBAAuB,YAAY,QAAQ,gFAAgF;SACrK,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,iUAAiU;QACjU,WAAW;QACX,2GAA2G;QAC3G,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACf,6BAA6B;QAC7B,qwBAAqwB;QACrwB,+BAA+B;QAC/B,KAAK,QAAQ,yBAAyB,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,2fAA2f;QAC1lB,kCAAkC;QAClC,2PAA2P;QAC3P,0BAA0B;QAC1B,6bAA6b;QAC7b,wCAAwC;QACxC,4WAA4W;QAC5W,wBAAwB;QACxB,KAAK,QAAQ,uEAAuE,QAAQ,wKAAwK;KACrQ,CAAC,CAAC;AACL,CAAC;AAED,uEAAuE;AACvE,SAAS,eAAe,CACtB,KAA0B,EAC1B,OAAoC;IAEpC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAC5E,OAAO,YAAY,CAAC;QAClB,KAAK,QAAQ,YAAY;QACzB,yCAAyC,QAAQ,kMAAkM;QACnP,gBAAgB;QAChB;YACE,OAAO,KAAK,CAAC,IAAI,kBAAkB;YACnC,OAAO,KAAK,CAAC,MAAM,iBAAiB;YACpC,OAAO,SAAS,cAAc;YAC9B,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,yBAAyB;SAC3E,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,UAAU;QACV;YACE,sDAAsD,QAAQ,uDAAuD;YACrH,sGAAsG;YACtG,mGAAmG;YACnG,wGAAwG;SACzG,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAoC;IAEpC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,IAAI,GAAG,CAAiB;QAC7B,CAAC,UAAU,EAAE,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7C;YACE,aAAa;YACb,kBAAkB,CAChB,KAAK,EACL,iBAAiB,CAAC,OAAO,CAAC,EAC1B,iBAAiB,CAAC,OAAO,CAAC,CAC3B;SACF;QACD,CAAC,UAAU,EAAE,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAC;QACjC,CAAC,WAAW,EAAE,gBAAgB,EAAE,CAAC;KAClC,CAAC,CAAC;AACL,CAAC"}
@@ -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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * What a parameter accepts on the wire, stated once: the MCP schema is built
3
+ * from it and the reference prints it. A `string[]` positional and every
4
+ * `repeatable` flag are LISTS — advertised as an array, with one bare string
5
+ * coerced to a list of one. Pure and zod-free (the reference is storeless).
6
+ */
7
+ /**
8
+ * Derive the wire type of a parameter from its spec.
9
+ *
10
+ * @param param - The parameter spec.
11
+ * @returns The one statement both the schema and the reference read.
12
+ */
13
+ export function wireType(param) {
14
+ if (param.kind === "string[]") {
15
+ return { item: { kind: "string" }, list: true };
16
+ }
17
+ const item = param.kind === "enum"
18
+ ? { kind: "enum", values: param.values }
19
+ : { kind: param.kind };
20
+ return { item, list: param.repeatable === true };
21
+ }
22
+ /**
23
+ * Print a wire type as the reference's type label (`string[]`,
24
+ * `enum(a, b)[]`). Enum values are comma-joined, never pipe-joined, so the
25
+ * label is safe inside a Markdown table cell without escaping.
26
+ *
27
+ * @param wire - The wire type to print.
28
+ * @returns The label.
29
+ */
30
+ export function formatWireType(wire) {
31
+ const item = wire.item.kind === "enum"
32
+ ? `enum(${wire.item.values.join(", ")})`
33
+ : wire.item.kind;
34
+ return wire.list ? `${item}[]` : item;
35
+ }
36
+ //# sourceMappingURL=wireType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wireType.js","sourceRoot":"","sources":["../../../../src/kernel/spec/wireType.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAgB;IACvC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAClD,CAAC;IACD,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,KAAK,MAAM;QACnB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;QACxC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IAC3B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;AACnD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,IAAc;IAC3C,MAAM,IAAI,GACR,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM;QACvB,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACxC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACrB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@canonical/pragma-cli",
3
3
  "description": "CLI and MCP server over Canonical's design-system knowledge graph.",
4
- "version": "0.38.0",
4
+ "version": "0.40.0",
5
5
  "type": "module",
6
6
  "module": "src/index.ts",
7
7
  "types": "src/index.ts",
@@ -51,14 +51,14 @@
51
51
  "eval": "bun run src/testing/eval/report.ts"
52
52
  },
53
53
  "dependencies": {
54
- "@canonical/harnesses": "^0.38.0",
55
- "@canonical/ke": "^0.38.0",
56
- "@canonical/ke-graphql": "^0.38.0",
57
- "@canonical/summon-application": "^0.38.0",
58
- "@canonical/summon-component": "^0.38.0",
59
- "@canonical/summon-core": "^0.38.0",
60
- "@canonical/summon-package": "^0.38.0",
61
- "@canonical/task": "^0.38.0",
54
+ "@canonical/harnesses": "^0.40.0",
55
+ "@canonical/ke": "^0.40.0",
56
+ "@canonical/ke-graphql": "^0.40.0",
57
+ "@canonical/summon-application": "^0.40.0",
58
+ "@canonical/summon-component": "^0.40.0",
59
+ "@canonical/summon-core": "^0.40.0",
60
+ "@canonical/summon-package": "^0.40.0",
61
+ "@canonical/task": "^0.40.0",
62
62
  "@modelcontextprotocol/sdk": "^1.12.0",
63
63
  "chalk": "^6.0.0",
64
64
  "commander": "^15.0.0",
@@ -69,11 +69,11 @@
69
69
  "devDependencies": {
70
70
  "@biomejs/biome": "2.5.13",
71
71
  "@canonical/anatomy-dsl": "^0.6.0",
72
- "@canonical/biome-config": "^0.38.0",
73
- "@canonical/summon": "^0.38.0",
72
+ "@canonical/biome-config": "^0.40.0",
73
+ "@canonical/summon": "^0.40.0",
74
74
  "@canonical/token-ontology": "^0.10.1",
75
- "@canonical/typescript-config": "^0.38.0",
76
- "@canonical/webarchitect": "^0.38.0",
75
+ "@canonical/typescript-config": "^0.40.0",
76
+ "@canonical/webarchitect": "^0.40.0",
77
77
  "@types/bun": "^1.3.10",
78
78
  "@types/node": "^26.0.0",
79
79
  "@vitest/coverage-v8": "^4.0.18",
@@ -83,5 +83,5 @@
83
83
  "engines": {
84
84
  "node": ">=22.18 <23 || >=23.6"
85
85
  },
86
- "gitHead": "4d10a68a9b299af6fe3d1d7d053e54ca128944ad"
86
+ "gitHead": "9136b71518260c5f33e7619da087198c931e4c13"
87
87
  }