effect 4.0.1 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (917) hide show
  1. package/ai-docs/package.json +2 -2
  2. package/ai-docs/tsconfig.json +2 -1
  3. package/dist/Array.d.ts +339 -0
  4. package/dist/Array.d.ts.map +1 -1
  5. package/dist/Array.js +143 -3
  6. package/dist/Array.js.map +1 -1
  7. package/dist/BigDecimal.d.ts +88 -0
  8. package/dist/BigDecimal.d.ts.map +1 -1
  9. package/dist/BigDecimal.js +44 -0
  10. package/dist/BigDecimal.js.map +1 -1
  11. package/dist/BigInt.d.ts +68 -0
  12. package/dist/BigInt.d.ts.map +1 -1
  13. package/dist/BigInt.js +36 -0
  14. package/dist/BigInt.js.map +1 -1
  15. package/dist/Boolean.d.ts +34 -0
  16. package/dist/Boolean.d.ts.map +1 -1
  17. package/dist/Boolean.js +18 -0
  18. package/dist/Boolean.js.map +1 -1
  19. package/dist/Brand.d.ts +9 -0
  20. package/dist/Brand.d.ts.map +1 -1
  21. package/dist/Brand.js +6 -0
  22. package/dist/Brand.js.map +1 -1
  23. package/dist/ByteSize.d.ts +86 -0
  24. package/dist/ByteSize.d.ts.map +1 -1
  25. package/dist/ByteSize.js +51 -0
  26. package/dist/ByteSize.js.map +1 -1
  27. package/dist/Cache.d.ts +38 -1
  28. package/dist/Cache.d.ts.map +1 -1
  29. package/dist/Cache.js +27 -7
  30. package/dist/Cache.js.map +1 -1
  31. package/dist/Cause.d.ts +82 -0
  32. package/dist/Cause.d.ts.map +1 -1
  33. package/dist/Cause.js +60 -0
  34. package/dist/Cause.js.map +1 -1
  35. package/dist/Channel.d.ts +327 -4
  36. package/dist/Channel.d.ts.map +1 -1
  37. package/dist/Channel.js +168 -8
  38. package/dist/Channel.js.map +1 -1
  39. package/dist/ChannelSchema.d.ts +11 -0
  40. package/dist/ChannelSchema.d.ts.map +1 -1
  41. package/dist/ChannelSchema.js +6 -0
  42. package/dist/ChannelSchema.js.map +1 -1
  43. package/dist/Chunk.d.ts +192 -0
  44. package/dist/Chunk.d.ts.map +1 -1
  45. package/dist/Chunk.js +78 -0
  46. package/dist/Chunk.js.map +1 -1
  47. package/dist/Clock.d.ts +7 -0
  48. package/dist/Clock.d.ts.map +1 -1
  49. package/dist/Clock.js +5 -0
  50. package/dist/Clock.js.map +1 -1
  51. package/dist/Combiner.d.ts +10 -0
  52. package/dist/Combiner.d.ts.map +1 -1
  53. package/dist/Combiner.js +8 -0
  54. package/dist/Combiner.js.map +1 -1
  55. package/dist/Config.d.ts +52 -12
  56. package/dist/Config.d.ts.map +1 -1
  57. package/dist/Config.js +55 -5
  58. package/dist/Config.js.map +1 -1
  59. package/dist/ConfigProvider.d.ts +28 -0
  60. package/dist/ConfigProvider.d.ts.map +1 -1
  61. package/dist/ConfigProvider.js +19 -0
  62. package/dist/ConfigProvider.js.map +1 -1
  63. package/dist/Console.d.ts +22 -0
  64. package/dist/Console.d.ts.map +1 -1
  65. package/dist/Console.js +20 -0
  66. package/dist/Console.js.map +1 -1
  67. package/dist/Context.d.ts +50 -0
  68. package/dist/Context.d.ts.map +1 -1
  69. package/dist/Context.js +21 -0
  70. package/dist/Context.js.map +1 -1
  71. package/dist/Cron.d.ts +16 -0
  72. package/dist/Cron.d.ts.map +1 -1
  73. package/dist/Cron.js +26 -1
  74. package/dist/Cron.js.map +1 -1
  75. package/dist/Crypto.d.ts +5 -0
  76. package/dist/Crypto.d.ts.map +1 -1
  77. package/dist/Crypto.js +3 -0
  78. package/dist/Crypto.js.map +1 -1
  79. package/dist/Data.d.ts +13 -0
  80. package/dist/Data.d.ts.map +1 -1
  81. package/dist/Data.js +5 -0
  82. package/dist/Data.js.map +1 -1
  83. package/dist/DateTime.d.ts +171 -0
  84. package/dist/DateTime.d.ts.map +1 -1
  85. package/dist/DateTime.js +89 -0
  86. package/dist/DateTime.js.map +1 -1
  87. package/dist/Deferred.d.ts +51 -0
  88. package/dist/Deferred.d.ts.map +1 -1
  89. package/dist/Deferred.js +22 -0
  90. package/dist/Deferred.js.map +1 -1
  91. package/dist/Differ.d.ts +2 -0
  92. package/dist/Differ.d.ts.map +1 -1
  93. package/dist/Differ.js +1 -0
  94. package/dist/Duration.d.ts +90 -0
  95. package/dist/Duration.d.ts.map +1 -1
  96. package/dist/Duration.js +53 -0
  97. package/dist/Duration.js.map +1 -1
  98. package/dist/Effect.d.ts +527 -0
  99. package/dist/Effect.d.ts.map +1 -1
  100. package/dist/Effect.js +240 -5
  101. package/dist/Effect.js.map +1 -1
  102. package/dist/Effectable.d.ts +4 -0
  103. package/dist/Effectable.d.ts.map +1 -1
  104. package/dist/Effectable.js +3 -0
  105. package/dist/Effectable.js.map +1 -1
  106. package/dist/Equal.d.ts +8 -0
  107. package/dist/Equal.d.ts.map +1 -1
  108. package/dist/Equal.js +9 -1
  109. package/dist/Equal.js.map +1 -1
  110. package/dist/Equivalence.d.ts +21 -0
  111. package/dist/Equivalence.d.ts.map +1 -1
  112. package/dist/Equivalence.js +16 -0
  113. package/dist/Equivalence.js.map +1 -1
  114. package/dist/ErrorReporter.d.ts +36 -0
  115. package/dist/ErrorReporter.d.ts.map +1 -1
  116. package/dist/ErrorReporter.js +11 -0
  117. package/dist/ErrorReporter.js.map +1 -1
  118. package/dist/ExecutionPlan.d.ts +49 -8
  119. package/dist/ExecutionPlan.d.ts.map +1 -1
  120. package/dist/ExecutionPlan.js +7 -0
  121. package/dist/ExecutionPlan.js.map +1 -1
  122. package/dist/Exit.d.ts +40 -0
  123. package/dist/Exit.d.ts.map +1 -1
  124. package/dist/Exit.js +27 -0
  125. package/dist/Exit.js.map +1 -1
  126. package/dist/Fiber.d.ts +20 -0
  127. package/dist/Fiber.d.ts.map +1 -1
  128. package/dist/Fiber.js +11 -0
  129. package/dist/Fiber.js.map +1 -1
  130. package/dist/FiberHandle.d.ts +21 -0
  131. package/dist/FiberHandle.d.ts.map +1 -1
  132. package/dist/FiberHandle.js +21 -4
  133. package/dist/FiberHandle.js.map +1 -1
  134. package/dist/FiberMap.d.ts +35 -0
  135. package/dist/FiberMap.d.ts.map +1 -1
  136. package/dist/FiberMap.js +19 -0
  137. package/dist/FiberMap.js.map +1 -1
  138. package/dist/FiberSet.d.ts +20 -0
  139. package/dist/FiberSet.d.ts.map +1 -1
  140. package/dist/FiberSet.js +14 -0
  141. package/dist/FiberSet.js.map +1 -1
  142. package/dist/FileSystem.d.ts +15 -0
  143. package/dist/FileSystem.d.ts.map +1 -1
  144. package/dist/FileSystem.js +8 -0
  145. package/dist/FileSystem.js.map +1 -1
  146. package/dist/Filter.d.ts +55 -0
  147. package/dist/Filter.d.ts.map +1 -1
  148. package/dist/Filter.js +28 -0
  149. package/dist/Filter.js.map +1 -1
  150. package/dist/Formatter.d.ts +3 -0
  151. package/dist/Formatter.d.ts.map +1 -1
  152. package/dist/Formatter.js +39 -1
  153. package/dist/Formatter.js.map +1 -1
  154. package/dist/Function.d.ts +30 -0
  155. package/dist/Function.d.ts.map +1 -1
  156. package/dist/Function.js +20 -0
  157. package/dist/Function.js.map +1 -1
  158. package/dist/Graph.d.ts +247 -12
  159. package/dist/Graph.d.ts.map +1 -1
  160. package/dist/Graph.js +149 -28
  161. package/dist/Graph.js.map +1 -1
  162. package/dist/HKT.d.ts +5 -0
  163. package/dist/HKT.d.ts.map +1 -1
  164. package/dist/Hash.d.ts +14 -0
  165. package/dist/Hash.d.ts.map +1 -1
  166. package/dist/Hash.js +12 -0
  167. package/dist/Hash.js.map +1 -1
  168. package/dist/HashMap.d.ts +91 -0
  169. package/dist/HashMap.d.ts.map +1 -1
  170. package/dist/HashMap.js +39 -0
  171. package/dist/HashMap.js.map +1 -1
  172. package/dist/HashRing.d.ts +17 -0
  173. package/dist/HashRing.d.ts.map +1 -1
  174. package/dist/HashRing.js +9 -0
  175. package/dist/HashRing.js.map +1 -1
  176. package/dist/HashSet.d.ts +49 -0
  177. package/dist/HashSet.d.ts.map +1 -1
  178. package/dist/HashSet.js +19 -0
  179. package/dist/HashSet.js.map +1 -1
  180. package/dist/Inspectable.d.ts +7 -0
  181. package/dist/Inspectable.d.ts.map +1 -1
  182. package/dist/Inspectable.js +6 -0
  183. package/dist/Inspectable.js.map +1 -1
  184. package/dist/Iterable.d.ts +127 -0
  185. package/dist/Iterable.d.ts.map +1 -1
  186. package/dist/Iterable.js +51 -0
  187. package/dist/Iterable.js.map +1 -1
  188. package/dist/JsonPatch.d.ts +4 -0
  189. package/dist/JsonPatch.d.ts.map +1 -1
  190. package/dist/JsonPatch.js +3 -0
  191. package/dist/JsonPatch.js.map +1 -1
  192. package/dist/JsonPointer.d.ts +5 -0
  193. package/dist/JsonPointer.d.ts.map +1 -1
  194. package/dist/JsonPointer.js +5 -0
  195. package/dist/JsonPointer.js.map +1 -1
  196. package/dist/JsonSchema.d.ts +16 -0
  197. package/dist/JsonSchema.d.ts.map +1 -1
  198. package/dist/JsonSchema.js +11 -0
  199. package/dist/JsonSchema.js.map +1 -1
  200. package/dist/Latch.d.ts +14 -0
  201. package/dist/Latch.d.ts.map +1 -1
  202. package/dist/Latch.js +10 -0
  203. package/dist/Latch.js.map +1 -1
  204. package/dist/Layer.d.ts +100 -0
  205. package/dist/Layer.d.ts.map +1 -1
  206. package/dist/Layer.js +45 -1
  207. package/dist/Layer.js.map +1 -1
  208. package/dist/LayerMap.d.ts +7 -0
  209. package/dist/LayerMap.d.ts.map +1 -1
  210. package/dist/LayerMap.js +4 -0
  211. package/dist/LayerMap.js.map +1 -1
  212. package/dist/LayerRef.d.ts +5 -0
  213. package/dist/LayerRef.d.ts.map +1 -1
  214. package/dist/LayerRef.js +3 -0
  215. package/dist/LayerRef.js.map +1 -1
  216. package/dist/LogLevel.d.ts +20 -0
  217. package/dist/LogLevel.d.ts.map +1 -1
  218. package/dist/LogLevel.js +9 -0
  219. package/dist/LogLevel.js.map +1 -1
  220. package/dist/Logger.d.ts +25 -0
  221. package/dist/Logger.d.ts.map +1 -1
  222. package/dist/Logger.js +30 -4
  223. package/dist/Logger.js.map +1 -1
  224. package/dist/ManagedRuntime.d.ts +5 -0
  225. package/dist/ManagedRuntime.d.ts.map +1 -1
  226. package/dist/ManagedRuntime.js +9 -1
  227. package/dist/ManagedRuntime.js.map +1 -1
  228. package/dist/Match.d.ts +51 -0
  229. package/dist/Match.d.ts.map +1 -1
  230. package/dist/Match.js +39 -0
  231. package/dist/Match.js.map +1 -1
  232. package/dist/Metric.d.ts +59 -0
  233. package/dist/Metric.d.ts.map +1 -1
  234. package/dist/Metric.js +31 -0
  235. package/dist/Metric.js.map +1 -1
  236. package/dist/MutableHashMap.d.ts +32 -0
  237. package/dist/MutableHashMap.d.ts.map +1 -1
  238. package/dist/MutableHashMap.js +16 -0
  239. package/dist/MutableHashMap.js.map +1 -1
  240. package/dist/MutableHashSet.d.ts +16 -0
  241. package/dist/MutableHashSet.d.ts.map +1 -1
  242. package/dist/MutableHashSet.js +10 -0
  243. package/dist/MutableHashSet.js.map +1 -1
  244. package/dist/MutableList.d.ts +20 -0
  245. package/dist/MutableList.d.ts.map +1 -1
  246. package/dist/MutableList.js +18 -0
  247. package/dist/MutableList.js.map +1 -1
  248. package/dist/MutableRef.d.ts +31 -0
  249. package/dist/MutableRef.d.ts.map +1 -1
  250. package/dist/MutableRef.js +17 -0
  251. package/dist/MutableRef.js.map +1 -1
  252. package/dist/Newtype.d.ts +9 -0
  253. package/dist/Newtype.d.ts.map +1 -1
  254. package/dist/Newtype.js +6 -0
  255. package/dist/Newtype.js.map +1 -1
  256. package/dist/NonEmptyIterable.d.ts +4 -0
  257. package/dist/NonEmptyIterable.d.ts.map +1 -1
  258. package/dist/NonEmptyIterable.js +2 -0
  259. package/dist/NonEmptyIterable.js.map +1 -1
  260. package/dist/Number.d.ts +61 -0
  261. package/dist/Number.d.ts.map +1 -1
  262. package/dist/Number.js +31 -0
  263. package/dist/Number.js.map +1 -1
  264. package/dist/Optic.d.ts +41 -0
  265. package/dist/Optic.d.ts.map +1 -1
  266. package/dist/Optic.js +20 -0
  267. package/dist/Optic.js.map +1 -1
  268. package/dist/Option.d.ts +134 -0
  269. package/dist/Option.d.ts.map +1 -1
  270. package/dist/Option.js +61 -0
  271. package/dist/Option.js.map +1 -1
  272. package/dist/Order.d.ts +29 -0
  273. package/dist/Order.d.ts.map +1 -1
  274. package/dist/Order.js +24 -0
  275. package/dist/Order.js.map +1 -1
  276. package/dist/Ordering.d.ts +7 -0
  277. package/dist/Ordering.d.ts.map +1 -1
  278. package/dist/Ordering.js +3 -0
  279. package/dist/Ordering.js.map +1 -1
  280. package/dist/PartitionedSemaphore.d.ts +24 -0
  281. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  282. package/dist/PartitionedSemaphore.js +47 -21
  283. package/dist/PartitionedSemaphore.js.map +1 -1
  284. package/dist/Path.d.ts +6 -0
  285. package/dist/Path.d.ts.map +1 -1
  286. package/dist/Path.js +4 -0
  287. package/dist/Path.js.map +1 -1
  288. package/dist/Pipeable.d.ts +7 -0
  289. package/dist/Pipeable.d.ts.map +1 -1
  290. package/dist/Pipeable.js +5 -0
  291. package/dist/Pipeable.js.map +1 -1
  292. package/dist/PlatformError.d.ts +8 -0
  293. package/dist/PlatformError.d.ts.map +1 -1
  294. package/dist/PlatformError.js +7 -0
  295. package/dist/PlatformError.js.map +1 -1
  296. package/dist/Pool.d.ts +19 -0
  297. package/dist/Pool.d.ts.map +1 -1
  298. package/dist/Pool.js +8 -1
  299. package/dist/Pool.js.map +1 -1
  300. package/dist/Predicate.d.ts +84 -0
  301. package/dist/Predicate.d.ts.map +1 -1
  302. package/dist/Predicate.js +48 -0
  303. package/dist/Predicate.js.map +1 -1
  304. package/dist/PrimaryKey.d.ts +5 -0
  305. package/dist/PrimaryKey.d.ts.map +1 -1
  306. package/dist/PrimaryKey.js +4 -0
  307. package/dist/PrimaryKey.js.map +1 -1
  308. package/dist/PubSub.d.ts +67 -5
  309. package/dist/PubSub.d.ts.map +1 -1
  310. package/dist/PubSub.js +60 -8
  311. package/dist/PubSub.js.map +1 -1
  312. package/dist/Pull.d.ts +20 -0
  313. package/dist/Pull.d.ts.map +1 -1
  314. package/dist/Pull.js +10 -0
  315. package/dist/Pull.js.map +1 -1
  316. package/dist/Queue.d.ts +60 -0
  317. package/dist/Queue.d.ts.map +1 -1
  318. package/dist/Queue.js +58 -8
  319. package/dist/Queue.js.map +1 -1
  320. package/dist/Random.d.ts +13 -0
  321. package/dist/Random.d.ts.map +1 -1
  322. package/dist/Random.js +9 -0
  323. package/dist/Random.js.map +1 -1
  324. package/dist/RcMap.d.ts +23 -0
  325. package/dist/RcMap.d.ts.map +1 -1
  326. package/dist/RcMap.js +8 -0
  327. package/dist/RcMap.js.map +1 -1
  328. package/dist/RcRef.d.ts +6 -0
  329. package/dist/RcRef.d.ts.map +1 -1
  330. package/dist/RcRef.js +3 -0
  331. package/dist/RcRef.js.map +1 -1
  332. package/dist/Record.d.ts +100 -0
  333. package/dist/Record.d.ts.map +1 -1
  334. package/dist/Record.js +43 -0
  335. package/dist/Record.js.map +1 -1
  336. package/dist/Redactable.d.ts +6 -0
  337. package/dist/Redactable.d.ts.map +1 -1
  338. package/dist/Redactable.js +4 -0
  339. package/dist/Redactable.js.map +1 -1
  340. package/dist/Redacted.d.ts +8 -0
  341. package/dist/Redacted.d.ts.map +1 -1
  342. package/dist/Redacted.js +6 -0
  343. package/dist/Redacted.js.map +1 -1
  344. package/dist/Reducer.d.ts +4 -0
  345. package/dist/Reducer.d.ts.map +1 -1
  346. package/dist/Reducer.js +3 -0
  347. package/dist/Reducer.js.map +1 -1
  348. package/dist/Ref.d.ts +20 -0
  349. package/dist/Ref.d.ts.map +1 -1
  350. package/dist/Ref.js +16 -0
  351. package/dist/Ref.js.map +1 -1
  352. package/dist/References.d.ts +21 -0
  353. package/dist/References.d.ts.map +1 -1
  354. package/dist/References.js +19 -0
  355. package/dist/References.js.map +1 -1
  356. package/dist/RegExp.d.ts +3 -0
  357. package/dist/RegExp.d.ts.map +1 -1
  358. package/dist/RegExp.js +4 -0
  359. package/dist/RegExp.js.map +1 -1
  360. package/dist/Request.d.ts +32 -0
  361. package/dist/Request.d.ts.map +1 -1
  362. package/dist/Request.js +12 -0
  363. package/dist/Request.js.map +1 -1
  364. package/dist/RequestResolver.d.ts +42 -0
  365. package/dist/RequestResolver.d.ts.map +1 -1
  366. package/dist/RequestResolver.js +27 -6
  367. package/dist/RequestResolver.js.map +1 -1
  368. package/dist/Resource.d.ts +6 -0
  369. package/dist/Resource.d.ts.map +1 -1
  370. package/dist/Resource.js +6 -0
  371. package/dist/Resource.js.map +1 -1
  372. package/dist/Result.d.ts +91 -0
  373. package/dist/Result.d.ts.map +1 -1
  374. package/dist/Result.js +41 -0
  375. package/dist/Result.js.map +1 -1
  376. package/dist/Runtime.d.ts +9 -0
  377. package/dist/Runtime.d.ts.map +1 -1
  378. package/dist/Runtime.js +7 -0
  379. package/dist/Runtime.js.map +1 -1
  380. package/dist/Schedule.d.ts +57 -0
  381. package/dist/Schedule.d.ts.map +1 -1
  382. package/dist/Schedule.js +32 -0
  383. package/dist/Schedule.js.map +1 -1
  384. package/dist/Scheduler.d.ts +7 -0
  385. package/dist/Scheduler.d.ts.map +1 -1
  386. package/dist/Scheduler.js +5 -0
  387. package/dist/Scheduler.js.map +1 -1
  388. package/dist/Schema.d.ts +496 -1
  389. package/dist/Schema.d.ts.map +1 -1
  390. package/dist/Schema.js +280 -1
  391. package/dist/Schema.js.map +1 -1
  392. package/dist/SchemaAST.d.ts +107 -0
  393. package/dist/SchemaAST.d.ts.map +1 -1
  394. package/dist/SchemaAST.js +81 -1
  395. package/dist/SchemaAST.js.map +1 -1
  396. package/dist/SchemaGetter.d.ts +69 -2
  397. package/dist/SchemaGetter.d.ts.map +1 -1
  398. package/dist/SchemaGetter.js +63 -4
  399. package/dist/SchemaGetter.js.map +1 -1
  400. package/dist/SchemaIssue.d.ts +33 -0
  401. package/dist/SchemaIssue.d.ts.map +1 -1
  402. package/dist/SchemaIssue.js +18 -0
  403. package/dist/SchemaIssue.js.map +1 -1
  404. package/dist/SchemaParser.d.ts +25 -0
  405. package/dist/SchemaParser.d.ts.map +1 -1
  406. package/dist/SchemaParser.js +26 -0
  407. package/dist/SchemaParser.js.map +1 -1
  408. package/dist/SchemaRepresentation.d.ts +147 -0
  409. package/dist/SchemaRepresentation.d.ts.map +1 -1
  410. package/dist/SchemaRepresentation.js +99 -0
  411. package/dist/SchemaRepresentation.js.map +1 -1
  412. package/dist/SchemaTransformation.d.ts +53 -0
  413. package/dist/SchemaTransformation.d.ts.map +1 -1
  414. package/dist/SchemaTransformation.js +46 -0
  415. package/dist/SchemaTransformation.js.map +1 -1
  416. package/dist/Scope.d.ts +19 -0
  417. package/dist/Scope.d.ts.map +1 -1
  418. package/dist/Scope.js +12 -0
  419. package/dist/Scope.js.map +1 -1
  420. package/dist/ScopedCache.d.ts +34 -0
  421. package/dist/ScopedCache.d.ts.map +1 -1
  422. package/dist/ScopedCache.js +26 -3
  423. package/dist/ScopedCache.js.map +1 -1
  424. package/dist/ScopedRef.d.ts +9 -0
  425. package/dist/ScopedRef.d.ts.map +1 -1
  426. package/dist/ScopedRef.js +6 -0
  427. package/dist/ScopedRef.js.map +1 -1
  428. package/dist/Semaphore.d.ts +26 -0
  429. package/dist/Semaphore.d.ts.map +1 -1
  430. package/dist/Semaphore.js +10 -0
  431. package/dist/Semaphore.js.map +1 -1
  432. package/dist/Sink.d.ts +125 -1
  433. package/dist/Sink.d.ts.map +1 -1
  434. package/dist/Sink.js +75 -1
  435. package/dist/Sink.js.map +1 -1
  436. package/dist/StandardSchema.d.ts +1 -0
  437. package/dist/StandardSchema.d.ts.map +1 -1
  438. package/dist/StandardSchema.js +1 -0
  439. package/dist/Stdio.d.ts +7 -0
  440. package/dist/Stdio.d.ts.map +1 -1
  441. package/dist/Stdio.js +5 -0
  442. package/dist/Stdio.js.map +1 -1
  443. package/dist/Stream.d.ts +558 -0
  444. package/dist/Stream.d.ts.map +1 -1
  445. package/dist/Stream.js +261 -13
  446. package/dist/Stream.js.map +1 -1
  447. package/dist/String.d.ts +87 -0
  448. package/dist/String.d.ts.map +1 -1
  449. package/dist/String.js +61 -0
  450. package/dist/String.js.map +1 -1
  451. package/dist/Struct.d.ts +46 -0
  452. package/dist/Struct.d.ts.map +1 -1
  453. package/dist/Struct.js +19 -0
  454. package/dist/Struct.js.map +1 -1
  455. package/dist/SubscriptionRef.d.ts +65 -0
  456. package/dist/SubscriptionRef.d.ts.map +1 -1
  457. package/dist/SubscriptionRef.js +25 -0
  458. package/dist/SubscriptionRef.js.map +1 -1
  459. package/dist/Symbol.d.ts +2 -0
  460. package/dist/Symbol.d.ts.map +1 -1
  461. package/dist/Symbol.js +2 -0
  462. package/dist/Symbol.js.map +1 -1
  463. package/dist/SynchronizedRef.d.ts +63 -0
  464. package/dist/SynchronizedRef.d.ts.map +1 -1
  465. package/dist/SynchronizedRef.js +24 -0
  466. package/dist/SynchronizedRef.js.map +1 -1
  467. package/dist/Take.d.ts +3 -0
  468. package/dist/Take.d.ts.map +1 -1
  469. package/dist/Take.js +1 -0
  470. package/dist/Take.js.map +1 -1
  471. package/dist/Terminal.d.ts +8 -0
  472. package/dist/Terminal.d.ts.map +1 -1
  473. package/dist/Terminal.js +4 -0
  474. package/dist/Terminal.js.map +1 -1
  475. package/dist/Tracer.d.ts +23 -0
  476. package/dist/Tracer.d.ts.map +1 -1
  477. package/dist/Tracer.js +12 -0
  478. package/dist/Tracer.js.map +1 -1
  479. package/dist/Trie.d.ts +68 -0
  480. package/dist/Trie.d.ts.map +1 -1
  481. package/dist/Trie.js +28 -0
  482. package/dist/Trie.js.map +1 -1
  483. package/dist/Tuple.d.ts +38 -0
  484. package/dist/Tuple.d.ts.map +1 -1
  485. package/dist/Tuple.js +18 -0
  486. package/dist/Tuple.js.map +1 -1
  487. package/dist/TxChunk.d.ts +52 -0
  488. package/dist/TxChunk.d.ts.map +1 -1
  489. package/dist/TxChunk.js +23 -0
  490. package/dist/TxChunk.js.map +1 -1
  491. package/dist/TxDeferred.d.ts +15 -0
  492. package/dist/TxDeferred.d.ts.map +1 -1
  493. package/dist/TxDeferred.js +8 -0
  494. package/dist/TxDeferred.js.map +1 -1
  495. package/dist/TxHashMap.d.ts +83 -0
  496. package/dist/TxHashMap.d.ts.map +1 -1
  497. package/dist/TxHashMap.js +52 -7
  498. package/dist/TxHashMap.js.map +1 -1
  499. package/dist/TxHashSet.d.ts +51 -0
  500. package/dist/TxHashSet.d.ts.map +1 -1
  501. package/dist/TxHashSet.js +29 -4
  502. package/dist/TxHashSet.js.map +1 -1
  503. package/dist/TxPriorityQueue.d.ts +30 -0
  504. package/dist/TxPriorityQueue.d.ts.map +1 -1
  505. package/dist/TxPriorityQueue.js +22 -1
  506. package/dist/TxPriorityQueue.js.map +1 -1
  507. package/dist/TxPubSub.d.ts +25 -0
  508. package/dist/TxPubSub.d.ts.map +1 -1
  509. package/dist/TxPubSub.js +19 -0
  510. package/dist/TxPubSub.js.map +1 -1
  511. package/dist/TxQueue.d.ts +51 -0
  512. package/dist/TxQueue.d.ts.map +1 -1
  513. package/dist/TxQueue.js +30 -0
  514. package/dist/TxQueue.js.map +1 -1
  515. package/dist/TxReentrantLock.d.ts +24 -0
  516. package/dist/TxReentrantLock.d.ts.map +1 -1
  517. package/dist/TxReentrantLock.js +32 -18
  518. package/dist/TxReentrantLock.js.map +1 -1
  519. package/dist/TxRef.d.ts +14 -0
  520. package/dist/TxRef.d.ts.map +1 -1
  521. package/dist/TxRef.js +7 -0
  522. package/dist/TxRef.js.map +1 -1
  523. package/dist/TxSemaphore.d.ts +25 -0
  524. package/dist/TxSemaphore.d.ts.map +1 -1
  525. package/dist/TxSemaphore.js +29 -13
  526. package/dist/TxSemaphore.js.map +1 -1
  527. package/dist/TxSubscriptionRef.d.ts +25 -0
  528. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  529. package/dist/TxSubscriptionRef.js +12 -0
  530. package/dist/TxSubscriptionRef.js.map +1 -1
  531. package/dist/Types.d.ts +36 -0
  532. package/dist/Types.d.ts.map +1 -1
  533. package/dist/Types.js +1 -0
  534. package/dist/UndefinedOr.d.ts +15 -0
  535. package/dist/UndefinedOr.d.ts.map +1 -1
  536. package/dist/UndefinedOr.js +9 -0
  537. package/dist/UndefinedOr.js.map +1 -1
  538. package/dist/Unify.d.ts +15 -0
  539. package/dist/Unify.d.ts.map +1 -1
  540. package/dist/Unify.js +2 -0
  541. package/dist/Unify.js.map +1 -1
  542. package/dist/Utils.d.ts +4 -0
  543. package/dist/Utils.d.ts.map +1 -1
  544. package/dist/Utils.js +1 -0
  545. package/dist/Utils.js.map +1 -1
  546. package/dist/Version.d.ts +26 -0
  547. package/dist/Version.d.ts.map +1 -0
  548. package/dist/Version.js +36 -0
  549. package/dist/Version.js.map +1 -0
  550. package/dist/ai/Chat.js +1 -1
  551. package/dist/ai/Chat.js.map +1 -1
  552. package/dist/ai/DecisionModel.d.ts +22 -0
  553. package/dist/ai/DecisionModel.d.ts.map +1 -1
  554. package/dist/ai/DecisionModel.js +22 -4
  555. package/dist/ai/DecisionModel.js.map +1 -1
  556. package/dist/ai/LanguageModel.d.ts.map +1 -1
  557. package/dist/ai/LanguageModel.js +14 -13
  558. package/dist/ai/LanguageModel.js.map +1 -1
  559. package/dist/ai/McpServer.d.ts +32 -11
  560. package/dist/ai/McpServer.d.ts.map +1 -1
  561. package/dist/ai/McpServer.js +213 -169
  562. package/dist/ai/McpServer.js.map +1 -1
  563. package/dist/ai/Telemetry.d.ts +49 -41
  564. package/dist/ai/Telemetry.d.ts.map +1 -1
  565. package/dist/ai/Telemetry.js +6 -8
  566. package/dist/ai/Telemetry.js.map +1 -1
  567. package/dist/ai/internal/mcpRuntime.js +79 -46
  568. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  569. package/dist/ai/internal/mcpStatefulRuntime.js +1 -0
  570. package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
  571. package/dist/cluster/K8sHttpClient.d.ts.map +1 -1
  572. package/dist/cluster/K8sHttpClient.js +5 -2
  573. package/dist/cluster/K8sHttpClient.js.map +1 -1
  574. package/dist/encoding/Base64.d.ts +4 -0
  575. package/dist/encoding/Base64.d.ts.map +1 -1
  576. package/dist/encoding/Base64.js +4 -0
  577. package/dist/encoding/Base64.js.map +1 -1
  578. package/dist/encoding/Base64Url.d.ts +4 -0
  579. package/dist/encoding/Base64Url.d.ts.map +1 -1
  580. package/dist/encoding/Base64Url.js +4 -0
  581. package/dist/encoding/Base64Url.js.map +1 -1
  582. package/dist/encoding/EncodingError.d.ts +4 -0
  583. package/dist/encoding/EncodingError.d.ts.map +1 -1
  584. package/dist/encoding/EncodingError.js +4 -0
  585. package/dist/encoding/EncodingError.js.map +1 -1
  586. package/dist/encoding/Hex.d.ts +5 -0
  587. package/dist/encoding/Hex.d.ts.map +1 -1
  588. package/dist/encoding/Hex.js +5 -0
  589. package/dist/encoding/Hex.js.map +1 -1
  590. package/dist/encoding/Toml.js +2 -2
  591. package/dist/encoding/Toml.js.map +1 -1
  592. package/dist/encoding/Yaml.d.ts.map +1 -1
  593. package/dist/encoding/Yaml.js +6 -4
  594. package/dist/encoding/Yaml.js.map +1 -1
  595. package/dist/encoding/index.d.ts +4 -0
  596. package/dist/encoding/index.d.ts.map +1 -1
  597. package/dist/encoding/index.js +4 -0
  598. package/dist/encoding/index.js.map +1 -1
  599. package/dist/eventlog/SqlEventJournal.js +8 -4
  600. package/dist/eventlog/SqlEventJournal.js.map +1 -1
  601. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +27 -10
  602. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  603. package/dist/eventlog/SqlEventLogServerUnencrypted.js +49 -7
  604. package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  605. package/dist/http/Headers.d.ts +3 -1
  606. package/dist/http/Headers.d.ts.map +1 -1
  607. package/dist/http/Headers.js +4 -2
  608. package/dist/http/Headers.js.map +1 -1
  609. package/dist/http/HttpClient.d.ts +9 -0
  610. package/dist/http/HttpClient.d.ts.map +1 -1
  611. package/dist/http/HttpClient.js +40 -21
  612. package/dist/http/HttpClient.js.map +1 -1
  613. package/dist/http/HttpClientResponse.js +3 -1
  614. package/dist/http/HttpClientResponse.js.map +1 -1
  615. package/dist/http/HttpEffect.d.ts +3 -0
  616. package/dist/http/HttpEffect.d.ts.map +1 -1
  617. package/dist/http/HttpEffect.js +5 -2
  618. package/dist/http/HttpEffect.js.map +1 -1
  619. package/dist/http/HttpMiddleware.d.ts +17 -0
  620. package/dist/http/HttpMiddleware.d.ts.map +1 -1
  621. package/dist/http/HttpMiddleware.js +56 -39
  622. package/dist/http/HttpMiddleware.js.map +1 -1
  623. package/dist/http/HttpServer.d.ts +1 -1
  624. package/dist/http/HttpServer.d.ts.map +1 -1
  625. package/dist/http/internal/tracing.d.ts +2 -0
  626. package/dist/http/internal/tracing.d.ts.map +1 -0
  627. package/dist/http/internal/tracing.js +37 -0
  628. package/dist/http/internal/tracing.js.map +1 -0
  629. package/dist/http-api/HttpApiBuilder.js +2 -1
  630. package/dist/http-api/HttpApiBuilder.js.map +1 -1
  631. package/dist/http-api/HttpApiClient.d.ts +12 -3
  632. package/dist/http-api/HttpApiClient.d.ts.map +1 -1
  633. package/dist/http-api/HttpApiClient.js.map +1 -1
  634. package/dist/http-api/HttpApiError.d.ts +4 -3
  635. package/dist/http-api/HttpApiError.d.ts.map +1 -1
  636. package/dist/http-api/HttpApiError.js +7 -4
  637. package/dist/http-api/HttpApiError.js.map +1 -1
  638. package/dist/http-api/HttpApiSecurity.d.ts +8 -8
  639. package/dist/http-api/HttpApiSecurity.js +8 -8
  640. package/dist/index.d.ts +155 -0
  641. package/dist/index.d.ts.map +1 -1
  642. package/dist/index.js +155 -0
  643. package/dist/index.js.map +1 -1
  644. package/dist/internal/arbitrary/array.js +3 -3
  645. package/dist/internal/arbitrary/array.js.map +1 -1
  646. package/dist/internal/arbitrary/model.js +26 -11
  647. package/dist/internal/arbitrary/model.js.map +1 -1
  648. package/dist/internal/arbitrary/runner.js +8 -8
  649. package/dist/internal/arbitrary/runner.js.map +1 -1
  650. package/dist/internal/arbitrary/schema.js +4 -5
  651. package/dist/internal/arbitrary/schema.js.map +1 -1
  652. package/dist/internal/effect.js +41 -39
  653. package/dist/internal/effect.js.map +1 -1
  654. package/dist/internal/schedule.js +7 -5
  655. package/dist/internal/schedule.js.map +1 -1
  656. package/dist/internal/schema/standardSchema.js +2 -2
  657. package/dist/internal/schema/standardSchema.js.map +1 -1
  658. package/dist/internal/version.d.ts +2 -0
  659. package/dist/internal/version.d.ts.map +1 -0
  660. package/dist/internal/version.js +3 -0
  661. package/dist/internal/version.js.map +1 -0
  662. package/dist/observability/OtlpExporter.d.ts.map +1 -1
  663. package/dist/observability/OtlpExporter.js +5 -6
  664. package/dist/observability/OtlpExporter.js.map +1 -1
  665. package/dist/observability/OtlpLogger.d.ts.map +1 -1
  666. package/dist/observability/OtlpLogger.js +23 -27
  667. package/dist/observability/OtlpLogger.js.map +1 -1
  668. package/dist/observability/OtlpMetrics.d.ts +5 -3
  669. package/dist/observability/OtlpMetrics.d.ts.map +1 -1
  670. package/dist/observability/OtlpMetrics.js +21 -94
  671. package/dist/observability/OtlpMetrics.js.map +1 -1
  672. package/dist/observability/OtlpResource.d.ts +4 -3
  673. package/dist/observability/OtlpResource.d.ts.map +1 -1
  674. package/dist/observability/OtlpResource.js +20 -23
  675. package/dist/observability/OtlpResource.js.map +1 -1
  676. package/dist/observability/OtlpTracer.d.ts +1 -0
  677. package/dist/observability/OtlpTracer.d.ts.map +1 -1
  678. package/dist/observability/OtlpTracer.js +32 -36
  679. package/dist/observability/OtlpTracer.js.map +1 -1
  680. package/dist/observability/internal/otlpProtobuf.js +32 -1
  681. package/dist/observability/internal/otlpProtobuf.js.map +1 -1
  682. package/dist/reactivity/AsyncResult.d.ts +1 -1
  683. package/dist/reactivity/Atom.d.ts +5 -5
  684. package/dist/reactivity/Atom.d.ts.map +1 -1
  685. package/dist/reactivity/Atom.js +9 -5
  686. package/dist/reactivity/Atom.js.map +1 -1
  687. package/dist/reactivity/AtomHttpApi.d.ts +2 -2
  688. package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
  689. package/dist/reactivity/AtomRegistry.d.ts +8 -0
  690. package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
  691. package/dist/reactivity/AtomRegistry.js.map +1 -1
  692. package/dist/rpc/RpcClient.d.ts +21 -3
  693. package/dist/rpc/RpcClient.d.ts.map +1 -1
  694. package/dist/rpc/RpcClient.js +38 -20
  695. package/dist/rpc/RpcClient.js.map +1 -1
  696. package/dist/rpc/RpcServer.d.ts.map +1 -1
  697. package/dist/rpc/RpcServer.js +18 -21
  698. package/dist/rpc/RpcServer.js.map +1 -1
  699. package/dist/rpc/internal/tracing.d.ts +2 -0
  700. package/dist/rpc/internal/tracing.d.ts.map +1 -0
  701. package/dist/rpc/internal/tracing.js +18 -0
  702. package/dist/rpc/internal/tracing.js.map +1 -0
  703. package/dist/schema/SchemaCompiler/runtime.js +9 -1
  704. package/dist/schema/SchemaCompiler/runtime.js.map +1 -1
  705. package/dist/sql/SqlClient.js +4 -4
  706. package/dist/sql/SqlClient.js.map +1 -1
  707. package/dist/sql/Statement.d.ts +21 -1
  708. package/dist/sql/Statement.d.ts.map +1 -1
  709. package/dist/sql/Statement.js +55 -7
  710. package/dist/sql/Statement.js.map +1 -1
  711. package/dist/testing/TestClock.d.ts +8 -0
  712. package/dist/testing/TestClock.d.ts.map +1 -1
  713. package/dist/testing/TestClock.js +7 -0
  714. package/dist/testing/TestClock.js.map +1 -1
  715. package/dist/testing/TestConsole.d.ts +7 -0
  716. package/dist/testing/TestConsole.d.ts.map +1 -1
  717. package/dist/testing/TestConsole.js +6 -0
  718. package/dist/testing/TestConsole.js.map +1 -1
  719. package/dist/testing/index.d.ts +3 -0
  720. package/dist/testing/index.d.ts.map +1 -1
  721. package/dist/testing/index.js +3 -0
  722. package/dist/testing/index.js.map +1 -1
  723. package/package.json +3 -3
  724. package/src/Array.ts +351 -3
  725. package/src/BigDecimal.ts +88 -0
  726. package/src/BigInt.ts +68 -0
  727. package/src/Boolean.ts +34 -0
  728. package/src/Brand.ts +10 -0
  729. package/src/ByteSize.ts +87 -0
  730. package/src/Cache.ts +50 -8
  731. package/src/Cause.ts +82 -0
  732. package/src/Channel.ts +368 -18
  733. package/src/ChannelSchema.ts +13 -0
  734. package/src/Chunk.ts +193 -0
  735. package/src/Clock.ts +7 -0
  736. package/src/Combiner.ts +10 -0
  737. package/src/Config.ts +82 -8
  738. package/src/ConfigProvider.ts +28 -0
  739. package/src/Console.ts +26 -0
  740. package/src/Context.ts +50 -0
  741. package/src/Cron.ts +32 -1
  742. package/src/Crypto.ts +5 -0
  743. package/src/Data.ts +13 -0
  744. package/src/DateTime.ts +171 -0
  745. package/src/Deferred.ts +51 -0
  746. package/src/Differ.ts +2 -0
  747. package/src/Duration.ts +90 -0
  748. package/src/Effect.ts +539 -5
  749. package/src/Effectable.ts +4 -0
  750. package/src/Equal.ts +12 -1
  751. package/src/Equivalence.ts +22 -0
  752. package/src/ErrorReporter.ts +36 -0
  753. package/src/ExecutionPlan.ts +58 -14
  754. package/src/Exit.ts +40 -0
  755. package/src/Fiber.ts +20 -0
  756. package/src/FiberHandle.ts +29 -4
  757. package/src/FiberMap.ts +38 -0
  758. package/src/FiberSet.ts +21 -0
  759. package/src/FileSystem.ts +16 -0
  760. package/src/Filter.ts +55 -0
  761. package/src/Formatter.ts +42 -1
  762. package/src/Function.ts +30 -0
  763. package/src/Graph.ts +317 -36
  764. package/src/HKT.ts +5 -0
  765. package/src/Hash.ts +15 -0
  766. package/src/HashMap.ts +91 -0
  767. package/src/HashRing.ts +18 -0
  768. package/src/HashSet.ts +53 -0
  769. package/src/Inspectable.ts +8 -0
  770. package/src/Iterable.ts +127 -0
  771. package/src/JsonPatch.ts +5 -0
  772. package/src/JsonPointer.ts +5 -0
  773. package/src/JsonSchema.ts +17 -0
  774. package/src/Latch.ts +14 -0
  775. package/src/Layer.ts +101 -1
  776. package/src/LayerMap.ts +7 -0
  777. package/src/LayerRef.ts +5 -0
  778. package/src/LogLevel.ts +20 -0
  779. package/src/Logger.ts +41 -5
  780. package/src/ManagedRuntime.ts +12 -1
  781. package/src/Match.ts +52 -0
  782. package/src/Metric.ts +69 -0
  783. package/src/MutableHashMap.ts +44 -0
  784. package/src/MutableHashSet.ts +17 -0
  785. package/src/MutableList.ts +21 -0
  786. package/src/MutableRef.ts +32 -0
  787. package/src/Newtype.ts +9 -0
  788. package/src/NonEmptyIterable.ts +4 -0
  789. package/src/Number.ts +61 -0
  790. package/src/Optic.ts +57 -0
  791. package/src/Option.ts +134 -0
  792. package/src/Order.ts +30 -0
  793. package/src/Ordering.ts +7 -0
  794. package/src/PartitionedSemaphore.ts +61 -22
  795. package/src/Path.ts +6 -0
  796. package/src/Pipeable.ts +7 -0
  797. package/src/PlatformError.ts +8 -0
  798. package/src/Pool.ts +20 -1
  799. package/src/Predicate.ts +85 -0
  800. package/src/PrimaryKey.ts +5 -0
  801. package/src/PubSub.ts +90 -9
  802. package/src/Pull.ts +20 -0
  803. package/src/Queue.ts +80 -10
  804. package/src/Random.ts +13 -0
  805. package/src/RcMap.ts +23 -0
  806. package/src/RcRef.ts +6 -0
  807. package/src/Record.ts +100 -0
  808. package/src/Redactable.ts +6 -0
  809. package/src/Redacted.ts +8 -0
  810. package/src/Reducer.ts +4 -0
  811. package/src/Ref.ts +42 -0
  812. package/src/References.ts +21 -0
  813. package/src/RegExp.ts +4 -0
  814. package/src/Request.ts +32 -0
  815. package/src/RequestResolver.ts +59 -10
  816. package/src/Resource.ts +7 -0
  817. package/src/Result.ts +93 -0
  818. package/src/Runtime.ts +10 -0
  819. package/src/Schedule.ts +61 -0
  820. package/src/Scheduler.ts +7 -0
  821. package/src/Schema.ts +499 -4
  822. package/src/SchemaAST.ts +115 -1
  823. package/src/SchemaGetter.ts +80 -4
  824. package/src/SchemaIssue.ts +34 -0
  825. package/src/SchemaParser.ts +26 -0
  826. package/src/SchemaRepresentation.ts +148 -0
  827. package/src/SchemaTransformation.ts +53 -0
  828. package/src/Scope.ts +19 -0
  829. package/src/ScopedCache.ts +55 -3
  830. package/src/ScopedRef.ts +9 -0
  831. package/src/Semaphore.ts +26 -0
  832. package/src/Sink.ts +126 -2
  833. package/src/StandardSchema.ts +1 -0
  834. package/src/Stdio.ts +7 -0
  835. package/src/Stream.ts +622 -15
  836. package/src/String.ts +87 -0
  837. package/src/Struct.ts +46 -0
  838. package/src/SubscriptionRef.ts +65 -0
  839. package/src/Symbol.ts +2 -0
  840. package/src/SynchronizedRef.ts +63 -0
  841. package/src/Take.ts +3 -0
  842. package/src/Terminal.ts +8 -0
  843. package/src/Tracer.ts +23 -0
  844. package/src/Trie.ts +68 -0
  845. package/src/Tuple.ts +38 -0
  846. package/src/TxChunk.ts +52 -0
  847. package/src/TxDeferred.ts +15 -0
  848. package/src/TxHashMap.ts +97 -6
  849. package/src/TxHashSet.ts +83 -3
  850. package/src/TxPriorityQueue.ts +34 -2
  851. package/src/TxPubSub.ts +26 -0
  852. package/src/TxQueue.ts +51 -0
  853. package/src/TxReentrantLock.ts +53 -36
  854. package/src/TxRef.ts +14 -0
  855. package/src/TxSemaphore.ts +47 -31
  856. package/src/TxSubscriptionRef.ts +25 -0
  857. package/src/Types.ts +36 -0
  858. package/src/UndefinedOr.ts +15 -0
  859. package/src/Unify.ts +15 -0
  860. package/src/Utils.ts +4 -0
  861. package/src/Version.ts +38 -0
  862. package/src/ai/Chat.ts +1 -1
  863. package/src/ai/DecisionModel.ts +42 -1
  864. package/src/ai/LanguageModel.ts +16 -19
  865. package/src/ai/McpServer.ts +107 -36
  866. package/src/ai/Telemetry.ts +62 -58
  867. package/src/ai/internal/mcpRuntime.ts +84 -43
  868. package/src/ai/internal/mcpStatefulRuntime.ts +2 -0
  869. package/src/cluster/K8sHttpClient.ts +12 -2
  870. package/src/encoding/Base64.ts +4 -0
  871. package/src/encoding/Base64Url.ts +4 -0
  872. package/src/encoding/EncodingError.ts +5 -0
  873. package/src/encoding/Hex.ts +5 -0
  874. package/src/encoding/Toml.ts +2 -2
  875. package/src/encoding/Yaml.ts +8 -4
  876. package/src/encoding/index.ts +4 -0
  877. package/src/eventlog/SqlEventJournal.ts +18 -4
  878. package/src/eventlog/SqlEventLogServerUnencrypted.ts +282 -235
  879. package/src/http/Headers.ts +8 -2
  880. package/src/http/HttpClient.ts +44 -27
  881. package/src/http/HttpClientResponse.ts +3 -1
  882. package/src/http/HttpEffect.ts +11 -2
  883. package/src/http/HttpMiddleware.ts +60 -45
  884. package/src/http/HttpServer.ts +1 -1
  885. package/src/http/internal/tracing.ts +52 -0
  886. package/src/http-api/HttpApiBuilder.ts +5 -1
  887. package/src/http-api/HttpApiClient.ts +13 -4
  888. package/src/http-api/HttpApiError.ts +8 -4
  889. package/src/http-api/HttpApiSecurity.ts +8 -8
  890. package/src/index.ts +156 -0
  891. package/src/internal/arbitrary/array.ts +3 -3
  892. package/src/internal/arbitrary/model.ts +37 -14
  893. package/src/internal/arbitrary/runner.ts +7 -7
  894. package/src/internal/arbitrary/schema.ts +4 -3
  895. package/src/internal/effect.ts +47 -45
  896. package/src/internal/schedule.ts +23 -17
  897. package/src/internal/schema/standardSchema.ts +2 -2
  898. package/src/internal/version.ts +2 -0
  899. package/src/observability/OtlpExporter.ts +9 -6
  900. package/src/observability/OtlpLogger.ts +20 -21
  901. package/src/observability/OtlpMetrics.ts +34 -93
  902. package/src/observability/OtlpResource.ts +18 -27
  903. package/src/observability/OtlpTracer.ts +34 -40
  904. package/src/observability/internal/otlpProtobuf.ts +60 -0
  905. package/src/reactivity/AsyncResult.ts +1 -1
  906. package/src/reactivity/Atom.ts +10 -6
  907. package/src/reactivity/AtomHttpApi.ts +2 -4
  908. package/src/reactivity/AtomRegistry.ts +7 -0
  909. package/src/rpc/RpcClient.ts +48 -24
  910. package/src/rpc/RpcServer.ts +26 -24
  911. package/src/rpc/internal/tracing.ts +22 -0
  912. package/src/schema/SchemaCompiler/runtime.ts +4 -1
  913. package/src/sql/SqlClient.ts +4 -4
  914. package/src/sql/Statement.ts +59 -7
  915. package/src/testing/TestClock.ts +9 -0
  916. package/src/testing/TestConsole.ts +8 -0
  917. package/src/testing/index.ts +3 -0
package/src/LayerMap.ts CHANGED
@@ -7,6 +7,7 @@
7
7
  * keyed resource families such as tenant clients, regional connections, or
8
8
  * environment-specific services.
9
9
  *
10
+ * @stability unstable
10
11
  * @since 3.14.0
11
12
  */
12
13
  import * as Context from "./Context.ts"
@@ -72,6 +73,7 @@ type IdleTimeToLiveInput<K> = Duration.Input | ((key: K) => Duration.Input)
72
73
  * await Effect.runPromise(Effect.scoped(program)) // => { development: "development: SELECT 1", production: "production: SELECT 1" }
73
74
  * ```
74
75
  *
76
+ * @stability unstable
75
77
  * @category models
76
78
  * @since 3.14.0
77
79
  */
@@ -150,6 +152,7 @@ export interface LayerMap<in out K, in out I, in out E = never> {
150
152
  * await Effect.runPromise(Effect.scoped(program)) // => "development: SELECT * FROM users"
151
153
  * ```
152
154
  *
155
+ * @stability unstable
153
156
  * @category constructors
154
157
  * @since 3.14.0
155
158
  */
@@ -256,6 +259,7 @@ export const make: <
256
259
  * await Effect.runPromise(Effect.scoped(program)) // => { development: "DEV: SELECT 1", production: "PROD: SELECT 1" }
257
260
  * ```
258
261
  *
262
+ * @stability unstable
259
263
  * @category constructors
260
264
  * @since 3.14.0
261
265
  */
@@ -302,6 +306,7 @@ export const fromRecord = <
302
306
  *
303
307
  * @see {@link Service} for creating concrete `LayerMap` service classes
304
308
  *
309
+ * @stability unstable
305
310
  * @category services
306
311
  * @since 3.14.0
307
312
  */
@@ -402,6 +407,7 @@ export interface TagClass<
402
407
  * await Effect.runPromise(program) // => "Hello, John!"
403
408
  * ```
404
409
  *
410
+ * @stability unstable
405
411
  * @category services
406
412
  * @since 3.14.0
407
413
  */
@@ -488,6 +494,7 @@ export const Service = <Self>() =>
488
494
  /**
489
495
  * Type helpers for values created with `LayerMap.Service`.
490
496
  *
497
+ * @stability unstable
491
498
  * @since 3.14.0
492
499
  */
493
500
  export declare namespace Service {
package/src/LayerRef.ts CHANGED
@@ -5,6 +5,7 @@
5
5
  * back as a layer or scoped effect, and supports invalidation so later users can
6
6
  * acquire a fresh context.
7
7
  *
8
+ * @stability unstable
8
9
  * @since 4.0.0
9
10
  */
10
11
  import * as Context from "./Context.ts"
@@ -37,6 +38,7 @@ const TypeId = "~effect/LayerRef"
37
38
  * @see {@link make} for constructing a `LayerRef` from a layer
38
39
  * @see {@link Service} for defining a `LayerRef` as a service class
39
40
  *
41
+ * @stability unstable
40
42
  * @category models
41
43
  * @since 4.0.0
42
44
  */
@@ -127,6 +129,7 @@ export interface LayerRef<in out I, in out E = never> {
127
129
  *
128
130
  * @see {@link Service} for defining a reusable service class around a `LayerRef`
129
131
  *
132
+ * @stability unstable
130
133
  * @category constructors
131
134
  * @since 4.0.0
132
135
  */
@@ -208,6 +211,7 @@ export const make = Effect.fnUntraced(
208
211
  *
209
212
  * @see {@link Service} for creating concrete `LayerRef` service classes
210
213
  *
214
+ * @stability unstable
211
215
  * @category services
212
216
  * @since 4.0.0
213
217
  */
@@ -301,6 +305,7 @@ export interface TagClass<
301
305
  *
302
306
  * @see {@link make} for creating a `LayerRef` value without defining a service class
303
307
  *
308
+ * @stability unstable
304
309
  * @category services
305
310
  * @since 4.0.0
306
311
  */
package/src/LogLevel.ts CHANGED
@@ -4,6 +4,7 @@
4
4
  * equality and ordering instances, threshold comparison helpers, and an effect
5
5
  * for checking whether a level is enabled by the current logging settings.
6
6
  *
7
+ * @stability stable
7
8
  * @since 2.0.0
8
9
  */
9
10
  import type * as Effect from "./Effect.ts"
@@ -61,6 +62,7 @@ import * as References from "./References.ts"
61
62
  * levels // => ["Error", "Debug"]
62
63
  * ```
63
64
  *
65
+ * @stability stable
64
66
  * @category models
65
67
  * @since 2.0.0
66
68
  */
@@ -81,6 +83,7 @@ export type LogLevel = "All" | "Fatal" | "Error" | "Warn" | "Info" | "Debug" | "
81
83
  * @see {@link values} for the runtime list of all accepted `LogLevel` values,
82
84
  * including sentinels
83
85
  *
86
+ * @stability stable
84
87
  * @category models
85
88
  * @since 4.0.0
86
89
  */
@@ -108,6 +111,7 @@ export type Severity = "Fatal" | "Error" | "Warn" | "Info" | "Debug" | "Trace"
108
111
  * @see {@link Severity} for the concrete message severity type that excludes `All` and `None`
109
112
  * @see {@link Order} for comparing these levels by severity order
110
113
  *
114
+ * @stability stable
111
115
  * @category constants
112
116
  * @since 4.0.0
113
117
  */
@@ -135,6 +139,7 @@ export const values: ReadonlyArray<LogLevel> = ["All", "Fatal", "Error", "Warn",
135
139
  * LogLevel.Order("Info", "Info") // => 0
136
140
  * ```
137
141
  *
142
+ * @stability stable
138
143
  * @category ordering
139
144
  * @since 2.0.0
140
145
  */
@@ -164,6 +169,7 @@ export const Order: Ord.Order<LogLevel> = effect.LogLevelOrder
164
169
  * @see {@link Order} for severity ordering rather than exact level equality
165
170
  * @see {@link isGreaterThanOrEqualTo} for minimum-threshold checks
166
171
  *
172
+ * @stability stable
167
173
  * @category instances
168
174
  * @since 4.0.0
169
175
  */
@@ -192,6 +198,7 @@ export const Equivalence: Equ.Equivalence<LogLevel> = Equ.strictEqual<LogLevel>(
192
198
  * @see {@link Order} for comparing log levels without exposing numeric keys
193
199
  * @see {@link isGreaterThanOrEqualTo} for minimum-threshold filtering
194
200
  *
201
+ * @stability stable
195
202
  * @category ordering
196
203
  * @since 4.0.0
197
204
  */
@@ -230,6 +237,7 @@ export const getOrdinal = (self: LogLevel): number => effect.logLevelToOrder(sel
230
237
  * isMoreSevereThanInfo("Debug") // => false
231
238
  * ```
232
239
  *
240
+ * @stability stable
233
241
  * @category ordering
234
242
  * @since 4.0.0
235
243
  */
@@ -267,6 +275,7 @@ export const isGreaterThan: {
267
275
  * isMoreSevereThanInfo("Debug") // => false
268
276
  * ```
269
277
  *
278
+ * @stability stable
270
279
  * @category ordering
271
280
  * @since 4.0.0
272
281
  */
@@ -304,6 +313,7 @@ export const isGreaterThan: {
304
313
  * isMoreSevereThanInfo("Debug") // => false
305
314
  * ```
306
315
  *
316
+ * @stability stable
307
317
  * @category ordering
308
318
  * @since 4.0.0
309
319
  */
@@ -335,6 +345,7 @@ export const isGreaterThan: {
335
345
  * isInfoOrAbove("Error") // => true
336
346
  * ```
337
347
  *
348
+ * @stability stable
338
349
  * @category ordering
339
350
  * @since 4.0.0
340
351
  */
@@ -364,6 +375,7 @@ export const isGreaterThanOrEqualTo: {
364
375
  * isInfoOrAbove("Error") // => true
365
376
  * ```
366
377
  *
378
+ * @stability stable
367
379
  * @category ordering
368
380
  * @since 4.0.0
369
381
  */
@@ -393,6 +405,7 @@ export const isGreaterThanOrEqualTo: {
393
405
  * isInfoOrAbove("Error") // => true
394
406
  * ```
395
407
  *
408
+ * @stability stable
396
409
  * @category ordering
397
410
  * @since 4.0.0
398
411
  */
@@ -432,6 +445,7 @@ export const isGreaterThanOrEqualTo: {
432
445
  * isLessSevereThanError("Fatal") // => false
433
446
  * ```
434
447
  *
448
+ * @stability stable
435
449
  * @category ordering
436
450
  * @since 4.0.0
437
451
  */
@@ -469,6 +483,7 @@ export const isLessThan: {
469
483
  * isLessSevereThanError("Fatal") // => false
470
484
  * ```
471
485
  *
486
+ * @stability stable
472
487
  * @category ordering
473
488
  * @since 4.0.0
474
489
  */
@@ -506,6 +521,7 @@ export const isLessThan: {
506
521
  * isLessSevereThanError("Fatal") // => false
507
522
  * ```
508
523
  *
524
+ * @stability stable
509
525
  * @category ordering
510
526
  * @since 4.0.0
511
527
  */
@@ -537,6 +553,7 @@ export const isLessThan: {
537
553
  * isInfoOrBelow("Debug") // => true
538
554
  * ```
539
555
  *
556
+ * @stability stable
540
557
  * @category ordering
541
558
  * @since 4.0.0
542
559
  */
@@ -566,6 +583,7 @@ export const isLessThanOrEqualTo: {
566
583
  * isInfoOrBelow("Debug") // => true
567
584
  * ```
568
585
  *
586
+ * @stability stable
569
587
  * @category ordering
570
588
  * @since 4.0.0
571
589
  */
@@ -595,6 +613,7 @@ export const isLessThanOrEqualTo: {
595
613
  * isInfoOrBelow("Debug") // => true
596
614
  * ```
597
615
  *
616
+ * @stability stable
598
617
  * @category ordering
599
618
  * @since 4.0.0
600
619
  */
@@ -633,6 +652,7 @@ export const isLessThanOrEqualTo: {
633
652
  * await Effect.runPromise(warnOnly) // => { debugEnabled: false, errorEnabled: true }
634
653
  * ```
635
654
  *
655
+ * @stability stable
636
656
  * @category predicates
637
657
  * @since 4.0.0
638
658
  */
package/src/Logger.ts CHANGED
@@ -7,6 +7,7 @@
7
7
  * logger references, console routing helpers, built-in formatters, batching,
8
8
  * file logging, and layers for installing loggers.
9
9
  *
10
+ * @stability stable
10
11
  * @since 2.0.0
11
12
  */
12
13
  import * as Array from "./Array.ts"
@@ -58,6 +59,7 @@ const TypeId = "~effect/Logger"
58
59
  * messages // => ["[Info] Hello World"]
59
60
  * ```
60
61
  *
62
+ * @stability stable
61
63
  * @category models
62
64
  * @since 2.0.0
63
65
  */
@@ -95,6 +97,7 @@ export interface Logger<in Message, out Output> extends Pipeable {
95
97
  * outputs // => [{ message: ["Processing request"], level: "Info", hasCause: false }]
96
98
  * ```
97
99
  *
100
+ * @stability stable
98
101
  * @category options
99
102
  * @since 2.0.0
100
103
  */
@@ -121,6 +124,7 @@ export interface Options<out Message> {
121
124
  * Logger.isLogger({ log: () => {} }) // => false
122
125
  * ```
123
126
  *
127
+ * @stability stable
124
128
  * @category guards
125
129
  * @since 4.0.0
126
130
  */
@@ -156,6 +160,7 @@ export const isLogger = (u: unknown): u is Logger<unknown, unknown> => Predicate
156
160
  * messages // => [["Hello from custom logger"]]
157
161
  * ```
158
162
  *
163
+ * @stability stable
159
164
  * @category services
160
165
  * @since 4.0.0
161
166
  */
@@ -179,6 +184,7 @@ export const CurrentLoggers: Context.Reference<ReadonlySet<Logger<unknown, any>>
179
184
  * @see {@link consolePretty} for the TTY-mode pretty console logger affected by this reference
180
185
  * @see {@link withConsoleError} for routing a specific formatter logger to `console.error`
181
186
  *
187
+ * @stability stable
182
188
  * @category services
183
189
  * @since 4.0.0
184
190
  */
@@ -214,6 +220,7 @@ export const LogToStderr: Context.Reference<boolean> = effect.LogToStderr
214
220
  * outputs // => [{ message: "HELLO" }]
215
221
  * ```
216
222
  *
223
+ * @stability stable
217
224
  * @category mapping
218
225
  * @since 2.0.0
219
226
  */
@@ -248,6 +255,7 @@ export const map = dual<
248
255
  * outputs // => [{ message: "HELLO" }]
249
256
  * ```
250
257
  *
258
+ * @stability stable
251
259
  * @category mapping
252
260
  * @since 2.0.0
253
261
  */
@@ -284,6 +292,7 @@ export const map = dual<
284
292
  * outputs // => [{ message: "HELLO" }]
285
293
  * ```
286
294
  *
295
+ * @stability stable
287
296
  * @category mapping
288
297
  * @since 2.0.0
289
298
  */
@@ -320,6 +329,7 @@ export const map = dual<
320
329
  * await Effect.runPromise(program) // => ["Info: Hello World"]
321
330
  * ```
322
331
  *
332
+ * @stability stable
323
333
  * @category logging
324
334
  * @since 2.0.0
325
335
  */
@@ -360,6 +370,7 @@ export const withConsoleLog = <Message, Output>(
360
370
  * await Effect.runPromise(program) // => ["ERROR: Database connection failed"]
361
371
  * ```
362
372
  *
373
+ * @stability stable
363
374
  * @category logging
364
375
  * @since 2.0.0
365
376
  */
@@ -414,6 +425,7 @@ export const withConsoleError = <Message, Output>(
414
425
  * messages // => expected
415
426
  * ```
416
427
  *
428
+ * @stability stable
417
429
  * @category logging
418
430
  * @since 3.8.0
419
431
  */
@@ -526,6 +538,7 @@ const format = (
526
538
  * outputs // => ["Info: Hello World"]
527
539
  * ```
528
540
  *
541
+ * @stability stable
529
542
  * @category constructors
530
543
  * @since 2.0.0
531
544
  */
@@ -544,6 +557,7 @@ export const make: <Message, Output>(
544
557
  * Logger.isLogger(Logger.defaultLogger) // => true
545
558
  * ```
546
559
  *
560
+ * @stability stable
547
561
  * @category constructors
548
562
  * @since 2.0.0
549
563
  */
@@ -579,6 +593,7 @@ export const defaultLogger: Logger<unknown, void> = effect.defaultLogger
579
593
  * await Effect.runPromise(program) // => ["level=INFO message=\"Application started\""]
580
594
  * ```
581
595
  *
596
+ * @stability stable
582
597
  * @category constructors
583
598
  * @since 4.0.0
584
599
  */
@@ -614,6 +629,7 @@ export const formatSimple = effect.loggerMake(format(escapeDoubleQuotes))
614
629
  * await Effect.runPromise(program) // => ["level=INFO message=\"User login\""]
615
630
  * ```
616
631
  *
632
+ * @stability stable
617
633
  * @category constructors
618
634
  * @since 4.0.0
619
635
  */
@@ -649,6 +665,7 @@ export const formatLogFmt = effect.loggerMake(format(JSON.stringify, 0))
649
665
  * await Effect.runPromise(program) // => [{ message: "User action", level: "INFO" }]
650
666
  * ```
651
667
  *
668
+ * @stability stable
652
669
  * @category constructors
653
670
  * @since 4.0.0
654
671
  */
@@ -719,6 +736,7 @@ export const formatStructured: Logger<unknown, {
719
736
  * await Effect.runPromise(program) // => ["{\"message\":\"Server started\",\"level\":\"INFO\"}"]
720
737
  * ```
721
738
  *
739
+ * @stability stable
722
740
  * @category constructors
723
741
  * @since 4.0.0
724
742
  */
@@ -757,6 +775,7 @@ export const formatJson = map(formatStructured, Formatter.formatJson)
757
775
  * flushed // => [["Event 1", "Event 2"]]
758
776
  * ```
759
777
  *
778
+ * @stability stable
760
779
  * @category constructors
761
780
  * @since 2.0.0
762
781
  */
@@ -794,6 +813,7 @@ export const batched = dual<
794
813
  * flushed // => [["Event 1", "Event 2"]]
795
814
  * ```
796
815
  *
816
+ * @stability stable
797
817
  * @category constructors
798
818
  * @since 2.0.0
799
819
  */
@@ -838,6 +858,7 @@ export const batched = dual<
838
858
  * flushed // => [["Event 1", "Event 2"]]
839
859
  * ```
840
860
  *
861
+ * @stability stable
841
862
  * @category constructors
842
863
  * @since 2.0.0
843
864
  */
@@ -855,16 +876,16 @@ export const batched = dual<
855
876
  readonly flush: (messages: Array<NoInfer<Output>>) => Effect.Effect<void>
856
877
  }
857
878
  ): Effect.Effect<Logger<Message, void>, never, Scope.Scope> =>
858
- effect.flatMap(effect.scope, (scope) => {
879
+ effect.suspend(() => {
859
880
  let buffer: Array<Output> = []
860
- const flush = effect.suspend(() => {
881
+ const flush = effect.uninterruptible(effect.suspend(() => {
861
882
  if (buffer.length === 0) {
862
883
  return effect.void
863
884
  }
864
885
  const arr = buffer
865
886
  buffer = []
866
887
  return options.flush(arr)
867
- })
888
+ }))
868
889
 
869
890
  return effect.uninterruptibleMask((restore) =>
870
891
  restore(
@@ -874,8 +895,12 @@ export const batched = dual<
874
895
  )
875
896
  ).pipe(
876
897
  effect.forkDetach,
877
- effect.flatMap((fiber) => effect.scopeAddFinalizerExit(scope, () => effect.fiberInterrupt(fiber))),
878
- effect.andThen(effect.addFinalizer(() => flush)),
898
+ effect.flatMap((fiber) =>
899
+ effect.addFinalizer(() =>
900
+ // Wait for any in-flight flush before draining the remaining buffer.
901
+ effect.andThen(effect.fiberInterrupt(fiber), flush)
902
+ )
903
+ ),
879
904
  effect.as(
880
905
  effect.loggerMake((options) => {
881
906
  buffer.push(self.log(options))
@@ -930,6 +955,7 @@ export const batched = dual<
930
955
  *
931
956
  * @see {@link consolePrettyBrowser} for browser-specific implementation
932
957
  * @see {@link consolePrettyTty} for the TTY-mode implementation
958
+ * @stability stable
933
959
  * @category constructors
934
960
  * @since 4.0.0
935
961
  */
@@ -967,6 +993,7 @@ export const consolePretty: (
967
993
  * ```
968
994
  *
969
995
  * @see {@link consolePretty} for the platform-independent implementation
996
+ * @stability stable
970
997
  * @category constructors
971
998
  * @since 4.0.0
972
999
  */
@@ -1019,6 +1046,7 @@ export const consolePrettyBrowser: (
1019
1046
  * ```
1020
1047
  *
1021
1048
  * @see {@link consolePretty} for the platform-independent implementation
1049
+ * @stability stable
1022
1050
  * @category constructors
1023
1051
  * @since 4.0.0
1024
1052
  */
@@ -1046,6 +1074,7 @@ export const consolePrettyTty: (
1046
1074
  * Logger.isLogger(Logger.consoleLogFmt) // => true
1047
1075
  * ```
1048
1076
  *
1077
+ * @stability stable
1049
1078
  * @category constructors
1050
1079
  * @since 4.0.0
1051
1080
  */
@@ -1071,6 +1100,7 @@ export const consoleLogFmt: Logger<unknown, void> = withConsoleLog(formatLogFmt)
1071
1100
  * Logger.isLogger(Logger.consoleStructured) // => true
1072
1101
  * ```
1073
1102
  *
1103
+ * @stability stable
1074
1104
  * @category constructors
1075
1105
  * @since 4.0.0
1076
1106
  */
@@ -1094,6 +1124,7 @@ export const consoleStructured: Logger<unknown, void> = withConsoleLog(formatStr
1094
1124
  * Logger.isLogger(Logger.consoleJson) // => true
1095
1125
  * ```
1096
1126
  *
1127
+ * @stability stable
1097
1128
  * @category constructors
1098
1129
  * @since 4.0.0
1099
1130
  */
@@ -1124,6 +1155,7 @@ export const consoleJson: Logger<unknown, void> = withConsoleLog(formatJson)
1124
1155
  * Effect.runSync(program)
1125
1156
  * ```
1126
1157
  *
1158
+ * @stability stable
1127
1159
  * @category constructors
1128
1160
  * @since 2.0.0
1129
1161
  */
@@ -1156,6 +1188,7 @@ export const tracerLogger: Logger<unknown, void> = effect.tracerLogger
1156
1188
  * messages // => [["Application started"]]
1157
1189
  * ```
1158
1190
  *
1191
+ * @stability stable
1159
1192
  * @category layers
1160
1193
  * @since 4.0.0
1161
1194
  */
@@ -1244,6 +1277,7 @@ export const layer = <
1244
1277
  * writes // => ["Application started"]
1245
1278
  * ```
1246
1279
  *
1280
+ * @stability unstable
1247
1281
  * @category logging
1248
1282
  * @since 4.0.0
1249
1283
  */
@@ -1309,6 +1343,7 @@ export const toFile = dual<
1309
1343
  * writes // => ["Application started"]
1310
1344
  * ```
1311
1345
  *
1346
+ * @stability unstable
1312
1347
  * @category logging
1313
1348
  * @since 4.0.0
1314
1349
  */
@@ -1383,6 +1418,7 @@ export const toFile = dual<
1383
1418
  * writes // => ["Application started"]
1384
1419
  * ```
1385
1420
  *
1421
+ * @stability unstable
1386
1422
  * @category logging
1387
1423
  * @since 4.0.0
1388
1424
  */
@@ -7,12 +7,14 @@
7
7
  * and runners for connecting Effect programs to JavaScript entry points such as
8
8
  * promises, callbacks, and synchronous code.
9
9
  *
10
+ * @stability stable
10
11
  * @since 2.0.0
11
12
  */
12
13
  import type * as Context from "./Context.ts"
13
14
  import * as Effect from "./Effect.ts"
14
15
  import * as Exit from "./Exit.ts"
15
16
  import * as Fiber from "./Fiber.ts"
17
+ import { type FiberImpl, scopeRemoveFinalizerUnsafe } from "./internal/effect.ts"
16
18
  import * as Layer from "./Layer.ts"
17
19
  import { hasProperty } from "./Predicate.ts"
18
20
  import * as Scope from "./Scope.ts"
@@ -39,6 +41,7 @@ const TypeId = "~effect/ManagedRuntime"
39
41
  *
40
42
  * @see {@link make} for creating managed runtimes this guard recognizes
41
43
  *
44
+ * @stability stable
42
45
  * @category guards
43
46
  * @since 3.9.0
44
47
  */
@@ -53,6 +56,7 @@ export const isManagedRuntime = (input: unknown): input is ManagedRuntime<unknow
53
56
  * Use to reference type-level helpers for extracting managed runtime services
54
57
  * and layer errors.
55
58
  *
59
+ * @stability stable
56
60
  * @since 3.4.0
57
61
  */
58
62
  export declare namespace ManagedRuntime {
@@ -106,6 +110,7 @@ export declare namespace ManagedRuntime {
106
110
  * @see {@link make} for constructing a managed runtime from a layer
107
111
  * @see {@link Layer.build} for lower-level scoped layer construction
108
112
  *
113
+ * @stability stable
109
114
  * @category models
110
115
  * @since 2.0.0
111
116
  */
@@ -279,6 +284,7 @@ export interface ManagedRuntime<in R, out ER> {
279
284
  * @see {@link Layer.MemoMap} for shared layer memoization
280
285
  * @see {@link Layer.build} for lower-level scoped layer construction
281
286
  *
287
+ * @stability stable
282
288
  * @category constructors
283
289
  * @since 2.0.0
284
290
  */
@@ -340,7 +346,12 @@ export const make = <R, ER>(
340
346
  [Symbol.asyncDispose](): Promise<void> {
341
347
  return self.dispose()
342
348
  },
343
- disposeEffect: Effect.suspend(() => {
349
+ disposeEffect: Effect.withFiber((fiber) => {
350
+ // Closing fiberScope interrupts and awaits every managed fiber. Skip the
351
+ // disposing fiber and its ancestors, which would otherwise await themselves.
352
+ for (let current = fiber as FiberImpl<any, any> | undefined; current; current = current._parent) {
353
+ scopeRemoveFinalizerUnsafe(fiberScope, current)
354
+ }
344
355
  ;(self as Mutable<ManagedRuntime<R, ER>>).contextEffect = Effect.die("ManagedRuntime disposed")
345
356
  self.cachedContext = undefined
346
357
  return Scope.close(self.scope, Exit.void)