@appport/sdk 1.1.18 → 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,94 +0,0 @@
|
|
|
1
|
-
import type { JsonValue, MaterializationRequest } from "../../protocol/dist/index.d.ts";
|
|
2
|
-
import type { CapabilityContext } from "./context.js";
|
|
3
|
-
import type { AppBoundryExecutionEvidence } from "./appboundry-materialization.js";
|
|
4
|
-
export type UsageOutcome = "success" | "failure";
|
|
5
|
-
export interface AppBoundryUsageRecord {
|
|
6
|
-
readonly applicationId: string;
|
|
7
|
-
readonly executionId: string;
|
|
8
|
-
readonly executionMode: "managed";
|
|
9
|
-
readonly capability: string;
|
|
10
|
-
readonly startedAt: string;
|
|
11
|
-
readonly durationMs: number;
|
|
12
|
-
readonly requests: 1;
|
|
13
|
-
readonly memoryMb: number;
|
|
14
|
-
readonly stateOperations: number;
|
|
15
|
-
readonly status: "success" | "failure";
|
|
16
|
-
}
|
|
17
|
-
export interface AppBoundryUsageSummary {
|
|
18
|
-
readonly applicationId: string;
|
|
19
|
-
readonly managedExecutions: number;
|
|
20
|
-
readonly requests: number;
|
|
21
|
-
readonly computeTimeMs: number;
|
|
22
|
-
readonly stateOperations: number;
|
|
23
|
-
readonly successful: number;
|
|
24
|
-
readonly failed: number;
|
|
25
|
-
}
|
|
26
|
-
export interface UsageEvent {
|
|
27
|
-
readonly id: string;
|
|
28
|
-
readonly organizationId: string;
|
|
29
|
-
readonly consumerId: string;
|
|
30
|
-
readonly consumerApplicationId?: string;
|
|
31
|
-
readonly providerId: string;
|
|
32
|
-
readonly providerOrganizationId: string;
|
|
33
|
-
readonly providerApplicationId?: string;
|
|
34
|
-
readonly capability: string;
|
|
35
|
-
readonly capabilityVersion: string;
|
|
36
|
-
readonly environment: string;
|
|
37
|
-
readonly invocationId: string;
|
|
38
|
-
readonly evidenceId?: string;
|
|
39
|
-
readonly timestamp: string;
|
|
40
|
-
readonly outcome: UsageOutcome;
|
|
41
|
-
readonly quantity: number;
|
|
42
|
-
readonly unit: string;
|
|
43
|
-
readonly metadata?: Readonly<Record<string, JsonValue>>;
|
|
44
|
-
}
|
|
45
|
-
export interface UsageMeasurement {
|
|
46
|
-
readonly quantity: number;
|
|
47
|
-
readonly unit: string;
|
|
48
|
-
readonly metadata?: Readonly<Record<string, JsonValue>>;
|
|
49
|
-
}
|
|
50
|
-
export interface UsageMeterInput {
|
|
51
|
-
readonly outcome: UsageOutcome;
|
|
52
|
-
readonly requestId: string;
|
|
53
|
-
readonly executionId: string;
|
|
54
|
-
readonly context: CapabilityContext;
|
|
55
|
-
readonly materializationRequest: MaterializationRequest;
|
|
56
|
-
readonly evidence: AppBoundryExecutionEvidence;
|
|
57
|
-
}
|
|
58
|
-
export type UsageMeter = (input: UsageMeterInput) => UsageMeasurement | Promise<UsageMeasurement>;
|
|
59
|
-
export interface UsageCaptureOverrides {
|
|
60
|
-
readonly id?: string;
|
|
61
|
-
readonly organizationId?: string;
|
|
62
|
-
readonly consumerId?: string;
|
|
63
|
-
readonly consumerApplicationId?: string;
|
|
64
|
-
readonly providerId?: string;
|
|
65
|
-
readonly providerOrganizationId?: string;
|
|
66
|
-
readonly providerApplicationId?: string;
|
|
67
|
-
readonly environment?: string;
|
|
68
|
-
readonly evidenceId?: string;
|
|
69
|
-
readonly timestamp?: string;
|
|
70
|
-
readonly quantity?: number;
|
|
71
|
-
readonly unit?: string;
|
|
72
|
-
readonly metadata?: Readonly<Record<string, JsonValue>>;
|
|
73
|
-
}
|
|
74
|
-
export interface UsageEventSink {
|
|
75
|
-
record(event: UsageEvent): Promise<void> | void;
|
|
76
|
-
}
|
|
77
|
-
export declare class InMemoryUsageEventSink implements UsageEventSink {
|
|
78
|
-
#private;
|
|
79
|
-
record(event: UsageEvent): void;
|
|
80
|
-
list(): readonly UsageEvent[];
|
|
81
|
-
}
|
|
82
|
-
export declare function defaultUsageMeter(): UsageMeasurement;
|
|
83
|
-
export declare function createUsageEvent(input: {
|
|
84
|
-
readonly outcome: UsageOutcome;
|
|
85
|
-
readonly requestId: string;
|
|
86
|
-
readonly executionId: string;
|
|
87
|
-
readonly context: CapabilityContext;
|
|
88
|
-
readonly materializationRequest: MaterializationRequest;
|
|
89
|
-
readonly evidence: AppBoundryExecutionEvidence;
|
|
90
|
-
readonly measurement?: UsageMeasurement;
|
|
91
|
-
readonly overrides?: UsageCaptureOverrides;
|
|
92
|
-
readonly timestamp?: string;
|
|
93
|
-
}): UsageEvent;
|
|
94
|
-
//# sourceMappingURL=appboundry-usage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"appboundry-usage.d.ts","sourceRoot":"","sources":["../src/appboundry-usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { randomUUID } from "node:crypto";
|
|
2
|
-
export class InMemoryUsageEventSink {
|
|
3
|
-
#events = [];
|
|
4
|
-
record(event) {
|
|
5
|
-
this.#events.push(event);
|
|
6
|
-
}
|
|
7
|
-
list() {
|
|
8
|
-
return [...this.#events];
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export function defaultUsageMeter() {
|
|
12
|
-
return { quantity: 1, unit: "invocation" };
|
|
13
|
-
}
|
|
14
|
-
export function createUsageEvent(input) {
|
|
15
|
-
const materializationContext = input.materializationRequest.context ?? {};
|
|
16
|
-
const measurement = input.measurement ?? defaultUsageMeter();
|
|
17
|
-
const quantity = input.overrides?.quantity ?? measurement.quantity;
|
|
18
|
-
const unit = input.overrides?.unit ?? measurement.unit;
|
|
19
|
-
if (!Number.isFinite(quantity) || quantity < 0)
|
|
20
|
-
throw new Error("usage quantity must be a finite non-negative number");
|
|
21
|
-
if (!unit)
|
|
22
|
-
throw new Error("usage unit must be non-empty");
|
|
23
|
-
const metadata = mergeMetadata(measurement.metadata, input.overrides?.metadata);
|
|
24
|
-
const event = {
|
|
25
|
-
id: input.overrides?.id ?? `use_${randomUUID()}`,
|
|
26
|
-
organizationId: input.overrides?.organizationId ??
|
|
27
|
-
stringField(materializationContext, "organizationId") ??
|
|
28
|
-
stringField(materializationContext, "consumerOrganizationId") ??
|
|
29
|
-
input.evidence.consumerApplicationId,
|
|
30
|
-
consumerId: input.overrides?.consumerId ??
|
|
31
|
-
stringField(materializationContext, "consumerId") ??
|
|
32
|
-
input.context.principal?.id ??
|
|
33
|
-
input.context.authorization.principal?.id ??
|
|
34
|
-
input.evidence.consumerApplicationId,
|
|
35
|
-
...(input.overrides?.consumerApplicationId ?? input.evidence.consumerApplicationId
|
|
36
|
-
? { consumerApplicationId: input.overrides?.consumerApplicationId ?? input.evidence.consumerApplicationId }
|
|
37
|
-
: {}),
|
|
38
|
-
providerId: input.overrides?.providerId ??
|
|
39
|
-
stringField(materializationContext, "providerId") ??
|
|
40
|
-
input.evidence.providerApplicationId,
|
|
41
|
-
providerOrganizationId: input.overrides?.providerOrganizationId ??
|
|
42
|
-
stringField(materializationContext, "providerOrganizationId") ??
|
|
43
|
-
input.evidence.providerApplicationId,
|
|
44
|
-
...(input.overrides?.providerApplicationId ?? input.evidence.providerApplicationId
|
|
45
|
-
? { providerApplicationId: input.overrides?.providerApplicationId ?? input.evidence.providerApplicationId }
|
|
46
|
-
: {}),
|
|
47
|
-
capability: input.evidence.capability.name,
|
|
48
|
-
capabilityVersion: String(input.evidence.capability.version),
|
|
49
|
-
environment: input.overrides?.environment ??
|
|
50
|
-
input.evidence.resolvedEnvironment ??
|
|
51
|
-
input.evidence.resolvedTarget ??
|
|
52
|
-
input.evidence.requestedTarget,
|
|
53
|
-
invocationId: input.executionId,
|
|
54
|
-
evidenceId: input.overrides?.evidenceId ?? input.evidence.executionId,
|
|
55
|
-
timestamp: input.overrides?.timestamp ?? input.timestamp ?? new Date().toISOString(),
|
|
56
|
-
outcome: input.outcome,
|
|
57
|
-
quantity,
|
|
58
|
-
unit,
|
|
59
|
-
...(metadata ? { metadata } : {})
|
|
60
|
-
};
|
|
61
|
-
return deepFreeze(event);
|
|
62
|
-
}
|
|
63
|
-
function stringField(record, key) {
|
|
64
|
-
const value = record[key];
|
|
65
|
-
return typeof value === "string" && value.length > 0 ? value : undefined;
|
|
66
|
-
}
|
|
67
|
-
function mergeMetadata(base, override) {
|
|
68
|
-
if (!base && !override)
|
|
69
|
-
return undefined;
|
|
70
|
-
return deepFreeze({ ...(base ?? {}), ...(override ?? {}) });
|
|
71
|
-
}
|
|
72
|
-
function deepFreeze(value) {
|
|
73
|
-
if (value && typeof value === "object" && !Object.isFrozen(value)) {
|
|
74
|
-
for (const item of Object.values(value))
|
|
75
|
-
deepFreeze(item);
|
|
76
|
-
Object.freeze(value);
|
|
77
|
-
}
|
|
78
|
-
return value;
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=appboundry-usage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"appboundry-usage.js","sourceRoot":"","sources":["../src/appboundry-usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Application Implementations (F6)
|
|
3
|
-
*
|
|
4
|
-
* An implementation is the executable association between an application
|
|
5
|
-
* capability, a verified source connection, and an artifact. It carries no
|
|
6
|
-
* application identity and no authorization of its own.
|
|
7
|
-
*
|
|
8
|
-
* Runtime order is unchanged by F6:
|
|
9
|
-
*
|
|
10
|
-
* discovery → compatibility → authorization → binding
|
|
11
|
-
* → implementation selection → materialization → execution
|
|
12
|
-
*
|
|
13
|
-
* Implementation selection therefore requires an authorized binding, and the
|
|
14
|
-
* selection is revalidated against durable authority before materialization so
|
|
15
|
-
* a serialized binding can never turn eligibility into an in-memory assumption.
|
|
16
|
-
*/
|
|
17
|
-
import type { AuthoritativeApplicationContract } from "./contract-attestation.js";
|
|
18
|
-
import { type ApplicationSourceStore } from "./application-source.js";
|
|
19
|
-
import { type AuthorizedCapabilityBinding } from "./binding.js";
|
|
20
|
-
import type { ExecutableArtifact } from "./artifact.js";
|
|
21
|
-
export type ApplicationImplementationStatus = "verified" | "stale" | "revoked" | "failed";
|
|
22
|
-
/** Durable record of one executable implementation of one capability. */
|
|
23
|
-
export interface ApplicationImplementation {
|
|
24
|
-
readonly id: string;
|
|
25
|
-
readonly applicationId: string;
|
|
26
|
-
readonly sourceConnectionId: string;
|
|
27
|
-
readonly capability: {
|
|
28
|
-
readonly name: string;
|
|
29
|
-
readonly version: number;
|
|
30
|
-
};
|
|
31
|
-
readonly contractFingerprint: string;
|
|
32
|
-
readonly artifactHash: string;
|
|
33
|
-
readonly status: ApplicationImplementationStatus;
|
|
34
|
-
readonly sequence: number;
|
|
35
|
-
readonly createdAt: string;
|
|
36
|
-
readonly verifiedAt?: string;
|
|
37
|
-
}
|
|
38
|
-
export interface ApplicationImplementationStore {
|
|
39
|
-
get(applicationId: string, implementationId: string): Promise<ApplicationImplementation | undefined>;
|
|
40
|
-
put(record: ApplicationImplementation, expectedSequence?: number): Promise<void>;
|
|
41
|
-
list(applicationId?: string): Promise<ApplicationImplementation[]>;
|
|
42
|
-
}
|
|
43
|
-
export declare class ApplicationImplementationConflictError extends Error {
|
|
44
|
-
constructor(id: string);
|
|
45
|
-
}
|
|
46
|
-
export declare class MemoryApplicationImplementationStore implements ApplicationImplementationStore {
|
|
47
|
-
#private;
|
|
48
|
-
get(applicationId: string, implementationId: string): Promise<ApplicationImplementation | undefined>;
|
|
49
|
-
put(record: ApplicationImplementation, expectedSequence?: number): Promise<void>;
|
|
50
|
-
list(applicationId?: string): Promise<ApplicationImplementation[]>;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* The implementation chosen for one authorized execution.
|
|
54
|
-
*
|
|
55
|
-
* Structural data only: the durable proof that selected it is module-private,
|
|
56
|
-
* exactly as binding issuance is.
|
|
57
|
-
*/
|
|
58
|
-
export interface SelectedImplementation {
|
|
59
|
-
readonly implementationId: string;
|
|
60
|
-
readonly sourceConnectionId: string;
|
|
61
|
-
readonly applicationId: string;
|
|
62
|
-
readonly capability: {
|
|
63
|
-
readonly name: string;
|
|
64
|
-
readonly version: number;
|
|
65
|
-
};
|
|
66
|
-
readonly contractFingerprint: string;
|
|
67
|
-
readonly artifactHash: string;
|
|
68
|
-
}
|
|
69
|
-
/** Throws unless the selection was issued by ApplicationImplementationOperations. */
|
|
70
|
-
export declare function assertIssuedImplementationSelection(selection: SelectedImplementation): void;
|
|
71
|
-
/** Revalidate the selection against durable source/implementation authority. */
|
|
72
|
-
export declare function assertImplementationSelectionEligible(selection: SelectedImplementation): Promise<void>;
|
|
73
|
-
/** The artifact must be the exact artifact the selected implementation names. */
|
|
74
|
-
export declare function assertArtifactMatchesSelection(selection: SelectedImplementation, artifact: ExecutableArtifact): void;
|
|
75
|
-
/** Registers, revalidates and selects implementations from verified sources. */
|
|
76
|
-
export declare class ApplicationImplementationOperations {
|
|
77
|
-
#private;
|
|
78
|
-
private readonly store;
|
|
79
|
-
private readonly sources;
|
|
80
|
-
private readonly authority;
|
|
81
|
-
private readonly now;
|
|
82
|
-
constructor(store: ApplicationImplementationStore, sources: ApplicationSourceStore, authority: AuthoritativeApplicationContract, now?: () => string);
|
|
83
|
-
/**
|
|
84
|
-
* Register an executable implementation for a verified source.
|
|
85
|
-
*
|
|
86
|
-
* The contract fingerprint is derived from authority, never accepted from the
|
|
87
|
-
* caller, and the capability must be covered by the source connection.
|
|
88
|
-
*/
|
|
89
|
-
register(input: {
|
|
90
|
-
applicationId: string;
|
|
91
|
-
sourceConnectionId: string;
|
|
92
|
-
capability: {
|
|
93
|
-
name: string;
|
|
94
|
-
version: number;
|
|
95
|
-
};
|
|
96
|
-
artifactHash: string;
|
|
97
|
-
}): Promise<ApplicationImplementation>;
|
|
98
|
-
/** Revoke an implementation without touching the application or its history. */
|
|
99
|
-
revoke(applicationId: string, implementationId: string): Promise<ApplicationImplementation>;
|
|
100
|
-
/** Mark implementations of superseded contract revisions stale. */
|
|
101
|
-
refresh(applicationId: string): Promise<ApplicationImplementation[]>;
|
|
102
|
-
/**
|
|
103
|
-
* Implementations that may currently execute a capability, in deterministic
|
|
104
|
-
* order: source identity first, then implementation identity. Selection is
|
|
105
|
-
* never timing-dependent.
|
|
106
|
-
*/
|
|
107
|
-
eligible(applicationId: string, capability: {
|
|
108
|
-
name: string;
|
|
109
|
-
version: number;
|
|
110
|
-
}): Promise<ApplicationImplementation[]>;
|
|
111
|
-
/**
|
|
112
|
-
* Select an implementation for an authorized binding.
|
|
113
|
-
*
|
|
114
|
-
* Provider resolution has already chosen the *application*; this chooses an
|
|
115
|
-
* eligible source/artifact for it. Without an authorized, still-authoritative
|
|
116
|
-
* binding there is no selection and therefore no materialization.
|
|
117
|
-
*/
|
|
118
|
-
selectForBinding(binding: AuthorizedCapabilityBinding, capability: {
|
|
119
|
-
name: string;
|
|
120
|
-
version: number;
|
|
121
|
-
}): Promise<SelectedImplementation>;
|
|
122
|
-
get: (applicationId: string, implementationId: string) => Promise<ApplicationImplementation | undefined>;
|
|
123
|
-
list: (applicationId?: string) => Promise<ApplicationImplementation[]>;
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=application-implementation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"application-implementation.d.ts","sourceRoot":"","sources":["../src/application-implementation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Application Implementations (F6)
|
|
3
|
-
*
|
|
4
|
-
* An implementation is the executable association between an application
|
|
5
|
-
* capability, a verified source connection, and an artifact. It carries no
|
|
6
|
-
* application identity and no authorization of its own.
|
|
7
|
-
*
|
|
8
|
-
* Runtime order is unchanged by F6:
|
|
9
|
-
*
|
|
10
|
-
* discovery → compatibility → authorization → binding
|
|
11
|
-
* → implementation selection → materialization → execution
|
|
12
|
-
*
|
|
13
|
-
* Implementation selection therefore requires an authorized binding, and the
|
|
14
|
-
* selection is revalidated against durable authority before materialization so
|
|
15
|
-
* a serialized binding can never turn eligibility into an in-memory assumption.
|
|
16
|
-
*/
|
|
17
|
-
import { randomUUID } from "node:crypto";
|
|
18
|
-
import { capabilityCoverageKey } from "./appboundry-contract.js";
|
|
19
|
-
import { sourceIsEligible } from "./application-source.js";
|
|
20
|
-
import { assertBindingAuthoritative } from "./authority-attestation.js";
|
|
21
|
-
import { assertIssuedAuthorizedBinding } from "./binding.js";
|
|
22
|
-
export class ApplicationImplementationConflictError extends Error {
|
|
23
|
-
constructor(id) {
|
|
24
|
-
super(`Concurrent application implementation update rejected for "${id}"`);
|
|
25
|
-
this.name = "ApplicationImplementationConflictError";
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
export class MemoryApplicationImplementationStore {
|
|
29
|
-
#records = new Map();
|
|
30
|
-
async get(applicationId, implementationId) {
|
|
31
|
-
const found = this.#records.get(`${applicationId}:${implementationId}`);
|
|
32
|
-
return found && structuredClone(found);
|
|
33
|
-
}
|
|
34
|
-
async put(record, expectedSequence) {
|
|
35
|
-
const key = `${record.applicationId}:${record.id}`;
|
|
36
|
-
if (this.#records.get(key)?.sequence !== expectedSequence)
|
|
37
|
-
throw new ApplicationImplementationConflictError(record.id);
|
|
38
|
-
this.#records.set(key, structuredClone(record));
|
|
39
|
-
}
|
|
40
|
-
async list(applicationId) {
|
|
41
|
-
return [...this.#records.values()]
|
|
42
|
-
.filter((record) => !applicationId || record.applicationId === applicationId)
|
|
43
|
-
.map((record) => structuredClone(record))
|
|
44
|
-
.sort((left, right) => left.id.localeCompare(right.id));
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
const issuedSelections = new WeakSet();
|
|
48
|
-
const selectionValidators = new WeakMap();
|
|
49
|
-
/** Throws unless the selection was issued by ApplicationImplementationOperations. */
|
|
50
|
-
export function assertIssuedImplementationSelection(selection) {
|
|
51
|
-
if (typeof selection !== "object" || selection === null || !issuedSelections.has(selection)) {
|
|
52
|
-
throw new Error("Implementation selection was not issued by application implementation authority");
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
/** Revalidate the selection against durable source/implementation authority. */
|
|
56
|
-
export async function assertImplementationSelectionEligible(selection) {
|
|
57
|
-
assertIssuedImplementationSelection(selection);
|
|
58
|
-
await selectionValidators.get(selection)?.();
|
|
59
|
-
}
|
|
60
|
-
/** The artifact must be the exact artifact the selected implementation names. */
|
|
61
|
-
export function assertArtifactMatchesSelection(selection, artifact) {
|
|
62
|
-
if (artifact.contentHash !== selection.artifactHash) {
|
|
63
|
-
throw new Error(`Artifact ${artifact.contentHash} is not the selected implementation artifact ${selection.artifactHash}`);
|
|
64
|
-
}
|
|
65
|
-
if (artifact.metadata.contractFingerprint !== selection.contractFingerprint) {
|
|
66
|
-
throw new Error("Artifact contract fingerprint does not match the selected implementation");
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
/** Registers, revalidates and selects implementations from verified sources. */
|
|
70
|
-
export class ApplicationImplementationOperations {
|
|
71
|
-
store;
|
|
72
|
-
sources;
|
|
73
|
-
authority;
|
|
74
|
-
now;
|
|
75
|
-
constructor(store, sources, authority, now = () => new Date().toISOString()) {
|
|
76
|
-
this.store = store;
|
|
77
|
-
this.sources = sources;
|
|
78
|
-
this.authority = authority;
|
|
79
|
-
this.now = now;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Register an executable implementation for a verified source.
|
|
83
|
-
*
|
|
84
|
-
* The contract fingerprint is derived from authority, never accepted from the
|
|
85
|
-
* caller, and the capability must be covered by the source connection.
|
|
86
|
-
*/
|
|
87
|
-
async register(input) {
|
|
88
|
-
const authoritative = await this.#authoritative(input.applicationId);
|
|
89
|
-
const source = await this.sources.get(input.applicationId, input.sourceConnectionId);
|
|
90
|
-
if (!source)
|
|
91
|
-
throw new Error(`Unknown application source "${input.sourceConnectionId}"`);
|
|
92
|
-
if (!sourceIsEligible(source, authoritative.fingerprint)) {
|
|
93
|
-
throw new Error(`Source "${source.id}" is not a verified implementation source (${source.status})`);
|
|
94
|
-
}
|
|
95
|
-
const key = capabilityCoverageKey(input.capability);
|
|
96
|
-
if (!source.coveredCapabilities.includes(key)) {
|
|
97
|
-
throw new Error(`Source "${source.id}" does not cover capability ${key}`);
|
|
98
|
-
}
|
|
99
|
-
if (typeof input.artifactHash !== "string" || !input.artifactHash.length) {
|
|
100
|
-
throw new Error("artifactHash must be a non-empty string");
|
|
101
|
-
}
|
|
102
|
-
const at = this.now();
|
|
103
|
-
const existing = (await this.store.list(input.applicationId)).find((record) => record.sourceConnectionId === source.id &&
|
|
104
|
-
capabilityCoverageKey(record.capability) === key &&
|
|
105
|
-
record.contractFingerprint === authoritative.fingerprint);
|
|
106
|
-
const record = {
|
|
107
|
-
id: existing?.id ?? `impl_${randomUUID()}`,
|
|
108
|
-
applicationId: input.applicationId,
|
|
109
|
-
sourceConnectionId: source.id,
|
|
110
|
-
capability: { name: input.capability.name, version: input.capability.version },
|
|
111
|
-
contractFingerprint: authoritative.fingerprint,
|
|
112
|
-
artifactHash: input.artifactHash,
|
|
113
|
-
status: "verified",
|
|
114
|
-
sequence: (existing?.sequence ?? 0) + 1,
|
|
115
|
-
createdAt: existing?.createdAt ?? at,
|
|
116
|
-
verifiedAt: at
|
|
117
|
-
};
|
|
118
|
-
await this.store.put(record, existing?.sequence);
|
|
119
|
-
return record;
|
|
120
|
-
}
|
|
121
|
-
/** Revoke an implementation without touching the application or its history. */
|
|
122
|
-
async revoke(applicationId, implementationId) {
|
|
123
|
-
const current = await this.store.get(applicationId, implementationId);
|
|
124
|
-
if (!current)
|
|
125
|
-
throw new Error(`Unknown implementation "${implementationId}"`);
|
|
126
|
-
if (current.status === "revoked")
|
|
127
|
-
return current;
|
|
128
|
-
const next = { ...current, status: "revoked", sequence: current.sequence + 1 };
|
|
129
|
-
await this.store.put(next, current.sequence);
|
|
130
|
-
return next;
|
|
131
|
-
}
|
|
132
|
-
/** Mark implementations of superseded contract revisions stale. */
|
|
133
|
-
async refresh(applicationId) {
|
|
134
|
-
const authoritative = await this.#authoritative(applicationId);
|
|
135
|
-
const refreshed = [];
|
|
136
|
-
for (const record of await this.store.list(applicationId)) {
|
|
137
|
-
if (record.status !== "verified" || record.contractFingerprint === authoritative.fingerprint) {
|
|
138
|
-
refreshed.push(record);
|
|
139
|
-
continue;
|
|
140
|
-
}
|
|
141
|
-
const next = { ...record, status: "stale", sequence: record.sequence + 1 };
|
|
142
|
-
await this.store.put(next, record.sequence);
|
|
143
|
-
refreshed.push(next);
|
|
144
|
-
}
|
|
145
|
-
return refreshed;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Implementations that may currently execute a capability, in deterministic
|
|
149
|
-
* order: source identity first, then implementation identity. Selection is
|
|
150
|
-
* never timing-dependent.
|
|
151
|
-
*/
|
|
152
|
-
async eligible(applicationId, capability) {
|
|
153
|
-
const authoritative = await this.#authoritative(applicationId);
|
|
154
|
-
const sources = new Map((await this.sources.list(applicationId)).map((source) => [source.id, source]));
|
|
155
|
-
const key = capabilityCoverageKey(capability);
|
|
156
|
-
return (await this.store.list(applicationId))
|
|
157
|
-
.filter((record) => this.#eligible(record, sources.get(record.sourceConnectionId), authoritative.fingerprint, key))
|
|
158
|
-
.sort((left, right) => this.#order(left, right, sources));
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Select an implementation for an authorized binding.
|
|
162
|
-
*
|
|
163
|
-
* Provider resolution has already chosen the *application*; this chooses an
|
|
164
|
-
* eligible source/artifact for it. Without an authorized, still-authoritative
|
|
165
|
-
* binding there is no selection and therefore no materialization.
|
|
166
|
-
*/
|
|
167
|
-
async selectForBinding(binding, capability) {
|
|
168
|
-
assertIssuedAuthorizedBinding(binding);
|
|
169
|
-
await assertBindingAuthoritative(binding);
|
|
170
|
-
const applicationId = binding.provider.id;
|
|
171
|
-
const candidates = await this.eligible(applicationId, capability);
|
|
172
|
-
const chosen = candidates[0];
|
|
173
|
-
if (!chosen) {
|
|
174
|
-
throw new Error(`No eligible implementation for ${capabilityCoverageKey(capability)} of application "${applicationId}"`);
|
|
175
|
-
}
|
|
176
|
-
const selection = {
|
|
177
|
-
implementationId: chosen.id,
|
|
178
|
-
sourceConnectionId: chosen.sourceConnectionId,
|
|
179
|
-
applicationId,
|
|
180
|
-
capability: { name: capability.name, version: capability.version },
|
|
181
|
-
contractFingerprint: chosen.contractFingerprint,
|
|
182
|
-
artifactHash: chosen.artifactHash
|
|
183
|
-
};
|
|
184
|
-
issuedSelections.add(selection);
|
|
185
|
-
selectionValidators.set(selection, () => this.#assertStillEligible(selection));
|
|
186
|
-
return selection;
|
|
187
|
-
}
|
|
188
|
-
get = (applicationId, implementationId) => this.store.get(applicationId, implementationId);
|
|
189
|
-
list = (applicationId) => this.store.list(applicationId);
|
|
190
|
-
/** Re-read durable authority and confirm the selection is still executable. */
|
|
191
|
-
async #assertStillEligible(selection) {
|
|
192
|
-
const authoritative = await this.#authoritative(selection.applicationId);
|
|
193
|
-
const record = await this.store.get(selection.applicationId, selection.implementationId);
|
|
194
|
-
const source = await this.sources.get(selection.applicationId, selection.sourceConnectionId);
|
|
195
|
-
const key = capabilityCoverageKey(selection.capability);
|
|
196
|
-
if (!record || !this.#eligible(record, source, authoritative.fingerprint, key) || record.artifactHash !== selection.artifactHash) {
|
|
197
|
-
throw new Error(`Implementation "${selection.implementationId}" is no longer an eligible implementation`);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
#eligible(record, source, authoritativeFingerprint, capabilityKey) {
|
|
201
|
-
return (record.status === "verified" &&
|
|
202
|
-
record.contractFingerprint === authoritativeFingerprint &&
|
|
203
|
-
capabilityCoverageKey(record.capability) === capabilityKey &&
|
|
204
|
-
!!source &&
|
|
205
|
-
sourceIsEligible(source, authoritativeFingerprint) &&
|
|
206
|
-
source.coveredCapabilities.includes(capabilityKey));
|
|
207
|
-
}
|
|
208
|
-
#order(left, right, sources) {
|
|
209
|
-
const leftSource = sources.get(left.sourceConnectionId)?.repositoryIdentity ?? left.sourceConnectionId;
|
|
210
|
-
const rightSource = sources.get(right.sourceConnectionId)?.repositoryIdentity ?? right.sourceConnectionId;
|
|
211
|
-
return leftSource.localeCompare(rightSource) || left.artifactHash.localeCompare(right.artifactHash) || left.id.localeCompare(right.id);
|
|
212
|
-
}
|
|
213
|
-
async #authoritative(applicationId) {
|
|
214
|
-
const authoritative = await this.authority.get(applicationId);
|
|
215
|
-
if (!authoritative)
|
|
216
|
-
throw new Error(`Unknown application "${applicationId}"`);
|
|
217
|
-
return authoritative;
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
//# sourceMappingURL=application-implementation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"application-implementation.js","sourceRoot":"","sources":["../src/application-implementation.ts"],"names":[],"mappings":"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"}
|