@aster-cloud/aster-lang-ts 0.0.1
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 +144 -0
- package/dist/peg/headers-parser.js +1887 -0
- package/dist/scripts/aster.d.ts +3 -0
- package/dist/scripts/aster.d.ts.map +1 -0
- package/dist/scripts/aster.js +304 -0
- package/dist/scripts/aster.js.map +1 -0
- package/dist/scripts/build-example-packages.d.ts +3 -0
- package/dist/scripts/build-example-packages.d.ts.map +1 -0
- package/dist/scripts/build-example-packages.js +78 -0
- package/dist/scripts/build-example-packages.js.map +1 -0
- package/dist/scripts/build-peg.d.ts +3 -0
- package/dist/scripts/build-peg.d.ts.map +1 -0
- package/dist/scripts/build-peg.js +13 -0
- package/dist/scripts/build-peg.js.map +1 -0
- package/dist/scripts/cleanup-examples.d.ts +3 -0
- package/dist/scripts/cleanup-examples.d.ts.map +1 -0
- package/dist/scripts/cleanup-examples.js +40 -0
- package/dist/scripts/cleanup-examples.js.map +1 -0
- package/dist/scripts/clear-method-cache.d.ts +3 -0
- package/dist/scripts/clear-method-cache.d.ts.map +1 -0
- package/dist/scripts/clear-method-cache.js +20 -0
- package/dist/scripts/clear-method-cache.js.map +1 -0
- package/dist/scripts/cli.d.ts +3 -0
- package/dist/scripts/cli.d.ts.map +1 -0
- package/dist/scripts/cli.js +51 -0
- package/dist/scripts/cli.js.map +1 -0
- package/dist/scripts/determinism.d.ts +3 -0
- package/dist/scripts/determinism.d.ts.map +1 -0
- package/dist/scripts/determinism.js +124 -0
- package/dist/scripts/determinism.js.map +1 -0
- package/dist/scripts/emit-classfiles-core.d.ts +3 -0
- package/dist/scripts/emit-classfiles-core.d.ts.map +1 -0
- package/dist/scripts/emit-classfiles-core.js +86 -0
- package/dist/scripts/emit-classfiles-core.js.map +1 -0
- package/dist/scripts/emit-classfiles.d.ts +3 -0
- package/dist/scripts/emit-classfiles.d.ts.map +1 -0
- package/dist/scripts/emit-classfiles.js +401 -0
- package/dist/scripts/emit-classfiles.js.map +1 -0
- package/dist/scripts/emit-core.d.ts +3 -0
- package/dist/scripts/emit-core.d.ts.map +1 -0
- package/dist/scripts/emit-core.js +52 -0
- package/dist/scripts/emit-core.js.map +1 -0
- package/dist/scripts/emit-hints.d.ts +3 -0
- package/dist/scripts/emit-hints.d.ts.map +1 -0
- package/dist/scripts/emit-hints.js +75 -0
- package/dist/scripts/emit-hints.js.map +1 -0
- package/dist/scripts/format-examples.d.ts +3 -0
- package/dist/scripts/format-examples.d.ts.map +1 -0
- package/dist/scripts/format-examples.js +55 -0
- package/dist/scripts/format-examples.js.map +1 -0
- package/dist/scripts/generate_error_code_docs.d.ts +8 -0
- package/dist/scripts/generate_error_code_docs.d.ts.map +1 -0
- package/dist/scripts/generate_error_code_docs.js +128 -0
- package/dist/scripts/generate_error_code_docs.js.map +1 -0
- package/dist/scripts/generate_error_codes.d.ts +3 -0
- package/dist/scripts/generate_error_codes.d.ts.map +1 -0
- package/dist/scripts/generate_error_codes.js +224 -0
- package/dist/scripts/generate_error_codes.js.map +1 -0
- package/dist/scripts/golden.d.ts +3 -0
- package/dist/scripts/golden.d.ts.map +1 -0
- package/dist/scripts/golden.js +405 -0
- package/dist/scripts/golden.js.map +1 -0
- package/dist/scripts/health-check.d.ts +3 -0
- package/dist/scripts/health-check.d.ts.map +1 -0
- package/dist/scripts/health-check.js +42 -0
- package/dist/scripts/health-check.js.map +1 -0
- package/dist/scripts/inspect-method-cache.d.ts +3 -0
- package/dist/scripts/inspect-method-cache.d.ts.map +1 -0
- package/dist/scripts/inspect-method-cache.js +24 -0
- package/dist/scripts/inspect-method-cache.js.map +1 -0
- package/dist/scripts/lsp-build-index.d.ts +3 -0
- package/dist/scripts/lsp-build-index.d.ts.map +1 -0
- package/dist/scripts/lsp-build-index.js +60 -0
- package/dist/scripts/lsp-build-index.js.map +1 -0
- package/dist/scripts/lsp-capmanifest-codeaction-smoke.d.ts +3 -0
- package/dist/scripts/lsp-capmanifest-codeaction-smoke.d.ts.map +1 -0
- package/dist/scripts/lsp-capmanifest-codeaction-smoke.js +161 -0
- package/dist/scripts/lsp-capmanifest-codeaction-smoke.js.map +1 -0
- package/dist/scripts/lsp-client-helper.d.ts +30 -0
- package/dist/scripts/lsp-client-helper.d.ts.map +1 -0
- package/dist/scripts/lsp-client-helper.js +192 -0
- package/dist/scripts/lsp-client-helper.js.map +1 -0
- package/dist/scripts/lsp-client-helper.test.d.ts +7 -0
- package/dist/scripts/lsp-client-helper.test.d.ts.map +1 -0
- package/dist/scripts/lsp-client-helper.test.js +45 -0
- package/dist/scripts/lsp-client-helper.test.js.map +1 -0
- package/dist/scripts/lsp-codeaction-smoke.d.ts +3 -0
- package/dist/scripts/lsp-codeaction-smoke.d.ts.map +1 -0
- package/dist/scripts/lsp-codeaction-smoke.js +98 -0
- package/dist/scripts/lsp-codeaction-smoke.js.map +1 -0
- package/dist/scripts/lsp-harness.d.ts +3 -0
- package/dist/scripts/lsp-harness.d.ts.map +1 -0
- package/dist/scripts/lsp-harness.js +33 -0
- package/dist/scripts/lsp-harness.js.map +1 -0
- package/dist/scripts/lsp-health-smoke.d.ts +3 -0
- package/dist/scripts/lsp-health-smoke.d.ts.map +1 -0
- package/dist/scripts/lsp-health-smoke.js +98 -0
- package/dist/scripts/lsp-health-smoke.js.map +1 -0
- package/dist/scripts/lsp-health.d.ts +3 -0
- package/dist/scripts/lsp-health.d.ts.map +1 -0
- package/dist/scripts/lsp-health.js +22 -0
- package/dist/scripts/lsp-health.js.map +1 -0
- package/dist/scripts/lsp-highlight-smoke.d.ts +3 -0
- package/dist/scripts/lsp-highlight-smoke.d.ts.map +1 -0
- package/dist/scripts/lsp-highlight-smoke.js +124 -0
- package/dist/scripts/lsp-highlight-smoke.js.map +1 -0
- package/dist/scripts/lsp-missing-header-codeaction-smoke.d.ts +3 -0
- package/dist/scripts/lsp-missing-header-codeaction-smoke.d.ts.map +1 -0
- package/dist/scripts/lsp-missing-header-codeaction-smoke.js +78 -0
- package/dist/scripts/lsp-missing-header-codeaction-smoke.js.map +1 -0
- package/dist/scripts/lsp-multi-rename.test.d.ts +3 -0
- package/dist/scripts/lsp-multi-rename.test.d.ts.map +1 -0
- package/dist/scripts/lsp-multi-rename.test.js +81 -0
- package/dist/scripts/lsp-multi-rename.test.js.map +1 -0
- package/dist/scripts/lsp-punct-codeaction-smoke.d.ts +3 -0
- package/dist/scripts/lsp-punct-codeaction-smoke.d.ts.map +1 -0
- package/dist/scripts/lsp-punct-codeaction-smoke.js +71 -0
- package/dist/scripts/lsp-punct-codeaction-smoke.js.map +1 -0
- package/dist/scripts/lsp-signaturehelp-smoke.d.ts +3 -0
- package/dist/scripts/lsp-signaturehelp-smoke.d.ts.map +1 -0
- package/dist/scripts/lsp-signaturehelp-smoke.js +129 -0
- package/dist/scripts/lsp-signaturehelp-smoke.js.map +1 -0
- package/dist/scripts/lsp-smoke.d.ts +3 -0
- package/dist/scripts/lsp-smoke.d.ts.map +1 -0
- package/dist/scripts/lsp-smoke.js +54 -0
- package/dist/scripts/lsp-smoke.js.map +1 -0
- package/dist/scripts/lsp-streaming-progress-smoke.d.ts +3 -0
- package/dist/scripts/lsp-streaming-progress-smoke.d.ts.map +1 -0
- package/dist/scripts/lsp-streaming-progress-smoke.js +116 -0
- package/dist/scripts/lsp-streaming-progress-smoke.js.map +1 -0
- package/dist/scripts/lsp-workspace-diagnostics-smoke.d.ts +3 -0
- package/dist/scripts/lsp-workspace-diagnostics-smoke.d.ts.map +1 -0
- package/dist/scripts/lsp-workspace-diagnostics-smoke.js +81 -0
- package/dist/scripts/lsp-workspace-diagnostics-smoke.js.map +1 -0
- package/dist/scripts/perf-assert-report.d.ts +8 -0
- package/dist/scripts/perf-assert-report.d.ts.map +1 -0
- package/dist/scripts/perf-assert-report.js +44 -0
- package/dist/scripts/perf-assert-report.js.map +1 -0
- package/dist/scripts/perf-assert.d.ts +3 -0
- package/dist/scripts/perf-assert.d.ts.map +1 -0
- package/dist/scripts/perf-assert.js +29 -0
- package/dist/scripts/perf-assert.js.map +1 -0
- package/dist/scripts/perf-benchmark.d.ts +9 -0
- package/dist/scripts/perf-benchmark.d.ts.map +1 -0
- package/dist/scripts/perf-benchmark.js +272 -0
- package/dist/scripts/perf-benchmark.js.map +1 -0
- package/dist/scripts/perf-diagnostics.d.ts +7 -0
- package/dist/scripts/perf-diagnostics.d.ts.map +1 -0
- package/dist/scripts/perf-diagnostics.js +87 -0
- package/dist/scripts/perf-diagnostics.js.map +1 -0
- package/dist/scripts/perf-lsp-e2e-v2.d.ts +15 -0
- package/dist/scripts/perf-lsp-e2e-v2.d.ts.map +1 -0
- package/dist/scripts/perf-lsp-e2e-v2.js +323 -0
- package/dist/scripts/perf-lsp-e2e-v2.js.map +1 -0
- package/dist/scripts/perf-lsp-e2e.d.ts +3 -0
- package/dist/scripts/perf-lsp-e2e.d.ts.map +1 -0
- package/dist/scripts/perf-lsp-e2e.js +331 -0
- package/dist/scripts/perf-lsp-e2e.js.map +1 -0
- package/dist/scripts/perf-lsp-internal.d.ts +11 -0
- package/dist/scripts/perf-lsp-internal.d.ts.map +1 -0
- package/dist/scripts/perf-lsp-internal.js +163 -0
- package/dist/scripts/perf-lsp-internal.js.map +1 -0
- package/dist/scripts/perf-lsp-ipc.d.ts +11 -0
- package/dist/scripts/perf-lsp-ipc.d.ts.map +1 -0
- package/dist/scripts/perf-lsp-ipc.js +127 -0
- package/dist/scripts/perf-lsp-ipc.js.map +1 -0
- package/dist/scripts/perf-lsp.d.ts +3 -0
- package/dist/scripts/perf-lsp.d.ts.map +1 -0
- package/dist/scripts/perf-lsp.js +87 -0
- package/dist/scripts/perf-lsp.js.map +1 -0
- package/dist/scripts/perf-utils.d.ts +29 -0
- package/dist/scripts/perf-utils.d.ts.map +1 -0
- package/dist/scripts/perf-utils.js +40 -0
- package/dist/scripts/perf-utils.js.map +1 -0
- package/dist/scripts/profile-medium-project.d.ts +7 -0
- package/dist/scripts/profile-medium-project.d.ts.map +1 -0
- package/dist/scripts/profile-medium-project.js +152 -0
- package/dist/scripts/profile-medium-project.js.map +1 -0
- package/dist/scripts/repl.d.ts +3 -0
- package/dist/scripts/repl.d.ts.map +1 -0
- package/dist/scripts/repl.js +88 -0
- package/dist/scripts/repl.js.map +1 -0
- package/dist/scripts/scaffold.d.ts +3 -0
- package/dist/scripts/scaffold.d.ts.map +1 -0
- package/dist/scripts/scaffold.js +73 -0
- package/dist/scripts/scaffold.js.map +1 -0
- package/dist/scripts/seed-method-cache.d.ts +3 -0
- package/dist/scripts/seed-method-cache.d.ts.map +1 -0
- package/dist/scripts/seed-method-cache.js +37 -0
- package/dist/scripts/seed-method-cache.js.map +1 -0
- package/dist/scripts/test-comments-golden.d.ts +3 -0
- package/dist/scripts/test-comments-golden.d.ts.map +1 -0
- package/dist/scripts/test-comments-golden.js +36 -0
- package/dist/scripts/test-comments-golden.js.map +1 -0
- package/dist/scripts/test-lossless-golden.d.ts +3 -0
- package/dist/scripts/test-lossless-golden.d.ts.map +1 -0
- package/dist/scripts/test-lossless-golden.js +42 -0
- package/dist/scripts/test-lossless-golden.js.map +1 -0
- package/dist/scripts/test-lossless.d.ts +3 -0
- package/dist/scripts/test-lossless.d.ts.map +1 -0
- package/dist/scripts/test-lossless.js +26 -0
- package/dist/scripts/test-lossless.js.map +1 -0
- package/dist/scripts/test-lsp-index.d.ts +3 -0
- package/dist/scripts/test-lsp-index.d.ts.map +1 -0
- package/dist/scripts/test-lsp-index.js +37 -0
- package/dist/scripts/test-lsp-index.js.map +1 -0
- package/dist/scripts/test-medium-diagnostics.d.ts +7 -0
- package/dist/scripts/test-medium-diagnostics.d.ts.map +1 -0
- package/dist/scripts/test-medium-diagnostics.js +129 -0
- package/dist/scripts/test-medium-diagnostics.js.map +1 -0
- package/dist/scripts/typecheck-cli.d.ts +3 -0
- package/dist/scripts/typecheck-cli.d.ts.map +1 -0
- package/dist/scripts/typecheck-cli.js +104 -0
- package/dist/scripts/typecheck-cli.js.map +1 -0
- package/dist/scripts/update-eff-violation-expected.d.ts +3 -0
- package/dist/scripts/update-eff-violation-expected.d.ts.map +1 -0
- package/dist/scripts/update-eff-violation-expected.js +57 -0
- package/dist/scripts/update-eff-violation-expected.js.map +1 -0
- package/dist/scripts/update-golden-ast.d.ts +3 -0
- package/dist/scripts/update-golden-ast.d.ts.map +1 -0
- package/dist/scripts/update-golden-ast.js +61 -0
- package/dist/scripts/update-golden-ast.js.map +1 -0
- package/dist/scripts/validate_error_codes.d.ts +12 -0
- package/dist/scripts/validate_error_codes.d.ts.map +1 -0
- package/dist/scripts/validate_error_codes.js +114 -0
- package/dist/scripts/validate_error_codes.js.map +1 -0
- package/dist/scripts/verify-capabilities.d.ts +3 -0
- package/dist/scripts/verify-capabilities.d.ts.map +1 -0
- package/dist/scripts/verify-capabilities.js +23 -0
- package/dist/scripts/verify-capabilities.js.map +1 -0
- package/dist/scripts/verify-classes.d.ts +3 -0
- package/dist/scripts/verify-classes.d.ts.map +1 -0
- package/dist/scripts/verify-classes.js +32 -0
- package/dist/scripts/verify-classes.js.map +1 -0
- package/dist/scripts/verify-examples.d.ts +3 -0
- package/dist/scripts/verify-examples.d.ts.map +1 -0
- package/dist/scripts/verify-examples.js +79 -0
- package/dist/scripts/verify-examples.js.map +1 -0
- package/dist/scripts/verify-fuzz.d.ts +3 -0
- package/dist/scripts/verify-fuzz.d.ts.map +1 -0
- package/dist/scripts/verify-fuzz.js +88 -0
- package/dist/scripts/verify-fuzz.js.map +1 -0
- package/dist/scripts/verify-jar-checksum.d.ts +3 -0
- package/dist/scripts/verify-jar-checksum.d.ts.map +1 -0
- package/dist/scripts/verify-jar-checksum.js +63 -0
- package/dist/scripts/verify-jar-checksum.js.map +1 -0
- package/dist/scripts/verify-nullstrict.d.ts +3 -0
- package/dist/scripts/verify-nullstrict.d.ts.map +1 -0
- package/dist/scripts/verify-nullstrict.js +20 -0
- package/dist/scripts/verify-nullstrict.js.map +1 -0
- package/dist/src/ai/generation-cache.d.ts +36 -0
- package/dist/src/ai/generation-cache.d.ts.map +1 -0
- package/dist/src/ai/generation-cache.js +91 -0
- package/dist/src/ai/generation-cache.js.map +1 -0
- package/dist/src/ai/generator.d.ts +105 -0
- package/dist/src/ai/generator.d.ts.map +1 -0
- package/dist/src/ai/generator.js +103 -0
- package/dist/src/ai/generator.js.map +1 -0
- package/dist/src/ai/llm-provider.d.ts +31 -0
- package/dist/src/ai/llm-provider.d.ts.map +1 -0
- package/dist/src/ai/llm-provider.js +17 -0
- package/dist/src/ai/llm-provider.js.map +1 -0
- package/dist/src/ai/prompt-manager.d.ts +48 -0
- package/dist/src/ai/prompt-manager.d.ts.map +1 -0
- package/dist/src/ai/prompt-manager.js +70 -0
- package/dist/src/ai/prompt-manager.js.map +1 -0
- package/dist/src/ai/provenance.d.ts +70 -0
- package/dist/src/ai/provenance.d.ts.map +1 -0
- package/dist/src/ai/provenance.js +95 -0
- package/dist/src/ai/provenance.js.map +1 -0
- package/dist/src/ai/providers/anthropic.d.ts +14 -0
- package/dist/src/ai/providers/anthropic.d.ts.map +1 -0
- package/dist/src/ai/providers/anthropic.js +56 -0
- package/dist/src/ai/providers/anthropic.js.map +1 -0
- package/dist/src/ai/providers/openai.d.ts +15 -0
- package/dist/src/ai/providers/openai.d.ts.map +1 -0
- package/dist/src/ai/providers/openai.js +58 -0
- package/dist/src/ai/providers/openai.js.map +1 -0
- package/dist/src/ai/validator.d.ts +68 -0
- package/dist/src/ai/validator.d.ts.map +1 -0
- package/dist/src/ai/validator.js +108 -0
- package/dist/src/ai/validator.js.map +1 -0
- package/dist/src/ast/ast.d.ts +49 -0
- package/dist/src/ast/ast.d.ts.map +1 -0
- package/dist/src/ast/ast.js +191 -0
- package/dist/src/ast/ast.js.map +1 -0
- package/dist/src/ast/ast_visitor.d.ts +66 -0
- package/dist/src/ast/ast_visitor.d.ts.map +1 -0
- package/dist/src/ast/ast_visitor.js +176 -0
- package/dist/src/ast/ast_visitor.js.map +1 -0
- package/dist/src/ast/index.d.ts +13 -0
- package/dist/src/ast/index.d.ts.map +1 -0
- package/dist/src/ast/index.js +12 -0
- package/dist/src/ast/index.js.map +1 -0
- package/dist/src/cli/commands/ai-generate.d.ts +39 -0
- package/dist/src/cli/commands/ai-generate.d.ts.map +1 -0
- package/dist/src/cli/commands/ai-generate.js +146 -0
- package/dist/src/cli/commands/ai-generate.js.map +1 -0
- package/dist/src/cli/commands/install.d.ts +7 -0
- package/dist/src/cli/commands/install.d.ts.map +1 -0
- package/dist/src/cli/commands/install.js +146 -0
- package/dist/src/cli/commands/install.js.map +1 -0
- package/dist/src/cli/commands/list.d.ts +6 -0
- package/dist/src/cli/commands/list.d.ts.map +1 -0
- package/dist/src/cli/commands/list.js +158 -0
- package/dist/src/cli/commands/list.js.map +1 -0
- package/dist/src/cli/commands/search.d.ts +2 -0
- package/dist/src/cli/commands/search.d.ts.map +1 -0
- package/dist/src/cli/commands/search.js +174 -0
- package/dist/src/cli/commands/search.js.map +1 -0
- package/dist/src/cli/commands/update.d.ts +2 -0
- package/dist/src/cli/commands/update.d.ts.map +1 -0
- package/dist/src/cli/commands/update.js +244 -0
- package/dist/src/cli/commands/update.js.map +1 -0
- package/dist/src/cli/policy-converter.d.ts +10 -0
- package/dist/src/cli/policy-converter.d.ts.map +1 -0
- package/dist/src/cli/policy-converter.js +188 -0
- package/dist/src/cli/policy-converter.js.map +1 -0
- package/dist/src/cli/utils/error-handler.d.ts +4 -0
- package/dist/src/cli/utils/error-handler.d.ts.map +1 -0
- package/dist/src/cli/utils/error-handler.js +91 -0
- package/dist/src/cli/utils/error-handler.js.map +1 -0
- package/dist/src/cli/utils/logger.d.ts +8 -0
- package/dist/src/cli/utils/logger.d.ts.map +1 -0
- package/dist/src/cli/utils/logger.js +20 -0
- package/dist/src/cli/utils/logger.js.map +1 -0
- package/dist/src/config/config-service.d.ts +79 -0
- package/dist/src/config/config-service.d.ts.map +1 -0
- package/dist/src/config/config-service.js +112 -0
- package/dist/src/config/config-service.js.map +1 -0
- package/dist/src/config/effect_config.d.ts +111 -0
- package/dist/src/config/effect_config.d.ts.map +1 -0
- package/dist/src/config/effect_config.js +248 -0
- package/dist/src/config/effect_config.js.map +1 -0
- package/dist/src/config/effects.d.ts +33 -0
- package/dist/src/config/effects.d.ts.map +1 -0
- package/dist/src/config/effects.js +34 -0
- package/dist/src/config/effects.js.map +1 -0
- package/dist/src/config/lexicons/de-DE.d.ts +12 -0
- package/dist/src/config/lexicons/de-DE.d.ts.map +1 -0
- package/dist/src/config/lexicons/de-DE.js +129 -0
- package/dist/src/config/lexicons/de-DE.js.map +1 -0
- package/dist/src/config/lexicons/en-US.d.ts +15 -0
- package/dist/src/config/lexicons/en-US.d.ts.map +1 -0
- package/dist/src/config/lexicons/en-US.js +136 -0
- package/dist/src/config/lexicons/en-US.js.map +1 -0
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.d.ts +13 -0
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.d.ts.map +1 -0
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.js +307 -0
- package/dist/src/config/lexicons/identifiers/domains/finance.loan.zh-CN.js.map +1 -0
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.d.ts +25 -0
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.d.ts.map +1 -0
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.js +355 -0
- package/dist/src/config/lexicons/identifiers/domains/insurance.auto.zh-CN.js.map +1 -0
- package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.d.ts +47 -0
- package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.d.ts.map +1 -0
- package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.js +142 -0
- package/dist/src/config/lexicons/identifiers/examples/canonicalizer-integration.js.map +1 -0
- package/dist/src/config/lexicons/identifiers/index.d.ts +34 -0
- package/dist/src/config/lexicons/identifiers/index.d.ts.map +1 -0
- package/dist/src/config/lexicons/identifiers/index.js +37 -0
- package/dist/src/config/lexicons/identifiers/index.js.map +1 -0
- package/dist/src/config/lexicons/identifiers/registry.d.ts +112 -0
- package/dist/src/config/lexicons/identifiers/registry.d.ts.map +1 -0
- package/dist/src/config/lexicons/identifiers/registry.js +188 -0
- package/dist/src/config/lexicons/identifiers/registry.js.map +1 -0
- package/dist/src/config/lexicons/identifiers/types.d.ts +129 -0
- package/dist/src/config/lexicons/identifiers/types.d.ts.map +1 -0
- package/dist/src/config/lexicons/identifiers/types.js +146 -0
- package/dist/src/config/lexicons/identifiers/types.js.map +1 -0
- package/dist/src/config/lexicons/index.d.ts +33 -0
- package/dist/src/config/lexicons/index.d.ts.map +1 -0
- package/dist/src/config/lexicons/index.js +50 -0
- package/dist/src/config/lexicons/index.js.map +1 -0
- package/dist/src/config/lexicons/registry.d.ts +41 -0
- package/dist/src/config/lexicons/registry.d.ts.map +1 -0
- package/dist/src/config/lexicons/registry.js +205 -0
- package/dist/src/config/lexicons/registry.js.map +1 -0
- package/dist/src/config/lexicons/template.d.ts +67 -0
- package/dist/src/config/lexicons/template.d.ts.map +1 -0
- package/dist/src/config/lexicons/template.js +442 -0
- package/dist/src/config/lexicons/template.js.map +1 -0
- package/dist/src/config/lexicons/types.d.ts +169 -0
- package/dist/src/config/lexicons/types.d.ts.map +1 -0
- package/dist/src/config/lexicons/types.js +62 -0
- package/dist/src/config/lexicons/types.js.map +1 -0
- package/dist/src/config/lexicons/zh-CN.d.ts +21 -0
- package/dist/src/config/lexicons/zh-CN.d.ts.map +1 -0
- package/dist/src/config/lexicons/zh-CN.js +139 -0
- package/dist/src/config/lexicons/zh-CN.js.map +1 -0
- package/dist/src/config/runtime.d.ts +2 -0
- package/dist/src/config/runtime.d.ts.map +1 -0
- package/dist/src/config/runtime.js +13 -0
- package/dist/src/config/runtime.js.map +1 -0
- package/dist/src/config/semantic.d.ts +262 -0
- package/dist/src/config/semantic.d.ts.map +1 -0
- package/dist/src/config/semantic.js +394 -0
- package/dist/src/config/semantic.js.map +1 -0
- package/dist/src/config/token-kind.d.ts +177 -0
- package/dist/src/config/token-kind.d.ts.map +1 -0
- package/dist/src/config/token-kind.js +298 -0
- package/dist/src/config/token-kind.js.map +1 -0
- package/dist/src/core/core_ir.d.ts +50 -0
- package/dist/src/core/core_ir.d.ts.map +1 -0
- package/dist/src/core/core_ir.js +139 -0
- package/dist/src/core/core_ir.js.map +1 -0
- package/dist/src/core/core_ir_json.d.ts +62 -0
- package/dist/src/core/core_ir_json.d.ts.map +1 -0
- package/dist/src/core/core_ir_json.js +81 -0
- package/dist/src/core/core_ir_json.js.map +1 -0
- package/dist/src/core/index.d.ts +18 -0
- package/dist/src/core/index.d.ts.map +1 -0
- package/dist/src/core/index.js +16 -0
- package/dist/src/core/index.js.map +1 -0
- package/dist/src/core/pretty_core.d.ts +3 -0
- package/dist/src/core/pretty_core.d.ts.map +1 -0
- package/dist/src/core/pretty_core.js +177 -0
- package/dist/src/core/pretty_core.js.map +1 -0
- package/dist/src/core/visitor.d.ts +51 -0
- package/dist/src/core/visitor.d.ts.map +1 -0
- package/dist/src/core/visitor.js +117 -0
- package/dist/src/core/visitor.js.map +1 -0
- package/dist/src/cst/cst.d.ts +32 -0
- package/dist/src/cst/cst.d.ts.map +1 -0
- package/dist/src/cst/cst.js +2 -0
- package/dist/src/cst/cst.js.map +1 -0
- package/dist/src/cst/cst_builder.d.ts +5 -0
- package/dist/src/cst/cst_builder.d.ts.map +1 -0
- package/dist/src/cst/cst_builder.js +101 -0
- package/dist/src/cst/cst_builder.js.map +1 -0
- package/dist/src/cst/cst_printer.d.ts +8 -0
- package/dist/src/cst/cst_printer.d.ts.map +1 -0
- package/dist/src/cst/cst_printer.js +47 -0
- package/dist/src/cst/cst_printer.js.map +1 -0
- package/dist/src/cst/index.d.ts +14 -0
- package/dist/src/cst/index.d.ts.map +1 -0
- package/dist/src/cst/index.js +13 -0
- package/dist/src/cst/index.js.map +1 -0
- package/dist/src/diagnostics/diagnostics.d.ts +138 -0
- package/dist/src/diagnostics/diagnostics.d.ts.map +1 -0
- package/dist/src/diagnostics/diagnostics.js +249 -0
- package/dist/src/diagnostics/diagnostics.js.map +1 -0
- package/dist/src/diagnostics/error_codes.d.ts +88 -0
- package/dist/src/diagnostics/error_codes.d.ts.map +1 -0
- package/dist/src/diagnostics/error_codes.js +551 -0
- package/dist/src/diagnostics/error_codes.js.map +1 -0
- package/dist/src/diagnostics/index.d.ts +14 -0
- package/dist/src/diagnostics/index.d.ts.map +1 -0
- package/dist/src/diagnostics/index.js +14 -0
- package/dist/src/diagnostics/index.js.map +1 -0
- package/dist/src/effects/capabilities.d.ts +18 -0
- package/dist/src/effects/capabilities.d.ts.map +1 -0
- package/dist/src/effects/capabilities.js +101 -0
- package/dist/src/effects/capabilities.js.map +1 -0
- package/dist/src/effects/effect_inference.d.ts +17 -0
- package/dist/src/effects/effect_inference.d.ts.map +1 -0
- package/dist/src/effects/effect_inference.js +557 -0
- package/dist/src/effects/effect_inference.js.map +1 -0
- package/dist/src/effects/effect_signature.d.ts +13 -0
- package/dist/src/effects/effect_signature.d.ts.map +1 -0
- package/dist/src/effects/effect_signature.js +2 -0
- package/dist/src/effects/effect_signature.js.map +1 -0
- package/dist/src/effects/index.d.ts +14 -0
- package/dist/src/effects/index.d.ts.map +1 -0
- package/dist/src/effects/index.js +13 -0
- package/dist/src/effects/index.js.map +1 -0
- package/dist/src/formatter.d.ts +7 -0
- package/dist/src/formatter.d.ts.map +1 -0
- package/dist/src/formatter.js +383 -0
- package/dist/src/formatter.js.map +1 -0
- package/dist/src/frontend/canonicalizer.d.ts +55 -0
- package/dist/src/frontend/canonicalizer.d.ts.map +1 -0
- package/dist/src/frontend/canonicalizer.js +348 -0
- package/dist/src/frontend/canonicalizer.js.map +1 -0
- package/dist/src/frontend/index.d.ts +17 -0
- package/dist/src/frontend/index.d.ts.map +1 -0
- package/dist/src/frontend/index.js +16 -0
- package/dist/src/frontend/index.js.map +1 -0
- package/dist/src/frontend/keyword-translator.d.ts +134 -0
- package/dist/src/frontend/keyword-translator.d.ts.map +1 -0
- package/dist/src/frontend/keyword-translator.js +188 -0
- package/dist/src/frontend/keyword-translator.js.map +1 -0
- package/dist/src/frontend/lexer.d.ts +59 -0
- package/dist/src/frontend/lexer.d.ts.map +1 -0
- package/dist/src/frontend/lexer.js +536 -0
- package/dist/src/frontend/lexer.js.map +1 -0
- package/dist/src/frontend/tokens.d.ts +12 -0
- package/dist/src/frontend/tokens.d.ts.map +1 -0
- package/dist/src/frontend/tokens.js +12 -0
- package/dist/src/frontend/tokens.js.map +1 -0
- package/dist/src/index.d.ts +36 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +37 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/jvm/emitter.d.ts +3 -0
- package/dist/src/jvm/emitter.d.ts.map +1 -0
- package/dist/src/jvm/emitter.js +609 -0
- package/dist/src/jvm/emitter.js.map +1 -0
- package/dist/src/lower_to_core.d.ts +53 -0
- package/dist/src/lower_to_core.d.ts.map +1 -0
- package/dist/src/lower_to_core.js +528 -0
- package/dist/src/lower_to_core.js.map +1 -0
- package/dist/src/lsp/analysis.d.ts +50 -0
- package/dist/src/lsp/analysis.d.ts.map +1 -0
- package/dist/src/lsp/analysis.js +399 -0
- package/dist/src/lsp/analysis.js.map +1 -0
- package/dist/src/lsp/codeaction.d.ts +21 -0
- package/dist/src/lsp/codeaction.d.ts.map +1 -0
- package/dist/src/lsp/codeaction.js +531 -0
- package/dist/src/lsp/codeaction.js.map +1 -0
- package/dist/src/lsp/completion.d.ts +81 -0
- package/dist/src/lsp/completion.d.ts.map +1 -0
- package/dist/src/lsp/completion.js +345 -0
- package/dist/src/lsp/completion.js.map +1 -0
- package/dist/src/lsp/config.d.ts +34 -0
- package/dist/src/lsp/config.d.ts.map +1 -0
- package/dist/src/lsp/config.js +23 -0
- package/dist/src/lsp/config.js.map +1 -0
- package/dist/src/lsp/diagnostics.d.ts +87 -0
- package/dist/src/lsp/diagnostics.d.ts.map +1 -0
- package/dist/src/lsp/diagnostics.js +474 -0
- package/dist/src/lsp/diagnostics.js.map +1 -0
- package/dist/src/lsp/formatting.d.ts +16 -0
- package/dist/src/lsp/formatting.d.ts.map +1 -0
- package/dist/src/lsp/formatting.js +75 -0
- package/dist/src/lsp/formatting.js.map +1 -0
- package/dist/src/lsp/health.d.ts +74 -0
- package/dist/src/lsp/health.d.ts.map +1 -0
- package/dist/src/lsp/health.js +106 -0
- package/dist/src/lsp/health.js.map +1 -0
- package/dist/src/lsp/index.d.ts +14 -0
- package/dist/src/lsp/index.d.ts.map +1 -0
- package/dist/src/lsp/index.js +17 -0
- package/dist/src/lsp/index.js.map +1 -0
- package/dist/src/lsp/module_cache.d.ts +39 -0
- package/dist/src/lsp/module_cache.d.ts.map +1 -0
- package/dist/src/lsp/module_cache.js +308 -0
- package/dist/src/lsp/module_cache.js.map +1 -0
- package/dist/src/lsp/navigation/definition.d.ts +20 -0
- package/dist/src/lsp/navigation/definition.d.ts.map +1 -0
- package/dist/src/lsp/navigation/definition.js +96 -0
- package/dist/src/lsp/navigation/definition.js.map +1 -0
- package/dist/src/lsp/navigation/document-symbol.d.ts +20 -0
- package/dist/src/lsp/navigation/document-symbol.d.ts.map +1 -0
- package/dist/src/lsp/navigation/document-symbol.js +196 -0
- package/dist/src/lsp/navigation/document-symbol.js.map +1 -0
- package/dist/src/lsp/navigation/hover.d.ts +20 -0
- package/dist/src/lsp/navigation/hover.d.ts.map +1 -0
- package/dist/src/lsp/navigation/hover.js +147 -0
- package/dist/src/lsp/navigation/hover.js.map +1 -0
- package/dist/src/lsp/navigation/references.d.ts +17 -0
- package/dist/src/lsp/navigation/references.d.ts.map +1 -0
- package/dist/src/lsp/navigation/references.js +104 -0
- package/dist/src/lsp/navigation/references.js.map +1 -0
- package/dist/src/lsp/navigation/rename.d.ts +22 -0
- package/dist/src/lsp/navigation/rename.d.ts.map +1 -0
- package/dist/src/lsp/navigation/rename.js +161 -0
- package/dist/src/lsp/navigation/rename.js.map +1 -0
- package/dist/src/lsp/navigation/shared.d.ts +175 -0
- package/dist/src/lsp/navigation/shared.d.ts.map +1 -0
- package/dist/src/lsp/navigation/shared.js +470 -0
- package/dist/src/lsp/navigation/shared.js.map +1 -0
- package/dist/src/lsp/navigation.d.ts +23 -0
- package/dist/src/lsp/navigation.d.ts.map +1 -0
- package/dist/src/lsp/navigation.js +28 -0
- package/dist/src/lsp/navigation.js.map +1 -0
- package/dist/src/lsp/pii_diagnostics.d.ts +15 -0
- package/dist/src/lsp/pii_diagnostics.d.ts.map +1 -0
- package/dist/src/lsp/pii_diagnostics.js +624 -0
- package/dist/src/lsp/pii_diagnostics.js.map +1 -0
- package/dist/src/lsp/server.d.ts +3 -0
- package/dist/src/lsp/server.d.ts.map +1 -0
- package/dist/src/lsp/server.js +406 -0
- package/dist/src/lsp/server.js.map +1 -0
- package/dist/src/lsp/shared-state.d.ts +15 -0
- package/dist/src/lsp/shared-state.d.ts.map +1 -0
- package/dist/src/lsp/shared-state.js +21 -0
- package/dist/src/lsp/shared-state.js.map +1 -0
- package/dist/src/lsp/symbols.d.ts +35 -0
- package/dist/src/lsp/symbols.d.ts.map +1 -0
- package/dist/src/lsp/symbols.js +124 -0
- package/dist/src/lsp/symbols.js.map +1 -0
- package/dist/src/lsp/task-queue.d.ts +172 -0
- package/dist/src/lsp/task-queue.d.ts.map +1 -0
- package/dist/src/lsp/task-queue.js +310 -0
- package/dist/src/lsp/task-queue.js.map +1 -0
- package/dist/src/lsp/token-index.d.ts +45 -0
- package/dist/src/lsp/token-index.d.ts.map +1 -0
- package/dist/src/lsp/token-index.js +114 -0
- package/dist/src/lsp/token-index.js.map +1 -0
- package/dist/src/lsp/tokens.d.ts +33 -0
- package/dist/src/lsp/tokens.d.ts.map +1 -0
- package/dist/src/lsp/tokens.js +259 -0
- package/dist/src/lsp/tokens.js.map +1 -0
- package/dist/src/lsp/type-guards.d.ts +80 -0
- package/dist/src/lsp/type-guards.d.ts.map +1 -0
- package/dist/src/lsp/type-guards.js +132 -0
- package/dist/src/lsp/type-guards.js.map +1 -0
- package/dist/src/lsp/utils.d.ts +4 -0
- package/dist/src/lsp/utils.d.ts.map +1 -0
- package/dist/src/lsp/utils.js +52 -0
- package/dist/src/lsp/utils.js.map +1 -0
- package/dist/src/lsp/workspace/document-indexer.d.ts +14 -0
- package/dist/src/lsp/workspace/document-indexer.d.ts.map +1 -0
- package/dist/src/lsp/workspace/document-indexer.js +88 -0
- package/dist/src/lsp/workspace/document-indexer.js.map +1 -0
- package/dist/src/lsp/workspace/file-watcher.d.ts +137 -0
- package/dist/src/lsp/workspace/file-watcher.d.ts.map +1 -0
- package/dist/src/lsp/workspace/file-watcher.js +307 -0
- package/dist/src/lsp/workspace/file-watcher.js.map +1 -0
- package/dist/src/lsp/workspace/index-manager.d.ts +48 -0
- package/dist/src/lsp/workspace/index-manager.d.ts.map +1 -0
- package/dist/src/lsp/workspace/index-manager.js +131 -0
- package/dist/src/lsp/workspace/index-manager.js.map +1 -0
- package/dist/src/lsp/workspace/symbol-finder.d.ts +13 -0
- package/dist/src/lsp/workspace/symbol-finder.d.ts.map +1 -0
- package/dist/src/lsp/workspace/symbol-finder.js +69 -0
- package/dist/src/lsp/workspace/symbol-finder.js.map +1 -0
- package/dist/src/lsp/workspace/types.d.ts +77 -0
- package/dist/src/lsp/workspace/types.d.ts.map +1 -0
- package/dist/src/lsp/workspace/types.js +6 -0
- package/dist/src/lsp/workspace/types.js.map +1 -0
- package/dist/src/lsp/workspace/workspace-scanner.d.ts +11 -0
- package/dist/src/lsp/workspace/workspace-scanner.d.ts.map +1 -0
- package/dist/src/lsp/workspace/workspace-scanner.js +115 -0
- package/dist/src/lsp/workspace/workspace-scanner.js.map +1 -0
- package/dist/src/manifest.d.ts +48 -0
- package/dist/src/manifest.d.ts.map +1 -0
- package/dist/src/manifest.js +10 -0
- package/dist/src/manifest.js.map +1 -0
- package/dist/src/package/config.d.ts +28 -0
- package/dist/src/package/config.d.ts.map +1 -0
- package/dist/src/package/config.js +59 -0
- package/dist/src/package/config.js.map +1 -0
- package/dist/src/package/dependency-graph.d.ts +42 -0
- package/dist/src/package/dependency-graph.d.ts.map +1 -0
- package/dist/src/package/dependency-graph.js +144 -0
- package/dist/src/package/dependency-graph.js.map +1 -0
- package/dist/src/package/lockfile.d.ts +20 -0
- package/dist/src/package/lockfile.d.ts.map +1 -0
- package/dist/src/package/lockfile.js +146 -0
- package/dist/src/package/lockfile.js.map +1 -0
- package/dist/src/package/manifest-parser.d.ts +22 -0
- package/dist/src/package/manifest-parser.d.ts.map +1 -0
- package/dist/src/package/manifest-parser.js +275 -0
- package/dist/src/package/manifest-parser.js.map +1 -0
- package/dist/src/package/package-cache.d.ts +56 -0
- package/dist/src/package/package-cache.d.ts.map +1 -0
- package/dist/src/package/package-cache.js +166 -0
- package/dist/src/package/package-cache.js.map +1 -0
- package/dist/src/package/package-installer.d.ts +67 -0
- package/dist/src/package/package-installer.d.ts.map +1 -0
- package/dist/src/package/package-installer.js +310 -0
- package/dist/src/package/package-installer.js.map +1 -0
- package/dist/src/package/package-registry.d.ts +70 -0
- package/dist/src/package/package-registry.d.ts.map +1 -0
- package/dist/src/package/package-registry.js +480 -0
- package/dist/src/package/package-registry.js.map +1 -0
- package/dist/src/package/resolver.d.ts +50 -0
- package/dist/src/package/resolver.d.ts.map +1 -0
- package/dist/src/package/resolver.js +236 -0
- package/dist/src/package/resolver.js.map +1 -0
- package/dist/src/package/version-utils.d.ts +53 -0
- package/dist/src/package/version-utils.d.ts.map +1 -0
- package/dist/src/package/version-utils.js +61 -0
- package/dist/src/package/version-utils.js.map +1 -0
- package/dist/src/parser/constraint-parser.d.ts +42 -0
- package/dist/src/parser/constraint-parser.d.ts.map +1 -0
- package/dist/src/parser/constraint-parser.js +192 -0
- package/dist/src/parser/constraint-parser.js.map +1 -0
- package/dist/src/parser/context.d.ts +56 -0
- package/dist/src/parser/context.d.ts.map +1 -0
- package/dist/src/parser/context.js +177 -0
- package/dist/src/parser/context.js.map +1 -0
- package/dist/src/parser/decl-parser.d.ts +52 -0
- package/dist/src/parser/decl-parser.d.ts.map +1 -0
- package/dist/src/parser/decl-parser.js +461 -0
- package/dist/src/parser/decl-parser.js.map +1 -0
- package/dist/src/parser/expr-stmt-parser.d.ts +51 -0
- package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -0
- package/dist/src/parser/expr-stmt-parser.js +1317 -0
- package/dist/src/parser/expr-stmt-parser.js.map +1 -0
- package/dist/src/parser/field-variant-parser.d.ts +47 -0
- package/dist/src/parser/field-variant-parser.d.ts.map +1 -0
- package/dist/src/parser/field-variant-parser.js +142 -0
- package/dist/src/parser/field-variant-parser.js.map +1 -0
- package/dist/src/parser/import-parser.d.ts +40 -0
- package/dist/src/parser/import-parser.d.ts.map +1 -0
- package/dist/src/parser/import-parser.js +91 -0
- package/dist/src/parser/import-parser.js.map +1 -0
- package/dist/src/parser/parser-tools.d.ts +52 -0
- package/dist/src/parser/parser-tools.d.ts.map +1 -0
- package/dist/src/parser/parser-tools.js +50 -0
- package/dist/src/parser/parser-tools.js.map +1 -0
- package/dist/src/parser/span-utils.d.ts +16 -0
- package/dist/src/parser/span-utils.d.ts.map +1 -0
- package/dist/src/parser/span-utils.js +90 -0
- package/dist/src/parser/span-utils.js.map +1 -0
- package/dist/src/parser/type-inference.d.ts +90 -0
- package/dist/src/parser/type-inference.d.ts.map +1 -0
- package/dist/src/parser/type-inference.js +287 -0
- package/dist/src/parser/type-inference.js.map +1 -0
- package/dist/src/parser/type-parser.d.ts +24 -0
- package/dist/src/parser/type-parser.d.ts.map +1 -0
- package/dist/src/parser/type-parser.js +338 -0
- package/dist/src/parser/type-parser.js.map +1 -0
- package/dist/src/parser.d.ts +12 -0
- package/dist/src/parser.d.ts.map +1 -0
- package/dist/src/parser.js +25 -0
- package/dist/src/parser.js.map +1 -0
- package/dist/src/typecheck/async.d.ts +57 -0
- package/dist/src/typecheck/async.d.ts.map +1 -0
- package/dist/src/typecheck/async.js +369 -0
- package/dist/src/typecheck/async.js.map +1 -0
- package/dist/src/typecheck/capabilities.d.ts +20 -0
- package/dist/src/typecheck/capabilities.d.ts.map +1 -0
- package/dist/src/typecheck/capabilities.js +86 -0
- package/dist/src/typecheck/capabilities.js.map +1 -0
- package/dist/src/typecheck/context.d.ts +31 -0
- package/dist/src/typecheck/context.d.ts.map +1 -0
- package/dist/src/typecheck/context.js +34 -0
- package/dist/src/typecheck/context.js.map +1 -0
- package/dist/src/typecheck/diagnostics.d.ts +15 -0
- package/dist/src/typecheck/diagnostics.d.ts.map +1 -0
- package/dist/src/typecheck/diagnostics.js +92 -0
- package/dist/src/typecheck/diagnostics.js.map +1 -0
- package/dist/src/typecheck/effects.d.ts +16 -0
- package/dist/src/typecheck/effects.d.ts.map +1 -0
- package/dist/src/typecheck/effects.js +122 -0
- package/dist/src/typecheck/effects.js.map +1 -0
- package/dist/src/typecheck/expression.d.ts +12 -0
- package/dist/src/typecheck/expression.d.ts.map +1 -0
- package/dist/src/typecheck/expression.js +306 -0
- package/dist/src/typecheck/expression.js.map +1 -0
- package/dist/src/typecheck/generics.d.ts +6 -0
- package/dist/src/typecheck/generics.d.ts.map +1 -0
- package/dist/src/typecheck/generics.js +131 -0
- package/dist/src/typecheck/generics.js.map +1 -0
- package/dist/src/typecheck/index.d.ts +6 -0
- package/dist/src/typecheck/index.d.ts.map +1 -0
- package/dist/src/typecheck/index.js +3 -0
- package/dist/src/typecheck/index.js.map +1 -0
- package/dist/src/typecheck/module.d.ts +9 -0
- package/dist/src/typecheck/module.d.ts.map +1 -0
- package/dist/src/typecheck/module.js +223 -0
- package/dist/src/typecheck/module.js.map +1 -0
- package/dist/src/typecheck/pattern.d.ts +6 -0
- package/dist/src/typecheck/pattern.d.ts.map +1 -0
- package/dist/src/typecheck/pattern.js +80 -0
- package/dist/src/typecheck/pattern.js.map +1 -0
- package/dist/src/typecheck/statement.d.ts +13 -0
- package/dist/src/typecheck/statement.d.ts.map +1 -0
- package/dist/src/typecheck/statement.js +176 -0
- package/dist/src/typecheck/statement.js.map +1 -0
- package/dist/src/typecheck/symbol_table.d.ts +63 -0
- package/dist/src/typecheck/symbol_table.d.ts.map +1 -0
- package/dist/src/typecheck/symbol_table.js +208 -0
- package/dist/src/typecheck/symbol_table.js.map +1 -0
- package/dist/src/typecheck/type_system.d.ts +30 -0
- package/dist/src/typecheck/type_system.d.ts.map +1 -0
- package/dist/src/typecheck/type_system.js +529 -0
- package/dist/src/typecheck/type_system.js.map +1 -0
- package/dist/src/typecheck/utils.d.ts +45 -0
- package/dist/src/typecheck/utils.d.ts.map +1 -0
- package/dist/src/typecheck/utils.js +110 -0
- package/dist/src/typecheck/utils.js.map +1 -0
- package/dist/src/typecheck/workflow.d.ts +8 -0
- package/dist/src/typecheck/workflow.d.ts.map +1 -0
- package/dist/src/typecheck/workflow.js +247 -0
- package/dist/src/typecheck/workflow.js.map +1 -0
- package/dist/src/typecheck-pii.d.ts +3 -0
- package/dist/src/typecheck-pii.d.ts.map +1 -0
- package/dist/src/typecheck-pii.js +534 -0
- package/dist/src/typecheck-pii.js.map +1 -0
- package/dist/src/typecheck.d.ts +7 -0
- package/dist/src/typecheck.d.ts.map +1 -0
- package/dist/src/typecheck.js +2 -0
- package/dist/src/typecheck.js.map +1 -0
- package/dist/src/types/base.d.ts +423 -0
- package/dist/src/types/base.d.ts.map +1 -0
- package/dist/src/types/base.js +18 -0
- package/dist/src/types/base.js.map +1 -0
- package/dist/src/types.d.ts +531 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +47 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/utils/logger.d.ts +28 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/utils/logger.js +60 -0
- package/dist/src/utils/logger.js.map +1 -0
- package/dist/test/benchmark.d.ts +3 -0
- package/dist/test/benchmark.d.ts.map +1 -0
- package/dist/test/benchmark.js +106 -0
- package/dist/test/benchmark.js.map +1 -0
- package/dist/test/cli/commands/install.test.d.ts +2 -0
- package/dist/test/cli/commands/install.test.d.ts.map +1 -0
- package/dist/test/cli/commands/install.test.js +97 -0
- package/dist/test/cli/commands/install.test.js.map +1 -0
- package/dist/test/cli/commands/list.test.d.ts +2 -0
- package/dist/test/cli/commands/list.test.d.ts.map +1 -0
- package/dist/test/cli/commands/list.test.js +98 -0
- package/dist/test/cli/commands/list.test.js.map +1 -0
- package/dist/test/cli/commands/search.test.d.ts +2 -0
- package/dist/test/cli/commands/search.test.d.ts.map +1 -0
- package/dist/test/cli/commands/search.test.js +133 -0
- package/dist/test/cli/commands/search.test.js.map +1 -0
- package/dist/test/cli/commands/update.test.d.ts +2 -0
- package/dist/test/cli/commands/update.test.d.ts.map +1 -0
- package/dist/test/cli/commands/update.test.js +205 -0
- package/dist/test/cli/commands/update.test.js.map +1 -0
- package/dist/test/cli/integration.test.d.ts +2 -0
- package/dist/test/cli/integration.test.d.ts.map +1 -0
- package/dist/test/cli/integration.test.js +51 -0
- package/dist/test/cli/integration.test.js.map +1 -0
- package/dist/test/cli/registry-utils.d.ts +6 -0
- package/dist/test/cli/registry-utils.d.ts.map +1 -0
- package/dist/test/cli/registry-utils.js +35 -0
- package/dist/test/cli/registry-utils.js.map +1 -0
- package/dist/test/cli/utils/error-handler.test.d.ts +2 -0
- package/dist/test/cli/utils/error-handler.test.d.ts.map +1 -0
- package/dist/test/cli/utils/error-handler.test.js +108 -0
- package/dist/test/cli/utils/error-handler.test.js.map +1 -0
- package/dist/test/compiler/depends-on.test.d.ts +2 -0
- package/dist/test/compiler/depends-on.test.d.ts.map +1 -0
- package/dist/test/compiler/depends-on.test.js +184 -0
- package/dist/test/compiler/depends-on.test.js.map +1 -0
- package/dist/test/compiler/inventory-capability.test.d.ts +2 -0
- package/dist/test/compiler/inventory-capability.test.d.ts.map +1 -0
- package/dist/test/compiler/inventory-capability.test.js +22 -0
- package/dist/test/compiler/inventory-capability.test.js.map +1 -0
- package/dist/test/compiler/payment-capability.test.d.ts +2 -0
- package/dist/test/compiler/payment-capability.test.d.ts.map +1 -0
- package/dist/test/compiler/payment-capability.test.js +22 -0
- package/dist/test/compiler/payment-capability.test.js.map +1 -0
- package/dist/test/compiler/workflow-emitter-helpers.d.ts +3 -0
- package/dist/test/compiler/workflow-emitter-helpers.d.ts.map +1 -0
- package/dist/test/compiler/workflow-emitter-helpers.js +44 -0
- package/dist/test/compiler/workflow-emitter-helpers.js.map +1 -0
- package/dist/test/e2e/package-management.test.d.ts +2 -0
- package/dist/test/e2e/package-management.test.d.ts.map +1 -0
- package/dist/test/e2e/package-management.test.js +51 -0
- package/dist/test/e2e/package-management.test.js.map +1 -0
- package/dist/test/e2e/runner/golden-runner.d.ts +3 -0
- package/dist/test/e2e/runner/golden-runner.d.ts.map +1 -0
- package/dist/test/e2e/runner/golden-runner.js +212 -0
- package/dist/test/e2e/runner/golden-runner.js.map +1 -0
- package/dist/test/fuzz/formatter-fuzz.test.d.ts +3 -0
- package/dist/test/fuzz/formatter-fuzz.test.d.ts.map +1 -0
- package/dist/test/fuzz/formatter-fuzz.test.js +44 -0
- package/dist/test/fuzz/formatter-fuzz.test.js.map +1 -0
- package/dist/test/fuzz/fuzz.test.d.ts +3 -0
- package/dist/test/fuzz/fuzz.test.d.ts.map +1 -0
- package/dist/test/fuzz/fuzz.test.js +141 -0
- package/dist/test/fuzz/fuzz.test.js.map +1 -0
- package/dist/test/fuzz/lossless-fuzz.test.d.ts +3 -0
- package/dist/test/fuzz/lossless-fuzz.test.d.ts.map +1 -0
- package/dist/test/fuzz/lossless-fuzz.test.js +116 -0
- package/dist/test/fuzz/lossless-fuzz.test.js.map +1 -0
- package/dist/test/generators.d.ts +53 -0
- package/dist/test/generators.d.ts.map +1 -0
- package/dist/test/generators.js +253 -0
- package/dist/test/generators.js.map +1 -0
- package/dist/test/helpers/test-factories.d.ts +24 -0
- package/dist/test/helpers/test-factories.d.ts.map +1 -0
- package/dist/test/helpers/test-factories.js +30 -0
- package/dist/test/helpers/test-factories.js.map +1 -0
- package/dist/test/helpers/test-utils.d.ts +19 -0
- package/dist/test/helpers/test-utils.d.ts.map +1 -0
- package/dist/test/helpers/test-utils.js +30 -0
- package/dist/test/helpers/test-utils.js.map +1 -0
- package/dist/test/integration/capabilities/capabilities.test.d.ts +3 -0
- package/dist/test/integration/capabilities/capabilities.test.d.ts.map +1 -0
- package/dist/test/integration/capabilities/capabilities.test.js +63 -0
- package/dist/test/integration/capabilities/capabilities.test.js.map +1 -0
- package/dist/test/integration/capabilities/config-service.test.d.ts +11 -0
- package/dist/test/integration/capabilities/config-service.test.d.ts.map +1 -0
- package/dist/test/integration/capabilities/config-service.test.js +125 -0
- package/dist/test/integration/capabilities/config-service.test.js.map +1 -0
- package/dist/test/integration/capabilities/effect-config.test.d.ts +3 -0
- package/dist/test/integration/capabilities/effect-config.test.d.ts.map +1 -0
- package/dist/test/integration/capabilities/effect-config.test.js +196 -0
- package/dist/test/integration/capabilities/effect-config.test.js.map +1 -0
- package/dist/test/integration/compliance/compliance-smoke.test.d.ts +14 -0
- package/dist/test/integration/compliance/compliance-smoke.test.d.ts.map +1 -0
- package/dist/test/integration/compliance/compliance-smoke.test.js +222 -0
- package/dist/test/integration/compliance/compliance-smoke.test.js.map +1 -0
- package/dist/test/integration/lsp/lsp-client-helper.test.d.ts +7 -0
- package/dist/test/integration/lsp/lsp-client-helper.test.d.ts.map +1 -0
- package/dist/test/integration/lsp/lsp-client-helper.test.js +45 -0
- package/dist/test/integration/lsp/lsp-client-helper.test.js.map +1 -0
- package/dist/test/integration/lsp/lsp-completion.test.d.ts +7 -0
- package/dist/test/integration/lsp/lsp-completion.test.d.ts.map +1 -0
- package/dist/test/integration/lsp/lsp-completion.test.js +178 -0
- package/dist/test/integration/lsp/lsp-completion.test.js.map +1 -0
- package/dist/test/integration/lsp/lsp-diagnostics.test.d.ts +7 -0
- package/dist/test/integration/lsp/lsp-diagnostics.test.d.ts.map +1 -0
- package/dist/test/integration/lsp/lsp-diagnostics.test.js +105 -0
- package/dist/test/integration/lsp/lsp-diagnostics.test.js.map +1 -0
- package/dist/test/integration/lsp/lsp-file-watcher.test.d.ts +7 -0
- package/dist/test/integration/lsp/lsp-file-watcher.test.d.ts.map +1 -0
- package/dist/test/integration/lsp/lsp-file-watcher.test.js +401 -0
- package/dist/test/integration/lsp/lsp-file-watcher.test.js.map +1 -0
- package/dist/test/integration/lsp/lsp-health-metrics.test.d.ts +7 -0
- package/dist/test/integration/lsp/lsp-health-metrics.test.d.ts.map +1 -0
- package/dist/test/integration/lsp/lsp-health-metrics.test.js +285 -0
- package/dist/test/integration/lsp/lsp-health-metrics.test.js.map +1 -0
- package/dist/test/integration/lsp/lsp-modules.test.d.ts +7 -0
- package/dist/test/integration/lsp/lsp-modules.test.d.ts.map +1 -0
- package/dist/test/integration/lsp/lsp-modules.test.js +193 -0
- package/dist/test/integration/lsp/lsp-modules.test.js.map +1 -0
- package/dist/test/integration/lsp/lsp-multi-rename.test.d.ts +3 -0
- package/dist/test/integration/lsp/lsp-multi-rename.test.d.ts.map +1 -0
- package/dist/test/integration/lsp/lsp-multi-rename.test.js +81 -0
- package/dist/test/integration/lsp/lsp-multi-rename.test.js.map +1 -0
- package/dist/test/integration/lsp/lsp-navigation.test.d.ts +7 -0
- package/dist/test/integration/lsp/lsp-navigation.test.d.ts.map +1 -0
- package/dist/test/integration/lsp/lsp-navigation.test.js +332 -0
- package/dist/test/integration/lsp/lsp-navigation.test.js.map +1 -0
- package/dist/test/integration/lsp/lsp-process-lifecycle.test.d.ts +7 -0
- package/dist/test/integration/lsp/lsp-process-lifecycle.test.d.ts.map +1 -0
- package/dist/test/integration/lsp/lsp-process-lifecycle.test.js +257 -0
- package/dist/test/integration/lsp/lsp-process-lifecycle.test.js.map +1 -0
- package/dist/test/integration/lsp/lsp-task-queue.test.d.ts +7 -0
- package/dist/test/integration/lsp/lsp-task-queue.test.d.ts.map +1 -0
- package/dist/test/integration/lsp/lsp-task-queue.test.js +267 -0
- package/dist/test/integration/lsp/lsp-task-queue.test.js.map +1 -0
- package/dist/test/integration/pipeline/pipeline.test.d.ts +13 -0
- package/dist/test/integration/pipeline/pipeline.test.d.ts.map +1 -0
- package/dist/test/integration/pipeline/pipeline.test.js +310 -0
- package/dist/test/integration/pipeline/pipeline.test.js.map +1 -0
- package/dist/test/perf/perf-utils.test.d.ts +3 -0
- package/dist/test/perf/perf-utils.test.d.ts.map +1 -0
- package/dist/test/perf/perf-utils.test.js +144 -0
- package/dist/test/perf/perf-utils.test.js.map +1 -0
- package/dist/test/performance/package-installer.perf.test.d.ts +9 -0
- package/dist/test/performance/package-installer.perf.test.d.ts.map +1 -0
- package/dist/test/performance/package-installer.perf.test.js +80 -0
- package/dist/test/performance/package-installer.perf.test.js.map +1 -0
- package/dist/test/policy-converter/round-trip.test.d.ts +2 -0
- package/dist/test/policy-converter/round-trip.test.d.ts.map +1 -0
- package/dist/test/policy-converter/round-trip.test.js +83 -0
- package/dist/test/policy-converter/round-trip.test.js.map +1 -0
- package/dist/test/property/lsp-props.test.d.ts +3 -0
- package/dist/test/property/lsp-props.test.d.ts.map +1 -0
- package/dist/test/property/lsp-props.test.js +43 -0
- package/dist/test/property/lsp-props.test.js.map +1 -0
- package/dist/test/property/property.test.d.ts +3 -0
- package/dist/test/property/property.test.d.ts.map +1 -0
- package/dist/test/property/property.test.js +456 -0
- package/dist/test/property/property.test.js.map +1 -0
- package/dist/test/regression/type-checker-golden.test.d.ts +8 -0
- package/dist/test/regression/type-checker-golden.test.d.ts.map +1 -0
- package/dist/test/regression/type-checker-golden.test.js +172 -0
- package/dist/test/regression/type-checker-golden.test.js.map +1 -0
- package/dist/test/type-checker/cross-module-packages.test.d.ts +2 -0
- package/dist/test/type-checker/cross-module-packages.test.d.ts.map +1 -0
- package/dist/test/type-checker/cross-module-packages.test.js +51 -0
- package/dist/test/type-checker/cross-module-packages.test.js.map +1 -0
- package/dist/test/type-checker/pii-propagation.test.d.ts +2 -0
- package/dist/test/type-checker/pii-propagation.test.d.ts.map +1 -0
- package/dist/test/type-checker/pii-propagation.test.js +656 -0
- package/dist/test/type-checker/pii-propagation.test.js.map +1 -0
- package/dist/test/unit/async/async-discipline.test.d.ts +12 -0
- package/dist/test/unit/async/async-discipline.test.d.ts.map +1 -0
- package/dist/test/unit/async/async-discipline.test.js +492 -0
- package/dist/test/unit/async/async-discipline.test.js.map +1 -0
- package/dist/test/unit/async/async-schedule.test.d.ts +7 -0
- package/dist/test/unit/async/async-schedule.test.d.ts.map +1 -0
- package/dist/test/unit/async/async-schedule.test.js +154 -0
- package/dist/test/unit/async/async-schedule.test.js.map +1 -0
- package/dist/test/unit/canonicalizer/canonicalizer.test.d.ts +2 -0
- package/dist/test/unit/canonicalizer/canonicalizer.test.d.ts.map +1 -0
- package/dist/test/unit/canonicalizer/canonicalizer.test.js +195 -0
- package/dist/test/unit/canonicalizer/canonicalizer.test.js.map +1 -0
- package/dist/test/unit/config/config-service.test.d.ts +2 -0
- package/dist/test/unit/config/config-service.test.d.ts.map +1 -0
- package/dist/test/unit/config/config-service.test.js +235 -0
- package/dist/test/unit/config/config-service.test.js.map +1 -0
- package/dist/test/unit/config/effect-config-cache.test.d.ts +2 -0
- package/dist/test/unit/config/effect-config-cache.test.d.ts.map +1 -0
- package/dist/test/unit/config/effect-config-cache.test.js +135 -0
- package/dist/test/unit/config/effect-config-cache.test.js.map +1 -0
- package/dist/test/unit/config/lexicons/i18n.test.d.ts +15 -0
- package/dist/test/unit/config/lexicons/i18n.test.d.ts.map +1 -0
- package/dist/test/unit/config/lexicons/i18n.test.js +318 -0
- package/dist/test/unit/config/lexicons/i18n.test.js.map +1 -0
- package/dist/test/unit/config/lexicons/identifiers/identifier-mapping.test.d.ts +7 -0
- package/dist/test/unit/config/lexicons/identifiers/identifier-mapping.test.d.ts.map +1 -0
- package/dist/test/unit/config/lexicons/identifiers/identifier-mapping.test.js +180 -0
- package/dist/test/unit/config/lexicons/identifiers/identifier-mapping.test.js.map +1 -0
- package/dist/test/unit/config/lexicons/zh-CN.test.d.ts +7 -0
- package/dist/test/unit/config/lexicons/zh-CN.test.d.ts.map +1 -0
- package/dist/test/unit/config/lexicons/zh-CN.test.js +922 -0
- package/dist/test/unit/config/lexicons/zh-CN.test.js.map +1 -0
- package/dist/test/unit/core_ir_json/core_ir_json.test.d.ts +2 -0
- package/dist/test/unit/core_ir_json/core_ir_json.test.d.ts.map +1 -0
- package/dist/test/unit/core_ir_json/core_ir_json.test.js +218 -0
- package/dist/test/unit/core_ir_json/core_ir_json.test.js.map +1 -0
- package/dist/test/unit/dependency-graph.test.d.ts +5 -0
- package/dist/test/unit/dependency-graph.test.d.ts.map +1 -0
- package/dist/test/unit/dependency-graph.test.js +105 -0
- package/dist/test/unit/dependency-graph.test.js.map +1 -0
- package/dist/test/unit/effect/effect-inference.test.d.ts +2 -0
- package/dist/test/unit/effect/effect-inference.test.d.ts.map +1 -0
- package/dist/test/unit/effect/effect-inference.test.js +480 -0
- package/dist/test/unit/effect/effect-inference.test.js.map +1 -0
- package/dist/test/unit/emitter/emitter.test.d.ts +2 -0
- package/dist/test/unit/emitter/emitter.test.d.ts.map +1 -0
- package/dist/test/unit/emitter/emitter.test.js +825 -0
- package/dist/test/unit/emitter/emitter.test.js.map +1 -0
- package/dist/test/unit/generator.test.d.ts +2 -0
- package/dist/test/unit/generator.test.d.ts.map +1 -0
- package/dist/test/unit/generator.test.js +322 -0
- package/dist/test/unit/generator.test.js.map +1 -0
- package/dist/test/unit/keyword-translator.test.d.ts +10 -0
- package/dist/test/unit/keyword-translator.test.d.ts.map +1 -0
- package/dist/test/unit/keyword-translator.test.js +251 -0
- package/dist/test/unit/keyword-translator.test.js.map +1 -0
- package/dist/test/unit/lexer/lexer.test.d.ts +2 -0
- package/dist/test/unit/lexer/lexer.test.d.ts.map +1 -0
- package/dist/test/unit/lexer/lexer.test.js +136 -0
- package/dist/test/unit/lexer/lexer.test.js.map +1 -0
- package/dist/test/unit/lexer/newline-handling.test.d.ts +12 -0
- package/dist/test/unit/lexer/newline-handling.test.d.ts.map +1 -0
- package/dist/test/unit/lexer/newline-handling.test.js +379 -0
- package/dist/test/unit/lexer/newline-handling.test.js.map +1 -0
- package/dist/test/unit/llm-providers.test.d.ts +2 -0
- package/dist/test/unit/llm-providers.test.d.ts.map +1 -0
- package/dist/test/unit/llm-providers.test.js +341 -0
- package/dist/test/unit/llm-providers.test.js.map +1 -0
- package/dist/test/unit/lockfile.test.d.ts +5 -0
- package/dist/test/unit/lockfile.test.d.ts.map +1 -0
- package/dist/test/unit/lockfile.test.js +116 -0
- package/dist/test/unit/lockfile.test.js.map +1 -0
- package/dist/test/unit/lowering/lowering.test.d.ts +2 -0
- package/dist/test/unit/lowering/lowering.test.d.ts.map +1 -0
- package/dist/test/unit/lowering/lowering.test.js +625 -0
- package/dist/test/unit/lowering/lowering.test.js.map +1 -0
- package/dist/test/unit/lsp/analysis.test.d.ts +2 -0
- package/dist/test/unit/lsp/analysis.test.d.ts.map +1 -0
- package/dist/test/unit/lsp/analysis.test.js +401 -0
- package/dist/test/unit/lsp/analysis.test.js.map +1 -0
- package/dist/test/unit/lsp/codeaction.test.d.ts +2 -0
- package/dist/test/unit/lsp/codeaction.test.d.ts.map +1 -0
- package/dist/test/unit/lsp/codeaction.test.js +542 -0
- package/dist/test/unit/lsp/codeaction.test.js.map +1 -0
- package/dist/test/unit/lsp/pii-diagnostics.test.d.ts +2 -0
- package/dist/test/unit/lsp/pii-diagnostics.test.d.ts.map +1 -0
- package/dist/test/unit/lsp/pii-diagnostics.test.js +222 -0
- package/dist/test/unit/lsp/pii-diagnostics.test.js.map +1 -0
- package/dist/test/unit/lsp/symbols.test.d.ts +2 -0
- package/dist/test/unit/lsp/symbols.test.d.ts.map +1 -0
- package/dist/test/unit/lsp/symbols.test.js +160 -0
- package/dist/test/unit/lsp/symbols.test.js.map +1 -0
- package/dist/test/unit/lsp/utils.test.d.ts +2 -0
- package/dist/test/unit/lsp/utils.test.d.ts.map +1 -0
- package/dist/test/unit/lsp/utils.test.js +182 -0
- package/dist/test/unit/lsp/utils.test.js.map +1 -0
- package/dist/test/unit/manifest-parser.test.d.ts +12 -0
- package/dist/test/unit/manifest-parser.test.d.ts.map +1 -0
- package/dist/test/unit/manifest-parser.test.js +285 -0
- package/dist/test/unit/manifest-parser.test.js.map +1 -0
- package/dist/test/unit/manifest-schema.test.d.ts +11 -0
- package/dist/test/unit/manifest-schema.test.d.ts.map +1 -0
- package/dist/test/unit/manifest-schema.test.js +171 -0
- package/dist/test/unit/manifest-schema.test.js.map +1 -0
- package/dist/test/unit/module-cache-packages.test.d.ts +2 -0
- package/dist/test/unit/module-cache-packages.test.d.ts.map +1 -0
- package/dist/test/unit/module-cache-packages.test.js +114 -0
- package/dist/test/unit/module-cache-packages.test.js.map +1 -0
- package/dist/test/unit/package-cache.test.d.ts +7 -0
- package/dist/test/unit/package-cache.test.d.ts.map +1 -0
- package/dist/test/unit/package-cache.test.js +192 -0
- package/dist/test/unit/package-cache.test.js.map +1 -0
- package/dist/test/unit/package-installer.test.d.ts +2 -0
- package/dist/test/unit/package-installer.test.d.ts.map +1 -0
- package/dist/test/unit/package-installer.test.js +263 -0
- package/dist/test/unit/package-installer.test.js.map +1 -0
- package/dist/test/unit/package-registry.test.d.ts +7 -0
- package/dist/test/unit/package-registry.test.d.ts.map +1 -0
- package/dist/test/unit/package-registry.test.js +198 -0
- package/dist/test/unit/package-registry.test.js.map +1 -0
- package/dist/test/unit/parser/parser.test.d.ts +2 -0
- package/dist/test/unit/parser/parser.test.d.ts.map +1 -0
- package/dist/test/unit/parser/parser.test.js +1117 -0
- package/dist/test/unit/parser/parser.test.js.map +1 -0
- package/dist/test/unit/parser/type-inference.test.d.ts +5 -0
- package/dist/test/unit/parser/type-inference.test.d.ts.map +1 -0
- package/dist/test/unit/parser/type-inference.test.js +262 -0
- package/dist/test/unit/parser/type-inference.test.js.map +1 -0
- package/dist/test/unit/prompt-manager.test.d.ts +2 -0
- package/dist/test/unit/prompt-manager.test.d.ts.map +1 -0
- package/dist/test/unit/prompt-manager.test.js +137 -0
- package/dist/test/unit/prompt-manager.test.js.map +1 -0
- package/dist/test/unit/provenance-integration.test.d.ts +2 -0
- package/dist/test/unit/provenance-integration.test.d.ts.map +1 -0
- package/dist/test/unit/provenance-integration.test.js +181 -0
- package/dist/test/unit/provenance-integration.test.js.map +1 -0
- package/dist/test/unit/provenance.test.d.ts +2 -0
- package/dist/test/unit/provenance.test.d.ts.map +1 -0
- package/dist/test/unit/provenance.test.js +170 -0
- package/dist/test/unit/provenance.test.js.map +1 -0
- package/dist/test/unit/resolver.test.d.ts +5 -0
- package/dist/test/unit/resolver.test.d.ts.map +1 -0
- package/dist/test/unit/resolver.test.js +48 -0
- package/dist/test/unit/resolver.test.js.map +1 -0
- package/dist/test/unit/typecheck/async-discipline-extended.test.d.ts +2 -0
- package/dist/test/unit/typecheck/async-discipline-extended.test.d.ts.map +1 -0
- package/dist/test/unit/typecheck/async-discipline-extended.test.js +69 -0
- package/dist/test/unit/typecheck/async-discipline-extended.test.js.map +1 -0
- package/dist/test/unit/typecheck/effects-and-capabilities.test.d.ts +2 -0
- package/dist/test/unit/typecheck/effects-and-capabilities.test.d.ts.map +1 -0
- package/dist/test/unit/typecheck/effects-and-capabilities.test.js +191 -0
- package/dist/test/unit/typecheck/effects-and-capabilities.test.js.map +1 -0
- package/dist/test/unit/typecheck/regression-fixes.test.d.ts +11 -0
- package/dist/test/unit/typecheck/regression-fixes.test.d.ts.map +1 -0
- package/dist/test/unit/typecheck/regression-fixes.test.js +456 -0
- package/dist/test/unit/typecheck/regression-fixes.test.js.map +1 -0
- package/dist/test/unit/typecheck/should-enforce-pii.test.d.ts +2 -0
- package/dist/test/unit/typecheck/should-enforce-pii.test.d.ts.map +1 -0
- package/dist/test/unit/typecheck/should-enforce-pii.test.js +167 -0
- package/dist/test/unit/typecheck/should-enforce-pii.test.js.map +1 -0
- package/dist/test/unit/typecheck/symbol-table.test.d.ts +7 -0
- package/dist/test/unit/typecheck/symbol-table.test.d.ts.map +1 -0
- package/dist/test/unit/typecheck/symbol-table.test.js +145 -0
- package/dist/test/unit/typecheck/symbol-table.test.js.map +1 -0
- package/dist/test/unit/typecheck/type-inference.test.d.ts +2 -0
- package/dist/test/unit/typecheck/type-inference.test.d.ts.map +1 -0
- package/dist/test/unit/typecheck/type-inference.test.js +122 -0
- package/dist/test/unit/typecheck/type-inference.test.js.map +1 -0
- package/dist/test/unit/typecheck/type-system-extended.test.d.ts +8 -0
- package/dist/test/unit/typecheck/type-system-extended.test.d.ts.map +1 -0
- package/dist/test/unit/typecheck/type-system-extended.test.js +131 -0
- package/dist/test/unit/typecheck/type-system-extended.test.js.map +1 -0
- package/dist/test/unit/typecheck/type-system.test.d.ts +9 -0
- package/dist/test/unit/typecheck/type-system.test.d.ts.map +1 -0
- package/dist/test/unit/typecheck/type-system.test.js +617 -0
- package/dist/test/unit/typecheck/type-system.test.js.map +1 -0
- package/dist/test/unit/typecheck/typecheck-advanced.test.d.ts +2 -0
- package/dist/test/unit/typecheck/typecheck-advanced.test.d.ts.map +1 -0
- package/dist/test/unit/typecheck/typecheck-advanced.test.js +125 -0
- package/dist/test/unit/typecheck/typecheck-advanced.test.js.map +1 -0
- package/dist/test/unit/validator.test.d.ts +2 -0
- package/dist/test/unit/validator.test.d.ts.map +1 -0
- package/dist/test/unit/validator.test.js +154 -0
- package/dist/test/unit/validator.test.js.map +1 -0
- package/dist/test/unit/version-utils.test.d.ts +12 -0
- package/dist/test/unit/version-utils.test.d.ts.map +1 -0
- package/dist/test/unit/version-utils.test.js +112 -0
- package/dist/test/unit/version-utils.test.js.map +1 -0
- package/package.json +153 -0
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* LSP Health API 集成测试
|
|
4
|
+
* 验证新增的资源监控指标(CPU、内存、uptime、重启计数)
|
|
5
|
+
*/
|
|
6
|
+
import { LSPClient } from '../../../scripts/lsp-client-helper.js';
|
|
7
|
+
/** 初始化 LSP 客户端并完成握手 */
|
|
8
|
+
async function initializeLspClient() {
|
|
9
|
+
const client = new LSPClient();
|
|
10
|
+
client.spawn('dist/src/lsp/server.js');
|
|
11
|
+
await client.request('initialize', {
|
|
12
|
+
processId: process.pid,
|
|
13
|
+
clientInfo: { name: 'health-test-client', version: '1.0.0' },
|
|
14
|
+
rootUri: null,
|
|
15
|
+
capabilities: {},
|
|
16
|
+
});
|
|
17
|
+
client.notify('initialized', {});
|
|
18
|
+
return client;
|
|
19
|
+
}
|
|
20
|
+
/** 关闭 LSP 客户端 */
|
|
21
|
+
async function shutdownLspClient(client) {
|
|
22
|
+
try {
|
|
23
|
+
await client.request('shutdown');
|
|
24
|
+
client.notify('exit');
|
|
25
|
+
await new Promise(resolve => setTimeout(resolve, 200));
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// 忽略关闭时的错误
|
|
29
|
+
}
|
|
30
|
+
finally {
|
|
31
|
+
client.close();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async function testProcessMetrics() {
|
|
35
|
+
console.log('\n=== 测试进程资源指标 ===');
|
|
36
|
+
const client = await initializeLspClient();
|
|
37
|
+
try {
|
|
38
|
+
const health = (await client.request('aster/health', {}));
|
|
39
|
+
// 验证 process 字段存在
|
|
40
|
+
if (!health.process) {
|
|
41
|
+
throw new Error('health.process 字段缺失');
|
|
42
|
+
}
|
|
43
|
+
// 验证 PID
|
|
44
|
+
if (typeof health.process.pid !== 'number' || health.process.pid <= 0) {
|
|
45
|
+
throw new Error(`无效的 PID: ${health.process.pid}`);
|
|
46
|
+
}
|
|
47
|
+
console.log(`✓ PID: ${health.process.pid}`);
|
|
48
|
+
// 验证 uptime
|
|
49
|
+
if (typeof health.process.uptime !== 'number' || health.process.uptime < 0) {
|
|
50
|
+
throw new Error(`无效的 uptime: ${health.process.uptime}`);
|
|
51
|
+
}
|
|
52
|
+
console.log(`✓ Uptime: ${health.process.uptime}s`);
|
|
53
|
+
// 验证内存指标
|
|
54
|
+
if (!health.process.memory) {
|
|
55
|
+
throw new Error('health.process.memory 字段缺失');
|
|
56
|
+
}
|
|
57
|
+
if (typeof health.process.memory.rss !== 'number' || health.process.memory.rss <= 0) {
|
|
58
|
+
throw new Error(`无效的 RSS: ${health.process.memory.rss}`);
|
|
59
|
+
}
|
|
60
|
+
if (typeof health.process.memory.heapUsed !== 'number' || health.process.memory.heapUsed < 0) {
|
|
61
|
+
throw new Error(`无效的 heapUsed: ${health.process.memory.heapUsed}`);
|
|
62
|
+
}
|
|
63
|
+
if (typeof health.process.memory.heapTotal !== 'number' || health.process.memory.heapTotal <= 0) {
|
|
64
|
+
throw new Error(`无效的 heapTotal: ${health.process.memory.heapTotal}`);
|
|
65
|
+
}
|
|
66
|
+
console.log(`✓ Memory - RSS: ${health.process.memory.rss}MB, Heap: ${health.process.memory.heapUsed}/${health.process.memory.heapTotal}MB`);
|
|
67
|
+
// 验证 CPU 百分比
|
|
68
|
+
if (!health.process.cpu) {
|
|
69
|
+
throw new Error('health.process.cpu 字段缺失');
|
|
70
|
+
}
|
|
71
|
+
if (typeof health.process.cpu.percent !== 'number') {
|
|
72
|
+
throw new Error(`无效的 CPU percent 类型: ${typeof health.process.cpu.percent}`);
|
|
73
|
+
}
|
|
74
|
+
if (health.process.cpu.percent < 0 || health.process.cpu.percent > 100) {
|
|
75
|
+
throw new Error(`CPU percent 超出范围 [0, 100]: ${health.process.cpu.percent}`);
|
|
76
|
+
}
|
|
77
|
+
console.log(`✓ CPU: ${health.process.cpu.percent}%`);
|
|
78
|
+
console.log('✅ 进程资源指标测试通过');
|
|
79
|
+
}
|
|
80
|
+
finally {
|
|
81
|
+
await shutdownLspClient(client);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
async function testMetadata() {
|
|
85
|
+
console.log('\n=== 测试元数据字段 ===');
|
|
86
|
+
const client = await initializeLspClient();
|
|
87
|
+
try {
|
|
88
|
+
const health = (await client.request('aster/health', {}));
|
|
89
|
+
// 验证 metadata 字段存在
|
|
90
|
+
if (!health.metadata) {
|
|
91
|
+
throw new Error('health.metadata 字段缺失');
|
|
92
|
+
}
|
|
93
|
+
// 验证 startTime 格式(ISO 8601)
|
|
94
|
+
if (typeof health.metadata.startTime !== 'string') {
|
|
95
|
+
throw new Error(`无效的 startTime 类型: ${typeof health.metadata.startTime}`);
|
|
96
|
+
}
|
|
97
|
+
if (!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(health.metadata.startTime)) {
|
|
98
|
+
throw new Error(`startTime 格式不符合 ISO 8601: ${health.metadata.startTime}`);
|
|
99
|
+
}
|
|
100
|
+
console.log(`✓ Start Time: ${health.metadata.startTime}`);
|
|
101
|
+
// 验证 restartCount
|
|
102
|
+
if (typeof health.metadata.restartCount !== 'number' || health.metadata.restartCount < 0) {
|
|
103
|
+
throw new Error(`无效的 restartCount: ${health.metadata.restartCount}`);
|
|
104
|
+
}
|
|
105
|
+
console.log(`✓ Restart Count: ${health.metadata.restartCount}`);
|
|
106
|
+
console.log('✅ 元数据字段测试通过');
|
|
107
|
+
}
|
|
108
|
+
finally {
|
|
109
|
+
await shutdownLspClient(client);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
async function testBackwardCompatibility() {
|
|
113
|
+
console.log('\n=== 测试向后兼容性 ===');
|
|
114
|
+
const client = await initializeLspClient();
|
|
115
|
+
try {
|
|
116
|
+
const health = (await client.request('aster/health', {}));
|
|
117
|
+
// 验证原有字段仍然存在
|
|
118
|
+
if (!health.watchers) {
|
|
119
|
+
throw new Error('health.watchers 字段缺失');
|
|
120
|
+
}
|
|
121
|
+
if (typeof health.watchers.capability !== 'boolean') {
|
|
122
|
+
throw new Error(`无效的 watchers.capability 类型: ${typeof health.watchers.capability}`);
|
|
123
|
+
}
|
|
124
|
+
if (typeof health.watchers.registered !== 'boolean') {
|
|
125
|
+
throw new Error(`无效的 watchers.registered 类型: ${typeof health.watchers.registered}`);
|
|
126
|
+
}
|
|
127
|
+
console.log(`✓ Watchers - capability: ${health.watchers.capability}, registered: ${health.watchers.registered}`);
|
|
128
|
+
if (!health.index) {
|
|
129
|
+
throw new Error('health.index 字段缺失');
|
|
130
|
+
}
|
|
131
|
+
if (typeof health.index.files !== 'number') {
|
|
132
|
+
throw new Error(`无效的 index.files 类型: ${typeof health.index.files}`);
|
|
133
|
+
}
|
|
134
|
+
if (typeof health.index.modules !== 'number') {
|
|
135
|
+
throw new Error(`无效的 index.modules 类型: ${typeof health.index.modules}`);
|
|
136
|
+
}
|
|
137
|
+
console.log(`✓ Index - files: ${health.index.files}, modules: ${health.index.modules}`);
|
|
138
|
+
console.log('✅ 向后兼容性测试通过');
|
|
139
|
+
}
|
|
140
|
+
finally {
|
|
141
|
+
await shutdownLspClient(client);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
async function testQueueMetrics() {
|
|
145
|
+
console.log('\n=== 测试任务队列指标 ===');
|
|
146
|
+
const client = await initializeLspClient();
|
|
147
|
+
try {
|
|
148
|
+
const health = (await client.request('aster/health', {}));
|
|
149
|
+
// queue 字段可能存在也可能不存在(取决于 LSP 实现)
|
|
150
|
+
if (health.queue) {
|
|
151
|
+
// 验证 queue.pending
|
|
152
|
+
if (typeof health.queue.pending !== 'number' || health.queue.pending < 0) {
|
|
153
|
+
throw new Error(`无效的 queue.pending: ${health.queue.pending}`);
|
|
154
|
+
}
|
|
155
|
+
// 验证 queue.running
|
|
156
|
+
if (typeof health.queue.running !== 'number' || health.queue.running < 0) {
|
|
157
|
+
throw new Error(`无效的 queue.running: ${health.queue.running}`);
|
|
158
|
+
}
|
|
159
|
+
// 验证 queue.completed
|
|
160
|
+
if (typeof health.queue.completed !== 'number' || health.queue.completed < 0) {
|
|
161
|
+
throw new Error(`无效的 queue.completed: ${health.queue.completed}`);
|
|
162
|
+
}
|
|
163
|
+
// 验证 queue.failed
|
|
164
|
+
if (typeof health.queue.failed !== 'number' || health.queue.failed < 0) {
|
|
165
|
+
throw new Error(`无效的 queue.failed: ${health.queue.failed}`);
|
|
166
|
+
}
|
|
167
|
+
// 验证 queue.cancelled
|
|
168
|
+
if (typeof health.queue.cancelled !== 'number' || health.queue.cancelled < 0) {
|
|
169
|
+
throw new Error(`无效的 queue.cancelled: ${health.queue.cancelled}`);
|
|
170
|
+
}
|
|
171
|
+
// 验证 queue.total
|
|
172
|
+
if (typeof health.queue.total !== 'number' || health.queue.total < 0) {
|
|
173
|
+
throw new Error(`无效的 queue.total: ${health.queue.total}`);
|
|
174
|
+
}
|
|
175
|
+
// 验证 total = pending + running + completed + failed + cancelled
|
|
176
|
+
const expectedTotal = health.queue.pending + health.queue.running + health.queue.completed + health.queue.failed + health.queue.cancelled;
|
|
177
|
+
if (health.queue.total !== expectedTotal) {
|
|
178
|
+
throw new Error(`queue.total (${health.queue.total}) 不等于各状态之和 (${expectedTotal})`);
|
|
179
|
+
}
|
|
180
|
+
console.log(`✓ Queue - pending: ${health.queue.pending}, running: ${health.queue.running}, completed: ${health.queue.completed}, failed: ${health.queue.failed}, cancelled: ${health.queue.cancelled}, total: ${health.queue.total}`);
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
console.log('ℹ️ queue 字段未返回(可选字段)');
|
|
184
|
+
}
|
|
185
|
+
console.log('✅ 任务队列指标测试通过');
|
|
186
|
+
}
|
|
187
|
+
finally {
|
|
188
|
+
await shutdownLspClient(client);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
async function testWatchersExtendedFields() {
|
|
192
|
+
console.log('\n=== 测试文件监视器扩展字段 ===');
|
|
193
|
+
const client = await initializeLspClient();
|
|
194
|
+
try {
|
|
195
|
+
const health = (await client.request('aster/health', {}));
|
|
196
|
+
// 验证 watchers 必须存在
|
|
197
|
+
if (!health.watchers) {
|
|
198
|
+
throw new Error('health.watchers 字段缺失');
|
|
199
|
+
}
|
|
200
|
+
// 验证核心字段
|
|
201
|
+
if (typeof health.watchers.capability !== 'boolean') {
|
|
202
|
+
throw new Error(`无效的 watchers.capability 类型: ${typeof health.watchers.capability}`);
|
|
203
|
+
}
|
|
204
|
+
if (typeof health.watchers.registered !== 'boolean') {
|
|
205
|
+
throw new Error(`无效的 watchers.registered 类型: ${typeof health.watchers.registered}`);
|
|
206
|
+
}
|
|
207
|
+
// 验证可选扩展字段 mode
|
|
208
|
+
if (health.watchers.mode !== undefined) {
|
|
209
|
+
if (typeof health.watchers.mode !== 'string') {
|
|
210
|
+
throw new Error(`无效的 watchers.mode 类型: ${typeof health.watchers.mode}`);
|
|
211
|
+
}
|
|
212
|
+
console.log(`✓ Watchers mode: ${health.watchers.mode}`);
|
|
213
|
+
}
|
|
214
|
+
// 验证可选扩展字段 isRunning
|
|
215
|
+
if (health.watchers.isRunning !== undefined) {
|
|
216
|
+
if (typeof health.watchers.isRunning !== 'boolean') {
|
|
217
|
+
throw new Error(`无效的 watchers.isRunning 类型: ${typeof health.watchers.isRunning}`);
|
|
218
|
+
}
|
|
219
|
+
console.log(`✓ Watchers isRunning: ${health.watchers.isRunning}`);
|
|
220
|
+
}
|
|
221
|
+
// 验证可选扩展字段 trackedFiles
|
|
222
|
+
if (health.watchers.trackedFiles !== undefined) {
|
|
223
|
+
if (typeof health.watchers.trackedFiles !== 'number' || health.watchers.trackedFiles < 0) {
|
|
224
|
+
throw new Error(`无效的 watchers.trackedFiles: ${health.watchers.trackedFiles}`);
|
|
225
|
+
}
|
|
226
|
+
console.log(`✓ Watchers trackedFiles: ${health.watchers.trackedFiles}`);
|
|
227
|
+
}
|
|
228
|
+
console.log(`✓ Watchers - capability: ${health.watchers.capability}, registered: ${health.watchers.registered}`);
|
|
229
|
+
console.log('✅ 文件监视器扩展字段测试通过');
|
|
230
|
+
}
|
|
231
|
+
finally {
|
|
232
|
+
await shutdownLspClient(client);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
async function testRestartCountIncrement() {
|
|
236
|
+
console.log('\n=== 测试重启计数器递增 ===');
|
|
237
|
+
// 注意:重启计数器是全局文件,其他测试可能也会影响它
|
|
238
|
+
// 因此我们只验证计数在两次连续启动之间有所增加
|
|
239
|
+
// 第一次启动,获取初始计数
|
|
240
|
+
console.log('1. 启动第一个 LSP 实例...');
|
|
241
|
+
const client1 = await initializeLspClient();
|
|
242
|
+
const health1 = (await client1.request('aster/health', {}));
|
|
243
|
+
const count1 = health1.metadata?.restartCount ?? 0;
|
|
244
|
+
console.log(` 初始重启计数: ${count1}`);
|
|
245
|
+
await shutdownLspClient(client1);
|
|
246
|
+
// 等待进程完全退出
|
|
247
|
+
await new Promise(resolve => setTimeout(resolve, 500));
|
|
248
|
+
// 第二次启动,验证计数增加
|
|
249
|
+
console.log('2. 启动第二个 LSP 实例...');
|
|
250
|
+
const client2 = await initializeLspClient();
|
|
251
|
+
const health2 = (await client2.request('aster/health', {}));
|
|
252
|
+
const count2 = health2.metadata?.restartCount ?? 0;
|
|
253
|
+
console.log(` 第二次重启计数: ${count2}`);
|
|
254
|
+
await shutdownLspClient(client2);
|
|
255
|
+
// 验证计数有增加(可能不是精确 +1,因为其他测试可能同时运行)
|
|
256
|
+
if (count2 <= count1) {
|
|
257
|
+
throw new Error(`重启计数未增加: count1=${count1}, count2=${count2}`);
|
|
258
|
+
}
|
|
259
|
+
console.log(` 计数从 ${count1} 增加到 ${count2}`);
|
|
260
|
+
console.log('✅ 重启计数器递增测试通过');
|
|
261
|
+
}
|
|
262
|
+
async function main() {
|
|
263
|
+
console.log('========================================');
|
|
264
|
+
console.log('LSP Health API 集成测试');
|
|
265
|
+
console.log('========================================');
|
|
266
|
+
try {
|
|
267
|
+
await testProcessMetrics();
|
|
268
|
+
await testMetadata();
|
|
269
|
+
await testBackwardCompatibility();
|
|
270
|
+
await testQueueMetrics();
|
|
271
|
+
await testWatchersExtendedFields();
|
|
272
|
+
await testRestartCountIncrement();
|
|
273
|
+
console.log('\n========================================');
|
|
274
|
+
console.log('✅ 所有 Health API 测试通过');
|
|
275
|
+
console.log('========================================');
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
console.error('\n========================================');
|
|
279
|
+
console.error('❌ 测试失败:', error);
|
|
280
|
+
console.error('========================================');
|
|
281
|
+
process.exit(1);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
main();
|
|
285
|
+
//# sourceMappingURL=lsp-health-metrics.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lsp-health-metrics.test.js","sourceRoot":"","sources":["../../../../test/integration/lsp/lsp-health-metrics.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lsp-modules.test.d.ts","sourceRoot":"","sources":["../../../../test/integration/lsp/lsp-modules.test.ts"],"names":[],"mappings":";AACA;;;GAGG"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* LSP 模块化测试
|
|
4
|
+
* 验证新提取的 Formatting、CodeAction、Symbols、Tokens、Health 模块功能完整性
|
|
5
|
+
*/
|
|
6
|
+
import { registerFormattingHandlers } from '../../../src/lsp/formatting.js';
|
|
7
|
+
import { registerCodeActionHandlers } from '../../../src/lsp/codeaction.js';
|
|
8
|
+
import { registerSymbolsHandlers } from '../../../src/lsp/symbols.js';
|
|
9
|
+
import { registerTokensHandlers, SEM_LEGEND } from '../../../src/lsp/tokens.js';
|
|
10
|
+
import { registerHealthHandlers } from '../../../src/lsp/health.js';
|
|
11
|
+
import { TextDocument } from 'vscode-languageserver-textdocument';
|
|
12
|
+
import { canonicalize } from '../../../src/frontend/canonicalizer.js';
|
|
13
|
+
import { lex } from '../../../src/frontend/lexer.js';
|
|
14
|
+
import { parse } from '../../../src/parser.js';
|
|
15
|
+
function assert(condition, message) {
|
|
16
|
+
if (!condition)
|
|
17
|
+
throw new Error(message);
|
|
18
|
+
}
|
|
19
|
+
function createMockConnection() {
|
|
20
|
+
const handlers = {};
|
|
21
|
+
return {
|
|
22
|
+
onRequest: (method, handler) => { handlers[method] = handler; },
|
|
23
|
+
onDocumentFormatting: (handler) => { handlers.onDocumentFormatting = handler; },
|
|
24
|
+
onDocumentRangeFormatting: (handler) => { handlers.onDocumentRangeFormatting = handler; },
|
|
25
|
+
onCodeAction: (handler) => { handlers.onCodeAction = handler; },
|
|
26
|
+
onWorkspaceSymbol: (handler) => { handlers.onWorkspaceSymbol = handler; },
|
|
27
|
+
onDocumentLinks: (handler) => { handlers.onDocumentLinks = handler; },
|
|
28
|
+
onDocumentHighlight: (handler) => { handlers.onDocumentHighlight = handler; },
|
|
29
|
+
languages: {
|
|
30
|
+
semanticTokens: {
|
|
31
|
+
on: (handler) => { handlers.semanticTokens = handler; },
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
handlers,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function createMockDocuments() {
|
|
38
|
+
const docs = new Map();
|
|
39
|
+
return {
|
|
40
|
+
get: (uri) => docs.get(uri),
|
|
41
|
+
set: (uri, doc) => docs.set(uri, doc),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function createMockGetOrParse() {
|
|
45
|
+
return (doc) => {
|
|
46
|
+
const text = doc.getText();
|
|
47
|
+
const can = canonicalize(text);
|
|
48
|
+
const tokens = lex(can);
|
|
49
|
+
let ast = null;
|
|
50
|
+
try {
|
|
51
|
+
ast = parse(tokens);
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
ast = null;
|
|
55
|
+
}
|
|
56
|
+
return { text: can, tokens, ast };
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
async function testFormattingModule() {
|
|
60
|
+
const code = `This module is test_app.
|
|
61
|
+
|
|
62
|
+
To greet with name: Text, produce Text:
|
|
63
|
+
Return "Hello " + name.`;
|
|
64
|
+
const doc = TextDocument.create('file:///test.aster', 'aster', 1, code);
|
|
65
|
+
const mockConnection = createMockConnection();
|
|
66
|
+
const mockDocuments = createMockDocuments();
|
|
67
|
+
mockDocuments.set('file:///test.aster', doc);
|
|
68
|
+
const getDocumentSettings = async () => ({ format: { mode: 'lossless', reflow: false } });
|
|
69
|
+
registerFormattingHandlers(mockConnection, mockDocuments, getDocumentSettings);
|
|
70
|
+
// Test full document formatting
|
|
71
|
+
const formatResult = await mockConnection.handlers.onDocumentFormatting({
|
|
72
|
+
textDocument: { uri: 'file:///test.aster' },
|
|
73
|
+
options: { tabSize: 2, insertSpaces: true },
|
|
74
|
+
});
|
|
75
|
+
assert(Array.isArray(formatResult), 'Formatting 应返回 TextEdit 数组');
|
|
76
|
+
console.log(`✓ Formatting 模块测试通过`);
|
|
77
|
+
}
|
|
78
|
+
async function testCodeActionModule() {
|
|
79
|
+
const code = `This module is test_app.
|
|
80
|
+
|
|
81
|
+
To greet with name: Text, produce Text:
|
|
82
|
+
Return "Hello " + name.`;
|
|
83
|
+
const doc = TextDocument.create('file:///test.aster', 'aster', 1, code);
|
|
84
|
+
const mockConnection = createMockConnection();
|
|
85
|
+
const mockDocuments = createMockDocuments();
|
|
86
|
+
mockDocuments.set('file:///test.aster', doc);
|
|
87
|
+
const getOrParse = createMockGetOrParse();
|
|
88
|
+
const uriToFsPath = (uri) => uri.replace('file://', '');
|
|
89
|
+
registerCodeActionHandlers(mockConnection, mockDocuments, getOrParse, uriToFsPath);
|
|
90
|
+
// Test with no diagnostics
|
|
91
|
+
const actions = await mockConnection.handlers.onCodeAction({
|
|
92
|
+
textDocument: { uri: 'file:///test.aster' },
|
|
93
|
+
range: { start: { line: 0, character: 0 }, end: { line: 0, character: 10 } },
|
|
94
|
+
context: { diagnostics: [] },
|
|
95
|
+
});
|
|
96
|
+
assert(Array.isArray(actions), 'CodeAction 应返回数组');
|
|
97
|
+
console.log(`✓ CodeAction 模块测试通过`);
|
|
98
|
+
}
|
|
99
|
+
async function testSymbolsModule() {
|
|
100
|
+
const mockConnection = createMockConnection();
|
|
101
|
+
const mockDocuments = createMockDocuments();
|
|
102
|
+
const getAllModules = () => [
|
|
103
|
+
{
|
|
104
|
+
uri: 'file:///test.aster',
|
|
105
|
+
moduleName: 'test_app',
|
|
106
|
+
symbols: [
|
|
107
|
+
{ name: 'greet', kind: 'function', range: { start: { line: 0, character: 0 }, end: { line: 1, character: 0 } } },
|
|
108
|
+
],
|
|
109
|
+
},
|
|
110
|
+
];
|
|
111
|
+
const ensureUri = (uri) => uri;
|
|
112
|
+
const offsetToPos = (text, offset) => ({ line: 0, character: offset });
|
|
113
|
+
registerSymbolsHandlers(mockConnection, mockDocuments, getAllModules, ensureUri, offsetToPos);
|
|
114
|
+
// Test workspace symbol search
|
|
115
|
+
const symbols = mockConnection.handlers.onWorkspaceSymbol({ query: 'greet' });
|
|
116
|
+
assert(Array.isArray(symbols), 'WorkspaceSymbol 应返回数组');
|
|
117
|
+
assert(symbols.length >= 1, `应找到至少 1 个符号(实际: ${symbols.length})`);
|
|
118
|
+
console.log(`✓ Symbols 模块测试通过(找到 ${symbols.length} 个符号)`);
|
|
119
|
+
}
|
|
120
|
+
async function testTokensModule() {
|
|
121
|
+
const code = `This module is test_app.
|
|
122
|
+
|
|
123
|
+
To greet with name: Text, produce Text:
|
|
124
|
+
Return "Hello " + name.`;
|
|
125
|
+
const doc = TextDocument.create('file:///test.aster', 'aster', 1, code);
|
|
126
|
+
const mockConnection = createMockConnection();
|
|
127
|
+
const mockDocuments = createMockDocuments();
|
|
128
|
+
mockDocuments.set('file:///test.aster', doc);
|
|
129
|
+
const getOrParse = createMockGetOrParse();
|
|
130
|
+
const typeText = (ty) => 'Text';
|
|
131
|
+
const exprTypeText = (expr) => 'Text';
|
|
132
|
+
const tokenNameAt = (tokens, position) => 'greet';
|
|
133
|
+
const collectLetsWithSpan = (block) => new Map();
|
|
134
|
+
registerTokensHandlers(mockConnection, mockDocuments, getOrParse, typeText, exprTypeText, tokenNameAt, collectLetsWithSpan);
|
|
135
|
+
// Test semantic tokens
|
|
136
|
+
const semanticTokens = mockConnection.handlers.semanticTokens({
|
|
137
|
+
textDocument: { uri: 'file:///test.aster' },
|
|
138
|
+
});
|
|
139
|
+
assert(semanticTokens && typeof semanticTokens === 'object', 'SemanticTokens 应返回对象');
|
|
140
|
+
assert(Array.isArray(semanticTokens.data), 'SemanticTokens.data 应为数组');
|
|
141
|
+
// Test SEM_LEGEND
|
|
142
|
+
assert(SEM_LEGEND.tokenTypes.includes('function'), 'SEM_LEGEND 应包含 function 类型');
|
|
143
|
+
assert(SEM_LEGEND.tokenModifiers.includes('declaration'), 'SEM_LEGEND 应包含 declaration 修饰符');
|
|
144
|
+
console.log(`✓ Tokens 模块测试通过`);
|
|
145
|
+
}
|
|
146
|
+
async function testHealthModule() {
|
|
147
|
+
const mockConnection = createMockConnection();
|
|
148
|
+
const getAllModules = () => [
|
|
149
|
+
{ moduleName: 'test_app' },
|
|
150
|
+
{ moduleName: 'utils' },
|
|
151
|
+
{ moduleName: null },
|
|
152
|
+
];
|
|
153
|
+
registerHealthHandlers(mockConnection, true, true, getAllModules);
|
|
154
|
+
// Test health request
|
|
155
|
+
const health = mockConnection.handlers['aster/health']();
|
|
156
|
+
assert(health && typeof health === 'object', 'Health 应返回对象');
|
|
157
|
+
assert(typeof health.watchers === 'object', 'Health 应包含 watchers');
|
|
158
|
+
assert(typeof health.index === 'object', 'Health 应包含 index');
|
|
159
|
+
assert(health.index.files === 3, `文件数应为 3(实际: ${health.index.files})`);
|
|
160
|
+
assert(health.index.modules === 2, `模块数应为 2(实际: ${health.index.modules})`);
|
|
161
|
+
console.log(`✓ Health 模块测试通过(${health.index.files} 文件,${health.index.modules} 模块)`);
|
|
162
|
+
}
|
|
163
|
+
async function testEdgeCases() {
|
|
164
|
+
const mockConnection = createMockConnection();
|
|
165
|
+
const mockDocuments = createMockDocuments();
|
|
166
|
+
const getDocumentSettings = async () => ({});
|
|
167
|
+
registerFormattingHandlers(mockConnection, mockDocuments, getDocumentSettings);
|
|
168
|
+
// Test formatting with non-existent document
|
|
169
|
+
const result = await mockConnection.handlers.onDocumentFormatting({
|
|
170
|
+
textDocument: { uri: 'file:///nonexistent.aster' },
|
|
171
|
+
options: { tabSize: 2, insertSpaces: true },
|
|
172
|
+
});
|
|
173
|
+
assert(Array.isArray(result) && result.length === 0, '不存在的文档应返回空数组');
|
|
174
|
+
console.log('✓ 边界情况处理正常');
|
|
175
|
+
}
|
|
176
|
+
async function main() {
|
|
177
|
+
console.log('Running LSP modules tests...\n');
|
|
178
|
+
try {
|
|
179
|
+
await testFormattingModule();
|
|
180
|
+
await testCodeActionModule();
|
|
181
|
+
await testSymbolsModule();
|
|
182
|
+
await testTokensModule();
|
|
183
|
+
await testHealthModule();
|
|
184
|
+
await testEdgeCases();
|
|
185
|
+
console.log('\n✅ All LSP modules tests passed.');
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
console.error('\n❌ Test failed:', error);
|
|
189
|
+
process.exit(1);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
main();
|
|
193
|
+
//# sourceMappingURL=lsp-modules.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lsp-modules.test.js","sourceRoot":"","sources":["../../../../test/integration/lsp/lsp-modules.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lsp-multi-rename.test.d.ts","sourceRoot":"","sources":["../../../../test/integration/lsp/lsp-multi-rename.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { spawn } from 'node:child_process';
|
|
3
|
+
function send(server, msg) {
|
|
4
|
+
const payload = JSON.stringify(msg);
|
|
5
|
+
const header = `Content-Length: ${Buffer.byteLength(payload, 'utf8')}\r\n\r\n`;
|
|
6
|
+
server.stdin.write(header + payload);
|
|
7
|
+
}
|
|
8
|
+
async function read(server, id, timeoutMs = 3000) {
|
|
9
|
+
return new Promise((resolve, reject) => {
|
|
10
|
+
let buffer = '';
|
|
11
|
+
const onData = (chunk) => {
|
|
12
|
+
buffer += String(chunk);
|
|
13
|
+
for (;;) {
|
|
14
|
+
const m = buffer.match(/^Content-Length: (\d+)\r\n\r\n/);
|
|
15
|
+
if (!m)
|
|
16
|
+
break;
|
|
17
|
+
const len = Number(m[1]);
|
|
18
|
+
const start = m[0].length;
|
|
19
|
+
if (buffer.length < start + len)
|
|
20
|
+
break;
|
|
21
|
+
const jsonText = buffer.slice(start, start + len);
|
|
22
|
+
buffer = buffer.slice(start + len);
|
|
23
|
+
const obj = JSON.parse(jsonText);
|
|
24
|
+
if (obj.id === id) {
|
|
25
|
+
clearTimeout(to);
|
|
26
|
+
server.stdout.off('data', onData);
|
|
27
|
+
resolve(obj);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
const to = setTimeout(() => { server.stdout.off('data', onData); reject(new Error('timeout')); }, timeoutMs);
|
|
33
|
+
server.stdout.on('data', onData);
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
async function main() {
|
|
37
|
+
const server = spawn('node', ['dist/src/lsp/server.js', '--stdio'], { stdio: ['pipe', 'pipe', 'inherit'] });
|
|
38
|
+
server.stdout.setEncoding('utf8');
|
|
39
|
+
// init
|
|
40
|
+
send(server, { jsonrpc: '2.0', id: 1, method: 'initialize', params: { processId: null, rootUri: null, capabilities: {} } });
|
|
41
|
+
await read(server, 1);
|
|
42
|
+
send(server, { jsonrpc: '2.0', method: 'initialized', params: {} });
|
|
43
|
+
const path = await import('node:path');
|
|
44
|
+
const url = await import('node:url');
|
|
45
|
+
const fs = await import('node:fs');
|
|
46
|
+
const aFs = path.join(process.cwd(), 'test', 'lsp-multi', 'a.aster');
|
|
47
|
+
const bFs = path.join(process.cwd(), 'test', 'lsp-multi', 'b.aster');
|
|
48
|
+
const aUri = String(url.pathToFileURL(aFs));
|
|
49
|
+
const bUri = String(url.pathToFileURL(bFs));
|
|
50
|
+
const aText = fs.readFileSync(aFs, 'utf8');
|
|
51
|
+
const bText = fs.readFileSync(bFs, 'utf8');
|
|
52
|
+
// open both docs
|
|
53
|
+
send(server, { jsonrpc: '2.0', method: 'textDocument/didOpen', params: { textDocument: { uri: aUri, languageId: 'cnl', version: 1, text: aText } } });
|
|
54
|
+
send(server, { jsonrpc: '2.0', method: 'textDocument/didOpen', params: { textDocument: { uri: bUri, languageId: 'cnl', version: 1, text: bText } } });
|
|
55
|
+
// rename 'greet' to 'greet2' at its declaration in a.aster
|
|
56
|
+
const lines = aText.split(/\n/);
|
|
57
|
+
const lineIdx = lines.findIndex(l => /To\s+greet\b/.test(l));
|
|
58
|
+
const charIdx = Math.max(0, lines[lineIdx].indexOf('greet'));
|
|
59
|
+
send(server, { jsonrpc: '2.0', id: 2, method: 'textDocument/rename', params: { textDocument: { uri: aUri }, position: { line: lineIdx, character: charIdx + 2 }, newName: 'greet2' } });
|
|
60
|
+
const resp = await read(server, 2);
|
|
61
|
+
const changes = resp?.result?.changes;
|
|
62
|
+
if (!changes)
|
|
63
|
+
throw new Error('No changes returned from rename');
|
|
64
|
+
const aEdits = changes[aUri] || [];
|
|
65
|
+
const bEdits = changes[bUri] || [];
|
|
66
|
+
if (aEdits.length === 0)
|
|
67
|
+
throw new Error('No edits in declaration file');
|
|
68
|
+
if (bEdits.length === 0)
|
|
69
|
+
throw new Error('No edits in reference file');
|
|
70
|
+
// Check at least one edit in b replaces dotted reference
|
|
71
|
+
const dottedChanged = bEdits.some(e => typeof e.newText === 'string' && e.newText.includes('greet2'));
|
|
72
|
+
if (!dottedChanged)
|
|
73
|
+
throw new Error('Dotted reference not updated');
|
|
74
|
+
// shutdown
|
|
75
|
+
send(server, { jsonrpc: '2.0', id: 3, method: 'shutdown' });
|
|
76
|
+
await read(server, 3).catch(() => { });
|
|
77
|
+
send(server, { jsonrpc: '2.0', method: 'exit' });
|
|
78
|
+
setTimeout(() => process.exit(0), 50);
|
|
79
|
+
}
|
|
80
|
+
main().catch(e => { console.error('lsp-multi-rename.test failed:', e.message); process.exit(1); });
|
|
81
|
+
//# sourceMappingURL=lsp-multi-rename.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lsp-multi-rename.test.js","sourceRoot":"","sources":["../../../../test/integration/lsp/lsp-multi-rename.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lsp-navigation.test.d.ts","sourceRoot":"","sources":["../../../../test/integration/lsp/lsp-navigation.test.ts"],"names":[],"mappings":";AACA;;;GAGG"}
|