@canonical/pragma-cli 0.34.0 → 0.35.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.
- package/README.md +153 -30
- package/dist/.build-ok +0 -0
- package/dist/package.json +83 -0
- package/dist/pragma.conf.js +814 -0
- package/dist/pragma.conf.js.map +1 -0
- package/dist/src/bin.js +356 -0
- package/dist/src/bin.js.map +1 -0
- package/dist/src/capabilities/capabilities/capabilities.render.js +70 -0
- package/dist/src/capabilities/capabilities/capabilities.render.js.map +1 -0
- package/dist/src/capabilities/capabilities/capabilities.verb.js +59 -0
- package/dist/src/capabilities/capabilities/capabilities.verb.js.map +1 -0
- package/dist/src/capabilities/capabilities/catalog.js +130 -0
- package/dist/src/capabilities/capabilities/catalog.js.map +1 -0
- package/dist/src/capabilities/capabilities/hints.js +195 -0
- package/dist/src/capabilities/capabilities/hints.js.map +1 -0
- package/dist/src/capabilities/capabilities/index.js +11 -0
- package/dist/src/capabilities/capabilities/index.js.map +1 -0
- package/dist/src/capabilities/capabilities/types.js +11 -0
- package/dist/src/capabilities/capabilities/types.js.map +1 -0
- package/dist/src/capabilities/colophon/collectColophon.js +83 -0
- package/dist/src/capabilities/colophon/collectColophon.js.map +1 -0
- package/dist/src/capabilities/colophon/colophon.render.js +59 -0
- package/dist/src/capabilities/colophon/colophon.render.js.map +1 -0
- package/dist/src/capabilities/colophon/colophon.verb.js +43 -0
- package/dist/src/capabilities/colophon/colophon.verb.js.map +1 -0
- package/dist/src/capabilities/colophon/index.js +5 -0
- package/dist/src/capabilities/colophon/index.js.map +1 -0
- package/dist/src/capabilities/colophon/markdownTerminal.js +90 -0
- package/dist/src/capabilities/colophon/markdownTerminal.js.map +1 -0
- package/dist/src/capabilities/colophon/types.js +10 -0
- package/dist/src/capabilities/colophon/types.js.map +1 -0
- package/dist/src/capabilities/config/collectConfigShow.js +59 -0
- package/dist/src/capabilities/config/collectConfigShow.js.map +1 -0
- package/dist/src/capabilities/config/field.render.js +22 -0
- package/dist/src/capabilities/config/field.render.js.map +1 -0
- package/dist/src/capabilities/config/fields.js +46 -0
- package/dist/src/capabilities/config/fields.js.map +1 -0
- package/dist/src/capabilities/config/get.verb.js +61 -0
- package/dist/src/capabilities/config/get.verb.js.map +1 -0
- package/dist/src/capabilities/config/index.js +5 -0
- package/dist/src/capabilities/config/index.js.map +1 -0
- package/dist/src/capabilities/config/runField.js +59 -0
- package/dist/src/capabilities/config/runField.js.map +1 -0
- package/dist/src/capabilities/config/runGet.js +28 -0
- package/dist/src/capabilities/config/runGet.js.map +1 -0
- package/dist/src/capabilities/config/runSet.js +53 -0
- package/dist/src/capabilities/config/runSet.js.map +1 -0
- package/dist/src/capabilities/config/set.verb.js +66 -0
- package/dist/src/capabilities/config/set.verb.js.map +1 -0
- package/dist/src/capabilities/config/show.render.js +84 -0
- package/dist/src/capabilities/config/show.render.js.map +1 -0
- package/dist/src/capabilities/config/show.verb.js +44 -0
- package/dist/src/capabilities/config/show.verb.js.map +1 -0
- package/dist/src/capabilities/config/types.js +5 -0
- package/dist/src/capabilities/config/types.js.map +1 -0
- package/dist/src/capabilities/config/unset.verb.js +49 -0
- package/dist/src/capabilities/config/unset.verb.js.map +1 -0
- package/dist/src/capabilities/create/cliProjection.js +195 -0
- package/dist/src/capabilities/create/cliProjection.js.map +1 -0
- package/dist/src/capabilities/create/constants.js +47 -0
- package/dist/src/capabilities/create/constants.js.map +1 -0
- package/dist/src/capabilities/create/create.render.js +100 -0
- package/dist/src/capabilities/create/create.render.js.map +1 -0
- package/dist/src/capabilities/create/create.verb.js +438 -0
- package/dist/src/capabilities/create/create.verb.js.map +1 -0
- package/dist/src/capabilities/create/createHelp.js +47 -0
- package/dist/src/capabilities/create/createHelp.js.map +1 -0
- package/dist/src/capabilities/create/createSurface.generated.js +394 -0
- package/dist/src/capabilities/create/createSurface.generated.js.map +1 -0
- package/dist/src/capabilities/create/generatorToVerbSpec.js +106 -0
- package/dist/src/capabilities/create/generatorToVerbSpec.js.map +1 -0
- package/dist/src/capabilities/create/index.js +18 -0
- package/dist/src/capabilities/create/index.js.map +1 -0
- package/dist/src/capabilities/create/messages.js +16 -0
- package/dist/src/capabilities/create/messages.js.map +1 -0
- package/dist/src/capabilities/create/mount.js +293 -0
- package/dist/src/capabilities/create/mount.js.map +1 -0
- package/dist/src/capabilities/create/pathJail.js +65 -0
- package/dist/src/capabilities/create/pathJail.js.map +1 -0
- package/dist/src/capabilities/create/pickGenerator.js +53 -0
- package/dist/src/capabilities/create/pickGenerator.js.map +1 -0
- package/dist/src/capabilities/create/types.js +2 -0
- package/dist/src/capabilities/create/types.js.map +1 -0
- package/dist/src/capabilities/distribution.js +40 -0
- package/dist/src/capabilities/distribution.js.map +1 -0
- package/dist/src/capabilities/doctor/checks/checkKeStore.js +40 -0
- package/dist/src/capabilities/doctor/checks/checkKeStore.js.map +1 -0
- package/dist/src/capabilities/doctor/checks/checkNodeVersion.js +21 -0
- package/dist/src/capabilities/doctor/checks/checkNodeVersion.js.map +1 -0
- package/dist/src/capabilities/doctor/checks/checkPackageRefs.js +92 -0
- package/dist/src/capabilities/doctor/checks/checkPackageRefs.js.map +1 -0
- package/dist/src/capabilities/doctor/checks/checkPragmaVersion.js +19 -0
- package/dist/src/capabilities/doctor/checks/checkPragmaVersion.js.map +1 -0
- package/dist/src/capabilities/doctor/checks/checkShellCompletions.js +199 -0
- package/dist/src/capabilities/doctor/checks/checkShellCompletions.js.map +1 -0
- package/dist/src/capabilities/doctor/checks/index.js +27 -0
- package/dist/src/capabilities/doctor/checks/index.js.map +1 -0
- package/dist/src/capabilities/doctor/checks/mcpCommand.js +57 -0
- package/dist/src/capabilities/doctor/checks/mcpCommand.js.map +1 -0
- package/dist/src/capabilities/doctor/checks/targetHealth.js +205 -0
- package/dist/src/capabilities/doctor/checks/targetHealth.js.map +1 -0
- package/dist/src/capabilities/doctor/doctor.render.js +185 -0
- package/dist/src/capabilities/doctor/doctor.render.js.map +1 -0
- package/dist/src/capabilities/doctor/doctor.verb.js +45 -0
- package/dist/src/capabilities/doctor/doctor.verb.js.map +1 -0
- package/dist/src/capabilities/doctor/index.js +5 -0
- package/dist/src/capabilities/doctor/index.js.map +1 -0
- package/dist/src/capabilities/doctor/runChecks.js +83 -0
- package/dist/src/capabilities/doctor/runChecks.js.map +1 -0
- package/dist/src/capabilities/doctor/types.js +5 -0
- package/dist/src/capabilities/doctor/types.js.map +1 -0
- package/dist/src/capabilities/graph/index.js +19 -0
- package/dist/src/capabilities/graph/index.js.map +1 -0
- package/dist/src/capabilities/graph/inspect.render.js +76 -0
- package/dist/src/capabilities/graph/inspect.render.js.map +1 -0
- package/dist/src/capabilities/graph/inspect.verb.js +53 -0
- package/dist/src/capabilities/graph/inspect.verb.js.map +1 -0
- package/dist/src/capabilities/graph/query.render.js +73 -0
- package/dist/src/capabilities/graph/query.render.js.map +1 -0
- package/dist/src/capabilities/graph/query.verb.js +49 -0
- package/dist/src/capabilities/graph/query.verb.js.map +1 -0
- package/dist/src/capabilities/graph/runQuery.js +41 -0
- package/dist/src/capabilities/graph/runQuery.js.map +1 -0
- package/dist/src/capabilities/index.js +56 -0
- package/dist/src/capabilities/index.js.map +1 -0
- package/dist/src/capabilities/info/collectInfo.js +66 -0
- package/dist/src/capabilities/info/collectInfo.js.map +1 -0
- package/dist/src/capabilities/info/index.js +5 -0
- package/dist/src/capabilities/info/index.js.map +1 -0
- package/dist/src/capabilities/info/info.render.js +53 -0
- package/dist/src/capabilities/info/info.render.js.map +1 -0
- package/dist/src/capabilities/info/info.verb.js +42 -0
- package/dist/src/capabilities/info/info.verb.js.map +1 -0
- package/dist/src/capabilities/info/types.js +5 -0
- package/dist/src/capabilities/info/types.js.map +1 -0
- package/dist/src/capabilities/meta/complete.verb.js +43 -0
- package/dist/src/capabilities/meta/complete.verb.js.map +1 -0
- package/dist/src/capabilities/meta/index.js +13 -0
- package/dist/src/capabilities/meta/index.js.map +1 -0
- package/dist/src/capabilities/meta/mcp.verb.js +34 -0
- package/dist/src/capabilities/meta/mcp.verb.js.map +1 -0
- package/dist/src/capabilities/ontology/index.js +21 -0
- package/dist/src/capabilities/ontology/index.js.map +1 -0
- package/dist/src/capabilities/ontology/queries.js +123 -0
- package/dist/src/capabilities/ontology/queries.js.map +1 -0
- package/dist/src/capabilities/ontology/render.js +66 -0
- package/dist/src/capabilities/ontology/render.js.map +1 -0
- package/dist/src/capabilities/ontology/verbs.js +181 -0
- package/dist/src/capabilities/ontology/verbs.js.map +1 -0
- package/dist/src/capabilities/prompt/index.js +16 -0
- package/dist/src/capabilities/prompt/index.js.map +1 -0
- package/dist/src/capabilities/prompt/prompt.render.js +78 -0
- package/dist/src/capabilities/prompt/prompt.render.js.map +1 -0
- package/dist/src/capabilities/prompt/types.js +10 -0
- package/dist/src/capabilities/prompt/types.js.map +1 -0
- package/dist/src/capabilities/prompt/verbs.js +93 -0
- package/dist/src/capabilities/prompt/verbs.js.map +1 -0
- package/dist/src/capabilities/resources/index.js +10 -0
- package/dist/src/capabilities/resources/index.js.map +1 -0
- package/dist/src/capabilities/resources/provider.js +423 -0
- package/dist/src/capabilities/resources/provider.js.map +1 -0
- package/dist/src/capabilities/setup/buildPlan.js +168 -0
- package/dist/src/capabilities/setup/buildPlan.js.map +1 -0
- package/dist/src/capabilities/setup/index.js +5 -0
- package/dist/src/capabilities/setup/index.js.map +1 -0
- package/dist/src/capabilities/setup/mode.js +53 -0
- package/dist/src/capabilities/setup/mode.js.map +1 -0
- package/dist/src/capabilities/setup/operations/index.js +39 -0
- package/dist/src/capabilities/setup/operations/index.js.map +1 -0
- package/dist/src/capabilities/setup/operations/setupCompletions.js +160 -0
- package/dist/src/capabilities/setup/operations/setupCompletions.js.map +1 -0
- package/dist/src/capabilities/setup/operations/setupConfig.js +101 -0
- package/dist/src/capabilities/setup/operations/setupConfig.js.map +1 -0
- package/dist/src/capabilities/setup/operations/setupGenerator.js +343 -0
- package/dist/src/capabilities/setup/operations/setupGenerator.js.map +1 -0
- package/dist/src/capabilities/setup/operations/setupLsp.js +277 -0
- package/dist/src/capabilities/setup/operations/setupLsp.js.map +1 -0
- package/dist/src/capabilities/setup/operations/setupMcp.js +207 -0
- package/dist/src/capabilities/setup/operations/setupMcp.js.map +1 -0
- package/dist/src/capabilities/setup/operations/setupSkills.js +316 -0
- package/dist/src/capabilities/setup/operations/setupSkills.js.map +1 -0
- package/dist/src/capabilities/setup/plan.js +128 -0
- package/dist/src/capabilities/setup/plan.js.map +1 -0
- package/dist/src/capabilities/setup/plan.render.js +193 -0
- package/dist/src/capabilities/setup/plan.render.js.map +1 -0
- package/dist/src/capabilities/setup/setup.render.js +54 -0
- package/dist/src/capabilities/setup/setup.render.js.map +1 -0
- package/dist/src/capabilities/setup/setup.verb.js +334 -0
- package/dist/src/capabilities/setup/setup.verb.js.map +1 -0
- package/dist/src/capabilities/setup/shell.js +196 -0
- package/dist/src/capabilities/setup/shell.js.map +1 -0
- package/dist/src/capabilities/setup/targets.js +263 -0
- package/dist/src/capabilities/setup/targets.js.map +1 -0
- package/dist/src/capabilities/setup/types.js +5 -0
- package/dist/src/capabilities/setup/types.js.map +1 -0
- package/dist/src/capabilities/shared/assertExecOk.js +137 -0
- package/dist/src/capabilities/shared/assertExecOk.js.map +1 -0
- package/dist/src/capabilities/shared/bands.js +16 -0
- package/dist/src/capabilities/shared/bands.js.map +1 -0
- package/dist/src/capabilities/shared/index.js +26 -0
- package/dist/src/capabilities/shared/index.js.map +1 -0
- package/dist/src/capabilities/shared/packageManager.js +103 -0
- package/dist/src/capabilities/shared/packageManager.js.map +1 -0
- package/dist/src/capabilities/shared/registry.js +55 -0
- package/dist/src/capabilities/shared/registry.js.map +1 -0
- package/dist/src/capabilities/skill/discover.js +195 -0
- package/dist/src/capabilities/skill/discover.js.map +1 -0
- package/dist/src/capabilities/skill/index.js +10 -0
- package/dist/src/capabilities/skill/index.js.map +1 -0
- package/dist/src/capabilities/skill/render.js +49 -0
- package/dist/src/capabilities/skill/render.js.map +1 -0
- package/dist/src/capabilities/skill/verbs.js +83 -0
- package/dist/src/capabilities/skill/verbs.js.map +1 -0
- package/dist/src/capabilities/sources/collectStatus.js +103 -0
- package/dist/src/capabilities/sources/collectStatus.js.map +1 -0
- package/dist/src/capabilities/sources/index.js +13 -0
- package/dist/src/capabilities/sources/index.js.map +1 -0
- package/dist/src/capabilities/sources/installSkills.js +167 -0
- package/dist/src/capabilities/sources/installSkills.js.map +1 -0
- package/dist/src/capabilities/sources/runUpdate.js +394 -0
- package/dist/src/capabilities/sources/runUpdate.js.map +1 -0
- package/dist/src/capabilities/sources/status.render.js +64 -0
- package/dist/src/capabilities/sources/status.render.js.map +1 -0
- package/dist/src/capabilities/sources/status.verb.js +40 -0
- package/dist/src/capabilities/sources/status.verb.js.map +1 -0
- package/dist/src/capabilities/sources/types.js +6 -0
- package/dist/src/capabilities/sources/types.js.map +1 -0
- package/dist/src/capabilities/sources/update.render.js +34 -0
- package/dist/src/capabilities/sources/update.render.js.map +1 -0
- package/dist/src/capabilities/sources/update.verb.js +55 -0
- package/dist/src/capabilities/sources/update.verb.js.map +1 -0
- package/dist/src/capabilities/upgrade/index.js +5 -0
- package/dist/src/capabilities/upgrade/index.js.map +1 -0
- package/dist/src/capabilities/upgrade/runUpgrade.js +99 -0
- package/dist/src/capabilities/upgrade/runUpgrade.js.map +1 -0
- package/dist/src/capabilities/upgrade/types.js +5 -0
- package/dist/src/capabilities/upgrade/types.js.map +1 -0
- package/dist/src/capabilities/upgrade/upgrade.render.js +44 -0
- package/dist/src/capabilities/upgrade/upgrade.render.js.map +1 -0
- package/dist/src/capabilities/upgrade/upgrade.verb.js +52 -0
- package/dist/src/capabilities/upgrade/upgrade.verb.js.map +1 -0
- package/dist/src/capabilities/version/index.js +10 -0
- package/dist/src/capabilities/version/index.js.map +1 -0
- package/dist/src/capabilities/version/version.verb.js +36 -0
- package/dist/src/capabilities/version/version.verb.js.map +1 -0
- package/dist/src/constants.js +82 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/index.js +12 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/kernel/completion/complete.js +66 -0
- package/dist/src/kernel/completion/complete.js.map +1 -0
- package/dist/src/kernel/completion/emitScripts.js +92 -0
- package/dist/src/kernel/completion/emitScripts.js.map +1 -0
- package/dist/src/kernel/completion/entitySource.js +285 -0
- package/dist/src/kernel/completion/entitySource.js.map +1 -0
- package/dist/src/kernel/completion/index.js +14 -0
- package/dist/src/kernel/completion/index.js.map +1 -0
- package/dist/src/kernel/completion/model.js +301 -0
- package/dist/src/kernel/completion/model.js.map +1 -0
- package/dist/src/kernel/completion/parse.js +253 -0
- package/dist/src/kernel/completion/parse.js.map +1 -0
- package/dist/src/kernel/completion/rank.js +101 -0
- package/dist/src/kernel/completion/rank.js.map +1 -0
- package/dist/src/kernel/completion/resolve.js +100 -0
- package/dist/src/kernel/completion/resolve.js.map +1 -0
- package/dist/src/kernel/completion/templates/bash.js +209 -0
- package/dist/src/kernel/completion/templates/bash.js.map +1 -0
- package/dist/src/kernel/completion/templates/fish.js +214 -0
- package/dist/src/kernel/completion/templates/fish.js.map +1 -0
- package/dist/src/kernel/completion/templates/index.js +23 -0
- package/dist/src/kernel/completion/templates/index.js.map +1 -0
- package/dist/src/kernel/completion/templates/shared.js +98 -0
- package/dist/src/kernel/completion/templates/shared.js.map +1 -0
- package/dist/src/kernel/completion/templates/zsh.js +201 -0
- package/dist/src/kernel/completion/templates/zsh.js.map +1 -0
- package/dist/src/kernel/completion/types.js +13 -0
- package/dist/src/kernel/completion/types.js.map +1 -0
- package/dist/src/kernel/config/defaults.js +17 -0
- package/dist/src/kernel/config/defaults.js.map +1 -0
- package/dist/src/kernel/config/evaluateProjectConfig.js +126 -0
- package/dist/src/kernel/config/evaluateProjectConfig.js.map +1 -0
- package/dist/src/kernel/config/findProjectConfig.js +43 -0
- package/dist/src/kernel/config/findProjectConfig.js.map +1 -0
- package/dist/src/kernel/config/firstRun.js +34 -0
- package/dist/src/kernel/config/firstRun.js.map +1 -0
- package/dist/src/kernel/config/globalConfig.js +79 -0
- package/dist/src/kernel/config/globalConfig.js.map +1 -0
- package/dist/src/kernel/config/index.js +16 -0
- package/dist/src/kernel/config/index.js.map +1 -0
- package/dist/src/kernel/config/paths.js +35 -0
- package/dist/src/kernel/config/paths.js.map +1 -0
- package/dist/src/kernel/config/readConfig.js +78 -0
- package/dist/src/kernel/config/readConfig.js.map +1 -0
- package/dist/src/kernel/config/schema.js +130 -0
- package/dist/src/kernel/config/schema.js.map +1 -0
- package/dist/src/kernel/config/types.js +19 -0
- package/dist/src/kernel/config/types.js.map +1 -0
- package/dist/src/kernel/config/writeConfigField.js +59 -0
- package/dist/src/kernel/config/writeConfigField.js.map +1 -0
- package/dist/src/kernel/copy.js +43 -0
- package/dist/src/kernel/copy.js.map +1 -0
- package/dist/src/kernel/error/PragmaError.js +149 -0
- package/dist/src/kernel/error/PragmaError.js.map +1 -0
- package/dist/src/kernel/error/constants.js +40 -0
- package/dist/src/kernel/error/constants.js.map +1 -0
- package/dist/src/kernel/error/fromTaskError.js +96 -0
- package/dist/src/kernel/error/fromTaskError.js.map +1 -0
- package/dist/src/kernel/error/index.js +13 -0
- package/dist/src/kernel/error/index.js.map +1 -0
- package/dist/src/kernel/error/recovery.js +52 -0
- package/dist/src/kernel/error/recovery.js.map +1 -0
- package/dist/src/kernel/error/renderError.js +115 -0
- package/dist/src/kernel/error/renderError.js.map +1 -0
- package/dist/src/kernel/error/serialize.js +25 -0
- package/dist/src/kernel/error/serialize.js.map +1 -0
- package/dist/src/kernel/error/types.js +9 -0
- package/dist/src/kernel/error/types.js.map +1 -0
- package/dist/src/kernel/index.js +25 -0
- package/dist/src/kernel/index.js.map +1 -0
- package/dist/src/kernel/packs/collect.js +187 -0
- package/dist/src/kernel/packs/collect.js.map +1 -0
- package/dist/src/kernel/packs/compile.js +304 -0
- package/dist/src/kernel/packs/compile.js.map +1 -0
- package/dist/src/kernel/packs/disclosure.js +76 -0
- package/dist/src/kernel/packs/disclosure.js.map +1 -0
- package/dist/src/kernel/packs/glob.js +38 -0
- package/dist/src/kernel/packs/glob.js.map +1 -0
- package/dist/src/kernel/packs/graphql/buildLookupDocument.js +258 -0
- package/dist/src/kernel/packs/graphql/buildLookupDocument.js.map +1 -0
- package/dist/src/kernel/packs/graphql/fetchGraphqlLookup.js +157 -0
- package/dist/src/kernel/packs/graphql/fetchGraphqlLookup.js.map +1 -0
- package/dist/src/kernel/packs/graphql/index.js +20 -0
- package/dist/src/kernel/packs/graphql/index.js.map +1 -0
- package/dist/src/kernel/packs/graphql/nameMap.js +63 -0
- package/dist/src/kernel/packs/graphql/nameMap.js.map +1 -0
- package/dist/src/kernel/packs/index.js +34 -0
- package/dist/src/kernel/packs/index.js.map +1 -0
- package/dist/src/kernel/packs/iri.js +110 -0
- package/dist/src/kernel/packs/iri.js.map +1 -0
- package/dist/src/kernel/packs/renderPack.js +129 -0
- package/dist/src/kernel/packs/renderPack.js.map +1 -0
- package/dist/src/kernel/packs/resolveEntity.js +223 -0
- package/dist/src/kernel/packs/resolveEntity.js.map +1 -0
- package/dist/src/kernel/packs/runBodies.js +87 -0
- package/dist/src/kernel/packs/runBodies.js.map +1 -0
- package/dist/src/kernel/packs/sample.js +56 -0
- package/dist/src/kernel/packs/sample.js.map +1 -0
- package/dist/src/kernel/packs/schema.js +369 -0
- package/dist/src/kernel/packs/schema.js.map +1 -0
- package/dist/src/kernel/packs/sparql/applyFilters.js +68 -0
- package/dist/src/kernel/packs/sparql/applyFilters.js.map +1 -0
- package/dist/src/kernel/packs/sparql/applySearch.js +25 -0
- package/dist/src/kernel/packs/sparql/applySearch.js.map +1 -0
- package/dist/src/kernel/packs/sparql/buildLookupQuery.js +217 -0
- package/dist/src/kernel/packs/sparql/buildLookupQuery.js.map +1 -0
- package/dist/src/kernel/packs/sparql/escape.js +21 -0
- package/dist/src/kernel/packs/sparql/escape.js.map +1 -0
- package/dist/src/kernel/packs/sparql/index.js +31 -0
- package/dist/src/kernel/packs/sparql/index.js.map +1 -0
- package/dist/src/kernel/packs/sparql/runSelect.js +101 -0
- package/dist/src/kernel/packs/sparql/runSelect.js.map +1 -0
- package/dist/src/kernel/packs/types.js +30 -0
- package/dist/src/kernel/packs/types.js.map +1 -0
- package/dist/src/kernel/packs/uniqueness.js +30 -0
- package/dist/src/kernel/packs/uniqueness.js.map +1 -0
- package/dist/src/kernel/project/cli/buildProgram.js +263 -0
- package/dist/src/kernel/project/cli/buildProgram.js.map +1 -0
- package/dist/src/kernel/project/cli/constants.js +27 -0
- package/dist/src/kernel/project/cli/constants.js.map +1 -0
- package/dist/src/kernel/project/cli/dispatch.js +420 -0
- package/dist/src/kernel/project/cli/dispatch.js.map +1 -0
- package/dist/src/kernel/project/cli/exitCodes.js +66 -0
- package/dist/src/kernel/project/cli/exitCodes.js.map +1 -0
- package/dist/src/kernel/project/cli/globalFlags.js +216 -0
- package/dist/src/kernel/project/cli/globalFlags.js.map +1 -0
- package/dist/src/kernel/project/cli/helpFormat.js +59 -0
- package/dist/src/kernel/project/cli/helpFormat.js.map +1 -0
- package/dist/src/kernel/project/cli/index.js +14 -0
- package/dist/src/kernel/project/cli/index.js.map +1 -0
- package/dist/src/kernel/project/cli/rootHelp.js +197 -0
- package/dist/src/kernel/project/cli/rootHelp.js.map +1 -0
- package/dist/src/kernel/project/cli/suggest.js +75 -0
- package/dist/src/kernel/project/cli/suggest.js.map +1 -0
- package/dist/src/kernel/project/cli/suggestNames.js +96 -0
- package/dist/src/kernel/project/cli/suggestNames.js.map +1 -0
- package/dist/src/kernel/project/cli/verbHelp.js +131 -0
- package/dist/src/kernel/project/cli/verbHelp.js.map +1 -0
- package/dist/src/kernel/project/mcp/buildServer.js +67 -0
- package/dist/src/kernel/project/mcp/buildServer.js.map +1 -0
- package/dist/src/kernel/project/mcp/envelope.js +37 -0
- package/dist/src/kernel/project/mcp/envelope.js.map +1 -0
- package/dist/src/kernel/project/mcp/index.js +8 -0
- package/dist/src/kernel/project/mcp/index.js.map +1 -0
- package/dist/src/kernel/project/mcp/instructions.js +44 -0
- package/dist/src/kernel/project/mcp/instructions.js.map +1 -0
- package/dist/src/kernel/project/mcp/mcpError.js +42 -0
- package/dist/src/kernel/project/mcp/mcpError.js.map +1 -0
- package/dist/src/kernel/project/mcp/prompts/index.js +36 -0
- package/dist/src/kernel/project/mcp/prompts/index.js.map +1 -0
- package/dist/src/kernel/project/mcp/prompts/provider.js +98 -0
- package/dist/src/kernel/project/mcp/prompts/provider.js.map +1 -0
- package/dist/src/kernel/project/mcp/prompts/source.js +154 -0
- package/dist/src/kernel/project/mcp/prompts/source.js.map +1 -0
- package/dist/src/kernel/project/mcp/registerVerb.js +300 -0
- package/dist/src/kernel/project/mcp/registerVerb.js.map +1 -0
- package/dist/src/kernel/project/mcp/serve.js +35 -0
- package/dist/src/kernel/project/mcp/serve.js.map +1 -0
- package/dist/src/kernel/render/compactUri.js +24 -0
- package/dist/src/kernel/render/compactUri.js.map +1 -0
- package/dist/src/kernel/render/contracts.js +10 -0
- package/dist/src/kernel/render/contracts.js.map +1 -0
- package/dist/src/kernel/render/disclosure.js +34 -0
- package/dist/src/kernel/render/disclosure.js.map +1 -0
- package/dist/src/kernel/render/envelope.js +30 -0
- package/dist/src/kernel/render/envelope.js.map +1 -0
- package/dist/src/kernel/render/formatters.js +27 -0
- package/dist/src/kernel/render/formatters.js.map +1 -0
- package/dist/src/kernel/render/index.js +15 -0
- package/dist/src/kernel/render/index.js.map +1 -0
- package/dist/src/kernel/render/prefixes.js +46 -0
- package/dist/src/kernel/render/prefixes.js.map +1 -0
- package/dist/src/kernel/render/renderers.js +468 -0
- package/dist/src/kernel/render/renderers.js.map +1 -0
- package/dist/src/kernel/render/style.js +85 -0
- package/dist/src/kernel/render/style.js.map +1 -0
- package/dist/src/kernel/render/turtle.js +194 -0
- package/dist/src/kernel/render/turtle.js.map +1 -0
- package/dist/src/kernel/render/writeStdout.js +43 -0
- package/dist/src/kernel/render/writeStdout.js.map +1 -0
- package/dist/src/kernel/runtime/boot.js +49 -0
- package/dist/src/kernel/runtime/boot.js.map +1 -0
- package/dist/src/kernel/runtime/facade.js +39 -0
- package/dist/src/kernel/runtime/facade.js.map +1 -0
- package/dist/src/kernel/runtime/graphpack/build.js +122 -0
- package/dist/src/kernel/runtime/graphpack/build.js.map +1 -0
- package/dist/src/kernel/runtime/graphpack/buildIndex.js +303 -0
- package/dist/src/kernel/runtime/graphpack/buildIndex.js.map +1 -0
- package/dist/src/kernel/runtime/graphpack/embedded/pack.generated.js +6 -0
- package/dist/src/kernel/runtime/graphpack/embedded/pack.generated.js.map +1 -0
- package/dist/src/kernel/runtime/graphpack/embedded/pack.index.generated.js +4 -0
- package/dist/src/kernel/runtime/graphpack/embedded/pack.index.generated.js.map +1 -0
- package/dist/src/kernel/runtime/graphpack/embedded/pack.stories.generated.js +4 -0
- package/dist/src/kernel/runtime/graphpack/embedded/pack.stories.generated.js.map +1 -0
- package/dist/src/kernel/runtime/graphpack/embedded.js +82 -0
- package/dist/src/kernel/runtime/graphpack/embedded.js.map +1 -0
- package/dist/src/kernel/runtime/graphpack/hash.js +38 -0
- package/dist/src/kernel/runtime/graphpack/hash.js.map +1 -0
- package/dist/src/kernel/runtime/graphpack/index.js +11 -0
- package/dist/src/kernel/runtime/graphpack/index.js.map +1 -0
- package/dist/src/kernel/runtime/graphpack/manifest.js +145 -0
- package/dist/src/kernel/runtime/graphpack/manifest.js.map +1 -0
- package/dist/src/kernel/runtime/graphpack/read.js +92 -0
- package/dist/src/kernel/runtime/graphpack/read.js.map +1 -0
- package/dist/src/kernel/runtime/graphpack/schemas.js +70 -0
- package/dist/src/kernel/runtime/graphpack/schemas.js.map +1 -0
- package/dist/src/kernel/runtime/graphpack/stories.js +68 -0
- package/dist/src/kernel/runtime/graphpack/stories.js.map +1 -0
- package/dist/src/kernel/runtime/graphpack/types.js +55 -0
- package/dist/src/kernel/runtime/graphpack/types.js.map +1 -0
- package/dist/src/kernel/runtime/index.js +8 -0
- package/dist/src/kernel/runtime/index.js.map +1 -0
- package/dist/src/kernel/runtime/loadSession.js +34 -0
- package/dist/src/kernel/runtime/loadSession.js.map +1 -0
- package/dist/src/kernel/runtime/paths.js +78 -0
- package/dist/src/kernel/runtime/paths.js.map +1 -0
- package/dist/src/kernel/runtime/probe.js +37 -0
- package/dist/src/kernel/runtime/probe.js.map +1 -0
- package/dist/src/kernel/runtime/readEntity.js +363 -0
- package/dist/src/kernel/runtime/readEntity.js.map +1 -0
- package/dist/src/kernel/runtime/refs/gitOps.js +65 -0
- package/dist/src/kernel/runtime/refs/gitOps.js.map +1 -0
- package/dist/src/kernel/runtime/refs/index.js +29 -0
- package/dist/src/kernel/runtime/refs/index.js.map +1 -0
- package/dist/src/kernel/runtime/refs/parseRef.js +70 -0
- package/dist/src/kernel/runtime/refs/parseRef.js.map +1 -0
- package/dist/src/kernel/runtime/refs/resolve.js +332 -0
- package/dist/src/kernel/runtime/refs/resolve.js.map +1 -0
- package/dist/src/kernel/runtime/resolveSources.js +62 -0
- package/dist/src/kernel/runtime/resolveSources.js.map +1 -0
- package/dist/src/kernel/runtime/store.js +75 -0
- package/dist/src/kernel/runtime/store.js.map +1 -0
- package/dist/src/kernel/runtime/storeReadiness.js +51 -0
- package/dist/src/kernel/runtime/storeReadiness.js.map +1 -0
- package/dist/src/kernel/runtime/types.js +11 -0
- package/dist/src/kernel/runtime/types.js.map +1 -0
- package/dist/src/kernel/spec/asVerb.js +21 -0
- package/dist/src/kernel/spec/asVerb.js.map +1 -0
- package/dist/src/kernel/spec/emitReference.js +578 -0
- package/dist/src/kernel/spec/emitReference.js.map +1 -0
- package/dist/src/kernel/spec/emitSurface.js +202 -0
- package/dist/src/kernel/spec/emitSurface.js.map +1 -0
- package/dist/src/kernel/spec/index.js +11 -0
- package/dist/src/kernel/spec/index.js.map +1 -0
- package/dist/src/kernel/spec/surfaceConformance.js +103 -0
- package/dist/src/kernel/spec/surfaceConformance.js.map +1 -0
- package/dist/src/kernel/spec/types.js +14 -0
- package/dist/src/kernel/spec/types.js.map +1 -0
- package/dist/src/kernel/spec/validate.js +110 -0
- package/dist/src/kernel/spec/validate.js.map +1 -0
- package/dist/src/kernel/vocabulary.js +97 -0
- package/dist/src/kernel/vocabulary.js.map +1 -0
- package/dist/src/types.js +11 -0
- package/dist/src/types.js.map +1 -0
- package/package.json +20 -22
- package/pragma.conf.ts +249 -60
- package/src/bin.ts +267 -82
- package/src/capabilities/block.parity.test.ts +6 -3
- package/src/capabilities/capabilities/capabilities.render.ts +1 -1
- package/src/capabilities/capabilities/capabilities.verb.ts +1 -1
- package/src/capabilities/capabilities/catalog.ts +3 -3
- package/src/capabilities/capabilities/hints.ts +32 -7
- package/src/capabilities/capabilities/index.ts +1 -1
- package/src/capabilities/colophon/collectColophon.ts +35 -24
- package/src/capabilities/colophon/colophon.render.ts +25 -1
- package/src/capabilities/colophon/colophon.test.ts +42 -21
- package/src/capabilities/colophon/colophon.verb.ts +4 -4
- package/src/capabilities/config/collectConfigShow.test.ts +1 -0
- package/src/capabilities/config/collectConfigShow.ts +3 -3
- package/src/capabilities/config/field.render.ts +4 -5
- package/src/capabilities/config/fields.ts +17 -10
- package/src/capabilities/config/get.verb.ts +70 -0
- package/src/capabilities/config/getUnset.test.ts +264 -0
- package/src/capabilities/config/index.ts +5 -1
- package/src/capabilities/config/runField.ts +40 -22
- package/src/capabilities/config/runGet.ts +34 -0
- package/src/capabilities/config/runSet.ts +35 -9
- package/src/capabilities/config/set.test.ts +48 -14
- package/src/capabilities/config/set.verb.ts +8 -7
- package/src/capabilities/config/show.render.ts +1 -1
- package/src/capabilities/config/show.verb.ts +9 -6
- package/src/capabilities/config/types.ts +18 -4
- package/src/capabilities/config/unset.verb.ts +58 -0
- package/src/capabilities/create/byteEquality.subprocess.test.ts +2 -3
- package/src/capabilities/create/byteEquality.test.ts +25 -11
- package/src/capabilities/create/cliProjection.ts +227 -0
- package/src/capabilities/create/constants.ts +36 -61
- package/src/capabilities/create/create.mcp.test.ts +89 -5
- package/src/capabilities/create/create.render.ts +71 -7
- package/src/capabilities/create/create.test.ts +433 -219
- package/src/capabilities/create/create.verb.ts +297 -328
- package/src/capabilities/create/createGrammar.test.ts +865 -0
- package/src/capabilities/create/createHelp.ts +71 -0
- package/src/capabilities/create/createSurface.generated.ts +400 -0
- package/src/capabilities/create/crossCli.subprocess.test.ts +745 -0
- package/src/capabilities/create/cwdJail.test.ts +24 -5
- package/src/capabilities/create/generatorToVerbSpec.test.ts +186 -0
- package/src/capabilities/create/generatorToVerbSpec.ts +13 -11
- package/src/capabilities/create/index.ts +7 -4
- package/src/capabilities/create/messages.ts +18 -0
- package/src/capabilities/create/mount.ts +391 -0
- package/src/capabilities/create/pathJail.test.ts +90 -0
- package/src/capabilities/create/pathJail.ts +8 -5
- package/src/capabilities/create/pickGenerator.ts +23 -35
- package/src/capabilities/create/shippedCreate.subprocess.test.ts +164 -0
- package/src/capabilities/create/types.ts +20 -0
- package/src/capabilities/distribution.test.ts +3 -1
- package/src/capabilities/distribution.ts +10 -15
- package/src/capabilities/doctor/checks/checkKeStore.ts +7 -5
- package/src/capabilities/doctor/checks/checkPackageRefs.ts +6 -4
- package/src/capabilities/doctor/checks/checkPragmaVersion.ts +2 -2
- package/src/capabilities/doctor/checks/checkShellCompletions.test.ts +72 -27
- package/src/capabilities/doctor/checks/checkShellCompletions.ts +59 -13
- package/src/capabilities/doctor/checks/index.ts +27 -0
- package/src/capabilities/doctor/checks/mcpCommand.test.ts +100 -0
- package/src/capabilities/doctor/checks/mcpCommand.ts +69 -0
- package/src/capabilities/doctor/checks/targetHealth.ts +274 -0
- package/src/capabilities/doctor/doctor.render.test.ts +18 -7
- package/src/capabilities/doctor/doctor.render.ts +43 -19
- package/src/capabilities/doctor/doctor.test.ts +123 -34
- package/src/capabilities/doctor/doctor.verb.ts +3 -3
- package/src/capabilities/doctor/runChecks.ts +62 -63
- package/src/capabilities/doctor/types.ts +20 -4
- package/src/capabilities/emptyRecovery.test.ts +13 -8
- package/src/capabilities/graph/examples.exec.test.ts +107 -0
- package/src/capabilities/graph/index.ts +1 -1
- package/src/capabilities/graph/inspect.render.ts +70 -22
- package/src/capabilities/graph/inspect.test.ts +260 -5
- package/src/capabilities/graph/inspect.verb.ts +18 -6
- package/src/capabilities/graph/query.render.ts +15 -3
- package/src/capabilities/graph/query.verb.ts +3 -3
- package/src/capabilities/graph/runQuery.ts +2 -3
- package/src/capabilities/index.ts +3 -1
- package/src/capabilities/info/collectInfo.ts +5 -4
- package/src/capabilities/info/info.render.ts +1 -1
- package/src/capabilities/info/info.verb.ts +1 -1
- package/src/capabilities/lazy.test.ts +32 -0
- package/src/capabilities/meta/complete.verb.ts +1 -1
- package/src/capabilities/meta/index.ts +1 -1
- package/src/capabilities/meta/mcp.verb.ts +10 -8
- package/src/capabilities/ontology/index.ts +15 -11
- package/src/capabilities/ontology/ontology.test.ts +6 -55
- package/src/capabilities/ontology/queries.ts +2 -2
- package/src/capabilities/ontology/render.ts +3 -4
- package/src/capabilities/ontology/verbs.ts +27 -68
- package/src/capabilities/prompt/index.ts +2 -2
- package/src/capabilities/prompt/prompt.render.ts +6 -2
- package/src/capabilities/prompt/types.ts +1 -1
- package/src/capabilities/prompt/verbs.ts +4 -5
- package/src/capabilities/reference.test.ts +63 -0
- package/src/capabilities/resources/provider.ts +342 -85
- package/src/capabilities/resources/resources.test.ts +355 -59
- package/src/capabilities/setup/buildPlan.ts +236 -0
- package/src/capabilities/setup/index.ts +7 -7
- package/src/capabilities/setup/mode.ts +74 -0
- package/src/capabilities/setup/operations/index.ts +74 -0
- package/src/capabilities/setup/operations/setupCompletions.ts +97 -24
- package/src/capabilities/setup/operations/setupConfig.ts +124 -0
- package/src/capabilities/setup/operations/setupGenerator.ts +396 -326
- package/src/capabilities/setup/operations/setupLsp.ts +329 -68
- package/src/capabilities/setup/operations/setupMcp.ts +137 -97
- package/src/capabilities/setup/operations/setupSkills.ts +336 -108
- package/src/capabilities/setup/plan.render.ts +241 -0
- package/src/capabilities/setup/plan.ts +236 -0
- package/src/capabilities/setup/setup.mcp.correctness.test.ts +432 -0
- package/src/capabilities/setup/setup.render.test.ts +281 -73
- package/src/capabilities/setup/setup.render.ts +45 -77
- package/src/capabilities/setup/setup.test.ts +972 -209
- package/src/capabilities/setup/setup.verb.ts +223 -71
- package/src/capabilities/setup/shell.test.ts +86 -0
- package/src/capabilities/setup/shell.ts +137 -11
- package/src/capabilities/setup/targets.ts +367 -0
- package/src/capabilities/setup/types.ts +18 -57
- package/src/capabilities/shared/assertExecOk.ts +68 -10
- package/src/capabilities/shared/index.ts +32 -0
- package/src/capabilities/shared/packageManager.test.ts +55 -0
- package/src/capabilities/shared/packageManager.ts +62 -6
- package/src/capabilities/skill/discover.ts +37 -5
- package/src/capabilities/skill/index.ts +1 -1
- package/src/capabilities/skill/render.ts +10 -9
- package/src/capabilities/skill/skill.test.ts +7 -5
- package/src/capabilities/skill/verbs.ts +3 -4
- package/src/capabilities/sources/collectStatus.ts +7 -2
- package/src/capabilities/sources/index.ts +1 -1
- package/src/capabilities/sources/installSkills.ts +84 -7
- package/src/capabilities/sources/runUpdate.ts +53 -21
- package/src/capabilities/sources/sources.test.ts +154 -2
- package/src/capabilities/sources/status.render.ts +1 -1
- package/src/capabilities/sources/status.verb.ts +1 -1
- package/src/capabilities/sources/update.render.ts +1 -1
- package/src/capabilities/sources/update.verb.ts +1 -1
- package/src/capabilities/surface.test.ts +134 -17
- package/src/capabilities/upgrade/runUpgrade.ts +8 -8
- package/src/capabilities/upgrade/upgrade.render.ts +4 -5
- package/src/capabilities/upgrade/upgrade.test.ts +3 -3
- package/src/capabilities/upgrade/upgrade.verb.ts +1 -1
- package/src/capabilities/version/index.ts +12 -0
- package/src/capabilities/version/version.test.ts +66 -0
- package/src/capabilities/version/version.verb.ts +39 -0
- package/src/constants.ts +31 -1
- package/src/identity.test.ts +40 -25
- package/src/kernel/completion/__snapshots__/emitScripts.test.ts.snap +15 -13
- package/src/kernel/completion/complete.test.ts +12 -2
- package/src/kernel/completion/complete.ts +1 -1
- package/src/kernel/completion/emitScripts.ts +1 -1
- package/src/kernel/completion/entitySource.test.ts +1 -1
- package/src/kernel/completion/entitySource.ts +21 -8
- package/src/kernel/completion/model.test.ts +164 -12
- package/src/kernel/completion/model.ts +94 -14
- package/src/kernel/completion/parse.test.ts +4 -7
- package/src/kernel/completion/parse.ts +15 -0
- package/src/kernel/completion/resolve.test.ts +0 -1
- package/src/kernel/completion/safety.test.ts +34 -26
- package/src/kernel/completion/shellDrive.test.ts +28 -9
- package/src/kernel/completion/templates/bash.ts +7 -2
- package/src/kernel/completion/templates/index.ts +23 -0
- package/src/kernel/completion/types.ts +7 -0
- package/src/kernel/config/defaults.test.ts +25 -2
- package/src/kernel/config/defaults.ts +4 -3
- package/src/kernel/config/evaluateProjectConfig.ts +31 -8
- package/src/kernel/config/firstRun.test.ts +44 -38
- package/src/kernel/config/firstRun.ts +24 -88
- package/src/kernel/config/index.ts +1 -1
- package/src/kernel/config/readConfig.test.ts +6 -3
- package/src/kernel/config/readConfig.ts +1 -1
- package/src/kernel/config/schema.ts +3 -1
- package/src/kernel/config/types.ts +3 -1
- package/src/kernel/copy.test.ts +34 -4
- package/src/kernel/copy.ts +54 -0
- package/src/kernel/error/PragmaError.test.ts +5 -2
- package/src/kernel/error/PragmaError.ts +4 -2
- package/src/kernel/error/constants.ts +7 -5
- package/src/kernel/error/fromTaskError.ts +28 -6
- package/src/kernel/error/recovery.ts +14 -0
- package/src/kernel/error/renderError.ts +42 -1
- package/src/kernel/error/types.ts +21 -1
- package/src/kernel/index.ts +26 -0
- package/src/kernel/packs/collect.ts +12 -16
- package/src/kernel/packs/compile.test.ts +130 -1
- package/src/kernel/packs/compile.ts +93 -3
- package/src/kernel/packs/disclosure.ts +2 -2
- package/src/kernel/packs/graphql/buildLookupDocument.ts +1 -1
- package/src/kernel/packs/graphql/fetchGraphqlLookup.ts +3 -4
- package/src/kernel/packs/graphql/index.ts +20 -0
- package/src/kernel/packs/index.ts +40 -0
- package/src/kernel/packs/iri.test.ts +73 -0
- package/src/kernel/packs/iri.ts +66 -14
- package/src/kernel/packs/renderPack.ts +24 -5
- package/src/kernel/packs/resolveEntity.test.ts +213 -0
- package/src/kernel/packs/resolveEntity.ts +112 -18
- package/src/kernel/packs/runBodies.ts +2 -3
- package/src/kernel/packs/sample.ts +1 -1
- package/src/kernel/packs/schema.ts +18 -1
- package/src/kernel/packs/sparql/applyFilters.ts +16 -17
- package/src/kernel/packs/sparql/buildLookupQuery.ts +75 -3
- package/src/kernel/packs/sparql/index.ts +37 -0
- package/src/kernel/packs/sparql/runSelect.test.ts +1 -1
- package/src/kernel/packs/sparql/runSelect.ts +3 -4
- package/src/kernel/packs/toolDescription.test.ts +42 -3
- package/src/kernel/packs/types.ts +13 -0
- package/src/kernel/packs/uniqueness.ts +1 -1
- package/src/kernel/project/cli/buildProgram.test.ts +147 -12
- package/src/kernel/project/cli/buildProgram.ts +77 -18
- package/src/kernel/project/cli/constants.ts +34 -0
- package/src/kernel/project/cli/dispatch.test.ts +160 -3
- package/src/kernel/project/cli/dispatch.ts +222 -42
- package/src/kernel/project/cli/exitCodes.ts +1 -1
- package/src/kernel/project/cli/globalFlags.test.ts +117 -1
- package/src/kernel/project/cli/globalFlags.ts +130 -30
- package/src/kernel/project/cli/helpFormat.ts +13 -0
- package/src/kernel/project/cli/rootHelp.ts +41 -12
- package/src/kernel/project/cli/suggest.test.ts +33 -1
- package/src/kernel/project/cli/suggest.ts +25 -1
- package/src/kernel/project/cli/verbHelp.test.ts +30 -0
- package/src/kernel/project/cli/verbHelp.ts +23 -7
- package/src/kernel/project/mcp/buildServer.ts +7 -4
- package/src/kernel/project/mcp/envelope.ts +2 -2
- package/src/kernel/project/mcp/instructions.ts +2 -2
- package/src/kernel/project/mcp/mcpError.ts +1 -1
- package/src/kernel/project/mcp/parity.test.ts +5 -2
- package/src/kernel/project/mcp/prompts/index.ts +37 -0
- package/src/kernel/project/mcp/prompts/source.ts +2 -2
- package/src/kernel/project/mcp/registerVerb.ts +35 -9
- package/src/kernel/project/mcp/serve.ts +2 -2
- package/src/kernel/render/__snapshots__/renderers.test.ts.snap +7 -4
- package/src/kernel/render/contracts.ts +21 -0
- package/src/kernel/render/envelope.ts +2 -3
- package/src/kernel/render/formatters.ts +1 -1
- package/src/kernel/render/renderers.test.ts +243 -6
- package/src/kernel/render/renderers.ts +222 -20
- package/src/kernel/render/style.test.ts +75 -24
- package/src/kernel/render/style.ts +31 -1
- package/src/kernel/render/turtle.ts +222 -0
- package/src/kernel/runtime/graphpack/buildIndex.ts +1 -1
- package/src/kernel/runtime/graphpack/embedded/pack.generated.ts +3 -3
- package/src/kernel/runtime/graphpack/embedded/pack.index.generated.ts +1 -1
- package/src/kernel/runtime/graphpack/embedded.ts +3 -3
- package/src/kernel/runtime/graphpack/manifest.ts +1 -1
- package/src/kernel/runtime/graphpack/read.ts +1 -2
- package/src/kernel/runtime/loadSession.ts +1 -1
- package/src/kernel/runtime/probe.ts +6 -6
- package/src/kernel/runtime/readEntity.ts +472 -28
- package/src/kernel/runtime/refs/index.ts +39 -0
- package/src/kernel/runtime/refs/parseRef.ts +2 -2
- package/src/kernel/runtime/refs/resolve.ts +4 -4
- package/src/kernel/runtime/storeReadiness.ts +1 -2
- package/src/kernel/runtime/types.ts +15 -1
- package/src/kernel/runtime/wasmEmbed.test.ts +37 -39
- package/src/kernel/spec/emitReference.ts +105 -30
- package/src/kernel/spec/emitSurface.ts +48 -6
- package/src/kernel/spec/surfaceConformance.test.ts +4 -2
- package/src/kernel/spec/types.ts +248 -4
- package/src/testing/behavioral/docExamples.test.ts +14 -0
- package/src/testing/behavioral/errorMatrix.mcp.test.ts +2 -2
- package/src/testing/behavioral/firstRun.e2e.test.ts +24 -24
- package/src/testing/behavioral/journeys.cli.test.ts +1 -1
- package/src/testing/behavioral/journeys.defaultPack.test.ts +7 -7
- package/src/testing/behavioral/journeys.implementation.test.ts +206 -0
- package/src/testing/behavioral/journeys.interactiveTty.e2e.test.ts +2 -2
- package/src/testing/behavioral/journeys.packageStories.test.ts +4 -4
- package/src/testing/behavioral/mcpServe.e2e.test.ts +57 -2
- package/src/testing/behavioral/mcpSurface.test.ts +1 -1
- package/src/testing/behavioral/rootCli.e2e.test.ts +26 -2
- package/src/testing/eval/cases/effectful.ts +3 -2
- package/src/testing/fixtures/blockGraph.ts +79 -0
- package/src/testing/fixtures/graph/canonical.ts +88 -2
- package/src/testing/fixtures/graph/defaultPack.ts +1 -1
- package/src/testing/helpers/blankCanonicalRanges.ts +36 -0
- package/src/testing/helpers/projectMcp.ts +32 -6
- package/src/testing/helpers/runCli.ts +35 -18
- package/src/testing/perf/budgets.test.ts +20 -9
- package/src/testing/perf/budgets.ts +58 -9
- package/src/testing/perf/codegen.test.ts +126 -0
- package/src/testing/perf/globalSetup.test.ts +286 -0
- package/src/testing/perf/globalSetup.ts +505 -23
- package/src/testing/perf/measure.test.ts +38 -0
- package/src/testing/perf/measure.ts +23 -4
- package/src/testing/setupXdgIsolation.ts +81 -21
- package/src/testing/tempRoot.globalSetup.ts +122 -0
- package/dist/pragma +0 -0
- package/src/capabilities/create/compiledCreate.subprocess.test.ts +0 -189
- package/src/capabilities/create/templates.embedded.generated.ts +0 -28
- package/src/capabilities/doctor/checks/checkConfigFile.ts +0 -42
- package/src/capabilities/doctor/checks/checkMcpCommands.ts +0 -114
- package/src/capabilities/doctor/checks/checkMcpConfigured.ts +0 -68
- package/src/capabilities/doctor/checks/checkSkillsSymlinked.ts +0 -61
- package/src/capabilities/doctor/checks/deriveBand.test.ts +0 -42
- package/src/capabilities/doctor/checks/deriveBand.ts +0 -28
- package/src/kernel/config/__snapshots__/firstRun.test.ts.snap +0 -11
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
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.
|
|
4
|
+
"version": "0.35.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "src/index.ts",
|
|
7
7
|
"types": "src/index.ts",
|
|
8
8
|
"bin": {
|
|
9
|
-
"pragma": "dist/
|
|
9
|
+
"pragma": "dist/src/bin.js"
|
|
10
10
|
},
|
|
11
11
|
"files": [
|
|
12
12
|
"src",
|
|
@@ -21,12 +21,6 @@
|
|
|
21
21
|
"type": "git",
|
|
22
22
|
"url": "https://github.com/canonical/pragma"
|
|
23
23
|
},
|
|
24
|
-
"os": [
|
|
25
|
-
"linux"
|
|
26
|
-
],
|
|
27
|
-
"cpu": [
|
|
28
|
-
"x64"
|
|
29
|
-
],
|
|
30
24
|
"license": "GPL-3.0",
|
|
31
25
|
"bugs": {
|
|
32
26
|
"url": "https://github.com/canonical/pragma/issues"
|
|
@@ -37,9 +31,9 @@
|
|
|
37
31
|
},
|
|
38
32
|
"scripts": {
|
|
39
33
|
"build": "bun run scripts/build.ts",
|
|
34
|
+
"build:all": "bun run build",
|
|
40
35
|
"bundle": "bun run scripts/bundle.ts",
|
|
41
36
|
"gen:reference": "bun run scripts/genReference.ts",
|
|
42
|
-
"build:compile": "bun build --compile --minify --target=bun-linux-x64 src/bin.ts --outfile dist/pragma",
|
|
43
37
|
"check": "bun run check:biome && bun run check:ts && bun run check:webarchitect",
|
|
44
38
|
"check:webarchitect": "webarchitect tool-ts",
|
|
45
39
|
"check:fix": "bun run check:biome:fix && bun run check:ts",
|
|
@@ -54,14 +48,14 @@
|
|
|
54
48
|
"eval": "bun run src/testing/eval/report.ts"
|
|
55
49
|
},
|
|
56
50
|
"dependencies": {
|
|
57
|
-
"@canonical/harnesses": "^0.
|
|
58
|
-
"@canonical/ke": "^0.
|
|
59
|
-
"@canonical/ke-graphql": "^0.
|
|
60
|
-
"@canonical/summon-application": "^0.
|
|
61
|
-
"@canonical/summon-component": "^0.
|
|
62
|
-
"@canonical/summon-core": "^0.
|
|
63
|
-
"@canonical/summon-package": "^0.
|
|
64
|
-
"@canonical/task": "^0.
|
|
51
|
+
"@canonical/harnesses": "^0.35.0",
|
|
52
|
+
"@canonical/ke": "^0.35.0",
|
|
53
|
+
"@canonical/ke-graphql": "^0.35.0",
|
|
54
|
+
"@canonical/summon-application": "^0.35.0",
|
|
55
|
+
"@canonical/summon-component": "^0.35.0",
|
|
56
|
+
"@canonical/summon-core": "^0.35.0",
|
|
57
|
+
"@canonical/summon-package": "^0.35.0",
|
|
58
|
+
"@canonical/task": "^0.35.0",
|
|
65
59
|
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
66
60
|
"chalk": "^5.6.2",
|
|
67
61
|
"commander": "^14.0.3",
|
|
@@ -72,14 +66,18 @@
|
|
|
72
66
|
"devDependencies": {
|
|
73
67
|
"@biomejs/biome": "2.4.9",
|
|
74
68
|
"@canonical/anatomy-dsl": "^0.2.2",
|
|
75
|
-
"@canonical/biome-config": "^0.
|
|
76
|
-
"@canonical/
|
|
77
|
-
"@canonical/
|
|
69
|
+
"@canonical/biome-config": "^0.35.0",
|
|
70
|
+
"@canonical/summon": "^0.35.0",
|
|
71
|
+
"@canonical/typescript-config": "^0.35.0",
|
|
72
|
+
"@canonical/webarchitect": "^0.35.0",
|
|
78
73
|
"@types/bun": "^1.3.10",
|
|
79
|
-
"@types/node": "^
|
|
74
|
+
"@types/node": "^26.0.0",
|
|
80
75
|
"@vitest/coverage-v8": "^4.0.18",
|
|
81
76
|
"typescript": "^5.9.3",
|
|
82
77
|
"vitest": "^4.0.18"
|
|
83
78
|
},
|
|
84
|
-
"
|
|
79
|
+
"engines": {
|
|
80
|
+
"node": ">=22.18 <23 || >=23.6"
|
|
81
|
+
},
|
|
82
|
+
"gitHead": "5198c5399ef657959272c0e35924391573d81146"
|
|
85
83
|
}
|
package/pragma.conf.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* stories those packs supply.
|
|
4
4
|
*
|
|
5
5
|
* Consumed three times: statically imported by `src/kernel/config/defaults.ts`
|
|
6
|
-
* as the lowest config layer (compiled
|
|
6
|
+
* as the lowest config layer (compiled with the source — no fs), by
|
|
7
7
|
* `src/capabilities/distribution.ts` (which compiles the declared stories into
|
|
8
8
|
* capability modules at module load), and at build time by the bundler. A
|
|
9
9
|
* NON-magic name on purpose: `findProjectConfig` only discovers
|
|
@@ -45,6 +45,12 @@ over GraphQL or raw SPARQL.
|
|
|
45
45
|
- **Tokens** — the themeable design values, resolved per theme.
|
|
46
46
|
- **Standards** — the do / don't coding guidance, categorized and linked to the
|
|
47
47
|
blocks they govern.
|
|
48
|
+
- **Concepts** — the long-form documentation that belongs to no single block:
|
|
49
|
+
foundations, decision guides, and how-to guides, each typed by a
|
|
50
|
+
\`ds:ConceptType\`.
|
|
51
|
+
- **Implementations** — which library implements which block, in which
|
|
52
|
+
framework, with a source link pinned to the release that shipped it: the
|
|
53
|
+
spec and the code realizing it are edges in one graph.
|
|
48
54
|
|
|
49
55
|
## How it fits together
|
|
50
56
|
|
|
@@ -57,8 +63,10 @@ over GraphQL or raw SPARQL.
|
|
|
57
63
|
## Why RDF
|
|
58
64
|
|
|
59
65
|
One graph makes every relationship first-class and queryable: \`block lookup\`
|
|
60
|
-
follows edges to modifiers and subcomponents, \`
|
|
61
|
-
|
|
66
|
+
follows edges to modifiers and subcomponents, \`concept lookup\` reads the
|
|
67
|
+
long-form documentation, \`graph query\` runs arbitrary SPARQL, and
|
|
68
|
+
\`ontology lookup\` reads the schema itself. Which React components implement
|
|
69
|
+
a global-tier block is one query, not an afternoon. The store is built once
|
|
62
70
|
by \`sources update\` and addressed by content hash, so the domain you query is
|
|
63
71
|
exactly the domain that was published.`;
|
|
64
72
|
|
|
@@ -138,9 +146,16 @@ const designSystemStories: readonly PackDefinition[] = [
|
|
|
138
146
|
lookup: {
|
|
139
147
|
source: "graphql",
|
|
140
148
|
toolDescription:
|
|
141
|
-
'Get detailed information about one or more design system blocks including anatomy, modifiers, and properties. Use when you need the full spec of specific blocks by name — detail: "summary" trims to the base view. Example: block_lookup {
|
|
149
|
+
'Get detailed information about one or more design system blocks including anatomy, modifiers, and properties. Use when you need the full spec of specific blocks by name — detail: "summary" trims to the base view. Example: block_lookup { name: ["Button"] }.',
|
|
142
150
|
by: "ds:name",
|
|
143
151
|
types: ["ds:Component", "ds:Pattern", "ds:Layout", "ds:Subcomponent"],
|
|
152
|
+
// A subcomponent is a PART of a block, never the block someone means:
|
|
153
|
+
// for the query "button" the 86 `…-close_button` subcomponents used to
|
|
154
|
+
// outrank `ds:global.component.button` on the alphabet alone. Weighting
|
|
155
|
+
// them below 1 sinks every one of them under every component at equal
|
|
156
|
+
// match score, and lowers their `annotations.priority` in the resource
|
|
157
|
+
// listing by the same declaration.
|
|
158
|
+
weights: { "ds:Subcomponent": 0.6 },
|
|
144
159
|
graphqlType: "UIBlock",
|
|
145
160
|
fields: [
|
|
146
161
|
{ name: "tier", property: "ds:tier", label: "Tier" },
|
|
@@ -275,7 +290,7 @@ const designSystemStories: readonly PackDefinition[] = [
|
|
|
275
290
|
by: "ds:tokenId",
|
|
276
291
|
type: "ds:Token",
|
|
277
292
|
toolDescription:
|
|
278
|
-
'Get type and theme values for one or more design tokens by name. Use when resolving specific tokens\' light/dark values. Example: token_lookup {
|
|
293
|
+
'Get type and theme values for one or more design tokens by name. Use when resolving specific tokens\' light/dark values. Example: token_lookup { name: ["color.primary"] }.',
|
|
279
294
|
fields: [
|
|
280
295
|
{
|
|
281
296
|
name: "category",
|
|
@@ -334,7 +349,7 @@ const designSystemStories: readonly PackDefinition[] = [
|
|
|
334
349
|
by: "ds:name",
|
|
335
350
|
type: "ds:ModifierFamily",
|
|
336
351
|
toolDescription:
|
|
337
|
-
'Get values and usage details for one or more modifier families by name. Use when you need the allowed values of specific families. Example: modifier_lookup {
|
|
352
|
+
'Get values and usage details for one or more modifier families by name. Use when you need the allowed values of specific families. Example: modifier_lookup { name: ["importance"] }.',
|
|
338
353
|
expand: [
|
|
339
354
|
{
|
|
340
355
|
name: "values",
|
|
@@ -382,7 +397,7 @@ const designSystemStories: readonly PackDefinition[] = [
|
|
|
382
397
|
type: "ds:Tier",
|
|
383
398
|
description: "Show tiers by name, with the blocks scoped to each.",
|
|
384
399
|
toolDescription:
|
|
385
|
-
'Get one or more tiers by name, with the blocks scoped directly to each. Use when you need which blocks a specific tier carries. Example: tier_lookup {
|
|
400
|
+
'Get one or more tiers by name, with the blocks scoped directly to each. Use when you need which blocks a specific tier carries. Example: tier_lookup { name: ["apps/lxd"] }.',
|
|
386
401
|
expand: [
|
|
387
402
|
{
|
|
388
403
|
name: "blocks",
|
|
@@ -395,6 +410,200 @@ const designSystemStories: readonly PackDefinition[] = [
|
|
|
395
410
|
},
|
|
396
411
|
];
|
|
397
412
|
|
|
413
|
+
/**
|
|
414
|
+
* The `concept` story the design-system pack also supplies: long-form
|
|
415
|
+
* documentation not bound to a single UIBlock (foundations, how-to guides,
|
|
416
|
+
* decision guides) — ds:Concept entries ingested from Coda. The list stays
|
|
417
|
+
* terse (name/type/summary); the Markdown body is the lookup's payload,
|
|
418
|
+
* served at the `standard` level with knownEdgeCases behind `detailed`.
|
|
419
|
+
*/
|
|
420
|
+
const conceptStory: PackDefinition = {
|
|
421
|
+
noun: "concept",
|
|
422
|
+
description: "List design-system concepts.",
|
|
423
|
+
toolDescription:
|
|
424
|
+
"List design-system concepts — long-form foundations, how-to guides, and decision guides not bound to a single UI block. Optionally filter by type or search.",
|
|
425
|
+
list: {
|
|
426
|
+
query: [
|
|
427
|
+
"SELECT ?uri ?name ?type ?summary",
|
|
428
|
+
"WHERE {",
|
|
429
|
+
" ?uri a ds:Concept ;",
|
|
430
|
+
" ds:name ?name .",
|
|
431
|
+
" OPTIONAL { ?uri ds:conceptType/ds:name ?type . }",
|
|
432
|
+
" OPTIONAL { ?uri ds:summary ?summary . }",
|
|
433
|
+
"}",
|
|
434
|
+
"ORDER BY ?name",
|
|
435
|
+
].join("\n"),
|
|
436
|
+
columns: [
|
|
437
|
+
{ field: "uri", label: "IRI" },
|
|
438
|
+
{ field: "name", label: "Name" },
|
|
439
|
+
{ field: "type", label: "Type" },
|
|
440
|
+
{ field: "summary", label: "Summary" },
|
|
441
|
+
],
|
|
442
|
+
filters: [
|
|
443
|
+
{
|
|
444
|
+
param: "type",
|
|
445
|
+
variable: "type",
|
|
446
|
+
description: "Filter by concept type (e.g. Explanation, How-to guide).",
|
|
447
|
+
},
|
|
448
|
+
],
|
|
449
|
+
search: {
|
|
450
|
+
variables: ["name", "summary"],
|
|
451
|
+
description: "Search in name and summary.",
|
|
452
|
+
},
|
|
453
|
+
emptyRecovery: {
|
|
454
|
+
message:
|
|
455
|
+
"No concepts in the store. The @canonical/design-system pack provides them; refresh the local store.",
|
|
456
|
+
cli: "sources update",
|
|
457
|
+
},
|
|
458
|
+
},
|
|
459
|
+
lookup: {
|
|
460
|
+
source: "sparql",
|
|
461
|
+
by: "ds:name",
|
|
462
|
+
type: "ds:Concept",
|
|
463
|
+
description:
|
|
464
|
+
"Look up a concept's full documentation by name, IRI, or glob.",
|
|
465
|
+
toolDescription:
|
|
466
|
+
"Get a design-system concept's full Markdown documentation. Address concepts by name, prefixed name (ds:concept.…), absolute IRI, or glob pattern.",
|
|
467
|
+
fields: [
|
|
468
|
+
{ name: "type", property: "ds:conceptType/ds:name", label: "Type" },
|
|
469
|
+
{ name: "tier", property: "ds:tier", label: "Tier" },
|
|
470
|
+
{ name: "summary", property: "ds:summary", label: "Summary" },
|
|
471
|
+
],
|
|
472
|
+
sections: [
|
|
473
|
+
{
|
|
474
|
+
name: "content",
|
|
475
|
+
property: "ds:content",
|
|
476
|
+
label: "Content",
|
|
477
|
+
level: "standard",
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
name: "knownEdgeCases",
|
|
481
|
+
property: "ds:knownEdgeCases",
|
|
482
|
+
label: "Known edge cases",
|
|
483
|
+
level: "detailed",
|
|
484
|
+
},
|
|
485
|
+
],
|
|
486
|
+
disclosure: {
|
|
487
|
+
levels: ["summary", "standard", "detailed"],
|
|
488
|
+
default: "standard",
|
|
489
|
+
},
|
|
490
|
+
},
|
|
491
|
+
};
|
|
492
|
+
|
|
493
|
+
/**
|
|
494
|
+
* The read story the implementation-graph pack supplies — which library
|
|
495
|
+
* implements which block, collected from the `@implements` annotations in this
|
|
496
|
+
* monorepo's source.
|
|
497
|
+
*
|
|
498
|
+
* The join this noun exists for crosses two packs: `ds:implementsBlock` points
|
|
499
|
+
* from an implementation collected HERE at the IRI of a block declared in
|
|
500
|
+
* `@canonical/design-system`. Both land in one store under the pinned `ds:`
|
|
501
|
+
* namespace, so `implementation list` answers "which React components implement
|
|
502
|
+
* a global-tier block" as a query rather than an afternoon of grepping — which
|
|
503
|
+
* is what {@link DESIGN_SYSTEM_COLOPHON} promises.
|
|
504
|
+
*
|
|
505
|
+
* LIST-ONLY, deliberately. A `ds:ImplementationObject` carries no name literal
|
|
506
|
+
* — it IS the edge from a library to a block, plus the two source links — so
|
|
507
|
+
* there is nothing a `lookup` could disclose that the list row does not already
|
|
508
|
+
* hold. The grammar admits a story with only one half; a lookup keyed on a
|
|
509
|
+
* synthesised name would be a name nobody would ever type. The libraries
|
|
510
|
+
* themselves ARE named, and `implementation libraries` lists them through the
|
|
511
|
+
* same list machinery (as `standard categories` does).
|
|
512
|
+
*/
|
|
513
|
+
const implementationStory: PackDefinition = {
|
|
514
|
+
noun: "implementation",
|
|
515
|
+
description: "List which library implements which design-system block.",
|
|
516
|
+
toolDescription:
|
|
517
|
+
'List the implementations of design-system blocks — which library implements which block, on which platform, and the source file it lives in. Optionally filter by platform or library, or search. Example: implementation_list { platform: "react" }.',
|
|
518
|
+
list: {
|
|
519
|
+
// The library is the subject that carries the platform, so the row is
|
|
520
|
+
// assembled from BOTH ends of `ds:hasImplementation`. `?block` prefers the
|
|
521
|
+
// block's own `ds:name` and falls back to its IRI local name, so a row
|
|
522
|
+
// stays readable even when the design-system pack is absent from the store
|
|
523
|
+
// and only the bare `ds:implementsBlock` IRI is known.
|
|
524
|
+
query: [
|
|
525
|
+
"SELECT ?uri ?block ?library ?platform ?source",
|
|
526
|
+
"WHERE {",
|
|
527
|
+
" ?libUri a ds:ImplementationLibrary ;",
|
|
528
|
+
" ds:libraryName ?library ;",
|
|
529
|
+
" ds:hasImplementation ?uri .",
|
|
530
|
+
" ?uri a ds:ImplementationObject ;",
|
|
531
|
+
" ds:implementsBlock ?blockUri .",
|
|
532
|
+
" OPTIONAL { ?libUri ds:platform ?platform }",
|
|
533
|
+
" OPTIONAL { ?uri ds:headLink ?source }",
|
|
534
|
+
" OPTIONAL { ?blockUri ds:name ?dsName }",
|
|
535
|
+
' BIND(COALESCE(?dsName, REPLACE(STR(?blockUri), "^.*[/#]", "")) AS ?block)',
|
|
536
|
+
"}",
|
|
537
|
+
"ORDER BY ?block ?library",
|
|
538
|
+
].join("\n"),
|
|
539
|
+
columns: [
|
|
540
|
+
{ field: "block", label: "Block" },
|
|
541
|
+
{ field: "library", label: "Library" },
|
|
542
|
+
{ field: "platform", label: "Platform" },
|
|
543
|
+
{ field: "source", label: "Source" },
|
|
544
|
+
{ field: "uri", label: "IRI" },
|
|
545
|
+
],
|
|
546
|
+
filters: [
|
|
547
|
+
{
|
|
548
|
+
param: "platform",
|
|
549
|
+
variable: "platform",
|
|
550
|
+
description: "Filter by platform (e.g. react, svelte, typescript).",
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
param: "library",
|
|
554
|
+
variable: "library",
|
|
555
|
+
description: "Filter by implementation library name.",
|
|
556
|
+
},
|
|
557
|
+
],
|
|
558
|
+
search: {
|
|
559
|
+
variables: ["block", "library"],
|
|
560
|
+
description: "Search in block and library name.",
|
|
561
|
+
},
|
|
562
|
+
emptyRecovery: {
|
|
563
|
+
message:
|
|
564
|
+
"No implementations in the store. The @canonical/ds-implementations pack provides them; refresh the local store.",
|
|
565
|
+
cli: "sources update",
|
|
566
|
+
},
|
|
567
|
+
},
|
|
568
|
+
verbs: [
|
|
569
|
+
{
|
|
570
|
+
verb: "libraries",
|
|
571
|
+
description: "List the implementation libraries.",
|
|
572
|
+
toolDescription:
|
|
573
|
+
"List the design-system implementation libraries — platform, tier, released version, and how many blocks each one implements. Example: implementation_libraries {}.",
|
|
574
|
+
// `ds:implementationCount` is asserted by the aggregate index on the SAME
|
|
575
|
+
// subject the per-library file describes, so the two merge in the store
|
|
576
|
+
// and the count needs no aggregation here.
|
|
577
|
+
query: [
|
|
578
|
+
"SELECT ?uri ?name ?platform ?tier ?version ?count",
|
|
579
|
+
"WHERE {",
|
|
580
|
+
" ?uri a ds:ImplementationLibrary ;",
|
|
581
|
+
" ds:libraryName ?name .",
|
|
582
|
+
" OPTIONAL { ?uri ds:platform ?platform }",
|
|
583
|
+
" OPTIONAL { ?uri ds:libraryTier ?tierUri }",
|
|
584
|
+
" OPTIONAL { ?uri ds:version ?version }",
|
|
585
|
+
" OPTIONAL { ?uri ds:implementationCount ?count }",
|
|
586
|
+
' BIND(REPLACE(STR(?tierUri), "^.*[/#]", "") AS ?tier)',
|
|
587
|
+
"}",
|
|
588
|
+
"ORDER BY ?name",
|
|
589
|
+
].join("\n"),
|
|
590
|
+
columns: [
|
|
591
|
+
{ field: "name", label: "Library" },
|
|
592
|
+
{ field: "platform", label: "Platform" },
|
|
593
|
+
{ field: "tier", label: "Tier" },
|
|
594
|
+
{ field: "version", label: "Version" },
|
|
595
|
+
{ field: "count", label: "Blocks" },
|
|
596
|
+
{ field: "uri", label: "IRI" },
|
|
597
|
+
],
|
|
598
|
+
emptyRecovery: {
|
|
599
|
+
message:
|
|
600
|
+
"No implementation libraries in the store. The @canonical/ds-implementations pack provides them; refresh the local store.",
|
|
601
|
+
cli: "sources update",
|
|
602
|
+
},
|
|
603
|
+
},
|
|
604
|
+
],
|
|
605
|
+
};
|
|
606
|
+
|
|
398
607
|
/**
|
|
399
608
|
* The read story the code-standards pack supplies — `standard` as declared data.
|
|
400
609
|
*
|
|
@@ -529,6 +738,21 @@ const codeStandardsStories: readonly PackDefinition[] = [
|
|
|
529
738
|
export default {
|
|
530
739
|
name: "pragma",
|
|
531
740
|
help: "Explore the design system",
|
|
741
|
+
// The `--help` wordmark. Data, not code: `kernel/copy.test.ts` forbids any
|
|
742
|
+
// kernel string from naming the distribution, and a wordmark spells the name.
|
|
743
|
+
// Lines rather than one string — the art holds a backtick and backslashes.
|
|
744
|
+
logo: [
|
|
745
|
+
" _",
|
|
746
|
+
" /' `\\",
|
|
747
|
+
" /' )",
|
|
748
|
+
" /' (___,/'____ ____ ____ ,__________ ____",
|
|
749
|
+
" /' )' )--/' ) /' ) /' ) ) /' )",
|
|
750
|
+
" /' /' /' /' /' /' /' /' /' /' /'",
|
|
751
|
+
"(,/' /' (___,/(__(___,/(__/' /' /(__(___,/(__",
|
|
752
|
+
" /'",
|
|
753
|
+
" / /'",
|
|
754
|
+
" (___,/'",
|
|
755
|
+
],
|
|
532
756
|
// The toolchain's own colophon — CONTENT this distribution declares, not
|
|
533
757
|
// machinery: `pragma colophon` renders whatever stands here as its first
|
|
534
758
|
// section, titled with the distribution's name, before any active pack's
|
|
@@ -537,60 +761,16 @@ export default {
|
|
|
537
761
|
// form. Both are BODIES with no leading H1 (the renderer supplies the
|
|
538
762
|
// heading), grounded in this tree's real architecture.
|
|
539
763
|
colophon: {
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
interpreter, a \`--dry-run\` planner, or an \`--undo\` reverser. Describe-then-
|
|
548
|
-
interpret means dry-run and undo come for free, and the dispatcher tells the two
|
|
549
|
-
worlds apart on one bit: \`capability.mutates\`.
|
|
550
|
-
|
|
551
|
-
## One grammar, many projections
|
|
552
|
-
|
|
553
|
-
Every capability is a \`VerbSpec\` — a noun, its params, its effect profile, its
|
|
554
|
-
formatters. The CLI commands, the MCP tools, shell completion, and the
|
|
555
|
-
surface/docs are all *projections* of that one shape, so they cannot drift. The
|
|
556
|
-
projected surface is frozen in a covenant (\`surface/surface.v2.json\`): a single
|
|
557
|
-
source of truth a test asserts the live grammar still emits, tool for tool.
|
|
558
|
-
|
|
559
|
-
## LLM-optimized output
|
|
560
|
-
|
|
561
|
-
Each verb renders three ways — \`plain\` for a terminal, \`json\` for the machine
|
|
562
|
-
envelope, and \`llm\` for condensed Markdown. \`--format llm\` (or a non-interactive
|
|
563
|
-
stdout) selects the agent form: the same data, shaped for a model to read. This
|
|
564
|
-
colophon is itself a showcase of that render model.
|
|
565
|
-
|
|
566
|
-
## Modular, storeless by construction
|
|
567
|
-
|
|
568
|
-
Capabilities ship as **modules** — named bundles of verbs with optional
|
|
569
|
-
boot / resource / prompt hooks. A verb declares whether it \`needsStore\`, and
|
|
570
|
-
the dispatcher boots the triple store *only* for those; a storeless verb
|
|
571
|
-
(\`info\`, \`config\`, \`capabilities\`, \`colophon\`) never pays for the graph.
|
|
572
|
-
|
|
573
|
-
## Scaffolding
|
|
574
|
-
|
|
575
|
-
\`pragma create\` scaffolds components, packages, and applications through the
|
|
576
|
-
\`@canonical/summon-*\` generators, reusing summon's rich Ink wizard when it runs
|
|
577
|
-
interactively.
|
|
578
|
-
|
|
579
|
-
## The domain reads as data
|
|
580
|
-
|
|
581
|
-
A domain is a **pack**: a declarative \`PackDefinition\` (its list / lookup
|
|
582
|
-
queries) compiled into verbs, backed by a content-addressed graphpack that
|
|
583
|
-
\`sources update\` builds once. Swap the pack and the same pragma serves a
|
|
584
|
-
different domain — including the domain colophon printed below this one.
|
|
764
|
+
// The architecture handoff is a URL, not a repo path: `docs/` is outside
|
|
765
|
+
// the package's `files` allowlist and is not copied into `dist`, so an
|
|
766
|
+
// installed user has no `docs/architecture.md` to open.
|
|
767
|
+
markdown: `pragma is a **domain-based toolchain** — one CLI and one MCP server
|
|
768
|
+
projected from a single grammar. That machinery is documented at
|
|
769
|
+
https://github.com/canonical/pragma/blob/main/packages/cli/pragma/docs/architecture.md;
|
|
770
|
+
what follows is the domain it serves.
|
|
585
771
|
|
|
586
772
|
Made by the Canonical Webteam — https://canonical.com.`,
|
|
587
|
-
summary: `pragma is a domain-based toolchain: one CLI + MCP server projected from a single
|
|
588
|
-
|
|
589
|
-
- **Effect monad** (\`@canonical/task\`): reads are async; a mutation returns an interpreted \`Task\`, so \`--dry-run\` and \`--undo\` are free. The dispatcher branches on \`capability.mutates\`.
|
|
590
|
-
- **One grammar, many projections**: CLI, MCP tools, completion, and docs all project one \`VerbSpec\`; the emitted surface is frozen in a covenant so the projections never drift.
|
|
591
|
-
- **LLM-optimized output**: every verb renders \`plain\` / \`json\` / \`llm\`; \`--format llm\` (or a piped stdout) emits condensed Markdown for agents.
|
|
592
|
-
- **Modular + storeless**: capability modules; the triple store boots only for \`needsStore\` verbs.
|
|
593
|
-
- **Domain as data**: a pack is a declarative \`PackDefinition\` compiled to verbs over a content-addressed graph built by \`sources update\`.
|
|
773
|
+
summary: `pragma is a domain-based toolchain: one CLI + MCP server projected from a single grammar (https://github.com/canonical/pragma/blob/main/packages/cli/pragma/docs/architecture.md). The domain it serves follows.
|
|
594
774
|
|
|
595
775
|
Made by the Canonical Webteam — https://canonical.com.`,
|
|
596
776
|
},
|
|
@@ -599,7 +779,7 @@ Made by the Canonical Webteam — https://canonical.com.`,
|
|
|
599
779
|
{
|
|
600
780
|
name: "@canonical/design-system",
|
|
601
781
|
source: "git+https://github.com/canonical/design-system.git#main",
|
|
602
|
-
stories: designSystemStories,
|
|
782
|
+
stories: [...designSystemStories, conceptStory],
|
|
603
783
|
},
|
|
604
784
|
{
|
|
605
785
|
name: "@canonical/anatomy-dsl",
|
|
@@ -610,6 +790,15 @@ Made by the Canonical Webteam — https://canonical.com.`,
|
|
|
610
790
|
source: "git+https://github.com/canonical/web-code-standards.git#main",
|
|
611
791
|
stories: codeStandardsStories,
|
|
612
792
|
},
|
|
793
|
+
// The implementation graph: ds:ImplementationLibrary / ds:ImplementationObject
|
|
794
|
+
// nodes collected from `@implements` annotations across this monorepo
|
|
795
|
+
// (regenerated each release into the root `data/` directory, which is what
|
|
796
|
+
// a git ref scans — the npm distribution is `@canonical/ds-implementations`).
|
|
797
|
+
{
|
|
798
|
+
name: "@canonical/ds-implementations",
|
|
799
|
+
source: "git+https://github.com/canonical/pragma.git#main",
|
|
800
|
+
stories: [implementationStory],
|
|
801
|
+
},
|
|
613
802
|
],
|
|
614
803
|
// This distribution's domain namespaces, declared once and read twice.
|
|
615
804
|
//
|