@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,18 @@
|
|
|
1
|
+
// ── Types ───────────────────────────────────────
|
|
2
|
+
export interface OperationContext {
|
|
3
|
+
/** Entity name (e.g. 'product'). */
|
|
4
|
+
entity: string;
|
|
5
|
+
/**
|
|
6
|
+
* Which frond owns this operation — the unit that gets deployed, and therefore the
|
|
7
|
+
* one a reader groups by first. Absent only where no frond claims the call.
|
|
8
|
+
*/
|
|
9
|
+
frond?: string;
|
|
10
|
+
/** Operation name (e.g. 'create', 'findById', 'searchByTitle'). */
|
|
11
|
+
operation: string;
|
|
12
|
+
/** Arguments passed to the operation. */
|
|
13
|
+
args: unknown[];
|
|
14
|
+
/** Extensible bag — middlewares deposit data here (user, permissions, etc.). */
|
|
15
|
+
state: Record<string, unknown>;
|
|
16
|
+
/** Transport-agnostic invocation context (params, query, input, state). */
|
|
17
|
+
invocation?: import('./InvocationContext.js').InvocationContext;
|
|
18
|
+
}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { SchemaView } from '@fougere/schema';
|
|
2
2
|
import type { BindingPlan } from './binding.js';
|
|
3
|
-
import type { Signature
|
|
3
|
+
import type { Signature } from './Signature.js';
|
|
4
|
+
import type { TypeRef } from './TypeRef.js';
|
|
5
|
+
import type { ErrorCode } from './ErrorCode.js';
|
|
6
|
+
import type { OperationKind } from './OperationKind.js';
|
|
7
|
+
import type { OperationKindInference } from './OperationKindInference.js';
|
|
4
8
|
|
|
5
9
|
/** The contract of one operation — everything the façade needs to serve a call. */
|
|
6
10
|
export interface OperationContract {
|
|
@@ -16,6 +20,15 @@ export interface OperationContract {
|
|
|
16
20
|
cardinality?: 'one' | 'maybe' | 'many' | 'page' | 'none';
|
|
17
21
|
/** The argument names and TYPES — the one thing `binding` cannot say. */
|
|
18
22
|
signature?: Signature;
|
|
23
|
+
/**
|
|
24
|
+
* The refusals a path from this operation can reach, walked from every `throw` upward.
|
|
25
|
+
*
|
|
26
|
+
* What the FRAMEWORK refuses is not here: `VALIDATION_FAILED` follows from `input`,
|
|
27
|
+
* `SERVICE_UNAVAILABLE` from being dispatched at all, the gateway pair from a remote
|
|
28
|
+
* placement — all already on the card, so listing them per op would write one fact twice.
|
|
29
|
+
* `refusalsOf` puts the two halves together for whoever reads.
|
|
30
|
+
*/
|
|
31
|
+
errors?: ErrorCode[];
|
|
19
32
|
}
|
|
20
33
|
|
|
21
34
|
/** Read an op's cardinality off its parsed return type. */
|
|
@@ -32,26 +45,6 @@ export function cardinalityOf(type: TypeRef | undefined): OperationContract['car
|
|
|
32
45
|
/** A return that carries no schema — the card has nothing to project onto it. */
|
|
33
46
|
const PRIMITIVE_RETURNS = new Set(['boolean', 'string', 'number', 'void', 'undefined', 'unknown', 'any']);
|
|
34
47
|
|
|
35
|
-
/** Map of operation name → its contract. */
|
|
36
|
-
export type OperationsMap = Map<string, OperationContract>;
|
|
37
|
-
|
|
38
|
-
export type { TypeRef, Param };
|
|
39
|
-
|
|
40
|
-
// ─── Operation intent (read vs write) ──────────
|
|
41
|
-
// Naming convention for inferred handlers — scheduled to die with the
|
|
42
|
-
// handler-kind plan (docs/notes/handler-kind.md). Lives here, NOT in
|
|
43
|
-
// @fougere/schema: it is a runtime convention about operations, not a
|
|
44
|
-
// schema concept.
|
|
45
|
-
|
|
46
|
-
export type OperationKind = 'query' | 'command';
|
|
47
|
-
|
|
48
|
-
/** The convention's evidence, including both sides when a composed name contradicts itself. */
|
|
49
|
-
export interface OperationKindInference {
|
|
50
|
-
kind?: OperationKind;
|
|
51
|
-
queryMatches: string[];
|
|
52
|
-
commandMatches: string[];
|
|
53
|
-
}
|
|
54
|
-
|
|
55
48
|
/** Deliberately finite. */
|
|
56
49
|
const QUERY_VERBS = new Set([
|
|
57
50
|
'all', 'check', 'count', 'exists', 'fetch', 'find', 'get', 'has', 'health', 'list',
|
|
@@ -157,5 +150,3 @@ function requireOperationKind(
|
|
|
157
150
|
+ `Declare operations.${name}.kind as 'query' or 'command' in frond.config.ts.`,
|
|
158
151
|
);
|
|
159
152
|
}
|
|
160
|
-
|
|
161
|
-
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type OperationKind = 'query' | 'command';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { OperationKind } from './OperationKind.js';
|
|
2
|
+
|
|
3
|
+
/** The convention's evidence, including both sides when a composed name contradicts itself. */
|
|
4
|
+
export interface OperationKindInference {
|
|
5
|
+
kind?: OperationKind;
|
|
6
|
+
queryMatches: string[];
|
|
7
|
+
commandMatches: string[];
|
|
8
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Param } from './Param.js';
|
|
2
|
+
import type { TypeRef } from './TypeRef.js';
|
|
3
|
+
import type { OperationContract } from './OperationContract.js';
|
|
4
|
+
|
|
5
|
+
/** Map of operation name → its contract. */
|
|
6
|
+
export type OperationsMap = Map<string, OperationContract>;
|
|
7
|
+
|
|
8
|
+
export type { TypeRef, Param };
|
|
9
|
+
|
|
10
|
+
// ─── Operation intent (read vs write) ──────────
|
|
11
|
+
// Naming convention for inferred handlers — scheduled to die with the
|
|
12
|
+
// handler-kind plan (docs/notes/handler-kind.md). Lives here, NOT in
|
|
13
|
+
// @fougere/schema: it is a runtime convention about operations, not a
|
|
14
|
+
// schema concept.
|
package/src/wire/Pipe.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The same fact, BEFORE it is final: an op taking one ANSWERS the value every subscriber
|
|
3
|
+
* then receives, so it is the declared form of what `Emissions.stamped` already does for
|
|
4
|
+
* `created()`.
|
|
5
|
+
*
|
|
6
|
+
* Not a second announcement and not a chain a subscriber joins: the links run once, before
|
|
7
|
+
* anyone is handed anything, which is what keeps a fact the same for every reader.
|
|
8
|
+
*/
|
|
9
|
+
export type Pipe<T> = T;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ErrorCode } from './ErrorCode.js';
|
|
2
|
+
import type { FougereOperations } from './FougereOperations.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* What one call can come back refusing — both halves, the frond's and the framework's, as the
|
|
6
|
+
* generated module already merged them. Every code until a scan has narrowed it.
|
|
7
|
+
*/
|
|
8
|
+
export type Refused<Address extends string, Op extends string> =
|
|
9
|
+
`${Address}.${Op}` extends keyof FougereOperations
|
|
10
|
+
? FougereOperations[`${Address}.${Op}`] extends { errors: infer Codes }
|
|
11
|
+
? [Codes] extends [ErrorCode] ? Codes : ErrorCode
|
|
12
|
+
: ErrorCode
|
|
13
|
+
: ErrorCode;
|
package/src/wire/RouteAddress.ts
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export type RouteKind = 'local' | 'remote' | 'system';
|
|
3
|
-
|
|
4
|
-
export interface RouteAddressInput {
|
|
5
|
-
entity: string;
|
|
6
|
-
operation: string;
|
|
7
|
-
surface?: string;
|
|
8
|
-
}
|
|
1
|
+
import type { RouteAddressInput } from './RouteAddressInput.js';
|
|
9
2
|
|
|
10
3
|
/** Refuses an empty segment, so no address can be built that nothing can serve. */
|
|
11
4
|
function required(value: string, name: string): string {
|
package/src/wire/Rows.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The row inside what an operation answers — the page reads rows whether the op returns a list,
|
|
3
|
+
* a page or a single one, so `items` is typed off this rather than off the whole answer.
|
|
4
|
+
*/
|
|
5
|
+
export type Rows<Answered> = Answered extends readonly (infer Row)[] ? Row
|
|
6
|
+
: Answered extends { items: readonly (infer Row)[] } ? Row
|
|
7
|
+
: Answered;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { InvocationContext } from './InvocationContext.js';
|
|
2
|
+
|
|
3
|
+
/** Reserved namespace — calls the runner answers itself, never a façade. */
|
|
4
|
+
export const RPC_ENTITY = 'rpc';
|
|
5
|
+
|
|
6
|
+
/** What an `rpc` op answers — the facade for what the app says about ITSELF, never about a row. */
|
|
7
|
+
export type RpcAnswer = (invocation: InvocationContext, surface?: string) => unknown;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { TypeRef } from './TypeRef.js';
|
|
2
|
+
import type { Param } from './Param.js';
|
|
3
|
+
|
|
4
|
+
/** A method's signature, as a contract is built from it — the shape, never the reading. */
|
|
5
|
+
export interface Signature {
|
|
6
|
+
name: string;
|
|
7
|
+
params: Param[];
|
|
8
|
+
returnType?: TypeRef;
|
|
9
|
+
/** Came from a base class, not from the file being scanned. */
|
|
10
|
+
inherited?: boolean;
|
|
11
|
+
/** The operation in words — the first sentence of the method's doc comment. */
|
|
12
|
+
description?: string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** What a receiver accepts before it stops reading an input. */
|
|
2
|
+
export const MAX_BODY_BYTES = 1024 * 1024;
|
|
3
|
+
|
|
4
|
+
/** Everything a caller's envelope covers — the call as the sender meant it. */
|
|
5
|
+
export interface SignedCall {
|
|
6
|
+
entity: string;
|
|
7
|
+
op: string;
|
|
8
|
+
params?: Record<string, unknown>;
|
|
9
|
+
query?: Record<string, unknown>;
|
|
10
|
+
input?: unknown;
|
|
11
|
+
state?: Record<string, unknown>;
|
|
12
|
+
/** The hour, pinned like the input: moving it is moving the call. */
|
|
13
|
+
runAt?: number;
|
|
14
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { InvocationContext } from './InvocationContext.js';
|
|
2
|
+
import type { FrondCall } from './FrondCall.js';
|
|
3
|
+
|
|
4
|
+
/** A transport executes a call somewhere else. Failures surface as thrown FougereError. */
|
|
5
|
+
export type Transport = (call: FrondCall, invocation: InvocationContext) => Promise<unknown>;
|
|
@@ -17,21 +17,3 @@ export interface TypeRef {
|
|
|
17
17
|
/** Whether this is a Promise wrapper (unwrapped in output). */
|
|
18
18
|
promise?: boolean;
|
|
19
19
|
}
|
|
20
|
-
|
|
21
|
-
/** One parameter of a signature. */
|
|
22
|
-
export interface Param {
|
|
23
|
-
name: string;
|
|
24
|
-
type: TypeRef;
|
|
25
|
-
optional?: boolean;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/** A method's signature, as a contract is built from it — the shape, never the reading. */
|
|
29
|
-
export interface Signature {
|
|
30
|
-
name: string;
|
|
31
|
-
params: Param[];
|
|
32
|
-
returnType?: TypeRef;
|
|
33
|
-
/** Came from a base class, not from the file being scanned. */
|
|
34
|
-
inherited?: boolean;
|
|
35
|
-
/** The operation in words — the first sentence of the method's doc comment. */
|
|
36
|
-
description?: string;
|
|
37
|
-
}
|
package/src/wire/binding.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Where each parameter of an operation gets its value — decided once at boot from the parsed
|
|
3
3
|
* signature, replayed per call by `resolveArgs`.
|
|
4
4
|
*/
|
|
5
|
-
import type { Param } from './
|
|
5
|
+
import type { Param } from './Param.js';
|
|
6
6
|
import { lowerFirst } from '@fougere/schema';
|
|
7
7
|
|
|
8
8
|
// ── Types ─────────────────────────────────────
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { SchemaDescriptor } from '@fougere/schema';
|
|
2
|
+
import type { ErrorCode } from '../ErrorCode.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* One operation, as a stranger meets it — its name, what it is for, what it takes and whether it
|
|
6
|
+
* reads or writes.
|
|
7
|
+
*/
|
|
8
|
+
export interface CardOp {
|
|
9
|
+
name: string;
|
|
10
|
+
/** The author's own doc sentence, when the method carries one. */
|
|
11
|
+
description?: string;
|
|
12
|
+
/** JSON Schema of what it accepts, when the contract names a view. */
|
|
13
|
+
input?: SchemaDescriptor;
|
|
14
|
+
/** JSON Schema of what it emits, when the contract names one. */
|
|
15
|
+
output?: SchemaDescriptor;
|
|
16
|
+
/** `query` reads, `command` writes — the same call REST turns into GET vs POST. */
|
|
17
|
+
kind: 'query' | 'command';
|
|
18
|
+
/** How much `output` describes. */
|
|
19
|
+
cardinality?: 'one' | 'maybe' | 'many' | 'page' | 'none';
|
|
20
|
+
/** What this op can REFUSE, beyond what `kind` and `input` already imply. */
|
|
21
|
+
errors?: ErrorCode[];
|
|
22
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { SchemaDescriptor } from '@fougere/schema';
|
|
2
|
+
import { ErrorCode } from '../ErrorCode.js';
|
|
3
|
+
import { FougereError } from '../FougereError.js';
|
|
4
|
+
import type { CardOp } from './CardOp.js';
|
|
5
|
+
|
|
6
|
+
/** What an app hosts — the wire projection of its scanned fronds. */
|
|
7
|
+
export interface IdentityCard {
|
|
8
|
+
fronds: {
|
|
9
|
+
name: string;
|
|
10
|
+
facades: {
|
|
11
|
+
name: string;
|
|
12
|
+
ops: CardOp[];
|
|
13
|
+
/** The shape stored under this name — **absent when nothing is**. */
|
|
14
|
+
schema?: SchemaDescriptor;
|
|
15
|
+
}[];
|
|
16
|
+
/** The facts this frond ANNOUNCES — one entry per `Emit<T>` its handlers inject. */
|
|
17
|
+
facts: { name: string; schema?: SchemaDescriptor }[];
|
|
18
|
+
}[];
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** The shape a card must have to be walked — `fronds`, and each frond's `facades`. */
|
|
22
|
+
export function assertIdentityCard(value: unknown, source: string): IdentityCard {
|
|
23
|
+
const card = value as IdentityCard | undefined;
|
|
24
|
+
const fronds = Array.isArray(card?.fronds) ? card.fronds : undefined;
|
|
25
|
+
if (!fronds) throw cardRefusal(source, 'no fronds array');
|
|
26
|
+
for (const frond of fronds) {
|
|
27
|
+
if (!frond || typeof frond.name !== 'string') throw cardRefusal(source, 'a frond with no name');
|
|
28
|
+
if (!Array.isArray(frond.facades)) throw cardRefusal(source, `frond '${frond.name}' has no valid facades array`);
|
|
29
|
+
}
|
|
30
|
+
return card as IdentityCard;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function cardRefusal(source: string, what: string): FougereError {
|
|
34
|
+
return new FougereError({
|
|
35
|
+
code: ErrorCode.INTERNAL_ERROR,
|
|
36
|
+
message:
|
|
37
|
+
`${source} answered an invalid identity card: ${what}.\n`
|
|
38
|
+
+ ` A card is what tells this process what the other one hosts, so nothing can be routed from it.\n`
|
|
39
|
+
+ ` - Check that the address serves a Fougere app, and that its version still speaks this card.`,
|
|
40
|
+
});
|
|
41
|
+
}
|
package/src/wire/drift.ts
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import { Card, type Change, type SchemaDescriptor } from '@fougere/schema';
|
|
2
|
-
import type { IdentityCard } from './
|
|
2
|
+
import type { IdentityCard } from './card/IdentityCard.js';
|
|
3
3
|
|
|
4
4
|
/** What separates the copy a consumer holds from what the producer actually serves. */
|
|
5
5
|
export interface CardDrift {
|
|
6
6
|
frond: string;
|
|
7
|
-
/** A
|
|
7
|
+
/** A facade the consumer calls that the producer no longer serves. */
|
|
8
8
|
missingDoors: string[];
|
|
9
|
-
/** An operation the consumer calls that the
|
|
10
|
-
missingOps: {
|
|
11
|
-
/** A shape that moved under a
|
|
12
|
-
shapes: {
|
|
9
|
+
/** An operation the consumer calls that the facade no longer has. */
|
|
10
|
+
missingOps: { facade: string; ops: string[] }[];
|
|
11
|
+
/** A shape that moved under a facade the consumer still calls. */
|
|
12
|
+
shapes: { facade: string; changes: Change[] }[];
|
|
13
13
|
/** A fact the consumer subscribes to whose shape moved, or that is gone. */
|
|
14
14
|
facts: { fact: string; changes: Change[] | 'gone' }[];
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
/** Every
|
|
18
|
-
function
|
|
17
|
+
/** Every facade of a card, by name. */
|
|
18
|
+
function facadesOf(card: IdentityCard, frond: string): Map<string, { ops: Set<string>; schema?: SchemaDescriptor }> {
|
|
19
19
|
const found = new Map<string, { ops: Set<string>; schema?: SchemaDescriptor }>();
|
|
20
20
|
for (const one of card.fronds) {
|
|
21
21
|
if (one.name !== frond) continue;
|
|
22
|
-
for (const
|
|
23
|
-
found.set(
|
|
22
|
+
for (const facade of one.facades) {
|
|
23
|
+
found.set(facade.name, { ops: new Set(facade.ops.map((op) => op.name)), schema: facade.schema });
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
return found;
|
|
@@ -37,23 +37,23 @@ function factsOf(card: IdentityCard, frond: string): Map<string, SchemaDescripto
|
|
|
37
37
|
|
|
38
38
|
/** What a consumer's synced copy no longer matches in what the producer serves. */
|
|
39
39
|
export function driftOf(mine: IdentityCard, theirs: IdentityCard, frond: string): CardDrift {
|
|
40
|
-
const
|
|
41
|
-
const served =
|
|
40
|
+
const mineFacades = facadesOf(mine, frond);
|
|
41
|
+
const served = facadesOf(theirs, frond);
|
|
42
42
|
const drift: CardDrift = { frond, missingDoors: [], missingOps: [], shapes: [], facts: [] };
|
|
43
43
|
|
|
44
|
-
for (const [name,
|
|
44
|
+
for (const [name, facade] of mineFacades) {
|
|
45
45
|
const there = served.get(name);
|
|
46
46
|
if (!there) { drift.missingDoors.push(name); continue; }
|
|
47
47
|
|
|
48
|
-
const missing = [...
|
|
49
|
-
if (missing.length > 0) drift.missingOps.push({
|
|
48
|
+
const missing = [...facade.ops].filter((op) => !there.ops.has(op));
|
|
49
|
+
if (missing.length > 0) drift.missingOps.push({ facade: name, ops: missing.sort() });
|
|
50
50
|
|
|
51
|
-
if (
|
|
51
|
+
if (facade.schema && there.schema) {
|
|
52
52
|
// `Card.diff` never guesses a rename — a field gone plus a field appeared lands in
|
|
53
53
|
// `ambiguous`, and only a declaration settles it. Here nobody can declare one, so
|
|
54
54
|
// the pair is reported as it is and a human reads it.
|
|
55
|
-
const moved = Card.fromDescriptor(
|
|
56
|
-
if (moved.changes.length > 0) drift.shapes.push({
|
|
55
|
+
const moved = Card.fromDescriptor(facade.schema).diff(Card.fromDescriptor(there.schema));
|
|
56
|
+
if (moved.changes.length > 0) drift.shapes.push({ facade: name, changes: moved.changes });
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
|
|
@@ -81,10 +81,10 @@ export function agrees(drift: CardDrift): boolean {
|
|
|
81
81
|
/** The drift, in the words a deploy needs. */
|
|
82
82
|
export function explain(drift: CardDrift): string[] {
|
|
83
83
|
const lines: string[] = [];
|
|
84
|
-
for (const
|
|
85
|
-
for (const {
|
|
86
|
-
for (const {
|
|
87
|
-
for (const change of changes) lines.push(`${drift.frond}.${
|
|
84
|
+
for (const facade of drift.missingDoors) lines.push(`${drift.frond}.${facade} — you call it, it is not served`);
|
|
85
|
+
for (const { facade, ops } of drift.missingOps) lines.push(`${drift.frond}.${facade} — gone: ${ops.join(', ')}`);
|
|
86
|
+
for (const { facade, changes } of drift.shapes) {
|
|
87
|
+
for (const change of changes) lines.push(`${drift.frond}.${facade} — ${describe(change)}`);
|
|
88
88
|
}
|
|
89
89
|
for (const { fact, changes } of drift.facts) {
|
|
90
90
|
if (changes === 'gone') { lines.push(`${fact} — you subscribe to it, it is no longer announced`); continue; }
|
package/src/wire/http-error.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/** HTTP reading of an error — used by HTTP bridges (REST, Next, Inertia). */
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { ErrorCode } from './ErrorCode.js';
|
|
3
|
+
import { FougereError } from './FougereError.js';
|
|
4
|
+
import { Logger } from '../builtin/Logger.js';
|
|
4
5
|
/**
|
|
5
6
|
* An INTERNAL_ERROR is the one class of error whose message never leaves: it was not written for a
|
|
6
7
|
* caller and may quote a path, a query or a row.
|
|
@@ -53,7 +54,7 @@ export function toHttpError(err: unknown): { status: number; body: ReturnType<Fo
|
|
|
53
54
|
return { status: httpStatusFor(err.code), body: toPublicError(err) };
|
|
54
55
|
}
|
|
55
56
|
// A throw that never became a FougereError is masked by the same rule, so it goes
|
|
56
|
-
// through the same
|
|
57
|
+
// through the same facade rather than growing a second, quieter one here.
|
|
57
58
|
const framed = new FougereError({
|
|
58
59
|
code: ErrorCode.INTERNAL_ERROR,
|
|
59
60
|
message: (err as { message?: string })?.message ?? 'Internal error',
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Logger middleware — logs every operation with timing.
|
|
3
3
|
*/
|
|
4
|
-
import type { AppMiddleware } from './
|
|
5
|
-
import type { Logger } from '../builtin/
|
|
4
|
+
import type { AppMiddleware } from './AppMiddleware.js';
|
|
5
|
+
import type { Logger } from '../builtin/Logger.js';
|
|
6
6
|
import { CARRIES_LINE } from '../builtin/LogLine.js';
|
|
7
7
|
|
|
8
8
|
/** Create a logger middleware that logs operation entry, exit, and errors. */
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a call to one operation can come back refusing — both halves, put together where they
|
|
3
|
+
* are read rather than where they are published.
|
|
4
|
+
*
|
|
5
|
+
* The half the FRAMEWORK owns is not on the wire, because it follows from facts that already
|
|
6
|
+
* are: an op with an `input` is judged at the facade, an op that is dispatched at all can meet a
|
|
7
|
+
* draining app, an op that crosses a process can meet the wire. Writing those beside every
|
|
8
|
+
* operation would be one fact in two places — and the card would grow by three entries per op
|
|
9
|
+
* that a reader can work out from `kind` and `input`.
|
|
10
|
+
*
|
|
11
|
+
* The half the FROND owns travels, because nothing else implies it: that `publish` answers
|
|
12
|
+
* `CONFLICT` is a domain decision, and it is read off the code by the scan's walk.
|
|
13
|
+
*
|
|
14
|
+
* Documented: [observability](https://fougere.dev/docs/infra/observability).
|
|
15
|
+
*/
|
|
16
|
+
import { ErrorCode } from './ErrorCode.js';
|
|
17
|
+
|
|
18
|
+
/** The little of an operation this reads — so a card op and an effective one both fit. */
|
|
19
|
+
export interface Refusable {
|
|
20
|
+
kind?: 'query' | 'command';
|
|
21
|
+
input?: unknown;
|
|
22
|
+
errors?: readonly string[];
|
|
23
|
+
/** Absent on a card op read from a frond that answers in this process. */
|
|
24
|
+
remote?: boolean;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* What the framework refuses, and the fact each one follows from. Every line is a claim about
|
|
29
|
+
* the core, held by a test rather than by memory: the day a facade stops judging, the claim fails
|
|
30
|
+
* before a contract starts lying.
|
|
31
|
+
*/
|
|
32
|
+
const IMPLIED: { code: ErrorCode; when: (op: Refusable) => boolean }[] = [
|
|
33
|
+
// `InFlight.enter` — a call arriving after the facade closed, which any op can meet.
|
|
34
|
+
{ code: ErrorCode.SERVICE_UNAVAILABLE, when: () => true },
|
|
35
|
+
// `validateInput` — it returns the invocation untouched when the op declares no view.
|
|
36
|
+
{ code: ErrorCode.VALIDATION_FAILED, when: (op) => op.input !== undefined },
|
|
37
|
+
// `StorageGuard` — it judges what a handler writes, so a reading op never meets it.
|
|
38
|
+
{ code: ErrorCode.BAD_REQUEST, when: (op) => op.kind === 'command' },
|
|
39
|
+
// The transport, and `boot/remote` behind it. Only a call that leaves can fail to arrive.
|
|
40
|
+
{ code: ErrorCode.GATEWAY_TIMEOUT, when: (op) => op.remote === true },
|
|
41
|
+
{ code: ErrorCode.BAD_GATEWAY, when: (op) => op.remote === true },
|
|
42
|
+
];
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Every code one operation can answer with, sorted — the declared ones and the implied ones.
|
|
46
|
+
*
|
|
47
|
+
* `INTERNAL_ERROR` is in neither: its message never leaves (`toPublicError` replaces it), so it
|
|
48
|
+
* is a bug rather than a refusal, and a contract that named it would tell a caller nothing it
|
|
49
|
+
* could act on.
|
|
50
|
+
*/
|
|
51
|
+
export function refusalsOf(op: Refusable): ErrorCode[] {
|
|
52
|
+
const implied = IMPLIED.filter((one) => one.when(op)).map((one) => one.code);
|
|
53
|
+
|
|
54
|
+
return [...new Set([...(op.errors ?? []) as ErrorCode[], ...implied])].sort();
|
|
55
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** A frond the config knows of, and where it says to reach it. */
|
|
2
|
+
export interface DeclaredFrond {
|
|
3
|
+
frond: string;
|
|
4
|
+
placement: 'local' | 'remote';
|
|
5
|
+
/**
|
|
6
|
+
* Host and port of the address `remotes:` names, absent when the frond runs here. Never the
|
|
7
|
+
* whole address: a declared one may carry credentials, and this answer leaves the process.
|
|
8
|
+
*/
|
|
9
|
+
at?: string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { DeclaredFrond } from './DeclaredFrond.js';
|
|
2
|
+
import type { DeclaredEdge } from './DeclaredEdge.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* What the config SAYS, beside what the runtime SAW. The two disagree exactly when something
|
|
6
|
+
* is misconfigured, and a frond that never answered is absent from the observed half — so
|
|
7
|
+
* without this one, nothing tells a silent dependency from an absent one.
|
|
8
|
+
*/
|
|
9
|
+
export interface DeclaredTopology {
|
|
10
|
+
fronds: DeclaredFrond[];
|
|
11
|
+
edges: DeclaredEdge[];
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { FrondPlacement } from './FrondPlacement.js';
|
|
2
|
+
import type { Edge } from './Edge.js';
|
|
3
|
+
import type { DeclaredTopology } from './DeclaredTopology.js';
|
|
4
|
+
|
|
5
|
+
/** The shape of the system as ONE process discovered it — the answer to `rpc.topology`. */
|
|
6
|
+
export interface TopologyReport {
|
|
7
|
+
/** When this process started counting — an edge count is read against it. */
|
|
8
|
+
since: number;
|
|
9
|
+
/** Calls running right now: the one signal a static shape cannot carry. */
|
|
10
|
+
active: number;
|
|
11
|
+
fronds: FrondPlacement[];
|
|
12
|
+
edges: Edge[];
|
|
13
|
+
declared: DeclaredTopology;
|
|
14
|
+
}
|
package/dist/boot/auth.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* What an auth provider promises the boot, and what the boot hands it — the whole of
|
|
3
|
-
* the contract between core and an `@fougere/auth-*` package.
|
|
4
|
-
*/
|
|
5
|
-
import type { SchemaView } from '@fougere/schema';
|
|
6
|
-
import type { Storage, StorageFactory } from '../storage/port.js';
|
|
7
|
-
/** Lazy auth declaration written in fougere.config.ts. */
|
|
8
|
-
export interface AuthConfig {
|
|
9
|
-
/** Build the runtime — invoked by createApp at boot with the resolved storage handles. */
|
|
10
|
-
create(ctx: AuthContext): AuthRuntime | Promise<AuthRuntime>;
|
|
11
|
-
/**
|
|
12
|
-
* Entities the provider will use. Optional metadata — useful for the core's
|
|
13
|
-
* future migration registry to know which tables auth needs.
|
|
14
|
-
*/
|
|
15
|
-
entities?: Record<string, SchemaView>;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Context passed by the core to an auth provider's create() function.
|
|
19
|
-
* Provides the resources the provider needs to integrate with the app.
|
|
20
|
-
*/
|
|
21
|
-
export interface AuthContext {
|
|
22
|
-
/** Storage handle (Kysely DB instance, Prisma client, etc.) — opaque to core. */
|
|
23
|
-
db: unknown;
|
|
24
|
-
/** Per-entity storage factory — auth provider uses this to back its adapter. */
|
|
25
|
-
storageFactory: StorageFactory;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Runtime returned by an auth provider's create(config, ctx) function.
|
|
29
|
-
* The core mounts this on the App and the HTTP layer (Nuxt module / router) uses it.
|
|
30
|
-
*/
|
|
31
|
-
export interface AuthRuntime {
|
|
32
|
-
/** Entities used by the provider, including any defaults it filled in. */
|
|
33
|
-
entities: Record<string, SchemaView>;
|
|
34
|
-
/** Per-entity ORMs the provider built for itself. */
|
|
35
|
-
storages: Record<string, Storage>;
|
|
36
|
-
/** Web Standard handler that processes /auth/* requests. */
|
|
37
|
-
handler: (request: Request) => Promise<Response>;
|
|
38
|
-
/** Programmatic API exposed by the provider (getSession, signOut, ...). */
|
|
39
|
-
api: Record<string, unknown>;
|
|
40
|
-
/** Effective mount path (echoes config.basePath or the provider's default). */
|
|
41
|
-
basePath: string;
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=auth.d.ts.map
|
package/dist/boot/auth.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/boot/auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAElE,0DAA0D;AAC1D,MAAM,WAAW,UAAU;IACzB,0FAA0F;IAC1F,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7D;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACvC;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,iFAAiF;IACjF,EAAE,EAAE,OAAO,CAAC;IACZ,gFAAgF;IAChF,cAAc,EAAE,cAAc,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrC,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,4DAA4D;IAC5D,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjD,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
package/dist/boot/auth.js
DELETED
package/dist/boot/auth.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/boot/auth.ts"],"names":[],"mappings":""}
|