effect 4.0.0-beta.65 → 4.0.0-beta.67

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