effect 4.0.0-beta.66 → 4.0.0-beta.68

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 (1767) hide show
  1. package/dist/Array.d.ts +151 -106
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +50 -40
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +620 -553
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +298 -254
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +342 -274
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +168 -126
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +189 -156
  14. package/dist/Boolean.d.ts.map +1 -1
  15. package/dist/Boolean.js +85 -68
  16. package/dist/Boolean.js.map +1 -1
  17. package/dist/Brand.d.ts +30 -5
  18. package/dist/Brand.d.ts.map +1 -1
  19. package/dist/Brand.js +19 -2
  20. package/dist/Brand.js.map +1 -1
  21. package/dist/Cache.d.ts +239 -135
  22. package/dist/Cache.d.ts.map +1 -1
  23. package/dist/Cache.js +135 -59
  24. package/dist/Cache.js.map +1 -1
  25. package/dist/Cause.d.ts +84 -73
  26. package/dist/Cause.d.ts.map +1 -1
  27. package/dist/Cause.js +51 -44
  28. package/dist/Cause.js.map +1 -1
  29. package/dist/Channel.d.ts +1568 -632
  30. package/dist/Channel.d.ts.map +1 -1
  31. package/dist/Channel.js +685 -315
  32. package/dist/Channel.js.map +1 -1
  33. package/dist/ChannelSchema.d.ts +119 -10
  34. package/dist/ChannelSchema.d.ts.map +1 -1
  35. package/dist/ChannelSchema.js +45 -6
  36. package/dist/ChannelSchema.js.map +1 -1
  37. package/dist/Chunk.d.ts +574 -428
  38. package/dist/Chunk.d.ts.map +1 -1
  39. package/dist/Chunk.js +250 -191
  40. package/dist/Chunk.js.map +1 -1
  41. package/dist/Clock.d.ts +16 -9
  42. package/dist/Clock.d.ts.map +1 -1
  43. package/dist/Clock.js +9 -5
  44. package/dist/Clock.js.map +1 -1
  45. package/dist/Combiner.d.ts +11 -5
  46. package/dist/Combiner.d.ts.map +1 -1
  47. package/dist/Combiner.js +10 -4
  48. package/dist/Combiner.js.map +1 -1
  49. package/dist/Config.d.ts +80 -68
  50. package/dist/Config.d.ts.map +1 -1
  51. package/dist/Config.js +53 -49
  52. package/dist/Config.js.map +1 -1
  53. package/dist/ConfigProvider.d.ts +33 -32
  54. package/dist/ConfigProvider.d.ts.map +1 -1
  55. package/dist/ConfigProvider.js +19 -18
  56. package/dist/ConfigProvider.js.map +1 -1
  57. package/dist/Console.d.ts +76 -50
  58. package/dist/Console.d.ts.map +1 -1
  59. package/dist/Console.js +69 -46
  60. package/dist/Console.js.map +1 -1
  61. package/dist/Context.d.ts +400 -189
  62. package/dist/Context.d.ts.map +1 -1
  63. package/dist/Context.js +143 -77
  64. package/dist/Context.js.map +1 -1
  65. package/dist/Cron.d.ts +67 -48
  66. package/dist/Cron.d.ts.map +1 -1
  67. package/dist/Cron.js +94 -36
  68. package/dist/Cron.js.map +1 -1
  69. package/dist/Crypto.d.ts +208 -0
  70. package/dist/Crypto.d.ts.map +1 -0
  71. package/dist/Crypto.js +157 -0
  72. package/dist/Crypto.js.map +1 -0
  73. package/dist/Data.d.ts +9 -3
  74. package/dist/Data.d.ts.map +1 -1
  75. package/dist/Data.js.map +1 -1
  76. package/dist/DateTime.d.ts +893 -464
  77. package/dist/DateTime.d.ts.map +1 -1
  78. package/dist/DateTime.js +387 -228
  79. package/dist/DateTime.js.map +1 -1
  80. package/dist/Deferred.d.ts +367 -175
  81. package/dist/Deferred.d.ts.map +1 -1
  82. package/dist/Deferred.js +146 -72
  83. package/dist/Deferred.js.map +1 -1
  84. package/dist/Differ.d.ts +44 -2
  85. package/dist/Differ.d.ts.map +1 -1
  86. package/dist/Differ.js +36 -0
  87. package/dist/Duration.d.ts +333 -186
  88. package/dist/Duration.d.ts.map +1 -1
  89. package/dist/Duration.js +178 -107
  90. package/dist/Duration.js.map +1 -1
  91. package/dist/Effect.d.ts +2181 -2275
  92. package/dist/Effect.d.ts.map +1 -1
  93. package/dist/Effect.js +935 -850
  94. package/dist/Effect.js.map +1 -1
  95. package/dist/Effectable.d.ts +38 -3
  96. package/dist/Effectable.d.ts.map +1 -1
  97. package/dist/Effectable.js +3 -3
  98. package/dist/Effectable.js.map +1 -1
  99. package/dist/Encoding.d.ts +78 -28
  100. package/dist/Encoding.d.ts.map +1 -1
  101. package/dist/Encoding.js +75 -27
  102. package/dist/Encoding.js.map +1 -1
  103. package/dist/Equal.d.ts +4 -3
  104. package/dist/Equal.d.ts.map +1 -1
  105. package/dist/Equal.js +4 -3
  106. package/dist/Equal.js.map +1 -1
  107. package/dist/Equivalence.d.ts +18 -24
  108. package/dist/Equivalence.d.ts.map +1 -1
  109. package/dist/Equivalence.js +16 -21
  110. package/dist/Equivalence.js.map +1 -1
  111. package/dist/ErrorReporter.d.ts +66 -82
  112. package/dist/ErrorReporter.d.ts.map +1 -1
  113. package/dist/ErrorReporter.js +38 -29
  114. package/dist/ErrorReporter.js.map +1 -1
  115. package/dist/ExecutionPlan.d.ts +106 -12
  116. package/dist/ExecutionPlan.d.ts.map +1 -1
  117. package/dist/ExecutionPlan.js +23 -6
  118. package/dist/ExecutionPlan.js.map +1 -1
  119. package/dist/Exit.d.ts +6 -5
  120. package/dist/Exit.d.ts.map +1 -1
  121. package/dist/Exit.js.map +1 -1
  122. package/dist/Fiber.d.ts +71 -40
  123. package/dist/Fiber.d.ts.map +1 -1
  124. package/dist/Fiber.js +39 -21
  125. package/dist/Fiber.js.map +1 -1
  126. package/dist/FiberHandle.d.ts +118 -57
  127. package/dist/FiberHandle.d.ts.map +1 -1
  128. package/dist/FiberHandle.js +121 -39
  129. package/dist/FiberHandle.js.map +1 -1
  130. package/dist/FiberMap.d.ts +287 -159
  131. package/dist/FiberMap.d.ts.map +1 -1
  132. package/dist/FiberMap.js +175 -73
  133. package/dist/FiberMap.js.map +1 -1
  134. package/dist/FiberSet.d.ts +93 -52
  135. package/dist/FiberSet.d.ts.map +1 -1
  136. package/dist/FiberSet.js +97 -34
  137. package/dist/FiberSet.js.map +1 -1
  138. package/dist/FileSystem.d.ts +102 -73
  139. package/dist/FileSystem.d.ts.map +1 -1
  140. package/dist/FileSystem.js +53 -39
  141. package/dist/FileSystem.js.map +1 -1
  142. package/dist/Filter.d.ts +166 -88
  143. package/dist/Filter.d.ts.map +1 -1
  144. package/dist/Filter.js +68 -42
  145. package/dist/Filter.js.map +1 -1
  146. package/dist/Formatter.d.ts +4 -2
  147. package/dist/Formatter.d.ts.map +1 -1
  148. package/dist/Formatter.js +3 -69
  149. package/dist/Formatter.js.map +1 -1
  150. package/dist/Function.d.ts +218 -151
  151. package/dist/Function.d.ts.map +1 -1
  152. package/dist/Function.js +94 -78
  153. package/dist/Function.js.map +1 -1
  154. package/dist/Graph.d.ts +714 -415
  155. package/dist/Graph.d.ts.map +1 -1
  156. package/dist/Graph.js +325 -182
  157. package/dist/Graph.js.map +1 -1
  158. package/dist/HKT.d.ts +29 -13
  159. package/dist/HKT.d.ts.map +1 -1
  160. package/dist/Hash.d.ts +35 -24
  161. package/dist/Hash.d.ts.map +1 -1
  162. package/dist/Hash.js +27 -17
  163. package/dist/Hash.js.map +1 -1
  164. package/dist/HashMap.d.ts +540 -388
  165. package/dist/HashMap.d.ts.map +1 -1
  166. package/dist/HashMap.js +262 -156
  167. package/dist/HashMap.js.map +1 -1
  168. package/dist/HashRing.d.ts +53 -34
  169. package/dist/HashRing.d.ts.map +1 -1
  170. package/dist/HashRing.js +83 -16
  171. package/dist/HashRing.js.map +1 -1
  172. package/dist/HashSet.d.ts +239 -153
  173. package/dist/HashSet.d.ts.map +1 -1
  174. package/dist/HashSet.js +110 -56
  175. package/dist/HashSet.js.map +1 -1
  176. package/dist/Inspectable.d.ts +26 -13
  177. package/dist/Inspectable.d.ts.map +1 -1
  178. package/dist/Inspectable.js +22 -10
  179. package/dist/Inspectable.js.map +1 -1
  180. package/dist/Iterable.d.ts +336 -222
  181. package/dist/Iterable.d.ts.map +1 -1
  182. package/dist/Iterable.js +146 -100
  183. package/dist/Iterable.js.map +1 -1
  184. package/dist/JsonPatch.d.ts +12 -9
  185. package/dist/JsonPatch.d.ts.map +1 -1
  186. package/dist/JsonPatch.js +9 -6
  187. package/dist/JsonPatch.js.map +1 -1
  188. package/dist/JsonPointer.d.ts +13 -11
  189. package/dist/JsonPointer.d.ts.map +1 -1
  190. package/dist/JsonPointer.js +13 -11
  191. package/dist/JsonPointer.js.map +1 -1
  192. package/dist/JsonSchema.d.ts +16 -0
  193. package/dist/JsonSchema.d.ts.map +1 -1
  194. package/dist/JsonSchema.js +10 -0
  195. package/dist/JsonSchema.js.map +1 -1
  196. package/dist/Latch.d.ts +97 -26
  197. package/dist/Latch.d.ts.map +1 -1
  198. package/dist/Latch.js +39 -20
  199. package/dist/Latch.js.map +1 -1
  200. package/dist/Layer.d.ts +472 -410
  201. package/dist/Layer.d.ts.map +1 -1
  202. package/dist/Layer.js +290 -226
  203. package/dist/Layer.js.map +1 -1
  204. package/dist/LayerMap.d.ts +99 -26
  205. package/dist/LayerMap.d.ts.map +1 -1
  206. package/dist/LayerMap.js +58 -14
  207. package/dist/LayerMap.js.map +1 -1
  208. package/dist/LogLevel.d.ts +92 -131
  209. package/dist/LogLevel.d.ts.map +1 -1
  210. package/dist/LogLevel.js +25 -15
  211. package/dist/LogLevel.js.map +1 -1
  212. package/dist/Logger.d.ts +159 -104
  213. package/dist/Logger.d.ts.map +1 -1
  214. package/dist/Logger.js +215 -189
  215. package/dist/Logger.js.map +1 -1
  216. package/dist/ManagedRuntime.d.ts +78 -19
  217. package/dist/ManagedRuntime.d.ts.map +1 -1
  218. package/dist/ManagedRuntime.js +24 -17
  219. package/dist/ManagedRuntime.js.map +1 -1
  220. package/dist/Match.d.ts +135 -161
  221. package/dist/Match.d.ts.map +1 -1
  222. package/dist/Match.js +86 -78
  223. package/dist/Match.js.map +1 -1
  224. package/dist/Metric.d.ts +330 -291
  225. package/dist/Metric.d.ts.map +1 -1
  226. package/dist/Metric.js +219 -214
  227. package/dist/Metric.js.map +1 -1
  228. package/dist/MutableHashMap.d.ts +146 -87
  229. package/dist/MutableHashMap.d.ts.map +1 -1
  230. package/dist/MutableHashMap.js +67 -43
  231. package/dist/MutableHashMap.js.map +1 -1
  232. package/dist/MutableHashSet.d.ts +52 -30
  233. package/dist/MutableHashSet.d.ts.map +1 -1
  234. package/dist/MutableHashSet.js +92 -38
  235. package/dist/MutableHashSet.js.map +1 -1
  236. package/dist/MutableList.d.ts +110 -68
  237. package/dist/MutableList.d.ts.map +1 -1
  238. package/dist/MutableList.js +135 -85
  239. package/dist/MutableList.js.map +1 -1
  240. package/dist/MutableRef.d.ts +99 -62
  241. package/dist/MutableRef.d.ts.map +1 -1
  242. package/dist/MutableRef.js +78 -60
  243. package/dist/MutableRef.js.map +1 -1
  244. package/dist/Newtype.d.ts +15 -2
  245. package/dist/Newtype.d.ts.map +1 -1
  246. package/dist/Newtype.js +8 -2
  247. package/dist/Newtype.js.map +1 -1
  248. package/dist/NonEmptyIterable.d.ts +38 -48
  249. package/dist/NonEmptyIterable.d.ts.map +1 -1
  250. package/dist/NonEmptyIterable.js +34 -25
  251. package/dist/NonEmptyIterable.js.map +1 -1
  252. package/dist/Number.d.ts +261 -205
  253. package/dist/Number.d.ts.map +1 -1
  254. package/dist/Number.js +119 -91
  255. package/dist/Number.js.map +1 -1
  256. package/dist/Optic.d.ts +6 -7
  257. package/dist/Optic.d.ts.map +1 -1
  258. package/dist/Optic.js +5 -6
  259. package/dist/Optic.js.map +1 -1
  260. package/dist/Option.d.ts +133 -156
  261. package/dist/Option.d.ts.map +1 -1
  262. package/dist/Option.js +64 -64
  263. package/dist/Option.js.map +1 -1
  264. package/dist/Order.d.ts +6 -6
  265. package/dist/Order.js +6 -6
  266. package/dist/Ordering.d.ts +56 -45
  267. package/dist/Ordering.d.ts.map +1 -1
  268. package/dist/Ordering.js +10 -8
  269. package/dist/Ordering.js.map +1 -1
  270. package/dist/PartitionedSemaphore.d.ts +225 -40
  271. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  272. package/dist/PartitionedSemaphore.js +113 -17
  273. package/dist/PartitionedSemaphore.js.map +1 -1
  274. package/dist/Path.d.ts +77 -13
  275. package/dist/Path.d.ts.map +1 -1
  276. package/dist/Path.js +49 -4
  277. package/dist/Path.js.map +1 -1
  278. package/dist/Pipeable.d.ts +77 -18
  279. package/dist/Pipeable.d.ts.map +1 -1
  280. package/dist/Pipeable.js +63 -14
  281. package/dist/Pipeable.js.map +1 -1
  282. package/dist/PlatformError.d.ts +74 -6
  283. package/dist/PlatformError.d.ts.map +1 -1
  284. package/dist/PlatformError.js +68 -5
  285. package/dist/PlatformError.js.map +1 -1
  286. package/dist/Pool.d.ts +66 -31
  287. package/dist/Pool.d.ts.map +1 -1
  288. package/dist/Pool.js +26 -24
  289. package/dist/Pool.js.map +1 -1
  290. package/dist/Predicate.d.ts +16 -23
  291. package/dist/Predicate.d.ts.map +1 -1
  292. package/dist/Predicate.js +12 -17
  293. package/dist/Predicate.js.map +1 -1
  294. package/dist/PrimaryKey.d.ts +11 -3
  295. package/dist/PrimaryKey.d.ts.map +1 -1
  296. package/dist/PrimaryKey.js +9 -2
  297. package/dist/PrimaryKey.js.map +1 -1
  298. package/dist/PubSub.d.ts +385 -309
  299. package/dist/PubSub.d.ts.map +1 -1
  300. package/dist/PubSub.js +260 -207
  301. package/dist/PubSub.js.map +1 -1
  302. package/dist/Pull.d.ts +94 -25
  303. package/dist/Pull.d.ts.map +1 -1
  304. package/dist/Pull.js +61 -13
  305. package/dist/Pull.js.map +1 -1
  306. package/dist/Queue.d.ts +303 -184
  307. package/dist/Queue.d.ts.map +1 -1
  308. package/dist/Queue.js +231 -134
  309. package/dist/Queue.js.map +1 -1
  310. package/dist/Random.d.ts +65 -57
  311. package/dist/Random.d.ts.map +1 -1
  312. package/dist/Random.js +41 -66
  313. package/dist/Random.js.map +1 -1
  314. package/dist/RcMap.d.ts +151 -141
  315. package/dist/RcMap.d.ts.map +1 -1
  316. package/dist/RcMap.js +66 -20
  317. package/dist/RcMap.js.map +1 -1
  318. package/dist/RcRef.d.ts +68 -32
  319. package/dist/RcRef.d.ts.map +1 -1
  320. package/dist/RcRef.js +33 -16
  321. package/dist/RcRef.js.map +1 -1
  322. package/dist/Record.d.ts +282 -137
  323. package/dist/Record.d.ts.map +1 -1
  324. package/dist/Record.js +124 -62
  325. package/dist/Record.js.map +1 -1
  326. package/dist/Redactable.d.ts +7 -5
  327. package/dist/Redactable.d.ts.map +1 -1
  328. package/dist/Redactable.js +5 -3
  329. package/dist/Redactable.js.map +1 -1
  330. package/dist/Redacted.d.ts +63 -34
  331. package/dist/Redacted.d.ts.map +1 -1
  332. package/dist/Redacted.js +31 -15
  333. package/dist/Redacted.js.map +1 -1
  334. package/dist/Reducer.d.ts +3 -1
  335. package/dist/Reducer.d.ts.map +1 -1
  336. package/dist/Reducer.js +2 -0
  337. package/dist/Reducer.js.map +1 -1
  338. package/dist/Ref.d.ts +85 -66
  339. package/dist/Ref.d.ts.map +1 -1
  340. package/dist/Ref.js +57 -45
  341. package/dist/Ref.js.map +1 -1
  342. package/dist/References.d.ts +73 -31
  343. package/dist/References.d.ts.map +1 -1
  344. package/dist/References.js +66 -30
  345. package/dist/References.js.map +1 -1
  346. package/dist/RegExp.d.ts +12 -6
  347. package/dist/RegExp.d.ts.map +1 -1
  348. package/dist/RegExp.js +12 -6
  349. package/dist/RegExp.js.map +1 -1
  350. package/dist/Request.d.ts +159 -34
  351. package/dist/Request.d.ts.map +1 -1
  352. package/dist/Request.js +68 -12
  353. package/dist/Request.js.map +1 -1
  354. package/dist/RequestResolver.d.ts +262 -118
  355. package/dist/RequestResolver.d.ts.map +1 -1
  356. package/dist/RequestResolver.js +78 -42
  357. package/dist/RequestResolver.js.map +1 -1
  358. package/dist/Resource.d.ts +13 -7
  359. package/dist/Resource.d.ts.map +1 -1
  360. package/dist/Resource.js +44 -6
  361. package/dist/Resource.js.map +1 -1
  362. package/dist/Result.d.ts +135 -151
  363. package/dist/Result.d.ts.map +1 -1
  364. package/dist/Result.js +56 -68
  365. package/dist/Result.js.map +1 -1
  366. package/dist/Runtime.d.ts +40 -20
  367. package/dist/Runtime.d.ts.map +1 -1
  368. package/dist/Runtime.js +34 -17
  369. package/dist/Runtime.js.map +1 -1
  370. package/dist/Schedule.d.ts +556 -590
  371. package/dist/Schedule.d.ts.map +1 -1
  372. package/dist/Schedule.js +265 -253
  373. package/dist/Schedule.js.map +1 -1
  374. package/dist/Scheduler.d.ts +44 -7
  375. package/dist/Scheduler.d.ts.map +1 -1
  376. package/dist/Scheduler.js +34 -5
  377. package/dist/Scheduler.js.map +1 -1
  378. package/dist/Schema.d.ts +1293 -602
  379. package/dist/Schema.d.ts.map +1 -1
  380. package/dist/Schema.js +501 -361
  381. package/dist/Schema.js.map +1 -1
  382. package/dist/SchemaAST.d.ts +122 -92
  383. package/dist/SchemaAST.d.ts.map +1 -1
  384. package/dist/SchemaAST.js +102 -77
  385. package/dist/SchemaAST.js.map +1 -1
  386. package/dist/SchemaGetter.d.ts +49 -36
  387. package/dist/SchemaGetter.d.ts.map +1 -1
  388. package/dist/SchemaGetter.js +42 -29
  389. package/dist/SchemaGetter.js.map +1 -1
  390. package/dist/SchemaIssue.d.ts +19 -24
  391. package/dist/SchemaIssue.d.ts.map +1 -1
  392. package/dist/SchemaIssue.js +16 -14
  393. package/dist/SchemaIssue.js.map +1 -1
  394. package/dist/SchemaParser.d.ts +231 -63
  395. package/dist/SchemaParser.d.ts.map +1 -1
  396. package/dist/SchemaParser.js +266 -75
  397. package/dist/SchemaParser.js.map +1 -1
  398. package/dist/SchemaRepresentation.d.ts +89 -77
  399. package/dist/SchemaRepresentation.d.ts.map +1 -1
  400. package/dist/SchemaRepresentation.js +47 -37
  401. package/dist/SchemaRepresentation.js.map +1 -1
  402. package/dist/SchemaTransformation.d.ts +97 -46
  403. package/dist/SchemaTransformation.d.ts.map +1 -1
  404. package/dist/SchemaTransformation.js +89 -38
  405. package/dist/SchemaTransformation.js.map +1 -1
  406. package/dist/SchemaUtils.d.ts +8 -1
  407. package/dist/SchemaUtils.d.ts.map +1 -1
  408. package/dist/SchemaUtils.js +24 -1
  409. package/dist/SchemaUtils.js.map +1 -1
  410. package/dist/Scope.d.ts +107 -65
  411. package/dist/Scope.d.ts.map +1 -1
  412. package/dist/Scope.js +61 -32
  413. package/dist/Scope.js.map +1 -1
  414. package/dist/ScopedCache.d.ts +141 -49
  415. package/dist/ScopedCache.d.ts.map +1 -1
  416. package/dist/ScopedCache.js +82 -21
  417. package/dist/ScopedCache.js.map +1 -1
  418. package/dist/ScopedRef.d.ts +28 -8
  419. package/dist/ScopedRef.d.ts.map +1 -1
  420. package/dist/ScopedRef.js +25 -5
  421. package/dist/ScopedRef.js.map +1 -1
  422. package/dist/Semaphore.d.ts +61 -37
  423. package/dist/Semaphore.d.ts.map +1 -1
  424. package/dist/Semaphore.js +18 -21
  425. package/dist/Semaphore.js.map +1 -1
  426. package/dist/Sink.d.ts +461 -206
  427. package/dist/Sink.d.ts.map +1 -1
  428. package/dist/Sink.js +241 -90
  429. package/dist/Sink.js.map +1 -1
  430. package/dist/Stdio.d.ts +43 -6
  431. package/dist/Stdio.d.ts.map +1 -1
  432. package/dist/Stdio.js +33 -4
  433. package/dist/Stdio.js.map +1 -1
  434. package/dist/Stream.d.ts +2117 -1541
  435. package/dist/Stream.d.ts.map +1 -1
  436. package/dist/Stream.js +951 -682
  437. package/dist/Stream.js.map +1 -1
  438. package/dist/String.d.ts +174 -97
  439. package/dist/String.d.ts.map +1 -1
  440. package/dist/String.js +128 -69
  441. package/dist/String.js.map +1 -1
  442. package/dist/Struct.d.ts +20 -18
  443. package/dist/Struct.d.ts.map +1 -1
  444. package/dist/Struct.js +10 -8
  445. package/dist/Struct.js.map +1 -1
  446. package/dist/SubscriptionRef.d.ts +309 -204
  447. package/dist/SubscriptionRef.d.ts.map +1 -1
  448. package/dist/SubscriptionRef.js +126 -77
  449. package/dist/SubscriptionRef.js.map +1 -1
  450. package/dist/Symbol.d.ts +13 -5
  451. package/dist/Symbol.d.ts.map +1 -1
  452. package/dist/Symbol.js +13 -5
  453. package/dist/Symbol.js.map +1 -1
  454. package/dist/SynchronizedRef.d.ts +278 -62
  455. package/dist/SynchronizedRef.d.ts.map +1 -1
  456. package/dist/SynchronizedRef.js +116 -23
  457. package/dist/SynchronizedRef.js.map +1 -1
  458. package/dist/Take.d.ts +26 -2
  459. package/dist/Take.d.ts.map +1 -1
  460. package/dist/Take.js +4 -1
  461. package/dist/Take.js.map +1 -1
  462. package/dist/Terminal.d.ts +39 -7
  463. package/dist/Terminal.d.ts.map +1 -1
  464. package/dist/Terminal.js +10 -4
  465. package/dist/Terminal.js.map +1 -1
  466. package/dist/Tracer.d.ts +233 -59
  467. package/dist/Tracer.d.ts.map +1 -1
  468. package/dist/Tracer.js +94 -18
  469. package/dist/Tracer.js.map +1 -1
  470. package/dist/Trie.d.ts +280 -245
  471. package/dist/Trie.d.ts.map +1 -1
  472. package/dist/Trie.js +116 -102
  473. package/dist/Trie.js.map +1 -1
  474. package/dist/Tuple.d.ts +34 -32
  475. package/dist/Tuple.d.ts.map +1 -1
  476. package/dist/Tuple.js +16 -14
  477. package/dist/Tuple.js.map +1 -1
  478. package/dist/TxChunk.d.ts +200 -155
  479. package/dist/TxChunk.d.ts.map +1 -1
  480. package/dist/TxChunk.js +83 -61
  481. package/dist/TxChunk.js.map +1 -1
  482. package/dist/TxDeferred.d.ts +43 -29
  483. package/dist/TxDeferred.d.ts.map +1 -1
  484. package/dist/TxDeferred.js +22 -15
  485. package/dist/TxDeferred.js.map +1 -1
  486. package/dist/TxHashMap.d.ts +362 -223
  487. package/dist/TxHashMap.d.ts.map +1 -1
  488. package/dist/TxHashMap.js +171 -98
  489. package/dist/TxHashMap.js.map +1 -1
  490. package/dist/TxHashSet.d.ts +181 -111
  491. package/dist/TxHashSet.d.ts.map +1 -1
  492. package/dist/TxHashSet.js +87 -49
  493. package/dist/TxHashSet.js.map +1 -1
  494. package/dist/TxPriorityQueue.d.ts +94 -63
  495. package/dist/TxPriorityQueue.d.ts.map +1 -1
  496. package/dist/TxPriorityQueue.js +55 -37
  497. package/dist/TxPriorityQueue.js.map +1 -1
  498. package/dist/TxPubSub.d.ts +77 -49
  499. package/dist/TxPubSub.d.ts.map +1 -1
  500. package/dist/TxPubSub.js +60 -37
  501. package/dist/TxPubSub.js.map +1 -1
  502. package/dist/TxQueue.d.ts +277 -242
  503. package/dist/TxQueue.d.ts.map +1 -1
  504. package/dist/TxQueue.js +147 -101
  505. package/dist/TxQueue.js.map +1 -1
  506. package/dist/TxReentrantLock.d.ts +69 -46
  507. package/dist/TxReentrantLock.d.ts.map +1 -1
  508. package/dist/TxReentrantLock.js +48 -32
  509. package/dist/TxReentrantLock.js.map +1 -1
  510. package/dist/TxRef.d.ts +69 -40
  511. package/dist/TxRef.d.ts.map +1 -1
  512. package/dist/TxRef.js +34 -19
  513. package/dist/TxRef.js.map +1 -1
  514. package/dist/TxSemaphore.d.ts +101 -115
  515. package/dist/TxSemaphore.d.ts.map +1 -1
  516. package/dist/TxSemaphore.js +76 -77
  517. package/dist/TxSemaphore.js.map +1 -1
  518. package/dist/TxSubscriptionRef.d.ts +74 -50
  519. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  520. package/dist/TxSubscriptionRef.js +34 -23
  521. package/dist/TxSubscriptionRef.js.map +1 -1
  522. package/dist/Types.d.ts +31 -34
  523. package/dist/Types.d.ts.map +1 -1
  524. package/dist/UndefinedOr.d.ts +62 -25
  525. package/dist/UndefinedOr.d.ts.map +1 -1
  526. package/dist/UndefinedOr.js +36 -25
  527. package/dist/UndefinedOr.js.map +1 -1
  528. package/dist/Unify.d.ts +72 -117
  529. package/dist/Unify.d.ts.map +1 -1
  530. package/dist/Unify.js +20 -6
  531. package/dist/Unify.js.map +1 -1
  532. package/dist/Utils.d.ts +5 -2
  533. package/dist/Utils.d.ts.map +1 -1
  534. package/dist/Utils.js +4 -0
  535. package/dist/Utils.js.map +1 -1
  536. package/dist/index.d.ts +1973 -418
  537. package/dist/index.d.ts.map +1 -1
  538. package/dist/index.js +1973 -418
  539. package/dist/index.js.map +1 -1
  540. package/dist/internal/schema/schema.js +1 -1
  541. package/dist/internal/schema/schema.js.map +1 -1
  542. package/dist/testing/FastCheck.d.ts +9 -6
  543. package/dist/testing/FastCheck.d.ts.map +1 -1
  544. package/dist/testing/FastCheck.js +9 -6
  545. package/dist/testing/FastCheck.js.map +1 -1
  546. package/dist/testing/TestClock.d.ts +39 -35
  547. package/dist/testing/TestClock.d.ts.map +1 -1
  548. package/dist/testing/TestClock.js +42 -12
  549. package/dist/testing/TestClock.js.map +1 -1
  550. package/dist/testing/TestConsole.d.ts +44 -36
  551. package/dist/testing/TestConsole.d.ts.map +1 -1
  552. package/dist/testing/TestConsole.js +30 -15
  553. package/dist/testing/TestConsole.js.map +1 -1
  554. package/dist/testing/TestSchema.d.ts +2 -0
  555. package/dist/testing/TestSchema.d.ts.map +1 -1
  556. package/dist/testing/TestSchema.js +9 -7
  557. package/dist/testing/TestSchema.js.map +1 -1
  558. package/dist/testing/index.d.ts +34 -0
  559. package/dist/testing/index.d.ts.map +1 -1
  560. package/dist/testing/index.js +34 -0
  561. package/dist/testing/index.js.map +1 -1
  562. package/dist/unstable/ai/AiError.d.ts +205 -147
  563. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  564. package/dist/unstable/ai/AiError.js +164 -109
  565. package/dist/unstable/ai/AiError.js.map +1 -1
  566. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
  567. package/dist/unstable/ai/AnthropicStructuredOutput.js +2 -2
  568. package/dist/unstable/ai/Chat.d.ts +64 -41
  569. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  570. package/dist/unstable/ai/Chat.js +51 -33
  571. package/dist/unstable/ai/Chat.js.map +1 -1
  572. package/dist/unstable/ai/EmbeddingModel.d.ts +12 -11
  573. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
  574. package/dist/unstable/ai/EmbeddingModel.js +9 -8
  575. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  576. package/dist/unstable/ai/IdGenerator.d.ts +28 -18
  577. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  578. package/dist/unstable/ai/IdGenerator.js +18 -11
  579. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  580. package/dist/unstable/ai/LanguageModel.d.ts +31 -25
  581. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  582. package/dist/unstable/ai/LanguageModel.js +20 -14
  583. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  584. package/dist/unstable/ai/McpSchema.d.ts +342 -119
  585. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  586. package/dist/unstable/ai/McpSchema.js +266 -98
  587. package/dist/unstable/ai/McpSchema.js.map +1 -1
  588. package/dist/unstable/ai/McpServer.d.ts +56 -20
  589. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  590. package/dist/unstable/ai/McpServer.js +64 -16
  591. package/dist/unstable/ai/McpServer.js.map +1 -1
  592. package/dist/unstable/ai/Model.d.ts +10 -12
  593. package/dist/unstable/ai/Model.d.ts.map +1 -1
  594. package/dist/unstable/ai/Model.js +9 -7
  595. package/dist/unstable/ai/Model.js.map +1 -1
  596. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
  597. package/dist/unstable/ai/OpenAiStructuredOutput.js +2 -2
  598. package/dist/unstable/ai/Prompt.d.ts +200 -176
  599. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  600. package/dist/unstable/ai/Prompt.js +77 -68
  601. package/dist/unstable/ai/Prompt.js.map +1 -1
  602. package/dist/unstable/ai/Response.d.ts +173 -160
  603. package/dist/unstable/ai/Response.d.ts.map +1 -1
  604. package/dist/unstable/ai/Response.js +43 -48
  605. package/dist/unstable/ai/Response.js.map +1 -1
  606. package/dist/unstable/ai/ResponseIdTracker.d.ts +43 -4
  607. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
  608. package/dist/unstable/ai/ResponseIdTracker.js +27 -2
  609. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  610. package/dist/unstable/ai/Telemetry.d.ts +43 -33
  611. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  612. package/dist/unstable/ai/Telemetry.js +15 -11
  613. package/dist/unstable/ai/Telemetry.js.map +1 -1
  614. package/dist/unstable/ai/Tokenizer.d.ts +14 -9
  615. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  616. package/dist/unstable/ai/Tokenizer.js +10 -6
  617. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  618. package/dist/unstable/ai/Tool.d.ts +167 -96
  619. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  620. package/dist/unstable/ai/Tool.js +107 -53
  621. package/dist/unstable/ai/Tool.js.map +1 -1
  622. package/dist/unstable/ai/Toolkit.d.ts +32 -39
  623. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  624. package/dist/unstable/ai/Toolkit.js +7 -5
  625. package/dist/unstable/ai/Toolkit.js.map +1 -1
  626. package/dist/unstable/ai/index.d.ts +121 -29
  627. package/dist/unstable/ai/index.d.ts.map +1 -1
  628. package/dist/unstable/ai/index.js +121 -29
  629. package/dist/unstable/ai/index.js.map +1 -1
  630. package/dist/unstable/cli/Argument.d.ts +226 -134
  631. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  632. package/dist/unstable/cli/Argument.js +101 -65
  633. package/dist/unstable/cli/Argument.js.map +1 -1
  634. package/dist/unstable/cli/CliError.d.ts +72 -26
  635. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  636. package/dist/unstable/cli/CliError.js +86 -23
  637. package/dist/unstable/cli/CliError.js.map +1 -1
  638. package/dist/unstable/cli/CliOutput.d.ts +48 -19
  639. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  640. package/dist/unstable/cli/CliOutput.js +32 -9
  641. package/dist/unstable/cli/CliOutput.js.map +1 -1
  642. package/dist/unstable/cli/Command.d.ts +196 -115
  643. package/dist/unstable/cli/Command.d.ts.map +1 -1
  644. package/dist/unstable/cli/Command.js +45 -31
  645. package/dist/unstable/cli/Command.js.map +1 -1
  646. package/dist/unstable/cli/Completions.d.ts +7 -7
  647. package/dist/unstable/cli/Completions.js +1 -1
  648. package/dist/unstable/cli/Flag.d.ts +235 -142
  649. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  650. package/dist/unstable/cli/Flag.js +111 -71
  651. package/dist/unstable/cli/Flag.js.map +1 -1
  652. package/dist/unstable/cli/GlobalFlag.d.ts +41 -13
  653. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  654. package/dist/unstable/cli/GlobalFlag.js +30 -7
  655. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  656. package/dist/unstable/cli/HelpDoc.d.ts +39 -14
  657. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  658. package/dist/unstable/cli/HelpDoc.js +21 -0
  659. package/dist/unstable/cli/Param.d.ts +110 -32
  660. package/dist/unstable/cli/Param.d.ts.map +1 -1
  661. package/dist/unstable/cli/Param.js +196 -135
  662. package/dist/unstable/cli/Param.js.map +1 -1
  663. package/dist/unstable/cli/Primitive.d.ts +79 -42
  664. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  665. package/dist/unstable/cli/Primitive.js +66 -35
  666. package/dist/unstable/cli/Primitive.js.map +1 -1
  667. package/dist/unstable/cli/Prompt.d.ts +183 -59
  668. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  669. package/dist/unstable/cli/Prompt.js +105 -23
  670. package/dist/unstable/cli/Prompt.js.map +1 -1
  671. package/dist/unstable/cli/index.d.ts +182 -0
  672. package/dist/unstable/cli/index.d.ts.map +1 -1
  673. package/dist/unstable/cli/index.js +205 -6
  674. package/dist/unstable/cli/index.js.map +1 -1
  675. package/dist/unstable/cli/internal/ansi.d.ts.map +1 -1
  676. package/dist/unstable/cli/internal/ansi.js +13 -0
  677. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  678. package/dist/unstable/cli/internal/command.d.ts +5 -1
  679. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  680. package/dist/unstable/cli/internal/command.js +5 -1
  681. package/dist/unstable/cli/internal/command.js.map +1 -1
  682. package/dist/unstable/cli/internal/config.d.ts +3 -0
  683. package/dist/unstable/cli/internal/config.d.ts.map +1 -1
  684. package/dist/unstable/cli/internal/config.js.map +1 -1
  685. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  686. package/dist/unstable/cli/internal/parser.js +0 -1
  687. package/dist/unstable/cli/internal/parser.js.map +1 -1
  688. package/dist/unstable/cluster/ClusterCron.d.ts +35 -1
  689. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  690. package/dist/unstable/cluster/ClusterCron.js +35 -1
  691. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  692. package/dist/unstable/cluster/ClusterError.d.ts +56 -7
  693. package/dist/unstable/cluster/ClusterError.d.ts.map +1 -1
  694. package/dist/unstable/cluster/ClusterError.js +56 -7
  695. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  696. package/dist/unstable/cluster/ClusterMetrics.d.ts +39 -5
  697. package/dist/unstable/cluster/ClusterMetrics.d.ts.map +1 -1
  698. package/dist/unstable/cluster/ClusterMetrics.js +39 -5
  699. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  700. package/dist/unstable/cluster/ClusterSchema.d.ts +61 -8
  701. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  702. package/dist/unstable/cluster/ClusterSchema.js +61 -8
  703. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  704. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +14 -2
  705. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  706. package/dist/unstable/cluster/ClusterWorkflowEngine.js +35 -2
  707. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  708. package/dist/unstable/cluster/DeliverAt.d.ts +39 -4
  709. package/dist/unstable/cluster/DeliverAt.d.ts.map +1 -1
  710. package/dist/unstable/cluster/DeliverAt.js +11 -3
  711. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  712. package/dist/unstable/cluster/Entity.d.ts +74 -16
  713. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  714. package/dist/unstable/cluster/Entity.js +75 -10
  715. package/dist/unstable/cluster/Entity.js.map +1 -1
  716. package/dist/unstable/cluster/EntityAddress.d.ts +30 -2
  717. package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
  718. package/dist/unstable/cluster/EntityAddress.js +30 -2
  719. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  720. package/dist/unstable/cluster/EntityId.d.ts +18 -3
  721. package/dist/unstable/cluster/EntityId.d.ts.map +1 -1
  722. package/dist/unstable/cluster/EntityId.js +15 -2
  723. package/dist/unstable/cluster/EntityId.js.map +1 -1
  724. package/dist/unstable/cluster/EntityProxy.d.ts +42 -14
  725. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  726. package/dist/unstable/cluster/EntityProxy.js +30 -14
  727. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  728. package/dist/unstable/cluster/EntityProxyServer.d.ts +18 -2
  729. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  730. package/dist/unstable/cluster/EntityProxyServer.js +40 -8
  731. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  732. package/dist/unstable/cluster/EntityResource.d.ts +43 -6
  733. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  734. package/dist/unstable/cluster/EntityResource.js +11 -4
  735. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  736. package/dist/unstable/cluster/EntityType.d.ts +27 -3
  737. package/dist/unstable/cluster/EntityType.d.ts.map +1 -1
  738. package/dist/unstable/cluster/EntityType.js +24 -2
  739. package/dist/unstable/cluster/EntityType.js.map +1 -1
  740. package/dist/unstable/cluster/Envelope.d.ts +105 -23
  741. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  742. package/dist/unstable/cluster/Envelope.js +88 -14
  743. package/dist/unstable/cluster/Envelope.js.map +1 -1
  744. package/dist/unstable/cluster/HttpRunner.d.ts +88 -13
  745. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  746. package/dist/unstable/cluster/HttpRunner.js +88 -13
  747. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  748. package/dist/unstable/cluster/K8sHttpClient.d.ts +49 -6
  749. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  750. package/dist/unstable/cluster/K8sHttpClient.js +31 -6
  751. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  752. package/dist/unstable/cluster/MachineId.d.ts +24 -3
  753. package/dist/unstable/cluster/MachineId.d.ts.map +1 -1
  754. package/dist/unstable/cluster/MachineId.js +21 -2
  755. package/dist/unstable/cluster/MachineId.js.map +1 -1
  756. package/dist/unstable/cluster/Message.d.ts +102 -13
  757. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  758. package/dist/unstable/cluster/Message.js +86 -10
  759. package/dist/unstable/cluster/Message.js.map +1 -1
  760. package/dist/unstable/cluster/MessageStorage.d.ts +126 -21
  761. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  762. package/dist/unstable/cluster/MessageStorage.js +70 -10
  763. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  764. package/dist/unstable/cluster/Reply.d.ts +101 -12
  765. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  766. package/dist/unstable/cluster/Reply.js +64 -8
  767. package/dist/unstable/cluster/Reply.js.map +1 -1
  768. package/dist/unstable/cluster/Runner.d.ts +47 -17
  769. package/dist/unstable/cluster/Runner.d.ts.map +1 -1
  770. package/dist/unstable/cluster/Runner.js +47 -17
  771. package/dist/unstable/cluster/Runner.js.map +1 -1
  772. package/dist/unstable/cluster/RunnerAddress.d.ts +34 -2
  773. package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
  774. package/dist/unstable/cluster/RunnerAddress.js +34 -2
  775. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  776. package/dist/unstable/cluster/RunnerHealth.d.ts +40 -12
  777. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  778. package/dist/unstable/cluster/RunnerHealth.js +40 -12
  779. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  780. package/dist/unstable/cluster/RunnerServer.d.ts +7 -4
  781. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  782. package/dist/unstable/cluster/RunnerServer.js +31 -4
  783. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  784. package/dist/unstable/cluster/RunnerStorage.d.ts +42 -5
  785. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  786. package/dist/unstable/cluster/RunnerStorage.js +38 -4
  787. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  788. package/dist/unstable/cluster/Runners.d.ts +76 -13
  789. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  790. package/dist/unstable/cluster/Runners.js +73 -12
  791. package/dist/unstable/cluster/Runners.js.map +1 -1
  792. package/dist/unstable/cluster/ShardId.d.ts +53 -5
  793. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  794. package/dist/unstable/cluster/ShardId.js +49 -4
  795. package/dist/unstable/cluster/ShardId.js.map +1 -1
  796. package/dist/unstable/cluster/Sharding.d.ts +10 -2
  797. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  798. package/dist/unstable/cluster/Sharding.js +35 -4
  799. package/dist/unstable/cluster/Sharding.js.map +1 -1
  800. package/dist/unstable/cluster/ShardingConfig.d.ts +65 -9
  801. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  802. package/dist/unstable/cluster/ShardingConfig.js +66 -9
  803. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  804. package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts +27 -6
  805. package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts.map +1 -1
  806. package/dist/unstable/cluster/ShardingRegistrationEvent.js +28 -4
  807. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  808. package/dist/unstable/cluster/SingleRunner.d.ts +23 -1
  809. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  810. package/dist/unstable/cluster/SingleRunner.js +23 -1
  811. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  812. package/dist/unstable/cluster/Singleton.d.ts +15 -1
  813. package/dist/unstable/cluster/Singleton.d.ts.map +1 -1
  814. package/dist/unstable/cluster/Singleton.js +15 -1
  815. package/dist/unstable/cluster/Singleton.js.map +1 -1
  816. package/dist/unstable/cluster/SingletonAddress.d.ts +21 -1
  817. package/dist/unstable/cluster/SingletonAddress.d.ts.map +1 -1
  818. package/dist/unstable/cluster/SingletonAddress.js +21 -1
  819. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  820. package/dist/unstable/cluster/Snowflake.d.ts +90 -19
  821. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  822. package/dist/unstable/cluster/Snowflake.js +49 -13
  823. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  824. package/dist/unstable/cluster/SocketRunner.d.ts +8 -2
  825. package/dist/unstable/cluster/SocketRunner.d.ts.map +1 -1
  826. package/dist/unstable/cluster/SocketRunner.js +29 -2
  827. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  828. package/dist/unstable/cluster/SqlMessageStorage.d.ts +11 -3
  829. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  830. package/dist/unstable/cluster/SqlMessageStorage.js +27 -3
  831. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  832. package/dist/unstable/cluster/SqlRunnerStorage.d.ts +11 -3
  833. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  834. package/dist/unstable/cluster/SqlRunnerStorage.js +46 -7
  835. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  836. package/dist/unstable/cluster/TestRunner.d.ts +18 -1
  837. package/dist/unstable/cluster/TestRunner.d.ts.map +1 -1
  838. package/dist/unstable/cluster/TestRunner.js +18 -1
  839. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  840. package/dist/unstable/cluster/index.d.ts +790 -0
  841. package/dist/unstable/cluster/index.d.ts.map +1 -1
  842. package/dist/unstable/cluster/index.js +790 -0
  843. package/dist/unstable/cluster/index.js.map +1 -1
  844. package/dist/unstable/cluster/internal/hash.js +12 -0
  845. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  846. package/dist/unstable/devtools/DevTools.d.ts +26 -3
  847. package/dist/unstable/devtools/DevTools.d.ts.map +1 -1
  848. package/dist/unstable/devtools/DevTools.js +26 -3
  849. package/dist/unstable/devtools/DevTools.js.map +1 -1
  850. package/dist/unstable/devtools/DevToolsClient.d.ts +20 -5
  851. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  852. package/dist/unstable/devtools/DevToolsClient.js +32 -5
  853. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  854. package/dist/unstable/devtools/DevToolsSchema.d.ts +184 -44
  855. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  856. package/dist/unstable/devtools/DevToolsSchema.js +102 -20
  857. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  858. package/dist/unstable/devtools/DevToolsServer.d.ts +27 -2
  859. package/dist/unstable/devtools/DevToolsServer.d.ts.map +1 -1
  860. package/dist/unstable/devtools/DevToolsServer.js +21 -1
  861. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  862. package/dist/unstable/devtools/index.d.ts +58 -0
  863. package/dist/unstable/devtools/index.d.ts.map +1 -1
  864. package/dist/unstable/devtools/index.js +58 -0
  865. package/dist/unstable/devtools/index.js.map +1 -1
  866. package/dist/unstable/encoding/Msgpack.d.ts +81 -12
  867. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  868. package/dist/unstable/encoding/Msgpack.js +75 -9
  869. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  870. package/dist/unstable/encoding/Ndjson.d.ts +149 -21
  871. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  872. package/dist/unstable/encoding/Ndjson.js +97 -13
  873. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  874. package/dist/unstable/encoding/Sse.d.ts +109 -18
  875. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  876. package/dist/unstable/encoding/Sse.js +69 -13
  877. package/dist/unstable/encoding/Sse.js.map +1 -1
  878. package/dist/unstable/encoding/index.d.ts +49 -0
  879. package/dist/unstable/encoding/index.d.ts.map +1 -1
  880. package/dist/unstable/encoding/index.js +49 -0
  881. package/dist/unstable/encoding/index.js.map +1 -1
  882. package/dist/unstable/eventlog/Event.d.ts +115 -30
  883. package/dist/unstable/eventlog/Event.d.ts.map +1 -1
  884. package/dist/unstable/eventlog/Event.js +22 -2
  885. package/dist/unstable/eventlog/Event.js.map +1 -1
  886. package/dist/unstable/eventlog/EventGroup.d.ts +50 -17
  887. package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
  888. package/dist/unstable/eventlog/EventGroup.js +24 -6
  889. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  890. package/dist/unstable/eventlog/EventJournal.d.ts +104 -20
  891. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  892. package/dist/unstable/eventlog/EventJournal.js +108 -16
  893. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  894. package/dist/unstable/eventlog/EventLog.d.ts +150 -31
  895. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  896. package/dist/unstable/eventlog/EventLog.js +111 -20
  897. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  898. package/dist/unstable/eventlog/EventLogEncryption.d.ts +42 -6
  899. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  900. package/dist/unstable/eventlog/EventLogEncryption.js +38 -5
  901. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  902. package/dist/unstable/eventlog/EventLogMessage.d.ts +92 -18
  903. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  904. package/dist/unstable/eventlog/EventLogMessage.js +72 -16
  905. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  906. package/dist/unstable/eventlog/EventLogRemote.d.ts +35 -8
  907. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  908. package/dist/unstable/eventlog/EventLogRemote.js +54 -8
  909. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  910. package/dist/unstable/eventlog/EventLogServer.d.ts +17 -3
  911. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  912. package/dist/unstable/eventlog/EventLogServer.js +17 -3
  913. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  914. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +32 -6
  915. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  916. package/dist/unstable/eventlog/EventLogServerEncrypted.js +52 -6
  917. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  918. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +74 -16
  919. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  920. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +90 -16
  921. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  922. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +59 -15
  923. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -1
  924. package/dist/unstable/eventlog/EventLogSessionAuth.js +73 -14
  925. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  926. package/dist/unstable/eventlog/SqlEventJournal.d.ts +10 -2
  927. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  928. package/dist/unstable/eventlog/SqlEventJournal.js +28 -2
  929. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  930. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts +32 -3
  931. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
  932. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +32 -3
  933. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  934. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts +10 -2
  935. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  936. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +28 -2
  937. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  938. package/dist/unstable/eventlog/index.d.ts +240 -0
  939. package/dist/unstable/eventlog/index.d.ts.map +1 -1
  940. package/dist/unstable/eventlog/index.js +240 -0
  941. package/dist/unstable/eventlog/index.js.map +1 -1
  942. package/dist/unstable/http/Cookies.d.ts +156 -77
  943. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  944. package/dist/unstable/http/Cookies.js +93 -39
  945. package/dist/unstable/http/Cookies.js.map +1 -1
  946. package/dist/unstable/http/Etag.d.ts +40 -7
  947. package/dist/unstable/http/Etag.d.ts.map +1 -1
  948. package/dist/unstable/http/Etag.js +27 -4
  949. package/dist/unstable/http/Etag.js.map +1 -1
  950. package/dist/unstable/http/FetchHttpClient.d.ts +29 -3
  951. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  952. package/dist/unstable/http/FetchHttpClient.js +33 -4
  953. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  954. package/dist/unstable/http/FindMyWay.d.ts +1 -1
  955. package/dist/unstable/http/FindMyWay.js +1 -1
  956. package/dist/unstable/http/Headers.d.ts +182 -36
  957. package/dist/unstable/http/Headers.d.ts.map +1 -1
  958. package/dist/unstable/http/Headers.js +86 -16
  959. package/dist/unstable/http/Headers.js.map +1 -1
  960. package/dist/unstable/http/HttpBody.d.ts +114 -26
  961. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  962. package/dist/unstable/http/HttpBody.js +98 -20
  963. package/dist/unstable/http/HttpBody.js.map +1 -1
  964. package/dist/unstable/http/HttpClient.d.ts +204 -96
  965. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  966. package/dist/unstable/http/HttpClient.js +85 -38
  967. package/dist/unstable/http/HttpClient.js.map +1 -1
  968. package/dist/unstable/http/HttpClientError.d.ts +68 -12
  969. package/dist/unstable/http/HttpClientError.d.ts.map +1 -1
  970. package/dist/unstable/http/HttpClientError.js +71 -9
  971. package/dist/unstable/http/HttpClientError.js.map +1 -1
  972. package/dist/unstable/http/HttpClientRequest.d.ts +318 -100
  973. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  974. package/dist/unstable/http/HttpClientRequest.js +151 -45
  975. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  976. package/dist/unstable/http/HttpClientResponse.d.ts +59 -16
  977. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  978. package/dist/unstable/http/HttpClientResponse.js +44 -11
  979. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  980. package/dist/unstable/http/HttpEffect.d.ts +42 -16
  981. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  982. package/dist/unstable/http/HttpEffect.js +33 -13
  983. package/dist/unstable/http/HttpEffect.js.map +1 -1
  984. package/dist/unstable/http/HttpIncomingMessage.d.ts +48 -7
  985. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  986. package/dist/unstable/http/HttpIncomingMessage.js +45 -6
  987. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  988. package/dist/unstable/http/HttpMethod.d.ts +38 -6
  989. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  990. package/dist/unstable/http/HttpMethod.js +27 -2
  991. package/dist/unstable/http/HttpMethod.js.map +1 -1
  992. package/dist/unstable/http/HttpMiddleware.d.ts +38 -11
  993. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  994. package/dist/unstable/http/HttpMiddleware.js +52 -10
  995. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  996. package/dist/unstable/http/HttpPlatform.d.ts +34 -3
  997. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  998. package/dist/unstable/http/HttpPlatform.js +34 -3
  999. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  1000. package/dist/unstable/http/HttpRouter.d.ts +209 -62
  1001. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  1002. package/dist/unstable/http/HttpRouter.js +136 -41
  1003. package/dist/unstable/http/HttpRouter.js.map +1 -1
  1004. package/dist/unstable/http/HttpServer.d.ts +151 -22
  1005. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  1006. package/dist/unstable/http/HttpServer.js +76 -11
  1007. package/dist/unstable/http/HttpServer.js.map +1 -1
  1008. package/dist/unstable/http/HttpServerError.d.ts +93 -10
  1009. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  1010. package/dist/unstable/http/HttpServerError.js +85 -8
  1011. package/dist/unstable/http/HttpServerError.js.map +1 -1
  1012. package/dist/unstable/http/HttpServerRequest.d.ts +125 -21
  1013. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  1014. package/dist/unstable/http/HttpServerRequest.js +101 -20
  1015. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  1016. package/dist/unstable/http/HttpServerRespondable.d.ts +32 -6
  1017. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  1018. package/dist/unstable/http/HttpServerRespondable.js +43 -5
  1019. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  1020. package/dist/unstable/http/HttpServerResponse.d.ts +391 -67
  1021. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  1022. package/dist/unstable/http/HttpServerResponse.js +205 -33
  1023. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  1024. package/dist/unstable/http/HttpStaticServer.d.ts +24 -8
  1025. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  1026. package/dist/unstable/http/HttpStaticServer.js +24 -8
  1027. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  1028. package/dist/unstable/http/HttpTraceContext.d.ts +53 -6
  1029. package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
  1030. package/dist/unstable/http/HttpTraceContext.js +47 -5
  1031. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  1032. package/dist/unstable/http/Multipart.d.ts +179 -28
  1033. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  1034. package/dist/unstable/http/Multipart.js +131 -19
  1035. package/dist/unstable/http/Multipart.js.map +1 -1
  1036. package/dist/unstable/http/Multipasta/HeadersParser.d.ts +1 -1
  1037. package/dist/unstable/http/Multipasta/HeadersParser.js +1 -1
  1038. package/dist/unstable/http/Multipasta/Node.d.ts +1 -1
  1039. package/dist/unstable/http/Multipasta/Node.js +1 -1
  1040. package/dist/unstable/http/Multipasta/Search.d.ts +1 -1
  1041. package/dist/unstable/http/Multipasta/Search.js +1 -1
  1042. package/dist/unstable/http/Multipasta/Web.d.ts +1 -1
  1043. package/dist/unstable/http/Multipasta/Web.js +1 -1
  1044. package/dist/unstable/http/Multipasta.d.ts +1 -1
  1045. package/dist/unstable/http/Multipasta.js +1 -1
  1046. package/dist/unstable/http/Template.d.ts +53 -1
  1047. package/dist/unstable/http/Template.d.ts.map +1 -1
  1048. package/dist/unstable/http/Template.js +26 -0
  1049. package/dist/unstable/http/Template.js.map +1 -1
  1050. package/dist/unstable/http/Url.d.ts +70 -56
  1051. package/dist/unstable/http/Url.d.ts.map +1 -1
  1052. package/dist/unstable/http/Url.js +35 -21
  1053. package/dist/unstable/http/Url.js.map +1 -1
  1054. package/dist/unstable/http/UrlParams.d.ts +237 -51
  1055. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  1056. package/dist/unstable/http/UrlParams.js +120 -25
  1057. package/dist/unstable/http/UrlParams.js.map +1 -1
  1058. package/dist/unstable/http/index.d.ts +452 -0
  1059. package/dist/unstable/http/index.d.ts.map +1 -1
  1060. package/dist/unstable/http/index.js +452 -0
  1061. package/dist/unstable/http/index.js.map +1 -1
  1062. package/dist/unstable/httpapi/HttpApi.d.ts +49 -14
  1063. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  1064. package/dist/unstable/httpapi/HttpApi.js +14 -8
  1065. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  1066. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +54 -16
  1067. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  1068. package/dist/unstable/httpapi/HttpApiBuilder.js +44 -6
  1069. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  1070. package/dist/unstable/httpapi/HttpApiClient.d.ts +57 -15
  1071. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  1072. package/dist/unstable/httpapi/HttpApiClient.js +42 -6
  1073. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  1074. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +214 -59
  1075. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  1076. package/dist/unstable/httpapi/HttpApiEndpoint.js +53 -9
  1077. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  1078. package/dist/unstable/httpapi/HttpApiError.d.ts +81 -1
  1079. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  1080. package/dist/unstable/httpapi/HttpApiError.js +98 -1
  1081. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  1082. package/dist/unstable/httpapi/HttpApiGroup.d.ts +87 -20
  1083. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  1084. package/dist/unstable/httpapi/HttpApiGroup.js +5 -2
  1085. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  1086. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +113 -22
  1087. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  1088. package/dist/unstable/httpapi/HttpApiMiddleware.js +49 -5
  1089. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  1090. package/dist/unstable/httpapi/HttpApiScalar.d.ts +19 -4
  1091. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  1092. package/dist/unstable/httpapi/HttpApiScalar.js +32 -2
  1093. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  1094. package/dist/unstable/httpapi/HttpApiSchema.d.ts +86 -38
  1095. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  1096. package/dist/unstable/httpapi/HttpApiSchema.js +59 -35
  1097. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  1098. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +73 -17
  1099. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  1100. package/dist/unstable/httpapi/HttpApiSecurity.js +38 -5
  1101. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  1102. package/dist/unstable/httpapi/HttpApiSwagger.d.ts +4 -3
  1103. package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
  1104. package/dist/unstable/httpapi/HttpApiSwagger.js +23 -3
  1105. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  1106. package/dist/unstable/httpapi/HttpApiTest.d.ts +6 -1
  1107. package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
  1108. package/dist/unstable/httpapi/HttpApiTest.js +26 -1
  1109. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  1110. package/dist/unstable/httpapi/OpenApi.d.ts +86 -15
  1111. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  1112. package/dist/unstable/httpapi/OpenApi.js +73 -15
  1113. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  1114. package/dist/unstable/httpapi/index.d.ts +310 -25
  1115. package/dist/unstable/httpapi/index.d.ts.map +1 -1
  1116. package/dist/unstable/httpapi/index.js +310 -25
  1117. package/dist/unstable/httpapi/index.js.map +1 -1
  1118. package/dist/unstable/observability/Otlp.d.ts +33 -3
  1119. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  1120. package/dist/unstable/observability/Otlp.js +14 -3
  1121. package/dist/unstable/observability/Otlp.js.map +1 -1
  1122. package/dist/unstable/observability/OtlpExporter.d.ts +8 -1
  1123. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  1124. package/dist/unstable/observability/OtlpExporter.js +32 -1
  1125. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  1126. package/dist/unstable/observability/OtlpLogger.d.ts +15 -2
  1127. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  1128. package/dist/unstable/observability/OtlpLogger.js +29 -2
  1129. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  1130. package/dist/unstable/observability/OtlpMetrics.d.ts +17 -5
  1131. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  1132. package/dist/unstable/observability/OtlpMetrics.js +32 -2
  1133. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  1134. package/dist/unstable/observability/OtlpResource.d.ts +49 -12
  1135. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  1136. package/dist/unstable/observability/OtlpResource.js +47 -5
  1137. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  1138. package/dist/unstable/observability/OtlpSerialization.d.ts +28 -3
  1139. package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
  1140. package/dist/unstable/observability/OtlpSerialization.js +28 -3
  1141. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  1142. package/dist/unstable/observability/OtlpTracer.d.ts +19 -2
  1143. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  1144. package/dist/unstable/observability/OtlpTracer.js +32 -2
  1145. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  1146. package/dist/unstable/observability/PrometheusMetrics.d.ts +36 -16
  1147. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  1148. package/dist/unstable/observability/PrometheusMetrics.js +9 -7
  1149. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  1150. package/dist/unstable/observability/index.d.ts +160 -3
  1151. package/dist/unstable/observability/index.d.ts.map +1 -1
  1152. package/dist/unstable/observability/index.js +160 -3
  1153. package/dist/unstable/observability/index.js.map +1 -1
  1154. package/dist/unstable/persistence/KeyValueStore.d.ts +93 -18
  1155. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  1156. package/dist/unstable/persistence/KeyValueStore.js +81 -21
  1157. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1158. package/dist/unstable/persistence/Persistable.d.ts +76 -15
  1159. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  1160. package/dist/unstable/persistence/Persistable.js +22 -5
  1161. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1162. package/dist/unstable/persistence/PersistedCache.d.ts +27 -2
  1163. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  1164. package/dist/unstable/persistence/PersistedCache.js +24 -1
  1165. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1166. package/dist/unstable/persistence/PersistedQueue.d.ts +73 -16
  1167. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  1168. package/dist/unstable/persistence/PersistedQueue.js +60 -13
  1169. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1170. package/dist/unstable/persistence/Persistence.d.ts +98 -16
  1171. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1172. package/dist/unstable/persistence/Persistence.js +91 -14
  1173. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1174. package/dist/unstable/persistence/RateLimiter.d.ts +101 -21
  1175. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1176. package/dist/unstable/persistence/RateLimiter.js +85 -16
  1177. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1178. package/dist/unstable/persistence/Redis.d.ts +26 -5
  1179. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  1180. package/dist/unstable/persistence/Redis.js +36 -4
  1181. package/dist/unstable/persistence/Redis.js.map +1 -1
  1182. package/dist/unstable/persistence/index.d.ts +147 -0
  1183. package/dist/unstable/persistence/index.d.ts.map +1 -1
  1184. package/dist/unstable/persistence/index.js +147 -0
  1185. package/dist/unstable/persistence/index.js.map +1 -1
  1186. package/dist/unstable/process/ChildProcess.d.ts +87 -64
  1187. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1188. package/dist/unstable/process/ChildProcess.js +25 -18
  1189. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1190. package/dist/unstable/process/ChildProcessSpawner.d.ts +23 -12
  1191. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1192. package/dist/unstable/process/ChildProcessSpawner.js +11 -6
  1193. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1194. package/dist/unstable/process/index.d.ts +2 -1
  1195. package/dist/unstable/process/index.d.ts.map +1 -1
  1196. package/dist/unstable/process/index.js +2 -1
  1197. package/dist/unstable/process/index.js.map +1 -1
  1198. package/dist/unstable/reactivity/AsyncResult.d.ts +198 -59
  1199. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1200. package/dist/unstable/reactivity/AsyncResult.js +121 -36
  1201. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1202. package/dist/unstable/reactivity/Atom.d.ts +544 -130
  1203. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1204. package/dist/unstable/reactivity/Atom.js +252 -58
  1205. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1206. package/dist/unstable/reactivity/AtomHttpApi.d.ts +41 -2
  1207. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1208. package/dist/unstable/reactivity/AtomHttpApi.js +35 -1
  1209. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1210. package/dist/unstable/reactivity/AtomRef.d.ts +51 -7
  1211. package/dist/unstable/reactivity/AtomRef.d.ts.map +1 -1
  1212. package/dist/unstable/reactivity/AtomRef.js +29 -3
  1213. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1214. package/dist/unstable/reactivity/AtomRegistry.d.ts +135 -21
  1215. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  1216. package/dist/unstable/reactivity/AtomRegistry.js +69 -10
  1217. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1218. package/dist/unstable/reactivity/AtomRpc.d.ts +36 -2
  1219. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1220. package/dist/unstable/reactivity/AtomRpc.js +29 -1
  1221. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1222. package/dist/unstable/reactivity/Hydration.d.ts +28 -5
  1223. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -1
  1224. package/dist/unstable/reactivity/Hydration.js +35 -3
  1225. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1226. package/dist/unstable/reactivity/Reactivity.d.ts +94 -13
  1227. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  1228. package/dist/unstable/reactivity/Reactivity.js +60 -7
  1229. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1230. package/dist/unstable/reactivity/index.d.ts +167 -0
  1231. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  1232. package/dist/unstable/reactivity/index.js +167 -0
  1233. package/dist/unstable/reactivity/index.js.map +1 -1
  1234. package/dist/unstable/rpc/Rpc.d.ts +254 -56
  1235. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1236. package/dist/unstable/rpc/Rpc.js +44 -11
  1237. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1238. package/dist/unstable/rpc/RpcClient.d.ts +80 -19
  1239. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1240. package/dist/unstable/rpc/RpcClient.js +52 -12
  1241. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1242. package/dist/unstable/rpc/RpcClientError.d.ts +26 -2
  1243. package/dist/unstable/rpc/RpcClientError.d.ts.map +1 -1
  1244. package/dist/unstable/rpc/RpcClientError.js +26 -2
  1245. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1246. package/dist/unstable/rpc/RpcGroup.d.ts +51 -8
  1247. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  1248. package/dist/unstable/rpc/RpcGroup.js +3 -1
  1249. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1250. package/dist/unstable/rpc/RpcMessage.d.ts +128 -32
  1251. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1252. package/dist/unstable/rpc/RpcMessage.js +23 -7
  1253. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1254. package/dist/unstable/rpc/RpcMiddleware.d.ts +100 -20
  1255. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  1256. package/dist/unstable/rpc/RpcMiddleware.js +39 -3
  1257. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1258. package/dist/unstable/rpc/RpcSchema.d.ts +38 -4
  1259. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  1260. package/dist/unstable/rpc/RpcSchema.js +34 -3
  1261. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1262. package/dist/unstable/rpc/RpcSerialization.d.ts +60 -13
  1263. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1264. package/dist/unstable/rpc/RpcSerialization.js +56 -12
  1265. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1266. package/dist/unstable/rpc/RpcServer.d.ts +73 -23
  1267. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  1268. package/dist/unstable/rpc/RpcServer.js +69 -22
  1269. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1270. package/dist/unstable/rpc/RpcTest.d.ts +20 -1
  1271. package/dist/unstable/rpc/RpcTest.d.ts.map +1 -1
  1272. package/dist/unstable/rpc/RpcTest.js +20 -1
  1273. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1274. package/dist/unstable/rpc/RpcWorker.d.ts +39 -6
  1275. package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
  1276. package/dist/unstable/rpc/RpcWorker.js +16 -4
  1277. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1278. package/dist/unstable/rpc/Utils.d.ts +10 -0
  1279. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  1280. package/dist/unstable/rpc/Utils.js +10 -0
  1281. package/dist/unstable/rpc/Utils.js.map +1 -1
  1282. package/dist/unstable/rpc/index.d.ts +272 -0
  1283. package/dist/unstable/rpc/index.d.ts.map +1 -1
  1284. package/dist/unstable/rpc/index.js +272 -0
  1285. package/dist/unstable/rpc/index.js.map +1 -1
  1286. package/dist/unstable/schema/Model.d.ts +192 -59
  1287. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1288. package/dist/unstable/schema/Model.js +122 -38
  1289. package/dist/unstable/schema/Model.js.map +1 -1
  1290. package/dist/unstable/schema/VariantSchema.d.ts +101 -24
  1291. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1292. package/dist/unstable/schema/VariantSchema.js +22 -6
  1293. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1294. package/dist/unstable/schema/index.d.ts +37 -0
  1295. package/dist/unstable/schema/index.d.ts.map +1 -1
  1296. package/dist/unstable/schema/index.js +37 -0
  1297. package/dist/unstable/schema/index.js.map +1 -1
  1298. package/dist/unstable/socket/Socket.d.ts +168 -34
  1299. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1300. package/dist/unstable/socket/Socket.js +124 -28
  1301. package/dist/unstable/socket/Socket.js.map +1 -1
  1302. package/dist/unstable/socket/SocketServer.d.ts +58 -10
  1303. package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
  1304. package/dist/unstable/socket/SocketServer.js +43 -5
  1305. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1306. package/dist/unstable/socket/index.d.ts +44 -0
  1307. package/dist/unstable/socket/index.d.ts.map +1 -1
  1308. package/dist/unstable/socket/index.js +44 -0
  1309. package/dist/unstable/socket/index.js.map +1 -1
  1310. package/dist/unstable/sql/Migrator.d.ts +40 -9
  1311. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  1312. package/dist/unstable/sql/Migrator.js +45 -5
  1313. package/dist/unstable/sql/Migrator.js.map +1 -1
  1314. package/dist/unstable/sql/SqlClient.d.ts +38 -2
  1315. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1316. package/dist/unstable/sql/SqlClient.js +40 -1
  1317. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1318. package/dist/unstable/sql/SqlConnection.d.ts +34 -3
  1319. package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
  1320. package/dist/unstable/sql/SqlConnection.js +22 -0
  1321. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1322. package/dist/unstable/sql/SqlError.d.ts +117 -0
  1323. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  1324. package/dist/unstable/sql/SqlError.js +131 -0
  1325. package/dist/unstable/sql/SqlError.js.map +1 -1
  1326. package/dist/unstable/sql/SqlModel.d.ts +25 -5
  1327. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  1328. package/dist/unstable/sql/SqlModel.js +8 -4
  1329. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1330. package/dist/unstable/sql/SqlResolver.d.ts +56 -13
  1331. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  1332. package/dist/unstable/sql/SqlResolver.js +44 -10
  1333. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1334. package/dist/unstable/sql/SqlSchema.d.ts +29 -8
  1335. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  1336. package/dist/unstable/sql/SqlSchema.js +29 -8
  1337. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1338. package/dist/unstable/sql/SqlStream.d.ts +4 -0
  1339. package/dist/unstable/sql/SqlStream.d.ts.map +1 -1
  1340. package/dist/unstable/sql/SqlStream.js +24 -0
  1341. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1342. package/dist/unstable/sql/Statement.d.ts +151 -24
  1343. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1344. package/dist/unstable/sql/Statement.js +91 -6
  1345. package/dist/unstable/sql/Statement.js.map +1 -1
  1346. package/dist/unstable/sql/index.d.ts +179 -1
  1347. package/dist/unstable/sql/index.d.ts.map +1 -1
  1348. package/dist/unstable/sql/index.js +179 -1
  1349. package/dist/unstable/sql/index.js.map +1 -1
  1350. package/dist/unstable/workers/Transferable.d.ts +72 -20
  1351. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  1352. package/dist/unstable/workers/Transferable.js +57 -14
  1353. package/dist/unstable/workers/Transferable.js.map +1 -1
  1354. package/dist/unstable/workers/Worker.d.ts +61 -8
  1355. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  1356. package/dist/unstable/workers/Worker.js +44 -4
  1357. package/dist/unstable/workers/Worker.js.map +1 -1
  1358. package/dist/unstable/workers/WorkerError.d.ts +31 -9
  1359. package/dist/unstable/workers/WorkerError.d.ts.map +1 -1
  1360. package/dist/unstable/workers/WorkerError.js +44 -7
  1361. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1362. package/dist/unstable/workers/WorkerRunner.d.ts +32 -3
  1363. package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
  1364. package/dist/unstable/workers/WorkerRunner.js +24 -1
  1365. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1366. package/dist/unstable/workers/index.d.ts +81 -1
  1367. package/dist/unstable/workers/index.d.ts.map +1 -1
  1368. package/dist/unstable/workers/index.js +81 -1
  1369. package/dist/unstable/workers/index.js.map +1 -1
  1370. package/dist/unstable/workflow/Activity.d.ts +61 -10
  1371. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  1372. package/dist/unstable/workflow/Activity.js +20 -5
  1373. package/dist/unstable/workflow/Activity.js.map +1 -1
  1374. package/dist/unstable/workflow/DurableClock.d.ts +12 -3
  1375. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  1376. package/dist/unstable/workflow/DurableClock.js +22 -2
  1377. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1378. package/dist/unstable/workflow/DurableDeferred.d.ts +128 -31
  1379. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  1380. package/dist/unstable/workflow/DurableDeferred.js +77 -13
  1381. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1382. package/dist/unstable/workflow/DurableQueue.d.ts +33 -8
  1383. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1384. package/dist/unstable/workflow/DurableQueue.js +26 -6
  1385. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1386. package/dist/unstable/workflow/Workflow.d.ts +102 -31
  1387. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1388. package/dist/unstable/workflow/Workflow.js +75 -19
  1389. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1390. package/dist/unstable/workflow/WorkflowEngine.d.ts +40 -5
  1391. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  1392. package/dist/unstable/workflow/WorkflowEngine.js +16 -4
  1393. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1394. package/dist/unstable/workflow/WorkflowProxy.d.ts +40 -12
  1395. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1396. package/dist/unstable/workflow/WorkflowProxy.js +8 -12
  1397. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1398. package/dist/unstable/workflow/WorkflowProxyServer.d.ts +37 -2
  1399. package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
  1400. package/dist/unstable/workflow/WorkflowProxyServer.js +12 -6
  1401. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1402. package/dist/unstable/workflow/index.d.ts +160 -0
  1403. package/dist/unstable/workflow/index.d.ts.map +1 -1
  1404. package/dist/unstable/workflow/index.js +160 -0
  1405. package/dist/unstable/workflow/index.js.map +1 -1
  1406. package/package.json +11 -11
  1407. package/src/Array.ts +151 -106
  1408. package/src/BigDecimal.ts +620 -553
  1409. package/src/BigInt.ts +342 -274
  1410. package/src/Boolean.ts +189 -156
  1411. package/src/Brand.ts +30 -5
  1412. package/src/Cache.ts +334 -167
  1413. package/src/Cause.ts +84 -73
  1414. package/src/Channel.ts +1639 -667
  1415. package/src/ChannelSchema.ts +137 -12
  1416. package/src/Chunk.ts +575 -429
  1417. package/src/Clock.ts +16 -9
  1418. package/src/Combiner.ts +11 -5
  1419. package/src/Config.ts +80 -68
  1420. package/src/ConfigProvider.ts +33 -32
  1421. package/src/Console.ts +88 -58
  1422. package/src/Context.ts +401 -190
  1423. package/src/Cron.ts +109 -48
  1424. package/src/Crypto.ts +327 -0
  1425. package/src/Data.ts +9 -3
  1426. package/src/DateTime.ts +893 -464
  1427. package/src/Deferred.ts +367 -175
  1428. package/src/Differ.ts +44 -2
  1429. package/src/Duration.ts +333 -186
  1430. package/src/Effect.ts +2201 -2289
  1431. package/src/Effectable.ts +38 -3
  1432. package/src/Encoding.ts +78 -28
  1433. package/src/Equal.ts +4 -3
  1434. package/src/Equivalence.ts +18 -24
  1435. package/src/ErrorReporter.ts +66 -82
  1436. package/src/ExecutionPlan.ts +106 -12
  1437. package/src/Exit.ts +6 -5
  1438. package/src/Fiber.ts +71 -40
  1439. package/src/FiberHandle.ts +157 -57
  1440. package/src/FiberMap.ts +328 -163
  1441. package/src/FiberSet.ts +130 -52
  1442. package/src/FileSystem.ts +104 -74
  1443. package/src/Filter.ts +166 -88
  1444. package/src/Formatter.ts +4 -70
  1445. package/src/Function.ts +218 -151
  1446. package/src/Graph.ts +714 -415
  1447. package/src/HKT.ts +29 -13
  1448. package/src/Hash.ts +35 -24
  1449. package/src/HashMap.ts +540 -388
  1450. package/src/HashRing.ts +111 -34
  1451. package/src/HashSet.ts +239 -153
  1452. package/src/Inspectable.ts +30 -17
  1453. package/src/Iterable.ts +336 -222
  1454. package/src/JsonPatch.ts +13 -10
  1455. package/src/JsonPointer.ts +13 -11
  1456. package/src/JsonSchema.ts +16 -0
  1457. package/src/Latch.ts +97 -26
  1458. package/src/Layer.ts +547 -445
  1459. package/src/LayerMap.ts +99 -26
  1460. package/src/LogLevel.ts +92 -131
  1461. package/src/Logger.ts +365 -297
  1462. package/src/ManagedRuntime.ts +78 -19
  1463. package/src/Match.ts +135 -161
  1464. package/src/Metric.ts +362 -313
  1465. package/src/MutableHashMap.ts +202 -127
  1466. package/src/MutableHashSet.ts +120 -52
  1467. package/src/MutableList.ts +157 -100
  1468. package/src/MutableRef.ts +129 -90
  1469. package/src/Newtype.ts +15 -2
  1470. package/src/NonEmptyIterable.ts +38 -48
  1471. package/src/Number.ts +261 -205
  1472. package/src/Optic.ts +6 -7
  1473. package/src/Option.ts +133 -156
  1474. package/src/Order.ts +6 -6
  1475. package/src/Ordering.ts +56 -45
  1476. package/src/PartitionedSemaphore.ts +225 -40
  1477. package/src/Path.ts +77 -13
  1478. package/src/Pipeable.ts +82 -24
  1479. package/src/PlatformError.ts +74 -6
  1480. package/src/Pool.ts +94 -31
  1481. package/src/Predicate.ts +17 -24
  1482. package/src/PrimaryKey.ts +11 -3
  1483. package/src/PubSub.ts +385 -309
  1484. package/src/Pull.ts +94 -25
  1485. package/src/Queue.ts +303 -184
  1486. package/src/Random.ts +69 -93
  1487. package/src/RcMap.ts +151 -141
  1488. package/src/RcRef.ts +68 -32
  1489. package/src/Record.ts +282 -137
  1490. package/src/Redactable.ts +7 -5
  1491. package/src/Redacted.ts +63 -34
  1492. package/src/Reducer.ts +3 -1
  1493. package/src/Ref.ts +173 -134
  1494. package/src/References.ts +73 -31
  1495. package/src/RegExp.ts +12 -6
  1496. package/src/Request.ts +159 -34
  1497. package/src/RequestResolver.ts +278 -121
  1498. package/src/Resource.ts +45 -7
  1499. package/src/Result.ts +137 -153
  1500. package/src/Runtime.ts +42 -21
  1501. package/src/Schedule.ts +585 -613
  1502. package/src/Scheduler.ts +44 -7
  1503. package/src/Schema.ts +1309 -615
  1504. package/src/SchemaAST.ts +123 -93
  1505. package/src/SchemaGetter.ts +52 -37
  1506. package/src/SchemaIssue.ts +19 -24
  1507. package/src/SchemaParser.ts +306 -85
  1508. package/src/SchemaRepresentation.ts +89 -77
  1509. package/src/SchemaTransformation.ts +97 -46
  1510. package/src/SchemaUtils.ts +24 -1
  1511. package/src/Scope.ts +107 -65
  1512. package/src/ScopedCache.ts +195 -59
  1513. package/src/ScopedRef.ts +28 -8
  1514. package/src/Semaphore.ts +61 -37
  1515. package/src/Sink.ts +461 -206
  1516. package/src/Stdio.ts +43 -6
  1517. package/src/Stream.ts +2361 -1613
  1518. package/src/String.ts +174 -97
  1519. package/src/Struct.ts +20 -18
  1520. package/src/SubscriptionRef.ts +309 -204
  1521. package/src/Symbol.ts +13 -5
  1522. package/src/SynchronizedRef.ts +278 -62
  1523. package/src/Take.ts +26 -2
  1524. package/src/Terminal.ts +40 -7
  1525. package/src/Tracer.ts +233 -59
  1526. package/src/Trie.ts +280 -245
  1527. package/src/Tuple.ts +34 -32
  1528. package/src/TxChunk.ts +200 -155
  1529. package/src/TxDeferred.ts +43 -29
  1530. package/src/TxHashMap.ts +370 -231
  1531. package/src/TxHashSet.ts +253 -159
  1532. package/src/TxPriorityQueue.ts +97 -65
  1533. package/src/TxPubSub.ts +77 -49
  1534. package/src/TxQueue.ts +277 -242
  1535. package/src/TxReentrantLock.ts +70 -47
  1536. package/src/TxRef.ts +69 -40
  1537. package/src/TxSemaphore.ts +101 -115
  1538. package/src/TxSubscriptionRef.ts +74 -50
  1539. package/src/Types.ts +31 -34
  1540. package/src/UndefinedOr.ts +62 -25
  1541. package/src/Unify.ts +72 -117
  1542. package/src/Utils.ts +5 -2
  1543. package/src/index.ts +1976 -420
  1544. package/src/internal/schema/schema.ts +1 -1
  1545. package/src/testing/FastCheck.ts +9 -6
  1546. package/src/testing/TestClock.ts +63 -35
  1547. package/src/testing/TestConsole.ts +54 -36
  1548. package/src/testing/TestSchema.ts +10 -8
  1549. package/src/testing/index.ts +34 -0
  1550. package/src/unstable/ai/AiError.ts +195 -137
  1551. package/src/unstable/ai/AnthropicStructuredOutput.ts +2 -2
  1552. package/src/unstable/ai/Chat.ts +68 -43
  1553. package/src/unstable/ai/EmbeddingModel.ts +12 -11
  1554. package/src/unstable/ai/IdGenerator.ts +28 -18
  1555. package/src/unstable/ai/LanguageModel.ts +35 -27
  1556. package/src/unstable/ai/McpSchema.ts +342 -119
  1557. package/src/unstable/ai/McpServer.ts +79 -20
  1558. package/src/unstable/ai/Model.ts +10 -12
  1559. package/src/unstable/ai/OpenAiStructuredOutput.ts +2 -2
  1560. package/src/unstable/ai/Prompt.ts +216 -192
  1561. package/src/unstable/ai/Response.ts +179 -167
  1562. package/src/unstable/ai/ResponseIdTracker.ts +43 -4
  1563. package/src/unstable/ai/Telemetry.ts +43 -33
  1564. package/src/unstable/ai/Tokenizer.ts +14 -9
  1565. package/src/unstable/ai/Tool.ts +168 -97
  1566. package/src/unstable/ai/Toolkit.ts +51 -46
  1567. package/src/unstable/ai/index.ts +121 -29
  1568. package/src/unstable/cli/Argument.ts +226 -134
  1569. package/src/unstable/cli/CliError.ts +96 -26
  1570. package/src/unstable/cli/CliOutput.ts +48 -19
  1571. package/src/unstable/cli/Command.ts +196 -115
  1572. package/src/unstable/cli/Completions.ts +7 -7
  1573. package/src/unstable/cli/Flag.ts +235 -142
  1574. package/src/unstable/cli/GlobalFlag.ts +41 -13
  1575. package/src/unstable/cli/HelpDoc.ts +39 -14
  1576. package/src/unstable/cli/Param.ts +395 -260
  1577. package/src/unstable/cli/Primitive.ts +79 -42
  1578. package/src/unstable/cli/Prompt.ts +207 -59
  1579. package/src/unstable/cli/index.ts +205 -6
  1580. package/src/unstable/cli/internal/ansi.ts +13 -0
  1581. package/src/unstable/cli/internal/command.ts +5 -1
  1582. package/src/unstable/cli/internal/config.ts +3 -0
  1583. package/src/unstable/cli/internal/lexer.ts +11 -0
  1584. package/src/unstable/cli/internal/parser.ts +0 -1
  1585. package/src/unstable/cluster/ClusterCron.ts +35 -1
  1586. package/src/unstable/cluster/ClusterError.ts +56 -7
  1587. package/src/unstable/cluster/ClusterMetrics.ts +39 -5
  1588. package/src/unstable/cluster/ClusterSchema.ts +61 -8
  1589. package/src/unstable/cluster/ClusterWorkflowEngine.ts +35 -2
  1590. package/src/unstable/cluster/DeliverAt.ts +39 -4
  1591. package/src/unstable/cluster/Entity.ts +106 -16
  1592. package/src/unstable/cluster/EntityAddress.ts +30 -2
  1593. package/src/unstable/cluster/EntityId.ts +18 -3
  1594. package/src/unstable/cluster/EntityProxy.ts +42 -14
  1595. package/src/unstable/cluster/EntityProxyServer.ts +45 -8
  1596. package/src/unstable/cluster/EntityResource.ts +43 -6
  1597. package/src/unstable/cluster/EntityType.ts +27 -3
  1598. package/src/unstable/cluster/Envelope.ts +128 -23
  1599. package/src/unstable/cluster/HttpRunner.ts +88 -13
  1600. package/src/unstable/cluster/K8sHttpClient.ts +49 -6
  1601. package/src/unstable/cluster/MachineId.ts +24 -3
  1602. package/src/unstable/cluster/Message.ts +102 -13
  1603. package/src/unstable/cluster/MessageStorage.ts +126 -21
  1604. package/src/unstable/cluster/Reply.ts +101 -12
  1605. package/src/unstable/cluster/Runner.ts +47 -17
  1606. package/src/unstable/cluster/RunnerAddress.ts +34 -2
  1607. package/src/unstable/cluster/RunnerHealth.ts +40 -12
  1608. package/src/unstable/cluster/RunnerServer.ts +31 -4
  1609. package/src/unstable/cluster/RunnerStorage.ts +42 -5
  1610. package/src/unstable/cluster/Runners.ts +76 -13
  1611. package/src/unstable/cluster/ShardId.ts +53 -5
  1612. package/src/unstable/cluster/Sharding.ts +35 -4
  1613. package/src/unstable/cluster/ShardingConfig.ts +75 -10
  1614. package/src/unstable/cluster/ShardingRegistrationEvent.ts +31 -7
  1615. package/src/unstable/cluster/SingleRunner.ts +23 -1
  1616. package/src/unstable/cluster/Singleton.ts +15 -1
  1617. package/src/unstable/cluster/SingletonAddress.ts +21 -1
  1618. package/src/unstable/cluster/Snowflake.ts +90 -19
  1619. package/src/unstable/cluster/SocketRunner.ts +29 -2
  1620. package/src/unstable/cluster/SqlMessageStorage.ts +27 -3
  1621. package/src/unstable/cluster/SqlRunnerStorage.ts +46 -7
  1622. package/src/unstable/cluster/TestRunner.ts +18 -1
  1623. package/src/unstable/cluster/index.ts +790 -0
  1624. package/src/unstable/cluster/internal/hash.ts +12 -0
  1625. package/src/unstable/devtools/DevTools.ts +26 -3
  1626. package/src/unstable/devtools/DevToolsClient.ts +32 -5
  1627. package/src/unstable/devtools/DevToolsSchema.ts +201 -44
  1628. package/src/unstable/devtools/DevToolsServer.ts +27 -2
  1629. package/src/unstable/devtools/index.ts +58 -0
  1630. package/src/unstable/encoding/Msgpack.ts +97 -12
  1631. package/src/unstable/encoding/Ndjson.ts +149 -21
  1632. package/src/unstable/encoding/Sse.ts +109 -18
  1633. package/src/unstable/encoding/index.ts +49 -0
  1634. package/src/unstable/eventlog/Event.ts +131 -30
  1635. package/src/unstable/eventlog/EventGroup.ts +50 -17
  1636. package/src/unstable/eventlog/EventJournal.ts +120 -20
  1637. package/src/unstable/eventlog/EventLog.ts +150 -31
  1638. package/src/unstable/eventlog/EventLogEncryption.ts +42 -6
  1639. package/src/unstable/eventlog/EventLogMessage.ts +92 -18
  1640. package/src/unstable/eventlog/EventLogRemote.ts +54 -8
  1641. package/src/unstable/eventlog/EventLogServer.ts +33 -3
  1642. package/src/unstable/eventlog/EventLogServerEncrypted.ts +52 -6
  1643. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +90 -16
  1644. package/src/unstable/eventlog/EventLogSessionAuth.ts +77 -15
  1645. package/src/unstable/eventlog/SqlEventJournal.ts +28 -2
  1646. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +32 -3
  1647. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +28 -2
  1648. package/src/unstable/eventlog/index.ts +240 -0
  1649. package/src/unstable/http/Cookies.ts +156 -77
  1650. package/src/unstable/http/Etag.ts +40 -7
  1651. package/src/unstable/http/FetchHttpClient.ts +33 -4
  1652. package/src/unstable/http/FindMyWay.ts +1 -1
  1653. package/src/unstable/http/Headers.ts +252 -50
  1654. package/src/unstable/http/HttpBody.ts +128 -26
  1655. package/src/unstable/http/HttpClient.ts +204 -96
  1656. package/src/unstable/http/HttpClientError.ts +80 -12
  1657. package/src/unstable/http/HttpClientRequest.ts +318 -100
  1658. package/src/unstable/http/HttpClientResponse.ts +59 -16
  1659. package/src/unstable/http/HttpEffect.ts +66 -18
  1660. package/src/unstable/http/HttpIncomingMessage.ts +48 -7
  1661. package/src/unstable/http/HttpMethod.ts +38 -6
  1662. package/src/unstable/http/HttpMiddleware.ts +60 -11
  1663. package/src/unstable/http/HttpPlatform.ts +34 -3
  1664. package/src/unstable/http/HttpRouter.ts +232 -69
  1665. package/src/unstable/http/HttpServer.ts +151 -22
  1666. package/src/unstable/http/HttpServerError.ts +93 -10
  1667. package/src/unstable/http/HttpServerRequest.ts +125 -21
  1668. package/src/unstable/http/HttpServerRespondable.ts +49 -6
  1669. package/src/unstable/http/HttpServerResponse.ts +391 -67
  1670. package/src/unstable/http/HttpStaticServer.ts +24 -8
  1671. package/src/unstable/http/HttpTraceContext.ts +53 -6
  1672. package/src/unstable/http/Multipart.ts +179 -28
  1673. package/src/unstable/http/Multipasta/HeadersParser.ts +1 -1
  1674. package/src/unstable/http/Multipasta/Node.ts +1 -1
  1675. package/src/unstable/http/Multipasta/Search.ts +1 -1
  1676. package/src/unstable/http/Multipasta/Web.ts +1 -1
  1677. package/src/unstable/http/Multipasta.ts +1 -1
  1678. package/src/unstable/http/Template.ts +53 -1
  1679. package/src/unstable/http/Url.ts +70 -56
  1680. package/src/unstable/http/UrlParams.ts +237 -51
  1681. package/src/unstable/http/index.ts +452 -0
  1682. package/src/unstable/httpapi/HttpApi.ts +49 -14
  1683. package/src/unstable/httpapi/HttpApiBuilder.ts +81 -16
  1684. package/src/unstable/httpapi/HttpApiClient.ts +78 -15
  1685. package/src/unstable/httpapi/HttpApiEndpoint.ts +238 -59
  1686. package/src/unstable/httpapi/HttpApiError.ts +100 -1
  1687. package/src/unstable/httpapi/HttpApiGroup.ts +87 -20
  1688. package/src/unstable/httpapi/HttpApiMiddleware.ts +113 -22
  1689. package/src/unstable/httpapi/HttpApiScalar.ts +38 -4
  1690. package/src/unstable/httpapi/HttpApiSchema.ts +86 -38
  1691. package/src/unstable/httpapi/HttpApiSecurity.ts +73 -17
  1692. package/src/unstable/httpapi/HttpApiSwagger.ts +23 -3
  1693. package/src/unstable/httpapi/HttpApiTest.ts +26 -1
  1694. package/src/unstable/httpapi/OpenApi.ts +115 -15
  1695. package/src/unstable/httpapi/index.ts +310 -25
  1696. package/src/unstable/observability/Otlp.ts +33 -3
  1697. package/src/unstable/observability/OtlpExporter.ts +32 -1
  1698. package/src/unstable/observability/OtlpLogger.ts +32 -2
  1699. package/src/unstable/observability/OtlpMetrics.ts +39 -5
  1700. package/src/unstable/observability/OtlpResource.ts +68 -12
  1701. package/src/unstable/observability/OtlpSerialization.ts +28 -3
  1702. package/src/unstable/observability/OtlpTracer.ts +41 -2
  1703. package/src/unstable/observability/PrometheusMetrics.ts +36 -16
  1704. package/src/unstable/observability/index.ts +160 -3
  1705. package/src/unstable/persistence/KeyValueStore.ts +108 -28
  1706. package/src/unstable/persistence/Persistable.ts +76 -15
  1707. package/src/unstable/persistence/PersistedCache.ts +27 -2
  1708. package/src/unstable/persistence/PersistedQueue.ts +98 -16
  1709. package/src/unstable/persistence/Persistence.ts +98 -16
  1710. package/src/unstable/persistence/RateLimiter.ts +101 -21
  1711. package/src/unstable/persistence/Redis.ts +42 -5
  1712. package/src/unstable/persistence/index.ts +147 -0
  1713. package/src/unstable/process/ChildProcess.ts +90 -66
  1714. package/src/unstable/process/ChildProcessSpawner.ts +23 -12
  1715. package/src/unstable/process/index.ts +2 -1
  1716. package/src/unstable/reactivity/AsyncResult.ts +204 -61
  1717. package/src/unstable/reactivity/Atom.ts +598 -139
  1718. package/src/unstable/reactivity/AtomHttpApi.ts +41 -2
  1719. package/src/unstable/reactivity/AtomRef.ts +51 -7
  1720. package/src/unstable/reactivity/AtomRegistry.ts +141 -22
  1721. package/src/unstable/reactivity/AtomRpc.ts +36 -2
  1722. package/src/unstable/reactivity/Hydration.ts +45 -5
  1723. package/src/unstable/reactivity/Reactivity.ts +94 -13
  1724. package/src/unstable/reactivity/index.ts +167 -0
  1725. package/src/unstable/rpc/Rpc.ts +254 -56
  1726. package/src/unstable/rpc/RpcClient.ts +106 -19
  1727. package/src/unstable/rpc/RpcClientError.ts +26 -2
  1728. package/src/unstable/rpc/RpcGroup.ts +51 -8
  1729. package/src/unstable/rpc/RpcMessage.ts +128 -32
  1730. package/src/unstable/rpc/RpcMiddleware.ts +100 -20
  1731. package/src/unstable/rpc/RpcSchema.ts +38 -4
  1732. package/src/unstable/rpc/RpcSerialization.ts +60 -13
  1733. package/src/unstable/rpc/RpcServer.ts +107 -23
  1734. package/src/unstable/rpc/RpcTest.ts +20 -1
  1735. package/src/unstable/rpc/RpcWorker.ts +39 -6
  1736. package/src/unstable/rpc/Utils.ts +33 -0
  1737. package/src/unstable/rpc/index.ts +272 -0
  1738. package/src/unstable/schema/Model.ts +245 -61
  1739. package/src/unstable/schema/VariantSchema.ts +101 -24
  1740. package/src/unstable/schema/index.ts +37 -0
  1741. package/src/unstable/socket/Socket.ts +168 -34
  1742. package/src/unstable/socket/SocketServer.ts +58 -10
  1743. package/src/unstable/socket/index.ts +44 -0
  1744. package/src/unstable/sql/Migrator.ts +61 -9
  1745. package/src/unstable/sql/SqlClient.ts +59 -2
  1746. package/src/unstable/sql/SqlConnection.ts +34 -3
  1747. package/src/unstable/sql/SqlError.ts +135 -0
  1748. package/src/unstable/sql/SqlModel.ts +25 -5
  1749. package/src/unstable/sql/SqlResolver.ts +56 -13
  1750. package/src/unstable/sql/SqlSchema.ts +29 -8
  1751. package/src/unstable/sql/SqlStream.ts +24 -0
  1752. package/src/unstable/sql/Statement.ts +168 -24
  1753. package/src/unstable/sql/index.ts +179 -1
  1754. package/src/unstable/workers/Transferable.ts +72 -20
  1755. package/src/unstable/workers/Worker.ts +61 -8
  1756. package/src/unstable/workers/WorkerError.ts +50 -9
  1757. package/src/unstable/workers/WorkerRunner.ts +32 -3
  1758. package/src/unstable/workers/index.ts +81 -1
  1759. package/src/unstable/workflow/Activity.ts +61 -10
  1760. package/src/unstable/workflow/DurableClock.ts +26 -3
  1761. package/src/unstable/workflow/DurableDeferred.ts +148 -31
  1762. package/src/unstable/workflow/DurableQueue.ts +33 -8
  1763. package/src/unstable/workflow/Workflow.ts +123 -31
  1764. package/src/unstable/workflow/WorkflowEngine.ts +40 -5
  1765. package/src/unstable/workflow/WorkflowProxy.ts +40 -12
  1766. package/src/unstable/workflow/WorkflowProxyServer.ts +41 -6
  1767. package/src/unstable/workflow/index.ts +160 -0
package/src/PubSub.ts CHANGED
@@ -5,20 +5,22 @@
5
5
  * can subscribe to receive those messages. PubSub supports various backpressure strategies,
6
6
  * message replay, and concurrent access from multiple producers and consumers.
7
7
  *
8
- * @example
8
+ * **Example** (Creating and using a PubSub)
9
+ *
9
10
  * ```ts
10
11
  * import { Effect, PubSub } from "effect"
11
12
  *
12
13
  * const program = Effect.gen(function*() {
13
14
  * const pubsub = yield* PubSub.bounded<string>(10)
14
15
  *
15
- * // Publisher
16
- * yield* PubSub.publish(pubsub, "Hello")
17
- * yield* PubSub.publish(pubsub, "World")
18
- *
19
- * // Subscriber
20
16
  * yield* Effect.scoped(Effect.gen(function*() {
21
17
  * const subscription = yield* PubSub.subscribe(pubsub)
18
+ *
19
+ * // Publisher
20
+ * yield* PubSub.publish(pubsub, "Hello")
21
+ * yield* PubSub.publish(pubsub, "World")
22
+ *
23
+ * // Subscriber
22
24
  * const message1 = yield* PubSub.take(subscription)
23
25
  * const message2 = yield* PubSub.take(subscription)
24
26
  * console.log(message1, message2) // "Hello", "World"
@@ -51,22 +53,23 @@ const TypeId = "~effect/PubSub"
51
53
  * messages of type `A` and subscribers can subscribe to take messages of type
52
54
  * `A`.
53
55
  *
54
- * @example
56
+ * **Example** (Publishing and subscribing to messages)
57
+ *
55
58
  * ```ts
56
- * import { Effect } from "effect"
57
- * import * as PubSub from "effect/PubSub"
59
+ * import { Effect, PubSub } from "effect"
58
60
  *
59
61
  * const program = Effect.gen(function*() {
60
62
  * // Create a bounded PubSub with capacity 10
61
63
  * const pubsub = yield* PubSub.bounded<string>(10)
62
64
  *
63
- * // Publish messages
64
- * yield* PubSub.publish(pubsub, "Hello")
65
- * yield* PubSub.publish(pubsub, "World")
66
- *
67
65
  * // Subscribe and consume messages
68
66
  * yield* Effect.scoped(Effect.gen(function*() {
69
67
  * const subscription = yield* PubSub.subscribe(pubsub)
68
+ *
69
+ * // Publish messages
70
+ * yield* PubSub.publish(pubsub, "Hello")
71
+ * yield* PubSub.publish(pubsub, "World")
72
+ *
70
73
  * const message1 = yield* PubSub.take(subscription)
71
74
  * const message2 = yield* PubSub.take(subscription)
72
75
  * console.log(message1, message2) // "Hello", "World"
@@ -74,8 +77,8 @@ const TypeId = "~effect/PubSub"
74
77
  * })
75
78
  * ```
76
79
  *
77
- * @since 2.0.0
78
80
  * @category models
81
+ * @since 2.0.0
79
82
  */
80
83
  export interface PubSub<in out A> extends Pipeable {
81
84
  readonly [TypeId]: {
@@ -90,15 +93,18 @@ export interface PubSub<in out A> extends Pipeable {
90
93
  }
91
94
 
92
95
  /**
96
+ * Companion namespace containing the low-level building blocks used by
97
+ * `PubSub`, including atomic implementations, backing subscriptions, replay
98
+ * windows, and delivery strategies.
99
+ *
93
100
  * @since 2.0.0
94
- * @category models
95
101
  */
96
102
  export namespace PubSub {
97
103
  /**
98
104
  * Low-level atomic PubSub interface that handles the core message storage and retrieval.
99
105
  *
100
- * @since 4.0.0
101
106
  * @category models
107
+ * @since 4.0.0
102
108
  */
103
109
  export interface Atomic<in out A> {
104
110
  readonly capacity: number
@@ -115,8 +121,8 @@ export namespace PubSub {
115
121
  /**
116
122
  * Low-level subscription interface that handles message polling for individual subscribers.
117
123
  *
118
- * @since 4.0.0
119
124
  * @category models
125
+ * @since 4.0.0
120
126
  */
121
127
  export interface BackingSubscription<out A> {
122
128
  isEmpty(): boolean
@@ -127,10 +133,16 @@ export namespace PubSub {
127
133
  }
128
134
 
129
135
  /**
130
- * Internal type representing the mapping from subscriptions to their pollers.
136
+ * Tracks the pollers currently waiting on each backing subscription.
137
+ *
138
+ * **Notes**
139
+ *
140
+ * This type is part of the low-level `PubSub.Strategy` contract. Most
141
+ * application code should use `subscribe`, `take`, and the other `PubSub`
142
+ * operations instead of manipulating subscriber maps directly.
131
143
  *
132
- * @since 4.0.0
133
144
  * @category models
145
+ * @since 4.0.0
134
146
  */
135
147
  export type Subscribers<A> = Map<
136
148
  BackingSubscription<A>,
@@ -140,8 +152,8 @@ export namespace PubSub {
140
152
  /**
141
153
  * Interface for accessing replay buffer contents for late subscribers.
142
154
  *
143
- * @since 4.0.0
144
155
  * @category models
156
+ * @since 4.0.0
145
157
  */
146
158
  export interface ReplayWindow<A> {
147
159
  take(): A | undefined
@@ -153,8 +165,8 @@ export namespace PubSub {
153
165
  /**
154
166
  * Strategy interface defining how PubSub handles backpressure and message distribution.
155
167
  *
156
- * @since 4.0.0
157
168
  * @category models
169
+ * @since 4.0.0
158
170
  */
159
171
  export interface Strategy<in out A> {
160
172
  /**
@@ -210,10 +222,10 @@ const SubscriptionTypeId = "~effect/PubSub/Subscription"
210
222
  /**
211
223
  * A subscription represents a consumer's connection to a PubSub, allowing them to take messages.
212
224
  *
213
- * @example
225
+ * **Example** (Taking messages from a subscription)
226
+ *
214
227
  * ```ts
215
- * import { Effect } from "effect"
216
- * import * as PubSub from "effect/PubSub"
228
+ * import { Effect, PubSub } from "effect"
217
229
  *
218
230
  * const program = Effect.gen(function*() {
219
231
  * const pubsub = yield* PubSub.bounded<string>(10)
@@ -224,18 +236,23 @@ const SubscriptionTypeId = "~effect/PubSub/Subscription"
224
236
  * pubsub
225
237
  * )
226
238
  *
239
+ * yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3"])
240
+ *
227
241
  * // Take individual messages
228
242
  * const message = yield* PubSub.take(subscription)
243
+ * console.log(message) // "msg1"
229
244
  *
230
245
  * // Take multiple messages
231
- * const messages = yield* PubSub.takeUpTo(subscription, 5)
246
+ * const messages = yield* PubSub.takeUpTo(subscription, 1)
247
+ * console.log(messages) // ["msg2"]
232
248
  * const allMessages = yield* PubSub.takeAll(subscription)
249
+ * console.log(allMessages) // ["msg3"]
233
250
  * }))
234
251
  * })
235
252
  * ```
236
253
  *
237
- * @since 4.0.0
238
254
  * @category models
255
+ * @since 4.0.0
239
256
  */
240
257
  export interface Subscription<out A> extends Pipeable {
241
258
  readonly [SubscriptionTypeId]: {
@@ -254,10 +271,10 @@ export interface Subscription<out A> extends Pipeable {
254
271
  /**
255
272
  * Creates a PubSub with a custom atomic implementation and strategy.
256
273
  *
257
- * @example
274
+ * **Example** (Creating a PubSub with a custom strategy)
275
+ *
258
276
  * ```ts
259
- * import { Effect } from "effect"
260
- * import * as PubSub from "effect/PubSub"
277
+ * import { Effect, PubSub } from "effect"
261
278
  *
262
279
  * const program = Effect.gen(function*() {
263
280
  * // Create custom PubSub with specific atomic implementation and strategy
@@ -271,8 +288,8 @@ export interface Subscription<out A> extends Pipeable {
271
288
  * })
272
289
  * ```
273
290
  *
274
- * @since 4.0.0
275
291
  * @category constructors
292
+ * @since 4.0.0
276
293
  */
277
294
  export const make = <A>(
278
295
  options: {
@@ -292,20 +309,20 @@ export const make = <A>(
292
309
  )
293
310
 
294
311
  /**
295
- * Creates a bounded PubSub with backpressure strategy.
312
+ * Creates a bounded `PubSub` that applies backpressure when it reaches
313
+ * capacity.
296
314
  *
297
- * The PubSub will retain messages until they have been taken by all subscribers.
298
- * When the PubSub reaches capacity, publishers will be suspended until space becomes available.
299
- * This ensures message delivery guarantees but may slow down fast publishers.
315
+ * Published messages are retained until all current subscribers have taken
316
+ * them. When the capacity is full, publishers suspend until space is available.
317
+ * Pass an options object to configure both `capacity` and an optional replay
318
+ * buffer for late subscribers.
300
319
  *
301
- * @param capacity - The maximum number of messages the PubSub can hold, or an options object
302
320
  * with capacity and optional replay buffer size
303
- * @returns An Effect that creates a bounded PubSub
304
321
  *
305
- * @example
322
+ * **Example** (Creating a bounded PubSub)
323
+ *
306
324
  * ```ts
307
- * import { Effect } from "effect"
308
- * import * as PubSub from "effect/PubSub"
325
+ * import { Effect, PubSub } from "effect"
309
326
  *
310
327
  * const program = Effect.gen(function*() {
311
328
  * // Create bounded PubSub with capacity 100
@@ -319,8 +336,8 @@ export const make = <A>(
319
336
  * })
320
337
  * ```
321
338
  *
322
- * @since 2.0.0
323
339
  * @category constructors
340
+ * @since 2.0.0
324
341
  */
325
342
  export const bounded = <A>(
326
343
  capacity: number | {
@@ -339,10 +356,10 @@ export const bounded = <A>(
339
356
  *
340
357
  * For best performance use capacities that are powers of two.
341
358
  *
342
- * @example
359
+ * **Example** (Dropping messages when full)
360
+ *
343
361
  * ```ts
344
- * import { Effect } from "effect"
345
- * import * as PubSub from "effect/PubSub"
362
+ * import { Effect, PubSub } from "effect"
346
363
  *
347
364
  * const program = Effect.gen(function*() {
348
365
  * // Create dropping PubSub that drops new messages when full
@@ -354,17 +371,24 @@ export const bounded = <A>(
354
371
  * replay: 5
355
372
  * })
356
373
  *
357
- * // Fill the PubSub and see dropping behavior
358
- * yield* PubSub.publish(pubsub, "msg1") // succeeds
359
- * yield* PubSub.publish(pubsub, "msg2") // succeeds
360
- * yield* PubSub.publish(pubsub, "msg3") // succeeds
361
- * const dropped = yield* PubSub.publish(pubsub, "msg4") // returns false (dropped)
362
- * console.log("Message dropped:", !dropped)
374
+ * yield* Effect.scoped(Effect.gen(function*() {
375
+ * const subscription = yield* PubSub.subscribe(pubsub)
376
+ *
377
+ * // Fill the PubSub and see dropping behavior
378
+ * yield* PubSub.publish(pubsub, "msg1") // succeeds
379
+ * yield* PubSub.publish(pubsub, "msg2") // succeeds
380
+ * yield* PubSub.publish(pubsub, "msg3") // succeeds
381
+ * const dropped = yield* PubSub.publish(pubsub, "msg4") // returns false (dropped)
382
+ * console.log("Message dropped:", !dropped) // true
383
+ *
384
+ * const messages = yield* PubSub.takeAll(subscription)
385
+ * console.log(messages) // ["msg1", "msg2", "msg3"]
386
+ * }))
363
387
  * })
364
388
  * ```
365
389
  *
366
- * @since 2.0.0
367
390
  * @category constructors
391
+ * @since 2.0.0
368
392
  */
369
393
  export const dropping = <A>(
370
394
  capacity: number | {
@@ -383,10 +407,10 @@ export const dropping = <A>(
383
407
  *
384
408
  * For best performance use capacities that are powers of two.
385
409
  *
386
- * @example
410
+ * **Example** (Sliding old messages when full)
411
+ *
387
412
  * ```ts
388
- * import { Effect } from "effect"
389
- * import * as PubSub from "effect/PubSub"
413
+ * import { Effect, PubSub } from "effect"
390
414
  *
391
415
  * const program = Effect.gen(function*() {
392
416
  * // Create sliding PubSub that evicts old messages when full
@@ -398,22 +422,23 @@ export const dropping = <A>(
398
422
  * replay: 2
399
423
  * })
400
424
  *
401
- * // Fill and overflow the PubSub
402
- * yield* PubSub.publish(pubsub, "msg1")
403
- * yield* PubSub.publish(pubsub, "msg2")
404
- * yield* PubSub.publish(pubsub, "msg3")
405
- * yield* PubSub.publish(pubsub, "msg4") // "msg1" is evicted
406
- *
407
425
  * yield* Effect.scoped(Effect.gen(function*() {
408
426
  * const subscription = yield* PubSub.subscribe(pubsub)
427
+ *
428
+ * // Fill and overflow the PubSub
429
+ * yield* PubSub.publish(pubsub, "msg1")
430
+ * yield* PubSub.publish(pubsub, "msg2")
431
+ * yield* PubSub.publish(pubsub, "msg3")
432
+ * yield* PubSub.publish(pubsub, "msg4") // "msg1" is evicted
433
+ *
409
434
  * const messages = yield* PubSub.takeAll(subscription)
410
435
  * console.log(messages) // ["msg2", "msg3", "msg4"]
411
436
  * }))
412
437
  * })
413
438
  * ```
414
439
  *
415
- * @since 2.0.0
416
440
  * @category constructors
441
+ * @since 2.0.0
417
442
  */
418
443
  export const sliding = <A>(
419
444
  capacity: number | {
@@ -429,10 +454,10 @@ export const sliding = <A>(
429
454
  /**
430
455
  * Creates an unbounded `PubSub`.
431
456
  *
432
- * @example
457
+ * **Example** (Creating an unbounded PubSub)
458
+ *
433
459
  * ```ts
434
- * import { Effect } from "effect"
435
- * import * as PubSub from "effect/PubSub"
460
+ * import { Effect, PubSub } from "effect"
436
461
  *
437
462
  * const program = Effect.gen(function*() {
438
463
  * // Create unbounded PubSub
@@ -443,21 +468,22 @@ export const sliding = <A>(
443
468
  * replay: 10
444
469
  * })
445
470
  *
446
- * // Can publish unlimited messages
447
- * for (let i = 0; i < 1000; i++) {
448
- * yield* PubSub.publish(pubsub, `message-${i}`)
449
- * }
450
- *
451
471
  * yield* Effect.scoped(Effect.gen(function*() {
452
472
  * const subscription = yield* PubSub.subscribe(pubsub)
473
+ *
474
+ * // Can publish unlimited messages
475
+ * for (let i = 0; i < 3; i++) {
476
+ * yield* PubSub.publish(pubsub, `message-${i}`)
477
+ * }
478
+ *
453
479
  * const message = yield* PubSub.take(subscription)
454
- * console.log("First message:", message)
480
+ * console.log("First message:", message) // "message-0"
455
481
  * }))
456
482
  * })
457
483
  * ```
458
484
  *
459
- * @since 2.0.0
460
485
  * @category constructors
486
+ * @since 2.0.0
461
487
  */
462
488
  export const unbounded = <A>(options?: {
463
489
  readonly replay?: number | undefined
@@ -470,8 +496,8 @@ export const unbounded = <A>(options?: {
470
496
  /**
471
497
  * Creates a bounded atomic PubSub implementation with optional replay buffer.
472
498
  *
473
- * @since 4.0.0
474
499
  * @category constructors
500
+ * @since 4.0.0
475
501
  */
476
502
  export const makeAtomicBounded = <A>(
477
503
  capacity: number | {
@@ -494,8 +520,8 @@ export const makeAtomicBounded = <A>(
494
520
  /**
495
521
  * Creates an unbounded atomic PubSub implementation with optional replay buffer.
496
522
  *
497
- * @since 4.0.0
498
523
  * @category constructors
524
+ * @since 4.0.0
499
525
  */
500
526
  export const makeAtomicUnbounded = <A>(options?: {
501
527
  readonly replay?: number | undefined
@@ -504,10 +530,10 @@ export const makeAtomicUnbounded = <A>(options?: {
504
530
  /**
505
531
  * Returns the number of elements the queue can hold.
506
532
  *
507
- * @example
533
+ * **Example** (Getting PubSub capacity)
534
+ *
508
535
  * ```ts
509
- * import { Effect } from "effect"
510
- * import * as PubSub from "effect/PubSub"
536
+ * import { Effect, PubSub } from "effect"
511
537
  *
512
538
  * const program = Effect.gen(function*() {
513
539
  * const pubsub = yield* PubSub.bounded<string>(100)
@@ -520,20 +546,22 @@ export const makeAtomicUnbounded = <A>(options?: {
520
546
  * })
521
547
  * ```
522
548
  *
523
- * @since 2.0.0
524
549
  * @category getters
550
+ * @since 2.0.0
525
551
  */
526
552
  export const capacity = <A>(self: PubSub<A>): number => self.pubsub.capacity
527
553
 
528
554
  /**
529
- * Retrieves the size of the queue, which is equal to the number of elements
530
- * in the queue. This may be negative if fibers are suspended waiting for
531
- * elements to be added to the queue.
555
+ * Returns the current number of messages retained by the `PubSub` for active
556
+ * subscribers.
557
+ *
558
+ * If the `PubSub` has been shut down, the returned effect succeeds with `0`.
559
+ * The size is not a count of waiting subscribers or suspended publishers.
560
+ *
561
+ * **Example** (Getting PubSub size)
532
562
  *
533
- * @example
534
563
  * ```ts
535
- * import { Effect } from "effect"
536
- * import * as PubSub from "effect/PubSub"
564
+ * import { Effect, PubSub } from "effect"
537
565
  *
538
566
  * const program = Effect.gen(function*() {
539
567
  * const pubsub = yield* PubSub.bounded<string>(10)
@@ -542,25 +570,36 @@ export const capacity = <A>(self: PubSub<A>): number => self.pubsub.capacity
542
570
  * const initialSize = yield* PubSub.size(pubsub)
543
571
  * console.log("Initial size:", initialSize) // 0
544
572
  *
545
- * // Publish some messages
546
- * yield* PubSub.publish(pubsub, "msg1")
547
- * yield* PubSub.publish(pubsub, "msg2")
573
+ * yield* Effect.scoped(Effect.gen(function*() {
574
+ * const subscription = yield* PubSub.subscribe(pubsub)
575
+ *
576
+ * // Publish some messages for the active subscription
577
+ * yield* PubSub.publish(pubsub, "msg1")
578
+ * yield* PubSub.publish(pubsub, "msg2")
579
+ *
580
+ * const afterPublish = yield* PubSub.size(pubsub)
581
+ * console.log("After publishing:", afterPublish) // 2
548
582
  *
549
- * const afterPublish = yield* PubSub.size(pubsub)
550
- * console.log("After publishing:", afterPublish) // 2
583
+ * yield* PubSub.takeAll(subscription)
584
+ * }))
551
585
  * })
552
586
  * ```
553
587
  *
554
- * @since 2.0.0
555
588
  * @category getters
589
+ * @since 2.0.0
556
590
  */
557
591
  export const size = <A>(self: PubSub<A>): Effect.Effect<number> => Effect.sync(() => sizeUnsafe(self))
558
592
  /**
559
- * Retrieves the size of the queue, which is equal to the number of elements
560
- * in the queue. This may be negative if fibers are suspended waiting for
561
- * elements to be added to the queue.
593
+ * Synchronously returns the current number of messages retained by the `PubSub`
594
+ * for active subscribers.
595
+ *
596
+ * **Notes**
597
+ *
598
+ * Returns `0` after shutdown. Because this is an unsafe synchronous snapshot,
599
+ * prefer `size` in effectful code.
600
+ *
601
+ * **Example** (Reading size synchronously)
562
602
  *
563
- * @example
564
603
  * ```ts
565
604
  * import { PubSub } from "effect"
566
605
  *
@@ -571,8 +610,8 @@ export const size = <A>(self: PubSub<A>): Effect.Effect<number> => Effect.sync((
571
610
  * console.log("Current size:", size)
572
611
  * ```
573
612
  *
574
- * @since 2.0.0
575
613
  * @category getters
614
+ * @since 4.0.0
576
615
  */
577
616
  export const sizeUnsafe = <A>(self: PubSub<A>): number => {
578
617
  if (MutableRef.get(self.shutdownFlag)) {
@@ -582,13 +621,14 @@ export const sizeUnsafe = <A>(self: PubSub<A>): number => {
582
621
  }
583
622
 
584
623
  /**
585
- * Returns `true` if the `PubSub` contains at least one element, `false`
586
- * otherwise.
624
+ * Returns `true` when the `PubSub` has reached its configured capacity.
625
+ *
626
+ * For unbounded PubSubs this is normally `false`.
627
+ *
628
+ * **Example** (Checking whether a PubSub is full)
587
629
  *
588
- * @example
589
630
  * ```ts
590
- * import { Effect } from "effect"
591
- * import * as PubSub from "effect/PubSub"
631
+ * import { Effect, PubSub } from "effect"
592
632
  *
593
633
  * const program = Effect.gen(function*() {
594
634
  * const pubsub = yield* PubSub.bounded<string>(2)
@@ -597,17 +637,23 @@ export const sizeUnsafe = <A>(self: PubSub<A>): number => {
597
637
  * const initiallyFull = yield* PubSub.isFull(pubsub)
598
638
  * console.log("Initially full:", initiallyFull) // false
599
639
  *
600
- * // Fill the PubSub
601
- * yield* PubSub.publish(pubsub, "msg1")
602
- * yield* PubSub.publish(pubsub, "msg2")
640
+ * yield* Effect.scoped(Effect.gen(function*() {
641
+ * const subscription = yield* PubSub.subscribe(pubsub)
642
+ *
643
+ * // Fill the PubSub for the active subscription
644
+ * yield* PubSub.publish(pubsub, "msg1")
645
+ * yield* PubSub.publish(pubsub, "msg2")
646
+ *
647
+ * const nowFull = yield* PubSub.isFull(pubsub)
648
+ * console.log("Now full:", nowFull) // true
603
649
  *
604
- * const nowFull = yield* PubSub.isFull(pubsub)
605
- * console.log("Now full:", nowFull) // true
650
+ * yield* PubSub.takeAll(subscription)
651
+ * }))
606
652
  * })
607
653
  * ```
608
654
  *
609
- * @since 2.0.0
610
655
  * @category predicates
656
+ * @since 2.0.0
611
657
  */
612
658
  export const isFull = <A>(self: PubSub<A>): Effect.Effect<boolean> =>
613
659
  Effect.map(size(self), (size) => size === self.pubsub.capacity)
@@ -615,10 +661,10 @@ export const isFull = <A>(self: PubSub<A>): Effect.Effect<boolean> =>
615
661
  /**
616
662
  * Returns `true` if the `Pubsub` contains zero elements, `false` otherwise.
617
663
  *
618
- * @example
664
+ * **Example** (Checking whether a PubSub is empty)
665
+ *
619
666
  * ```ts
620
- * import { Effect } from "effect"
621
- * import * as PubSub from "effect/PubSub"
667
+ * import { Effect, PubSub } from "effect"
622
668
  *
623
669
  * const program = Effect.gen(function*() {
624
670
  * const pubsub = yield* PubSub.bounded<string>(10)
@@ -627,49 +673,55 @@ export const isFull = <A>(self: PubSub<A>): Effect.Effect<boolean> =>
627
673
  * const initiallyEmpty = yield* PubSub.isEmpty(pubsub)
628
674
  * console.log("Initially empty:", initiallyEmpty) // true
629
675
  *
630
- * // Publish a message
631
- * yield* PubSub.publish(pubsub, "Hello")
676
+ * yield* Effect.scoped(Effect.gen(function*() {
677
+ * const subscription = yield* PubSub.subscribe(pubsub)
678
+ *
679
+ * // Publish a message for the active subscription
680
+ * yield* PubSub.publish(pubsub, "Hello")
632
681
  *
633
- * const nowEmpty = yield* PubSub.isEmpty(pubsub)
634
- * console.log("Now empty:", nowEmpty) // false
682
+ * const nowEmpty = yield* PubSub.isEmpty(pubsub)
683
+ * console.log("Now empty:", nowEmpty) // false
684
+ *
685
+ * yield* PubSub.take(subscription)
686
+ * }))
635
687
  * })
636
688
  * ```
637
689
  *
638
- * @since 2.0.0
639
690
  * @category predicates
691
+ * @since 2.0.0
640
692
  */
641
693
  export const isEmpty = <A>(self: PubSub<A>): Effect.Effect<boolean> => Effect.map(size(self), (size) => size === 0)
642
694
 
643
695
  /**
644
- * Interrupts any fibers that are suspended on `offer` or `take`. Future calls
645
- * to `offer*` and `take*` will be interrupted immediately.
696
+ * Shuts down the `PubSub`, interrupting suspended publishers and subscribers
697
+ * and finalizing active subscriptions.
698
+ *
699
+ * After shutdown, `publish` and `publishAll` succeed with `false`,
700
+ * `publishUnsafe` returns `false`, and subscription operations such as `take`
701
+ * interrupt.
702
+ *
703
+ * **Example** (Shutting down a PubSub)
646
704
  *
647
- * @example
648
705
  * ```ts
649
- * import { Effect, Fiber, PubSub } from "effect"
706
+ * import { Effect, PubSub } from "effect"
650
707
  *
651
708
  * const program = Effect.gen(function*() {
652
709
  * const pubsub = yield* PubSub.bounded<string>(1)
653
710
  *
654
- * // Start a fiber that will be suspended waiting to publish
655
- * const publisherFiber = yield* Effect.forkChild(
656
- * Effect.gen(function*() {
657
- * yield* PubSub.publish(pubsub, "msg1") // fills the buffer
658
- * yield* PubSub.publish(pubsub, "msg2") // will suspend here
659
- * })
660
- * )
661
- *
662
711
  * // Shutdown the PubSub
663
712
  * yield* PubSub.shutdown(pubsub)
664
713
  *
665
- * // The suspended publisher will be interrupted
666
- * const result = yield* Fiber.await(publisherFiber)
667
- * console.log("Publisher interrupted:", result._tag === "Failure")
714
+ * const isShutdown = yield* PubSub.isShutdown(pubsub)
715
+ * console.log("Is shutdown:", isShutdown) // true
716
+ *
717
+ * // Publishing after shutdown returns false
718
+ * const published = yield* PubSub.publish(pubsub, "msg1")
719
+ * console.log("Published after shutdown:", published) // false
668
720
  * })
669
721
  * ```
670
722
  *
671
- * @since 2.0.0
672
723
  * @category lifecycle
724
+ * @since 2.0.0
673
725
  */
674
726
  export const shutdown = <A>(self: PubSub<A>): Effect.Effect<void> =>
675
727
  Effect.uninterruptible(Effect.withFiber((fiber) => {
@@ -684,10 +736,10 @@ export const shutdown = <A>(self: PubSub<A>): Effect.Effect<void> =>
684
736
  /**
685
737
  * Returns `true` if `shutdown` has been called, otherwise returns `false`.
686
738
  *
687
- * @example
739
+ * **Example** (Checking whether a PubSub is shutdown)
740
+ *
688
741
  * ```ts
689
- * import { Effect } from "effect"
690
- * import * as PubSub from "effect/PubSub"
742
+ * import { Effect, PubSub } from "effect"
691
743
  *
692
744
  * const program = Effect.gen(function*() {
693
745
  * const pubsub = yield* PubSub.bounded<string>(10)
@@ -704,15 +756,16 @@ export const shutdown = <A>(self: PubSub<A>): Effect.Effect<void> =>
704
756
  * })
705
757
  * ```
706
758
  *
707
- * @since 2.0.0
708
759
  * @category predicates
760
+ * @since 2.0.0
709
761
  */
710
762
  export const isShutdown = <A>(self: PubSub<A>): Effect.Effect<boolean> => Effect.sync(() => isShutdownUnsafe(self))
711
763
 
712
764
  /**
713
765
  * Returns `true` if `shutdown` has been called, otherwise returns `false`.
714
766
  *
715
- * @example
767
+ * **Example** (Checking shutdown synchronously)
768
+ *
716
769
  * ```ts
717
770
  * import { PubSub } from "effect"
718
771
  *
@@ -727,8 +780,8 @@ export const isShutdown = <A>(self: PubSub<A>): Effect.Effect<boolean> => Effect
727
780
  * }
728
781
  * ```
729
782
  *
730
- * @since 4.0.0
731
783
  * @category predicates
784
+ * @since 4.0.0
732
785
  */
733
786
  export const isShutdownUnsafe = <A>(self: PubSub<A>): boolean => self.shutdownFlag.current
734
787
 
@@ -737,7 +790,8 @@ export const isShutdownUnsafe = <A>(self: PubSub<A>): boolean => self.shutdownFl
737
790
  * not resume until the queue has been shutdown. If the queue is already
738
791
  * shutdown, the `Effect` will resume right away.
739
792
  *
740
- * @example
793
+ * **Example** (Waiting for shutdown)
794
+ *
741
795
  * ```ts
742
796
  * import { Effect, Fiber, PubSub } from "effect"
743
797
  *
@@ -763,19 +817,23 @@ export const isShutdownUnsafe = <A>(self: PubSub<A>): boolean => self.shutdownFl
763
817
  * })
764
818
  * ```
765
819
  *
766
- * @since 2.0.0
767
820
  * @category lifecycle
821
+ * @since 2.0.0
768
822
  */
769
823
  export const awaitShutdown = <A>(self: PubSub<A>): Effect.Effect<void> => self.shutdownHook.await
770
824
 
771
825
  /**
772
- * Publishes a message to the `PubSub`, returning whether the message was published
773
- * to the `PubSub`.
826
+ * Attempts to publish a message synchronously without applying the PubSub
827
+ * strategy's effectful surplus handling.
828
+ *
829
+ * Returns `false` if the `PubSub` is shut down or the message cannot be
830
+ * accepted immediately, for example when a bounded PubSub is full. Prefer
831
+ * `publish` when backpressure or sliding behavior should be honored.
832
+ *
833
+ * **Example** (Publishing a message)
774
834
  *
775
- * @example
776
835
  * ```ts
777
- * import { Effect } from "effect"
778
- * import * as PubSub from "effect/PubSub"
836
+ * import { Effect, PubSub } from "effect"
779
837
  *
780
838
  * const program = Effect.gen(function*() {
781
839
  * const pubsub = yield* PubSub.bounded<string>(10)
@@ -784,35 +842,32 @@ export const awaitShutdown = <A>(self: PubSub<A>): Effect.Effect<void> => self.s
784
842
  * const published = yield* PubSub.publish(pubsub, "Hello World")
785
843
  * console.log("Message published:", published) // true
786
844
  *
787
- * // With a full bounded PubSub using backpressure strategy
788
- * const smallPubsub = yield* PubSub.bounded<string>(1)
789
- * yield* PubSub.publish(smallPubsub, "msg1") // succeeds
790
- *
791
- * // This will suspend until space becomes available
792
- * const publishEffect = PubSub.publish(smallPubsub, "msg2")
793
- *
794
- * // Create a subscriber to free up space
795
845
  * yield* Effect.scoped(Effect.gen(function*() {
796
- * const subscription = yield* PubSub.subscribe(smallPubsub)
797
- * yield* PubSub.take(subscription) // frees space
798
- * const result = yield* publishEffect
799
- * console.log("Second message published:", result) // true
846
+ * const subscription = yield* PubSub.subscribe(pubsub)
847
+ *
848
+ * yield* PubSub.publish(pubsub, "Hello")
849
+ * const message = yield* PubSub.take(subscription)
850
+ * console.log("Received:", message) // "Hello"
800
851
  * }))
801
852
  * })
802
853
  * ```
803
854
  *
804
- * @since 2.0.0
805
855
  * @category publishing
856
+ * @since 2.0.0
806
857
  */
807
858
  export const publish: {
808
859
  /**
809
- * Publishes a message to the `PubSub`, returning whether the message was published
810
- * to the `PubSub`.
860
+ * Attempts to publish a message synchronously without applying the PubSub
861
+ * strategy's effectful surplus handling.
862
+ *
863
+ * Returns `false` if the `PubSub` is shut down or the message cannot be
864
+ * accepted immediately, for example when a bounded PubSub is full. Prefer
865
+ * `publish` when backpressure or sliding behavior should be honored.
866
+ *
867
+ * **Example** (Publishing a message)
811
868
  *
812
- * @example
813
869
  * ```ts
814
- * import { Effect } from "effect"
815
- * import * as PubSub from "effect/PubSub"
870
+ * import { Effect, PubSub } from "effect"
816
871
  *
817
872
  * const program = Effect.gen(function*() {
818
873
  * const pubsub = yield* PubSub.bounded<string>(10)
@@ -821,35 +876,32 @@ export const publish: {
821
876
  * const published = yield* PubSub.publish(pubsub, "Hello World")
822
877
  * console.log("Message published:", published) // true
823
878
  *
824
- * // With a full bounded PubSub using backpressure strategy
825
- * const smallPubsub = yield* PubSub.bounded<string>(1)
826
- * yield* PubSub.publish(smallPubsub, "msg1") // succeeds
827
- *
828
- * // This will suspend until space becomes available
829
- * const publishEffect = PubSub.publish(smallPubsub, "msg2")
830
- *
831
- * // Create a subscriber to free up space
832
879
  * yield* Effect.scoped(Effect.gen(function*() {
833
- * const subscription = yield* PubSub.subscribe(smallPubsub)
834
- * yield* PubSub.take(subscription) // frees space
835
- * const result = yield* publishEffect
836
- * console.log("Second message published:", result) // true
880
+ * const subscription = yield* PubSub.subscribe(pubsub)
881
+ *
882
+ * yield* PubSub.publish(pubsub, "Hello")
883
+ * const message = yield* PubSub.take(subscription)
884
+ * console.log("Received:", message) // "Hello"
837
885
  * }))
838
886
  * })
839
887
  * ```
840
888
  *
841
- * @since 2.0.0
842
889
  * @category publishing
890
+ * @since 2.0.0
843
891
  */
844
892
  <A>(value: A): (self: PubSub<A>) => Effect.Effect<boolean>
845
893
  /**
846
- * Publishes a message to the `PubSub`, returning whether the message was published
847
- * to the `PubSub`.
894
+ * Attempts to publish a message synchronously without applying the PubSub
895
+ * strategy's effectful surplus handling.
896
+ *
897
+ * Returns `false` if the `PubSub` is shut down or the message cannot be
898
+ * accepted immediately, for example when a bounded PubSub is full. Prefer
899
+ * `publish` when backpressure or sliding behavior should be honored.
900
+ *
901
+ * **Example** (Publishing a message)
848
902
  *
849
- * @example
850
903
  * ```ts
851
- * import { Effect } from "effect"
852
- * import * as PubSub from "effect/PubSub"
904
+ * import { Effect, PubSub } from "effect"
853
905
  *
854
906
  * const program = Effect.gen(function*() {
855
907
  * const pubsub = yield* PubSub.bounded<string>(10)
@@ -858,25 +910,18 @@ export const publish: {
858
910
  * const published = yield* PubSub.publish(pubsub, "Hello World")
859
911
  * console.log("Message published:", published) // true
860
912
  *
861
- * // With a full bounded PubSub using backpressure strategy
862
- * const smallPubsub = yield* PubSub.bounded<string>(1)
863
- * yield* PubSub.publish(smallPubsub, "msg1") // succeeds
864
- *
865
- * // This will suspend until space becomes available
866
- * const publishEffect = PubSub.publish(smallPubsub, "msg2")
867
- *
868
- * // Create a subscriber to free up space
869
913
  * yield* Effect.scoped(Effect.gen(function*() {
870
- * const subscription = yield* PubSub.subscribe(smallPubsub)
871
- * yield* PubSub.take(subscription) // frees space
872
- * const result = yield* publishEffect
873
- * console.log("Second message published:", result) // true
914
+ * const subscription = yield* PubSub.subscribe(pubsub)
915
+ *
916
+ * yield* PubSub.publish(pubsub, "Hello")
917
+ * const message = yield* PubSub.take(subscription)
918
+ * console.log("Received:", message) // "Hello"
874
919
  * }))
875
920
  * })
876
921
  * ```
877
922
  *
878
- * @since 2.0.0
879
923
  * @category publishing
924
+ * @since 2.0.0
880
925
  */
881
926
  <A>(self: PubSub<A>, value: A): Effect.Effect<boolean>
882
927
  } = dual(2, <A>(self: PubSub<A>, value: A): Effect.Effect<boolean> =>
@@ -902,7 +947,8 @@ export const publish: {
902
947
  * Publishes a message to the `PubSub`, returning whether the message was published
903
948
  * to the `PubSub`.
904
949
  *
905
- * @example
950
+ * **Example** (Publishing without suspending)
951
+ *
906
952
  * ```ts
907
953
  * import { PubSub } from "effect"
908
954
  *
@@ -923,15 +969,16 @@ export const publish: {
923
969
  * console.log(`Published ${publishedCount} out of ${messages.length} messages`)
924
970
  * ```
925
971
  *
926
- * @since 4.0.0
927
972
  * @category publishing
973
+ * @since 4.0.0
928
974
  */
929
975
  export const publishUnsafe: {
930
976
  /**
931
977
  * Publishes a message to the `PubSub`, returning whether the message was published
932
978
  * to the `PubSub`.
933
979
  *
934
- * @example
980
+ * **Example** (Publishing without suspending)
981
+ *
935
982
  * ```ts
936
983
  * import { PubSub } from "effect"
937
984
  *
@@ -952,15 +999,16 @@ export const publishUnsafe: {
952
999
  * console.log(`Published ${publishedCount} out of ${messages.length} messages`)
953
1000
  * ```
954
1001
  *
955
- * @since 4.0.0
956
1002
  * @category publishing
1003
+ * @since 4.0.0
957
1004
  */
958
1005
  <A>(value: A): (self: PubSub<A>) => boolean
959
1006
  /**
960
1007
  * Publishes a message to the `PubSub`, returning whether the message was published
961
1008
  * to the `PubSub`.
962
1009
  *
963
- * @example
1010
+ * **Example** (Publishing without suspending)
1011
+ *
964
1012
  * ```ts
965
1013
  * import { PubSub } from "effect"
966
1014
  *
@@ -981,8 +1029,8 @@ export const publishUnsafe: {
981
1029
  * console.log(`Published ${publishedCount} out of ${messages.length} messages`)
982
1030
  * ```
983
1031
  *
984
- * @since 4.0.0
985
1032
  * @category publishing
1033
+ * @since 4.0.0
986
1034
  */
987
1035
  <A>(self: PubSub<A>, value: A): boolean
988
1036
  } = dual(2, <A>(self: PubSub<A>, value: A): boolean => {
@@ -998,10 +1046,10 @@ export const publishUnsafe: {
998
1046
  * Publishes all of the specified messages to the `PubSub`, returning whether they
999
1047
  * were published to the `PubSub`.
1000
1048
  *
1001
- * @example
1049
+ * **Example** (Publishing multiple messages)
1050
+ *
1002
1051
  * ```ts
1003
- * import { Effect } from "effect"
1004
- * import * as PubSub from "effect/PubSub"
1052
+ * import { Effect, Fiber, PubSub } from "effect"
1005
1053
  *
1006
1054
  * const program = Effect.gen(function*() {
1007
1055
  * const pubsub = yield* PubSub.bounded<string>(10)
@@ -1011,35 +1059,40 @@ export const publishUnsafe: {
1011
1059
  * const allPublished = yield* PubSub.publishAll(pubsub, messages)
1012
1060
  * console.log("All messages published:", allPublished) // true
1013
1061
  *
1014
- * // With a smaller capacity
1062
+ * // With a smaller capacity and an active subscription
1015
1063
  * const smallPubsub = yield* PubSub.bounded<string>(2)
1016
1064
  * const manyMessages = ["msg1", "msg2", "msg3", "msg4"]
1017
1065
  *
1018
- * // Will suspend until space becomes available for all messages
1019
- * const publishAllEffect = PubSub.publishAll(smallPubsub, manyMessages)
1020
- *
1021
- * // Subscribe to consume messages and free space
1022
1066
  * yield* Effect.scoped(Effect.gen(function*() {
1023
1067
  * const subscription = yield* PubSub.subscribe(smallPubsub)
1024
- * yield* PubSub.takeAll(subscription) // consume all messages
1025
- * const result = yield* publishAllEffect
1026
- * console.log("All messages eventually published:", result)
1068
+ *
1069
+ * // Will suspend until space becomes available for all messages
1070
+ * const fiber = yield* Effect.forkChild(PubSub.publishAll(smallPubsub, manyMessages))
1071
+ *
1072
+ * const firstBatch = yield* PubSub.takeBetween(subscription, 2, 2)
1073
+ * console.log("First batch:", firstBatch) // ["msg1", "msg2"]
1074
+ *
1075
+ * const result = yield* Fiber.join(fiber)
1076
+ * console.log("All messages eventually published:", result) // true
1077
+ *
1078
+ * const secondBatch = yield* PubSub.takeAll(subscription)
1079
+ * console.log("Second batch:", secondBatch) // ["msg3", "msg4"]
1027
1080
  * }))
1028
1081
  * })
1029
1082
  * ```
1030
1083
  *
1031
- * @since 2.0.0
1032
1084
  * @category publishing
1085
+ * @since 2.0.0
1033
1086
  */
1034
1087
  export const publishAll: {
1035
1088
  /**
1036
1089
  * Publishes all of the specified messages to the `PubSub`, returning whether they
1037
1090
  * were published to the `PubSub`.
1038
1091
  *
1039
- * @example
1092
+ * **Example** (Publishing multiple messages)
1093
+ *
1040
1094
  * ```ts
1041
- * import { Effect } from "effect"
1042
- * import * as PubSub from "effect/PubSub"
1095
+ * import { Effect, Fiber, PubSub } from "effect"
1043
1096
  *
1044
1097
  * const program = Effect.gen(function*() {
1045
1098
  * const pubsub = yield* PubSub.bounded<string>(10)
@@ -1049,35 +1102,40 @@ export const publishAll: {
1049
1102
  * const allPublished = yield* PubSub.publishAll(pubsub, messages)
1050
1103
  * console.log("All messages published:", allPublished) // true
1051
1104
  *
1052
- * // With a smaller capacity
1105
+ * // With a smaller capacity and an active subscription
1053
1106
  * const smallPubsub = yield* PubSub.bounded<string>(2)
1054
1107
  * const manyMessages = ["msg1", "msg2", "msg3", "msg4"]
1055
1108
  *
1056
- * // Will suspend until space becomes available for all messages
1057
- * const publishAllEffect = PubSub.publishAll(smallPubsub, manyMessages)
1058
- *
1059
- * // Subscribe to consume messages and free space
1060
1109
  * yield* Effect.scoped(Effect.gen(function*() {
1061
1110
  * const subscription = yield* PubSub.subscribe(smallPubsub)
1062
- * yield* PubSub.takeAll(subscription) // consume all messages
1063
- * const result = yield* publishAllEffect
1064
- * console.log("All messages eventually published:", result)
1111
+ *
1112
+ * // Will suspend until space becomes available for all messages
1113
+ * const fiber = yield* Effect.forkChild(PubSub.publishAll(smallPubsub, manyMessages))
1114
+ *
1115
+ * const firstBatch = yield* PubSub.takeBetween(subscription, 2, 2)
1116
+ * console.log("First batch:", firstBatch) // ["msg1", "msg2"]
1117
+ *
1118
+ * const result = yield* Fiber.join(fiber)
1119
+ * console.log("All messages eventually published:", result) // true
1120
+ *
1121
+ * const secondBatch = yield* PubSub.takeAll(subscription)
1122
+ * console.log("Second batch:", secondBatch) // ["msg3", "msg4"]
1065
1123
  * }))
1066
1124
  * })
1067
1125
  * ```
1068
1126
  *
1069
- * @since 2.0.0
1070
1127
  * @category publishing
1128
+ * @since 2.0.0
1071
1129
  */
1072
1130
  <A>(elements: Iterable<A>): (self: PubSub<A>) => Effect.Effect<boolean>
1073
1131
  /**
1074
1132
  * Publishes all of the specified messages to the `PubSub`, returning whether they
1075
1133
  * were published to the `PubSub`.
1076
1134
  *
1077
- * @example
1135
+ * **Example** (Publishing multiple messages)
1136
+ *
1078
1137
  * ```ts
1079
- * import { Effect } from "effect"
1080
- * import * as PubSub from "effect/PubSub"
1138
+ * import { Effect, Fiber, PubSub } from "effect"
1081
1139
  *
1082
1140
  * const program = Effect.gen(function*() {
1083
1141
  * const pubsub = yield* PubSub.bounded<string>(10)
@@ -1087,25 +1145,30 @@ export const publishAll: {
1087
1145
  * const allPublished = yield* PubSub.publishAll(pubsub, messages)
1088
1146
  * console.log("All messages published:", allPublished) // true
1089
1147
  *
1090
- * // With a smaller capacity
1148
+ * // With a smaller capacity and an active subscription
1091
1149
  * const smallPubsub = yield* PubSub.bounded<string>(2)
1092
1150
  * const manyMessages = ["msg1", "msg2", "msg3", "msg4"]
1093
1151
  *
1094
- * // Will suspend until space becomes available for all messages
1095
- * const publishAllEffect = PubSub.publishAll(smallPubsub, manyMessages)
1096
- *
1097
- * // Subscribe to consume messages and free space
1098
1152
  * yield* Effect.scoped(Effect.gen(function*() {
1099
1153
  * const subscription = yield* PubSub.subscribe(smallPubsub)
1100
- * yield* PubSub.takeAll(subscription) // consume all messages
1101
- * const result = yield* publishAllEffect
1102
- * console.log("All messages eventually published:", result)
1154
+ *
1155
+ * // Will suspend until space becomes available for all messages
1156
+ * const fiber = yield* Effect.forkChild(PubSub.publishAll(smallPubsub, manyMessages))
1157
+ *
1158
+ * const firstBatch = yield* PubSub.takeBetween(subscription, 2, 2)
1159
+ * console.log("First batch:", firstBatch) // ["msg1", "msg2"]
1160
+ *
1161
+ * const result = yield* Fiber.join(fiber)
1162
+ * console.log("All messages eventually published:", result) // true
1163
+ *
1164
+ * const secondBatch = yield* PubSub.takeAll(subscription)
1165
+ * console.log("Second batch:", secondBatch) // ["msg3", "msg4"]
1103
1166
  * }))
1104
1167
  * })
1105
1168
  * ```
1106
1169
  *
1107
- * @since 2.0.0
1108
1170
  * @category publishing
1171
+ * @since 2.0.0
1109
1172
  */
1110
1173
  <A>(self: PubSub<A>, elements: Iterable<A>): Effect.Effect<boolean>
1111
1174
  } = dual(2, <A>(self: PubSub<A>, elements: Iterable<A>): Effect.Effect<boolean> =>
@@ -1131,21 +1194,22 @@ export const publishAll: {
1131
1194
  * be evaluated multiple times within the scope to take a message from the `PubSub`
1132
1195
  * each time.
1133
1196
  *
1134
- * @example
1197
+ * **Example** (Subscribing to messages)
1198
+ *
1135
1199
  * ```ts
1136
1200
  * import { Effect, PubSub } from "effect"
1137
1201
  *
1138
1202
  * const program = Effect.gen(function*() {
1139
1203
  * const pubsub = yield* PubSub.bounded<string>(10)
1140
1204
  *
1141
- * // Publish some messages
1142
- * yield* PubSub.publish(pubsub, "Hello")
1143
- * yield* PubSub.publish(pubsub, "World")
1144
- *
1145
1205
  * // Subscribe within a scope for automatic cleanup
1146
1206
  * yield* Effect.scoped(Effect.gen(function*() {
1147
1207
  * const subscription = yield* PubSub.subscribe(pubsub)
1148
1208
  *
1209
+ * // Publish some messages
1210
+ * yield* PubSub.publish(pubsub, "Hello")
1211
+ * yield* PubSub.publish(pubsub, "World")
1212
+ *
1149
1213
  * // Take messages one by one
1150
1214
  * const msg1 = yield* PubSub.take(subscription)
1151
1215
  * const msg2 = yield* PubSub.take(subscription)
@@ -1154,13 +1218,13 @@ export const publishAll: {
1154
1218
  * // Subscription is automatically cleaned up when scope exits
1155
1219
  * }))
1156
1220
  *
1157
- * // Multiple subscribers can receive the same messages
1158
- * yield* PubSub.publish(pubsub, "Broadcast")
1159
- *
1160
1221
  * yield* Effect.scoped(Effect.gen(function*() {
1161
1222
  * const sub1 = yield* PubSub.subscribe(pubsub)
1162
1223
  * const sub2 = yield* PubSub.subscribe(pubsub)
1163
1224
  *
1225
+ * // Multiple subscribers can receive the same messages
1226
+ * yield* PubSub.publish(pubsub, "Broadcast")
1227
+ *
1164
1228
  * const [msg1, msg2] = yield* Effect.all([
1165
1229
  * PubSub.take(sub1),
1166
1230
  * PubSub.take(sub2)
@@ -1170,8 +1234,8 @@ export const publishAll: {
1170
1234
  * })
1171
1235
  * ```
1172
1236
  *
1173
- * @since 2.0.0
1174
1237
  * @category subscription
1238
+ * @since 2.0.0
1175
1239
  */
1176
1240
  export const subscribe = <A>(self: PubSub<A>): Effect.Effect<Subscription<A>, never, Scope.Scope> =>
1177
1241
  Effect.uninterruptible(
@@ -1212,7 +1276,8 @@ const unsubscribe = <A>(self: Subscription<A>): Effect.Effect<void> =>
1212
1276
  * Takes a single message from the subscription. If no messages are available,
1213
1277
  * this will suspend until a message becomes available.
1214
1278
  *
1215
- * @example
1279
+ * **Example** (Taking a message)
1280
+ *
1216
1281
  * ```ts
1217
1282
  * import { Effect, Fiber, PubSub } from "effect"
1218
1283
  *
@@ -1237,8 +1302,8 @@ const unsubscribe = <A>(self: Subscription<A>): Effect.Effect<void> =>
1237
1302
  * })
1238
1303
  * ```
1239
1304
  *
1240
- * @since 4.0.0
1241
1305
  * @category subscription
1306
+ * @since 4.0.0
1242
1307
  */
1243
1308
  export const take = <A>(self: Subscription<A>): Effect.Effect<A> =>
1244
1309
  Effect.suspend(() => {
@@ -1264,19 +1329,20 @@ export const take = <A>(self: Subscription<A>): Effect.Effect<A> =>
1264
1329
  * Takes all available messages from the subscription, suspending if no items
1265
1330
  * are available.
1266
1331
  *
1267
- * @example
1332
+ * **Example** (Taking all available messages)
1333
+ *
1268
1334
  * ```ts
1269
1335
  * import { Effect, PubSub } from "effect"
1270
1336
  *
1271
1337
  * const program = Effect.gen(function*() {
1272
1338
  * const pubsub = yield* PubSub.bounded<string>(10)
1273
1339
  *
1274
- * // Publish multiple messages
1275
- * yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3"])
1276
- *
1277
1340
  * yield* Effect.scoped(Effect.gen(function*() {
1278
1341
  * const subscription = yield* PubSub.subscribe(pubsub)
1279
1342
  *
1343
+ * // Publish multiple messages
1344
+ * yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3"])
1345
+ *
1280
1346
  * // Take all available messages at once
1281
1347
  * const allMessages = yield* PubSub.takeAll(subscription)
1282
1348
  * console.log("All messages:", allMessages) // ["msg1", "msg2", "msg3"]
@@ -1284,8 +1350,8 @@ export const take = <A>(self: Subscription<A>): Effect.Effect<A> =>
1284
1350
  * })
1285
1351
  * ```
1286
1352
  *
1287
- * @since 4.0.0
1288
1353
  * @category subscription
1354
+ * @since 4.0.0
1289
1355
  */
1290
1356
  export const takeAll = <A>(self: Subscription<A>): Effect.Effect<Arr.NonEmptyArray<A>> =>
1291
1357
  Effect.suspend(function loop(value?: [A]): Effect.Effect<Arr.NonEmptyArray<A>> {
@@ -1334,20 +1400,20 @@ const pollForItem = <A>(self: Subscription<A>) => {
1334
1400
  /**
1335
1401
  * Takes up to the specified number of messages from the subscription without suspending.
1336
1402
  *
1337
- * @example
1403
+ * **Example** (Taking up to a maximum number of messages)
1404
+ *
1338
1405
  * ```ts
1339
- * import { Effect } from "effect"
1340
- * import * as PubSub from "effect/PubSub"
1406
+ * import { Effect, PubSub } from "effect"
1341
1407
  *
1342
1408
  * const program = Effect.gen(function*() {
1343
1409
  * const pubsub = yield* PubSub.bounded<string>(10)
1344
1410
  *
1345
- * // Publish multiple messages
1346
- * yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
1347
- *
1348
1411
  * yield* Effect.scoped(Effect.gen(function*() {
1349
1412
  * const subscription = yield* PubSub.subscribe(pubsub)
1350
1413
  *
1414
+ * // Publish multiple messages
1415
+ * yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
1416
+ *
1351
1417
  * // Take up to 3 messages
1352
1418
  * const upTo3 = yield* PubSub.takeUpTo(subscription, 3)
1353
1419
  * console.log("Up to 3:", upTo3) // ["msg1", "msg2", "msg3"]
@@ -1363,27 +1429,27 @@ const pollForItem = <A>(self: Subscription<A>) => {
1363
1429
  * })
1364
1430
  * ```
1365
1431
  *
1366
- * @since 4.0.0
1367
1432
  * @category subscription
1433
+ * @since 4.0.0
1368
1434
  */
1369
1435
  export const takeUpTo: {
1370
1436
  /**
1371
1437
  * Takes up to the specified number of messages from the subscription without suspending.
1372
1438
  *
1373
- * @example
1439
+ * **Example** (Taking up to a maximum number of messages)
1440
+ *
1374
1441
  * ```ts
1375
- * import { Effect } from "effect"
1376
- * import * as PubSub from "effect/PubSub"
1442
+ * import { Effect, PubSub } from "effect"
1377
1443
  *
1378
1444
  * const program = Effect.gen(function*() {
1379
1445
  * const pubsub = yield* PubSub.bounded<string>(10)
1380
1446
  *
1381
- * // Publish multiple messages
1382
- * yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
1383
- *
1384
1447
  * yield* Effect.scoped(Effect.gen(function*() {
1385
1448
  * const subscription = yield* PubSub.subscribe(pubsub)
1386
1449
  *
1450
+ * // Publish multiple messages
1451
+ * yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
1452
+ *
1387
1453
  * // Take up to 3 messages
1388
1454
  * const upTo3 = yield* PubSub.takeUpTo(subscription, 3)
1389
1455
  * console.log("Up to 3:", upTo3) // ["msg1", "msg2", "msg3"]
@@ -1399,27 +1465,27 @@ export const takeUpTo: {
1399
1465
  * })
1400
1466
  * ```
1401
1467
  *
1402
- * @since 4.0.0
1403
1468
  * @category subscription
1469
+ * @since 4.0.0
1404
1470
  */
1405
1471
  (max: number): <A>(self: Subscription<A>) => Effect.Effect<Array<A>>
1406
1472
  /**
1407
1473
  * Takes up to the specified number of messages from the subscription without suspending.
1408
1474
  *
1409
- * @example
1475
+ * **Example** (Taking up to a maximum number of messages)
1476
+ *
1410
1477
  * ```ts
1411
- * import { Effect } from "effect"
1412
- * import * as PubSub from "effect/PubSub"
1478
+ * import { Effect, PubSub } from "effect"
1413
1479
  *
1414
1480
  * const program = Effect.gen(function*() {
1415
1481
  * const pubsub = yield* PubSub.bounded<string>(10)
1416
1482
  *
1417
- * // Publish multiple messages
1418
- * yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
1419
- *
1420
1483
  * yield* Effect.scoped(Effect.gen(function*() {
1421
1484
  * const subscription = yield* PubSub.subscribe(pubsub)
1422
1485
  *
1486
+ * // Publish multiple messages
1487
+ * yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3", "msg4", "msg5"])
1488
+ *
1423
1489
  * // Take up to 3 messages
1424
1490
  * const upTo3 = yield* PubSub.takeUpTo(subscription, 3)
1425
1491
  * console.log("Up to 3:", upTo3) // ["msg1", "msg2", "msg3"]
@@ -1435,8 +1501,8 @@ export const takeUpTo: {
1435
1501
  * })
1436
1502
  * ```
1437
1503
  *
1438
- * @since 4.0.0
1439
1504
  * @category subscription
1505
+ * @since 4.0.0
1440
1506
  */
1441
1507
  <A>(self: Subscription<A>, max: number): Effect.Effect<Array<A>>
1442
1508
  } = dual(2, <A>(self: Subscription<A>, max: number): Effect.Effect<Array<A>> =>
@@ -1460,7 +1526,8 @@ export const takeUpTo: {
1460
1526
  * Takes between the specified minimum and maximum number of messages from the subscription.
1461
1527
  * Will suspend if the minimum number is not immediately available.
1462
1528
  *
1463
- * @example
1529
+ * **Example** (Taking between a minimum and maximum)
1530
+ *
1464
1531
  * ```ts
1465
1532
  * import { Effect, Fiber, PubSub } from "effect"
1466
1533
  *
@@ -1485,15 +1552,16 @@ export const takeUpTo: {
1485
1552
  * })
1486
1553
  * ```
1487
1554
  *
1488
- * @since 4.0.0
1489
1555
  * @category subscription
1556
+ * @since 4.0.0
1490
1557
  */
1491
1558
  export const takeBetween: {
1492
1559
  /**
1493
1560
  * Takes between the specified minimum and maximum number of messages from the subscription.
1494
1561
  * Will suspend if the minimum number is not immediately available.
1495
1562
  *
1496
- * @example
1563
+ * **Example** (Taking between a minimum and maximum)
1564
+ *
1497
1565
  * ```ts
1498
1566
  * import { Effect, Fiber, PubSub } from "effect"
1499
1567
  *
@@ -1518,15 +1586,16 @@ export const takeBetween: {
1518
1586
  * })
1519
1587
  * ```
1520
1588
  *
1521
- * @since 4.0.0
1522
1589
  * @category subscription
1590
+ * @since 4.0.0
1523
1591
  */
1524
1592
  (min: number, max: number): <A>(self: Subscription<A>) => Effect.Effect<Array<A>>
1525
1593
  /**
1526
1594
  * Takes between the specified minimum and maximum number of messages from the subscription.
1527
1595
  * Will suspend if the minimum number is not immediately available.
1528
1596
  *
1529
- * @example
1597
+ * **Example** (Taking between a minimum and maximum)
1598
+ *
1530
1599
  * ```ts
1531
1600
  * import { Effect, Fiber, PubSub } from "effect"
1532
1601
  *
@@ -1551,8 +1620,8 @@ export const takeBetween: {
1551
1620
  * })
1552
1621
  * ```
1553
1622
  *
1554
- * @since 4.0.0
1555
1623
  * @category subscription
1624
+ * @since 4.0.0
1556
1625
  */
1557
1626
  <A>(self: Subscription<A>, min: number, max: number): Effect.Effect<Array<A>>
1558
1627
  } = dual(
@@ -1595,22 +1664,26 @@ const takeRemainderLoop = <A>(
1595
1664
  }
1596
1665
 
1597
1666
  /**
1598
- * Returns the number of messages currently available in the subscription.
1667
+ * Synchronously checks how many messages can be taken from a subscription.
1668
+ *
1669
+ * Returns `Option.some(count)` while the subscription is active, including
1670
+ * replay-buffered messages, and `Option.none()` after the subscription has
1671
+ * been shut down. Prefer `remaining` in effectful code.
1672
+ *
1673
+ * **Example** (Checking remaining messages)
1599
1674
  *
1600
- * @example
1601
1675
  * ```ts
1602
- * import { Effect } from "effect"
1603
- * import * as PubSub from "effect/PubSub"
1676
+ * import { Effect, PubSub } from "effect"
1604
1677
  *
1605
1678
  * const program = Effect.gen(function*() {
1606
1679
  * const pubsub = yield* PubSub.bounded<string>(10)
1607
1680
  *
1608
- * // Publish some messages
1609
- * yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3"])
1610
- *
1611
1681
  * yield* Effect.scoped(Effect.gen(function*() {
1612
1682
  * const subscription = yield* PubSub.subscribe(pubsub)
1613
1683
  *
1684
+ * // Publish some messages
1685
+ * yield* PubSub.publishAll(pubsub, ["msg1", "msg2", "msg3"])
1686
+ *
1614
1687
  * // Check how many messages are available
1615
1688
  * const count = yield* PubSub.remaining(subscription)
1616
1689
  * console.log("Messages available:", count) // 3
@@ -1624,8 +1697,8 @@ const takeRemainderLoop = <A>(
1624
1697
  * })
1625
1698
  * ```
1626
1699
  *
1627
- * @since 4.0.0
1628
1700
  * @category getters
1701
+ * @since 4.0.0
1629
1702
  */
1630
1703
  export const remaining = <A>(self: Subscription<A>): Effect.Effect<number> =>
1631
1704
  Effect.suspend(() =>
@@ -1637,7 +1710,8 @@ export const remaining = <A>(self: Subscription<A>): Effect.Effect<number> =>
1637
1710
  /**
1638
1711
  * Returns the number of messages currently available in the subscription.
1639
1712
  *
1640
- * @example
1713
+ * **Example** (Checking remaining messages synchronously)
1714
+ *
1641
1715
  * ```ts
1642
1716
  * import { PubSub } from "effect"
1643
1717
  *
@@ -1657,8 +1731,8 @@ export const remaining = <A>(self: Subscription<A>): Effect.Effect<number> =>
1657
1731
  * }
1658
1732
  * ```
1659
1733
  *
1660
- * @since 4.0.0
1661
1734
  * @category getters
1735
+ * @since 4.0.0
1662
1736
  */
1663
1737
  export const remainingUnsafe = <A>(self: Subscription<A>): Option.Option<number> => {
1664
1738
  if (self.shutdownFlag.current) {
@@ -2545,8 +2619,8 @@ const ensureCapacity = (capacity: number): void => {
2545
2619
  * risk that a slow subscriber will slow down the rate at which messages
2546
2620
  * are published and received by other subscribers.
2547
2621
  *
2548
- * @since 4.0.0
2549
2622
  * @category models
2623
+ * @since 4.0.0
2550
2624
  */
2551
2625
  export class BackPressureStrategy<in out A> implements PubSub.Strategy<A> {
2552
2626
  publishers: MutableList.MutableList<
@@ -2648,10 +2722,10 @@ export class BackPressureStrategy<in out A> implements PubSub.Strategy<A> {
2648
2722
  * other subscribers and that subscribers may not receive all messages
2649
2723
  * published to the `PubSub` while they are subscribed.
2650
2724
  *
2651
- * @example
2725
+ * **Example** (Using a dropping strategy)
2726
+ *
2652
2727
  * ```ts
2653
- * import { Effect } from "effect"
2654
- * import * as PubSub from "effect/PubSub"
2728
+ * import { Effect, PubSub } from "effect"
2655
2729
  *
2656
2730
  * const program = Effect.gen(function*() {
2657
2731
  * // Create PubSub with dropping strategy
@@ -2663,24 +2737,25 @@ export class BackPressureStrategy<in out A> implements PubSub.Strategy<A> {
2663
2737
  * strategy: () => new PubSub.DroppingStrategy()
2664
2738
  * })
2665
2739
  *
2666
- * // Fill the PubSub
2667
- * const pub1 = yield* PubSub.publish(pubsub, "msg1") // true
2668
- * const pub2 = yield* PubSub.publish(pubsub, "msg2") // true
2669
- * const pub3 = yield* PubSub.publish(pubsub, "msg3") // false (dropped)
2670
- *
2671
- * console.log("Publication results:", [pub1, pub2, pub3]) // [true, true, false]
2672
- *
2673
- * // Subscribers will only see the first two messages
2674
2740
  * yield* Effect.scoped(Effect.gen(function*() {
2675
2741
  * const subscription = yield* PubSub.subscribe(pubsub)
2742
+ *
2743
+ * // Fill the PubSub
2744
+ * const pub1 = yield* PubSub.publish(pubsub, "msg1") // true
2745
+ * const pub2 = yield* PubSub.publish(pubsub, "msg2") // true
2746
+ * const pub3 = yield* PubSub.publish(pubsub, "msg3") // false (dropped)
2747
+ *
2748
+ * console.log("Publication results:", [pub1, pub2, pub3]) // [true, true, false]
2749
+ *
2750
+ * // Subscribers will only see the first two messages
2676
2751
  * const messages = yield* PubSub.takeAll(subscription)
2677
2752
  * console.log("Received messages:", messages) // ["msg1", "msg2"]
2678
2753
  * }))
2679
2754
  * })
2680
2755
  * ```
2681
2756
  *
2682
- * @since 4.0.0
2683
2757
  * @category models
2758
+ * @since 4.0.0
2684
2759
  */
2685
2760
  export class DroppingStrategy<in out A> implements PubSub.Strategy<A> {
2686
2761
  get shutdown(): Effect.Effect<void> {
@@ -2724,10 +2799,10 @@ export class DroppingStrategy<in out A> implements PubSub.Strategy<A> {
2724
2799
  * subscribers. However, it creates the risk that a slow subscriber will
2725
2800
  * not receive some messages published to the `PubSub` while it is subscribed.
2726
2801
  *
2727
- * @example
2802
+ * **Example** (Using a sliding strategy)
2803
+ *
2728
2804
  * ```ts
2729
- * import { Effect } from "effect"
2730
- * import * as PubSub from "effect/PubSub"
2805
+ * import { Effect, PubSub } from "effect"
2731
2806
  *
2732
2807
  * const program = Effect.gen(function*() {
2733
2808
  * // Create PubSub with sliding strategy
@@ -2739,23 +2814,24 @@ export class DroppingStrategy<in out A> implements PubSub.Strategy<A> {
2739
2814
  * strategy: () => new PubSub.SlidingStrategy()
2740
2815
  * })
2741
2816
  *
2742
- * // Publish messages that exceed capacity
2743
- * yield* PubSub.publish(pubsub, "msg1") // stored
2744
- * yield* PubSub.publish(pubsub, "msg2") // stored
2745
- * yield* PubSub.publish(pubsub, "msg3") // "msg1" evicted, "msg3" stored
2746
- * yield* PubSub.publish(pubsub, "msg4") // "msg2" evicted, "msg4" stored
2747
- *
2748
- * // Subscribers will see the most recent messages
2749
2817
  * yield* Effect.scoped(Effect.gen(function*() {
2750
2818
  * const subscription = yield* PubSub.subscribe(pubsub)
2819
+ *
2820
+ * // Publish messages that exceed capacity
2821
+ * yield* PubSub.publish(pubsub, "msg1") // stored
2822
+ * yield* PubSub.publish(pubsub, "msg2") // stored
2823
+ * yield* PubSub.publish(pubsub, "msg3") // "msg1" evicted, "msg3" stored
2824
+ * yield* PubSub.publish(pubsub, "msg4") // "msg2" evicted, "msg4" stored
2825
+ *
2826
+ * // Subscribers will see the most recent messages
2751
2827
  * const messages = yield* PubSub.takeAll(subscription)
2752
2828
  * console.log("Recent messages:", messages) // ["msg3", "msg4"]
2753
2829
  * }))
2754
2830
  * })
2755
2831
  * ```
2756
2832
  *
2757
- * @since 4.0.0
2758
2833
  * @category models
2834
+ * @since 4.0.0
2759
2835
  */
2760
2836
  export class SlidingStrategy<in out A> implements PubSub.Strategy<A> {
2761
2837
  get shutdown(): Effect.Effect<void> {