@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
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { OperationContract } from '../wire/OperationContract.js';
|
|
2
|
+
import type { ProviderEntry } from './ProviderEntry.js';
|
|
3
|
+
import type { EntityEntry } from './EntityEntry.js';
|
|
4
|
+
import type { HandlerEntry } from './HandlerEntry.js';
|
|
5
|
+
import type { PresenterEntry } from './PresenterEntry.js';
|
|
6
|
+
import type { CollectorEntry } from './CollectorEntry.js';
|
|
7
|
+
import type { MiddlewareEntry } from './MiddlewareEntry.js';
|
|
8
|
+
import type { SeedEntry } from './SeedEntry.js';
|
|
9
|
+
import type { FrondSource } from './FrondSource.js';
|
|
10
|
+
import type { ExtensionEntry } from './ExtensionEntry.js';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* The key a provider answers under. What the source said, and the class's own name only
|
|
14
|
+
* where nobody wrote it down — a statement is read as code, and code can say it.
|
|
15
|
+
*/
|
|
16
|
+
export const nameOf = (provider: ProviderEntry): string => provider.name ?? provider.ctor.name;
|
|
17
|
+
|
|
18
|
+
export interface FrondDescriptor {
|
|
19
|
+
name: string;
|
|
20
|
+
source: FrondSource;
|
|
21
|
+
providers: ProviderEntry[];
|
|
22
|
+
entities: EntityEntry[];
|
|
23
|
+
handlers: HandlerEntry[];
|
|
24
|
+
presenters: PresenterEntry[];
|
|
25
|
+
collectors: CollectorEntry[];
|
|
26
|
+
seeds: SeedEntry[];
|
|
27
|
+
middlewares: MiddlewareEntry[];
|
|
28
|
+
/** What this frond mounts on the process that serves it. Absent when it declares none. */
|
|
29
|
+
extensions?: ExtensionEntry[];
|
|
30
|
+
/**
|
|
31
|
+
* Brought by an EXTENSION rather than by the app — `@fougere/calls` keeping its lines,
|
|
32
|
+
* `@fougere/observability` sending them on. It is installed like any other, and it is not
|
|
33
|
+
* what the app SERVES: a report that lists it describes the instrumentation, not the
|
|
34
|
+
* domain. Set by the boot, never by a declaration.
|
|
35
|
+
*/
|
|
36
|
+
brought?: true;
|
|
37
|
+
/** The ops that finish a fact, in order — see `FrondConfig.pipes`. */
|
|
38
|
+
pipes?: Record<string, string[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Per-surface entity lists from frond.config.ts (e.g. { graphql: ['Post'], rest: ['Post',
|
|
41
|
+
* 'Author'] }).
|
|
42
|
+
*/
|
|
43
|
+
surfaces?: Record<string, string[]>;
|
|
44
|
+
/** Entities this frond may read across sources — see `FrondConfig.reads`. */
|
|
45
|
+
reads?: string[];
|
|
46
|
+
/** Per-operation overrides from frond.config.ts. */
|
|
47
|
+
operationsOverrides?: Record<string, OperationContract & {
|
|
48
|
+
kind?: 'query' | 'command';
|
|
49
|
+
/** Class name to resolve from DI (overrides default `{Entity}Handler` lookup). */
|
|
50
|
+
handlerName?: string;
|
|
51
|
+
/** Method name on the resolved handler (defaults to op name). */
|
|
52
|
+
method?: string;
|
|
53
|
+
/** The GraphQL root field this op answers to — read by `adapter/graphql`. */
|
|
54
|
+
graphql?: string;
|
|
55
|
+
/** Where it answers over REST — read by `adapter/rest`, the dual of `graphql`. */
|
|
56
|
+
rest?: { method?: string; path?: string; status?: number };
|
|
57
|
+
}>;
|
|
58
|
+
}
|
package/src/descriptor/Fronds.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { SchemaView } from '@fougere/schema';
|
|
2
|
-
import type { EntityEntry
|
|
2
|
+
import type { EntityEntry } from './EntityEntry.js';
|
|
3
|
+
import type { FrondDescriptor } from './FrondDescriptor.js';
|
|
3
4
|
|
|
4
5
|
/** What this app hosts, with the questions everyone was asking it by hand. */
|
|
5
6
|
export class Fronds extends Array<FrondDescriptor> {
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { SchemaView } from '@fougere/schema';
|
|
2
|
+
import type { OperationsMap } from '../wire/OperationsMap.js';
|
|
3
|
+
|
|
4
|
+
/** A discovered handler (controls what a service exposes). */
|
|
5
|
+
export interface HandlerEntry {
|
|
6
|
+
/** Registration key (e.g. 'postHandler'). */
|
|
7
|
+
name: string;
|
|
8
|
+
/**
|
|
9
|
+
* The name this handler answers to — its class name minus `Handler`, lowercased (`PostHandler` →
|
|
10
|
+
* `post`).
|
|
11
|
+
*/
|
|
12
|
+
address: string;
|
|
13
|
+
/** The handler class. */
|
|
14
|
+
ctor: new (...args: never[]) => unknown;
|
|
15
|
+
/** All operations with full signatures for binding. */
|
|
16
|
+
operations: OperationsMap;
|
|
17
|
+
/** Constructor dependency type names (from AST scan). */
|
|
18
|
+
deps: string[];
|
|
19
|
+
/** Absolute file path (for debugging). */
|
|
20
|
+
filePath: string;
|
|
21
|
+
/** Whether this handler is part of the frond's public contract. */
|
|
22
|
+
exposed?: boolean;
|
|
23
|
+
/** Output schema override — when Crud(Entity, Output), restricts storage output. */
|
|
24
|
+
outputOverride?: SchemaView;
|
|
25
|
+
/** Surface name — subdirectory in handlers/ (e.g. 'admin', 'public'). */
|
|
26
|
+
surface?: string;
|
|
27
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A discovered middleware — a class declaring `around(ctx, next)`, which runs before and
|
|
3
|
+
* after every operation in its scope.
|
|
4
|
+
*/
|
|
5
|
+
export interface MiddlewareEntry {
|
|
6
|
+
/** Class name — what `frond.config.ts` addresses to widen the scope. */
|
|
7
|
+
name: string;
|
|
8
|
+
/** The middleware class. */
|
|
9
|
+
ctor: new (...args: never[]) => unknown;
|
|
10
|
+
/** How far it reaches: its own frond's entities, or every operation in the process. */
|
|
11
|
+
scope: 'frond' | 'app';
|
|
12
|
+
/** Constructor dependency type names (from AST scan). */
|
|
13
|
+
deps: string[];
|
|
14
|
+
/** Absolute file path (for debugging). */
|
|
15
|
+
filePath: string;
|
|
16
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { PresenterViews } from '../prefab/presenter.js';
|
|
2
|
+
import type { PresenterFieldMeta } from './PresenterFieldMeta.js';
|
|
3
|
+
|
|
4
|
+
/** A discovered presenter (computed fields for an entity's output). */
|
|
5
|
+
export interface PresenterEntry {
|
|
6
|
+
/** Entity name this presenter enriches (e.g. 'post' from PostPresenter). */
|
|
7
|
+
entityName: string;
|
|
8
|
+
/** The presenter class. */
|
|
9
|
+
ctor: new (...args: never[]) => unknown;
|
|
10
|
+
/** Computed field names (method names on prototype). */
|
|
11
|
+
fields: string[];
|
|
12
|
+
/** Per-field type metadata (inferred from source via parser). */
|
|
13
|
+
fieldMeta: PresenterFieldMeta[];
|
|
14
|
+
/**
|
|
15
|
+
* The view each computed field emits, when the presenter declares one (`Presenter(Order, {
|
|
16
|
+
* items: [OrderItemView] })`).
|
|
17
|
+
*/
|
|
18
|
+
views?: PresenterViews;
|
|
19
|
+
/** Constructor dependency type names (from AST scan). */
|
|
20
|
+
deps: string[];
|
|
21
|
+
/** Absolute file path (for debugging). */
|
|
22
|
+
filePath: string;
|
|
23
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Param } from '../wire/Param.js';
|
|
2
|
+
|
|
3
|
+
/** Return type metadata for a presenter computed field. */
|
|
4
|
+
export interface PresenterFieldMeta {
|
|
5
|
+
name: string;
|
|
6
|
+
/** Inferred return type name: 'string', 'number', 'boolean', or a class name. */
|
|
7
|
+
returnType?: string;
|
|
8
|
+
/** The field emits a LIST per row — `tags(posts: Post[]): string[][]`. */
|
|
9
|
+
list?: boolean;
|
|
10
|
+
/** Whether the return is nullable. */
|
|
11
|
+
nullable?: boolean;
|
|
12
|
+
/** The declared parameters AFTER the rows. */
|
|
13
|
+
params?: Param[];
|
|
14
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** A discovered provider — a class under `services/` or `repositories/`, injected by type. */
|
|
2
|
+
export interface ProviderEntry {
|
|
3
|
+
/**
|
|
4
|
+
* The container key — the class name as the SOURCE spells it.
|
|
5
|
+
*
|
|
6
|
+
* Read at boot off `ctor.name` for a decade of no consequence, until a bundler lowered
|
|
7
|
+
* a `static readonly` field and renamed the declaration doing it: the provider
|
|
8
|
+
* registered as `_Communes` and the handler asking for `Communes` got a container miss.
|
|
9
|
+
* A name a tool may rewrite is written down, for the same reason `deps` is.
|
|
10
|
+
*/
|
|
11
|
+
name?: string;
|
|
12
|
+
/** The class constructor (default export of the file). */
|
|
13
|
+
ctor: new (...args: never[]) => unknown;
|
|
14
|
+
/** Constructor dependency type names (from AST scan). */
|
|
15
|
+
deps: string[];
|
|
16
|
+
/** Absolute file path (for debugging). */
|
|
17
|
+
filePath: string;
|
|
18
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SeedFactory } from './SeedFactory.js';
|
|
2
|
+
|
|
3
|
+
/** A discovered seed file (array of records or async factory). */
|
|
4
|
+
export interface SeedEntry {
|
|
5
|
+
/** Entity name this seed targets (from filename: Author.seed.ts → 'author'). */
|
|
6
|
+
entityName: string;
|
|
7
|
+
/** Raw default export — array or function. Resolved at runtime. */
|
|
8
|
+
data: Record<string, unknown>[] | SeedFactory;
|
|
9
|
+
/** Absolute file path (for debugging). */
|
|
10
|
+
filePath: string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type ProviderEntry } from './ProviderEntry.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Port class name → the classes that extend it, in scan order.
|
|
5
|
+
*
|
|
6
|
+
* ONE condition, and the caller owns it: something already answers under that name. The boot
|
|
7
|
+
* asks its container, where the providers sit in the frond's scope and the builtins in its
|
|
8
|
+
* parent — so a neighbour service and `Logger` both count, a framework class being a port like
|
|
9
|
+
* any other, which is what makes a default overridable.
|
|
10
|
+
*
|
|
11
|
+
* It is also what excludes a prefab: a repository extends the class `Repository(Post)`
|
|
12
|
+
* returned (`RepositoryBase`), and no key is ever that name.
|
|
13
|
+
*
|
|
14
|
+
* Read twice, which is why it is stated once: the boot binds against it, and the scan emits
|
|
15
|
+
* the same relation as types so a config cannot name a class that does not answer the port.
|
|
16
|
+
*/
|
|
17
|
+
export function basesOf(
|
|
18
|
+
providers: ProviderEntry[],
|
|
19
|
+
answers: (name: string) => boolean,
|
|
20
|
+
): Map<string, ProviderEntry[]> {
|
|
21
|
+
const bases = new Map<string, ProviderEntry[]>();
|
|
22
|
+
for (const provider of providers) {
|
|
23
|
+
const base = Object.getPrototypeOf(provider.ctor) as { name?: string } | null;
|
|
24
|
+
const port = base?.name;
|
|
25
|
+
if (!port || !answers(port)) continue;
|
|
26
|
+
bases.set(port, [...(bases.get(port) ?? []), provider]);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return bases;
|
|
30
|
+
}
|
package/src/descriptor/index.ts
CHANGED
|
@@ -2,14 +2,32 @@
|
|
|
2
2
|
* What it takes to PRODUCE a descriptor — the surface a scan reads, whoever wrote it.
|
|
3
3
|
* The main entry serves what an app RUNS; this one serves what fills it in.
|
|
4
4
|
*/
|
|
5
|
-
export * from './
|
|
5
|
+
export * from './ProviderEntry.js';
|
|
6
|
+
export * from './EntityEntry.js';
|
|
7
|
+
export * from './HandlerEntry.js';
|
|
8
|
+
export * from './PresenterFieldMeta.js';
|
|
9
|
+
export * from './PresenterEntry.js';
|
|
10
|
+
export * from './CollectorEntry.js';
|
|
11
|
+
export * from './MiddlewareEntry.js';
|
|
12
|
+
export * from './SeedEntry.js';
|
|
13
|
+
export * from './SeedFactory.js';
|
|
14
|
+
export * from './FrondSource.js';
|
|
15
|
+
export * from './ExtensionEntry.js';
|
|
16
|
+
export * from './FrondDescriptor.js';
|
|
6
17
|
export { Fronds } from './Fronds.js';
|
|
7
18
|
|
|
8
|
-
export { cardinalityOf, type OperationContract
|
|
19
|
+
export { cardinalityOf, type OperationContract } from '../wire/OperationContract.js';
|
|
20
|
+
export { type OperationsMap } from '../wire/OperationsMap.js';
|
|
21
|
+
export { type Param } from '../wire/Param.js';
|
|
22
|
+
export { type TypeRef } from '../wire/TypeRef.js';
|
|
9
23
|
export { computeBindingPlan, type BindingPlan } from '../wire/binding.js';
|
|
10
|
-
export type { Signature } from '../wire/
|
|
11
|
-
export {
|
|
12
|
-
export { storageKeyOf } from '../storage/
|
|
24
|
+
export type { Signature } from '../wire/Signature.js';
|
|
25
|
+
export { awaitKeyOf, emitKeyOf } from '../wire/Emit.js';
|
|
26
|
+
export { storageKeyOf } from '../storage/Storage.js';
|
|
13
27
|
export { getPresenterFields } from '../prefab/presenter.js';
|
|
14
28
|
export { targetOf, viewsOf, outputOf } from '../prefab/prefab.js';
|
|
15
|
-
export { ownedBy, repositoryKeyOf } from '../prefab/
|
|
29
|
+
export { ownedBy, repositoryKeyOf } from '../prefab/RepositoryConstructor.js';
|
|
30
|
+
|
|
31
|
+
// The surfaces a handler answers on — a directory names one, and so does `frond.config.ts`.
|
|
32
|
+
export { servedSurfaces } from './surface.js';
|
|
33
|
+
export { basesOf } from './bases.js';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { FrondDescriptor
|
|
1
|
+
import type { FrondDescriptor } from './FrondDescriptor.js';
|
|
2
|
+
import type { HandlerEntry } from './HandlerEntry.js';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* The surfaces a handler answers on — its own when it has one, otherwise the default
|
|
5
|
-
* and every surface that names its address without opening a
|
|
6
|
+
* and every surface that names its address without opening a facade of its own.
|
|
6
7
|
* `undefined` is the default surface, as `facadeKeyOf` and `RouteAddress` spell it.
|
|
7
8
|
*/
|
|
8
9
|
export function servedSurfaces(
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One thing that does not hold, in the terms of whoever has to fix it — raised by the scan,
|
|
3
|
+
* by a boot rule, or by `fougere check`, which is why it belongs to no phase.
|
|
4
|
+
*/
|
|
5
|
+
export interface Diagnostic {
|
|
6
|
+
/**
|
|
7
|
+
* `blocking` — the app now serves less than its source declares, and no caller can know it: a
|
|
8
|
+
* handler that failed to parse contributes zero operations.
|
|
9
|
+
*/
|
|
10
|
+
severity: 'blocking' | 'warning';
|
|
11
|
+
/** Stable rule name — `handler-parse-failed`, `directory-unreadable`. */
|
|
12
|
+
code: string;
|
|
13
|
+
/** Where to go and look. */
|
|
14
|
+
filePath: string;
|
|
15
|
+
/** The frond it belongs to, when whoever raised it got far enough to know. */
|
|
16
|
+
frond?: string;
|
|
17
|
+
/**
|
|
18
|
+
* What the diagnostic is ABOUT — `PostHandler.publish` — when the rule holds it as a fact
|
|
19
|
+
* rather than inside its sentence. Two ops of one handler breaking the same rule read as
|
|
20
|
+
* one repeated line without it.
|
|
21
|
+
*/
|
|
22
|
+
subject?: string;
|
|
23
|
+
/** What does not hold, and what it costs. One sentence, for a human. */
|
|
24
|
+
message: string;
|
|
25
|
+
/** The underlying failure, kept whole. */
|
|
26
|
+
cause?: unknown;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Every blocking diagnostic in ONE refusal, so a boot names all of them rather than the
|
|
31
|
+
* first — the shape `fougere check` renders, read back by whoever has to fix it.
|
|
32
|
+
*/
|
|
33
|
+
export function refusalOf(diagnostics: readonly Diagnostic[], what: string): Error | undefined {
|
|
34
|
+
const blocking = diagnostics.filter((one) => one.severity === 'blocking');
|
|
35
|
+
if (blocking.length === 0) return undefined;
|
|
36
|
+
|
|
37
|
+
const lines = blocking.map((one) =>
|
|
38
|
+
` [${one.code}]${one.subject ? ` ${one.subject}` : ''}\n ${one.message}\n ${one.filePath}`);
|
|
39
|
+
|
|
40
|
+
return new Error(`Fougere boot refused: ${blocking.length} ${what}:\n${lines.join('\n')}`);
|
|
41
|
+
}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
import type { InvocationContext } from '../wire/
|
|
1
|
+
import type { InvocationContext } from '../wire/InvocationContext.js';
|
|
2
2
|
import type { BindingPlan } from '../wire/binding.js';
|
|
3
|
-
|
|
4
|
-
export interface CollectorResolver {
|
|
5
|
-
collect(ctx: InvocationContext): Promise<unknown>;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export type CollectorLookup = (typeName: string) => CollectorResolver | undefined;
|
|
3
|
+
import type { CollectorLookup } from './CollectorLookup.js';
|
|
9
4
|
|
|
10
5
|
/** Resolves an operation's declared binding plan against one invocation. */
|
|
11
6
|
export class ArgumentResolver {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { OnDelete } from '@fougere/schema';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A `ref()` read from the TARGET's side: rows that name it, and what becomes of them.
|
|
5
|
+
*
|
|
6
|
+
* The dual of `RelationCheck`, which reads the same declaration from the child's side to judge
|
|
7
|
+
* a write. Only what no foreign key holds reaches here — a key answers at the rows, inside the
|
|
8
|
+
* delete's own transaction, and nothing in this process would see it happen.
|
|
9
|
+
*
|
|
10
|
+
* Documented: [entities](https://fougere.dev/docs/schema/entities).
|
|
11
|
+
*/
|
|
12
|
+
export interface Dependent {
|
|
13
|
+
/** The entity whose rows name the target — `post`. */
|
|
14
|
+
entity: string;
|
|
15
|
+
/** The field carrying the key — `authorId`. */
|
|
16
|
+
field: string;
|
|
17
|
+
/** Unstated is `restrict`: what a foreign key does when nothing is said. */
|
|
18
|
+
onDelete: OnDelete;
|
|
19
|
+
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type { Call } from '../wire/
|
|
2
|
-
import type { RouteKind } from '../wire/
|
|
3
|
-
|
|
4
|
-
export type DispatchStage = 'received' | 'resolved' | 'completed' | 'failed' | 'settled';
|
|
1
|
+
import type { Call } from '../wire/Call.js';
|
|
2
|
+
import type { RouteKind } from '../wire/RouteKind.js';
|
|
3
|
+
import type { DispatchStage } from './DispatchStage.js';
|
|
5
4
|
|
|
6
5
|
/** Immutable transition observed across one dispatch lifecycle. */
|
|
7
6
|
export class DispatchEvent {
|
|
@@ -34,5 +33,3 @@ export class DispatchEvent {
|
|
|
34
33
|
return new DispatchEvent('settled', call, routeKind);
|
|
35
34
|
}
|
|
36
35
|
}
|
|
37
|
-
|
|
38
|
-
export type DispatchObserver = (event: DispatchEvent) => void;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { DispatchEvent
|
|
1
|
+
import type { DispatchEvent } from './DispatchEvent.js';
|
|
2
|
+
import type { DispatchObserver } from './DispatchObserver.js';
|
|
2
3
|
|
|
3
4
|
/** Publishes dispatch transitions without participating in dispatch decisions. */
|
|
4
5
|
export class DispatchLifecycle {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type DispatchStage = 'received' | 'resolved' | 'completed' | 'failed' | 'settled';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Call } from '../wire/
|
|
1
|
+
import type { Call } from '../wire/Call.js';
|
|
2
2
|
import { DispatchEvent } from './DispatchEvent.js';
|
|
3
3
|
import { DispatchLifecycle } from './DispatchLifecycle.js';
|
|
4
4
|
import type { DispatchPort } from './DispatchPort.js';
|
|
@@ -7,6 +7,7 @@ import type { RoutePolicy } from './RoutePolicy.js';
|
|
|
7
7
|
import { RouteRegistry } from './RouteRegistry.js';
|
|
8
8
|
import { routeNotFound, servedOperations } from './routeNotFound.js';
|
|
9
9
|
import type { InFlight } from './InFlight.js';
|
|
10
|
+
import type { Journal } from './Journal.js';
|
|
10
11
|
|
|
11
12
|
/** Resolves and executes every call through the same transverse lifecycle. */
|
|
12
13
|
export class Dispatcher implements DispatchPort {
|
|
@@ -15,22 +16,57 @@ export class Dispatcher implements DispatchPort {
|
|
|
15
16
|
private readonly inFlight: InFlight,
|
|
16
17
|
private readonly lifecycle = new DispatchLifecycle(),
|
|
17
18
|
private readonly policy?: RoutePolicy,
|
|
19
|
+
private readonly journalOf?: () => Journal | undefined,
|
|
18
20
|
) {}
|
|
19
21
|
|
|
22
|
+
/** The route that answers this address, or the refusal naming what is served instead. */
|
|
23
|
+
private async routeFor(call: Call): Promise<Route> {
|
|
24
|
+
const known = this.routes.find(call.address);
|
|
25
|
+
const resolved = known ?? await this.routes.resolve(call.address);
|
|
26
|
+
const route = resolved && (!this.policy || this.policy.accepts(resolved)) ? resolved : undefined;
|
|
27
|
+
if (!route) {
|
|
28
|
+
throw this.policy?.notFound?.(call, this.routes.routes())
|
|
29
|
+
?? routeNotFound(call, servedOperations(call, this.routes.routes(), this.policy));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return route;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* A kept call publishes no dispatch event and enters no flight: it has not been answered,
|
|
37
|
+
* and counting it here would report one call spanning the days until its hour.
|
|
38
|
+
*
|
|
39
|
+
* Its address is resolved all the same. What is kept is made hours later, by then against
|
|
40
|
+
* whatever the app still serves — so an address nothing answers is refused to the caller who
|
|
41
|
+
* can still fix it, rather than to a beat nobody is watching.
|
|
42
|
+
*/
|
|
43
|
+
private async keep(call: Call, runAt: number): Promise<undefined> {
|
|
44
|
+
await this.routeFor(call);
|
|
45
|
+
|
|
46
|
+
const journal = this.journalOf?.();
|
|
47
|
+
if (!journal) {
|
|
48
|
+
throw new Error(
|
|
49
|
+
`${call.address.toString()} asks to run at ${new Date(runAt).toISOString()}, and nothing keeps it.`
|
|
50
|
+
+ ' Install a package answering Journal — @fougere/workflow.',
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
await journal.keep(call, runAt);
|
|
55
|
+
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
|
|
20
59
|
async dispatch(call: Call): Promise<unknown> {
|
|
60
|
+
const { runAt } = call.invocation;
|
|
61
|
+
if (runAt !== undefined) return this.keep(call, runAt);
|
|
62
|
+
|
|
21
63
|
let route: Route | undefined;
|
|
22
64
|
let release: (() => void) | undefined;
|
|
23
65
|
this.lifecycle.publish(DispatchEvent.received(call));
|
|
24
66
|
|
|
25
67
|
try {
|
|
26
68
|
release = this.inFlight.enter(call.address.entity, call.address.operation);
|
|
27
|
-
|
|
28
|
-
const resolved = known ?? await this.routes.resolve(call.address);
|
|
29
|
-
route = resolved && (!this.policy || this.policy.accepts(resolved)) ? resolved : undefined;
|
|
30
|
-
if (!route) {
|
|
31
|
-
throw this.policy?.notFound?.(call, this.routes.routes())
|
|
32
|
-
?? routeNotFound(call, servedOperations(call, this.routes.routes(), this.policy));
|
|
33
|
-
}
|
|
69
|
+
route = await this.routeFor(call);
|
|
34
70
|
|
|
35
71
|
this.lifecycle.publish(DispatchEvent.resolved(call, route.kind));
|
|
36
72
|
const result = await route.execute(call);
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Container } from '@fougere/container';
|
|
2
|
+
import { type AppMiddleware } from '../wire/AppMiddleware.js';
|
|
3
|
+
import type { EffectiveOperationsMap } from '../EffectiveOperationsMap.js';
|
|
4
|
+
import type { HandlerEntry } from '../descriptor/HandlerEntry.js';
|
|
5
|
+
import type { PresenterEntry } from '../descriptor/PresenterEntry.js';
|
|
6
|
+
|
|
7
|
+
/** What boot resolved around one handler, beyond the handler and the scope it resolves in. */
|
|
8
|
+
export interface Facade {
|
|
9
|
+
/** The container key this facade answers under. */
|
|
10
|
+
key: string;
|
|
11
|
+
/** The frond this facade belongs to — travels on every OperationContext. */
|
|
12
|
+
frond: string;
|
|
13
|
+
/** Handlers in the owning frond, used to realize a resolved implementation override. */
|
|
14
|
+
handlers: readonly HandlerEntry[];
|
|
15
|
+
/** The canonical operation table resolved before boot performs any side effect. */
|
|
16
|
+
operations: EffectiveOperationsMap;
|
|
17
|
+
/** Entity names this frond has a collector for. */
|
|
18
|
+
collectors: Set<string>;
|
|
19
|
+
/** The presenter over this handler's entity, when the frond declares one. */
|
|
20
|
+
presenter: PresenterEntry | undefined;
|
|
21
|
+
/** Presenters live in the frond's own scope, whatever sub-scope this facade resolves in. */
|
|
22
|
+
presenterScope: Container;
|
|
23
|
+
/** The middlewares that apply to this address, read at call time and never at boot. */
|
|
24
|
+
middlewares: () => AppMiddleware[];
|
|
25
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type Fields } from '@fougere/schema';
|
|
2
|
+
|
|
3
|
+
/** What a guard says about a filter it let through. The boot owns the voice. */
|
|
4
|
+
export interface GuardReport {
|
|
5
|
+
/** The fields this facade hands back, when it hands back fewer than the entity has. */
|
|
6
|
+
view?: Fields;
|
|
7
|
+
/** Said once per field — a filter is not a write, and a warning per call is noise. */
|
|
8
|
+
outOfView?: (message: string) => void;
|
|
9
|
+
}
|