@canonical/pragma-cli 0.36.0 → 0.38.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 (312) hide show
  1. package/README.md +3 -2
  2. package/bundled-skills/adoption-a1-styles/SKILL.md +24 -0
  3. package/bundled-skills/adoption-a2-components/SKILL.md +22 -6
  4. package/bundled-skills/anatomy-author/ANATOMY_DSL_SPEC.md +1397 -327
  5. package/bundled-skills/anatomy-author/SKILL.md +840 -137
  6. package/bundled-skills/design-auditor/SKILL.md +133 -9
  7. package/bundled-skills/implement-component/SKILL.md +192 -23
  8. package/bundled-skills/specify-component/SKILL.md +124 -12
  9. package/bundled-skills/specify-pattern/SKILL.md +47 -8
  10. package/dist/package.json +23 -20
  11. package/dist/pragma.conf.js +963 -40
  12. package/dist/pragma.conf.js.map +1 -1
  13. package/dist/src/capabilities/capabilities/catalog.js +14 -5
  14. package/dist/src/capabilities/capabilities/catalog.js.map +1 -1
  15. package/dist/src/capabilities/capabilities/hints.js +33 -5
  16. package/dist/src/capabilities/capabilities/hints.js.map +1 -1
  17. package/dist/src/capabilities/config/show.render.js +30 -2
  18. package/dist/src/capabilities/config/show.render.js.map +1 -1
  19. package/dist/src/capabilities/create/create.verb.js +2 -1
  20. package/dist/src/capabilities/create/create.verb.js.map +1 -1
  21. package/dist/src/capabilities/create/createSurface.generated.js +23 -1
  22. package/dist/src/capabilities/create/createSurface.generated.js.map +1 -1
  23. package/dist/src/capabilities/doctor/checks/checkNodeVersion.js +11 -6
  24. package/dist/src/capabilities/doctor/checks/checkNodeVersion.js.map +1 -1
  25. package/dist/src/capabilities/doctor/checks/harnessInventory.js +1 -1
  26. package/dist/src/capabilities/doctor/checks/harnessInventory.js.map +1 -1
  27. package/dist/src/capabilities/doctor/checks/isSupportedNodeVersion.js +38 -0
  28. package/dist/src/capabilities/doctor/checks/isSupportedNodeVersion.js.map +1 -0
  29. package/dist/src/capabilities/doctor/checks/targetHealth.js +104 -14
  30. package/dist/src/capabilities/doctor/checks/targetHealth.js.map +1 -1
  31. package/dist/src/capabilities/graph/connect.render.js +101 -0
  32. package/dist/src/capabilities/graph/connect.render.js.map +1 -0
  33. package/dist/src/capabilities/graph/connect.types.js +21 -0
  34. package/dist/src/capabilities/graph/connect.types.js.map +1 -0
  35. package/dist/src/capabilities/graph/connect.verb.js +147 -0
  36. package/dist/src/capabilities/graph/connect.verb.js.map +1 -0
  37. package/dist/src/capabilities/graph/index.js +5 -3
  38. package/dist/src/capabilities/graph/index.js.map +1 -1
  39. package/dist/src/capabilities/graph/queryText.js +206 -0
  40. package/dist/src/capabilities/graph/queryText.js.map +1 -0
  41. package/dist/src/capabilities/graph/relationIndex.js +302 -0
  42. package/dist/src/capabilities/graph/relationIndex.js.map +1 -0
  43. package/dist/src/capabilities/graph/runConnect.js +456 -0
  44. package/dist/src/capabilities/graph/runConnect.js.map +1 -0
  45. package/dist/src/capabilities/graph/runQuery.js +21 -4
  46. package/dist/src/capabilities/graph/runQuery.js.map +1 -1
  47. package/dist/src/capabilities/setup/buildPlan.js +6 -2
  48. package/dist/src/capabilities/setup/buildPlan.js.map +1 -1
  49. package/dist/src/capabilities/setup/operations/index.js +7 -2
  50. package/dist/src/capabilities/setup/operations/index.js.map +1 -1
  51. package/dist/src/capabilities/setup/operations/setupCompletions.js +6 -2
  52. package/dist/src/capabilities/setup/operations/setupCompletions.js.map +1 -1
  53. package/dist/src/capabilities/setup/operations/setupConfig.js +4 -2
  54. package/dist/src/capabilities/setup/operations/setupConfig.js.map +1 -1
  55. package/dist/src/capabilities/setup/operations/setupGenerator.js +72 -14
  56. package/dist/src/capabilities/setup/operations/setupGenerator.js.map +1 -1
  57. package/dist/src/capabilities/setup/operations/setupLsp.js +372 -62
  58. package/dist/src/capabilities/setup/operations/setupLsp.js.map +1 -1
  59. package/dist/src/capabilities/setup/operations/setupMcp.js +150 -5
  60. package/dist/src/capabilities/setup/operations/setupMcp.js.map +1 -1
  61. package/dist/src/capabilities/setup/operations/setupSkills.js +4 -2
  62. package/dist/src/capabilities/setup/operations/setupSkills.js.map +1 -1
  63. package/dist/src/capabilities/setup/operations/writability.js +114 -0
  64. package/dist/src/capabilities/setup/operations/writability.js.map +1 -0
  65. package/dist/src/capabilities/setup/plan.js.map +1 -1
  66. package/dist/src/capabilities/setup/setup.verb.js +80 -31
  67. package/dist/src/capabilities/setup/setup.verb.js.map +1 -1
  68. package/dist/src/capabilities/setup/targets.js +124 -42
  69. package/dist/src/capabilities/setup/targets.js.map +1 -1
  70. package/dist/src/capabilities/shared/index.js +1 -1
  71. package/dist/src/capabilities/shared/index.js.map +1 -1
  72. package/dist/src/constants.js +7 -1
  73. package/dist/src/constants.js.map +1 -1
  74. package/dist/src/kernel/error/renderError.js +3 -2
  75. package/dist/src/kernel/error/renderError.js.map +1 -1
  76. package/dist/src/kernel/error/validOptions.js +41 -0
  77. package/dist/src/kernel/error/validOptions.js.map +1 -0
  78. package/dist/src/kernel/packs/compile.js +90 -6
  79. package/dist/src/kernel/packs/compile.js.map +1 -1
  80. package/dist/src/kernel/packs/cursor.js +135 -0
  81. package/dist/src/kernel/packs/cursor.js.map +1 -0
  82. package/dist/src/kernel/packs/graphql/buildLookupDocument.js +9 -2
  83. package/dist/src/kernel/packs/graphql/buildLookupDocument.js.map +1 -1
  84. package/dist/src/kernel/packs/paging.js +108 -0
  85. package/dist/src/kernel/packs/paging.js.map +1 -0
  86. package/dist/src/kernel/packs/renderPack.js +154 -5
  87. package/dist/src/kernel/packs/renderPack.js.map +1 -1
  88. package/dist/src/kernel/packs/resolveEntity.js +118 -19
  89. package/dist/src/kernel/packs/resolveEntity.js.map +1 -1
  90. package/dist/src/kernel/packs/runBodies.js +156 -18
  91. package/dist/src/kernel/packs/runBodies.js.map +1 -1
  92. package/dist/src/kernel/packs/schema.js +160 -12
  93. package/dist/src/kernel/packs/schema.js.map +1 -1
  94. package/dist/src/kernel/packs/sparql/authorQuery.js +227 -0
  95. package/dist/src/kernel/packs/sparql/authorQuery.js.map +1 -0
  96. package/dist/src/kernel/packs/sparql/buildListQuery.js +251 -0
  97. package/dist/src/kernel/packs/sparql/buildListQuery.js.map +1 -0
  98. package/dist/src/kernel/packs/sparql/buildLookupQuery.js +125 -22
  99. package/dist/src/kernel/packs/sparql/buildLookupQuery.js.map +1 -1
  100. package/dist/src/kernel/packs/sparql/filterValues.js +145 -0
  101. package/dist/src/kernel/packs/sparql/filterValues.js.map +1 -0
  102. package/dist/src/kernel/packs/sparql/index.js +24 -14
  103. package/dist/src/kernel/packs/sparql/index.js.map +1 -1
  104. package/dist/src/kernel/packs/sparql/runSelect.js +10 -4
  105. package/dist/src/kernel/packs/sparql/runSelect.js.map +1 -1
  106. package/dist/src/kernel/packs/sparql/searchTerm.js +25 -0
  107. package/dist/src/kernel/packs/sparql/searchTerm.js.map +1 -0
  108. package/dist/src/kernel/packs/storyRules.js +151 -0
  109. package/dist/src/kernel/packs/storyRules.js.map +1 -0
  110. package/dist/src/kernel/packs/tierScope.js +310 -0
  111. package/dist/src/kernel/packs/tierScope.js.map +1 -0
  112. package/dist/src/kernel/packs/types.js +80 -0
  113. package/dist/src/kernel/packs/types.js.map +1 -1
  114. package/dist/src/kernel/project/cli/buildProgram.js +10 -1
  115. package/dist/src/kernel/project/cli/buildProgram.js.map +1 -1
  116. package/dist/src/kernel/project/cli/dispatch.js +104 -3
  117. package/dist/src/kernel/project/cli/dispatch.js.map +1 -1
  118. package/dist/src/kernel/project/cli/rootHelp.js +8 -5
  119. package/dist/src/kernel/project/cli/rootHelp.js.map +1 -1
  120. package/dist/src/kernel/project/cli/suggestNames.js +31 -7
  121. package/dist/src/kernel/project/cli/suggestNames.js.map +1 -1
  122. package/dist/src/kernel/project/mcp/registerVerb.js +5 -1
  123. package/dist/src/kernel/project/mcp/registerVerb.js.map +1 -1
  124. package/dist/src/kernel/render/renderers.js +34 -2
  125. package/dist/src/kernel/render/renderers.js.map +1 -1
  126. package/dist/src/kernel/runtime/graphpack/embedded/pack.generated.js +2 -3
  127. package/dist/src/kernel/runtime/graphpack/embedded/pack.generated.js.map +1 -1
  128. package/dist/src/kernel/runtime/graphpack/embedded/pack.index.generated.js +1 -1
  129. package/dist/src/kernel/runtime/graphpack/embedded/pack.index.generated.js.map +1 -1
  130. package/dist/src/kernel/runtime/graphpack/embedded/pack.manifest.generated.js +4 -0
  131. package/dist/src/kernel/runtime/graphpack/embedded/pack.manifest.generated.js.map +1 -0
  132. package/dist/src/kernel/runtime/graphpack/embedded.js +13 -6
  133. package/dist/src/kernel/runtime/graphpack/embedded.js.map +1 -1
  134. package/dist/src/kernel/runtime/graphpack/read.js +17 -10
  135. package/dist/src/kernel/runtime/graphpack/read.js.map +1 -1
  136. package/dist/src/kernel/runtime/loadSession.js +3 -1
  137. package/dist/src/kernel/runtime/loadSession.js.map +1 -1
  138. package/dist/src/kernel/runtime/probe.js +1 -1
  139. package/dist/src/kernel/runtime/probe.js.map +1 -1
  140. package/dist/src/kernel/runtime/readEntity.js +19 -4
  141. package/dist/src/kernel/runtime/readEntity.js.map +1 -1
  142. package/dist/src/kernel/runtime/refs/parseRef.js +17 -1
  143. package/dist/src/kernel/runtime/refs/parseRef.js.map +1 -1
  144. package/dist/src/kernel/runtime/refs/resolve.js +38 -5
  145. package/dist/src/kernel/runtime/refs/resolve.js.map +1 -1
  146. package/dist/src/kernel/spec/emitReference.js +1 -1
  147. package/dist/src/kernel/spec/emitReference.js.map +1 -1
  148. package/package.json +23 -20
  149. package/pragma.conf.ts +983 -40
  150. package/src/capabilities/block.parity.test.ts +207 -27
  151. package/src/capabilities/block.shipped.exec.test.ts +156 -14
  152. package/src/capabilities/block.tierRank.exec.test.ts +46 -9
  153. package/src/capabilities/capabilities/catalog.ts +14 -5
  154. package/src/capabilities/capabilities/hints.ts +40 -5
  155. package/src/capabilities/config/collectConfigShow.test.ts +1 -0
  156. package/src/capabilities/config/set.test.ts +24 -25
  157. package/src/capabilities/config/show.render.test.ts +9 -4
  158. package/src/capabilities/config/show.render.ts +30 -2
  159. package/src/capabilities/create/byteEquality.test.ts +28 -1
  160. package/src/capabilities/create/create.test.ts +1 -0
  161. package/src/capabilities/create/create.verb.ts +2 -1
  162. package/src/capabilities/create/createGrammar.test.ts +4 -1
  163. package/src/capabilities/create/createSurface.generated.ts +23 -1
  164. package/src/capabilities/create/crossCli.subprocess.test.ts +10 -3
  165. package/src/capabilities/distribution.parity.test.ts +12 -11
  166. package/src/capabilities/distribution.test.ts +77 -7
  167. package/src/capabilities/doctor/checks/checkNodeVersion.test.ts +49 -0
  168. package/src/capabilities/doctor/checks/checkNodeVersion.ts +11 -7
  169. package/src/capabilities/doctor/checks/harnessInventory.test.ts +13 -6
  170. package/src/capabilities/doctor/checks/harnessInventory.ts +8 -4
  171. package/src/capabilities/doctor/checks/isSupportedNodeVersion.test.ts +111 -0
  172. package/src/capabilities/doctor/checks/isSupportedNodeVersion.ts +34 -0
  173. package/src/capabilities/doctor/checks/mcpCommand.test.ts +7 -1
  174. package/src/capabilities/doctor/checks/targetHealth.ts +114 -13
  175. package/src/capabilities/doctor/doctor.test.ts +327 -36
  176. package/src/capabilities/emptyRecovery.test.ts +84 -28
  177. package/src/capabilities/graph/connect.render.ts +141 -0
  178. package/src/capabilities/graph/connect.shipped.exec.test.ts +370 -0
  179. package/src/capabilities/graph/connect.test.ts +361 -0
  180. package/src/capabilities/graph/connect.types.ts +136 -0
  181. package/src/capabilities/graph/connect.verb.ts +165 -0
  182. package/src/capabilities/graph/index.ts +5 -3
  183. package/src/capabilities/graph/query.shipped.exec.test.ts +66 -0
  184. package/src/capabilities/graph/query.test.ts +17 -0
  185. package/src/capabilities/graph/queryText.test.ts +121 -0
  186. package/src/capabilities/graph/queryText.ts +240 -0
  187. package/src/capabilities/graph/relationIndex.ts +372 -0
  188. package/src/capabilities/graph/runConnect.ts +577 -0
  189. package/src/capabilities/graph/runQuery.ts +21 -6
  190. package/src/capabilities/lazy.test.ts +32 -2
  191. package/src/capabilities/listBudget.shipped.exec.test.ts +239 -0
  192. package/src/capabilities/listLookup.shipped.exec.test.ts +387 -0
  193. package/src/capabilities/listQuery.shipped.exec.test.ts +400 -0
  194. package/src/capabilities/resources/resources.test.ts +38 -2
  195. package/src/capabilities/setup/buildPlan.ts +7 -1
  196. package/src/capabilities/setup/operations/index.ts +14 -0
  197. package/src/capabilities/setup/operations/setupCompletions.ts +9 -2
  198. package/src/capabilities/setup/operations/setupConfig.ts +7 -2
  199. package/src/capabilities/setup/operations/setupGenerator.ts +93 -15
  200. package/src/capabilities/setup/operations/setupLsp.ts +544 -85
  201. package/src/capabilities/setup/operations/setupMcp.ts +212 -4
  202. package/src/capabilities/setup/operations/setupSkills.ts +7 -2
  203. package/src/capabilities/setup/operations/writability.test.ts +151 -0
  204. package/src/capabilities/setup/operations/writability.ts +135 -0
  205. package/src/capabilities/setup/plan.ts +11 -0
  206. package/src/capabilities/setup/setup.test.ts +992 -16
  207. package/src/capabilities/setup/setup.verb.ts +84 -36
  208. package/src/capabilities/setup/targets.ts +152 -48
  209. package/src/capabilities/setup/types.ts +41 -5
  210. package/src/capabilities/shared/index.ts +1 -0
  211. package/src/capabilities/sources/sources.test.ts +55 -0
  212. package/src/capabilities/surface.test.ts +59 -11
  213. package/src/capabilities/tier.parity.test.ts +2 -2
  214. package/src/capabilities/token.parity.test.ts +784 -0
  215. package/src/capabilities/tokenGraph.cli.test.ts +279 -0
  216. package/src/capabilities/tokenGraph.shipped.exec.test.ts +653 -0
  217. package/src/capabilities/variable.parity.test.ts +448 -0
  218. package/src/constants.ts +8 -0
  219. package/src/kernel/completion/shellDrive.test.ts +32 -30
  220. package/src/kernel/config/defaults.test.ts +21 -2
  221. package/src/kernel/config/readConfig.test.ts +1 -1
  222. package/src/kernel/error/renderError.ts +3 -2
  223. package/src/kernel/error/validOptions.test.ts +57 -0
  224. package/src/kernel/error/validOptions.ts +45 -0
  225. package/src/kernel/packs/collect.test.ts +2 -0
  226. package/src/kernel/packs/compile.test.ts +188 -15
  227. package/src/kernel/packs/compile.ts +109 -14
  228. package/src/kernel/packs/cursor.ts +135 -0
  229. package/src/kernel/packs/filteredEmpty.test.ts +213 -0
  230. package/src/kernel/packs/graphql/buildLookupDocument.ts +16 -9
  231. package/src/kernel/packs/graphqlSource.test.ts +152 -0
  232. package/src/kernel/packs/listNotice.test.ts +156 -0
  233. package/src/kernel/packs/paging.ts +110 -0
  234. package/src/kernel/packs/renderPack.ts +186 -13
  235. package/src/kernel/packs/resolveEntity.test.ts +62 -3
  236. package/src/kernel/packs/resolveEntity.ts +186 -26
  237. package/src/kernel/packs/runBodies.ts +196 -26
  238. package/src/kernel/packs/schema.ts +180 -13
  239. package/src/kernel/packs/sparql/authorQuery.test.ts +179 -0
  240. package/src/kernel/packs/sparql/authorQuery.ts +257 -0
  241. package/src/kernel/packs/sparql/buildListQuery.test.ts +344 -0
  242. package/src/kernel/packs/sparql/buildListQuery.ts +344 -0
  243. package/src/kernel/packs/sparql/buildLookupQuery.test.ts +138 -0
  244. package/src/kernel/packs/sparql/buildLookupQuery.ts +140 -20
  245. package/src/kernel/packs/sparql/filterValues.test.ts +86 -0
  246. package/src/kernel/packs/sparql/filterValues.ts +182 -0
  247. package/src/kernel/packs/sparql/index.ts +30 -14
  248. package/src/kernel/packs/sparql/runSelect.test.ts +63 -0
  249. package/src/kernel/packs/sparql/runSelect.ts +42 -2
  250. package/src/kernel/packs/sparql/searchTerm.ts +29 -0
  251. package/src/kernel/packs/storyRules.ts +180 -0
  252. package/src/kernel/packs/tierScope.test.ts +487 -0
  253. package/src/kernel/packs/tierScope.ts +409 -0
  254. package/src/kernel/packs/toolDescription.test.ts +13 -10
  255. package/src/kernel/packs/types.ts +311 -9
  256. package/src/kernel/project/cli/buildProgram.ts +17 -1
  257. package/src/kernel/project/cli/dispatch.test.ts +87 -0
  258. package/src/kernel/project/cli/dispatch.ts +114 -4
  259. package/src/kernel/project/cli/rootHelp.ts +8 -5
  260. package/src/kernel/project/cli/suggest.test.ts +35 -0
  261. package/src/kernel/project/cli/suggestNames.ts +34 -7
  262. package/src/kernel/project/mcp/registerVerb.ts +5 -1
  263. package/src/kernel/render/contracts.ts +2 -0
  264. package/src/kernel/render/prefixes.test.ts +2 -0
  265. package/src/kernel/render/renderers.test.ts +43 -0
  266. package/src/kernel/render/renderers.ts +34 -1
  267. package/src/kernel/runtime/graphpack/embedded/pack.generated.ts +2 -3
  268. package/src/kernel/runtime/graphpack/embedded/pack.index.generated.ts +1 -1
  269. package/src/kernel/runtime/graphpack/embedded/pack.manifest.generated.ts +3 -0
  270. package/src/kernel/runtime/graphpack/embedded.ts +14 -6
  271. package/src/kernel/runtime/graphpack/graphpack.test.ts +31 -5
  272. package/src/kernel/runtime/graphpack/read.ts +17 -13
  273. package/src/kernel/runtime/loadSession.ts +3 -1
  274. package/src/kernel/runtime/probe.ts +1 -1
  275. package/src/kernel/runtime/readEntity.ts +19 -4
  276. package/src/kernel/runtime/refs/parseRef.test.ts +49 -1
  277. package/src/kernel/runtime/refs/parseRef.ts +25 -1
  278. package/src/kernel/runtime/refs/resolve.ts +39 -5
  279. package/src/kernel/runtime/types.ts +30 -0
  280. package/src/kernel/spec/emitReference.ts +1 -1
  281. package/src/kernel/spec/surfaceConformance.test.ts +2 -2
  282. package/src/kernel/spec/types.ts +17 -0
  283. package/src/testing/PARITY_GAPS.ts +4 -4
  284. package/src/testing/behavioral/agentSession.mcp.test.ts +43 -39
  285. package/src/testing/behavioral/completion.test.ts +7 -6
  286. package/src/testing/behavioral/disclosure.test.ts +39 -37
  287. package/src/testing/behavioral/errorMatrix.mcp.test.ts +82 -64
  288. package/src/testing/behavioral/errorMatrix.storeless.test.ts +11 -10
  289. package/src/testing/behavioral/journeys.cli.test.ts +71 -32
  290. package/src/testing/behavioral/journeys.defaultPack.test.ts +6 -4
  291. package/src/testing/behavioral/journeys.firstInstall.test.ts +70 -5
  292. package/src/testing/behavioral/journeys.mcpLifecycle.mcp.test.ts +4 -3
  293. package/src/testing/behavioral/journeys.packageStories.test.ts +2 -1
  294. package/src/testing/behavioral/mcpSurface.test.ts +28 -25
  295. package/src/testing/behavioral/parity.test.ts +25 -23
  296. package/src/testing/eval/__snapshots__/eval.test.ts.snap +20 -0
  297. package/src/testing/eval/cases/effectful.ts +7 -1
  298. package/src/testing/eval/cases/readNouns.ts +100 -11
  299. package/src/testing/fixtures/blockGraph.ts +89 -5
  300. package/src/testing/fixtures/connectGraph.ts +159 -0
  301. package/src/testing/fixtures/graph/canonical.ts +128 -32
  302. package/src/testing/helpers/fsProbe.ts +88 -0
  303. package/src/testing/helpers/runCli.test.ts +44 -0
  304. package/src/testing/helpers/runCli.ts +27 -3
  305. package/src/testing/perf/budgets.test.ts +3 -1
  306. package/src/testing/perf/budgets.ts +138 -54
  307. package/dist/src/kernel/packs/sparql/applyFilters.js +0 -167
  308. package/dist/src/kernel/packs/sparql/applyFilters.js.map +0 -1
  309. package/dist/src/kernel/packs/sparql/applySearch.js +0 -25
  310. package/dist/src/kernel/packs/sparql/applySearch.js.map +0 -1
  311. package/src/kernel/packs/sparql/applyFilters.ts +0 -203
  312. package/src/kernel/packs/sparql/applySearch.ts +0 -33
@@ -14,10 +14,14 @@
14
14
  * facade).
15
15
  */
16
16
  import { BIN_NAME } from "../../constants.js";
17
+ import { PragmaError } from "../error/index.js";
17
18
  import { compactUri, DEFAULT_PREFIX_MAP } from "../render/index.js";
18
19
  import { asVerb } from "../spec/asVerb.js";
20
+ import { DEFAULT_LIST_LIMIT, MAX_LIST_WINDOW } from "./paging.js";
19
21
  import { listFormatters, lookupFormatters, sampleFormatters, } from "./renderPack.js";
20
22
  import { MAX_SAMPLE_COUNT, MIN_SAMPLE_COUNT, sampleDefaultCount, } from "./sample.js";
23
+ import { storyIssues } from "./storyRules.js";
24
+ import { EVERY_TIER, TIER_PARAM, } from "./types.js";
21
25
  // The run bodies pull the SPARQL/GraphQL fetch layer; they are dynamic-imported
22
26
  // per invocation so `compilePack` (reached on the storeless --help/__complete
23
27
  // fast path via capabilities/index) never statically loads them.
@@ -42,6 +46,7 @@ const READ_CAPABILITY = {
42
46
  export function compilePack(definition, source, prefixes) {
43
47
  const { noun } = definition;
44
48
  const verbs = [];
49
+ const tierScope = definition.tierScope;
45
50
  if (definition.list) {
46
51
  verbs.push(compileListVerb(definition.list, {
47
52
  noun,
@@ -50,6 +55,7 @@ export function compilePack(definition, source, prefixes) {
50
55
  doc: definition.toolDescription,
51
56
  source,
52
57
  prefixes,
58
+ ...(tierScope ? { tierScope } : {}),
53
59
  }));
54
60
  }
55
61
  for (const verb of definition.verbs ?? []) {
@@ -60,10 +66,11 @@ export function compilePack(definition, source, prefixes) {
60
66
  doc: verb.toolDescription,
61
67
  source,
62
68
  prefixes,
69
+ ...(tierScope ? { tierScope } : {}),
63
70
  }));
64
71
  }
65
72
  if (definition.lookup) {
66
- verbs.push(compileLookupVerb(definition.lookup, noun, source, prefixes));
73
+ verbs.push(compileLookupVerb(definition.lookup, noun, source, prefixes, tierScope));
67
74
  if (definition.lookup.sample) {
68
75
  verbs.push(compileSampleVerb(definition.lookup, noun, source, prefixes));
69
76
  }
@@ -123,12 +130,27 @@ export function compileListable(definition) {
123
130
  * through here alike, so a module-level projection derived from the story
124
131
  * (today: {@link compileListable}) cannot reach one tier and miss the other.
125
132
  *
133
+ * That door is also where the COMPILABILITY rules are checked
134
+ * ({@link ./storyRules.storyIssues}), for the same reason. The zod grammar runs
135
+ * for config- and package-declared stories only, so a rule stated only there
136
+ * was a declaration-time refusal for a third-party author and a first-call
137
+ * CONFIG_ERROR for the distribution's own stories. The rules are pure string
138
+ * work over text the story already carries, which is what makes them affordable
139
+ * on this path; a story that passed zod has passed them already, so the throw
140
+ * below is reachable only for a story that never saw zod.
141
+ *
126
142
  * @param definition - A validated pack definition.
127
143
  * @param source - Where the definition came from, for diagnostics.
128
144
  * @param prefixes - The merged prefix map used for display compaction.
129
145
  * @returns The module: the compiled verbs plus the story's module-level data.
146
+ * @throws PragmaError CONFIG_ERROR when the definition cannot be compiled,
147
+ * naming the field and the rule.
130
148
  */
131
149
  export function compileStoryModule(definition, source, prefixes) {
150
+ const issue = storyIssues(definition)[0];
151
+ if (issue) {
152
+ throw PragmaError.configError(`Invalid story in ${source.label} at ${issue.path.join(".")}: ${issue.message}`);
153
+ }
132
154
  const listable = compileListable(definition);
133
155
  return {
134
156
  name: definition.noun,
@@ -143,6 +165,8 @@ function compileListVerb(shape, meta) {
143
165
  const params = [
144
166
  ...projectFilters(shape.filters),
145
167
  ...projectSearch(shape.search),
168
+ ...tierParams(meta.tierScope),
169
+ ...PAGE_PARAMS,
146
170
  ];
147
171
  const filterExample = shape.filters?.find((f) => f.values !== undefined);
148
172
  const verb = {
@@ -169,12 +193,15 @@ function compileListVerb(shape, meta) {
169
193
  { cmd: `${BIN_NAME} ${meta.noun} ${meta.verb} --format llm` },
170
194
  ],
171
195
  capability: READ_CAPABILITY,
172
- run: (params, rt) => runBodies().then((m) => m.makeListRun(shape, { source: meta.source })(params, rt)),
196
+ run: (params, rt) => runBodies().then((m) => m.makeListRun(shape, {
197
+ source: meta.source,
198
+ ...(meta.tierScope ? { tierScope: meta.tierScope } : {}),
199
+ })(params, rt)),
173
200
  };
174
201
  return asVerb(verb);
175
202
  }
176
203
  /** Compile the `lookup` verb (variadic names → resolved entities). */
177
- function compileLookupVerb(lookup, noun, source, prefixes) {
204
+ function compileLookupVerb(lookup, noun, source, prefixes, tierScope) {
178
205
  // Derive-by-default: every lookup completes its `<name>` from the pack index
179
206
  // (empty type = any, the reader handles it), UNLESS the pack opts out
180
207
  // (`completion.enabled:false`). `match`/`minChars` tune the derived heuristic.
@@ -206,17 +233,51 @@ function compileLookupVerb(lookup, noun, source, prefixes) {
206
233
  path: [noun, "lookup"],
207
234
  summary: lookup.description ?? `Look up ${noun} details by name, IRI, or glob.`,
208
235
  ...(lookup.toolDescription ? { doc: lookup.toolDescription } : {}),
209
- params: [nameParam],
236
+ params: [nameParam, ...tierParams(tierScope)],
210
237
  output: { formatters: lookupFormatters(lookup, prefixes) },
211
- examples: [{ cmd: `${BIN_NAME} ${noun} lookup <name>` }],
238
+ examples: [
239
+ { cmd: `${BIN_NAME} ${noun} lookup <name>` },
240
+ ...(tierScope
241
+ ? [
242
+ {
243
+ cmd: `${BIN_NAME} ${noun} lookup --tier all <name>`,
244
+ note: "every tier, not just the ones in scope",
245
+ },
246
+ ]
247
+ : []),
248
+ ],
212
249
  ...(lookup.disclosure
213
250
  ? { disclosure: disclosureSpec(lookup.disclosure) }
214
251
  : {}),
215
252
  capability: READ_CAPABILITY,
216
- run: (params, rt) => runBodies().then((m) => m.makeLookupRun(lookup, noun, source, prefixes)(params, rt)),
253
+ run: (params, rt) => runBodies().then((m) => m.makeLookupRun(lookup, noun, source, prefixes, tierScope)(params, rt)),
217
254
  };
218
255
  return asVerb(verb);
219
256
  }
257
+ /**
258
+ * The `--tier` parameter a TIERED noun's reads carry (`tier` over MCP).
259
+ *
260
+ * Kernel-added, like the page: being tiered is declared, but the argument that
261
+ * steers the scope is the kernel's to name — one spelling across every tiered
262
+ * noun, so an agent that learned `--tier` on `block list` can use it on
263
+ * `concept list` without asking. The help text names the default and the
264
+ * escape, because a scope a caller cannot see is exactly the hidden behaviour
265
+ * CONSTITUTION §VI rules out.
266
+ *
267
+ * Not `repeatable`: a repeated `--tier` would be two chains, and the scope is
268
+ * one chain. The run body refuses an array rather than quietly taking the last.
269
+ */
270
+ function tierParams(tierScope) {
271
+ if (!tierScope)
272
+ return [];
273
+ return [
274
+ {
275
+ kind: "string",
276
+ name: TIER_PARAM,
277
+ doc: `Read this tier and its ancestors (default: the top-level tiers; "${EVERY_TIER}" for every tier).`,
278
+ },
279
+ ];
280
+ }
220
281
  /** Compile the `sample` verb (N random exemplars at the highest level). */
221
282
  function compileSampleVerb(lookup, noun, source, prefixes) {
222
283
  const defaultCount = sampleDefaultCount(lookup);
@@ -258,6 +319,29 @@ function disclosureSpec(disclosure) {
258
319
  default: disclosure?.default ?? levels[0] ?? "summary",
259
320
  };
260
321
  }
322
+ /**
323
+ * The page parameters EVERY list-shaped verb carries — `list` and every extra
324
+ * verb alike.
325
+ *
326
+ * Not declared per story, and not declarable: a page is a property of a
327
+ * list-shaped read, so a story that forgot to declare one would be the one
328
+ * answer an agent could not bound. The default is named in the help text
329
+ * because a cap a caller cannot see is exactly the hidden behaviour
330
+ * CONSTITUTION §VI rules out — the number a caller gets when they pass nothing
331
+ * has to be readable in `--help`.
332
+ */
333
+ const PAGE_PARAMS = [
334
+ {
335
+ kind: "number",
336
+ name: "limit",
337
+ doc: `Maximum rows to return, 1 to ${MAX_LIST_WINDOW} (default ${DEFAULT_LIST_LIMIT}).`,
338
+ },
339
+ {
340
+ kind: "string",
341
+ name: "after",
342
+ doc: "Continue from a previous page: the cursor that page reported.",
343
+ },
344
+ ];
261
345
  /** Project declared filters onto verb params (enum for a value set, else string). */
262
346
  function projectFilters(filters) {
263
347
  return (filters ?? []).map((filter) => {
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../../src/kernel/packs/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../../src/kernel/packs/compile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * The cursor a caller spends to ask for the page after this one.
3
+ *
4
+ * WHY AN OFFSET. The candidate alternative is a keyset cursor encoding the last
5
+ * row's ordering key, which does not drift when the store changes underneath a
6
+ * caller. It cannot be general, and `block list` is the counterexample: it
7
+ * orders by `?tierRank`, a variable its SELECT does not project, so the
8
+ * ordering key is not in the rows at all — and a pagination mechanism that
9
+ * works only for stories whose ordering keys happen to be columns is not a
10
+ * pagination mechanism. An offset needs nothing from the rows.
11
+ *
12
+ * The drift an offset admits is bounded by what the store is: a read-only,
13
+ * content-addressed pack that changes only when `sources update` rebuilds it.
14
+ * Between two pages of one browse there is no writer.
15
+ *
16
+ * What an offset cannot survive is the caller changing the QUESTION between
17
+ * pages — different filters, a different search term, another story — which is
18
+ * why the cursor carries a fingerprint of the read it was issued for and
19
+ * refuses to be spent on another. That is the failure worth catching, and the
20
+ * one a bare integer would have answered wrongly and in silence.
21
+ *
22
+ * The encoding is opaque on purpose: a caller who cannot read it cannot come to
23
+ * depend on it, so the day a story needs a keyset cursor the cursor's contents
24
+ * change and its contract does not.
25
+ *
26
+ * The fingerprint does not cover the OFFSET, and cannot: a cursor is a token
27
+ * this build issued, not a signed one, so its `o` is editable by anyone who
28
+ * base64-decodes it. That is why the offset is BOUNDED here as well as parsed
29
+ * here — an `o` of 2^53 is a legal JSON integer that the store answers with a
30
+ * raw parse error, so {@link ./paging.MAX_LIST_WINDOW} is checked before the
31
+ * number can reach a query.
32
+ */
33
+ import { createHash } from "node:crypto";
34
+ import { PragmaError } from "../error/index.js";
35
+ import { MAX_LIST_WINDOW } from "./paging.js";
36
+ /** The cursor encoding's own version, so a future keyset form is tellable apart. */
37
+ const CURSOR_VERSION = 1;
38
+ /**
39
+ * The identity of the read a cursor belongs to — the author query and the
40
+ * arguments that narrow it, hashed short.
41
+ *
42
+ * Each part is LENGTH-PREFIXED rather than merely joined. A separator is only
43
+ * unambiguous if it cannot occur inside a part, and these parts are SPARQL
44
+ * text and JSON — there is no such character. Two different argument lists
45
+ * hashing the same would let a cursor be spent on a read it was not issued
46
+ * for, which is the single thing this function exists to prevent.
47
+ *
48
+ * @param parts - Everything that decides which rows the read returns.
49
+ * @returns A short, stable fingerprint.
50
+ */
51
+ export function pageFingerprint(parts) {
52
+ const hash = createHash("sha256");
53
+ for (const part of parts)
54
+ hash.update(`${part.length}:${part}`);
55
+ return hash.digest("base64url").slice(0, 12);
56
+ }
57
+ /**
58
+ * Encode the cursor that asks for the rows after this page.
59
+ *
60
+ * @param offset - The row index the next page starts at.
61
+ * @param fingerprint - The read this cursor may be spent on.
62
+ * @returns An opaque, URL-safe token.
63
+ */
64
+ export function encodeCursor(offset, fingerprint) {
65
+ const payload = JSON.stringify({
66
+ v: CURSOR_VERSION,
67
+ o: offset,
68
+ q: fingerprint,
69
+ });
70
+ return Buffer.from(payload, "utf8").toString("base64url");
71
+ }
72
+ /**
73
+ * Read an `--after`/`after` cursor back into an offset.
74
+ *
75
+ * @param provided - The raw argument, if any.
76
+ * @param fingerprint - The read the cursor must have been issued for.
77
+ * @returns The row index to start at (0 when no cursor was given).
78
+ * @throws PragmaError INVALID_INPUT when the token is not a cursor this build
79
+ * issued, or was issued for a different read — a mismatch answered with rows
80
+ * would be a page of the wrong question, with nothing to show it.
81
+ */
82
+ export function readCursor(provided, fingerprint) {
83
+ if (provided === undefined)
84
+ return 0;
85
+ const decoded = decodeCursor(provided);
86
+ if (!decoded) {
87
+ throw PragmaError.invalidInput("after", String(provided), {
88
+ recovery: {
89
+ message: "--after takes the cursor from a previous page of this same read; run the read without it to start from the first page.",
90
+ },
91
+ });
92
+ }
93
+ if (decoded.q !== fingerprint) {
94
+ throw PragmaError.invalidInput("after", String(provided), {
95
+ recovery: {
96
+ message: "This cursor was issued for a different read — the filters or the search term changed. Run the new read without --after to start from its first page.",
97
+ },
98
+ });
99
+ }
100
+ return decoded.o;
101
+ }
102
+ /**
103
+ * The cursor payload, or `undefined` for anything that is not one.
104
+ *
105
+ * The offset is checked against {@link MAX_LIST_WINDOW} here rather than at the
106
+ * store: an unbounded `o` is emitted straight into the generated query's
107
+ * `OFFSET`, where a number the engine cannot express comes back as a parse
108
+ * error dressed as an internal one. Refused here, a hand-edited offset is the
109
+ * same calm INVALID_INPUT as every other malformed cursor.
110
+ */
111
+ function decodeCursor(provided) {
112
+ if (typeof provided !== "string" || provided === "")
113
+ return undefined;
114
+ let parsed;
115
+ try {
116
+ parsed = JSON.parse(Buffer.from(provided, "base64url").toString("utf8"));
117
+ }
118
+ catch {
119
+ return undefined;
120
+ }
121
+ if (typeof parsed !== "object" || parsed === null)
122
+ return undefined;
123
+ const payload = parsed;
124
+ if (payload.v !== CURSOR_VERSION)
125
+ return undefined;
126
+ if (!Number.isInteger(payload.o))
127
+ return undefined;
128
+ const offset = payload.o;
129
+ if (offset < 0 || offset > MAX_LIST_WINDOW)
130
+ return undefined;
131
+ if (typeof payload.q !== "string")
132
+ return undefined;
133
+ return { o: offset, q: payload.q };
134
+ }
135
+ //# sourceMappingURL=cursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../../src/kernel/packs/cursor.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@
24
24
  */
25
25
  import { PragmaError } from "../../error/index.js";
26
26
  import { activeExpands, activeFields } from "./../sparql/buildLookupQuery.js";
27
- import { isNestedExpand } from "../types.js";
27
+ import { expandIsSparql, isNestedExpand } from "../types.js";
28
28
  import { MAX_PAGE_SIZE, pluralize, stripVerbPrefix } from "./nameMap.js";
29
29
  /** Local name of an IRI (`…#Thing`/`…/Thing` → `Thing`). */
30
30
  function extractLocalName(uri) {
@@ -238,7 +238,14 @@ export function buildLookupDocument(lookup, schema, source, level) {
238
238
  }
239
239
  const selections = [
240
240
  ...activeFields(lookup, level).map((field, index) => buildScopedSelection(schema, fragmentType, (container) => buildValueSelection(container, field, `lookup.fields/sections[${index}]`, source))),
241
- ...activeExpands(lookup, level).map((expand, index) => buildScopedSelection(schema, fragmentType, (container) => buildCollectionSelection(container, expand, `lookup.expand[${index}]`, source))),
241
+ // An expand that declares the SPARQL lane is not this document's — the
242
+ // entity fetcher runs its sub-SELECT beside this query and merges the rows
243
+ // in. Skipped rather than attempted: its terms are chosen for a lane where
244
+ // property paths read and every defined property is reachable, and asking
245
+ // for them here would either drop them in silence or raise.
246
+ ...activeExpands(lookup, level)
247
+ .filter((expand) => !expandIsSparql(lookup, expand))
248
+ .map((expand, index) => buildScopedSelection(schema, fragmentType, (container) => buildCollectionSelection(container, expand, `lookup.expand[${index}]`, source))),
242
249
  ].filter((selection) => selection !== undefined);
243
250
  const body = selections.map((selection) => ` ${selection.text}`);
244
251
  const text = [
@@ -1 +1 @@
1
- {"version":3,"file":"buildLookupDocument.js","sourceRoot":"","sources":["../../../../../src/kernel/packs/graphql/buildLookupDocument.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildLookupDocument.js","sourceRoot":"","sources":["../../../../../src/kernel/packs/graphql/buildLookupDocument.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * The page a list-shaped verb answers with: how many rows, and where from.
3
+ *
4
+ * WHY A DEFAULT AT ALL. Before this, no list carried a cap: every declared
5
+ * story returned its whole population on every call, and an agent calling one
6
+ * speculatively paid for all of it. A default is what makes the cap real — a
7
+ * `--limit` nobody passes bounds nothing.
8
+ *
9
+ * WHY THIS DEFAULT. It answers to TWO constraints, and it is the largest number
10
+ * that satisfies both.
11
+ *
12
+ * From below: it stays above the row count of every story that already existed
13
+ * when the page arrived (the largest, `block list`, is 252), so no answer that
14
+ * was whole before the pair is truncated by it now.
15
+ *
16
+ * From above: the payload budget bounds ONE answer, and the suite that enforces
17
+ * it requires the largest default answer to sit under 0.8 of the ceiling —
18
+ * 100,000 bytes — so a ceiling nothing approaches keeps catching things and one
19
+ * sitting on the measurement does not flake. The fattest row any declared story
20
+ * serialises is `token values` at 244 bytes, so 300 rows of it is about 73 KB
21
+ * and the gate holds with room to spare.
22
+ *
23
+ * The first constraint alone gave 500, which is what this was, and the second
24
+ * retired it: the token-graph stories brought populations of 745, 1,156, 1,237
25
+ * and 1,746 rows, and at 500 rows `token values` measured 121,776 bytes —
26
+ * inside the ceiling and past the gate, with no headroom left. So the number is
27
+ * now derived from the budget rather than from a population that no longer
28
+ * bounds anything.
29
+ *
30
+ * It is still a KERNEL default and not a per-story one — a story has no
31
+ * page-size knob, so there is exactly one number to know, and it is written
32
+ * here, in the help text of every list verb, and in `BUDGETS.md` beside the
33
+ * payload it bounds. A per-story knob is what to reach for when one story's
34
+ * rows are so much fatter than the rest that one number cannot serve both;
35
+ * that is not true of any story today.
36
+ *
37
+ * WHY A CEILING AS WELL. The page's two integers are emitted into the query
38
+ * ({@link ./sparql/buildListQuery}), and the store's own `LIMIT`/`OFFSET` must
39
+ * fit a 32-bit integer while `Number.isInteger` admits anything up to 2^53. So
40
+ * `--limit 9007199254740991` — the natural "give me everything" an agent
41
+ * writes — used to reach the engine and come back as a raw parse error wrapped
42
+ * in INTERNAL_ERROR and "report this issue", from a flag whose own help invited
43
+ * a larger number. {@link MAX_LIST_WINDOW} is where both halves of the window
44
+ * are refused instead, with the typed INVALID_INPUT the rest of the pair uses
45
+ * and the ceiling named in the message.
46
+ *
47
+ * The cursor that carries a caller from one page to the next is
48
+ * {@link ./cursor}, kept apart because it hashes and this module is reached
49
+ * from the compiler on the storeless `--help` path. It bounds its own offset by
50
+ * the same ceiling, from here.
51
+ */
52
+ import { PragmaError } from "../error/index.js";
53
+ /**
54
+ * Rows a list-shaped verb returns when the caller names no `--limit`.
55
+ *
56
+ * Derived from the payload budget and from the populations that predate the
57
+ * page — see the module note for both halves of the arithmetic.
58
+ */
59
+ export const DEFAULT_LIST_LIMIT = 300;
60
+ /**
61
+ * The largest `--limit`, and the largest cursor offset, the kernel admits.
62
+ *
63
+ * NOT the engine's limit, which is an implementation detail of the pinned store
64
+ * and would make the refusal a fact about oxigraph. It comes from the payload
65
+ * budget instead, which is a fact about the answer: `BUDGETS.md`'s
66
+ * `LIST_PAYLOAD_BUDGET_BYTES` is 125,000, and the narrowest row a story can
67
+ * possibly serialise is `{}` plus its separating comma — three bytes — so no
68
+ * answer of more than 41,666 rows can be inside the budget whatever a story's
69
+ * columns are. A limit that cannot produce a legal answer is not a legal limit;
70
+ * rounded down to a number a message can carry, that is 40,000. It stays 22×
71
+ * the largest population the distribution ships (1,746) and 133× the default
72
+ * page, so it refuses nothing a caller could want today.
73
+ *
74
+ * The cursor's OFFSET takes the same ceiling, for a reason of its own: an offset
75
+ * is a count of rows already answered, and a walk that has passed 40,000 of
76
+ * them is walking a population more than two orders of magnitude larger than
77
+ * any single legal answer — the point at which the cursor to spend is a keyset
78
+ * cursor, which is what the encoding's `v` field exists to allow. Until such a
79
+ * story exists, an offset that large is a hand-built or tampered token, and one
80
+ * typed refusal is the honest answer to both.
81
+ *
82
+ * `listBudget.shipped.exec.test.ts` asserts the arithmetic tying this to the
83
+ * budget, so the two cannot drift apart in silence.
84
+ */
85
+ export const MAX_LIST_WINDOW = 40_000;
86
+ /**
87
+ * Read the `--limit`/`limit` argument.
88
+ *
89
+ * @param provided - The raw argument, if any.
90
+ * @returns The requested limit, or {@link DEFAULT_LIST_LIMIT}.
91
+ * @throws PragmaError INVALID_INPUT for anything that is not a whole number
92
+ * between 1 and {@link MAX_LIST_WINDOW}. The ceiling is named in the message:
93
+ * a refusal that does not say what it would accept is a guessing game.
94
+ */
95
+ export function readLimit(provided) {
96
+ if (provided === undefined)
97
+ return DEFAULT_LIST_LIMIT;
98
+ const value = typeof provided === "number" ? provided : Number(provided);
99
+ if (!Number.isInteger(value) || value < 1 || value > MAX_LIST_WINDOW) {
100
+ throw PragmaError.invalidInput("limit", String(provided), {
101
+ recovery: {
102
+ message: `--limit takes a whole number of rows, 1 to ${MAX_LIST_WINDOW} (default ${DEFAULT_LIST_LIMIT}).`,
103
+ },
104
+ });
105
+ }
106
+ return value;
107
+ }
108
+ //# sourceMappingURL=paging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paging.js","sourceRoot":"","sources":["../../../../src/kernel/packs/paging.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,QAAiB;IACzC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,kBAAkB,CAAC;IACtD,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,eAAe,EAAE,CAAC;QACrE,MAAM,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE;YACxD,QAAQ,EAAE;gBACR,OAAO,EAAE,8CAA8C,eAAe,aAAa,kBAAkB,IAAI;aAC1G;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}