@astrale-os/sdk 0.4.19 → 0.5.0-beta.10
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 +55 -4
- 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 +23 -77
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +176 -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 +50 -0
- package/dist/deployment/artifact/deployment.d.ts.map +1 -0
- package/dist/deployment/artifact/deployment.js +124 -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 +9 -0
- package/dist/deployment/check/check.d.ts.map +1 -0
- package/dist/deployment/check/check.js +96 -0
- package/dist/deployment/check/check.js.map +1 -0
- package/dist/deployment/check/contract.d.ts +34 -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 +59 -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/error.d.ts +30 -0
- package/dist/invocation/error.d.ts.map +1 -0
- package/dist/invocation/error.js +62 -0
- package/dist/invocation/error.js.map +1 -0
- package/dist/invocation/handler.d.ts +51 -0
- package/dist/invocation/handler.d.ts.map +1 -0
- package/dist/invocation/handler.js +281 -0
- package/dist/invocation/handler.js.map +1 -0
- package/dist/invocation/index.d.ts +5 -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 +142 -0
- package/dist/invocation/result.js.map +1 -0
- package/dist/invocation/selection.d.ts +27 -0
- package/dist/invocation/selection.d.ts.map +1 -0
- package/dist/invocation/selection.js +100 -0
- package/dist/invocation/selection.js.map +1 -0
- package/dist/invocation/target.d.ts +10 -0
- package/dist/invocation/target.d.ts.map +1 -0
- package/dist/invocation/target.js +48 -0
- package/dist/invocation/target.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 +814 -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 +32 -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 +8 -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 +59 -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 +258 -0
- package/dist/linter/policy/compile.js.map +1 -0
- package/dist/linter/policy/configuration.d.ts +12 -0
- package/dist/linter/policy/configuration.d.ts.map +1 -0
- package/dist/linter/policy/configuration.js +119 -0
- package/dist/linter/policy/configuration.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 +776 -0
- package/dist/linter/policy/generated.js.map +1 -0
- package/dist/linter/policy/index.d.ts +45 -0
- package/dist/linter/policy/index.d.ts.map +1 -0
- package/dist/linter/policy/index.js +4 -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 +166 -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/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 +128 -0
- package/dist/server/application.js.map +1 -0
- package/dist/server/index.d.ts +5 -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 +57 -0
- package/dist/server/remote.d.ts.map +1 -0
- package/dist/server/remote.js +795 -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 +40 -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 +186 -0
- package/dist/view/compile.js.map +1 -0
- package/dist/view/define.d.ts +11 -0
- package/dist/view/define.d.ts.map +1 -0
- package/dist/view/define.js +173 -0
- package/dist/view/define.js.map +1 -0
- package/dist/view/definition.d.ts +89 -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 +122 -27
- 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/README.md
CHANGED
|
@@ -1,21 +1,44 @@
|
|
|
1
1
|
# SDK
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Schema-first SDK for defining, composing, and deploying Astrale Domains. The public authoring
|
|
4
|
+
surface covers Domain handlers, provider-neutral Capabilities, Workflows, Query, Mutation, State,
|
|
5
|
+
and deployment adapters without coupling business code to one host runtime.
|
|
4
6
|
|
|
5
7
|
[](https://github.com/astrale-os/sdk/actions/workflows/ci.yml)
|
|
6
|
-
[](https://www.apache.org/licenses/LICENSE-2.0)
|
|
7
9
|
|
|
8
10
|
## Install
|
|
9
11
|
|
|
12
|
+
Configure the Astrale scope for GitHub Packages and provide a token with `read:packages`; the SDK's
|
|
13
|
+
Kernel dependencies are intentionally distributed there:
|
|
14
|
+
|
|
15
|
+
```ini
|
|
16
|
+
# ~/.npmrc
|
|
17
|
+
registry=https://registry.npmjs.org/
|
|
18
|
+
@astrale-os:registry=https://npm.pkg.github.com/
|
|
19
|
+
//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}
|
|
20
|
+
```
|
|
21
|
+
|
|
10
22
|
```bash
|
|
23
|
+
export NODE_AUTH_TOKEN="$(gh auth token)"
|
|
11
24
|
npm install @astrale-os/sdk
|
|
12
25
|
```
|
|
13
26
|
|
|
27
|
+
During the beta program, opt in explicitly:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install @astrale-os/sdk@beta
|
|
31
|
+
npx -y create-astrale-domain@beta my-domain --yes
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
See [the release lifecycle](docs/release.md) for package-cohort versioning, verification, and stable
|
|
35
|
+
promotion.
|
|
36
|
+
|
|
14
37
|
## Development
|
|
15
38
|
|
|
16
39
|
### Prerequisites
|
|
17
40
|
|
|
18
|
-
- Node.js
|
|
41
|
+
- Node.js 26.7.0 (default) or Node.js 24; published packages remain compatible with Node.js 22+
|
|
19
42
|
- pnpm 11.13.1
|
|
20
43
|
|
|
21
44
|
### Setup
|
|
@@ -35,8 +58,36 @@ pnpm typecheck # Type check
|
|
|
35
58
|
pnpm test # Run tests
|
|
36
59
|
pnpm lint # Lint
|
|
37
60
|
pnpm format # Format
|
|
61
|
+
pnpm check:knowledge # Validate the canonical Domain authoring knowledge
|
|
62
|
+
pnpm check:issues # Validate structured cross-repository issues
|
|
38
63
|
```
|
|
39
64
|
|
|
65
|
+
The structured [Domain authoring knowledge](knowledge/README.md) is the source for contributor
|
|
66
|
+
guidance and the generated linter policy.
|
|
67
|
+
|
|
68
|
+
### Domain lint layout overrides
|
|
69
|
+
|
|
70
|
+
`astrale-domain lint` defaults to the canonical layer roots and aliases, including `functions/`,
|
|
71
|
+
`#functions`, and `#functions/*`. A Domain that uses different physical vocabulary can remap a
|
|
72
|
+
semantic layer in `astrale.lint.json` without changing the rules attached to that layer:
|
|
73
|
+
|
|
74
|
+
```json
|
|
75
|
+
{
|
|
76
|
+
"layers": {
|
|
77
|
+
"functions": {
|
|
78
|
+
"sourcePath": "actions/",
|
|
79
|
+
"alias": "#actions"
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
The linter then expects `actions/`, `#actions`, and `#actions/*` in the source tree,
|
|
86
|
+
`compilerOptions.paths`, and `package.json#imports`. Omit the file to keep the canonical defaults.
|
|
87
|
+
|
|
88
|
+
Structured review [issues](issues/README.md) retain observation-first evidence and later governance
|
|
89
|
+
attachments without becoming current contract authority.
|
|
90
|
+
|
|
40
91
|
## License
|
|
41
92
|
|
|
42
|
-
|
|
93
|
+
Apache License 2.0 — see [LICENSE](LICENSE) for details.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { issuer } from '@astrale-os/kernel-protocol';
|
|
2
|
+
/** SDK facade for the standard Domain token-exchange discovery and wire contract. */
|
|
3
|
+
export declare const paths: typeof issuer.paths;
|
|
4
|
+
export declare const acceptConfiguration: typeof issuer.acceptConfiguration;
|
|
5
|
+
export declare const MEDIA_TYPE: "application/vnd.astrale+json";
|
|
6
|
+
export declare const acceptResponse: typeof issuer.exchange.acceptResponse;
|
|
7
|
+
export declare const acceptErrorResponse: typeof issuer.exchange.acceptErrorResponse;
|
|
8
|
+
export type Configuration = issuer.Configuration;
|
|
9
|
+
export type Response = issuer.exchange.Response;
|
|
10
|
+
export type ErrorResponse = issuer.exchange.ErrorResponse;
|
|
11
|
+
//# sourceMappingURL=exchange.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exchange.d.ts","sourceRoot":"","sources":["../../src/auth/exchange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AAEpD,qFAAqF;AACrF,eAAO,MAAM,KAAK,qBAAe,CAAA;AACjC,eAAO,MAAM,mBAAmB,mCAA6B,CAAA;AAC7D,eAAO,MAAM,UAAU,gCAA6B,CAAA;AACpD,eAAO,MAAM,cAAc,uCAAiC,CAAA;AAC5D,eAAO,MAAM,mBAAmB,4CAAsC,CAAA;AAEtE,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;AAChD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAA;AAC/C,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { issuer } from '@astrale-os/kernel-protocol';
|
|
2
|
+
/** SDK facade for the standard Domain token-exchange discovery and wire contract. */
|
|
3
|
+
export const paths = issuer.paths;
|
|
4
|
+
export const acceptConfiguration = issuer.acceptConfiguration;
|
|
5
|
+
export const MEDIA_TYPE = issuer.exchange.MEDIA_TYPE;
|
|
6
|
+
export const acceptResponse = issuer.exchange.acceptResponse;
|
|
7
|
+
export const acceptErrorResponse = issuer.exchange.acceptErrorResponse;
|
|
8
|
+
//# sourceMappingURL=exchange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exchange.js","sourceRoot":"","sources":["../../src/auth/exchange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AAEpD,qFAAqF;AACrF,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;AACjC,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAA;AAC7D,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAA;AACpD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAA;AAC5D,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAA"}
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -1,16 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export type {
|
|
4
|
-
export
|
|
5
|
-
export { resolveInboundAuth, buildAuthContext, type ResolvedAuth } from './resolve.js';
|
|
6
|
-
export { verifyInboundCredential } from './verify.js';
|
|
7
|
-
export { buildComposedGrant } from './compose.js';
|
|
8
|
-
export { signCredential } from './sign.js';
|
|
9
|
-
export { makeDomainAuthority } from './issuer-mint.js';
|
|
10
|
-
export type { DomainAuthority, MintIssuedParams } from './issuer-mint.js';
|
|
11
|
-
export { makeFunctionContext } from './function-context.js';
|
|
12
|
-
export type { FunctionContextApi, FunctionCredentialOptions, FunctionKernelOptions, } from './function-context.js';
|
|
13
|
-
export { bindKernel } from './kernel-client.js';
|
|
14
|
-
export { AuthMissingError, AuthInvalidError } from './errors.js';
|
|
15
|
-
export { assertPerm, requireOwnership, READ, EDIT, USE, SHARE, ALL } from './check.js';
|
|
1
|
+
/** Authentication values and the caller-bound observation API used by Domain authors. */
|
|
2
|
+
export * from '@astrale-os/kernel-core/auth';
|
|
3
|
+
export type { AuthApi } from '@astrale-os/kernel-client/auth';
|
|
4
|
+
export * as exchange from './exchange.js';
|
|
16
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/auth/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,cAAc,8BAA8B,CAAA;AAC5C,YAAY,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAC7D,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA"}
|
package/dist/auth/index.js
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export { buildComposedGrant } from './compose.js';
|
|
5
|
-
export { signCredential } from './sign.js';
|
|
6
|
-
export { makeDomainAuthority } from './issuer-mint.js';
|
|
7
|
-
export { makeFunctionContext } from './function-context.js';
|
|
8
|
-
export { bindKernel } from './kernel-client.js';
|
|
9
|
-
export { AuthMissingError, AuthInvalidError } from './errors.js';
|
|
10
|
-
export { assertPerm, requireOwnership, READ, EDIT, USE, SHARE, ALL } from './check.js';
|
|
1
|
+
/** Authentication values and the caller-bound observation API used by Domain authors. */
|
|
2
|
+
export * from '@astrale-os/kernel-core/auth';
|
|
3
|
+
export * as exchange from './exchange.js';
|
|
11
4
|
//# sourceMappingURL=index.js.map
|
package/dist/auth/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,cAAc,8BAA8B,CAAA;AAE5C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { CapabilityClients, CapabilityProviders, CapabilityReplayDecision, CapabilityRequirements } from './contract.js';
|
|
2
|
+
export interface CapabilityCallCoordinates {
|
|
3
|
+
readonly callId: string;
|
|
4
|
+
readonly signal: AbortSignal;
|
|
5
|
+
readonly deadline: number;
|
|
6
|
+
}
|
|
7
|
+
export interface CapabilityAttempt<Output> {
|
|
8
|
+
readonly capability: string;
|
|
9
|
+
readonly operation: string;
|
|
10
|
+
readonly replay: CapabilityReplayDecision;
|
|
11
|
+
attempt(coordinates: CapabilityCallCoordinates): Promise<Output>;
|
|
12
|
+
}
|
|
13
|
+
export interface CapabilityInvocationOwner {
|
|
14
|
+
invoke<Output>(call: CapabilityAttempt<Output>): Promise<Output>;
|
|
15
|
+
}
|
|
16
|
+
export interface CapabilityClientFactory<Requirements extends CapabilityRequirements> {
|
|
17
|
+
(owner: CapabilityInvocationOwner): CapabilityClients<Requirements>;
|
|
18
|
+
}
|
|
19
|
+
/** SDK-internal admission and immutable capture of one exact requirement map. */
|
|
20
|
+
export declare function captureCapabilityRequirements<Requirements extends CapabilityRequirements>(requirements: Requirements): Requirements;
|
|
21
|
+
/** SDK-internal validation of exact providers before request handling begins. */
|
|
22
|
+
export declare function bindCapabilityProviders<Requirements extends CapabilityRequirements>(requirements: Requirements, providers: CapabilityProviders<Requirements>): CapabilityClientFactory<Requirements>;
|
|
23
|
+
/** SDK-internal construction of invocation-scoped clients from exact provider bindings. */
|
|
24
|
+
export declare function createCapabilityClients<Requirements extends CapabilityRequirements>(requirements: Requirements, providers: CapabilityProviders<Requirements>, owner: CapabilityInvocationOwner): CapabilityClients<Requirements>;
|
|
25
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/capability/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAEjB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,eAAe,CAAA;AAItB,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,iBAAiB,CAAC,MAAM;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAA;IACzC,OAAO,CAAC,WAAW,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACjE;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACjE;AAED,MAAM,WAAW,uBAAuB,CAAC,YAAY,SAAS,sBAAsB;IAClF,CAAC,KAAK,EAAE,yBAAyB,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAA;CACpE;AAED,iFAAiF;AACjF,wBAAgB,6BAA6B,CAAC,YAAY,SAAS,sBAAsB,EACvF,YAAY,EAAE,YAAY,GACzB,YAAY,CAYd;AAED,iFAAiF;AACjF,wBAAgB,uBAAuB,CAAC,YAAY,SAAS,sBAAsB,EACjF,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,mBAAmB,CAAC,YAAY,CAAC,GAC3C,uBAAuB,CAAC,YAAY,CAAC,CAkBvC;AAED,2FAA2F;AAC3F,wBAAgB,uBAAuB,CAAC,YAAY,SAAS,sBAAsB,EACjF,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,mBAAmB,CAAC,YAAY,CAAC,EAC5C,KAAK,EAAE,yBAAyB,GAC/B,iBAAiB,CAAC,YAAY,CAAC,CAEjC"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { requireCapabilityDefinition, requireProviderBinding, resolveReplay } from './define.js';
|
|
2
|
+
/** SDK-internal admission and immutable capture of one exact requirement map. */
|
|
3
|
+
export function captureCapabilityRequirements(requirements) {
|
|
4
|
+
const source = acceptMap(requirements, 'Capability requirements');
|
|
5
|
+
const names = ownStringKeys(source, 'Capability requirements');
|
|
6
|
+
const captured = Object.create(null);
|
|
7
|
+
for (const name of names) {
|
|
8
|
+
captured[name] = requireCapabilityDefinition(ownDataValue(source, name, 'Capability requirements'));
|
|
9
|
+
}
|
|
10
|
+
return Object.freeze(captured);
|
|
11
|
+
}
|
|
12
|
+
/** SDK-internal validation of exact providers before request handling begins. */
|
|
13
|
+
export function bindCapabilityProviders(requirements, providers) {
|
|
14
|
+
const required = captureCapabilityRequirements(requirements);
|
|
15
|
+
const supplied = acceptMap(providers, 'Capability providers');
|
|
16
|
+
const names = ownStringKeys(required, 'Capability requirements');
|
|
17
|
+
exactKeys(supplied, names, 'Capability providers');
|
|
18
|
+
const bindings = names.map((name) => {
|
|
19
|
+
const definition = requireCapabilityDefinition(ownDataValue(required, name, 'Capability requirements'));
|
|
20
|
+
const binding = requireProviderBinding(ownDataValue(supplied, name, 'Capability providers'));
|
|
21
|
+
if (binding.capability !== definition) {
|
|
22
|
+
throw new TypeError(`Capability provider ${name} implements a different definition.`);
|
|
23
|
+
}
|
|
24
|
+
return Object.freeze({ name, definition, binding });
|
|
25
|
+
});
|
|
26
|
+
return (owner) => createBoundCapabilityClients(bindings, owner);
|
|
27
|
+
}
|
|
28
|
+
/** SDK-internal construction of invocation-scoped clients from exact provider bindings. */
|
|
29
|
+
export function createCapabilityClients(requirements, providers, owner) {
|
|
30
|
+
return bindCapabilityProviders(requirements, providers)(owner);
|
|
31
|
+
}
|
|
32
|
+
function createBoundCapabilityClients(bindings, owner) {
|
|
33
|
+
if (owner === null ||
|
|
34
|
+
typeof owner !== 'object' ||
|
|
35
|
+
Array.isArray(owner) ||
|
|
36
|
+
typeof ownDataValue(owner, 'invoke', 'Capability invocation owner') !== 'function') {
|
|
37
|
+
throw new TypeError('Capability invocation owner is invalid.');
|
|
38
|
+
}
|
|
39
|
+
const invoke = ownDataValue(owner, 'invoke', 'Capability invocation owner').bind(owner);
|
|
40
|
+
const clients = Object.create(null);
|
|
41
|
+
for (const { name, definition, binding } of bindings) {
|
|
42
|
+
const operations = Object.create(null);
|
|
43
|
+
for (const operationName of Object.keys(definition.operations)) {
|
|
44
|
+
const operation = definition.operations[operationName];
|
|
45
|
+
const implementation = binding.implementation[operationName];
|
|
46
|
+
operations[operationName] = async (...input) => {
|
|
47
|
+
if (input.length > 1) {
|
|
48
|
+
throw new TypeError('Capability operations accept at most one semantic input value.');
|
|
49
|
+
}
|
|
50
|
+
const value = input[0];
|
|
51
|
+
const replay = resolveReplay(operation, value);
|
|
52
|
+
let attempts = 0;
|
|
53
|
+
let callId;
|
|
54
|
+
let active = true;
|
|
55
|
+
try {
|
|
56
|
+
return await invoke({
|
|
57
|
+
capability: definition.id,
|
|
58
|
+
operation: operationName,
|
|
59
|
+
replay,
|
|
60
|
+
async attempt(coordinates) {
|
|
61
|
+
if (!active) {
|
|
62
|
+
throw new TypeError('Settled Capability operation cannot be attempted again.');
|
|
63
|
+
}
|
|
64
|
+
if (replay.kind === 'unsafe' && attempts > 0) {
|
|
65
|
+
throw new TypeError('Unsafe Capability operation cannot be attempted again.');
|
|
66
|
+
}
|
|
67
|
+
const accepted = acceptCoordinates(coordinates);
|
|
68
|
+
attempts += 1;
|
|
69
|
+
if (callId === undefined)
|
|
70
|
+
callId = accepted.callId;
|
|
71
|
+
else if (accepted.callId !== callId) {
|
|
72
|
+
throw new TypeError('Capability replay must retain the logical call id.');
|
|
73
|
+
}
|
|
74
|
+
const execution = executionFor(accepted, replay);
|
|
75
|
+
return input.length === 0
|
|
76
|
+
? Reflect.apply(implementation, undefined, [execution])
|
|
77
|
+
: Reflect.apply(implementation, undefined, [value, execution]);
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
finally {
|
|
82
|
+
active = false;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
clients[name] = Object.freeze(operations);
|
|
87
|
+
}
|
|
88
|
+
return Object.freeze(clients);
|
|
89
|
+
}
|
|
90
|
+
function executionFor(coordinates, replay) {
|
|
91
|
+
const idempotencyKey = replay.kind !== 'keyed'
|
|
92
|
+
? undefined
|
|
93
|
+
: replay.source === 'execution'
|
|
94
|
+
? coordinates.callId
|
|
95
|
+
: replay.key;
|
|
96
|
+
return Object.freeze({
|
|
97
|
+
callId: coordinates.callId,
|
|
98
|
+
signal: coordinates.signal,
|
|
99
|
+
deadline: coordinates.deadline,
|
|
100
|
+
...(idempotencyKey === undefined ? {} : { idempotencyKey }),
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
function acceptCoordinates(input) {
|
|
104
|
+
const coordinates = acceptMap(input, 'Capability call coordinates');
|
|
105
|
+
exactKeys(coordinates, ['callId', 'signal', 'deadline'], 'Capability call coordinates');
|
|
106
|
+
const callId = ownDataValue(coordinates, 'callId', 'Capability call coordinates');
|
|
107
|
+
const signal = ownDataValue(coordinates, 'signal', 'Capability call coordinates');
|
|
108
|
+
const deadline = ownDataValue(coordinates, 'deadline', 'Capability call coordinates');
|
|
109
|
+
if (typeof callId !== 'string' || callId.length === 0 || callId.trim() !== callId) {
|
|
110
|
+
throw new TypeError('Capability call id must be a non-empty stable string.');
|
|
111
|
+
}
|
|
112
|
+
if (!(signal instanceof AbortSignal)) {
|
|
113
|
+
throw new TypeError('Capability call signal must be an AbortSignal.');
|
|
114
|
+
}
|
|
115
|
+
if (typeof deadline !== 'number' || !Number.isFinite(deadline)) {
|
|
116
|
+
throw new TypeError('Capability call deadline must be a finite number.');
|
|
117
|
+
}
|
|
118
|
+
return { callId, signal, deadline };
|
|
119
|
+
}
|
|
120
|
+
function acceptMap(input, label) {
|
|
121
|
+
if (input === null || typeof input !== 'object' || Array.isArray(input)) {
|
|
122
|
+
throw new TypeError(`${label} must be an object.`);
|
|
123
|
+
}
|
|
124
|
+
return input;
|
|
125
|
+
}
|
|
126
|
+
function exactKeys(input, expected, label) {
|
|
127
|
+
const actual = ownStringKeys(input, label);
|
|
128
|
+
const expectedSet = new Set(expected);
|
|
129
|
+
if (actual.length === expected.length && actual.every((key) => expectedSet.has(key)))
|
|
130
|
+
return;
|
|
131
|
+
throw new TypeError(`${label} must contain exactly: ${expected.join(', ') || '(none)'}.`);
|
|
132
|
+
}
|
|
133
|
+
function ownStringKeys(input, label) {
|
|
134
|
+
const keys = Reflect.ownKeys(input);
|
|
135
|
+
if (keys.some((key) => typeof key !== 'string')) {
|
|
136
|
+
throw new TypeError(`${label} cannot contain symbol fields.`);
|
|
137
|
+
}
|
|
138
|
+
return keys;
|
|
139
|
+
}
|
|
140
|
+
function ownDataValue(input, key, label) {
|
|
141
|
+
const descriptor = Object.getOwnPropertyDescriptor(input, key);
|
|
142
|
+
if (descriptor === undefined || !Object.hasOwn(descriptor, 'value')) {
|
|
143
|
+
throw new TypeError(`${label}.${key} must be a data field.`);
|
|
144
|
+
}
|
|
145
|
+
return descriptor.value;
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/capability/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
declare const capabilityDefinition: unique symbol;
|
|
2
|
+
declare const capabilityOperation: unique symbol;
|
|
3
|
+
declare const capabilityProvider: unique symbol;
|
|
4
|
+
export type CapabilityReplayDecision = {
|
|
5
|
+
readonly kind: 'safe';
|
|
6
|
+
} | {
|
|
7
|
+
readonly kind: 'keyed';
|
|
8
|
+
readonly source: 'execution';
|
|
9
|
+
} | {
|
|
10
|
+
readonly kind: 'keyed';
|
|
11
|
+
readonly source: 'input';
|
|
12
|
+
readonly key: string;
|
|
13
|
+
} | {
|
|
14
|
+
readonly kind: 'unsafe';
|
|
15
|
+
};
|
|
16
|
+
export type CapabilityReplay<Input> = CapabilityReplayDecision | ((input: Input) => CapabilityReplayDecision);
|
|
17
|
+
export interface CapabilityExecution {
|
|
18
|
+
readonly callId: string;
|
|
19
|
+
readonly signal: AbortSignal;
|
|
20
|
+
readonly deadline: number;
|
|
21
|
+
readonly idempotencyKey?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface CapabilityOperation<Input = unknown, Output = unknown> {
|
|
24
|
+
readonly replay: CapabilityReplay<Input>;
|
|
25
|
+
readonly [capabilityOperation]: Readonly<{
|
|
26
|
+
input: Input;
|
|
27
|
+
output: Output;
|
|
28
|
+
}>;
|
|
29
|
+
}
|
|
30
|
+
export type CapabilityOperations = Readonly<Record<string, CapabilityOperation<any, any>>>;
|
|
31
|
+
export interface CapabilityDefinition<Id extends string = string, Operations extends CapabilityOperations = CapabilityOperations> {
|
|
32
|
+
readonly kind: 'capability';
|
|
33
|
+
readonly id: Id;
|
|
34
|
+
readonly operations: Operations;
|
|
35
|
+
readonly [capabilityDefinition]: Readonly<{
|
|
36
|
+
id: Id;
|
|
37
|
+
operations: Operations;
|
|
38
|
+
}>;
|
|
39
|
+
}
|
|
40
|
+
export type CapabilityInput<Operation> = Operation extends CapabilityOperation<infer Input, any> ? Input : never;
|
|
41
|
+
export type CapabilityOutput<Operation> = Operation extends CapabilityOperation<any, infer Output> ? Output : never;
|
|
42
|
+
export type CapabilityClient<Definition extends CapabilityDefinition<any, any>> = Readonly<{
|
|
43
|
+
[Name in keyof Definition['operations']]: Definition['operations'][Name] extends CapabilityOperation<infer Input, infer Output> ? [Input] extends [void] ? () => Promise<Output> : (input: Input) => Promise<Output> : never;
|
|
44
|
+
}>;
|
|
45
|
+
export type CapabilityImplementation<Definition extends CapabilityDefinition<any, any>> = Readonly<{
|
|
46
|
+
[Name in keyof Definition['operations']]: Definition['operations'][Name] extends CapabilityOperation<infer Input, infer Output> ? [Input] extends [void] ? (execution: CapabilityExecution) => Promise<Output> : (input: Input, execution: CapabilityExecution) => Promise<Output> : never;
|
|
47
|
+
}>;
|
|
48
|
+
export interface CapabilityProvider<Definition extends CapabilityDefinition<any, any>> {
|
|
49
|
+
readonly capability: Definition;
|
|
50
|
+
readonly [capabilityProvider]: Definition;
|
|
51
|
+
}
|
|
52
|
+
export type CapabilityRequirements = Readonly<Record<string, CapabilityDefinition<any, any>>>;
|
|
53
|
+
export type CapabilityClients<Requirements extends CapabilityRequirements> = Readonly<{
|
|
54
|
+
[Name in keyof Requirements]: CapabilityClient<Requirements[Name]>;
|
|
55
|
+
}>;
|
|
56
|
+
export type CapabilityProviders<Requirements extends CapabilityRequirements> = Readonly<{
|
|
57
|
+
[Name in keyof Requirements]: CapabilityProvider<Requirements[Name]>;
|
|
58
|
+
}>;
|
|
59
|
+
export interface DefineCapability {
|
|
60
|
+
<Id extends string, Operations extends CapabilityOperations>(input: Readonly<{
|
|
61
|
+
id: Id;
|
|
62
|
+
operations: Operations;
|
|
63
|
+
}>): CapabilityDefinition<Id, Operations>;
|
|
64
|
+
operation<Input = void, Output = void>(input: Readonly<{
|
|
65
|
+
replay: CapabilityReplay<Input>;
|
|
66
|
+
}>): CapabilityOperation<Input, Output>;
|
|
67
|
+
implement<Definition extends CapabilityDefinition>(definition: Definition, implementation: CapabilityImplementation<Definition>): CapabilityProvider<Definition>;
|
|
68
|
+
}
|
|
69
|
+
export {};
|
|
70
|
+
//# sourceMappingURL=contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/capability/contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/capability/contract.ts"],"names":[],"mappings":"AAAA,wHAAwH"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CapabilityDefinition, CapabilityOperation, CapabilityOperations, CapabilityReplayDecision, DefineCapability } from './contract.js';
|
|
2
|
+
type RuntimeOperation = CapabilityOperation<unknown, unknown>;
|
|
3
|
+
type RuntimeDefinition = CapabilityDefinition<string, CapabilityOperations>;
|
|
4
|
+
type RuntimeImplementation = Readonly<Record<string, (...input: readonly unknown[]) => unknown>>;
|
|
5
|
+
export interface ProviderBinding {
|
|
6
|
+
readonly capability: RuntimeDefinition;
|
|
7
|
+
readonly implementation: RuntimeImplementation;
|
|
8
|
+
}
|
|
9
|
+
export declare const defineCapability: DefineCapability;
|
|
10
|
+
export declare function requireCapabilityDefinition(input: unknown): RuntimeDefinition;
|
|
11
|
+
export declare function requireProviderBinding(input: unknown): ProviderBinding;
|
|
12
|
+
export declare function resolveReplay(operation: RuntimeOperation, input: unknown): CapabilityReplayDecision;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=define.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/capability/define.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EAEpB,mBAAmB,EACnB,oBAAoB,EAGpB,wBAAwB,EACxB,gBAAgB,EACjB,MAAM,eAAe,CAAA;AAEtB,KAAK,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAC7D,KAAK,iBAAiB,GAAG,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;AAC3E,KAAK,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE,SAAS,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC,CAAA;AAEhG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAA;IACtC,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAA;CAC/C;AA0FD,eAAO,MAAM,gBAAgB,EAKxB,gBAAgB,CAAA;AAErB,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAK7E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAKtE;AAED,wBAAgB,aAAa,CAC3B,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,OAAO,GACb,wBAAwB,CAM1B"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/* oxlint-disable typescript/no-explicit-any -- implementation must exactly realize the public heterogeneous contract */
|
|
2
|
+
const operations = new WeakSet();
|
|
3
|
+
const definitions = new WeakSet();
|
|
4
|
+
const providers = new WeakMap();
|
|
5
|
+
function capability(input) {
|
|
6
|
+
const definition = acceptRecord(input, 'Capability definition');
|
|
7
|
+
exactKeys(definition, ['id', 'operations'], 'Capability definition');
|
|
8
|
+
const id = ownDataValue(definition, 'id', 'Capability definition');
|
|
9
|
+
acceptStableText(id, 'Capability id');
|
|
10
|
+
const authoredOperations = acceptRecord(ownDataValue(definition, 'operations', 'Capability definition'), 'Capability operations');
|
|
11
|
+
const names = ownStringKeys(authoredOperations, 'Capability operations');
|
|
12
|
+
if (names.length === 0)
|
|
13
|
+
throw new TypeError('Capability must declare at least one operation.');
|
|
14
|
+
const retained = Object.create(null);
|
|
15
|
+
for (const name of names) {
|
|
16
|
+
acceptStableText(name, 'Capability operation name');
|
|
17
|
+
const authored = ownDataValue(authoredOperations, name, 'Capability operations');
|
|
18
|
+
if (!isObject(authored) || !operations.has(authored)) {
|
|
19
|
+
throw new TypeError(`Capability operation ${name} must be created by defineCapability.operation.`);
|
|
20
|
+
}
|
|
21
|
+
retained[name] = authored;
|
|
22
|
+
}
|
|
23
|
+
const result = Object.freeze({
|
|
24
|
+
kind: 'capability',
|
|
25
|
+
id,
|
|
26
|
+
operations: Object.freeze(retained),
|
|
27
|
+
});
|
|
28
|
+
definitions.add(result);
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
function operation(input) {
|
|
32
|
+
const descriptor = acceptRecord(input, 'Capability operation');
|
|
33
|
+
exactKeys(descriptor, ['replay'], 'Capability operation');
|
|
34
|
+
const authoredReplay = ownDataValue(descriptor, 'replay', 'Capability operation');
|
|
35
|
+
const replay = typeof authoredReplay === 'function'
|
|
36
|
+
? authoredReplay
|
|
37
|
+
: acceptReplayDecision(authoredReplay);
|
|
38
|
+
const result = Object.freeze({ replay });
|
|
39
|
+
operations.add(result);
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
42
|
+
function implement(definition, implementation) {
|
|
43
|
+
if (!isObject(definition) || !definitions.has(definition)) {
|
|
44
|
+
throw new TypeError('Capability provider requires a definition created by defineCapability.');
|
|
45
|
+
}
|
|
46
|
+
const source = acceptRecord(implementation, 'Capability implementation');
|
|
47
|
+
const names = Object.keys(definition.operations);
|
|
48
|
+
exactKeys(source, names, 'Capability implementation');
|
|
49
|
+
const retained = Object.create(null);
|
|
50
|
+
for (const name of names) {
|
|
51
|
+
const candidate = ownDataValue(source, name, 'Capability implementation');
|
|
52
|
+
if (typeof candidate !== 'function') {
|
|
53
|
+
throw new TypeError(`Capability implementation ${name} must be a function.`);
|
|
54
|
+
}
|
|
55
|
+
retained[name] = candidate;
|
|
56
|
+
}
|
|
57
|
+
const provider = Object.freeze({ capability: definition });
|
|
58
|
+
providers.set(provider, Object.freeze({
|
|
59
|
+
capability: definition,
|
|
60
|
+
implementation: Object.freeze(retained),
|
|
61
|
+
}));
|
|
62
|
+
return provider;
|
|
63
|
+
}
|
|
64
|
+
export const defineCapability = Object.assign((input) => capability(input), { operation, implement });
|
|
65
|
+
export function requireCapabilityDefinition(input) {
|
|
66
|
+
if (!isObject(input) || !definitions.has(input)) {
|
|
67
|
+
throw new TypeError('Capability requirement must be created by defineCapability.');
|
|
68
|
+
}
|
|
69
|
+
return input;
|
|
70
|
+
}
|
|
71
|
+
export function requireProviderBinding(input) {
|
|
72
|
+
if (!isObject(input))
|
|
73
|
+
throw new TypeError('Capability provider is invalid.');
|
|
74
|
+
const binding = providers.get(input);
|
|
75
|
+
if (binding === undefined)
|
|
76
|
+
throw new TypeError('Capability provider is invalid.');
|
|
77
|
+
return binding;
|
|
78
|
+
}
|
|
79
|
+
export function resolveReplay(operation, input) {
|
|
80
|
+
const authored = typeof operation.replay === 'function'
|
|
81
|
+
? Reflect.apply(operation.replay, undefined, [input])
|
|
82
|
+
: operation.replay;
|
|
83
|
+
return acceptReplayDecision(authored);
|
|
84
|
+
}
|
|
85
|
+
function acceptReplayDecision(input) {
|
|
86
|
+
const decision = acceptRecord(input, 'Capability replay decision');
|
|
87
|
+
const kind = decision.kind;
|
|
88
|
+
if (kind === 'safe' || kind === 'unsafe') {
|
|
89
|
+
exactKeys(decision, ['kind'], 'Capability replay decision');
|
|
90
|
+
return Object.freeze({ kind });
|
|
91
|
+
}
|
|
92
|
+
if (kind !== 'keyed') {
|
|
93
|
+
throw new TypeError('Capability replay kind must be safe, keyed, or unsafe.');
|
|
94
|
+
}
|
|
95
|
+
if (decision.source === 'execution') {
|
|
96
|
+
exactKeys(decision, ['kind', 'source'], 'Capability replay decision');
|
|
97
|
+
return Object.freeze({ kind, source: 'execution' });
|
|
98
|
+
}
|
|
99
|
+
if (decision.source === 'input') {
|
|
100
|
+
exactKeys(decision, ['kind', 'source', 'key'], 'Capability replay decision');
|
|
101
|
+
acceptNonEmptyText(decision.key, 'Capability replay input key');
|
|
102
|
+
return Object.freeze({ kind, source: 'input', key: decision.key });
|
|
103
|
+
}
|
|
104
|
+
throw new TypeError('Keyed Capability replay source must be execution or input.');
|
|
105
|
+
}
|
|
106
|
+
function acceptRecord(input, label) {
|
|
107
|
+
if (!isObject(input) || Array.isArray(input))
|
|
108
|
+
throw new TypeError(`${label} must be an object.`);
|
|
109
|
+
return input;
|
|
110
|
+
}
|
|
111
|
+
function exactKeys(input, expected, label) {
|
|
112
|
+
const actual = ownStringKeys(input, label);
|
|
113
|
+
const expectedSet = new Set(expected);
|
|
114
|
+
if (actual.length === expected.length && actual.every((key) => expectedSet.has(key)))
|
|
115
|
+
return;
|
|
116
|
+
throw new TypeError(`${label} must contain exactly: ${expected.join(', ') || '(none)'}.`);
|
|
117
|
+
}
|
|
118
|
+
function ownStringKeys(input, label) {
|
|
119
|
+
const keys = Reflect.ownKeys(input);
|
|
120
|
+
if (keys.some((key) => typeof key !== 'string')) {
|
|
121
|
+
throw new TypeError(`${label} cannot contain symbol fields.`);
|
|
122
|
+
}
|
|
123
|
+
return keys;
|
|
124
|
+
}
|
|
125
|
+
function ownDataValue(input, key, label) {
|
|
126
|
+
const descriptor = Object.getOwnPropertyDescriptor(input, key);
|
|
127
|
+
if (descriptor === undefined || !Object.hasOwn(descriptor, 'value')) {
|
|
128
|
+
throw new TypeError(`${label}.${key} must be a data field.`);
|
|
129
|
+
}
|
|
130
|
+
return descriptor.value;
|
|
131
|
+
}
|
|
132
|
+
function acceptStableText(input, label) {
|
|
133
|
+
if (typeof input !== 'string' || input.length === 0 || input.trim() !== input) {
|
|
134
|
+
throw new TypeError(`${label} must be a non-empty stable string.`);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
function acceptNonEmptyText(input, label) {
|
|
138
|
+
if (typeof input !== 'string' || input.trim().length === 0) {
|
|
139
|
+
throw new TypeError(`${label} must be a non-empty string.`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
function isObject(input) {
|
|
143
|
+
return input !== null && typeof input === 'object';
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=define.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/capability/define.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { defineCapability } from './define.js';
|
|
2
|
+
export type { CapabilityClient, CapabilityClients, CapabilityDefinition, CapabilityExecution, CapabilityImplementation, CapabilityInput, CapabilityOperation, CapabilityOperations, CapabilityOutput, CapabilityProvider, CapabilityProviders, CapabilityReplay, CapabilityReplayDecision, CapabilityRequirements, DefineCapability, } from './contract.js';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|