actor-ts 0.9.0 → 0.10.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 +408 -0
- package/README.md +285 -269
- package/dist/ActorSystem.d.ts +3 -38
- package/dist/ActorSystem.d.ts.map +1 -1
- package/dist/ActorSystem.js +2 -2
- package/dist/ActorSystem.js.map +1 -1
- package/dist/ActorSystemOptions.d.ts +91 -0
- package/dist/ActorSystemOptions.d.ts.map +1 -0
- package/dist/ActorSystemOptions.js +45 -0
- package/dist/ActorSystemOptions.js.map +1 -0
- package/dist/Logger.d.ts +63 -0
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +146 -0
- package/dist/Logger.js.map +1 -1
- package/dist/cache/MemcachedCache.d.ts +2 -12
- package/dist/cache/MemcachedCache.d.ts.map +1 -1
- package/dist/cache/MemcachedCache.js +2 -1
- package/dist/cache/MemcachedCache.js.map +1 -1
- package/dist/cache/MemcachedCacheOptions.d.ts +40 -0
- package/dist/cache/MemcachedCacheOptions.d.ts.map +1 -0
- package/dist/cache/MemcachedCacheOptions.js +32 -0
- package/dist/cache/MemcachedCacheOptions.js.map +1 -0
- package/dist/cache/RedisCache.d.ts +2 -22
- package/dist/cache/RedisCache.d.ts.map +1 -1
- package/dist/cache/RedisCache.js +2 -1
- package/dist/cache/RedisCache.js.map +1 -1
- package/dist/cache/RedisCacheOptions.d.ts +56 -0
- package/dist/cache/RedisCacheOptions.d.ts.map +1 -0
- package/dist/cache/RedisCacheOptions.js +43 -0
- package/dist/cache/RedisCacheOptions.js.map +1 -0
- package/dist/cache/index.d.ts +6 -2
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +2 -0
- package/dist/cache/index.js.map +1 -1
- package/dist/cluster/Cluster.d.ts +4 -63
- package/dist/cluster/Cluster.d.ts.map +1 -1
- package/dist/cluster/Cluster.js +10 -5
- package/dist/cluster/Cluster.js.map +1 -1
- package/dist/cluster/ClusterBootstrap.d.ts +6 -84
- package/dist/cluster/ClusterBootstrap.d.ts.map +1 -1
- package/dist/cluster/ClusterBootstrap.js +33 -21
- package/dist/cluster/ClusterBootstrap.js.map +1 -1
- package/dist/cluster/ClusterBootstrapOptions.d.ts +152 -0
- package/dist/cluster/ClusterBootstrapOptions.d.ts.map +1 -0
- package/dist/cluster/ClusterBootstrapOptions.js +103 -0
- package/dist/cluster/ClusterBootstrapOptions.js.map +1 -0
- package/dist/cluster/ClusterClient.d.ts +21 -31
- package/dist/cluster/ClusterClient.d.ts.map +1 -1
- package/dist/cluster/ClusterClient.js +21 -6
- package/dist/cluster/ClusterClient.js.map +1 -1
- package/dist/cluster/ClusterClientOptions.d.ts +65 -0
- package/dist/cluster/ClusterClientOptions.d.ts.map +1 -0
- package/dist/cluster/ClusterClientOptions.js +43 -0
- package/dist/cluster/ClusterClientOptions.js.map +1 -0
- package/dist/cluster/ClusterClientReceptionist.d.ts +2 -8
- package/dist/cluster/ClusterClientReceptionist.d.ts.map +1 -1
- package/dist/cluster/ClusterClientReceptionist.js +3 -1
- package/dist/cluster/ClusterClientReceptionist.js.map +1 -1
- package/dist/cluster/ClusterClientReceptionistOptions.d.ts +32 -0
- package/dist/cluster/ClusterClientReceptionistOptions.d.ts.map +1 -0
- package/dist/cluster/ClusterClientReceptionistOptions.js +22 -0
- package/dist/cluster/ClusterClientReceptionistOptions.js.map +1 -0
- package/dist/cluster/ClusterOptions.d.ts +116 -0
- package/dist/cluster/ClusterOptions.d.ts.map +1 -0
- package/dist/cluster/ClusterOptions.js +77 -0
- package/dist/cluster/ClusterOptions.js.map +1 -0
- package/dist/cluster/FailureDetector.d.ts +4 -11
- package/dist/cluster/FailureDetector.d.ts.map +1 -1
- package/dist/cluster/FailureDetector.js +4 -3
- package/dist/cluster/FailureDetector.js.map +1 -1
- package/dist/cluster/FailureDetectorOptions.d.ts +38 -0
- package/dist/cluster/FailureDetectorOptions.d.ts.map +1 -0
- package/dist/cluster/FailureDetectorOptions.js +31 -0
- package/dist/cluster/FailureDetectorOptions.js.map +1 -0
- package/dist/cluster/PhiAccrualFailureDetector.d.ts +3 -19
- package/dist/cluster/PhiAccrualFailureDetector.d.ts.map +1 -1
- package/dist/cluster/PhiAccrualFailureDetector.js +2 -2
- package/dist/cluster/PhiAccrualFailureDetector.js.map +1 -1
- package/dist/cluster/PhiAccrualOptions.d.ts +53 -0
- package/dist/cluster/PhiAccrualOptions.d.ts.map +1 -0
- package/dist/cluster/PhiAccrualOptions.js +43 -0
- package/dist/cluster/PhiAccrualOptions.js.map +1 -0
- package/dist/cluster/downing/KeepOldest.d.ts +2 -11
- package/dist/cluster/downing/KeepOldest.d.ts.map +1 -1
- package/dist/cluster/downing/KeepOldest.js +2 -2
- package/dist/cluster/downing/KeepOldest.js.map +1 -1
- package/dist/cluster/downing/KeepOldestOptions.d.ts +34 -0
- package/dist/cluster/downing/KeepOldestOptions.d.ts.map +1 -0
- package/dist/cluster/downing/KeepOldestOptions.js +23 -0
- package/dist/cluster/downing/KeepOldestOptions.js.map +1 -0
- package/dist/cluster/downing/KeepReferee.d.ts +2 -10
- package/dist/cluster/downing/KeepReferee.d.ts.map +1 -1
- package/dist/cluster/downing/KeepReferee.js +3 -3
- package/dist/cluster/downing/KeepReferee.js.map +1 -1
- package/dist/cluster/downing/KeepRefereeOptions.d.ts +35 -0
- package/dist/cluster/downing/KeepRefereeOptions.d.ts.map +1 -0
- package/dist/cluster/downing/KeepRefereeOptions.js +25 -0
- package/dist/cluster/downing/KeepRefereeOptions.js.map +1 -0
- package/dist/cluster/downing/LeaseMajority.d.ts +63 -21
- package/dist/cluster/downing/LeaseMajority.d.ts.map +1 -1
- package/dist/cluster/downing/LeaseMajority.js +132 -9
- package/dist/cluster/downing/LeaseMajority.js.map +1 -1
- package/dist/cluster/downing/LeaseMajorityOptions.d.ts +49 -0
- package/dist/cluster/downing/LeaseMajorityOptions.d.ts.map +1 -0
- package/dist/cluster/downing/LeaseMajorityOptions.js +31 -0
- package/dist/cluster/downing/LeaseMajorityOptions.js.map +1 -0
- package/dist/cluster/downing/StaticQuorum.d.ts +2 -7
- package/dist/cluster/downing/StaticQuorum.d.ts.map +1 -1
- package/dist/cluster/downing/StaticQuorum.js +3 -3
- package/dist/cluster/downing/StaticQuorum.js.map +1 -1
- package/dist/cluster/downing/StaticQuorumOptions.d.ts +30 -0
- package/dist/cluster/downing/StaticQuorumOptions.d.ts.map +1 -0
- package/dist/cluster/downing/StaticQuorumOptions.js +23 -0
- package/dist/cluster/downing/StaticQuorumOptions.js.map +1 -0
- package/dist/cluster/downing/index.d.ts +8 -4
- package/dist/cluster/downing/index.d.ts.map +1 -1
- package/dist/cluster/downing/index.js +4 -0
- package/dist/cluster/downing/index.js.map +1 -1
- package/dist/cluster/index.d.ts +34 -19
- package/dist/cluster/index.d.ts.map +1 -1
- package/dist/cluster/index.js +15 -4
- package/dist/cluster/index.js.map +1 -1
- package/dist/cluster/pubsub/DistributedPubSubExtension.d.ts +2 -2
- package/dist/cluster/pubsub/DistributedPubSubExtension.d.ts.map +1 -1
- package/dist/cluster/pubsub/DistributedPubSubExtension.js +5 -2
- package/dist/cluster/pubsub/DistributedPubSubExtension.js.map +1 -1
- package/dist/cluster/pubsub/DistributedPubSubMediator.d.ts +3 -7
- package/dist/cluster/pubsub/DistributedPubSubMediator.d.ts.map +1 -1
- package/dist/cluster/pubsub/DistributedPubSubMediator.js +3 -3
- package/dist/cluster/pubsub/DistributedPubSubMediator.js.map +1 -1
- package/dist/cluster/pubsub/DistributedPubSubOptions.d.ts +29 -0
- package/dist/cluster/pubsub/DistributedPubSubOptions.d.ts.map +1 -0
- package/dist/cluster/pubsub/DistributedPubSubOptions.js +23 -0
- package/dist/cluster/pubsub/DistributedPubSubOptions.js.map +1 -0
- package/dist/cluster/pubsub/index.d.ts +2 -1
- package/dist/cluster/pubsub/index.d.ts.map +1 -1
- package/dist/cluster/pubsub/index.js +1 -0
- package/dist/cluster/pubsub/index.js.map +1 -1
- package/dist/cluster/router/ClusterRouter.d.ts +12 -32
- package/dist/cluster/router/ClusterRouter.d.ts.map +1 -1
- package/dist/cluster/router/ClusterRouter.js +4 -2
- package/dist/cluster/router/ClusterRouter.js.map +1 -1
- package/dist/cluster/router/ClusterRouterOptions.d.ts +60 -0
- package/dist/cluster/router/ClusterRouterOptions.d.ts.map +1 -0
- package/dist/cluster/router/ClusterRouterOptions.js +41 -0
- package/dist/cluster/router/ClusterRouterOptions.js.map +1 -0
- package/dist/cluster/router/index.d.ts +3 -1
- package/dist/cluster/router/index.d.ts.map +1 -1
- package/dist/cluster/router/index.js +1 -0
- package/dist/cluster/router/index.js.map +1 -1
- package/dist/cluster/sharding/CassandraRememberEntitiesStore.d.ts +1 -15
- package/dist/cluster/sharding/CassandraRememberEntitiesStore.d.ts.map +1 -1
- package/dist/cluster/sharding/CassandraRememberEntitiesStore.js +35 -2
- package/dist/cluster/sharding/CassandraRememberEntitiesStore.js.map +1 -1
- package/dist/cluster/sharding/CassandraRememberEntitiesStoreOptions.d.ts +63 -0
- package/dist/cluster/sharding/CassandraRememberEntitiesStoreOptions.d.ts.map +1 -0
- package/dist/cluster/sharding/CassandraRememberEntitiesStoreOptions.js +63 -0
- package/dist/cluster/sharding/CassandraRememberEntitiesStoreOptions.js.map +1 -0
- package/dist/cluster/sharding/ClusterSharding.d.ts +18 -64
- package/dist/cluster/sharding/ClusterSharding.d.ts.map +1 -1
- package/dist/cluster/sharding/ClusterSharding.js +44 -20
- package/dist/cluster/sharding/ClusterSharding.js.map +1 -1
- package/dist/cluster/sharding/CoordinatorState.d.ts +1 -1
- package/dist/cluster/sharding/CoordinatorState.js +1 -1
- package/dist/cluster/sharding/ShardCoordinator.d.ts +3 -63
- package/dist/cluster/sharding/ShardCoordinator.d.ts.map +1 -1
- package/dist/cluster/sharding/ShardCoordinator.js +3 -3
- package/dist/cluster/sharding/ShardCoordinator.js.map +1 -1
- package/dist/cluster/sharding/ShardCoordinatorOptions.d.ts +111 -0
- package/dist/cluster/sharding/ShardCoordinatorOptions.d.ts.map +1 -0
- package/dist/cluster/sharding/ShardCoordinatorOptions.js +69 -0
- package/dist/cluster/sharding/ShardCoordinatorOptions.js.map +1 -0
- package/dist/cluster/sharding/ShardRegion.d.ts +2 -33
- package/dist/cluster/sharding/ShardRegion.d.ts.map +1 -1
- package/dist/cluster/sharding/ShardRegion.js.map +1 -1
- package/dist/cluster/sharding/ShardedDaemonProcess.d.ts +2 -22
- package/dist/cluster/sharding/ShardedDaemonProcess.d.ts.map +1 -1
- package/dist/cluster/sharding/ShardedDaemonProcess.js +14 -11
- package/dist/cluster/sharding/ShardedDaemonProcess.js.map +1 -1
- package/dist/cluster/sharding/ShardedDaemonProcessOptions.d.ts +51 -0
- package/dist/cluster/sharding/ShardedDaemonProcessOptions.d.ts.map +1 -0
- package/dist/cluster/sharding/ShardedDaemonProcessOptions.js +35 -0
- package/dist/cluster/sharding/ShardedDaemonProcessOptions.js.map +1 -0
- package/dist/cluster/sharding/ShardingOptions.d.ts +84 -0
- package/dist/cluster/sharding/ShardingOptions.d.ts.map +1 -0
- package/dist/cluster/sharding/ShardingOptions.js +62 -0
- package/dist/cluster/sharding/ShardingOptions.js.map +1 -0
- package/dist/cluster/sharding/StartShardingOptions.d.ts +98 -0
- package/dist/cluster/sharding/StartShardingOptions.d.ts.map +1 -0
- package/dist/cluster/sharding/StartShardingOptions.js +52 -0
- package/dist/cluster/sharding/StartShardingOptions.js.map +1 -0
- package/dist/cluster/singleton/ClusterSingleton.d.ts +2 -30
- package/dist/cluster/singleton/ClusterSingleton.d.ts.map +1 -1
- package/dist/cluster/singleton/ClusterSingleton.js +15 -9
- package/dist/cluster/singleton/ClusterSingleton.js.map +1 -1
- package/dist/cluster/singleton/ClusterSingletonManager.d.ts +3 -18
- package/dist/cluster/singleton/ClusterSingletonManager.d.ts.map +1 -1
- package/dist/cluster/singleton/ClusterSingletonManager.js +3 -3
- package/dist/cluster/singleton/ClusterSingletonManager.js.map +1 -1
- package/dist/cluster/singleton/ClusterSingletonManagerOptions.d.ts +49 -0
- package/dist/cluster/singleton/ClusterSingletonManagerOptions.d.ts.map +1 -0
- package/dist/cluster/singleton/ClusterSingletonManagerOptions.js +40 -0
- package/dist/cluster/singleton/ClusterSingletonManagerOptions.js.map +1 -0
- package/dist/cluster/singleton/StartSingletonOptions.d.ts +64 -0
- package/dist/cluster/singleton/StartSingletonOptions.d.ts.map +1 -0
- package/dist/cluster/singleton/StartSingletonOptions.js +40 -0
- package/dist/cluster/singleton/StartSingletonOptions.js.map +1 -0
- package/dist/cluster/singleton/index.d.ts +6 -2
- package/dist/cluster/singleton/index.d.ts.map +1 -1
- package/dist/cluster/singleton/index.js +2 -0
- package/dist/cluster/singleton/index.js.map +1 -1
- package/dist/config/ConfigKeys.d.ts +5 -0
- package/dist/config/ConfigKeys.d.ts.map +1 -1
- package/dist/config/ConfigKeys.js +5 -0
- package/dist/config/ConfigKeys.js.map +1 -1
- package/dist/coordination/Lease.d.ts +32 -14
- package/dist/coordination/Lease.d.ts.map +1 -1
- package/dist/coordination/LeaseOptions.d.ts +61 -0
- package/dist/coordination/LeaseOptions.d.ts.map +1 -0
- package/dist/coordination/LeaseOptions.js +50 -0
- package/dist/coordination/LeaseOptions.js.map +1 -0
- package/dist/coordination/index.d.ts +5 -2
- package/dist/coordination/index.d.ts.map +1 -1
- package/dist/coordination/index.js +2 -0
- package/dist/coordination/index.js.map +1 -1
- package/dist/coordination/leases/InMemoryLease.d.ts +18 -5
- package/dist/coordination/leases/InMemoryLease.d.ts.map +1 -1
- package/dist/coordination/leases/InMemoryLease.js +23 -11
- package/dist/coordination/leases/InMemoryLease.js.map +1 -1
- package/dist/coordination/leases/KubernetesLease.d.ts +19 -24
- package/dist/coordination/leases/KubernetesLease.d.ts.map +1 -1
- package/dist/coordination/leases/KubernetesLease.js +28 -9
- package/dist/coordination/leases/KubernetesLease.js.map +1 -1
- package/dist/coordination/leases/KubernetesLeaseOptions.d.ts +58 -0
- package/dist/coordination/leases/KubernetesLeaseOptions.d.ts.map +1 -0
- package/dist/coordination/leases/KubernetesLeaseOptions.js +42 -0
- package/dist/coordination/leases/KubernetesLeaseOptions.js.map +1 -0
- package/dist/crdt/DistributedData.d.ts +2 -22
- package/dist/crdt/DistributedData.d.ts.map +1 -1
- package/dist/crdt/DistributedData.js +3 -2
- package/dist/crdt/DistributedData.js.map +1 -1
- package/dist/crdt/DistributedDataOptions.d.ts +50 -0
- package/dist/crdt/DistributedDataOptions.d.ts.map +1 -0
- package/dist/crdt/DistributedDataOptions.js +28 -0
- package/dist/crdt/DistributedDataOptions.js.map +1 -0
- package/dist/crdt/index.d.ts +3 -1
- package/dist/crdt/index.d.ts.map +1 -1
- package/dist/crdt/index.js +1 -0
- package/dist/crdt/index.js.map +1 -1
- package/dist/delivery/ProducerController.d.ts +4 -19
- package/dist/delivery/ProducerController.d.ts.map +1 -1
- package/dist/delivery/ProducerController.js +4 -3
- package/dist/delivery/ProducerController.js.map +1 -1
- package/dist/delivery/ProducerControllerOptions.d.ts +50 -0
- package/dist/delivery/ProducerControllerOptions.d.ts.map +1 -0
- package/dist/delivery/ProducerControllerOptions.js +36 -0
- package/dist/delivery/ProducerControllerOptions.js.map +1 -0
- package/dist/delivery/ReliableDelivery.d.ts +3 -2
- package/dist/delivery/ReliableDelivery.d.ts.map +1 -1
- package/dist/delivery/ReliableDelivery.js +2 -2
- package/dist/delivery/ReliableDelivery.js.map +1 -1
- package/dist/delivery/index.d.ts +3 -1
- package/dist/delivery/index.d.ts.map +1 -1
- package/dist/delivery/index.js +1 -0
- package/dist/delivery/index.js.map +1 -1
- package/dist/discovery/AutoDiscoveryOptions.d.ts +72 -0
- package/dist/discovery/AutoDiscoveryOptions.d.ts.map +1 -0
- package/dist/discovery/AutoDiscoveryOptions.js +34 -0
- package/dist/discovery/AutoDiscoveryOptions.js.map +1 -0
- package/dist/discovery/ConfigSeedProvider.d.ts +2 -7
- package/dist/discovery/ConfigSeedProvider.d.ts.map +1 -1
- package/dist/discovery/ConfigSeedProvider.js +4 -3
- package/dist/discovery/ConfigSeedProvider.js.map +1 -1
- package/dist/discovery/ConfigSeedProviderOptions.d.ts +34 -0
- package/dist/discovery/ConfigSeedProviderOptions.d.ts.map +1 -0
- package/dist/discovery/ConfigSeedProviderOptions.js +27 -0
- package/dist/discovery/ConfigSeedProviderOptions.js.map +1 -0
- package/dist/discovery/DnsSeedProvider.d.ts +3 -27
- package/dist/discovery/DnsSeedProvider.d.ts.map +1 -1
- package/dist/discovery/DnsSeedProvider.js +4 -4
- package/dist/discovery/DnsSeedProvider.js.map +1 -1
- package/dist/discovery/DnsSeedProviderOptions.d.ts +67 -0
- package/dist/discovery/DnsSeedProviderOptions.d.ts.map +1 -0
- package/dist/discovery/DnsSeedProviderOptions.js +48 -0
- package/dist/discovery/DnsSeedProviderOptions.js.map +1 -0
- package/dist/discovery/KubernetesApiSeedProvider.d.ts +2 -13
- package/dist/discovery/KubernetesApiSeedProvider.d.ts.map +1 -1
- package/dist/discovery/KubernetesApiSeedProvider.js +2 -2
- package/dist/discovery/KubernetesApiSeedProvider.js.map +1 -1
- package/dist/discovery/KubernetesApiSeedProviderOptions.d.ts +46 -0
- package/dist/discovery/KubernetesApiSeedProviderOptions.d.ts.map +1 -0
- package/dist/discovery/KubernetesApiSeedProviderOptions.js +39 -0
- package/dist/discovery/KubernetesApiSeedProviderOptions.js.map +1 -0
- package/dist/discovery/Receptionist.d.ts +3 -6
- package/dist/discovery/Receptionist.d.ts.map +1 -1
- package/dist/discovery/Receptionist.js +10 -3
- package/dist/discovery/Receptionist.js.map +1 -1
- package/dist/discovery/ReceptionistOptions.d.ts +30 -0
- package/dist/discovery/ReceptionistOptions.d.ts.map +1 -0
- package/dist/discovery/ReceptionistOptions.js +24 -0
- package/dist/discovery/ReceptionistOptions.js.map +1 -0
- package/dist/discovery/autoDiscovery.d.ts +3 -44
- package/dist/discovery/autoDiscovery.d.ts.map +1 -1
- package/dist/discovery/autoDiscovery.js +31 -32
- package/dist/discovery/autoDiscovery.js.map +1 -1
- package/dist/discovery/index.d.ts +10 -5
- package/dist/discovery/index.d.ts.map +1 -1
- package/dist/discovery/index.js +5 -0
- package/dist/discovery/index.js.map +1 -1
- package/dist/http/HttpExtension.d.ts.map +1 -1
- package/dist/http/HttpExtension.js +69 -8
- package/dist/http/HttpExtension.js.map +1 -1
- package/dist/http/Route.d.ts +76 -4
- package/dist/http/Route.d.ts.map +1 -1
- package/dist/http/Route.js +74 -1
- package/dist/http/Route.js.map +1 -1
- package/dist/http/backend/ExpressBackend.d.ts +18 -12
- package/dist/http/backend/ExpressBackend.d.ts.map +1 -1
- package/dist/http/backend/ExpressBackend.js +134 -8
- package/dist/http/backend/ExpressBackend.js.map +1 -1
- package/dist/http/backend/ExpressBackendOptions.d.ts +47 -0
- package/dist/http/backend/ExpressBackendOptions.d.ts.map +1 -0
- package/dist/http/backend/ExpressBackendOptions.js +35 -0
- package/dist/http/backend/ExpressBackendOptions.js.map +1 -0
- package/dist/http/backend/FastifyBackend.d.ts +4 -1
- package/dist/http/backend/FastifyBackend.d.ts.map +1 -1
- package/dist/http/backend/FastifyBackend.js +71 -1
- package/dist/http/backend/FastifyBackend.js.map +1 -1
- package/dist/http/backend/HonoBackend.d.ts +19 -13
- package/dist/http/backend/HonoBackend.d.ts.map +1 -1
- package/dist/http/backend/HonoBackend.js +152 -5
- package/dist/http/backend/HonoBackend.js.map +1 -1
- package/dist/http/backend/HonoBackendOptions.d.ts +47 -0
- package/dist/http/backend/HonoBackendOptions.d.ts.map +1 -0
- package/dist/http/backend/HonoBackendOptions.js +35 -0
- package/dist/http/backend/HonoBackendOptions.js.map +1 -0
- package/dist/http/backend/HttpServerBackend.d.ts +24 -0
- package/dist/http/backend/HttpServerBackend.d.ts.map +1 -1
- package/dist/http/index.d.ts +11 -5
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +8 -1
- package/dist/http/index.js.map +1 -1
- package/dist/http/middleware/BearerToken.d.ts +44 -0
- package/dist/http/middleware/BearerToken.d.ts.map +1 -0
- package/dist/http/middleware/BearerToken.js +72 -0
- package/dist/http/middleware/BearerToken.js.map +1 -0
- package/dist/http/middleware/IpAllowlist.d.ts +45 -0
- package/dist/http/middleware/IpAllowlist.d.ts.map +1 -0
- package/dist/http/middleware/IpAllowlist.js +148 -0
- package/dist/http/middleware/IpAllowlist.js.map +1 -0
- package/dist/http/middleware/index.d.ts +5 -0
- package/dist/http/middleware/index.d.ts.map +1 -0
- package/dist/http/middleware/index.js +3 -0
- package/dist/http/middleware/index.js.map +1 -0
- package/dist/http/types.d.ts +9 -0
- package/dist/http/types.d.ts.map +1 -1
- package/dist/http/types.js.map +1 -1
- package/dist/http/ws/ConnectionWiring.d.ts +59 -0
- package/dist/http/ws/ConnectionWiring.d.ts.map +1 -0
- package/dist/http/ws/ConnectionWiring.js +112 -0
- package/dist/http/ws/ConnectionWiring.js.map +1 -0
- package/dist/http/ws/SocketAdapter.d.ts +72 -0
- package/dist/http/ws/SocketAdapter.d.ts.map +1 -0
- package/dist/http/ws/SocketAdapter.js +97 -0
- package/dist/http/ws/SocketAdapter.js.map +1 -0
- package/dist/http/ws/WebSocketClientActor.d.ts +66 -0
- package/dist/http/ws/WebSocketClientActor.d.ts.map +1 -0
- package/dist/http/ws/WebSocketClientActor.js +194 -0
- package/dist/http/ws/WebSocketClientActor.js.map +1 -0
- package/dist/http/ws/WebSocketClientOptions.d.ts +77 -0
- package/dist/http/ws/WebSocketClientOptions.d.ts.map +1 -0
- package/dist/http/ws/WebSocketClientOptions.js +69 -0
- package/dist/http/ws/WebSocketClientOptions.js.map +1 -0
- package/dist/http/ws/WebSocketConnectionActor.d.ts +51 -0
- package/dist/http/ws/WebSocketConnectionActor.d.ts.map +1 -0
- package/dist/http/ws/WebSocketConnectionActor.js +170 -0
- package/dist/http/ws/WebSocketConnectionActor.js.map +1 -0
- package/dist/http/ws/WebSocketRoute.d.ts +20 -0
- package/dist/http/ws/WebSocketRoute.d.ts.map +1 -0
- package/dist/http/ws/WebSocketRoute.js +44 -0
- package/dist/http/ws/WebSocketRoute.js.map +1 -0
- package/dist/http/ws/WebSocketRouteOptions.d.ts +54 -0
- package/dist/http/ws/WebSocketRouteOptions.d.ts.map +1 -0
- package/dist/http/ws/WebSocketRouteOptions.js +55 -0
- package/dist/http/ws/WebSocketRouteOptions.js.map +1 -0
- package/dist/http/ws/WebSocketServerActor.d.ts +65 -0
- package/dist/http/ws/WebSocketServerActor.d.ts.map +1 -0
- package/dist/http/ws/WebSocketServerActor.js +133 -0
- package/dist/http/ws/WebSocketServerActor.js.map +1 -0
- package/dist/http/ws/WsCodec.d.ts +65 -0
- package/dist/http/ws/WsCodec.d.ts.map +1 -0
- package/dist/http/ws/WsCodec.js +82 -0
- package/dist/http/ws/WsCodec.js.map +1 -0
- package/dist/http/ws/WsConnection.d.ts +59 -0
- package/dist/http/ws/WsConnection.d.ts.map +1 -0
- package/dist/http/ws/WsConnection.js +45 -0
- package/dist/http/ws/WsConnection.js.map +1 -0
- package/dist/http/ws/WsMessages.d.ts +91 -0
- package/dist/http/ws/WsMessages.d.ts.map +1 -0
- package/dist/http/ws/WsMessages.js +90 -0
- package/dist/http/ws/WsMessages.js.map +1 -0
- package/dist/http/ws/WsPolicy.d.ts +32 -0
- package/dist/http/ws/WsPolicy.d.ts.map +1 -0
- package/dist/http/ws/WsPolicy.js +43 -0
- package/dist/http/ws/WsPolicy.js.map +1 -0
- package/dist/http/ws/index.d.ts +22 -0
- package/dist/http/ws/index.d.ts.map +1 -0
- package/dist/http/ws/index.js +15 -0
- package/dist/http/ws/index.js.map +1 -0
- package/dist/http/ws/matchPattern.d.ts +12 -0
- package/dist/http/ws/matchPattern.d.ts.map +1 -0
- package/dist/http/ws/matchPattern.js +29 -0
- package/dist/http/ws/matchPattern.js.map +1 -0
- package/dist/http/ws/rawResponse.d.ts +15 -0
- package/dist/http/ws/rawResponse.d.ts.map +1 -0
- package/dist/http/ws/rawResponse.js +54 -0
- package/dist/http/ws/rawResponse.js.map +1 -0
- package/dist/http/ws/types.d.ts +70 -0
- package/dist/http/ws/types.d.ts.map +1 -0
- package/dist/http/ws/types.js +81 -0
- package/dist/http/ws/types.js.map +1 -0
- package/dist/http/ws/wsCtor.d.ts +34 -0
- package/dist/http/ws/wsCtor.d.ts.map +1 -0
- package/dist/http/ws/wsCtor.js +38 -0
- package/dist/http/ws/wsCtor.js.map +1 -0
- package/dist/index.d.ts +25 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -11
- package/dist/index.js.map +1 -1
- package/dist/internal/ActorCell.d.ts +16 -1
- package/dist/internal/ActorCell.d.ts.map +1 -1
- package/dist/internal/ActorCell.js +32 -2
- package/dist/internal/ActorCell.js.map +1 -1
- package/dist/io/broker/AmqpActor.d.ts +19 -16
- package/dist/io/broker/AmqpActor.d.ts.map +1 -1
- package/dist/io/broker/AmqpActor.js +13 -5
- package/dist/io/broker/AmqpActor.js.map +1 -1
- package/dist/io/broker/AmqpOptions.d.ts +41 -0
- package/dist/io/broker/AmqpOptions.d.ts.map +1 -0
- package/dist/io/broker/AmqpOptions.js +34 -0
- package/dist/io/broker/AmqpOptions.js.map +1 -0
- package/dist/io/broker/BrokerActor.d.ts +4 -3
- package/dist/io/broker/BrokerActor.d.ts.map +1 -1
- package/dist/io/broker/BrokerActor.js +4 -2
- package/dist/io/broker/BrokerActor.js.map +1 -1
- package/dist/io/broker/BrokerOptions.d.ts +24 -0
- package/dist/io/broker/BrokerOptions.d.ts.map +1 -0
- package/dist/io/broker/BrokerOptions.js +29 -0
- package/dist/io/broker/BrokerOptions.js.map +1 -0
- package/dist/io/broker/BrokerSettings.d.ts +2 -2
- package/dist/io/broker/BrokerSettings.d.ts.map +1 -1
- package/dist/io/broker/BrokerSettings.js.map +1 -1
- package/dist/io/broker/GrpcClientActor.d.ts +6 -19
- package/dist/io/broker/GrpcClientActor.d.ts.map +1 -1
- package/dist/io/broker/GrpcClientActor.js +1 -1
- package/dist/io/broker/GrpcClientActor.js.map +1 -1
- package/dist/io/broker/GrpcClientOptions.d.ts +48 -0
- package/dist/io/broker/GrpcClientOptions.d.ts.map +1 -0
- package/dist/io/broker/GrpcClientOptions.js +42 -0
- package/dist/io/broker/GrpcClientOptions.js.map +1 -0
- package/dist/io/broker/GrpcServerActor.d.ts +3 -24
- package/dist/io/broker/GrpcServerActor.d.ts.map +1 -1
- package/dist/io/broker/GrpcServerActor.js +3 -3
- package/dist/io/broker/GrpcServerActor.js.map +1 -1
- package/dist/io/broker/GrpcServerOptions.d.ts +58 -0
- package/dist/io/broker/GrpcServerOptions.d.ts.map +1 -0
- package/dist/io/broker/GrpcServerOptions.js +44 -0
- package/dist/io/broker/GrpcServerOptions.js.map +1 -0
- package/dist/io/broker/JetStreamActor.d.ts +13 -35
- package/dist/io/broker/JetStreamActor.d.ts.map +1 -1
- package/dist/io/broker/JetStreamActor.js +2 -2
- package/dist/io/broker/JetStreamActor.js.map +1 -1
- package/dist/io/broker/JetStreamOptions.d.ts +64 -0
- package/dist/io/broker/JetStreamOptions.d.ts.map +1 -0
- package/dist/io/broker/JetStreamOptions.js +54 -0
- package/dist/io/broker/JetStreamOptions.js.map +1 -0
- package/dist/io/broker/KafkaActor.d.ts +13 -54
- package/dist/io/broker/KafkaActor.d.ts.map +1 -1
- package/dist/io/broker/KafkaActor.js +20 -8
- package/dist/io/broker/KafkaActor.js.map +1 -1
- package/dist/io/broker/KafkaOptions.d.ts +82 -0
- package/dist/io/broker/KafkaOptions.d.ts.map +1 -0
- package/dist/io/broker/KafkaOptions.js +50 -0
- package/dist/io/broker/KafkaOptions.js.map +1 -0
- package/dist/io/broker/MqttActor.d.ts +174 -114
- package/dist/io/broker/MqttActor.d.ts.map +1 -1
- package/dist/io/broker/MqttActor.js +328 -103
- package/dist/io/broker/MqttActor.js.map +1 -1
- package/dist/io/broker/MqttCodec.d.ts +70 -0
- package/dist/io/broker/MqttCodec.d.ts.map +1 -0
- package/dist/io/broker/MqttCodec.js +98 -0
- package/dist/io/broker/MqttCodec.js.map +1 -0
- package/dist/io/broker/MqttMessages.d.ts +145 -0
- package/dist/io/broker/MqttMessages.d.ts.map +1 -0
- package/dist/io/broker/MqttMessages.js +102 -0
- package/dist/io/broker/MqttMessages.js.map +1 -0
- package/dist/io/broker/MqttOptions.d.ts +100 -0
- package/dist/io/broker/MqttOptions.d.ts.map +1 -0
- package/dist/io/broker/MqttOptions.js +73 -0
- package/dist/io/broker/MqttOptions.js.map +1 -0
- package/dist/io/broker/NatsActor.d.ts +6 -21
- package/dist/io/broker/NatsActor.d.ts.map +1 -1
- package/dist/io/broker/NatsActor.js +1 -1
- package/dist/io/broker/NatsActor.js.map +1 -1
- package/dist/io/broker/NatsOptions.d.ts +51 -0
- package/dist/io/broker/NatsOptions.d.ts.map +1 -0
- package/dist/io/broker/NatsOptions.js +42 -0
- package/dist/io/broker/NatsOptions.js.map +1 -0
- package/dist/io/broker/RedisStreamsActor.d.ts +6 -24
- package/dist/io/broker/RedisStreamsActor.d.ts.map +1 -1
- package/dist/io/broker/RedisStreamsActor.js +1 -1
- package/dist/io/broker/RedisStreamsActor.js.map +1 -1
- package/dist/io/broker/RedisStreamsOptions.d.ts +51 -0
- package/dist/io/broker/RedisStreamsOptions.d.ts.map +1 -0
- package/dist/io/broker/RedisStreamsOptions.js +38 -0
- package/dist/io/broker/RedisStreamsOptions.js.map +1 -0
- package/dist/io/broker/SseActor.d.ts +6 -15
- package/dist/io/broker/SseActor.d.ts.map +1 -1
- package/dist/io/broker/SseActor.js +1 -1
- package/dist/io/broker/SseActor.js.map +1 -1
- package/dist/io/broker/SseOptions.d.ts +38 -0
- package/dist/io/broker/SseOptions.d.ts.map +1 -0
- package/dist/io/broker/SseOptions.js +30 -0
- package/dist/io/broker/SseOptions.js.map +1 -0
- package/dist/io/broker/TcpSocketActor.d.ts +6 -21
- package/dist/io/broker/TcpSocketActor.d.ts.map +1 -1
- package/dist/io/broker/TcpSocketActor.js +1 -1
- package/dist/io/broker/TcpSocketActor.js.map +1 -1
- package/dist/io/broker/TcpSocketOptions.d.ts +46 -0
- package/dist/io/broker/TcpSocketOptions.d.ts.map +1 -0
- package/dist/io/broker/TcpSocketOptions.js +34 -0
- package/dist/io/broker/TcpSocketOptions.js.map +1 -0
- package/dist/io/broker/UdpSocketActor.d.ts +6 -17
- package/dist/io/broker/UdpSocketActor.d.ts.map +1 -1
- package/dist/io/broker/UdpSocketActor.js +1 -1
- package/dist/io/broker/UdpSocketActor.js.map +1 -1
- package/dist/io/broker/UdpSocketOptions.d.ts +42 -0
- package/dist/io/broker/UdpSocketOptions.d.ts.map +1 -0
- package/dist/io/broker/UdpSocketOptions.js +34 -0
- package/dist/io/broker/UdpSocketOptions.js.map +1 -0
- package/dist/io/broker/index.d.ts +39 -19
- package/dist/io/broker/index.d.ts.map +1 -1
- package/dist/io/broker/index.js +21 -4
- package/dist/io/broker/index.js.map +1 -1
- package/dist/mailbox/BoundedMailbox.d.ts +12 -0
- package/dist/mailbox/BoundedMailbox.d.ts.map +1 -1
- package/dist/mailbox/BoundedMailbox.js +7 -1
- package/dist/mailbox/BoundedMailbox.js.map +1 -1
- package/dist/management/HttpManagement.d.ts +34 -1
- package/dist/management/HttpManagement.d.ts.map +1 -1
- package/dist/management/HttpManagement.js +30 -4
- package/dist/management/HttpManagement.js.map +1 -1
- package/dist/metrics/PromClientAdapter.d.ts +2 -12
- package/dist/metrics/PromClientAdapter.d.ts.map +1 -1
- package/dist/metrics/PromClientAdapter.js +2 -2
- package/dist/metrics/PromClientAdapter.js.map +1 -1
- package/dist/metrics/PromClientAdapterOptions.d.ts +46 -0
- package/dist/metrics/PromClientAdapterOptions.d.ts.map +1 -0
- package/dist/metrics/PromClientAdapterOptions.js +35 -0
- package/dist/metrics/PromClientAdapterOptions.js.map +1 -0
- package/dist/metrics/index.d.ts +3 -1
- package/dist/metrics/index.d.ts.map +1 -1
- package/dist/metrics/index.js +1 -0
- package/dist/metrics/index.js.map +1 -1
- package/dist/persistence/DurableStateActor.d.ts +4 -9
- package/dist/persistence/DurableStateActor.d.ts.map +1 -1
- package/dist/persistence/DurableStateActor.js +3 -3
- package/dist/persistence/DurableStateActor.js.map +1 -1
- package/dist/persistence/DurableStateOptions.d.ts +40 -0
- package/dist/persistence/DurableStateOptions.d.ts.map +1 -0
- package/dist/persistence/DurableStateOptions.js +36 -0
- package/dist/persistence/DurableStateOptions.js.map +1 -0
- package/dist/persistence/PersistenceOptions.d.ts +45 -0
- package/dist/persistence/PersistenceOptions.d.ts.map +1 -1
- package/dist/persistence/ReplicatedEventSourcedActor.d.ts.map +1 -1
- package/dist/persistence/ReplicatedEventSourcedActor.js +2 -2
- package/dist/persistence/ReplicatedEventSourcedActor.js.map +1 -1
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStore.d.ts +32 -0
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStore.d.ts.map +1 -0
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStore.js +120 -0
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStore.js.map +1 -0
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStoreOptions.d.ts +38 -0
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStoreOptions.d.ts.map +1 -0
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStoreOptions.js +38 -0
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStoreOptions.js.map +1 -0
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.d.ts +4 -9
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.d.ts.map +1 -1
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.js +49 -7
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.js.map +1 -1
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStoreOptions.d.ts +61 -0
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStoreOptions.d.ts.map +1 -0
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStoreOptions.js +42 -0
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStoreOptions.js.map +1 -0
- package/dist/persistence/durable-state-stores/PostgresDurableStateStore.d.ts +38 -0
- package/dist/persistence/durable-state-stores/PostgresDurableStateStore.d.ts.map +1 -0
- package/dist/persistence/durable-state-stores/PostgresDurableStateStore.js +121 -0
- package/dist/persistence/durable-state-stores/PostgresDurableStateStore.js.map +1 -0
- package/dist/persistence/durable-state-stores/PostgresDurableStateStoreOptions.d.ts +38 -0
- package/dist/persistence/durable-state-stores/PostgresDurableStateStoreOptions.d.ts.map +1 -0
- package/dist/persistence/durable-state-stores/PostgresDurableStateStoreOptions.js +38 -0
- package/dist/persistence/durable-state-stores/PostgresDurableStateStoreOptions.js.map +1 -0
- package/dist/persistence/index.d.ts +59 -16
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +33 -2
- package/dist/persistence/index.js.map +1 -1
- package/dist/persistence/journals/CassandraJournal.d.ts +1 -48
- package/dist/persistence/journals/CassandraJournal.d.ts.map +1 -1
- package/dist/persistence/journals/CassandraJournal.js +2 -2
- package/dist/persistence/journals/CassandraJournal.js.map +1 -1
- package/dist/persistence/journals/CassandraJournalOptions.d.ts +107 -0
- package/dist/persistence/journals/CassandraJournalOptions.d.ts.map +1 -0
- package/dist/persistence/journals/CassandraJournalOptions.js +90 -0
- package/dist/persistence/journals/CassandraJournalOptions.js.map +1 -0
- package/dist/persistence/journals/CassandraPlugin.d.ts +1 -16
- package/dist/persistence/journals/CassandraPlugin.d.ts.map +1 -1
- package/dist/persistence/journals/CassandraPlugin.js +9 -4
- package/dist/persistence/journals/CassandraPlugin.js.map +1 -1
- package/dist/persistence/journals/CassandraPluginOptions.d.ts +51 -0
- package/dist/persistence/journals/CassandraPluginOptions.d.ts.map +1 -0
- package/dist/persistence/journals/CassandraPluginOptions.js +37 -0
- package/dist/persistence/journals/CassandraPluginOptions.js.map +1 -0
- package/dist/persistence/journals/MariaDbClient.d.ts +54 -0
- package/dist/persistence/journals/MariaDbClient.d.ts.map +1 -0
- package/dist/persistence/journals/MariaDbClient.js +40 -0
- package/dist/persistence/journals/MariaDbClient.js.map +1 -0
- package/dist/persistence/journals/MariaDbJournal.d.ts +29 -0
- package/dist/persistence/journals/MariaDbJournal.d.ts.map +1 -0
- package/dist/persistence/journals/MariaDbJournal.js +161 -0
- package/dist/persistence/journals/MariaDbJournal.js.map +1 -0
- package/dist/persistence/journals/MariaDbJournalOptions.d.ts +43 -0
- package/dist/persistence/journals/MariaDbJournalOptions.d.ts.map +1 -0
- package/dist/persistence/journals/MariaDbJournalOptions.js +43 -0
- package/dist/persistence/journals/MariaDbJournalOptions.js.map +1 -0
- package/dist/persistence/journals/MariaDbPlugin.d.ts +27 -0
- package/dist/persistence/journals/MariaDbPlugin.d.ts.map +1 -0
- package/dist/persistence/journals/MariaDbPlugin.js +30 -0
- package/dist/persistence/journals/MariaDbPlugin.js.map +1 -0
- package/dist/persistence/journals/MariaDbPluginOptions.d.ts +52 -0
- package/dist/persistence/journals/MariaDbPluginOptions.d.ts.map +1 -0
- package/dist/persistence/journals/MariaDbPluginOptions.js +38 -0
- package/dist/persistence/journals/MariaDbPluginOptions.js.map +1 -0
- package/dist/persistence/journals/PostgresClient.d.ts +56 -0
- package/dist/persistence/journals/PostgresClient.d.ts.map +1 -0
- package/dist/persistence/journals/PostgresClient.js +35 -0
- package/dist/persistence/journals/PostgresClient.js.map +1 -0
- package/dist/persistence/journals/PostgresJournal.d.ts +41 -0
- package/dist/persistence/journals/PostgresJournal.d.ts.map +1 -0
- package/dist/persistence/journals/PostgresJournal.js +176 -0
- package/dist/persistence/journals/PostgresJournal.js.map +1 -0
- package/dist/persistence/journals/PostgresJournalOptions.d.ts +44 -0
- package/dist/persistence/journals/PostgresJournalOptions.d.ts.map +1 -0
- package/dist/persistence/journals/PostgresJournalOptions.js +44 -0
- package/dist/persistence/journals/PostgresJournalOptions.js.map +1 -0
- package/dist/persistence/journals/PostgresPlugin.d.ts +32 -0
- package/dist/persistence/journals/PostgresPlugin.d.ts.map +1 -0
- package/dist/persistence/journals/PostgresPlugin.js +35 -0
- package/dist/persistence/journals/PostgresPlugin.js.map +1 -0
- package/dist/persistence/journals/PostgresPluginOptions.d.ts +54 -0
- package/dist/persistence/journals/PostgresPluginOptions.d.ts.map +1 -0
- package/dist/persistence/journals/PostgresPluginOptions.js +39 -0
- package/dist/persistence/journals/PostgresPluginOptions.js.map +1 -0
- package/dist/persistence/journals/SqliteJournal.d.ts +5 -19
- package/dist/persistence/journals/SqliteJournal.d.ts.map +1 -1
- package/dist/persistence/journals/SqliteJournal.js +10 -9
- package/dist/persistence/journals/SqliteJournal.js.map +1 -1
- package/dist/persistence/journals/SqliteJournalOptions.d.ts +41 -0
- package/dist/persistence/journals/SqliteJournalOptions.d.ts.map +1 -0
- package/dist/persistence/journals/SqliteJournalOptions.js +31 -0
- package/dist/persistence/journals/SqliteJournalOptions.js.map +1 -0
- package/dist/persistence/object-storage/BodyCodec.d.ts +43 -0
- package/dist/persistence/object-storage/BodyCodec.d.ts.map +1 -1
- package/dist/persistence/object-storage/BodyCodec.js +78 -20
- package/dist/persistence/object-storage/BodyCodec.js.map +1 -1
- package/dist/persistence/object-storage/Compression.d.ts +21 -7
- package/dist/persistence/object-storage/Compression.d.ts.map +1 -1
- package/dist/persistence/object-storage/Compression.js +79 -29
- package/dist/persistence/object-storage/Compression.js.map +1 -1
- package/dist/persistence/object-storage/FilesystemObjectStorageBackend.d.ts +2 -61
- package/dist/persistence/object-storage/FilesystemObjectStorageBackend.d.ts.map +1 -1
- package/dist/persistence/object-storage/FilesystemObjectStorageBackend.js +56 -11
- package/dist/persistence/object-storage/FilesystemObjectStorageBackend.js.map +1 -1
- package/dist/persistence/object-storage/FilesystemObjectStorageOptions.d.ts +45 -0
- package/dist/persistence/object-storage/FilesystemObjectStorageOptions.d.ts.map +1 -0
- package/dist/persistence/object-storage/FilesystemObjectStorageOptions.js +30 -0
- package/dist/persistence/object-storage/FilesystemObjectStorageOptions.js.map +1 -0
- package/dist/persistence/object-storage/Integrity.d.ts +43 -0
- package/dist/persistence/object-storage/Integrity.d.ts.map +1 -0
- package/dist/persistence/object-storage/Integrity.js +66 -0
- package/dist/persistence/object-storage/Integrity.js.map +1 -0
- package/dist/persistence/object-storage/ObjectStoragePlugin.d.ts +6 -22
- package/dist/persistence/object-storage/ObjectStoragePlugin.d.ts.map +1 -1
- package/dist/persistence/object-storage/ObjectStoragePlugin.js +36 -28
- package/dist/persistence/object-storage/ObjectStoragePlugin.js.map +1 -1
- package/dist/persistence/object-storage/ObjectStoragePluginOptions.d.ts +60 -0
- package/dist/persistence/object-storage/ObjectStoragePluginOptions.d.ts.map +1 -0
- package/dist/persistence/object-storage/ObjectStoragePluginOptions.js +52 -0
- package/dist/persistence/object-storage/ObjectStoragePluginOptions.js.map +1 -0
- package/dist/persistence/object-storage/PluginConfig.d.ts +5 -2
- package/dist/persistence/object-storage/PluginConfig.d.ts.map +1 -1
- package/dist/persistence/object-storage/PluginConfig.js +8 -0
- package/dist/persistence/object-storage/PluginConfig.js.map +1 -1
- package/dist/persistence/object-storage/S3ObjectStorageBackend.d.ts +1 -30
- package/dist/persistence/object-storage/S3ObjectStorageBackend.d.ts.map +1 -1
- package/dist/persistence/object-storage/S3ObjectStorageBackend.js +12 -7
- package/dist/persistence/object-storage/S3ObjectStorageBackend.js.map +1 -1
- package/dist/persistence/object-storage/S3ObjectStorageOptions.d.ts +64 -0
- package/dist/persistence/object-storage/S3ObjectStorageOptions.d.ts.map +1 -0
- package/dist/persistence/object-storage/S3ObjectStorageOptions.js +42 -0
- package/dist/persistence/object-storage/S3ObjectStorageOptions.js.map +1 -0
- package/dist/persistence/object-storage/reEncryptionSweep.d.ts +72 -0
- package/dist/persistence/object-storage/reEncryptionSweep.d.ts.map +1 -1
- package/dist/persistence/object-storage/reEncryptionSweep.js +82 -2
- package/dist/persistence/object-storage/reEncryptionSweep.js.map +1 -1
- package/dist/persistence/projection/ProjectionActor.d.ts +4 -24
- package/dist/persistence/projection/ProjectionActor.d.ts.map +1 -1
- package/dist/persistence/projection/ProjectionActor.js +36 -2
- package/dist/persistence/projection/ProjectionActor.js.map +1 -1
- package/dist/persistence/projection/ProjectionOptions.d.ts +109 -0
- package/dist/persistence/projection/ProjectionOptions.d.ts.map +1 -0
- package/dist/persistence/projection/ProjectionOptions.js +108 -0
- package/dist/persistence/projection/ProjectionOptions.js.map +1 -0
- package/dist/persistence/snapshot-stores/CachedSnapshotStore.d.ts +2 -10
- package/dist/persistence/snapshot-stores/CachedSnapshotStore.d.ts.map +1 -1
- package/dist/persistence/snapshot-stores/CachedSnapshotStore.js +12 -6
- package/dist/persistence/snapshot-stores/CachedSnapshotStore.js.map +1 -1
- package/dist/persistence/snapshot-stores/CachedSnapshotStoreOptions.d.ts +37 -0
- package/dist/persistence/snapshot-stores/CachedSnapshotStoreOptions.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/CachedSnapshotStoreOptions.js +31 -0
- package/dist/persistence/snapshot-stores/CachedSnapshotStoreOptions.js.map +1 -0
- package/dist/persistence/snapshot-stores/CassandraSnapshotStore.d.ts +1 -11
- package/dist/persistence/snapshot-stores/CassandraSnapshotStore.d.ts.map +1 -1
- package/dist/persistence/snapshot-stores/CassandraSnapshotStore.js +3 -3
- package/dist/persistence/snapshot-stores/CassandraSnapshotStore.js.map +1 -1
- package/dist/persistence/snapshot-stores/CassandraSnapshotStoreOptions.d.ts +61 -0
- package/dist/persistence/snapshot-stores/CassandraSnapshotStoreOptions.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/CassandraSnapshotStoreOptions.js +73 -0
- package/dist/persistence/snapshot-stores/CassandraSnapshotStoreOptions.js.map +1 -0
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStore.d.ts +30 -0
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStore.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStore.js +102 -0
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStore.js.map +1 -0
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStoreOptions.d.ts +42 -0
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStoreOptions.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStoreOptions.js +42 -0
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStoreOptions.js.map +1 -0
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.d.ts +2 -15
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.d.ts.map +1 -1
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.js +10 -6
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.js.map +1 -1
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStoreOptions.d.ts +45 -0
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStoreOptions.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStoreOptions.js +38 -0
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStoreOptions.js.map +1 -0
- package/dist/persistence/snapshot-stores/PostgresSnapshotStore.d.ts +31 -0
- package/dist/persistence/snapshot-stores/PostgresSnapshotStore.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/PostgresSnapshotStore.js +101 -0
- package/dist/persistence/snapshot-stores/PostgresSnapshotStore.js.map +1 -0
- package/dist/persistence/snapshot-stores/PostgresSnapshotStoreOptions.d.ts +42 -0
- package/dist/persistence/snapshot-stores/PostgresSnapshotStoreOptions.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/PostgresSnapshotStoreOptions.js +42 -0
- package/dist/persistence/snapshot-stores/PostgresSnapshotStoreOptions.js.map +1 -0
- package/dist/persistence/snapshot-stores/SqliteSnapshotStore.d.ts +2 -15
- package/dist/persistence/snapshot-stores/SqliteSnapshotStore.d.ts.map +1 -1
- package/dist/persistence/snapshot-stores/SqliteSnapshotStore.js +7 -6
- package/dist/persistence/snapshot-stores/SqliteSnapshotStore.js.map +1 -1
- package/dist/persistence/snapshot-stores/SqliteSnapshotStoreOptions.d.ts +40 -0
- package/dist/persistence/snapshot-stores/SqliteSnapshotStoreOptions.d.ts.map +1 -0
- package/dist/persistence/snapshot-stores/SqliteSnapshotStoreOptions.js +31 -0
- package/dist/persistence/snapshot-stores/SqliteSnapshotStoreOptions.js.map +1 -0
- package/dist/runtime/http/BunHonoRunner.d.ts +7 -1
- package/dist/runtime/http/BunHonoRunner.d.ts.map +1 -1
- package/dist/runtime/http/BunHonoRunner.js +22 -0
- package/dist/runtime/http/BunHonoRunner.js.map +1 -1
- package/dist/runtime/http/DenoHonoRunner.d.ts +5 -2
- package/dist/runtime/http/DenoHonoRunner.d.ts.map +1 -1
- package/dist/runtime/http/DenoHonoRunner.js +19 -2
- package/dist/runtime/http/DenoHonoRunner.js.map +1 -1
- package/dist/runtime/http/HonoServerRunner.d.ts +39 -0
- package/dist/runtime/http/HonoServerRunner.d.ts.map +1 -1
- package/dist/runtime/http/NodeHonoRunner.d.ts +3 -1
- package/dist/runtime/http/NodeHonoRunner.d.ts.map +1 -1
- package/dist/runtime/http/NodeHonoRunner.js +22 -0
- package/dist/runtime/http/NodeHonoRunner.js.map +1 -1
- package/dist/runtime/http/index.d.ts +1 -1
- package/dist/runtime/http/index.d.ts.map +1 -1
- package/dist/runtime/http/index.js.map +1 -1
- package/dist/testkit/ManualScheduler.d.ts +2 -1
- package/dist/testkit/ManualScheduler.d.ts.map +1 -1
- package/dist/testkit/ManualScheduler.js +2 -1
- package/dist/testkit/ManualScheduler.js.map +1 -1
- package/dist/testkit/MockCluster.d.ts +74 -0
- package/dist/testkit/MockCluster.d.ts.map +1 -0
- package/dist/testkit/MockCluster.js +163 -0
- package/dist/testkit/MockCluster.js.map +1 -0
- package/dist/testkit/MultiNodeClusterFixture.d.ts +62 -0
- package/dist/testkit/MultiNodeClusterFixture.d.ts.map +1 -0
- package/dist/testkit/MultiNodeClusterFixture.js +43 -0
- package/dist/testkit/MultiNodeClusterFixture.js.map +1 -0
- package/dist/testkit/MultiNodeSpec.d.ts +45 -3
- package/dist/testkit/MultiNodeSpec.d.ts.map +1 -1
- package/dist/testkit/MultiNodeSpec.js +108 -14
- package/dist/testkit/MultiNodeSpec.js.map +1 -1
- package/dist/testkit/ParallelMultiNodeSpec.d.ts +12 -2
- package/dist/testkit/ParallelMultiNodeSpec.d.ts.map +1 -1
- package/dist/testkit/ParallelMultiNodeSpec.js +49 -4
- package/dist/testkit/ParallelMultiNodeSpec.js.map +1 -1
- package/dist/testkit/SnapshotMigrationTest.d.ts +86 -0
- package/dist/testkit/SnapshotMigrationTest.d.ts.map +1 -0
- package/dist/testkit/SnapshotMigrationTest.js +77 -0
- package/dist/testkit/SnapshotMigrationTest.js.map +1 -0
- package/dist/testkit/TestKit.d.ts +6 -8
- package/dist/testkit/TestKit.d.ts.map +1 -1
- package/dist/testkit/TestKit.js +10 -6
- package/dist/testkit/TestKit.js.map +1 -1
- package/dist/testkit/TestKitOptions.d.ts +26 -0
- package/dist/testkit/TestKitOptions.d.ts.map +1 -0
- package/dist/testkit/TestKitOptions.js +19 -0
- package/dist/testkit/TestKitOptions.js.map +1 -0
- package/dist/testkit/TestProbe.d.ts +2 -7
- package/dist/testkit/TestProbe.d.ts.map +1 -1
- package/dist/testkit/TestProbe.js +2 -1
- package/dist/testkit/TestProbe.js.map +1 -1
- package/dist/testkit/TestProbeOptions.d.ts +26 -0
- package/dist/testkit/TestProbeOptions.d.ts.map +1 -0
- package/dist/testkit/TestProbeOptions.js +19 -0
- package/dist/testkit/TestProbeOptions.js.map +1 -0
- package/dist/testkit/index.d.ts +10 -2
- package/dist/testkit/index.d.ts.map +1 -1
- package/dist/testkit/index.js +5 -0
- package/dist/testkit/index.js.map +1 -1
- package/dist/testkit/internal/parallel-multi-node-bootstrap.d.ts.map +1 -1
- package/dist/testkit/internal/parallel-multi-node-bootstrap.js +16 -12
- package/dist/testkit/internal/parallel-multi-node-bootstrap.js.map +1 -1
- package/dist/tracing/OtelAdapter.d.ts +4 -12
- package/dist/tracing/OtelAdapter.d.ts.map +1 -1
- package/dist/tracing/OtelAdapter.js +4 -2
- package/dist/tracing/OtelAdapter.js.map +1 -1
- package/dist/tracing/OtelAdapterOptions.d.ts +42 -0
- package/dist/tracing/OtelAdapterOptions.d.ts.map +1 -0
- package/dist/tracing/OtelAdapterOptions.js +34 -0
- package/dist/tracing/OtelAdapterOptions.js.map +1 -0
- package/dist/tracing/OtelLogsAdapter.d.ts +100 -0
- package/dist/tracing/OtelLogsAdapter.d.ts.map +1 -0
- package/dist/tracing/OtelLogsAdapter.js +130 -0
- package/dist/tracing/OtelLogsAdapter.js.map +1 -0
- package/dist/tracing/index.d.ts +5 -1
- package/dist/tracing/index.d.ts.map +1 -1
- package/dist/tracing/index.js +2 -0
- package/dist/tracing/index.js.map +1 -1
- package/dist/util/Constants.d.ts +23 -0
- package/dist/util/Constants.d.ts.map +1 -1
- package/dist/util/Constants.js +23 -0
- package/dist/util/Constants.js.map +1 -1
- package/dist/util/Lazy.d.ts +31 -0
- package/dist/util/Lazy.d.ts.map +1 -1
- package/dist/util/Lazy.js +70 -0
- package/dist/util/Lazy.js.map +1 -1
- package/dist/util/OptionsBuilder.d.ts +48 -0
- package/dist/util/OptionsBuilder.d.ts.map +1 -0
- package/dist/util/OptionsBuilder.js +53 -0
- package/dist/util/OptionsBuilder.js.map +1 -0
- package/dist/worker/WorkerCluster.d.ts +2 -11
- package/dist/worker/WorkerCluster.d.ts.map +1 -1
- package/dist/worker/WorkerCluster.js +2 -1
- package/dist/worker/WorkerCluster.js.map +1 -1
- package/dist/worker/WorkerClusterOptions.d.ts +55 -0
- package/dist/worker/WorkerClusterOptions.d.ts.map +1 -0
- package/dist/worker/WorkerClusterOptions.js +55 -0
- package/dist/worker/WorkerClusterOptions.js.map +1 -0
- package/dist/worker/index.d.ts +3 -1
- package/dist/worker/index.d.ts.map +1 -1
- package/dist/worker/index.js +1 -0
- package/dist/worker/index.js.map +1 -1
- package/package.json +56 -13
- package/dist/io/broker/ServerWebSocketActor.d.ts +0 -109
- package/dist/io/broker/ServerWebSocketActor.d.ts.map +0 -1
- package/dist/io/broker/ServerWebSocketActor.js +0 -128
- package/dist/io/broker/ServerWebSocketActor.js.map +0 -1
- package/dist/io/broker/WebSocketActor.d.ts +0 -77
- package/dist/io/broker/WebSocketActor.d.ts.map +0 -1
- package/dist/io/broker/WebSocketActor.js +0 -217
- package/dist/io/broker/WebSocketActor.js.map +0 -1
- package/dist/io/broker/WebSocketServerAdapters.d.ts +0 -140
- package/dist/io/broker/WebSocketServerAdapters.d.ts.map +0 -1
- package/dist/io/broker/WebSocketServerAdapters.js +0 -155
- package/dist/io/broker/WebSocketServerAdapters.js.map +0 -1
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { JournalConcurrencyError, JournalError, } from '../JournalTypes.js';
|
|
2
|
+
import { assertSafeIdentifier, buildPgPool, } from './PostgresClient.js';
|
|
3
|
+
/**
|
|
4
|
+
* Journal backed by PostgreSQL via the `pg` (node-postgres) driver.
|
|
5
|
+
*
|
|
6
|
+
* Mirrors `SqliteJournal`'s shape — an events table keyed on
|
|
7
|
+
* `(persistence_id, sequence_nr)` plus a tags join table for indexed
|
|
8
|
+
* tag queries — using Postgres types and `$1` bind parameters.
|
|
9
|
+
*
|
|
10
|
+
* Optimistic concurrency: `append` runs `SELECT MAX(sequence_nr)` and the
|
|
11
|
+
* INSERTs inside one transaction; a racing writer that slips between the
|
|
12
|
+
* read and the insert trips the primary-key unique constraint (SQLSTATE
|
|
13
|
+
* `23505`), which is translated to `JournalConcurrencyError` as a
|
|
14
|
+
* backstop. Construction is lazy — the pool opens and tables are created
|
|
15
|
+
* on the first call.
|
|
16
|
+
*
|
|
17
|
+
* No in-process event bus: Postgres is a cross-process backend (like
|
|
18
|
+
* Cassandra), so the `events` field is left undefined and the query layer
|
|
19
|
+
* falls back to polling. (A `LISTEN/NOTIFY` bus is a possible future
|
|
20
|
+
* enhancement.)
|
|
21
|
+
*/
|
|
22
|
+
export class PostgresJournal {
|
|
23
|
+
settings;
|
|
24
|
+
table;
|
|
25
|
+
tagsTable;
|
|
26
|
+
autoCreate;
|
|
27
|
+
pool = null;
|
|
28
|
+
initPromise = null;
|
|
29
|
+
closed = false;
|
|
30
|
+
constructor(options = {}) {
|
|
31
|
+
const s = options;
|
|
32
|
+
this.settings = s;
|
|
33
|
+
this.table = assertSafeIdentifier(s.eventsTable ?? 'events', 'events table');
|
|
34
|
+
this.tagsTable = assertSafeIdentifier(s.tagsTable ?? `${this.table}_tags`, 'tags table');
|
|
35
|
+
this.autoCreate = s.autoCreateTables ?? true;
|
|
36
|
+
}
|
|
37
|
+
async append(pid, events, expectedSeq, tags) {
|
|
38
|
+
if (events.length === 0)
|
|
39
|
+
return [];
|
|
40
|
+
const pool = await this.ensureOpen();
|
|
41
|
+
const client = await pool.connect();
|
|
42
|
+
const now = Date.now();
|
|
43
|
+
try {
|
|
44
|
+
await client.query('BEGIN');
|
|
45
|
+
const head = await client.query(`SELECT COALESCE(MAX(sequence_nr), 0) AS hi FROM ${this.table} WHERE persistence_id = $1`, [pid]);
|
|
46
|
+
const actualSeq = Number(head.rows[0].hi);
|
|
47
|
+
if (actualSeq !== expectedSeq) {
|
|
48
|
+
await client.query('ROLLBACK');
|
|
49
|
+
throw new JournalConcurrencyError(pid, expectedSeq, actualSeq);
|
|
50
|
+
}
|
|
51
|
+
const out = [];
|
|
52
|
+
const tagString = tags && tags.length ? tags.join(',') : null;
|
|
53
|
+
let seq = actualSeq;
|
|
54
|
+
for (const ev of events) {
|
|
55
|
+
seq++;
|
|
56
|
+
await client.query(`INSERT INTO ${this.table}(persistence_id, sequence_nr, payload, tags, timestamp) VALUES ($1, $2, $3, $4, $5)`, [pid, seq, JSON.stringify(ev), tagString, now]);
|
|
57
|
+
if (tags) {
|
|
58
|
+
for (const tag of tags) {
|
|
59
|
+
if (tag.length === 0)
|
|
60
|
+
continue;
|
|
61
|
+
await client.query(`INSERT INTO ${this.tagsTable}(persistence_id, sequence_nr, tag, timestamp) VALUES ($1, $2, $3, $4) ON CONFLICT DO NOTHING`, [pid, seq, tag, now]);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
out.push({
|
|
65
|
+
persistenceId: pid,
|
|
66
|
+
sequenceNr: seq,
|
|
67
|
+
event: ev,
|
|
68
|
+
timestamp: now,
|
|
69
|
+
tags: tags ? [...tags] : undefined,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
await client.query('COMMIT');
|
|
73
|
+
return out;
|
|
74
|
+
}
|
|
75
|
+
catch (e) {
|
|
76
|
+
try {
|
|
77
|
+
await client.query('ROLLBACK');
|
|
78
|
+
}
|
|
79
|
+
catch { /* already rolled back / aborted */ }
|
|
80
|
+
if (e instanceof JournalConcurrencyError)
|
|
81
|
+
throw e;
|
|
82
|
+
// Unique-violation backstop: a concurrent writer claimed the same
|
|
83
|
+
// (pid, seq) between our MAX read and INSERT. Report the now-current
|
|
84
|
+
// head as the actual seq so the caller can recover.
|
|
85
|
+
if (e.code === '23505') {
|
|
86
|
+
const actual = await this.highestSeq(pid).catch(() => expectedSeq);
|
|
87
|
+
throw new JournalConcurrencyError(pid, expectedSeq, actual);
|
|
88
|
+
}
|
|
89
|
+
throw new JournalError(`PostgresJournal.append failed: ${e.message}`, e);
|
|
90
|
+
}
|
|
91
|
+
finally {
|
|
92
|
+
client.release();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
async read(pid, fromSeq, toSeq) {
|
|
96
|
+
const pool = await this.ensureOpen();
|
|
97
|
+
try {
|
|
98
|
+
const res = toSeq === undefined
|
|
99
|
+
? await pool.query(`SELECT persistence_id, sequence_nr, payload, tags, timestamp FROM ${this.table} WHERE persistence_id = $1 AND sequence_nr >= $2 ORDER BY sequence_nr ASC`, [pid, fromSeq])
|
|
100
|
+
: await pool.query(`SELECT persistence_id, sequence_nr, payload, tags, timestamp FROM ${this.table} WHERE persistence_id = $1 AND sequence_nr >= $2 AND sequence_nr <= $3 ORDER BY sequence_nr ASC`, [pid, fromSeq, toSeq]);
|
|
101
|
+
return res.rows.map((r) => ({
|
|
102
|
+
persistenceId: r.persistence_id,
|
|
103
|
+
sequenceNr: Number(r.sequence_nr),
|
|
104
|
+
event: JSON.parse(r.payload),
|
|
105
|
+
timestamp: Number(r.timestamp),
|
|
106
|
+
tags: r.tags ? String(r.tags).split(',') : undefined,
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
109
|
+
catch (e) {
|
|
110
|
+
throw new JournalError(`PostgresJournal.read failed: ${e.message}`, e);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
async highestSeq(pid) {
|
|
114
|
+
const pool = await this.ensureOpen();
|
|
115
|
+
const res = await pool.query(`SELECT COALESCE(MAX(sequence_nr), 0) AS hi FROM ${this.table} WHERE persistence_id = $1`, [pid]);
|
|
116
|
+
return Number(res.rows[0].hi);
|
|
117
|
+
}
|
|
118
|
+
async delete(pid, toSeq) {
|
|
119
|
+
const pool = await this.ensureOpen();
|
|
120
|
+
// Tags first (same order as SqliteJournal): a crash mid-delete then
|
|
121
|
+
// leaves orphan tag-less events rather than tags pointing at deleted
|
|
122
|
+
// events, which the JOIN-based query path would silently miss.
|
|
123
|
+
await pool.query(`DELETE FROM ${this.tagsTable} WHERE persistence_id = $1 AND sequence_nr <= $2`, [pid, toSeq]);
|
|
124
|
+
await pool.query(`DELETE FROM ${this.table} WHERE persistence_id = $1 AND sequence_nr <= $2`, [pid, toSeq]);
|
|
125
|
+
}
|
|
126
|
+
async persistenceIds() {
|
|
127
|
+
const pool = await this.ensureOpen();
|
|
128
|
+
const res = await pool.query(`SELECT DISTINCT persistence_id FROM ${this.table}`);
|
|
129
|
+
return res.rows.map((r) => r.persistence_id);
|
|
130
|
+
}
|
|
131
|
+
async close() {
|
|
132
|
+
if (this.closed)
|
|
133
|
+
return;
|
|
134
|
+
this.closed = true;
|
|
135
|
+
try {
|
|
136
|
+
await this.pool?.end();
|
|
137
|
+
}
|
|
138
|
+
catch { /* ignore */ }
|
|
139
|
+
this.pool = null;
|
|
140
|
+
}
|
|
141
|
+
/* --------------------------- internals -------------------------------- */
|
|
142
|
+
async ensureOpen() {
|
|
143
|
+
if (this.closed)
|
|
144
|
+
throw new JournalError('PostgresJournal is closed');
|
|
145
|
+
if (this.pool)
|
|
146
|
+
return this.pool;
|
|
147
|
+
if (!this.initPromise)
|
|
148
|
+
this.initPromise = this.init();
|
|
149
|
+
await this.initPromise;
|
|
150
|
+
return this.pool;
|
|
151
|
+
}
|
|
152
|
+
async init() {
|
|
153
|
+
const pool = await buildPgPool(this.settings);
|
|
154
|
+
if (this.autoCreate) {
|
|
155
|
+
await pool.query(`CREATE TABLE IF NOT EXISTS ${this.table} (
|
|
156
|
+
persistence_id TEXT NOT NULL,
|
|
157
|
+
sequence_nr BIGINT NOT NULL,
|
|
158
|
+
payload TEXT NOT NULL,
|
|
159
|
+
tags TEXT,
|
|
160
|
+
timestamp BIGINT NOT NULL,
|
|
161
|
+
PRIMARY KEY (persistence_id, sequence_nr)
|
|
162
|
+
)`);
|
|
163
|
+
await pool.query(`CREATE INDEX IF NOT EXISTS idx_${this.table}_pid ON ${this.table}(persistence_id)`);
|
|
164
|
+
await pool.query(`CREATE TABLE IF NOT EXISTS ${this.tagsTable} (
|
|
165
|
+
persistence_id TEXT NOT NULL,
|
|
166
|
+
sequence_nr BIGINT NOT NULL,
|
|
167
|
+
tag TEXT NOT NULL,
|
|
168
|
+
timestamp BIGINT NOT NULL,
|
|
169
|
+
PRIMARY KEY (tag, timestamp, persistence_id, sequence_nr)
|
|
170
|
+
)`);
|
|
171
|
+
await pool.query(`CREATE INDEX IF NOT EXISTS idx_${this.tagsTable}_pid_seq ON ${this.tagsTable}(persistence_id, sequence_nr)`);
|
|
172
|
+
}
|
|
173
|
+
this.pool = pool;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=PostgresJournal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostgresJournal.js","sourceRoot":"","sources":["../../../src/persistence/journals/PostgresJournal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { OptionsBuilder } from '../../util/OptionsBuilder.js';
|
|
2
|
+
import type { PgPoolLike, PostgresConnection } from './PostgresClient.js';
|
|
3
|
+
export interface PostgresJournalOptionsType extends PostgresConnection {
|
|
4
|
+
/** Events table name. Default: `events`. */
|
|
5
|
+
readonly eventsTable?: string;
|
|
6
|
+
/** Tags join table name. Default: `${eventsTable}_tags`. */
|
|
7
|
+
readonly tagsTable?: string;
|
|
8
|
+
/** Run `CREATE TABLE IF NOT EXISTS` on first use. Default: true. */
|
|
9
|
+
readonly autoCreateTables?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Fluent builder for {@link PostgresJournalOptionsType}:
|
|
13
|
+
*
|
|
14
|
+
* new PostgresJournal(PostgresJournalOptions.create().withUrl('postgres://…').withEventsTable('journal'))
|
|
15
|
+
*
|
|
16
|
+
* The connection fields (`withUrl` / `withPoolConfig` / `withPool`) come
|
|
17
|
+
* from the shared {@link PostgresConnection} mixin; pass a pre-built
|
|
18
|
+
* `withPool(...)` to share ONE pool across the journal, snapshot, and
|
|
19
|
+
* durable-state stores.
|
|
20
|
+
*/
|
|
21
|
+
export declare class PostgresJournalOptionsBuilder extends OptionsBuilder<PostgresJournalOptionsType> {
|
|
22
|
+
/** Start a fresh builder. Equivalent to `new PostgresJournalOptionsBuilder()`. */
|
|
23
|
+
static create(): PostgresJournalOptionsBuilder;
|
|
24
|
+
/** Connection string, e.g. `postgres://user:pass@host:5432/db`. */
|
|
25
|
+
withUrl(url: string): this;
|
|
26
|
+
/** Extra node-postgres `Pool` config, merged over `{ connectionString: url }`. */
|
|
27
|
+
withPoolConfig(poolConfig: Record<string, unknown>): this;
|
|
28
|
+
/** Pre-built pool — bypasses the lazy `pg` import; share it across stores. */
|
|
29
|
+
withPool(pool: PgPoolLike): this;
|
|
30
|
+
/** Events table name. Default: `events`. */
|
|
31
|
+
withEventsTable(eventsTable: string): this;
|
|
32
|
+
/** Tags join table name. Default: `${eventsTable}_tags`. */
|
|
33
|
+
withTagsTable(tagsTable: string): this;
|
|
34
|
+
/** Run `CREATE TABLE IF NOT EXISTS` on first use. Default: true. */
|
|
35
|
+
withAutoCreateTables(autoCreateTables: boolean): this;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Accepted input for any Postgres-journal constructor: the fluent
|
|
39
|
+
* {@link PostgresJournalOptionsBuilder} OR a plain {@link PostgresJournalOptionsType} object.
|
|
40
|
+
*/
|
|
41
|
+
export type PostgresJournalOptions = PostgresJournalOptionsBuilder | Partial<PostgresJournalOptionsType>;
|
|
42
|
+
/** Value alias so `PostgresJournalOptions.create()` / `new PostgresJournalOptions()` resolve to the builder. */
|
|
43
|
+
export declare const PostgresJournalOptions: typeof PostgresJournalOptionsBuilder;
|
|
44
|
+
//# sourceMappingURL=PostgresJournalOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostgresJournalOptions.d.ts","sourceRoot":"","sources":["../../../src/persistence/journals/PostgresJournalOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE1E,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,6CAA6C;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED;;;;;;;;;GASG;AACH,qBAAa,6BAA8B,SAAQ,cAAc,CAAC,0BAA0B,CAAC;IAC3F,mFAAmF;IACnF,MAAM,CAAC,MAAM,IAAI,6BAA6B;IAI9C,mEAAmE;IACnE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI1B,kFAAkF;IAClF,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIzD,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAIhC,6CAA6C;IAC7C,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAI1C,6DAA6D;IAC7D,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAItC,qEAAqE;IACrE,oBAAoB,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI;CAGtD;AAED;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,6BAA6B,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AACzG,gHAAgH;AAChH,eAAO,MAAM,sBAAsB,sCAAgC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { OptionsBuilder } from '../../util/OptionsBuilder.js';
|
|
2
|
+
/**
|
|
3
|
+
* Fluent builder for {@link PostgresJournalOptionsType}:
|
|
4
|
+
*
|
|
5
|
+
* new PostgresJournal(PostgresJournalOptions.create().withUrl('postgres://…').withEventsTable('journal'))
|
|
6
|
+
*
|
|
7
|
+
* The connection fields (`withUrl` / `withPoolConfig` / `withPool`) come
|
|
8
|
+
* from the shared {@link PostgresConnection} mixin; pass a pre-built
|
|
9
|
+
* `withPool(...)` to share ONE pool across the journal, snapshot, and
|
|
10
|
+
* durable-state stores.
|
|
11
|
+
*/
|
|
12
|
+
export class PostgresJournalOptionsBuilder extends OptionsBuilder {
|
|
13
|
+
/** Start a fresh builder. Equivalent to `new PostgresJournalOptionsBuilder()`. */
|
|
14
|
+
static create() {
|
|
15
|
+
return new PostgresJournalOptionsBuilder();
|
|
16
|
+
}
|
|
17
|
+
/** Connection string, e.g. `postgres://user:pass@host:5432/db`. */
|
|
18
|
+
withUrl(url) {
|
|
19
|
+
return this.set('url', url);
|
|
20
|
+
}
|
|
21
|
+
/** Extra node-postgres `Pool` config, merged over `{ connectionString: url }`. */
|
|
22
|
+
withPoolConfig(poolConfig) {
|
|
23
|
+
return this.set('poolConfig', poolConfig);
|
|
24
|
+
}
|
|
25
|
+
/** Pre-built pool — bypasses the lazy `pg` import; share it across stores. */
|
|
26
|
+
withPool(pool) {
|
|
27
|
+
return this.set('pool', pool);
|
|
28
|
+
}
|
|
29
|
+
/** Events table name. Default: `events`. */
|
|
30
|
+
withEventsTable(eventsTable) {
|
|
31
|
+
return this.set('eventsTable', eventsTable);
|
|
32
|
+
}
|
|
33
|
+
/** Tags join table name. Default: `${eventsTable}_tags`. */
|
|
34
|
+
withTagsTable(tagsTable) {
|
|
35
|
+
return this.set('tagsTable', tagsTable);
|
|
36
|
+
}
|
|
37
|
+
/** Run `CREATE TABLE IF NOT EXISTS` on first use. Default: true. */
|
|
38
|
+
withAutoCreateTables(autoCreateTables) {
|
|
39
|
+
return this.set('autoCreateTables', autoCreateTables);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/** Value alias so `PostgresJournalOptions.create()` / `new PostgresJournalOptions()` resolve to the builder. */
|
|
43
|
+
export const PostgresJournalOptions = PostgresJournalOptionsBuilder;
|
|
44
|
+
//# sourceMappingURL=PostgresJournalOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostgresJournalOptions.js","sourceRoot":"","sources":["../../../src/persistence/journals/PostgresJournalOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAY9D;;;;;;;;;GASG;AACH,MAAM,OAAO,6BAA8B,SAAQ,cAA0C;IAC3F,mFAAmF;IACnF,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,6BAA6B,EAAE,CAAC;IAC7C,CAAC;IAED,mEAAmE;IACnE,OAAO,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,kFAAkF;IAClF,cAAc,CAAC,UAAmC;QAChD,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,8EAA8E;IAC9E,QAAQ,CAAC,IAAgB;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,6CAA6C;IAC7C,eAAe,CAAC,WAAmB;QACjC,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IAED,6DAA6D;IAC7D,aAAa,CAAC,SAAiB;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,qEAAqE;IACrE,oBAAoB,CAAC,gBAAyB;QAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC;CACF;AAOD,gHAAgH;AAChH,MAAM,CAAC,MAAM,sBAAsB,GAAG,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { PersistenceExtension } from '../PersistenceExtension.js';
|
|
2
|
+
import { PostgresDurableStateStore } from '../durable-state-stores/PostgresDurableStateStore.js';
|
|
3
|
+
import type { RegisterPostgresPluginsOptions } from './PostgresPluginOptions.js';
|
|
4
|
+
/** Canonical plug-in IDs for the Postgres journal, snapshot, and durable-state stores. */
|
|
5
|
+
export declare const POSTGRES_JOURNAL_PLUGIN_ID = "actor-ts.persistence.journal.postgres";
|
|
6
|
+
export declare const POSTGRES_SNAPSHOT_PLUGIN_ID = "actor-ts.persistence.snapshot-store.postgres";
|
|
7
|
+
export declare const POSTGRES_DURABLE_STATE_PLUGIN_ID = "actor-ts.persistence.durable-state.postgres";
|
|
8
|
+
export interface PostgresPluginHandles {
|
|
9
|
+
/**
|
|
10
|
+
* The DurableState store instance. `PersistenceExtension` carries no
|
|
11
|
+
* DurableState registry (same as the object-storage plugin), so callers
|
|
12
|
+
* who want DurableState read this from the return value and pass it into
|
|
13
|
+
* their `DurableStateActor` settings.
|
|
14
|
+
*/
|
|
15
|
+
readonly durableStateStore: PostgresDurableStateStore;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* One-shot registration of the Postgres journal + snapshot store against
|
|
19
|
+
* the running `PersistenceExtension`, returning a ready-to-use
|
|
20
|
+
* DurableState store handle. Mirrors `registerCassandraPlugins` /
|
|
21
|
+
* `registerObjectStoragePlugins`.
|
|
22
|
+
*
|
|
23
|
+
* After this call, activate the journal + snapshot store via:
|
|
24
|
+
* `actor-ts.persistence.journal.plugin = "actor-ts.persistence.journal.postgres"`
|
|
25
|
+
* `actor-ts.persistence.snapshot-store.plugin = "actor-ts.persistence.snapshot-store.postgres"`
|
|
26
|
+
* either via HOCON or a `{ config: { ... } }` override.
|
|
27
|
+
*
|
|
28
|
+
* Pass `pool` to share a single connection pool across all three stores
|
|
29
|
+
* (recommended when they target the same DB).
|
|
30
|
+
*/
|
|
31
|
+
export declare function registerPostgresPlugins(ext: PersistenceExtension, options?: RegisterPostgresPluginsOptions): PostgresPluginHandles;
|
|
32
|
+
//# sourceMappingURL=PostgresPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostgresPlugin.d.ts","sourceRoot":"","sources":["../../../src/persistence/journals/PostgresPlugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAKvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAC;AAEjG,OAAO,KAAK,EAAE,8BAA8B,EAAsC,MAAM,4BAA4B,CAAC;AAErH,0FAA0F;AAC1F,eAAO,MAAM,0BAA0B,0CAA0C,CAAC;AAClF,eAAO,MAAM,2BAA2B,iDAAiD,CAAC;AAC1F,eAAO,MAAM,gCAAgC,gDAAgD,CAAC;AAE9F,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;CACvD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,oBAAoB,EACzB,OAAO,GAAE,8BAAmC,GAC3C,qBAAqB,CAoBvB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { PostgresJournal } from './PostgresJournal.js';
|
|
2
|
+
import { PostgresSnapshotStore } from '../snapshot-stores/PostgresSnapshotStore.js';
|
|
3
|
+
import { PostgresDurableStateStore } from '../durable-state-stores/PostgresDurableStateStore.js';
|
|
4
|
+
/** Canonical plug-in IDs for the Postgres journal, snapshot, and durable-state stores. */
|
|
5
|
+
export const POSTGRES_JOURNAL_PLUGIN_ID = 'actor-ts.persistence.journal.postgres';
|
|
6
|
+
export const POSTGRES_SNAPSHOT_PLUGIN_ID = 'actor-ts.persistence.snapshot-store.postgres';
|
|
7
|
+
export const POSTGRES_DURABLE_STATE_PLUGIN_ID = 'actor-ts.persistence.durable-state.postgres';
|
|
8
|
+
/**
|
|
9
|
+
* One-shot registration of the Postgres journal + snapshot store against
|
|
10
|
+
* the running `PersistenceExtension`, returning a ready-to-use
|
|
11
|
+
* DurableState store handle. Mirrors `registerCassandraPlugins` /
|
|
12
|
+
* `registerObjectStoragePlugins`.
|
|
13
|
+
*
|
|
14
|
+
* After this call, activate the journal + snapshot store via:
|
|
15
|
+
* `actor-ts.persistence.journal.plugin = "actor-ts.persistence.journal.postgres"`
|
|
16
|
+
* `actor-ts.persistence.snapshot-store.plugin = "actor-ts.persistence.snapshot-store.postgres"`
|
|
17
|
+
* either via HOCON or a `{ config: { ... } }` override.
|
|
18
|
+
*
|
|
19
|
+
* Pass `pool` to share a single connection pool across all three stores
|
|
20
|
+
* (recommended when they target the same DB).
|
|
21
|
+
*/
|
|
22
|
+
export function registerPostgresPlugins(ext, options = {}) {
|
|
23
|
+
const s = options;
|
|
24
|
+
// Resolve each leaf to a plain object and merge the shared pool (when
|
|
25
|
+
// set) onto it — no more mutating nested builders. A missing leaf falls
|
|
26
|
+
// back to an empty object so the shared pool still reaches every store.
|
|
27
|
+
const journal = { ...(s.journal ?? {}), ...(s.pool ? { pool: s.pool } : {}) };
|
|
28
|
+
const snapshotStore = { ...(s.snapshotStore ?? {}), ...(s.pool ? { pool: s.pool } : {}) };
|
|
29
|
+
const durableState = { ...(s.durableStateStore ?? {}), ...(s.pool ? { pool: s.pool } : {}) };
|
|
30
|
+
ext.registerJournal(POSTGRES_JOURNAL_PLUGIN_ID, (_system) => new PostgresJournal(journal));
|
|
31
|
+
ext.registerSnapshotStore(POSTGRES_SNAPSHOT_PLUGIN_ID, (_system) => new PostgresSnapshotStore(snapshotStore));
|
|
32
|
+
const durableStateStore = new PostgresDurableStateStore(durableState);
|
|
33
|
+
return { durableStateStore };
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=PostgresPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostgresPlugin.js","sourceRoot":"","sources":["../../../src/persistence/journals/PostgresPlugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAEpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAC;AAIjG,0FAA0F;AAC1F,MAAM,CAAC,MAAM,0BAA0B,GAAG,uCAAuC,CAAC;AAClF,MAAM,CAAC,MAAM,2BAA2B,GAAG,8CAA8C,CAAC;AAC1F,MAAM,CAAC,MAAM,gCAAgC,GAAG,6CAA6C,CAAC;AAY9F;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,uBAAuB,CACrC,GAAyB,EACzB,UAA0C,EAAE;IAE5C,MAAM,CAAC,GAAI,OAA8C,CAAC;IAE1D,sEAAsE;IACtE,yEAAyE;IACzE,wEAAwE;IACxE,MAAM,OAAO,GAAG,EAAE,GAAI,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAyC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACvH,MAAM,aAAa,GAAG,EAAE,GAAI,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAA+C,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACzI,MAAM,YAAY,GAAG,EAAE,GAAI,CAAC,CAAC,CAAC,iBAAiB,IAAI,EAAE,CAAmD,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAEhJ,GAAG,CAAC,eAAe,CACjB,0BAA0B,EAC1B,CAAC,OAAoB,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,CACvD,CAAC;IACF,GAAG,CAAC,qBAAqB,CACvB,2BAA2B,EAC3B,CAAC,OAAoB,EAAE,EAAE,CAAC,IAAI,qBAAqB,CAAC,aAAa,CAAC,CACnE,CAAC;IACF,MAAM,iBAAiB,GAAG,IAAI,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACtE,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { OptionsBuilder } from '../../util/OptionsBuilder.js';
|
|
2
|
+
import type { PgPoolLike } from './PostgresClient.js';
|
|
3
|
+
import type { PostgresJournalOptions } from './PostgresJournalOptions.js';
|
|
4
|
+
import type { PostgresSnapshotStoreOptions } from '../snapshot-stores/PostgresSnapshotStoreOptions.js';
|
|
5
|
+
import type { PostgresDurableStateStoreOptions } from '../durable-state-stores/PostgresDurableStateStoreOptions.js';
|
|
6
|
+
export interface RegisterPostgresPluginsOptionsType {
|
|
7
|
+
/**
|
|
8
|
+
* Shared connection pool injected into all three stores. When provided,
|
|
9
|
+
* the journal + snapshot + durable-state stores reuse ONE pool (the
|
|
10
|
+
* usual case — they target the same database). When omitted, each store
|
|
11
|
+
* lazily builds its own pool from its `url` / `poolConfig`.
|
|
12
|
+
*/
|
|
13
|
+
readonly pool?: PgPoolLike;
|
|
14
|
+
/** Journal-specific options (table names, autoCreate, and connection if no shared `pool`). */
|
|
15
|
+
readonly journal?: PostgresJournalOptions;
|
|
16
|
+
/** Snapshot-store-specific options. */
|
|
17
|
+
readonly snapshotStore?: PostgresSnapshotStoreOptions;
|
|
18
|
+
/** Durable-state-store-specific options. Defaults to a fresh builder (uses the shared `pool`). */
|
|
19
|
+
readonly durableStateStore?: PostgresDurableStateStoreOptions;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Fluent builder for {@link RegisterPostgresPluginsOptionsType}:
|
|
23
|
+
*
|
|
24
|
+
* registerPostgresPlugins(ext, RegisterPostgresPluginsOptions.create()
|
|
25
|
+
* .withPool(pool)
|
|
26
|
+
* .withJournal(PostgresJournalOptions.create().withEventsTable('journal'))
|
|
27
|
+
* .withSnapshotStore(PostgresSnapshotStoreOptions.create().withKeepN(5)))
|
|
28
|
+
*
|
|
29
|
+
* The shared `withPool(...)` is merged onto each store's resolved settings
|
|
30
|
+
* by {@link registerPostgresPlugins}, so a leaf builder carries only its
|
|
31
|
+
* store-specific fields. Each leaf setter accepts EITHER the leaf builder
|
|
32
|
+
* OR a plain object of the leaf's settings.
|
|
33
|
+
*/
|
|
34
|
+
export declare class RegisterPostgresPluginsOptionsBuilder extends OptionsBuilder<RegisterPostgresPluginsOptionsType> {
|
|
35
|
+
/** Start a fresh builder. Equivalent to `new RegisterPostgresPluginsOptionsBuilder()`. */
|
|
36
|
+
static create(): RegisterPostgresPluginsOptionsBuilder;
|
|
37
|
+
/** Shared connection pool injected into all three stores. */
|
|
38
|
+
withPool(pool: PgPoolLike): this;
|
|
39
|
+
/** Journal-specific options (table names, autoCreate, and connection if no shared pool). */
|
|
40
|
+
withJournal(journal: PostgresJournalOptions): this;
|
|
41
|
+
/** Snapshot-store-specific options. */
|
|
42
|
+
withSnapshotStore(snapshotStore: PostgresSnapshotStoreOptions): this;
|
|
43
|
+
/** Durable-state-store-specific options. Defaults to a fresh builder (uses the shared pool). */
|
|
44
|
+
withDurableStateStore(durableStateStore: PostgresDurableStateStoreOptions): this;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Accepted input for {@link registerPostgresPlugins}: the fluent
|
|
48
|
+
* {@link RegisterPostgresPluginsOptionsBuilder} OR a plain
|
|
49
|
+
* {@link RegisterPostgresPluginsOptionsType} object.
|
|
50
|
+
*/
|
|
51
|
+
export type RegisterPostgresPluginsOptions = RegisterPostgresPluginsOptionsBuilder | Partial<RegisterPostgresPluginsOptionsType>;
|
|
52
|
+
/** Value alias so `RegisterPostgresPluginsOptions.create()` / `new RegisterPostgresPluginsOptions()` resolve to the builder. */
|
|
53
|
+
export declare const RegisterPostgresPluginsOptions: typeof RegisterPostgresPluginsOptionsBuilder;
|
|
54
|
+
//# sourceMappingURL=PostgresPluginOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostgresPluginOptions.d.ts","sourceRoot":"","sources":["../../../src/persistence/journals/PostgresPluginOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oDAAoD,CAAC;AACvG,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,6DAA6D,CAAC;AAEpH,MAAM,WAAW,kCAAkC;IACjD;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,8FAA8F;IAC9F,QAAQ,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IAC1C,uCAAuC;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,4BAA4B,CAAC;IACtD,mGAAmG;IACnG,QAAQ,CAAC,iBAAiB,CAAC,EAAE,gCAAgC,CAAC;CAC/D;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,qCAAsC,SAAQ,cAAc,CAAC,kCAAkC,CAAC;IAC3G,2FAA2F;IAC3F,MAAM,CAAC,MAAM,IAAI,qCAAqC;IAItD,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAIhC,4FAA4F;IAC5F,WAAW,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAIlD,uCAAuC;IACvC,iBAAiB,CAAC,aAAa,EAAE,4BAA4B,GAAG,IAAI;IAIpE,iGAAiG;IACjG,qBAAqB,CAAC,iBAAiB,EAAE,gCAAgC,GAAG,IAAI;CAGjF;AAED;;;;GAIG;AACH,MAAM,MAAM,8BAA8B,GACtC,qCAAqC,GACrC,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAChD,gIAAgI;AAChI,eAAO,MAAM,8BAA8B,8CAAwC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { OptionsBuilder } from '../../util/OptionsBuilder.js';
|
|
2
|
+
/**
|
|
3
|
+
* Fluent builder for {@link RegisterPostgresPluginsOptionsType}:
|
|
4
|
+
*
|
|
5
|
+
* registerPostgresPlugins(ext, RegisterPostgresPluginsOptions.create()
|
|
6
|
+
* .withPool(pool)
|
|
7
|
+
* .withJournal(PostgresJournalOptions.create().withEventsTable('journal'))
|
|
8
|
+
* .withSnapshotStore(PostgresSnapshotStoreOptions.create().withKeepN(5)))
|
|
9
|
+
*
|
|
10
|
+
* The shared `withPool(...)` is merged onto each store's resolved settings
|
|
11
|
+
* by {@link registerPostgresPlugins}, so a leaf builder carries only its
|
|
12
|
+
* store-specific fields. Each leaf setter accepts EITHER the leaf builder
|
|
13
|
+
* OR a plain object of the leaf's settings.
|
|
14
|
+
*/
|
|
15
|
+
export class RegisterPostgresPluginsOptionsBuilder extends OptionsBuilder {
|
|
16
|
+
/** Start a fresh builder. Equivalent to `new RegisterPostgresPluginsOptionsBuilder()`. */
|
|
17
|
+
static create() {
|
|
18
|
+
return new RegisterPostgresPluginsOptionsBuilder();
|
|
19
|
+
}
|
|
20
|
+
/** Shared connection pool injected into all three stores. */
|
|
21
|
+
withPool(pool) {
|
|
22
|
+
return this.set('pool', pool);
|
|
23
|
+
}
|
|
24
|
+
/** Journal-specific options (table names, autoCreate, and connection if no shared pool). */
|
|
25
|
+
withJournal(journal) {
|
|
26
|
+
return this.set('journal', journal);
|
|
27
|
+
}
|
|
28
|
+
/** Snapshot-store-specific options. */
|
|
29
|
+
withSnapshotStore(snapshotStore) {
|
|
30
|
+
return this.set('snapshotStore', snapshotStore);
|
|
31
|
+
}
|
|
32
|
+
/** Durable-state-store-specific options. Defaults to a fresh builder (uses the shared pool). */
|
|
33
|
+
withDurableStateStore(durableStateStore) {
|
|
34
|
+
return this.set('durableStateStore', durableStateStore);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/** Value alias so `RegisterPostgresPluginsOptions.create()` / `new RegisterPostgresPluginsOptions()` resolve to the builder. */
|
|
38
|
+
export const RegisterPostgresPluginsOptions = RegisterPostgresPluginsOptionsBuilder;
|
|
39
|
+
//# sourceMappingURL=PostgresPluginOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostgresPluginOptions.js","sourceRoot":"","sources":["../../../src/persistence/journals/PostgresPluginOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAsB9D;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,qCAAsC,SAAQ,cAAkD;IAC3G,2FAA2F;IAC3F,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,qCAAqC,EAAE,CAAC;IACrD,CAAC;IAED,6DAA6D;IAC7D,QAAQ,CAAC,IAAgB;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,4FAA4F;IAC5F,WAAW,CAAC,OAA+B;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,uCAAuC;IACvC,iBAAiB,CAAC,aAA2C;QAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAClD,CAAC;IAED,iGAAiG;IACjG,qBAAqB,CAAC,iBAAmD;QACvE,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAC1D,CAAC;CACF;AAUD,gIAAgI;AAChI,MAAM,CAAC,MAAM,8BAA8B,GAAG,qCAAqC,CAAC"}
|
|
@@ -1,21 +1,7 @@
|
|
|
1
|
-
import { type SqliteDriver } from '../../runtime/sqlite/index.js';
|
|
2
1
|
import { type JournalEventBus } from '../JournalEventBus.js';
|
|
3
2
|
import type { Journal } from '../Journal.js';
|
|
4
3
|
import { type PersistentEvent } from '../JournalTypes.js';
|
|
5
|
-
|
|
6
|
-
/** File path (absolute or relative) or ":memory:" for an ephemeral DB. */
|
|
7
|
-
readonly path?: string;
|
|
8
|
-
/** Table name for events. Default: `events`. */
|
|
9
|
-
readonly eventsTable?: string;
|
|
10
|
-
/** If true, opens the DB with WAL mode enabled. */
|
|
11
|
-
readonly wal?: boolean;
|
|
12
|
-
/**
|
|
13
|
-
* Explicit driver — useful for tests or when you want to pin a
|
|
14
|
-
* specific SQLite backend. Default: auto-detect via `getSqliteDriver()`
|
|
15
|
-
* (Bun → `bun:sqlite`, Node → `better-sqlite3`).
|
|
16
|
-
*/
|
|
17
|
-
readonly driver?: SqliteDriver;
|
|
18
|
-
}
|
|
4
|
+
import type { SqliteJournalOptions } from './SqliteJournalOptions.js';
|
|
19
5
|
/**
|
|
20
6
|
* Journal backed by SQLite — zero-dependency, single-file persistence.
|
|
21
7
|
*
|
|
@@ -26,12 +12,12 @@ export interface SqliteJournalOptions {
|
|
|
26
12
|
*
|
|
27
13
|
* Construction is lazy: the native DB is opened on the first `append` /
|
|
28
14
|
* `read` / `highestSeq` / `delete` / `persistenceIds` call. This keeps
|
|
29
|
-
* `new SqliteJournal(
|
|
30
|
-
*
|
|
31
|
-
* requires.
|
|
15
|
+
* `new SqliteJournal(SqliteJournalOptions.create().withPath(path))`
|
|
16
|
+
* sync-friendly (matches the pre-abstraction shape) while still
|
|
17
|
+
* supporting the async driver-resolution flow Node requires.
|
|
32
18
|
*/
|
|
33
19
|
export declare class SqliteJournal implements Journal {
|
|
34
|
-
private readonly
|
|
20
|
+
private readonly settings;
|
|
35
21
|
private readonly table;
|
|
36
22
|
private readonly closed;
|
|
37
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteJournal.d.ts","sourceRoot":"","sources":["../../../src/persistence/journals/SqliteJournal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SqliteJournal.d.ts","sourceRoot":"","sources":["../../../src/persistence/journals/SqliteJournal.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,oBAAoB,EAA4B,MAAM,2BAA2B,CAAC;AAiBhG;;;;;;;;;;;;;GAaG;AACH,qBAAa,aAAc,YAAW,OAAO;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAkC;IAElE,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,WAAW,CAA8B;gBAErC,OAAO,GAAE,oBAAyB;IAMxC,MAAM,CAAC,CAAC,EACZ,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAC3B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IAoD1B,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;IA+BpF,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMxC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjD,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAMnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAQd,UAAU;YAOV,IAAI;IAmElB;;;;;;;;OAQG;IACH,OAAO,CAAC,yBAAyB;CAwBlC"}
|
|
@@ -11,12 +11,12 @@ import { JournalConcurrencyError, JournalError, } from '../JournalTypes.js';
|
|
|
11
11
|
*
|
|
12
12
|
* Construction is lazy: the native DB is opened on the first `append` /
|
|
13
13
|
* `read` / `highestSeq` / `delete` / `persistenceIds` call. This keeps
|
|
14
|
-
* `new SqliteJournal(
|
|
15
|
-
*
|
|
16
|
-
* requires.
|
|
14
|
+
* `new SqliteJournal(SqliteJournalOptions.create().withPath(path))`
|
|
15
|
+
* sync-friendly (matches the pre-abstraction shape) while still
|
|
16
|
+
* supporting the async driver-resolution flow Node requires.
|
|
17
17
|
*/
|
|
18
18
|
export class SqliteJournal {
|
|
19
|
-
|
|
19
|
+
settings;
|
|
20
20
|
table;
|
|
21
21
|
closed = { value: false };
|
|
22
22
|
/**
|
|
@@ -31,8 +31,9 @@ export class SqliteJournal {
|
|
|
31
31
|
stmts = null;
|
|
32
32
|
initPromise = null;
|
|
33
33
|
constructor(options = {}) {
|
|
34
|
-
|
|
35
|
-
this.
|
|
34
|
+
const settings = options;
|
|
35
|
+
this.settings = settings;
|
|
36
|
+
this.table = settings.eventsTable ?? 'events';
|
|
36
37
|
}
|
|
37
38
|
async append(pid, events, expectedSeq, tags) {
|
|
38
39
|
await this.ensureOpen();
|
|
@@ -150,8 +151,8 @@ export class SqliteJournal {
|
|
|
150
151
|
await this.initPromise;
|
|
151
152
|
}
|
|
152
153
|
async init() {
|
|
153
|
-
const driver = this.
|
|
154
|
-
const db = driver.open(this.
|
|
154
|
+
const driver = this.settings.driver ?? await getSqliteDriver();
|
|
155
|
+
const db = driver.open(this.settings.path ?? ':memory:');
|
|
155
156
|
const tagsTable = `${this.table}_tags`;
|
|
156
157
|
db.exec(`
|
|
157
158
|
CREATE TABLE IF NOT EXISTS ${this.table} (
|
|
@@ -172,7 +173,7 @@ export class SqliteJournal {
|
|
|
172
173
|
);
|
|
173
174
|
CREATE INDEX IF NOT EXISTS idx_${tagsTable}_pid_seq ON ${tagsTable}(persistence_id, sequence_nr);
|
|
174
175
|
`);
|
|
175
|
-
if (this.
|
|
176
|
+
if (this.settings.wal)
|
|
176
177
|
db.exec('PRAGMA journal_mode = WAL;');
|
|
177
178
|
this.stmts = {
|
|
178
179
|
insert: db.prepare(`INSERT INTO ${this.table}(persistence_id, sequence_nr, payload, tags, timestamp) VALUES (?, ?, ?, ?, ?)`),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqliteJournal.js","sourceRoot":"","sources":["../../../src/persistence/journals/SqliteJournal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"SqliteJournal.js","sourceRoot":"","sources":["../../../src/persistence/journals/SqliteJournal.ts"],"names":[],"mappings":"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"}
|