effect 4.0.1 → 4.0.2

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 (917) hide show
  1. package/ai-docs/package.json +2 -2
  2. package/ai-docs/tsconfig.json +2 -1
  3. package/dist/Array.d.ts +339 -0
  4. package/dist/Array.d.ts.map +1 -1
  5. package/dist/Array.js +143 -3
  6. package/dist/Array.js.map +1 -1
  7. package/dist/BigDecimal.d.ts +88 -0
  8. package/dist/BigDecimal.d.ts.map +1 -1
  9. package/dist/BigDecimal.js +44 -0
  10. package/dist/BigDecimal.js.map +1 -1
  11. package/dist/BigInt.d.ts +68 -0
  12. package/dist/BigInt.d.ts.map +1 -1
  13. package/dist/BigInt.js +36 -0
  14. package/dist/BigInt.js.map +1 -1
  15. package/dist/Boolean.d.ts +34 -0
  16. package/dist/Boolean.d.ts.map +1 -1
  17. package/dist/Boolean.js +18 -0
  18. package/dist/Boolean.js.map +1 -1
  19. package/dist/Brand.d.ts +9 -0
  20. package/dist/Brand.d.ts.map +1 -1
  21. package/dist/Brand.js +6 -0
  22. package/dist/Brand.js.map +1 -1
  23. package/dist/ByteSize.d.ts +86 -0
  24. package/dist/ByteSize.d.ts.map +1 -1
  25. package/dist/ByteSize.js +51 -0
  26. package/dist/ByteSize.js.map +1 -1
  27. package/dist/Cache.d.ts +38 -1
  28. package/dist/Cache.d.ts.map +1 -1
  29. package/dist/Cache.js +27 -7
  30. package/dist/Cache.js.map +1 -1
  31. package/dist/Cause.d.ts +82 -0
  32. package/dist/Cause.d.ts.map +1 -1
  33. package/dist/Cause.js +60 -0
  34. package/dist/Cause.js.map +1 -1
  35. package/dist/Channel.d.ts +327 -4
  36. package/dist/Channel.d.ts.map +1 -1
  37. package/dist/Channel.js +168 -8
  38. package/dist/Channel.js.map +1 -1
  39. package/dist/ChannelSchema.d.ts +11 -0
  40. package/dist/ChannelSchema.d.ts.map +1 -1
  41. package/dist/ChannelSchema.js +6 -0
  42. package/dist/ChannelSchema.js.map +1 -1
  43. package/dist/Chunk.d.ts +192 -0
  44. package/dist/Chunk.d.ts.map +1 -1
  45. package/dist/Chunk.js +78 -0
  46. package/dist/Chunk.js.map +1 -1
  47. package/dist/Clock.d.ts +7 -0
  48. package/dist/Clock.d.ts.map +1 -1
  49. package/dist/Clock.js +5 -0
  50. package/dist/Clock.js.map +1 -1
  51. package/dist/Combiner.d.ts +10 -0
  52. package/dist/Combiner.d.ts.map +1 -1
  53. package/dist/Combiner.js +8 -0
  54. package/dist/Combiner.js.map +1 -1
  55. package/dist/Config.d.ts +52 -12
  56. package/dist/Config.d.ts.map +1 -1
  57. package/dist/Config.js +55 -5
  58. package/dist/Config.js.map +1 -1
  59. package/dist/ConfigProvider.d.ts +28 -0
  60. package/dist/ConfigProvider.d.ts.map +1 -1
  61. package/dist/ConfigProvider.js +19 -0
  62. package/dist/ConfigProvider.js.map +1 -1
  63. package/dist/Console.d.ts +22 -0
  64. package/dist/Console.d.ts.map +1 -1
  65. package/dist/Console.js +20 -0
  66. package/dist/Console.js.map +1 -1
  67. package/dist/Context.d.ts +50 -0
  68. package/dist/Context.d.ts.map +1 -1
  69. package/dist/Context.js +21 -0
  70. package/dist/Context.js.map +1 -1
  71. package/dist/Cron.d.ts +16 -0
  72. package/dist/Cron.d.ts.map +1 -1
  73. package/dist/Cron.js +26 -1
  74. package/dist/Cron.js.map +1 -1
  75. package/dist/Crypto.d.ts +5 -0
  76. package/dist/Crypto.d.ts.map +1 -1
  77. package/dist/Crypto.js +3 -0
  78. package/dist/Crypto.js.map +1 -1
  79. package/dist/Data.d.ts +13 -0
  80. package/dist/Data.d.ts.map +1 -1
  81. package/dist/Data.js +5 -0
  82. package/dist/Data.js.map +1 -1
  83. package/dist/DateTime.d.ts +171 -0
  84. package/dist/DateTime.d.ts.map +1 -1
  85. package/dist/DateTime.js +89 -0
  86. package/dist/DateTime.js.map +1 -1
  87. package/dist/Deferred.d.ts +51 -0
  88. package/dist/Deferred.d.ts.map +1 -1
  89. package/dist/Deferred.js +22 -0
  90. package/dist/Deferred.js.map +1 -1
  91. package/dist/Differ.d.ts +2 -0
  92. package/dist/Differ.d.ts.map +1 -1
  93. package/dist/Differ.js +1 -0
  94. package/dist/Duration.d.ts +90 -0
  95. package/dist/Duration.d.ts.map +1 -1
  96. package/dist/Duration.js +53 -0
  97. package/dist/Duration.js.map +1 -1
  98. package/dist/Effect.d.ts +527 -0
  99. package/dist/Effect.d.ts.map +1 -1
  100. package/dist/Effect.js +240 -5
  101. package/dist/Effect.js.map +1 -1
  102. package/dist/Effectable.d.ts +4 -0
  103. package/dist/Effectable.d.ts.map +1 -1
  104. package/dist/Effectable.js +3 -0
  105. package/dist/Effectable.js.map +1 -1
  106. package/dist/Equal.d.ts +8 -0
  107. package/dist/Equal.d.ts.map +1 -1
  108. package/dist/Equal.js +9 -1
  109. package/dist/Equal.js.map +1 -1
  110. package/dist/Equivalence.d.ts +21 -0
  111. package/dist/Equivalence.d.ts.map +1 -1
  112. package/dist/Equivalence.js +16 -0
  113. package/dist/Equivalence.js.map +1 -1
  114. package/dist/ErrorReporter.d.ts +36 -0
  115. package/dist/ErrorReporter.d.ts.map +1 -1
  116. package/dist/ErrorReporter.js +11 -0
  117. package/dist/ErrorReporter.js.map +1 -1
  118. package/dist/ExecutionPlan.d.ts +49 -8
  119. package/dist/ExecutionPlan.d.ts.map +1 -1
  120. package/dist/ExecutionPlan.js +7 -0
  121. package/dist/ExecutionPlan.js.map +1 -1
  122. package/dist/Exit.d.ts +40 -0
  123. package/dist/Exit.d.ts.map +1 -1
  124. package/dist/Exit.js +27 -0
  125. package/dist/Exit.js.map +1 -1
  126. package/dist/Fiber.d.ts +20 -0
  127. package/dist/Fiber.d.ts.map +1 -1
  128. package/dist/Fiber.js +11 -0
  129. package/dist/Fiber.js.map +1 -1
  130. package/dist/FiberHandle.d.ts +21 -0
  131. package/dist/FiberHandle.d.ts.map +1 -1
  132. package/dist/FiberHandle.js +21 -4
  133. package/dist/FiberHandle.js.map +1 -1
  134. package/dist/FiberMap.d.ts +35 -0
  135. package/dist/FiberMap.d.ts.map +1 -1
  136. package/dist/FiberMap.js +19 -0
  137. package/dist/FiberMap.js.map +1 -1
  138. package/dist/FiberSet.d.ts +20 -0
  139. package/dist/FiberSet.d.ts.map +1 -1
  140. package/dist/FiberSet.js +14 -0
  141. package/dist/FiberSet.js.map +1 -1
  142. package/dist/FileSystem.d.ts +15 -0
  143. package/dist/FileSystem.d.ts.map +1 -1
  144. package/dist/FileSystem.js +8 -0
  145. package/dist/FileSystem.js.map +1 -1
  146. package/dist/Filter.d.ts +55 -0
  147. package/dist/Filter.d.ts.map +1 -1
  148. package/dist/Filter.js +28 -0
  149. package/dist/Filter.js.map +1 -1
  150. package/dist/Formatter.d.ts +3 -0
  151. package/dist/Formatter.d.ts.map +1 -1
  152. package/dist/Formatter.js +39 -1
  153. package/dist/Formatter.js.map +1 -1
  154. package/dist/Function.d.ts +30 -0
  155. package/dist/Function.d.ts.map +1 -1
  156. package/dist/Function.js +20 -0
  157. package/dist/Function.js.map +1 -1
  158. package/dist/Graph.d.ts +247 -12
  159. package/dist/Graph.d.ts.map +1 -1
  160. package/dist/Graph.js +149 -28
  161. package/dist/Graph.js.map +1 -1
  162. package/dist/HKT.d.ts +5 -0
  163. package/dist/HKT.d.ts.map +1 -1
  164. package/dist/Hash.d.ts +14 -0
  165. package/dist/Hash.d.ts.map +1 -1
  166. package/dist/Hash.js +12 -0
  167. package/dist/Hash.js.map +1 -1
  168. package/dist/HashMap.d.ts +91 -0
  169. package/dist/HashMap.d.ts.map +1 -1
  170. package/dist/HashMap.js +39 -0
  171. package/dist/HashMap.js.map +1 -1
  172. package/dist/HashRing.d.ts +17 -0
  173. package/dist/HashRing.d.ts.map +1 -1
  174. package/dist/HashRing.js +9 -0
  175. package/dist/HashRing.js.map +1 -1
  176. package/dist/HashSet.d.ts +49 -0
  177. package/dist/HashSet.d.ts.map +1 -1
  178. package/dist/HashSet.js +19 -0
  179. package/dist/HashSet.js.map +1 -1
  180. package/dist/Inspectable.d.ts +7 -0
  181. package/dist/Inspectable.d.ts.map +1 -1
  182. package/dist/Inspectable.js +6 -0
  183. package/dist/Inspectable.js.map +1 -1
  184. package/dist/Iterable.d.ts +127 -0
  185. package/dist/Iterable.d.ts.map +1 -1
  186. package/dist/Iterable.js +51 -0
  187. package/dist/Iterable.js.map +1 -1
  188. package/dist/JsonPatch.d.ts +4 -0
  189. package/dist/JsonPatch.d.ts.map +1 -1
  190. package/dist/JsonPatch.js +3 -0
  191. package/dist/JsonPatch.js.map +1 -1
  192. package/dist/JsonPointer.d.ts +5 -0
  193. package/dist/JsonPointer.d.ts.map +1 -1
  194. package/dist/JsonPointer.js +5 -0
  195. package/dist/JsonPointer.js.map +1 -1
  196. package/dist/JsonSchema.d.ts +16 -0
  197. package/dist/JsonSchema.d.ts.map +1 -1
  198. package/dist/JsonSchema.js +11 -0
  199. package/dist/JsonSchema.js.map +1 -1
  200. package/dist/Latch.d.ts +14 -0
  201. package/dist/Latch.d.ts.map +1 -1
  202. package/dist/Latch.js +10 -0
  203. package/dist/Latch.js.map +1 -1
  204. package/dist/Layer.d.ts +100 -0
  205. package/dist/Layer.d.ts.map +1 -1
  206. package/dist/Layer.js +45 -1
  207. package/dist/Layer.js.map +1 -1
  208. package/dist/LayerMap.d.ts +7 -0
  209. package/dist/LayerMap.d.ts.map +1 -1
  210. package/dist/LayerMap.js +4 -0
  211. package/dist/LayerMap.js.map +1 -1
  212. package/dist/LayerRef.d.ts +5 -0
  213. package/dist/LayerRef.d.ts.map +1 -1
  214. package/dist/LayerRef.js +3 -0
  215. package/dist/LayerRef.js.map +1 -1
  216. package/dist/LogLevel.d.ts +20 -0
  217. package/dist/LogLevel.d.ts.map +1 -1
  218. package/dist/LogLevel.js +9 -0
  219. package/dist/LogLevel.js.map +1 -1
  220. package/dist/Logger.d.ts +25 -0
  221. package/dist/Logger.d.ts.map +1 -1
  222. package/dist/Logger.js +30 -4
  223. package/dist/Logger.js.map +1 -1
  224. package/dist/ManagedRuntime.d.ts +5 -0
  225. package/dist/ManagedRuntime.d.ts.map +1 -1
  226. package/dist/ManagedRuntime.js +9 -1
  227. package/dist/ManagedRuntime.js.map +1 -1
  228. package/dist/Match.d.ts +51 -0
  229. package/dist/Match.d.ts.map +1 -1
  230. package/dist/Match.js +39 -0
  231. package/dist/Match.js.map +1 -1
  232. package/dist/Metric.d.ts +59 -0
  233. package/dist/Metric.d.ts.map +1 -1
  234. package/dist/Metric.js +31 -0
  235. package/dist/Metric.js.map +1 -1
  236. package/dist/MutableHashMap.d.ts +32 -0
  237. package/dist/MutableHashMap.d.ts.map +1 -1
  238. package/dist/MutableHashMap.js +16 -0
  239. package/dist/MutableHashMap.js.map +1 -1
  240. package/dist/MutableHashSet.d.ts +16 -0
  241. package/dist/MutableHashSet.d.ts.map +1 -1
  242. package/dist/MutableHashSet.js +10 -0
  243. package/dist/MutableHashSet.js.map +1 -1
  244. package/dist/MutableList.d.ts +20 -0
  245. package/dist/MutableList.d.ts.map +1 -1
  246. package/dist/MutableList.js +18 -0
  247. package/dist/MutableList.js.map +1 -1
  248. package/dist/MutableRef.d.ts +31 -0
  249. package/dist/MutableRef.d.ts.map +1 -1
  250. package/dist/MutableRef.js +17 -0
  251. package/dist/MutableRef.js.map +1 -1
  252. package/dist/Newtype.d.ts +9 -0
  253. package/dist/Newtype.d.ts.map +1 -1
  254. package/dist/Newtype.js +6 -0
  255. package/dist/Newtype.js.map +1 -1
  256. package/dist/NonEmptyIterable.d.ts +4 -0
  257. package/dist/NonEmptyIterable.d.ts.map +1 -1
  258. package/dist/NonEmptyIterable.js +2 -0
  259. package/dist/NonEmptyIterable.js.map +1 -1
  260. package/dist/Number.d.ts +61 -0
  261. package/dist/Number.d.ts.map +1 -1
  262. package/dist/Number.js +31 -0
  263. package/dist/Number.js.map +1 -1
  264. package/dist/Optic.d.ts +41 -0
  265. package/dist/Optic.d.ts.map +1 -1
  266. package/dist/Optic.js +20 -0
  267. package/dist/Optic.js.map +1 -1
  268. package/dist/Option.d.ts +134 -0
  269. package/dist/Option.d.ts.map +1 -1
  270. package/dist/Option.js +61 -0
  271. package/dist/Option.js.map +1 -1
  272. package/dist/Order.d.ts +29 -0
  273. package/dist/Order.d.ts.map +1 -1
  274. package/dist/Order.js +24 -0
  275. package/dist/Order.js.map +1 -1
  276. package/dist/Ordering.d.ts +7 -0
  277. package/dist/Ordering.d.ts.map +1 -1
  278. package/dist/Ordering.js +3 -0
  279. package/dist/Ordering.js.map +1 -1
  280. package/dist/PartitionedSemaphore.d.ts +24 -0
  281. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  282. package/dist/PartitionedSemaphore.js +47 -21
  283. package/dist/PartitionedSemaphore.js.map +1 -1
  284. package/dist/Path.d.ts +6 -0
  285. package/dist/Path.d.ts.map +1 -1
  286. package/dist/Path.js +4 -0
  287. package/dist/Path.js.map +1 -1
  288. package/dist/Pipeable.d.ts +7 -0
  289. package/dist/Pipeable.d.ts.map +1 -1
  290. package/dist/Pipeable.js +5 -0
  291. package/dist/Pipeable.js.map +1 -1
  292. package/dist/PlatformError.d.ts +8 -0
  293. package/dist/PlatformError.d.ts.map +1 -1
  294. package/dist/PlatformError.js +7 -0
  295. package/dist/PlatformError.js.map +1 -1
  296. package/dist/Pool.d.ts +19 -0
  297. package/dist/Pool.d.ts.map +1 -1
  298. package/dist/Pool.js +8 -1
  299. package/dist/Pool.js.map +1 -1
  300. package/dist/Predicate.d.ts +84 -0
  301. package/dist/Predicate.d.ts.map +1 -1
  302. package/dist/Predicate.js +48 -0
  303. package/dist/Predicate.js.map +1 -1
  304. package/dist/PrimaryKey.d.ts +5 -0
  305. package/dist/PrimaryKey.d.ts.map +1 -1
  306. package/dist/PrimaryKey.js +4 -0
  307. package/dist/PrimaryKey.js.map +1 -1
  308. package/dist/PubSub.d.ts +67 -5
  309. package/dist/PubSub.d.ts.map +1 -1
  310. package/dist/PubSub.js +60 -8
  311. package/dist/PubSub.js.map +1 -1
  312. package/dist/Pull.d.ts +20 -0
  313. package/dist/Pull.d.ts.map +1 -1
  314. package/dist/Pull.js +10 -0
  315. package/dist/Pull.js.map +1 -1
  316. package/dist/Queue.d.ts +60 -0
  317. package/dist/Queue.d.ts.map +1 -1
  318. package/dist/Queue.js +58 -8
  319. package/dist/Queue.js.map +1 -1
  320. package/dist/Random.d.ts +13 -0
  321. package/dist/Random.d.ts.map +1 -1
  322. package/dist/Random.js +9 -0
  323. package/dist/Random.js.map +1 -1
  324. package/dist/RcMap.d.ts +23 -0
  325. package/dist/RcMap.d.ts.map +1 -1
  326. package/dist/RcMap.js +8 -0
  327. package/dist/RcMap.js.map +1 -1
  328. package/dist/RcRef.d.ts +6 -0
  329. package/dist/RcRef.d.ts.map +1 -1
  330. package/dist/RcRef.js +3 -0
  331. package/dist/RcRef.js.map +1 -1
  332. package/dist/Record.d.ts +100 -0
  333. package/dist/Record.d.ts.map +1 -1
  334. package/dist/Record.js +43 -0
  335. package/dist/Record.js.map +1 -1
  336. package/dist/Redactable.d.ts +6 -0
  337. package/dist/Redactable.d.ts.map +1 -1
  338. package/dist/Redactable.js +4 -0
  339. package/dist/Redactable.js.map +1 -1
  340. package/dist/Redacted.d.ts +8 -0
  341. package/dist/Redacted.d.ts.map +1 -1
  342. package/dist/Redacted.js +6 -0
  343. package/dist/Redacted.js.map +1 -1
  344. package/dist/Reducer.d.ts +4 -0
  345. package/dist/Reducer.d.ts.map +1 -1
  346. package/dist/Reducer.js +3 -0
  347. package/dist/Reducer.js.map +1 -1
  348. package/dist/Ref.d.ts +20 -0
  349. package/dist/Ref.d.ts.map +1 -1
  350. package/dist/Ref.js +16 -0
  351. package/dist/Ref.js.map +1 -1
  352. package/dist/References.d.ts +21 -0
  353. package/dist/References.d.ts.map +1 -1
  354. package/dist/References.js +19 -0
  355. package/dist/References.js.map +1 -1
  356. package/dist/RegExp.d.ts +3 -0
  357. package/dist/RegExp.d.ts.map +1 -1
  358. package/dist/RegExp.js +4 -0
  359. package/dist/RegExp.js.map +1 -1
  360. package/dist/Request.d.ts +32 -0
  361. package/dist/Request.d.ts.map +1 -1
  362. package/dist/Request.js +12 -0
  363. package/dist/Request.js.map +1 -1
  364. package/dist/RequestResolver.d.ts +42 -0
  365. package/dist/RequestResolver.d.ts.map +1 -1
  366. package/dist/RequestResolver.js +27 -6
  367. package/dist/RequestResolver.js.map +1 -1
  368. package/dist/Resource.d.ts +6 -0
  369. package/dist/Resource.d.ts.map +1 -1
  370. package/dist/Resource.js +6 -0
  371. package/dist/Resource.js.map +1 -1
  372. package/dist/Result.d.ts +91 -0
  373. package/dist/Result.d.ts.map +1 -1
  374. package/dist/Result.js +41 -0
  375. package/dist/Result.js.map +1 -1
  376. package/dist/Runtime.d.ts +9 -0
  377. package/dist/Runtime.d.ts.map +1 -1
  378. package/dist/Runtime.js +7 -0
  379. package/dist/Runtime.js.map +1 -1
  380. package/dist/Schedule.d.ts +57 -0
  381. package/dist/Schedule.d.ts.map +1 -1
  382. package/dist/Schedule.js +32 -0
  383. package/dist/Schedule.js.map +1 -1
  384. package/dist/Scheduler.d.ts +7 -0
  385. package/dist/Scheduler.d.ts.map +1 -1
  386. package/dist/Scheduler.js +5 -0
  387. package/dist/Scheduler.js.map +1 -1
  388. package/dist/Schema.d.ts +496 -1
  389. package/dist/Schema.d.ts.map +1 -1
  390. package/dist/Schema.js +280 -1
  391. package/dist/Schema.js.map +1 -1
  392. package/dist/SchemaAST.d.ts +107 -0
  393. package/dist/SchemaAST.d.ts.map +1 -1
  394. package/dist/SchemaAST.js +81 -1
  395. package/dist/SchemaAST.js.map +1 -1
  396. package/dist/SchemaGetter.d.ts +69 -2
  397. package/dist/SchemaGetter.d.ts.map +1 -1
  398. package/dist/SchemaGetter.js +63 -4
  399. package/dist/SchemaGetter.js.map +1 -1
  400. package/dist/SchemaIssue.d.ts +33 -0
  401. package/dist/SchemaIssue.d.ts.map +1 -1
  402. package/dist/SchemaIssue.js +18 -0
  403. package/dist/SchemaIssue.js.map +1 -1
  404. package/dist/SchemaParser.d.ts +25 -0
  405. package/dist/SchemaParser.d.ts.map +1 -1
  406. package/dist/SchemaParser.js +26 -0
  407. package/dist/SchemaParser.js.map +1 -1
  408. package/dist/SchemaRepresentation.d.ts +147 -0
  409. package/dist/SchemaRepresentation.d.ts.map +1 -1
  410. package/dist/SchemaRepresentation.js +99 -0
  411. package/dist/SchemaRepresentation.js.map +1 -1
  412. package/dist/SchemaTransformation.d.ts +53 -0
  413. package/dist/SchemaTransformation.d.ts.map +1 -1
  414. package/dist/SchemaTransformation.js +46 -0
  415. package/dist/SchemaTransformation.js.map +1 -1
  416. package/dist/Scope.d.ts +19 -0
  417. package/dist/Scope.d.ts.map +1 -1
  418. package/dist/Scope.js +12 -0
  419. package/dist/Scope.js.map +1 -1
  420. package/dist/ScopedCache.d.ts +34 -0
  421. package/dist/ScopedCache.d.ts.map +1 -1
  422. package/dist/ScopedCache.js +26 -3
  423. package/dist/ScopedCache.js.map +1 -1
  424. package/dist/ScopedRef.d.ts +9 -0
  425. package/dist/ScopedRef.d.ts.map +1 -1
  426. package/dist/ScopedRef.js +6 -0
  427. package/dist/ScopedRef.js.map +1 -1
  428. package/dist/Semaphore.d.ts +26 -0
  429. package/dist/Semaphore.d.ts.map +1 -1
  430. package/dist/Semaphore.js +10 -0
  431. package/dist/Semaphore.js.map +1 -1
  432. package/dist/Sink.d.ts +125 -1
  433. package/dist/Sink.d.ts.map +1 -1
  434. package/dist/Sink.js +75 -1
  435. package/dist/Sink.js.map +1 -1
  436. package/dist/StandardSchema.d.ts +1 -0
  437. package/dist/StandardSchema.d.ts.map +1 -1
  438. package/dist/StandardSchema.js +1 -0
  439. package/dist/Stdio.d.ts +7 -0
  440. package/dist/Stdio.d.ts.map +1 -1
  441. package/dist/Stdio.js +5 -0
  442. package/dist/Stdio.js.map +1 -1
  443. package/dist/Stream.d.ts +558 -0
  444. package/dist/Stream.d.ts.map +1 -1
  445. package/dist/Stream.js +261 -13
  446. package/dist/Stream.js.map +1 -1
  447. package/dist/String.d.ts +87 -0
  448. package/dist/String.d.ts.map +1 -1
  449. package/dist/String.js +61 -0
  450. package/dist/String.js.map +1 -1
  451. package/dist/Struct.d.ts +46 -0
  452. package/dist/Struct.d.ts.map +1 -1
  453. package/dist/Struct.js +19 -0
  454. package/dist/Struct.js.map +1 -1
  455. package/dist/SubscriptionRef.d.ts +65 -0
  456. package/dist/SubscriptionRef.d.ts.map +1 -1
  457. package/dist/SubscriptionRef.js +25 -0
  458. package/dist/SubscriptionRef.js.map +1 -1
  459. package/dist/Symbol.d.ts +2 -0
  460. package/dist/Symbol.d.ts.map +1 -1
  461. package/dist/Symbol.js +2 -0
  462. package/dist/Symbol.js.map +1 -1
  463. package/dist/SynchronizedRef.d.ts +63 -0
  464. package/dist/SynchronizedRef.d.ts.map +1 -1
  465. package/dist/SynchronizedRef.js +24 -0
  466. package/dist/SynchronizedRef.js.map +1 -1
  467. package/dist/Take.d.ts +3 -0
  468. package/dist/Take.d.ts.map +1 -1
  469. package/dist/Take.js +1 -0
  470. package/dist/Take.js.map +1 -1
  471. package/dist/Terminal.d.ts +8 -0
  472. package/dist/Terminal.d.ts.map +1 -1
  473. package/dist/Terminal.js +4 -0
  474. package/dist/Terminal.js.map +1 -1
  475. package/dist/Tracer.d.ts +23 -0
  476. package/dist/Tracer.d.ts.map +1 -1
  477. package/dist/Tracer.js +12 -0
  478. package/dist/Tracer.js.map +1 -1
  479. package/dist/Trie.d.ts +68 -0
  480. package/dist/Trie.d.ts.map +1 -1
  481. package/dist/Trie.js +28 -0
  482. package/dist/Trie.js.map +1 -1
  483. package/dist/Tuple.d.ts +38 -0
  484. package/dist/Tuple.d.ts.map +1 -1
  485. package/dist/Tuple.js +18 -0
  486. package/dist/Tuple.js.map +1 -1
  487. package/dist/TxChunk.d.ts +52 -0
  488. package/dist/TxChunk.d.ts.map +1 -1
  489. package/dist/TxChunk.js +23 -0
  490. package/dist/TxChunk.js.map +1 -1
  491. package/dist/TxDeferred.d.ts +15 -0
  492. package/dist/TxDeferred.d.ts.map +1 -1
  493. package/dist/TxDeferred.js +8 -0
  494. package/dist/TxDeferred.js.map +1 -1
  495. package/dist/TxHashMap.d.ts +83 -0
  496. package/dist/TxHashMap.d.ts.map +1 -1
  497. package/dist/TxHashMap.js +52 -7
  498. package/dist/TxHashMap.js.map +1 -1
  499. package/dist/TxHashSet.d.ts +51 -0
  500. package/dist/TxHashSet.d.ts.map +1 -1
  501. package/dist/TxHashSet.js +29 -4
  502. package/dist/TxHashSet.js.map +1 -1
  503. package/dist/TxPriorityQueue.d.ts +30 -0
  504. package/dist/TxPriorityQueue.d.ts.map +1 -1
  505. package/dist/TxPriorityQueue.js +22 -1
  506. package/dist/TxPriorityQueue.js.map +1 -1
  507. package/dist/TxPubSub.d.ts +25 -0
  508. package/dist/TxPubSub.d.ts.map +1 -1
  509. package/dist/TxPubSub.js +19 -0
  510. package/dist/TxPubSub.js.map +1 -1
  511. package/dist/TxQueue.d.ts +51 -0
  512. package/dist/TxQueue.d.ts.map +1 -1
  513. package/dist/TxQueue.js +30 -0
  514. package/dist/TxQueue.js.map +1 -1
  515. package/dist/TxReentrantLock.d.ts +24 -0
  516. package/dist/TxReentrantLock.d.ts.map +1 -1
  517. package/dist/TxReentrantLock.js +32 -18
  518. package/dist/TxReentrantLock.js.map +1 -1
  519. package/dist/TxRef.d.ts +14 -0
  520. package/dist/TxRef.d.ts.map +1 -1
  521. package/dist/TxRef.js +7 -0
  522. package/dist/TxRef.js.map +1 -1
  523. package/dist/TxSemaphore.d.ts +25 -0
  524. package/dist/TxSemaphore.d.ts.map +1 -1
  525. package/dist/TxSemaphore.js +29 -13
  526. package/dist/TxSemaphore.js.map +1 -1
  527. package/dist/TxSubscriptionRef.d.ts +25 -0
  528. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  529. package/dist/TxSubscriptionRef.js +12 -0
  530. package/dist/TxSubscriptionRef.js.map +1 -1
  531. package/dist/Types.d.ts +36 -0
  532. package/dist/Types.d.ts.map +1 -1
  533. package/dist/Types.js +1 -0
  534. package/dist/UndefinedOr.d.ts +15 -0
  535. package/dist/UndefinedOr.d.ts.map +1 -1
  536. package/dist/UndefinedOr.js +9 -0
  537. package/dist/UndefinedOr.js.map +1 -1
  538. package/dist/Unify.d.ts +15 -0
  539. package/dist/Unify.d.ts.map +1 -1
  540. package/dist/Unify.js +2 -0
  541. package/dist/Unify.js.map +1 -1
  542. package/dist/Utils.d.ts +4 -0
  543. package/dist/Utils.d.ts.map +1 -1
  544. package/dist/Utils.js +1 -0
  545. package/dist/Utils.js.map +1 -1
  546. package/dist/Version.d.ts +26 -0
  547. package/dist/Version.d.ts.map +1 -0
  548. package/dist/Version.js +36 -0
  549. package/dist/Version.js.map +1 -0
  550. package/dist/ai/Chat.js +1 -1
  551. package/dist/ai/Chat.js.map +1 -1
  552. package/dist/ai/DecisionModel.d.ts +22 -0
  553. package/dist/ai/DecisionModel.d.ts.map +1 -1
  554. package/dist/ai/DecisionModel.js +22 -4
  555. package/dist/ai/DecisionModel.js.map +1 -1
  556. package/dist/ai/LanguageModel.d.ts.map +1 -1
  557. package/dist/ai/LanguageModel.js +14 -13
  558. package/dist/ai/LanguageModel.js.map +1 -1
  559. package/dist/ai/McpServer.d.ts +32 -11
  560. package/dist/ai/McpServer.d.ts.map +1 -1
  561. package/dist/ai/McpServer.js +213 -169
  562. package/dist/ai/McpServer.js.map +1 -1
  563. package/dist/ai/Telemetry.d.ts +49 -41
  564. package/dist/ai/Telemetry.d.ts.map +1 -1
  565. package/dist/ai/Telemetry.js +6 -8
  566. package/dist/ai/Telemetry.js.map +1 -1
  567. package/dist/ai/internal/mcpRuntime.js +79 -46
  568. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  569. package/dist/ai/internal/mcpStatefulRuntime.js +1 -0
  570. package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
  571. package/dist/cluster/K8sHttpClient.d.ts.map +1 -1
  572. package/dist/cluster/K8sHttpClient.js +5 -2
  573. package/dist/cluster/K8sHttpClient.js.map +1 -1
  574. package/dist/encoding/Base64.d.ts +4 -0
  575. package/dist/encoding/Base64.d.ts.map +1 -1
  576. package/dist/encoding/Base64.js +4 -0
  577. package/dist/encoding/Base64.js.map +1 -1
  578. package/dist/encoding/Base64Url.d.ts +4 -0
  579. package/dist/encoding/Base64Url.d.ts.map +1 -1
  580. package/dist/encoding/Base64Url.js +4 -0
  581. package/dist/encoding/Base64Url.js.map +1 -1
  582. package/dist/encoding/EncodingError.d.ts +4 -0
  583. package/dist/encoding/EncodingError.d.ts.map +1 -1
  584. package/dist/encoding/EncodingError.js +4 -0
  585. package/dist/encoding/EncodingError.js.map +1 -1
  586. package/dist/encoding/Hex.d.ts +5 -0
  587. package/dist/encoding/Hex.d.ts.map +1 -1
  588. package/dist/encoding/Hex.js +5 -0
  589. package/dist/encoding/Hex.js.map +1 -1
  590. package/dist/encoding/Toml.js +2 -2
  591. package/dist/encoding/Toml.js.map +1 -1
  592. package/dist/encoding/Yaml.d.ts.map +1 -1
  593. package/dist/encoding/Yaml.js +6 -4
  594. package/dist/encoding/Yaml.js.map +1 -1
  595. package/dist/encoding/index.d.ts +4 -0
  596. package/dist/encoding/index.d.ts.map +1 -1
  597. package/dist/encoding/index.js +4 -0
  598. package/dist/encoding/index.js.map +1 -1
  599. package/dist/eventlog/SqlEventJournal.js +8 -4
  600. package/dist/eventlog/SqlEventJournal.js.map +1 -1
  601. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +27 -10
  602. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  603. package/dist/eventlog/SqlEventLogServerUnencrypted.js +49 -7
  604. package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  605. package/dist/http/Headers.d.ts +3 -1
  606. package/dist/http/Headers.d.ts.map +1 -1
  607. package/dist/http/Headers.js +4 -2
  608. package/dist/http/Headers.js.map +1 -1
  609. package/dist/http/HttpClient.d.ts +9 -0
  610. package/dist/http/HttpClient.d.ts.map +1 -1
  611. package/dist/http/HttpClient.js +40 -21
  612. package/dist/http/HttpClient.js.map +1 -1
  613. package/dist/http/HttpClientResponse.js +3 -1
  614. package/dist/http/HttpClientResponse.js.map +1 -1
  615. package/dist/http/HttpEffect.d.ts +3 -0
  616. package/dist/http/HttpEffect.d.ts.map +1 -1
  617. package/dist/http/HttpEffect.js +5 -2
  618. package/dist/http/HttpEffect.js.map +1 -1
  619. package/dist/http/HttpMiddleware.d.ts +17 -0
  620. package/dist/http/HttpMiddleware.d.ts.map +1 -1
  621. package/dist/http/HttpMiddleware.js +56 -39
  622. package/dist/http/HttpMiddleware.js.map +1 -1
  623. package/dist/http/HttpServer.d.ts +1 -1
  624. package/dist/http/HttpServer.d.ts.map +1 -1
  625. package/dist/http/internal/tracing.d.ts +2 -0
  626. package/dist/http/internal/tracing.d.ts.map +1 -0
  627. package/dist/http/internal/tracing.js +37 -0
  628. package/dist/http/internal/tracing.js.map +1 -0
  629. package/dist/http-api/HttpApiBuilder.js +2 -1
  630. package/dist/http-api/HttpApiBuilder.js.map +1 -1
  631. package/dist/http-api/HttpApiClient.d.ts +12 -3
  632. package/dist/http-api/HttpApiClient.d.ts.map +1 -1
  633. package/dist/http-api/HttpApiClient.js.map +1 -1
  634. package/dist/http-api/HttpApiError.d.ts +4 -3
  635. package/dist/http-api/HttpApiError.d.ts.map +1 -1
  636. package/dist/http-api/HttpApiError.js +7 -4
  637. package/dist/http-api/HttpApiError.js.map +1 -1
  638. package/dist/http-api/HttpApiSecurity.d.ts +8 -8
  639. package/dist/http-api/HttpApiSecurity.js +8 -8
  640. package/dist/index.d.ts +155 -0
  641. package/dist/index.d.ts.map +1 -1
  642. package/dist/index.js +155 -0
  643. package/dist/index.js.map +1 -1
  644. package/dist/internal/arbitrary/array.js +3 -3
  645. package/dist/internal/arbitrary/array.js.map +1 -1
  646. package/dist/internal/arbitrary/model.js +26 -11
  647. package/dist/internal/arbitrary/model.js.map +1 -1
  648. package/dist/internal/arbitrary/runner.js +8 -8
  649. package/dist/internal/arbitrary/runner.js.map +1 -1
  650. package/dist/internal/arbitrary/schema.js +4 -5
  651. package/dist/internal/arbitrary/schema.js.map +1 -1
  652. package/dist/internal/effect.js +41 -39
  653. package/dist/internal/effect.js.map +1 -1
  654. package/dist/internal/schedule.js +7 -5
  655. package/dist/internal/schedule.js.map +1 -1
  656. package/dist/internal/schema/standardSchema.js +2 -2
  657. package/dist/internal/schema/standardSchema.js.map +1 -1
  658. package/dist/internal/version.d.ts +2 -0
  659. package/dist/internal/version.d.ts.map +1 -0
  660. package/dist/internal/version.js +3 -0
  661. package/dist/internal/version.js.map +1 -0
  662. package/dist/observability/OtlpExporter.d.ts.map +1 -1
  663. package/dist/observability/OtlpExporter.js +5 -6
  664. package/dist/observability/OtlpExporter.js.map +1 -1
  665. package/dist/observability/OtlpLogger.d.ts.map +1 -1
  666. package/dist/observability/OtlpLogger.js +23 -27
  667. package/dist/observability/OtlpLogger.js.map +1 -1
  668. package/dist/observability/OtlpMetrics.d.ts +5 -3
  669. package/dist/observability/OtlpMetrics.d.ts.map +1 -1
  670. package/dist/observability/OtlpMetrics.js +21 -94
  671. package/dist/observability/OtlpMetrics.js.map +1 -1
  672. package/dist/observability/OtlpResource.d.ts +4 -3
  673. package/dist/observability/OtlpResource.d.ts.map +1 -1
  674. package/dist/observability/OtlpResource.js +20 -23
  675. package/dist/observability/OtlpResource.js.map +1 -1
  676. package/dist/observability/OtlpTracer.d.ts +1 -0
  677. package/dist/observability/OtlpTracer.d.ts.map +1 -1
  678. package/dist/observability/OtlpTracer.js +32 -36
  679. package/dist/observability/OtlpTracer.js.map +1 -1
  680. package/dist/observability/internal/otlpProtobuf.js +32 -1
  681. package/dist/observability/internal/otlpProtobuf.js.map +1 -1
  682. package/dist/reactivity/AsyncResult.d.ts +1 -1
  683. package/dist/reactivity/Atom.d.ts +5 -5
  684. package/dist/reactivity/Atom.d.ts.map +1 -1
  685. package/dist/reactivity/Atom.js +9 -5
  686. package/dist/reactivity/Atom.js.map +1 -1
  687. package/dist/reactivity/AtomHttpApi.d.ts +2 -2
  688. package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
  689. package/dist/reactivity/AtomRegistry.d.ts +8 -0
  690. package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
  691. package/dist/reactivity/AtomRegistry.js.map +1 -1
  692. package/dist/rpc/RpcClient.d.ts +21 -3
  693. package/dist/rpc/RpcClient.d.ts.map +1 -1
  694. package/dist/rpc/RpcClient.js +38 -20
  695. package/dist/rpc/RpcClient.js.map +1 -1
  696. package/dist/rpc/RpcServer.d.ts.map +1 -1
  697. package/dist/rpc/RpcServer.js +18 -21
  698. package/dist/rpc/RpcServer.js.map +1 -1
  699. package/dist/rpc/internal/tracing.d.ts +2 -0
  700. package/dist/rpc/internal/tracing.d.ts.map +1 -0
  701. package/dist/rpc/internal/tracing.js +18 -0
  702. package/dist/rpc/internal/tracing.js.map +1 -0
  703. package/dist/schema/SchemaCompiler/runtime.js +9 -1
  704. package/dist/schema/SchemaCompiler/runtime.js.map +1 -1
  705. package/dist/sql/SqlClient.js +4 -4
  706. package/dist/sql/SqlClient.js.map +1 -1
  707. package/dist/sql/Statement.d.ts +21 -1
  708. package/dist/sql/Statement.d.ts.map +1 -1
  709. package/dist/sql/Statement.js +55 -7
  710. package/dist/sql/Statement.js.map +1 -1
  711. package/dist/testing/TestClock.d.ts +8 -0
  712. package/dist/testing/TestClock.d.ts.map +1 -1
  713. package/dist/testing/TestClock.js +7 -0
  714. package/dist/testing/TestClock.js.map +1 -1
  715. package/dist/testing/TestConsole.d.ts +7 -0
  716. package/dist/testing/TestConsole.d.ts.map +1 -1
  717. package/dist/testing/TestConsole.js +6 -0
  718. package/dist/testing/TestConsole.js.map +1 -1
  719. package/dist/testing/index.d.ts +3 -0
  720. package/dist/testing/index.d.ts.map +1 -1
  721. package/dist/testing/index.js +3 -0
  722. package/dist/testing/index.js.map +1 -1
  723. package/package.json +3 -3
  724. package/src/Array.ts +351 -3
  725. package/src/BigDecimal.ts +88 -0
  726. package/src/BigInt.ts +68 -0
  727. package/src/Boolean.ts +34 -0
  728. package/src/Brand.ts +10 -0
  729. package/src/ByteSize.ts +87 -0
  730. package/src/Cache.ts +50 -8
  731. package/src/Cause.ts +82 -0
  732. package/src/Channel.ts +368 -18
  733. package/src/ChannelSchema.ts +13 -0
  734. package/src/Chunk.ts +193 -0
  735. package/src/Clock.ts +7 -0
  736. package/src/Combiner.ts +10 -0
  737. package/src/Config.ts +82 -8
  738. package/src/ConfigProvider.ts +28 -0
  739. package/src/Console.ts +26 -0
  740. package/src/Context.ts +50 -0
  741. package/src/Cron.ts +32 -1
  742. package/src/Crypto.ts +5 -0
  743. package/src/Data.ts +13 -0
  744. package/src/DateTime.ts +171 -0
  745. package/src/Deferred.ts +51 -0
  746. package/src/Differ.ts +2 -0
  747. package/src/Duration.ts +90 -0
  748. package/src/Effect.ts +539 -5
  749. package/src/Effectable.ts +4 -0
  750. package/src/Equal.ts +12 -1
  751. package/src/Equivalence.ts +22 -0
  752. package/src/ErrorReporter.ts +36 -0
  753. package/src/ExecutionPlan.ts +58 -14
  754. package/src/Exit.ts +40 -0
  755. package/src/Fiber.ts +20 -0
  756. package/src/FiberHandle.ts +29 -4
  757. package/src/FiberMap.ts +38 -0
  758. package/src/FiberSet.ts +21 -0
  759. package/src/FileSystem.ts +16 -0
  760. package/src/Filter.ts +55 -0
  761. package/src/Formatter.ts +42 -1
  762. package/src/Function.ts +30 -0
  763. package/src/Graph.ts +317 -36
  764. package/src/HKT.ts +5 -0
  765. package/src/Hash.ts +15 -0
  766. package/src/HashMap.ts +91 -0
  767. package/src/HashRing.ts +18 -0
  768. package/src/HashSet.ts +53 -0
  769. package/src/Inspectable.ts +8 -0
  770. package/src/Iterable.ts +127 -0
  771. package/src/JsonPatch.ts +5 -0
  772. package/src/JsonPointer.ts +5 -0
  773. package/src/JsonSchema.ts +17 -0
  774. package/src/Latch.ts +14 -0
  775. package/src/Layer.ts +101 -1
  776. package/src/LayerMap.ts +7 -0
  777. package/src/LayerRef.ts +5 -0
  778. package/src/LogLevel.ts +20 -0
  779. package/src/Logger.ts +41 -5
  780. package/src/ManagedRuntime.ts +12 -1
  781. package/src/Match.ts +52 -0
  782. package/src/Metric.ts +69 -0
  783. package/src/MutableHashMap.ts +44 -0
  784. package/src/MutableHashSet.ts +17 -0
  785. package/src/MutableList.ts +21 -0
  786. package/src/MutableRef.ts +32 -0
  787. package/src/Newtype.ts +9 -0
  788. package/src/NonEmptyIterable.ts +4 -0
  789. package/src/Number.ts +61 -0
  790. package/src/Optic.ts +57 -0
  791. package/src/Option.ts +134 -0
  792. package/src/Order.ts +30 -0
  793. package/src/Ordering.ts +7 -0
  794. package/src/PartitionedSemaphore.ts +61 -22
  795. package/src/Path.ts +6 -0
  796. package/src/Pipeable.ts +7 -0
  797. package/src/PlatformError.ts +8 -0
  798. package/src/Pool.ts +20 -1
  799. package/src/Predicate.ts +85 -0
  800. package/src/PrimaryKey.ts +5 -0
  801. package/src/PubSub.ts +90 -9
  802. package/src/Pull.ts +20 -0
  803. package/src/Queue.ts +80 -10
  804. package/src/Random.ts +13 -0
  805. package/src/RcMap.ts +23 -0
  806. package/src/RcRef.ts +6 -0
  807. package/src/Record.ts +100 -0
  808. package/src/Redactable.ts +6 -0
  809. package/src/Redacted.ts +8 -0
  810. package/src/Reducer.ts +4 -0
  811. package/src/Ref.ts +42 -0
  812. package/src/References.ts +21 -0
  813. package/src/RegExp.ts +4 -0
  814. package/src/Request.ts +32 -0
  815. package/src/RequestResolver.ts +59 -10
  816. package/src/Resource.ts +7 -0
  817. package/src/Result.ts +93 -0
  818. package/src/Runtime.ts +10 -0
  819. package/src/Schedule.ts +61 -0
  820. package/src/Scheduler.ts +7 -0
  821. package/src/Schema.ts +499 -4
  822. package/src/SchemaAST.ts +115 -1
  823. package/src/SchemaGetter.ts +80 -4
  824. package/src/SchemaIssue.ts +34 -0
  825. package/src/SchemaParser.ts +26 -0
  826. package/src/SchemaRepresentation.ts +148 -0
  827. package/src/SchemaTransformation.ts +53 -0
  828. package/src/Scope.ts +19 -0
  829. package/src/ScopedCache.ts +55 -3
  830. package/src/ScopedRef.ts +9 -0
  831. package/src/Semaphore.ts +26 -0
  832. package/src/Sink.ts +126 -2
  833. package/src/StandardSchema.ts +1 -0
  834. package/src/Stdio.ts +7 -0
  835. package/src/Stream.ts +622 -15
  836. package/src/String.ts +87 -0
  837. package/src/Struct.ts +46 -0
  838. package/src/SubscriptionRef.ts +65 -0
  839. package/src/Symbol.ts +2 -0
  840. package/src/SynchronizedRef.ts +63 -0
  841. package/src/Take.ts +3 -0
  842. package/src/Terminal.ts +8 -0
  843. package/src/Tracer.ts +23 -0
  844. package/src/Trie.ts +68 -0
  845. package/src/Tuple.ts +38 -0
  846. package/src/TxChunk.ts +52 -0
  847. package/src/TxDeferred.ts +15 -0
  848. package/src/TxHashMap.ts +97 -6
  849. package/src/TxHashSet.ts +83 -3
  850. package/src/TxPriorityQueue.ts +34 -2
  851. package/src/TxPubSub.ts +26 -0
  852. package/src/TxQueue.ts +51 -0
  853. package/src/TxReentrantLock.ts +53 -36
  854. package/src/TxRef.ts +14 -0
  855. package/src/TxSemaphore.ts +47 -31
  856. package/src/TxSubscriptionRef.ts +25 -0
  857. package/src/Types.ts +36 -0
  858. package/src/UndefinedOr.ts +15 -0
  859. package/src/Unify.ts +15 -0
  860. package/src/Utils.ts +4 -0
  861. package/src/Version.ts +38 -0
  862. package/src/ai/Chat.ts +1 -1
  863. package/src/ai/DecisionModel.ts +42 -1
  864. package/src/ai/LanguageModel.ts +16 -19
  865. package/src/ai/McpServer.ts +107 -36
  866. package/src/ai/Telemetry.ts +62 -58
  867. package/src/ai/internal/mcpRuntime.ts +84 -43
  868. package/src/ai/internal/mcpStatefulRuntime.ts +2 -0
  869. package/src/cluster/K8sHttpClient.ts +12 -2
  870. package/src/encoding/Base64.ts +4 -0
  871. package/src/encoding/Base64Url.ts +4 -0
  872. package/src/encoding/EncodingError.ts +5 -0
  873. package/src/encoding/Hex.ts +5 -0
  874. package/src/encoding/Toml.ts +2 -2
  875. package/src/encoding/Yaml.ts +8 -4
  876. package/src/encoding/index.ts +4 -0
  877. package/src/eventlog/SqlEventJournal.ts +18 -4
  878. package/src/eventlog/SqlEventLogServerUnencrypted.ts +282 -235
  879. package/src/http/Headers.ts +8 -2
  880. package/src/http/HttpClient.ts +44 -27
  881. package/src/http/HttpClientResponse.ts +3 -1
  882. package/src/http/HttpEffect.ts +11 -2
  883. package/src/http/HttpMiddleware.ts +60 -45
  884. package/src/http/HttpServer.ts +1 -1
  885. package/src/http/internal/tracing.ts +52 -0
  886. package/src/http-api/HttpApiBuilder.ts +5 -1
  887. package/src/http-api/HttpApiClient.ts +13 -4
  888. package/src/http-api/HttpApiError.ts +8 -4
  889. package/src/http-api/HttpApiSecurity.ts +8 -8
  890. package/src/index.ts +156 -0
  891. package/src/internal/arbitrary/array.ts +3 -3
  892. package/src/internal/arbitrary/model.ts +37 -14
  893. package/src/internal/arbitrary/runner.ts +7 -7
  894. package/src/internal/arbitrary/schema.ts +4 -3
  895. package/src/internal/effect.ts +47 -45
  896. package/src/internal/schedule.ts +23 -17
  897. package/src/internal/schema/standardSchema.ts +2 -2
  898. package/src/internal/version.ts +2 -0
  899. package/src/observability/OtlpExporter.ts +9 -6
  900. package/src/observability/OtlpLogger.ts +20 -21
  901. package/src/observability/OtlpMetrics.ts +34 -93
  902. package/src/observability/OtlpResource.ts +18 -27
  903. package/src/observability/OtlpTracer.ts +34 -40
  904. package/src/observability/internal/otlpProtobuf.ts +60 -0
  905. package/src/reactivity/AsyncResult.ts +1 -1
  906. package/src/reactivity/Atom.ts +10 -6
  907. package/src/reactivity/AtomHttpApi.ts +2 -4
  908. package/src/reactivity/AtomRegistry.ts +7 -0
  909. package/src/rpc/RpcClient.ts +48 -24
  910. package/src/rpc/RpcServer.ts +26 -24
  911. package/src/rpc/internal/tracing.ts +22 -0
  912. package/src/schema/SchemaCompiler/runtime.ts +4 -1
  913. package/src/sql/SqlClient.ts +4 -4
  914. package/src/sql/Statement.ts +59 -7
  915. package/src/testing/TestClock.ts +9 -0
  916. package/src/testing/TestConsole.ts +8 -0
  917. package/src/testing/index.ts +3 -0
package/src/PubSub.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  * subscribers, message-taking helpers, capacity and shutdown operations, a
9
9
  * type guard, and low-level types for custom hub strategies.
10
10
  *
11
+ * @stability stable
11
12
  * @since 2.0.0
12
13
  */
13
14
  import * as Arr from "./Array.ts"
@@ -60,6 +61,7 @@ const TypeId = "~effect/PubSub"
60
61
  * actual // => ["Hello", "World"]
61
62
  * ```
62
63
  *
64
+ * @stability stable
63
65
  * @category models
64
66
  * @since 2.0.0
65
67
  */
@@ -81,6 +83,7 @@ export interface PubSub<in out A> extends Pipeable {
81
83
  * `PubSub`, including atomic implementations, backing subscriptions, replay
82
84
  * windows, and delivery strategies.
83
85
  *
86
+ * @stability stable
84
87
  * @since 2.0.0
85
88
  */
86
89
  export declare namespace PubSub {
@@ -162,12 +165,18 @@ export declare namespace PubSub {
162
165
  /**
163
166
  * Describes how publishers should signal to subscribers that they are
164
167
  * waiting for space to become available in the `PubSub`.
168
+ *
169
+ * **Details**
170
+ *
171
+ * The publisher may have yielded since `publish` checked `ended`, so it
172
+ * must be checked again before registering or publishing the surplus.
165
173
  */
166
174
  handleSurplus(
167
175
  pubsub: Atomic<A>,
168
176
  subscribers: Subscribers<A>,
169
177
  elements: Iterable<A>,
170
- isShutdown: MutableRef.MutableRef<boolean>
178
+ isShutdown: MutableRef.MutableRef<boolean>,
179
+ ended: MutableRef.MutableRef<Option.Option<A>>
171
180
  ): Effect.Effect<boolean>
172
181
 
173
182
  /**
@@ -223,6 +232,7 @@ export declare namespace PubSub {
223
232
  * actual // => [true, false, false]
224
233
  * ```
225
234
  *
235
+ * @stability stable
226
236
  * @category guards
227
237
  * @since 4.0.0
228
238
  */
@@ -259,6 +269,7 @@ const SubscriptionTypeId = "~effect/PubSub/Subscription"
259
269
  * actual // => { message: "msg1", messages: ["msg2"], allMessages: ["msg3"] }
260
270
  * ```
261
271
  *
272
+ * @stability stable
262
273
  * @category models
263
274
  * @since 4.0.0
264
275
  */
@@ -302,6 +313,7 @@ export interface Subscription<out A> extends Pipeable {
302
313
  * actual // => true
303
314
  * ```
304
315
  *
316
+ * @stability stable
305
317
  * @category constructors
306
318
  * @since 4.0.0
307
319
  */
@@ -333,6 +345,8 @@ export const make = <A>(
333
345
  * them. When the capacity is full, publishers suspend until space is available.
334
346
  * Pass an options object to configure both `capacity` and an optional replay
335
347
  * buffer for late subscribers.
348
+ * The capacity must be a positive integer or `Infinity` for unbounded storage.
349
+ * Invalid capacities cause the effect to die.
336
350
  *
337
351
  * **Example** (Creating a bounded PubSub)
338
352
  *
@@ -359,6 +373,7 @@ export const make = <A>(
359
373
  * actual // => [100, 100]
360
374
  * ```
361
375
  *
376
+ * @stability stable
362
377
  * @category constructors
363
378
  * @since 2.0.0
364
379
  */
@@ -379,6 +394,8 @@ export const bounded = <A>(
379
394
  *
380
395
  * **Details**
381
396
  *
397
+ * The capacity must be a positive integer or `Infinity` for unbounded storage.
398
+ * Invalid capacities cause the effect to die.
382
399
  * For best performance use capacities that are powers of two.
383
400
  *
384
401
  * **Example** (Dropping messages when full)
@@ -406,6 +423,7 @@ export const bounded = <A>(
406
423
  * actual // => { dropped: true, messages: ["msg1", "msg2", "msg3"] }
407
424
  * ```
408
425
  *
426
+ * @stability stable
409
427
  * @category constructors
410
428
  * @since 2.0.0
411
429
  */
@@ -426,6 +444,8 @@ export const dropping = <A>(
426
444
  *
427
445
  * **Details**
428
446
  *
447
+ * The capacity must be a positive integer or `Infinity` for unbounded storage.
448
+ * Invalid capacities cause the effect to die.
429
449
  * For best performance use capacities that are powers of two.
430
450
  *
431
451
  * **Example** (Sliding old messages when full)
@@ -452,6 +472,7 @@ export const dropping = <A>(
452
472
  * actual // => ["msg2", "msg3", "msg4"]
453
473
  * ```
454
474
  *
475
+ * @stability stable
455
476
  * @category constructors
456
477
  * @since 2.0.0
457
478
  */
@@ -492,6 +513,7 @@ export const sliding = <A>(
492
513
  * actual // => ["message-0", "message-1", "message-2"]
493
514
  * ```
494
515
  *
516
+ * @stability stable
495
517
  * @category constructors
496
518
  * @since 2.0.0
497
519
  */
@@ -519,8 +541,9 @@ export const unbounded = <A>(options?: {
519
541
  *
520
542
  * **Gotchas**
521
543
  *
522
- * The capacity must be greater than zero; invalid capacities throw
523
- * synchronously before an atomic implementation is created.
544
+ * The capacity must be a positive integer or `Infinity` for unbounded storage;
545
+ * invalid capacities throw synchronously before an atomic implementation is
546
+ * created.
524
547
  *
525
548
  * @see {@link make} for constructing a `PubSub` from an atomic implementation and delivery strategy
526
549
  * @see {@link makeAtomicUnbounded} for an atomic implementation without a bounded capacity
@@ -528,6 +551,7 @@ export const unbounded = <A>(options?: {
528
551
  * @see {@link dropping} for the higher-level dropping constructor
529
552
  * @see {@link sliding} for the higher-level sliding constructor
530
553
  *
554
+ * @stability stable
531
555
  * @category constructors
532
556
  * @since 4.0.0
533
557
  */
@@ -569,6 +593,7 @@ export const makeAtomicBounded = <A>(
569
593
  * @see {@link make} for wrapping an atomic implementation with a delivery strategy
570
594
  * @see {@link unbounded} for the high-level effectful constructor for unbounded `PubSub` values
571
595
  *
596
+ * @stability stable
572
597
  * @category constructors
573
598
  * @since 4.0.0
574
599
  */
@@ -599,6 +624,7 @@ export const makeAtomicUnbounded = <A>(options?: {
599
624
  * actual // => [100, Number.MAX_SAFE_INTEGER]
600
625
  * ```
601
626
  *
627
+ * @stability stable
602
628
  * @category getters
603
629
  * @since 2.0.0
604
630
  */
@@ -639,6 +665,7 @@ export const capacity = <A>(self: PubSub<A>): number => self.pubsub.capacity
639
665
  * actual // => { initialSize: 0, afterPublish: 2, messages: ["msg1", "msg2"] }
640
666
  * ```
641
667
  *
668
+ * @stability stable
642
669
  * @category getters
643
670
  * @since 2.0.0
644
671
  */
@@ -671,6 +698,7 @@ export const size = <A>(self: PubSub<A>): Effect.Effect<number> => Effect.sync((
671
698
  * actual // => 0
672
699
  * ```
673
700
  *
701
+ * @stability stable
674
702
  * @category getters
675
703
  * @since 4.0.0
676
704
  */
@@ -714,6 +742,7 @@ export const sizeUnsafe = <A>(self: PubSub<A>): number => {
714
742
  * actual // => { initiallyFull: false, nowFull: true, messages: ["msg1", "msg2"] }
715
743
  * ```
716
744
  *
745
+ * @stability stable
717
746
  * @category predicates
718
747
  * @since 2.0.0
719
748
  */
@@ -748,6 +777,7 @@ export const isFull = <A>(self: PubSub<A>): Effect.Effect<boolean> =>
748
777
  * actual // => { initiallyEmpty: true, nowEmpty: false, message: "Hello" }
749
778
  * ```
750
779
  *
780
+ * @stability stable
751
781
  * @category predicates
752
782
  * @since 2.0.0
753
783
  */
@@ -785,6 +815,7 @@ export const isEmpty = <A>(self: PubSub<A>): Effect.Effect<boolean> => Effect.ma
785
815
  * actual // => { isShutdown: true, published: false }
786
816
  * ```
787
817
  *
818
+ * @stability stable
788
819
  * @category lifecycle
789
820
  * @since 2.0.0
790
821
  */
@@ -855,6 +886,7 @@ export const shutdown = <A>(self: PubSub<A>): Effect.Effect<void> =>
855
886
  *
856
887
  * @see {@link shutdown} for interrupting subscribers instead of delivering a final message
857
888
  *
889
+ * @stability stable
858
890
  * @category lifecycle
859
891
  * @since 4.0.0
860
892
  */
@@ -916,6 +948,7 @@ export const end: {
916
948
  *
917
949
  * @see {@link shutdown} for interrupting subscribers instead of delivering a final message
918
950
  *
951
+ * @stability stable
919
952
  * @category lifecycle
920
953
  * @since 4.0.0
921
954
  */
@@ -977,6 +1010,7 @@ export const end: {
977
1010
  *
978
1011
  * @see {@link shutdown} for interrupting subscribers instead of delivering a final message
979
1012
  *
1013
+ * @stability stable
980
1014
  * @category lifecycle
981
1015
  * @since 4.0.0
982
1016
  */
@@ -990,6 +1024,7 @@ export const end: {
990
1024
  *
991
1025
  * See {@link end} for the semantics.
992
1026
  *
1027
+ * @stability stable
993
1028
  * @category lifecycle
994
1029
  * @since 4.0.0
995
1030
  */
@@ -1001,6 +1036,7 @@ export const endUnsafe: {
1001
1036
  *
1002
1037
  * See {@link end} for the semantics.
1003
1038
  *
1039
+ * @stability stable
1004
1040
  * @category lifecycle
1005
1041
  * @since 4.0.0
1006
1042
  */
@@ -1012,6 +1048,7 @@ export const endUnsafe: {
1012
1048
  *
1013
1049
  * See {@link end} for the semantics.
1014
1050
  *
1051
+ * @stability stable
1015
1052
  * @category lifecycle
1016
1053
  * @since 4.0.0
1017
1054
  */
@@ -1065,6 +1102,7 @@ export const endUnsafe: {
1065
1102
  * actual // => [false, true]
1066
1103
  * ```
1067
1104
  *
1105
+ * @stability stable
1068
1106
  * @category predicates
1069
1107
  * @since 2.0.0
1070
1108
  */
@@ -1095,6 +1133,7 @@ export const isShutdown = <A>(self: PubSub<A>): Effect.Effect<boolean> => Effect
1095
1133
  * actual // => [false, true]
1096
1134
  * ```
1097
1135
  *
1136
+ * @stability stable
1098
1137
  * @category predicates
1099
1138
  * @since 4.0.0
1100
1139
  */
@@ -1132,6 +1171,7 @@ export const isShutdownUnsafe = <A>(self: PubSub<A>): boolean => self.shutdownFl
1132
1171
  * actual // => "PubSub has been shutdown!"
1133
1172
  * ```
1134
1173
  *
1174
+ * @stability stable
1135
1175
  * @category lifecycle
1136
1176
  * @since 2.0.0
1137
1177
  */
@@ -1176,6 +1216,7 @@ export const awaitShutdown = <A>(self: PubSub<A>): Effect.Effect<void> => self.s
1176
1216
  *
1177
1217
  * @see {@link publishUnsafe} for a synchronous non-blocking attempt that does not run effectful surplus handling
1178
1218
  *
1219
+ * @stability stable
1179
1220
  * @category publishing
1180
1221
  * @since 2.0.0
1181
1222
  */
@@ -1219,6 +1260,7 @@ export const publish: {
1219
1260
  *
1220
1261
  * @see {@link publishUnsafe} for a synchronous non-blocking attempt that does not run effectful surplus handling
1221
1262
  *
1263
+ * @stability stable
1222
1264
  * @category publishing
1223
1265
  * @since 2.0.0
1224
1266
  */
@@ -1262,6 +1304,7 @@ export const publish: {
1262
1304
  *
1263
1305
  * @see {@link publishUnsafe} for a synchronous non-blocking attempt that does not run effectful surplus handling
1264
1306
  *
1307
+ * @stability stable
1265
1308
  * @category publishing
1266
1309
  * @since 2.0.0
1267
1310
  */
@@ -1281,7 +1324,8 @@ export const publish: {
1281
1324
  self.pubsub,
1282
1325
  self.subscribers,
1283
1326
  [value],
1284
- self.shutdownFlag
1327
+ self.shutdownFlag,
1328
+ self.ended
1285
1329
  )
1286
1330
  }))
1287
1331
 
@@ -1316,6 +1360,7 @@ export const publish: {
1316
1360
  *
1317
1361
  * @see {@link publish} for effectful publishing that honors the configured surplus strategy
1318
1362
  *
1363
+ * @stability stable
1319
1364
  * @category publishing
1320
1365
  * @since 4.0.0
1321
1366
  */
@@ -1351,6 +1396,7 @@ export const publishUnsafe: {
1351
1396
  *
1352
1397
  * @see {@link publish} for effectful publishing that honors the configured surplus strategy
1353
1398
  *
1399
+ * @stability stable
1354
1400
  * @category publishing
1355
1401
  * @since 4.0.0
1356
1402
  */
@@ -1386,6 +1432,7 @@ export const publishUnsafe: {
1386
1432
  *
1387
1433
  * @see {@link publish} for effectful publishing that honors the configured surplus strategy
1388
1434
  *
1435
+ * @stability stable
1389
1436
  * @category publishing
1390
1437
  * @since 4.0.0
1391
1438
  */
@@ -1431,6 +1478,7 @@ export const publishUnsafe: {
1431
1478
  * actual // => { allPublished: true, firstBatch: ["msg1", "msg2"], result: true, secondBatch: ["msg3", "msg4"] }
1432
1479
  * ```
1433
1480
  *
1481
+ * @stability stable
1434
1482
  * @category publishing
1435
1483
  * @since 2.0.0
1436
1484
  */
@@ -1467,6 +1515,7 @@ export const publishAll: {
1467
1515
  * actual // => { allPublished: true, firstBatch: ["msg1", "msg2"], result: true, secondBatch: ["msg3", "msg4"] }
1468
1516
  * ```
1469
1517
  *
1518
+ * @stability stable
1470
1519
  * @category publishing
1471
1520
  * @since 2.0.0
1472
1521
  */
@@ -1503,6 +1552,7 @@ export const publishAll: {
1503
1552
  * actual // => { allPublished: true, firstBatch: ["msg1", "msg2"], result: true, secondBatch: ["msg3", "msg4"] }
1504
1553
  * ```
1505
1554
  *
1555
+ * @stability stable
1506
1556
  * @category publishing
1507
1557
  * @since 2.0.0
1508
1558
  */
@@ -1521,7 +1571,8 @@ export const publishAll: {
1521
1571
  self.pubsub,
1522
1572
  self.subscribers,
1523
1573
  surplus,
1524
- self.shutdownFlag
1574
+ self.shutdownFlag,
1575
+ self.ended
1525
1576
  )
1526
1577
  }))
1527
1578
 
@@ -1573,6 +1624,7 @@ export const publishAll: {
1573
1624
  * actual // => [["Hello", "World"], ["Broadcast", "Broadcast"]]
1574
1625
  * ```
1575
1626
  *
1627
+ * @stability stable
1576
1628
  * @category subscriptions
1577
1629
  * @since 2.0.0
1578
1630
  */
@@ -1640,6 +1692,7 @@ const unsubscribe = <A>(self: Subscription<A>): Effect.Effect<void> =>
1640
1692
  * actual // => "Hello"
1641
1693
  * ```
1642
1694
  *
1695
+ * @stability stable
1643
1696
  * @category subscriptions
1644
1697
  * @since 4.0.0
1645
1698
  */
@@ -1688,6 +1741,7 @@ export const take = <A>(self: Subscription<A>): Effect.Effect<A> =>
1688
1741
  * actual // => ["msg1", "msg2", "msg3"]
1689
1742
  * ```
1690
1743
  *
1744
+ * @stability stable
1691
1745
  * @category subscriptions
1692
1746
  * @since 4.0.0
1693
1747
  */
@@ -1714,7 +1768,17 @@ export const takeAll = <A>(self: Subscription<A>): Effect.Effect<Arr.NonEmptyArr
1714
1768
  const pollForItem = <A>(self: Subscription<A>) =>
1715
1769
  Effect.callback<A>((resume) => {
1716
1770
  if (self.shutdownFlag.current) return resume(Effect.interrupt)
1717
- if (Option.isSome(self.ended.current)) return resume(Effect.succeed(self.ended.current.value))
1771
+ if (Option.isSome(self.ended.current)) {
1772
+ // Messages may have been published after the empty check, before this callback ran.
1773
+ const message = self.pollers.length === 0
1774
+ ? self.subscription.poll()
1775
+ : MutableList.Empty
1776
+ if (message !== MutableList.Empty) {
1777
+ self.strategy.onPubSubEmptySpaceUnsafe(self.pubsub, self.subscribers)
1778
+ return resume(Effect.succeed(message))
1779
+ }
1780
+ return resume(Effect.succeed(self.ended.current.value))
1781
+ }
1718
1782
  const deferred = Deferred.makeUnsafe<A>()
1719
1783
  let set = self.subscribers.get(self.subscription)
1720
1784
  if (!set) {
@@ -1767,6 +1831,7 @@ const pollForItem = <A>(self: Subscription<A>) =>
1767
1831
  * actual // => [["msg1", "msg2", "msg3"], ["msg4", "msg5"], []]
1768
1832
  * ```
1769
1833
  *
1834
+ * @stability stable
1770
1835
  * @category subscriptions
1771
1836
  * @since 4.0.0
1772
1837
  */
@@ -1804,6 +1869,7 @@ export const takeUpTo: {
1804
1869
  * actual // => [["msg1", "msg2", "msg3"], ["msg4", "msg5"], []]
1805
1870
  * ```
1806
1871
  *
1872
+ * @stability stable
1807
1873
  * @category subscriptions
1808
1874
  * @since 4.0.0
1809
1875
  */
@@ -1841,6 +1907,7 @@ export const takeUpTo: {
1841
1907
  * actual // => [["msg1", "msg2", "msg3"], ["msg4", "msg5"], []]
1842
1908
  * ```
1843
1909
  *
1910
+ * @stability stable
1844
1911
  * @category subscriptions
1845
1912
  * @since 4.0.0
1846
1913
  */
@@ -1893,6 +1960,7 @@ export const takeUpTo: {
1893
1960
  * actual // => ["msg1", "msg2", "msg3"]
1894
1961
  * ```
1895
1962
  *
1963
+ * @stability stable
1896
1964
  * @category subscriptions
1897
1965
  * @since 4.0.0
1898
1966
  */
@@ -1927,6 +1995,7 @@ export const takeBetween: {
1927
1995
  * actual // => ["msg1", "msg2", "msg3"]
1928
1996
  * ```
1929
1997
  *
1998
+ * @stability stable
1930
1999
  * @category subscriptions
1931
2000
  * @since 4.0.0
1932
2001
  */
@@ -1961,6 +2030,7 @@ export const takeBetween: {
1961
2030
  * actual // => ["msg1", "msg2", "msg3"]
1962
2031
  * ```
1963
2032
  *
2033
+ * @stability stable
1964
2034
  * @category subscriptions
1965
2035
  * @since 4.0.0
1966
2036
  */
@@ -2047,6 +2117,7 @@ const takeRemainderLoop = <A>(
2047
2117
  *
2048
2118
  * @see {@link remainingUnsafe} for a synchronous check that reports shutdown as `Option.none()`
2049
2119
  *
2120
+ * @stability stable
2050
2121
  * @category getters
2051
2122
  * @since 4.0.0
2052
2123
  */
@@ -2083,6 +2154,7 @@ export const remaining = <A>(self: Subscription<A>): Effect.Effect<number> =>
2083
2154
  *
2084
2155
  * @see {@link remaining} for the effectful variant that interrupts on shutdown
2085
2156
  *
2157
+ * @stability stable
2086
2158
  * @category getters
2087
2159
  * @since 4.0.0
2088
2160
  */
@@ -2970,7 +3042,7 @@ const makePubSubUnsafe = <A>(
2970
3042
  ): PubSub<A> => new PubSubImpl(pubsub, subscribers, scope, shutdownHook, shutdownFlag, strategy, ended)
2971
3043
 
2972
3044
  const ensureCapacity = (capacity: number): void => {
2973
- if (capacity <= 0) {
3045
+ if (capacity <= 0 || (capacity !== Infinity && !Number.isInteger(capacity))) {
2974
3046
  throw new Error(`Cannot construct PubSub with capacity of ${capacity}`)
2975
3047
  }
2976
3048
  }
@@ -3001,6 +3073,7 @@ const ensureCapacity = (capacity: number): void => {
3001
3073
  * @see {@link DroppingStrategy} for dropping new messages when capacity is full
3002
3074
  * @see {@link SlidingStrategy} for evicting old messages when capacity is full
3003
3075
  *
3076
+ * @stability stable
3004
3077
  * @category models
3005
3078
  * @since 4.0.0
3006
3079
  */
@@ -3023,9 +3096,13 @@ export class BackPressureStrategy<in out A> implements PubSub.Strategy<A> {
3023
3096
  pubsub: PubSub.Atomic<A>,
3024
3097
  subscribers: PubSub.Subscribers<A>,
3025
3098
  elements: Iterable<A>,
3026
- isShutdown: MutableRef.MutableRef<boolean>
3099
+ isShutdown: MutableRef.MutableRef<boolean>,
3100
+ ended: MutableRef.MutableRef<Option.Option<A>>
3027
3101
  ): Effect.Effect<boolean> {
3028
3102
  return Effect.callback<boolean>((resume) => {
3103
+ // The publisher may have yielded since `publish` checked `ended`, and
3104
+ // `end` only rejects publishers that are already registered.
3105
+ if (Option.isSome(ended.current)) return resume(Effect.succeed(false))
3029
3106
  const deferred = Deferred.makeUnsafe<boolean>()
3030
3107
  this.offerUnsafe(elements, deferred)
3031
3108
  this.onPubSubEmptySpaceUnsafe(pubsub, subscribers)
@@ -3142,6 +3219,7 @@ export class BackPressureStrategy<in out A> implements PubSub.Strategy<A> {
3142
3219
  * actual // => { published: [true, true, false], messages: ["msg1", "msg2"] }
3143
3220
  * ```
3144
3221
  *
3222
+ * @stability stable
3145
3223
  * @category models
3146
3224
  * @since 4.0.0
3147
3225
  */
@@ -3225,6 +3303,7 @@ export class DroppingStrategy<in out A> implements PubSub.Strategy<A> {
3225
3303
  * actual // => ["msg3", "msg4"]
3226
3304
  * ```
3227
3305
  *
3306
+ * @stability stable
3228
3307
  * @category models
3229
3308
  * @since 4.0.0
3230
3309
  */
@@ -3237,9 +3316,11 @@ export class SlidingStrategy<in out A> implements PubSub.Strategy<A> {
3237
3316
  pubsub: PubSub.Atomic<A>,
3238
3317
  subscribers: PubSub.Subscribers<A>,
3239
3318
  elements: Iterable<A>,
3240
- _isShutdown: MutableRef.MutableRef<boolean>
3319
+ _isShutdown: MutableRef.MutableRef<boolean>,
3320
+ ended: MutableRef.MutableRef<Option.Option<A>>
3241
3321
  ): Effect.Effect<boolean> {
3242
3322
  return Effect.sync(() => {
3323
+ if (Option.isSome(ended.current)) return false
3243
3324
  this.slidingPublishUnsafe(pubsub, elements)
3244
3325
  this.completeSubscribersUnsafe(pubsub, subscribers)
3245
3326
  return true
package/src/Pull.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  * filtering, catching, converting, and matching done signals separately from
9
9
  * ordinary failures.
10
10
  *
11
+ * @stability stable
11
12
  * @since 4.0.0
12
13
  */
13
14
  import * as Cause from "./Cause.ts"
@@ -34,6 +35,7 @@ import * as Result from "./Result.ts"
34
35
  * consumers can distinguish ordinary failures from end-of-input and carry a
35
36
  * leftover value when needed.
36
37
  *
38
+ * @stability stable
37
39
  * @category models
38
40
  * @since 4.0.0
39
41
  */
@@ -53,6 +55,7 @@ export interface Pull<out A, out E = never, out Done = void, out R = never>
53
55
  * @see {@link Leftover} for extracting the completion leftover type
54
56
  * @see {@link Services} for extracting the required services type instead
55
57
  *
58
+ * @stability stable
56
59
  * @category utility types
57
60
  * @since 4.0.0
58
61
  */
@@ -71,6 +74,7 @@ export type Success<P> = P extends Effect<infer _A, infer _E, infer _R> ? _A : n
71
74
  * @see {@link Services} for extracting the required services type instead
72
75
  * @see {@link ExcludeDone} for excluding `Cause.Done` from an error union
73
76
  *
77
+ * @stability stable
74
78
  * @category utility types
75
79
  * @since 4.0.0
76
80
  */
@@ -90,6 +94,7 @@ export type Error<P> = P extends Effect<infer _A, infer _E, infer _R> ? _E exten
90
94
  * @see {@link Error} for extracting the ordinary failure type, excluding `Cause.Done`
91
95
  * @see {@link Services} for extracting the required services type instead
92
96
  *
97
+ * @stability stable
93
98
  * @category utility types
94
99
  * @since 4.0.0
95
100
  */
@@ -108,6 +113,7 @@ export type Leftover<P> = P extends Effect<infer _A, infer _E, infer _R> ? _E ex
108
113
  * @see {@link Error} for extracting the ordinary failure type
109
114
  * @see {@link Leftover} for extracting the completion leftover type
110
115
  *
116
+ * @stability stable
111
117
  * @category utility types
112
118
  * @since 4.0.0
113
119
  */
@@ -124,6 +130,7 @@ export type Services<P> = P extends Effect<infer _A, infer _E, infer _R> ? _R :
124
130
  * @see {@link Error} for extracting ordinary failures from a `Pull`
125
131
  * @see {@link Leftover} for extracting the completion leftover type
126
132
  *
133
+ * @stability stable
127
134
  * @category utility types
128
135
  * @since 4.0.0
129
136
  */
@@ -151,6 +158,7 @@ export type ExcludeDone<E> = Exclude<E, Cause.Done<any>>
151
158
  * @see {@link matchEffect} for handling success, ordinary failure, and done outcomes explicitly
152
159
  * @see {@link filterDoneLeftover} for extracting a done leftover from an existing `Cause`
153
160
  *
161
+ * @stability stable
154
162
  * @category error handling
155
163
  * @since 4.0.0
156
164
  */
@@ -177,6 +185,7 @@ export const catchDone: {
177
185
  * @see {@link matchEffect} for handling success, ordinary failure, and done outcomes explicitly
178
186
  * @see {@link filterDoneLeftover} for extracting a done leftover from an existing `Cause`
179
187
  *
188
+ * @stability stable
180
189
  * @category error handling
181
190
  * @since 4.0.0
182
191
  */
@@ -205,6 +214,7 @@ export const catchDone: {
205
214
  * @see {@link matchEffect} for handling success, ordinary failure, and done outcomes explicitly
206
215
  * @see {@link filterDoneLeftover} for extracting a done leftover from an existing `Cause`
207
216
  *
217
+ * @stability stable
208
218
  * @category error handling
209
219
  * @since 4.0.0
210
220
  */
@@ -230,6 +240,7 @@ export const catchDone: {
230
240
  * @see {@link filterDone} for extracting the `Cause.Done` value from a `Cause`
231
241
  * @see {@link filterNoDone} for selecting causes with no done failures
232
242
  *
243
+ * @stability stable
233
244
  * @category predicates
234
245
  * @since 4.0.0
235
246
  */
@@ -247,6 +258,7 @@ export const isDoneCause = <E>(cause: Cause.Cause<E>): boolean => cause.reasons.
247
258
  * @see {@link isDoneCause} for checking an entire `Cause` for any done reason
248
259
  * @see {@link filterDone} for extracting the `Cause.Done` value from a `Cause`
249
260
  *
261
+ * @stability stable
250
262
  * @category guards
251
263
  * @since 4.0.0
252
264
  */
@@ -271,6 +283,7 @@ export const isDoneFailure = <E>(
271
283
  * done signal. Without a done signal the `Result` fails with the original
272
284
  * cause.
273
285
  *
286
+ * @stability stable
274
287
  * @category filtering
275
288
  * @since 4.0.0
276
289
  */
@@ -311,6 +324,7 @@ export const filterDone: <E>(
311
324
  * @see {@link filterDoneLeftover} for extracting only the done leftover value
312
325
  * @see {@link filterNoDone} for the inverse filter that succeeds only when no done failure is present
313
326
  *
327
+ * @stability stable
314
328
  * @category filtering
315
329
  * @since 4.0.0
316
330
  */
@@ -334,6 +348,7 @@ export const filterDoneVoid: <E extends Cause.Done>(
334
348
  * @see {@link filterDone} for the inverse typed done filter
335
349
  * @see {@link filterDoneVoid} for done detection when the payload is not needed
336
350
  *
351
+ * @stability stable
337
352
  * @category filtering
338
353
  * @since 4.0.0
339
354
  */
@@ -354,6 +369,7 @@ export const filterNoDone: <E>(
354
369
  * Use to extract only the leftover value carried by a `Cause.Done` completion
355
370
  * signal.
356
371
  *
372
+ * @stability stable
357
373
  * @category filtering
358
374
  * @since 4.0.0
359
375
  */
@@ -383,6 +399,7 @@ export const filterDoneLeftover: <E>(
383
399
  * @see {@link filterDone} for extracting the done signal without converting the cause to an `Exit`
384
400
  * @see {@link matchEffect} for handling `Pull` success, failure, and done outcomes directly
385
401
  *
402
+ * @stability stable
386
403
  * @category converting
387
404
  * @since 4.0.0
388
405
  */
@@ -414,6 +431,7 @@ export const doneExitFromCause = <E>(cause: Cause.Cause<E>): Exit.Exit<Cause.Don
414
431
  * await Effect.runPromise(result) // => "Stream halted with: stream ended"
415
432
  * ```
416
433
  *
434
+ * @stability stable
417
435
  * @category pattern matching
418
436
  * @since 4.0.0
419
437
  */
@@ -441,6 +459,7 @@ export const matchEffect: {
441
459
  * await Effect.runPromise(result) // => "Stream halted with: stream ended"
442
460
  * ```
443
461
  *
462
+ * @stability stable
444
463
  * @category pattern matching
445
464
  * @since 4.0.0
446
465
  */
@@ -474,6 +493,7 @@ export const matchEffect: {
474
493
  * await Effect.runPromise(result) // => "Stream halted with: stream ended"
475
494
  * ```
476
495
  *
496
+ * @stability stable
477
497
  * @category pattern matching
478
498
  * @since 4.0.0
479
499
  */