@canonical/pragma-cli 0.30.0 → 0.32.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/dist/pragma +0 -0
- package/package.json +27 -40
- package/src/bin.ts +292 -11
- package/src/capabilities/block/blockList.verb.ts +150 -0
- package/src/capabilities/block/index.ts +25 -0
- package/src/capabilities/block/pack.ts +155 -0
- package/src/capabilities/block/parity.test.ts +180 -0
- package/src/capabilities/block/tierChain.ts +78 -0
- package/src/capabilities/capabilities/capabilities.render.ts +89 -0
- package/src/capabilities/capabilities/capabilities.test.ts +131 -0
- package/src/capabilities/capabilities/capabilities.verb.ts +48 -0
- package/src/capabilities/capabilities/catalog.ts +144 -0
- package/src/capabilities/capabilities/hints.ts +221 -0
- package/src/capabilities/capabilities/index.ts +13 -0
- package/src/capabilities/capabilities/types.ts +58 -0
- package/src/capabilities/colophon/collectColophon.ts +68 -0
- package/src/capabilities/colophon/colophon.render.test.ts +87 -0
- package/src/capabilities/colophon/colophon.render.ts +38 -0
- package/src/capabilities/colophon/colophon.test.ts +241 -0
- package/src/capabilities/colophon/colophon.verb.ts +41 -0
- package/src/capabilities/colophon/index.ts +6 -0
- package/src/capabilities/colophon/markdownTerminal.test.ts +50 -0
- package/src/capabilities/colophon/markdownTerminal.ts +85 -0
- package/src/capabilities/colophon/pragmaColophon.ts +66 -0
- package/src/capabilities/colophon/types.ts +29 -0
- package/src/capabilities/config/collectConfigShow.ts +32 -0
- package/src/capabilities/config/field.render.ts +28 -0
- package/src/capabilities/config/field.test.ts +188 -0
- package/src/capabilities/config/fields.ts +152 -0
- package/src/capabilities/config/index.ts +6 -0
- package/src/capabilities/config/runField.ts +59 -0
- package/src/capabilities/config/runSet.ts +38 -0
- package/src/capabilities/config/set.test.ts +207 -0
- package/src/capabilities/config/set.verb.ts +70 -0
- package/src/capabilities/config/show.render.ts +61 -0
- package/src/capabilities/config/show.verb.ts +45 -0
- package/src/capabilities/config/types.ts +27 -0
- package/src/capabilities/create/byteEquality.subprocess.test.ts +88 -0
- package/src/capabilities/create/byteEquality.test.ts +222 -0
- package/src/capabilities/create/compiledCreate.subprocess.test.ts +152 -0
- package/src/capabilities/create/create.mcp.test.ts +139 -0
- package/src/capabilities/create/create.render.ts +50 -0
- package/src/capabilities/create/create.test.ts +403 -0
- package/src/capabilities/create/create.verb.ts +435 -0
- package/src/capabilities/create/cwdJail.test.ts +129 -0
- package/src/capabilities/create/generatorToVerbSpec.ts +111 -0
- package/src/capabilities/create/index.ts +25 -0
- package/src/capabilities/create/pathJail.ts +73 -0
- package/src/capabilities/create/pickGenerator.ts +63 -0
- package/src/capabilities/create/templates.embedded.generated.ts +53 -0
- package/src/capabilities/create/types.ts +8 -0
- package/src/capabilities/doctor/checks/checkConfigFile.ts +41 -0
- package/src/capabilities/doctor/checks/checkKeStore.ts +39 -0
- package/src/capabilities/doctor/checks/checkMcpCommands.ts +108 -0
- package/src/capabilities/doctor/checks/checkMcpConfigured.ts +61 -0
- package/src/capabilities/doctor/checks/checkNodeVersion.ts +25 -0
- package/src/capabilities/doctor/checks/checkPackageRefs.ts +73 -0
- package/src/capabilities/doctor/checks/checkPragmaVersion.ts +22 -0
- package/src/capabilities/doctor/checks/checkShellCompletions.test.ts +111 -0
- package/src/capabilities/doctor/checks/checkShellCompletions.ts +131 -0
- package/src/capabilities/doctor/checks/checkSkillsSymlinked.ts +60 -0
- package/src/capabilities/doctor/doctor.render.ts +116 -0
- package/src/capabilities/doctor/doctor.test.ts +179 -0
- package/src/capabilities/doctor/doctor.verb.ts +46 -0
- package/src/capabilities/doctor/index.ts +6 -0
- package/src/capabilities/doctor/runChecks.ts +76 -0
- package/src/capabilities/doctor/types.ts +41 -0
- package/src/capabilities/emptyRecovery.test.ts +112 -0
- package/src/capabilities/graph/index.ts +21 -0
- package/src/capabilities/graph/inspect.render.ts +38 -0
- package/src/capabilities/graph/inspect.test.ts +80 -0
- package/src/capabilities/graph/inspect.verb.ts +51 -0
- package/src/capabilities/graph/query.render.ts +77 -0
- package/src/capabilities/graph/query.test.ts +156 -0
- package/src/capabilities/graph/query.verb.ts +58 -0
- package/src/capabilities/graph/runQuery.ts +49 -0
- package/src/capabilities/index.ts +54 -0
- package/src/capabilities/info/collectInfo.ts +76 -0
- package/src/capabilities/info/index.ts +6 -0
- package/src/capabilities/info/info.render.ts +72 -0
- package/src/capabilities/info/info.test.ts +127 -0
- package/src/capabilities/info/info.verb.ts +46 -0
- package/src/capabilities/info/types.ts +42 -0
- package/src/capabilities/lazy.test.ts +89 -0
- package/src/capabilities/meta/complete.verb.ts +52 -0
- package/src/capabilities/meta/index.ts +15 -0
- package/src/capabilities/meta/mcp.verb.ts +35 -0
- package/src/capabilities/modifier/index.ts +15 -0
- package/src/capabilities/modifier/pack.ts +64 -0
- package/src/capabilities/ontology/index.ts +12 -0
- package/src/capabilities/ontology/ontology.test.ts +94 -0
- package/src/capabilities/ontology/queries.ts +197 -0
- package/src/capabilities/ontology/render.ts +87 -0
- package/src/capabilities/ontology/verbs.ts +170 -0
- package/src/capabilities/prompt/index.ts +18 -0
- package/src/capabilities/prompt/prompt.render.ts +70 -0
- package/src/capabilities/prompt/prompt.test.ts +119 -0
- package/src/capabilities/prompt/types.ts +30 -0
- package/src/capabilities/prompt/verbs.ts +93 -0
- package/src/capabilities/resources/index.ts +15 -0
- package/src/capabilities/resources/provider.ts +231 -0
- package/src/capabilities/resources/resources.test.ts +114 -0
- package/src/capabilities/roundtrip.test.ts +107 -0
- package/src/capabilities/setup/index.ts +6 -0
- package/src/capabilities/setup/operations/setupCompletions.ts +108 -0
- package/src/capabilities/setup/operations/setupGenerator.ts +307 -0
- package/src/capabilities/setup/operations/setupLsp.ts +61 -0
- package/src/capabilities/setup/operations/setupMcp.ts +85 -0
- package/src/capabilities/setup/operations/setupSkills.ts +199 -0
- package/src/capabilities/setup/setup.render.ts +49 -0
- package/src/capabilities/setup/setup.test.ts +351 -0
- package/src/capabilities/setup/setup.verb.ts +209 -0
- package/src/capabilities/setup/shell.ts +85 -0
- package/src/capabilities/setup/types.ts +42 -0
- package/src/capabilities/shared/assertExecOk.ts +106 -0
- package/src/capabilities/shared/packageManager.ts +62 -0
- package/src/capabilities/shared/registry.ts +70 -0
- package/src/capabilities/skill/discover.ts +178 -0
- package/src/capabilities/skill/index.ts +12 -0
- package/src/capabilities/skill/render.ts +60 -0
- package/src/capabilities/skill/skill.test.ts +142 -0
- package/src/capabilities/skill/verbs.ts +100 -0
- package/src/capabilities/sources/collectStatus.ts +87 -0
- package/src/capabilities/sources/index.ts +15 -0
- package/src/capabilities/sources/installSkills.ts +124 -0
- package/src/capabilities/sources/runUpdate.ts +407 -0
- package/src/capabilities/sources/sources.test.ts +642 -0
- package/src/capabilities/sources/status.render.ts +56 -0
- package/src/capabilities/sources/status.verb.ts +42 -0
- package/src/capabilities/sources/types.ts +51 -0
- package/src/capabilities/sources/update.render.ts +35 -0
- package/src/capabilities/sources/update.verb.ts +76 -0
- package/src/capabilities/standard/index.ts +18 -0
- package/src/capabilities/standard/pack.ts +128 -0
- package/src/capabilities/standard/parity.test.ts +208 -0
- package/src/capabilities/surface.test.ts +208 -0
- package/src/capabilities/tier/index.ts +19 -0
- package/src/capabilities/tier/lookup.render.ts +34 -0
- package/src/capabilities/tier/lookup.test.ts +68 -0
- package/src/capabilities/tier/lookup.verb.ts +44 -0
- package/src/capabilities/tier/pack.ts +28 -0
- package/src/capabilities/tier/runLookup.ts +59 -0
- package/src/capabilities/token/addConfig.render.ts +27 -0
- package/src/capabilities/token/addConfig.test.ts +62 -0
- package/src/capabilities/token/addConfig.verb.ts +40 -0
- package/src/capabilities/token/index.ts +19 -0
- package/src/capabilities/token/pack.ts +58 -0
- package/src/capabilities/token/runAddConfig.ts +95 -0
- package/src/capabilities/upgrade/index.ts +6 -0
- package/src/capabilities/upgrade/runUpgrade.ts +119 -0
- package/src/capabilities/upgrade/types.ts +21 -0
- package/src/capabilities/upgrade/upgrade.render.ts +55 -0
- package/src/capabilities/upgrade/upgrade.test.ts +372 -0
- package/src/capabilities/upgrade/upgrade.verb.ts +56 -0
- package/src/constants.test.ts +33 -0
- package/src/constants.ts +38 -68
- package/src/index.ts +27 -134
- package/src/kernel/completion/__snapshots__/emitScripts.test.ts.snap +340 -0
- package/src/kernel/completion/bashDrive.test.ts +73 -0
- package/src/kernel/completion/complete.test.ts +101 -0
- package/src/kernel/completion/complete.ts +77 -0
- package/src/kernel/completion/emitScripts.test.ts +173 -0
- package/src/kernel/completion/emitScripts.ts +122 -0
- package/src/kernel/completion/entitySource.test.ts +198 -0
- package/src/kernel/completion/entitySource.ts +269 -0
- package/src/kernel/completion/index.ts +42 -0
- package/src/kernel/completion/model.test.ts +405 -0
- package/src/kernel/completion/model.ts +259 -0
- package/src/kernel/completion/parse.test.ts +338 -0
- package/src/kernel/completion/parse.ts +294 -0
- package/src/kernel/completion/rank.test.ts +100 -0
- package/src/kernel/completion/rank.ts +118 -0
- package/src/kernel/completion/resolve.test.ts +204 -0
- package/src/kernel/completion/resolve.ts +133 -0
- package/src/kernel/completion/safety.test.ts +374 -0
- package/src/kernel/completion/templates/bash.ts +249 -0
- package/src/kernel/completion/templates/fish.ts +245 -0
- package/src/kernel/completion/templates/shared.ts +134 -0
- package/src/kernel/completion/templates/zsh.ts +246 -0
- package/src/kernel/completion/types.ts +153 -0
- package/src/kernel/config/__snapshots__/firstRun.test.ts.snap +11 -0
- package/src/kernel/config/defaults.ts +28 -0
- package/src/kernel/config/evaluateProjectConfig.ts +119 -0
- package/src/kernel/config/findProjectConfig.ts +45 -0
- package/src/kernel/config/firstRun.test.ts +60 -0
- package/src/kernel/config/firstRun.ts +91 -0
- package/src/kernel/config/globalConfig.ts +94 -0
- package/src/kernel/config/index.ts +35 -0
- package/src/kernel/config/paths.ts +39 -0
- package/src/kernel/config/readConfig.test.ts +245 -0
- package/src/kernel/config/readConfig.ts +94 -0
- package/src/kernel/config/schema.ts +56 -0
- package/src/kernel/config/types.ts +106 -0
- package/src/kernel/config/writeConfigField.ts +82 -0
- package/src/kernel/error/PragmaError.test.ts +119 -0
- package/src/kernel/error/PragmaError.ts +182 -0
- package/src/kernel/error/constants.ts +38 -0
- package/src/kernel/error/fromTaskError.test.ts +83 -0
- package/src/kernel/error/fromTaskError.ts +80 -0
- package/src/kernel/error/index.ts +23 -0
- package/src/kernel/error/recovery.test.ts +60 -0
- package/src/kernel/error/recovery.ts +49 -0
- package/src/kernel/error/renderError.ts +101 -0
- package/src/kernel/error/serialize.ts +28 -0
- package/src/kernel/error/types.ts +62 -0
- package/src/kernel/packs/collect.test.ts +138 -0
- package/src/kernel/packs/collect.ts +108 -0
- package/src/kernel/packs/compile.test.ts +229 -0
- package/src/kernel/packs/compile.ts +315 -0
- package/src/kernel/packs/disclosure.test.ts +200 -0
- package/src/kernel/packs/disclosure.ts +98 -0
- package/src/kernel/packs/glob.ts +39 -0
- package/src/kernel/packs/graphql/buildLookupDocument.ts +397 -0
- package/src/kernel/packs/graphql/fetchGraphqlLookup.ts +217 -0
- package/src/kernel/packs/graphql/nameMap.ts +67 -0
- package/src/kernel/packs/graphqlSource.test.ts +383 -0
- package/src/kernel/packs/iri.ts +78 -0
- package/src/kernel/packs/renderPack.ts +196 -0
- package/src/kernel/packs/resolveEntity.ts +232 -0
- package/src/kernel/packs/runBodies.ts +157 -0
- package/src/kernel/packs/sample.ts +60 -0
- package/src/kernel/packs/schema.ts +328 -0
- package/src/kernel/packs/sparql/applyFilters.ts +83 -0
- package/src/kernel/packs/sparql/applySearch.ts +33 -0
- package/src/kernel/packs/sparql/buildLookupQuery.ts +180 -0
- package/src/kernel/packs/sparql/escape.ts +22 -0
- package/src/kernel/packs/sparql/runSelect.test.ts +80 -0
- package/src/kernel/packs/sparql/runSelect.ts +84 -0
- package/src/kernel/packs/toolDescription.test.ts +81 -0
- package/src/kernel/packs/types.ts +337 -0
- package/src/kernel/packs/uniqueness.ts +35 -0
- package/src/kernel/project/cli/buildProgram.test.ts +387 -0
- package/src/kernel/project/cli/buildProgram.ts +280 -0
- package/src/kernel/project/cli/dispatch.test.ts +288 -0
- package/src/kernel/project/cli/dispatch.ts +334 -0
- package/src/kernel/project/cli/exitCodes.test.ts +59 -0
- package/src/kernel/project/cli/exitCodes.ts +68 -0
- package/src/kernel/project/cli/globalFlags.test.ts +99 -0
- package/src/kernel/project/cli/globalFlags.ts +149 -0
- package/src/kernel/project/cli/helpFormat.ts +58 -0
- package/src/kernel/project/cli/index.ts +21 -0
- package/src/kernel/project/cli/interactionSeam.test.ts +99 -0
- package/src/kernel/project/cli/rootHelp.ts +218 -0
- package/src/kernel/project/cli/suggest.test.ts +54 -0
- package/src/kernel/project/cli/suggest.ts +67 -0
- package/src/kernel/project/cli/suggestNames.ts +122 -0
- package/src/kernel/project/cli/verbHelp.test.ts +138 -0
- package/src/kernel/project/cli/verbHelp.ts +144 -0
- package/src/kernel/project/mcp/buildServer.ts +70 -0
- package/src/kernel/project/mcp/envelope.ts +44 -0
- package/src/kernel/project/mcp/index.ts +8 -0
- package/src/kernel/project/mcp/instructions.ts +48 -0
- package/src/kernel/project/mcp/parity.test.ts +72 -0
- package/src/kernel/project/mcp/prompts/prompts.test.ts +96 -0
- package/src/kernel/project/mcp/prompts/provider.ts +74 -0
- package/src/kernel/project/mcp/prompts/source.ts +194 -0
- package/src/kernel/project/mcp/registerVerb.test.ts +238 -0
- package/src/kernel/project/mcp/registerVerb.ts +296 -0
- package/src/kernel/project/mcp/serve.ts +34 -0
- package/src/kernel/project/mcp/toolDescriptions.test.ts +80 -0
- package/src/kernel/render/__snapshots__/renderers.test.ts.snap +127 -0
- package/src/kernel/render/compactUri.ts +25 -0
- package/src/kernel/render/contracts.ts +72 -0
- package/src/kernel/render/disclosure.ts +44 -0
- package/src/kernel/render/envelope.ts +50 -0
- package/src/kernel/render/formatters.ts +30 -0
- package/src/kernel/render/index.ts +30 -0
- package/src/kernel/render/prefixes.ts +21 -0
- package/src/kernel/render/renderers.test.ts +171 -0
- package/src/kernel/render/renderers.ts +429 -0
- package/src/kernel/render/writeStdout.test.ts +43 -0
- package/src/kernel/render/writeStdout.ts +49 -0
- package/src/kernel/runtime/boot.test.ts +69 -0
- package/src/kernel/runtime/boot.ts +59 -0
- package/src/kernel/runtime/facade.test.ts +125 -0
- package/src/kernel/runtime/facade.ts +47 -0
- package/src/kernel/runtime/graphpack/build.ts +148 -0
- package/src/kernel/runtime/graphpack/buildIndex.ts +229 -0
- package/src/kernel/runtime/graphpack/embedded/pack.generated.ts +8 -0
- package/src/kernel/runtime/graphpack/embedded/pack.index.generated.ts +4 -0
- package/src/kernel/runtime/graphpack/embedded/sample.ttl +39 -0
- package/src/kernel/runtime/graphpack/embedded.ts +70 -0
- package/src/kernel/runtime/graphpack/graphpack.test.ts +153 -0
- package/src/kernel/runtime/graphpack/hash.ts +46 -0
- package/src/kernel/runtime/graphpack/index.ts +21 -0
- package/src/kernel/runtime/graphpack/manifest.ts +55 -0
- package/src/kernel/runtime/graphpack/read.ts +102 -0
- package/src/kernel/runtime/graphpack/types.ts +111 -0
- package/src/kernel/runtime/index.ts +15 -0
- package/src/kernel/runtime/loadSession.ts +56 -0
- package/src/kernel/runtime/lock.ts +90 -0
- package/src/kernel/runtime/paths.ts +37 -0
- package/src/kernel/runtime/probe.test.ts +16 -0
- package/src/kernel/runtime/probe.ts +39 -0
- package/src/kernel/runtime/readEntity.ts +83 -0
- package/src/kernel/runtime/refs/gitOps.ts +88 -0
- package/src/kernel/runtime/refs/parseRef.test.ts +34 -0
- package/src/kernel/runtime/refs/parseRef.ts +103 -0
- package/src/kernel/runtime/refs/resolve.ts +320 -0
- package/src/kernel/runtime/resolveSources.test.ts +154 -0
- package/src/kernel/runtime/resolveSources.ts +66 -0
- package/src/kernel/runtime/store.test.ts +94 -0
- package/src/kernel/runtime/store.ts +90 -0
- package/src/kernel/runtime/storeless.test.ts +86 -0
- package/src/kernel/runtime/types.ts +210 -0
- package/src/kernel/runtime/wasmEmbed.test.ts +142 -0
- package/src/kernel/spec/asVerb.ts +23 -0
- package/src/kernel/spec/emitSurface.test.ts +65 -0
- package/src/kernel/spec/emitSurface.ts +223 -0
- package/src/kernel/spec/index.ts +34 -0
- package/src/kernel/spec/surfaceConformance.test.ts +94 -0
- package/src/kernel/spec/surfaceConformance.ts +135 -0
- package/src/kernel/spec/types.ts +233 -0
- package/src/kernel/spec/validate.test.ts +81 -0
- package/src/kernel/spec/validate.ts +125 -0
- package/src/testing/PARITY_GAPS.test.ts +32 -0
- package/src/testing/PARITY_GAPS.ts +179 -0
- package/src/testing/behavioral/README.md +164 -0
- package/src/testing/behavioral/agentSession.mcp.test.ts +160 -0
- package/src/testing/behavioral/autoLlm.e2e.test.ts +44 -0
- package/src/testing/behavioral/completion.test.ts +132 -0
- package/src/testing/behavioral/disclosure.test.ts +103 -0
- package/src/testing/behavioral/errorMatrix.mcp.test.ts +120 -0
- package/src/testing/behavioral/errorMatrix.storeless.test.ts +123 -0
- package/src/testing/behavioral/exitCodes.e2e.test.ts +53 -0
- package/src/testing/behavioral/firstRun.e2e.test.ts +40 -0
- package/src/testing/behavioral/harness.foundation.test.ts +136 -0
- package/src/testing/behavioral/journeys.cli.test.ts +129 -0
- package/src/testing/behavioral/liveReadSurface.ts +80 -0
- package/src/testing/behavioral/mcpServe.e2e.test.ts +21 -0
- package/src/testing/behavioral/mcpSurface.test.ts +139 -0
- package/src/testing/behavioral/parity.test.ts +224 -0
- package/src/testing/behavioral/rootCli.e2e.test.ts +62 -0
- package/src/testing/eval/__snapshots__/eval.test.ts.snap +201 -0
- package/src/testing/eval/cases/assembly.ts +195 -0
- package/src/testing/eval/cases/effectful.ts +245 -0
- package/src/testing/eval/cases/readNouns.ts +232 -0
- package/src/testing/eval/cases/stable.ts +163 -0
- package/src/testing/eval/eval.test.ts +74 -0
- package/src/testing/eval/harness.ts +91 -0
- package/src/testing/eval/report.ts +58 -0
- package/src/testing/fixtures/blockGraph.ts +112 -0
- package/src/testing/fixtures/completionFixture.ts +239 -0
- package/src/testing/fixtures/fixtureCapability.ts +175 -0
- package/src/testing/fixtures/graph/canonical.ts +184 -0
- package/src/testing/fixtures/packs/recipe.ts +78 -0
- package/src/testing/helpers/fixtureGraph.ts +148 -0
- package/src/testing/helpers/golden.ts +45 -0
- package/src/testing/helpers/packRuntime.ts +118 -0
- package/src/testing/helpers/parity.ts +86 -0
- package/src/testing/helpers/projectCli.ts +35 -0
- package/src/testing/helpers/projectMcp.ts +145 -0
- package/src/testing/helpers/runCli.ts +128 -0
- package/src/testing/perf/budgets.test.ts +164 -0
- package/src/testing/perf/budgets.ts +37 -0
- package/src/testing/perf/globalSetup.ts +30 -0
- package/src/testing/perf/measure.ts +97 -0
- package/src/testing/setupXdgIsolation.ts +17 -5
- package/src/types.ts +42 -0
- package/README.md +0 -429
- package/src/bin.test.ts +0 -54
- package/src/compile-validation.runner.ts +0 -137
- package/src/compile-validation.ts +0 -191
- package/src/completions/computeSocketPath.test.ts +0 -26
- package/src/completions/computeSocketPath.ts +0 -16
- package/src/completions/constants.ts +0 -18
- package/src/completions/handleQuery.test.ts +0 -93
- package/src/completions/handleQuery.ts +0 -30
- package/src/completions/index.ts +0 -14
- package/src/completions/queryCompletions.test.ts +0 -100
- package/src/completions/queryCompletions.ts +0 -61
- package/src/completions/querySocket.test.ts +0 -70
- package/src/completions/querySocket.ts +0 -44
- package/src/completions/startCompletionsServer.test.ts +0 -74
- package/src/completions/startCompletionsServer.ts +0 -75
- package/src/completions/startCompletionsServer.unit.test.ts +0 -131
- package/src/completions/waitForSocket.test.ts +0 -27
- package/src/completions/waitForSocket.ts +0 -27
- package/src/config/configExists.ts +0 -14
- package/src/config/defaultConfig.test.ts +0 -33
- package/src/config/defaultConfig.ts +0 -59
- package/src/config/defaults.json +0 -17
- package/src/config/findProjectConfigPath.test.ts +0 -53
- package/src/config/findProjectConfigPath.ts +0 -36
- package/src/config/index.ts +0 -21
- package/src/config/mergeConfigFileUpdate.ts +0 -58
- package/src/config/parseConfigValues.ts +0 -215
- package/src/config/readConfig.test.ts +0 -395
- package/src/config/readConfig.ts +0 -21
- package/src/config/readConfigLayers.test.ts +0 -107
- package/src/config/readConfigLayers.ts +0 -115
- package/src/config/resolveConfigPath.test.ts +0 -20
- package/src/config/resolveConfigPath.ts +0 -11
- package/src/config/resolveGlobalConfigPath.ts +0 -13
- package/src/config/resolveWriteConfigPath.test.ts +0 -53
- package/src/config/resolveWriteConfigPath.ts +0 -31
- package/src/config/types.ts +0 -121
- package/src/config/writeConfig.ts +0 -37
- package/src/domains/block/blockConfig.ts +0 -97
- package/src/domains/block/commands/index.ts +0 -5
- package/src/domains/block/commands/list.test.ts +0 -111
- package/src/domains/block/commands/list.ts +0 -11
- package/src/domains/block/commands/lookup.test.ts +0 -187
- package/src/domains/block/commands/lookup.ts +0 -14
- package/src/domains/block/commands/sample.ts +0 -55
- package/src/domains/block/formatters/index.ts +0 -5
- package/src/domains/block/formatters/list.test.ts +0 -107
- package/src/domains/block/formatters/list.ts +0 -50
- package/src/domains/block/formatters/lookup.test.ts +0 -318
- package/src/domains/block/formatters/lookup.ts +0 -149
- package/src/domains/block/formatters/sample.ts +0 -21
- package/src/domains/block/formatters/types.ts +0 -16
- package/src/domains/block/helpers/index.ts +0 -4
- package/src/domains/block/helpers/resolveAspects.test.ts +0 -64
- package/src/domains/block/helpers/resolveAspects.ts +0 -35
- package/src/domains/block/index.ts +0 -25
- package/src/domains/block/mcp/index.ts +0 -2
- package/src/domains/block/mcp/specs.ts +0 -67
- package/src/domains/block/operations/index.ts +0 -5
- package/src/domains/block/operations/list.test.ts +0 -80
- package/src/domains/block/operations/list.ts +0 -72
- package/src/domains/block/operations/lookup.test.ts +0 -129
- package/src/domains/block/operations/lookup.ts +0 -446
- package/src/domains/block/operations/sample.ts +0 -41
- package/src/domains/block/orchestration/blockEmptyError.test.ts +0 -26
- package/src/domains/block/orchestration/blockEmptyError.ts +0 -19
- package/src/domains/block/orchestration/buildBlockFilters.ts +0 -12
- package/src/domains/block/orchestration/enrichBlocks.ts +0 -41
- package/src/domains/block/orchestration/index.ts +0 -5
- package/src/domains/block/orchestration/resolveBlockList.ts +0 -39
- package/src/domains/block/orchestration/resolveBlockLookup.ts +0 -35
- package/src/domains/block/stories.test.ts +0 -28
- package/src/domains/block/stories.ts +0 -254
- package/src/domains/block/types.ts +0 -30
- package/src/domains/config/commands/channel.test.ts +0 -112
- package/src/domains/config/commands/channel.ts +0 -86
- package/src/domains/config/commands/configScope.ts +0 -46
- package/src/domains/config/commands/framework.test.ts +0 -105
- package/src/domains/config/commands/framework.ts +0 -91
- package/src/domains/config/commands/index.ts +0 -6
- package/src/domains/config/commands/show.test.ts +0 -61
- package/src/domains/config/commands/show.ts +0 -11
- package/src/domains/config/commands/tier.test.ts +0 -95
- package/src/domains/config/commands/tier.ts +0 -84
- package/src/domains/config/commands/trace.test.ts +0 -165
- package/src/domains/config/commands/trace.ts +0 -83
- package/src/domains/config/formatters/channel.test.ts +0 -70
- package/src/domains/config/formatters/channel.ts +0 -37
- package/src/domains/config/formatters/framework.ts +0 -37
- package/src/domains/config/formatters/index.ts +0 -6
- package/src/domains/config/formatters/show.test.ts +0 -153
- package/src/domains/config/formatters/show.ts +0 -89
- package/src/domains/config/formatters/tier.test.ts +0 -86
- package/src/domains/config/formatters/tier.ts +0 -48
- package/src/domains/config/formatters/trace.ts +0 -28
- package/src/domains/config/index.ts +0 -36
- package/src/domains/config/mcp/index.ts +0 -2
- package/src/domains/config/mcp/specs.ts +0 -100
- package/src/domains/config/operations/index.ts +0 -6
- package/src/domains/config/operations/show.test.ts +0 -78
- package/src/domains/config/operations/show.ts +0 -48
- package/src/domains/config/operations/types.ts +0 -20
- package/src/domains/config/operations/validateChannel.test.ts +0 -36
- package/src/domains/config/operations/validateChannel.ts +0 -24
- package/src/domains/config/operations/validateFramework.ts +0 -24
- package/src/domains/config/operations/validateTier.test.ts +0 -56
- package/src/domains/config/operations/validateTier.ts +0 -35
- package/src/domains/config/stories.ts +0 -42
- package/src/domains/config/tasks/index.ts +0 -6
- package/src/domains/config/tasks/setChannel.ts +0 -21
- package/src/domains/config/tasks/setFramework.ts +0 -21
- package/src/domains/config/tasks/setTier.ts +0 -20
- package/src/domains/config/tasks/setTrace.ts +0 -20
- package/src/domains/config/tasks/writeConfigField.ts +0 -41
- package/src/domains/create/commands/component.test.ts +0 -166
- package/src/domains/create/commands/component.ts +0 -123
- package/src/domains/create/commands/index.ts +0 -3
- package/src/domains/create/commands/package.test.ts +0 -35
- package/src/domains/create/commands/package.ts +0 -21
- package/src/domains/create/generators.ts +0 -8
- package/src/domains/create/index.ts +0 -15
- package/src/domains/create/mcp/index.ts +0 -2
- package/src/domains/create/mcp/specs.ts +0 -168
- package/src/domains/doctor/commands/doctor.test.ts +0 -75
- package/src/domains/doctor/commands/doctor.ts +0 -43
- package/src/domains/doctor/commands/index.ts +0 -2
- package/src/domains/doctor/formatters/doctor.test.ts +0 -117
- package/src/domains/doctor/formatters/doctor.ts +0 -84
- package/src/domains/doctor/formatters/index.ts +0 -2
- package/src/domains/doctor/index.ts +0 -9
- package/src/domains/doctor/mcp/index.ts +0 -2
- package/src/domains/doctor/mcp/specs.ts +0 -41
- package/src/domains/doctor/operations/checks/checkConfigFile.ts +0 -42
- package/src/domains/doctor/operations/checks/checkKeStore.ts +0 -38
- package/src/domains/doctor/operations/checks/checkMcpCommands.ts +0 -130
- package/src/domains/doctor/operations/checks/checkMcpConfigured.ts +0 -65
- package/src/domains/doctor/operations/checks/checkNodeVersion.ts +0 -25
- package/src/domains/doctor/operations/checks/checkPackageRefs.ts +0 -58
- package/src/domains/doctor/operations/checks/checkPragmaVersion.ts +0 -20
- package/src/domains/doctor/operations/checks/checkShellCompletions.ts +0 -42
- package/src/domains/doctor/operations/checks/checkSkillsSymlinked.ts +0 -64
- package/src/domains/doctor/operations/checks/index.ts +0 -10
- package/src/domains/doctor/operations/checks.test.ts +0 -305
- package/src/domains/doctor/operations/index.ts +0 -3
- package/src/domains/doctor/operations/runChecks.test.ts +0 -176
- package/src/domains/doctor/operations/runChecks.ts +0 -78
- package/src/domains/doctor/operations/types.ts +0 -20
- package/src/domains/graph/commands/index.ts +0 -4
- package/src/domains/graph/commands/inspect.test.ts +0 -94
- package/src/domains/graph/commands/inspect.ts +0 -63
- package/src/domains/graph/commands/query.test.ts +0 -92
- package/src/domains/graph/commands/query.ts +0 -60
- package/src/domains/graph/formatters/index.ts +0 -4
- package/src/domains/graph/formatters/inspect.ts +0 -50
- package/src/domains/graph/formatters/query.ts +0 -37
- package/src/domains/graph/helpers/index.ts +0 -3
- package/src/domains/graph/helpers/resolveUri.test.ts +0 -50
- package/src/domains/graph/helpers/resolveUri.ts +0 -77
- package/src/domains/graph/index.ts +0 -22
- package/src/domains/graph/mcp/index.ts +0 -2
- package/src/domains/graph/mcp/specs.ts +0 -82
- package/src/domains/graph/operations/executeQuery.test.ts +0 -68
- package/src/domains/graph/operations/executeQuery.ts +0 -32
- package/src/domains/graph/operations/index.ts +0 -4
- package/src/domains/graph/operations/inspectUri.test.ts +0 -101
- package/src/domains/graph/operations/inspectUri.ts +0 -64
- package/src/domains/graphql/commands/build.test.ts +0 -196
- package/src/domains/graphql/commands/build.ts +0 -117
- package/src/domains/graphql/commands/check.test.ts +0 -141
- package/src/domains/graphql/commands/check.ts +0 -81
- package/src/domains/graphql/commands/index.ts +0 -5
- package/src/domains/graphql/commands/serve.test.ts +0 -40
- package/src/domains/graphql/commands/serve.ts +0 -131
- package/src/domains/graphql/constants.ts +0 -10
- package/src/domains/graphql/formatters/index.ts +0 -3
- package/src/domains/graphql/formatters/report.ts +0 -78
- package/src/domains/graphql/helpers/gatherSources.test.ts +0 -92
- package/src/domains/graphql/helpers/gatherSources.ts +0 -58
- package/src/domains/graphql/helpers/index.ts +0 -6
- package/src/domains/graphql/helpers/parsePrefixes.test.ts +0 -44
- package/src/domains/graphql/helpers/parsePrefixes.ts +0 -38
- package/src/domains/graphql/helpers/resolveSourceFiles.test.ts +0 -56
- package/src/domains/graphql/helpers/resolveSourceFiles.ts +0 -45
- package/src/domains/graphql/helpers/routeGraphql.test.ts +0 -43
- package/src/domains/graphql/helpers/routeGraphql.ts +0 -28
- package/src/domains/graphql/index.ts +0 -24
- package/src/domains/graphql/operations/compileSchema.test.ts +0 -95
- package/src/domains/graphql/operations/compileSchema.ts +0 -107
- package/src/domains/graphql/operations/createSchemaServer.test.ts +0 -50
- package/src/domains/graphql/operations/createSchemaServer.ts +0 -75
- package/src/domains/graphql/operations/index.ts +0 -12
- package/src/domains/graphql/types.ts +0 -29
- package/src/domains/info/commands/index.ts +0 -4
- package/src/domains/info/commands/info.test.ts +0 -88
- package/src/domains/info/commands/info.ts +0 -47
- package/src/domains/info/commands/upgrade.test.ts +0 -183
- package/src/domains/info/commands/upgrade.ts +0 -153
- package/src/domains/info/constants.test.ts +0 -22
- package/src/domains/info/constants.ts +0 -15
- package/src/domains/info/formatters/index.ts +0 -8
- package/src/domains/info/formatters/info.test.ts +0 -207
- package/src/domains/info/formatters/info.ts +0 -131
- package/src/domains/info/formatters/upgrade.test.ts +0 -133
- package/src/domains/info/formatters/upgrade.ts +0 -68
- package/src/domains/info/index.ts +0 -9
- package/src/domains/info/mcp/index.ts +0 -2
- package/src/domains/info/mcp/specs.ts +0 -65
- package/src/domains/info/operations/checkRegistryVersion.test.ts +0 -124
- package/src/domains/info/operations/checkRegistryVersion.ts +0 -45
- package/src/domains/info/operations/collectInfo.test.ts +0 -122
- package/src/domains/info/operations/collectInfo.ts +0 -94
- package/src/domains/info/operations/collectStoreSummary.test.ts +0 -61
- package/src/domains/info/operations/collectStoreSummary.ts +0 -42
- package/src/domains/info/operations/index.ts +0 -5
- package/src/domains/info/types.test-d.ts +0 -35
- package/src/domains/info/types.ts +0 -54
- package/src/domains/llm/capabilities.test.ts +0 -91
- package/src/domains/llm/commands/capabilities.ts +0 -28
- package/src/domains/llm/commands/index.ts +0 -4
- package/src/domains/llm/commands/llm.ts +0 -37
- package/src/domains/llm/data/commandReference.ts +0 -97
- package/src/domains/llm/data/decisionTrees.ts +0 -50
- package/src/domains/llm/data/index.ts +0 -6
- package/src/domains/llm/data/toolCatalog.ts +0 -190
- package/src/domains/llm/formatters/capabilities.ts +0 -50
- package/src/domains/llm/formatters/index.ts +0 -4
- package/src/domains/llm/formatters/orientation.ts +0 -53
- package/src/domains/llm/index.ts +0 -9
- package/src/domains/llm/llmCommand.test.ts +0 -93
- package/src/domains/llm/mcp/index.ts +0 -2
- package/src/domains/llm/mcp/specs.ts +0 -94
- package/src/domains/llm/operations/collectContext.ts +0 -47
- package/src/domains/llm/operations/index.ts +0 -3
- package/src/domains/llm/types.ts +0 -72
- package/src/domains/modifier/commands/index.ts +0 -5
- package/src/domains/modifier/commands/list.test.ts +0 -57
- package/src/domains/modifier/commands/list.ts +0 -9
- package/src/domains/modifier/commands/lookup.test.ts +0 -91
- package/src/domains/modifier/commands/lookup.ts +0 -14
- package/src/domains/modifier/commands/sample.ts +0 -53
- package/src/domains/modifier/formatters/index.ts +0 -8
- package/src/domains/modifier/formatters/list.test.ts +0 -38
- package/src/domains/modifier/formatters/list.ts +0 -22
- package/src/domains/modifier/formatters/lookup.test.ts +0 -33
- package/src/domains/modifier/formatters/lookup.ts +0 -50
- package/src/domains/modifier/formatters/sample.ts +0 -15
- package/src/domains/modifier/index.ts +0 -27
- package/src/domains/modifier/mcp/index.ts +0 -2
- package/src/domains/modifier/mcp/specs.ts +0 -65
- package/src/domains/modifier/modifierConfig.ts +0 -36
- package/src/domains/modifier/operations/index.ts +0 -5
- package/src/domains/modifier/operations/list.test.ts +0 -39
- package/src/domains/modifier/operations/list.ts +0 -41
- package/src/domains/modifier/operations/lookup.test.ts +0 -37
- package/src/domains/modifier/operations/lookup.ts +0 -67
- package/src/domains/modifier/operations/sample.ts +0 -32
- package/src/domains/modifier/orchestration/index.ts +0 -3
- package/src/domains/modifier/orchestration/modifierEmptyError.test.ts +0 -26
- package/src/domains/modifier/orchestration/modifierEmptyError.ts +0 -15
- package/src/domains/modifier/orchestration/resolveModifierList.ts +0 -16
- package/src/domains/modifier/orchestration/resolveModifierLookup.ts +0 -33
- package/src/domains/modifier/stories.test.ts +0 -20
- package/src/domains/modifier/stories.ts +0 -77
- package/src/domains/modifier/types.ts +0 -5
- package/src/domains/ontology/commands/index.ts +0 -4
- package/src/domains/ontology/commands/list.test.ts +0 -82
- package/src/domains/ontology/commands/list.ts +0 -11
- package/src/domains/ontology/commands/show.test.ts +0 -103
- package/src/domains/ontology/commands/show.ts +0 -14
- package/src/domains/ontology/formatters/index.ts +0 -4
- package/src/domains/ontology/formatters/list.ts +0 -39
- package/src/domains/ontology/formatters/show.ts +0 -105
- package/src/domains/ontology/helpers/findNamespace.ts +0 -23
- package/src/domains/ontology/helpers/index.ts +0 -7
- package/src/domains/ontology/helpers/queryClasses.ts +0 -50
- package/src/domains/ontology/helpers/queryProperties.ts +0 -57
- package/src/domains/ontology/helpers/resolvePrefix.ts +0 -45
- package/src/domains/ontology/index.ts +0 -26
- package/src/domains/ontology/mcp/index.ts +0 -2
- package/src/domains/ontology/mcp/specs.ts +0 -16
- package/src/domains/ontology/operations/index.ts +0 -5
- package/src/domains/ontology/operations/listOntologies.test.ts +0 -45
- package/src/domains/ontology/operations/listOntologies.ts +0 -101
- package/src/domains/ontology/operations/showOntology.test.ts +0 -65
- package/src/domains/ontology/operations/showOntology.ts +0 -41
- package/src/domains/ontology/operations/showOntologyRaw.test.ts +0 -39
- package/src/domains/ontology/operations/showOntologyRaw.ts +0 -50
- package/src/domains/ontology/stories.test.ts +0 -36
- package/src/domains/ontology/stories.ts +0 -108
- package/src/domains/refs/commands/updateRefs.ts +0 -52
- package/src/domains/refs/formatters/updateRefs.ts +0 -27
- package/src/domains/refs/index.ts +0 -27
- package/src/domains/refs/operations/gitOps.test.ts +0 -155
- package/src/domains/refs/operations/gitOps.ts +0 -92
- package/src/domains/refs/operations/index.ts +0 -10
- package/src/domains/refs/operations/parseRef.test.ts +0 -157
- package/src/domains/refs/operations/parseRef.ts +0 -114
- package/src/domains/refs/operations/paths.test.ts +0 -98
- package/src/domains/refs/operations/paths.ts +0 -91
- package/src/domains/refs/operations/readGlobalRefs.test.ts +0 -63
- package/src/domains/refs/operations/readGlobalRefs.ts +0 -37
- package/src/domains/refs/operations/updateRefs.test.ts +0 -167
- package/src/domains/refs/operations/updateRefs.ts +0 -181
- package/src/domains/setup/commands/all.ts +0 -58
- package/src/domains/setup/commands/completions.ts +0 -85
- package/src/domains/setup/commands/entrypoints.test.ts +0 -170
- package/src/domains/setup/commands/index.ts +0 -6
- package/src/domains/setup/commands/lsp.ts +0 -49
- package/src/domains/setup/commands/mcp.ts +0 -119
- package/src/domains/setup/commands/skills.test.ts +0 -68
- package/src/domains/setup/commands/skills.ts +0 -110
- package/src/domains/setup/formatters/index.ts +0 -2
- package/src/domains/setup/formatters/skills.test.ts +0 -103
- package/src/domains/setup/formatters/skills.ts +0 -112
- package/src/domains/setup/formatters/types.ts +0 -7
- package/src/domains/setup/helpers/completionScripts.test.ts +0 -58
- package/src/domains/setup/helpers/completionScripts.ts +0 -92
- package/src/domains/setup/helpers/constants.ts +0 -2
- package/src/domains/setup/helpers/detectShell.test.ts +0 -48
- package/src/domains/setup/helpers/detectShell.ts +0 -20
- package/src/domains/setup/helpers/index.ts +0 -12
- package/src/domains/setup/helpers/runSetupTask.test.ts +0 -277
- package/src/domains/setup/helpers/runSetupTask.ts +0 -221
- package/src/domains/setup/index.ts +0 -33
- package/src/domains/setup/operations/index.ts +0 -6
- package/src/domains/setup/operations/setupAll.test.ts +0 -48
- package/src/domains/setup/operations/setupAll.ts +0 -41
- package/src/domains/setup/operations/setupCompletions.test.ts +0 -94
- package/src/domains/setup/operations/setupCompletions.ts +0 -54
- package/src/domains/setup/operations/setupLsp.test.ts +0 -29
- package/src/domains/setup/operations/setupLsp.ts +0 -17
- package/src/domains/setup/operations/setupMcp.test.ts +0 -120
- package/src/domains/setup/operations/setupMcp.ts +0 -108
- package/src/domains/setup/operations/setupSkills.test.ts +0 -191
- package/src/domains/setup/operations/setupSkills.ts +0 -160
- package/src/domains/setup/types.ts +0 -18
- package/src/domains/shared/ToolSpec.ts +0 -49
- package/src/domains/shared/bootStore.ts +0 -135
- package/src/domains/shared/buildQuery.ts +0 -18
- package/src/domains/shared/compactUri.test.ts +0 -32
- package/src/domains/shared/compactUri.ts +0 -21
- package/src/domains/shared/context.ts +0 -16
- package/src/domains/shared/contracts.ts +0 -164
- package/src/domains/shared/createInteractivePromptSession.test.ts +0 -439
- package/src/domains/shared/createInteractivePromptSession.ts +0 -236
- package/src/domains/shared/emptyErrorRecovery.test.ts +0 -109
- package/src/domains/shared/extractLocalName.test.ts +0 -21
- package/src/domains/shared/extractLocalName.ts +0 -14
- package/src/domains/shared/filters/buildChannelFilter.test.ts +0 -52
- package/src/domains/shared/filters/buildChannelFilter.ts +0 -41
- package/src/domains/shared/filters/buildFilterConfig.ts +0 -15
- package/src/domains/shared/filters/buildFilters.test.ts +0 -33
- package/src/domains/shared/filters/buildFilters.ts +0 -30
- package/src/domains/shared/filters/buildTierFilter.test.ts +0 -78
- package/src/domains/shared/filters/buildTierFilter.ts +0 -69
- package/src/domains/shared/filters/describeFilters.ts +0 -14
- package/src/domains/shared/filters/index.ts +0 -10
- package/src/domains/shared/formatters.ts +0 -82
- package/src/domains/shared/loaders/bundledLoader.test.ts +0 -248
- package/src/domains/shared/loaders/bundledLoader.ts +0 -206
- package/src/domains/shared/loaders/gitLoader.ts +0 -31
- package/src/domains/shared/loaders/index.ts +0 -9
- package/src/domains/shared/loaders/localLoader.ts +0 -87
- package/src/domains/shared/loaders/readPackageDir.ts +0 -147
- package/src/domains/shared/loaders/storyAssetsPlugin.test.ts +0 -84
- package/src/domains/shared/loaders/storyAssetsPlugin.ts +0 -46
- package/src/domains/shared/lookupMany.test.ts +0 -120
- package/src/domains/shared/lookupMany.ts +0 -85
- package/src/domains/shared/mergeAndParseRefs.test.ts +0 -89
- package/src/domains/shared/mergeAndParseRefs.ts +0 -44
- package/src/domains/shared/namespaces.ts +0 -18
- package/src/domains/shared/packages.ts +0 -20
- package/src/domains/shared/pickRandom.ts +0 -22
- package/src/domains/shared/prefixes.ts +0 -37
- package/src/domains/shared/renderers.ts +0 -410
- package/src/domains/shared/resolveConfiguredGraphs.test.ts +0 -27
- package/src/domains/shared/resolveConfiguredGraphs.ts +0 -41
- package/src/domains/shared/runtime.ts +0 -61
- package/src/domains/shared/sampleFormatters.ts +0 -47
- package/src/domains/shared/semanticPackage.ts +0 -112
- package/src/domains/shared/stories/compileLookupCommand.test.ts +0 -145
- package/src/domains/shared/stories/compileLookupCommand.ts +0 -100
- package/src/domains/shared/stories/compileLookupTool.test.ts +0 -105
- package/src/domains/shared/stories/compileLookupTool.ts +0 -96
- package/src/domains/shared/stories/compileReadCommand.test.ts +0 -121
- package/src/domains/shared/stories/compileReadCommand.ts +0 -48
- package/src/domains/shared/stories/compileReadTool.test.ts +0 -64
- package/src/domains/shared/stories/compileReadTool.ts +0 -38
- package/src/domains/shared/stories/condense.test.ts +0 -18
- package/src/domains/shared/stories/condense.ts +0 -15
- package/src/domains/shared/stories/index.ts +0 -20
- package/src/domains/shared/stories/normalizeNames.test.ts +0 -20
- package/src/domains/shared/stories/normalizeNames.ts +0 -22
- package/src/domains/shared/stories/pack/applyPackFilters.test.ts +0 -102
- package/src/domains/shared/stories/pack/applyPackFilters.ts +0 -76
- package/src/domains/shared/stories/pack/buildLookupQuery.test.ts +0 -51
- package/src/domains/shared/stories/pack/buildLookupQuery.ts +0 -80
- package/src/domains/shared/stories/pack/collectPackStories.test.ts +0 -108
- package/src/domains/shared/stories/pack/collectPackStories.ts +0 -76
- package/src/domains/shared/stories/pack/compilePackCommands.ts +0 -40
- package/src/domains/shared/stories/pack/compilePackStories.test.ts +0 -146
- package/src/domains/shared/stories/pack/compilePackStories.ts +0 -253
- package/src/domains/shared/stories/pack/compilePackToolSpecs.ts +0 -43
- package/src/domains/shared/stories/pack/index.ts +0 -28
- package/src/domains/shared/stories/pack/runSelectQuery.ts +0 -31
- package/src/domains/shared/stories/pack/standardParity.test.ts +0 -308
- package/src/domains/shared/stories/pack/types.ts +0 -104
- package/src/domains/shared/stories/pack/validateStoryPackDefinition.test.ts +0 -240
- package/src/domains/shared/stories/pack/validateStoryPackDefinition.ts +0 -408
- package/src/domains/shared/stories/projectCliParameters.test.ts +0 -59
- package/src/domains/shared/stories/projectCliParameters.ts +0 -57
- package/src/domains/shared/stories/projectToolParams.test.ts +0 -50
- package/src/domains/shared/stories/projectToolParams.ts +0 -32
- package/src/domains/shared/stories/requirePragmaContext.test.ts +0 -23
- package/src/domains/shared/stories/requirePragmaContext.ts +0 -23
- package/src/domains/shared/stories/resolveLookupDetailed.test.ts +0 -57
- package/src/domains/shared/stories/resolveLookupDetailed.ts +0 -27
- package/src/domains/shared/stories/types.ts +0 -171
- package/src/domains/shared/suggestions/detectCrossDomain.test.ts +0 -43
- package/src/domains/shared/suggestions/detectCrossDomain.ts +0 -116
- package/src/domains/shared/suggestions/expandGlob.test.ts +0 -92
- package/src/domains/shared/suggestions/expandGlob.ts +0 -52
- package/src/domains/shared/suggestions/expandLookupQueries.ts +0 -57
- package/src/domains/shared/suggestions/index.ts +0 -7
- package/src/domains/shared/suggestions/listDomainNames.ts +0 -61
- package/src/domains/shared/suggestions/suggestNames.test.ts +0 -70
- package/src/domains/shared/suggestions/suggestNames.ts +0 -130
- package/src/domains/shared/types/block.ts +0 -107
- package/src/domains/shared/types/common.ts +0 -33
- package/src/domains/shared/types/graph.ts +0 -17
- package/src/domains/shared/types/index.ts +0 -50
- package/src/domains/shared/types/modifier.ts +0 -22
- package/src/domains/shared/types/ontology.ts +0 -50
- package/src/domains/shared/types/runtime.ts +0 -24
- package/src/domains/shared/types/sample.ts +0 -17
- package/src/domains/shared/types/standard.ts +0 -64
- package/src/domains/shared/types/tier.ts +0 -15
- package/src/domains/shared/types/token.ts +0 -30
- package/src/domains/skill/commands/index.ts +0 -4
- package/src/domains/skill/commands/list.test.ts +0 -115
- package/src/domains/skill/commands/list.ts +0 -11
- package/src/domains/skill/commands/lookup.test.ts +0 -118
- package/src/domains/skill/commands/lookup.ts +0 -14
- package/src/domains/skill/formatters/index.ts +0 -3
- package/src/domains/skill/formatters/list.test.ts +0 -140
- package/src/domains/skill/formatters/list.ts +0 -119
- package/src/domains/skill/formatters/lookup.test.ts +0 -46
- package/src/domains/skill/formatters/lookup.ts +0 -57
- package/src/domains/skill/formatters/types.ts +0 -8
- package/src/domains/skill/helpers/index.ts +0 -6
- package/src/domains/skill/helpers/parseFrontmatter.test.ts +0 -122
- package/src/domains/skill/helpers/parseFrontmatter.ts +0 -112
- package/src/domains/skill/helpers/resolveSkillSources.ts +0 -70
- package/src/domains/skill/index.ts +0 -23
- package/src/domains/skill/mcp/index.ts +0 -2
- package/src/domains/skill/mcp/specs.ts +0 -19
- package/src/domains/skill/operations/discover.test.ts +0 -176
- package/src/domains/skill/operations/discover.ts +0 -59
- package/src/domains/skill/operations/index.ts +0 -5
- package/src/domains/skill/operations/list.test.ts +0 -76
- package/src/domains/skill/operations/list.ts +0 -47
- package/src/domains/skill/operations/lookup.test.ts +0 -91
- package/src/domains/skill/operations/lookup.ts +0 -70
- package/src/domains/skill/stories.test.ts +0 -43
- package/src/domains/skill/stories.ts +0 -103
- package/src/domains/skill/types.ts +0 -33
- package/src/domains/standard/commands/categories.test.ts +0 -70
- package/src/domains/standard/commands/categories.ts +0 -48
- package/src/domains/standard/commands/index.ts +0 -6
- package/src/domains/standard/commands/list.test.ts +0 -105
- package/src/domains/standard/commands/list.ts +0 -11
- package/src/domains/standard/commands/lookup.test.ts +0 -135
- package/src/domains/standard/commands/lookup.ts +0 -14
- package/src/domains/standard/commands/sample.ts +0 -57
- package/src/domains/standard/formatters/categories.test.ts +0 -44
- package/src/domains/standard/formatters/categories.ts +0 -38
- package/src/domains/standard/formatters/index.ts +0 -10
- package/src/domains/standard/formatters/list.test.ts +0 -169
- package/src/domains/standard/formatters/list.ts +0 -184
- package/src/domains/standard/formatters/lookup.test.ts +0 -95
- package/src/domains/standard/formatters/lookup.ts +0 -101
- package/src/domains/standard/formatters/sample.ts +0 -15
- package/src/domains/standard/formatters/types.ts +0 -31
- package/src/domains/standard/index.ts +0 -40
- package/src/domains/standard/mcp/index.ts +0 -2
- package/src/domains/standard/mcp/specs.ts +0 -89
- package/src/domains/standard/operations/categories.test.ts +0 -61
- package/src/domains/standard/operations/categories.ts +0 -38
- package/src/domains/standard/operations/index.ts +0 -6
- package/src/domains/standard/operations/list.test.ts +0 -75
- package/src/domains/standard/operations/list.ts +0 -64
- package/src/domains/standard/operations/lookup.test.ts +0 -58
- package/src/domains/standard/operations/lookup.ts +0 -151
- package/src/domains/standard/operations/sample.ts +0 -35
- package/src/domains/standard/orchestration/buildStandardFilters.ts +0 -11
- package/src/domains/standard/orchestration/index.ts +0 -4
- package/src/domains/standard/orchestration/resolveStandardList.ts +0 -45
- package/src/domains/standard/orchestration/resolveStandardLookup.ts +0 -33
- package/src/domains/standard/orchestration/standardEmptyError.test.ts +0 -33
- package/src/domains/standard/orchestration/standardEmptyError.ts +0 -29
- package/src/domains/standard/standardConfig.ts +0 -42
- package/src/domains/standard/stories.test.ts +0 -24
- package/src/domains/standard/stories.ts +0 -151
- package/src/domains/standard/types.ts +0 -15
- package/src/domains/tier/commands/index.ts +0 -3
- package/src/domains/tier/commands/list.test.ts +0 -67
- package/src/domains/tier/commands/list.ts +0 -9
- package/src/domains/tier/formatters/index.ts +0 -3
- package/src/domains/tier/formatters/list.test.ts +0 -33
- package/src/domains/tier/formatters/list.ts +0 -45
- package/src/domains/tier/index.ts +0 -17
- package/src/domains/tier/mcp/index.ts +0 -2
- package/src/domains/tier/mcp/specs.ts +0 -12
- package/src/domains/tier/operations/index.ts +0 -3
- package/src/domains/tier/operations/list.test.ts +0 -32
- package/src/domains/tier/operations/list.ts +0 -33
- package/src/domains/tier/stories.test.ts +0 -22
- package/src/domains/tier/stories.ts +0 -52
- package/src/domains/token/commands/add-config.test.ts +0 -68
- package/src/domains/token/commands/add-config.ts +0 -62
- package/src/domains/token/commands/index.ts +0 -6
- package/src/domains/token/commands/list.test.ts +0 -82
- package/src/domains/token/commands/list.ts +0 -54
- package/src/domains/token/commands/lookup.test.ts +0 -125
- package/src/domains/token/commands/lookup.ts +0 -95
- package/src/domains/token/commands/sample.ts +0 -53
- package/src/domains/token/formatters/index.ts +0 -8
- package/src/domains/token/formatters/list.test.ts +0 -37
- package/src/domains/token/formatters/list.ts +0 -24
- package/src/domains/token/formatters/lookup.test.ts +0 -61
- package/src/domains/token/formatters/lookup.ts +0 -107
- package/src/domains/token/formatters/sample.ts +0 -16
- package/src/domains/token/index.ts +0 -40
- package/src/domains/token/mcp/index.ts +0 -2
- package/src/domains/token/mcp/specs.ts +0 -195
- package/src/domains/token/operations/add-config.test.ts +0 -68
- package/src/domains/token/operations/add-config.ts +0 -61
- package/src/domains/token/operations/index.ts +0 -8
- package/src/domains/token/operations/list.test.ts +0 -50
- package/src/domains/token/operations/list.ts +0 -52
- package/src/domains/token/operations/lookup.test.ts +0 -42
- package/src/domains/token/operations/lookup.ts +0 -75
- package/src/domains/token/operations/sample.ts +0 -32
- package/src/domains/token/orchestration/index.ts +0 -3
- package/src/domains/token/orchestration/resolveTokenList.ts +0 -17
- package/src/domains/token/orchestration/resolveTokenLookup.ts +0 -33
- package/src/domains/token/orchestration/tokenEmptyError.test.ts +0 -33
- package/src/domains/token/orchestration/tokenEmptyError.ts +0 -20
- package/src/domains/token/tokenConfig.ts +0 -38
- package/src/domains/token/types.ts +0 -6
- package/src/domains/trace/commands/clear.ts +0 -71
- package/src/domains/trace/commands/index.ts +0 -5
- package/src/domains/trace/commands/sessions.ts +0 -32
- package/src/domains/trace/commands/show.ts +0 -145
- package/src/domains/trace/formatters/index.ts +0 -9
- package/src/domains/trace/formatters/sessions.ts +0 -80
- package/src/domains/trace/formatters/show.ts +0 -122
- package/src/domains/trace/index.ts +0 -17
- package/src/domains/trace/operations/index.ts +0 -8
- package/src/domains/trace/operations/listSessions.test.ts +0 -55
- package/src/domains/trace/operations/listSessions.ts +0 -52
- package/src/domains/trace/operations/readTraceLog.test.ts +0 -100
- package/src/domains/trace/operations/readTraceLog.ts +0 -104
- package/src/domains/trace/tracePlugin.test.ts +0 -171
- package/src/domains/trace/tracePlugin.ts +0 -159
- package/src/domains/trace/types.ts +0 -65
- package/src/embedWasm.ts +0 -42
- package/src/error/PragmaError.test.ts +0 -121
- package/src/error/PragmaError.ts +0 -177
- package/src/error/constants.ts +0 -12
- package/src/error/index.ts +0 -4
- package/src/error/types.ts +0 -55
- package/src/mcp/createMcpServer.test.ts +0 -41
- package/src/mcp/createMcpServer.ts +0 -53
- package/src/mcp/error/buildRecovery.test.ts +0 -37
- package/src/mcp/error/buildRecovery.ts +0 -17
- package/src/mcp/error/index.ts +0 -12
- package/src/mcp/error/serializeError.test.ts +0 -121
- package/src/mcp/error/serializeError.ts +0 -31
- package/src/mcp/error/serializeErrorPayload.test.ts +0 -38
- package/src/mcp/error/serializeErrorPayload.ts +0 -34
- package/src/mcp/error/types.ts +0 -59
- package/src/mcp/index.ts +0 -15
- package/src/mcp/registerResources.test.ts +0 -566
- package/src/mcp/registerResources.ts +0 -9
- package/src/mcp/resources/buildGraphIndex.ts +0 -167
- package/src/mcp/resources/buildResourceList.test.ts +0 -97
- package/src/mcp/resources/buildResourceList.ts +0 -176
- package/src/mcp/resources/classifyEntity.test.ts +0 -40
- package/src/mcp/resources/classifyEntity.ts +0 -27
- package/src/mcp/resources/constants.ts +0 -105
- package/src/mcp/resources/displayPredicates.ts +0 -62
- package/src/mcp/resources/pickFirstValue.test.ts +0 -29
- package/src/mcp/resources/pickFirstValue.ts +0 -26
- package/src/mcp/resources/pickPrimaryType.test.ts +0 -41
- package/src/mcp/resources/pickPrimaryType.ts +0 -26
- package/src/mcp/resources/rankUriCompletions.test.ts +0 -52
- package/src/mcp/resources/rankUriCompletions.ts +0 -64
- package/src/mcp/resources/readEntity.ts +0 -169
- package/src/mcp/resources/registerResources.ts +0 -126
- package/src/mcp/resources/types.ts +0 -128
- package/src/mcp/runMcpServer.test.ts +0 -66
- package/src/mcp/runMcpServer.ts +0 -24
- package/src/mcp/tools/index.ts +0 -66
- package/src/mcp/tools/registerFromSpec.ts +0 -97
- package/src/mcp/tools/registerTools.test.ts +0 -1201
- package/src/mcp/types.ts +0 -66
- package/src/mcp/utils/estimateTokens.test.ts +0 -14
- package/src/mcp/utils/estimateTokens.ts +0 -9
- package/src/mcp/utils/index.ts +0 -11
- package/src/mcp/utils/wrapTool.test.ts +0 -109
- package/src/mcp/utils/wrapTool.ts +0 -81
- package/src/package-manager/constants.ts +0 -29
- package/src/package-manager/detectInstallSource.test.ts +0 -23
- package/src/package-manager/detectInstallSource.ts +0 -111
- package/src/package-manager/detectLocalInstall.test.ts +0 -16
- package/src/package-manager/detectLocalInstall.ts +0 -43
- package/src/package-manager/detectPackageManager.test.ts +0 -81
- package/src/package-manager/detectPackageManager.ts +0 -30
- package/src/package-manager/index.ts +0 -6
- package/src/package-manager/types.ts +0 -10
- package/src/pipeline/collectCommands.test.ts +0 -37
- package/src/pipeline/collectCommands.ts +0 -60
- package/src/pipeline/constants.ts +0 -14
- package/src/pipeline/createProgram.test.ts +0 -112
- package/src/pipeline/createProgram.ts +0 -89
- package/src/pipeline/formatTerminal.test.ts +0 -43
- package/src/pipeline/formatTerminal.ts +0 -53
- package/src/pipeline/index.ts +0 -22
- package/src/pipeline/mapExitCode.test.ts +0 -41
- package/src/pipeline/mapExitCode.ts +0 -12
- package/src/pipeline/parseGlobalFlags.test.ts +0 -92
- package/src/pipeline/parseGlobalFlags.ts +0 -46
- package/src/pipeline/renderError.test.ts +0 -151
- package/src/pipeline/renderError.ts +0 -129
- package/src/pipeline/resolveCommandKind.test.ts +0 -68
- package/src/pipeline/resolveCommandKind.ts +0 -78
- package/src/pipeline/runCli.orchestration.test.ts +0 -419
- package/src/pipeline/runCli.test.ts +0 -70
- package/src/pipeline/runCli.ts +0 -268
- package/src/pipeline/types.ts +0 -17
- package/src/testing/cli.ts +0 -43
- package/src/testing/createTestMcpClient.ts +0 -68
- package/src/testing/dsFixtures.ts +0 -506
- package/src/testing/fixtures/canonical-config.json +0 -4
- package/src/testing/fixtures/canonical.ttl +0 -437
- package/src/testing/fixtures/filtered-config.json +0 -4
- package/src/testing/fixtures.ts +0 -34
- package/src/testing/graphqlFixtures.ts +0 -72
- package/src/testing/helpers/assertParity.ts +0 -28
- package/src/testing/helpers/createTestMcpClient.ts +0 -40
- package/src/testing/helpers/createTestRuntime.ts +0 -67
- package/src/testing/index.ts +0 -25
- package/src/testing/integration/__snapshots__/executor-golden.test.ts.snap +0 -1207
- package/src/testing/integration/agent-session.test.ts +0 -148
- package/src/testing/integration/boot.test.ts +0 -105
- package/src/testing/integration/cli-user-stories.test.ts +0 -198
- package/src/testing/integration/cross-binary-byte-equality.test.ts +0 -129
- package/src/testing/integration/edge-cases.test.ts +0 -263
- package/src/testing/integration/executor-execution.test.ts +0 -101
- package/src/testing/integration/executor-golden.test.ts +0 -145
- package/src/testing/integration/mcp-surface.test.ts +0 -580
- package/src/testing/integration/parity.test.ts +0 -547
- package/src/testing/regression/0001-skill-discovery-granularity.test.ts +0 -71
- package/src/testing/standardParityFixtures.ts +0 -92
- package/src/testing/store.ts +0 -39
- package/src/testing/storyFixtures.ts +0 -63
- package/src/testing/types.ts +0 -20
- package/src/tui/components/BulletList/BulletList.tsx +0 -46
- package/src/tui/components/BulletList/index.ts +0 -2
- package/src/tui/components/BulletList/types.ts +0 -6
- package/src/tui/components/Card/Card.tsx +0 -73
- package/src/tui/components/Card/index.ts +0 -1
- package/src/tui/components/Card/types.ts +0 -12
- package/src/tui/components/CodeBlock/CodeBlock.tsx +0 -37
- package/src/tui/components/CodeBlock/index.ts +0 -2
- package/src/tui/components/CodeBlock/types.ts +0 -6
- package/src/tui/components/DataRow/DataRow.tsx +0 -80
- package/src/tui/components/DataRow/index.ts +0 -2
- package/src/tui/components/DataRow/types.ts +0 -14
- package/src/tui/components/FieldRow/FieldRow.tsx +0 -24
- package/src/tui/components/FieldRow/index.ts +0 -2
- package/src/tui/components/FieldRow/types.ts +0 -10
- package/src/tui/components/HeaderRow/HeaderRow.tsx +0 -32
- package/src/tui/components/HeaderRow/index.ts +0 -2
- package/src/tui/components/HeaderRow/types.ts +0 -8
- package/src/tui/components/MarkdownText/MarkdownText.tsx +0 -19
- package/src/tui/components/MarkdownText/index.ts +0 -2
- package/src/tui/components/MarkdownText/types.ts +0 -4
- package/src/tui/components/MiniTable/MiniTable.tsx +0 -82
- package/src/tui/components/MiniTable/index.ts +0 -2
- package/src/tui/components/MiniTable/types.ts +0 -6
- package/src/tui/components/SectionRenderer/SectionRenderer.tsx +0 -91
- package/src/tui/components/SectionRenderer/index.ts +0 -2
- package/src/tui/components/SectionRenderer/types.ts +0 -15
- package/src/tui/components/TreeView/TreeView.tsx +0 -84
- package/src/tui/components/TreeView/index.ts +0 -2
- package/src/tui/components/TreeView/types.ts +0 -6
- package/src/tui/components/index.ts +0 -19
- package/src/tui/constants.ts +0 -39
- package/src/tui/createListView.ts +0 -23
- package/src/tui/createLookupView.ts +0 -26
- package/src/tui/helpers/computeWidths.ts +0 -53
- package/src/tui/helpers/fitColumns.ts +0 -33
- package/src/tui/helpers/formatMarkdown.ts +0 -19
- package/src/tui/helpers/getTerminalSize.ts +0 -16
- package/src/tui/helpers/index.ts +0 -6
- package/src/tui/helpers/syntaxColor.ts +0 -67
- package/src/tui/helpers/truncateText.ts +0 -12
- package/src/tui/hooks/index.ts +0 -3
- package/src/tui/hooks/types.ts +0 -7
- package/src/tui/hooks/useAutoExit.ts +0 -17
- package/src/tui/hooks/useTerminalSize.ts +0 -19
- package/src/tui/index.ts +0 -15
- package/src/tui/renderInk.tsx +0 -18
- package/src/tui/types.ts +0 -12
- package/src/tui/views/ListView/ListView.tsx +0 -104
- package/src/tui/views/ListView/index.ts +0 -2
- package/src/tui/views/ListView/types.ts +0 -14
- package/src/tui/views/LookupView/LookupView.tsx +0 -244
- package/src/tui/views/LookupView/index.ts +0 -2
- package/src/tui/views/LookupView/types.ts +0 -16
- package/src/tui/views/index.ts +0 -4
|
@@ -0,0 +1,144 @@
|
|
|
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
|
+
|
|
17
|
+
import { VERSION } from "../../constants.js";
|
|
18
|
+
import { emitSurface } from "../../kernel/spec/emitSurface.js";
|
|
19
|
+
import type { CapabilityModule } from "../../kernel/spec/types.js";
|
|
20
|
+
import { TOOL_HINTS } from "./hints.js";
|
|
21
|
+
import type {
|
|
22
|
+
CapabilitiesData,
|
|
23
|
+
CatalogTool,
|
|
24
|
+
DiscoveryStage,
|
|
25
|
+
ToolCounts,
|
|
26
|
+
} from "./types.js";
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* The three orientation conventions, verbatim from the old shell. They describe
|
|
30
|
+
* the KG / tier-channel / SPARQL model and are still accurate for v2.
|
|
31
|
+
*/
|
|
32
|
+
export const CONVENTIONS = {
|
|
33
|
+
system:
|
|
34
|
+
"Pragma is a CLI and MCP server for querying a design system knowledge graph — blocks, tokens, modifiers, standards, and ontologies.",
|
|
35
|
+
model:
|
|
36
|
+
"Data is scoped by tier (hierarchical, e.g. global > apps > apps/lxd) and channel (normal, experimental, prerelease). Set these via config_tier and config_channel.",
|
|
37
|
+
querying:
|
|
38
|
+
"All queries run against an RDF triple store. Prefixed IRIs (e.g. ds:global.component.button) identify entities. Use ontology_list to discover namespaces.",
|
|
39
|
+
} as const;
|
|
40
|
+
|
|
41
|
+
/** The output modes v2 renders (dropped "text" → "plain"; condensed retired). */
|
|
42
|
+
const OUTPUT_MODES = ["plain", "json", "llm"] as const;
|
|
43
|
+
|
|
44
|
+
/** The set of tool names that mutate, read from the emitted surface. */
|
|
45
|
+
function mutatingTools(modules: readonly CapabilityModule[]): Set<string> {
|
|
46
|
+
const mutating = new Set<string>();
|
|
47
|
+
for (const { verbs } of Object.values(emitSurface(modules).nouns)) {
|
|
48
|
+
for (const verb of verbs) {
|
|
49
|
+
if (verb.mutates && typeof verb.mcp === "string") mutating.add(verb.mcp);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return mutating;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** The live sorted tool names the covenant blesses, from the emitted surface. */
|
|
56
|
+
export function liveTools(modules: readonly CapabilityModule[]): string[] {
|
|
57
|
+
return emitSurface(modules).mcpSurface.tools;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Build the discovery sequence, deriving the sample list from the tools that
|
|
62
|
+
* ACTUALLY exist (v2 ships block/standard/modifier/token samples). Wording is
|
|
63
|
+
* ported from the old `buildCapabilitiesData`, plus a store-state pre-check so a
|
|
64
|
+
* cold agent is never sent into `*_sample` (or any store read) blind — every
|
|
65
|
+
* store read fails STORE_UNAVAILABLE until `sources_update` has built the store.
|
|
66
|
+
*/
|
|
67
|
+
export function buildDiscoverySequence(
|
|
68
|
+
tools: readonly string[],
|
|
69
|
+
): DiscoveryStage[] {
|
|
70
|
+
const samples = tools.filter((tool) => tool.endsWith("_sample"));
|
|
71
|
+
const sampleList = samples.length > 0 ? samples.join(", ") : "the *_sample";
|
|
72
|
+
return [
|
|
73
|
+
{
|
|
74
|
+
stage: 1,
|
|
75
|
+
tool: "capabilities",
|
|
76
|
+
purpose: "Understand conventions, available tools, and how to navigate",
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
stage: 2,
|
|
80
|
+
tool: "sources_status",
|
|
81
|
+
purpose:
|
|
82
|
+
"Confirm the store is built before any query. If it reports unavailable, call sources_update (confirm: true) first — otherwise the sample and domain reads below fail with STORE_UNAVAILABLE.",
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
stage: 3,
|
|
86
|
+
tool: "*_sample",
|
|
87
|
+
purpose: `Call ${sampleList} tools to see real data shapes before querying. Prevents guessing at property names.`,
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
stage: 4,
|
|
91
|
+
tool: "domain tools",
|
|
92
|
+
purpose:
|
|
93
|
+
"Query specific entities — block_list, standard_lookup, etc. Use the use_when hints above to pick the right tool.",
|
|
94
|
+
},
|
|
95
|
+
];
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/** Tally the catalog tools by category (all counts DERIVED, never pinned). */
|
|
99
|
+
function countByCategory(tools: readonly CatalogTool[]): ToolCounts {
|
|
100
|
+
const of = (category: CatalogTool["category"]) =>
|
|
101
|
+
tools.filter((tool) => tool.category === category).length;
|
|
102
|
+
return {
|
|
103
|
+
total: tools.length,
|
|
104
|
+
read: of("read"),
|
|
105
|
+
write: of("write"),
|
|
106
|
+
orientation: of("orientation"),
|
|
107
|
+
diagnostic: of("diagnostic"),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Build the capabilities payload from a set of capability modules.
|
|
113
|
+
*
|
|
114
|
+
* @param modules - The live capability modules (passed in to avoid a static
|
|
115
|
+
* self-cycle; the verb's `run` dynamic-imports the registry barrel).
|
|
116
|
+
* @returns The structured, self-consistent capabilities map.
|
|
117
|
+
*/
|
|
118
|
+
export function buildCapabilitiesData(
|
|
119
|
+
modules: readonly CapabilityModule[],
|
|
120
|
+
): CapabilitiesData {
|
|
121
|
+
const tools = liveTools(modules);
|
|
122
|
+
const catalogTools: CatalogTool[] = tools.map((name) => {
|
|
123
|
+
const hint = TOOL_HINTS[name];
|
|
124
|
+
// A missing hint is a drift bug caught by `capabilities.test.ts`; degrade
|
|
125
|
+
// to a truthful placeholder rather than throwing inside a tool call.
|
|
126
|
+
return {
|
|
127
|
+
name,
|
|
128
|
+
category: hint?.category ?? "read",
|
|
129
|
+
use_when:
|
|
130
|
+
hint?.use_when ?? "(no hint authored — see capabilities/hints.ts)",
|
|
131
|
+
};
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
return {
|
|
135
|
+
version: VERSION,
|
|
136
|
+
conventions: CONVENTIONS,
|
|
137
|
+
discovery_sequence: buildDiscoverySequence(tools),
|
|
138
|
+
tools: catalogTools,
|
|
139
|
+
counts: countByCategory(catalogTools),
|
|
140
|
+
limits: { output_modes: OUTPUT_MODES, condensed_available: false },
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export { mutatingTools };
|
|
@@ -0,0 +1,221 @@
|
|
|
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_detail,
|
|
11
|
+
* graph_query, setup, upgrade, doctor, capabilities, prompt_*, token_add-config,
|
|
12
|
+
* sources_*, tier_lookup, create_*) are authored here.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import type { ToolHint } from "./types.js";
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Behavioural hints keyed by the LIVE tool name (`emitSurface` naming rule:
|
|
19
|
+
* `noun` or `noun_verb`). Categories: `write` ⟺ the verb mutates; `orientation`
|
|
20
|
+
* = the session-start map; `diagnostic` = environment/version reporting; else
|
|
21
|
+
* `read`. The drift guard enforces every one of those invariants.
|
|
22
|
+
*/
|
|
23
|
+
export const TOOL_HINTS: Record<string, ToolHint> = {
|
|
24
|
+
// — Orientation ————————————————————————————————————————————————————————————
|
|
25
|
+
capabilities: {
|
|
26
|
+
category: "orientation",
|
|
27
|
+
use_when:
|
|
28
|
+
"Starting a session — understand conventions, available tools, and the discovery flow",
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
// — Diagnostic ————————————————————————————————————————————————————————————
|
|
32
|
+
doctor: {
|
|
33
|
+
category: "diagnostic",
|
|
34
|
+
use_when:
|
|
35
|
+
"Diagnosing environment issues — config, store, completions, MCP health",
|
|
36
|
+
},
|
|
37
|
+
info: {
|
|
38
|
+
category: "diagnostic",
|
|
39
|
+
use_when: "Checking pragma version, configuration summary, and store state",
|
|
40
|
+
},
|
|
41
|
+
|
|
42
|
+
// — Read ——————————————————————————————————————————————————————————————————
|
|
43
|
+
block_list: {
|
|
44
|
+
category: "read",
|
|
45
|
+
use_when:
|
|
46
|
+
"Browsing available components, patterns, layouts under current tier/channel",
|
|
47
|
+
},
|
|
48
|
+
block_lookup: {
|
|
49
|
+
category: "read",
|
|
50
|
+
use_when:
|
|
51
|
+
"Need full anatomy, modifiers, tokens, and standards for specific blocks by name or IRI",
|
|
52
|
+
},
|
|
53
|
+
block_sample: {
|
|
54
|
+
category: "read",
|
|
55
|
+
use_when:
|
|
56
|
+
"See actual block data shapes before querying — returns random instances each call, prevents guessing at property names",
|
|
57
|
+
},
|
|
58
|
+
colophon: {
|
|
59
|
+
category: "read",
|
|
60
|
+
use_when:
|
|
61
|
+
"Understanding how pragma and the active domain are built — the toolchain + design-system colophon, for onboarding or a demo",
|
|
62
|
+
},
|
|
63
|
+
config_show: {
|
|
64
|
+
category: "read",
|
|
65
|
+
use_when: "Checking active tier and channel before querying",
|
|
66
|
+
},
|
|
67
|
+
graph_inspect: {
|
|
68
|
+
category: "read",
|
|
69
|
+
use_when:
|
|
70
|
+
"Examining all triples for a specific URI — predicates, objects, and types",
|
|
71
|
+
},
|
|
72
|
+
graph_query: {
|
|
73
|
+
category: "read",
|
|
74
|
+
use_when:
|
|
75
|
+
"Complex SPARQL joins or aggregations that other tools cannot express",
|
|
76
|
+
},
|
|
77
|
+
modifier_list: {
|
|
78
|
+
category: "read",
|
|
79
|
+
use_when: "Listing all modifier families and their allowed values",
|
|
80
|
+
},
|
|
81
|
+
modifier_lookup: {
|
|
82
|
+
category: "read",
|
|
83
|
+
use_when:
|
|
84
|
+
"Need values and usage details for specific modifier families by name",
|
|
85
|
+
},
|
|
86
|
+
modifier_sample: {
|
|
87
|
+
category: "read",
|
|
88
|
+
use_when:
|
|
89
|
+
"See actual modifier data shapes (with value lists) before querying — returns random instances each call",
|
|
90
|
+
},
|
|
91
|
+
ontology_list: {
|
|
92
|
+
category: "read",
|
|
93
|
+
use_when:
|
|
94
|
+
"Discovering loaded namespaces, prefixes, and class/property counts",
|
|
95
|
+
},
|
|
96
|
+
ontology_show: {
|
|
97
|
+
category: "read",
|
|
98
|
+
use_when:
|
|
99
|
+
"Exploring the full schema of a namespace — classes, properties, and hierarchy",
|
|
100
|
+
},
|
|
101
|
+
prompt_list: {
|
|
102
|
+
category: "read",
|
|
103
|
+
use_when:
|
|
104
|
+
"Browsing the workflow prompt templates the design-system graph offers",
|
|
105
|
+
},
|
|
106
|
+
prompt_lookup: {
|
|
107
|
+
category: "read",
|
|
108
|
+
use_when:
|
|
109
|
+
"Fetching a specific workflow prompt template's body and arguments by name",
|
|
110
|
+
},
|
|
111
|
+
skill_list: {
|
|
112
|
+
category: "read",
|
|
113
|
+
use_when: "Discovering agent skills provided by installed packages",
|
|
114
|
+
},
|
|
115
|
+
skill_lookup: {
|
|
116
|
+
category: "read",
|
|
117
|
+
use_when:
|
|
118
|
+
"Loading full SKILL.md instructions for a specific agent skill by name",
|
|
119
|
+
},
|
|
120
|
+
sources_status: {
|
|
121
|
+
category: "read",
|
|
122
|
+
use_when:
|
|
123
|
+
"Checking whether the local knowledge-graph pack is built and current",
|
|
124
|
+
},
|
|
125
|
+
standard_list: {
|
|
126
|
+
category: "read",
|
|
127
|
+
use_when:
|
|
128
|
+
"Browsing code standards, optionally filtered by category or search term",
|
|
129
|
+
},
|
|
130
|
+
standard_lookup: {
|
|
131
|
+
category: "read",
|
|
132
|
+
use_when:
|
|
133
|
+
"Need do/don't code examples for specific coding standards by name or IRI",
|
|
134
|
+
},
|
|
135
|
+
standard_categories: {
|
|
136
|
+
category: "read",
|
|
137
|
+
use_when: "Discovering which standard categories exist before filtering",
|
|
138
|
+
},
|
|
139
|
+
standard_sample: {
|
|
140
|
+
category: "read",
|
|
141
|
+
use_when:
|
|
142
|
+
"See actual standard data shapes (with dos/donts) before querying — returns random instances each call",
|
|
143
|
+
},
|
|
144
|
+
tier_list: {
|
|
145
|
+
category: "read",
|
|
146
|
+
use_when: "Understanding the tier hierarchy before setting a tier filter",
|
|
147
|
+
},
|
|
148
|
+
tier_lookup: {
|
|
149
|
+
category: "read",
|
|
150
|
+
use_when: "Need the blocks scoped to a specific tier by name",
|
|
151
|
+
},
|
|
152
|
+
token_list: {
|
|
153
|
+
category: "read",
|
|
154
|
+
use_when:
|
|
155
|
+
"Browsing design tokens, optionally filtered by category (color, spacing, etc.)",
|
|
156
|
+
},
|
|
157
|
+
token_lookup: {
|
|
158
|
+
category: "read",
|
|
159
|
+
use_when:
|
|
160
|
+
"Need theme values and resolution details for specific tokens by name or IRI",
|
|
161
|
+
},
|
|
162
|
+
token_sample: {
|
|
163
|
+
category: "read",
|
|
164
|
+
use_when:
|
|
165
|
+
"See actual token data shapes (with theme values) before querying — returns random instances each call",
|
|
166
|
+
},
|
|
167
|
+
|
|
168
|
+
// — Write ——————————————————————————————————————————————————————————————————
|
|
169
|
+
config_tier: {
|
|
170
|
+
category: "write",
|
|
171
|
+
use_when: "Setting or resetting the active tier filter",
|
|
172
|
+
},
|
|
173
|
+
config_channel: {
|
|
174
|
+
category: "write",
|
|
175
|
+
use_when:
|
|
176
|
+
"Setting the release channel (normal, experimental, or prerelease)",
|
|
177
|
+
},
|
|
178
|
+
config_detail: {
|
|
179
|
+
category: "write",
|
|
180
|
+
use_when:
|
|
181
|
+
"Setting the default progressive-disclosure level (summary, standard, detailed)",
|
|
182
|
+
},
|
|
183
|
+
config_set: {
|
|
184
|
+
category: "write",
|
|
185
|
+
use_when:
|
|
186
|
+
"Setting any config field by name in one call — tier, channel, or detail",
|
|
187
|
+
},
|
|
188
|
+
create_component: {
|
|
189
|
+
category: "write",
|
|
190
|
+
use_when:
|
|
191
|
+
"Scaffolding a new design-system component (React, Svelte, or Lit)",
|
|
192
|
+
},
|
|
193
|
+
create_package: {
|
|
194
|
+
category: "write",
|
|
195
|
+
use_when:
|
|
196
|
+
"Scaffolding a new npm package with proper monorepo configuration",
|
|
197
|
+
},
|
|
198
|
+
create_application: {
|
|
199
|
+
category: "write",
|
|
200
|
+
use_when:
|
|
201
|
+
"Scaffolding a new React application with SSR, routing, and optional Relay",
|
|
202
|
+
},
|
|
203
|
+
setup: {
|
|
204
|
+
category: "write",
|
|
205
|
+
use_when:
|
|
206
|
+
"Installing pragma's shell completions, MCP config, skills, and LSP into the environment",
|
|
207
|
+
},
|
|
208
|
+
sources_update: {
|
|
209
|
+
category: "write",
|
|
210
|
+
use_when:
|
|
211
|
+
"Building or refreshing the knowledge-graph pack from the configured packages",
|
|
212
|
+
},
|
|
213
|
+
"token_add-config": {
|
|
214
|
+
category: "write",
|
|
215
|
+
use_when: "Generating a tokens.config.mjs for the terrazzo token pipeline",
|
|
216
|
+
},
|
|
217
|
+
upgrade: {
|
|
218
|
+
category: "write",
|
|
219
|
+
use_when: "Upgrading the pragma CLI itself to the latest release",
|
|
220
|
+
},
|
|
221
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `capabilities` capability module — the grammar-derived orientation tool
|
|
3
|
+
* that replaces the retired `llm` tool.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { CapabilityModule } from "../../kernel/spec/types.js";
|
|
7
|
+
import { capabilitiesSelfVerb } from "./capabilities.verb.js";
|
|
8
|
+
|
|
9
|
+
/** The `capabilities` capability module (a single storeless self-verb). */
|
|
10
|
+
export const capabilitiesModule: CapabilityModule = {
|
|
11
|
+
name: "capabilities",
|
|
12
|
+
verbs: [capabilitiesSelfVerb],
|
|
13
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
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
|
+
|
|
11
|
+
/** A tool's behavioural category, used for grouping + counts. */
|
|
12
|
+
export type ToolCategory = "read" | "write" | "orientation" | "diagnostic";
|
|
13
|
+
|
|
14
|
+
/** The one authored fact per tool: its category + a one-line "use when" hint. */
|
|
15
|
+
export interface ToolHint {
|
|
16
|
+
readonly category: ToolCategory;
|
|
17
|
+
readonly use_when: string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** One tool as it appears in the catalog — its live name plus its hint. */
|
|
21
|
+
export interface CatalogTool {
|
|
22
|
+
readonly name: string;
|
|
23
|
+
readonly category: ToolCategory;
|
|
24
|
+
readonly use_when: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** A single stage in the discovery flow an agent follows at session start. */
|
|
28
|
+
export interface DiscoveryStage {
|
|
29
|
+
readonly stage: number;
|
|
30
|
+
readonly tool: string;
|
|
31
|
+
readonly purpose: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/** Tool counts by category (all DERIVED from the live catalog, never pinned). */
|
|
35
|
+
export interface ToolCounts {
|
|
36
|
+
readonly total: number;
|
|
37
|
+
readonly read: number;
|
|
38
|
+
readonly write: number;
|
|
39
|
+
readonly orientation: number;
|
|
40
|
+
readonly diagnostic: number;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/** The structured system map returned by the `capabilities` tool. */
|
|
44
|
+
export interface CapabilitiesData {
|
|
45
|
+
readonly version: string;
|
|
46
|
+
readonly conventions: {
|
|
47
|
+
readonly system: string;
|
|
48
|
+
readonly model: string;
|
|
49
|
+
readonly querying: string;
|
|
50
|
+
};
|
|
51
|
+
readonly discovery_sequence: readonly DiscoveryStage[];
|
|
52
|
+
readonly tools: readonly CatalogTool[];
|
|
53
|
+
readonly counts: ToolCounts;
|
|
54
|
+
readonly limits: {
|
|
55
|
+
readonly output_modes: readonly string[];
|
|
56
|
+
readonly condensed_available: boolean;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collect the `colophon` payload — the verb's run body (lazily imported).
|
|
3
|
+
*
|
|
4
|
+
* STORELESS: it reads the layered config (memoized) and resolves the EFFECTIVE
|
|
5
|
+
* capability modules exactly as a real command would, so a config story that
|
|
6
|
+
* overrides a bundled pack is reflected here — "active domain" is expressed the
|
|
7
|
+
* way the rest of the CLI expresses it. It never boots the triple store, so the
|
|
8
|
+
* storeless-guarantee spy still sees `store.booted === false`.
|
|
9
|
+
*
|
|
10
|
+
* The registry is reached through a RUNTIME dynamic `import("../index.js")`
|
|
11
|
+
* inside this async body — never a static import — so the static
|
|
12
|
+
* `index → colophonModule → index` cycle can never form. Do NOT "clean it up"
|
|
13
|
+
* into a static import.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import type { PragmaRuntime } from "../../kernel/runtime/types.js";
|
|
17
|
+
import type { CapabilityModule } from "../../kernel/spec/types.js";
|
|
18
|
+
import { PRAGMA_COLOPHON, PRAGMA_COLOPHON_SUMMARY } from "./pragmaColophon.js";
|
|
19
|
+
import type { ColophonData, ColophonSection } from "./types.js";
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Assemble the colophon data for the current runtime.
|
|
23
|
+
*
|
|
24
|
+
* @param runtime - The per-invocation runtime.
|
|
25
|
+
* @returns The storeless colophon payload: pragma's section, then each active
|
|
26
|
+
* pack/domain that declares a `colophon`.
|
|
27
|
+
* @note Impure — reads the config layers (never boots the store).
|
|
28
|
+
*/
|
|
29
|
+
export async function collectColophon(
|
|
30
|
+
runtime: PragmaRuntime,
|
|
31
|
+
): Promise<ColophonData> {
|
|
32
|
+
const sections: ColophonSection[] = [
|
|
33
|
+
{
|
|
34
|
+
kind: "pragma",
|
|
35
|
+
title: "pragma",
|
|
36
|
+
markdown: PRAGMA_COLOPHON,
|
|
37
|
+
summary: PRAGMA_COLOPHON_SUMMARY,
|
|
38
|
+
source: "built-in",
|
|
39
|
+
},
|
|
40
|
+
];
|
|
41
|
+
|
|
42
|
+
const { assembleEffectiveModules } = await import(
|
|
43
|
+
"../../kernel/packs/collect.js"
|
|
44
|
+
);
|
|
45
|
+
const { capabilities } = await import("../index.js");
|
|
46
|
+
|
|
47
|
+
let modules: readonly CapabilityModule[] = capabilities;
|
|
48
|
+
try {
|
|
49
|
+
const layers = await runtime.loadConfig();
|
|
50
|
+
modules = assembleEffectiveModules(capabilities, layers);
|
|
51
|
+
} catch {
|
|
52
|
+
// A bad config story is surfaced by the real commands; the colophon degrades
|
|
53
|
+
// to the static (bundled) modules rather than failing the narrative.
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
for (const module of modules) {
|
|
57
|
+
if (module.colophon) {
|
|
58
|
+
sections.push({
|
|
59
|
+
kind: "pack",
|
|
60
|
+
title: module.name,
|
|
61
|
+
markdown: module.colophon,
|
|
62
|
+
source: `pack:${module.name}`,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return { sections };
|
|
68
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Render golden for `pragma colophon`.
|
|
3
|
+
*
|
|
4
|
+
* Forces `chalk.level = 0` for a deterministic, color-free proof of the plain
|
|
5
|
+
* Markdown→terminal styling (headings, bullets, inline `**bold**`/`` `code` ``
|
|
6
|
+
* consumed) and the llm condensed passthrough (`summary ?? markdown`, no color),
|
|
7
|
+
* plus one assertion that color-ON emits an ANSI escape. This is the
|
|
8
|
+
* "human-styled / condensed-for-llm" render model in one file.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import chalk from "chalk";
|
|
12
|
+
import { afterAll, beforeAll, describe, expect, it } from "vitest";
|
|
13
|
+
import { colophonFormatters } from "./colophon.render.js";
|
|
14
|
+
import type { ColophonData } from "./types.js";
|
|
15
|
+
|
|
16
|
+
/** A tiny, fixed two-section fixture (double-quoted so backticks stay literal). */
|
|
17
|
+
const FIXTURE: ColophonData = {
|
|
18
|
+
sections: [
|
|
19
|
+
{
|
|
20
|
+
kind: "pragma",
|
|
21
|
+
title: "pragma",
|
|
22
|
+
markdown: "How it is **made**.\n\n## Effects\n- describe\n- interpret",
|
|
23
|
+
summary: "condensed",
|
|
24
|
+
source: "built-in",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
kind: "pack",
|
|
28
|
+
title: "block",
|
|
29
|
+
markdown: "The `ds:` domain.",
|
|
30
|
+
source: "pack:block",
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
let prevLevel: number;
|
|
36
|
+
beforeAll(() => {
|
|
37
|
+
prevLevel = chalk.level;
|
|
38
|
+
});
|
|
39
|
+
afterAll(() => {
|
|
40
|
+
chalk.level = prevLevel;
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
describe("colophon render golden — color-free (chalk.level = 0)", () => {
|
|
44
|
+
it("plain styles the title/heading/bullets and consumes inline markers", () => {
|
|
45
|
+
chalk.level = 0;
|
|
46
|
+
const expected = [
|
|
47
|
+
"pragma",
|
|
48
|
+
"",
|
|
49
|
+
"How it is made.",
|
|
50
|
+
"",
|
|
51
|
+
"Effects",
|
|
52
|
+
" • describe",
|
|
53
|
+
" • interpret",
|
|
54
|
+
"",
|
|
55
|
+
"block",
|
|
56
|
+
"",
|
|
57
|
+
"The ds: domain.",
|
|
58
|
+
].join("\n");
|
|
59
|
+
expect(colophonFormatters.plain(FIXTURE)).toBe(expected);
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it("llm emits condensed Markdown (summary preferred, no color)", () => {
|
|
63
|
+
chalk.level = 0;
|
|
64
|
+
const expected = [
|
|
65
|
+
"## pragma",
|
|
66
|
+
"",
|
|
67
|
+
"condensed",
|
|
68
|
+
"",
|
|
69
|
+
"## block",
|
|
70
|
+
"",
|
|
71
|
+
"The `ds:` domain.",
|
|
72
|
+
].join("\n");
|
|
73
|
+
expect(colophonFormatters.llm(FIXTURE)).toBe(expected);
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
it("json is the exact ColophonData round-trip", () => {
|
|
77
|
+
expect(JSON.parse(colophonFormatters.json(FIXTURE))).toEqual(FIXTURE);
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
describe("colophon render — color ON", () => {
|
|
82
|
+
it("plain emits ANSI escapes when chalk color is enabled", () => {
|
|
83
|
+
chalk.level = 1;
|
|
84
|
+
// biome-ignore lint/suspicious/noControlCharactersInRegex: asserting the literal ESC byte is the point
|
|
85
|
+
expect(colophonFormatters.plain(FIXTURE)).toMatch(/\x1b\[/);
|
|
86
|
+
});
|
|
87
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
|
|
12
|
+
import type { Formatters } from "../../kernel/spec/types.js";
|
|
13
|
+
import { renderMarkdownToTerminal } from "./markdownTerminal.js";
|
|
14
|
+
import type { ColophonData, ColophonSection } from "./types.js";
|
|
15
|
+
|
|
16
|
+
/** Render one section (title as H1 + body) as styled terminal Markdown. */
|
|
17
|
+
function plainSection(section: ColophonSection): string {
|
|
18
|
+
return renderMarkdownToTerminal(`# ${section.title}\n\n${section.markdown}`);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** Render one section as condensed Markdown for `--llm` (summary preferred). */
|
|
22
|
+
function llmSection(section: ColophonSection): string {
|
|
23
|
+
return `## ${section.title}\n\n${section.summary ?? section.markdown}`;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export const colophonFormatters: Formatters<ColophonData> = {
|
|
27
|
+
plain(data) {
|
|
28
|
+
return data.sections.map(plainSection).join("\n\n");
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
llm(data) {
|
|
32
|
+
return data.sections.map(llmSection).join("\n\n");
|
|
33
|
+
},
|
|
34
|
+
|
|
35
|
+
json(data) {
|
|
36
|
+
return JSON.stringify(data);
|
|
37
|
+
},
|
|
38
|
+
};
|