@appport/sdk 1.1.19 → 1.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +126 -0
- package/README.md +86 -9
- package/dist/application-onboarding.d.ts +52 -0
- package/dist/application-onboarding.d.ts.map +1 -0
- package/dist/application-onboarding.js +50 -0
- package/dist/application-onboarding.js.map +1 -0
- package/dist/external-compatibility.d.ts +142 -0
- package/dist/external-compatibility.d.ts.map +1 -0
- package/dist/external-compatibility.js +132 -0
- package/dist/external-compatibility.js.map +1 -0
- package/dist/index.d.ts +18 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -13
- package/dist/index.js.map +1 -1
- package/dist/node.d.ts +1 -1
- package/dist/node.js +1 -1
- package/dist/provider-lifecycle.d.ts +247 -0
- package/dist/provider-lifecycle.d.ts.map +1 -0
- package/dist/provider-lifecycle.js +314 -0
- package/dist/provider-lifecycle.js.map +1 -0
- package/dist/resolution-policy.d.ts +81 -0
- package/dist/resolution-policy.d.ts.map +1 -0
- package/dist/resolution-policy.js +131 -0
- package/dist/resolution-policy.js.map +1 -0
- package/package.json +32 -22
- package/vendor/@appport/authorization/README.md +28 -0
- package/vendor/@appport/authorization/dist/index.d.ts +94 -0
- package/vendor/@appport/authorization/dist/index.d.ts.map +1 -0
- package/vendor/@appport/authorization/dist/index.js +131 -0
- package/vendor/@appport/authorization/dist/index.js.map +1 -0
- package/vendor/@appport/authorization/package.json +28 -0
- package/vendor/@appport/client/README.md +35 -0
- package/vendor/@appport/client/dist/channel.d.ts +14 -0
- package/vendor/@appport/client/dist/channel.d.ts.map +1 -0
- package/vendor/@appport/client/dist/channel.js +58 -0
- package/vendor/@appport/client/dist/channel.js.map +1 -0
- package/vendor/@appport/client/dist/client.d.ts +61 -0
- package/vendor/@appport/client/dist/client.d.ts.map +1 -0
- package/vendor/@appport/client/dist/client.js +214 -0
- package/vendor/@appport/client/dist/client.js.map +1 -0
- package/vendor/@appport/client/dist/contract.d.ts +55 -0
- package/vendor/@appport/client/dist/contract.d.ts.map +1 -0
- package/vendor/@appport/client/dist/contract.js +12 -0
- package/vendor/@appport/client/dist/contract.js.map +1 -0
- package/vendor/@appport/client/dist/discovery.d.ts +17 -0
- package/vendor/@appport/client/dist/discovery.d.ts.map +1 -0
- package/vendor/@appport/client/dist/discovery.js +56 -0
- package/vendor/@appport/client/dist/discovery.js.map +1 -0
- package/vendor/@appport/client/dist/duplex.d.ts +25 -0
- package/vendor/@appport/client/dist/duplex.d.ts.map +1 -0
- package/vendor/@appport/client/dist/duplex.js +194 -0
- package/vendor/@appport/client/dist/duplex.js.map +1 -0
- package/vendor/@appport/client/dist/host.d.ts +62 -0
- package/vendor/@appport/client/dist/host.d.ts.map +1 -0
- package/vendor/@appport/client/dist/host.js +139 -0
- package/vendor/@appport/client/dist/host.js.map +1 -0
- package/vendor/@appport/client/dist/index.d.ts +14 -0
- package/vendor/@appport/client/dist/index.d.ts.map +1 -0
- package/vendor/@appport/client/dist/index.js +14 -0
- package/vendor/@appport/client/dist/index.js.map +1 -0
- package/vendor/@appport/client/dist/transport.d.ts +42 -0
- package/vendor/@appport/client/dist/transport.d.ts.map +1 -0
- package/vendor/@appport/client/dist/transport.js +2 -0
- package/vendor/@appport/client/dist/transport.js.map +1 -0
- package/vendor/@appport/client/package.json +32 -0
- package/vendor/@appport/core/README.md +91 -0
- package/vendor/@appport/core/dist/appboundry-capability-catalog.d.ts +930 -0
- package/vendor/@appport/core/dist/appboundry-capability-catalog.d.ts.map +1 -0
- package/vendor/@appport/core/dist/appboundry-capability-catalog.js +352 -0
- package/vendor/@appport/core/dist/appboundry-capability-catalog.js.map +1 -0
- package/vendor/@appport/core/dist/appboundry-composition.d.ts +93 -0
- package/vendor/@appport/core/dist/appboundry-composition.d.ts.map +1 -0
- package/vendor/@appport/core/dist/appboundry-composition.js +184 -0
- package/vendor/@appport/core/dist/appboundry-composition.js.map +1 -0
- package/vendor/@appport/core/dist/appboundry-contract.d.ts +80 -0
- package/vendor/@appport/core/dist/appboundry-contract.d.ts.map +1 -0
- package/vendor/@appport/core/dist/appboundry-contract.js +160 -0
- package/vendor/@appport/core/dist/appboundry-contract.js.map +1 -0
- package/vendor/@appport/core/dist/appboundry-diagnostics.d.ts +107 -0
- package/vendor/@appport/core/dist/appboundry-diagnostics.d.ts.map +1 -0
- package/vendor/@appport/core/dist/appboundry-diagnostics.js +358 -0
- package/vendor/@appport/core/dist/appboundry-diagnostics.js.map +1 -0
- package/vendor/@appport/core/dist/appboundry-discovery.d.ts +110 -0
- package/vendor/@appport/core/dist/appboundry-discovery.d.ts.map +1 -0
- package/vendor/@appport/core/dist/appboundry-discovery.js +141 -0
- package/vendor/@appport/core/dist/appboundry-discovery.js.map +1 -0
- package/vendor/@appport/core/dist/appboundry-entitlements.d.ts +128 -0
- package/vendor/@appport/core/dist/appboundry-entitlements.d.ts.map +1 -0
- package/vendor/@appport/core/dist/appboundry-entitlements.js +312 -0
- package/vendor/@appport/core/dist/appboundry-entitlements.js.map +1 -0
- package/vendor/@appport/core/dist/appboundry-execution.d.ts +84 -0
- package/vendor/@appport/core/dist/appboundry-execution.d.ts.map +1 -0
- package/vendor/@appport/core/dist/appboundry-execution.js +150 -0
- package/vendor/@appport/core/dist/appboundry-execution.js.map +1 -0
- package/vendor/@appport/core/dist/appboundry-exercise.d.ts +152 -0
- package/vendor/@appport/core/dist/appboundry-exercise.d.ts.map +1 -0
- package/vendor/@appport/core/dist/appboundry-exercise.js +416 -0
- package/vendor/@appport/core/dist/appboundry-exercise.js.map +1 -0
- package/vendor/@appport/core/dist/appboundry-materialization.d.ts +222 -0
- package/vendor/@appport/core/dist/appboundry-materialization.d.ts.map +1 -0
- package/vendor/@appport/core/dist/appboundry-materialization.js +494 -0
- package/vendor/@appport/core/dist/appboundry-materialization.js.map +1 -0
- package/vendor/@appport/core/dist/appboundry-migration.d.ts +195 -0
- package/vendor/@appport/core/dist/appboundry-migration.d.ts.map +1 -0
- package/vendor/@appport/core/dist/appboundry-migration.js +227 -0
- package/vendor/@appport/core/dist/appboundry-migration.js.map +1 -0
- package/vendor/@appport/core/dist/appboundry-onboarding.d.ts +70 -0
- package/vendor/@appport/core/dist/appboundry-onboarding.d.ts.map +1 -0
- package/vendor/@appport/core/dist/appboundry-onboarding.js +232 -0
- package/vendor/@appport/core/dist/appboundry-onboarding.js.map +1 -0
- package/vendor/@appport/core/dist/appboundry-operation-discovery.d.ts +93 -0
- package/vendor/@appport/core/dist/appboundry-operation-discovery.d.ts.map +1 -0
- package/vendor/@appport/core/dist/appboundry-operation-discovery.js +89 -0
- package/vendor/@appport/core/dist/appboundry-operation-discovery.js.map +1 -0
- package/vendor/@appport/core/dist/appboundry-resolution.d.ts +160 -0
- package/vendor/@appport/core/dist/appboundry-resolution.d.ts.map +1 -0
- package/vendor/@appport/core/dist/appboundry-resolution.js +218 -0
- package/vendor/@appport/core/dist/appboundry-resolution.js.map +1 -0
- package/vendor/@appport/core/dist/appboundry-surface.d.ts +96 -0
- package/vendor/@appport/core/dist/appboundry-surface.d.ts.map +1 -0
- package/vendor/@appport/core/dist/appboundry-surface.js +223 -0
- package/vendor/@appport/core/dist/appboundry-surface.js.map +1 -0
- package/vendor/@appport/core/dist/appboundry-usage.d.ts +94 -0
- package/vendor/@appport/core/dist/appboundry-usage.d.ts.map +1 -0
- package/vendor/@appport/core/dist/appboundry-usage.js +80 -0
- package/vendor/@appport/core/dist/appboundry-usage.js.map +1 -0
- package/vendor/@appport/core/dist/application-conformance.d.ts +68 -0
- package/vendor/@appport/core/dist/application-conformance.d.ts.map +1 -0
- package/vendor/@appport/core/dist/application-conformance.js +108 -0
- package/vendor/@appport/core/dist/application-conformance.js.map +1 -0
- package/vendor/@appport/core/dist/application-implementation.d.ts +125 -0
- package/vendor/@appport/core/dist/application-implementation.d.ts.map +1 -0
- package/vendor/@appport/core/dist/application-implementation.js +220 -0
- package/vendor/@appport/core/dist/application-implementation.js.map +1 -0
- package/vendor/@appport/core/dist/application-lifecycle.d.ts +150 -0
- package/vendor/@appport/core/dist/application-lifecycle.d.ts.map +1 -0
- package/vendor/@appport/core/dist/application-lifecycle.js +70 -0
- package/vendor/@appport/core/dist/application-lifecycle.js.map +1 -0
- package/vendor/@appport/core/dist/application-package.d.ts +105 -0
- package/vendor/@appport/core/dist/application-package.d.ts.map +1 -0
- package/vendor/@appport/core/dist/application-package.js +349 -0
- package/vendor/@appport/core/dist/application-package.js.map +1 -0
- package/vendor/@appport/core/dist/application-source.d.ts +109 -0
- package/vendor/@appport/core/dist/application-source.d.ts.map +1 -0
- package/vendor/@appport/core/dist/application-source.js +186 -0
- package/vendor/@appport/core/dist/application-source.js.map +1 -0
- package/vendor/@appport/core/dist/application.d.ts +124 -0
- package/vendor/@appport/core/dist/application.d.ts.map +1 -0
- package/vendor/@appport/core/dist/application.js +518 -0
- package/vendor/@appport/core/dist/application.js.map +1 -0
- package/vendor/@appport/core/dist/artifact.d.ts +395 -0
- package/vendor/@appport/core/dist/artifact.d.ts.map +1 -0
- package/vendor/@appport/core/dist/artifact.js +392 -0
- package/vendor/@appport/core/dist/artifact.js.map +1 -0
- package/vendor/@appport/core/dist/assembly.d.ts +237 -0
- package/vendor/@appport/core/dist/assembly.d.ts.map +1 -0
- package/vendor/@appport/core/dist/assembly.js +458 -0
- package/vendor/@appport/core/dist/assembly.js.map +1 -0
- package/vendor/@appport/core/dist/authority-attestation.d.ts +34 -0
- package/vendor/@appport/core/dist/authority-attestation.d.ts.map +1 -0
- package/vendor/@appport/core/dist/authority-attestation.js +72 -0
- package/vendor/@appport/core/dist/authority-attestation.js.map +1 -0
- package/vendor/@appport/core/dist/authorization-grant.d.ts +107 -0
- package/vendor/@appport/core/dist/authorization-grant.d.ts.map +1 -0
- package/vendor/@appport/core/dist/authorization-grant.js +131 -0
- package/vendor/@appport/core/dist/authorization-grant.js.map +1 -0
- package/vendor/@appport/core/dist/binding.d.ts +294 -0
- package/vendor/@appport/core/dist/binding.d.ts.map +1 -0
- package/vendor/@appport/core/dist/binding.js +263 -0
- package/vendor/@appport/core/dist/binding.js.map +1 -0
- package/vendor/@appport/core/dist/builtins.d.ts +18 -0
- package/vendor/@appport/core/dist/builtins.d.ts.map +1 -0
- package/vendor/@appport/core/dist/builtins.js +38 -0
- package/vendor/@appport/core/dist/builtins.js.map +1 -0
- package/vendor/@appport/core/dist/capability.d.ts +94 -0
- package/vendor/@appport/core/dist/capability.d.ts.map +1 -0
- package/vendor/@appport/core/dist/capability.js +85 -0
- package/vendor/@appport/core/dist/capability.js.map +1 -0
- package/vendor/@appport/core/dist/concurrency.d.ts +16 -0
- package/vendor/@appport/core/dist/concurrency.d.ts.map +1 -0
- package/vendor/@appport/core/dist/concurrency.js +46 -0
- package/vendor/@appport/core/dist/concurrency.js.map +1 -0
- package/vendor/@appport/core/dist/context.d.ts +59 -0
- package/vendor/@appport/core/dist/context.d.ts.map +1 -0
- package/vendor/@appport/core/dist/context.js +14 -0
- package/vendor/@appport/core/dist/context.js.map +1 -0
- package/vendor/@appport/core/dist/contract-artifact.d.ts +15 -0
- package/vendor/@appport/core/dist/contract-artifact.d.ts.map +1 -0
- package/vendor/@appport/core/dist/contract-artifact.js +161 -0
- package/vendor/@appport/core/dist/contract-artifact.js.map +1 -0
- package/vendor/@appport/core/dist/contract-attestation.d.ts +68 -0
- package/vendor/@appport/core/dist/contract-attestation.d.ts.map +1 -0
- package/vendor/@appport/core/dist/contract-attestation.js +76 -0
- package/vendor/@appport/core/dist/contract-attestation.js.map +1 -0
- package/vendor/@appport/core/dist/crash-injection.d.ts +3 -0
- package/vendor/@appport/core/dist/crash-injection.d.ts.map +1 -0
- package/vendor/@appport/core/dist/crash-injection.js +8 -0
- package/vendor/@appport/core/dist/crash-injection.js.map +1 -0
- package/vendor/@appport/core/dist/events.d.ts +33 -0
- package/vendor/@appport/core/dist/events.d.ts.map +1 -0
- package/vendor/@appport/core/dist/events.js +79 -0
- package/vendor/@appport/core/dist/events.js.map +1 -0
- package/vendor/@appport/core/dist/execution-barrier.d.ts +13 -0
- package/vendor/@appport/core/dist/execution-barrier.d.ts.map +1 -0
- package/vendor/@appport/core/dist/execution-barrier.js +33 -0
- package/vendor/@appport/core/dist/execution-barrier.js.map +1 -0
- package/vendor/@appport/core/dist/execution-ledger.d.ts +81 -0
- package/vendor/@appport/core/dist/execution-ledger.d.ts.map +1 -0
- package/vendor/@appport/core/dist/execution-ledger.js +173 -0
- package/vendor/@appport/core/dist/execution-ledger.js.map +1 -0
- package/vendor/@appport/core/dist/execution.d.ts +387 -0
- package/vendor/@appport/core/dist/execution.d.ts.map +1 -0
- package/vendor/@appport/core/dist/execution.js +165 -0
- package/vendor/@appport/core/dist/execution.js.map +1 -0
- package/vendor/@appport/core/dist/idempotency.d.ts +36 -0
- package/vendor/@appport/core/dist/idempotency.d.ts.map +1 -0
- package/vendor/@appport/core/dist/idempotency.js +36 -0
- package/vendor/@appport/core/dist/idempotency.js.map +1 -0
- package/vendor/@appport/core/dist/implementation.d.ts +110 -0
- package/vendor/@appport/core/dist/implementation.d.ts.map +1 -0
- package/vendor/@appport/core/dist/implementation.js +65 -0
- package/vendor/@appport/core/dist/implementation.js.map +1 -0
- package/vendor/@appport/core/dist/index.d.ts +62 -0
- package/vendor/@appport/core/dist/index.d.ts.map +1 -0
- package/vendor/@appport/core/dist/index.js +61 -0
- package/vendor/@appport/core/dist/index.js.map +1 -0
- package/vendor/@appport/core/dist/invocation.d.ts +253 -0
- package/vendor/@appport/core/dist/invocation.d.ts.map +1 -0
- package/vendor/@appport/core/dist/invocation.js +258 -0
- package/vendor/@appport/core/dist/invocation.js.map +1 -0
- package/vendor/@appport/core/dist/manifest.d.ts +157 -0
- package/vendor/@appport/core/dist/manifest.d.ts.map +1 -0
- package/vendor/@appport/core/dist/manifest.js +255 -0
- package/vendor/@appport/core/dist/manifest.js.map +1 -0
- package/vendor/@appport/core/dist/memory-application-data-store.d.ts +19 -0
- package/vendor/@appport/core/dist/memory-application-data-store.d.ts.map +1 -0
- package/vendor/@appport/core/dist/memory-application-data-store.js +161 -0
- package/vendor/@appport/core/dist/memory-application-data-store.js.map +1 -0
- package/vendor/@appport/core/dist/operations.d.ts +61 -0
- package/vendor/@appport/core/dist/operations.d.ts.map +1 -0
- package/vendor/@appport/core/dist/operations.js +210 -0
- package/vendor/@appport/core/dist/operations.js.map +1 -0
- package/vendor/@appport/core/dist/provider-contract.d.ts +89 -0
- package/vendor/@appport/core/dist/provider-contract.d.ts.map +1 -0
- package/vendor/@appport/core/dist/provider-contract.js +40 -0
- package/vendor/@appport/core/dist/provider-contract.js.map +1 -0
- package/vendor/@appport/core/dist/public.d.ts +23 -0
- package/vendor/@appport/core/dist/public.d.ts.map +1 -0
- package/vendor/@appport/core/dist/public.js +22 -0
- package/vendor/@appport/core/dist/public.js.map +1 -0
- package/vendor/@appport/core/dist/registration.d.ts +165 -0
- package/vendor/@appport/core/dist/registration.d.ts.map +1 -0
- package/vendor/@appport/core/dist/registration.js +253 -0
- package/vendor/@appport/core/dist/registration.js.map +1 -0
- package/vendor/@appport/core/dist/registry.d.ts +30 -0
- package/vendor/@appport/core/dist/registry.d.ts.map +1 -0
- package/vendor/@appport/core/dist/registry.js +149 -0
- package/vendor/@appport/core/dist/registry.js.map +1 -0
- package/vendor/@appport/core/dist/resolver.d.ts +130 -0
- package/vendor/@appport/core/dist/resolver.d.ts.map +1 -0
- package/vendor/@appport/core/dist/resolver.js +252 -0
- package/vendor/@appport/core/dist/resolver.js.map +1 -0
- package/vendor/@appport/core/dist/runtime-manifest.d.ts +68 -0
- package/vendor/@appport/core/dist/runtime-manifest.d.ts.map +1 -0
- package/vendor/@appport/core/dist/runtime-manifest.js +84 -0
- package/vendor/@appport/core/dist/runtime-manifest.js.map +1 -0
- package/vendor/@appport/core/dist/sanitize.d.ts +14 -0
- package/vendor/@appport/core/dist/sanitize.d.ts.map +1 -0
- package/vendor/@appport/core/dist/sanitize.js +49 -0
- package/vendor/@appport/core/dist/sanitize.js.map +1 -0
- package/vendor/@appport/core/dist/server-internal.d.ts +5 -0
- package/vendor/@appport/core/dist/server-internal.d.ts.map +1 -0
- package/vendor/@appport/core/dist/server-internal.js +4 -0
- package/vendor/@appport/core/dist/server-internal.js.map +1 -0
- package/vendor/@appport/core/dist/sessions.d.ts +29 -0
- package/vendor/@appport/core/dist/sessions.d.ts.map +1 -0
- package/vendor/@appport/core/dist/sessions.js +39 -0
- package/vendor/@appport/core/dist/sessions.js.map +1 -0
- package/vendor/@appport/core/dist/sha256.d.ts +3 -0
- package/vendor/@appport/core/dist/sha256.d.ts.map +1 -0
- package/vendor/@appport/core/dist/sha256.js +46 -0
- package/vendor/@appport/core/dist/sha256.js.map +1 -0
- package/vendor/@appport/core/dist/source-verification.d.ts +53 -0
- package/vendor/@appport/core/dist/source-verification.d.ts.map +1 -0
- package/vendor/@appport/core/dist/source-verification.js +92 -0
- package/vendor/@appport/core/dist/source-verification.js.map +1 -0
- package/vendor/@appport/core/dist/state-context.d.ts +312 -0
- package/vendor/@appport/core/dist/state-context.d.ts.map +1 -0
- package/vendor/@appport/core/dist/state-context.js +100 -0
- package/vendor/@appport/core/dist/state-context.js.map +1 -0
- package/vendor/@appport/core/dist/state.d.ts +96 -0
- package/vendor/@appport/core/dist/state.d.ts.map +1 -0
- package/vendor/@appport/core/dist/state.js +89 -0
- package/vendor/@appport/core/dist/state.js.map +1 -0
- package/vendor/@appport/core/dist/streams.d.ts +38 -0
- package/vendor/@appport/core/dist/streams.d.ts.map +1 -0
- package/vendor/@appport/core/dist/streams.js +123 -0
- package/vendor/@appport/core/dist/streams.js.map +1 -0
- package/vendor/@appport/core/dist/telemetry.d.ts +42 -0
- package/vendor/@appport/core/dist/telemetry.d.ts.map +1 -0
- package/vendor/@appport/core/dist/telemetry.js +32 -0
- package/vendor/@appport/core/dist/telemetry.js.map +1 -0
- package/vendor/@appport/core/dist/wasm-engine.d.ts +24 -0
- package/vendor/@appport/core/dist/wasm-engine.d.ts.map +1 -0
- package/vendor/@appport/core/dist/wasm-engine.js +376 -0
- package/vendor/@appport/core/dist/wasm-engine.js.map +1 -0
- package/vendor/@appport/core/package.json +58 -0
- package/vendor/@appport/mcp/README.md +29 -0
- package/vendor/@appport/mcp/dist/index.d.ts +59 -0
- package/vendor/@appport/mcp/dist/index.d.ts.map +1 -0
- package/vendor/@appport/mcp/dist/index.js +70 -0
- package/vendor/@appport/mcp/dist/index.js.map +1 -0
- package/vendor/@appport/mcp/package.json +29 -0
- package/vendor/@appport/mobile/README.md +10 -0
- package/vendor/@appport/mobile/dist/index.d.ts +66 -0
- package/vendor/@appport/mobile/dist/index.d.ts.map +1 -0
- package/vendor/@appport/mobile/dist/index.js +182 -0
- package/vendor/@appport/mobile/dist/index.js.map +1 -0
- package/vendor/@appport/mobile/package.json +33 -0
- package/vendor/@appport/protocol/README.md +41 -0
- package/vendor/@appport/protocol/dist/blob.d.ts +46 -0
- package/vendor/@appport/protocol/dist/blob.d.ts.map +1 -0
- package/vendor/@appport/protocol/dist/blob.js +23 -0
- package/vendor/@appport/protocol/dist/blob.js.map +1 -0
- package/vendor/@appport/protocol/dist/compatibility.d.ts +25 -0
- package/vendor/@appport/protocol/dist/compatibility.d.ts.map +1 -0
- package/vendor/@appport/protocol/dist/compatibility.js +189 -0
- package/vendor/@appport/protocol/dist/compatibility.js.map +1 -0
- package/vendor/@appport/protocol/dist/envelopes.d.ts +175 -0
- package/vendor/@appport/protocol/dist/envelopes.d.ts.map +1 -0
- package/vendor/@appport/protocol/dist/envelopes.js +97 -0
- package/vendor/@appport/protocol/dist/envelopes.js.map +1 -0
- package/vendor/@appport/protocol/dist/errors.d.ts +74 -0
- package/vendor/@appport/protocol/dist/errors.d.ts.map +1 -0
- package/vendor/@appport/protocol/dist/errors.js +92 -0
- package/vendor/@appport/protocol/dist/errors.js.map +1 -0
- package/vendor/@appport/protocol/dist/ids.d.ts +12 -0
- package/vendor/@appport/protocol/dist/ids.d.ts.map +1 -0
- package/vendor/@appport/protocol/dist/ids.js +50 -0
- package/vendor/@appport/protocol/dist/ids.js.map +1 -0
- package/vendor/@appport/protocol/dist/index.d.ts +21 -0
- package/vendor/@appport/protocol/dist/index.d.ts.map +1 -0
- package/vendor/@appport/protocol/dist/index.js +21 -0
- package/vendor/@appport/protocol/dist/index.js.map +1 -0
- package/vendor/@appport/protocol/dist/jsonschema.d.ts +50 -0
- package/vendor/@appport/protocol/dist/jsonschema.d.ts.map +1 -0
- package/vendor/@appport/protocol/dist/jsonschema.js +6 -0
- package/vendor/@appport/protocol/dist/jsonschema.js.map +1 -0
- package/vendor/@appport/protocol/dist/manifest.d.ts +134 -0
- package/vendor/@appport/protocol/dist/manifest.d.ts.map +1 -0
- package/vendor/@appport/protocol/dist/manifest.js +20 -0
- package/vendor/@appport/protocol/dist/manifest.js.map +1 -0
- package/vendor/@appport/protocol/dist/materialization.d.ts +59 -0
- package/vendor/@appport/protocol/dist/materialization.d.ts.map +1 -0
- package/vendor/@appport/protocol/dist/materialization.js +2 -0
- package/vendor/@appport/protocol/dist/materialization.js.map +1 -0
- package/vendor/@appport/protocol/dist/names.d.ts +26 -0
- package/vendor/@appport/protocol/dist/names.d.ts.map +1 -0
- package/vendor/@appport/protocol/dist/names.js +85 -0
- package/vendor/@appport/protocol/dist/names.js.map +1 -0
- package/vendor/@appport/protocol/dist/operations.d.ts +34 -0
- package/vendor/@appport/protocol/dist/operations.d.ts.map +1 -0
- package/vendor/@appport/protocol/dist/operations.js +9 -0
- package/vendor/@appport/protocol/dist/operations.js.map +1 -0
- package/vendor/@appport/protocol/dist/session.d.ts +27 -0
- package/vendor/@appport/protocol/dist/session.d.ts.map +1 -0
- package/vendor/@appport/protocol/dist/session.js +7 -0
- package/vendor/@appport/protocol/dist/session.js.map +1 -0
- package/vendor/@appport/protocol/dist/validate.d.ts +37 -0
- package/vendor/@appport/protocol/dist/validate.d.ts.map +1 -0
- package/vendor/@appport/protocol/dist/validate.js +321 -0
- package/vendor/@appport/protocol/dist/validate.js.map +1 -0
- package/vendor/@appport/protocol/dist/version.d.ts +27 -0
- package/vendor/@appport/protocol/dist/version.d.ts.map +1 -0
- package/vendor/@appport/protocol/dist/version.js +26 -0
- package/vendor/@appport/protocol/dist/version.js.map +1 -0
- package/vendor/@appport/protocol/package.json +25 -0
- package/vendor/@appport/schema/README.md +32 -0
- package/vendor/@appport/schema/dist/builder.d.ts +85 -0
- package/vendor/@appport/schema/dist/builder.d.ts.map +1 -0
- package/vendor/@appport/schema/dist/builder.js +278 -0
- package/vendor/@appport/schema/dist/builder.js.map +1 -0
- package/vendor/@appport/schema/dist/from-json-schema.d.ts +12 -0
- package/vendor/@appport/schema/dist/from-json-schema.d.ts.map +1 -0
- package/vendor/@appport/schema/dist/from-json-schema.js +186 -0
- package/vendor/@appport/schema/dist/from-json-schema.js.map +1 -0
- package/vendor/@appport/schema/dist/index.d.ts +23 -0
- package/vendor/@appport/schema/dist/index.d.ts.map +1 -0
- package/vendor/@appport/schema/dist/index.js +22 -0
- package/vendor/@appport/schema/dist/index.js.map +1 -0
- package/vendor/@appport/schema/dist/standard.d.ts +46 -0
- package/vendor/@appport/schema/dist/standard.d.ts.map +1 -0
- package/vendor/@appport/schema/dist/standard.js +42 -0
- package/vendor/@appport/schema/dist/standard.js.map +1 -0
- package/vendor/@appport/schema/dist/types.d.ts +40 -0
- package/vendor/@appport/schema/dist/types.d.ts.map +1 -0
- package/vendor/@appport/schema/dist/types.js +19 -0
- package/vendor/@appport/schema/dist/types.js.map +1 -0
- package/vendor/@appport/schema/package.json +28 -0
- package/vendor/@appport/server/README.md +39 -0
- package/vendor/@appport/server/dist/connection.d.ts +45 -0
- package/vendor/@appport/server/dist/connection.d.ts.map +1 -0
- package/vendor/@appport/server/dist/connection.js +217 -0
- package/vendor/@appport/server/dist/connection.js.map +1 -0
- package/vendor/@appport/server/dist/fetch.d.ts +10 -0
- package/vendor/@appport/server/dist/fetch.d.ts.map +1 -0
- package/vendor/@appport/server/dist/fetch.js +50 -0
- package/vendor/@appport/server/dist/fetch.js.map +1 -0
- package/vendor/@appport/server/dist/http.d.ts +80 -0
- package/vendor/@appport/server/dist/http.d.ts.map +1 -0
- package/vendor/@appport/server/dist/http.js +307 -0
- package/vendor/@appport/server/dist/http.js.map +1 -0
- package/vendor/@appport/server/dist/index.d.ts +11 -0
- package/vendor/@appport/server/dist/index.d.ts.map +1 -0
- package/vendor/@appport/server/dist/index.js +11 -0
- package/vendor/@appport/server/dist/index.js.map +1 -0
- package/vendor/@appport/server/dist/node-entry.d.ts +4 -0
- package/vendor/@appport/server/dist/node-entry.d.ts.map +1 -0
- package/vendor/@appport/server/dist/node-entry.js +4 -0
- package/vendor/@appport/server/dist/node-entry.js.map +1 -0
- package/vendor/@appport/server/dist/node.d.ts +45 -0
- package/vendor/@appport/server/dist/node.d.ts.map +1 -0
- package/vendor/@appport/server/dist/node.js +190 -0
- package/vendor/@appport/server/dist/node.js.map +1 -0
- package/vendor/@appport/server/dist/server.d.ts +83 -0
- package/vendor/@appport/server/dist/server.d.ts.map +1 -0
- package/vendor/@appport/server/dist/server.js +114 -0
- package/vendor/@appport/server/dist/server.js.map +1 -0
- package/vendor/@appport/server/dist/websocket.d.ts +25 -0
- package/vendor/@appport/server/dist/websocket.d.ts.map +1 -0
- package/vendor/@appport/server/dist/websocket.js +221 -0
- package/vendor/@appport/server/dist/websocket.js.map +1 -0
- package/vendor/@appport/server/package.json +34 -0
- package/vendor/@appport/transport-electron/README.md +56 -0
- package/vendor/@appport/transport-electron/dist/index.d.ts +11 -0
- package/vendor/@appport/transport-electron/dist/index.d.ts.map +1 -0
- package/vendor/@appport/transport-electron/dist/index.js +11 -0
- package/vendor/@appport/transport-electron/dist/index.js.map +1 -0
- package/vendor/@appport/transport-electron/dist/main.d.ts +31 -0
- package/vendor/@appport/transport-electron/dist/main.d.ts.map +1 -0
- package/vendor/@appport/transport-electron/dist/main.js +61 -0
- package/vendor/@appport/transport-electron/dist/main.js.map +1 -0
- package/vendor/@appport/transport-electron/dist/preload.d.ts +22 -0
- package/vendor/@appport/transport-electron/dist/preload.d.ts.map +1 -0
- package/vendor/@appport/transport-electron/dist/preload.js +29 -0
- package/vendor/@appport/transport-electron/dist/preload.js.map +1 -0
- package/vendor/@appport/transport-electron/dist/renderer.d.ts +16 -0
- package/vendor/@appport/transport-electron/dist/renderer.d.ts.map +1 -0
- package/vendor/@appport/transport-electron/dist/renderer.js +36 -0
- package/vendor/@appport/transport-electron/dist/renderer.js.map +1 -0
- package/vendor/@appport/transport-electron/dist/types.d.ts +49 -0
- package/vendor/@appport/transport-electron/dist/types.d.ts.map +1 -0
- package/vendor/@appport/transport-electron/dist/types.js +5 -0
- package/vendor/@appport/transport-electron/dist/types.js.map +1 -0
- package/vendor/@appport/transport-electron/package.json +46 -0
- package/vendor/@appport/transport-http/README.md +24 -0
- package/vendor/@appport/transport-http/dist/index.d.ts +18 -0
- package/vendor/@appport/transport-http/dist/index.d.ts.map +1 -0
- package/vendor/@appport/transport-http/dist/index.js +223 -0
- package/vendor/@appport/transport-http/dist/index.js.map +1 -0
- package/vendor/@appport/transport-http/package.json +29 -0
- package/vendor/@appport/transport-inprocess/README.md +24 -0
- package/vendor/@appport/transport-inprocess/dist/index.d.ts +16 -0
- package/vendor/@appport/transport-inprocess/dist/index.d.ts.map +1 -0
- package/vendor/@appport/transport-inprocess/dist/index.js +30 -0
- package/vendor/@appport/transport-inprocess/dist/index.js.map +1 -0
- package/vendor/@appport/transport-inprocess/package.json +30 -0
- package/vendor/@appport/transport-tauri/README.md +45 -0
- package/vendor/@appport/transport-tauri/dist/index.d.ts +23 -0
- package/vendor/@appport/transport-tauri/dist/index.d.ts.map +1 -0
- package/vendor/@appport/transport-tauri/dist/index.js +44 -0
- package/vendor/@appport/transport-tauri/dist/index.js.map +1 -0
- package/vendor/@appport/transport-tauri/package.json +29 -0
- package/vendor/@appport/transport-websocket/README.md +22 -0
- package/vendor/@appport/transport-websocket/dist/index.d.ts +26 -0
- package/vendor/@appport/transport-websocket/dist/index.d.ts.map +1 -0
- package/vendor/@appport/transport-websocket/dist/index.js +72 -0
- package/vendor/@appport/transport-websocket/dist/index.js.map +1 -0
- package/vendor/@appport/transport-websocket/package.json +29 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
Apache License
|
|
2
|
+
Version 2.0, January 2004
|
|
3
|
+
http://www.apache.org/licenses/
|
|
4
|
+
|
|
5
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
6
|
+
|
|
7
|
+
1. Definitions.
|
|
8
|
+
|
|
9
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
10
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
11
|
+
|
|
12
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
13
|
+
the copyright owner that is granting the License.
|
|
14
|
+
|
|
15
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
16
|
+
other entities that control, are controlled by, or are under common
|
|
17
|
+
control with that entity. For the purposes of this definition,
|
|
18
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
19
|
+
direction or management of such entity, whether by contract or
|
|
20
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
21
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
22
|
+
|
|
23
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
24
|
+
exercising permissions granted by this License.
|
|
25
|
+
|
|
26
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
27
|
+
including but not limited to software source code, documentation
|
|
28
|
+
source, and configuration files.
|
|
29
|
+
|
|
30
|
+
"Object" form shall mean any form resulting from mechanical
|
|
31
|
+
transformation or translation of a Source form, including but
|
|
32
|
+
not limited to compiled object code, generated documentation,
|
|
33
|
+
and conversions to other media types.
|
|
34
|
+
|
|
35
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
36
|
+
Object form, made available under the License, as indicated by a
|
|
37
|
+
copyright notice that is included in or attached to the work.
|
|
38
|
+
|
|
39
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
40
|
+
form, that is based on (or derived from) the Work and for which the
|
|
41
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
42
|
+
represent, as a whole, an original work of authorship.
|
|
43
|
+
|
|
44
|
+
"Contribution" shall mean any work of authorship, including
|
|
45
|
+
the original version of the Work and any modifications or additions
|
|
46
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
47
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
48
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
49
|
+
the copyright owner.
|
|
50
|
+
|
|
51
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
52
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
53
|
+
subsequently incorporated within the Work.
|
|
54
|
+
|
|
55
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
56
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
57
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
58
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
59
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
60
|
+
Work and such Derivative Works in Source or Object form.
|
|
61
|
+
|
|
62
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
63
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
64
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
65
|
+
(except as stated in this section) patent license to make, have made,
|
|
66
|
+
use, offer to sell, sell, import, and otherwise transfer the Work.
|
|
67
|
+
|
|
68
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
69
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
70
|
+
modifications, and in Source or Object form, provided that You
|
|
71
|
+
meet the following conditions:
|
|
72
|
+
|
|
73
|
+
(a) You must give any other recipients of the Work or
|
|
74
|
+
Derivative Works a copy of this License; and
|
|
75
|
+
|
|
76
|
+
(b) You must cause any modified files to carry prominent notices
|
|
77
|
+
stating that You changed the files; and
|
|
78
|
+
|
|
79
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
80
|
+
that You distribute, all copyright, patent, trademark, and
|
|
81
|
+
attribution notices from the Source form of the Work; and
|
|
82
|
+
|
|
83
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
84
|
+
distribution, then any Derivative Works that You distribute must
|
|
85
|
+
include a readable copy of the attribution notices contained
|
|
86
|
+
within such NOTICE file.
|
|
87
|
+
|
|
88
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
89
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
90
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
91
|
+
this License, without any additional terms or conditions.
|
|
92
|
+
|
|
93
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
94
|
+
names, trademarks, service marks, or product names of the Licensor.
|
|
95
|
+
|
|
96
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
97
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
98
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
99
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
100
|
+
implied.
|
|
101
|
+
|
|
102
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
103
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
104
|
+
shall any Contributor be liable to You for damages.
|
|
105
|
+
|
|
106
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
107
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
108
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
109
|
+
or other liability obligations and/or rights consistent with this
|
|
110
|
+
License.
|
|
111
|
+
|
|
112
|
+
END OF TERMS AND CONDITIONS
|
|
113
|
+
|
|
114
|
+
Copyright 2026 AppPort contributors
|
|
115
|
+
|
|
116
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
117
|
+
you may not use this file except in compliance with the License.
|
|
118
|
+
You may obtain a copy of the License at
|
|
119
|
+
|
|
120
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
121
|
+
|
|
122
|
+
Unless required by applicable law or agreed to in writing, software
|
|
123
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
124
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
125
|
+
See the License for the specific language governing permissions and
|
|
126
|
+
limitations under the License.
|
package/README.md
CHANGED
|
@@ -1,17 +1,94 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @appport/sdk
|
|
2
2
|
|
|
3
|
-
The
|
|
3
|
+
The developer-facing AppPort implementation SDK. Use it to give an application
|
|
4
|
+
a stable identity and define portable, contract-driven capabilities without
|
|
5
|
+
coupling application code to a process, URL, transport, AppBoundry, or FeltDB.
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
Install it in an application repository:
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
npm install @appport/sdk
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
For the quickest setup, install the CLI and let it create the application
|
|
14
|
+
boundary:
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
npm install --save-dev appport
|
|
18
|
+
npx appport contract init
|
|
19
|
+
npx appport add # guided capability setup
|
|
20
|
+
npx appport dev
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Use `@appport/sdk` in application code to define contracts and handlers. The SDK
|
|
24
|
+
is also the canonical producer of the AppPort application package that
|
|
25
|
+
AppBoundry consumes; use the `appport` CLI to scaffold, generate, run, test, and
|
|
26
|
+
validate the same contract.
|
|
8
27
|
|
|
9
28
|
```ts
|
|
10
|
-
import {
|
|
29
|
+
import { AppPortApplication, createApplicationPackage, defineApplication, defineCapability, s } from "@appport/sdk";
|
|
30
|
+
|
|
31
|
+
const history = defineCapability({
|
|
32
|
+
name: "tracker.history",
|
|
33
|
+
version: 1,
|
|
34
|
+
input: s.object({ trackerId: s.string() }),
|
|
35
|
+
output: s.object({ entries: s.array(s.string()) }),
|
|
36
|
+
async handler({ trackerId }) {
|
|
37
|
+
return { entries: await existingTracker.history(trackerId) };
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
export const tracker = defineApplication({
|
|
42
|
+
id: "com.example.tracker",
|
|
43
|
+
name: "Tracker",
|
|
44
|
+
version: "1.0.0",
|
|
45
|
+
provides: [history]
|
|
46
|
+
});
|
|
11
47
|
|
|
12
|
-
const
|
|
13
|
-
|
|
48
|
+
const appPackage = createApplicationPackage(tracker, {
|
|
49
|
+
artifact: await readCompiledWasmBytes(),
|
|
50
|
+
implementationId: "tracker.wasm"
|
|
14
51
|
});
|
|
52
|
+
|
|
53
|
+
// appPackage.files contains the `.app` bundle manifest and application.wasm.
|
|
54
|
+
// appPackage.contractFingerprint is the canonical contract fingerprint.
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
See all CLI commands with `npx appport --help`. The main workflow is `add`,
|
|
58
|
+
`dev`, `build`, `test`, `doctor`, and `validate`.
|
|
59
|
+
|
|
60
|
+
Capability implementations are transport-independent. Choose in-process,
|
|
61
|
+
HTTP, WebSocket, Electron, Tauri, web, mobile, or MCP adapters at the process
|
|
62
|
+
edge.
|
|
63
|
+
|
|
64
|
+
The supported surface is the package root plus the Node-only
|
|
65
|
+
`@appport/sdk/node` host entrypoint. The root supports modern browsers and Node
|
|
66
|
+
20+ where the selected adapter's platform APIs are available; Bun and Deno are
|
|
67
|
+
not yet qualified. AppPort is the open protocol and application boundary.
|
|
68
|
+
AppBoundry is an optional downstream authority that discovers, authorizes, and
|
|
69
|
+
governs AppPort applications—it is not required to use this SDK.
|
|
70
|
+
|
|
71
|
+
The first public release treats the documented exports as the compatibility
|
|
72
|
+
surface under semantic versioning. Protocol requirements are defined in the
|
|
73
|
+
[AppPort specification](../../spec/appport-1.0.md).
|
|
74
|
+
|
|
75
|
+
## External compatibility proof
|
|
76
|
+
|
|
77
|
+
The external compatibility harness executes its real application boundaries,
|
|
78
|
+
including AWS CardDemo COBOL, FastAPI, Spring Boot, MCP, WebAssembly, and the
|
|
79
|
+
modern replacement service. Install its host prerequisites before running:
|
|
80
|
+
|
|
81
|
+
```sh
|
|
82
|
+
# macOS
|
|
83
|
+
brew install gnucobol maven
|
|
84
|
+
export PATH="$(brew --prefix openjdk)/bin:$PATH"
|
|
85
|
+
python3 -m pip install -r external/fastapi-account/requirements.txt
|
|
86
|
+
|
|
87
|
+
# Debian/Ubuntu
|
|
88
|
+
sudo apt-get install -y gnucobol maven
|
|
89
|
+
python3 -m pip install -r external/fastapi-account/requirements.txt
|
|
15
90
|
```
|
|
16
91
|
|
|
17
|
-
|
|
92
|
+
Then run `pnpm demo:appboundry:external-compat`. Missing external runtimes are
|
|
93
|
+
reported as failures because silently substituting or skipping them would not
|
|
94
|
+
prove compatibility.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared AppBoundry application onboarding model.
|
|
3
|
+
*
|
|
4
|
+
* The CLI and the future portal import path have different owners and UX, but
|
|
5
|
+
* they advance the same neutral application model through the same phases.
|
|
6
|
+
*/
|
|
7
|
+
import type { ExecutionTopology } from "./execution-topology.js";
|
|
8
|
+
export type ApplicationOnboardingEntryPoint = "self" | "portal";
|
|
9
|
+
export type ApplicationOwnership = "developer" | "enterprise";
|
|
10
|
+
export type ApplicationOnboardingPhaseName = "discover" | "start" | "exercise" | "resolve";
|
|
11
|
+
export type ApplicationOnboardingPhaseStatus = "ready" | "needs_input" | "complete";
|
|
12
|
+
export interface ApplicationOnboardingRepository {
|
|
13
|
+
readonly name: string;
|
|
14
|
+
readonly runtime: string;
|
|
15
|
+
readonly packageManager: string;
|
|
16
|
+
readonly buildSystem: string;
|
|
17
|
+
readonly existingAppPort?: boolean;
|
|
18
|
+
readonly existingContract?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface ApplicationOnboardingCapability {
|
|
21
|
+
readonly name: string;
|
|
22
|
+
readonly surface: string;
|
|
23
|
+
readonly target: string;
|
|
24
|
+
readonly source: string;
|
|
25
|
+
readonly exercised?: boolean;
|
|
26
|
+
readonly inputSchema?: unknown;
|
|
27
|
+
readonly outputSchema?: unknown;
|
|
28
|
+
}
|
|
29
|
+
export interface ApplicationOnboardingInput {
|
|
30
|
+
readonly entryPoint: ApplicationOnboardingEntryPoint;
|
|
31
|
+
readonly ownership: ApplicationOwnership;
|
|
32
|
+
readonly repository: ApplicationOnboardingRepository;
|
|
33
|
+
readonly capabilities: readonly ApplicationOnboardingCapability[];
|
|
34
|
+
readonly startCommand?: string;
|
|
35
|
+
readonly topology?: ExecutionTopology;
|
|
36
|
+
}
|
|
37
|
+
export interface ApplicationOnboardingPhase {
|
|
38
|
+
readonly name: ApplicationOnboardingPhaseName;
|
|
39
|
+
readonly status: ApplicationOnboardingPhaseStatus;
|
|
40
|
+
readonly summary: string;
|
|
41
|
+
}
|
|
42
|
+
export interface ApplicationOnboardingPlan {
|
|
43
|
+
readonly entryPoint: ApplicationOnboardingEntryPoint;
|
|
44
|
+
readonly ownership: ApplicationOwnership;
|
|
45
|
+
readonly repository: ApplicationOnboardingRepository;
|
|
46
|
+
readonly capabilities: readonly ApplicationOnboardingCapability[];
|
|
47
|
+
readonly phases: readonly ApplicationOnboardingPhase[];
|
|
48
|
+
readonly selectedCapabilities: readonly string[];
|
|
49
|
+
readonly topology?: ExecutionTopology;
|
|
50
|
+
}
|
|
51
|
+
export declare function createApplicationOnboardingPlan(input: ApplicationOnboardingInput): ApplicationOnboardingPlan;
|
|
52
|
+
//# sourceMappingURL=application-onboarding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application-onboarding.d.ts","sourceRoot":"","sources":["../src/application-onboarding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,MAAM,+BAA+B,GAAG,MAAM,GAAG,QAAQ,CAAC;AAChE,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,YAAY,CAAC;AAC9D,MAAM,MAAM,8BAA8B,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;AAC3F,MAAM,MAAM,gCAAgC,GAAG,OAAO,GAAG,aAAa,GAAG,UAAU,CAAC;AAEpF,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,UAAU,EAAE,+BAA+B,CAAC;IACrD,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,+BAA+B,CAAC;IACrD,QAAQ,CAAC,YAAY,EAAE,SAAS,+BAA+B,EAAE,CAAC;IAClE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,8BAA8B,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,gCAAgC,CAAC;IAClD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,EAAE,+BAA+B,CAAC;IACrD,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,+BAA+B,CAAC;IACrD,QAAQ,CAAC,YAAY,EAAE,SAAS,+BAA+B,EAAE,CAAC;IAClE,QAAQ,CAAC,MAAM,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACvD,QAAQ,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,CAAC;IACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,0BAA0B,GAAG,yBAAyB,CA2C5G"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared AppBoundry application onboarding model.
|
|
3
|
+
*
|
|
4
|
+
* The CLI and the future portal import path have different owners and UX, but
|
|
5
|
+
* they advance the same neutral application model through the same phases.
|
|
6
|
+
*/
|
|
7
|
+
export function createApplicationOnboardingPlan(input) {
|
|
8
|
+
const capabilities = [...input.capabilities].sort((a, b) => a.name.localeCompare(b.name));
|
|
9
|
+
const selectedCapabilities = capabilities.map(capability => capability.name);
|
|
10
|
+
const exercised = capabilities.filter(capability => capability.exercised).length;
|
|
11
|
+
return {
|
|
12
|
+
entryPoint: input.entryPoint,
|
|
13
|
+
ownership: input.ownership,
|
|
14
|
+
repository: input.repository,
|
|
15
|
+
capabilities,
|
|
16
|
+
...(input.topology ? { topology: input.topology } : {}),
|
|
17
|
+
selectedCapabilities,
|
|
18
|
+
phases: [
|
|
19
|
+
{
|
|
20
|
+
name: "discover",
|
|
21
|
+
status: capabilities.length ? "complete" : "needs_input",
|
|
22
|
+
summary: capabilities.length
|
|
23
|
+
? `${capabilities.length} invocation ${capabilities.length === 1 ? "surface" : "surfaces"} discovered`
|
|
24
|
+
: "No invocation surface was discovered"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: "start",
|
|
28
|
+
status: input.startCommand ? "ready" : "needs_input",
|
|
29
|
+
summary: input.startCommand ?? "No repository start command was detected"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: "exercise",
|
|
33
|
+
status: exercised ? "complete" : capabilities.length ? "ready" : "needs_input",
|
|
34
|
+
summary: exercised
|
|
35
|
+
? `${exercised} live ${exercised === 1 ? "operation" : "operations"} exercised`
|
|
36
|
+
: capabilities.length
|
|
37
|
+
? "Ready to exercise discovered operations in Studio"
|
|
38
|
+
: "Discover operations before exercising them"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: "resolve",
|
|
42
|
+
status: capabilities.length ? "ready" : "needs_input",
|
|
43
|
+
summary: capabilities.length
|
|
44
|
+
? `${selectedCapabilities.length} draft ${selectedCapabilities.length === 1 ? "capability" : "capabilities"} ready for contract resolution`
|
|
45
|
+
: "Select or define a capability before resolving the contract"
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=application-onboarding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application-onboarding.js","sourceRoot":"","sources":["../src/application-onboarding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqDH,MAAM,UAAU,+BAA+B,CAAC,KAAiC;IAC/E,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,MAAM,oBAAoB,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IAEjF,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,YAAY;QACZ,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,oBAAoB;QACpB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa;gBACxD,OAAO,EAAE,YAAY,CAAC,MAAM;oBAC1B,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,eAAe,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,aAAa;oBACtG,CAAC,CAAC,sCAAsC;aAC3C;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;gBACpD,OAAO,EAAE,KAAK,CAAC,YAAY,IAAI,0CAA0C;aAC1E;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;gBAC9E,OAAO,EAAE,SAAS;oBAChB,CAAC,CAAC,GAAG,SAAS,SAAS,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,YAAY;oBAC/E,CAAC,CAAC,YAAY,CAAC,MAAM;wBACnB,CAAC,CAAC,mDAAmD;wBACrD,CAAC,CAAC,4CAA4C;aACnD;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;gBACrD,OAAO,EAAE,YAAY,CAAC,MAAM;oBAC1B,CAAC,CAAC,GAAG,oBAAoB,CAAC,MAAM,UAAU,oBAAoB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,gCAAgC;oBAC3I,CAAC,CAAC,6DAA6D;aAClE;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable helpers for external application compatibility proofs.
|
|
3
|
+
*
|
|
4
|
+
* The helpers keep external integrations inside the supported public SDK
|
|
5
|
+
* boundary: an integration describes the external project, records what the
|
|
6
|
+
* harness actually executed, and receives a machine-readable report plus a
|
|
7
|
+
* human-readable matrix. Statuses are always derived from observed execution,
|
|
8
|
+
* never authored by hand, so a manifest can never imply that an external
|
|
9
|
+
* application ran.
|
|
10
|
+
*/
|
|
11
|
+
/** Result of a single compatibility check. */
|
|
12
|
+
export type ExternalCompatibilityStatus = "pass" | "fail" | "skip" | "not_run";
|
|
13
|
+
/**
|
|
14
|
+
* How far an external project has progressed.
|
|
15
|
+
*
|
|
16
|
+
* - `declared`: a manifest exists, nothing has been built or executed.
|
|
17
|
+
* - `scaffolded`: the integration exists but the application was not executed.
|
|
18
|
+
* - `executable`: the external application started and its boundary was invoked.
|
|
19
|
+
* - `verified`: the executed boundary satisfied the AppPort contract.
|
|
20
|
+
* - `skipped`: execution is impossible in this environment (reason required).
|
|
21
|
+
* - `failed`: execution was attempted and did not satisfy the contract.
|
|
22
|
+
*/
|
|
23
|
+
export type ExternalIntegrationStatus = "declared" | "scaffolded" | "executable" | "verified" | "skipped" | "failed";
|
|
24
|
+
/** What a project's evidence proves. */
|
|
25
|
+
export type ExternalCompatibilityProofLevel = "manifest" | "contract" | "external-execution" | "provider-replacement" | "legacy-replacement";
|
|
26
|
+
/** Where the external application source comes from. */
|
|
27
|
+
export type ExternalProjectOrigin = "upstream-vendored" | "upstream-declared" | "harness-authored";
|
|
28
|
+
/** Canonical manifest entry for an external application. */
|
|
29
|
+
export interface ExternalCompatibilityProject {
|
|
30
|
+
readonly project: string;
|
|
31
|
+
readonly displayName: string;
|
|
32
|
+
readonly origin: ExternalProjectOrigin;
|
|
33
|
+
readonly repository: string;
|
|
34
|
+
readonly commit: string;
|
|
35
|
+
readonly license: string;
|
|
36
|
+
readonly language: string;
|
|
37
|
+
readonly runtime: string;
|
|
38
|
+
readonly surface: string;
|
|
39
|
+
readonly services: readonly string[];
|
|
40
|
+
readonly startup: string;
|
|
41
|
+
readonly shutdown: string;
|
|
42
|
+
readonly capability: string;
|
|
43
|
+
readonly contract: string;
|
|
44
|
+
readonly integrationBoundary: string;
|
|
45
|
+
readonly proofLevel: ExternalCompatibilityProofLevel;
|
|
46
|
+
readonly capabilityMapping?: string;
|
|
47
|
+
readonly expectedIntegration?: string;
|
|
48
|
+
readonly skippedReason?: string;
|
|
49
|
+
}
|
|
50
|
+
/** Evidence recorded for one execution of an external capability. */
|
|
51
|
+
export interface ExternalCompatibilityEvidence {
|
|
52
|
+
readonly capability: string;
|
|
53
|
+
readonly contract: string;
|
|
54
|
+
readonly provider: string;
|
|
55
|
+
readonly language: string;
|
|
56
|
+
readonly surface: string;
|
|
57
|
+
readonly boundary: string;
|
|
58
|
+
readonly boundaryInvocations: number;
|
|
59
|
+
readonly eligibility: string;
|
|
60
|
+
readonly authorization: string;
|
|
61
|
+
readonly resolution: string;
|
|
62
|
+
readonly materialization: string;
|
|
63
|
+
readonly execution: string;
|
|
64
|
+
readonly environment: string;
|
|
65
|
+
readonly evidenceId: string;
|
|
66
|
+
}
|
|
67
|
+
/** Per-check results for one project. */
|
|
68
|
+
export interface ExternalCompatibilityTestResults {
|
|
69
|
+
readonly contract: ExternalCompatibilityStatus;
|
|
70
|
+
readonly discovery: ExternalCompatibilityStatus;
|
|
71
|
+
readonly authorization: ExternalCompatibilityStatus;
|
|
72
|
+
readonly resolution: ExternalCompatibilityStatus;
|
|
73
|
+
readonly materialization: ExternalCompatibilityStatus;
|
|
74
|
+
readonly execution: ExternalCompatibilityStatus;
|
|
75
|
+
readonly revocation: ExternalCompatibilityStatus;
|
|
76
|
+
readonly replacement: ExternalCompatibilityStatus;
|
|
77
|
+
readonly legacyShutdown: ExternalCompatibilityStatus;
|
|
78
|
+
}
|
|
79
|
+
/** What an integration observed while driving one external project. */
|
|
80
|
+
export interface ExternalCompatibilityObservation {
|
|
81
|
+
readonly project: ExternalCompatibilityProject;
|
|
82
|
+
/** The AppPort contract was verified against the external application. */
|
|
83
|
+
readonly contractVerified?: boolean;
|
|
84
|
+
readonly discovered?: boolean;
|
|
85
|
+
readonly authorized?: boolean;
|
|
86
|
+
readonly resolved?: boolean;
|
|
87
|
+
readonly materialized?: boolean;
|
|
88
|
+
/** Evidence for a real execution of the external application boundary. */
|
|
89
|
+
readonly evidence?: ExternalCompatibilityEvidence;
|
|
90
|
+
/** Provider revocation produced `appboundry.NO_ELIGIBLE_PROVIDER`. */
|
|
91
|
+
readonly revoked?: boolean;
|
|
92
|
+
/** Another provider served the same contract after this one was revoked. */
|
|
93
|
+
readonly replaced?: boolean;
|
|
94
|
+
/** The legacy application was stopped and the contract still resolved. */
|
|
95
|
+
readonly legacyShutdown?: boolean;
|
|
96
|
+
/** Execution is impossible in this environment. Forces `skipped`. */
|
|
97
|
+
readonly skippedReason?: string;
|
|
98
|
+
/** Execution was attempted and failed. Forces `failed`. */
|
|
99
|
+
readonly failureReason?: string;
|
|
100
|
+
}
|
|
101
|
+
/** A project entry in the generated compatibility report. */
|
|
102
|
+
export interface ExternalCompatibilityProjectReport extends ExternalCompatibilityProject {
|
|
103
|
+
readonly status: ExternalIntegrationStatus;
|
|
104
|
+
readonly tests: ExternalCompatibilityTestResults;
|
|
105
|
+
readonly evidence?: ExternalCompatibilityEvidence;
|
|
106
|
+
readonly failureReason?: string;
|
|
107
|
+
}
|
|
108
|
+
/** Machine-readable compatibility report. */
|
|
109
|
+
export interface ExternalCompatibilityReport {
|
|
110
|
+
readonly title: "AppBoundry External Compatibility Proof";
|
|
111
|
+
readonly generatedBy: "appport.externalCompatibilityHarness";
|
|
112
|
+
readonly projects: readonly ExternalCompatibilityProjectReport[];
|
|
113
|
+
}
|
|
114
|
+
/** One row of the human-readable compatibility matrix. */
|
|
115
|
+
export interface ExternalCompatibilityMatrixRow {
|
|
116
|
+
readonly project: string;
|
|
117
|
+
readonly language: string;
|
|
118
|
+
readonly surface: string;
|
|
119
|
+
readonly capability: string;
|
|
120
|
+
readonly integration: ExternalIntegrationStatus;
|
|
121
|
+
readonly contract: ExternalCompatibilityStatus;
|
|
122
|
+
readonly execution: ExternalCompatibilityStatus;
|
|
123
|
+
readonly replacement: ExternalCompatibilityStatus;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Derives a project report from what the harness observed.
|
|
127
|
+
*
|
|
128
|
+
* A project only reaches `verified` when its external application boundary was
|
|
129
|
+
* actually invoked and the AppPort contract held for that execution.
|
|
130
|
+
*/
|
|
131
|
+
export declare function recordExternalCompatibility(observation: ExternalCompatibilityObservation): ExternalCompatibilityProjectReport;
|
|
132
|
+
/** Builds the machine-readable report from recorded project results. */
|
|
133
|
+
export declare function createExternalCompatibilityReport(projects: readonly ExternalCompatibilityProjectReport[]): ExternalCompatibilityReport;
|
|
134
|
+
/** Projects whose external application was actually executed and verified. */
|
|
135
|
+
export declare function verifiedExternalProjects(report: ExternalCompatibilityReport): readonly ExternalCompatibilityProjectReport[];
|
|
136
|
+
/** Reduces the report to matrix rows. */
|
|
137
|
+
export declare function externalCompatibilityMatrix(report: ExternalCompatibilityReport): readonly ExternalCompatibilityMatrixRow[];
|
|
138
|
+
/** Formats the compatibility matrix for the enterprise trace. */
|
|
139
|
+
export declare function formatExternalCompatibilityMatrix(report: ExternalCompatibilityReport): string;
|
|
140
|
+
/** Fails when the consumer source changed across provider replacement. */
|
|
141
|
+
export declare function assertConsumerSourceUnchanged(before: string, after: string): void;
|
|
142
|
+
//# sourceMappingURL=external-compatibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-compatibility.d.ts","sourceRoot":"","sources":["../src/external-compatibility.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable helpers for external application compatibility proofs.
|
|
3
|
+
*
|
|
4
|
+
* The helpers keep external integrations inside the supported public SDK
|
|
5
|
+
* boundary: an integration describes the external project, records what the
|
|
6
|
+
* harness actually executed, and receives a machine-readable report plus a
|
|
7
|
+
* human-readable matrix. Statuses are always derived from observed execution,
|
|
8
|
+
* never authored by hand, so a manifest can never imply that an external
|
|
9
|
+
* application ran.
|
|
10
|
+
*/
|
|
11
|
+
function optional(flag) {
|
|
12
|
+
if (flag === undefined)
|
|
13
|
+
return "not_run";
|
|
14
|
+
return flag ? "pass" : "fail";
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Derives a project report from what the harness observed.
|
|
18
|
+
*
|
|
19
|
+
* A project only reaches `verified` when its external application boundary was
|
|
20
|
+
* actually invoked and the AppPort contract held for that execution.
|
|
21
|
+
*/
|
|
22
|
+
export function recordExternalCompatibility(observation) {
|
|
23
|
+
const { project } = observation;
|
|
24
|
+
const skippedReason = observation.skippedReason ?? project.skippedReason;
|
|
25
|
+
if (skippedReason) {
|
|
26
|
+
return {
|
|
27
|
+
...project,
|
|
28
|
+
skippedReason,
|
|
29
|
+
status: "skipped",
|
|
30
|
+
tests: {
|
|
31
|
+
contract: "skip",
|
|
32
|
+
discovery: "skip",
|
|
33
|
+
authorization: "skip",
|
|
34
|
+
resolution: "skip",
|
|
35
|
+
materialization: "skip",
|
|
36
|
+
execution: "skip",
|
|
37
|
+
revocation: "skip",
|
|
38
|
+
replacement: "skip",
|
|
39
|
+
legacyShutdown: "skip"
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const executed = (observation.evidence?.boundaryInvocations ?? 0) > 0;
|
|
44
|
+
const contract = optional(observation.contractVerified);
|
|
45
|
+
const tests = {
|
|
46
|
+
contract,
|
|
47
|
+
discovery: optional(observation.discovered),
|
|
48
|
+
authorization: optional(observation.authorized),
|
|
49
|
+
resolution: optional(observation.resolved),
|
|
50
|
+
materialization: optional(observation.materialized),
|
|
51
|
+
execution: observation.failureReason ? "fail" : executed ? "pass" : "not_run",
|
|
52
|
+
revocation: optional(observation.revoked),
|
|
53
|
+
replacement: optional(observation.replaced),
|
|
54
|
+
legacyShutdown: optional(observation.legacyShutdown)
|
|
55
|
+
};
|
|
56
|
+
const failed = observation.failureReason !== undefined || Object.values(tests).includes("fail");
|
|
57
|
+
const status = failed
|
|
58
|
+
? "failed"
|
|
59
|
+
: executed && contract === "pass"
|
|
60
|
+
? "verified"
|
|
61
|
+
: executed
|
|
62
|
+
? "executable"
|
|
63
|
+
: "scaffolded";
|
|
64
|
+
return {
|
|
65
|
+
...project,
|
|
66
|
+
status,
|
|
67
|
+
tests,
|
|
68
|
+
...(observation.evidence ? { evidence: observation.evidence } : {}),
|
|
69
|
+
...(observation.failureReason ? { failureReason: observation.failureReason } : {})
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/** Builds the machine-readable report from recorded project results. */
|
|
73
|
+
export function createExternalCompatibilityReport(projects) {
|
|
74
|
+
return {
|
|
75
|
+
title: "AppBoundry External Compatibility Proof",
|
|
76
|
+
generatedBy: "appport.externalCompatibilityHarness",
|
|
77
|
+
projects: projects.map((project) => ({ ...project }))
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/** Projects whose external application was actually executed and verified. */
|
|
81
|
+
export function verifiedExternalProjects(report) {
|
|
82
|
+
return report.projects.filter((project) => project.status === "verified");
|
|
83
|
+
}
|
|
84
|
+
/** Reduces the report to matrix rows. */
|
|
85
|
+
export function externalCompatibilityMatrix(report) {
|
|
86
|
+
return report.projects.map((project) => ({
|
|
87
|
+
project: project.displayName,
|
|
88
|
+
language: project.language,
|
|
89
|
+
surface: project.surface,
|
|
90
|
+
capability: project.capability,
|
|
91
|
+
integration: project.status,
|
|
92
|
+
contract: project.tests.contract,
|
|
93
|
+
execution: project.tests.execution,
|
|
94
|
+
replacement: project.tests.replacement
|
|
95
|
+
}));
|
|
96
|
+
}
|
|
97
|
+
const COLUMNS = [
|
|
98
|
+
["Project", 16],
|
|
99
|
+
["Language", 15],
|
|
100
|
+
["Surface", 14],
|
|
101
|
+
["Capability", 18],
|
|
102
|
+
["Integration", 12],
|
|
103
|
+
["Contract", 9],
|
|
104
|
+
["Execution", 10],
|
|
105
|
+
["Replacement", 11]
|
|
106
|
+
];
|
|
107
|
+
function row(values) {
|
|
108
|
+
return values.map((value, index) => value.padEnd(COLUMNS[index][1])).join(" ").trimEnd();
|
|
109
|
+
}
|
|
110
|
+
/** Formats the compatibility matrix for the enterprise trace. */
|
|
111
|
+
export function formatExternalCompatibilityMatrix(report) {
|
|
112
|
+
const header = row(COLUMNS.map(([label]) => label));
|
|
113
|
+
const divider = "-".repeat(header.length);
|
|
114
|
+
const body = externalCompatibilityMatrix(report).map((entry) => row([
|
|
115
|
+
entry.project,
|
|
116
|
+
entry.language,
|
|
117
|
+
entry.surface,
|
|
118
|
+
entry.capability,
|
|
119
|
+
entry.integration.toUpperCase(),
|
|
120
|
+
entry.contract.toUpperCase(),
|
|
121
|
+
entry.execution.toUpperCase(),
|
|
122
|
+
entry.replacement.toUpperCase()
|
|
123
|
+
]));
|
|
124
|
+
return [header, divider, ...body].join("\n");
|
|
125
|
+
}
|
|
126
|
+
/** Fails when the consumer source changed across provider replacement. */
|
|
127
|
+
export function assertConsumerSourceUnchanged(before, after) {
|
|
128
|
+
if (before !== after) {
|
|
129
|
+
throw new Error("consumer source changed during provider replacement");
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=external-compatibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-compatibility.js","sourceRoot":"","sources":["../src/external-compatibility.ts"],"names":[],"mappings":"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"}
|