@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
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The SELF-UPDATING capabilities catalog.
|
|
3
|
+
*
|
|
4
|
+
* `buildCapabilitiesData(modules)` projects the LIVE grammar: it emits the
|
|
5
|
+
* surface, walks `mcpSurface.tools` (the sorted, covenant-conformant set), and
|
|
6
|
+
* annotates each tool from the authored `TOOL_HINTS` table. The tool set, the
|
|
7
|
+
* category counts, and the discovery-sample list are all DERIVED — never pinned
|
|
8
|
+
* — so the catalog tracks the surface automatically (the fix for the old shell's
|
|
9
|
+
* hand-maintained list, which drifted to name retired tools).
|
|
10
|
+
*
|
|
11
|
+
* Pure + zod-free: it reads only `emitSurface` (itself fast-path-safe), so the
|
|
12
|
+
* verb's storeless guarantee holds. The conventions + discovery strings are
|
|
13
|
+
* exported so `kernel/project/mcp/instructions.ts` derives the handshake
|
|
14
|
+
* orientation from the SAME source and the two can never diverge.
|
|
15
|
+
*/
|
|
16
|
+
import { BIN_NAME, PROGRAM_DESCRIPTION, VERSION } from "../../constants.js";
|
|
17
|
+
import { emitSurface } from "../../kernel/spec/index.js";
|
|
18
|
+
import { TOOL_HINTS } from "./hints.js";
|
|
19
|
+
/**
|
|
20
|
+
* The four orientation conventions, and the single source both the
|
|
21
|
+
* `capabilities` tool and the MCP handshake read, so the two cannot contradict
|
|
22
|
+
* each other. `system` projects the distribution's identity rather than naming
|
|
23
|
+
* a domain — the live tool catalog the same handshake carries already says
|
|
24
|
+
* which nouns exist. `querying` is verbatim from the old shell (the SPARQL
|
|
25
|
+
* model is still accurate for v2); `model` stopped claiming reads are
|
|
26
|
+
* tier/channel-SCOPED when the hand-written filtering was removed (L-OPEN-9)
|
|
27
|
+
* — the hierarchy is graph data now, not a query gate; `mutations` is new in
|
|
28
|
+
* v2, surfacing the plan-first/confirm gate.
|
|
29
|
+
*/
|
|
30
|
+
export const CONVENTIONS = {
|
|
31
|
+
// `help` is authored as a bare phrase (`--help` renders it as one), so the
|
|
32
|
+
// self-description trails in parentheses rather than after a period this
|
|
33
|
+
// string would have to add — a fork writing "Explore the recipe graph."
|
|
34
|
+
// otherwise reads "recipe graph.. A CLI and MCP server…".
|
|
35
|
+
system: `${BIN_NAME} — ${PROGRAM_DESCRIPTION} (a CLI and MCP server over a knowledge graph).`,
|
|
36
|
+
model: "The graph models a tier hierarchy (e.g. global > apps > apps/lxd) and release channels (normal, experimental, prerelease) as DATA on each entity. Reads are unscoped — every list shows everything; filter by inspecting an entity's tier/release fields or with graph_query.",
|
|
37
|
+
querying: "All queries run against an RDF triple store. Prefixed IRIs (e.g. prefix:name) identify entities. Use ontology_list to discover the active namespaces.",
|
|
38
|
+
mutations: "Mutating tools are plan-first: call once WITHOUT confirm to get a plan (meta.planOnly, no writes), then repeat the call with confirm: true to execute.",
|
|
39
|
+
};
|
|
40
|
+
/** The output modes v2 renders (dropped "text" → "plain"; condensed retired). */
|
|
41
|
+
const OUTPUT_MODES = ["plain", "json", "llm"];
|
|
42
|
+
/** The set of tool names that mutate, read from the emitted surface. */
|
|
43
|
+
function mutatingTools(modules) {
|
|
44
|
+
const mutating = new Set();
|
|
45
|
+
for (const { verbs } of Object.values(emitSurface(modules).nouns)) {
|
|
46
|
+
for (const verb of verbs) {
|
|
47
|
+
if (verb.mutates && typeof verb.mcp === "string")
|
|
48
|
+
mutating.add(verb.mcp);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return mutating;
|
|
52
|
+
}
|
|
53
|
+
/** The live sorted tool names the covenant blesses, from the emitted surface. */
|
|
54
|
+
export function liveTools(modules) {
|
|
55
|
+
return emitSurface(modules).mcpSurface.tools;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Build the discovery sequence, deriving the sample list from the tools that
|
|
59
|
+
* ACTUALLY exist (v2 ships block/standard/modifier/token samples). Wording is
|
|
60
|
+
* ported from the old `buildCapabilitiesData`, plus a store-state pre-check so a
|
|
61
|
+
* cold agent is never sent into `*_sample` (or any store read) blind — every
|
|
62
|
+
* store read fails STORE_UNAVAILABLE until `sources_update` has built the store.
|
|
63
|
+
*/
|
|
64
|
+
export function buildDiscoverySequence(tools) {
|
|
65
|
+
const samples = tools.filter((tool) => tool.endsWith("_sample"));
|
|
66
|
+
const sampleList = samples.length > 0 ? samples.join(", ") : "the *_sample";
|
|
67
|
+
return [
|
|
68
|
+
{
|
|
69
|
+
stage: 1,
|
|
70
|
+
tool: "capabilities",
|
|
71
|
+
purpose: "Understand conventions, available tools, and how to navigate",
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
stage: 2,
|
|
75
|
+
tool: "sources_status",
|
|
76
|
+
purpose: "See which pack is answering. A fresh install answers reads from the snapshot shipped with the CLI and needs no build; only an `unavailable` status requires sources_update (confirm: true), which is a project that declared its own packs and has not built them.",
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
stage: 3,
|
|
80
|
+
tool: "*_sample",
|
|
81
|
+
purpose: `Call ${sampleList} tools to see real data shapes before querying. Prevents guessing at property names.`,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
stage: 4,
|
|
85
|
+
tool: "domain tools",
|
|
86
|
+
purpose: "Query specific entities — block_list, standard_lookup, etc. Use the use_when hints above to pick the right tool.",
|
|
87
|
+
},
|
|
88
|
+
];
|
|
89
|
+
}
|
|
90
|
+
/** Tally the catalog tools by category (all counts DERIVED, never pinned). */
|
|
91
|
+
function countByCategory(tools) {
|
|
92
|
+
const of = (category) => tools.filter((tool) => tool.category === category).length;
|
|
93
|
+
return {
|
|
94
|
+
total: tools.length,
|
|
95
|
+
read: of("read"),
|
|
96
|
+
write: of("write"),
|
|
97
|
+
orientation: of("orientation"),
|
|
98
|
+
diagnostic: of("diagnostic"),
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Build the capabilities payload from a set of capability modules.
|
|
103
|
+
*
|
|
104
|
+
* @param modules - The live capability modules (passed in to avoid a static
|
|
105
|
+
* self-cycle; the verb's `run` dynamic-imports the registry barrel).
|
|
106
|
+
* @returns The structured, self-consistent capabilities map.
|
|
107
|
+
*/
|
|
108
|
+
export function buildCapabilitiesData(modules) {
|
|
109
|
+
const tools = liveTools(modules);
|
|
110
|
+
const catalogTools = tools.map((name) => {
|
|
111
|
+
const hint = TOOL_HINTS[name];
|
|
112
|
+
// A missing hint is a drift bug caught by `capabilities.test.ts`; degrade
|
|
113
|
+
// to a truthful placeholder rather than throwing inside a tool call.
|
|
114
|
+
return {
|
|
115
|
+
name,
|
|
116
|
+
category: hint?.category ?? "read",
|
|
117
|
+
use_when: hint?.use_when ?? "(no hint authored — see capabilities/hints.ts)",
|
|
118
|
+
};
|
|
119
|
+
});
|
|
120
|
+
return {
|
|
121
|
+
version: VERSION,
|
|
122
|
+
conventions: CONVENTIONS,
|
|
123
|
+
discovery_sequence: buildDiscoverySequence(tools),
|
|
124
|
+
tools: catalogTools,
|
|
125
|
+
counts: countByCategory(catalogTools),
|
|
126
|
+
limits: { output_modes: OUTPUT_MODES, condensed_available: false },
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
export { mutatingTools };
|
|
130
|
+
//# sourceMappingURL=catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../../src/capabilities/capabilities/catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one authored input to the `capabilities` catalog: a `use_when` behavioural
|
|
3
|
+
* hint + category per tool. Everything else (the tool SET, counts, discovery
|
|
4
|
+
* samples) is DERIVED from the live grammar at build time, so this table is the
|
|
5
|
+
* only thing to keep in sync — and the drift-guard test (`capabilities.test.ts`)
|
|
6
|
+
* fails CI if a live tool has no hint, a hint names a tool that no longer
|
|
7
|
+
* exists, or a hint's category disagrees with the tool's real `mutates` flag.
|
|
8
|
+
*
|
|
9
|
+
* `use_when` strings for the surviving tools are ported verbatim from the old
|
|
10
|
+
* shell's `domains/llm/data/toolCatalog.ts`; the net-new v2 tools (config_set,
|
|
11
|
+
* graph_query, setup, upgrade, doctor, capabilities, prompt_*, sources_*,
|
|
12
|
+
* tier_lookup, create_*) are authored here.
|
|
13
|
+
*/
|
|
14
|
+
import { BIN_NAME } from "../../constants.js";
|
|
15
|
+
/**
|
|
16
|
+
* Behavioural hints keyed by the LIVE tool name (`emitSurface` naming rule:
|
|
17
|
+
* `noun` or `noun_verb`). Categories: `write` ⟺ the verb mutates; `orientation`
|
|
18
|
+
* = the session-start map; `diagnostic` = environment/version reporting; else
|
|
19
|
+
* `read`. The drift guard enforces every one of those invariants.
|
|
20
|
+
*/
|
|
21
|
+
export const TOOL_HINTS = {
|
|
22
|
+
// — Orientation ————————————————————————————————————————————————————————————
|
|
23
|
+
capabilities: {
|
|
24
|
+
category: "orientation",
|
|
25
|
+
use_when: "Starting a session — understand conventions, available tools, and the discovery flow",
|
|
26
|
+
},
|
|
27
|
+
// — Diagnostic ————————————————————————————————————————————————————————————
|
|
28
|
+
doctor: {
|
|
29
|
+
category: "diagnostic",
|
|
30
|
+
use_when: "Diagnosing environment issues — config, store, completions, MCP health",
|
|
31
|
+
},
|
|
32
|
+
info: {
|
|
33
|
+
category: "diagnostic",
|
|
34
|
+
use_when: `Checking ${BIN_NAME} version, configuration summary, and store state`,
|
|
35
|
+
},
|
|
36
|
+
// — Read ——————————————————————————————————————————————————————————————————
|
|
37
|
+
block_list: {
|
|
38
|
+
category: "read",
|
|
39
|
+
use_when: "Browsing all components, patterns, layouts, and subcomponents in the store",
|
|
40
|
+
},
|
|
41
|
+
block_lookup: {
|
|
42
|
+
category: "read",
|
|
43
|
+
use_when: "Need full anatomy, modifiers, tokens, and standards for specific blocks by name or IRI",
|
|
44
|
+
},
|
|
45
|
+
block_sample: {
|
|
46
|
+
category: "read",
|
|
47
|
+
use_when: "See actual block data shapes before querying — returns random instances each call, prevents guessing at property names",
|
|
48
|
+
},
|
|
49
|
+
colophon: {
|
|
50
|
+
category: "read",
|
|
51
|
+
use_when: "Understanding how the active domain is built — its declared colophon, for onboarding or a demo",
|
|
52
|
+
},
|
|
53
|
+
config_get: {
|
|
54
|
+
category: "read",
|
|
55
|
+
use_when: "Reading ONE config field's effective value and the layer it came from — the single-value form of config_show",
|
|
56
|
+
},
|
|
57
|
+
config_show: {
|
|
58
|
+
category: "read",
|
|
59
|
+
use_when: "Checking the active configuration (tier, channel, detail) and which layer set each field",
|
|
60
|
+
},
|
|
61
|
+
graph_inspect: {
|
|
62
|
+
category: "read",
|
|
63
|
+
use_when: "Examining all triples for a specific URI — predicates, objects, and types",
|
|
64
|
+
},
|
|
65
|
+
graph_query: {
|
|
66
|
+
category: "read",
|
|
67
|
+
use_when: "Complex SPARQL joins or aggregations that other tools cannot express",
|
|
68
|
+
},
|
|
69
|
+
modifier_list: {
|
|
70
|
+
category: "read",
|
|
71
|
+
use_when: "Listing all modifier families and their allowed values",
|
|
72
|
+
},
|
|
73
|
+
modifier_lookup: {
|
|
74
|
+
category: "read",
|
|
75
|
+
use_when: "Need values and usage details for specific modifier families by name",
|
|
76
|
+
},
|
|
77
|
+
modifier_sample: {
|
|
78
|
+
category: "read",
|
|
79
|
+
use_when: "See actual modifier data shapes (with value lists) before querying — returns random instances each call",
|
|
80
|
+
},
|
|
81
|
+
ontology_list: {
|
|
82
|
+
category: "read",
|
|
83
|
+
use_when: "Discovering loaded namespaces, prefixes, and class/property counts",
|
|
84
|
+
},
|
|
85
|
+
ontology_lookup: {
|
|
86
|
+
category: "read",
|
|
87
|
+
use_when: "Exploring the full schema of a namespace by name — classes, properties, and hierarchy",
|
|
88
|
+
},
|
|
89
|
+
prompt_list: {
|
|
90
|
+
category: "read",
|
|
91
|
+
use_when: "Browsing the workflow prompt templates the active graph offers",
|
|
92
|
+
},
|
|
93
|
+
prompt_lookup: {
|
|
94
|
+
category: "read",
|
|
95
|
+
use_when: "Fetching a specific workflow prompt template's body and arguments by name",
|
|
96
|
+
},
|
|
97
|
+
skill_list: {
|
|
98
|
+
category: "read",
|
|
99
|
+
use_when: "Discovering agent skills provided by installed packs",
|
|
100
|
+
},
|
|
101
|
+
skill_lookup: {
|
|
102
|
+
category: "read",
|
|
103
|
+
use_when: "Loading full SKILL.md instructions for a specific agent skill by name",
|
|
104
|
+
},
|
|
105
|
+
sources_status: {
|
|
106
|
+
category: "read",
|
|
107
|
+
use_when: "Checking whether the local knowledge-graph pack is built and current",
|
|
108
|
+
},
|
|
109
|
+
standard_list: {
|
|
110
|
+
category: "read",
|
|
111
|
+
use_when: "Browsing code standards, optionally filtered by category or search term",
|
|
112
|
+
},
|
|
113
|
+
standard_lookup: {
|
|
114
|
+
category: "read",
|
|
115
|
+
use_when: "Need do/don't code examples for specific coding standards by name or IRI",
|
|
116
|
+
},
|
|
117
|
+
standard_categories: {
|
|
118
|
+
category: "read",
|
|
119
|
+
use_when: "Discovering which standard categories exist before filtering",
|
|
120
|
+
},
|
|
121
|
+
concept_list: {
|
|
122
|
+
category: "read",
|
|
123
|
+
use_when: "Browsing long-form design-system concepts (foundations, how-to guides, decision guides)",
|
|
124
|
+
},
|
|
125
|
+
concept_lookup: {
|
|
126
|
+
category: "read",
|
|
127
|
+
use_when: "Reading a concept's full Markdown documentation by name or IRI",
|
|
128
|
+
},
|
|
129
|
+
implementation_list: {
|
|
130
|
+
category: "read",
|
|
131
|
+
use_when: "Finding which library implements a block, on which platform, and where its source lives",
|
|
132
|
+
},
|
|
133
|
+
implementation_libraries: {
|
|
134
|
+
category: "read",
|
|
135
|
+
use_when: "Discovering which implementation libraries exist, and how much of the design system each covers",
|
|
136
|
+
},
|
|
137
|
+
standard_sample: {
|
|
138
|
+
category: "read",
|
|
139
|
+
use_when: "See actual standard data shapes (with dos/donts) before querying — returns random instances each call",
|
|
140
|
+
},
|
|
141
|
+
tier_list: {
|
|
142
|
+
category: "read",
|
|
143
|
+
use_when: "Understanding the tier hierarchy before setting a tier filter",
|
|
144
|
+
},
|
|
145
|
+
tier_lookup: {
|
|
146
|
+
category: "read",
|
|
147
|
+
use_when: "Need the blocks scoped to a specific tier by name",
|
|
148
|
+
},
|
|
149
|
+
token_list: {
|
|
150
|
+
category: "read",
|
|
151
|
+
use_when: "Browsing design tokens, optionally filtered by category (color, spacing, etc.)",
|
|
152
|
+
},
|
|
153
|
+
token_lookup: {
|
|
154
|
+
category: "read",
|
|
155
|
+
use_when: "Need theme values and resolution details for specific tokens by name or IRI",
|
|
156
|
+
},
|
|
157
|
+
token_sample: {
|
|
158
|
+
category: "read",
|
|
159
|
+
use_when: "See actual token data shapes (with theme values) before querying — returns random instances each call",
|
|
160
|
+
},
|
|
161
|
+
// — Write ——————————————————————————————————————————————————————————————————
|
|
162
|
+
config_set: {
|
|
163
|
+
category: "write",
|
|
164
|
+
use_when: "Setting any config field by name — tier, channel, or detail (e.g. `config set tier apps/lxd`)",
|
|
165
|
+
},
|
|
166
|
+
config_unset: {
|
|
167
|
+
category: "write",
|
|
168
|
+
use_when: 'Clearing a config field so the built-in default applies again — no value means "remove", this tool does',
|
|
169
|
+
},
|
|
170
|
+
create_component: {
|
|
171
|
+
category: "write",
|
|
172
|
+
use_when: "Scaffolding a new component (React, Svelte, or Lit)",
|
|
173
|
+
},
|
|
174
|
+
create_package: {
|
|
175
|
+
category: "write",
|
|
176
|
+
use_when: "Scaffolding a new npm package with proper monorepo configuration",
|
|
177
|
+
},
|
|
178
|
+
create_application: {
|
|
179
|
+
category: "write",
|
|
180
|
+
use_when: "Scaffolding a new React application with SSR, routing, and optional Relay",
|
|
181
|
+
},
|
|
182
|
+
setup: {
|
|
183
|
+
category: "write",
|
|
184
|
+
use_when: `Installing ${BIN_NAME}'s shell completions, MCP config, skills, and LSP into the environment`,
|
|
185
|
+
},
|
|
186
|
+
sources_update: {
|
|
187
|
+
category: "write",
|
|
188
|
+
use_when: "Building or refreshing the knowledge-graph pack from the configured packs",
|
|
189
|
+
},
|
|
190
|
+
upgrade: {
|
|
191
|
+
category: "write",
|
|
192
|
+
use_when: `Upgrading the ${BIN_NAME} CLI itself to the latest release`,
|
|
193
|
+
},
|
|
194
|
+
};
|
|
195
|
+
//# sourceMappingURL=hints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hints.js","sourceRoot":"","sources":["../../../../src/capabilities/capabilities/hints.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAA6B;IAClD,6EAA6E;IAC7E,YAAY,EAAE;QACZ,QAAQ,EAAE,aAAa;QACvB,QAAQ,EACN,sFAAsF;KACzF;IAED,4EAA4E;IAC5E,MAAM,EAAE;QACN,QAAQ,EAAE,YAAY;QACtB,QAAQ,EACN,wEAAwE;KAC3E;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,YAAY,QAAQ,kDAAkD;KACjF;IAED,4EAA4E;IAC5E,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,4EAA4E;KAC/E;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,wFAAwF;KAC3F;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,wHAAwH;KAC3H;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,gGAAgG;KACnG;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,8GAA8G;KACjH;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,0FAA0F;KAC7F;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,2EAA2E;KAC9E;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,sEAAsE;KACzE;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,wDAAwD;KACnE;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,sEAAsE;KACzE;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,yGAAyG;KAC5G;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,oEAAoE;KACvE;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,uFAAuF;KAC1F;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,gEAAgE;KAC3E;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,2EAA2E;KAC9E;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,sDAAsD;KACjE;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,uEAAuE;KAC1E;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,sEAAsE;KACzE;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,yEAAyE;KAC5E;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,0EAA0E;KAC7E;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,8DAA8D;KACzE;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,yFAAyF;KAC5F;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,gEAAgE;KAC3E;IACD,mBAAmB,EAAE;QACnB,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,yFAAyF;KAC5F;IACD,wBAAwB,EAAE;QACxB,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,iGAAiG;KACpG;IACD,eAAe,EAAE;QACf,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,uGAAuG;KAC1G;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,+DAA+D;KAC1E;IACD,WAAW,EAAE;QACX,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,mDAAmD;KAC9D;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,gFAAgF;KACnF;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,6EAA6E;KAChF;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,MAAM;QAChB,QAAQ,EACN,uGAAuG;KAC1G;IAED,6EAA6E;IAC7E,UAAU,EAAE;QACV,QAAQ,EAAE,OAAO;QACjB,QAAQ,EACN,+FAA+F;KAClG;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,OAAO;QACjB,QAAQ,EACN,yGAAyG;KAC5G;IACD,gBAAgB,EAAE;QAChB,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,qDAAqD;KAChE;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,OAAO;QACjB,QAAQ,EACN,kEAAkE;KACrE;IACD,kBAAkB,EAAE;QAClB,QAAQ,EAAE,OAAO;QACjB,QAAQ,EACN,2EAA2E;KAC9E;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,cAAc,QAAQ,wEAAwE;KACzG;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,OAAO;QACjB,QAAQ,EACN,2EAA2E;KAC9E;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,iBAAiB,QAAQ,mCAAmC;KACvE;CACF,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `capabilities` capability module — the grammar-derived orientation tool
|
|
3
|
+
* that replaces the retired `llm` tool.
|
|
4
|
+
*/
|
|
5
|
+
import { capabilitiesSelfVerb } from "./capabilities.verb.js";
|
|
6
|
+
/** The `capabilities` capability module (a single storeless self-verb). */
|
|
7
|
+
export const capabilitiesModule = {
|
|
8
|
+
name: "capabilities",
|
|
9
|
+
verbs: [capabilitiesSelfVerb],
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/capabilities/capabilities/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,2EAA2E;AAC3E,MAAM,CAAC,MAAM,kBAAkB,GAAqB;IAClD,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,CAAC,oBAAoB,CAAC;CAC9B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for the `capabilities` orientation tool.
|
|
3
|
+
*
|
|
4
|
+
* The catalog is DERIVED from the live grammar (`emitSurface`) plus an authored
|
|
5
|
+
* hint table — never a hand-maintained tool list — so it cannot drift from the
|
|
6
|
+
* real surface (the exact failure mode of the old shell's `TOOL_CATALOG`, which
|
|
7
|
+
* still named retired tools). See {@link ToolHint} + `hints.ts` for the one
|
|
8
|
+
* authored input, and `catalog.ts` for the derivation.
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/capabilities/capabilities/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collect the `colophon` payload — the verb's run body (lazily imported).
|
|
3
|
+
*
|
|
4
|
+
* STORELESS: it resolves the EFFECTIVE capability modules exactly as a real
|
|
5
|
+
* command would — through `loadEffectiveModules`, so a story declared by a
|
|
6
|
+
* PACKAGE the active pack carries surfaces its colophon here too, not only a
|
|
7
|
+
* config-declared one. It never boots the triple store, so the
|
|
8
|
+
* storeless-guarantee spy still sees `store.booted === false`. The static
|
|
9
|
+
* import of the validated distribution config (`config/defaults.js`) is safe
|
|
10
|
+
* here because this module sits behind the verb's dynamic `import()` — it
|
|
11
|
+
* never lands on the `--help`/`__complete` fast path.
|
|
12
|
+
*
|
|
13
|
+
* The registry is reached through a RUNTIME dynamic `import("../index.js")`
|
|
14
|
+
* inside this async body — never a static import — so the static
|
|
15
|
+
* `index → colophonModule → index` cycle can never form. Do NOT "clean it up"
|
|
16
|
+
* into a static import.
|
|
17
|
+
*/
|
|
18
|
+
import { BIN_NAME } from "../../constants.js";
|
|
19
|
+
import distribution from "../../kernel/config/defaults.js";
|
|
20
|
+
/**
|
|
21
|
+
* Assemble the colophon data for the current runtime.
|
|
22
|
+
*
|
|
23
|
+
* THE DOMAIN'S STORY WINS. A colophon answers "what am I working with", and
|
|
24
|
+
* once a domain is configured the answer is the domain — so the domain
|
|
25
|
+
* sections are the whole output, and the toolchain's own section does not
|
|
26
|
+
* ride in front of them. The toolchain section is the answer only when no
|
|
27
|
+
* domain has one: a fresh install, or a distribution that ships no story.
|
|
28
|
+
* Reading it the other way round put a paragraph about this program's
|
|
29
|
+
* architecture above the thing the user actually asked about, every time.
|
|
30
|
+
*
|
|
31
|
+
* Neither section is authored here. The toolchain half is the distribution
|
|
32
|
+
* config's `colophon` field (narrative plus condensed summary), rendered under
|
|
33
|
+
* the distribution's own name — a fork edits its config, never this module —
|
|
34
|
+
* and the domain half is each active pack's declared `colophon`. The
|
|
35
|
+
* `kind: "pragma"` value is a frozen JSON discriminant (wire compatibility),
|
|
36
|
+
* not the distribution's name.
|
|
37
|
+
*
|
|
38
|
+
* With neither declared, the payload is empty and the formatter's empty state
|
|
39
|
+
* says so, rather than the command printing nothing and leaving the reader to
|
|
40
|
+
* guess whether that is an answer or a failure.
|
|
41
|
+
*
|
|
42
|
+
* @param runtime - The per-invocation runtime.
|
|
43
|
+
* @returns The storeless colophon payload: every active pack/domain that
|
|
44
|
+
* declares a `colophon`, or the distribution's own section when none does.
|
|
45
|
+
* @note Impure — reads the config layers (never boots the store).
|
|
46
|
+
*/
|
|
47
|
+
export async function collectColophon(runtime) {
|
|
48
|
+
const { loadEffectiveModules } = await import("../../kernel/packs/collect.js");
|
|
49
|
+
const { capabilities } = await import("../index.js");
|
|
50
|
+
let modules = capabilities;
|
|
51
|
+
try {
|
|
52
|
+
modules = (await loadEffectiveModules(capabilities, runtime.cwd)).modules;
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// A bad config story is surfaced by the real commands; the colophon degrades
|
|
56
|
+
// to the static modules rather than failing the narrative. (A bad PACKAGE
|
|
57
|
+
// story never throws — it is dropped and reported by doctor.)
|
|
58
|
+
}
|
|
59
|
+
const sections = [];
|
|
60
|
+
for (const module of modules) {
|
|
61
|
+
if (module.colophon) {
|
|
62
|
+
sections.push({
|
|
63
|
+
kind: "pack",
|
|
64
|
+
title: module.name,
|
|
65
|
+
markdown: module.colophon,
|
|
66
|
+
source: `pack:${module.name}`,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (sections.length === 0 && distribution.colophon) {
|
|
71
|
+
sections.push({
|
|
72
|
+
kind: "pragma",
|
|
73
|
+
title: BIN_NAME,
|
|
74
|
+
markdown: distribution.colophon.markdown,
|
|
75
|
+
...(distribution.colophon.summary === undefined
|
|
76
|
+
? {}
|
|
77
|
+
: { summary: distribution.colophon.summary }),
|
|
78
|
+
source: "built-in",
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
return { sections };
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=collectColophon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collectColophon.js","sourceRoot":"","sources":["../../../../src/capabilities/colophon/collectColophon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAK3D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAsB;IAEtB,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAC3C,+BAA+B,CAChC,CAAC;IACF,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAErD,IAAI,OAAO,GAAgC,YAAY,CAAC;IACxD,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,MAAM,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,6EAA6E;QAC7E,0EAA0E;QAC1E,8DAA8D;IAChE,CAAC;IAED,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,MAAM,CAAC,IAAI;gBAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,QAAQ,MAAM,CAAC,IAAI,EAAE;aAC9B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,QAAQ;YACxC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS;gBAC7C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC/C,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Formatters for `pragma colophon` — plain (styled Markdown), llm (condensed
|
|
3
|
+
* Markdown passthrough), json (the structured envelope). Pure and dependency-
|
|
4
|
+
* light: the plain path routes through the `chalk`-only {@link
|
|
5
|
+
* renderMarkdownToTerminal}; there is NO Ink here.
|
|
6
|
+
*
|
|
7
|
+
* The section title is composed as an H1 (`# <title>`) and fed through the ONE
|
|
8
|
+
* styler, so all heading styling lives in a single place and the authored body
|
|
9
|
+
* (which carries no leading H1) is never double-titled.
|
|
10
|
+
*
|
|
11
|
+
* The formatters render whatever sections the collector hands them and decide
|
|
12
|
+
* nothing about which sections exist — that choice (the domain's story, or the
|
|
13
|
+
* toolchain's when no domain tells one) belongs to the collector, and keeping
|
|
14
|
+
* it there is what lets these stay pure.
|
|
15
|
+
*/
|
|
16
|
+
import { BIN_NAME } from "../../constants.js";
|
|
17
|
+
import { defaultStyle } from "../../kernel/render/style.js";
|
|
18
|
+
import { renderMarkdownToTerminal } from "./markdownTerminal.js";
|
|
19
|
+
/**
|
|
20
|
+
* The zero-section empty state: nothing declares a colophon — no active pack,
|
|
21
|
+
* and no story from the distribution itself. Blank output would read as a
|
|
22
|
+
* broken command, so say what is missing and name the command that fixes it.
|
|
23
|
+
* Like every empty state it goes to stderr with exit 0 (a calm success), so a
|
|
24
|
+
* script reading stdout still reads nothing.
|
|
25
|
+
*/
|
|
26
|
+
const EMPTY_NOTICE = `No colophon declared. A colophon comes from an active pack — build the store with \`${BIN_NAME} sources update\`.`;
|
|
27
|
+
/** Render one section (title as H1 + body) as styled terminal Markdown. */
|
|
28
|
+
function plainSection(section, style) {
|
|
29
|
+
return renderMarkdownToTerminal(`# ${section.title}\n\n${section.markdown}`, style);
|
|
30
|
+
}
|
|
31
|
+
/** Render one section as condensed Markdown for `--format llm` (summary preferred). */
|
|
32
|
+
function llmSection(section) {
|
|
33
|
+
return `## ${section.title}\n\n${section.summary ?? section.markdown}`;
|
|
34
|
+
}
|
|
35
|
+
export const colophonFormatters = {
|
|
36
|
+
plain(data) {
|
|
37
|
+
// Resolve the TTY decision ONCE (impure: reads stdout.isTTY + chalk level),
|
|
38
|
+
// then render every section through the same inert-off-a-TTY styler.
|
|
39
|
+
const style = defaultStyle();
|
|
40
|
+
return data.sections
|
|
41
|
+
.map((section) => plainSection(section, style))
|
|
42
|
+
.join("\n\n");
|
|
43
|
+
},
|
|
44
|
+
llm(data) {
|
|
45
|
+
// llm returns before the dispatcher's empty-state routing, so the
|
|
46
|
+
// condensed form carries its own zero-section line (the same shape the
|
|
47
|
+
// other empty states use) rather than handing an agent zero bytes.
|
|
48
|
+
if (data.sections.length === 0)
|
|
49
|
+
return `_${EMPTY_NOTICE}_`;
|
|
50
|
+
return data.sections.map(llmSection).join("\n\n");
|
|
51
|
+
},
|
|
52
|
+
json(data) {
|
|
53
|
+
return JSON.stringify(data);
|
|
54
|
+
},
|
|
55
|
+
// Zero sections: the dispatcher routes this to stderr (exit 0) so plain
|
|
56
|
+
// stdout stays empty; llm/json keep their own empty shapes.
|
|
57
|
+
emptyNotice: (data) => data.sections.length === 0 ? EMPTY_NOTICE : undefined,
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=colophon.render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colophon.render.js","sourceRoot":"","sources":["../../../../src/capabilities/colophon/colophon.render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAoB,MAAM,8BAA8B,CAAC;AAE9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAGjE;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,uFAAuF,QAAQ,oBAAoB,CAAC;AAEzI,2EAA2E;AAC3E,SAAS,YAAY,CAAC,OAAwB,EAAE,KAAkB;IAChE,OAAO,wBAAwB,CAC7B,KAAK,OAAO,CAAC,KAAK,OAAO,OAAO,CAAC,QAAQ,EAAE,EAC3C,KAAK,CACN,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,SAAS,UAAU,CAAC,OAAwB;IAC1C,OAAO,MAAM,OAAO,CAAC,KAAK,OAAO,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAA6B;IAC1D,KAAK,CAAC,IAAI;QACR,4EAA4E;QAC5E,qEAAqE;QACrE,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,QAAQ;aACjB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aAC9C,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAED,GAAG,CAAC,IAAI;QACN,kEAAkE;QAClE,uEAAuE;QACvE,mEAAmE;QACnE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,YAAY,GAAG,CAAC;QAC3D,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,IAAI;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,wEAAwE;IACxE,4DAA4D;IAC5D,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;CACxD,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `colophon` verb spec (noun `colophon`, self-verb).
|
|
3
|
+
*
|
|
4
|
+
* `run` is a lazy thunk: it dynamic-imports the collector, so building the
|
|
5
|
+
* command tree (help, completion, surface emit) reads this spec without pulling
|
|
6
|
+
* the config reader or the registry onto the fast path — identical to
|
|
7
|
+
* `infoVerb` / `doctorVerb` / `capabilitiesVerb`.
|
|
8
|
+
*/
|
|
9
|
+
import { BIN_NAME } from "../../constants.js";
|
|
10
|
+
import { asVerb } from "../../kernel/spec/asVerb.js";
|
|
11
|
+
import { colophonFormatters } from "./colophon.render.js";
|
|
12
|
+
const colophonVerb = {
|
|
13
|
+
path: ["colophon"],
|
|
14
|
+
summary: "Narrate how the active domain is made.",
|
|
15
|
+
doc: `Storeless — the colophon each active pack declares for its domain. With no pack telling a story, it prints the one ${BIN_NAME} declares for itself instead; with neither, it says so. Also available as a condensed Markdown narration for agents, or as a structured JSON projection of the sections.`,
|
|
16
|
+
params: [],
|
|
17
|
+
output: { formatters: colophonFormatters },
|
|
18
|
+
examples: [
|
|
19
|
+
{
|
|
20
|
+
cmd: `${BIN_NAME} colophon`,
|
|
21
|
+
note: "the active domain's story",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
cmd: `${BIN_NAME} colophon --format llm`,
|
|
25
|
+
note: "condensed Markdown for agents",
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
capability: {
|
|
29
|
+
needsStore: false,
|
|
30
|
+
mutates: false,
|
|
31
|
+
mcp: {
|
|
32
|
+
expose: true,
|
|
33
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
run: (_params, runtime) => import("./collectColophon.js").then((m) => m.collectColophon(runtime)),
|
|
37
|
+
};
|
|
38
|
+
/** The `colophon` capability module (a single storeless self-verb). */
|
|
39
|
+
export const colophonModule = {
|
|
40
|
+
name: "colophon",
|
|
41
|
+
verbs: [asVerb(colophonVerb)],
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=colophon.verb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colophon.verb.js","sourceRoot":"","sources":["../../../../src/capabilities/colophon/colophon.verb.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,MAAM,YAAY,GAAoD;IACpE,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,OAAO,EAAE,wCAAwC;IACjD,GAAG,EAAE,sHAAsH,QAAQ,0KAA0K;IAC7S,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE,UAAU,EAAE,kBAAkB,EAAE;IAC1C,QAAQ,EAAE;QACR;YACE,GAAG,EAAE,GAAG,QAAQ,WAAW;YAC3B,IAAI,EAAE,2BAA2B;SAClC;QACD;YACE,GAAG,EAAE,GAAG,QAAQ,wBAAwB;YACxC,IAAI,EAAE,+BAA+B;SACtC;KACF;IACD,UAAU,EAAE;QACV,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,KAAK;QACd,GAAG,EAAE;YACH,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;SAC1D;KACF;IACD,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CACxB,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;CACzE,CAAC;AAEF,uEAAuE;AACvE,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;CAC9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/capabilities/colophon/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
|