@canonical/pragma-cli 0.33.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 +25 -24
- package/pragma.conf.ts +853 -0
- package/src/bin.ts +276 -82
- package/src/capabilities/block.parity.test.ts +253 -0
- package/src/capabilities/capabilities/capabilities.render.ts +4 -3
- package/src/capabilities/capabilities/capabilities.verb.ts +32 -14
- package/src/capabilities/capabilities/catalog.ts +20 -12
- package/src/capabilities/capabilities/hints.ts +43 -24
- package/src/capabilities/capabilities/index.ts +1 -1
- package/src/capabilities/colophon/collectColophon.ts +50 -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 +9 -5
- package/src/capabilities/colophon/types.ts +16 -7
- package/src/capabilities/config/collectConfigShow.test.ts +58 -0
- package/src/capabilities/config/collectConfigShow.ts +43 -6
- package/src/capabilities/config/field.render.ts +4 -5
- package/src/capabilities/config/fields.ts +17 -37
- 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 +14 -9
- package/src/capabilities/config/show.render.test.ts +77 -5
- package/src/capabilities/config/show.render.ts +8 -13
- package/src/capabilities/config/show.verb.ts +13 -9
- package/src/capabilities/config/types.ts +26 -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 +95 -103
- package/src/capabilities/create/cliProjection.ts +227 -0
- package/src/capabilities/create/constants.ts +50 -0
- package/src/capabilities/create/create.mcp.test.ts +91 -7
- package/src/capabilities/create/create.render.ts +71 -7
- package/src/capabilities/create/create.test.ts +523 -162
- package/src/capabilities/create/create.verb.ts +361 -321
- 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 +9 -14
- 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 +40 -46
- package/src/capabilities/create/shippedCreate.subprocess.test.ts +164 -0
- package/src/capabilities/create/types.ts +29 -5
- package/src/capabilities/{standard/parity.test.ts → distribution.parity.test.ts} +24 -14
- package/src/capabilities/distribution.test.ts +122 -0
- package/src/capabilities/distribution.ts +54 -0
- package/src/capabilities/doctor/checks/checkKeStore.ts +9 -7
- package/src/capabilities/doctor/checks/checkPackageRefs.ts +82 -46
- package/src/capabilities/doctor/checks/checkPragmaVersion.ts +5 -4
- package/src/capabilities/doctor/checks/checkShellCompletions.test.ts +125 -30
- package/src/capabilities/doctor/checks/checkShellCompletions.ts +113 -27
- 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 +24 -13
- package/src/capabilities/doctor/doctor.render.ts +45 -20
- package/src/capabilities/doctor/doctor.test.ts +158 -40
- package/src/capabilities/doctor/doctor.verb.ts +9 -5
- package/src/capabilities/doctor/runChecks.ts +65 -66
- package/src/capabilities/doctor/types.ts +21 -5
- package/src/capabilities/emptyRecovery.test.ts +44 -22
- 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 -5
- package/src/capabilities/graph/query.render.ts +15 -3
- package/src/capabilities/graph/query.verb.ts +5 -4
- package/src/capabilities/graph/runQuery.ts +9 -7
- package/src/capabilities/index.ts +25 -19
- package/src/capabilities/info/collectInfo.ts +15 -10
- package/src/capabilities/info/info.render.ts +4 -3
- package/src/capabilities/info/info.verb.ts +4 -3
- package/src/capabilities/lazy.test.ts +125 -2
- 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 +42 -83
- package/src/capabilities/prompt/index.ts +2 -2
- package/src/capabilities/prompt/prompt.render.ts +6 -2
- package/src/capabilities/prompt/prompt.test.ts +12 -6
- package/src/capabilities/prompt/types.ts +1 -1
- package/src/capabilities/prompt/verbs.ts +26 -14
- package/src/capabilities/reference.test.ts +63 -0
- package/src/capabilities/resources/provider.ts +367 -91
- package/src/capabilities/resources/resources.test.ts +411 -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 +397 -320
- 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 +233 -74
- package/src/capabilities/setup/shell.test.ts +86 -0
- package/src/capabilities/setup/shell.ts +166 -14
- 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 +47 -9
- package/src/capabilities/skill/index.ts +1 -1
- package/src/capabilities/skill/render.ts +14 -14
- package/src/capabilities/skill/skill.test.ts +7 -5
- package/src/capabilities/skill/verbs.ts +9 -10
- package/src/capabilities/sources/collectStatus.ts +61 -51
- package/src/capabilities/sources/index.ts +2 -2
- package/src/capabilities/sources/installSkills.ts +86 -9
- package/src/capabilities/sources/runUpdate.ts +164 -141
- package/src/capabilities/sources/sources.test.ts +265 -119
- package/src/capabilities/sources/status.render.test.ts +53 -24
- package/src/capabilities/sources/status.render.ts +25 -30
- package/src/capabilities/sources/status.verb.ts +16 -9
- package/src/capabilities/sources/types.ts +18 -25
- package/src/capabilities/sources/update.render.ts +10 -3
- package/src/capabilities/sources/update.verb.ts +13 -24
- package/src/capabilities/surface.test.ts +165 -25
- package/src/capabilities/tier.parity.test.ts +144 -0
- 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 +8 -4
- 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.test.ts +8 -6
- package/src/constants.ts +78 -22
- package/src/identity.test.ts +348 -0
- package/src/index.ts +2 -2
- package/src/kernel/completion/__snapshots__/emitScripts.test.ts.snap +20 -15
- package/src/kernel/completion/complete.test.ts +12 -2
- package/src/kernel/completion/complete.ts +1 -1
- package/src/kernel/completion/emitScripts.test.ts +1 -1
- package/src/kernel/completion/emitScripts.ts +5 -3
- package/src/kernel/completion/entitySource.test.ts +185 -41
- package/src/kernel/completion/entitySource.ts +133 -110
- package/src/kernel/completion/model.test.ts +165 -13
- package/src/kernel/completion/model.ts +105 -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 +104 -50
- package/src/kernel/completion/shellDrive.test.ts +611 -0
- package/src/kernel/completion/templates/bash.ts +7 -2
- package/src/kernel/completion/templates/fish.ts +28 -6
- package/src/kernel/completion/templates/index.ts +23 -0
- package/src/kernel/completion/types.ts +10 -3
- package/src/kernel/config/defaults.test.ts +108 -0
- package/src/kernel/config/defaults.ts +13 -23
- package/src/kernel/config/evaluateProjectConfig.ts +33 -11
- package/src/kernel/config/findProjectConfig.ts +4 -3
- package/src/kernel/config/firstRun.test.ts +44 -38
- package/src/kernel/config/firstRun.ts +24 -81
- package/src/kernel/config/globalConfig.ts +2 -2
- package/src/kernel/config/index.ts +5 -6
- package/src/kernel/config/paths.ts +17 -17
- package/src/kernel/config/readConfig.test.ts +246 -7
- package/src/kernel/config/readConfig.ts +8 -8
- package/src/kernel/config/schema.test.ts +50 -0
- package/src/kernel/config/schema.ts +100 -11
- package/src/kernel/config/types.ts +75 -19
- package/src/kernel/copy.test.ts +483 -0
- package/src/kernel/copy.ts +54 -0
- package/src/kernel/error/PragmaError.test.ts +6 -3
- package/src/kernel/error/PragmaError.ts +4 -2
- package/src/kernel/error/constants.ts +7 -4
- package/src/kernel/error/fromTaskError.ts +28 -6
- package/src/kernel/error/index.ts +1 -1
- package/src/kernel/error/recovery.test.ts +22 -45
- package/src/kernel/error/recovery.ts +36 -27
- package/src/kernel/error/renderError.ts +42 -1
- package/src/kernel/error/types.ts +25 -4
- package/src/kernel/index.ts +26 -0
- package/src/kernel/packs/collect.test.ts +195 -11
- package/src/kernel/packs/collect.ts +212 -61
- package/src/kernel/packs/compile.test.ts +293 -8
- package/src/kernel/packs/compile.ts +108 -15
- package/src/kernel/packs/disclosure.test.ts +5 -2
- package/src/kernel/packs/disclosure.ts +2 -2
- package/src/kernel/packs/graphql/buildLookupDocument.ts +1 -1
- package/src/kernel/packs/graphql/fetchGraphqlLookup.ts +13 -13
- package/src/kernel/packs/graphql/index.ts +20 -0
- package/src/kernel/packs/graphqlSource.test.ts +6 -3
- package/src/kernel/packs/index.ts +40 -0
- package/src/kernel/packs/iri.test.ts +73 -0
- package/src/kernel/packs/iri.ts +70 -20
- package/src/kernel/packs/renderPack.ts +28 -7
- package/src/kernel/packs/resolveEntity.test.ts +213 -0
- package/src/kernel/packs/resolveEntity.ts +132 -34
- package/src/kernel/packs/runBodies.ts +16 -16
- package/src/kernel/packs/sample.ts +1 -1
- package/src/kernel/packs/schema.ts +114 -11
- 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 +104 -10
- package/src/kernel/packs/sparql/runSelect.ts +75 -37
- package/src/kernel/packs/toolDescription.test.ts +52 -5
- package/src/kernel/packs/types.ts +52 -4
- package/src/kernel/packs/uniqueness.ts +5 -5
- package/src/kernel/project/cli/buildProgram.test.ts +157 -17
- 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 +227 -3
- package/src/kernel/project/cli/dispatch.ts +250 -48
- 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 +14 -1
- package/src/kernel/project/cli/rootHelp.ts +140 -111
- 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 +18 -10
- package/src/kernel/project/mcp/envelope.ts +2 -2
- package/src/kernel/project/mcp/instructions.ts +12 -7
- package/src/kernel/project/mcp/mcpError.ts +1 -1
- package/src/kernel/project/mcp/parity.test.ts +42 -1
- package/src/kernel/project/mcp/prompts/index.ts +37 -0
- package/src/kernel/project/mcp/prompts/prompts.test.ts +120 -5
- package/src/kernel/project/mcp/prompts/provider.ts +22 -8
- package/src/kernel/project/mcp/prompts/source.ts +69 -68
- package/src/kernel/project/mcp/registerVerb.ts +56 -11
- package/src/kernel/project/mcp/serve.ts +13 -5
- package/src/kernel/project/mcp/toolDescriptions.test.ts +6 -2
- package/src/kernel/render/__snapshots__/renderers.test.ts.snap +7 -4
- package/src/kernel/render/contracts.ts +21 -0
- package/src/kernel/render/disclosure.ts +4 -2
- package/src/kernel/render/envelope.ts +2 -3
- package/src/kernel/render/formatters.ts +1 -1
- package/src/kernel/render/prefixes.test.ts +36 -0
- package/src/kernel/render/prefixes.ts +40 -13
- package/src/kernel/render/renderers.test.ts +244 -7
- 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/build.ts +29 -3
- package/src/kernel/runtime/graphpack/buildIndex.test.ts +46 -0
- package/src/kernel/runtime/graphpack/buildIndex.ts +53 -18
- package/src/kernel/runtime/graphpack/embedded/pack.generated.ts +5 -5
- package/src/kernel/runtime/graphpack/embedded/pack.index.generated.ts +3 -3
- package/src/kernel/runtime/graphpack/embedded/pack.stories.generated.ts +3 -0
- package/src/kernel/runtime/graphpack/embedded.ts +39 -13
- package/src/kernel/runtime/graphpack/graphpack.test.ts +205 -5
- package/src/kernel/runtime/graphpack/hash.ts +3 -2
- package/src/kernel/runtime/graphpack/index.ts +1 -1
- package/src/kernel/runtime/graphpack/manifest.ts +114 -12
- package/src/kernel/runtime/graphpack/read.ts +5 -11
- package/src/kernel/runtime/graphpack/schemas.ts +74 -0
- package/src/kernel/runtime/graphpack/stories.ts +84 -0
- package/src/kernel/runtime/graphpack/types.ts +61 -48
- package/src/kernel/runtime/loadSession.ts +1 -1
- package/src/kernel/runtime/paths.ts +64 -15
- package/src/kernel/runtime/probe.test.ts +8 -4
- package/src/kernel/runtime/probe.ts +6 -6
- package/src/kernel/runtime/readEntity.ts +477 -32
- package/src/kernel/runtime/refs/gitOps.ts +1 -19
- package/src/kernel/runtime/refs/index.ts +39 -0
- package/src/kernel/runtime/refs/parseRef.ts +8 -8
- package/src/kernel/runtime/refs/resolve.ts +82 -66
- package/src/kernel/runtime/resolveSources.test.ts +63 -24
- package/src/kernel/runtime/resolveSources.ts +36 -25
- package/src/kernel/runtime/storeReadiness.ts +10 -10
- package/src/kernel/runtime/storeless.test.ts +1 -1
- package/src/kernel/runtime/types.ts +15 -1
- package/src/kernel/runtime/wasmEmbed.test.ts +56 -55
- package/src/kernel/spec/emitReference.test.ts +3 -3
- package/src/kernel/spec/emitReference.ts +242 -34
- package/src/kernel/spec/emitSurface.ts +57 -11
- package/src/kernel/spec/surfaceConformance.test.ts +4 -2
- package/src/kernel/spec/surfaceConformance.ts +8 -0
- package/src/kernel/spec/types.ts +277 -13
- package/src/kernel/spec/validate.ts +2 -1
- package/src/kernel/vocabulary.test.ts +164 -0
- package/src/kernel/vocabulary.ts +146 -0
- package/src/testing/PARITY_GAPS.ts +8 -2
- package/src/testing/behavioral/README.md +3 -3
- package/src/testing/behavioral/completion.test.ts +19 -6
- package/src/testing/behavioral/docExamples.test.ts +14 -0
- package/src/testing/behavioral/errorMatrix.mcp.test.ts +6 -5
- package/src/testing/behavioral/errorMatrix.storeless.test.ts +1 -1
- package/src/testing/behavioral/exitCodes.e2e.test.ts +6 -5
- package/src/testing/behavioral/firstRun.e2e.test.ts +24 -24
- package/src/testing/behavioral/harness.foundation.test.ts +14 -5
- package/src/testing/behavioral/journeys.cli.test.ts +117 -76
- package/src/testing/behavioral/journeys.defaultPack.test.ts +88 -182
- package/src/testing/behavioral/journeys.firstInstall.test.ts +167 -0
- 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.mcpLifecycle.mcp.test.ts +9 -6
- package/src/testing/behavioral/journeys.packageStories.test.ts +188 -0
- package/src/testing/behavioral/liveReadSurface.ts +4 -3
- package/src/testing/behavioral/mcpServe.e2e.test.ts +57 -2
- package/src/testing/behavioral/mcpSurface.test.ts +10 -5
- package/src/testing/behavioral/rootCli.e2e.test.ts +26 -2
- package/src/testing/behavioral/staleCommands.test.ts +10 -0
- package/src/testing/eval/__snapshots__/eval.test.ts.snap +7 -7
- package/src/testing/eval/cases/assembly.ts +13 -6
- package/src/testing/eval/cases/effectful.ts +28 -15
- package/src/testing/eval/cases/readNouns.ts +22 -20
- package/src/testing/eval/cases/stable.ts +5 -1
- package/src/testing/eval/eval.test.ts +7 -1
- package/src/testing/fixtures/blockGraph.ts +79 -0
- package/src/testing/fixtures/fixtureCapability.ts +45 -1
- package/src/testing/fixtures/graph/canonical.ts +94 -5
- package/src/testing/fixtures/graph/defaultPack.ts +7 -6
- package/src/testing/fixtures/graph/owlExport.ts +7 -5
- package/src/testing/helpers/blankCanonicalRanges.ts +36 -0
- package/src/testing/helpers/fixtureGraph.ts +33 -16
- package/src/testing/helpers/packRuntime.ts +2 -3
- package/src/testing/helpers/projectCli.ts +2 -1
- package/src/testing/helpers/projectMcp.ts +38 -6
- package/src/testing/helpers/runCli.ts +35 -18
- package/src/testing/perf/budgets.test.ts +24 -9
- package/src/testing/perf/budgets.ts +76 -12
- package/src/testing/perf/codegen.test.ts +126 -0
- package/src/testing/perf/globalSetup.test.ts +286 -0
- package/src/testing/perf/globalSetup.ts +611 -14
- 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/src/types.ts +2 -2
- package/dist/pragma +0 -0
- package/src/capabilities/block/blockList.test.ts +0 -79
- package/src/capabilities/block/blockList.verb.ts +0 -163
- package/src/capabilities/block/index.ts +0 -25
- package/src/capabilities/block/pack.ts +0 -166
- package/src/capabilities/block/parity.test.ts +0 -187
- package/src/capabilities/block/tierChain.ts +0 -78
- package/src/capabilities/colophon/pragmaColophon.ts +0 -66
- package/src/capabilities/create/compiledCreate.subprocess.test.ts +0 -152
- package/src/capabilities/create/templates.embedded.generated.ts +0 -53
- package/src/capabilities/doctor/checks/checkConfigFile.ts +0 -41
- package/src/capabilities/doctor/checks/checkMcpCommands.ts +0 -114
- package/src/capabilities/doctor/checks/checkMcpConfigured.ts +0 -67
- package/src/capabilities/doctor/checks/checkSkillsSymlinked.ts +0 -60
- package/src/capabilities/doctor/checks/deriveBand.test.ts +0 -42
- package/src/capabilities/doctor/checks/deriveBand.ts +0 -28
- package/src/capabilities/modifier/index.ts +0 -15
- package/src/capabilities/modifier/pack.ts +0 -64
- package/src/capabilities/standard/index.ts +0 -18
- package/src/capabilities/standard/pack.ts +0 -128
- package/src/capabilities/tier/index.ts +0 -19
- package/src/capabilities/tier/lookup.render.test.ts +0 -72
- package/src/capabilities/tier/lookup.render.ts +0 -59
- package/src/capabilities/tier/lookup.test.ts +0 -83
- package/src/capabilities/tier/lookup.verb.ts +0 -44
- package/src/capabilities/tier/pack.ts +0 -28
- package/src/capabilities/tier/runLookup.ts +0 -87
- package/src/capabilities/token/addConfig.render.ts +0 -27
- package/src/capabilities/token/addConfig.test.ts +0 -62
- package/src/capabilities/token/addConfig.verb.ts +0 -40
- package/src/capabilities/token/index.ts +0 -19
- package/src/capabilities/token/pack.ts +0 -58
- package/src/capabilities/token/runAddConfig.ts +0 -95
- package/src/kernel/completion/bashDrive.test.ts +0 -73
- package/src/kernel/config/__snapshots__/firstRun.test.ts.snap +0 -11
- package/src/kernel/runtime/graphpack/embedded/sample.ttl +0 -39
- package/src/kernel/runtime/lock.ts +0 -90
|
@@ -1,46 +1,44 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The capability registry:
|
|
3
|
-
*
|
|
2
|
+
* The capability registry: every capability module the projectors consume
|
|
3
|
+
* (D8 — test-only fixtures are never listed here).
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* Two sources, in this order: the literal array of AUTHORED modules (in
|
|
6
|
+
* authoring order; projectors sort where they need to), then every story
|
|
7
|
+
* `pragma.conf.ts` declares that no authored module already claims. Since
|
|
8
|
+
* L-OPEN-9 no DATA noun is authored — the authored array is the kernel's own
|
|
9
|
+
* nouns and nothing else, and every design-system noun appears only in the
|
|
10
|
+
* config. No noun literal is written here: the second half is derived.
|
|
11
|
+
*
|
|
12
|
+
* Importing this barrel pulls only spec + formatter modules — every run body is
|
|
13
|
+
* behind a lazy dynamic import, and `distribution.ts` is zod-free — so the
|
|
9
14
|
* `--help`/`__complete` fast paths stay free of the config reader and zod.
|
|
10
15
|
*/
|
|
11
16
|
|
|
12
|
-
import type { CapabilityModule } from "../kernel/spec/
|
|
13
|
-
import { blockModule } from "./block/index.js";
|
|
17
|
+
import type { CapabilityModule } from "../kernel/spec/index.js";
|
|
14
18
|
import { capabilitiesModule } from "./capabilities/index.js";
|
|
15
19
|
import { colophonModule } from "./colophon/index.js";
|
|
16
20
|
import { configModule } from "./config/index.js";
|
|
17
21
|
import { createModule } from "./create/index.js";
|
|
22
|
+
import { storyModules } from "./distribution.js";
|
|
18
23
|
import { doctorModule } from "./doctor/index.js";
|
|
19
24
|
import { graphModule } from "./graph/index.js";
|
|
20
25
|
import { infoModule } from "./info/index.js";
|
|
21
26
|
import { metaModule } from "./meta/index.js";
|
|
22
|
-
import { modifierModule } from "./modifier/index.js";
|
|
23
27
|
import { ontologyModule } from "./ontology/index.js";
|
|
24
28
|
import { promptModule } from "./prompt/index.js";
|
|
25
29
|
import { setupModule } from "./setup/index.js";
|
|
26
30
|
import { skillModule } from "./skill/index.js";
|
|
27
31
|
import { sourcesModule } from "./sources/index.js";
|
|
28
|
-
import { standardModule } from "./standard/index.js";
|
|
29
|
-
import { tierModule } from "./tier/index.js";
|
|
30
|
-
import { tokenModule } from "./token/index.js";
|
|
31
32
|
import { upgradeModule } from "./upgrade/index.js";
|
|
33
|
+
import { versionModule } from "./version/index.js";
|
|
32
34
|
|
|
33
|
-
/**
|
|
34
|
-
|
|
35
|
+
/** The modules with hand-written code, in authoring order. */
|
|
36
|
+
const authored: readonly CapabilityModule[] = [
|
|
35
37
|
infoModule,
|
|
38
|
+
versionModule,
|
|
36
39
|
configModule,
|
|
37
40
|
createModule,
|
|
38
41
|
sourcesModule,
|
|
39
|
-
standardModule,
|
|
40
|
-
tierModule,
|
|
41
|
-
modifierModule,
|
|
42
|
-
tokenModule,
|
|
43
|
-
blockModule,
|
|
44
42
|
ontologyModule,
|
|
45
43
|
skillModule,
|
|
46
44
|
graphModule,
|
|
@@ -52,3 +50,11 @@ export const capabilities: readonly CapabilityModule[] = [
|
|
|
52
50
|
colophonModule,
|
|
53
51
|
metaModule,
|
|
54
52
|
];
|
|
53
|
+
|
|
54
|
+
const claimed = new Set(authored.map((module) => module.name));
|
|
55
|
+
|
|
56
|
+
/** Every capability module: the authored ones, then the unclaimed declared stories. */
|
|
57
|
+
export const capabilities: readonly CapabilityModule[] = [
|
|
58
|
+
...authored,
|
|
59
|
+
...[...storyModules.values()].filter((module) => !claimed.has(module.name)),
|
|
60
|
+
];
|
|
@@ -6,23 +6,27 @@
|
|
|
6
6
|
* the npm registry — this deliberately REVERSES PR1's networkless-D11 stance for
|
|
7
7
|
* `info` (the reversal IS the enrichment), unconditional because the covenant
|
|
8
8
|
* `info` verb carries no flag, 3s timeout, silent-fail — and (b) a storeless
|
|
9
|
-
* entity total from the
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* entity total, read from the index of whichever pack the boot decision names
|
|
10
|
+
* (`resolveSources` → `readPackIndex`, the same predicate `sources status` and
|
|
11
|
+
* `doctor` switch on) so `info` never counts a graph this project's reads
|
|
12
|
+
* refuse. Neither enrichment boots the store, so the storeless-guarantee spy
|
|
13
|
+
* still sees `store.booted === false`. Kept out of the spec module so building
|
|
14
|
+
* the command tree never pulls it onto the `--help` fast path.
|
|
13
15
|
*/
|
|
14
16
|
|
|
15
17
|
import {
|
|
16
18
|
entityTotal,
|
|
17
19
|
readPackIndex,
|
|
18
20
|
} from "../../kernel/completion/entitySource.js";
|
|
19
|
-
import { readConfig } from "../../kernel/config/
|
|
20
|
-
import type { PragmaRuntime } from "../../kernel/runtime/
|
|
21
|
+
import { readConfig } from "../../kernel/config/index.js";
|
|
22
|
+
import type { PragmaRuntime } from "../../kernel/runtime/index.js";
|
|
23
|
+
import { resolveSources } from "../../kernel/runtime/resolveSources.js";
|
|
21
24
|
import {
|
|
25
|
+
checkRegistryVersion,
|
|
22
26
|
detectInstallSource,
|
|
27
|
+
PRAGMA_PACKAGE,
|
|
23
28
|
pmUpdateCommand,
|
|
24
|
-
} from "../shared/
|
|
25
|
-
import { checkRegistryVersion, PRAGMA_PACKAGE } from "../shared/registry.js";
|
|
29
|
+
} from "../shared/index.js";
|
|
26
30
|
import type { InfoData, InfoUpdate } from "./types.js";
|
|
27
31
|
|
|
28
32
|
/**
|
|
@@ -50,8 +54,9 @@ export async function collectInfo(runtime: PragmaRuntime): Promise<InfoData> {
|
|
|
50
54
|
: undefined;
|
|
51
55
|
const updateSkipped = registry === undefined;
|
|
52
56
|
|
|
53
|
-
// Entity total: storeless
|
|
54
|
-
|
|
57
|
+
// Entity total: storeless, over the pack the boot decision names — so a
|
|
58
|
+
// configured-but-unbuilt project reports no total rather than the snapshot's.
|
|
59
|
+
const index = readPackIndex(resolveSources(layers, runtime.cwd));
|
|
55
60
|
const entities = index ? entityTotal(index) : undefined;
|
|
56
61
|
|
|
57
62
|
return {
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
* Formatters for `pragma info` — plain, llm, json (no ink).
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
+
import { BIN_NAME } from "../../constants.js";
|
|
5
6
|
import type { ConfigOrigin } from "../../kernel/config/types.js";
|
|
6
|
-
import type { Formatters } from "../../kernel/spec/
|
|
7
|
+
import type { Formatters } from "../../kernel/spec/index.js";
|
|
7
8
|
import type { InfoData } from "./types.js";
|
|
8
9
|
|
|
9
10
|
/** A `[layer]` marker for values a config file supplied (blank for defaults). */
|
|
@@ -15,7 +16,7 @@ export const infoFormatters: Formatters<InfoData> = {
|
|
|
15
16
|
plain(data) {
|
|
16
17
|
const { config } = data;
|
|
17
18
|
const lines = [
|
|
18
|
-
|
|
19
|
+
`${BIN_NAME} v${data.version}`,
|
|
19
20
|
` Installed via: ${data.installSource}`,
|
|
20
21
|
` tier: ${config.tier ?? "(none)"}${originMarker(config.origins.tier)}`,
|
|
21
22
|
` channel: ${config.channel}${originMarker(config.origins.channel)}`,
|
|
@@ -45,7 +46,7 @@ export const infoFormatters: Formatters<InfoData> = {
|
|
|
45
46
|
llm(data) {
|
|
46
47
|
const { config } = data;
|
|
47
48
|
const lines = [
|
|
48
|
-
`#
|
|
49
|
+
`# ${BIN_NAME} v${data.version}`,
|
|
49
50
|
`- Installed via: ${data.installSource}`,
|
|
50
51
|
`- Tier: ${config.tier ?? "(none)"}${originMarker(config.origins.tier)}`,
|
|
51
52
|
`- Channel: ${config.channel}${originMarker(config.origins.channel)}`,
|
|
@@ -6,8 +6,9 @@
|
|
|
6
6
|
* the config reader or zod onto the fast path.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
import { BIN_NAME } from "../../constants.js";
|
|
9
10
|
import { asVerb } from "../../kernel/spec/asVerb.js";
|
|
10
|
-
import type { CapabilityModule, VerbSpec } from "../../kernel/spec/
|
|
11
|
+
import type { CapabilityModule, VerbSpec } from "../../kernel/spec/index.js";
|
|
11
12
|
import { infoFormatters } from "./info.render.js";
|
|
12
13
|
import type { InfoData } from "./types.js";
|
|
13
14
|
|
|
@@ -18,9 +19,9 @@ const infoVerb: VerbSpec<Record<string, unknown>, InfoData> = {
|
|
|
18
19
|
params: [],
|
|
19
20
|
output: { formatters: infoFormatters },
|
|
20
21
|
examples: [
|
|
21
|
-
{ cmd:
|
|
22
|
+
{ cmd: `${BIN_NAME} info`, note: "human-readable summary" },
|
|
22
23
|
{
|
|
23
|
-
cmd:
|
|
24
|
+
cmd: `${BIN_NAME} info --format json`,
|
|
24
25
|
note: "the full {ok,data,meta} envelope",
|
|
25
26
|
},
|
|
26
27
|
],
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
-
import { dirname, resolve } from "node:path";
|
|
2
|
+
import { dirname, relative, resolve } from "node:path";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
4
|
import { describe, expect, it } from "vitest";
|
|
5
5
|
|
|
@@ -45,10 +45,63 @@ describe("lazy dispatch — module-graph probe (PROTECTED)", () => {
|
|
|
45
45
|
expect(has(graph, "info/info.render.ts")).toBe(true);
|
|
46
46
|
expect(has(graph, "config/show.render.ts")).toBe(true);
|
|
47
47
|
|
|
48
|
-
// ...but run bodies and the config
|
|
48
|
+
// ...but run bodies and the config LAYER stay behind the dynamic boundary:
|
|
49
|
+
// no reader, no defaults layer, no zod schema. The distribution config
|
|
50
|
+
// itself IS on the graph — `constants.ts` projects the program's identity
|
|
51
|
+
// from it, `render/prefixes.ts` its domain namespaces and
|
|
52
|
+
// `kernel/vocabulary.ts` its domain terms — which is safe only because it
|
|
53
|
+
// is inert data (pinned below).
|
|
49
54
|
expect(has(graph, "info/collectInfo.ts")).toBe(false);
|
|
50
55
|
expect(has(graph, "config/collectConfigShow.ts")).toBe(false);
|
|
51
56
|
expect(has(graph, "kernel/config/readConfig.ts")).toBe(false);
|
|
57
|
+
expect(has(graph, "kernel/config/defaults.ts")).toBe(false);
|
|
58
|
+
expect(has(graph, "kernel/config/schema.ts")).toBe(false);
|
|
59
|
+
expect(has(graph, "pragma.conf.ts")).toBe(true);
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it("the distribution config is inert data — it imports nothing that runs", () => {
|
|
63
|
+
const conf = resolve(here, "../../pragma.conf.ts");
|
|
64
|
+
const pkgRoot = resolve(here, "../..");
|
|
65
|
+
// The graph walker follows `from "…"` textually and cannot tell an
|
|
66
|
+
// `import type` from a value import, so the type-only `config/types.ts`
|
|
67
|
+
// and `packs/types.ts` show up here even though nothing of either survives
|
|
68
|
+
// compilation. Assert that NO file on the graph has a value import — not
|
|
69
|
+
// just the conf. That is the claim in the title, and it is what keeps
|
|
70
|
+
// `--help`/`__complete`/`--version` free of module-init work when another
|
|
71
|
+
// lane or a fork edits any of these three (`packs/types.ts` in particular
|
|
72
|
+
// is the grammar that type-checks the declared stories, and its own
|
|
73
|
+
// docblock promises it stays zod-free BECAUSE it lands here).
|
|
74
|
+
const graph = [...staticImportGraph(conf)];
|
|
75
|
+
for (const file of graph) {
|
|
76
|
+
expect(readFileSync(file, "utf-8"), file).not.toMatch(
|
|
77
|
+
/^import (?!type\b)/m,
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
// The enumeration is exact, not a subset: a type import from a module that
|
|
81
|
+
// itself imports something grows this list and fails here.
|
|
82
|
+
expect(graph.map((f) => relative(pkgRoot, f)).sort()).toEqual([
|
|
83
|
+
"pragma.conf.ts",
|
|
84
|
+
"src/kernel/config/types.ts",
|
|
85
|
+
"src/kernel/packs/types.ts",
|
|
86
|
+
]);
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
it("the dispatch path never reaches the embedded n-quads module (PROTECTED)", () => {
|
|
90
|
+
// `activeStories` reads the pack's carried stories from their OWN generated
|
|
91
|
+
// module rather than through `graphpack/embedded.ts`, which statically
|
|
92
|
+
// imports the ~1.9 MB `pack.generated.ts`. Restoring that edge costs a
|
|
93
|
+
// measured +23 ms on EVERY dispatched command, and the whole test suite
|
|
94
|
+
// passes with it restored — the split is prose in three docblocks and
|
|
95
|
+
// nothing else. This is the constraint those docblocks describe.
|
|
96
|
+
for (const entry of [
|
|
97
|
+
"../kernel/packs/collect.ts",
|
|
98
|
+
"../kernel/runtime/graphpack/stories.ts",
|
|
99
|
+
"../kernel/runtime/resolveSources.ts",
|
|
100
|
+
]) {
|
|
101
|
+
const graph = staticImportGraph(resolve(here, entry));
|
|
102
|
+
expect(has(graph, "embedded/pack.generated.ts"), entry).toBe(false);
|
|
103
|
+
expect(has(graph, "graphpack/embedded.ts"), entry).toBe(false);
|
|
104
|
+
}
|
|
52
105
|
});
|
|
53
106
|
|
|
54
107
|
it("the help path (buildProgram) imports no zod schema module", () => {
|
|
@@ -86,4 +139,74 @@ describe("lazy dispatch — module-graph probe (PROTECTED)", () => {
|
|
|
86
139
|
}
|
|
87
140
|
}
|
|
88
141
|
});
|
|
142
|
+
|
|
143
|
+
// The create surface's registration machinery — summon-core's projection
|
|
144
|
+
// helpers, its Commander adapter, and Commander itself — must stay behind
|
|
145
|
+
// the mount's dynamic import: `--help` and `__complete` both import this
|
|
146
|
+
// barrel and neither registers a single create command, so an eager edge
|
|
147
|
+
// here taxes every fast-path spawn for work only a dispatched `create`
|
|
148
|
+
// invocation performs. The registered flag/positional spellings the fast
|
|
149
|
+
// paths DO need (completion tokens, reference syntax) are baked into
|
|
150
|
+
// `createSurface.generated.ts` at build time, so nothing on this graph has
|
|
151
|
+
// to call the projection to learn them. Type-only imports are allowed —
|
|
152
|
+
// they are erased — which is why this walks import STATEMENTS rather than
|
|
153
|
+
// grepping for the specifier.
|
|
154
|
+
it("capabilities/index pulls no summon-core projection, adapter, or commander value import (PROTECTED)", () => {
|
|
155
|
+
const banned = [/^@canonical\/summon-core\/projection/, /^commander$/];
|
|
156
|
+
const graph = staticImportGraph(resolve(here, "index.ts"));
|
|
157
|
+
const pkgRoot = resolve(here, "..", "..");
|
|
158
|
+
// Anchored to line start so the word "import" inside a docblock cannot
|
|
159
|
+
// open a match that swallows prose down to the next real specifier.
|
|
160
|
+
const importRe = /^import\s+([^;]*?)from\s*["']([^"']+)["']/gm;
|
|
161
|
+
const offenders: string[] = [];
|
|
162
|
+
for (const file of graph) {
|
|
163
|
+
const source = readFileSync(file, "utf-8");
|
|
164
|
+
for (const match of source.matchAll(importRe)) {
|
|
165
|
+
const clause = match[1] as string;
|
|
166
|
+
const specifier = match[2] as string;
|
|
167
|
+
if (!banned.some((re) => re.test(specifier))) continue;
|
|
168
|
+
if (/^type\s/.test(clause.trim())) continue;
|
|
169
|
+
offenders.push(`${relative(pkgRoot, file)} → ${specifier}`);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
expect(offenders).toEqual([]);
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
it("NO module on that graph statically imports zod (PROTECTED)", () => {
|
|
176
|
+
// This used to pin an exact set of one — `graphpack/types.ts`, reached via
|
|
177
|
+
// `resolveSources` → `packIsComplete` → `readManifest` → `manifestSchema
|
|
178
|
+
// .parse` — as the one genuine zod value import on the storeless graph,
|
|
179
|
+
// measured at ~3–4 ms of a ~30 ms budget. Its own comment said an exact set
|
|
180
|
+
// was what would make the day it got fixed impossible to miss. That day is
|
|
181
|
+
// this commit: the schemas moved to `graphpack/schemas.ts`, imported only by
|
|
182
|
+
// the two readers already off the fast path, and `readManifest` validates
|
|
183
|
+
// structurally instead.
|
|
184
|
+
//
|
|
185
|
+
// The set is now EMPTY, which is strictly stronger than the pin it replaces:
|
|
186
|
+
// it no longer tolerates one named module, so a brand-new module value-
|
|
187
|
+
// importing zod fails here too — the gap the previous form left open.
|
|
188
|
+
const graph = staticImportGraph(resolve(here, "index.ts"));
|
|
189
|
+
const pkgRoot = resolve(here, "..", "..");
|
|
190
|
+
const zodImporters = [...graph]
|
|
191
|
+
.filter((file) => /from\s*["']zod["']/.test(readFileSync(file, "utf-8")))
|
|
192
|
+
.map((file) => relative(pkgRoot, file))
|
|
193
|
+
.sort();
|
|
194
|
+
expect(zodImporters).toEqual([]);
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
it("the help path (buildProgram) imports zod from nowhere (PROTECTED)", () => {
|
|
198
|
+
// The named-module check above (`kernel/config/schema.ts`,
|
|
199
|
+
// `kernel/spec/validate.ts`) could only catch the two modules it names — a
|
|
200
|
+
// third zod importer reaching the help path would have passed it silently.
|
|
201
|
+
// Generalized (ruling R4) to the property those names were standing in for.
|
|
202
|
+
const graph = staticImportGraph(
|
|
203
|
+
resolve(here, "../kernel/project/cli/buildProgram.ts"),
|
|
204
|
+
);
|
|
205
|
+
const pkgRoot = resolve(here, "..", "..");
|
|
206
|
+
const zodImporters = [...graph]
|
|
207
|
+
.filter((file) => /from\s*["']zod["']/.test(readFileSync(file, "utf-8")))
|
|
208
|
+
.map((file) => relative(pkgRoot, file))
|
|
209
|
+
.sort();
|
|
210
|
+
expect(zodImporters).toEqual([]);
|
|
211
|
+
});
|
|
89
212
|
});
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* Storeless: the entity tier reads the index off disk, never booting the store.
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import type { VerbSpec } from "../../kernel/spec/
|
|
13
|
+
import type { VerbSpec } from "../../kernel/spec/index.js";
|
|
14
14
|
|
|
15
15
|
/** The `__complete` verb spec. */
|
|
16
16
|
export const completeVerb: VerbSpec<Record<string, unknown>, string[]> = {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { asVerb } from "../../kernel/spec/asVerb.js";
|
|
7
|
-
import type { CapabilityModule } from "../../kernel/spec/
|
|
7
|
+
import type { CapabilityModule } from "../../kernel/spec/index.js";
|
|
8
8
|
import { completeVerb } from "./complete.verb.js";
|
|
9
9
|
import { mcpVerb } from "./mcp.verb.js";
|
|
10
10
|
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* `mcp serve` — the MCP server entry point.
|
|
3
3
|
*
|
|
4
|
-
* The server is not an agent tool, so it is withheld from MCP with a reason
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* a
|
|
4
|
+
* The server is not an agent tool, so it is withheld from MCP with a reason —
|
|
5
|
+
* but it IS a command, and it is spelled like one: a noun and a verb, the same
|
|
6
|
+
* shape as every other pair in the grammar, so it completes, appears in help,
|
|
7
|
+
* and answers `--help` without a special case. The bin still short-circuits
|
|
8
|
+
* the exact `pragma mcp serve` invocation before flag parsing and first-run,
|
|
9
|
+
* because the server's stdout carries JSON-RPC and nothing else may reach it;
|
|
10
|
+
* this spec's lazy `run` is that same serve, for any tier that dispatches it.
|
|
8
11
|
*/
|
|
9
12
|
|
|
10
|
-
import type { VerbSpec } from "../../kernel/spec/
|
|
13
|
+
import type { VerbSpec } from "../../kernel/spec/index.js";
|
|
11
14
|
|
|
12
15
|
/** The `mcp` verb spec. */
|
|
13
16
|
export const mcpVerb: VerbSpec<Record<string, unknown>, void> = {
|
|
14
|
-
path: ["mcp"],
|
|
17
|
+
path: ["mcp", "serve"],
|
|
15
18
|
summary: "Start the MCP server over stdio.",
|
|
16
|
-
hidden: true,
|
|
17
19
|
params: [],
|
|
18
20
|
output: {
|
|
19
21
|
formatters: {
|
|
@@ -2,18 +2,22 @@
|
|
|
2
2
|
* The `ontology` capability module — schema (TBox) inspection.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import type { CapabilityModule } from "../../kernel/spec/
|
|
6
|
-
import {
|
|
7
|
-
ontologyListVerb,
|
|
8
|
-
ontologyLookupVerb,
|
|
9
|
-
ontologyShowVerb,
|
|
10
|
-
} from "./verbs.js";
|
|
5
|
+
import type { CapabilityModule } from "../../kernel/spec/index.js";
|
|
6
|
+
import { ontologyListVerb, ontologyLookupVerb } from "./verbs.js";
|
|
11
7
|
|
|
12
|
-
/**
|
|
13
|
-
* The `ontology` capability module (`list`, `lookup`, and the deprecated `show`
|
|
14
|
-
* alias — AV-228 B1).
|
|
15
|
-
*/
|
|
8
|
+
/** The `ontology` capability module (`list` and the `lookup` by-name read). */
|
|
16
9
|
export const ontologyModule: CapabilityModule = {
|
|
17
10
|
name: "ontology",
|
|
18
|
-
verbs: [ontologyListVerb, ontologyLookupVerb
|
|
11
|
+
verbs: [ontologyListVerb, ontologyLookupVerb],
|
|
12
|
+
/**
|
|
13
|
+
* The ONE hand-declared listing in the distribution. Every other module is
|
|
14
|
+
* story-compiled and has its slice DERIVED from the types its lookup already
|
|
15
|
+
* names; this noun addresses the schema itself, which no `type` filter
|
|
16
|
+
* expresses — the whole TBox is the answer, so it is stated once, here.
|
|
17
|
+
*
|
|
18
|
+
* `0.5` puts the schema below the story collections (weight 1) it explains
|
|
19
|
+
* and above nothing else: an agent orienting itself wants the collections
|
|
20
|
+
* first, then the vocabulary they are described in.
|
|
21
|
+
*/
|
|
22
|
+
mcpListable: { sources: [{ box: "tbox", as: "entities", weight: 0.5 }] },
|
|
19
23
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Ontology inspection (list +
|
|
2
|
+
* Ontology inspection (list + lookup) over the block fixture graph.
|
|
3
3
|
*
|
|
4
4
|
* Asserts the TBox exception: namespaces are grouped with class/property counts,
|
|
5
5
|
* a namespace's class hierarchy carries per-class instance counts from the pack
|
|
@@ -32,10 +32,6 @@ const listVerb = ontologyModule.verbs.find(
|
|
|
32
32
|
const lookupVerb = ontologyModule.verbs.find(
|
|
33
33
|
(v) => verbKey(v.path) === "ontology lookup",
|
|
34
34
|
) as VerbSpec;
|
|
35
|
-
const showVerb = ontologyModule.verbs.find(
|
|
36
|
-
(v) => verbKey(v.path) === "ontology show",
|
|
37
|
-
) as VerbSpec;
|
|
38
|
-
|
|
39
35
|
let rt: PragmaRuntime;
|
|
40
36
|
beforeAll(async () => {
|
|
41
37
|
({ rt } = await buildFixtureRuntime({
|
|
@@ -132,36 +128,11 @@ describe("ontology lookup (primary by-name read)", () => {
|
|
|
132
128
|
});
|
|
133
129
|
});
|
|
134
130
|
|
|
135
|
-
describe("
|
|
136
|
-
|
|
137
|
-
expect(showVerb.summary.toLowerCase()).toContain("deprecated");
|
|
138
|
-
expect(showVerb.summary).toContain("ontology lookup");
|
|
139
|
-
});
|
|
140
|
-
|
|
141
|
-
it("shares the lookup handler — same payload for the same input", async () => {
|
|
142
|
-
const viaLookup = (await lookupVerb.run(
|
|
143
|
-
{ prefix: "ds", properties: true },
|
|
144
|
-
rt,
|
|
145
|
-
)) as OntologyShowData;
|
|
146
|
-
const viaShow = (await showVerb.run(
|
|
147
|
-
{ prefix: "ds", properties: true },
|
|
148
|
-
rt,
|
|
149
|
-
)) as OntologyShowData;
|
|
150
|
-
expect(viaShow).toEqual(viaLookup);
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
it("still rejects an unknown prefix (the alias is a full, callable verb)", async () => {
|
|
154
|
-
await expect(showVerb.run({ prefix: "nope" }, rt)).rejects.toThrow(
|
|
155
|
-
/prefix/i,
|
|
156
|
-
);
|
|
157
|
-
});
|
|
158
|
-
});
|
|
159
|
-
|
|
160
|
-
describe("ontology_show honours detail over MCP (B5)", () => {
|
|
161
|
-
// The CLI B5 cases above seed `globalFlags.detail` and call `showVerb.run`
|
|
131
|
+
describe("ontology_lookup honours detail over MCP (B5)", () => {
|
|
132
|
+
// The CLI B5 cases above seed `globalFlags.detail` and call `lookupVerb.run`
|
|
162
133
|
// directly. Over MCP there are NO global flags — the ONLY detail channel is
|
|
163
134
|
// the per-tool `detail` param the projector injects from the VerbSpec
|
|
164
|
-
// disclosure. Under an AMBIENT config `detail: standard`,
|
|
135
|
+
// disclosure. Under an AMBIENT config `detail: standard`, a by-name read
|
|
165
136
|
// with no declared disclosure would force the properties section with no
|
|
166
137
|
// per-call escape (the AV-228 MCP-opt-out asymmetry `block`/`standard` lack);
|
|
167
138
|
// declaring disclosure lights the param up, so an agent can ask for
|
|
@@ -184,15 +155,6 @@ describe("ontology_show honours detail over MCP (B5)", () => {
|
|
|
184
155
|
await fixture.dispose();
|
|
185
156
|
});
|
|
186
157
|
|
|
187
|
-
it("injects a detail param onto the ontology_show tool (symmetric with block/standard)", async () => {
|
|
188
|
-
const tools = await mcp.listTools();
|
|
189
|
-
const show = tools.find((t) => t.name === "ontology_show");
|
|
190
|
-
const schema = show?.inputSchema as {
|
|
191
|
-
properties?: Record<string, unknown>;
|
|
192
|
-
};
|
|
193
|
-
expect(schema.properties?.detail).toBeDefined();
|
|
194
|
-
});
|
|
195
|
-
|
|
196
158
|
it("exposes the primary ontology_lookup tool with the same injected detail param (AV-228 B1)", async () => {
|
|
197
159
|
const tools = await mcp.listTools();
|
|
198
160
|
const lookup = tools.find((t) => t.name === "ontology_lookup");
|
|
@@ -217,25 +179,14 @@ describe("ontology_show honours detail over MCP (B5)", () => {
|
|
|
217
179
|
it("honours the ambient detail=standard config when no per-call detail is set", async () => {
|
|
218
180
|
// Proves the ambient level really is standard, so the summary case below is
|
|
219
181
|
// a genuine per-call override rather than merely the spec default.
|
|
220
|
-
const result = await mcp.callTool("
|
|
182
|
+
const result = await mcp.callTool("ontology_lookup", { prefix: "ds" });
|
|
221
183
|
expect(result.ok).toBe(true);
|
|
222
184
|
const data = result.data as { properties: unknown[] };
|
|
223
185
|
expect(data.properties.length).toBeGreaterThan(0);
|
|
224
186
|
});
|
|
225
187
|
|
|
226
|
-
it("a per-call detail=summary returns classes-only despite the ambient standard", async () => {
|
|
227
|
-
const result = await mcp.callTool("ontology_show", {
|
|
228
|
-
prefix: "ds",
|
|
229
|
-
detail: "summary",
|
|
230
|
-
});
|
|
231
|
-
expect(result.ok).toBe(true);
|
|
232
|
-
const data = result.data as { classes: unknown[]; properties: unknown[] };
|
|
233
|
-
expect(data.classes.length).toBeGreaterThan(0);
|
|
234
|
-
expect(data.properties).toEqual([]);
|
|
235
|
-
});
|
|
236
|
-
|
|
237
188
|
it("an explicit detail=detailed overrides upward to include properties", async () => {
|
|
238
|
-
const result = await mcp.callTool("
|
|
189
|
+
const result = await mcp.callTool("ontology_lookup", {
|
|
239
190
|
prefix: "ds",
|
|
240
191
|
detail: "detailed",
|
|
241
192
|
});
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* result never depends on which vocabulary prefixes the store injected.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import type { PragmaRuntime } from "../../kernel/runtime/
|
|
10
|
+
import type { PragmaRuntime } from "../../kernel/runtime/index.js";
|
|
11
11
|
|
|
12
12
|
const OWL = "http://www.w3.org/2002/07/owl#";
|
|
13
13
|
const RDFS = "http://www.w3.org/2000/01/rdf-schema#";
|
|
@@ -40,7 +40,7 @@ export interface OntologyProperty {
|
|
|
40
40
|
readonly type: "object" | "datatype";
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
/** The `ontology
|
|
43
|
+
/** The `ontology lookup` payload — the detailed view plus render options. */
|
|
44
44
|
export interface OntologyShowData {
|
|
45
45
|
readonly prefix: string;
|
|
46
46
|
readonly namespace: string;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Formatters for `ontology list` and `ontology
|
|
2
|
+
* Formatters for `ontology list` and `ontology lookup`.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { compactUri } from "../../kernel/render/
|
|
6
|
-
import {
|
|
7
|
-
import type { Formatters } from "../../kernel/spec/types.js";
|
|
5
|
+
import { compactUri, DEFAULT_PREFIX_MAP } from "../../kernel/render/index.js";
|
|
6
|
+
import type { Formatters } from "../../kernel/spec/index.js";
|
|
8
7
|
import type {
|
|
9
8
|
OntologyClass,
|
|
10
9
|
OntologyProperty,
|