@fougere/core 0.9.2-alpha.0 → 0.10.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} +1 -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} +26 -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 -17
- 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} +1 -1
- package/dist/{source.js.map → Source.js.map} +1 -1
- 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/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 +77 -42
- 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 +29 -0
- package/dist/boot/declared.d.ts.map +1 -0
- package/dist/boot/declared.js +67 -0
- package/dist/boot/declared.js.map +1 -0
- 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 +11 -7
- package/dist/boot/install.d.ts.map +1 -1
- package/dist/boot/install.js +30 -24
- package/dist/boot/install.js.map +1 -1
- package/dist/boot/ownership.d.ts +8 -4
- package/dist/boot/ownership.d.ts.map +1 -1
- package/dist/boot/ownership.js +91 -33
- package/dist/boot/ownership.js.map +1 -1
- 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/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 +8 -4
- package/dist/boot/together.d.ts.map +1 -1
- package/dist/boot/together.js +60 -27
- 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 +34 -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/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 +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/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/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 +6 -12
- package/dist/dispatch/StorageGuard.d.ts.map +1 -1
- package/dist/dispatch/StorageGuard.js +12 -11
- 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 +94 -34
- 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} +6 -3
- 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} +1 -18
- package/dist/wire/Emit.d.ts.map +1 -0
- package/dist/wire/{emit.js → Emit.js} +1 -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 +2 -10
- package/dist/wire/Invocation.d.ts.map +1 -1
- package/dist/wire/Invocation.js.map +1 -1
- package/dist/wire/InvocationContext.d.ts +10 -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 +12 -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 -18
- 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} +7 -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} +50 -106
- 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 -21
- 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} +4 -21
- 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/apply.ts +2 -2
- package/src/boot/bootstrap.ts +101 -70
- package/src/boot/card.ts +15 -11
- package/src/boot/declared.ts +91 -0
- package/src/boot/frame.ts +2 -2
- package/src/boot/hosted.ts +1 -1
- package/src/boot/install.ts +42 -30
- package/src/boot/ownership.ts +104 -43
- package/src/boot/ports.ts +52 -41
- 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 +77 -37
- 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 +35 -13
- 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/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 +1 -1
- 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/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/Route.ts +3 -2
- package/src/dispatch/RouteExecution.ts +3 -0
- package/src/dispatch/RoutePolicy.ts +1 -1
- package/src/dispatch/StorageGuard.ts +13 -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 +102 -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} +15 -20
- 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} +1 -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 +2 -11
- package/src/wire/InvocationContext.ts +9 -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 +12 -0
- package/src/wire/Transport.ts +5 -0
- package/src/wire/{signature.ts → TypeRef.ts} +0 -19
- 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 -93
- 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/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 -105
- 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 -150
- package/src/wire/middleware.ts +0 -43
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type { Call } from '../wire/
|
|
1
|
+
import type { Call } from '../wire/Call.js';
|
|
2
2
|
import type { RouteAddress } from '../wire/RouteAddress.js';
|
|
3
3
|
import type { Route } from './Route.js';
|
|
4
|
-
|
|
5
|
-
export type RouteExecution = (call: Call) => unknown | Promise<unknown>;
|
|
4
|
+
import type { RouteExecution } from './RouteExecution.js';
|
|
6
5
|
|
|
7
6
|
/** One executable route, distinguished by its routing kind. */
|
|
8
7
|
export class OperationRoute implements Route {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type PresenterArgs = Record<string, unknown[]>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ErrorCode
|
|
1
|
+
import { ErrorCode } from '../wire/ErrorCode.js';
|
|
2
|
+
import { FougereError } from '../wire/FougereError.js';
|
|
2
3
|
import { preserveArrayProperties } from './ArrayResult.js';
|
|
3
|
-
|
|
4
|
-
export type PresenterArgs = Record<string, unknown[]>;
|
|
4
|
+
import type { PresenterArgs } from './PresenterArgs.js';
|
|
5
5
|
|
|
6
6
|
/** Adds a presenter's computed fields after output projection. */
|
|
7
7
|
export class PresenterExecutor {
|
package/src/dispatch/Route.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { Call } from '../wire/
|
|
2
|
-
import type { RouteAddress
|
|
1
|
+
import type { Call } from '../wire/Call.js';
|
|
2
|
+
import type { RouteAddress } from '../wire/RouteAddress.js';
|
|
3
|
+
import type { RouteKind } from '../wire/RouteKind.js';
|
|
3
4
|
|
|
4
5
|
/** Executable destination known by the dispatcher. */
|
|
5
6
|
export interface Route {
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { FieldSet, FieldValueValidator, InputRefusal, type Fields } from '@fougere/schema';
|
|
2
|
-
import { COMPARISONS, comparisonOf, unknownIn } from '../storage/
|
|
3
|
-
import { assertListOptions } from '../storage/
|
|
4
|
-
import { ErrorCode
|
|
2
|
+
import { COMPARISONS, comparisonOf, unknownIn } from '../storage/Comparison.js';
|
|
3
|
+
import { assertListOptions } from '../storage/Storage.js';
|
|
4
|
+
import { ErrorCode } from '../wire/ErrorCode.js';
|
|
5
|
+
import { FougereError } from '../wire/FougereError.js';
|
|
6
|
+
import type { GuardReport } from './GuardReport.js';
|
|
5
7
|
|
|
6
8
|
/** The gestures this guard grafts onto. */
|
|
7
9
|
interface Writer {
|
|
@@ -12,14 +14,6 @@ interface Writer {
|
|
|
12
14
|
list?(...args: unknown[]): unknown;
|
|
13
15
|
}
|
|
14
16
|
|
|
15
|
-
/** What a guard says about a filter it let through. The boot owns the voice. */
|
|
16
|
-
export interface GuardReport {
|
|
17
|
-
/** The fields this door hands back, when it hands back fewer than the entity has. */
|
|
18
|
-
view?: Fields;
|
|
19
|
-
/** Said once per field — a filter is not a write, and a warning per call is noise. */
|
|
20
|
-
outOfView?: (message: string) => void;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
17
|
/** Judges storage writes and list options without narrowing the storage interface. */
|
|
24
18
|
export class StorageGuard {
|
|
25
19
|
/** What has already been said, so a filter in a loop says it once. */
|
|
@@ -81,7 +75,7 @@ export class StorageGuard {
|
|
|
81
75
|
}
|
|
82
76
|
|
|
83
77
|
/**
|
|
84
|
-
* The values this write carries, validated and handed on PARSED — the rule the client
|
|
78
|
+
* The values this write carries, validated and handed on PARSED — the rule the client facade
|
|
85
79
|
* already holds (`InputValidator`), applied to a write that never passed through it. What a
|
|
86
80
|
* handler is allowed to write is not asked here: only the value is.
|
|
87
81
|
*/
|
|
@@ -92,11 +86,11 @@ export class StorageGuard {
|
|
|
92
86
|
}
|
|
93
87
|
|
|
94
88
|
/**
|
|
95
|
-
* What a read may ask for. The write
|
|
89
|
+
* What a read may ask for. The write facade judges what LANDS in a row; this one judges
|
|
96
90
|
* what a caller says about one — and it was the single entrance to the port with no
|
|
97
91
|
* judge at all, while `params.filter` from a browser reaches it verbatim.
|
|
98
92
|
*
|
|
99
|
-
* A criterion may name a SET, which is the one thing the write
|
|
93
|
+
* A criterion may name a SET, which is the one thing the write facade would refuse: an
|
|
100
94
|
* array is judged member by member, since that is what `IN` binds.
|
|
101
95
|
*/
|
|
102
96
|
private criteria(where: Record<string, unknown>): Record<string, unknown> {
|
|
@@ -110,7 +104,7 @@ export class StorageGuard {
|
|
|
110
104
|
continue;
|
|
111
105
|
}
|
|
112
106
|
// A comparison names its own vocabulary, and a typo in it would otherwise be a
|
|
113
|
-
// criterion that filters nothing — the silent truncation this
|
|
107
|
+
// criterion that filters nothing — the silent truncation this facade exists to stop.
|
|
114
108
|
const comparison = comparisonOf(field, asked);
|
|
115
109
|
if (comparison) {
|
|
116
110
|
const unknown = unknownIn(comparison);
|
|
@@ -148,11 +142,11 @@ export class StorageGuard {
|
|
|
148
142
|
}
|
|
149
143
|
|
|
150
144
|
/**
|
|
151
|
-
* A filter on a field this
|
|
145
|
+
* A filter on a field this facade does not hand back.
|
|
152
146
|
*
|
|
153
147
|
* `output(schema)` narrows what is RETURNED and has never narrowed what is asked, so a
|
|
154
148
|
* caller can already sort a hidden column into existence one comparison at a time — and
|
|
155
|
-
* the admin
|
|
149
|
+
* the admin facade copies a browser's filter here verbatim. Said rather than refused: it
|
|
156
150
|
* is legal today, GraphQL batches a relation on a key a view may not carry, and a
|
|
157
151
|
* refusal would break that on the way to fixing this.
|
|
158
152
|
*/
|
|
@@ -161,7 +155,7 @@ export class StorageGuard {
|
|
|
161
155
|
if (!view || view[field] || this.said.has(field)) return;
|
|
162
156
|
this.said.add(field);
|
|
163
157
|
this.report.outOfView?.(
|
|
164
|
-
`${this.entity}.list() filtered on '${field}', which this
|
|
158
|
+
`${this.entity}.list() filtered on '${field}', which this facade does not hand back — `
|
|
165
159
|
+ 'a filter on a hidden field answers questions about it one call at a time.',
|
|
166
160
|
);
|
|
167
161
|
}
|
|
@@ -182,7 +176,7 @@ export class StorageGuard {
|
|
|
182
176
|
for (const [key, item] of Object.entries(value as Record<string, unknown>)) {
|
|
183
177
|
const field = this.fields[key];
|
|
184
178
|
// A key the entity does not declare has no column to land in and no judge to pass:
|
|
185
|
-
// on the client
|
|
179
|
+
// on the client facade it is a typo, and on this one it is a mapping that went stale.
|
|
186
180
|
if (!field) {
|
|
187
181
|
errors.push(`${where}${key}: ${InputRefusal.unknownField}`);
|
|
188
182
|
continue;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { computeBindingPlan, type BindingPlan } from '../wire/binding.js';
|
|
2
|
-
import type { InvocationContext } from '../wire/
|
|
3
|
-
import type { PresenterEntry } from '../descriptor/
|
|
2
|
+
import type { InvocationContext } from '../wire/InvocationContext.js';
|
|
3
|
+
import type { PresenterEntry } from '../descriptor/PresenterEntry.js';
|
|
4
4
|
import type { ArgumentResolver } from './ArgumentResolver.js';
|
|
5
|
-
import type { PresenterArgs } from './
|
|
5
|
+
import type { PresenterArgs } from './PresenterArgs.js';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Where each computed field's extra arguments come from — read off the declaration, so a
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { Call } from '../wire/
|
|
2
|
-
import { ErrorCode
|
|
1
|
+
import type { Call } from '../wire/Call.js';
|
|
2
|
+
import { ErrorCode } from '../wire/ErrorCode.js';
|
|
3
|
+
import { FougereError } from '../wire/FougereError.js';
|
|
3
4
|
import type { Route } from './Route.js';
|
|
4
5
|
import type { RoutePolicy } from './RoutePolicy.js';
|
|
5
6
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { InputValidator, dotted, type SchemaView } from '@fougere/schema';
|
|
2
|
-
import type { InvocationContext } from '../wire/
|
|
3
|
-
import { ErrorCode
|
|
2
|
+
import type { InvocationContext } from '../wire/InvocationContext.js';
|
|
3
|
+
import { ErrorCode } from '../wire/ErrorCode.js';
|
|
4
|
+
import { FougereError } from '../wire/FougereError.js';
|
|
4
5
|
|
|
5
6
|
/** Validates and decodes the input declared by one operation contract. */
|
|
6
7
|
export function validateInput(
|
package/src/entry/facade.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Call } from '../wire/
|
|
2
|
-
|
|
1
|
+
import { Call } from '../wire/Call.js';
|
|
2
|
+
|
|
3
3
|
import { RouteAddress } from '../wire/RouteAddress.js';
|
|
4
4
|
import type { DispatchPort } from '../dispatch/DispatchPort.js';
|
|
5
5
|
|
package/src/entry/transport.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Call } from '../wire/
|
|
1
|
+
import { Call } from '../wire/Call.js';
|
|
2
2
|
import { RouteAddress } from '../wire/RouteAddress.js';
|
|
3
3
|
import type { DispatchPort } from '../dispatch/DispatchPort.js';
|
|
4
|
-
import type { Transport } from '../wire/
|
|
4
|
+
import type { Transport } from '../wire/Transport.js';
|
|
5
5
|
|
|
6
6
|
/** Adapts the historical transport signature to the canonical dispatch port. */
|
|
7
7
|
export function createTransportEntry(dispatcher: DispatchPort, surface?: string): Transport {
|
package/src/index.ts
CHANGED
|
@@ -2,19 +2,35 @@
|
|
|
2
2
|
export { createApp } from './boot/bootstrap.js';
|
|
3
3
|
export { orderSeeds, runSeeds, seeding } from './boot/seed.js';
|
|
4
4
|
export { AppLifecycle, migrating } from './boot/AppLifecycle.js';
|
|
5
|
-
export type { Extension } from './boot/
|
|
5
|
+
export type { Extension } from './boot/Extension.js';
|
|
6
6
|
export { defineFougere } from './define.js';
|
|
7
|
-
export type {
|
|
8
|
-
export type {
|
|
9
|
-
export
|
|
10
|
-
export {
|
|
11
|
-
export type {
|
|
12
|
-
export {
|
|
13
|
-
export type {
|
|
7
|
+
export type { AdapterConfig } from './AdapterConfig.js';
|
|
8
|
+
export type { FougereConfig } from './FougereConfig.js';
|
|
9
|
+
export type { AnswerFor } from './AnswerFor.js';
|
|
10
|
+
export type { FougereNames } from './FougereNames.js';
|
|
11
|
+
export type { FougerePorts } from './FougerePorts.js';
|
|
12
|
+
export type { NameOf } from './NameOf.js';
|
|
13
|
+
export type { PortChoice } from './PortChoice.js';
|
|
14
|
+
export type { FrondConfig } from './FrondConfig.js';
|
|
15
|
+
export type { OperationOverride } from './OperationOverride.js';
|
|
16
|
+
export { buildGraph, clusterEntities, suggestSplit, type DomainCluster } from './DomainCluster.js';
|
|
17
|
+
export { type EntityNode } from './EntityNode.js';
|
|
18
|
+
export { Crud } from './prefab/CrudConstructor.js';
|
|
19
|
+
export type { CrudConstructor } from './prefab/CrudConstructor.js';
|
|
20
|
+
export type { CrudOpName } from './prefab/CrudOpName.js';
|
|
21
|
+
export type { CrudOps } from './prefab/CrudOps.js';
|
|
22
|
+
export type { CrudViews } from './prefab/CrudViews.js';
|
|
23
|
+
export { Mirror } from './prefab/MirrorConstructor.js';
|
|
24
|
+
export type { MirrorConstructor } from './prefab/MirrorConstructor.js';
|
|
25
|
+
export type { MirrorOf } from './prefab/MirrorOf.js';
|
|
26
|
+
export type { Refreshed } from './prefab/Refreshed.js';
|
|
14
27
|
export { Presenter } from './prefab/presenter.js';
|
|
15
28
|
export type { PresenterViews } from './prefab/presenter.js';
|
|
16
29
|
export { Collector } from './prefab/collector.js';
|
|
17
|
-
export {
|
|
30
|
+
export { type AggregateConstructor } from './prefab/AggregateConstructor.js';
|
|
31
|
+
export { type AggregateOf } from './prefab/AggregateOf.js';
|
|
32
|
+
export { Repository, type RepositoryConstructor } from './prefab/RepositoryConstructor.js';
|
|
33
|
+
export { type RepositoryOf } from './prefab/RepositoryOf.js';
|
|
18
34
|
export { Invocation } from './contract.js';
|
|
19
35
|
export type { InvocationContext } from './contract.js';
|
|
20
36
|
export { Call } from './contract.js';
|
|
@@ -22,33 +38,51 @@ export { RouteAddress } from './contract.js';
|
|
|
22
38
|
export { DispatchLifecycle } from './dispatch/DispatchLifecycle.js';
|
|
23
39
|
export { Dispatcher } from './dispatch/Dispatcher.js';
|
|
24
40
|
// The class and not only its type: an observer RECEIVES these, so a package that folds
|
|
25
|
-
// them — or a test of one — has to be able to make one through the
|
|
41
|
+
// them — or a test of one — has to be able to make one through the facade.
|
|
26
42
|
export { DispatchEvent } from './dispatch/DispatchEvent.js';
|
|
27
43
|
export type { CallPage, CallRecord } from './contract.js';
|
|
28
44
|
export { driftOf, agrees, explain, type CardDrift } from './contract.js';
|
|
29
|
-
export type {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
} from './
|
|
35
|
-
export { resolveEffectiveOperations } from './effective-operation.js';
|
|
36
|
-
export type { EffectiveOperation } from './effective-operation.js';
|
|
45
|
+
export type { OperationContract } from './wire/OperationContract.js';
|
|
46
|
+
export type { OperationsMap } from './wire/OperationsMap.js';
|
|
47
|
+
export type { Param } from './wire/Param.js';
|
|
48
|
+
export type { TypeRef } from './wire/TypeRef.js';
|
|
49
|
+
export { resolveEffectiveOperations } from './EffectiveOperationModel.js';
|
|
50
|
+
export type { EffectiveOperation } from './EffectiveOperation.js';
|
|
37
51
|
export type { ModuleLoader } from './loader.js';
|
|
38
52
|
export { FougereError, ErrorCode, validationErrorsOf } from './contract.js';
|
|
39
|
-
export type { AppMiddleware
|
|
53
|
+
export type { AppMiddleware } from './wire/AppMiddleware.js';
|
|
54
|
+
export type { AppNext } from './wire/AppNext.js';
|
|
55
|
+
export type { OperationContext } from './wire/OperationContext.js';
|
|
40
56
|
export { assertIdentityCard, RPC_ENTITY, MAX_BODY_BYTES } from './contract.js';
|
|
41
57
|
export { createLocalRunner, createAppRunner } from './boot/runner.js';
|
|
42
58
|
|
|
43
59
|
// A frond an app STATES, for a boot that will not scan. No disk, no `typescript` — which
|
|
44
60
|
// is why it sits here and not in `/node`, beside the scanner that reads a project.
|
|
45
|
-
export { frond } from './
|
|
46
|
-
export type { Declared
|
|
61
|
+
export { frond } from './FrondDeclaration.js';
|
|
62
|
+
export type { Declared } from './Declared.js';
|
|
63
|
+
export type { DeclaredSubject } from './DeclaredSubject.js';
|
|
64
|
+
export type { FrondDeclaration } from './FrondDeclaration.js';
|
|
47
65
|
// What this app would answer to `rpc.discover`. Served by the boot, and reached until now
|
|
48
66
|
// only by tests through a deep path — a consumer comparing its own card to a producer's
|
|
49
67
|
// had to dispatch a call to ask a question about itself.
|
|
50
68
|
export { identityCardOf } from './boot/card.js';
|
|
51
|
-
|
|
69
|
+
// Its dual: what the app declares about its NEIGHBOURS. Read by `rpc.topology`, by
|
|
70
|
+
// `@fougere/calls` and by `fougere graph`, which each held their own half of it.
|
|
71
|
+
export { declaredTopologyOf } from './boot/declared.js';
|
|
72
|
+
// Both halves of what a call can refuse, put together where they are READ — the framework's
|
|
73
|
+
// follows from `kind` and `input`, so only the frond's travels.
|
|
74
|
+
export { refusalsOf, type Refusable } from './wire/refusals.js';
|
|
75
|
+
// The facades as TYPES — empty here, filled by the `.d.ts` the scan writes beside the app.
|
|
76
|
+
export type { Addresses } from './wire/Addresses.js';
|
|
77
|
+
export type { Answer } from './wire/Answer.js';
|
|
78
|
+
export type { AnyHandler } from './wire/AnyHandler.js';
|
|
79
|
+
export type { FacadeName } from './wire/FacadeName.js';
|
|
80
|
+
export type { FougereHandlers } from './wire/FougereHandlers.js';
|
|
81
|
+
export type { FougereOperations } from './wire/FougereOperations.js';
|
|
82
|
+
export type { HandlerOf } from './wire/HandlerOf.js';
|
|
83
|
+
export type { Refused } from './wire/Refused.js';
|
|
84
|
+
export type { Rows } from './wire/Rows.js';
|
|
85
|
+
export type { Facade } from './wire/Facade.js';
|
|
52
86
|
export type {
|
|
53
87
|
FrondCall,
|
|
54
88
|
Transport,
|
|
@@ -57,49 +91,65 @@ export type {
|
|
|
57
91
|
TopologyReport,
|
|
58
92
|
FrondPlacement,
|
|
59
93
|
Edge,
|
|
94
|
+
DeclaredTopology,
|
|
95
|
+
DeclaredFrond,
|
|
96
|
+
DeclaredEdge,
|
|
60
97
|
} from './contract.js';
|
|
61
|
-
export { type Emit
|
|
98
|
+
export { type Emit } from './wire/Emit.js';
|
|
99
|
+
export { type Fact } from './wire/Fact.js';
|
|
100
|
+
export { type Pipe } from './wire/Pipe.js';
|
|
62
101
|
export { callValueOf } from './contract.js';
|
|
63
102
|
export { toHttpError } from './wire/http-error.js';
|
|
64
103
|
export { toPublicError } from './contract.js';
|
|
65
104
|
export { loggerMiddleware } from './wire/loggerMiddleware.js';
|
|
66
|
-
export { Carry
|
|
67
|
-
export
|
|
105
|
+
export { Carry } from './builtin/Carry.js';
|
|
106
|
+
export { Logger, envLevel, formatted, logLevel, setLogLevel } from './builtin/Logger.js';
|
|
107
|
+
export type { LogRecord } from './builtin/LogRecord.js';
|
|
108
|
+
export type { LogSink } from './builtin/LogSink.js';
|
|
109
|
+
export type { Rendered } from './builtin/Rendered.js';
|
|
68
110
|
// The fact a boot announces. Its destinations are `@fougere/log`'s; the line is core's.
|
|
69
111
|
export { default as LogLine, CARRIES_LINE, LOG_LINE } from './builtin/LogLine.js';
|
|
70
112
|
// What a re-read config changes in a running process — and what it cannot.
|
|
71
113
|
export { applyConfig } from './boot/apply.js';
|
|
72
114
|
export { Config } from './builtin/config.js';
|
|
73
|
-
export type {
|
|
115
|
+
export type { ListOptions } from './storage/ListOptions.js';
|
|
116
|
+
export type { ListResult } from './storage/ListResult.js';
|
|
117
|
+
export type { StorageFactory } from './storage/StorageFactory.js';
|
|
118
|
+
export type { Together } from './storage/Together.js';
|
|
74
119
|
// A VALUE as well as a type: it is what a wrapper extends, which is the whole of declaring one.
|
|
75
|
-
export { Storage, togetherKeyOf } from './storage/
|
|
76
|
-
export type { Constraint
|
|
77
|
-
export {
|
|
78
|
-
export {
|
|
79
|
-
export type {
|
|
80
|
-
export
|
|
81
|
-
export
|
|
82
|
-
export {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
} from './
|
|
86
|
-
export type {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
} from './descriptor/
|
|
97
|
-
export type {
|
|
120
|
+
export { Storage, togetherKeyOf } from './storage/Storage.js';
|
|
121
|
+
export type { Constraint } from './Constraint.js';
|
|
122
|
+
export type { Source } from './Source.js';
|
|
123
|
+
export type { SourceConfig } from './SourceConfig.js';
|
|
124
|
+
export type { SourceView } from './SourceView.js';
|
|
125
|
+
export { Sources } from './Source.js';
|
|
126
|
+
export { storageOver } from './storage/Store.js';
|
|
127
|
+
export type { Store } from './storage/Store.js';
|
|
128
|
+
export type { Values } from './storage/Values.js';
|
|
129
|
+
export type { App } from './boot/App.js';
|
|
130
|
+
export type { CreateAppOptions } from './boot/CreateAppOptions.js';
|
|
131
|
+
export type { ScanResult } from './scan.js';
|
|
132
|
+
export type { Diagnostic } from './diagnostic.js';
|
|
133
|
+
export { DEFAULT_CONVENTIONS, frondDirsOf, frondPackage, providerDirsOf, resolveConventions, type Conventions } from './Conventions.js';
|
|
134
|
+
export { type ConventionsInput } from './ConventionsInput.js';
|
|
135
|
+
export type { CollectorEntry } from './descriptor/CollectorEntry.js';
|
|
136
|
+
export type { EntityEntry } from './descriptor/EntityEntry.js';
|
|
137
|
+
export type { FrondDescriptor } from './descriptor/FrondDescriptor.js';
|
|
138
|
+
export type { FrondSource } from './descriptor/FrondSource.js';
|
|
139
|
+
export type { HandlerEntry } from './descriptor/HandlerEntry.js';
|
|
140
|
+
export type { PresenterEntry } from './descriptor/PresenterEntry.js';
|
|
141
|
+
export type { PresenterFieldMeta } from './descriptor/PresenterFieldMeta.js';
|
|
142
|
+
export type { ProviderEntry } from './descriptor/ProviderEntry.js';
|
|
143
|
+
export type { SeedEntry } from './descriptor/SeedEntry.js';
|
|
144
|
+
export type { AuthConfig } from './boot/AuthConfig.js';
|
|
145
|
+
export type { AuthContext } from './boot/AuthContext.js';
|
|
146
|
+
export type { AuthRuntime } from './boot/AuthRuntime.js';
|
|
98
147
|
export { Fronds } from './descriptor/Fronds.js';
|
|
99
|
-
export { verify, type
|
|
148
|
+
export { verify, type Misplaced } from './verify.js';
|
|
100
149
|
// Same question as verify(), answered from the source text instead of the model.
|
|
101
150
|
// Who is calling, established rather than accepted — the proof beside `state`'s claim.
|
|
102
151
|
// `generateKeyPair` and `issueGrant` are NOT here: they make keys at a deployment and
|
|
103
152
|
// need `node:crypto` for a gesture WebCrypto has no equal of. They sit on `/node`.
|
|
104
|
-
export { signEnvelope, verifyEnvelope, identityFromEnv } from './
|
|
105
|
-
export type { FrondIdentity
|
|
153
|
+
export { signEnvelope, verifyEnvelope, identityFromEnv } from './CallIdentity.js';
|
|
154
|
+
export type { FrondIdentity } from './FrondIdentity.js';
|
|
155
|
+
export type { SignedCall } from './wire/SignedCall.js';
|
package/src/node.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** What Fougere does with a filesystem, minus the scan — that is `@fougere/compiler`. */
|
|
2
2
|
export { setModuleLoader, getModuleLoader } from './loader.js';
|
|
3
|
-
export { loadConfig, loadCascadedConfig } from './
|
|
4
|
-
export { defineFrond, loadFrondConfig } from './
|
|
3
|
+
export { loadConfig, loadCascadedConfig } from './FougereConfig.js';
|
|
4
|
+
export { defineFrond, loadFrondConfig } from './FrondConfig.js';
|
|
5
5
|
|
|
6
6
|
// Making a key and binding a name to it happen once, at a deployment, on a machine with
|
|
7
7
|
// a filesystem — the CLI speaking. Verifying happens per call, everywhere, and stays on
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AggregateShape } from './AggregateShape.js';
|
|
2
|
+
import { type EntityConstructor } from '@fougere/schema';
|
|
3
|
+
|
|
4
|
+
export type AggregateConstructor<E extends readonly EntityConstructor[]> =
|
|
5
|
+
(new (...storages: unknown[]) => AggregateShape<E>) & {
|
|
6
|
+
readonly __entity: unknown;
|
|
7
|
+
/** The entities this class owns. Present from two on — an owner of one owns nothing. */
|
|
8
|
+
readonly __owns: E;
|
|
9
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type EntityConstructor } from '@fougere/schema';
|
|
2
|
+
import type { Storage } from '../storage/Storage.js';
|
|
3
|
+
|
|
4
|
+
/** The tuple an aggregate holds — the readable form of {@link AggregateShape}'s member. */
|
|
5
|
+
export type AggregateOf<E extends readonly EntityConstructor[]> =
|
|
6
|
+
{ [K in keyof E]: Storage<InstanceType<E[K]>> };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Storage } from '../storage/Storage.js';
|
|
2
|
+
import type { EntityConstructor } from '@fougere/schema';
|
|
3
|
+
|
|
4
|
+
/** What an aggregate's subclass sees. */
|
|
5
|
+
export declare abstract class AggregateShape<E extends readonly EntityConstructor[]> {
|
|
6
|
+
protected storages: { [K in keyof E]: Storage<InstanceType<E[K]>> };
|
|
7
|
+
}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { lowerFirst, type EntityConstructor, type SchemaView } from '@fougere/schema';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
2
|
+
import type { ListOptions } from '../storage/ListOptions.js';
|
|
3
|
+
import type { ListResult } from '../storage/ListResult.js';
|
|
4
|
+
import type { Storage } from '../storage/Storage.js';
|
|
5
|
+
import type { OperationContract } from '../wire/OperationContract.js';
|
|
4
6
|
import { targetOf } from './prefab.js';
|
|
7
|
+
import type { CrudOpName } from './CrudOpName.js';
|
|
8
|
+
import type { CrudViews } from './CrudViews.js';
|
|
9
|
+
import type { CrudOps } from './CrudOps.js';
|
|
5
10
|
|
|
6
11
|
/**
|
|
7
12
|
* A class is recognized by what it ANSWERS — the mixin leaves no other trace.
|
|
@@ -27,16 +32,22 @@ export function subjectOf(ctor: unknown, address: string): string {
|
|
|
27
32
|
|
|
28
33
|
/** The id of the row an op acts on — a route segment, or a query fallback. */
|
|
29
34
|
const byId = { name: 'id', source: { kind: 'param' as const, name: 'id' }, optional: false };
|
|
35
|
+
|
|
30
36
|
const fromBody = { name: 'input', source: { kind: 'input' as const }, optional: false };
|
|
31
37
|
|
|
32
38
|
/** The same five, written as the scan would have written them. */
|
|
33
39
|
const idParam = { name: 'id', type: { raw: 'string', name: 'string' } };
|
|
40
|
+
|
|
34
41
|
const inputParam = (entity: string) => ({ name: 'input', type: { raw: `Partial<${entity}>`, name: entity } });
|
|
42
|
+
|
|
35
43
|
const returns = (raw: string, name: string, extra?: { array?: boolean; nullable?: boolean }) =>
|
|
36
44
|
({ raw, name, ...extra });
|
|
37
45
|
|
|
38
|
-
/**
|
|
39
|
-
|
|
46
|
+
/**
|
|
47
|
+
* The five ops a Crud handler brings, declared rather than discovered.
|
|
48
|
+
*
|
|
49
|
+
* `output` says the entity, and saying it costs nothing at runtime.
|
|
50
|
+
*/
|
|
40
51
|
function crudOps(entity: SchemaView & { partial?: () => SchemaView }): Record<string, OperationContract> {
|
|
41
52
|
const name = (entity as { name?: string }).name ?? 'Entity';
|
|
42
53
|
const input = inputParam(name);
|
|
@@ -75,12 +86,6 @@ function asCrudConstructor<T, V>(impl: object): CrudConstructor<T, V> {
|
|
|
75
86
|
return impl as CrudConstructor<T, V>;
|
|
76
87
|
}
|
|
77
88
|
|
|
78
|
-
/** The five ops the mixin fabricates. */
|
|
79
|
-
export type CrudOpName = 'list' | 'findById' | 'create' | 'update' | 'delete';
|
|
80
|
-
|
|
81
|
-
/** Which view each op speaks — omitted ops speak the entity, the trivial view. */
|
|
82
|
-
export type CrudViews = Partial<Record<CrudOpName, EntityConstructor>>;
|
|
83
|
-
|
|
84
89
|
/** The view an op emits, fabricated. */
|
|
85
90
|
type OutOf<V, K extends CrudOpName, T> =
|
|
86
91
|
// Bracketed on purpose: a naked `V extends …` DISTRIBUTES, and the no-view default
|
|
@@ -90,16 +95,6 @@ type OutOf<V, K extends CrudOpName, T> =
|
|
|
90
95
|
: K extends keyof V ? (V[K] extends EntityConstructor ? InstanceType<V[K]> : T)
|
|
91
96
|
: T;
|
|
92
97
|
|
|
93
|
-
/** The five ops, typed from the entity and its views. */
|
|
94
|
-
export interface CrudOps<T, V = {}> {
|
|
95
|
-
storage: Storage<T>;
|
|
96
|
-
list(options?: ListOptions, ...collected: never[]): Promise<ListResult<OutOf<V, 'list', T>>>;
|
|
97
|
-
findById(id: string, ...collected: never[]): Promise<OutOf<V, 'findById', T> | undefined>;
|
|
98
|
-
create(input: Partial<T>, ...collected: never[]): Promise<OutOf<V, 'create', T>>;
|
|
99
|
-
update(id: string, input: Partial<T>, ...collected: never[]): Promise<OutOf<V, 'update', T>>;
|
|
100
|
-
delete(id: string, ...collected: never[]): Promise<boolean>;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
98
|
/** The prefab handler class — its ops, plus the statics the bootstrap and adapters read. */
|
|
104
99
|
export interface CrudConstructor<T, V = {}> {
|
|
105
100
|
// `Storage<T>`, not the bare `Storage`: a handler that injects a second storage has to
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { CrudOpName } from './CrudOpName.js';
|
|
2
|
+
import type { EntityConstructor } from '@fougere/schema';
|
|
3
|
+
import type { ListOptions } from '../storage/ListOptions.js';
|
|
4
|
+
import type { ListResult } from '../storage/ListResult.js';
|
|
5
|
+
import type { Storage } from '../storage/Storage.js';
|
|
6
|
+
|
|
7
|
+
/** The view an op emits, fabricated. */
|
|
8
|
+
type OutOf<V, K extends CrudOpName, T> =
|
|
9
|
+
// Bracketed on purpose: a naked `V extends …` DISTRIBUTES, and the no-view default
|
|
10
|
+
// is the empty map, whose `keyof` is `never` — distribution would then collapse
|
|
11
|
+
// every op's output to `never` instead of falling through to the entity.
|
|
12
|
+
[V] extends [EntityConstructor] ? InstanceType<V & EntityConstructor>
|
|
13
|
+
: K extends keyof V ? (V[K] extends EntityConstructor ? InstanceType<V[K]> : T)
|
|
14
|
+
: T;
|
|
15
|
+
|
|
16
|
+
/** The five ops, typed from the entity and its views. */
|
|
17
|
+
export interface CrudOps<T, V = {}> {
|
|
18
|
+
storage: Storage<T>;
|
|
19
|
+
list(options?: ListOptions, ...collected: never[]): Promise<ListResult<OutOf<V, 'list', T>>>;
|
|
20
|
+
findById(id: string, ...collected: never[]): Promise<OutOf<V, 'findById', T> | undefined>;
|
|
21
|
+
create(input: Partial<T>, ...collected: never[]): Promise<OutOf<V, 'create', T>>;
|
|
22
|
+
update(id: string, input: Partial<T>, ...collected: never[]): Promise<OutOf<V, 'update', T>>;
|
|
23
|
+
delete(id: string, ...collected: never[]): Promise<boolean>;
|
|
24
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { EntityConstructor } from '@fougere/schema';
|
|
2
|
+
import type { Storage } from '../storage/Storage.js';
|
|
3
|
+
import type { Refreshed } from './Refreshed.js';
|
|
4
|
+
import type { MirrorOf } from './MirrorOf.js';
|
|
5
|
+
|
|
6
|
+
export interface MirrorConstructor<T> {
|
|
7
|
+
new (storage: Storage<T>): MirrorOf<T>;
|
|
8
|
+
readonly __entity: unknown;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export function Mirror<E extends EntityConstructor>(shape: E): MirrorConstructor<InstanceType<E>> {
|
|
12
|
+
type T = InstanceType<E>;
|
|
13
|
+
|
|
14
|
+
abstract class MirrorBase implements MirrorOf<T> {
|
|
15
|
+
static readonly __entity = shape;
|
|
16
|
+
|
|
17
|
+
constructor(public storage: Storage<T>) {}
|
|
18
|
+
|
|
19
|
+
abstract pull(since?: Date): AsyncIterable<Partial<T>[]>;
|
|
20
|
+
|
|
21
|
+
async refresh(since?: Date): Promise<Refreshed> {
|
|
22
|
+
const started = Date.now();
|
|
23
|
+
let written = 0;
|
|
24
|
+
// Preserve the source's page boundaries: one page becomes one upsert.
|
|
25
|
+
for await (const page of this.pull(since)) {
|
|
26
|
+
if (page.length === 0) continue;
|
|
27
|
+
written += await this.storage.upsertAll(page);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return { written, since, ms: Date.now() - started };
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return MirrorBase as unknown as MirrorConstructor<T>;
|
|
35
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Storage } from '../storage/Storage.js';
|
|
2
|
+
import type { Refreshed } from './Refreshed.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A paginated local copy of a source that cannot be queried directly.
|
|
6
|
+
*
|
|
7
|
+
* Documented: [the base](https://fougere.dev/docs/concepts/the-base).
|
|
8
|
+
*/
|
|
9
|
+
export interface MirrorOf<T> {
|
|
10
|
+
/** The copy's own storage — where a page lands. */
|
|
11
|
+
storage: Storage<T>;
|
|
12
|
+
/** Pages of rows to write. The one thing a mirror's author supplies. */
|
|
13
|
+
pull(since?: Date): AsyncIterable<Partial<T>[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Pull from `since` and write every page. The mark is the CALLER's: only it knows
|
|
16
|
+
* whether a pass completed, and a pass that throws must not advance it.
|
|
17
|
+
*/
|
|
18
|
+
refresh(since?: Date): Promise<Refreshed>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** What one refresh did — enough to log it, and to decide whether to run again. */
|
|
2
|
+
export interface Refreshed {
|
|
3
|
+
/** Instances written, counting a replaced one once. */
|
|
4
|
+
written: number;
|
|
5
|
+
/** The age the pull was asked to start from — absent when it asked for everything. */
|
|
6
|
+
since?: Date;
|
|
7
|
+
/** How long the whole pass took, pull included. */
|
|
8
|
+
ms: number;
|
|
9
|
+
}
|