@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,292 @@
|
|
|
1
|
+
import { relative } from "node:path";
|
|
2
|
+
import { buildProjectImportEdges } from "./fold-import.js";
|
|
3
|
+
/**
|
|
4
|
+
* chant #1083 — rank fold blockers by dominator retained-count over the
|
|
5
|
+
* import graph discovery already builds.
|
|
6
|
+
*
|
|
7
|
+
* ## Why dominators, not a flat "files downstream of X" count
|
|
8
|
+
*
|
|
9
|
+
* The import graph is a DAG (occasionally cyclic, when project source
|
|
10
|
+
* itself has an import cycle), not a tree: a file can be reachable through
|
|
11
|
+
* several paths, so naively summing "files that import X, transitively"
|
|
12
|
+
* double-counts every diamond and the totals stop meaning anything. The
|
|
13
|
+
* fix is the same one heap snapshot tools use for object retained sizes
|
|
14
|
+
* (Cooper–Harvey–Kennedy immediate dominators, prior art: spicypath's
|
|
15
|
+
* `src/heap-dominators.js`, cited on chant #1083): file `d` dominates file
|
|
16
|
+
* `n` when every causal path to `n`'s failure passes through `d`. A file's
|
|
17
|
+
* retained count is then the size of its dominator subtree — the number of
|
|
18
|
+
* files that would fold if `d` folded — and every node lands in exactly one
|
|
19
|
+
* dominator subtree, so retained counts are conserved: they sum to the
|
|
20
|
+
* total across the tree's top-level blockers, with nothing counted twice
|
|
21
|
+
* through a diamond, and a file with two INDEPENDENT blockers (no common
|
|
22
|
+
* ancestor besides the synthetic root) inflates neither.
|
|
23
|
+
*
|
|
24
|
+
* ## One direction only
|
|
25
|
+
*
|
|
26
|
+
* This models FORWARD contagion only: file `n` fails to fold because one of
|
|
27
|
+
* its own imports, `d`, also fails — an unresolved cross-file reference.
|
|
28
|
+
* The edge direction for dominance purposes is therefore `d -> n` (the
|
|
29
|
+
* blocker points at what it blocks), which is the REVERSE of the literal
|
|
30
|
+
* import edge `n -> d` (n imports d).
|
|
31
|
+
*
|
|
32
|
+
* Fold has a second, opposite-direction rule (chant #1044, implemented in
|
|
33
|
+
* {@link import("./fold-import.js").planFoldTaint}): a file that WOULD fold
|
|
34
|
+
* fine in isolation is forced back to run anyway because some file that
|
|
35
|
+
* imports it (directly or transitively) itself runs — folding it
|
|
36
|
+
* independently would create a second, non-identical instance. That is
|
|
37
|
+
* contagion from importER to importEE, the opposite of the direction this
|
|
38
|
+
* tree models, and a dominator tree over import edges cannot express it: a
|
|
39
|
+
* fix to the "blocker" here wouldn't actually unblock the reverse-tainted
|
|
40
|
+
* file (it was never broken on its own terms), so crediting it would
|
|
41
|
+
* overstate the fix's blast radius. Every file discovery marked
|
|
42
|
+
* {@link FoldDecision.reverseTainted} is therefore excluded from the tree
|
|
43
|
+
* entirely and reported in {@link FoldRankResult.reverseTainted} instead —
|
|
44
|
+
* see chant #1083's re-scope comment.
|
|
45
|
+
*/
|
|
46
|
+
/** Sentinel "file path" for the synthetic dominator-tree root. Never a real file — file paths never contain NUL. */
|
|
47
|
+
const ROOT = "\0chant-fold-rank-root\0";
|
|
48
|
+
/**
|
|
49
|
+
* Compute immediate dominators for `nodes` over `edges` (blocker -> blocked,
|
|
50
|
+
* i.e. flowing in the CAUSAL direction, not the import direction), rooted at
|
|
51
|
+
* a synthetic {@link ROOT}. Handles a cyclic/irreducible graph correctly —
|
|
52
|
+
* Cooper–Harvey–Kennedy's iterative algorithm converges on any graph, not
|
|
53
|
+
* just reducible ones (this is exactly why it's the right tool here: an
|
|
54
|
+
* import graph can have cycles).
|
|
55
|
+
*
|
|
56
|
+
* `rootChildren` must already guarantee every node in `nodes` is reachable
|
|
57
|
+
* from {@link ROOT} via `rootChildren` + `edges` — see `rankFoldBlockers`'s
|
|
58
|
+
* two-phase root-selection below.
|
|
59
|
+
*/
|
|
60
|
+
function computeImmediateDominators(nodes, edges, rootChildren) {
|
|
61
|
+
const succ = (n) => (n === ROOT ? rootChildren : edges.get(n) ?? new Set());
|
|
62
|
+
// Predecessors, including the synthetic ROOT edge into every root child.
|
|
63
|
+
const preds = new Map();
|
|
64
|
+
for (const n of nodes)
|
|
65
|
+
preds.set(n, new Set());
|
|
66
|
+
for (const [from, targets] of edges) {
|
|
67
|
+
for (const to of targets) {
|
|
68
|
+
if (!preds.has(to))
|
|
69
|
+
preds.set(to, new Set());
|
|
70
|
+
preds.get(to).add(from);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
for (const rc of rootChildren)
|
|
74
|
+
preds.get(rc)?.add(ROOT);
|
|
75
|
+
// Reverse-postorder numbering via one DFS from ROOT — every node in
|
|
76
|
+
// `nodes` must be reached (guaranteed by the caller's root selection).
|
|
77
|
+
const postorderNumber = new Map();
|
|
78
|
+
const visited = new Set([ROOT]);
|
|
79
|
+
let counter = 0;
|
|
80
|
+
const visitStack = [
|
|
81
|
+
{ node: ROOT, iter: succ(ROOT).values() },
|
|
82
|
+
];
|
|
83
|
+
while (visitStack.length > 0) {
|
|
84
|
+
const top = visitStack[visitStack.length - 1];
|
|
85
|
+
const next = top.iter.next();
|
|
86
|
+
if (next.done) {
|
|
87
|
+
postorderNumber.set(top.node, counter++);
|
|
88
|
+
visitStack.pop();
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
const child = next.value;
|
|
92
|
+
if (!visited.has(child)) {
|
|
93
|
+
visited.add(child);
|
|
94
|
+
visitStack.push({ node: child, iter: succ(child).values() });
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
const rpo = [...nodes, ROOT].filter((n) => postorderNumber.has(n));
|
|
98
|
+
rpo.sort((a, b) => postorderNumber.get(b) - postorderNumber.get(a)); // reverse postorder: highest number first
|
|
99
|
+
const idom = new Map();
|
|
100
|
+
idom.set(ROOT, ROOT);
|
|
101
|
+
const intersect = (a, b) => {
|
|
102
|
+
let finger1 = a;
|
|
103
|
+
let finger2 = b;
|
|
104
|
+
while (finger1 !== finger2) {
|
|
105
|
+
while (postorderNumber.get(finger1) < postorderNumber.get(finger2))
|
|
106
|
+
finger1 = idom.get(finger1);
|
|
107
|
+
while (postorderNumber.get(finger2) < postorderNumber.get(finger1))
|
|
108
|
+
finger2 = idom.get(finger2);
|
|
109
|
+
}
|
|
110
|
+
return finger1;
|
|
111
|
+
};
|
|
112
|
+
let changed = true;
|
|
113
|
+
while (changed) {
|
|
114
|
+
changed = false;
|
|
115
|
+
for (const node of rpo) {
|
|
116
|
+
if (node === ROOT)
|
|
117
|
+
continue;
|
|
118
|
+
let newIdom;
|
|
119
|
+
for (const p of preds.get(node) ?? []) {
|
|
120
|
+
if (!idom.has(p))
|
|
121
|
+
continue; // not yet processed this pass
|
|
122
|
+
newIdom = newIdom === undefined ? p : intersect(newIdom, p);
|
|
123
|
+
}
|
|
124
|
+
if (newIdom !== undefined && idom.get(node) !== newIdom) {
|
|
125
|
+
idom.set(node, newIdom);
|
|
126
|
+
changed = true;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
idom.delete(ROOT);
|
|
131
|
+
return idom;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Rank fold blockers by dominator retained-count over the (forward-only)
|
|
135
|
+
* import graph among this build's `"run"`-mode files. See this module's doc
|
|
136
|
+
* for the model. `decisions` is expected to be a `--fold` build's complete
|
|
137
|
+
* {@link FoldDecision}[] — every discovered file, fold or run.
|
|
138
|
+
*/
|
|
139
|
+
export async function rankFoldBlockers(decisions) {
|
|
140
|
+
const allFiles = decisions.map((d) => d.file);
|
|
141
|
+
const reverseTainted = decisions
|
|
142
|
+
.filter((d) => d.mode === "run" && d.reverseTainted === true)
|
|
143
|
+
.map((d) => ({ file: d.file, reason: d.reason }))
|
|
144
|
+
.sort((a, b) => a.file.localeCompare(b.file));
|
|
145
|
+
const nodeDecisions = decisions.filter((d) => d.mode === "run" && d.reverseTainted !== true);
|
|
146
|
+
const reasonByFile = new Map(nodeDecisions.map((d) => [d.file, d.reason]));
|
|
147
|
+
const nodes = nodeDecisions.map((d) => d.file).sort((a, b) => a.localeCompare(b));
|
|
148
|
+
const nodeSet = new Set(nodes);
|
|
149
|
+
// file -> the OTHER discovered files it imports (real import direction).
|
|
150
|
+
const importEdges = await buildProjectImportEdges(allFiles);
|
|
151
|
+
// Cause graph, blocker -> blocked: importee -> importer, restricted to
|
|
152
|
+
// both endpoints being forward-tree nodes (a fold-mode or reverse-tainted
|
|
153
|
+
// file is neither a blocker nor blocked in this tree).
|
|
154
|
+
const causeEdges = new Map();
|
|
155
|
+
for (const n of nodes)
|
|
156
|
+
causeEdges.set(n, new Set());
|
|
157
|
+
for (const [importer, targets] of importEdges) {
|
|
158
|
+
if (!nodeSet.has(importer))
|
|
159
|
+
continue;
|
|
160
|
+
for (const target of targets) {
|
|
161
|
+
if (!nodeSet.has(target))
|
|
162
|
+
continue;
|
|
163
|
+
causeEdges.get(target).add(importer);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
// Predecessor count, to find true root causes (a blocked file that is
|
|
167
|
+
// itself never blocked by another tree node).
|
|
168
|
+
const predCount = new Map();
|
|
169
|
+
for (const n of nodes)
|
|
170
|
+
predCount.set(n, 0);
|
|
171
|
+
for (const targets of causeEdges.values()) {
|
|
172
|
+
for (const t of targets)
|
|
173
|
+
predCount.set(t, (predCount.get(t) ?? 0) + 1);
|
|
174
|
+
}
|
|
175
|
+
// Two-phase root selection, so every node is reachable from ROOT even
|
|
176
|
+
// across an import cycle with no external entry point (chant #1083's doc
|
|
177
|
+
// cites spicypath's dominators working over a graph that is "cyclic and
|
|
178
|
+
// irreducible" as the precedent this needs to match).
|
|
179
|
+
const rootChildren = new Set();
|
|
180
|
+
const reached = new Set();
|
|
181
|
+
const expandFrom = (start) => {
|
|
182
|
+
if (reached.has(start))
|
|
183
|
+
return;
|
|
184
|
+
const stack = [start];
|
|
185
|
+
reached.add(start);
|
|
186
|
+
while (stack.length > 0) {
|
|
187
|
+
const cur = stack.pop();
|
|
188
|
+
for (const next of causeEdges.get(cur) ?? []) {
|
|
189
|
+
if (!reached.has(next)) {
|
|
190
|
+
reached.add(next);
|
|
191
|
+
stack.push(next);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
for (const n of nodes) {
|
|
197
|
+
if (predCount.get(n) === 0) {
|
|
198
|
+
rootChildren.add(n);
|
|
199
|
+
expandFrom(n);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
for (const n of nodes) {
|
|
203
|
+
if (!reached.has(n)) {
|
|
204
|
+
rootChildren.add(n);
|
|
205
|
+
expandFrom(n);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
const idom = computeImmediateDominators(nodes, causeEdges, rootChildren);
|
|
209
|
+
// Dominator-tree children, to compute retained (subtree size) bottom-up.
|
|
210
|
+
const domChildren = new Map();
|
|
211
|
+
for (const n of nodes)
|
|
212
|
+
domChildren.set(n, []);
|
|
213
|
+
for (const [n, parent] of idom) {
|
|
214
|
+
if (parent !== ROOT)
|
|
215
|
+
domChildren.get(parent).push(n);
|
|
216
|
+
}
|
|
217
|
+
const retained = new Map();
|
|
218
|
+
const computeRetained = (n) => {
|
|
219
|
+
const cached = retained.get(n);
|
|
220
|
+
if (cached !== undefined)
|
|
221
|
+
return cached;
|
|
222
|
+
let size = 1;
|
|
223
|
+
for (const child of domChildren.get(n) ?? [])
|
|
224
|
+
size += computeRetained(child);
|
|
225
|
+
retained.set(n, size);
|
|
226
|
+
return size;
|
|
227
|
+
};
|
|
228
|
+
for (const n of nodes)
|
|
229
|
+
computeRetained(n);
|
|
230
|
+
const blockers = nodes.map((file) => {
|
|
231
|
+
const parent = idom.get(file);
|
|
232
|
+
const topLevel = parent === undefined || parent === ROOT;
|
|
233
|
+
return {
|
|
234
|
+
file,
|
|
235
|
+
reason: reasonByFile.get(file),
|
|
236
|
+
retained: retained.get(file),
|
|
237
|
+
topLevel,
|
|
238
|
+
dominatedBy: topLevel ? undefined : parent,
|
|
239
|
+
};
|
|
240
|
+
});
|
|
241
|
+
blockers.sort((a, b) => b.retained - a.retained || a.file.localeCompare(b.file));
|
|
242
|
+
return { blockers, reverseTainted, totalBlocked: nodes.length };
|
|
243
|
+
}
|
|
244
|
+
/** `file -> dominatedBy` lookup built from a {@link FoldRankResult}, for reconstructing a blocker's dominator-chain (used by {@link toCollapsedFormat}). */
|
|
245
|
+
function dominatorChain(result, file) {
|
|
246
|
+
const dominatedByFile = new Map(result.blockers.map((b) => [b.file, b.dominatedBy]));
|
|
247
|
+
const chain = [file];
|
|
248
|
+
let current = file;
|
|
249
|
+
const guard = new Set([file]);
|
|
250
|
+
for (;;) {
|
|
251
|
+
const parent = dominatedByFile.get(current);
|
|
252
|
+
if (parent === undefined)
|
|
253
|
+
break;
|
|
254
|
+
if (guard.has(parent))
|
|
255
|
+
break; // defensive: never trust a cycle in the tree itself
|
|
256
|
+
chain.push(parent);
|
|
257
|
+
guard.add(parent);
|
|
258
|
+
current = parent;
|
|
259
|
+
}
|
|
260
|
+
return chain.reverse(); // top-level ancestor first, `file` last
|
|
261
|
+
}
|
|
262
|
+
/** A collapsed-format frame may not contain `;` (the frame separator) or a newline; sanitize rather than silently mis-render. */
|
|
263
|
+
function sanitizeFrame(label) {
|
|
264
|
+
return label.replace(/[\n\r]/g, " ").replace(/;/g, ",");
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Export the dominator tree in Brendan Gregg collapsed stack format
|
|
268
|
+
* (`frame;frame;...;frame count`), weighted by retained count, so it opens
|
|
269
|
+
* in any flame or icicle graph viewer with no chant-specific tooling (the
|
|
270
|
+
* seam is the file format, per chant #1083's original scope).
|
|
271
|
+
*
|
|
272
|
+
* One line per blocker, `count` always `1`: each file's stack is the chain
|
|
273
|
+
* of dominators from the top-level blocker down to itself. Folding
|
|
274
|
+
* identical prefixes — what every collapsed-format consumer does — then
|
|
275
|
+
* reproduces each blocker's retained count as that prefix's total weight,
|
|
276
|
+
* with nothing double-counted through a diamond. `rootLabel` is a single
|
|
277
|
+
* synthetic top frame (default `"fold"`) so every top-level blocker renders
|
|
278
|
+
* under one shared root instead of the viewer showing several disconnected
|
|
279
|
+
* trees; pass `relativeTo` (typically the build's infra path) to shorten
|
|
280
|
+
* frame labels to project-relative paths.
|
|
281
|
+
*/
|
|
282
|
+
export function toCollapsedFormat(result, options) {
|
|
283
|
+
const rootLabel = options?.rootLabel ?? "fold";
|
|
284
|
+
const toLabel = (file) => sanitizeFrame(options?.relativeTo ? relative(options.relativeTo, file) || file : file);
|
|
285
|
+
return result.blockers
|
|
286
|
+
.slice()
|
|
287
|
+
.sort((a, b) => a.file.localeCompare(b.file))
|
|
288
|
+
.map((blocker) => {
|
|
289
|
+
const chain = dominatorChain(result, blocker.file).map(toLabel);
|
|
290
|
+
return `${sanitizeFrame(rootLabel)};${chain.join(";")} 1`;
|
|
291
|
+
});
|
|
292
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { isDeclarable } from "../declarable.js";
|
|
2
|
+
import { isAttrRefLike } from "../utils.js";
|
|
3
|
+
/**
|
|
4
|
+
* Builds a dependency graph from a collection of entities
|
|
5
|
+
* @param entities - Map of export name to Declarable entity
|
|
6
|
+
* @returns Map of entity name to set of entity names it depends on
|
|
7
|
+
*/
|
|
8
|
+
export function buildDependencyGraph(entities) {
|
|
9
|
+
const graph = new Map();
|
|
10
|
+
// Initialize graph with all entity names
|
|
11
|
+
for (const name of entities.keys()) {
|
|
12
|
+
graph.set(name, new Set());
|
|
13
|
+
}
|
|
14
|
+
// Build reverse lookup: entity -> name
|
|
15
|
+
const entityToName = new Map();
|
|
16
|
+
for (const [name, entity] of entities.entries()) {
|
|
17
|
+
entityToName.set(entity, name);
|
|
18
|
+
}
|
|
19
|
+
// Find dependencies for each entity
|
|
20
|
+
for (const [name, entity] of entities.entries()) {
|
|
21
|
+
const dependencies = graph.get(name);
|
|
22
|
+
const visited = new Set();
|
|
23
|
+
// Scan the root entity's properties
|
|
24
|
+
scanProperties(entity, entities, entityToName, dependencies, visited, entity);
|
|
25
|
+
}
|
|
26
|
+
return graph;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Scans properties of an object for dependencies
|
|
30
|
+
*/
|
|
31
|
+
function scanProperties(obj, entities, entityToName, dependencies, visited, rootEntity) {
|
|
32
|
+
// Mark this object as visited (but not if it's a Declarable, we'll handle that in findDependencies)
|
|
33
|
+
if (!isDeclarable(obj) && !visited.has(obj)) {
|
|
34
|
+
visited.add(obj);
|
|
35
|
+
}
|
|
36
|
+
// Recurse into arrays
|
|
37
|
+
if (Array.isArray(obj)) {
|
|
38
|
+
for (const item of obj) {
|
|
39
|
+
findDependencies(item, entities, entityToName, dependencies, visited, rootEntity);
|
|
40
|
+
}
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
// Recurse into object properties
|
|
44
|
+
for (const prop in obj) {
|
|
45
|
+
if (Object.prototype.hasOwnProperty.call(obj, prop)) {
|
|
46
|
+
const propValue = obj[prop];
|
|
47
|
+
findDependencies(propValue, entities, entityToName, dependencies, visited, rootEntity);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Recursively finds all dependencies in a value
|
|
53
|
+
*/
|
|
54
|
+
function findDependencies(value, entities, entityToName, dependencies, visited, rootEntity) {
|
|
55
|
+
// Avoid infinite recursion on circular references
|
|
56
|
+
if (value === null || value === undefined) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
// For primitives, nothing to do
|
|
60
|
+
if (typeof value !== "object") {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
// Check if this is an AttrRef. Duck-type, not `instanceof` (chant #1137):
|
|
64
|
+
// a lexicon built against a separate copy of `@intentius/chant` produces
|
|
65
|
+
// AttrRefs that fail `instanceof AttrRef` here but carry the same shape.
|
|
66
|
+
// Without this, the dependency edge is silently dropped instead of
|
|
67
|
+
// recorded, which can misorder — or fail to detect a cycle in — the
|
|
68
|
+
// file-discovery build order this graph exists to compute.
|
|
69
|
+
if (isAttrRefLike(value)) {
|
|
70
|
+
if (visited.has(value)) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
visited.add(value);
|
|
74
|
+
const parent = value.parent.deref();
|
|
75
|
+
if (parent && isDeclarable(parent) && parent !== rootEntity) {
|
|
76
|
+
const parentName = entityToName.get(parent);
|
|
77
|
+
if (parentName) {
|
|
78
|
+
dependencies.add(parentName);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
// Check if this is a Declarable entity reference
|
|
84
|
+
if (isDeclarable(value)) {
|
|
85
|
+
// If this is the root entity itself, skip it but don't mark as visited
|
|
86
|
+
// so we can detect it if referenced again (self-reference)
|
|
87
|
+
if (value === rootEntity) {
|
|
88
|
+
if (visited.has(value)) {
|
|
89
|
+
// We've seen this self-reference before, record it as a dependency
|
|
90
|
+
const referencedName = entityToName.get(value);
|
|
91
|
+
if (referencedName) {
|
|
92
|
+
dependencies.add(referencedName);
|
|
93
|
+
}
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
// First time seeing the root entity, mark as visited and continue scanning
|
|
97
|
+
visited.add(value);
|
|
98
|
+
scanProperties(value, entities, entityToName, dependencies, visited, rootEntity);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
// It's a different Declarable entity - record as dependency
|
|
102
|
+
const referencedName = entityToName.get(value);
|
|
103
|
+
if (referencedName) {
|
|
104
|
+
dependencies.add(referencedName);
|
|
105
|
+
}
|
|
106
|
+
// Don't recurse into other declarable entities
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
// Check if we've already visited this object
|
|
110
|
+
if (visited.has(value)) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
// Recurse into the object's properties
|
|
114
|
+
scanProperties(value, entities, entityToName, dependencies, visited, rootEntity);
|
|
115
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type Declarable } from "../declarable.js";
|
|
2
|
+
/**
|
|
3
|
+
* Mark `members` as the instance a host's composite produced, and return it
|
|
4
|
+
* unchanged.
|
|
5
|
+
*
|
|
6
|
+
* chant#3608 — every declarable member, and every member of a nested host
|
|
7
|
+
* instance, is also stamped with the composite, the way `expandComposite`
|
|
8
|
+
* stamps a chant instance's members. A destructured member is never expanded,
|
|
9
|
+
* so this is the only record it has that a composite wrote it, and without
|
|
10
|
+
* it a path the fold did not attribute reads as authored and so `direct`.
|
|
11
|
+
* `setProvenance` keeps the first writer, and a nested instance was marked
|
|
12
|
+
* when its own call returned, so a member keeps its innermost composite.
|
|
13
|
+
*/
|
|
14
|
+
export declare function markHostCompositeInstance(members: Record<string, unknown>, compositeName: string): Record<string, unknown>;
|
|
15
|
+
/** The composite name a host composite instance was marked with, or `undefined` for any other value. */
|
|
16
|
+
export declare function hostCompositeName(value: unknown): string | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* chant#3598, chant#3612 — a host composite instance's members as entities,
|
|
19
|
+
* for `collectEntities`.
|
|
20
|
+
*
|
|
21
|
+
* `collectEntities` is the one place `build()` and `foldProject` turn exports
|
|
22
|
+
* into entities, so expanding here is what makes the two report the same set:
|
|
23
|
+
* `export const archive = Archive({...})` gives `archiveBucket` to both.
|
|
24
|
+
*
|
|
25
|
+
* The members are named and stamped the way `expandComposite` names and stamps
|
|
26
|
+
* a chant instance: `${exportName}${Member}`, a nested host instance expanded
|
|
27
|
+
* in place under its member's name (`siteMainBucket`), with a whole-entity
|
|
28
|
+
* `composite` origin under the paths the fold already attributed. That origin
|
|
29
|
+
* is written before `collectEntities` adds its own record, and the first
|
|
30
|
+
* writer wins, so a path the fold did not attribute is `unknown` rather than
|
|
31
|
+
* `direct`. Every member belongs to the top-level `instance`; its composite is
|
|
32
|
+
* the innermost one, which {@link markHostCompositeInstance} already stamped.
|
|
33
|
+
*/
|
|
34
|
+
export declare function expandHostComposite(prefix: string, members: Record<string, unknown>, instance?: string): Array<[string, Declarable]>;
|
|
35
|
+
//# sourceMappingURL=host-composite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-composite.d.ts","sourceRoot":"","sources":["../../src/discovery/host-composite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAoB9D;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,aAAa,EAAE,MAAM,GACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAUzB;AAUD,wGAAwG;AACxG,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAIpE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,GAAE,MAAe,GACxB,KAAK,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAiB7B"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { isDeclarable } from "../declarable.js";
|
|
2
|
+
import { getProvenance, setPathProvenance, setProvenance } from "../provenance.js";
|
|
3
|
+
/**
|
|
4
|
+
* chant#3598 — a host composite instance's own marker. Non-enumerable and
|
|
5
|
+
* symbol-keyed, like provenance, so nothing that serializes or compares the
|
|
6
|
+
* exports sees it. It carries the composite's name, which the members object
|
|
7
|
+
* otherwise has no record of once it is returned.
|
|
8
|
+
*
|
|
9
|
+
* Only the fold path sets it: a host's registration form (chant#2442) returns
|
|
10
|
+
* the members object the factory built, not a chant `CompositeInstance`, and
|
|
11
|
+
* chant knows the object came from a composite only because the fold resolved
|
|
12
|
+
* the call. A file that runs instead has no such knowledge.
|
|
13
|
+
*/
|
|
14
|
+
const HOST_COMPOSITE_INSTANCE = Symbol.for("chant.fold.hostCompositeInstance");
|
|
15
|
+
function isPlainIndexable(value) {
|
|
16
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Mark `members` as the instance a host's composite produced, and return it
|
|
20
|
+
* unchanged.
|
|
21
|
+
*
|
|
22
|
+
* chant#3608 — every declarable member, and every member of a nested host
|
|
23
|
+
* instance, is also stamped with the composite, the way `expandComposite`
|
|
24
|
+
* stamps a chant instance's members. A destructured member is never expanded,
|
|
25
|
+
* so this is the only record it has that a composite wrote it, and without
|
|
26
|
+
* it a path the fold did not attribute reads as authored and so `direct`.
|
|
27
|
+
* `setProvenance` keeps the first writer, and a nested instance was marked
|
|
28
|
+
* when its own call returned, so a member keeps its innermost composite.
|
|
29
|
+
*/
|
|
30
|
+
export function markHostCompositeInstance(members, compositeName) {
|
|
31
|
+
if (Object.isExtensible(members) && !Object.prototype.hasOwnProperty.call(members, HOST_COMPOSITE_INSTANCE)) {
|
|
32
|
+
Object.defineProperty(members, HOST_COMPOSITE_INSTANCE, {
|
|
33
|
+
value: compositeName,
|
|
34
|
+
enumerable: false,
|
|
35
|
+
configurable: true,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
stampHostCompositeMembers(members, compositeName);
|
|
39
|
+
return members;
|
|
40
|
+
}
|
|
41
|
+
/** Stamp `composite` on each declarable member of a host instance, descending into nested host instances. */
|
|
42
|
+
function stampHostCompositeMembers(members, compositeName) {
|
|
43
|
+
for (const member of Object.values(members)) {
|
|
44
|
+
if (isDeclarable(member))
|
|
45
|
+
setProvenance(member, { composite: compositeName });
|
|
46
|
+
else if (hostCompositeName(member) !== undefined)
|
|
47
|
+
stampHostCompositeMembers(member, compositeName);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/** The composite name a host composite instance was marked with, or `undefined` for any other value. */
|
|
51
|
+
export function hostCompositeName(value) {
|
|
52
|
+
if (!isPlainIndexable(value))
|
|
53
|
+
return undefined;
|
|
54
|
+
const name = value[HOST_COMPOSITE_INSTANCE];
|
|
55
|
+
return typeof name === "string" ? name : undefined;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* chant#3598, chant#3612 — a host composite instance's members as entities,
|
|
59
|
+
* for `collectEntities`.
|
|
60
|
+
*
|
|
61
|
+
* `collectEntities` is the one place `build()` and `foldProject` turn exports
|
|
62
|
+
* into entities, so expanding here is what makes the two report the same set:
|
|
63
|
+
* `export const archive = Archive({...})` gives `archiveBucket` to both.
|
|
64
|
+
*
|
|
65
|
+
* The members are named and stamped the way `expandComposite` names and stamps
|
|
66
|
+
* a chant instance: `${exportName}${Member}`, a nested host instance expanded
|
|
67
|
+
* in place under its member's name (`siteMainBucket`), with a whole-entity
|
|
68
|
+
* `composite` origin under the paths the fold already attributed. That origin
|
|
69
|
+
* is written before `collectEntities` adds its own record, and the first
|
|
70
|
+
* writer wins, so a path the fold did not attribute is `unknown` rather than
|
|
71
|
+
* `direct`. Every member belongs to the top-level `instance`; its composite is
|
|
72
|
+
* the innermost one, which {@link markHostCompositeInstance} already stamped.
|
|
73
|
+
*/
|
|
74
|
+
export function expandHostComposite(prefix, members, instance = prefix) {
|
|
75
|
+
const out = [];
|
|
76
|
+
const compositeName = hostCompositeName(members);
|
|
77
|
+
for (const [memberName, member] of Object.entries(members)) {
|
|
78
|
+
if (memberName.length === 0)
|
|
79
|
+
continue;
|
|
80
|
+
const fullName = `${prefix}${memberName[0].toUpperCase()}${memberName.slice(1)}`;
|
|
81
|
+
if (hostCompositeName(member) !== undefined) {
|
|
82
|
+
out.push(...expandHostComposite(fullName, member, instance));
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
if (!isDeclarable(member))
|
|
86
|
+
continue;
|
|
87
|
+
setProvenance(member, { composite: compositeName, compositeInstance: instance });
|
|
88
|
+
const composite = getProvenance(member)?.composite ?? compositeName;
|
|
89
|
+
setPathProvenance(member, "", { kind: "composite", composite, instance });
|
|
90
|
+
out.push([fullName, member]);
|
|
91
|
+
}
|
|
92
|
+
return out;
|
|
93
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/discovery/import.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/discovery/import.ts"],"names":[],"mappings":"AA6BA;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAclC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { DiscoveryError } from "../errors.js";
|
|
2
|
+
import { ensureTypeScriptLoader } from "../ts-loader.js";
|
|
3
|
+
/**
|
|
4
|
+
* Modules whose evaluation threw, and the error each threw with (#2368).
|
|
5
|
+
*
|
|
6
|
+
* The ES module spec says an evaluation failure is recorded on the module
|
|
7
|
+
* record and re-thrown on every later import of the same specifier, forever,
|
|
8
|
+
* in that realm. Node implements it — including after the file is edited, so a
|
|
9
|
+
* module that threw keeps throwing until the process restarts.
|
|
10
|
+
*
|
|
11
|
+
* Vitest's module runner does not. It caches the module as *evaluated* and
|
|
12
|
+
* hands later importers a namespace carrying whichever bindings were
|
|
13
|
+
* initialized before the throw, so the second import resolves with
|
|
14
|
+
* half-initialized exports and no error at all.
|
|
15
|
+
*
|
|
16
|
+
* That divergence is invisible to `chant build`, which imports a directory
|
|
17
|
+
* once per process, and highly visible to anything that builds the same
|
|
18
|
+
* directory twice and compares: whichever build ran first carried the error
|
|
19
|
+
* and every build after it reported none, so error parity came out of the
|
|
20
|
+
* ordering rather than out of the tool.
|
|
21
|
+
*
|
|
22
|
+
* This map is what makes the answer the same either way. Under Node it never
|
|
23
|
+
* fires — `import()` throws again before the lookup matters — so it costs
|
|
24
|
+
* nothing and changes nothing there. Under a runner that forgets, it supplies
|
|
25
|
+
* the memory the spec requires.
|
|
26
|
+
*/
|
|
27
|
+
const evaluationFailures = new Map();
|
|
28
|
+
/**
|
|
29
|
+
* Forget every recorded evaluation failure.
|
|
30
|
+
*
|
|
31
|
+
* For a harness that deliberately starts a fresh module graph and wants the
|
|
32
|
+
* failures forgotten with it. Nothing in chant calls this: a real build
|
|
33
|
+
* imports once, and a second import inside one process is supposed to see what
|
|
34
|
+
* the first one saw.
|
|
35
|
+
*
|
|
36
|
+
* It does not make a module re-evaluate. Node's own registry still holds the
|
|
37
|
+
* failed record and still re-throws; this only clears chant's memory of it. A
|
|
38
|
+
* caller wanting genuine re-evaluation needs a fresh process.
|
|
39
|
+
*/
|
|
40
|
+
export function resetImportFailures() {
|
|
41
|
+
evaluationFailures.clear();
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Dynamically import a module and return its exports.
|
|
45
|
+
*
|
|
46
|
+
* @param path - The file path to import
|
|
47
|
+
* @returns The module exports
|
|
48
|
+
* @throws {DiscoveryError} with type "import" if the import fails, including
|
|
49
|
+
* on every later import of a module whose evaluation has already failed
|
|
50
|
+
*/
|
|
51
|
+
export async function importModule(path) {
|
|
52
|
+
const failed = evaluationFailures.get(path);
|
|
53
|
+
if (failed)
|
|
54
|
+
throw failed;
|
|
55
|
+
try {
|
|
56
|
+
ensureTypeScriptLoader();
|
|
57
|
+
return await import(path);
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
const message = error instanceof Error ? error.message : "Unknown import error";
|
|
61
|
+
const discoveryError = new DiscoveryError(path, message, "import");
|
|
62
|
+
evaluationFailures.set(path, discoveryError);
|
|
63
|
+
throw discoveryError;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -70,6 +70,15 @@ export interface DiscoveryOptions {
|
|
|
70
70
|
* at all, rather than a looser fallback.
|
|
71
71
|
*/
|
|
72
72
|
lexicons?: readonly string[];
|
|
73
|
+
/**
|
|
74
|
+
* chant#3612 — package specifiers to follow a bare import into, verbatim,
|
|
75
|
+
* alongside whatever {@link lexicons} names. The same allowlist
|
|
76
|
+
* `FoldProjectOptions.lexiconPackages` gives `foldProject` (chant#2438), so
|
|
77
|
+
* a build over a host of its own folds the files `foldProject` folds. A
|
|
78
|
+
* chant project never needs it: its packages are `lexicons`. Only
|
|
79
|
+
* meaningful when {@link fold} is set. Default: none.
|
|
80
|
+
*/
|
|
81
|
+
lexiconPackages?: readonly string[];
|
|
73
82
|
/**
|
|
74
83
|
* chant #1045 Phase 2 — opt-in: whatever would otherwise reach the
|
|
75
84
|
* in-process `importModule` step (every file, when {@link fold} isn't set;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAQ/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AA8D1D;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,uFAAuF;IACvF,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAE5B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE7B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,8DAA8D;IAC9D,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACvC,qDAAqD;IACrD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mDAAmD;IACnD,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB;;;OAGG;IACH,aAAa,EAAE,YAAY,EAAE,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CA+SjG"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/discovery/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAQ/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AA8D1D;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,uFAAuF;IACvF,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAE5B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAE7B;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEpC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,8DAA8D;IAC9D,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACvC,qDAAqD;IACrD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mDAAmD;IACnD,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB;;;OAGG;IACH,aAAa,EAAE,YAAY,EAAE,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CA+SjG"}
|