@appport/sdk 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +126 -0
- package/README.md +39 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/node.d.ts +3 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/node.js +3 -0
- package/dist/node.js.map +1 -0
- package/node_modules/@appport/authorization/README.md +28 -0
- package/node_modules/@appport/authorization/dist/index.d.ts +94 -0
- package/node_modules/@appport/authorization/dist/index.d.ts.map +1 -0
- package/node_modules/@appport/authorization/dist/index.js +131 -0
- package/node_modules/@appport/authorization/dist/index.js.map +1 -0
- package/node_modules/@appport/authorization/package.json +28 -0
- package/node_modules/@appport/client/README.md +35 -0
- package/node_modules/@appport/client/dist/channel.d.ts +14 -0
- package/node_modules/@appport/client/dist/channel.d.ts.map +1 -0
- package/node_modules/@appport/client/dist/channel.js +58 -0
- package/node_modules/@appport/client/dist/channel.js.map +1 -0
- package/node_modules/@appport/client/dist/client.d.ts +61 -0
- package/node_modules/@appport/client/dist/client.d.ts.map +1 -0
- package/node_modules/@appport/client/dist/client.js +214 -0
- package/node_modules/@appport/client/dist/client.js.map +1 -0
- package/node_modules/@appport/client/dist/contract.d.ts +55 -0
- package/node_modules/@appport/client/dist/contract.d.ts.map +1 -0
- package/node_modules/@appport/client/dist/contract.js +12 -0
- package/node_modules/@appport/client/dist/contract.js.map +1 -0
- package/node_modules/@appport/client/dist/discovery.d.ts +17 -0
- package/node_modules/@appport/client/dist/discovery.d.ts.map +1 -0
- package/node_modules/@appport/client/dist/discovery.js +56 -0
- package/node_modules/@appport/client/dist/discovery.js.map +1 -0
- package/node_modules/@appport/client/dist/duplex.d.ts +25 -0
- package/node_modules/@appport/client/dist/duplex.d.ts.map +1 -0
- package/node_modules/@appport/client/dist/duplex.js +194 -0
- package/node_modules/@appport/client/dist/duplex.js.map +1 -0
- package/node_modules/@appport/client/dist/index.d.ts +13 -0
- package/node_modules/@appport/client/dist/index.d.ts.map +1 -0
- package/node_modules/@appport/client/dist/index.js +13 -0
- package/node_modules/@appport/client/dist/index.js.map +1 -0
- package/node_modules/@appport/client/dist/transport.d.ts +42 -0
- package/node_modules/@appport/client/dist/transport.d.ts.map +1 -0
- package/node_modules/@appport/client/dist/transport.js +2 -0
- package/node_modules/@appport/client/dist/transport.js.map +1 -0
- package/node_modules/@appport/client/package.json +32 -0
- package/node_modules/@appport/core/README.md +91 -0
- package/node_modules/@appport/core/dist/appboundry-contract.d.ts +80 -0
- package/node_modules/@appport/core/dist/appboundry-contract.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/appboundry-contract.js +160 -0
- package/node_modules/@appport/core/dist/appboundry-contract.js.map +1 -0
- package/node_modules/@appport/core/dist/application-implementation.d.ts +125 -0
- package/node_modules/@appport/core/dist/application-implementation.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/application-implementation.js +220 -0
- package/node_modules/@appport/core/dist/application-implementation.js.map +1 -0
- package/node_modules/@appport/core/dist/application-lifecycle.d.ts +150 -0
- package/node_modules/@appport/core/dist/application-lifecycle.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/application-lifecycle.js +70 -0
- package/node_modules/@appport/core/dist/application-lifecycle.js.map +1 -0
- package/node_modules/@appport/core/dist/application-source.d.ts +109 -0
- package/node_modules/@appport/core/dist/application-source.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/application-source.js +186 -0
- package/node_modules/@appport/core/dist/application-source.js.map +1 -0
- package/node_modules/@appport/core/dist/application.d.ts +122 -0
- package/node_modules/@appport/core/dist/application.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/application.js +515 -0
- package/node_modules/@appport/core/dist/application.js.map +1 -0
- package/node_modules/@appport/core/dist/artifact.d.ts +395 -0
- package/node_modules/@appport/core/dist/artifact.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/artifact.js +392 -0
- package/node_modules/@appport/core/dist/artifact.js.map +1 -0
- package/node_modules/@appport/core/dist/assembly.d.ts +237 -0
- package/node_modules/@appport/core/dist/assembly.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/assembly.js +458 -0
- package/node_modules/@appport/core/dist/assembly.js.map +1 -0
- package/node_modules/@appport/core/dist/authority-attestation.d.ts +34 -0
- package/node_modules/@appport/core/dist/authority-attestation.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/authority-attestation.js +72 -0
- package/node_modules/@appport/core/dist/authority-attestation.js.map +1 -0
- package/node_modules/@appport/core/dist/authorization-grant.d.ts +107 -0
- package/node_modules/@appport/core/dist/authorization-grant.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/authorization-grant.js +131 -0
- package/node_modules/@appport/core/dist/authorization-grant.js.map +1 -0
- package/node_modules/@appport/core/dist/binding.d.ts +294 -0
- package/node_modules/@appport/core/dist/binding.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/binding.js +263 -0
- package/node_modules/@appport/core/dist/binding.js.map +1 -0
- package/node_modules/@appport/core/dist/builtins.d.ts +18 -0
- package/node_modules/@appport/core/dist/builtins.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/builtins.js +38 -0
- package/node_modules/@appport/core/dist/builtins.js.map +1 -0
- package/node_modules/@appport/core/dist/capability.d.ts +94 -0
- package/node_modules/@appport/core/dist/capability.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/capability.js +85 -0
- package/node_modules/@appport/core/dist/capability.js.map +1 -0
- package/node_modules/@appport/core/dist/concurrency.d.ts +16 -0
- package/node_modules/@appport/core/dist/concurrency.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/concurrency.js +46 -0
- package/node_modules/@appport/core/dist/concurrency.js.map +1 -0
- package/node_modules/@appport/core/dist/context.d.ts +59 -0
- package/node_modules/@appport/core/dist/context.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/context.js +14 -0
- package/node_modules/@appport/core/dist/context.js.map +1 -0
- package/node_modules/@appport/core/dist/contract-artifact.d.ts +15 -0
- package/node_modules/@appport/core/dist/contract-artifact.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/contract-artifact.js +152 -0
- package/node_modules/@appport/core/dist/contract-artifact.js.map +1 -0
- package/node_modules/@appport/core/dist/contract-attestation.d.ts +68 -0
- package/node_modules/@appport/core/dist/contract-attestation.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/contract-attestation.js +76 -0
- package/node_modules/@appport/core/dist/contract-attestation.js.map +1 -0
- package/node_modules/@appport/core/dist/crash-injection.d.ts +3 -0
- package/node_modules/@appport/core/dist/crash-injection.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/crash-injection.js +8 -0
- package/node_modules/@appport/core/dist/crash-injection.js.map +1 -0
- package/node_modules/@appport/core/dist/events.d.ts +33 -0
- package/node_modules/@appport/core/dist/events.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/events.js +79 -0
- package/node_modules/@appport/core/dist/events.js.map +1 -0
- package/node_modules/@appport/core/dist/execution-barrier.d.ts +13 -0
- package/node_modules/@appport/core/dist/execution-barrier.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/execution-barrier.js +33 -0
- package/node_modules/@appport/core/dist/execution-barrier.js.map +1 -0
- package/node_modules/@appport/core/dist/execution-ledger.d.ts +81 -0
- package/node_modules/@appport/core/dist/execution-ledger.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/execution-ledger.js +173 -0
- package/node_modules/@appport/core/dist/execution-ledger.js.map +1 -0
- package/node_modules/@appport/core/dist/execution.d.ts +387 -0
- package/node_modules/@appport/core/dist/execution.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/execution.js +165 -0
- package/node_modules/@appport/core/dist/execution.js.map +1 -0
- package/node_modules/@appport/core/dist/idempotency.d.ts +36 -0
- package/node_modules/@appport/core/dist/idempotency.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/idempotency.js +36 -0
- package/node_modules/@appport/core/dist/idempotency.js.map +1 -0
- package/node_modules/@appport/core/dist/implementation.d.ts +110 -0
- package/node_modules/@appport/core/dist/implementation.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/implementation.js +65 -0
- package/node_modules/@appport/core/dist/implementation.js.map +1 -0
- package/node_modules/@appport/core/dist/index.d.ts +44 -0
- package/node_modules/@appport/core/dist/index.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/index.js +44 -0
- package/node_modules/@appport/core/dist/index.js.map +1 -0
- package/node_modules/@appport/core/dist/invocation.d.ts +253 -0
- package/node_modules/@appport/core/dist/invocation.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/invocation.js +258 -0
- package/node_modules/@appport/core/dist/invocation.js.map +1 -0
- package/node_modules/@appport/core/dist/manifest.d.ts +157 -0
- package/node_modules/@appport/core/dist/manifest.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/manifest.js +255 -0
- package/node_modules/@appport/core/dist/manifest.js.map +1 -0
- package/node_modules/@appport/core/dist/memory-application-data-store.d.ts +19 -0
- package/node_modules/@appport/core/dist/memory-application-data-store.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/memory-application-data-store.js +161 -0
- package/node_modules/@appport/core/dist/memory-application-data-store.js.map +1 -0
- package/node_modules/@appport/core/dist/operations.d.ts +61 -0
- package/node_modules/@appport/core/dist/operations.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/operations.js +210 -0
- package/node_modules/@appport/core/dist/operations.js.map +1 -0
- package/node_modules/@appport/core/dist/public.d.ts +19 -0
- package/node_modules/@appport/core/dist/public.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/public.js +18 -0
- package/node_modules/@appport/core/dist/public.js.map +1 -0
- package/node_modules/@appport/core/dist/registration.d.ts +165 -0
- package/node_modules/@appport/core/dist/registration.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/registration.js +253 -0
- package/node_modules/@appport/core/dist/registration.js.map +1 -0
- package/node_modules/@appport/core/dist/registry.d.ts +29 -0
- package/node_modules/@appport/core/dist/registry.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/registry.js +148 -0
- package/node_modules/@appport/core/dist/registry.js.map +1 -0
- package/node_modules/@appport/core/dist/repository-connection.d.ts +100 -0
- package/node_modules/@appport/core/dist/repository-connection.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/repository-connection.js +57 -0
- package/node_modules/@appport/core/dist/repository-connection.js.map +1 -0
- package/node_modules/@appport/core/dist/resolver.d.ts +130 -0
- package/node_modules/@appport/core/dist/resolver.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/resolver.js +252 -0
- package/node_modules/@appport/core/dist/resolver.js.map +1 -0
- package/node_modules/@appport/core/dist/runtime-manifest.d.ts +68 -0
- package/node_modules/@appport/core/dist/runtime-manifest.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/runtime-manifest.js +84 -0
- package/node_modules/@appport/core/dist/runtime-manifest.js.map +1 -0
- package/node_modules/@appport/core/dist/sanitize.d.ts +14 -0
- package/node_modules/@appport/core/dist/sanitize.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/sanitize.js +49 -0
- package/node_modules/@appport/core/dist/sanitize.js.map +1 -0
- package/node_modules/@appport/core/dist/server-internal.d.ts +5 -0
- package/node_modules/@appport/core/dist/server-internal.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/server-internal.js +4 -0
- package/node_modules/@appport/core/dist/server-internal.js.map +1 -0
- package/node_modules/@appport/core/dist/sessions.d.ts +29 -0
- package/node_modules/@appport/core/dist/sessions.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/sessions.js +39 -0
- package/node_modules/@appport/core/dist/sessions.js.map +1 -0
- package/node_modules/@appport/core/dist/sha256.d.ts +3 -0
- package/node_modules/@appport/core/dist/sha256.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/sha256.js +46 -0
- package/node_modules/@appport/core/dist/sha256.js.map +1 -0
- package/node_modules/@appport/core/dist/source-verification.d.ts +53 -0
- package/node_modules/@appport/core/dist/source-verification.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/source-verification.js +92 -0
- package/node_modules/@appport/core/dist/source-verification.js.map +1 -0
- package/node_modules/@appport/core/dist/state-context.d.ts +312 -0
- package/node_modules/@appport/core/dist/state-context.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/state-context.js +100 -0
- package/node_modules/@appport/core/dist/state-context.js.map +1 -0
- package/node_modules/@appport/core/dist/state.d.ts +96 -0
- package/node_modules/@appport/core/dist/state.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/state.js +89 -0
- package/node_modules/@appport/core/dist/state.js.map +1 -0
- package/node_modules/@appport/core/dist/streams.d.ts +38 -0
- package/node_modules/@appport/core/dist/streams.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/streams.js +123 -0
- package/node_modules/@appport/core/dist/streams.js.map +1 -0
- package/node_modules/@appport/core/dist/telemetry.d.ts +42 -0
- package/node_modules/@appport/core/dist/telemetry.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/telemetry.js +32 -0
- package/node_modules/@appport/core/dist/telemetry.js.map +1 -0
- package/node_modules/@appport/core/dist/wasm-engine.d.ts +22 -0
- package/node_modules/@appport/core/dist/wasm-engine.d.ts.map +1 -0
- package/node_modules/@appport/core/dist/wasm-engine.js +367 -0
- package/node_modules/@appport/core/dist/wasm-engine.js.map +1 -0
- package/node_modules/@appport/core/package.json +58 -0
- package/node_modules/@appport/mobile/README.md +10 -0
- package/node_modules/@appport/mobile/dist/index.d.ts +66 -0
- package/node_modules/@appport/mobile/dist/index.d.ts.map +1 -0
- package/node_modules/@appport/mobile/dist/index.js +182 -0
- package/node_modules/@appport/mobile/dist/index.js.map +1 -0
- package/node_modules/@appport/mobile/package.json +33 -0
- package/node_modules/@appport/protocol/README.md +41 -0
- package/node_modules/@appport/protocol/dist/blob.d.ts +46 -0
- package/node_modules/@appport/protocol/dist/blob.d.ts.map +1 -0
- package/node_modules/@appport/protocol/dist/blob.js +23 -0
- package/node_modules/@appport/protocol/dist/blob.js.map +1 -0
- package/node_modules/@appport/protocol/dist/compatibility.d.ts +25 -0
- package/node_modules/@appport/protocol/dist/compatibility.d.ts.map +1 -0
- package/node_modules/@appport/protocol/dist/compatibility.js +189 -0
- package/node_modules/@appport/protocol/dist/compatibility.js.map +1 -0
- package/node_modules/@appport/protocol/dist/envelopes.d.ts +175 -0
- package/node_modules/@appport/protocol/dist/envelopes.d.ts.map +1 -0
- package/node_modules/@appport/protocol/dist/envelopes.js +97 -0
- package/node_modules/@appport/protocol/dist/envelopes.js.map +1 -0
- package/node_modules/@appport/protocol/dist/errors.d.ts +74 -0
- package/node_modules/@appport/protocol/dist/errors.d.ts.map +1 -0
- package/node_modules/@appport/protocol/dist/errors.js +91 -0
- package/node_modules/@appport/protocol/dist/errors.js.map +1 -0
- package/node_modules/@appport/protocol/dist/ids.d.ts +12 -0
- package/node_modules/@appport/protocol/dist/ids.d.ts.map +1 -0
- package/node_modules/@appport/protocol/dist/ids.js +50 -0
- package/node_modules/@appport/protocol/dist/ids.js.map +1 -0
- package/node_modules/@appport/protocol/dist/index.d.ts +20 -0
- package/node_modules/@appport/protocol/dist/index.d.ts.map +1 -0
- package/node_modules/@appport/protocol/dist/index.js +20 -0
- package/node_modules/@appport/protocol/dist/index.js.map +1 -0
- package/node_modules/@appport/protocol/dist/jsonschema.d.ts +50 -0
- package/node_modules/@appport/protocol/dist/jsonschema.d.ts.map +1 -0
- package/node_modules/@appport/protocol/dist/jsonschema.js +6 -0
- package/node_modules/@appport/protocol/dist/jsonschema.js.map +1 -0
- package/node_modules/@appport/protocol/dist/manifest.d.ts +131 -0
- package/node_modules/@appport/protocol/dist/manifest.d.ts.map +1 -0
- package/node_modules/@appport/protocol/dist/manifest.js +20 -0
- package/node_modules/@appport/protocol/dist/manifest.js.map +1 -0
- package/node_modules/@appport/protocol/dist/names.d.ts +26 -0
- package/node_modules/@appport/protocol/dist/names.d.ts.map +1 -0
- package/node_modules/@appport/protocol/dist/names.js +85 -0
- package/node_modules/@appport/protocol/dist/names.js.map +1 -0
- package/node_modules/@appport/protocol/dist/operations.d.ts +34 -0
- package/node_modules/@appport/protocol/dist/operations.d.ts.map +1 -0
- package/node_modules/@appport/protocol/dist/operations.js +9 -0
- package/node_modules/@appport/protocol/dist/operations.js.map +1 -0
- package/node_modules/@appport/protocol/dist/session.d.ts +27 -0
- package/node_modules/@appport/protocol/dist/session.d.ts.map +1 -0
- package/node_modules/@appport/protocol/dist/session.js +7 -0
- package/node_modules/@appport/protocol/dist/session.js.map +1 -0
- package/node_modules/@appport/protocol/dist/validate.d.ts +37 -0
- package/node_modules/@appport/protocol/dist/validate.d.ts.map +1 -0
- package/node_modules/@appport/protocol/dist/validate.js +321 -0
- package/node_modules/@appport/protocol/dist/validate.js.map +1 -0
- package/node_modules/@appport/protocol/dist/version.d.ts +27 -0
- package/node_modules/@appport/protocol/dist/version.d.ts.map +1 -0
- package/node_modules/@appport/protocol/dist/version.js +26 -0
- package/node_modules/@appport/protocol/dist/version.js.map +1 -0
- package/node_modules/@appport/protocol/package.json +25 -0
- package/node_modules/@appport/schema/README.md +32 -0
- package/node_modules/@appport/schema/dist/builder.d.ts +85 -0
- package/node_modules/@appport/schema/dist/builder.d.ts.map +1 -0
- package/node_modules/@appport/schema/dist/builder.js +278 -0
- package/node_modules/@appport/schema/dist/builder.js.map +1 -0
- package/node_modules/@appport/schema/dist/from-json-schema.d.ts +12 -0
- package/node_modules/@appport/schema/dist/from-json-schema.d.ts.map +1 -0
- package/node_modules/@appport/schema/dist/from-json-schema.js +186 -0
- package/node_modules/@appport/schema/dist/from-json-schema.js.map +1 -0
- package/node_modules/@appport/schema/dist/index.d.ts +23 -0
- package/node_modules/@appport/schema/dist/index.d.ts.map +1 -0
- package/node_modules/@appport/schema/dist/index.js +22 -0
- package/node_modules/@appport/schema/dist/index.js.map +1 -0
- package/node_modules/@appport/schema/dist/standard.d.ts +46 -0
- package/node_modules/@appport/schema/dist/standard.d.ts.map +1 -0
- package/node_modules/@appport/schema/dist/standard.js +42 -0
- package/node_modules/@appport/schema/dist/standard.js.map +1 -0
- package/node_modules/@appport/schema/dist/types.d.ts +40 -0
- package/node_modules/@appport/schema/dist/types.d.ts.map +1 -0
- package/node_modules/@appport/schema/dist/types.js +19 -0
- package/node_modules/@appport/schema/dist/types.js.map +1 -0
- package/node_modules/@appport/schema/package.json +28 -0
- package/node_modules/@appport/server/README.md +39 -0
- package/node_modules/@appport/server/dist/connection.d.ts +45 -0
- package/node_modules/@appport/server/dist/connection.d.ts.map +1 -0
- package/node_modules/@appport/server/dist/connection.js +217 -0
- package/node_modules/@appport/server/dist/connection.js.map +1 -0
- package/node_modules/@appport/server/dist/fetch.d.ts +10 -0
- package/node_modules/@appport/server/dist/fetch.d.ts.map +1 -0
- package/node_modules/@appport/server/dist/fetch.js +50 -0
- package/node_modules/@appport/server/dist/fetch.js.map +1 -0
- package/node_modules/@appport/server/dist/http.d.ts +80 -0
- package/node_modules/@appport/server/dist/http.d.ts.map +1 -0
- package/node_modules/@appport/server/dist/http.js +306 -0
- package/node_modules/@appport/server/dist/http.js.map +1 -0
- package/node_modules/@appport/server/dist/index.d.ts +11 -0
- package/node_modules/@appport/server/dist/index.d.ts.map +1 -0
- package/node_modules/@appport/server/dist/index.js +11 -0
- package/node_modules/@appport/server/dist/index.js.map +1 -0
- package/node_modules/@appport/server/dist/node-entry.d.ts +4 -0
- package/node_modules/@appport/server/dist/node-entry.d.ts.map +1 -0
- package/node_modules/@appport/server/dist/node-entry.js +4 -0
- package/node_modules/@appport/server/dist/node-entry.js.map +1 -0
- package/node_modules/@appport/server/dist/node.d.ts +45 -0
- package/node_modules/@appport/server/dist/node.d.ts.map +1 -0
- package/node_modules/@appport/server/dist/node.js +190 -0
- package/node_modules/@appport/server/dist/node.js.map +1 -0
- package/node_modules/@appport/server/dist/server.d.ts +83 -0
- package/node_modules/@appport/server/dist/server.d.ts.map +1 -0
- package/node_modules/@appport/server/dist/server.js +114 -0
- package/node_modules/@appport/server/dist/server.js.map +1 -0
- package/node_modules/@appport/server/dist/websocket.d.ts +25 -0
- package/node_modules/@appport/server/dist/websocket.d.ts.map +1 -0
- package/node_modules/@appport/server/dist/websocket.js +221 -0
- package/node_modules/@appport/server/dist/websocket.js.map +1 -0
- package/node_modules/@appport/server/package.json +34 -0
- package/node_modules/@appport/transport-electron/README.md +56 -0
- package/node_modules/@appport/transport-electron/dist/index.d.ts +11 -0
- package/node_modules/@appport/transport-electron/dist/index.d.ts.map +1 -0
- package/node_modules/@appport/transport-electron/dist/index.js +11 -0
- package/node_modules/@appport/transport-electron/dist/index.js.map +1 -0
- package/node_modules/@appport/transport-electron/dist/main.d.ts +31 -0
- package/node_modules/@appport/transport-electron/dist/main.d.ts.map +1 -0
- package/node_modules/@appport/transport-electron/dist/main.js +61 -0
- package/node_modules/@appport/transport-electron/dist/main.js.map +1 -0
- package/node_modules/@appport/transport-electron/dist/preload.d.ts +22 -0
- package/node_modules/@appport/transport-electron/dist/preload.d.ts.map +1 -0
- package/node_modules/@appport/transport-electron/dist/preload.js +29 -0
- package/node_modules/@appport/transport-electron/dist/preload.js.map +1 -0
- package/node_modules/@appport/transport-electron/dist/renderer.d.ts +16 -0
- package/node_modules/@appport/transport-electron/dist/renderer.d.ts.map +1 -0
- package/node_modules/@appport/transport-electron/dist/renderer.js +36 -0
- package/node_modules/@appport/transport-electron/dist/renderer.js.map +1 -0
- package/node_modules/@appport/transport-electron/dist/types.d.ts +49 -0
- package/node_modules/@appport/transport-electron/dist/types.d.ts.map +1 -0
- package/node_modules/@appport/transport-electron/dist/types.js +5 -0
- package/node_modules/@appport/transport-electron/dist/types.js.map +1 -0
- package/node_modules/@appport/transport-electron/package.json +46 -0
- package/node_modules/@appport/transport-http/README.md +24 -0
- package/node_modules/@appport/transport-http/dist/index.d.ts +18 -0
- package/node_modules/@appport/transport-http/dist/index.d.ts.map +1 -0
- package/node_modules/@appport/transport-http/dist/index.js +223 -0
- package/node_modules/@appport/transport-http/dist/index.js.map +1 -0
- package/node_modules/@appport/transport-http/package.json +29 -0
- package/node_modules/@appport/transport-inprocess/README.md +24 -0
- package/node_modules/@appport/transport-inprocess/dist/index.d.ts +16 -0
- package/node_modules/@appport/transport-inprocess/dist/index.d.ts.map +1 -0
- package/node_modules/@appport/transport-inprocess/dist/index.js +30 -0
- package/node_modules/@appport/transport-inprocess/dist/index.js.map +1 -0
- package/node_modules/@appport/transport-inprocess/package.json +30 -0
- package/node_modules/@appport/transport-tauri/README.md +45 -0
- package/node_modules/@appport/transport-tauri/dist/index.d.ts +23 -0
- package/node_modules/@appport/transport-tauri/dist/index.d.ts.map +1 -0
- package/node_modules/@appport/transport-tauri/dist/index.js +44 -0
- package/node_modules/@appport/transport-tauri/dist/index.js.map +1 -0
- package/node_modules/@appport/transport-tauri/package.json +29 -0
- package/node_modules/@appport/transport-websocket/README.md +22 -0
- package/node_modules/@appport/transport-websocket/dist/index.d.ts +26 -0
- package/node_modules/@appport/transport-websocket/dist/index.d.ts.map +1 -0
- package/node_modules/@appport/transport-websocket/dist/index.js +72 -0
- package/node_modules/@appport/transport-websocket/dist/index.js.map +1 -0
- package/node_modules/@appport/transport-websocket/package.json +29 -0
- package/package.json +79 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Durable Authorization Grants and Revocation (PR41 / F5)
|
|
3
|
+
*
|
|
4
|
+
* Authorization is a durable authority relationship, not a fact about a
|
|
5
|
+
* process. A grant records that one consumer incarnation may use one
|
|
6
|
+
* capability from one provider; revoking it makes that relationship
|
|
7
|
+
* non-authoritative for every later execution boundary.
|
|
8
|
+
*
|
|
9
|
+
* REVOCATION LINEARIZATION POINT
|
|
10
|
+
* ------------------------------
|
|
11
|
+
* A revocation becomes authoritative the moment the durable authorization
|
|
12
|
+
* record commits in the authority store. Everything after that commit — a new
|
|
13
|
+
* binding, a materialization, a durable state commit, a successful ledger
|
|
14
|
+
* completion — must observe the revocation. Nothing before it is retroactively
|
|
15
|
+
* invalidated.
|
|
16
|
+
*
|
|
17
|
+
* IN-FLIGHT SEMANTICS
|
|
18
|
+
* -------------------
|
|
19
|
+
* Revocation does not terminate a WASM instance that is already running.
|
|
20
|
+
* It invalidates the authority the execution depends on, so the execution
|
|
21
|
+
* cannot produce a durable effect (state commit or successful ledger record)
|
|
22
|
+
* attributable to the revoked relationship. See
|
|
23
|
+
* `docs/architecture/authorization-revocation.md`.
|
|
24
|
+
*/
|
|
25
|
+
import type { AuthorizationPolicy, CapabilityBindingContext } from "./binding.js";
|
|
26
|
+
/** The semantic participants of an authorization relationship. */
|
|
27
|
+
export interface AuthorizationSubject {
|
|
28
|
+
readonly consumerId: string;
|
|
29
|
+
readonly providerId: string;
|
|
30
|
+
readonly capabilityName: string;
|
|
31
|
+
readonly capabilityVersion: number;
|
|
32
|
+
}
|
|
33
|
+
export type AuthorizationGrantStatus = "granted" | "revoked";
|
|
34
|
+
/**
|
|
35
|
+
* A durable authorization grant.
|
|
36
|
+
*
|
|
37
|
+
* `grantId` identifies one authorization incarnation. Re-authorizing a subject
|
|
38
|
+
* after revocation produces a new incarnation with a new `grantId`; it never
|
|
39
|
+
* resurrects the revoked one.
|
|
40
|
+
*/
|
|
41
|
+
export interface AuthorizationGrant extends AuthorizationSubject {
|
|
42
|
+
readonly grantId: string;
|
|
43
|
+
readonly incarnation: number;
|
|
44
|
+
readonly status: AuthorizationGrantStatus;
|
|
45
|
+
readonly grantedAt: string;
|
|
46
|
+
readonly revokedAt?: string;
|
|
47
|
+
readonly reason?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Durable authorization authority.
|
|
51
|
+
*
|
|
52
|
+
* Implementations must be durable and observable across processes: the store
|
|
53
|
+
* is the linearization point for authorization and revocation.
|
|
54
|
+
*/
|
|
55
|
+
export interface AuthorizationGrantStore {
|
|
56
|
+
/** Issue a new authorization incarnation for a subject. */
|
|
57
|
+
grant(subject: AuthorizationSubject): Promise<AuthorizationGrant>;
|
|
58
|
+
/** Revoke the current authorization incarnation for a subject. */
|
|
59
|
+
revoke(subject: AuthorizationSubject, reason?: string): Promise<AuthorizationGrant>;
|
|
60
|
+
/** The current authorization record for a subject, granted or revoked. */
|
|
61
|
+
find(subject: AuthorizationSubject): Promise<AuthorizationGrant | undefined>;
|
|
62
|
+
/** The grant with this exact incarnation identity, if it is still current. */
|
|
63
|
+
get(grantId: string): Promise<AuthorizationGrant | undefined>;
|
|
64
|
+
/** All current authorization records. */
|
|
65
|
+
list(): Promise<readonly AuthorizationGrant[]>;
|
|
66
|
+
}
|
|
67
|
+
/** Deterministic subject identity used to key authorization records. */
|
|
68
|
+
export declare function authorizationSubjectKey(subject: AuthorizationSubject): string;
|
|
69
|
+
/** Deterministic authorization incarnation identity. */
|
|
70
|
+
export declare function authorizationGrantId(subject: AuthorizationSubject, incarnation: number): string;
|
|
71
|
+
/**
|
|
72
|
+
* Compute the next durable authorization record for a subject.
|
|
73
|
+
*
|
|
74
|
+
* Shared by every store implementation so incarnation semantics cannot drift
|
|
75
|
+
* between the in-memory and durable authorities.
|
|
76
|
+
*/
|
|
77
|
+
export declare function nextAuthorizationGrant(subject: AuthorizationSubject, current: AuthorizationGrant | undefined, transition: {
|
|
78
|
+
readonly status: AuthorizationGrantStatus;
|
|
79
|
+
readonly at: string;
|
|
80
|
+
readonly reason?: string;
|
|
81
|
+
}): AuthorizationGrant;
|
|
82
|
+
/** In-memory authorization authority for unit tests and local runtimes. */
|
|
83
|
+
export declare class MemoryAuthorizationGrantStore implements AuthorizationGrantStore {
|
|
84
|
+
#private;
|
|
85
|
+
grant(subject: AuthorizationSubject): Promise<AuthorizationGrant>;
|
|
86
|
+
revoke(subject: AuthorizationSubject, reason?: string): Promise<AuthorizationGrant>;
|
|
87
|
+
find(subject: AuthorizationSubject): Promise<AuthorizationGrant | undefined>;
|
|
88
|
+
get(grantId: string): Promise<AuthorizationGrant | undefined>;
|
|
89
|
+
list(): Promise<readonly AuthorizationGrant[]>;
|
|
90
|
+
}
|
|
91
|
+
/** The authorization subject a binding context describes. */
|
|
92
|
+
export declare function authorizationSubjectOf(context: CapabilityBindingContext): AuthorizationSubject;
|
|
93
|
+
/**
|
|
94
|
+
* Assert that an authorization incarnation is still the authoritative one.
|
|
95
|
+
*
|
|
96
|
+
* Reads durable authority, so it observes revocations committed by any process.
|
|
97
|
+
*/
|
|
98
|
+
export declare function assertAuthorizationGrantAuthoritative(store: AuthorizationGrantStore, subject: AuthorizationSubject, grantId: string): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Authorization policy backed by durable authorization authority.
|
|
101
|
+
*
|
|
102
|
+
* The policy authorizes only subjects holding an active durable grant, and
|
|
103
|
+
* attaches that grant's incarnation identity to the authorization it returns so
|
|
104
|
+
* every later execution boundary revalidates it against durable authority.
|
|
105
|
+
*/
|
|
106
|
+
export declare function durableAuthorizationPolicy(store: AuthorizationGrantStore): AuthorizationPolicy;
|
|
107
|
+
//# sourceMappingURL=authorization-grant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorization-grant.d.ts","sourceRoot":"","sources":["../src/authorization-grant.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Durable Authorization Grants and Revocation (PR41 / F5)
|
|
3
|
+
*
|
|
4
|
+
* Authorization is a durable authority relationship, not a fact about a
|
|
5
|
+
* process. A grant records that one consumer incarnation may use one
|
|
6
|
+
* capability from one provider; revoking it makes that relationship
|
|
7
|
+
* non-authoritative for every later execution boundary.
|
|
8
|
+
*
|
|
9
|
+
* REVOCATION LINEARIZATION POINT
|
|
10
|
+
* ------------------------------
|
|
11
|
+
* A revocation becomes authoritative the moment the durable authorization
|
|
12
|
+
* record commits in the authority store. Everything after that commit — a new
|
|
13
|
+
* binding, a materialization, a durable state commit, a successful ledger
|
|
14
|
+
* completion — must observe the revocation. Nothing before it is retroactively
|
|
15
|
+
* invalidated.
|
|
16
|
+
*
|
|
17
|
+
* IN-FLIGHT SEMANTICS
|
|
18
|
+
* -------------------
|
|
19
|
+
* Revocation does not terminate a WASM instance that is already running.
|
|
20
|
+
* It invalidates the authority the execution depends on, so the execution
|
|
21
|
+
* cannot produce a durable effect (state commit or successful ledger record)
|
|
22
|
+
* attributable to the revoked relationship. See
|
|
23
|
+
* `docs/architecture/authorization-revocation.md`.
|
|
24
|
+
*/
|
|
25
|
+
import { attestAuthorization } from "./authority-attestation.js";
|
|
26
|
+
/** Deterministic subject identity used to key authorization records. */
|
|
27
|
+
export function authorizationSubjectKey(subject) {
|
|
28
|
+
return `${subject.consumerId}::${subject.providerId}::${subject.capabilityName}@${subject.capabilityVersion}`;
|
|
29
|
+
}
|
|
30
|
+
/** Deterministic authorization incarnation identity. */
|
|
31
|
+
export function authorizationGrantId(subject, incarnation) {
|
|
32
|
+
return `grant_${authorizationSubjectKey(subject)}#${incarnation}`;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Compute the next durable authorization record for a subject.
|
|
36
|
+
*
|
|
37
|
+
* Shared by every store implementation so incarnation semantics cannot drift
|
|
38
|
+
* between the in-memory and durable authorities.
|
|
39
|
+
*/
|
|
40
|
+
export function nextAuthorizationGrant(subject, current, transition) {
|
|
41
|
+
if (transition.status === "revoked") {
|
|
42
|
+
if (!current || current.status !== "granted") {
|
|
43
|
+
throw new Error(`Cannot revoke authorization "${authorizationSubjectKey(subject)}": no active grant`);
|
|
44
|
+
}
|
|
45
|
+
return { ...current, status: "revoked", revokedAt: transition.at, ...(transition.reason ? { reason: transition.reason } : {}) };
|
|
46
|
+
}
|
|
47
|
+
const incarnation = (current?.incarnation ?? 0) + 1;
|
|
48
|
+
return {
|
|
49
|
+
...subject,
|
|
50
|
+
grantId: authorizationGrantId(subject, incarnation),
|
|
51
|
+
incarnation,
|
|
52
|
+
status: "granted",
|
|
53
|
+
grantedAt: transition.at
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/** In-memory authorization authority for unit tests and local runtimes. */
|
|
57
|
+
export class MemoryAuthorizationGrantStore {
|
|
58
|
+
#grants = new Map();
|
|
59
|
+
async grant(subject) {
|
|
60
|
+
const key = authorizationSubjectKey(subject);
|
|
61
|
+
const grant = nextAuthorizationGrant(subject, this.#grants.get(key), { status: "granted", at: new Date().toISOString() });
|
|
62
|
+
this.#grants.set(key, grant);
|
|
63
|
+
return grant;
|
|
64
|
+
}
|
|
65
|
+
async revoke(subject, reason) {
|
|
66
|
+
const key = authorizationSubjectKey(subject);
|
|
67
|
+
const revoked = nextAuthorizationGrant(subject, this.#grants.get(key), { status: "revoked", at: new Date().toISOString(), reason });
|
|
68
|
+
this.#grants.set(key, revoked);
|
|
69
|
+
return revoked;
|
|
70
|
+
}
|
|
71
|
+
async find(subject) {
|
|
72
|
+
return this.#grants.get(authorizationSubjectKey(subject));
|
|
73
|
+
}
|
|
74
|
+
async get(grantId) {
|
|
75
|
+
return [...this.#grants.values()].find((grant) => grant.grantId === grantId);
|
|
76
|
+
}
|
|
77
|
+
async list() {
|
|
78
|
+
return [...this.#grants.values()].sort((a, b) => a.grantId.localeCompare(b.grantId));
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/** The authorization subject a binding context describes. */
|
|
82
|
+
export function authorizationSubjectOf(context) {
|
|
83
|
+
return {
|
|
84
|
+
consumerId: context.consumer.id,
|
|
85
|
+
providerId: context.provider.id,
|
|
86
|
+
capabilityName: context.capabilityName,
|
|
87
|
+
capabilityVersion: context.capabilityVersion
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Assert that an authorization incarnation is still the authoritative one.
|
|
92
|
+
*
|
|
93
|
+
* Reads durable authority, so it observes revocations committed by any process.
|
|
94
|
+
*/
|
|
95
|
+
export async function assertAuthorizationGrantAuthoritative(store, subject, grantId) {
|
|
96
|
+
const current = await store.find(subject);
|
|
97
|
+
if (!current || current.grantId !== grantId) {
|
|
98
|
+
throw new Error(`Authorization grant "${grantId}" has been superseded and is no longer authoritative`);
|
|
99
|
+
}
|
|
100
|
+
if (current.status !== "granted") {
|
|
101
|
+
throw new Error(`Authorization grant "${grantId}" has been revoked and is no longer authoritative`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Authorization policy backed by durable authorization authority.
|
|
106
|
+
*
|
|
107
|
+
* The policy authorizes only subjects holding an active durable grant, and
|
|
108
|
+
* attaches that grant's incarnation identity to the authorization it returns so
|
|
109
|
+
* every later execution boundary revalidates it against durable authority.
|
|
110
|
+
*/
|
|
111
|
+
export function durableAuthorizationPolicy(store) {
|
|
112
|
+
return {
|
|
113
|
+
async evaluate(context) {
|
|
114
|
+
const subject = authorizationSubjectOf(context);
|
|
115
|
+
const grant = await store.find(subject);
|
|
116
|
+
if (!grant || grant.status !== "granted") {
|
|
117
|
+
return {
|
|
118
|
+
kind: "denied",
|
|
119
|
+
reason: "policy_denied",
|
|
120
|
+
message: grant
|
|
121
|
+
? `Authorization for "${authorizationSubjectKey(subject)}" was revoked`
|
|
122
|
+
: `No authorization has been granted for "${authorizationSubjectKey(subject)}"`
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
const authorization = { kind: "authorized", grantedScopes: [`${subject.capabilityName}@${subject.capabilityVersion}`] };
|
|
126
|
+
attestAuthorization(authorization, () => assertAuthorizationGrantAuthoritative(store, subject, grant.grantId));
|
|
127
|
+
return authorization;
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=authorization-grant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorization-grant.js","sourceRoot":"","sources":["../src/authorization-grant.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authorization-Aware Capability Binding (PR23)
|
|
3
|
+
*
|
|
4
|
+
* Builds on PR22's deterministic dependency resolver to introduce a clean
|
|
5
|
+
* authorization boundary: resolved requirements are evaluated for authorization,
|
|
6
|
+
* and only authorized requirements produce bindings.
|
|
7
|
+
*
|
|
8
|
+
* Key architectural invariant:
|
|
9
|
+
* DISCOVER → COMPATIBLE → RESOLVED → AUTHORIZED → BOUND → [STOP, don't invoke]
|
|
10
|
+
*
|
|
11
|
+
* Authorization is a policy-driven decision applied to resolved requirements only.
|
|
12
|
+
* Unresolved and ambiguous requirements bypass authorization entirely.
|
|
13
|
+
*/
|
|
14
|
+
import type { ApplicationState } from "./state.js";
|
|
15
|
+
import type { ResolvedRequirement, UnresolvedRequirement, AmbiguousRequirement } from "./resolver.js";
|
|
16
|
+
/**
|
|
17
|
+
* Capability Binding Context: the semantic participants in an authorization decision.
|
|
18
|
+
*
|
|
19
|
+
* Captures consumer identity, provider identity, and capability information
|
|
20
|
+
* sufficient for authorization policy evaluation.
|
|
21
|
+
*
|
|
22
|
+
* CRITICAL: This is NOT a runtime context. It contains no:
|
|
23
|
+
* - Handlers
|
|
24
|
+
* - Functions
|
|
25
|
+
* - Closures
|
|
26
|
+
* - Runtime objects
|
|
27
|
+
* - Credentials
|
|
28
|
+
* - Secrets
|
|
29
|
+
* - Database handles
|
|
30
|
+
* - Process IDs
|
|
31
|
+
*/
|
|
32
|
+
export interface CapabilityBindingContext {
|
|
33
|
+
/** The consumer application requiring the capability. */
|
|
34
|
+
readonly consumer: ApplicationState;
|
|
35
|
+
/** The provider application offering the capability. */
|
|
36
|
+
readonly provider: ApplicationState;
|
|
37
|
+
/** The capability name (e.g., "invoice.create"). */
|
|
38
|
+
readonly capabilityName: string;
|
|
39
|
+
/** The capability version being consumed. */
|
|
40
|
+
readonly capabilityVersion: number;
|
|
41
|
+
/** Optional scopes/permissions the consumer requests. */
|
|
42
|
+
readonly requestedScopes?: readonly string[];
|
|
43
|
+
/** Optional consumer profile/role for policy evaluation. */
|
|
44
|
+
readonly consumerProfile?: {
|
|
45
|
+
readonly role?: string;
|
|
46
|
+
readonly tags?: readonly string[];
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Explicit authorization decision result.
|
|
51
|
+
*
|
|
52
|
+
* Authorization must not collapse to a boolean. Denials must be diagnosable.
|
|
53
|
+
*/
|
|
54
|
+
export type AuthorizationResult = Authorized | Denied;
|
|
55
|
+
/**
|
|
56
|
+
* Authorized: the binding is permitted.
|
|
57
|
+
*/
|
|
58
|
+
export interface Authorized {
|
|
59
|
+
readonly kind: "authorized";
|
|
60
|
+
/** Effective scopes/permissions granted to the consumer for this capability. */
|
|
61
|
+
readonly grantedScopes?: readonly string[];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Denied: the binding is not permitted.
|
|
65
|
+
*
|
|
66
|
+
* Reasons must be explicit so observability systems can understand why
|
|
67
|
+
* authorization failed.
|
|
68
|
+
*/
|
|
69
|
+
export interface Denied {
|
|
70
|
+
readonly kind: "denied";
|
|
71
|
+
/** High-level denial reason code. */
|
|
72
|
+
readonly reason: "consumer_not_trusted" | "capability_not_permitted" | "scope_not_permitted" | "provider_not_authorized" | "policy_denied" | "other";
|
|
73
|
+
/** Detailed explanation for diagnostics. */
|
|
74
|
+
readonly message: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Authorized Capability Binding: the metadata relationship between
|
|
78
|
+
* consumer, provider, and capability after successful authorization.
|
|
79
|
+
*
|
|
80
|
+
* This is NOT an invocation credential or execution handle.
|
|
81
|
+
* It is the semantic relationship: "this consumer is authorized to use this capability from this provider."
|
|
82
|
+
*
|
|
83
|
+
* Binding is:
|
|
84
|
+
* - Deterministic: same inputs produce same binding
|
|
85
|
+
* - Immutable: binding is data, not state
|
|
86
|
+
* - Side-effect free: creating a binding executes nothing
|
|
87
|
+
* - Identifiable: bindings can be uniquely identified by their participants
|
|
88
|
+
*
|
|
89
|
+
* CRITICAL: This contains no:
|
|
90
|
+
* - Handlers
|
|
91
|
+
* - Functions
|
|
92
|
+
* - Closures
|
|
93
|
+
* - Runtime objects
|
|
94
|
+
* - Credentials
|
|
95
|
+
* - Secrets
|
|
96
|
+
* - Process IDs
|
|
97
|
+
* - Timestamps (use resolution context if needed)
|
|
98
|
+
*/
|
|
99
|
+
export interface AuthorizedCapabilityBinding {
|
|
100
|
+
/** The consumer application. */
|
|
101
|
+
readonly consumer: ApplicationState;
|
|
102
|
+
/** The resolved requirement that triggered binding. */
|
|
103
|
+
readonly requirement: ResolvedRequirement["requirement"];
|
|
104
|
+
/** The provider application. */
|
|
105
|
+
readonly provider: ApplicationState;
|
|
106
|
+
/** The consumed capability. */
|
|
107
|
+
readonly capability: {
|
|
108
|
+
readonly name: string;
|
|
109
|
+
readonly version: number;
|
|
110
|
+
};
|
|
111
|
+
/** The authorization result that permitted the binding. */
|
|
112
|
+
readonly authorization: Authorized;
|
|
113
|
+
/** Optional binding identity: deterministically derived from participants. */
|
|
114
|
+
readonly bindingId?: string;
|
|
115
|
+
}
|
|
116
|
+
/** Throws unless the exact binding object was issued by CapabilityBinder. */
|
|
117
|
+
export declare function assertIssuedAuthorizedBinding(binding: AuthorizedCapabilityBinding): void;
|
|
118
|
+
/**
|
|
119
|
+
* Authorization Policy: injectable decision logic for capability binding.
|
|
120
|
+
*
|
|
121
|
+
* Policies evaluate whether a consumer is permitted to use a provider's capability.
|
|
122
|
+
*
|
|
123
|
+
* Policies must be:
|
|
124
|
+
* - Side-effect free: no DB calls, network, or mutations
|
|
125
|
+
* - Deterministic: same context produces same result
|
|
126
|
+
* - Efficient: authorization blocks binding, so policy must be fast
|
|
127
|
+
* - Stateless: receive all needed context as parameters
|
|
128
|
+
*
|
|
129
|
+
* Policies should reuse the canonical AppPort authorization semantics
|
|
130
|
+
* (from @appport/authorization) rather than inventing new ones.
|
|
131
|
+
*/
|
|
132
|
+
export interface AuthorizationPolicy {
|
|
133
|
+
/**
|
|
134
|
+
* Evaluate whether a binding is authorized.
|
|
135
|
+
*
|
|
136
|
+
* Returns Authorized if permitted, or Denied with explicit reason if not.
|
|
137
|
+
*
|
|
138
|
+
* Must not:
|
|
139
|
+
* - Execute application code
|
|
140
|
+
* - Invoke providers
|
|
141
|
+
* - Mutate state
|
|
142
|
+
* - Make network calls
|
|
143
|
+
* - Access runtime objects
|
|
144
|
+
*/
|
|
145
|
+
evaluate(context: CapabilityBindingContext): AuthorizationResult | Promise<AuthorizationResult>;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Full binding result for a single resolved requirement.
|
|
149
|
+
*/
|
|
150
|
+
export type BindingResult = AuthorizedBindingResult | DeniedBindingResult;
|
|
151
|
+
/**
|
|
152
|
+
* Binding result: requirement was resolved and authorized.
|
|
153
|
+
*/
|
|
154
|
+
export interface AuthorizedBindingResult {
|
|
155
|
+
readonly kind: "authorized";
|
|
156
|
+
readonly binding: AuthorizedCapabilityBinding;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Binding result: requirement was resolved but authorization failed.
|
|
160
|
+
*/
|
|
161
|
+
export interface DeniedBindingResult {
|
|
162
|
+
readonly kind: "denied";
|
|
163
|
+
readonly requirement: ResolvedRequirement["requirement"];
|
|
164
|
+
readonly provider: ApplicationState;
|
|
165
|
+
readonly authorization: Denied;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Binding result: requirement was not resolved.
|
|
169
|
+
*
|
|
170
|
+
* Unresolved and ambiguous requirements bypass authorization entirely.
|
|
171
|
+
* There is nothing to authorize when resolution fails.
|
|
172
|
+
*/
|
|
173
|
+
export type UnboundResult = UnresolvedRequirement | AmbiguousRequirement;
|
|
174
|
+
/**
|
|
175
|
+
* Application binding result: complete binding state for an application's requirements.
|
|
176
|
+
*
|
|
177
|
+
* Preserves the distinction between:
|
|
178
|
+
* - AUTHORIZED: resolved and authorized
|
|
179
|
+
* - DENIED: resolved but authorization failed
|
|
180
|
+
* - UNRESOLVED: no compatible provider found
|
|
181
|
+
* - AMBIGUOUS: multiple equally-valid providers
|
|
182
|
+
*/
|
|
183
|
+
export interface ApplicationBindingResult {
|
|
184
|
+
readonly application: ApplicationState;
|
|
185
|
+
/** Authorized bindings. */
|
|
186
|
+
readonly authorized: readonly AuthorizedCapabilityBinding[];
|
|
187
|
+
/** Denied bindings (resolved but not authorized). */
|
|
188
|
+
readonly denied: readonly DeniedBindingResult[];
|
|
189
|
+
/** Unresolved requirements. */
|
|
190
|
+
readonly unresolved: readonly UnresolvedRequirement[];
|
|
191
|
+
/** Ambiguous requirements. */
|
|
192
|
+
readonly ambiguous: readonly AmbiguousRequirement[];
|
|
193
|
+
/** All results in order. */
|
|
194
|
+
readonly results: readonly (BindingResult | UnboundResult)[];
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Default Authorization Policy: permits all authorized consumers.
|
|
198
|
+
*
|
|
199
|
+
* This policy checks the consumer's authorization profile against the capability's
|
|
200
|
+
* authorization requirements. It reuses the canonical AppPort permission semantics.
|
|
201
|
+
*
|
|
202
|
+
* For simple use cases and testing, this is often sufficient.
|
|
203
|
+
* For complex policies (trust services, scope-aware rules, etc.), provide a custom policy.
|
|
204
|
+
*/
|
|
205
|
+
export declare function defaultAuthorizationPolicy(): AuthorizationPolicy;
|
|
206
|
+
/**
|
|
207
|
+
* Allow-all Authorization Policy: permits every binding.
|
|
208
|
+
*
|
|
209
|
+
* Appropriate for local single-user runtimes and tests.
|
|
210
|
+
* Never appropriate for multi-principal deployments.
|
|
211
|
+
*/
|
|
212
|
+
export declare function allowAllAuthorizationPolicy(): AuthorizationPolicy;
|
|
213
|
+
/**
|
|
214
|
+
* Permission-based Authorization Policy: consumer must have required permissions.
|
|
215
|
+
*
|
|
216
|
+
* Reuses the canonical @appport/authorization permission semantics.
|
|
217
|
+
* A consumer has a set of granted permissions. A capability declares required permissions.
|
|
218
|
+
* The consumer must have all required permissions.
|
|
219
|
+
*
|
|
220
|
+
* Supports wildcard permissions (e.g., "documents.*" matches "documents.read").
|
|
221
|
+
*/
|
|
222
|
+
export declare function permissionAuthorizationPolicy(options: {
|
|
223
|
+
/** Resolve permissions for a consumer. */
|
|
224
|
+
resolvePermissions: (consumer: ApplicationState, provider: ApplicationState) => readonly string[] | Promise<readonly string[]>;
|
|
225
|
+
}): AuthorizationPolicy;
|
|
226
|
+
/**
|
|
227
|
+
* Deterministic Binding Identity
|
|
228
|
+
*
|
|
229
|
+
* Generates a deterministic identifier for a binding based on its semantic participants.
|
|
230
|
+
* Used to detect when the same binding would be created multiple times.
|
|
231
|
+
*
|
|
232
|
+
* Binding identity is deterministically derived from:
|
|
233
|
+
* - Consumer application ID
|
|
234
|
+
* - Requirement name
|
|
235
|
+
* - Provider application ID
|
|
236
|
+
* - Capability name + version
|
|
237
|
+
*
|
|
238
|
+
* Does NOT use:
|
|
239
|
+
* - Object identity
|
|
240
|
+
* - Process ID
|
|
241
|
+
* - Timestamp
|
|
242
|
+
* - Random UUID
|
|
243
|
+
* - Handler identity
|
|
244
|
+
*/
|
|
245
|
+
export declare function computeBindingId(binding: {
|
|
246
|
+
consumer: ApplicationState;
|
|
247
|
+
requirement: ResolvedRequirement["requirement"];
|
|
248
|
+
provider: ApplicationState;
|
|
249
|
+
capabilityName: string;
|
|
250
|
+
capabilityVersion: number;
|
|
251
|
+
}): string;
|
|
252
|
+
/**
|
|
253
|
+
* Capability Binder: Orchestrates authorization-aware capability binding.
|
|
254
|
+
*
|
|
255
|
+
* Flow:
|
|
256
|
+
* 1. Accept resolution results from ApplicationDependencyResolver
|
|
257
|
+
* 2. For each resolved requirement, evaluate authorization policy
|
|
258
|
+
* 3. Produce authorized bindings or explicit denials
|
|
259
|
+
* 4. Preserve unresolved/ambiguous as-is (they bypass authorization)
|
|
260
|
+
*
|
|
261
|
+
* The binder is:
|
|
262
|
+
* - Policy-driven: authorization logic is injected
|
|
263
|
+
* - Side-effect free: no DB, handlers, or runtime invocation
|
|
264
|
+
* - Deterministic: same input produces same binding
|
|
265
|
+
* - Stateless: receives all context as parameters
|
|
266
|
+
*/
|
|
267
|
+
export declare class CapabilityBinder {
|
|
268
|
+
#private;
|
|
269
|
+
constructor(policy?: AuthorizationPolicy);
|
|
270
|
+
/**
|
|
271
|
+
* Bind a single resolved requirement.
|
|
272
|
+
*
|
|
273
|
+
* Returns either an authorized binding or an explicit denial.
|
|
274
|
+
*
|
|
275
|
+
* Precondition: result must be a resolved requirement.
|
|
276
|
+
* This binder does not handle unresolved/ambiguous requirements.
|
|
277
|
+
*/
|
|
278
|
+
bindResolution(consumer: ApplicationState, result: ResolvedRequirement): Promise<BindingResult>;
|
|
279
|
+
/**
|
|
280
|
+
* Bind all resolvable requirements for an application.
|
|
281
|
+
*
|
|
282
|
+
* Accepts the results from ApplicationDependencyResolver and produces
|
|
283
|
+
* a complete application binding result.
|
|
284
|
+
*
|
|
285
|
+
* Flow for each requirement:
|
|
286
|
+
* - resolved → evaluate authorization → authorized binding or explicit denial
|
|
287
|
+
* - unresolved → pass through as-is (nothing to authorize)
|
|
288
|
+
* - ambiguous → pass through as-is (nothing to authorize)
|
|
289
|
+
*
|
|
290
|
+
* Returns a complete ApplicationBindingResult preserving all states.
|
|
291
|
+
*/
|
|
292
|
+
bindApplication(consumer: ApplicationState, resolutionResults: readonly (ResolvedRequirement | UnresolvedRequirement | AmbiguousRequirement)[]): Promise<ApplicationBindingResult>;
|
|
293
|
+
}
|
|
294
|
+
//# sourceMappingURL=binding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binding.d.ts","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"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"}
|