@fougere/core 0.9.3-alpha.0 → 0.11.0-alpha.0
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/dist/AdapterConfig.d.ts +10 -0
- package/dist/AdapterConfig.d.ts.map +1 -0
- package/dist/AdapterConfig.js +3 -0
- package/dist/AdapterConfig.js.map +1 -0
- package/dist/AnswerFor.d.ts +5 -0
- package/dist/AnswerFor.d.ts.map +1 -0
- package/dist/AnswerFor.js +2 -0
- package/dist/AnswerFor.js.map +1 -0
- package/dist/Binding.d.ts +4 -0
- package/dist/Binding.d.ts.map +1 -0
- package/dist/Binding.js +2 -0
- package/dist/Binding.js.map +1 -0
- package/dist/{identity.d.ts → CallIdentity.d.ts} +4 -17
- package/dist/CallIdentity.d.ts.map +1 -0
- package/dist/{identity.js → CallIdentity.js} +3 -6
- package/dist/CallIdentity.js.map +1 -0
- package/dist/Constraint.d.ts +3 -0
- package/dist/Constraint.d.ts.map +1 -0
- package/dist/Constraint.js +2 -0
- package/dist/Constraint.js.map +1 -0
- package/dist/{conventions.d.ts → Conventions.d.ts} +14 -8
- package/dist/Conventions.d.ts.map +1 -0
- package/dist/{conventions.js → Conventions.js} +7 -3
- package/dist/Conventions.js.map +1 -0
- package/dist/ConventionsInput.d.ts +8 -0
- package/dist/ConventionsInput.d.ts.map +1 -0
- package/dist/ConventionsInput.js +2 -0
- package/dist/ConventionsInput.js.map +1 -0
- package/dist/Ctor.d.ts +3 -0
- package/dist/Ctor.d.ts.map +1 -0
- package/dist/Ctor.js +2 -0
- package/dist/Ctor.js.map +1 -0
- package/dist/Declared.d.ts +8 -0
- package/dist/Declared.d.ts.map +1 -0
- package/dist/Declared.js +2 -0
- package/dist/Declared.js.map +1 -0
- package/dist/DeclaredHandler.d.ts +18 -0
- package/dist/DeclaredHandler.d.ts.map +1 -0
- package/dist/DeclaredHandler.js +2 -0
- package/dist/DeclaredHandler.js.map +1 -0
- package/dist/DeclaredSubject.d.ts +7 -0
- package/dist/DeclaredSubject.d.ts.map +1 -0
- package/dist/DeclaredSubject.js +2 -0
- package/dist/DeclaredSubject.js.map +1 -0
- package/dist/{graph.d.ts → DomainCluster.d.ts} +3 -12
- package/dist/DomainCluster.d.ts.map +1 -0
- package/dist/{graph.js → DomainCluster.js} +1 -1
- package/dist/DomainCluster.js.map +1 -0
- package/dist/EffectiveCollector.d.ts +8 -0
- package/dist/EffectiveCollector.d.ts.map +1 -0
- package/dist/EffectiveCollector.js +2 -0
- package/dist/EffectiveCollector.js.map +1 -0
- package/dist/EffectiveOperation.d.ts +65 -0
- package/dist/EffectiveOperation.d.ts.map +1 -0
- package/dist/EffectiveOperation.js +2 -0
- package/dist/EffectiveOperation.js.map +1 -0
- package/dist/EffectiveOperationModel.d.ts +24 -0
- package/dist/EffectiveOperationModel.d.ts.map +1 -0
- package/dist/{effective-operation.js → EffectiveOperationModel.js} +9 -23
- package/dist/EffectiveOperationModel.js.map +1 -0
- package/dist/EffectiveOperationOptions.d.ts +7 -0
- package/dist/EffectiveOperationOptions.d.ts.map +1 -0
- package/dist/EffectiveOperationOptions.js +2 -0
- package/dist/EffectiveOperationOptions.js.map +1 -0
- package/dist/EffectiveOperationSemantics.d.ts +8 -0
- package/dist/EffectiveOperationSemantics.d.ts.map +1 -0
- package/dist/EffectiveOperationSemantics.js +8 -0
- package/dist/EffectiveOperationSemantics.js.map +1 -0
- package/dist/EffectiveOperationsMap.d.ts +3 -0
- package/dist/EffectiveOperationsMap.d.ts.map +1 -0
- package/dist/EffectiveOperationsMap.js +2 -0
- package/dist/EffectiveOperationsMap.js.map +1 -0
- package/dist/EffectiveParameter.d.ts +14 -0
- package/dist/EffectiveParameter.d.ts.map +1 -0
- package/dist/EffectiveParameter.js +2 -0
- package/dist/EffectiveParameter.js.map +1 -0
- package/dist/EntityNode.d.ts +7 -0
- package/dist/EntityNode.d.ts.map +1 -0
- package/dist/EntityNode.js +2 -0
- package/dist/EntityNode.js.map +1 -0
- package/dist/{config-loader.d.ts → FougereConfig.d.ts} +16 -16
- package/dist/FougereConfig.d.ts.map +1 -0
- package/dist/{config-loader.js → FougereConfig.js} +1 -2
- package/dist/FougereConfig.js.map +1 -0
- package/dist/FougereNames.d.ts +4 -0
- package/dist/FougereNames.d.ts.map +1 -0
- package/dist/FougereNames.js +2 -0
- package/dist/FougereNames.js.map +1 -0
- package/dist/FougerePorts.d.ts +9 -0
- package/dist/FougerePorts.d.ts.map +1 -0
- package/dist/FougerePorts.js +2 -0
- package/dist/FougerePorts.js.map +1 -0
- package/dist/FrondConfig.d.ts +36 -0
- package/dist/FrondConfig.d.ts.map +1 -0
- package/dist/{frond-config.js → FrondConfig.js} +1 -1
- package/dist/FrondConfig.js.map +1 -0
- package/dist/{declare.d.ts → FrondDeclaration.d.ts} +7 -29
- package/dist/FrondDeclaration.d.ts.map +1 -0
- package/dist/{declare.js → FrondDeclaration.js} +2 -3
- package/dist/FrondDeclaration.js.map +1 -0
- package/dist/FrondIdentity.d.ts +8 -0
- package/dist/FrondIdentity.d.ts.map +1 -0
- package/dist/FrondIdentity.js +2 -0
- package/dist/FrondIdentity.js.map +1 -0
- package/dist/NameOf.d.ts +10 -0
- package/dist/NameOf.d.ts.map +1 -0
- package/dist/NameOf.js +2 -0
- package/dist/NameOf.js.map +1 -0
- package/dist/OperationOverride.d.ts +38 -0
- package/dist/OperationOverride.d.ts.map +1 -0
- package/dist/OperationOverride.js +2 -0
- package/dist/OperationOverride.js.map +1 -0
- package/dist/PortChoice.d.ts +13 -0
- package/dist/PortChoice.d.ts.map +1 -0
- package/dist/PortChoice.js +2 -0
- package/dist/PortChoice.js.map +1 -0
- package/dist/{source.d.ts → Source.d.ts} +5 -24
- package/dist/Source.d.ts.map +1 -0
- package/dist/{source.js → Source.js} +5 -4
- package/dist/Source.js.map +1 -0
- package/dist/SourceConfig.d.ts +10 -0
- package/dist/SourceConfig.d.ts.map +1 -0
- package/dist/SourceConfig.js +2 -0
- package/dist/SourceConfig.js.map +1 -0
- package/dist/SourceView.d.ts +13 -0
- package/dist/SourceView.d.ts.map +1 -0
- package/dist/SourceView.js +2 -0
- package/dist/SourceView.js.map +1 -0
- package/dist/VerifiedCall.d.ts +8 -0
- package/dist/VerifiedCall.d.ts.map +1 -0
- package/dist/VerifiedCall.js +2 -0
- package/dist/VerifiedCall.js.map +1 -0
- package/dist/boot/App.d.ts +71 -0
- package/dist/boot/App.d.ts.map +1 -0
- package/dist/boot/App.js +2 -0
- package/dist/boot/App.js.map +1 -0
- package/dist/boot/AppLifecycle.d.ts +2 -19
- package/dist/boot/AppLifecycle.d.ts.map +1 -1
- package/dist/boot/AppLifecycle.js.map +1 -1
- package/dist/boot/AuthConfig.d.ts +14 -0
- package/dist/boot/AuthConfig.d.ts.map +1 -0
- package/dist/boot/AuthConfig.js +2 -0
- package/dist/boot/AuthConfig.js.map +1 -0
- package/dist/boot/AuthContext.d.ts +12 -0
- package/dist/boot/AuthContext.d.ts.map +1 -0
- package/dist/boot/AuthContext.js +2 -0
- package/dist/boot/AuthContext.js.map +1 -0
- package/dist/boot/AuthRuntime.d.ts +19 -0
- package/dist/boot/AuthRuntime.d.ts.map +1 -0
- package/dist/boot/AuthRuntime.js +2 -0
- package/dist/boot/AuthRuntime.js.map +1 -0
- package/dist/boot/CreateAppOptions.d.ts +81 -0
- package/dist/boot/CreateAppOptions.d.ts.map +1 -0
- package/dist/boot/CreateAppOptions.js +2 -0
- package/dist/boot/CreateAppOptions.js.map +1 -0
- package/dist/boot/Emissions.d.ts +11 -7
- package/dist/boot/Emissions.d.ts.map +1 -1
- package/dist/boot/Emissions.js +83 -45
- package/dist/boot/Emissions.js.map +1 -1
- package/dist/boot/Extension.d.ts +20 -0
- package/dist/boot/Extension.d.ts.map +1 -0
- package/dist/boot/Extension.js +2 -0
- package/dist/boot/Extension.js.map +1 -0
- package/dist/boot/Hosting.d.ts +38 -0
- package/dist/boot/Hosting.d.ts.map +1 -0
- package/dist/boot/Hosting.js +2 -0
- package/dist/boot/Hosting.js.map +1 -0
- package/dist/boot/Peer.d.ts +16 -0
- package/dist/boot/Peer.d.ts.map +1 -0
- package/dist/boot/Peer.js +2 -0
- package/dist/boot/Peer.js.map +1 -0
- package/dist/boot/apply.d.ts +1 -1
- package/dist/boot/apply.js +1 -1
- package/dist/boot/apply.js.map +1 -1
- package/dist/boot/bootstrap.d.ts +2 -1
- package/dist/boot/bootstrap.d.ts.map +1 -1
- package/dist/boot/bootstrap.js +196 -59
- package/dist/boot/bootstrap.js.map +1 -1
- package/dist/boot/card.d.ts +2 -2
- package/dist/boot/card.d.ts.map +1 -1
- package/dist/boot/card.js +11 -8
- package/dist/boot/card.js.map +1 -1
- package/dist/boot/declared.d.ts +2 -2
- package/dist/boot/declared.d.ts.map +1 -1
- package/dist/boot/declared.js +36 -4
- package/dist/boot/declared.js.map +1 -1
- package/dist/boot/frame.d.ts +1 -1
- package/dist/boot/frame.js +1 -1
- package/dist/boot/hosted.d.ts +1 -1
- package/dist/boot/hosted.d.ts.map +1 -1
- package/dist/boot/install.d.ts +21 -7
- package/dist/boot/install.d.ts.map +1 -1
- package/dist/boot/install.js +41 -27
- package/dist/boot/install.js.map +1 -1
- package/dist/boot/ownership.d.ts +7 -5
- package/dist/boot/ownership.d.ts.map +1 -1
- package/dist/boot/ownership.js +81 -40
- package/dist/boot/ownership.js.map +1 -1
- package/dist/boot/peerOver.d.ts +4 -0
- package/dist/boot/peerOver.d.ts.map +1 -0
- package/dist/boot/peerOver.js +12 -0
- package/dist/boot/peerOver.js.map +1 -0
- package/dist/boot/ports.d.ts +4 -3
- package/dist/boot/ports.d.ts.map +1 -1
- package/dist/boot/ports.js +48 -37
- package/dist/boot/ports.js.map +1 -1
- package/dist/boot/relations.d.ts +54 -0
- package/dist/boot/relations.d.ts.map +1 -0
- package/dist/boot/relations.js +150 -0
- package/dist/boot/relations.js.map +1 -0
- package/dist/boot/remote.d.ts +3 -8
- package/dist/boot/remote.d.ts.map +1 -1
- package/dist/boot/remote.js +19 -15
- package/dist/boot/remote.js.map +1 -1
- package/dist/boot/runner.d.ts +2 -2
- package/dist/boot/runner.d.ts.map +1 -1
- package/dist/boot/seed.d.ts +4 -3
- package/dist/boot/seed.d.ts.map +1 -1
- package/dist/boot/seed.js +6 -6
- package/dist/boot/seed.js.map +1 -1
- package/dist/boot/statement-drift.d.ts +4 -3
- package/dist/boot/statement-drift.d.ts.map +1 -1
- package/dist/boot/statement-drift.js.map +1 -1
- package/dist/boot/together.d.ts +11 -4
- package/dist/boot/together.d.ts.map +1 -1
- package/dist/boot/together.js +62 -28
- package/dist/boot/together.js.map +1 -1
- package/dist/builtin/Carry.d.ts +29 -0
- package/dist/builtin/Carry.d.ts.map +1 -0
- package/dist/builtin/Carry.js +46 -0
- package/dist/builtin/Carry.js.map +1 -0
- package/dist/builtin/LogLevel.d.ts +2 -0
- package/dist/builtin/LogLevel.d.ts.map +1 -0
- package/dist/builtin/LogLevel.js +2 -0
- package/dist/builtin/LogLevel.js.map +1 -0
- package/dist/builtin/LogRecord.d.ts +12 -0
- package/dist/builtin/LogRecord.d.ts.map +1 -0
- package/dist/builtin/LogRecord.js +2 -0
- package/dist/builtin/LogRecord.js.map +1 -0
- package/dist/builtin/LogSink.d.ts +4 -0
- package/dist/builtin/LogSink.d.ts.map +1 -0
- package/dist/builtin/LogSink.js +2 -0
- package/dist/builtin/LogSink.js.map +1 -0
- package/dist/builtin/Logger.d.ts +27 -0
- package/dist/builtin/Logger.d.ts.map +1 -0
- package/dist/builtin/{logger.js → Logger.js} +1 -47
- package/dist/builtin/Logger.js.map +1 -0
- package/dist/builtin/LoggerOptions.d.ts +14 -0
- package/dist/builtin/LoggerOptions.d.ts.map +1 -0
- package/dist/builtin/LoggerOptions.js +2 -0
- package/dist/builtin/LoggerOptions.js.map +1 -0
- package/dist/builtin/Rendered.d.ts +21 -0
- package/dist/builtin/Rendered.d.ts.map +1 -0
- package/dist/builtin/Rendered.js +2 -0
- package/dist/builtin/Rendered.js.map +1 -0
- package/dist/contract.d.ts +35 -13
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +9 -6
- package/dist/contract.js.map +1 -1
- package/dist/crypto/CryptoPort.d.ts +12 -0
- package/dist/crypto/CryptoPort.d.ts.map +1 -0
- package/dist/crypto/CryptoPort.js +2 -0
- package/dist/crypto/CryptoPort.js.map +1 -0
- package/dist/crypto/PublicJwk.d.ts +8 -0
- package/dist/crypto/PublicJwk.d.ts.map +1 -0
- package/dist/crypto/PublicJwk.js +2 -0
- package/dist/crypto/PublicJwk.js.map +1 -0
- package/dist/crypto/Signer.d.ts +5 -0
- package/dist/crypto/Signer.d.ts.map +1 -0
- package/dist/crypto/Signer.js +2 -0
- package/dist/crypto/Signer.js.map +1 -0
- package/dist/crypto/Verifier.d.ts +6 -0
- package/dist/crypto/Verifier.d.ts.map +1 -0
- package/dist/crypto/Verifier.js +2 -0
- package/dist/crypto/Verifier.js.map +1 -0
- package/dist/crypto/node.d.ts +4 -1
- package/dist/crypto/node.d.ts.map +1 -1
- package/dist/crypto/node.js.map +1 -1
- package/dist/crypto/webcrypto.d.ts +4 -1
- package/dist/crypto/webcrypto.d.ts.map +1 -1
- package/dist/crypto/webcrypto.js.map +1 -1
- package/dist/define.d.ts +1 -1
- package/dist/descriptor/CollectorEntry.d.ts +12 -0
- package/dist/descriptor/CollectorEntry.d.ts.map +1 -0
- package/dist/descriptor/CollectorEntry.js +2 -0
- package/dist/descriptor/CollectorEntry.js.map +1 -0
- package/dist/descriptor/EntityEntry.d.ts +13 -0
- package/dist/descriptor/EntityEntry.d.ts.map +1 -0
- package/dist/descriptor/EntityEntry.js +2 -0
- package/dist/descriptor/EntityEntry.js.map +1 -0
- package/dist/descriptor/ExtensionEntry.d.ts +20 -0
- package/dist/descriptor/ExtensionEntry.d.ts.map +1 -0
- package/dist/descriptor/ExtensionEntry.js +2 -0
- package/dist/descriptor/ExtensionEntry.js.map +1 -0
- package/dist/descriptor/FrondDescriptor.d.ts +61 -0
- package/dist/descriptor/FrondDescriptor.d.ts.map +1 -0
- package/dist/descriptor/{frond.js → FrondDescriptor.js} +1 -1
- package/dist/descriptor/FrondDescriptor.js.map +1 -0
- package/dist/descriptor/FrondSource.d.ts +8 -0
- package/dist/descriptor/FrondSource.d.ts.map +1 -0
- package/dist/descriptor/FrondSource.js +2 -0
- package/dist/descriptor/FrondSource.js.map +1 -0
- package/dist/descriptor/Fronds.d.ts +2 -1
- package/dist/descriptor/Fronds.d.ts.map +1 -1
- package/dist/descriptor/Fronds.js.map +1 -1
- package/dist/descriptor/HandlerEntry.d.ts +27 -0
- package/dist/descriptor/HandlerEntry.d.ts.map +1 -0
- package/dist/descriptor/HandlerEntry.js +2 -0
- package/dist/descriptor/HandlerEntry.js.map +1 -0
- package/dist/descriptor/MiddlewareEntry.d.ts +17 -0
- package/dist/descriptor/MiddlewareEntry.d.ts.map +1 -0
- package/dist/descriptor/MiddlewareEntry.js +2 -0
- package/dist/descriptor/MiddlewareEntry.js.map +1 -0
- package/dist/descriptor/PresenterEntry.d.ts +23 -0
- package/dist/descriptor/PresenterEntry.d.ts.map +1 -0
- package/dist/descriptor/PresenterEntry.js +2 -0
- package/dist/descriptor/PresenterEntry.js.map +1 -0
- package/dist/descriptor/PresenterFieldMeta.d.ts +14 -0
- package/dist/descriptor/PresenterFieldMeta.d.ts.map +1 -0
- package/dist/descriptor/PresenterFieldMeta.js +2 -0
- package/dist/descriptor/PresenterFieldMeta.js.map +1 -0
- package/dist/descriptor/ProviderEntry.d.ts +19 -0
- package/dist/descriptor/ProviderEntry.d.ts.map +1 -0
- package/dist/descriptor/ProviderEntry.js +2 -0
- package/dist/descriptor/ProviderEntry.js.map +1 -0
- package/dist/descriptor/SeedEntry.d.ts +11 -0
- package/dist/descriptor/SeedEntry.d.ts.map +1 -0
- package/dist/descriptor/SeedEntry.js +2 -0
- package/dist/descriptor/SeedEntry.js.map +1 -0
- package/dist/descriptor/SeedFactory.d.ts +3 -0
- package/dist/descriptor/SeedFactory.d.ts.map +1 -0
- package/dist/descriptor/SeedFactory.js +2 -0
- package/dist/descriptor/SeedFactory.js.map +1 -0
- package/dist/descriptor/bases.d.ts +17 -0
- package/dist/descriptor/bases.d.ts.map +1 -0
- package/dist/descriptor/bases.js +26 -0
- package/dist/descriptor/bases.js.map +1 -0
- package/dist/descriptor/index.d.ts +22 -6
- package/dist/descriptor/index.d.ts.map +1 -1
- package/dist/descriptor/index.js +19 -5
- package/dist/descriptor/index.js.map +1 -1
- package/dist/descriptor/surface.d.ts +3 -2
- package/dist/descriptor/surface.d.ts.map +1 -1
- package/dist/descriptor/surface.js +1 -1
- package/dist/descriptor/surface.js.map +1 -1
- package/dist/diagnostic.d.ts +33 -0
- package/dist/diagnostic.d.ts.map +1 -0
- package/dist/diagnostic.js +12 -0
- package/dist/diagnostic.js.map +1 -0
- package/dist/dispatch/ArgumentResolver.d.ts +2 -5
- package/dist/dispatch/ArgumentResolver.d.ts.map +1 -1
- package/dist/dispatch/ArgumentResolver.js.map +1 -1
- package/dist/dispatch/CollectorLookup.d.ts +3 -0
- package/dist/dispatch/CollectorLookup.d.ts.map +1 -0
- package/dist/dispatch/CollectorLookup.js +2 -0
- package/dist/dispatch/CollectorLookup.js.map +1 -0
- package/dist/dispatch/CollectorResolver.d.ts +5 -0
- package/dist/dispatch/CollectorResolver.d.ts.map +1 -0
- package/dist/dispatch/CollectorResolver.js +2 -0
- package/dist/dispatch/CollectorResolver.js.map +1 -0
- package/dist/dispatch/Dependent.d.ts +19 -0
- package/dist/dispatch/Dependent.d.ts.map +1 -0
- package/dist/dispatch/Dependent.js +2 -0
- package/dist/dispatch/Dependent.js.map +1 -0
- package/dist/dispatch/DispatchEvent.d.ts +3 -4
- package/dist/dispatch/DispatchEvent.d.ts.map +1 -1
- package/dist/dispatch/DispatchEvent.js.map +1 -1
- package/dist/dispatch/DispatchLifecycle.d.ts +2 -1
- package/dist/dispatch/DispatchLifecycle.d.ts.map +1 -1
- package/dist/dispatch/DispatchLifecycle.js.map +1 -1
- package/dist/dispatch/DispatchObserver.d.ts +3 -0
- package/dist/dispatch/DispatchObserver.d.ts.map +1 -0
- package/dist/dispatch/DispatchObserver.js +2 -0
- package/dist/dispatch/DispatchObserver.js.map +1 -0
- package/dist/dispatch/DispatchPort.d.ts +1 -1
- package/dist/dispatch/DispatchStage.d.ts +2 -0
- package/dist/dispatch/DispatchStage.d.ts.map +1 -0
- package/dist/dispatch/DispatchStage.js +2 -0
- package/dist/dispatch/DispatchStage.js.map +1 -0
- package/dist/dispatch/Dispatcher.d.ts +15 -2
- package/dist/dispatch/Dispatcher.d.ts.map +1 -1
- package/dist/dispatch/Dispatcher.js +36 -8
- package/dist/dispatch/Dispatcher.js.map +1 -1
- package/dist/dispatch/Facade.d.ts +25 -0
- package/dist/dispatch/Facade.d.ts.map +1 -0
- package/dist/dispatch/Facade.js +2 -0
- package/dist/dispatch/Facade.js.map +1 -0
- package/dist/dispatch/GuardReport.d.ts +9 -0
- package/dist/dispatch/GuardReport.d.ts.map +1 -0
- package/dist/dispatch/GuardReport.js +2 -0
- package/dist/dispatch/GuardReport.js.map +1 -0
- package/dist/dispatch/HandlerFacade.d.ts +9 -28
- package/dist/dispatch/HandlerFacade.d.ts.map +1 -1
- package/dist/dispatch/HandlerFacade.js +19 -19
- package/dist/dispatch/HandlerFacade.js.map +1 -1
- package/dist/dispatch/InFlight.d.ts.map +1 -1
- package/dist/dispatch/InFlight.js +2 -1
- package/dist/dispatch/InFlight.js.map +1 -1
- package/dist/dispatch/Journal.d.ts +25 -0
- package/dist/dispatch/Journal.d.ts.map +1 -0
- package/dist/dispatch/Journal.js +3 -0
- package/dist/dispatch/Journal.js.map +1 -0
- package/dist/dispatch/LocalRoutePolicy.d.ts +1 -1
- package/dist/dispatch/LocalRoutePolicy.d.ts.map +1 -1
- package/dist/dispatch/LocalRoutePolicy.js +2 -1
- package/dist/dispatch/LocalRoutePolicy.js.map +1 -1
- package/dist/dispatch/OperationRoute.d.ts +2 -2
- package/dist/dispatch/OperationRoute.d.ts.map +1 -1
- package/dist/dispatch/OperationRoute.js.map +1 -1
- package/dist/dispatch/PresenterArgs.d.ts +2 -0
- package/dist/dispatch/PresenterArgs.d.ts.map +1 -0
- package/dist/dispatch/PresenterArgs.js +2 -0
- package/dist/dispatch/PresenterArgs.js.map +1 -0
- package/dist/dispatch/PresenterExecutor.d.ts +1 -1
- package/dist/dispatch/PresenterExecutor.d.ts.map +1 -1
- package/dist/dispatch/PresenterExecutor.js +2 -1
- package/dist/dispatch/PresenterExecutor.js.map +1 -1
- package/dist/dispatch/RelationCheck.d.ts +22 -0
- package/dist/dispatch/RelationCheck.d.ts.map +1 -0
- package/dist/dispatch/RelationCheck.js +2 -0
- package/dist/dispatch/RelationCheck.js.map +1 -0
- package/dist/dispatch/Release.d.ts +36 -0
- package/dist/dispatch/Release.d.ts.map +1 -0
- package/dist/dispatch/Release.js +124 -0
- package/dist/dispatch/Release.js.map +1 -0
- package/dist/dispatch/Route.d.ts +3 -2
- package/dist/dispatch/Route.d.ts.map +1 -1
- package/dist/dispatch/RouteExecution.d.ts +3 -0
- package/dist/dispatch/RouteExecution.d.ts.map +1 -0
- package/dist/dispatch/RouteExecution.js +2 -0
- package/dist/dispatch/RouteExecution.js.map +1 -0
- package/dist/dispatch/RoutePolicy.d.ts +1 -1
- package/dist/dispatch/StorageGuard.d.ts +24 -13
- package/dist/dispatch/StorageGuard.d.ts.map +1 -1
- package/dist/dispatch/StorageGuard.js +69 -12
- package/dist/dispatch/StorageGuard.js.map +1 -1
- package/dist/dispatch/presenterArguments.d.ts +3 -3
- package/dist/dispatch/presenterArguments.d.ts.map +1 -1
- package/dist/dispatch/routeNotFound.d.ts +2 -2
- package/dist/dispatch/routeNotFound.d.ts.map +1 -1
- package/dist/dispatch/routeNotFound.js +2 -1
- package/dist/dispatch/routeNotFound.js.map +1 -1
- package/dist/dispatch/validateInput.d.ts +1 -1
- package/dist/dispatch/validateInput.d.ts.map +1 -1
- package/dist/dispatch/validateInput.js +2 -1
- package/dist/dispatch/validateInput.js.map +1 -1
- package/dist/entry/facade.js +1 -1
- package/dist/entry/transport.d.ts +1 -1
- package/dist/entry/transport.d.ts.map +1 -1
- package/dist/entry/transport.js +1 -1
- package/dist/index.d.ts +97 -33
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -13
- package/dist/index.js.map +1 -1
- package/dist/node.d.ts +2 -2
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +2 -2
- package/dist/node.js.map +1 -1
- package/dist/prefab/AggregateConstructor.d.ts +8 -0
- package/dist/prefab/AggregateConstructor.d.ts.map +1 -0
- package/dist/prefab/AggregateConstructor.js +2 -0
- package/dist/prefab/AggregateConstructor.js.map +1 -0
- package/dist/prefab/AggregateOf.d.ts +7 -0
- package/dist/prefab/AggregateOf.d.ts.map +1 -0
- package/dist/prefab/AggregateOf.js +2 -0
- package/dist/prefab/AggregateOf.js.map +1 -0
- package/dist/prefab/AggregateShape.d.ts +9 -0
- package/dist/prefab/AggregateShape.d.ts.map +1 -0
- package/dist/prefab/AggregateShape.js +2 -0
- package/dist/prefab/AggregateShape.js.map +1 -0
- package/dist/prefab/{crud.d.ts → CrudConstructor.d.ts} +5 -21
- package/dist/prefab/CrudConstructor.d.ts.map +1 -0
- package/dist/prefab/{crud.js → CrudConstructor.js} +1 -1
- package/dist/prefab/CrudConstructor.js.map +1 -0
- package/dist/prefab/CrudOpName.d.ts +3 -0
- package/dist/prefab/CrudOpName.d.ts.map +1 -0
- package/dist/prefab/CrudOpName.js +2 -0
- package/dist/prefab/CrudOpName.js.map +1 -0
- package/dist/prefab/CrudOps.d.ts +20 -0
- package/dist/prefab/CrudOps.d.ts.map +1 -0
- package/dist/prefab/CrudOps.js +2 -0
- package/dist/prefab/CrudOps.js.map +1 -0
- package/dist/prefab/CrudViews.d.ts +5 -0
- package/dist/prefab/CrudViews.d.ts.map +1 -0
- package/dist/prefab/CrudViews.js +2 -0
- package/dist/prefab/CrudViews.js.map +1 -0
- package/dist/prefab/MirrorConstructor.d.ts +9 -0
- package/dist/prefab/MirrorConstructor.d.ts.map +1 -0
- package/dist/prefab/{mirror.js → MirrorConstructor.js} +1 -1
- package/dist/prefab/MirrorConstructor.js.map +1 -0
- package/dist/prefab/MirrorOf.d.ts +19 -0
- package/dist/prefab/MirrorOf.d.ts.map +1 -0
- package/dist/prefab/MirrorOf.js +2 -0
- package/dist/prefab/MirrorOf.js.map +1 -0
- package/dist/prefab/Refreshed.d.ts +10 -0
- package/dist/prefab/Refreshed.d.ts.map +1 -0
- package/dist/prefab/Refreshed.js +2 -0
- package/dist/prefab/Refreshed.js.map +1 -0
- package/dist/prefab/RepositoryConstructor.d.ts +15 -0
- package/dist/prefab/RepositoryConstructor.d.ts.map +1 -0
- package/dist/prefab/{repository.js → RepositoryConstructor.js} +1 -1
- package/dist/prefab/RepositoryConstructor.js.map +1 -0
- package/dist/prefab/RepositoryOf.d.ts +7 -0
- package/dist/prefab/RepositoryOf.d.ts.map +1 -0
- package/dist/prefab/RepositoryOf.js +2 -0
- package/dist/prefab/RepositoryOf.js.map +1 -0
- package/dist/scan.d.ts +3 -22
- package/dist/scan.d.ts.map +1 -1
- package/dist/storage/{criterion.d.ts → Comparison.d.ts} +2 -3
- package/dist/storage/Comparison.d.ts.map +1 -0
- package/dist/storage/{criterion.js → Comparison.js} +1 -2
- package/dist/storage/Comparison.js.map +1 -0
- package/dist/storage/ComparisonName.d.ts +3 -0
- package/dist/storage/ComparisonName.d.ts.map +1 -0
- package/dist/storage/ComparisonName.js +2 -0
- package/dist/storage/ComparisonName.js.map +1 -0
- package/dist/storage/ListOptions.d.ts +23 -0
- package/dist/storage/ListOptions.d.ts.map +1 -0
- package/dist/storage/ListOptions.js +2 -0
- package/dist/storage/ListOptions.js.map +1 -0
- package/dist/storage/ListResult.d.ts +10 -0
- package/dist/storage/ListResult.d.ts.map +1 -0
- package/dist/storage/ListResult.js +2 -0
- package/dist/storage/ListResult.js.map +1 -0
- package/dist/storage/SelectOption.d.ts +6 -0
- package/dist/storage/SelectOption.d.ts.map +1 -0
- package/dist/storage/SelectOption.js +2 -0
- package/dist/storage/SelectOption.js.map +1 -0
- package/dist/storage/{port.d.ts → Storage.d.ts} +4 -47
- package/dist/storage/Storage.d.ts.map +1 -0
- package/dist/storage/{port.js → Storage.js} +1 -1
- package/dist/storage/Storage.js.map +1 -0
- package/dist/storage/StorageFactory.d.ts +8 -0
- package/dist/storage/StorageFactory.d.ts.map +1 -0
- package/dist/storage/StorageFactory.js +2 -0
- package/dist/storage/StorageFactory.js.map +1 -0
- package/dist/storage/{store.d.ts → Store.d.ts} +3 -5
- package/dist/storage/Store.d.ts.map +1 -0
- package/dist/storage/{store.js → Store.js} +3 -4
- package/dist/storage/Store.js.map +1 -0
- package/dist/storage/Together.d.ts +8 -0
- package/dist/storage/Together.d.ts.map +1 -0
- package/dist/storage/Together.js +2 -0
- package/dist/storage/Together.js.map +1 -0
- package/dist/storage/Values.d.ts +3 -0
- package/dist/storage/Values.d.ts.map +1 -0
- package/dist/storage/Values.js +2 -0
- package/dist/storage/Values.js.map +1 -0
- package/dist/verify.d.ts +6 -15
- package/dist/verify.d.ts.map +1 -1
- package/dist/verify.js +5 -5
- package/dist/verify.js.map +1 -1
- package/dist/wire/Addresses.d.ts +16 -0
- package/dist/wire/Addresses.d.ts.map +1 -0
- package/dist/wire/Addresses.js +2 -0
- package/dist/wire/Addresses.js.map +1 -0
- package/dist/wire/Answer.d.ts +3 -0
- package/dist/wire/Answer.d.ts.map +1 -0
- package/dist/wire/Answer.js +2 -0
- package/dist/wire/Answer.js.map +1 -0
- package/dist/wire/AnyHandler.d.ts +3 -0
- package/dist/wire/AnyHandler.d.ts.map +1 -0
- package/dist/wire/AnyHandler.js +2 -0
- package/dist/wire/AnyHandler.js.map +1 -0
- package/dist/wire/AppMiddleware.d.ts +8 -0
- package/dist/wire/AppMiddleware.d.ts.map +1 -0
- package/dist/wire/{middleware.js → AppMiddleware.js} +1 -2
- package/dist/wire/AppMiddleware.js.map +1 -0
- package/dist/wire/AppNext.d.ts +2 -0
- package/dist/wire/AppNext.d.ts.map +1 -0
- package/dist/wire/AppNext.js +2 -0
- package/dist/wire/AppNext.js.map +1 -0
- package/dist/wire/Call.d.ts +10 -0
- package/dist/wire/Call.d.ts.map +1 -0
- package/dist/wire/Call.js +12 -0
- package/dist/wire/Call.js.map +1 -0
- package/dist/wire/CallPage.d.ts +9 -0
- package/dist/wire/CallPage.d.ts.map +1 -0
- package/dist/wire/CallPage.js +2 -0
- package/dist/wire/CallPage.js.map +1 -0
- package/dist/wire/{CallLog.d.ts → CallRecord.d.ts} +3 -10
- package/dist/wire/CallRecord.d.ts.map +1 -0
- package/dist/wire/CallRecord.js +2 -0
- package/dist/wire/CallRecord.js.map +1 -0
- package/dist/wire/{emit.d.ts → Emit.d.ts} +10 -18
- package/dist/wire/Emit.d.ts.map +1 -0
- package/dist/wire/{emit.js → Emit.js} +17 -6
- package/dist/wire/Emit.js.map +1 -0
- package/dist/wire/ErrorCode.d.ts +23 -0
- package/dist/wire/ErrorCode.d.ts.map +1 -0
- package/dist/wire/ErrorCode.js +30 -0
- package/dist/wire/ErrorCode.js.map +1 -0
- package/dist/wire/Facade.d.ts +10 -0
- package/dist/wire/Facade.d.ts.map +1 -0
- package/dist/wire/Facade.js +9 -0
- package/dist/wire/Facade.js.map +1 -0
- package/dist/wire/FacadeName.d.ts +14 -0
- package/dist/wire/FacadeName.d.ts.map +1 -0
- package/dist/wire/FacadeName.js +2 -0
- package/dist/wire/FacadeName.js.map +1 -0
- package/dist/wire/Fact.d.ts +9 -0
- package/dist/wire/Fact.d.ts.map +1 -0
- package/dist/wire/Fact.js +2 -0
- package/dist/wire/Fact.js.map +1 -0
- package/dist/wire/FougereError.d.ts +35 -0
- package/dist/wire/FougereError.d.ts.map +1 -0
- package/dist/wire/{errors.js → FougereError.js} +9 -32
- package/dist/wire/FougereError.js.map +1 -0
- package/dist/wire/FougereErrorOptions.d.ts +10 -0
- package/dist/wire/FougereErrorOptions.d.ts.map +1 -0
- package/dist/wire/FougereErrorOptions.js +2 -0
- package/dist/wire/FougereErrorOptions.js.map +1 -0
- package/dist/wire/FougereHandlers.d.ts +10 -0
- package/dist/wire/FougereHandlers.d.ts.map +1 -0
- package/dist/wire/FougereHandlers.js +2 -0
- package/dist/wire/FougereHandlers.js.map +1 -0
- package/dist/wire/FougereOperations.d.ts +4 -0
- package/dist/wire/FougereOperations.d.ts.map +1 -0
- package/dist/wire/FougereOperations.js +2 -0
- package/dist/wire/FougereOperations.js.map +1 -0
- package/dist/wire/FrondCall.d.ts +10 -0
- package/dist/wire/FrondCall.d.ts.map +1 -0
- package/dist/wire/FrondCall.js +2 -0
- package/dist/wire/FrondCall.js.map +1 -0
- package/dist/wire/HandlerOf.d.ts +10 -0
- package/dist/wire/HandlerOf.d.ts.map +1 -0
- package/dist/wire/HandlerOf.js +2 -0
- package/dist/wire/HandlerOf.js.map +1 -0
- package/dist/wire/Invocation.d.ts +4 -11
- package/dist/wire/Invocation.d.ts.map +1 -1
- package/dist/wire/Invocation.js +4 -1
- package/dist/wire/Invocation.js.map +1 -1
- package/dist/wire/InvocationContext.d.ts +12 -0
- package/dist/wire/InvocationContext.d.ts.map +1 -0
- package/dist/wire/InvocationContext.js +2 -0
- package/dist/wire/InvocationContext.js.map +1 -0
- package/dist/wire/{middleware.d.ts → OperationContext.d.ts} +2 -9
- package/dist/wire/OperationContext.d.ts.map +1 -0
- package/dist/wire/OperationContext.js +2 -0
- package/dist/wire/OperationContext.js.map +1 -0
- package/dist/wire/{operation.d.ts → OperationContract.d.ts} +15 -12
- package/dist/wire/OperationContract.d.ts.map +1 -0
- package/dist/wire/{operation.js → OperationContract.js} +1 -1
- package/dist/wire/OperationContract.js.map +1 -0
- package/dist/wire/OperationKind.d.ts +2 -0
- package/dist/wire/OperationKind.d.ts.map +1 -0
- package/dist/wire/OperationKind.js +2 -0
- package/dist/wire/OperationKind.js.map +1 -0
- package/dist/wire/OperationKindInference.d.ts +8 -0
- package/dist/wire/OperationKindInference.d.ts.map +1 -0
- package/dist/wire/OperationKindInference.js +2 -0
- package/dist/wire/OperationKindInference.js.map +1 -0
- package/dist/wire/OperationsMap.d.ts +7 -0
- package/dist/wire/OperationsMap.d.ts.map +1 -0
- package/dist/wire/OperationsMap.js +7 -0
- package/dist/wire/OperationsMap.js.map +1 -0
- package/dist/wire/Param.d.ts +8 -0
- package/dist/wire/Param.d.ts.map +1 -0
- package/dist/wire/Param.js +2 -0
- package/dist/wire/Param.js.map +1 -0
- package/dist/wire/PartialInvocation.d.ts +3 -0
- package/dist/wire/PartialInvocation.d.ts.map +1 -0
- package/dist/wire/PartialInvocation.js +2 -0
- package/dist/wire/PartialInvocation.js.map +1 -0
- package/dist/wire/Pipe.d.ts +10 -0
- package/dist/wire/Pipe.d.ts.map +1 -0
- package/dist/wire/Pipe.js +2 -0
- package/dist/wire/Pipe.js.map +1 -0
- package/dist/wire/Refused.d.ts +10 -0
- package/dist/wire/Refused.d.ts.map +1 -0
- package/dist/wire/Refused.js +2 -0
- package/dist/wire/Refused.js.map +1 -0
- package/dist/wire/RouteAddress.d.ts +1 -7
- package/dist/wire/RouteAddress.d.ts.map +1 -1
- package/dist/wire/RouteAddress.js.map +1 -1
- package/dist/wire/RouteAddressInput.d.ts +6 -0
- package/dist/wire/RouteAddressInput.d.ts.map +1 -0
- package/dist/wire/RouteAddressInput.js +2 -0
- package/dist/wire/RouteAddressInput.js.map +1 -0
- package/dist/wire/RouteKind.d.ts +3 -0
- package/dist/wire/RouteKind.d.ts.map +1 -0
- package/dist/wire/RouteKind.js +2 -0
- package/dist/wire/RouteKind.js.map +1 -0
- package/dist/wire/Rows.d.ts +8 -0
- package/dist/wire/Rows.d.ts.map +1 -0
- package/dist/wire/Rows.js +2 -0
- package/dist/wire/Rows.js.map +1 -0
- package/dist/wire/RpcAnswer.d.ts +6 -0
- package/dist/wire/RpcAnswer.d.ts.map +1 -0
- package/dist/wire/RpcAnswer.js +3 -0
- package/dist/wire/RpcAnswer.js.map +1 -0
- package/dist/wire/Signature.d.ts +13 -0
- package/dist/wire/Signature.d.ts.map +1 -0
- package/dist/wire/Signature.js +2 -0
- package/dist/wire/Signature.js.map +1 -0
- package/dist/wire/SignedCall.d.ts +14 -0
- package/dist/wire/SignedCall.d.ts.map +1 -0
- package/dist/wire/SignedCall.js +3 -0
- package/dist/wire/SignedCall.js.map +1 -0
- package/dist/wire/Transport.d.ts +5 -0
- package/dist/wire/Transport.d.ts.map +1 -0
- package/dist/wire/Transport.js +2 -0
- package/dist/wire/Transport.js.map +1 -0
- package/dist/wire/{signature.d.ts → TypeRef.d.ts} +1 -17
- package/dist/wire/TypeRef.d.ts.map +1 -0
- package/dist/wire/TypeRef.js +2 -0
- package/dist/wire/TypeRef.js.map +1 -0
- package/dist/wire/binding.d.ts +1 -1
- package/dist/wire/binding.d.ts.map +1 -1
- package/dist/wire/card/CardOp.d.ts +22 -0
- package/dist/wire/card/CardOp.d.ts.map +1 -0
- package/dist/wire/card/CardOp.js +2 -0
- package/dist/wire/card/CardOp.js.map +1 -0
- package/dist/wire/card/IdentityCard.d.ts +22 -0
- package/dist/wire/card/IdentityCard.d.ts.map +1 -0
- package/dist/wire/card/IdentityCard.js +25 -0
- package/dist/wire/card/IdentityCard.js.map +1 -0
- package/dist/wire/drift.d.ts +6 -6
- package/dist/wire/drift.d.ts.map +1 -1
- package/dist/wire/drift.js +18 -18
- package/dist/wire/drift.js.map +1 -1
- package/dist/wire/http-error.d.ts +1 -2
- package/dist/wire/http-error.d.ts.map +1 -1
- package/dist/wire/http-error.js +4 -3
- package/dist/wire/http-error.js.map +1 -1
- package/dist/wire/loggerMiddleware.d.ts +2 -2
- package/dist/wire/loggerMiddleware.d.ts.map +1 -1
- package/dist/wire/refusals.d.ts +33 -0
- package/dist/wire/refusals.d.ts.map +1 -0
- package/dist/wire/refusals.js +44 -0
- package/dist/wire/refusals.js.map +1 -0
- package/dist/wire/topology/DeclaredEdge.d.ts +6 -0
- package/dist/wire/topology/DeclaredEdge.d.ts.map +1 -0
- package/dist/wire/topology/DeclaredEdge.js +2 -0
- package/dist/wire/topology/DeclaredEdge.js.map +1 -0
- package/dist/wire/topology/DeclaredFrond.d.ts +11 -0
- package/dist/wire/topology/DeclaredFrond.d.ts.map +1 -0
- package/dist/wire/topology/DeclaredFrond.js +2 -0
- package/dist/wire/topology/DeclaredFrond.js.map +1 -0
- package/dist/wire/topology/DeclaredTopology.d.ts +12 -0
- package/dist/wire/topology/DeclaredTopology.d.ts.map +1 -0
- package/dist/wire/topology/DeclaredTopology.js +2 -0
- package/dist/wire/topology/DeclaredTopology.js.map +1 -0
- package/dist/wire/topology/Edge.d.ts +8 -0
- package/dist/wire/topology/Edge.d.ts.map +1 -0
- package/dist/wire/topology/Edge.js +2 -0
- package/dist/wire/topology/Edge.js.map +1 -0
- package/dist/wire/topology/FrondPlacement.d.ts +8 -0
- package/dist/wire/topology/FrondPlacement.d.ts.map +1 -0
- package/dist/wire/topology/FrondPlacement.js +2 -0
- package/dist/wire/topology/FrondPlacement.js.map +1 -0
- package/dist/wire/topology/TopologyReport.d.ts +14 -0
- package/dist/wire/topology/TopologyReport.d.ts.map +1 -0
- package/dist/wire/topology/TopologyReport.js +2 -0
- package/dist/wire/topology/TopologyReport.js.map +1 -0
- package/package.json +4 -4
- package/src/AdapterConfig.ts +11 -0
- package/src/AnswerFor.ts +7 -0
- package/src/Binding.ts +4 -0
- package/src/{identity.ts → CallIdentity.ts} +9 -25
- package/src/Constraint.ts +2 -0
- package/src/{conventions.ts → Conventions.ts} +20 -9
- package/src/ConventionsInput.ts +8 -0
- package/src/Ctor.ts +2 -0
- package/src/Declared.ts +8 -0
- package/src/DeclaredHandler.ts +18 -0
- package/src/DeclaredSubject.ts +6 -0
- package/src/{graph.ts → DomainCluster.ts} +2 -12
- package/src/EffectiveCollector.ts +7 -0
- package/src/EffectiveOperation.ts +62 -0
- package/src/{effective-operation.ts → EffectiveOperationModel.ts} +28 -125
- package/src/EffectiveOperationOptions.ts +7 -0
- package/src/EffectiveOperationSemantics.ts +7 -0
- package/src/EffectiveOperationsMap.ts +3 -0
- package/src/EffectiveParameter.ts +13 -0
- package/src/EntityNode.ts +6 -0
- package/src/{config-loader.ts → FougereConfig.ts} +15 -20
- package/src/FougereNames.ts +2 -0
- package/src/FougerePorts.ts +7 -0
- package/src/{frond-config.ts → FrondConfig.ts} +8 -46
- package/src/{declare.ts → FrondDeclaration.ts} +14 -35
- package/src/FrondIdentity.ts +7 -0
- package/src/NameOf.ts +12 -0
- package/src/OperationOverride.ts +38 -0
- package/src/PortChoice.ts +13 -0
- package/src/{source.ts → Source.ts} +7 -23
- package/src/SourceConfig.ts +10 -0
- package/src/SourceView.ts +7 -0
- package/src/VerifiedCall.ts +7 -0
- package/src/boot/App.ts +71 -0
- package/src/boot/AppLifecycle.ts +2 -20
- package/src/boot/AuthConfig.ts +14 -0
- package/src/boot/AuthContext.ts +12 -0
- package/src/boot/AuthRuntime.ts +19 -0
- package/src/boot/CreateAppOptions.ts +81 -0
- package/src/boot/Emissions.ts +86 -56
- package/src/boot/Extension.ts +20 -0
- package/src/boot/Hosting.ts +38 -0
- package/src/boot/Peer.ts +15 -0
- package/src/boot/apply.ts +2 -2
- package/src/boot/bootstrap.ts +240 -87
- package/src/boot/card.ts +15 -11
- package/src/boot/declared.ts +40 -5
- package/src/boot/frame.ts +2 -2
- package/src/boot/hosted.ts +1 -1
- package/src/boot/install.ts +65 -33
- package/src/boot/ownership.ts +92 -52
- package/src/boot/peerOver.ts +17 -0
- package/src/boot/ports.ts +52 -41
- package/src/boot/relations.ts +172 -0
- package/src/boot/remote.ts +24 -17
- package/src/boot/runner.ts +2 -2
- package/src/boot/seed.ts +12 -10
- package/src/boot/statement-drift.ts +6 -5
- package/src/boot/together.ts +82 -38
- package/src/builtin/Carry.ts +49 -0
- package/src/builtin/LogLevel.ts +1 -0
- package/src/builtin/LogRecord.ts +12 -0
- package/src/builtin/LogSink.ts +4 -0
- package/src/builtin/{logger.ts → Logger.ts} +5 -98
- package/src/builtin/LoggerOptions.ts +14 -0
- package/src/builtin/Rendered.ts +21 -0
- package/src/contract.ts +36 -16
- package/src/crypto/CryptoPort.ts +12 -0
- package/src/crypto/PublicJwk.ts +7 -0
- package/src/crypto/Signer.ts +4 -0
- package/src/crypto/Verifier.ts +5 -0
- package/src/crypto/node.ts +4 -1
- package/src/crypto/webcrypto.ts +4 -1
- package/src/define.ts +1 -1
- package/src/descriptor/CollectorEntry.ts +11 -0
- package/src/descriptor/EntityEntry.ts +13 -0
- package/src/descriptor/ExtensionEntry.ts +15 -0
- package/src/descriptor/FrondDescriptor.ts +58 -0
- package/src/descriptor/FrondSource.ts +7 -0
- package/src/descriptor/Fronds.ts +2 -1
- package/src/descriptor/HandlerEntry.ts +27 -0
- package/src/descriptor/MiddlewareEntry.ts +16 -0
- package/src/descriptor/PresenterEntry.ts +23 -0
- package/src/descriptor/PresenterFieldMeta.ts +14 -0
- package/src/descriptor/ProviderEntry.ts +18 -0
- package/src/descriptor/SeedEntry.ts +11 -0
- package/src/descriptor/SeedFactory.ts +2 -0
- package/src/descriptor/bases.ts +30 -0
- package/src/descriptor/index.ts +24 -6
- package/src/descriptor/surface.ts +3 -2
- package/src/diagnostic.ts +41 -0
- package/src/dispatch/ArgumentResolver.ts +2 -7
- package/src/dispatch/CollectorLookup.ts +3 -0
- package/src/dispatch/CollectorResolver.ts +5 -0
- package/src/dispatch/Dependent.ts +19 -0
- package/src/dispatch/DispatchEvent.ts +3 -6
- package/src/dispatch/DispatchLifecycle.ts +2 -1
- package/src/dispatch/DispatchObserver.ts +3 -0
- package/src/dispatch/DispatchPort.ts +1 -1
- package/src/dispatch/DispatchStage.ts +1 -0
- package/src/dispatch/Dispatcher.ts +44 -8
- package/src/dispatch/Facade.ts +25 -0
- package/src/dispatch/GuardReport.ts +9 -0
- package/src/dispatch/HandlerFacade.ts +28 -46
- package/src/dispatch/InFlight.ts +2 -1
- package/src/dispatch/Journal.ts +26 -0
- package/src/dispatch/LocalRoutePolicy.ts +3 -2
- package/src/dispatch/OperationRoute.ts +2 -3
- package/src/dispatch/PresenterArgs.ts +1 -0
- package/src/dispatch/PresenterExecutor.ts +3 -3
- package/src/dispatch/RelationCheck.ts +21 -0
- package/src/dispatch/Release.ts +156 -0
- package/src/dispatch/Route.ts +3 -2
- package/src/dispatch/RouteExecution.ts +3 -0
- package/src/dispatch/RoutePolicy.ts +1 -1
- package/src/dispatch/StorageGuard.ts +75 -19
- package/src/dispatch/presenterArguments.ts +3 -3
- package/src/dispatch/routeNotFound.ts +3 -2
- package/src/dispatch/validateInput.ts +3 -2
- package/src/entry/facade.ts +2 -2
- package/src/entry/transport.ts +2 -2
- package/src/index.ts +101 -52
- package/src/node.ts +2 -2
- package/src/prefab/AggregateConstructor.ts +9 -0
- package/src/prefab/AggregateOf.ts +6 -0
- package/src/prefab/AggregateShape.ts +7 -0
- package/src/prefab/{crud.ts → CrudConstructor.ts} +10 -18
- package/src/prefab/CrudOpName.ts +2 -0
- package/src/prefab/CrudOps.ts +24 -0
- package/src/prefab/CrudViews.ts +5 -0
- package/src/prefab/MirrorConstructor.ts +35 -0
- package/src/prefab/MirrorOf.ts +19 -0
- package/src/prefab/Refreshed.ts +9 -0
- package/src/prefab/{repository.ts → RepositoryConstructor.ts} +8 -24
- package/src/prefab/RepositoryOf.ts +7 -0
- package/src/scan.ts +3 -23
- package/src/storage/{criterion.ts → Comparison.ts} +1 -3
- package/src/storage/ComparisonName.ts +3 -0
- package/src/storage/ListOptions.ts +29 -0
- package/src/storage/ListResult.ts +9 -0
- package/src/storage/SelectOption.ts +6 -0
- package/src/storage/{port.ts → Storage.ts} +5 -56
- package/src/storage/StorageFactory.ts +8 -0
- package/src/storage/{store.ts → Store.ts} +5 -7
- package/src/storage/Together.ts +6 -0
- package/src/storage/Values.ts +2 -0
- package/src/verify.ts +12 -21
- package/src/wire/Addresses.ts +17 -0
- package/src/wire/Answer.ts +3 -0
- package/src/wire/AnyHandler.ts +2 -0
- package/src/wire/AppMiddleware.ts +24 -0
- package/src/wire/AppNext.ts +1 -0
- package/src/wire/Call.ts +15 -0
- package/src/wire/CallPage.ts +9 -0
- package/src/wire/{CallLog.ts → CallRecord.ts} +2 -10
- package/src/wire/{emit.ts → Emit.ts} +24 -24
- package/src/wire/ErrorCode.ts +33 -0
- package/src/wire/Facade.ts +28 -0
- package/src/wire/FacadeName.ts +13 -0
- package/src/wire/Fact.ts +8 -0
- package/src/wire/{errors.ts → FougereError.ts} +14 -53
- package/src/wire/FougereErrorOptions.ts +10 -0
- package/src/wire/FougereHandlers.ts +8 -0
- package/src/wire/FougereOperations.ts +2 -0
- package/src/wire/FrondCall.ts +9 -0
- package/src/wire/HandlerOf.ts +10 -0
- package/src/wire/Invocation.ts +5 -12
- package/src/wire/InvocationContext.ts +11 -0
- package/src/wire/OperationContext.ts +18 -0
- package/src/wire/{operation.ts → OperationContract.ts} +14 -23
- package/src/wire/OperationKind.ts +1 -0
- package/src/wire/OperationKindInference.ts +8 -0
- package/src/wire/OperationsMap.ts +14 -0
- package/src/wire/Param.ts +8 -0
- package/src/wire/PartialInvocation.ts +3 -0
- package/src/wire/Pipe.ts +9 -0
- package/src/wire/Refused.ts +13 -0
- package/src/wire/RouteAddress.ts +1 -8
- package/src/wire/RouteAddressInput.ts +5 -0
- package/src/wire/RouteKind.ts +2 -0
- package/src/wire/Rows.ts +7 -0
- package/src/wire/RpcAnswer.ts +7 -0
- package/src/wire/Signature.ts +13 -0
- package/src/wire/SignedCall.ts +14 -0
- package/src/wire/Transport.ts +5 -0
- package/src/wire/{signature.ts → TypeRef.ts} +0 -18
- package/src/wire/binding.ts +1 -1
- package/src/wire/card/CardOp.ts +22 -0
- package/src/wire/card/IdentityCard.ts +41 -0
- package/src/wire/drift.ts +22 -22
- package/src/wire/http-error.ts +4 -3
- package/src/wire/loggerMiddleware.ts +2 -2
- package/src/wire/refusals.ts +55 -0
- package/src/wire/topology/DeclaredEdge.ts +5 -0
- package/src/wire/topology/DeclaredFrond.ts +10 -0
- package/src/wire/topology/DeclaredTopology.ts +12 -0
- package/src/wire/topology/Edge.ts +7 -0
- package/src/wire/topology/FrondPlacement.ts +7 -0
- package/src/wire/topology/TopologyReport.ts +14 -0
- package/dist/boot/auth.d.ts +0 -43
- package/dist/boot/auth.d.ts.map +0 -1
- package/dist/boot/auth.js +0 -2
- package/dist/boot/auth.js.map +0 -1
- package/dist/boot/types.d.ts +0 -147
- package/dist/boot/types.d.ts.map +0 -1
- package/dist/boot/types.js +0 -2
- package/dist/boot/types.js.map +0 -1
- package/dist/builtin/logger.d.ts +0 -96
- package/dist/builtin/logger.d.ts.map +0 -1
- package/dist/builtin/logger.js.map +0 -1
- package/dist/config-loader.d.ts.map +0 -1
- package/dist/config-loader.js.map +0 -1
- package/dist/conventions.d.ts.map +0 -1
- package/dist/conventions.js.map +0 -1
- package/dist/crypto/port.d.ts +0 -26
- package/dist/crypto/port.d.ts.map +0 -1
- package/dist/crypto/port.js +0 -3
- package/dist/crypto/port.js.map +0 -1
- package/dist/declare.d.ts.map +0 -1
- package/dist/declare.js.map +0 -1
- package/dist/descriptor/frond.d.ts +0 -187
- package/dist/descriptor/frond.d.ts.map +0 -1
- package/dist/descriptor/frond.js.map +0 -1
- package/dist/effective-operation.d.ts +0 -113
- package/dist/effective-operation.d.ts.map +0 -1
- package/dist/effective-operation.js.map +0 -1
- package/dist/frond-config.d.ts +0 -71
- package/dist/frond-config.d.ts.map +0 -1
- package/dist/frond-config.js.map +0 -1
- package/dist/graph.d.ts.map +0 -1
- package/dist/graph.js.map +0 -1
- package/dist/identity.d.ts.map +0 -1
- package/dist/identity.js.map +0 -1
- package/dist/prefab/crud.d.ts.map +0 -1
- package/dist/prefab/crud.js.map +0 -1
- package/dist/prefab/mirror.d.ts +0 -33
- package/dist/prefab/mirror.d.ts.map +0 -1
- package/dist/prefab/mirror.js.map +0 -1
- package/dist/prefab/repository.d.ts +0 -40
- package/dist/prefab/repository.d.ts.map +0 -1
- package/dist/prefab/repository.js.map +0 -1
- package/dist/source.d.ts.map +0 -1
- package/dist/source.js.map +0 -1
- package/dist/storage/criterion.d.ts.map +0 -1
- package/dist/storage/criterion.js.map +0 -1
- package/dist/storage/port.d.ts.map +0 -1
- package/dist/storage/port.js.map +0 -1
- package/dist/storage/store.d.ts.map +0 -1
- package/dist/storage/store.js.map +0 -1
- package/dist/wire/CallLog.d.ts.map +0 -1
- package/dist/wire/CallLog.js +0 -2
- package/dist/wire/CallLog.js.map +0 -1
- package/dist/wire/call.d.ts +0 -130
- package/dist/wire/call.d.ts.map +0 -1
- package/dist/wire/call.js +0 -47
- package/dist/wire/call.js.map +0 -1
- package/dist/wire/emit.d.ts.map +0 -1
- package/dist/wire/emit.js.map +0 -1
- package/dist/wire/errors.d.ts +0 -58
- package/dist/wire/errors.d.ts.map +0 -1
- package/dist/wire/errors.js.map +0 -1
- package/dist/wire/middleware.d.ts.map +0 -1
- package/dist/wire/middleware.js.map +0 -1
- package/dist/wire/operation.d.ts.map +0 -1
- package/dist/wire/operation.js.map +0 -1
- package/dist/wire/signature.d.ts.map +0 -1
- package/dist/wire/signature.js +0 -2
- package/dist/wire/signature.js.map +0 -1
- package/src/boot/auth.ts +0 -45
- package/src/boot/types.ts +0 -148
- package/src/crypto/port.ts +0 -29
- package/src/descriptor/frond.ts +0 -195
- package/src/prefab/mirror.ts +0 -60
- package/src/wire/call.ts +0 -178
- package/src/wire/middleware.ts +0 -43
package/dist/boot/bootstrap.js
CHANGED
|
@@ -1,22 +1,30 @@
|
|
|
1
1
|
import { lowerFirst } from '@fougere/schema';
|
|
2
2
|
import { hostedBy } from './hosted.js';
|
|
3
3
|
import { installFrond } from './install.js';
|
|
4
|
-
import {
|
|
4
|
+
import { dependentsOf, releasing, unfinishable, unheldAmong } from './relations.js';
|
|
5
|
+
import { release as releaseRow } from '../dispatch/Release.js';
|
|
6
|
+
import { peerOver } from './peerOver.js';
|
|
7
|
+
import { JOURNAL } from '../dispatch/Journal.js';
|
|
8
|
+
import { refusalOf } from '../diagnostic.js';
|
|
9
|
+
import { Carry } from '../builtin/Carry.js';
|
|
10
|
+
import { Logger } from '../builtin/Logger.js';
|
|
5
11
|
import LogLine, { CARRIES_LINE } from '../builtin/LogLine.js';
|
|
6
|
-
import { emitKeyOf } from '../wire/
|
|
12
|
+
import { emitKeyOf } from '../wire/Emit.js';
|
|
7
13
|
/** The fact the boot announces, spelled once. */
|
|
8
14
|
const LOG_LINE = lowerFirst(LogLine.name);
|
|
9
15
|
import { Config } from '../builtin/config.js';
|
|
10
16
|
import { createRemoteRouter, createRemoteFacade } from './remote.js';
|
|
11
17
|
import { Emissions } from './Emissions.js';
|
|
12
|
-
import { resolveEffectiveOperations
|
|
18
|
+
import { resolveEffectiveOperations } from '../EffectiveOperationModel.js';
|
|
13
19
|
import { InFlight } from '../dispatch/InFlight.js';
|
|
14
20
|
// The keys, each read from where its concept is declared — never respelled here.
|
|
15
|
-
import {
|
|
21
|
+
import { RPC_ENTITY } from '../wire/RpcAnswer.js';
|
|
22
|
+
import { Invocation } from '../wire/Invocation.js';
|
|
23
|
+
import { facadeKeyOf } from '../wire/Facade.js';
|
|
16
24
|
import { identityCardOf } from './card.js';
|
|
17
25
|
import { AppLifecycle, migrating } from './AppLifecycle.js';
|
|
18
26
|
import { seeding } from './seed.js';
|
|
19
|
-
import { storageKeyOf } from '../storage/
|
|
27
|
+
import { storageKeyOf } from '../storage/Storage.js';
|
|
20
28
|
import { presenterKeyOf } from '../prefab/presenter.js';
|
|
21
29
|
import { RouteAddress } from '../wire/RouteAddress.js';
|
|
22
30
|
import { DispatchLifecycle } from '../dispatch/DispatchLifecycle.js';
|
|
@@ -31,25 +39,35 @@ const notLoaded = (entity) => `Frond for '${entity}' is not loaded.\n` +
|
|
|
31
39
|
` - Add '${entity}' to --fronds flag\n` +
|
|
32
40
|
` - Or declare a remote: remotes: { ${entity}: 'http://...' }`;
|
|
33
41
|
/** Two fronds cannot claim one name — said at boot, because nothing else says it. */
|
|
34
|
-
function
|
|
42
|
+
function keyClaims(fronds, remotes, refused) {
|
|
35
43
|
const owner = new Map();
|
|
36
|
-
const
|
|
44
|
+
const fileOf = new Map();
|
|
45
|
+
const claim = (key, frond, what, filePath) => {
|
|
37
46
|
const first = owner.get(key);
|
|
38
47
|
if (first !== undefined && first !== frond) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
48
|
+
refused.push({
|
|
49
|
+
severity: 'blocking',
|
|
50
|
+
code: 'frond-key-taken',
|
|
51
|
+
filePath,
|
|
52
|
+
frond,
|
|
53
|
+
subject: key,
|
|
54
|
+
message: `'${first}' and '${frond}' both claim the key '${key}'. A ${what} is registered `
|
|
55
|
+
+ 'under a key that names no frond, so one would silently replace the other. Rename one '
|
|
56
|
+
+ 'of the two classes, or keep one frond out of this process (--fronds). '
|
|
57
|
+
+ `'${first}' declares it in ${fileOf.get(key)}.`,
|
|
58
|
+
});
|
|
59
|
+
return;
|
|
43
60
|
}
|
|
44
61
|
owner.set(key, frond);
|
|
62
|
+
fileOf.set(key, filePath);
|
|
45
63
|
};
|
|
46
64
|
for (const frond of fronds) {
|
|
47
65
|
if (remotes && frond.name in remotes)
|
|
48
66
|
continue;
|
|
49
67
|
for (const handler of frond.handlers)
|
|
50
|
-
claim(facadeKeyOf(handler.address, handler.surface), frond.name, '
|
|
68
|
+
claim(facadeKeyOf(handler.address, handler.surface), frond.name, 'facade', handler.filePath);
|
|
51
69
|
for (const presenter of frond.presenters)
|
|
52
|
-
claim(presenterKeyOf(presenter.entityName), frond.name, 'presenter');
|
|
70
|
+
claim(presenterKeyOf(presenter.entityName), frond.name, 'presenter', presenter.filePath);
|
|
53
71
|
}
|
|
54
72
|
}
|
|
55
73
|
/** Bootstrap a fougere application. */
|
|
@@ -130,7 +148,9 @@ export async function createApp(options) {
|
|
|
130
148
|
// condition is the KEYS, not the count: a scan that found nothing is an ordinary answer.
|
|
131
149
|
if (!options.fronds && !options.scan && !options.auth && brought.length === 0) {
|
|
132
150
|
throw new Error('createApp needs `fronds:` (what this app states) or `scan:` (what a scanner found). '
|
|
133
|
-
+ 'Neither was given, and nothing else declares entities of its own
|
|
151
|
+
+ 'Neither was given, and nothing else declares entities of its own.\n'
|
|
152
|
+
+ ' createApp({ fronds: [blog] })\n'
|
|
153
|
+
+ ' createApp({ scan: await scanProject(root) })');
|
|
134
154
|
}
|
|
135
155
|
const operationModel = resolveEffectiveOperations(fronds, {
|
|
136
156
|
diagnostics,
|
|
@@ -148,20 +168,16 @@ export async function createApp(options) {
|
|
|
148
168
|
if (d.severity === 'warning')
|
|
149
169
|
log.warn(`[${d.code}] ${d.message}`);
|
|
150
170
|
/** An ambiguous convention is not a partial scan. */
|
|
151
|
-
const
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
const details = invalidOperations.map((d) => ` [${d.code}]${d.subject ? ` ${d.subject}` : ''}\n ${d.message}\n ${d.filePath}`);
|
|
155
|
-
throw new Error(`Fougere boot refused: ${invalidOperations.length} unresolved operation contract(s):\n`
|
|
156
|
-
+ details.join('\n'));
|
|
157
|
-
}
|
|
171
|
+
const unresolved = refusalOf(operationModel.resolutionDiagnostics, 'unresolved operation contract(s)');
|
|
172
|
+
if (unresolved)
|
|
173
|
+
throw unresolved;
|
|
158
174
|
// Auth runtime — built once from the lazy AuthConfig produced by a provider factory
|
|
159
175
|
// (e.g. betterAuth({...})) in fougere.config.ts. The provider receives our db +
|
|
160
176
|
// storageFactory so all auth writes flow through Storage.
|
|
161
177
|
let authRuntime;
|
|
162
178
|
if (options.auth) {
|
|
163
179
|
if (!options.storageFactory) {
|
|
164
|
-
throw new Error('createApp: `auth` is set but `storageFactory` is missing — auth providers need it to back their adapter.');
|
|
180
|
+
throw new Error('createApp: `auth` is set but `storageFactory` is missing — auth providers need it to back their adapter. Pass one through CreateAppOptions.storageFactory.');
|
|
165
181
|
}
|
|
166
182
|
if (options.db === undefined) {
|
|
167
183
|
throw new Error('createApp: `auth` is set but `db` is missing — pass the storage handle through CreateAppOptions.db.');
|
|
@@ -183,7 +199,7 @@ export async function createApp(options) {
|
|
|
183
199
|
const remoteRouter = declaredRemotes.length > 0 && options.remoteTransport
|
|
184
200
|
? createRemoteRouter(Object.fromEntries(declaredRemotes), options.remoteTransport)
|
|
185
201
|
: undefined;
|
|
186
|
-
// What is running on this app — counted at the one
|
|
202
|
+
// What is running on this app — counted at the one facade every caller goes through,
|
|
187
203
|
// so releasing it can wait for the work instead of pulling the floor out.
|
|
188
204
|
const inflight = new InFlight();
|
|
189
205
|
// Middleware storage — read at call time, not at boot time
|
|
@@ -192,8 +208,11 @@ export async function createApp(options) {
|
|
|
192
208
|
/** What this app took on beyond its fronds. Its `up` is the last thing the boot does. */
|
|
193
209
|
const routeRegistry = new RouteRegistry();
|
|
194
210
|
const dispatchLifecycle = new DispatchLifecycle(options.dispatchObservers, (error, event) => log.error(`[dispatch-observer] ${event.stage} ${event.call.address.toString()}`, error));
|
|
195
|
-
|
|
196
|
-
|
|
211
|
+
// Resolved at the call and never here: a journal is a provider of a brought frond, and
|
|
212
|
+
// the extension that registers it rises long after this line.
|
|
213
|
+
const keeping = () => journalOf();
|
|
214
|
+
const dispatcher = new Dispatcher(routeRegistry, inflight, dispatchLifecycle, undefined, keeping);
|
|
215
|
+
const localDispatcher = new Dispatcher(routeRegistry, inflight, dispatchLifecycle, new LocalRoutePolicy((surface) => fronds.servedNames(surface)), keeping);
|
|
197
216
|
function getMiddlewares(entity) {
|
|
198
217
|
const scoped = scopedMiddlewares.get(entity) ?? [];
|
|
199
218
|
return [...globalMiddlewares, ...scoped];
|
|
@@ -211,7 +230,15 @@ export async function createApp(options) {
|
|
|
211
230
|
scoped.push(middleware);
|
|
212
231
|
scopedMiddlewares.set(entity, scoped);
|
|
213
232
|
}
|
|
214
|
-
|
|
233
|
+
/** What every check of this boot writes into — refused together, once they have all run. */
|
|
234
|
+
const refused = [];
|
|
235
|
+
const relations = [];
|
|
236
|
+
keyClaims(fronds, options.remotes, refused);
|
|
237
|
+
// Said before anything is installed: a key claimed twice makes every later error worse —
|
|
238
|
+
// the route registry collides first, and names a route instead of the two fronds.
|
|
239
|
+
const claimed = refusalOf(refused, 'declaration(s) that do not hold');
|
|
240
|
+
if (claimed)
|
|
241
|
+
throw claimed;
|
|
215
242
|
// Every entity of every frond, by name — so a fact can be validated where it LANDS, and
|
|
216
243
|
// so a `reads:` clause can name a neighbour's.
|
|
217
244
|
const entityByName = fronds.schemas();
|
|
@@ -228,10 +255,74 @@ export async function createApp(options) {
|
|
|
228
255
|
// about carrying one would come back here. See `LoggerOptions.carries`.
|
|
229
256
|
const emissions = new Emissions(fronds, entityByName, container,
|
|
230
257
|
// No carry: this is what CARRIES a fact, and a line about carrying one comes back.
|
|
231
|
-
new Logger('boot:app'), options.onEmit);
|
|
258
|
+
new Logger('boot:app'), refused, options.onEmit);
|
|
232
259
|
/** Canonical operation tables, indexed by the same audience key as their facades. */
|
|
233
260
|
const effectiveByKey = new Map();
|
|
234
261
|
const contractsOf = (operations) => new Map([...operations].map(([name, operation]) => [name, operation]));
|
|
262
|
+
/**
|
|
263
|
+
* The storage an entity is backed by — the dual of `facadeFor`, which serves its client-facing
|
|
264
|
+
* facade.
|
|
265
|
+
*/
|
|
266
|
+
const storageFor = (entity) => {
|
|
267
|
+
const owner = fronds.owner(entity);
|
|
268
|
+
if (!owner)
|
|
269
|
+
return undefined;
|
|
270
|
+
const key = storageKeyOf(entity);
|
|
271
|
+
try {
|
|
272
|
+
return container.resolve(`frond:${owner.name}`).resolve(key);
|
|
273
|
+
}
|
|
274
|
+
catch {
|
|
275
|
+
return undefined;
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
// What carries a release writes none: an instrumentation frond's own rows are kept while a
|
|
279
|
+
// release happens, and journalling them would begin one inside the one being written down.
|
|
280
|
+
const carriesRelease = new Set(fronds.filter((one) => one.brought).flatMap((one) => one.entities.map((e) => e.name)));
|
|
281
|
+
/**
|
|
282
|
+
* The journal a package registered, found where its own frond put it — a provider lands in
|
|
283
|
+
* its frond's scope, and the app container sees none of them.
|
|
284
|
+
*/
|
|
285
|
+
const journalOf = () => {
|
|
286
|
+
for (const frond of fronds) {
|
|
287
|
+
if (!frond.brought)
|
|
288
|
+
continue;
|
|
289
|
+
const scope = container.resolve(`frond:${frond.name}`);
|
|
290
|
+
if (scope.has(JOURNAL))
|
|
291
|
+
return scope.resolve(JOURNAL);
|
|
292
|
+
}
|
|
293
|
+
return undefined;
|
|
294
|
+
};
|
|
295
|
+
const hosting = {
|
|
296
|
+
hostedHere: (entity) => !(options.remotes && (frondOf.get(entity) ?? '') in options.remotes),
|
|
297
|
+
sourceOf: (name) => options.sourceOf?.(name) ?? 'db',
|
|
298
|
+
enforces: (source, constraint) => options.enforces?.(source, constraint) ?? false,
|
|
299
|
+
storageOf: storageFor,
|
|
300
|
+
entities: () => entityByName,
|
|
301
|
+
// The two readings core serves in EVERY process, asked of the one that holds the rows.
|
|
302
|
+
// Nothing is cached: a peer that was down at boot answers the next call.
|
|
303
|
+
// Built from `remotes:` itself, not from the router: the router indexes by ENTITY, read
|
|
304
|
+
// off a card, and the question here is asked of a PROCESS about rows it may be alone
|
|
305
|
+
// in knowing about.
|
|
306
|
+
// Resolved per call and never at boot: the package that registers it rises in the
|
|
307
|
+
// ascent, long after this answer is built.
|
|
308
|
+
journal: (entity) => (carriesRelease.has(entity) ? undefined : journalOf()),
|
|
309
|
+
peers: () => (options.remoteTransport
|
|
310
|
+
? declaredRemotes.map(([, url]) => peerOver(options.remoteTransport(url)))
|
|
311
|
+
: []),
|
|
312
|
+
peerOf: (entity) => (remoteRouter ? {
|
|
313
|
+
dependents: async (named) => (await remoteRouter.route(entity))
|
|
314
|
+
.transport({ entity: RPC_ENTITY, op: 'dependents' }, { ...Invocation.empty, params: { entity: named } }),
|
|
315
|
+
missing: async (named, keys) => {
|
|
316
|
+
const answer = await (await remoteRouter.route(entity))
|
|
317
|
+
.transport({ entity: RPC_ENTITY, op: 'holds' }, { ...Invocation.empty, params: { entity: named, keys } });
|
|
318
|
+
return answer.missing;
|
|
319
|
+
},
|
|
320
|
+
release: async (named, key) => {
|
|
321
|
+
const route = await remoteRouter.route(entity);
|
|
322
|
+
await route.transport({ entity: RPC_ENTITY, op: 'release' }, { ...Invocation.empty, params: { entity: named, key } });
|
|
323
|
+
},
|
|
324
|
+
} : undefined),
|
|
325
|
+
};
|
|
235
326
|
// Every port an implementation was bound to, so a `ports:` entry that named none
|
|
236
327
|
// can say so rather than look obeyed.
|
|
237
328
|
const boundPorts = new Set();
|
|
@@ -240,11 +331,33 @@ export async function createApp(options) {
|
|
|
240
331
|
// table, one emission list — so what a frond serves is there for the next one to find.
|
|
241
332
|
const assembly = {
|
|
242
333
|
container, routeRegistry, emissions, dispatcher, localDispatcher, effectiveByKey,
|
|
243
|
-
boundPorts, operationModel, entityByName, frondOf, contractsOf,
|
|
244
|
-
log, options,
|
|
334
|
+
boundPorts, refused, relations, hosting, operationModel, entityByName, frondOf, contractsOf,
|
|
335
|
+
getMiddlewares, use, log, options,
|
|
245
336
|
};
|
|
246
337
|
for (const frond of fronds)
|
|
247
338
|
await installFrond(frond, assembly);
|
|
339
|
+
// A reference no key holds and no storage answers: said at the END, for the reason the
|
|
340
|
+
// `ports:` warning below is — a target is another frond's, so no single frond can tell
|
|
341
|
+
// an absence from a neighbour that had not been installed yet.
|
|
342
|
+
const unheld = unheldAmong(relations, hosting);
|
|
343
|
+
// Declared here, and this process cannot finish what it starts — both halves are local,
|
|
344
|
+
// so nothing is asked of anyone. Said once, after every frond installed, because a journal
|
|
345
|
+
// arrives with an extension and an extension rises last.
|
|
346
|
+
const unfinished = unfinishable(hosting);
|
|
347
|
+
if (unfinished.length > 0) {
|
|
348
|
+
log.warn(`[relations] ${unfinished.join(', ')} — declared, and this process keeps nothing on `
|
|
349
|
+
+ 'restart: a release interrupted here is not resumed. Install @fougere/workflow, or '
|
|
350
|
+
+ 'expect to finish one by hand.');
|
|
351
|
+
}
|
|
352
|
+
if (unheld.length > 0) {
|
|
353
|
+
log.warn(`[relations] ${unheld.join(', ')} — declared, and nothing in this process holds them: `
|
|
354
|
+
+ 'no foreign key, and the target answers elsewhere. A row may name one that is gone.');
|
|
355
|
+
}
|
|
356
|
+
// Every check of the install, said at once — a boot that stops at the first makes the
|
|
357
|
+
// next one visible only after a fix and a restart.
|
|
358
|
+
const bootRefusal = refusalOf(refused, 'declaration(s) that do not hold');
|
|
359
|
+
if (bootRefusal)
|
|
360
|
+
throw bootRefusal;
|
|
248
361
|
// A `ports:` key that matched no port anywhere reads as a choice that was made, and
|
|
249
362
|
// was not. Said once, at the end, because the entry is app-wide while a port is a
|
|
250
363
|
// frond's — no single frond can tell whether a key is a typo or a neighbour's.
|
|
@@ -253,13 +366,18 @@ export async function createApp(options) {
|
|
|
253
366
|
log.warn(`[ports] ${unused.join(', ')} — named in fougere.config.ts, but no scanned class extends `
|
|
254
367
|
+ 'them, so nothing was chosen. Check the spelling, or drop the entry.');
|
|
255
368
|
}
|
|
256
|
-
// Once every
|
|
369
|
+
// Once every facade exists: what is announced here and what is listened to are both known.
|
|
257
370
|
emissions.register();
|
|
258
|
-
//
|
|
371
|
+
// The third phase: what a fact's links and its answer type state. Said after `register`,
|
|
372
|
+
// which is where a pipe order and an `Emit<T, A>` are read.
|
|
373
|
+
const announced = refusalOf(refused, 'declaration(s) that do not hold');
|
|
374
|
+
if (announced)
|
|
375
|
+
throw announced;
|
|
376
|
+
// Which facades carry a line, read from who SUBSCRIBED — so a third party's destination
|
|
259
377
|
// is left alone by the two middlewares that observe every operation.
|
|
260
|
-
for (const
|
|
261
|
-
CARRIES_LINE.add(
|
|
262
|
-
CARRIES_LINE.add(
|
|
378
|
+
for (const facade of emissions.facadesFor(LOG_LINE)) {
|
|
379
|
+
CARRIES_LINE.add(facade.replace(/Handler$/, '').replace(/^./, (c) => c.toLowerCase()));
|
|
380
|
+
CARRIES_LINE.add(facade);
|
|
263
381
|
}
|
|
264
382
|
/** The last resort, held by the container so every resolution path shares it. */
|
|
265
383
|
container.setFallback?.((name) => {
|
|
@@ -303,7 +421,7 @@ export async function createApp(options) {
|
|
|
303
421
|
return found.entityClass;
|
|
304
422
|
if (remoteRouter) {
|
|
305
423
|
const route = await remoteRouter.route(entity);
|
|
306
|
-
// A remote
|
|
424
|
+
// A remote facade that stores nothing publishes ops and no shape. Saying so beats
|
|
307
425
|
// handing back an empty schema, which would validate every input it was given.
|
|
308
426
|
if (!route.schema) {
|
|
309
427
|
throw new Error(`'${entity}' is served by frond '${route.frond}' but stores no rows, so it has no schema. `
|
|
@@ -323,11 +441,11 @@ export async function createApp(options) {
|
|
|
323
441
|
return undefined;
|
|
324
442
|
}
|
|
325
443
|
};
|
|
326
|
-
/** Said once per pair, so a
|
|
444
|
+
/** Said once per pair, so a facade that registers in a loop says it once. */
|
|
327
445
|
const saidAbsent = new Set();
|
|
328
446
|
/**
|
|
329
447
|
* A surface is declared in the frond that serves it. When that frond runs in another
|
|
330
|
-
* process, this one never asked for its
|
|
448
|
+
* process, this one never asked for its facades, and answering 'no' is the only thing a
|
|
331
449
|
* synchronous rule can do — so it says so rather than registering nothing in silence.
|
|
332
450
|
*/
|
|
333
451
|
const sayNoSurfaceAcross = (entity, surface) => {
|
|
@@ -335,8 +453,8 @@ export async function createApp(options) {
|
|
|
335
453
|
return;
|
|
336
454
|
saidAbsent.add(`${surface}:${entity}`);
|
|
337
455
|
log.warn(`surface '${surface}' serves nothing for '${entity}' — the frond that declares it runs `
|
|
338
|
-
+ 'elsewhere, and a remote is asked for its
|
|
339
|
-
+ 'The default
|
|
456
|
+
+ 'elsewhere, and a remote is asked for its facades at the first call, not at boot. '
|
|
457
|
+
+ 'The default facade answers.');
|
|
340
458
|
};
|
|
341
459
|
/** THE membership rule, stated once — every projection reads this and nothing else. */
|
|
342
460
|
const facadeFor = (entity, surface) => {
|
|
@@ -371,7 +489,7 @@ export async function createApp(options) {
|
|
|
371
489
|
return facade;
|
|
372
490
|
}));
|
|
373
491
|
}
|
|
374
|
-
/** The terms beside a
|
|
492
|
+
/** The terms beside a facade, with the exact same named-surface fallback rule. */
|
|
375
493
|
const operationsFor = (entity, surface) => {
|
|
376
494
|
if (!surface)
|
|
377
495
|
return effectiveByKey.get(facadeKeyOf(entity));
|
|
@@ -383,22 +501,6 @@ export async function createApp(options) {
|
|
|
383
501
|
? (own ?? effectiveByKey.get(facadeKeyOf(entity)))
|
|
384
502
|
: undefined;
|
|
385
503
|
};
|
|
386
|
-
/**
|
|
387
|
-
* The storage an entity is backed by — the dual of `facadeFor`, which serves its client-facing
|
|
388
|
-
* door.
|
|
389
|
-
*/
|
|
390
|
-
const storageFor = (entity) => {
|
|
391
|
-
const owner = fronds.owner(entity);
|
|
392
|
-
if (!owner)
|
|
393
|
-
return undefined;
|
|
394
|
-
const key = storageKeyOf(entity);
|
|
395
|
-
try {
|
|
396
|
-
return container.resolve(`frond:${owner.name}`).resolve(key);
|
|
397
|
-
}
|
|
398
|
-
catch {
|
|
399
|
-
return undefined;
|
|
400
|
-
}
|
|
401
|
-
};
|
|
402
504
|
/** The presenter of an entity, resolved through its owning frond's scope. */
|
|
403
505
|
const presenterFor = (entity) => {
|
|
404
506
|
const owner = fronds.owner(entity);
|
|
@@ -414,7 +516,7 @@ export async function createApp(options) {
|
|
|
414
516
|
const app = {
|
|
415
517
|
container,
|
|
416
518
|
fronds,
|
|
417
|
-
// What this app publishes, straight from fougere.config.ts — the
|
|
519
|
+
// What this app publishes, straight from fougere.config.ts — the facades read it,
|
|
418
520
|
// so an undeclared adapter serves nothing whatever a host mounted.
|
|
419
521
|
adapters: options.adapters ?? {},
|
|
420
522
|
// Where a call goes, as DECLARED. Kept because a reader needs it beside what the
|
|
@@ -440,7 +542,8 @@ export async function createApp(options) {
|
|
|
440
542
|
// depend on wiring order, and `discover` is in here precisely so it cannot be taken.
|
|
441
543
|
const address = new RouteAddress({ entity: 'rpc', operation: op });
|
|
442
544
|
if (routeRegistry.find(address)) {
|
|
443
|
-
throw new Error(`rpc operation '${op}' is already served; a second declaration would depend on wiring order`
|
|
545
|
+
throw new Error(`[claim] rpc operation '${op}' is already served; a second declaration would depend on wiring order.\n`
|
|
546
|
+
+ ' Two extensions declare it — keep one out of `extensions:`.');
|
|
444
547
|
}
|
|
445
548
|
routeRegistry.register(new OperationRoute('system', address, (call) => answer(call.invocation, call.address.surface)));
|
|
446
549
|
},
|
|
@@ -457,13 +560,47 @@ export async function createApp(options) {
|
|
|
457
560
|
};
|
|
458
561
|
// The card is an rpc op like any other, so one registry answers and one refusal names
|
|
459
562
|
// what is served. A package's op is declared the same way, from outside.
|
|
563
|
+
// What a release is, resolved once and registered: a package that drives one asks for it
|
|
564
|
+
// by type, the way every other dependency is asked for.
|
|
565
|
+
container.registerValue('Releasing', releasing(hosting));
|
|
460
566
|
app.serveRpc('discover', (_invocation, surface) => identityCardOf(app, surface));
|
|
567
|
+
// What a release asks another process, and what it tells it to do. Served by EVERY process
|
|
568
|
+
// the way `discover` is: a frond that hosts rows is the only one that can answer for them.
|
|
569
|
+
//
|
|
570
|
+
// Read off the STORAGE and never off a facade: a facade answers what its handler chose to
|
|
571
|
+
// show — `PostHandler.list` hands back published posts — so a draft naming a deleted user
|
|
572
|
+
// would be invisible to the very question that exists to find it.
|
|
573
|
+
// The dual of `release`, and the same reason it is served by every process: only the one
|
|
574
|
+
// that holds the rows can say a key is missing, and only from the STORAGE — a facade
|
|
575
|
+
// answers what its handler chose to show.
|
|
576
|
+
app.serveRpc('holds', async (invocation) => {
|
|
577
|
+
const named = String(invocation.params.entity);
|
|
578
|
+
const keys = (invocation.params.keys ?? []);
|
|
579
|
+
const rows = storageFor(named);
|
|
580
|
+
if (!rows)
|
|
581
|
+
return { missing: [] };
|
|
582
|
+
const found = await rows.findByKeys(keys.map(String));
|
|
583
|
+
return { missing: keys.filter((key) => !found.has(String(key))) };
|
|
584
|
+
});
|
|
585
|
+
app.serveRpc('dependents', (invocation) => dependentsOf(String(invocation.params.entity), hosting));
|
|
586
|
+
app.serveRpc('release', async (invocation) => {
|
|
587
|
+
await releaseRow(String(invocation.params.entity), invocation.params.key, releasing(hosting), (invocation.params.visited ?? []));
|
|
588
|
+
return { released: true };
|
|
589
|
+
});
|
|
461
590
|
// The last thing the boot does, and the first thing a release undoes. An extension may
|
|
462
591
|
// await here — which is what a provider needing to OPEN something could never do.
|
|
463
592
|
built = app;
|
|
593
|
+
// What the FRONDS declared, folded in after what the host handed over — a frond's
|
|
594
|
+
// extension is written beside the code it instruments and travels with it, so it mounts
|
|
595
|
+
// on whichever process ends up serving that frond. Added here rather than at the top
|
|
596
|
+
// because the fronds are read below that line, and `up` has not run yet.
|
|
597
|
+
appLifecycle.add(...fronds.flatMap((frond) => (frond.extensions ?? []).map((one) => ({
|
|
598
|
+
name: one.name,
|
|
599
|
+
...one.extension,
|
|
600
|
+
}))));
|
|
464
601
|
await appLifecycle.up(app);
|
|
465
602
|
// The boot's own lines, and every line after them. Held until here because a boot
|
|
466
|
-
// writes most of what a process logs and writes it before any
|
|
603
|
+
// writes most of what a process logs and writes it before any facade exists — so the
|
|
467
604
|
// lines that say what this app is made of are the ones a destination would miss.
|
|
468
605
|
// `LogLine` is core's for this reason: naming it costs no optional package.
|
|
469
606
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/boot/bootstrap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/boot/bootstrap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAmB,MAAM,iBAAiB,CAAC;AAI9D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAiB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAgB,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAmB,MAAM,kBAAkB,CAAC;AAK9D,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,OAAO,EAAE,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAa,MAAM,iBAAiB,CAAC;AAEvD,iDAAiD;AACjD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAG3E,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,iFAAiF;AACjF,OAAO,EAAE,UAAU,EAAkB,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,wEAAwE;AACxE,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,EAAE,CACnC,cAAc,MAAM,oBAAoB;IACxC,YAAY,MAAM,sBAAsB;IACxC,uCAAuC,MAAM,kBAAkB,CAAC;AAElE,qFAAqF;AACrF,SAAS,SAAS,CAChB,MAAkF,EAClF,OAA2C,EAC3C,OAAqB;IAErB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEzC,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,IAAY,EAAE,QAAgB,EAAE,EAAE;QAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC;gBACX,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,iBAAiB;gBACvB,QAAQ;gBACR,KAAK;gBACL,OAAO,EAAE,GAAG;gBACZ,OAAO,EAAE,IAAI,KAAK,UAAU,KAAK,yBAAyB,GAAG,QAAQ,IAAI,iBAAiB;sBACtF,uFAAuF;sBACvF,wEAAwE;sBACxE,IAAI,KAAK,oBAAoB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG;aACpD,CAAC,CAAC;YAEH,OAAO;QACT,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,OAAO;YAAE,SAAS;QAC/C,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ;YAAE,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnI,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU;YAAE,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IACrI,CAAC;AACH,CAAC;AAED,uCAAuC;AACvC,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAyB;IACvD,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAE5C,mFAAmF;IACnF,sEAAsE;IACtE,wFAAwF;IACxF,qFAAqF;IACrF,gEAAgE;IAChE,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC,GAAG,CACzC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAC1B,OAAO,EAAE,EACT,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAC9B,CAAC;IACF,sFAAsF;IACtF,IAAI,KAAsB,CAAC;IAC3B,6EAA6E;IAC7E,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;IAC1B,uFAAuF;IACvF,IAAI,cAAwC,CAAC;IAE7C;;;OAGG;IACH,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;QACxC,wFAAwF;QACxF,sFAAsF;QACtF,oFAAoF;QACpF,kEAAkE;QAClE,MAAM,OAAO,GAAc,EAAE,CAAC;QAC9B,8EAA8E;QAC9E,cAAc,EAAE,EAAE,CAAC;QACnB,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,MAAM,GAAG;YACb,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE;YACzB,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE;SAC5B,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,KAAK,EAAE,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,kFAAkF;gBAClF,oEAAoE;gBACpE,IAAI,KAAK,YAAY,cAAc;oBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;;oBAC9D,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,qCAAqC,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,wEAAwE;QACxE,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAE9C,yEAAyE;QACzE,mFAAmF;QACnF,oFAAoF;QACpF,iFAAiF;QACjF,uBAAuB;QACvB,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAChE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;QAChE,GAAG,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAElD,sFAAsF;QACtF,yFAAyF;QACzF,kDAAkD;QAClD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACpC,sFAAsF;QACtF,uFAAuF;QACvF,iCAAiC;QACjC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;aACvC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,IAAI,EAAE,CAAC;aAC/C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,QAAQ,CAC5C,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAC/F,CAAC;QACF,uFAAuF;QACvF,yFAAyF;QACzF,wFAAwF;QACxF,yFAAyF;QACzF,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CACb,sFAAsF;kBACpF,qEAAqE;kBACrE,qCAAqC;kBACrC,kDAAkD,CACrD,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG,0BAA0B,CAAC,MAAM,EAAE;YACxD,WAAW;YACX,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC;QACtE,GAAG,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,MAAM,gBAAgB,MAAM,IAAI;cACpD,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,MAAM,iCAAiC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3F,4EAA4E;QAC5E,KAAK,MAAM,CAAC,IAAI,QAAQ;YAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACzE,KAAK,MAAM,CAAC,IAAI,WAAW;YAAE,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;gBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAEhG,qDAAqD;QACrD,MAAM,UAAU,GAAG,SAAS,CAAC,cAAc,CAAC,qBAAqB,EAAE,kCAAkC,CAAC,CAAC;QACvG,IAAI,UAAU;YAAE,MAAM,UAAU,CAAC;QAEjC,oFAAoF;QACpF,gFAAgF;QAChF,0DAA0D;QAC1D,IAAI,WAAoC,CAAC;QACzC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,4JAA4J,CAAC,CAAC;YAChL,CAAC;YACD,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAC,qGAAqG,CAAC,CAAC;YACzH,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACtC,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;gBACtC,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,cAAc,EAAE,OAAO,CAAC,cAAc;aACvC,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,2BAA2B,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,+FAA+F;QAC/F,6EAA6E;QAC7E,qFAAqF;QACrF,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC9D,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,mHAAmH,CACpH,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,eAAe;YACxE,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;YAClF,CAAC,CAAC,SAAS,CAAC;QAEd,qFAAqF;QACrF,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAEhC,2DAA2D;QAC3D,MAAM,iBAAiB,GAAoB,EAAE,CAAC;QAC9C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA2B,CAAC;QAC7D,yFAAyF;QACzF,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;QAC1C,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAC7C,OAAO,CAAC,iBAAiB,EACzB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CACzB,uBAAuB,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,EACrE,KAAK,CACN,CACF,CAAC;QACF,uFAAuF;QACvF,8DAA8D;QAC9D,MAAM,OAAO,GAAG,GAAwB,EAAE,CAAC,SAAS,EAAE,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAClG,MAAM,eAAe,GAAG,IAAI,UAAU,CACpC,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,IAAI,gBAAgB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAC9D,OAAO,CACR,CAAC;QAEF,SAAS,cAAc,CAAC,MAAc;YACpC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnD,OAAO,CAAC,GAAG,iBAAiB,EAAE,GAAG,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED;;;WAGG;QACH,SAAS,GAAG,CAAC,UAAyB,EAAE,MAAe;YACrD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACnC,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxB,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,4FAA4F;QAC5F,MAAM,OAAO,GAAiB,EAAE,CAAC;QACjC,MAAM,SAAS,GAAoB,EAAE,CAAC;QACtC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5C,yFAAyF;QACzF,kFAAkF;QAClF,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;QACtE,IAAI,OAAO;YAAE,MAAM,OAAO,CAAC;QAE3B,wFAAwF;QACxF,+CAA+C;QAC/C,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACtC,sFAAsF;QACtF,sFAAsF;QACtF,iFAAiF;QACjF,mEAAmE;QACnE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrE,oFAAoF;QACpF,kFAAkF;QAClF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAU,CAAC,CAAC,CAAC,CAAC;QACjG,mFAAmF;QACnF,wEAAwE;QACxE,MAAM,SAAS,GAAG,IAAI,SAAS,CAC7B,MAAM,EAAE,YAAY,EAAE,SAAS;QAC/B,mFAAmF;QACnF,IAAI,MAAM,CAAC,UAAU,CAAC,EACtB,OAAO,EACP,OAAO,CAAC,MAAM,CACf,CAAC;QACF,qFAAqF;QACrF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkC,CAAC;QAEjE,MAAM,WAAW,GAAG,CAAC,UAAkC,EAAiB,EAAE,CAAC,IAAI,GAAG,CAChF,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,SAA8B,CAAU,CAAC,CAC5F,CAAC;QAEF;;;WAGG;QACH,MAAM,UAAU,GAAG,CAAC,MAAc,EAAuB,EAAE;YACzD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK;gBAAE,OAAO,SAAS,CAAC;YAE7B,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC;gBACH,OAAO,SAAS,CAAC,OAAO,CAAY,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1E,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;QAEF,2FAA2F;QAC3F,2FAA2F;QAC3F,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACtF,CAAC;QAEF;;;WAGG;QACH,MAAM,SAAS,GAAG,GAAwB,EAAE;YAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,OAAO;oBAAE,SAAS;gBAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAY,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClE,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;oBAAE,OAAO,KAAK,CAAC,OAAO,CAAU,OAAO,CAAC,CAAC;YACjE,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QAEF,MAAM,OAAO,GAAY;YACvB,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC;YAC5F,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI;YACpD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,KAAK;YACjF,SAAS,EAAE,UAAU;YACrB,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY;YAC5B,uFAAuF;YACvF,yEAAyE;YACzE,wFAAwF;YACxF,qFAAqF;YACrF,oBAAoB;YACpB,kFAAkF;YAClF,2CAA2C;YAC3C,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YAC3E,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe;gBACnC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3E,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;gBAClC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;qBAC5D,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,EACjD,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAW,EAAE,CAAC;gBAChE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;oBAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;yBACpD,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAC5C,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAW,EAAE,CAAC,CAAC;oBAEvE,OAAQ,MAA0C,CAAC,OAAO,CAAC;gBAC7D,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;oBAC5B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC/C,MAAM,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,EACzD,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAW,EAAE,CAAC,CAAC;gBACtE,CAAC;aACF,CAAC,CAAC,CAAC,SAAS,CAAC;SACf,CAAC;QAEF,iFAAiF;QACjF,sCAAsC;QACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAErC,wBAAwB;QACxB,sFAAsF;QACtF,uFAAuF;QACvF,MAAM,QAAQ,GAAa;YACzB,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc;YAChF,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW;YAC3F,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO;SAClC,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,MAAM,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEhE,uFAAuF;QACvF,uFAAuF;QACvF,+DAA+D;QAC/D,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,wFAAwF;QACxF,2FAA2F;QAC3F,yDAAyD;QACzD,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,CACN,eAAe,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,iDAAiD;kBACnF,oFAAoF;kBACpF,+BAA+B,CAClC,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CACN,eAAe,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,uDAAuD;kBACrF,oFAAoF,CACvF,CAAC;QACJ,CAAC;QAED,sFAAsF;QACtF,mDAAmD;QACnD,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;QAC1E,IAAI,WAAW;YAAE,MAAM,WAAW,CAAC;QAEnC,oFAAoF;QACpF,kFAAkF;QAClF,+EAA+E;QAC/E,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACxF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CACN,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,8DAA8D;kBACxF,qEAAqE,CACxE,CAAC;QACJ,CAAC;QAED,2FAA2F;QAC3F,SAAS,CAAC,QAAQ,EAAE,CAAC;QAErB,yFAAyF;QACzF,4DAA4D;QAC5D,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,EAAE,iCAAiC,CAAC,CAAC;QACxE,IAAI,SAAS;YAAE,MAAM,SAAS,CAAC;QAE/B,wFAAwF;QACxF,qEAAqE;QACrE,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACvF,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;QAED,iFAAiF;QACjF,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,CAAC,YAAY;gBAAE,OAAO,SAAS,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YACtE,4EAA4E;YAC5E,kFAAkF;YAClF,sFAAsF;YACtF,iFAAiF;YACjF,OAAO,gBAAgB,CACrB,UAAU,EACV,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CACzC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,6EAA6E;QAC7E,MAAM,KAAK,GAAG,KAAK,EAAE,SAAkB,EAAiB,EAAE;YACxD,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,SAAS,KAAK,SAAS;gBAAE,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACxD,IAAI,KAAoC,CAAC;YACzC,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACnD,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;oBAC/B,KAAK,GAAG,UAAU,CAChB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,QAAQ,CAAC,KAAK,gCAAgC,SAAS,IAAI,CAAC,CAAC,EAC/F,SAAS,CACV,CAAC;gBACJ,CAAC,CAAC;aACH,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,CAAI,IAAY,EAAK,EAAE;YACrC,IAAI,CAAC;gBACH,OAAO,SAAS,CAAC,OAAO,CAAI,IAAI,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBACrE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC3D,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,KAAK,EAAE,MAAc,EAAuB,EAAE;YAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC,WAAW,CAAC;YACpC,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/C,kFAAkF;gBAClF,+EAA+E;gBAC/E,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CACb,IAAI,MAAM,yBAAyB,KAAK,CAAC,KAAK,6CAA6C;0BACzF,iDAAiD,CACpD,CAAC;gBACJ,CAAC;gBACD,OAAO,KAAK,CAAC,MAAM,CAAC;YACtB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,QAAiB,EAAwC,EAAE;YACxF,IAAI,CAAC;gBACH,OAAO,QAAQ;oBACb,CAAC,CAAC,OAAO,CAA2B,GAAG,CAAC;oBACxC,CAAC,CAAC,SAAS,CAAC,OAAO,CAA2B,GAAG,CAAC,CAAC;YACvD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;QAEF,6EAA6E;QAC7E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAErC;;;;WAIG;QACH,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,OAAe,EAAQ,EAAE;YACnE,IAAI,CAAC,YAAY,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,IAAI,MAAM,EAAE,CAAC;gBAAE,OAAO;YACpE,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,IAAI,MAAM,EAAE,CAAC,CAAC;YACvC,GAAG,CAAC,IAAI,CACN,YAAY,OAAO,yBAAyB,MAAM,sCAAsC;kBACtF,mFAAmF;kBACnF,6BAA6B,CAChC,CAAC;QACJ,CAAC,CAAC;QAEF,uFAAuF;QACvF,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,OAAgB,EAAwC,EAAE;YAC3F,IAAI,CAAC,OAAO;gBAAE,OAAO,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;YAEzD,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACpC,OAAO,GAAG,CAAC;YACb,CAAC;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ;gBAAE,OAAO,GAAG,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;gBAAE,OAAO,SAAS,CAAC;YACtF,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;YAEpB,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;YACtD,OAAO,QAAQ;gBACb,CAAC,CAAC,gBAAgB,CACd,eAAe,EACf,MAAM,EACN,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,OAAO,CACR;gBACH,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC,CAAC;QAEF,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoC,CAAC;YAClE,aAAa,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,EAAE;gBAChD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxC,IAAI,KAAK;oBAAE,OAAO,KAAK,CAAC;gBACxB,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;gBACxE,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAClC,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC,CAAC;QACN,CAAC;QAED,kFAAkF;QAClF,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,OAAgB,EAAsC,EAAE;YAC7F,IAAI,CAAC,OAAO;gBAAE,OAAO,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YAE7D,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ;gBAAE,OAAO,GAAG,CAAC;YAC1B,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,WAAW,EAAE,CAAC;gBACzE,CAAC,CAAC,CAAC,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;gBAClD,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC,CAAC;QAEF,6EAA6E;QAC7E,MAAM,YAAY,GAAG,CAAC,MAAc,EAAuB,EAAE;YAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK;gBAAE,OAAO,SAAS,CAAC;YAE7B,IAAI,CAAC;gBACH,OAAO,SAAS,CAAC,OAAO,CAAY,SAAS,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7F,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,GAAG,GAAQ;YACf,SAAS;YACT,MAAM;YACN,kFAAkF;YAClF,mEAAmE;YACnE,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;YAChC,iFAAiF;YACjF,oFAAoF;YACpF,uFAAuF;YACvF,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;YACtD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC7C,KAAK,EAAE,eAAe;YACtB,OAAO;YACP,SAAS;YACT,SAAS;YACT,aAAa;YACb,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE;YACtC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;YAC5D,UAAU;YACV,YAAY;YACZ,OAAO,EAAE,OAAO;YAChB,KAAK;YACL,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK;YAC9B,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO;YAC9B,QAAQ,CAAC,EAAU,EAAE,MAAiB;gBACpC,mFAAmF;gBACnF,qFAAqF;gBACrF,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;gBACnE,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBAChC,MAAM,IAAI,KAAK,CACb,0BAA0B,EAAE,2EAA2E;0BACrG,8DAA8D,CACjE,CAAC;gBACJ,CAAC;gBACD,aAAa,CAAC,QAAQ,CAAC,IAAI,cAAc,CACvC,QAAQ,EACR,OAAO,EACP,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CACxD,CAAC,CAAC;YACL,CAAC;YACD,UAAU,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE;YACtC,OAAO,CAAC,QAAQ;gBACd,OAAO,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzC,CAAC;YACD,GAAG,CAAC,GAAG,IAA+C;gBACpD,OAAO,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;oBAChC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAkB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;oBACxC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAkB,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,EAAE,WAAW;SAClB,CAAC;QAEF,sFAAsF;QACtF,yEAAyE;QACzE,yFAAyF;QACzF,wDAAwD;QACxD,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAEzD,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;QAEjF,2FAA2F;QAC3F,2FAA2F;QAC3F,EAAE;QACF,0FAA0F;QAC1F,0FAA0F;QAC1F,kEAAkE;QAClE,yFAAyF;QACzF,qFAAqF;QACrF,0CAA0C;QAC1C,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAuB,CAAC;YAClE,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAoF,CAAC;YAClH,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YAEtD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,EAAE,CACxC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YAC3C,MAAM,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,EAC1F,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAsB,CAAC,CAAC;YAE1D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,uFAAuF;QACvF,kFAAkF;QAClF,KAAK,GAAG,GAAG,CAAC;QAEZ,kFAAkF;QAClF,wFAAwF;QACxF,qFAAqF;QACrF,yEAAyE;QACzE,YAAY,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACnF,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,GAAG,GAAG,CAAC,SAAS;SACjB,CAAC,CAAC,CAAC,CAAC,CAAC;QAEN,MAAM,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAE3B,kFAAkF;QAClF,qFAAqF;QACrF,iFAAiF;QACjF,4EAA4E;QAC5E,EAAE;QACF,mFAAmF;QACnF,qFAAqF;QACrF,wFAAwF;QACxF,8EAA8E;QAC9E,mDAAmD;QACnD,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAgB,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACvE,gFAAgF;YAChF,kFAAkF;YAClF,mCAAmC;YACnC,cAAc,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,EAAa,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtG,CAAC;aAAM,CAAC;YACN,iFAAiF;YACjF,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,uFAAuF;QACvF,kFAAkF;QAClF,oFAAoF;QACpF,kFAAkF;QAClF,IAAI,CAAC;YACH,MAAM,OAAO,EAAE,CAAC;QAClB,CAAC;QAAC,OAAO,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,cAAc,CACtB,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,YAAY,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAC5E,kEAAmE,KAAe,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAC/G,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/boot/card.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { App } from './
|
|
2
|
-
import { type IdentityCard } from '../wire/
|
|
1
|
+
import type { App } from './App.js';
|
|
2
|
+
import { type IdentityCard } from '../wire/card/IdentityCard.js';
|
|
3
3
|
/** Serialize what the app hosts, for one audience. */
|
|
4
4
|
export declare function identityCardOf(app: App, surface?: string): IdentityCard;
|
|
5
5
|
//# sourceMappingURL=card.d.ts.map
|
package/dist/boot/card.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../src/boot/card.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../src/boot/card.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAIpC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAKjE,sDAAsD;AACtD,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,CA0CvE"}
|
package/dist/boot/card.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** What an app says about ITSELF — the `rpc.discover` answer, built from the app. */
|
|
2
2
|
import { Card } from '@fougere/schema';
|
|
3
|
-
import { factsAnnouncedBy } from '../wire/
|
|
4
|
-
import { facadeKeyOf } from '../wire/
|
|
3
|
+
import { factsAnnouncedBy } from '../wire/Emit.js';
|
|
4
|
+
import { facadeKeyOf } from '../wire/Facade.js';
|
|
5
5
|
/** Serialize what the app hosts, for one audience. */
|
|
6
6
|
export function identityCardOf(app, surface) {
|
|
7
7
|
const declared = app.fronds.schemas();
|
|
@@ -9,12 +9,12 @@ export function identityCardOf(app, surface) {
|
|
|
9
9
|
// What this app SERVES, never what instruments it. A frond an extension BROUGHT is a
|
|
10
10
|
// subscriber — `@fougere/calls` and `@fougere/observability` each bring one — and it is
|
|
11
11
|
// in every process that installed the extension, so two remotes then claimed the same
|
|
12
|
-
//
|
|
12
|
+
// facade and routing refused: `Two remotes serve 'export'`. `FrondDescriptor.brought` is
|
|
13
13
|
// the mark `calls`' panel and `rpc.topology` already read.
|
|
14
14
|
fronds: app.fronds.filter((frond) => !frond.brought).map((frond) => {
|
|
15
15
|
// What the frond answers to, not what it stores. This walked `frond.entities`, so a
|
|
16
16
|
// handler carrying no entity — a health check, a search across shapes — was built,
|
|
17
|
-
// served, and absent from the card: `sync` could not generate its
|
|
17
|
+
// served, and absent from the card: `sync` could not generate its facade and a remote
|
|
18
18
|
// consumer had no way to know it existed. The boot has said "pointing at nothing is
|
|
19
19
|
// legal" since handlers became the subject; the card had not caught up.
|
|
20
20
|
const byEntity = new Map(frond.entities.map((entity) => [entity.name, entity]));
|
|
@@ -24,7 +24,7 @@ export function identityCardOf(app, surface) {
|
|
|
24
24
|
])];
|
|
25
25
|
return {
|
|
26
26
|
name: frond.name,
|
|
27
|
-
|
|
27
|
+
facades: addresses.flatMap((address) => {
|
|
28
28
|
const ops = facadeOps(app, address, surface);
|
|
29
29
|
if (ops.length === 0)
|
|
30
30
|
return [];
|
|
@@ -32,7 +32,7 @@ export function identityCardOf(app, surface) {
|
|
|
32
32
|
return [{
|
|
33
33
|
name: address,
|
|
34
34
|
ops,
|
|
35
|
-
// Absent when nothing of that name is stored. A
|
|
35
|
+
// Absent when nothing of that name is stored. A facade is still a facade.
|
|
36
36
|
...(entity ? { schema: Card.fromSchema(entity.entityClass, address).descriptor } : {}),
|
|
37
37
|
}];
|
|
38
38
|
}),
|
|
@@ -56,12 +56,14 @@ function facadeOps(app, entityName, surface) {
|
|
|
56
56
|
// The façade is the list of names; the model is the resolved terms.
|
|
57
57
|
const effective = app.operationsFor(entityName, surface);
|
|
58
58
|
if (!effective) {
|
|
59
|
-
throw new Error(`Facade '${facadeKeyOf(entityName, surface)}' exists without an effective operation table
|
|
59
|
+
throw new Error(`Facade '${facadeKeyOf(entityName, surface)}' exists without an effective operation table. `
|
|
60
|
+
+ 'A facade and its table are built together, so no declaration can produce this.');
|
|
60
61
|
}
|
|
61
62
|
return Object.keys(facade).map((name) => {
|
|
62
63
|
const contract = effective.get(name);
|
|
63
64
|
if (!contract) {
|
|
64
|
-
throw new Error(`Facade '${facadeKeyOf(entityName, surface)}' serves '${name}' without an effective contract
|
|
65
|
+
throw new Error(`Facade '${facadeKeyOf(entityName, surface)}' serves '${name}' without an effective contract. `
|
|
66
|
+
+ 'A facade and its table are built together, so no declaration can produce this.');
|
|
65
67
|
}
|
|
66
68
|
return {
|
|
67
69
|
name,
|
|
@@ -69,6 +71,7 @@ function facadeOps(app, entityName, surface) {
|
|
|
69
71
|
...(contract?.input && { input: Card.fromSchema(contract.input, name).descriptor }),
|
|
70
72
|
...(contract?.output && { output: Card.fromSchema(contract.output, name).descriptor }),
|
|
71
73
|
...(contract?.cardinality && { cardinality: contract.cardinality }),
|
|
74
|
+
...(contract.errors?.length ? { errors: contract.errors } : {}),
|
|
72
75
|
kind: contract.kind,
|
|
73
76
|
};
|
|
74
77
|
});
|
package/dist/boot/card.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/boot/card.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/boot/card.ts"],"names":[],"mappings":"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"}
|