actor-ts 0.10.0 → 0.11.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 +321 -1
- package/README.md +27 -18
- package/dist/Actor.d.ts +6 -6
- package/dist/Actor.d.ts.map +1 -1
- package/dist/Actor.js.map +1 -1
- package/dist/ActorContext.d.ts +7 -7
- package/dist/ActorContext.d.ts.map +1 -1
- package/dist/ActorPath.js +8 -8
- package/dist/ActorPath.js.map +1 -1
- package/dist/ActorRef.d.ts +6 -6
- package/dist/ActorRef.d.ts.map +1 -1
- package/dist/ActorRef.js.map +1 -1
- package/dist/ActorSystem.js +21 -21
- package/dist/ActorSystem.js.map +1 -1
- package/dist/ActorSystemOptions.d.ts +4 -4
- package/dist/ActorSystemOptions.d.ts.map +1 -1
- package/dist/ActorSystemOptions.js +1 -1
- package/dist/CoordinatedShutdown.js +3 -3
- package/dist/CoordinatedShutdown.js.map +1 -1
- package/dist/Props.d.ts +13 -13
- package/dist/Props.d.ts.map +1 -1
- package/dist/Props.js.map +1 -1
- package/dist/Router.d.ts +4 -4
- package/dist/Router.d.ts.map +1 -1
- package/dist/Router.js +4 -4
- package/dist/Router.js.map +1 -1
- package/dist/Supervision.js +3 -3
- package/dist/Supervision.js.map +1 -1
- package/dist/cache/CacheExtension.d.ts +7 -0
- package/dist/cache/CacheExtension.d.ts.map +1 -1
- package/dist/cache/CacheExtension.js +17 -1
- package/dist/cache/CacheExtension.js.map +1 -1
- package/dist/cache/InMemoryCache.d.ts +39 -0
- package/dist/cache/InMemoryCache.d.ts.map +1 -1
- package/dist/cache/InMemoryCache.js +99 -20
- package/dist/cache/InMemoryCache.js.map +1 -1
- package/dist/cache/InMemoryCacheOptions.d.ts +50 -0
- package/dist/cache/InMemoryCacheOptions.d.ts.map +1 -0
- package/dist/cache/InMemoryCacheOptions.js +51 -0
- package/dist/cache/InMemoryCacheOptions.js.map +1 -0
- package/dist/cache/MemcachedCache.d.ts.map +1 -1
- package/dist/cache/MemcachedCache.js +11 -9
- package/dist/cache/MemcachedCache.js.map +1 -1
- package/dist/cache/MemcachedCacheOptions.d.ts +7 -1
- package/dist/cache/MemcachedCacheOptions.d.ts.map +1 -1
- package/dist/cache/MemcachedCacheOptions.js +10 -0
- package/dist/cache/MemcachedCacheOptions.js.map +1 -1
- package/dist/cache/RedisCache.d.ts.map +1 -1
- package/dist/cache/RedisCache.js +14 -12
- package/dist/cache/RedisCache.js.map +1 -1
- package/dist/cache/RedisCacheOptions.d.ts +11 -1
- package/dist/cache/RedisCacheOptions.d.ts.map +1 -1
- package/dist/cache/RedisCacheOptions.js +19 -0
- package/dist/cache/RedisCacheOptions.js.map +1 -1
- package/dist/cache/index.d.ts +4 -2
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +3 -2
- package/dist/cache/index.js.map +1 -1
- package/dist/cluster/Cluster.d.ts +3 -3
- package/dist/cluster/Cluster.d.ts.map +1 -1
- package/dist/cluster/Cluster.js +91 -89
- package/dist/cluster/Cluster.js.map +1 -1
- package/dist/cluster/ClusterBootstrap.d.ts.map +1 -1
- package/dist/cluster/ClusterBootstrap.js +4 -2
- package/dist/cluster/ClusterBootstrap.js.map +1 -1
- package/dist/cluster/ClusterBootstrapOptions.d.ts +8 -2
- package/dist/cluster/ClusterBootstrapOptions.d.ts.map +1 -1
- package/dist/cluster/ClusterBootstrapOptions.js +19 -1
- package/dist/cluster/ClusterBootstrapOptions.js.map +1 -1
- package/dist/cluster/ClusterClient.d.ts +1 -1
- package/dist/cluster/ClusterClient.d.ts.map +1 -1
- package/dist/cluster/ClusterClient.js +16 -17
- package/dist/cluster/ClusterClient.js.map +1 -1
- package/dist/cluster/ClusterClientOptions.d.ts +15 -4
- package/dist/cluster/ClusterClientOptions.d.ts.map +1 -1
- package/dist/cluster/ClusterClientOptions.js +18 -0
- package/dist/cluster/ClusterClientOptions.js.map +1 -1
- package/dist/cluster/ClusterClientReceptionist.d.ts +2 -2
- package/dist/cluster/ClusterClientReceptionist.d.ts.map +1 -1
- package/dist/cluster/ClusterClientReceptionist.js +15 -13
- package/dist/cluster/ClusterClientReceptionist.js.map +1 -1
- package/dist/cluster/ClusterClientReceptionistOptions.d.ts +7 -1
- package/dist/cluster/ClusterClientReceptionistOptions.d.ts.map +1 -1
- package/dist/cluster/ClusterClientReceptionistOptions.js +10 -0
- package/dist/cluster/ClusterClientReceptionistOptions.js.map +1 -1
- package/dist/cluster/ClusterOptions.d.ts +7 -1
- package/dist/cluster/ClusterOptions.d.ts.map +1 -1
- package/dist/cluster/ClusterOptions.js +21 -0
- package/dist/cluster/ClusterOptions.js.map +1 -1
- package/dist/cluster/FailureDetector.d.ts +2 -2
- package/dist/cluster/FailureDetector.d.ts.map +1 -1
- package/dist/cluster/FailureDetector.js +8 -6
- package/dist/cluster/FailureDetector.js.map +1 -1
- package/dist/cluster/FailureDetectorOptions.d.ts +13 -2
- package/dist/cluster/FailureDetectorOptions.d.ts.map +1 -1
- package/dist/cluster/FailureDetectorOptions.js +18 -1
- package/dist/cluster/FailureDetectorOptions.js.map +1 -1
- package/dist/cluster/Member.js +2 -2
- package/dist/cluster/Member.js.map +1 -1
- package/dist/cluster/PhiAccrualFailureDetector.d.ts +2 -2
- package/dist/cluster/PhiAccrualFailureDetector.d.ts.map +1 -1
- package/dist/cluster/PhiAccrualFailureDetector.js +39 -43
- package/dist/cluster/PhiAccrualFailureDetector.js.map +1 -1
- package/dist/cluster/PhiAccrualOptions.d.ts +13 -2
- package/dist/cluster/PhiAccrualOptions.d.ts.map +1 -1
- package/dist/cluster/PhiAccrualOptions.js +26 -1
- package/dist/cluster/PhiAccrualOptions.js.map +1 -1
- package/dist/cluster/Protocol.d.ts +10 -10
- package/dist/cluster/Protocol.d.ts.map +1 -1
- package/dist/cluster/Protocol.js +1 -1
- package/dist/cluster/RefCodec.js +11 -1
- package/dist/cluster/RefCodec.js.map +1 -1
- package/dist/cluster/RemoteActorRef.d.ts +2 -2
- package/dist/cluster/RemoteActorRef.d.ts.map +1 -1
- package/dist/cluster/RemoteActorRef.js.map +1 -1
- package/dist/cluster/Transport.d.ts +3 -3
- package/dist/cluster/Transport.d.ts.map +1 -1
- package/dist/cluster/Transport.js +2 -2
- package/dist/cluster/Transport.js.map +1 -1
- package/dist/cluster/downing/KeepMajority.d.ts +3 -6
- package/dist/cluster/downing/KeepMajority.d.ts.map +1 -1
- package/dist/cluster/downing/KeepMajority.js +6 -6
- package/dist/cluster/downing/KeepMajority.js.map +1 -1
- package/dist/cluster/downing/KeepMajorityOptions.d.ts +26 -0
- package/dist/cluster/downing/KeepMajorityOptions.d.ts.map +1 -0
- package/dist/cluster/downing/KeepMajorityOptions.js +19 -0
- package/dist/cluster/downing/KeepMajorityOptions.js.map +1 -0
- package/dist/cluster/downing/KeepOldest.d.ts +1 -1
- package/dist/cluster/downing/KeepOldest.d.ts.map +1 -1
- package/dist/cluster/downing/KeepOldest.js +4 -4
- package/dist/cluster/downing/KeepOldest.js.map +1 -1
- package/dist/cluster/downing/KeepOldestOptions.d.ts +1 -1
- package/dist/cluster/downing/KeepOldestOptions.d.ts.map +1 -1
- package/dist/cluster/downing/KeepReferee.d.ts +1 -1
- package/dist/cluster/downing/KeepReferee.d.ts.map +1 -1
- package/dist/cluster/downing/KeepReferee.js +6 -6
- package/dist/cluster/downing/KeepReferee.js.map +1 -1
- package/dist/cluster/downing/KeepRefereeOptions.d.ts +7 -1
- package/dist/cluster/downing/KeepRefereeOptions.d.ts.map +1 -1
- package/dist/cluster/downing/KeepRefereeOptions.js +13 -0
- package/dist/cluster/downing/KeepRefereeOptions.js.map +1 -1
- package/dist/cluster/downing/LeaseMajority.d.ts +1 -1
- package/dist/cluster/downing/LeaseMajority.d.ts.map +1 -1
- package/dist/cluster/downing/LeaseMajority.js +16 -14
- package/dist/cluster/downing/LeaseMajority.js.map +1 -1
- package/dist/cluster/downing/LeaseMajorityOptions.d.ts +7 -1
- package/dist/cluster/downing/LeaseMajorityOptions.d.ts.map +1 -1
- package/dist/cluster/downing/LeaseMajorityOptions.js +10 -0
- package/dist/cluster/downing/LeaseMajorityOptions.js.map +1 -1
- package/dist/cluster/downing/StaticQuorum.d.ts +1 -1
- package/dist/cluster/downing/StaticQuorum.d.ts.map +1 -1
- package/dist/cluster/downing/StaticQuorum.js +6 -7
- package/dist/cluster/downing/StaticQuorum.js.map +1 -1
- package/dist/cluster/downing/StaticQuorumOptions.d.ts +7 -1
- package/dist/cluster/downing/StaticQuorumOptions.d.ts.map +1 -1
- package/dist/cluster/downing/StaticQuorumOptions.js +10 -0
- package/dist/cluster/downing/StaticQuorumOptions.js.map +1 -1
- package/dist/cluster/downing/index.d.ts +5 -4
- package/dist/cluster/downing/index.d.ts.map +1 -1
- package/dist/cluster/downing/index.js +4 -3
- package/dist/cluster/downing/index.js.map +1 -1
- package/dist/cluster/index.d.ts +17 -17
- package/dist/cluster/index.d.ts.map +1 -1
- package/dist/cluster/index.js +14 -14
- package/dist/cluster/index.js.map +1 -1
- package/dist/cluster/pubsub/DistributedPubSubExtension.js.map +1 -1
- package/dist/cluster/pubsub/DistributedPubSubMediator.d.ts +4 -4
- package/dist/cluster/pubsub/DistributedPubSubMediator.d.ts.map +1 -1
- package/dist/cluster/pubsub/DistributedPubSubMediator.js +23 -21
- package/dist/cluster/pubsub/DistributedPubSubMediator.js.map +1 -1
- package/dist/cluster/pubsub/DistributedPubSubOptions.d.ts +7 -1
- package/dist/cluster/pubsub/DistributedPubSubOptions.d.ts.map +1 -1
- package/dist/cluster/pubsub/DistributedPubSubOptions.js +10 -0
- package/dist/cluster/pubsub/DistributedPubSubOptions.js.map +1 -1
- package/dist/cluster/pubsub/Messages.d.ts +5 -5
- package/dist/cluster/pubsub/Messages.d.ts.map +1 -1
- package/dist/cluster/pubsub/Messages.js +2 -2
- package/dist/cluster/pubsub/Messages.js.map +1 -1
- package/dist/cluster/pubsub/index.d.ts +2 -2
- package/dist/cluster/pubsub/index.d.ts.map +1 -1
- package/dist/cluster/pubsub/index.js +2 -2
- package/dist/cluster/pubsub/index.js.map +1 -1
- package/dist/cluster/router/ClusterRouter.d.ts +1 -1
- package/dist/cluster/router/ClusterRouter.d.ts.map +1 -1
- package/dist/cluster/router/ClusterRouter.js +6 -7
- package/dist/cluster/router/ClusterRouter.js.map +1 -1
- package/dist/cluster/router/ClusterRouterOptions.d.ts +17 -7
- package/dist/cluster/router/ClusterRouterOptions.d.ts.map +1 -1
- package/dist/cluster/router/ClusterRouterOptions.js +18 -0
- package/dist/cluster/router/ClusterRouterOptions.js.map +1 -1
- package/dist/cluster/router/ConsistentHashing.d.ts +1 -1
- package/dist/cluster/router/ConsistentHashing.d.ts.map +1 -1
- package/dist/cluster/router/ConsistentHashing.js +16 -16
- package/dist/cluster/router/ConsistentHashing.js.map +1 -1
- package/dist/cluster/router/index.d.ts +1 -1
- package/dist/cluster/router/index.d.ts.map +1 -1
- package/dist/cluster/router/index.js +1 -1
- package/dist/cluster/router/index.js.map +1 -1
- package/dist/cluster/sharding/AllocationStrategy.js +4 -4
- package/dist/cluster/sharding/AllocationStrategy.js.map +1 -1
- package/dist/cluster/sharding/CassandraRememberEntitiesStoreOptions.d.ts +2 -2
- package/dist/cluster/sharding/CassandraRememberEntitiesStoreOptions.d.ts.map +1 -1
- package/dist/cluster/sharding/CassandraRememberEntitiesStoreOptions.js +1 -1
- package/dist/cluster/sharding/CassandraRememberEntitiesStoreOptions.js.map +1 -1
- package/dist/cluster/sharding/ClusterSharding.d.ts +8 -8
- package/dist/cluster/sharding/ClusterSharding.d.ts.map +1 -1
- package/dist/cluster/sharding/ClusterSharding.js +43 -41
- package/dist/cluster/sharding/ClusterSharding.js.map +1 -1
- package/dist/cluster/sharding/ShardAllocator.js +14 -14
- package/dist/cluster/sharding/ShardAllocator.js.map +1 -1
- package/dist/cluster/sharding/ShardCoordinator.d.ts +2 -2
- package/dist/cluster/sharding/ShardCoordinator.d.ts.map +1 -1
- package/dist/cluster/sharding/ShardCoordinator.js +72 -72
- package/dist/cluster/sharding/ShardCoordinator.js.map +1 -1
- package/dist/cluster/sharding/ShardCoordinatorOptions.d.ts +2 -2
- package/dist/cluster/sharding/ShardCoordinatorOptions.d.ts.map +1 -1
- package/dist/cluster/sharding/ShardCoordinatorOptions.js +1 -1
- package/dist/cluster/sharding/ShardRegion.d.ts +10 -10
- package/dist/cluster/sharding/ShardRegion.d.ts.map +1 -1
- package/dist/cluster/sharding/ShardRegion.js +20 -20
- package/dist/cluster/sharding/ShardRegion.js.map +1 -1
- package/dist/cluster/sharding/ShardedDaemonProcess.d.ts.map +1 -1
- package/dist/cluster/sharding/ShardedDaemonProcess.js +12 -10
- package/dist/cluster/sharding/ShardedDaemonProcess.js.map +1 -1
- package/dist/cluster/sharding/ShardedDaemonProcessOptions.d.ts +7 -1
- package/dist/cluster/sharding/ShardedDaemonProcessOptions.d.ts.map +1 -1
- package/dist/cluster/sharding/ShardedDaemonProcessOptions.js +12 -0
- package/dist/cluster/sharding/ShardedDaemonProcessOptions.js.map +1 -1
- package/dist/cluster/sharding/ShardingOptions.d.ts +24 -13
- package/dist/cluster/sharding/ShardingOptions.d.ts.map +1 -1
- package/dist/cluster/sharding/ShardingOptions.js +32 -2
- package/dist/cluster/sharding/ShardingOptions.js.map +1 -1
- package/dist/cluster/sharding/ShardingProtocol.d.ts +6 -6
- package/dist/cluster/sharding/ShardingProtocol.d.ts.map +1 -1
- package/dist/cluster/sharding/StartShardingOptions.d.ts +15 -7
- package/dist/cluster/sharding/StartShardingOptions.d.ts.map +1 -1
- package/dist/cluster/sharding/StartShardingOptions.js +17 -2
- package/dist/cluster/sharding/StartShardingOptions.js.map +1 -1
- package/dist/cluster/singleton/ClusterSingleton.d.ts.map +1 -1
- package/dist/cluster/singleton/ClusterSingleton.js +16 -14
- package/dist/cluster/singleton/ClusterSingleton.js.map +1 -1
- package/dist/cluster/singleton/ClusterSingletonManager.d.ts +2 -2
- package/dist/cluster/singleton/ClusterSingletonManager.d.ts.map +1 -1
- package/dist/cluster/singleton/ClusterSingletonManager.js +25 -25
- package/dist/cluster/singleton/ClusterSingletonManager.js.map +1 -1
- package/dist/cluster/singleton/ClusterSingletonManagerOptions.d.ts +1 -1
- package/dist/cluster/singleton/ClusterSingletonManagerOptions.d.ts.map +1 -1
- package/dist/cluster/singleton/ClusterSingletonProxy.js +2 -2
- package/dist/cluster/singleton/ClusterSingletonProxy.js.map +1 -1
- package/dist/cluster/singleton/StartSingletonOptions.d.ts +7 -1
- package/dist/cluster/singleton/StartSingletonOptions.d.ts.map +1 -1
- package/dist/cluster/singleton/StartSingletonOptions.js +11 -0
- package/dist/cluster/singleton/StartSingletonOptions.js.map +1 -1
- package/dist/cluster/singleton/index.d.ts +1 -1
- package/dist/cluster/singleton/index.d.ts.map +1 -1
- package/dist/cluster/singleton/index.js +1 -1
- package/dist/cluster/singleton/index.js.map +1 -1
- package/dist/config/Config.js +61 -61
- package/dist/config/Config.js.map +1 -1
- package/dist/config/HoconParser.d.ts +2 -2
- package/dist/config/HoconParser.d.ts.map +1 -1
- package/dist/config/HoconParser.js +77 -77
- package/dist/config/HoconParser.js.map +1 -1
- package/dist/config/reference.d.ts.map +1 -1
- package/dist/config/reference.js +24 -0
- package/dist/config/reference.js.map +1 -1
- package/dist/coordination/LeaseOptions.d.ts +16 -3
- package/dist/coordination/LeaseOptions.d.ts.map +1 -1
- package/dist/coordination/LeaseOptions.js +40 -1
- package/dist/coordination/LeaseOptions.js.map +1 -1
- package/dist/coordination/index.d.ts +2 -2
- package/dist/coordination/index.d.ts.map +1 -1
- package/dist/coordination/index.js +2 -2
- package/dist/coordination/index.js.map +1 -1
- package/dist/coordination/leases/InMemoryLease.d.ts +1 -1
- package/dist/coordination/leases/InMemoryLease.d.ts.map +1 -1
- package/dist/coordination/leases/InMemoryLease.js +18 -16
- package/dist/coordination/leases/InMemoryLease.js.map +1 -1
- package/dist/coordination/leases/KubernetesLease.d.ts +2 -2
- package/dist/coordination/leases/KubernetesLease.d.ts.map +1 -1
- package/dist/coordination/leases/KubernetesLease.js +33 -31
- package/dist/coordination/leases/KubernetesLease.js.map +1 -1
- package/dist/coordination/leases/KubernetesLeaseOptions.d.ts +7 -2
- package/dist/coordination/leases/KubernetesLeaseOptions.d.ts.map +1 -1
- package/dist/coordination/leases/KubernetesLeaseOptions.js +12 -1
- package/dist/coordination/leases/KubernetesLeaseOptions.js.map +1 -1
- package/dist/coordination/leases/k8sApi.d.ts +1 -1
- package/dist/coordination/leases/k8sApi.js +1 -1
- package/dist/crdt/DistributedData.d.ts +12 -12
- package/dist/crdt/DistributedData.d.ts.map +1 -1
- package/dist/crdt/DistributedData.js +36 -34
- package/dist/crdt/DistributedData.js.map +1 -1
- package/dist/crdt/DistributedDataOptions.d.ts +7 -1
- package/dist/crdt/DistributedDataOptions.d.ts.map +1 -1
- package/dist/crdt/DistributedDataOptions.js +10 -0
- package/dist/crdt/DistributedDataOptions.js.map +1 -1
- package/dist/crdt/GCounter.js +4 -4
- package/dist/crdt/GCounter.js.map +1 -1
- package/dist/crdt/GCounterMap.js +7 -7
- package/dist/crdt/GCounterMap.js.map +1 -1
- package/dist/crdt/GSet.js +8 -8
- package/dist/crdt/GSet.js.map +1 -1
- package/dist/crdt/LWWMap.d.ts +1 -1
- package/dist/crdt/LWWMap.js +19 -19
- package/dist/crdt/LWWMap.js.map +1 -1
- package/dist/crdt/MVRegister.js +16 -16
- package/dist/crdt/MVRegister.js.map +1 -1
- package/dist/crdt/ORMap.d.ts +2 -2
- package/dist/crdt/ORMap.js +18 -18
- package/dist/crdt/ORMap.js.map +1 -1
- package/dist/crdt/ORSet.js +38 -38
- package/dist/crdt/ORSet.js.map +1 -1
- package/dist/crdt/index.d.ts +1 -1
- package/dist/crdt/index.d.ts.map +1 -1
- package/dist/crdt/index.js +1 -1
- package/dist/crdt/index.js.map +1 -1
- package/dist/delivery/ConsumerController.d.ts +4 -11
- package/dist/delivery/ConsumerController.d.ts.map +1 -1
- package/dist/delivery/ConsumerController.js +12 -12
- package/dist/delivery/ConsumerController.js.map +1 -1
- package/dist/delivery/ConsumerControllerOptions.d.ts +32 -0
- package/dist/delivery/ConsumerControllerOptions.d.ts.map +1 -0
- package/dist/delivery/ConsumerControllerOptions.js +21 -0
- package/dist/delivery/ConsumerControllerOptions.js.map +1 -0
- package/dist/delivery/Messages.d.ts +2 -2
- package/dist/delivery/Messages.d.ts.map +1 -1
- package/dist/delivery/ProducerController.d.ts +6 -6
- package/dist/delivery/ProducerController.d.ts.map +1 -1
- package/dist/delivery/ProducerController.js +29 -27
- package/dist/delivery/ProducerController.js.map +1 -1
- package/dist/delivery/ProducerControllerOptions.d.ts +9 -3
- package/dist/delivery/ProducerControllerOptions.d.ts.map +1 -1
- package/dist/delivery/ProducerControllerOptions.js +12 -1
- package/dist/delivery/ProducerControllerOptions.js.map +1 -1
- package/dist/delivery/ReliableDelivery.d.ts +3 -3
- package/dist/delivery/ReliableDelivery.d.ts.map +1 -1
- package/dist/delivery/ReliableDelivery.js +4 -4
- package/dist/delivery/ReliableDelivery.js.map +1 -1
- package/dist/delivery/index.d.ts +4 -3
- package/dist/delivery/index.d.ts.map +1 -1
- package/dist/delivery/index.js +2 -1
- package/dist/delivery/index.js.map +1 -1
- package/dist/discovery/AutoDiscoveryOptions.d.ts +6 -0
- package/dist/discovery/AutoDiscoveryOptions.d.ts.map +1 -1
- package/dist/discovery/AutoDiscoveryOptions.js +11 -0
- package/dist/discovery/AutoDiscoveryOptions.js.map +1 -1
- package/dist/discovery/ConfigSeedProvider.d.ts +1 -1
- package/dist/discovery/ConfigSeedProvider.d.ts.map +1 -1
- package/dist/discovery/ConfigSeedProvider.js +6 -5
- package/dist/discovery/ConfigSeedProvider.js.map +1 -1
- package/dist/discovery/ConfigSeedProviderOptions.d.ts +7 -1
- package/dist/discovery/ConfigSeedProviderOptions.d.ts.map +1 -1
- package/dist/discovery/ConfigSeedProviderOptions.js +11 -0
- package/dist/discovery/ConfigSeedProviderOptions.js.map +1 -1
- package/dist/discovery/DnsSeedProvider.d.ts +2 -2
- package/dist/discovery/DnsSeedProvider.d.ts.map +1 -1
- package/dist/discovery/DnsSeedProvider.js +13 -14
- package/dist/discovery/DnsSeedProvider.js.map +1 -1
- package/dist/discovery/DnsSeedProviderOptions.d.ts +11 -1
- package/dist/discovery/DnsSeedProviderOptions.d.ts.map +1 -1
- package/dist/discovery/DnsSeedProviderOptions.js +20 -0
- package/dist/discovery/DnsSeedProviderOptions.js.map +1 -1
- package/dist/discovery/KubernetesApiSeedProvider.d.ts +1 -1
- package/dist/discovery/KubernetesApiSeedProvider.d.ts.map +1 -1
- package/dist/discovery/KubernetesApiSeedProvider.js +8 -6
- package/dist/discovery/KubernetesApiSeedProvider.js.map +1 -1
- package/dist/discovery/KubernetesApiSeedProviderOptions.d.ts +7 -1
- package/dist/discovery/KubernetesApiSeedProviderOptions.d.ts.map +1 -1
- package/dist/discovery/KubernetesApiSeedProviderOptions.js +13 -0
- package/dist/discovery/KubernetesApiSeedProviderOptions.js.map +1 -1
- package/dist/discovery/Receptionist.d.ts.map +1 -1
- package/dist/discovery/Receptionist.js +13 -11
- package/dist/discovery/Receptionist.js.map +1 -1
- package/dist/discovery/ReceptionistMessages.d.ts +2 -2
- package/dist/discovery/ReceptionistMessages.d.ts.map +1 -1
- package/dist/discovery/ReceptionistMessages.js +1 -1
- package/dist/discovery/ReceptionistMessages.js.map +1 -1
- package/dist/discovery/ReceptionistOptions.d.ts +7 -1
- package/dist/discovery/ReceptionistOptions.d.ts.map +1 -1
- package/dist/discovery/ReceptionistOptions.js +10 -0
- package/dist/discovery/ReceptionistOptions.js.map +1 -1
- package/dist/discovery/ServiceKey.d.ts +2 -2
- package/dist/discovery/ServiceKey.d.ts.map +1 -1
- package/dist/discovery/ServiceKey.js.map +1 -1
- package/dist/discovery/autoDiscovery.d.ts.map +1 -1
- package/dist/discovery/autoDiscovery.js +18 -15
- package/dist/discovery/autoDiscovery.js.map +1 -1
- package/dist/discovery/index.d.ts +6 -6
- package/dist/discovery/index.d.ts.map +1 -1
- package/dist/discovery/index.js +5 -5
- package/dist/discovery/index.js.map +1 -1
- package/dist/fsm/FSM.d.ts +1 -1
- package/dist/fsm/FSM.js +1 -1
- package/dist/http/Html.d.ts +53 -0
- package/dist/http/Html.d.ts.map +1 -0
- package/dist/http/Html.js +92 -0
- package/dist/http/Html.js.map +1 -0
- package/dist/http/HttpExtension.d.ts +9 -0
- package/dist/http/HttpExtension.d.ts.map +1 -1
- package/dist/http/HttpExtension.js +52 -17
- package/dist/http/HttpExtension.js.map +1 -1
- package/dist/http/Marshalling.js +3 -3
- package/dist/http/Marshalling.js.map +1 -1
- package/dist/http/MimeTypes.d.ts +15 -0
- package/dist/http/MimeTypes.d.ts.map +1 -0
- package/dist/http/MimeTypes.js +87 -0
- package/dist/http/MimeTypes.js.map +1 -0
- package/dist/http/Route.d.ts +86 -9
- package/dist/http/Route.d.ts.map +1 -1
- package/dist/http/Route.js +111 -23
- package/dist/http/Route.js.map +1 -1
- package/dist/http/backend/ExpressBackend.d.ts +15 -10
- package/dist/http/backend/ExpressBackend.d.ts.map +1 -1
- package/dist/http/backend/ExpressBackend.js +91 -52
- package/dist/http/backend/ExpressBackend.js.map +1 -1
- package/dist/http/backend/ExpressBackendOptions.d.ts +8 -2
- package/dist/http/backend/ExpressBackendOptions.d.ts.map +1 -1
- package/dist/http/backend/ExpressBackendOptions.js +11 -1
- package/dist/http/backend/ExpressBackendOptions.js.map +1 -1
- package/dist/http/backend/FastifyBackend.d.ts +12 -3
- package/dist/http/backend/FastifyBackend.d.ts.map +1 -1
- package/dist/http/backend/FastifyBackend.js +60 -20
- package/dist/http/backend/FastifyBackend.js.map +1 -1
- package/dist/http/backend/HonoBackend.d.ts +23 -6
- package/dist/http/backend/HonoBackend.d.ts.map +1 -1
- package/dist/http/backend/HonoBackend.js +150 -63
- package/dist/http/backend/HonoBackend.js.map +1 -1
- package/dist/http/backend/HonoBackendOptions.d.ts +8 -2
- package/dist/http/backend/HonoBackendOptions.d.ts.map +1 -1
- package/dist/http/backend/HonoBackendOptions.js +11 -1
- package/dist/http/backend/HonoBackendOptions.js.map +1 -1
- package/dist/http/backend/HttpServerBackend.d.ts +16 -6
- package/dist/http/backend/HttpServerBackend.d.ts.map +1 -1
- package/dist/http/cache/IdempotencyKey.d.ts +2 -46
- package/dist/http/cache/IdempotencyKey.d.ts.map +1 -1
- package/dist/http/cache/IdempotencyKey.js +25 -20
- package/dist/http/cache/IdempotencyKey.js.map +1 -1
- package/dist/http/cache/IdempotencyOptions.d.ts +84 -0
- package/dist/http/cache/IdempotencyOptions.d.ts.map +1 -0
- package/dist/http/cache/IdempotencyOptions.js +61 -0
- package/dist/http/cache/IdempotencyOptions.js.map +1 -0
- package/dist/http/cache/RateLimit.d.ts +13 -32
- package/dist/http/cache/RateLimit.d.ts.map +1 -1
- package/dist/http/cache/RateLimit.js +42 -8
- package/dist/http/cache/RateLimit.js.map +1 -1
- package/dist/http/cache/RateLimitOptions.d.ts +80 -0
- package/dist/http/cache/RateLimitOptions.d.ts.map +1 -0
- package/dist/http/cache/RateLimitOptions.js +61 -0
- package/dist/http/cache/RateLimitOptions.js.map +1 -0
- package/dist/http/cache/ResponseCache.js +3 -3
- package/dist/http/cache/ResponseCache.js.map +1 -1
- package/dist/http/cache/index.d.ts +4 -2
- package/dist/http/cache/index.d.ts.map +1 -1
- package/dist/http/cache/index.js +2 -0
- package/dist/http/cache/index.js.map +1 -1
- package/dist/http/cookies.d.ts +38 -0
- package/dist/http/cookies.d.ts.map +1 -0
- package/dist/http/cookies.js +102 -0
- package/dist/http/cookies.js.map +1 -0
- package/dist/http/index.d.ts +17 -11
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +16 -8
- package/dist/http/index.js.map +1 -1
- package/dist/http/middleware/BasicAuth.d.ts +5 -0
- package/dist/http/middleware/BasicAuth.d.ts.map +1 -0
- package/dist/http/middleware/BasicAuth.js +58 -0
- package/dist/http/middleware/BasicAuth.js.map +1 -0
- package/dist/http/middleware/BasicAuthOptions.d.ts +22 -0
- package/dist/http/middleware/BasicAuthOptions.d.ts.map +1 -0
- package/dist/http/middleware/BasicAuthOptions.js +19 -0
- package/dist/http/middleware/BasicAuthOptions.js.map +1 -0
- package/dist/http/middleware/BearerToken.js +6 -6
- package/dist/http/middleware/BearerToken.js.map +1 -1
- package/dist/http/middleware/Cors.d.ts +39 -0
- package/dist/http/middleware/Cors.d.ts.map +1 -0
- package/dist/http/middleware/Cors.js +164 -0
- package/dist/http/middleware/Cors.js.map +1 -0
- package/dist/http/middleware/CorsOptions.d.ts +57 -0
- package/dist/http/middleware/CorsOptions.d.ts.map +1 -0
- package/dist/http/middleware/CorsOptions.js +62 -0
- package/dist/http/middleware/CorsOptions.js.map +1 -0
- package/dist/http/middleware/Csp.d.ts +13 -0
- package/dist/http/middleware/Csp.d.ts.map +1 -0
- package/dist/http/middleware/Csp.js +68 -0
- package/dist/http/middleware/Csp.js.map +1 -0
- package/dist/http/middleware/CspOptions.d.ts +53 -0
- package/dist/http/middleware/CspOptions.d.ts.map +1 -0
- package/dist/http/middleware/CspOptions.js +24 -0
- package/dist/http/middleware/CspOptions.js.map +1 -0
- package/dist/http/middleware/Csrf.d.ts +22 -0
- package/dist/http/middleware/Csrf.d.ts.map +1 -0
- package/dist/http/middleware/Csrf.js +165 -0
- package/dist/http/middleware/Csrf.js.map +1 -0
- package/dist/http/middleware/CsrfOptions.d.ts +75 -0
- package/dist/http/middleware/CsrfOptions.d.ts.map +1 -0
- package/dist/http/middleware/CsrfOptions.js +80 -0
- package/dist/http/middleware/CsrfOptions.js.map +1 -0
- package/dist/http/middleware/Hsts.d.ts +28 -0
- package/dist/http/middleware/Hsts.d.ts.map +1 -0
- package/dist/http/middleware/Hsts.js +34 -0
- package/dist/http/middleware/Hsts.js.map +1 -0
- package/dist/http/middleware/HstsOptions.d.ts +44 -0
- package/dist/http/middleware/HstsOptions.d.ts.map +1 -0
- package/dist/http/middleware/HstsOptions.js +49 -0
- package/dist/http/middleware/HstsOptions.js.map +1 -0
- package/dist/http/middleware/IpAllowlist.js +12 -12
- package/dist/http/middleware/IpAllowlist.js.map +1 -1
- package/dist/http/middleware/RequestId.d.ts +5 -0
- package/dist/http/middleware/RequestId.d.ts.map +1 -0
- package/dist/http/middleware/RequestId.js +24 -0
- package/dist/http/middleware/RequestId.js.map +1 -0
- package/dist/http/middleware/RequestIdOptions.d.ts +22 -0
- package/dist/http/middleware/RequestIdOptions.d.ts.map +1 -0
- package/dist/http/middleware/RequestIdOptions.js +19 -0
- package/dist/http/middleware/RequestIdOptions.js.map +1 -0
- package/dist/http/middleware/SecurityHeaders.d.ts +11 -0
- package/dist/http/middleware/SecurityHeaders.d.ts.map +1 -0
- package/dist/http/middleware/SecurityHeaders.js +50 -0
- package/dist/http/middleware/SecurityHeaders.js.map +1 -0
- package/dist/http/middleware/SecurityHeadersOptions.d.ts +44 -0
- package/dist/http/middleware/SecurityHeadersOptions.d.ts.map +1 -0
- package/dist/http/middleware/SecurityHeadersOptions.js +40 -0
- package/dist/http/middleware/SecurityHeadersOptions.js.map +1 -0
- package/dist/http/middleware/Timeout.d.ts +13 -0
- package/dist/http/middleware/Timeout.d.ts.map +1 -0
- package/dist/http/middleware/Timeout.js +29 -0
- package/dist/http/middleware/Timeout.js.map +1 -0
- package/dist/http/middleware/TimeoutOptions.d.ts +30 -0
- package/dist/http/middleware/TimeoutOptions.d.ts.map +1 -0
- package/dist/http/middleware/TimeoutOptions.js +30 -0
- package/dist/http/middleware/TimeoutOptions.js.map +1 -0
- package/dist/http/middleware/headers.d.ts +21 -0
- package/dist/http/middleware/headers.d.ts.map +1 -0
- package/dist/http/middleware/headers.js +43 -0
- package/dist/http/middleware/headers.js.map +1 -0
- package/dist/http/middleware/index.d.ts +25 -0
- package/dist/http/middleware/index.d.ts.map +1 -1
- package/dist/http/middleware/index.js +20 -0
- package/dist/http/middleware/index.js.map +1 -1
- package/dist/http/static/DirectoryListing.d.ts +16 -0
- package/dist/http/static/DirectoryListing.d.ts.map +1 -0
- package/dist/http/static/DirectoryListing.js +39 -0
- package/dist/http/static/DirectoryListing.js.map +1 -0
- package/dist/http/static/StaticFiles.d.ts +11 -0
- package/dist/http/static/StaticFiles.d.ts.map +1 -0
- package/dist/http/static/StaticFiles.js +202 -0
- package/dist/http/static/StaticFiles.js.map +1 -0
- package/dist/http/static/StaticFilesOptions.d.ts +76 -0
- package/dist/http/static/StaticFilesOptions.d.ts.map +1 -0
- package/dist/http/static/StaticFilesOptions.js +83 -0
- package/dist/http/static/StaticFilesOptions.js.map +1 -0
- package/dist/http/static/fsAccess.d.ts +25 -0
- package/dist/http/static/fsAccess.d.ts.map +1 -0
- package/dist/http/static/fsAccess.js +42 -0
- package/dist/http/static/fsAccess.js.map +1 -0
- package/dist/http/static/index.d.ts +7 -0
- package/dist/http/static/index.d.ts.map +1 -0
- package/dist/http/static/index.js +5 -0
- package/dist/http/static/index.js.map +1 -0
- package/dist/http/static/staticPath.d.ts +14 -0
- package/dist/http/static/staticPath.d.ts.map +1 -0
- package/dist/http/static/staticPath.js +67 -0
- package/dist/http/static/staticPath.js.map +1 -0
- package/dist/http/types.d.ts +24 -3
- package/dist/http/types.d.ts.map +1 -1
- package/dist/http/types.js +11 -1
- package/dist/http/types.js.map +1 -1
- package/dist/http/{ws → websocket}/ConnectionWiring.d.ts +11 -11
- package/dist/http/websocket/ConnectionWiring.d.ts.map +1 -0
- package/dist/http/{ws → websocket}/ConnectionWiring.js +59 -6
- package/dist/http/websocket/ConnectionWiring.js.map +1 -0
- package/dist/http/{ws → websocket}/SocketAdapter.d.ts +11 -11
- package/dist/http/websocket/SocketAdapter.d.ts.map +1 -0
- package/dist/http/{ws → websocket}/SocketAdapter.js +12 -12
- package/dist/http/websocket/SocketAdapter.js.map +1 -0
- package/dist/http/{ws/WebSocketClientActor.d.ts → websocket/WebsocketClientActor.d.ts} +25 -23
- package/dist/http/websocket/WebsocketClientActor.d.ts.map +1 -0
- package/dist/http/{ws/WebSocketClientActor.js → websocket/WebsocketClientActor.js} +55 -54
- package/dist/http/websocket/WebsocketClientActor.js.map +1 -0
- package/dist/http/{ws/WebSocketClientOptions.d.ts → websocket/WebsocketClientOptions.d.ts} +32 -27
- package/dist/http/websocket/WebsocketClientOptions.d.ts.map +1 -0
- package/dist/http/{ws/WebSocketClientOptions.js → websocket/WebsocketClientOptions.js} +31 -18
- package/dist/http/websocket/WebsocketClientOptions.js.map +1 -0
- package/dist/http/{ws/WsCodec.d.ts → websocket/WebsocketCodec.d.ts} +18 -18
- package/dist/http/websocket/WebsocketCodec.d.ts.map +1 -0
- package/dist/http/{ws/WsCodec.js → websocket/WebsocketCodec.js} +11 -11
- package/dist/http/websocket/WebsocketCodec.js.map +1 -0
- package/dist/http/{ws/WsConnection.d.ts → websocket/WebsocketConnection.d.ts} +13 -13
- package/dist/http/websocket/WebsocketConnection.d.ts.map +1 -0
- package/dist/http/{ws/WsConnection.js → websocket/WebsocketConnection.js} +4 -4
- package/dist/http/websocket/WebsocketConnection.js.map +1 -0
- package/dist/http/{ws/WebSocketConnectionActor.d.ts → websocket/WebsocketConnectionActor.d.ts} +18 -18
- package/dist/http/websocket/WebsocketConnectionActor.d.ts.map +1 -0
- package/dist/http/{ws/WebSocketConnectionActor.js → websocket/WebsocketConnectionActor.js} +25 -25
- package/dist/http/websocket/WebsocketConnectionActor.js.map +1 -0
- package/dist/http/websocket/WebsocketMessages.d.ts +115 -0
- package/dist/http/websocket/WebsocketMessages.d.ts.map +1 -0
- package/dist/http/websocket/WebsocketMessages.js +41 -0
- package/dist/http/websocket/WebsocketMessages.js.map +1 -0
- package/dist/http/{ws/WsPolicy.d.ts → websocket/WebsocketPolicy.d.ts} +24 -5
- package/dist/http/websocket/WebsocketPolicy.d.ts.map +1 -0
- package/dist/http/websocket/WebsocketPolicy.js +70 -0
- package/dist/http/websocket/WebsocketPolicy.js.map +1 -0
- package/dist/http/{ws/WebSocketRoute.d.ts → websocket/WebsocketRoute.d.ts} +6 -6
- package/dist/http/websocket/WebsocketRoute.d.ts.map +1 -0
- package/dist/http/websocket/WebsocketRoute.js +72 -0
- package/dist/http/websocket/WebsocketRoute.js.map +1 -0
- package/dist/http/websocket/WebsocketRouteOptions.d.ts +91 -0
- package/dist/http/websocket/WebsocketRouteOptions.d.ts.map +1 -0
- package/dist/http/websocket/WebsocketRouteOptions.js +92 -0
- package/dist/http/websocket/WebsocketRouteOptions.js.map +1 -0
- package/dist/http/{ws/WebSocketServerActor.d.ts → websocket/WebsocketServerActor.d.ts} +14 -14
- package/dist/http/websocket/WebsocketServerActor.d.ts.map +1 -0
- package/dist/http/{ws/WebSocketServerActor.js → websocket/WebsocketServerActor.js} +61 -53
- package/dist/http/websocket/WebsocketServerActor.js.map +1 -0
- package/dist/http/websocket/index.d.ts +22 -0
- package/dist/http/websocket/index.d.ts.map +1 -0
- package/dist/http/websocket/index.js +15 -0
- package/dist/http/websocket/index.js.map +1 -0
- package/dist/http/{ws → websocket}/matchPattern.d.ts +1 -1
- package/dist/http/websocket/matchPattern.d.ts.map +1 -0
- package/dist/http/websocket/matchPattern.js +43 -0
- package/dist/http/websocket/matchPattern.js.map +1 -0
- package/dist/http/websocket/rawResponse.d.ts.map +1 -0
- package/dist/http/{ws → websocket}/rawResponse.js +12 -2
- package/dist/http/websocket/rawResponse.js.map +1 -0
- package/dist/http/{ws → websocket}/types.d.ts +9 -9
- package/dist/http/websocket/types.d.ts.map +1 -0
- package/dist/http/{ws → websocket}/types.js +9 -9
- package/dist/http/websocket/types.js.map +1 -0
- package/dist/http/{ws/wsCtor.d.ts → websocket/websocketConstructor.d.ts} +7 -7
- package/dist/http/websocket/websocketConstructor.d.ts.map +1 -0
- package/dist/http/{ws/wsCtor.js → websocket/websocketConstructor.js} +7 -7
- package/dist/http/websocket/websocketConstructor.js.map +1 -0
- package/dist/index.d.ts +13 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -5
- package/dist/index.js.map +1 -1
- package/dist/internal/ActorCell.d.ts +9 -9
- package/dist/internal/ActorCell.d.ts.map +1 -1
- package/dist/internal/ActorCell.js +34 -34
- package/dist/internal/ActorCell.js.map +1 -1
- package/dist/internal/LocalActorRef.d.ts +4 -4
- package/dist/internal/LocalActorRef.d.ts.map +1 -1
- package/dist/internal/LocalActorRef.js.map +1 -1
- package/dist/io/broker/AmqpActor.d.ts +11 -9
- package/dist/io/broker/AmqpActor.d.ts.map +1 -1
- package/dist/io/broker/AmqpActor.js +32 -30
- package/dist/io/broker/AmqpActor.js.map +1 -1
- package/dist/io/broker/AmqpOptions.d.ts +7 -2
- package/dist/io/broker/AmqpOptions.d.ts.map +1 -1
- package/dist/io/broker/AmqpOptions.js +12 -1
- package/dist/io/broker/AmqpOptions.js.map +1 -1
- package/dist/io/broker/BrokerActor.d.ts +31 -22
- package/dist/io/broker/BrokerActor.d.ts.map +1 -1
- package/dist/io/broker/BrokerActor.js +48 -35
- package/dist/io/broker/BrokerActor.js.map +1 -1
- package/dist/io/broker/BrokerOptions.d.ts +108 -7
- package/dist/io/broker/BrokerOptions.d.ts.map +1 -1
- package/dist/io/broker/BrokerOptions.js +133 -11
- package/dist/io/broker/BrokerOptions.js.map +1 -1
- package/dist/io/broker/GrpcClientActor.d.ts +11 -9
- package/dist/io/broker/GrpcClientActor.d.ts.map +1 -1
- package/dist/io/broker/GrpcClientActor.js +41 -39
- package/dist/io/broker/GrpcClientActor.js.map +1 -1
- package/dist/io/broker/GrpcClientOptions.d.ts +7 -2
- package/dist/io/broker/GrpcClientOptions.d.ts.map +1 -1
- package/dist/io/broker/GrpcClientOptions.js +11 -1
- package/dist/io/broker/GrpcClientOptions.js.map +1 -1
- package/dist/io/broker/GrpcServerActor.d.ts +4 -4
- package/dist/io/broker/GrpcServerActor.d.ts.map +1 -1
- package/dist/io/broker/GrpcServerActor.js +29 -29
- package/dist/io/broker/GrpcServerActor.js.map +1 -1
- package/dist/io/broker/GrpcServerOptions.d.ts +1 -1
- package/dist/io/broker/GrpcServerOptions.d.ts.map +1 -1
- package/dist/io/broker/JetStreamActor.d.ts +18 -16
- package/dist/io/broker/JetStreamActor.d.ts.map +1 -1
- package/dist/io/broker/JetStreamActor.js +92 -90
- package/dist/io/broker/JetStreamActor.js.map +1 -1
- package/dist/io/broker/JetStreamOptions.d.ts +7 -2
- package/dist/io/broker/JetStreamOptions.d.ts.map +1 -1
- package/dist/io/broker/JetStreamOptions.js +12 -1
- package/dist/io/broker/JetStreamOptions.js.map +1 -1
- package/dist/io/broker/KafkaActor.d.ts +15 -13
- package/dist/io/broker/KafkaActor.d.ts.map +1 -1
- package/dist/io/broker/KafkaActor.js +59 -57
- package/dist/io/broker/KafkaActor.js.map +1 -1
- package/dist/io/broker/KafkaOptions.d.ts +11 -6
- package/dist/io/broker/KafkaOptions.d.ts.map +1 -1
- package/dist/io/broker/KafkaOptions.js +14 -3
- package/dist/io/broker/KafkaOptions.js.map +1 -1
- package/dist/io/broker/MqttActor.d.ts +13 -11
- package/dist/io/broker/MqttActor.d.ts.map +1 -1
- package/dist/io/broker/MqttActor.js +99 -98
- package/dist/io/broker/MqttActor.js.map +1 -1
- package/dist/io/broker/MqttCodec.d.ts +2 -2
- package/dist/io/broker/MqttCodec.js +2 -2
- package/dist/io/broker/MqttMessages.d.ts +15 -11
- package/dist/io/broker/MqttMessages.d.ts.map +1 -1
- package/dist/io/broker/MqttMessages.js +9 -25
- package/dist/io/broker/MqttMessages.js.map +1 -1
- package/dist/io/broker/MqttOptions.d.ts +14 -5
- package/dist/io/broker/MqttOptions.d.ts.map +1 -1
- package/dist/io/broker/MqttOptions.js +20 -3
- package/dist/io/broker/MqttOptions.js.map +1 -1
- package/dist/io/broker/NatsActor.d.ts +10 -8
- package/dist/io/broker/NatsActor.d.ts.map +1 -1
- package/dist/io/broker/NatsActor.js +35 -33
- package/dist/io/broker/NatsActor.js.map +1 -1
- package/dist/io/broker/NatsOptions.d.ts +7 -2
- package/dist/io/broker/NatsOptions.d.ts.map +1 -1
- package/dist/io/broker/NatsOptions.js +11 -1
- package/dist/io/broker/NatsOptions.js.map +1 -1
- package/dist/io/broker/RedisStreamsActor.d.ts +10 -8
- package/dist/io/broker/RedisStreamsActor.d.ts.map +1 -1
- package/dist/io/broker/RedisStreamsActor.js +39 -37
- package/dist/io/broker/RedisStreamsActor.js.map +1 -1
- package/dist/io/broker/RedisStreamsOptions.d.ts +9 -4
- package/dist/io/broker/RedisStreamsOptions.d.ts.map +1 -1
- package/dist/io/broker/RedisStreamsOptions.js +13 -2
- package/dist/io/broker/RedisStreamsOptions.js.map +1 -1
- package/dist/io/broker/SseActor.d.ts +10 -8
- package/dist/io/broker/SseActor.d.ts.map +1 -1
- package/dist/io/broker/SseActor.js +42 -21
- package/dist/io/broker/SseActor.js.map +1 -1
- package/dist/io/broker/SseOptions.d.ts +7 -2
- package/dist/io/broker/SseOptions.d.ts.map +1 -1
- package/dist/io/broker/SseOptions.js +11 -1
- package/dist/io/broker/SseOptions.js.map +1 -1
- package/dist/io/broker/TcpSocketActor.d.ts +10 -8
- package/dist/io/broker/TcpSocketActor.d.ts.map +1 -1
- package/dist/io/broker/TcpSocketActor.js +34 -23
- package/dist/io/broker/TcpSocketActor.js.map +1 -1
- package/dist/io/broker/TcpSocketOptions.d.ts +7 -2
- package/dist/io/broker/TcpSocketOptions.d.ts.map +1 -1
- package/dist/io/broker/TcpSocketOptions.js +12 -1
- package/dist/io/broker/TcpSocketOptions.js.map +1 -1
- package/dist/io/broker/UdpSocketActor.d.ts +10 -8
- package/dist/io/broker/UdpSocketActor.d.ts.map +1 -1
- package/dist/io/broker/UdpSocketActor.js +17 -15
- package/dist/io/broker/UdpSocketActor.js.map +1 -1
- package/dist/io/broker/UdpSocketOptions.d.ts +7 -2
- package/dist/io/broker/UdpSocketOptions.d.ts.map +1 -1
- package/dist/io/broker/UdpSocketOptions.js +16 -1
- package/dist/io/broker/UdpSocketOptions.js.map +1 -1
- package/dist/io/broker/index.d.ts +22 -22
- package/dist/io/broker/index.d.ts.map +1 -1
- package/dist/io/broker/index.js +16 -16
- package/dist/io/broker/index.js.map +1 -1
- package/dist/mailbox/BoundedMailbox.d.ts +2 -16
- package/dist/mailbox/BoundedMailbox.d.ts.map +1 -1
- package/dist/mailbox/BoundedMailbox.js +4 -3
- package/dist/mailbox/BoundedMailbox.js.map +1 -1
- package/dist/mailbox/BoundedMailboxOptions.d.ts +49 -0
- package/dist/mailbox/BoundedMailboxOptions.d.ts.map +1 -0
- package/dist/mailbox/BoundedMailboxOptions.js +46 -0
- package/dist/mailbox/BoundedMailboxOptions.js.map +1 -0
- package/dist/mailbox/PriorityMailbox.d.ts +2 -4
- package/dist/mailbox/PriorityMailbox.d.ts.map +1 -1
- package/dist/mailbox/PriorityMailbox.js +4 -4
- package/dist/mailbox/PriorityMailbox.js.map +1 -1
- package/dist/mailbox/PriorityMailboxOptions.d.ts +27 -0
- package/dist/mailbox/PriorityMailboxOptions.d.ts.map +1 -0
- package/dist/mailbox/PriorityMailboxOptions.js +20 -0
- package/dist/mailbox/PriorityMailboxOptions.js.map +1 -0
- package/dist/mailbox/index.d.ts +6 -2
- package/dist/mailbox/index.d.ts.map +1 -1
- package/dist/mailbox/index.js +2 -0
- package/dist/mailbox/index.js.map +1 -1
- package/dist/management/HttpManagement.d.ts +3 -52
- package/dist/management/HttpManagement.d.ts.map +1 -1
- package/dist/management/HttpManagement.js +16 -15
- package/dist/management/HttpManagement.js.map +1 -1
- package/dist/management/ManagementRoutesOptions.d.ts +43 -0
- package/dist/management/ManagementRoutesOptions.d.ts.map +1 -0
- package/dist/management/ManagementRoutesOptions.js +35 -0
- package/dist/management/ManagementRoutesOptions.js.map +1 -0
- package/dist/management/index.d.ts +2 -1
- package/dist/management/index.d.ts.map +1 -1
- package/dist/management/index.js +1 -0
- package/dist/management/index.js.map +1 -1
- package/dist/metrics/Metrics.js +11 -11
- package/dist/metrics/Metrics.js.map +1 -1
- package/dist/metrics/PromClientAdapterOptions.d.ts +1 -1
- package/dist/metrics/PromClientAdapterOptions.d.ts.map +1 -1
- package/dist/metrics/PrometheusExporter.js +23 -23
- package/dist/metrics/PrometheusExporter.js.map +1 -1
- package/dist/pattern/BackoffPolicy.js +5 -5
- package/dist/pattern/BackoffPolicy.js.map +1 -1
- package/dist/pattern/CircuitBreaker.d.ts +3 -12
- package/dist/pattern/CircuitBreaker.d.ts.map +1 -1
- package/dist/pattern/CircuitBreaker.js +13 -16
- package/dist/pattern/CircuitBreaker.js.map +1 -1
- package/dist/pattern/CircuitBreakerOptions.d.ts +50 -0
- package/dist/pattern/CircuitBreakerOptions.d.ts.map +1 -0
- package/dist/pattern/CircuitBreakerOptions.js +53 -0
- package/dist/pattern/CircuitBreakerOptions.js.map +1 -0
- package/dist/pattern/index.d.ts +3 -1
- package/dist/pattern/index.d.ts.map +1 -1
- package/dist/pattern/index.js +1 -0
- package/dist/pattern/index.js.map +1 -1
- package/dist/persistence/DurableStateActor.d.ts +1 -1
- package/dist/persistence/DurableStateActor.d.ts.map +1 -1
- package/dist/persistence/DurableStateActor.js +8 -8
- package/dist/persistence/DurableStateActor.js.map +1 -1
- package/dist/persistence/EventDispatcher.js +3 -3
- package/dist/persistence/EventDispatcher.js.map +1 -1
- package/dist/persistence/JournalEventBus.js +2 -2
- package/dist/persistence/JournalEventBus.js.map +1 -1
- package/dist/persistence/PersistenceOptions.d.ts +1 -1
- package/dist/persistence/PersistenceOptions.js +1 -1
- package/dist/persistence/ReplicatedEventSourcedActor.d.ts +2 -2
- 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 +1 -1
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStore.d.ts.map +1 -1
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStore.js +6 -6
- package/dist/persistence/durable-state-stores/MariaDbDurableStateStore.js.map +1 -1
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.d.ts +1 -0
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.d.ts.map +1 -1
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.js +25 -23
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.js.map +1 -1
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStoreOptions.d.ts +22 -0
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStoreOptions.d.ts.map +1 -1
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStoreOptions.js +25 -0
- package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStoreOptions.js.map +1 -1
- package/dist/persistence/durable-state-stores/PostgresDurableStateStore.d.ts +1 -1
- package/dist/persistence/durable-state-stores/PostgresDurableStateStore.d.ts.map +1 -1
- package/dist/persistence/durable-state-stores/PostgresDurableStateStore.js +6 -6
- package/dist/persistence/durable-state-stores/PostgresDurableStateStore.js.map +1 -1
- package/dist/persistence/index.d.ts +8 -8
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +7 -7
- package/dist/persistence/index.js.map +1 -1
- package/dist/persistence/journals/CassandraClient.d.ts +1 -1
- package/dist/persistence/journals/CassandraClient.d.ts.map +1 -1
- package/dist/persistence/journals/CassandraJournal.d.ts.map +1 -1
- package/dist/persistence/journals/CassandraJournal.js +14 -5
- package/dist/persistence/journals/CassandraJournal.js.map +1 -1
- package/dist/persistence/journals/CassandraJournalOptions.d.ts +7 -1
- package/dist/persistence/journals/CassandraJournalOptions.d.ts.map +1 -1
- package/dist/persistence/journals/CassandraJournalOptions.js +12 -1
- package/dist/persistence/journals/CassandraJournalOptions.js.map +1 -1
- package/dist/persistence/journals/CassandraPlugin.js +3 -3
- package/dist/persistence/journals/CassandraPlugin.js.map +1 -1
- package/dist/persistence/journals/CassandraPluginOptions.d.ts +1 -1
- package/dist/persistence/journals/CassandraPluginOptions.js +1 -1
- package/dist/persistence/journals/MariaDbJournal.d.ts +1 -1
- package/dist/persistence/journals/MariaDbJournal.d.ts.map +1 -1
- package/dist/persistence/journals/MariaDbJournal.js +7 -7
- package/dist/persistence/journals/MariaDbJournal.js.map +1 -1
- package/dist/persistence/journals/MariaDbPlugin.d.ts +1 -1
- package/dist/persistence/journals/MariaDbPlugin.js +4 -4
- package/dist/persistence/journals/MariaDbPlugin.js.map +1 -1
- package/dist/persistence/journals/MariaDbPluginOptions.d.ts +2 -2
- package/dist/persistence/journals/MariaDbPluginOptions.js +2 -2
- package/dist/persistence/journals/PostgresJournal.d.ts +1 -1
- package/dist/persistence/journals/PostgresJournal.d.ts.map +1 -1
- package/dist/persistence/journals/PostgresJournal.js +7 -7
- package/dist/persistence/journals/PostgresJournal.js.map +1 -1
- package/dist/persistence/journals/PostgresPlugin.d.ts +1 -1
- package/dist/persistence/journals/PostgresPlugin.js +4 -4
- package/dist/persistence/journals/PostgresPlugin.js.map +1 -1
- package/dist/persistence/journals/PostgresPluginOptions.d.ts +2 -2
- package/dist/persistence/journals/PostgresPluginOptions.js +2 -2
- package/dist/persistence/journals/SqliteJournal.d.ts +1 -1
- package/dist/persistence/journals/SqliteJournal.d.ts.map +1 -1
- package/dist/persistence/journals/SqliteJournal.js +14 -10
- package/dist/persistence/journals/SqliteJournal.js.map +1 -1
- package/dist/persistence/migration/MigrationChain.js +3 -3
- package/dist/persistence/migration/MigrationChain.js.map +1 -1
- package/dist/persistence/migration/SchemaRegistry.js +9 -9
- package/dist/persistence/migration/SchemaRegistry.js.map +1 -1
- package/dist/persistence/migration/defaultsAdapter.js +10 -10
- package/dist/persistence/migration/defaultsAdapter.js.map +1 -1
- package/dist/persistence/migration/validatedAdapter.js +4 -4
- package/dist/persistence/migration/validatedAdapter.js.map +1 -1
- package/dist/persistence/migration/wrapLegacy.js +2 -2
- package/dist/persistence/migration/wrapLegacy.js.map +1 -1
- package/dist/persistence/object-storage/BodyCodec.d.ts +14 -0
- package/dist/persistence/object-storage/BodyCodec.d.ts.map +1 -1
- package/dist/persistence/object-storage/BodyCodec.js +10 -2
- package/dist/persistence/object-storage/BodyCodec.js.map +1 -1
- package/dist/persistence/object-storage/Compression.d.ts +7 -1
- package/dist/persistence/object-storage/Compression.d.ts.map +1 -1
- package/dist/persistence/object-storage/Compression.js +29 -4
- package/dist/persistence/object-storage/Compression.js.map +1 -1
- package/dist/persistence/object-storage/Encryption.js +3 -3
- package/dist/persistence/object-storage/Encryption.js.map +1 -1
- package/dist/persistence/object-storage/FilesystemObjectStorageBackend.d.ts.map +1 -1
- package/dist/persistence/object-storage/FilesystemObjectStorageBackend.js +11 -11
- package/dist/persistence/object-storage/FilesystemObjectStorageBackend.js.map +1 -1
- package/dist/persistence/object-storage/FilesystemObjectStorageOptions.d.ts +6 -0
- package/dist/persistence/object-storage/FilesystemObjectStorageOptions.d.ts.map +1 -1
- package/dist/persistence/object-storage/FilesystemObjectStorageOptions.js +14 -0
- package/dist/persistence/object-storage/FilesystemObjectStorageOptions.js.map +1 -1
- package/dist/persistence/object-storage/Integrity.js +3 -3
- package/dist/persistence/object-storage/Integrity.js.map +1 -1
- package/dist/persistence/object-storage/ObjectStoragePlugin.d.ts +2 -2
- package/dist/persistence/object-storage/ObjectStoragePlugin.d.ts.map +1 -1
- package/dist/persistence/object-storage/ObjectStoragePlugin.js +18 -16
- package/dist/persistence/object-storage/ObjectStoragePlugin.js.map +1 -1
- package/dist/persistence/object-storage/ObjectStoragePluginOptions.d.ts +12 -0
- package/dist/persistence/object-storage/ObjectStoragePluginOptions.d.ts.map +1 -1
- package/dist/persistence/object-storage/ObjectStoragePluginOptions.js +7 -0
- package/dist/persistence/object-storage/ObjectStoragePluginOptions.js.map +1 -1
- package/dist/persistence/object-storage/S3ObjectStorageBackend.d.ts.map +1 -1
- package/dist/persistence/object-storage/S3ObjectStorageBackend.js +24 -26
- package/dist/persistence/object-storage/S3ObjectStorageBackend.js.map +1 -1
- package/dist/persistence/object-storage/S3ObjectStorageOptions.d.ts +6 -0
- package/dist/persistence/object-storage/S3ObjectStorageOptions.d.ts.map +1 -1
- package/dist/persistence/object-storage/S3ObjectStorageOptions.js +16 -0
- package/dist/persistence/object-storage/S3ObjectStorageOptions.js.map +1 -1
- package/dist/persistence/projection/ProjectionActor.d.ts +2 -2
- package/dist/persistence/projection/ProjectionActor.d.ts.map +1 -1
- package/dist/persistence/projection/ProjectionActor.js +11 -11
- package/dist/persistence/projection/ProjectionActor.js.map +1 -1
- package/dist/persistence/projection/ProjectionOptions.d.ts +14 -14
- package/dist/persistence/projection/ProjectionOptions.d.ts.map +1 -1
- package/dist/persistence/projection/ProjectionOptions.js +7 -7
- package/dist/persistence/projection/ProjectionOptions.js.map +1 -1
- package/dist/persistence/query/CassandraQuery.js +11 -11
- package/dist/persistence/query/CassandraQuery.js.map +1 -1
- package/dist/persistence/query/InMemoryQuery.js +12 -12
- package/dist/persistence/query/InMemoryQuery.js.map +1 -1
- package/dist/persistence/query/PersistenceQuery.js +6 -6
- package/dist/persistence/query/PersistenceQuery.js.map +1 -1
- package/dist/persistence/query/SqliteQuery.js +6 -6
- package/dist/persistence/query/SqliteQuery.js.map +1 -1
- package/dist/persistence/replicated/VectorClock.js +13 -13
- package/dist/persistence/replicated/VectorClock.js.map +1 -1
- package/dist/persistence/snapshot-stores/CachedSnapshotStore.d.ts.map +1 -1
- package/dist/persistence/snapshot-stores/CachedSnapshotStore.js +6 -9
- package/dist/persistence/snapshot-stores/CachedSnapshotStore.js.map +1 -1
- package/dist/persistence/snapshot-stores/CachedSnapshotStoreOptions.d.ts +10 -0
- package/dist/persistence/snapshot-stores/CachedSnapshotStoreOptions.d.ts.map +1 -1
- package/dist/persistence/snapshot-stores/CachedSnapshotStoreOptions.js +16 -0
- package/dist/persistence/snapshot-stores/CachedSnapshotStoreOptions.js.map +1 -1
- package/dist/persistence/snapshot-stores/CassandraSnapshotStoreOptions.d.ts +1 -1
- package/dist/persistence/snapshot-stores/CassandraSnapshotStoreOptions.d.ts.map +1 -1
- package/dist/persistence/snapshot-stores/CassandraSnapshotStoreOptions.js +1 -1
- package/dist/persistence/snapshot-stores/CassandraSnapshotStoreOptions.js.map +1 -1
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStore.d.ts +1 -1
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStore.d.ts.map +1 -1
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStore.js +9 -9
- package/dist/persistence/snapshot-stores/MariaDbSnapshotStore.js.map +1 -1
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.d.ts +1 -0
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.d.ts.map +1 -1
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.js +25 -18
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.js.map +1 -1
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStoreOptions.d.ts +22 -0
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStoreOptions.d.ts.map +1 -1
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStoreOptions.js +25 -0
- package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStoreOptions.js.map +1 -1
- package/dist/persistence/snapshot-stores/PostgresSnapshotStore.d.ts +1 -1
- package/dist/persistence/snapshot-stores/PostgresSnapshotStore.d.ts.map +1 -1
- package/dist/persistence/snapshot-stores/PostgresSnapshotStore.js +7 -7
- package/dist/persistence/snapshot-stores/PostgresSnapshotStore.js.map +1 -1
- package/dist/persistence/snapshot-stores/SqliteSnapshotStore.d.ts +1 -1
- package/dist/persistence/snapshot-stores/SqliteSnapshotStore.d.ts.map +1 -1
- package/dist/persistence/snapshot-stores/SqliteSnapshotStore.js +9 -7
- package/dist/persistence/snapshot-stores/SqliteSnapshotStore.js.map +1 -1
- package/dist/persistence/storage/KeyValidator.js +3 -3
- package/dist/persistence/storage/KeyValidator.js.map +1 -1
- package/dist/persistence/storage/SqlIdentifier.d.ts +11 -0
- package/dist/persistence/storage/SqlIdentifier.d.ts.map +1 -0
- package/dist/persistence/storage/SqlIdentifier.js +16 -0
- package/dist/persistence/storage/SqlIdentifier.js.map +1 -0
- package/dist/runtime/detect.d.ts.map +1 -1
- package/dist/runtime/detect.js +7 -7
- package/dist/runtime/detect.js.map +1 -1
- package/dist/runtime/http/BunHonoRunner.d.ts +2 -2
- package/dist/runtime/http/DenoHonoRunner.d.ts +2 -2
- package/dist/runtime/http/HonoServerRunner.d.ts +4 -4
- package/dist/runtime/http/NodeHonoRunner.d.ts +2 -2
- package/dist/runtime/http/NodeHonoRunner.js +2 -2
- package/dist/runtime/http/NodeHonoRunner.js.map +1 -1
- package/dist/runtime/http/index.d.ts +1 -1
- package/dist/runtime/sqlite/BetterSqliteDriver.js.map +1 -1
- package/dist/runtime/sqlite/BunSqliteDriver.js.map +1 -1
- package/dist/runtime/tcp/BunTcpBackend.d.ts +3 -3
- package/dist/runtime/tcp/BunTcpBackend.d.ts.map +1 -1
- package/dist/runtime/tcp/DenoTcpBackend.d.ts +3 -3
- package/dist/runtime/tcp/DenoTcpBackend.d.ts.map +1 -1
- package/dist/runtime/tcp/DenoTcpBackend.js +3 -3
- package/dist/runtime/tcp/DenoTcpBackend.js.map +1 -1
- package/dist/runtime/tcp/NodeTcpBackend.d.ts +3 -3
- package/dist/runtime/tcp/NodeTcpBackend.d.ts.map +1 -1
- package/dist/runtime/tcp/TcpBackend.d.ts +3 -3
- package/dist/runtime/tcp/TcpBackend.d.ts.map +1 -1
- package/dist/runtime/tcp/index.d.ts +1 -1
- package/dist/runtime/tcp/index.d.ts.map +1 -1
- package/dist/runtime/worker/NodeWorkerBackend.js.map +1 -1
- package/dist/runtime/worker/WebWorkerBackend.js +3 -3
- package/dist/runtime/worker/WebWorkerBackend.js.map +1 -1
- package/dist/serialization/CborCodec.d.ts +2 -2
- package/dist/serialization/CborCodec.d.ts.map +1 -1
- package/dist/serialization/CborCodec.js +80 -80
- package/dist/serialization/CborCodec.js.map +1 -1
- package/dist/serialization/JsonSerializer.js +20 -7
- package/dist/serialization/JsonSerializer.js.map +1 -1
- package/dist/serialization/SerializationExtension.d.ts +2 -2
- package/dist/serialization/SerializationExtension.d.ts.map +1 -1
- package/dist/serialization/SerializationExtension.js +3 -3
- package/dist/serialization/SerializationExtension.js.map +1 -1
- package/dist/testkit/ManualScheduler.js +8 -8
- package/dist/testkit/ManualScheduler.js.map +1 -1
- package/dist/testkit/MockCluster.d.ts +2 -9
- package/dist/testkit/MockCluster.d.ts.map +1 -1
- package/dist/testkit/MockCluster.js +56 -30
- package/dist/testkit/MockCluster.js.map +1 -1
- package/dist/testkit/MockClusterOptions.d.ts +32 -0
- package/dist/testkit/MockClusterOptions.d.ts.map +1 -0
- package/dist/testkit/MockClusterOptions.js +23 -0
- package/dist/testkit/MockClusterOptions.js.map +1 -0
- package/dist/testkit/MultiNodeClusterFixture.d.ts +4 -3
- package/dist/testkit/MultiNodeClusterFixture.d.ts.map +1 -1
- package/dist/testkit/MultiNodeClusterFixture.js +3 -3
- package/dist/testkit/MultiNodeClusterFixture.js.map +1 -1
- package/dist/testkit/MultiNodeSpec.d.ts +3 -81
- package/dist/testkit/MultiNodeSpec.d.ts.map +1 -1
- package/dist/testkit/MultiNodeSpec.js +42 -41
- package/dist/testkit/MultiNodeSpec.js.map +1 -1
- package/dist/testkit/MultiNodeSpecOptions.d.ts +57 -0
- package/dist/testkit/MultiNodeSpecOptions.d.ts.map +1 -0
- package/dist/testkit/MultiNodeSpecOptions.js +43 -0
- package/dist/testkit/MultiNodeSpecOptions.js.map +1 -0
- package/dist/testkit/ParallelMultiNodeSpec.d.ts +3 -72
- package/dist/testkit/ParallelMultiNodeSpec.d.ts.map +1 -1
- package/dist/testkit/ParallelMultiNodeSpec.js +34 -33
- package/dist/testkit/ParallelMultiNodeSpec.js.map +1 -1
- package/dist/testkit/ParallelMultiNodeSpecOptions.d.ts +58 -0
- package/dist/testkit/ParallelMultiNodeSpecOptions.d.ts.map +1 -0
- package/dist/testkit/ParallelMultiNodeSpecOptions.js +51 -0
- package/dist/testkit/ParallelMultiNodeSpecOptions.js.map +1 -0
- package/dist/testkit/SnapshotMigrationTest.js +4 -4
- package/dist/testkit/SnapshotMigrationTest.js.map +1 -1
- package/dist/testkit/TestKit.d.ts +1 -1
- package/dist/testkit/TestKit.js +6 -6
- package/dist/testkit/TestKit.js.map +1 -1
- package/dist/testkit/TestKitOptions.d.ts +1 -1
- package/dist/testkit/TestKitOptions.d.ts.map +1 -1
- package/dist/testkit/TestProbe.d.ts +3 -3
- package/dist/testkit/TestProbe.d.ts.map +1 -1
- package/dist/testkit/TestProbe.js +21 -19
- package/dist/testkit/TestProbe.js.map +1 -1
- package/dist/testkit/TestProbeOptions.d.ts +7 -1
- package/dist/testkit/TestProbeOptions.d.ts.map +1 -1
- package/dist/testkit/TestProbeOptions.js +10 -0
- package/dist/testkit/TestProbeOptions.js.map +1 -1
- package/dist/testkit/index.d.ts +7 -4
- package/dist/testkit/index.d.ts.map +1 -1
- package/dist/testkit/index.js +4 -1
- package/dist/testkit/index.js.map +1 -1
- package/dist/testkit/internal/MultiNodeBroker.js +3 -3
- package/dist/testkit/internal/MultiNodeBroker.js.map +1 -1
- package/dist/testkit/internal/MultiNodeTransport.js +2 -2
- package/dist/testkit/internal/MultiNodeTransport.js.map +1 -1
- package/dist/testkit/internal/parallel-multi-node-bootstrap.js +5 -5
- package/dist/testkit/internal/parallel-multi-node-bootstrap.js.map +1 -1
- package/dist/tracing/OtelAdapterOptions.d.ts +1 -1
- package/dist/tracing/OtelAdapterOptions.d.ts.map +1 -1
- package/dist/tracing/OtelLogsAdapter.js +4 -4
- package/dist/tracing/OtelLogsAdapter.js.map +1 -1
- package/dist/tracing/Tracer.js +2 -2
- package/dist/tracing/Tracer.js.map +1 -1
- package/dist/typed/TypedActor.d.ts.map +1 -1
- package/dist/typed/TypedActor.js +6 -6
- package/dist/typed/TypedActor.js.map +1 -1
- package/dist/util/Constants.d.ts +1 -1
- package/dist/util/Constants.js +1 -1
- package/dist/util/Either.js +4 -4
- package/dist/util/Either.js.map +1 -1
- package/dist/util/OptionsBuilder.d.ts +6 -6
- package/dist/util/OptionsBuilder.js +6 -6
- package/dist/util/OptionsValidator.d.ts +114 -0
- package/dist/util/OptionsValidator.d.ts.map +1 -0
- package/dist/util/OptionsValidator.js +204 -0
- package/dist/util/OptionsValidator.js.map +1 -0
- package/dist/util/Try.js +4 -4
- package/dist/util/Try.js.map +1 -1
- package/dist/worker/WorkerCluster.d.ts +1 -1
- package/dist/worker/WorkerCluster.d.ts.map +1 -1
- package/dist/worker/WorkerCluster.js +32 -30
- package/dist/worker/WorkerCluster.js.map +1 -1
- package/dist/worker/WorkerClusterOptions.d.ts +7 -1
- package/dist/worker/WorkerClusterOptions.d.ts.map +1 -1
- package/dist/worker/WorkerClusterOptions.js +15 -0
- package/dist/worker/WorkerClusterOptions.js.map +1 -1
- package/dist/worker/WorkerNode.js +5 -5
- package/dist/worker/WorkerNode.js.map +1 -1
- package/dist/worker/index.d.ts +1 -1
- package/dist/worker/index.d.ts.map +1 -1
- package/dist/worker/index.js +1 -1
- package/dist/worker/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/http/ws/ConnectionWiring.d.ts.map +0 -1
- package/dist/http/ws/ConnectionWiring.js.map +0 -1
- package/dist/http/ws/SocketAdapter.d.ts.map +0 -1
- package/dist/http/ws/SocketAdapter.js.map +0 -1
- package/dist/http/ws/WebSocketClientActor.d.ts.map +0 -1
- package/dist/http/ws/WebSocketClientActor.js.map +0 -1
- package/dist/http/ws/WebSocketClientOptions.d.ts.map +0 -1
- package/dist/http/ws/WebSocketClientOptions.js.map +0 -1
- package/dist/http/ws/WebSocketConnectionActor.d.ts.map +0 -1
- package/dist/http/ws/WebSocketConnectionActor.js.map +0 -1
- package/dist/http/ws/WebSocketRoute.d.ts.map +0 -1
- package/dist/http/ws/WebSocketRoute.js +0 -44
- package/dist/http/ws/WebSocketRoute.js.map +0 -1
- package/dist/http/ws/WebSocketRouteOptions.d.ts +0 -54
- package/dist/http/ws/WebSocketRouteOptions.d.ts.map +0 -1
- package/dist/http/ws/WebSocketRouteOptions.js +0 -55
- package/dist/http/ws/WebSocketRouteOptions.js.map +0 -1
- package/dist/http/ws/WebSocketServerActor.d.ts.map +0 -1
- package/dist/http/ws/WebSocketServerActor.js.map +0 -1
- package/dist/http/ws/WsCodec.d.ts.map +0 -1
- package/dist/http/ws/WsCodec.js.map +0 -1
- package/dist/http/ws/WsConnection.d.ts.map +0 -1
- package/dist/http/ws/WsConnection.js.map +0 -1
- package/dist/http/ws/WsMessages.d.ts +0 -91
- package/dist/http/ws/WsMessages.d.ts.map +0 -1
- package/dist/http/ws/WsMessages.js +0 -90
- package/dist/http/ws/WsMessages.js.map +0 -1
- package/dist/http/ws/WsPolicy.d.ts.map +0 -1
- package/dist/http/ws/WsPolicy.js +0 -43
- package/dist/http/ws/WsPolicy.js.map +0 -1
- package/dist/http/ws/index.d.ts +0 -22
- package/dist/http/ws/index.d.ts.map +0 -1
- package/dist/http/ws/index.js +0 -15
- package/dist/http/ws/index.js.map +0 -1
- package/dist/http/ws/matchPattern.d.ts.map +0 -1
- package/dist/http/ws/matchPattern.js +0 -29
- package/dist/http/ws/matchPattern.js.map +0 -1
- package/dist/http/ws/rawResponse.d.ts.map +0 -1
- package/dist/http/ws/rawResponse.js.map +0 -1
- package/dist/http/ws/types.d.ts.map +0 -1
- package/dist/http/ws/types.js.map +0 -1
- package/dist/http/ws/wsCtor.d.ts.map +0 -1
- package/dist/http/ws/wsCtor.js.map +0 -1
- package/dist/io/broker/BrokerSettings.d.ts +0 -72
- package/dist/io/broker/BrokerSettings.d.ts.map +0 -1
- package/dist/io/broker/BrokerSettings.js +0 -73
- package/dist/io/broker/BrokerSettings.js.map +0 -1
- /package/dist/http/{ws → websocket}/rawResponse.d.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,7 +7,327 @@ This is a pre-1.0 hobby project — every minor version is potentially
|
|
|
7
7
|
breaking. See `ROADMAP.md` for what's coming, and `README.md` →
|
|
8
8
|
"What's in here / What isn't" for current scope honesty.
|
|
9
9
|
|
|
10
|
-
## [
|
|
10
|
+
## [0.11.0] — 2026-07-15
|
|
11
|
+
|
|
12
|
+
### Changed — Naming conventions: no abbreviations, unified vocabulary
|
|
13
|
+
|
|
14
|
+
Repo-wide naming sweep for consistency. Pre-1.0, so these are hard
|
|
15
|
+
renames with no deprecation shims. All are mechanical — same behavior,
|
|
16
|
+
new names.
|
|
17
|
+
|
|
18
|
+
- **BREAKING — WebSocket → `Websocket` (single-cap), no `Ws` abbreviation.**
|
|
19
|
+
Every identifier and file/dir uses the `Websocket` spelling:
|
|
20
|
+
`WebSocketServerActor`/`WebSocketClientActor` → `WebsocketServerActor`/
|
|
21
|
+
`WebsocketClientActor`; the `Ws*` supporting types (`WsConnection`,
|
|
22
|
+
`WsCodec`, `WsFrame`, `WsServerMessage`, …) → `Websocket*`; `wsSend()` →
|
|
23
|
+
`websocketSend()`; `DEFAULT_WS_MAX_FRAME_BYTES` →
|
|
24
|
+
`DEFAULT_WEBSOCKET_MAX_FRAME_BYTES`; the module moved
|
|
25
|
+
`src/http/ws/` → `src/http/websocket/`. The `websocket()` routing
|
|
26
|
+
directive, the global `WebSocket`, the `ws` package's `WebSocketServer`,
|
|
27
|
+
and the `Sec-WebSocket-Protocol` header are unchanged.
|
|
28
|
+
*Migration:* replace `Ws`/`WebSocket` identifier prefixes with
|
|
29
|
+
`Websocket`; `wsSend` → `websocketSend`.
|
|
30
|
+
- **BREAKING — abbreviations spelled out** in type/member names: `*Cmd` →
|
|
31
|
+
`*Command`, `*Msg` → `*Message`, `*Ack` → `*Acknowledgment`, `ByPid*` →
|
|
32
|
+
`ByPersistenceId*`, `*Impl` → `*Implementation`, `*Ctor` → `*Constructor`.
|
|
33
|
+
Wire/discriminator string literals are unchanged.
|
|
34
|
+
*Migration:* e.g. `MqttCmd` → `MqttCommand`, `EnvelopeMsg` →
|
|
35
|
+
`EnvelopeMessage`, `SubscribeAck` → `SubscribeAcknowledgment`.
|
|
36
|
+
- **BREAKING — testkit assertions spelled out too:** `TestProbe.expectMsg()`
|
|
37
|
+
→ `expectMessage()`, `TestProbe.expectMsgType()` → `expectMessageType()` —
|
|
38
|
+
the last `Msg` holdouts, now consistent with `expectNoMessage()`.
|
|
39
|
+
*Migration:* rename the calls; signatures and behavior are unchanged.
|
|
40
|
+
- **BREAKING — one config vocabulary: `Options`, never `Settings`.**
|
|
41
|
+
Remaining `*Settings` types → `*OptionsType` (`CircuitBreakerSettings`,
|
|
42
|
+
`TlsTransportSettings`, `Bounded/PriorityMailboxSettings`,
|
|
43
|
+
`ManagementRoutesSettings`, `ConsumerControllerSettings`,
|
|
44
|
+
`KeepMajoritySettings`, the testkit specs); `BrokerSettings.ts` folded
|
|
45
|
+
into `BrokerOptions.ts` (`BrokerSettingsError` → `BrokerOptionsError`);
|
|
46
|
+
the `BrokerActor` glue `readSettingsFromConfig`/`requiredSettings`/
|
|
47
|
+
`builtInDefaults`/`settings` → `readOptionsFromConfig`/`requiredOptions`/
|
|
48
|
+
`builtInDefaultOptions`/`options`; `default{FailureDetector,PhiAccrual}Settings`
|
|
49
|
+
→ `default*Options`. New dedicated `ConsumerControllerOptions` +
|
|
50
|
+
`KeepMajorityOptions` files with builders.
|
|
51
|
+
- **BREAKING — Command vs Signal unified on `kind`.** MQTT and WebSocket
|
|
52
|
+
internal mailbox signals are now `kind`-tagged plain objects (dispatched
|
|
53
|
+
by `kind`, like the typed-actor `Signal`), not `instanceof`-dispatched
|
|
54
|
+
classes; the bad-payload hook is `onInvalidMessage` everywhere (MQTT's
|
|
55
|
+
`onDecodeError` is gone); `WebSocketAcceptSignal` → `WebsocketAcceptCommand`
|
|
56
|
+
and `WebsocketClientSend` is a command, both lifted out of the `*Signal`
|
|
57
|
+
unions.
|
|
58
|
+
*Migration:* override `onInvalidMessage` instead of `onDecodeError`;
|
|
59
|
+
construct outbound sends via `websocketSend(msg)` (unchanged).
|
|
60
|
+
### Added — Options validation
|
|
61
|
+
|
|
62
|
+
- **`OptionsValidator` + `OptionsError`** (#274) — a declarative-but-code
|
|
63
|
+
validator layer for the `XOptions` pattern. Each options file with
|
|
64
|
+
constrained fields exports an `XOptionsValidator` (`extends
|
|
65
|
+
OptionsValidator<XOptionsType>`, brokers via `BrokerOptionsValidator`) whose
|
|
66
|
+
`rules(s)` uses typo-checked, no-op-on-`undefined` helpers (`port`,
|
|
67
|
+
`positiveNumber`, `positiveInt`, `nonNegativeInt`, `oneOf`, `nonEmptyString`,
|
|
68
|
+
`url`, …) plus `fail(field, reason, value)` for cross-field rules. Validation
|
|
69
|
+
runs **once at consume time on the merged settings**, so builder, plain-object,
|
|
70
|
+
and HOCON inputs are all checked and cross-field rules see the final values —
|
|
71
|
+
broker actors via the `optionsValidator()` hook (in `preStart`, after the
|
|
72
|
+
required-field check), non-broker consumers via one
|
|
73
|
+
`new XOptionsValidator().validate(settings)` call in their constructor.
|
|
74
|
+
- **Validators shipped for**: every broker (MQTT, Kafka, AMQP, Redis Streams,
|
|
75
|
+
NATS, JetStream, SSE, TCP, UDP, gRPC client) and the WebSocket client; the
|
|
76
|
+
cluster core (`Cluster`, `ClusterBootstrap`, `FailureDetector`, `PhiAccrual`,
|
|
77
|
+
`ClusterClient`, `ClusterClientReceptionist`, `StaticQuorum`, `KeepReferee`,
|
|
78
|
+
`LeaseMajority`, `ClusterRouter`), sharding (`Sharding`, `StartSharding`,
|
|
79
|
+
`ShardedDaemonProcess`) and singleton (`StartSingleton`); discovery
|
|
80
|
+
(`AutoDiscovery`, `ConfigSeedProvider`, `DnsSeedProvider`,
|
|
81
|
+
`KubernetesApiSeedProvider`, `Receptionist`) and gossip intervals
|
|
82
|
+
(`DistributedPubSub`, `DistributedData`); leases (`Lease`, `KubernetesLease`);
|
|
83
|
+
caches (`RedisCache`, `MemcachedCache`, `CachedSnapshotStore`); the
|
|
84
|
+
`CassandraJournal` and S3 / filesystem object-storage backends; the
|
|
85
|
+
Express/Hono HTTP backends; `WorkerCluster`; delivery `ProducerController`;
|
|
86
|
+
and `TestProbe`. Options whose fields carry no real constraint
|
|
87
|
+
(all-boolean/string/callback, or degrade-gracefully knobs like snapshot
|
|
88
|
+
`keepN` where `<= 0` means "keep all") intentionally get no validator.
|
|
89
|
+
|
|
90
|
+
### Changed — Options validation
|
|
91
|
+
|
|
92
|
+
- **BREAKING** (#274) — invalid **option values** now throw `OptionsError` at
|
|
93
|
+
construction / actor start instead of a bare `Error` (or, previously, going
|
|
94
|
+
unchecked on the builder/plain-object path). Notably MQTT `protocolVersion`
|
|
95
|
+
outside `{4, 5}` now throws `OptionsError` on **all** input paths (previously
|
|
96
|
+
only the HOCON path threw, as a bare `Error`). *Migration:* catch
|
|
97
|
+
`OptionsError` (exported from the package root) where you previously matched
|
|
98
|
+
the ad-hoc `Error` message. Missing **required** broker settings still throw
|
|
99
|
+
`BrokerOptionsError`; malformed HOCON still throws `ConfigError`.
|
|
100
|
+
- **BREAKING — `InMemoryCache` joins the `XOptions` family.** It now takes an
|
|
101
|
+
`InMemoryCacheOptions` builder (or plain object) with `withMaxEntries` /
|
|
102
|
+
`withCleanupMs`, validates via `InMemoryCacheOptionsValidator` (out-of-range
|
|
103
|
+
values throw `OptionsError` instead of a bare `Error`, and `cleanupMs` — a
|
|
104
|
+
negative / `NaN` sweep interval — is now checked too), and reads its defaults
|
|
105
|
+
from HOCON `actor-ts.cache.in-memory.{maxEntries, cleanupMs}` via the
|
|
106
|
+
`CacheExtension` (previously the bounds were unreachable through the
|
|
107
|
+
extension). The internal `InMemoryCacheSettings` interface is **removed** —
|
|
108
|
+
use `InMemoryCacheOptionsType` (both `InMemoryCacheOptions` and the type are
|
|
109
|
+
now exported from the package root). *Migration:* a plain
|
|
110
|
+
`{ maxEntries, cleanupMs }` object still works unchanged; only the type name
|
|
111
|
+
changed.
|
|
112
|
+
- **WebSocket route / policy options are now validated.** The resolved
|
|
113
|
+
per-connection policy (`maxFrameBytes`, `maxBufferedBytes`, `maxConnections`,
|
|
114
|
+
and the `onOversizeFrame` / `onInvalidMessage` / `onBackpressure` enums) is
|
|
115
|
+
checked on every path — route options, HOCON `actor-ts.http.websocket`, and
|
|
116
|
+
defaults — via `WebsocketPolicyOptionsValidator`, and `allowedOrigins` via
|
|
117
|
+
`WebsocketRouteOptionsValidator`. Bad values throw `OptionsError` (the enum
|
|
118
|
+
guard previously threw a bare `Error`, and only on the HOCON path; the
|
|
119
|
+
numeric knobs — e.g. `maxConnections: 0`, which silently admitted nobody —
|
|
120
|
+
were unchecked). The reference config now ships an `actor-ts.http.websocket`
|
|
121
|
+
section documenting the defaults.
|
|
122
|
+
- **The object-storage decompression cap is now a store option.** The 512 MiB
|
|
123
|
+
decompression-bomb guard (#3) was pinned to its default because the stores
|
|
124
|
+
called `decodeBody` without a cap. `withMaxDecompressedBytes` is now on
|
|
125
|
+
`ObjectStorageSnapshotStoreOptions`, `ObjectStorageDurableStateStoreOptions`,
|
|
126
|
+
and `ObjectStoragePluginOptions` (validated at construction — a non-positive
|
|
127
|
+
/ non-integer cap throws `OptionsError`, `Infinity` opts out), and both
|
|
128
|
+
stores forward it into `decodeBody`. Raise it to restore a legitimately
|
|
129
|
+
large snapshot / state blob, or lower it for a tighter bound.
|
|
130
|
+
- **HTTP middleware + directives now validate their options.** Added
|
|
131
|
+
`OptionsValidator`s for `TimeoutOptions` (`ms`), `HstsOptions` (`maxAge` plus
|
|
132
|
+
the preload cross-field), `CorsOptions` (`maxAge` plus credentials-vs-`*`),
|
|
133
|
+
`CsrfOptions` (present-secret length, cookie `sameSite` / `maxAgeSeconds`),
|
|
134
|
+
and `StaticFilesOptions` (`maxFileSize`, `dotfiles` / `symlinks` enums); the
|
|
135
|
+
ad-hoc bare-`Error` validity checks in the consumers now throw `OptionsError`
|
|
136
|
+
(required-field guards stay as-is). `rateLimit` and `idempotent` also gained
|
|
137
|
+
the real `RateLimitOptions` / `IdempotencyOptions` fluent builders they were
|
|
138
|
+
already documented to have, each with a validator (`windowMs`/`max`,
|
|
139
|
+
`ttlMs`/`missingHeader`); the plain-object call form is unchanged.
|
|
140
|
+
- **`CircuitBreaker` and `BoundedMailbox` now validate their options too** —
|
|
141
|
+
the last exported options types with real numeric constraints join the
|
|
142
|
+
validator family. `CircuitBreakerOptionsValidator` checks `maxFailures`
|
|
143
|
+
(integer >= 1), `resetTimeoutMs` (finite >= 0), and the previously-unchecked
|
|
144
|
+
`callTimeoutMs` (> 0 — omit it to disable the per-call timeout; `0`, which
|
|
145
|
+
previously meant "no timeout" silently, now throws), and requires
|
|
146
|
+
`maxFailures`/`resetTimeoutMs` at runtime (a builder without them previously
|
|
147
|
+
produced a breaker that silently never opened).
|
|
148
|
+
`BoundedMailboxOptionsValidator` checks `capacity` (integer >= 1, and now
|
|
149
|
+
required — previously a missing `capacity` made the "bounded" mailbox
|
|
150
|
+
silently unbounded) and the previously-unchecked `overflow` enum. The old
|
|
151
|
+
ad-hoc bare-`Error` guards now throw `OptionsError`.
|
|
152
|
+
|
|
153
|
+
### Added — HTTP hardening
|
|
154
|
+
|
|
155
|
+
- **Scoped error handling + fallback routes** (#352) — `handleErrors(handler,
|
|
156
|
+
child)` catches exceptions from a subtree (akka-http `ExceptionHandler`
|
|
157
|
+
style; sees the original error, returns a response or `null` to decline);
|
|
158
|
+
`fallback(handler)` answers any unmatched request via each backend's
|
|
159
|
+
not-found hook; `ServerBuilder.withErrorHandler(...)` is the server-wide
|
|
160
|
+
last resort. Precedence, uniform across Fastify/Express/Hono: innermost
|
|
161
|
+
`handleErrors` → `withErrorHandler` → framework default.
|
|
162
|
+
- **HTML response utilities** (#352) — `escapeHtml`, an auto-escaping `html`
|
|
163
|
+
tagged template with a `SafeHtml` brand, `rawHtml` escape hatch, and
|
|
164
|
+
`completeHtml` (`text/html` + `nosniff`).
|
|
165
|
+
- **Security-middleware suite** (#353) — `cors` (a route directive that the
|
|
166
|
+
compiler expands into per-pattern preflight `OPTIONS` routes),
|
|
167
|
+
`strictTransportSecurity` / `hsts`, `contentSecurityPolicy`,
|
|
168
|
+
`csrfProtection` + `requireSameOrigin`, `securityHeaders`, `requestId`,
|
|
169
|
+
`BasicAuth`, and `requestTimeout` — each with an `XOptions` builder. Plus
|
|
170
|
+
public `parseCookies` / `serializeCookie` helpers.
|
|
171
|
+
- **Static file serving** (#354) — `getFromFile`, `getFromDirectory`, and
|
|
172
|
+
`getFromBrowseableDirectory`: MIME detection, index resolution, conditional
|
|
173
|
+
requests (weak ETag + `Last-Modified` → 304), single `Range` (206/416),
|
|
174
|
+
HEAD, trailing-slash redirects, and XSS-safe directory listings.
|
|
175
|
+
- **MIME-type registry** (#354) — `contentTypeFor(pathOrExt, overrides?)` and
|
|
176
|
+
`DEFAULT_MIME_TYPES`.
|
|
177
|
+
- **Streaming response bodies** (#354) — `HttpResponse.body` now accepts a web
|
|
178
|
+
`ReadableStream<Uint8Array>`, written natively by all three backends.
|
|
179
|
+
|
|
180
|
+
### Changed — HTTP hardening
|
|
181
|
+
|
|
182
|
+
- **`Middleware` `next()` accepts an optional request override** (#353) —
|
|
183
|
+
`next(req?)` lets a middleware enrich what the handler sees (request-id,
|
|
184
|
+
CSRF token). Backward compatible.
|
|
185
|
+
- **HonoBackend now answers `HEAD` on `GET` routes** (#354), matching
|
|
186
|
+
Fastify/Express; a route pattern ending in `/*` exposes the remainder as
|
|
187
|
+
`req.params['*']` on every backend.
|
|
188
|
+
- **BREAKING:** the `Route` / `CompiledEndpoint` unions gain `fallback` and
|
|
189
|
+
`cors` variants — an exhaustive `match` over `Route` must handle them
|
|
190
|
+
(#352, #353).
|
|
191
|
+
- **BREAKING:** `ServerBuilder` gains a required `withErrorHandler` method —
|
|
192
|
+
structural third-party implementers must add it (#352).
|
|
193
|
+
- **BREAKING:** `HttpError`'s constructor gains an optional 4th `headers`
|
|
194
|
+
parameter (after `extra`); `BearerTokenAuth` 401s now expose the challenge
|
|
195
|
+
on `err.headers['www-authenticate']`, no longer `err.extra.wwwAuthenticate`
|
|
196
|
+
(#352).
|
|
197
|
+
|
|
198
|
+
### Security
|
|
199
|
+
|
|
200
|
+
- **CORS, CSRF, and security-header middleware** (#353) — origin allowlisting
|
|
201
|
+
with correct preflight handling, an HMAC-signed double-submit CSRF token
|
|
202
|
+
(plus an Origin/Referer check), and HSTS / CSP / COOP / CORP / nosniff /
|
|
203
|
+
frame-options; secret comparisons are constant-time.
|
|
204
|
+
- **`WWW-Authenticate` reaches the wire** (#353) — `BearerTokenAuth` (and the
|
|
205
|
+
new `BasicAuth`) 401s emit a real challenge header instead of burying it in
|
|
206
|
+
the body.
|
|
207
|
+
- **Hardened path-traversal defence for static files** (#354) — the URL
|
|
208
|
+
remainder is fully decoded before validation, every segment is rejected if
|
|
209
|
+
it is `..`, empty, NUL, a backslash, or a `:` (drive/ADS) segment, absolute
|
|
210
|
+
forms are refused, the joined path is confined to the root, symlink escapes
|
|
211
|
+
are refused, and dotfiles are denied — every rejection a uniform 404.
|
|
212
|
+
|
|
213
|
+
- **WS-1 (HIGH) — WebSocket upgrade crash hardened**.
|
|
214
|
+
A malformed percent-escape in the upgrade path (e.g. `GET /room/%ZZ` against a
|
|
215
|
+
`websocket('/room/:id', …)` route) made `decodeURIComponent` throw inside the
|
|
216
|
+
Express backend's fire-and-forget upgrade handler, surfacing as an *unhandled
|
|
217
|
+
rejection* — process-fatal under Node's default and reachable **pre-auth** by
|
|
218
|
+
an unauthenticated client. `matchWebsocketPattern` now treats a malformed escape as
|
|
219
|
+
a non-match (→ 404), and the Express upgrade handler attaches its socket
|
|
220
|
+
error-guard before any async work and wraps the handler in a last-resort
|
|
221
|
+
`.catch` that closes the socket. Fastify/Hono were not affected.
|
|
222
|
+
- **WS-2 (HIGH) — Cross-Site WebSocket Hijacking (CSWSH) defence**. No upgrade handler validated the `Origin` header, so a
|
|
223
|
+
malicious web page could open an authenticated WebSocket riding a victim
|
|
224
|
+
browser's ambient cookie/IP auth. New **`allowedOrigins`** option on
|
|
225
|
+
`websocket()` routes (`.withAllowedOrigins([...])` on the builder): an upgrade
|
|
226
|
+
whose `Origin` is present but not listed is rejected with 403 before the
|
|
227
|
+
handshake on all three backends; a missing `Origin` (non-browser client) is
|
|
228
|
+
allowed. Bearer-token auth was already resistant (browsers can't set
|
|
229
|
+
`Authorization` on a WS handshake).
|
|
230
|
+
- **HTTP-1 (MEDIUM-HIGH) — Hono body-size cap enforced before buffering**. The Hono backend read the whole request body via
|
|
231
|
+
`arrayBuffer()` and only then compared it against `maxBodyBytes`, so the cap
|
|
232
|
+
was cosmetic — the real ceiling was the runtime's native default (128 MiB on
|
|
233
|
+
Bun, effectively unbounded on Node via `@hono/node-server`). It now rejects
|
|
234
|
+
an oversized `Content-Length` with 413 *before* buffering; the post-buffer
|
|
235
|
+
check remains a backstop for chunked bodies that omit Content-Length.
|
|
236
|
+
Express (streaming cap) and Fastify (framework default) were unaffected.
|
|
237
|
+
- **HTTP-2 (MEDIUM-HIGH) — `InMemoryCache` is now bounded (LRU)**. The default in-process cache was an unbounded `Map`
|
|
238
|
+
with lazy expiry only, so a flood of distinct attacker-chosen keys
|
|
239
|
+
(`Idempotency-Key`; rate-limit keys — idempotency additionally stores the
|
|
240
|
+
full response body for 24 h) grew it without limit → RAM exhaustion. It now
|
|
241
|
+
accepts `{ maxEntries?, cleanupMs? }` (defaults `10_000` / `60_000`): a new
|
|
242
|
+
key beyond the cap evicts the least-recently-used entry, and a background
|
|
243
|
+
sweep reclaims expired entries. *Behaviour change:* the default
|
|
244
|
+
is now bounded — pass `maxEntries: Infinity` for the previous unbounded
|
|
245
|
+
behaviour (documented OOM risk). Options / validation / HOCON plumbing for
|
|
246
|
+
these fields landed as the `InMemoryCacheOptions` follow-up (see *Changed —
|
|
247
|
+
Options validation*).
|
|
248
|
+
- **WS-6 (LOW) — CRLF stripped from raw upgrade-reject headers**. `writeRawHttpResponse` (the Express pre-handshake
|
|
249
|
+
reject path) wrote app-supplied header names/values verbatim onto the raw
|
|
250
|
+
socket, so an `authorize` guard echoing attacker-influenced data into a
|
|
251
|
+
header could split the response. CR/LF are now stripped from header names
|
|
252
|
+
and values.
|
|
253
|
+
- **#9 (hardening) — JSON deserialization ignores the `__proto__` setter**
|
|
254
|
+
. `JsonSerializer` and the cluster ref decoder
|
|
255
|
+
now define a decoded `"__proto__"` key as an own data property instead of
|
|
256
|
+
assigning through the prototype setter, so a hostile payload can't change
|
|
257
|
+
the decoded object's prototype.
|
|
258
|
+
- **BRK-1 / BRK-2 (MEDIUM) — inbound buffer caps for TCP `lines` + SSE**. A hostile / MITM'd upstream could stream bytes with no
|
|
259
|
+
frame delimiter, growing the inbound buffer without bound. The TCP `lines`
|
|
260
|
+
framer now rejects an un-terminated remainder that already exceeds
|
|
261
|
+
`maxLineLen` (matching the existing terminated-line check), and the SSE
|
|
262
|
+
client caps its pending event buffer at 1 MiB — both drop the connection
|
|
263
|
+
instead of buffering forever. (`length-prefixed` TCP framing was already
|
|
264
|
+
bounded.)
|
|
265
|
+
- **#6 (LOW) — consistent SQL/CQL identifier validation**. Postgres/MariaDB already validated table identifiers,
|
|
266
|
+
but SQLite (journal + snapshot store) and Cassandra (keyspace + table names,
|
|
267
|
+
interpolated into CQL) did not. A shared `assertSafeIdentifier`
|
|
268
|
+
(`/^[A-Za-z_][A-Za-z0-9_]*$/`) is now applied across all four, so a
|
|
269
|
+
config-sourced identifier can't inject SQL/CQL. Data values were, and
|
|
270
|
+
remain, bound parameters.
|
|
271
|
+
- **HTTP-3 (docs) — rate-limit examples key on the socket peer, not
|
|
272
|
+
`x-forwarded-for`**. The shipped `rateLimit`
|
|
273
|
+
examples taught keying on the client-settable `x-forwarded-for` header, which
|
|
274
|
+
an attacker rotates per request to bypass the limit (and which collapses all
|
|
275
|
+
header-less clients into one shared bucket). The JSDoc and the bilingual
|
|
276
|
+
docs now use `req.remoteAddress` and state the trusted-proxy caveat. No
|
|
277
|
+
behaviour change — `key` was always caller-supplied.
|
|
278
|
+
- **#3 (MEDIUM) — decompression-bomb cap on stored bodies**. Reading a snapshot / durable-state / object body
|
|
279
|
+
decompressed it with no output bound, so a tampered or hostile compressed
|
|
280
|
+
blob (a few KB expanding to many GB) could OOM the process on recovery.
|
|
281
|
+
`decodeBody` now caps the decompressed size at **512 MiB** by default
|
|
282
|
+
(`DecodeOptions.maxOutputBytes`; `Infinity` opts out): gzip enforces it at
|
|
283
|
+
allocation time via zlib's `maxOutputLength`, and every path asserts the
|
|
284
|
+
decoded size as a portable backstop.
|
|
285
|
+
- **HTTP-4 (MEDIUM) — idempotency responses can be scoped per caller**. The idempotency cache keyed only on the
|
|
286
|
+
`Idempotency-Key` header plus a method/path/body fingerprint, so two callers
|
|
287
|
+
reusing the same key for the same request shape shared one cached response —
|
|
288
|
+
a cross-user disclosure when the response is identity-specific (e.g. carries
|
|
289
|
+
`Set-Cookie` or the first caller's data). New opt-in `identity: (req) =>
|
|
290
|
+
string` folds the authenticated principal into the cache key so responses are
|
|
291
|
+
partitioned per caller. (Same-key-different-body poisoning was already
|
|
292
|
+
rejected with 422.)
|
|
293
|
+
- **WS-4 (MEDIUM) — WebSocket backpressure works on the Hono backend**. The Hono socket adapter didn't implement
|
|
294
|
+
`bufferedAmount`, so the connection actor's `maxBufferedBytes` /
|
|
295
|
+
`onBackpressure` guard was a no-op on Hono — a slow / idle-reading client
|
|
296
|
+
could grow the outbound send buffer without bound (OOM). The adapter now
|
|
297
|
+
surfaces the send-buffer depth from the native socket (Bun
|
|
298
|
+
`getBufferedAmount()`, Node/Deno numeric `.bufferedAmount`).
|
|
299
|
+
- **WS-3 (MEDIUM) — cap the WebSocket transport frame size (Express + Fastify)**
|
|
300
|
+
. The `ws`-backed backends left the transport at the
|
|
301
|
+
`ws` default `maxPayload` (100 MiB), so an oversized frame was buffered in
|
|
302
|
+
full before the app-level `maxFrameBytes` (1 MiB default) rejected it —
|
|
303
|
+
allocation-amplification DoS. Both now pass `maxPayload:
|
|
304
|
+
DEFAULT_WEBSOCKET_MAX_FRAME_BYTES` (1 MiB), so an oversized frame is rejected at the
|
|
305
|
+
protocol level. *Caveat:* on these backends a route that raises
|
|
306
|
+
`maxFrameBytes` above the default is currently still capped at the default by
|
|
307
|
+
the transport; a per-route / configurable transport cap and the Hono
|
|
308
|
+
runner-level cap are tracked follow-ups.
|
|
309
|
+
- **WS-5 (MEDIUM, partial) — per-route WebSocket connection admission cap**
|
|
310
|
+
. New opt-in `maxConnections` on `websocket()`
|
|
311
|
+
routes (`.withMaxConnections(n)`, or `actor-ts.http.websocket.maxConnections`
|
|
312
|
+
in HOCON): a new upgrade beyond the cap is closed with 1013 in the shared
|
|
313
|
+
wiring layer before an actor is wired for it, and the live count decrements
|
|
314
|
+
when a connection closes. Default: unlimited (behaviour unchanged). The
|
|
315
|
+
other WS-5 sub-parts — a handshake/idle timeout and hub-mailbox bounding —
|
|
316
|
+
remain tracked follow-ups.
|
|
317
|
+
|
|
318
|
+
### Documentation
|
|
319
|
+
|
|
320
|
+
- Moved the Server-WebSocket page from the IO section into the HTTP section
|
|
321
|
+
(#351).
|
|
322
|
+
- Reconciled stale API-reference pages with the shipped code (#360): rewrote the
|
|
323
|
+
persistence adapter & migration pages and the OTel **tracing** adapter page to
|
|
324
|
+
the function-based APIs, rewrote the management & health-check and cache &
|
|
325
|
+
durable-data pages to their real APIs, and removed the page for the
|
|
326
|
+
never-shipped OTel *metrics* adapter.
|
|
327
|
+
- Repointed stale `*Settings` type names in prose to the `*OptionsType`
|
|
328
|
+
vocabulary (#349).
|
|
329
|
+
- Fixed broken code samples that declared a `const` inside a call's object
|
|
330
|
+
literal (#359).
|
|
11
331
|
|
|
12
332
|
## [0.10.0] — 2026-07-08
|
|
13
333
|
|
package/README.md
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<p align="center">
|
|
6
6
|
<a href="https://github.com/pathosDev/actor-ts/actions/workflows/build.yml"><img alt="build workflow" src="https://github.com/pathosDev/actor-ts/actions/workflows/build.yml/badge.svg?branch=main"/></a>
|
|
7
7
|
<a href="https://github.com/pathosDev/actor-ts/actions/workflows/test.yml"><img alt="tests workflow" src="https://github.com/pathosDev/actor-ts/actions/workflows/test.yml/badge.svg?branch=main"/></a>
|
|
8
|
-
<a href="#"><img alt="tests" src="https://img.shields.io/badge/tests-
|
|
9
|
-
<a href="#"><img alt="coverage" src="https://img.shields.io/badge/coverage-~
|
|
8
|
+
<a href="#"><img alt="tests" src="https://img.shields.io/badge/tests-2657%20of%202657-22c55e?style=flat-square&logo=bun"/></a>
|
|
9
|
+
<a href="#"><img alt="coverage" src="https://img.shields.io/badge/coverage-~90%25-22c55e?style=flat-square"/></a>
|
|
10
10
|
</p>
|
|
11
11
|
|
|
12
12
|
<p align="center">
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
> the actor-model stack (actors, supervision, cluster, sharding, persistence,
|
|
29
29
|
> HTTP) to TypeScript, running on Bun, Node.js, and Deno. Large parts were
|
|
30
30
|
> written with AI pair-programming and **have not been battle-tested in
|
|
31
|
-
> production**. Test coverage is good (~
|
|
31
|
+
> production**. Test coverage is good (~2657 tests, ~90 % line) but the
|
|
32
32
|
> surface area is enormous. **Do not deploy this to anything that matters
|
|
33
33
|
> yet.** Use it to learn, to prototype, to benchmark ideas — not to handle
|
|
34
34
|
> real money, users, or data.
|
|
@@ -61,14 +61,23 @@ A short tour of what's in the box:
|
|
|
61
61
|
- **HTTP** — directive-style routing DSL with Fastify default, Express + Hono
|
|
62
62
|
backends, response caching, rate-limiting, idempotency-key dedup. Typed
|
|
63
63
|
**WebSocket** routes: `websocket(path, actorRef)` binds a
|
|
64
|
-
`
|
|
65
|
-
connect/disconnect hooks); `
|
|
66
|
-
client half.
|
|
64
|
+
`WebsocketServerActor` (typed messages, `reply` / `broadcast`,
|
|
65
|
+
connect/disconnect hooks); `WebsocketClientActor` is the reconnecting
|
|
66
|
+
client half. Scoped error handling (`handleErrors`) + `fallback` routes;
|
|
67
|
+
a security-middleware suite (CORS, CSRF, HSTS, CSP, security headers,
|
|
68
|
+
Basic auth, request-id, timeout); HTML-escaping helpers; and
|
|
69
|
+
backend-agnostic **static file serving** (`getFromFile` /
|
|
70
|
+
`getFromDirectory` — MIME detection, conditional requests, Range,
|
|
71
|
+
directory browsing).
|
|
67
72
|
- **Message brokers** — single `BrokerActor` base with Kafka, MQTT, AMQP,
|
|
68
73
|
NATS, Redis-Streams, gRPC, SSE, raw TCP/UDP integrations.
|
|
69
74
|
Reconnect-with-backoff, outbound buffer, subscriber fan-out are baked in.
|
|
70
75
|
- **Caching** — pluggable Cache with in-memory, Redis, Memcached backends.
|
|
71
|
-
- **
|
|
76
|
+
- **Typed options + fail-fast validation** — one fluent `XOptions` builder per
|
|
77
|
+
configurable thing (or a plain object), with values validated once on the
|
|
78
|
+
merged settings (builder / object / HOCON alike) — a bad port, timeout, or
|
|
79
|
+
URL throws an `OptionsError` at startup, not deep in a later code path.
|
|
80
|
+
- **Observability** — Prometheus exporter, OTel tracing, management
|
|
72
81
|
HTTP endpoints (`/health`, `/ready`, `/cluster/members`, `/sharding/regions`),
|
|
73
82
|
out-of-the-box stock metrics.
|
|
74
83
|
- **TestKit** — `TestProbe`, `ManualScheduler`, `MultiNodeSpec` for
|
|
@@ -120,21 +129,21 @@ snippet that matches what you're reaching for.
|
|
|
120
129
|
Discriminated-union messages plus `match().exhaustive()` from
|
|
121
130
|
[`ts-pattern`](https://github.com/gvergnaud/ts-pattern) give you a
|
|
122
131
|
compile-time check that every variant is handled. Add a new variant
|
|
123
|
-
to `
|
|
132
|
+
to `Command` without a matching `with(...)` arm and TypeScript fails the
|
|
124
133
|
build.
|
|
125
134
|
|
|
126
135
|
```ts
|
|
127
136
|
import { Actor, ActorSystem, Props, type ActorRef } from 'actor-ts';
|
|
128
137
|
import { match } from 'ts-pattern';
|
|
129
138
|
|
|
130
|
-
type
|
|
139
|
+
type Command =
|
|
131
140
|
| { kind: 'inc' }
|
|
132
141
|
| { kind: 'dec' }
|
|
133
142
|
| { kind: 'get'; replyTo: ActorRef<number> };
|
|
134
143
|
|
|
135
|
-
class Counter extends Actor<
|
|
144
|
+
class Counter extends Actor<Command> {
|
|
136
145
|
private count = 0;
|
|
137
|
-
override onReceive(cmd:
|
|
146
|
+
override onReceive(cmd: Command): void {
|
|
138
147
|
match(cmd)
|
|
139
148
|
.with({ kind: 'inc' }, () => { this.count++; })
|
|
140
149
|
.with({ kind: 'dec' }, () => { this.count--; })
|
|
@@ -173,11 +182,11 @@ the rest of the app sees, every mutation durable.
|
|
|
173
182
|
```ts
|
|
174
183
|
import { PersistentActor, ActorSystem, Props } from 'actor-ts';
|
|
175
184
|
|
|
176
|
-
type
|
|
185
|
+
type Command = { kind: 'inc' } | { kind: 'dec' };
|
|
177
186
|
type Event = { kind: 'incremented' } | { kind: 'decremented' };
|
|
178
187
|
interface State { count: number }
|
|
179
188
|
|
|
180
|
-
class Counter extends PersistentActor<
|
|
189
|
+
class Counter extends PersistentActor<Command, Event, State> {
|
|
181
190
|
readonly persistenceId = 'counter-1';
|
|
182
191
|
initialState(): State { return { count: 0 }; }
|
|
183
192
|
onEvent(s: State, e: Event): State {
|
|
@@ -185,7 +194,7 @@ class Counter extends PersistentActor<Cmd, Event, State> {
|
|
|
185
194
|
? { count: s.count + 1 }
|
|
186
195
|
: { count: s.count - 1 };
|
|
187
196
|
}
|
|
188
|
-
onCommand(_state: State, cmd:
|
|
197
|
+
onCommand(_state: State, cmd: Command): void {
|
|
189
198
|
this.persist({
|
|
190
199
|
kind: cmd.kind === 'inc' ? 'incremented' : 'decremented',
|
|
191
200
|
});
|
|
@@ -210,7 +219,7 @@ import { Cluster } from 'actor-ts';
|
|
|
210
219
|
const { system, cluster } = await Cluster.bootstrap({ name: 'app' });
|
|
211
220
|
|
|
212
221
|
const cartRegion = cluster.sharding.start('cart', CartActor, {
|
|
213
|
-
extractEntityId: (msg:
|
|
222
|
+
extractEntityId: (msg: CartCommand) => msg.entityId,
|
|
214
223
|
});
|
|
215
224
|
|
|
216
225
|
cartRegion.tell({ entityId: 'user-42', kind: 'add', sku: 'book-1' });
|
|
@@ -272,9 +281,9 @@ Issues and feature requests live on
|
|
|
272
281
|
|
|
273
282
|
<a href="https://www.star-history.com/?repos=pathosDev%2Factor-ts&type=date&legend=top-left">
|
|
274
283
|
<picture>
|
|
275
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=pathosDev/actor-ts&type=date&theme=dark&legend=top-left" />
|
|
276
|
-
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=pathosDev/actor-ts&type=date&legend=top-left" />
|
|
277
|
-
<img alt="Star History Chart" src="https://api.star-history.com/chart?repos=pathosDev/actor-ts&type=date&legend=top-left" />
|
|
284
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=pathosDev/actor-ts&type=date&theme=dark&legend=top-left&sealed_token=iyC35jF1VENIymplLwZ8Cn2oNYPgr_OxQBWJfsv8Zl0v59Pkk9eKbLf1Gy2VWG_U3xuXb_xL0AAo5KD6Zz9p3izijymg6rD60G6pDZhdGrWgybY6vbLayqijq5n-qYdEyva0SkJ1TCWfrl0uSXCU5LyUa0I_Hz4wbgyrFObbeBFFxzRDMxrNVlNH6f_6" />
|
|
285
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=pathosDev/actor-ts&type=date&legend=top-left&sealed_token=iyC35jF1VENIymplLwZ8Cn2oNYPgr_OxQBWJfsv8Zl0v59Pkk9eKbLf1Gy2VWG_U3xuXb_xL0AAo5KD6Zz9p3izijymg6rD60G6pDZhdGrWgybY6vbLayqijq5n-qYdEyva0SkJ1TCWfrl0uSXCU5LyUa0I_Hz4wbgyrFObbeBFFxzRDMxrNVlNH6f_6" />
|
|
286
|
+
<img alt="Star History Chart" src="https://api.star-history.com/chart?repos=pathosDev/actor-ts&type=date&legend=top-left&sealed_token=iyC35jF1VENIymplLwZ8Cn2oNYPgr_OxQBWJfsv8Zl0v59Pkk9eKbLf1Gy2VWG_U3xuXb_xL0AAo5KD6Zz9p3izijymg6rD60G6pDZhdGrWgybY6vbLayqijq5n-qYdEyva0SkJ1TCWfrl0uSXCU5LyUa0I_Hz4wbgyrFObbeBFFxzRDMxrNVlNH6f_6" />
|
|
278
287
|
</picture>
|
|
279
288
|
</a>
|
|
280
289
|
|
package/dist/Actor.d.ts
CHANGED
|
@@ -13,14 +13,14 @@ import type { Option } from './util/Option.js';
|
|
|
13
13
|
* onReceive is never invoked concurrently for the same actor. If onReceive
|
|
14
14
|
* returns a Promise, the runtime awaits it before starting the next message.
|
|
15
15
|
*/
|
|
16
|
-
export declare abstract class Actor<
|
|
16
|
+
export declare abstract class Actor<TMessage = unknown> {
|
|
17
17
|
/** @internal — injected by ActorCell at construction time. */
|
|
18
18
|
private _context;
|
|
19
19
|
/** @internal */
|
|
20
|
-
_attach(context: ActorContext<
|
|
20
|
+
_attach(context: ActorContext<TMessage>): void;
|
|
21
21
|
/** Runtime context. Only valid after the actor has been started. */
|
|
22
|
-
protected get context(): ActorContext<
|
|
23
|
-
protected get self(): ActorRef<
|
|
22
|
+
protected get context(): ActorContext<TMessage>;
|
|
23
|
+
protected get self(): ActorRef<TMessage>;
|
|
24
24
|
protected get sender(): Option<ActorRef>;
|
|
25
25
|
protected get system(): ActorSystem;
|
|
26
26
|
protected get log(): Logger;
|
|
@@ -28,7 +28,7 @@ export declare abstract class Actor<TMsg = unknown> {
|
|
|
28
28
|
* Main message handler. Receives each envelope dequeued from the mailbox.
|
|
29
29
|
* A thrown error (sync or async) is caught by the supervisor.
|
|
30
30
|
*/
|
|
31
|
-
abstract onReceive(message:
|
|
31
|
+
abstract onReceive(message: TMessage): void | Promise<void>;
|
|
32
32
|
/** Called after construction and before the first message is processed. */
|
|
33
33
|
preStart(): void | Promise<void>;
|
|
34
34
|
/** Called after the actor has been terminated. Children are already stopped. */
|
|
@@ -37,7 +37,7 @@ export declare abstract class Actor<TMsg = unknown> {
|
|
|
37
37
|
* Called before a restart, on the instance about to be thrown away.
|
|
38
38
|
* The default stops children and then calls postStop().
|
|
39
39
|
*/
|
|
40
|
-
preRestart(_reason: Error, _message?:
|
|
40
|
+
preRestart(_reason: Error, _message?: TMessage): void | Promise<void>;
|
|
41
41
|
/** Called on the fresh instance after a restart. Default: call preStart(). */
|
|
42
42
|
postRestart(_reason: Error): void | Promise<void>;
|
|
43
43
|
/**
|
package/dist/Actor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actor.d.ts","sourceRoot":"","sources":["../src/Actor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAmB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;GAQG;AACH,8BAAsB,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"Actor.d.ts","sourceRoot":"","sources":["../src/Actor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAmB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;GAQG;AACH,8BAAsB,KAAK,CAAC,QAAQ,GAAG,OAAO;IAC5C,8DAA8D;IAC9D,OAAO,CAAC,QAAQ,CAA0B;IAE1C,gBAAgB;IAChB,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI;IAI9C,oEAAoE;IACpE,SAAS,KAAK,OAAO,IAAI,YAAY,CAAC,QAAQ,CAAC,CAA0B;IAEzE,SAAS,KAAK,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAA+B;IACvE,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAiC;IACzE,SAAS,KAAK,MAAM,IAAI,WAAW,CAAiC;IACpE,SAAS,KAAK,GAAG,IAAI,MAAM,CAA8B;IAEzD;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAE3D,2EAA2E;IAC3E,QAAQ,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEhC,gFAAgF;IAChF,QAAQ,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAEhC;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrE,+EAA+E;IAC/E,WAAW,CAAC,OAAO,EAAE,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD;;;OAGG;IACH,kBAAkB,IAAI,kBAAkB;CACzC"}
|
package/dist/Actor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actor.js","sourceRoot":"","sources":["../src/Actor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAsB,MAAM,kBAAkB,CAAC;AAGvE;;;;;;;;GAQG;AACH,MAAM,OAAgB,KAAK;IACzB,8DAA8D;IACtD,QAAQ,
|
|
1
|
+
{"version":3,"file":"Actor.js","sourceRoot":"","sources":["../src/Actor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAsB,MAAM,kBAAkB,CAAC;AAGvE;;;;;;;;GAQG;AACH,MAAM,OAAgB,KAAK;IACzB,8DAA8D;IACtD,QAAQ,CAA0B;IAE1C,gBAAgB;IAChB,OAAO,CAAC,OAA+B;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,oEAAoE;IACpE,IAAc,OAAO,KAA6B,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEzE,IAAc,IAAI,KAAyB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,IAAc,MAAM,KAAuB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACzE,IAAc,MAAM,KAAkB,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,IAAc,GAAG,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAQzD,2EAA2E;IAC3E,QAAQ,KAA0B,CAAC;IAEnC,gFAAgF;IAChF,QAAQ,KAA0B,CAAC;IAEnC;;;OAGG;IACH,UAAU,CAAC,OAAc,EAAE,QAAmB;QAC5C,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED,+EAA+E;IAC/E,WAAW,CAAC,OAAc;QACxB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,kBAAkB,KAAyB,OAAO,eAAe,CAAC,CAAC,CAAC;CACrE"}
|
package/dist/ActorContext.d.ts
CHANGED
|
@@ -10,9 +10,9 @@ export type Receive<T> = (message: T) => void | Promise<void>;
|
|
|
10
10
|
* Runtime API given to every Actor. Access through `this.context` inside
|
|
11
11
|
* an Actor subclass.
|
|
12
12
|
*/
|
|
13
|
-
export interface ActorContext<
|
|
13
|
+
export interface ActorContext<TMessage = unknown> {
|
|
14
14
|
/** A reference to this actor. */
|
|
15
|
-
readonly self: ActorRef<
|
|
15
|
+
readonly self: ActorRef<TMessage>;
|
|
16
16
|
/** The ActorPath of this actor. */
|
|
17
17
|
readonly path: ActorPath;
|
|
18
18
|
/** The sender of the message currently being processed, or `None`. */
|
|
@@ -70,7 +70,7 @@ export interface ActorContext<TMsg = unknown> {
|
|
|
70
70
|
* Replace the current behaviour. When `discardOld` is false, the previous
|
|
71
71
|
* behaviour is pushed onto a stack and can be restored via unbecome().
|
|
72
72
|
*/
|
|
73
|
-
become(behavior: Receive<
|
|
73
|
+
become(behavior: Receive<TMessage>, discardOld?: boolean): void;
|
|
74
74
|
/** Pop the behaviour stack, restoring the previous behaviour. */
|
|
75
75
|
unbecome(): void;
|
|
76
76
|
/**
|
|
@@ -97,7 +97,7 @@ export interface ActorContext<TMsg = unknown> {
|
|
|
97
97
|
* Per-actor scheduling facade. Timers are identified by user-supplied
|
|
98
98
|
* string keys and are automatically cancelled when the actor stops.
|
|
99
99
|
*/
|
|
100
|
-
readonly timers: TimerScheduler<
|
|
100
|
+
readonly timers: TimerScheduler<TMessage>;
|
|
101
101
|
/**
|
|
102
102
|
* Throttle this actor's user-message processing to a token-bucket
|
|
103
103
|
* rate (#83). Every dequeue from the user mailbox consumes one
|
|
@@ -148,11 +148,11 @@ export interface ThrottleOptions {
|
|
|
148
148
|
* Actor-scoped scheduler. A fresh `startSingleTimer`/`startTimerWithFixedDelay`
|
|
149
149
|
* call with the same key replaces any existing timer under that key.
|
|
150
150
|
*/
|
|
151
|
-
export interface TimerScheduler<
|
|
151
|
+
export interface TimerScheduler<TMessage = unknown> {
|
|
152
152
|
/** Fire `message` once after `delayMs`. */
|
|
153
|
-
startSingleTimer(key: string, message:
|
|
153
|
+
startSingleTimer(key: string, message: TMessage, delayMs: number): void;
|
|
154
154
|
/** Fire `message` every `intervalMs`, optionally preceded by `initialDelayMs`. */
|
|
155
|
-
startTimerWithFixedDelay(key: string, message:
|
|
155
|
+
startTimerWithFixedDelay(key: string, message: TMessage, intervalMs: number, initialDelayMs?: number): void;
|
|
156
156
|
/** Cancel a specific timer. Returns true if a timer was actually running. */
|
|
157
157
|
cancel(key: string): boolean;
|
|
158
158
|
/** Cancel every timer this actor has started. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActorContext.d.ts","sourceRoot":"","sources":["../src/ActorContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qEAAqE;AACrE,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"ActorContext.d.ts","sourceRoot":"","sources":["../src/ActorContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qEAAqE;AACrE,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,QAAQ,GAAG,OAAO;IAC9C,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAElC,mCAAmC;IACnC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAEzB,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAElC,iCAAiC;IACjC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAE7B,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAElC,mCAAmC;IACnC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAE3C,yCAAyC;IACzC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAErD;;;;;OAKG;IACH,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEhD;;;;;;OAMG;IACH,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE9F;;;OAGG;IACH,mBAAmB,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEzF,uEAAuE;IACvE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEtC;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,qBAAqB,EAAE,cAAc,CAAC;IAE3E,0EAA0E;IAC1E,IAAI,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;IAE1B,8BAA8B;IAC9B,QAAQ,IAAI,IAAI,CAAC;IAEjB,kFAAkF;IAClF,KAAK,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAE/B,qBAAqB;IACrB,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEjC;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAEhE,iEAAiE;IACjE,QAAQ,IAAI,IAAI,CAAC;IAEjB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC,mCAAmC;IACnC,oBAAoB,IAAI,IAAI,CAAC;IAI7B;;;;OAIG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;OAGG;IACH,UAAU,IAAI,IAAI,CAAC;IAEnB,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAI3B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAI1C;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IAEtC,oEAAoE;IACpE,cAAc,IAAI,IAAI,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB;AAC1B;;;;;GAKG;AACD,OAAO;AACT;;;GAGG;GACD,MAAM,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IACrC,gFAAgF;IAChF,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,QAAQ,GAAG,OAAO;IAChD,2CAA2C;IAC3C,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAExE,kFAAkF;IAClF,wBAAwB,CACtB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,QAAQ,EACjB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,GACtB,IAAI,CAAC;IAER,8EAA8E;IAC9E,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAE7B,iDAAiD;IACjD,SAAS,IAAI,IAAI,CAAC;IAElB,gEAAgE;IAChE,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAEpC,4CAA4C;IAC5C,UAAU,IAAI,MAAM,EAAE,CAAC;CACxB;AAED,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,QAAQ,EAAE,MAAM;CAI7B;AAED,qBAAa,wBAAyB,SAAQ,KAAK;;CAKlD"}
|
package/dist/ActorPath.js
CHANGED
|
@@ -20,10 +20,10 @@ export class ActorPath {
|
|
|
20
20
|
/** All path segments from root to this path (including root). */
|
|
21
21
|
elements() {
|
|
22
22
|
const out = [];
|
|
23
|
-
let
|
|
24
|
-
while (
|
|
25
|
-
out.unshift(
|
|
26
|
-
|
|
23
|
+
let current = this;
|
|
24
|
+
while (current) {
|
|
25
|
+
out.unshift(current.name);
|
|
26
|
+
current = current.parent;
|
|
27
27
|
}
|
|
28
28
|
return out;
|
|
29
29
|
}
|
|
@@ -33,11 +33,11 @@ export class ActorPath {
|
|
|
33
33
|
}
|
|
34
34
|
/** True if this path is an ancestor of other. */
|
|
35
35
|
isAncestorOf(other) {
|
|
36
|
-
let
|
|
37
|
-
while (
|
|
38
|
-
if (
|
|
36
|
+
let ancestor = other.parent;
|
|
37
|
+
while (ancestor) {
|
|
38
|
+
if (ancestor.equals(this))
|
|
39
39
|
return true;
|
|
40
|
-
|
|
40
|
+
ancestor = ancestor.parent;
|
|
41
41
|
}
|
|
42
42
|
return false;
|
|
43
43
|
}
|
package/dist/ActorPath.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActorPath.js","sourceRoot":"","sources":["../src/ActorPath.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,SAAS;IAEF;IACA;IACA;IACA;IAJlB,YACkB,IAAY,EACZ,SAA2B,IAAI,EAC/B,aAAqB,SAAS,EAC9B,MAAc,CAAC;QAHf,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAyB;QAC/B,eAAU,GAAV,UAAU,CAAoB;QAC9B,QAAG,GAAH,GAAG,CAAY;IAC9B,CAAC;IAEJ,0CAA0C;IAC1C,KAAK,CAAC,IAAY,EAAE,MAAc,CAAC;QACjC,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,iEAAiE;IACjE,QAAQ;QACN,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,IAAI,
|
|
1
|
+
{"version":3,"file":"ActorPath.js","sourceRoot":"","sources":["../src/ActorPath.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,SAAS;IAEF;IACA;IACA;IACA;IAJlB,YACkB,IAAY,EACZ,SAA2B,IAAI,EAC/B,aAAqB,SAAS,EAC9B,MAAc,CAAC;QAHf,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAyB;QAC/B,eAAU,GAAV,UAAU,CAAoB;QAC9B,QAAG,GAAH,GAAG,CAAY;IAC9B,CAAC;IAEJ,0CAA0C;IAC1C,KAAK,CAAC,IAAY,EAAE,MAAc,CAAC;QACjC,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,iEAAiE;IACjE,QAAQ;QACN,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,IAAI,OAAO,GAAqB,IAAI,CAAC;QACrC,OAAO,OAAO,EAAE,CAAC;YACf,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC3B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,iDAAiD;IACjD,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,iDAAiD;IACjD,YAAY,CAAC,KAAgB;QAC3B,IAAI,QAAQ,GAAqB,KAAK,CAAC,MAAM,CAAC;QAC9C,OAAO,QAAQ,EAAE,CAAC;YAChB,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YACvC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,KAAgB;QACrB,OAAO,IAAI,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAED,yDAAyD;IACzD,QAAQ;QACN,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjC,8EAA8E;QAC9E,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,cAAc,IAAI,CAAC,UAAU,GAAG,CAAC;QAClE,OAAO,cAAc,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxE,CAAC;CACF"}
|