@prodara/compiler 0.1.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 +204 -0
- package/dist/agent/agent.d.ts +10 -0
- package/dist/agent/agent.d.ts.map +1 -0
- package/dist/agent/agent.js +122 -0
- package/dist/agent/agent.js.map +1 -0
- package/dist/agent/api-client.d.ts +29 -0
- package/dist/agent/api-client.d.ts.map +1 -0
- package/dist/agent/api-client.js +167 -0
- package/dist/agent/api-client.js.map +1 -0
- package/dist/agent/index.d.ts +5 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +3 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/party.d.ts +48 -0
- package/dist/agent/party.d.ts.map +1 -0
- package/dist/agent/party.js +79 -0
- package/dist/agent/party.js.map +1 -0
- package/dist/agent/types.d.ts +35 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent/types.js +5 -0
- package/dist/agent/types.js.map +1 -0
- package/dist/audit/audit.d.ts +32 -0
- package/dist/audit/audit.d.ts.map +1 -0
- package/dist/audit/audit.js +120 -0
- package/dist/audit/audit.js.map +1 -0
- package/dist/audit/index.d.ts +3 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit/index.js +2 -0
- package/dist/audit/index.js.map +1 -0
- package/dist/audit/types.d.ts +25 -0
- package/dist/audit/types.d.ts.map +1 -0
- package/dist/audit/types.js +5 -0
- package/dist/audit/types.js.map +1 -0
- package/dist/binder/binder.d.ts +34 -0
- package/dist/binder/binder.d.ts.map +1 -0
- package/dist/binder/binder.js +202 -0
- package/dist/binder/binder.js.map +1 -0
- package/dist/binder/index.d.ts +3 -0
- package/dist/binder/index.d.ts.map +1 -0
- package/dist/binder/index.js +2 -0
- package/dist/binder/index.js.map +1 -0
- package/dist/build-state/build-state.d.ts +40 -0
- package/dist/build-state/build-state.d.ts.map +1 -0
- package/dist/build-state/build-state.js +180 -0
- package/dist/build-state/build-state.js.map +1 -0
- package/dist/build-state/index.d.ts +3 -0
- package/dist/build-state/index.d.ts.map +1 -0
- package/dist/build-state/index.js +2 -0
- package/dist/build-state/index.js.map +1 -0
- package/dist/checker/index.d.ts +5 -0
- package/dist/checker/index.d.ts.map +1 -0
- package/dist/checker/index.js +3 -0
- package/dist/checker/index.js.map +1 -0
- package/dist/checker/type-checker.d.ts +8 -0
- package/dist/checker/type-checker.d.ts.map +1 -0
- package/dist/checker/type-checker.js +136 -0
- package/dist/checker/type-checker.js.map +1 -0
- package/dist/checker/validator.d.ts +8 -0
- package/dist/checker/validator.d.ts.map +1 -0
- package/dist/checker/validator.js +251 -0
- package/dist/checker/validator.js.map +1 -0
- package/dist/cli/agent-setup.d.ts +27 -0
- package/dist/cli/agent-setup.d.ts.map +1 -0
- package/dist/cli/agent-setup.js +829 -0
- package/dist/cli/agent-setup.js.map +1 -0
- package/dist/cli/analyze.d.ts +28 -0
- package/dist/cli/analyze.d.ts.map +1 -0
- package/dist/cli/analyze.js +188 -0
- package/dist/cli/analyze.js.map +1 -0
- package/dist/cli/checklist.d.ts +27 -0
- package/dist/cli/checklist.d.ts.map +1 -0
- package/dist/cli/checklist.js +153 -0
- package/dist/cli/checklist.js.map +1 -0
- package/dist/cli/compile.d.ts +26 -0
- package/dist/cli/compile.d.ts.map +1 -0
- package/dist/cli/compile.js +112 -0
- package/dist/cli/compile.js.map +1 -0
- package/dist/cli/dashboard.d.ts +19 -0
- package/dist/cli/dashboard.d.ts.map +1 -0
- package/dist/cli/dashboard.js +73 -0
- package/dist/cli/dashboard.js.map +1 -0
- package/dist/cli/explain.d.ts +23 -0
- package/dist/cli/explain.d.ts.map +1 -0
- package/dist/cli/explain.js +144 -0
- package/dist/cli/explain.js.map +1 -0
- package/dist/cli/git.d.ts +14 -0
- package/dist/cli/git.d.ts.map +1 -0
- package/dist/cli/git.js +44 -0
- package/dist/cli/git.js.map +1 -0
- package/dist/cli/lifecycle.d.ts +28 -0
- package/dist/cli/lifecycle.d.ts.map +1 -0
- package/dist/cli/lifecycle.js +82 -0
- package/dist/cli/lifecycle.js.map +1 -0
- package/dist/cli/main.d.ts +10 -0
- package/dist/cli/main.d.ts.map +1 -0
- package/dist/cli/main.js +1072 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/cli/notify.d.ts +13 -0
- package/dist/cli/notify.d.ts.map +1 -0
- package/dist/cli/notify.js +36 -0
- package/dist/cli/notify.js.map +1 -0
- package/dist/cli/starters.d.ts +12 -0
- package/dist/cli/starters.d.ts.map +1 -0
- package/dist/cli/starters.js +439 -0
- package/dist/cli/starters.js.map +1 -0
- package/dist/config/config.d.ts +194 -0
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/config.js +434 -0
- package/dist/config/config.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +5 -0
- package/dist/config/index.js.map +1 -0
- package/dist/diagnostics/diagnostic.d.ts +44 -0
- package/dist/diagnostics/diagnostic.d.ts.map +1 -0
- package/dist/diagnostics/diagnostic.js +44 -0
- package/dist/diagnostics/diagnostic.js.map +1 -0
- package/dist/diagnostics/index.d.ts +4 -0
- package/dist/diagnostics/index.d.ts.map +1 -0
- package/dist/diagnostics/index.js +3 -0
- package/dist/diagnostics/index.js.map +1 -0
- package/dist/diagnostics/reporter.d.ts +43 -0
- package/dist/diagnostics/reporter.d.ts.map +1 -0
- package/dist/diagnostics/reporter.js +74 -0
- package/dist/diagnostics/reporter.js.map +1 -0
- package/dist/discovery/discovery.d.ts +6 -0
- package/dist/discovery/discovery.d.ts.map +1 -0
- package/dist/discovery/discovery.js +66 -0
- package/dist/discovery/discovery.js.map +1 -0
- package/dist/discovery/index.d.ts +2 -0
- package/dist/discovery/index.d.ts.map +1 -0
- package/dist/discovery/index.js +2 -0
- package/dist/discovery/index.js.map +1 -0
- package/dist/doc-gen/doc-gen-types.d.ts +174 -0
- package/dist/doc-gen/doc-gen-types.d.ts.map +1 -0
- package/dist/doc-gen/doc-gen-types.js +7 -0
- package/dist/doc-gen/doc-gen-types.js.map +1 -0
- package/dist/doc-gen/doc-renderer.d.ts +17 -0
- package/dist/doc-gen/doc-renderer.d.ts.map +1 -0
- package/dist/doc-gen/doc-renderer.js +65 -0
- package/dist/doc-gen/doc-renderer.js.map +1 -0
- package/dist/doc-gen/format-helpers.d.ts +18 -0
- package/dist/doc-gen/format-helpers.d.ts.map +1 -0
- package/dist/doc-gen/format-helpers.js +92 -0
- package/dist/doc-gen/format-helpers.js.map +1 -0
- package/dist/doc-gen/index.d.ts +5 -0
- package/dist/doc-gen/index.d.ts.map +1 -0
- package/dist/doc-gen/index.js +5 -0
- package/dist/doc-gen/index.js.map +1 -0
- package/dist/doc-gen/link-resolver.d.ts +10 -0
- package/dist/doc-gen/link-resolver.d.ts.map +1 -0
- package/dist/doc-gen/link-resolver.js +87 -0
- package/dist/doc-gen/link-resolver.js.map +1 -0
- package/dist/doc-gen/mermaid-renderers.d.ts +12 -0
- package/dist/doc-gen/mermaid-renderers.d.ts.map +1 -0
- package/dist/doc-gen/mermaid-renderers.js +197 -0
- package/dist/doc-gen/mermaid-renderers.js.map +1 -0
- package/dist/doc-gen/module-renderer.d.ts +6 -0
- package/dist/doc-gen/module-renderer.d.ts.map +1 -0
- package/dist/doc-gen/module-renderer.js +54 -0
- package/dist/doc-gen/module-renderer.js.map +1 -0
- package/dist/doc-gen/product-renderer.d.ts +6 -0
- package/dist/doc-gen/product-renderer.d.ts.map +1 -0
- package/dist/doc-gen/product-renderer.js +101 -0
- package/dist/doc-gen/product-renderer.js.map +1 -0
- package/dist/doc-gen/section-renderers.d.ts +20 -0
- package/dist/doc-gen/section-renderers.d.ts.map +1 -0
- package/dist/doc-gen/section-renderers.js +357 -0
- package/dist/doc-gen/section-renderers.js.map +1 -0
- package/dist/doc-gen/string-resolver.d.ts +8 -0
- package/dist/doc-gen/string-resolver.d.ts.map +1 -0
- package/dist/doc-gen/string-resolver.js +47 -0
- package/dist/doc-gen/string-resolver.js.map +1 -0
- package/dist/doc-gen/surface-ascii.d.ts +7 -0
- package/dist/doc-gen/surface-ascii.d.ts.map +1 -0
- package/dist/doc-gen/surface-ascii.js +87 -0
- package/dist/doc-gen/surface-ascii.js.map +1 -0
- package/dist/drift/drift.d.ts +16 -0
- package/dist/drift/drift.d.ts.map +1 -0
- package/dist/drift/drift.js +149 -0
- package/dist/drift/drift.js.map +1 -0
- package/dist/drift/index.d.ts +3 -0
- package/dist/drift/index.d.ts.map +1 -0
- package/dist/drift/index.js +2 -0
- package/dist/drift/index.js.map +1 -0
- package/dist/extensions/index.d.ts +6 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/index.js +7 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/loader.d.ts +21 -0
- package/dist/extensions/loader.d.ts.map +1 -0
- package/dist/extensions/loader.js +101 -0
- package/dist/extensions/loader.js.map +1 -0
- package/dist/extensions/marketplace.d.ts +22 -0
- package/dist/extensions/marketplace.d.ts.map +1 -0
- package/dist/extensions/marketplace.js +40 -0
- package/dist/extensions/marketplace.js.map +1 -0
- package/dist/extensions/registry.d.ts +45 -0
- package/dist/extensions/registry.d.ts.map +1 -0
- package/dist/extensions/registry.js +82 -0
- package/dist/extensions/registry.js.map +1 -0
- package/dist/extensions/types.d.ts +41 -0
- package/dist/extensions/types.d.ts.map +1 -0
- package/dist/extensions/types.js +5 -0
- package/dist/extensions/types.js.map +1 -0
- package/dist/generator/contracts.d.ts +67 -0
- package/dist/generator/contracts.d.ts.map +1 -0
- package/dist/generator/contracts.js +94 -0
- package/dist/generator/contracts.js.map +1 -0
- package/dist/generator/index.d.ts +3 -0
- package/dist/generator/index.d.ts.map +1 -0
- package/dist/generator/index.js +2 -0
- package/dist/generator/index.js.map +1 -0
- package/dist/governance/governance.d.ts +24 -0
- package/dist/governance/governance.d.ts.map +1 -0
- package/dist/governance/governance.js +238 -0
- package/dist/governance/governance.js.map +1 -0
- package/dist/governance/index.d.ts +3 -0
- package/dist/governance/index.d.ts.map +1 -0
- package/dist/governance/index.js +2 -0
- package/dist/governance/index.js.map +1 -0
- package/dist/governance/types.d.ts +14 -0
- package/dist/governance/types.d.ts.map +1 -0
- package/dist/governance/types.js +5 -0
- package/dist/governance/types.js.map +1 -0
- package/dist/graph/builder.d.ts +10 -0
- package/dist/graph/builder.d.ts.map +1 -0
- package/dist/graph/builder.js +573 -0
- package/dist/graph/builder.js.map +1 -0
- package/dist/graph/graph-types.d.ts +64 -0
- package/dist/graph/graph-types.d.ts.map +1 -0
- package/dist/graph/graph-types.js +29 -0
- package/dist/graph/graph-types.js.map +1 -0
- package/dist/graph/index.d.ts +8 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +5 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/serializer.d.ts +9 -0
- package/dist/graph/serializer.d.ts.map +1 -0
- package/dist/graph/serializer.js +31 -0
- package/dist/graph/serializer.js.map +1 -0
- package/dist/graph/validator.d.ts +14 -0
- package/dist/graph/validator.d.ts.map +1 -0
- package/dist/graph/validator.js +96 -0
- package/dist/graph/validator.js.map +1 -0
- package/dist/implement/implement.d.ts +30 -0
- package/dist/implement/implement.d.ts.map +1 -0
- package/dist/implement/implement.js +299 -0
- package/dist/implement/implement.js.map +1 -0
- package/dist/implement/index.d.ts +3 -0
- package/dist/implement/index.d.ts.map +1 -0
- package/dist/implement/index.js +2 -0
- package/dist/implement/index.js.map +1 -0
- package/dist/implement/types.d.ts +41 -0
- package/dist/implement/types.d.ts.map +1 -0
- package/dist/implement/types.js +5 -0
- package/dist/implement/types.js.map +1 -0
- package/dist/incremental/incremental-spec.d.ts +12 -0
- package/dist/incremental/incremental-spec.d.ts.map +1 -0
- package/dist/incremental/incremental-spec.js +100 -0
- package/dist/incremental/incremental-spec.js.map +1 -0
- package/dist/incremental/index.d.ts +3 -0
- package/dist/incremental/index.d.ts.map +1 -0
- package/dist/incremental/index.js +5 -0
- package/dist/incremental/index.js.map +1 -0
- package/dist/incremental/types.d.ts +28 -0
- package/dist/incremental/types.d.ts.map +1 -0
- package/dist/incremental/types.js +7 -0
- package/dist/incremental/types.js.map +1 -0
- package/dist/index.d.ts +106 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +106 -0
- package/dist/index.js.map +1 -0
- package/dist/lexer/index.d.ts +6 -0
- package/dist/lexer/index.d.ts.map +1 -0
- package/dist/lexer/index.js +5 -0
- package/dist/lexer/index.js.map +1 -0
- package/dist/lexer/keywords.d.ts +3 -0
- package/dist/lexer/keywords.d.ts.map +1 -0
- package/dist/lexer/keywords.js +142 -0
- package/dist/lexer/keywords.js.map +1 -0
- package/dist/lexer/lexer.d.ts +19 -0
- package/dist/lexer/lexer.d.ts.map +1 -0
- package/dist/lexer/lexer.js +286 -0
- package/dist/lexer/lexer.js.map +1 -0
- package/dist/lexer/source.d.ts +13 -0
- package/dist/lexer/source.d.ts.map +1 -0
- package/dist/lexer/source.js +59 -0
- package/dist/lexer/source.js.map +1 -0
- package/dist/lexer/tokens.d.ts +157 -0
- package/dist/lexer/tokens.d.ts.map +1 -0
- package/dist/lexer/tokens.js +173 -0
- package/dist/lexer/tokens.js.map +1 -0
- package/dist/orchestrator/index.d.ts +5 -0
- package/dist/orchestrator/index.d.ts.map +1 -0
- package/dist/orchestrator/index.js +3 -0
- package/dist/orchestrator/index.js.map +1 -0
- package/dist/orchestrator/orchestrator.d.ts +14 -0
- package/dist/orchestrator/orchestrator.d.ts.map +1 -0
- package/dist/orchestrator/orchestrator.js +129 -0
- package/dist/orchestrator/orchestrator.js.map +1 -0
- package/dist/orchestrator/pipeline.d.ts +31 -0
- package/dist/orchestrator/pipeline.d.ts.map +1 -0
- package/dist/orchestrator/pipeline.js +290 -0
- package/dist/orchestrator/pipeline.js.map +1 -0
- package/dist/orchestrator/types.d.ts +60 -0
- package/dist/orchestrator/types.d.ts.map +1 -0
- package/dist/orchestrator/types.js +8 -0
- package/dist/orchestrator/types.js.map +1 -0
- package/dist/parser/ast.d.ts +502 -0
- package/dist/parser/ast.d.ts.map +1 -0
- package/dist/parser/ast.js +7 -0
- package/dist/parser/ast.js.map +1 -0
- package/dist/parser/expressions.d.ts +18 -0
- package/dist/parser/expressions.d.ts.map +1 -0
- package/dist/parser/expressions.js +230 -0
- package/dist/parser/expressions.js.map +1 -0
- package/dist/parser/index.d.ts +4 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +2 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/parser.d.ts +83 -0
- package/dist/parser/parser.d.ts.map +1 -0
- package/dist/parser/parser.js +2149 -0
- package/dist/parser/parser.js.map +1 -0
- package/dist/planner/differ.d.ts +4 -0
- package/dist/planner/differ.d.ts.map +1 -0
- package/dist/planner/differ.js +96 -0
- package/dist/planner/differ.js.map +1 -0
- package/dist/planner/index.d.ts +7 -0
- package/dist/planner/index.d.ts.map +1 -0
- package/dist/planner/index.js +5 -0
- package/dist/planner/index.js.map +1 -0
- package/dist/planner/plan-types.d.ts +26 -0
- package/dist/planner/plan-types.d.ts.map +1 -0
- package/dist/planner/plan-types.js +5 -0
- package/dist/planner/plan-types.js.map +1 -0
- package/dist/planner/planner.d.ts +8 -0
- package/dist/planner/planner.d.ts.map +1 -0
- package/dist/planner/planner.js +83 -0
- package/dist/planner/planner.js.map +1 -0
- package/dist/planner/propagator.d.ts +4 -0
- package/dist/planner/propagator.d.ts.map +1 -0
- package/dist/planner/propagator.js +45 -0
- package/dist/planner/propagator.js.map +1 -0
- package/dist/planner/semantic-diff.d.ts +27 -0
- package/dist/planner/semantic-diff.d.ts.map +1 -0
- package/dist/planner/semantic-diff.js +253 -0
- package/dist/planner/semantic-diff.js.map +1 -0
- package/dist/presets/index.d.ts +3 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +5 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/loader.d.ts +28 -0
- package/dist/presets/loader.d.ts.map +1 -0
- package/dist/presets/loader.js +99 -0
- package/dist/presets/loader.js.map +1 -0
- package/dist/presets/types.d.ts +21 -0
- package/dist/presets/types.d.ts.map +1 -0
- package/dist/presets/types.js +5 -0
- package/dist/presets/types.js.map +1 -0
- package/dist/proposal/index.d.ts +3 -0
- package/dist/proposal/index.d.ts.map +1 -0
- package/dist/proposal/index.js +7 -0
- package/dist/proposal/index.js.map +1 -0
- package/dist/proposal/proposal.d.ts +9 -0
- package/dist/proposal/proposal.d.ts.map +1 -0
- package/dist/proposal/proposal.js +169 -0
- package/dist/proposal/proposal.js.map +1 -0
- package/dist/proposal/types.d.ts +15 -0
- package/dist/proposal/types.d.ts.map +1 -0
- package/dist/proposal/types.js +5 -0
- package/dist/proposal/types.js.map +1 -0
- package/dist/registry/index.d.ts +3 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +2 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/resolution.d.ts +39 -0
- package/dist/registry/resolution.d.ts.map +1 -0
- package/dist/registry/resolution.js +70 -0
- package/dist/registry/resolution.js.map +1 -0
- package/dist/reviewers/adversarial.d.ts +3 -0
- package/dist/reviewers/adversarial.d.ts.map +1 -0
- package/dist/reviewers/adversarial.js +111 -0
- package/dist/reviewers/adversarial.js.map +1 -0
- package/dist/reviewers/architecture.d.ts +3 -0
- package/dist/reviewers/architecture.d.ts.map +1 -0
- package/dist/reviewers/architecture.js +71 -0
- package/dist/reviewers/architecture.js.map +1 -0
- package/dist/reviewers/code-quality.d.ts +3 -0
- package/dist/reviewers/code-quality.d.ts.map +1 -0
- package/dist/reviewers/code-quality.js +72 -0
- package/dist/reviewers/code-quality.js.map +1 -0
- package/dist/reviewers/edge-case.d.ts +3 -0
- package/dist/reviewers/edge-case.d.ts.map +1 -0
- package/dist/reviewers/edge-case.js +107 -0
- package/dist/reviewers/edge-case.js.map +1 -0
- package/dist/reviewers/index.d.ts +21 -0
- package/dist/reviewers/index.d.ts.map +1 -0
- package/dist/reviewers/index.js +39 -0
- package/dist/reviewers/index.js.map +1 -0
- package/dist/reviewers/prompt-loader.d.ts +24 -0
- package/dist/reviewers/prompt-loader.d.ts.map +1 -0
- package/dist/reviewers/prompt-loader.js +67 -0
- package/dist/reviewers/prompt-loader.js.map +1 -0
- package/dist/reviewers/quality.d.ts +3 -0
- package/dist/reviewers/quality.d.ts.map +1 -0
- package/dist/reviewers/quality.js +76 -0
- package/dist/reviewers/quality.js.map +1 -0
- package/dist/reviewers/reviewer.d.ts +39 -0
- package/dist/reviewers/reviewer.d.ts.map +1 -0
- package/dist/reviewers/reviewer.js +149 -0
- package/dist/reviewers/reviewer.js.map +1 -0
- package/dist/reviewers/security.d.ts +3 -0
- package/dist/reviewers/security.d.ts.map +1 -0
- package/dist/reviewers/security.js +87 -0
- package/dist/reviewers/security.js.map +1 -0
- package/dist/reviewers/specification.d.ts +3 -0
- package/dist/reviewers/specification.d.ts.map +1 -0
- package/dist/reviewers/specification.js +79 -0
- package/dist/reviewers/specification.js.map +1 -0
- package/dist/reviewers/test-quality.d.ts +3 -0
- package/dist/reviewers/test-quality.d.ts.map +1 -0
- package/dist/reviewers/test-quality.js +88 -0
- package/dist/reviewers/test-quality.js.map +1 -0
- package/dist/reviewers/types.d.ts +32 -0
- package/dist/reviewers/types.d.ts.map +1 -0
- package/dist/reviewers/types.js +5 -0
- package/dist/reviewers/types.js.map +1 -0
- package/dist/reviewers/ux.d.ts +3 -0
- package/dist/reviewers/ux.d.ts.map +1 -0
- package/dist/reviewers/ux.js +94 -0
- package/dist/reviewers/ux.js.map +1 -0
- package/dist/runtime/index.d.ts +3 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +2 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/resolution.d.ts +30 -0
- package/dist/runtime/resolution.d.ts.map +1 -0
- package/dist/runtime/resolution.js +59 -0
- package/dist/runtime/resolution.js.map +1 -0
- package/dist/testing/index.d.ts +3 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +2 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/test-runner.d.ts +18 -0
- package/dist/testing/test-runner.d.ts.map +1 -0
- package/dist/testing/test-runner.js +131 -0
- package/dist/testing/test-runner.js.map +1 -0
- package/dist/types.d.ts +36 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +127 -0
- package/dist/types.js.map +1 -0
- package/dist/validation/index.d.ts +3 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +2 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/types.d.ts +16 -0
- package/dist/validation/types.d.ts.map +1 -0
- package/dist/validation/types.js +5 -0
- package/dist/validation/types.js.map +1 -0
- package/dist/validation/validation.d.ts +8 -0
- package/dist/validation/validation.d.ts.map +1 -0
- package/dist/validation/validation.js +101 -0
- package/dist/validation/validation.js.map +1 -0
- package/dist/verification/index.d.ts +3 -0
- package/dist/verification/index.d.ts.map +1 -0
- package/dist/verification/index.js +5 -0
- package/dist/verification/index.js.map +1 -0
- package/dist/verification/types.d.ts +14 -0
- package/dist/verification/types.d.ts.map +1 -0
- package/dist/verification/types.js +5 -0
- package/dist/verification/types.js.map +1 -0
- package/dist/verification/verify.d.ts +7 -0
- package/dist/verification/verify.d.ts.map +1 -0
- package/dist/verification/verify.js +127 -0
- package/dist/verification/verify.js.map +1 -0
- package/dist/workflow/clarify.d.ts +7 -0
- package/dist/workflow/clarify.d.ts.map +1 -0
- package/dist/workflow/clarify.js +165 -0
- package/dist/workflow/clarify.js.map +1 -0
- package/dist/workflow/engine.d.ts +19 -0
- package/dist/workflow/engine.d.ts.map +1 -0
- package/dist/workflow/engine.js +265 -0
- package/dist/workflow/engine.js.map +1 -0
- package/dist/workflow/index.d.ts +6 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +7 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflow/types.d.ts +95 -0
- package/dist/workflow/types.d.ts.map +1 -0
- package/dist/workflow/types.js +18 -0
- package/dist/workflow/types.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Prodara Compiler — Spec Test Runner
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Evaluates test declarations against the compiled Product Graph.
|
|
5
|
+
import { resolveSymbolRef } from '../binder/binder.js';
|
|
6
|
+
import { DiagnosticBag } from '../diagnostics/diagnostic.js';
|
|
7
|
+
export function runSpecTests(files, bindResult, graph) {
|
|
8
|
+
const bag = new DiagnosticBag();
|
|
9
|
+
const results = [];
|
|
10
|
+
for (const file of files) {
|
|
11
|
+
for (const decl of file.declarations) {
|
|
12
|
+
if (decl.kind !== 'module')
|
|
13
|
+
continue;
|
|
14
|
+
for (const item of decl.items) {
|
|
15
|
+
if (item.kind !== 'test')
|
|
16
|
+
continue;
|
|
17
|
+
const result = evaluateTest(item, decl.name, bindResult, graph, bag);
|
|
18
|
+
results.push(result);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
const totalPassed = results.filter((r) => r.passed).length;
|
|
23
|
+
const totalFailed = results.filter((r) => !r.passed).length;
|
|
24
|
+
return { results, totalPassed, totalFailed, bag };
|
|
25
|
+
}
|
|
26
|
+
function evaluateTest(test, moduleName, bind, graph, bag) {
|
|
27
|
+
const failures = [];
|
|
28
|
+
const targetId = resolveTestTarget(test, moduleName, bind);
|
|
29
|
+
// Find the target node in the graph
|
|
30
|
+
const targetNode = findNodeInGraph(targetId, graph);
|
|
31
|
+
if (!targetNode) {
|
|
32
|
+
failures.push(`Target '${test.target.join('.')}' not found in graph`);
|
|
33
|
+
bag.add({
|
|
34
|
+
phase: 'test_runner', category: 'test_failure', severity: 'error',
|
|
35
|
+
code: 'PRD0800', message: `Test '${test.name}': target not found in compiled graph`,
|
|
36
|
+
file: test.location.file, line: test.location.line, column: test.location.column,
|
|
37
|
+
});
|
|
38
|
+
return { name: test.name, target: targetId, passed: false, failures };
|
|
39
|
+
}
|
|
40
|
+
// Evaluate expect entries
|
|
41
|
+
for (const entry of test.expect) {
|
|
42
|
+
if (entry.key === 'authorization' && Array.isArray(entry.value)) {
|
|
43
|
+
// Authorization expectations
|
|
44
|
+
for (const auth of entry.value) {
|
|
45
|
+
if (typeof auth === 'object' && 'actor' in auth && 'expected' in auth) {
|
|
46
|
+
// Check authorization in the target node
|
|
47
|
+
const authResult = checkAuthorization(targetNode, auth.actor, auth.expected);
|
|
48
|
+
if (!authResult) {
|
|
49
|
+
failures.push(`Authorization: expected '${auth.actor}' to be '${auth.expected}'`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
// Generic property check
|
|
56
|
+
const nodeValue = getProperty(targetNode, entry.key);
|
|
57
|
+
const expectedValue = normalizeExpectValue(entry.value);
|
|
58
|
+
if (nodeValue === undefined) {
|
|
59
|
+
failures.push(`Property '${entry.key}' not found on target node`);
|
|
60
|
+
}
|
|
61
|
+
else if (JSON.stringify(nodeValue) !== JSON.stringify(expectedValue)) {
|
|
62
|
+
failures.push(`Property '${entry.key}': expected ${JSON.stringify(expectedValue)}, got ${JSON.stringify(nodeValue)}`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (failures.length > 0) {
|
|
67
|
+
bag.add({
|
|
68
|
+
phase: 'test_runner', category: 'test_failure', severity: 'error',
|
|
69
|
+
code: 'PRD0801', message: `Test '${test.name}' failed: ${failures.join('; ')}`,
|
|
70
|
+
file: test.location.file, line: test.location.line, column: test.location.column,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return { name: test.name, target: targetId, passed: failures.length === 0, failures };
|
|
74
|
+
}
|
|
75
|
+
function resolveTestTarget(test, moduleName, bind) {
|
|
76
|
+
if (test.target.length === 0)
|
|
77
|
+
return '';
|
|
78
|
+
const sym = resolveSymbolRef(test.target, moduleName, bind.modules, bind.allSymbols);
|
|
79
|
+
if (sym)
|
|
80
|
+
return `${sym.module}.${sym.nodeKind}.${sym.name}`;
|
|
81
|
+
return test.target.join('.');
|
|
82
|
+
}
|
|
83
|
+
/* v8 ignore start */
|
|
84
|
+
function findNodeInGraph(id, graph) {
|
|
85
|
+
if (id === 'product')
|
|
86
|
+
return graph.product;
|
|
87
|
+
for (const mod of graph.modules) {
|
|
88
|
+
if (mod.id === id)
|
|
89
|
+
return mod;
|
|
90
|
+
for (const [, value] of Object.entries(mod)) {
|
|
91
|
+
if (Array.isArray(value)) {
|
|
92
|
+
for (const item of value) {
|
|
93
|
+
if (typeof item === 'object' && item !== null && 'id' in item && item.id === id) {
|
|
94
|
+
return item;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
/* v8 ignore stop */
|
|
103
|
+
function checkAuthorization(node, actor, expected) {
|
|
104
|
+
const auths = node['authorization'];
|
|
105
|
+
if (!auths)
|
|
106
|
+
return expected === 'denied';
|
|
107
|
+
const entry = auths.find((a) => a.actor.endsWith(`.actor.${actor}`) || a.actor === actor);
|
|
108
|
+
if (!entry)
|
|
109
|
+
return expected === 'denied';
|
|
110
|
+
return expected === 'allowed';
|
|
111
|
+
}
|
|
112
|
+
function getProperty(node, key) {
|
|
113
|
+
return node[key];
|
|
114
|
+
}
|
|
115
|
+
/* v8 ignore start */
|
|
116
|
+
function normalizeExpectValue(value) {
|
|
117
|
+
if (typeof value === 'object' && value !== null && 'kind' in value) {
|
|
118
|
+
const v = value;
|
|
119
|
+
switch (v['kind']) {
|
|
120
|
+
case 'string': return v['value'];
|
|
121
|
+
case 'integer': return v['value'];
|
|
122
|
+
case 'decimal': return v['value'];
|
|
123
|
+
case 'boolean': return v['value'];
|
|
124
|
+
case 'identifier': return v['value'];
|
|
125
|
+
default: return value;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
return value;
|
|
129
|
+
}
|
|
130
|
+
/* v8 ignore stop */
|
|
131
|
+
//# sourceMappingURL=test-runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-runner.js","sourceRoot":"","sources":["../../src/testing/test-runner.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/** Source location for diagnostics and tooling. */
|
|
2
|
+
export interface SourceLocation {
|
|
3
|
+
readonly file: string;
|
|
4
|
+
readonly line: number;
|
|
5
|
+
readonly column: number;
|
|
6
|
+
readonly endLine: number;
|
|
7
|
+
readonly endColumn: number;
|
|
8
|
+
}
|
|
9
|
+
/** All primitive type names recognised by the language. */
|
|
10
|
+
export declare const PRIMITIVE_TYPES: readonly ["string", "integer", "decimal", "boolean", "uuid", "date", "datetime"];
|
|
11
|
+
export type PrimitiveTypeName = (typeof PRIMITIVE_TYPES)[number];
|
|
12
|
+
/** Discriminated union of all type expressions in the AST. */
|
|
13
|
+
export type TypeExpr = {
|
|
14
|
+
readonly kind: 'primitive';
|
|
15
|
+
readonly name: PrimitiveTypeName;
|
|
16
|
+
readonly location: SourceLocation;
|
|
17
|
+
} | {
|
|
18
|
+
readonly kind: 'ref';
|
|
19
|
+
readonly segments: readonly string[];
|
|
20
|
+
readonly location: SourceLocation;
|
|
21
|
+
} | {
|
|
22
|
+
readonly kind: 'generic';
|
|
23
|
+
readonly wrapper: string;
|
|
24
|
+
readonly inner: TypeExpr;
|
|
25
|
+
readonly location: SourceLocation;
|
|
26
|
+
};
|
|
27
|
+
export declare const NODE_KINDS: readonly ["product", "module", "entity", "value", "enum", "rule", "actor", "capability", "workflow", "action", "event", "schedule", "surface", "rendering", "tokens", "theme", "strings", "serialization", "integration", "transport", "storage", "execution", "extension", "constitution", "security", "privacy", "validation", "secret", "environment", "deployment", "test", "product_ref"];
|
|
28
|
+
export type NodeKind = (typeof NODE_KINDS)[number];
|
|
29
|
+
export declare const EDGE_KINDS: readonly ["contains", "imports", "field_type", "input_type", "return_type", "payload_type", "contract_type", "reads", "writes", "uses_rule", "calls", "transitions", "triggers_on", "emits", "notifies", "invokes", "binds", "exposes_action", "contains_surface", "uses_serialization", "targets_surface", "uses_token", "extends_tokens", "references_string", "refines_entity", "refines_workflow", "refines_surface", "attaches_to", "uses_secret", "governs", "binds_secret", "includes_env", "tests", "authorized_as", "member_of", "product_dependency", "consumes_type", "consumes_event", "consumes_surface", "consumes_actor"];
|
|
30
|
+
export type EdgeKind = (typeof EDGE_KINDS)[number];
|
|
31
|
+
export type DiagnosticSeverity = 'error' | 'warning' | 'info';
|
|
32
|
+
export declare const DIAGNOSTIC_PHASES: readonly ["lexer", "parser", "binder", "checker", "validator", "graph", "registry", "planner", "test_runner", "verifier"];
|
|
33
|
+
export type DiagnosticPhase = (typeof DIAGNOSTIC_PHASES)[number];
|
|
34
|
+
export declare const DIAGNOSTIC_CATEGORIES: readonly ["lexical_error", "syntax_error", "resolution_error", "type_error", "semantic_error", "graph_error", "registry_error", "planning_error", "test_failure", "verification_error", "generation_error", "generation_warning", "seam_warning", "review_fix_error", "warning", "lint"];
|
|
35
|
+
export type DiagnosticCategory = (typeof DIAGNOSTIC_CATEGORIES)[number];
|
|
36
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAKA,mDAAmD;AACnD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,2DAA2D;AAC3D,eAAO,MAAM,eAAe,kFAQlB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,8DAA8D;AAC9D,MAAM,MAAM,QAAQ,GAChB;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,GACnG;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,GACjG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,CAAC;AAKxH,eAAO,MAAM,UAAU,gYAiCb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAKnD,eAAO,MAAM,UAAU,0mBAyCb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAKnD,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9D,eAAO,MAAM,iBAAiB,2HAWpB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,eAAO,MAAM,qBAAqB,0RAiBxB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Prodara Compiler — Core Types
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Shared type definitions used across all compiler subsystems.
|
|
5
|
+
/** All primitive type names recognised by the language. */
|
|
6
|
+
export const PRIMITIVE_TYPES = [
|
|
7
|
+
'string',
|
|
8
|
+
'integer',
|
|
9
|
+
'decimal',
|
|
10
|
+
'boolean',
|
|
11
|
+
'uuid',
|
|
12
|
+
'date',
|
|
13
|
+
'datetime',
|
|
14
|
+
];
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
// Product Graph node kinds — mirrors the specification exactly.
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
export const NODE_KINDS = [
|
|
19
|
+
'product',
|
|
20
|
+
'module',
|
|
21
|
+
'entity',
|
|
22
|
+
'value',
|
|
23
|
+
'enum',
|
|
24
|
+
'rule',
|
|
25
|
+
'actor',
|
|
26
|
+
'capability',
|
|
27
|
+
'workflow',
|
|
28
|
+
'action',
|
|
29
|
+
'event',
|
|
30
|
+
'schedule',
|
|
31
|
+
'surface',
|
|
32
|
+
'rendering',
|
|
33
|
+
'tokens',
|
|
34
|
+
'theme',
|
|
35
|
+
'strings',
|
|
36
|
+
'serialization',
|
|
37
|
+
'integration',
|
|
38
|
+
'transport',
|
|
39
|
+
'storage',
|
|
40
|
+
'execution',
|
|
41
|
+
'extension',
|
|
42
|
+
'constitution',
|
|
43
|
+
'security',
|
|
44
|
+
'privacy',
|
|
45
|
+
'validation',
|
|
46
|
+
'secret',
|
|
47
|
+
'environment',
|
|
48
|
+
'deployment',
|
|
49
|
+
'test',
|
|
50
|
+
'product_ref',
|
|
51
|
+
];
|
|
52
|
+
// ---------------------------------------------------------------------------
|
|
53
|
+
// Product Graph edge kinds — mirrors the specification exactly.
|
|
54
|
+
// ---------------------------------------------------------------------------
|
|
55
|
+
export const EDGE_KINDS = [
|
|
56
|
+
'contains',
|
|
57
|
+
'imports',
|
|
58
|
+
'field_type',
|
|
59
|
+
'input_type',
|
|
60
|
+
'return_type',
|
|
61
|
+
'payload_type',
|
|
62
|
+
'contract_type',
|
|
63
|
+
'reads',
|
|
64
|
+
'writes',
|
|
65
|
+
'uses_rule',
|
|
66
|
+
'calls',
|
|
67
|
+
'transitions',
|
|
68
|
+
'triggers_on',
|
|
69
|
+
'emits',
|
|
70
|
+
'notifies',
|
|
71
|
+
'invokes',
|
|
72
|
+
'binds',
|
|
73
|
+
'exposes_action',
|
|
74
|
+
'contains_surface',
|
|
75
|
+
'uses_serialization',
|
|
76
|
+
'targets_surface',
|
|
77
|
+
'uses_token',
|
|
78
|
+
'extends_tokens',
|
|
79
|
+
'references_string',
|
|
80
|
+
'refines_entity',
|
|
81
|
+
'refines_workflow',
|
|
82
|
+
'refines_surface',
|
|
83
|
+
'attaches_to',
|
|
84
|
+
'uses_secret',
|
|
85
|
+
'governs',
|
|
86
|
+
'binds_secret',
|
|
87
|
+
'includes_env',
|
|
88
|
+
'tests',
|
|
89
|
+
'authorized_as',
|
|
90
|
+
'member_of',
|
|
91
|
+
'product_dependency',
|
|
92
|
+
'consumes_type',
|
|
93
|
+
'consumes_event',
|
|
94
|
+
'consumes_surface',
|
|
95
|
+
'consumes_actor',
|
|
96
|
+
];
|
|
97
|
+
export const DIAGNOSTIC_PHASES = [
|
|
98
|
+
'lexer',
|
|
99
|
+
'parser',
|
|
100
|
+
'binder',
|
|
101
|
+
'checker',
|
|
102
|
+
'validator',
|
|
103
|
+
'graph',
|
|
104
|
+
'registry',
|
|
105
|
+
'planner',
|
|
106
|
+
'test_runner',
|
|
107
|
+
'verifier',
|
|
108
|
+
];
|
|
109
|
+
export const DIAGNOSTIC_CATEGORIES = [
|
|
110
|
+
'lexical_error',
|
|
111
|
+
'syntax_error',
|
|
112
|
+
'resolution_error',
|
|
113
|
+
'type_error',
|
|
114
|
+
'semantic_error',
|
|
115
|
+
'graph_error',
|
|
116
|
+
'registry_error',
|
|
117
|
+
'planning_error',
|
|
118
|
+
'test_failure',
|
|
119
|
+
'verification_error',
|
|
120
|
+
'generation_error',
|
|
121
|
+
'generation_warning',
|
|
122
|
+
'seam_warning',
|
|
123
|
+
'review_fix_error',
|
|
124
|
+
'warning',
|
|
125
|
+
'lint',
|
|
126
|
+
];
|
|
127
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAC9E,+DAA+D;AAW/D,2DAA2D;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,MAAM;IACN,MAAM;IACN,UAAU;CACF,CAAC;AAUX,8EAA8E;AAC9E,gEAAgE;AAChE,8EAA8E;AAC9E,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,OAAO;IACP,UAAU;IACV,SAAS;IACT,WAAW;IACX,QAAQ;IACR,OAAO;IACP,SAAS;IACT,eAAe;IACf,aAAa;IACb,WAAW;IACX,SAAS;IACT,WAAW;IACX,WAAW;IACX,cAAc;IACd,UAAU;IACV,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,aAAa;IACb,YAAY;IACZ,MAAM;IACN,aAAa;CACL,CAAC;AAIX,8EAA8E;AAC9E,gEAAgE;AAChE,8EAA8E;AAC9E,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,UAAU;IACV,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,cAAc;IACd,eAAe;IACf,OAAO;IACP,QAAQ;IACR,WAAW;IACX,OAAO;IACP,aAAa;IACb,aAAa;IACb,OAAO;IACP,UAAU;IACV,SAAS;IACT,OAAO;IACP,gBAAgB;IAChB,kBAAkB;IAClB,oBAAoB;IACpB,iBAAiB;IACjB,YAAY;IACZ,gBAAgB;IAChB,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,aAAa;IACb,aAAa;IACb,SAAS;IACT,cAAc;IACd,cAAc;IACd,OAAO;IACP,eAAe;IACf,WAAW;IACX,oBAAoB;IACpB,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;CACR,CAAC;AASX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,WAAW;IACX,OAAO;IACP,UAAU;IACV,SAAS;IACT,aAAa;IACb,UAAU;CACF,CAAC;AAIX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,eAAe;IACf,cAAc;IACd,kBAAkB;IAClB,YAAY;IACZ,gBAAgB;IAChB,aAAa;IACb,gBAAgB;IAChB,gBAAgB;IAChB,cAAc;IACd,oBAAoB;IACpB,kBAAkB;IAClB,oBAAoB;IACpB,cAAc;IACd,kBAAkB;IAClB,SAAS;IACT,MAAM;CACE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type ValidationStatus = 'passed' | 'failed' | 'skipped' | 'timeout';
|
|
2
|
+
export type ValidationStep = 'lint' | 'typecheck' | 'test' | 'build';
|
|
3
|
+
export interface ValidationCommandResult {
|
|
4
|
+
readonly step: ValidationStep;
|
|
5
|
+
readonly command: string;
|
|
6
|
+
readonly status: ValidationStatus;
|
|
7
|
+
readonly exitCode: number | null;
|
|
8
|
+
readonly stdout: string;
|
|
9
|
+
readonly stderr: string;
|
|
10
|
+
readonly duration_ms: number;
|
|
11
|
+
}
|
|
12
|
+
export interface ValidationResult {
|
|
13
|
+
readonly passed: boolean;
|
|
14
|
+
readonly results: readonly ValidationCommandResult[];
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAErE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACtD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,sCAAsC;AACtC,8EAA8E"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ResolvedValidationConfig } from '../config/config.js';
|
|
2
|
+
import type { ValidationResult } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Run all configured validation commands in order.
|
|
5
|
+
* Returns immediately if no commands are configured.
|
|
6
|
+
*/
|
|
7
|
+
export declare function runValidation(config: ResolvedValidationConfig, cwd: string): ValidationResult;
|
|
8
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/validation/validation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAA2B,gBAAgB,EAAoC,MAAM,YAAY,CAAC;AAW9G;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,wBAAwB,EAChC,GAAG,EAAE,MAAM,GACV,gBAAgB,CAuBlB"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Prodara Compiler — Validation Executor
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Runs configured validation commands (lint, typecheck, test, build)
|
|
5
|
+
// in the project directory. Commands run with shell=false to prevent
|
|
6
|
+
// injection. Order: lint → typecheck → test → build.
|
|
7
|
+
import { execFileSync } from 'node:child_process';
|
|
8
|
+
const STEP_ORDER = ['lint', 'typecheck', 'test', 'build'];
|
|
9
|
+
const DEFAULT_TIMEOUTS = {
|
|
10
|
+
lint: 60_000,
|
|
11
|
+
typecheck: 60_000,
|
|
12
|
+
test: 300_000,
|
|
13
|
+
build: 300_000,
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Run all configured validation commands in order.
|
|
17
|
+
* Returns immediately if no commands are configured.
|
|
18
|
+
*/
|
|
19
|
+
export function runValidation(config, cwd) {
|
|
20
|
+
const results = [];
|
|
21
|
+
for (const step of STEP_ORDER) {
|
|
22
|
+
const command = config[step];
|
|
23
|
+
if (!command) {
|
|
24
|
+
results.push({
|
|
25
|
+
step,
|
|
26
|
+
command: '',
|
|
27
|
+
status: 'skipped',
|
|
28
|
+
exitCode: null,
|
|
29
|
+
stdout: '',
|
|
30
|
+
stderr: '',
|
|
31
|
+
duration_ms: 0,
|
|
32
|
+
});
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
results.push(executeCommand(step, command, cwd));
|
|
36
|
+
}
|
|
37
|
+
const passed = results.every(r => r.status === 'passed' || r.status === 'skipped');
|
|
38
|
+
return { passed, results };
|
|
39
|
+
}
|
|
40
|
+
function executeCommand(step, command, cwd) {
|
|
41
|
+
const timeout = DEFAULT_TIMEOUTS[step];
|
|
42
|
+
const parts = parseCommand(command);
|
|
43
|
+
if (parts.length === 0) {
|
|
44
|
+
return {
|
|
45
|
+
step,
|
|
46
|
+
command,
|
|
47
|
+
status: 'skipped',
|
|
48
|
+
exitCode: null,
|
|
49
|
+
stdout: '',
|
|
50
|
+
stderr: '',
|
|
51
|
+
duration_ms: 0,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
const [cmd, ...args] = parts;
|
|
55
|
+
const start = Date.now();
|
|
56
|
+
try {
|
|
57
|
+
const stdout = execFileSync(cmd, args, {
|
|
58
|
+
cwd,
|
|
59
|
+
timeout,
|
|
60
|
+
encoding: 'utf-8',
|
|
61
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
62
|
+
env: { ...process.env },
|
|
63
|
+
});
|
|
64
|
+
return {
|
|
65
|
+
step,
|
|
66
|
+
command,
|
|
67
|
+
status: 'passed',
|
|
68
|
+
exitCode: 0,
|
|
69
|
+
/* v8 ignore next -- execFileSync with encoding always returns string */
|
|
70
|
+
stdout: stdout ?? '',
|
|
71
|
+
stderr: '',
|
|
72
|
+
duration_ms: Date.now() - start,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
const duration_ms = Date.now() - start;
|
|
77
|
+
const error = err;
|
|
78
|
+
let status = 'failed';
|
|
79
|
+
/* v8 ignore next 3 -- timeout requires real I/O delay; tested via integration */
|
|
80
|
+
if (error.killed) {
|
|
81
|
+
status = 'timeout';
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
step,
|
|
85
|
+
command,
|
|
86
|
+
status,
|
|
87
|
+
exitCode: error.status ?? 1,
|
|
88
|
+
stdout: typeof error.stdout === 'string' ? error.stdout : '',
|
|
89
|
+
stderr: typeof error.stderr === 'string' ? error.stderr : '',
|
|
90
|
+
duration_ms,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Parse a command string into executable and arguments.
|
|
96
|
+
* Simple whitespace splitting — does not support shell features.
|
|
97
|
+
*/
|
|
98
|
+
function parseCommand(command) {
|
|
99
|
+
return command.trim().split(/\s+/).filter(Boolean);
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/verification/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Prodara Compiler — Verification (public API)
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
export { verify } from './verify.js';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/verification/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAG9E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type VerificationSeverity = 'pass' | 'fail' | 'warn';
|
|
2
|
+
export interface VerificationCheck {
|
|
3
|
+
readonly name: string;
|
|
4
|
+
readonly severity: VerificationSeverity;
|
|
5
|
+
readonly message: string;
|
|
6
|
+
}
|
|
7
|
+
export interface VerificationResult {
|
|
8
|
+
readonly passed: boolean;
|
|
9
|
+
readonly checks: readonly VerificationCheck[];
|
|
10
|
+
readonly passCount: number;
|
|
11
|
+
readonly failCount: number;
|
|
12
|
+
readonly warnCount: number;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/verification/types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/verification/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,wCAAwC;AACxC,8EAA8E"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ProductGraph } from '../graph/graph-types.js';
|
|
2
|
+
import type { IncrementalSpec } from '../incremental/types.js';
|
|
3
|
+
import type { ReviewCycleResult } from '../reviewers/types.js';
|
|
4
|
+
import type { WorkflowResult } from '../workflow/engine.js';
|
|
5
|
+
import type { VerificationResult } from './types.js';
|
|
6
|
+
export declare function verify(graph: ProductGraph, spec: IncrementalSpec, workflow: WorkflowResult, reviewCycles: readonly ReviewCycleResult[]): VerificationResult;
|
|
7
|
+
//# sourceMappingURL=verify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/verification/verify.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,yBAAyB,CAAC;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAqB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAMxE,wBAAgB,MAAM,CACpB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,SAAS,iBAAiB,EAAE,GACzC,kBAAkB,CAoBpB"}
|