@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,458 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Application Assembly & Verification (PR18)
|
|
3
|
-
*
|
|
4
|
-
* An application's assembly model contains:
|
|
5
|
-
* - Identity (id, name, version)
|
|
6
|
-
* - Provided capabilities contract
|
|
7
|
-
* - Required capabilities contract
|
|
8
|
-
* - Implementation bindings
|
|
9
|
-
* - Verification/readiness state
|
|
10
|
-
*
|
|
11
|
-
* This separates declarative contract from business logic bindings,
|
|
12
|
-
* and provides deterministic verification before runtime execution.
|
|
13
|
-
*/
|
|
14
|
-
import { generateManifest, generateManifestUnchecked, fingerprintManifest, serializeManifest } from "./manifest.js";
|
|
15
|
-
import { implementation } from "./implementation.js";
|
|
16
|
-
export function applicationCapabilityRole(application, capabilityName) {
|
|
17
|
-
const provides = application.provides.some(capability => capability.name === capabilityName);
|
|
18
|
-
const requires = application.requires.some(requirement => requirement.name === capabilityName);
|
|
19
|
-
return provides && requires ? "BOTH" : provides ? "PROVIDER" : requires ? "CONSUMER" : "NONE";
|
|
20
|
-
}
|
|
21
|
-
export function applicationCapabilityRoles(application) {
|
|
22
|
-
const names = new Set([...application.provides.map(capability => capability.name), ...application.requires.map(requirement => requirement.name)]);
|
|
23
|
-
return Object.fromEntries([...names].sort().map(name => [name, applicationCapabilityRole(application, name)]));
|
|
24
|
-
}
|
|
25
|
-
const SEMVER = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;
|
|
26
|
-
const REQUIREMENT = /^(\^|~|>=|>|<=|<)?(0|[1-9]\d*)(?:\.(0|[1-9]\d*))?(?:\.(0|[1-9]\d*))?$/;
|
|
27
|
-
const RUNTIME_METADATA_KEY = /(credential|secret|password|private.?key|process|worker|filesystem|path|artifact|endpoint|hostname)/i;
|
|
28
|
-
function assertContractMetadata(value, path = "metadata") {
|
|
29
|
-
if (value === null || typeof value === "string" || typeof value === "boolean")
|
|
30
|
-
return;
|
|
31
|
-
if (typeof value === "number" && Number.isFinite(value))
|
|
32
|
-
return;
|
|
33
|
-
if (Array.isArray(value)) {
|
|
34
|
-
value.forEach((entry, index) => assertContractMetadata(entry, `${path}[${index}]`));
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
if (typeof value !== "object" || Object.getPrototypeOf(value) !== Object.prototype)
|
|
38
|
-
throw new Error(`${path} must contain JSON data only`);
|
|
39
|
-
for (const [key, entry] of Object.entries(value)) {
|
|
40
|
-
if (RUNTIME_METADATA_KEY.test(key))
|
|
41
|
-
throw new Error(`${path}.${key} is runtime or sensitive metadata and cannot enter an application contract`);
|
|
42
|
-
assertContractMetadata(entry, `${path}.${key}`);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
/** Declare a capability dependency without naming or selecting a provider. */
|
|
46
|
-
export function defineRequirement(options) {
|
|
47
|
-
const name = options.capability.trim();
|
|
48
|
-
if (!name)
|
|
49
|
-
throw new Error("Requirement capability must be a non-empty name");
|
|
50
|
-
const raw = String(options.version).trim();
|
|
51
|
-
const match = REQUIREMENT.exec(raw);
|
|
52
|
-
if (!match)
|
|
53
|
-
throw new Error(`Invalid requirement constraint "${raw}" for "${name}"`);
|
|
54
|
-
const operator = match[1] ?? "";
|
|
55
|
-
const major = Number(match[2]);
|
|
56
|
-
const minor = match[3] === undefined ? undefined : Number(match[3]);
|
|
57
|
-
const patch = match[4] === undefined ? undefined : Number(match[4]);
|
|
58
|
-
const normalizedVersion = patch !== undefined && patch !== 0
|
|
59
|
-
? `${major}.${minor ?? 0}.${patch}`
|
|
60
|
-
: minor !== undefined && minor !== 0
|
|
61
|
-
? `${major}.${minor}`
|
|
62
|
-
: String(major);
|
|
63
|
-
return { name, version: major, versionConstraint: `${operator}${normalizedVersion}` };
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Defines an application assembly: identity, contract, and implementations.
|
|
67
|
-
*
|
|
68
|
-
* Usage:
|
|
69
|
-
*
|
|
70
|
-
* ```typescript
|
|
71
|
-
* const assembly = defineApplication({
|
|
72
|
-
* identity: { id: "invoicing", name: "Invoicing", version: "1.0.0" },
|
|
73
|
-
* provides: [invoiceCreate, invoiceSend, invoiceRefund],
|
|
74
|
-
* requires: [{ name: "payments.charge", version: 1 }],
|
|
75
|
-
* implementations: {
|
|
76
|
-
* "invoice.create@1": createInvoiceImpl,
|
|
77
|
-
* "invoice.send@1": sendInvoiceImpl,
|
|
78
|
-
* "invoice.refund@1": refundInvoiceImpl,
|
|
79
|
-
* }
|
|
80
|
-
* });
|
|
81
|
-
* ```
|
|
82
|
-
*
|
|
83
|
-
* The assembly is purely declarative. Call `assembly.verify()` to validate
|
|
84
|
-
* that all contracts are internally coherent and implementations are complete.
|
|
85
|
-
*/
|
|
86
|
-
export function defineApplication(options) {
|
|
87
|
-
const authored = "id" in options;
|
|
88
|
-
const identity = authored
|
|
89
|
-
? { id: options.id.trim(), name: (options.name ?? options.id).trim(), version: options.version.trim() }
|
|
90
|
-
: options.identity;
|
|
91
|
-
if (!identity.id || /\s/.test(identity.id))
|
|
92
|
-
throw new Error("Application id must be non-empty and contain no whitespace");
|
|
93
|
-
if (!identity.name)
|
|
94
|
-
throw new Error("Application name must be non-empty");
|
|
95
|
-
if (!SEMVER.test(identity.version))
|
|
96
|
-
throw new Error(`Invalid application version "${identity.version}"`);
|
|
97
|
-
if (options.metadata)
|
|
98
|
-
assertContractMetadata(options.metadata);
|
|
99
|
-
const provides = options.provides ?? [];
|
|
100
|
-
const requires = options.requires ?? [];
|
|
101
|
-
const providedKeys = new Set();
|
|
102
|
-
for (const capability of provides) {
|
|
103
|
-
const key = `${capability.name}@${capability.version}`;
|
|
104
|
-
if (providedKeys.has(key))
|
|
105
|
-
throw new Error(`Duplicate provided capability "${key}"`);
|
|
106
|
-
providedKeys.add(key);
|
|
107
|
-
if (!capability.input?.toJSONSchema || !capability.output?.toJSONSchema)
|
|
108
|
-
throw new Error(`Capability "${key}" has an invalid input/output contract`);
|
|
109
|
-
}
|
|
110
|
-
const requiredKeys = new Set();
|
|
111
|
-
for (const requirement of requires) {
|
|
112
|
-
const key = `${requirement.name}@${requirement.versionConstraint ?? requirement.version}`;
|
|
113
|
-
if (requiredKeys.has(key))
|
|
114
|
-
throw new Error(`Duplicate required capability "${key}"`);
|
|
115
|
-
requiredKeys.add(key);
|
|
116
|
-
if (requirement.versionConstraint && !REQUIREMENT.test(requirement.versionConstraint))
|
|
117
|
-
throw new Error(`Invalid requirement constraint "${requirement.versionConstraint}" for "${requirement.name}"`);
|
|
118
|
-
}
|
|
119
|
-
const implementations = new Map();
|
|
120
|
-
if (!authored && options.implementations) {
|
|
121
|
-
const record = options.implementations instanceof Map ? Object.fromEntries(options.implementations) : options.implementations;
|
|
122
|
-
for (const [key, impl] of Object.entries(record)) {
|
|
123
|
-
implementations.set(key, impl);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
if (authored) {
|
|
127
|
-
for (const capability of provides) {
|
|
128
|
-
implementations.set(`${capability.name}@${capability.version}`, capability.implementation ?? implementation(capability.handler));
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
const assembly = {
|
|
132
|
-
identity,
|
|
133
|
-
...(options.metadata ? { metadata: options.metadata } : {}),
|
|
134
|
-
provides,
|
|
135
|
-
requires,
|
|
136
|
-
implementations
|
|
137
|
-
};
|
|
138
|
-
return {
|
|
139
|
-
...assembly,
|
|
140
|
-
verify() {
|
|
141
|
-
return verifyApplication(assembly);
|
|
142
|
-
},
|
|
143
|
-
manifest() {
|
|
144
|
-
// Get verification result to ensure the application is ready
|
|
145
|
-
const verification = verifyApplication(assembly);
|
|
146
|
-
return generateManifest(assembly, verification);
|
|
147
|
-
},
|
|
148
|
-
manifestUnchecked() {
|
|
149
|
-
return generateManifestUnchecked(assembly);
|
|
150
|
-
},
|
|
151
|
-
fingerprint() {
|
|
152
|
-
const verification = verifyApplication(assembly);
|
|
153
|
-
const manifest = generateManifest(assembly, verification);
|
|
154
|
-
return fingerprintManifest(manifest);
|
|
155
|
-
},
|
|
156
|
-
fingerprintUnchecked() {
|
|
157
|
-
const manifest = generateManifestUnchecked(assembly);
|
|
158
|
-
return fingerprintManifest(manifest);
|
|
159
|
-
},
|
|
160
|
-
async register(registry) {
|
|
161
|
-
const verification = verifyApplication(assembly);
|
|
162
|
-
const manifest = generateManifest(assembly, verification);
|
|
163
|
-
return registry.registerWithValidation({ identity, manifest, fingerprint: fingerprintManifest(manifest), verification });
|
|
164
|
-
}
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Verifies an application assembly for coherence and completeness.
|
|
169
|
-
*
|
|
170
|
-
* Checks:
|
|
171
|
-
* - All provided capabilities are structurally valid
|
|
172
|
-
* - All required capabilities are structurally valid
|
|
173
|
-
* - All provided capabilities have explicit implementation bindings
|
|
174
|
-
* - No orphan implementations (implementations for undeclared capabilities)
|
|
175
|
-
* - All requirements pass existing PR16 validation
|
|
176
|
-
*
|
|
177
|
-
* Returns a VerificationResult with ready state and detailed issues.
|
|
178
|
-
*
|
|
179
|
-
* NOTE: This function checks for explicit implementation bindings only.
|
|
180
|
-
* Legacy handlers (PR17 pattern) are NOT considered implementations for
|
|
181
|
-
* verification purposes. Use `AppPortApplication.verify()` for runtime
|
|
182
|
-
* verification that includes handler compatibility.
|
|
183
|
-
*
|
|
184
|
-
* CRITICAL INVARIANT: Verification never executes business logic.
|
|
185
|
-
* It is purely structural/contractual validation.
|
|
186
|
-
*/
|
|
187
|
-
export function verifyApplication(assembly) {
|
|
188
|
-
const errors = [];
|
|
189
|
-
const warnings = [];
|
|
190
|
-
const providedRefs = [];
|
|
191
|
-
const implementations = new Map();
|
|
192
|
-
// Track which implementations we've seen
|
|
193
|
-
const seenImplementations = new Set();
|
|
194
|
-
// Build a map of implementation keys from bindings
|
|
195
|
-
for (const key of assembly.implementations.keys()) {
|
|
196
|
-
seenImplementations.add(key);
|
|
197
|
-
}
|
|
198
|
-
// Validate provided capabilities
|
|
199
|
-
for (const capability of assembly.provides) {
|
|
200
|
-
providedRefs.push({ name: capability.name, version: capability.version });
|
|
201
|
-
// Check if capability is valid
|
|
202
|
-
if (!capability.name || !capability.version) {
|
|
203
|
-
errors.push({
|
|
204
|
-
severity: "error",
|
|
205
|
-
message: `Provided capability has invalid name or version: ${capability.name}@${capability.version}`,
|
|
206
|
-
capability: { name: capability.name, version: capability.version }
|
|
207
|
-
});
|
|
208
|
-
implementations.set(`${capability.name}@${capability.version}`, "missing");
|
|
209
|
-
continue;
|
|
210
|
-
}
|
|
211
|
-
// Check if explicit implementation is bound (only explicit bindings count)
|
|
212
|
-
const implKey = `${capability.name}@${capability.version}`;
|
|
213
|
-
const impl = assembly.implementations.get(implKey);
|
|
214
|
-
if (impl) {
|
|
215
|
-
// Explicit implementation binding
|
|
216
|
-
implementations.set(implKey, "bound");
|
|
217
|
-
seenImplementations.delete(implKey);
|
|
218
|
-
}
|
|
219
|
-
else {
|
|
220
|
-
// No explicit binding—this is an error for defineApplication
|
|
221
|
-
errors.push({
|
|
222
|
-
severity: "error",
|
|
223
|
-
message: `Provided capability "${capability.name}@${capability.version}" has no implementation`,
|
|
224
|
-
capability: { name: capability.name, version: capability.version }
|
|
225
|
-
});
|
|
226
|
-
implementations.set(implKey, "missing");
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
// Check for orphan implementations (implementations for undeclared capabilities)
|
|
230
|
-
for (const orphanKey of seenImplementations) {
|
|
231
|
-
// Parse the key as "name@version"
|
|
232
|
-
const lastAtIndex = orphanKey.lastIndexOf("@");
|
|
233
|
-
if (lastAtIndex > 0) {
|
|
234
|
-
const name = orphanKey.substring(0, lastAtIndex);
|
|
235
|
-
const versionStr = orphanKey.substring(lastAtIndex + 1);
|
|
236
|
-
const version = parseInt(versionStr, 10);
|
|
237
|
-
if (!isNaN(version)) {
|
|
238
|
-
errors.push({
|
|
239
|
-
severity: "error",
|
|
240
|
-
message: `Implementation for "${name}@${version}" exists but capability is not declared`,
|
|
241
|
-
capability: { name, version }
|
|
242
|
-
});
|
|
243
|
-
implementations.set(orphanKey, "orphan");
|
|
244
|
-
continue;
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
errors.push({
|
|
248
|
-
severity: "error",
|
|
249
|
-
message: `Implementation "${orphanKey}" does not correspond to a declared capability`,
|
|
250
|
-
capability: undefined
|
|
251
|
-
});
|
|
252
|
-
implementations.set(orphanKey, "orphan");
|
|
253
|
-
}
|
|
254
|
-
// Validate required capabilities
|
|
255
|
-
const requiredRefs = [];
|
|
256
|
-
for (const required of assembly.requires) {
|
|
257
|
-
if (!required.name || !required.version || required.version < 1) {
|
|
258
|
-
errors.push({
|
|
259
|
-
severity: "error",
|
|
260
|
-
message: `Required capability has invalid name or version: ${required.name}@${required.version}`,
|
|
261
|
-
capability: required
|
|
262
|
-
});
|
|
263
|
-
continue;
|
|
264
|
-
}
|
|
265
|
-
requiredRefs.push(required);
|
|
266
|
-
}
|
|
267
|
-
// Determine readiness: no errors means ready
|
|
268
|
-
const ready = errors.length === 0;
|
|
269
|
-
return {
|
|
270
|
-
ready,
|
|
271
|
-
errors,
|
|
272
|
-
warnings,
|
|
273
|
-
provides: providedRefs,
|
|
274
|
-
requires: requiredRefs,
|
|
275
|
-
implementations
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Runtime verification of an application assembly with backward compatibility.
|
|
280
|
-
*
|
|
281
|
-
* This variant is used by AppPortApplication.verify() and accepts both:
|
|
282
|
-
* - Explicit implementation bindings (PR18)
|
|
283
|
-
* - Legacy handlers attached to capabilities (PR17/backward compat)
|
|
284
|
-
*
|
|
285
|
-
* A capability is considered "bound" if it has either:
|
|
286
|
-
* 1. An explicit implementation binding in the assembly, OR
|
|
287
|
-
* 2. An implementation attached to the capability definition (PR17), OR
|
|
288
|
-
* 3. A fallback handler in the capability definition (legacy)
|
|
289
|
-
*/
|
|
290
|
-
export function verifyApplicationWithHandlers(assembly) {
|
|
291
|
-
const errors = [];
|
|
292
|
-
const warnings = [];
|
|
293
|
-
const providedRefs = [];
|
|
294
|
-
const implementations = new Map();
|
|
295
|
-
// Track which implementations we've seen
|
|
296
|
-
const seenImplementations = new Set();
|
|
297
|
-
// Build a map of implementation keys from bindings
|
|
298
|
-
for (const key of assembly.implementations.keys()) {
|
|
299
|
-
seenImplementations.add(key);
|
|
300
|
-
}
|
|
301
|
-
// Validate provided capabilities
|
|
302
|
-
for (const capability of assembly.provides) {
|
|
303
|
-
providedRefs.push({ name: capability.name, version: capability.version });
|
|
304
|
-
// Check if capability is valid
|
|
305
|
-
if (!capability.name || !capability.version) {
|
|
306
|
-
errors.push({
|
|
307
|
-
severity: "error",
|
|
308
|
-
message: `Provided capability has invalid name or version: ${capability.name}@${capability.version}`,
|
|
309
|
-
capability: { name: capability.name, version: capability.version }
|
|
310
|
-
});
|
|
311
|
-
implementations.set(`${capability.name}@${capability.version}`, "missing");
|
|
312
|
-
continue;
|
|
313
|
-
}
|
|
314
|
-
// Check if implementation is bound (explicit binding, definition binding, or handler)
|
|
315
|
-
const implKey = `${capability.name}@${capability.version}`;
|
|
316
|
-
const impl = assembly.implementations.get(implKey);
|
|
317
|
-
if (impl) {
|
|
318
|
-
// Explicit implementation binding
|
|
319
|
-
implementations.set(implKey, "bound");
|
|
320
|
-
seenImplementations.delete(implKey);
|
|
321
|
-
}
|
|
322
|
-
else if (capability.implementation) {
|
|
323
|
-
// Implementation is attached to the capability definition (PR17 pattern)
|
|
324
|
-
implementations.set(implKey, "bound");
|
|
325
|
-
}
|
|
326
|
-
else {
|
|
327
|
-
// No explicit binding or definition binding
|
|
328
|
-
// Handler always exists as fallback (legacy compatibility)
|
|
329
|
-
implementations.set(implKey, "bound");
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
// Check for orphan implementations (implementations for undeclared capabilities)
|
|
333
|
-
for (const orphanKey of seenImplementations) {
|
|
334
|
-
// Parse the key as "name@version"
|
|
335
|
-
const lastAtIndex = orphanKey.lastIndexOf("@");
|
|
336
|
-
if (lastAtIndex > 0) {
|
|
337
|
-
const name = orphanKey.substring(0, lastAtIndex);
|
|
338
|
-
const versionStr = orphanKey.substring(lastAtIndex + 1);
|
|
339
|
-
const version = parseInt(versionStr, 10);
|
|
340
|
-
if (!isNaN(version)) {
|
|
341
|
-
errors.push({
|
|
342
|
-
severity: "error",
|
|
343
|
-
message: `Implementation for "${name}@${version}" exists but capability is not declared`,
|
|
344
|
-
capability: { name, version }
|
|
345
|
-
});
|
|
346
|
-
implementations.set(orphanKey, "orphan");
|
|
347
|
-
continue;
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
errors.push({
|
|
351
|
-
severity: "error",
|
|
352
|
-
message: `Implementation "${orphanKey}" does not correspond to a declared capability`,
|
|
353
|
-
capability: undefined
|
|
354
|
-
});
|
|
355
|
-
implementations.set(orphanKey, "orphan");
|
|
356
|
-
}
|
|
357
|
-
// Validate required capabilities
|
|
358
|
-
const requiredRefs = [];
|
|
359
|
-
for (const required of assembly.requires) {
|
|
360
|
-
if (!required.name || !required.version || required.version < 1) {
|
|
361
|
-
errors.push({
|
|
362
|
-
severity: "error",
|
|
363
|
-
message: `Required capability has invalid name or version: ${required.name}@${required.version}`,
|
|
364
|
-
capability: required
|
|
365
|
-
});
|
|
366
|
-
continue;
|
|
367
|
-
}
|
|
368
|
-
requiredRefs.push(required);
|
|
369
|
-
}
|
|
370
|
-
// Determine readiness: no errors means ready
|
|
371
|
-
const ready = errors.length === 0;
|
|
372
|
-
return {
|
|
373
|
-
ready,
|
|
374
|
-
errors,
|
|
375
|
-
warnings,
|
|
376
|
-
provides: providedRefs,
|
|
377
|
-
requires: requiredRefs,
|
|
378
|
-
implementations
|
|
379
|
-
};
|
|
380
|
-
}
|
|
381
|
-
/**
|
|
382
|
-
* Format a verification result as a human-readable string.
|
|
383
|
-
*
|
|
384
|
-
* Example output:
|
|
385
|
-
*
|
|
386
|
-
* ```
|
|
387
|
-
* AppPort Application Verification
|
|
388
|
-
* Application: invoicing
|
|
389
|
-
* Version: 1.0.0
|
|
390
|
-
*
|
|
391
|
-
* PROVIDES
|
|
392
|
-
* ✓ invoice.create@1
|
|
393
|
-
* ✓ invoice.send@1
|
|
394
|
-
* ✗ invoice.refund@1
|
|
395
|
-
*
|
|
396
|
-
* REQUIRES
|
|
397
|
-
* ✓ payments.charge@1
|
|
398
|
-
*
|
|
399
|
-
* IMPLEMENTATIONS
|
|
400
|
-
* ✓ invoice.create@1
|
|
401
|
-
* ✓ invoice.send@1
|
|
402
|
-
*
|
|
403
|
-
* ERRORS
|
|
404
|
-
* ✗ invoice.refund@1 has no implementation
|
|
405
|
-
*
|
|
406
|
-
* STATUS
|
|
407
|
-
* NOT READY
|
|
408
|
-
* ```
|
|
409
|
-
*/
|
|
410
|
-
export function formatVerificationResult(assembly, result) {
|
|
411
|
-
const lines = [];
|
|
412
|
-
lines.push("AppPort Application Verification");
|
|
413
|
-
lines.push(`Application: ${assembly.identity.name}`);
|
|
414
|
-
lines.push(`Version: ${assembly.identity.version}`);
|
|
415
|
-
lines.push("");
|
|
416
|
-
// Provides section
|
|
417
|
-
if (result.provides.length > 0) {
|
|
418
|
-
lines.push("PROVIDES");
|
|
419
|
-
for (const capability of result.provides) {
|
|
420
|
-
const implStatus = result.implementations.get(`${capability.name}@${capability.version}`);
|
|
421
|
-
const symbol = implStatus === "bound" ? "✓" : "✗";
|
|
422
|
-
lines.push(` ${symbol} ${capability.name}@${capability.version}`);
|
|
423
|
-
}
|
|
424
|
-
lines.push("");
|
|
425
|
-
}
|
|
426
|
-
// Requires section
|
|
427
|
-
if (result.requires.length > 0) {
|
|
428
|
-
lines.push("REQUIRES");
|
|
429
|
-
for (const capability of result.requires) {
|
|
430
|
-
lines.push(` ✓ ${capability.name}@${capability.version}`);
|
|
431
|
-
}
|
|
432
|
-
lines.push("");
|
|
433
|
-
}
|
|
434
|
-
// Implementations section
|
|
435
|
-
const boundCount = Array.from(result.implementations.values()).filter((s) => s === "bound").length;
|
|
436
|
-
if (boundCount > 0) {
|
|
437
|
-
lines.push("IMPLEMENTATIONS");
|
|
438
|
-
for (const [key, status] of result.implementations) {
|
|
439
|
-
if (status === "bound") {
|
|
440
|
-
lines.push(` ✓ ${key}`);
|
|
441
|
-
}
|
|
442
|
-
}
|
|
443
|
-
lines.push("");
|
|
444
|
-
}
|
|
445
|
-
// Errors section
|
|
446
|
-
if (result.errors.length > 0) {
|
|
447
|
-
lines.push("ERRORS");
|
|
448
|
-
for (const error of result.errors) {
|
|
449
|
-
lines.push(` ✗ ${error.message}`);
|
|
450
|
-
}
|
|
451
|
-
lines.push("");
|
|
452
|
-
}
|
|
453
|
-
// Status section
|
|
454
|
-
lines.push("STATUS");
|
|
455
|
-
lines.push(` ${result.ready ? "READY" : "NOT READY"}`);
|
|
456
|
-
return lines.join("\n");
|
|
457
|
-
}
|
|
458
|
-
//# sourceMappingURL=assembly.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assembly.js","sourceRoot":"","sources":["../src/assembly.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { AuthorizedCapabilityBinding } from "./binding.js";
|
|
2
|
-
import type { ApplicationRegistry } from "./registration.js";
|
|
3
|
-
import type { ResolvedRequirement } from "./resolver.js";
|
|
4
|
-
type AuthorityValidator = () => Promise<void>;
|
|
5
|
-
/** Attach the authority snapshot that selected a provider to a resolution. */
|
|
6
|
-
export declare function attestResolution(resolution: ResolvedRequirement, registry: ApplicationRegistry): void;
|
|
7
|
-
/**
|
|
8
|
-
* Preserve the resolution's private authority proof on the issued binding.
|
|
9
|
-
*
|
|
10
|
-
* The consumer is part of the authority boundary: authority issued to one
|
|
11
|
-
* consumer incarnation must not survive that consumer being retired, removed,
|
|
12
|
-
* or re-registered under a new incarnation.
|
|
13
|
-
*/
|
|
14
|
-
export declare function transferResolutionAttestation(resolution: ResolvedRequirement, binding: AuthorizedCapabilityBinding): void;
|
|
15
|
-
/** Revalidate against durable authority at the invocation linearization point. */
|
|
16
|
-
export declare function assertBindingAuthoritative(binding: AuthorizedCapabilityBinding): Promise<void>;
|
|
17
|
-
/**
|
|
18
|
-
* Attach a durable authority proof to an authorization decision.
|
|
19
|
-
*
|
|
20
|
-
* The proof is module-private for the same reason binding issuance is: an
|
|
21
|
-
* authorization object is structural data, so the runtime must be able to
|
|
22
|
-
* distinguish an authorization an authority actually issued from one a caller
|
|
23
|
-
* merely shaped like it.
|
|
24
|
-
*/
|
|
25
|
-
export declare function attestAuthorization(authorization: object, validate: AuthorityValidator): void;
|
|
26
|
-
/**
|
|
27
|
-
* Preserve the authorization's durable authority proof on the issued binding.
|
|
28
|
-
*
|
|
29
|
-
* Composed with the resolution proof so a binding is authoritative only while
|
|
30
|
-
* both the registration incarnations and the authorization grant remain valid.
|
|
31
|
-
*/
|
|
32
|
-
export declare function transferAuthorizationAttestation(authorization: object, binding: AuthorizedCapabilityBinding): void;
|
|
33
|
-
export {};
|
|
34
|
-
//# sourceMappingURL=authority-attestation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authority-attestation.d.ts","sourceRoot":"","sources":["../src/authority-attestation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGzD,KAAK,kBAAkB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;AA0B9C,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,mBAAmB,EAC/B,QAAQ,EAAE,mBAAmB,GAC5B,IAAI,CAIN;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,mBAAmB,EAC/B,OAAO,EAAE,2BAA2B,GACnC,IAAI,CAYN;AAED,kFAAkF;AAClF,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAE7F;AAED;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,2BAA2B,GACnC,IAAI,CASN"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
const resolutionValidators = new WeakMap();
|
|
2
|
-
const resolutionRegistries = new WeakMap();
|
|
3
|
-
const authorizationValidators = new WeakMap();
|
|
4
|
-
const bindingValidators = new WeakMap();
|
|
5
|
-
/** Assert the registry still holds the exact incarnation authority was issued against. */
|
|
6
|
-
async function assertRegistrationCurrent(registry, expected, role) {
|
|
7
|
-
const current = await registry.get(expected.id);
|
|
8
|
-
if (!current ||
|
|
9
|
-
current.registrationId !== expected.registrationId ||
|
|
10
|
-
current.fingerprint !== expected.fingerprint ||
|
|
11
|
-
current.status === "retired") {
|
|
12
|
-
throw new Error(`${role} registration "${expected.registrationId}" is no longer authoritative`);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
/** Attach the authority snapshot that selected a provider to a resolution. */
|
|
16
|
-
export function attestResolution(resolution, registry) {
|
|
17
|
-
const expected = resolution.provider;
|
|
18
|
-
resolutionRegistries.set(resolution, registry);
|
|
19
|
-
resolutionValidators.set(resolution, () => assertRegistrationCurrent(registry, expected, "Provider"));
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Preserve the resolution's private authority proof on the issued binding.
|
|
23
|
-
*
|
|
24
|
-
* The consumer is part of the authority boundary: authority issued to one
|
|
25
|
-
* consumer incarnation must not survive that consumer being retired, removed,
|
|
26
|
-
* or re-registered under a new incarnation.
|
|
27
|
-
*/
|
|
28
|
-
export function transferResolutionAttestation(resolution, binding) {
|
|
29
|
-
const validator = resolutionValidators.get(resolution);
|
|
30
|
-
const registry = resolutionRegistries.get(resolution);
|
|
31
|
-
if (!validator && !registry)
|
|
32
|
-
return;
|
|
33
|
-
const consumer = binding.consumer;
|
|
34
|
-
bindingValidators.set(binding, async () => {
|
|
35
|
-
await validator?.();
|
|
36
|
-
if (registry && consumer?.registrationId) {
|
|
37
|
-
await assertRegistrationCurrent(registry, consumer, "Consumer");
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
/** Revalidate against durable authority at the invocation linearization point. */
|
|
42
|
-
export async function assertBindingAuthoritative(binding) {
|
|
43
|
-
await bindingValidators.get(binding)?.();
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Attach a durable authority proof to an authorization decision.
|
|
47
|
-
*
|
|
48
|
-
* The proof is module-private for the same reason binding issuance is: an
|
|
49
|
-
* authorization object is structural data, so the runtime must be able to
|
|
50
|
-
* distinguish an authorization an authority actually issued from one a caller
|
|
51
|
-
* merely shaped like it.
|
|
52
|
-
*/
|
|
53
|
-
export function attestAuthorization(authorization, validate) {
|
|
54
|
-
authorizationValidators.set(authorization, validate);
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Preserve the authorization's durable authority proof on the issued binding.
|
|
58
|
-
*
|
|
59
|
-
* Composed with the resolution proof so a binding is authoritative only while
|
|
60
|
-
* both the registration incarnations and the authorization grant remain valid.
|
|
61
|
-
*/
|
|
62
|
-
export function transferAuthorizationAttestation(authorization, binding) {
|
|
63
|
-
const validator = authorizationValidators.get(authorization);
|
|
64
|
-
if (!validator)
|
|
65
|
-
return;
|
|
66
|
-
const existing = bindingValidators.get(binding);
|
|
67
|
-
bindingValidators.set(binding, async () => {
|
|
68
|
-
await existing?.();
|
|
69
|
-
await validator();
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=authority-attestation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authority-attestation.js","sourceRoot":"","sources":["../src/authority-attestation.ts"],"names":[],"mappings":"AAOA,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAA8B,CAAC;AACvE,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAA+B,CAAC;AACxE,MAAM,uBAAuB,GAAG,IAAI,OAAO,EAA8B,CAAC;AAC1E,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAA8B,CAAC;AAEpE,0FAA0F;AAC1F,KAAK,UAAU,yBAAyB,CACtC,QAA6B,EAC7B,QAA0B,EAC1B,IAA6B;IAE7B,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChD,IACE,CAAC,OAAO;QACR,OAAO,CAAC,cAAc,KAAK,QAAQ,CAAC,cAAc;QAClD,OAAO,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW;QAC5C,OAAO,CAAC,MAAM,KAAK,SAAS,EAC5B,CAAC;QACD,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,kBAAkB,QAAQ,CAAC,cAAc,8BAA8B,CAC/E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAC9B,UAA+B,EAC/B,QAA6B;IAE7B,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACrC,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC/C,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AACxG,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAC3C,UAA+B,EAC/B,OAAoC;IAEpC,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEpC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,SAAS,EAAE,EAAE,CAAC;QACpB,IAAI,QAAQ,IAAI,QAAQ,EAAE,cAAc,EAAE,CAAC;YACzC,MAAM,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAClE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAoC;IAEpC,MAAM,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,aAAqB,EAAE,QAA4B;IACrF,uBAAuB,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gCAAgC,CAC9C,aAAqB,EACrB,OAAoC;IAEpC,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC7D,IAAI,CAAC,SAAS;QAAE,OAAO;IAEvB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,QAAQ,EAAE,EAAE,CAAC;QACnB,MAAM,SAAS,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC"}
|