effect 4.0.0-beta.69 → 4.0.0-beta.70

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 (1269) hide show
  1. package/dist/Array.d.ts +454 -0
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +152 -0
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +87 -33
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +37 -11
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +71 -14
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +35 -10
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +4 -0
  14. package/dist/Boolean.d.ts.map +1 -1
  15. package/dist/Boolean.js +4 -0
  16. package/dist/Boolean.js.map +1 -1
  17. package/dist/Brand.d.ts +16 -11
  18. package/dist/Brand.d.ts.map +1 -1
  19. package/dist/Brand.js +16 -11
  20. package/dist/Brand.js.map +1 -1
  21. package/dist/Cache.d.ts +13 -1
  22. package/dist/Cache.d.ts.map +1 -1
  23. package/dist/Cache.js +8 -0
  24. package/dist/Cache.js.map +1 -1
  25. package/dist/Cause.d.ts +95 -3
  26. package/dist/Cause.d.ts.map +1 -1
  27. package/dist/Cause.js +56 -2
  28. package/dist/Cause.js.map +1 -1
  29. package/dist/Channel.d.ts +312 -0
  30. package/dist/Channel.d.ts.map +1 -1
  31. package/dist/Channel.js +126 -0
  32. package/dist/Channel.js.map +1 -1
  33. package/dist/ChannelSchema.d.ts +20 -0
  34. package/dist/ChannelSchema.d.ts.map +1 -1
  35. package/dist/ChannelSchema.js +12 -0
  36. package/dist/ChannelSchema.js.map +1 -1
  37. package/dist/Chunk.d.ts +59 -22
  38. package/dist/Chunk.d.ts.map +1 -1
  39. package/dist/Chunk.js +29 -10
  40. package/dist/Chunk.js.map +1 -1
  41. package/dist/Combiner.d.ts +75 -71
  42. package/dist/Combiner.d.ts.map +1 -1
  43. package/dist/Combiner.js +67 -62
  44. package/dist/Combiner.js.map +1 -1
  45. package/dist/Config.d.ts +167 -46
  46. package/dist/Config.d.ts.map +1 -1
  47. package/dist/Config.js +108 -28
  48. package/dist/Config.js.map +1 -1
  49. package/dist/ConfigProvider.d.ts +235 -158
  50. package/dist/ConfigProvider.d.ts.map +1 -1
  51. package/dist/ConfigProvider.js +144 -93
  52. package/dist/ConfigProvider.js.map +1 -1
  53. package/dist/Console.d.ts +21 -79
  54. package/dist/Console.d.ts.map +1 -1
  55. package/dist/Console.js +20 -75
  56. package/dist/Console.js.map +1 -1
  57. package/dist/Context.d.ts +4 -4
  58. package/dist/Context.js +2 -2
  59. package/dist/Cron.d.ts +42 -16
  60. package/dist/Cron.d.ts.map +1 -1
  61. package/dist/Cron.js +33 -13
  62. package/dist/Cron.js.map +1 -1
  63. package/dist/Crypto.d.ts +6 -0
  64. package/dist/Crypto.d.ts.map +1 -1
  65. package/dist/Crypto.js.map +1 -1
  66. package/dist/Data.d.ts +132 -70
  67. package/dist/Data.d.ts.map +1 -1
  68. package/dist/Data.js +44 -29
  69. package/dist/Data.js.map +1 -1
  70. package/dist/DateTime.d.ts +227 -14
  71. package/dist/DateTime.d.ts.map +1 -1
  72. package/dist/DateTime.js +115 -6
  73. package/dist/DateTime.js.map +1 -1
  74. package/dist/Deferred.d.ts +94 -27
  75. package/dist/Deferred.d.ts.map +1 -1
  76. package/dist/Deferred.js +33 -8
  77. package/dist/Deferred.js.map +1 -1
  78. package/dist/Differ.d.ts +2 -0
  79. package/dist/Differ.d.ts.map +1 -1
  80. package/dist/Duration.d.ts +64 -6
  81. package/dist/Duration.d.ts.map +1 -1
  82. package/dist/Duration.js +26 -2
  83. package/dist/Duration.js.map +1 -1
  84. package/dist/Effect.d.ts +907 -603
  85. package/dist/Effect.d.ts.map +1 -1
  86. package/dist/Effect.js +360 -233
  87. package/dist/Effect.js.map +1 -1
  88. package/dist/Effectable.d.ts +3 -1
  89. package/dist/Effectable.d.ts.map +1 -1
  90. package/dist/Effectable.js +3 -1
  91. package/dist/Effectable.js.map +1 -1
  92. package/dist/Encoding.d.ts +16 -0
  93. package/dist/Encoding.d.ts.map +1 -1
  94. package/dist/Encoding.js +16 -0
  95. package/dist/Encoding.js.map +1 -1
  96. package/dist/Equal.d.ts +52 -40
  97. package/dist/Equal.d.ts.map +1 -1
  98. package/dist/Equal.js +32 -26
  99. package/dist/Equal.js.map +1 -1
  100. package/dist/Equivalence.d.ts +190 -153
  101. package/dist/Equivalence.d.ts.map +1 -1
  102. package/dist/Equivalence.js +129 -104
  103. package/dist/Equivalence.js.map +1 -1
  104. package/dist/ErrorReporter.d.ts +35 -14
  105. package/dist/ErrorReporter.d.ts.map +1 -1
  106. package/dist/ErrorReporter.js +18 -6
  107. package/dist/ErrorReporter.js.map +1 -1
  108. package/dist/ExecutionPlan.d.ts +10 -3
  109. package/dist/ExecutionPlan.d.ts.map +1 -1
  110. package/dist/ExecutionPlan.js +4 -3
  111. package/dist/ExecutionPlan.js.map +1 -1
  112. package/dist/Exit.d.ts +212 -6
  113. package/dist/Exit.d.ts.map +1 -1
  114. package/dist/Exit.js +139 -2
  115. package/dist/Exit.js.map +1 -1
  116. package/dist/Fiber.d.ts +8 -0
  117. package/dist/Fiber.d.ts.map +1 -1
  118. package/dist/Fiber.js +4 -0
  119. package/dist/Fiber.js.map +1 -1
  120. package/dist/FiberHandle.d.ts +46 -23
  121. package/dist/FiberHandle.d.ts.map +1 -1
  122. package/dist/FiberHandle.js +27 -11
  123. package/dist/FiberHandle.js.map +1 -1
  124. package/dist/FiberMap.d.ts +43 -4
  125. package/dist/FiberMap.d.ts.map +1 -1
  126. package/dist/FiberMap.js +27 -4
  127. package/dist/FiberMap.js.map +1 -1
  128. package/dist/FiberSet.d.ts +21 -6
  129. package/dist/FiberSet.d.ts.map +1 -1
  130. package/dist/FiberSet.js +17 -6
  131. package/dist/FiberSet.js.map +1 -1
  132. package/dist/FileSystem.d.ts +64 -0
  133. package/dist/FileSystem.d.ts.map +1 -1
  134. package/dist/FileSystem.js +26 -0
  135. package/dist/FileSystem.js.map +1 -1
  136. package/dist/Filter.d.ts +53 -21
  137. package/dist/Filter.d.ts.map +1 -1
  138. package/dist/Filter.js +20 -9
  139. package/dist/Filter.js.map +1 -1
  140. package/dist/Formatter.d.ts +21 -22
  141. package/dist/Formatter.d.ts.map +1 -1
  142. package/dist/Formatter.js +12 -12
  143. package/dist/Formatter.js.map +1 -1
  144. package/dist/Function.d.ts +67 -75
  145. package/dist/Function.d.ts.map +1 -1
  146. package/dist/Function.js +29 -19
  147. package/dist/Function.js.map +1 -1
  148. package/dist/Graph.d.ts +51 -13
  149. package/dist/Graph.d.ts.map +1 -1
  150. package/dist/Graph.js +19 -3
  151. package/dist/Graph.js.map +1 -1
  152. package/dist/HKT.d.ts +22 -21
  153. package/dist/HKT.d.ts.map +1 -1
  154. package/dist/Hash.d.ts +33 -10
  155. package/dist/Hash.d.ts.map +1 -1
  156. package/dist/Hash.js +27 -10
  157. package/dist/Hash.js.map +1 -1
  158. package/dist/HashMap.d.ts +50 -9
  159. package/dist/HashMap.d.ts.map +1 -1
  160. package/dist/HashMap.js +17 -3
  161. package/dist/HashMap.js.map +1 -1
  162. package/dist/HashRing.d.ts +4 -0
  163. package/dist/HashRing.d.ts.map +1 -1
  164. package/dist/HashRing.js +2 -0
  165. package/dist/HashRing.js.map +1 -1
  166. package/dist/HashSet.d.ts +2 -0
  167. package/dist/HashSet.d.ts.map +1 -1
  168. package/dist/HashSet.js.map +1 -1
  169. package/dist/Inspectable.d.ts +15 -2
  170. package/dist/Inspectable.d.ts.map +1 -1
  171. package/dist/Inspectable.js +11 -2
  172. package/dist/Inspectable.js.map +1 -1
  173. package/dist/Iterable.d.ts +104 -22
  174. package/dist/Iterable.d.ts.map +1 -1
  175. package/dist/Iterable.js +46 -12
  176. package/dist/Iterable.js.map +1 -1
  177. package/dist/JsonPatch.d.ts +61 -80
  178. package/dist/JsonPatch.d.ts.map +1 -1
  179. package/dist/JsonPatch.js +35 -42
  180. package/dist/JsonPatch.js.map +1 -1
  181. package/dist/JsonPointer.d.ts +16 -20
  182. package/dist/JsonPointer.d.ts.map +1 -1
  183. package/dist/JsonPointer.js +16 -20
  184. package/dist/JsonPointer.js.map +1 -1
  185. package/dist/JsonSchema.d.ts +123 -73
  186. package/dist/JsonSchema.d.ts.map +1 -1
  187. package/dist/JsonSchema.js +95 -53
  188. package/dist/JsonSchema.js.map +1 -1
  189. package/dist/Latch.d.ts +28 -2
  190. package/dist/Latch.d.ts.map +1 -1
  191. package/dist/Latch.js +22 -2
  192. package/dist/Latch.js.map +1 -1
  193. package/dist/Layer.d.ts +781 -335
  194. package/dist/Layer.d.ts.map +1 -1
  195. package/dist/Layer.js +324 -129
  196. package/dist/Layer.js.map +1 -1
  197. package/dist/LogLevel.d.ts +86 -13
  198. package/dist/LogLevel.d.ts.map +1 -1
  199. package/dist/LogLevel.js +30 -4
  200. package/dist/LogLevel.js.map +1 -1
  201. package/dist/Logger.d.ts +63 -51
  202. package/dist/Logger.d.ts.map +1 -1
  203. package/dist/Logger.js +61 -51
  204. package/dist/Logger.js.map +1 -1
  205. package/dist/ManagedRuntime.d.ts +12 -0
  206. package/dist/ManagedRuntime.d.ts.map +1 -1
  207. package/dist/ManagedRuntime.js +1 -0
  208. package/dist/ManagedRuntime.js.map +1 -1
  209. package/dist/Match.d.ts +83 -1
  210. package/dist/Match.d.ts.map +1 -1
  211. package/dist/Match.js +31 -1
  212. package/dist/Match.js.map +1 -1
  213. package/dist/Metric.d.ts +89 -12
  214. package/dist/Metric.d.ts.map +1 -1
  215. package/dist/Metric.js +53 -8
  216. package/dist/Metric.js.map +1 -1
  217. package/dist/MutableHashMap.d.ts +14 -0
  218. package/dist/MutableHashMap.d.ts.map +1 -1
  219. package/dist/MutableHashMap.js +4 -0
  220. package/dist/MutableHashMap.js.map +1 -1
  221. package/dist/MutableHashSet.d.ts +2 -0
  222. package/dist/MutableHashSet.d.ts.map +1 -1
  223. package/dist/MutableHashSet.js.map +1 -1
  224. package/dist/MutableList.d.ts +24 -6
  225. package/dist/MutableList.d.ts.map +1 -1
  226. package/dist/MutableList.js +22 -6
  227. package/dist/MutableList.js.map +1 -1
  228. package/dist/MutableRef.d.ts +2 -0
  229. package/dist/MutableRef.d.ts.map +1 -1
  230. package/dist/MutableRef.js.map +1 -1
  231. package/dist/Newtype.d.ts +69 -30
  232. package/dist/Newtype.d.ts.map +1 -1
  233. package/dist/Newtype.js +52 -22
  234. package/dist/Newtype.js.map +1 -1
  235. package/dist/NonEmptyIterable.d.ts +6 -0
  236. package/dist/NonEmptyIterable.d.ts.map +1 -1
  237. package/dist/NonEmptyIterable.js +2 -0
  238. package/dist/NonEmptyIterable.js.map +1 -1
  239. package/dist/Number.d.ts +16 -30
  240. package/dist/Number.d.ts.map +1 -1
  241. package/dist/Number.js +6 -12
  242. package/dist/Number.js.map +1 -1
  243. package/dist/Optic.d.ts +90 -40
  244. package/dist/Optic.d.ts.map +1 -1
  245. package/dist/Optic.js +48 -24
  246. package/dist/Optic.js.map +1 -1
  247. package/dist/Option.d.ts +121 -111
  248. package/dist/Option.d.ts.map +1 -1
  249. package/dist/Option.js +56 -54
  250. package/dist/Option.js.map +1 -1
  251. package/dist/Order.d.ts +169 -167
  252. package/dist/Order.d.ts.map +1 -1
  253. package/dist/Order.js +135 -135
  254. package/dist/Order.js.map +1 -1
  255. package/dist/Ordering.d.ts +4 -0
  256. package/dist/Ordering.d.ts.map +1 -1
  257. package/dist/Ordering.js +2 -0
  258. package/dist/Ordering.js.map +1 -1
  259. package/dist/PartitionedSemaphore.d.ts +7 -5
  260. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  261. package/dist/PartitionedSemaphore.js +5 -5
  262. package/dist/PartitionedSemaphore.js.map +1 -1
  263. package/dist/Path.d.ts +8 -0
  264. package/dist/Path.d.ts.map +1 -1
  265. package/dist/Path.js +4 -0
  266. package/dist/Path.js.map +1 -1
  267. package/dist/Pipeable.d.ts +10 -0
  268. package/dist/Pipeable.d.ts.map +1 -1
  269. package/dist/Pipeable.js +8 -0
  270. package/dist/Pipeable.js.map +1 -1
  271. package/dist/PlatformError.d.ts +12 -0
  272. package/dist/PlatformError.d.ts.map +1 -1
  273. package/dist/PlatformError.js +10 -0
  274. package/dist/PlatformError.js.map +1 -1
  275. package/dist/Pool.d.ts +30 -16
  276. package/dist/Pool.d.ts.map +1 -1
  277. package/dist/Pool.js +30 -16
  278. package/dist/Pool.js.map +1 -1
  279. package/dist/Predicate.d.ts +520 -352
  280. package/dist/Predicate.d.ts.map +1 -1
  281. package/dist/Predicate.js +271 -184
  282. package/dist/Predicate.js.map +1 -1
  283. package/dist/PrimaryKey.d.ts +4 -0
  284. package/dist/PrimaryKey.d.ts.map +1 -1
  285. package/dist/PrimaryKey.js +2 -0
  286. package/dist/PrimaryKey.js.map +1 -1
  287. package/dist/PubSub.d.ts +22 -4
  288. package/dist/PubSub.d.ts.map +1 -1
  289. package/dist/PubSub.js +17 -3
  290. package/dist/PubSub.js.map +1 -1
  291. package/dist/Pull.d.ts +16 -0
  292. package/dist/Pull.d.ts.map +1 -1
  293. package/dist/Pull.js +10 -0
  294. package/dist/Pull.js.map +1 -1
  295. package/dist/Queue.d.ts +44 -0
  296. package/dist/Queue.d.ts.map +1 -1
  297. package/dist/Queue.js +28 -0
  298. package/dist/Queue.js.map +1 -1
  299. package/dist/Random.d.ts +25 -6
  300. package/dist/Random.d.ts.map +1 -1
  301. package/dist/Random.js +11 -2
  302. package/dist/Random.js.map +1 -1
  303. package/dist/RcMap.d.ts +10 -6
  304. package/dist/RcMap.d.ts.map +1 -1
  305. package/dist/RcMap.js +2 -2
  306. package/dist/RcMap.js.map +1 -1
  307. package/dist/RcRef.d.ts +3 -1
  308. package/dist/RcRef.d.ts.map +1 -1
  309. package/dist/RcRef.js.map +1 -1
  310. package/dist/Record.d.ts +24 -3
  311. package/dist/Record.d.ts.map +1 -1
  312. package/dist/Record.js +12 -3
  313. package/dist/Record.js.map +1 -1
  314. package/dist/Redactable.d.ts +54 -41
  315. package/dist/Redactable.d.ts.map +1 -1
  316. package/dist/Redactable.js +42 -32
  317. package/dist/Redactable.js.map +1 -1
  318. package/dist/Redacted.d.ts +10 -0
  319. package/dist/Redacted.d.ts.map +1 -1
  320. package/dist/Redacted.js +6 -0
  321. package/dist/Redacted.js.map +1 -1
  322. package/dist/Reducer.d.ts +20 -11
  323. package/dist/Reducer.d.ts.map +1 -1
  324. package/dist/Reducer.js +10 -6
  325. package/dist/Reducer.js.map +1 -1
  326. package/dist/Ref.d.ts +45 -24
  327. package/dist/Ref.d.ts.map +1 -1
  328. package/dist/Ref.js +41 -21
  329. package/dist/Ref.js.map +1 -1
  330. package/dist/References.d.ts +18 -1
  331. package/dist/References.d.ts.map +1 -1
  332. package/dist/References.js +17 -1
  333. package/dist/References.js.map +1 -1
  334. package/dist/Request.d.ts +3 -3
  335. package/dist/Request.js +2 -2
  336. package/dist/RequestResolver.d.ts +7 -17
  337. package/dist/RequestResolver.d.ts.map +1 -1
  338. package/dist/RequestResolver.js +3 -5
  339. package/dist/RequestResolver.js.map +1 -1
  340. package/dist/Resource.d.ts +2 -0
  341. package/dist/Resource.d.ts.map +1 -1
  342. package/dist/Resource.js +2 -0
  343. package/dist/Resource.js.map +1 -1
  344. package/dist/Result.d.ts +188 -6
  345. package/dist/Result.d.ts.map +1 -1
  346. package/dist/Result.js +84 -2
  347. package/dist/Result.js.map +1 -1
  348. package/dist/Runtime.d.ts +14 -11
  349. package/dist/Runtime.d.ts.map +1 -1
  350. package/dist/Runtime.js +11 -9
  351. package/dist/Runtime.js.map +1 -1
  352. package/dist/Schedule.d.ts +27 -3
  353. package/dist/Schedule.d.ts.map +1 -1
  354. package/dist/Schedule.js +21 -2
  355. package/dist/Schedule.js.map +1 -1
  356. package/dist/Scheduler.d.ts +22 -19
  357. package/dist/Scheduler.d.ts.map +1 -1
  358. package/dist/Scheduler.js +14 -12
  359. package/dist/Scheduler.js.map +1 -1
  360. package/dist/Schema.d.ts +547 -130
  361. package/dist/Schema.d.ts.map +1 -1
  362. package/dist/Schema.js +409 -121
  363. package/dist/Schema.js.map +1 -1
  364. package/dist/SchemaAST.d.ts +123 -65
  365. package/dist/SchemaAST.d.ts.map +1 -1
  366. package/dist/SchemaAST.js +90 -39
  367. package/dist/SchemaAST.js.map +1 -1
  368. package/dist/SchemaGetter.d.ts +269 -234
  369. package/dist/SchemaGetter.d.ts.map +1 -1
  370. package/dist/SchemaGetter.js +245 -215
  371. package/dist/SchemaGetter.js.map +1 -1
  372. package/dist/SchemaIssue.d.ts +48 -46
  373. package/dist/SchemaIssue.d.ts.map +1 -1
  374. package/dist/SchemaIssue.js +34 -34
  375. package/dist/SchemaIssue.js.map +1 -1
  376. package/dist/SchemaParser.d.ts +58 -0
  377. package/dist/SchemaParser.d.ts.map +1 -1
  378. package/dist/SchemaParser.js +58 -0
  379. package/dist/SchemaParser.js.map +1 -1
  380. package/dist/SchemaRepresentation.d.ts +198 -96
  381. package/dist/SchemaRepresentation.d.ts.map +1 -1
  382. package/dist/SchemaRepresentation.js +107 -45
  383. package/dist/SchemaRepresentation.js.map +1 -1
  384. package/dist/SchemaTransformation.d.ts +272 -203
  385. package/dist/SchemaTransformation.d.ts.map +1 -1
  386. package/dist/SchemaTransformation.js +249 -187
  387. package/dist/SchemaTransformation.js.map +1 -1
  388. package/dist/SchemaUtils.d.ts +2 -0
  389. package/dist/SchemaUtils.d.ts.map +1 -1
  390. package/dist/SchemaUtils.js +2 -0
  391. package/dist/SchemaUtils.js.map +1 -1
  392. package/dist/Scope.d.ts +18 -0
  393. package/dist/Scope.d.ts.map +1 -1
  394. package/dist/Scope.js +12 -0
  395. package/dist/Scope.js.map +1 -1
  396. package/dist/ScopedCache.d.ts +44 -0
  397. package/dist/ScopedCache.d.ts.map +1 -1
  398. package/dist/ScopedCache.js +18 -0
  399. package/dist/ScopedCache.js.map +1 -1
  400. package/dist/ScopedRef.d.ts +9 -3
  401. package/dist/ScopedRef.d.ts.map +1 -1
  402. package/dist/ScopedRef.js +3 -1
  403. package/dist/ScopedRef.js.map +1 -1
  404. package/dist/Semaphore.d.ts +6 -0
  405. package/dist/Semaphore.d.ts.map +1 -1
  406. package/dist/Semaphore.js +4 -0
  407. package/dist/Semaphore.js.map +1 -1
  408. package/dist/Sink.d.ts +108 -0
  409. package/dist/Sink.d.ts.map +1 -1
  410. package/dist/Sink.js +54 -0
  411. package/dist/Sink.js.map +1 -1
  412. package/dist/Stdio.d.ts +7 -3
  413. package/dist/Stdio.d.ts.map +1 -1
  414. package/dist/Stdio.js +2 -0
  415. package/dist/Stdio.js.map +1 -1
  416. package/dist/Stream.d.ts +416 -16
  417. package/dist/Stream.d.ts.map +1 -1
  418. package/dist/Stream.js +164 -8
  419. package/dist/Stream.js.map +1 -1
  420. package/dist/String.d.ts +14 -0
  421. package/dist/String.d.ts.map +1 -1
  422. package/dist/String.js +6 -0
  423. package/dist/String.js.map +1 -1
  424. package/dist/Struct.d.ts +371 -191
  425. package/dist/Struct.d.ts.map +1 -1
  426. package/dist/Struct.js +144 -77
  427. package/dist/Struct.js.map +1 -1
  428. package/dist/SubscriptionRef.d.ts +7 -1
  429. package/dist/SubscriptionRef.d.ts.map +1 -1
  430. package/dist/SubscriptionRef.js +5 -1
  431. package/dist/SubscriptionRef.js.map +1 -1
  432. package/dist/SynchronizedRef.d.ts +2 -0
  433. package/dist/SynchronizedRef.d.ts.map +1 -1
  434. package/dist/SynchronizedRef.js +2 -0
  435. package/dist/SynchronizedRef.js.map +1 -1
  436. package/dist/Tracer.d.ts +17 -27
  437. package/dist/Tracer.d.ts.map +1 -1
  438. package/dist/Tracer.js +8 -12
  439. package/dist/Tracer.js.map +1 -1
  440. package/dist/Trie.d.ts +23 -9
  441. package/dist/Trie.d.ts.map +1 -1
  442. package/dist/Trie.js +13 -3
  443. package/dist/Trie.js.map +1 -1
  444. package/dist/Tuple.d.ts +287 -144
  445. package/dist/Tuple.d.ts.map +1 -1
  446. package/dist/Tuple.js +135 -66
  447. package/dist/Tuple.js.map +1 -1
  448. package/dist/TxChunk.d.ts +182 -93
  449. package/dist/TxChunk.d.ts.map +1 -1
  450. package/dist/TxChunk.js +68 -35
  451. package/dist/TxChunk.js.map +1 -1
  452. package/dist/TxDeferred.d.ts +3 -4
  453. package/dist/TxDeferred.d.ts.map +1 -1
  454. package/dist/TxDeferred.js.map +1 -1
  455. package/dist/TxHashMap.d.ts +163 -86
  456. package/dist/TxHashMap.d.ts.map +1 -1
  457. package/dist/TxHashMap.js +57 -30
  458. package/dist/TxHashMap.js.map +1 -1
  459. package/dist/TxHashSet.d.ts +24 -27
  460. package/dist/TxHashSet.d.ts.map +1 -1
  461. package/dist/TxHashSet.js +9 -6
  462. package/dist/TxHashSet.js.map +1 -1
  463. package/dist/TxPriorityQueue.d.ts +2 -0
  464. package/dist/TxPriorityQueue.d.ts.map +1 -1
  465. package/dist/TxPriorityQueue.js.map +1 -1
  466. package/dist/TxPubSub.d.ts +36 -35
  467. package/dist/TxPubSub.d.ts.map +1 -1
  468. package/dist/TxPubSub.js +22 -21
  469. package/dist/TxPubSub.js.map +1 -1
  470. package/dist/TxQueue.d.ts +77 -114
  471. package/dist/TxQueue.d.ts.map +1 -1
  472. package/dist/TxQueue.js +45 -62
  473. package/dist/TxQueue.js.map +1 -1
  474. package/dist/TxRef.d.ts +4 -0
  475. package/dist/TxRef.d.ts.map +1 -1
  476. package/dist/TxRef.js +2 -0
  477. package/dist/TxRef.js.map +1 -1
  478. package/dist/TxSemaphore.d.ts +66 -27
  479. package/dist/TxSemaphore.d.ts.map +1 -1
  480. package/dist/TxSemaphore.js +38 -15
  481. package/dist/TxSemaphore.js.map +1 -1
  482. package/dist/Types.d.ts +202 -75
  483. package/dist/Types.d.ts.map +1 -1
  484. package/dist/UndefinedOr.d.ts +31 -29
  485. package/dist/UndefinedOr.d.ts.map +1 -1
  486. package/dist/UndefinedOr.js +27 -21
  487. package/dist/UndefinedOr.js.map +1 -1
  488. package/dist/Unify.d.ts +28 -0
  489. package/dist/Unify.d.ts.map +1 -1
  490. package/dist/Unify.js +2 -0
  491. package/dist/Unify.js.map +1 -1
  492. package/dist/Utils.d.ts +29 -35
  493. package/dist/Utils.d.ts.map +1 -1
  494. package/dist/Utils.js +11 -13
  495. package/dist/Utils.js.map +1 -1
  496. package/dist/index.d.ts +18 -7
  497. package/dist/index.d.ts.map +1 -1
  498. package/dist/index.js +18 -7
  499. package/dist/index.js.map +1 -1
  500. package/dist/testing/TestClock.d.ts +17 -17
  501. package/dist/testing/TestClock.js +1 -1
  502. package/dist/testing/TestClock.js.map +1 -1
  503. package/dist/testing/TestConsole.d.ts +2 -0
  504. package/dist/testing/TestConsole.d.ts.map +1 -1
  505. package/dist/testing/TestConsole.js.map +1 -1
  506. package/dist/testing/TestSchema.d.ts +43 -55
  507. package/dist/testing/TestSchema.d.ts.map +1 -1
  508. package/dist/testing/TestSchema.js +43 -55
  509. package/dist/testing/TestSchema.js.map +1 -1
  510. package/dist/unstable/ai/AiError.d.ts +62 -11
  511. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  512. package/dist/unstable/ai/AiError.js +58 -11
  513. package/dist/unstable/ai/AiError.js.map +1 -1
  514. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +4 -4
  515. package/dist/unstable/ai/AnthropicStructuredOutput.js +4 -4
  516. package/dist/unstable/ai/Chat.d.ts +29 -1
  517. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  518. package/dist/unstable/ai/Chat.js +15 -1
  519. package/dist/unstable/ai/Chat.js.map +1 -1
  520. package/dist/unstable/ai/IdGenerator.d.ts +10 -0
  521. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  522. package/dist/unstable/ai/IdGenerator.js +8 -0
  523. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  524. package/dist/unstable/ai/LanguageModel.d.ts +32 -46
  525. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  526. package/dist/unstable/ai/LanguageModel.js +5 -14
  527. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  528. package/dist/unstable/ai/McpSchema.d.ts +84 -32
  529. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  530. package/dist/unstable/ai/McpSchema.js +73 -28
  531. package/dist/unstable/ai/McpSchema.js.map +1 -1
  532. package/dist/unstable/ai/McpServer.d.ts +8 -0
  533. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  534. package/dist/unstable/ai/McpServer.js +6 -0
  535. package/dist/unstable/ai/McpServer.js.map +1 -1
  536. package/dist/unstable/ai/Model.d.ts +9 -5
  537. package/dist/unstable/ai/Model.d.ts.map +1 -1
  538. package/dist/unstable/ai/Model.js +4 -0
  539. package/dist/unstable/ai/Model.js.map +1 -1
  540. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +3 -2
  541. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  542. package/dist/unstable/ai/OpenAiStructuredOutput.js +3 -2
  543. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  544. package/dist/unstable/ai/Prompt.d.ts +62 -35
  545. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  546. package/dist/unstable/ai/Prompt.js +16 -15
  547. package/dist/unstable/ai/Prompt.js.map +1 -1
  548. package/dist/unstable/ai/Response.d.ts +40 -21
  549. package/dist/unstable/ai/Response.d.ts.map +1 -1
  550. package/dist/unstable/ai/Response.js +10 -0
  551. package/dist/unstable/ai/Response.js.map +1 -1
  552. package/dist/unstable/ai/ResponseIdTracker.d.ts +8 -0
  553. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
  554. package/dist/unstable/ai/ResponseIdTracker.js +4 -0
  555. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  556. package/dist/unstable/ai/Telemetry.d.ts +30 -5
  557. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  558. package/dist/unstable/ai/Telemetry.js +7 -1
  559. package/dist/unstable/ai/Telemetry.js.map +1 -1
  560. package/dist/unstable/ai/Tokenizer.d.ts +6 -0
  561. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  562. package/dist/unstable/ai/Tokenizer.js +4 -0
  563. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  564. package/dist/unstable/ai/Tool.d.ts +68 -0
  565. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  566. package/dist/unstable/ai/Tool.js +36 -0
  567. package/dist/unstable/ai/Tool.js.map +1 -1
  568. package/dist/unstable/ai/Toolkit.d.ts +12 -0
  569. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  570. package/dist/unstable/ai/Toolkit.js +6 -0
  571. package/dist/unstable/ai/Toolkit.js.map +1 -1
  572. package/dist/unstable/cli/Argument.d.ts +14 -4
  573. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  574. package/dist/unstable/cli/Argument.js +4 -0
  575. package/dist/unstable/cli/Argument.js.map +1 -1
  576. package/dist/unstable/cli/CliError.d.ts +6 -0
  577. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  578. package/dist/unstable/cli/CliError.js +4 -0
  579. package/dist/unstable/cli/CliError.js.map +1 -1
  580. package/dist/unstable/cli/Command.d.ts +123 -12
  581. package/dist/unstable/cli/Command.d.ts.map +1 -1
  582. package/dist/unstable/cli/Command.js +57 -4
  583. package/dist/unstable/cli/Command.js.map +1 -1
  584. package/dist/unstable/cli/Flag.d.ts +31 -14
  585. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  586. package/dist/unstable/cli/Flag.js +23 -10
  587. package/dist/unstable/cli/Flag.js.map +1 -1
  588. package/dist/unstable/cli/Param.d.ts +10 -0
  589. package/dist/unstable/cli/Param.d.ts.map +1 -1
  590. package/dist/unstable/cli/Param.js +46 -5
  591. package/dist/unstable/cli/Param.js.map +1 -1
  592. package/dist/unstable/cli/Primitive.d.ts +10 -0
  593. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  594. package/dist/unstable/cli/Primitive.js +10 -0
  595. package/dist/unstable/cli/Primitive.js.map +1 -1
  596. package/dist/unstable/cli/Prompt.d.ts +47 -40
  597. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  598. package/dist/unstable/cli/Prompt.js +25 -20
  599. package/dist/unstable/cli/Prompt.js.map +1 -1
  600. package/dist/unstable/cli/internal/command.d.ts +1 -0
  601. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  602. package/dist/unstable/cli/internal/command.js +10 -2
  603. package/dist/unstable/cli/internal/command.js.map +1 -1
  604. package/dist/unstable/cli/internal/completions/descriptor.js +3 -0
  605. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  606. package/dist/unstable/cli/internal/parser.js +8 -1
  607. package/dist/unstable/cli/internal/parser.js.map +1 -1
  608. package/dist/unstable/cluster/ClusterCron.d.ts +10 -1
  609. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  610. package/dist/unstable/cluster/ClusterCron.js +2 -0
  611. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  612. package/dist/unstable/cluster/ClusterSchema.d.ts +8 -0
  613. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  614. package/dist/unstable/cluster/ClusterSchema.js +8 -0
  615. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  616. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +4 -0
  617. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  618. package/dist/unstable/cluster/ClusterWorkflowEngine.js +4 -0
  619. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  620. package/dist/unstable/cluster/DeliverAt.d.ts +3 -4
  621. package/dist/unstable/cluster/DeliverAt.d.ts.map +1 -1
  622. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  623. package/dist/unstable/cluster/Entity.d.ts +24 -0
  624. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  625. package/dist/unstable/cluster/Entity.js +12 -0
  626. package/dist/unstable/cluster/Entity.js.map +1 -1
  627. package/dist/unstable/cluster/EntityProxy.d.ts +10 -4
  628. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  629. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  630. package/dist/unstable/cluster/EntityProxyServer.d.ts +6 -0
  631. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  632. package/dist/unstable/cluster/EntityProxyServer.js +4 -0
  633. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  634. package/dist/unstable/cluster/EntityResource.d.ts +10 -0
  635. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  636. package/dist/unstable/cluster/EntityResource.js +8 -0
  637. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  638. package/dist/unstable/cluster/Envelope.d.ts +16 -0
  639. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  640. package/dist/unstable/cluster/Envelope.js +10 -0
  641. package/dist/unstable/cluster/Envelope.js.map +1 -1
  642. package/dist/unstable/cluster/HttpRunner.d.ts +16 -0
  643. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  644. package/dist/unstable/cluster/HttpRunner.js +16 -0
  645. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  646. package/dist/unstable/cluster/K8sHttpClient.d.ts +8 -0
  647. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  648. package/dist/unstable/cluster/K8sHttpClient.js +8 -0
  649. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  650. package/dist/unstable/cluster/Message.d.ts +24 -0
  651. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  652. package/dist/unstable/cluster/Message.js +18 -0
  653. package/dist/unstable/cluster/Message.js.map +1 -1
  654. package/dist/unstable/cluster/MessageStorage.d.ts +64 -20
  655. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  656. package/dist/unstable/cluster/MessageStorage.js +8 -0
  657. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  658. package/dist/unstable/cluster/Reply.d.ts +6 -6
  659. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  660. package/dist/unstable/cluster/Reply.js +4 -3
  661. package/dist/unstable/cluster/Reply.js.map +1 -1
  662. package/dist/unstable/cluster/Runner.d.ts +2 -0
  663. package/dist/unstable/cluster/Runner.d.ts.map +1 -1
  664. package/dist/unstable/cluster/Runner.js +2 -0
  665. package/dist/unstable/cluster/Runner.js.map +1 -1
  666. package/dist/unstable/cluster/RunnerHealth.d.ts +13 -2
  667. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  668. package/dist/unstable/cluster/RunnerHealth.js +13 -2
  669. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  670. package/dist/unstable/cluster/RunnerServer.d.ts +8 -8
  671. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  672. package/dist/unstable/cluster/RunnerServer.js +8 -8
  673. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  674. package/dist/unstable/cluster/RunnerStorage.d.ts +2 -0
  675. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  676. package/dist/unstable/cluster/RunnerStorage.js +2 -0
  677. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  678. package/dist/unstable/cluster/ShardId.d.ts +4 -0
  679. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  680. package/dist/unstable/cluster/ShardId.js +4 -0
  681. package/dist/unstable/cluster/ShardId.js.map +1 -1
  682. package/dist/unstable/cluster/Snowflake.d.ts +2 -0
  683. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  684. package/dist/unstable/cluster/Snowflake.js +2 -0
  685. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  686. package/dist/unstable/cluster/TestRunner.d.ts +3 -2
  687. package/dist/unstable/cluster/TestRunner.d.ts.map +1 -1
  688. package/dist/unstable/cluster/TestRunner.js +3 -2
  689. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  690. package/dist/unstable/devtools/DevToolsSchema.d.ts +34 -2
  691. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  692. package/dist/unstable/devtools/DevToolsSchema.js +14 -0
  693. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  694. package/dist/unstable/devtools/DevToolsServer.d.ts +4 -0
  695. package/dist/unstable/devtools/DevToolsServer.d.ts.map +1 -1
  696. package/dist/unstable/devtools/DevToolsServer.js +2 -0
  697. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  698. package/dist/unstable/encoding/Msgpack.d.ts +24 -0
  699. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  700. package/dist/unstable/encoding/Msgpack.js +18 -0
  701. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  702. package/dist/unstable/encoding/Ndjson.d.ts +46 -2
  703. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  704. package/dist/unstable/encoding/Ndjson.js +30 -2
  705. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  706. package/dist/unstable/encoding/Sse.d.ts +24 -17
  707. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  708. package/dist/unstable/encoding/Sse.js +20 -11
  709. package/dist/unstable/encoding/Sse.js.map +1 -1
  710. package/dist/unstable/eventlog/Event.d.ts +16 -0
  711. package/dist/unstable/eventlog/Event.d.ts.map +1 -1
  712. package/dist/unstable/eventlog/Event.js.map +1 -1
  713. package/dist/unstable/eventlog/EventGroup.d.ts +4 -0
  714. package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
  715. package/dist/unstable/eventlog/EventGroup.js +2 -0
  716. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  717. package/dist/unstable/eventlog/EventJournal.d.ts +20 -0
  718. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  719. package/dist/unstable/eventlog/EventJournal.js +18 -0
  720. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  721. package/dist/unstable/eventlog/EventLog.d.ts +22 -0
  722. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  723. package/dist/unstable/eventlog/EventLog.js +18 -0
  724. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  725. package/dist/unstable/eventlog/EventLogMessage.d.ts +10 -0
  726. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  727. package/dist/unstable/eventlog/EventLogMessage.js +10 -0
  728. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  729. package/dist/unstable/eventlog/EventLogRemote.d.ts +4 -0
  730. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  731. package/dist/unstable/eventlog/EventLogRemote.js +4 -0
  732. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  733. package/dist/unstable/eventlog/EventLogServer.d.ts +4 -0
  734. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  735. package/dist/unstable/eventlog/EventLogServer.js +4 -0
  736. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  737. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +6 -0
  738. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  739. package/dist/unstable/eventlog/EventLogServerEncrypted.js +6 -0
  740. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  741. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +8 -0
  742. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  743. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +8 -0
  744. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  745. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +11 -1
  746. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -1
  747. package/dist/unstable/eventlog/EventLogSessionAuth.js +11 -1
  748. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  749. package/dist/unstable/eventlog/SqlEventJournal.d.ts +2 -0
  750. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  751. package/dist/unstable/eventlog/SqlEventJournal.js +2 -0
  752. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  753. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts +2 -0
  754. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
  755. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +2 -0
  756. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  757. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts +2 -0
  758. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  759. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +2 -0
  760. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  761. package/dist/unstable/http/Cookies.d.ts +34 -0
  762. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  763. package/dist/unstable/http/Cookies.js +18 -0
  764. package/dist/unstable/http/Cookies.js.map +1 -1
  765. package/dist/unstable/http/Etag.d.ts +4 -0
  766. package/dist/unstable/http/Etag.d.ts.map +1 -1
  767. package/dist/unstable/http/Etag.js.map +1 -1
  768. package/dist/unstable/http/FetchHttpClient.d.ts +4 -0
  769. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  770. package/dist/unstable/http/FetchHttpClient.js +4 -0
  771. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  772. package/dist/unstable/http/Headers.d.ts +60 -0
  773. package/dist/unstable/http/Headers.d.ts.map +1 -1
  774. package/dist/unstable/http/Headers.js +24 -0
  775. package/dist/unstable/http/Headers.js.map +1 -1
  776. package/dist/unstable/http/HttpBody.d.ts +32 -0
  777. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  778. package/dist/unstable/http/HttpBody.js +22 -0
  779. package/dist/unstable/http/HttpBody.js.map +1 -1
  780. package/dist/unstable/http/HttpClient.d.ts +44 -0
  781. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  782. package/dist/unstable/http/HttpClient.js +14 -0
  783. package/dist/unstable/http/HttpClient.js.map +1 -1
  784. package/dist/unstable/http/HttpClientRequest.d.ts +2 -0
  785. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  786. package/dist/unstable/http/HttpClientRequest.js +2 -0
  787. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  788. package/dist/unstable/http/HttpClientResponse.d.ts +6 -0
  789. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  790. package/dist/unstable/http/HttpClientResponse.js +6 -0
  791. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  792. package/dist/unstable/http/HttpEffect.d.ts +4 -0
  793. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  794. package/dist/unstable/http/HttpEffect.js +4 -0
  795. package/dist/unstable/http/HttpEffect.js.map +1 -1
  796. package/dist/unstable/http/HttpPlatform.d.ts +2 -0
  797. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  798. package/dist/unstable/http/HttpPlatform.js +2 -0
  799. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  800. package/dist/unstable/http/HttpRouter.d.ts +54 -16
  801. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  802. package/dist/unstable/http/HttpRouter.js +26 -1
  803. package/dist/unstable/http/HttpRouter.js.map +1 -1
  804. package/dist/unstable/http/HttpServer.d.ts +35 -1
  805. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  806. package/dist/unstable/http/HttpServer.js +17 -1
  807. package/dist/unstable/http/HttpServer.js.map +1 -1
  808. package/dist/unstable/http/HttpServerError.d.ts +17 -3
  809. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  810. package/dist/unstable/http/HttpServerError.js +16 -0
  811. package/dist/unstable/http/HttpServerError.js.map +1 -1
  812. package/dist/unstable/http/HttpServerRequest.d.ts +30 -0
  813. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  814. package/dist/unstable/http/HttpServerRequest.js +28 -0
  815. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  816. package/dist/unstable/http/HttpServerRespondable.d.ts +8 -0
  817. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  818. package/dist/unstable/http/HttpServerRespondable.js +6 -0
  819. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  820. package/dist/unstable/http/HttpServerResponse.d.ts +96 -0
  821. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  822. package/dist/unstable/http/HttpServerResponse.js +50 -0
  823. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  824. package/dist/unstable/http/HttpTraceContext.d.ts +12 -0
  825. package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
  826. package/dist/unstable/http/HttpTraceContext.js +10 -0
  827. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  828. package/dist/unstable/http/Multipart.d.ts +49 -2
  829. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  830. package/dist/unstable/http/Multipart.js +35 -2
  831. package/dist/unstable/http/Multipart.js.map +1 -1
  832. package/dist/unstable/http/Template.d.ts +14 -0
  833. package/dist/unstable/http/Template.d.ts.map +1 -1
  834. package/dist/unstable/http/Template.js +4 -0
  835. package/dist/unstable/http/Template.js.map +1 -1
  836. package/dist/unstable/http/UrlParams.d.ts +64 -0
  837. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  838. package/dist/unstable/http/UrlParams.js +28 -0
  839. package/dist/unstable/http/UrlParams.js.map +1 -1
  840. package/dist/unstable/httpapi/HttpApi.d.ts +10 -4
  841. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  842. package/dist/unstable/httpapi/HttpApi.js +4 -0
  843. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  844. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +9 -4
  845. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  846. package/dist/unstable/httpapi/HttpApiBuilder.js +5 -4
  847. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  848. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +2 -0
  849. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  850. package/dist/unstable/httpapi/HttpApiEndpoint.js +2 -0
  851. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  852. package/dist/unstable/httpapi/HttpApiGroup.d.ts +23 -14
  853. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  854. package/dist/unstable/httpapi/HttpApiGroup.js +6 -3
  855. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  856. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +14 -0
  857. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  858. package/dist/unstable/httpapi/HttpApiMiddleware.js +6 -0
  859. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  860. package/dist/unstable/httpapi/HttpApiScalar.d.ts +38 -15
  861. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  862. package/dist/unstable/httpapi/HttpApiScalar.js +4 -0
  863. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  864. package/dist/unstable/httpapi/HttpApiSchema.d.ts +14 -3
  865. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  866. package/dist/unstable/httpapi/HttpApiSchema.js +10 -0
  867. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  868. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +17 -11
  869. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  870. package/dist/unstable/httpapi/HttpApiSecurity.js +17 -11
  871. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  872. package/dist/unstable/httpapi/HttpApiSwagger.d.ts +2 -4
  873. package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
  874. package/dist/unstable/httpapi/HttpApiSwagger.js +2 -4
  875. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  876. package/dist/unstable/httpapi/HttpApiTest.d.ts +2 -0
  877. package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
  878. package/dist/unstable/httpapi/HttpApiTest.js +2 -0
  879. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  880. package/dist/unstable/httpapi/OpenApi.d.ts +2 -0
  881. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  882. package/dist/unstable/httpapi/OpenApi.js +2 -0
  883. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  884. package/dist/unstable/observability/Otlp.d.ts +2 -0
  885. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  886. package/dist/unstable/observability/Otlp.js +2 -0
  887. package/dist/unstable/observability/Otlp.js.map +1 -1
  888. package/dist/unstable/observability/OtlpExporter.d.ts +2 -0
  889. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  890. package/dist/unstable/observability/OtlpExporter.js +2 -0
  891. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  892. package/dist/unstable/observability/OtlpLogger.d.ts +4 -0
  893. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  894. package/dist/unstable/observability/OtlpLogger.js +4 -0
  895. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  896. package/dist/unstable/observability/OtlpMetrics.d.ts +8 -9
  897. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  898. package/dist/unstable/observability/OtlpMetrics.js +3 -3
  899. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  900. package/dist/unstable/observability/OtlpResource.d.ts +8 -0
  901. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  902. package/dist/unstable/observability/OtlpResource.js +8 -0
  903. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  904. package/dist/unstable/observability/OtlpTracer.d.ts +3 -2
  905. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  906. package/dist/unstable/observability/OtlpTracer.js +3 -2
  907. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  908. package/dist/unstable/observability/PrometheusMetrics.d.ts +6 -2
  909. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  910. package/dist/unstable/observability/PrometheusMetrics.js +6 -2
  911. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  912. package/dist/unstable/persistence/KeyValueStore.d.ts +10 -0
  913. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  914. package/dist/unstable/persistence/KeyValueStore.js +8 -0
  915. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  916. package/dist/unstable/persistence/Persistable.d.ts +2 -0
  917. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  918. package/dist/unstable/persistence/Persistable.js +2 -0
  919. package/dist/unstable/persistence/Persistable.js.map +1 -1
  920. package/dist/unstable/persistence/PersistedCache.d.ts +2 -0
  921. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  922. package/dist/unstable/persistence/PersistedCache.js +2 -0
  923. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  924. package/dist/unstable/persistence/PersistedQueue.d.ts +21 -6
  925. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  926. package/dist/unstable/persistence/PersistedQueue.js +10 -0
  927. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  928. package/dist/unstable/persistence/Persistence.d.ts +14 -0
  929. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  930. package/dist/unstable/persistence/Persistence.js +14 -0
  931. package/dist/unstable/persistence/Persistence.js.map +1 -1
  932. package/dist/unstable/persistence/RateLimiter.d.ts +6 -3
  933. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  934. package/dist/unstable/persistence/RateLimiter.js +4 -0
  935. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  936. package/dist/unstable/persistence/Redis.d.ts +6 -0
  937. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  938. package/dist/unstable/persistence/Redis.js +4 -0
  939. package/dist/unstable/persistence/Redis.js.map +1 -1
  940. package/dist/unstable/process/ChildProcess.d.ts +70 -19
  941. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  942. package/dist/unstable/process/ChildProcess.js +10 -0
  943. package/dist/unstable/process/ChildProcess.js.map +1 -1
  944. package/dist/unstable/process/ChildProcessSpawner.d.ts +20 -4
  945. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  946. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  947. package/dist/unstable/reactivity/Atom.d.ts +105 -14
  948. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  949. package/dist/unstable/reactivity/Atom.js +53 -8
  950. package/dist/unstable/reactivity/Atom.js.map +1 -1
  951. package/dist/unstable/reactivity/AtomHttpApi.d.ts +4 -0
  952. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  953. package/dist/unstable/reactivity/AtomHttpApi.js +2 -0
  954. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  955. package/dist/unstable/reactivity/AtomRef.d.ts +8 -0
  956. package/dist/unstable/reactivity/AtomRef.d.ts.map +1 -1
  957. package/dist/unstable/reactivity/AtomRef.js +2 -0
  958. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  959. package/dist/unstable/reactivity/AtomRegistry.d.ts +32 -0
  960. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  961. package/dist/unstable/reactivity/AtomRegistry.js +12 -0
  962. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  963. package/dist/unstable/reactivity/AtomRpc.d.ts +8 -6
  964. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  965. package/dist/unstable/reactivity/AtomRpc.js +4 -3
  966. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  967. package/dist/unstable/reactivity/Hydration.d.ts +6 -0
  968. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -1
  969. package/dist/unstable/reactivity/Hydration.js +4 -0
  970. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  971. package/dist/unstable/reactivity/Reactivity.d.ts +27 -3
  972. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  973. package/dist/unstable/reactivity/Reactivity.js +15 -3
  974. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  975. package/dist/unstable/rpc/Rpc.d.ts +38 -2
  976. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  977. package/dist/unstable/rpc/Rpc.js +12 -2
  978. package/dist/unstable/rpc/Rpc.js.map +1 -1
  979. package/dist/unstable/rpc/RpcSerialization.d.ts +6 -0
  980. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  981. package/dist/unstable/rpc/RpcSerialization.js +6 -0
  982. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  983. package/dist/unstable/rpc/RpcServer.d.ts +5 -3
  984. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  985. package/dist/unstable/rpc/RpcServer.js +5 -3
  986. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  987. package/dist/unstable/schema/Model.d.ts +43 -12
  988. package/dist/unstable/schema/Model.d.ts.map +1 -1
  989. package/dist/unstable/schema/Model.js +41 -12
  990. package/dist/unstable/schema/Model.js.map +1 -1
  991. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  992. package/dist/unstable/sql/SqlResolver.d.ts +6 -4
  993. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  994. package/dist/unstable/sql/SqlResolver.js +6 -4
  995. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  996. package/dist/unstable/sql/Statement.d.ts +8 -4
  997. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  998. package/dist/unstable/sql/Statement.js.map +1 -1
  999. package/dist/unstable/workflow/DurableClock.d.ts +1 -1
  1000. package/dist/unstable/workflow/DurableDeferred.d.ts +3 -0
  1001. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  1002. package/dist/unstable/workflow/DurableDeferred.js +3 -0
  1003. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1004. package/dist/unstable/workflow/Workflow.d.ts +42 -34
  1005. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1006. package/dist/unstable/workflow/Workflow.js +18 -19
  1007. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1008. package/package.json +1 -1
  1009. package/src/Array.ts +454 -0
  1010. package/src/BigDecimal.ts +87 -33
  1011. package/src/BigInt.ts +71 -14
  1012. package/src/Boolean.ts +4 -0
  1013. package/src/Brand.ts +16 -11
  1014. package/src/Cache.ts +17 -1
  1015. package/src/Cause.ts +95 -3
  1016. package/src/Channel.ts +326 -0
  1017. package/src/ChannelSchema.ts +24 -0
  1018. package/src/Chunk.ts +59 -22
  1019. package/src/Combiner.ts +75 -71
  1020. package/src/Config.ts +167 -46
  1021. package/src/ConfigProvider.ts +235 -158
  1022. package/src/Console.ts +25 -99
  1023. package/src/Context.ts +4 -4
  1024. package/src/Cron.ts +42 -16
  1025. package/src/Crypto.ts +6 -0
  1026. package/src/Data.ts +132 -70
  1027. package/src/DateTime.ts +227 -14
  1028. package/src/Deferred.ts +94 -27
  1029. package/src/Differ.ts +2 -0
  1030. package/src/Duration.ts +64 -6
  1031. package/src/Effect.ts +909 -605
  1032. package/src/Effectable.ts +3 -1
  1033. package/src/Encoding.ts +16 -0
  1034. package/src/Equal.ts +52 -40
  1035. package/src/Equivalence.ts +190 -153
  1036. package/src/ErrorReporter.ts +35 -14
  1037. package/src/ExecutionPlan.ts +10 -3
  1038. package/src/Exit.ts +212 -6
  1039. package/src/Fiber.ts +8 -0
  1040. package/src/FiberHandle.ts +46 -23
  1041. package/src/FiberMap.ts +43 -4
  1042. package/src/FiberSet.ts +21 -6
  1043. package/src/FileSystem.ts +64 -0
  1044. package/src/Filter.ts +53 -21
  1045. package/src/Formatter.ts +21 -22
  1046. package/src/Function.ts +67 -75
  1047. package/src/Graph.ts +51 -13
  1048. package/src/HKT.ts +22 -21
  1049. package/src/Hash.ts +33 -10
  1050. package/src/HashMap.ts +50 -9
  1051. package/src/HashRing.ts +4 -0
  1052. package/src/HashSet.ts +2 -0
  1053. package/src/Inspectable.ts +15 -2
  1054. package/src/Iterable.ts +104 -22
  1055. package/src/JsonPatch.ts +61 -80
  1056. package/src/JsonPointer.ts +16 -20
  1057. package/src/JsonSchema.ts +123 -73
  1058. package/src/Latch.ts +28 -2
  1059. package/src/Layer.ts +781 -335
  1060. package/src/LogLevel.ts +86 -13
  1061. package/src/Logger.ts +71 -51
  1062. package/src/ManagedRuntime.ts +12 -0
  1063. package/src/Match.ts +83 -1
  1064. package/src/Metric.ts +105 -12
  1065. package/src/MutableHashMap.ts +18 -0
  1066. package/src/MutableHashSet.ts +2 -0
  1067. package/src/MutableList.ts +24 -6
  1068. package/src/MutableRef.ts +2 -0
  1069. package/src/Newtype.ts +69 -30
  1070. package/src/NonEmptyIterable.ts +6 -0
  1071. package/src/Number.ts +16 -30
  1072. package/src/Optic.ts +90 -40
  1073. package/src/Option.ts +121 -111
  1074. package/src/Order.ts +169 -167
  1075. package/src/Ordering.ts +4 -0
  1076. package/src/PartitionedSemaphore.ts +7 -5
  1077. package/src/Path.ts +8 -0
  1078. package/src/Pipeable.ts +10 -0
  1079. package/src/PlatformError.ts +12 -0
  1080. package/src/Pool.ts +30 -16
  1081. package/src/Predicate.ts +520 -352
  1082. package/src/PrimaryKey.ts +4 -0
  1083. package/src/PubSub.ts +23 -5
  1084. package/src/Pull.ts +16 -0
  1085. package/src/Queue.ts +44 -0
  1086. package/src/Random.ts +25 -6
  1087. package/src/RcMap.ts +10 -6
  1088. package/src/RcRef.ts +3 -1
  1089. package/src/Record.ts +24 -3
  1090. package/src/Redactable.ts +54 -41
  1091. package/src/Redacted.ts +10 -0
  1092. package/src/Reducer.ts +20 -11
  1093. package/src/Ref.ts +95 -58
  1094. package/src/References.ts +18 -1
  1095. package/src/Request.ts +3 -3
  1096. package/src/RequestResolver.ts +8 -22
  1097. package/src/Resource.ts +2 -0
  1098. package/src/Result.ts +192 -6
  1099. package/src/Runtime.ts +14 -11
  1100. package/src/Schedule.ts +35 -3
  1101. package/src/Scheduler.ts +22 -19
  1102. package/src/Schema.ts +547 -130
  1103. package/src/SchemaAST.ts +123 -65
  1104. package/src/SchemaGetter.ts +269 -234
  1105. package/src/SchemaIssue.ts +48 -46
  1106. package/src/SchemaParser.ts +58 -0
  1107. package/src/SchemaRepresentation.ts +198 -96
  1108. package/src/SchemaTransformation.ts +272 -203
  1109. package/src/SchemaUtils.ts +2 -0
  1110. package/src/Scope.ts +19 -1
  1111. package/src/ScopedCache.ts +56 -0
  1112. package/src/ScopedRef.ts +9 -3
  1113. package/src/Semaphore.ts +6 -0
  1114. package/src/Sink.ts +108 -0
  1115. package/src/Stdio.ts +7 -3
  1116. package/src/Stream.ts +464 -16
  1117. package/src/String.ts +14 -0
  1118. package/src/Struct.ts +371 -191
  1119. package/src/SubscriptionRef.ts +7 -1
  1120. package/src/SynchronizedRef.ts +2 -0
  1121. package/src/Tracer.ts +17 -27
  1122. package/src/Trie.ts +23 -9
  1123. package/src/Tuple.ts +287 -144
  1124. package/src/TxChunk.ts +182 -93
  1125. package/src/TxDeferred.ts +3 -4
  1126. package/src/TxHashMap.ts +171 -90
  1127. package/src/TxHashSet.ts +36 -35
  1128. package/src/TxPriorityQueue.ts +2 -0
  1129. package/src/TxPubSub.ts +36 -35
  1130. package/src/TxQueue.ts +77 -114
  1131. package/src/TxRef.ts +4 -0
  1132. package/src/TxSemaphore.ts +66 -27
  1133. package/src/Types.ts +202 -75
  1134. package/src/UndefinedOr.ts +31 -29
  1135. package/src/Unify.ts +28 -0
  1136. package/src/Utils.ts +29 -35
  1137. package/src/index.ts +18 -7
  1138. package/src/testing/TestClock.ts +16 -16
  1139. package/src/testing/TestConsole.ts +2 -0
  1140. package/src/testing/TestSchema.ts +43 -55
  1141. package/src/unstable/ai/AiError.ts +62 -11
  1142. package/src/unstable/ai/AnthropicStructuredOutput.ts +4 -4
  1143. package/src/unstable/ai/Chat.ts +29 -1
  1144. package/src/unstable/ai/IdGenerator.ts +10 -0
  1145. package/src/unstable/ai/LanguageModel.ts +32 -46
  1146. package/src/unstable/ai/McpSchema.ts +84 -32
  1147. package/src/unstable/ai/McpServer.ts +8 -0
  1148. package/src/unstable/ai/Model.ts +9 -5
  1149. package/src/unstable/ai/OpenAiStructuredOutput.ts +3 -2
  1150. package/src/unstable/ai/Prompt.ts +62 -35
  1151. package/src/unstable/ai/Response.ts +40 -21
  1152. package/src/unstable/ai/ResponseIdTracker.ts +8 -0
  1153. package/src/unstable/ai/Telemetry.ts +30 -5
  1154. package/src/unstable/ai/Tokenizer.ts +6 -0
  1155. package/src/unstable/ai/Tool.ts +68 -0
  1156. package/src/unstable/ai/Toolkit.ts +12 -0
  1157. package/src/unstable/cli/Argument.ts +14 -4
  1158. package/src/unstable/cli/CliError.ts +6 -0
  1159. package/src/unstable/cli/Command.ts +128 -12
  1160. package/src/unstable/cli/Flag.ts +31 -14
  1161. package/src/unstable/cli/Param.ts +96 -9
  1162. package/src/unstable/cli/Primitive.ts +10 -0
  1163. package/src/unstable/cli/Prompt.ts +47 -40
  1164. package/src/unstable/cli/internal/command.ts +11 -2
  1165. package/src/unstable/cli/internal/completions/descriptor.ts +3 -0
  1166. package/src/unstable/cli/internal/parser.ts +8 -1
  1167. package/src/unstable/cluster/ClusterCron.ts +10 -1
  1168. package/src/unstable/cluster/ClusterSchema.ts +8 -0
  1169. package/src/unstable/cluster/ClusterWorkflowEngine.ts +4 -0
  1170. package/src/unstable/cluster/DeliverAt.ts +3 -4
  1171. package/src/unstable/cluster/Entity.ts +24 -0
  1172. package/src/unstable/cluster/EntityProxy.ts +10 -4
  1173. package/src/unstable/cluster/EntityProxyServer.ts +6 -0
  1174. package/src/unstable/cluster/EntityResource.ts +10 -0
  1175. package/src/unstable/cluster/Envelope.ts +16 -0
  1176. package/src/unstable/cluster/HttpRunner.ts +16 -0
  1177. package/src/unstable/cluster/K8sHttpClient.ts +8 -0
  1178. package/src/unstable/cluster/Message.ts +24 -0
  1179. package/src/unstable/cluster/MessageStorage.ts +44 -10
  1180. package/src/unstable/cluster/Reply.ts +6 -6
  1181. package/src/unstable/cluster/Runner.ts +2 -0
  1182. package/src/unstable/cluster/RunnerHealth.ts +13 -2
  1183. package/src/unstable/cluster/RunnerServer.ts +8 -8
  1184. package/src/unstable/cluster/RunnerStorage.ts +2 -0
  1185. package/src/unstable/cluster/ShardId.ts +4 -0
  1186. package/src/unstable/cluster/Snowflake.ts +2 -0
  1187. package/src/unstable/cluster/TestRunner.ts +3 -2
  1188. package/src/unstable/devtools/DevToolsSchema.ts +34 -2
  1189. package/src/unstable/devtools/DevToolsServer.ts +4 -0
  1190. package/src/unstable/encoding/Msgpack.ts +24 -0
  1191. package/src/unstable/encoding/Ndjson.ts +46 -2
  1192. package/src/unstable/encoding/Sse.ts +24 -17
  1193. package/src/unstable/eventlog/Event.ts +16 -0
  1194. package/src/unstable/eventlog/EventGroup.ts +4 -0
  1195. package/src/unstable/eventlog/EventJournal.ts +20 -0
  1196. package/src/unstable/eventlog/EventLog.ts +22 -0
  1197. package/src/unstable/eventlog/EventLogMessage.ts +10 -0
  1198. package/src/unstable/eventlog/EventLogRemote.ts +4 -0
  1199. package/src/unstable/eventlog/EventLogServer.ts +4 -0
  1200. package/src/unstable/eventlog/EventLogServerEncrypted.ts +6 -0
  1201. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +8 -0
  1202. package/src/unstable/eventlog/EventLogSessionAuth.ts +11 -1
  1203. package/src/unstable/eventlog/SqlEventJournal.ts +2 -0
  1204. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +2 -0
  1205. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +2 -0
  1206. package/src/unstable/http/Cookies.ts +34 -0
  1207. package/src/unstable/http/Etag.ts +4 -0
  1208. package/src/unstable/http/FetchHttpClient.ts +4 -0
  1209. package/src/unstable/http/Headers.ts +88 -0
  1210. package/src/unstable/http/HttpBody.ts +32 -0
  1211. package/src/unstable/http/HttpClient.ts +44 -0
  1212. package/src/unstable/http/HttpClientRequest.ts +2 -0
  1213. package/src/unstable/http/HttpClientResponse.ts +6 -0
  1214. package/src/unstable/http/HttpEffect.ts +4 -0
  1215. package/src/unstable/http/HttpPlatform.ts +2 -0
  1216. package/src/unstable/http/HttpRouter.ts +54 -16
  1217. package/src/unstable/http/HttpServer.ts +35 -1
  1218. package/src/unstable/http/HttpServerError.ts +17 -3
  1219. package/src/unstable/http/HttpServerRequest.ts +30 -0
  1220. package/src/unstable/http/HttpServerRespondable.ts +8 -0
  1221. package/src/unstable/http/HttpServerResponse.ts +96 -0
  1222. package/src/unstable/http/HttpTraceContext.ts +12 -0
  1223. package/src/unstable/http/Multipart.ts +49 -2
  1224. package/src/unstable/http/Template.ts +14 -0
  1225. package/src/unstable/http/UrlParams.ts +64 -0
  1226. package/src/unstable/httpapi/HttpApi.ts +10 -4
  1227. package/src/unstable/httpapi/HttpApiBuilder.ts +9 -4
  1228. package/src/unstable/httpapi/HttpApiEndpoint.ts +2 -0
  1229. package/src/unstable/httpapi/HttpApiGroup.ts +23 -14
  1230. package/src/unstable/httpapi/HttpApiMiddleware.ts +14 -0
  1231. package/src/unstable/httpapi/HttpApiScalar.ts +38 -15
  1232. package/src/unstable/httpapi/HttpApiSchema.ts +14 -3
  1233. package/src/unstable/httpapi/HttpApiSecurity.ts +17 -11
  1234. package/src/unstable/httpapi/HttpApiSwagger.ts +2 -4
  1235. package/src/unstable/httpapi/HttpApiTest.ts +2 -0
  1236. package/src/unstable/httpapi/OpenApi.ts +2 -0
  1237. package/src/unstable/observability/Otlp.ts +2 -0
  1238. package/src/unstable/observability/OtlpExporter.ts +2 -0
  1239. package/src/unstable/observability/OtlpLogger.ts +4 -0
  1240. package/src/unstable/observability/OtlpMetrics.ts +8 -9
  1241. package/src/unstable/observability/OtlpResource.ts +8 -0
  1242. package/src/unstable/observability/OtlpTracer.ts +3 -2
  1243. package/src/unstable/observability/PrometheusMetrics.ts +6 -2
  1244. package/src/unstable/persistence/KeyValueStore.ts +10 -0
  1245. package/src/unstable/persistence/Persistable.ts +2 -0
  1246. package/src/unstable/persistence/PersistedCache.ts +2 -0
  1247. package/src/unstable/persistence/PersistedQueue.ts +21 -6
  1248. package/src/unstable/persistence/Persistence.ts +14 -0
  1249. package/src/unstable/persistence/RateLimiter.ts +6 -3
  1250. package/src/unstable/persistence/Redis.ts +6 -0
  1251. package/src/unstable/process/ChildProcess.ts +70 -19
  1252. package/src/unstable/process/ChildProcessSpawner.ts +20 -4
  1253. package/src/unstable/reactivity/Atom.ts +119 -14
  1254. package/src/unstable/reactivity/AtomHttpApi.ts +4 -0
  1255. package/src/unstable/reactivity/AtomRef.ts +8 -0
  1256. package/src/unstable/reactivity/AtomRegistry.ts +34 -0
  1257. package/src/unstable/reactivity/AtomRpc.ts +8 -6
  1258. package/src/unstable/reactivity/Hydration.ts +6 -0
  1259. package/src/unstable/reactivity/Reactivity.ts +27 -3
  1260. package/src/unstable/rpc/Rpc.ts +38 -2
  1261. package/src/unstable/rpc/RpcSerialization.ts +6 -0
  1262. package/src/unstable/rpc/RpcServer.ts +5 -3
  1263. package/src/unstable/schema/Model.ts +43 -12
  1264. package/src/unstable/sql/SqlClient.ts +1 -1
  1265. package/src/unstable/sql/SqlResolver.ts +6 -4
  1266. package/src/unstable/sql/Statement.ts +8 -4
  1267. package/src/unstable/workflow/DurableClock.ts +1 -1
  1268. package/src/unstable/workflow/DurableDeferred.ts +3 -0
  1269. package/src/unstable/workflow/Workflow.ts +42 -34
package/dist/Layer.js CHANGED
@@ -27,7 +27,7 @@ const memoMapReuse = (entry, scope) => {
27
27
  * readonly query: (sql: string) => Effect.Effect<string>
28
28
  * }>()("Database") {}
29
29
  *
30
- * const dbLayer = Layer.succeed(Database)({
30
+ * const dbLayer = Layer.succeed(Database, {
31
31
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
32
32
  * })
33
33
  * const notALayer = { someProperty: "value" }
@@ -56,7 +56,10 @@ const fromBuildUnsafe = build => {
56
56
  return self;
57
57
  };
58
58
  /**
59
- * Constructs a Layer from a function that uses a `MemoMap` and `Scope` to build the layer.
59
+ * Constructs a `Layer` from a function that uses a `MemoMap` and `Scope` to
60
+ * build the layer.
61
+ *
62
+ * **Details**
60
63
  *
61
64
  * The function receives a `MemoMap` for memoization and a `Scope` for resource management.
62
65
  * A child scope is created, and if the build fails, the child scope is closed.
@@ -87,8 +90,10 @@ export const fromBuild = build => fromBuildUnsafe((memoMap, scope) => {
87
90
  return internalEffect.onExit(build(memoMap, layerScope), exit => exit._tag === "Failure" ? Scope.close(layerScope, exit) : internalEffect.void);
88
91
  });
89
92
  /**
90
- * Constructs a Layer from a function that uses a `MemoMap` and `Scope` to build the layer,
91
- * with automatic memoization.
93
+ * Constructs a `Layer` from a function that uses a `MemoMap` and `Scope` to
94
+ * build the layer, with automatic memoization.
95
+ *
96
+ * **Details**
92
97
  *
93
98
  * This is similar to `fromBuild` but provides automatic memoization of the layer construction.
94
99
  * The layer will be memoized based on the provided `MemoMap`.
@@ -180,7 +185,7 @@ class MemoMapImpl {
180
185
  * const memoMap = Layer.makeMemoMapUnsafe()
181
186
  * const scope = yield* Effect.scope
182
187
  *
183
- * const dbLayer = Layer.succeed(Database)({
188
+ * const dbLayer = Layer.succeed(Database, {
184
189
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
185
190
  * })
186
191
  * const context = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
@@ -218,7 +223,7 @@ export const forkMemoMapUnsafe = parent => new MemoMapImpl(parent);
218
223
  * const memoMap = yield* Layer.makeMemoMap
219
224
  * const scope = yield* Effect.scope
220
225
  *
221
- * const dbLayer = Layer.succeed(Database)({
226
+ * const dbLayer = Layer.succeed(Database, {
222
227
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
223
228
  * })
224
229
  * const context = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
@@ -242,6 +247,8 @@ export const forkMemoMap = parent => internalEffect.sync(() => forkMemoMapUnsafe
242
247
  /**
243
248
  * A service reference for the current `MemoMap` used in layer construction.
244
249
  *
250
+ * **Details**
251
+ *
245
252
  * This service provides access to the current memoization map during layer building,
246
253
  * allowing layers to share memoized results.
247
254
  *
@@ -274,13 +281,13 @@ export class CurrentMemoMap extends /*#__PURE__*/Context.Service()("effect/Layer
274
281
  * const scope = yield* Effect.scope
275
282
  *
276
283
  * // Build database layer with memoization
277
- * const dbLayer = Layer.succeed(Database)({
284
+ * const dbLayer = Layer.succeed(Database, {
278
285
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
279
286
  * })
280
287
  * const dbContext = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
281
288
  *
282
289
  * // Build logger layer with same memoization (reuses memo if same layer)
283
- * const loggerLayer = Layer.succeed(Logger)({
290
+ * const loggerLayer = Layer.succeed(Logger, {
284
291
  * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
285
292
  * })
286
293
  * const loggerContext = yield* Layer.buildWithMemoMap(
@@ -314,7 +321,7 @@ export const buildWithMemoMap = /*#__PURE__*/dual(3, (self, memoMap, scope) => i
314
321
  *
315
322
  * // Build a layer to get its services
316
323
  * const program = Effect.gen(function*() {
317
- * const dbLayer = Layer.succeed(Database)({
324
+ * const dbLayer = Layer.succeed(Database, {
318
325
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
319
326
  * })
320
327
  *
@@ -352,7 +359,7 @@ export const build = self => core.withFiber(fiber => buildWithMemoMap(self, Curr
352
359
  * const program = Effect.gen(function*() {
353
360
  * const scope = yield* Effect.scope
354
361
  *
355
- * const dbLayer = Layer.effect(Database)(Effect.gen(function*() {
362
+ * const dbLayer = Layer.effect(Database, Effect.gen(function*() {
356
363
  * console.log("Initializing database...")
357
364
  * yield* Scope.addFinalizer(
358
365
  * scope,
@@ -375,9 +382,16 @@ export const build = self => core.withFiber(fiber => buildWithMemoMap(self, Curr
375
382
  */
376
383
  export const buildWithScope = /*#__PURE__*/dual(2, (self, scope) => core.withFiber(fiber => buildWithMemoMap(self, CurrentMemoMap.getOrCreate(fiber.context), scope)));
377
384
  /**
378
- * Constructs a layer from the specified value.
385
+ * Constructs a layer that provides a single service from an already available
386
+ * value.
387
+ *
388
+ * **When to use**
379
389
  *
380
- * **Example** (Providing services from values)
390
+ * Use `succeed` when the service implementation is already constructed and does
391
+ * not need effectful acquisition. Use `sync` when the service should be created
392
+ * lazily during layer construction.
393
+ *
394
+ * **Example** (Creating a layer from a service implementation)
381
395
  *
382
396
  * ```ts
383
397
  * import { Context, Effect, Layer } from "effect"
@@ -386,34 +400,13 @@ export const buildWithScope = /*#__PURE__*/dual(2, (self, scope) => core.withFib
386
400
  * readonly query: (sql: string) => Effect.Effect<string>
387
401
  * }>()("Database") {}
388
402
  *
389
- * class Logger extends Context.Service<Logger, {
390
- * readonly log: (msg: string) => Effect.Effect<void>
391
- * }>()("Logger") {}
392
- *
393
- * // Create layers from concrete service implementations
394
- * const databaseLayer = Layer.succeed(Database)({
403
+ * const DatabaseLive = Layer.succeed(Database, {
395
404
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Query result: ${sql}`))
396
405
  * })
397
- *
398
- * const loggerLayer = Layer.succeed(Logger)({
399
- * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
400
- * })
401
- *
402
- * // Use the layers in a program
403
- * const program = Effect.gen(function*() {
404
- * const database = yield* Database
405
- * const logger = yield* Logger
406
- *
407
- * yield* logger.log("Starting database query")
408
- * const result = yield* database.query("SELECT * FROM users")
409
- * yield* logger.log(`Query completed: ${result}`)
410
- *
411
- * return result
412
- * }).pipe(
413
- * Effect.provide(Layer.mergeAll(databaseLayer, loggerLayer))
414
- * )
415
406
  * ```
416
407
  *
408
+ * @see {@link sync} for constructing layers from lazy values
409
+ *
417
410
  * @category constructors
418
411
  * @since 2.0.0
419
412
  */
@@ -424,11 +417,19 @@ export const succeed = function () {
424
417
  return succeedContext(Context.make(arguments[0], arguments[1]));
425
418
  };
426
419
  /**
427
- * Constructs a layer from the specified value, which must return one or more
428
- * services.
420
+ * Constructs a layer that provides all services in an already available
421
+ * `Context`.
422
+ *
423
+ * **When to use**
424
+ *
425
+ * Use `succeedContext` when you already have a `Context` or need to provide
426
+ * multiple services at once. Use `succeed` when you only need to provide one
427
+ * service value.
428
+ *
429
+ * **Details**
429
430
  *
430
- * This is a more general version of `succeed` that allows you to provide multiple
431
- * services at once through a `Context`.
431
+ * This is a more general version of `succeed` that allows you to provide
432
+ * multiple services at once through a `Context`.
432
433
  *
433
434
  * **Example** (Providing multiple services from a context)
434
435
  *
@@ -454,30 +455,50 @@ export const succeed = function () {
454
455
  * const layer = Layer.succeedContext(context)
455
456
  * ```
456
457
  *
458
+ * @see {@link succeed} for providing a single service from a value
459
+ *
457
460
  * @category constructors
458
461
  * @since 2.0.0
459
462
  */
460
463
  export const succeedContext = context => fromBuildUnsafe(constant(internalEffect.succeed(context)));
461
464
  /**
462
- * A Layer that constructs an empty Context.
465
+ * An empty layer that provides no services, cannot fail, has no requirements,
466
+ * and performs no construction or finalization work.
467
+ *
468
+ * **When to use**
463
469
  *
464
- * This layer provides no services and can be used as a neutral element
465
- * in layer composition or as a starting point for building layers.
470
+ * Use `Layer.empty` as the no-op branch when conditionally composing layers.
471
+ * If you need to run an effect during layer construction while still providing
472
+ * no services, use `effectDiscard`.
466
473
  *
467
- * **Example** (Creating an empty layer)
474
+ * **Example** (Disabling optional lifecycle work)
468
475
  *
469
476
  * ```ts
470
- * import { Layer } from "effect"
477
+ * import { Console, Layer } from "effect"
478
+ *
479
+ * declare const flag: boolean
471
480
  *
472
- * const emptyLayer = Layer.empty
481
+ * const StartupLogLive = flag
482
+ * ? Layer.effectDiscard(Console.log("application starting"))
483
+ * : Layer.empty
473
484
  * ```
474
485
  *
486
+ * @see {@link effectDiscard} for running an effect while providing no services
487
+ *
475
488
  * @category constructors
476
489
  * @since 2.0.0
477
490
  */
478
491
  export const empty = /*#__PURE__*/succeedContext(/*#__PURE__*/Context.empty());
479
492
  /**
480
- * Lazily constructs a layer from the specified value.
493
+ * Lazily constructs a layer that provides a single service.
494
+ *
495
+ * **When to use**
496
+ *
497
+ * Use `sync` when the service can be created synchronously but should be
498
+ * deferred until the layer is built. Use `succeed` when the service value is
499
+ * already available.
500
+ *
501
+ * **Details**
481
502
  *
482
503
  * This is a lazy version of `succeed` where the service value is computed
483
504
  * synchronously only when the layer is built.
@@ -491,11 +512,13 @@ export const empty = /*#__PURE__*/succeedContext(/*#__PURE__*/Context.empty());
491
512
  * readonly query: (sql: string) => Effect.Effect<string>
492
513
  * }>()("Database") {}
493
514
  *
494
- * const layer = Layer.sync(Database)(() => ({
515
+ * const layer = Layer.sync(Database, () => ({
495
516
  * query: (sql: string) => Effect.succeed(`Query: ${sql}`)
496
517
  * }))
497
518
  * ```
498
519
  *
520
+ * @see {@link succeed} for constructing layers from static values
521
+ *
499
522
  * @category constructors
500
523
  * @since 2.0.0
501
524
  */
@@ -506,10 +529,17 @@ export const sync = function () {
506
529
  return syncContext(() => Context.make(arguments[0], arguments[1]()));
507
530
  };
508
531
  /**
509
- * Lazily constructs a layer from the specified value, which must return one or more
510
- * services.
532
+ * Lazily constructs a layer that provides all services in a `Context`.
533
+ *
534
+ * **When to use**
535
+ *
536
+ * Use `syncContext` when multiple services can be created synchronously and
537
+ * should be deferred until the layer is built. Use `sync` when you only need to
538
+ * provide one service.
511
539
  *
512
- * This is a lazy version of `succeedContext` where the Context is computed
540
+ * **Details**
541
+ *
542
+ * This is a lazy version of `succeedContext` where the `Context` is computed
513
543
  * synchronously only when the layer is built.
514
544
  *
515
545
  * **Example** (Lazily providing a context)
@@ -528,15 +558,27 @@ export const sync = function () {
528
558
  * )
529
559
  * ```
530
560
  *
561
+ * @see {@link sync} for lazily providing a single service
562
+ * @see {@link succeedContext} for providing an already available context
563
+ *
531
564
  * @category constructors
532
565
  * @since 2.0.0
533
566
  */
534
567
  export const syncContext = evaluate => fromBuildMemo(constant(internalEffect.sync(evaluate)));
535
568
  /**
536
- * Constructs a layer from the specified scoped effect.
569
+ * Constructs a layer from an effect that produces a single service.
570
+ *
571
+ * **When to use**
572
+ *
573
+ * Use `effect` when constructing the service requires effects, dependencies, or
574
+ * scoped resource acquisition. Use `effectContext` when the effect produces
575
+ * multiple services in a `Context`, and `effectDiscard` when construction work
576
+ * should provide no services.
537
577
  *
538
- * This allows you to create a Layer from an Effect that produces a service.
539
- * The Effect is executed in the scope of the layer, allowing for proper
578
+ * **Details**
579
+ *
580
+ * This allows you to create a `Layer` from an `Effect` that produces a service.
581
+ * The `Effect` is executed in the scope of the layer, allowing for proper
540
582
  * resource management.
541
583
  *
542
584
  * **Example** (Creating a layer from an effect)
@@ -548,13 +590,16 @@ export const syncContext = evaluate => fromBuildMemo(constant(internalEffect.syn
548
590
  * readonly query: (sql: string) => Effect.Effect<string>
549
591
  * }>()("Database") {}
550
592
  *
551
- * const layer = Layer.effect(Database)(
593
+ * const layer = Layer.effect(Database,
552
594
  * Effect.sync(() => ({
553
595
  * query: (sql: string) => Effect.succeed(`Query: ${sql}`)
554
596
  * }))
555
597
  * )
556
598
  * ```
557
599
  *
600
+ * @see {@link effectContext} for effectfully providing multiple services
601
+ * @see {@link effectDiscard} for running construction work without providing services
602
+ *
558
603
  * @category constructors
559
604
  * @since 2.0.0
560
605
  */
@@ -566,11 +611,18 @@ export const effect = function () {
566
611
  };
567
612
  const effectImpl = (service, effect) => effectContext(internalEffect.map(effect, value => Context.make(service, value)));
568
613
  /**
569
- * Constructs a layer from the specified scoped effect, which must return one
570
- * or more services.
614
+ * Constructs a layer from an effect that produces all services in a `Context`.
615
+ *
616
+ * **When to use**
571
617
  *
572
- * This allows you to create a Layer from an effectful computation that returns
573
- * multiple services. The Effect is executed in the scope of the layer.
618
+ * Use `effectContext` when effectful construction needs to provide multiple
619
+ * services at once. Use `effect` when the effect produces one service value.
620
+ *
621
+ * **Details**
622
+ *
623
+ * This allows you to create a `Layer` from an effectful computation that
624
+ * returns multiple services. The `Effect` is executed in the scope of the
625
+ * layer.
574
626
  *
575
627
  * **Example** (Creating a layer from an effectful context)
576
628
  *
@@ -589,12 +641,17 @@ const effectImpl = (service, effect) => effectContext(internalEffect.map(effect,
589
641
  * )
590
642
  * ```
591
643
  *
644
+ * @see {@link effect} for effectfully providing a single service
645
+ *
592
646
  * @category constructors
593
647
  * @since 2.0.0
594
648
  */
595
649
  export const effectContext = effect => fromBuildMemo((_, scope) => Scope.provide(effect, scope));
596
650
  /**
597
- * Constructs a layer from the specified scoped effect.
651
+ * Constructs a layer from an effect, discarding its value and providing no
652
+ * services.
653
+ *
654
+ * **When to use**
598
655
  *
599
656
  * This is useful when you want to run an Effect for its side effects during
600
657
  * layer construction, but don't need to provide any services.
@@ -611,6 +668,8 @@ export const effectContext = effect => fromBuildMemo((_, scope) => Scope.provide
611
668
  * )
612
669
  * ```
613
670
  *
671
+ * @see {@link empty} for a no-op layer that performs no construction work
672
+ *
614
673
  * @category constructors
615
674
  * @since 2.0.0
616
675
  */
@@ -618,6 +677,8 @@ export const effectDiscard = effect => effectContext(internalEffect.as(effect, C
618
677
  /**
619
678
  * Lazily constructs a layer using the specified factory.
620
679
  *
680
+ * **Details**
681
+ *
621
682
  * The factory is evaluated only when the suspended layer is first built, and
622
683
  * the result is memoized with normal layer sharing semantics.
623
684
  *
@@ -632,8 +693,8 @@ export const effectDiscard = effect => effectContext(internalEffect.as(effect, C
632
693
  *
633
694
  * const layer = Layer.suspend(() =>
634
695
  * useProd
635
- * ? Layer.succeed(Config)("https://api.example.com")
636
- * : Layer.succeed(Config)("http://localhost:3000")
696
+ * ? Layer.succeed(Config, "https://api.example.com")
697
+ * : Layer.succeed(Config, "http://localhost:3000")
637
698
  * )
638
699
  * ```
639
700
  *
@@ -642,11 +703,17 @@ export const effectDiscard = effect => effectContext(internalEffect.as(effect, C
642
703
  */
643
704
  export const suspend = evaluate => fromBuildMemo((memoMap, scope) => internalEffect.suspend(() => evaluate().build(memoMap, scope)));
644
705
  /**
645
- * Unwraps a Layer from an Effect, flattening the nested structure.
706
+ * Unwraps a `Layer` from an `Effect`, flattening the nested structure.
646
707
  *
647
- * This is useful when you have an Effect that produces a Layer, and you want to
648
- * use that Layer directly. The resulting Layer will have the combined error and
649
- * dependency types from both the outer Effect and the inner Layer.
708
+ * **When to use**
709
+ *
710
+ * Use this when you have an `Effect` that produces a `Layer` and you want to
711
+ * use that layer directly.
712
+ *
713
+ * **Details**
714
+ *
715
+ * The resulting Layer will have the combined error and dependency types from
716
+ * both the outer Effect and the inner Layer.
650
717
  *
651
718
  * **Example** (Unwrapping an effectful layer)
652
719
  *
@@ -658,7 +725,7 @@ export const suspend = evaluate => fromBuildMemo((memoMap, scope) => internalEff
658
725
  * }>()("Database") {}
659
726
  *
660
727
  * const layerEffect = Effect.succeed(
661
- * Layer.succeed(Database)({ query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result")) })
728
+ * Layer.succeed(Database, { query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result")) })
662
729
  * )
663
730
  *
664
731
  * const unwrappedLayer = Layer.unwrap(layerEffect)
@@ -678,10 +745,20 @@ const mergeAllEffect = (layers, memoMap, scope) => {
678
745
  }).pipe(internalEffect.map(context => Context.mergeAll(...context)));
679
746
  };
680
747
  /**
681
- * Combines all the provided layers concurrently, creating a new layer with merged input, error, and output types.
748
+ * Combines all the provided layers concurrently, creating a new layer with
749
+ * merged input, error, and output types.
750
+ *
751
+ * **When to use**
752
+ *
753
+ * Use this when you need to combine multiple independent layers.
754
+ *
755
+ * **Details**
682
756
  *
683
757
  * All layers are built concurrently, and their outputs are merged into a single layer.
684
- * This is useful when you need to combine multiple independent layers.
758
+ *
759
+ * If multiple merged layers depend on the same layer value, that dependency is
760
+ * shared by default. Reuse a named layer value when you want services to share
761
+ * the same resource, such as one database pool.
685
762
  *
686
763
  * **Example** (Merging independent layers)
687
764
  *
@@ -696,25 +773,36 @@ const mergeAllEffect = (layers, memoMap, scope) => {
696
773
  * readonly log: (msg: string) => Effect.Effect<void>
697
774
  * }>()("Logger") {}
698
775
  *
699
- * const dbLayer = Layer.succeed(Database)({
776
+ * const dbLayer = Layer.succeed(Database, {
700
777
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
701
778
  * })
702
- * const loggerLayer = Layer.succeed(Logger)({
779
+ * const loggerLayer = Layer.succeed(Logger, {
703
780
  * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
704
781
  * })
705
782
  *
706
783
  * const mergedLayer = Layer.mergeAll(dbLayer, loggerLayer)
707
784
  * ```
708
785
  *
786
+ * @see {@link merge} for merging one layer with another layer or array
787
+ *
709
788
  * @category zipping
710
789
  * @since 2.0.0
711
790
  */
712
791
  export const mergeAll = (...layers) => fromBuild((memoMap, scope) => mergeAllEffect(layers, memoMap, scope));
713
792
  /**
714
- * Merges this layer with the specified layer concurrently, producing a new layer with combined input and output types.
793
+ * Merges this layer with another layer concurrently, producing a new layer with
794
+ * combined input, error, and output types.
715
795
  *
716
- * This is a binary version of `mergeAll` that merges exactly two layers or one layer with an array of layers.
717
- * The layers are built concurrently and their outputs are combined.
796
+ * **When to use**
797
+ *
798
+ * Use `merge` when composing from an existing layer in a pipeline. Use
799
+ * `mergeAll` when you already have all layers as separate arguments.
800
+ *
801
+ * **Details**
802
+ *
803
+ * This is a binary version of `mergeAll` that merges exactly two layers or one
804
+ * layer with an array of layers. The layers are built concurrently and their
805
+ * outputs are combined.
718
806
  *
719
807
  * **Example** (Merging two layers)
720
808
  *
@@ -729,25 +817,37 @@ export const mergeAll = (...layers) => fromBuild((memoMap, scope) => mergeAllEff
729
817
  * readonly log: (msg: string) => Effect.Effect<void>
730
818
  * }>()("Logger") {}
731
819
  *
732
- * const dbLayer = Layer.succeed(Database)({
820
+ * const dbLayer = Layer.succeed(Database, {
733
821
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
734
822
  * })
735
- * const loggerLayer = Layer.succeed(Logger)({
823
+ * const loggerLayer = Layer.succeed(Logger, {
736
824
  * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
737
825
  * })
738
826
  *
739
827
  * const mergedLayer = Layer.merge(dbLayer, loggerLayer)
740
828
  * ```
741
829
  *
830
+ * @see {@link mergeAll} for merging several layers at once
831
+ *
742
832
  * @category zipping
743
833
  * @since 2.0.0
744
834
  */
745
835
  export const merge = /*#__PURE__*/dual(2, (self, that) => mergeAll(self, ...(Array.isArray(that) ? that : [that])));
746
836
  const provideWith = (self, that, f) => fromBuild((memoMap, scope) => internalEffect.flatMap(Array.isArray(that) ? mergeAllEffect(that, memoMap, scope) : that.build(memoMap, scope), context => self.build(memoMap, scope).pipe(internalEffect.provideContext(context), internalEffect.map(merged => f(merged, context)))));
747
837
  /**
748
- * Feeds the output services of this builder into the input of the specified
749
- * builder, resulting in a new builder with the inputs of this builder as
750
- * well as any leftover inputs, and the outputs of the specified builder.
838
+ * Feeds the output services of the dependency layer into the requirements of
839
+ * this layer, returning a layer that only provides the services from this layer.
840
+ *
841
+ * **When to use**
842
+ *
843
+ * Use `provide` when the dependency layer is an implementation detail of the
844
+ * layer being built and should not be exposed to callers. Use `provideMerge`
845
+ * when callers should also receive the dependency services.
846
+ *
847
+ * **Details**
848
+ *
849
+ * In `serviceLayer.pipe(Layer.provide(dependencyLayer))`, the dependency layer is
850
+ * built first and is used to satisfy the requirements of `serviceLayer`.
751
851
  *
752
852
  * **Example** (Providing layer dependencies)
753
853
  *
@@ -770,16 +870,16 @@ const provideWith = (self, that, f) => fromBuild((memoMap, scope) => internalEff
770
870
  * }>()("Logger") {}
771
871
  *
772
872
  * // Create dependency layers
773
- * const databaseLayer = Layer.succeed(Database)({
873
+ * const databaseLayer = Layer.succeed(Database, {
774
874
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
775
875
  * })
776
876
  *
777
- * const loggerLayer = Layer.succeed(Logger)({
877
+ * const loggerLayer = Layer.succeed(Logger, {
778
878
  * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
779
879
  * })
780
880
  *
781
881
  * // UserService depends on Database and Logger
782
- * const userServiceLayer = Layer.effect(UserService)(Effect.gen(function*() {
882
+ * const userServiceLayer = Layer.effect(UserService, Effect.gen(function*() {
783
883
  * const database = yield* Database
784
884
  * const logger = yield* Logger
785
885
  *
@@ -808,14 +908,22 @@ const provideWith = (self, that, f) => fromBuild((memoMap, scope) => internalEff
808
908
  * )
809
909
  * ```
810
910
  *
911
+ * @see {@link provideMerge} for retaining the dependency services
912
+ *
811
913
  * @category utils
812
914
  * @since 2.0.0
813
915
  */
814
916
  export const provide = /*#__PURE__*/dual(2, (self, that) => provideWith(self, that, identity));
815
917
  /**
816
- * Feeds the output services of this layer into the input of the specified
817
- * layer, resulting in a new layer with the inputs of this layer, and the
818
- * outputs of both layers.
918
+ * Feeds the output services of the dependency layer into the requirements of
919
+ * this layer, returning a layer that provides both sets of services.
920
+ *
921
+ * **When to use**
922
+ *
923
+ * Use this when callers need access to both the service being built and the
924
+ * dependency used to build it, such as a health check that needs both a
925
+ * repository and its database. Prefer `provide` when the dependency should stay
926
+ * private.
819
927
  *
820
928
  * **Example** (Providing dependencies while retaining services)
821
929
  *
@@ -838,16 +946,16 @@ export const provide = /*#__PURE__*/dual(2, (self, that) => provideWith(self, th
838
946
  * }>()("UserService") {}
839
947
  *
840
948
  * // Create dependency layers
841
- * const databaseLayer = Layer.succeed(Database)({
949
+ * const databaseLayer = Layer.succeed(Database, {
842
950
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
843
951
  * })
844
952
  *
845
- * const loggerLayer = Layer.succeed(Logger)({
953
+ * const loggerLayer = Layer.succeed(Logger, {
846
954
  * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
847
955
  * })
848
956
  *
849
957
  * // UserService depends on Database and Logger
850
- * const userServiceLayer = Layer.effect(UserService)(Effect.gen(function*() {
958
+ * const userServiceLayer = Layer.effect(UserService, Effect.gen(function*() {
851
959
  * const database = yield* Database
852
960
  * const logger = yield* Logger
853
961
  *
@@ -882,6 +990,8 @@ export const provide = /*#__PURE__*/dual(2, (self, that) => provideWith(self, th
882
990
  * )
883
991
  * ```
884
992
  *
993
+ * @see {@link provide} for keeping dependency services private
994
+ *
885
995
  * @category utils
886
996
  * @since 2.0.0
887
997
  */
@@ -908,7 +1018,7 @@ export const provideMerge = /*#__PURE__*/dual(2, (self, that) => provideWith(sel
908
1018
  * }>()("Logger") {}
909
1019
  *
910
1020
  * // Base config layer
911
- * const configLayer = Layer.succeed(Config)({
1021
+ * const configLayer = Layer.succeed(Config, {
912
1022
  * dbUrl: "postgres://localhost:5432/mydb",
913
1023
  * logLevel: "debug"
914
1024
  * })
@@ -919,7 +1029,7 @@ export const provideMerge = /*#__PURE__*/dual(2, (self, that) => provideWith(sel
919
1029
  * const config = Context.get(context, Config)
920
1030
  *
921
1031
  * // Create database layer based on config
922
- * const dbLayer = Layer.succeed(Database)({
1032
+ * const dbLayer = Layer.succeed(Database, {
923
1033
  * query: Effect.fn("Database.query")((sql: string) =>
924
1034
  * Effect.succeed(
925
1035
  * `Querying ${config.dbUrl}: ${sql}`
@@ -927,7 +1037,7 @@ export const provideMerge = /*#__PURE__*/dual(2, (self, that) => provideWith(sel
927
1037
  * })
928
1038
  *
929
1039
  * // Create logger layer based on config
930
- * const loggerLayer = Layer.succeed(Logger)({
1040
+ * const loggerLayer = Layer.succeed(Logger, {
931
1041
  * log: Effect.fn("Logger.log")((msg: string) =>
932
1042
  * config.logLevel === "debug"
933
1043
  * ? Effect.sync(() => console.log(`[DEBUG] ${msg}`))
@@ -961,6 +1071,11 @@ export const flatMap = /*#__PURE__*/dual(2, (self, f) => fromBuild((memoMap, sco
961
1071
  /**
962
1072
  * Performs the specified effect if this layer succeeds.
963
1073
  *
1074
+ * **Details**
1075
+ *
1076
+ * The callback receives the services produced by this layer. Its result is
1077
+ * discarded, and the original layer output is preserved.
1078
+ *
964
1079
  * @category sequencing
965
1080
  * @since 2.0.0
966
1081
  */
@@ -968,6 +1083,12 @@ export const tap = /*#__PURE__*/dual(2, (self, f) => fromBuild((memoMap, scope)
968
1083
  /**
969
1084
  * Performs the specified effect if this layer fails.
970
1085
  *
1086
+ * **Details**
1087
+ *
1088
+ * The callback receives the typed error. If the callback succeeds, the layer
1089
+ * still fails with the original error; if the callback fails, that failure is
1090
+ * added to the layer's error type.
1091
+ *
971
1092
  * @category sequencing
972
1093
  * @since 2.0.0
973
1094
  */
@@ -976,6 +1097,7 @@ export const tapError = /*#__PURE__*/dual(2, (self, f) => fromBuild((memoMap, sc
976
1097
  * Performs the specified effect when this layer fails with any cause.
977
1098
  *
978
1099
  * **Details**
1100
+ *
979
1101
  * The callback receives the layer's `Cause`, so it can inspect typed errors,
980
1102
  * defects, and interruption information. If the callback succeeds, the layer
981
1103
  * fails again with the original cause; if the callback fails, that failure is
@@ -986,8 +1108,13 @@ export const tapError = /*#__PURE__*/dual(2, (self, f) => fromBuild((memoMap, sc
986
1108
  */
987
1109
  export const tapCause = /*#__PURE__*/dual(2, (self, f) => fromBuild((memoMap, scope) => internalEffect.catchCause(self.build(memoMap, scope), cause => Scope.provide(internalEffect.andThen(f(cause), internalEffect.failCause(cause)), scope))));
988
1110
  /**
989
- * Translates effect failure into death of the fiber, making all failures
990
- * unchecked and not a part of the type of the layer.
1111
+ * Converts layer construction failures into defects, removing them from the
1112
+ * layer's error type.
1113
+ *
1114
+ * **Details**
1115
+ *
1116
+ * Use this only when failures should be treated as unrecoverable defects rather
1117
+ * than typed errors that callers can handle.
991
1118
  *
992
1119
  * **Example** (Converting layer failures to defects)
993
1120
  *
@@ -1003,7 +1130,7 @@ export const tapCause = /*#__PURE__*/dual(2, (self, f) => fromBuild((memoMap, sc
1003
1130
  * }>()("Database") {}
1004
1131
  *
1005
1132
  * // Layer that can fail during construction
1006
- * const flakyDatabaseLayer = Layer.effect(Database)(Effect.gen(function*() {
1133
+ * const flakyDatabaseLayer = Layer.effect(Database, Effect.gen(function*() {
1007
1134
  * console.log("connecting")
1008
1135
  * return yield* new DatabaseError({ message: "Connection failed" })
1009
1136
  * }))
@@ -1030,7 +1157,16 @@ export const orDie = self => fromBuildUnsafe((memoMap, scope) => internalEffect.
1030
1157
  const catch_ = /*#__PURE__*/dual(2, (self, onError) => fromBuildUnsafe((memoMap, scope) => internalEffect.catch_(self.build(memoMap, scope), e => onError(e).build(memoMap, scope))));
1031
1158
  export {
1032
1159
  /**
1033
- * Recovers from all errors.
1160
+ * Recovers from all typed errors by switching to another layer.
1161
+ *
1162
+ * **When to use**
1163
+ *
1164
+ * Use `catch` when every typed construction error should use the same recovery
1165
+ * path. Use `catchTag` to recover from specific tagged errors, and `catchCause`
1166
+ * when recovery needs the full failure cause.
1167
+ *
1168
+ * @see {@link catchTag} for recovering from specific tagged errors
1169
+ * @see {@link catchCause} for recovering with access to the full cause
1034
1170
  *
1035
1171
  * @category error handling
1036
1172
  * @since 4.0.0
@@ -1039,6 +1175,12 @@ catch_ as catch };
1039
1175
  /**
1040
1176
  * Recovers from specific tagged errors.
1041
1177
  *
1178
+ * **When to use**
1179
+ *
1180
+ * Use `catchTag` when only some tagged construction errors should be recovered.
1181
+ * Use `catchCause` when recovery depends on defects, interruption, or other
1182
+ * cause information.
1183
+ *
1042
1184
  * **Example** (Recovering from tagged layer errors)
1043
1185
  *
1044
1186
  * ```ts
@@ -1050,15 +1192,17 @@ catch_ as catch };
1050
1192
  * readonly apiUrl: string
1051
1193
  * }>()("Config") {}
1052
1194
  *
1053
- * const configLayer = Layer.effect(Config)(Effect.fail(new ConfigError()))
1195
+ * const configLayer = Layer.effect(Config, Effect.fail(new ConfigError()))
1054
1196
  *
1055
- * const fallbackLayer = Layer.succeed(Config)({ apiUrl: "http://localhost" })
1197
+ * const fallbackLayer = Layer.succeed(Config, { apiUrl: "http://localhost" })
1056
1198
  *
1057
1199
  * const recovered = configLayer.pipe(
1058
1200
  * Layer.catchTag("ConfigError", () => fallbackLayer)
1059
1201
  * )
1060
1202
  * ```
1061
1203
  *
1204
+ * @see {@link catchCause} for recovering with access to the full cause
1205
+ *
1062
1206
  * @category error handling
1063
1207
  * @since 4.0.0
1064
1208
  */
@@ -1066,10 +1210,18 @@ export const catchTag = /*#__PURE__*/dual(3, (self, k, f) => fromBuildUnsafe((me
1066
1210
  /**
1067
1211
  * Recovers from any failure cause by switching to another layer.
1068
1212
  *
1213
+ * **When to use**
1214
+ *
1215
+ * Use `catchCause` when recovery needs more than the typed error, such as
1216
+ * defects or interruption information. Use `catchTag` when recovery only needs
1217
+ * to match specific tagged errors.
1218
+ *
1069
1219
  * **Details**
1220
+ *
1070
1221
  * The handler receives the full `Cause` of the failed layer, including typed
1071
- * errors, defects, and interruption information, and returns the fallback layer
1072
- * to build instead.
1222
+ * errors, unexpected defects, and interruption information, and returns the
1223
+ * fallback layer to build instead. Finalizers for resources acquired by the
1224
+ * failed layer are still run before the fallback layer is acquired.
1073
1225
  *
1074
1226
  * **Example** (Recovering from layer failures by cause)
1075
1227
  *
@@ -1084,13 +1236,13 @@ export const catchTag = /*#__PURE__*/dual(3, (self, k, f) => fromBuildUnsafe((me
1084
1236
  * readonly query: (sql: string) => Effect.Effect<string>
1085
1237
  * }>()("Database") {}
1086
1238
  *
1087
- * const primaryDatabaseLayer = Layer.effect(Database)(
1239
+ * const primaryDatabaseLayer = Layer.effect(Database,
1088
1240
  * Effect.fail(new DatabaseError({ message: "Primary DB unreachable" }))
1089
1241
  * )
1090
1242
  *
1091
1243
  * const databaseWithFallback = primaryDatabaseLayer.pipe(
1092
1244
  * Layer.catchCause(() => {
1093
- * return Layer.succeed(Database)({
1245
+ * return Layer.succeed(Database, {
1094
1246
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Memory: ${sql}`))
1095
1247
  * })
1096
1248
  * })
@@ -1108,6 +1260,8 @@ export const catchTag = /*#__PURE__*/dual(3, (self, k, f) => fromBuildUnsafe((me
1108
1260
  * // Memory: SELECT * FROM users
1109
1261
  * ```
1110
1262
  *
1263
+ * @see {@link catchTag} for recovering from specific tagged errors
1264
+ *
1111
1265
  * @category error handling
1112
1266
  * @since 4.0.0
1113
1267
  */
@@ -1115,6 +1269,11 @@ export const catchCause = /*#__PURE__*/dual(2, (self, onError) => fromBuildUnsaf
1115
1269
  /**
1116
1270
  * Updates a service in the context with a new implementation.
1117
1271
  *
1272
+ * **When to use**
1273
+ *
1274
+ * Use this to adapt or extend a service's behavior during the creation of a
1275
+ * layer.
1276
+ *
1118
1277
  * **Details**
1119
1278
  *
1120
1279
  * This function modifies the existing implementation of a service in the
@@ -1122,11 +1281,6 @@ export const catchCause = /*#__PURE__*/dual(2, (self, onError) => fromBuildUnsaf
1122
1281
  * transformation function `f`, and replaces the old service with the
1123
1282
  * transformed one.
1124
1283
  *
1125
- * **When to Use**
1126
- *
1127
- * This is useful for adapting or extending a service's behavior during the
1128
- * creation of a layer.
1129
- *
1130
1284
  * @category utils
1131
1285
  * @since 3.13.0
1132
1286
  */
@@ -1134,6 +1288,13 @@ export const updateService = /*#__PURE__*/dual(3, (layer, service, f) => provide
1134
1288
  /**
1135
1289
  * Creates a fresh version of this layer that will not be shared.
1136
1290
  *
1291
+ * **When to use**
1292
+ *
1293
+ * Use `fresh` when two parts of an application must receive separate instances
1294
+ * of a resource, such as two independent client sessions. Do not use it just to
1295
+ * work around confusing composition: by default, sharing the same layer value is
1296
+ * usually the desired behavior.
1297
+ *
1137
1298
  * **Example** (Creating non-shared layer instances)
1138
1299
  *
1139
1300
  * ```ts
@@ -1151,12 +1312,12 @@ export const updateService = /*#__PURE__*/dual(3, (layer, service, f) => provide
1151
1312
  * readonly counterId: number
1152
1313
  * }>()("Right") {}
1153
1314
  *
1154
- * const leftLayer = Layer.effect(Left)(Effect.gen(function*() {
1315
+ * const leftLayer = Layer.effect(Left, Effect.gen(function*() {
1155
1316
  * const counter = yield* Counter
1156
1317
  * return { counterId: counter.id }
1157
1318
  * }))
1158
1319
  *
1159
- * const rightLayer = Layer.effect(Right)(Effect.gen(function*() {
1320
+ * const rightLayer = Layer.effect(Right, Effect.gen(function*() {
1160
1321
  * const counter = yield* Counter
1161
1322
  * return { counterId: counter.id }
1162
1323
  * }))
@@ -1170,7 +1331,7 @@ export const updateService = /*#__PURE__*/dual(3, (layer, service, f) => provide
1170
1331
  * const program = Effect.gen(function*() {
1171
1332
  * const nextId = yield* Ref.make(0)
1172
1333
  *
1173
- * const counterLayer = Layer.effect(Counter)(Effect.gen(function*() {
1334
+ * const counterLayer = Layer.effect(Counter, Effect.gen(function*() {
1174
1335
  * const id = yield* Ref.updateAndGet(nextId, (n) => n + 1)
1175
1336
  * console.log("constructed Counter")
1176
1337
  * return { id }
@@ -1205,8 +1366,16 @@ export const updateService = /*#__PURE__*/dual(3, (layer, service, f) => provide
1205
1366
  */
1206
1367
  export const fresh = self => fromBuildUnsafe((_, scope) => self.build(makeMemoMapUnsafe(), scope));
1207
1368
  /**
1208
- * Builds this layer and uses it until it is interrupted. This is useful when
1209
- * your entire application is a layer, such as an HTTP server.
1369
+ * Builds this layer and keeps it alive until the returned effect is interrupted.
1370
+ *
1371
+ * **When to use**
1372
+ *
1373
+ * Use this when your entire application is a layer, such as an HTTP server.
1374
+ *
1375
+ * **Details**
1376
+ *
1377
+ * When the returned effect is interrupted, the layer scope is closed and all
1378
+ * finalizers registered during layer acquisition are run.
1210
1379
  *
1211
1380
  * **Example** (Launching an application layer)
1212
1381
  *
@@ -1223,7 +1392,7 @@ export const fresh = self => fromBuildUnsafe((_, scope) => self.build(makeMemoMa
1223
1392
  * }>()("Logger") {}
1224
1393
  *
1225
1394
  * // Server layer that starts an HTTP server
1226
- * const serverLayer = Layer.effect(HttpServer)(Effect.gen(function*() {
1395
+ * const serverLayer = Layer.effect(HttpServer, Effect.gen(function*() {
1227
1396
  * yield* Console.log("Starting HTTP server...")
1228
1397
  *
1229
1398
  * return {
@@ -1238,7 +1407,7 @@ export const fresh = self => fromBuildUnsafe((_, scope) => self.build(makeMemoMa
1238
1407
  * }
1239
1408
  * }))
1240
1409
  *
1241
- * const loggerLayer = Layer.succeed(Logger)({
1410
+ * const loggerLayer = Layer.succeed(Logger, {
1242
1411
  * log: Effect.fn("Logger.log")((msg: string) => Console.log(`[LOG] ${msg}`))
1243
1412
  * })
1244
1413
  *
@@ -1262,8 +1431,16 @@ export const fresh = self => fromBuildUnsafe((_, scope) => self.build(makeMemoMa
1262
1431
  export const launch = self => internalEffect.scoped(internalEffect.andThen(build(self), internalEffect.never));
1263
1432
  /**
1264
1433
  * Creates a mock layer for testing purposes. You can provide a partial
1265
- * implementation of the service, and any methods not provided will
1266
- * throw an unimplemented defect when called.
1434
+ * implementation of the service. Any missing members that are `Effect`s,
1435
+ * `Stream`s, `Channel`s, or functions returning them will fail with an
1436
+ * unimplemented defect when used.
1437
+ *
1438
+ * **Details**
1439
+ *
1440
+ * Missing members are represented by a value that can be used as an `Effect`,
1441
+ * `Stream`, `Channel`, or as a function returning an `Effect`. This lets the
1442
+ * mock preserve the shape of common service methods while still failing loudly
1443
+ * when an unimplemented member is exercised.
1267
1444
  *
1268
1445
  * **Example** (Mocking services for tests)
1269
1446
  *
@@ -1304,7 +1481,7 @@ export const launch = self => internalEffect.scoped(internalEffect.andThen(build
1304
1481
  * )
1305
1482
  * ```
1306
1483
  *
1307
- * @category Testing
1484
+ * @category testing
1308
1485
  * @since 3.17.0
1309
1486
  */
1310
1487
  export const mock = function () {
@@ -1356,10 +1533,12 @@ const ChannelTypeId = "~effect/Channel";
1356
1533
  // Type constraints
1357
1534
  // -----------------------------------------------------------------------------
1358
1535
  /**
1359
- * Ensures that an layer's success type extends a given type `ROut`.
1536
+ * Ensures that a layer's success type extends a given type `ROut`.
1537
+ *
1538
+ * **Details**
1360
1539
  *
1361
1540
  * This function provides compile-time type checking to ensure that the success
1362
- * value of an layer conforms to a specific type constraint.
1541
+ * value of a layer conforms to a specific type constraint.
1363
1542
  *
1364
1543
  * **Example** (Constraining layer success types)
1365
1544
  *
@@ -1381,15 +1560,17 @@ const ChannelTypeId = "~effect/Channel";
1381
1560
  * // Type 'string' is not assignable to type 'number'
1382
1561
  * ```
1383
1562
  *
1384
- * @category Type constraints
1563
+ * @category utility types
1385
1564
  * @since 4.0.0
1386
1565
  */
1387
1566
  export const satisfiesSuccessType = () => layer => layer;
1388
1567
  /**
1389
- * Ensures that an layer's error type extends a given type `E`.
1568
+ * Ensures that a layer's error type extends a given type `E`.
1569
+ *
1570
+ * **Details**
1390
1571
  *
1391
1572
  * This function provides compile-time type checking to ensure that the error
1392
- * type of an layer conforms to a specific type constraint.
1573
+ * type of a layer conforms to a specific type constraint.
1393
1574
  *
1394
1575
  * **Example** (Constraining layer error types)
1395
1576
  *
@@ -1412,15 +1593,17 @@ export const satisfiesSuccessType = () => layer => layer;
1412
1593
  * // Type 'string' is not assignable to type 'Error'
1413
1594
  * ```
1414
1595
  *
1415
- * @category Type constraints
1596
+ * @category utility types
1416
1597
  * @since 4.0.0
1417
1598
  */
1418
1599
  export const satisfiesErrorType = () => layer => layer;
1419
1600
  /**
1420
- * Ensures that an layer's requirements type extends a given type `R`.
1601
+ * Ensures that a layer's requirements type extends a given type `R`.
1602
+ *
1603
+ * **Details**
1421
1604
  *
1422
1605
  * This function provides compile-time type checking to ensure that the
1423
- * requirements (context) type of an layer conforms to a specific type constraint.
1606
+ * requirements type of a layer conforms to a specific type constraint.
1424
1607
  *
1425
1608
  * **Example** (Constraining layer service requirements)
1426
1609
  *
@@ -1442,7 +1625,7 @@ export const satisfiesErrorType = () => layer => layer;
1442
1625
  * // Type 'string' is not assignable to type 'number'
1443
1626
  * ```
1444
1627
  *
1445
- * @category Type constraints
1628
+ * @category utility types
1446
1629
  * @since 4.0.0
1447
1630
  */
1448
1631
  export const satisfiesServicesType = () => layer => layer;
@@ -1450,9 +1633,13 @@ export const satisfiesServicesType = () => layer => layer;
1450
1633
  * Constructs a new `Layer` which creates a span and registers it as the current
1451
1634
  * parent span.
1452
1635
  *
1636
+ * **Details**
1637
+ *
1453
1638
  * This allows you to create a traced scope for layer construction, making all
1454
1639
  * operations within the layer constructor part of the same trace span. The span
1455
- * is automatically closed when the layer's scope is closed.
1640
+ * is automatically ended when the layer's scope is closed. If `onEnd` is
1641
+ * provided, it receives the span and the layer scope's exit value when the span
1642
+ * ends.
1456
1643
  *
1457
1644
  * **Example** (Tracing layer construction with a span)
1458
1645
  *
@@ -1501,6 +1688,7 @@ export const span = (name, options) => {
1501
1688
  * Constructs a layer that provides an existing span as the current parent span.
1502
1689
  *
1503
1690
  * **Details**
1691
+ *
1504
1692
  * The supplied span is made available through `Tracer.ParentSpan` for layers
1505
1693
  * that are built with this layer. This API does not create, end, or close the
1506
1694
  * span; the caller remains responsible for the span's lifetime.
@@ -1538,9 +1726,11 @@ export const span = (name, options) => {
1538
1726
  */
1539
1727
  export const parentSpan = span => succeedContext(Tracer.ParentSpan.context(span));
1540
1728
  /**
1541
- * Wraps a Layer with a new tracing span, making all operations in the layer
1729
+ * Wraps a `Layer` with a new tracing span, making all operations in the layer
1542
1730
  * constructor part of the named trace span.
1543
1731
  *
1732
+ * **Details**
1733
+ *
1544
1734
  * This creates a new span for the layer's construction and execution. The span
1545
1735
  * is automatically ended when the layer's scope is closed. This is useful for
1546
1736
  * tracking the lifecycle and performance of layer initialization.
@@ -1589,8 +1779,7 @@ export const parentSpan = span => succeedContext(Tracer.ParentSpan.context(span)
1589
1779
  *
1590
1780
  * yield* logger.log("Application ready")
1591
1781
  * return yield* database.query("SELECT * FROM users")
1592
- * }).pipe(Effect.provide(appLayer)
1593
- * )
1782
+ * }).pipe(Effect.provide(appLayer))
1594
1783
  * ```
1595
1784
  *
1596
1785
  * @category tracing
@@ -1611,9 +1800,15 @@ export const withSpan = function () {
1611
1800
  * as their parent.
1612
1801
  *
1613
1802
  * **Details**
1803
+ *
1614
1804
  * Use this to attach layer construction to an existing trace hierarchy. This API
1615
1805
  * does not create or end the supplied parent span.
1616
1806
  *
1807
+ * When the supplied span is a native `Span`, layer construction also receives
1808
+ * diagnostic information that helps associate failures with the layer call site.
1809
+ * External spans are only installed as the parent span and do not add this
1810
+ * diagnostic call-site information.
1811
+ *
1617
1812
  * **Example** (Attaching layers to an existing parent span)
1618
1813
  *
1619
1814
  * ```ts