@appport/sdk 1.1.17 → 1.1.19
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 +9 -86
- package/dist/index.d.ts +13 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -18
- package/dist/index.js.map +1 -1
- package/dist/node.d.ts +1 -1
- package/dist/node.js +1 -1
- package/package.json +22 -32
- package/LICENSE +0 -126
- package/dist/application-onboarding.d.ts +0 -52
- package/dist/application-onboarding.d.ts.map +0 -1
- package/dist/application-onboarding.js +0 -50
- package/dist/application-onboarding.js.map +0 -1
- package/dist/external-compatibility.d.ts +0 -142
- package/dist/external-compatibility.d.ts.map +0 -1
- package/dist/external-compatibility.js +0 -132
- package/dist/external-compatibility.js.map +0 -1
- package/dist/provider-lifecycle.d.ts +0 -247
- package/dist/provider-lifecycle.d.ts.map +0 -1
- package/dist/provider-lifecycle.js +0 -314
- package/dist/provider-lifecycle.js.map +0 -1
- package/dist/resolution-policy.d.ts +0 -81
- package/dist/resolution-policy.d.ts.map +0 -1
- package/dist/resolution-policy.js +0 -131
- package/dist/resolution-policy.js.map +0 -1
- package/vendor/@appport/authorization/README.md +0 -28
- package/vendor/@appport/authorization/dist/index.d.ts +0 -94
- package/vendor/@appport/authorization/dist/index.d.ts.map +0 -1
- package/vendor/@appport/authorization/dist/index.js +0 -131
- package/vendor/@appport/authorization/dist/index.js.map +0 -1
- package/vendor/@appport/authorization/package.json +0 -28
- package/vendor/@appport/client/README.md +0 -35
- package/vendor/@appport/client/dist/channel.d.ts +0 -14
- package/vendor/@appport/client/dist/channel.d.ts.map +0 -1
- package/vendor/@appport/client/dist/channel.js +0 -58
- package/vendor/@appport/client/dist/channel.js.map +0 -1
- package/vendor/@appport/client/dist/client.d.ts +0 -61
- package/vendor/@appport/client/dist/client.d.ts.map +0 -1
- package/vendor/@appport/client/dist/client.js +0 -214
- package/vendor/@appport/client/dist/client.js.map +0 -1
- package/vendor/@appport/client/dist/contract.d.ts +0 -55
- package/vendor/@appport/client/dist/contract.d.ts.map +0 -1
- package/vendor/@appport/client/dist/contract.js +0 -12
- package/vendor/@appport/client/dist/contract.js.map +0 -1
- package/vendor/@appport/client/dist/discovery.d.ts +0 -17
- package/vendor/@appport/client/dist/discovery.d.ts.map +0 -1
- package/vendor/@appport/client/dist/discovery.js +0 -56
- package/vendor/@appport/client/dist/discovery.js.map +0 -1
- package/vendor/@appport/client/dist/duplex.d.ts +0 -25
- package/vendor/@appport/client/dist/duplex.d.ts.map +0 -1
- package/vendor/@appport/client/dist/duplex.js +0 -194
- package/vendor/@appport/client/dist/duplex.js.map +0 -1
- package/vendor/@appport/client/dist/host.d.ts +0 -62
- package/vendor/@appport/client/dist/host.d.ts.map +0 -1
- package/vendor/@appport/client/dist/host.js +0 -139
- package/vendor/@appport/client/dist/host.js.map +0 -1
- package/vendor/@appport/client/dist/index.d.ts +0 -14
- package/vendor/@appport/client/dist/index.d.ts.map +0 -1
- package/vendor/@appport/client/dist/index.js +0 -14
- package/vendor/@appport/client/dist/index.js.map +0 -1
- package/vendor/@appport/client/dist/transport.d.ts +0 -42
- package/vendor/@appport/client/dist/transport.d.ts.map +0 -1
- package/vendor/@appport/client/dist/transport.js +0 -2
- package/vendor/@appport/client/dist/transport.js.map +0 -1
- package/vendor/@appport/client/package.json +0 -32
- package/vendor/@appport/core/README.md +0 -91
- package/vendor/@appport/core/dist/appboundry-capability-catalog.d.ts +0 -930
- package/vendor/@appport/core/dist/appboundry-capability-catalog.d.ts.map +0 -1
- package/vendor/@appport/core/dist/appboundry-capability-catalog.js +0 -352
- package/vendor/@appport/core/dist/appboundry-capability-catalog.js.map +0 -1
- package/vendor/@appport/core/dist/appboundry-composition.d.ts +0 -93
- package/vendor/@appport/core/dist/appboundry-composition.d.ts.map +0 -1
- package/vendor/@appport/core/dist/appboundry-composition.js +0 -184
- package/vendor/@appport/core/dist/appboundry-composition.js.map +0 -1
- package/vendor/@appport/core/dist/appboundry-contract.d.ts +0 -80
- package/vendor/@appport/core/dist/appboundry-contract.d.ts.map +0 -1
- package/vendor/@appport/core/dist/appboundry-contract.js +0 -160
- package/vendor/@appport/core/dist/appboundry-contract.js.map +0 -1
- package/vendor/@appport/core/dist/appboundry-diagnostics.d.ts +0 -107
- package/vendor/@appport/core/dist/appboundry-diagnostics.d.ts.map +0 -1
- package/vendor/@appport/core/dist/appboundry-diagnostics.js +0 -358
- package/vendor/@appport/core/dist/appboundry-diagnostics.js.map +0 -1
- package/vendor/@appport/core/dist/appboundry-discovery.d.ts +0 -110
- package/vendor/@appport/core/dist/appboundry-discovery.d.ts.map +0 -1
- package/vendor/@appport/core/dist/appboundry-discovery.js +0 -141
- package/vendor/@appport/core/dist/appboundry-discovery.js.map +0 -1
- package/vendor/@appport/core/dist/appboundry-entitlements.d.ts +0 -128
- package/vendor/@appport/core/dist/appboundry-entitlements.d.ts.map +0 -1
- package/vendor/@appport/core/dist/appboundry-entitlements.js +0 -312
- package/vendor/@appport/core/dist/appboundry-entitlements.js.map +0 -1
- package/vendor/@appport/core/dist/appboundry-execution.d.ts +0 -84
- package/vendor/@appport/core/dist/appboundry-execution.d.ts.map +0 -1
- package/vendor/@appport/core/dist/appboundry-execution.js +0 -150
- package/vendor/@appport/core/dist/appboundry-execution.js.map +0 -1
- package/vendor/@appport/core/dist/appboundry-exercise.d.ts +0 -152
- package/vendor/@appport/core/dist/appboundry-exercise.d.ts.map +0 -1
- package/vendor/@appport/core/dist/appboundry-exercise.js +0 -416
- package/vendor/@appport/core/dist/appboundry-exercise.js.map +0 -1
- package/vendor/@appport/core/dist/appboundry-materialization.d.ts +0 -222
- package/vendor/@appport/core/dist/appboundry-materialization.d.ts.map +0 -1
- package/vendor/@appport/core/dist/appboundry-materialization.js +0 -494
- package/vendor/@appport/core/dist/appboundry-materialization.js.map +0 -1
- package/vendor/@appport/core/dist/appboundry-migration.d.ts +0 -195
- package/vendor/@appport/core/dist/appboundry-migration.d.ts.map +0 -1
- package/vendor/@appport/core/dist/appboundry-migration.js +0 -227
- package/vendor/@appport/core/dist/appboundry-migration.js.map +0 -1
- package/vendor/@appport/core/dist/appboundry-onboarding.d.ts +0 -70
- package/vendor/@appport/core/dist/appboundry-onboarding.d.ts.map +0 -1
- package/vendor/@appport/core/dist/appboundry-onboarding.js +0 -232
- package/vendor/@appport/core/dist/appboundry-onboarding.js.map +0 -1
- package/vendor/@appport/core/dist/appboundry-operation-discovery.d.ts +0 -93
- package/vendor/@appport/core/dist/appboundry-operation-discovery.d.ts.map +0 -1
- package/vendor/@appport/core/dist/appboundry-operation-discovery.js +0 -89
- package/vendor/@appport/core/dist/appboundry-operation-discovery.js.map +0 -1
- package/vendor/@appport/core/dist/appboundry-resolution.d.ts +0 -160
- package/vendor/@appport/core/dist/appboundry-resolution.d.ts.map +0 -1
- package/vendor/@appport/core/dist/appboundry-resolution.js +0 -218
- package/vendor/@appport/core/dist/appboundry-resolution.js.map +0 -1
- package/vendor/@appport/core/dist/appboundry-surface.d.ts +0 -96
- package/vendor/@appport/core/dist/appboundry-surface.d.ts.map +0 -1
- package/vendor/@appport/core/dist/appboundry-surface.js +0 -223
- package/vendor/@appport/core/dist/appboundry-surface.js.map +0 -1
- package/vendor/@appport/core/dist/appboundry-usage.d.ts +0 -94
- package/vendor/@appport/core/dist/appboundry-usage.d.ts.map +0 -1
- package/vendor/@appport/core/dist/appboundry-usage.js +0 -80
- package/vendor/@appport/core/dist/appboundry-usage.js.map +0 -1
- package/vendor/@appport/core/dist/application-implementation.d.ts +0 -125
- package/vendor/@appport/core/dist/application-implementation.d.ts.map +0 -1
- package/vendor/@appport/core/dist/application-implementation.js +0 -220
- package/vendor/@appport/core/dist/application-implementation.js.map +0 -1
- package/vendor/@appport/core/dist/application-lifecycle.d.ts +0 -150
- package/vendor/@appport/core/dist/application-lifecycle.d.ts.map +0 -1
- package/vendor/@appport/core/dist/application-lifecycle.js +0 -70
- package/vendor/@appport/core/dist/application-lifecycle.js.map +0 -1
- package/vendor/@appport/core/dist/application-package.d.ts +0 -105
- package/vendor/@appport/core/dist/application-package.d.ts.map +0 -1
- package/vendor/@appport/core/dist/application-package.js +0 -349
- package/vendor/@appport/core/dist/application-package.js.map +0 -1
- package/vendor/@appport/core/dist/application-source.d.ts +0 -109
- package/vendor/@appport/core/dist/application-source.d.ts.map +0 -1
- package/vendor/@appport/core/dist/application-source.js +0 -186
- package/vendor/@appport/core/dist/application-source.js.map +0 -1
- package/vendor/@appport/core/dist/application.d.ts +0 -124
- package/vendor/@appport/core/dist/application.d.ts.map +0 -1
- package/vendor/@appport/core/dist/application.js +0 -518
- package/vendor/@appport/core/dist/application.js.map +0 -1
- package/vendor/@appport/core/dist/artifact.d.ts +0 -395
- package/vendor/@appport/core/dist/artifact.d.ts.map +0 -1
- package/vendor/@appport/core/dist/artifact.js +0 -392
- package/vendor/@appport/core/dist/artifact.js.map +0 -1
- package/vendor/@appport/core/dist/assembly.d.ts +0 -237
- package/vendor/@appport/core/dist/assembly.d.ts.map +0 -1
- package/vendor/@appport/core/dist/assembly.js +0 -458
- package/vendor/@appport/core/dist/assembly.js.map +0 -1
- package/vendor/@appport/core/dist/authority-attestation.d.ts +0 -34
- package/vendor/@appport/core/dist/authority-attestation.d.ts.map +0 -1
- package/vendor/@appport/core/dist/authority-attestation.js +0 -72
- package/vendor/@appport/core/dist/authority-attestation.js.map +0 -1
- package/vendor/@appport/core/dist/authorization-grant.d.ts +0 -107
- package/vendor/@appport/core/dist/authorization-grant.d.ts.map +0 -1
- package/vendor/@appport/core/dist/authorization-grant.js +0 -131
- package/vendor/@appport/core/dist/authorization-grant.js.map +0 -1
- package/vendor/@appport/core/dist/binding.d.ts +0 -294
- package/vendor/@appport/core/dist/binding.d.ts.map +0 -1
- package/vendor/@appport/core/dist/binding.js +0 -263
- package/vendor/@appport/core/dist/binding.js.map +0 -1
- package/vendor/@appport/core/dist/builtins.d.ts +0 -18
- package/vendor/@appport/core/dist/builtins.d.ts.map +0 -1
- package/vendor/@appport/core/dist/builtins.js +0 -38
- package/vendor/@appport/core/dist/builtins.js.map +0 -1
- package/vendor/@appport/core/dist/capability.d.ts +0 -94
- package/vendor/@appport/core/dist/capability.d.ts.map +0 -1
- package/vendor/@appport/core/dist/capability.js +0 -85
- package/vendor/@appport/core/dist/capability.js.map +0 -1
- package/vendor/@appport/core/dist/concurrency.d.ts +0 -16
- package/vendor/@appport/core/dist/concurrency.d.ts.map +0 -1
- package/vendor/@appport/core/dist/concurrency.js +0 -46
- package/vendor/@appport/core/dist/concurrency.js.map +0 -1
- package/vendor/@appport/core/dist/context.d.ts +0 -59
- package/vendor/@appport/core/dist/context.d.ts.map +0 -1
- package/vendor/@appport/core/dist/context.js +0 -14
- package/vendor/@appport/core/dist/context.js.map +0 -1
- package/vendor/@appport/core/dist/contract-artifact.d.ts +0 -15
- package/vendor/@appport/core/dist/contract-artifact.d.ts.map +0 -1
- package/vendor/@appport/core/dist/contract-artifact.js +0 -161
- package/vendor/@appport/core/dist/contract-artifact.js.map +0 -1
- package/vendor/@appport/core/dist/contract-attestation.d.ts +0 -68
- package/vendor/@appport/core/dist/contract-attestation.d.ts.map +0 -1
- package/vendor/@appport/core/dist/contract-attestation.js +0 -76
- package/vendor/@appport/core/dist/contract-attestation.js.map +0 -1
- package/vendor/@appport/core/dist/crash-injection.d.ts +0 -3
- package/vendor/@appport/core/dist/crash-injection.d.ts.map +0 -1
- package/vendor/@appport/core/dist/crash-injection.js +0 -8
- package/vendor/@appport/core/dist/crash-injection.js.map +0 -1
- package/vendor/@appport/core/dist/events.d.ts +0 -33
- package/vendor/@appport/core/dist/events.d.ts.map +0 -1
- package/vendor/@appport/core/dist/events.js +0 -79
- package/vendor/@appport/core/dist/events.js.map +0 -1
- package/vendor/@appport/core/dist/execution-barrier.d.ts +0 -13
- package/vendor/@appport/core/dist/execution-barrier.d.ts.map +0 -1
- package/vendor/@appport/core/dist/execution-barrier.js +0 -33
- package/vendor/@appport/core/dist/execution-barrier.js.map +0 -1
- package/vendor/@appport/core/dist/execution-ledger.d.ts +0 -81
- package/vendor/@appport/core/dist/execution-ledger.d.ts.map +0 -1
- package/vendor/@appport/core/dist/execution-ledger.js +0 -173
- package/vendor/@appport/core/dist/execution-ledger.js.map +0 -1
- package/vendor/@appport/core/dist/execution.d.ts +0 -387
- package/vendor/@appport/core/dist/execution.d.ts.map +0 -1
- package/vendor/@appport/core/dist/execution.js +0 -165
- package/vendor/@appport/core/dist/execution.js.map +0 -1
- package/vendor/@appport/core/dist/idempotency.d.ts +0 -36
- package/vendor/@appport/core/dist/idempotency.d.ts.map +0 -1
- package/vendor/@appport/core/dist/idempotency.js +0 -36
- package/vendor/@appport/core/dist/idempotency.js.map +0 -1
- package/vendor/@appport/core/dist/implementation.d.ts +0 -110
- package/vendor/@appport/core/dist/implementation.d.ts.map +0 -1
- package/vendor/@appport/core/dist/implementation.js +0 -65
- package/vendor/@appport/core/dist/implementation.js.map +0 -1
- package/vendor/@appport/core/dist/index.d.ts +0 -61
- package/vendor/@appport/core/dist/index.d.ts.map +0 -1
- package/vendor/@appport/core/dist/index.js +0 -60
- package/vendor/@appport/core/dist/index.js.map +0 -1
- package/vendor/@appport/core/dist/invocation.d.ts +0 -253
- package/vendor/@appport/core/dist/invocation.d.ts.map +0 -1
- package/vendor/@appport/core/dist/invocation.js +0 -258
- package/vendor/@appport/core/dist/invocation.js.map +0 -1
- package/vendor/@appport/core/dist/manifest.d.ts +0 -157
- package/vendor/@appport/core/dist/manifest.d.ts.map +0 -1
- package/vendor/@appport/core/dist/manifest.js +0 -255
- package/vendor/@appport/core/dist/manifest.js.map +0 -1
- package/vendor/@appport/core/dist/memory-application-data-store.d.ts +0 -19
- package/vendor/@appport/core/dist/memory-application-data-store.d.ts.map +0 -1
- package/vendor/@appport/core/dist/memory-application-data-store.js +0 -161
- package/vendor/@appport/core/dist/memory-application-data-store.js.map +0 -1
- package/vendor/@appport/core/dist/operations.d.ts +0 -61
- package/vendor/@appport/core/dist/operations.d.ts.map +0 -1
- package/vendor/@appport/core/dist/operations.js +0 -210
- package/vendor/@appport/core/dist/operations.js.map +0 -1
- package/vendor/@appport/core/dist/provider-contract.d.ts +0 -89
- package/vendor/@appport/core/dist/provider-contract.d.ts.map +0 -1
- package/vendor/@appport/core/dist/provider-contract.js +0 -40
- package/vendor/@appport/core/dist/provider-contract.js.map +0 -1
- package/vendor/@appport/core/dist/public.d.ts +0 -20
- package/vendor/@appport/core/dist/public.d.ts.map +0 -1
- package/vendor/@appport/core/dist/public.js +0 -19
- package/vendor/@appport/core/dist/public.js.map +0 -1
- package/vendor/@appport/core/dist/registration.d.ts +0 -165
- package/vendor/@appport/core/dist/registration.d.ts.map +0 -1
- package/vendor/@appport/core/dist/registration.js +0 -253
- package/vendor/@appport/core/dist/registration.js.map +0 -1
- package/vendor/@appport/core/dist/registry.d.ts +0 -30
- package/vendor/@appport/core/dist/registry.d.ts.map +0 -1
- package/vendor/@appport/core/dist/registry.js +0 -149
- package/vendor/@appport/core/dist/registry.js.map +0 -1
- package/vendor/@appport/core/dist/repository-connection.d.ts +0 -100
- package/vendor/@appport/core/dist/repository-connection.d.ts.map +0 -1
- package/vendor/@appport/core/dist/repository-connection.js +0 -57
- package/vendor/@appport/core/dist/repository-connection.js.map +0 -1
- package/vendor/@appport/core/dist/resolver.d.ts +0 -130
- package/vendor/@appport/core/dist/resolver.d.ts.map +0 -1
- package/vendor/@appport/core/dist/resolver.js +0 -252
- package/vendor/@appport/core/dist/resolver.js.map +0 -1
- package/vendor/@appport/core/dist/runtime-manifest.d.ts +0 -68
- package/vendor/@appport/core/dist/runtime-manifest.d.ts.map +0 -1
- package/vendor/@appport/core/dist/runtime-manifest.js +0 -84
- package/vendor/@appport/core/dist/runtime-manifest.js.map +0 -1
- package/vendor/@appport/core/dist/sanitize.d.ts +0 -14
- package/vendor/@appport/core/dist/sanitize.d.ts.map +0 -1
- package/vendor/@appport/core/dist/sanitize.js +0 -49
- package/vendor/@appport/core/dist/sanitize.js.map +0 -1
- package/vendor/@appport/core/dist/server-internal.d.ts +0 -5
- package/vendor/@appport/core/dist/server-internal.d.ts.map +0 -1
- package/vendor/@appport/core/dist/server-internal.js +0 -4
- package/vendor/@appport/core/dist/server-internal.js.map +0 -1
- package/vendor/@appport/core/dist/sessions.d.ts +0 -29
- package/vendor/@appport/core/dist/sessions.d.ts.map +0 -1
- package/vendor/@appport/core/dist/sessions.js +0 -39
- package/vendor/@appport/core/dist/sessions.js.map +0 -1
- package/vendor/@appport/core/dist/sha256.d.ts +0 -3
- package/vendor/@appport/core/dist/sha256.d.ts.map +0 -1
- package/vendor/@appport/core/dist/sha256.js +0 -46
- package/vendor/@appport/core/dist/sha256.js.map +0 -1
- package/vendor/@appport/core/dist/source-verification.d.ts +0 -53
- package/vendor/@appport/core/dist/source-verification.d.ts.map +0 -1
- package/vendor/@appport/core/dist/source-verification.js +0 -92
- package/vendor/@appport/core/dist/source-verification.js.map +0 -1
- package/vendor/@appport/core/dist/state-context.d.ts +0 -312
- package/vendor/@appport/core/dist/state-context.d.ts.map +0 -1
- package/vendor/@appport/core/dist/state-context.js +0 -100
- package/vendor/@appport/core/dist/state-context.js.map +0 -1
- package/vendor/@appport/core/dist/state.d.ts +0 -96
- package/vendor/@appport/core/dist/state.d.ts.map +0 -1
- package/vendor/@appport/core/dist/state.js +0 -89
- package/vendor/@appport/core/dist/state.js.map +0 -1
- package/vendor/@appport/core/dist/streams.d.ts +0 -38
- package/vendor/@appport/core/dist/streams.d.ts.map +0 -1
- package/vendor/@appport/core/dist/streams.js +0 -123
- package/vendor/@appport/core/dist/streams.js.map +0 -1
- package/vendor/@appport/core/dist/telemetry.d.ts +0 -42
- package/vendor/@appport/core/dist/telemetry.d.ts.map +0 -1
- package/vendor/@appport/core/dist/telemetry.js +0 -32
- package/vendor/@appport/core/dist/telemetry.js.map +0 -1
- package/vendor/@appport/core/dist/wasm-engine.d.ts +0 -24
- package/vendor/@appport/core/dist/wasm-engine.d.ts.map +0 -1
- package/vendor/@appport/core/dist/wasm-engine.js +0 -376
- package/vendor/@appport/core/dist/wasm-engine.js.map +0 -1
- package/vendor/@appport/core/package.json +0 -58
- package/vendor/@appport/mcp/README.md +0 -29
- package/vendor/@appport/mcp/dist/index.d.ts +0 -58
- package/vendor/@appport/mcp/dist/index.d.ts.map +0 -1
- package/vendor/@appport/mcp/dist/index.js +0 -69
- package/vendor/@appport/mcp/dist/index.js.map +0 -1
- package/vendor/@appport/mcp/package.json +0 -29
- package/vendor/@appport/mobile/README.md +0 -10
- package/vendor/@appport/mobile/dist/index.d.ts +0 -66
- package/vendor/@appport/mobile/dist/index.d.ts.map +0 -1
- package/vendor/@appport/mobile/dist/index.js +0 -182
- package/vendor/@appport/mobile/dist/index.js.map +0 -1
- package/vendor/@appport/mobile/package.json +0 -33
- package/vendor/@appport/protocol/README.md +0 -41
- package/vendor/@appport/protocol/dist/blob.d.ts +0 -46
- package/vendor/@appport/protocol/dist/blob.d.ts.map +0 -1
- package/vendor/@appport/protocol/dist/blob.js +0 -23
- package/vendor/@appport/protocol/dist/blob.js.map +0 -1
- package/vendor/@appport/protocol/dist/compatibility.d.ts +0 -25
- package/vendor/@appport/protocol/dist/compatibility.d.ts.map +0 -1
- package/vendor/@appport/protocol/dist/compatibility.js +0 -189
- package/vendor/@appport/protocol/dist/compatibility.js.map +0 -1
- package/vendor/@appport/protocol/dist/envelopes.d.ts +0 -175
- package/vendor/@appport/protocol/dist/envelopes.d.ts.map +0 -1
- package/vendor/@appport/protocol/dist/envelopes.js +0 -97
- package/vendor/@appport/protocol/dist/envelopes.js.map +0 -1
- package/vendor/@appport/protocol/dist/errors.d.ts +0 -74
- package/vendor/@appport/protocol/dist/errors.d.ts.map +0 -1
- package/vendor/@appport/protocol/dist/errors.js +0 -92
- package/vendor/@appport/protocol/dist/errors.js.map +0 -1
- package/vendor/@appport/protocol/dist/ids.d.ts +0 -12
- package/vendor/@appport/protocol/dist/ids.d.ts.map +0 -1
- package/vendor/@appport/protocol/dist/ids.js +0 -50
- package/vendor/@appport/protocol/dist/ids.js.map +0 -1
- package/vendor/@appport/protocol/dist/index.d.ts +0 -21
- package/vendor/@appport/protocol/dist/index.d.ts.map +0 -1
- package/vendor/@appport/protocol/dist/index.js +0 -21
- package/vendor/@appport/protocol/dist/index.js.map +0 -1
- package/vendor/@appport/protocol/dist/jsonschema.d.ts +0 -50
- package/vendor/@appport/protocol/dist/jsonschema.d.ts.map +0 -1
- package/vendor/@appport/protocol/dist/jsonschema.js +0 -6
- package/vendor/@appport/protocol/dist/jsonschema.js.map +0 -1
- package/vendor/@appport/protocol/dist/manifest.d.ts +0 -134
- package/vendor/@appport/protocol/dist/manifest.d.ts.map +0 -1
- package/vendor/@appport/protocol/dist/manifest.js +0 -20
- package/vendor/@appport/protocol/dist/manifest.js.map +0 -1
- package/vendor/@appport/protocol/dist/materialization.d.ts +0 -59
- package/vendor/@appport/protocol/dist/materialization.d.ts.map +0 -1
- package/vendor/@appport/protocol/dist/materialization.js +0 -2
- package/vendor/@appport/protocol/dist/materialization.js.map +0 -1
- package/vendor/@appport/protocol/dist/names.d.ts +0 -26
- package/vendor/@appport/protocol/dist/names.d.ts.map +0 -1
- package/vendor/@appport/protocol/dist/names.js +0 -85
- package/vendor/@appport/protocol/dist/names.js.map +0 -1
- package/vendor/@appport/protocol/dist/operations.d.ts +0 -34
- package/vendor/@appport/protocol/dist/operations.d.ts.map +0 -1
- package/vendor/@appport/protocol/dist/operations.js +0 -9
- package/vendor/@appport/protocol/dist/operations.js.map +0 -1
- package/vendor/@appport/protocol/dist/session.d.ts +0 -27
- package/vendor/@appport/protocol/dist/session.d.ts.map +0 -1
- package/vendor/@appport/protocol/dist/session.js +0 -7
- package/vendor/@appport/protocol/dist/session.js.map +0 -1
- package/vendor/@appport/protocol/dist/validate.d.ts +0 -37
- package/vendor/@appport/protocol/dist/validate.d.ts.map +0 -1
- package/vendor/@appport/protocol/dist/validate.js +0 -321
- package/vendor/@appport/protocol/dist/validate.js.map +0 -1
- package/vendor/@appport/protocol/dist/version.d.ts +0 -27
- package/vendor/@appport/protocol/dist/version.d.ts.map +0 -1
- package/vendor/@appport/protocol/dist/version.js +0 -26
- package/vendor/@appport/protocol/dist/version.js.map +0 -1
- package/vendor/@appport/protocol/package.json +0 -25
- package/vendor/@appport/schema/README.md +0 -32
- package/vendor/@appport/schema/dist/builder.d.ts +0 -85
- package/vendor/@appport/schema/dist/builder.d.ts.map +0 -1
- package/vendor/@appport/schema/dist/builder.js +0 -278
- package/vendor/@appport/schema/dist/builder.js.map +0 -1
- package/vendor/@appport/schema/dist/from-json-schema.d.ts +0 -12
- package/vendor/@appport/schema/dist/from-json-schema.d.ts.map +0 -1
- package/vendor/@appport/schema/dist/from-json-schema.js +0 -186
- package/vendor/@appport/schema/dist/from-json-schema.js.map +0 -1
- package/vendor/@appport/schema/dist/index.d.ts +0 -23
- package/vendor/@appport/schema/dist/index.d.ts.map +0 -1
- package/vendor/@appport/schema/dist/index.js +0 -22
- package/vendor/@appport/schema/dist/index.js.map +0 -1
- package/vendor/@appport/schema/dist/standard.d.ts +0 -46
- package/vendor/@appport/schema/dist/standard.d.ts.map +0 -1
- package/vendor/@appport/schema/dist/standard.js +0 -42
- package/vendor/@appport/schema/dist/standard.js.map +0 -1
- package/vendor/@appport/schema/dist/types.d.ts +0 -40
- package/vendor/@appport/schema/dist/types.d.ts.map +0 -1
- package/vendor/@appport/schema/dist/types.js +0 -19
- package/vendor/@appport/schema/dist/types.js.map +0 -1
- package/vendor/@appport/schema/package.json +0 -28
- package/vendor/@appport/server/README.md +0 -39
- package/vendor/@appport/server/dist/connection.d.ts +0 -45
- package/vendor/@appport/server/dist/connection.d.ts.map +0 -1
- package/vendor/@appport/server/dist/connection.js +0 -217
- package/vendor/@appport/server/dist/connection.js.map +0 -1
- package/vendor/@appport/server/dist/fetch.d.ts +0 -10
- package/vendor/@appport/server/dist/fetch.d.ts.map +0 -1
- package/vendor/@appport/server/dist/fetch.js +0 -50
- package/vendor/@appport/server/dist/fetch.js.map +0 -1
- package/vendor/@appport/server/dist/http.d.ts +0 -80
- package/vendor/@appport/server/dist/http.d.ts.map +0 -1
- package/vendor/@appport/server/dist/http.js +0 -307
- package/vendor/@appport/server/dist/http.js.map +0 -1
- package/vendor/@appport/server/dist/index.d.ts +0 -11
- package/vendor/@appport/server/dist/index.d.ts.map +0 -1
- package/vendor/@appport/server/dist/index.js +0 -11
- package/vendor/@appport/server/dist/index.js.map +0 -1
- package/vendor/@appport/server/dist/node-entry.d.ts +0 -4
- package/vendor/@appport/server/dist/node-entry.d.ts.map +0 -1
- package/vendor/@appport/server/dist/node-entry.js +0 -4
- package/vendor/@appport/server/dist/node-entry.js.map +0 -1
- package/vendor/@appport/server/dist/node.d.ts +0 -45
- package/vendor/@appport/server/dist/node.d.ts.map +0 -1
- package/vendor/@appport/server/dist/node.js +0 -190
- package/vendor/@appport/server/dist/node.js.map +0 -1
- package/vendor/@appport/server/dist/server.d.ts +0 -83
- package/vendor/@appport/server/dist/server.d.ts.map +0 -1
- package/vendor/@appport/server/dist/server.js +0 -114
- package/vendor/@appport/server/dist/server.js.map +0 -1
- package/vendor/@appport/server/dist/websocket.d.ts +0 -25
- package/vendor/@appport/server/dist/websocket.d.ts.map +0 -1
- package/vendor/@appport/server/dist/websocket.js +0 -221
- package/vendor/@appport/server/dist/websocket.js.map +0 -1
- package/vendor/@appport/server/package.json +0 -34
- package/vendor/@appport/transport-electron/README.md +0 -56
- package/vendor/@appport/transport-electron/dist/index.d.ts +0 -11
- package/vendor/@appport/transport-electron/dist/index.d.ts.map +0 -1
- package/vendor/@appport/transport-electron/dist/index.js +0 -11
- package/vendor/@appport/transport-electron/dist/index.js.map +0 -1
- package/vendor/@appport/transport-electron/dist/main.d.ts +0 -31
- package/vendor/@appport/transport-electron/dist/main.d.ts.map +0 -1
- package/vendor/@appport/transport-electron/dist/main.js +0 -61
- package/vendor/@appport/transport-electron/dist/main.js.map +0 -1
- package/vendor/@appport/transport-electron/dist/preload.d.ts +0 -22
- package/vendor/@appport/transport-electron/dist/preload.d.ts.map +0 -1
- package/vendor/@appport/transport-electron/dist/preload.js +0 -29
- package/vendor/@appport/transport-electron/dist/preload.js.map +0 -1
- package/vendor/@appport/transport-electron/dist/renderer.d.ts +0 -16
- package/vendor/@appport/transport-electron/dist/renderer.d.ts.map +0 -1
- package/vendor/@appport/transport-electron/dist/renderer.js +0 -36
- package/vendor/@appport/transport-electron/dist/renderer.js.map +0 -1
- package/vendor/@appport/transport-electron/dist/types.d.ts +0 -49
- package/vendor/@appport/transport-electron/dist/types.d.ts.map +0 -1
- package/vendor/@appport/transport-electron/dist/types.js +0 -5
- package/vendor/@appport/transport-electron/dist/types.js.map +0 -1
- package/vendor/@appport/transport-electron/package.json +0 -46
- package/vendor/@appport/transport-http/README.md +0 -24
- package/vendor/@appport/transport-http/dist/index.d.ts +0 -18
- package/vendor/@appport/transport-http/dist/index.d.ts.map +0 -1
- package/vendor/@appport/transport-http/dist/index.js +0 -223
- package/vendor/@appport/transport-http/dist/index.js.map +0 -1
- package/vendor/@appport/transport-http/package.json +0 -29
- package/vendor/@appport/transport-inprocess/README.md +0 -24
- package/vendor/@appport/transport-inprocess/dist/index.d.ts +0 -16
- package/vendor/@appport/transport-inprocess/dist/index.d.ts.map +0 -1
- package/vendor/@appport/transport-inprocess/dist/index.js +0 -30
- package/vendor/@appport/transport-inprocess/dist/index.js.map +0 -1
- package/vendor/@appport/transport-inprocess/package.json +0 -30
- package/vendor/@appport/transport-tauri/README.md +0 -45
- package/vendor/@appport/transport-tauri/dist/index.d.ts +0 -23
- package/vendor/@appport/transport-tauri/dist/index.d.ts.map +0 -1
- package/vendor/@appport/transport-tauri/dist/index.js +0 -44
- package/vendor/@appport/transport-tauri/dist/index.js.map +0 -1
- package/vendor/@appport/transport-tauri/package.json +0 -29
- package/vendor/@appport/transport-websocket/README.md +0 -22
- package/vendor/@appport/transport-websocket/dist/index.d.ts +0 -26
- package/vendor/@appport/transport-websocket/dist/index.d.ts.map +0 -1
- package/vendor/@appport/transport-websocket/dist/index.js +0 -72
- package/vendor/@appport/transport-websocket/dist/index.js.map +0 -1
- package/vendor/@appport/transport-websocket/package.json +0 -29
|
@@ -1,263 +0,0 @@
|
|
|
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 { transferAuthorizationAttestation, transferResolutionAttestation } from "./authority-attestation.js";
|
|
15
|
-
// Runtime attestation is deliberately module-private. TypeScript interfaces are
|
|
16
|
-
// structural and disappear at runtime; without an issuance check, a caller could
|
|
17
|
-
// manufacture `{ authorization: { kind: "authorized" } }` and bypass the binder.
|
|
18
|
-
const issuedBindings = new WeakSet();
|
|
19
|
-
/** Throws unless the exact binding object was issued by CapabilityBinder. */
|
|
20
|
-
export function assertIssuedAuthorizedBinding(binding) {
|
|
21
|
-
if (typeof binding !== "object" || binding === null || !issuedBindings.has(binding)) {
|
|
22
|
-
throw new Error("Authorized capability binding was not issued by CapabilityBinder");
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Default Authorization Policy: permits all authorized consumers.
|
|
27
|
-
*
|
|
28
|
-
* This policy checks the consumer's authorization profile against the capability's
|
|
29
|
-
* authorization requirements. It reuses the canonical AppPort permission semantics.
|
|
30
|
-
*
|
|
31
|
-
* For simple use cases and testing, this is often sufficient.
|
|
32
|
-
* For complex policies (trust services, scope-aware rules, etc.), provide a custom policy.
|
|
33
|
-
*/
|
|
34
|
-
export function defaultAuthorizationPolicy() {
|
|
35
|
-
return {
|
|
36
|
-
evaluate(_context) {
|
|
37
|
-
// Default: permit all bindings
|
|
38
|
-
// This is appropriate for local single-user runtimes and tests
|
|
39
|
-
// but not for networked multi-principal deployments.
|
|
40
|
-
return { kind: "authorized" };
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Allow-all Authorization Policy: permits every binding.
|
|
46
|
-
*
|
|
47
|
-
* Appropriate for local single-user runtimes and tests.
|
|
48
|
-
* Never appropriate for multi-principal deployments.
|
|
49
|
-
*/
|
|
50
|
-
export function allowAllAuthorizationPolicy() {
|
|
51
|
-
return {
|
|
52
|
-
evaluate() {
|
|
53
|
-
return { kind: "authorized" };
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Permission-based Authorization Policy: consumer must have required permissions.
|
|
59
|
-
*
|
|
60
|
-
* Reuses the canonical @appport/authorization permission semantics.
|
|
61
|
-
* A consumer has a set of granted permissions. A capability declares required permissions.
|
|
62
|
-
* The consumer must have all required permissions.
|
|
63
|
-
*
|
|
64
|
-
* Supports wildcard permissions (e.g., "documents.*" matches "documents.read").
|
|
65
|
-
*/
|
|
66
|
-
export function permissionAuthorizationPolicy(options) {
|
|
67
|
-
return {
|
|
68
|
-
async evaluate(context) {
|
|
69
|
-
const permissions = await options.resolvePermissions(context.consumer, context.provider);
|
|
70
|
-
// All bindings permitted if consumer has any permission
|
|
71
|
-
// In practice, this would check specific capability requirements
|
|
72
|
-
if (permissions.length > 0) {
|
|
73
|
-
return { kind: "authorized", grantedScopes: permissions };
|
|
74
|
-
}
|
|
75
|
-
return {
|
|
76
|
-
kind: "denied",
|
|
77
|
-
reason: "capability_not_permitted",
|
|
78
|
-
message: `Consumer "${context.consumer.id}" has no permissions to use capability "${context.capabilityName}" from provider "${context.provider.id}"`
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Deterministic Binding Identity
|
|
85
|
-
*
|
|
86
|
-
* Generates a deterministic identifier for a binding based on its semantic participants.
|
|
87
|
-
* Used to detect when the same binding would be created multiple times.
|
|
88
|
-
*
|
|
89
|
-
* Binding identity is deterministically derived from:
|
|
90
|
-
* - Consumer application ID
|
|
91
|
-
* - Requirement name
|
|
92
|
-
* - Provider application ID
|
|
93
|
-
* - Capability name + version
|
|
94
|
-
*
|
|
95
|
-
* Does NOT use:
|
|
96
|
-
* - Object identity
|
|
97
|
-
* - Process ID
|
|
98
|
-
* - Timestamp
|
|
99
|
-
* - Random UUID
|
|
100
|
-
* - Handler identity
|
|
101
|
-
*/
|
|
102
|
-
export function computeBindingId(binding) {
|
|
103
|
-
const parts = [
|
|
104
|
-
binding.consumer.id,
|
|
105
|
-
binding.requirement.name,
|
|
106
|
-
binding.provider.id,
|
|
107
|
-
`${binding.capabilityName}@${binding.capabilityVersion}`
|
|
108
|
-
];
|
|
109
|
-
return parts.join("::");
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Authority follows the consumer's own contract: the existence of a provider
|
|
113
|
-
* must not create authority for a capability the consumer never declared.
|
|
114
|
-
*
|
|
115
|
-
* Only consumers whose authoritative manifest is available can be checked;
|
|
116
|
-
* a consumer identity without a registered contract carries no declaration
|
|
117
|
-
* to evaluate.
|
|
118
|
-
*/
|
|
119
|
-
function undeclaredRequirementDenial(consumer, result) {
|
|
120
|
-
const declared = consumer?.manifest?.requires;
|
|
121
|
-
if (!declared)
|
|
122
|
-
return undefined;
|
|
123
|
-
const requirement = result.requirement;
|
|
124
|
-
if (declared.some((entry) => entry.name === requirement.name && entry.version === requirement.version)) {
|
|
125
|
-
return undefined;
|
|
126
|
-
}
|
|
127
|
-
return {
|
|
128
|
-
kind: "denied",
|
|
129
|
-
reason: "capability_not_permitted",
|
|
130
|
-
message: `Consumer "${consumer.id}" does not declare requirement "${requirement.name}@${requirement.version}" in its contract`
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Capability Binder: Orchestrates authorization-aware capability binding.
|
|
135
|
-
*
|
|
136
|
-
* Flow:
|
|
137
|
-
* 1. Accept resolution results from ApplicationDependencyResolver
|
|
138
|
-
* 2. For each resolved requirement, evaluate authorization policy
|
|
139
|
-
* 3. Produce authorized bindings or explicit denials
|
|
140
|
-
* 4. Preserve unresolved/ambiguous as-is (they bypass authorization)
|
|
141
|
-
*
|
|
142
|
-
* The binder is:
|
|
143
|
-
* - Policy-driven: authorization logic is injected
|
|
144
|
-
* - Side-effect free: no DB, handlers, or runtime invocation
|
|
145
|
-
* - Deterministic: same input produces same binding
|
|
146
|
-
* - Stateless: receives all context as parameters
|
|
147
|
-
*/
|
|
148
|
-
export class CapabilityBinder {
|
|
149
|
-
#policy;
|
|
150
|
-
constructor(policy = defaultAuthorizationPolicy()) {
|
|
151
|
-
this.#policy = policy;
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Bind a single resolved requirement.
|
|
155
|
-
*
|
|
156
|
-
* Returns either an authorized binding or an explicit denial.
|
|
157
|
-
*
|
|
158
|
-
* Precondition: result must be a resolved requirement.
|
|
159
|
-
* This binder does not handle unresolved/ambiguous requirements.
|
|
160
|
-
*/
|
|
161
|
-
async bindResolution(consumer, result) {
|
|
162
|
-
const undeclared = undeclaredRequirementDenial(consumer, result);
|
|
163
|
-
if (undeclared) {
|
|
164
|
-
return {
|
|
165
|
-
kind: "denied",
|
|
166
|
-
requirement: result.requirement,
|
|
167
|
-
provider: result.provider,
|
|
168
|
-
authorization: undeclared
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
const context = {
|
|
172
|
-
consumer,
|
|
173
|
-
provider: result.provider,
|
|
174
|
-
capabilityName: result.requirement.name,
|
|
175
|
-
capabilityVersion: result.capability.version
|
|
176
|
-
};
|
|
177
|
-
const authResult = await this.#policy.evaluate(context);
|
|
178
|
-
if (authResult.kind === "authorized") {
|
|
179
|
-
const binding = {
|
|
180
|
-
consumer,
|
|
181
|
-
requirement: result.requirement,
|
|
182
|
-
provider: result.provider,
|
|
183
|
-
capability: {
|
|
184
|
-
name: result.capability.name,
|
|
185
|
-
version: result.capability.version
|
|
186
|
-
},
|
|
187
|
-
authorization: authResult,
|
|
188
|
-
bindingId: computeBindingId({
|
|
189
|
-
consumer,
|
|
190
|
-
requirement: result.requirement,
|
|
191
|
-
provider: result.provider,
|
|
192
|
-
capabilityName: result.capability.name,
|
|
193
|
-
capabilityVersion: result.capability.version
|
|
194
|
-
})
|
|
195
|
-
};
|
|
196
|
-
issuedBindings.add(binding);
|
|
197
|
-
transferResolutionAttestation(result, binding);
|
|
198
|
-
// Authorization is durable authority, not a one-time decision: carry the
|
|
199
|
-
// authorization's own revalidation onto the binding so every later
|
|
200
|
-
// execution boundary observes a revocation.
|
|
201
|
-
transferAuthorizationAttestation(authResult, binding);
|
|
202
|
-
return { kind: "authorized", binding };
|
|
203
|
-
}
|
|
204
|
-
return {
|
|
205
|
-
kind: "denied",
|
|
206
|
-
requirement: result.requirement,
|
|
207
|
-
provider: result.provider,
|
|
208
|
-
authorization: authResult
|
|
209
|
-
};
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Bind all resolvable requirements for an application.
|
|
213
|
-
*
|
|
214
|
-
* Accepts the results from ApplicationDependencyResolver and produces
|
|
215
|
-
* a complete application binding result.
|
|
216
|
-
*
|
|
217
|
-
* Flow for each requirement:
|
|
218
|
-
* - resolved → evaluate authorization → authorized binding or explicit denial
|
|
219
|
-
* - unresolved → pass through as-is (nothing to authorize)
|
|
220
|
-
* - ambiguous → pass through as-is (nothing to authorize)
|
|
221
|
-
*
|
|
222
|
-
* Returns a complete ApplicationBindingResult preserving all states.
|
|
223
|
-
*/
|
|
224
|
-
async bindApplication(consumer, resolutionResults) {
|
|
225
|
-
const authorized = [];
|
|
226
|
-
const denied = [];
|
|
227
|
-
const unresolved = [];
|
|
228
|
-
const ambiguous = [];
|
|
229
|
-
const results = [];
|
|
230
|
-
for (const result of resolutionResults) {
|
|
231
|
-
if (result.kind === "resolved") {
|
|
232
|
-
// Evaluate authorization for resolved requirements
|
|
233
|
-
const bindingResult = await this.bindResolution(consumer, result);
|
|
234
|
-
results.push(bindingResult);
|
|
235
|
-
if (bindingResult.kind === "authorized") {
|
|
236
|
-
authorized.push(bindingResult.binding);
|
|
237
|
-
}
|
|
238
|
-
else {
|
|
239
|
-
denied.push(bindingResult);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
else if (result.kind === "unresolved") {
|
|
243
|
-
// Pass through: no provider to authorize
|
|
244
|
-
unresolved.push(result);
|
|
245
|
-
results.push(result);
|
|
246
|
-
}
|
|
247
|
-
else if (result.kind === "ambiguous") {
|
|
248
|
-
// Pass through: cannot select provider to authorize
|
|
249
|
-
ambiguous.push(result);
|
|
250
|
-
results.push(result);
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
return {
|
|
254
|
-
application: consumer,
|
|
255
|
-
authorized,
|
|
256
|
-
denied,
|
|
257
|
-
unresolved,
|
|
258
|
-
ambiguous,
|
|
259
|
-
results
|
|
260
|
-
};
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
//# sourceMappingURL=binding.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../src/binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { JsonValue } from "../../protocol/dist/index.d.ts";
|
|
2
|
-
import { type AnyCapability } from "./capability.js";
|
|
3
|
-
/**
|
|
4
|
-
* Reserved `appport.*` capabilities.
|
|
5
|
-
*
|
|
6
|
-
* Discovery over HTTP is a well-known URL (§39), but IPC and in-process
|
|
7
|
-
* runtimes have no URLs. Exposing the manifest as a capability makes discovery
|
|
8
|
-
* work identically on every transport, which is the whole point of the
|
|
9
|
-
* protocol.
|
|
10
|
-
*/
|
|
11
|
-
export interface BuiltinOptions {
|
|
12
|
-
manifest: () => JsonValue;
|
|
13
|
-
/** Permissions required to read the manifest. Public by default. */
|
|
14
|
-
authorization?: readonly string[];
|
|
15
|
-
}
|
|
16
|
-
export declare function createBuiltinCapabilities(options: BuiltinOptions): AnyCapability[];
|
|
17
|
-
export declare const BUILTIN_CAPABILITY_NAMES: readonly ["appport.manifest", "appport.ping"];
|
|
18
|
-
//# sourceMappingURL=builtins.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../src/builtins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEvE;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,SAAS,CAAC;IAC1B,oEAAoE;IACpE,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,EAAE,CA0ClF;AAED,eAAO,MAAM,wBAAwB,+CAAgD,CAAC"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { s } from "../../schema/dist/index.js";
|
|
2
|
-
import { defineCapability } from "./capability.js";
|
|
3
|
-
export function createBuiltinCapabilities(options) {
|
|
4
|
-
const authorization = options.authorization ?? [];
|
|
5
|
-
const manifest = defineCapability({
|
|
6
|
-
name: "appport.manifest",
|
|
7
|
-
version: 1,
|
|
8
|
-
description: "Returns the application manifest for this deployment.",
|
|
9
|
-
authorization,
|
|
10
|
-
input: s.object({}),
|
|
11
|
-
// The manifest is described structurally rather than as an opaque value, so
|
|
12
|
-
// a consumer in any language can validate what discovery returns (§32).
|
|
13
|
-
output: s.object({
|
|
14
|
-
protocol: s.string(),
|
|
15
|
-
application: s.object({ id: s.string(), name: s.string(), version: s.string() }, { additionalProperties: true }),
|
|
16
|
-
capabilities: s.array(s.record(s.unknown())),
|
|
17
|
-
events: s.array(s.record(s.unknown())),
|
|
18
|
-
transports: s.array(s.record(s.unknown()))
|
|
19
|
-
}, { title: "AppPortManifest", additionalProperties: true }),
|
|
20
|
-
handler() {
|
|
21
|
-
return options.manifest();
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
const ping = defineCapability({
|
|
25
|
-
name: "appport.ping",
|
|
26
|
-
version: 1,
|
|
27
|
-
description: "Liveness probe. Returns the server time.",
|
|
28
|
-
authorization,
|
|
29
|
-
input: s.object({}),
|
|
30
|
-
output: s.object({ timestamp: s.timestamp() }),
|
|
31
|
-
handler() {
|
|
32
|
-
return { timestamp: new Date().toISOString() };
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
return [manifest, ping];
|
|
36
|
-
}
|
|
37
|
-
export const BUILTIN_CAPABILITY_NAMES = ["appport.manifest", "appport.ping"];
|
|
38
|
-
//# sourceMappingURL=builtins.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"builtins.js","sourceRoot":"","sources":["../src/builtins.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAsB,MAAM,iBAAiB,CAAC;AAgBvE,MAAM,UAAU,yBAAyB,CAAC,OAAuB;IAC/D,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;IAElD,MAAM,QAAQ,GAAG,gBAAgB,CAAC;QAChC,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,uDAAuD;QACpE,aAAa;QACb,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACnB,4EAA4E;QAC5E,wEAAwE;QACxE,MAAM,EAAE,CAAC,CAAC,MAAM,CACd;YACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,WAAW,EAAE,CAAC,CAAC,MAAM,CACnB,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EACzD,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAC/B;YACD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACtC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SAC3C,EACD,EAAE,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,IAAI,EAAE,CACzD;QACD,OAAO;YACL,OAAO,OAAO,CAAC,QAAQ,EAAW,CAAC;QACrC,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,gBAAgB,CAAC;QAC5B,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,0CAA0C;QACvD,aAAa;QACb,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACnB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;QAC9C,OAAO;YACL,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACjD,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,kBAAkB,EAAE,cAAc,CAAU,CAAC"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { type CapabilityKind, type ConcurrencyPolicy, type IdempotencySupport, type JsonValue } from "../../protocol/dist/index.d.ts";
|
|
2
|
-
import { type Schema, type SchemaInput } from "../../schema/dist/index.d.ts";
|
|
3
|
-
import type { CapabilityContext } from "./context.js";
|
|
4
|
-
import type { CapabilityImplementation } from "./implementation.js";
|
|
5
|
-
/** A capability handler: validated input in, output out (§9). */
|
|
6
|
-
export type CapabilityHandler<Input, Output> = (input: Input, context: CapabilityContext) => Output | Promise<Output>;
|
|
7
|
-
/** A stream capability handler: validated input in, a sequence of chunks out (§20). */
|
|
8
|
-
export type StreamHandler<Input, Chunk> = (input: Input, context: CapabilityContext) => AsyncIterable<Chunk> | Promise<AsyncIterable<Chunk>>;
|
|
9
|
-
export interface CapabilityOptions<Input, Output> {
|
|
10
|
-
/** `<namespace>.<operation>`, never transport-flavoured (§8). */
|
|
11
|
-
name: string;
|
|
12
|
-
/** Capability version; part of the capability's identity (§42). */
|
|
13
|
-
version: number;
|
|
14
|
-
description?: string;
|
|
15
|
-
input: SchemaInput<Input>;
|
|
16
|
-
output: SchemaInput<Output>;
|
|
17
|
-
/** Permissions required to invoke this capability (§34). */
|
|
18
|
-
authorization?: readonly string[];
|
|
19
|
-
/** Declares support for `idempotencyKey` (§44). */
|
|
20
|
-
idempotency?: IdempotencySupport;
|
|
21
|
-
/** Execution policy (§45). Defaults to `parallel`. */
|
|
22
|
-
concurrency?: ConcurrencyPolicy;
|
|
23
|
-
/** Server-enforced maximum duration in milliseconds (§46). */
|
|
24
|
-
timeoutMs?: number;
|
|
25
|
-
/** Events this capability may emit, for the manifest (§30). */
|
|
26
|
-
emits?: readonly string[];
|
|
27
|
-
deprecated?: boolean;
|
|
28
|
-
attributes?: Record<string, JsonValue>;
|
|
29
|
-
handler: CapabilityHandler<Input, Output>;
|
|
30
|
-
/** Optional implementation binding for this capability (PR17). */
|
|
31
|
-
implementation?: CapabilityImplementation<Input, Output>;
|
|
32
|
-
}
|
|
33
|
-
export interface StreamCapabilityOptions<Input, Chunk> extends Omit<CapabilityOptions<Input, Chunk>, "handler" | "output" | "idempotency"> {
|
|
34
|
-
/** Schema of a single stream chunk. */
|
|
35
|
-
output: SchemaInput<Chunk>;
|
|
36
|
-
handler: StreamHandler<Input, Chunk>;
|
|
37
|
-
}
|
|
38
|
-
/** The normalized capability definition held by the registry. */
|
|
39
|
-
export interface CapabilityDefinition<Input = unknown, Output = unknown> {
|
|
40
|
-
readonly name: string;
|
|
41
|
-
readonly version: number;
|
|
42
|
-
readonly kind: CapabilityKind;
|
|
43
|
-
readonly description?: string;
|
|
44
|
-
readonly input: Schema<Input>;
|
|
45
|
-
readonly output: Schema<Output>;
|
|
46
|
-
readonly authorization: readonly string[];
|
|
47
|
-
readonly idempotency: IdempotencySupport;
|
|
48
|
-
readonly concurrency: ConcurrencyPolicy;
|
|
49
|
-
readonly timeoutMs?: number;
|
|
50
|
-
readonly emits: readonly string[];
|
|
51
|
-
readonly deprecated: boolean;
|
|
52
|
-
readonly attributes?: Record<string, JsonValue>;
|
|
53
|
-
readonly handler: CapabilityHandler<Input, Output> | StreamHandler<Input, Output>;
|
|
54
|
-
/** Optional implementation binding for this capability (PR17). */
|
|
55
|
-
readonly implementation?: CapabilityImplementation<Input, Output>;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Defines a request/response capability.
|
|
59
|
-
*
|
|
60
|
-
* The definition is transport-neutral by construction: nothing in it can
|
|
61
|
-
* reference HTTP, IPC or any other carrier.
|
|
62
|
-
*/
|
|
63
|
-
export declare function defineCapability<Input, Output>(options: CapabilityOptions<Input, Output>): CapabilityDefinition<Input, Output>;
|
|
64
|
-
/** Defines a capability that answers with a sequence of values (§20). */
|
|
65
|
-
export declare function defineStreamCapability<Input, Chunk>(options: StreamCapabilityOptions<Input, Chunk>): CapabilityDefinition<Input, Chunk>;
|
|
66
|
-
export interface EventOptions<Payload> {
|
|
67
|
-
name: string;
|
|
68
|
-
version: number;
|
|
69
|
-
description?: string;
|
|
70
|
-
payload: SchemaInput<Payload>;
|
|
71
|
-
/** Permissions a session must hold to observe the event. */
|
|
72
|
-
authorization?: readonly string[];
|
|
73
|
-
deprecated?: boolean;
|
|
74
|
-
}
|
|
75
|
-
export interface EventDefinition<Payload = unknown> {
|
|
76
|
-
readonly name: string;
|
|
77
|
-
readonly version: number;
|
|
78
|
-
readonly description?: string;
|
|
79
|
-
readonly payload: Schema<Payload>;
|
|
80
|
-
readonly authorization: readonly string[];
|
|
81
|
-
readonly deprecated: boolean;
|
|
82
|
-
}
|
|
83
|
-
/** Defines an event the application may publish (§17). */
|
|
84
|
-
export declare function defineEvent<Payload>(options: EventOptions<Payload>): EventDefinition<Payload>;
|
|
85
|
-
/**
|
|
86
|
-
* A capability of unspecified shape.
|
|
87
|
-
*
|
|
88
|
-
* Collections of capabilities are heterogeneous, and `Schema<T>` is invariant
|
|
89
|
-
* in `T`, so registries and application options work in terms of this alias.
|
|
90
|
-
*/
|
|
91
|
-
export type AnyCapability = CapabilityDefinition<any, any>;
|
|
92
|
-
export type AnyEvent = EventDefinition<any>;
|
|
93
|
-
export declare const isStreamCapability: (definition: AnyCapability) => boolean;
|
|
94
|
-
//# sourceMappingURL=capability.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../src/capability.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { errors, validateName } from "../../protocol/dist/index.js";
|
|
2
|
-
import { toSchema } from "../../schema/dist/index.js";
|
|
3
|
-
function assertName(name) {
|
|
4
|
-
const result = validateName(name);
|
|
5
|
-
if (!result.valid) {
|
|
6
|
-
throw errors.invalidRequest(`Invalid capability name "${name}": ${result.reason}`);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
function assertVersion(name, version) {
|
|
10
|
-
if (!Number.isInteger(version) || version < 1) {
|
|
11
|
-
throw errors.invalidRequest(`Capability ${name} must declare a positive integer version`);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
function normalizeConcurrency(policy) {
|
|
15
|
-
if (!policy)
|
|
16
|
-
return { mode: "parallel" };
|
|
17
|
-
if (policy.mode === "keyed" && !policy.key) {
|
|
18
|
-
throw errors.invalidRequest("Keyed concurrency requires a key field name");
|
|
19
|
-
}
|
|
20
|
-
return policy;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Defines a request/response capability.
|
|
24
|
-
*
|
|
25
|
-
* The definition is transport-neutral by construction: nothing in it can
|
|
26
|
-
* reference HTTP, IPC or any other carrier.
|
|
27
|
-
*/
|
|
28
|
-
export function defineCapability(options) {
|
|
29
|
-
assertName(options.name);
|
|
30
|
-
assertVersion(options.name, options.version);
|
|
31
|
-
return {
|
|
32
|
-
name: options.name,
|
|
33
|
-
version: options.version,
|
|
34
|
-
kind: "request",
|
|
35
|
-
...(options.description ? { description: options.description } : {}),
|
|
36
|
-
input: toSchema(options.input),
|
|
37
|
-
output: toSchema(options.output),
|
|
38
|
-
authorization: options.authorization ?? [],
|
|
39
|
-
idempotency: options.idempotency ?? "unsupported",
|
|
40
|
-
concurrency: normalizeConcurrency(options.concurrency),
|
|
41
|
-
...(options.timeoutMs !== undefined ? { timeoutMs: options.timeoutMs } : {}),
|
|
42
|
-
emits: options.emits ?? [],
|
|
43
|
-
deprecated: options.deprecated ?? false,
|
|
44
|
-
...(options.attributes ? { attributes: options.attributes } : {}),
|
|
45
|
-
handler: options.handler,
|
|
46
|
-
...(options.implementation ? { implementation: options.implementation } : {})
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
/** Defines a capability that answers with a sequence of values (§20). */
|
|
50
|
-
export function defineStreamCapability(options) {
|
|
51
|
-
assertName(options.name);
|
|
52
|
-
assertVersion(options.name, options.version);
|
|
53
|
-
return {
|
|
54
|
-
name: options.name,
|
|
55
|
-
version: options.version,
|
|
56
|
-
kind: "stream",
|
|
57
|
-
...(options.description ? { description: options.description } : {}),
|
|
58
|
-
input: toSchema(options.input),
|
|
59
|
-
output: toSchema(options.output),
|
|
60
|
-
authorization: options.authorization ?? [],
|
|
61
|
-
idempotency: "unsupported",
|
|
62
|
-
concurrency: normalizeConcurrency(options.concurrency),
|
|
63
|
-
...(options.timeoutMs !== undefined ? { timeoutMs: options.timeoutMs } : {}),
|
|
64
|
-
emits: options.emits ?? [],
|
|
65
|
-
deprecated: options.deprecated ?? false,
|
|
66
|
-
...(options.attributes ? { attributes: options.attributes } : {}),
|
|
67
|
-
handler: options.handler,
|
|
68
|
-
...(options.implementation ? { implementation: options.implementation } : {})
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
/** Defines an event the application may publish (§17). */
|
|
72
|
-
export function defineEvent(options) {
|
|
73
|
-
assertName(options.name);
|
|
74
|
-
assertVersion(options.name, options.version);
|
|
75
|
-
return {
|
|
76
|
-
name: options.name,
|
|
77
|
-
version: options.version,
|
|
78
|
-
...(options.description ? { description: options.description } : {}),
|
|
79
|
-
payload: toSchema(options.payload),
|
|
80
|
-
authorization: options.authorization ?? [],
|
|
81
|
-
deprecated: options.deprecated ?? false
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
export const isStreamCapability = (definition) => definition.kind === "stream";
|
|
85
|
-
//# sourceMappingURL=capability.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../src/capability.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,YAAY,EAKb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAiC,MAAM,iBAAiB,CAAC;AAoE1E,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,MAAM,CAAC,cAAc,CAAC,4BAA4B,IAAI,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,OAAe;IAClD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,MAAM,CAAC,cAAc,CAAC,cAAc,IAAI,0CAA0C,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAqC;IACjE,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACzC,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAC3C,MAAM,MAAM,CAAC,cAAc,CAAC,6CAA6C,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAyC;IAEzC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,SAAS;QACf,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,KAAK,EAAE,QAAQ,CAAQ,OAAO,CAAC,KAAK,CAAC;QACrC,MAAM,EAAE,QAAQ,CAAS,OAAO,CAAC,MAAM,CAAC;QACxC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;QAC1C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,aAAa;QACjD,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC,WAAW,CAAC;QACtD,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;QAC1B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;QACvC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9E,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,sBAAsB,CACpC,OAA8C;IAE9C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE,QAAQ;QACd,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,KAAK,EAAE,QAAQ,CAAQ,OAAO,CAAC,KAAK,CAAC;QACrC,MAAM,EAAE,QAAQ,CAAQ,OAAO,CAAC,MAAM,CAAC;QACvC,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;QAC1C,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC,WAAW,CAAC;QACtD,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;QAC1B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;QACvC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9E,CAAC;AACJ,CAAC;AAqBD,0DAA0D;AAC1D,MAAM,UAAU,WAAW,CAAU,OAA8B;IACjE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,OAAO,EAAE,QAAQ,CAAU,OAAO,CAAC,OAAO,CAAC;QAC3C,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;QAC1C,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;KACxC,CAAC;AACJ,CAAC;AAYD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAyB,EAAW,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { type ConcurrencyPolicy } from "../../protocol/dist/index.d.ts";
|
|
2
|
-
/**
|
|
3
|
-
* Capability concurrency policies (specification §45).
|
|
4
|
-
*
|
|
5
|
-
* `parallel` is the default: requests run concurrently. `serialized` runs one
|
|
6
|
-
* request at a time for the capability. `keyed(field)` serializes per input key
|
|
7
|
-
* value, so `documents.save` never interleaves writes to the same document
|
|
8
|
-
* while staying parallel across different documents.
|
|
9
|
-
*/
|
|
10
|
-
export declare class ConcurrencyGate {
|
|
11
|
-
#private;
|
|
12
|
-
run<T>(policy: ConcurrencyPolicy, scope: string, input: unknown, fn: () => Promise<T>): Promise<T>;
|
|
13
|
-
/** Number of keys currently holding queued work. */
|
|
14
|
-
get activeKeys(): number;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=concurrency.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"concurrency.d.ts","sourceRoot":"","sources":["../src/concurrency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAOnE;;;;;;;GAOG;AACH,qBAAa,eAAe;;IAGpB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAuBxG,oDAAoD;IACpD,IAAI,UAAU,IAAI,MAAM,CAEvB;CACF"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { errors } from "../../protocol/dist/index.js";
|
|
2
|
-
/**
|
|
3
|
-
* Capability concurrency policies (specification §45).
|
|
4
|
-
*
|
|
5
|
-
* `parallel` is the default: requests run concurrently. `serialized` runs one
|
|
6
|
-
* request at a time for the capability. `keyed(field)` serializes per input key
|
|
7
|
-
* value, so `documents.save` never interleaves writes to the same document
|
|
8
|
-
* while staying parallel across different documents.
|
|
9
|
-
*/
|
|
10
|
-
export class ConcurrencyGate {
|
|
11
|
-
#queues = new Map();
|
|
12
|
-
async run(policy, scope, input, fn) {
|
|
13
|
-
if (policy.mode === "parallel")
|
|
14
|
-
return fn();
|
|
15
|
-
const key = policy.mode === "serialized" ? scope : `${scope}:${keyValue(policy.key, input)}`;
|
|
16
|
-
const queue = this.#queues.get(key) ?? { tail: Promise.resolve(), waiting: 0 };
|
|
17
|
-
queue.waiting += 1;
|
|
18
|
-
this.#queues.set(key, queue);
|
|
19
|
-
const run = queue.tail.then(fn, fn);
|
|
20
|
-
// The tail never rejects, so a failing request does not poison the queue.
|
|
21
|
-
queue.tail = run.then(() => undefined, () => undefined);
|
|
22
|
-
try {
|
|
23
|
-
return await run;
|
|
24
|
-
}
|
|
25
|
-
finally {
|
|
26
|
-
queue.waiting -= 1;
|
|
27
|
-
if (queue.waiting === 0 && this.#queues.get(key) === queue)
|
|
28
|
-
this.#queues.delete(key);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
/** Number of keys currently holding queued work. */
|
|
32
|
-
get activeKeys() {
|
|
33
|
-
return this.#queues.size;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
function keyValue(field, input) {
|
|
37
|
-
if (typeof input !== "object" || input === null) {
|
|
38
|
-
throw errors.invalidRequest(`Keyed concurrency requires an object input with "${field}"`);
|
|
39
|
-
}
|
|
40
|
-
const value = input[field];
|
|
41
|
-
if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
|
|
42
|
-
return String(value);
|
|
43
|
-
}
|
|
44
|
-
throw errors.invalidRequest(`Keyed concurrency requires a scalar "${field}" in the input`);
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=concurrency.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"concurrency.js","sourceRoot":"","sources":["../src/concurrency.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA0B,MAAM,mBAAmB,CAAC;AAOnE;;;;;;;GAOG;AACH,MAAM,OAAO,eAAe;IACjB,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;IAE5C,KAAK,CAAC,GAAG,CAAI,MAAyB,EAAE,KAAa,EAAE,KAAc,EAAE,EAAoB;QACzF,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,EAAE,EAAE,CAAC;QAE5C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7F,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC/E,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAE7B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACpC,0EAA0E;QAC1E,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CACnB,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;QAEF,IAAI,CAAC;YACH,OAAO,MAAM,GAAG,CAAC;QACnB,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;YACnB,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK;gBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CACF;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,MAAM,CAAC,cAAc,CAAC,oDAAoD,KAAK,GAAG,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,KAAK,GAAI,KAAiC,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACzF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,MAAM,CAAC,cAAc,CAAC,wCAAwC,KAAK,gBAAgB,CAAC,CAAC;AAC7F,CAAC"}
|