actor-ts 0.9.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/CHANGELOG.md +885 -0
- package/LICENSE +201 -0
- package/README.md +269 -0
- package/dist/Actor.d.ts +49 -0
- package/dist/Actor.d.ts.map +1 -0
- package/dist/Actor.js +45 -0
- package/dist/Actor.js.map +1 -0
- package/dist/ActorContext.d.ts +171 -0
- package/dist/ActorContext.d.ts.map +1 -0
- package/dist/ActorContext.js +13 -0
- package/dist/ActorContext.js.map +1 -0
- package/dist/ActorPath.d.ts +23 -0
- package/dist/ActorPath.d.ts.map +1 -0
- package/dist/ActorPath.js +56 -0
- package/dist/ActorPath.js.map +1 -0
- package/dist/ActorRef.d.ts +54 -0
- package/dist/ActorRef.d.ts.map +1 -0
- package/dist/ActorRef.js +105 -0
- package/dist/ActorRef.js.map +1 -0
- package/dist/ActorSelection.d.ts +48 -0
- package/dist/ActorSelection.d.ts.map +1 -0
- package/dist/ActorSelection.js +84 -0
- package/dist/ActorSelection.js.map +1 -0
- package/dist/ActorSystem.d.ts +152 -0
- package/dist/ActorSystem.d.ts.map +1 -0
- package/dist/ActorSystem.js +248 -0
- package/dist/ActorSystem.js.map +1 -0
- package/dist/CoordinatedShutdown.d.ts +112 -0
- package/dist/CoordinatedShutdown.d.ts.map +1 -0
- package/dist/CoordinatedShutdown.js +252 -0
- package/dist/CoordinatedShutdown.js.map +1 -0
- package/dist/Dispatcher.d.ts +47 -0
- package/dist/Dispatcher.d.ts.map +1 -0
- package/dist/Dispatcher.js +90 -0
- package/dist/Dispatcher.js.map +1 -0
- package/dist/EventStream.d.ts +58 -0
- package/dist/EventStream.d.ts.map +1 -0
- package/dist/EventStream.js +74 -0
- package/dist/EventStream.js.map +1 -0
- package/dist/Extension.d.ts +45 -0
- package/dist/Extension.d.ts.map +1 -0
- package/dist/Extension.js +51 -0
- package/dist/Extension.js.map +1 -0
- package/dist/LogContext.d.ts +44 -0
- package/dist/LogContext.d.ts.map +1 -0
- package/dist/LogContext.js +87 -0
- package/dist/LogContext.js.map +1 -0
- package/dist/Logger.d.ts +57 -0
- package/dist/Logger.d.ts.map +1 -0
- package/dist/Logger.js +81 -0
- package/dist/Logger.js.map +1 -0
- package/dist/Props.d.ts +32 -0
- package/dist/Props.d.ts.map +1 -0
- package/dist/Props.js +27 -0
- package/dist/Props.js.map +1 -0
- package/dist/Router.d.ts +32 -0
- package/dist/Router.d.ts.map +1 -0
- package/dist/Router.js +78 -0
- package/dist/Router.js.map +1 -0
- package/dist/Scheduler.d.ts +25 -0
- package/dist/Scheduler.d.ts.map +1 -0
- package/dist/Scheduler.js +112 -0
- package/dist/Scheduler.js.map +1 -0
- package/dist/Supervision.d.ts +66 -0
- package/dist/Supervision.d.ts.map +1 -0
- package/dist/Supervision.js +75 -0
- package/dist/Supervision.js.map +1 -0
- package/dist/SystemMessages.d.ts +56 -0
- package/dist/SystemMessages.d.ts.map +1 -0
- package/dist/SystemMessages.js +71 -0
- package/dist/SystemMessages.js.map +1 -0
- package/dist/cache/Cache.d.ts +75 -0
- package/dist/cache/Cache.d.ts.map +1 -0
- package/dist/cache/Cache.js +10 -0
- package/dist/cache/Cache.js.map +1 -0
- package/dist/cache/CacheExtension.d.ts +44 -0
- package/dist/cache/CacheExtension.d.ts.map +1 -0
- package/dist/cache/CacheExtension.js +77 -0
- package/dist/cache/CacheExtension.js.map +1 -0
- package/dist/cache/InMemoryCache.d.ts +16 -0
- package/dist/cache/InMemoryCache.d.ts.map +1 -0
- package/dist/cache/InMemoryCache.js +86 -0
- package/dist/cache/InMemoryCache.js.map +1 -0
- package/dist/cache/MemcachedCache.d.ts +71 -0
- package/dist/cache/MemcachedCache.d.ts.map +1 -0
- package/dist/cache/MemcachedCache.js +243 -0
- package/dist/cache/MemcachedCache.js.map +1 -0
- package/dist/cache/RedisCache.d.ts +80 -0
- package/dist/cache/RedisCache.d.ts.map +1 -0
- package/dist/cache/RedisCache.js +194 -0
- package/dist/cache/RedisCache.js.map +1 -0
- package/dist/cache/index.d.ts +9 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +6 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cluster/Cluster.d.ts +251 -0
- package/dist/cluster/Cluster.d.ts.map +1 -0
- package/dist/cluster/Cluster.js +837 -0
- package/dist/cluster/Cluster.js.map +1 -0
- package/dist/cluster/ClusterBootstrap.d.ts +107 -0
- package/dist/cluster/ClusterBootstrap.d.ts.map +1 -0
- package/dist/cluster/ClusterBootstrap.js +184 -0
- package/dist/cluster/ClusterBootstrap.js.map +1 -0
- package/dist/cluster/ClusterClient.d.ts +112 -0
- package/dist/cluster/ClusterClient.d.ts.map +1 -0
- package/dist/cluster/ClusterClient.js +280 -0
- package/dist/cluster/ClusterClient.js.map +1 -0
- package/dist/cluster/ClusterClientReceptionist.d.ts +85 -0
- package/dist/cluster/ClusterClientReceptionist.d.ts.map +1 -0
- package/dist/cluster/ClusterClientReceptionist.js +159 -0
- package/dist/cluster/ClusterClientReceptionist.js.map +1 -0
- package/dist/cluster/ClusterEvents.d.ts +99 -0
- package/dist/cluster/ClusterEvents.d.ts.map +1 -0
- package/dist/cluster/ClusterEvents.js +124 -0
- package/dist/cluster/ClusterEvents.js.map +1 -0
- package/dist/cluster/FailureDetector.d.ts +32 -0
- package/dist/cluster/FailureDetector.d.ts.map +1 -0
- package/dist/cluster/FailureDetector.js +50 -0
- package/dist/cluster/FailureDetector.js.map +1 -0
- package/dist/cluster/Member.d.ts +38 -0
- package/dist/cluster/Member.d.ts.map +1 -0
- package/dist/cluster/Member.js +69 -0
- package/dist/cluster/Member.js.map +1 -0
- package/dist/cluster/NodeAddress.d.ts +24 -0
- package/dist/cluster/NodeAddress.d.ts.map +1 -0
- package/dist/cluster/NodeAddress.js +44 -0
- package/dist/cluster/NodeAddress.js.map +1 -0
- package/dist/cluster/PhiAccrualFailureDetector.d.ts +49 -0
- package/dist/cluster/PhiAccrualFailureDetector.d.ts.map +1 -0
- package/dist/cluster/PhiAccrualFailureDetector.js +139 -0
- package/dist/cluster/PhiAccrualFailureDetector.js.map +1 -0
- package/dist/cluster/Protocol.d.ts +151 -0
- package/dist/cluster/Protocol.d.ts.map +1 -0
- package/dist/cluster/Protocol.js +90 -0
- package/dist/cluster/Protocol.js.map +1 -0
- package/dist/cluster/RefCodec.d.ts +40 -0
- package/dist/cluster/RefCodec.d.ts.map +1 -0
- package/dist/cluster/RefCodec.js +134 -0
- package/dist/cluster/RefCodec.js.map +1 -0
- package/dist/cluster/RemoteActorRef.d.ts +22 -0
- package/dist/cluster/RemoteActorRef.d.ts.map +1 -0
- package/dist/cluster/RemoteActorRef.js +48 -0
- package/dist/cluster/RemoteActorRef.js.map +1 -0
- package/dist/cluster/Transport.d.ts +96 -0
- package/dist/cluster/Transport.d.ts.map +1 -0
- package/dist/cluster/Transport.js +299 -0
- package/dist/cluster/Transport.js.map +1 -0
- package/dist/cluster/downing/DowningProvider.d.ts +32 -0
- package/dist/cluster/downing/DowningProvider.d.ts.map +1 -0
- package/dist/cluster/downing/DowningProvider.js +5 -0
- package/dist/cluster/downing/DowningProvider.js.map +1 -0
- package/dist/cluster/downing/KeepMajority.d.ts +21 -0
- package/dist/cluster/downing/KeepMajority.d.ts.map +1 -0
- package/dist/cluster/downing/KeepMajority.js +39 -0
- package/dist/cluster/downing/KeepMajority.js.map +1 -0
- package/dist/cluster/downing/KeepOldest.d.ts +23 -0
- package/dist/cluster/downing/KeepOldest.d.ts.map +1 -0
- package/dist/cluster/downing/KeepOldest.js +37 -0
- package/dist/cluster/downing/KeepOldest.js.map +1 -0
- package/dist/cluster/downing/KeepReferee.d.ts +23 -0
- package/dist/cluster/downing/KeepReferee.d.ts.map +1 -0
- package/dist/cluster/downing/KeepReferee.js +35 -0
- package/dist/cluster/downing/KeepReferee.js.map +1 -0
- package/dist/cluster/downing/LeaseMajority.d.ts +70 -0
- package/dist/cluster/downing/LeaseMajority.d.ts.map +1 -0
- package/dist/cluster/downing/LeaseMajority.js +129 -0
- package/dist/cluster/downing/LeaseMajority.js.map +1 -0
- package/dist/cluster/downing/StaticQuorum.d.ts +21 -0
- package/dist/cluster/downing/StaticQuorum.d.ts.map +1 -0
- package/dist/cluster/downing/StaticQuorum.js +30 -0
- package/dist/cluster/downing/StaticQuorum.js.map +1 -0
- package/dist/cluster/downing/index.d.ts +13 -0
- package/dist/cluster/downing/index.d.ts.map +1 -0
- package/dist/cluster/downing/index.js +7 -0
- package/dist/cluster/downing/index.js.map +1 -0
- package/dist/cluster/index.d.ts +49 -0
- package/dist/cluster/index.d.ts.map +1 -0
- package/dist/cluster/index.js +33 -0
- package/dist/cluster/index.js.map +1 -0
- package/dist/cluster/pubsub/DistributedPubSubExtension.d.ts +30 -0
- package/dist/cluster/pubsub/DistributedPubSubExtension.d.ts.map +1 -0
- package/dist/cluster/pubsub/DistributedPubSubExtension.js +42 -0
- package/dist/cluster/pubsub/DistributedPubSubExtension.js.map +1 -0
- package/dist/cluster/pubsub/DistributedPubSubMediator.d.ts +56 -0
- package/dist/cluster/pubsub/DistributedPubSubMediator.d.ts.map +1 -0
- package/dist/cluster/pubsub/DistributedPubSubMediator.js +240 -0
- package/dist/cluster/pubsub/DistributedPubSubMediator.js.map +1 -0
- package/dist/cluster/pubsub/Messages.d.ts +75 -0
- package/dist/cluster/pubsub/Messages.d.ts.map +1 -0
- package/dist/cluster/pubsub/Messages.js +66 -0
- package/dist/cluster/pubsub/Messages.js.map +1 -0
- package/dist/cluster/pubsub/index.d.ts +5 -0
- package/dist/cluster/pubsub/index.d.ts.map +1 -0
- package/dist/cluster/pubsub/index.js +4 -0
- package/dist/cluster/pubsub/index.js.map +1 -0
- package/dist/cluster/router/ClusterRouter.d.ts +87 -0
- package/dist/cluster/router/ClusterRouter.d.ts.map +1 -0
- package/dist/cluster/router/ClusterRouter.js +116 -0
- package/dist/cluster/router/ClusterRouter.js.map +1 -0
- package/dist/cluster/router/ConsistentHashing.d.ts +27 -0
- package/dist/cluster/router/ConsistentHashing.d.ts.map +1 -0
- package/dist/cluster/router/ConsistentHashing.js +69 -0
- package/dist/cluster/router/ConsistentHashing.js.map +1 -0
- package/dist/cluster/router/index.d.ts +4 -0
- package/dist/cluster/router/index.d.ts.map +1 -0
- package/dist/cluster/router/index.js +3 -0
- package/dist/cluster/router/index.js.map +1 -0
- package/dist/cluster/sharding/AllocationStrategy.d.ts +45 -0
- package/dist/cluster/sharding/AllocationStrategy.d.ts.map +1 -0
- package/dist/cluster/sharding/AllocationStrategy.js +95 -0
- package/dist/cluster/sharding/AllocationStrategy.js.map +1 -0
- package/dist/cluster/sharding/CassandraRememberEntitiesStore.d.ts +77 -0
- package/dist/cluster/sharding/CassandraRememberEntitiesStore.d.ts.map +1 -0
- package/dist/cluster/sharding/CassandraRememberEntitiesStore.js +98 -0
- package/dist/cluster/sharding/CassandraRememberEntitiesStore.js.map +1 -0
- package/dist/cluster/sharding/ClusterSharding.d.ts +116 -0
- package/dist/cluster/sharding/ClusterSharding.d.ts.map +1 -0
- package/dist/cluster/sharding/ClusterSharding.js +133 -0
- package/dist/cluster/sharding/ClusterSharding.js.map +1 -0
- package/dist/cluster/sharding/CoordinatorState.d.ts +83 -0
- package/dist/cluster/sharding/CoordinatorState.d.ts.map +1 -0
- package/dist/cluster/sharding/CoordinatorState.js +46 -0
- package/dist/cluster/sharding/CoordinatorState.js.map +1 -0
- package/dist/cluster/sharding/Passivate.d.ts +23 -0
- package/dist/cluster/sharding/Passivate.d.ts.map +1 -0
- package/dist/cluster/sharding/Passivate.js +25 -0
- package/dist/cluster/sharding/Passivate.js.map +1 -0
- package/dist/cluster/sharding/RememberEntitiesStore.d.ts +60 -0
- package/dist/cluster/sharding/RememberEntitiesStore.d.ts.map +1 -0
- package/dist/cluster/sharding/RememberEntitiesStore.js +35 -0
- package/dist/cluster/sharding/RememberEntitiesStore.js.map +1 -0
- package/dist/cluster/sharding/ShardAllocator.d.ts +23 -0
- package/dist/cluster/sharding/ShardAllocator.d.ts.map +1 -0
- package/dist/cluster/sharding/ShardAllocator.js +54 -0
- package/dist/cluster/sharding/ShardAllocator.js.map +1 -0
- package/dist/cluster/sharding/ShardCoordinator.d.ts +218 -0
- package/dist/cluster/sharding/ShardCoordinator.d.ts.map +1 -0
- package/dist/cluster/sharding/ShardCoordinator.js +719 -0
- package/dist/cluster/sharding/ShardCoordinator.js.map +1 -0
- package/dist/cluster/sharding/ShardRegion.d.ts +156 -0
- package/dist/cluster/sharding/ShardRegion.d.ts.map +1 -0
- package/dist/cluster/sharding/ShardRegion.js +526 -0
- package/dist/cluster/sharding/ShardRegion.js.map +1 -0
- package/dist/cluster/sharding/ShardedDaemonProcess.d.ts +64 -0
- package/dist/cluster/sharding/ShardedDaemonProcess.d.ts.map +1 -0
- package/dist/cluster/sharding/ShardedDaemonProcess.js +107 -0
- package/dist/cluster/sharding/ShardedDaemonProcess.js.map +1 -0
- package/dist/cluster/sharding/ShardingProtocol.d.ts +92 -0
- package/dist/cluster/sharding/ShardingProtocol.d.ts.map +1 -0
- package/dist/cluster/sharding/ShardingProtocol.js +7 -0
- package/dist/cluster/sharding/ShardingProtocol.js.map +1 -0
- package/dist/cluster/singleton/ClusterSingleton.d.ts +59 -0
- package/dist/cluster/singleton/ClusterSingleton.d.ts.map +1 -0
- package/dist/cluster/singleton/ClusterSingleton.js +63 -0
- package/dist/cluster/singleton/ClusterSingleton.js.map +1 -0
- package/dist/cluster/singleton/ClusterSingletonManager.d.ts +116 -0
- package/dist/cluster/singleton/ClusterSingletonManager.d.ts.map +1 -0
- package/dist/cluster/singleton/ClusterSingletonManager.js +300 -0
- package/dist/cluster/singleton/ClusterSingletonManager.js.map +1 -0
- package/dist/cluster/singleton/ClusterSingletonProxy.d.ts +32 -0
- package/dist/cluster/singleton/ClusterSingletonProxy.d.ts.map +1 -0
- package/dist/cluster/singleton/ClusterSingletonProxy.js +81 -0
- package/dist/cluster/singleton/ClusterSingletonProxy.js.map +1 -0
- package/dist/cluster/singleton/index.d.ts +6 -0
- package/dist/cluster/singleton/index.d.ts.map +1 -0
- package/dist/cluster/singleton/index.js +4 -0
- package/dist/cluster/singleton/index.js.map +1 -0
- package/dist/cluster/transports/MessageChannelTransport.d.ts +52 -0
- package/dist/cluster/transports/MessageChannelTransport.d.ts.map +1 -0
- package/dist/cluster/transports/MessageChannelTransport.js +59 -0
- package/dist/cluster/transports/MessageChannelTransport.js.map +1 -0
- package/dist/config/Config.d.ts +73 -0
- package/dist/config/Config.d.ts.map +1 -0
- package/dist/config/Config.js +240 -0
- package/dist/config/Config.js.map +1 -0
- package/dist/config/ConfigKeys.d.ts +94 -0
- package/dist/config/ConfigKeys.d.ts.map +1 -0
- package/dist/config/ConfigKeys.js +94 -0
- package/dist/config/ConfigKeys.js.map +1 -0
- package/dist/config/Duration.d.ts +2 -0
- package/dist/config/Duration.d.ts.map +1 -0
- package/dist/config/Duration.js +70 -0
- package/dist/config/Duration.js.map +1 -0
- package/dist/config/HoconParser.d.ts +19 -0
- package/dist/config/HoconParser.d.ts.map +1 -0
- package/dist/config/HoconParser.js +473 -0
- package/dist/config/HoconParser.js.map +1 -0
- package/dist/config/Size.d.ts +2 -0
- package/dist/config/Size.d.ts.map +1 -0
- package/dist/config/Size.js +53 -0
- package/dist/config/Size.js.map +1 -0
- package/dist/config/index.d.ts +9 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +7 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/reference.d.ts +11 -0
- package/dist/config/reference.d.ts.map +1 -0
- package/dist/config/reference.js +86 -0
- package/dist/config/reference.js.map +1 -0
- package/dist/coordination/Lease.d.ts +40 -0
- package/dist/coordination/Lease.d.ts.map +1 -0
- package/dist/coordination/Lease.js +2 -0
- package/dist/coordination/Lease.js.map +1 -0
- package/dist/coordination/index.d.ts +5 -0
- package/dist/coordination/index.d.ts.map +1 -0
- package/dist/coordination/index.js +3 -0
- package/dist/coordination/index.js.map +1 -0
- package/dist/coordination/leases/InMemoryLease.d.ts +40 -0
- package/dist/coordination/leases/InMemoryLease.d.ts.map +1 -0
- package/dist/coordination/leases/InMemoryLease.js +109 -0
- package/dist/coordination/leases/InMemoryLease.js.map +1 -0
- package/dist/coordination/leases/KubernetesLease.d.ts +78 -0
- package/dist/coordination/leases/KubernetesLease.d.ts.map +1 -0
- package/dist/coordination/leases/KubernetesLease.js +244 -0
- package/dist/coordination/leases/KubernetesLease.js.map +1 -0
- package/dist/coordination/leases/k8sApi.d.ts +82 -0
- package/dist/coordination/leases/k8sApi.d.ts.map +1 -0
- package/dist/coordination/leases/k8sApi.js +191 -0
- package/dist/coordination/leases/k8sApi.js.map +1 -0
- package/dist/crdt/Crdt.d.ts +52 -0
- package/dist/crdt/Crdt.d.ts.map +1 -0
- package/dist/crdt/Crdt.js +2 -0
- package/dist/crdt/Crdt.js.map +1 -0
- package/dist/crdt/DistributedData.d.ts +314 -0
- package/dist/crdt/DistributedData.d.ts.map +1 -0
- package/dist/crdt/DistributedData.js +658 -0
- package/dist/crdt/DistributedData.js.map +1 -0
- package/dist/crdt/DurableDistributedDataStore.d.ts +50 -0
- package/dist/crdt/DurableDistributedDataStore.d.ts.map +1 -0
- package/dist/crdt/DurableDistributedDataStore.js +75 -0
- package/dist/crdt/DurableDistributedDataStore.js.map +1 -0
- package/dist/crdt/GCounter.d.ts +42 -0
- package/dist/crdt/GCounter.d.ts.map +1 -0
- package/dist/crdt/GCounter.js +75 -0
- package/dist/crdt/GCounter.js.map +1 -0
- package/dist/crdt/GCounterMap.d.ts +60 -0
- package/dist/crdt/GCounterMap.d.ts.map +1 -0
- package/dist/crdt/GCounterMap.js +102 -0
- package/dist/crdt/GCounterMap.js.map +1 -0
- package/dist/crdt/GSet.d.ts +63 -0
- package/dist/crdt/GSet.d.ts.map +1 -0
- package/dist/crdt/GSet.js +77 -0
- package/dist/crdt/GSet.js.map +1 -0
- package/dist/crdt/LWWMap.d.ts +75 -0
- package/dist/crdt/LWWMap.d.ts.map +1 -0
- package/dist/crdt/LWWMap.js +136 -0
- package/dist/crdt/LWWMap.js.map +1 -0
- package/dist/crdt/LWWRegister.d.ts +54 -0
- package/dist/crdt/LWWRegister.d.ts.map +1 -0
- package/dist/crdt/LWWRegister.js +83 -0
- package/dist/crdt/LWWRegister.js.map +1 -0
- package/dist/crdt/MVRegister.d.ts +36 -0
- package/dist/crdt/MVRegister.d.ts.map +1 -0
- package/dist/crdt/MVRegister.js +138 -0
- package/dist/crdt/MVRegister.js.map +1 -0
- package/dist/crdt/ORMap.d.ts +104 -0
- package/dist/crdt/ORMap.d.ts.map +1 -0
- package/dist/crdt/ORMap.js +178 -0
- package/dist/crdt/ORMap.js.map +1 -0
- package/dist/crdt/ORSet.d.ts +81 -0
- package/dist/crdt/ORSet.d.ts.map +1 -0
- package/dist/crdt/ORSet.js +206 -0
- package/dist/crdt/ORSet.js.map +1 -0
- package/dist/crdt/PNCounter.d.ts +34 -0
- package/dist/crdt/PNCounter.d.ts.map +1 -0
- package/dist/crdt/PNCounter.js +51 -0
- package/dist/crdt/PNCounter.js.map +1 -0
- package/dist/crdt/index.d.ts +23 -0
- package/dist/crdt/index.d.ts.map +1 -0
- package/dist/crdt/index.js +12 -0
- package/dist/crdt/index.js.map +1 -0
- package/dist/delivery/ConsumerController.d.ts +28 -0
- package/dist/delivery/ConsumerController.d.ts.map +1 -0
- package/dist/delivery/ConsumerController.js +64 -0
- package/dist/delivery/ConsumerController.js.map +1 -0
- package/dist/delivery/Messages.d.ts +23 -0
- package/dist/delivery/Messages.d.ts.map +1 -0
- package/dist/delivery/Messages.js +2 -0
- package/dist/delivery/Messages.js.map +1 -0
- package/dist/delivery/ProducerController.d.ts +46 -0
- package/dist/delivery/ProducerController.d.ts.map +1 -0
- package/dist/delivery/ProducerController.js +84 -0
- package/dist/delivery/ProducerController.js.map +1 -0
- package/dist/delivery/ReliableDelivery.d.ts +36 -0
- package/dist/delivery/ReliableDelivery.d.ts.map +1 -0
- package/dist/delivery/ReliableDelivery.js +32 -0
- package/dist/delivery/ReliableDelivery.js.map +1 -0
- package/dist/delivery/index.d.ts +8 -0
- package/dist/delivery/index.d.ts.map +1 -0
- package/dist/delivery/index.js +4 -0
- package/dist/delivery/index.js.map +1 -0
- package/dist/discovery/AggregateSeedProvider.d.ts +15 -0
- package/dist/discovery/AggregateSeedProvider.d.ts.map +1 -0
- package/dist/discovery/AggregateSeedProvider.js +28 -0
- package/dist/discovery/AggregateSeedProvider.js.map +1 -0
- package/dist/discovery/ConfigSeedProvider.d.ts +20 -0
- package/dist/discovery/ConfigSeedProvider.d.ts.map +1 -0
- package/dist/discovery/ConfigSeedProvider.js +24 -0
- package/dist/discovery/ConfigSeedProvider.js.map +1 -0
- package/dist/discovery/DnsSeedProvider.d.ts +49 -0
- package/dist/discovery/DnsSeedProvider.d.ts.map +1 -0
- package/dist/discovery/DnsSeedProvider.js +57 -0
- package/dist/discovery/DnsSeedProvider.js.map +1 -0
- package/dist/discovery/KubernetesApiSeedProvider.d.ts +30 -0
- package/dist/discovery/KubernetesApiSeedProvider.d.ts.map +1 -0
- package/dist/discovery/KubernetesApiSeedProvider.js +66 -0
- package/dist/discovery/KubernetesApiSeedProvider.js.map +1 -0
- package/dist/discovery/Receptionist.d.ts +55 -0
- package/dist/discovery/Receptionist.d.ts.map +1 -0
- package/dist/discovery/Receptionist.js +207 -0
- package/dist/discovery/Receptionist.js.map +1 -0
- package/dist/discovery/ReceptionistMessages.d.ts +65 -0
- package/dist/discovery/ReceptionistMessages.d.ts.map +1 -0
- package/dist/discovery/ReceptionistMessages.js +76 -0
- package/dist/discovery/ReceptionistMessages.js.map +1 -0
- package/dist/discovery/SeedProvider.d.ts +17 -0
- package/dist/discovery/SeedProvider.d.ts.map +1 -0
- package/dist/discovery/SeedProvider.js +2 -0
- package/dist/discovery/SeedProvider.js.map +1 -0
- package/dist/discovery/ServiceKey.d.ts +15 -0
- package/dist/discovery/ServiceKey.d.ts.map +1 -0
- package/dist/discovery/ServiceKey.js +17 -0
- package/dist/discovery/ServiceKey.js.map +1 -0
- package/dist/discovery/autoDiscovery.d.ts +63 -0
- package/dist/discovery/autoDiscovery.d.ts.map +1 -0
- package/dist/discovery/autoDiscovery.js +91 -0
- package/dist/discovery/autoDiscovery.js.map +1 -0
- package/dist/discovery/index.d.ts +16 -0
- package/dist/discovery/index.d.ts.map +1 -0
- package/dist/discovery/index.js +9 -0
- package/dist/discovery/index.js.map +1 -0
- package/dist/fsm/FSM.d.ts +60 -0
- package/dist/fsm/FSM.d.ts.map +1 -0
- package/dist/fsm/FSM.js +102 -0
- package/dist/fsm/FSM.js.map +1 -0
- package/dist/fsm/PersistentFSM.d.ts +230 -0
- package/dist/fsm/PersistentFSM.d.ts.map +1 -0
- package/dist/fsm/PersistentFSM.js +170 -0
- package/dist/fsm/PersistentFSM.js.map +1 -0
- package/dist/fsm/index.d.ts +5 -0
- package/dist/fsm/index.d.ts.map +1 -0
- package/dist/fsm/index.js +3 -0
- package/dist/fsm/index.js.map +1 -0
- package/dist/http/HttpClient.d.ts +34 -0
- package/dist/http/HttpClient.d.ts.map +1 -0
- package/dist/http/HttpClient.js +72 -0
- package/dist/http/HttpClient.js.map +1 -0
- package/dist/http/HttpExtension.d.ts +29 -0
- package/dist/http/HttpExtension.d.ts.map +1 -0
- package/dist/http/HttpExtension.js +64 -0
- package/dist/http/HttpExtension.js.map +1 -0
- package/dist/http/Marshalling.d.ts +20 -0
- package/dist/http/Marshalling.d.ts.map +1 -0
- package/dist/http/Marshalling.js +54 -0
- package/dist/http/Marshalling.js.map +1 -0
- package/dist/http/Route.d.ts +59 -0
- package/dist/http/Route.d.ts.map +1 -0
- package/dist/http/Route.js +93 -0
- package/dist/http/Route.js.map +1 -0
- package/dist/http/backend/ExpressBackend.d.ts +86 -0
- package/dist/http/backend/ExpressBackend.d.ts.map +1 -0
- package/dist/http/backend/ExpressBackend.js +260 -0
- package/dist/http/backend/ExpressBackend.js.map +1 -0
- package/dist/http/backend/FastifyBackend.d.ts +31 -0
- package/dist/http/backend/FastifyBackend.d.ts.map +1 -0
- package/dist/http/backend/FastifyBackend.js +193 -0
- package/dist/http/backend/FastifyBackend.js.map +1 -0
- package/dist/http/backend/HonoBackend.d.ts +72 -0
- package/dist/http/backend/HonoBackend.d.ts.map +1 -0
- package/dist/http/backend/HonoBackend.js +212 -0
- package/dist/http/backend/HonoBackend.js.map +1 -0
- package/dist/http/backend/HttpServerBackend.d.ts +31 -0
- package/dist/http/backend/HttpServerBackend.d.ts.map +1 -0
- package/dist/http/backend/HttpServerBackend.js +2 -0
- package/dist/http/backend/HttpServerBackend.js.map +1 -0
- package/dist/http/cache/IdempotencyKey.d.ts +48 -0
- package/dist/http/cache/IdempotencyKey.d.ts.map +1 -0
- package/dist/http/cache/IdempotencyKey.js +154 -0
- package/dist/http/cache/IdempotencyKey.js.map +1 -0
- package/dist/http/cache/RateLimit.d.ts +65 -0
- package/dist/http/cache/RateLimit.d.ts.map +1 -0
- package/dist/http/cache/RateLimit.js +60 -0
- package/dist/http/cache/RateLimit.js.map +1 -0
- package/dist/http/cache/ResponseCache.d.ts +49 -0
- package/dist/http/cache/ResponseCache.d.ts.map +1 -0
- package/dist/http/cache/ResponseCache.js +84 -0
- package/dist/http/cache/ResponseCache.js.map +1 -0
- package/dist/http/cache/index.d.ts +7 -0
- package/dist/http/cache/index.d.ts.map +1 -0
- package/dist/http/cache/index.js +4 -0
- package/dist/http/cache/index.js.map +1 -0
- package/dist/http/index.d.ts +18 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +11 -0
- package/dist/http/index.js.map +1 -0
- package/dist/http/types.d.ts +54 -0
- package/dist/http/types.d.ts.map +1 -0
- package/dist/http/types.js +40 -0
- package/dist/http/types.js.map +1 -0
- package/dist/index.d.ts +73 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +87 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/ActorCell.d.ts +116 -0
- package/dist/internal/ActorCell.d.ts.map +1 -0
- package/dist/internal/ActorCell.js +681 -0
- package/dist/internal/ActorCell.js.map +1 -0
- package/dist/internal/DeadLetterRef.d.ts +15 -0
- package/dist/internal/DeadLetterRef.d.ts.map +1 -0
- package/dist/internal/DeadLetterRef.js +24 -0
- package/dist/internal/DeadLetterRef.js.map +1 -0
- package/dist/internal/Guardian.d.ts +18 -0
- package/dist/internal/Guardian.d.ts.map +1 -0
- package/dist/internal/Guardian.js +23 -0
- package/dist/internal/Guardian.js.map +1 -0
- package/dist/internal/LocalActorRef.d.ts +17 -0
- package/dist/internal/LocalActorRef.d.ts.map +1 -0
- package/dist/internal/LocalActorRef.js +38 -0
- package/dist/internal/LocalActorRef.js.map +1 -0
- package/dist/internal/Mailbox.d.ts +49 -0
- package/dist/internal/Mailbox.d.ts.map +1 -0
- package/dist/internal/Mailbox.js +49 -0
- package/dist/internal/Mailbox.js.map +1 -0
- package/dist/internal/SystemCommand.d.ts +31 -0
- package/dist/internal/SystemCommand.d.ts.map +1 -0
- package/dist/internal/SystemCommand.js +2 -0
- package/dist/internal/SystemCommand.js.map +1 -0
- package/dist/io/broker/AmqpActor.d.ts +78 -0
- package/dist/io/broker/AmqpActor.d.ts.map +1 -0
- package/dist/io/broker/AmqpActor.js +137 -0
- package/dist/io/broker/AmqpActor.js.map +1 -0
- package/dist/io/broker/BrokerActor.d.ts +125 -0
- package/dist/io/broker/BrokerActor.d.ts.map +1 -0
- package/dist/io/broker/BrokerActor.js +289 -0
- package/dist/io/broker/BrokerActor.js.map +1 -0
- package/dist/io/broker/BrokerEvents.d.ts +59 -0
- package/dist/io/broker/BrokerEvents.d.ts.map +1 -0
- package/dist/io/broker/BrokerEvents.js +79 -0
- package/dist/io/broker/BrokerEvents.js.map +1 -0
- package/dist/io/broker/BrokerSettings.d.ts +72 -0
- package/dist/io/broker/BrokerSettings.d.ts.map +1 -0
- package/dist/io/broker/BrokerSettings.js +73 -0
- package/dist/io/broker/BrokerSettings.js.map +1 -0
- package/dist/io/broker/GrpcClientActor.d.ts +112 -0
- package/dist/io/broker/GrpcClientActor.d.ts.map +1 -0
- package/dist/io/broker/GrpcClientActor.js +212 -0
- package/dist/io/broker/GrpcClientActor.js.map +1 -0
- package/dist/io/broker/GrpcServerActor.d.ts +101 -0
- package/dist/io/broker/GrpcServerActor.d.ts.map +1 -0
- package/dist/io/broker/GrpcServerActor.js +230 -0
- package/dist/io/broker/GrpcServerActor.js.map +1 -0
- package/dist/io/broker/JetStreamActor.d.ts +352 -0
- package/dist/io/broker/JetStreamActor.d.ts.map +1 -0
- package/dist/io/broker/JetStreamActor.js +378 -0
- package/dist/io/broker/JetStreamActor.js.map +1 -0
- package/dist/io/broker/KafkaActor.d.ts +316 -0
- package/dist/io/broker/KafkaActor.d.ts.map +1 -0
- package/dist/io/broker/KafkaActor.js +355 -0
- package/dist/io/broker/KafkaActor.js.map +1 -0
- package/dist/io/broker/MqttActor.d.ts +149 -0
- package/dist/io/broker/MqttActor.d.ts.map +1 -0
- package/dist/io/broker/MqttActor.js +255 -0
- package/dist/io/broker/MqttActor.js.map +1 -0
- package/dist/io/broker/NatsActor.d.ts +65 -0
- package/dist/io/broker/NatsActor.d.ts.map +1 -0
- package/dist/io/broker/NatsActor.js +126 -0
- package/dist/io/broker/NatsActor.js.map +1 -0
- package/dist/io/broker/RedisStreamsActor.d.ts +69 -0
- package/dist/io/broker/RedisStreamsActor.d.ts.map +1 -0
- package/dist/io/broker/RedisStreamsActor.js +140 -0
- package/dist/io/broker/RedisStreamsActor.js.map +1 -0
- package/dist/io/broker/ServerWebSocketActor.d.ts +109 -0
- package/dist/io/broker/ServerWebSocketActor.d.ts.map +1 -0
- package/dist/io/broker/ServerWebSocketActor.js +128 -0
- package/dist/io/broker/ServerWebSocketActor.js.map +1 -0
- package/dist/io/broker/SseActor.d.ts +45 -0
- package/dist/io/broker/SseActor.d.ts.map +1 -0
- package/dist/io/broker/SseActor.js +129 -0
- package/dist/io/broker/SseActor.js.map +1 -0
- package/dist/io/broker/TcpSocketActor.d.ts +73 -0
- package/dist/io/broker/TcpSocketActor.d.ts.map +1 -0
- package/dist/io/broker/TcpSocketActor.js +168 -0
- package/dist/io/broker/TcpSocketActor.js.map +1 -0
- package/dist/io/broker/UdpSocketActor.d.ts +54 -0
- package/dist/io/broker/UdpSocketActor.d.ts.map +1 -0
- package/dist/io/broker/UdpSocketActor.js +100 -0
- package/dist/io/broker/UdpSocketActor.js.map +1 -0
- package/dist/io/broker/WebSocketActor.d.ts +77 -0
- package/dist/io/broker/WebSocketActor.d.ts.map +1 -0
- package/dist/io/broker/WebSocketActor.js +217 -0
- package/dist/io/broker/WebSocketActor.js.map +1 -0
- package/dist/io/broker/WebSocketServerAdapters.d.ts +140 -0
- package/dist/io/broker/WebSocketServerAdapters.d.ts.map +1 -0
- package/dist/io/broker/WebSocketServerAdapters.js +155 -0
- package/dist/io/broker/WebSocketServerAdapters.js.map +1 -0
- package/dist/io/broker/index.d.ts +32 -0
- package/dist/io/broker/index.d.ts.map +1 -0
- package/dist/io/broker/index.js +22 -0
- package/dist/io/broker/index.js.map +1 -0
- package/dist/io/index.d.ts +2 -0
- package/dist/io/index.d.ts.map +1 -0
- package/dist/io/index.js +2 -0
- package/dist/io/index.js.map +1 -0
- package/dist/mailbox/BoundedMailbox.d.ts +28 -0
- package/dist/mailbox/BoundedMailbox.d.ts.map +1 -0
- package/dist/mailbox/BoundedMailbox.js +41 -0
- package/dist/mailbox/BoundedMailbox.js.map +1 -0
- package/dist/mailbox/PriorityMailbox.d.ts +32 -0
- package/dist/mailbox/PriorityMailbox.d.ts.map +1 -0
- package/dist/mailbox/PriorityMailbox.js +58 -0
- package/dist/mailbox/PriorityMailbox.js.map +1 -0
- package/dist/mailbox/index.d.ts +5 -0
- package/dist/mailbox/index.d.ts.map +1 -0
- package/dist/mailbox/index.js +3 -0
- package/dist/mailbox/index.js.map +1 -0
- package/dist/management/HealthCheck.d.ts +21 -0
- package/dist/management/HealthCheck.d.ts.map +1 -0
- package/dist/management/HealthCheck.js +46 -0
- package/dist/management/HealthCheck.js.map +1 -0
- package/dist/management/HttpManagement.d.ts +43 -0
- package/dist/management/HttpManagement.d.ts.map +1 -0
- package/dist/management/HttpManagement.js +158 -0
- package/dist/management/HttpManagement.js.map +1 -0
- package/dist/management/index.d.ts +5 -0
- package/dist/management/index.d.ts.map +1 -0
- package/dist/management/index.js +3 -0
- package/dist/management/index.js.map +1 -0
- package/dist/metrics/Metrics.d.ts +142 -0
- package/dist/metrics/Metrics.d.ts.map +1 -0
- package/dist/metrics/Metrics.js +231 -0
- package/dist/metrics/Metrics.js.map +1 -0
- package/dist/metrics/MetricsExtension.d.ts +51 -0
- package/dist/metrics/MetricsExtension.d.ts.map +1 -0
- package/dist/metrics/MetricsExtension.js +63 -0
- package/dist/metrics/MetricsExtension.js.map +1 -0
- package/dist/metrics/PromClientAdapter.d.ts +102 -0
- package/dist/metrics/PromClientAdapter.d.ts.map +1 -0
- package/dist/metrics/PromClientAdapter.js +244 -0
- package/dist/metrics/PromClientAdapter.js.map +1 -0
- package/dist/metrics/PrometheusExporter.d.ts +31 -0
- package/dist/metrics/PrometheusExporter.d.ts.map +1 -0
- package/dist/metrics/PrometheusExporter.js +128 -0
- package/dist/metrics/PrometheusExporter.js.map +1 -0
- package/dist/metrics/index.d.ts +7 -0
- package/dist/metrics/index.d.ts.map +1 -0
- package/dist/metrics/index.js +5 -0
- package/dist/metrics/index.js.map +1 -0
- package/dist/pattern/BackoffPolicy.d.ts +67 -0
- package/dist/pattern/BackoffPolicy.d.ts.map +1 -0
- package/dist/pattern/BackoffPolicy.js +87 -0
- package/dist/pattern/BackoffPolicy.js.map +1 -0
- package/dist/pattern/BackoffSupervisor.d.ts +234 -0
- package/dist/pattern/BackoffSupervisor.d.ts.map +1 -0
- package/dist/pattern/BackoffSupervisor.js +292 -0
- package/dist/pattern/BackoffSupervisor.js.map +1 -0
- package/dist/pattern/CircuitBreaker.d.ts +49 -0
- package/dist/pattern/CircuitBreaker.d.ts.map +1 -0
- package/dist/pattern/CircuitBreaker.js +110 -0
- package/dist/pattern/CircuitBreaker.js.map +1 -0
- package/dist/pattern/Status.d.ts +13 -0
- package/dist/pattern/Status.d.ts.map +1 -0
- package/dist/pattern/Status.js +13 -0
- package/dist/pattern/Status.js.map +1 -0
- package/dist/pattern/after.d.ts +13 -0
- package/dist/pattern/after.d.ts.map +1 -0
- package/dist/pattern/after.js +26 -0
- package/dist/pattern/after.js.map +1 -0
- package/dist/pattern/index.d.ts +14 -0
- package/dist/pattern/index.d.ts.map +1 -0
- package/dist/pattern/index.js +8 -0
- package/dist/pattern/index.js.map +1 -0
- package/dist/pattern/pipeTo.d.ts +20 -0
- package/dist/pattern/pipeTo.d.ts.map +1 -0
- package/dist/pattern/pipeTo.js +22 -0
- package/dist/pattern/pipeTo.js.map +1 -0
- package/dist/pattern/retry.d.ts +24 -0
- package/dist/pattern/retry.d.ts.map +1 -0
- package/dist/pattern/retry.js +35 -0
- package/dist/pattern/retry.js.map +1 -0
- package/dist/persistence/DurableStateActor.d.ts +62 -0
- package/dist/persistence/DurableStateActor.d.ts.map +1 -0
- package/dist/persistence/DurableStateActor.js +120 -0
- package/dist/persistence/DurableStateActor.js.map +1 -0
- package/dist/persistence/DurableStateStore.d.ts +43 -0
- package/dist/persistence/DurableStateStore.d.ts.map +1 -0
- package/dist/persistence/DurableStateStore.js +13 -0
- package/dist/persistence/DurableStateStore.js.map +1 -0
- package/dist/persistence/EventDispatcher.d.ts +88 -0
- package/dist/persistence/EventDispatcher.d.ts.map +1 -0
- package/dist/persistence/EventDispatcher.js +81 -0
- package/dist/persistence/EventDispatcher.js.map +1 -0
- package/dist/persistence/Journal.d.ts +40 -0
- package/dist/persistence/Journal.d.ts.map +1 -0
- package/dist/persistence/Journal.js +2 -0
- package/dist/persistence/Journal.js.map +1 -0
- package/dist/persistence/JournalEventBus.d.ts +47 -0
- package/dist/persistence/JournalEventBus.d.ts.map +1 -0
- package/dist/persistence/JournalEventBus.js +26 -0
- package/dist/persistence/JournalEventBus.js.map +1 -0
- package/dist/persistence/JournalTypes.d.ts +39 -0
- package/dist/persistence/JournalTypes.d.ts.map +1 -0
- package/dist/persistence/JournalTypes.js +28 -0
- package/dist/persistence/JournalTypes.js.map +1 -0
- package/dist/persistence/PersistenceExtension.d.ts +32 -0
- package/dist/persistence/PersistenceExtension.d.ts.map +1 -0
- package/dist/persistence/PersistenceExtension.js +69 -0
- package/dist/persistence/PersistenceExtension.js.map +1 -0
- package/dist/persistence/PersistenceOptions.d.ts +95 -0
- package/dist/persistence/PersistenceOptions.d.ts.map +1 -0
- package/dist/persistence/PersistenceOptions.js +20 -0
- package/dist/persistence/PersistenceOptions.js.map +1 -0
- package/dist/persistence/PersistentActor.d.ts +120 -0
- package/dist/persistence/PersistentActor.d.ts.map +1 -0
- package/dist/persistence/PersistentActor.js +246 -0
- package/dist/persistence/PersistentActor.js.map +1 -0
- package/dist/persistence/ReplicatedEventSourcedActor.d.ts +238 -0
- package/dist/persistence/ReplicatedEventSourcedActor.d.ts.map +1 -0
- package/dist/persistence/ReplicatedEventSourcedActor.js +430 -0
- package/dist/persistence/ReplicatedEventSourcedActor.js.map +1 -0
- package/dist/persistence/SnapshotStore.d.ts +31 -0
- package/dist/persistence/SnapshotStore.d.ts.map +1 -0
- package/dist/persistence/SnapshotStore.js +2 -0
- package/dist/persistence/SnapshotStore.js.map +1 -0
- package/dist/persistence/durable-state-stores/InMemoryDurableStateStore.d.ts +14 -0
- package/dist/persistence/durable-state-stores/InMemoryDurableStateStore.d.ts.map +1 -0
- package/dist/persistence/durable-state-stores/InMemoryDurableStateStore.js +31 -0
- package/dist/persistence/durable-state-stores/InMemoryDurableStateStore.js.map +1 -0
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.d.ts +27 -0
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.d.ts.map +1 -0
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.js +157 -0
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.js.map +1 -0
- package/dist/persistence/index.d.ts +65 -0
- package/dist/persistence/index.d.ts.map +1 -0
- package/dist/persistence/index.js +44 -0
- package/dist/persistence/index.js.map +1 -0
- package/dist/persistence/journals/CassandraClient.d.ts +81 -0
- package/dist/persistence/journals/CassandraClient.d.ts.map +1 -0
- package/dist/persistence/journals/CassandraClient.js +65 -0
- package/dist/persistence/journals/CassandraClient.js.map +1 -0
- package/dist/persistence/journals/CassandraJournal.d.ts +96 -0
- package/dist/persistence/journals/CassandraJournal.d.ts.map +1 -0
- package/dist/persistence/journals/CassandraJournal.js +247 -0
- package/dist/persistence/journals/CassandraJournal.js.map +1 -0
- package/dist/persistence/journals/CassandraPlugin.d.ts +30 -0
- package/dist/persistence/journals/CassandraPlugin.d.ts.map +1 -0
- package/dist/persistence/journals/CassandraPlugin.js +18 -0
- package/dist/persistence/journals/CassandraPlugin.js.map +1 -0
- package/dist/persistence/journals/InMemoryJournal.d.ts +35 -0
- package/dist/persistence/journals/InMemoryJournal.d.ts.map +1 -0
- package/dist/persistence/journals/InMemoryJournal.js +97 -0
- package/dist/persistence/journals/InMemoryJournal.js.map +1 -0
- package/dist/persistence/journals/SqliteJournal.d.ts +68 -0
- package/dist/persistence/journals/SqliteJournal.d.ts.map +1 -0
- package/dist/persistence/journals/SqliteJournal.js +225 -0
- package/dist/persistence/journals/SqliteJournal.js.map +1 -0
- package/dist/persistence/migration/Adapter.d.ts +72 -0
- package/dist/persistence/migration/Adapter.d.ts.map +1 -0
- package/dist/persistence/migration/Adapter.js +24 -0
- package/dist/persistence/migration/Adapter.js.map +1 -0
- package/dist/persistence/migration/Codec.d.ts +103 -0
- package/dist/persistence/migration/Codec.d.ts.map +1 -0
- package/dist/persistence/migration/Codec.js +92 -0
- package/dist/persistence/migration/Codec.js.map +1 -0
- package/dist/persistence/migration/Envelope.d.ts +37 -0
- package/dist/persistence/migration/Envelope.d.ts.map +1 -0
- package/dist/persistence/migration/Envelope.js +79 -0
- package/dist/persistence/migration/Envelope.js.map +1 -0
- package/dist/persistence/migration/MigrationChain.d.ts +100 -0
- package/dist/persistence/migration/MigrationChain.d.ts.map +1 -0
- package/dist/persistence/migration/MigrationChain.js +159 -0
- package/dist/persistence/migration/MigrationChain.js.map +1 -0
- package/dist/persistence/migration/SchemaRegistry.d.ts +114 -0
- package/dist/persistence/migration/SchemaRegistry.d.ts.map +1 -0
- package/dist/persistence/migration/SchemaRegistry.js +112 -0
- package/dist/persistence/migration/SchemaRegistry.js.map +1 -0
- package/dist/persistence/migration/defaultsAdapter.d.ts +56 -0
- package/dist/persistence/migration/defaultsAdapter.d.ts.map +1 -0
- package/dist/persistence/migration/defaultsAdapter.js +119 -0
- package/dist/persistence/migration/defaultsAdapter.js.map +1 -0
- package/dist/persistence/migration/index.d.ts +18 -0
- package/dist/persistence/migration/index.d.ts.map +1 -0
- package/dist/persistence/migration/index.js +12 -0
- package/dist/persistence/migration/index.js.map +1 -0
- package/dist/persistence/migration/journalMigration.d.ts +155 -0
- package/dist/persistence/migration/journalMigration.d.ts.map +1 -0
- package/dist/persistence/migration/journalMigration.js +149 -0
- package/dist/persistence/migration/journalMigration.js.map +1 -0
- package/dist/persistence/migration/migratingAdapter.d.ts +43 -0
- package/dist/persistence/migration/migratingAdapter.d.ts.map +1 -0
- package/dist/persistence/migration/migratingAdapter.js +65 -0
- package/dist/persistence/migration/migratingAdapter.js.map +1 -0
- package/dist/persistence/migration/validatedAdapter.d.ts +48 -0
- package/dist/persistence/migration/validatedAdapter.d.ts.map +1 -0
- package/dist/persistence/migration/validatedAdapter.js +86 -0
- package/dist/persistence/migration/validatedAdapter.js.map +1 -0
- package/dist/persistence/migration/wrapLegacy.d.ts +83 -0
- package/dist/persistence/migration/wrapLegacy.d.ts.map +1 -0
- package/dist/persistence/migration/wrapLegacy.js +126 -0
- package/dist/persistence/migration/wrapLegacy.js.map +1 -0
- package/dist/persistence/object-storage/BodyCodec.d.ts +88 -0
- package/dist/persistence/object-storage/BodyCodec.d.ts.map +1 -0
- package/dist/persistence/object-storage/BodyCodec.js +171 -0
- package/dist/persistence/object-storage/BodyCodec.js.map +1 -0
- package/dist/persistence/object-storage/Compression.d.ts +31 -0
- package/dist/persistence/object-storage/Compression.d.ts.map +1 -0
- package/dist/persistence/object-storage/Compression.js +99 -0
- package/dist/persistence/object-storage/Compression.js.map +1 -0
- package/dist/persistence/object-storage/Encryption.d.ts +73 -0
- package/dist/persistence/object-storage/Encryption.d.ts.map +1 -0
- package/dist/persistence/object-storage/Encryption.js +167 -0
- package/dist/persistence/object-storage/Encryption.js.map +1 -0
- package/dist/persistence/object-storage/FilesystemObjectStorageBackend.d.ts +79 -0
- package/dist/persistence/object-storage/FilesystemObjectStorageBackend.d.ts.map +1 -0
- package/dist/persistence/object-storage/FilesystemObjectStorageBackend.js +325 -0
- package/dist/persistence/object-storage/FilesystemObjectStorageBackend.js.map +1 -0
- package/dist/persistence/object-storage/ObjectStorageBackend.d.ts +86 -0
- package/dist/persistence/object-storage/ObjectStorageBackend.d.ts.map +1 -0
- package/dist/persistence/object-storage/ObjectStorageBackend.js +24 -0
- package/dist/persistence/object-storage/ObjectStorageBackend.js.map +1 -0
- package/dist/persistence/object-storage/ObjectStoragePlugin.d.ts +93 -0
- package/dist/persistence/object-storage/ObjectStoragePlugin.d.ts.map +1 -0
- package/dist/persistence/object-storage/ObjectStoragePlugin.js +113 -0
- package/dist/persistence/object-storage/ObjectStoragePlugin.js.map +1 -0
- package/dist/persistence/object-storage/PluginConfig.d.ts +67 -0
- package/dist/persistence/object-storage/PluginConfig.d.ts.map +1 -0
- package/dist/persistence/object-storage/PluginConfig.js +93 -0
- package/dist/persistence/object-storage/PluginConfig.js.map +1 -0
- package/dist/persistence/object-storage/S3ObjectStorageBackend.d.ts +104 -0
- package/dist/persistence/object-storage/S3ObjectStorageBackend.d.ts.map +1 -0
- package/dist/persistence/object-storage/S3ObjectStorageBackend.js +202 -0
- package/dist/persistence/object-storage/S3ObjectStorageBackend.js.map +1 -0
- package/dist/persistence/object-storage/reEncryptionSweep.d.ts +110 -0
- package/dist/persistence/object-storage/reEncryptionSweep.d.ts.map +1 -0
- package/dist/persistence/object-storage/reEncryptionSweep.js +157 -0
- package/dist/persistence/object-storage/reEncryptionSweep.js.map +1 -0
- package/dist/persistence/projection/OffsetStore.d.ts +69 -0
- package/dist/persistence/projection/OffsetStore.d.ts.map +1 -0
- package/dist/persistence/projection/OffsetStore.js +103 -0
- package/dist/persistence/projection/OffsetStore.js.map +1 -0
- package/dist/persistence/projection/ProjectionActor.d.ts +62 -0
- package/dist/persistence/projection/ProjectionActor.d.ts.map +1 -0
- package/dist/persistence/projection/ProjectionActor.js +120 -0
- package/dist/persistence/projection/ProjectionActor.js.map +1 -0
- package/dist/persistence/query/CassandraQuery.d.ts +42 -0
- package/dist/persistence/query/CassandraQuery.d.ts.map +1 -0
- package/dist/persistence/query/CassandraQuery.js +118 -0
- package/dist/persistence/query/CassandraQuery.js.map +1 -0
- package/dist/persistence/query/InMemoryQuery.d.ts +31 -0
- package/dist/persistence/query/InMemoryQuery.d.ts.map +1 -0
- package/dist/persistence/query/InMemoryQuery.js +285 -0
- package/dist/persistence/query/InMemoryQuery.js.map +1 -0
- package/dist/persistence/query/PersistenceQuery.d.ts +162 -0
- package/dist/persistence/query/PersistenceQuery.d.ts.map +1 -0
- package/dist/persistence/query/PersistenceQuery.js +78 -0
- package/dist/persistence/query/PersistenceQuery.js.map +1 -0
- package/dist/persistence/query/SqliteQuery.d.ts +58 -0
- package/dist/persistence/query/SqliteQuery.d.ts.map +1 -0
- package/dist/persistence/query/SqliteQuery.js +173 -0
- package/dist/persistence/query/SqliteQuery.js.map +1 -0
- package/dist/persistence/replicated/ConflictResolver.d.ts +70 -0
- package/dist/persistence/replicated/ConflictResolver.d.ts.map +1 -0
- package/dist/persistence/replicated/ConflictResolver.js +47 -0
- package/dist/persistence/replicated/ConflictResolver.js.map +1 -0
- package/dist/persistence/replicated/ReplicatedSnapshot.d.ts +43 -0
- package/dist/persistence/replicated/ReplicatedSnapshot.d.ts.map +1 -0
- package/dist/persistence/replicated/ReplicatedSnapshot.js +2 -0
- package/dist/persistence/replicated/ReplicatedSnapshot.js.map +1 -0
- package/dist/persistence/replicated/VectorClock.d.ts +57 -0
- package/dist/persistence/replicated/VectorClock.d.ts.map +1 -0
- package/dist/persistence/replicated/VectorClock.js +79 -0
- package/dist/persistence/replicated/VectorClock.js.map +1 -0
- package/dist/persistence/snapshot-stores/CachedSnapshotStore.d.ts +27 -0
- package/dist/persistence/snapshot-stores/CachedSnapshotStore.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/CachedSnapshotStore.js +82 -0
- package/dist/persistence/snapshot-stores/CachedSnapshotStore.js.map +1 -0
- package/dist/persistence/snapshot-stores/CassandraSnapshotStore.d.ts +42 -0
- package/dist/persistence/snapshot-stores/CassandraSnapshotStore.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/CassandraSnapshotStore.js +121 -0
- package/dist/persistence/snapshot-stores/CassandraSnapshotStore.js.map +1 -0
- package/dist/persistence/snapshot-stores/InMemorySnapshotStore.d.ts +19 -0
- package/dist/persistence/snapshot-stores/InMemorySnapshotStore.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/InMemorySnapshotStore.js +44 -0
- package/dist/persistence/snapshot-stores/InMemorySnapshotStore.js.map +1 -0
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.d.ts +46 -0
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.js +172 -0
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.js.map +1 -0
- package/dist/persistence/snapshot-stores/SqliteSnapshotStore.d.ts +42 -0
- package/dist/persistence/snapshot-stores/SqliteSnapshotStore.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/SqliteSnapshotStore.js +108 -0
- package/dist/persistence/snapshot-stores/SqliteSnapshotStore.js.map +1 -0
- package/dist/persistence/storage/KeyValidator.d.ts +80 -0
- package/dist/persistence/storage/KeyValidator.d.ts.map +1 -0
- package/dist/persistence/storage/KeyValidator.js +88 -0
- package/dist/persistence/storage/KeyValidator.js.map +1 -0
- package/dist/runtime/detect.d.ts +35 -0
- package/dist/runtime/detect.d.ts.map +1 -0
- package/dist/runtime/detect.js +60 -0
- package/dist/runtime/detect.js.map +1 -0
- package/dist/runtime/http/BunHonoRunner.d.ts +16 -0
- package/dist/runtime/http/BunHonoRunner.d.ts.map +1 -0
- package/dist/runtime/http/BunHonoRunner.js +26 -0
- package/dist/runtime/http/BunHonoRunner.js.map +1 -0
- package/dist/runtime/http/DenoHonoRunner.d.ts +16 -0
- package/dist/runtime/http/DenoHonoRunner.d.ts.map +1 -0
- package/dist/runtime/http/DenoHonoRunner.js +33 -0
- package/dist/runtime/http/DenoHonoRunner.js.map +1 -0
- package/dist/runtime/http/HonoServerRunner.d.ts +28 -0
- package/dist/runtime/http/HonoServerRunner.d.ts.map +1 -0
- package/dist/runtime/http/HonoServerRunner.js +16 -0
- package/dist/runtime/http/HonoServerRunner.js.map +1 -0
- package/dist/runtime/http/NodeHonoRunner.d.ts +19 -0
- package/dist/runtime/http/NodeHonoRunner.d.ts.map +1 -0
- package/dist/runtime/http/NodeHonoRunner.js +70 -0
- package/dist/runtime/http/NodeHonoRunner.js.map +1 -0
- package/dist/runtime/http/index.d.ts +13 -0
- package/dist/runtime/http/index.d.ts.map +1 -0
- package/dist/runtime/http/index.js +40 -0
- package/dist/runtime/http/index.js.map +1 -0
- package/dist/runtime/sqlite/BetterSqliteDriver.d.ts +18 -0
- package/dist/runtime/sqlite/BetterSqliteDriver.d.ts.map +1 -0
- package/dist/runtime/sqlite/BetterSqliteDriver.js +64 -0
- package/dist/runtime/sqlite/BetterSqliteDriver.js.map +1 -0
- package/dist/runtime/sqlite/BunSqliteDriver.d.ts +17 -0
- package/dist/runtime/sqlite/BunSqliteDriver.d.ts.map +1 -0
- package/dist/runtime/sqlite/BunSqliteDriver.js +34 -0
- package/dist/runtime/sqlite/BunSqliteDriver.js.map +1 -0
- package/dist/runtime/sqlite/SqliteDriver.d.ts +35 -0
- package/dist/runtime/sqlite/SqliteDriver.d.ts.map +1 -0
- package/dist/runtime/sqlite/SqliteDriver.js +13 -0
- package/dist/runtime/sqlite/SqliteDriver.js.map +1 -0
- package/dist/runtime/sqlite/index.d.ts +14 -0
- package/dist/runtime/sqlite/index.d.ts.map +1 -0
- package/dist/runtime/sqlite/index.js +41 -0
- package/dist/runtime/sqlite/index.js.map +1 -0
- package/dist/runtime/tcp/BunTcpBackend.d.ts +24 -0
- package/dist/runtime/tcp/BunTcpBackend.d.ts.map +1 -0
- package/dist/runtime/tcp/BunTcpBackend.js +66 -0
- package/dist/runtime/tcp/BunTcpBackend.js.map +1 -0
- package/dist/runtime/tcp/DenoTcpBackend.d.ts +30 -0
- package/dist/runtime/tcp/DenoTcpBackend.d.ts.map +1 -0
- package/dist/runtime/tcp/DenoTcpBackend.js +145 -0
- package/dist/runtime/tcp/DenoTcpBackend.js.map +1 -0
- package/dist/runtime/tcp/NodeTcpBackend.d.ts +25 -0
- package/dist/runtime/tcp/NodeTcpBackend.d.ts.map +1 -0
- package/dist/runtime/tcp/NodeTcpBackend.js +102 -0
- package/dist/runtime/tcp/NodeTcpBackend.js.map +1 -0
- package/dist/runtime/tcp/TcpBackend.d.ts +65 -0
- package/dist/runtime/tcp/TcpBackend.d.ts.map +1 -0
- package/dist/runtime/tcp/TcpBackend.js +17 -0
- package/dist/runtime/tcp/TcpBackend.js.map +1 -0
- package/dist/runtime/tcp/index.d.ts +13 -0
- package/dist/runtime/tcp/index.d.ts.map +1 -0
- package/dist/runtime/tcp/index.js +40 -0
- package/dist/runtime/tcp/index.js.map +1 -0
- package/dist/runtime/worker/NodeWorkerBackend.d.ts +19 -0
- package/dist/runtime/worker/NodeWorkerBackend.d.ts.map +1 -0
- package/dist/runtime/worker/NodeWorkerBackend.js +84 -0
- package/dist/runtime/worker/NodeWorkerBackend.js.map +1 -0
- package/dist/runtime/worker/WebWorkerBackend.d.ts +12 -0
- package/dist/runtime/worker/WebWorkerBackend.d.ts.map +1 -0
- package/dist/runtime/worker/WebWorkerBackend.js +55 -0
- package/dist/runtime/worker/WebWorkerBackend.js.map +1 -0
- package/dist/runtime/worker/WorkerBackend.d.ts +45 -0
- package/dist/runtime/worker/WorkerBackend.d.ts.map +1 -0
- package/dist/runtime/worker/WorkerBackend.js +18 -0
- package/dist/runtime/worker/WorkerBackend.js.map +1 -0
- package/dist/runtime/worker/index.d.ts +14 -0
- package/dist/runtime/worker/index.d.ts.map +1 -0
- package/dist/runtime/worker/index.js +34 -0
- package/dist/runtime/worker/index.js.map +1 -0
- package/dist/serialization/CborCodec.d.ts +51 -0
- package/dist/serialization/CborCodec.d.ts.map +1 -0
- package/dist/serialization/CborCodec.js +321 -0
- package/dist/serialization/CborCodec.js.map +1 -0
- package/dist/serialization/CborSerializer.d.ts +23 -0
- package/dist/serialization/CborSerializer.d.ts.map +1 -0
- package/dist/serialization/CborSerializer.js +27 -0
- package/dist/serialization/CborSerializer.js.map +1 -0
- package/dist/serialization/JsonSerializer.d.ts +18 -0
- package/dist/serialization/JsonSerializer.d.ts.map +1 -0
- package/dist/serialization/JsonSerializer.js +114 -0
- package/dist/serialization/JsonSerializer.js.map +1 -0
- package/dist/serialization/SerializationExtension.d.ts +46 -0
- package/dist/serialization/SerializationExtension.d.ts.map +1 -0
- package/dist/serialization/SerializationExtension.js +105 -0
- package/dist/serialization/SerializationExtension.js.map +1 -0
- package/dist/serialization/Serializer.d.ts +44 -0
- package/dist/serialization/Serializer.d.ts.map +1 -0
- package/dist/serialization/Serializer.js +7 -0
- package/dist/serialization/Serializer.js.map +1 -0
- package/dist/serialization/index.d.ts +7 -0
- package/dist/serialization/index.d.ts.map +1 -0
- package/dist/serialization/index.js +6 -0
- package/dist/serialization/index.js.map +1 -0
- package/dist/testkit/ManualScheduler.d.ts +35 -0
- package/dist/testkit/ManualScheduler.d.ts.map +1 -0
- package/dist/testkit/ManualScheduler.js +126 -0
- package/dist/testkit/ManualScheduler.js.map +1 -0
- package/dist/testkit/MultiNodeSpec.d.ts +132 -0
- package/dist/testkit/MultiNodeSpec.d.ts.map +1 -0
- package/dist/testkit/MultiNodeSpec.js +237 -0
- package/dist/testkit/MultiNodeSpec.js.map +1 -0
- package/dist/testkit/ParallelMultiNodeSpec.d.ts +117 -0
- package/dist/testkit/ParallelMultiNodeSpec.d.ts.map +1 -0
- package/dist/testkit/ParallelMultiNodeSpec.js +310 -0
- package/dist/testkit/ParallelMultiNodeSpec.js.map +1 -0
- package/dist/testkit/TestKit.d.ts +40 -0
- package/dist/testkit/TestKit.d.ts.map +1 -0
- package/dist/testkit/TestKit.js +60 -0
- package/dist/testkit/TestKit.js.map +1 -0
- package/dist/testkit/TestProbe.d.ts +56 -0
- package/dist/testkit/TestProbe.d.ts.map +1 -0
- package/dist/testkit/TestProbe.js +184 -0
- package/dist/testkit/TestProbe.js.map +1 -0
- package/dist/testkit/index.d.ts +11 -0
- package/dist/testkit/index.d.ts.map +1 -0
- package/dist/testkit/index.js +6 -0
- package/dist/testkit/index.js.map +1 -0
- package/dist/testkit/internal/MultiNodeBroker.d.ts +39 -0
- package/dist/testkit/internal/MultiNodeBroker.d.ts.map +1 -0
- package/dist/testkit/internal/MultiNodeBroker.js +96 -0
- package/dist/testkit/internal/MultiNodeBroker.js.map +1 -0
- package/dist/testkit/internal/MultiNodeTransport.d.ts +58 -0
- package/dist/testkit/internal/MultiNodeTransport.d.ts.map +1 -0
- package/dist/testkit/internal/MultiNodeTransport.js +96 -0
- package/dist/testkit/internal/MultiNodeTransport.js.map +1 -0
- package/dist/testkit/internal/parallel-multi-node-bootstrap.d.ts +54 -0
- package/dist/testkit/internal/parallel-multi-node-bootstrap.d.ts.map +1 -0
- package/dist/testkit/internal/parallel-multi-node-bootstrap.js +157 -0
- package/dist/testkit/internal/parallel-multi-node-bootstrap.js.map +1 -0
- package/dist/tracing/NoopTracer.d.ts +11 -0
- package/dist/tracing/NoopTracer.d.ts.map +1 -0
- package/dist/tracing/NoopTracer.js +29 -0
- package/dist/tracing/NoopTracer.js.map +1 -0
- package/dist/tracing/OtelAdapter.d.ts +106 -0
- package/dist/tracing/OtelAdapter.d.ts.map +1 -0
- package/dist/tracing/OtelAdapter.js +164 -0
- package/dist/tracing/OtelAdapter.js.map +1 -0
- package/dist/tracing/RecordingTracer.d.ts +54 -0
- package/dist/tracing/RecordingTracer.d.ts.map +1 -0
- package/dist/tracing/RecordingTracer.js +129 -0
- package/dist/tracing/RecordingTracer.js.map +1 -0
- package/dist/tracing/Tracer.d.ts +100 -0
- package/dist/tracing/Tracer.d.ts.map +1 -0
- package/dist/tracing/Tracer.js +76 -0
- package/dist/tracing/Tracer.js.map +1 -0
- package/dist/tracing/TracingExtension.d.ts +32 -0
- package/dist/tracing/TracingExtension.d.ts.map +1 -0
- package/dist/tracing/TracingExtension.js +38 -0
- package/dist/tracing/TracingExtension.js.map +1 -0
- package/dist/tracing/index.d.ts +9 -0
- package/dist/tracing/index.d.ts.map +1 -0
- package/dist/tracing/index.js +6 -0
- package/dist/tracing/index.js.map +1 -0
- package/dist/typed/Behavior.d.ts +78 -0
- package/dist/typed/Behavior.d.ts.map +1 -0
- package/dist/typed/Behavior.js +2 -0
- package/dist/typed/Behavior.js.map +1 -0
- package/dist/typed/Behaviors.d.ts +60 -0
- package/dist/typed/Behaviors.d.ts.map +1 -0
- package/dist/typed/Behaviors.js +77 -0
- package/dist/typed/Behaviors.js.map +1 -0
- package/dist/typed/TypedActor.d.ts +28 -0
- package/dist/typed/TypedActor.d.ts.map +1 -0
- package/dist/typed/TypedActor.js +194 -0
- package/dist/typed/TypedActor.js.map +1 -0
- package/dist/typed/TypedActorContext.d.ts +29 -0
- package/dist/typed/TypedActorContext.d.ts.map +1 -0
- package/dist/typed/TypedActorContext.js +2 -0
- package/dist/typed/TypedActorContext.js.map +1 -0
- package/dist/typed/index.d.ts +7 -0
- package/dist/typed/index.d.ts.map +1 -0
- package/dist/typed/index.js +4 -0
- package/dist/typed/index.js.map +1 -0
- package/dist/typed/spawn.d.ts +14 -0
- package/dist/typed/spawn.d.ts.map +1 -0
- package/dist/typed/spawn.js +16 -0
- package/dist/typed/spawn.js.map +1 -0
- package/dist/util/Constants.d.ts +66 -0
- package/dist/util/Constants.d.ts.map +1 -0
- package/dist/util/Constants.js +66 -0
- package/dist/util/Constants.js.map +1 -0
- package/dist/util/Either.d.ts +100 -0
- package/dist/util/Either.d.ts.map +1 -0
- package/dist/util/Either.js +128 -0
- package/dist/util/Either.js.map +1 -0
- package/dist/util/Lazy.d.ts +82 -0
- package/dist/util/Lazy.d.ts.map +1 -0
- package/dist/util/Lazy.js +119 -0
- package/dist/util/Lazy.js.map +1 -0
- package/dist/util/LazyImport.d.ts +68 -0
- package/dist/util/LazyImport.d.ts.map +1 -0
- package/dist/util/LazyImport.js +64 -0
- package/dist/util/LazyImport.js.map +1 -0
- package/dist/util/Option.d.ts +105 -0
- package/dist/util/Option.d.ts.map +1 -0
- package/dist/util/Option.js +123 -0
- package/dist/util/Option.js.map +1 -0
- package/dist/util/TokenBucket.d.ts +59 -0
- package/dist/util/TokenBucket.d.ts.map +1 -0
- package/dist/util/TokenBucket.js +76 -0
- package/dist/util/TokenBucket.js.map +1 -0
- package/dist/util/Try.d.ts +103 -0
- package/dist/util/Try.d.ts.map +1 -0
- package/dist/util/Try.js +176 -0
- package/dist/util/Try.js.map +1 -0
- package/dist/util/WrapError.d.ts +42 -0
- package/dist/util/WrapError.d.ts.map +1 -0
- package/dist/util/WrapError.js +46 -0
- package/dist/util/WrapError.js.map +1 -0
- package/dist/worker/WorkerBroker.d.ts +29 -0
- package/dist/worker/WorkerBroker.d.ts.map +1 -0
- package/dist/worker/WorkerBroker.js +74 -0
- package/dist/worker/WorkerBroker.js.map +1 -0
- package/dist/worker/WorkerCluster.d.ts +68 -0
- package/dist/worker/WorkerCluster.d.ts.map +1 -0
- package/dist/worker/WorkerCluster.js +161 -0
- package/dist/worker/WorkerCluster.js.map +1 -0
- package/dist/worker/WorkerNode.d.ts +20 -0
- package/dist/worker/WorkerNode.d.ts.map +1 -0
- package/dist/worker/WorkerNode.js +84 -0
- package/dist/worker/WorkerNode.js.map +1 -0
- package/dist/worker/index.d.ts +6 -0
- package/dist/worker/index.d.ts.map +1 -0
- package/dist/worker/index.js +4 -0
- package/dist/worker/index.js.map +1 -0
- package/package.json +148 -0
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { getSqliteDriver } from '../../runtime/sqlite/index.js';
|
|
2
|
+
import { InProcessJournalEventBus } from '../JournalEventBus.js';
|
|
3
|
+
import { JournalConcurrencyError, JournalError, } from '../JournalTypes.js';
|
|
4
|
+
/**
|
|
5
|
+
* Journal backed by SQLite — zero-dependency, single-file persistence.
|
|
6
|
+
*
|
|
7
|
+
* Works on Bun (`bun:sqlite`) and Node.js (`better-sqlite3`) via the
|
|
8
|
+
* `SqliteDriver` abstraction in `src/runtime/sqlite/`. Both backends
|
|
9
|
+
* share the same prepared-statement + transaction shape, so the journal
|
|
10
|
+
* code itself is unchanged across runtimes.
|
|
11
|
+
*
|
|
12
|
+
* Construction is lazy: the native DB is opened on the first `append` /
|
|
13
|
+
* `read` / `highestSeq` / `delete` / `persistenceIds` call. This keeps
|
|
14
|
+
* `new SqliteJournal({ path })` sync-friendly (matches the pre-abstraction
|
|
15
|
+
* shape) while still supporting the async driver-resolution flow Node
|
|
16
|
+
* requires.
|
|
17
|
+
*/
|
|
18
|
+
export class SqliteJournal {
|
|
19
|
+
options;
|
|
20
|
+
table;
|
|
21
|
+
closed = { value: false };
|
|
22
|
+
/**
|
|
23
|
+
* In-process event bus — published-to inside `append` so the query
|
|
24
|
+
* layer can do sub-poll-interval push delivery in the same process.
|
|
25
|
+
* Cross-process subscribers (separate Bun/Node instance reading
|
|
26
|
+
* the same SQLite file) still need to poll; that's the inherent
|
|
27
|
+
* limit of in-process notifications.
|
|
28
|
+
*/
|
|
29
|
+
events = new InProcessJournalEventBus();
|
|
30
|
+
db = null;
|
|
31
|
+
stmts = null;
|
|
32
|
+
initPromise = null;
|
|
33
|
+
constructor(options = {}) {
|
|
34
|
+
this.options = options;
|
|
35
|
+
this.table = options.eventsTable ?? 'events';
|
|
36
|
+
}
|
|
37
|
+
async append(pid, events, expectedSeq, tags) {
|
|
38
|
+
await this.ensureOpen();
|
|
39
|
+
if (events.length === 0)
|
|
40
|
+
return [];
|
|
41
|
+
const db = this.db;
|
|
42
|
+
const stmts = this.stmts;
|
|
43
|
+
const now = Date.now();
|
|
44
|
+
const txn = db.transaction((items) => {
|
|
45
|
+
const row = stmts.highestSeq.get(pid);
|
|
46
|
+
const actualSeq = row?.hi ?? 0;
|
|
47
|
+
if (actualSeq !== expectedSeq) {
|
|
48
|
+
throw new JournalConcurrencyError(pid, expectedSeq, actualSeq);
|
|
49
|
+
}
|
|
50
|
+
const out = [];
|
|
51
|
+
let seq = actualSeq;
|
|
52
|
+
for (const ev of items) {
|
|
53
|
+
seq++;
|
|
54
|
+
const payload = JSON.stringify(ev);
|
|
55
|
+
const tagString = tags && tags.length ? tags.join(',') : null;
|
|
56
|
+
stmts.insert.run(pid, seq, payload, tagString, now);
|
|
57
|
+
// Also populate the tags join table so SqliteQuery's
|
|
58
|
+
// tag-search can do an indexed lookup instead of a CSV scan.
|
|
59
|
+
// Both inserts run inside the same transaction — partial
|
|
60
|
+
// writes are impossible.
|
|
61
|
+
if (tags) {
|
|
62
|
+
for (const tag of tags) {
|
|
63
|
+
if (tag.length === 0)
|
|
64
|
+
continue;
|
|
65
|
+
stmts.insertTag.run(pid, seq, tag, now);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
out.push({
|
|
69
|
+
persistenceId: pid,
|
|
70
|
+
sequenceNr: seq,
|
|
71
|
+
event: ev,
|
|
72
|
+
timestamp: now,
|
|
73
|
+
tags: tags ? [...tags] : undefined,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return out;
|
|
77
|
+
});
|
|
78
|
+
let written;
|
|
79
|
+
try {
|
|
80
|
+
written = txn([...events]);
|
|
81
|
+
}
|
|
82
|
+
catch (e) {
|
|
83
|
+
if (e instanceof JournalConcurrencyError)
|
|
84
|
+
throw e;
|
|
85
|
+
throw new JournalError(`SqliteJournal.append failed: ${e.message}`, e);
|
|
86
|
+
}
|
|
87
|
+
// Publish AFTER the transaction commits so subscribers that
|
|
88
|
+
// re-read see the events they were notified about.
|
|
89
|
+
for (const pe of written)
|
|
90
|
+
this.events.publish(pe);
|
|
91
|
+
return written;
|
|
92
|
+
}
|
|
93
|
+
async read(pid, fromSeq, toSeq) {
|
|
94
|
+
await this.ensureOpen();
|
|
95
|
+
const stmts = this.stmts;
|
|
96
|
+
try {
|
|
97
|
+
const rows = toSeq === undefined
|
|
98
|
+
? stmts.readAll.all(pid, fromSeq)
|
|
99
|
+
: stmts.readRange.all(pid, fromSeq, toSeq);
|
|
100
|
+
return rows.map(r => ({
|
|
101
|
+
persistenceId: r.persistence_id,
|
|
102
|
+
sequenceNr: r.sequence_nr,
|
|
103
|
+
event: JSON.parse(r.payload),
|
|
104
|
+
timestamp: r.timestamp,
|
|
105
|
+
tags: r.tags ? r.tags.split(',') : undefined,
|
|
106
|
+
}));
|
|
107
|
+
}
|
|
108
|
+
catch (e) {
|
|
109
|
+
throw new JournalError(`SqliteJournal.read failed: ${e.message}`, e);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
async highestSeq(pid) {
|
|
113
|
+
await this.ensureOpen();
|
|
114
|
+
const row = this.stmts.highestSeq.get(pid);
|
|
115
|
+
return row?.hi ?? 0;
|
|
116
|
+
}
|
|
117
|
+
async delete(pid, toSeq) {
|
|
118
|
+
await this.ensureOpen();
|
|
119
|
+
// Order matters: delete from the tags-table FIRST so that a
|
|
120
|
+
// crash mid-delete leaves an inconsistent state where tags exist
|
|
121
|
+
// for events that don't — recoverable via a manual cleanup or a
|
|
122
|
+
// future backfill. Doing it the other way around would produce
|
|
123
|
+
// events with missing tags, which the JOIN-based query path
|
|
124
|
+
// would silently miss.
|
|
125
|
+
this.stmts.deleteTagsUpTo.run(pid, toSeq);
|
|
126
|
+
this.stmts.deleteUpTo.run(pid, toSeq);
|
|
127
|
+
}
|
|
128
|
+
async persistenceIds() {
|
|
129
|
+
await this.ensureOpen();
|
|
130
|
+
const rows = this.stmts.pids.all();
|
|
131
|
+
return rows.map(r => r.persistence_id);
|
|
132
|
+
}
|
|
133
|
+
async close() {
|
|
134
|
+
if (this.closed.value)
|
|
135
|
+
return;
|
|
136
|
+
this.closed.value = true;
|
|
137
|
+
try {
|
|
138
|
+
this.db?.close();
|
|
139
|
+
}
|
|
140
|
+
catch { /* ignore */ }
|
|
141
|
+
}
|
|
142
|
+
/* --------------------------- internals -------------------------------- */
|
|
143
|
+
async ensureOpen() {
|
|
144
|
+
if (this.closed.value)
|
|
145
|
+
throw new JournalError('SqliteJournal is closed');
|
|
146
|
+
if (this.db && this.stmts)
|
|
147
|
+
return;
|
|
148
|
+
if (!this.initPromise)
|
|
149
|
+
this.initPromise = this.init();
|
|
150
|
+
await this.initPromise;
|
|
151
|
+
}
|
|
152
|
+
async init() {
|
|
153
|
+
const driver = this.options.driver ?? await getSqliteDriver();
|
|
154
|
+
const db = driver.open(this.options.path ?? ':memory:');
|
|
155
|
+
const tagsTable = `${this.table}_tags`;
|
|
156
|
+
db.exec(`
|
|
157
|
+
CREATE TABLE IF NOT EXISTS ${this.table} (
|
|
158
|
+
persistence_id TEXT NOT NULL,
|
|
159
|
+
sequence_nr INTEGER NOT NULL,
|
|
160
|
+
payload TEXT NOT NULL,
|
|
161
|
+
tags TEXT,
|
|
162
|
+
timestamp INTEGER NOT NULL,
|
|
163
|
+
PRIMARY KEY (persistence_id, sequence_nr)
|
|
164
|
+
);
|
|
165
|
+
CREATE INDEX IF NOT EXISTS idx_${this.table}_pid ON ${this.table}(persistence_id);
|
|
166
|
+
CREATE TABLE IF NOT EXISTS ${tagsTable} (
|
|
167
|
+
persistence_id TEXT NOT NULL,
|
|
168
|
+
sequence_nr INTEGER NOT NULL,
|
|
169
|
+
tag TEXT NOT NULL,
|
|
170
|
+
timestamp INTEGER NOT NULL,
|
|
171
|
+
PRIMARY KEY (tag, timestamp, persistence_id, sequence_nr)
|
|
172
|
+
);
|
|
173
|
+
CREATE INDEX IF NOT EXISTS idx_${tagsTable}_pid_seq ON ${tagsTable}(persistence_id, sequence_nr);
|
|
174
|
+
`);
|
|
175
|
+
if (this.options.wal)
|
|
176
|
+
db.exec('PRAGMA journal_mode = WAL;');
|
|
177
|
+
this.stmts = {
|
|
178
|
+
insert: db.prepare(`INSERT INTO ${this.table}(persistence_id, sequence_nr, payload, tags, timestamp) VALUES (?, ?, ?, ?, ?)`),
|
|
179
|
+
insertTag: db.prepare(`INSERT OR IGNORE INTO ${tagsTable}(persistence_id, sequence_nr, tag, timestamp) VALUES (?, ?, ?, ?)`),
|
|
180
|
+
readAll: db.prepare(`SELECT persistence_id, sequence_nr, payload, tags, timestamp FROM ${this.table} WHERE persistence_id = ? AND sequence_nr >= ? ORDER BY sequence_nr ASC`),
|
|
181
|
+
readRange: db.prepare(`SELECT persistence_id, sequence_nr, payload, tags, timestamp FROM ${this.table} WHERE persistence_id = ? AND sequence_nr >= ? AND sequence_nr <= ? ORDER BY sequence_nr ASC`),
|
|
182
|
+
highestSeq: db.prepare(`SELECT MAX(sequence_nr) AS hi FROM ${this.table} WHERE persistence_id = ?`),
|
|
183
|
+
deleteUpTo: db.prepare(`DELETE FROM ${this.table} WHERE persistence_id = ? AND sequence_nr <= ?`),
|
|
184
|
+
deleteTagsUpTo: db.prepare(`DELETE FROM ${tagsTable} WHERE persistence_id = ? AND sequence_nr <= ?`),
|
|
185
|
+
pids: db.prepare(`SELECT DISTINCT persistence_id FROM ${this.table}`),
|
|
186
|
+
countTags: db.prepare(`SELECT COUNT(*) AS n FROM ${tagsTable}`),
|
|
187
|
+
rowsWithCsvTags: db.prepare(`SELECT persistence_id, sequence_nr, tags, timestamp FROM ${this.table} WHERE tags IS NOT NULL AND tags <> ''`),
|
|
188
|
+
};
|
|
189
|
+
this.db = db;
|
|
190
|
+
// Backfill — for databases written by SqliteJournal v0 (before
|
|
191
|
+
// this commit) the tags table doesn't exist yet, OR exists empty
|
|
192
|
+
// because the user upgraded the dependency. Populate it from
|
|
193
|
+
// the CSV column once. Idempotent: if the tags table already
|
|
194
|
+
// has rows, this skips entirely.
|
|
195
|
+
this.backfillTagsTableIfNeeded(db);
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* One-shot backfill of the tags join table from the legacy CSV
|
|
199
|
+
* `tags` column. Runs at most once per init — when `event_tags`
|
|
200
|
+
* is empty AND the `events` table still has tagged rows we'd
|
|
201
|
+
* otherwise leave un-indexed. Re-running is a no-op (the count
|
|
202
|
+
* check skips it) and the underlying inserts use `INSERT OR
|
|
203
|
+
* IGNORE` as a defence-in-depth so a partial backfill that gets
|
|
204
|
+
* interrupted can be resumed without duplicate-key errors.
|
|
205
|
+
*/
|
|
206
|
+
backfillTagsTableIfNeeded(db) {
|
|
207
|
+
const stmts = this.stmts;
|
|
208
|
+
const tagsCount = stmts.countTags.get()?.n ?? 0;
|
|
209
|
+
if (tagsCount > 0)
|
|
210
|
+
return;
|
|
211
|
+
const rows = stmts.rowsWithCsvTags.all();
|
|
212
|
+
if (rows.length === 0)
|
|
213
|
+
return;
|
|
214
|
+
const fill = db.transaction((items) => {
|
|
215
|
+
for (const r of items) {
|
|
216
|
+
const tagList = r.tags.split(',').filter((t) => t.length > 0);
|
|
217
|
+
for (const tag of tagList) {
|
|
218
|
+
stmts.insertTag.run(r.persistence_id, r.sequence_nr, tag, r.timestamp);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
fill(rows);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=SqliteJournal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteJournal.js","sourceRoot":"","sources":["../../../src/persistence/journals/SqliteJournal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema-evolution adapters for persistent actors.
|
|
3
|
+
*
|
|
4
|
+
* The actor framework stores events / state as opaque JSON in the journal
|
|
5
|
+
* and snapshot store. When a domain type evolves (new field, renamed
|
|
6
|
+
* field, type change), already-persisted history must still be replayable
|
|
7
|
+
* — the user supplies an `EventAdapter` (for events) or a `SnapshotAdapter`
|
|
8
|
+
* / `StateAdapter` (for snapshots and durable state) which:
|
|
9
|
+
*
|
|
10
|
+
* - tags every value written with a stable `manifest` string and a
|
|
11
|
+
* numeric `version` (the wire-format envelope is `{ _v, _t, _e }`,
|
|
12
|
+
* applied transparently by `PersistentActor` / `DurableStateActor`),
|
|
13
|
+
* - on read, takes the stored triple `{ manifest, version, payload }`
|
|
14
|
+
* and returns a current-version domain value, typically by delegating
|
|
15
|
+
* to a `MigrationChain` of pure upcaster functions.
|
|
16
|
+
*
|
|
17
|
+
* The adapter contract is intentionally separate from the wire envelope:
|
|
18
|
+
* adapters return / accept *triples*, the actor is responsible for the
|
|
19
|
+
* `_v / _t / _e` JSON shape. That keeps user code focused on the domain
|
|
20
|
+
* mapping and lets us evolve the wire format later without breaking
|
|
21
|
+
* adapters.
|
|
22
|
+
*/
|
|
23
|
+
/** Wire-format envelope written into the `event` / `state` JSON slot. */
|
|
24
|
+
export interface JournalEnvelope<P = unknown> {
|
|
25
|
+
/** Schema version of the payload — monotonic, increments per breaking change. */
|
|
26
|
+
readonly _v: number;
|
|
27
|
+
/** Manifest — stable type identity, e.g. `'BankAccount.Deposited'`. */
|
|
28
|
+
readonly _t: string;
|
|
29
|
+
/** The (possibly-old) payload itself. */
|
|
30
|
+
readonly _e: P;
|
|
31
|
+
}
|
|
32
|
+
/** Stored shape that adapters see on the read path — the unwrapped envelope. */
|
|
33
|
+
export interface StoredFrame {
|
|
34
|
+
readonly manifest: string;
|
|
35
|
+
readonly version: number;
|
|
36
|
+
readonly payload: unknown;
|
|
37
|
+
}
|
|
38
|
+
/** Triple emitted by adapters on the write path — the actor wraps this into an envelope. */
|
|
39
|
+
export interface OutboundFrame<JournalShape = unknown> {
|
|
40
|
+
readonly manifest: string;
|
|
41
|
+
readonly version: number;
|
|
42
|
+
readonly payload: JournalShape;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Adapter for `PersistentActor` events. `DomainEvent` is the *current*
|
|
46
|
+
* event union the actor knows; `JournalShape` defaults to the same type
|
|
47
|
+
* but may diverge if the user wants to store a slimmer wire representation.
|
|
48
|
+
*/
|
|
49
|
+
export interface EventAdapter<DomainEvent, JournalShape = DomainEvent> {
|
|
50
|
+
/** Stable identifier for the *current* event variant — used as `_t` on disk. */
|
|
51
|
+
manifest(event: DomainEvent): string;
|
|
52
|
+
/** Convert a domain event to the journal triple. */
|
|
53
|
+
toJournal(event: DomainEvent): OutboundFrame<JournalShape>;
|
|
54
|
+
/** Inverse: take any past version off disk, return a current-version domain event. */
|
|
55
|
+
fromJournal(stored: StoredFrame): DomainEvent;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Adapter for `PersistentActor` snapshots. Structurally identical to
|
|
59
|
+
* `EventAdapter` but kept as a separate type so signatures read clearly
|
|
60
|
+
* (a `snapshotAdapter()` returning an `EventAdapter` would be misleading).
|
|
61
|
+
*/
|
|
62
|
+
export interface SnapshotAdapter<DomainState, StoredShape = DomainState> {
|
|
63
|
+
manifest(state: DomainState): string;
|
|
64
|
+
toJournal(state: DomainState): OutboundFrame<StoredShape>;
|
|
65
|
+
fromJournal(stored: StoredFrame): DomainState;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Adapter for `DurableStateActor` — same shape as `SnapshotAdapter`, alias
|
|
69
|
+
* for naming clarity at the actor level.
|
|
70
|
+
*/
|
|
71
|
+
export type StateAdapter<DomainState> = SnapshotAdapter<DomainState>;
|
|
72
|
+
//# sourceMappingURL=Adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Adapter.d.ts","sourceRoot":"","sources":["../../../src/persistence/migration/Adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,yEAAyE;AACzE,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,iFAAiF;IACjF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;CAChB;AAED,gFAAgF;AAChF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,4FAA4F;AAC5F,MAAM,WAAW,aAAa,CAAC,YAAY,GAAG,OAAO;IACnD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,WAAW,EAAE,YAAY,GAAG,WAAW;IACnE,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC;IACrC,oDAAoD;IACpD,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3D,sFAAsF;IACtF,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC;CAC/C;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW;IACrE,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC;IACrC,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC1D,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC;CAC/C;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,WAAW,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema-evolution adapters for persistent actors.
|
|
3
|
+
*
|
|
4
|
+
* The actor framework stores events / state as opaque JSON in the journal
|
|
5
|
+
* and snapshot store. When a domain type evolves (new field, renamed
|
|
6
|
+
* field, type change), already-persisted history must still be replayable
|
|
7
|
+
* — the user supplies an `EventAdapter` (for events) or a `SnapshotAdapter`
|
|
8
|
+
* / `StateAdapter` (for snapshots and durable state) which:
|
|
9
|
+
*
|
|
10
|
+
* - tags every value written with a stable `manifest` string and a
|
|
11
|
+
* numeric `version` (the wire-format envelope is `{ _v, _t, _e }`,
|
|
12
|
+
* applied transparently by `PersistentActor` / `DurableStateActor`),
|
|
13
|
+
* - on read, takes the stored triple `{ manifest, version, payload }`
|
|
14
|
+
* and returns a current-version domain value, typically by delegating
|
|
15
|
+
* to a `MigrationChain` of pure upcaster functions.
|
|
16
|
+
*
|
|
17
|
+
* The adapter contract is intentionally separate from the wire envelope:
|
|
18
|
+
* adapters return / accept *triples*, the actor is responsible for the
|
|
19
|
+
* `_v / _t / _e` JSON shape. That keeps user code focused on the domain
|
|
20
|
+
* mapping and lets us evolve the wire format later without breaking
|
|
21
|
+
* adapters.
|
|
22
|
+
*/
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=Adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Adapter.js","sourceRoot":"","sources":["../../../src/persistence/migration/Adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pluggable wire codec for journal payloads (#6).
|
|
3
|
+
*
|
|
4
|
+
* The persistence layer serialises everything as JSON — that's the
|
|
5
|
+
* baseline contract. But user code often wants stronger guarantees
|
|
6
|
+
* about the *shape* of the JSON it stores: every event matches a
|
|
7
|
+
* known schema, every snapshot decodes cleanly, malformed wire
|
|
8
|
+
* data is rejected loud and early instead of crashing somewhere in
|
|
9
|
+
* `onEvent`. A `Codec<T>` is the validate-on-encode/decode hook
|
|
10
|
+
* that gets you that.
|
|
11
|
+
*
|
|
12
|
+
* Two shipped impls:
|
|
13
|
+
*
|
|
14
|
+
* - `jsonCodec<T>()` — pass-through. No validation. Same as the
|
|
15
|
+
* framework's default behaviour. Use when you don't have or
|
|
16
|
+
* don't need schema validation.
|
|
17
|
+
* - `zodCodec<T>(schema)` — validates against any object exposing
|
|
18
|
+
* a `parse(unknown): T` method. Zod schemas, `valibot` schemas
|
|
19
|
+
* with a `parse` adapter, and any hand-rolled validator all
|
|
20
|
+
* fit. We don't import `zod` directly — the user brings their
|
|
21
|
+
* own dependency and passes the schema in.
|
|
22
|
+
*
|
|
23
|
+
* Avro / Protobuf wire codecs are out-of-scope for v1. The hooks
|
|
24
|
+
* here are wide enough that a user can build them on top: `encode`
|
|
25
|
+
* returns the shape that ends up in the JSON envelope, so writing
|
|
26
|
+
* an Avro codec means returning a base64 string; the journal is
|
|
27
|
+
* agnostic.
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* A bidirectional value-transform with validation on both sides.
|
|
31
|
+
* `encode` is called when the actor is about to persist; `decode`
|
|
32
|
+
* is called after a successful journal read but **before** the
|
|
33
|
+
* domain handler sees the payload. Errors thrown from either
|
|
34
|
+
* surface as `PersistError` / `MigrationError` at the actor layer.
|
|
35
|
+
*/
|
|
36
|
+
export interface Codec<T> {
|
|
37
|
+
/**
|
|
38
|
+
* Validate / serialise a domain value for the wire. Returning
|
|
39
|
+
* the input unchanged is fine — the codec's job is to throw on
|
|
40
|
+
* invalid input, not necessarily to reshape the payload.
|
|
41
|
+
*/
|
|
42
|
+
encode(value: T): unknown;
|
|
43
|
+
/** Inverse of `encode`. */
|
|
44
|
+
decode(wire: unknown): T;
|
|
45
|
+
/** Diagnostic name shown in error messages. */
|
|
46
|
+
readonly name?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Pass-through codec — no validation, identity transform. Same
|
|
50
|
+
* shape as the framework's default behaviour when no codec is
|
|
51
|
+
* supplied. Useful as a default in generic helpers, and as the
|
|
52
|
+
* baseline you compose richer codecs on top of.
|
|
53
|
+
*/
|
|
54
|
+
export declare function jsonCodec<T>(): Codec<T>;
|
|
55
|
+
/**
|
|
56
|
+
* Minimal interface a schema must satisfy to plug into `zodCodec`.
|
|
57
|
+
* Zod's `ZodSchema<T>` matches it; valibot exposes a compatible
|
|
58
|
+
* `parse` via its standard helpers; any hand-rolled validator
|
|
59
|
+
* with a single `parse` method that throws on invalid input works.
|
|
60
|
+
*/
|
|
61
|
+
export interface ParserLike<T> {
|
|
62
|
+
/** Validate `input` and return a typed value. Throws on invalid. */
|
|
63
|
+
parse(input: unknown): T;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Codec that validates with any `parse`-style schema (Zod, valibot,
|
|
67
|
+
* hand-rolled). We don't import `zod` directly — the user's
|
|
68
|
+
* project owns the dependency and passes the schema in.
|
|
69
|
+
*
|
|
70
|
+
* import { z } from 'zod';
|
|
71
|
+
*
|
|
72
|
+
* const Deposited = z.object({
|
|
73
|
+
* kind: z.literal('deposited'),
|
|
74
|
+
* amount: z.number().int().nonnegative(),
|
|
75
|
+
* currency: z.enum(['USD', 'EUR']),
|
|
76
|
+
* });
|
|
77
|
+
*
|
|
78
|
+
* const adapter = validatedEventAdapter(
|
|
79
|
+
* defaultsAdapter<DepositedV2>({ ... }),
|
|
80
|
+
* zodCodec(Deposited),
|
|
81
|
+
* );
|
|
82
|
+
*
|
|
83
|
+
* Validates:
|
|
84
|
+
* - On `toJournal`: a programmer-bug malformed event is caught
|
|
85
|
+
* at write time, not after it's already on disk.
|
|
86
|
+
* - On `fromJournal`: a corrupted / hand-edited journal record
|
|
87
|
+
* fails the deserialise instead of silently producing garbage.
|
|
88
|
+
*
|
|
89
|
+
* `zodCodec` does NOT participate in **schema-evolution** by
|
|
90
|
+
* itself — pair it with `defaultsAdapter`, `migratingAdapter`, or
|
|
91
|
+
* the SchemaRegistry to cover version differences. This codec
|
|
92
|
+
* validates one specific shape; it has no idea what older or newer
|
|
93
|
+
* versions look like.
|
|
94
|
+
*/
|
|
95
|
+
export declare function zodCodec<T>(schema: ParserLike<T>, name?: string): Codec<T>;
|
|
96
|
+
/**
|
|
97
|
+
* Compose two codecs serially: the first transforms domain → mid,
|
|
98
|
+
* the second transforms mid → wire. Decoding runs in reverse.
|
|
99
|
+
* Handy when you want validation on top of a structural transform
|
|
100
|
+
* (e.g. `composeCodecs(camelCaseCodec, zodCodec(schema))`).
|
|
101
|
+
*/
|
|
102
|
+
export declare function composeCodecs<A, B>(first: Codec<A>, second: Codec<B>, name?: string): Codec<A>;
|
|
103
|
+
//# sourceMappingURL=Codec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Codec.d.ts","sourceRoot":"","sources":["../../../src/persistence/migration/Codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,KAAK,CAAC,CAAC;IACtB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC;IAC1B,2BAA2B;IAC3B,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAMvC;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,qEAAqE;IACrE,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,SAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAMzE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAChC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAChB,IAAI,CAAC,EAAE,MAAM,GACZ,KAAK,CAAC,CAAC,CAAC,CAMV"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pluggable wire codec for journal payloads (#6).
|
|
3
|
+
*
|
|
4
|
+
* The persistence layer serialises everything as JSON — that's the
|
|
5
|
+
* baseline contract. But user code often wants stronger guarantees
|
|
6
|
+
* about the *shape* of the JSON it stores: every event matches a
|
|
7
|
+
* known schema, every snapshot decodes cleanly, malformed wire
|
|
8
|
+
* data is rejected loud and early instead of crashing somewhere in
|
|
9
|
+
* `onEvent`. A `Codec<T>` is the validate-on-encode/decode hook
|
|
10
|
+
* that gets you that.
|
|
11
|
+
*
|
|
12
|
+
* Two shipped impls:
|
|
13
|
+
*
|
|
14
|
+
* - `jsonCodec<T>()` — pass-through. No validation. Same as the
|
|
15
|
+
* framework's default behaviour. Use when you don't have or
|
|
16
|
+
* don't need schema validation.
|
|
17
|
+
* - `zodCodec<T>(schema)` — validates against any object exposing
|
|
18
|
+
* a `parse(unknown): T` method. Zod schemas, `valibot` schemas
|
|
19
|
+
* with a `parse` adapter, and any hand-rolled validator all
|
|
20
|
+
* fit. We don't import `zod` directly — the user brings their
|
|
21
|
+
* own dependency and passes the schema in.
|
|
22
|
+
*
|
|
23
|
+
* Avro / Protobuf wire codecs are out-of-scope for v1. The hooks
|
|
24
|
+
* here are wide enough that a user can build them on top: `encode`
|
|
25
|
+
* returns the shape that ends up in the JSON envelope, so writing
|
|
26
|
+
* an Avro codec means returning a base64 string; the journal is
|
|
27
|
+
* agnostic.
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* Pass-through codec — no validation, identity transform. Same
|
|
31
|
+
* shape as the framework's default behaviour when no codec is
|
|
32
|
+
* supplied. Useful as a default in generic helpers, and as the
|
|
33
|
+
* baseline you compose richer codecs on top of.
|
|
34
|
+
*/
|
|
35
|
+
export function jsonCodec() {
|
|
36
|
+
return {
|
|
37
|
+
name: 'json',
|
|
38
|
+
encode: (v) => v,
|
|
39
|
+
decode: (w) => w,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Codec that validates with any `parse`-style schema (Zod, valibot,
|
|
44
|
+
* hand-rolled). We don't import `zod` directly — the user's
|
|
45
|
+
* project owns the dependency and passes the schema in.
|
|
46
|
+
*
|
|
47
|
+
* import { z } from 'zod';
|
|
48
|
+
*
|
|
49
|
+
* const Deposited = z.object({
|
|
50
|
+
* kind: z.literal('deposited'),
|
|
51
|
+
* amount: z.number().int().nonnegative(),
|
|
52
|
+
* currency: z.enum(['USD', 'EUR']),
|
|
53
|
+
* });
|
|
54
|
+
*
|
|
55
|
+
* const adapter = validatedEventAdapter(
|
|
56
|
+
* defaultsAdapter<DepositedV2>({ ... }),
|
|
57
|
+
* zodCodec(Deposited),
|
|
58
|
+
* );
|
|
59
|
+
*
|
|
60
|
+
* Validates:
|
|
61
|
+
* - On `toJournal`: a programmer-bug malformed event is caught
|
|
62
|
+
* at write time, not after it's already on disk.
|
|
63
|
+
* - On `fromJournal`: a corrupted / hand-edited journal record
|
|
64
|
+
* fails the deserialise instead of silently producing garbage.
|
|
65
|
+
*
|
|
66
|
+
* `zodCodec` does NOT participate in **schema-evolution** by
|
|
67
|
+
* itself — pair it with `defaultsAdapter`, `migratingAdapter`, or
|
|
68
|
+
* the SchemaRegistry to cover version differences. This codec
|
|
69
|
+
* validates one specific shape; it has no idea what older or newer
|
|
70
|
+
* versions look like.
|
|
71
|
+
*/
|
|
72
|
+
export function zodCodec(schema, name = 'zod') {
|
|
73
|
+
return {
|
|
74
|
+
name,
|
|
75
|
+
encode: (value) => schema.parse(value),
|
|
76
|
+
decode: (wire) => schema.parse(wire),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Compose two codecs serially: the first transforms domain → mid,
|
|
81
|
+
* the second transforms mid → wire. Decoding runs in reverse.
|
|
82
|
+
* Handy when you want validation on top of a structural transform
|
|
83
|
+
* (e.g. `composeCodecs(camelCaseCodec, zodCodec(schema))`).
|
|
84
|
+
*/
|
|
85
|
+
export function composeCodecs(first, second, name) {
|
|
86
|
+
return {
|
|
87
|
+
name: name ?? `${first.name ?? 'a'}>>${second.name ?? 'b'}`,
|
|
88
|
+
encode: (a) => second.encode(first.encode(a)),
|
|
89
|
+
decode: (c) => first.decode(second.decode(c)),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=Codec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Codec.js","sourceRoot":"","sources":["../../../src/persistence/migration/Codec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAsBH;;;;;GAKG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,CAAC,CAAI,EAAE,EAAE,CAAC,CAAY;QAC9B,MAAM,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,CAAM;KAC/B,CAAC;AACJ,CAAC;AAaD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,QAAQ,CAAI,MAAqB,EAAE,IAAI,GAAG,KAAK;IAC7D,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,CAAC,KAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QACzC,MAAM,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAe,EACf,MAAgB,EAChB,IAAa;IAEb,OAAO;QACL,IAAI,EAAE,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,GAAG,KAAK,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE;QAC3D,MAAM,EAAE,CAAC,CAAI,EAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAM,CAAC;QAC9D,MAAM,EAAE,CAAC,CAAU,EAAK,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KAC1D,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { EventAdapter, JournalEnvelope, SnapshotAdapter } from './Adapter.js';
|
|
2
|
+
/**
|
|
3
|
+
* Wire-format helpers for the `_v / _t / _e` JSON envelope used by
|
|
4
|
+
* `PersistentActor` and `DurableStateActor` when an adapter is active.
|
|
5
|
+
*
|
|
6
|
+
* The envelope rides inside the existing `event` / `state` JSON slot of
|
|
7
|
+
* the journal / snapshot store, so no backend (InMemory, SQLite,
|
|
8
|
+
* Cassandra, object-storage) needs schema changes. The magic keys are
|
|
9
|
+
* `_v`, `_t`, `_e` — underscore-prefixed to make accidental collisions
|
|
10
|
+
* with domain types vanishingly unlikely.
|
|
11
|
+
*/
|
|
12
|
+
/** Raised when adapter-driven decoding hits a malformed/legacy payload. */
|
|
13
|
+
export declare class MigrationError extends Error {
|
|
14
|
+
readonly manifest?: string | undefined;
|
|
15
|
+
readonly version?: number | undefined;
|
|
16
|
+
constructor(message: string, manifest?: string | undefined, version?: number | undefined);
|
|
17
|
+
}
|
|
18
|
+
/** True iff `o` looks like a `JournalEnvelope`. */
|
|
19
|
+
export declare function isEnvelope(o: unknown): o is JournalEnvelope;
|
|
20
|
+
/** Wrap a domain event into an envelope using the supplied adapter. */
|
|
21
|
+
export declare function encodeEvent<E, J>(event: E, adapter: EventAdapter<E, J>): JournalEnvelope<J>;
|
|
22
|
+
/**
|
|
23
|
+
* Decode a value read from the journal. When `adapter` is undefined the
|
|
24
|
+
* caller has not opted into the migration system — the value is returned
|
|
25
|
+
* as-is and is assumed to be a raw domain event. When `adapter` is
|
|
26
|
+
* defined, the value MUST be an envelope; otherwise a `MigrationError` is
|
|
27
|
+
* raised (strict mode — see plan §1).
|
|
28
|
+
*/
|
|
29
|
+
export declare function decodeEvent<E>(stored: unknown, adapter: EventAdapter<E> | undefined): E;
|
|
30
|
+
/** Wrap a snapshot state into an envelope using the supplied adapter. */
|
|
31
|
+
export declare function encodeState<S, J>(state: S, adapter: SnapshotAdapter<S, J>): JournalEnvelope<J>;
|
|
32
|
+
/**
|
|
33
|
+
* Decode a state read from the snapshot store / durable-state store.
|
|
34
|
+
* Same strict semantics as `decodeEvent`.
|
|
35
|
+
*/
|
|
36
|
+
export declare function decodeState<S>(stored: unknown, adapter: SnapshotAdapter<S> | undefined): S;
|
|
37
|
+
//# sourceMappingURL=Envelope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Envelope.d.ts","sourceRoot":"","sources":["../../../src/persistence/migration/Envelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,eAAe,EAEhB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;GASG;AAEH,2EAA2E;AAC3E,qBAAa,cAAe,SAAQ,KAAK;aAGrB,QAAQ,CAAC,EAAE,MAAM;aACjB,OAAO,CAAC,EAAE,MAAM;gBAFhC,OAAO,EAAE,MAAM,EACC,QAAQ,CAAC,EAAE,MAAM,YAAA,EACjB,OAAO,CAAC,EAAE,MAAM,YAAA;CAKnC;AAED,mDAAmD;AACnD,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,eAAe,CAM3D;AAID,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAG3F;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAWvF;AAID,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAG9F;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,CAU1F"}
|