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,48 @@
1
+ import type { EventAdapter, SnapshotAdapter } from './Adapter.js';
2
+ import type { Codec } from './Codec.js';
3
+ /**
4
+ * Wrap an existing `EventAdapter` / `SnapshotAdapter` with a
5
+ * {@link Codec} that validates the payload on every write and
6
+ * read (#6). The codec runs **after** the inner adapter on the
7
+ * write path (so versioned wire shapes — produced by `defaultsAdapter`,
8
+ * `migratingAdapter`, etc — are validated against the wire schema)
9
+ * and **before** the inner adapter on the read path (so corrupted /
10
+ * mistyped wire data fails before any upcaster runs).
11
+ *
12
+ * const adapter = validatedEventAdapter(
13
+ * defaultsAdapter<DepositedV2>({
14
+ * manifest: 'BankAccount.Deposited',
15
+ * currentVersion: 2,
16
+ * defaults: { 1: { currency: 'USD' } },
17
+ * }),
18
+ * zodCodec(DepositedV2WireSchema),
19
+ * );
20
+ *
21
+ * Errors thrown by the codec on encode become `PersistError`s in
22
+ * the actor's outbox; on decode they bubble up as `MigrationError`s
23
+ * with the manifest + version of the offending record so log
24
+ * output points at the exact failure.
25
+ */
26
+ /** Shape of error reasons surfaced from this wrapper. */
27
+ export interface ValidatedAdapterOptions {
28
+ /**
29
+ * Override how the wire payload is shown in the validation
30
+ * error. Defaults to `JSON.stringify(payload).slice(0, 200)` —
31
+ * truncated so big payloads don't flood the error log.
32
+ */
33
+ readonly previewWire?: (wire: unknown) => string;
34
+ }
35
+ /**
36
+ * Wrap an `EventAdapter` to run the codec on every read/write.
37
+ * The inner adapter still owns version mapping (upcasters,
38
+ * defaults, downcast for rolling deploys); the codec adds payload-
39
+ * shape validation on top.
40
+ */
41
+ export declare function validatedEventAdapter<E, J>(inner: EventAdapter<E, J>, codec: Codec<J>, opts?: ValidatedAdapterOptions): EventAdapter<E, J>;
42
+ /**
43
+ * Snapshot variant of {@link validatedEventAdapter}. Same shape;
44
+ * `SnapshotAdapter` differs from `EventAdapter` only in name (for
45
+ * call-site clarity).
46
+ */
47
+ export declare function validatedSnapshotAdapter<S, J>(inner: SnapshotAdapter<S, J>, codec: Codec<J>, opts?: ValidatedAdapterOptions): SnapshotAdapter<S, J>;
48
+ //# sourceMappingURL=validatedAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validatedAdapter.d.ts","sourceRoot":"","sources":["../../../src/persistence/migration/validatedAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAiB,eAAe,EAAe,MAAM,cAAc,CAAC;AAC9F,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGxC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,yDAAyD;AACzD,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC;CAClD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EACxC,KAAK,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,EACzB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,IAAI,GAAE,uBAA4B,GACjC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAiBpB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,CAAC,EAC3C,KAAK,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EAC5B,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,IAAI,GAAE,uBAA4B,GACjC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAiBvB"}
@@ -0,0 +1,86 @@
1
+ import { MigrationError } from './Envelope.js';
2
+ /**
3
+ * Wrap an `EventAdapter` to run the codec on every read/write.
4
+ * The inner adapter still owns version mapping (upcasters,
5
+ * defaults, downcast for rolling deploys); the codec adds payload-
6
+ * shape validation on top.
7
+ */
8
+ export function validatedEventAdapter(inner, codec, opts = {}) {
9
+ return {
10
+ manifest: (event) => inner.manifest(event),
11
+ toJournal: (event) => {
12
+ const out = inner.toJournal(event);
13
+ const validated = runEncode(codec, out.payload, out.manifest, out.version, opts);
14
+ return { manifest: out.manifest, version: out.version, payload: validated };
15
+ },
16
+ fromJournal: (stored) => {
17
+ const validated = runDecode(codec, stored, opts);
18
+ return inner.fromJournal({
19
+ manifest: stored.manifest,
20
+ version: stored.version,
21
+ payload: validated,
22
+ });
23
+ },
24
+ };
25
+ }
26
+ /**
27
+ * Snapshot variant of {@link validatedEventAdapter}. Same shape;
28
+ * `SnapshotAdapter` differs from `EventAdapter` only in name (for
29
+ * call-site clarity).
30
+ */
31
+ export function validatedSnapshotAdapter(inner, codec, opts = {}) {
32
+ return {
33
+ manifest: (state) => inner.manifest(state),
34
+ toJournal: (state) => {
35
+ const out = inner.toJournal(state);
36
+ const validated = runEncode(codec, out.payload, out.manifest, out.version, opts);
37
+ return { manifest: out.manifest, version: out.version, payload: validated };
38
+ },
39
+ fromJournal: (stored) => {
40
+ const validated = runDecode(codec, stored, opts);
41
+ return inner.fromJournal({
42
+ manifest: stored.manifest,
43
+ version: stored.version,
44
+ payload: validated,
45
+ });
46
+ },
47
+ };
48
+ }
49
+ /* ----------------------------- internals ------------------------------ */
50
+ function runEncode(codec, payload, manifest, version, opts) {
51
+ try {
52
+ return codec.encode(payload);
53
+ }
54
+ catch (err) {
55
+ throw new MigrationError(`validatedAdapter: codec '${codec.name ?? 'anonymous'}' rejected encode for `
56
+ + `${manifest}@v${version}: ${err.message ?? String(err)} `
57
+ + `[input=${preview(payload, opts)}]`, manifest, version);
58
+ }
59
+ }
60
+ function runDecode(codec, stored, opts) {
61
+ try {
62
+ return codec.decode(stored.payload);
63
+ }
64
+ catch (err) {
65
+ throw new MigrationError(`validatedAdapter: codec '${codec.name ?? 'anonymous'}' rejected decode for `
66
+ + `${stored.manifest}@v${stored.version}: ${err.message ?? String(err)} `
67
+ + `[wire=${preview(stored.payload, opts)}]`, stored.manifest, stored.version);
68
+ }
69
+ }
70
+ function preview(wire, opts) {
71
+ if (opts.previewWire) {
72
+ try {
73
+ return opts.previewWire(wire);
74
+ }
75
+ catch { /* fall through */ }
76
+ }
77
+ let s;
78
+ try {
79
+ s = JSON.stringify(wire);
80
+ }
81
+ catch {
82
+ s = String(wire);
83
+ }
84
+ return s.length > 200 ? `${s.slice(0, 200)}…` : s;
85
+ }
86
+ //# sourceMappingURL=validatedAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validatedAdapter.js","sourceRoot":"","sources":["../../../src/persistence/migration/validatedAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import type { Journal } from '../Journal.js';
2
+ import type { PersistentEvent } from '../JournalTypes.js';
3
+ import type { SnapshotStore } from '../SnapshotStore.js';
4
+ import type { JournalEnvelope } from './Adapter.js';
5
+ /**
6
+ * One-shot migration helpers for repos adopting the schema-evolution
7
+ * envelope after-the-fact (#9). An actor that ships a fresh
8
+ * `EventAdapter` against an existing journal whose events are NOT
9
+ * envelope-wrapped throws `MigrationError` on the first replay,
10
+ * because the envelope layer expects `{_v, _t, _e}` markers and the
11
+ * legacy data has none.
12
+ *
13
+ * The fix is a one-time rewrite: walk the journal, wrap every raw
14
+ * event in `{ _v: 1, _t: <manifest>, _e: <event> }`, write back. This
15
+ * file ships the primitives:
16
+ *
17
+ * - `wrapEventAsEnvelope(event, manifestFor)` — pure, idempotent;
18
+ * events that already look like envelopes are passed through.
19
+ * - `wrapStateAsEnvelope(state, manifestFor)` — same shape for
20
+ * snapshots / durable-state values.
21
+ * - `migrateInMemoryJournal(journal, manifestFor)` — reference
22
+ * bulk-rewriter for the in-process journal. Preserves sequence
23
+ * numbers + timestamps + tags; the only thing that changes is the
24
+ * `event` payload.
25
+ * - `migrateSnapshotStore(store, pids, manifestFor)` — same idea
26
+ * for snapshots. Iterates `pids` (callers source them — usually
27
+ * `await journal.persistenceIds()`).
28
+ *
29
+ * Cassandra / SQLite / S3 journals all need a journal-specific
30
+ * SQL/CQL/object-list path; users write a few lines of glue using
31
+ * `wrapEventAsEnvelope` as the per-row primitive. Shipping a
32
+ * generic CLI for every backend would be a maintenance trap.
33
+ */
34
+ /**
35
+ * Wrap a single domain event as a `JournalEnvelope` at version 1
36
+ * (idempotent — events that already look like envelopes are returned
37
+ * unchanged). `manifestFor` derives the stable `_t` discriminator
38
+ * from the event itself. Override `version` if your codebase
39
+ * already shipped some envelopes at a higher version and you want
40
+ * the migration to start from there.
41
+ */
42
+ export declare function wrapEventAsEnvelope<E>(event: E, manifestFor: (e: E) => string, version?: number): JournalEnvelope<E>;
43
+ /** Same shape as {@link wrapEventAsEnvelope}, separate name for clarity. */
44
+ export declare function wrapStateAsEnvelope<S>(state: S, manifestFor: (s: S) => string, version?: number): JournalEnvelope<S>;
45
+ export interface MigrationResult {
46
+ /** Total entries inspected. */
47
+ readonly inspected: number;
48
+ /** Entries that were rewritten (raw → envelope). */
49
+ readonly wrapped: number;
50
+ /** Entries that were already enveloped and left untouched. */
51
+ readonly skipped: number;
52
+ }
53
+ /**
54
+ * Bulk-rewrite every event in a {@link Journal} that exposes the
55
+ * `_remapForMigration` hook (the in-memory journal does; for other
56
+ * backends you write a few lines of journal-specific glue). Returns
57
+ * a count of inspected / wrapped / skipped entries — re-running on a
58
+ * fully-migrated journal is a no-op (`wrapped === 0`).
59
+ */
60
+ export declare function migrateInMemoryJournal<E>(journal: Journal, manifestFor: (e: E) => string, opts?: {
61
+ readonly version?: number;
62
+ }): Promise<MigrationResult>;
63
+ /**
64
+ * Walk a {@link SnapshotStore} for every `pid` in `pids`, load the
65
+ * latest snapshot, and re-save it as an enveloped value if it isn't
66
+ * one already. Older snapshots in `keepN` history get the same
67
+ * treatment via repeated `loadBefore` calls until exhausted.
68
+ *
69
+ * Note: this rewrites snapshots **at the same `seq`** by overwriting
70
+ * — most snapshot-store impls upsert by key (`<pid>/<seq>.json`) so
71
+ * a re-save lands on the existing record without changing the seq.
72
+ */
73
+ export declare function migrateSnapshotStore<S>(store: SnapshotStore, pids: ReadonlyArray<string>, manifestFor: (s: S) => string, opts?: {
74
+ readonly version?: number;
75
+ }): Promise<MigrationResult>;
76
+ /**
77
+ * Convenience: pretty-print a migration summary suitable for the CLI
78
+ * one-liner most users will write — `console.log(formatMigrationResult(...))`
79
+ * after the bulk call.
80
+ */
81
+ export declare function formatMigrationResult(prefix: string, result: MigrationResult): string;
82
+ export type { PersistentEvent };
83
+ //# sourceMappingURL=wrapLegacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapLegacy.d.ts","sourceRoot":"","sources":["../../../src/persistence/migration/wrapLegacy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,KAAK,EAAE,CAAC,EACR,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,EAC7B,OAAO,SAAI,GACV,eAAe,CAAC,CAAC,CAAC,CAGpB;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,KAAK,EAAE,CAAC,EACR,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,EAC7B,OAAO,SAAI,GACV,eAAe,CAAC,CAAC,CAAC,CAGpB;AAID,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAqBD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,EAC7B,IAAI,GAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACvC,OAAO,CAAC,eAAe,CAAC,CA4B1B;AAID;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAC3B,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,EAC7B,IAAI,GAAE;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACvC,OAAO,CAAC,eAAe,CAAC,CAmB1B;AAID;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,MAAM,CAErF;AAID,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,126 @@
1
+ import { isEnvelope } from './Envelope.js';
2
+ /**
3
+ * One-shot migration helpers for repos adopting the schema-evolution
4
+ * envelope after-the-fact (#9). An actor that ships a fresh
5
+ * `EventAdapter` against an existing journal whose events are NOT
6
+ * envelope-wrapped throws `MigrationError` on the first replay,
7
+ * because the envelope layer expects `{_v, _t, _e}` markers and the
8
+ * legacy data has none.
9
+ *
10
+ * The fix is a one-time rewrite: walk the journal, wrap every raw
11
+ * event in `{ _v: 1, _t: <manifest>, _e: <event> }`, write back. This
12
+ * file ships the primitives:
13
+ *
14
+ * - `wrapEventAsEnvelope(event, manifestFor)` — pure, idempotent;
15
+ * events that already look like envelopes are passed through.
16
+ * - `wrapStateAsEnvelope(state, manifestFor)` — same shape for
17
+ * snapshots / durable-state values.
18
+ * - `migrateInMemoryJournal(journal, manifestFor)` — reference
19
+ * bulk-rewriter for the in-process journal. Preserves sequence
20
+ * numbers + timestamps + tags; the only thing that changes is the
21
+ * `event` payload.
22
+ * - `migrateSnapshotStore(store, pids, manifestFor)` — same idea
23
+ * for snapshots. Iterates `pids` (callers source them — usually
24
+ * `await journal.persistenceIds()`).
25
+ *
26
+ * Cassandra / SQLite / S3 journals all need a journal-specific
27
+ * SQL/CQL/object-list path; users write a few lines of glue using
28
+ * `wrapEventAsEnvelope` as the per-row primitive. Shipping a
29
+ * generic CLI for every backend would be a maintenance trap.
30
+ */
31
+ /* ---------------------------- pure wrappers ---------------------------- */
32
+ /**
33
+ * Wrap a single domain event as a `JournalEnvelope` at version 1
34
+ * (idempotent — events that already look like envelopes are returned
35
+ * unchanged). `manifestFor` derives the stable `_t` discriminator
36
+ * from the event itself. Override `version` if your codebase
37
+ * already shipped some envelopes at a higher version and you want
38
+ * the migration to start from there.
39
+ */
40
+ export function wrapEventAsEnvelope(event, manifestFor, version = 1) {
41
+ if (isEnvelope(event))
42
+ return event;
43
+ return { _v: version, _t: manifestFor(event), _e: event };
44
+ }
45
+ /** Same shape as {@link wrapEventAsEnvelope}, separate name for clarity. */
46
+ export function wrapStateAsEnvelope(state, manifestFor, version = 1) {
47
+ if (isEnvelope(state))
48
+ return state;
49
+ return { _v: version, _t: manifestFor(state), _e: state };
50
+ }
51
+ /**
52
+ * Bulk-rewrite every event in a {@link Journal} that exposes the
53
+ * `_remapForMigration` hook (the in-memory journal does; for other
54
+ * backends you write a few lines of journal-specific glue). Returns
55
+ * a count of inspected / wrapped / skipped entries — re-running on a
56
+ * fully-migrated journal is a no-op (`wrapped === 0`).
57
+ */
58
+ export async function migrateInMemoryJournal(journal, manifestFor, opts = {}) {
59
+ if (typeof journal._remapForMigration !== 'function') {
60
+ throw new Error('migrateInMemoryJournal: journal does not expose _remapForMigration. '
61
+ + 'Use the per-row `wrapEventAsEnvelope` primitive with a backend-specific '
62
+ + 'rewrite path (SQL UPDATE / S3 PUT / CQL UPDATE).');
63
+ }
64
+ const migratable = journal;
65
+ const version = opts.version ?? 1;
66
+ const pids = await journal.persistenceIds();
67
+ let inspected = 0;
68
+ let wrapped = 0;
69
+ let skipped = 0;
70
+ for (const pid of pids) {
71
+ // Read first to count + decide; the `_remapForMigration` call
72
+ // does the actual rewrite in place.
73
+ const events = await journal.read(pid, 0);
74
+ inspected += events.length;
75
+ for (const e of events) {
76
+ if (isEnvelope(e.event))
77
+ skipped += 1;
78
+ else
79
+ wrapped += 1;
80
+ }
81
+ await migratable._remapForMigration(pid, (e) => wrapEventAsEnvelope(e, manifestFor, version));
82
+ }
83
+ return { inspected, wrapped, skipped };
84
+ }
85
+ /* ------------------------ snapshot-store helpers ----------------------- */
86
+ /**
87
+ * Walk a {@link SnapshotStore} for every `pid` in `pids`, load the
88
+ * latest snapshot, and re-save it as an enveloped value if it isn't
89
+ * one already. Older snapshots in `keepN` history get the same
90
+ * treatment via repeated `loadBefore` calls until exhausted.
91
+ *
92
+ * Note: this rewrites snapshots **at the same `seq`** by overwriting
93
+ * — most snapshot-store impls upsert by key (`<pid>/<seq>.json`) so
94
+ * a re-save lands on the existing record without changing the seq.
95
+ */
96
+ export async function migrateSnapshotStore(store, pids, manifestFor, opts = {}) {
97
+ const version = opts.version ?? 1;
98
+ let inspected = 0;
99
+ let wrapped = 0;
100
+ let skipped = 0;
101
+ for (const pid of pids) {
102
+ const latest = await store.loadLatest(pid);
103
+ if (latest.isNone())
104
+ continue;
105
+ inspected += 1;
106
+ const snapshot = latest.value;
107
+ if (isEnvelope(snapshot.state)) {
108
+ skipped += 1;
109
+ continue;
110
+ }
111
+ const wrappedState = wrapStateAsEnvelope(snapshot.state, manifestFor, version);
112
+ await store.save(pid, snapshot.sequenceNr, wrappedState);
113
+ wrapped += 1;
114
+ }
115
+ return { inspected, wrapped, skipped };
116
+ }
117
+ /* ------------------------------ shape glue ----------------------------- */
118
+ /**
119
+ * Convenience: pretty-print a migration summary suitable for the CLI
120
+ * one-liner most users will write — `console.log(formatMigrationResult(...))`
121
+ * after the bulk call.
122
+ */
123
+ export function formatMigrationResult(prefix, result) {
124
+ return `${prefix}: ${result.wrapped} wrapped, ${result.skipped} already enveloped, ${result.inspected} inspected`;
125
+ }
126
+ //# sourceMappingURL=wrapLegacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapLegacy.js","sourceRoot":"","sources":["../../../src/persistence/migration/wrapLegacy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ import { type CompressionAlgo } from './Compression.js';
2
+ /**
3
+ * Wire-format for snapshot / durable-state bodies stored in object storage.
4
+ *
5
+ * Bytes 0..3 : MAGIC "ATS1" (actor-ts persistence v1)
6
+ * Byte 4 : flags bit0..1 = compression: 0=none, 1=gzip, 2=zstd
7
+ * bit2 = encrypted
8
+ * bit3 = key-versioned (#8 — master-key rotation)
9
+ * Byte 5 : keyVersion (0..255) — only when bit3 set
10
+ * Bytes ... : AES-GCM IV (12 bytes — only when bit2 set, immediately
11
+ * after the keyVersion byte if present, else
12
+ * immediately after flags)
13
+ * Bytes ... : payload (compressed/encrypted JSON)
14
+ *
15
+ * A size-conservative header (5 bytes for unencrypted; 17 for encrypted
16
+ * legacy / 18 for encrypted with explicit version) keeps small snapshots
17
+ * cheap in S3 storage; compressing the JSON before encryption is
18
+ * intentional (encryption defeats compression, so the order matters and
19
+ * is fixed by the format).
20
+ *
21
+ * **Backwards compatibility.** Encrypted bodies written before rotation
22
+ * support shipped (#8) have bit3 unset and no keyVersion byte — the
23
+ * decoder treats them as version 0, which transparently maps to either
24
+ * the legacy single-key `masterKey` config or `masterKeys.active.version
25
+ * === 0`. Mixing old and new bodies in one bucket is therefore safe.
26
+ */
27
+ export declare const ATS1_MAGIC: Uint8Array<ArrayBuffer>;
28
+ export declare const COMPRESSION_NONE = 0;
29
+ export declare const COMPRESSION_GZIP = 1;
30
+ export declare const COMPRESSION_ZSTD = 2;
31
+ export declare const FLAG_ENCRYPTED = 4;
32
+ /** When set with FLAG_ENCRYPTED, the byte after `flags` is a 0..255 key version. */
33
+ export declare const FLAG_KEY_VERSIONED = 8;
34
+ export interface EncodeOptions {
35
+ readonly compression?: CompressionAlgo;
36
+ /**
37
+ * When set, the body is encrypted with AES-256-GCM using the supplied
38
+ * 32-byte subkey (typically derived per-pid via HKDF — see
39
+ * `Encryption.deriveSubkey`). Compression runs first so encryption
40
+ * doesn't fight with compression's information theory; the IV is
41
+ * generated fresh per call and embedded in the manifest header.
42
+ *
43
+ * `keyVersion` (0..255) is embedded in the manifest so decrypt can
44
+ * pick the matching master key from a `MasterKeyRing` (#8). Omit
45
+ * it for the legacy single-key path — the decoder treats omitted
46
+ * keys as "version 0".
47
+ */
48
+ readonly encryption?: {
49
+ readonly subKey: Uint8Array;
50
+ readonly keyVersion?: number;
51
+ };
52
+ }
53
+ /**
54
+ * Subkey resolver — given the version byte the manifest carries, return
55
+ * the subkey to decrypt with. For a single-key config the resolver
56
+ * ignores the version and always returns the same subkey; for a
57
+ * keyring it dispatches. Returning `null` means "I don't have a key
58
+ * for that version" — the codec then throws a clear error.
59
+ */
60
+ export type SubKeyResolver = (keyVersion: number) => Promise<Uint8Array | null>;
61
+ export interface DecodeOptions {
62
+ /**
63
+ * Required when the body is encrypted — callers either supply a
64
+ * single subkey (legacy single-key shape) or a resolver that
65
+ * dispatches on the manifest's key version. If absent on an
66
+ * encrypted body, `decodeBody` rejects.
67
+ */
68
+ readonly encryption?: {
69
+ readonly subKey: Uint8Array;
70
+ } | {
71
+ readonly subKeyFor: SubKeyResolver;
72
+ };
73
+ }
74
+ export interface DecodedBody {
75
+ readonly compression: CompressionAlgo;
76
+ readonly encrypted: boolean;
77
+ /** 0..255 when the body carried a key-version manifest, else `undefined`. */
78
+ readonly keyVersion?: number;
79
+ readonly payload: Uint8Array;
80
+ }
81
+ /**
82
+ * Encode a JSON-stringified payload with the framing above. Returns a
83
+ * fresh `Uint8Array` ready to ship to the backend.
84
+ */
85
+ export declare function encodeBody(jsonBytes: Uint8Array, opts?: EncodeOptions): Promise<Uint8Array>;
86
+ /** Decode a body produced by `encodeBody` back into the plaintext payload. */
87
+ export declare function decodeBody(framed: Uint8Array, opts?: DecodeOptions): Promise<DecodedBody>;
88
+ //# sourceMappingURL=BodyCodec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BodyCodec.d.ts","sourceRoot":"","sources":["../../../src/persistence/object-storage/BodyCodec.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGvE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,eAAO,MAAM,UAAU,yBAA2C,CAAC;AAEnE,eAAO,MAAM,gBAAgB,IAAO,CAAC;AACrC,eAAO,MAAM,gBAAgB,IAAO,CAAC;AACrC,eAAO,MAAM,gBAAgB,IAAO,CAAC;AACrC,eAAO,MAAM,cAAc,IAAQ,CAAC;AACpC,oFAAoF;AACpF,eAAO,MAAM,kBAAkB,IAAS,CAAC;AAEzC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;IACvC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrF;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;AAEhF,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAChB;QAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;KAAE,GAC/B;QAAE,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAA;KAAE,CAAC;CAC5C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CA0CrG;AAED,8EAA8E;AAC9E,wBAAsB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,GAAE,aAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CA8DnG"}
@@ -0,0 +1,171 @@
1
+ import { match } from 'ts-pattern';
2
+ import { compressorFor } from './Compression.js';
3
+ import { aesGcmDecrypt, aesGcmEncrypt, IV_LENGTH, randomIv } from './Encryption.js';
4
+ /**
5
+ * Wire-format for snapshot / durable-state bodies stored in object storage.
6
+ *
7
+ * Bytes 0..3 : MAGIC "ATS1" (actor-ts persistence v1)
8
+ * Byte 4 : flags bit0..1 = compression: 0=none, 1=gzip, 2=zstd
9
+ * bit2 = encrypted
10
+ * bit3 = key-versioned (#8 — master-key rotation)
11
+ * Byte 5 : keyVersion (0..255) — only when bit3 set
12
+ * Bytes ... : AES-GCM IV (12 bytes — only when bit2 set, immediately
13
+ * after the keyVersion byte if present, else
14
+ * immediately after flags)
15
+ * Bytes ... : payload (compressed/encrypted JSON)
16
+ *
17
+ * A size-conservative header (5 bytes for unencrypted; 17 for encrypted
18
+ * legacy / 18 for encrypted with explicit version) keeps small snapshots
19
+ * cheap in S3 storage; compressing the JSON before encryption is
20
+ * intentional (encryption defeats compression, so the order matters and
21
+ * is fixed by the format).
22
+ *
23
+ * **Backwards compatibility.** Encrypted bodies written before rotation
24
+ * support shipped (#8) have bit3 unset and no keyVersion byte — the
25
+ * decoder treats them as version 0, which transparently maps to either
26
+ * the legacy single-key `masterKey` config or `masterKeys.active.version
27
+ * === 0`. Mixing old and new bodies in one bucket is therefore safe.
28
+ */
29
+ export const ATS1_MAGIC = new Uint8Array([0x41, 0x54, 0x53, 0x31]); // "ATS1"
30
+ export const COMPRESSION_NONE = 0b00;
31
+ export const COMPRESSION_GZIP = 0b01;
32
+ export const COMPRESSION_ZSTD = 0b10;
33
+ export const FLAG_ENCRYPTED = 0b100;
34
+ /** When set with FLAG_ENCRYPTED, the byte after `flags` is a 0..255 key version. */
35
+ export const FLAG_KEY_VERSIONED = 0b1000;
36
+ /**
37
+ * Encode a JSON-stringified payload with the framing above. Returns a
38
+ * fresh `Uint8Array` ready to ship to the backend.
39
+ */
40
+ export async function encodeBody(jsonBytes, opts = {}) {
41
+ const algo = opts.compression ?? 'none';
42
+ const subKey = opts.encryption?.subKey;
43
+ const keyVersion = opts.encryption?.keyVersion;
44
+ // Step 1: compress (if requested). Encryption-after-compression
45
+ // because compression-after-encryption would defeat compression
46
+ // (ciphertext is high-entropy) AND it's the order that protects
47
+ // against CRIME-style side channels.
48
+ const compressed = await compressorFor(algo).compress(jsonBytes);
49
+ // Step 2: encrypt (if requested). IV goes into the manifest.
50
+ if (subKey) {
51
+ if (keyVersion !== undefined) {
52
+ if (!Number.isInteger(keyVersion) || keyVersion < 0 || keyVersion > 255) {
53
+ throw new Error(`BodyCodec: keyVersion must be an integer in [0, 255], got ${keyVersion}`);
54
+ }
55
+ }
56
+ const iv = randomIv();
57
+ const ciphertext = await aesGcmEncrypt(subKey, iv, compressed);
58
+ const versioned = keyVersion !== undefined;
59
+ let flags = encodeCompression(algo) | FLAG_ENCRYPTED;
60
+ if (versioned)
61
+ flags |= FLAG_KEY_VERSIONED;
62
+ const headerLen = ATS1_MAGIC.length + 1 + (versioned ? 1 : 0) + IV_LENGTH;
63
+ const out = new Uint8Array(headerLen + ciphertext.length);
64
+ out.set(ATS1_MAGIC, 0);
65
+ out[4] = flags;
66
+ let offset = 5;
67
+ if (versioned) {
68
+ out[offset] = keyVersion;
69
+ offset += 1;
70
+ }
71
+ out.set(iv, offset);
72
+ offset += IV_LENGTH;
73
+ out.set(ciphertext, offset);
74
+ return out;
75
+ }
76
+ // Step 3 (no encryption): build the plain framed body.
77
+ const flags = encodeCompression(algo);
78
+ const out = new Uint8Array(ATS1_MAGIC.length + 1 + compressed.length);
79
+ out.set(ATS1_MAGIC, 0);
80
+ out[4] = flags;
81
+ out.set(compressed, 5);
82
+ return out;
83
+ }
84
+ /** Decode a body produced by `encodeBody` back into the plaintext payload. */
85
+ export async function decodeBody(framed, opts = {}) {
86
+ if (framed.length < 5 || !magicMatches(framed)) {
87
+ throw new Error('BodyCodec: unrecognised body — expected ATS1 magic bytes.');
88
+ }
89
+ const flags = framed[4];
90
+ const compression = decodeCompression(flags);
91
+ const encrypted = (flags & FLAG_ENCRYPTED) !== 0;
92
+ const versioned = (flags & FLAG_KEY_VERSIONED) !== 0;
93
+ let payload;
94
+ let keyVersion;
95
+ if (encrypted) {
96
+ if (!opts.encryption) {
97
+ throw new Error('BodyCodec: body is encrypted but no subKey/resolver was supplied for decoding.');
98
+ }
99
+ let offset = 5;
100
+ if (versioned) {
101
+ if (framed.length < 6) {
102
+ throw new Error('BodyCodec: encrypted body claims key-versioned but is shorter than the version byte requires.');
103
+ }
104
+ keyVersion = framed[5];
105
+ offset = 6;
106
+ }
107
+ if (framed.length < offset + IV_LENGTH) {
108
+ throw new Error('BodyCodec: encrypted body is shorter than the manifest IV requires.');
109
+ }
110
+ const iv = framed.subarray(offset, offset + IV_LENGTH);
111
+ const ciphertext = framed.subarray(offset + IV_LENGTH);
112
+ // Resolve the subkey: prefer the resolver path (versioned), fall
113
+ // back to the legacy single-subkey field. An unversioned body
114
+ // dispatched against a resolver is treated as version 0 — that's
115
+ // the implicit version the legacy single-key shape always carried.
116
+ const enc = opts.encryption;
117
+ let subKey;
118
+ if ('subKeyFor' in enc) {
119
+ subKey = await enc.subKeyFor(keyVersion ?? 0);
120
+ if (!subKey) {
121
+ throw new Error(`BodyCodec: no master key registered for version ${keyVersion ?? 0} — `
122
+ + `add it to the keyring's \`retired\` list to decrypt historical blobs.`);
123
+ }
124
+ }
125
+ else {
126
+ subKey = enc.subKey;
127
+ }
128
+ const compressedPlaintext = await aesGcmDecrypt(subKey, iv, ciphertext);
129
+ payload = await compressorFor(compression).decompress(compressedPlaintext);
130
+ }
131
+ else {
132
+ const compressedSlice = framed.subarray(5);
133
+ payload = await compressorFor(compression).decompress(compressedSlice);
134
+ }
135
+ return {
136
+ compression,
137
+ encrypted,
138
+ ...(keyVersion !== undefined ? { keyVersion } : {}),
139
+ payload,
140
+ };
141
+ }
142
+ /* ----------------------------- internals -------------------------------- */
143
+ function magicMatches(buf) {
144
+ return buf[0] === ATS1_MAGIC[0]
145
+ && buf[1] === ATS1_MAGIC[1]
146
+ && buf[2] === ATS1_MAGIC[2]
147
+ && buf[3] === ATS1_MAGIC[3];
148
+ }
149
+ function encodeCompression(algo) {
150
+ // Exhaustive — adding a new CompressionAlgo variant forces this site.
151
+ return match(algo)
152
+ .with('none', () => COMPRESSION_NONE)
153
+ .with('gzip', () => COMPRESSION_GZIP)
154
+ .with('zstd', () => COMPRESSION_ZSTD)
155
+ .exhaustive();
156
+ }
157
+ function decodeCompression(flags) {
158
+ // Decoding the bit-pattern back to the typed union — input is a
159
+ // number (constrained 0..3 by the caller's bitmask), so the default
160
+ // throw stays as runtime guard for bad/legacy bytes. Cannot use
161
+ // `match().exhaustive()` here because the input type is `number`,
162
+ // not a closed union.
163
+ switch (flags & 0b11) {
164
+ case COMPRESSION_NONE: return 'none';
165
+ case COMPRESSION_GZIP: return 'gzip';
166
+ case COMPRESSION_ZSTD: return 'zstd';
167
+ default:
168
+ throw new Error(`BodyCodec: unknown compression flags ${(flags & 0b11).toString(2)}`);
169
+ }
170
+ }
171
+ //# sourceMappingURL=BodyCodec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BodyCodec.js","sourceRoot":"","sources":["../../../src/persistence/object-storage/BodyCodec.ts"],"names":[],"mappings":"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"}