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
@@ -0,0 +1,234 @@
1
+ import { Actor } from '../Actor.js';
2
+ import { Props } from '../Props.js';
3
+ import { type SupervisorStrategy } from '../Supervision.js';
4
+ import { type BackoffPolicy } from './BackoffPolicy.js';
5
+ /**
6
+ * BackoffSupervisor — wraps a single child actor and reschedules its
7
+ * restart with an exponential backoff (plus jitter). Use this when
8
+ * the child's failure is **transient** — flaky DB, broker reconnect
9
+ * window, third-party API hiccup — and immediate restart would just
10
+ * hammer the broken dependency.
11
+ *
12
+ * const supervisor = system.spawn(
13
+ * BackoffSupervisor.props({
14
+ * childProps: Props.create(() => new MyFlaky()),
15
+ * minBackoff: 200,
16
+ * maxBackoff: 10_000,
17
+ * randomFactor: 0.2,
18
+ * }),
19
+ * 'flaky-supervisor',
20
+ * );
21
+ * // Send messages to the supervisor — they're forwarded to the
22
+ * // current child, or stashed during a backoff window.
23
+ * supervisor.tell({ kind: 'do-work' }, replyTo);
24
+ *
25
+ * **Mechanism.** The supervisor:
26
+ *
27
+ * 1. Runs the child under `stoppingStrategy` so a child crash leads
28
+ * to a clean Stop (rather than an immediate Restart).
29
+ * 2. Death-watches the child (`context.watch`) and listens for
30
+ * `Terminated`. Either a crash-induced stop or an external
31
+ * `child.stop()` triggers the same backoff path — pragmatic for
32
+ * a v1; finer-grained "respawn only on crash" behaviour is
33
+ * available via the `respawnOn: 'failure'` option below.
34
+ * 3. On `Terminated` it schedules a single-shot timer to spawn a
35
+ * fresh child after `policy.delayFor(restartCount)` ms.
36
+ * 4. While the child is dead, user messages are buffered (`stash`
37
+ * mode, default) or dropped (`drop` mode). Stashed messages are
38
+ * flushed to the new child once it spawns, preserving sender refs
39
+ * so ask-replies still go to the original asker. An optional
40
+ * `drainGraceMs` window delays the drain so a child that crashes
41
+ * in `preStart` doesn't take the stash with it to dead-letter
42
+ * — the stash is held back until the new child has clearly
43
+ * survived its grace window. New messages arriving during the
44
+ * grace forward immediately so the happy-path latency is
45
+ * unaffected.
46
+ * 5. The restart counter resets when the child has been alive for
47
+ * `resetCounter` ms — default `'after-min-stable'` which uses
48
+ * `minBackoff` as the threshold. After a long-running successful
49
+ * child, the next failure starts the backoff at `minBackoff` again
50
+ * rather than where the last failure left off.
51
+ *
52
+ * **Out of scope (v1).**
53
+ * - Cluster-aware supervision. This pattern is local to the parent
54
+ * by design — distributed restart coordination belongs in a sharded
55
+ * entity or a cluster-singleton, not the supervisor.
56
+ * - `onFailure`-only mode (respawn only on crash, not on external
57
+ * stop). Workaround: configure the child to terminate itself only
58
+ * on errors and use an explicit `PoisonPill` for shutdown — the
59
+ * supervisor will respawn either way until **it** is stopped.
60
+ */
61
+ /** Reset rule for the consecutive-restart counter. */
62
+ export type ResetCounter =
63
+ /** Never reset — the counter grows monotonically. */
64
+ 'never'
65
+ /** Reset after the child has been alive for `>= minBackoff` ms. */
66
+ | 'after-min-stable'
67
+ /** Reset after the child has been alive for `>= ms` ms. */
68
+ | {
69
+ readonly kind: 'after-time';
70
+ readonly ms: number;
71
+ };
72
+ /** What to do with messages that arrive while the child is dead. */
73
+ export type ForwardStrategy =
74
+ /** Buffer them and re-deliver to the next child instance. */
75
+ 'stash'
76
+ /** Drop them silently (the supervisor logs at debug level). */
77
+ | 'drop';
78
+ /**
79
+ * Which terminations should trigger a respawn (#68). Two modes,
80
+ * because the right answer depends on whether you treat a clean
81
+ * self-stop as recoverable or as a deliberate end of life:
82
+ *
83
+ * - `'any'` *(default)* — respawn on every termination, whether the
84
+ * child crashed (uncaught throw) or stopped itself cleanly
85
+ * (`context.stop(self)`, `PoisonPill`, parent-driven stop). This
86
+ * is the original v1 (#48) behaviour.
87
+ * - `'failure'` — respawn only when the child crashed. A clean
88
+ * self-stop is taken as "this child is done"; the supervisor
89
+ * itself stops afterwards instead of spawning a replacement.
90
+ * - `'stop'` — the inverse: respawn only on clean stops (e.g. a
91
+ * transient connection actor that periodically tears itself
92
+ * down). Crashes propagate "up" by stopping the supervisor.
93
+ *
94
+ * Matching is on the **last termination only** — the supervisor
95
+ * re-arms its tracking on every respawn, so a string of crashes
96
+ * followed by a clean stop in `'failure'` mode would respawn through
97
+ * each crash and then stop on the clean stop.
98
+ */
99
+ export type TerminationTrigger = 'any' | 'failure' | 'stop';
100
+ export interface BackoffOptions<T> {
101
+ /** How to construct the child. */
102
+ readonly childProps: Props<T>;
103
+ /** Name suffix for the child. The actual child name is
104
+ * `${childName}-${incarnation}` so successive incarnations don't
105
+ * collide on names while the previous instance is still tearing down. */
106
+ readonly childName?: string;
107
+ /** Floor for the backoff delay, in ms. Must be > 0. */
108
+ readonly minBackoff: number;
109
+ /** Ceiling for the backoff delay, in ms. Must be >= `minBackoff`. */
110
+ readonly maxBackoff: number;
111
+ /** Jitter fraction in `[0, 1]`. Default `0.2`. */
112
+ readonly randomFactor?: number;
113
+ /** Custom policy — overrides the default exponential backoff. */
114
+ readonly policy?: BackoffPolicy;
115
+ /** Counter-reset rule. Default `'after-min-stable'`. */
116
+ readonly resetCounter?: ResetCounter;
117
+ /** What to do with messages while the child is dead. Default `'stash'`. */
118
+ readonly forward?: ForwardStrategy;
119
+ /**
120
+ * Which terminations should trigger a respawn. Default `'any'`
121
+ * (current v1 behaviour: respawn on crash AND on clean stop).
122
+ * See {@link TerminationTrigger} for the three modes.
123
+ */
124
+ readonly triggerOn?: TerminationTrigger;
125
+ /** Stash buffer size (only when `forward === 'stash'`). Default 1000. */
126
+ readonly maxStashSize?: number;
127
+ /**
128
+ * Grace period after a respawn before stashed messages are forwarded
129
+ * to the new child. This protects buffered messages against children
130
+ * that crash in `preStart` — if the child dies during the grace
131
+ * window, the stash is preserved for the **next** incarnation.
132
+ *
133
+ * Default: `min(50ms, minBackoff)`. Set `0` to disable (drain
134
+ * immediately on spawn — the v0 behaviour).
135
+ */
136
+ readonly drainGraceMs?: number;
137
+ /**
138
+ * What to do with messages that arrive during the grace window
139
+ * (after a respawn, before the child has proven it survives
140
+ * `drainGraceMs`). Two modes (#67):
141
+ *
142
+ * - `true` *(default)* — v1 behaviour. New messages forward
143
+ * immediately to the about-to-be-confirmed child; if that
144
+ * child dies in `preStart`, those forwarded messages
145
+ * dead-letter. Lowest latency on the happy path, accepts
146
+ * dead-letters during a preStart-crash cascade.
147
+ * - `false` — strict mode. New messages stash until the grace
148
+ * expires, then drain alongside the carry-over stash from the
149
+ * previous incarnation. Costs up to `drainGraceMs` of latency
150
+ * on the first messages after a respawn but guarantees nothing
151
+ * dead-letters when the child keeps crashing in `preStart`.
152
+ * Opt-in to fix the dead-letter cascade described in #67.
153
+ *
154
+ * Has no effect when `drainGraceMs === 0` — without a grace there
155
+ * is no "uncertain" window for the gate to apply to.
156
+ */
157
+ readonly forwardDuringGrace?: boolean;
158
+ /** Override `Date.now`/`Math.random` for deterministic tests. */
159
+ readonly clock?: () => number;
160
+ }
161
+ export declare class BackoffSupervisor<T> extends Actor<unknown> {
162
+ /**
163
+ * Build a `Props` that spawns a `BackoffSupervisor` configured with
164
+ * the given options. Apply `withSupervisorStrategy` if you want to
165
+ * change how the supervisor itself is supervised (the **child** is
166
+ * always run under `stoppingStrategy` regardless of this).
167
+ */
168
+ static props<T>(opts: BackoffOptions<T>): Props<unknown>;
169
+ private readonly opts;
170
+ private readonly policy;
171
+ private readonly childName;
172
+ private readonly forward;
173
+ private readonly stashLimit;
174
+ private readonly resetThresholdMs;
175
+ private readonly drainGraceMs;
176
+ private readonly clock;
177
+ private readonly triggerOn;
178
+ private readonly forwardDuringGrace;
179
+ /**
180
+ * Set by the supervisor's decider (#68) on the way to `Stop` so
181
+ * `handleTerminated` can distinguish a crash-driven termination from
182
+ * a clean self-stop. Reset after every Terminated handling so a
183
+ * stale "true" can't be carried over into the next incarnation's
184
+ * lifecycle.
185
+ */
186
+ private lastTerminationWasFailure;
187
+ /**
188
+ * `true` once the current child has survived the `drainGraceMs`
189
+ * window (#67). Cleared on every spawn + Terminated. Gates
190
+ * direct-forwarding of new messages while the child is still in
191
+ * its uncertain grace period — without the gate, messages arriving
192
+ * between two failed respawn attempts forward straight into a
193
+ * crashing child and dead-letter.
194
+ */
195
+ private childConfirmedAlive;
196
+ /** The currently-live child, or `null` while we're in a backoff window. */
197
+ private currentChild;
198
+ /** Counter for the **next** restart's delay (0 = first respawn). */
199
+ private restartCount;
200
+ /** Wall-clock ts of the last successful spawn, for the reset-window check. */
201
+ private spawnTs;
202
+ /** Monotonic incarnation counter — used to disambiguate child names. */
203
+ private incarnation;
204
+ /** Buffered messages waiting for the next child. */
205
+ private readonly stash;
206
+ constructor(opts: BackoffOptions<T>);
207
+ /**
208
+ * The supervisor's own strategy applied to **its child**. The
209
+ * decider always returns `Directive.Stop` (so the cell's restart
210
+ * loop doesn't fight ours), but BEFORE returning it sets
211
+ * {@link lastTerminationWasFailure} — that's the only place we can
212
+ * tell "the child crashed" apart from "the child stopped itself
213
+ * cleanly". `handleTerminated` reads the flag, applies the
214
+ * `triggerOn` policy (#68), then resets it.
215
+ *
216
+ * Users should not override this; configure the supervisor's parent
217
+ * instead if you want a different policy for the supervisor itself.
218
+ */
219
+ supervisorStrategy(): SupervisorStrategy;
220
+ preStart(): void;
221
+ onReceive(message: unknown): Promise<void>;
222
+ postStop(): void;
223
+ private spawnChild;
224
+ private handleTerminated;
225
+ /**
226
+ * Translate the `(triggerOn, wasFailure)` pair into a respawn / stop
227
+ * decision (#68). Pure function — easy to unit-test in isolation
228
+ * if we ever want to.
229
+ */
230
+ private shouldRespawn;
231
+ private respawn;
232
+ private drainStash;
233
+ }
234
+ //# sourceMappingURL=BackoffSupervisor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackoffSupervisor.d.ts","sourceRoot":"","sources":["../../src/pattern/BackoffSupervisor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,292 @@
1
+ import { match } from 'ts-pattern';
2
+ import { Actor } from '../Actor.js';
3
+ import { Props } from '../Props.js';
4
+ import { Directive, OneForOneStrategy, } from '../Supervision.js';
5
+ import { Terminated } from '../SystemMessages.js';
6
+ import { exponentialBackoff, } from './BackoffPolicy.js';
7
+ /** Default child name when the user doesn't supply one. */
8
+ const DEFAULT_CHILD_NAME = 'child';
9
+ /** Default cap so a stuck supervisor doesn't OOM the process. */
10
+ const DEFAULT_STASH_LIMIT = 1000;
11
+ export class BackoffSupervisor extends Actor {
12
+ /**
13
+ * Build a `Props` that spawns a `BackoffSupervisor` configured with
14
+ * the given options. Apply `withSupervisorStrategy` if you want to
15
+ * change how the supervisor itself is supervised (the **child** is
16
+ * always run under `stoppingStrategy` regardless of this).
17
+ */
18
+ static props(opts) {
19
+ return Props.create(() => new BackoffSupervisor(opts));
20
+ }
21
+ opts;
22
+ policy;
23
+ childName;
24
+ forward;
25
+ stashLimit;
26
+ resetThresholdMs;
27
+ drainGraceMs;
28
+ clock;
29
+ triggerOn;
30
+ forwardDuringGrace;
31
+ /**
32
+ * Set by the supervisor's decider (#68) on the way to `Stop` so
33
+ * `handleTerminated` can distinguish a crash-driven termination from
34
+ * a clean self-stop. Reset after every Terminated handling so a
35
+ * stale "true" can't be carried over into the next incarnation's
36
+ * lifecycle.
37
+ */
38
+ lastTerminationWasFailure = false;
39
+ /**
40
+ * `true` once the current child has survived the `drainGraceMs`
41
+ * window (#67). Cleared on every spawn + Terminated. Gates
42
+ * direct-forwarding of new messages while the child is still in
43
+ * its uncertain grace period — without the gate, messages arriving
44
+ * between two failed respawn attempts forward straight into a
45
+ * crashing child and dead-letter.
46
+ */
47
+ childConfirmedAlive = false;
48
+ /** The currently-live child, or `null` while we're in a backoff window. */
49
+ currentChild = null;
50
+ /** Counter for the **next** restart's delay (0 = first respawn). */
51
+ restartCount = 0;
52
+ /** Wall-clock ts of the last successful spawn, for the reset-window check. */
53
+ spawnTs = 0;
54
+ /** Monotonic incarnation counter — used to disambiguate child names. */
55
+ incarnation = 0;
56
+ /** Buffered messages waiting for the next child. */
57
+ stash = [];
58
+ constructor(opts) {
59
+ super();
60
+ if (!Number.isFinite(opts.minBackoff) || opts.minBackoff <= 0) {
61
+ throw new Error(`BackoffSupervisor: minBackoff must be > 0, got ${opts.minBackoff}`);
62
+ }
63
+ if (!Number.isFinite(opts.maxBackoff) || opts.maxBackoff < opts.minBackoff) {
64
+ throw new Error(`BackoffSupervisor: maxBackoff (${opts.maxBackoff}) must be >= minBackoff (${opts.minBackoff})`);
65
+ }
66
+ this.opts = opts;
67
+ this.policy = opts.policy ?? exponentialBackoff({
68
+ minMs: opts.minBackoff,
69
+ maxMs: opts.maxBackoff,
70
+ randomFactor: opts.randomFactor ?? 0.2,
71
+ });
72
+ this.childName = opts.childName ?? DEFAULT_CHILD_NAME;
73
+ this.forward = opts.forward ?? 'stash';
74
+ this.stashLimit = opts.maxStashSize ?? DEFAULT_STASH_LIMIT;
75
+ this.resetThresholdMs = resolveResetThreshold(opts.resetCounter, opts.minBackoff);
76
+ if (opts.drainGraceMs !== undefined) {
77
+ if (!Number.isFinite(opts.drainGraceMs) || opts.drainGraceMs < 0) {
78
+ throw new Error(`BackoffSupervisor: drainGraceMs must be >= 0, got ${opts.drainGraceMs}`);
79
+ }
80
+ this.drainGraceMs = opts.drainGraceMs;
81
+ }
82
+ else {
83
+ this.drainGraceMs = Math.min(50, opts.minBackoff);
84
+ }
85
+ this.clock = opts.clock ?? Date.now;
86
+ this.triggerOn = opts.triggerOn ?? 'any';
87
+ // Default `true` keeps the v1 fast-forward path; the dead-letter
88
+ // protection is opt-in (#67) because every respawn would
89
+ // otherwise pay `drainGraceMs` of latency on the happy path.
90
+ this.forwardDuringGrace = opts.forwardDuringGrace ?? true;
91
+ }
92
+ /**
93
+ * The supervisor's own strategy applied to **its child**. The
94
+ * decider always returns `Directive.Stop` (so the cell's restart
95
+ * loop doesn't fight ours), but BEFORE returning it sets
96
+ * {@link lastTerminationWasFailure} — that's the only place we can
97
+ * tell "the child crashed" apart from "the child stopped itself
98
+ * cleanly". `handleTerminated` reads the flag, applies the
99
+ * `triggerOn` policy (#68), then resets it.
100
+ *
101
+ * Users should not override this; configure the supervisor's parent
102
+ * instead if you want a different policy for the supervisor itself.
103
+ */
104
+ supervisorStrategy() {
105
+ return new OneForOneStrategy((_err) => {
106
+ this.lastTerminationWasFailure = true;
107
+ return Directive.Stop;
108
+ });
109
+ }
110
+ preStart() {
111
+ this.spawnChild();
112
+ }
113
+ async onReceive(message) {
114
+ if (message instanceof Terminated) {
115
+ this.handleTerminated(message);
116
+ return;
117
+ }
118
+ // Internal respawn tick — we only ever schedule it via timers, so
119
+ // any other appearance is a bug somewhere upstream.
120
+ if (message === RESPAWN_TICK) {
121
+ this.respawn();
122
+ return;
123
+ }
124
+ // Internal drain tick — fired drainGraceMs after a respawn. If
125
+ // the child is still alive, mark it confirmed and drain the
126
+ // stash. If it died in the meantime, currentChild is null and
127
+ // we leave the stash for the next incarnation.
128
+ if (message === DRAIN_TICK) {
129
+ if (this.currentChild) {
130
+ this.childConfirmedAlive = true;
131
+ this.drainStash(this.currentChild);
132
+ }
133
+ return;
134
+ }
135
+ // User message — forward (when confirmed alive) or stash. The
136
+ // `forwardDuringGrace` opt-out preserves the v1 behaviour for
137
+ // users who prefer zero-latency forwarding over the
138
+ // dead-letter-during-preStart-crash protection (#67).
139
+ if (this.currentChild && (this.childConfirmedAlive || this.forwardDuringGrace)) {
140
+ this.currentChild.tell(message, this.sender.toNullable());
141
+ return;
142
+ }
143
+ if (this.forward === 'drop') {
144
+ this.log.debug('BackoffSupervisor: dropping message during backoff window', { message });
145
+ return;
146
+ }
147
+ // 'stash' mode.
148
+ if (this.stash.length >= this.stashLimit) {
149
+ this.log.warn('BackoffSupervisor: stash full — dropping oldest message', {
150
+ stashLimit: this.stashLimit,
151
+ });
152
+ this.stash.shift();
153
+ }
154
+ this.stash.push({ msg: message, sender: this.sender.toNullable() });
155
+ }
156
+ postStop() {
157
+ // Cancel any pending respawn / drain — the cell already cancels
158
+ // its timers for us, but doing it explicitly keeps the intent
159
+ // obvious if someone refactors `timers.cancelAll`.
160
+ this.context.timers.cancel(RESPAWN_TIMER_KEY);
161
+ this.context.timers.cancel(DRAIN_TIMER_KEY);
162
+ this.stash.length = 0;
163
+ }
164
+ /* ------------------------- internals ---------------------------------- */
165
+ spawnChild() {
166
+ this.incarnation += 1;
167
+ const name = `${this.childName}-${this.incarnation}`;
168
+ const child = this.context.spawn(this.opts.childProps, name);
169
+ this.context.watch(child);
170
+ this.currentChild = child;
171
+ this.spawnTs = this.clock();
172
+ // Reset the alive-confirmation flag. In the default
173
+ // `forwardDuringGrace: true` mode this only matters for the
174
+ // explicit-stash carry-over (the gate doesn't apply); in the
175
+ // opt-in strict mode it gates new forwards until DRAIN_TICK
176
+ // flips it back to true. `drainGraceMs === 0` skips the grace
177
+ // entirely.
178
+ this.childConfirmedAlive = this.drainGraceMs === 0;
179
+ if (this.drainGraceMs === 0) {
180
+ this.drainStash(child);
181
+ return;
182
+ }
183
+ // Wait one grace period before flipping confirmedAlive AND
184
+ // draining the stash — a child that crashes in `preStart`
185
+ // doesn't take the stash with it to dead-letter, and (with
186
+ // `forwardDuringGrace: false`, the default) new messages
187
+ // arriving in the post-respawn window are stashed too.
188
+ this.context.timers.startSingleTimer(DRAIN_TIMER_KEY, DRAIN_TICK, this.drainGraceMs);
189
+ }
190
+ handleTerminated(t) {
191
+ // Ignore stale Terminated messages from a previous incarnation —
192
+ // can happen if we already started a respawn before the old ref's
193
+ // Terminated finished its trip through the mailbox.
194
+ if (!this.currentChild || !t.actor.equals(this.currentChild)) {
195
+ return;
196
+ }
197
+ // Snapshot + clear the failure flag set by the decider. Doing it
198
+ // here (not later) keeps the supervisor's state clean even if the
199
+ // triggerOn check causes us to stop ourselves and skip the rest.
200
+ const wasFailure = this.lastTerminationWasFailure;
201
+ this.lastTerminationWasFailure = false;
202
+ if (!this.shouldRespawn(wasFailure)) {
203
+ this.log.info('BackoffSupervisor: child terminated, triggerOn rejected — supervisor stops', {
204
+ child: t.actor.toString(),
205
+ cause: wasFailure ? 'failure' : 'stop',
206
+ triggerOn: this.triggerOn,
207
+ });
208
+ // Stop ourselves — the parent (or whoever spawned us) gets a
209
+ // Terminated for the supervisor and decides what to do next.
210
+ this.currentChild = null;
211
+ this.childConfirmedAlive = false;
212
+ this.context.timers.cancel(DRAIN_TIMER_KEY);
213
+ this.context.stop(this.self);
214
+ return;
215
+ }
216
+ const aliveFor = this.clock() - this.spawnTs;
217
+ if (this.resetThresholdMs !== null && aliveFor >= this.resetThresholdMs) {
218
+ this.restartCount = 0;
219
+ }
220
+ const delay = this.policy.delayFor(this.restartCount);
221
+ this.restartCount += 1;
222
+ this.currentChild = null;
223
+ // Reset the alive-confirmation flag (#67) — the next spawn starts
224
+ // its grace window from scratch, and any messages arriving
225
+ // between now and that spawn must stash, not forward.
226
+ this.childConfirmedAlive = false;
227
+ // Cancel any pending drain — the child it was waiting on is gone.
228
+ // The stash itself is preserved for the next incarnation.
229
+ this.context.timers.cancel(DRAIN_TIMER_KEY);
230
+ this.context.timers.startSingleTimer(RESPAWN_TIMER_KEY, RESPAWN_TICK, Math.max(0, Math.round(delay)));
231
+ this.log.info('BackoffSupervisor: child terminated, respawn scheduled', {
232
+ child: t.actor.toString(),
233
+ cause: wasFailure ? 'failure' : 'stop',
234
+ delayMs: delay,
235
+ restartCount: this.restartCount,
236
+ aliveMs: aliveFor,
237
+ });
238
+ }
239
+ /**
240
+ * Translate the `(triggerOn, wasFailure)` pair into a respawn / stop
241
+ * decision (#68). Pure function — easy to unit-test in isolation
242
+ * if we ever want to.
243
+ */
244
+ shouldRespawn(wasFailure) {
245
+ // Exhaustive match — adding a new TerminationTrigger variant
246
+ // forces this site to be updated (TS error otherwise).
247
+ return match(this.triggerOn)
248
+ .with('any', () => true)
249
+ .with('failure', () => wasFailure)
250
+ .with('stop', () => !wasFailure)
251
+ .exhaustive();
252
+ }
253
+ respawn() {
254
+ if (this.currentChild !== null) {
255
+ // Defensive — should never happen, but a lingering tick is a
256
+ // correctness hazard worth a log line.
257
+ this.log.warn('BackoffSupervisor: respawn tick fired with a live child — ignoring');
258
+ return;
259
+ }
260
+ this.spawnChild();
261
+ }
262
+ drainStash(child) {
263
+ if (this.stash.length === 0)
264
+ return;
265
+ const drained = this.stash.splice(0, this.stash.length);
266
+ for (const { msg, sender } of drained) {
267
+ child.tell(msg, sender);
268
+ }
269
+ }
270
+ }
271
+ /** Sentinel for the respawn timer message. */
272
+ const RESPAWN_TICK = Symbol.for('actor-ts.pattern.BackoffSupervisor.respawn');
273
+ const RESPAWN_TIMER_KEY = 'actor-ts.pattern.BackoffSupervisor.respawn';
274
+ /** Sentinel for the stash-drain timer message. */
275
+ const DRAIN_TICK = Symbol.for('actor-ts.pattern.BackoffSupervisor.drain');
276
+ const DRAIN_TIMER_KEY = 'actor-ts.pattern.BackoffSupervisor.drain';
277
+ function resolveResetThreshold(rule, minBackoff) {
278
+ // Exhaustive over `ResetCounter | undefined`. `undefined` maps to
279
+ // the same default behaviour as 'after-min-stable'. Adding a new
280
+ // ResetCounter variant forces this site to be updated.
281
+ return match(rule)
282
+ .with(undefined, 'after-min-stable', () => minBackoff)
283
+ .with('never', () => null)
284
+ .with({ kind: 'after-time' }, (r) => {
285
+ if (!Number.isFinite(r.ms) || r.ms < 0) {
286
+ throw new Error(`BackoffSupervisor: resetCounter.ms must be a non-negative number, got ${r.ms}`);
287
+ }
288
+ return r.ms;
289
+ })
290
+ .exhaustive();
291
+ }
292
+ //# sourceMappingURL=BackoffSupervisor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BackoffSupervisor.js","sourceRoot":"","sources":["../../src/pattern/BackoffSupervisor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ export type CircuitState = 'closed' | 'open' | 'half-open';
2
+ export interface CircuitBreakerSettings {
3
+ /** Consecutive failures before the breaker opens. Must be >= 1. */
4
+ readonly maxFailures: number;
5
+ /** How long the breaker stays open before letting a probe through. ms. */
6
+ readonly resetTimeoutMs: number;
7
+ /** Per-call timeout; exceeding this counts as a failure. */
8
+ readonly callTimeoutMs?: number;
9
+ /** Optional: classify errors as non-failures to bypass breaker counting. */
10
+ readonly isFailure?: (err: Error) => boolean;
11
+ }
12
+ export declare class CircuitBreakerOpenError extends Error {
13
+ constructor(message?: string);
14
+ }
15
+ export declare class CircuitBreakerTimeoutError extends Error {
16
+ constructor(ms: number);
17
+ }
18
+ type StateListener = (state: CircuitState) => void;
19
+ /**
20
+ * Three-state circuit breaker. Wraps calls that might fail — when enough
21
+ * fail in a row the breaker "opens" and refuses further calls for a
22
+ * timeout window. The first call after the timeout probes the upstream
23
+ * ("half-open"); if it succeeds, the breaker closes and normal operation
24
+ * resumes.
25
+ *
26
+ * Not tied to actors — works with any `() => Promise<T>` factory. For
27
+ * actor-based usage, wrap `ask(target, msg, timeout)` in the factory.
28
+ */
29
+ export declare class CircuitBreaker {
30
+ readonly settings: CircuitBreakerSettings;
31
+ private _state;
32
+ private failureCount;
33
+ private nextProbeAt;
34
+ private readonly listeners;
35
+ constructor(settings: CircuitBreakerSettings);
36
+ get state(): CircuitState;
37
+ /** Call `factory` under breaker supervision. Throws `CircuitBreakerOpenError` when open. */
38
+ call<T>(factory: () => Promise<T>): Promise<T>;
39
+ /** Observe state transitions — useful for logging/metrics. */
40
+ onStateChange(listener: StateListener): () => void;
41
+ /** Force the breaker into a specific state (mostly for tests / admin). */
42
+ setState(next: CircuitState): void;
43
+ private onSuccess;
44
+ private onFailure;
45
+ private maybeTransitionToHalfOpen;
46
+ private applyTimeout;
47
+ }
48
+ export {};
49
+ //# sourceMappingURL=CircuitBreaker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CircuitBreaker.d.ts","sourceRoot":"","sources":["../../src/pattern/CircuitBreaker.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;AAE3D,MAAM,WAAW,sBAAsB;IACrC,oEAAoE;IACpE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,4DAA4D;IAC5D,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,CAAC;CAC9C;AAED,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,SAA4B;CAIhD;AAED,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,EAAE,EAAE,MAAM;CAIvB;AAED,KAAK,aAAa,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;AAEnD;;;;;;;;;GASG;AACH,qBAAa,cAAc;aAMG,QAAQ,EAAE,sBAAsB;IAL5D,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;gBAE1B,QAAQ,EAAE,sBAAsB;IAS5D,IAAI,KAAK,IAAI,YAAY,CAAwB;IAEjD,6FAA6F;IACvF,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAoBpD,8DAA8D;IAC9D,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,IAAI;IAKlD,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAQlC,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,YAAY;CASrB"}