@fougere/core 0.9.3-alpha.0 → 0.11.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AdapterConfig.d.ts +10 -0
- package/dist/AdapterConfig.d.ts.map +1 -0
- package/dist/AdapterConfig.js +3 -0
- package/dist/AdapterConfig.js.map +1 -0
- package/dist/AnswerFor.d.ts +5 -0
- package/dist/AnswerFor.d.ts.map +1 -0
- package/dist/AnswerFor.js +2 -0
- package/dist/AnswerFor.js.map +1 -0
- package/dist/Binding.d.ts +4 -0
- package/dist/Binding.d.ts.map +1 -0
- package/dist/Binding.js +2 -0
- package/dist/Binding.js.map +1 -0
- package/dist/{identity.d.ts → CallIdentity.d.ts} +4 -17
- package/dist/CallIdentity.d.ts.map +1 -0
- package/dist/{identity.js → CallIdentity.js} +3 -6
- package/dist/CallIdentity.js.map +1 -0
- package/dist/Constraint.d.ts +3 -0
- package/dist/Constraint.d.ts.map +1 -0
- package/dist/Constraint.js +2 -0
- package/dist/Constraint.js.map +1 -0
- package/dist/{conventions.d.ts → Conventions.d.ts} +14 -8
- package/dist/Conventions.d.ts.map +1 -0
- package/dist/{conventions.js → Conventions.js} +7 -3
- package/dist/Conventions.js.map +1 -0
- package/dist/ConventionsInput.d.ts +8 -0
- package/dist/ConventionsInput.d.ts.map +1 -0
- package/dist/ConventionsInput.js +2 -0
- package/dist/ConventionsInput.js.map +1 -0
- package/dist/Ctor.d.ts +3 -0
- package/dist/Ctor.d.ts.map +1 -0
- package/dist/Ctor.js +2 -0
- package/dist/Ctor.js.map +1 -0
- package/dist/Declared.d.ts +8 -0
- package/dist/Declared.d.ts.map +1 -0
- package/dist/Declared.js +2 -0
- package/dist/Declared.js.map +1 -0
- package/dist/DeclaredHandler.d.ts +18 -0
- package/dist/DeclaredHandler.d.ts.map +1 -0
- package/dist/DeclaredHandler.js +2 -0
- package/dist/DeclaredHandler.js.map +1 -0
- package/dist/DeclaredSubject.d.ts +7 -0
- package/dist/DeclaredSubject.d.ts.map +1 -0
- package/dist/DeclaredSubject.js +2 -0
- package/dist/DeclaredSubject.js.map +1 -0
- package/dist/{graph.d.ts → DomainCluster.d.ts} +3 -12
- package/dist/DomainCluster.d.ts.map +1 -0
- package/dist/{graph.js → DomainCluster.js} +1 -1
- package/dist/DomainCluster.js.map +1 -0
- package/dist/EffectiveCollector.d.ts +8 -0
- package/dist/EffectiveCollector.d.ts.map +1 -0
- package/dist/EffectiveCollector.js +2 -0
- package/dist/EffectiveCollector.js.map +1 -0
- package/dist/EffectiveOperation.d.ts +65 -0
- package/dist/EffectiveOperation.d.ts.map +1 -0
- package/dist/EffectiveOperation.js +2 -0
- package/dist/EffectiveOperation.js.map +1 -0
- package/dist/EffectiveOperationModel.d.ts +24 -0
- package/dist/EffectiveOperationModel.d.ts.map +1 -0
- package/dist/{effective-operation.js → EffectiveOperationModel.js} +9 -23
- package/dist/EffectiveOperationModel.js.map +1 -0
- package/dist/EffectiveOperationOptions.d.ts +7 -0
- package/dist/EffectiveOperationOptions.d.ts.map +1 -0
- package/dist/EffectiveOperationOptions.js +2 -0
- package/dist/EffectiveOperationOptions.js.map +1 -0
- package/dist/EffectiveOperationSemantics.d.ts +8 -0
- package/dist/EffectiveOperationSemantics.d.ts.map +1 -0
- package/dist/EffectiveOperationSemantics.js +8 -0
- package/dist/EffectiveOperationSemantics.js.map +1 -0
- package/dist/EffectiveOperationsMap.d.ts +3 -0
- package/dist/EffectiveOperationsMap.d.ts.map +1 -0
- package/dist/EffectiveOperationsMap.js +2 -0
- package/dist/EffectiveOperationsMap.js.map +1 -0
- package/dist/EffectiveParameter.d.ts +14 -0
- package/dist/EffectiveParameter.d.ts.map +1 -0
- package/dist/EffectiveParameter.js +2 -0
- package/dist/EffectiveParameter.js.map +1 -0
- package/dist/EntityNode.d.ts +7 -0
- package/dist/EntityNode.d.ts.map +1 -0
- package/dist/EntityNode.js +2 -0
- package/dist/EntityNode.js.map +1 -0
- package/dist/{config-loader.d.ts → FougereConfig.d.ts} +16 -16
- package/dist/FougereConfig.d.ts.map +1 -0
- package/dist/{config-loader.js → FougereConfig.js} +1 -2
- package/dist/FougereConfig.js.map +1 -0
- package/dist/FougereNames.d.ts +4 -0
- package/dist/FougereNames.d.ts.map +1 -0
- package/dist/FougereNames.js +2 -0
- package/dist/FougereNames.js.map +1 -0
- package/dist/FougerePorts.d.ts +9 -0
- package/dist/FougerePorts.d.ts.map +1 -0
- package/dist/FougerePorts.js +2 -0
- package/dist/FougerePorts.js.map +1 -0
- package/dist/FrondConfig.d.ts +36 -0
- package/dist/FrondConfig.d.ts.map +1 -0
- package/dist/{frond-config.js → FrondConfig.js} +1 -1
- package/dist/FrondConfig.js.map +1 -0
- package/dist/{declare.d.ts → FrondDeclaration.d.ts} +7 -29
- package/dist/FrondDeclaration.d.ts.map +1 -0
- package/dist/{declare.js → FrondDeclaration.js} +2 -3
- package/dist/FrondDeclaration.js.map +1 -0
- package/dist/FrondIdentity.d.ts +8 -0
- package/dist/FrondIdentity.d.ts.map +1 -0
- package/dist/FrondIdentity.js +2 -0
- package/dist/FrondIdentity.js.map +1 -0
- package/dist/NameOf.d.ts +10 -0
- package/dist/NameOf.d.ts.map +1 -0
- package/dist/NameOf.js +2 -0
- package/dist/NameOf.js.map +1 -0
- package/dist/OperationOverride.d.ts +38 -0
- package/dist/OperationOverride.d.ts.map +1 -0
- package/dist/OperationOverride.js +2 -0
- package/dist/OperationOverride.js.map +1 -0
- package/dist/PortChoice.d.ts +13 -0
- package/dist/PortChoice.d.ts.map +1 -0
- package/dist/PortChoice.js +2 -0
- package/dist/PortChoice.js.map +1 -0
- package/dist/{source.d.ts → Source.d.ts} +5 -24
- package/dist/Source.d.ts.map +1 -0
- package/dist/{source.js → Source.js} +5 -4
- package/dist/Source.js.map +1 -0
- package/dist/SourceConfig.d.ts +10 -0
- package/dist/SourceConfig.d.ts.map +1 -0
- package/dist/SourceConfig.js +2 -0
- package/dist/SourceConfig.js.map +1 -0
- package/dist/SourceView.d.ts +13 -0
- package/dist/SourceView.d.ts.map +1 -0
- package/dist/SourceView.js +2 -0
- package/dist/SourceView.js.map +1 -0
- package/dist/VerifiedCall.d.ts +8 -0
- package/dist/VerifiedCall.d.ts.map +1 -0
- package/dist/VerifiedCall.js +2 -0
- package/dist/VerifiedCall.js.map +1 -0
- package/dist/boot/App.d.ts +71 -0
- package/dist/boot/App.d.ts.map +1 -0
- package/dist/boot/App.js +2 -0
- package/dist/boot/App.js.map +1 -0
- package/dist/boot/AppLifecycle.d.ts +2 -19
- package/dist/boot/AppLifecycle.d.ts.map +1 -1
- package/dist/boot/AppLifecycle.js.map +1 -1
- package/dist/boot/AuthConfig.d.ts +14 -0
- package/dist/boot/AuthConfig.d.ts.map +1 -0
- package/dist/boot/AuthConfig.js +2 -0
- package/dist/boot/AuthConfig.js.map +1 -0
- package/dist/boot/AuthContext.d.ts +12 -0
- package/dist/boot/AuthContext.d.ts.map +1 -0
- package/dist/boot/AuthContext.js +2 -0
- package/dist/boot/AuthContext.js.map +1 -0
- package/dist/boot/AuthRuntime.d.ts +19 -0
- package/dist/boot/AuthRuntime.d.ts.map +1 -0
- package/dist/boot/AuthRuntime.js +2 -0
- package/dist/boot/AuthRuntime.js.map +1 -0
- package/dist/boot/CreateAppOptions.d.ts +81 -0
- package/dist/boot/CreateAppOptions.d.ts.map +1 -0
- package/dist/boot/CreateAppOptions.js +2 -0
- package/dist/boot/CreateAppOptions.js.map +1 -0
- package/dist/boot/Emissions.d.ts +11 -7
- package/dist/boot/Emissions.d.ts.map +1 -1
- package/dist/boot/Emissions.js +83 -45
- package/dist/boot/Emissions.js.map +1 -1
- package/dist/boot/Extension.d.ts +20 -0
- package/dist/boot/Extension.d.ts.map +1 -0
- package/dist/boot/Extension.js +2 -0
- package/dist/boot/Extension.js.map +1 -0
- package/dist/boot/Hosting.d.ts +38 -0
- package/dist/boot/Hosting.d.ts.map +1 -0
- package/dist/boot/Hosting.js +2 -0
- package/dist/boot/Hosting.js.map +1 -0
- package/dist/boot/Peer.d.ts +16 -0
- package/dist/boot/Peer.d.ts.map +1 -0
- package/dist/boot/Peer.js +2 -0
- package/dist/boot/Peer.js.map +1 -0
- package/dist/boot/apply.d.ts +1 -1
- package/dist/boot/apply.js +1 -1
- package/dist/boot/apply.js.map +1 -1
- package/dist/boot/bootstrap.d.ts +2 -1
- package/dist/boot/bootstrap.d.ts.map +1 -1
- package/dist/boot/bootstrap.js +196 -59
- package/dist/boot/bootstrap.js.map +1 -1
- package/dist/boot/card.d.ts +2 -2
- package/dist/boot/card.d.ts.map +1 -1
- package/dist/boot/card.js +11 -8
- package/dist/boot/card.js.map +1 -1
- package/dist/boot/declared.d.ts +2 -2
- package/dist/boot/declared.d.ts.map +1 -1
- package/dist/boot/declared.js +36 -4
- package/dist/boot/declared.js.map +1 -1
- package/dist/boot/frame.d.ts +1 -1
- package/dist/boot/frame.js +1 -1
- package/dist/boot/hosted.d.ts +1 -1
- package/dist/boot/hosted.d.ts.map +1 -1
- package/dist/boot/install.d.ts +21 -7
- package/dist/boot/install.d.ts.map +1 -1
- package/dist/boot/install.js +41 -27
- package/dist/boot/install.js.map +1 -1
- package/dist/boot/ownership.d.ts +7 -5
- package/dist/boot/ownership.d.ts.map +1 -1
- package/dist/boot/ownership.js +81 -40
- package/dist/boot/ownership.js.map +1 -1
- package/dist/boot/peerOver.d.ts +4 -0
- package/dist/boot/peerOver.d.ts.map +1 -0
- package/dist/boot/peerOver.js +12 -0
- package/dist/boot/peerOver.js.map +1 -0
- package/dist/boot/ports.d.ts +4 -3
- package/dist/boot/ports.d.ts.map +1 -1
- package/dist/boot/ports.js +48 -37
- package/dist/boot/ports.js.map +1 -1
- package/dist/boot/relations.d.ts +54 -0
- package/dist/boot/relations.d.ts.map +1 -0
- package/dist/boot/relations.js +150 -0
- package/dist/boot/relations.js.map +1 -0
- package/dist/boot/remote.d.ts +3 -8
- package/dist/boot/remote.d.ts.map +1 -1
- package/dist/boot/remote.js +19 -15
- package/dist/boot/remote.js.map +1 -1
- package/dist/boot/runner.d.ts +2 -2
- package/dist/boot/runner.d.ts.map +1 -1
- package/dist/boot/seed.d.ts +4 -3
- package/dist/boot/seed.d.ts.map +1 -1
- package/dist/boot/seed.js +6 -6
- package/dist/boot/seed.js.map +1 -1
- package/dist/boot/statement-drift.d.ts +4 -3
- package/dist/boot/statement-drift.d.ts.map +1 -1
- package/dist/boot/statement-drift.js.map +1 -1
- package/dist/boot/together.d.ts +11 -4
- package/dist/boot/together.d.ts.map +1 -1
- package/dist/boot/together.js +62 -28
- package/dist/boot/together.js.map +1 -1
- package/dist/builtin/Carry.d.ts +29 -0
- package/dist/builtin/Carry.d.ts.map +1 -0
- package/dist/builtin/Carry.js +46 -0
- package/dist/builtin/Carry.js.map +1 -0
- package/dist/builtin/LogLevel.d.ts +2 -0
- package/dist/builtin/LogLevel.d.ts.map +1 -0
- package/dist/builtin/LogLevel.js +2 -0
- package/dist/builtin/LogLevel.js.map +1 -0
- package/dist/builtin/LogRecord.d.ts +12 -0
- package/dist/builtin/LogRecord.d.ts.map +1 -0
- package/dist/builtin/LogRecord.js +2 -0
- package/dist/builtin/LogRecord.js.map +1 -0
- package/dist/builtin/LogSink.d.ts +4 -0
- package/dist/builtin/LogSink.d.ts.map +1 -0
- package/dist/builtin/LogSink.js +2 -0
- package/dist/builtin/LogSink.js.map +1 -0
- package/dist/builtin/Logger.d.ts +27 -0
- package/dist/builtin/Logger.d.ts.map +1 -0
- package/dist/builtin/{logger.js → Logger.js} +1 -47
- package/dist/builtin/Logger.js.map +1 -0
- package/dist/builtin/LoggerOptions.d.ts +14 -0
- package/dist/builtin/LoggerOptions.d.ts.map +1 -0
- package/dist/builtin/LoggerOptions.js +2 -0
- package/dist/builtin/LoggerOptions.js.map +1 -0
- package/dist/builtin/Rendered.d.ts +21 -0
- package/dist/builtin/Rendered.d.ts.map +1 -0
- package/dist/builtin/Rendered.js +2 -0
- package/dist/builtin/Rendered.js.map +1 -0
- package/dist/contract.d.ts +35 -13
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +9 -6
- package/dist/contract.js.map +1 -1
- package/dist/crypto/CryptoPort.d.ts +12 -0
- package/dist/crypto/CryptoPort.d.ts.map +1 -0
- package/dist/crypto/CryptoPort.js +2 -0
- package/dist/crypto/CryptoPort.js.map +1 -0
- package/dist/crypto/PublicJwk.d.ts +8 -0
- package/dist/crypto/PublicJwk.d.ts.map +1 -0
- package/dist/crypto/PublicJwk.js +2 -0
- package/dist/crypto/PublicJwk.js.map +1 -0
- package/dist/crypto/Signer.d.ts +5 -0
- package/dist/crypto/Signer.d.ts.map +1 -0
- package/dist/crypto/Signer.js +2 -0
- package/dist/crypto/Signer.js.map +1 -0
- package/dist/crypto/Verifier.d.ts +6 -0
- package/dist/crypto/Verifier.d.ts.map +1 -0
- package/dist/crypto/Verifier.js +2 -0
- package/dist/crypto/Verifier.js.map +1 -0
- package/dist/crypto/node.d.ts +4 -1
- package/dist/crypto/node.d.ts.map +1 -1
- package/dist/crypto/node.js.map +1 -1
- package/dist/crypto/webcrypto.d.ts +4 -1
- package/dist/crypto/webcrypto.d.ts.map +1 -1
- package/dist/crypto/webcrypto.js.map +1 -1
- package/dist/define.d.ts +1 -1
- package/dist/descriptor/CollectorEntry.d.ts +12 -0
- package/dist/descriptor/CollectorEntry.d.ts.map +1 -0
- package/dist/descriptor/CollectorEntry.js +2 -0
- package/dist/descriptor/CollectorEntry.js.map +1 -0
- package/dist/descriptor/EntityEntry.d.ts +13 -0
- package/dist/descriptor/EntityEntry.d.ts.map +1 -0
- package/dist/descriptor/EntityEntry.js +2 -0
- package/dist/descriptor/EntityEntry.js.map +1 -0
- package/dist/descriptor/ExtensionEntry.d.ts +20 -0
- package/dist/descriptor/ExtensionEntry.d.ts.map +1 -0
- package/dist/descriptor/ExtensionEntry.js +2 -0
- package/dist/descriptor/ExtensionEntry.js.map +1 -0
- package/dist/descriptor/FrondDescriptor.d.ts +61 -0
- package/dist/descriptor/FrondDescriptor.d.ts.map +1 -0
- package/dist/descriptor/{frond.js → FrondDescriptor.js} +1 -1
- package/dist/descriptor/FrondDescriptor.js.map +1 -0
- package/dist/descriptor/FrondSource.d.ts +8 -0
- package/dist/descriptor/FrondSource.d.ts.map +1 -0
- package/dist/descriptor/FrondSource.js +2 -0
- package/dist/descriptor/FrondSource.js.map +1 -0
- package/dist/descriptor/Fronds.d.ts +2 -1
- package/dist/descriptor/Fronds.d.ts.map +1 -1
- package/dist/descriptor/Fronds.js.map +1 -1
- package/dist/descriptor/HandlerEntry.d.ts +27 -0
- package/dist/descriptor/HandlerEntry.d.ts.map +1 -0
- package/dist/descriptor/HandlerEntry.js +2 -0
- package/dist/descriptor/HandlerEntry.js.map +1 -0
- package/dist/descriptor/MiddlewareEntry.d.ts +17 -0
- package/dist/descriptor/MiddlewareEntry.d.ts.map +1 -0
- package/dist/descriptor/MiddlewareEntry.js +2 -0
- package/dist/descriptor/MiddlewareEntry.js.map +1 -0
- package/dist/descriptor/PresenterEntry.d.ts +23 -0
- package/dist/descriptor/PresenterEntry.d.ts.map +1 -0
- package/dist/descriptor/PresenterEntry.js +2 -0
- package/dist/descriptor/PresenterEntry.js.map +1 -0
- package/dist/descriptor/PresenterFieldMeta.d.ts +14 -0
- package/dist/descriptor/PresenterFieldMeta.d.ts.map +1 -0
- package/dist/descriptor/PresenterFieldMeta.js +2 -0
- package/dist/descriptor/PresenterFieldMeta.js.map +1 -0
- package/dist/descriptor/ProviderEntry.d.ts +19 -0
- package/dist/descriptor/ProviderEntry.d.ts.map +1 -0
- package/dist/descriptor/ProviderEntry.js +2 -0
- package/dist/descriptor/ProviderEntry.js.map +1 -0
- package/dist/descriptor/SeedEntry.d.ts +11 -0
- package/dist/descriptor/SeedEntry.d.ts.map +1 -0
- package/dist/descriptor/SeedEntry.js +2 -0
- package/dist/descriptor/SeedEntry.js.map +1 -0
- package/dist/descriptor/SeedFactory.d.ts +3 -0
- package/dist/descriptor/SeedFactory.d.ts.map +1 -0
- package/dist/descriptor/SeedFactory.js +2 -0
- package/dist/descriptor/SeedFactory.js.map +1 -0
- package/dist/descriptor/bases.d.ts +17 -0
- package/dist/descriptor/bases.d.ts.map +1 -0
- package/dist/descriptor/bases.js +26 -0
- package/dist/descriptor/bases.js.map +1 -0
- package/dist/descriptor/index.d.ts +22 -6
- package/dist/descriptor/index.d.ts.map +1 -1
- package/dist/descriptor/index.js +19 -5
- package/dist/descriptor/index.js.map +1 -1
- package/dist/descriptor/surface.d.ts +3 -2
- package/dist/descriptor/surface.d.ts.map +1 -1
- package/dist/descriptor/surface.js +1 -1
- package/dist/descriptor/surface.js.map +1 -1
- package/dist/diagnostic.d.ts +33 -0
- package/dist/diagnostic.d.ts.map +1 -0
- package/dist/diagnostic.js +12 -0
- package/dist/diagnostic.js.map +1 -0
- package/dist/dispatch/ArgumentResolver.d.ts +2 -5
- package/dist/dispatch/ArgumentResolver.d.ts.map +1 -1
- package/dist/dispatch/ArgumentResolver.js.map +1 -1
- package/dist/dispatch/CollectorLookup.d.ts +3 -0
- package/dist/dispatch/CollectorLookup.d.ts.map +1 -0
- package/dist/dispatch/CollectorLookup.js +2 -0
- package/dist/dispatch/CollectorLookup.js.map +1 -0
- package/dist/dispatch/CollectorResolver.d.ts +5 -0
- package/dist/dispatch/CollectorResolver.d.ts.map +1 -0
- package/dist/dispatch/CollectorResolver.js +2 -0
- package/dist/dispatch/CollectorResolver.js.map +1 -0
- package/dist/dispatch/Dependent.d.ts +19 -0
- package/dist/dispatch/Dependent.d.ts.map +1 -0
- package/dist/dispatch/Dependent.js +2 -0
- package/dist/dispatch/Dependent.js.map +1 -0
- package/dist/dispatch/DispatchEvent.d.ts +3 -4
- package/dist/dispatch/DispatchEvent.d.ts.map +1 -1
- package/dist/dispatch/DispatchEvent.js.map +1 -1
- package/dist/dispatch/DispatchLifecycle.d.ts +2 -1
- package/dist/dispatch/DispatchLifecycle.d.ts.map +1 -1
- package/dist/dispatch/DispatchLifecycle.js.map +1 -1
- package/dist/dispatch/DispatchObserver.d.ts +3 -0
- package/dist/dispatch/DispatchObserver.d.ts.map +1 -0
- package/dist/dispatch/DispatchObserver.js +2 -0
- package/dist/dispatch/DispatchObserver.js.map +1 -0
- package/dist/dispatch/DispatchPort.d.ts +1 -1
- package/dist/dispatch/DispatchStage.d.ts +2 -0
- package/dist/dispatch/DispatchStage.d.ts.map +1 -0
- package/dist/dispatch/DispatchStage.js +2 -0
- package/dist/dispatch/DispatchStage.js.map +1 -0
- package/dist/dispatch/Dispatcher.d.ts +15 -2
- package/dist/dispatch/Dispatcher.d.ts.map +1 -1
- package/dist/dispatch/Dispatcher.js +36 -8
- package/dist/dispatch/Dispatcher.js.map +1 -1
- package/dist/dispatch/Facade.d.ts +25 -0
- package/dist/dispatch/Facade.d.ts.map +1 -0
- package/dist/dispatch/Facade.js +2 -0
- package/dist/dispatch/Facade.js.map +1 -0
- package/dist/dispatch/GuardReport.d.ts +9 -0
- package/dist/dispatch/GuardReport.d.ts.map +1 -0
- package/dist/dispatch/GuardReport.js +2 -0
- package/dist/dispatch/GuardReport.js.map +1 -0
- package/dist/dispatch/HandlerFacade.d.ts +9 -28
- package/dist/dispatch/HandlerFacade.d.ts.map +1 -1
- package/dist/dispatch/HandlerFacade.js +19 -19
- package/dist/dispatch/HandlerFacade.js.map +1 -1
- package/dist/dispatch/InFlight.d.ts.map +1 -1
- package/dist/dispatch/InFlight.js +2 -1
- package/dist/dispatch/InFlight.js.map +1 -1
- package/dist/dispatch/Journal.d.ts +25 -0
- package/dist/dispatch/Journal.d.ts.map +1 -0
- package/dist/dispatch/Journal.js +3 -0
- package/dist/dispatch/Journal.js.map +1 -0
- package/dist/dispatch/LocalRoutePolicy.d.ts +1 -1
- package/dist/dispatch/LocalRoutePolicy.d.ts.map +1 -1
- package/dist/dispatch/LocalRoutePolicy.js +2 -1
- package/dist/dispatch/LocalRoutePolicy.js.map +1 -1
- package/dist/dispatch/OperationRoute.d.ts +2 -2
- package/dist/dispatch/OperationRoute.d.ts.map +1 -1
- package/dist/dispatch/OperationRoute.js.map +1 -1
- package/dist/dispatch/PresenterArgs.d.ts +2 -0
- package/dist/dispatch/PresenterArgs.d.ts.map +1 -0
- package/dist/dispatch/PresenterArgs.js +2 -0
- package/dist/dispatch/PresenterArgs.js.map +1 -0
- package/dist/dispatch/PresenterExecutor.d.ts +1 -1
- package/dist/dispatch/PresenterExecutor.d.ts.map +1 -1
- package/dist/dispatch/PresenterExecutor.js +2 -1
- package/dist/dispatch/PresenterExecutor.js.map +1 -1
- package/dist/dispatch/RelationCheck.d.ts +22 -0
- package/dist/dispatch/RelationCheck.d.ts.map +1 -0
- package/dist/dispatch/RelationCheck.js +2 -0
- package/dist/dispatch/RelationCheck.js.map +1 -0
- package/dist/dispatch/Release.d.ts +36 -0
- package/dist/dispatch/Release.d.ts.map +1 -0
- package/dist/dispatch/Release.js +124 -0
- package/dist/dispatch/Release.js.map +1 -0
- package/dist/dispatch/Route.d.ts +3 -2
- package/dist/dispatch/Route.d.ts.map +1 -1
- package/dist/dispatch/RouteExecution.d.ts +3 -0
- package/dist/dispatch/RouteExecution.d.ts.map +1 -0
- package/dist/dispatch/RouteExecution.js +2 -0
- package/dist/dispatch/RouteExecution.js.map +1 -0
- package/dist/dispatch/RoutePolicy.d.ts +1 -1
- package/dist/dispatch/StorageGuard.d.ts +24 -13
- package/dist/dispatch/StorageGuard.d.ts.map +1 -1
- package/dist/dispatch/StorageGuard.js +69 -12
- package/dist/dispatch/StorageGuard.js.map +1 -1
- package/dist/dispatch/presenterArguments.d.ts +3 -3
- package/dist/dispatch/presenterArguments.d.ts.map +1 -1
- package/dist/dispatch/routeNotFound.d.ts +2 -2
- package/dist/dispatch/routeNotFound.d.ts.map +1 -1
- package/dist/dispatch/routeNotFound.js +2 -1
- package/dist/dispatch/routeNotFound.js.map +1 -1
- package/dist/dispatch/validateInput.d.ts +1 -1
- package/dist/dispatch/validateInput.d.ts.map +1 -1
- package/dist/dispatch/validateInput.js +2 -1
- package/dist/dispatch/validateInput.js.map +1 -1
- package/dist/entry/facade.js +1 -1
- package/dist/entry/transport.d.ts +1 -1
- package/dist/entry/transport.d.ts.map +1 -1
- package/dist/entry/transport.js +1 -1
- package/dist/index.d.ts +97 -33
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -13
- package/dist/index.js.map +1 -1
- package/dist/node.d.ts +2 -2
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +2 -2
- package/dist/node.js.map +1 -1
- package/dist/prefab/AggregateConstructor.d.ts +8 -0
- package/dist/prefab/AggregateConstructor.d.ts.map +1 -0
- package/dist/prefab/AggregateConstructor.js +2 -0
- package/dist/prefab/AggregateConstructor.js.map +1 -0
- package/dist/prefab/AggregateOf.d.ts +7 -0
- package/dist/prefab/AggregateOf.d.ts.map +1 -0
- package/dist/prefab/AggregateOf.js +2 -0
- package/dist/prefab/AggregateOf.js.map +1 -0
- package/dist/prefab/AggregateShape.d.ts +9 -0
- package/dist/prefab/AggregateShape.d.ts.map +1 -0
- package/dist/prefab/AggregateShape.js +2 -0
- package/dist/prefab/AggregateShape.js.map +1 -0
- package/dist/prefab/{crud.d.ts → CrudConstructor.d.ts} +5 -21
- package/dist/prefab/CrudConstructor.d.ts.map +1 -0
- package/dist/prefab/{crud.js → CrudConstructor.js} +1 -1
- package/dist/prefab/CrudConstructor.js.map +1 -0
- package/dist/prefab/CrudOpName.d.ts +3 -0
- package/dist/prefab/CrudOpName.d.ts.map +1 -0
- package/dist/prefab/CrudOpName.js +2 -0
- package/dist/prefab/CrudOpName.js.map +1 -0
- package/dist/prefab/CrudOps.d.ts +20 -0
- package/dist/prefab/CrudOps.d.ts.map +1 -0
- package/dist/prefab/CrudOps.js +2 -0
- package/dist/prefab/CrudOps.js.map +1 -0
- package/dist/prefab/CrudViews.d.ts +5 -0
- package/dist/prefab/CrudViews.d.ts.map +1 -0
- package/dist/prefab/CrudViews.js +2 -0
- package/dist/prefab/CrudViews.js.map +1 -0
- package/dist/prefab/MirrorConstructor.d.ts +9 -0
- package/dist/prefab/MirrorConstructor.d.ts.map +1 -0
- package/dist/prefab/{mirror.js → MirrorConstructor.js} +1 -1
- package/dist/prefab/MirrorConstructor.js.map +1 -0
- package/dist/prefab/MirrorOf.d.ts +19 -0
- package/dist/prefab/MirrorOf.d.ts.map +1 -0
- package/dist/prefab/MirrorOf.js +2 -0
- package/dist/prefab/MirrorOf.js.map +1 -0
- package/dist/prefab/Refreshed.d.ts +10 -0
- package/dist/prefab/Refreshed.d.ts.map +1 -0
- package/dist/prefab/Refreshed.js +2 -0
- package/dist/prefab/Refreshed.js.map +1 -0
- package/dist/prefab/RepositoryConstructor.d.ts +15 -0
- package/dist/prefab/RepositoryConstructor.d.ts.map +1 -0
- package/dist/prefab/{repository.js → RepositoryConstructor.js} +1 -1
- package/dist/prefab/RepositoryConstructor.js.map +1 -0
- package/dist/prefab/RepositoryOf.d.ts +7 -0
- package/dist/prefab/RepositoryOf.d.ts.map +1 -0
- package/dist/prefab/RepositoryOf.js +2 -0
- package/dist/prefab/RepositoryOf.js.map +1 -0
- package/dist/scan.d.ts +3 -22
- package/dist/scan.d.ts.map +1 -1
- package/dist/storage/{criterion.d.ts → Comparison.d.ts} +2 -3
- package/dist/storage/Comparison.d.ts.map +1 -0
- package/dist/storage/{criterion.js → Comparison.js} +1 -2
- package/dist/storage/Comparison.js.map +1 -0
- package/dist/storage/ComparisonName.d.ts +3 -0
- package/dist/storage/ComparisonName.d.ts.map +1 -0
- package/dist/storage/ComparisonName.js +2 -0
- package/dist/storage/ComparisonName.js.map +1 -0
- package/dist/storage/ListOptions.d.ts +23 -0
- package/dist/storage/ListOptions.d.ts.map +1 -0
- package/dist/storage/ListOptions.js +2 -0
- package/dist/storage/ListOptions.js.map +1 -0
- package/dist/storage/ListResult.d.ts +10 -0
- package/dist/storage/ListResult.d.ts.map +1 -0
- package/dist/storage/ListResult.js +2 -0
- package/dist/storage/ListResult.js.map +1 -0
- package/dist/storage/SelectOption.d.ts +6 -0
- package/dist/storage/SelectOption.d.ts.map +1 -0
- package/dist/storage/SelectOption.js +2 -0
- package/dist/storage/SelectOption.js.map +1 -0
- package/dist/storage/{port.d.ts → Storage.d.ts} +4 -47
- package/dist/storage/Storage.d.ts.map +1 -0
- package/dist/storage/{port.js → Storage.js} +1 -1
- package/dist/storage/Storage.js.map +1 -0
- package/dist/storage/StorageFactory.d.ts +8 -0
- package/dist/storage/StorageFactory.d.ts.map +1 -0
- package/dist/storage/StorageFactory.js +2 -0
- package/dist/storage/StorageFactory.js.map +1 -0
- package/dist/storage/{store.d.ts → Store.d.ts} +3 -5
- package/dist/storage/Store.d.ts.map +1 -0
- package/dist/storage/{store.js → Store.js} +3 -4
- package/dist/storage/Store.js.map +1 -0
- package/dist/storage/Together.d.ts +8 -0
- package/dist/storage/Together.d.ts.map +1 -0
- package/dist/storage/Together.js +2 -0
- package/dist/storage/Together.js.map +1 -0
- package/dist/storage/Values.d.ts +3 -0
- package/dist/storage/Values.d.ts.map +1 -0
- package/dist/storage/Values.js +2 -0
- package/dist/storage/Values.js.map +1 -0
- package/dist/verify.d.ts +6 -15
- package/dist/verify.d.ts.map +1 -1
- package/dist/verify.js +5 -5
- package/dist/verify.js.map +1 -1
- package/dist/wire/Addresses.d.ts +16 -0
- package/dist/wire/Addresses.d.ts.map +1 -0
- package/dist/wire/Addresses.js +2 -0
- package/dist/wire/Addresses.js.map +1 -0
- package/dist/wire/Answer.d.ts +3 -0
- package/dist/wire/Answer.d.ts.map +1 -0
- package/dist/wire/Answer.js +2 -0
- package/dist/wire/Answer.js.map +1 -0
- package/dist/wire/AnyHandler.d.ts +3 -0
- package/dist/wire/AnyHandler.d.ts.map +1 -0
- package/dist/wire/AnyHandler.js +2 -0
- package/dist/wire/AnyHandler.js.map +1 -0
- package/dist/wire/AppMiddleware.d.ts +8 -0
- package/dist/wire/AppMiddleware.d.ts.map +1 -0
- package/dist/wire/{middleware.js → AppMiddleware.js} +1 -2
- package/dist/wire/AppMiddleware.js.map +1 -0
- package/dist/wire/AppNext.d.ts +2 -0
- package/dist/wire/AppNext.d.ts.map +1 -0
- package/dist/wire/AppNext.js +2 -0
- package/dist/wire/AppNext.js.map +1 -0
- package/dist/wire/Call.d.ts +10 -0
- package/dist/wire/Call.d.ts.map +1 -0
- package/dist/wire/Call.js +12 -0
- package/dist/wire/Call.js.map +1 -0
- package/dist/wire/CallPage.d.ts +9 -0
- package/dist/wire/CallPage.d.ts.map +1 -0
- package/dist/wire/CallPage.js +2 -0
- package/dist/wire/CallPage.js.map +1 -0
- package/dist/wire/{CallLog.d.ts → CallRecord.d.ts} +3 -10
- package/dist/wire/CallRecord.d.ts.map +1 -0
- package/dist/wire/CallRecord.js +2 -0
- package/dist/wire/CallRecord.js.map +1 -0
- package/dist/wire/{emit.d.ts → Emit.d.ts} +10 -18
- package/dist/wire/Emit.d.ts.map +1 -0
- package/dist/wire/{emit.js → Emit.js} +17 -6
- package/dist/wire/Emit.js.map +1 -0
- package/dist/wire/ErrorCode.d.ts +23 -0
- package/dist/wire/ErrorCode.d.ts.map +1 -0
- package/dist/wire/ErrorCode.js +30 -0
- package/dist/wire/ErrorCode.js.map +1 -0
- package/dist/wire/Facade.d.ts +10 -0
- package/dist/wire/Facade.d.ts.map +1 -0
- package/dist/wire/Facade.js +9 -0
- package/dist/wire/Facade.js.map +1 -0
- package/dist/wire/FacadeName.d.ts +14 -0
- package/dist/wire/FacadeName.d.ts.map +1 -0
- package/dist/wire/FacadeName.js +2 -0
- package/dist/wire/FacadeName.js.map +1 -0
- package/dist/wire/Fact.d.ts +9 -0
- package/dist/wire/Fact.d.ts.map +1 -0
- package/dist/wire/Fact.js +2 -0
- package/dist/wire/Fact.js.map +1 -0
- package/dist/wire/FougereError.d.ts +35 -0
- package/dist/wire/FougereError.d.ts.map +1 -0
- package/dist/wire/{errors.js → FougereError.js} +9 -32
- package/dist/wire/FougereError.js.map +1 -0
- package/dist/wire/FougereErrorOptions.d.ts +10 -0
- package/dist/wire/FougereErrorOptions.d.ts.map +1 -0
- package/dist/wire/FougereErrorOptions.js +2 -0
- package/dist/wire/FougereErrorOptions.js.map +1 -0
- package/dist/wire/FougereHandlers.d.ts +10 -0
- package/dist/wire/FougereHandlers.d.ts.map +1 -0
- package/dist/wire/FougereHandlers.js +2 -0
- package/dist/wire/FougereHandlers.js.map +1 -0
- package/dist/wire/FougereOperations.d.ts +4 -0
- package/dist/wire/FougereOperations.d.ts.map +1 -0
- package/dist/wire/FougereOperations.js +2 -0
- package/dist/wire/FougereOperations.js.map +1 -0
- package/dist/wire/FrondCall.d.ts +10 -0
- package/dist/wire/FrondCall.d.ts.map +1 -0
- package/dist/wire/FrondCall.js +2 -0
- package/dist/wire/FrondCall.js.map +1 -0
- package/dist/wire/HandlerOf.d.ts +10 -0
- package/dist/wire/HandlerOf.d.ts.map +1 -0
- package/dist/wire/HandlerOf.js +2 -0
- package/dist/wire/HandlerOf.js.map +1 -0
- package/dist/wire/Invocation.d.ts +4 -11
- package/dist/wire/Invocation.d.ts.map +1 -1
- package/dist/wire/Invocation.js +4 -1
- package/dist/wire/Invocation.js.map +1 -1
- package/dist/wire/InvocationContext.d.ts +12 -0
- package/dist/wire/InvocationContext.d.ts.map +1 -0
- package/dist/wire/InvocationContext.js +2 -0
- package/dist/wire/InvocationContext.js.map +1 -0
- package/dist/wire/{middleware.d.ts → OperationContext.d.ts} +2 -9
- package/dist/wire/OperationContext.d.ts.map +1 -0
- package/dist/wire/OperationContext.js +2 -0
- package/dist/wire/OperationContext.js.map +1 -0
- package/dist/wire/{operation.d.ts → OperationContract.d.ts} +15 -12
- package/dist/wire/OperationContract.d.ts.map +1 -0
- package/dist/wire/{operation.js → OperationContract.js} +1 -1
- package/dist/wire/OperationContract.js.map +1 -0
- package/dist/wire/OperationKind.d.ts +2 -0
- package/dist/wire/OperationKind.d.ts.map +1 -0
- package/dist/wire/OperationKind.js +2 -0
- package/dist/wire/OperationKind.js.map +1 -0
- package/dist/wire/OperationKindInference.d.ts +8 -0
- package/dist/wire/OperationKindInference.d.ts.map +1 -0
- package/dist/wire/OperationKindInference.js +2 -0
- package/dist/wire/OperationKindInference.js.map +1 -0
- package/dist/wire/OperationsMap.d.ts +7 -0
- package/dist/wire/OperationsMap.d.ts.map +1 -0
- package/dist/wire/OperationsMap.js +7 -0
- package/dist/wire/OperationsMap.js.map +1 -0
- package/dist/wire/Param.d.ts +8 -0
- package/dist/wire/Param.d.ts.map +1 -0
- package/dist/wire/Param.js +2 -0
- package/dist/wire/Param.js.map +1 -0
- package/dist/wire/PartialInvocation.d.ts +3 -0
- package/dist/wire/PartialInvocation.d.ts.map +1 -0
- package/dist/wire/PartialInvocation.js +2 -0
- package/dist/wire/PartialInvocation.js.map +1 -0
- package/dist/wire/Pipe.d.ts +10 -0
- package/dist/wire/Pipe.d.ts.map +1 -0
- package/dist/wire/Pipe.js +2 -0
- package/dist/wire/Pipe.js.map +1 -0
- package/dist/wire/Refused.d.ts +10 -0
- package/dist/wire/Refused.d.ts.map +1 -0
- package/dist/wire/Refused.js +2 -0
- package/dist/wire/Refused.js.map +1 -0
- package/dist/wire/RouteAddress.d.ts +1 -7
- package/dist/wire/RouteAddress.d.ts.map +1 -1
- package/dist/wire/RouteAddress.js.map +1 -1
- package/dist/wire/RouteAddressInput.d.ts +6 -0
- package/dist/wire/RouteAddressInput.d.ts.map +1 -0
- package/dist/wire/RouteAddressInput.js +2 -0
- package/dist/wire/RouteAddressInput.js.map +1 -0
- package/dist/wire/RouteKind.d.ts +3 -0
- package/dist/wire/RouteKind.d.ts.map +1 -0
- package/dist/wire/RouteKind.js +2 -0
- package/dist/wire/RouteKind.js.map +1 -0
- package/dist/wire/Rows.d.ts +8 -0
- package/dist/wire/Rows.d.ts.map +1 -0
- package/dist/wire/Rows.js +2 -0
- package/dist/wire/Rows.js.map +1 -0
- package/dist/wire/RpcAnswer.d.ts +6 -0
- package/dist/wire/RpcAnswer.d.ts.map +1 -0
- package/dist/wire/RpcAnswer.js +3 -0
- package/dist/wire/RpcAnswer.js.map +1 -0
- package/dist/wire/Signature.d.ts +13 -0
- package/dist/wire/Signature.d.ts.map +1 -0
- package/dist/wire/Signature.js +2 -0
- package/dist/wire/Signature.js.map +1 -0
- package/dist/wire/SignedCall.d.ts +14 -0
- package/dist/wire/SignedCall.d.ts.map +1 -0
- package/dist/wire/SignedCall.js +3 -0
- package/dist/wire/SignedCall.js.map +1 -0
- package/dist/wire/Transport.d.ts +5 -0
- package/dist/wire/Transport.d.ts.map +1 -0
- package/dist/wire/Transport.js +2 -0
- package/dist/wire/Transport.js.map +1 -0
- package/dist/wire/{signature.d.ts → TypeRef.d.ts} +1 -17
- package/dist/wire/TypeRef.d.ts.map +1 -0
- package/dist/wire/TypeRef.js +2 -0
- package/dist/wire/TypeRef.js.map +1 -0
- package/dist/wire/binding.d.ts +1 -1
- package/dist/wire/binding.d.ts.map +1 -1
- package/dist/wire/card/CardOp.d.ts +22 -0
- package/dist/wire/card/CardOp.d.ts.map +1 -0
- package/dist/wire/card/CardOp.js +2 -0
- package/dist/wire/card/CardOp.js.map +1 -0
- package/dist/wire/card/IdentityCard.d.ts +22 -0
- package/dist/wire/card/IdentityCard.d.ts.map +1 -0
- package/dist/wire/card/IdentityCard.js +25 -0
- package/dist/wire/card/IdentityCard.js.map +1 -0
- package/dist/wire/drift.d.ts +6 -6
- package/dist/wire/drift.d.ts.map +1 -1
- package/dist/wire/drift.js +18 -18
- package/dist/wire/drift.js.map +1 -1
- package/dist/wire/http-error.d.ts +1 -2
- package/dist/wire/http-error.d.ts.map +1 -1
- package/dist/wire/http-error.js +4 -3
- package/dist/wire/http-error.js.map +1 -1
- package/dist/wire/loggerMiddleware.d.ts +2 -2
- package/dist/wire/loggerMiddleware.d.ts.map +1 -1
- package/dist/wire/refusals.d.ts +33 -0
- package/dist/wire/refusals.d.ts.map +1 -0
- package/dist/wire/refusals.js +44 -0
- package/dist/wire/refusals.js.map +1 -0
- package/dist/wire/topology/DeclaredEdge.d.ts +6 -0
- package/dist/wire/topology/DeclaredEdge.d.ts.map +1 -0
- package/dist/wire/topology/DeclaredEdge.js +2 -0
- package/dist/wire/topology/DeclaredEdge.js.map +1 -0
- package/dist/wire/topology/DeclaredFrond.d.ts +11 -0
- package/dist/wire/topology/DeclaredFrond.d.ts.map +1 -0
- package/dist/wire/topology/DeclaredFrond.js +2 -0
- package/dist/wire/topology/DeclaredFrond.js.map +1 -0
- package/dist/wire/topology/DeclaredTopology.d.ts +12 -0
- package/dist/wire/topology/DeclaredTopology.d.ts.map +1 -0
- package/dist/wire/topology/DeclaredTopology.js +2 -0
- package/dist/wire/topology/DeclaredTopology.js.map +1 -0
- package/dist/wire/topology/Edge.d.ts +8 -0
- package/dist/wire/topology/Edge.d.ts.map +1 -0
- package/dist/wire/topology/Edge.js +2 -0
- package/dist/wire/topology/Edge.js.map +1 -0
- package/dist/wire/topology/FrondPlacement.d.ts +8 -0
- package/dist/wire/topology/FrondPlacement.d.ts.map +1 -0
- package/dist/wire/topology/FrondPlacement.js +2 -0
- package/dist/wire/topology/FrondPlacement.js.map +1 -0
- package/dist/wire/topology/TopologyReport.d.ts +14 -0
- package/dist/wire/topology/TopologyReport.d.ts.map +1 -0
- package/dist/wire/topology/TopologyReport.js +2 -0
- package/dist/wire/topology/TopologyReport.js.map +1 -0
- package/package.json +4 -4
- package/src/AdapterConfig.ts +11 -0
- package/src/AnswerFor.ts +7 -0
- package/src/Binding.ts +4 -0
- package/src/{identity.ts → CallIdentity.ts} +9 -25
- package/src/Constraint.ts +2 -0
- package/src/{conventions.ts → Conventions.ts} +20 -9
- package/src/ConventionsInput.ts +8 -0
- package/src/Ctor.ts +2 -0
- package/src/Declared.ts +8 -0
- package/src/DeclaredHandler.ts +18 -0
- package/src/DeclaredSubject.ts +6 -0
- package/src/{graph.ts → DomainCluster.ts} +2 -12
- package/src/EffectiveCollector.ts +7 -0
- package/src/EffectiveOperation.ts +62 -0
- package/src/{effective-operation.ts → EffectiveOperationModel.ts} +28 -125
- package/src/EffectiveOperationOptions.ts +7 -0
- package/src/EffectiveOperationSemantics.ts +7 -0
- package/src/EffectiveOperationsMap.ts +3 -0
- package/src/EffectiveParameter.ts +13 -0
- package/src/EntityNode.ts +6 -0
- package/src/{config-loader.ts → FougereConfig.ts} +15 -20
- package/src/FougereNames.ts +2 -0
- package/src/FougerePorts.ts +7 -0
- package/src/{frond-config.ts → FrondConfig.ts} +8 -46
- package/src/{declare.ts → FrondDeclaration.ts} +14 -35
- package/src/FrondIdentity.ts +7 -0
- package/src/NameOf.ts +12 -0
- package/src/OperationOverride.ts +38 -0
- package/src/PortChoice.ts +13 -0
- package/src/{source.ts → Source.ts} +7 -23
- package/src/SourceConfig.ts +10 -0
- package/src/SourceView.ts +7 -0
- package/src/VerifiedCall.ts +7 -0
- package/src/boot/App.ts +71 -0
- package/src/boot/AppLifecycle.ts +2 -20
- package/src/boot/AuthConfig.ts +14 -0
- package/src/boot/AuthContext.ts +12 -0
- package/src/boot/AuthRuntime.ts +19 -0
- package/src/boot/CreateAppOptions.ts +81 -0
- package/src/boot/Emissions.ts +86 -56
- package/src/boot/Extension.ts +20 -0
- package/src/boot/Hosting.ts +38 -0
- package/src/boot/Peer.ts +15 -0
- package/src/boot/apply.ts +2 -2
- package/src/boot/bootstrap.ts +240 -87
- package/src/boot/card.ts +15 -11
- package/src/boot/declared.ts +40 -5
- package/src/boot/frame.ts +2 -2
- package/src/boot/hosted.ts +1 -1
- package/src/boot/install.ts +65 -33
- package/src/boot/ownership.ts +92 -52
- package/src/boot/peerOver.ts +17 -0
- package/src/boot/ports.ts +52 -41
- package/src/boot/relations.ts +172 -0
- package/src/boot/remote.ts +24 -17
- package/src/boot/runner.ts +2 -2
- package/src/boot/seed.ts +12 -10
- package/src/boot/statement-drift.ts +6 -5
- package/src/boot/together.ts +82 -38
- package/src/builtin/Carry.ts +49 -0
- package/src/builtin/LogLevel.ts +1 -0
- package/src/builtin/LogRecord.ts +12 -0
- package/src/builtin/LogSink.ts +4 -0
- package/src/builtin/{logger.ts → Logger.ts} +5 -98
- package/src/builtin/LoggerOptions.ts +14 -0
- package/src/builtin/Rendered.ts +21 -0
- package/src/contract.ts +36 -16
- package/src/crypto/CryptoPort.ts +12 -0
- package/src/crypto/PublicJwk.ts +7 -0
- package/src/crypto/Signer.ts +4 -0
- package/src/crypto/Verifier.ts +5 -0
- package/src/crypto/node.ts +4 -1
- package/src/crypto/webcrypto.ts +4 -1
- package/src/define.ts +1 -1
- package/src/descriptor/CollectorEntry.ts +11 -0
- package/src/descriptor/EntityEntry.ts +13 -0
- package/src/descriptor/ExtensionEntry.ts +15 -0
- package/src/descriptor/FrondDescriptor.ts +58 -0
- package/src/descriptor/FrondSource.ts +7 -0
- package/src/descriptor/Fronds.ts +2 -1
- package/src/descriptor/HandlerEntry.ts +27 -0
- package/src/descriptor/MiddlewareEntry.ts +16 -0
- package/src/descriptor/PresenterEntry.ts +23 -0
- package/src/descriptor/PresenterFieldMeta.ts +14 -0
- package/src/descriptor/ProviderEntry.ts +18 -0
- package/src/descriptor/SeedEntry.ts +11 -0
- package/src/descriptor/SeedFactory.ts +2 -0
- package/src/descriptor/bases.ts +30 -0
- package/src/descriptor/index.ts +24 -6
- package/src/descriptor/surface.ts +3 -2
- package/src/diagnostic.ts +41 -0
- package/src/dispatch/ArgumentResolver.ts +2 -7
- package/src/dispatch/CollectorLookup.ts +3 -0
- package/src/dispatch/CollectorResolver.ts +5 -0
- package/src/dispatch/Dependent.ts +19 -0
- package/src/dispatch/DispatchEvent.ts +3 -6
- package/src/dispatch/DispatchLifecycle.ts +2 -1
- package/src/dispatch/DispatchObserver.ts +3 -0
- package/src/dispatch/DispatchPort.ts +1 -1
- package/src/dispatch/DispatchStage.ts +1 -0
- package/src/dispatch/Dispatcher.ts +44 -8
- package/src/dispatch/Facade.ts +25 -0
- package/src/dispatch/GuardReport.ts +9 -0
- package/src/dispatch/HandlerFacade.ts +28 -46
- package/src/dispatch/InFlight.ts +2 -1
- package/src/dispatch/Journal.ts +26 -0
- package/src/dispatch/LocalRoutePolicy.ts +3 -2
- package/src/dispatch/OperationRoute.ts +2 -3
- package/src/dispatch/PresenterArgs.ts +1 -0
- package/src/dispatch/PresenterExecutor.ts +3 -3
- package/src/dispatch/RelationCheck.ts +21 -0
- package/src/dispatch/Release.ts +156 -0
- package/src/dispatch/Route.ts +3 -2
- package/src/dispatch/RouteExecution.ts +3 -0
- package/src/dispatch/RoutePolicy.ts +1 -1
- package/src/dispatch/StorageGuard.ts +75 -19
- package/src/dispatch/presenterArguments.ts +3 -3
- package/src/dispatch/routeNotFound.ts +3 -2
- package/src/dispatch/validateInput.ts +3 -2
- package/src/entry/facade.ts +2 -2
- package/src/entry/transport.ts +2 -2
- package/src/index.ts +101 -52
- package/src/node.ts +2 -2
- package/src/prefab/AggregateConstructor.ts +9 -0
- package/src/prefab/AggregateOf.ts +6 -0
- package/src/prefab/AggregateShape.ts +7 -0
- package/src/prefab/{crud.ts → CrudConstructor.ts} +10 -18
- package/src/prefab/CrudOpName.ts +2 -0
- package/src/prefab/CrudOps.ts +24 -0
- package/src/prefab/CrudViews.ts +5 -0
- package/src/prefab/MirrorConstructor.ts +35 -0
- package/src/prefab/MirrorOf.ts +19 -0
- package/src/prefab/Refreshed.ts +9 -0
- package/src/prefab/{repository.ts → RepositoryConstructor.ts} +8 -24
- package/src/prefab/RepositoryOf.ts +7 -0
- package/src/scan.ts +3 -23
- package/src/storage/{criterion.ts → Comparison.ts} +1 -3
- package/src/storage/ComparisonName.ts +3 -0
- package/src/storage/ListOptions.ts +29 -0
- package/src/storage/ListResult.ts +9 -0
- package/src/storage/SelectOption.ts +6 -0
- package/src/storage/{port.ts → Storage.ts} +5 -56
- package/src/storage/StorageFactory.ts +8 -0
- package/src/storage/{store.ts → Store.ts} +5 -7
- package/src/storage/Together.ts +6 -0
- package/src/storage/Values.ts +2 -0
- package/src/verify.ts +12 -21
- package/src/wire/Addresses.ts +17 -0
- package/src/wire/Answer.ts +3 -0
- package/src/wire/AnyHandler.ts +2 -0
- package/src/wire/AppMiddleware.ts +24 -0
- package/src/wire/AppNext.ts +1 -0
- package/src/wire/Call.ts +15 -0
- package/src/wire/CallPage.ts +9 -0
- package/src/wire/{CallLog.ts → CallRecord.ts} +2 -10
- package/src/wire/{emit.ts → Emit.ts} +24 -24
- package/src/wire/ErrorCode.ts +33 -0
- package/src/wire/Facade.ts +28 -0
- package/src/wire/FacadeName.ts +13 -0
- package/src/wire/Fact.ts +8 -0
- package/src/wire/{errors.ts → FougereError.ts} +14 -53
- package/src/wire/FougereErrorOptions.ts +10 -0
- package/src/wire/FougereHandlers.ts +8 -0
- package/src/wire/FougereOperations.ts +2 -0
- package/src/wire/FrondCall.ts +9 -0
- package/src/wire/HandlerOf.ts +10 -0
- package/src/wire/Invocation.ts +5 -12
- package/src/wire/InvocationContext.ts +11 -0
- package/src/wire/OperationContext.ts +18 -0
- package/src/wire/{operation.ts → OperationContract.ts} +14 -23
- package/src/wire/OperationKind.ts +1 -0
- package/src/wire/OperationKindInference.ts +8 -0
- package/src/wire/OperationsMap.ts +14 -0
- package/src/wire/Param.ts +8 -0
- package/src/wire/PartialInvocation.ts +3 -0
- package/src/wire/Pipe.ts +9 -0
- package/src/wire/Refused.ts +13 -0
- package/src/wire/RouteAddress.ts +1 -8
- package/src/wire/RouteAddressInput.ts +5 -0
- package/src/wire/RouteKind.ts +2 -0
- package/src/wire/Rows.ts +7 -0
- package/src/wire/RpcAnswer.ts +7 -0
- package/src/wire/Signature.ts +13 -0
- package/src/wire/SignedCall.ts +14 -0
- package/src/wire/Transport.ts +5 -0
- package/src/wire/{signature.ts → TypeRef.ts} +0 -18
- package/src/wire/binding.ts +1 -1
- package/src/wire/card/CardOp.ts +22 -0
- package/src/wire/card/IdentityCard.ts +41 -0
- package/src/wire/drift.ts +22 -22
- package/src/wire/http-error.ts +4 -3
- package/src/wire/loggerMiddleware.ts +2 -2
- package/src/wire/refusals.ts +55 -0
- package/src/wire/topology/DeclaredEdge.ts +5 -0
- package/src/wire/topology/DeclaredFrond.ts +10 -0
- package/src/wire/topology/DeclaredTopology.ts +12 -0
- package/src/wire/topology/Edge.ts +7 -0
- package/src/wire/topology/FrondPlacement.ts +7 -0
- package/src/wire/topology/TopologyReport.ts +14 -0
- package/dist/boot/auth.d.ts +0 -43
- package/dist/boot/auth.d.ts.map +0 -1
- package/dist/boot/auth.js +0 -2
- package/dist/boot/auth.js.map +0 -1
- package/dist/boot/types.d.ts +0 -147
- package/dist/boot/types.d.ts.map +0 -1
- package/dist/boot/types.js +0 -2
- package/dist/boot/types.js.map +0 -1
- package/dist/builtin/logger.d.ts +0 -96
- package/dist/builtin/logger.d.ts.map +0 -1
- package/dist/builtin/logger.js.map +0 -1
- package/dist/config-loader.d.ts.map +0 -1
- package/dist/config-loader.js.map +0 -1
- package/dist/conventions.d.ts.map +0 -1
- package/dist/conventions.js.map +0 -1
- package/dist/crypto/port.d.ts +0 -26
- package/dist/crypto/port.d.ts.map +0 -1
- package/dist/crypto/port.js +0 -3
- package/dist/crypto/port.js.map +0 -1
- package/dist/declare.d.ts.map +0 -1
- package/dist/declare.js.map +0 -1
- package/dist/descriptor/frond.d.ts +0 -187
- package/dist/descriptor/frond.d.ts.map +0 -1
- package/dist/descriptor/frond.js.map +0 -1
- package/dist/effective-operation.d.ts +0 -113
- package/dist/effective-operation.d.ts.map +0 -1
- package/dist/effective-operation.js.map +0 -1
- package/dist/frond-config.d.ts +0 -71
- package/dist/frond-config.d.ts.map +0 -1
- package/dist/frond-config.js.map +0 -1
- package/dist/graph.d.ts.map +0 -1
- package/dist/graph.js.map +0 -1
- package/dist/identity.d.ts.map +0 -1
- package/dist/identity.js.map +0 -1
- package/dist/prefab/crud.d.ts.map +0 -1
- package/dist/prefab/crud.js.map +0 -1
- package/dist/prefab/mirror.d.ts +0 -33
- package/dist/prefab/mirror.d.ts.map +0 -1
- package/dist/prefab/mirror.js.map +0 -1
- package/dist/prefab/repository.d.ts +0 -40
- package/dist/prefab/repository.d.ts.map +0 -1
- package/dist/prefab/repository.js.map +0 -1
- package/dist/source.d.ts.map +0 -1
- package/dist/source.js.map +0 -1
- package/dist/storage/criterion.d.ts.map +0 -1
- package/dist/storage/criterion.js.map +0 -1
- package/dist/storage/port.d.ts.map +0 -1
- package/dist/storage/port.js.map +0 -1
- package/dist/storage/store.d.ts.map +0 -1
- package/dist/storage/store.js.map +0 -1
- package/dist/wire/CallLog.d.ts.map +0 -1
- package/dist/wire/CallLog.js +0 -2
- package/dist/wire/CallLog.js.map +0 -1
- package/dist/wire/call.d.ts +0 -130
- package/dist/wire/call.d.ts.map +0 -1
- package/dist/wire/call.js +0 -47
- package/dist/wire/call.js.map +0 -1
- package/dist/wire/emit.d.ts.map +0 -1
- package/dist/wire/emit.js.map +0 -1
- package/dist/wire/errors.d.ts +0 -58
- package/dist/wire/errors.d.ts.map +0 -1
- package/dist/wire/errors.js.map +0 -1
- package/dist/wire/middleware.d.ts.map +0 -1
- package/dist/wire/middleware.js.map +0 -1
- package/dist/wire/operation.d.ts.map +0 -1
- package/dist/wire/operation.js.map +0 -1
- package/dist/wire/signature.d.ts.map +0 -1
- package/dist/wire/signature.js +0 -2
- package/dist/wire/signature.js.map +0 -1
- package/src/boot/auth.ts +0 -45
- package/src/boot/types.ts +0 -148
- package/src/crypto/port.ts +0 -29
- package/src/descriptor/frond.ts +0 -195
- package/src/prefab/mirror.ts +0 -60
- package/src/wire/call.ts +0 -178
- package/src/wire/middleware.ts +0 -43
package/src/boot/together.ts
CHANGED
|
@@ -6,11 +6,15 @@
|
|
|
6
6
|
import { ambient } from '#ambient';
|
|
7
7
|
import { upperFirst, lowerFirst, type SchemaView } from '@fougere/schema';
|
|
8
8
|
import type { Container } from '@fougere/container';
|
|
9
|
-
import { membersOfTogetherKey, storageKeyOf,
|
|
10
|
-
import type
|
|
11
|
-
import type {
|
|
9
|
+
import { entityOfStorageKey, membersOfTogetherKey, storageKeyOf, type Storage } from '../storage/Storage.js';
|
|
10
|
+
import { type StorageFactory } from '../storage/StorageFactory.js';
|
|
11
|
+
import type { Logger } from '../builtin/Logger.js';
|
|
12
|
+
import type { ProviderEntry } from '../descriptor/ProviderEntry.js';
|
|
12
13
|
import { StorageGuard } from '../dispatch/StorageGuard.js';
|
|
14
|
+
import { heldBy, releasing } from './relations.js';
|
|
15
|
+
import type { Hosting } from './Hosting.js';
|
|
13
16
|
import { recording, unwind, type Undo } from './frame.js';
|
|
17
|
+
import type { Diagnostic } from '../diagnostic.js';
|
|
14
18
|
|
|
15
19
|
/** Everything the boot knows that a frame needs, gathered once for every frond. */
|
|
16
20
|
export interface FrameWorld {
|
|
@@ -24,6 +28,8 @@ export interface FrameWorld {
|
|
|
24
28
|
/** Whether that source hands one out — asked before the frame is built, not at the call. */
|
|
25
29
|
transacts?: (source: string) => boolean;
|
|
26
30
|
transacted?: <R>(source: string, fn: (storageFactory: StorageFactory) => Promise<R>) => Promise<R>;
|
|
31
|
+
/** What a member's references ask before a write — the answer its frond's own storage gets. */
|
|
32
|
+
hosting: Hosting;
|
|
27
33
|
log: Logger;
|
|
28
34
|
}
|
|
29
35
|
|
|
@@ -33,61 +39,87 @@ interface Members {
|
|
|
33
39
|
providers: ProviderEntry[];
|
|
34
40
|
}
|
|
35
41
|
|
|
36
|
-
/** Each declared name, resolved to what it designates. */
|
|
37
|
-
function resolve(
|
|
38
|
-
|
|
42
|
+
/** Each declared name, resolved to what it designates — or nothing, and why. */
|
|
43
|
+
function resolve(
|
|
44
|
+
names: { entities: string[]; providers: string[] },
|
|
45
|
+
declared: readonly ProviderEntry[],
|
|
46
|
+
world: FrameWorld,
|
|
47
|
+
asked: Asked,
|
|
48
|
+
refused: Diagnostic[],
|
|
49
|
+
): Members | undefined {
|
|
50
|
+
const before = refused.length;
|
|
51
|
+
|
|
52
|
+
const entities = names.entities.flatMap((member) => {
|
|
39
53
|
const name = lowerFirst(member);
|
|
40
54
|
const schema = world.entityByName.get(name);
|
|
41
55
|
if (!schema) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
56
|
+
refused.push({
|
|
57
|
+
...asked,
|
|
58
|
+
code: 'together-entity-unknown',
|
|
59
|
+
message: `Together<[…${member}…]>: no entity named '${member}' is scanned in this app. `
|
|
60
|
+
+ 'The first list names entities; a class of this frond goes in the second.',
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
return [];
|
|
46
64
|
}
|
|
47
|
-
|
|
65
|
+
|
|
66
|
+
return [{ name, schema }];
|
|
48
67
|
});
|
|
49
68
|
|
|
50
|
-
const providers = names.providers.
|
|
69
|
+
const providers = names.providers.flatMap((member) => {
|
|
51
70
|
const entry = declared.find((provider) => provider.ctor.name === member);
|
|
52
71
|
if (!entry) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
`
|
|
57
|
-
|
|
72
|
+
refused.push({
|
|
73
|
+
...asked,
|
|
74
|
+
code: 'together-provider-unknown',
|
|
75
|
+
message: `Together<[…], [… ${member} …]>: this frond declares no class named '${member}'. `
|
|
76
|
+
+ 'The second list names providers to rebuild inside the frame — a service, a mirror, '
|
|
77
|
+
+ 'a repository — so that what they write is covered by the unwind.',
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
return [];
|
|
58
81
|
}
|
|
59
|
-
|
|
82
|
+
|
|
83
|
+
return [entry];
|
|
60
84
|
});
|
|
61
85
|
|
|
62
|
-
return { entities, providers };
|
|
86
|
+
return refused.length === before ? { entities, providers } : undefined;
|
|
63
87
|
}
|
|
64
88
|
|
|
89
|
+
/** Who asked for the frame, and where they wrote it — the same three fields every refusal here carries. */
|
|
90
|
+
type Asked = { severity: 'blocking'; filePath: string; subject: string };
|
|
91
|
+
|
|
65
92
|
/** A member that cannot write here at all — its frond is hosted elsewhere. */
|
|
66
|
-
function
|
|
93
|
+
function remoteMembers(members: Members, world: FrameWorld, asked: Asked, refused: Diagnostic[]): void {
|
|
67
94
|
for (const member of members.entities) {
|
|
68
95
|
const frond = world.frondOf.get(member.name);
|
|
69
96
|
if (frond && !world.hostedHere(frond)) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
`
|
|
74
|
-
|
|
97
|
+
refused.push({
|
|
98
|
+
...asked,
|
|
99
|
+
code: 'together-member-remote',
|
|
100
|
+
message: `'${member.name}' belongs to frond '${frond}', which this process declares in `
|
|
101
|
+
+ 'remotes: — it registers no storage here, so its writes cannot be part of a frame. '
|
|
102
|
+
+ 'Host the frond here, or split the work and join the halves with a fact.',
|
|
103
|
+
});
|
|
75
104
|
}
|
|
76
105
|
}
|
|
77
106
|
}
|
|
78
107
|
|
|
79
108
|
/** A provider member writing an entity the frame does not name. */
|
|
80
|
-
function
|
|
109
|
+
function uncoveredWrites(members: Members, world: FrameWorld, asked: Asked, refused: Diagnostic[]): void {
|
|
81
110
|
const covered = new Set(members.entities.map((member) => member.name));
|
|
82
111
|
for (const provider of members.providers) {
|
|
83
112
|
for (const dep of provider.deps) {
|
|
84
113
|
const entity = entityOfStorageKey(dep, (name) => world.entityByName.has(name));
|
|
85
114
|
if (!entity || covered.has(entity)) continue;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
115
|
+
refused.push({
|
|
116
|
+
...asked,
|
|
117
|
+
filePath: provider.filePath,
|
|
118
|
+
code: 'together-write-uncovered',
|
|
119
|
+
message: `${provider.ctor.name} writes ${entity}, which is not in the frame's entity list `
|
|
120
|
+
+ `— its writes would escape the unwind. Add it: `
|
|
121
|
+
+ `Together<[…, ${upperFirst(entity)}], [… ${provider.ctor.name} …]>.`,
|
|
122
|
+
});
|
|
91
123
|
}
|
|
92
124
|
}
|
|
93
125
|
}
|
|
@@ -121,26 +153,38 @@ async function inScope<R>(
|
|
|
121
153
|
/** Register one frame per key a handler or provider of this frond asked for. */
|
|
122
154
|
export function registerFrames(
|
|
123
155
|
scope: Container,
|
|
124
|
-
|
|
156
|
+
wanted: Iterable<{ key: string; filePath: string }>,
|
|
125
157
|
providers: readonly ProviderEntry[],
|
|
126
158
|
world: FrameWorld,
|
|
159
|
+
refused: Diagnostic[],
|
|
127
160
|
): void {
|
|
128
161
|
let registered = 0;
|
|
129
|
-
|
|
162
|
+
const seen = new Set<string>();
|
|
163
|
+
for (const { key, filePath } of wanted) {
|
|
164
|
+
if (seen.has(key)) continue;
|
|
165
|
+
seen.add(key);
|
|
130
166
|
const names = membersOfTogetherKey(key);
|
|
131
167
|
if (!names) continue;
|
|
132
168
|
registered += 1;
|
|
169
|
+
const asked = { severity: 'blocking', filePath, subject: key } as const;
|
|
133
170
|
if (!world.storageFactory) {
|
|
134
|
-
|
|
171
|
+
refused.push({
|
|
172
|
+
...asked,
|
|
173
|
+
code: 'together-needs-storage',
|
|
174
|
+
message: `Together<[${names.entities.join(', ')}]> needs storage, and this boot declares none.`,
|
|
175
|
+
});
|
|
176
|
+
continue;
|
|
135
177
|
}
|
|
136
178
|
|
|
137
|
-
const members = resolve(names, providers, world);
|
|
138
|
-
|
|
139
|
-
|
|
179
|
+
const members = resolve(names, providers, world, asked, refused);
|
|
180
|
+
// Nothing left to build a frame out of, and the refusals above already say what is missing.
|
|
181
|
+
if (!members) continue;
|
|
182
|
+
remoteMembers(members, world, asked, refused);
|
|
183
|
+
uncoveredWrites(members, world, asked, refused);
|
|
140
184
|
|
|
141
185
|
const sources = new Set(members.entities.map((member) => world.sourceOf?.(member.name) ?? 'db'));
|
|
142
186
|
const validator = (storage: Storage, name: string, schema: SchemaView) =>
|
|
143
|
-
new StorageGuard(schema.getFields(), name).guard(storage);
|
|
187
|
+
new StorageGuard(schema.getFields(), name, {}, heldBy(schema, name, world.hosting), releasing(world.hosting)).guard(storage);
|
|
144
188
|
|
|
145
189
|
// One engine and a way into it: the engine gives the unwind AND the isolation. The
|
|
146
190
|
// question goes to the source these members live in — a composition answering for the
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { LogRecord } from './LogRecord.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Where one boot's lines wait, and where they go once they can.
|
|
5
|
+
*
|
|
6
|
+
* PER BOOT and never per process: two apps in one process each have their own
|
|
7
|
+
* destinations, and a slot shared between them sent the second app's lines to the first
|
|
8
|
+
* app's facade — measured on `demos/observability`, where only the first of three printed.
|
|
9
|
+
*
|
|
10
|
+
* A boot writes most of what a process ever logs, and it writes it before any emission is
|
|
11
|
+
* registered, so the lines that say what an app is made of are the ones a destination
|
|
12
|
+
* would miss. Bounded: a boot that never finishes must not grow, and what is dropped is
|
|
13
|
+
* the OLDEST since the lines explaining a refusal are the last.
|
|
14
|
+
*/
|
|
15
|
+
export class Carry {
|
|
16
|
+
private held: LogRecord[] = [];
|
|
17
|
+
private take?: (line: LogRecord) => void;
|
|
18
|
+
|
|
19
|
+
static readonly MAX = 500;
|
|
20
|
+
|
|
21
|
+
/** Take it now, or keep it for whoever arrives. */
|
|
22
|
+
push(record: LogRecord): void {
|
|
23
|
+
if (this.take) {
|
|
24
|
+
try {
|
|
25
|
+
this.take(record);
|
|
26
|
+
} catch { /* announcing never breaks logging, for the same reason a sink does not */ }
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
this.held.push(record);
|
|
30
|
+
if (this.held.length > Carry.MAX) this.held.shift();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/** Hand what is held over, and everything after it. */
|
|
34
|
+
to(take: (line: LogRecord) => void): () => void {
|
|
35
|
+
this.take = take;
|
|
36
|
+
for (const line of this.held.splice(0)) take(line);
|
|
37
|
+
|
|
38
|
+
return () => { this.take = undefined; };
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Forget what is still held — a boot that refused, or an app that declares no
|
|
43
|
+
* destination. Nothing is printed: the console had every one of these lines when it was
|
|
44
|
+
* written, and the hold exists only to hand them on later.
|
|
45
|
+
*/
|
|
46
|
+
forget(): void {
|
|
47
|
+
this.held.length = 0;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'silent';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { LogLevel } from './LogLevel.js';
|
|
2
|
+
|
|
3
|
+
/** One line, before it was formatted for a terminal. */
|
|
4
|
+
export interface LogRecord {
|
|
5
|
+
level: Exclude<LogLevel, 'silent'>;
|
|
6
|
+
/** The logger's own name — 'boot:app', 'boot:app:catalog'. */
|
|
7
|
+
name: string;
|
|
8
|
+
message: string;
|
|
9
|
+
args: unknown[];
|
|
10
|
+
/** Epoch milliseconds. */
|
|
11
|
+
at: number;
|
|
12
|
+
}
|
|
@@ -1,68 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export interface LogRecord {
|
|
7
|
-
level: Exclude<LogLevel, 'silent'>;
|
|
8
|
-
/** The logger's own name — 'boot:app', 'boot:app:catalog'. */
|
|
9
|
-
name: string;
|
|
10
|
-
message: string;
|
|
11
|
-
args: unknown[];
|
|
12
|
-
/** Epoch milliseconds. */
|
|
13
|
-
at: number;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
/** Where a line goes once it is written — `@fougere/log` ships one, `observability` another. */
|
|
17
|
-
export type LogSink = (record: LogRecord) => void;
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Where one boot's lines wait, and where they go once they can.
|
|
21
|
-
*
|
|
22
|
-
* PER BOOT and never per process: two apps in one process each have their own
|
|
23
|
-
* destinations, and a slot shared between them sent the second app's lines to the first
|
|
24
|
-
* app's door — measured on `demos/observability`, where only the first of three printed.
|
|
25
|
-
*
|
|
26
|
-
* A boot writes most of what a process ever logs, and it writes it before any emission is
|
|
27
|
-
* registered, so the lines that say what an app is made of are the ones a destination
|
|
28
|
-
* would miss. Bounded: a boot that never finishes must not grow, and what is dropped is
|
|
29
|
-
* the OLDEST since the lines explaining a refusal are the last.
|
|
30
|
-
*/
|
|
31
|
-
export class Carry {
|
|
32
|
-
private held: LogRecord[] = [];
|
|
33
|
-
private take?: (line: LogRecord) => void;
|
|
34
|
-
|
|
35
|
-
static readonly MAX = 500;
|
|
36
|
-
|
|
37
|
-
/** Take it now, or keep it for whoever arrives. */
|
|
38
|
-
push(record: LogRecord): void {
|
|
39
|
-
if (this.take) {
|
|
40
|
-
try {
|
|
41
|
-
this.take(record);
|
|
42
|
-
} catch { /* announcing never breaks logging, for the same reason a sink does not */ }
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
this.held.push(record);
|
|
46
|
-
if (this.held.length > Carry.MAX) this.held.shift();
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/** Hand what is held over, and everything after it. */
|
|
50
|
-
to(take: (line: LogRecord) => void): () => void {
|
|
51
|
-
this.take = take;
|
|
52
|
-
for (const line of this.held.splice(0)) take(line);
|
|
53
|
-
|
|
54
|
-
return () => { this.take = undefined; };
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Forget what is still held — a boot that refused, or an app that declares no
|
|
59
|
-
* destination. Nothing is printed: the console had every one of these lines when it was
|
|
60
|
-
* written, and the hold exists only to hand them on later.
|
|
61
|
-
*/
|
|
62
|
-
forget(): void {
|
|
63
|
-
this.held.length = 0;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
1
|
+
import type { LogLevel } from './LogLevel.js';
|
|
2
|
+
import type { LogRecord } from './LogRecord.js';
|
|
3
|
+
import type { Carry } from './Carry.js';
|
|
4
|
+
import type { LoggerOptions } from './LoggerOptions.js';
|
|
5
|
+
import type { Rendered } from './Rendered.js';
|
|
66
6
|
|
|
67
7
|
const LEVELS: Record<LogLevel, number> = { debug: 0, info: 1, warn: 2, error: 3, silent: 4 };
|
|
68
8
|
|
|
@@ -125,19 +65,6 @@ function stamp(at: number | Date): string {
|
|
|
125
65
|
return `${h}:${m}:${s}.${ms}`;
|
|
126
66
|
}
|
|
127
67
|
|
|
128
|
-
export interface LoggerOptions {
|
|
129
|
-
/** Logger name / prefix. */
|
|
130
|
-
name?: string;
|
|
131
|
-
/**
|
|
132
|
-
* Where its lines go — one boot's, so two apps in a process do not share a door. A
|
|
133
|
-
* logger without one writes to the console and nowhere else, which is what the boot's
|
|
134
|
-
* first lines do and what an app declaring no destination does forever.
|
|
135
|
-
*/
|
|
136
|
-
carry?: Carry;
|
|
137
|
-
/** Force color on/off. Auto-detected by default. */
|
|
138
|
-
color?: boolean;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
68
|
export class Logger {
|
|
142
69
|
private name: string;
|
|
143
70
|
private color: boolean;
|
|
@@ -176,26 +103,6 @@ export class Logger {
|
|
|
176
103
|
}
|
|
177
104
|
}
|
|
178
105
|
|
|
179
|
-
/**
|
|
180
|
-
* One line, ready for a terminal — the console arguments and which method takes them.
|
|
181
|
-
*
|
|
182
|
-
* Here rather than inside the class because the boot is not the only writer: a destination
|
|
183
|
-
* that prints (`@fougere/log`) hands its own record to the same formatting, so the two
|
|
184
|
-
* outputs cannot drift.
|
|
185
|
-
*
|
|
186
|
-
* One console method per level: `debug` and `info` both went to `console.log`, so nothing
|
|
187
|
-
* downstream — a terminal filter, a collector — could tell them apart.
|
|
188
|
-
*/
|
|
189
|
-
export interface Rendered {
|
|
190
|
-
level: Exclude<LogLevel, 'silent'>;
|
|
191
|
-
name: string;
|
|
192
|
-
message: string;
|
|
193
|
-
/** Absent on most lines: a message usually carries its own detail. */
|
|
194
|
-
args?: unknown[] | null;
|
|
195
|
-
/** Epoch milliseconds from a logger, a `Date` from an entity that stamped it. */
|
|
196
|
-
at: number | Date;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
106
|
export function formatted(
|
|
200
107
|
record: Rendered,
|
|
201
108
|
color = supportsColor(),
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Carry } from './Carry.js';
|
|
2
|
+
|
|
3
|
+
export interface LoggerOptions {
|
|
4
|
+
/** Logger name / prefix. */
|
|
5
|
+
name?: string;
|
|
6
|
+
/**
|
|
7
|
+
* Where its lines go — one boot's, so two apps in a process do not share a facade. A
|
|
8
|
+
* logger without one writes to the console and nowhere else, which is what the boot's
|
|
9
|
+
* first lines do and what an app declaring no destination does forever.
|
|
10
|
+
*/
|
|
11
|
+
carry?: Carry;
|
|
12
|
+
/** Force color on/off. Auto-detected by default. */
|
|
13
|
+
color?: boolean;
|
|
14
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { LogLevel } from './LogLevel.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* One line, ready for a terminal — the console arguments and which method takes them.
|
|
5
|
+
*
|
|
6
|
+
* Here rather than inside the class because the boot is not the only writer: a destination
|
|
7
|
+
* that prints (`@fougere/log`) hands its own record to the same formatting, so the two
|
|
8
|
+
* outputs cannot drift.
|
|
9
|
+
*
|
|
10
|
+
* One console method per level: `debug` and `info` both went to `console.log`, so nothing
|
|
11
|
+
* downstream — a terminal filter, a collector — could tell them apart.
|
|
12
|
+
*/
|
|
13
|
+
export interface Rendered {
|
|
14
|
+
level: Exclude<LogLevel, 'silent'>;
|
|
15
|
+
name: string;
|
|
16
|
+
message: string;
|
|
17
|
+
/** Absent on most lines: a message usually carries its own detail. */
|
|
18
|
+
args?: unknown[] | null;
|
|
19
|
+
/** Epoch milliseconds from a logger, a `Date` from an entity that stamped it. */
|
|
20
|
+
at: number | Date;
|
|
21
|
+
}
|
package/src/contract.ts
CHANGED
|
@@ -3,38 +3,58 @@
|
|
|
3
3
|
* runtime: the error vocabulary, the invocation shape, the call value, the naming convention.
|
|
4
4
|
*/
|
|
5
5
|
import { lowerFirst } from '@fougere/schema';
|
|
6
|
-
import { Invocation
|
|
7
|
-
import type
|
|
6
|
+
import { Invocation } from './wire/Invocation.js';
|
|
7
|
+
import { type InvocationContext } from './wire/InvocationContext.js';
|
|
8
|
+
import type { FrondCall } from './wire/FrondCall.js';
|
|
8
9
|
|
|
9
|
-
export {
|
|
10
|
+
export { ErrorCode } from './wire/ErrorCode.js';
|
|
11
|
+
export { FougereError, validationErrorsOf } from './wire/FougereError.js';
|
|
10
12
|
// What a read may ask about one field. Here rather than on the main entry because an
|
|
11
13
|
// adapter reads it to compile a query, and an adapter carries no boot.
|
|
12
|
-
export { comparisonOf, comparisonsIn } from './storage/
|
|
13
|
-
export type { Comparison } from './storage/
|
|
14
|
+
export { comparisonOf, comparisonsIn } from './storage/Comparison.js';
|
|
15
|
+
export type { Comparison } from './storage/Comparison.js';
|
|
14
16
|
// A receiver turns a refusal into what may cross a process boundary, and it is not
|
|
15
17
|
// core's boot — reaching it through the main entry dragged the scanner into a bundle.
|
|
16
18
|
export { toPublicError } from './wire/http-error.js';
|
|
17
19
|
export { Invocation } from './wire/Invocation.js';
|
|
18
|
-
export type { InvocationContext } from './wire/
|
|
19
|
-
export {
|
|
20
|
+
export type { InvocationContext } from './wire/InvocationContext.js';
|
|
21
|
+
export type { PartialInvocation } from './wire/PartialInvocation.js';
|
|
22
|
+
export { Call } from './wire/Call.js';
|
|
20
23
|
export { RouteAddress } from './wire/RouteAddress.js';
|
|
21
|
-
export type { FrondCall
|
|
22
|
-
export {
|
|
24
|
+
export type { FrondCall } from './wire/FrondCall.js';
|
|
25
|
+
export type { SignedCall } from './wire/SignedCall.js';
|
|
26
|
+
export type { Transport } from './wire/Transport.js';
|
|
27
|
+
export { MAX_BODY_BYTES } from './wire/SignedCall.js';
|
|
23
28
|
// The reserved entity, VALUE and not type: a consumer that wants to leave it alone — a
|
|
24
29
|
// call log ignoring its own reader — has to be able to name it.
|
|
25
|
-
export { RPC_ENTITY } from './wire/
|
|
26
|
-
export type { CallPage
|
|
30
|
+
export { RPC_ENTITY } from './wire/RpcAnswer.js';
|
|
31
|
+
export type { CallPage } from './wire/CallPage.js';
|
|
32
|
+
export type { CallRecord } from './wire/CallRecord.js';
|
|
27
33
|
// The comparison of two cards, which a consumer runs about a producer — browser-safe on
|
|
28
34
|
// purpose: a panel showing the drift holds only the two cards, never the app.
|
|
29
35
|
export { driftOf, agrees, explain } from './wire/drift.js';
|
|
30
36
|
export type { CardDrift } from './wire/drift.js';
|
|
31
37
|
|
|
32
38
|
/** What `rpc.discover` answers. */
|
|
33
|
-
export type
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
} from './wire/
|
|
37
|
-
export {
|
|
39
|
+
export { refusalsOf, type Refusable } from './wire/refusals.js';
|
|
40
|
+
export type { Addresses } from './wire/Addresses.js';
|
|
41
|
+
export type { Answer } from './wire/Answer.js';
|
|
42
|
+
export type { AnyHandler } from './wire/AnyHandler.js';
|
|
43
|
+
export type { FacadeName } from './wire/FacadeName.js';
|
|
44
|
+
export type { FougereHandlers } from './wire/FougereHandlers.js';
|
|
45
|
+
export type { FougereOperations } from './wire/FougereOperations.js';
|
|
46
|
+
export type { HandlerOf } from './wire/HandlerOf.js';
|
|
47
|
+
export type { Refused } from './wire/Refused.js';
|
|
48
|
+
export type { Rows } from './wire/Rows.js';
|
|
49
|
+
export type { CardOp } from './wire/card/CardOp.js';
|
|
50
|
+
export type { IdentityCard } from './wire/card/IdentityCard.js';
|
|
51
|
+
export type { DeclaredEdge } from './wire/topology/DeclaredEdge.js';
|
|
52
|
+
export type { DeclaredFrond } from './wire/topology/DeclaredFrond.js';
|
|
53
|
+
export type { DeclaredTopology } from './wire/topology/DeclaredTopology.js';
|
|
54
|
+
export type { Edge } from './wire/topology/Edge.js';
|
|
55
|
+
export type { FrondPlacement } from './wire/topology/FrondPlacement.js';
|
|
56
|
+
export type { TopologyReport } from './wire/topology/TopologyReport.js';
|
|
57
|
+
export { assertIdentityCard } from './wire/card/IdentityCard.js';
|
|
38
58
|
|
|
39
59
|
/** The key a class name is filed under — 'Post' → 'post'. */
|
|
40
60
|
export { lowerFirst } from '@fougere/schema';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Signer } from './Signer.js';
|
|
2
|
+
import type { Verifier } from './Verifier.js';
|
|
3
|
+
import type { PublicJwk } from './PublicJwk.js';
|
|
4
|
+
|
|
5
|
+
export interface CryptoPort {
|
|
6
|
+
/** SHA-256. What binds an input to an envelope without carrying the input. */
|
|
7
|
+
sha256(data: Uint8Array): Promise<Uint8Array>;
|
|
8
|
+
/** From a PKCS#8 PEM — what `fougere keys` writes. */
|
|
9
|
+
signerOf(privateKeyPem: string): Promise<Signer>;
|
|
10
|
+
/** From an SPKI PEM (the root's) or a JWK (the one a grant embeds). */
|
|
11
|
+
verifierOf(key: string | PublicJwk): Promise<Verifier>;
|
|
12
|
+
}
|
package/src/crypto/node.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/** Ed25519 through `node:crypto` — the default realization, and the fast one. */
|
|
2
2
|
import { createHash, createPrivateKey, createPublicKey, sign, verify } from 'node:crypto';
|
|
3
|
-
import type { CryptoPort
|
|
3
|
+
import type { CryptoPort } from './CryptoPort.js';
|
|
4
|
+
import type { PublicJwk } from './PublicJwk.js';
|
|
5
|
+
import type { Signer } from './Signer.js';
|
|
6
|
+
import type { Verifier } from './Verifier.js';
|
|
4
7
|
|
|
5
8
|
export const crypto: CryptoPort = {
|
|
6
9
|
async sha256(data) {
|
package/src/crypto/webcrypto.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/** Ed25519 through WebCrypto — what a runtime with no `node:` builtin has. */
|
|
2
2
|
import { derOf } from './encoding.js';
|
|
3
|
-
import type { CryptoPort
|
|
3
|
+
import type { CryptoPort } from './CryptoPort.js';
|
|
4
|
+
import type { PublicJwk } from './PublicJwk.js';
|
|
5
|
+
import type { Signer } from './Signer.js';
|
|
6
|
+
import type { Verifier } from './Verifier.js';
|
|
4
7
|
|
|
5
8
|
interface WebSubtle {
|
|
6
9
|
digest(algorithm: string, data: Uint8Array): Promise<ArrayBuffer>;
|
package/src/define.ts
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** A discovered collector (resolves handler input params from invocation context). */
|
|
2
|
+
export interface CollectorEntry {
|
|
3
|
+
/** Registration key of the TYPE this collector resolves — 'user', 'ability'. */
|
|
4
|
+
typeName: string;
|
|
5
|
+
/** The collector class. */
|
|
6
|
+
ctor: new (...args: never[]) => unknown;
|
|
7
|
+
/** Constructor dependency type names (from AST scan). */
|
|
8
|
+
deps: string[];
|
|
9
|
+
/** Absolute file path (for debugging). */
|
|
10
|
+
filePath: string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SchemaView } from '@fougere/schema';
|
|
2
|
+
|
|
3
|
+
/** A discovered entity (Entity subclass in entities/ dir). */
|
|
4
|
+
export interface EntityEntry {
|
|
5
|
+
/** Registration key: class name lowercased first char (e.g. 'product'). */
|
|
6
|
+
name: string;
|
|
7
|
+
/** The Entity class (has static getFields()). */
|
|
8
|
+
entityClass: SchemaView;
|
|
9
|
+
/** Absolute file path (for debugging). */
|
|
10
|
+
filePath: string;
|
|
11
|
+
/** Whether this entity is part of the frond's public contract. */
|
|
12
|
+
exposed?: boolean;
|
|
13
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An extension this frond declares — what rises and falls with the process, written beside the
|
|
3
|
+
* code it instruments.
|
|
4
|
+
*
|
|
5
|
+
* It travels with its frond: moved behind `remotes:`, it mounts on the process serving it there,
|
|
6
|
+
* which is why no key widens it. What must be everywhere is a frond that is everywhere, which
|
|
7
|
+
* `Extension.fronds` already answers.
|
|
8
|
+
*/
|
|
9
|
+
export interface ExtensionEntry {
|
|
10
|
+
/** Its own `name`, or the file's — the ascent REPLACES a name already declared. */
|
|
11
|
+
name: string;
|
|
12
|
+
/** The value handed to the ascent, the same shape `CreateAppOptions.extensions` takes. */
|
|
13
|
+
extension: { name?: string; up?: (app: never) => void | Promise<void>; down?: (app: never) => void | Promise<void> };
|
|
14
|
+
filePath: string;
|
|
15
|
+
}
|