@intentius/chant 0.124.13 → 0.124.15
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/bin/chant +11 -0
- package/dist/agents/checks.js +326 -0
- package/dist/agents/discover.js +885 -0
- package/dist/agents/importer.js +17 -0
- package/dist/agents/index.js +12 -0
- package/dist/agents/types.js +19 -0
- package/dist/apply.js +151 -0
- package/dist/attrref.js +70 -0
- package/dist/audit/catalog.js +350 -0
- package/dist/audit/core.js +252 -0
- package/dist/audit/discover.js +633 -0
- package/dist/audit/fetch.js +666 -0
- package/dist/audit/lineage.js +91 -0
- package/dist/audit/nginx.js +366 -0
- package/dist/audit/prior-art.js +132 -0
- package/dist/audit/proof.js +321 -0
- package/dist/audit/report-html.js +194 -0
- package/dist/audit/report-model.js +198 -0
- package/dist/audit/report.js +102 -0
- package/dist/audit/rules-doc.js +144 -0
- package/dist/audit/secrets.js +405 -0
- package/dist/audit/terraform-state.js +140 -0
- package/dist/audit/wrangler.js +262 -0
- package/dist/behaviour-delta.js +401 -0
- package/dist/behaviour-engine.js +357 -0
- package/dist/behaviour-graph.js +83 -0
- package/dist/behaviour-http.js +188 -0
- package/dist/behaviour-kinds.js +172 -0
- package/dist/behaviour-overlay.js +50 -0
- package/dist/behaviour-predict.js +188 -0
- package/dist/behaviour-request.js +194 -0
- package/dist/behaviour.js +1325 -0
- package/dist/build-params.js +108 -0
- package/dist/build.d.ts +6 -0
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +669 -0
- package/dist/builder.js +44 -0
- package/dist/cdk/advise.js +30 -0
- package/dist/cdk/assembly.js +122 -0
- package/dist/cdk/graph.js +444 -0
- package/dist/cdk/tier-map.js +64 -0
- package/dist/cdk/types.js +24 -0
- package/dist/change-set.d.ts +24 -2
- package/dist/change-set.d.ts.map +1 -1
- package/dist/change-set.js +361 -0
- package/dist/child-project.js +21 -0
- package/dist/ci-jobs.d.ts +227 -0
- package/dist/ci-jobs.d.ts.map +1 -0
- package/dist/ci-jobs.js +448 -0
- package/dist/claimed-fields.js +135 -0
- package/dist/cli/build-options.js +70 -0
- package/dist/cli/build-params-cli.js +139 -0
- package/dist/cli/command-group.js +123 -0
- package/dist/cli/commands/audit-agents.js +326 -0
- package/dist/cli/commands/audit.js +571 -0
- package/dist/cli/commands/build.js +920 -0
- package/dist/cli/commands/carve-apply.js +153 -0
- package/dist/cli/commands/carve-bridge.js +201 -0
- package/dist/cli/commands/carve-emit.js +332 -0
- package/dist/cli/commands/carve-status.js +119 -0
- package/dist/cli/commands/carve.js +204 -0
- package/dist/cli/commands/check-lexicon-docs.js +79 -0
- package/dist/cli/commands/check-lexicon-examples.js +177 -0
- package/dist/cli/commands/check-lexicon-intrinsics.js +291 -0
- package/dist/cli/commands/check-lexicon-mcp.js +82 -0
- package/dist/cli/commands/check-lexicon-plugin.d.ts.map +1 -1
- package/dist/cli/commands/check-lexicon-plugin.js +104 -0
- package/dist/cli/commands/check-lexicon.js +766 -0
- package/dist/cli/commands/describe.js +85 -0
- package/dist/cli/commands/diff.js +175 -0
- package/dist/cli/commands/doctor.js +350 -0
- package/dist/cli/commands/import-agents.js +155 -0
- package/dist/cli/commands/import.js +670 -0
- package/dist/cli/commands/init-lexicon/templates/codegen.js +194 -0
- package/dist/cli/commands/init-lexicon/templates/docs.js +100 -0
- package/dist/cli/commands/init-lexicon/templates/examples.js +29 -0
- package/dist/cli/commands/init-lexicon/templates/lint.js +34 -0
- package/dist/cli/commands/init-lexicon/templates/lsp.js +37 -0
- package/dist/cli/commands/init-lexicon/templates/plugin.js +108 -0
- package/dist/cli/commands/init-lexicon/templates/project.js +240 -0
- package/dist/cli/commands/init-lexicon/templates/spec.js +56 -0
- package/dist/cli/commands/init-lexicon/templates/tests.js +66 -0
- package/dist/cli/commands/init-lexicon.js +172 -0
- package/dist/cli/commands/init.js +381 -0
- package/dist/cli/commands/lexicon-rolling-upgrade.js +145 -0
- package/dist/cli/commands/lexicon-surface-diff.js +145 -0
- package/dist/cli/commands/licenses.js +125 -0
- package/dist/cli/commands/lint.d.ts.map +1 -1
- package/dist/cli/commands/lint.js +948 -0
- package/dist/cli/commands/list.js +63 -0
- package/dist/cli/commands/migrate.d.ts.map +1 -1
- package/dist/cli/commands/migrate.js +423 -0
- package/dist/cli/commands/onboard.js +403 -0
- package/dist/cli/commands/pinned-upgrade.js +191 -0
- package/dist/cli/commands/update.js +194 -0
- package/dist/cli/commands/vendor.js +217 -0
- package/dist/cli/conflict-check.js +104 -0
- package/dist/cli/debug.js +8 -0
- package/dist/cli/format.js +104 -0
- package/dist/cli/handlers/build.js +267 -0
- package/dist/cli/handlers/carve-apply.js +30 -0
- package/dist/cli/handlers/carve-bridge.js +28 -0
- package/dist/cli/handlers/carve-emit.js +50 -0
- package/dist/cli/handlers/carve-status.js +26 -0
- package/dist/cli/handlers/carve.js +40 -0
- package/dist/cli/handlers/change-set.js +46 -0
- package/dist/cli/handlers/components.js +730 -0
- package/dist/cli/handlers/dev.js +113 -0
- package/dist/cli/handlers/emulator.js +233 -0
- package/dist/cli/handlers/explain.js +54 -0
- package/dist/cli/handlers/fan-out.js +422 -0
- package/dist/cli/handlers/gate-resume.js +275 -0
- package/dist/cli/handlers/generate.js +84 -0
- package/dist/cli/handlers/graph.js +969 -0
- package/dist/cli/handlers/init.js +102 -0
- package/dist/cli/handlers/lifecycle.js +1727 -0
- package/dist/cli/handlers/lint.js +62 -0
- package/dist/cli/handlers/migrate.js +48 -0
- package/dist/cli/handlers/misc.js +391 -0
- package/dist/cli/handlers/operator.js +1162 -0
- package/dist/cli/handlers/override-approve.js +102 -0
- package/dist/cli/handlers/pr.js +503 -0
- package/dist/cli/handlers/promote.js +342 -0
- package/dist/cli/handlers/run-generate.js +206 -0
- package/dist/cli/handlers/run-wave.js +66 -0
- package/dist/cli/handlers/run.js +1191 -0
- package/dist/cli/handlers/scenario.js +325 -0
- package/dist/cli/handlers/search.js +924 -0
- package/dist/cli/handlers/serve.js +32 -0
- package/dist/cli/handlers/vendor.js +154 -0
- package/dist/cli/index.js +3 -0
- package/dist/cli/is-entry-point.js +23 -0
- package/dist/cli/lsp/capabilities.js +28 -0
- package/dist/cli/lsp/diagnostics.js +34 -0
- package/dist/cli/lsp/server.js +329 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +2540 -0
- package/dist/cli/mcp/lifecycle-tools.js +80 -0
- package/dist/cli/mcp/op-tools.js +306 -0
- package/dist/cli/mcp/resource-handlers.js +258 -0
- package/dist/cli/mcp/resources/context.js +85 -0
- package/dist/cli/mcp/server.js +353 -0
- package/dist/cli/mcp/tools/build.js +111 -0
- package/dist/cli/mcp/tools/composites.js +95 -0
- package/dist/cli/mcp/tools/explain.js +166 -0
- package/dist/cli/mcp/tools/import.js +49 -0
- package/dist/cli/mcp/tools/lint.js +41 -0
- package/dist/cli/mcp/tools/scaffold.js +111 -0
- package/dist/cli/mcp/tools/search.js +112 -0
- package/dist/cli/mcp/types.js +1 -0
- package/dist/cli/mcp/workspace-plugins.js +91 -0
- package/dist/cli/mcp/workspace-tools.d.ts +1 -1
- package/dist/cli/mcp/workspace-tools.js +564 -0
- package/dist/cli/mcp-config.js +70 -0
- package/dist/cli/plugins.js +313 -0
- package/dist/cli/registry.js +23 -0
- package/dist/cli/reporters/stylish.js +329 -0
- package/dist/cli/version.js +15 -0
- package/dist/cli/watch.js +79 -0
- package/dist/codegen/bound-property-types.js +82 -0
- package/dist/codegen/coverage.js +119 -0
- package/dist/codegen/docs-file-markers.js +60 -0
- package/dist/codegen/docs-pages.js +115 -0
- package/dist/codegen/docs-rule-scanning.js +164 -0
- package/dist/codegen/docs-rules.js +76 -0
- package/dist/codegen/docs-sections.js +117 -0
- package/dist/codegen/docs-sidebar.js +65 -0
- package/dist/codegen/docs-types.js +4 -0
- package/dist/codegen/docs.js +356 -0
- package/dist/codegen/fetch.js +340 -0
- package/dist/codegen/generate-post-synth-barrel.js +63 -0
- package/dist/codegen/generate-registry.js +71 -0
- package/dist/codegen/generate-runtime-index.js +56 -0
- package/dist/codegen/generate-typescript.js +119 -0
- package/dist/codegen/generate.js +115 -0
- package/dist/codegen/json-patch.js +141 -0
- package/dist/codegen/json-schema-to-ts.js +344 -0
- package/dist/codegen/json-schema.js +246 -0
- package/dist/codegen/lexicon-regen.js +412 -0
- package/dist/codegen/naming.js +217 -0
- package/dist/codegen/okf-lexicon.js +245 -0
- package/dist/codegen/package.js +150 -0
- package/dist/codegen/pinned-upgrade.d.ts.map +1 -1
- package/dist/codegen/pinned-upgrade.js +494 -0
- package/dist/codegen/registry.js +60 -0
- package/dist/codegen/rehype-base-url.mjs +68 -0
- package/dist/codegen/rolling-upgrade.js +217 -0
- package/dist/codegen/surface-snapshot.js +537 -0
- package/dist/codegen/testdata/postgres-tags.json +242 -0
- package/dist/codegen/topo-sort.js +36 -0
- package/dist/codegen/typecheck.js +115 -0
- package/dist/codegen/validate.js +200 -0
- package/dist/codegen/version-bump.js +35 -0
- package/dist/components/auto-release.js +143 -0
- package/dist/components/builders.js +47 -0
- package/dist/components/capability-plugin-loader.js +175 -0
- package/dist/components/capability-plugin-schema.js +46 -0
- package/dist/components/capability-plugin.js +99 -0
- package/dist/components/capability.js +60 -0
- package/dist/components/changed-files.js +72 -0
- package/dist/components/cli-support.js +427 -0
- package/dist/components/component.js +120 -0
- package/dist/components/component.schema.json +271 -0
- package/dist/components/config-defaults.js +130 -0
- package/dist/components/deploy-units.js +60 -0
- package/dist/components/discover.d.ts.map +1 -1
- package/dist/components/discover.js +189 -0
- package/dist/components/driver-output.js +86 -0
- package/dist/components/driver.js +728 -0
- package/dist/components/fan-out-output.js +165 -0
- package/dist/components/fan-out-record.js +94 -0
- package/dist/components/fan-out-run.js +373 -0
- package/dist/components/fan-out-support.js +60 -0
- package/dist/components/fan-out.js +273 -0
- package/dist/components/gate-plan.js +41 -0
- package/dist/components/gated-wave-pipeline.js +46 -0
- package/dist/components/index.js +24 -0
- package/dist/components/layers.js +28 -0
- package/dist/components/manifest-persistence.js +108 -0
- package/dist/components/pilots/alb-ecs.pilot.js +59 -0
- package/dist/components/pilots/dynamodb.pilot.js +51 -0
- package/dist/components/pilots/jar-emr.pilot.js +65 -0
- package/dist/components/pilots/lambda.pilot.js +52 -0
- package/dist/components/pilots/neo4j-fanout.pilot.js +68 -0
- package/dist/components/pilots/project.js +12 -0
- package/dist/components/pr-pipeline.d.ts.map +1 -1
- package/dist/components/pr-pipeline.js +135 -0
- package/dist/components/pr-run.js +363 -0
- package/dist/components/presets/ecs-fargate.js +72 -0
- package/dist/components/presets/index.js +28 -0
- package/dist/components/presets/lambda.js +34 -0
- package/dist/components/presets/single-host-compose.js +41 -0
- package/dist/components/promote.js +549 -0
- package/dist/components/registry.js +34 -0
- package/dist/components/run-progress.js +33 -0
- package/dist/components/sandbox/driver.d.ts.map +1 -1
- package/dist/components/sandbox/driver.js +93 -0
- package/dist/components/sandbox/run.js +115 -0
- package/dist/components/starter-plugin.js +104 -0
- package/dist/components/verbs/__tests__/mock-cloud-executor.js +68 -0
- package/dist/components/verbs/__tests__/mock-process-runner.js +45 -0
- package/dist/components/verbs/__tests__/mock-sbom-generator.js +56 -0
- package/dist/components/verbs/bom-writer.js +287 -0
- package/dist/components/verbs/build-archive.js +188 -0
- package/dist/components/verbs/build.js +142 -0
- package/dist/components/verbs/cloud-executor.js +110 -0
- package/dist/components/verbs/component-bom.js +125 -0
- package/dist/components/verbs/ensure-secret.js +50 -0
- package/dist/components/verbs/index.js +61 -0
- package/dist/components/verbs/license-policy.js +75 -0
- package/dist/components/verbs/lockfile-sbom-generator.js +191 -0
- package/dist/components/verbs/process-runner.js +78 -0
- package/dist/components/verbs/r2-sync.js +93 -0
- package/dist/components/verbs/reproducibility.js +62 -0
- package/dist/components/verbs/run-agent.js +577 -0
- package/dist/components/verbs/sbom-generator.js +119 -0
- package/dist/components/verbs/sbom.js +97 -0
- package/dist/components/verbs/shell.js +32 -0
- package/dist/components/verbs/sign.js +221 -0
- package/dist/components/verbs/stub.js +28 -0
- package/dist/components/verbs/tool-sbom-generator.js +154 -0
- package/dist/components/verbs/verify.js +112 -0
- package/dist/components/verbs/vex.js +131 -0
- package/dist/components/verbs/vuln-gate.js +152 -0
- package/dist/components/verbs/vuln-scan.js +288 -0
- package/dist/components/verbs/wait-verify.js +106 -0
- package/dist/components/verbs/wrangler.js +179 -0
- package/dist/components/wave-plan.js +102 -0
- package/dist/composite.d.ts +10 -2
- package/dist/composite.d.ts.map +1 -1
- package/dist/composite.js +313 -0
- package/dist/config-import.d.ts.map +1 -1
- package/dist/config-import.js +22 -0
- package/dist/config-sandbox.js +122 -0
- package/dist/config-static.js +206 -0
- package/dist/config.js +605 -0
- package/dist/content-digest.js +23 -0
- package/dist/declarable.js +114 -0
- package/dist/deep-observation.js +437 -0
- package/dist/detectLexicon.js +54 -0
- package/dist/discovery/cache.js +70 -0
- package/dist/discovery/collect.d.ts +2 -1
- package/dist/discovery/collect.d.ts.map +1 -1
- package/dist/discovery/collect.js +223 -0
- package/dist/discovery/cycles.js +95 -0
- package/dist/discovery/entity-wire-codec.js +391 -0
- package/dist/discovery/entity-wire.js +42 -0
- package/dist/discovery/files.js +121 -0
- package/dist/discovery/fold-import.d.ts.map +1 -1
- package/dist/discovery/fold-import.js +4073 -0
- package/dist/discovery/fold-rank.js +292 -0
- package/dist/discovery/graph.js +115 -0
- package/dist/discovery/host-composite.d.ts +35 -0
- package/dist/discovery/host-composite.d.ts.map +1 -0
- package/dist/discovery/host-composite.js +93 -0
- package/dist/discovery/import.d.ts.map +1 -1
- package/dist/discovery/import.js +65 -0
- package/dist/discovery/index.d.ts +9 -0
- package/dist/discovery/index.d.ts.map +1 -1
- package/dist/discovery/index.js +333 -0
- package/dist/discovery/param-deps.js +487 -0
- package/dist/discovery/resolve.js +39 -0
- package/dist/discovery/sandbox/bundle.js +214 -0
- package/dist/discovery/sandbox/child-errors.js +26 -0
- package/dist/discovery/sandbox/config-run.js +100 -0
- package/dist/discovery/sandbox/config-wire.js +183 -0
- package/dist/discovery/sandbox/driver.d.ts.map +1 -1
- package/dist/discovery/sandbox/driver.js +333 -0
- package/dist/discovery/sandbox/fork.js +229 -0
- package/dist/discovery/sandbox/policy-run.js +142 -0
- package/dist/discovery/sandbox/policy-wire.js +152 -0
- package/dist/discovery/sandbox/run.js +77 -0
- package/dist/discovery/specifier-resolve.js +320 -0
- package/dist/discovery/walk.js +284 -0
- package/dist/effect-receipt.js +340 -0
- package/dist/env.js +55 -0
- package/dist/errors.js +62 -0
- package/dist/fold/fold.js +1434 -0
- package/dist/fold/foldable-helpers.js +229 -0
- package/dist/fold/subset.js +696 -0
- package/dist/fold-provenance.js +414 -0
- package/dist/gate-decision.d.ts +20 -9
- package/dist/gate-decision.d.ts.map +1 -1
- package/dist/gate-decision.js +313 -0
- package/dist/gate-resume-run.js +154 -0
- package/dist/gated-waves.js +165 -0
- package/dist/governance.js +43 -0
- package/dist/graph-declared.js +45 -0
- package/dist/graph-detail.js +207 -0
- package/dist/graph-dot.js +54 -0
- package/dist/graph-effective.js +107 -0
- package/dist/graph-ir.js +623 -0
- package/dist/graph-layout.js +184 -0
- package/dist/graph-lens.js +105 -0
- package/dist/graph-mermaid.js +83 -0
- package/dist/graph-ops.js +39 -0
- package/dist/graph-refs.js +156 -0
- package/dist/held-elsewhere.js +87 -0
- package/dist/identity.js +251 -0
- package/dist/import/base-parser.js +34 -0
- package/dist/import/embedded.js +255 -0
- package/dist/import/generator.js +1 -0
- package/dist/import/ir-utils.js +85 -0
- package/dist/import/parser-options.js +45 -0
- package/dist/import/parser.js +1 -0
- package/dist/index.js +118 -0
- package/dist/intrinsic-interpolation.js +73 -0
- package/dist/intrinsic.js +31 -0
- package/dist/join-key.js +35 -0
- package/dist/kubectl-context.js +150 -0
- package/dist/lexicon-config.js +58 -0
- package/dist/lexicon-integrity.js +47 -0
- package/dist/lexicon-manifest.js +70 -0
- package/dist/lexicon-module.d.ts.map +1 -1
- package/dist/lexicon-module.js +241 -0
- package/dist/lexicon-output.js +218 -0
- package/dist/lexicon-plugin-helpers.js +104 -0
- package/dist/lexicon-schema.js +136 -0
- package/dist/lexicon.js +130 -0
- package/dist/lifecycle/affected.js +224 -0
- package/dist/lifecycle/assert-live.js +110 -0
- package/dist/lifecycle/build-ledger-store.js +160 -0
- package/dist/lifecycle/build-ledger.js +155 -0
- package/dist/lifecycle/change-set.js +356 -0
- package/dist/lifecycle/converge-ledger.js +161 -0
- package/dist/lifecycle/deep-diff.js +233 -0
- package/dist/lifecycle/deep-observe.js +147 -0
- package/dist/lifecycle/digest.js +143 -0
- package/dist/lifecycle/disruption.js +135 -0
- package/dist/lifecycle/gate-applied.js +113 -0
- package/dist/lifecycle/gate-audit.d.ts +69 -2
- package/dist/lifecycle/gate-audit.d.ts.map +1 -1
- package/dist/lifecycle/gate-audit.js +415 -0
- package/dist/lifecycle/gate-ledger-select.js +89 -0
- package/dist/lifecycle/gate-ledger.d.ts +24 -0
- package/dist/lifecycle/gate-ledger.d.ts.map +1 -1
- package/dist/lifecycle/gate-ledger.js +201 -0
- package/dist/lifecycle/gate-origin.js +117 -0
- package/dist/lifecycle/gate-pending.js +58 -0
- package/dist/lifecycle/git.js +1182 -0
- package/dist/lifecycle/identity.js +58 -0
- package/dist/lifecycle/index.js +26 -0
- package/dist/lifecycle/lease.js +283 -0
- package/dist/lifecycle/ledger-port.js +1 -0
- package/dist/lifecycle/legacy-digest.js +91 -0
- package/dist/lifecycle/live-diff.js +274 -0
- package/dist/lifecycle/local-note.js +15 -0
- package/dist/lifecycle/member-ledger.js +122 -0
- package/dist/lifecycle/observation-baseline.js +155 -0
- package/dist/lifecycle/observe.js +375 -0
- package/dist/lifecycle/oras-referrer-lookup.js +82 -0
- package/dist/lifecycle/override-ledger.js +54 -0
- package/dist/lifecycle/plan-digest.js +110 -0
- package/dist/lifecycle/plan-ledger.js +129 -0
- package/dist/lifecycle/receipt-plan.js +192 -0
- package/dist/lifecycle/release-ledger.js +155 -0
- package/dist/lifecycle/release-read.js +64 -0
- package/dist/lifecycle/replay.js +193 -0
- package/dist/lifecycle/rollback.js +102 -0
- package/dist/lifecycle/run-ledger.js +183 -0
- package/dist/lifecycle/scenario-eval.js +204 -0
- package/dist/lifecycle/scenario.js +214 -0
- package/dist/lifecycle/snapshot.js +239 -0
- package/dist/lifecycle/status.js +447 -0
- package/dist/lifecycle/symptoms.js +117 -0
- package/dist/lifecycle/teardown.js +255 -0
- package/dist/lifecycle/types.js +1 -0
- package/dist/lifecycle/unobserved-gate.js +33 -0
- package/dist/lifecycle/wave-plans.js +68 -0
- package/dist/lifecycle/work-item-id.js +36 -0
- package/dist/lifecycle/work-lease.js +393 -0
- package/dist/lint/component-checks.js +87 -0
- package/dist/lint/config.js +483 -0
- package/dist/lint/declarative.js +122 -0
- package/dist/lint/discover.d.ts.map +1 -1
- package/dist/lint/discover.js +138 -0
- package/dist/lint/engine.js +246 -0
- package/dist/lint/knowledge-checks.js +64 -0
- package/dist/lint/named-checks.js +22 -0
- package/dist/lint/output-checks.js +87 -0
- package/dist/lint/output-docs.js +163 -0
- package/dist/lint/parser.js +33 -0
- package/dist/lint/pipeline-change-gate.js +70 -0
- package/dist/lint/policy-import.d.ts +1 -1
- package/dist/lint/policy-import.d.ts.map +1 -1
- package/dist/lint/policy-import.js +62 -0
- package/dist/lint/policy-sandbox.js +86 -0
- package/dist/lint/policy.js +122 -0
- package/dist/lint/post-synth.js +87 -0
- package/dist/lint/presets/relaxed.json +26 -0
- package/dist/lint/presets/strict.json +24 -24
- package/dist/lint/receipt-checks.js +83 -0
- package/dist/lint/rule-loader.d.ts.map +1 -1
- package/dist/lint/rule-loader.js +89 -0
- package/dist/lint/rule-registry.js +86 -0
- package/dist/lint/rule.js +1 -0
- package/dist/lint/rules/__fixtures__/comp/comp000-discovery-error/broken-a.component.js +7 -0
- package/dist/lint/rules/__fixtures__/comp/comp000-discovery-error/broken-b.component.js +7 -0
- package/dist/lint/rules/__fixtures__/comp/comp001/fail/orphan-lib.component.js +9 -0
- package/dist/lint/rules/__fixtures__/comp/comp001/pass/emr-job.component.js +11 -0
- package/dist/lint/rules/__fixtures__/comp/comp001/pass/jar-lib.component.js +9 -0
- package/dist/lint/rules/__fixtures__/comp/comp002/fail/search-service.component.js +25 -0
- package/dist/lint/rules/__fixtures__/comp/comp002/pass/jar-lib.component.js +8 -0
- package/dist/lint/rules/__fixtures__/comp/comp002/pass/search-service.component.js +21 -0
- package/dist/lint/rules/__fixtures__/comp/comp003/fail/migrator.component.js +8 -0
- package/dist/lint/rules/__fixtures__/comp/comp003/pass/agent-turn.component.js +24 -0
- package/dist/lint/rules/__fixtures__/comp/comp003/pass/migrator.component.js +17 -0
- package/dist/lint/rules/__fixtures__/comp/comp003/pass/orders-table.component.js +8 -0
- package/dist/lint/rules/__fixtures__/comp/comp004/fail/neo4j-cluster.component.js +18 -0
- package/dist/lint/rules/__fixtures__/comp/comp004/pass/neo4j-cluster.component.js +20 -0
- package/dist/lint/rules/__fixtures__/comp/comp004/pass/orders-table.component.js +8 -0
- package/dist/lint/rules/__fixtures__/comp/comp005/fail/search-service.component.js +12 -0
- package/dist/lint/rules/__fixtures__/comp/comp005/pass/search-service.component.js +16 -0
- package/dist/lint/rules/__fixtures__/comp/comp006/fail/legacy-tool.component.js +8 -0
- package/dist/lint/rules/__fixtures__/comp/comp006/pass/legacy-tool.component.js +12 -0
- package/dist/lint/rules/__fixtures__/comp/comp007/fail/inventory-table.component.js +11 -0
- package/dist/lint/rules/__fixtures__/comp/comp007/fail/orders-table.component.js +11 -0
- package/dist/lint/rules/__fixtures__/comp/comp007/pass/orders-table.component.js +10 -0
- package/dist/lint/rules/__fixtures__/comp/comp007/pass/search-service.component.js +16 -0
- package/dist/lint/rules/comp/comp001-publishes-never-applies.js +69 -0
- package/dist/lint/rules/comp/comp002-dangling-wiring-ref.js +84 -0
- package/dist/lint/rules/comp/comp003-mutating-no-rollback.js +103 -0
- package/dist/lint/rules/comp/comp004-gate-needs-durable-runtime.js +70 -0
- package/dist/lint/rules/comp/comp005-capability-kind-is-noun.js +109 -0
- package/dist/lint/rules/comp/comp006-shell-needs-reason.js +49 -0
- package/dist/lint/rules/comp/comp007-composition-sprawl.js +64 -0
- package/dist/lint/rules/comp/index.js +33 -0
- package/dist/lint/rules/comp/support.js +129 -0
- package/dist/lint/rules/composite-scope.js +51 -0
- package/dist/lint/rules/cor017-composite-name-match.js +93 -0
- package/dist/lint/rules/cor018-composite-prefer-lexicon-type.js +136 -0
- package/dist/lint/rules/cor021-env-literal-name.js +100 -0
- package/dist/lint/rules/cor022-receipt-leaf.js +118 -0
- package/dist/lint/rules/cor024-receipt-secret-pointer.js +199 -0
- package/dist/lint/rules/declarable-naming-convention.js +62 -0
- package/dist/lint/rules/evl001-non-literal-expression.js +66 -0
- package/dist/lint/rules/evl002-control-flow-resource.js +69 -0
- package/dist/lint/rules/evl003-dynamic-property-access.js +44 -0
- package/dist/lint/rules/evl004-spread-non-const.js +94 -0
- package/dist/lint/rules/evl005-resource-block-body.js +41 -0
- package/dist/lint/rules/evl007-invalid-siblings.js +105 -0
- package/dist/lint/rules/evl009-composite-no-constant.js +158 -0
- package/dist/lint/rules/evl010-composite-no-transform.js +59 -0
- package/dist/lint/rules/evl011-symbolic-in-template.js +106 -0
- package/dist/lint/rules/export-required.js +115 -0
- package/dist/lint/rules/file-declarable-limit.js +88 -0
- package/dist/lint/rules/flat-declarations.js +62 -0
- package/dist/lint/rules/index.js +90 -0
- package/dist/lint/rules/no-cyclic-declarable-ref.js +138 -0
- package/dist/lint/rules/no-redundant-type-import.js +76 -0
- package/dist/lint/rules/no-redundant-value-cast.js +41 -0
- package/dist/lint/rules/no-string-ref.js +59 -0
- package/dist/lint/rules/no-unused-declarable-import.js +75 -0
- package/dist/lint/rules/no-unused-declarable.js +142 -0
- package/dist/lint/rules/op/index.js +28 -0
- package/dist/lint/rules/op/ops012-activity-contract.js +54 -0
- package/dist/lint/rules/op/ops013-step-output-ref.js +88 -0
- package/dist/lint/rules/op/ops014-converge-rule-refusals.js +114 -0
- package/dist/lint/rules/op/ops015-gate-approval.js +45 -0
- package/dist/lint/rules/op/support.js +11 -0
- package/dist/lint/rules/op/sys010-key-over-plain-http.js +100 -0
- package/dist/lint/rules/property-kind.js +56 -0
- package/dist/lint/rules/single-concern-file.js +71 -0
- package/dist/lint/rules/sys001-no-literal-key.js +60 -0
- package/dist/lint/selectors.js +168 -0
- package/dist/lint/suppressions.js +129 -0
- package/dist/lint/typescript.js +17 -0
- package/dist/live-endpoint.js +113 -0
- package/dist/live-read-session.js +76 -0
- package/dist/lsp/lexicon-providers.js +163 -0
- package/dist/lsp/types.js +5 -0
- package/dist/managed-fields.js +293 -0
- package/dist/mcp/types.js +4 -0
- package/dist/notify-verify.js +0 -1
- package/dist/notify.js +0 -1
- package/dist/notify.schema.json +72 -0
- package/dist/observation.js +266 -0
- package/dist/okf-read.js +134 -0
- package/dist/okf.js +275 -0
- package/dist/op/__fixtures__/decide-stub-backend.js +125 -0
- package/dist/op/activities/activity-contracts.d.ts +1 -1
- package/dist/op/activities/activity-contracts.js +313 -0
- package/dist/op/activities/apply.js +582 -0
- package/dist/op/activities/build.js +18 -0
- package/dist/op/activities/change-coverage.js +40 -0
- package/dist/op/activities/change-set.d.ts +8 -3
- package/dist/op/activities/change-set.d.ts.map +1 -1
- package/dist/op/activities/change-set.js +67 -0
- package/dist/op/activities/converge.js +492 -0
- package/dist/op/activities/decide.js +211 -0
- package/dist/op/activities/env-teardown.js +110 -0
- package/dist/op/activities/factory.js +591 -0
- package/dist/op/activities/forge-pull-request.js +82 -0
- package/dist/op/activities/gh-host.js +78 -0
- package/dist/op/activities/guard-validate.js +165 -0
- package/dist/op/activities/http-check.js +40 -0
- package/dist/op/activities/index.js +59 -0
- package/dist/op/activities/lexicon-upgrade.js +629 -0
- package/dist/op/activities/lifecycle.js +109 -0
- package/dist/op/activities/pipeline-audit.js +147 -0
- package/dist/op/activities/policy.js +26 -0
- package/dist/op/activities/predict-behaviour.js +341 -0
- package/dist/op/activities/propose-upgrade.js +165 -0
- package/dist/op/activities/reconcile.d.ts +28 -16
- package/dist/op/activities/reconcile.d.ts.map +1 -1
- package/dist/op/activities/reconcile.js +1011 -0
- package/dist/op/activities/shell.js +118 -0
- package/dist/op/activities/source-release.js +97 -0
- package/dist/op/activities/source-rollback.js +165 -0
- package/dist/op/activities/teardown.js +17 -0
- package/dist/op/activities/util.js +6 -0
- package/dist/op/activities/wait.js +51 -0
- package/dist/op/activities/work-evidence.js +35 -0
- package/dist/op/activities/workflow-audit.js +133 -0
- package/dist/op/activity-contract-registry.js +106 -0
- package/dist/op/activity-contract.js +232 -0
- package/dist/op/activity-failure.js +31 -0
- package/dist/op/activity-profiles.js +129 -0
- package/dist/op/activity-registry.js +105 -0
- package/dist/op/activity-runtime.js +28 -0
- package/dist/op/builders.d.ts +1 -1
- package/dist/op/builders.d.ts.map +1 -1
- package/dist/op/builders.js +801 -0
- package/dist/op/change-signal.js +118 -0
- package/dist/op/composites/apply-op.js +151 -0
- package/dist/op/composites/behaviour-op.js +65 -0
- package/dist/op/composites/converge-op.js +141 -0
- package/dist/op/composites/index.js +19 -0
- package/dist/op/composites/lexicon-upgrade-op.js +107 -0
- package/dist/op/composites/pipeline-audit-op.js +50 -0
- package/dist/op/composites/reconcile-op.js +84 -0
- package/dist/op/composites/watch-op.js +69 -0
- package/dist/op/composites/workflow-audit-op.js +57 -0
- package/dist/op/converge-rule.js +205 -0
- package/dist/op/cron.js +146 -0
- package/dist/op/decide-backend.js +181 -0
- package/dist/op/decide-config.js +68 -0
- package/dist/op/decide-read-inputs.js +141 -0
- package/dist/op/discover.d.ts.map +1 -1
- package/dist/op/discover.js +213 -0
- package/dist/op/duration.js +21 -0
- package/dist/op/emulator-freshness.js +80 -0
- package/dist/op/emulator-lifecycle.js +269 -0
- package/dist/op/factory.js +83 -0
- package/dist/op/gate-approval.js +172 -0
- package/dist/op/gate-name.js +86 -0
- package/dist/op/gate-plan-context.js +167 -0
- package/dist/op/gate-point-run.js +67 -0
- package/dist/op/gate-point.js +111 -0
- package/dist/op/gate-resume-plan.js +155 -0
- package/dist/op/gate-resume.js +31 -0
- package/dist/op/gate-review.js +290 -0
- package/dist/op/gate-run-locator.js +85 -0
- package/dist/op/gate-summary.js +100 -0
- package/dist/op/gate-wait.js +56 -0
- package/dist/op/gate.js +449 -0
- package/dist/op/generate-pipeline.js +124 -0
- package/dist/op/index.js +51 -0
- package/dist/op/lifecycle-receipt-store.js +45 -0
- package/dist/op/local-executor.js +1164 -0
- package/dist/op/local-output.js +140 -0
- package/dist/op/op-ir.js +317 -0
- package/dist/op/op-verb-class.js +131 -0
- package/dist/op/op-waves-notify.js +136 -0
- package/dist/op/op-waves-run.d.ts +1 -1
- package/dist/op/op-waves-run.d.ts.map +1 -1
- package/dist/op/op-waves-run.js +1657 -0
- package/dist/op/op-waves.js +409 -0
- package/dist/op/operator.js +743 -0
- package/dist/op/receipt-store.js +94 -0
- package/dist/op/resource.js +23 -0
- package/dist/op/run-context.js +28 -0
- package/dist/op/run-live.js +256 -0
- package/dist/op/runtime.js +21 -0
- package/dist/op/runtimes/local.js +195 -0
- package/dist/op/source-archive.js +131 -0
- package/dist/op/step-output-ref.js +397 -0
- package/dist/op/steward-beside.js +169 -0
- package/dist/op/steward-points.js +138 -0
- package/dist/op/steward-turn.js +59 -0
- package/dist/op/steward.js +317 -0
- package/dist/op/types.js +25 -0
- package/dist/op/work-lease-decl.js +81 -0
- package/dist/op/work-lease-run.js +393 -0
- package/dist/override-gate.js +284 -0
- package/dist/owner-chain.js +74 -0
- package/dist/ownership.js +92 -0
- package/dist/params.js +61 -0
- package/dist/plan-summary.js +711 -0
- package/dist/point-decision.js +211 -0
- package/dist/pr-forge.js +810 -0
- package/dist/pr-loop.js +203 -0
- package/dist/project-codegen.js +191 -0
- package/dist/project-root.js +74 -0
- package/dist/project-validation.js +50 -0
- package/dist/provenance.js +157 -0
- package/dist/pseudo-parameter.js +40 -0
- package/dist/reconcile.js +450 -0
- package/dist/resource-attributes.js +33 -0
- package/dist/runtime-adapter.js +77 -0
- package/dist/runtime.js +66 -0
- package/dist/secret-materialization.js +153 -0
- package/dist/secret-provenance.js +250 -0
- package/dist/serializer-walker.js +112 -0
- package/dist/serializer.js +1 -0
- package/dist/sort.js +45 -0
- package/dist/stack-output.js +115 -0
- package/dist/telemetry-attribution.js +149 -0
- package/dist/terraform/__fixtures__/build-graph.js +63 -0
- package/dist/terraform/adopt-state.js +40 -0
- package/dist/terraform/aws-resources.js +384 -0
- package/dist/terraform/bridge.js +204 -0
- package/dist/terraform/carve-provider.js +155 -0
- package/dist/terraform/carve.js +138 -0
- package/dist/terraform/data-source-shape.js +57 -0
- package/dist/terraform/emit-source.js +36 -0
- package/dist/terraform/excise.js +123 -0
- package/dist/terraform/graduate.js +128 -0
- package/dist/terraform/graph.js +435 -0
- package/dist/terraform/hcl2json.js +60 -0
- package/dist/terraform/manifest.js +149 -0
- package/dist/terraform/parse.js +81 -0
- package/dist/terraform/providers/aws.js +146 -0
- package/dist/terraform/providers/gcp.js +294 -0
- package/dist/terraform/providers/index.js +17 -0
- package/dist/terraform/providers/kubernetes.js +253 -0
- package/dist/terraform/score.js +151 -0
- package/dist/terraform/state.js +67 -0
- package/dist/terraform/tier-map.js +74 -0
- package/dist/terraform/types.js +13 -0
- package/dist/terraform/unified-diff.js +132 -0
- package/dist/testing.js +295 -0
- package/dist/toml-emit.js +153 -0
- package/dist/toml-parse.js +355 -0
- package/dist/toml-utils.js +60 -0
- package/dist/toml.js +428 -0
- package/dist/ts-loader.d.ts +46 -0
- package/dist/ts-loader.d.ts.map +1 -0
- package/dist/ts-loader.js +103 -0
- package/dist/types.js +1 -0
- package/dist/utils.js +61 -0
- package/dist/validation.js +20 -0
- package/dist/vendor/js-yaml-load.js +1662 -0
- package/dist/workspace/__fixtures__/contract-repo.d.ts +7 -0
- package/dist/workspace/__fixtures__/contract-repo.d.ts.map +1 -1
- package/dist/workspace/__fixtures__/contract-repo.js +119 -0
- package/dist/workspace/__fixtures__/decide-workspace.js +112 -0
- package/dist/workspace/__fixtures__/sessions.d.ts +1 -1
- package/dist/workspace/__fixtures__/sessions.d.ts.map +1 -1
- package/dist/workspace/__fixtures__/sessions.js +91 -0
- package/dist/workspace/__fixtures__/two-member-workspace.js +34 -0
- package/dist/workspace/agent-cli.js +99 -0
- package/dist/workspace/agent.schema.json +390 -0
- package/dist/workspace/answers-ledger.js +89 -0
- package/dist/workspace/box-cli.js +142 -0
- package/dist/workspace/box-factory-write.js +196 -0
- package/dist/workspace/box-factory-write.schema.json +342 -0
- package/dist/workspace/box-factory.js +88 -0
- package/dist/workspace/box-intent.js +126 -0
- package/dist/workspace/box-isolation.js +169 -0
- package/dist/workspace/box-listing-write.schema.json +204 -0
- package/dist/workspace/box-listing.js +298 -0
- package/dist/workspace/box-publish.js +352 -0
- package/dist/workspace/box-publish.schema.json +498 -0
- package/dist/workspace/box-services.js +39 -0
- package/dist/workspace/broker-protocol.js +359 -0
- package/dist/workspace/broker-protocol.schema.json +228 -0
- package/dist/workspace/change-set.schema.json +462 -0
- package/dist/workspace/changes-cli.js +56 -0
- package/dist/workspace/changes.js +446 -0
- package/dist/workspace/changes.schema.json +642 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-fly-site.js +198 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-live-names.js +155 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-rollback.js +214 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-ship-inputs.js +180 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit-ship-policy.js +99 -0
- package/dist/workspace/chant-migrations/chud-lexicon-exit.js +847 -0
- package/dist/workspace/chant-migrations.js +113 -0
- package/dist/workspace/check.schema.json +433 -0
- package/dist/workspace/checks/box-isolation.js +62 -0
- package/dist/workspace/checks/boxes.js +491 -0
- package/dist/workspace/checks/diagrams.js +104 -0
- package/dist/workspace/checks/generated.js +419 -0
- package/dist/workspace/checks/ledgers.js +212 -0
- package/dist/workspace/checks/links.js +191 -0
- package/dist/workspace/checks/live.js +100 -0
- package/dist/workspace/checks/pipelines.js +188 -0
- package/dist/workspace/checks/records.js +169 -0
- package/dist/workspace/checks.js +426 -0
- package/dist/workspace/ci-green-cli.js +125 -0
- package/dist/workspace/ci-green-forge.js +83 -0
- package/dist/workspace/ci-green-workflow.d.ts +3 -1
- package/dist/workspace/ci-green-workflow.d.ts.map +1 -1
- package/dist/workspace/ci-green-workflow.js +202 -0
- package/dist/workspace/ci-green.js +325 -0
- package/dist/workspace/ci-last-green.schema.json +158 -0
- package/dist/workspace/class-data.d.ts +84 -0
- package/dist/workspace/class-data.d.ts.map +1 -0
- package/dist/workspace/class-data.js +238 -0
- package/dist/workspace/compose-graph.js +235 -0
- package/dist/workspace/compose-reports.js +146 -0
- package/dist/workspace/composites.js +264 -0
- package/dist/workspace/composites.schema.json +617 -0
- package/dist/workspace/conformance/__fixture__/app/package.json +7 -0
- package/dist/workspace/conformance/__fixture__/app/src/server.mjs +29 -0
- package/dist/workspace/conformance/__fixture__/decisions/decision.kind.mjs +54 -0
- package/dist/workspace/conformance/__fixture__/decisions/decision.schema.json +512 -0
- package/dist/workspace/conformance/__fixture__/decisions/fix-001-how-the-app-is-deployed.md +40 -0
- package/dist/workspace/conformance/__fixture__/delivery/chant.config.ts +7 -0
- package/dist/workspace/conformance/__fixture__/delivery/lexicon/index.ts +26 -0
- package/dist/workspace/conformance/__fixture__/delivery/package.json +7 -0
- package/dist/workspace/conformance/__fixture__/delivery/src/app.component.ts +14 -0
- package/dist/workspace/conformance/__fixture__/delivery/src/app.ts +4 -0
- package/dist/workspace/conformance/__fixtures__/reference-broker.js +205 -0
- package/dist/workspace/conformance/__writer_fixture__/answers/answer.kind.mjs +32 -0
- package/dist/workspace/conformance/__writer_fixture__/answers/answer.schema.json +135 -0
- package/dist/workspace/conformance/__writer_fixture__/contracts/contract.kind.mjs +37 -0
- package/dist/workspace/conformance/__writer_fixture__/contracts/contract.schema.json +213 -0
- package/dist/workspace/conformance/__writer_fixture__/decisions/points.json +228 -0
- package/dist/workspace/conformance/__writer_fixture__/drivers/driver.kind.mjs +15 -0
- package/dist/workspace/conformance/__writer_fixture__/drivers/driver.schema.json +38 -0
- package/dist/workspace/conformance/__writer_fixture__/sessions/session.kind.mjs +54 -0
- package/dist/workspace/conformance/__writer_fixture__/sessions/session.schema.json +289 -0
- package/dist/workspace/conformance/__writer_fixture__/work/W-001-the-writer-suite-works-this-item.md +25 -0
- package/dist/workspace/conformance/__writer_fixture__/work/work.kind.mjs +60 -0
- package/dist/workspace/conformance/__writer_fixture__/work/work.schema.json +603 -0
- package/dist/workspace/conformance/broker.js +736 -0
- package/dist/workspace/conformance/index.js +673 -0
- package/dist/workspace/conformance/vitest.js +108 -0
- package/dist/workspace/conformance/writer.js +1080 -0
- package/dist/workspace/decide.js +879 -0
- package/dist/workspace/decision-points.schema.json +135 -135
- package/dist/workspace/declaration-write-cli.js +74 -0
- package/dist/workspace/declaration-write.js +238 -0
- package/dist/workspace/declaration.js +938 -0
- package/dist/workspace/declaration.schema.json +1413 -1413
- package/dist/workspace/declared-kinds.js +106 -0
- package/dist/workspace/environments.js +164 -0
- package/dist/workspace/evidence.schema.json +279 -0
- package/dist/workspace/export-cli.js +185 -0
- package/dist/workspace/export.js +499 -0
- package/dist/workspace/factory-rules.js +175 -0
- package/dist/workspace/generated-files.js +92 -0
- package/dist/workspace/glob.js +45 -0
- package/dist/workspace/graph-cache.js +352 -0
- package/dist/workspace/graph-cli.js +348 -0
- package/dist/workspace/graph.schema.json +1338 -0
- package/dist/workspace/identity-gate-rule.js +75 -0
- package/dist/workspace/identity.js +126 -0
- package/dist/workspace/import.js +283 -0
- package/dist/workspace/init.js +620 -0
- package/dist/workspace/intent-cli.js +263 -0
- package/dist/workspace/intent-joins.js +201 -0
- package/dist/workspace/intent-record.js +352 -0
- package/dist/workspace/intent-record.schema.json +864 -0
- package/dist/workspace/intent.js +1582 -0
- package/dist/workspace/intent.schema.json +2420 -0
- package/dist/workspace/json-edit.js +221 -0
- package/dist/workspace/jsonc.js +235 -0
- package/dist/workspace/kind-readers.js +103 -0
- package/dist/workspace/kinds.d.ts +3 -7
- package/dist/workspace/kinds.d.ts.map +1 -1
- package/dist/workspace/kinds.js +553 -0
- package/dist/workspace/lexicon-symbols.js +112 -0
- package/dist/workspace/lineage-adopt-cli.js +102 -0
- package/dist/workspace/lineage-adopt.js +360 -0
- package/dist/workspace/lineage-check.js +282 -0
- package/dist/workspace/lineage-cli.js +121 -0
- package/dist/workspace/lineage-hash-index.js +284 -0
- package/dist/workspace/lineage-init.js +507 -0
- package/dist/workspace/lineage-lock.js +387 -0
- package/dist/workspace/lineage-merge.js +45 -0
- package/dist/workspace/lineage-migrations.d.ts.map +1 -1
- package/dist/workspace/lineage-migrations.js +329 -0
- package/dist/workspace/lineage-provenance.js +36 -0
- package/dist/workspace/lineage-update.js +138 -0
- package/dist/workspace/lineage-upgrade-cli.js +131 -0
- package/dist/workspace/lineage-upgrade.js +889 -0
- package/dist/workspace/lineage-vendor.js +171 -0
- package/dist/workspace/lineage-version.js +128 -0
- package/dist/workspace/lineage-versions.js +275 -0
- package/dist/workspace/links.js +330 -0
- package/dist/workspace/ls-generated.js +95 -0
- package/dist/workspace/ls.js +277 -0
- package/dist/workspace/ls.schema.json +333 -0
- package/dist/workspace/member-commands.js +508 -0
- package/dist/workspace/member-handles.js +216 -0
- package/dist/workspace/member-pipeline.js +258 -0
- package/dist/workspace/member-run.js +117 -0
- package/dist/workspace/member-write.schema.json +193 -0
- package/dist/workspace/nested-graph.js +156 -0
- package/dist/workspace/nesting.js +38 -0
- package/dist/workspace/patch.js +301 -0
- package/dist/workspace/patch.schema.json +321 -0
- package/dist/workspace/pin-cli.js +55 -0
- package/dist/workspace/pin-integrity.js +100 -0
- package/dist/workspace/plan-summary.schema.json +155 -0
- package/dist/workspace/point-answer.schema.json +129 -129
- package/dist/workspace/points-cli.js +291 -0
- package/dist/workspace/points-write.schema.json +660 -0
- package/dist/workspace/points.js +521 -0
- package/dist/workspace/points.schema.json +916 -0
- package/dist/workspace/pr-report.schema.json +108 -0
- package/dist/workspace/principal-classes.d.ts +4 -11
- package/dist/workspace/principal-classes.d.ts.map +1 -1
- package/dist/workspace/principal-classes.js +162 -0
- package/dist/workspace/reason-codes.js +326 -0
- package/dist/workspace/record-assets.js +151 -0
- package/dist/workspace/record-decided.js +105 -0
- package/dist/workspace/record-sessions.js +96 -0
- package/dist/workspace/record-source.js +114 -0
- package/dist/workspace/records-amend.schema.json +284 -0
- package/dist/workspace/records-checkout.js +76 -0
- package/dist/workspace/records-cli.js +707 -0
- package/dist/workspace/records-close.js +116 -0
- package/dist/workspace/records-close.schema.json +278 -0
- package/dist/workspace/records-new.schema.json +202 -0
- package/dist/workspace/records-review.schema.json +367 -0
- package/dist/workspace/records-since.js +317 -0
- package/dist/workspace/records-since.schema.json +218 -0
- package/dist/workspace/records-write.js +1229 -0
- package/dist/workspace/records.js +1345 -0
- package/dist/workspace/records.schema.json +604 -0
- package/dist/workspace/reference-kinds/app/package.json +10 -0
- package/dist/workspace/reference-kinds/app/workspace-kinds.json +45 -0
- package/dist/workspace/returns.js +303 -0
- package/dist/workspace/root-refusal.js +75 -0
- package/dist/workspace/run-statement.schema.json +622 -0
- package/dist/workspace/runs-cli.js +584 -0
- package/dist/workspace/runs-write.schema.json +994 -0
- package/dist/workspace/runs.js +708 -0
- package/dist/workspace/runs.schema.json +1257 -0
- package/dist/workspace/runtimes.js +76 -0
- package/dist/workspace/session-kinds.js +83 -0
- package/dist/workspace/signers.schema.json +206 -0
- package/dist/workspace/source-block.js +125 -0
- package/dist/workspace/squash.js +177 -0
- package/dist/workspace/status-gates.js +162 -0
- package/dist/workspace/status-stewards.js +330 -0
- package/dist/workspace/status.js +514 -0
- package/dist/workspace/status.schema.json +998 -0
- package/dist/workspace/steward-index.js +191 -0
- package/dist/workspace/symbols.js +188 -0
- package/dist/workspace/template-manifest.js +227 -0
- package/dist/workspace/template-pins.js +115 -0
- package/dist/workspace/trailer-joins.js +65 -0
- package/dist/workspace/trailers.js +111 -0
- package/dist/workspace/tree.js +136 -0
- package/dist/workspace/trust/attestor.js +63 -0
- package/dist/workspace/trust/dsse.js +108 -0
- package/dist/workspace/trust/evidence-cli.js +175 -0
- package/dist/workspace/trust/evidence.js +161 -0
- package/dist/workspace/trust/gate-seal.js +226 -0
- package/dist/workspace/trust/policy.js +190 -0
- package/dist/workspace/trust/provenance.js +180 -0
- package/dist/workspace/trust/rotation.js +298 -0
- package/dist/workspace/trust/run-commits.js +101 -0
- package/dist/workspace/trust/run-statement.js +182 -0
- package/dist/workspace/trust/seal.js +272 -0
- package/dist/workspace/trust/signers-cli.js +152 -0
- package/dist/workspace/trust/ssh-commit.js +178 -0
- package/dist/workspace/trust/test-repo.js +118 -0
- package/dist/workspace/trust/trust-files.js +193 -0
- package/dist/workspace/trust/verify-cli.js +63 -0
- package/dist/workspace/trust/verify.js +192 -0
- package/dist/workspace/which-chant.js +141 -0
- package/dist/workspace/wip-cli.js +95 -0
- package/dist/workspace/wip-write.schema.json +504 -0
- package/dist/workspace/wip.js +631 -0
- package/dist/workspace/wip.schema.json +334 -0
- package/dist/workspace/work-cli.js +448 -0
- package/dist/workspace/work-evidence.js +122 -0
- package/dist/workspace/work-evidence.schema.json +222 -0
- package/dist/workspace/work-history.schema.json +421 -0
- package/dist/workspace/work-lease.schema.json +246 -0
- package/dist/workspace/work-size.js +77 -0
- package/dist/workspace/work.js +283 -0
- package/dist/workspace/workspace-kinds.schema.json +259 -259
- package/dist/workspace/workspace-principals.schema.json +53 -53
- package/dist/workspace/write-lock-cli.js +105 -0
- package/dist/workspace/write-lock.js +424 -0
- package/dist/workspace/write-lock.schema.json +172 -0
- package/dist/workspace/write-scope.js +484 -0
- package/dist/yaml.js +459 -0
- package/package.json +2 -2
- package/src/build.ts +8 -0
- package/src/change-set.test.ts +48 -0
- package/src/change-set.ts +52 -2
- package/src/ci-jobs.test.ts +49 -0
- package/src/ci-jobs.ts +515 -0
- package/src/cli/commands/check-lexicon-plugin.ts +2 -0
- package/src/cli/commands/lint.ts +3 -0
- package/src/cli/commands/migrate.ts +2 -0
- package/src/cli/compiled-cli.e2e.test.ts +165 -0
- package/src/cli/main.ts +121 -27
- package/src/cli/mcp/workspace-tools.ts +1 -1
- package/src/codegen/pinned-upgrade.ts +2 -0
- package/src/components/discover.ts +2 -0
- package/src/components/pr-pipeline.ts +3 -2
- package/src/components/sandbox/driver.ts +3 -1
- package/src/composite.ts +15 -3
- package/src/config-import.ts +3 -0
- package/src/discovery/collect.ts +15 -1
- package/src/discovery/fold-build-parity.test.ts +71 -0
- package/src/discovery/fold-import.ts +25 -127
- package/src/discovery/fold-project-provenance.test.ts +21 -4
- package/src/discovery/host-composite.ts +101 -0
- package/src/discovery/import.ts +2 -0
- package/src/discovery/index.ts +11 -1
- package/src/discovery/sandbox/driver.ts +3 -1
- package/src/gate-decision-bundle.test.ts +5 -4
- package/src/gate-decision-identity.test.ts +59 -6
- package/src/gate-decision.ts +81 -21
- package/src/lexicon-module.ts +3 -0
- package/src/lifecycle/gate-audit.test.ts +55 -1
- package/src/lifecycle/gate-audit.ts +116 -3
- package/src/lifecycle/gate-ledger.test.ts +20 -1
- package/src/lifecycle/gate-ledger.ts +33 -1
- package/src/lint/config.ts +1 -1
- package/src/lint/discover.ts +28 -8
- package/src/lint/policy-import.ts +4 -1
- package/src/lint/rule-loader.ts +2 -0
- package/src/op/activities/activity-contracts.ts +1 -1
- package/src/op/activities/change-set.ts +11 -3
- package/src/op/activities/lexicon-upgrade.test.ts +2 -0
- package/src/op/activities/reconcile.test.ts +62 -2
- package/src/op/activities/reconcile.ts +46 -22
- package/src/op/builders.ts +1 -1
- package/src/op/discover.ts +3 -0
- package/src/op/op-waves-run.ts +4 -3
- package/src/op/op-waves.test.ts +2 -0
- package/src/op/work-lease-run.test.ts +12 -4
- package/src/ts-loader.test.ts +23 -0
- package/src/ts-loader.ts +122 -0
- package/src/workspace/__fixtures__/contract-repo.ts +17 -1
- package/src/workspace/__fixtures__/sessions.ts +3 -3
- package/src/workspace/change-set.schema.json +5 -3
- package/src/workspace/chant-migrations/chud-lexicon-exit.ts +1 -1
- package/src/workspace/ci-green-workflow.test.ts +4 -4
- package/src/workspace/ci-green-workflow.ts +5 -2
- package/src/workspace/class-data.test.ts +64 -0
- package/src/workspace/class-data.ts +236 -0
- package/src/workspace/declaration.ts +1 -1
- package/src/workspace/kinds.ts +7 -36
- package/src/workspace/lineage-migrations.ts +2 -0
- package/src/workspace/points.ts +1 -1
- package/src/workspace/principal-classes.ts +12 -95
- package/src/workspace/records-formats.test.ts +7 -2
- package/src/workspace/records-sessions-write.test.ts +3 -3
- package/src/workspace/status-contract.e2e.test.ts +37 -0
- package/src/workspace/status-contract.test.ts +23 -21
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* chant #1045 (Phase 1) — the JSON wire format for a discovered, named,
|
|
3
|
+
* ref-resolved entity set. Split out of `./entity-wire.ts` in Phase 2 so this
|
|
4
|
+
* codec (`encodeEntitySet`/`decodeEntitySet`, no dependency on `discover()`
|
|
5
|
+
* or anything that pulls in the `typescript` compiler package) can be
|
|
6
|
+
* bundled ALONE into the sandboxed child's driver (`./sandbox/driver.ts`)
|
|
7
|
+
* without dragging in `discover()`'s whole fold/import graph — `entity-
|
|
8
|
+
* wire.ts` re-exports everything here unchanged, so nothing outside this
|
|
9
|
+
* pair of files needs to know about the split.
|
|
10
|
+
*
|
|
11
|
+
* `discover()` (./index.ts) produces a `Map<string, Declarable>` whose cross-
|
|
12
|
+
* entity references are live object identity: an `AttrRef.parent` is a
|
|
13
|
+
* `WeakRef<object>`, and a resource can embed ANOTHER resource directly as a
|
|
14
|
+
* prop value (e.g. `DependsOn: [otherResource]`) — the lexicon serializers
|
|
15
|
+
* detect this by looking the embedded object up (by identity) in a
|
|
16
|
+
* `Map<Declarable, string>` built from the very same entities map
|
|
17
|
+
* (`serializer-walker.ts`'s `resourceRef` dispatch; see also
|
|
18
|
+
* `resource-attributes.ts`'s `resolveDependsOn`). Neither a `WeakRef` nor bare
|
|
19
|
+
* object identity survives a process boundary.
|
|
20
|
+
*
|
|
21
|
+
* {@link encodeEntitySet} converts that live map into plain, JSON-safe data:
|
|
22
|
+
* every identity-based reference (an `AttrRef`, or a whole entity embedded by
|
|
23
|
+
* value) becomes a name-keyed marker instead. {@link decodeEntitySet} is the
|
|
24
|
+
* inverse — it rebuilds a live `Map<string, Declarable>` whose entities are
|
|
25
|
+
* BEHAVIORALLY indistinguishable from what `discover()` would have produced
|
|
26
|
+
* in-process: real `AttrRef` instances, not a duck-typed `{__attrRef}`
|
|
27
|
+
* envelope alone. `new AttrRef(...)` here is plain, direct construction from
|
|
28
|
+
* this module's own class — this codec runs inside the same module graph as
|
|
29
|
+
* every downstream reader (`intrinsic-interpolation.ts`'s
|
|
30
|
+
* `defaultInterpolationSerializer`, `discovery/graph.ts`'s
|
|
31
|
+
* `buildDependencyGraph`, `build.ts`'s `detectCrossLexiconRefs`/
|
|
32
|
+
* `computeStackGraph`, all converted to `isAttrRefLike` duck-typing by chant
|
|
33
|
+
* #1137 for the OTHER hazard, a separately-loaded lexicon copy) — so there is
|
|
34
|
+
* no dual-package boundary to duck-type across here, and building the real
|
|
35
|
+
* class is simply less code than hand-assembling a shape-alike stand-in with
|
|
36
|
+
* matching methods, and whole-entity embeds restored to the SAME object
|
|
37
|
+
* reference (not a structurally-equal clone), so `entityNames.get(decl)`
|
|
38
|
+
* keeps working by identity exactly as it does today.
|
|
39
|
+
*
|
|
40
|
+
* `serializer-walker.ts`'s `walkValue` needs NO changes for this: it already
|
|
41
|
+
* falls back to reading a plain `{__attrRef}` envelope (added for intrinsics
|
|
42
|
+
* whose own `toJSON()` embeds one). `decodeEntitySet` goes further and
|
|
43
|
+
* reconstructs the real class, both simpler here and a belt-and-suspenders
|
|
44
|
+
* match for any call site that still checks `instanceof AttrRef` directly.
|
|
45
|
+
*
|
|
46
|
+
* Naming happens exactly once, inside the boundary — `resolveAttrRefs`
|
|
47
|
+
* (./resolve.ts) runs as part of `discover()`, before `encodeEntitySet` is
|
|
48
|
+
* ever called (in-process), or inside the sandboxed child, over just the
|
|
49
|
+
* run-fallback subset (chant #1045 Phase 2, `./sandbox/run.ts`). This module
|
|
50
|
+
* does not re-derive names; it only carries already-resolved ones across.
|
|
51
|
+
*
|
|
52
|
+
* Scope (see the chant#1045 PR description for the full list): resource and
|
|
53
|
+
* property `Declarable`s, `StackOutput` (itself a marked `Declarable`), and
|
|
54
|
+
* `LexiconOutput` (not a `Declarable` — it is carried as its own wire form)
|
|
55
|
+
* all round-trip. A `ChildProjectInstance` (`nestedStack()`) does not — its
|
|
56
|
+
* `outputs` field is a lazy `Proxy`, not data — and {@link encodeEntitySet}
|
|
57
|
+
* throws rather than silently mis-encoding it. No corpus entry under
|
|
58
|
+
* `examples/` or any lexicon's `examples/` directory uses `nestedStack()`
|
|
59
|
+
* today.
|
|
60
|
+
*/
|
|
61
|
+
import { DECLARABLE_MARKER, isResourceDeclarable } from "../declarable.js";
|
|
62
|
+
import { AttrRef } from "../attrref.js";
|
|
63
|
+
import { INTRINSIC_MARKER } from "../intrinsic.js";
|
|
64
|
+
import { isAttrRefLike } from "../utils.js";
|
|
65
|
+
import { isLexiconOutput, LexiconOutput } from "../lexicon-output.js";
|
|
66
|
+
import { isChildProject } from "../child-project.js";
|
|
67
|
+
const CORE_FIELD_NAMES = new Set(["lexicon", "entityType", "kind", "props", "attributes"]);
|
|
68
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
69
|
+
// Encode: live entities map → JSON-safe wire data.
|
|
70
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
71
|
+
/**
|
|
72
|
+
* Read a `LexiconOutput`'s internal ref without re-deriving it — see the
|
|
73
|
+
* `_intrinsic`/`_sourceParent`/`_literalValue` fields in `../lexicon-output.ts`.
|
|
74
|
+
* When it was built from an `AttrRef`, `LexiconOutput` keeps only the parent
|
|
75
|
+
* `WeakRef` + attribute name (not the original `AttrRef` instance), so a
|
|
76
|
+
* fresh one is synthesized here — its logical name must be set explicitly
|
|
77
|
+
* (from `entityNames`, the same map every other reference in this module
|
|
78
|
+
* resolves names through) since it never went through `resolveAttrRefs`.
|
|
79
|
+
*
|
|
80
|
+
* chant #1121 — a literal-valued output (a real string/number/boolean the
|
|
81
|
+
* author's code already computed, not a reference) has neither a parent nor
|
|
82
|
+
* an intrinsic to hand back; its `_literalValue` round-trips as a plain wire
|
|
83
|
+
* primitive instead, and `LexiconOutput`'s own constructor reconstructs it
|
|
84
|
+
* identically on decode (see `decodeEntitySet` below).
|
|
85
|
+
*/
|
|
86
|
+
function lexiconOutputRef(output, entityNames) {
|
|
87
|
+
if (output._intrinsic)
|
|
88
|
+
return output._intrinsic;
|
|
89
|
+
if (output._literalValue !== null)
|
|
90
|
+
return output._literalValue;
|
|
91
|
+
const parent = output._sourceParent?.deref();
|
|
92
|
+
const parentName = parent ? entityNames.get(parent) : undefined;
|
|
93
|
+
if (!parent || output.sourceAttribute === null || !parentName) {
|
|
94
|
+
throw new Error(`encodeEntitySet: LexiconOutput "${output.outputName}" has neither a resolvable AttrRef parent nor an intrinsic`);
|
|
95
|
+
}
|
|
96
|
+
const ref = new AttrRef(parent, output.sourceAttribute);
|
|
97
|
+
ref._setLogicalName(parentName);
|
|
98
|
+
return ref;
|
|
99
|
+
}
|
|
100
|
+
/** Walk `root`'s OWN fields (not through `toJSON()`) collecting any `AttrRef`/tracked-entity reference found — see {@link WireValue}'s `__intrinsic.refs` doc. */
|
|
101
|
+
function collectEmbeddedRefs(root, entityNames) {
|
|
102
|
+
const refs = [];
|
|
103
|
+
const seen = new Set();
|
|
104
|
+
function walk(value) {
|
|
105
|
+
if (value === null || value === undefined || typeof value !== "object")
|
|
106
|
+
return;
|
|
107
|
+
if (seen.has(value))
|
|
108
|
+
return;
|
|
109
|
+
seen.add(value);
|
|
110
|
+
if (isAttrRefLike(value)) {
|
|
111
|
+
const entity = value.getLogicalName();
|
|
112
|
+
if (entity)
|
|
113
|
+
refs.push({ __attrRef: { entity, attribute: value.attribute } });
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
if ("entityType" in value) {
|
|
117
|
+
const name = entityNames.get(value);
|
|
118
|
+
if (name) {
|
|
119
|
+
refs.push({ __entityRef: { entity: name } });
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
if (Array.isArray(value)) {
|
|
124
|
+
for (const item of value)
|
|
125
|
+
walk(item);
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
for (const val of Object.values(value))
|
|
129
|
+
walk(val);
|
|
130
|
+
}
|
|
131
|
+
walk(root);
|
|
132
|
+
return refs;
|
|
133
|
+
}
|
|
134
|
+
/** Encode one value found in an entity's props/attributes/extra-field tree — mirrors `serializer-walker.ts`'s `walkValue` dispatch, targeting the wire format instead of a lexicon format. */
|
|
135
|
+
function encodeValue(value, entityNames) {
|
|
136
|
+
if (value === null || value === undefined)
|
|
137
|
+
return null;
|
|
138
|
+
if (isAttrRefLike(value)) {
|
|
139
|
+
const entity = value.getLogicalName();
|
|
140
|
+
if (!entity) {
|
|
141
|
+
throw new Error(`encodeEntitySet: AttrRef for attribute "${value.attribute}" has no logical name — was resolveAttrRefs run before encoding?`);
|
|
142
|
+
}
|
|
143
|
+
return { __attrRef: { entity, attribute: value.attribute } };
|
|
144
|
+
}
|
|
145
|
+
if (typeof value === "object" && INTRINSIC_MARKER in value) {
|
|
146
|
+
const intrinsic = value;
|
|
147
|
+
const toJSONResult = typeof intrinsic.toJSON === "function" ? intrinsic.toJSON() : null;
|
|
148
|
+
const wire = {
|
|
149
|
+
value: encodeValue(toJSONResult, entityNames),
|
|
150
|
+
refs: collectEmbeddedRefs(value, entityNames),
|
|
151
|
+
};
|
|
152
|
+
if (typeof intrinsic.toYAML === "function") {
|
|
153
|
+
wire.yaml = encodeValue(intrinsic.toYAML(), entityNames);
|
|
154
|
+
}
|
|
155
|
+
return { __intrinsic: wire };
|
|
156
|
+
}
|
|
157
|
+
if (typeof value === "object" && "entityType" in value) {
|
|
158
|
+
const decl = value;
|
|
159
|
+
const name = entityNames.get(decl);
|
|
160
|
+
if (name) {
|
|
161
|
+
// A tracked, top-level entity referenced by identity (e.g. `DependsOn:
|
|
162
|
+
// [otherResource]`).
|
|
163
|
+
return { __entityRef: { entity: name } };
|
|
164
|
+
}
|
|
165
|
+
// Untracked — either genuinely property-kind (never independently named
|
|
166
|
+
// to begin with), or a resource-kind Declarable embedded as a bare
|
|
167
|
+
// nested VALUE that never became its own top-level entity (e.g. Helm's
|
|
168
|
+
// `Helm::Test`/`Helm::Hook` wrap a `new Pod({...})` as their `resource`
|
|
169
|
+
// field, and a Helm chart's own k8s resources — `new Container(...)`,
|
|
170
|
+
// `new PersistentVolumeClaim(...)` inside a `StatefulSet`'s props — are
|
|
171
|
+
// likewise embedded values, never independent entities). Neither case
|
|
172
|
+
// has (or can have) a resolvable logical name: no lexicon serializer's
|
|
173
|
+
// generic dispatch (`serializer-walker.ts`'s `walkValue`) is what reads
|
|
174
|
+
// such a value in practice — every one that touches it reaches straight
|
|
175
|
+
// into its `.props` (see `Helm::Test`'s handling in
|
|
176
|
+
// `lexicons/helm/src/serializer.ts`, which extracts `resource.props`
|
|
177
|
+
// directly rather than walking `resource` as a Declarable reference).
|
|
178
|
+
// Inline exactly that, discarding the unresolvable (and, in every corpus
|
|
179
|
+
// entry today, unread) identity layer.
|
|
180
|
+
const props = isResourceDeclarable(decl) ? decl.props : undefined;
|
|
181
|
+
return { __property: { lexicon: decl.lexicon, entityType: decl.entityType, props: props !== undefined ? encodeValue(props, entityNames) : undefined } };
|
|
182
|
+
}
|
|
183
|
+
if (Array.isArray(value)) {
|
|
184
|
+
return value.map((item) => (item === undefined ? null : encodeValue(item, entityNames)));
|
|
185
|
+
}
|
|
186
|
+
if (typeof value === "object") {
|
|
187
|
+
const result = {};
|
|
188
|
+
for (const [key, val] of Object.entries(value)) {
|
|
189
|
+
if (val === undefined)
|
|
190
|
+
continue;
|
|
191
|
+
result[key] = encodeValue(val, entityNames);
|
|
192
|
+
}
|
|
193
|
+
return result;
|
|
194
|
+
}
|
|
195
|
+
return value;
|
|
196
|
+
}
|
|
197
|
+
function encodeDeclarable(entity, entityNames) {
|
|
198
|
+
const wire = { lexicon: entity.lexicon, entityType: entity.entityType, markers: [] };
|
|
199
|
+
if (entity.kind !== undefined)
|
|
200
|
+
wire.kind = entity.kind;
|
|
201
|
+
if (isResourceDeclarable(entity)) {
|
|
202
|
+
if (entity.props !== undefined) {
|
|
203
|
+
wire.props = encodeValue(entity.props, entityNames);
|
|
204
|
+
}
|
|
205
|
+
if (entity.attributes !== undefined) {
|
|
206
|
+
wire.attributes = encodeValue(entity.attributes, entityNames);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
const markers = [];
|
|
210
|
+
for (const sym of Object.getOwnPropertySymbols(entity)) {
|
|
211
|
+
if (sym.description && entity[sym] === true) {
|
|
212
|
+
markers.push(sym.description);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
wire.markers = markers;
|
|
216
|
+
const extra = {};
|
|
217
|
+
for (const key of Object.keys(entity)) {
|
|
218
|
+
if (CORE_FIELD_NAMES.has(key))
|
|
219
|
+
continue;
|
|
220
|
+
const val = entity[key];
|
|
221
|
+
if (val === undefined)
|
|
222
|
+
continue;
|
|
223
|
+
extra[key] = encodeValue(val, entityNames);
|
|
224
|
+
}
|
|
225
|
+
if (Object.keys(extra).length > 0)
|
|
226
|
+
wire.extra = extra;
|
|
227
|
+
return wire;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Encode a discovered, named, ref-resolved entities map into pure JSON.
|
|
231
|
+
*
|
|
232
|
+
* @throws if any entity is a `ChildProjectInstance` (`nestedStack()`) — its
|
|
233
|
+
* `outputs` field is a lazy `Proxy`, not representable as data. No corpus
|
|
234
|
+
* entry uses it today (chant#1045 Phase 1).
|
|
235
|
+
*/
|
|
236
|
+
export function encodeEntitySet(entities) {
|
|
237
|
+
const entityNames = new Map();
|
|
238
|
+
for (const [name, entity] of entities)
|
|
239
|
+
entityNames.set(entity, name);
|
|
240
|
+
const wireEntities = [];
|
|
241
|
+
for (const [name, entity] of entities) {
|
|
242
|
+
if (isChildProject(entity)) {
|
|
243
|
+
throw new Error(`encodeEntitySet: entity "${name}" is a child project (nestedStack()) — not yet supported by the JSON entity boundary (chant#1045 Phase 1)`);
|
|
244
|
+
}
|
|
245
|
+
if (isLexiconOutput(entity)) {
|
|
246
|
+
const ref = lexiconOutputRef(entity, entityNames);
|
|
247
|
+
wireEntities.push({ form: "lexiconOutput", name, outputName: entity.outputName, ref: encodeValue(ref, entityNames) });
|
|
248
|
+
continue;
|
|
249
|
+
}
|
|
250
|
+
wireEntities.push({ form: "declarable", name, ...encodeDeclarable(entity, entityNames) });
|
|
251
|
+
}
|
|
252
|
+
return { entities: wireEntities };
|
|
253
|
+
}
|
|
254
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
255
|
+
// Decode: JSON-safe wire data → live entities map.
|
|
256
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
257
|
+
/**
|
|
258
|
+
* Decode one wire value, resolving `__attrRef`/`__entityRef`/`__property`/
|
|
259
|
+
* `__intrinsic` markers against `registry` (name → already-reconstructed live
|
|
260
|
+
* object).
|
|
261
|
+
*
|
|
262
|
+
* Reads via an explicit cast (`asRecord`) rather than relying on TS's `in`-
|
|
263
|
+
* narrowing across the {@link WireValue} union: the union's catch-all plain-
|
|
264
|
+
* object member (`{ [key: string]: WireValue }`) structurally overlaps every
|
|
265
|
+
* marker shape too (an index signature accepts any key), so narrowing alone
|
|
266
|
+
* can't tell TS which shape's fields are actually present at runtime.
|
|
267
|
+
*/
|
|
268
|
+
function decodeValue(wire, registry) {
|
|
269
|
+
if (wire === null || typeof wire !== "object")
|
|
270
|
+
return wire;
|
|
271
|
+
if (Array.isArray(wire)) {
|
|
272
|
+
return wire.map((item) => decodeValue(item, registry));
|
|
273
|
+
}
|
|
274
|
+
const asRecord = wire;
|
|
275
|
+
if ("__attrRef" in asRecord) {
|
|
276
|
+
const { entity, attribute } = asRecord.__attrRef;
|
|
277
|
+
const parent = registry.get(entity);
|
|
278
|
+
if (!parent)
|
|
279
|
+
throw new Error(`decodeEntitySet: __attrRef refers to unknown entity "${entity}"`);
|
|
280
|
+
const ref = new AttrRef(parent, attribute);
|
|
281
|
+
ref._setLogicalName(entity);
|
|
282
|
+
return ref;
|
|
283
|
+
}
|
|
284
|
+
if ("__entityRef" in asRecord) {
|
|
285
|
+
const { entity } = asRecord.__entityRef;
|
|
286
|
+
const target = registry.get(entity);
|
|
287
|
+
if (!target)
|
|
288
|
+
throw new Error(`decodeEntitySet: __entityRef refers to unknown entity "${entity}"`);
|
|
289
|
+
return target;
|
|
290
|
+
}
|
|
291
|
+
if ("__property" in asRecord) {
|
|
292
|
+
const { lexicon, entityType, props } = asRecord.__property;
|
|
293
|
+
const obj = {};
|
|
294
|
+
Object.defineProperty(obj, DECLARABLE_MARKER, { value: true, enumerable: false });
|
|
295
|
+
Object.defineProperty(obj, "lexicon", { value: lexicon, enumerable: false, configurable: true });
|
|
296
|
+
Object.defineProperty(obj, "entityType", { value: entityType, enumerable: false, configurable: true });
|
|
297
|
+
Object.defineProperty(obj, "kind", { value: "property", enumerable: false, configurable: true });
|
|
298
|
+
if (props !== undefined) {
|
|
299
|
+
Object.defineProperty(obj, "props", { value: decodeValue(props, registry), enumerable: false, configurable: true });
|
|
300
|
+
}
|
|
301
|
+
return obj;
|
|
302
|
+
}
|
|
303
|
+
if ("__intrinsic" in asRecord) {
|
|
304
|
+
const intrinsicWire = asRecord.__intrinsic;
|
|
305
|
+
const decodedValue = decodeValue(intrinsicWire.value, registry);
|
|
306
|
+
const decodedRefs = intrinsicWire.refs.map((ref) => decodeValue(ref, registry));
|
|
307
|
+
const wrapper = {
|
|
308
|
+
[INTRINSIC_MARKER]: true,
|
|
309
|
+
__chantWireRefs: decodedRefs,
|
|
310
|
+
toJSON() {
|
|
311
|
+
return decodedValue;
|
|
312
|
+
},
|
|
313
|
+
};
|
|
314
|
+
// Only present when the original intrinsic ALSO implemented `toYAML()`
|
|
315
|
+
// (see {@link WireValue}'s doc) — gitlab/github's serializers duck-type
|
|
316
|
+
// this method, so it must exist on the reconstructed wrapper only when
|
|
317
|
+
// it existed on the original, not unconditionally.
|
|
318
|
+
if ("yaml" in intrinsicWire) {
|
|
319
|
+
const decodedYaml = decodeValue(intrinsicWire.yaml, registry);
|
|
320
|
+
wrapper.toYAML = () => decodedYaml;
|
|
321
|
+
}
|
|
322
|
+
return wrapper;
|
|
323
|
+
}
|
|
324
|
+
const result = {};
|
|
325
|
+
for (const [key, val] of Object.entries(asRecord)) {
|
|
326
|
+
result[key] = decodeValue(val, registry);
|
|
327
|
+
}
|
|
328
|
+
return result;
|
|
329
|
+
}
|
|
330
|
+
function decodeDeclarableShell(wire) {
|
|
331
|
+
const obj = {};
|
|
332
|
+
for (const marker of wire.markers) {
|
|
333
|
+
Object.defineProperty(obj, Symbol.for(marker), { value: true, enumerable: false, configurable: true });
|
|
334
|
+
}
|
|
335
|
+
// DECLARABLE_MARKER is always one of `wire.markers` (every Declarable carries
|
|
336
|
+
// it), but define it defensively in case an entity somehow didn't round-trip
|
|
337
|
+
// it, so a decoded entity always satisfies `isDeclarable()`.
|
|
338
|
+
if (!(DECLARABLE_MARKER in obj)) {
|
|
339
|
+
Object.defineProperty(obj, DECLARABLE_MARKER, { value: true, enumerable: false });
|
|
340
|
+
}
|
|
341
|
+
Object.defineProperty(obj, "lexicon", { value: wire.lexicon, enumerable: false, configurable: true });
|
|
342
|
+
Object.defineProperty(obj, "entityType", { value: wire.entityType, enumerable: false, configurable: true });
|
|
343
|
+
if (wire.kind !== undefined) {
|
|
344
|
+
Object.defineProperty(obj, "kind", { value: wire.kind, enumerable: false, configurable: true });
|
|
345
|
+
}
|
|
346
|
+
return obj;
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Decode a JSON entity set (see {@link encodeEntitySet}) back into a live
|
|
350
|
+
* `Map<string, Declarable>`, functionally indistinguishable from what
|
|
351
|
+
* `discover()` would have produced in-process.
|
|
352
|
+
*/
|
|
353
|
+
export function decodeEntitySet(wire) {
|
|
354
|
+
const registry = new Map();
|
|
355
|
+
// Pass 1: create every declarable's shell up front, so pass 2 can resolve a
|
|
356
|
+
// forward (or circular, e.g. mutual DependsOn) reference to any entity by
|
|
357
|
+
// name regardless of declaration order — exactly like the live WeakRef graph
|
|
358
|
+
// discover() produces tolerates today.
|
|
359
|
+
for (const entry of wire.entities) {
|
|
360
|
+
if (entry.form === "declarable") {
|
|
361
|
+
registry.set(entry.name, decodeDeclarableShell(entry));
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
const result = new Map();
|
|
365
|
+
for (const entry of wire.entities) {
|
|
366
|
+
if (entry.form === "declarable") {
|
|
367
|
+
const obj = registry.get(entry.name);
|
|
368
|
+
if (entry.props !== undefined) {
|
|
369
|
+
Object.defineProperty(obj, "props", { value: decodeValue(entry.props, registry), enumerable: false, configurable: true });
|
|
370
|
+
}
|
|
371
|
+
if (entry.attributes !== undefined) {
|
|
372
|
+
Object.defineProperty(obj, "attributes", { value: decodeValue(entry.attributes, registry), enumerable: false, configurable: true });
|
|
373
|
+
}
|
|
374
|
+
for (const [key, val] of Object.entries(entry.extra ?? {})) {
|
|
375
|
+
obj[key] = decodeValue(val, registry);
|
|
376
|
+
}
|
|
377
|
+
result.set(entry.name, obj);
|
|
378
|
+
continue;
|
|
379
|
+
}
|
|
380
|
+
// LexiconOutput — constructed via its real constructor from the decoded
|
|
381
|
+
// ref, so it derives sourceLexicon/_sourceParent/sourceAttribute/
|
|
382
|
+
// _literalValue exactly the way constructing it from a live
|
|
383
|
+
// AttrRef/Intrinsic/literal would (chant #1121 for the literal case: a
|
|
384
|
+
// plain wire primitive decodes back to itself, see `decodeValue` above).
|
|
385
|
+
const ref = decodeValue(entry.ref, registry);
|
|
386
|
+
const output = new LexiconOutput(ref, entry.outputName);
|
|
387
|
+
registry.set(entry.name, output);
|
|
388
|
+
result.set(entry.name, output);
|
|
389
|
+
}
|
|
390
|
+
return result;
|
|
391
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* chant #1045 (Phase 1) — the JSON wire format for a discovered, named,
|
|
3
|
+
* ref-resolved entity set, plus (below) the standalone `discover()` +
|
|
4
|
+
* encode entry point.
|
|
5
|
+
*
|
|
6
|
+
* The codec itself — {@link WireValue}, {@link EntitySetWire},
|
|
7
|
+
* {@link encodeEntitySet}, {@link decodeEntitySet}, and friends — lives in
|
|
8
|
+
* `./entity-wire-codec.ts` (chant #1045 Phase 2 split this out) and is
|
|
9
|
+
* re-exported here unchanged. That file has NO dependency on `discover()` (or
|
|
10
|
+
* anything that pulls in the `typescript` compiler package), which matters
|
|
11
|
+
* because chant #1045 Phase 2's sandboxed child bundles JUST the codec —
|
|
12
|
+
* bundling this file, `discoverEntitySetJson` and all, would drag `discover`
|
|
13
|
+
* → `fold-import` → `typescript` (a multi-megabyte CJS package that doesn't
|
|
14
|
+
* survive ESM bundling on its own) into a driver that only ever needs to
|
|
15
|
+
* encode, never to discover. See `./sandbox/driver.ts`.
|
|
16
|
+
*/
|
|
17
|
+
export { encodeEntitySet, decodeEntitySet } from "./entity-wire-codec.js";
|
|
18
|
+
import { discover } from "./index.js";
|
|
19
|
+
import { encodeEntitySet } from "./entity-wire-codec.js";
|
|
20
|
+
/**
|
|
21
|
+
* Run discovery over `path` — scanning files, importing/folding modules,
|
|
22
|
+
* naming entities, and resolving `AttrRef`s (all unchanged, reusing
|
|
23
|
+
* `discover()` as-is) — and return the result as pure JSON via
|
|
24
|
+
* {@link encodeEntitySet}. This is the boundary chant#1045 Phase 2 moved into
|
|
25
|
+
* a sandboxed child process for the run-fallback subset — see
|
|
26
|
+
* `./sandbox/run.ts` — Phase 1 only proved the data can cross it losslessly
|
|
27
|
+
* (see the fold-vs-JSON differential in `examples/`).
|
|
28
|
+
*
|
|
29
|
+
* Reuses `discover()` unchanged, so the fold/run-fallback split and the
|
|
30
|
+
* `planFoldTaint` identity-taint invariant (`./fold-import.ts`) are exactly
|
|
31
|
+
* what they are today — this function only serializes whatever `discover()`
|
|
32
|
+
* already decided to produce.
|
|
33
|
+
*/
|
|
34
|
+
export async function discoverEntitySetJson(path, options) {
|
|
35
|
+
const result = await discover(path, options);
|
|
36
|
+
return {
|
|
37
|
+
entitySet: encodeEntitySet(result.entities),
|
|
38
|
+
sourceFiles: result.sourceFiles,
|
|
39
|
+
errors: result.errors.map((e) => e.toJSON()),
|
|
40
|
+
foldDecisions: result.foldDecisions,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { open } from "node:fs/promises";
|
|
2
|
+
import { relative, sep, isAbsolute } from "node:path";
|
|
3
|
+
// @ts-ignore — picomatch has no types declaration
|
|
4
|
+
import picomatch from "picomatch";
|
|
5
|
+
import { resolveDiscoveryGlobs } from "../config.js";
|
|
6
|
+
import { readHead, walkDiscovery, workspaceMemberDirs } from "./walk.js";
|
|
7
|
+
/**
|
|
8
|
+
* Marker chant writes at the top of files it generates (a hosting lexicon's
|
|
9
|
+
* worker/bootstrap output, and the like). Discovery must not treat these as
|
|
10
|
+
* authored infra source: they hold no Declarables, they self-execute on import,
|
|
11
|
+
* and they use runtime patterns the authored-source lint
|
|
12
|
+
* rules forbid (dynamic `process.env[...]` access, spreads). Skipping them keeps
|
|
13
|
+
* `chant lint`/`build` from importing or linting the tool's own output.
|
|
14
|
+
*/
|
|
15
|
+
export const GENERATED_MARKER = "Generated by chant — do not edit directly";
|
|
16
|
+
/**
|
|
17
|
+
* Comment a hand-written file carries to keep discovery out of it (#2519): a
|
|
18
|
+
* runnable script with top-level side effects, say, that lives next to the
|
|
19
|
+
* project's declarations. It must be a comment of its own (`// chant-discovery-skip`
|
|
20
|
+
* or inside a block comment) within the first {@link SKIP_MARKER_HEAD_BYTES}
|
|
21
|
+
* bytes of the file. See {@link hasSkipMarker}.
|
|
22
|
+
*/
|
|
23
|
+
export const SKIP_MARKER = "chant-discovery-skip";
|
|
24
|
+
/** How much of a file's head {@link hasSkipMarker} reads: room for a shebang and a license header. */
|
|
25
|
+
const SKIP_MARKER_HEAD_BYTES = 1024;
|
|
26
|
+
/** {@link SKIP_MARKER} opening a `//`, `/*` or ` * ` comment line, as a whole word. */
|
|
27
|
+
const SKIP_MARKER_PATTERN = /^[ \t]*(?:\/\/|\/\*+|\*)[ \t]*chant-discovery-skip(?![\w-])/m;
|
|
28
|
+
/** True when `head`, the start of a file, carries the {@link SKIP_MARKER} comment. */
|
|
29
|
+
export function hasSkipMarker(head) {
|
|
30
|
+
return SKIP_MARKER_PATTERN.test(head.slice(0, SKIP_MARKER_HEAD_BYTES));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Whether a file's head carries the {@link GENERATED_MARKER} or the
|
|
34
|
+
* {@link SKIP_MARKER}. Reads only the head. The generated marker is looked for
|
|
35
|
+
* in the first 256 bytes, as it always was.
|
|
36
|
+
*/
|
|
37
|
+
export async function hasDiscoveryMarker(file) {
|
|
38
|
+
let fh;
|
|
39
|
+
try {
|
|
40
|
+
fh = await open(file, "r");
|
|
41
|
+
const { buffer, bytesRead } = await fh.read({ buffer: Buffer.alloc(SKIP_MARKER_HEAD_BYTES), position: 0 });
|
|
42
|
+
if (buffer.toString("utf8", 0, Math.min(bytesRead, 256)).includes(GENERATED_MARKER))
|
|
43
|
+
return true;
|
|
44
|
+
return hasSkipMarker(buffer.toString("utf8", 0, bytesRead));
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
finally {
|
|
50
|
+
await fh?.close();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/** Whether a file's head carries the {@link GENERATED_MARKER} or the {@link SKIP_MARKER}. The synchronous form of {@link hasDiscoveryMarker}. */
|
|
54
|
+
export function hasDiscoveryMarkerSync(file) {
|
|
55
|
+
const head = readHead(file, SKIP_MARKER_HEAD_BYTES);
|
|
56
|
+
return head.slice(0, 256).includes(GENERATED_MARKER) || hasSkipMarker(head);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Compile a project's `exclude`/`include` globs (#2519) into a predicate that
|
|
60
|
+
* is true for a file discovery must skip, or `undefined` when there is nothing
|
|
61
|
+
* to skip.
|
|
62
|
+
*
|
|
63
|
+
* Each pattern is matched, with picomatch and dot files included, against the
|
|
64
|
+
* file's path relative to `globs.root` (forward slashes) and against the path
|
|
65
|
+
* of every directory above it, so a pattern naming a directory covers
|
|
66
|
+
* everything under it. A file is skipped when some `exclude` pattern matches
|
|
67
|
+
* and no `include` pattern does: `include` always wins. Files outside
|
|
68
|
+
* `globs.root` are never skipped. The discovery walk (`./walk.ts`) applies the
|
|
69
|
+
* same rule, and also lets `include` re-admit what its default rules skip.
|
|
70
|
+
*/
|
|
71
|
+
export function compileDiscoveryFilter(globs) {
|
|
72
|
+
if (!globs || globs.exclude.length === 0)
|
|
73
|
+
return undefined;
|
|
74
|
+
const excluded = picomatch(globs.exclude, { dot: true });
|
|
75
|
+
const included = globs.include.length > 0 ? picomatch(globs.include, { dot: true }) : () => false;
|
|
76
|
+
return (file) => {
|
|
77
|
+
const rel = relative(globs.root, file);
|
|
78
|
+
if (rel === "" || rel === ".." || rel.startsWith(`..${sep}`) || isAbsolute(rel))
|
|
79
|
+
return false;
|
|
80
|
+
const parts = rel.split(sep);
|
|
81
|
+
const candidates = parts.map((_, i) => parts.slice(0, i + 1).join("/"));
|
|
82
|
+
return candidates.some((c) => excluded(c)) && !candidates.some((c) => included(c));
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/** A TypeScript source file by name: `.ts`, not a test or spec. */
|
|
86
|
+
export function isSourceFileName(name) {
|
|
87
|
+
return name.endsWith(".ts") && !name.endsWith(".test.ts") && !name.endsWith(".spec.ts");
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Find every TypeScript infrastructure file under `path`, through the one
|
|
91
|
+
* discovery walk (`./walk.ts`, #2527): test and spec files, chant-generated
|
|
92
|
+
* files, skip-marked files and whatever the walk's rules and the project's
|
|
93
|
+
* globs skip are left out.
|
|
94
|
+
*/
|
|
95
|
+
export async function findInfraFiles(path, options) {
|
|
96
|
+
const globs = options?.globs === null ? undefined : (options?.globs ?? (await resolveDiscoveryGlobs(path)));
|
|
97
|
+
return walkDiscovery({
|
|
98
|
+
walker: "source",
|
|
99
|
+
root: path,
|
|
100
|
+
globs,
|
|
101
|
+
excludeDirs: await workspaceMemberDirs(path),
|
|
102
|
+
accept: (name, full) => isSourceFileName(name) && !hasDiscoveryMarkerSync(full),
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Find the files under `path` that `accept` wants, through the same walk and
|
|
107
|
+
* the same project globs as {@link findInfraFiles}: a lexicon that reads
|
|
108
|
+
* source of its own beside the TypeScript (the sql lexicon's `.sql` files)
|
|
109
|
+
* sees exactly the tree source discovery sees, so `dist`, git-ignored paths,
|
|
110
|
+
* child projects and the project's `exclude` globs are left out for it too.
|
|
111
|
+
*/
|
|
112
|
+
export async function findSourceFiles(path, accept, options) {
|
|
113
|
+
const globs = options?.globs === null ? undefined : (options?.globs ?? (await resolveDiscoveryGlobs(path)));
|
|
114
|
+
return walkDiscovery({
|
|
115
|
+
walker: "source",
|
|
116
|
+
root: path,
|
|
117
|
+
globs,
|
|
118
|
+
excludeDirs: await workspaceMemberDirs(path),
|
|
119
|
+
accept,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fold-import.d.ts","sourceRoot":"","sources":["../../src/discovery/fold-import.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAMjC,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAkC,KAAK,iBAAiB,EAAyB,MAAM,cAAc,CAAC;AAqD7G,OAAO,EAA4B,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"fold-import.d.ts","sourceRoot":"","sources":["../../src/discovery/fold-import.ts"],"names":[],"mappings":"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"}
|