actor-ts 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1128) hide show
  1. package/CHANGELOG.md +885 -0
  2. package/LICENSE +201 -0
  3. package/README.md +269 -0
  4. package/dist/Actor.d.ts +49 -0
  5. package/dist/Actor.d.ts.map +1 -0
  6. package/dist/Actor.js +45 -0
  7. package/dist/Actor.js.map +1 -0
  8. package/dist/ActorContext.d.ts +171 -0
  9. package/dist/ActorContext.d.ts.map +1 -0
  10. package/dist/ActorContext.js +13 -0
  11. package/dist/ActorContext.js.map +1 -0
  12. package/dist/ActorPath.d.ts +23 -0
  13. package/dist/ActorPath.d.ts.map +1 -0
  14. package/dist/ActorPath.js +56 -0
  15. package/dist/ActorPath.js.map +1 -0
  16. package/dist/ActorRef.d.ts +54 -0
  17. package/dist/ActorRef.d.ts.map +1 -0
  18. package/dist/ActorRef.js +105 -0
  19. package/dist/ActorRef.js.map +1 -0
  20. package/dist/ActorSelection.d.ts +48 -0
  21. package/dist/ActorSelection.d.ts.map +1 -0
  22. package/dist/ActorSelection.js +84 -0
  23. package/dist/ActorSelection.js.map +1 -0
  24. package/dist/ActorSystem.d.ts +152 -0
  25. package/dist/ActorSystem.d.ts.map +1 -0
  26. package/dist/ActorSystem.js +248 -0
  27. package/dist/ActorSystem.js.map +1 -0
  28. package/dist/CoordinatedShutdown.d.ts +112 -0
  29. package/dist/CoordinatedShutdown.d.ts.map +1 -0
  30. package/dist/CoordinatedShutdown.js +252 -0
  31. package/dist/CoordinatedShutdown.js.map +1 -0
  32. package/dist/Dispatcher.d.ts +47 -0
  33. package/dist/Dispatcher.d.ts.map +1 -0
  34. package/dist/Dispatcher.js +90 -0
  35. package/dist/Dispatcher.js.map +1 -0
  36. package/dist/EventStream.d.ts +58 -0
  37. package/dist/EventStream.d.ts.map +1 -0
  38. package/dist/EventStream.js +74 -0
  39. package/dist/EventStream.js.map +1 -0
  40. package/dist/Extension.d.ts +45 -0
  41. package/dist/Extension.d.ts.map +1 -0
  42. package/dist/Extension.js +51 -0
  43. package/dist/Extension.js.map +1 -0
  44. package/dist/LogContext.d.ts +44 -0
  45. package/dist/LogContext.d.ts.map +1 -0
  46. package/dist/LogContext.js +87 -0
  47. package/dist/LogContext.js.map +1 -0
  48. package/dist/Logger.d.ts +57 -0
  49. package/dist/Logger.d.ts.map +1 -0
  50. package/dist/Logger.js +81 -0
  51. package/dist/Logger.js.map +1 -0
  52. package/dist/Props.d.ts +32 -0
  53. package/dist/Props.d.ts.map +1 -0
  54. package/dist/Props.js +27 -0
  55. package/dist/Props.js.map +1 -0
  56. package/dist/Router.d.ts +32 -0
  57. package/dist/Router.d.ts.map +1 -0
  58. package/dist/Router.js +78 -0
  59. package/dist/Router.js.map +1 -0
  60. package/dist/Scheduler.d.ts +25 -0
  61. package/dist/Scheduler.d.ts.map +1 -0
  62. package/dist/Scheduler.js +112 -0
  63. package/dist/Scheduler.js.map +1 -0
  64. package/dist/Supervision.d.ts +66 -0
  65. package/dist/Supervision.d.ts.map +1 -0
  66. package/dist/Supervision.js +75 -0
  67. package/dist/Supervision.js.map +1 -0
  68. package/dist/SystemMessages.d.ts +56 -0
  69. package/dist/SystemMessages.d.ts.map +1 -0
  70. package/dist/SystemMessages.js +71 -0
  71. package/dist/SystemMessages.js.map +1 -0
  72. package/dist/cache/Cache.d.ts +75 -0
  73. package/dist/cache/Cache.d.ts.map +1 -0
  74. package/dist/cache/Cache.js +10 -0
  75. package/dist/cache/Cache.js.map +1 -0
  76. package/dist/cache/CacheExtension.d.ts +44 -0
  77. package/dist/cache/CacheExtension.d.ts.map +1 -0
  78. package/dist/cache/CacheExtension.js +77 -0
  79. package/dist/cache/CacheExtension.js.map +1 -0
  80. package/dist/cache/InMemoryCache.d.ts +16 -0
  81. package/dist/cache/InMemoryCache.d.ts.map +1 -0
  82. package/dist/cache/InMemoryCache.js +86 -0
  83. package/dist/cache/InMemoryCache.js.map +1 -0
  84. package/dist/cache/MemcachedCache.d.ts +71 -0
  85. package/dist/cache/MemcachedCache.d.ts.map +1 -0
  86. package/dist/cache/MemcachedCache.js +243 -0
  87. package/dist/cache/MemcachedCache.js.map +1 -0
  88. package/dist/cache/RedisCache.d.ts +80 -0
  89. package/dist/cache/RedisCache.d.ts.map +1 -0
  90. package/dist/cache/RedisCache.js +194 -0
  91. package/dist/cache/RedisCache.js.map +1 -0
  92. package/dist/cache/index.d.ts +9 -0
  93. package/dist/cache/index.d.ts.map +1 -0
  94. package/dist/cache/index.js +6 -0
  95. package/dist/cache/index.js.map +1 -0
  96. package/dist/cluster/Cluster.d.ts +251 -0
  97. package/dist/cluster/Cluster.d.ts.map +1 -0
  98. package/dist/cluster/Cluster.js +837 -0
  99. package/dist/cluster/Cluster.js.map +1 -0
  100. package/dist/cluster/ClusterBootstrap.d.ts +107 -0
  101. package/dist/cluster/ClusterBootstrap.d.ts.map +1 -0
  102. package/dist/cluster/ClusterBootstrap.js +184 -0
  103. package/dist/cluster/ClusterBootstrap.js.map +1 -0
  104. package/dist/cluster/ClusterClient.d.ts +112 -0
  105. package/dist/cluster/ClusterClient.d.ts.map +1 -0
  106. package/dist/cluster/ClusterClient.js +280 -0
  107. package/dist/cluster/ClusterClient.js.map +1 -0
  108. package/dist/cluster/ClusterClientReceptionist.d.ts +85 -0
  109. package/dist/cluster/ClusterClientReceptionist.d.ts.map +1 -0
  110. package/dist/cluster/ClusterClientReceptionist.js +159 -0
  111. package/dist/cluster/ClusterClientReceptionist.js.map +1 -0
  112. package/dist/cluster/ClusterEvents.d.ts +99 -0
  113. package/dist/cluster/ClusterEvents.d.ts.map +1 -0
  114. package/dist/cluster/ClusterEvents.js +124 -0
  115. package/dist/cluster/ClusterEvents.js.map +1 -0
  116. package/dist/cluster/FailureDetector.d.ts +32 -0
  117. package/dist/cluster/FailureDetector.d.ts.map +1 -0
  118. package/dist/cluster/FailureDetector.js +50 -0
  119. package/dist/cluster/FailureDetector.js.map +1 -0
  120. package/dist/cluster/Member.d.ts +38 -0
  121. package/dist/cluster/Member.d.ts.map +1 -0
  122. package/dist/cluster/Member.js +69 -0
  123. package/dist/cluster/Member.js.map +1 -0
  124. package/dist/cluster/NodeAddress.d.ts +24 -0
  125. package/dist/cluster/NodeAddress.d.ts.map +1 -0
  126. package/dist/cluster/NodeAddress.js +44 -0
  127. package/dist/cluster/NodeAddress.js.map +1 -0
  128. package/dist/cluster/PhiAccrualFailureDetector.d.ts +49 -0
  129. package/dist/cluster/PhiAccrualFailureDetector.d.ts.map +1 -0
  130. package/dist/cluster/PhiAccrualFailureDetector.js +139 -0
  131. package/dist/cluster/PhiAccrualFailureDetector.js.map +1 -0
  132. package/dist/cluster/Protocol.d.ts +151 -0
  133. package/dist/cluster/Protocol.d.ts.map +1 -0
  134. package/dist/cluster/Protocol.js +90 -0
  135. package/dist/cluster/Protocol.js.map +1 -0
  136. package/dist/cluster/RefCodec.d.ts +40 -0
  137. package/dist/cluster/RefCodec.d.ts.map +1 -0
  138. package/dist/cluster/RefCodec.js +134 -0
  139. package/dist/cluster/RefCodec.js.map +1 -0
  140. package/dist/cluster/RemoteActorRef.d.ts +22 -0
  141. package/dist/cluster/RemoteActorRef.d.ts.map +1 -0
  142. package/dist/cluster/RemoteActorRef.js +48 -0
  143. package/dist/cluster/RemoteActorRef.js.map +1 -0
  144. package/dist/cluster/Transport.d.ts +96 -0
  145. package/dist/cluster/Transport.d.ts.map +1 -0
  146. package/dist/cluster/Transport.js +299 -0
  147. package/dist/cluster/Transport.js.map +1 -0
  148. package/dist/cluster/downing/DowningProvider.d.ts +32 -0
  149. package/dist/cluster/downing/DowningProvider.d.ts.map +1 -0
  150. package/dist/cluster/downing/DowningProvider.js +5 -0
  151. package/dist/cluster/downing/DowningProvider.js.map +1 -0
  152. package/dist/cluster/downing/KeepMajority.d.ts +21 -0
  153. package/dist/cluster/downing/KeepMajority.d.ts.map +1 -0
  154. package/dist/cluster/downing/KeepMajority.js +39 -0
  155. package/dist/cluster/downing/KeepMajority.js.map +1 -0
  156. package/dist/cluster/downing/KeepOldest.d.ts +23 -0
  157. package/dist/cluster/downing/KeepOldest.d.ts.map +1 -0
  158. package/dist/cluster/downing/KeepOldest.js +37 -0
  159. package/dist/cluster/downing/KeepOldest.js.map +1 -0
  160. package/dist/cluster/downing/KeepReferee.d.ts +23 -0
  161. package/dist/cluster/downing/KeepReferee.d.ts.map +1 -0
  162. package/dist/cluster/downing/KeepReferee.js +35 -0
  163. package/dist/cluster/downing/KeepReferee.js.map +1 -0
  164. package/dist/cluster/downing/LeaseMajority.d.ts +70 -0
  165. package/dist/cluster/downing/LeaseMajority.d.ts.map +1 -0
  166. package/dist/cluster/downing/LeaseMajority.js +129 -0
  167. package/dist/cluster/downing/LeaseMajority.js.map +1 -0
  168. package/dist/cluster/downing/StaticQuorum.d.ts +21 -0
  169. package/dist/cluster/downing/StaticQuorum.d.ts.map +1 -0
  170. package/dist/cluster/downing/StaticQuorum.js +30 -0
  171. package/dist/cluster/downing/StaticQuorum.js.map +1 -0
  172. package/dist/cluster/downing/index.d.ts +13 -0
  173. package/dist/cluster/downing/index.d.ts.map +1 -0
  174. package/dist/cluster/downing/index.js +7 -0
  175. package/dist/cluster/downing/index.js.map +1 -0
  176. package/dist/cluster/index.d.ts +49 -0
  177. package/dist/cluster/index.d.ts.map +1 -0
  178. package/dist/cluster/index.js +33 -0
  179. package/dist/cluster/index.js.map +1 -0
  180. package/dist/cluster/pubsub/DistributedPubSubExtension.d.ts +30 -0
  181. package/dist/cluster/pubsub/DistributedPubSubExtension.d.ts.map +1 -0
  182. package/dist/cluster/pubsub/DistributedPubSubExtension.js +42 -0
  183. package/dist/cluster/pubsub/DistributedPubSubExtension.js.map +1 -0
  184. package/dist/cluster/pubsub/DistributedPubSubMediator.d.ts +56 -0
  185. package/dist/cluster/pubsub/DistributedPubSubMediator.d.ts.map +1 -0
  186. package/dist/cluster/pubsub/DistributedPubSubMediator.js +240 -0
  187. package/dist/cluster/pubsub/DistributedPubSubMediator.js.map +1 -0
  188. package/dist/cluster/pubsub/Messages.d.ts +75 -0
  189. package/dist/cluster/pubsub/Messages.d.ts.map +1 -0
  190. package/dist/cluster/pubsub/Messages.js +66 -0
  191. package/dist/cluster/pubsub/Messages.js.map +1 -0
  192. package/dist/cluster/pubsub/index.d.ts +5 -0
  193. package/dist/cluster/pubsub/index.d.ts.map +1 -0
  194. package/dist/cluster/pubsub/index.js +4 -0
  195. package/dist/cluster/pubsub/index.js.map +1 -0
  196. package/dist/cluster/router/ClusterRouter.d.ts +87 -0
  197. package/dist/cluster/router/ClusterRouter.d.ts.map +1 -0
  198. package/dist/cluster/router/ClusterRouter.js +116 -0
  199. package/dist/cluster/router/ClusterRouter.js.map +1 -0
  200. package/dist/cluster/router/ConsistentHashing.d.ts +27 -0
  201. package/dist/cluster/router/ConsistentHashing.d.ts.map +1 -0
  202. package/dist/cluster/router/ConsistentHashing.js +69 -0
  203. package/dist/cluster/router/ConsistentHashing.js.map +1 -0
  204. package/dist/cluster/router/index.d.ts +4 -0
  205. package/dist/cluster/router/index.d.ts.map +1 -0
  206. package/dist/cluster/router/index.js +3 -0
  207. package/dist/cluster/router/index.js.map +1 -0
  208. package/dist/cluster/sharding/AllocationStrategy.d.ts +45 -0
  209. package/dist/cluster/sharding/AllocationStrategy.d.ts.map +1 -0
  210. package/dist/cluster/sharding/AllocationStrategy.js +95 -0
  211. package/dist/cluster/sharding/AllocationStrategy.js.map +1 -0
  212. package/dist/cluster/sharding/CassandraRememberEntitiesStore.d.ts +77 -0
  213. package/dist/cluster/sharding/CassandraRememberEntitiesStore.d.ts.map +1 -0
  214. package/dist/cluster/sharding/CassandraRememberEntitiesStore.js +98 -0
  215. package/dist/cluster/sharding/CassandraRememberEntitiesStore.js.map +1 -0
  216. package/dist/cluster/sharding/ClusterSharding.d.ts +116 -0
  217. package/dist/cluster/sharding/ClusterSharding.d.ts.map +1 -0
  218. package/dist/cluster/sharding/ClusterSharding.js +133 -0
  219. package/dist/cluster/sharding/ClusterSharding.js.map +1 -0
  220. package/dist/cluster/sharding/CoordinatorState.d.ts +83 -0
  221. package/dist/cluster/sharding/CoordinatorState.d.ts.map +1 -0
  222. package/dist/cluster/sharding/CoordinatorState.js +46 -0
  223. package/dist/cluster/sharding/CoordinatorState.js.map +1 -0
  224. package/dist/cluster/sharding/Passivate.d.ts +23 -0
  225. package/dist/cluster/sharding/Passivate.d.ts.map +1 -0
  226. package/dist/cluster/sharding/Passivate.js +25 -0
  227. package/dist/cluster/sharding/Passivate.js.map +1 -0
  228. package/dist/cluster/sharding/RememberEntitiesStore.d.ts +60 -0
  229. package/dist/cluster/sharding/RememberEntitiesStore.d.ts.map +1 -0
  230. package/dist/cluster/sharding/RememberEntitiesStore.js +35 -0
  231. package/dist/cluster/sharding/RememberEntitiesStore.js.map +1 -0
  232. package/dist/cluster/sharding/ShardAllocator.d.ts +23 -0
  233. package/dist/cluster/sharding/ShardAllocator.d.ts.map +1 -0
  234. package/dist/cluster/sharding/ShardAllocator.js +54 -0
  235. package/dist/cluster/sharding/ShardAllocator.js.map +1 -0
  236. package/dist/cluster/sharding/ShardCoordinator.d.ts +218 -0
  237. package/dist/cluster/sharding/ShardCoordinator.d.ts.map +1 -0
  238. package/dist/cluster/sharding/ShardCoordinator.js +719 -0
  239. package/dist/cluster/sharding/ShardCoordinator.js.map +1 -0
  240. package/dist/cluster/sharding/ShardRegion.d.ts +156 -0
  241. package/dist/cluster/sharding/ShardRegion.d.ts.map +1 -0
  242. package/dist/cluster/sharding/ShardRegion.js +526 -0
  243. package/dist/cluster/sharding/ShardRegion.js.map +1 -0
  244. package/dist/cluster/sharding/ShardedDaemonProcess.d.ts +64 -0
  245. package/dist/cluster/sharding/ShardedDaemonProcess.d.ts.map +1 -0
  246. package/dist/cluster/sharding/ShardedDaemonProcess.js +107 -0
  247. package/dist/cluster/sharding/ShardedDaemonProcess.js.map +1 -0
  248. package/dist/cluster/sharding/ShardingProtocol.d.ts +92 -0
  249. package/dist/cluster/sharding/ShardingProtocol.d.ts.map +1 -0
  250. package/dist/cluster/sharding/ShardingProtocol.js +7 -0
  251. package/dist/cluster/sharding/ShardingProtocol.js.map +1 -0
  252. package/dist/cluster/singleton/ClusterSingleton.d.ts +59 -0
  253. package/dist/cluster/singleton/ClusterSingleton.d.ts.map +1 -0
  254. package/dist/cluster/singleton/ClusterSingleton.js +63 -0
  255. package/dist/cluster/singleton/ClusterSingleton.js.map +1 -0
  256. package/dist/cluster/singleton/ClusterSingletonManager.d.ts +116 -0
  257. package/dist/cluster/singleton/ClusterSingletonManager.d.ts.map +1 -0
  258. package/dist/cluster/singleton/ClusterSingletonManager.js +300 -0
  259. package/dist/cluster/singleton/ClusterSingletonManager.js.map +1 -0
  260. package/dist/cluster/singleton/ClusterSingletonProxy.d.ts +32 -0
  261. package/dist/cluster/singleton/ClusterSingletonProxy.d.ts.map +1 -0
  262. package/dist/cluster/singleton/ClusterSingletonProxy.js +81 -0
  263. package/dist/cluster/singleton/ClusterSingletonProxy.js.map +1 -0
  264. package/dist/cluster/singleton/index.d.ts +6 -0
  265. package/dist/cluster/singleton/index.d.ts.map +1 -0
  266. package/dist/cluster/singleton/index.js +4 -0
  267. package/dist/cluster/singleton/index.js.map +1 -0
  268. package/dist/cluster/transports/MessageChannelTransport.d.ts +52 -0
  269. package/dist/cluster/transports/MessageChannelTransport.d.ts.map +1 -0
  270. package/dist/cluster/transports/MessageChannelTransport.js +59 -0
  271. package/dist/cluster/transports/MessageChannelTransport.js.map +1 -0
  272. package/dist/config/Config.d.ts +73 -0
  273. package/dist/config/Config.d.ts.map +1 -0
  274. package/dist/config/Config.js +240 -0
  275. package/dist/config/Config.js.map +1 -0
  276. package/dist/config/ConfigKeys.d.ts +94 -0
  277. package/dist/config/ConfigKeys.d.ts.map +1 -0
  278. package/dist/config/ConfigKeys.js +94 -0
  279. package/dist/config/ConfigKeys.js.map +1 -0
  280. package/dist/config/Duration.d.ts +2 -0
  281. package/dist/config/Duration.d.ts.map +1 -0
  282. package/dist/config/Duration.js +70 -0
  283. package/dist/config/Duration.js.map +1 -0
  284. package/dist/config/HoconParser.d.ts +19 -0
  285. package/dist/config/HoconParser.d.ts.map +1 -0
  286. package/dist/config/HoconParser.js +473 -0
  287. package/dist/config/HoconParser.js.map +1 -0
  288. package/dist/config/Size.d.ts +2 -0
  289. package/dist/config/Size.d.ts.map +1 -0
  290. package/dist/config/Size.js +53 -0
  291. package/dist/config/Size.js.map +1 -0
  292. package/dist/config/index.d.ts +9 -0
  293. package/dist/config/index.d.ts.map +1 -0
  294. package/dist/config/index.js +7 -0
  295. package/dist/config/index.js.map +1 -0
  296. package/dist/config/reference.d.ts +11 -0
  297. package/dist/config/reference.d.ts.map +1 -0
  298. package/dist/config/reference.js +86 -0
  299. package/dist/config/reference.js.map +1 -0
  300. package/dist/coordination/Lease.d.ts +40 -0
  301. package/dist/coordination/Lease.d.ts.map +1 -0
  302. package/dist/coordination/Lease.js +2 -0
  303. package/dist/coordination/Lease.js.map +1 -0
  304. package/dist/coordination/index.d.ts +5 -0
  305. package/dist/coordination/index.d.ts.map +1 -0
  306. package/dist/coordination/index.js +3 -0
  307. package/dist/coordination/index.js.map +1 -0
  308. package/dist/coordination/leases/InMemoryLease.d.ts +40 -0
  309. package/dist/coordination/leases/InMemoryLease.d.ts.map +1 -0
  310. package/dist/coordination/leases/InMemoryLease.js +109 -0
  311. package/dist/coordination/leases/InMemoryLease.js.map +1 -0
  312. package/dist/coordination/leases/KubernetesLease.d.ts +78 -0
  313. package/dist/coordination/leases/KubernetesLease.d.ts.map +1 -0
  314. package/dist/coordination/leases/KubernetesLease.js +244 -0
  315. package/dist/coordination/leases/KubernetesLease.js.map +1 -0
  316. package/dist/coordination/leases/k8sApi.d.ts +82 -0
  317. package/dist/coordination/leases/k8sApi.d.ts.map +1 -0
  318. package/dist/coordination/leases/k8sApi.js +191 -0
  319. package/dist/coordination/leases/k8sApi.js.map +1 -0
  320. package/dist/crdt/Crdt.d.ts +52 -0
  321. package/dist/crdt/Crdt.d.ts.map +1 -0
  322. package/dist/crdt/Crdt.js +2 -0
  323. package/dist/crdt/Crdt.js.map +1 -0
  324. package/dist/crdt/DistributedData.d.ts +314 -0
  325. package/dist/crdt/DistributedData.d.ts.map +1 -0
  326. package/dist/crdt/DistributedData.js +658 -0
  327. package/dist/crdt/DistributedData.js.map +1 -0
  328. package/dist/crdt/DurableDistributedDataStore.d.ts +50 -0
  329. package/dist/crdt/DurableDistributedDataStore.d.ts.map +1 -0
  330. package/dist/crdt/DurableDistributedDataStore.js +75 -0
  331. package/dist/crdt/DurableDistributedDataStore.js.map +1 -0
  332. package/dist/crdt/GCounter.d.ts +42 -0
  333. package/dist/crdt/GCounter.d.ts.map +1 -0
  334. package/dist/crdt/GCounter.js +75 -0
  335. package/dist/crdt/GCounter.js.map +1 -0
  336. package/dist/crdt/GCounterMap.d.ts +60 -0
  337. package/dist/crdt/GCounterMap.d.ts.map +1 -0
  338. package/dist/crdt/GCounterMap.js +102 -0
  339. package/dist/crdt/GCounterMap.js.map +1 -0
  340. package/dist/crdt/GSet.d.ts +63 -0
  341. package/dist/crdt/GSet.d.ts.map +1 -0
  342. package/dist/crdt/GSet.js +77 -0
  343. package/dist/crdt/GSet.js.map +1 -0
  344. package/dist/crdt/LWWMap.d.ts +75 -0
  345. package/dist/crdt/LWWMap.d.ts.map +1 -0
  346. package/dist/crdt/LWWMap.js +136 -0
  347. package/dist/crdt/LWWMap.js.map +1 -0
  348. package/dist/crdt/LWWRegister.d.ts +54 -0
  349. package/dist/crdt/LWWRegister.d.ts.map +1 -0
  350. package/dist/crdt/LWWRegister.js +83 -0
  351. package/dist/crdt/LWWRegister.js.map +1 -0
  352. package/dist/crdt/MVRegister.d.ts +36 -0
  353. package/dist/crdt/MVRegister.d.ts.map +1 -0
  354. package/dist/crdt/MVRegister.js +138 -0
  355. package/dist/crdt/MVRegister.js.map +1 -0
  356. package/dist/crdt/ORMap.d.ts +104 -0
  357. package/dist/crdt/ORMap.d.ts.map +1 -0
  358. package/dist/crdt/ORMap.js +178 -0
  359. package/dist/crdt/ORMap.js.map +1 -0
  360. package/dist/crdt/ORSet.d.ts +81 -0
  361. package/dist/crdt/ORSet.d.ts.map +1 -0
  362. package/dist/crdt/ORSet.js +206 -0
  363. package/dist/crdt/ORSet.js.map +1 -0
  364. package/dist/crdt/PNCounter.d.ts +34 -0
  365. package/dist/crdt/PNCounter.d.ts.map +1 -0
  366. package/dist/crdt/PNCounter.js +51 -0
  367. package/dist/crdt/PNCounter.js.map +1 -0
  368. package/dist/crdt/index.d.ts +23 -0
  369. package/dist/crdt/index.d.ts.map +1 -0
  370. package/dist/crdt/index.js +12 -0
  371. package/dist/crdt/index.js.map +1 -0
  372. package/dist/delivery/ConsumerController.d.ts +28 -0
  373. package/dist/delivery/ConsumerController.d.ts.map +1 -0
  374. package/dist/delivery/ConsumerController.js +64 -0
  375. package/dist/delivery/ConsumerController.js.map +1 -0
  376. package/dist/delivery/Messages.d.ts +23 -0
  377. package/dist/delivery/Messages.d.ts.map +1 -0
  378. package/dist/delivery/Messages.js +2 -0
  379. package/dist/delivery/Messages.js.map +1 -0
  380. package/dist/delivery/ProducerController.d.ts +46 -0
  381. package/dist/delivery/ProducerController.d.ts.map +1 -0
  382. package/dist/delivery/ProducerController.js +84 -0
  383. package/dist/delivery/ProducerController.js.map +1 -0
  384. package/dist/delivery/ReliableDelivery.d.ts +36 -0
  385. package/dist/delivery/ReliableDelivery.d.ts.map +1 -0
  386. package/dist/delivery/ReliableDelivery.js +32 -0
  387. package/dist/delivery/ReliableDelivery.js.map +1 -0
  388. package/dist/delivery/index.d.ts +8 -0
  389. package/dist/delivery/index.d.ts.map +1 -0
  390. package/dist/delivery/index.js +4 -0
  391. package/dist/delivery/index.js.map +1 -0
  392. package/dist/discovery/AggregateSeedProvider.d.ts +15 -0
  393. package/dist/discovery/AggregateSeedProvider.d.ts.map +1 -0
  394. package/dist/discovery/AggregateSeedProvider.js +28 -0
  395. package/dist/discovery/AggregateSeedProvider.js.map +1 -0
  396. package/dist/discovery/ConfigSeedProvider.d.ts +20 -0
  397. package/dist/discovery/ConfigSeedProvider.d.ts.map +1 -0
  398. package/dist/discovery/ConfigSeedProvider.js +24 -0
  399. package/dist/discovery/ConfigSeedProvider.js.map +1 -0
  400. package/dist/discovery/DnsSeedProvider.d.ts +49 -0
  401. package/dist/discovery/DnsSeedProvider.d.ts.map +1 -0
  402. package/dist/discovery/DnsSeedProvider.js +57 -0
  403. package/dist/discovery/DnsSeedProvider.js.map +1 -0
  404. package/dist/discovery/KubernetesApiSeedProvider.d.ts +30 -0
  405. package/dist/discovery/KubernetesApiSeedProvider.d.ts.map +1 -0
  406. package/dist/discovery/KubernetesApiSeedProvider.js +66 -0
  407. package/dist/discovery/KubernetesApiSeedProvider.js.map +1 -0
  408. package/dist/discovery/Receptionist.d.ts +55 -0
  409. package/dist/discovery/Receptionist.d.ts.map +1 -0
  410. package/dist/discovery/Receptionist.js +207 -0
  411. package/dist/discovery/Receptionist.js.map +1 -0
  412. package/dist/discovery/ReceptionistMessages.d.ts +65 -0
  413. package/dist/discovery/ReceptionistMessages.d.ts.map +1 -0
  414. package/dist/discovery/ReceptionistMessages.js +76 -0
  415. package/dist/discovery/ReceptionistMessages.js.map +1 -0
  416. package/dist/discovery/SeedProvider.d.ts +17 -0
  417. package/dist/discovery/SeedProvider.d.ts.map +1 -0
  418. package/dist/discovery/SeedProvider.js +2 -0
  419. package/dist/discovery/SeedProvider.js.map +1 -0
  420. package/dist/discovery/ServiceKey.d.ts +15 -0
  421. package/dist/discovery/ServiceKey.d.ts.map +1 -0
  422. package/dist/discovery/ServiceKey.js +17 -0
  423. package/dist/discovery/ServiceKey.js.map +1 -0
  424. package/dist/discovery/autoDiscovery.d.ts +63 -0
  425. package/dist/discovery/autoDiscovery.d.ts.map +1 -0
  426. package/dist/discovery/autoDiscovery.js +91 -0
  427. package/dist/discovery/autoDiscovery.js.map +1 -0
  428. package/dist/discovery/index.d.ts +16 -0
  429. package/dist/discovery/index.d.ts.map +1 -0
  430. package/dist/discovery/index.js +9 -0
  431. package/dist/discovery/index.js.map +1 -0
  432. package/dist/fsm/FSM.d.ts +60 -0
  433. package/dist/fsm/FSM.d.ts.map +1 -0
  434. package/dist/fsm/FSM.js +102 -0
  435. package/dist/fsm/FSM.js.map +1 -0
  436. package/dist/fsm/PersistentFSM.d.ts +230 -0
  437. package/dist/fsm/PersistentFSM.d.ts.map +1 -0
  438. package/dist/fsm/PersistentFSM.js +170 -0
  439. package/dist/fsm/PersistentFSM.js.map +1 -0
  440. package/dist/fsm/index.d.ts +5 -0
  441. package/dist/fsm/index.d.ts.map +1 -0
  442. package/dist/fsm/index.js +3 -0
  443. package/dist/fsm/index.js.map +1 -0
  444. package/dist/http/HttpClient.d.ts +34 -0
  445. package/dist/http/HttpClient.d.ts.map +1 -0
  446. package/dist/http/HttpClient.js +72 -0
  447. package/dist/http/HttpClient.js.map +1 -0
  448. package/dist/http/HttpExtension.d.ts +29 -0
  449. package/dist/http/HttpExtension.d.ts.map +1 -0
  450. package/dist/http/HttpExtension.js +64 -0
  451. package/dist/http/HttpExtension.js.map +1 -0
  452. package/dist/http/Marshalling.d.ts +20 -0
  453. package/dist/http/Marshalling.d.ts.map +1 -0
  454. package/dist/http/Marshalling.js +54 -0
  455. package/dist/http/Marshalling.js.map +1 -0
  456. package/dist/http/Route.d.ts +59 -0
  457. package/dist/http/Route.d.ts.map +1 -0
  458. package/dist/http/Route.js +93 -0
  459. package/dist/http/Route.js.map +1 -0
  460. package/dist/http/backend/ExpressBackend.d.ts +86 -0
  461. package/dist/http/backend/ExpressBackend.d.ts.map +1 -0
  462. package/dist/http/backend/ExpressBackend.js +260 -0
  463. package/dist/http/backend/ExpressBackend.js.map +1 -0
  464. package/dist/http/backend/FastifyBackend.d.ts +31 -0
  465. package/dist/http/backend/FastifyBackend.d.ts.map +1 -0
  466. package/dist/http/backend/FastifyBackend.js +193 -0
  467. package/dist/http/backend/FastifyBackend.js.map +1 -0
  468. package/dist/http/backend/HonoBackend.d.ts +72 -0
  469. package/dist/http/backend/HonoBackend.d.ts.map +1 -0
  470. package/dist/http/backend/HonoBackend.js +212 -0
  471. package/dist/http/backend/HonoBackend.js.map +1 -0
  472. package/dist/http/backend/HttpServerBackend.d.ts +31 -0
  473. package/dist/http/backend/HttpServerBackend.d.ts.map +1 -0
  474. package/dist/http/backend/HttpServerBackend.js +2 -0
  475. package/dist/http/backend/HttpServerBackend.js.map +1 -0
  476. package/dist/http/cache/IdempotencyKey.d.ts +48 -0
  477. package/dist/http/cache/IdempotencyKey.d.ts.map +1 -0
  478. package/dist/http/cache/IdempotencyKey.js +154 -0
  479. package/dist/http/cache/IdempotencyKey.js.map +1 -0
  480. package/dist/http/cache/RateLimit.d.ts +65 -0
  481. package/dist/http/cache/RateLimit.d.ts.map +1 -0
  482. package/dist/http/cache/RateLimit.js +60 -0
  483. package/dist/http/cache/RateLimit.js.map +1 -0
  484. package/dist/http/cache/ResponseCache.d.ts +49 -0
  485. package/dist/http/cache/ResponseCache.d.ts.map +1 -0
  486. package/dist/http/cache/ResponseCache.js +84 -0
  487. package/dist/http/cache/ResponseCache.js.map +1 -0
  488. package/dist/http/cache/index.d.ts +7 -0
  489. package/dist/http/cache/index.d.ts.map +1 -0
  490. package/dist/http/cache/index.js +4 -0
  491. package/dist/http/cache/index.js.map +1 -0
  492. package/dist/http/index.d.ts +18 -0
  493. package/dist/http/index.d.ts.map +1 -0
  494. package/dist/http/index.js +11 -0
  495. package/dist/http/index.js.map +1 -0
  496. package/dist/http/types.d.ts +54 -0
  497. package/dist/http/types.d.ts.map +1 -0
  498. package/dist/http/types.js +40 -0
  499. package/dist/http/types.js.map +1 -0
  500. package/dist/index.d.ts +73 -0
  501. package/dist/index.d.ts.map +1 -0
  502. package/dist/index.js +87 -0
  503. package/dist/index.js.map +1 -0
  504. package/dist/internal/ActorCell.d.ts +116 -0
  505. package/dist/internal/ActorCell.d.ts.map +1 -0
  506. package/dist/internal/ActorCell.js +681 -0
  507. package/dist/internal/ActorCell.js.map +1 -0
  508. package/dist/internal/DeadLetterRef.d.ts +15 -0
  509. package/dist/internal/DeadLetterRef.d.ts.map +1 -0
  510. package/dist/internal/DeadLetterRef.js +24 -0
  511. package/dist/internal/DeadLetterRef.js.map +1 -0
  512. package/dist/internal/Guardian.d.ts +18 -0
  513. package/dist/internal/Guardian.d.ts.map +1 -0
  514. package/dist/internal/Guardian.js +23 -0
  515. package/dist/internal/Guardian.js.map +1 -0
  516. package/dist/internal/LocalActorRef.d.ts +17 -0
  517. package/dist/internal/LocalActorRef.d.ts.map +1 -0
  518. package/dist/internal/LocalActorRef.js +38 -0
  519. package/dist/internal/LocalActorRef.js.map +1 -0
  520. package/dist/internal/Mailbox.d.ts +49 -0
  521. package/dist/internal/Mailbox.d.ts.map +1 -0
  522. package/dist/internal/Mailbox.js +49 -0
  523. package/dist/internal/Mailbox.js.map +1 -0
  524. package/dist/internal/SystemCommand.d.ts +31 -0
  525. package/dist/internal/SystemCommand.d.ts.map +1 -0
  526. package/dist/internal/SystemCommand.js +2 -0
  527. package/dist/internal/SystemCommand.js.map +1 -0
  528. package/dist/io/broker/AmqpActor.d.ts +78 -0
  529. package/dist/io/broker/AmqpActor.d.ts.map +1 -0
  530. package/dist/io/broker/AmqpActor.js +137 -0
  531. package/dist/io/broker/AmqpActor.js.map +1 -0
  532. package/dist/io/broker/BrokerActor.d.ts +125 -0
  533. package/dist/io/broker/BrokerActor.d.ts.map +1 -0
  534. package/dist/io/broker/BrokerActor.js +289 -0
  535. package/dist/io/broker/BrokerActor.js.map +1 -0
  536. package/dist/io/broker/BrokerEvents.d.ts +59 -0
  537. package/dist/io/broker/BrokerEvents.d.ts.map +1 -0
  538. package/dist/io/broker/BrokerEvents.js +79 -0
  539. package/dist/io/broker/BrokerEvents.js.map +1 -0
  540. package/dist/io/broker/BrokerSettings.d.ts +72 -0
  541. package/dist/io/broker/BrokerSettings.d.ts.map +1 -0
  542. package/dist/io/broker/BrokerSettings.js +73 -0
  543. package/dist/io/broker/BrokerSettings.js.map +1 -0
  544. package/dist/io/broker/GrpcClientActor.d.ts +112 -0
  545. package/dist/io/broker/GrpcClientActor.d.ts.map +1 -0
  546. package/dist/io/broker/GrpcClientActor.js +212 -0
  547. package/dist/io/broker/GrpcClientActor.js.map +1 -0
  548. package/dist/io/broker/GrpcServerActor.d.ts +101 -0
  549. package/dist/io/broker/GrpcServerActor.d.ts.map +1 -0
  550. package/dist/io/broker/GrpcServerActor.js +230 -0
  551. package/dist/io/broker/GrpcServerActor.js.map +1 -0
  552. package/dist/io/broker/JetStreamActor.d.ts +352 -0
  553. package/dist/io/broker/JetStreamActor.d.ts.map +1 -0
  554. package/dist/io/broker/JetStreamActor.js +378 -0
  555. package/dist/io/broker/JetStreamActor.js.map +1 -0
  556. package/dist/io/broker/KafkaActor.d.ts +316 -0
  557. package/dist/io/broker/KafkaActor.d.ts.map +1 -0
  558. package/dist/io/broker/KafkaActor.js +355 -0
  559. package/dist/io/broker/KafkaActor.js.map +1 -0
  560. package/dist/io/broker/MqttActor.d.ts +149 -0
  561. package/dist/io/broker/MqttActor.d.ts.map +1 -0
  562. package/dist/io/broker/MqttActor.js +255 -0
  563. package/dist/io/broker/MqttActor.js.map +1 -0
  564. package/dist/io/broker/NatsActor.d.ts +65 -0
  565. package/dist/io/broker/NatsActor.d.ts.map +1 -0
  566. package/dist/io/broker/NatsActor.js +126 -0
  567. package/dist/io/broker/NatsActor.js.map +1 -0
  568. package/dist/io/broker/RedisStreamsActor.d.ts +69 -0
  569. package/dist/io/broker/RedisStreamsActor.d.ts.map +1 -0
  570. package/dist/io/broker/RedisStreamsActor.js +140 -0
  571. package/dist/io/broker/RedisStreamsActor.js.map +1 -0
  572. package/dist/io/broker/ServerWebSocketActor.d.ts +109 -0
  573. package/dist/io/broker/ServerWebSocketActor.d.ts.map +1 -0
  574. package/dist/io/broker/ServerWebSocketActor.js +128 -0
  575. package/dist/io/broker/ServerWebSocketActor.js.map +1 -0
  576. package/dist/io/broker/SseActor.d.ts +45 -0
  577. package/dist/io/broker/SseActor.d.ts.map +1 -0
  578. package/dist/io/broker/SseActor.js +129 -0
  579. package/dist/io/broker/SseActor.js.map +1 -0
  580. package/dist/io/broker/TcpSocketActor.d.ts +73 -0
  581. package/dist/io/broker/TcpSocketActor.d.ts.map +1 -0
  582. package/dist/io/broker/TcpSocketActor.js +168 -0
  583. package/dist/io/broker/TcpSocketActor.js.map +1 -0
  584. package/dist/io/broker/UdpSocketActor.d.ts +54 -0
  585. package/dist/io/broker/UdpSocketActor.d.ts.map +1 -0
  586. package/dist/io/broker/UdpSocketActor.js +100 -0
  587. package/dist/io/broker/UdpSocketActor.js.map +1 -0
  588. package/dist/io/broker/WebSocketActor.d.ts +77 -0
  589. package/dist/io/broker/WebSocketActor.d.ts.map +1 -0
  590. package/dist/io/broker/WebSocketActor.js +217 -0
  591. package/dist/io/broker/WebSocketActor.js.map +1 -0
  592. package/dist/io/broker/WebSocketServerAdapters.d.ts +140 -0
  593. package/dist/io/broker/WebSocketServerAdapters.d.ts.map +1 -0
  594. package/dist/io/broker/WebSocketServerAdapters.js +155 -0
  595. package/dist/io/broker/WebSocketServerAdapters.js.map +1 -0
  596. package/dist/io/broker/index.d.ts +32 -0
  597. package/dist/io/broker/index.d.ts.map +1 -0
  598. package/dist/io/broker/index.js +22 -0
  599. package/dist/io/broker/index.js.map +1 -0
  600. package/dist/io/index.d.ts +2 -0
  601. package/dist/io/index.d.ts.map +1 -0
  602. package/dist/io/index.js +2 -0
  603. package/dist/io/index.js.map +1 -0
  604. package/dist/mailbox/BoundedMailbox.d.ts +28 -0
  605. package/dist/mailbox/BoundedMailbox.d.ts.map +1 -0
  606. package/dist/mailbox/BoundedMailbox.js +41 -0
  607. package/dist/mailbox/BoundedMailbox.js.map +1 -0
  608. package/dist/mailbox/PriorityMailbox.d.ts +32 -0
  609. package/dist/mailbox/PriorityMailbox.d.ts.map +1 -0
  610. package/dist/mailbox/PriorityMailbox.js +58 -0
  611. package/dist/mailbox/PriorityMailbox.js.map +1 -0
  612. package/dist/mailbox/index.d.ts +5 -0
  613. package/dist/mailbox/index.d.ts.map +1 -0
  614. package/dist/mailbox/index.js +3 -0
  615. package/dist/mailbox/index.js.map +1 -0
  616. package/dist/management/HealthCheck.d.ts +21 -0
  617. package/dist/management/HealthCheck.d.ts.map +1 -0
  618. package/dist/management/HealthCheck.js +46 -0
  619. package/dist/management/HealthCheck.js.map +1 -0
  620. package/dist/management/HttpManagement.d.ts +43 -0
  621. package/dist/management/HttpManagement.d.ts.map +1 -0
  622. package/dist/management/HttpManagement.js +158 -0
  623. package/dist/management/HttpManagement.js.map +1 -0
  624. package/dist/management/index.d.ts +5 -0
  625. package/dist/management/index.d.ts.map +1 -0
  626. package/dist/management/index.js +3 -0
  627. package/dist/management/index.js.map +1 -0
  628. package/dist/metrics/Metrics.d.ts +142 -0
  629. package/dist/metrics/Metrics.d.ts.map +1 -0
  630. package/dist/metrics/Metrics.js +231 -0
  631. package/dist/metrics/Metrics.js.map +1 -0
  632. package/dist/metrics/MetricsExtension.d.ts +51 -0
  633. package/dist/metrics/MetricsExtension.d.ts.map +1 -0
  634. package/dist/metrics/MetricsExtension.js +63 -0
  635. package/dist/metrics/MetricsExtension.js.map +1 -0
  636. package/dist/metrics/PromClientAdapter.d.ts +102 -0
  637. package/dist/metrics/PromClientAdapter.d.ts.map +1 -0
  638. package/dist/metrics/PromClientAdapter.js +244 -0
  639. package/dist/metrics/PromClientAdapter.js.map +1 -0
  640. package/dist/metrics/PrometheusExporter.d.ts +31 -0
  641. package/dist/metrics/PrometheusExporter.d.ts.map +1 -0
  642. package/dist/metrics/PrometheusExporter.js +128 -0
  643. package/dist/metrics/PrometheusExporter.js.map +1 -0
  644. package/dist/metrics/index.d.ts +7 -0
  645. package/dist/metrics/index.d.ts.map +1 -0
  646. package/dist/metrics/index.js +5 -0
  647. package/dist/metrics/index.js.map +1 -0
  648. package/dist/pattern/BackoffPolicy.d.ts +67 -0
  649. package/dist/pattern/BackoffPolicy.d.ts.map +1 -0
  650. package/dist/pattern/BackoffPolicy.js +87 -0
  651. package/dist/pattern/BackoffPolicy.js.map +1 -0
  652. package/dist/pattern/BackoffSupervisor.d.ts +234 -0
  653. package/dist/pattern/BackoffSupervisor.d.ts.map +1 -0
  654. package/dist/pattern/BackoffSupervisor.js +292 -0
  655. package/dist/pattern/BackoffSupervisor.js.map +1 -0
  656. package/dist/pattern/CircuitBreaker.d.ts +49 -0
  657. package/dist/pattern/CircuitBreaker.d.ts.map +1 -0
  658. package/dist/pattern/CircuitBreaker.js +110 -0
  659. package/dist/pattern/CircuitBreaker.js.map +1 -0
  660. package/dist/pattern/Status.d.ts +13 -0
  661. package/dist/pattern/Status.d.ts.map +1 -0
  662. package/dist/pattern/Status.js +13 -0
  663. package/dist/pattern/Status.js.map +1 -0
  664. package/dist/pattern/after.d.ts +13 -0
  665. package/dist/pattern/after.d.ts.map +1 -0
  666. package/dist/pattern/after.js +26 -0
  667. package/dist/pattern/after.js.map +1 -0
  668. package/dist/pattern/index.d.ts +14 -0
  669. package/dist/pattern/index.d.ts.map +1 -0
  670. package/dist/pattern/index.js +8 -0
  671. package/dist/pattern/index.js.map +1 -0
  672. package/dist/pattern/pipeTo.d.ts +20 -0
  673. package/dist/pattern/pipeTo.d.ts.map +1 -0
  674. package/dist/pattern/pipeTo.js +22 -0
  675. package/dist/pattern/pipeTo.js.map +1 -0
  676. package/dist/pattern/retry.d.ts +24 -0
  677. package/dist/pattern/retry.d.ts.map +1 -0
  678. package/dist/pattern/retry.js +35 -0
  679. package/dist/pattern/retry.js.map +1 -0
  680. package/dist/persistence/DurableStateActor.d.ts +62 -0
  681. package/dist/persistence/DurableStateActor.d.ts.map +1 -0
  682. package/dist/persistence/DurableStateActor.js +120 -0
  683. package/dist/persistence/DurableStateActor.js.map +1 -0
  684. package/dist/persistence/DurableStateStore.d.ts +43 -0
  685. package/dist/persistence/DurableStateStore.d.ts.map +1 -0
  686. package/dist/persistence/DurableStateStore.js +13 -0
  687. package/dist/persistence/DurableStateStore.js.map +1 -0
  688. package/dist/persistence/EventDispatcher.d.ts +88 -0
  689. package/dist/persistence/EventDispatcher.d.ts.map +1 -0
  690. package/dist/persistence/EventDispatcher.js +81 -0
  691. package/dist/persistence/EventDispatcher.js.map +1 -0
  692. package/dist/persistence/Journal.d.ts +40 -0
  693. package/dist/persistence/Journal.d.ts.map +1 -0
  694. package/dist/persistence/Journal.js +2 -0
  695. package/dist/persistence/Journal.js.map +1 -0
  696. package/dist/persistence/JournalEventBus.d.ts +47 -0
  697. package/dist/persistence/JournalEventBus.d.ts.map +1 -0
  698. package/dist/persistence/JournalEventBus.js +26 -0
  699. package/dist/persistence/JournalEventBus.js.map +1 -0
  700. package/dist/persistence/JournalTypes.d.ts +39 -0
  701. package/dist/persistence/JournalTypes.d.ts.map +1 -0
  702. package/dist/persistence/JournalTypes.js +28 -0
  703. package/dist/persistence/JournalTypes.js.map +1 -0
  704. package/dist/persistence/PersistenceExtension.d.ts +32 -0
  705. package/dist/persistence/PersistenceExtension.d.ts.map +1 -0
  706. package/dist/persistence/PersistenceExtension.js +69 -0
  707. package/dist/persistence/PersistenceExtension.js.map +1 -0
  708. package/dist/persistence/PersistenceOptions.d.ts +95 -0
  709. package/dist/persistence/PersistenceOptions.d.ts.map +1 -0
  710. package/dist/persistence/PersistenceOptions.js +20 -0
  711. package/dist/persistence/PersistenceOptions.js.map +1 -0
  712. package/dist/persistence/PersistentActor.d.ts +120 -0
  713. package/dist/persistence/PersistentActor.d.ts.map +1 -0
  714. package/dist/persistence/PersistentActor.js +246 -0
  715. package/dist/persistence/PersistentActor.js.map +1 -0
  716. package/dist/persistence/ReplicatedEventSourcedActor.d.ts +238 -0
  717. package/dist/persistence/ReplicatedEventSourcedActor.d.ts.map +1 -0
  718. package/dist/persistence/ReplicatedEventSourcedActor.js +430 -0
  719. package/dist/persistence/ReplicatedEventSourcedActor.js.map +1 -0
  720. package/dist/persistence/SnapshotStore.d.ts +31 -0
  721. package/dist/persistence/SnapshotStore.d.ts.map +1 -0
  722. package/dist/persistence/SnapshotStore.js +2 -0
  723. package/dist/persistence/SnapshotStore.js.map +1 -0
  724. package/dist/persistence/durable-state-stores/InMemoryDurableStateStore.d.ts +14 -0
  725. package/dist/persistence/durable-state-stores/InMemoryDurableStateStore.d.ts.map +1 -0
  726. package/dist/persistence/durable-state-stores/InMemoryDurableStateStore.js +31 -0
  727. package/dist/persistence/durable-state-stores/InMemoryDurableStateStore.js.map +1 -0
  728. package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.d.ts +27 -0
  729. package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.d.ts.map +1 -0
  730. package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.js +157 -0
  731. package/dist/persistence/durable-state-stores/ObjectStorageDurableStateStore.js.map +1 -0
  732. package/dist/persistence/index.d.ts +65 -0
  733. package/dist/persistence/index.d.ts.map +1 -0
  734. package/dist/persistence/index.js +44 -0
  735. package/dist/persistence/index.js.map +1 -0
  736. package/dist/persistence/journals/CassandraClient.d.ts +81 -0
  737. package/dist/persistence/journals/CassandraClient.d.ts.map +1 -0
  738. package/dist/persistence/journals/CassandraClient.js +65 -0
  739. package/dist/persistence/journals/CassandraClient.js.map +1 -0
  740. package/dist/persistence/journals/CassandraJournal.d.ts +96 -0
  741. package/dist/persistence/journals/CassandraJournal.d.ts.map +1 -0
  742. package/dist/persistence/journals/CassandraJournal.js +247 -0
  743. package/dist/persistence/journals/CassandraJournal.js.map +1 -0
  744. package/dist/persistence/journals/CassandraPlugin.d.ts +30 -0
  745. package/dist/persistence/journals/CassandraPlugin.d.ts.map +1 -0
  746. package/dist/persistence/journals/CassandraPlugin.js +18 -0
  747. package/dist/persistence/journals/CassandraPlugin.js.map +1 -0
  748. package/dist/persistence/journals/InMemoryJournal.d.ts +35 -0
  749. package/dist/persistence/journals/InMemoryJournal.d.ts.map +1 -0
  750. package/dist/persistence/journals/InMemoryJournal.js +97 -0
  751. package/dist/persistence/journals/InMemoryJournal.js.map +1 -0
  752. package/dist/persistence/journals/SqliteJournal.d.ts +68 -0
  753. package/dist/persistence/journals/SqliteJournal.d.ts.map +1 -0
  754. package/dist/persistence/journals/SqliteJournal.js +225 -0
  755. package/dist/persistence/journals/SqliteJournal.js.map +1 -0
  756. package/dist/persistence/migration/Adapter.d.ts +72 -0
  757. package/dist/persistence/migration/Adapter.d.ts.map +1 -0
  758. package/dist/persistence/migration/Adapter.js +24 -0
  759. package/dist/persistence/migration/Adapter.js.map +1 -0
  760. package/dist/persistence/migration/Codec.d.ts +103 -0
  761. package/dist/persistence/migration/Codec.d.ts.map +1 -0
  762. package/dist/persistence/migration/Codec.js +92 -0
  763. package/dist/persistence/migration/Codec.js.map +1 -0
  764. package/dist/persistence/migration/Envelope.d.ts +37 -0
  765. package/dist/persistence/migration/Envelope.d.ts.map +1 -0
  766. package/dist/persistence/migration/Envelope.js +79 -0
  767. package/dist/persistence/migration/Envelope.js.map +1 -0
  768. package/dist/persistence/migration/MigrationChain.d.ts +100 -0
  769. package/dist/persistence/migration/MigrationChain.d.ts.map +1 -0
  770. package/dist/persistence/migration/MigrationChain.js +159 -0
  771. package/dist/persistence/migration/MigrationChain.js.map +1 -0
  772. package/dist/persistence/migration/SchemaRegistry.d.ts +114 -0
  773. package/dist/persistence/migration/SchemaRegistry.d.ts.map +1 -0
  774. package/dist/persistence/migration/SchemaRegistry.js +112 -0
  775. package/dist/persistence/migration/SchemaRegistry.js.map +1 -0
  776. package/dist/persistence/migration/defaultsAdapter.d.ts +56 -0
  777. package/dist/persistence/migration/defaultsAdapter.d.ts.map +1 -0
  778. package/dist/persistence/migration/defaultsAdapter.js +119 -0
  779. package/dist/persistence/migration/defaultsAdapter.js.map +1 -0
  780. package/dist/persistence/migration/index.d.ts +18 -0
  781. package/dist/persistence/migration/index.d.ts.map +1 -0
  782. package/dist/persistence/migration/index.js +12 -0
  783. package/dist/persistence/migration/index.js.map +1 -0
  784. package/dist/persistence/migration/journalMigration.d.ts +155 -0
  785. package/dist/persistence/migration/journalMigration.d.ts.map +1 -0
  786. package/dist/persistence/migration/journalMigration.js +149 -0
  787. package/dist/persistence/migration/journalMigration.js.map +1 -0
  788. package/dist/persistence/migration/migratingAdapter.d.ts +43 -0
  789. package/dist/persistence/migration/migratingAdapter.d.ts.map +1 -0
  790. package/dist/persistence/migration/migratingAdapter.js +65 -0
  791. package/dist/persistence/migration/migratingAdapter.js.map +1 -0
  792. package/dist/persistence/migration/validatedAdapter.d.ts +48 -0
  793. package/dist/persistence/migration/validatedAdapter.d.ts.map +1 -0
  794. package/dist/persistence/migration/validatedAdapter.js +86 -0
  795. package/dist/persistence/migration/validatedAdapter.js.map +1 -0
  796. package/dist/persistence/migration/wrapLegacy.d.ts +83 -0
  797. package/dist/persistence/migration/wrapLegacy.d.ts.map +1 -0
  798. package/dist/persistence/migration/wrapLegacy.js +126 -0
  799. package/dist/persistence/migration/wrapLegacy.js.map +1 -0
  800. package/dist/persistence/object-storage/BodyCodec.d.ts +88 -0
  801. package/dist/persistence/object-storage/BodyCodec.d.ts.map +1 -0
  802. package/dist/persistence/object-storage/BodyCodec.js +171 -0
  803. package/dist/persistence/object-storage/BodyCodec.js.map +1 -0
  804. package/dist/persistence/object-storage/Compression.d.ts +31 -0
  805. package/dist/persistence/object-storage/Compression.d.ts.map +1 -0
  806. package/dist/persistence/object-storage/Compression.js +99 -0
  807. package/dist/persistence/object-storage/Compression.js.map +1 -0
  808. package/dist/persistence/object-storage/Encryption.d.ts +73 -0
  809. package/dist/persistence/object-storage/Encryption.d.ts.map +1 -0
  810. package/dist/persistence/object-storage/Encryption.js +167 -0
  811. package/dist/persistence/object-storage/Encryption.js.map +1 -0
  812. package/dist/persistence/object-storage/FilesystemObjectStorageBackend.d.ts +79 -0
  813. package/dist/persistence/object-storage/FilesystemObjectStorageBackend.d.ts.map +1 -0
  814. package/dist/persistence/object-storage/FilesystemObjectStorageBackend.js +325 -0
  815. package/dist/persistence/object-storage/FilesystemObjectStorageBackend.js.map +1 -0
  816. package/dist/persistence/object-storage/ObjectStorageBackend.d.ts +86 -0
  817. package/dist/persistence/object-storage/ObjectStorageBackend.d.ts.map +1 -0
  818. package/dist/persistence/object-storage/ObjectStorageBackend.js +24 -0
  819. package/dist/persistence/object-storage/ObjectStorageBackend.js.map +1 -0
  820. package/dist/persistence/object-storage/ObjectStoragePlugin.d.ts +93 -0
  821. package/dist/persistence/object-storage/ObjectStoragePlugin.d.ts.map +1 -0
  822. package/dist/persistence/object-storage/ObjectStoragePlugin.js +113 -0
  823. package/dist/persistence/object-storage/ObjectStoragePlugin.js.map +1 -0
  824. package/dist/persistence/object-storage/PluginConfig.d.ts +67 -0
  825. package/dist/persistence/object-storage/PluginConfig.d.ts.map +1 -0
  826. package/dist/persistence/object-storage/PluginConfig.js +93 -0
  827. package/dist/persistence/object-storage/PluginConfig.js.map +1 -0
  828. package/dist/persistence/object-storage/S3ObjectStorageBackend.d.ts +104 -0
  829. package/dist/persistence/object-storage/S3ObjectStorageBackend.d.ts.map +1 -0
  830. package/dist/persistence/object-storage/S3ObjectStorageBackend.js +202 -0
  831. package/dist/persistence/object-storage/S3ObjectStorageBackend.js.map +1 -0
  832. package/dist/persistence/object-storage/reEncryptionSweep.d.ts +110 -0
  833. package/dist/persistence/object-storage/reEncryptionSweep.d.ts.map +1 -0
  834. package/dist/persistence/object-storage/reEncryptionSweep.js +157 -0
  835. package/dist/persistence/object-storage/reEncryptionSweep.js.map +1 -0
  836. package/dist/persistence/projection/OffsetStore.d.ts +69 -0
  837. package/dist/persistence/projection/OffsetStore.d.ts.map +1 -0
  838. package/dist/persistence/projection/OffsetStore.js +103 -0
  839. package/dist/persistence/projection/OffsetStore.js.map +1 -0
  840. package/dist/persistence/projection/ProjectionActor.d.ts +62 -0
  841. package/dist/persistence/projection/ProjectionActor.d.ts.map +1 -0
  842. package/dist/persistence/projection/ProjectionActor.js +120 -0
  843. package/dist/persistence/projection/ProjectionActor.js.map +1 -0
  844. package/dist/persistence/query/CassandraQuery.d.ts +42 -0
  845. package/dist/persistence/query/CassandraQuery.d.ts.map +1 -0
  846. package/dist/persistence/query/CassandraQuery.js +118 -0
  847. package/dist/persistence/query/CassandraQuery.js.map +1 -0
  848. package/dist/persistence/query/InMemoryQuery.d.ts +31 -0
  849. package/dist/persistence/query/InMemoryQuery.d.ts.map +1 -0
  850. package/dist/persistence/query/InMemoryQuery.js +285 -0
  851. package/dist/persistence/query/InMemoryQuery.js.map +1 -0
  852. package/dist/persistence/query/PersistenceQuery.d.ts +162 -0
  853. package/dist/persistence/query/PersistenceQuery.d.ts.map +1 -0
  854. package/dist/persistence/query/PersistenceQuery.js +78 -0
  855. package/dist/persistence/query/PersistenceQuery.js.map +1 -0
  856. package/dist/persistence/query/SqliteQuery.d.ts +58 -0
  857. package/dist/persistence/query/SqliteQuery.d.ts.map +1 -0
  858. package/dist/persistence/query/SqliteQuery.js +173 -0
  859. package/dist/persistence/query/SqliteQuery.js.map +1 -0
  860. package/dist/persistence/replicated/ConflictResolver.d.ts +70 -0
  861. package/dist/persistence/replicated/ConflictResolver.d.ts.map +1 -0
  862. package/dist/persistence/replicated/ConflictResolver.js +47 -0
  863. package/dist/persistence/replicated/ConflictResolver.js.map +1 -0
  864. package/dist/persistence/replicated/ReplicatedSnapshot.d.ts +43 -0
  865. package/dist/persistence/replicated/ReplicatedSnapshot.d.ts.map +1 -0
  866. package/dist/persistence/replicated/ReplicatedSnapshot.js +2 -0
  867. package/dist/persistence/replicated/ReplicatedSnapshot.js.map +1 -0
  868. package/dist/persistence/replicated/VectorClock.d.ts +57 -0
  869. package/dist/persistence/replicated/VectorClock.d.ts.map +1 -0
  870. package/dist/persistence/replicated/VectorClock.js +79 -0
  871. package/dist/persistence/replicated/VectorClock.js.map +1 -0
  872. package/dist/persistence/snapshot-stores/CachedSnapshotStore.d.ts +27 -0
  873. package/dist/persistence/snapshot-stores/CachedSnapshotStore.d.ts.map +1 -0
  874. package/dist/persistence/snapshot-stores/CachedSnapshotStore.js +82 -0
  875. package/dist/persistence/snapshot-stores/CachedSnapshotStore.js.map +1 -0
  876. package/dist/persistence/snapshot-stores/CassandraSnapshotStore.d.ts +42 -0
  877. package/dist/persistence/snapshot-stores/CassandraSnapshotStore.d.ts.map +1 -0
  878. package/dist/persistence/snapshot-stores/CassandraSnapshotStore.js +121 -0
  879. package/dist/persistence/snapshot-stores/CassandraSnapshotStore.js.map +1 -0
  880. package/dist/persistence/snapshot-stores/InMemorySnapshotStore.d.ts +19 -0
  881. package/dist/persistence/snapshot-stores/InMemorySnapshotStore.d.ts.map +1 -0
  882. package/dist/persistence/snapshot-stores/InMemorySnapshotStore.js +44 -0
  883. package/dist/persistence/snapshot-stores/InMemorySnapshotStore.js.map +1 -0
  884. package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.d.ts +46 -0
  885. package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.d.ts.map +1 -0
  886. package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.js +172 -0
  887. package/dist/persistence/snapshot-stores/ObjectStorageSnapshotStore.js.map +1 -0
  888. package/dist/persistence/snapshot-stores/SqliteSnapshotStore.d.ts +42 -0
  889. package/dist/persistence/snapshot-stores/SqliteSnapshotStore.d.ts.map +1 -0
  890. package/dist/persistence/snapshot-stores/SqliteSnapshotStore.js +108 -0
  891. package/dist/persistence/snapshot-stores/SqliteSnapshotStore.js.map +1 -0
  892. package/dist/persistence/storage/KeyValidator.d.ts +80 -0
  893. package/dist/persistence/storage/KeyValidator.d.ts.map +1 -0
  894. package/dist/persistence/storage/KeyValidator.js +88 -0
  895. package/dist/persistence/storage/KeyValidator.js.map +1 -0
  896. package/dist/runtime/detect.d.ts +35 -0
  897. package/dist/runtime/detect.d.ts.map +1 -0
  898. package/dist/runtime/detect.js +60 -0
  899. package/dist/runtime/detect.js.map +1 -0
  900. package/dist/runtime/http/BunHonoRunner.d.ts +16 -0
  901. package/dist/runtime/http/BunHonoRunner.d.ts.map +1 -0
  902. package/dist/runtime/http/BunHonoRunner.js +26 -0
  903. package/dist/runtime/http/BunHonoRunner.js.map +1 -0
  904. package/dist/runtime/http/DenoHonoRunner.d.ts +16 -0
  905. package/dist/runtime/http/DenoHonoRunner.d.ts.map +1 -0
  906. package/dist/runtime/http/DenoHonoRunner.js +33 -0
  907. package/dist/runtime/http/DenoHonoRunner.js.map +1 -0
  908. package/dist/runtime/http/HonoServerRunner.d.ts +28 -0
  909. package/dist/runtime/http/HonoServerRunner.d.ts.map +1 -0
  910. package/dist/runtime/http/HonoServerRunner.js +16 -0
  911. package/dist/runtime/http/HonoServerRunner.js.map +1 -0
  912. package/dist/runtime/http/NodeHonoRunner.d.ts +19 -0
  913. package/dist/runtime/http/NodeHonoRunner.d.ts.map +1 -0
  914. package/dist/runtime/http/NodeHonoRunner.js +70 -0
  915. package/dist/runtime/http/NodeHonoRunner.js.map +1 -0
  916. package/dist/runtime/http/index.d.ts +13 -0
  917. package/dist/runtime/http/index.d.ts.map +1 -0
  918. package/dist/runtime/http/index.js +40 -0
  919. package/dist/runtime/http/index.js.map +1 -0
  920. package/dist/runtime/sqlite/BetterSqliteDriver.d.ts +18 -0
  921. package/dist/runtime/sqlite/BetterSqliteDriver.d.ts.map +1 -0
  922. package/dist/runtime/sqlite/BetterSqliteDriver.js +64 -0
  923. package/dist/runtime/sqlite/BetterSqliteDriver.js.map +1 -0
  924. package/dist/runtime/sqlite/BunSqliteDriver.d.ts +17 -0
  925. package/dist/runtime/sqlite/BunSqliteDriver.d.ts.map +1 -0
  926. package/dist/runtime/sqlite/BunSqliteDriver.js +34 -0
  927. package/dist/runtime/sqlite/BunSqliteDriver.js.map +1 -0
  928. package/dist/runtime/sqlite/SqliteDriver.d.ts +35 -0
  929. package/dist/runtime/sqlite/SqliteDriver.d.ts.map +1 -0
  930. package/dist/runtime/sqlite/SqliteDriver.js +13 -0
  931. package/dist/runtime/sqlite/SqliteDriver.js.map +1 -0
  932. package/dist/runtime/sqlite/index.d.ts +14 -0
  933. package/dist/runtime/sqlite/index.d.ts.map +1 -0
  934. package/dist/runtime/sqlite/index.js +41 -0
  935. package/dist/runtime/sqlite/index.js.map +1 -0
  936. package/dist/runtime/tcp/BunTcpBackend.d.ts +24 -0
  937. package/dist/runtime/tcp/BunTcpBackend.d.ts.map +1 -0
  938. package/dist/runtime/tcp/BunTcpBackend.js +66 -0
  939. package/dist/runtime/tcp/BunTcpBackend.js.map +1 -0
  940. package/dist/runtime/tcp/DenoTcpBackend.d.ts +30 -0
  941. package/dist/runtime/tcp/DenoTcpBackend.d.ts.map +1 -0
  942. package/dist/runtime/tcp/DenoTcpBackend.js +145 -0
  943. package/dist/runtime/tcp/DenoTcpBackend.js.map +1 -0
  944. package/dist/runtime/tcp/NodeTcpBackend.d.ts +25 -0
  945. package/dist/runtime/tcp/NodeTcpBackend.d.ts.map +1 -0
  946. package/dist/runtime/tcp/NodeTcpBackend.js +102 -0
  947. package/dist/runtime/tcp/NodeTcpBackend.js.map +1 -0
  948. package/dist/runtime/tcp/TcpBackend.d.ts +65 -0
  949. package/dist/runtime/tcp/TcpBackend.d.ts.map +1 -0
  950. package/dist/runtime/tcp/TcpBackend.js +17 -0
  951. package/dist/runtime/tcp/TcpBackend.js.map +1 -0
  952. package/dist/runtime/tcp/index.d.ts +13 -0
  953. package/dist/runtime/tcp/index.d.ts.map +1 -0
  954. package/dist/runtime/tcp/index.js +40 -0
  955. package/dist/runtime/tcp/index.js.map +1 -0
  956. package/dist/runtime/worker/NodeWorkerBackend.d.ts +19 -0
  957. package/dist/runtime/worker/NodeWorkerBackend.d.ts.map +1 -0
  958. package/dist/runtime/worker/NodeWorkerBackend.js +84 -0
  959. package/dist/runtime/worker/NodeWorkerBackend.js.map +1 -0
  960. package/dist/runtime/worker/WebWorkerBackend.d.ts +12 -0
  961. package/dist/runtime/worker/WebWorkerBackend.d.ts.map +1 -0
  962. package/dist/runtime/worker/WebWorkerBackend.js +55 -0
  963. package/dist/runtime/worker/WebWorkerBackend.js.map +1 -0
  964. package/dist/runtime/worker/WorkerBackend.d.ts +45 -0
  965. package/dist/runtime/worker/WorkerBackend.d.ts.map +1 -0
  966. package/dist/runtime/worker/WorkerBackend.js +18 -0
  967. package/dist/runtime/worker/WorkerBackend.js.map +1 -0
  968. package/dist/runtime/worker/index.d.ts +14 -0
  969. package/dist/runtime/worker/index.d.ts.map +1 -0
  970. package/dist/runtime/worker/index.js +34 -0
  971. package/dist/runtime/worker/index.js.map +1 -0
  972. package/dist/serialization/CborCodec.d.ts +51 -0
  973. package/dist/serialization/CborCodec.d.ts.map +1 -0
  974. package/dist/serialization/CborCodec.js +321 -0
  975. package/dist/serialization/CborCodec.js.map +1 -0
  976. package/dist/serialization/CborSerializer.d.ts +23 -0
  977. package/dist/serialization/CborSerializer.d.ts.map +1 -0
  978. package/dist/serialization/CborSerializer.js +27 -0
  979. package/dist/serialization/CborSerializer.js.map +1 -0
  980. package/dist/serialization/JsonSerializer.d.ts +18 -0
  981. package/dist/serialization/JsonSerializer.d.ts.map +1 -0
  982. package/dist/serialization/JsonSerializer.js +114 -0
  983. package/dist/serialization/JsonSerializer.js.map +1 -0
  984. package/dist/serialization/SerializationExtension.d.ts +46 -0
  985. package/dist/serialization/SerializationExtension.d.ts.map +1 -0
  986. package/dist/serialization/SerializationExtension.js +105 -0
  987. package/dist/serialization/SerializationExtension.js.map +1 -0
  988. package/dist/serialization/Serializer.d.ts +44 -0
  989. package/dist/serialization/Serializer.d.ts.map +1 -0
  990. package/dist/serialization/Serializer.js +7 -0
  991. package/dist/serialization/Serializer.js.map +1 -0
  992. package/dist/serialization/index.d.ts +7 -0
  993. package/dist/serialization/index.d.ts.map +1 -0
  994. package/dist/serialization/index.js +6 -0
  995. package/dist/serialization/index.js.map +1 -0
  996. package/dist/testkit/ManualScheduler.d.ts +35 -0
  997. package/dist/testkit/ManualScheduler.d.ts.map +1 -0
  998. package/dist/testkit/ManualScheduler.js +126 -0
  999. package/dist/testkit/ManualScheduler.js.map +1 -0
  1000. package/dist/testkit/MultiNodeSpec.d.ts +132 -0
  1001. package/dist/testkit/MultiNodeSpec.d.ts.map +1 -0
  1002. package/dist/testkit/MultiNodeSpec.js +237 -0
  1003. package/dist/testkit/MultiNodeSpec.js.map +1 -0
  1004. package/dist/testkit/ParallelMultiNodeSpec.d.ts +117 -0
  1005. package/dist/testkit/ParallelMultiNodeSpec.d.ts.map +1 -0
  1006. package/dist/testkit/ParallelMultiNodeSpec.js +310 -0
  1007. package/dist/testkit/ParallelMultiNodeSpec.js.map +1 -0
  1008. package/dist/testkit/TestKit.d.ts +40 -0
  1009. package/dist/testkit/TestKit.d.ts.map +1 -0
  1010. package/dist/testkit/TestKit.js +60 -0
  1011. package/dist/testkit/TestKit.js.map +1 -0
  1012. package/dist/testkit/TestProbe.d.ts +56 -0
  1013. package/dist/testkit/TestProbe.d.ts.map +1 -0
  1014. package/dist/testkit/TestProbe.js +184 -0
  1015. package/dist/testkit/TestProbe.js.map +1 -0
  1016. package/dist/testkit/index.d.ts +11 -0
  1017. package/dist/testkit/index.d.ts.map +1 -0
  1018. package/dist/testkit/index.js +6 -0
  1019. package/dist/testkit/index.js.map +1 -0
  1020. package/dist/testkit/internal/MultiNodeBroker.d.ts +39 -0
  1021. package/dist/testkit/internal/MultiNodeBroker.d.ts.map +1 -0
  1022. package/dist/testkit/internal/MultiNodeBroker.js +96 -0
  1023. package/dist/testkit/internal/MultiNodeBroker.js.map +1 -0
  1024. package/dist/testkit/internal/MultiNodeTransport.d.ts +58 -0
  1025. package/dist/testkit/internal/MultiNodeTransport.d.ts.map +1 -0
  1026. package/dist/testkit/internal/MultiNodeTransport.js +96 -0
  1027. package/dist/testkit/internal/MultiNodeTransport.js.map +1 -0
  1028. package/dist/testkit/internal/parallel-multi-node-bootstrap.d.ts +54 -0
  1029. package/dist/testkit/internal/parallel-multi-node-bootstrap.d.ts.map +1 -0
  1030. package/dist/testkit/internal/parallel-multi-node-bootstrap.js +157 -0
  1031. package/dist/testkit/internal/parallel-multi-node-bootstrap.js.map +1 -0
  1032. package/dist/tracing/NoopTracer.d.ts +11 -0
  1033. package/dist/tracing/NoopTracer.d.ts.map +1 -0
  1034. package/dist/tracing/NoopTracer.js +29 -0
  1035. package/dist/tracing/NoopTracer.js.map +1 -0
  1036. package/dist/tracing/OtelAdapter.d.ts +106 -0
  1037. package/dist/tracing/OtelAdapter.d.ts.map +1 -0
  1038. package/dist/tracing/OtelAdapter.js +164 -0
  1039. package/dist/tracing/OtelAdapter.js.map +1 -0
  1040. package/dist/tracing/RecordingTracer.d.ts +54 -0
  1041. package/dist/tracing/RecordingTracer.d.ts.map +1 -0
  1042. package/dist/tracing/RecordingTracer.js +129 -0
  1043. package/dist/tracing/RecordingTracer.js.map +1 -0
  1044. package/dist/tracing/Tracer.d.ts +100 -0
  1045. package/dist/tracing/Tracer.d.ts.map +1 -0
  1046. package/dist/tracing/Tracer.js +76 -0
  1047. package/dist/tracing/Tracer.js.map +1 -0
  1048. package/dist/tracing/TracingExtension.d.ts +32 -0
  1049. package/dist/tracing/TracingExtension.d.ts.map +1 -0
  1050. package/dist/tracing/TracingExtension.js +38 -0
  1051. package/dist/tracing/TracingExtension.js.map +1 -0
  1052. package/dist/tracing/index.d.ts +9 -0
  1053. package/dist/tracing/index.d.ts.map +1 -0
  1054. package/dist/tracing/index.js +6 -0
  1055. package/dist/tracing/index.js.map +1 -0
  1056. package/dist/typed/Behavior.d.ts +78 -0
  1057. package/dist/typed/Behavior.d.ts.map +1 -0
  1058. package/dist/typed/Behavior.js +2 -0
  1059. package/dist/typed/Behavior.js.map +1 -0
  1060. package/dist/typed/Behaviors.d.ts +60 -0
  1061. package/dist/typed/Behaviors.d.ts.map +1 -0
  1062. package/dist/typed/Behaviors.js +77 -0
  1063. package/dist/typed/Behaviors.js.map +1 -0
  1064. package/dist/typed/TypedActor.d.ts +28 -0
  1065. package/dist/typed/TypedActor.d.ts.map +1 -0
  1066. package/dist/typed/TypedActor.js +194 -0
  1067. package/dist/typed/TypedActor.js.map +1 -0
  1068. package/dist/typed/TypedActorContext.d.ts +29 -0
  1069. package/dist/typed/TypedActorContext.d.ts.map +1 -0
  1070. package/dist/typed/TypedActorContext.js +2 -0
  1071. package/dist/typed/TypedActorContext.js.map +1 -0
  1072. package/dist/typed/index.d.ts +7 -0
  1073. package/dist/typed/index.d.ts.map +1 -0
  1074. package/dist/typed/index.js +4 -0
  1075. package/dist/typed/index.js.map +1 -0
  1076. package/dist/typed/spawn.d.ts +14 -0
  1077. package/dist/typed/spawn.d.ts.map +1 -0
  1078. package/dist/typed/spawn.js +16 -0
  1079. package/dist/typed/spawn.js.map +1 -0
  1080. package/dist/util/Constants.d.ts +66 -0
  1081. package/dist/util/Constants.d.ts.map +1 -0
  1082. package/dist/util/Constants.js +66 -0
  1083. package/dist/util/Constants.js.map +1 -0
  1084. package/dist/util/Either.d.ts +100 -0
  1085. package/dist/util/Either.d.ts.map +1 -0
  1086. package/dist/util/Either.js +128 -0
  1087. package/dist/util/Either.js.map +1 -0
  1088. package/dist/util/Lazy.d.ts +82 -0
  1089. package/dist/util/Lazy.d.ts.map +1 -0
  1090. package/dist/util/Lazy.js +119 -0
  1091. package/dist/util/Lazy.js.map +1 -0
  1092. package/dist/util/LazyImport.d.ts +68 -0
  1093. package/dist/util/LazyImport.d.ts.map +1 -0
  1094. package/dist/util/LazyImport.js +64 -0
  1095. package/dist/util/LazyImport.js.map +1 -0
  1096. package/dist/util/Option.d.ts +105 -0
  1097. package/dist/util/Option.d.ts.map +1 -0
  1098. package/dist/util/Option.js +123 -0
  1099. package/dist/util/Option.js.map +1 -0
  1100. package/dist/util/TokenBucket.d.ts +59 -0
  1101. package/dist/util/TokenBucket.d.ts.map +1 -0
  1102. package/dist/util/TokenBucket.js +76 -0
  1103. package/dist/util/TokenBucket.js.map +1 -0
  1104. package/dist/util/Try.d.ts +103 -0
  1105. package/dist/util/Try.d.ts.map +1 -0
  1106. package/dist/util/Try.js +176 -0
  1107. package/dist/util/Try.js.map +1 -0
  1108. package/dist/util/WrapError.d.ts +42 -0
  1109. package/dist/util/WrapError.d.ts.map +1 -0
  1110. package/dist/util/WrapError.js +46 -0
  1111. package/dist/util/WrapError.js.map +1 -0
  1112. package/dist/worker/WorkerBroker.d.ts +29 -0
  1113. package/dist/worker/WorkerBroker.d.ts.map +1 -0
  1114. package/dist/worker/WorkerBroker.js +74 -0
  1115. package/dist/worker/WorkerBroker.js.map +1 -0
  1116. package/dist/worker/WorkerCluster.d.ts +68 -0
  1117. package/dist/worker/WorkerCluster.d.ts.map +1 -0
  1118. package/dist/worker/WorkerCluster.js +161 -0
  1119. package/dist/worker/WorkerCluster.js.map +1 -0
  1120. package/dist/worker/WorkerNode.d.ts +20 -0
  1121. package/dist/worker/WorkerNode.d.ts.map +1 -0
  1122. package/dist/worker/WorkerNode.js +84 -0
  1123. package/dist/worker/WorkerNode.js.map +1 -0
  1124. package/dist/worker/index.d.ts +6 -0
  1125. package/dist/worker/index.d.ts.map +1 -0
  1126. package/dist/worker/index.js +4 -0
  1127. package/dist/worker/index.js.map +1 -0
  1128. package/package.json +148 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,885 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project follow [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
4
+ and adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5
+
6
+ This is a pre-1.0 hobby project — every minor version is potentially
7
+ breaking. See `ROADMAP.md` for what's coming, and `README.md` →
8
+ "What's in here / What isn't" for current scope honesty.
9
+
10
+ ## [Unreleased]
11
+
12
+ ## [0.9.0] — 2026-05-14
13
+
14
+ The "public-launch readiness" release. Six workstreams accumulated
15
+ since v0.8.0 (142 commits total): the docs site goes live at
16
+ `actor-ts.dev` with 199+ pages and full German translation; a wave
17
+ of API shortcuts collapses the clustered-actor setup from 15–30
18
+ lines to a single `Cluster.bootstrap({ name })`; eight latent
19
+ security weaknesses get patched; a code-quality sprint closes 17
20
+ audit-catalog issues; the chat sample grows DMs / typing /
21
+ read-receipts / production-grade auth.
22
+
23
+ ### Added — Quality-of-life API shortcuts
24
+
25
+ - `Cluster.bootstrap({ name })` — one-call setup that builds the
26
+ `ActorSystem`, joins the cluster, starts the Receptionist, and
27
+ wires `SIGTERM` / `SIGINT` shutdown. Discovery defaults to an
28
+ env-driven chain (`CLUSTER_SEEDS` → Kubernetes API → DNS) via
29
+ the new `autoDiscovery()` builder so the same code runs
30
+ single-node in dev and joins an existing cluster in production
31
+ without a config change.
32
+ - `cluster.sharding` getter on `Cluster` — replaces the
33
+ `ClusterSharding.get(system, cluster)` ceremony. The static
34
+ form still works for callers that need to reference the class
35
+ from outside a `Cluster` handle.
36
+ - `ClusterSharding.start('cart', CartActor, { extractEntityId })`
37
+ — class-shorthand overload that wraps the entity in
38
+ `Props.create(() => new CartActor())` internally. Factory form
39
+ also accepted (`() => new CartActor(deps)`); full-form
40
+ `start({ typeName, entityProps, ... })` stays valid.
41
+ - `ref.ask<TRes>(msg, timeoutMs?)` — method form of the ask
42
+ pattern. Auto-injects `replyTo: ref` on the message so
43
+ recipients can read either `this.sender` or `msg.replyTo`
44
+ without callers supplying it. `OmitReplyTo<TMsg>` distributes
45
+ across unions so the call site never has to satisfy the
46
+ `replyTo` field.
47
+ - `system.spawnTyped(behavior, name)` +
48
+ `system.spawnTypedAnonymous(behavior)` — method form symmetric
49
+ to `spawn` / `spawnAnonymous`. Same pair on `ActorContext` for
50
+ typed-child creation from untyped parents.
51
+ - `system.http(port, { host?, backend? })` — Fastify-default HTTP
52
+ shortcut. Returns the same `ServerBuilder` as the explicit
53
+ `system.extension(HttpExtensionId).newServerAt(...)` chain.
54
+ - `ActorSystem.create('app', { persistence: { journal,
55
+ snapshotStore } })` — wire real persistence backends at creation
56
+ time. Either slot is independent; the in-memory default stays
57
+ in place for the omitted slot.
58
+
59
+ ### Removed — replaced by method forms
60
+
61
+ - Free function `ask(ref, msg, timeoutMs?)` — use
62
+ `ref.ask<TRes>(msg, timeoutMs?)`. Pre-1.0, no compat shim.
63
+ - Free functions `spawnTyped(system, behavior, name?)` and
64
+ `spawnTypedChild(ctx, behavior, name?)` — use
65
+ `system.spawnTyped(...)` / `ctx.spawnTyped(...)` (with
66
+ anonymous variants). Internal `Ask.ts` and
67
+ `internal/PromiseActorRef.ts` modules deleted; ask impl
68
+ inlined into `ActorRef.ts`.
69
+
70
+ ### Security
71
+
72
+ Eight latent weaknesses patched. All defenses are at the
73
+ deserialisation / boundary layer with regression tests pinning
74
+ both the attack vector and the legitimate path.
75
+
76
+ - **Wire-frame size cap** — `cluster/protocol` rejects frames
77
+ claiming gigabyte+ lengths before allocation; defeats a
78
+ 4-GiB-claim memory-exhaustion DoS. Configurable; `Infinity`
79
+ cap remains the escape hatch.
80
+ - **Path-traversal block in `FilesystemObjectStorageBackend`** —
81
+ keys containing `..` or absolute-path patterns rejected at the
82
+ boundary instead of being resolved through to disk.
83
+ - **Memcached protocol injection** — `MemcachedCache` keys
84
+ validated against the 250-byte / printable-ASCII rule before
85
+ being placed on the wire; defeats injection via attacker-
86
+ controlled keys.
87
+ - **Gossip-version cap against permanent-down exploit** —
88
+ versions more than 24 h above the local wall-clock are
89
+ rejected on the spot; previously a malicious peer could send
90
+ `version: MAX_SAFE_INTEGER` to pin a healed node as `down`
91
+ forever.
92
+ - **Snapshot-seq validation on recovery** — `PersistentActor`
93
+ rejects snapshots whose `seqNr` is non-monotonic with the
94
+ journal; defeats tampered-snapshot replay.
95
+ - **WebSocket inbound frame size cap** — `WebSocketActor`
96
+ rejects oversized inbound frames before assembly; defeats
97
+ memory-exhaustion DoS via fragmented frames.
98
+ - **Duplicate-identity hello rejection** — `cluster/transport`
99
+ refuses a second hello frame claiming an already-connected
100
+ identity; defeats peer-hijack where an attacker rebinds to a
101
+ victim's `from` address. Legitimate reconnect (after clean
102
+ close) unaffected.
103
+ - **Idempotency-key cache binding** — `http/cache/idempotency`
104
+ ties each cached response to the request fingerprint (method
105
+ + path + body hash) so a poisoned key can't replay one
106
+ response across different requests.
107
+
108
+ ### Documentation
109
+
110
+ - **Public website at [actor-ts.dev](https://actor-ts.dev)** —
111
+ Astro Starlight site under `docs/`, 199+ pages across the
112
+ 12-Part IA, full Quickstart + fundamentals + per-subsystem
113
+ deep-dives + migration guides + API reference (TypeDoc).
114
+ - **Full German translation** — every page mirrored under
115
+ `/de/`. Seven additional UI locales (fr, es, ja, ko, pt-BR,
116
+ ru, zh-CN) staged with sidebar labels translated; full content
117
+ translations tracked as #300–#306.
118
+ - **Mermaid diagrams throughout** — replaces ASCII art across
119
+ all subsystem pages (cluster, sharding, distributed-data,
120
+ persistence, observability, operations, testing, IO, delivery).
121
+ - **Landing-page polish** — animated particle-network hero,
122
+ prose-driven "What is actor-ts" cards, See-it-in-action status
123
+ grid, custom-domain redirect, mobile-responsive splash.
124
+ - **Issue templates** — `.github/ISSUE_TEMPLATE/` gains
125
+ `security_report.yml`; bug template gets a security-flag
126
+ checkbox.
127
+ - `decodeCrdt` (`src/crdt/DistributedData.ts`) annotated as the
128
+ codebase's reference shape for discriminator-union dispatch,
129
+ with explicit notes on what makes the existing
130
+ `const _exhaustive: never = json` pattern safe and when to
131
+ prefer it vs `match().exhaustive()` (#231).
132
+
133
+ ### Code-quality hygiene sprint
134
+
135
+ A focused refactor pass — no behavioural changes, no public-API
136
+ breaks, no new features. Goal: more compile-time safety, fewer
137
+ duplicated literals, easier-to-write tests. 17 issues closed
138
+ (15 implemented + 2 auto-corrections from the audit catalog).
139
+
140
+ **Pattern-match exhaustiveness pass** — 9 discriminator-union
141
+ dispatch sites converted from if/else-or-switch to
142
+ `match(...).exhaustive()` so the TypeScript compiler refuses to
143
+ compile when a new variant is added to one of the unions without
144
+ a matching arm at the dispatch site. Touches:
145
+ `BrokerActor.enqueueOutbound` state (#230),
146
+ `JetStreamActor` / `MqttActor` / `KafkaActor` cmd dispatch (#232,
147
+ #233, #234), `BackoffSupervisor` reset-policy + termination-trigger
148
+ (#240), `HoconParser` value-shape walk (#241), `Compression` codec
149
+ selection (#243), `BodyCodec` encode-compression (#244),
150
+ `PersistentActor` (#239 — see below).
151
+
152
+ **Foundational DRY helpers** (`src/util/`):
153
+ - `Constants.ts` — centralised duplicated defaults (gossip
154
+ interval, ask timeout, tombstone TTL, seed-retry, etc.). 6
155
+ named exports replace ~10 inline-literal sites across
156
+ `Cluster`, `Receptionist`, `DistributedPubSubMediator`,
157
+ `ClusterClient`, `ClusterClientReceptionist`, `DistributedData`
158
+ (#257).
159
+ - `LazyImport.ts` — uniform peer-dep import + helpful "missing
160
+ package" error. Replaces ~7 lines × 6 broker actors of
161
+ hand-rolled try/catch + bespoke install messages (#252).
162
+ - `WrapError.ts` — typed-error wrap helper with double-wrap
163
+ prevention. Migrated 8 sites across cache + object-storage
164
+ (#254).
165
+
166
+ **Foundational typed names**:
167
+ - `src/config/ConfigKeys.ts` — typed const-tree for every
168
+ `actor-ts.*` HOCON path. Migrated 16 call sites across all
169
+ brokers + ActorSystem + CacheExtension (#265).
170
+ - `src/persistence/storage/KeyValidator.ts` — declarative
171
+ rule-based factory replacing the hand-rolled `assertSafeKey`
172
+ (filesystem) and `assertSafeMemcachedKey`. Adding a new
173
+ storage backend with similar key rules becomes a 6-line
174
+ `as const` rule set (#251).
175
+
176
+ ### Chat sample feature sweep
177
+
178
+ Five "Chat sample: …" follow-up issues resolved across five
179
+ commits. Four shipped as features, one closed-not-implement, one
180
+ sub-feature spun off as its own focused issue.
181
+
182
+ - **User-created rooms at runtime** (#98) — new
183
+ `ChatRoomDirectoryActor` wraps a cluster-wide `DistributedData`
184
+ ORSet of room names. `DEFAULT_ROOMS` becomes the idempotent seed
185
+ list; the actor fans out `RoomsChanged` / `RoomAdded` /
186
+ `RoomRemoved` events to per-session subscribers. Protocol gains
187
+ `create-room` (client → server) plus `room-added` / `room-removed`
188
+ (server → client). Six frontends grow a "+ new room" input.
189
+ - **Private direct messages** (#100) — DMs ride on existing
190
+ protocol frames as virtual `@<username>` "rooms". Server
191
+ distinguishes by the leading `@` and routes through a sharded
192
+ `DmChannelActor` keyed on the canonical pair-id
193
+ (`canonicalPairId('alice', 'bob') === 'alice|bob'` regardless of
194
+ ordering). Each user subscribes once at login to their inbox
195
+ topic `chat.dm.user.<self>` — single subscription covers every
196
+ DM conversation. Six frontends: click any user in the Online
197
+ panel to open a DM.
198
+ - **Typing indicators** (#103 slice 1) — `{ type: 'typing', room }`
199
+ fan-outs via the room's existing PubSub topic as an ephemeral
200
+ `TypingBroadcast`; server filters self-echoes; clients debounce
201
+ outbound at 1/2 s and auto-clear stale indicators after 3 s.
202
+ - **Read receipts** (#103 slice 2) — per-room
203
+ `read-up-to.<room>` `DistributedData` LWWMap mapping username →
204
+ highest acked message timestamp. New `ReadReceiptsActor` enforces
205
+ a monotonic guard at the boundary (LWW's wall-clock tiebreak
206
+ doesn't know read pointers can't go backwards). Frontends render
207
+ ✓ / ✓✓ on own messages.
208
+ - **Emoji passthrough** (#103 slice 1, doc-only) — server is
209
+ text-agnostic; any frontend can wire an `emoji-mart` /
210
+ `<emoji-picker-element>` / native picker on top without server
211
+ changes. Documented in the chat README; no code shipped.
212
+ - **Production-realistic auth** (#99, Option A) — passwords stored
213
+ as `<salt>:<hash>` scrypt records (`crypto.scryptSync`,
214
+ N=16384/r=8/p=1, constant-time verify via
215
+ `crypto.timingSafeEqual`). Session tokens become HMAC-SHA256-
216
+ signed JWT-style strings; `lookupToken` self-validates without a
217
+ DD read. DD-LWWMap shrinks to a revocation-only set
218
+ (`chat.session-revocations`). Server secret comes from
219
+ `CHAT_TOKEN_SECRET` env (warned-and-fallback otherwise).
220
+ - **#104 (mobile frontends)** — closed-not-implement. Six web
221
+ frontends already cover the "protocol works anywhere" story;
222
+ adding React Native + Flutter is two more app-frameworks to
223
+ maintain for marginal sample-value gain. Rationale in the issue
224
+ closing comment.
225
+ - **#292 (file uploads)** — spun off as its own focused issue
226
+ because object-storage wiring is qualitatively different from
227
+ the other UI-polish items. Not blocking the rest of the sweep.
228
+
229
+ Chat-sample smoke-test grows from passes 1–2 to **passes 1–7**,
230
+ covering: login + send + history (1–2), user-created rooms (3),
231
+ direct messages (4), typing indicators (5), read receipts including
232
+ a monotonic-guard probe (6), and auth hardening — wrong password,
233
+ valid resume, revoked-token resume rejection, tampered-token resume
234
+ rejection (7).
235
+
236
+ ### Added — Persistence
237
+
238
+ - `eventDispatcher<S, E>()` (#239) — typed builder for
239
+ `PersistentActor.onEvent` that the compiler refuses to finish
240
+ until every variant of the event union has a handler. Missing
241
+ variants surface as a clear "EventDispatcherIncomplete<missing>"
242
+ type error at the build site. Documented as the preferred shape
243
+ for new persistent actors; existing handwritten `onEvent`
244
+ impls continue to work unchanged.
245
+
246
+ ### Added — Testing infrastructure
247
+
248
+ - `tests/util/AsyncAssertions.ts` — `assertCompletesWithin(promise,
249
+ ms, label)` + `assertDoesNotCompleteWithin` for diagnostic-quality
250
+ timeout failures (the label appears in the error message;
251
+ default Bun timeouts give no clue which step was slow) (#288).
252
+ - `tests/util/TestActorSystem.ts` — `createTestActorSystem(options?)`
253
+ consolidates the per-file `makeSystem` boilerplate. Demo
254
+ migration in `BrokerActor.test.ts`; other test files can opt-in
255
+ over time (#283, scope-adjusted).
256
+ - `tests/unit/cache/_Contract.ts` — `runCacheContractTests(spec)`,
257
+ a backend-agnostic suite covering set/get/delete/incr/setIfAbsent/
258
+ TTL semantics. InMemoryCache wired as first consumer; Redis +
259
+ Memcached can opt-in once their mock-client factories are
260
+ available (#287, scope-adjusted).
261
+
262
+ ### Issue hygiene
263
+
264
+ - Closed as duplicate: #267 → #253, #266 → #255, #167 → #164.
265
+ - Closed as not-applicable: #245 — `BrokerEvents.ts` has no
266
+ in-file dispatch; events flow through `EventStream`'s
267
+ per-subscriber `instanceof` machinery, which by design isn't a
268
+ closed-union dispatch.
269
+
270
+ ## [0.8.0] — 2026-05-11
271
+
272
+ The "production-vertical big" release — one priority:high cornerstone
273
+ plus four mid-sized operator-facing items. Wire-format additive: new
274
+ optional message types and HTTP routes; no existing callers break.
275
+
276
+ ### Added — DistributedData quorum writes / reads (#81)
277
+
278
+ - `DistributedDataHandle.updateAsync(key, factory, fn, { consistency })`
279
+ and `.getAsync(key, { consistency })` — promise-returning variants
280
+ with a `WriteConsistency` / `ReadConsistency` target.
281
+ - Consistency levels: `'local'` (legacy fire-and-forget), `'majority'`
282
+ (⌊N/2⌋+1), `'all'` (every up-member), `{ from: K }` (clamped to
283
+ `[1, N]`). Self always counts as the first ack; single-node
284
+ clusters resolve instantly.
285
+ - Reads merge incoming responses into the local replica before
286
+ resolving, so a `ReadMajority` effectively pulls the freshest
287
+ state without waiting for gossip.
288
+ - Timeouts reject writes (the local apply still stands, gossip
289
+ continues) and resolve reads with the best-available merge —
290
+ reads stay best-effort even on partial failure.
291
+ - New wire messages `ddata-write-request|ack` /
292
+ `ddata-read-request|response`. Registered via the extension's
293
+ synchronous `start()` so the inbound side routes before the user
294
+ can issue the first quorum write.
295
+
296
+ ### Added — operations tooling
297
+
298
+ - `reEncryptObjectStorage(backend, opts)` (#70) — re-encrypt every
299
+ body under a prefix to the active master key from a `MasterKeyRing`.
300
+ Idempotent fast-path on bodies already at the active version;
301
+ `If-Match` CAS internally so a concurrent writer isn't overwritten
302
+ silently. Closes the missing step in v0.7's
303
+ `docs/operations/rolling-migration.md` Phase-3 — the doc now shows
304
+ the real call instead of a TBD marker.
305
+ - `migrateBetweenJournals(source, target, opts?)` /
306
+ `migrateBetweenSnapshotStores(source, target, { pids })` (#87) —
307
+ copy-with-optional-transform helpers for backend swaps and
308
+ schema-piggyback migrations. Per-pid resume from `target.highest
309
+ Seq + 1`; optional `MigrationProgressStore` for cross-process
310
+ resumability. `skipExistingPids` for fan-out across worker pools.
311
+
312
+ ### Added — outside-in cluster connectivity (#86)
313
+
314
+ - `ClusterClient({ contactPoints })` — lightweight handle for
315
+ processes that aren't cluster members (REST frontends, batch jobs,
316
+ operator scripts). Opens one persistent TCP connection to a
317
+ contact-point, performs the standard hello handshake with a
318
+ synthetic client address, and exchanges `cluster-client-envelope`
319
+ / `cluster-client-reply` frames.
320
+ - `send(targetPath, message)` for fire-and-forget,
321
+ `ask(targetPath, message, timeoutMs?)` for request/reply,
322
+ `close()` for teardown.
323
+ - Contact-point failover: tries them in round-robin; the first
324
+ successful dial wins. Ask rejections come back as deterministic
325
+ Error rejections (path-not-found, timeout, cluster-side ask
326
+ failure).
327
+ - `ClusterClientReceptionist` extension — cluster-side endpoint.
328
+ Resolves the target path through the local ActorSystem and
329
+ forwards as tell (no askId) or `ask` (with askId) plus a reply
330
+ frame. Start once per cluster node that should accept client
331
+ traffic.
332
+ - Out of scope for v1: ActorRef payloads (no `encodeRefs` round-trip
333
+ on this path), push-style subscriptions, cluster-aware routing on
334
+ the receptionist side.
335
+
336
+ ### Added — extended cluster-management HTTP endpoints (#56)
337
+
338
+ - `GET /cluster/shards?type=<typeName>` — shard-to-region map for one
339
+ sharded type, read from the coordinator state stored in
340
+ DistributedData. Returns 404 if DD isn't started or the type
341
+ hasn't recorded state yet.
342
+ - `POST /cluster/down` body `{ address }` — operator-initiated
343
+ force-down of a remote peer. Backed by a new public
344
+ `cluster.down(addr)` method that emits MemberDown + MemberRemoved
345
+ and tombstones the address. Opt-in via `enableDownEndpoint`;
346
+ production deployments should still gate this behind an auth
347
+ proxy.
348
+ - `GET /metrics` — Prometheus text format from the system's
349
+ MetricsRegistry. Opt-in via `enableMetricsEndpoint` because most
350
+ deployments scrape metrics from a separate port.
351
+
352
+ ### Added — public Cluster API
353
+
354
+ - `Cluster.down(addr: NodeAddress | string): boolean` — operator
355
+ force-down of a remote peer. Symmetric to `Cluster.leave()` but
356
+ for someone else's address. Returns `true` if the member was
357
+ found and downed, `false` if the address was unknown or already
358
+ terminal. Refuses to down `selfAddress` — that's `leave()`'s
359
+ job (#56).
360
+
361
+ ## [0.7.0] — 2026-05-11
362
+
363
+ ### Added — operator-facing documentation under `docs/`
364
+
365
+ - `docs/operations/rolling-migration.md` (#91) — the canonical
366
+ four-phase rolling-deploy walkthrough on top of `writeVersion` +
367
+ `MasterKeyRing` + `wrapLegacy` + `SchemaRegistry`. Code-first →
368
+ observation → writer flip → optional cleanup, with the parallel
369
+ master-key-rotation story. ASCII diagram up top for the elevator
370
+ pitch; symbol-reference table at the bottom mapping every
371
+ mentioned API to its export path.
372
+ - `docs/persistence/migration-recipes.md` (#93) — decision-tree
373
+ guide for picking among the five overlapping migration tools
374
+ (`defaultsAdapter` / `migratingAdapter` / `SchemaRegistry` /
375
+ `validatedEventAdapter` / `wrapEventAsEnvelope` + bulk
376
+ migrators). ASCII flowchart routes "what's the change?" to
377
+ exactly one recipe; each recipe has a worked example and a
378
+ "when NOT to use this" note. Pitfalls section covers the four
379
+ common questions (mixing adapters, downgrades, snapshots,
380
+ manifest renames).
381
+ - `ClusterEvents.MemberRemoved` JSDoc + README clarification (#79)
382
+ spelling out the two paths a removal can take — definitive
383
+ (tombstoned with `removedAt`, pruneable after `tombstoneTtlMs`)
384
+ vs FD-driven (deleted outright so a healed partition recovers).
385
+ Public APIs already filter; only direct iteration of the raw
386
+ membership view needs the explicit status check.
387
+ `MemberStatus`'s `'removed'` enum entry gains a paragraph-length
388
+ docstring with cross-refs to #75 and the event JSDoc.
389
+
390
+ ### Added — broker-actor extensions
391
+
392
+ - MQTT 5.0 user properties + reason codes (#13) — opt in via
393
+ `protocolVersion: 5` on `MqttActorSettings` (default 4 keeps
394
+ every existing config unchanged). Inbound `MqttMessage`
395
+ carries optional `userProperties: Record<string, string |
396
+ string[]>` (multi-valued per the MQTT 5.0 spec) and
397
+ `reasonCode?: number`; outbound `MqttPublish` accepts a
398
+ `userProperties` map that the actor attaches to the PUBLISH
399
+ packet's v5 properties block. On v3.1.1 those fields are
400
+ silently dropped — the wire format has no slot for them. New
401
+ pure helper `buildPublishProperties(p, protocolVersion)` is
402
+ exported for users testing the v5 path without a broker.
403
+ - JetStream pull-consumer mode (#62) — opt in via `consumer.mode:
404
+ 'pull'`. Push remains the default. In pull mode the actor
405
+ doesn't run an auto-iterating subscription; instead the
406
+ application sends `{ kind: 'fetch'; batch; expiresMs? }` cmds
407
+ to drive batch deliveries. Per-message ack/nak/term handshake
408
+ is unchanged. Batch semantics fan out all messages to `target`
409
+ up front, then `Promise.all`-await the per-message acks —
410
+ matches the natural pull-consumer pattern (target processes
411
+ the batch as it likes, acks come back independently).
412
+ `JetStreamClientLike` gains `consumers.get(stream, durable):
413
+ Promise<PullConsumerLike>` for the structural-typing contract.
414
+
415
+ ### Added — cache: bulk operations across all three backends
416
+
417
+ - `Cache.mget<V>(keys: ReadonlyArray<string>): Promise<Map<string,
418
+ V>>` and `Cache.mset<V>(entries: ReadonlyMap<string, V>,
419
+ ttlMs?: number): Promise<void>` (#14). Hits land in the result
420
+ Map keyed by request keys; misses (no entry / expired /
421
+ malformed payload / transient backend failure) are simply
422
+ absent — `Map.get(k)` returns `V | undefined` with the same
423
+ "missing key" semantics as the single-key `get`. Backend
424
+ specifics:
425
+ - **InMemoryCache** — iterates the underlying Map; lazy
426
+ expiry applies to `mget` just like `get`.
427
+ - **RedisCache** — `mget` emits a single `MGET`; `mset`
428
+ without TTL emits a single `MSET`, with TTL falls back to
429
+ pipelined `SET ... PX` (Redis MSET has no per-key TTL).
430
+ `RedisClientLike` gains `mget` and `mset` to satisfy the
431
+ structural-typing contract.
432
+ - **MemcachedCache** — no native bulk ops on the wire;
433
+ falls back to `Promise.all` of single-key calls.
434
+
435
+ ### Added — replicated event sourcing: optional Lease
436
+
437
+ - `ReplicatedEventSourcedActor.lease()` protected hook (#89).
438
+ Default returns `null` (multi-master, unchanged). When it
439
+ returns a `Lease`, the actor enforces single-writer mode for
440
+ its `persistenceId`: only the lease holder may `persist`,
441
+ non-holders are observers that throw on `persist` (use the
442
+ `isLeaseHolder` getter to gate side-effect logic before
443
+ calling). Companion `onLeaseLost(reason)` hook fires when a
444
+ TTL expiry / fence / backend failure flips the actor to
445
+ observer mode. Same Lease-based pattern v0.6.0's
446
+ ClusterSingleton (#38) and ShardCoordinator (#60) ship —
447
+ different scope (per-pid among replicas instead of
448
+ cluster-wide), same machinery. Use cases: non-replayable
449
+ side effects (card charges, webhooks) and heartbeat actors
450
+ where N replicas would multiply the rate.
451
+
452
+ ### Changed — `Cache` interface (additive)
453
+
454
+ - The `Cache` interface gains two REQUIRED methods (`mget` and
455
+ `mset`). Existing user-side implementations of `Cache` must
456
+ add them — the three shipped backends (`InMemoryCache`,
457
+ `RedisCache`, `MemcachedCache`) are updated. Pre-1.0
458
+ framework, so this counts as additive evolution rather than
459
+ a tracked breaking change — but worth flagging.
460
+
461
+ ### Removed — `CONTRIBUTING.md`
462
+
463
+ - `CONTRIBUTING.md` (v0.6.0's #92) is removed. The doc was
464
+ written under the assumption external contributors would land
465
+ PRs; the actual project posture is single-maintainer and PRs
466
+ aren't accepted. Internal conventions stay in `CLAUDE.md` /
467
+ the plan-doc / commit-message style.
468
+ - Replaced with four issue templates under `.github/ISSUE_TEMPLATE/`:
469
+ `bug_report.yml` (pre-labelled `bug` + `priority: medium`,
470
+ prompts for repro / version / runtime / peer-deps / logs),
471
+ `feature_request.yml` (pre-labelled `enhancement` +
472
+ `priority: low`, use-case + API sketch + acceptance criteria),
473
+ `documentation.yml` (pre-labelled `documentation` +
474
+ `priority: low`, location + kind), and `config.yml`
475
+ (disables blank issues, links to README / ROADMAP / CHANGELOG).
476
+ Closes the original #77 (multi-issue close-syntax — the
477
+ convention itself stays in commit-message style, not docs).
478
+
479
+ ## [0.6.0] — 2026-05-08
480
+
481
+ ### Added — sample apps (chat, voice, six frontends each)
482
+
483
+ - `examples/chat/` — clustered chat app on a 3-node TCP cluster:
484
+ sharded persistent rooms (`ChatRoomActor` + SQLite journal),
485
+ `OnlineUsersActor` via DistributedData + DistributedPubSub,
486
+ cluster-singleton HTTP front door (auto-failover ~5–10 s), six
487
+ frontends (Plain, Lit, Svelte, React, Next.js, Angular) sharing
488
+ one `protocol.ts` over the wire (#94, #95, #96, #97).
489
+ - `examples/voice/` — distributed voice server: 1:1 PTT, group, and
490
+ Teams-style rooms; `MediaRecorder` + `MediaSource` per-sender
491
+ audio relay over WebSocket binary frames; same six-frontend
492
+ matrix. Plain HTML frontend gates `getUserMedia` on
493
+ `isSecureContext` so Safari quirks surface upfront.
494
+ - Chat sample now uses snapshots — `ChatRoomActor.snapshotPolicy`
495
+ via `everyNEvents(100)` + `SqliteSnapshotStore` (#102), and
496
+ optional TLS / WSS via `--tls-cert` / `--tls-key`
497
+ (Fastify `https` option threaded through `FastifyBackend`),
498
+ with frontends auto-switching to `wss:` based on
499
+ `location.protocol` (#101).
500
+
501
+ ### Added — observability bridges to industry-standard SDKs
502
+
503
+ - `promClientRegistry({ client, registry, namePrefix? })` in
504
+ `src/metrics/PromClientAdapter.ts` — bridges the framework's
505
+ `MetricsRegistry` to a user-owned `prom-client` registry so app
506
+ + framework metrics share one `/metrics` endpoint. Structural
507
+ typing on `PromClientLike` keeps `prom-client` an optional peer
508
+ dep with no hard `import` (#64).
509
+ - `otelTracer({ api, tracer?, tracerName?, tracerVersion? })` in
510
+ `src/tracing/OtelAdapter.ts` — bridges the framework's `Tracer`
511
+ to `@opentelemetry/api`. W3C `traceparent` cross-actor /
512
+ cross-cluster propagation; `SpanKind` / `SpanStatusCode` mapping
513
+ via lookup tables; same structural-typing approach so the OTel
514
+ SDK stays optional (#63).
515
+ - README documents both adapters with end-to-end snippets in a new
516
+ "Observability — Prometheus + OpenTelemetry" section. See also
517
+ `examples/management/prom-client-shared.ts` and
518
+ `otel-jaeger.ts`.
519
+
520
+ ### Added — persistence query: multi-tag filter
521
+
522
+ - `eventsByTag` accepts a `TagFilter` object combining three
523
+ operators (#90):
524
+ - `all: [...]` — intersect (every listed tag must appear).
525
+ - `any: [...]` — union (at least one listed tag must appear).
526
+ - `not: [...]` — exclusion (no listed tag may appear).
527
+ A bare string stays a back-compat shorthand for `{ all: [tag] }`.
528
+ - `InMemoryQuery` does the whole match in JS. `SqliteQuery` pushes
529
+ the filter into SQL — `JOIN events_tags` for `all`, `IN (?,?,…)`
530
+ with `DISTINCT` for `any`, JS-refines `not`. Prepared statements
531
+ cached per arity.
532
+ - `CassandraQuery` follows the same three strategies once the new
533
+ optional `events_by_tag` side table is populated (`useTagIndex:
534
+ true` on `CassandraJournal`). DDL + dual-write per `(event, tag)`
535
+ pair, exposed via `tagIndexDdl` (#44).
536
+
537
+ ### Added — cluster lifecycle: TTL tombstones + LRU sharding
538
+
539
+ - Cluster-member tombstone pruning (#75) — `Member.removedAt`
540
+ travels in gossip; new `tombstoneTtlMs` (24 h),
541
+ `tombstonePruneIntervalMs` (5 min), `tombstoneMinRetentionMs`
542
+ (`6 × downAfterMs`) settings; `mergeMember` rejects expired
543
+ tombstones from gossip so a slow peer can't resurrect addresses
544
+ already pruned cluster-wide.
545
+ - ClusterSharding `maxEntities` cap with LRU passivation (#82) —
546
+ when the local region is at capacity, the entity with the oldest
547
+ `lastActivity` is passivated to make room. Default `0` (no
548
+ cap, current behaviour); already-passivating entities don't
549
+ count toward the cap.
550
+ - Cassandra-backed `RememberEntitiesStore` (#84) — state-based
551
+ schema (`(type_name, shard_id, entity_id) → started_at`),
552
+ partition-by-type for atomic whole-partition `clear`. Both
553
+ `JournalRememberEntitiesStore` and `CassandraRememberEntitiesStore`
554
+ now exported from `cluster/index.ts`.
555
+
556
+ ### Added — framework primitives: FSM, supervision, throttle
557
+
558
+ - `PersistentFSM.stateTimeout` (#65) — declare a per-state
559
+ `_timeout: { afterMs, event, next, guard? }` to auto-fire a
560
+ transition when no command moves the FSM out within the window.
561
+ Routes the timeout fire through the actor mailbox via a magic
562
+ self-tell so it serialises cleanly with concurrent commands;
563
+ recovery re-arms the timer relative to wall-clock at recovery
564
+ completion.
565
+ - `PersistentFSM` multi-event transitions (#66) — `event` in the
566
+ transitions table accepts `Event[]` (or a function returning one)
567
+ alongside the single-Event form. Multiple events persist
568
+ atomically via `persistAll`; final-state vs `next` check fires
569
+ against the post-replay state.
570
+ - `BackoffSupervisor.triggerOn: 'failure' | 'stop' | 'any'` (#68)
571
+ — split crash-only vs clean-stop respawn (mirrors Akka's
572
+ `Backoff.onFailure` / `Backoff.onStop`). Default `'any'` keeps
573
+ the v1 behaviour.
574
+ - `BackoffSupervisor.forwardDuringGrace: false` (#67) — opt-in
575
+ strict gate: messages arriving in the post-respawn grace window
576
+ stash until the child confirms it survived `drainGraceMs`. Fixes
577
+ the dead-letter cascade described in the issue at the cost of
578
+ `drainGraceMs` of latency on the first message after each
579
+ respawn.
580
+ - `context.throttle({ qps, burst, onExcess: 'pause' | 'drop' })`
581
+ per-actor token-bucket rate limiter (#83). New `TokenBucket`
582
+ utility class (`src/util/TokenBucket.ts`) — pure, clock-injected,
583
+ refill-on-read. System messages bypass the gate so lifecycle
584
+ stays responsive under tight throttles.
585
+ - `EventStream.subscribe(actor, channel, predicate)` overload
586
+ (#85) — predicate-filtered subscriptions, evaluated before
587
+ delivery; throwing predicates are treated as no-match and the
588
+ bus stays alive for other subscribers.
589
+
590
+ ### Added — broker actors: long-running handler heartbeat
591
+
592
+ - `KafkaActor` `heartbeat` command + `withAutoHeartbeat` helper
593
+ (#78) — long manual-commit handlers can periodically tell
594
+ `{ kind: 'heartbeat', topic, partition, offset }` to bump
595
+ kafkajs's session-deadline mid-processing. The convenience
596
+ helper wraps a body in a `setInterval` that fires the cmd at
597
+ ~1/3 of session-timeout.
598
+
599
+ ### Added — DX: CONTRIBUTING.md
600
+
601
+ - New `CONTRIBUTING.md` covers the workflow this project actually
602
+ uses: setup, test layout (unit / multi-node / smoke /
603
+ cross-runtime), commit conventions, the multi-issue close-syntax
604
+ gotcha (`Closes #N. Closes #M.` — separate keywords required),
605
+ Co-Authored-By trailer convention, pre-1.0 release stance, code
606
+ style (#92, #77).
607
+
608
+ ### Added — multi-node test harness + cluster sharding hardening
609
+
610
+ - `MultiNodeSpec` test harness — in-process N-role cluster with
611
+ failure-detector tightening, partition / heal helpers,
612
+ `awaitMembers` / `awaitMemberStatus` / `awaitLeader` synchronisation,
613
+ per-role downing-provider injection (#34).
614
+ - `ParallelMultiNodeSpec` — worker-thread variant for tests that need
615
+ true parallelism across OS threads (#46).
616
+ - Sharding rebalance hardening + sharded-daemon failover; `Passivate`
617
+ semantics across shard hand-off; coordinator state machine
618
+ reviewed against partition / leader-change scenarios (#35).
619
+ - Persistent `ShardCoordinator` allocation state via `DistributedData`
620
+ — survives leader hand-off without re-emitting allocations (#39).
621
+ - Persistent Remember-Entities — entity list rides through cluster
622
+ restart instead of being re-discovered lazily (#49).
623
+ - `KubernetesLease` real implementation against the K8s coordination
624
+ API (replaces the stub from 0.2) (#33).
625
+ - `ClusterSingleton` accepts an optional Lease for split-brain-safe
626
+ handover (#38, #61).
627
+ - `ShardCoordinator` accepts an optional Lease for split-brain-safe
628
+ coordinator handover (#60).
629
+ - `LeaseMajority` split-brain resolver — external Lease as tiebreaker
630
+ in the partition-resolution race (#51).
631
+
632
+ ### Added — persistence performance + projections + replicated ES
633
+
634
+ - Persistence Query / projections read-side query layer:
635
+ `PersistenceQuery` with `eventsByPersistenceId` / `eventsByTag`, plus
636
+ `ProjectionActor` with at-least-once delivery + offset persistence
637
+ (`InMemoryOffsetStore`, `DurableStateOffsetStore`) (#36).
638
+ - Push-based `PersistenceQuery` — events delivered on append via
639
+ `JournalEventBus` instead of polling (#42).
640
+ - SQLite tags join table — indexed `events_by_tag` query path (#43).
641
+ - Snapshotting for `ReplicatedEventSourcedActor` — vector-clock-aware
642
+ snapshots survive multi-master replay (#41).
643
+ - Durable `DistributedData` — CRDT state survives full cluster
644
+ restart via per-replica `DurableStateStore` records (#40).
645
+ - CRDTs + Replicated Event Sourcing core: `GCounter`, `PNCounter`,
646
+ `GSet`, `ORSet`, `LWWRegister`, `DistributedData` extension with
647
+ gossip replication; `ReplicatedEventSourcedActor` for multi-master
648
+ event sourcing with conflict-resolver pluggability (#37).
649
+
650
+ ### Added — additional CRDTs + persistent FSM + DX patterns
651
+
652
+ - `LWWMap`, `ORMap`, `MVRegister`, `GCounterMap` — round out the CRDT
653
+ family. All four implement the same `Crdt<Self>` interface,
654
+ expose `equals` / `toJSON` / `fromJSON`, and are wired into
655
+ `DistributedData`'s discriminator (#45).
656
+ - `PersistentFSM` — finite-state machine combined with event sourcing.
657
+ Declare a transitions table, an `applyEvent` function, and the
658
+ base class handles invalid-transition rejection, guard checks,
659
+ and replay-driven state rebuild (#52).
660
+ - `BackoffSupervisor` — restart-with-exponential-backoff supervisor
661
+ for transient failures, with optional message stash during the
662
+ backoff window and a configurable counter-reset rule (#48).
663
+ - `ClusterRouter` — cluster-aware router with role filter + four
664
+ routing strategies (round-robin, random, consistent-hashing,
665
+ broadcast). Routees auto-rebuild on `MemberUp` / `MemberRemoved`
666
+ (#50).
667
+
668
+ ### Added — observability stack
669
+
670
+ - `LogContext` — Mapped Diagnostic Context (MDC) backed by
671
+ `AsyncLocalStorage`. Propagates through `tell` / `ask` calls and
672
+ across cluster nodes; `Logger.withFields` for static fields,
673
+ `LogContext.run` / `with` for dynamic scoping (#53).
674
+ - Prometheus / OpenMetrics export — `MetricsRegistry` with
675
+ Counter / Gauge / Histogram primitives, label support,
676
+ `exportPrometheus` text-format renderer, `prometheusHandler`
677
+ for `Bun.serve`. Stock instrumentation: actor lifecycle counters,
678
+ message-handler-duration histogram, cluster gossip + member-up
679
+ metrics. Opt-in via `MetricsExtensionId.enable()` so the no-
680
+ metrics path is zero-cost (#11).
681
+ - OpenTelemetry-style distributed tracing — `Tracer` interface +
682
+ `RecordingTracer` reference impl + W3C `traceparent` codec.
683
+ `actor.receive` and `cluster.envelope.received` spans wired
684
+ automatically; trace context rides cross-wire envelopes
685
+ alongside MDC. `@opentelemetry/api` is NOT a dependency — users
686
+ bring their own SDK and wrap it in the framework's `Tracer` (#10).
687
+
688
+ ### Added — schema migration & encryption polish
689
+
690
+ - Master-key rotation for client-side AES-256-GCM snapshots — new
691
+ `MasterKeyRing` shape (`active` + `retired`), key-version byte
692
+ in the body manifest (`FLAG_KEY_VERSIONED`), legacy single-key
693
+ bodies remain readable (#8).
694
+ - Rolling-deployment-friendly schema migration — `MigrationChain`
695
+ gains downcasters; `migratingAdapter` / `defaultsAdapter` accept
696
+ a `writeVersion` so v2 nodes can keep emitting v1 events while
697
+ v1 readers still exist (#7).
698
+ - One-shot migration helpers — `wrapEventAsEnvelope` /
699
+ `wrapStateAsEnvelope` primitives plus `migrateInMemoryJournal` /
700
+ `migrateSnapshotStore` bulk-rewriters for repos adopting
701
+ schema-evolution after-the-fact (#9).
702
+ - Pluggable codec + in-process schema registry — `Codec<T>`
703
+ interface with `jsonCodec` / `zodCodec` / `composeCodecs`,
704
+ `validatedEventAdapter` / `validatedSnapshotAdapter` wrappers,
705
+ `InMemorySchemaRegistry` with on-register compatibility checks
706
+ (`'none'` / `'backward'` / `'sample'`) (#6).
707
+
708
+ ### Added — production-grade brokers & WebSocket server-side
709
+
710
+ - Kafka exactly-once via manual offset-commit mode — opt-in
711
+ `commitMode: 'manual'` pumps each message into a pending-promise
712
+ map until the handler sends `commit` / `nack` / timeout fires;
713
+ `commitOffsets` uses BigInt arithmetic so 2^53+ offsets stay
714
+ exact (#2).
715
+ - NATS JetStream actor — durable streams + push consumer with
716
+ `ack` / `nak` / `term` / `inProgress` handshake; auto-create-or-
717
+ update streams + consumers; idempotent publish via `messageId`
718
+ (`Nats-Msg-Id`) (#3).
719
+ - Server-side WebSocket — `ServerWebSocketActor` wraps a pre-
720
+ upgraded socket; `serverWebSocketActorOf` for the `ws`-package
721
+ family (Fastify, Hono); `bunWebSocketHandlers` for `Bun.serve`'s
722
+ callback-style API (#1).
723
+
724
+ ### Fixed
725
+
726
+ - `DistributedPubSubMediator` — gossip frame trimmed to topic
727
+ names only (#80). The `entries` field used to be `Record<string,
728
+ string[]>` carrying every local subscriber's actor path per
729
+ topic, but `handleGossip` discarded the path lists; bytes are
730
+ now proportional to topic count, not subscriber count. Audit
731
+ tests pin the boundedness contract: 100 sub/unsub cycles on
732
+ the same topic leave both `topics` and the gossip frame at
733
+ zero entries.
734
+ - `FilesystemObjectStorageBackend` is multi-process safe (#19) —
735
+ drops the in-memory etag map (disk is canonical via
736
+ deterministic FNV-1a content hash) and serialises CAS via
737
+ per-key `<key>.lock` files created with `fs.writeFile(...,
738
+ { flag: 'wx' })`. Body writes are atomic via temp + rename;
739
+ Windows quirks (`EPERM` / `EBUSY` during NTFS deletion-pending
740
+ states) recognised as benign retry signals; stale locks
741
+ (>30 s default) reclaimed automatically. Includes a Bun-spawn-
742
+ based multi-process test as the integration check.
743
+ - `DistributedPubSubMediator` — eager broadcast on subscribe /
744
+ unsubscribe. The previous "one random peer per gossip tick"
745
+ scheme had a probabilistic gap (~3 % per 5-tick window) where
746
+ a publish-immediately-after-subscribe could miss the new
747
+ subscriber. Eager-broadcast on state mutation closes the gap
748
+ deterministically; periodic gossip stays as steady-state
749
+ anti-entropy. Eliminated CI flake on
750
+ `tests/multi-node/pubsub-cross-node.test.ts` and
751
+ `tests/multi-node/parallel-pubsub.test.ts`.
752
+ - `tests/multi-node/cluster-router.test.ts` — replaced the tight
753
+ 5 s `waitFor(() => total === 21)` predicate with a "3 readings
754
+ stable" stability check + 15 s timeout, covering CI variance
755
+ when other multi-node test files run in parallel (#76).
756
+ - Five small correctness items batched together: `tests/unit/util/
757
+ Option.test.ts` typecheck:dev failure (#17), eager peer-dep
758
+ validation at object-storage plugin-init for every codec
759
+ (#18, #59), `ORSet` / `GSet` element-identity callbacks for
760
+ non-JSON-serialisable values (#57), single-actor-per-pid
761
+ enforcement for `ReplicatedEventSourcedActor` (#58).
762
+
763
+ ## [0.5.0] — 2026-04-27
764
+
765
+ ### Added — I/O & message-broker actors
766
+
767
+ - `BrokerActor` base with reconnect (exponential backoff + optional
768
+ CircuitBreaker), outbound buffer, subscriber fan-out, lifecycle
769
+ events on the EventStream, and a 3-layer settings resolver
770
+ (constructor → HOCON → defaults).
771
+ - Phase 1 actors: `TcpSocketActor`, `UdpSocketActor`, `MqttActor`,
772
+ `WebSocketActor`.
773
+ - Phase 2 actors: `KafkaActor`, `AmqpActor`, `GrpcClientActor`,
774
+ `GrpcServerActor`.
775
+ - Phase 3 actors: `NatsActor`, `RedisStreamsActor`, `SseActor`.
776
+ - Examples: `examples/io/{mqtt-temperature,websocket-feed,grpc-sensor}.ts`.
777
+
778
+ ## [0.4.0] — 2026-04-27
779
+
780
+ ### Added — object-storage + schema migration + caching
781
+
782
+ - Object-storage persistence: `ObjectStorageBackend` interface,
783
+ `FilesystemObjectStorageBackend` (built-in), `S3ObjectStorageBackend`
784
+ (lazy AWS SDK; works against AWS / MinIO / R2 / Backblaze B2 /
785
+ Wasabi). `BodyCodec` with manifest header — gzip / zstd
786
+ compression and AES-256-GCM client-side encryption (HKDF-SHA256
787
+ per-pid subkey derivation, compress-then-encrypt).
788
+ - `ObjectStorageSnapshotStore` + `ObjectStorageDurableStateStore` with
789
+ per-prefix compression / encryption resolvers and per-actor
790
+ overrides via `PersistenceOptions`.
791
+ - Schema migration: `EventAdapter` / `SnapshotAdapter` / `StateAdapter`
792
+ interfaces with a versioned `_v / _t / _e` envelope wire format,
793
+ plus `MigrationChain` for hand-written upcasters and
794
+ `defaultsAdapter` for additive evolution without code. Hooks
795
+ on `PersistentActor` + `DurableStateActor`.
796
+ - Cache abstraction: `Cache` interface (get / set / incr /
797
+ setIfAbsent / delete) + 3 backends (`InMemoryCache`, `RedisCache`
798
+ via lazy ioredis, `MemcachedCache` via lazy memjs).
799
+ `CacheExtension` for named-cache registration.
800
+ - HTTP middleware: `rateLimit`, `idempotent` (Stripe-style), `cached`
801
+ (response-cache with stampede protection).
802
+ - `CachedSnapshotStore` decorator wrapping any `SnapshotStore` for
803
+ cold-start storms after sharding rebalance.
804
+ - Examples: `examples/cache/redis-rest-service.ts`,
805
+ `examples/persistence/{event-migration,event-migration-chain,
806
+ s3-snapshot-bank-account}.ts`.
807
+
808
+ ## [0.3.0] — 2026-04-27
809
+
810
+ ### Added — persistence + HTTP
811
+
812
+ - Persistence: `Journal`, `SnapshotStore`, `DurableStateStore`
813
+ interfaces. `PersistentActor` (event sourcing with
814
+ snapshotPolicy + persist callback) and `DurableStateActor`
815
+ (snapshot-only with strict CAS via expectedRevision).
816
+ - Three persistence backends ship: `InMemoryJournal` /
817
+ `InMemorySnapshotStore` (default), `SqliteJournal` /
818
+ `SqliteSnapshotStore` (Bun via bun:sqlite, Node via
819
+ better-sqlite3 — abstracted by a `SqliteDriver`), `CassandraJournal`
820
+ / `CassandraSnapshotStore` (lazy cassandra-driver).
821
+ - HTTP service stack: directives DSL (get / post / put / del / patch /
822
+ path / pathPrefix / concat) compiling to backend-agnostic
823
+ `CompiledRoute`; three backends — `FastifyBackend` (default),
824
+ `ExpressBackend`, `HonoBackend` (with auto-detection of the right
825
+ serve primitive per runtime). `HttpClient` for outbound calls.
826
+
827
+ ## [0.2.0] — 2026-04-27
828
+
829
+ ### Added — distributed primitives
830
+
831
+ - HOCON config (parser + ENV interpolation + Duration / Size types).
832
+ - JSON + CBOR serialization (`Serializer<T>` interface with manifest
833
+ tagging; SerializationExtension for plugin registration).
834
+ - `CoordinatedShutdown` (12-phase, dependency-ordered task runner) and
835
+ `Lease` abstraction (with InMemoryLease + KubernetesLease impls).
836
+ - Cluster fabric: TCP / in-memory / worker-thread transports;
837
+ membership state machine + gossip; failure detection (Phi-Accrual
838
+ default + simple time-threshold variant); `ClusterEvents` on
839
+ EventStream.
840
+ - Cluster sharding: `ShardCoordinator`, `ShardRegion`,
841
+ `ClusterSharding` extension; `HashAllocationStrategy` /
842
+ `LeastShardAllocationStrategy`; `Passivate` for entity lifecycle;
843
+ `ShardedDaemonProcess` for fixed N workers across the cluster.
844
+ - Distributed pub/sub (`DistributedPubSubMediator`); `Receptionist`
845
+ service-key registry; `ClusterSingleton` (manager + proxy + lease-
846
+ based variant); `ReliableDelivery` (at-least-once point-to-point
847
+ with explicit acks).
848
+ - Four split-brain resolvers (KeepMajority / KeepOldest /
849
+ StaticQuorum / KeepReferee).
850
+ - Four seed providers (Config / DNS / Kubernetes API / Aggregate),
851
+ with an in-process TTL cache on the DNS provider.
852
+ - Management endpoints: `/health`, `/ready`, `/cluster/state`, etc.
853
+
854
+ ## [0.1.0] — 2026-04-27
855
+
856
+ ### Added — minimum viable actor system
857
+
858
+ - `Actor` base class + lifecycle hooks (preStart / postStop /
859
+ preRestart / postRestart) + `ActorRef` / `ActorContext` /
860
+ `ActorPath` / `ActorSelection`.
861
+ - `ActorSystem`, `Props`, `Extension` registry, `SystemMessages` (the
862
+ internal control protocol — Watch / Unwatch / Terminated / Suspend
863
+ / Resume / Stop / …).
864
+ - Supervision: `OneForOneStrategy` / `AllForOneStrategy` with Resume
865
+ / Restart / Stop / Escalate directives.
866
+ - Mailbox variants: unbounded (default), bounded with three overflow
867
+ policies, priority (with caller-supplied comparator), per-actor
868
+ stash.
869
+ - `ActorCell` + `Guardian` + `DeadLetterRef` + `LocalActorRef` +
870
+ `PromiseActorRef`; deathwatch, `ReceiveTimeout`, become / unbecome,
871
+ per-actor `TimerScheduler`.
872
+ - `Scheduler` (real timers + `ManualScheduler` for tests),
873
+ `Dispatcher` variants, `Logger` (leveled + Noop), `EventStream`
874
+ (system-wide pub/sub on classes).
875
+ - `typed` Behaviors DSL — functional facade over the OO API
876
+ (`Behaviors.receive`, `Behaviors.same`, `Behaviors.stopped`,
877
+ `Behaviors.setup`, supervise + withSupervision).
878
+ - TestKit: `TestProbe` (synchronous mailbox with expect-* timeouts),
879
+ `ManualScheduler` (virtual clock).
880
+ - Patterns: `ask` (Promise-returning send) + `retry` (exponential
881
+ backoff) + `CircuitBreaker` + `Router` (round-robin / random /
882
+ broadcast) + `after` + `pipeTo`.
883
+ - `FSM` DSL — named-state finite-state-machine actor base.
884
+ - Utility primitives: `Option<T>`, `Lazy<T>`, `Try<T>`, `Either<L,R>` —
885
+ Scala-style ergonomics, used throughout.