@astrale-os/sdk 0.4.19 → 0.5.0-beta.2
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 +5 -3
- package/dist/auth/exchange.d.ts +11 -0
- package/dist/auth/exchange.d.ts.map +1 -0
- package/dist/auth/exchange.js +8 -0
- package/dist/auth/exchange.js.map +1 -0
- package/dist/auth/index.d.ts +4 -15
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +3 -10
- package/dist/auth/index.js.map +1 -1
- package/dist/capability/client.d.ts +25 -0
- package/dist/capability/client.d.ts.map +1 -0
- package/dist/capability/client.js +147 -0
- package/dist/capability/client.js.map +1 -0
- package/dist/capability/contract.d.ts +70 -0
- package/dist/capability/contract.d.ts.map +1 -0
- package/dist/capability/contract.js +3 -0
- package/dist/capability/contract.js.map +1 -0
- package/dist/capability/define.d.ts +14 -0
- package/dist/capability/define.d.ts.map +1 -0
- package/dist/capability/define.js +145 -0
- package/dist/capability/define.js.map +1 -0
- package/dist/capability/index.d.ts +3 -0
- package/dist/capability/index.d.ts.map +1 -0
- package/dist/capability/index.js +2 -0
- package/dist/capability/index.js.map +1 -0
- package/dist/cli/arguments.d.ts +21 -0
- package/dist/cli/arguments.d.ts.map +1 -0
- package/dist/cli/arguments.js +220 -0
- package/dist/cli/arguments.js.map +1 -0
- package/dist/cli/dotenv.d.ts +1 -4
- package/dist/cli/dotenv.d.ts.map +1 -1
- package/dist/cli/dotenv.js +6 -15
- package/dist/cli/dotenv.js.map +1 -1
- package/dist/cli/index.d.ts +4 -5
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +4 -5
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/run.d.ts +4 -79
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +47 -326
- package/dist/cli/run.js.map +1 -1
- package/dist/deployment/artifact/bindings.d.ts +7 -0
- package/dist/deployment/artifact/bindings.d.ts.map +1 -0
- package/dist/deployment/artifact/bindings.js +44 -0
- package/dist/deployment/artifact/bindings.js.map +1 -0
- package/dist/deployment/artifact/deployment.d.ts +35 -0
- package/dist/deployment/artifact/deployment.d.ts.map +1 -0
- package/dist/deployment/artifact/deployment.js +91 -0
- package/dist/deployment/artifact/deployment.js.map +1 -0
- package/dist/deployment/artifact/index.d.ts +5 -0
- package/dist/deployment/artifact/index.d.ts.map +1 -0
- package/dist/deployment/artifact/index.js +4 -0
- package/dist/deployment/artifact/index.js.map +1 -0
- package/dist/deployment/check/check.d.ts +8 -0
- package/dist/deployment/check/check.d.ts.map +1 -0
- package/dist/deployment/check/check.js +94 -0
- package/dist/deployment/check/check.js.map +1 -0
- package/dist/deployment/check/contract.d.ts +29 -0
- package/dist/deployment/check/contract.d.ts.map +1 -0
- package/dist/deployment/check/contract.js +2 -0
- package/dist/deployment/check/contract.js.map +1 -0
- package/dist/deployment/check/index.d.ts +3 -0
- package/dist/deployment/check/index.d.ts.map +1 -0
- package/dist/deployment/check/index.js +2 -0
- package/dist/deployment/check/index.js.map +1 -0
- package/dist/deployment/index.d.ts +7 -0
- package/dist/deployment/index.d.ts.map +1 -0
- package/dist/deployment/index.js +4 -0
- package/dist/deployment/index.js.map +1 -0
- package/dist/deployment/provider/adapter.d.ts +56 -0
- package/dist/deployment/provider/adapter.d.ts.map +1 -0
- package/dist/deployment/provider/adapter.js +84 -0
- package/dist/deployment/provider/adapter.js.map +1 -0
- package/dist/deployment/provider/config.d.ts +10 -0
- package/dist/deployment/provider/config.d.ts.map +1 -0
- package/dist/deployment/provider/config.js +8 -0
- package/dist/deployment/provider/config.js.map +1 -0
- package/dist/deployment/provider/index.d.ts +5 -0
- package/dist/deployment/provider/index.d.ts.map +1 -0
- package/dist/deployment/provider/index.js +3 -0
- package/dist/deployment/provider/index.js.map +1 -0
- package/dist/domain/app.d.ts +34 -0
- package/dist/domain/app.d.ts.map +1 -0
- package/dist/domain/app.js +2 -0
- package/dist/domain/app.js.map +1 -0
- package/dist/domain/context.d.ts +68 -0
- package/dist/domain/context.d.ts.map +1 -0
- package/dist/domain/context.js +2 -0
- package/dist/domain/context.js.map +1 -0
- package/dist/domain/define.d.ts +99 -65
- package/dist/domain/define.d.ts.map +1 -1
- package/dist/domain/define.js +78 -60
- package/dist/domain/define.js.map +1 -1
- package/dist/domain/handlers.d.ts +53 -0
- package/dist/domain/handlers.d.ts.map +1 -0
- package/dist/domain/handlers.js +88 -0
- package/dist/domain/handlers.js.map +1 -0
- package/dist/domain/implement.d.ts +5 -0
- package/dist/domain/implement.d.ts.map +1 -0
- package/dist/domain/implement.js +23 -0
- package/dist/domain/implement.js.map +1 -0
- package/dist/domain/index.d.ts +13 -4
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +7 -3
- package/dist/domain/index.js.map +1 -1
- package/dist/domain/requirements.d.ts +26 -0
- package/dist/domain/requirements.d.ts.map +1 -0
- package/dist/domain/requirements.js +98 -0
- package/dist/domain/requirements.js.map +1 -0
- package/dist/graph/class/index.d.ts +3 -0
- package/dist/graph/class/index.d.ts.map +1 -0
- package/dist/graph/class/index.js +3 -0
- package/dist/graph/class/index.js.map +1 -0
- package/dist/graph/edge/index.d.ts +3 -0
- package/dist/graph/edge/index.d.ts.map +1 -0
- package/dist/graph/edge/index.js +3 -0
- package/dist/graph/edge/index.js.map +1 -0
- package/dist/graph/index.d.ts +10 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +9 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/model/index.d.ts +3 -0
- package/dist/graph/model/index.d.ts.map +1 -0
- package/dist/graph/model/index.js +3 -0
- package/dist/graph/model/index.js.map +1 -0
- package/dist/graph/node/index.d.ts +3 -0
- package/dist/graph/node/index.d.ts.map +1 -0
- package/dist/graph/node/index.js +3 -0
- package/dist/graph/node/index.js.map +1 -0
- package/dist/graph/path/index.d.ts +3 -0
- package/dist/graph/path/index.d.ts.map +1 -0
- package/dist/graph/path/index.js +3 -0
- package/dist/graph/path/index.js.map +1 -0
- package/dist/graph/properties/index.d.ts +3 -0
- package/dist/graph/properties/index.d.ts.map +1 -0
- package/dist/graph/properties/index.js +3 -0
- package/dist/graph/properties/index.js.map +1 -0
- package/dist/index.d.ts +20 -27
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -47
- package/dist/index.js.map +1 -1
- package/dist/invocation/handler.d.ts +51 -0
- package/dist/invocation/handler.d.ts.map +1 -0
- package/dist/invocation/handler.js +289 -0
- package/dist/invocation/handler.js.map +1 -0
- package/dist/invocation/index.d.ts +3 -0
- package/dist/invocation/index.d.ts.map +1 -0
- package/dist/invocation/index.js +2 -0
- package/dist/invocation/index.js.map +1 -0
- package/dist/invocation/receiver.d.ts +5 -0
- package/dist/invocation/receiver.d.ts.map +1 -0
- package/dist/invocation/receiver.js +70 -0
- package/dist/invocation/receiver.js.map +1 -0
- package/dist/invocation/result.d.ts +5 -0
- package/dist/invocation/result.d.ts.map +1 -0
- package/dist/invocation/result.js +146 -0
- package/dist/invocation/result.js.map +1 -0
- package/dist/invocation/selection.d.ts +21 -0
- package/dist/invocation/selection.d.ts.map +1 -0
- package/dist/invocation/selection.js +107 -0
- package/dist/invocation/selection.js.map +1 -0
- package/dist/linter/adapters/typescript/discover.d.ts +4 -0
- package/dist/linter/adapters/typescript/discover.d.ts.map +1 -0
- package/dist/linter/adapters/typescript/discover.js +412 -0
- package/dist/linter/adapters/typescript/discover.js.map +1 -0
- package/dist/linter/adapters/typescript/evidence-admission.d.ts +5 -0
- package/dist/linter/adapters/typescript/evidence-admission.d.ts.map +1 -0
- package/dist/linter/adapters/typescript/evidence-admission.js +22 -0
- package/dist/linter/adapters/typescript/evidence-admission.js.map +1 -0
- package/dist/linter/adapters/typescript/imports.d.ts +7 -0
- package/dist/linter/adapters/typescript/imports.d.ts.map +1 -0
- package/dist/linter/adapters/typescript/imports.js +171 -0
- package/dist/linter/adapters/typescript/imports.js.map +1 -0
- package/dist/linter/adapters/typescript/index.d.ts +48 -0
- package/dist/linter/adapters/typescript/index.d.ts.map +1 -0
- package/dist/linter/adapters/typescript/index.js +8 -0
- package/dist/linter/adapters/typescript/index.js.map +1 -0
- package/dist/linter/adapters/typescript/query-observation.d.ts +4 -0
- package/dist/linter/adapters/typescript/query-observation.d.ts.map +1 -0
- package/dist/linter/adapters/typescript/query-observation.js +172 -0
- package/dist/linter/adapters/typescript/query-observation.js.map +1 -0
- package/dist/linter/adapters/typescript/suppression-directives.d.ts +5 -0
- package/dist/linter/adapters/typescript/suppression-directives.d.ts.map +1 -0
- package/dist/linter/adapters/typescript/suppression-directives.js +85 -0
- package/dist/linter/adapters/typescript/suppression-directives.js.map +1 -0
- package/dist/linter/adapters/typescript/syntax.d.ts +39 -0
- package/dist/linter/adapters/typescript/syntax.d.ts.map +1 -0
- package/dist/linter/adapters/typescript/syntax.js +183 -0
- package/dist/linter/adapters/typescript/syntax.js.map +1 -0
- package/dist/linter/adapters/typescript/type-universe.d.ts +2 -0
- package/dist/linter/adapters/typescript/type-universe.d.ts.map +1 -0
- package/dist/linter/adapters/typescript/type-universe.js +265 -0
- package/dist/linter/adapters/typescript/type-universe.js.map +1 -0
- package/dist/linter/catalog/compile.d.ts +3 -0
- package/dist/linter/catalog/compile.d.ts.map +1 -0
- package/dist/linter/catalog/compile.js +111 -0
- package/dist/linter/catalog/compile.js.map +1 -0
- package/dist/linter/catalog/index.d.ts +19 -0
- package/dist/linter/catalog/index.d.ts.map +1 -0
- package/dist/linter/catalog/index.js +3 -0
- package/dist/linter/catalog/index.js.map +1 -0
- package/dist/linter/catalog/revision.d.ts +7 -0
- package/dist/linter/catalog/revision.d.ts.map +1 -0
- package/dist/linter/catalog/revision.js +13 -0
- package/dist/linter/catalog/revision.js.map +1 -0
- package/dist/linter/diagnostics/error.d.ts +10 -0
- package/dist/linter/diagnostics/error.d.ts.map +1 -0
- package/dist/linter/diagnostics/error.js +10 -0
- package/dist/linter/diagnostics/error.js.map +1 -0
- package/dist/linter/diagnostics/index.d.ts +29 -0
- package/dist/linter/diagnostics/index.d.ts.map +1 -0
- package/dist/linter/diagnostics/index.js +3 -0
- package/dist/linter/diagnostics/index.js.map +1 -0
- package/dist/linter/diagnostics/sort.d.ts +3 -0
- package/dist/linter/diagnostics/sort.d.ts.map +1 -0
- package/dist/linter/diagnostics/sort.js +27 -0
- package/dist/linter/diagnostics/sort.js.map +1 -0
- package/dist/linter/evaluation/binding/bind.d.ts +5 -0
- package/dist/linter/evaluation/binding/bind.d.ts.map +1 -0
- package/dist/linter/evaluation/binding/bind.js +356 -0
- package/dist/linter/evaluation/binding/bind.js.map +1 -0
- package/dist/linter/evaluation/binding/diagnostic.d.ts +5 -0
- package/dist/linter/evaluation/binding/diagnostic.d.ts.map +1 -0
- package/dist/linter/evaluation/binding/diagnostic.js +17 -0
- package/dist/linter/evaluation/binding/diagnostic.js.map +1 -0
- package/dist/linter/evaluation/binding/index.d.ts +2 -0
- package/dist/linter/evaluation/binding/index.d.ts.map +1 -0
- package/dist/linter/evaluation/binding/index.js +2 -0
- package/dist/linter/evaluation/binding/index.js.map +1 -0
- package/dist/linter/evaluation/contract/availability.d.ts +28 -0
- package/dist/linter/evaluation/contract/availability.d.ts.map +1 -0
- package/dist/linter/evaluation/contract/availability.js +2 -0
- package/dist/linter/evaluation/contract/availability.js.map +1 -0
- package/dist/linter/evaluation/contract/decision.d.ts +26 -0
- package/dist/linter/evaluation/contract/decision.d.ts.map +1 -0
- package/dist/linter/evaluation/contract/decision.js +2 -0
- package/dist/linter/evaluation/contract/decision.js.map +1 -0
- package/dist/linter/evaluation/contract/evidence.d.ts +12 -0
- package/dist/linter/evaluation/contract/evidence.d.ts.map +1 -0
- package/dist/linter/evaluation/contract/evidence.js +2 -0
- package/dist/linter/evaluation/contract/evidence.js.map +1 -0
- package/dist/linter/evaluation/contract/implementation.d.ts +22 -0
- package/dist/linter/evaluation/contract/implementation.d.ts.map +1 -0
- package/dist/linter/evaluation/contract/implementation.js +2 -0
- package/dist/linter/evaluation/contract/implementation.js.map +1 -0
- package/dist/linter/evaluation/contract/index.d.ts +5 -0
- package/dist/linter/evaluation/contract/index.d.ts.map +1 -0
- package/dist/linter/evaluation/contract/index.js +2 -0
- package/dist/linter/evaluation/contract/index.js.map +1 -0
- package/dist/linter/evaluation/index.d.ts +3 -0
- package/dist/linter/evaluation/index.d.ts.map +1 -0
- package/dist/linter/evaluation/index.js +2 -0
- package/dist/linter/evaluation/index.js.map +1 -0
- package/dist/linter/implementations/source/capabilities.d.ts +3 -0
- package/dist/linter/implementations/source/capabilities.d.ts.map +1 -0
- package/dist/linter/implementations/source/capabilities.js +41 -0
- package/dist/linter/implementations/source/capabilities.js.map +1 -0
- package/dist/linter/implementations/source/contract.d.ts +17 -0
- package/dist/linter/implementations/source/contract.d.ts.map +1 -0
- package/dist/linter/implementations/source/contract.js +53 -0
- package/dist/linter/implementations/source/contract.js.map +1 -0
- package/dist/linter/implementations/source/functions.d.ts +3 -0
- package/dist/linter/implementations/source/functions.d.ts.map +1 -0
- package/dist/linter/implementations/source/functions.js +102 -0
- package/dist/linter/implementations/source/functions.js.map +1 -0
- package/dist/linter/implementations/source/global.d.ts +3 -0
- package/dist/linter/implementations/source/global.d.ts.map +1 -0
- package/dist/linter/implementations/source/global.js +812 -0
- package/dist/linter/implementations/source/global.js.map +1 -0
- package/dist/linter/implementations/source/index.d.ts +4 -0
- package/dist/linter/implementations/source/index.d.ts.map +1 -0
- package/dist/linter/implementations/source/index.js +4 -0
- package/dist/linter/implementations/source/index.js.map +1 -0
- package/dist/linter/implementations/source/integrations.d.ts +3 -0
- package/dist/linter/implementations/source/integrations.d.ts.map +1 -0
- package/dist/linter/implementations/source/integrations.js +186 -0
- package/dist/linter/implementations/source/integrations.js.map +1 -0
- package/dist/linter/implementations/source/migrations.d.ts +3 -0
- package/dist/linter/implementations/source/migrations.d.ts.map +1 -0
- package/dist/linter/implementations/source/migrations.js +115 -0
- package/dist/linter/implementations/source/migrations.js.map +1 -0
- package/dist/linter/implementations/source/mutations.d.ts +3 -0
- package/dist/linter/implementations/source/mutations.d.ts.map +1 -0
- package/dist/linter/implementations/source/mutations.js +185 -0
- package/dist/linter/implementations/source/mutations.js.map +1 -0
- package/dist/linter/implementations/source/queries.d.ts +3 -0
- package/dist/linter/implementations/source/queries.d.ts.map +1 -0
- package/dist/linter/implementations/source/queries.js +1000 -0
- package/dist/linter/implementations/source/queries.js.map +1 -0
- package/dist/linter/implementations/source/rules.d.ts +3 -0
- package/dist/linter/implementations/source/rules.d.ts.map +1 -0
- package/dist/linter/implementations/source/rules.js +141 -0
- package/dist/linter/implementations/source/rules.js.map +1 -0
- package/dist/linter/implementations/source/schema.d.ts +3 -0
- package/dist/linter/implementations/source/schema.d.ts.map +1 -0
- package/dist/linter/implementations/source/schema.js +105 -0
- package/dist/linter/implementations/source/schema.js.map +1 -0
- package/dist/linter/implementations/source/shared.d.ts +42 -0
- package/dist/linter/implementations/source/shared.d.ts.map +1 -0
- package/dist/linter/implementations/source/shared.js +239 -0
- package/dist/linter/implementations/source/shared.js.map +1 -0
- package/dist/linter/implementations/source/states.d.ts +3 -0
- package/dist/linter/implementations/source/states.d.ts.map +1 -0
- package/dist/linter/implementations/source/states.js +2 -0
- package/dist/linter/implementations/source/states.js.map +1 -0
- package/dist/linter/implementations/source/tests.d.ts +3 -0
- package/dist/linter/implementations/source/tests.d.ts.map +1 -0
- package/dist/linter/implementations/source/tests.js +28 -0
- package/dist/linter/implementations/source/tests.js.map +1 -0
- package/dist/linter/implementations/source/ui.d.ts +3 -0
- package/dist/linter/implementations/source/ui.d.ts.map +1 -0
- package/dist/linter/implementations/source/ui.js +21 -0
- package/dist/linter/implementations/source/ui.js.map +1 -0
- package/dist/linter/implementations/source/utils.d.ts +3 -0
- package/dist/linter/implementations/source/utils.d.ts.map +1 -0
- package/dist/linter/implementations/source/utils.js +29 -0
- package/dist/linter/implementations/source/utils.js.map +1 -0
- package/dist/linter/implementations/source/verifiers.d.ts +3 -0
- package/dist/linter/implementations/source/verifiers.d.ts.map +1 -0
- package/dist/linter/implementations/source/verifiers.js +33 -0
- package/dist/linter/implementations/source/verifiers.js.map +1 -0
- package/dist/linter/implementations/source/views.d.ts +3 -0
- package/dist/linter/implementations/source/views.d.ts.map +1 -0
- package/dist/linter/implementations/source/views.js +36 -0
- package/dist/linter/implementations/source/views.js.map +1 -0
- package/dist/linter/implementations/source/workflows.d.ts +3 -0
- package/dist/linter/implementations/source/workflows.d.ts.map +1 -0
- package/dist/linter/implementations/source/workflows.js +308 -0
- package/dist/linter/implementations/source/workflows.js.map +1 -0
- package/dist/linter/index.d.ts +7 -8
- package/dist/linter/index.d.ts.map +1 -1
- package/dist/linter/index.js +2 -4
- package/dist/linter/index.js.map +1 -1
- package/dist/linter/lint.d.ts +22 -8
- package/dist/linter/lint.d.ts.map +1 -1
- package/dist/linter/lint.js +58 -15
- package/dist/linter/lint.js.map +1 -1
- package/dist/linter/oxlint/index.d.ts +4 -0
- package/dist/linter/oxlint/index.d.ts.map +1 -0
- package/dist/linter/oxlint/index.js +2 -0
- package/dist/linter/oxlint/index.js.map +1 -0
- package/dist/linter/oxlint/process.d.ts +6 -6
- package/dist/linter/oxlint/process.d.ts.map +1 -1
- package/dist/linter/oxlint/process.js +1 -1
- package/dist/linter/oxlint/process.js.map +1 -1
- package/dist/linter/oxlint/run.d.ts +5 -5
- package/dist/linter/oxlint/run.d.ts.map +1 -1
- package/dist/linter/oxlint/run.js +140 -20
- package/dist/linter/oxlint/run.js.map +1 -1
- package/dist/linter/oxlint-config/ignore-patterns.d.ts +6 -0
- package/dist/linter/oxlint-config/ignore-patterns.d.ts.map +1 -0
- package/dist/linter/oxlint-config/ignore-patterns.js +10 -0
- package/dist/linter/oxlint-config/ignore-patterns.js.map +1 -0
- package/dist/linter/oxlint-config/index.d.ts +5 -0
- package/dist/linter/oxlint-config/index.d.ts.map +1 -0
- package/dist/linter/oxlint-config/index.js +18 -0
- package/dist/linter/oxlint-config/index.js.map +1 -0
- package/dist/linter/packs/domain.d.ts +3 -0
- package/dist/linter/packs/domain.d.ts.map +1 -0
- package/dist/linter/packs/domain.js +8 -0
- package/dist/linter/packs/domain.js.map +1 -0
- package/dist/linter/packs/index.d.ts +9 -0
- package/dist/linter/packs/index.d.ts.map +1 -0
- package/dist/linter/packs/index.js +2 -0
- package/dist/linter/packs/index.js.map +1 -0
- package/dist/linter/policy/compile.d.ts +3 -0
- package/dist/linter/policy/compile.d.ts.map +1 -0
- package/dist/linter/policy/compile.js +256 -0
- package/dist/linter/policy/compile.js.map +1 -0
- package/dist/linter/policy/generated.d.ts +5 -0
- package/dist/linter/policy/generated.d.ts.map +1 -0
- package/dist/linter/policy/generated.js +764 -0
- package/dist/linter/policy/generated.js.map +1 -0
- package/dist/linter/policy/index.d.ts +43 -0
- package/dist/linter/policy/index.d.ts.map +1 -0
- package/dist/linter/policy/index.js +3 -0
- package/dist/linter/policy/index.js.map +1 -0
- package/dist/linter/qualification/index.d.ts +11 -0
- package/dist/linter/qualification/index.d.ts.map +1 -0
- package/dist/linter/qualification/index.js +3 -0
- package/dist/linter/qualification/index.js.map +1 -0
- package/dist/linter/qualification/query-fixtures.d.ts +3 -0
- package/dist/linter/qualification/query-fixtures.d.ts.map +1 -0
- package/dist/linter/qualification/query-fixtures.js +69 -0
- package/dist/linter/qualification/query-fixtures.js.map +1 -0
- package/dist/linter/qualification/runner.d.ts +4 -0
- package/dist/linter/qualification/runner.d.ts.map +1 -0
- package/dist/linter/qualification/runner.js +7 -0
- package/dist/linter/qualification/runner.js.map +1 -0
- package/dist/linter/report/format.d.ts +4 -0
- package/dist/linter/report/format.d.ts.map +1 -0
- package/dist/linter/report/format.js +33 -0
- package/dist/linter/report/format.js.map +1 -0
- package/dist/linter/report/index.d.ts +3 -0
- package/dist/linter/report/index.d.ts.map +1 -0
- package/dist/linter/report/index.js +2 -0
- package/dist/linter/report/index.js.map +1 -0
- package/dist/linter/requirements/index.d.ts +3 -0
- package/dist/linter/requirements/index.d.ts.map +1 -0
- package/dist/linter/requirements/index.js +2 -0
- package/dist/linter/requirements/index.js.map +1 -0
- package/dist/linter/requirements/model.d.ts +9 -0
- package/dist/linter/requirements/model.d.ts.map +1 -0
- package/dist/linter/requirements/model.js +2 -0
- package/dist/linter/requirements/model.js.map +1 -0
- package/dist/linter/requirements/registry.d.ts +4 -0
- package/dist/linter/requirements/registry.d.ts.map +1 -0
- package/dist/linter/requirements/registry.js +188 -0
- package/dist/linter/requirements/registry.js.map +1 -0
- package/dist/linter/semantics/query/decision.d.ts +5 -0
- package/dist/linter/semantics/query/decision.d.ts.map +1 -0
- package/dist/linter/semantics/query/decision.js +74 -0
- package/dist/linter/semantics/query/decision.js.map +1 -0
- package/dist/linter/semantics/query/index.d.ts +4 -0
- package/dist/linter/semantics/query/index.d.ts.map +1 -0
- package/dist/linter/semantics/query/index.js +3 -0
- package/dist/linter/semantics/query/index.js.map +1 -0
- package/dist/linter/semantics/query/observation.d.ts +36 -0
- package/dist/linter/semantics/query/observation.d.ts.map +1 -0
- package/dist/linter/semantics/query/observation.js +13 -0
- package/dist/linter/semantics/query/observation.js.map +1 -0
- package/dist/linter/suppression/apply.d.ts +4 -0
- package/dist/linter/suppression/apply.d.ts.map +1 -0
- package/dist/linter/suppression/apply.js +48 -0
- package/dist/linter/suppression/apply.js.map +1 -0
- package/dist/linter/suppression/directive.d.ts +11 -0
- package/dist/linter/suppression/directive.d.ts.map +1 -0
- package/dist/linter/suppression/directive.js +2 -0
- package/dist/linter/suppression/directive.js.map +1 -0
- package/dist/linter/suppression/index.d.ts +14 -0
- package/dist/linter/suppression/index.d.ts.map +1 -0
- package/dist/linter/suppression/index.js +2 -0
- package/dist/linter/suppression/index.js.map +1 -0
- package/dist/mutation/contract.d.ts +134 -0
- package/dist/mutation/contract.d.ts.map +1 -0
- package/dist/mutation/contract.js +2 -0
- package/dist/mutation/contract.js.map +1 -0
- package/dist/mutation/define.d.ts +9 -0
- package/dist/mutation/define.d.ts.map +1 -0
- package/dist/mutation/define.js +24 -0
- package/dist/mutation/define.js.map +1 -0
- package/dist/mutation/errors.d.ts +3 -0
- package/dist/mutation/errors.d.ts.map +1 -0
- package/dist/mutation/errors.js +30 -0
- package/dist/mutation/errors.js.map +1 -0
- package/dist/mutation/execute.d.ts +11 -0
- package/dist/mutation/execute.d.ts.map +1 -0
- package/dist/mutation/execute.js +24 -0
- package/dist/mutation/execute.js.map +1 -0
- package/dist/mutation/index.d.ts +8 -0
- package/dist/mutation/index.d.ts.map +1 -0
- package/dist/mutation/index.js +5 -0
- package/dist/mutation/index.js.map +1 -0
- package/dist/mutation/rich.d.ts +4 -0
- package/dist/mutation/rich.d.ts.map +1 -0
- package/dist/mutation/rich.js +147 -0
- package/dist/mutation/rich.js.map +1 -0
- package/dist/query/composite/contract.d.ts +37 -0
- package/dist/query/composite/contract.d.ts.map +1 -0
- package/dist/query/composite/contract.js +2 -0
- package/dist/query/composite/contract.js.map +1 -0
- package/dist/query/composite/errors.d.ts +8 -0
- package/dist/query/composite/errors.d.ts.map +1 -0
- package/dist/query/composite/errors.js +9 -0
- package/dist/query/composite/errors.js.map +1 -0
- package/dist/query/composite/index.d.ts +6 -0
- package/dist/query/composite/index.d.ts.map +1 -0
- package/dist/query/composite/index.js +3 -0
- package/dist/query/composite/index.js.map +1 -0
- package/dist/query/composite/plan.d.ts +38 -0
- package/dist/query/composite/plan.d.ts.map +1 -0
- package/dist/query/composite/plan.js +225 -0
- package/dist/query/composite/plan.js.map +1 -0
- package/dist/query/contract.d.ts +58 -0
- package/dist/query/contract.d.ts.map +1 -0
- package/dist/query/contract.js +2 -0
- package/dist/query/contract.js.map +1 -0
- package/dist/query/define.d.ts +3 -0
- package/dist/query/define.d.ts.map +1 -0
- package/dist/query/define.js +90 -0
- package/dist/query/define.js.map +1 -0
- package/dist/query/definition.d.ts +29 -0
- package/dist/query/definition.d.ts.map +1 -0
- package/dist/query/definition.js +2 -0
- package/dist/query/definition.js.map +1 -0
- package/dist/query/errors.d.ts +9 -0
- package/dist/query/errors.d.ts.map +1 -0
- package/dist/query/errors.js +15 -0
- package/dist/query/errors.js.map +1 -0
- package/dist/query/execute.d.ts +20 -0
- package/dist/query/execute.d.ts.map +1 -0
- package/dist/query/execute.js +97 -0
- package/dist/query/execute.js.map +1 -0
- package/dist/query/index.d.ts +15 -0
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +8 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/node.d.ts +109 -0
- package/dist/query/node.d.ts.map +1 -0
- package/dist/query/node.js +164 -0
- package/dist/query/node.js.map +1 -0
- package/dist/query/result/contract.d.ts +23 -0
- package/dist/query/result/contract.d.ts.map +1 -0
- package/dist/query/result/contract.js +2 -0
- package/dist/query/result/contract.js.map +1 -0
- package/dist/query/result/index.d.ts +3 -0
- package/dist/query/result/index.d.ts.map +1 -0
- package/dist/query/result/index.js +2 -0
- package/dist/query/result/index.js.map +1 -0
- package/dist/query/result/projection.d.ts +3 -0
- package/dist/query/result/projection.d.ts.map +1 -0
- package/dist/query/result/projection.js +100 -0
- package/dist/query/result/projection.js.map +1 -0
- package/dist/query/selection.d.ts +4 -0
- package/dist/query/selection.d.ts.map +1 -0
- package/dist/query/selection.js +25 -0
- package/dist/query/selection.js.map +1 -0
- package/dist/react/compile.d.ts +9 -0
- package/dist/react/compile.d.ts.map +1 -0
- package/dist/react/compile.js +64 -0
- package/dist/react/compile.js.map +1 -0
- package/dist/react/define.d.ts +8 -0
- package/dist/react/define.d.ts.map +1 -0
- package/dist/react/define.js +89 -0
- package/dist/react/define.js.map +1 -0
- package/dist/react/definition.d.ts +69 -0
- package/dist/react/definition.d.ts.map +1 -0
- package/dist/react/definition.js +2 -0
- package/dist/react/definition.js.map +1 -0
- package/dist/react/index.d.ts +4 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +3 -0
- package/dist/react/index.js.map +1 -0
- package/dist/result/index.d.ts +3 -0
- package/dist/result/index.d.ts.map +1 -0
- package/dist/result/index.js +2 -0
- package/dist/result/index.js.map +1 -0
- package/dist/result/result.d.ts +10 -0
- package/dist/result/result.d.ts.map +1 -0
- package/dist/result/result.js +7 -0
- package/dist/result/result.js.map +1 -0
- package/dist/schema/index.d.ts +3 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +3 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/kernel/index.d.ts +3 -0
- package/dist/schema/kernel/index.d.ts.map +1 -0
- package/dist/schema/kernel/index.js +3 -0
- package/dist/schema/kernel/index.js.map +1 -0
- package/dist/schema/v1/index.d.ts +3 -0
- package/dist/schema/v1/index.d.ts.map +1 -0
- package/dist/schema/v1/index.js +3 -0
- package/dist/schema/v1/index.js.map +1 -0
- package/dist/server/application.d.ts +36 -0
- package/dist/server/application.d.ts.map +1 -0
- package/dist/server/application.js +126 -0
- package/dist/server/application.js.map +1 -0
- package/dist/server/index.d.ts +4 -13
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -8
- package/dist/server/index.js.map +1 -1
- package/dist/server/node/index.d.ts +3 -0
- package/dist/server/node/index.d.ts.map +1 -0
- package/dist/server/node/index.js +2 -0
- package/dist/server/node/index.js.map +1 -0
- package/dist/server/node/server.d.ts +14 -0
- package/dist/server/node/server.d.ts.map +1 -0
- package/dist/server/node/server.js +71 -0
- package/dist/server/node/server.js.map +1 -0
- package/dist/server/remote.d.ts +56 -0
- package/dist/server/remote.d.ts.map +1 -0
- package/dist/server/remote.js +798 -0
- package/dist/server/remote.js.map +1 -0
- package/dist/server/source.d.ts +13 -0
- package/dist/server/source.d.ts.map +1 -0
- package/dist/server/source.js +38 -0
- package/dist/server/source.js.map +1 -0
- package/dist/state/index.d.ts +4 -0
- package/dist/state/index.d.ts.map +1 -0
- package/dist/state/index.js +2 -0
- package/dist/state/index.js.map +1 -0
- package/dist/state/machine.d.ts +28 -0
- package/dist/state/machine.d.ts.map +1 -0
- package/dist/state/machine.js +32 -0
- package/dist/state/machine.js.map +1 -0
- package/dist/state/relation.d.ts +28 -0
- package/dist/state/relation.d.ts.map +1 -0
- package/dist/state/relation.js +48 -0
- package/dist/state/relation.js.map +1 -0
- package/dist/value/index.d.ts +3 -0
- package/dist/value/index.d.ts.map +1 -0
- package/dist/value/index.js +3 -0
- package/dist/value/index.js.map +1 -0
- package/dist/view/admission.d.ts +6 -0
- package/dist/view/admission.d.ts.map +1 -0
- package/dist/view/admission.js +43 -0
- package/dist/view/admission.js.map +1 -0
- package/dist/view/compile.d.ts +15 -0
- package/dist/view/compile.d.ts.map +1 -0
- package/dist/view/compile.js +189 -0
- package/dist/view/compile.js.map +1 -0
- package/dist/view/define.d.ts +20 -0
- package/dist/view/define.d.ts.map +1 -0
- package/dist/view/define.js +236 -0
- package/dist/view/define.js.map +1 -0
- package/dist/view/definition.d.ts +96 -0
- package/dist/view/definition.d.ts.map +1 -0
- package/dist/view/definition.js +2 -0
- package/dist/view/definition.js.map +1 -0
- package/dist/view/index.d.ts +4 -0
- package/dist/view/index.d.ts.map +1 -0
- package/dist/view/index.js +3 -0
- package/dist/view/index.js.map +1 -0
- package/dist/workflow/binding.d.ts +43 -0
- package/dist/workflow/binding.d.ts.map +1 -0
- package/dist/workflow/binding.js +32 -0
- package/dist/workflow/binding.js.map +1 -0
- package/dist/workflow/contract.d.ts +57 -0
- package/dist/workflow/contract.d.ts.map +1 -0
- package/dist/workflow/contract.js +2 -0
- package/dist/workflow/contract.js.map +1 -0
- package/dist/workflow/define.d.ts +4 -0
- package/dist/workflow/define.d.ts.map +1 -0
- package/dist/workflow/define.js +57 -0
- package/dist/workflow/define.js.map +1 -0
- package/dist/workflow/index.d.ts +7 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +4 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflow/runner.d.ts +4 -0
- package/dist/workflow/runner.d.ts.map +1 -0
- package/dist/workflow/runner.js +24 -0
- package/dist/workflow/runner.js.map +1 -0
- package/dist/workflow/step/index.d.ts +3 -0
- package/dist/workflow/step/index.d.ts.map +1 -0
- package/dist/workflow/step/index.js +2 -0
- package/dist/workflow/step/index.js.map +1 -0
- package/dist/workflow/step/inline.d.ts +6 -0
- package/dist/workflow/step/inline.d.ts.map +1 -0
- package/dist/workflow/step/inline.js +44 -0
- package/dist/workflow/step/inline.js.map +1 -0
- package/dist/workflow/step/step.d.ts +5 -0
- package/dist/workflow/step/step.d.ts.map +1 -0
- package/dist/workflow/step/step.js +2 -0
- package/dist/workflow/step/step.js.map +1 -0
- package/package.json +117 -24
- package/dist/auth/authenticate.d.ts +0 -24
- package/dist/auth/authenticate.d.ts.map +0 -1
- package/dist/auth/authenticate.js +0 -29
- package/dist/auth/authenticate.js.map +0 -1
- package/dist/auth/check.d.ts +0 -38
- package/dist/auth/check.d.ts.map +0 -1
- package/dist/auth/check.js +0 -50
- package/dist/auth/check.js.map +0 -1
- package/dist/auth/compose.d.ts +0 -41
- package/dist/auth/compose.d.ts.map +0 -1
- package/dist/auth/compose.js +0 -45
- package/dist/auth/compose.js.map +0 -1
- package/dist/auth/errors.d.ts +0 -16
- package/dist/auth/errors.d.ts.map +0 -1
- package/dist/auth/errors.js +0 -26
- package/dist/auth/errors.js.map +0 -1
- package/dist/auth/function-context.d.ts +0 -28
- package/dist/auth/function-context.d.ts.map +0 -1
- package/dist/auth/function-context.js +0 -47
- package/dist/auth/function-context.js.map +0 -1
- package/dist/auth/identity.d.ts +0 -18
- package/dist/auth/identity.d.ts.map +0 -1
- package/dist/auth/identity.js +0 -2
- package/dist/auth/identity.js.map +0 -1
- package/dist/auth/issuer-mint.d.ts +0 -53
- package/dist/auth/issuer-mint.d.ts.map +0 -1
- package/dist/auth/issuer-mint.js +0 -35
- package/dist/auth/issuer-mint.js.map +0 -1
- package/dist/auth/kernel-client.d.ts +0 -37
- package/dist/auth/kernel-client.d.ts.map +0 -1
- package/dist/auth/kernel-client.js +0 -111
- package/dist/auth/kernel-client.js.map +0 -1
- package/dist/auth/resolve.d.ts +0 -19
- package/dist/auth/resolve.d.ts.map +0 -1
- package/dist/auth/resolve.js +0 -43
- package/dist/auth/resolve.js.map +0 -1
- package/dist/auth/sign.d.ts +0 -15
- package/dist/auth/sign.d.ts.map +0 -1
- package/dist/auth/sign.js +0 -24
- package/dist/auth/sign.js.map +0 -1
- package/dist/auth/verify.d.ts +0 -28
- package/dist/auth/verify.d.ts.map +0 -1
- package/dist/auth/verify.js +0 -151
- package/dist/auth/verify.js.map +0 -1
- package/dist/cli/spec.d.ts +0 -19
- package/dist/cli/spec.d.ts.map +0 -1
- package/dist/cli/spec.js +0 -33
- package/dist/cli/spec.js.map +0 -1
- package/dist/config/adapter.d.ts +0 -148
- package/dist/config/adapter.d.ts.map +0 -1
- package/dist/config/adapter.js +0 -40
- package/dist/config/adapter.js.map +0 -1
- package/dist/config/define-domain.d.ts +0 -177
- package/dist/config/define-domain.d.ts.map +0 -1
- package/dist/config/define-domain.js +0 -145
- package/dist/config/define-domain.js.map +0 -1
- package/dist/config/deploy.d.ts +0 -28
- package/dist/config/deploy.d.ts.map +0 -1
- package/dist/config/deploy.js +0 -24
- package/dist/config/deploy.js.map +0 -1
- package/dist/config/index.d.ts +0 -21
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -18
- package/dist/config/index.js.map +0 -1
- package/dist/define/index.d.ts +0 -5
- package/dist/define/index.d.ts.map +0 -1
- package/dist/define/index.js +0 -3
- package/dist/define/index.js.map +0 -1
- package/dist/define/remote-function.d.ts +0 -120
- package/dist/define/remote-function.d.ts.map +0 -1
- package/dist/define/remote-function.js +0 -26
- package/dist/define/remote-function.js.map +0 -1
- package/dist/define/view.d.ts +0 -104
- package/dist/define/view.d.ts.map +0 -1
- package/dist/define/view.js +0 -30
- package/dist/define/view.js.map +0 -1
- package/dist/deploy/check.d.ts +0 -30
- package/dist/deploy/check.d.ts.map +0 -1
- package/dist/deploy/check.js +0 -82
- package/dist/deploy/check.js.map +0 -1
- package/dist/deploy/index.d.ts +0 -3
- package/dist/deploy/index.d.ts.map +0 -1
- package/dist/deploy/index.js +0 -3
- package/dist/deploy/index.js.map +0 -1
- package/dist/deploy/meta.d.ts +0 -29
- package/dist/deploy/meta.d.ts.map +0 -1
- package/dist/deploy/meta.js +0 -45
- package/dist/deploy/meta.js.map +0 -1
- package/dist/dispatch/authorize.d.ts +0 -14
- package/dist/dispatch/authorize.d.ts.map +0 -1
- package/dist/dispatch/authorize.js +0 -24
- package/dist/dispatch/authorize.js.map +0 -1
- package/dist/dispatch/dispatcher.d.ts +0 -59
- package/dist/dispatch/dispatcher.d.ts.map +0 -1
- package/dist/dispatch/dispatcher.js +0 -237
- package/dist/dispatch/dispatcher.js.map +0 -1
- package/dist/dispatch/errors.d.ts +0 -47
- package/dist/dispatch/errors.d.ts.map +0 -1
- package/dist/dispatch/errors.js +0 -76
- package/dist/dispatch/errors.js.map +0 -1
- package/dist/dispatch/execute.d.ts +0 -44
- package/dist/dispatch/execute.d.ts.map +0 -1
- package/dist/dispatch/execute.js +0 -29
- package/dist/dispatch/execute.js.map +0 -1
- package/dist/dispatch/identity.d.ts +0 -75
- package/dist/dispatch/identity.d.ts.map +0 -1
- package/dist/dispatch/identity.js +0 -101
- package/dist/dispatch/identity.js.map +0 -1
- package/dist/dispatch/index.d.ts +0 -7
- package/dist/dispatch/index.d.ts.map +0 -1
- package/dist/dispatch/index.js +0 -7
- package/dist/dispatch/index.js.map +0 -1
- package/dist/dispatch/resolve.d.ts +0 -27
- package/dist/dispatch/resolve.d.ts.map +0 -1
- package/dist/dispatch/resolve.js +0 -65
- package/dist/dispatch/resolve.js.map +0 -1
- package/dist/dispatch/self.d.ts +0 -51
- package/dist/dispatch/self.d.ts.map +0 -1
- package/dist/dispatch/self.js +0 -116
- package/dist/dispatch/self.js.map +0 -1
- package/dist/dispatch/validate.d.ts +0 -35
- package/dist/dispatch/validate.d.ts.map +0 -1
- package/dist/dispatch/validate.js +0 -27
- package/dist/dispatch/validate.js.map +0 -1
- package/dist/domain/binding.d.ts +0 -18
- package/dist/domain/binding.d.ts.map +0 -1
- package/dist/domain/binding.js +0 -29
- package/dist/domain/binding.js.map +0 -1
- package/dist/domain/build-spec.d.ts +0 -37
- package/dist/domain/build-spec.d.ts.map +0 -1
- package/dist/domain/build-spec.js +0 -114
- package/dist/domain/build-spec.js.map +0 -1
- package/dist/domain/contract.d.ts +0 -17
- package/dist/domain/contract.d.ts.map +0 -1
- package/dist/domain/contract.js +0 -26
- package/dist/domain/contract.js.map +0 -1
- package/dist/domain/extend-functions.d.ts +0 -48
- package/dist/domain/extend-functions.d.ts.map +0 -1
- package/dist/domain/extend-functions.js +0 -85
- package/dist/domain/extend-functions.js.map +0 -1
- package/dist/domain/extend-views.d.ts +0 -45
- package/dist/domain/extend-views.d.ts.map +0 -1
- package/dist/domain/extend-views.js +0 -116
- package/dist/domain/extend-views.js.map +0 -1
- package/dist/linter/analyze.d.ts +0 -6
- package/dist/linter/analyze.d.ts.map +0 -1
- package/dist/linter/analyze.js +0 -12
- package/dist/linter/analyze.js.map +0 -1
- package/dist/linter/diagnostic.d.ts +0 -38
- package/dist/linter/diagnostic.d.ts.map +0 -1
- package/dist/linter/diagnostic.js +0 -37
- package/dist/linter/diagnostic.js.map +0 -1
- package/dist/linter/oxlint/config.d.ts +0 -15
- package/dist/linter/oxlint/config.d.ts.map +0 -1
- package/dist/linter/oxlint/config.js +0 -23
- package/dist/linter/oxlint/config.js.map +0 -1
- package/dist/linter/oxlint/ignore-patterns.d.ts +0 -9
- package/dist/linter/oxlint/ignore-patterns.d.ts.map +0 -1
- package/dist/linter/oxlint/ignore-patterns.js +0 -18
- package/dist/linter/oxlint/ignore-patterns.js.map +0 -1
- package/dist/linter/oxlint/plugin.d.ts +0 -13
- package/dist/linter/oxlint/plugin.d.ts.map +0 -1
- package/dist/linter/oxlint/plugin.js +0 -14
- package/dist/linter/oxlint/plugin.js.map +0 -1
- package/dist/linter/preflight.d.ts +0 -2
- package/dist/linter/preflight.d.ts.map +0 -1
- package/dist/linter/preflight.js +0 -162
- package/dist/linter/preflight.js.map +0 -1
- package/dist/linter/project.d.ts +0 -18
- package/dist/linter/project.d.ts.map +0 -1
- package/dist/linter/project.js +0 -150
- package/dist/linter/project.js.map +0 -1
- package/dist/linter/report.d.ts +0 -4
- package/dist/linter/report.d.ts.map +0 -1
- package/dist/linter/report.js +0 -22
- package/dist/linter/report.js.map +0 -1
- package/dist/linter/rules/catalog.d.ts +0 -56
- package/dist/linter/rules/catalog.d.ts.map +0 -1
- package/dist/linter/rules/catalog.js +0 -53
- package/dist/linter/rules/catalog.js.map +0 -1
- package/dist/linter/rules/core-has-no-async.d.ts +0 -3
- package/dist/linter/rules/core-has-no-async.d.ts.map +0 -1
- package/dist/linter/rules/core-has-no-async.js +0 -43
- package/dist/linter/rules/core-has-no-async.js.map +0 -1
- package/dist/linter/rules/core-is-pure.d.ts +0 -3
- package/dist/linter/rules/core-is-pure.d.ts.map +0 -1
- package/dist/linter/rules/core-is-pure.js +0 -74
- package/dist/linter/rules/core-is-pure.js.map +0 -1
- package/dist/linter/rules/no-nested-steps.d.ts +0 -3
- package/dist/linter/rules/no-nested-steps.d.ts.map +0 -1
- package/dist/linter/rules/no-nested-steps.js +0 -32
- package/dist/linter/rules/no-nested-steps.js.map +0 -1
- package/dist/linter/rules/no-read-inside-mutate.d.ts +0 -3
- package/dist/linter/rules/no-read-inside-mutate.d.ts.map +0 -1
- package/dist/linter/rules/no-read-inside-mutate.js +0 -64
- package/dist/linter/rules/no-read-inside-mutate.js.map +0 -1
- package/dist/linter/rules/one-remote-definition-per-file.d.ts +0 -3
- package/dist/linter/rules/one-remote-definition-per-file.d.ts.map +0 -1
- package/dist/linter/rules/one-remote-definition-per-file.js +0 -23
- package/dist/linter/rules/one-remote-definition-per-file.js.map +0 -1
- package/dist/linter/rules/oxlint-ast.d.ts +0 -30
- package/dist/linter/rules/oxlint-ast.d.ts.map +0 -1
- package/dist/linter/rules/oxlint-ast.js +0 -104
- package/dist/linter/rules/oxlint-ast.js.map +0 -1
- package/dist/linter/rules/oxlint-rule.d.ts +0 -45
- package/dist/linter/rules/oxlint-rule.d.ts.map +0 -1
- package/dist/linter/rules/oxlint-rule.js +0 -2
- package/dist/linter/rules/oxlint-rule.js.map +0 -1
- package/dist/linter/rules/project-rule.d.ts +0 -10
- package/dist/linter/rules/project-rule.d.ts.map +0 -1
- package/dist/linter/rules/project-rule.js +0 -24
- package/dist/linter/rules/project-rule.js.map +0 -1
- package/dist/linter/rules/thin-schema-composition-root.d.ts +0 -3
- package/dist/linter/rules/thin-schema-composition-root.d.ts.map +0 -1
- package/dist/linter/rules/thin-schema-composition-root.js +0 -23
- package/dist/linter/rules/thin-schema-composition-root.js.map +0 -1
- package/dist/linter/source.d.ts +0 -24
- package/dist/linter/source.d.ts.map +0 -1
- package/dist/linter/source.js +0 -279
- package/dist/linter/source.js.map +0 -1
- package/dist/linter/suppression.d.ts +0 -3
- package/dist/linter/suppression.d.ts.map +0 -1
- package/dist/linter/suppression.js +0 -11
- package/dist/linter/suppression.js.map +0 -1
- package/dist/method/class.d.ts +0 -71
- package/dist/method/class.d.ts.map +0 -1
- package/dist/method/class.js +0 -26
- package/dist/method/class.js.map +0 -1
- package/dist/method/context.d.ts +0 -99
- package/dist/method/context.d.ts.map +0 -1
- package/dist/method/context.js +0 -11
- package/dist/method/context.js.map +0 -1
- package/dist/method/index.d.ts +0 -6
- package/dist/method/index.d.ts.map +0 -1
- package/dist/method/index.js +0 -3
- package/dist/method/index.js.map +0 -1
- package/dist/method/single.d.ts +0 -81
- package/dist/method/single.d.ts.map +0 -1
- package/dist/method/single.js +0 -8
- package/dist/method/single.js.map +0 -1
- package/dist/server/auxiliary-routes.d.ts +0 -48
- package/dist/server/auxiliary-routes.d.ts.map +0 -1
- package/dist/server/auxiliary-routes.js +0 -322
- package/dist/server/auxiliary-routes.js.map +0 -1
- package/dist/server/config.d.ts +0 -83
- package/dist/server/config.d.ts.map +0 -1
- package/dist/server/config.js +0 -8
- package/dist/server/config.js.map +0 -1
- package/dist/server/create.d.ts +0 -8
- package/dist/server/create.d.ts.map +0 -1
- package/dist/server/create.js +0 -171
- package/dist/server/create.js.map +0 -1
- package/dist/server/domain-entry.d.ts +0 -77
- package/dist/server/domain-entry.d.ts.map +0 -1
- package/dist/server/domain-entry.js +0 -60
- package/dist/server/domain-entry.js.map +0 -1
- package/dist/server/handle.d.ts +0 -35
- package/dist/server/handle.d.ts.map +0 -1
- package/dist/server/handle.js +0 -9
- package/dist/server/handle.js.map +0 -1
- package/dist/server/jwks.d.ts +0 -11
- package/dist/server/jwks.d.ts.map +0 -1
- package/dist/server/jwks.js +0 -15
- package/dist/server/jwks.js.map +0 -1
- package/dist/server/require-env.d.ts +0 -15
- package/dist/server/require-env.d.ts.map +0 -1
- package/dist/server/require-env.js +0 -21
- package/dist/server/require-env.js.map +0 -1
- package/dist/server/service-entry.d.ts +0 -32
- package/dist/server/service-entry.d.ts.map +0 -1
- package/dist/server/service-entry.js +0 -150
- package/dist/server/service-entry.js.map +0 -1
- package/dist/server/serving-url.d.ts +0 -14
- package/dist/server/serving-url.d.ts.map +0 -1
- package/dist/server/serving-url.js +0 -28
- package/dist/server/serving-url.js.map +0 -1
- package/dist/server/start.d.ts +0 -11
- package/dist/server/start.d.ts.map +0 -1
- package/dist/server/start.js +0 -34
- package/dist/server/start.js.map +0 -1
- package/dist/server/worker-entry.d.ts +0 -157
- package/dist/server/worker-entry.d.ts.map +0 -1
- package/dist/server/worker-entry.js +0 -201
- package/dist/server/worker-entry.js.map +0 -1
- package/dist/service/functions.d.ts +0 -148
- package/dist/service/functions.d.ts.map +0 -1
- package/dist/service/functions.js +0 -115
- package/dist/service/functions.js.map +0 -1
- package/dist/service/index.d.ts +0 -3
- package/dist/service/index.d.ts.map +0 -1
- package/dist/service/index.js +0 -2
- package/dist/service/index.js.map +0 -1
- package/dist/step/index.d.ts +0 -5
- package/dist/step/index.d.ts.map +0 -1
- package/dist/step/index.js +0 -3
- package/dist/step/index.js.map +0 -1
- package/dist/step/inline.d.ts +0 -8
- package/dist/step/inline.d.ts.map +0 -1
- package/dist/step/inline.js +0 -22
- package/dist/step/inline.js.map +0 -1
- package/dist/step/step.d.ts +0 -28
- package/dist/step/step.d.ts.map +0 -1
- package/dist/step/step.js +0 -53
- package/dist/step/step.js.map +0 -1
- package/src/auth/authenticate.ts +0 -51
- package/src/auth/check.ts +0 -69
- package/src/auth/compose.ts +0 -56
- package/src/auth/errors.ts +0 -32
- package/src/auth/function-context.ts +0 -108
- package/src/auth/identity.ts +0 -17
- package/src/auth/index.ts +0 -19
- package/src/auth/issuer-mint.ts +0 -76
- package/src/auth/kernel-client.ts +0 -153
- package/src/auth/resolve.ts +0 -63
- package/src/auth/sign.ts +0 -36
- package/src/auth/verify.ts +0 -199
- package/src/cli/bin.ts +0 -15
- package/src/cli/dotenv.ts +0 -65
- package/src/cli/index.ts +0 -15
- package/src/cli/log.ts +0 -18
- package/src/cli/publish.ts +0 -341
- package/src/cli/run.ts +0 -769
- package/src/cli/spec.ts +0 -44
- package/src/config/adapter.ts +0 -177
- package/src/config/define-domain.ts +0 -354
- package/src/config/deploy.ts +0 -35
- package/src/config/index.ts +0 -31
- package/src/define/index.ts +0 -10
- package/src/define/remote-function.ts +0 -184
- package/src/define/view.ts +0 -112
- package/src/deploy/check.ts +0 -124
- package/src/deploy/index.ts +0 -2
- package/src/deploy/meta.ts +0 -50
- package/src/dispatch/authorize.ts +0 -29
- package/src/dispatch/dispatcher.ts +0 -321
- package/src/dispatch/errors.ts +0 -94
- package/src/dispatch/execute.ts +0 -67
- package/src/dispatch/identity.ts +0 -143
- package/src/dispatch/index.ts +0 -16
- package/src/dispatch/resolve.ts +0 -78
- package/src/dispatch/self.ts +0 -198
- package/src/dispatch/validate.ts +0 -41
- package/src/domain/binding.ts +0 -37
- package/src/domain/build-spec.ts +0 -156
- package/src/domain/contract.ts +0 -41
- package/src/domain/define.ts +0 -162
- package/src/domain/extend-functions.ts +0 -110
- package/src/domain/extend-views.ts +0 -151
- package/src/domain/index.ts +0 -4
- package/src/index.ts +0 -165
- package/src/linter/analyze.ts +0 -17
- package/src/linter/diagnostic.ts +0 -85
- package/src/linter/docs/DIAGNOSTICS.md +0 -47
- package/src/linter/docs/JUDGMENT.md +0 -81
- package/src/linter/docs/PRINCIPLES.md +0 -97
- package/src/linter/docs/README.md +0 -38
- package/src/linter/docs/RULE-AUTHORING.md +0 -144
- package/src/linter/docs/RULES.md +0 -153
- package/src/linter/index.ts +0 -15
- package/src/linter/lint.ts +0 -34
- package/src/linter/oxlint/astrale-ox.d.ts +0 -5
- package/src/linter/oxlint/config.ts +0 -24
- package/src/linter/oxlint/ignore-patterns.ts +0 -17
- package/src/linter/oxlint/plugin.js +0 -16
- package/src/linter/oxlint/process.ts +0 -219
- package/src/linter/oxlint/run.ts +0 -175
- package/src/linter/preflight.ts +0 -182
- package/src/linter/project.ts +0 -190
- package/src/linter/report.ts +0 -25
- package/src/linter/rules/catalog.ts +0 -67
- package/src/linter/rules/core-has-no-async.js +0 -43
- package/src/linter/rules/core-is-pure.ts +0 -103
- package/src/linter/rules/no-nested-steps.js +0 -37
- package/src/linter/rules/no-read-inside-mutate.js +0 -72
- package/src/linter/rules/one-remote-definition-per-file.ts +0 -29
- package/src/linter/rules/oxlint-ast.js +0 -110
- package/src/linter/rules/oxlint-rule.ts +0 -35
- package/src/linter/rules/project-rule.ts +0 -37
- package/src/linter/rules/thin-schema-composition-root.ts +0 -26
- package/src/linter/source.ts +0 -323
- package/src/linter/suppression.ts +0 -11
- package/src/method/class.ts +0 -163
- package/src/method/context.ts +0 -135
- package/src/method/index.ts +0 -19
- package/src/method/single.ts +0 -166
- package/src/server/auxiliary-routes.ts +0 -456
- package/src/server/config.ts +0 -85
- package/src/server/create.ts +0 -210
- package/src/server/domain-entry.ts +0 -125
- package/src/server/handle.ts +0 -37
- package/src/server/index.ts +0 -19
- package/src/server/jwks.ts +0 -18
- package/src/server/require-env.ts +0 -19
- package/src/server/service-entry.ts +0 -209
- package/src/server/serving-url.ts +0 -28
- package/src/server/start.ts +0 -42
- package/src/server/worker-entry.ts +0 -286
- package/src/service/functions.ts +0 -164
- package/src/service/index.ts +0 -18
- package/src/step/index.ts +0 -4
- package/src/step/inline.ts +0 -38
- package/src/step/step.ts +0 -95
package/src/linter/project.ts
DELETED
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import { readdir, readFile, realpath } from 'node:fs/promises'
|
|
2
|
-
import { dirname, extname, isAbsolute, join, relative, resolve, sep } from 'node:path'
|
|
3
|
-
|
|
4
|
-
import { scanSource, type SourceFile } from './source.js'
|
|
5
|
-
|
|
6
|
-
const ignoredDirectories = new Set([
|
|
7
|
-
'.astrale',
|
|
8
|
-
'.dist',
|
|
9
|
-
'.domain-studio',
|
|
10
|
-
'.git',
|
|
11
|
-
'.output',
|
|
12
|
-
'.turbo',
|
|
13
|
-
'.wrangler',
|
|
14
|
-
'coverage',
|
|
15
|
-
'dist',
|
|
16
|
-
'dist-client',
|
|
17
|
-
'node_modules',
|
|
18
|
-
])
|
|
19
|
-
|
|
20
|
-
const sourceExtensions = new Set(['.cjs', '.cts', '.js', '.jsx', '.mjs', '.mts', '.ts', '.tsx'])
|
|
21
|
-
|
|
22
|
-
export type DomainProject = {
|
|
23
|
-
root: string
|
|
24
|
-
files: readonly SourceFile[]
|
|
25
|
-
filesByPath: ReadonlyMap<string, SourceFile>
|
|
26
|
-
packageScopes: readonly PackageScope[]
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
type PackageScope = {
|
|
30
|
-
directory: string
|
|
31
|
-
imports: ReadonlyMap<string, string>
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
type PackageJson = {
|
|
35
|
-
imports?: Record<string, unknown>
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export async function discoverProject(root: string): Promise<DomainProject> {
|
|
39
|
-
const projectRoot = await realpath(resolve(root))
|
|
40
|
-
const paths: string[] = []
|
|
41
|
-
const manifests: string[] = []
|
|
42
|
-
await collectProjectPaths(projectRoot, paths, manifests)
|
|
43
|
-
paths.sort()
|
|
44
|
-
|
|
45
|
-
const files = await Promise.all(
|
|
46
|
-
paths.map(async (path) => {
|
|
47
|
-
const text = await readFile(path, 'utf8')
|
|
48
|
-
return scanSource(path, normalizePath(relative(projectRoot, path)), text)
|
|
49
|
-
}),
|
|
50
|
-
)
|
|
51
|
-
return {
|
|
52
|
-
root: projectRoot,
|
|
53
|
-
files,
|
|
54
|
-
filesByPath: new Map(files.map((file) => [file.path, file])),
|
|
55
|
-
packageScopes: await loadPackageScopes(manifests),
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
async function collectProjectPaths(
|
|
60
|
-
directory: string,
|
|
61
|
-
sources: string[],
|
|
62
|
-
manifests: string[],
|
|
63
|
-
): Promise<void> {
|
|
64
|
-
const entries = await readdir(directory, { withFileTypes: true })
|
|
65
|
-
await Promise.all(
|
|
66
|
-
entries.map(async (entry) => {
|
|
67
|
-
if (entry.isSymbolicLink()) return
|
|
68
|
-
const path = join(directory, entry.name)
|
|
69
|
-
if (entry.isDirectory()) {
|
|
70
|
-
if (!ignoredDirectories.has(entry.name)) {
|
|
71
|
-
await collectProjectPaths(path, sources, manifests)
|
|
72
|
-
}
|
|
73
|
-
return
|
|
74
|
-
}
|
|
75
|
-
if (entry.isFile() && entry.name === 'package.json') manifests.push(path)
|
|
76
|
-
if (!entry.isFile() || !sourceExtensions.has(extname(entry.name))) return
|
|
77
|
-
if (entry.name.endsWith('.d.ts') || entry.name.includes('.gen.')) return
|
|
78
|
-
sources.push(path)
|
|
79
|
-
}),
|
|
80
|
-
)
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
async function loadPackageScopes(manifests: readonly string[]): Promise<PackageScope[]> {
|
|
84
|
-
const scopes = await Promise.all(
|
|
85
|
-
manifests.map(async (manifest): Promise<PackageScope | undefined> => {
|
|
86
|
-
let packageJson: PackageJson
|
|
87
|
-
try {
|
|
88
|
-
packageJson = JSON.parse(await readFile(manifest, 'utf8')) as PackageJson
|
|
89
|
-
} catch {
|
|
90
|
-
return undefined
|
|
91
|
-
}
|
|
92
|
-
const imports = new Map<string, string>()
|
|
93
|
-
for (const [specifier, target] of Object.entries(packageJson.imports ?? {})) {
|
|
94
|
-
if (specifier.startsWith('#') && typeof target === 'string') imports.set(specifier, target)
|
|
95
|
-
}
|
|
96
|
-
return { directory: dirname(manifest), imports }
|
|
97
|
-
}),
|
|
98
|
-
)
|
|
99
|
-
return scopes
|
|
100
|
-
.filter((scope): scope is PackageScope => scope !== undefined)
|
|
101
|
-
.sort((a, b) => b.directory.length - a.directory.length)
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
export function normalizePath(path: string): string {
|
|
105
|
-
return sep === '/' ? path : path.split(sep).join('/')
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
export function isProductionSource(relativePath: string): boolean {
|
|
109
|
-
const normalized = normalizePath(relativePath)
|
|
110
|
-
return (
|
|
111
|
-
!normalized.split('/').includes('__tests__') &&
|
|
112
|
-
!/\.(?:test|spec|bench|perf)\.[cm]?[jt]sx?$/.test(normalized) &&
|
|
113
|
-
!normalized.includes('.gen.')
|
|
114
|
-
)
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
export function isProductionCore(relativePath: string): boolean {
|
|
118
|
-
const normalized = normalizePath(relativePath)
|
|
119
|
-
return (normalized === 'core' || normalized.startsWith('core/')) && isProductionSource(normalized)
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
export function resolveProjectImport(
|
|
123
|
-
project: DomainProject,
|
|
124
|
-
importer: SourceFile,
|
|
125
|
-
specifier: string,
|
|
126
|
-
): SourceFile | undefined {
|
|
127
|
-
const unresolved = specifier.startsWith('.')
|
|
128
|
-
? resolve(dirname(importer.path), specifier)
|
|
129
|
-
: resolvePackageImport(project, importer, specifier)
|
|
130
|
-
if (!unresolved) return undefined
|
|
131
|
-
for (const candidate of importCandidates(unresolved)) {
|
|
132
|
-
const file = project.filesByPath.get(candidate)
|
|
133
|
-
if (file) return file
|
|
134
|
-
}
|
|
135
|
-
return undefined
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
function resolvePackageImport(
|
|
139
|
-
project: DomainProject,
|
|
140
|
-
importer: SourceFile,
|
|
141
|
-
specifier: string,
|
|
142
|
-
): string | undefined {
|
|
143
|
-
if (!specifier.startsWith('#')) return undefined
|
|
144
|
-
const scope = project.packageScopes.find(({ directory }) => isWithin(directory, importer.path))
|
|
145
|
-
if (!scope) return undefined
|
|
146
|
-
const target = scope.imports.get(specifier) ?? matchingImportTarget(scope.imports, specifier)
|
|
147
|
-
if (!target?.startsWith('./')) return undefined
|
|
148
|
-
const path = resolve(scope.directory, target)
|
|
149
|
-
return isWithin(scope.directory, path) ? path : undefined
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
function matchingImportTarget(
|
|
153
|
-
imports: ReadonlyMap<string, string>,
|
|
154
|
-
specifier: string,
|
|
155
|
-
): string | undefined {
|
|
156
|
-
let best: { specificity: number; target: string } | undefined
|
|
157
|
-
for (const [pattern, target] of imports) {
|
|
158
|
-
const star = pattern.indexOf('*')
|
|
159
|
-
if (star < 0 || star !== pattern.lastIndexOf('*')) continue
|
|
160
|
-
const prefix = pattern.slice(0, star)
|
|
161
|
-
const suffix = pattern.slice(star + 1)
|
|
162
|
-
if (!specifier.startsWith(prefix) || !specifier.endsWith(suffix)) continue
|
|
163
|
-
const matchEnd = suffix.length === 0 ? specifier.length : specifier.length - suffix.length
|
|
164
|
-
const match = specifier.slice(prefix.length, matchEnd)
|
|
165
|
-
const specificity = prefix.length + suffix.length
|
|
166
|
-
if (!best || specificity > best.specificity) {
|
|
167
|
-
best = { specificity, target: target.replace('*', match) }
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
return best?.target
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
function isWithin(directory: string, path: string): boolean {
|
|
174
|
-
const child = relative(directory, path)
|
|
175
|
-
return child === '' || (!child.startsWith('..') && !isAbsolute(child))
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
function importCandidates(path: string): string[] {
|
|
179
|
-
const extension = extname(path)
|
|
180
|
-
const candidates = [path]
|
|
181
|
-
if (extension === '.js' || extension === '.jsx' || extension === '.mjs' || extension === '.cjs') {
|
|
182
|
-
const stem = path.slice(0, -extension.length)
|
|
183
|
-
candidates.push(`${stem}.ts`, `${stem}.tsx`, `${stem}.mts`, `${stem}.cts`)
|
|
184
|
-
}
|
|
185
|
-
if (!extension) {
|
|
186
|
-
candidates.push(`${path}.ts`, `${path}.tsx`, `${path}.mts`, `${path}.cts`)
|
|
187
|
-
candidates.push(join(path, 'index.ts'), join(path, 'index.tsx'))
|
|
188
|
-
}
|
|
189
|
-
return candidates.map((candidate) => (isAbsolute(candidate) ? candidate : resolve(candidate)))
|
|
190
|
-
}
|
package/src/linter/report.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { LintResult } from './diagnostic.js'
|
|
2
|
-
|
|
3
|
-
export type LintReportFormat = 'json' | 'stylish'
|
|
4
|
-
|
|
5
|
-
export function formatLintResult(result: LintResult, format: LintReportFormat = 'stylish'): string {
|
|
6
|
-
if (format === 'json') return `${JSON.stringify(result, null, 2)}\n`
|
|
7
|
-
const lines: string[] = []
|
|
8
|
-
for (const diagnostic of result.diagnostics) {
|
|
9
|
-
const location = diagnostic.location
|
|
10
|
-
? `${diagnostic.location.path}:${diagnostic.location.line}:${diagnostic.location.column}`
|
|
11
|
-
: result.root
|
|
12
|
-
lines.push(`${location} ${diagnostic.severity} ${diagnostic.id} ${diagnostic.message}`)
|
|
13
|
-
if (diagnostic.help) lines.push(` ${diagnostic.help}`)
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
const errors = result.diagnostics.filter((diagnostic) => diagnostic.severity === 'error').length
|
|
17
|
-
const warnings = result.diagnostics.length - errors
|
|
18
|
-
if (lines.length > 0) lines.push('')
|
|
19
|
-
lines.push(
|
|
20
|
-
errors === 0
|
|
21
|
-
? `\u2713 ${result.files} files linted in ${result.durationMs}ms${warnings ? ` (${warnings} warnings)` : ''}`
|
|
22
|
-
: `\u2717 ${errors} ${errors === 1 ? 'error' : 'errors'}, ${warnings} ${warnings === 1 ? 'warning' : 'warnings'} in ${result.durationMs}ms`,
|
|
23
|
-
)
|
|
24
|
-
return `${lines.join('\n')}\n`
|
|
25
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
export type RuleOwner = 'analyzer' | 'oxlint' | 'sdk'
|
|
2
|
-
|
|
3
|
-
export type RuleInfo = {
|
|
4
|
-
slug: string
|
|
5
|
-
owner: RuleOwner
|
|
6
|
-
message: string
|
|
7
|
-
help: string
|
|
8
|
-
url: string
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
const ruleDocsUrl = (slug: string) => `https://docs.astrale.ai/linter/rules/${slug}`
|
|
12
|
-
|
|
13
|
-
export const ruleCatalog = {
|
|
14
|
-
'thin-schema-composition-root': {
|
|
15
|
-
slug: 'thin-schema-composition-root',
|
|
16
|
-
owner: 'analyzer',
|
|
17
|
-
message: 'The schema composition root defines a schema member inline.',
|
|
18
|
-
help: 'Move this member definition to its bounded-context module and import it here.',
|
|
19
|
-
url: ruleDocsUrl('thin-schema-composition-root'),
|
|
20
|
-
},
|
|
21
|
-
'one-remote-definition-per-file': {
|
|
22
|
-
slug: 'one-remote-definition-per-file',
|
|
23
|
-
owner: 'analyzer',
|
|
24
|
-
message: 'This file defines more than one Astrale remote callable.',
|
|
25
|
-
help: 'Keep one remoteMethod or defineRemoteFunction definition per implementation file.',
|
|
26
|
-
url: ruleDocsUrl('one-remote-definition-per-file'),
|
|
27
|
-
},
|
|
28
|
-
'core-is-pure': {
|
|
29
|
-
slug: 'core-is-pure',
|
|
30
|
-
owner: 'analyzer',
|
|
31
|
-
message: 'Pure core code depends on an effectful or runtime-only module.',
|
|
32
|
-
help: 'Move I/O orchestration to runtime or integrations and pass pure data into core.',
|
|
33
|
-
url: ruleDocsUrl('core-is-pure'),
|
|
34
|
-
},
|
|
35
|
-
'core-has-no-async': {
|
|
36
|
-
slug: 'core-has-no-async',
|
|
37
|
-
owner: 'oxlint',
|
|
38
|
-
message: 'Production core code contains asynchronous syntax.',
|
|
39
|
-
help: 'Keep core deterministic and synchronous; perform asynchronous work in runtime or integrations.',
|
|
40
|
-
url: ruleDocsUrl('core-has-no-async'),
|
|
41
|
-
},
|
|
42
|
-
'no-nested-steps': {
|
|
43
|
-
slug: 'no-nested-steps',
|
|
44
|
-
owner: 'oxlint',
|
|
45
|
-
message: 'A durable step directly contains another durable step.',
|
|
46
|
-
help: 'Give each stage one step boundary and call helper-owned steps outside another step callback.',
|
|
47
|
-
url: ruleDocsUrl('no-nested-steps'),
|
|
48
|
-
},
|
|
49
|
-
'no-read-inside-mutate': {
|
|
50
|
-
slug: 'no-read-inside-mutate',
|
|
51
|
-
owner: 'oxlint',
|
|
52
|
-
message: 'A graph mutation builder performs a read or is asynchronous.',
|
|
53
|
-
help: 'Read before mutate, then keep the mutation callback synchronous and limited to patch construction.',
|
|
54
|
-
url: ruleDocsUrl('no-read-inside-mutate'),
|
|
55
|
-
},
|
|
56
|
-
} as const satisfies Record<string, RuleInfo>
|
|
57
|
-
|
|
58
|
-
export type ImplementedRuleSlug = keyof typeof ruleCatalog
|
|
59
|
-
|
|
60
|
-
export function ruleId(slug: ImplementedRuleSlug): `astrale/${ImplementedRuleSlug}` {
|
|
61
|
-
return `astrale/${slug}`
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export function ruleInfo(id: string): RuleInfo | undefined {
|
|
65
|
-
const slug = id.startsWith('astrale/') ? id.slice('astrale/'.length) : id
|
|
66
|
-
return ruleCatalog[slug as ImplementedRuleSlug]
|
|
67
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
// @ts-check
|
|
2
|
-
|
|
3
|
-
import { isProductionCoreFile, nearestFunction, reportUnlessSuppressed } from './oxlint-ast.js'
|
|
4
|
-
|
|
5
|
-
const id = 'astrale/core-has-no-async'
|
|
6
|
-
|
|
7
|
-
/** @type {import('./oxlint-rule.js').OxlintRule} */
|
|
8
|
-
export const coreHasNoAsync = {
|
|
9
|
-
meta: {
|
|
10
|
-
type: 'problem',
|
|
11
|
-
docs: {
|
|
12
|
-
description: 'Production core code contains asynchronous syntax.',
|
|
13
|
-
url: 'https://docs.astrale.ai/linter/rules/core-has-no-async',
|
|
14
|
-
},
|
|
15
|
-
messages: {
|
|
16
|
-
asyncFunction: 'Production core functions must be synchronous.',
|
|
17
|
-
topLevelAwait: 'Production core modules must not use top-level await.',
|
|
18
|
-
},
|
|
19
|
-
schema: [],
|
|
20
|
-
},
|
|
21
|
-
create(context) {
|
|
22
|
-
if (!isProductionCoreFile(context)) return {}
|
|
23
|
-
/** @param {import('./oxlint-rule.js').AstNode} node */
|
|
24
|
-
const reportFunction = (node) => {
|
|
25
|
-
if (node.async) reportUnlessSuppressed(context, node, id, 'asyncFunction')
|
|
26
|
-
}
|
|
27
|
-
return {
|
|
28
|
-
FunctionDeclaration: reportFunction,
|
|
29
|
-
FunctionExpression: reportFunction,
|
|
30
|
-
ArrowFunctionExpression: reportFunction,
|
|
31
|
-
AwaitExpression(node) {
|
|
32
|
-
if (!nearestFunction(node.parent)) {
|
|
33
|
-
reportUnlessSuppressed(context, node, id, 'topLevelAwait')
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
ForOfStatement(node) {
|
|
37
|
-
if (node.await && !nearestFunction(node.parent)) {
|
|
38
|
-
reportUnlessSuppressed(context, node, id, 'topLevelAwait')
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import type { LintDiagnostic } from '../diagnostic.js'
|
|
2
|
-
import type { SourceFile, SourceImport } from '../source.js'
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
isProductionCore,
|
|
6
|
-
isProductionSource,
|
|
7
|
-
resolveProjectImport,
|
|
8
|
-
type DomainProject,
|
|
9
|
-
} from '../project.js'
|
|
10
|
-
import { analyzerDiagnostic, type AnalyzerRule } from './project-rule.js'
|
|
11
|
-
|
|
12
|
-
const forbiddenPackages = new Set([
|
|
13
|
-
'@astrale-os/adapter-astrale',
|
|
14
|
-
'@astrale-os/adapter-cloudflare',
|
|
15
|
-
'@astrale-os/kernel-api',
|
|
16
|
-
'@astrale-os/kernel-client',
|
|
17
|
-
'@astrale-os/kernel-server',
|
|
18
|
-
'@astrale-os/kernel-test',
|
|
19
|
-
'@astrale-os/sdk',
|
|
20
|
-
'node:child_process',
|
|
21
|
-
'node:cluster',
|
|
22
|
-
'node:dgram',
|
|
23
|
-
'node:dns',
|
|
24
|
-
'node:fs',
|
|
25
|
-
'node:fs/promises',
|
|
26
|
-
'node:http',
|
|
27
|
-
'node:http2',
|
|
28
|
-
'node:https',
|
|
29
|
-
'node:net',
|
|
30
|
-
'node:tls',
|
|
31
|
-
'node:worker_threads',
|
|
32
|
-
])
|
|
33
|
-
|
|
34
|
-
const forbiddenRoots = new Set(['client', 'functions', 'integrations', 'runtime', 'simulation'])
|
|
35
|
-
const forbiddenRootFiles = new Set(['astrale.config.ts', 'deps.ts', 'domain.ts', 'env.ts'])
|
|
36
|
-
|
|
37
|
-
export const coreIsPure: AnalyzerRule = {
|
|
38
|
-
slug: 'core-is-pure',
|
|
39
|
-
analyze(project: DomainProject): readonly LintDiagnostic[] {
|
|
40
|
-
const diagnostics: LintDiagnostic[] = []
|
|
41
|
-
const visited = new Set<string>()
|
|
42
|
-
const pending = project.files.filter((file) => isProductionCore(file.relativePath))
|
|
43
|
-
|
|
44
|
-
while (pending.length > 0) {
|
|
45
|
-
const file = pending.pop()!
|
|
46
|
-
if (visited.has(file.path)) continue
|
|
47
|
-
visited.add(file.path)
|
|
48
|
-
|
|
49
|
-
for (const sourceImport of file.imports) {
|
|
50
|
-
const forbiddenPackage = forbiddenPackageName(sourceImport.specifier)
|
|
51
|
-
if (forbiddenPackage) {
|
|
52
|
-
pushDiagnostic(
|
|
53
|
-
diagnostics,
|
|
54
|
-
this.slug,
|
|
55
|
-
file,
|
|
56
|
-
sourceImport,
|
|
57
|
-
`Import ${forbiddenPackage} crosses the pure-core boundary.`,
|
|
58
|
-
)
|
|
59
|
-
continue
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
const dependency = resolveProjectImport(project, file, sourceImport.specifier)
|
|
63
|
-
if (!dependency || !isProductionSource(dependency.relativePath)) continue
|
|
64
|
-
if (isForbiddenProjectLayer(dependency.relativePath)) {
|
|
65
|
-
pushDiagnostic(
|
|
66
|
-
diagnostics,
|
|
67
|
-
this.slug,
|
|
68
|
-
file,
|
|
69
|
-
sourceImport,
|
|
70
|
-
`Import ${sourceImport.specifier} reaches ${dependency.relativePath}.`,
|
|
71
|
-
)
|
|
72
|
-
continue
|
|
73
|
-
}
|
|
74
|
-
pending.push(dependency)
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return diagnostics
|
|
78
|
-
},
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
function forbiddenPackageName(specifier: string): string | undefined {
|
|
82
|
-
if (forbiddenPackages.has(specifier)) return specifier
|
|
83
|
-
for (const name of forbiddenPackages) {
|
|
84
|
-
if (specifier.startsWith(`${name}/`)) return name
|
|
85
|
-
}
|
|
86
|
-
return undefined
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
function isForbiddenProjectLayer(relativePath: string): boolean {
|
|
90
|
-
const [root] = relativePath.split('/')
|
|
91
|
-
return forbiddenRoots.has(root ?? '') || forbiddenRootFiles.has(relativePath)
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
function pushDiagnostic(
|
|
95
|
-
diagnostics: LintDiagnostic[],
|
|
96
|
-
slug: AnalyzerRule['slug'],
|
|
97
|
-
file: SourceFile,
|
|
98
|
-
sourceImport: SourceImport,
|
|
99
|
-
detail: string,
|
|
100
|
-
): void {
|
|
101
|
-
const diagnostic = analyzerDiagnostic(slug, file, sourceImport.token, detail)
|
|
102
|
-
if (diagnostic) diagnostics.push(diagnostic)
|
|
103
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
// @ts-check
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
callbackCall,
|
|
5
|
-
isProductionFile,
|
|
6
|
-
isStepRun,
|
|
7
|
-
nearestFunction,
|
|
8
|
-
reportUnlessSuppressed,
|
|
9
|
-
} from './oxlint-ast.js'
|
|
10
|
-
|
|
11
|
-
const id = 'astrale/no-nested-steps'
|
|
12
|
-
|
|
13
|
-
/** @type {import('./oxlint-rule.js').OxlintRule} */
|
|
14
|
-
export const noNestedSteps = {
|
|
15
|
-
meta: {
|
|
16
|
-
type: 'problem',
|
|
17
|
-
docs: {
|
|
18
|
-
description: 'A durable step directly contains another durable step.',
|
|
19
|
-
url: 'https://docs.astrale.ai/linter/rules/no-nested-steps',
|
|
20
|
-
},
|
|
21
|
-
messages: {
|
|
22
|
-
nested: 'A step.run callback must not directly invoke another step.run.',
|
|
23
|
-
},
|
|
24
|
-
schema: [],
|
|
25
|
-
},
|
|
26
|
-
create(context) {
|
|
27
|
-
if (!isProductionFile(context)) return {}
|
|
28
|
-
return {
|
|
29
|
-
CallExpression(node) {
|
|
30
|
-
if (!isStepRun(node)) return
|
|
31
|
-
const containingFunction = nearestFunction(node.parent)
|
|
32
|
-
if (!containingFunction || !isStepRun(callbackCall(containingFunction))) return
|
|
33
|
-
reportUnlessSuppressed(context, node, id, 'nested')
|
|
34
|
-
},
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
// @ts-check
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
callbackCall,
|
|
5
|
-
isFunctionNode,
|
|
6
|
-
isMutateCall,
|
|
7
|
-
isProductionFile,
|
|
8
|
-
nearestFunction,
|
|
9
|
-
reportUnlessSuppressed,
|
|
10
|
-
staticMember,
|
|
11
|
-
} from './oxlint-ast.js'
|
|
12
|
-
|
|
13
|
-
const id = 'astrale/no-read-inside-mutate'
|
|
14
|
-
const readMethods = new Set([
|
|
15
|
-
'call',
|
|
16
|
-
'check',
|
|
17
|
-
'children',
|
|
18
|
-
'get',
|
|
19
|
-
'getOrThrow',
|
|
20
|
-
'neighbors',
|
|
21
|
-
'query',
|
|
22
|
-
'refresh',
|
|
23
|
-
'whoami',
|
|
24
|
-
])
|
|
25
|
-
|
|
26
|
-
/** @type {import('./oxlint-rule.js').OxlintRule} */
|
|
27
|
-
export const noReadInsideMutate = {
|
|
28
|
-
meta: {
|
|
29
|
-
type: 'problem',
|
|
30
|
-
docs: {
|
|
31
|
-
description: 'A graph mutation builder performs a read or is asynchronous.',
|
|
32
|
-
url: 'https://docs.astrale.ai/linter/rules/no-read-inside-mutate',
|
|
33
|
-
},
|
|
34
|
-
messages: {
|
|
35
|
-
asyncCallback: 'A kernel.mutate callback must be synchronous.',
|
|
36
|
-
read: 'Read graph state before kernel.mutate; its callback only constructs a patch.',
|
|
37
|
-
},
|
|
38
|
-
schema: [],
|
|
39
|
-
},
|
|
40
|
-
create(context) {
|
|
41
|
-
if (!isProductionFile(context)) return {}
|
|
42
|
-
return {
|
|
43
|
-
CallExpression(node) {
|
|
44
|
-
if (isMutateCall(node)) {
|
|
45
|
-
const callback = node.arguments?.find(isFunctionNode)
|
|
46
|
-
if (callback?.async) {
|
|
47
|
-
reportUnlessSuppressed(context, callback, id, 'asyncCallback')
|
|
48
|
-
}
|
|
49
|
-
return
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
const callback = nearestFunction(node.parent)
|
|
53
|
-
if (!callback || callback.async) return
|
|
54
|
-
const mutate = callbackCall(callback)
|
|
55
|
-
if (!isMutateCall(mutate)) return
|
|
56
|
-
|
|
57
|
-
const mutationMember = staticMember(mutate?.callee)
|
|
58
|
-
const readMember = staticMember(node.callee)
|
|
59
|
-
if (!mutationMember || !readMember || !readMethods.has(readMember.property)) return
|
|
60
|
-
if (!sameKernelRoot(context, mutationMember.object, readMember.object)) return
|
|
61
|
-
reportUnlessSuppressed(context, node, id, 'read')
|
|
62
|
-
},
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/** @param {import('./oxlint-rule.js').OxlintRuleContext} context @param {import('./oxlint-rule.js').AstNode} mutationRoot @param {import('./oxlint-rule.js').AstNode} readRoot */
|
|
68
|
-
function sameKernelRoot(context, mutationRoot, readRoot) {
|
|
69
|
-
const mutationText = context.sourceCode.getText(mutationRoot)
|
|
70
|
-
const readText = context.sourceCode.getText(readRoot)
|
|
71
|
-
return readText === mutationText || readText.startsWith(`${mutationText}.`)
|
|
72
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { LintDiagnostic } from '../diagnostic.js'
|
|
2
|
-
|
|
3
|
-
import { isProductionSource, type DomainProject } from '../project.js'
|
|
4
|
-
import { importedCalls } from '../source.js'
|
|
5
|
-
import { analyzerDiagnostic, type AnalyzerRule } from './project-rule.js'
|
|
6
|
-
|
|
7
|
-
const sdkModules = new Set(['@astrale-os/sdk'])
|
|
8
|
-
const remoteDefinitions = new Set(['defineRemoteFunction', 'remoteMethod'])
|
|
9
|
-
|
|
10
|
-
export const oneRemoteDefinitionPerFile: AnalyzerRule = {
|
|
11
|
-
slug: 'one-remote-definition-per-file',
|
|
12
|
-
analyze(project: DomainProject): readonly LintDiagnostic[] {
|
|
13
|
-
const diagnostics: LintDiagnostic[] = []
|
|
14
|
-
for (const file of project.files) {
|
|
15
|
-
if (!isProductionSource(file.relativePath)) continue
|
|
16
|
-
const definitions = importedCalls(file, sdkModules, remoteDefinitions)
|
|
17
|
-
for (const definition of definitions.slice(1)) {
|
|
18
|
-
const diagnostic = analyzerDiagnostic(
|
|
19
|
-
this.slug,
|
|
20
|
-
file,
|
|
21
|
-
definition,
|
|
22
|
-
`Found ${definitions.length} definitions.`,
|
|
23
|
-
)
|
|
24
|
-
if (diagnostic) diagnostics.push(diagnostic)
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return diagnostics
|
|
28
|
-
},
|
|
29
|
-
}
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
// @ts-check
|
|
2
|
-
|
|
3
|
-
import { relative, sep } from 'node:path'
|
|
4
|
-
|
|
5
|
-
/** @typedef {import('./oxlint-rule.js').AstNode} AstNode */
|
|
6
|
-
/** @typedef {import('./oxlint-rule.js').OxlintRuleContext} OxlintRuleContext */
|
|
7
|
-
/** @typedef {{ object: AstNode, property: string }} StaticMember */
|
|
8
|
-
|
|
9
|
-
/** @param {AstNode | undefined} node @returns {StaticMember | undefined} */
|
|
10
|
-
export function staticMember(node) {
|
|
11
|
-
if (!node || node.type !== 'MemberExpression' || node.computed) return undefined
|
|
12
|
-
if (!node.object || node.property?.type !== 'Identifier' || !node.property.name) return undefined
|
|
13
|
-
return { object: node.object, property: node.property.name }
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
/** @param {AstNode | undefined} node */
|
|
17
|
-
export function isFunctionNode(node) {
|
|
18
|
-
return (
|
|
19
|
-
node?.type === 'ArrowFunctionExpression' ||
|
|
20
|
-
node?.type === 'FunctionDeclaration' ||
|
|
21
|
-
node?.type === 'FunctionExpression'
|
|
22
|
-
)
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/** @param {AstNode | undefined} node @returns {AstNode | undefined} */
|
|
26
|
-
export function nearestFunction(node) {
|
|
27
|
-
let current = node
|
|
28
|
-
while (current) {
|
|
29
|
-
if (isFunctionNode(current)) return current
|
|
30
|
-
current = current.parent
|
|
31
|
-
}
|
|
32
|
-
return undefined
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/** @param {AstNode} callback @returns {AstNode | undefined} */
|
|
36
|
-
export function callbackCall(callback) {
|
|
37
|
-
let current = callback
|
|
38
|
-
while (current.parent && isTransparentWrapper(current.parent)) current = current.parent
|
|
39
|
-
const parent = current.parent
|
|
40
|
-
if (parent?.type !== 'CallExpression' || !parent.arguments?.includes(current)) return undefined
|
|
41
|
-
return parent
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/** @param {AstNode} node */
|
|
45
|
-
function isTransparentWrapper(node) {
|
|
46
|
-
return (
|
|
47
|
-
node.type === 'ChainExpression' ||
|
|
48
|
-
node.type === 'ParenthesizedExpression' ||
|
|
49
|
-
node.type === 'TSAsExpression' ||
|
|
50
|
-
node.type === 'TSNonNullExpression' ||
|
|
51
|
-
node.type === 'TSSatisfiesExpression'
|
|
52
|
-
)
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/** @param {AstNode | undefined} call */
|
|
56
|
-
export function isStepRun(call) {
|
|
57
|
-
if (call?.type !== 'CallExpression') return false
|
|
58
|
-
const member = staticMember(call.callee)
|
|
59
|
-
if (!member || member.property !== 'run') return false
|
|
60
|
-
if (member.object.type === 'Identifier') return member.object.name === 'step'
|
|
61
|
-
return staticMember(member.object)?.property === 'step'
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/** @param {AstNode | undefined} call */
|
|
65
|
-
export function isMutateCall(call) {
|
|
66
|
-
if (call?.type !== 'CallExpression') return false
|
|
67
|
-
const member = staticMember(call.callee)
|
|
68
|
-
if (!member || member.property !== 'mutate') return false
|
|
69
|
-
if (member.object.type === 'Identifier') return member.object.name === 'kernel'
|
|
70
|
-
return staticMember(member.object)?.property === 'kernel'
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/** @param {OxlintRuleContext} context */
|
|
74
|
-
export function relativeFilename(context) {
|
|
75
|
-
const path = relative(context.cwd, context.filename)
|
|
76
|
-
return sep === '/' ? path : path.split(sep).join('/')
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/** @param {OxlintRuleContext} context */
|
|
80
|
-
export function isProductionFile(context) {
|
|
81
|
-
const path = relativeFilename(context)
|
|
82
|
-
return (
|
|
83
|
-
!path.split('/').includes('__tests__') &&
|
|
84
|
-
!/\.(?:test|spec|bench|perf)\.[cm]?[jt]sx?$/.test(path) &&
|
|
85
|
-
!path.includes('.gen.')
|
|
86
|
-
)
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/** @param {OxlintRuleContext} context */
|
|
90
|
-
export function isProductionCoreFile(context) {
|
|
91
|
-
const path = relativeFilename(context)
|
|
92
|
-
return (path === 'core' || path.startsWith('core/')) && isProductionFile(context)
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/** @param {OxlintRuleContext} context @param {AstNode} node @param {string} id @param {string} messageId */
|
|
96
|
-
export function reportUnlessSuppressed(context, node, id, messageId) {
|
|
97
|
-
if (isSuppressed(context, node, id)) return
|
|
98
|
-
context.report({ node, messageId })
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/** @param {OxlintRuleContext} context @param {AstNode} node @param {string} id */
|
|
102
|
-
function isSuppressed(context, node, id) {
|
|
103
|
-
const line = context.sourceCode.getLoc(node).start.line
|
|
104
|
-
if (line <= 1) return false
|
|
105
|
-
const previous = context.sourceCode.text.split(/\r?\n/)[line - 2]
|
|
106
|
-
const match = previous
|
|
107
|
-
? /^\s*\/\/\s*astrale-disable-next-line\s+(.+?)\s+--\s+\S.*$/.exec(previous)
|
|
108
|
-
: null
|
|
109
|
-
return match ? match[1].split(/[\s,]+/).includes(id) : false
|
|
110
|
-
}
|