vouchington-tooling 0.34.0 → 0.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -221
- package/dist/agent-blackboard/feedback-audit-source.mjs +2 -2
- package/dist/agent-blackboard/feedback-canonical.mjs +1 -1
- package/dist/agent-blackboard/feedback-codec.mjs +3 -3
- package/dist/agent-blackboard/feedback-compose.mjs +5 -5
- package/dist/agent-blackboard/feedback-deadline.mjs +1 -1
- package/dist/agent-blackboard/feedback-delivery.mjs +6 -6
- package/dist/agent-blackboard/feedback-fields.mjs +1 -1
- package/dist/agent-blackboard/feedback-identity.mjs +3 -3
- package/dist/agent-blackboard/feedback-journal-audit.mjs +4 -4
- package/dist/agent-blackboard/feedback-journal-sandbox.mjs +1 -1
- package/dist/agent-blackboard/feedback-online-error.mjs +1 -1
- package/dist/agent-blackboard/feedback-online.mjs +7 -7
- package/dist/agent-blackboard/feedback-outbox-counts.mjs +2 -2
- package/dist/agent-blackboard/feedback-outbox.mjs +7 -7
- package/dist/agent-blackboard/index.mjs +13 -13
- package/dist/agent-blackboard/journal.mjs +3 -3
- package/dist/agent-blackboard/session-tools.mjs +4 -4
- package/dist/agent-blackboard/snapshot-cleanup-directory.mjs +3 -3
- package/dist/agent-blackboard/snapshot-cleanup-receipt.mjs +1 -1
- package/dist/agent-blackboard/snapshot-cleanup-resume.mjs +2 -2
- package/dist/agent-blackboard/snapshot-partition-cleanup.mjs +3 -3
- package/dist/agent-blackboard/snapshot-partition-format.mjs +3 -3
- package/dist/agent-blackboard/snapshot-partition-predicates.mjs +2 -2
- package/dist/agent-blackboard/snapshot-partition-read.mjs +2 -2
- package/dist/agent-blackboard/snapshot-partition-validate.mjs +2 -2
- package/dist/agent-blackboard/snapshot-partition-write.mjs +2 -2
- package/dist/agent-blackboard/snapshot-partitions.mjs +4 -4
- package/dist/agent-blackboard/snapshot.mjs +2 -2
- package/dist/agent-harness-identity/index.d.mts +1 -1
- package/dist/api-fixtures/fixture-contract-validation.mjs +1 -1
- package/dist/api-fixtures/index.mjs +3 -3
- package/dist/ast-grep-examples/companion-parity.mjs +1 -1
- package/dist/ast-grep-examples/index.mjs +1 -1
- package/dist/basic-auth-doc-sync/index.mjs +2 -2
- package/dist/basic-auth-doc-sync/runbook.mjs +4 -4
- package/dist/basic-auth-doc-sync/source.mjs +2 -2
- package/dist/browser-session-runner/attempt.mjs +5 -5
- package/dist/browser-session-runner/index.mjs +4 -4
- package/dist/browser-session-runner/output.mjs +1 -1
- package/dist/ci-local/index.mjs +2 -2
- package/dist/cli/commands/agent-blackboard-flags.mjs +1 -1
- package/dist/cli/commands/agent-blackboard.mjs +3 -3
- package/dist/cli/commands/ast-grep-examples.mjs +1 -1
- package/dist/cli/commands/ast-grep-pack.mjs +1 -1
- package/dist/cli/commands/gha-artifacts-cleanup.mjs +1 -1
- package/dist/cli/commands/gha-runtime-audit.mjs +1 -1
- package/dist/cli/commands/gha-workspace-policy.mjs +2 -2
- package/dist/cli/commands/http-origin.mjs +1 -1
- package/dist/cli/commands/link-skill.mjs +1 -1
- package/dist/cli/commands/mcp.mjs +2 -2
- package/dist/cli/commands/nuget-central-version.mjs +1 -1
- package/dist/cli/commands/pnpm-install.mjs +1 -1
- package/dist/cli/commands/prepare-vitest-reports.mjs +1 -1
- package/dist/cli/commands/require-up-to-date.mjs +1 -1
- package/dist/cli/commands/retrospective-facts.mjs +1 -1
- package/dist/cli/commands/retrospective-transcript.mjs +1 -1
- package/dist/cli/commands/runner-port-policy.mjs +1 -1
- package/dist/cli/commands/vitest-blob-manifest.mjs +1 -1
- package/dist/cli/commands/vitest-report-attempt.mjs +1 -1
- package/dist/cli/index.mjs +27 -27
- package/dist/cli/installed-version.mjs +1 -1
- package/dist/cli/parse-gha-runtime-audit.mjs +1 -1
- package/dist/cli/parse-options.mjs +2 -2
- package/dist/cli/parse.mjs +5 -5
- package/dist/compiler-build/index.mjs +3 -3
- package/dist/compiler-build/program.mjs +3 -3
- package/dist/config-inventory/collect.mjs +5 -5
- package/dist/config-inventory/dynamic-configs.mjs +1 -1
- package/dist/config-inventory/env-expression-readers.mjs +1 -1
- package/dist/config-inventory/env-prefix-readers.mjs +2 -2
- package/dist/config-inventory/env-var-accumulator.mjs +1 -1
- package/dist/config-inventory/env-vars.mjs +5 -5
- package/dist/config-inventory/index.mjs +2 -2
- package/dist/contract-schema/contract-schema-bounded-array.mjs +2 -2
- package/dist/contract-schema/contract-schema-extractor.mjs +3 -3
- package/dist/contract-schema/contract-schema-object-tuple.mjs +2 -2
- package/dist/contract-schema/contract-schema-type-extractor.mjs +5 -5
- package/dist/contract-schema/contract-schema-type-utils.mjs +2 -2
- package/dist/contract-schema/contract-schema-validator.mjs +1 -1
- package/dist/contract-schema/index.mjs +7 -7
- package/dist/contract-schema/type-query-call.mjs +3 -3
- package/dist/contract-schema/type-query.mjs +2 -2
- package/dist/contract-schema/virtual-program.mjs +1 -1
- package/dist/coverage-transport/control-v2-parse-object.mjs +2 -2
- package/dist/coverage-transport/control-v2.mjs +4 -4
- package/dist/coverage-transport/control.mjs +2 -2
- package/dist/coverage-transport/discovery.mjs +4 -4
- package/dist/coverage-transport/http.mjs +1 -1
- package/dist/coverage-transport/index.mjs +10 -10
- package/dist/coverage-transport/keys.mjs +1 -1
- package/dist/coverage-transport/lib.mjs +6 -6
- package/dist/coverage-transport/prefix-transfer.mjs +4 -4
- package/dist/coverage-transport/prefix.mjs +3 -3
- package/dist/coverage-transport/presign.mjs +1 -1
- package/dist/coverage-transport/vitest-blob-transport.mjs +2 -2
- package/dist/dependency-license-policy/collect.mjs +5 -5
- package/dist/dependency-license-policy/index.mjs +3 -3
- package/dist/dependency-license-policy/policy.mjs +1 -1
- package/dist/dependency-license-policy/workspace.mjs +1 -1
- package/dist/dockerfile-parse/index.mjs +2 -2
- package/dist/dockerfile-parse/prewarm-ports.mjs +1 -1
- package/dist/dockerfile-parse/runtime-cmd.mjs +2 -2
- package/dist/finite-enum-ripple/check.mjs +3 -3
- package/dist/finite-enum-ripple/compare.mjs +3 -5
- package/dist/finite-enum-ripple/component-paths.mjs +2 -2
- package/dist/finite-enum-ripple/configured-object-mutations.mjs +1 -1
- package/dist/finite-enum-ripple/create-page-jsx.mjs +1 -1
- package/dist/finite-enum-ripple/create-page-literals.mjs +4 -4
- package/dist/finite-enum-ripple/create-page-object-visitor.mjs +2 -2
- package/dist/finite-enum-ripple/create-page-properties.mjs +1 -1
- package/dist/finite-enum-ripple/index.mjs +1 -1
- package/dist/finite-enum-ripple/model.d.mts +4 -0
- package/dist/finite-enum-ripple/parser-support.mjs +16 -3
- package/dist/finite-enum-ripple/parsers.mjs +5 -3
- package/dist/finite-enum-ripple/structured-route-check.mjs +5 -5
- package/dist/finite-enum-ripple/types.mjs +3 -3
- package/dist/finite-enum-ripple/union-factory-check.mjs +2 -2
- package/dist/finite-enum-ripple/union-types.mjs +5 -5
- package/dist/gh-api-shell-quoting/index.mjs +2 -2
- package/dist/gh-api-shell-quoting/logical-line.mjs +1 -1
- package/dist/gh-api-shell-quoting/scan.mjs +1 -1
- package/dist/gh-api-shell-quoting/yaml.mjs +1 -1
- package/dist/gh-cli/index.mjs +4 -4
- package/dist/gha-artifacts-cleanup/commands.mjs +2 -2
- package/dist/gha-artifacts-cleanup/index.mjs +4 -4
- package/dist/gha-check-run/cli.mjs +2 -2
- package/dist/gha-check-run/index.mjs +2 -2
- package/dist/gha-claude-post-review/index.mjs +2 -2
- package/dist/gha-post-review/claude-token.d.mts +2 -2
- package/dist/gha-post-review/claude-token.mjs +1 -1
- package/dist/gha-post-review/cli.mjs +1 -1
- package/dist/gha-post-review/github.mjs +7 -7
- package/dist/gha-post-review/index.mjs +6 -6
- package/dist/gha-post-review/post.mjs +2 -2
- package/dist/gha-post-review/pull-io.mjs +1 -1
- package/dist/gha-post-review/token.mjs +1 -1
- package/dist/gha-pr-checkpoint/index.mjs +3 -3
- package/dist/gha-pr-checkpoint/resume.mjs +1 -1
- package/dist/gha-pr-checkpoint/update.mjs +1 -1
- package/dist/gha-review-payload/cli.mjs +2 -2
- package/dist/gha-review-payload/file.mjs +1 -1
- package/dist/gha-review-payload/index.mjs +4 -4
- package/dist/gha-review-payload/remap.mjs +1 -1
- package/dist/gha-runtime-audit/audit.mjs +4 -4
- package/dist/gha-runtime-audit/index.mjs +3 -3
- package/dist/gha-workspace-policy/docker-options.mjs +1 -1
- package/dist/gha-workspace-policy/docker-workspace-user.mjs +2 -2
- package/dist/gha-workspace-policy/index.mjs +3 -3
- package/dist/gha-workspace-policy/shell-tokens.mjs +1 -1
- package/dist/gha-workspace-policy/sparse-checkout.mjs +1 -1
- package/dist/github-projects/index.mjs +2 -2
- package/dist/github-projects/project-audit.mjs +1 -1
- package/dist/index.mjs +55 -55
- package/dist/markdown/content-facts.mjs +1 -1
- package/dist/markdown/document-sections.mjs +2 -2
- package/dist/markdown/html-blocks.mjs +1 -1
- package/dist/markdown/index.mjs +10 -10
- package/dist/markdown/sections.mjs +2 -2
- package/dist/markdown/tables.mjs +2 -2
- package/dist/markdown/tasks.mjs +1 -1
- package/dist/mcp-server/context.mjs +2 -2
- package/dist/mcp-server/dispatch.mjs +8 -8
- package/dist/mcp-server/git-fixture.test-helpers.mjs +1 -1
- package/dist/mcp-server/handlers-journal.mjs +4 -4
- package/dist/mcp-server/handlers-outbox.mjs +2 -2
- package/dist/mcp-server/handlers-session.mjs +3 -3
- package/dist/mcp-server/harness.test-helpers.mjs +4 -4
- package/dist/mcp-server/main.mjs +1 -1
- package/dist/mcp-server/run.mjs +3 -3
- package/dist/mcp-server/sdk.mjs +1 -1
- package/dist/mcp-server/server.mjs +2 -2
- package/dist/mcp-server/worktree.mjs +2 -2
- package/dist/nuget-central-version/cli.mjs +1 -1
- package/dist/openapi-document/build-openapi-catalog-sse.mjs +1 -1
- package/dist/openapi-document/build-openapi-document.mjs +8 -8
- package/dist/openapi-document/build-openapi-request.mjs +1 -1
- package/dist/openapi-document/build-openapi-response.mjs +3 -3
- package/dist/openapi-document/build-openapi-sse-events.mjs +1 -1
- package/dist/openapi-document/component-registry.mjs +1 -1
- package/dist/openapi-document/contract-schema-intersection-merge.mjs +1 -1
- package/dist/openapi-document/contract-schema-to-openapi.mjs +1 -1
- package/dist/openapi-document/index.mjs +12 -12
- package/dist/openapi-document/openapi-route-helpers.mjs +1 -1
- package/dist/pg-schema-snapshot/build-snapshot.mjs +3 -3
- package/dist/pg-schema-snapshot/catalog-objects.mjs +1 -1
- package/dist/pg-schema-snapshot/catalog-queries.mjs +4 -4
- package/dist/pg-schema-snapshot/catalog-table-constraints.mjs +1 -1
- package/dist/pg-schema-snapshot/catalog-table-indexes.mjs +1 -1
- package/dist/pg-schema-snapshot/catalog-tables.mjs +1 -1
- package/dist/pg-schema-snapshot/generate.mjs +5 -5
- package/dist/pg-schema-snapshot/index.mjs +6 -6
- package/dist/pg-schema-snapshot/markdown-files.mjs +1 -1
- package/dist/pg-schema-snapshot/render-markdown.mjs +1 -1
- package/dist/pg-schema-snapshot/table-snapshot-constraints.mjs +1 -1
- package/dist/pg-schema-snapshot/table-snapshot.mjs +3 -3
- package/dist/pnpm-deploy/index.mjs +3 -3
- package/dist/pnpm-deploy/restore.mjs +1 -1
- package/dist/pnpm-install/exec.mjs +1 -1
- package/dist/pnpm-install/index.mjs +8 -8
- package/dist/pnpm-install/install-operations.mjs +6 -6
- package/dist/pnpm-install/metadata-legacy.mjs +1 -1
- package/dist/pnpm-install/metadata.d.mts +1 -1
- package/dist/pnpm-install/metadata.mjs +2 -2
- package/dist/pnpm-install/native-health.mjs +2 -2
- package/dist/pnpm-install/pnpm-install-fixture.test-helpers.mjs +2 -2
- package/dist/pnpm-install/runner.mjs +7 -7
- package/dist/post-publication-inventory/index.d.mts +6 -0
- package/dist/post-publication-inventory/index.mjs +6 -2
- package/dist/post-publication-inventory/readers/compose-appends.d.mts +7 -0
- package/dist/post-publication-inventory/readers/compose-appends.mjs +38 -0
- package/dist/post-publication-inventory/readers/composes.d.mts +2 -0
- package/dist/post-publication-inventory/readers/composes.mjs +79 -0
- package/dist/post-publication-inventory/readers/composition.d.mts +2 -0
- package/dist/post-publication-inventory/readers/composition.mjs +62 -0
- package/dist/post-publication-inventory/readers/public-boundary-ast.d.mts +5 -0
- package/dist/post-publication-inventory/readers/public-boundary-ast.mjs +33 -0
- package/dist/post-publication-inventory/readers/public-boundary-consumed.d.mts +3 -0
- package/dist/post-publication-inventory/readers/public-boundary-consumed.mjs +39 -0
- package/dist/post-publication-inventory/readers/public-boundary-dataflow.d.mts +3 -0
- package/dist/post-publication-inventory/readers/public-boundary-dataflow.mjs +61 -0
- package/dist/post-publication-inventory/readers/public-boundary-then.d.mts +9 -0
- package/dist/post-publication-inventory/readers/public-boundary-then.mjs +31 -0
- package/dist/post-publication-inventory/readers/public-boundary.d.mts +3 -0
- package/dist/post-publication-inventory/readers/public-boundary.mjs +71 -0
- package/dist/post-publication-inventory/readers/public-view-ast.d.mts +6 -0
- package/dist/post-publication-inventory/readers/public-view-ast.mjs +67 -0
- package/dist/post-publication-inventory/readers/public-view-options.d.mts +8 -0
- package/dist/post-publication-inventory/readers/public-view-protection.d.mts +2 -0
- package/dist/post-publication-inventory/readers/public-view-protection.mjs +83 -0
- package/dist/post-publication-inventory/readers/public-view.d.mts +2 -0
- package/dist/post-publication-inventory/readers/public-view.mjs +117 -0
- package/dist/post-publication-inventory/readers/source-ast.d.mts +30 -0
- package/dist/post-publication-inventory/readers/source-ast.mjs +52 -0
- package/dist/post-publication-inventory/readers/source-executors.d.mts +4 -0
- package/dist/post-publication-inventory/readers/source-executors.mjs +38 -0
- package/dist/post-publication-inventory/readers/source-helpers.d.mts +16 -0
- package/dist/post-publication-inventory/readers/source-helpers.mjs +72 -0
- package/dist/post-publication-inventory/readers/source-options.d.mts +8 -0
- package/dist/post-publication-inventory/readers/source-sql.d.mts +3 -0
- package/dist/post-publication-inventory/readers/source-sql.mjs +17 -0
- package/dist/post-publication-inventory/readers/sql-executors.mjs +2 -2
- package/dist/post-publication-inventory/readers/sql-source.mjs +3 -3
- package/dist/post-publication-inventory/readers/sql-template.mjs +1 -1
- package/dist/post-publication-inventory/writers/source.mjs +1 -1
- package/dist/retrospective-facts/coverage.mjs +1 -1
- package/dist/retrospective-facts/foreign.mjs +3 -3
- package/dist/retrospective-facts/index.mjs +4 -4
- package/dist/retrospective-facts/local.mjs +4 -4
- package/dist/retrospective-transcript/claude-blocks.mjs +1 -1
- package/dist/retrospective-transcript/claude.mjs +2 -2
- package/dist/retrospective-transcript/codex-messages.mjs +1 -1
- package/dist/retrospective-transcript/codex-payload.mjs +2 -2
- package/dist/retrospective-transcript/codex-records.mjs +3 -3
- package/dist/retrospective-transcript/codex-segment.mjs +1 -1
- package/dist/retrospective-transcript/codex.mjs +2 -2
- package/dist/retrospective-transcript/index.mjs +9 -9
- package/dist/retrospective-transcript/resolve-transcript-file.mjs +2 -2
- package/dist/scc-complexity/baseline.mjs +2 -2
- package/dist/scc-complexity/index.mjs +8 -8
- package/dist/scc-complexity/parser.mjs +1 -1
- package/dist/scc-complexity/scope-config.mjs +1 -1
- package/dist/session-friction/audit-block.mjs +1 -1
- package/dist/session-friction/ci-failures.mjs +2 -2
- package/dist/session-friction/classify.mjs +2 -2
- package/dist/session-friction/coverage-ledger.mjs +1 -1
- package/dist/session-friction/index.mjs +5 -5
- package/dist/session-friction/log-file.mjs +2 -2
- package/dist/session-friction/log.mjs +7 -7
- package/dist/session-friction/normalize.mjs +1 -1
- package/dist/session-friction/report.mjs +5 -5
- package/dist/session-friction/sandbox.mjs +1 -1
- package/dist/session-friction/session-id.mjs +1 -1
- package/dist/shared-context/index.mjs +1 -1
- package/dist/skill-discovery/index.mjs +3 -3
- package/dist/sql-ast/add-column.mjs +1 -1
- package/dist/sql-ast/constraint-do-block.mjs +2 -2
- package/dist/sql-ast/constraint-shared.mjs +1 -1
- package/dist/sql-ast/constraint.mjs +4 -4
- package/dist/sql-ast/create-table.mjs +2 -2
- package/dist/sql-ast/drop-index.mjs +2 -2
- package/dist/sql-ast/implicit-indexes.mjs +1 -1
- package/dist/sql-ast/index-metadata.mjs +3 -3
- package/dist/sql-ast/index.mjs +8 -8
- package/dist/sql-scanner/comments.mjs +1 -1
- package/dist/sql-scanner/index.mjs +3 -3
- package/dist/sql-scanner/literals.mjs +1 -1
- package/dist/swift-semantic-equal/cli.mjs +1 -1
- package/dist/swift-semantic-equal/index.mjs +1 -1
- package/dist/transient-retry/index.mjs +2 -2
- package/dist/vitest-blob-manifest/cli.mjs +2 -2
- package/dist/vitest-blob-manifest/index.mjs +4 -4
- package/dist/vitest-blob-manifest/report-attempt-cli.mjs +2 -2
- package/dist/vitest-blob-manifest/report-attempt.mjs +1 -1
- package/dist/vitest-blob-manifest/reports-cli.mjs +3 -3
- package/dist/vitest-blob-manifest/reports-source.mjs +2 -2
- package/dist/vitest-blob-manifest/reports.mjs +2 -2
- package/dist/vitest-diagnostics/index.mjs +8 -8
- package/dist/vitest-diagnostics/vitest-fork-exit-records.mjs +1 -1
- package/dist/vitest-diagnostics/vitest-fork-exit-sentinel.mjs +2 -2
- package/dist/vitest-diagnostics/vitest-fork-leak-detection.mjs +2 -2
- package/dist/vitest-diagnostics/vitest-worker-exit-diagnostics-reporter.mjs +2 -2
- package/dist/workflow-policy/condition-entailment.mjs +1 -1
- package/dist/workflow-policy/index.d.mts +1 -3
- package/dist/workflow-policy/index.mjs +4 -6
- package/dist/workflow-policy/permission-inheritance.mjs +1 -1
- package/dist/workflow-policy/permission-mismatches.mjs +2 -2
- package/dist/workflow-policy/secret-readiness.mjs +2 -2
- package/dist/workflow-policy/types.d.mts +2 -28
- package/dist/workspace-gates/first-party-graph.mjs +2 -2
- package/dist/workspace-gates/index.mjs +1 -1
- package/dist/workspace-gates/manifest-version-assertions.mjs +2 -2
- package/dist/workspace-gates/manifest-version-parser.mjs +1 -1
- package/dist/workspace-gates/options.mjs +1 -1
- package/dist/workspace-gates/policy.mjs +7 -7
- package/dist/workspace-gates/test-helpers.d.mts +2 -2
- package/docs/workflow-and-compiler.md +7 -16
- package/package.json +3 -6
- package/dist/api-contract-discovery/header-contract-parser.d.mts +0 -3
- package/dist/api-contract-discovery/header-contract-parser.mjs +0 -93
- package/dist/api-contract-discovery/header-contract-registry.d.mts +0 -3
- package/dist/api-contract-discovery/header-contract-registry.mjs +0 -40
- package/dist/api-contract-discovery/header-contract-types.d.mts +0 -19
- package/dist/api-contract-discovery/index.d.mts +0 -34
- package/dist/api-contract-discovery/index.mjs +0 -27
- package/dist/api-contract-discovery/protocol-analysis-cache.d.mts +0 -21
- package/dist/api-contract-discovery/protocol-analysis-cache.mjs +0 -7
- package/dist/api-contract-discovery/protocol-body-status.d.mts +0 -2
- package/dist/api-contract-discovery/protocol-body-status.mjs +0 -4
- package/dist/api-contract-discovery/protocol-callback-argument-bindings.d.mts +0 -7
- package/dist/api-contract-discovery/protocol-callback-argument-bindings.mjs +0 -33
- package/dist/api-contract-discovery/protocol-callback-invocation.d.mts +0 -6
- package/dist/api-contract-discovery/protocol-callback-invocation.mjs +0 -111
- package/dist/api-contract-discovery/protocol-callback-mutations.d.mts +0 -5
- package/dist/api-contract-discovery/protocol-callback-mutations.mjs +0 -42
- package/dist/api-contract-discovery/protocol-callback-registration.d.mts +0 -3
- package/dist/api-contract-discovery/protocol-callback-registration.mjs +0 -27
- package/dist/api-contract-discovery/protocol-callback-values.d.mts +0 -18
- package/dist/api-contract-discovery/protocol-callback-values.mjs +0 -114
- package/dist/api-contract-discovery/protocol-context-alias.d.mts +0 -3
- package/dist/api-contract-discovery/protocol-context-alias.mjs +0 -20
- package/dist/api-contract-discovery/protocol-contract-extraction.d.mts +0 -9
- package/dist/api-contract-discovery/protocol-contract-extraction.mjs +0 -87
- package/dist/api-contract-discovery/protocol-contract-keys.d.mts +0 -1
- package/dist/api-contract-discovery/protocol-contract-keys.mjs +0 -8
- package/dist/api-contract-discovery/protocol-contract-registry.d.mts +0 -5
- package/dist/api-contract-discovery/protocol-contract-registry.mjs +0 -133
- package/dist/api-contract-discovery/protocol-executable-path.d.mts +0 -3
- package/dist/api-contract-discovery/protocol-executable-path.mjs +0 -64
- package/dist/api-contract-discovery/protocol-execution-path.d.mts +0 -4
- package/dist/api-contract-discovery/protocol-execution-path.mjs +0 -16
- package/dist/api-contract-discovery/protocol-http-association.d.mts +0 -7
- package/dist/api-contract-discovery/protocol-http-association.mjs +0 -108
- package/dist/api-contract-discovery/protocol-http-body-kinds.d.mts +0 -3
- package/dist/api-contract-discovery/protocol-http-body-kinds.mjs +0 -19
- package/dist/api-contract-discovery/protocol-http-context-callers.d.mts +0 -7
- package/dist/api-contract-discovery/protocol-http-context-callers.mjs +0 -40
- package/dist/api-contract-discovery/protocol-http-context-escapes.d.mts +0 -3
- package/dist/api-contract-discovery/protocol-http-context-escapes.mjs +0 -95
- package/dist/api-contract-discovery/protocol-http-context.d.mts +0 -8
- package/dist/api-contract-discovery/protocol-http-context.mjs +0 -85
- package/dist/api-contract-discovery/protocol-http-emission.d.mts +0 -3
- package/dist/api-contract-discovery/protocol-http-emission.mjs +0 -76
- package/dist/api-contract-discovery/protocol-http-implicit-taint.d.mts +0 -7
- package/dist/api-contract-discovery/protocol-http-implicit-taint.mjs +0 -26
- package/dist/api-contract-discovery/protocol-http-method-access.d.mts +0 -9
- package/dist/api-contract-discovery/protocol-http-method-access.mjs +0 -34
- package/dist/api-contract-discovery/protocol-http-method-mutations.d.mts +0 -3
- package/dist/api-contract-discovery/protocol-http-method-mutations.mjs +0 -31
- package/dist/api-contract-discovery/protocol-http-reflect.d.mts +0 -5
- package/dist/api-contract-discovery/protocol-http-reflect.mjs +0 -45
- package/dist/api-contract-discovery/protocol-http-registration.d.mts +0 -12
- package/dist/api-contract-discovery/protocol-http-registration.mjs +0 -53
- package/dist/api-contract-discovery/protocol-http-response-mutations.d.mts +0 -3
- package/dist/api-contract-discovery/protocol-http-response-mutations.mjs +0 -31
- package/dist/api-contract-discovery/protocol-marker-analysis.d.mts +0 -7
- package/dist/api-contract-discovery/protocol-marker-analysis.mjs +0 -50
- package/dist/api-contract-discovery/protocol-opaque-callback.d.mts +0 -3
- package/dist/api-contract-discovery/protocol-opaque-callback.mjs +0 -107
- package/dist/api-contract-discovery/protocol-platform-callbacks.d.mts +0 -7
- package/dist/api-contract-discovery/protocol-platform-callbacks.mjs +0 -76
- package/dist/api-contract-discovery/protocol-platform-mutation-targets.d.mts +0 -5
- package/dist/api-contract-discovery/protocol-platform-mutation-targets.mjs +0 -89
- package/dist/api-contract-discovery/protocol-platform-writes.d.mts +0 -3
- package/dist/api-contract-discovery/protocol-platform-writes.mjs +0 -92
- package/dist/api-contract-discovery/protocol-requested-keys.d.mts +0 -5
- package/dist/api-contract-discovery/protocol-requested-keys.mjs +0 -45
- package/dist/api-contract-discovery/protocol-sse-callers.d.mts +0 -7
- package/dist/api-contract-discovery/protocol-sse-callers.mjs +0 -67
- package/dist/api-contract-discovery/protocol-sse-emission.d.mts +0 -11
- package/dist/api-contract-discovery/protocol-sse-emission.mjs +0 -61
- package/dist/api-contract-discovery/protocol-sse-feasible-status.d.mts +0 -3
- package/dist/api-contract-discovery/protocol-sse-feasible-status.mjs +0 -24
- package/dist/api-contract-discovery/protocol-sse-raw-writes.d.mts +0 -9
- package/dist/api-contract-discovery/protocol-sse-raw-writes.mjs +0 -99
- package/dist/api-contract-discovery/protocol-sse-status.d.mts +0 -3
- package/dist/api-contract-discovery/protocol-sse-status.mjs +0 -84
- package/dist/api-contract-discovery/protocol-sse-write-access.d.mts +0 -9
- package/dist/api-contract-discovery/protocol-sse-write-access.mjs +0 -42
- package/dist/api-contract-discovery/protocol-sse-write-helpers.d.mts +0 -7
- package/dist/api-contract-discovery/protocol-sse-write-helpers.mjs +0 -82
- package/dist/api-contract-discovery/protocol-sse-write-mutations.d.mts +0 -9
- package/dist/api-contract-discovery/protocol-sse-write-mutations.mjs +0 -42
- package/dist/api-contract-discovery/protocol-sse-write-resolution.d.mts +0 -14
- package/dist/api-contract-discovery/protocol-sse-write-resolution.mjs +0 -79
- package/dist/api-contract-discovery/protocol-status-dominance.d.mts +0 -5
- package/dist/api-contract-discovery/protocol-status-dominance.mjs +0 -35
- package/dist/api-contract-discovery/protocol-write-receiver.d.mts +0 -9
- package/dist/api-contract-discovery/protocol-write-receiver.mjs +0 -79
- package/dist/api-contract-discovery/query-contract-extraction.d.mts +0 -3
- package/dist/api-contract-discovery/query-contract-extraction.mjs +0 -82
- package/dist/api-contract-discovery/query-contract-literals.d.mts +0 -13
- package/dist/api-contract-discovery/query-contract-literals.mjs +0 -83
- package/dist/api-contract-discovery/query-contract-registry.d.mts +0 -3
- package/dist/api-contract-discovery/query-contract-registry.mjs +0 -70
- package/dist/api-contract-discovery/query-contract-types.d.mts +0 -8
- package/dist/api-contract-discovery/registered-route-binding-writes.d.mts +0 -4
- package/dist/api-contract-discovery/registered-route-binding-writes.mjs +0 -47
- package/dist/api-contract-discovery/registered-route-catalog.d.mts +0 -10
- package/dist/api-contract-discovery/registered-route-catalog.mjs +0 -85
- package/dist/api-contract-discovery/registered-route-factory-returns.d.mts +0 -3
- package/dist/api-contract-discovery/registered-route-factory-returns.mjs +0 -29
- package/dist/api-contract-discovery/registered-route-handler-analysis.d.mts +0 -12
- package/dist/api-contract-discovery/registered-route-handler-analysis.mjs +0 -119
- package/dist/api-contract-discovery/registered-route-handler-helpers.d.mts +0 -3
- package/dist/api-contract-discovery/registered-route-handler-helpers.mjs +0 -16
- package/dist/api-contract-discovery/registered-route-runtime-parameters.d.mts +0 -3
- package/dist/api-contract-discovery/registered-route-runtime-parameters.mjs +0 -5
- package/dist/api-contract-discovery/registered-route-terminal-error.d.mts +0 -3
- package/dist/api-contract-discovery/registered-route-terminal-error.mjs +0 -98
- package/dist/api-contract-discovery/request-contract-implicit.d.mts +0 -17
- package/dist/api-contract-discovery/request-contract-implicit.mjs +0 -73
- package/dist/api-contract-discovery/request-contract-lenient.d.mts +0 -28
- package/dist/api-contract-discovery/request-contract-lenient.mjs +0 -59
- package/dist/api-contract-discovery/request-contract-registry.d.mts +0 -14
- package/dist/api-contract-discovery/request-contract-registry.mjs +0 -63
- package/dist/api-contract-discovery/request-contract-route-analysis.d.mts +0 -25
- package/dist/api-contract-discovery/request-contract-route-analysis.mjs +0 -68
- package/dist/api-contract-discovery/request-contract-types.d.mts +0 -12
- package/dist/api-contract-discovery/request-contract-types.mjs +0 -1
- package/dist/api-contract-discovery/request-validation-callbacks.d.mts +0 -9
- package/dist/api-contract-discovery/request-validation-callbacks.mjs +0 -27
- package/dist/api-contract-discovery/request-validation-checker.d.mts +0 -7
- package/dist/api-contract-discovery/request-validation-checker.mjs +0 -25
- package/dist/api-contract-discovery/request-validation-conditional.d.mts +0 -6
- package/dist/api-contract-discovery/request-validation-conditional.mjs +0 -31
- package/dist/api-contract-discovery/request-validation-factory-calls.d.mts +0 -11
- package/dist/api-contract-discovery/request-validation-factory-calls.mjs +0 -23
- package/dist/api-contract-discovery/request-validation-facts.d.mts +0 -16
- package/dist/api-contract-discovery/request-validation-facts.mjs +0 -64
- package/dist/api-contract-discovery/request-validation-follow.d.mts +0 -24
- package/dist/api-contract-discovery/request-validation-follow.mjs +0 -38
- package/dist/api-contract-discovery/request-validation-handler-state.d.mts +0 -8
- package/dist/api-contract-discovery/request-validation-handler-state.mjs +0 -35
- package/dist/api-contract-discovery/request-validation-input.d.mts +0 -12
- package/dist/api-contract-discovery/request-validation-input.mjs +0 -43
- package/dist/api-contract-discovery/request-validation-keys.d.mts +0 -25
- package/dist/api-contract-discovery/request-validation-keys.mjs +0 -119
- package/dist/api-contract-discovery/request-validation-match.d.mts +0 -11
- package/dist/api-contract-discovery/request-validation-match.mjs +0 -47
- package/dist/api-contract-discovery/request-validation-mutation.d.mts +0 -7
- package/dist/api-contract-discovery/request-validation-mutation.mjs +0 -80
- package/dist/api-contract-discovery/request-validation-origin.d.mts +0 -20
- package/dist/api-contract-discovery/request-validation-origin.mjs +0 -71
- package/dist/api-contract-discovery/request-validation-reads.d.mts +0 -13
- package/dist/api-contract-discovery/request-validation-reads.mjs +0 -88
- package/dist/api-contract-discovery/request-validation-registration.d.mts +0 -9
- package/dist/api-contract-discovery/request-validation-registration.mjs +0 -32
- package/dist/api-contract-discovery/request-validation-report.d.mts +0 -3
- package/dist/api-contract-discovery/request-validation-report.mjs +0 -21
- package/dist/api-contract-discovery/request-validation-request-origin.d.mts +0 -5
- package/dist/api-contract-discovery/request-validation-request-origin.mjs +0 -13
- package/dist/api-contract-discovery/request-validation-select.d.mts +0 -9
- package/dist/api-contract-discovery/request-validation-select.mjs +0 -36
- package/dist/api-contract-discovery/request-validation-sites.d.mts +0 -9
- package/dist/api-contract-discovery/request-validation-sites.mjs +0 -77
- package/dist/api-contract-discovery/request-validation-state-key.d.mts +0 -13
- package/dist/api-contract-discovery/request-validation-state-key.mjs +0 -30
- package/dist/api-contract-discovery/request-validation-trace-helpers.d.mts +0 -14
- package/dist/api-contract-discovery/request-validation-trace-helpers.mjs +0 -80
- package/dist/api-contract-discovery/request-validation-trace-select.d.mts +0 -23
- package/dist/api-contract-discovery/request-validation-trace-select.mjs +0 -45
- package/dist/api-contract-discovery/request-validation-trace.d.mts +0 -8
- package/dist/api-contract-discovery/request-validation-trace.mjs +0 -130
- package/dist/api-contract-discovery/request-validation-types.d.mts +0 -84
- package/dist/api-contract-discovery/request-validation-types.mjs +0 -1
- package/dist/api-contract-discovery/request-validation-walker.d.mts +0 -26
- package/dist/api-contract-discovery/request-validation-walker.mjs +0 -143
- package/dist/api-contract-discovery/request-validation.test-helpers.d.mts +0 -39
- package/dist/api-contract-discovery/request-validation.test-helpers.mjs +0 -108
- package/dist/api-contract-discovery/response-contract-attribution-facts.d.mts +0 -2
- package/dist/api-contract-discovery/response-contract-attribution-facts.mjs +0 -18
- package/dist/api-contract-discovery/response-contract-attribution.d.mts +0 -3
- package/dist/api-contract-discovery/response-contract-attribution.mjs +0 -23
- package/dist/api-contract-discovery/response-contract-call-classification.d.mts +0 -3
- package/dist/api-contract-discovery/response-contract-call-classification.mjs +0 -37
- package/dist/api-contract-discovery/response-contract-ctx-analysis.d.mts +0 -7
- package/dist/api-contract-discovery/response-contract-ctx-analysis.mjs +0 -28
- package/dist/api-contract-discovery/response-contract-error-branch.d.mts +0 -15
- package/dist/api-contract-discovery/response-contract-error-branch.mjs +0 -150
- package/dist/api-contract-discovery/response-contract-handler-bindings.d.mts +0 -3
- package/dist/api-contract-discovery/response-contract-handler-bindings.mjs +0 -126
- package/dist/api-contract-discovery/response-contract-handler-calls.d.mts +0 -3
- package/dist/api-contract-discovery/response-contract-handler-calls.mjs +0 -81
- package/dist/api-contract-discovery/response-contract-implicit-sources.test-helpers.d.mts +0 -145
- package/dist/api-contract-discovery/response-contract-implicit-sources.test-helpers.mjs +0 -145
- package/dist/api-contract-discovery/response-contract-implicit-variants.d.mts +0 -2
- package/dist/api-contract-discovery/response-contract-implicit-variants.mjs +0 -6
- package/dist/api-contract-discovery/response-contract-implicit.d.mts +0 -6
- package/dist/api-contract-discovery/response-contract-implicit.mjs +0 -120
- package/dist/api-contract-discovery/response-contract-lenient.d.mts +0 -41
- package/dist/api-contract-discovery/response-contract-lenient.mjs +0 -52
- package/dist/api-contract-discovery/response-contract-media.d.mts +0 -3
- package/dist/api-contract-discovery/response-contract-media.mjs +0 -46
- package/dist/api-contract-discovery/response-contract-object-symbols.d.mts +0 -3
- package/dist/api-contract-discovery/response-contract-object-symbols.mjs +0 -80
- package/dist/api-contract-discovery/response-contract-property-mutations.d.mts +0 -5
- package/dist/api-contract-discovery/response-contract-property-mutations.mjs +0 -84
- package/dist/api-contract-discovery/response-contract-registration.d.mts +0 -11
- package/dist/api-contract-discovery/response-contract-registration.mjs +0 -65
- package/dist/api-contract-discovery/response-contract-registry.d.mts +0 -7
- package/dist/api-contract-discovery/response-contract-registry.mjs +0 -124
- package/dist/api-contract-discovery/response-contract-route-analysis.d.mts +0 -12
- package/dist/api-contract-discovery/response-contract-route-analysis.mjs +0 -65
- package/dist/api-contract-discovery/response-contract-route-syntax.d.mts +0 -7
- package/dist/api-contract-discovery/response-contract-route-syntax.mjs +0 -41
- package/dist/api-contract-discovery/response-contract-status.d.mts +0 -27
- package/dist/api-contract-discovery/response-contract-status.mjs +0 -82
- package/dist/api-contract-discovery/response-contract-symbols.d.mts +0 -5
- package/dist/api-contract-discovery/response-contract-symbols.mjs +0 -82
- package/dist/api-contract-discovery/response-contract-types.d.mts +0 -23
- package/dist/api-contract-discovery/response-contract-types.mjs +0 -1
- package/dist/api-contract-discovery/test-setup.test-helpers.d.mts +0 -3
- package/dist/api-contract-discovery/test-setup.test-helpers.mjs +0 -2
- package/dist/workflow-policy/concurrency-scope.d.mts +0 -4
- package/dist/workflow-policy/concurrency-scope.mjs +0 -66
- package/dist/workflow-policy/concurrency.d.mts +0 -10
- package/dist/workflow-policy/concurrency.mjs +0 -77
- package/dist/workflow-policy/graph.d.mts +0 -2
- package/dist/workflow-policy/graph.mjs +0 -138
- /package/dist/{api-contract-discovery/header-contract-types.mjs → post-publication-inventory/readers/public-view-options.mjs} +0 -0
- /package/dist/{api-contract-discovery/query-contract-types.mjs → post-publication-inventory/readers/source-options.mjs} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { catalogResponse } from
|
|
1
|
+
import { catalogResponse } from "./openapi-route-helpers.mjs";
|
|
2
2
|
/** Keeps a cataloged stream unavailable until its extracted variants describe SSE. */
|
|
3
3
|
export function retainCatalogSseResponse(kind, variants, rendered) {
|
|
4
4
|
if (kind !== 'sse' ||
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { queryParameters } from
|
|
2
|
-
import { buildOperationRequestBody } from
|
|
3
|
-
import { buildOperationResponse } from
|
|
4
|
-
import { retainCatalogSseResponse } from
|
|
5
|
-
import { createComponentRegistry } from
|
|
6
|
-
import { responseStatusCodesForContract, routeShape, } from
|
|
7
|
-
import { registerOpenApiErrorResponse } from
|
|
8
|
-
import { canonicalTemplatesByShape, catalogResponse, operationId, pathParameters, } from
|
|
1
|
+
import { queryParameters } from "./build-openapi-query.mjs";
|
|
2
|
+
import { buildOperationRequestBody } from "./build-openapi-request.mjs";
|
|
3
|
+
import { buildOperationResponse } from "./build-openapi-response.mjs";
|
|
4
|
+
import { retainCatalogSseResponse } from "./build-openapi-catalog-sse.mjs";
|
|
5
|
+
import { createComponentRegistry } from "./component-registry.mjs";
|
|
6
|
+
import { responseStatusCodesForContract, routeShape, } from "./operation-types.mjs";
|
|
7
|
+
import { registerOpenApiErrorResponse } from "./openapi-error-response.mjs";
|
|
8
|
+
import { canonicalTemplatesByShape, catalogResponse, operationId, pathParameters, } from "./openapi-route-helpers.mjs";
|
|
9
9
|
export function buildOpenApiDocument(input) {
|
|
10
10
|
const registry = createComponentRegistry();
|
|
11
11
|
registerOpenApiErrorResponse(registry);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { nodeToOpenApi } from
|
|
1
|
+
import { nodeToOpenApi } from "./contract-schema-to-openapi.mjs";
|
|
2
2
|
export function buildOperationRequestBody(contract, registry) {
|
|
3
3
|
if (!contract)
|
|
4
4
|
return { requestBody: undefined, unavailable: false };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { STATUS_CODES } from 'node:http';
|
|
2
|
-
import { collectSseEventSchemas, renderSseEvents, } from
|
|
3
|
-
import { nodeToOpenApi } from
|
|
4
|
-
import { responseStatusCodesForContract } from
|
|
2
|
+
import { collectSseEventSchemas, renderSseEvents, } from "./build-openapi-sse-events.mjs";
|
|
3
|
+
import { nodeToOpenApi } from "./contract-schema-to-openapi.mjs";
|
|
4
|
+
import { responseStatusCodesForContract } from "./operation-types.mjs";
|
|
5
5
|
export function buildOperationResponse(variants, registry) {
|
|
6
6
|
const content = new Map();
|
|
7
7
|
const bodyless = new Map();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
|
-
import { nodeToOpenApi } from
|
|
2
|
+
import { nodeToOpenApi } from "./contract-schema-to-openapi.mjs";
|
|
3
3
|
export function sanitizeComponentName(rawName) {
|
|
4
4
|
return rawName
|
|
5
5
|
.replace(/[<,]/g, '_')
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { hashContractSchema } from
|
|
1
|
+
import { hashContractSchema } from "./contract-schema-canonical.mjs";
|
|
2
2
|
/**
|
|
3
3
|
* Structurally merges an all-object intersection instead of emitting raw `allOf`: the
|
|
4
4
|
* extractor defaults `additionalProperties:false`, so `allOf` of two closed objects is
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export { buildOpenApiDocument } from
|
|
2
|
-
export { queryParameters } from
|
|
3
|
-
export { buildOperationRequestBody } from
|
|
4
|
-
export { buildOperationResponse } from
|
|
5
|
-
export { createComponentRegistry, sanitizeComponentName } from
|
|
6
|
-
export { canonicalContractSchema, hashContractSchema } from
|
|
7
|
-
export { nodeToOpenApi } from
|
|
8
|
-
export { responseStatusCodesForContract, routeShape, } from
|
|
9
|
-
export { registerOpenApiErrorResponse } from
|
|
10
|
-
export { canonicalTemplatesByShape, catalogResponse, operationId, pathParameters, } from
|
|
11
|
-
export { objectNode, requiredProperty } from
|
|
12
|
-
export { writeOpenApi } from
|
|
1
|
+
export { buildOpenApiDocument } from "./build-openapi-document.mjs";
|
|
2
|
+
export { queryParameters } from "./build-openapi-query.mjs";
|
|
3
|
+
export { buildOperationRequestBody } from "./build-openapi-request.mjs";
|
|
4
|
+
export { buildOperationResponse } from "./build-openapi-response.mjs";
|
|
5
|
+
export { createComponentRegistry, sanitizeComponentName } from "./component-registry.mjs";
|
|
6
|
+
export { canonicalContractSchema, hashContractSchema } from "./contract-schema-canonical.mjs";
|
|
7
|
+
export { nodeToOpenApi } from "./contract-schema-to-openapi.mjs";
|
|
8
|
+
export { responseStatusCodesForContract, routeShape, } from "./operation-types.mjs";
|
|
9
|
+
export { registerOpenApiErrorResponse } from "./openapi-error-response.mjs";
|
|
10
|
+
export { canonicalTemplatesByShape, catalogResponse, operationId, pathParameters, } from "./openapi-route-helpers.mjs";
|
|
11
|
+
export { objectNode, requiredProperty } from "./schema-node-builders.mjs";
|
|
12
|
+
export { writeOpenApi } from "./write-openapi.mjs";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { STATUS_CODES } from 'node:http';
|
|
2
|
-
import { routeShape } from
|
|
2
|
+
import { routeShape } from "./operation-types.mjs";
|
|
3
3
|
export function canonicalTemplatesByShape(routeTemplates) {
|
|
4
4
|
const canonical = new Map();
|
|
5
5
|
for (const routeTemplate of routeTemplates) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { groupBy, keyed } from
|
|
2
|
-
import { buildTableSnapshots } from
|
|
3
|
-
export { buildTableSnapshots } from
|
|
1
|
+
import { groupBy, keyed } from "./snapshot-build-utils.mjs";
|
|
2
|
+
import { buildTableSnapshots } from "./table-snapshot.mjs";
|
|
3
|
+
export { buildTableSnapshots } from "./table-snapshot.mjs";
|
|
4
4
|
/**
|
|
5
5
|
* Transforms raw pg_catalog rows into the committed, name-keyed schema snapshot object. Pure —
|
|
6
6
|
* no I/O. Table-specific catalog validation and structured facts live in table-snapshot.mts;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { readEnums, readExtensions, readFunctions, readPolicies, readViews, } from
|
|
2
|
-
import { readConstraints } from
|
|
3
|
-
import { readIndexes, readTriggers, } from
|
|
4
|
-
import { readColumns, readTables, } from
|
|
1
|
+
import { readEnums, readExtensions, readFunctions, readPolicies, readViews, } from "./catalog-objects.mjs";
|
|
2
|
+
import { readConstraints } from "./catalog-table-constraints.mjs";
|
|
3
|
+
import { readIndexes, readTriggers, } from "./catalog-table-indexes.mjs";
|
|
4
|
+
import { readColumns, readTables, } from "./catalog-tables.mjs";
|
|
5
5
|
export { readColumns, readConstraints, readEnums, readExtensions, readFunctions, readIndexes, readPolicies, readTables, readTriggers, readViews, };
|
|
6
6
|
export async function readSchemaCatalog(query) {
|
|
7
7
|
const [tables, columns, constraints, indexes, triggers, enums, views, extensions, functions, policies,] = await Promise.all([
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EXCLUDE_EXTENSION_OWNED, EXCLUDE_PARTITION_CHILDREN, TABLE_RELKINDS, } from
|
|
1
|
+
import { EXCLUDE_EXTENSION_OWNED, EXCLUDE_PARTITION_CHILDREN, TABLE_RELKINDS, } from "./catalog-shared.mjs";
|
|
2
2
|
export async function readConstraints(query) {
|
|
3
3
|
const { rows } = await query(`/* readSchemaSnapshotConstraints */
|
|
4
4
|
SELECT
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EXCLUDE_EXTENSION_OWNED, EXCLUDE_PARTITION_CHILDREN, TABLE_RELKINDS, } from
|
|
1
|
+
import { EXCLUDE_EXTENSION_OWNED, EXCLUDE_PARTITION_CHILDREN, TABLE_RELKINDS, } from "./catalog-shared.mjs";
|
|
2
2
|
export async function readIndexes(query) {
|
|
3
3
|
const { rows } = await query(`/* readSchemaSnapshotIndexes */
|
|
4
4
|
SELECT
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EXCLUDE_EXTENSION_OWNED, EXCLUDE_PARTITION_CHILDREN, TABLE_RELKINDS, } from
|
|
1
|
+
import { EXCLUDE_EXTENSION_OWNED, EXCLUDE_PARTITION_CHILDREN, TABLE_RELKINDS, } from "./catalog-shared.mjs";
|
|
2
2
|
export async function readTables(query) {
|
|
3
3
|
const { rows } = await query(`/* readSchemaSnapshotTables */
|
|
4
4
|
SELECT
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { readFile, rm } from 'node:fs/promises';
|
|
2
2
|
import { isAbsolute, join, relative, resolve, sep } from 'node:path';
|
|
3
|
-
import { buildSchemaSnapshot } from
|
|
4
|
-
import { readSchemaCatalog } from
|
|
5
|
-
import { assertSafeExistingFilePath, ensureSafeParentDirectory, lstatOrNull, writeGeneratedFile, } from
|
|
6
|
-
import { markdownFilesOnDisk } from
|
|
7
|
-
import { renderSchemaMarkdown } from
|
|
3
|
+
import { buildSchemaSnapshot } from "./build-snapshot.mjs";
|
|
4
|
+
import { readSchemaCatalog } from "./catalog-queries.mjs";
|
|
5
|
+
import { assertSafeExistingFilePath, ensureSafeParentDirectory, lstatOrNull, writeGeneratedFile, } from "./file-safety.mjs";
|
|
6
|
+
import { markdownFilesOnDisk } from "./markdown-files.mjs";
|
|
7
|
+
import { renderSchemaMarkdown } from "./render-markdown.mjs";
|
|
8
8
|
export function stableStringify(value) {
|
|
9
9
|
return `${JSON.stringify(sortKeys(value), null, 2)}\n`;
|
|
10
10
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { buildSchemaSnapshot, buildTableSnapshots } from
|
|
2
|
-
export { readColumns, readConstraints, readEnums, readExtensions, readFunctions, readIndexes, readPolicies, readSchemaCatalog, readTables, readTriggers, readViews, } from
|
|
3
|
-
export { generateSchemaSnapshot, stableStringify, writeSchemaSnapshot } from
|
|
4
|
-
export { detectRenamedIndexes, indexShapeKey } from
|
|
5
|
-
export { renderSchemaMarkdown } from
|
|
6
|
-
export { renderTableDocument } from
|
|
1
|
+
export { buildSchemaSnapshot, buildTableSnapshots } from "./build-snapshot.mjs";
|
|
2
|
+
export { readColumns, readConstraints, readEnums, readExtensions, readFunctions, readIndexes, readPolicies, readSchemaCatalog, readTables, readTriggers, readViews, } from "./catalog-queries.mjs";
|
|
3
|
+
export { generateSchemaSnapshot, stableStringify, writeSchemaSnapshot } from "./generate.mjs";
|
|
4
|
+
export { detectRenamedIndexes, indexShapeKey } from "./index-rename-detect.mjs";
|
|
5
|
+
export { renderSchemaMarkdown } from "./render-markdown.mjs";
|
|
6
|
+
export { renderTableDocument } from "./render-tables.mjs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readdir } from 'node:fs/promises';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
-
import { lstatOrNull } from
|
|
3
|
+
import { lstatOrNull } from "./file-safety.mjs";
|
|
4
4
|
function unsafeSchemaSnapshotPath(path) {
|
|
5
5
|
return new Error(`Unsafe generated PostgreSQL schema snapshot path: ${path}`);
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { keyed } from
|
|
2
|
-
import { buildTableColumns } from
|
|
3
|
-
import { buildTableConstraints } from
|
|
1
|
+
import { keyed } from "./snapshot-build-utils.mjs";
|
|
2
|
+
import { buildTableColumns } from "./table-snapshot-columns.mjs";
|
|
3
|
+
import { buildTableConstraints } from "./table-snapshot-constraints.mjs";
|
|
4
4
|
function physicalPartition({ partition_key: key, partition_strategy: strategy, }) {
|
|
5
5
|
if (strategy === '')
|
|
6
6
|
return null;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { pruneDeployedRuntimeDeps, runPruneDeployedRuntimeDepsCli } from
|
|
2
|
-
export { EPOCH_PRUNED_AT, normalizeDeployedLayer, runNormalizeDeployedLayerCli, } from
|
|
3
|
-
export { restoreDeployedWorkspacePackages, runRestoreDeployedWorkspacePackagesCli, } from
|
|
1
|
+
export { pruneDeployedRuntimeDeps, runPruneDeployedRuntimeDepsCli } from "./prune.mjs";
|
|
2
|
+
export { EPOCH_PRUNED_AT, normalizeDeployedLayer, runNormalizeDeployedLayerCli, } from "./normalize.mjs";
|
|
3
|
+
export { restoreDeployedWorkspacePackages, runRestoreDeployedWorkspacePackagesCli, } from "./restore.mjs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
import { expandWorkspaceGlob } from
|
|
3
|
+
import { expandWorkspaceGlob } from "../workspace-glob.mjs";
|
|
4
4
|
function packagePath(packageName) {
|
|
5
5
|
return path.join(...packageName.split('/'));
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
// oxfmt-ignore
|
|
3
|
-
import { INSTALL_TERMINATION_FAILED, installExitCode, startInstallHeartbeat, terminateSafeProcessGroup } from
|
|
3
|
+
import { INSTALL_TERMINATION_FAILED, installExitCode, startInstallHeartbeat, terminateSafeProcessGroup } from "./process.mjs";
|
|
4
4
|
/**
|
|
5
5
|
* Spawn one `pnpm` attempt. Both stdout and stderr are always captured (so a terminal failure
|
|
6
6
|
* like a release-age violation can be classified from `errorOutput`) and, unless `capture` is
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { runInstallLifecycle } from
|
|
2
|
-
export { runPnpm } from
|
|
3
|
-
export { baseInstallArgs, findWorkspaceLinkMismatches, listWorkspaces, logWorkspaceLinkMismatches, parseInstallOptions, reportGlibcVersionRuntime, } from
|
|
4
|
-
export { formatReleaseAgeFailure, isReleaseAgeViolation, parseReleaseAgeViolations, } from
|
|
5
|
-
export { flattenReleaseAgeSelectors, packageNameFromPnpmLockKey, pnpmLockPackageKeyMatchesSelector, validateReleaseAgeExemptionGroups, validateReleaseAgePolicy, } from
|
|
6
|
-
export { INSTALL_TERMINATION_FAILED, installExitCode, safeProcessGroup, startInstallHeartbeat, terminateProcessGroup, terminateSafeProcessGroup, } from
|
|
7
|
-
export { persistentDependencyTreeIsCold } from
|
|
8
|
-
export { persistentMetadataFingerprint, persistentMetadataMatches, writePersistentMetadataStamp, } from
|
|
1
|
+
export { runInstallLifecycle } from "./runner.mjs";
|
|
2
|
+
export { runPnpm } from "./exec.mjs";
|
|
3
|
+
export { baseInstallArgs, findWorkspaceLinkMismatches, listWorkspaces, logWorkspaceLinkMismatches, parseInstallOptions, reportGlibcVersionRuntime, } from "./support.mjs";
|
|
4
|
+
export { formatReleaseAgeFailure, isReleaseAgeViolation, parseReleaseAgeViolations, } from "./release-age.mjs";
|
|
5
|
+
export { flattenReleaseAgeSelectors, packageNameFromPnpmLockKey, pnpmLockPackageKeyMatchesSelector, validateReleaseAgeExemptionGroups, validateReleaseAgePolicy, } from "./release-age-policy.mjs";
|
|
6
|
+
export { INSTALL_TERMINATION_FAILED, installExitCode, safeProcessGroup, startInstallHeartbeat, terminateProcessGroup, terminateSafeProcessGroup, } from "./process.mjs";
|
|
7
|
+
export { persistentDependencyTreeIsCold } from "./metadata.mjs";
|
|
8
|
+
export { persistentMetadataFingerprint, persistentMetadataMatches, writePersistentMetadataStamp, } from "./metadata-legacy.mjs";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { scheduler } from 'node:timers/promises';
|
|
2
|
-
import { runPnpm } from
|
|
3
|
-
import { nativeBinariesMatchRuntime, repairedNativeBinariesMatchRuntime } from
|
|
4
|
-
import { buildLedgersAllowNativeRepair, deduplicatePendingBuilds, pendingBuilds, pruneStalePendingBuilds, } from
|
|
5
|
-
import { INSTALL_TERMINATION_FAILED } from
|
|
6
|
-
import { formatReleaseAgeFailure, isReleaseAgeViolation } from
|
|
7
|
-
import { findWorkspaceLinkMismatches, forcedInstallArgs, logWorkspaceLinkMismatches, } from
|
|
2
|
+
import { runPnpm } from "./exec.mjs";
|
|
3
|
+
import { nativeBinariesMatchRuntime, repairedNativeBinariesMatchRuntime } from "./native-health.mjs";
|
|
4
|
+
import { buildLedgersAllowNativeRepair, deduplicatePendingBuilds, pendingBuilds, pruneStalePendingBuilds, } from "./pending-builds.mjs";
|
|
5
|
+
import { INSTALL_TERMINATION_FAILED } from "./process.mjs";
|
|
6
|
+
import { formatReleaseAgeFailure, isReleaseAgeViolation } from "./release-age.mjs";
|
|
7
|
+
import { findWorkspaceLinkMismatches, forcedInstallArgs, logWorkspaceLinkMismatches, } from "./support.mjs";
|
|
8
8
|
function fail(message) {
|
|
9
9
|
throw new Error(message);
|
|
10
10
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
2
|
import { mkdir, readFile, rename, rm, writeFile } from 'node:fs/promises';
|
|
3
3
|
import path from 'node:path';
|
|
4
|
-
import { listWorkspaces, reportGlibcVersionRuntime } from
|
|
4
|
+
import { listWorkspaces, reportGlibcVersionRuntime } from "./support.mjs";
|
|
5
5
|
function persistentMetadataStampPath() {
|
|
6
6
|
return path.join(process.cwd(), 'node_modules', '.pnpm-install-metadata-health.v3.json');
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type CaptureCommand } from './support.mts';
|
|
2
2
|
import { type ProvenanceStatus } from './transition.mts';
|
|
3
|
-
declare const componentNames: readonly [
|
|
3
|
+
declare const componentNames: readonly ["lockfile", "npm-config", "pnpm", "pnpmfiles", "runtime", "workspace-config", "workspace-manifests"];
|
|
4
4
|
type ComponentName = (typeof componentNames)[number];
|
|
5
5
|
type StructuralProvenance = Record<ComponentName, string>;
|
|
6
6
|
export declare function persistentMetadataFingerprintV5(runCapture: CaptureCommand): Promise<{
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createHash } from 'node:crypto';
|
|
2
2
|
import { mkdir, readFile, rename, rm, stat, writeFile } from 'node:fs/promises';
|
|
3
3
|
import path from 'node:path';
|
|
4
|
-
import { listWorkspaces, reportGlibcVersionRuntime } from
|
|
5
|
-
import {} from
|
|
4
|
+
import { listWorkspaces, reportGlibcVersionRuntime } from "./support.mjs";
|
|
5
|
+
import {} from "./transition.mjs";
|
|
6
6
|
const componentNames = [
|
|
7
7
|
'lockfile',
|
|
8
8
|
'npm-config',
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { glob, open, readFile, stat } from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
import { expectedNativeFamily, nativeFamilyFromMagic } from
|
|
4
|
-
export { expectedNativeFamily, nativeFamilyFromMagic } from
|
|
3
|
+
import { expectedNativeFamily, nativeFamilyFromMagic } from "./native-family.mjs";
|
|
4
|
+
export { expectedNativeFamily, nativeFamilyFromMagic } from "./native-family.mjs";
|
|
5
5
|
async function readMagic(pathname) {
|
|
6
6
|
let handle;
|
|
7
7
|
try {
|
|
@@ -3,8 +3,8 @@ import { mkdtemp, mkdir, readFile, rm, symlink, writeFile } from 'node:fs/promis
|
|
|
3
3
|
import { tmpdir } from 'node:os';
|
|
4
4
|
import { dirname, join } from 'node:path';
|
|
5
5
|
import { promisify } from 'node:util';
|
|
6
|
-
import { runPnpmInstallCli } from
|
|
7
|
-
import { fakePnpmScript } from
|
|
6
|
+
import { runPnpmInstallCli } from "../cli/commands/pnpm-install.mjs";
|
|
7
|
+
import { fakePnpmScript } from "./pnpm-install-fake-pnpm.test-helpers.mjs";
|
|
8
8
|
const execFileAsync = promisify(execFile);
|
|
9
9
|
async function writeJson(path, value) {
|
|
10
10
|
await mkdir(dirname(path), { recursive: true });
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { persistentDependencyTreeIsCold, persistentMetadataFingerprintV5, persistentMetadataStatusV5, writePersistentMetadataStampV5, } from
|
|
2
|
-
import { runPnpm } from
|
|
3
|
-
import { mismatchedNativeBinaries } from
|
|
1
|
+
import { persistentDependencyTreeIsCold, persistentMetadataFingerprintV5, persistentMetadataStatusV5, writePersistentMetadataStampV5, } from "./metadata.mjs";
|
|
2
|
+
import { runPnpm } from "./exec.mjs";
|
|
3
|
+
import { mismatchedNativeBinaries } from "./native-health.mjs";
|
|
4
4
|
// oxfmt-ignore
|
|
5
|
-
import { pendingBuilds } from
|
|
5
|
+
import { pendingBuilds } from "./pending-builds.mjs";
|
|
6
6
|
// oxfmt-ignore
|
|
7
|
-
import { finalizePendingBuilds, install, reconcileOrFail, repairIsolatedNativeMismatch, withScriptPolicy } from
|
|
7
|
+
import { finalizePendingBuilds, install, reconcileOrFail, repairIsolatedNativeMismatch, withScriptPolicy } from "./install-operations.mjs";
|
|
8
8
|
// oxfmt-ignore
|
|
9
|
-
import { baseInstallArgs, findWorkspaceLinkMismatches, logWorkspaceLinkMismatches } from
|
|
10
|
-
import { persistentInstallTransition, persistentProvenanceDiagnostic } from
|
|
9
|
+
import { baseInstallArgs, findWorkspaceLinkMismatches, logWorkspaceLinkMismatches } from "./support.mjs";
|
|
10
|
+
import { persistentInstallTransition, persistentProvenanceDiagnostic } from "./transition.mjs";
|
|
11
11
|
// oxfmt-ignore
|
|
12
12
|
const fail = (message) => { throw new Error(message); };
|
|
13
13
|
async function persistent(options) {
|
|
@@ -3,3 +3,9 @@ export type { PostPublicationWriterSourceAnalysis } from './writers/source.mts';
|
|
|
3
3
|
export type { PostPublicationWriterSourceOptions } from './writers/types.mts';
|
|
4
4
|
export { extractStaticSqlTemplateQuasis } from './readers/sql-source.mts';
|
|
5
5
|
export type { ReaderSqlTemplateOptions } from './readers/sql-template.mts';
|
|
6
|
+
export { sourceImportsAndComposesAny } from './readers/composes.mts';
|
|
7
|
+
export { sourceImportsAndUsesBoundaryAny } from './readers/composition.mts';
|
|
8
|
+
export { sourceFiltersWithPublicBoundary } from './readers/public-boundary.mts';
|
|
9
|
+
export type { ReaderSourceAnalysisOptions } from './readers/source-options.mts';
|
|
10
|
+
export { composesPublicEligibilityView } from './readers/public-view.mts';
|
|
11
|
+
export type { ReaderPublicViewOptions } from './readers/public-view-options.mts';
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
export { analyzePostPublicationWriterSource } from
|
|
2
|
-
export { extractStaticSqlTemplateQuasis } from
|
|
1
|
+
export { analyzePostPublicationWriterSource } from "./writers/source.mjs";
|
|
2
|
+
export { extractStaticSqlTemplateQuasis } from "./readers/sql-source.mjs";
|
|
3
|
+
export { sourceImportsAndComposesAny } from "./readers/composes.mjs";
|
|
4
|
+
export { sourceImportsAndUsesBoundaryAny } from "./readers/composition.mjs";
|
|
5
|
+
export { sourceFiltersWithPublicBoundary } from "./readers/public-boundary.mjs";
|
|
6
|
+
export { composesPublicEligibilityView } from "./readers/public-view.mjs";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ReaderSourceAnalysisOptions } from './source-options.mts';
|
|
2
|
+
type Node = import('./source-ast.mts').UnknownNode;
|
|
3
|
+
export declare function composeAppendAndPush(ast: Node, imported: Set<string>, canonicalBindings: Map<string, {
|
|
4
|
+
declaredAt: number;
|
|
5
|
+
names: string[];
|
|
6
|
+
}>, localSqlStatements: Set<string>, consumedSqlStatements: Set<string>, consumedBindings: Set<string>, reassignedBindings: Set<string>, composed: Set<string>, options: ReaderSourceAnalysisOptions): void;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { isNode, propertyName, walk } from "./source-ast.mjs";
|
|
2
|
+
import { addBindingComposition, addComposedNames, appendReceiverName, canonicalCallNames, isAppendCall, isPushCall, } from "./source-helpers.mjs";
|
|
3
|
+
export function composeAppendAndPush(ast, imported, canonicalBindings, localSqlStatements, consumedSqlStatements, consumedBindings, reassignedBindings, composed, options) {
|
|
4
|
+
walk(ast, (node) => {
|
|
5
|
+
if (node.type !== 'ForOfStatement' || !isNode(node.right))
|
|
6
|
+
return;
|
|
7
|
+
const binding = propertyName(node.right);
|
|
8
|
+
if (binding)
|
|
9
|
+
consumedBindings.add(binding);
|
|
10
|
+
});
|
|
11
|
+
walk(ast, (node) => {
|
|
12
|
+
if (!isAppendCall(node, options) || !Array.isArray(node.arguments))
|
|
13
|
+
return;
|
|
14
|
+
const receiver = appendReceiverName(node);
|
|
15
|
+
if (receiver && localSqlStatements.has(receiver) && !consumedSqlStatements.has(receiver)) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
for (const argument of node.arguments) {
|
|
19
|
+
addComposedNames(composed, canonicalCallNames(argument, imported));
|
|
20
|
+
const binding = propertyName(argument);
|
|
21
|
+
const declaration = canonicalBindings.get(binding ?? '');
|
|
22
|
+
if (declaration && argument.range[0] > declaration.declaredAt)
|
|
23
|
+
addBindingComposition(composed, declaration, reassignedBindings.has(binding));
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
walk(ast, (node) => {
|
|
27
|
+
if (!isPushCall(node) || !Array.isArray(node.arguments))
|
|
28
|
+
return;
|
|
29
|
+
const collection = appendReceiverName(node);
|
|
30
|
+
if (!collection || !consumedBindings.has(collection))
|
|
31
|
+
return;
|
|
32
|
+
for (const argument of node.arguments) {
|
|
33
|
+
addComposedNames(composed, canonicalCallNames(argument, imported));
|
|
34
|
+
const binding = propertyName(argument);
|
|
35
|
+
addBindingComposition(composed, canonicalBindings.get(binding ?? ''), reassignedBindings.has(binding ?? ''));
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { composeAppendAndPush } from "./compose-appends.mjs";
|
|
2
|
+
import { isNode, parseSource, propertyName, walk } from "./source-ast.mjs";
|
|
3
|
+
import { addBindingComposition, addComposedNames, appendReceiverName, canonicalCallNames, importedCanonicalBindings, isAppendCall, isPushCall, isSqlStatementInitializer, isTerminalSqlCall, terminalSqlExecutorBindings, } from "./source-helpers.mjs";
|
|
4
|
+
export function sourceImportsAndComposesAny(content, symbols, options) {
|
|
5
|
+
const ast = parseSource(content).ast;
|
|
6
|
+
const terminalExecutors = terminalSqlExecutorBindings(ast, options);
|
|
7
|
+
const imported = importedCanonicalBindings(ast, symbols, options);
|
|
8
|
+
if (imported.size === 0)
|
|
9
|
+
return false;
|
|
10
|
+
const canonicalBindings = new Map();
|
|
11
|
+
const localSqlStatements = new Set();
|
|
12
|
+
const localCollections = new Set();
|
|
13
|
+
const consumedSqlStatements = new Set();
|
|
14
|
+
const consumedBindings = new Set();
|
|
15
|
+
const reassignedBindings = new Set();
|
|
16
|
+
const composed = new Set();
|
|
17
|
+
walk(ast, (node) => {
|
|
18
|
+
if (node.type !== 'VariableDeclarator')
|
|
19
|
+
return;
|
|
20
|
+
const binding = propertyName(node.id);
|
|
21
|
+
const initializer = isNode(node.init) ? node.init : undefined;
|
|
22
|
+
if (binding && isSqlStatementInitializer(initializer, options))
|
|
23
|
+
localSqlStatements.add(binding);
|
|
24
|
+
if (binding && initializer?.type === 'ArrayExpression')
|
|
25
|
+
localCollections.add(binding);
|
|
26
|
+
const canonicalCalls = canonicalCallNames(initializer, imported);
|
|
27
|
+
if (binding && canonicalCalls.length > 0) {
|
|
28
|
+
canonicalBindings.set(binding, { declaredAt: node.range[1], names: canonicalCalls });
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
walk(ast, (node) => {
|
|
32
|
+
if (node.type !== 'AssignmentExpression' || !isNode(node.left))
|
|
33
|
+
return;
|
|
34
|
+
const binding = propertyName(node.left);
|
|
35
|
+
if (binding)
|
|
36
|
+
reassignedBindings.add(binding);
|
|
37
|
+
});
|
|
38
|
+
walk(ast, (node) => {
|
|
39
|
+
if (node.type === 'ReturnStatement' && isNode(node.argument)) {
|
|
40
|
+
const binding = propertyName(node.argument);
|
|
41
|
+
if (binding)
|
|
42
|
+
consumedSqlStatements.add(binding);
|
|
43
|
+
if (binding)
|
|
44
|
+
consumedBindings.add(binding);
|
|
45
|
+
addComposedNames(composed, canonicalCallNames(node.argument, imported));
|
|
46
|
+
addBindingComposition(composed, canonicalBindings.get(binding ?? ''), reassignedBindings.has(binding ?? ''));
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (node.type !== 'CallExpression' || !Array.isArray(node.arguments))
|
|
50
|
+
return;
|
|
51
|
+
const appends = isAppendCall(node, options);
|
|
52
|
+
const pushes = isPushCall(node);
|
|
53
|
+
const terminal = isTerminalSqlCall(node, terminalExecutors);
|
|
54
|
+
const pushReceiver = pushes ? appendReceiverName(node) : null;
|
|
55
|
+
for (const argument of node.arguments) {
|
|
56
|
+
const binding = propertyName(argument);
|
|
57
|
+
if (!binding)
|
|
58
|
+
continue;
|
|
59
|
+
if (terminal) {
|
|
60
|
+
consumedSqlStatements.add(binding);
|
|
61
|
+
}
|
|
62
|
+
if (pushes && pushReceiver && !localCollections.has(pushReceiver)) {
|
|
63
|
+
consumedSqlStatements.add(binding);
|
|
64
|
+
}
|
|
65
|
+
if (!appends || appendReceiverName(node) !== binding)
|
|
66
|
+
consumedBindings.add(binding);
|
|
67
|
+
}
|
|
68
|
+
if (!appends &&
|
|
69
|
+
!isPushCall(node) &&
|
|
70
|
+
isNode(node.callee) &&
|
|
71
|
+
node.callee.type === 'MemberExpression') {
|
|
72
|
+
const receiver = propertyName(node.callee.object);
|
|
73
|
+
if (receiver)
|
|
74
|
+
consumedBindings.add(receiver);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
composeAppendAndPush(ast, imported, canonicalBindings, localSqlStatements, consumedSqlStatements, consumedBindings, reassignedBindings, composed, options);
|
|
78
|
+
return [...imported].some((name) => composed.has(name));
|
|
79
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { isNode, parseSource, propertyName, walk } from "./source-ast.mjs";
|
|
2
|
+
import { canonicalCallNames, importedCanonicalBindings } from "./source-helpers.mjs";
|
|
3
|
+
export function sourceImportsAndUsesBoundaryAny(content, symbols, options) {
|
|
4
|
+
const ast = parseSource(content).ast;
|
|
5
|
+
const imported = importedCanonicalBindings(ast, symbols, options);
|
|
6
|
+
if (imported.size === 0)
|
|
7
|
+
return false;
|
|
8
|
+
const resultBindings = new Map();
|
|
9
|
+
walk(ast, (node) => {
|
|
10
|
+
if (node.type !== 'VariableDeclarator' || !isNode(node.id) || !isNode(node.init))
|
|
11
|
+
return;
|
|
12
|
+
const binding = propertyName(node.id);
|
|
13
|
+
const calls = canonicalCallNames(node.init, imported);
|
|
14
|
+
if (!binding && calls.length > 0)
|
|
15
|
+
imported.add('__used__');
|
|
16
|
+
if (binding && calls.length > 0) {
|
|
17
|
+
resultBindings.set(binding, node.range[1]);
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
walk(ast, (node) => {
|
|
21
|
+
if (node.type === 'ReturnStatement' && isNode(node.argument)) {
|
|
22
|
+
if (canonicalCallNames(node.argument, imported).length > 0)
|
|
23
|
+
imported.add('__used__');
|
|
24
|
+
const binding = propertyName(node.argument);
|
|
25
|
+
if (binding && resultBindings.has(binding))
|
|
26
|
+
imported.add('__used__');
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (node.type !== 'CallExpression')
|
|
30
|
+
return;
|
|
31
|
+
if (isMeaningfulBoundaryCall(node, imported, options))
|
|
32
|
+
imported.add('__used__');
|
|
33
|
+
for (const argument of node.arguments) {
|
|
34
|
+
const binding = propertyName(argument);
|
|
35
|
+
const declaredAt = binding ? resultBindings.get(binding) : undefined;
|
|
36
|
+
if (binding && declaredAt !== undefined && argument.range[0] > declaredAt) {
|
|
37
|
+
imported.add('__used__');
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
walk(ast, (node) => {
|
|
42
|
+
if (node.type !== 'MemberExpression' || !isNode(node.object))
|
|
43
|
+
return;
|
|
44
|
+
const binding = propertyName(node.object);
|
|
45
|
+
const declaredAt = binding ? resultBindings.get(binding) : undefined;
|
|
46
|
+
if (binding && declaredAt !== undefined && node.range[0] > declaredAt) {
|
|
47
|
+
imported.add('__used__');
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
return imported.has('__used__');
|
|
51
|
+
}
|
|
52
|
+
/** Proves a SQL builder result reaches a live SQL statement or a compositional return/push path. */
|
|
53
|
+
function isMeaningfulBoundaryCall(node, imported, options) {
|
|
54
|
+
if (canonicalCallNames(node, imported).length === 0 || !isNode(node.callee))
|
|
55
|
+
return false;
|
|
56
|
+
if (node.callee.type === 'Identifier') {
|
|
57
|
+
const callee = propertyName(node.callee);
|
|
58
|
+
return callee !== options.ignoredCall && !imported.has(node.callee.name);
|
|
59
|
+
}
|
|
60
|
+
return (node.callee.type === 'MemberExpression' &&
|
|
61
|
+
['all', 'allSettled', 'assert', 'then'].includes(propertyName(node.callee.property) ?? ''));
|
|
62
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
type Node = import('./source-ast.mts').UnknownNode;
|
|
2
|
+
export declare function walkWithAncestors(node: Node, ancestors: Node[], visit: (node: Node, ancestors: Node[]) => void): void;
|
|
3
|
+
export declare function isSetHasCall(node: Node): boolean;
|
|
4
|
+
export declare function containsNode(root: Node, target: Node): boolean;
|
|
5
|
+
export {};
|