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/Queue.ts CHANGED
@@ -6,6 +6,7 @@
6
6
  * or unbounded, and bounded queues can suspend, drop, or slide values when
7
7
  * producers are faster than consumers.
8
8
  *
9
+ * @stability stable
9
10
  * @since 3.8.0
10
11
  */
11
12
  import * as Arr from "./Array.ts"
@@ -40,6 +41,7 @@ const DequeueTypeId = "~effect/Queue/Dequeue"
40
41
  * @see {@link isEnqueue} for checking values that only need write access
41
42
  * @see {@link isDequeue} for checking values that only need read access
42
43
  *
44
+ * @stability stable
43
45
  * @category guards
44
46
  * @since 2.0.0
45
47
  */
@@ -64,6 +66,7 @@ export const isQueue = <A = unknown, E = unknown>(
64
66
  * @see {@link isDequeue} for checking for the read side of a queue
65
67
  * @see {@link asEnqueue} for narrowing an existing `Queue` to its write-only interface
66
68
  *
69
+ * @stability stable
67
70
  * @category guards
68
71
  * @since 2.0.0
69
72
  */
@@ -84,6 +87,7 @@ export const isEnqueue = <A = unknown, E = unknown>(
84
87
  * @see {@link isEnqueue} for checking for the write side of a queue
85
88
  * @see {@link asDequeue} for narrowing an existing `Queue` to its read-only interface
86
89
  *
90
+ * @stability stable
87
91
  * @category guards
88
92
  * @since 2.0.0
89
93
  */
@@ -107,6 +111,7 @@ export const isDequeue = <A = unknown, E = unknown>(
107
111
  * @see {@link asDequeue} for exposing only the read side of a `Queue`
108
112
  * @see {@link Enqueue} for the write-only queue handle returned by this conversion
109
113
  *
114
+ * @stability stable
110
115
  * @category converting
111
116
  * @since 4.0.0
112
117
  */
@@ -128,6 +133,7 @@ export const asEnqueue = <A, E>(self: Queue<A, E>): Enqueue<A, E> => self
128
133
  * @see {@link asEnqueue} for narrowing a queue to its producer side
129
134
  * @see {@link Dequeue} for the consumer-side queue handle returned by this function
130
135
  *
136
+ * @stability stable
131
137
  * @category converting
132
138
  * @since 4.0.0
133
139
  */
@@ -162,6 +168,7 @@ export const asDequeue: <A, E>(self: Queue<A, E>) => Dequeue<A, E> = identity
162
168
  * await Effect.runPromise(program) // => ["hello", "world", "!"]
163
169
  * ```
164
170
  *
171
+ * @stability stable
165
172
  * @category models
166
173
  * @since 2.0.0
167
174
  */
@@ -179,6 +186,7 @@ export interface Enqueue<in A, in E = never> extends Inspectable {
179
186
  * Companion namespace containing type-level metadata for the `Enqueue`
180
187
  * write-only queue interface.
181
188
  *
189
+ * @stability stable
182
190
  * @since 2.0.0
183
191
  */
184
192
  export declare namespace Enqueue {
@@ -230,6 +238,7 @@ export declare namespace Enqueue {
230
238
  * await Effect.runPromise(program) // => "a"
231
239
  * ```
232
240
  *
241
+ * @stability stable
233
242
  * @category models
234
243
  * @since 2.0.0
235
244
  */
@@ -247,6 +256,7 @@ export interface Dequeue<out A, out E = never> extends Inspectable {
247
256
  * Companion namespace containing type-level metadata for the `Dequeue`
248
257
  * read-only queue interface.
249
258
  *
259
+ * @stability stable
250
260
  * @since 2.0.0
251
261
  */
252
262
  export declare namespace Dequeue {
@@ -298,6 +308,7 @@ export declare namespace Dequeue {
298
308
  * await Effect.runPromise(program) // => ["hello", "world", "!"]
299
309
  * ```
300
310
  *
311
+ * @stability stable
301
312
  * @category models
302
313
  * @since 2.0.0
303
314
  */
@@ -309,6 +320,7 @@ export interface Queue<in out A, in out E = never> extends Enqueue<A, E>, Dequeu
309
320
  * Companion namespace containing type-level metadata and low-level state types
310
321
  * for `Queue`.
311
322
  *
323
+ * @stability stable
312
324
  * @since 2.0.0
313
325
  */
314
326
  export declare namespace Queue {
@@ -461,6 +473,7 @@ const QueueProto = {
461
473
  * await Effect.runPromise(program) // => { messages: [1, 2, 3, 4, 5], done: Cause.Done(), failed: true }
462
474
  * ```
463
475
  *
476
+ * @stability stable
464
477
  * @category constructors
465
478
  * @since 4.0.0
466
479
  */
@@ -513,6 +526,7 @@ export const make = <A, E = never>(
513
526
  * await Effect.runPromise(program) // => 2
514
527
  * ```
515
528
  *
529
+ * @stability stable
516
530
  * @category constructors
517
531
  * @since 2.0.0
518
532
  */
@@ -550,6 +564,7 @@ export const bounded = <A, E = never>(capacity: number): Effect<Queue<A, E>> =>
550
564
  * await Effect.runPromise(program) // => [2, 3, 4]
551
565
  * ```
552
566
  *
567
+ * @stability stable
553
568
  * @category constructors
554
569
  * @since 2.0.0
555
570
  */
@@ -586,6 +601,7 @@ export const sliding = <A, E = never>(capacity: number): Effect<Queue<A, E>> =>
586
601
  * await Effect.runPromise(program) // => [true, true, false, [1, 2]]
587
602
  * ```
588
603
  *
604
+ * @stability stable
589
605
  * @category constructors
590
606
  * @since 2.0.0
591
607
  */
@@ -624,6 +640,7 @@ export const dropping = <A, E = never>(capacity: number): Effect<Queue<A, E>> =>
624
640
  * await Effect.runPromise(program) // => { size: 5, messages: ["message1", "message2", "message3", "message4", "message5"] }
625
641
  * ```
626
642
  *
643
+ * @stability stable
627
644
  * @category constructors
628
645
  * @since 2.0.0
629
646
  */
@@ -658,6 +675,7 @@ export const unbounded = <A, E = never>(): Effect<Queue<A, E>> => make()
658
675
  * await Effect.runPromise(program) // => { offered: [true, true], size: 2 }
659
676
  * ```
660
677
  *
678
+ * @stability stable
661
679
  * @category offering
662
680
  * @since 2.0.0
663
681
  */
@@ -691,6 +709,7 @@ export const offer: {
691
709
  * await Effect.runPromise(program) // => { offered: [true, true], size: 2 }
692
710
  * ```
693
711
  *
712
+ * @stability stable
694
713
  * @category offering
695
714
  * @since 2.0.0
696
715
  */
@@ -724,6 +743,7 @@ export const offer: {
724
743
  * await Effect.runPromise(program) // => { offered: [true, true], size: 2 }
725
744
  * ```
726
745
  *
746
+ * @stability stable
727
747
  * @category offering
728
748
  * @since 2.0.0
729
749
  */
@@ -774,6 +794,7 @@ export const offer: {
774
794
  * await Effect.runPromise(program) // => { offered: [true, true], size: 2 }
775
795
  * ```
776
796
  *
797
+ * @stability stable
777
798
  * @category offering
778
799
  * @since 4.0.0
779
800
  */
@@ -828,6 +849,7 @@ export const offerUnsafe = <A, E>(self: Enqueue<A, E>, message: Types.NoInfer<A>
828
849
  * await Effect.runPromise(program) // => [4, 5]
829
850
  * ```
830
851
  *
852
+ * @stability stable
831
853
  * @category offering
832
854
  * @since 2.0.0
833
855
  */
@@ -863,6 +885,7 @@ export const offerAll: {
863
885
  * await Effect.runPromise(program) // => [4, 5]
864
886
  * ```
865
887
  *
888
+ * @stability stable
866
889
  * @category offering
867
890
  * @since 2.0.0
868
891
  */
@@ -898,6 +921,7 @@ export const offerAll: {
898
921
  * await Effect.runPromise(program) // => [4, 5]
899
922
  * ```
900
923
  *
924
+ * @stability stable
901
925
  * @category offering
902
926
  * @since 2.0.0
903
927
  */
@@ -936,6 +960,7 @@ export const offerAll: {
936
960
  * await Effect.runPromise(program) // => [4, 5]
937
961
  * ```
938
962
  *
963
+ * @stability stable
939
964
  * @category offering
940
965
  * @since 2.0.0
941
966
  */
@@ -980,6 +1005,7 @@ export const offerAll: {
980
1005
  * await Effect.runPromise(program) // => { remaining: [4, 5], size: 3 }
981
1006
  * ```
982
1007
  *
1008
+ * @stability stable
983
1009
  * @category offering
984
1010
  * @since 4.0.0
985
1011
  */
@@ -1040,6 +1066,7 @@ export const offerAllUnsafe = <A, E>(self: Enqueue<A, E>, messages: Iterable<A>)
1040
1066
  * await Effect.runPromise(program) // => [true, Exit.fail("Something went wrong")]
1041
1067
  * ```
1042
1068
  *
1069
+ * @stability stable
1043
1070
  * @category completion
1044
1071
  * @since 4.0.0
1045
1072
  */
@@ -1067,6 +1094,7 @@ export const fail: {
1067
1094
  * await Effect.runPromise(program) // => [true, Exit.fail("Something went wrong")]
1068
1095
  * ```
1069
1096
  *
1097
+ * @stability stable
1070
1098
  * @category completion
1071
1099
  * @since 4.0.0
1072
1100
  */
@@ -1094,6 +1122,7 @@ export const fail: {
1094
1122
  * await Effect.runPromise(program) // => [true, Exit.fail("Something went wrong")]
1095
1123
  * ```
1096
1124
  *
1125
+ * @stability stable
1097
1126
  * @category completion
1098
1127
  * @since 4.0.0
1099
1128
  */
@@ -1124,6 +1153,7 @@ export const fail: {
1124
1153
  * await Effect.runPromise(program) // => [true, Exit.failCause(Cause.fail("Queue processing failed"))]
1125
1154
  * ```
1126
1155
  *
1156
+ * @stability stable
1127
1157
  * @category completion
1128
1158
  * @since 4.0.0
1129
1159
  */
@@ -1152,6 +1182,7 @@ export const failCause: {
1152
1182
  * await Effect.runPromise(program) // => [true, Exit.failCause(Cause.fail("Queue processing failed"))]
1153
1183
  * ```
1154
1184
  *
1185
+ * @stability stable
1155
1186
  * @category completion
1156
1187
  * @since 4.0.0
1157
1188
  */
@@ -1180,6 +1211,7 @@ export const failCause: {
1180
1211
  * await Effect.runPromise(program) // => [true, Exit.failCause(Cause.fail("Queue processing failed"))]
1181
1212
  * ```
1182
1213
  *
1214
+ * @stability stable
1183
1215
  * @category completion
1184
1216
  * @since 4.0.0
1185
1217
  */
@@ -1223,6 +1255,7 @@ export const failCause: {
1223
1255
  * await Effect.runPromise(program) // => [true, Exit.failCause(Cause.fail("Processing error"))]
1224
1256
  * ```
1225
1257
  *
1258
+ * @stability stable
1226
1259
  * @category completion
1227
1260
  * @since 4.0.0
1228
1261
  */
@@ -1283,6 +1316,7 @@ export const failCauseUnsafe = <A, E>(self: Enqueue<A, E>, cause: Cause<E>): boo
1283
1316
  * await Effect.runPromise(program) // => [true, false, 1]
1284
1317
  * ```
1285
1318
  *
1319
+ * @stability stable
1286
1320
  * @category completion
1287
1321
  * @since 4.0.0
1288
1322
  */
@@ -1334,6 +1368,7 @@ export const end = <A, E>(self: Enqueue<A, E | Done>): Effect<boolean> => failCa
1334
1368
  * await Effect.runPromise(program) // => { ended: true, states: ["Closing", "Done"] }
1335
1369
  * ```
1336
1370
  *
1371
+ * @stability stable
1337
1372
  * @category completion
1338
1373
  * @since 4.0.0
1339
1374
  */
@@ -1378,6 +1413,7 @@ export const endUnsafe = <A, E>(self: Enqueue<A, E | Done>) => failCauseUnsafe(s
1378
1413
  * await Effect.runPromise(program) // => { interrupted: true, offerResult: false, messages: [1, 2], isDone: true }
1379
1414
  * ```
1380
1415
  *
1416
+ * @stability stable
1381
1417
  * @category completion
1382
1418
  * @since 4.0.0
1383
1419
  */
@@ -1417,6 +1453,7 @@ export const interrupt = <A, E>(self: Enqueue<A, E>): Effect<boolean> =>
1417
1453
  * ```
1418
1454
  *
1419
1455
  * @see {@link shutdownUnsafe} for synchronous shutdown
1456
+ * @stability stable
1420
1457
  * @category completion
1421
1458
  * @since 2.0.0
1422
1459
  */
@@ -1440,6 +1477,7 @@ export const shutdown = <A, E>(self: Enqueue<A, E>): Effect<boolean> => internal
1440
1477
  *
1441
1478
  * @see {@link shutdown} for the effectful variant
1442
1479
  * @see {@link failCauseUnsafe} to set a failure before discarding buffered messages
1480
+ * @stability stable
1443
1481
  * @category completion
1444
1482
  * @since 4.0.0
1445
1483
  */
@@ -1489,16 +1527,14 @@ export const shutdownUnsafe = <A, E>(self: Enqueue<A, E>): boolean => {
1489
1527
  * await Effect.runPromise(program) // => { messages: [1, 2, 3, 4, 5], size: 0, empty: [] }
1490
1528
  * ```
1491
1529
  *
1530
+ * @stability stable
1492
1531
  * @category taking
1493
1532
  * @since 4.0.0
1494
1533
  */
1495
1534
  export const clear = <A, E>(self: Dequeue<A, E>): Effect<Array<A>, Pull.ExcludeDone<E>> =>
1496
- internalEffect.suspend(() => {
1535
+ suspendTake(() => {
1497
1536
  if (self.state._tag === "Done") {
1498
- if (Pull.isDoneCause(self.state.exit.cause)) {
1499
- return internalEffect.succeed([])
1500
- }
1501
- return self.state.exit
1537
+ return Pull.catchDone(self.state.exit, () => internalEffect.succeed([]))
1502
1538
  }
1503
1539
  const messages = takeAllUnsafe(self)
1504
1540
  releaseCapacity(self)
@@ -1538,6 +1574,7 @@ export const clear = <A, E>(self: Dequeue<A, E>): Effect<Array<A>, Pull.ExcludeD
1538
1574
  * await Effect.runPromise(program) // => [1, 2, 3, 4, 5]
1539
1575
  * ```
1540
1576
  *
1577
+ * @stability stable
1541
1578
  * @category taking
1542
1579
  * @since 2.0.0
1543
1580
  */
@@ -1566,6 +1603,7 @@ export const takeAll = <A, E>(self: Dequeue<A, E>): Effect<Arr.NonEmptyArray<A>,
1566
1603
  * await Effect.runPromise(program) // => [1, 2, 3, 4, 5]
1567
1604
  * ```
1568
1605
  *
1606
+ * @stability stable
1569
1607
  * @category taking
1570
1608
  * @since 4.0.0
1571
1609
  */
@@ -1626,6 +1664,7 @@ export const collect = <A, E>(self: Dequeue<A, E | Done>): Effect<Array<A>, Pull
1626
1664
  * await Effect.runPromise(program) // => [[1, 2, 3], [4, 5], [6, 7]]
1627
1665
  * ```
1628
1666
  *
1667
+ * @stability stable
1629
1668
  * @category taking
1630
1669
  * @since 2.0.0
1631
1670
  */
@@ -1667,6 +1706,7 @@ export const takeN: {
1667
1706
  * await Effect.runPromise(program) // => [[1, 2, 3], [4, 5], [6, 7]]
1668
1707
  * ```
1669
1708
  *
1709
+ * @stability stable
1670
1710
  * @category taking
1671
1711
  * @since 2.0.0
1672
1712
  */
@@ -1708,6 +1748,7 @@ export const takeN: {
1708
1748
  * await Effect.runPromise(program) // => [[1, 2, 3], [4, 5], [6, 7]]
1709
1749
  * ```
1710
1750
  *
1751
+ * @stability stable
1711
1752
  * @category taking
1712
1753
  * @since 2.0.0
1713
1754
  */
@@ -1751,6 +1792,7 @@ export const takeN: {
1751
1792
  * await Effect.runPromise(program) // => [[1, 2, 3, 4, 5], [6, 7, 8]]
1752
1793
  * ```
1753
1794
  *
1795
+ * @stability stable
1754
1796
  * @category taking
1755
1797
  * @since 2.0.0
1756
1798
  */
@@ -1792,6 +1834,7 @@ export const takeBetween: {
1792
1834
  * await Effect.runPromise(program) // => [[1, 2, 3, 4, 5], [6, 7, 8]]
1793
1835
  * ```
1794
1836
  *
1837
+ * @stability stable
1795
1838
  * @category taking
1796
1839
  * @since 2.0.0
1797
1840
  */
@@ -1833,6 +1876,7 @@ export const takeBetween: {
1833
1876
  * await Effect.runPromise(program) // => [[1, 2, 3, 4, 5], [6, 7, 8]]
1834
1877
  * ```
1835
1878
  *
1879
+ * @stability stable
1836
1880
  * @category taking
1837
1881
  * @since 2.0.0
1838
1882
  */
@@ -1840,7 +1884,7 @@ export const takeBetween: {
1840
1884
  } = dual(3, <A, E>(self: Dequeue<A, E>, min: number, max: number): Effect<Array<A>, E> => {
1841
1885
  min = Count.normalize(min)
1842
1886
  max = Count.normalize(max)
1843
- return internalEffect.suspend(() =>
1887
+ return suspendTake(() =>
1844
1888
  takeBetweenUnsafe(self, min, max) ??
1845
1889
  internalEffect.andThen(awaitTake(self, () => canTake(self, min)), takeBetween(self, min, max))
1846
1890
  )
@@ -1882,13 +1926,12 @@ export const takeBetween: {
1882
1926
  * await Effect.runPromise(program) // => [["first", "second"], Exit.fail(Cause.Done())]
1883
1927
  * ```
1884
1928
  *
1929
+ * @stability stable
1885
1930
  * @category taking
1886
1931
  * @since 2.0.0
1887
1932
  */
1888
1933
  export const take = <A, E>(self: Dequeue<A, E>): Effect<A, E> =>
1889
- internalEffect.suspend(() =>
1890
- takeUnsafe(self) ?? internalEffect.andThen(awaitTake(self, () => canTake(self, 1)), take(self))
1891
- )
1934
+ suspendTake(() => takeUnsafe(self) ?? internalEffect.andThen(awaitTake(self, () => canTake(self, 1)), take(self)))
1892
1935
 
1893
1936
  /**
1894
1937
  * Attempts to take one item from the queue without waiting.
@@ -1921,11 +1964,12 @@ export const take = <A, E>(self: Dequeue<A, E>): Effect<A, E> =>
1921
1964
  * await Effect.runPromise(program) // => [Option.none(), Option.some(42)]
1922
1965
  * ```
1923
1966
  *
1967
+ * @stability stable
1924
1968
  * @category taking
1925
1969
  * @since 2.0.0
1926
1970
  */
1927
1971
  export const poll = <A, E>(self: Dequeue<A, E>): Effect<Option.Option<A>> =>
1928
- internalEffect.suspend(() => {
1972
+ suspendTake(() => {
1929
1973
  const result = takeUnsafe(self)
1930
1974
  if (result === undefined) {
1931
1975
  return internalEffect.succeed(Option.none())
@@ -1960,6 +2004,7 @@ export const poll = <A, E>(self: Dequeue<A, E>): Effect<Option.Option<A>> =>
1960
2004
  * await Effect.runPromise(program) // => 42
1961
2005
  * ```
1962
2006
  *
2007
+ * @stability stable
1963
2008
  * @category taking
1964
2009
  * @since 4.0.0
1965
2010
  */
@@ -2015,6 +2060,7 @@ export const peek = <A, E>(self: Dequeue<A, E>): Effect<A, E> =>
2015
2060
  * await Effect.runPromise(program) // => [Exit.succeed(1), Exit.succeed(2), undefined]
2016
2061
  * ```
2017
2062
  *
2063
+ * @stability stable
2018
2064
  * @category taking
2019
2065
  * @since 4.0.0
2020
2066
  */
@@ -2067,6 +2113,7 @@ export const takeUnsafe = <A, E>(self: Dequeue<A, E>): Exit<A, E> | undefined =>
2067
2113
  * await Effect.runPromise(program) // => 1
2068
2114
  * ```
2069
2115
  *
2116
+ * @stability stable
2070
2117
  * @category offering
2071
2118
  * @since 4.0.0
2072
2119
  */
@@ -2105,6 +2152,7 @@ export const flushUnsafe = <A, E>(self: Enqueue<A, E>): void => releaseTakers(se
2105
2152
  * await Effect.runPromise(program) // => 1
2106
2153
  * ```
2107
2154
  *
2155
+ * @stability stable
2108
2156
  * @category offering
2109
2157
  * @since 4.0.0
2110
2158
  */
@@ -2150,6 +2198,7 @@ export {
2150
2198
  * @see {@link interrupt} for graceful interruption after buffered messages are drained
2151
2199
  * @see {@link shutdown} for immediately discarding buffered messages and resuming pending operations
2152
2200
  *
2201
+ * @stability stable
2153
2202
  * @category completion
2154
2203
  * @since 4.0.0
2155
2204
  */
@@ -2193,6 +2242,7 @@ export {
2193
2242
  * await Effect.runPromise(program) // => [0, 5, 5]
2194
2243
  * ```
2195
2244
  *
2245
+ * @stability stable
2196
2246
  * @category sizes
2197
2247
  * @since 2.0.0
2198
2248
  */
@@ -2221,6 +2271,7 @@ export const size = <A, E>(self: Dequeue<A, E>): Effect<number> => internalEffec
2221
2271
  * await Effect.runPromise(program) // => [false, true]
2222
2272
  * ```
2223
2273
  *
2274
+ * @stability stable
2224
2275
  * @category predicates
2225
2276
  * @since 2.0.0
2226
2277
  */
@@ -2271,6 +2322,7 @@ export const isFull = <A, E>(self: Dequeue<A, E>): Effect<boolean> => internalEf
2271
2322
  * await Effect.runPromise(program) // => [0, 3, 3]
2272
2323
  * ```
2273
2324
  *
2325
+ * @stability stable
2274
2326
  * @category sizes
2275
2327
  * @since 4.0.0
2276
2328
  */
@@ -2304,6 +2356,7 @@ export const sizeUnsafe = <A, E>(self: Dequeue<A, E>): number => self.state._tag
2304
2356
  * await Effect.runPromise(program) // => [false, true]
2305
2357
  * ```
2306
2358
  *
2359
+ * @stability stable
2307
2360
  * @category predicates
2308
2361
  * @since 4.0.0
2309
2362
  */
@@ -2340,6 +2393,7 @@ export const isFullUnsafe = <A, E>(self: Dequeue<A, E>): boolean => sizeUnsafe(s
2340
2393
  * await Effect.runPromise(program) // => [true, Exit.fail(Cause.Done())]
2341
2394
  * ```
2342
2395
  *
2396
+ * @stability stable
2343
2397
  * @category completion
2344
2398
  * @since 4.0.0
2345
2399
  */
@@ -2375,6 +2429,7 @@ export const into: {
2375
2429
  * await Effect.runPromise(program) // => [true, Exit.fail(Cause.Done())]
2376
2430
  * ```
2377
2431
  *
2432
+ * @stability stable
2378
2433
  * @category completion
2379
2434
  * @since 4.0.0
2380
2435
  */
@@ -2412,6 +2467,7 @@ export const into: {
2412
2467
  * await Effect.runPromise(program) // => [true, Exit.fail(Cause.Done())]
2413
2468
  * ```
2414
2469
  *
2470
+ * @stability stable
2415
2471
  * @category completion
2416
2472
  * @since 4.0.0
2417
2473
  */
@@ -2484,6 +2540,15 @@ const takeBetweenUnsafe = <A, E>(
2484
2540
  return core.exitSucceed(messages)
2485
2541
  }
2486
2542
 
2543
+ // Deliver dequeued results in the same fiber step to prevent message loss on interruption.
2544
+ const suspendTake: <A, E>(f: () => Effect<A, E>) => Effect<A, E> = core.makePrimitive({
2545
+ op: "QueueTake",
2546
+ [core.evaluate](fiber) {
2547
+ const effect = this[core.args]()
2548
+ return core.isExit(effect) ? (effect as unknown as core.Primitive)[core.evaluate](fiber) : effect
2549
+ }
2550
+ })
2551
+
2487
2552
  // Whether a take of at least `min` messages can complete without waiting.
2488
2553
  // A closing queue receives no more messages, so any remainder satisfies `min`.
2489
2554
  const canTake = <A, E>(self: Dequeue<A, E>, min: number): boolean =>
@@ -2573,6 +2638,11 @@ const releaseCapacity = <A, E>(self: Dequeue<A, E>): boolean => {
2573
2638
  self.state.offers.delete(entry)
2574
2639
  entry.resume(core.exitSucceed([]))
2575
2640
  }
2641
+ // The resumed producer may have replaced the state with Done.
2642
+ const state = self.state as Queue.State<A, E>
2643
+ if (state._tag === "Done") {
2644
+ return Pull.isDoneCause(state.exit.cause)
2645
+ }
2576
2646
  }
2577
2647
  return false
2578
2648
  }
package/src/Random.ts CHANGED
@@ -6,6 +6,7 @@
6
6
  * random generation is a service, tests and applications can replace the
7
7
  * generator used by Effect programs.
8
8
  *
9
+ * @stability stable
9
10
  * @since 4.0.0
10
11
  */
11
12
  import type * as Arr from "./Array.ts"
@@ -20,6 +21,7 @@ import * as Predicate from "./Predicate.ts"
20
21
  /**
21
22
  * The service used to generate pseudo-random numbers.
22
23
  *
24
+ * @stability stable
23
25
  * @category services
24
26
  * @since 4.0.0
25
27
  */
@@ -63,6 +65,7 @@ export interface Random {
63
65
  * await Effect.runPromise(program.pipe(Random.withSeed("example"))) // => [0.1633802591287037, 3434461687501127, 1]
64
66
  * ```
65
67
  *
68
+ * @stability stable
66
69
  * @category services
67
70
  * @since 2.0.0
68
71
  */
@@ -87,6 +90,7 @@ const randomWith = <A>(f: (random: Random) => A): Effect.Effect<A> =>
87
90
  * await Effect.runPromise(Random.next.pipe(Random.withSeed("example"))) // => 0.1633802591287037
88
91
  * ```
89
92
  *
93
+ * @stability stable
90
94
  * @category generators
91
95
  * @since 2.0.0
92
96
  */
@@ -107,6 +111,7 @@ export const next: Effect.Effect<number> = randomWith((r) => r.nextDoubleUnsafe(
107
111
  * await Effect.runPromise(Random.nextBoolean.pipe(Random.withSeed("example"))) // => false
108
112
  * ```
109
113
  *
114
+ * @stability stable
110
115
  * @category generators
111
116
  * @since 2.0.0
112
117
  */
@@ -129,6 +134,7 @@ export const nextBoolean: Effect.Effect<boolean> = randomWith((r) => r.nextDoubl
129
134
  * await Effect.runPromise(Random.nextInt.pipe(Random.withSeed("example"))) // => -6064002158214091
130
135
  * ```
131
136
  *
137
+ * @stability stable
132
138
  * @category generators
133
139
  * @since 2.0.0
134
140
  */
@@ -149,6 +155,7 @@ export const nextInt: Effect.Effect<number> = randomWith((r) => r.nextIntUnsafe(
149
155
  * await Effect.runPromise(Random.nextBetween(0, 1).pipe(Random.withSeed("example"))) // => 0.1633802591287037
150
156
  * ```
151
157
  *
158
+ * @stability stable
152
159
  * @category generators
153
160
  * @since 4.0.0
154
161
  */
@@ -185,6 +192,7 @@ export const nextBetween = (min: number, max: number): Effect.Effect<number> =>
185
192
  * await Effect.runPromise(program.pipe(Random.withSeed("example"))) // => [1, 4, 0]
186
193
  * ```
187
194
  *
195
+ * @stability stable
188
196
  * @category generators
189
197
  * @since 2.0.0
190
198
  */
@@ -214,6 +222,7 @@ export const nextIntBetween = (min: number, max: number, options?: {
214
222
  * await Effect.runPromise(Random.shuffle([1, 2, 3, 4, 5]).pipe(Random.withSeed("example"))) // => [4, 2, 5, 3, 1]
215
223
  * ```
216
224
  *
225
+ * @stability stable
217
226
  * @category generators
218
227
  * @since 2.0.0
219
228
  */
@@ -250,6 +259,7 @@ export const shuffle = <A>(elements: Iterable<A>): Effect.Effect<Array<A>> =>
250
259
  * await Effect.runPromise(Random.choice(["red", "green", "blue"] as const).pipe(Random.withSeed("example"))) // => "red"
251
260
  * ```
252
261
  *
262
+ * @stability stable
253
263
  * @category generators
254
264
  * @since 3.6.0
255
265
  */
@@ -298,6 +308,7 @@ export const choice: <Self extends Iterable<unknown>>(
298
308
  * ])) // => [[0.018368576514773527, 0.4010840628128671], [0.018368576514773527, 0.4010840628128671]]
299
309
  * ```
300
310
  *
311
+ * @stability stable
301
312
  * @category providing services
302
313
  * @since 4.0.0
303
314
  */
@@ -335,6 +346,7 @@ export const withSeed: {
335
346
  * ])) // => [[0.018368576514773527, 0.4010840628128671], [0.018368576514773527, 0.4010840628128671]]
336
347
  * ```
337
348
  *
349
+ * @stability stable
338
350
  * @category providing services
339
351
  * @since 4.0.0
340
352
  */
@@ -372,6 +384,7 @@ export const withSeed: {
372
384
  * ])) // => [[0.018368576514773527, 0.4010840628128671], [0.018368576514773527, 0.4010840628128671]]
373
385
  * ```
374
386
  *
387
+ * @stability stable
375
388
  * @category providing services
376
389
  * @since 4.0.0
377
390
  */