@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 @@
|
|
|
1
|
+
{"version":3,"file":"show.render.js","sourceRoot":"","sources":["../../../../src/capabilities/config/show.render.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `config show` verb spec (noun `config`, verb `show`).
|
|
3
|
+
*
|
|
4
|
+
* Storeless read; `run` lazily imports the collector. Config *setters* are a
|
|
5
|
+
* later PR — this ships only the reader.
|
|
6
|
+
*/
|
|
7
|
+
import { BIN_NAME, PROJECT_CONFIG_FILENAME } from "../../constants.js";
|
|
8
|
+
import { asVerb } from "../../kernel/spec/asVerb.js";
|
|
9
|
+
import { configGetVerb } from "./get.verb.js";
|
|
10
|
+
import { configSetVerb } from "./set.verb.js";
|
|
11
|
+
import { configShowFormatters } from "./show.render.js";
|
|
12
|
+
import { configUnsetVerb } from "./unset.verb.js";
|
|
13
|
+
const showVerb = {
|
|
14
|
+
path: ["config", "show"],
|
|
15
|
+
summary: "Show the resolved config and per-field provenance.",
|
|
16
|
+
doc: `Merges built-in defaults, the global XDG config, and the nearest ${PROJECT_CONFIG_FILENAME}, marking which layer supplied each value.`,
|
|
17
|
+
params: [],
|
|
18
|
+
output: { formatters: configShowFormatters },
|
|
19
|
+
examples: [
|
|
20
|
+
{ cmd: `${BIN_NAME} config show` },
|
|
21
|
+
{ cmd: `${BIN_NAME} config show --format json` },
|
|
22
|
+
],
|
|
23
|
+
capability: {
|
|
24
|
+
needsStore: false,
|
|
25
|
+
mutates: false,
|
|
26
|
+
mcp: {
|
|
27
|
+
expose: true,
|
|
28
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
run: (_params, runtime) => import("./collectConfigShow.js").then((m) => m.collectConfigShow(runtime)),
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* The `config` capability module, emitted in covenant order: the `show`
|
|
35
|
+
* reader, the `get <key>` single-value reader, the `set <key> <value>`
|
|
36
|
+
* writer, and the `unset <key>` clearer. The per-field `tier`/`channel`/
|
|
37
|
+
* `detail` verbs were retired in favour of `config set` (AV-228 B3);
|
|
38
|
+
* clearing moved from a magic `set` value to its own verb.
|
|
39
|
+
*/
|
|
40
|
+
export const configModule = {
|
|
41
|
+
name: "config",
|
|
42
|
+
verbs: [asVerb(showVerb), configGetVerb, configSetVerb, configUnsetVerb],
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=show.verb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"show.verb.js","sourceRoot":"","sources":["../../../../src/capabilities/config/show.verb.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,QAAQ,GAAsD;IAClE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,oDAAoD;IAC7D,GAAG,EAAE,oEAAoE,uBAAuB,4CAA4C;IAC5I,MAAM,EAAE,EAAE;IACV,MAAM,EAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE;IAC5C,QAAQ,EAAE;QACR,EAAE,GAAG,EAAE,GAAG,QAAQ,cAAc,EAAE;QAClC,EAAE,GAAG,EAAE,GAAG,QAAQ,4BAA4B,EAAE;KACjD;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,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;CAC7E,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAqB;IAC5C,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,CAAC;CACzE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/capabilities/config/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `config unset <key>` — clear one config field.
|
|
3
|
+
*
|
|
4
|
+
* Clearing is a COMMAND, not a magic value: `config set` refuses the values
|
|
5
|
+
* that used to double as clear-markers, and this verb owns the job. Removes
|
|
6
|
+
* the field from the global layer so the built-in default (or a project
|
|
7
|
+
* config) applies again; project configs are authored by hand and never
|
|
8
|
+
* written here.
|
|
9
|
+
*/
|
|
10
|
+
import { BIN_NAME } from "../../constants.js";
|
|
11
|
+
import { asVerb } from "../../kernel/spec/asVerb.js";
|
|
12
|
+
import { configFieldFormatters } from "./field.render.js";
|
|
13
|
+
import { CONFIG_FIELDS } from "./fields.js";
|
|
14
|
+
/** The clearable field names — the `<key>` enum, in covenant order. */
|
|
15
|
+
const CONFIG_KEYS = CONFIG_FIELDS.map((field) => field.field);
|
|
16
|
+
const unsetVerb = {
|
|
17
|
+
path: ["config", "unset"],
|
|
18
|
+
summary: "Clear a config field by name.",
|
|
19
|
+
doc: "Removes a field from the global config so the built-in default (or a project config) applies again. The counterpart of `config set` — setting writes a value, unsetting removes one; no value doubles as a remove-marker.",
|
|
20
|
+
params: [
|
|
21
|
+
{
|
|
22
|
+
kind: "enum",
|
|
23
|
+
name: "key",
|
|
24
|
+
doc: "The config field to clear.",
|
|
25
|
+
values: CONFIG_KEYS,
|
|
26
|
+
required: true,
|
|
27
|
+
positional: true,
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
output: { formatters: configFieldFormatters },
|
|
31
|
+
examples: [
|
|
32
|
+
{ cmd: `${BIN_NAME} config unset tier`, note: "read the full graph again" },
|
|
33
|
+
{ cmd: `${BIN_NAME} config unset channel` },
|
|
34
|
+
],
|
|
35
|
+
capability: {
|
|
36
|
+
needsStore: false,
|
|
37
|
+
mutates: true,
|
|
38
|
+
mcp: {
|
|
39
|
+
expose: true,
|
|
40
|
+
annotations: { readOnlyHint: false, openWorldHint: false },
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
// Lazily import the write body (off the fast path); the `Task` arm is the
|
|
44
|
+
// same honest cast `config set` uses.
|
|
45
|
+
run: (params) => import("./runSet.js").then((m) => m.runUnset(params)),
|
|
46
|
+
};
|
|
47
|
+
/** The `config unset` verb. */
|
|
48
|
+
export const configUnsetVerb = asVerb(unsetVerb);
|
|
49
|
+
//# sourceMappingURL=unset.verb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unset.verb.js","sourceRoot":"","sources":["../../../../src/capabilities/config/unset.verb.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,uEAAuE;AACvE,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAE9D,MAAM,SAAS,GAAyD;IACtE,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,+BAA+B;IACxC,GAAG,EAAE,2NAA2N;IAChO,MAAM,EAAE;QACN;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK;YACX,GAAG,EAAE,4BAA4B;YACjC,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,IAAI;SACjB;KACF;IACD,MAAM,EAAE,EAAE,UAAU,EAAE,qBAAqB,EAAE;IAC7C,QAAQ,EAAE;QACR,EAAE,GAAG,EAAE,GAAG,QAAQ,oBAAoB,EAAE,IAAI,EAAE,2BAA2B,EAAE;QAC3E,EAAE,GAAG,EAAE,GAAG,QAAQ,uBAAuB,EAAE;KAC5C;IACD,UAAU,EAAE;QACV,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,IAAI;QACb,GAAG,EAAE;YACH,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;SAC3D;KACF;IACD,0EAA0E;IAC1E,sCAAsC;IACtC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CACd,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CACmB;CAC1C,CAAC;AAEF,+BAA+B;AAC/B,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `create` module's CLI projection hook — the LIGHT half of the mount.
|
|
3
|
+
*
|
|
4
|
+
* This module is on the capabilities barrel, so `--help` and `__complete`
|
|
5
|
+
* import it on every spawn; it must therefore carry only what those paths
|
|
6
|
+
* actually read: the completion surface and the reference syntax, both
|
|
7
|
+
* derived from the build-time projection (`createSurface.generated.ts`) —
|
|
8
|
+
* the registered flag/positional spellings are BAKED there
|
|
9
|
+
* (`CREATE_CLI_SYNTAX`), so nothing here calls the projection to re-derive a
|
|
10
|
+
* token. The registration machinery itself — summon-core's Commander adapter,
|
|
11
|
+
* the interaction decisions, Commander — lives in `mount.ts` behind the
|
|
12
|
+
* dynamic import `prepare()` performs, which only a caller about to build the
|
|
13
|
+
* command tree ever awaits. The lazy-graph guard in `lazy.test.ts` pins this
|
|
14
|
+
* boundary.
|
|
15
|
+
*/
|
|
16
|
+
import { BIN_NAME } from "../../constants.js";
|
|
17
|
+
import { CREATE_GENERATORS } from "./constants.js";
|
|
18
|
+
import { CREATE_CLI_SYNTAX, CREATE_SURFACE, } from "./createSurface.generated.js";
|
|
19
|
+
/** Build the mount (the module-level CLI projection hook). */
|
|
20
|
+
export function createCliProjection() {
|
|
21
|
+
// The registration import is DEFERRED to `prepare()`: only the one caller
|
|
22
|
+
// that actually builds the command tree (the bin, before `buildProgram`)
|
|
23
|
+
// pays for summon-core's adapter and Commander — never the
|
|
24
|
+
// `--help`/`__complete` barrel import. `mount` stays synchronous for
|
|
25
|
+
// `buildProgram` and throws when the step was skipped, so the coupling
|
|
26
|
+
// fails loudly instead of registering an empty subtree.
|
|
27
|
+
let mountCreateTree;
|
|
28
|
+
return {
|
|
29
|
+
prepare: async () => {
|
|
30
|
+
({ mountCreateTree } = await import("./mount.js"));
|
|
31
|
+
},
|
|
32
|
+
mount: (parent, host) => {
|
|
33
|
+
if (!mountCreateTree) {
|
|
34
|
+
throw new Error("create mount used before prepare() — await CliProjection.prepare() before buildProgram");
|
|
35
|
+
}
|
|
36
|
+
mountCreateTree(parent, host);
|
|
37
|
+
},
|
|
38
|
+
completionChildren,
|
|
39
|
+
referenceIntro: REFERENCE_INTRO,
|
|
40
|
+
referenceSyntax,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The baked registered spelling for a prompt, from the first declared path
|
|
45
|
+
* that carries it (a prompt's spelling derives from its own shape, so every
|
|
46
|
+
* declaring path bakes the same tokens).
|
|
47
|
+
*/
|
|
48
|
+
function syntaxFor(paths, promptName) {
|
|
49
|
+
for (const commandPath of paths) {
|
|
50
|
+
const syntax = CREATE_CLI_SYNTAX[commandPath]?.[promptName];
|
|
51
|
+
if (syntax)
|
|
52
|
+
return syntax;
|
|
53
|
+
}
|
|
54
|
+
throw new Error(`createSurface.generated.ts bakes no CLI syntax for prompt "${promptName}" — rerun the build`);
|
|
55
|
+
}
|
|
56
|
+
/** The leaves' prompts, unioned by first-seen name (the binding param order). */
|
|
57
|
+
function unionPrompts(paths) {
|
|
58
|
+
const seen = new Set();
|
|
59
|
+
const union = [];
|
|
60
|
+
for (const commandPath of paths) {
|
|
61
|
+
for (const prompt of CREATE_SURFACE[commandPath]?.prompts ?? []) {
|
|
62
|
+
if (seen.has(prompt.name))
|
|
63
|
+
continue;
|
|
64
|
+
seen.add(prompt.name);
|
|
65
|
+
union.push(prompt);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return union;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* The REGISTERED reference syntax for one binding verb (the mounted spelling
|
|
72
|
+
* the generated reference prints): the usage line carries the real tree
|
|
73
|
+
* segment (`create application react …`, `<framework>` for the multi-leaf
|
|
74
|
+
* binding — its values live in the Args table) and the registered kebab
|
|
75
|
+
* positional, which is also handed over as the per-param positional token so
|
|
76
|
+
* the Arguments table prints the SAME spelling; each flag token is the one
|
|
77
|
+
* the mount actually registers (a default-true confirm registers ONLY its
|
|
78
|
+
* `--no-` form), read from the BAKED syntax the build derived with the same
|
|
79
|
+
* flag-shape authority the mount registers through. Reached only through
|
|
80
|
+
* {@link createCliProjection} — one seam, THREE consumers, all speaking
|
|
81
|
+
* registration: the kernel's reference emitter (the reference pins read the
|
|
82
|
+
* committed pages it produced), `emitSurface` (the covenant's mounted-noun
|
|
83
|
+
* flag + positional tokens, L-CIS-2), and the `docExamples` gate's
|
|
84
|
+
* valid-token vocabulary. A change of meaning here moves all three together —
|
|
85
|
+
* the covenant conformance and derivation-tie cells in surface.test.ts are
|
|
86
|
+
* the tripwire.
|
|
87
|
+
*/
|
|
88
|
+
function referenceSyntax(verbPath) {
|
|
89
|
+
const kind = verbPath[1];
|
|
90
|
+
const binding = kind ? CREATE_GENERATORS[kind] : undefined;
|
|
91
|
+
if (verbPath[0] !== "create" || !binding)
|
|
92
|
+
return undefined;
|
|
93
|
+
const paths = binding.paths;
|
|
94
|
+
const first = paths[0];
|
|
95
|
+
const tokens = ["create", kind];
|
|
96
|
+
if (paths.length > 1)
|
|
97
|
+
tokens.push("<framework>");
|
|
98
|
+
else if (first.includes("/"))
|
|
99
|
+
tokens.push(first.split("/")[1]);
|
|
100
|
+
const prompts = unionPrompts(paths);
|
|
101
|
+
const positional = prompts.find((prompt) => prompt.positional === true);
|
|
102
|
+
const positionalTokens = {};
|
|
103
|
+
if (positional) {
|
|
104
|
+
const token = `[${syntaxFor(paths, positional.name).kebabName}]`;
|
|
105
|
+
tokens.push(token);
|
|
106
|
+
positionalTokens[positional.name] = token;
|
|
107
|
+
}
|
|
108
|
+
tokens.push("[options]");
|
|
109
|
+
const flagTokens = {};
|
|
110
|
+
for (const prompt of prompts) {
|
|
111
|
+
if (prompt.positional === true)
|
|
112
|
+
continue;
|
|
113
|
+
flagTokens[prompt.name] = syntaxFor(paths, prompt.name).flag;
|
|
114
|
+
}
|
|
115
|
+
return { usage: tokens.join(" "), flagTokens, positionalTokens };
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* One leaf's completion node, derived from its projected prompts. EVERY
|
|
119
|
+
* prompt is a flag — `addPromptOptions` registers positional prompts as
|
|
120
|
+
* options too (`--component-path` is as real as `--no-with-styles`), the
|
|
121
|
+
* positional argument being an additional spelling, not a replacement.
|
|
122
|
+
*/
|
|
123
|
+
function leafChild(label, commandPath) {
|
|
124
|
+
const surface = CREATE_SURFACE[commandPath];
|
|
125
|
+
const prompts = surface?.prompts ?? [];
|
|
126
|
+
return {
|
|
127
|
+
label,
|
|
128
|
+
flags: prompts.map((prompt) => promptFlag(commandPath, prompt)),
|
|
129
|
+
positionals: prompts
|
|
130
|
+
.filter((prompt) => prompt.positional === true)
|
|
131
|
+
.map((prompt) => ({
|
|
132
|
+
name: prompt.name,
|
|
133
|
+
required: false,
|
|
134
|
+
files: /(path|dir)$/i.test(prompt.name),
|
|
135
|
+
})),
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
/** A prompt's completion flag: the REGISTERED token (`--no-` for default-true). */
|
|
139
|
+
function promptFlag(commandPath, prompt) {
|
|
140
|
+
const syntax = syntaxFor([commandPath], prompt.name);
|
|
141
|
+
return {
|
|
142
|
+
flag: syntax.flag,
|
|
143
|
+
takesValue: syntax.takesValue,
|
|
144
|
+
...(prompt.type === "select" && prompt.choices && prompt.choices.length > 0
|
|
145
|
+
? { values: prompt.choices.map((choice) => choice.value) }
|
|
146
|
+
: {}),
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* The completion surface per verb label: leaves carry their prompt-derived
|
|
151
|
+
* flags in their REGISTERED spelling; a namespace node offers its segment
|
|
152
|
+
* values at position 0, the shared leaf positional after it, and the leaf
|
|
153
|
+
* children for the dynamic tier's precise walk — but NO prompt flags of its
|
|
154
|
+
* own: Commander registers those on the leaves, so a pre-segment offer
|
|
155
|
+
* (`create component --use-ts-stories svelte`) completes an ordering the
|
|
156
|
+
* CLI rejects as an unknown option.
|
|
157
|
+
*/
|
|
158
|
+
function completionChildren() {
|
|
159
|
+
const record = {};
|
|
160
|
+
for (const [kind, binding] of Object.entries(CREATE_GENERATORS)) {
|
|
161
|
+
const paths = binding.paths;
|
|
162
|
+
const first = paths[0];
|
|
163
|
+
if (paths.length === 1 && !first.includes("/")) {
|
|
164
|
+
record[kind] = leafChild(kind, first);
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
const children = paths.map((commandPath) => leafChild(commandPath.split("/")[1], commandPath));
|
|
168
|
+
// The shared tail: every declared leaf carries the same positional shape.
|
|
169
|
+
const tail = children[0]?.positionals ?? [];
|
|
170
|
+
record[kind] = {
|
|
171
|
+
label: kind,
|
|
172
|
+
flags: [],
|
|
173
|
+
positionals: [
|
|
174
|
+
{
|
|
175
|
+
name: "framework",
|
|
176
|
+
required: true,
|
|
177
|
+
values: children.map((child) => child.label),
|
|
178
|
+
},
|
|
179
|
+
...tail,
|
|
180
|
+
],
|
|
181
|
+
children,
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
return record;
|
|
185
|
+
}
|
|
186
|
+
/** The generated-reference intro under the `create` heading (the pointer). */
|
|
187
|
+
const REFERENCE_INTRO = "The `create` surface is a PROJECTION of the summon generator tree: " +
|
|
188
|
+
`\`${BIN_NAME} create <path...>\` ≡ \`summon <path...>\` over the declared bindings — ` +
|
|
189
|
+
"same grammar, same flags, same wizard, byte-identical trees. Tree segments are " +
|
|
190
|
+
"subcommands (`create component react|svelte|lit`, `create application react`), and " +
|
|
191
|
+
"every flag derives from the generators' own prompts (a default-on confirm registers " +
|
|
192
|
+
"only its `--no-` form). The contract is EXECUTED, not written down: " +
|
|
193
|
+
"`crossCli.subprocess.test.ts` runs both CLIs over the same argv and compares " +
|
|
194
|
+
"what they emit.";
|
|
195
|
+
//# sourceMappingURL=cliProjection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliProjection.js","sourceRoot":"","sources":["../../../../src/capabilities/create/cliProjection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The command-path ALLOWLIST of the `create` surface — the one list the
|
|
3
|
+
* surface's mechanical copies derive from: the `CreateKind` union
|
|
4
|
+
* (`types.ts`) and the generator lookup (`pickGenerator.ts`). Prose is NOT
|
|
5
|
+
* derived: the verb summaries in `create.verb.ts` and
|
|
6
|
+
* `capabilities/hints.ts` still name the frameworks by hand.
|
|
7
|
+
*
|
|
8
|
+
* This table is the SINGLE authoring point for which generator packages the
|
|
9
|
+
* distribution ships: it binds each `create` noun to the command PATHS it
|
|
10
|
+
* runs (the generator-map keys, `component/react` … `application/react`).
|
|
11
|
+
* Templates are NOT this package's concern — each generator package ships
|
|
12
|
+
* its own under its `dist/esm` tree and loads them itself. The binding is
|
|
13
|
+
* hand-written because it cannot be discovered:
|
|
14
|
+
* - surfacing a noun also needs prose and examples in `create.verb.ts`, so
|
|
15
|
+
* the surface is a deliberate SUBSET — `@canonical/summon-application`
|
|
16
|
+
* ships `application/react`, `domain`, `route` and `wrapper`, and `create`
|
|
17
|
+
* exposes one of them;
|
|
18
|
+
* - `pickGenerator` imports all three generators STATICALLY. A computed
|
|
19
|
+
* `import(name)` is opaque to every bundler and analyser; the historical
|
|
20
|
+
* cost was measured under `bun build --compile`, which left the
|
|
21
|
+
* generators out of the artifact entirely.
|
|
22
|
+
*
|
|
23
|
+
* Every declared path RUNS from a published install. `create.test.ts` pins
|
|
24
|
+
* what is checkable: every declared path resolves to a generator whose
|
|
25
|
+
* `meta.name` equals the path.
|
|
26
|
+
*
|
|
27
|
+
* Deliberately free of any import: `create.verb.ts` reads this on the
|
|
28
|
+
* `--help` / `__complete` fast path (`capabilities/lazy.test.ts`).
|
|
29
|
+
*/
|
|
30
|
+
export const CREATE_GENERATORS = {
|
|
31
|
+
component: {
|
|
32
|
+
/** The command paths this binding runs (generator-map keys). */
|
|
33
|
+
paths: ["component/react", "component/svelte", "component/lit"],
|
|
34
|
+
},
|
|
35
|
+
package: {
|
|
36
|
+
paths: ["package"],
|
|
37
|
+
},
|
|
38
|
+
application: {
|
|
39
|
+
paths: ["application/react"],
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* The component frameworks, DERIVED from the declared tree segments — the
|
|
44
|
+
* second path segment of each `component/<framework>` binding.
|
|
45
|
+
*/
|
|
46
|
+
export const COMPONENT_FRAMEWORKS = CREATE_GENERATORS.component.paths.map((commandPath) => commandPath.split("/")[1]);
|
|
47
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/capabilities/create/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,SAAS,EAAE;QACT,gEAAgE;QAChE,KAAK,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,CAAC;KAChE;IACD,OAAO,EAAE;QACP,KAAK,EAAE,CAAC,SAAS,CAAC;KACnB;IACD,WAAW,EAAE;QACX,KAAK,EAAE,CAAC,mBAAmB,CAAC;KAC7B;CACO,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAC/B,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CACnC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAW,CACrD,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Formatters for `create` — plain / llm / json over a {@link GeneratorResult},
|
|
3
|
+
* plus the dry-run plan render.
|
|
4
|
+
*
|
|
5
|
+
* Free of any RUNTIME summon-core import, and of any Ink import: the
|
|
6
|
+
* `GeneratorResult` type is imported type-only (erased) and the effect
|
|
7
|
+
* inspection uses `@canonical/task`, which the kernel already loads. This
|
|
8
|
+
* module sits on the capabilities barrel, so `--help` and `__complete` pay its
|
|
9
|
+
* import cost on every spawn — the same reason `create.verb.ts` keeps even the
|
|
10
|
+
* UI-free projection subpath off its static graph. So a verb spec carrying
|
|
11
|
+
* these formatters never pulls summon-core onto the `buildProgram` / `--help`
|
|
12
|
+
* / `__complete` fast paths, and never pulls React.
|
|
13
|
+
*
|
|
14
|
+
* The plan render matters because pragma and summon scaffold through the SAME
|
|
15
|
+
* projection: the two bins write byte-identical trees, so a preview that
|
|
16
|
+
* described that work differently in each was a difference with nothing behind
|
|
17
|
+
* it. {@link formatCreatePlan} therefore consumes summon's own rules rather
|
|
18
|
+
* than restating them — the rows, the connectors and the closing line are
|
|
19
|
+
* whatever `@canonical/summon-core/format` says they are.
|
|
20
|
+
*/
|
|
21
|
+
import { getAffectedFiles } from "@canonical/task";
|
|
22
|
+
import { defaultStyle } from "../../kernel/render/style.js";
|
|
23
|
+
/** The user-visible mutating effects, de-duplicated by path for MakeDir. */
|
|
24
|
+
function created(effects) {
|
|
25
|
+
return getAffectedFiles([...effects]);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Render a `create --dry-run` plan: the generation summon would describe.
|
|
29
|
+
*
|
|
30
|
+
* The kernel's default render dumps every effect the interpreter recorded,
|
|
31
|
+
* which for a generator means the internal `Exists` probes, the output
|
|
32
|
+
* directory once per file it holds, and the generator's own log lines — a
|
|
33
|
+
* transcript rather than a plan. {@link visiblePlanEffects} is the filter that
|
|
34
|
+
* already exists for exactly this, and {@link formatEffectLine} the row.
|
|
35
|
+
*
|
|
36
|
+
* Nothing is stashed on the runtime for this: a generator's plan is not known
|
|
37
|
+
* until the preview interpreter has walked the Task, so the effects ARE the
|
|
38
|
+
* plan data. That also keeps `--dry-run --format json` untouched, since the
|
|
39
|
+
* kernel adds its `targets` key only for a verb that stashed something.
|
|
40
|
+
*
|
|
41
|
+
* ASYNC because the formatter is loaded LAZILY, from the light `/format`
|
|
42
|
+
* subpath — the same dynamic edge `registerVerb.ts` uses for the MCP plan
|
|
43
|
+
* payload, so both surfaces reach one module and neither puts it on the fast
|
|
44
|
+
* paths. A dry run is already several filesystem reads deep by the time this
|
|
45
|
+
* is called; a `--help` spawn never calls it at all.
|
|
46
|
+
*
|
|
47
|
+
* COLOUR is decided HERE and handed to the formatter, never left to chalk's
|
|
48
|
+
* own environment detection. pragma's gate is `defaultStyle()`, which demands
|
|
49
|
+
* an attended stdout as well as a usable chalk level: nx exports `FORCE_COLOR`
|
|
50
|
+
* to every test task, so a piped preview would otherwise carry escapes that
|
|
51
|
+
* the rest of pragma's renderers — and `doctor.render.test.ts`'s pin on
|
|
52
|
+
* redirected output — do not.
|
|
53
|
+
*
|
|
54
|
+
* @param effects - The effects the previewed run recorded, in order.
|
|
55
|
+
* @param verbose - If true, the generator's debug logs stay in the plan.
|
|
56
|
+
* @param style - The colour decision; defaults to pragma's own render gate.
|
|
57
|
+
* @returns The rendered plan, without a trailing newline.
|
|
58
|
+
*/
|
|
59
|
+
export async function formatCreatePlan(effects, verbose, style = defaultStyle()) {
|
|
60
|
+
const { effectStyleFor, formatEffectLine, visiblePlanEffects } = await import("@canonical/summon-core/format");
|
|
61
|
+
const rowStyle = effectStyleFor(style.enabled);
|
|
62
|
+
const rows = visiblePlanEffects(effects, verbose);
|
|
63
|
+
return [
|
|
64
|
+
"Plan:",
|
|
65
|
+
...rows.map((effect, index) => formatEffectLine(effect, index === rows.length - 1, rowStyle)),
|
|
66
|
+
"",
|
|
67
|
+
"Dry-run complete. No files were modified.",
|
|
68
|
+
].join("\n");
|
|
69
|
+
}
|
|
70
|
+
/** The generation's outcome formatters. */
|
|
71
|
+
export const createFormatters = {
|
|
72
|
+
plain(result) {
|
|
73
|
+
const files = created(result.effects);
|
|
74
|
+
const header = `Created with ${result.generator.meta.name} v${result.generator.meta.version}.`;
|
|
75
|
+
if (files.length === 0)
|
|
76
|
+
return header;
|
|
77
|
+
return [header, ...files.map((file) => ` + ${file}`)].join("\n");
|
|
78
|
+
},
|
|
79
|
+
llm(result) {
|
|
80
|
+
const files = created(result.effects);
|
|
81
|
+
const lines = [
|
|
82
|
+
`# create — ${result.generator.meta.name}`,
|
|
83
|
+
"",
|
|
84
|
+
`Generated ${files.length} path${files.length === 1 ? "" : "s"}:`,
|
|
85
|
+
...files.map((file) => `- \`${file}\``),
|
|
86
|
+
];
|
|
87
|
+
return lines.join("\n");
|
|
88
|
+
},
|
|
89
|
+
json(result) {
|
|
90
|
+
return JSON.stringify({
|
|
91
|
+
generator: {
|
|
92
|
+
name: result.generator.meta.name,
|
|
93
|
+
version: result.generator.meta.version,
|
|
94
|
+
},
|
|
95
|
+
answers: result.answers,
|
|
96
|
+
created: created(result.effects),
|
|
97
|
+
});
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=create.render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.render.js","sourceRoot":"","sources":["../../../../src/capabilities/create/create.render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAe,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAoB,MAAM,8BAA8B,CAAC;AAG9E,4EAA4E;AAC5E,SAAS,OAAO,CAAC,OAA0B;IACzC,OAAO,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAA0B,EAC1B,OAAgB,EAChB,QAAqB,YAAY,EAAE;IAEnC,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAC3E,+BAA+B,CAChC,CAAC;IACF,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,OAAO;QACL,OAAO;QACP,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAC5B,gBAAgB,CAAC,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,CAAC,CAC9D;QACD,EAAE;QACF,2CAA2C;KAC5C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,2CAA2C;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAgC;IAC3D,KAAK,CAAC,MAAM;QACV,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,gBAAgB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC;QAC/F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QACtC,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,GAAG,CAAC,MAAM;QACR,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG;YACZ,cAAc,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE;YAC1C,EAAE;YACF,aAAa,KAAK,CAAC,MAAM,QAAQ,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;YACjE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI,CAAC;SACxC,CAAC;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,MAAM;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,SAAS,EAAE;gBACT,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI;gBAChC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO;aACvC;YACD,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|