@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,286 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Prodara Compiler — Lexer
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
import { KEYWORDS } from './keywords.js';
|
|
5
|
+
import { TokenKind } from './tokens.js';
|
|
6
|
+
export class Lexer {
|
|
7
|
+
source;
|
|
8
|
+
bag;
|
|
9
|
+
pos = 0;
|
|
10
|
+
constructor(source, bag) {
|
|
11
|
+
this.source = source;
|
|
12
|
+
this.bag = bag;
|
|
13
|
+
}
|
|
14
|
+
tokenize() {
|
|
15
|
+
const tokens = [];
|
|
16
|
+
while (true) {
|
|
17
|
+
const tok = this.nextToken();
|
|
18
|
+
tokens.push(tok);
|
|
19
|
+
if (tok.kind === TokenKind.EOF)
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
return tokens;
|
|
23
|
+
}
|
|
24
|
+
nextToken() {
|
|
25
|
+
this.skipWhitespaceAndComments();
|
|
26
|
+
if (this.pos >= this.source.length) {
|
|
27
|
+
return this.makeToken(TokenKind.EOF, this.pos, this.pos);
|
|
28
|
+
}
|
|
29
|
+
const start = this.pos;
|
|
30
|
+
const ch = this.source.text[start];
|
|
31
|
+
// String literal
|
|
32
|
+
if (ch === '"') {
|
|
33
|
+
// Check for code literal (triple quote)
|
|
34
|
+
if (this.source.text[start + 1] === '"' && this.source.text[start + 2] === '"') {
|
|
35
|
+
return this.readCodeLiteral(start);
|
|
36
|
+
}
|
|
37
|
+
return this.readStringLiteral(start);
|
|
38
|
+
}
|
|
39
|
+
// Number or dimension literal
|
|
40
|
+
if (isDigit(ch)) {
|
|
41
|
+
return this.readNumberOrDimension(start);
|
|
42
|
+
}
|
|
43
|
+
// Identifier or keyword
|
|
44
|
+
if (isIdentStart(ch)) {
|
|
45
|
+
return this.readIdentifierOrKeyword(start);
|
|
46
|
+
}
|
|
47
|
+
// Punctuation & operators
|
|
48
|
+
switch (ch) {
|
|
49
|
+
case '{':
|
|
50
|
+
this.pos++;
|
|
51
|
+
return this.makeToken(TokenKind.OpenBrace, start, this.pos);
|
|
52
|
+
case '}':
|
|
53
|
+
this.pos++;
|
|
54
|
+
return this.makeToken(TokenKind.CloseBrace, start, this.pos);
|
|
55
|
+
case '[':
|
|
56
|
+
this.pos++;
|
|
57
|
+
return this.makeToken(TokenKind.OpenBracket, start, this.pos);
|
|
58
|
+
case ']':
|
|
59
|
+
this.pos++;
|
|
60
|
+
return this.makeToken(TokenKind.CloseBracket, start, this.pos);
|
|
61
|
+
case '(':
|
|
62
|
+
this.pos++;
|
|
63
|
+
return this.makeToken(TokenKind.OpenParen, start, this.pos);
|
|
64
|
+
case ')':
|
|
65
|
+
this.pos++;
|
|
66
|
+
return this.makeToken(TokenKind.CloseParen, start, this.pos);
|
|
67
|
+
case ':':
|
|
68
|
+
this.pos++;
|
|
69
|
+
return this.makeToken(TokenKind.Colon, start, this.pos);
|
|
70
|
+
case ',':
|
|
71
|
+
this.pos++;
|
|
72
|
+
return this.makeToken(TokenKind.Comma, start, this.pos);
|
|
73
|
+
case '@':
|
|
74
|
+
this.pos++;
|
|
75
|
+
return this.makeToken(TokenKind.AtSign, start, this.pos);
|
|
76
|
+
case '/':
|
|
77
|
+
this.pos++;
|
|
78
|
+
return this.makeToken(TokenKind.Slash, start, this.pos);
|
|
79
|
+
case '.':
|
|
80
|
+
if (this.source.text[start + 1] === '.') {
|
|
81
|
+
this.pos += 2;
|
|
82
|
+
return this.makeToken(TokenKind.DotDot, start, this.pos);
|
|
83
|
+
}
|
|
84
|
+
this.pos++;
|
|
85
|
+
return this.makeToken(TokenKind.Dot, start, this.pos);
|
|
86
|
+
case '-':
|
|
87
|
+
if (this.source.text[start + 1] === '>') {
|
|
88
|
+
this.pos += 2;
|
|
89
|
+
return this.makeToken(TokenKind.Arrow, start, this.pos);
|
|
90
|
+
}
|
|
91
|
+
// Negative numbers are not in the spec; fall through to unknown
|
|
92
|
+
this.pos++;
|
|
93
|
+
return this.errorToken(start, `Unexpected character: '${ch}'`);
|
|
94
|
+
case '=':
|
|
95
|
+
if (this.source.text[start + 1] === '=') {
|
|
96
|
+
this.pos += 2;
|
|
97
|
+
return this.makeToken(TokenKind.EqualsEquals, start, this.pos);
|
|
98
|
+
}
|
|
99
|
+
this.pos++;
|
|
100
|
+
return this.makeToken(TokenKind.Equals, start, this.pos);
|
|
101
|
+
case '!':
|
|
102
|
+
if (this.source.text[start + 1] === '=') {
|
|
103
|
+
this.pos += 2;
|
|
104
|
+
return this.makeToken(TokenKind.BangEquals, start, this.pos);
|
|
105
|
+
}
|
|
106
|
+
this.pos++;
|
|
107
|
+
return this.errorToken(start, `Unexpected character: '${ch}'`);
|
|
108
|
+
case '<':
|
|
109
|
+
if (this.source.text[start + 1] === '=') {
|
|
110
|
+
this.pos += 2;
|
|
111
|
+
return this.makeToken(TokenKind.LessEqual, start, this.pos);
|
|
112
|
+
}
|
|
113
|
+
this.pos++;
|
|
114
|
+
return this.makeToken(TokenKind.LessThan, start, this.pos);
|
|
115
|
+
case '>':
|
|
116
|
+
if (this.source.text[start + 1] === '=') {
|
|
117
|
+
this.pos += 2;
|
|
118
|
+
return this.makeToken(TokenKind.GreaterEqual, start, this.pos);
|
|
119
|
+
}
|
|
120
|
+
this.pos++;
|
|
121
|
+
return this.makeToken(TokenKind.GreaterThan, start, this.pos);
|
|
122
|
+
default:
|
|
123
|
+
this.pos++;
|
|
124
|
+
return this.errorToken(start, `Unexpected character: '${ch}'`);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
readStringLiteral(start) {
|
|
128
|
+
this.pos++; // skip opening "
|
|
129
|
+
while (this.pos < this.source.length) {
|
|
130
|
+
const c = this.source.text[this.pos];
|
|
131
|
+
if (c === '\\') {
|
|
132
|
+
this.pos += 2; // skip escape sequence
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
if (c === '"') {
|
|
136
|
+
this.pos++;
|
|
137
|
+
return this.makeToken(TokenKind.StringLiteral, start, this.pos);
|
|
138
|
+
}
|
|
139
|
+
if (c === '\n' || c === '\r') {
|
|
140
|
+
break; // unterminated
|
|
141
|
+
}
|
|
142
|
+
this.pos++;
|
|
143
|
+
}
|
|
144
|
+
return this.errorToken(start, 'Unterminated string literal');
|
|
145
|
+
}
|
|
146
|
+
readCodeLiteral(start) {
|
|
147
|
+
this.pos += 3; // skip opening """
|
|
148
|
+
// The opening """ must be followed by a newline per spec
|
|
149
|
+
if (this.pos < this.source.length && this.source.text[this.pos] === '\n') {
|
|
150
|
+
this.pos++;
|
|
151
|
+
}
|
|
152
|
+
else if (this.pos + 1 < this.source.length && this.source.text[this.pos] === '\r' && this.source.text[this.pos + 1] === '\n') {
|
|
153
|
+
this.pos += 2;
|
|
154
|
+
}
|
|
155
|
+
while (this.pos < this.source.length) {
|
|
156
|
+
if (this.source.text[this.pos] === '"' &&
|
|
157
|
+
this.source.text[this.pos + 1] === '"' &&
|
|
158
|
+
this.source.text[this.pos + 2] === '"') {
|
|
159
|
+
this.pos += 3;
|
|
160
|
+
return this.makeToken(TokenKind.CodeLiteral, start, this.pos);
|
|
161
|
+
}
|
|
162
|
+
this.pos++;
|
|
163
|
+
}
|
|
164
|
+
return this.errorToken(start, 'Unterminated code literal');
|
|
165
|
+
}
|
|
166
|
+
readNumberOrDimension(start) {
|
|
167
|
+
// Read integer part
|
|
168
|
+
while (this.pos < this.source.length && isDigit(this.source.text[this.pos])) {
|
|
169
|
+
this.pos++;
|
|
170
|
+
}
|
|
171
|
+
let isDecimal = false;
|
|
172
|
+
// Check for decimal point (but not ..)
|
|
173
|
+
if (this.pos < this.source.length &&
|
|
174
|
+
this.source.text[this.pos] === '.' &&
|
|
175
|
+
this.source.text[this.pos + 1] !== '.') {
|
|
176
|
+
const next = this.source.text[this.pos + 1];
|
|
177
|
+
if (next !== undefined && isDigit(next)) {
|
|
178
|
+
isDecimal = true;
|
|
179
|
+
this.pos++; // skip dot
|
|
180
|
+
while (this.pos < this.source.length && isDigit(this.source.text[this.pos])) {
|
|
181
|
+
this.pos++;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
// Check for dimension suffix (e.g. 1fr, 240px)
|
|
186
|
+
if (this.pos < this.source.length && isIdentStart(this.source.text[this.pos])) {
|
|
187
|
+
while (this.pos < this.source.length && isIdentContinue(this.source.text[this.pos])) {
|
|
188
|
+
this.pos++;
|
|
189
|
+
}
|
|
190
|
+
return this.makeToken(TokenKind.DimensionLiteral, start, this.pos);
|
|
191
|
+
}
|
|
192
|
+
return this.makeToken(isDecimal ? TokenKind.DecimalLiteral : TokenKind.IntegerLiteral, start, this.pos);
|
|
193
|
+
}
|
|
194
|
+
readIdentifierOrKeyword(start) {
|
|
195
|
+
while (this.pos < this.source.length && isIdentContinue(this.source.text[this.pos])) {
|
|
196
|
+
this.pos++;
|
|
197
|
+
}
|
|
198
|
+
const text = this.source.text.slice(start, this.pos);
|
|
199
|
+
const kwKind = KEYWORDS.get(text);
|
|
200
|
+
if (kwKind !== undefined) {
|
|
201
|
+
return this.makeToken(kwKind, start, this.pos);
|
|
202
|
+
}
|
|
203
|
+
return this.makeToken(TokenKind.Identifier, start, this.pos);
|
|
204
|
+
}
|
|
205
|
+
skipWhitespaceAndComments() {
|
|
206
|
+
while (this.pos < this.source.length) {
|
|
207
|
+
const ch = this.source.text[this.pos];
|
|
208
|
+
// Whitespace
|
|
209
|
+
if (ch === ' ' || ch === '\t' || ch === '\n' || ch === '\r') {
|
|
210
|
+
this.pos++;
|
|
211
|
+
continue;
|
|
212
|
+
}
|
|
213
|
+
// Line comment
|
|
214
|
+
if (ch === '/' && this.source.text[this.pos + 1] === '/') {
|
|
215
|
+
this.pos += 2;
|
|
216
|
+
while (this.pos < this.source.length && this.source.text[this.pos] !== '\n') {
|
|
217
|
+
this.pos++;
|
|
218
|
+
}
|
|
219
|
+
continue;
|
|
220
|
+
}
|
|
221
|
+
// Block comment
|
|
222
|
+
if (ch === '/' && this.source.text[this.pos + 1] === '*') {
|
|
223
|
+
const commentStart = this.pos;
|
|
224
|
+
this.pos += 2;
|
|
225
|
+
while (this.pos < this.source.length) {
|
|
226
|
+
if (this.source.text[this.pos] === '*' && this.source.text[this.pos + 1] === '/') {
|
|
227
|
+
this.pos += 2;
|
|
228
|
+
break;
|
|
229
|
+
}
|
|
230
|
+
this.pos++;
|
|
231
|
+
}
|
|
232
|
+
/* v8 ignore next */
|
|
233
|
+
if (this.pos >= this.source.length && !(this.source.text[this.pos - 1] === '/' && this.source.text[this.pos - 2] === '*')) {
|
|
234
|
+
const loc = this.source.getLineAndColumn(commentStart);
|
|
235
|
+
this.bag.add({
|
|
236
|
+
phase: 'lexer',
|
|
237
|
+
category: 'lexical_error',
|
|
238
|
+
severity: 'error',
|
|
239
|
+
code: 'PRD0002',
|
|
240
|
+
message: 'Unterminated block comment',
|
|
241
|
+
file: this.source.path,
|
|
242
|
+
line: loc.line,
|
|
243
|
+
column: loc.column,
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
break;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
makeToken(kind, start, end) {
|
|
252
|
+
const { line, column } = this.source.getLineAndColumn(start);
|
|
253
|
+
return {
|
|
254
|
+
kind,
|
|
255
|
+
text: this.source.text.slice(start, end),
|
|
256
|
+
pos: start,
|
|
257
|
+
line,
|
|
258
|
+
column,
|
|
259
|
+
end,
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
errorToken(start, message) {
|
|
263
|
+
const { line, column } = this.source.getLineAndColumn(start);
|
|
264
|
+
this.bag.add({
|
|
265
|
+
phase: 'lexer',
|
|
266
|
+
category: 'lexical_error',
|
|
267
|
+
severity: 'error',
|
|
268
|
+
code: 'PRD0001',
|
|
269
|
+
message,
|
|
270
|
+
file: this.source.path,
|
|
271
|
+
line,
|
|
272
|
+
column,
|
|
273
|
+
});
|
|
274
|
+
return this.makeToken(TokenKind.Unknown, start, this.pos);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
function isDigit(ch) {
|
|
278
|
+
return ch >= '0' && ch <= '9';
|
|
279
|
+
}
|
|
280
|
+
function isIdentStart(ch) {
|
|
281
|
+
return (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || ch === '_';
|
|
282
|
+
}
|
|
283
|
+
function isIdentContinue(ch) {
|
|
284
|
+
return isIdentStart(ch) || isDigit(ch);
|
|
285
|
+
}
|
|
286
|
+
//# sourceMappingURL=lexer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lexer.js","sourceRoot":"","sources":["../../src/lexer/lexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare class SourceFile {
|
|
2
|
+
readonly path: string;
|
|
3
|
+
readonly text: string;
|
|
4
|
+
private readonly lineStarts;
|
|
5
|
+
constructor(path: string, text: string);
|
|
6
|
+
get length(): number;
|
|
7
|
+
/** Convert a 0-based offset to 1-based line and column. */
|
|
8
|
+
getLineAndColumn(offset: number): {
|
|
9
|
+
line: number;
|
|
10
|
+
column: number;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/lexer/source.ts"],"names":[],"mappings":"AAIA,qBAAa,UAAU;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;gBAEnC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAMtC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,2DAA2D;IAC3D,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CAkBnE"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Prodara Compiler — Source File Abstraction
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
export class SourceFile {
|
|
5
|
+
path;
|
|
6
|
+
text;
|
|
7
|
+
lineStarts;
|
|
8
|
+
constructor(path, text) {
|
|
9
|
+
this.path = path;
|
|
10
|
+
this.text = text;
|
|
11
|
+
this.lineStarts = computeLineStarts(text);
|
|
12
|
+
}
|
|
13
|
+
get length() {
|
|
14
|
+
return this.text.length;
|
|
15
|
+
}
|
|
16
|
+
/** Convert a 0-based offset to 1-based line and column. */
|
|
17
|
+
getLineAndColumn(offset) {
|
|
18
|
+
let low = 0;
|
|
19
|
+
let high = this.lineStarts.length - 1;
|
|
20
|
+
while (low <= high) {
|
|
21
|
+
const mid = (low + high) >>> 1;
|
|
22
|
+
const start = this.lineStarts[mid];
|
|
23
|
+
/* v8 ignore next */
|
|
24
|
+
if (start === undefined)
|
|
25
|
+
break;
|
|
26
|
+
if (start <= offset) {
|
|
27
|
+
low = mid + 1;
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
high = mid - 1;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const lineIndex = low - 1;
|
|
34
|
+
const lineStart = this.lineStarts[lineIndex] /* v8 ignore next */ ?? 0;
|
|
35
|
+
return { line: lineIndex + 1, column: offset - lineStart + 1 };
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function computeLineStarts(text) {
|
|
39
|
+
const starts = [0];
|
|
40
|
+
for (let i = 0; i < text.length; i++) {
|
|
41
|
+
const ch = text.charCodeAt(i);
|
|
42
|
+
if (ch === 10) {
|
|
43
|
+
// LF
|
|
44
|
+
starts.push(i + 1);
|
|
45
|
+
}
|
|
46
|
+
else if (ch === 13) {
|
|
47
|
+
// CR or CR+LF
|
|
48
|
+
if (i + 1 < text.length && text.charCodeAt(i + 1) === 10) {
|
|
49
|
+
starts.push(i + 2);
|
|
50
|
+
i++;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
starts.push(i + 1);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return starts;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../src/lexer/source.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,6CAA6C;AAC7C,8EAA8E;AAE9E,MAAM,OAAO,UAAU;IACZ,IAAI,CAAS;IACb,IAAI,CAAS;IACL,UAAU,CAAoB;IAE/C,YAAY,IAAY,EAAE,IAAY;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,2DAA2D;IAC3D,gBAAgB,CAAC,MAAc;QAC7B,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACnC,oBAAoB;YACpB,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM;YAC/B,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;gBACpB,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,GAAG,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,IAAI,CAAC,CAAC;QACvE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC;IACjE,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,MAAM,GAAa,CAAC,CAAC,CAAC,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACd,KAAK;YACL,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACrB,cAAc;YACd,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBACzD,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACnB,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
export declare enum TokenKind {
|
|
2
|
+
StringLiteral = "StringLiteral",
|
|
3
|
+
IntegerLiteral = "IntegerLiteral",
|
|
4
|
+
DecimalLiteral = "DecimalLiteral",
|
|
5
|
+
BooleanTrue = "BooleanTrue",
|
|
6
|
+
BooleanFalse = "BooleanFalse",
|
|
7
|
+
CodeLiteral = "CodeLiteral",
|
|
8
|
+
DimensionLiteral = "DimensionLiteral",
|
|
9
|
+
Identifier = "Identifier",
|
|
10
|
+
ProductKw = "ProductKw",
|
|
11
|
+
ModuleKw = "ModuleKw",
|
|
12
|
+
ImportKw = "ImportKw",
|
|
13
|
+
FromKw = "FromKw",
|
|
14
|
+
AsKw = "AsKw",
|
|
15
|
+
ProductRefKw = "ProductRefKw",
|
|
16
|
+
PublishesKw = "PublishesKw",
|
|
17
|
+
ConsumesKw = "ConsumesKw",
|
|
18
|
+
EntityKw = "EntityKw",
|
|
19
|
+
EnumKw = "EnumKw",
|
|
20
|
+
ValueKw = "ValueKw",
|
|
21
|
+
RuleKw = "RuleKw",
|
|
22
|
+
ConditionKw = "ConditionKw",
|
|
23
|
+
MessageKw = "MessageKw",
|
|
24
|
+
AndKw = "AndKw",
|
|
25
|
+
OrKw = "OrKw",
|
|
26
|
+
NotKw = "NotKw",
|
|
27
|
+
ActorKw = "ActorKw",
|
|
28
|
+
CapabilityKw = "CapabilityKw",
|
|
29
|
+
ActorsKw = "ActorsKw",
|
|
30
|
+
WorkflowKw = "WorkflowKw",
|
|
31
|
+
ActionKw = "ActionKw",
|
|
32
|
+
AuthorizationKw = "AuthorizationKw",
|
|
33
|
+
InputKw = "InputKw",
|
|
34
|
+
ReadsKw = "ReadsKw",
|
|
35
|
+
WritesKw = "WritesKw",
|
|
36
|
+
RulesKw = "RulesKw",
|
|
37
|
+
StepsKw = "StepsKw",
|
|
38
|
+
TransitionsKw = "TransitionsKw",
|
|
39
|
+
EffectsKw = "EffectsKw",
|
|
40
|
+
ReturnsKw = "ReturnsKw",
|
|
41
|
+
CallKw = "CallKw",
|
|
42
|
+
DecideKw = "DecideKw",
|
|
43
|
+
WhenKw = "WhenKw",
|
|
44
|
+
FailKw = "FailKw",
|
|
45
|
+
OnKw = "OnKw",
|
|
46
|
+
EventKw = "EventKw",
|
|
47
|
+
PayloadKw = "PayloadKw",
|
|
48
|
+
ScheduleKw = "ScheduleKw",
|
|
49
|
+
CronKw = "CronKw",
|
|
50
|
+
EmitKw = "EmitKw",
|
|
51
|
+
SurfaceKw = "SurfaceKw",
|
|
52
|
+
KindKw = "KindKw",
|
|
53
|
+
BindsKw = "BindsKw",
|
|
54
|
+
ActionsKw = "ActionsKw",
|
|
55
|
+
TitleKw = "TitleKw",
|
|
56
|
+
DescriptionKw = "DescriptionKw",
|
|
57
|
+
HooksKw = "HooksKw",
|
|
58
|
+
FieldsKw = "FieldsKw",
|
|
59
|
+
SerializationKw = "SerializationKw",
|
|
60
|
+
RenderingKw = "RenderingKw",
|
|
61
|
+
TargetKw = "TargetKw",
|
|
62
|
+
PlatformKw = "PlatformKw",
|
|
63
|
+
LayoutKw = "LayoutKw",
|
|
64
|
+
GridKw = "GridKw",
|
|
65
|
+
PlacementKw = "PlacementKw",
|
|
66
|
+
StyleKw = "StyleKw",
|
|
67
|
+
BindKw = "BindKw",
|
|
68
|
+
ComponentsKw = "ComponentsKw",
|
|
69
|
+
AtKw = "AtKw",
|
|
70
|
+
ColumnsKw = "ColumnsKw",
|
|
71
|
+
RowsKw = "RowsKw",
|
|
72
|
+
GapKw = "GapKw",
|
|
73
|
+
RowKw = "RowKw",
|
|
74
|
+
ColumnKw = "ColumnKw",
|
|
75
|
+
AutoKw = "AutoKw",
|
|
76
|
+
TokensKw = "TokensKw",
|
|
77
|
+
ThemeKw = "ThemeKw",
|
|
78
|
+
ExtendsKw = "ExtendsKw",
|
|
79
|
+
StringsKw = "StringsKw",
|
|
80
|
+
ConstitutionKw = "ConstitutionKw",
|
|
81
|
+
UseKw = "UseKw",
|
|
82
|
+
PoliciesKw = "PoliciesKw",
|
|
83
|
+
AppliesToKw = "AppliesToKw",
|
|
84
|
+
SecurityKw = "SecurityKw",
|
|
85
|
+
RequiresKw = "RequiresKw",
|
|
86
|
+
PrivacyKw = "PrivacyKw",
|
|
87
|
+
ClassificationKw = "ClassificationKw",
|
|
88
|
+
RetentionKw = "RetentionKw",
|
|
89
|
+
RedactOnKw = "RedactOnKw",
|
|
90
|
+
ExportableKw = "ExportableKw",
|
|
91
|
+
ErasableKw = "ErasableKw",
|
|
92
|
+
ValidationKw = "ValidationKw",
|
|
93
|
+
IntegrationKw = "IntegrationKw",
|
|
94
|
+
ProtocolKw = "ProtocolKw",
|
|
95
|
+
AuthKw = "AuthKw",
|
|
96
|
+
TransportKw = "TransportKw",
|
|
97
|
+
StorageKw = "StorageKw",
|
|
98
|
+
ModelKw = "ModelKw",
|
|
99
|
+
TableKw = "TableKw",
|
|
100
|
+
IndexesKw = "IndexesKw",
|
|
101
|
+
ExecutionKw = "ExecutionKw",
|
|
102
|
+
ModeKw = "ModeKw",
|
|
103
|
+
ExtensionKw = "ExtensionKw",
|
|
104
|
+
ContractKw = "ContractKw",
|
|
105
|
+
BodyKw = "BodyKw",
|
|
106
|
+
LanguageKw = "LanguageKw",
|
|
107
|
+
UniqueKw = "UniqueKw",
|
|
108
|
+
SecretKw = "SecretKw",
|
|
109
|
+
SourceKw = "SourceKw",
|
|
110
|
+
EnvKw = "EnvKw",
|
|
111
|
+
PathKw = "PathKw",
|
|
112
|
+
ScopeKw = "ScopeKw",
|
|
113
|
+
EnvironmentKw = "EnvironmentKw",
|
|
114
|
+
UrlKw = "UrlKw",
|
|
115
|
+
SecretsKw = "SecretsKw",
|
|
116
|
+
IntegrationsKw = "IntegrationsKw",
|
|
117
|
+
EnvironmentsKw = "EnvironmentsKw",
|
|
118
|
+
DeploymentKw = "DeploymentKw",
|
|
119
|
+
TestKw = "TestKw",
|
|
120
|
+
GivenKw = "GivenKw",
|
|
121
|
+
ExpectKw = "ExpectKw",
|
|
122
|
+
AuditKw = "AuditKw",
|
|
123
|
+
NotifyKw = "NotifyKw",
|
|
124
|
+
VersionKw = "VersionKw",
|
|
125
|
+
ModulesKw = "ModulesKw",
|
|
126
|
+
OpenBrace = "OpenBrace",
|
|
127
|
+
CloseBrace = "CloseBrace",
|
|
128
|
+
OpenBracket = "OpenBracket",
|
|
129
|
+
CloseBracket = "CloseBracket",
|
|
130
|
+
OpenParen = "OpenParen",
|
|
131
|
+
CloseParen = "CloseParen",
|
|
132
|
+
Colon = "Colon",
|
|
133
|
+
Comma = "Comma",
|
|
134
|
+
Dot = "Dot",
|
|
135
|
+
Equals = "Equals",
|
|
136
|
+
LessThan = "LessThan",
|
|
137
|
+
GreaterThan = "GreaterThan",
|
|
138
|
+
Arrow = "Arrow",
|
|
139
|
+
DotDot = "DotDot",
|
|
140
|
+
AtSign = "AtSign",
|
|
141
|
+
Slash = "Slash",
|
|
142
|
+
GreaterEqual = "GreaterEqual",
|
|
143
|
+
LessEqual = "LessEqual",
|
|
144
|
+
EqualsEquals = "EqualsEquals",
|
|
145
|
+
BangEquals = "BangEquals",
|
|
146
|
+
EOF = "EOF",
|
|
147
|
+
Unknown = "Unknown"
|
|
148
|
+
}
|
|
149
|
+
export interface Token {
|
|
150
|
+
readonly kind: TokenKind;
|
|
151
|
+
readonly text: string;
|
|
152
|
+
readonly pos: number;
|
|
153
|
+
readonly line: number;
|
|
154
|
+
readonly column: number;
|
|
155
|
+
readonly end: number;
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/lexer/tokens.ts"],"names":[],"mappings":"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"}
|