effect 4.0.0-beta.4 → 4.0.0-beta.40

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 (1222) hide show
  1. package/dist/Array.d.ts +213 -385
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +149 -102
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +46 -45
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +35 -38
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +39 -32
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +32 -29
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Brand.d.ts +1 -1
  14. package/dist/Brand.d.ts.map +1 -1
  15. package/dist/Brand.js +1 -1
  16. package/dist/Brand.js.map +1 -1
  17. package/dist/Cache.d.ts +2 -2
  18. package/dist/Cache.d.ts.map +1 -1
  19. package/dist/Cache.js +6 -5
  20. package/dist/Cache.js.map +1 -1
  21. package/dist/Cause.d.ts +33 -2
  22. package/dist/Cause.d.ts.map +1 -1
  23. package/dist/Cause.js +19 -0
  24. package/dist/Cause.js.map +1 -1
  25. package/dist/Channel.d.ts +130 -35
  26. package/dist/Channel.d.ts.map +1 -1
  27. package/dist/Channel.js +96 -45
  28. package/dist/Channel.js.map +1 -1
  29. package/dist/Chunk.d.ts +112 -304
  30. package/dist/Chunk.d.ts.map +1 -1
  31. package/dist/Chunk.js +56 -88
  32. package/dist/Chunk.js.map +1 -1
  33. package/dist/Combiner.d.ts +280 -13
  34. package/dist/Combiner.d.ts.map +1 -1
  35. package/dist/Combiner.js +198 -7
  36. package/dist/Combiner.js.map +1 -1
  37. package/dist/Config.d.ts +169 -9
  38. package/dist/Config.d.ts.map +1 -1
  39. package/dist/Config.js +69 -11
  40. package/dist/Config.js.map +1 -1
  41. package/dist/ConfigProvider.d.ts +1 -1
  42. package/dist/Cron.d.ts +11 -7
  43. package/dist/Cron.d.ts.map +1 -1
  44. package/dist/Cron.js +120 -63
  45. package/dist/Cron.js.map +1 -1
  46. package/dist/Data.d.ts +535 -366
  47. package/dist/Data.d.ts.map +1 -1
  48. package/dist/Data.js +132 -79
  49. package/dist/Data.js.map +1 -1
  50. package/dist/DateTime.d.ts +72 -253
  51. package/dist/DateTime.d.ts.map +1 -1
  52. package/dist/DateTime.js +15 -60
  53. package/dist/DateTime.js.map +1 -1
  54. package/dist/Deferred.d.ts +7 -5
  55. package/dist/Deferred.d.ts.map +1 -1
  56. package/dist/Deferred.js +7 -5
  57. package/dist/Deferred.js.map +1 -1
  58. package/dist/Duration.d.ts +62 -32
  59. package/dist/Duration.d.ts.map +1 -1
  60. package/dist/Duration.js +108 -78
  61. package/dist/Duration.js.map +1 -1
  62. package/dist/Effect.d.ts +1224 -951
  63. package/dist/Effect.d.ts.map +1 -1
  64. package/dist/Effect.js +398 -338
  65. package/dist/Effect.js.map +1 -1
  66. package/dist/Encoding.d.ts +194 -0
  67. package/dist/Encoding.d.ts.map +1 -0
  68. package/dist/Encoding.js +352 -0
  69. package/dist/Encoding.js.map +1 -0
  70. package/dist/Equal.d.ts +276 -109
  71. package/dist/Equal.d.ts.map +1 -1
  72. package/dist/Equal.js +124 -48
  73. package/dist/Equal.js.map +1 -1
  74. package/dist/Equivalence.d.ts +60 -3
  75. package/dist/Equivalence.d.ts.map +1 -1
  76. package/dist/Equivalence.js +70 -13
  77. package/dist/Equivalence.js.map +1 -1
  78. package/dist/ErrorReporter.d.ts +374 -0
  79. package/dist/ErrorReporter.d.ts.map +1 -0
  80. package/dist/ErrorReporter.js +245 -0
  81. package/dist/ErrorReporter.js.map +1 -0
  82. package/dist/Exit.d.ts +24 -12
  83. package/dist/Exit.d.ts.map +1 -1
  84. package/dist/Exit.js +8 -4
  85. package/dist/Exit.js.map +1 -1
  86. package/dist/Fiber.d.ts +5 -3
  87. package/dist/Fiber.d.ts.map +1 -1
  88. package/dist/Fiber.js.map +1 -1
  89. package/dist/FiberHandle.d.ts +9 -8
  90. package/dist/FiberHandle.d.ts.map +1 -1
  91. package/dist/FiberHandle.js +8 -7
  92. package/dist/FiberHandle.js.map +1 -1
  93. package/dist/FiberMap.d.ts +20 -19
  94. package/dist/FiberMap.d.ts.map +1 -1
  95. package/dist/FiberMap.js +6 -6
  96. package/dist/FiberMap.js.map +1 -1
  97. package/dist/FileSystem.d.ts +18 -17
  98. package/dist/FileSystem.d.ts.map +1 -1
  99. package/dist/FileSystem.js +17 -13
  100. package/dist/FileSystem.js.map +1 -1
  101. package/dist/Filter.d.ts +34 -38
  102. package/dist/Filter.d.ts.map +1 -1
  103. package/dist/Filter.js +15 -13
  104. package/dist/Filter.js.map +1 -1
  105. package/dist/Formatter.d.ts +131 -47
  106. package/dist/Formatter.d.ts.map +1 -1
  107. package/dist/Formatter.js +229 -51
  108. package/dist/Formatter.js.map +1 -1
  109. package/dist/Function.d.ts +1 -9
  110. package/dist/Function.d.ts.map +1 -1
  111. package/dist/Function.js +2 -10
  112. package/dist/Function.js.map +1 -1
  113. package/dist/Graph.d.ts +65 -65
  114. package/dist/Graph.d.ts.map +1 -1
  115. package/dist/Graph.js +60 -62
  116. package/dist/Graph.js.map +1 -1
  117. package/dist/HashMap.d.ts +26 -19
  118. package/dist/HashMap.d.ts.map +1 -1
  119. package/dist/HashMap.js +7 -5
  120. package/dist/HashMap.js.map +1 -1
  121. package/dist/Iterable.d.ts +50 -50
  122. package/dist/Iterable.d.ts.map +1 -1
  123. package/dist/Iterable.js +106 -34
  124. package/dist/Iterable.js.map +1 -1
  125. package/dist/JsonSchema.d.ts +299 -10
  126. package/dist/JsonSchema.d.ts.map +1 -1
  127. package/dist/JsonSchema.js +323 -4
  128. package/dist/JsonSchema.js.map +1 -1
  129. package/dist/Latch.d.ts +175 -0
  130. package/dist/Latch.d.ts.map +1 -0
  131. package/dist/Latch.js +130 -0
  132. package/dist/Latch.js.map +1 -0
  133. package/dist/Layer.d.ts +306 -129
  134. package/dist/Layer.d.ts.map +1 -1
  135. package/dist/Layer.js +92 -47
  136. package/dist/Layer.js.map +1 -1
  137. package/dist/LayerMap.d.ts +9 -8
  138. package/dist/LayerMap.d.ts.map +1 -1
  139. package/dist/LayerMap.js +3 -3
  140. package/dist/LayerMap.js.map +1 -1
  141. package/dist/LogLevel.d.ts +32 -0
  142. package/dist/LogLevel.d.ts.map +1 -1
  143. package/dist/LogLevel.js +28 -100
  144. package/dist/LogLevel.js.map +1 -1
  145. package/dist/Logger.d.ts +29 -95
  146. package/dist/Logger.d.ts.map +1 -1
  147. package/dist/Logger.js +2 -3
  148. package/dist/Logger.js.map +1 -1
  149. package/dist/ManagedRuntime.d.ts +2 -2
  150. package/dist/ManagedRuntime.js +2 -2
  151. package/dist/Metric.d.ts +4 -6
  152. package/dist/Metric.d.ts.map +1 -1
  153. package/dist/Metric.js +3 -5
  154. package/dist/Metric.js.map +1 -1
  155. package/dist/MutableHashMap.d.ts +7 -0
  156. package/dist/MutableHashMap.d.ts.map +1 -1
  157. package/dist/MutableHashMap.js +8 -0
  158. package/dist/MutableHashMap.js.map +1 -1
  159. package/dist/MutableHashSet.d.ts +7 -0
  160. package/dist/MutableHashSet.d.ts.map +1 -1
  161. package/dist/MutableHashSet.js +8 -0
  162. package/dist/MutableHashSet.js.map +1 -1
  163. package/dist/Newtype.d.ts +291 -0
  164. package/dist/Newtype.d.ts.map +1 -0
  165. package/dist/Newtype.js +161 -0
  166. package/dist/Newtype.js.map +1 -0
  167. package/dist/Number.d.ts +74 -18
  168. package/dist/Number.d.ts.map +1 -1
  169. package/dist/Number.js +34 -15
  170. package/dist/Number.js.map +1 -1
  171. package/dist/Optic.d.ts +947 -18
  172. package/dist/Optic.d.ts.map +1 -1
  173. package/dist/Optic.js +454 -5
  174. package/dist/Optic.js.map +1 -1
  175. package/dist/Option.d.ts +25 -16
  176. package/dist/Option.d.ts.map +1 -1
  177. package/dist/Option.js +15 -9
  178. package/dist/Option.js.map +1 -1
  179. package/dist/Order.d.ts +6 -1
  180. package/dist/Order.d.ts.map +1 -1
  181. package/dist/Order.js +19 -14
  182. package/dist/Order.js.map +1 -1
  183. package/dist/PartitionedSemaphore.d.ts +146 -15
  184. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  185. package/dist/PartitionedSemaphore.js +174 -61
  186. package/dist/PartitionedSemaphore.js.map +1 -1
  187. package/dist/Pipeable.d.ts +17 -0
  188. package/dist/Pipeable.d.ts.map +1 -1
  189. package/dist/Pipeable.js +19 -1
  190. package/dist/Pipeable.js.map +1 -1
  191. package/dist/PlatformError.d.ts +10 -9
  192. package/dist/PlatformError.d.ts.map +1 -1
  193. package/dist/PlatformError.js +2 -2
  194. package/dist/PlatformError.js.map +1 -1
  195. package/dist/Pool.d.ts +6 -4
  196. package/dist/Pool.d.ts.map +1 -1
  197. package/dist/Pool.js +7 -5
  198. package/dist/Pool.js.map +1 -1
  199. package/dist/PubSub.d.ts +8 -6
  200. package/dist/PubSub.d.ts.map +1 -1
  201. package/dist/PubSub.js +18 -10
  202. package/dist/PubSub.js.map +1 -1
  203. package/dist/Pull.d.ts.map +1 -1
  204. package/dist/Pull.js +1 -1
  205. package/dist/Pull.js.map +1 -1
  206. package/dist/Queue.d.ts +9 -6
  207. package/dist/Queue.d.ts.map +1 -1
  208. package/dist/Queue.js +7 -5
  209. package/dist/Queue.js.map +1 -1
  210. package/dist/Random.d.ts +35 -1
  211. package/dist/Random.d.ts.map +1 -1
  212. package/dist/Random.js +46 -12
  213. package/dist/Random.js.map +1 -1
  214. package/dist/RcMap.d.ts +2 -2
  215. package/dist/RcMap.d.ts.map +1 -1
  216. package/dist/RcMap.js +1 -1
  217. package/dist/RcMap.js.map +1 -1
  218. package/dist/RcRef.d.ts +1 -1
  219. package/dist/RcRef.d.ts.map +1 -1
  220. package/dist/Record.d.ts +63 -160
  221. package/dist/Record.d.ts.map +1 -1
  222. package/dist/Record.js +37 -56
  223. package/dist/Record.js.map +1 -1
  224. package/dist/Reducer.d.ts +166 -7
  225. package/dist/Reducer.d.ts.map +1 -1
  226. package/dist/Reducer.js +135 -1
  227. package/dist/Reducer.js.map +1 -1
  228. package/dist/References.d.ts +242 -226
  229. package/dist/References.d.ts.map +1 -1
  230. package/dist/References.js +240 -247
  231. package/dist/References.js.map +1 -1
  232. package/dist/Request.d.ts +1 -1
  233. package/dist/Request.d.ts.map +1 -1
  234. package/dist/Request.js +2 -1
  235. package/dist/Request.js.map +1 -1
  236. package/dist/RequestResolver.d.ts +25 -45
  237. package/dist/RequestResolver.d.ts.map +1 -1
  238. package/dist/RequestResolver.js +10 -30
  239. package/dist/RequestResolver.js.map +1 -1
  240. package/dist/Resource.d.ts.map +1 -1
  241. package/dist/Resource.js +2 -1
  242. package/dist/Resource.js.map +1 -1
  243. package/dist/Result.d.ts +1 -1
  244. package/dist/Result.d.ts.map +1 -1
  245. package/dist/Result.js +1 -2
  246. package/dist/Result.js.map +1 -1
  247. package/dist/Runtime.d.ts +66 -0
  248. package/dist/Runtime.d.ts.map +1 -1
  249. package/dist/Runtime.js +79 -6
  250. package/dist/Runtime.js.map +1 -1
  251. package/dist/Schedule.d.ts +174 -291
  252. package/dist/Schedule.d.ts.map +1 -1
  253. package/dist/Schedule.js +160 -134
  254. package/dist/Schedule.js.map +1 -1
  255. package/dist/Scheduler.d.ts +34 -123
  256. package/dist/Scheduler.d.ts.map +1 -1
  257. package/dist/Scheduler.js +31 -123
  258. package/dist/Scheduler.js.map +1 -1
  259. package/dist/Schema.d.ts +2722 -247
  260. package/dist/Schema.d.ts.map +1 -1
  261. package/dist/Schema.js +1947 -224
  262. package/dist/Schema.js.map +1 -1
  263. package/dist/SchemaAST.d.ts +7 -2
  264. package/dist/SchemaAST.d.ts.map +1 -1
  265. package/dist/SchemaAST.js +131 -25
  266. package/dist/SchemaAST.js.map +1 -1
  267. package/dist/SchemaGetter.d.ts +5 -5
  268. package/dist/SchemaGetter.d.ts.map +1 -1
  269. package/dist/SchemaGetter.js +18 -18
  270. package/dist/SchemaGetter.js.map +1 -1
  271. package/dist/SchemaParser.d.ts +44 -54
  272. package/dist/SchemaParser.d.ts.map +1 -1
  273. package/dist/SchemaParser.js +55 -2
  274. package/dist/SchemaParser.js.map +1 -1
  275. package/dist/SchemaRepresentation.d.ts +46 -45
  276. package/dist/SchemaRepresentation.d.ts.map +1 -1
  277. package/dist/SchemaRepresentation.js +49 -24
  278. package/dist/SchemaRepresentation.js.map +1 -1
  279. package/dist/SchemaTransformation.d.ts +107 -3
  280. package/dist/SchemaTransformation.d.ts.map +1 -1
  281. package/dist/SchemaTransformation.js +173 -13
  282. package/dist/SchemaTransformation.js.map +1 -1
  283. package/dist/ScopedCache.d.ts +2 -2
  284. package/dist/ScopedCache.d.ts.map +1 -1
  285. package/dist/ScopedCache.js +1 -1
  286. package/dist/ScopedCache.js.map +1 -1
  287. package/dist/Semaphore.d.ts +307 -0
  288. package/dist/Semaphore.d.ts.map +1 -0
  289. package/dist/Semaphore.js +222 -0
  290. package/dist/Semaphore.js.map +1 -0
  291. package/dist/ServiceMap.d.ts +67 -31
  292. package/dist/ServiceMap.d.ts.map +1 -1
  293. package/dist/ServiceMap.js +39 -24
  294. package/dist/ServiceMap.js.map +1 -1
  295. package/dist/Sink.d.ts +18 -15
  296. package/dist/Sink.d.ts.map +1 -1
  297. package/dist/Sink.js +53 -6
  298. package/dist/Sink.js.map +1 -1
  299. package/dist/Stdio.d.ts +16 -4
  300. package/dist/Stdio.d.ts.map +1 -1
  301. package/dist/Stdio.js +18 -0
  302. package/dist/Stdio.js.map +1 -1
  303. package/dist/Stream.d.ts +284 -431
  304. package/dist/Stream.d.ts.map +1 -1
  305. package/dist/Stream.js +189 -88
  306. package/dist/Stream.js.map +1 -1
  307. package/dist/String.d.ts +114 -47
  308. package/dist/String.d.ts.map +1 -1
  309. package/dist/String.js +29 -47
  310. package/dist/String.js.map +1 -1
  311. package/dist/Struct.d.ts +23 -7
  312. package/dist/Struct.d.ts.map +1 -1
  313. package/dist/Struct.js +22 -0
  314. package/dist/Struct.js.map +1 -1
  315. package/dist/SubscriptionRef.d.ts +3 -3
  316. package/dist/SubscriptionRef.d.ts.map +1 -1
  317. package/dist/SubscriptionRef.js +85 -117
  318. package/dist/SubscriptionRef.js.map +1 -1
  319. package/dist/SynchronizedRef.d.ts +2 -1
  320. package/dist/SynchronizedRef.d.ts.map +1 -1
  321. package/dist/SynchronizedRef.js +2 -1
  322. package/dist/SynchronizedRef.js.map +1 -1
  323. package/dist/Terminal.d.ts +2 -1
  324. package/dist/Terminal.d.ts.map +1 -1
  325. package/dist/Terminal.js.map +1 -1
  326. package/dist/Tracer.d.ts +5 -4
  327. package/dist/Tracer.d.ts.map +1 -1
  328. package/dist/Tracer.js +2 -1
  329. package/dist/Tracer.js.map +1 -1
  330. package/dist/Trie.d.ts +44 -31
  331. package/dist/Trie.d.ts.map +1 -1
  332. package/dist/Trie.js +13 -9
  333. package/dist/Trie.js.map +1 -1
  334. package/dist/TxChunk.d.ts +37 -37
  335. package/dist/TxChunk.d.ts.map +1 -1
  336. package/dist/TxChunk.js +3 -3
  337. package/dist/TxChunk.js.map +1 -1
  338. package/dist/TxDeferred.d.ts +328 -0
  339. package/dist/TxDeferred.d.ts.map +1 -0
  340. package/dist/TxDeferred.js +197 -0
  341. package/dist/TxDeferred.js.map +1 -0
  342. package/dist/TxHashMap.d.ts +159 -140
  343. package/dist/TxHashMap.d.ts.map +1 -1
  344. package/dist/TxHashMap.js +51 -44
  345. package/dist/TxHashMap.js.map +1 -1
  346. package/dist/TxHashSet.d.ts +36 -36
  347. package/dist/TxHashSet.d.ts.map +1 -1
  348. package/dist/TxHashSet.js +16 -15
  349. package/dist/TxHashSet.js.map +1 -1
  350. package/dist/TxPriorityQueue.d.ts +609 -0
  351. package/dist/TxPriorityQueue.d.ts.map +1 -0
  352. package/dist/TxPriorityQueue.js +416 -0
  353. package/dist/TxPriorityQueue.js.map +1 -0
  354. package/dist/TxPubSub.d.ts +585 -0
  355. package/dist/TxPubSub.d.ts.map +1 -0
  356. package/dist/TxPubSub.js +521 -0
  357. package/dist/TxPubSub.js.map +1 -0
  358. package/dist/TxQueue.d.ts +32 -32
  359. package/dist/TxQueue.d.ts.map +1 -1
  360. package/dist/TxQueue.js +26 -26
  361. package/dist/TxQueue.js.map +1 -1
  362. package/dist/TxReentrantLock.d.ts +523 -0
  363. package/dist/TxReentrantLock.d.ts.map +1 -0
  364. package/dist/TxReentrantLock.js +504 -0
  365. package/dist/TxReentrantLock.js.map +1 -0
  366. package/dist/TxRef.d.ts +34 -34
  367. package/dist/TxRef.d.ts.map +1 -1
  368. package/dist/TxRef.js +21 -14
  369. package/dist/TxRef.js.map +1 -1
  370. package/dist/TxSemaphore.d.ts +170 -10
  371. package/dist/TxSemaphore.d.ts.map +1 -1
  372. package/dist/TxSemaphore.js +23 -8
  373. package/dist/TxSemaphore.js.map +1 -1
  374. package/dist/TxSubscriptionRef.d.ts +508 -0
  375. package/dist/TxSubscriptionRef.d.ts.map +1 -0
  376. package/dist/TxSubscriptionRef.js +293 -0
  377. package/dist/TxSubscriptionRef.js.map +1 -0
  378. package/dist/Types.d.ts +80 -23
  379. package/dist/Types.d.ts.map +1 -1
  380. package/dist/Utils.d.ts +137 -65
  381. package/dist/Utils.d.ts.map +1 -1
  382. package/dist/Utils.js +38 -66
  383. package/dist/Utils.js.map +1 -1
  384. package/dist/index.d.ts +804 -53
  385. package/dist/index.d.ts.map +1 -1
  386. package/dist/index.js +804 -53
  387. package/dist/index.js.map +1 -1
  388. package/dist/internal/core.js +11 -3
  389. package/dist/internal/core.js.map +1 -1
  390. package/dist/internal/dateTime.js +77 -71
  391. package/dist/internal/dateTime.js.map +1 -1
  392. package/dist/internal/effect.js +281 -201
  393. package/dist/internal/effect.js.map +1 -1
  394. package/dist/internal/hashMap.js +7 -5
  395. package/dist/internal/hashMap.js.map +1 -1
  396. package/dist/internal/option.js +6 -0
  397. package/dist/internal/option.js.map +1 -1
  398. package/dist/internal/random.d.ts +2 -0
  399. package/dist/internal/random.d.ts.map +1 -0
  400. package/dist/internal/random.js +13 -0
  401. package/dist/internal/random.js.map +1 -0
  402. package/dist/internal/rcRef.js +3 -2
  403. package/dist/internal/rcRef.js.map +1 -1
  404. package/dist/internal/references.d.ts +2 -0
  405. package/dist/internal/references.d.ts.map +1 -0
  406. package/dist/internal/references.js +51 -0
  407. package/dist/internal/references.js.map +1 -0
  408. package/dist/internal/request.js +2 -2
  409. package/dist/internal/request.js.map +1 -1
  410. package/dist/internal/schema/annotations.js +2 -0
  411. package/dist/internal/schema/annotations.js.map +1 -1
  412. package/dist/internal/schema/representation.js +47 -106
  413. package/dist/internal/schema/representation.js.map +1 -1
  414. package/dist/internal/schema/schema.js +1 -0
  415. package/dist/internal/schema/schema.js.map +1 -1
  416. package/dist/internal/schema/to-codec.js +7 -10
  417. package/dist/internal/schema/to-codec.js.map +1 -1
  418. package/dist/internal/trie.js +8 -7
  419. package/dist/internal/trie.js.map +1 -1
  420. package/dist/testing/TestClock.d.ts +8 -7
  421. package/dist/testing/TestClock.d.ts.map +1 -1
  422. package/dist/testing/TestClock.js +6 -4
  423. package/dist/testing/TestClock.js.map +1 -1
  424. package/dist/testing/TestSchema.d.ts +266 -32
  425. package/dist/testing/TestSchema.d.ts.map +1 -1
  426. package/dist/testing/TestSchema.js +296 -23
  427. package/dist/testing/TestSchema.js.map +1 -1
  428. package/dist/testing/index.d.ts +64 -1
  429. package/dist/testing/index.d.ts.map +1 -1
  430. package/dist/testing/index.js +64 -1
  431. package/dist/testing/index.js.map +1 -1
  432. package/dist/unstable/ai/AiError.d.ts +136 -54
  433. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  434. package/dist/unstable/ai/AiError.js +28 -23
  435. package/dist/unstable/ai/AiError.js.map +1 -1
  436. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  437. package/dist/unstable/ai/AnthropicStructuredOutput.js +4 -0
  438. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  439. package/dist/unstable/ai/Chat.d.ts +7 -8
  440. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  441. package/dist/unstable/ai/Chat.js +38 -44
  442. package/dist/unstable/ai/Chat.js.map +1 -1
  443. package/dist/unstable/ai/EmbeddingModel.d.ts +130 -0
  444. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -0
  445. package/dist/unstable/ai/EmbeddingModel.js +127 -0
  446. package/dist/unstable/ai/EmbeddingModel.js.map +1 -0
  447. package/dist/unstable/ai/LanguageModel.d.ts +53 -45
  448. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  449. package/dist/unstable/ai/LanguageModel.js +265 -143
  450. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  451. package/dist/unstable/ai/McpSchema.d.ts +183 -88
  452. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  453. package/dist/unstable/ai/McpSchema.js +57 -12
  454. package/dist/unstable/ai/McpSchema.js.map +1 -1
  455. package/dist/unstable/ai/McpServer.d.ts +66 -13
  456. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  457. package/dist/unstable/ai/McpServer.js +193 -51
  458. package/dist/unstable/ai/McpServer.js.map +1 -1
  459. package/dist/unstable/ai/Model.d.ts +25 -7
  460. package/dist/unstable/ai/Model.d.ts.map +1 -1
  461. package/dist/unstable/ai/Model.js +22 -6
  462. package/dist/unstable/ai/Model.js.map +1 -1
  463. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  464. package/dist/unstable/ai/OpenAiStructuredOutput.js +4 -0
  465. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  466. package/dist/unstable/ai/Prompt.d.ts +20 -20
  467. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  468. package/dist/unstable/ai/Response.d.ts +26 -26
  469. package/dist/unstable/ai/Response.d.ts.map +1 -1
  470. package/dist/unstable/ai/Response.js +1 -1
  471. package/dist/unstable/ai/Response.js.map +1 -1
  472. package/dist/unstable/ai/ResponseIdTracker.d.ts +38 -0
  473. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -0
  474. package/dist/unstable/ai/ResponseIdTracker.js +68 -0
  475. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -0
  476. package/dist/unstable/ai/Tool.d.ts +34 -4
  477. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  478. package/dist/unstable/ai/Tool.js +28 -10
  479. package/dist/unstable/ai/Tool.js.map +1 -1
  480. package/dist/unstable/ai/Toolkit.d.ts +1 -1
  481. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  482. package/dist/unstable/ai/Toolkit.js +4 -11
  483. package/dist/unstable/ai/Toolkit.js.map +1 -1
  484. package/dist/unstable/ai/index.d.ts +22 -1
  485. package/dist/unstable/ai/index.d.ts.map +1 -1
  486. package/dist/unstable/ai/index.js +22 -1
  487. package/dist/unstable/ai/index.js.map +1 -1
  488. package/dist/unstable/ai/internal/codec-transformer.js +0 -5
  489. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  490. package/dist/unstable/cli/Argument.d.ts +2 -4
  491. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  492. package/dist/unstable/cli/Argument.js +1 -3
  493. package/dist/unstable/cli/Argument.js.map +1 -1
  494. package/dist/unstable/cli/CliError.d.ts +27 -60
  495. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  496. package/dist/unstable/cli/CliError.js +25 -57
  497. package/dist/unstable/cli/CliError.js.map +1 -1
  498. package/dist/unstable/cli/CliOutput.d.ts +3 -2
  499. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  500. package/dist/unstable/cli/CliOutput.js +65 -10
  501. package/dist/unstable/cli/CliOutput.js.map +1 -1
  502. package/dist/unstable/cli/Command.d.ts +371 -58
  503. package/dist/unstable/cli/Command.d.ts.map +1 -1
  504. package/dist/unstable/cli/Command.js +328 -67
  505. package/dist/unstable/cli/Command.js.map +1 -1
  506. package/dist/unstable/cli/Completions.d.ts +16 -0
  507. package/dist/unstable/cli/Completions.d.ts.map +1 -0
  508. package/dist/unstable/cli/Completions.js +23 -0
  509. package/dist/unstable/cli/Completions.js.map +1 -0
  510. package/dist/unstable/cli/Flag.d.ts +2 -2
  511. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  512. package/dist/unstable/cli/Flag.js +1 -1
  513. package/dist/unstable/cli/Flag.js.map +1 -1
  514. package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
  515. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
  516. package/dist/unstable/cli/GlobalFlag.js +118 -0
  517. package/dist/unstable/cli/GlobalFlag.js.map +1 -0
  518. package/dist/unstable/cli/HelpDoc.d.ts +81 -11
  519. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  520. package/dist/unstable/cli/Param.d.ts +4 -4
  521. package/dist/unstable/cli/Param.d.ts.map +1 -1
  522. package/dist/unstable/cli/Param.js +7 -7
  523. package/dist/unstable/cli/Param.js.map +1 -1
  524. package/dist/unstable/cli/Primitive.d.ts +2 -2
  525. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  526. package/dist/unstable/cli/Primitive.js +1 -1
  527. package/dist/unstable/cli/Primitive.js.map +1 -1
  528. package/dist/unstable/cli/Prompt.js +258 -84
  529. package/dist/unstable/cli/Prompt.js.map +1 -1
  530. package/dist/unstable/cli/index.d.ts +8 -0
  531. package/dist/unstable/cli/index.d.ts.map +1 -1
  532. package/dist/unstable/cli/index.js +8 -0
  533. package/dist/unstable/cli/index.js.map +1 -1
  534. package/dist/unstable/cli/internal/command.d.ts +40 -14
  535. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  536. package/dist/unstable/cli/internal/command.js +72 -46
  537. package/dist/unstable/cli/internal/command.js.map +1 -1
  538. package/dist/unstable/cli/internal/completions/CommandDescriptor.js +16 -4
  539. package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
  540. package/dist/unstable/cli/internal/config.js +42 -0
  541. package/dist/unstable/cli/internal/config.js.map +1 -1
  542. package/dist/unstable/cli/internal/help.d.ts +33 -0
  543. package/dist/unstable/cli/internal/help.d.ts.map +1 -0
  544. package/dist/unstable/cli/internal/help.js +125 -0
  545. package/dist/unstable/cli/internal/help.js.map +1 -0
  546. package/dist/unstable/cli/internal/parser.js +61 -43
  547. package/dist/unstable/cli/internal/parser.js.map +1 -1
  548. package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
  549. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  550. package/dist/unstable/cluster/ClusterCron.js +1 -1
  551. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  552. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +3 -2
  553. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  554. package/dist/unstable/cluster/ClusterWorkflowEngine.js +29 -26
  555. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  556. package/dist/unstable/cluster/DeliverAt.js +1 -1
  557. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  558. package/dist/unstable/cluster/Entity.d.ts +10 -8
  559. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  560. package/dist/unstable/cluster/Entity.js +7 -7
  561. package/dist/unstable/cluster/Entity.js.map +1 -1
  562. package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
  563. package/dist/unstable/cluster/EntityAddress.js +1 -1
  564. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  565. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  566. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  567. package/dist/unstable/cluster/Envelope.d.ts +1 -1
  568. package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
  569. package/dist/unstable/cluster/K8sHttpClient.js +4 -4
  570. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  571. package/dist/unstable/cluster/Message.d.ts +14 -13
  572. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  573. package/dist/unstable/cluster/Message.js +3 -2
  574. package/dist/unstable/cluster/Message.js.map +1 -1
  575. package/dist/unstable/cluster/MessageStorage.d.ts +10 -10
  576. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  577. package/dist/unstable/cluster/MessageStorage.js +14 -13
  578. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  579. package/dist/unstable/cluster/Reply.d.ts +8 -7
  580. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  581. package/dist/unstable/cluster/Reply.js +4 -3
  582. package/dist/unstable/cluster/Reply.js.map +1 -1
  583. package/dist/unstable/cluster/Runner.d.ts +1 -1
  584. package/dist/unstable/cluster/Runner.d.ts.map +1 -1
  585. package/dist/unstable/cluster/Runner.js +1 -1
  586. package/dist/unstable/cluster/Runner.js.map +1 -1
  587. package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
  588. package/dist/unstable/cluster/RunnerAddress.js +1 -1
  589. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  590. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  591. package/dist/unstable/cluster/RunnerServer.js +9 -8
  592. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  593. package/dist/unstable/cluster/Runners.d.ts +2 -1
  594. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  595. package/dist/unstable/cluster/Runners.js +11 -9
  596. package/dist/unstable/cluster/Runners.js.map +1 -1
  597. package/dist/unstable/cluster/ShardId.js +3 -3
  598. package/dist/unstable/cluster/ShardId.js.map +1 -1
  599. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  600. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  601. package/dist/unstable/cluster/Sharding.js +28 -20
  602. package/dist/unstable/cluster/Sharding.js.map +1 -1
  603. package/dist/unstable/cluster/ShardingConfig.d.ts +26 -25
  604. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  605. package/dist/unstable/cluster/ShardingConfig.js +24 -24
  606. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  607. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  608. package/dist/unstable/cluster/SqlMessageStorage.js +19 -18
  609. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  610. package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
  611. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  612. package/dist/unstable/cluster/internal/entityManager.js +14 -14
  613. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  614. package/dist/unstable/cluster/internal/entityReaper.js +2 -1
  615. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  616. package/dist/unstable/cluster/internal/resourceRef.js +2 -1
  617. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  618. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  619. package/dist/unstable/devtools/DevToolsClient.js +4 -3
  620. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  621. package/dist/unstable/devtools/DevToolsSchema.d.ts +40 -40
  622. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  623. package/dist/unstable/devtools/DevToolsSchema.js +9 -2
  624. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  625. package/dist/unstable/encoding/Msgpack.d.ts +1 -1
  626. package/dist/unstable/encoding/Ndjson.d.ts +9 -9
  627. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  628. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  629. package/dist/unstable/encoding/Sse.d.ts +4 -4
  630. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  631. package/dist/unstable/encoding/Sse.js +1 -1
  632. package/dist/unstable/encoding/Sse.js.map +1 -1
  633. package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
  634. package/dist/unstable/eventlog/EventJournal.js +2 -2
  635. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  636. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  637. package/dist/unstable/eventlog/EventLog.js +3 -2
  638. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  639. package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
  640. package/dist/unstable/eventlog/SqlEventLogJournal.js +2 -2
  641. package/dist/unstable/eventlog/SqlEventLogJournal.js.map +1 -1
  642. package/dist/unstable/http/Cookies.d.ts +52 -7
  643. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  644. package/dist/unstable/http/Cookies.js +27 -6
  645. package/dist/unstable/http/Cookies.js.map +1 -1
  646. package/dist/unstable/http/Etag.d.ts.map +1 -1
  647. package/dist/unstable/http/Etag.js +5 -1
  648. package/dist/unstable/http/Etag.js.map +1 -1
  649. package/dist/unstable/http/Headers.d.ts +19 -2
  650. package/dist/unstable/http/Headers.d.ts.map +1 -1
  651. package/dist/unstable/http/Headers.js +40 -11
  652. package/dist/unstable/http/Headers.js.map +1 -1
  653. package/dist/unstable/http/HttpBody.d.ts +1 -1
  654. package/dist/unstable/http/HttpClient.d.ts +117 -15
  655. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  656. package/dist/unstable/http/HttpClient.js +191 -13
  657. package/dist/unstable/http/HttpClient.js.map +1 -1
  658. package/dist/unstable/http/HttpClientError.d.ts +7 -7
  659. package/dist/unstable/http/HttpClientRequest.d.ts +43 -15
  660. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  661. package/dist/unstable/http/HttpClientRequest.js +131 -21
  662. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  663. package/dist/unstable/http/HttpClientResponse.d.ts +2 -1
  664. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  665. package/dist/unstable/http/HttpClientResponse.js +6 -1
  666. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  667. package/dist/unstable/http/HttpEffect.d.ts +7 -5
  668. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  669. package/dist/unstable/http/HttpEffect.js +46 -54
  670. package/dist/unstable/http/HttpEffect.js.map +1 -1
  671. package/dist/unstable/http/HttpIncomingMessage.d.ts +3 -2
  672. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  673. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  674. package/dist/unstable/http/HttpMethod.d.ts +4 -4
  675. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  676. package/dist/unstable/http/HttpMethod.js +3 -3
  677. package/dist/unstable/http/HttpMethod.js.map +1 -1
  678. package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
  679. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  680. package/dist/unstable/http/HttpMiddleware.js +24 -32
  681. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  682. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  683. package/dist/unstable/http/HttpPlatform.js +3 -2
  684. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  685. package/dist/unstable/http/HttpRouter.d.ts +2 -1
  686. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  687. package/dist/unstable/http/HttpRouter.js +7 -7
  688. package/dist/unstable/http/HttpRouter.js.map +1 -1
  689. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  690. package/dist/unstable/http/HttpServer.js +2 -2
  691. package/dist/unstable/http/HttpServer.js.map +1 -1
  692. package/dist/unstable/http/HttpServerError.d.ts +22 -34
  693. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  694. package/dist/unstable/http/HttpServerError.js +39 -45
  695. package/dist/unstable/http/HttpServerError.js.map +1 -1
  696. package/dist/unstable/http/HttpServerRequest.d.ts +15 -3
  697. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  698. package/dist/unstable/http/HttpServerRequest.js +301 -7
  699. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  700. package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
  701. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  702. package/dist/unstable/http/HttpServerRespondable.js +5 -5
  703. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  704. package/dist/unstable/http/HttpServerResponse.d.ts +50 -3
  705. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  706. package/dist/unstable/http/HttpServerResponse.js +236 -1
  707. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  708. package/dist/unstable/http/HttpStaticServer.d.ts +69 -0
  709. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -0
  710. package/dist/unstable/http/HttpStaticServer.js +353 -0
  711. package/dist/unstable/http/HttpStaticServer.js.map +1 -0
  712. package/dist/unstable/http/HttpTraceContext.d.ts +3 -2
  713. package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
  714. package/dist/unstable/http/HttpTraceContext.js +27 -15
  715. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  716. package/dist/unstable/http/Multipart.d.ts +3 -3
  717. package/dist/unstable/http/Url.d.ts +604 -0
  718. package/dist/unstable/http/Url.d.ts.map +1 -0
  719. package/dist/unstable/http/Url.js +256 -0
  720. package/dist/unstable/http/Url.js.map +1 -0
  721. package/dist/unstable/http/UrlParams.d.ts +19 -10
  722. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  723. package/dist/unstable/http/UrlParams.js +6 -7
  724. package/dist/unstable/http/UrlParams.js.map +1 -1
  725. package/dist/unstable/http/index.d.ts +8 -0
  726. package/dist/unstable/http/index.d.ts.map +1 -1
  727. package/dist/unstable/http/index.js +8 -0
  728. package/dist/unstable/http/index.js.map +1 -1
  729. package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
  730. package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
  731. package/dist/unstable/http/internal/preResponseHandler.js +10 -0
  732. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
  733. package/dist/unstable/httpapi/HttpApi.d.ts +4 -4
  734. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  735. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  736. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +11 -5
  737. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  738. package/dist/unstable/httpapi/HttpApiBuilder.js +40 -27
  739. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  740. package/dist/unstable/httpapi/HttpApiClient.d.ts +83 -7
  741. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  742. package/dist/unstable/httpapi/HttpApiClient.js +78 -10
  743. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  744. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +207 -101
  745. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  746. package/dist/unstable/httpapi/HttpApiEndpoint.js +49 -43
  747. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  748. package/dist/unstable/httpapi/HttpApiError.d.ts +31 -14
  749. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  750. package/dist/unstable/httpapi/HttpApiError.js +125 -32
  751. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  752. package/dist/unstable/httpapi/HttpApiGroup.d.ts +4 -3
  753. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  754. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  755. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +46 -15
  756. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  757. package/dist/unstable/httpapi/HttpApiMiddleware.js +32 -3
  758. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  759. package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
  760. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  761. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  762. package/dist/unstable/httpapi/HttpApiSchema.d.ts +5 -0
  763. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  764. package/dist/unstable/httpapi/HttpApiSchema.js +20 -2
  765. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  766. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +2 -2
  767. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  768. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  769. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  770. package/dist/unstable/httpapi/OpenApi.js +34 -26
  771. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  772. package/dist/unstable/observability/Otlp.d.ts +12 -12
  773. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  774. package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
  775. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  776. package/dist/unstable/observability/OtlpExporter.js +3 -3
  777. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  778. package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
  779. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  780. package/dist/unstable/observability/OtlpLogger.js +7 -4
  781. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  782. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
  783. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  784. package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
  785. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  786. package/dist/unstable/observability/OtlpTracer.js +7 -3
  787. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  788. package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
  789. package/dist/unstable/persistence/KeyValueStore.js +6 -6
  790. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  791. package/dist/unstable/persistence/Persistable.d.ts +2 -2
  792. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  793. package/dist/unstable/persistence/Persistable.js +1 -1
  794. package/dist/unstable/persistence/Persistable.js.map +1 -1
  795. package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
  796. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  797. package/dist/unstable/persistence/PersistedCache.js +2 -1
  798. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  799. package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
  800. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  801. package/dist/unstable/persistence/PersistedQueue.js +12 -11
  802. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  803. package/dist/unstable/persistence/Persistence.d.ts +1 -1
  804. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  805. package/dist/unstable/persistence/Persistence.js +2 -2
  806. package/dist/unstable/persistence/Persistence.js.map +1 -1
  807. package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
  808. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  809. package/dist/unstable/persistence/RateLimiter.js +1 -1
  810. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  811. package/dist/unstable/process/ChildProcess.d.ts +5 -128
  812. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  813. package/dist/unstable/process/ChildProcess.js +1 -65
  814. package/dist/unstable/process/ChildProcess.js.map +1 -1
  815. package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -7
  816. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  817. package/dist/unstable/process/ChildProcessSpawner.js +21 -1
  818. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  819. package/dist/unstable/reactivity/Atom.d.ts +73 -12
  820. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  821. package/dist/unstable/reactivity/Atom.js +108 -25
  822. package/dist/unstable/reactivity/Atom.js.map +1 -1
  823. package/dist/unstable/reactivity/AtomHttpApi.d.ts +17 -15
  824. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  825. package/dist/unstable/reactivity/AtomHttpApi.js +45 -15
  826. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  827. package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
  828. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  829. package/dist/unstable/reactivity/AtomRegistry.js +54 -11
  830. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  831. package/dist/unstable/reactivity/AtomRpc.d.ts +9 -9
  832. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  833. package/dist/unstable/reactivity/AtomRpc.js +47 -21
  834. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  835. package/dist/unstable/reactivity/Hydration.d.ts +39 -0
  836. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
  837. package/dist/unstable/reactivity/Hydration.js +76 -0
  838. package/dist/unstable/reactivity/Hydration.js.map +1 -0
  839. package/dist/unstable/reactivity/index.d.ts +4 -0
  840. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  841. package/dist/unstable/reactivity/index.js +4 -0
  842. package/dist/unstable/reactivity/index.js.map +1 -1
  843. package/dist/unstable/rpc/Rpc.d.ts +5 -5
  844. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  845. package/dist/unstable/rpc/Rpc.js +4 -3
  846. package/dist/unstable/rpc/Rpc.js.map +1 -1
  847. package/dist/unstable/rpc/RpcClient.d.ts +5 -26
  848. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  849. package/dist/unstable/rpc/RpcClient.js +10 -17
  850. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  851. package/dist/unstable/rpc/RpcGroup.d.ts +3 -5
  852. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  853. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  854. package/dist/unstable/rpc/RpcMiddleware.d.ts +8 -8
  855. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  856. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  857. package/dist/unstable/rpc/RpcSchema.d.ts +13 -0
  858. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  859. package/dist/unstable/rpc/RpcSchema.js +17 -2
  860. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  861. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  862. package/dist/unstable/rpc/RpcSerialization.js +39 -11
  863. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  864. package/dist/unstable/rpc/RpcServer.d.ts +6 -10
  865. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  866. package/dist/unstable/rpc/RpcServer.js +20 -19
  867. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  868. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  869. package/dist/unstable/rpc/Utils.js +3 -2
  870. package/dist/unstable/rpc/Utils.js.map +1 -1
  871. package/dist/unstable/schema/Model.d.ts +22 -1
  872. package/dist/unstable/schema/Model.d.ts.map +1 -1
  873. package/dist/unstable/schema/Model.js +15 -0
  874. package/dist/unstable/schema/Model.js.map +1 -1
  875. package/dist/unstable/schema/VariantSchema.d.ts +6 -6
  876. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  877. package/dist/unstable/schema/VariantSchema.js +6 -6
  878. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  879. package/dist/unstable/socket/Socket.d.ts +6 -5
  880. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  881. package/dist/unstable/socket/Socket.js +12 -9
  882. package/dist/unstable/socket/Socket.js.map +1 -1
  883. package/dist/unstable/socket/SocketServer.d.ts +3 -3
  884. package/dist/unstable/sql/Migrator.d.ts +1 -1
  885. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  886. package/dist/unstable/sql/Migrator.js +2 -2
  887. package/dist/unstable/sql/Migrator.js.map +1 -1
  888. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  889. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  890. package/dist/unstable/sql/SqlClient.js +1 -1
  891. package/dist/unstable/sql/SqlClient.js.map +1 -1
  892. package/dist/unstable/sql/SqlError.d.ts +237 -17
  893. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  894. package/dist/unstable/sql/SqlError.js +260 -4
  895. package/dist/unstable/sql/SqlError.js.map +1 -1
  896. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  897. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  898. package/dist/unstable/sql/SqlModel.js +3 -3
  899. package/dist/unstable/sql/SqlModel.js.map +1 -1
  900. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  901. package/dist/unstable/sql/SqlResolver.js +17 -8
  902. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  903. package/dist/unstable/sql/SqlSchema.d.ts +17 -6
  904. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  905. package/dist/unstable/sql/SqlSchema.js +17 -7
  906. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  907. package/dist/unstable/sql/Statement.js +0 -1
  908. package/dist/unstable/sql/Statement.js.map +1 -1
  909. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  910. package/dist/unstable/workers/Worker.js +2 -1
  911. package/dist/unstable/workers/Worker.js.map +1 -1
  912. package/dist/unstable/workflow/DurableClock.d.ts +3 -3
  913. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  914. package/dist/unstable/workflow/DurableClock.js +3 -3
  915. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  916. package/dist/unstable/workflow/DurableDeferred.js +8 -8
  917. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  918. package/dist/unstable/workflow/Workflow.d.ts +5 -4
  919. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  920. package/dist/unstable/workflow/Workflow.js +1 -1
  921. package/dist/unstable/workflow/Workflow.js.map +1 -1
  922. package/dist/unstable/workflow/WorkflowEngine.d.ts +17 -5
  923. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  924. package/dist/unstable/workflow/WorkflowEngine.js +153 -12
  925. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  926. package/package.json +2 -2
  927. package/src/Array.ts +304 -447
  928. package/src/BigDecimal.ts +63 -66
  929. package/src/BigInt.ts +49 -41
  930. package/src/Brand.ts +1 -1
  931. package/src/Cache.ts +9 -8
  932. package/src/Cause.ts +37 -2
  933. package/src/Channel.ts +582 -154
  934. package/src/Chunk.ts +149 -331
  935. package/src/Combiner.ts +280 -13
  936. package/src/Config.ts +195 -25
  937. package/src/Cron.ts +155 -63
  938. package/src/Data.ts +539 -376
  939. package/src/DateTime.ts +75 -256
  940. package/src/Deferred.ts +8 -6
  941. package/src/Duration.ts +122 -66
  942. package/src/Effect.ts +1483 -1157
  943. package/src/Encoding.ts +879 -0
  944. package/src/Equal.ts +278 -111
  945. package/src/Equivalence.ts +114 -52
  946. package/src/ErrorReporter.ts +458 -0
  947. package/src/Exit.ts +24 -12
  948. package/src/Fiber.ts +12 -3
  949. package/src/FiberHandle.ts +10 -9
  950. package/src/FiberMap.ts +22 -22
  951. package/src/FileSystem.ts +34 -31
  952. package/src/Filter.ts +52 -63
  953. package/src/Formatter.ts +253 -51
  954. package/src/Function.ts +2 -10
  955. package/src/Graph.ts +131 -117
  956. package/src/HashMap.ts +26 -19
  957. package/src/Iterable.ts +117 -63
  958. package/src/JsonSchema.ts +383 -10
  959. package/src/Latch.ts +194 -0
  960. package/src/Layer.ts +393 -159
  961. package/src/LayerMap.ts +11 -9
  962. package/src/LogLevel.ts +37 -0
  963. package/src/Logger.ts +33 -100
  964. package/src/ManagedRuntime.ts +2 -2
  965. package/src/Metric.ts +6 -8
  966. package/src/MutableHashMap.ts +9 -0
  967. package/src/MutableHashSet.ts +9 -0
  968. package/src/Newtype.ts +308 -0
  969. package/src/Number.ts +85 -26
  970. package/src/Optic.ts +948 -19
  971. package/src/Option.ts +34 -24
  972. package/src/Order.ts +39 -32
  973. package/src/PartitionedSemaphore.ts +288 -56
  974. package/src/Pipeable.ts +32 -1
  975. package/src/PlatformError.ts +5 -5
  976. package/src/Pool.ts +13 -11
  977. package/src/PubSub.ts +30 -20
  978. package/src/Pull.ts +1 -1
  979. package/src/Queue.ts +11 -9
  980. package/src/Random.ts +51 -14
  981. package/src/RcMap.ts +5 -5
  982. package/src/RcRef.ts +1 -1
  983. package/src/Record.ts +94 -199
  984. package/src/Reducer.ts +166 -7
  985. package/src/References.ts +283 -287
  986. package/src/Request.ts +3 -2
  987. package/src/RequestResolver.ts +29 -49
  988. package/src/Resource.ts +2 -1
  989. package/src/Result.ts +2 -4
  990. package/src/Runtime.ts +102 -6
  991. package/src/Schedule.ts +458 -449
  992. package/src/Scheduler.ts +49 -126
  993. package/src/Schema.ts +3298 -392
  994. package/src/SchemaAST.ts +172 -33
  995. package/src/SchemaGetter.ts +19 -21
  996. package/src/SchemaParser.ts +92 -27
  997. package/src/SchemaRepresentation.ts +51 -26
  998. package/src/SchemaTransformation.ts +198 -13
  999. package/src/ScopedCache.ts +3 -3
  1000. package/src/Semaphore.ts +444 -0
  1001. package/src/ServiceMap.ts +133 -71
  1002. package/src/Sink.ts +83 -28
  1003. package/src/Stdio.ts +27 -4
  1004. package/src/Stream.ts +687 -617
  1005. package/src/String.ts +122 -69
  1006. package/src/Struct.ts +33 -7
  1007. package/src/SubscriptionRef.ts +101 -120
  1008. package/src/SynchronizedRef.ts +3 -2
  1009. package/src/Terminal.ts +2 -1
  1010. package/src/Tracer.ts +6 -5
  1011. package/src/Trie.ts +44 -31
  1012. package/src/TxChunk.ts +72 -53
  1013. package/src/TxDeferred.ts +394 -0
  1014. package/src/TxHashMap.ts +409 -343
  1015. package/src/TxHashSet.ts +113 -118
  1016. package/src/TxPriorityQueue.ts +766 -0
  1017. package/src/TxPubSub.ts +789 -0
  1018. package/src/TxQueue.ts +241 -251
  1019. package/src/TxReentrantLock.ts +753 -0
  1020. package/src/TxRef.ts +50 -38
  1021. package/src/TxSemaphore.ts +217 -44
  1022. package/src/TxSubscriptionRef.ts +639 -0
  1023. package/src/Types.ts +73 -19
  1024. package/src/Utils.ts +137 -111
  1025. package/src/index.ts +814 -54
  1026. package/src/internal/core.ts +12 -5
  1027. package/src/internal/dateTime.ts +91 -96
  1028. package/src/internal/effect.ts +841 -432
  1029. package/src/internal/hashMap.ts +12 -10
  1030. package/src/internal/option.ts +7 -0
  1031. package/src/internal/random.ts +20 -0
  1032. package/src/internal/rcRef.ts +4 -3
  1033. package/src/internal/references.ts +72 -0
  1034. package/src/internal/request.ts +2 -2
  1035. package/src/internal/schema/annotations.ts +2 -0
  1036. package/src/internal/schema/representation.ts +45 -94
  1037. package/src/internal/schema/schema.ts +1 -0
  1038. package/src/internal/schema/to-codec.ts +7 -17
  1039. package/src/internal/trie.ts +21 -15
  1040. package/src/testing/TestClock.ts +13 -11
  1041. package/src/testing/TestSchema.ts +332 -35
  1042. package/src/testing/index.ts +64 -1
  1043. package/src/unstable/ai/AiError.ts +111 -54
  1044. package/src/unstable/ai/AnthropicStructuredOutput.ts +4 -0
  1045. package/src/unstable/ai/Chat.ts +62 -74
  1046. package/src/unstable/ai/EmbeddingModel.ts +209 -0
  1047. package/src/unstable/ai/LanguageModel.ts +544 -230
  1048. package/src/unstable/ai/McpSchema.ts +73 -13
  1049. package/src/unstable/ai/McpServer.ts +271 -61
  1050. package/src/unstable/ai/Model.ts +40 -9
  1051. package/src/unstable/ai/OpenAiStructuredOutput.ts +4 -0
  1052. package/src/unstable/ai/Prompt.ts +37 -37
  1053. package/src/unstable/ai/Response.ts +25 -25
  1054. package/src/unstable/ai/ResponseIdTracker.ts +97 -0
  1055. package/src/unstable/ai/Tool.ts +42 -16
  1056. package/src/unstable/ai/Toolkit.ts +5 -14
  1057. package/src/unstable/ai/index.ts +24 -1
  1058. package/src/unstable/ai/internal/codec-transformer.ts +0 -7
  1059. package/src/unstable/cli/Argument.ts +2 -4
  1060. package/src/unstable/cli/CliError.ts +47 -59
  1061. package/src/unstable/cli/CliOutput.ts +85 -13
  1062. package/src/unstable/cli/Command.ts +801 -192
  1063. package/src/unstable/cli/Completions.ts +36 -0
  1064. package/src/unstable/cli/Flag.ts +2 -2
  1065. package/src/unstable/cli/GlobalFlag.ts +242 -0
  1066. package/src/unstable/cli/HelpDoc.ts +91 -11
  1067. package/src/unstable/cli/Param.ts +15 -11
  1068. package/src/unstable/cli/Primitive.ts +2 -2
  1069. package/src/unstable/cli/Prompt.ts +262 -100
  1070. package/src/unstable/cli/index.ts +10 -0
  1071. package/src/unstable/cli/internal/command.ts +109 -63
  1072. package/src/unstable/cli/internal/completions/CommandDescriptor.ts +10 -4
  1073. package/src/unstable/cli/internal/config.ts +49 -0
  1074. package/src/unstable/cli/internal/help.ts +171 -0
  1075. package/src/unstable/cli/internal/parser.ts +71 -63
  1076. package/src/unstable/cluster/ClusterCron.ts +2 -2
  1077. package/src/unstable/cluster/ClusterWorkflowEngine.ts +40 -34
  1078. package/src/unstable/cluster/DeliverAt.ts +1 -1
  1079. package/src/unstable/cluster/Entity.ts +24 -22
  1080. package/src/unstable/cluster/EntityAddress.ts +1 -1
  1081. package/src/unstable/cluster/EntityResource.ts +4 -4
  1082. package/src/unstable/cluster/Envelope.ts +1 -1
  1083. package/src/unstable/cluster/K8sHttpClient.ts +5 -5
  1084. package/src/unstable/cluster/Message.ts +6 -5
  1085. package/src/unstable/cluster/MessageStorage.ts +29 -30
  1086. package/src/unstable/cluster/Reply.ts +7 -4
  1087. package/src/unstable/cluster/Runner.ts +1 -1
  1088. package/src/unstable/cluster/RunnerAddress.ts +1 -1
  1089. package/src/unstable/cluster/RunnerServer.ts +10 -13
  1090. package/src/unstable/cluster/Runners.ts +14 -12
  1091. package/src/unstable/cluster/ShardId.ts +2 -2
  1092. package/src/unstable/cluster/Sharding.ts +36 -27
  1093. package/src/unstable/cluster/ShardingConfig.ts +36 -37
  1094. package/src/unstable/cluster/SqlMessageStorage.ts +21 -18
  1095. package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
  1096. package/src/unstable/cluster/internal/entityManager.ts +36 -29
  1097. package/src/unstable/cluster/internal/entityReaper.ts +2 -1
  1098. package/src/unstable/cluster/internal/resourceRef.ts +2 -1
  1099. package/src/unstable/devtools/DevToolsClient.ts +23 -18
  1100. package/src/unstable/devtools/DevToolsSchema.ts +16 -3
  1101. package/src/unstable/encoding/Ndjson.ts +17 -17
  1102. package/src/unstable/encoding/Sse.ts +3 -5
  1103. package/src/unstable/eventlog/EventJournal.ts +2 -2
  1104. package/src/unstable/eventlog/EventLog.ts +3 -2
  1105. package/src/unstable/eventlog/SqlEventLogJournal.ts +2 -2
  1106. package/src/unstable/http/Cookies.ts +94 -11
  1107. package/src/unstable/http/Etag.ts +5 -3
  1108. package/src/unstable/http/Headers.ts +68 -18
  1109. package/src/unstable/http/HttpClient.ts +376 -34
  1110. package/src/unstable/http/HttpClientRequest.ts +151 -39
  1111. package/src/unstable/http/HttpClientResponse.ts +12 -6
  1112. package/src/unstable/http/HttpEffect.ts +54 -68
  1113. package/src/unstable/http/HttpIncomingMessage.ts +3 -2
  1114. package/src/unstable/http/HttpMethod.ts +16 -4
  1115. package/src/unstable/http/HttpMiddleware.ts +25 -39
  1116. package/src/unstable/http/HttpPlatform.ts +3 -2
  1117. package/src/unstable/http/HttpRouter.ts +9 -9
  1118. package/src/unstable/http/HttpServer.ts +3 -9
  1119. package/src/unstable/http/HttpServerError.ts +45 -47
  1120. package/src/unstable/http/HttpServerRequest.ts +407 -16
  1121. package/src/unstable/http/HttpServerRespondable.ts +6 -6
  1122. package/src/unstable/http/HttpServerResponse.ts +345 -7
  1123. package/src/unstable/http/HttpStaticServer.ts +456 -0
  1124. package/src/unstable/http/HttpTraceContext.ts +31 -17
  1125. package/src/unstable/http/Multipart.ts +2 -2
  1126. package/src/unstable/http/Url.ts +650 -0
  1127. package/src/unstable/http/UrlParams.ts +31 -19
  1128. package/src/unstable/http/index.ts +10 -0
  1129. package/src/unstable/http/internal/preResponseHandler.ts +15 -0
  1130. package/src/unstable/httpapi/HttpApi.ts +6 -6
  1131. package/src/unstable/httpapi/HttpApiBuilder.ts +106 -41
  1132. package/src/unstable/httpapi/HttpApiClient.ts +180 -28
  1133. package/src/unstable/httpapi/HttpApiEndpoint.ts +216 -104
  1134. package/src/unstable/httpapi/HttpApiError.ts +108 -30
  1135. package/src/unstable/httpapi/HttpApiGroup.ts +7 -6
  1136. package/src/unstable/httpapi/HttpApiMiddleware.ts +83 -22
  1137. package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
  1138. package/src/unstable/httpapi/HttpApiSchema.ts +20 -2
  1139. package/src/unstable/httpapi/HttpApiSecurity.ts +3 -3
  1140. package/src/unstable/httpapi/OpenApi.ts +43 -29
  1141. package/src/unstable/observability/Otlp.ts +12 -12
  1142. package/src/unstable/observability/OtlpExporter.ts +8 -5
  1143. package/src/unstable/observability/OtlpLogger.ts +13 -9
  1144. package/src/unstable/observability/OtlpMetrics.ts +4 -4
  1145. package/src/unstable/observability/OtlpTracer.ts +12 -8
  1146. package/src/unstable/persistence/KeyValueStore.ts +6 -6
  1147. package/src/unstable/persistence/Persistable.ts +3 -3
  1148. package/src/unstable/persistence/PersistedCache.ts +20 -9
  1149. package/src/unstable/persistence/PersistedQueue.ts +25 -24
  1150. package/src/unstable/persistence/Persistence.ts +3 -3
  1151. package/src/unstable/persistence/RateLimiter.ts +4 -4
  1152. package/src/unstable/process/ChildProcess.ts +6 -208
  1153. package/src/unstable/process/ChildProcessSpawner.ts +75 -14
  1154. package/src/unstable/reactivity/Atom.ts +212 -54
  1155. package/src/unstable/reactivity/AtomHttpApi.ts +81 -41
  1156. package/src/unstable/reactivity/AtomRegistry.ts +66 -12
  1157. package/src/unstable/reactivity/AtomRpc.ts +51 -20
  1158. package/src/unstable/reactivity/Hydration.ts +112 -0
  1159. package/src/unstable/reactivity/index.ts +5 -0
  1160. package/src/unstable/rpc/Rpc.ts +11 -12
  1161. package/src/unstable/rpc/RpcClient.ts +22 -63
  1162. package/src/unstable/rpc/RpcGroup.ts +7 -7
  1163. package/src/unstable/rpc/RpcMiddleware.ts +15 -9
  1164. package/src/unstable/rpc/RpcSchema.ts +23 -5
  1165. package/src/unstable/rpc/RpcSerialization.ts +49 -11
  1166. package/src/unstable/rpc/RpcServer.ts +31 -35
  1167. package/src/unstable/rpc/Utils.ts +3 -2
  1168. package/src/unstable/schema/Model.ts +31 -0
  1169. package/src/unstable/schema/VariantSchema.ts +10 -10
  1170. package/src/unstable/socket/Socket.ts +31 -27
  1171. package/src/unstable/sql/Migrator.ts +7 -5
  1172. package/src/unstable/sql/SqlClient.ts +6 -4
  1173. package/src/unstable/sql/SqlError.ts +365 -11
  1174. package/src/unstable/sql/SqlModel.ts +5 -5
  1175. package/src/unstable/sql/SqlResolver.ts +17 -7
  1176. package/src/unstable/sql/SqlSchema.ts +42 -26
  1177. package/src/unstable/sql/Statement.ts +0 -1
  1178. package/src/unstable/workers/Worker.ts +2 -1
  1179. package/src/unstable/workflow/DurableClock.ts +8 -8
  1180. package/src/unstable/workflow/DurableDeferred.ts +8 -8
  1181. package/src/unstable/workflow/Workflow.ts +7 -3
  1182. package/src/unstable/workflow/WorkflowEngine.ts +211 -19
  1183. package/dist/NullOr.d.ts +0 -149
  1184. package/dist/NullOr.d.ts.map +0 -1
  1185. package/dist/NullOr.js +0 -152
  1186. package/dist/NullOr.js.map +0 -1
  1187. package/dist/encoding/Base64.d.ts +0 -67
  1188. package/dist/encoding/Base64.d.ts.map +0 -1
  1189. package/dist/encoding/Base64.js +0 -146
  1190. package/dist/encoding/Base64.js.map +0 -1
  1191. package/dist/encoding/Base64Url.d.ts +0 -60
  1192. package/dist/encoding/Base64Url.d.ts.map +0 -1
  1193. package/dist/encoding/Base64Url.js +0 -89
  1194. package/dist/encoding/Base64Url.js.map +0 -1
  1195. package/dist/encoding/EncodingError.d.ts +0 -31
  1196. package/dist/encoding/EncodingError.d.ts.map +0 -1
  1197. package/dist/encoding/EncodingError.js +0 -22
  1198. package/dist/encoding/EncodingError.js.map +0 -1
  1199. package/dist/encoding/Hex.d.ts +0 -61
  1200. package/dist/encoding/Hex.d.ts.map +0 -1
  1201. package/dist/encoding/Hex.js +0 -115
  1202. package/dist/encoding/Hex.js.map +0 -1
  1203. package/dist/encoding/index.d.ts +0 -26
  1204. package/dist/encoding/index.d.ts.map +0 -1
  1205. package/dist/encoding/index.js +0 -27
  1206. package/dist/encoding/index.js.map +0 -1
  1207. package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
  1208. package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
  1209. package/dist/unstable/cli/internal/builtInFlags.js +0 -44
  1210. package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
  1211. package/dist/unstable/cli/internal/completions/Completions.d.ts +0 -2
  1212. package/dist/unstable/cli/internal/completions/Completions.d.ts.map +0 -1
  1213. package/dist/unstable/cli/internal/completions/Completions.js +0 -23
  1214. package/dist/unstable/cli/internal/completions/Completions.js.map +0 -1
  1215. package/src/NullOr.ts +0 -204
  1216. package/src/encoding/Base64.ts +0 -366
  1217. package/src/encoding/Base64Url.ts +0 -104
  1218. package/src/encoding/EncodingError.ts +0 -35
  1219. package/src/encoding/Hex.ts +0 -390
  1220. package/src/encoding/index.ts +0 -31
  1221. package/src/unstable/cli/internal/builtInFlags.ts +0 -78
  1222. package/src/unstable/cli/internal/completions/Completions.ts +0 -31
package/src/Layer.ts CHANGED
@@ -19,6 +19,7 @@
19
19
  */
20
20
  import type { NonEmptyArray, NonEmptyReadonlyArray } from "./Array.ts"
21
21
  import type * as Cause from "./Cause.ts"
22
+ import type * as Channel from "./Channel.ts"
22
23
  import * as Deferred from "./Deferred.ts"
23
24
  import type { Effect } from "./Effect.ts"
24
25
  import type * as Exit from "./Exit.ts"
@@ -33,6 +34,7 @@ import { hasProperty } from "./Predicate.ts"
33
34
  import { CurrentStackFrame } from "./References.ts"
34
35
  import * as Scope from "./Scope.ts"
35
36
  import * as ServiceMap from "./ServiceMap.ts"
37
+ import type * as Stream from "./Stream.ts"
36
38
  import * as Tracer from "./Tracer.ts"
37
39
  import type * as Types from "./Types.ts"
38
40
 
@@ -129,7 +131,7 @@ const MemoMapTypeId = "~effect/Layer/MemoMap"
129
131
  * const scope = yield* Effect.scope
130
132
  *
131
133
  * const dbLayer = Layer.succeed(Database)({
132
- * query: (sql: string) => Effect.succeed("result")
134
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
133
135
  * })
134
136
  * const services = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
135
137
  *
@@ -161,7 +163,7 @@ export interface MemoMap {
161
163
  * }>()("Database") {}
162
164
  *
163
165
  * const dbLayer = Layer.succeed(Database)({
164
- * query: (sql: string) => Effect.succeed("result")
166
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
165
167
  * })
166
168
  * const notALayer = { someProperty: "value" }
167
169
  *
@@ -340,7 +342,7 @@ class MemoMapImpl implements MemoMap {
340
342
  * const scope = yield* Effect.scope
341
343
  *
342
344
  * const dbLayer = Layer.succeed(Database)({
343
- * query: (sql: string) => Effect.succeed("result")
345
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
344
346
  * })
345
347
  * const services = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
346
348
  *
@@ -370,7 +372,7 @@ export const makeMemoMapUnsafe = (): MemoMap => new MemoMapImpl()
370
372
  * const scope = yield* Effect.scope
371
373
  *
372
374
  * const dbLayer = Layer.succeed(Database)({
373
- * query: (sql: string) => Effect.succeed("result")
375
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
374
376
  * })
375
377
  * const services = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
376
378
  *
@@ -422,13 +424,13 @@ export class CurrentMemoMap extends ServiceMap.Service<CurrentMemoMap, MemoMap>(
422
424
  *
423
425
  * // Build database layer with memoization
424
426
  * const dbLayer = Layer.succeed(Database)({
425
- * query: (sql: string) => Effect.succeed("result")
427
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
426
428
  * })
427
429
  * const dbServices = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
428
430
  *
429
431
  * // Build logger layer with same memoization (reuses memo if same layer)
430
432
  * const loggerLayer = Layer.succeed(Logger)({
431
- * log: (msg: string) => Effect.sync(() => console.log(msg))
433
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
432
434
  * })
433
435
  * const loggerServices = yield* Layer.buildWithMemoMap(
434
436
  * loggerLayer,
@@ -470,13 +472,13 @@ export const buildWithMemoMap: {
470
472
  *
471
473
  * // Build database layer with memoization
472
474
  * const dbLayer = Layer.succeed(Database)({
473
- * query: (sql: string) => Effect.succeed("result")
475
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
474
476
  * })
475
477
  * const dbServices = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
476
478
  *
477
479
  * // Build logger layer with same memoization (reuses memo if same layer)
478
480
  * const loggerLayer = Layer.succeed(Logger)({
479
- * log: (msg: string) => Effect.sync(() => console.log(msg))
481
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
480
482
  * })
481
483
  * const loggerServices = yield* Layer.buildWithMemoMap(
482
484
  * loggerLayer,
@@ -518,13 +520,13 @@ export const buildWithMemoMap: {
518
520
  *
519
521
  * // Build database layer with memoization
520
522
  * const dbLayer = Layer.succeed(Database)({
521
- * query: (sql: string) => Effect.succeed("result")
523
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
522
524
  * })
523
525
  * const dbServices = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
524
526
  *
525
527
  * // Build logger layer with same memoization (reuses memo if same layer)
526
528
  * const loggerLayer = Layer.succeed(Logger)({
527
- * log: (msg: string) => Effect.sync(() => console.log(msg))
529
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
528
530
  * })
529
531
  * const loggerServices = yield* Layer.buildWithMemoMap(
530
532
  * loggerLayer,
@@ -568,7 +570,7 @@ export const buildWithMemoMap: {
568
570
  * // Build a layer to get its services
569
571
  * const program = Effect.gen(function*() {
570
572
  * const dbLayer = Layer.succeed(Database)({
571
- * query: (sql: string) => Effect.succeed("result")
573
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
572
574
  * })
573
575
  *
574
576
  * // Build the layer into ServiceMap - automatically manages scope and memoization
@@ -620,7 +622,7 @@ export const build = <RIn, E, ROut>(
620
622
  * scope,
621
623
  * Effect.sync(() => console.log("Database closed"))
622
624
  * )
623
- * return { query: (sql: string) => Effect.succeed(`Result: ${sql}`) }
625
+ * return { query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result: ${sql}`)) }
624
626
  * }))
625
627
  *
626
628
  * // Build with specific scope - resources tied to this scope
@@ -661,7 +663,7 @@ export const buildWithScope: {
661
663
  * scope,
662
664
  * Effect.sync(() => console.log("Database closed"))
663
665
  * )
664
- * return { query: (sql: string) => Effect.succeed(`Result: ${sql}`) }
666
+ * return { query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result: ${sql}`)) }
665
667
  * }))
666
668
  *
667
669
  * // Build with specific scope - resources tied to this scope
@@ -702,7 +704,7 @@ export const buildWithScope: {
702
704
  * scope,
703
705
  * Effect.sync(() => console.log("Database closed"))
704
706
  * )
705
- * return { query: (sql: string) => Effect.succeed(`Result: ${sql}`) }
707
+ * return { query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result: ${sql}`)) }
706
708
  * }))
707
709
  *
708
710
  * // Build with specific scope - resources tied to this scope
@@ -747,11 +749,11 @@ export const buildWithScope: {
747
749
  *
748
750
  * // Create layers from concrete service implementations
749
751
  * const databaseLayer = Layer.succeed(Database)({
750
- * query: (sql: string) => Effect.succeed(`Query result: ${sql}`)
752
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Query result: ${sql}`))
751
753
  * })
752
754
  *
753
755
  * const loggerLayer = Layer.succeed(Logger)({
754
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
756
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
755
757
  * })
756
758
  *
757
759
  * // Use the layers in a program
@@ -790,11 +792,11 @@ export const succeed: {
790
792
  *
791
793
  * // Create layers from concrete service implementations
792
794
  * const databaseLayer = Layer.succeed(Database)({
793
- * query: (sql: string) => Effect.succeed(`Query result: ${sql}`)
795
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Query result: ${sql}`))
794
796
  * })
795
797
  *
796
798
  * const loggerLayer = Layer.succeed(Logger)({
797
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
799
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
798
800
  * })
799
801
  *
800
802
  * // Use the layers in a program
@@ -815,7 +817,7 @@ export const succeed: {
815
817
  * @since 2.0.0
816
818
  * @category constructors
817
819
  */
818
- <I, S>(service: ServiceMap.Service<I, S>): (resource: S) => Layer<I>
820
+ <I, S>(service: ServiceMap.Key<I, S>): (resource: S) => Layer<I>
819
821
  /**
820
822
  * Constructs a layer from the specified value.
821
823
  *
@@ -833,11 +835,11 @@ export const succeed: {
833
835
  *
834
836
  * // Create layers from concrete service implementations
835
837
  * const databaseLayer = Layer.succeed(Database)({
836
- * query: (sql: string) => Effect.succeed(`Query result: ${sql}`)
838
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Query result: ${sql}`))
837
839
  * })
838
840
  *
839
841
  * const loggerLayer = Layer.succeed(Logger)({
840
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
842
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
841
843
  * })
842
844
  *
843
845
  * // Use the layers in a program
@@ -858,7 +860,7 @@ export const succeed: {
858
860
  * @since 2.0.0
859
861
  * @category constructors
860
862
  */
861
- <I, S>(service: ServiceMap.Service<I, S>, resource: Types.NoInfer<S>): Layer<I>
863
+ <I, S>(service: ServiceMap.Key<I, S>, resource: Types.NoInfer<S>): Layer<I>
862
864
  } = function() {
863
865
  if (arguments.length === 1) {
864
866
  return (resource: any) => succeedServices(ServiceMap.make(arguments[0], resource))
@@ -886,7 +888,7 @@ export const succeed: {
886
888
  * }>()("Logger") {}
887
889
  *
888
890
  * const services = ServiceMap.make(Database, {
889
- * query: (sql: string) => Effect.succeed("result")
891
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
890
892
  * })
891
893
  * .pipe(
892
894
  * ServiceMap.add(Logger, {
@@ -966,7 +968,7 @@ export const sync: {
966
968
  * @since 2.0.0
967
969
  * @category constructors
968
970
  */
969
- <I, S>(service: ServiceMap.Service<I, S>): (evaluate: LazyArg<S>) => Layer<I>
971
+ <I, S>(service: ServiceMap.Key<I, S>): (evaluate: LazyArg<S>) => Layer<I>
970
972
  /**
971
973
  * Lazily constructs a layer from the specified value.
972
974
  *
@@ -989,7 +991,7 @@ export const sync: {
989
991
  * @since 2.0.0
990
992
  * @category constructors
991
993
  */
992
- <I, S>(service: ServiceMap.Service<I, S>, evaluate: LazyArg<S>): Layer<I>
994
+ <I, S>(service: ServiceMap.Key<I, S>, evaluate: LazyArg<S>): Layer<I>
993
995
  } = function() {
994
996
  if (arguments.length === 1) {
995
997
  return (evaluate: LazyArg<any>) => syncServices(() => ServiceMap.make(arguments[0], evaluate()))
@@ -1088,7 +1090,7 @@ export const effect: {
1088
1090
  * @since 2.0.0
1089
1091
  * @category constructors
1090
1092
  */
1091
- <I, S>(service: ServiceMap.Service<I, S>): <E, R>(
1093
+ <I, S>(service: ServiceMap.Key<I, S>): <E, R>(
1092
1094
  effect: Effect<S, E, R>
1093
1095
  ) => Layer<I, E, Exclude<R, Scope.Scope>>
1094
1096
  /**
@@ -1122,7 +1124,7 @@ export const effect: {
1122
1124
  * @since 2.0.0
1123
1125
  * @category constructors
1124
1126
  */
1125
- <I, S, E, R>(service: ServiceMap.Service<I, S>, effect: Effect<S, E, R>): Layer<I, E, Exclude<R, Scope.Scope>>
1127
+ <I, S, E, R>(service: ServiceMap.Key<I, S>, effect: Effect<S, E, R>): Layer<I, E, Exclude<R, Scope.Scope>>
1126
1128
  } = function() {
1127
1129
  if (arguments.length === 1) {
1128
1130
  return (effect: any) => effectImpl(arguments[0], effect)
@@ -1131,7 +1133,7 @@ export const effect: {
1131
1133
  } as any
1132
1134
 
1133
1135
  const effectImpl = <I, S, E, R>(
1134
- service: ServiceMap.Service<I, S>,
1136
+ service: ServiceMap.Key<I, S>,
1135
1137
  effect: Effect<S, E, R>
1136
1138
  ): Layer<I, E, Exclude<R, Scope.Scope>> =>
1137
1139
  effectServices(internalEffect.map(effect, (value) => ServiceMap.make(service, value)))
@@ -1211,7 +1213,7 @@ export const effectDiscard = <X, E, R>(effect: Effect<X, E, R>): Layer<never, E,
1211
1213
  * }>()("Database") {}
1212
1214
  *
1213
1215
  * const layerEffect = Effect.succeed(
1214
- * Layer.succeed(Database)({ query: (sql: string) => Effect.succeed("result") })
1216
+ * Layer.succeed(Database)({ query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result")) })
1215
1217
  * )
1216
1218
  *
1217
1219
  * const unwrappedLayer = Layer.unwrap(layerEffect)
@@ -1263,10 +1265,10 @@ const mergeAllEffect = <Layers extends [Layer<never, any, any>, ...Array<Layer<n
1263
1265
  * }>()("Logger") {}
1264
1266
  *
1265
1267
  * const dbLayer = Layer.succeed(Database)({
1266
- * query: (sql: string) => Effect.succeed("result")
1268
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
1267
1269
  * })
1268
1270
  * const loggerLayer = Layer.succeed(Logger)({
1269
- * log: (msg: string) => Effect.sync(() => console.log(msg))
1271
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
1270
1272
  * })
1271
1273
  *
1272
1274
  * const mergedLayer = Layer.mergeAll(dbLayer, loggerLayer)
@@ -1302,10 +1304,10 @@ export const mergeAll = <Layers extends [Layer<never, any, any>, ...Array<Layer<
1302
1304
  * }>()("Logger") {}
1303
1305
  *
1304
1306
  * const dbLayer = Layer.succeed(Database)({
1305
- * query: (sql: string) => Effect.succeed("result")
1307
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
1306
1308
  * })
1307
1309
  * const loggerLayer = Layer.succeed(Logger)({
1308
- * log: (msg: string) => Effect.sync(() => console.log(msg))
1310
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
1309
1311
  * })
1310
1312
  *
1311
1313
  * const mergedLayer = Layer.merge(dbLayer, loggerLayer)
@@ -1334,10 +1336,10 @@ export const merge: {
1334
1336
  * }>()("Logger") {}
1335
1337
  *
1336
1338
  * const dbLayer = Layer.succeed(Database)({
1337
- * query: (sql: string) => Effect.succeed("result")
1339
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
1338
1340
  * })
1339
1341
  * const loggerLayer = Layer.succeed(Logger)({
1340
- * log: (msg: string) => Effect.sync(() => console.log(msg))
1342
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
1341
1343
  * })
1342
1344
  *
1343
1345
  * const mergedLayer = Layer.merge(dbLayer, loggerLayer)
@@ -1366,10 +1368,10 @@ export const merge: {
1366
1368
  * }>()("Logger") {}
1367
1369
  *
1368
1370
  * const dbLayer = Layer.succeed(Database)({
1369
- * query: (sql: string) => Effect.succeed("result")
1371
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
1370
1372
  * })
1371
1373
  * const loggerLayer = Layer.succeed(Logger)({
1372
- * log: (msg: string) => Effect.sync(() => console.log(msg))
1374
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
1373
1375
  * })
1374
1376
  *
1375
1377
  * const mergedLayer = Layer.merge(dbLayer, loggerLayer)
@@ -1405,10 +1407,10 @@ export const merge: {
1405
1407
  * }>()("Logger") {}
1406
1408
  *
1407
1409
  * const dbLayer = Layer.succeed(Database)({
1408
- * query: (sql: string) => Effect.succeed("result")
1410
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
1409
1411
  * })
1410
1412
  * const loggerLayer = Layer.succeed(Logger)({
1411
- * log: (msg: string) => Effect.sync(() => console.log(msg))
1413
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
1412
1414
  * })
1413
1415
  *
1414
1416
  * const mergedLayer = Layer.merge(dbLayer, loggerLayer)
@@ -1437,10 +1439,10 @@ export const merge: {
1437
1439
  * }>()("Logger") {}
1438
1440
  *
1439
1441
  * const dbLayer = Layer.succeed(Database)({
1440
- * query: (sql: string) => Effect.succeed("result")
1442
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
1441
1443
  * })
1442
1444
  * const loggerLayer = Layer.succeed(Logger)({
1443
- * log: (msg: string) => Effect.sync(() => console.log(msg))
1445
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
1444
1446
  * })
1445
1447
  *
1446
1448
  * const mergedLayer = Layer.merge(dbLayer, loggerLayer)
@@ -1507,11 +1509,11 @@ const provideWith = (
1507
1509
  *
1508
1510
  * // Create dependency layers
1509
1511
  * const databaseLayer = Layer.succeed(Database)({
1510
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
1512
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
1511
1513
  * })
1512
1514
  *
1513
1515
  * const loggerLayer = Layer.succeed(Logger)({
1514
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
1516
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
1515
1517
  * })
1516
1518
  *
1517
1519
  * // UserService depends on Database and Logger
@@ -1520,8 +1522,7 @@ const provideWith = (
1520
1522
  * const logger = yield* Logger
1521
1523
  *
1522
1524
  * return {
1523
- * getUser: (id: string) =>
1524
- * Effect.gen(function*() {
1525
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
1525
1526
  * yield* logger.log(`Looking up user ${id}`)
1526
1527
  * const result = yield* database.query(
1527
1528
  * `SELECT * FROM users WHERE id = ${id}`
@@ -1575,11 +1576,11 @@ export const provide: {
1575
1576
  *
1576
1577
  * // Create dependency layers
1577
1578
  * const databaseLayer = Layer.succeed(Database)({
1578
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
1579
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
1579
1580
  * })
1580
1581
  *
1581
1582
  * const loggerLayer = Layer.succeed(Logger)({
1582
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
1583
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
1583
1584
  * })
1584
1585
  *
1585
1586
  * // UserService depends on Database and Logger
@@ -1588,8 +1589,7 @@ export const provide: {
1588
1589
  * const logger = yield* Logger
1589
1590
  *
1590
1591
  * return {
1591
- * getUser: (id: string) =>
1592
- * Effect.gen(function*() {
1592
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
1593
1593
  * yield* logger.log(`Looking up user ${id}`)
1594
1594
  * const result = yield* database.query(
1595
1595
  * `SELECT * FROM users WHERE id = ${id}`
@@ -1643,11 +1643,11 @@ export const provide: {
1643
1643
  *
1644
1644
  * // Create dependency layers
1645
1645
  * const databaseLayer = Layer.succeed(Database)({
1646
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
1646
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
1647
1647
  * })
1648
1648
  *
1649
1649
  * const loggerLayer = Layer.succeed(Logger)({
1650
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
1650
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
1651
1651
  * })
1652
1652
  *
1653
1653
  * // UserService depends on Database and Logger
@@ -1656,8 +1656,7 @@ export const provide: {
1656
1656
  * const logger = yield* Logger
1657
1657
  *
1658
1658
  * return {
1659
- * getUser: (id: string) =>
1660
- * Effect.gen(function*() {
1659
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
1661
1660
  * yield* logger.log(`Looking up user ${id}`)
1662
1661
  * const result = yield* database.query(
1663
1662
  * `SELECT * FROM users WHERE id = ${id}`
@@ -1718,11 +1717,11 @@ export const provide: {
1718
1717
  *
1719
1718
  * // Create dependency layers
1720
1719
  * const databaseLayer = Layer.succeed(Database)({
1721
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
1720
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
1722
1721
  * })
1723
1722
  *
1724
1723
  * const loggerLayer = Layer.succeed(Logger)({
1725
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
1724
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
1726
1725
  * })
1727
1726
  *
1728
1727
  * // UserService depends on Database and Logger
@@ -1731,8 +1730,7 @@ export const provide: {
1731
1730
  * const logger = yield* Logger
1732
1731
  *
1733
1732
  * return {
1734
- * getUser: (id: string) =>
1735
- * Effect.gen(function*() {
1733
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
1736
1734
  * yield* logger.log(`Looking up user ${id}`)
1737
1735
  * const result = yield* database.query(
1738
1736
  * `SELECT * FROM users WHERE id = ${id}`
@@ -1786,11 +1784,11 @@ export const provide: {
1786
1784
  *
1787
1785
  * // Create dependency layers
1788
1786
  * const databaseLayer = Layer.succeed(Database)({
1789
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
1787
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
1790
1788
  * })
1791
1789
  *
1792
1790
  * const loggerLayer = Layer.succeed(Logger)({
1793
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
1791
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
1794
1792
  * })
1795
1793
  *
1796
1794
  * // UserService depends on Database and Logger
@@ -1799,8 +1797,7 @@ export const provide: {
1799
1797
  * const logger = yield* Logger
1800
1798
  *
1801
1799
  * return {
1802
- * getUser: (id: string) =>
1803
- * Effect.gen(function*() {
1800
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
1804
1801
  * yield* logger.log(`Looking up user ${id}`)
1805
1802
  * const result = yield* database.query(
1806
1803
  * `SELECT * FROM users WHERE id = ${id}`
@@ -1864,11 +1861,11 @@ export const provide: {
1864
1861
  *
1865
1862
  * // Create dependency layers
1866
1863
  * const databaseLayer = Layer.succeed(Database)({
1867
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
1864
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
1868
1865
  * })
1869
1866
  *
1870
1867
  * const loggerLayer = Layer.succeed(Logger)({
1871
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
1868
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
1872
1869
  * })
1873
1870
  *
1874
1871
  * // UserService depends on Database and Logger
@@ -1877,8 +1874,7 @@ export const provide: {
1877
1874
  * const logger = yield* Logger
1878
1875
  *
1879
1876
  * return {
1880
- * getUser: (id: string) =>
1881
- * Effect.gen(function*() {
1877
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
1882
1878
  * yield* logger.log(`Looking up user ${id}`)
1883
1879
  * const result = yield* database.query(
1884
1880
  * `SELECT * FROM users WHERE id = ${id}`
@@ -1938,11 +1934,11 @@ export const provideMerge: {
1938
1934
  *
1939
1935
  * // Create dependency layers
1940
1936
  * const databaseLayer = Layer.succeed(Database)({
1941
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
1937
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
1942
1938
  * })
1943
1939
  *
1944
1940
  * const loggerLayer = Layer.succeed(Logger)({
1945
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
1941
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
1946
1942
  * })
1947
1943
  *
1948
1944
  * // UserService depends on Database and Logger
@@ -1951,8 +1947,7 @@ export const provideMerge: {
1951
1947
  * const logger = yield* Logger
1952
1948
  *
1953
1949
  * return {
1954
- * getUser: (id: string) =>
1955
- * Effect.gen(function*() {
1950
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
1956
1951
  * yield* logger.log(`Looking up user ${id}`)
1957
1952
  * const result = yield* database.query(
1958
1953
  * `SELECT * FROM users WHERE id = ${id}`
@@ -2012,11 +2007,11 @@ export const provideMerge: {
2012
2007
  *
2013
2008
  * // Create dependency layers
2014
2009
  * const databaseLayer = Layer.succeed(Database)({
2015
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
2010
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
2016
2011
  * })
2017
2012
  *
2018
2013
  * const loggerLayer = Layer.succeed(Logger)({
2019
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
2014
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
2020
2015
  * })
2021
2016
  *
2022
2017
  * // UserService depends on Database and Logger
@@ -2025,8 +2020,7 @@ export const provideMerge: {
2025
2020
  * const logger = yield* Logger
2026
2021
  *
2027
2022
  * return {
2028
- * getUser: (id: string) =>
2029
- * Effect.gen(function*() {
2023
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
2030
2024
  * yield* logger.log(`Looking up user ${id}`)
2031
2025
  * const result = yield* database.query(
2032
2026
  * `SELECT * FROM users WHERE id = ${id}`
@@ -2093,11 +2087,11 @@ export const provideMerge: {
2093
2087
  *
2094
2088
  * // Create dependency layers
2095
2089
  * const databaseLayer = Layer.succeed(Database)({
2096
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
2090
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
2097
2091
  * })
2098
2092
  *
2099
2093
  * const loggerLayer = Layer.succeed(Logger)({
2100
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
2094
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
2101
2095
  * })
2102
2096
  *
2103
2097
  * // UserService depends on Database and Logger
@@ -2106,8 +2100,7 @@ export const provideMerge: {
2106
2100
  * const logger = yield* Logger
2107
2101
  *
2108
2102
  * return {
2109
- * getUser: (id: string) =>
2110
- * Effect.gen(function*() {
2103
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
2111
2104
  * yield* logger.log(`Looking up user ${id}`)
2112
2105
  * const result = yield* database.query(
2113
2106
  * `SELECT * FROM users WHERE id = ${id}`
@@ -2167,11 +2160,11 @@ export const provideMerge: {
2167
2160
  *
2168
2161
  * // Create dependency layers
2169
2162
  * const databaseLayer = Layer.succeed(Database)({
2170
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
2163
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
2171
2164
  * })
2172
2165
  *
2173
2166
  * const loggerLayer = Layer.succeed(Logger)({
2174
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
2167
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
2175
2168
  * })
2176
2169
  *
2177
2170
  * // UserService depends on Database and Logger
@@ -2180,8 +2173,7 @@ export const provideMerge: {
2180
2173
  * const logger = yield* Logger
2181
2174
  *
2182
2175
  * return {
2183
- * getUser: (id: string) =>
2184
- * Effect.gen(function*() {
2176
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
2185
2177
  * yield* logger.log(`Looking up user ${id}`)
2186
2178
  * const result = yield* database.query(
2187
2179
  * `SELECT * FROM users WHERE id = ${id}`
@@ -2263,18 +2255,19 @@ export const provideMerge: {
2263
2255
  *
2264
2256
  * // Create database layer based on config
2265
2257
  * const dbLayer = Layer.succeed(Database)({
2266
- * query: (sql: string) =>
2258
+ * query: Effect.fn("Database.query")((sql: string) =>
2267
2259
  * Effect.succeed(
2268
2260
  * `Querying ${config.dbUrl}: ${sql}`
2269
- * )
2261
+ * ))
2270
2262
  * })
2271
2263
  *
2272
2264
  * // Create logger layer based on config
2273
2265
  * const loggerLayer = Layer.succeed(Logger)({
2274
- * log: (msg: string) =>
2266
+ * log: Effect.fn("Logger.log")((msg: string) =>
2275
2267
  * config.logLevel === "debug"
2276
2268
  * ? Effect.sync(() => console.log(`[DEBUG] ${msg}`))
2277
2269
  * : Effect.sync(() => console.log(msg))
2270
+ * )
2278
2271
  * })
2279
2272
  *
2280
2273
  * // Return combined layer
@@ -2333,18 +2326,19 @@ export const flatMap: {
2333
2326
  *
2334
2327
  * // Create database layer based on config
2335
2328
  * const dbLayer = Layer.succeed(Database)({
2336
- * query: (sql: string) =>
2329
+ * query: Effect.fn("Database.query")((sql: string) =>
2337
2330
  * Effect.succeed(
2338
2331
  * `Querying ${config.dbUrl}: ${sql}`
2339
- * )
2332
+ * ))
2340
2333
  * })
2341
2334
  *
2342
2335
  * // Create logger layer based on config
2343
2336
  * const loggerLayer = Layer.succeed(Logger)({
2344
- * log: (msg: string) =>
2337
+ * log: Effect.fn("Logger.log")((msg: string) =>
2345
2338
  * config.logLevel === "debug"
2346
2339
  * ? Effect.sync(() => console.log(`[DEBUG] ${msg}`))
2347
2340
  * : Effect.sync(() => console.log(msg))
2341
+ * )
2348
2342
  * })
2349
2343
  *
2350
2344
  * // Return combined layer
@@ -2403,18 +2397,19 @@ export const flatMap: {
2403
2397
  *
2404
2398
  * // Create database layer based on config
2405
2399
  * const dbLayer = Layer.succeed(Database)({
2406
- * query: (sql: string) =>
2400
+ * query: Effect.fn("Database.query")((sql: string) =>
2407
2401
  * Effect.succeed(
2408
2402
  * `Querying ${config.dbUrl}: ${sql}`
2409
- * )
2403
+ * ))
2410
2404
  * })
2411
2405
  *
2412
2406
  * // Create logger layer based on config
2413
2407
  * const loggerLayer = Layer.succeed(Logger)({
2414
- * log: (msg: string) =>
2408
+ * log: Effect.fn("Logger.log")((msg: string) =>
2415
2409
  * config.logLevel === "debug"
2416
2410
  * ? Effect.sync(() => console.log(`[DEBUG] ${msg}`))
2417
2411
  * : Effect.sync(() => console.log(msg))
2412
+ * )
2418
2413
  * })
2419
2414
  *
2420
2415
  * // Return combined layer
@@ -2454,6 +2449,127 @@ export const flatMap: {
2454
2449
  )
2455
2450
  ))
2456
2451
 
2452
+ /**
2453
+ * Performs the specified effect if this layer succeeds.
2454
+ *
2455
+ * @since 4.0.0
2456
+ * @category sequencing
2457
+ */
2458
+ export const tap: {
2459
+ /**
2460
+ * Performs the specified effect if this layer succeeds.
2461
+ *
2462
+ * @since 4.0.0
2463
+ * @category sequencing
2464
+ */
2465
+ <ROut, XR extends ROut, RIn2, E2, X>(f: (context: ServiceMap.ServiceMap<XR>) => Effect<X, E2, RIn2>): <RIn, E>(self: Layer<ROut, E, RIn>) => Layer<ROut, E | E2, RIn | Exclude<RIn2, Scope.Scope>>
2466
+ /**
2467
+ * Performs the specified effect if this layer succeeds.
2468
+ *
2469
+ * @since 4.0.0
2470
+ * @category sequencing
2471
+ */
2472
+ <RIn, E, ROut, XR extends ROut, RIn2, E2, X>(
2473
+ self: Layer<ROut, E, RIn>,
2474
+ f: (context: ServiceMap.ServiceMap<XR>) => Effect<X, E2, RIn2>
2475
+ ): Layer<ROut, E | E2, RIn | Exclude<RIn2, Scope.Scope>>
2476
+ } = dual(2, <RIn, E, ROut, XR extends ROut, RIn2, E2, X>(
2477
+ self: Layer<ROut, E, RIn>,
2478
+ f: (context: ServiceMap.ServiceMap<XR>) => Effect<X, E2, RIn2>
2479
+ ): Layer<ROut, E | E2, RIn | Exclude<RIn2, Scope.Scope>> =>
2480
+ fromBuild((memoMap, scope) =>
2481
+ internalEffect.flatMap(
2482
+ self.build(memoMap, scope),
2483
+ (context) => Scope.provide(internalEffect.as(f(context as ServiceMap.ServiceMap<XR>), context), scope)
2484
+ )
2485
+ ))
2486
+
2487
+ /**
2488
+ * Performs the specified effect if this layer fails.
2489
+ *
2490
+ * @since 4.0.0
2491
+ * @category sequencing
2492
+ */
2493
+ export const tapError: {
2494
+ /**
2495
+ * Performs the specified effect if this layer fails.
2496
+ *
2497
+ * @since 4.0.0
2498
+ * @category sequencing
2499
+ */
2500
+ <E, XE extends E, RIn2, E2, X>(f: (e: XE) => Effect<X, E2, RIn2>): <RIn, ROut>(self: Layer<ROut, E, RIn>) => Layer<ROut, E | E2, RIn | Exclude<RIn2, Scope.Scope>>
2501
+ /**
2502
+ * Performs the specified effect if this layer fails.
2503
+ *
2504
+ * @since 4.0.0
2505
+ * @category sequencing
2506
+ */
2507
+ <RIn, E, XE extends E, ROut, RIn2, E2, X>(self: Layer<ROut, E, RIn>, f: (e: XE) => Effect<X, E2, RIn2>): Layer<ROut, E | E2, RIn | Exclude<RIn2, Scope.Scope>>
2508
+ } = dual(2, <RIn, E, XE extends E, ROut, RIn2, E2, X>(
2509
+ self: Layer<ROut, E, RIn>,
2510
+ f: (e: XE) => Effect<X, E2, RIn2>
2511
+ ): Layer<ROut, E | E2, RIn | Exclude<RIn2, Scope.Scope>> =>
2512
+ fromBuild((memoMap, scope) =>
2513
+ internalEffect.catch_(
2514
+ self.build(memoMap, scope),
2515
+ (error) => Scope.provide(internalEffect.andThen(f(error as XE), internalEffect.fail(error)), scope)
2516
+ )
2517
+ ))
2518
+
2519
+ /**
2520
+ * Performs the specified effect if this layer fails.
2521
+ *
2522
+ * **Previously Known As**
2523
+ *
2524
+ * This API replaces the following from Effect 3.x:
2525
+ *
2526
+ * - `Layer.tapErrorCause`
2527
+ *
2528
+ * @since 4.0.0
2529
+ * @category sequencing
2530
+ */
2531
+ export const tapCause: {
2532
+ /**
2533
+ * Performs the specified effect if this layer fails.
2534
+ *
2535
+ * **Previously Known As**
2536
+ *
2537
+ * This API replaces the following from Effect 3.x:
2538
+ *
2539
+ * - `Layer.tapErrorCause`
2540
+ *
2541
+ * @since 4.0.0
2542
+ * @category sequencing
2543
+ */
2544
+ <E, XE extends E, RIn2, E2, X>(f: (cause: Cause.Cause<XE>) => Effect<X, E2, RIn2>): <RIn, ROut>(self: Layer<ROut, E, RIn>) => Layer<ROut, E | E2, RIn | Exclude<RIn2, Scope.Scope>>
2545
+ /**
2546
+ * Performs the specified effect if this layer fails.
2547
+ *
2548
+ * **Previously Known As**
2549
+ *
2550
+ * This API replaces the following from Effect 3.x:
2551
+ *
2552
+ * - `Layer.tapErrorCause`
2553
+ *
2554
+ * @since 4.0.0
2555
+ * @category sequencing
2556
+ */
2557
+ <RIn, E, XE extends E, ROut, RIn2, E2, X>(
2558
+ self: Layer<ROut, E, RIn>,
2559
+ f: (cause: Cause.Cause<XE>) => Effect<X, E2, RIn2>
2560
+ ): Layer<ROut, E | E2, RIn | Exclude<RIn2, Scope.Scope>>
2561
+ } = dual(2, <RIn, E, XE extends E, ROut, RIn2, E2, X>(
2562
+ self: Layer<ROut, E, RIn>,
2563
+ f: (cause: Cause.Cause<XE>) => Effect<X, E2, RIn2>
2564
+ ): Layer<ROut, E | E2, RIn | Exclude<RIn2, Scope.Scope>> =>
2565
+ fromBuild((memoMap, scope) =>
2566
+ internalEffect.catchCause(
2567
+ self.build(memoMap, scope),
2568
+ (cause) =>
2569
+ Scope.provide(internalEffect.andThen(f(cause as Cause.Cause<XE>), internalEffect.failCause(cause)), scope)
2570
+ )
2571
+ ))
2572
+
2457
2573
  /**
2458
2574
  * Translates effect failure into death of the fiber, making all failures
2459
2575
  * unchecked and not a part of the type of the layer.
@@ -2475,10 +2591,10 @@ export const flatMap: {
2475
2591
  * // Simulate a database connection that might fail
2476
2592
  * const shouldFail = Math.random() > 0.5
2477
2593
  * if (shouldFail) {
2478
- * yield* Effect.fail(new DatabaseError({ message: "Connection failed" }))
2594
+ * return yield* new DatabaseError({ message: "Connection failed" })
2479
2595
  * }
2480
2596
  *
2481
- * return { query: (sql: string) => Effect.succeed(`Result: ${sql}`) }
2597
+ * return { query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result: ${sql}`)) }
2482
2598
  * }))
2483
2599
  *
2484
2600
  * // Convert failures to fiber death - removes error from type
@@ -2682,8 +2798,8 @@ export const catchTag: {
2682
2798
  *
2683
2799
  * // Primary database layer that might fail
2684
2800
  * const primaryDatabaseLayer = Layer.effect(Database)(Effect.gen(function*() {
2685
- * yield* Effect.fail(new DatabaseError({ message: "Primary DB unreachable" }))
2686
- * return { query: (sql: string) => Effect.succeed(`Primary: ${sql}`) }
2801
+ * return yield* new DatabaseError({ message: "Primary DB unreachable" })
2802
+ * return { query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Primary: ${sql}`)) }
2687
2803
  * }))
2688
2804
  *
2689
2805
  * // Fallback layers for different error causes
@@ -2692,11 +2808,12 @@ export const catchTag: {
2692
2808
  * // For any cause/error, fallback to in-memory database
2693
2809
  * return Layer.mergeAll(
2694
2810
  * Layer.succeed(Database)({
2695
- * query: (sql: string) => Effect.succeed(`Memory: ${sql}`)
2811
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Memory: ${sql}`))
2696
2812
  * }),
2697
2813
  * Layer.succeed(Logger)({
2698
- * log: (msg: string) =>
2814
+ * log: Effect.fn("Logger.log")((msg: string) =>
2699
2815
  * Effect.sync(() => console.log(`[FALLBACK] ${msg}`))
2816
+ * )
2700
2817
  * })
2701
2818
  * )
2702
2819
  * })
@@ -2739,8 +2856,8 @@ export const catchCause: {
2739
2856
  *
2740
2857
  * // Primary database layer that might fail
2741
2858
  * const primaryDatabaseLayer = Layer.effect(Database)(Effect.gen(function*() {
2742
- * yield* Effect.fail(new DatabaseError({ message: "Primary DB unreachable" }))
2743
- * return { query: (sql: string) => Effect.succeed(`Primary: ${sql}`) }
2859
+ * return yield* new DatabaseError({ message: "Primary DB unreachable" })
2860
+ * return { query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Primary: ${sql}`)) }
2744
2861
  * }))
2745
2862
  *
2746
2863
  * // Fallback layers for different error causes
@@ -2749,11 +2866,12 @@ export const catchCause: {
2749
2866
  * // For any cause/error, fallback to in-memory database
2750
2867
  * return Layer.mergeAll(
2751
2868
  * Layer.succeed(Database)({
2752
- * query: (sql: string) => Effect.succeed(`Memory: ${sql}`)
2869
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Memory: ${sql}`))
2753
2870
  * }),
2754
2871
  * Layer.succeed(Logger)({
2755
- * log: (msg: string) =>
2872
+ * log: Effect.fn("Logger.log")((msg: string) =>
2756
2873
  * Effect.sync(() => console.log(`[FALLBACK] ${msg}`))
2874
+ * )
2757
2875
  * })
2758
2876
  * )
2759
2877
  * })
@@ -2796,8 +2914,8 @@ export const catchCause: {
2796
2914
  *
2797
2915
  * // Primary database layer that might fail
2798
2916
  * const primaryDatabaseLayer = Layer.effect(Database)(Effect.gen(function*() {
2799
- * yield* Effect.fail(new DatabaseError({ message: "Primary DB unreachable" }))
2800
- * return { query: (sql: string) => Effect.succeed(`Primary: ${sql}`) }
2917
+ * return yield* new DatabaseError({ message: "Primary DB unreachable" })
2918
+ * return { query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Primary: ${sql}`)) }
2801
2919
  * }))
2802
2920
  *
2803
2921
  * // Fallback layers for different error causes
@@ -2806,11 +2924,12 @@ export const catchCause: {
2806
2924
  * // For any cause/error, fallback to in-memory database
2807
2925
  * return Layer.mergeAll(
2808
2926
  * Layer.succeed(Database)({
2809
- * query: (sql: string) => Effect.succeed(`Memory: ${sql}`)
2927
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Memory: ${sql}`))
2810
2928
  * }),
2811
2929
  * Layer.succeed(Logger)({
2812
- * log: (msg: string) =>
2930
+ * log: Effect.fn("Logger.log")((msg: string) =>
2813
2931
  * Effect.sync(() => console.log(`[FALLBACK] ${msg}`))
2932
+ * )
2814
2933
  * })
2815
2934
  * )
2816
2935
  * })
@@ -2879,7 +2998,7 @@ export const updateService: {
2879
2998
  * @since 3.13.0
2880
2999
  * @category utils
2881
3000
  */
2882
- <I, A>(service: ServiceMap.Service<I, A>, f: (a: A) => A): <A1, E1, R1>(layer: Layer<A1, E1, R1>) => Layer<A1, E1, I | R1>
3001
+ <I, A>(service: ServiceMap.Key<I, A>, f: (a: A) => A): <A1, E1, R1>(layer: Layer<A1, E1, R1>) => Layer<A1, E1, I | R1>
2883
3002
  /**
2884
3003
  * Updates a service in the context with a new implementation.
2885
3004
  *
@@ -2898,16 +3017,12 @@ export const updateService: {
2898
3017
  * @since 3.13.0
2899
3018
  * @category utils
2900
3019
  */
2901
- <A1, E1, R1, I, A>(
2902
- layer: Layer<A1, E1, R1>,
2903
- service: ServiceMap.Service<I, A>,
2904
- f: (a: A) => A
2905
- ): Layer<A1, E1, I | R1>
3020
+ <A1, E1, R1, I, A>(layer: Layer<A1, E1, R1>, service: ServiceMap.Key<I, A>, f: (a: A) => A): Layer<A1, E1, I | R1>
2906
3021
  } = dual(
2907
3022
  3,
2908
3023
  <A1, E1, R1, I, A>(
2909
3024
  layer: Layer<A1, E1, R1>,
2910
- service: ServiceMap.Service<I, A>,
3025
+ service: ServiceMap.Key<I, A>,
2911
3026
  f: (a: A) => A
2912
3027
  ): Layer<A1, E1, I | R1> => provide(layer, effect(service)(internalEffect.map(service.asEffect(), f)))
2913
3028
  )
@@ -2929,10 +3044,11 @@ export const updateService: {
2929
3044
  * const ref = yield* Ref.make(0)
2930
3045
  * return {
2931
3046
  * count: 0,
2932
- * increment: () =>
3047
+ * increment: Effect.fn("Counter.increment")(() =>
2933
3048
  * Ref.update(ref, (n) => n + 1).pipe(
2934
3049
  * Effect.flatMap(() => Ref.get(ref))
2935
3050
  * )
3051
+ * )
2936
3052
  * }
2937
3053
  * }))
2938
3054
  *
@@ -2987,13 +3103,11 @@ export const fresh = <A, E, R>(self: Layer<A, E, R>): Layer<A, E, R> =>
2987
3103
  * yield* Console.log("Starting HTTP server...")
2988
3104
  *
2989
3105
  * return {
2990
- * start: () =>
2991
- * Effect.gen(function*() {
3106
+ * start: Effect.fn("HttpServer.start")(function*() {
2992
3107
  * yield* Console.log("Server listening on port 3000")
2993
3108
  * return "Server started"
2994
3109
  * }),
2995
- * stop: () =>
2996
- * Effect.gen(function*() {
3110
+ * stop: Effect.fn("HttpServer.stop")(function*() {
2997
3111
  * yield* Console.log("Server stopped gracefully")
2998
3112
  * return "Server stopped"
2999
3113
  * })
@@ -3001,7 +3115,7 @@ export const fresh = <A, E, R>(self: Layer<A, E, R>): Layer<A, E, R> =>
3001
3115
  * }))
3002
3116
  *
3003
3117
  * const loggerLayer = Layer.succeed(Logger)({
3004
- * log: (msg: string) => Console.log(`[LOG] ${msg}`)
3118
+ * log: Effect.fn("Logger.log")((msg: string) => Console.log(`[LOG] ${msg}`))
3005
3119
  * })
3006
3120
  *
3007
3121
  * // Application layer combining all services
@@ -3036,19 +3150,21 @@ export const launch = <RIn, E, ROut>(self: Layer<ROut, E, RIn>): Effect<never, E
3036
3150
  */
3037
3151
  export type PartialEffectful<A extends object> = Types.Simplify<
3038
3152
  & {
3039
- [
3040
- K in keyof A as A[K] extends Effect<any, any, any> | ((...args: any) => Effect<any, any, any>) ? K
3041
- : never
3042
- ]?: A[K]
3153
+ [K in keyof A as A[K] extends AnyEffectOrStream ? K : never]?: A[K]
3043
3154
  }
3044
3155
  & {
3045
- [
3046
- K in keyof A as A[K] extends Effect<any, any, any> | ((...args: any) => Effect<any, any, any>) ? never
3047
- : K
3048
- ]: A[K]
3156
+ [K in keyof A as A[K] extends AnyEffectOrStream ? never : K]: A[K]
3049
3157
  }
3050
3158
  >
3051
3159
 
3160
+ type AnyEffectOrStream =
3161
+ | Effect<any, any, any>
3162
+ | Stream.Stream<any, any, any>
3163
+ | Channel.Channel<any, any, any, any, any, any, any>
3164
+ | ((...args: any) => Effect<any, any, any>)
3165
+ | ((...args: any) => Stream.Stream<any, any, any>)
3166
+ | ((...args: any) => Channel.Channel<any, any, any, any, any, any, any>)
3167
+
3052
3168
  /**
3053
3169
  * Creates a mock layer for testing purposes. You can provide a partial
3054
3170
  * implementation of the service, and any methods not provided will
@@ -3071,7 +3187,7 @@ export type PartialEffectful<A extends object> = Types.Simplify<
3071
3187
  * }>()("UserService") {}
3072
3188
  *
3073
3189
  * // Create a partial mock - only implement what you need for testing
3074
- * const testUserLayer = Layer.mock(UserService)({
3190
+ * const testUserLayer = Layer.mock(UserService, {
3075
3191
  * config: { apiUrl: "https://test-api.com" }, // Required - non-Effect property
3076
3192
  * getUser: (id: string) => Effect.succeed({ id, name: "Test User" }) // Mock implementation
3077
3193
  * // deleteUser and updateUser are omitted - will throw UnimplementedError if called
@@ -3095,27 +3211,142 @@ export type PartialEffectful<A extends object> = Types.Simplify<
3095
3211
  * @since 4.0.0
3096
3212
  * @category Testing
3097
3213
  */
3098
- export const mock =
3099
- <I, S extends object>(service: ServiceMap.Service<I, S>) => (implementation: PartialEffectful<S>): Layer<I> =>
3100
- succeed(service)(
3101
- new Proxy({ ...implementation as object } as S, {
3102
- get(target, prop, _receiver) {
3103
- if (prop in target) {
3104
- return target[prop as keyof S]
3105
- }
3106
- const prevLimit = (Error as ErrorWithStackTraceLimit).stackTraceLimit
3107
- ;(Error as ErrorWithStackTraceLimit).stackTraceLimit = 2
3108
- const error = new Error(`${service.key}: Unimplemented method "${prop.toString()}"`)
3109
- ;(Error as ErrorWithStackTraceLimit).stackTraceLimit = prevLimit
3110
- error.name = "UnimplementedError"
3111
- return makeUnimplemented(error)
3112
- },
3113
- has: constTrue
3114
- })
3115
- )
3214
+ export const mock: {
3215
+ /**
3216
+ * Creates a mock layer for testing purposes. You can provide a partial
3217
+ * implementation of the service, and any methods not provided will
3218
+ * throw an unimplemented defect when called.
3219
+ *
3220
+ * @example
3221
+ * ```ts
3222
+ * import { Effect, Layer, ServiceMap } from "effect"
3223
+ *
3224
+ * class UserService extends ServiceMap.Service<UserService, {
3225
+ * readonly config: { apiUrl: string }
3226
+ * readonly getUser: (
3227
+ * id: string
3228
+ * ) => Effect.Effect<{ id: string; name: string }, Error>
3229
+ * readonly deleteUser: (id: string) => Effect.Effect<void, Error>
3230
+ * readonly updateUser: (
3231
+ * id: string,
3232
+ * data: object
3233
+ * ) => Effect.Effect<{ id: string; name: string }, Error>
3234
+ * }>()("UserService") {}
3235
+ *
3236
+ * // Create a partial mock - only implement what you need for testing
3237
+ * const testUserLayer = Layer.mock(UserService, {
3238
+ * config: { apiUrl: "https://test-api.com" }, // Required - non-Effect property
3239
+ * getUser: (id: string) => Effect.succeed({ id, name: "Test User" }) // Mock implementation
3240
+ * // deleteUser and updateUser are omitted - will throw UnimplementedError if called
3241
+ * })
3242
+ *
3243
+ * // Use in tests
3244
+ * const testProgram = Effect.gen(function*() {
3245
+ * const userService = yield* UserService
3246
+ *
3247
+ * // This works - we provided an implementation
3248
+ * const user = yield* userService.getUser("123")
3249
+ * console.log(user.name) // "Test User"
3250
+ *
3251
+ * // This would throw - we didn't implement deleteUser
3252
+ * // yield* userService.deleteUser("123") // UnimplementedError
3253
+ * }).pipe(
3254
+ * Effect.provide(testUserLayer)
3255
+ * )
3256
+ * ```
3257
+ *
3258
+ * @since 4.0.0
3259
+ * @category Testing
3260
+ */
3261
+ <I, S extends object>(service: ServiceMap.Key<I, S>): (implementation: PartialEffectful<S>) => Layer<I>
3262
+ /**
3263
+ * Creates a mock layer for testing purposes. You can provide a partial
3264
+ * implementation of the service, and any methods not provided will
3265
+ * throw an unimplemented defect when called.
3266
+ *
3267
+ * @example
3268
+ * ```ts
3269
+ * import { Effect, Layer, ServiceMap } from "effect"
3270
+ *
3271
+ * class UserService extends ServiceMap.Service<UserService, {
3272
+ * readonly config: { apiUrl: string }
3273
+ * readonly getUser: (
3274
+ * id: string
3275
+ * ) => Effect.Effect<{ id: string; name: string }, Error>
3276
+ * readonly deleteUser: (id: string) => Effect.Effect<void, Error>
3277
+ * readonly updateUser: (
3278
+ * id: string,
3279
+ * data: object
3280
+ * ) => Effect.Effect<{ id: string; name: string }, Error>
3281
+ * }>()("UserService") {}
3282
+ *
3283
+ * // Create a partial mock - only implement what you need for testing
3284
+ * const testUserLayer = Layer.mock(UserService, {
3285
+ * config: { apiUrl: "https://test-api.com" }, // Required - non-Effect property
3286
+ * getUser: (id: string) => Effect.succeed({ id, name: "Test User" }) // Mock implementation
3287
+ * // deleteUser and updateUser are omitted - will throw UnimplementedError if called
3288
+ * })
3289
+ *
3290
+ * // Use in tests
3291
+ * const testProgram = Effect.gen(function*() {
3292
+ * const userService = yield* UserService
3293
+ *
3294
+ * // This works - we provided an implementation
3295
+ * const user = yield* userService.getUser("123")
3296
+ * console.log(user.name) // "Test User"
3297
+ *
3298
+ * // This would throw - we didn't implement deleteUser
3299
+ * // yield* userService.deleteUser("123") // UnimplementedError
3300
+ * }).pipe(
3301
+ * Effect.provide(testUserLayer)
3302
+ * )
3303
+ * ```
3304
+ *
3305
+ * @since 4.0.0
3306
+ * @category Testing
3307
+ */
3308
+ <I, S extends object>(
3309
+ service: ServiceMap.Key<I, S>,
3310
+ implementation: Types.NoInfer<PartialEffectful<S>>
3311
+ ): Layer<I>
3312
+ } = function() {
3313
+ if (arguments.length === 1) {
3314
+ return (implementation: any) => mockImpl(arguments[0], implementation)
3315
+ }
3316
+ return mockImpl(arguments[0], arguments[1])
3317
+ } as any
3318
+
3319
+ const mockImpl = <I, S extends object>(service: ServiceMap.Key<I, S>, implementation: PartialEffectful<S>): Layer<I> =>
3320
+ succeed(service)(
3321
+ new Proxy({ ...implementation as object } as S, {
3322
+ get(target, prop, _receiver) {
3323
+ if (prop in target) {
3324
+ return target[prop as keyof S]
3325
+ }
3326
+ const prevLimit = (Error as ErrorWithStackTraceLimit).stackTraceLimit
3327
+ ;(Error as ErrorWithStackTraceLimit).stackTraceLimit = 2
3328
+ const error = new Error(`${service.key}: Unimplemented method "${prop.toString()}"`)
3329
+ ;(Error as ErrorWithStackTraceLimit).stackTraceLimit = prevLimit
3330
+ error.name = "UnimplementedError"
3331
+ return makeUnimplemented(error)
3332
+ },
3333
+ has: constTrue
3334
+ })
3335
+ )
3116
3336
 
3117
3337
  const makeUnimplemented = (error: globalThis.Error) => {
3118
- const dead = internalEffect.die(error)
3338
+ const dead = Object.assign(internalEffect.die(error), {
3339
+ [StreamTypeId]: StreamTypeId,
3340
+ channel: {
3341
+ [ChannelTypeId]: ChannelTypeId,
3342
+ transform: () => internalEffect.succeed(dead),
3343
+ pipe() {
3344
+ return pipeArguments(this, arguments)
3345
+ }
3346
+ },
3347
+ [ChannelTypeId]: ChannelTypeId,
3348
+ transform: () => internalEffect.succeed(dead)
3349
+ })
3119
3350
  function unimplemented() {
3120
3351
  return dead
3121
3352
  }
@@ -3125,6 +3356,9 @@ const makeUnimplemented = (error: globalThis.Error) => {
3125
3356
  return unimplemented
3126
3357
  }
3127
3358
 
3359
+ const StreamTypeId: Stream.TypeId = "~effect/Stream"
3360
+ const ChannelTypeId: Channel.TypeId = "~effect/Channel"
3361
+
3128
3362
  // -----------------------------------------------------------------------------
3129
3363
  // Type constraints
3130
3364
  // -----------------------------------------------------------------------------
@@ -3272,7 +3506,7 @@ export interface SpanOptions extends Tracer.SpanOptions {
3272
3506
  * yield* Console.log((parentSpan as Tracer.Span).name) // "database-init"
3273
3507
  *
3274
3508
  * return {
3275
- * query: (sql: string) => Effect.succeed(`Result: ${sql}`)
3509
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result: ${sql}`))
3276
3510
  * }
3277
3511
  * })).pipe(Layer.provide(Layer.span("database-init")))
3278
3512
  *
@@ -3331,7 +3565,7 @@ export const span = (
3331
3565
  * yield* Console.log(parentSpan.spanId) // "42"
3332
3566
  *
3333
3567
  * return {
3334
- * query: (sql: string) => Effect.succeed(`Result: ${sql}`)
3568
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result: ${sql}`))
3335
3569
  * }
3336
3570
  * })
3337
3571
  * ).pipe(Layer.provide(Layer.parentSpan(Tracer.externalSpan({
@@ -3371,14 +3605,14 @@ export const parentSpan = (span: Tracer.AnySpan): Layer<Tracer.ParentSpan> =>
3371
3605
  * yield* Effect.log("Connecting to database")
3372
3606
  * yield* Effect.sleep("100 millis")
3373
3607
  * return {
3374
- * query: (sql: string) => Effect.succeed(`Result: ${sql}`)
3608
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result: ${sql}`))
3375
3609
  * }
3376
3610
  * })).pipe(Layer.withSpan("database-initialization", {
3377
3611
  * attributes: { dbType: "postgres" }
3378
3612
  * }))
3379
3613
  *
3380
3614
  * const loggerLayer = Layer.succeed(Logger, {
3381
- * log: (msg: string) => Effect.sync(() => console.log(msg))
3615
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
3382
3616
  * }).pipe(Layer.withSpan("logger-initialization"))
3383
3617
  *
3384
3618
  * // Combine traced layers
@@ -3430,14 +3664,14 @@ export const withSpan: {
3430
3664
  * yield* Effect.log("Connecting to database")
3431
3665
  * yield* Effect.sleep("100 millis")
3432
3666
  * return {
3433
- * query: (sql: string) => Effect.succeed(`Result: ${sql}`)
3667
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result: ${sql}`))
3434
3668
  * }
3435
3669
  * })).pipe(Layer.withSpan("database-initialization", {
3436
3670
  * attributes: { dbType: "postgres" }
3437
3671
  * }))
3438
3672
  *
3439
3673
  * const loggerLayer = Layer.succeed(Logger, {
3440
- * log: (msg: string) => Effect.sync(() => console.log(msg))
3674
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
3441
3675
  * }).pipe(Layer.withSpan("logger-initialization"))
3442
3676
  *
3443
3677
  * // Combine traced layers
@@ -3491,14 +3725,14 @@ export const withSpan: {
3491
3725
  * yield* Effect.log("Connecting to database")
3492
3726
  * yield* Effect.sleep("100 millis")
3493
3727
  * return {
3494
- * query: (sql: string) => Effect.succeed(`Result: ${sql}`)
3728
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result: ${sql}`))
3495
3729
  * }
3496
3730
  * })).pipe(Layer.withSpan("database-initialization", {
3497
3731
  * attributes: { dbType: "postgres" }
3498
3732
  * }))
3499
3733
  *
3500
3734
  * const loggerLayer = Layer.succeed(Logger, {
3501
- * log: (msg: string) => Effect.sync(() => console.log(msg))
3735
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
3502
3736
  * }).pipe(Layer.withSpan("logger-initialization"))
3503
3737
  *
3504
3738
  * // Combine traced layers
@@ -3580,14 +3814,14 @@ export const withSpan: {
3580
3814
  * const DatabaseLayer = Layer.effect(Database, Effect.gen(function*() {
3581
3815
  * yield* Effect.log("Connecting to database")
3582
3816
  * return {
3583
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
3817
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
3584
3818
  * }
3585
3819
  * }))
3586
3820
  *
3587
3821
  * const CacheLayer = Layer.effect(Cache, Effect.gen(function*() {
3588
3822
  * yield* Effect.log("Connecting to cache")
3589
3823
  * return {
3590
- * get: (key: string) => Effect.succeed(`Cache: ${key}`)
3824
+ * get: Effect.fn("Cache.get")((key: string) => Effect.succeed(`Cache: ${key}`))
3591
3825
  * }
3592
3826
  * }))
3593
3827
  *
@@ -3640,14 +3874,14 @@ export const withParentSpan: {
3640
3874
  * const DatabaseLayer = Layer.effect(Database, Effect.gen(function*() {
3641
3875
  * yield* Effect.log("Connecting to database")
3642
3876
  * return {
3643
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
3877
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
3644
3878
  * }
3645
3879
  * }))
3646
3880
  *
3647
3881
  * const CacheLayer = Layer.effect(Cache, Effect.gen(function*() {
3648
3882
  * yield* Effect.log("Connecting to cache")
3649
3883
  * return {
3650
- * get: (key: string) => Effect.succeed(`Cache: ${key}`)
3884
+ * get: Effect.fn("Cache.get")((key: string) => Effect.succeed(`Cache: ${key}`))
3651
3885
  * }
3652
3886
  * }))
3653
3887
  *
@@ -3702,14 +3936,14 @@ export const withParentSpan: {
3702
3936
  * const DatabaseLayer = Layer.effect(Database, Effect.gen(function*() {
3703
3937
  * yield* Effect.log("Connecting to database")
3704
3938
  * return {
3705
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
3939
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
3706
3940
  * }
3707
3941
  * }))
3708
3942
  *
3709
3943
  * const CacheLayer = Layer.effect(Cache, Effect.gen(function*() {
3710
3944
  * yield* Effect.log("Connecting to cache")
3711
3945
  * return {
3712
- * get: (key: string) => Effect.succeed(`Cache: ${key}`)
3946
+ * get: Effect.fn("Cache.get")((key: string) => Effect.succeed(`Cache: ${key}`))
3713
3947
  * }
3714
3948
  * }))
3715
3949
  *