@canonical/pragma-cli 0.31.0 → 0.33.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 +35 -421
- package/dist/pragma +0 -0
- package/package.json +28 -42
- package/src/bin.ts +292 -11
- package/src/capabilities/block/blockList.test.ts +79 -0
- package/src/capabilities/block/blockList.verb.ts +163 -0
- package/src/capabilities/block/index.ts +25 -0
- package/src/capabilities/block/pack.ts +166 -0
- package/src/capabilities/block/parity.test.ts +187 -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 +140 -0
- package/src/capabilities/capabilities/capabilities.verb.ts +48 -0
- package/src/capabilities/capabilities/catalog.ts +148 -0
- package/src/capabilities/capabilities/hints.ts +212 -0
- package/src/capabilities/capabilities/index.ts +13 -0
- package/src/capabilities/capabilities/types.ts +60 -0
- package/src/capabilities/colophon/collectColophon.ts +68 -0
- package/src/capabilities/colophon/colophon.render.test.ts +114 -0
- package/src/capabilities/colophon/colophon.render.ts +47 -0
- package/src/capabilities/colophon/colophon.test.ts +241 -0
- package/src/capabilities/colophon/colophon.verb.ts +44 -0
- package/src/capabilities/colophon/index.ts +6 -0
- package/src/capabilities/colophon/markdownTerminal.test.ts +50 -0
- package/src/capabilities/colophon/markdownTerminal.ts +104 -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/fields.ts +81 -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.test.ts +65 -0
- package/src/capabilities/config/show.render.ts +107 -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 +225 -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 +432 -0
- package/src/capabilities/create/create.verb.ts +493 -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 +114 -0
- package/src/capabilities/doctor/checks/checkMcpConfigured.ts +67 -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/checks/deriveBand.test.ts +42 -0
- package/src/capabilities/doctor/checks/deriveBand.ts +28 -0
- package/src/capabilities/doctor/doctor.render.test.ts +170 -0
- package/src/capabilities/doctor/doctor.render.ts +198 -0
- package/src/capabilities/doctor/doctor.test.ts +209 -0
- package/src/capabilities/doctor/doctor.verb.ts +46 -0
- package/src/capabilities/doctor/index.ts +6 -0
- package/src/capabilities/doctor/runChecks.ts +100 -0
- package/src/capabilities/doctor/types.ts +56 -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 +19 -0
- package/src/capabilities/ontology/ontology.test.ts +246 -0
- package/src/capabilities/ontology/queries.ts +197 -0
- package/src/capabilities/ontology/render.ts +87 -0
- package/src/capabilities/ontology/verbs.ts +269 -0
- package/src/capabilities/prompt/index.ts +18 -0
- package/src/capabilities/prompt/prompt.render.test.ts +94 -0
- package/src/capabilities/prompt/prompt.render.ts +87 -0
- package/src/capabilities/prompt/prompt.test.ts +180 -0
- package/src/capabilities/prompt/types.ts +30 -0
- package/src/capabilities/prompt/verbs.ts +93 -0
- package/src/capabilities/reference.test.ts +32 -0
- package/src/capabilities/resources/index.ts +15 -0
- package/src/capabilities/resources/provider.ts +245 -0
- package/src/capabilities/resources/resources.test.ts +213 -0
- package/src/capabilities/roundtrip.test.ts +107 -0
- package/src/capabilities/scopeTypeSync.test.ts +37 -0
- package/src/capabilities/setup/index.ts +12 -0
- package/src/capabilities/setup/operations/setupCompletions.ts +141 -0
- package/src/capabilities/setup/operations/setupGenerator.ts +403 -0
- package/src/capabilities/setup/operations/setupLsp.ts +105 -0
- package/src/capabilities/setup/operations/setupMcp.ts +262 -0
- package/src/capabilities/setup/operations/setupSkills.ts +205 -0
- package/src/capabilities/setup/setup.render.test.ts +109 -0
- package/src/capabilities/setup/setup.render.ts +96 -0
- package/src/capabilities/setup/setup.test.ts +702 -0
- package/src/capabilities/setup/setup.verb.ts +261 -0
- package/src/capabilities/setup/shell.ts +85 -0
- package/src/capabilities/setup/types.ts +99 -0
- package/src/capabilities/shared/assertExecOk.ts +106 -0
- package/src/capabilities/shared/bands.ts +16 -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 +102 -0
- package/src/capabilities/sources/index.ts +15 -0
- package/src/capabilities/sources/installSkills.ts +124 -0
- package/src/capabilities/sources/runUpdate.ts +464 -0
- package/src/capabilities/sources/sources.test.ts +828 -0
- package/src/capabilities/sources/status.render.test.ts +65 -0
- package/src/capabilities/sources/status.render.ts +83 -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 +233 -0
- package/src/capabilities/tier/index.ts +19 -0
- package/src/capabilities/tier/lookup.render.test.ts +72 -0
- package/src/capabilities/tier/lookup.render.ts +59 -0
- package/src/capabilities/tier/lookup.test.ts +83 -0
- package/src/capabilities/tier/lookup.verb.ts +44 -0
- package/src/capabilities/tier/pack.ts +28 -0
- package/src/capabilities/tier/runLookup.ts +87 -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 -70
- package/src/index.ts +27 -122
- package/src/kernel/completion/__snapshots__/emitScripts.test.ts.snap +339 -0
- package/src/kernel/completion/bashDrive.test.ts +73 -0
- package/src/kernel/completion/complete.test.ts +99 -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 +277 -0
- package/src/kernel/completion/index.ts +42 -0
- package/src/kernel/completion/model.test.ts +405 -0
- package/src/kernel/completion/model.ts +258 -0
- package/src/kernel/completion/parse.test.ts +336 -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 +431 -0
- package/src/kernel/project/cli/buildProgram.ts +291 -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 +107 -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 +220 -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/mcpError.ts +52 -0
- package/src/kernel/project/mcp/parity.test.ts +72 -0
- package/src/kernel/project/mcp/prompts/prompts.test.ts +104 -0
- package/src/kernel/project/mcp/prompts/provider.ts +104 -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 +31 -0
- package/src/kernel/render/index.ts +30 -0
- package/src/kernel/render/prefixes.ts +21 -0
- package/src/kernel/render/renderers.test.ts +205 -0
- package/src/kernel/render/renderers.ts +447 -0
- package/src/kernel/render/style.test.ts +31 -0
- package/src/kernel/render/style.ts +74 -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 +176 -0
- package/src/kernel/runtime/graphpack/buildIndex.test.ts +103 -0
- package/src/kernel/runtime/graphpack/buildIndex.ts +317 -0
- package/src/kernel/runtime/graphpack/embedded/pack.generated.ts +5 -0
- package/src/kernel/runtime/graphpack/embedded/pack.index.generated.ts +3 -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 +221 -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 +117 -0
- package/src/kernel/runtime/graphpack/types.ts +125 -0
- package/src/kernel/runtime/index.ts +15 -0
- package/src/kernel/runtime/loadSession.ts +48 -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 +380 -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/storeReadiness.ts +61 -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 +144 -0
- package/src/kernel/spec/asVerb.ts +23 -0
- package/src/kernel/spec/emitReference.test.ts +196 -0
- package/src/kernel/spec/emitReference.ts +491 -0
- package/src/kernel/spec/emitSurface.test.ts +65 -0
- package/src/kernel/spec/emitSurface.ts +225 -0
- package/src/kernel/spec/index.ts +36 -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 +54 -0
- package/src/testing/behavioral/completion.test.ts +132 -0
- package/src/testing/behavioral/disclosure.test.ts +115 -0
- package/src/testing/behavioral/docExamples.test.ts +283 -0
- package/src/testing/behavioral/errorMatrix.mcp.test.ts +120 -0
- package/src/testing/behavioral/errorMatrix.storeless.test.ts +124 -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 +131 -0
- package/src/testing/behavioral/journeys.defaultPack.test.ts +571 -0
- package/src/testing/behavioral/journeys.interactiveTty.e2e.test.ts +66 -0
- package/src/testing/behavioral/journeys.livePack.e2e.test.ts +129 -0
- package/src/testing/behavioral/journeys.mcpLifecycle.mcp.test.ts +176 -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/behavioral/staleCommands.test.ts +76 -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 +248 -0
- package/src/testing/eval/cases/readNouns.ts +235 -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 +331 -0
- package/src/testing/fixtures/graph/canonical.ts +184 -0
- package/src/testing/fixtures/graph/defaultPack.ts +178 -0
- package/src/testing/fixtures/graph/owlExport.ts +95 -0
- package/src/testing/fixtures/packs/recipe.ts +78 -0
- package/src/testing/helpers/extractSnippets.ts +29 -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 +13 -12
- package/src/types.ts +42 -0
- 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 -25
- package/src/completions/handleQuery.test.ts +0 -125
- package/src/completions/handleQuery.ts +0 -49
- package/src/completions/index.ts +0 -14
- package/src/completions/queryCompletions.test.ts +0 -105
- package/src/completions/queryCompletions.ts +0 -75
- package/src/completions/querySocket.test.ts +0 -101
- package/src/completions/querySocket.ts +0 -71
- 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 -217
- package/src/config/readConfig.test.ts +0 -395
- package/src/config/readConfig.ts +0 -21
- package/src/config/readConfigLayers.test.ts +0 -109
- package/src/config/readConfigLayers.ts +0 -118
- 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 -128
- 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 -56
- 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 -44
- 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 -260
- package/src/domains/block/types.ts +0 -30
- package/src/domains/config/commands/channel.test.ts +0 -128
- package/src/domains/config/commands/channel.ts +0 -99
- package/src/domains/config/commands/configScope.ts +0 -46
- package/src/domains/config/commands/framework.test.ts +0 -119
- package/src/domains/config/commands/framework.ts +0 -103
- 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 -102
- package/src/domains/config/commands/tier.ts +0 -97
- 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 -65
- package/src/domains/config/operations/validateTier.ts +0 -43
- 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/generatorPack/bundled.ts +0 -49
- package/src/domains/create/generatorPack/compileGeneratorPack.test.ts +0 -159
- package/src/domains/create/generatorPack/compileGeneratorPack.ts +0 -312
- package/src/domains/create/index.ts +0 -21
- package/src/domains/create/mcp/index.ts +0 -2
- package/src/domains/create/mcp/specs.ts +0 -13
- package/src/domains/create/renderGeneratorUi.test.ts +0 -103
- package/src/domains/create/renderGeneratorUi.ts +0 -65
- 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 -165
- package/src/domains/doctor/formatters/doctor.ts +0 -136
- 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 -133
- 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 -76
- 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 -307
- 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 -42
- 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 -94
- 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.test.ts +0 -87
- package/src/domains/graph/formatters/query.ts +0 -74
- 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 -46
- package/src/domains/graphql/commands/serve.ts +0 -141
- 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 -65
- package/src/domains/graphql/helpers/resolveSourceFiles.ts +0 -66
- 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/ensureSchemaArtifact.test.ts +0 -167
- package/src/domains/graphql/operations/ensureSchemaArtifact.ts +0 -178
- package/src/domains/graphql/operations/index.ts +0 -17
- 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 -136
- package/src/domains/info/formatters/upgrade.ts +0 -70
- 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/collectEntityCounts.test.ts +0 -156
- package/src/domains/info/operations/collectEntityCounts.ts +0 -123
- 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 -6
- package/src/domains/info/types.test-d.ts +0 -35
- package/src/domains/info/types.ts +0 -67
- package/src/domains/llm/capabilities.test.ts +0 -111
- package/src/domains/llm/commands/capabilities.ts +0 -37
- package/src/domains/llm/commands/index.ts +0 -4
- package/src/domains/llm/commands/llm.ts +0 -41
- package/src/domains/llm/data/commandReference.ts +0 -106
- package/src/domains/llm/data/decisionTrees.ts +0 -55
- package/src/domains/llm/data/index.ts +0 -6
- package/src/domains/llm/data/toolCatalog.ts +0 -221
- 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 -57
- package/src/domains/llm/index.ts +0 -9
- package/src/domains/llm/llmCommand.test.ts +0 -101
- package/src/domains/llm/mcp/index.ts +0 -2
- package/src/domains/llm/mcp/specs.ts +0 -93
- package/src/domains/llm/operations/collectContext.test.ts +0 -64
- package/src/domains/llm/operations/collectContext.ts +0 -37
- 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 -54
- 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 -69
- 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 -86
- 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 -84
- package/src/domains/ontology/commands/list.ts +0 -11
- package/src/domains/ontology/commands/show.test.ts +0 -179
- package/src/domains/ontology/commands/show.ts +0 -14
- package/src/domains/ontology/formatters/index.ts +0 -5
- package/src/domains/ontology/formatters/list.ts +0 -64
- package/src/domains/ontology/formatters/show.ts +0 -396
- package/src/domains/ontology/helpers/buildClassTree.ts +0 -89
- package/src/domains/ontology/helpers/completeClassNames.ts +0 -43
- package/src/domains/ontology/helpers/expandOntologyIris.ts +0 -79
- package/src/domains/ontology/helpers/findNamespace.ts +0 -23
- package/src/domains/ontology/helpers/index.ts +0 -21
- package/src/domains/ontology/helpers/queryClasses.ts +0 -66
- package/src/domains/ontology/helpers/queryProperties.ts +0 -90
- package/src/domains/ontology/helpers/queryTboxFacts.ts +0 -160
- 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 -122
- package/src/domains/ontology/operations/listOntologies.ts +0 -197
- package/src/domains/ontology/operations/showOntology.test.ts +0 -184
- package/src/domains/ontology/operations/showOntology.ts +0 -323
- package/src/domains/ontology/operations/showOntologyRaw.test.ts +0 -41
- 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 -153
- 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 -180
- 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 -7
- package/src/domains/setup/commands/lsp.ts +0 -49
- package/src/domains/setup/commands/mcp.ts +0 -119
- package/src/domains/setup/commands/setup.ts +0 -70
- 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 -37
- 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 -30
- package/src/domains/setup/operations/setupLsp.ts +0 -22
- 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.bareCore.test.ts +0 -63
- package/src/domains/shared/bootStore.test.ts +0 -82
- package/src/domains/shared/bootStore.ts +0 -171
- 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 -106
- 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 -103
- package/src/domains/shared/listTiers.ts +0 -40
- package/src/domains/shared/loaders/bundledLoader.test.ts +0 -248
- package/src/domains/shared/loaders/bundledLoader.ts +0 -254
- package/src/domains/shared/loaders/gitLoader.ts +0 -30
- package/src/domains/shared/loaders/index.ts +0 -9
- package/src/domains/shared/loaders/localLoader.ts +0 -71
- package/src/domains/shared/loaders/readPackageDir.test.ts +0 -58
- package/src/domains/shared/loaders/readPackageDir.ts +0 -185
- 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 -135
- package/src/domains/shared/lookupMany.ts +0 -101
- package/src/domains/shared/mergeAndParseRefs.test.ts +0 -89
- package/src/domains/shared/mergeAndParseRefs.ts +0 -44
- package/src/domains/shared/namespaces.ts +0 -26
- package/src/domains/shared/packages.ts +0 -20
- package/src/domains/shared/parseSampleCount.test.ts +0 -47
- package/src/domains/shared/parseSampleCount.ts +0 -45
- package/src/domains/shared/pickRandom.ts +0 -22
- package/src/domains/shared/prefixes.test.ts +0 -211
- package/src/domains/shared/prefixes.ts +0 -204
- 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/resolveLookupExitCode.test.ts +0 -48
- package/src/domains/shared/resolveLookupExitCode.ts +0 -42
- package/src/domains/shared/runtime.ts +0 -61
- package/src/domains/shared/sampleFormatters.ts +0 -47
- package/src/domains/shared/semanticPackage.test.ts +0 -89
- package/src/domains/shared/semanticPackage.ts +0 -127
- package/src/domains/shared/stories/compileLookupCommand.test.ts +0 -145
- package/src/domains/shared/stories/compileLookupCommand.ts +0 -102
- 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 -151
- package/src/domains/shared/stories/pack/applyPackFilters.ts +0 -111
- package/src/domains/shared/stories/pack/applyPackSearch.test.ts +0 -57
- package/src/domains/shared/stories/pack/applyPackSearch.ts +0 -41
- package/src/domains/shared/stories/pack/buildLookupQuery.test.ts +0 -81
- package/src/domains/shared/stories/pack/buildLookupQuery.ts +0 -154
- package/src/domains/shared/stories/pack/bundled/index.ts +0 -23
- package/src/domains/shared/stories/pack/bundled/standardPack.ts +0 -164
- package/src/domains/shared/stories/pack/bundled/tierPack.ts +0 -50
- package/src/domains/shared/stories/pack/collectPackStories.test.ts +0 -406
- package/src/domains/shared/stories/pack/collectPackStories.ts +0 -158
- package/src/domains/shared/stories/pack/compilePackCommands.ts +0 -50
- package/src/domains/shared/stories/pack/compilePackStories.test.ts +0 -751
- package/src/domains/shared/stories/pack/compilePackStories.ts +0 -724
- package/src/domains/shared/stories/pack/compilePackToolSpecs.ts +0 -55
- package/src/domains/shared/stories/pack/index.ts +0 -42
- package/src/domains/shared/stories/pack/reservedVerbs.test.ts +0 -213
- package/src/domains/shared/stories/pack/reservedVerbs.ts +0 -170
- package/src/domains/shared/stories/pack/runSelectQuery.ts +0 -31
- package/src/domains/shared/stories/pack/standardParity.test.ts +0 -381
- package/src/domains/shared/stories/pack/types.ts +0 -224
- package/src/domains/shared/stories/pack/validateStoryPackDefinition.test.ts +0 -742
- package/src/domains/shared/stories/pack/validateStoryPackDefinition.ts +0 -859
- 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 -179
- 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 -46
- package/src/domains/shared/types/modifier.ts +0 -22
- package/src/domains/shared/types/ontology.ts +0 -145
- 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 -21
- 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/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 -133
- package/src/domains/token/commands/lookup.ts +0 -107
- package/src/domains/token/commands/sample.ts +0 -54
- package/src/domains/token/featureFlag.ts +0 -17
- 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 -45
- package/src/domains/token/mcp/index.ts +0 -2
- package/src/domains/token/mcp/specs.ts +0 -207
- 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/resolveTraceLimit.test.ts +0 -31
- package/src/domains/trace/commands/sessions.ts +0 -32
- package/src/domains/trace/commands/show.ts +0 -171
- 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 -74
- package/src/mcp/tools/registerFromSpec.ts +0 -97
- package/src/mcp/tools/registerTools.test.ts +0 -1277
- 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 -187
- package/src/pipeline/collectCommands.ts +0 -75
- package/src/pipeline/constants.ts +0 -14
- package/src/pipeline/createProgram.test.ts +0 -116
- package/src/pipeline/createProgram.ts +0 -89
- package/src/pipeline/firstRun.test.ts +0 -80
- package/src/pipeline/firstRun.ts +0 -99
- 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 -193
- package/src/pipeline/parseGlobalFlags.ts +0 -135
- package/src/pipeline/renderError.test.ts +0 -151
- package/src/pipeline/renderError.ts +0 -129
- package/src/pipeline/resolveCommandKind.test.ts +0 -80
- package/src/pipeline/resolveCommandKind.ts +0 -82
- package/src/pipeline/rootHelp.test.ts +0 -87
- package/src/pipeline/rootHelp.ts +0 -265
- package/src/pipeline/runCli.orchestration.test.ts +0 -435
- package/src/pipeline/runCli.test.ts +0 -83
- package/src/pipeline/runCli.ts +0 -411
- package/src/pipeline/types.ts +0 -17
- package/src/testing/cli.ts +0 -71
- package/src/testing/createTestMcpClient.ts +0 -68
- package/src/testing/dsFixtures.ts +0 -523
- 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 -22
- 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 -261
- package/src/testing/integration/cross-binary-byte-equality.test.ts +0 -129
- package/src/testing/integration/edge-cases.test.ts +0 -275
- package/src/testing/integration/executor-execution.test.ts +0 -103
- package/src/testing/integration/executor-golden.test.ts +0 -145
- package/src/testing/integration/mcp-surface.test.ts +0 -605
- package/src/testing/integration/parity.test.ts +0 -596
- package/src/testing/regression/0001-skill-discovery-granularity.test.ts +0 -71
- package/src/testing/standardParityFixtures.ts +0 -35
- 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,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The ONE shared content graph for cross-cutting behavioral tests.
|
|
3
|
+
*
|
|
4
|
+
* R1 discipline: this does NOT fork a second graph. It IMPORTS PR3's
|
|
5
|
+
* Button/Modal fixture (`testing/fixtures/blockGraph.ts` — the graph PR3's own
|
|
6
|
+
* `block` content-parity + `ontology`/`graph inspect` tests are protected
|
|
7
|
+
* against) byte-for-byte and EXTENDS it with the entities the other bundled
|
|
8
|
+
* read nouns (`standard`, `modifier`, `token`, `tier`) need, plus two more
|
|
9
|
+
* blocks that exercise tier-chain inheritance and channel visibility (PR3's
|
|
10
|
+
* hand-written `block list`, Risk5). Because `BLOCK_TTL` is reused verbatim,
|
|
11
|
+
* Button/Modal content can never drift between PR3's fixture and this one.
|
|
12
|
+
*
|
|
13
|
+
* Composed as one Turtle document, so ONE store answers every read noun:
|
|
14
|
+
* `block`/`ontology`/`graph inspect` were already provable on `BLOCK_TTL`
|
|
15
|
+
* alone; `standard`/`modifier`/`token`/`tier` need the sections added below.
|
|
16
|
+
* `modifier` in particular needs NOTHING extra — its list/lookup query the
|
|
17
|
+
* exact `ds:ModifierFamily`/`ds:Modifier` individuals `BLOCK_TTL` already
|
|
18
|
+
* declares for Button/Modal's expand sections.
|
|
19
|
+
*
|
|
20
|
+
* Anchors this fixture guarantees stay stable (referenced by B-tier tests and
|
|
21
|
+
* the eval seed, per the plan's R2 discipline — noun/verb/tool SETS are read
|
|
22
|
+
* from `emitSurface(capabilities)` at test time, but these entity VALUES are
|
|
23
|
+
* ours to pin): 4 `ds:Component` (Button, Modal, LXD Panel, Beta Widget),
|
|
24
|
+
* `importance` family with value `primary`, code standard
|
|
25
|
+
* `code/function/purity`.
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
import { BLOCK_PREFIXES, BLOCK_TTL } from "../blockGraph.js";
|
|
29
|
+
|
|
30
|
+
/** Extra `ds:` individuals: a tier-chain + a beta-only block, tokens, tiers. */
|
|
31
|
+
const DS_EXTRA_TTL = `
|
|
32
|
+
# ---- Tiers beyond the global BLOCK_TTL already declares ----
|
|
33
|
+
ds:apps a ds:Tier ; ds:name "apps" .
|
|
34
|
+
ds:apps_lxd a ds:Tier ; ds:name "apps/lxd" .
|
|
35
|
+
|
|
36
|
+
# ---- Release channels ----
|
|
37
|
+
ds:ReleaseChannel a owl:Class .
|
|
38
|
+
ds:release a owl:ObjectProperty ; rdfs:domain ds:UIBlock ; rdfs:range ds:ReleaseChannel .
|
|
39
|
+
ds:stable a ds:ReleaseChannel ; ds:name "stable" .
|
|
40
|
+
ds:beta a ds:ReleaseChannel ; ds:name "beta" .
|
|
41
|
+
|
|
42
|
+
# ---- A third block, scoped to the apps/lxd tier (tier-chain inheritance) ----
|
|
43
|
+
ds:lxdPanel a ds:Component ;
|
|
44
|
+
ds:name "LXD Panel" ;
|
|
45
|
+
ds:tier ds:apps_lxd ;
|
|
46
|
+
ds:summary "Panel layout for the LXD application." .
|
|
47
|
+
|
|
48
|
+
# ---- A fourth block, visible only on the prerelease channel ----
|
|
49
|
+
ds:betaWidget a ds:Component ;
|
|
50
|
+
ds:name "Beta Widget" ;
|
|
51
|
+
ds:tier ds:global ;
|
|
52
|
+
ds:release ds:beta ;
|
|
53
|
+
ds:summary "An experimental widget gated to the prerelease channel." .
|
|
54
|
+
|
|
55
|
+
# ---- Tokens ----
|
|
56
|
+
ds:Token a owl:Class .
|
|
57
|
+
ds:TokenType a owl:Class .
|
|
58
|
+
ds:tokenId a owl:DatatypeProperty ; rdfs:domain ds:Token ; rdfs:range xsd:string .
|
|
59
|
+
ds:tokenType a owl:ObjectProperty ; rdfs:domain ds:Token ; rdfs:range ds:TokenType .
|
|
60
|
+
ds:valueLight a owl:DatatypeProperty ; rdfs:domain ds:Token ; rdfs:range xsd:string .
|
|
61
|
+
ds:valueDark a owl:DatatypeProperty ; rdfs:domain ds:Token ; rdfs:range xsd:string .
|
|
62
|
+
|
|
63
|
+
ds:type.color a ds:TokenType ; rdfs:label "color" .
|
|
64
|
+
ds:type.spacing a ds:TokenType ; rdfs:label "spacing" .
|
|
65
|
+
|
|
66
|
+
ds:token.color.primary a ds:Token ;
|
|
67
|
+
ds:tokenId "color.primary" ;
|
|
68
|
+
ds:tokenType ds:type.color ;
|
|
69
|
+
ds:valueLight "#0066CC" ;
|
|
70
|
+
ds:valueDark "#4D94FF" .
|
|
71
|
+
ds:token.spacing.medium a ds:Token ;
|
|
72
|
+
ds:tokenId "spacing.medium" ;
|
|
73
|
+
ds:tokenType ds:type.spacing ;
|
|
74
|
+
ds:valueLight "16px" ;
|
|
75
|
+
ds:valueDark "16px" .
|
|
76
|
+
`;
|
|
77
|
+
|
|
78
|
+
/** The `cs:` (code standards) section — reused verbatim from `standard/parity.test.ts`'s
|
|
79
|
+
* fixture shape so `code/function/purity`/`react/component/*` are stable, shared
|
|
80
|
+
* anchor names rather than a second invented set. */
|
|
81
|
+
const CS_TTL = `
|
|
82
|
+
@prefix cs: <http://pragma.canonical.com/codestandards#> .
|
|
83
|
+
|
|
84
|
+
cs:CodeStandard a owl:Class .
|
|
85
|
+
cs:Category a owl:Class .
|
|
86
|
+
cs:Example a owl:Class .
|
|
87
|
+
cs:name a owl:DatatypeProperty ; rdfs:domain cs:CodeStandard ; rdfs:range xsd:string .
|
|
88
|
+
cs:description a owl:DatatypeProperty ; rdfs:range xsd:string .
|
|
89
|
+
cs:hasCategory a owl:ObjectProperty ; rdfs:domain cs:CodeStandard ; rdfs:range cs:Category .
|
|
90
|
+
cs:slug a owl:DatatypeProperty ; rdfs:domain cs:Category ; rdfs:range xsd:string .
|
|
91
|
+
cs:extends a owl:ObjectProperty ; rdfs:domain cs:CodeStandard ; rdfs:range cs:CodeStandard .
|
|
92
|
+
cs:do a owl:ObjectProperty ; rdfs:domain cs:CodeStandard ; rdfs:range cs:Example .
|
|
93
|
+
cs:dont a owl:ObjectProperty ; rdfs:domain cs:CodeStandard ; rdfs:range cs:Example .
|
|
94
|
+
cs:language a owl:DatatypeProperty ; rdfs:domain cs:Example ; rdfs:range xsd:string .
|
|
95
|
+
cs:code a owl:DatatypeProperty ; rdfs:domain cs:Example ; rdfs:range xsd:string .
|
|
96
|
+
|
|
97
|
+
cs:cat.react a cs:Category ; cs:slug "react" .
|
|
98
|
+
cs:cat.code a cs:Category ; cs:slug "code" .
|
|
99
|
+
|
|
100
|
+
cs:react.component.props a cs:CodeStandard ;
|
|
101
|
+
cs:name "react/component/props" ;
|
|
102
|
+
cs:description "Type component props explicitly." ;
|
|
103
|
+
cs:hasCategory cs:cat.react ;
|
|
104
|
+
cs:do [ a cs:Example ; cs:description "Do type props" ; cs:language "tsx" ; cs:code "interface P {}" ] ;
|
|
105
|
+
cs:dont [ a cs:Example ; cs:description "Avoid any" ; cs:language "tsx" ; cs:code "props: any" ] .
|
|
106
|
+
|
|
107
|
+
cs:react.component.structure a cs:CodeStandard ;
|
|
108
|
+
cs:name "react/component/structure" ;
|
|
109
|
+
cs:description "Keep folder structure flat." ;
|
|
110
|
+
cs:hasCategory cs:cat.react ;
|
|
111
|
+
cs:extends cs:react.component.props ;
|
|
112
|
+
cs:do [ a cs:Example ; cs:description "Do flatten" ; cs:language "text" ; cs:code "src/Button.tsx" ] .
|
|
113
|
+
|
|
114
|
+
cs:code.function.purity a cs:CodeStandard ;
|
|
115
|
+
cs:name "code/function/purity" ;
|
|
116
|
+
cs:description "Prefer pure functions." ;
|
|
117
|
+
cs:hasCategory cs:cat.code .
|
|
118
|
+
`;
|
|
119
|
+
|
|
120
|
+
/** The `ds:Prompt` workflow templates — the ONE source both the `prompt_list`/
|
|
121
|
+
* `prompt_lookup` content tools and the native MCP `prompts/*` surface project.
|
|
122
|
+
* Adapted from the old shell's `DECISION_TREES`. `rdfs:label` is the prompt name
|
|
123
|
+
* (indexed → storeless native list); `ds:promptBody` + `ds:promptArgument`
|
|
124
|
+
* blank nodes are store-backed. Arguments are untyped blank nodes so they never
|
|
125
|
+
* enter the entity index (the same shape `cs:do`/`cs:dont` examples use). */
|
|
126
|
+
const PROMPT_TTL = `
|
|
127
|
+
ds:Prompt a owl:Class .
|
|
128
|
+
ds:promptBody a owl:DatatypeProperty ; rdfs:domain ds:Prompt ; rdfs:range xsd:string .
|
|
129
|
+
ds:promptArgument a owl:ObjectProperty ; rdfs:domain ds:Prompt .
|
|
130
|
+
ds:argName a owl:DatatypeProperty ; rdfs:range xsd:string .
|
|
131
|
+
ds:argRequired a owl:DatatypeProperty ; rdfs:range xsd:boolean .
|
|
132
|
+
|
|
133
|
+
ds:prompt.build-a-block a ds:Prompt ;
|
|
134
|
+
rdfs:label "build-a-block" ;
|
|
135
|
+
rdfs:comment "Scaffold and wire a design-system block end to end." ;
|
|
136
|
+
ds:promptBody "You are building the {{blockName}} block. 1) If unfamiliar with block data, call block_sample for real shapes. 2) block_list to browse, or block_lookup {{blockName}} --detail detailed for anatomy, modifiers, and properties. 3) Follow the relevant standards via standard_lookup." ;
|
|
137
|
+
ds:promptArgument [ ds:argName "blockName" ; rdfs:comment "The block to build (e.g. Button)." ; ds:argRequired false ] .
|
|
138
|
+
|
|
139
|
+
ds:prompt.audit-standards a ds:Prompt ;
|
|
140
|
+
rdfs:label "audit-standards" ;
|
|
141
|
+
rdfs:comment "Audit code against the design system's coding standards." ;
|
|
142
|
+
ds:promptBody "Audit code against the {{category}} standards. 1) standard_categories to see categories. 2) standard_list --category {{category}}. 3) standard_lookup <name> --detail detailed for do/don't examples, then reconcile the code." ;
|
|
143
|
+
ds:promptArgument [ ds:argName "category" ; rdfs:comment "Standard category slug (e.g. react)." ; ds:argRequired false ] .
|
|
144
|
+
|
|
145
|
+
ds:prompt.explore-design-system a ds:Prompt ;
|
|
146
|
+
rdfs:label "explore-design-system" ;
|
|
147
|
+
rdfs:comment "Orient in an unfamiliar design system before querying." ;
|
|
148
|
+
ds:promptBody "Explore the design system. 1) capabilities for the tool map. 2) block_sample / modifier_sample for real data shapes. 3) ontology_list then ontology_show <ns> for the schema. 4) tier_list for the tier hierarchy. 5) graph_query for raw SPARQL joins." .
|
|
149
|
+
|
|
150
|
+
ds:prompt.configure a ds:Prompt ;
|
|
151
|
+
rdfs:label "configure" ;
|
|
152
|
+
rdfs:comment "Set the active tier and release channel scope." ;
|
|
153
|
+
ds:promptBody "Configure pragma's scope. Set the tier with config_tier {{tier}}, the channel with config_channel {{channel}} (normal|experimental|prerelease), then confirm with config_show." ;
|
|
154
|
+
ds:promptArgument [ ds:argName "tier" ; rdfs:comment "Tier path (e.g. apps/lxd)." ; ds:argRequired false ] ;
|
|
155
|
+
ds:promptArgument [ ds:argName "channel" ; rdfs:comment "Release channel." ; ds:argRequired false ] .
|
|
156
|
+
|
|
157
|
+
ds:prompt.scaffold-component a ds:Prompt ;
|
|
158
|
+
rdfs:label "scaffold-component" ;
|
|
159
|
+
rdfs:comment "Scaffold a new component and align it to the standards." ;
|
|
160
|
+
ds:promptBody "Scaffold the {{componentName}} component in {{framework}}. Use create_component with the component path and --framework {{framework}}, then review the generated files against the react/component standards via standard_lookup." ;
|
|
161
|
+
ds:promptArgument [ ds:argName "componentName" ; rdfs:comment "Component name/path (e.g. Button)." ; ds:argRequired true ] ;
|
|
162
|
+
ds:promptArgument [ ds:argName "framework" ; rdfs:comment "react | svelte | lit." ; ds:argRequired false ] .
|
|
163
|
+
`;
|
|
164
|
+
|
|
165
|
+
/** The prefixes the canonical store is built and queried with. */
|
|
166
|
+
export const CANONICAL_PREFIXES: Readonly<Record<string, string>> = {
|
|
167
|
+
...BLOCK_PREFIXES,
|
|
168
|
+
cs: "http://pragma.canonical.com/codestandards#",
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
/** The full canonical Turtle: PR3's `BLOCK_TTL` verbatim, plus the sections above. */
|
|
172
|
+
export const CANONICAL_TTL = `${BLOCK_TTL}\n${DS_EXTRA_TTL}\n${CS_TTL}\n${PROMPT_TTL}`;
|
|
173
|
+
|
|
174
|
+
/** Default viewing config: no tier set, `normal` channel — drops the beta-only block. */
|
|
175
|
+
export const CANONICAL_CONFIG = { channel: "normal" as const };
|
|
176
|
+
|
|
177
|
+
/** Scoped to the `apps/lxd` tier — own + inherited (LXD Panel, Modal, Button). */
|
|
178
|
+
export const FILTERED_CONFIG = { tier: "apps/lxd" as const };
|
|
179
|
+
|
|
180
|
+
/** `prerelease` channel, no tier — the one config where all 4 components are listed. */
|
|
181
|
+
export const ALL_VISIBLE_CONFIG = { channel: "prerelease" as const };
|
|
182
|
+
|
|
183
|
+
/** Re-exported so callers needn't also import `blockGraph.ts` directly. */
|
|
184
|
+
export { BLOCK_PREFIXES, BLOCK_TTL };
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The hermetic, vendored "default-pack" fixture — a SMALL but REAL multi-typed
|
|
3
|
+
* design-system pack, shaped the way a shipped default pack actually is, not the
|
|
4
|
+
* way the 6-entity single-typed canonical graph was.
|
|
5
|
+
*
|
|
6
|
+
* WHY A SECOND GRAPH (the R1 "one graph" discipline notwithstanding): the
|
|
7
|
+
* canonical fixture (`canonical.ts`) is deliberately clean — every individual is
|
|
8
|
+
* single-typed (`a ds:Component`), every block carries a tier, every label is a
|
|
9
|
+
* bare string. That cleanliness is exactly what masked the real-data counter and
|
|
10
|
+
* classifier bugs the journey harness (AV-231, Backlog E) exists to catch. This
|
|
11
|
+
* fixture is the ADVERSARIAL default pack: it reproduces the four shapes a real
|
|
12
|
+
* vendored pack has that the clean graph does not —
|
|
13
|
+
*
|
|
14
|
+
* 1. `owl:NamedIndividual` co-typing — every block is
|
|
15
|
+
* `a owl:NamedIndividual, ds:<Class>`, the way exported OWL individuals are.
|
|
16
|
+
* This is what doubles the per-type instance tally (A1 `entityTotal` 2×): a
|
|
17
|
+
* block counts once under `owl:NamedIndividual` AND once under its domain
|
|
18
|
+
* class.
|
|
19
|
+
* 2. Two+ domain classes (`ds:Component` and `ds:Pattern`) so a read that keys
|
|
20
|
+
* off the primary domain type is exercised across more than one class.
|
|
21
|
+
* 3. An UNTIERED block (`ds:orphanWidget` — a `ds:Component` with a `ds:name`
|
|
22
|
+
* but NO `ds:tier`). `block list`'s SELECT inner-joins `?c ds:tier ?t`, so an
|
|
23
|
+
* untiered block is silently dropped from every listing (A2), even though
|
|
24
|
+
* `graph query` finds it — the fixture pins both halves of that divergence.
|
|
25
|
+
* 4. A multilingual `rdfs:label "Button"@en, "Bouton"@fr` — two same-predicate
|
|
26
|
+
* labels whose winner in the single-valued index is store-order-arbitrary
|
|
27
|
+
* (A7), a shape a bare-string fixture can never produce.
|
|
28
|
+
*
|
|
29
|
+
* The vocabulary is the live `ds:` design-system namespace (same as
|
|
30
|
+
* `blockGraph.ts`/`canonical.ts`), so `block list`, `ontology list/show`, and
|
|
31
|
+
* `graph query` all run against real terms — the hand-written `block list` verb
|
|
32
|
+
* hard-codes `ds:Component`/`ds:name`/`ds:tier`/`ds:release`.
|
|
33
|
+
*
|
|
34
|
+
* Stable anchors this fixture guarantees (pinned by the journey suite):
|
|
35
|
+
* - Exactly 4 blocks in the graph: Button (`ds:Component`, global), Card
|
|
36
|
+
* (`ds:Pattern`, global), Beta Badge (`ds:Component`, apps tier, beta
|
|
37
|
+
* channel), Orphan Widget (`ds:Component`, UNTIERED).
|
|
38
|
+
* - 5 TBox classes, 4 TBox properties, 2 tiers (`global`, `apps`), 2 release
|
|
39
|
+
* channels (`stable`, `beta`).
|
|
40
|
+
* - `ds:button` carries the multilingual label; every other subject is a bare
|
|
41
|
+
* string, so the multilingual path is isolated to one entity.
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
/** The prefixes the default-pack fixture store is built and queried with. */
|
|
45
|
+
export const DEFAULT_PACK_PREFIXES: Readonly<Record<string, string>> = {
|
|
46
|
+
ds: "https://ds.canonical.com/",
|
|
47
|
+
owl: "http://www.w3.org/2002/07/owl#",
|
|
48
|
+
rdfs: "http://www.w3.org/2000/01/rdf-schema#",
|
|
49
|
+
xsd: "http://www.w3.org/2001/XMLSchema#",
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* The vendored default pack as one Turtle document: TBox (5 classes, 4
|
|
54
|
+
* properties) + ABox (2 tiers, 2 channels, 4 blocks). Every block is co-typed
|
|
55
|
+
* `owl:NamedIndividual` — the real-export shape the clean canonical graph omits.
|
|
56
|
+
*/
|
|
57
|
+
export const DEFAULT_PACK_TTL = `
|
|
58
|
+
@prefix ds: <https://ds.canonical.com/> .
|
|
59
|
+
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
60
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
61
|
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
62
|
+
|
|
63
|
+
# ---- Ontology (TBox): 5 classes, 4 properties ----
|
|
64
|
+
ds:UIBlock a owl:Class ; rdfs:label "UI Block" .
|
|
65
|
+
ds:Component a owl:Class ; rdfs:subClassOf ds:UIBlock ; rdfs:label "Component" .
|
|
66
|
+
ds:Pattern a owl:Class ; rdfs:subClassOf ds:UIBlock ; rdfs:label "Pattern" .
|
|
67
|
+
ds:Tier a owl:Class ; rdfs:label "Tier" .
|
|
68
|
+
ds:ReleaseChannel a owl:Class ; rdfs:label "Release Channel" .
|
|
69
|
+
|
|
70
|
+
ds:name a owl:DatatypeProperty ; rdfs:domain ds:UIBlock ; rdfs:range xsd:string .
|
|
71
|
+
# Functional (one tier per block), matching the live ontology — a non-functional
|
|
72
|
+
# ds:tier compiles to a multi-valued GraphQL field the bundled block lookup rejects.
|
|
73
|
+
ds:tier a owl:ObjectProperty, owl:FunctionalProperty ; rdfs:domain ds:UIBlock ; rdfs:range ds:Tier .
|
|
74
|
+
ds:release a owl:ObjectProperty, owl:FunctionalProperty ; rdfs:domain ds:UIBlock ; rdfs:range ds:ReleaseChannel .
|
|
75
|
+
ds:summary a owl:DatatypeProperty ; rdfs:domain ds:UIBlock ; rdfs:range xsd:string .
|
|
76
|
+
|
|
77
|
+
# ---- Tiers (a real parent chain: apps -> global) ----
|
|
78
|
+
ds:global a ds:Tier ; ds:name "global" .
|
|
79
|
+
ds:apps a ds:Tier ; ds:name "apps" .
|
|
80
|
+
|
|
81
|
+
# ---- Release channels ----
|
|
82
|
+
ds:stable a ds:ReleaseChannel ; ds:name "stable" .
|
|
83
|
+
ds:beta a ds:ReleaseChannel ; ds:name "beta" .
|
|
84
|
+
|
|
85
|
+
# ---- Blocks (ABox) — every one co-typed owl:NamedIndividual (the export shape) ----
|
|
86
|
+
|
|
87
|
+
# A component on the global tier, carrying a MULTILINGUAL label (A7 shape).
|
|
88
|
+
ds:button a owl:NamedIndividual, ds:Component ;
|
|
89
|
+
ds:name "Button" ;
|
|
90
|
+
rdfs:label "Button"@en, "Bouton"@fr ;
|
|
91
|
+
ds:tier ds:global ;
|
|
92
|
+
ds:summary "A clickable button control." .
|
|
93
|
+
|
|
94
|
+
# A second DOMAIN CLASS (ds:Pattern), on the global tier.
|
|
95
|
+
ds:card a owl:NamedIndividual, ds:Pattern ;
|
|
96
|
+
ds:name "Card" ;
|
|
97
|
+
rdfs:label "Card" ;
|
|
98
|
+
ds:tier ds:global ;
|
|
99
|
+
ds:summary "A content card layout pattern." .
|
|
100
|
+
|
|
101
|
+
# A component gated to the BETA channel and the non-global apps tier — exercises
|
|
102
|
+
# both channel visibility and tier-chain inheritance.
|
|
103
|
+
ds:betaBadge a owl:NamedIndividual, ds:Component ;
|
|
104
|
+
ds:name "Beta Badge" ;
|
|
105
|
+
rdfs:label "Beta Badge" ;
|
|
106
|
+
ds:tier ds:apps ;
|
|
107
|
+
ds:release ds:beta ;
|
|
108
|
+
ds:summary "An experimental badge, gated to the prerelease channel." .
|
|
109
|
+
|
|
110
|
+
# An UNTIERED component — a real ds:Component with a ds:name but NO ds:tier.
|
|
111
|
+
# It IS in the graph (graph query finds it) but block list's mandatory
|
|
112
|
+
# tier join (?c ds:tier ?t) drops it (A2).
|
|
113
|
+
ds:orphanWidget a owl:NamedIndividual, ds:Component ;
|
|
114
|
+
ds:name "Orphan Widget" ;
|
|
115
|
+
rdfs:label "Orphan Widget" ;
|
|
116
|
+
ds:summary "A component shipped without a tier assignment." .
|
|
117
|
+
`;
|
|
118
|
+
|
|
119
|
+
/** No-tier viewing config, `normal` channel — hides the beta-only Beta Badge. */
|
|
120
|
+
export const DEFAULT_PACK_CONFIG = { channel: "normal" as const };
|
|
121
|
+
|
|
122
|
+
/** `prerelease` channel, no tier — the config where every channel-gated block shows. */
|
|
123
|
+
export const DEFAULT_PACK_ALL_VISIBLE_CONFIG = {
|
|
124
|
+
channel: "prerelease" as const,
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
/** The names of the 4 blocks the fixture declares, sorted (SPARQL `ORDER BY ?name`). */
|
|
128
|
+
export const DEFAULT_PACK_BLOCK_NAMES = [
|
|
129
|
+
"Beta Badge",
|
|
130
|
+
"Button",
|
|
131
|
+
"Card",
|
|
132
|
+
"Orphan Widget",
|
|
133
|
+
] as const;
|
|
134
|
+
|
|
135
|
+
/** The block excluded from `block list` for want of a `ds:tier` (A2 anchor). */
|
|
136
|
+
export const UNTIERED_BLOCK_NAME = "Orphan Widget";
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* A second, ontology-only pack with NO tiered blocks — drives the EMPTY
|
|
140
|
+
* `block list` (a calm exit-0 empty result, not an error). It still declares the
|
|
141
|
+
* `ds:` TBox, so `ontology list` is POPULATED here (the populated/empty pair for
|
|
142
|
+
* the two list verbs is split across this and {@link INSTANCE_ONLY_TTL}).
|
|
143
|
+
*/
|
|
144
|
+
export const NO_BLOCKS_TTL = `
|
|
145
|
+
@prefix ds: <https://ds.canonical.com/> .
|
|
146
|
+
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
147
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
148
|
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
149
|
+
|
|
150
|
+
ds:UIBlock a owl:Class .
|
|
151
|
+
ds:Component a owl:Class ; rdfs:subClassOf ds:UIBlock .
|
|
152
|
+
ds:Tier a owl:Class .
|
|
153
|
+
ds:name a owl:DatatypeProperty ; rdfs:domain ds:UIBlock ; rdfs:range xsd:string .
|
|
154
|
+
ds:tier a owl:ObjectProperty ; rdfs:domain ds:UIBlock ; rdfs:range ds:Tier .
|
|
155
|
+
|
|
156
|
+
ds:global a ds:Tier ; ds:name "global" .
|
|
157
|
+
`;
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* A pack of pure instance data with NO `owl:Class`/`owl:*Property` declarations —
|
|
161
|
+
* drives the EMPTY `ontology list` (no namespace has any classes or properties
|
|
162
|
+
* to group), while `graph query` still resolves its triples.
|
|
163
|
+
*/
|
|
164
|
+
export const INSTANCE_ONLY_TTL = `
|
|
165
|
+
@prefix ex: <https://ex.test/#> .
|
|
166
|
+
ex:alpha ex:relatesTo ex:beta .
|
|
167
|
+
ex:beta ex:name "Beta" .
|
|
168
|
+
`;
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* A malformed Turtle source — a subject/predicate with no object — drives the
|
|
172
|
+
* `sources update` data-error classification path (a NAMED `CONFIG_ERROR`, not
|
|
173
|
+
* an INTERNAL "please report this issue").
|
|
174
|
+
*/
|
|
175
|
+
export const MALFORMED_TTL = `@prefix ex: <https://ex.test/#> .
|
|
176
|
+
ex:One a ex:Widget .
|
|
177
|
+
ex:Two ex:danglingPredicate .
|
|
178
|
+
`;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A realistic multi-typed OWL / Protégé-export fixture graph.
|
|
3
|
+
*
|
|
4
|
+
* The embedded `sample.ttl` (Button/Card/Dialog, each typed by exactly ONE
|
|
5
|
+
* domain class, every block tiered, every label untagged) is a TOY: it never
|
|
6
|
+
* exercises the counters/classifiers the way a real vocabulary does. This graph
|
|
7
|
+
* deliberately carries the shapes that only bite real packs (audit backlog A):
|
|
8
|
+
*
|
|
9
|
+
* - Protégé DUAL-typing: an individual asserted as its domain class AND
|
|
10
|
+
* `owl:NamedIndividual` — the multiset that made `entityTotal` run ~2× (A1).
|
|
11
|
+
* - A MULTI-DOMAIN individual (`ex:toggle`: two domain classes) — so the
|
|
12
|
+
* primary-type tie-break must be deterministic, not store-order (A3).
|
|
13
|
+
* - An UNTIERED block (`ds:datePicker`: a `ds:Component` with no `ds:tier`) —
|
|
14
|
+
* which `block list --all-tiers` must surface, not hide (A2).
|
|
15
|
+
* - A blank-node `rdf:type` (`ex:field`'s anonymous SHACL-style class) — which
|
|
16
|
+
* must NOT become a `type:"_:b0"` primary key (A6).
|
|
17
|
+
* - An OWL-PUNNED subject (`ex:Slider`: a class that is ALSO a metaclass
|
|
18
|
+
* individual) — whose abox facet must survive alongside its tbox one (A8).
|
|
19
|
+
* - MULTILINGUAL labels (`"Button"@en` / `"Bouton"@fr`) — resolved to a stable
|
|
20
|
+
* language, never whichever row the store returned first (A7).
|
|
21
|
+
*
|
|
22
|
+
* The `ds:` half is a compact but faithful design-system slice (so `block list`
|
|
23
|
+
* runs against it); the `ex:` half is generic OWL, proving the index is
|
|
24
|
+
* ontology-agnostic. One document, so a single store answers every read.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/** The prefixes the OWL-export fixture store is built and queried with. */
|
|
28
|
+
export const OWL_EXPORT_PREFIXES: Readonly<Record<string, string>> = {
|
|
29
|
+
ds: "https://ds.canonical.com/",
|
|
30
|
+
ex: "https://ex.test/vocab#",
|
|
31
|
+
rdf: "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
|
|
32
|
+
rdfs: "http://www.w3.org/2000/01/rdf-schema#",
|
|
33
|
+
owl: "http://www.w3.org/2002/07/owl#",
|
|
34
|
+
xsd: "http://www.w3.org/2001/XMLSchema#",
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/** The multi-typed OWL-export fixture ontology + individuals as Turtle. */
|
|
38
|
+
export const OWL_EXPORT_TTL = `
|
|
39
|
+
@prefix ds: <https://ds.canonical.com/> .
|
|
40
|
+
@prefix ex: <https://ex.test/vocab#> .
|
|
41
|
+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
|
42
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
43
|
+
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
44
|
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
45
|
+
|
|
46
|
+
# ---- Design-system TBox (so \`block list\` has real block types) ----
|
|
47
|
+
ds:UIBlock a owl:Class .
|
|
48
|
+
ds:Component a owl:Class ; rdfs:subClassOf ds:UIBlock ; rdfs:label "Component" .
|
|
49
|
+
ds:Tier a owl:Class .
|
|
50
|
+
ds:name a owl:DatatypeProperty ; rdfs:domain ds:UIBlock ; rdfs:range xsd:string .
|
|
51
|
+
ds:tier a owl:ObjectProperty ; rdfs:domain ds:UIBlock ; rdfs:range ds:Tier .
|
|
52
|
+
ds:global a owl:NamedIndividual, ds:Tier ; ds:name "global" .
|
|
53
|
+
|
|
54
|
+
# ---- Generic OWL domain classes (multi-typing lives here) ----
|
|
55
|
+
ex:Interactive a owl:Class ; rdfs:label "Interactive" .
|
|
56
|
+
ex:FormControl a owl:Class ; rdfs:label "Form Control" .
|
|
57
|
+
ex:Category a owl:Class ; rdfs:label "Category" .
|
|
58
|
+
|
|
59
|
+
# ---- A tiered block, Protégé-style DUAL-typed (domain class + owl:NamedIndividual),
|
|
60
|
+
# with a multilingual label (A1 + A7). ----
|
|
61
|
+
ds:button a owl:NamedIndividual, ds:Component ;
|
|
62
|
+
ds:name "Button" ;
|
|
63
|
+
ds:tier ds:global ;
|
|
64
|
+
rdfs:label "Button"@en , "Bouton"@fr .
|
|
65
|
+
|
|
66
|
+
# ---- An UNTIERED block: a ds:Component with NO ds:tier (A2). ----
|
|
67
|
+
ds:datePicker a owl:NamedIndividual, ds:Component ;
|
|
68
|
+
ds:name "Date Picker" ;
|
|
69
|
+
rdfs:label "Date Picker"@en , "Sélecteur de date"@fr .
|
|
70
|
+
|
|
71
|
+
# ---- A MULTI-DOMAIN individual: two domain classes + owl:NamedIndividual (A1 + A3).
|
|
72
|
+
# The abox primary must be the lexically-smallest: ex:FormControl < ex:Interactive. ----
|
|
73
|
+
ex:toggle a owl:NamedIndividual, ex:Interactive, ex:FormControl ;
|
|
74
|
+
rdfs:label "Toggle"@en , "Bascule"@fr .
|
|
75
|
+
|
|
76
|
+
# ---- An OWL-PUNNED subject: a class that is ALSO a metaclass individual (A8).
|
|
77
|
+
# Must emit BOTH a tbox facet (owl:Class) and an abox facet (ex:Category). ----
|
|
78
|
+
ex:Slider a owl:Class, owl:NamedIndividual, ex:Category ;
|
|
79
|
+
rdfs:label "Slider" .
|
|
80
|
+
|
|
81
|
+
# ---- A subject with a BLANK-NODE rdf:type: an anonymous class (A6).
|
|
82
|
+
# The blank node must NOT become ex:field's primary type. ----
|
|
83
|
+
ex:field a owl:NamedIndividual, ex:FormControl, [ a owl:Class ] ;
|
|
84
|
+
rdfs:label "Field" .
|
|
85
|
+
`;
|
|
86
|
+
|
|
87
|
+
/** The distinct abox individuals this fixture declares (the `entityTotal` oracle). */
|
|
88
|
+
export const OWL_EXPORT_ABOX_SUBJECTS: readonly string[] = [
|
|
89
|
+
"ds:button",
|
|
90
|
+
"ds:datePicker",
|
|
91
|
+
"ds:global",
|
|
92
|
+
"ex:Slider",
|
|
93
|
+
"ex:field",
|
|
94
|
+
"ex:toggle",
|
|
95
|
+
];
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A foreign-namespace generic-pack proof.
|
|
3
|
+
*
|
|
4
|
+
* Every other fixture graph in this package lives under the `ds:`/`cs:`
|
|
5
|
+
* design-system prefixes. This one is deliberately OUTSIDE that vocabulary —
|
|
6
|
+
* `ex:` recipes with no relation to design systems at all — proving the pack
|
|
7
|
+
* compiler and runtime are ontology-agnostic end-to-end: a pack over ANY
|
|
8
|
+
* RDF graph registers its verbs/tools and resolves through the same one
|
|
9
|
+
* compiler (`kernel/packs/compile.ts`) every bundled DS pack does. Complements
|
|
10
|
+
* PR3's compiler-invariant UNIT tests with an e2e journey (compile → boot →
|
|
11
|
+
* list/lookup on both the CLI and MCP surfaces).
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import type { PackDefinition } from "../../../kernel/packs/types.js";
|
|
15
|
+
|
|
16
|
+
/** The prefixes the recipe fixture store is built and queried with. */
|
|
17
|
+
export const RECIPE_PREFIXES: Readonly<Record<string, string>> = {
|
|
18
|
+
ex: "https://example.com/recipes#",
|
|
19
|
+
owl: "http://www.w3.org/2002/07/owl#",
|
|
20
|
+
rdfs: "http://www.w3.org/2000/01/rdf-schema#",
|
|
21
|
+
xsd: "http://www.w3.org/2001/XMLSchema#",
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/** The recipe fixture ontology + individuals as Turtle. */
|
|
25
|
+
export const RECIPE_TTL = `
|
|
26
|
+
@prefix ex: <https://example.com/recipes#> .
|
|
27
|
+
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
|
28
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
|
29
|
+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
|
30
|
+
|
|
31
|
+
ex:Recipe a owl:Class .
|
|
32
|
+
ex:title a owl:DatatypeProperty ; rdfs:domain ex:Recipe ; rdfs:range xsd:string .
|
|
33
|
+
ex:cuisine a owl:DatatypeProperty ; rdfs:domain ex:Recipe ; rdfs:range xsd:string .
|
|
34
|
+
ex:instructions a owl:DatatypeProperty ; rdfs:domain ex:Recipe ; rdfs:range xsd:string .
|
|
35
|
+
|
|
36
|
+
ex:pancakes a ex:Recipe ;
|
|
37
|
+
ex:title "Pancakes" ;
|
|
38
|
+
ex:cuisine "breakfast" ;
|
|
39
|
+
ex:instructions "Whisk batter, pour onto a hot griddle, flip when bubbling." .
|
|
40
|
+
|
|
41
|
+
ex:gazpacho a ex:Recipe ;
|
|
42
|
+
ex:title "Gazpacho" ;
|
|
43
|
+
ex:cuisine "spanish" ;
|
|
44
|
+
ex:instructions "Blend chilled tomatoes, peppers, and cucumber; chill again." .
|
|
45
|
+
`;
|
|
46
|
+
|
|
47
|
+
/** A declarative pack over the foreign `ex:` namespace — `list` + `lookup`. */
|
|
48
|
+
export const recipePack: PackDefinition = {
|
|
49
|
+
noun: "recipe",
|
|
50
|
+
description: "List recipes.",
|
|
51
|
+
list: {
|
|
52
|
+
query: [
|
|
53
|
+
"SELECT ?uri ?name ?cuisine WHERE {",
|
|
54
|
+
" ?uri a ex:Recipe ;",
|
|
55
|
+
" ex:title ?name .",
|
|
56
|
+
" OPTIONAL { ?uri ex:cuisine ?cuisine }",
|
|
57
|
+
"}",
|
|
58
|
+
"ORDER BY ?name",
|
|
59
|
+
].join("\n"),
|
|
60
|
+
columns: [
|
|
61
|
+
{ field: "uri", label: "IRI" },
|
|
62
|
+
{ field: "name", label: "Name" },
|
|
63
|
+
{ field: "cuisine", label: "Cuisine" },
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
lookup: {
|
|
67
|
+
by: "ex:title",
|
|
68
|
+
type: "ex:Recipe",
|
|
69
|
+
fields: [{ name: "cuisine", property: "ex:cuisine", label: "Cuisine" }],
|
|
70
|
+
sections: [
|
|
71
|
+
{
|
|
72
|
+
name: "instructions",
|
|
73
|
+
property: "ex:instructions",
|
|
74
|
+
label: "Instructions",
|
|
75
|
+
},
|
|
76
|
+
],
|
|
77
|
+
},
|
|
78
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pull the runnable `pragma` command lines out of a Markdown document.
|
|
3
|
+
*
|
|
4
|
+
* Scans fenced `bash` / `sh` / `console` blocks, strips a leading shell prompt
|
|
5
|
+
* (`$ `), and keeps the lines that invoke `pragma`. Used by the doc-example
|
|
6
|
+
* tests to prove every command shown in the docs is real grammar and — for the
|
|
7
|
+
* curated read set — actually runs.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/** Fenced `bash`/`sh`/`console` blocks, capturing the body between the fences. */
|
|
11
|
+
const FENCE_RE = /```(?:bash|sh|console)\r?\n(?<body>[\s\S]*?)```/g;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Extract every `pragma …` command line from a Markdown string.
|
|
15
|
+
*
|
|
16
|
+
* @param markdown - The Markdown source to scan.
|
|
17
|
+
* @returns The `pragma` command lines, in document order, prompt-stripped.
|
|
18
|
+
*/
|
|
19
|
+
export function extractPragmaCommands(markdown: string): string[] {
|
|
20
|
+
const commands: string[] = [];
|
|
21
|
+
for (const match of markdown.matchAll(FENCE_RE)) {
|
|
22
|
+
const body = match.groups?.body ?? "";
|
|
23
|
+
for (const rawLine of body.split("\n")) {
|
|
24
|
+
const line = rawLine.replace(/^\s*\$\s+/, "").trim();
|
|
25
|
+
if (line.startsWith("pragma ")) commands.push(line);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return commands;
|
|
29
|
+
}
|