effect 4.0.0 → 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 (1001) 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 +47 -23
  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 +61 -1
  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 +677 -22
  99. package/dist/Effect.d.ts.map +1 -1
  100. package/dist/Effect.js +251 -10
  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 +22 -5
  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 +28 -5
  297. package/dist/Pool.d.ts.map +1 -1
  298. package/dist/Pool.js +42 -42
  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 +24 -1
  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 +50 -19
  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 +603 -6
  444. package/dist/Stream.d.ts.map +1 -1
  445. package/dist/Stream.js +316 -57
  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 +8 -0
  557. package/dist/ai/LanguageModel.d.ts.map +1 -1
  558. package/dist/ai/LanguageModel.js +27 -15
  559. package/dist/ai/LanguageModel.js.map +1 -1
  560. package/dist/ai/McpSchema.d.ts +508 -508
  561. package/dist/ai/McpSchema.d.ts.map +1 -1
  562. package/dist/ai/McpSchema.js +1 -1
  563. package/dist/ai/McpSchema.js.map +1 -1
  564. package/dist/ai/McpServer.d.ts +32 -11
  565. package/dist/ai/McpServer.d.ts.map +1 -1
  566. package/dist/ai/McpServer.js +224 -172
  567. package/dist/ai/McpServer.js.map +1 -1
  568. package/dist/ai/Response.d.ts.map +1 -1
  569. package/dist/ai/Response.js +22 -12
  570. package/dist/ai/Response.js.map +1 -1
  571. package/dist/ai/Telemetry.d.ts +49 -41
  572. package/dist/ai/Telemetry.d.ts.map +1 -1
  573. package/dist/ai/Telemetry.js +6 -8
  574. package/dist/ai/Telemetry.js.map +1 -1
  575. package/dist/ai/internal/mcpProtocol/v2024_11_05.js +1 -0
  576. package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
  577. package/dist/ai/internal/mcpProtocol/v2025_03_26.js +1 -0
  578. package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
  579. package/dist/ai/internal/mcpProtocol/v2025_06_18.js +1 -0
  580. package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
  581. package/dist/ai/internal/mcpProtocol/v2025_11_25.js +1 -0
  582. package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
  583. package/dist/ai/internal/mcpRuntime.js +79 -46
  584. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  585. package/dist/ai/internal/mcpSchema/v2024_11_05.js +3 -1
  586. package/dist/ai/internal/mcpSchema/v2024_11_05.js.map +1 -1
  587. package/dist/ai/internal/mcpStatefulRuntime.js +1 -0
  588. package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
  589. package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  590. package/dist/cluster/ClusterWorkflowEngine.js +11 -2
  591. package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
  592. package/dist/cluster/K8sHttpClient.d.ts.map +1 -1
  593. package/dist/cluster/K8sHttpClient.js +5 -2
  594. package/dist/cluster/K8sHttpClient.js.map +1 -1
  595. package/dist/cluster/Sharding.d.ts.map +1 -1
  596. package/dist/cluster/Sharding.js +14 -7
  597. package/dist/cluster/Sharding.js.map +1 -1
  598. package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
  599. package/dist/cluster/SqlMessageStorage.js +21 -12
  600. package/dist/cluster/SqlMessageStorage.js.map +1 -1
  601. package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
  602. package/dist/cluster/SqlRunnerStorage.js +30 -44
  603. package/dist/cluster/SqlRunnerStorage.js.map +1 -1
  604. package/dist/cluster/internal/entityManager.js +63 -62
  605. package/dist/cluster/internal/entityManager.js.map +1 -1
  606. package/dist/cluster/internal/interruptors.js +8 -0
  607. package/dist/cluster/internal/interruptors.js.map +1 -1
  608. package/dist/cluster/internal/resourceMap.js +39 -14
  609. package/dist/cluster/internal/resourceMap.js.map +1 -1
  610. package/dist/cluster/internal/resourceRef.js +168 -87
  611. package/dist/cluster/internal/resourceRef.js.map +1 -1
  612. package/dist/encoding/Base64.d.ts +4 -0
  613. package/dist/encoding/Base64.d.ts.map +1 -1
  614. package/dist/encoding/Base64.js +4 -0
  615. package/dist/encoding/Base64.js.map +1 -1
  616. package/dist/encoding/Base64Url.d.ts +4 -0
  617. package/dist/encoding/Base64Url.d.ts.map +1 -1
  618. package/dist/encoding/Base64Url.js +4 -0
  619. package/dist/encoding/Base64Url.js.map +1 -1
  620. package/dist/encoding/EncodingError.d.ts +4 -0
  621. package/dist/encoding/EncodingError.d.ts.map +1 -1
  622. package/dist/encoding/EncodingError.js +4 -0
  623. package/dist/encoding/EncodingError.js.map +1 -1
  624. package/dist/encoding/Hex.d.ts +5 -0
  625. package/dist/encoding/Hex.d.ts.map +1 -1
  626. package/dist/encoding/Hex.js +5 -0
  627. package/dist/encoding/Hex.js.map +1 -1
  628. package/dist/encoding/Toml.js +2 -2
  629. package/dist/encoding/Toml.js.map +1 -1
  630. package/dist/encoding/Yaml.d.ts.map +1 -1
  631. package/dist/encoding/Yaml.js +6 -4
  632. package/dist/encoding/Yaml.js.map +1 -1
  633. package/dist/encoding/index.d.ts +4 -0
  634. package/dist/encoding/index.d.ts.map +1 -1
  635. package/dist/encoding/index.js +4 -0
  636. package/dist/encoding/index.js.map +1 -1
  637. package/dist/eventlog/SqlEventJournal.js +8 -4
  638. package/dist/eventlog/SqlEventJournal.js.map +1 -1
  639. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +27 -10
  640. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  641. package/dist/eventlog/SqlEventLogServerUnencrypted.js +49 -7
  642. package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  643. package/dist/http/Headers.d.ts +3 -1
  644. package/dist/http/Headers.d.ts.map +1 -1
  645. package/dist/http/Headers.js +4 -2
  646. package/dist/http/Headers.js.map +1 -1
  647. package/dist/http/HttpClient.d.ts +9 -0
  648. package/dist/http/HttpClient.d.ts.map +1 -1
  649. package/dist/http/HttpClient.js +40 -21
  650. package/dist/http/HttpClient.js.map +1 -1
  651. package/dist/http/HttpClientResponse.js +3 -1
  652. package/dist/http/HttpClientResponse.js.map +1 -1
  653. package/dist/http/HttpEffect.d.ts +3 -0
  654. package/dist/http/HttpEffect.d.ts.map +1 -1
  655. package/dist/http/HttpEffect.js +5 -2
  656. package/dist/http/HttpEffect.js.map +1 -1
  657. package/dist/http/HttpMiddleware.d.ts +17 -0
  658. package/dist/http/HttpMiddleware.d.ts.map +1 -1
  659. package/dist/http/HttpMiddleware.js +58 -40
  660. package/dist/http/HttpMiddleware.js.map +1 -1
  661. package/dist/http/HttpServer.d.ts +1 -1
  662. package/dist/http/HttpServer.d.ts.map +1 -1
  663. package/dist/http/HttpStaticServer.d.ts.map +1 -1
  664. package/dist/http/HttpStaticServer.js +14 -0
  665. package/dist/http/HttpStaticServer.js.map +1 -1
  666. package/dist/http/HttpTraceContext.d.ts +1 -1
  667. package/dist/http/HttpTraceContext.d.ts.map +1 -1
  668. package/dist/http/HttpTraceContext.js +4 -4
  669. package/dist/http/HttpTraceContext.js.map +1 -1
  670. package/dist/http/internal/tracing.d.ts +2 -0
  671. package/dist/http/internal/tracing.d.ts.map +1 -0
  672. package/dist/http/internal/tracing.js +37 -0
  673. package/dist/http/internal/tracing.js.map +1 -0
  674. package/dist/http-api/HttpApiBuilder.js +2 -1
  675. package/dist/http-api/HttpApiBuilder.js.map +1 -1
  676. package/dist/http-api/HttpApiClient.d.ts +12 -3
  677. package/dist/http-api/HttpApiClient.d.ts.map +1 -1
  678. package/dist/http-api/HttpApiClient.js.map +1 -1
  679. package/dist/http-api/HttpApiError.d.ts +4 -2
  680. package/dist/http-api/HttpApiError.d.ts.map +1 -1
  681. package/dist/http-api/HttpApiError.js +7 -3
  682. package/dist/http-api/HttpApiError.js.map +1 -1
  683. package/dist/http-api/HttpApiSecurity.d.ts +8 -8
  684. package/dist/http-api/HttpApiSecurity.js +8 -8
  685. package/dist/index.d.ts +155 -0
  686. package/dist/index.d.ts.map +1 -1
  687. package/dist/index.js +155 -0
  688. package/dist/index.js.map +1 -1
  689. package/dist/internal/arbitrary/array.js +3 -3
  690. package/dist/internal/arbitrary/array.js.map +1 -1
  691. package/dist/internal/arbitrary/model.js +26 -11
  692. package/dist/internal/arbitrary/model.js.map +1 -1
  693. package/dist/internal/arbitrary/runner.js +8 -8
  694. package/dist/internal/arbitrary/runner.js.map +1 -1
  695. package/dist/internal/arbitrary/schema.js +4 -5
  696. package/dist/internal/arbitrary/schema.js.map +1 -1
  697. package/dist/internal/core.js +43 -2
  698. package/dist/internal/core.js.map +1 -1
  699. package/dist/internal/dateTime.js +1 -1
  700. package/dist/internal/dateTime.js.map +1 -1
  701. package/dist/internal/effect.js +104 -120
  702. package/dist/internal/effect.js.map +1 -1
  703. package/dist/internal/rcRef.js +59 -23
  704. package/dist/internal/rcRef.js.map +1 -1
  705. package/dist/internal/schedule.js +7 -5
  706. package/dist/internal/schedule.js.map +1 -1
  707. package/dist/internal/schema/fromJsonSchemaDocument.js +11 -8
  708. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
  709. package/dist/internal/schema/standardSchema.js +2 -2
  710. package/dist/internal/schema/standardSchema.js.map +1 -1
  711. package/dist/internal/version.d.ts +2 -0
  712. package/dist/internal/version.d.ts.map +1 -0
  713. package/dist/internal/version.js +3 -0
  714. package/dist/internal/version.js.map +1 -0
  715. package/dist/observability/OtlpExporter.d.ts.map +1 -1
  716. package/dist/observability/OtlpExporter.js +5 -6
  717. package/dist/observability/OtlpExporter.js.map +1 -1
  718. package/dist/observability/OtlpLogger.d.ts.map +1 -1
  719. package/dist/observability/OtlpLogger.js +23 -27
  720. package/dist/observability/OtlpLogger.js.map +1 -1
  721. package/dist/observability/OtlpMetrics.d.ts +5 -3
  722. package/dist/observability/OtlpMetrics.d.ts.map +1 -1
  723. package/dist/observability/OtlpMetrics.js +21 -94
  724. package/dist/observability/OtlpMetrics.js.map +1 -1
  725. package/dist/observability/OtlpResource.d.ts +4 -3
  726. package/dist/observability/OtlpResource.d.ts.map +1 -1
  727. package/dist/observability/OtlpResource.js +20 -23
  728. package/dist/observability/OtlpResource.js.map +1 -1
  729. package/dist/observability/OtlpTracer.d.ts +1 -0
  730. package/dist/observability/OtlpTracer.d.ts.map +1 -1
  731. package/dist/observability/OtlpTracer.js +32 -36
  732. package/dist/observability/OtlpTracer.js.map +1 -1
  733. package/dist/observability/internal/otlpProtobuf.js +32 -1
  734. package/dist/observability/internal/otlpProtobuf.js.map +1 -1
  735. package/dist/reactivity/AsyncResult.d.ts +1 -1
  736. package/dist/reactivity/Atom.d.ts +5 -5
  737. package/dist/reactivity/Atom.d.ts.map +1 -1
  738. package/dist/reactivity/Atom.js +9 -5
  739. package/dist/reactivity/Atom.js.map +1 -1
  740. package/dist/reactivity/AtomHttpApi.d.ts +2 -2
  741. package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
  742. package/dist/reactivity/AtomRegistry.d.ts +8 -0
  743. package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
  744. package/dist/reactivity/AtomRegistry.js.map +1 -1
  745. package/dist/rpc/RpcClient.d.ts +21 -3
  746. package/dist/rpc/RpcClient.d.ts.map +1 -1
  747. package/dist/rpc/RpcClient.js +58 -34
  748. package/dist/rpc/RpcClient.js.map +1 -1
  749. package/dist/rpc/RpcServer.d.ts.map +1 -1
  750. package/dist/rpc/RpcServer.js +20 -23
  751. package/dist/rpc/RpcServer.js.map +1 -1
  752. package/dist/rpc/Utils.d.ts +2 -3
  753. package/dist/rpc/Utils.d.ts.map +1 -1
  754. package/dist/rpc/Utils.js +3 -4
  755. package/dist/rpc/Utils.js.map +1 -1
  756. package/dist/rpc/internal/tracing.d.ts +2 -0
  757. package/dist/rpc/internal/tracing.d.ts.map +1 -0
  758. package/dist/rpc/internal/tracing.js +18 -0
  759. package/dist/rpc/internal/tracing.js.map +1 -0
  760. package/dist/schema/SchemaCompiler/runtime.js +9 -1
  761. package/dist/schema/SchemaCompiler/runtime.js.map +1 -1
  762. package/dist/sql/SqlClient.js +4 -4
  763. package/dist/sql/SqlClient.js.map +1 -1
  764. package/dist/sql/Statement.d.ts +21 -1
  765. package/dist/sql/Statement.d.ts.map +1 -1
  766. package/dist/sql/Statement.js +55 -7
  767. package/dist/sql/Statement.js.map +1 -1
  768. package/dist/testing/TestClock.d.ts +8 -0
  769. package/dist/testing/TestClock.d.ts.map +1 -1
  770. package/dist/testing/TestClock.js +7 -0
  771. package/dist/testing/TestClock.js.map +1 -1
  772. package/dist/testing/TestConsole.d.ts +7 -0
  773. package/dist/testing/TestConsole.d.ts.map +1 -1
  774. package/dist/testing/TestConsole.js +6 -0
  775. package/dist/testing/TestConsole.js.map +1 -1
  776. package/dist/testing/index.d.ts +3 -0
  777. package/dist/testing/index.d.ts.map +1 -1
  778. package/dist/testing/index.js +3 -0
  779. package/dist/testing/index.js.map +1 -1
  780. package/dist/workflow/WorkflowEngine.d.ts +2 -0
  781. package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
  782. package/dist/workflow/WorkflowEngine.js +1 -0
  783. package/dist/workflow/WorkflowEngine.js.map +1 -1
  784. package/package.json +3 -3
  785. package/src/Array.ts +351 -3
  786. package/src/BigDecimal.ts +88 -0
  787. package/src/BigInt.ts +68 -0
  788. package/src/Boolean.ts +34 -0
  789. package/src/Brand.ts +10 -0
  790. package/src/ByteSize.ts +87 -0
  791. package/src/Cache.ts +72 -24
  792. package/src/Cause.ts +83 -1
  793. package/src/Channel.ts +368 -18
  794. package/src/ChannelSchema.ts +13 -0
  795. package/src/Chunk.ts +193 -0
  796. package/src/Clock.ts +7 -0
  797. package/src/Combiner.ts +10 -0
  798. package/src/Config.ts +82 -8
  799. package/src/ConfigProvider.ts +28 -0
  800. package/src/Console.ts +26 -0
  801. package/src/Context.ts +50 -0
  802. package/src/Cron.ts +32 -1
  803. package/src/Crypto.ts +5 -0
  804. package/src/Data.ts +13 -0
  805. package/src/DateTime.ts +171 -0
  806. package/src/Deferred.ts +51 -0
  807. package/src/Differ.ts +2 -0
  808. package/src/Duration.ts +90 -0
  809. package/src/Effect.ts +692 -27
  810. package/src/Effectable.ts +4 -0
  811. package/src/Equal.ts +12 -1
  812. package/src/Equivalence.ts +22 -0
  813. package/src/ErrorReporter.ts +36 -0
  814. package/src/ExecutionPlan.ts +58 -14
  815. package/src/Exit.ts +40 -0
  816. package/src/Fiber.ts +20 -0
  817. package/src/FiberHandle.ts +29 -4
  818. package/src/FiberMap.ts +38 -0
  819. package/src/FiberSet.ts +21 -0
  820. package/src/FileSystem.ts +16 -0
  821. package/src/Filter.ts +55 -0
  822. package/src/Formatter.ts +42 -1
  823. package/src/Function.ts +30 -0
  824. package/src/Graph.ts +317 -36
  825. package/src/HKT.ts +5 -0
  826. package/src/Hash.ts +15 -0
  827. package/src/HashMap.ts +91 -0
  828. package/src/HashRing.ts +32 -5
  829. package/src/HashSet.ts +53 -0
  830. package/src/Inspectable.ts +8 -0
  831. package/src/Iterable.ts +127 -0
  832. package/src/JsonPatch.ts +5 -0
  833. package/src/JsonPointer.ts +5 -0
  834. package/src/JsonSchema.ts +17 -0
  835. package/src/Latch.ts +14 -0
  836. package/src/Layer.ts +101 -1
  837. package/src/LayerMap.ts +7 -0
  838. package/src/LayerRef.ts +5 -0
  839. package/src/LogLevel.ts +20 -0
  840. package/src/Logger.ts +41 -5
  841. package/src/ManagedRuntime.ts +12 -1
  842. package/src/Match.ts +52 -0
  843. package/src/Metric.ts +69 -0
  844. package/src/MutableHashMap.ts +44 -0
  845. package/src/MutableHashSet.ts +17 -0
  846. package/src/MutableList.ts +21 -0
  847. package/src/MutableRef.ts +32 -0
  848. package/src/Newtype.ts +9 -0
  849. package/src/NonEmptyIterable.ts +4 -0
  850. package/src/Number.ts +61 -0
  851. package/src/Optic.ts +57 -0
  852. package/src/Option.ts +134 -0
  853. package/src/Order.ts +30 -0
  854. package/src/Ordering.ts +7 -0
  855. package/src/PartitionedSemaphore.ts +61 -22
  856. package/src/Path.ts +6 -0
  857. package/src/Pipeable.ts +7 -0
  858. package/src/PlatformError.ts +8 -0
  859. package/src/Pool.ts +48 -37
  860. package/src/Predicate.ts +85 -0
  861. package/src/PrimaryKey.ts +5 -0
  862. package/src/PubSub.ts +90 -9
  863. package/src/Pull.ts +20 -0
  864. package/src/Queue.ts +80 -10
  865. package/src/Random.ts +13 -0
  866. package/src/RcMap.ts +49 -2
  867. package/src/RcRef.ts +6 -0
  868. package/src/Record.ts +100 -0
  869. package/src/Redactable.ts +6 -0
  870. package/src/Redacted.ts +8 -0
  871. package/src/Reducer.ts +4 -0
  872. package/src/Ref.ts +42 -0
  873. package/src/References.ts +21 -0
  874. package/src/RegExp.ts +4 -0
  875. package/src/Request.ts +32 -0
  876. package/src/RequestResolver.ts +59 -10
  877. package/src/Resource.ts +7 -0
  878. package/src/Result.ts +93 -0
  879. package/src/Runtime.ts +10 -0
  880. package/src/Schedule.ts +61 -0
  881. package/src/Scheduler.ts +7 -0
  882. package/src/Schema.ts +499 -4
  883. package/src/SchemaAST.ts +115 -1
  884. package/src/SchemaGetter.ts +80 -4
  885. package/src/SchemaIssue.ts +34 -0
  886. package/src/SchemaParser.ts +26 -0
  887. package/src/SchemaRepresentation.ts +148 -0
  888. package/src/SchemaTransformation.ts +53 -0
  889. package/src/Scope.ts +19 -0
  890. package/src/ScopedCache.ts +82 -19
  891. package/src/ScopedRef.ts +9 -0
  892. package/src/Semaphore.ts +26 -0
  893. package/src/Sink.ts +126 -2
  894. package/src/StandardSchema.ts +1 -0
  895. package/src/Stdio.ts +7 -0
  896. package/src/Stream.ts +780 -103
  897. package/src/String.ts +87 -0
  898. package/src/Struct.ts +46 -0
  899. package/src/SubscriptionRef.ts +65 -0
  900. package/src/Symbol.ts +2 -0
  901. package/src/SynchronizedRef.ts +63 -0
  902. package/src/Take.ts +3 -0
  903. package/src/Terminal.ts +8 -0
  904. package/src/Tracer.ts +23 -0
  905. package/src/Trie.ts +68 -0
  906. package/src/Tuple.ts +38 -0
  907. package/src/TxChunk.ts +52 -0
  908. package/src/TxDeferred.ts +15 -0
  909. package/src/TxHashMap.ts +97 -6
  910. package/src/TxHashSet.ts +83 -3
  911. package/src/TxPriorityQueue.ts +34 -2
  912. package/src/TxPubSub.ts +26 -0
  913. package/src/TxQueue.ts +51 -0
  914. package/src/TxReentrantLock.ts +53 -36
  915. package/src/TxRef.ts +14 -0
  916. package/src/TxSemaphore.ts +47 -31
  917. package/src/TxSubscriptionRef.ts +25 -0
  918. package/src/Types.ts +36 -0
  919. package/src/UndefinedOr.ts +15 -0
  920. package/src/Unify.ts +15 -0
  921. package/src/Utils.ts +4 -0
  922. package/src/Version.ts +38 -0
  923. package/src/ai/Chat.ts +1 -1
  924. package/src/ai/DecisionModel.ts +42 -1
  925. package/src/ai/LanguageModel.ts +43 -21
  926. package/src/ai/McpSchema.ts +3 -3
  927. package/src/ai/McpServer.ts +119 -39
  928. package/src/ai/Response.ts +27 -12
  929. package/src/ai/Telemetry.ts +62 -58
  930. package/src/ai/internal/mcpProtocol/v2024_11_05.ts +1 -0
  931. package/src/ai/internal/mcpProtocol/v2025_03_26.ts +1 -0
  932. package/src/ai/internal/mcpProtocol/v2025_06_18.ts +1 -0
  933. package/src/ai/internal/mcpProtocol/v2025_11_25.ts +1 -0
  934. package/src/ai/internal/mcpRuntime.ts +84 -43
  935. package/src/ai/internal/mcpSchema/v2024_11_05.ts +4 -2
  936. package/src/ai/internal/mcpStatefulRuntime.ts +2 -0
  937. package/src/cluster/ClusterWorkflowEngine.ts +18 -4
  938. package/src/cluster/K8sHttpClient.ts +12 -2
  939. package/src/cluster/Sharding.ts +24 -24
  940. package/src/cluster/SqlMessageStorage.ts +26 -13
  941. package/src/cluster/SqlRunnerStorage.ts +85 -113
  942. package/src/cluster/internal/entityManager.ts +68 -80
  943. package/src/cluster/internal/interruptors.ts +13 -0
  944. package/src/cluster/internal/resourceMap.ts +55 -17
  945. package/src/cluster/internal/resourceRef.ts +189 -96
  946. package/src/encoding/Base64.ts +4 -0
  947. package/src/encoding/Base64Url.ts +4 -0
  948. package/src/encoding/EncodingError.ts +5 -0
  949. package/src/encoding/Hex.ts +5 -0
  950. package/src/encoding/Toml.ts +2 -2
  951. package/src/encoding/Yaml.ts +8 -4
  952. package/src/encoding/index.ts +4 -0
  953. package/src/eventlog/SqlEventJournal.ts +18 -4
  954. package/src/eventlog/SqlEventLogServerUnencrypted.ts +282 -235
  955. package/src/http/Headers.ts +8 -2
  956. package/src/http/HttpClient.ts +44 -27
  957. package/src/http/HttpClientResponse.ts +3 -1
  958. package/src/http/HttpEffect.ts +11 -2
  959. package/src/http/HttpMiddleware.ts +67 -46
  960. package/src/http/HttpServer.ts +1 -1
  961. package/src/http/HttpStaticServer.ts +16 -0
  962. package/src/http/HttpTraceContext.ts +8 -4
  963. package/src/http/internal/tracing.ts +52 -0
  964. package/src/http-api/HttpApiBuilder.ts +5 -1
  965. package/src/http-api/HttpApiClient.ts +13 -4
  966. package/src/http-api/HttpApiError.ts +8 -3
  967. package/src/http-api/HttpApiSecurity.ts +8 -8
  968. package/src/index.ts +156 -0
  969. package/src/internal/arbitrary/array.ts +3 -3
  970. package/src/internal/arbitrary/model.ts +37 -14
  971. package/src/internal/arbitrary/runner.ts +7 -7
  972. package/src/internal/arbitrary/schema.ts +4 -3
  973. package/src/internal/core.ts +56 -2
  974. package/src/internal/dateTime.ts +3 -1
  975. package/src/internal/effect.ts +156 -156
  976. package/src/internal/rcRef.ts +83 -33
  977. package/src/internal/schedule.ts +23 -17
  978. package/src/internal/schema/fromJsonSchemaDocument.ts +5 -3
  979. package/src/internal/schema/standardSchema.ts +2 -2
  980. package/src/internal/version.ts +2 -0
  981. package/src/observability/OtlpExporter.ts +9 -6
  982. package/src/observability/OtlpLogger.ts +20 -21
  983. package/src/observability/OtlpMetrics.ts +34 -93
  984. package/src/observability/OtlpResource.ts +18 -27
  985. package/src/observability/OtlpTracer.ts +34 -40
  986. package/src/observability/internal/otlpProtobuf.ts +60 -0
  987. package/src/reactivity/AsyncResult.ts +1 -1
  988. package/src/reactivity/Atom.ts +10 -6
  989. package/src/reactivity/AtomHttpApi.ts +2 -4
  990. package/src/reactivity/AtomRegistry.ts +7 -0
  991. package/src/rpc/RpcClient.ts +74 -46
  992. package/src/rpc/RpcServer.ts +28 -25
  993. package/src/rpc/Utils.ts +4 -10
  994. package/src/rpc/internal/tracing.ts +22 -0
  995. package/src/schema/SchemaCompiler/runtime.ts +4 -1
  996. package/src/sql/SqlClient.ts +4 -4
  997. package/src/sql/Statement.ts +59 -7
  998. package/src/testing/TestClock.ts +9 -0
  999. package/src/testing/TestConsole.ts +8 -0
  1000. package/src/testing/index.ts +3 -0
  1001. package/src/workflow/WorkflowEngine.ts +4 -0
package/dist/Effect.js CHANGED
@@ -14,6 +14,7 @@ import { CurrentLogAnnotations, CurrentLogSpans } from "./References.js";
14
14
  /**
15
15
  * Runtime identifier used to recognize `Effect` values.
16
16
  *
17
+ * @stability stable
17
18
  * @category type IDs
18
19
  * @since 4.0.0
19
20
  */
@@ -30,6 +31,7 @@ export const TypeId = core.EffectTypeId;
30
31
  * Effect.isEffect("hello") // => false
31
32
  * ```
32
33
  *
34
+ * @stability stable
33
35
  * @category guards
34
36
  * @since 2.0.0
35
37
  */
@@ -143,6 +145,7 @@ export const isEffect = core.isEffect;
143
145
  * ```
144
146
  *
145
147
  * @see {@link forEach} for iterating over elements and applying an effect.
148
+ * @stability stable
146
149
  * @category collecting
147
150
  * @since 2.0.0
148
151
  */
@@ -171,6 +174,7 @@ export const all = internal.all;
171
174
  * await Effect.runPromise(program) // => [[1, 3], ['0 is even', '2 is even']]
172
175
  * ```
173
176
  *
177
+ * @stability stable
174
178
  * @category collecting
175
179
  * @since 2.0.0
176
180
  */
@@ -209,6 +213,7 @@ export const partition = internal.partition;
209
213
  * output // => ["Adding 1 at index 0", "Adding 2 at index 1", "Adding 3 at index 2", 6]
210
214
  * ```
211
215
  *
216
+ * @stability stable
212
217
  * @category collecting
213
218
  * @since 2.0.0
214
219
  */
@@ -237,6 +242,7 @@ export const reduce = internal.reduce;
237
242
  * await Effect.runPromiseExit(program) // => Exit.fail(["0 is even", "2 is even"])
238
243
  * ```
239
244
  *
245
+ * @stability stable
240
246
  * @category collecting
241
247
  * @since 2.0.0
242
248
  */
@@ -259,6 +265,7 @@ export const validate = internal.validate;
259
265
  * await Effect.runPromise(program) // => Option.some(3)
260
266
  * ```
261
267
  *
268
+ * @stability stable
262
269
  * @category collecting
263
270
  * @since 2.0.0
264
271
  */
@@ -278,6 +285,7 @@ export const findFirst = internal.findFirst;
278
285
  *
279
286
  * @see {@link findFirst} for the simpler effectful predicate-based variant
280
287
  *
288
+ * @stability stable
281
289
  * @category collecting
282
290
  * @since 4.0.0
283
291
  */
@@ -343,6 +351,7 @@ export const findFirstFilter = internal.findFirstFilter;
343
351
  * ```
344
352
  *
345
353
  * @see {@link all} for combining multiple effects into one.
354
+ * @stability stable
346
355
  * @category collecting
347
356
  * @since 2.0.0
348
357
  */
@@ -368,6 +377,7 @@ export const forEach = internal.forEach;
368
377
  * await Effect.runPromise(empty) // => Option.none()
369
378
  * ```
370
379
  *
380
+ * @stability stable
371
381
  * @category collecting
372
382
  * @since 2.0.0
373
383
  */
@@ -393,6 +403,7 @@ export const head = internal.head;
393
403
  * output // => ["Current count: 1", "Current count: 2", "Current count: 3", "Current count: 4", "Current count: 5"]
394
404
  * ```
395
405
  *
406
+ * @stability stable
396
407
  * @category repetition
397
408
  * @since 2.0.0
398
409
  */
@@ -437,6 +448,7 @@ export const whileLoop = internal.whileLoop;
437
448
  * ```
438
449
  *
439
450
  * @see {@link tryPromise} for a version that can handle failures.
451
+ * @stability stable
440
452
  * @category constructors
441
453
  * @since 2.0.0
442
454
  */
@@ -508,6 +520,7 @@ export const promise = internal.promise;
508
520
  * ```
509
521
  *
510
522
  * @see {@link promise} if the effectful computation is asynchronous and does not throw errors.
523
+ * @stability stable
511
524
  * @category constructors
512
525
  * @since 2.0.0
513
526
  */
@@ -534,6 +547,7 @@ export const tryPromise = internal.tryPromise;
534
547
  * ```
535
548
  *
536
549
  * @see {@link fail} to create an effect that represents a failure.
550
+ * @stability stable
537
551
  * @category constructors
538
552
  * @since 2.0.0
539
553
  */
@@ -551,6 +565,7 @@ export const succeed = internal.succeed;
551
565
  * Effect.runSync(program) // => Option.none()
552
566
  * ```
553
567
  *
568
+ * @stability stable
554
569
  * @category constructors
555
570
  * @since 2.0.0
556
571
  */
@@ -568,6 +583,7 @@ export const succeedNone = internal.succeedNone;
568
583
  * Effect.runSync(program) // => Option.some(42)
569
584
  * ```
570
585
  *
586
+ * @stability stable
571
587
  * @category constructors
572
588
  * @since 2.0.0
573
589
  */
@@ -658,6 +674,7 @@ export const succeedSome = internal.succeedSome;
658
674
  * Effect.runSync(withSuspend(6, 2)) // => 3
659
675
  * ```
660
676
  *
677
+ * @stability stable
661
678
  * @category constructors
662
679
  * @since 2.0.0
663
680
  */
@@ -698,6 +715,7 @@ export const suspend = internal.suspend;
698
715
  * ```
699
716
  *
700
717
  * @see {@link try_ | try} for a version that can handle failures.
718
+ * @stability stable
701
719
  * @category constructors
702
720
  * @since 2.0.0
703
721
  */
@@ -707,6 +725,7 @@ export {
707
725
  /**
708
726
  * Returns an effect that succeeds with `void`.
709
727
  *
728
+ * @stability stable
710
729
  * @category constructors
711
730
  * @since 2.0.0
712
731
  */
@@ -716,6 +735,7 @@ export {
716
735
  /**
717
736
  * Returns an effect that succeeds with `undefined`.
718
737
  *
738
+ * @stability stable
719
739
  * @category constructors
720
740
  * @since 4.0.0
721
741
  */
@@ -753,6 +773,7 @@ undefined_ as undefined };
753
773
  * output // => ["callback completed"]
754
774
  * ```
755
775
  *
776
+ * @stability stable
756
777
  * @category constructors
757
778
  * @since 4.0.0
758
779
  */
@@ -770,6 +791,7 @@ export const callback = internal.callback;
770
791
  * await Effect.runPromise(program) // => Option.none()
771
792
  * ```
772
793
  *
794
+ * @stability stable
773
795
  * @category constructors
774
796
  * @since 2.0.0
775
797
  */
@@ -793,6 +815,7 @@ export const never = internal.never;
793
815
  * Effect.runSync(program) // => { x: 2, y: 3, sum: 5 }
794
816
  * ```
795
817
  *
818
+ * @stability stable
796
819
  * @category do notation
797
820
  * @since 2.0.0
798
821
  */
@@ -809,6 +832,7 @@ export const Do = internal.Do;
809
832
  * @see {@link Do} for starting from an empty accumulated record
810
833
  * @see {@link bind} for adding fields produced by effects
811
834
  *
835
+ * @stability stable
812
836
  * @category do notation
813
837
  * @since 2.0.0
814
838
  */
@@ -834,6 +858,7 @@ export {
834
858
  * @see {@link Do} for starting from an empty accumulated record
835
859
  * @see {@link gen} for sequencing without accumulating a record
836
860
  *
861
+ * @stability stable
837
862
  * @category do notation
838
863
  * @since 2.0.0
839
864
  */
@@ -862,6 +887,7 @@ let_ as let };
862
887
  * @see {@link bindTo} for naming the success value of an existing effect
863
888
  * @see {@link gen} for generator-based sequencing without accumulating a record
864
889
  *
890
+ * @stability stable
865
891
  * @category do notation
866
892
  * @since 2.0.0
867
893
  */
@@ -915,6 +941,7 @@ export const bind = internal.bind;
915
941
  * await Effect.runPromise(program) // => "Final amount to charge: 96"
916
942
  * ```
917
943
  *
944
+ * @stability stable
918
945
  * @category constructors
919
946
  * @since 2.0.0
920
947
  */
@@ -947,6 +974,7 @@ export const gen = internal.gen;
947
974
  * ```
948
975
  *
949
976
  * @see {@link succeed} to create an effect that represents a successful value.
977
+ * @stability stable
950
978
  * @category constructors
951
979
  * @since 2.0.0
952
980
  */
@@ -974,6 +1002,7 @@ export const fail = internal.fail;
974
1002
  * Effect.runSync(Effect.flip(program)).operation // => "sync"
975
1003
  * ```
976
1004
  *
1005
+ * @stability stable
977
1006
  * @category constructors
978
1007
  * @since 2.0.0
979
1008
  */
@@ -1004,6 +1033,7 @@ export const failSync = internal.failSync;
1004
1033
  * Effect.runSync(Effect.flip(program)) // => "Network error"
1005
1034
  * ```
1006
1035
  *
1036
+ * @stability stable
1007
1037
  * @category constructors
1008
1038
  * @since 2.0.0
1009
1039
  */
@@ -1031,6 +1061,7 @@ export const failCause = internal.failCause;
1031
1061
  * Effect.runSync(Effect.flip(program)) // => "Error computed at runtime"
1032
1062
  * ```
1033
1063
  *
1064
+ * @stability stable
1034
1065
  * @category constructors
1035
1066
  * @since 2.0.0
1036
1067
  */
@@ -1070,6 +1101,7 @@ export const failCauseSync = internal.failCauseSync;
1070
1101
  * Effect.runSyncExit(program) // => Exit.die(defect)
1071
1102
  * ```
1072
1103
  *
1104
+ * @stability stable
1073
1105
  * @category constructors
1074
1106
  * @since 2.0.0
1075
1107
  */
@@ -1136,6 +1168,7 @@ export {
1136
1168
  *
1137
1169
  * @see {@link sync} if the effectful computation is synchronous and does not
1138
1170
  * throw errors.
1171
+ * @stability stable
1139
1172
  * @category constructors
1140
1173
  * @since 2.0.0
1141
1174
  */
@@ -1159,6 +1192,7 @@ try_ as try };
1159
1192
  * output // => ["Before yield", "After yield"]
1160
1193
  * ```
1161
1194
  *
1195
+ * @stability stable
1162
1196
  * @category constructors
1163
1197
  * @since 2.0.0
1164
1198
  */
@@ -1182,6 +1216,7 @@ export const yieldNow = internal.yieldNow;
1182
1216
  * output // => ["High priority task", "Continued after yield"]
1183
1217
  * ```
1184
1218
  *
1219
+ * @stability stable
1185
1220
  * @category constructors
1186
1221
  * @since 4.0.0
1187
1222
  */
@@ -1199,6 +1234,7 @@ export const yieldNowWith = internal.yieldNowWith;
1199
1234
  * Effect.runSync(program) // => "number"
1200
1235
  * ```
1201
1236
  *
1237
+ * @stability stable
1202
1238
  * @category constructors
1203
1239
  * @since 4.0.0
1204
1240
  */
@@ -1216,6 +1252,7 @@ export const withFiber = core.withFiber;
1216
1252
  * Effect.runSync(program) // => "number"
1217
1253
  * ```
1218
1254
  *
1255
+ * @stability stable
1219
1256
  * @category constructors
1220
1257
  * @since 4.0.0
1221
1258
  */
@@ -1243,6 +1280,7 @@ export const withFiberSucceed = core.withFiberSucceed;
1243
1280
  * output // => [42, "Something went wrong"]
1244
1281
  * ```
1245
1282
  *
1283
+ * @stability stable
1246
1284
  * @category converting
1247
1285
  * @since 4.0.0
1248
1286
  */
@@ -1281,6 +1319,7 @@ export const fromResult = internal.fromResult;
1281
1319
  * output // => [42, "NoSuchElementError", "missing"]
1282
1320
  * ```
1283
1321
  *
1322
+ * @stability stable
1284
1323
  * @category converting
1285
1324
  * @since 4.0.0
1286
1325
  */
@@ -1313,6 +1352,7 @@ export const fromOption = internal.fromOption;
1313
1352
  * Effect.runSync(program) // => Option.some(42)
1314
1353
  * ```
1315
1354
  *
1355
+ * @stability stable
1316
1356
  * @category converting
1317
1357
  * @since 3.13.0
1318
1358
  */
@@ -1339,6 +1379,7 @@ export const transposeOption = internal.transposeOption;
1339
1379
  * output // => ["missing", "hello"]
1340
1380
  * ```
1341
1381
  *
1382
+ * @stability stable
1342
1383
  * @category converting
1343
1384
  * @since 4.0.0
1344
1385
  */
@@ -1416,6 +1457,7 @@ export const fromNullishOr = internal.fromNullishOr;
1416
1457
  * ```
1417
1458
  *
1418
1459
  * @see {@link tap} for a version that ignores the result of the effect.
1460
+ * @stability stable
1419
1461
  * @category sequencing
1420
1462
  * @since 2.0.0
1421
1463
  */
@@ -1440,6 +1482,7 @@ export const flatMap = internal.flatMap;
1440
1482
  * output // => ["hello"]
1441
1483
  * ```
1442
1484
  *
1485
+ * @stability stable
1443
1486
  * @category sequencing
1444
1487
  * @since 2.0.0
1445
1488
  */
@@ -1522,6 +1565,7 @@ export const flatten = internal.flatten;
1522
1565
  * await Effect.runPromise(result2) // => 190
1523
1566
  * ```
1524
1567
  *
1568
+ * @stability stable
1525
1569
  * @category sequencing
1526
1570
  * @since 2.0.0
1527
1571
  */
@@ -1574,6 +1618,7 @@ export const andThen = internal.andThen;
1574
1618
  * output // => ["Apply a discount to: 100", 95]
1575
1619
  * ```
1576
1620
  *
1621
+ * @stability stable
1577
1622
  * @category sequencing
1578
1623
  * @since 2.0.0
1579
1624
  */
@@ -1626,6 +1671,7 @@ export const tap = internal.tap;
1626
1671
  * @see {@link option} for a version that uses `Option` instead.
1627
1672
  * @see {@link exit} for a version that encapsulates both recoverable errors and defects in an `Exit`.
1628
1673
  *
1674
+ * @stability stable
1629
1675
  * @category error handling
1630
1676
  * @since 4.0.0
1631
1677
  */
@@ -1668,6 +1714,7 @@ export const result = internal.result;
1668
1714
  * @see {@link result} for a version that uses `Result` instead.
1669
1715
  * @see {@link exit} for a version that encapsulates both recoverable errors and defects in an `Exit`.
1670
1716
  *
1717
+ * @stability stable
1671
1718
  * @category error handling
1672
1719
  * @since 2.0.0
1673
1720
  */
@@ -1709,6 +1756,7 @@ export const option = internal.option;
1709
1756
  * @see {@link option} for a version that uses `Option` instead.
1710
1757
  * @see {@link result} for a version that uses `Result` instead.
1711
1758
  *
1759
+ * @stability stable
1712
1760
  * @category error handling
1713
1761
  * @since 2.0.0
1714
1762
  */
@@ -1772,6 +1820,7 @@ export const exit = internal.exit;
1772
1820
  * @see {@link mapError} for a version that operates on the error channel.
1773
1821
  * @see {@link mapBoth} for a version that operates on both channels.
1774
1822
  * @see {@link flatMap} or {@link andThen} for a version that can return a new effect.
1823
+ * @stability stable
1775
1824
  * @category mapping
1776
1825
  * @since 2.0.0
1777
1826
  */
@@ -1803,6 +1852,7 @@ export const map = internal.map;
1803
1852
  * @see {@link map} for deriving the replacement value from the success value
1804
1853
  * @see {@link asVoid} for replacing the success value with `void`
1805
1854
  *
1855
+ * @stability stable
1806
1856
  * @category mapping
1807
1857
  * @since 2.0.0
1808
1858
  */
@@ -1820,6 +1870,7 @@ export const as = internal.as;
1820
1870
  * Effect.runSync(program) // => Option.some(42)
1821
1871
  * ```
1822
1872
  *
1873
+ * @stability stable
1823
1874
  * @category mapping
1824
1875
  * @since 2.0.0
1825
1876
  */
@@ -1837,6 +1888,7 @@ export const asSome = internal.asSome;
1837
1888
  * Effect.runSync(program) // => undefined
1838
1889
  * ```
1839
1890
  *
1891
+ * @stability stable
1840
1892
  * @category mapping
1841
1893
  * @since 2.0.0
1842
1894
  */
@@ -1867,6 +1919,7 @@ export const asVoid = internal.asVoid;
1867
1919
  * Effect.runSync(flipped) // => "Oh uh!"
1868
1920
  * ```
1869
1921
  *
1922
+ * @stability stable
1870
1923
  * @category mapping
1871
1924
  * @since 2.0.0
1872
1925
  */
@@ -1925,6 +1978,7 @@ export const flip = internal.flip;
1925
1978
  * @see {@link zipWith} for a version that combines the results with a custom function.
1926
1979
  * @see {@link all} for collecting a larger structure of effects.
1927
1980
  *
1981
+ * @stability stable
1928
1982
  * @category zipping
1929
1983
  * @since 2.0.0
1930
1984
  */
@@ -1963,6 +2017,7 @@ export const zip = internal.zip;
1963
2017
  * Effect.runSync(task3) // => 6
1964
2018
  * ```
1965
2019
  *
2020
+ * @stability stable
1966
2021
  * @category zipping
1967
2022
  * @since 2.0.0
1968
2023
  */
@@ -1994,6 +2049,7 @@ export {
1994
2049
  *
1995
2050
  * @see {@link catchCause} for a version that can recover from both recoverable and unrecoverable errors.
1996
2051
  *
2052
+ * @stability stable
1997
2053
  * @category error handling
1998
2054
  * @since 4.0.0
1999
2055
  */
@@ -2042,6 +2098,7 @@ catch_ as catch };
2042
2098
  * @see {@link catchTags} for handling multiple tagged errors in one call
2043
2099
  * @see {@link catchIf} for recovering from errors that match a predicate
2044
2100
  *
2101
+ * @stability stable
2045
2102
  * @category error handling
2046
2103
  * @since 2.0.0
2047
2104
  */
@@ -2090,6 +2147,7 @@ export const catchTag = internal.catchTag;
2090
2147
  * Effect.runSync(handled) // => "Network error: 503"
2091
2148
  * ```
2092
2149
  *
2150
+ * @stability stable
2093
2151
  * @category error handling
2094
2152
  * @since 2.0.0
2095
2153
  */
@@ -2140,6 +2198,7 @@ export const catchTags = internal.catchTags;
2140
2198
  *
2141
2199
  * @see {@link catchReasons} for handling several nested reason tags
2142
2200
  *
2201
+ * @stability stable
2143
2202
  * @category error handling
2144
2203
  * @since 4.0.0
2145
2204
  */
@@ -2180,6 +2239,7 @@ export const catchReason = internal.catchReason;
2180
2239
  * Effect.runSync(handled) // => "Quota exceeded: 100"
2181
2240
  * ```
2182
2241
  *
2242
+ * @stability stable
2183
2243
  * @category error handling
2184
2244
  * @since 4.0.0
2185
2245
  */
@@ -2215,6 +2275,7 @@ export const catchReasons = internal.catchReasons;
2215
2275
  * Effect.runSync(Effect.flip(unwrapped))._tag // => "RateLimitError"
2216
2276
  * ```
2217
2277
  *
2278
+ * @stability stable
2218
2279
  * @category error handling
2219
2280
  * @since 4.0.0
2220
2281
  */
@@ -2260,6 +2321,7 @@ export const unwrapReason = internal.unwrapReason;
2260
2321
  * output // => ["Caught defect", "Recovered from defect"]
2261
2322
  * ```
2262
2323
  *
2324
+ * @stability stable
2263
2325
  * @category error handling
2264
2326
  * @since 4.0.0
2265
2327
  */
@@ -2304,6 +2366,7 @@ export const catchCause = internal.catchCause;
2304
2366
  * output // => ["Caught defect: Unexpected error", "Recovered from defect"]
2305
2367
  * ```
2306
2368
  *
2369
+ * @stability stable
2307
2370
  * @category error handling
2308
2371
  * @since 4.0.0
2309
2372
  */
@@ -2349,6 +2412,7 @@ export const catchDefect = internal.catchDefect;
2349
2412
  * Effect.runSync(Effect.all([recovered, recovered2])) // => ['missing:user-1', 'missing:user-1']
2350
2413
  * ```
2351
2414
  *
2415
+ * @stability stable
2352
2416
  * @category error handling
2353
2417
  * @since 2.0.0
2354
2418
  */
@@ -2374,6 +2438,7 @@ export const catchIf = internal.catchIf;
2374
2438
  * @see {@link catchTags} for recovering from several tagged errors
2375
2439
  * @see {@link catchCauseFilter} for filtering full causes instead of typed errors
2376
2440
  *
2441
+ * @stability stable
2377
2442
  * @category error handling
2378
2443
  * @since 4.0.0
2379
2444
  */
@@ -2409,6 +2474,7 @@ export const catchFilter = internal.catchFilter;
2409
2474
  * @see {@link fromNullishOr} for converting nullish values into `NoSuchElementError`
2410
2475
  * @see {@link option} for converting any failure into `Option.none`
2411
2476
  *
2477
+ * @stability stable
2412
2478
  * @category error handling
2413
2479
  * @since 4.0.0
2414
2480
  */
@@ -2453,6 +2519,7 @@ export const catchNoSuchElement = internal.catchNoSuchElement;
2453
2519
  * @see {@link catchCauseFilter} for selecting full causes with a `Filter`
2454
2520
  * @see {@link catchIf} for predicate-based recovery from typed errors
2455
2521
  *
2522
+ * @stability stable
2456
2523
  * @category error handling
2457
2524
  * @since 4.0.0
2458
2525
  */
@@ -2476,6 +2543,7 @@ export const catchCauseIf = internal.catchCauseIf;
2476
2543
  * @see {@link catchFilter} for filtering typed error values instead of full causes
2477
2544
  * @see {@link catchCause} for recovering from every cause without filtering
2478
2545
  *
2546
+ * @stability stable
2479
2547
  * @category error handling
2480
2548
  * @since 4.0.0
2481
2549
  */
@@ -2516,6 +2584,7 @@ export const catchCauseFilter = internal.catchCauseFilter;
2516
2584
  * @see {@link map} for a version that operates on the success channel.
2517
2585
  * @see {@link mapBoth} for a version that operates on both channels.
2518
2586
  *
2587
+ * @stability stable
2519
2588
  * @category error handling
2520
2589
  * @since 2.0.0
2521
2590
  */
@@ -2558,6 +2627,7 @@ export const mapError = internal.mapError;
2558
2627
  * @see {@link map} for a version that operates on the success channel.
2559
2628
  * @see {@link mapError} for a version that operates on the error channel.
2560
2629
  *
2630
+ * @stability stable
2561
2631
  * @category mapping
2562
2632
  * @since 2.0.0
2563
2633
  */
@@ -2590,6 +2660,7 @@ export const mapBoth = internal.mapBoth;
2590
2660
  * Effect.runSyncExit(program) // => Exit.die(new DivideByZeroError())
2591
2661
  * ```
2592
2662
  *
2663
+ * @stability stable
2593
2664
  * @category error handling
2594
2665
  * @since 2.0.0
2595
2666
  */
@@ -2623,6 +2694,7 @@ export const orDie = internal.orDie;
2623
2694
  * output // => ["expected error: NetworkError", Exit.fail("NetworkError")]
2624
2695
  * ```
2625
2696
  *
2697
+ * @stability stable
2626
2698
  * @category error handling
2627
2699
  * @since 2.0.0
2628
2700
  */
@@ -2661,6 +2733,7 @@ export const tapError = internal.tapError;
2661
2733
  * output // => ["expected error: 504", Exit.fail(new NetworkError({ statusCode: 504 }))]
2662
2734
  * ```
2663
2735
  *
2736
+ * @stability stable
2664
2737
  * @category error handling
2665
2738
  * @since 2.0.0
2666
2739
  */
@@ -2697,6 +2770,7 @@ export const tapErrorTag = internal.tapErrorTag;
2697
2770
  * output // => ["Logging cause: Something went wrong", Exit.fail("Something went wrong")]
2698
2771
  * ```
2699
2772
  *
2773
+ * @stability stable
2700
2774
  * @category error handling
2701
2775
  * @since 4.0.0
2702
2776
  */
@@ -2729,6 +2803,7 @@ export const tapCause = internal.tapCause;
2729
2803
  * output // => ["Logging failure cause: Network timeout", Exit.fail("Network timeout")]
2730
2804
  * ```
2731
2805
  *
2806
+ * @stability stable
2732
2807
  * @category error handling
2733
2808
  * @since 4.0.0
2734
2809
  */
@@ -2752,6 +2827,7 @@ export const tapCauseIf = internal.tapCauseIf;
2752
2827
  * @see {@link tapCause} for observing every failure cause
2753
2828
  * @see {@link catchCauseFilter} for recovering from selected causes instead of only observing them
2754
2829
  *
2830
+ * @stability stable
2755
2831
  * @category error handling
2756
2832
  * @since 4.0.0
2757
2833
  */
@@ -2787,6 +2863,7 @@ export const tapCauseFilter = internal.tapCauseFilter;
2787
2863
  * output // => ["defect: Something went wrong", Exit.die("Something went wrong")]
2788
2864
  * ```
2789
2865
  *
2866
+ * @stability stable
2790
2867
  * @category error handling
2791
2868
  * @since 2.0.0
2792
2869
  */
@@ -2821,6 +2898,7 @@ export const tapDefect = internal.tapDefect;
2821
2898
  * output // => ["Attempt 1", "Attempt 2", "Attempt 3", "Ready"]
2822
2899
  * ```
2823
2900
  *
2901
+ * @stability stable
2824
2902
  * @category repetition
2825
2903
  * @since 2.0.0
2826
2904
  */
@@ -2873,6 +2951,7 @@ export const eventually = internal.eventually;
2873
2951
  *
2874
2952
  * @see {@link retryOrElse} for a version that allows you to run a fallback.
2875
2953
  * @see {@link repeat} if your retry condition is based on successful outcomes rather than errors.
2954
+ * @stability stable
2876
2955
  * @category error handling
2877
2956
  * @since 2.0.0
2878
2957
  */
@@ -2927,6 +3006,7 @@ export const retry = internalSchedule.retry;
2927
3006
  * ```
2928
3007
  *
2929
3008
  * @see {@link retry} for a version that does not run a fallback effect.
3009
+ * @stability stable
2930
3010
  * @category error handling
2931
3011
  * @since 2.0.0
2932
3012
  */
@@ -2956,6 +3036,7 @@ export const retryOrElse = internalSchedule.retryOrElse;
2956
3036
  * Effect.runSync(program) // => "Caught cause: Something went wrong"
2957
3037
  * ```
2958
3038
  *
3039
+ * @stability stable
2959
3040
  * @category error handling
2960
3041
  * @since 2.0.0
2961
3042
  */
@@ -2999,6 +3080,7 @@ export const sandbox = internal.sandbox;
2999
3080
  * Effect.runSync(program) // => undefined
3000
3081
  * ```
3001
3082
  *
3083
+ * @stability stable
3002
3084
  * @category error handling
3003
3085
  * @since 2.0.0
3004
3086
  */
@@ -3027,6 +3109,7 @@ export const ignore = internal.ignore;
3027
3109
  * Effect.runSync(program) // => undefined
3028
3110
  * ```
3029
3111
  *
3112
+ * @stability stable
3030
3113
  * @category error handling
3031
3114
  * @since 4.0.0
3032
3115
  */
@@ -3103,6 +3186,7 @@ export const ignoreCause = internal.ignoreCause;
3103
3186
  * events // => ["AttemptStart:0", "AttemptFailure:0", "AttemptStart:1", "AttemptSuccess:1"]
3104
3187
  * ```
3105
3188
  *
3189
+ * @stability unstable
3106
3190
  * @category error handling
3107
3191
  * @since 3.16.0
3108
3192
  */
@@ -3115,6 +3199,7 @@ export const withExecutionPlan = internalExecutionPlan.withExecutionPlan;
3115
3199
  * If the `defectsOnly` option is set to `true`, only defects (unrecoverable
3116
3200
  * errors) will be reported, while regular failures will be ignored.
3117
3201
  *
3202
+ * @stability unstable
3118
3203
  * @category error handling
3119
3204
  * @since 4.0.0
3120
3205
  */
@@ -3154,6 +3239,7 @@ export const withErrorReporting = internal.withErrorReporting;
3154
3239
  * Effect.runSyncExit(program) // => Exit.succeed(0)
3155
3240
  * ```
3156
3241
  *
3242
+ * @stability stable
3157
3243
  * @category error handling
3158
3244
  * @since 2.0.0
3159
3245
  */
@@ -3198,6 +3284,7 @@ export const orElseSucceed = internal.orElseSucceed;
3198
3284
  * Effect.runSync(program) // => "secondary result"
3199
3285
  * ```
3200
3286
  *
3287
+ * @stability stable
3201
3288
  * @category error handling
3202
3289
  * @since 2.0.0
3203
3290
  */
@@ -3239,6 +3326,7 @@ export const firstSuccessOf = internal.firstSuccessOf;
3239
3326
  * @see {@link timeoutOption} for returning `Option.none` on timeout.
3240
3327
  * @see {@link timeoutOrElse} for a version that allows specifying both success and timeout handlers.
3241
3328
  *
3329
+ * @stability stable
3242
3330
  * @category delays & timeouts
3243
3331
  * @since 2.0.0
3244
3332
  */
@@ -3270,6 +3358,7 @@ export const timeout = internal.timeout;
3270
3358
  * @see {@link timeout} for a version that raises a `TimeoutError`.
3271
3359
  * @see {@link timeoutOrElse} for a version that allows specifying both success and timeout handlers.
3272
3360
  *
3361
+ * @stability stable
3273
3362
  * @category delays & timeouts
3274
3363
  * @since 3.1.0
3275
3364
  */
@@ -3298,6 +3387,7 @@ export const timeoutOption = internal.timeoutOption;
3298
3387
  * @see {@link timeout} for failing with a `TimeoutError`.
3299
3388
  * @see {@link timeoutOption} for returning `Option.none` on timeout.
3300
3389
  *
3390
+ * @stability stable
3301
3391
  * @category delays & timeouts
3302
3392
  * @since 4.0.0
3303
3393
  */
@@ -3318,6 +3408,7 @@ export const timeoutOrElse = internal.timeoutOrElse;
3318
3408
  * output // => ["Delayed message"]
3319
3409
  * ```
3320
3410
  *
3411
+ * @stability stable
3321
3412
  * @category delays & timeouts
3322
3413
  * @since 2.0.0
3323
3414
  */
@@ -3342,6 +3433,7 @@ export const delay = internal.delay;
3342
3433
  * output // => ["Start", "End"]
3343
3434
  * ```
3344
3435
  *
3436
+ * @stability stable
3345
3437
  * @category delays & timeouts
3346
3438
  * @since 2.0.0
3347
3439
  */
@@ -3367,6 +3459,7 @@ export const sleep = internal.sleep;
3367
3459
  * Effect.runSync(program) // => "ok"
3368
3460
  * ```
3369
3461
  *
3462
+ * @stability stable
3370
3463
  * @category delays & timeouts
3371
3464
  * @since 2.0.0
3372
3465
  */
@@ -3402,6 +3495,7 @@ export const timed = internal.timed;
3402
3495
  * ```
3403
3496
  *
3404
3497
  * @see {@link race} for a version that handles only two effects.
3498
+ * @stability stable
3405
3499
  * @category racing
3406
3500
  * @since 2.0.0
3407
3501
  */
@@ -3428,6 +3522,7 @@ export const raceAll = internal.raceAll;
3428
3522
  * await Effect.runPromise(Effect.flip(raced)) // => "First failed"
3429
3523
  * ```
3430
3524
  *
3525
+ * @stability stable
3431
3526
  * @category racing
3432
3527
  * @since 4.0.0
3433
3528
  */
@@ -3458,6 +3553,7 @@ export const raceAllFirst = internal.raceAllFirst;
3458
3553
  * output // => ["winner: slow-success"]
3459
3554
  * ```
3460
3555
  *
3556
+ * @stability stable
3461
3557
  * @category racing
3462
3558
  * @since 2.0.0
3463
3559
  */
@@ -3496,6 +3592,7 @@ export const race = internal.race;
3496
3592
  * output // => ["failed: fast-fail"]
3497
3593
  * ```
3498
3594
  *
3595
+ * @stability stable
3499
3596
  * @category racing
3500
3597
  * @since 2.0.0
3501
3598
  */
@@ -3524,6 +3621,7 @@ export const raceFirst = internal.raceFirst;
3524
3621
  * output // => [[2, 4], [2, 3]]
3525
3622
  * ```
3526
3623
  *
3624
+ * @stability stable
3527
3625
  * @category collecting
3528
3626
  * @since 2.0.0
3529
3627
  */
@@ -3544,6 +3642,7 @@ export const filter = internal.filter;
3544
3642
  * @see {@link filter} for keeping original elements with a boolean predicate, refinement, or effectful predicate
3545
3643
  * @see {@link filterMapEffect} for using an effectful `Filter`
3546
3644
  *
3645
+ * @stability stable
3547
3646
  * @category collecting
3548
3647
  * @since 2.0.0
3549
3648
  */
@@ -3569,6 +3668,7 @@ export const filterMap = internal.filterMap;
3569
3668
  * @see {@link filterMap} for using a synchronous `Filter`
3570
3669
  * @see {@link filter} for keeping original elements with a predicate
3571
3670
  *
3671
+ * @stability stable
3572
3672
  * @category collecting
3573
3673
  * @since 4.0.0
3574
3674
  */
@@ -3606,6 +3706,7 @@ export const filterMapEffect = internal.filterMapEffect;
3606
3706
  * Effect.runSync(filtered) // => "Number 5 is odd"
3607
3707
  * ```
3608
3708
  *
3709
+ * @stability stable
3609
3710
  * @category filtering
3610
3711
  * @since 2.0.0
3611
3712
  */
@@ -3627,6 +3728,7 @@ export const filterOrElse = internal.filterOrElse;
3627
3728
  * @see {@link filterOrElse} for using a predicate and fallback effect
3628
3729
  * @see {@link filterMapOrFail} for failing the effect when the filter fails
3629
3730
  *
3731
+ * @stability stable
3630
3732
  * @category filtering
3631
3733
  * @since 4.0.0
3632
3734
  */
@@ -3658,6 +3760,7 @@ export const filterMapOrElse = internal.filterMapOrElse;
3658
3760
  * Effect.runSync(Effect.flip(filtered)) // => "Expected even number, got 5"
3659
3761
  * ```
3660
3762
  *
3763
+ * @stability stable
3661
3764
  * @category filtering
3662
3765
  * @since 2.0.0
3663
3766
  */
@@ -3679,6 +3782,7 @@ export const filterOrFail = internal.filterOrFail;
3679
3782
  * @see {@link filterOrFail} for validating with a predicate instead of a `Filter`
3680
3783
  * @see {@link filterMap} for filtering and mapping iterable elements
3681
3784
  *
3785
+ * @stability stable
3682
3786
  * @category filtering
3683
3787
  * @since 4.0.0
3684
3788
  */
@@ -3719,6 +3823,7 @@ export const filterMapOrFail = internal.filterMapOrFail;
3719
3823
  * output // => ["Condition is true!", Option.some(undefined)]
3720
3824
  * ```
3721
3825
  *
3826
+ * @stability stable
3722
3827
  * @category filtering
3723
3828
  * @since 2.0.0
3724
3829
  */
@@ -3773,6 +3878,7 @@ export const when = internal.when;
3773
3878
  * ```
3774
3879
  *
3775
3880
  * @see {@link matchEffect} if you need to perform side effects in the handlers.
3881
+ * @stability stable
3776
3882
  * @category pattern matching
3777
3883
  * @since 2.0.0
3778
3884
  */
@@ -3813,6 +3919,7 @@ export const match = internal.match;
3813
3919
  *
3814
3920
  * @see {@link match} for the non-eager version.
3815
3921
  * @see {@link matchEffect} if you need to perform side effects in the handlers.
3922
+ * @stability stable
3816
3923
  * @category pattern matching
3817
3924
  * @since 4.0.0
3818
3925
  */
@@ -3848,6 +3955,7 @@ export const matchEager = internal.matchEager;
3848
3955
  * @see {@link matchCauseEffect} if you need to perform side effects in the
3849
3956
  * handlers.
3850
3957
  * @see {@link match} if you don't need to handle the cause of the failure.
3958
+ * @stability stable
3851
3959
  * @category pattern matching
3852
3960
  * @since 2.0.0
3853
3961
  */
@@ -3878,6 +3986,7 @@ export const matchCause = internal.matchCause;
3878
3986
  * Effect.runSync(handleResult) // => "Success: 42"
3879
3987
  * ```
3880
3988
  *
3989
+ * @stability stable
3881
3990
  * @category pattern matching
3882
3991
  * @since 4.0.0
3883
3992
  */
@@ -3899,6 +4008,7 @@ export const matchCauseEager = internal.matchCauseEager;
3899
4008
  * @see {@link matchCauseEager} for eager cause matching with pure handlers
3900
4009
  * @see {@link matchEffect} for effectful matching on typed failures instead of full causes
3901
4010
  *
4011
+ * @stability stable
3902
4012
  * @category pattern matching
3903
4013
  * @since 4.0.0
3904
4014
  */
@@ -3958,6 +4068,7 @@ export const matchCauseEffectEager = internal.matchCauseEffectEager;
3958
4068
  * @see {@link matchCause} if you don't need side effects and only want to handle the result or failure.
3959
4069
  * @see {@link matchEffect} if you don't need to handle the cause of the failure.
3960
4070
  *
4071
+ * @stability stable
3961
4072
  * @category pattern matching
3962
4073
  * @since 2.0.0
3963
4074
  */
@@ -4009,6 +4120,7 @@ export const matchCauseEffect = internal.matchCauseEffect;
4009
4120
  *
4010
4121
  * @see {@link match} if you don't need side effects and only want to handle the
4011
4122
  * result or failure.
4123
+ * @stability stable
4012
4124
  * @category pattern matching
4013
4125
  * @since 2.0.0
4014
4126
  */
@@ -4038,6 +4150,7 @@ export const matchEffect = internal.matchEffect;
4038
4150
  * output // => [true]
4039
4151
  * ```
4040
4152
  *
4153
+ * @stability stable
4041
4154
  * @category predicates
4042
4155
  * @since 2.0.0
4043
4156
  */
@@ -4067,6 +4180,7 @@ export const isFailure = internal.isFailure;
4067
4180
  * output // => ["ok: true", "failed: false"]
4068
4181
  * ```
4069
4182
  *
4183
+ * @stability stable
4070
4184
  * @category predicates
4071
4185
  * @since 2.0.0
4072
4186
  */
@@ -4122,6 +4236,7 @@ export const isSuccess = internal.isSuccess;
4122
4236
  * @see {@link contextWith} for deriving an effect from the complete context
4123
4237
  * @see {@link service} for reading one service from the context
4124
4238
  *
4239
+ * @stability stable
4125
4240
  * @category accessors
4126
4241
  * @since 2.0.0
4127
4242
  */
@@ -4180,6 +4295,7 @@ export const context = internal.context;
4180
4295
  * @see {@link context} for reading the complete context as a value
4181
4296
  * @see {@link service} for reading one service from the context
4182
4297
  *
4298
+ * @stability stable
4183
4299
  * @category accessors
4184
4300
  * @since 2.0.0
4185
4301
  */
@@ -4214,6 +4330,7 @@ export const contextWith = internal.contextWith;
4214
4330
  * await Effect.runPromise(provided) // => "Result for: SELECT * FROM users"
4215
4331
  * ```
4216
4332
  *
4333
+ * @stability stable
4217
4334
  * @category providing services
4218
4335
  * @since 2.0.0
4219
4336
  */
@@ -4258,6 +4375,7 @@ export const provide = internalLayer.provide;
4258
4375
  * output // => ["Querying database", "result"]
4259
4376
  * ```
4260
4377
  *
4378
+ * @stability stable
4261
4379
  * @category providing services
4262
4380
  * @since 4.0.0
4263
4381
  */
@@ -4300,6 +4418,7 @@ export const provideContext = internal.provideContext;
4300
4418
  * @see {@link provideContext} for partially satisfying an effect's context requirements.
4301
4419
  * @see {@link updateContext} for deriving the required context from the current one.
4302
4420
  *
4421
+ * @stability stable
4303
4422
  * @category providing services
4304
4423
  * @since 4.0.0
4305
4424
  */
@@ -4329,6 +4448,7 @@ export const setContext = internal.setContext;
4329
4448
  * Effect.runSync(runnable) // => "Result for: SELECT * FROM users"
4330
4449
  * ```
4331
4450
  *
4451
+ * @stability stable
4332
4452
  * @category accessors
4333
4453
  * @since 4.0.0
4334
4454
  */
@@ -4374,6 +4494,7 @@ export const service = internal.service;
4374
4494
  * output // => ["Service not available"]
4375
4495
  * ```
4376
4496
  *
4497
+ * @stability stable
4377
4498
  * @category accessors
4378
4499
  * @since 2.0.0
4379
4500
  */
@@ -4417,6 +4538,7 @@ export const serviceOption = internal.serviceOption;
4417
4538
  * Effect.runSync(result) // => "Hello World!"
4418
4539
  * ```
4419
4540
  *
4541
+ * @stability stable
4420
4542
  * @category providing services
4421
4543
  * @since 4.0.0
4422
4544
  */
@@ -4453,6 +4575,7 @@ export const updateContext = internal.updateContext;
4453
4575
  * output // => ["Updated count: 1", 1]
4454
4576
  * ```
4455
4577
  *
4578
+ * @stability stable
4456
4579
  * @category providing services
4457
4580
  * @since 2.0.0
4458
4581
  */
@@ -4513,6 +4636,7 @@ export const updateService = internal.updateService;
4513
4636
  *
4514
4637
  * @see {@link updateService} for updating a service only within a wrapped effect
4515
4638
  *
4639
+ * @stability stable
4516
4640
  * @category providing services
4517
4641
  * @since 4.0.0
4518
4642
  */
@@ -4561,6 +4685,7 @@ export const updateServiceScoped = internal.updateServiceScoped;
4561
4685
  * @see {@link provide} for providing multiple layers to an effect.
4562
4686
  * @see {@link provideServiceEffect} for acquiring the service implementation effectfully.
4563
4687
  * @see {@link provideContext} for providing a complete context.
4688
+ * @stability stable
4564
4689
  * @category providing services
4565
4690
  * @since 2.0.0
4566
4691
  */
@@ -4617,6 +4742,7 @@ export const provideService = internal.provideService;
4617
4742
  * output // => ["Establishing database connection...", "Database connected!", "Result for: SELECT * FROM users"]
4618
4743
  * ```
4619
4744
  *
4745
+ * @stability stable
4620
4746
  * @category providing services
4621
4747
  * @since 2.0.0
4622
4748
  */
@@ -4650,6 +4776,7 @@ export const provideServiceEffect = internal.provideServiceEffect;
4650
4776
  * output // => ["Got scope for resource management", "Acquiring resource", "Releasing resource", "resource"]
4651
4777
  * ```
4652
4778
  *
4779
+ * @stability stable
4653
4780
  * @category resource management
4654
4781
  * @since 2.0.0
4655
4782
  */
@@ -4689,6 +4816,7 @@ export const scope = internal.scope;
4689
4816
  * output // => ["Acquiring resource", "Using resource", "Releasing resource"]
4690
4817
  * ```
4691
4818
  *
4819
+ * @stability stable
4692
4820
  * @category resource management
4693
4821
  * @since 2.0.0
4694
4822
  */
@@ -4730,6 +4858,7 @@ export const scoped = internal.scoped;
4730
4858
  * output // => ["Inside scoped context", "Acquiring resource", "Releasing resource", "Manual finalizer", "resource"]
4731
4859
  * ```
4732
4860
  *
4861
+ * @stability stable
4733
4862
  * @category resource management
4734
4863
  * @since 3.11.0
4735
4864
  */
@@ -4796,6 +4925,7 @@ export const scopedWith = internal.scopedWith;
4796
4925
  * @see {@link acquireDisposable} for resources that implement JavaScript disposal protocols
4797
4926
  * @see {@link acquireUseRelease} for bracketing acquire, use, and release in one effect
4798
4927
  *
4928
+ * @stability stable
4799
4929
  * @category resource management
4800
4930
  * @since 2.0.0
4801
4931
  */
@@ -4845,6 +4975,7 @@ export const acquireRelease = internal.acquireRelease;
4845
4975
  *
4846
4976
  * @see {@link acquireRelease} for resources that need an explicit finalizer
4847
4977
  *
4978
+ * @stability stable
4848
4979
  * @category resource management
4849
4980
  * @since 4.0.0
4850
4981
  */
@@ -4920,6 +5051,7 @@ export const acquireDisposable = internal.acquireDisposable;
4920
5051
  *
4921
5052
  * @see {@link acquireRelease} for scoped resources whose use happens later
4922
5053
  *
5054
+ * @stability stable
4923
5055
  * @category resource management
4924
5056
  * @since 2.0.0
4925
5057
  */
@@ -4967,6 +5099,7 @@ export const acquireUseRelease = internal.acquireUseRelease;
4967
5099
  * @see {@link acquireRelease} for resource acquisition with a release finalizer
4968
5100
  * @see {@link ensuring} for attaching a finalizer to one effect
4969
5101
  *
5102
+ * @stability stable
4970
5103
  * @category resource management
4971
5104
  * @since 2.0.0
4972
5105
  */
@@ -5006,6 +5139,7 @@ export const addFinalizer = internal.addFinalizer;
5006
5139
  * output // => ["Task started", "Task completed", "Cleanup: This always runs!", 42]
5007
5140
  * ```
5008
5141
  *
5142
+ * @stability stable
5009
5143
  * @category resource management
5010
5144
  * @since 2.0.0
5011
5145
  */
@@ -5034,6 +5168,7 @@ export const ensuring = internal.ensuring;
5034
5168
  * output // => ["Cleanup on error: TaskError: Something went wrong", Exit.fail(error)]
5035
5169
  * ```
5036
5170
  *
5171
+ * @stability stable
5037
5172
  * @category resource management
5038
5173
  * @since 2.0.0
5039
5174
  */
@@ -5063,6 +5198,7 @@ export const onError = internal.onError;
5063
5198
  * output // => ["Cause: boom", Exit.fail("boom")]
5064
5199
  * ```
5065
5200
  *
5201
+ * @stability stable
5066
5202
  * @category resource management
5067
5203
  * @since 4.0.0
5068
5204
  */
@@ -5080,6 +5216,7 @@ export const onErrorIf = internal.onErrorIf;
5080
5216
  * @see {@link onErrorIf} for selecting failures with a boolean predicate
5081
5217
  * @see {@link onExitFilter} for selecting from every exit instead of only failures
5082
5218
  *
5219
+ * @stability stable
5083
5220
  * @category resource management
5084
5221
  * @since 4.0.0
5085
5222
  */
@@ -5102,6 +5239,7 @@ export const onErrorFilter = internal.onErrorFilter;
5102
5239
  *
5103
5240
  * @see {@link onExit} for ordinary exit-aware cleanup whose finalizer always returns an effect
5104
5241
  *
5242
+ * @stability stable
5105
5243
  * @category resource management
5106
5244
  * @since 4.0.0
5107
5245
  */
@@ -5133,6 +5271,7 @@ export const onExitPrimitive = internal.onExitPrimitive;
5133
5271
  * output // => ["Task succeeded with: 42", 42]
5134
5272
  * ```
5135
5273
  *
5274
+ * @stability stable
5136
5275
  * @category resource management
5137
5276
  * @since 2.0.0
5138
5277
  */
@@ -5160,6 +5299,7 @@ export const onExit = internal.onExit;
5160
5299
  * output // => ["Succeeded with: 42", 42]
5161
5300
  * ```
5162
5301
  *
5302
+ * @stability stable
5163
5303
  * @category resource management
5164
5304
  * @since 4.0.0
5165
5305
  */
@@ -5182,6 +5322,7 @@ export const onExitIf = internal.onExitIf;
5182
5322
  * @see {@link onExitIf} for selecting exits with a boolean predicate
5183
5323
  * @see {@link onErrorFilter} for selecting only failure causes
5184
5324
  *
5325
+ * @stability stable
5185
5326
  * @category resource management
5186
5327
  * @since 4.0.0
5187
5328
  */
@@ -5205,6 +5346,11 @@ export const onExitFilter = internal.onExitFilter;
5205
5346
  * evaluations of the same effect will return the cached result without
5206
5347
  * re-executing the logic.
5207
5348
  *
5349
+ * Concurrent callers share the pending computation, which is interrupted only
5350
+ * once every caller waiting on it has been interrupted. Interrupted
5351
+ * computations are never cached, so the next evaluation starts a fresh
5352
+ * computation.
5353
+ *
5208
5354
  * **Example** (Memoizing an effect until invalidated)
5209
5355
  *
5210
5356
  * ```ts import.meta.vitest
@@ -5236,6 +5382,7 @@ export const onExitFilter = internal.onExitFilter;
5236
5382
  * time-to-live duration for the cached value.
5237
5383
  * @see {@link cachedInvalidateWithTTL} for a similar function that includes an
5238
5384
  * additional effect for manually invalidating the cached value.
5385
+ * @stability stable
5239
5386
  * @category caching
5240
5387
  * @since 2.0.0
5241
5388
  */
@@ -5265,11 +5412,12 @@ export const cached = internal.cached;
5265
5412
  * `Duration.Input`. The function runs once after each fresh computation,
5266
5413
  * including failures, so successes and failures can have different TTLs. It
5267
5414
  * does not run when the cache is created or when a cached result is reused.
5268
- * The callback also receives interruption exits, which are cached for the
5269
- * returned duration.
5415
+ * Interrupted computations are never cached and do not call the function.
5270
5416
  *
5271
5417
  * The TTL starts when the computation completes. Concurrent callers share the
5272
- * pending computation. A zero TTL expires immediately, and an infinite TTL
5418
+ * pending computation, which is interrupted only once every caller waiting on
5419
+ * it has been interrupted. The next evaluation then starts a fresh
5420
+ * computation. A zero TTL expires immediately, and an infinite TTL
5273
5421
  * keeps the result indefinitely.
5274
5422
  *
5275
5423
  * **Example** (Memoizing an effect with TTL)
@@ -5320,13 +5468,14 @@ export const cached = internal.cached;
5320
5468
  * indefinitely.
5321
5469
  * @see {@link cachedInvalidateWithTTL} for a similar function that includes an
5322
5470
  * additional effect for manually invalidating the cached value.
5471
+ * @stability stable
5323
5472
  * @category caching
5324
5473
  * @since 2.0.0
5325
5474
  */
5326
5475
  export const cachedWithTTL = internal.cachedWithTTL;
5327
5476
  /**
5328
- * Creates a cached effect result for a specified duration and allows manual
5329
- * invalidation before expiration.
5477
+ * Creates a cached effect result for a fixed duration or a duration computed
5478
+ * from its `Exit` and allows manual invalidation before expiration.
5330
5479
  *
5331
5480
  * **When to use**
5332
5481
  *
@@ -5379,6 +5528,7 @@ export const cachedWithTTL = internal.cachedWithTTL;
5379
5528
  * indefinitely.
5380
5529
  * @see {@link cachedWithTTL} for a similar function that caches the result for
5381
5530
  * a specified duration but does not include an effect for manual invalidation.
5531
+ * @stability stable
5382
5532
  * @category caching
5383
5533
  * @since 2.0.0
5384
5534
  */
@@ -5402,6 +5552,7 @@ export const cachedInvalidateWithTTL = internal.cachedInvalidateWithTTL;
5402
5552
  * Effect.runSyncExit(program)._tag // => "Failure"
5403
5553
  * ```
5404
5554
  *
5555
+ * @stability stable
5405
5556
  * @category interruption
5406
5557
  * @since 2.0.0
5407
5558
  */
@@ -5420,6 +5571,7 @@ export const interrupt = internal.interrupt;
5420
5571
  * await Effect.runPromise(program) // => Option.none()
5421
5572
  * ```
5422
5573
  *
5574
+ * @stability stable
5423
5575
  * @category interruption
5424
5576
  * @since 2.0.0
5425
5577
  */
@@ -5445,6 +5597,7 @@ export const interruptible = internal.interruptible;
5445
5597
  * output // => ["Task was interrupted, cleaning up..."]
5446
5598
  * ```
5447
5599
  *
5600
+ * @stability stable
5448
5601
  * @category interruption
5449
5602
  * @since 2.0.0
5450
5603
  */
@@ -5469,6 +5622,7 @@ export const onInterrupt = internal.onInterrupt;
5469
5622
  * output // => ["Starting critical section...", "Critical section completed"]
5470
5623
  * ```
5471
5624
  *
5625
+ * @stability stable
5472
5626
  * @category interruption
5473
5627
  * @since 2.0.0
5474
5628
  */
@@ -5501,6 +5655,7 @@ export const uninterruptible = internal.uninterruptible;
5501
5655
  * output // => ["Uninterruptible phase...", "Interruptible phase...", "Back to uninterruptible"]
5502
5656
  * ```
5503
5657
  *
5658
+ * @stability stable
5504
5659
  * @category interruption
5505
5660
  * @since 2.0.0
5506
5661
  */
@@ -5533,6 +5688,7 @@ export const uninterruptibleMask = internal.uninterruptibleMask;
5533
5688
  * output // => ["Interruptible phase...", "Uninterruptible phase...", "Back to interruptible"]
5534
5689
  * ```
5535
5690
  *
5691
+ * @stability stable
5536
5692
  * @category interruption
5537
5693
  * @since 2.0.0
5538
5694
  */
@@ -5558,6 +5714,7 @@ export const interruptibleMask = internal.interruptibleMask;
5558
5714
  *
5559
5715
  * @see {@link scoped} for binding resource lifetime to a scope
5560
5716
  *
5717
+ * @stability stable
5561
5718
  * @category interruption
5562
5719
  * @since 4.0.0
5563
5720
  */
@@ -5574,6 +5731,7 @@ export const abortSignal = internal.abortSignal;
5574
5731
  * await Effect.runPromise(program) // => Option.none()
5575
5732
  * ```
5576
5733
  *
5734
+ * @stability stable
5577
5735
  * @category repetition
5578
5736
  * @since 2.0.0
5579
5737
  */
@@ -5655,6 +5813,7 @@ export const forever = internal.forever;
5655
5813
  * @see {@link retry} for failure-based repetition
5656
5814
  * @see {@link repeatOrElse} for fallback handling when repetition fails
5657
5815
  *
5816
+ * @stability stable
5658
5817
  * @category repetition
5659
5818
  * @since 2.0.0
5660
5819
  */
@@ -5707,6 +5866,7 @@ export const repeat = internalSchedule.repeat;
5707
5866
  * output // => ["Attempt 1 failed", "Final failure: Error 1, after 0 attempts", 0]
5708
5867
  * ```
5709
5868
  *
5869
+ * @stability stable
5710
5870
  * @category repetition
5711
5871
  * @since 2.0.0
5712
5872
  */
@@ -5726,6 +5886,7 @@ export const repeatOrElse = internalSchedule.repeatOrElse;
5726
5886
  * @see {@link all} for running the returned effects and collecting results
5727
5887
  * @see {@link replicateEffect} for repeating an effect and collecting results in one step with concurrency and discard options
5728
5888
  *
5889
+ * @stability stable
5729
5890
  * @category repetition
5730
5891
  * @since 2.0.0
5731
5892
  */
@@ -5757,6 +5918,7 @@ export const replicate = internal.replicate;
5757
5918
  * output // => [[1, 1, 1]]
5758
5919
  * ```
5759
5920
  *
5921
+ * @stability stable
5760
5922
  * @category repetition
5761
5923
  * @since 2.0.0
5762
5924
  */
@@ -5798,6 +5960,7 @@ export const replicateEffect = internal.replicateEffect;
5798
5960
  * @see {@link scheduleFrom} for a variant that allows the schedule's decision
5799
5961
  * to depend on the result of this effect.
5800
5962
  *
5963
+ * @stability stable
5801
5964
  * @category repetition
5802
5965
  * @since 2.0.0
5803
5966
  */
@@ -5837,6 +6000,7 @@ export const schedule = /*#__PURE__*/dual(2, (self, schedule) => scheduleFrom(se
5837
6000
  * output // => ["Processing: 0", "Processing: 0", 2]
5838
6001
  * ```
5839
6002
  *
6003
+ * @stability stable
5840
6004
  * @category repetition
5841
6005
  * @since 2.0.0
5842
6006
  */
@@ -5860,6 +6024,7 @@ export const scheduleFrom = internalSchedule.scheduleFrom;
5860
6024
  * Effect.runSync(program) // => "function"
5861
6025
  * ```
5862
6026
  *
6027
+ * @stability stable
5863
6028
  * @category tracing
5864
6029
  * @since 2.0.0
5865
6030
  */
@@ -5880,6 +6045,7 @@ export const tracer = internal.tracer;
5880
6045
  * Effect.runSync(program) // => "completed"
5881
6046
  * ```
5882
6047
  *
6048
+ * @stability stable
5883
6049
  * @category tracing
5884
6050
  * @since 2.0.0
5885
6051
  */
@@ -5905,6 +6071,7 @@ export const withTracer = internal.withTracer;
5905
6071
  * Effect.runSync(program) // => 42
5906
6072
  * ```
5907
6073
  *
6074
+ * @stability stable
5908
6075
  * @category tracing
5909
6076
  * @since 2.0.0
5910
6077
  */
@@ -5925,6 +6092,7 @@ export const withTracerEnabled = internal.withTracerEnabled;
5925
6092
  * Effect.runSync(program) // => 42
5926
6093
  * ```
5927
6094
  *
6095
+ * @stability stable
5928
6096
  * @category tracing
5929
6097
  * @since 2.0.0
5930
6098
  */
@@ -5952,6 +6120,7 @@ export const withTracerTiming = internal.withTracerTiming;
5952
6120
  * Effect.runSync(Effect.all([annotated1, annotated2])) // => ['result', 'result']
5953
6121
  * ```
5954
6122
  *
6123
+ * @stability stable
5955
6124
  * @category tracing
5956
6125
  * @since 2.0.0
5957
6126
  */
@@ -5976,6 +6145,7 @@ export const annotateSpans = internal.annotateSpans;
5976
6145
  * Effect.runSync(traced) // => "success"
5977
6146
  * ```
5978
6147
  *
6148
+ * @stability stable
5979
6149
  * @category tracing
5980
6150
  * @since 2.0.0
5981
6151
  */
@@ -6002,6 +6172,7 @@ export const annotateCurrentSpan = internal.annotateCurrentSpan;
6002
6172
  * Effect.runSync(traced) // => "my-span"
6003
6173
  * ```
6004
6174
  *
6175
+ * @stability stable
6005
6176
  * @category tracing
6006
6177
  * @since 2.0.0
6007
6178
  */
@@ -6031,6 +6202,7 @@ export const currentSpan = internal.currentSpan;
6031
6202
  * Effect.runSync(traced) // => "Span"
6032
6203
  * ```
6033
6204
  *
6205
+ * @stability stable
6034
6206
  * @category tracing
6035
6207
  * @since 2.0.0
6036
6208
  */
@@ -6056,6 +6228,7 @@ export const currentParentSpan = internal.currentParentSpan;
6056
6228
  * Effect.runSync(program) // => { userId: '123', operation: 'data-processing' }
6057
6229
  * ```
6058
6230
  *
6231
+ * @stability stable
6059
6232
  * @category tracing
6060
6233
  * @since 2.0.0
6061
6234
  */
@@ -6082,6 +6255,7 @@ export const spanAnnotations = internal.spanAnnotations;
6082
6255
  * Effect.runSync(program).length // => 0
6083
6256
  * ```
6084
6257
  *
6258
+ * @stability stable
6085
6259
  * @category tracing
6086
6260
  * @since 2.0.0
6087
6261
  */
@@ -6130,6 +6304,7 @@ export const spanLinks = internal.spanLinks;
6130
6304
  * Effect.runSync(program).length // => 2
6131
6305
  * ```
6132
6306
  *
6307
+ * @stability stable
6133
6308
  * @category tracing
6134
6309
  * @since 2.0.0
6135
6310
  */
@@ -6156,6 +6331,7 @@ export const linkSpans = internal.linkSpans;
6156
6331
  * Effect.runSync(program) // => "my-operation"
6157
6332
  * ```
6158
6333
  *
6334
+ * @stability stable
6159
6335
  * @category tracing
6160
6336
  * @since 2.0.0
6161
6337
  */
@@ -6185,6 +6361,7 @@ export const makeSpan = internal.makeSpan;
6185
6361
  * Effect.runSync(program) // => "scoped-operation"
6186
6362
  * ```
6187
6363
  *
6364
+ * @stability stable
6188
6365
  * @category tracing
6189
6366
  * @since 2.0.0
6190
6367
  */
@@ -6210,6 +6387,7 @@ export const makeSpanScoped = internal.makeSpanScoped;
6210
6387
  * Effect.runSync(program) // => "user-operation: success"
6211
6388
  * ```
6212
6389
  *
6390
+ * @stability stable
6213
6391
  * @category tracing
6214
6392
  * @since 2.0.0
6215
6393
  */
@@ -6230,6 +6408,7 @@ export const useSpan = internal.useSpan;
6230
6408
  * Effect.runSync(traced) // => "result"
6231
6409
  * ```
6232
6410
  *
6411
+ * @stability stable
6233
6412
  * @category tracing
6234
6413
  * @since 2.0.0
6235
6414
  */
@@ -6256,6 +6435,7 @@ export const withSpan = internal.withSpan;
6256
6435
  * Effect.runSync(program) // => "completed"
6257
6436
  * ```
6258
6437
  *
6438
+ * @stability stable
6259
6439
  * @category tracing
6260
6440
  * @since 2.0.0
6261
6441
  */
@@ -6277,6 +6457,7 @@ export const withSpanScoped = internal.withSpanScoped;
6277
6457
  * Effect.runSync(program) // => "completed"
6278
6458
  * ```
6279
6459
  *
6460
+ * @stability stable
6280
6461
  * @category tracing
6281
6462
  * @since 2.0.0
6282
6463
  */
@@ -6322,6 +6503,7 @@ export const withParentSpan = internal.withParentSpan;
6322
6503
  *
6323
6504
  * @see {@link requestUnsafe} for the low-level entry point when you already have a `Context` and need to enqueue outside an `Effect`
6324
6505
  *
6506
+ * @stability stable
6325
6507
  * @category running
6326
6508
  * @since 2.0.0
6327
6509
  */
@@ -6340,6 +6522,7 @@ export const request = internalRequest.request;
6340
6522
  *
6341
6523
  * @see {@link request} for the `Effect`-returning API used for normal request execution
6342
6524
  *
6525
+ * @stability stable
6343
6526
  * @category unsafe
6344
6527
  * @since 4.0.0
6345
6528
  */
@@ -6386,6 +6569,7 @@ export const requestUnsafe = internalRequest.requestUnsafe;
6386
6569
  * await Effect.runPromise(program) // => "result"
6387
6570
  * ```
6388
6571
  *
6572
+ * @stability stable
6389
6573
  * @category forking
6390
6574
  * @since 4.0.0
6391
6575
  */
@@ -6413,6 +6597,7 @@ export const forkChild = internal.forkChild;
6413
6597
  * await Effect.runPromise(program) // => "done"
6414
6598
  * ```
6415
6599
  *
6600
+ * @stability stable
6416
6601
  * @category forking
6417
6602
  * @since 2.0.0
6418
6603
  */
@@ -6439,6 +6624,7 @@ export const forkIn = internal.forkIn;
6439
6624
  * await Effect.runPromise(program) // => "scope completed"
6440
6625
  * ```
6441
6626
  *
6627
+ * @stability stable
6442
6628
  * @category forking
6443
6629
  * @since 2.0.0
6444
6630
  */
@@ -6463,6 +6649,7 @@ export const forkScoped = internal.forkScoped;
6463
6649
  * await Effect.runPromise(program) // => "daemon result"
6464
6650
  * ```
6465
6651
  *
6652
+ * @stability stable
6466
6653
  * @category forking
6467
6654
  * @since 4.0.0
6468
6655
  */
@@ -6490,6 +6677,7 @@ export const forkDetach = internal.forkDetach;
6490
6677
  * @see {@link forkIn} for forking into an explicit scope
6491
6678
  * @see {@link forkScoped} for forking fibers tied to the current scope
6492
6679
  *
6680
+ * @stability stable
6493
6681
  * @category forking
6494
6682
  * @since 2.0.0
6495
6683
  */
@@ -6512,6 +6700,7 @@ export const awaitAllChildren = internal.awaitAllChildren;
6512
6700
  * output // => ["number"]
6513
6701
  * ```
6514
6702
  *
6703
+ * @stability stable
6515
6704
  * @category accessors
6516
6705
  * @since 4.0.0
6517
6706
  */
@@ -6528,6 +6717,7 @@ export const fiber = internal.fiber;
6528
6717
  * Effect.runSync(program) // => "number"
6529
6718
  * ```
6530
6719
  *
6720
+ * @stability stable
6531
6721
  * @category accessors
6532
6722
  * @since 2.0.0
6533
6723
  */
@@ -6558,6 +6748,7 @@ export const fiberId = internal.fiberId;
6558
6748
  * output // => ["running...", "done"]
6559
6749
  * ```
6560
6750
  *
6751
+ * @stability stable
6561
6752
  * @category running
6562
6753
  * @since 2.0.0
6563
6754
  */
@@ -6597,6 +6788,7 @@ export const runFork = internal.runFork;
6597
6788
  * output // => ["Hello from service!", "done"]
6598
6789
  * ```
6599
6790
  *
6791
+ * @stability stable
6600
6792
  * @category running
6601
6793
  * @since 4.0.0
6602
6794
  */
@@ -6646,6 +6838,7 @@ export const runForkWith = internal.runForkWith;
6646
6838
  * output // => ["Started", "Success"]
6647
6839
  * ```
6648
6840
  *
6841
+ * @stability stable
6649
6842
  * @category running
6650
6843
  * @since 4.0.0
6651
6844
  */
@@ -6687,6 +6880,7 @@ export const runCallbackWith = internal.runCallbackWith;
6687
6880
  * output // => ["working", "success: done"]
6688
6881
  * ```
6689
6882
  *
6883
+ * @stability stable
6690
6884
  * @category running
6691
6885
  * @since 2.0.0
6692
6886
  */
@@ -6725,6 +6919,7 @@ export const runCallback = internal.runCallback;
6725
6919
  * ```
6726
6920
  *
6727
6921
  * @see {@link runPromiseExit} for a version that returns an `Exit` type instead of rejecting.
6922
+ * @stability stable
6728
6923
  * @category running
6729
6924
  * @since 2.0.0
6730
6925
  */
@@ -6760,6 +6955,7 @@ export const runPromise = internal.runPromise;
6760
6955
  * await Effect.runPromiseWith(context)(program) // => "Connecting to https://api.example.com"
6761
6956
  * ```
6762
6957
  *
6958
+ * @stability stable
6763
6959
  * @category running
6764
6960
  * @since 4.0.0
6765
6961
  */
@@ -6793,6 +6989,7 @@ export const runPromiseWith = internal.runPromiseWith;
6793
6989
  *
6794
6990
  * @see {@link runPromise} for a version that rejects on failure.
6795
6991
  *
6992
+ * @stability stable
6796
6993
  * @category running
6797
6994
  * @since 2.0.0
6798
6995
  */
@@ -6833,6 +7030,7 @@ export const runPromiseExit = internal.runPromiseExit;
6833
7030
  * output // => ["Success: Result for: SELECT * FROM users"]
6834
7031
  * ```
6835
7032
  *
7033
+ * @stability stable
6836
7034
  * @category running
6837
7035
  * @since 4.0.0
6838
7036
  */
@@ -6890,6 +7088,7 @@ export const runPromiseExitWith = internal.runPromiseExitWith;
6890
7088
  *
6891
7089
  * @see {@link runSyncExit} for a version that returns an `Exit` type instead of
6892
7090
  * throwing an error.
7091
+ * @stability stable
6893
7092
  * @category running
6894
7093
  * @since 2.0.0
6895
7094
  */
@@ -6926,6 +7125,7 @@ export const runSync = internal.runSync;
6926
7125
  * result // => 5
6927
7126
  * ```
6928
7127
  *
7128
+ * @stability stable
6929
7129
  * @category running
6930
7130
  * @since 4.0.0
6931
7131
  */
@@ -6974,6 +7174,7 @@ export const runSyncWith = internal.runSyncWith;
6974
7174
  *
6975
7175
  * @see {@link runSync} for a version that throws on failure.
6976
7176
  *
7177
+ * @stability stable
6977
7178
  * @category running
6978
7179
  * @since 2.0.0
6979
7180
  */
@@ -7018,6 +7219,7 @@ export const runSyncExit = internal.runSyncExit;
7018
7219
  * output // => ["[LOG] Computing result...", "Success: 42"]
7019
7220
  * ```
7020
7221
  *
7222
+ * @stability stable
7021
7223
  * @category running
7022
7224
  * @since 4.0.0
7023
7225
  */
@@ -7113,6 +7315,7 @@ export const runSyncExitWith = internal.runSyncExitWith;
7113
7315
  * Effect.runSync(program) // => "hello"
7114
7316
  * ```
7115
7317
  *
7318
+ * @stability stable
7116
7319
  * @category constructors
7117
7320
  * @since 3.12.0
7118
7321
  */
@@ -7236,6 +7439,7 @@ export const fnUntraced = internal.fnUntraced;
7236
7439
  * Effect.runSync(program) // => "hello"
7237
7440
  * ```
7238
7441
  *
7442
+ * @stability stable
7239
7443
  * @category constructors
7240
7444
  * @since 3.11.0
7241
7445
  */
@@ -7261,6 +7465,7 @@ export const fn = internal.fn;
7261
7465
  * Effect.runSync(program) // => "Clock is available"
7262
7466
  * ```
7263
7467
  *
7468
+ * @stability stable
7264
7469
  * @category accessors
7265
7470
  * @since 2.0.0
7266
7471
  */
@@ -7298,6 +7503,7 @@ export const clockWith = internal.clockWith;
7298
7503
  * output // => ["Warn: Cache miss"]
7299
7504
  * ```
7300
7505
  *
7506
+ * @stability stable
7301
7507
  * @category logging
7302
7508
  * @since 2.0.0
7303
7509
  */
@@ -7325,6 +7531,7 @@ export const logWithLevel = internal.logWithLevel;
7325
7531
  * output // => ["Info: Result: 4", 4]
7326
7532
  * ```
7327
7533
  *
7534
+ * @stability stable
7328
7535
  * @category logging
7329
7536
  * @since 2.0.0
7330
7537
  */
@@ -7350,6 +7557,7 @@ export const log = /*#__PURE__*/internal.logWithLevel();
7350
7557
  * output // => ["Fatal: Critical system failure"]
7351
7558
  * ```
7352
7559
  *
7560
+ * @stability stable
7353
7561
  * @category logging
7354
7562
  * @since 2.0.0
7355
7563
  */
@@ -7374,6 +7582,7 @@ export const logFatal = /*#__PURE__*/internal.logWithLevel("Fatal");
7374
7582
  * output // => ["Warn: API rate limit approaching"]
7375
7583
  * ```
7376
7584
  *
7585
+ * @stability stable
7377
7586
  * @category logging
7378
7587
  * @since 2.0.0
7379
7588
  */
@@ -7398,6 +7607,7 @@ export const logWarning = /*#__PURE__*/internal.logWithLevel("Warn");
7398
7607
  * output // => ["Error: Database connection failed"]
7399
7608
  * ```
7400
7609
  *
7610
+ * @stability stable
7401
7611
  * @category logging
7402
7612
  * @since 2.0.0
7403
7613
  */
@@ -7422,6 +7632,7 @@ export const logError = /*#__PURE__*/internal.logWithLevel("Error");
7422
7632
  * output // => ["Info: Application starting up"]
7423
7633
  * ```
7424
7634
  *
7635
+ * @stability stable
7425
7636
  * @category logging
7426
7637
  * @since 2.0.0
7427
7638
  */
@@ -7450,6 +7661,7 @@ export const logInfo = /*#__PURE__*/internal.logWithLevel("Info");
7450
7661
  * output // => ["Debug: Debug mode enabled"]
7451
7662
  * ```
7452
7663
  *
7664
+ * @stability stable
7453
7665
  * @category logging
7454
7666
  * @since 2.0.0
7455
7667
  */
@@ -7478,6 +7690,7 @@ export const logDebug = /*#__PURE__*/internal.logWithLevel("Debug");
7478
7690
  * output // => ["Trace: Entering function processData"]
7479
7691
  * ```
7480
7692
  *
7693
+ * @stability stable
7481
7694
  * @category logging
7482
7695
  * @since 2.0.0
7483
7696
  */
@@ -7508,6 +7721,7 @@ export const logTrace = /*#__PURE__*/internal.logWithLevel("Trace");
7508
7721
  * output // => ["[CUSTOM]: This will go to both default and custom logger"]
7509
7722
  * ```
7510
7723
  *
7724
+ * @stability stable
7511
7725
  * @category logging
7512
7726
  * @since 4.0.0
7513
7727
  */
@@ -7544,6 +7758,7 @@ export const withLogger = /*#__PURE__*/dual(2, (effect, logger) => internal.upda
7544
7758
  * output // => ["Starting operation", "Starting operation"]
7545
7759
  * ```
7546
7760
  *
7761
+ * @stability stable
7547
7762
  * @category logging
7548
7763
  * @since 2.0.0
7549
7764
  */
@@ -7597,6 +7812,7 @@ export const annotateLogs = /*#__PURE__*/dual(args => isEffect(args[0]), (effect
7597
7812
  *
7598
7813
  * @see {@link annotateLogs} for annotating one effect
7599
7814
  *
7815
+ * @stability stable
7600
7816
  * @category logging
7601
7817
  * @since 3.1.0
7602
7818
  */
@@ -7633,6 +7849,7 @@ export const annotateLogsScoped = internal.annotateLogsScoped;
7633
7849
  * output // => ["Making HTTP request", "Connecting to database", "Executing query", "Processing results", "Sending response", "data"]
7634
7850
  * ```
7635
7851
  *
7852
+ * @stability stable
7636
7853
  * @category logging
7637
7854
  * @since 2.0.0
7638
7855
  */
@@ -7686,6 +7903,7 @@ export const withLogSpan = /*#__PURE__*/dual(2, (effect, label) => internal.flat
7686
7903
  * Effect.runSync(Metric.value(exitTracker)).occurrences.get("success") // => 1
7687
7904
  * ```
7688
7905
  *
7906
+ * @stability stable
7689
7907
  * @category metrics
7690
7908
  * @since 4.0.0
7691
7909
  */
@@ -7735,6 +7953,7 @@ export const track = /*#__PURE__*/dual(args => isEffect(args[0]), (self, metric,
7735
7953
  * Effect.runSync(Metric.value(requestSizeGauge)).value // => 12
7736
7954
  * ```
7737
7955
  *
7956
+ * @stability stable
7738
7957
  * @category metrics
7739
7958
  * @since 4.0.0
7740
7959
  */
@@ -7786,6 +8005,7 @@ export const trackSuccesses = /*#__PURE__*/dual(args => isEffect(args[0]), (self
7786
8005
  * Effect.runSync(Metric.value(errorTypeFrequency)).occurrences.get("ConnectionFailedError") // => 1
7787
8006
  * ```
7788
8007
  *
8008
+ * @stability stable
7789
8009
  * @category metrics
7790
8010
  * @since 4.0.0
7791
8011
  */
@@ -7838,6 +8058,7 @@ export const trackErrors = /*#__PURE__*/dual(args => isEffect(args[0]), (self, m
7838
8058
  * Effect.runSync(Metric.value(defectTypeFrequency)).occurrences.get("Error") // => 1
7839
8059
  * ```
7840
8060
  *
8061
+ * @stability stable
7841
8062
  * @category metrics
7842
8063
  * @since 4.0.0
7843
8064
  */
@@ -7886,6 +8107,7 @@ export const trackDefects = /*#__PURE__*/dual(args => isEffect(args[0]), (self,
7886
8107
  * Effect.runSync(Metric.value(durationGauge)).value // => 1
7887
8108
  * ```
7888
8109
  *
8110
+ * @stability stable
7889
8111
  * @category metrics
7890
8112
  * @since 4.0.0
7891
8113
  */
@@ -7928,6 +8150,7 @@ export const trackDuration = /*#__PURE__*/dual(args => isEffect(args[0]), (self,
7928
8150
  * Effect.runSync(runnable) // => "Transaction complete"
7929
8151
  * ```
7930
8152
  *
8153
+ * @stability stable
7931
8154
  * @category transactions
7932
8155
  * @since 4.0.0
7933
8156
  */
@@ -7975,12 +8198,13 @@ export class Transaction extends /*#__PURE__*/Context.Service()("effect/Effect/T
7975
8198
  * output // => ["Transaction sum: 30", "Final ref1: 10", "Final ref2: 20"]
7976
8199
  * ```
7977
8200
  *
8201
+ * @stability stable
7978
8202
  * @category transactions
7979
8203
  * @since 4.0.0
7980
8204
  */
7981
8205
  export const tx = effect => withFiber(fiber => {
7982
8206
  let state = Context.getOrUndefined(fiber.context, Transaction);
7983
- if (state) {
8207
+ if (state && !completedTransactions.has(state)) {
7984
8208
  return effect;
7985
8209
  }
7986
8210
  // Create transaction state only at the outermost boundary
@@ -7991,8 +8215,11 @@ export const tx = effect => withFiber(fiber => {
7991
8215
  let result;
7992
8216
  return uninterruptibleMask(restore => flatMap(whileLoop({
7993
8217
  while: () => !result,
7994
- body: constant(restore(effect).pipe(provideService(Transaction, state), tapCause(() => {
8218
+ body: constant(restore(effect).pipe(provideService(Transaction, state), tapCause(cause => {
7995
8219
  if (!state.retry) return void_;
8220
+ // txRetry interrupts the body; any other reason in the cause is a real failure.
8221
+ // Roll back now so the step below fails instead of waiting or rerunning.
8222
+ if (!internal.hasInterruptsOnly(cause)) return sync(() => clearTransaction(state));
7996
8223
  return restore(awaitPendingTransaction(state));
7997
8224
  }), exit)),
7998
8225
  step(exit) {
@@ -8001,13 +8228,16 @@ export const tx = effect => withFiber(fiber => {
8001
8228
  }
8002
8229
  if (Exit.isSuccess(exit)) {
8003
8230
  commitTransaction(fiber, state);
8004
- } else {
8005
- clearTransaction(state);
8006
8231
  }
8232
+ clearTransaction(state);
8233
+ completedTransactions.add(state);
8007
8234
  result = exit;
8008
8235
  }
8009
8236
  }), () => result));
8010
8237
  });
8238
+ // Child fibers inherit the boundary's state, so mark it completed once the
8239
+ // boundary finishes and let later `tx` calls start a fresh boundary.
8240
+ const completedTransactions = /*#__PURE__*/new WeakSet();
8011
8241
  const isTransactionConsistent = state => {
8012
8242
  for (const [ref, {
8013
8243
  version
@@ -8094,6 +8324,7 @@ function clearTransaction(state) {
8094
8324
  * await Effect.runPromise(program) // => 1
8095
8325
  * ```
8096
8326
  *
8327
+ * @stability stable
8097
8328
  * @category transactions
8098
8329
  * @since 4.0.0
8099
8330
  */
@@ -8150,6 +8381,7 @@ export const txRetry = /*#__PURE__*/flatMap(Transaction, state => {
8150
8381
  * error.message // => "Failed to process hello: unavailable"
8151
8382
  * ```
8152
8383
  *
8384
+ * @stability stable
8153
8385
  * @category converting
8154
8386
  * @since 4.0.0
8155
8387
  */
@@ -8157,7 +8389,7 @@ export const effectify = (fn, onError, onSyncError) => (...args) => callback(res
8157
8389
  try {
8158
8390
  fn(...args, (err, result) => {
8159
8391
  if (err) {
8160
- resume(fail(onError ? onError(err, args) : err));
8392
+ resume(onError ? suspend(() => fail(onError(err, args))) : fail(err));
8161
8393
  } else {
8162
8394
  resume(succeed(result));
8163
8395
  }
@@ -8195,6 +8427,7 @@ export const effectify = (fn, onError, onSyncError) => (...args) => callback(res
8195
8427
  * // Type 'string' is not assignable to type 'number'
8196
8428
  * ```
8197
8429
  *
8430
+ * @stability stable
8198
8431
  * @category utility types
8199
8432
  * @since 4.0.0
8200
8433
  */
@@ -8227,6 +8460,7 @@ export const satisfiesSuccessType = () => effect => effect;
8227
8460
  * // Type 'string' is not assignable to type 'ValidationError'
8228
8461
  * ```
8229
8462
  *
8463
+ * @stability stable
8230
8464
  * @category utility types
8231
8465
  * @since 4.0.0
8232
8466
  */
@@ -8256,6 +8490,7 @@ export const satisfiesErrorType = () => effect => effect;
8256
8490
  * // const constrainedInvalid = satisfiesStringServices(invalidEffect)
8257
8491
  * ```
8258
8492
  *
8493
+ * @stability stable
8259
8494
  * @category utility types
8260
8495
  * @since 4.0.0
8261
8496
  */
@@ -8289,6 +8524,7 @@ export const satisfiesServicesType = () => effect => effect;
8289
8524
  * await Effect.runPromise(Effect.all([mapped, mappedPending])) // => [10, 10]
8290
8525
  * ```
8291
8526
  *
8527
+ * @stability stable
8292
8528
  * @category mapping
8293
8529
  * @since 4.0.0
8294
8530
  */
@@ -8332,6 +8568,7 @@ export const mapEager = internal.mapEager;
8332
8568
  * output // => [['mapped: original error', 'mapped: error']]
8333
8569
  * ```
8334
8570
  *
8571
+ * @stability stable
8335
8572
  * @category error handling
8336
8573
  * @since 4.0.0
8337
8574
  */
@@ -8374,6 +8611,7 @@ export const mapErrorEager = internal.mapErrorEager;
8374
8611
  * output // => [10, "Failed: error"]
8375
8612
  * ```
8376
8613
  *
8614
+ * @stability stable
8377
8615
  * @category mapping
8378
8616
  * @since 4.0.0
8379
8617
  */
@@ -8411,6 +8649,7 @@ export const mapBothEager = internal.mapBothEager;
8411
8649
  * await Effect.runPromise(Effect.all([flatMapped, flatMappedPending])) // => [10, 10]
8412
8650
  * ```
8413
8651
  *
8652
+ * @stability stable
8414
8653
  * @category sequencing
8415
8654
  * @since 4.0.0
8416
8655
  */
@@ -8464,6 +8703,7 @@ export const flatMapEager = internal.flatMapEager;
8464
8703
  * output // => [['recovered from: original error', 42, 'recovered from: error']]
8465
8704
  * ```
8466
8705
  *
8706
+ * @stability stable
8467
8707
  * @category error handling
8468
8708
  * @since 4.0.0
8469
8709
  */
@@ -8491,6 +8731,7 @@ export const catchEager = internal.catchEager;
8491
8731
  * Effect.runSync(effect) // => "computed eagerly"
8492
8732
  * ```
8493
8733
  *
8734
+ * @stability stable
8494
8735
  * @category constructors
8495
8736
  * @since 4.0.0
8496
8737
  */