effect 4.0.0-beta.26 → 4.0.0-beta.28

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 (223) hide show
  1. package/dist/Cause.d.ts +1 -1
  2. package/dist/ConfigProvider.d.ts +1 -1
  3. package/dist/Cron.d.ts +1 -1
  4. package/dist/Data.d.ts +3 -3
  5. package/dist/Data.d.ts.map +1 -1
  6. package/dist/Data.js +2 -2
  7. package/dist/Data.js.map +1 -1
  8. package/dist/Effect.d.ts +331 -206
  9. package/dist/Effect.d.ts.map +1 -1
  10. package/dist/Effect.js +113 -72
  11. package/dist/Effect.js.map +1 -1
  12. package/dist/Encoding.d.ts +1 -1
  13. package/dist/ErrorReporter.d.ts +2 -4
  14. package/dist/ErrorReporter.d.ts.map +1 -1
  15. package/dist/ErrorReporter.js +1 -3
  16. package/dist/ErrorReporter.js.map +1 -1
  17. package/dist/Exit.d.ts +24 -12
  18. package/dist/Exit.d.ts.map +1 -1
  19. package/dist/Exit.js +8 -4
  20. package/dist/Exit.js.map +1 -1
  21. package/dist/Fiber.d.ts +1 -0
  22. package/dist/Fiber.d.ts.map +1 -1
  23. package/dist/Fiber.js.map +1 -1
  24. package/dist/Graph.d.ts +1 -1
  25. package/dist/Layer.d.ts +112 -117
  26. package/dist/Layer.d.ts.map +1 -1
  27. package/dist/Layer.js +43 -44
  28. package/dist/Layer.js.map +1 -1
  29. package/dist/LayerMap.d.ts +4 -4
  30. package/dist/LayerMap.js +3 -3
  31. package/dist/ManagedRuntime.d.ts +1 -1
  32. package/dist/ManagedRuntime.js +1 -1
  33. package/dist/Metric.d.ts +2 -4
  34. package/dist/Metric.d.ts.map +1 -1
  35. package/dist/Metric.js +2 -4
  36. package/dist/Metric.js.map +1 -1
  37. package/dist/PlatformError.d.ts +2 -2
  38. package/dist/References.d.ts +6 -1
  39. package/dist/References.d.ts.map +1 -1
  40. package/dist/References.js +6 -1
  41. package/dist/References.js.map +1 -1
  42. package/dist/RequestResolver.d.ts +19 -19
  43. package/dist/RequestResolver.js +10 -10
  44. package/dist/RequestResolver.js.map +1 -1
  45. package/dist/Schedule.d.ts +144 -82
  46. package/dist/Schedule.d.ts.map +1 -1
  47. package/dist/Schedule.js +58 -32
  48. package/dist/Schedule.js.map +1 -1
  49. package/dist/Scheduler.d.ts +9 -0
  50. package/dist/Scheduler.d.ts.map +1 -1
  51. package/dist/Scheduler.js +11 -0
  52. package/dist/Scheduler.js.map +1 -1
  53. package/dist/Schema.d.ts.map +1 -1
  54. package/dist/Schema.js +3 -1
  55. package/dist/Schema.js.map +1 -1
  56. package/dist/Stdio.d.ts +6 -2
  57. package/dist/Stdio.d.ts.map +1 -1
  58. package/dist/Stdio.js +2 -2
  59. package/dist/Stdio.js.map +1 -1
  60. package/dist/Stream.d.ts +8 -4
  61. package/dist/Stream.d.ts.map +1 -1
  62. package/dist/Stream.js +8 -4
  63. package/dist/Stream.js.map +1 -1
  64. package/dist/Types.d.ts +1 -22
  65. package/dist/Types.d.ts.map +1 -1
  66. package/dist/index.d.ts +5 -3
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +5 -3
  69. package/dist/index.js.map +1 -1
  70. package/dist/internal/effect.js +3 -1
  71. package/dist/internal/effect.js.map +1 -1
  72. package/dist/unstable/ai/LanguageModel.d.ts +12 -28
  73. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  74. package/dist/unstable/ai/LanguageModel.js +4 -18
  75. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  76. package/dist/unstable/ai/McpSchema.d.ts +20 -1
  77. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  78. package/dist/unstable/ai/McpSchema.js +8 -0
  79. package/dist/unstable/ai/McpSchema.js.map +1 -1
  80. package/dist/unstable/ai/McpServer.d.ts +65 -12
  81. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  82. package/dist/unstable/ai/McpServer.js +159 -45
  83. package/dist/unstable/ai/McpServer.js.map +1 -1
  84. package/dist/unstable/ai/Toolkit.d.ts +1 -1
  85. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  86. package/dist/unstable/ai/Toolkit.js +4 -11
  87. package/dist/unstable/ai/Toolkit.js.map +1 -1
  88. package/dist/unstable/ai/internal/codec-transformer.js +0 -5
  89. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  90. package/dist/unstable/cli/CliError.d.ts +4 -4
  91. package/dist/unstable/cli/CliError.js +4 -4
  92. package/dist/unstable/cli/Primitive.d.ts +1 -1
  93. package/dist/unstable/cli/Primitive.js +1 -1
  94. package/dist/unstable/cli/Prompt.js +31 -0
  95. package/dist/unstable/cli/Prompt.js.map +1 -1
  96. package/dist/unstable/cluster/Message.d.ts +5 -5
  97. package/dist/unstable/cluster/Reply.d.ts +3 -3
  98. package/dist/unstable/encoding/Msgpack.d.ts +1 -1
  99. package/dist/unstable/encoding/Ndjson.d.ts +1 -1
  100. package/dist/unstable/encoding/Sse.d.ts +1 -1
  101. package/dist/unstable/eventlog/EventJournal.d.ts +1 -1
  102. package/dist/unstable/eventlog/EventLogRemote.d.ts +1 -1
  103. package/dist/unstable/http/Cookies.d.ts +45 -1
  104. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  105. package/dist/unstable/http/Cookies.js +22 -0
  106. package/dist/unstable/http/Cookies.js.map +1 -1
  107. package/dist/unstable/http/Headers.d.ts +16 -0
  108. package/dist/unstable/http/Headers.d.ts.map +1 -1
  109. package/dist/unstable/http/Headers.js +11 -0
  110. package/dist/unstable/http/Headers.js.map +1 -1
  111. package/dist/unstable/http/HttpBody.d.ts +1 -1
  112. package/dist/unstable/http/HttpClientError.d.ts +7 -7
  113. package/dist/unstable/http/HttpClientRequest.d.ts +5 -0
  114. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  115. package/dist/unstable/http/HttpClientRequest.js +21 -17
  116. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  117. package/dist/unstable/http/HttpEffect.d.ts +7 -0
  118. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  119. package/dist/unstable/http/HttpEffect.js +6 -0
  120. package/dist/unstable/http/HttpEffect.js.map +1 -1
  121. package/dist/unstable/http/HttpServerError.d.ts +6 -6
  122. package/dist/unstable/http/HttpServerRequest.d.ts +11 -0
  123. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  124. package/dist/unstable/http/HttpServerRequest.js +291 -1
  125. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  126. package/dist/unstable/http/HttpServerResponse.d.ts +47 -1
  127. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  128. package/dist/unstable/http/HttpServerResponse.js +227 -0
  129. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  130. package/dist/unstable/http/HttpStaticServer.d.ts +69 -0
  131. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -0
  132. package/dist/unstable/http/HttpStaticServer.js +353 -0
  133. package/dist/unstable/http/HttpStaticServer.js.map +1 -0
  134. package/dist/unstable/http/Multipart.d.ts +1 -1
  135. package/dist/unstable/http/UrlParams.d.ts +1 -1
  136. package/dist/unstable/http/index.d.ts +4 -0
  137. package/dist/unstable/http/index.d.ts.map +1 -1
  138. package/dist/unstable/http/index.js +4 -0
  139. package/dist/unstable/http/index.js.map +1 -1
  140. package/dist/unstable/httpapi/HttpApiBuilder.js +5 -0
  141. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  142. package/dist/unstable/httpapi/HttpApiGroup.d.ts +1 -0
  143. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  144. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  145. package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
  146. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  147. package/dist/unstable/reactivity/Atom.js +4 -10
  148. package/dist/unstable/reactivity/Atom.js.map +1 -1
  149. package/dist/unstable/reactivity/AtomHttpApi.d.ts +4 -6
  150. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  151. package/dist/unstable/reactivity/AtomHttpApi.js +39 -9
  152. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  153. package/dist/unstable/reactivity/AtomRpc.d.ts +8 -8
  154. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  155. package/dist/unstable/reactivity/AtomRpc.js +46 -20
  156. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  157. package/dist/unstable/rpc/Rpc.d.ts +1 -1
  158. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  159. package/dist/unstable/rpc/Rpc.js.map +1 -1
  160. package/dist/unstable/rpc/RpcMiddleware.d.ts +5 -5
  161. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  162. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  163. package/dist/unstable/rpc/RpcServer.js +2 -2
  164. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  165. package/dist/unstable/rpc/Utils.js +1 -1
  166. package/dist/unstable/rpc/Utils.js.map +1 -1
  167. package/dist/unstable/schema/Model.d.ts +21 -0
  168. package/dist/unstable/schema/Model.d.ts.map +1 -1
  169. package/dist/unstable/schema/Model.js +15 -0
  170. package/dist/unstable/schema/Model.js.map +1 -1
  171. package/dist/unstable/socket/SocketServer.d.ts +3 -3
  172. package/dist/unstable/sql/Migrator.d.ts +1 -1
  173. package/dist/unstable/sql/SqlResolver.js +2 -2
  174. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  175. package/dist/unstable/workflow/Workflow.d.ts +1 -1
  176. package/package.json +1 -1
  177. package/src/Cause.ts +1 -1
  178. package/src/Data.ts +3 -4
  179. package/src/Effect.ts +331 -206
  180. package/src/ErrorReporter.ts +2 -4
  181. package/src/Exit.ts +24 -12
  182. package/src/Fiber.ts +1 -0
  183. package/src/Layer.ts +112 -117
  184. package/src/LayerMap.ts +4 -4
  185. package/src/ManagedRuntime.ts +1 -1
  186. package/src/Metric.ts +2 -4
  187. package/src/References.ts +6 -1
  188. package/src/RequestResolver.ts +20 -20
  189. package/src/Schedule.ts +144 -82
  190. package/src/Scheduler.ts +12 -0
  191. package/src/Schema.ts +3 -1
  192. package/src/Stdio.ts +8 -4
  193. package/src/Stream.ts +8 -4
  194. package/src/Types.ts +1 -23
  195. package/src/index.ts +5 -3
  196. package/src/internal/effect.ts +3 -0
  197. package/src/unstable/ai/LanguageModel.ts +16 -37
  198. package/src/unstable/ai/McpSchema.ts +14 -0
  199. package/src/unstable/ai/McpServer.ts +224 -53
  200. package/src/unstable/ai/Toolkit.ts +5 -14
  201. package/src/unstable/ai/internal/codec-transformer.ts +0 -7
  202. package/src/unstable/cli/CliError.ts +4 -4
  203. package/src/unstable/cli/Primitive.ts +1 -1
  204. package/src/unstable/cli/Prompt.ts +27 -0
  205. package/src/unstable/http/Cookies.ts +84 -0
  206. package/src/unstable/http/Headers.ts +34 -0
  207. package/src/unstable/http/HttpClientRequest.ts +21 -17
  208. package/src/unstable/http/HttpEffect.ts +8 -0
  209. package/src/unstable/http/HttpServerRequest.ts +388 -1
  210. package/src/unstable/http/HttpServerResponse.ts +328 -1
  211. package/src/unstable/http/HttpStaticServer.ts +456 -0
  212. package/src/unstable/http/index.ts +5 -0
  213. package/src/unstable/httpapi/HttpApiBuilder.ts +3 -0
  214. package/src/unstable/httpapi/HttpApiGroup.ts +1 -0
  215. package/src/unstable/reactivity/Atom.ts +20 -26
  216. package/src/unstable/reactivity/AtomHttpApi.ts +45 -11
  217. package/src/unstable/reactivity/AtomRpc.ts +48 -17
  218. package/src/unstable/rpc/Rpc.ts +1 -3
  219. package/src/unstable/rpc/RpcMiddleware.ts +12 -6
  220. package/src/unstable/rpc/RpcServer.ts +2 -2
  221. package/src/unstable/rpc/Utils.ts +1 -1
  222. package/src/unstable/schema/Model.ts +31 -0
  223. package/src/unstable/sql/SqlResolver.ts +2 -2
package/dist/Layer.d.ts CHANGED
@@ -112,7 +112,7 @@ declare const MemoMapTypeId = "~effect/Layer/MemoMap";
112
112
  * const scope = yield* Effect.scope
113
113
  *
114
114
  * const dbLayer = Layer.succeed(Database)({
115
- * query: (sql: string) => Effect.succeed("result")
115
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
116
116
  * })
117
117
  * const services = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
118
118
  *
@@ -139,7 +139,7 @@ export interface MemoMap {
139
139
  * }>()("Database") {}
140
140
  *
141
141
  * const dbLayer = Layer.succeed(Database)({
142
- * query: (sql: string) => Effect.succeed("result")
142
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
143
143
  * })
144
144
  * const notALayer = { someProperty: "value" }
145
145
  *
@@ -223,7 +223,7 @@ export declare const fromBuildMemo: <ROut, E, RIn>(build: (memoMap: MemoMap, sco
223
223
  * const scope = yield* Effect.scope
224
224
  *
225
225
  * const dbLayer = Layer.succeed(Database)({
226
- * query: (sql: string) => Effect.succeed("result")
226
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
227
227
  * })
228
228
  * const services = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
229
229
  *
@@ -252,7 +252,7 @@ export declare const makeMemoMapUnsafe: () => MemoMap;
252
252
  * const scope = yield* Effect.scope
253
253
  *
254
254
  * const dbLayer = Layer.succeed(Database)({
255
- * query: (sql: string) => Effect.succeed("result")
255
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
256
256
  * })
257
257
  * const services = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
258
258
  *
@@ -300,13 +300,13 @@ export declare class CurrentMemoMap extends CurrentMemoMap_base {
300
300
  *
301
301
  * // Build database layer with memoization
302
302
  * const dbLayer = Layer.succeed(Database)({
303
- * query: (sql: string) => Effect.succeed("result")
303
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
304
304
  * })
305
305
  * const dbServices = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
306
306
  *
307
307
  * // Build logger layer with same memoization (reuses memo if same layer)
308
308
  * const loggerLayer = Layer.succeed(Logger)({
309
- * log: (msg: string) => Effect.sync(() => console.log(msg))
309
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
310
310
  * })
311
311
  * const loggerServices = yield* Layer.buildWithMemoMap(
312
312
  * loggerLayer,
@@ -348,13 +348,13 @@ export declare const buildWithMemoMap: {
348
348
  *
349
349
  * // Build database layer with memoization
350
350
  * const dbLayer = Layer.succeed(Database)({
351
- * query: (sql: string) => Effect.succeed("result")
351
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
352
352
  * })
353
353
  * const dbServices = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
354
354
  *
355
355
  * // Build logger layer with same memoization (reuses memo if same layer)
356
356
  * const loggerLayer = Layer.succeed(Logger)({
357
- * log: (msg: string) => Effect.sync(() => console.log(msg))
357
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
358
358
  * })
359
359
  * const loggerServices = yield* Layer.buildWithMemoMap(
360
360
  * loggerLayer,
@@ -396,13 +396,13 @@ export declare const buildWithMemoMap: {
396
396
  *
397
397
  * // Build database layer with memoization
398
398
  * const dbLayer = Layer.succeed(Database)({
399
- * query: (sql: string) => Effect.succeed("result")
399
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
400
400
  * })
401
401
  * const dbServices = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
402
402
  *
403
403
  * // Build logger layer with same memoization (reuses memo if same layer)
404
404
  * const loggerLayer = Layer.succeed(Logger)({
405
- * log: (msg: string) => Effect.sync(() => console.log(msg))
405
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
406
406
  * })
407
407
  * const loggerServices = yield* Layer.buildWithMemoMap(
408
408
  * loggerLayer,
@@ -436,7 +436,7 @@ export declare const buildWithMemoMap: {
436
436
  * // Build a layer to get its services
437
437
  * const program = Effect.gen(function*() {
438
438
  * const dbLayer = Layer.succeed(Database)({
439
- * query: (sql: string) => Effect.succeed("result")
439
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
440
440
  * })
441
441
  *
442
442
  * // Build the layer into ServiceMap - automatically manages scope and memoization
@@ -478,7 +478,7 @@ export declare const build: <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<
478
478
  * scope,
479
479
  * Effect.sync(() => console.log("Database closed"))
480
480
  * )
481
- * return { query: (sql: string) => Effect.succeed(`Result: ${sql}`) }
481
+ * return { query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result: ${sql}`)) }
482
482
  * }))
483
483
  *
484
484
  * // Build with specific scope - resources tied to this scope
@@ -519,7 +519,7 @@ export declare const buildWithScope: {
519
519
  * scope,
520
520
  * Effect.sync(() => console.log("Database closed"))
521
521
  * )
522
- * return { query: (sql: string) => Effect.succeed(`Result: ${sql}`) }
522
+ * return { query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result: ${sql}`)) }
523
523
  * }))
524
524
  *
525
525
  * // Build with specific scope - resources tied to this scope
@@ -560,7 +560,7 @@ export declare const buildWithScope: {
560
560
  * scope,
561
561
  * Effect.sync(() => console.log("Database closed"))
562
562
  * )
563
- * return { query: (sql: string) => Effect.succeed(`Result: ${sql}`) }
563
+ * return { query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result: ${sql}`)) }
564
564
  * }))
565
565
  *
566
566
  * // Build with specific scope - resources tied to this scope
@@ -594,11 +594,11 @@ export declare const buildWithScope: {
594
594
  *
595
595
  * // Create layers from concrete service implementations
596
596
  * const databaseLayer = Layer.succeed(Database)({
597
- * query: (sql: string) => Effect.succeed(`Query result: ${sql}`)
597
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Query result: ${sql}`))
598
598
  * })
599
599
  *
600
600
  * const loggerLayer = Layer.succeed(Logger)({
601
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
601
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
602
602
  * })
603
603
  *
604
604
  * // Use the layers in a program
@@ -637,11 +637,11 @@ export declare const succeed: {
637
637
  *
638
638
  * // Create layers from concrete service implementations
639
639
  * const databaseLayer = Layer.succeed(Database)({
640
- * query: (sql: string) => Effect.succeed(`Query result: ${sql}`)
640
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Query result: ${sql}`))
641
641
  * })
642
642
  *
643
643
  * const loggerLayer = Layer.succeed(Logger)({
644
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
644
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
645
645
  * })
646
646
  *
647
647
  * // Use the layers in a program
@@ -680,11 +680,11 @@ export declare const succeed: {
680
680
  *
681
681
  * // Create layers from concrete service implementations
682
682
  * const databaseLayer = Layer.succeed(Database)({
683
- * query: (sql: string) => Effect.succeed(`Query result: ${sql}`)
683
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Query result: ${sql}`))
684
684
  * })
685
685
  *
686
686
  * const loggerLayer = Layer.succeed(Logger)({
687
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
687
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
688
688
  * })
689
689
  *
690
690
  * // Use the layers in a program
@@ -727,7 +727,7 @@ export declare const succeed: {
727
727
  * }>()("Logger") {}
728
728
  *
729
729
  * const services = ServiceMap.make(Database, {
730
- * query: (sql: string) => Effect.succeed("result")
730
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
731
731
  * })
732
732
  * .pipe(
733
733
  * ServiceMap.add(Logger, {
@@ -1022,7 +1022,7 @@ export declare const effectDiscard: <X, E, R>(effect: Effect<X, E, R>) => Layer<
1022
1022
  * }>()("Database") {}
1023
1023
  *
1024
1024
  * const layerEffect = Effect.succeed(
1025
- * Layer.succeed(Database)({ query: (sql: string) => Effect.succeed("result") })
1025
+ * Layer.succeed(Database)({ query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result")) })
1026
1026
  * )
1027
1027
  *
1028
1028
  * const unwrappedLayer = Layer.unwrap(layerEffect)
@@ -1051,10 +1051,10 @@ export declare const unwrap: <A, E1, R1, E, R>(self: Effect<Layer<A, E1, R1>, E,
1051
1051
  * }>()("Logger") {}
1052
1052
  *
1053
1053
  * const dbLayer = Layer.succeed(Database)({
1054
- * query: (sql: string) => Effect.succeed("result")
1054
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
1055
1055
  * })
1056
1056
  * const loggerLayer = Layer.succeed(Logger)({
1057
- * log: (msg: string) => Effect.sync(() => console.log(msg))
1057
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
1058
1058
  * })
1059
1059
  *
1060
1060
  * const mergedLayer = Layer.mergeAll(dbLayer, loggerLayer)
@@ -1083,10 +1083,10 @@ export declare const mergeAll: <Layers extends [Layer<never, any, any>, ...Array
1083
1083
  * }>()("Logger") {}
1084
1084
  *
1085
1085
  * const dbLayer = Layer.succeed(Database)({
1086
- * query: (sql: string) => Effect.succeed("result")
1086
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
1087
1087
  * })
1088
1088
  * const loggerLayer = Layer.succeed(Logger)({
1089
- * log: (msg: string) => Effect.sync(() => console.log(msg))
1089
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
1090
1090
  * })
1091
1091
  *
1092
1092
  * const mergedLayer = Layer.merge(dbLayer, loggerLayer)
@@ -1115,10 +1115,10 @@ export declare const merge: {
1115
1115
  * }>()("Logger") {}
1116
1116
  *
1117
1117
  * const dbLayer = Layer.succeed(Database)({
1118
- * query: (sql: string) => Effect.succeed("result")
1118
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
1119
1119
  * })
1120
1120
  * const loggerLayer = Layer.succeed(Logger)({
1121
- * log: (msg: string) => Effect.sync(() => console.log(msg))
1121
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
1122
1122
  * })
1123
1123
  *
1124
1124
  * const mergedLayer = Layer.merge(dbLayer, loggerLayer)
@@ -1147,10 +1147,10 @@ export declare const merge: {
1147
1147
  * }>()("Logger") {}
1148
1148
  *
1149
1149
  * const dbLayer = Layer.succeed(Database)({
1150
- * query: (sql: string) => Effect.succeed("result")
1150
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
1151
1151
  * })
1152
1152
  * const loggerLayer = Layer.succeed(Logger)({
1153
- * log: (msg: string) => Effect.sync(() => console.log(msg))
1153
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
1154
1154
  * })
1155
1155
  *
1156
1156
  * const mergedLayer = Layer.merge(dbLayer, loggerLayer)
@@ -1179,10 +1179,10 @@ export declare const merge: {
1179
1179
  * }>()("Logger") {}
1180
1180
  *
1181
1181
  * const dbLayer = Layer.succeed(Database)({
1182
- * query: (sql: string) => Effect.succeed("result")
1182
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
1183
1183
  * })
1184
1184
  * const loggerLayer = Layer.succeed(Logger)({
1185
- * log: (msg: string) => Effect.sync(() => console.log(msg))
1185
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
1186
1186
  * })
1187
1187
  *
1188
1188
  * const mergedLayer = Layer.merge(dbLayer, loggerLayer)
@@ -1211,10 +1211,10 @@ export declare const merge: {
1211
1211
  * }>()("Logger") {}
1212
1212
  *
1213
1213
  * const dbLayer = Layer.succeed(Database)({
1214
- * query: (sql: string) => Effect.succeed("result")
1214
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
1215
1215
  * })
1216
1216
  * const loggerLayer = Layer.succeed(Logger)({
1217
- * log: (msg: string) => Effect.sync(() => console.log(msg))
1217
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
1218
1218
  * })
1219
1219
  *
1220
1220
  * const mergedLayer = Layer.merge(dbLayer, loggerLayer)
@@ -1251,11 +1251,11 @@ export declare const merge: {
1251
1251
  *
1252
1252
  * // Create dependency layers
1253
1253
  * const databaseLayer = Layer.succeed(Database)({
1254
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
1254
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
1255
1255
  * })
1256
1256
  *
1257
1257
  * const loggerLayer = Layer.succeed(Logger)({
1258
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
1258
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
1259
1259
  * })
1260
1260
  *
1261
1261
  * // UserService depends on Database and Logger
@@ -1264,8 +1264,7 @@ export declare const merge: {
1264
1264
  * const logger = yield* Logger
1265
1265
  *
1266
1266
  * return {
1267
- * getUser: (id: string) =>
1268
- * Effect.gen(function*() {
1267
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
1269
1268
  * yield* logger.log(`Looking up user ${id}`)
1270
1269
  * const result = yield* database.query(
1271
1270
  * `SELECT * FROM users WHERE id = ${id}`
@@ -1319,11 +1318,11 @@ export declare const provide: {
1319
1318
  *
1320
1319
  * // Create dependency layers
1321
1320
  * const databaseLayer = Layer.succeed(Database)({
1322
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
1321
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
1323
1322
  * })
1324
1323
  *
1325
1324
  * const loggerLayer = Layer.succeed(Logger)({
1326
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
1325
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
1327
1326
  * })
1328
1327
  *
1329
1328
  * // UserService depends on Database and Logger
@@ -1332,8 +1331,7 @@ export declare const provide: {
1332
1331
  * const logger = yield* Logger
1333
1332
  *
1334
1333
  * return {
1335
- * getUser: (id: string) =>
1336
- * Effect.gen(function*() {
1334
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
1337
1335
  * yield* logger.log(`Looking up user ${id}`)
1338
1336
  * const result = yield* database.query(
1339
1337
  * `SELECT * FROM users WHERE id = ${id}`
@@ -1387,11 +1385,11 @@ export declare const provide: {
1387
1385
  *
1388
1386
  * // Create dependency layers
1389
1387
  * const databaseLayer = Layer.succeed(Database)({
1390
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
1388
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
1391
1389
  * })
1392
1390
  *
1393
1391
  * const loggerLayer = Layer.succeed(Logger)({
1394
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
1392
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
1395
1393
  * })
1396
1394
  *
1397
1395
  * // UserService depends on Database and Logger
@@ -1400,8 +1398,7 @@ export declare const provide: {
1400
1398
  * const logger = yield* Logger
1401
1399
  *
1402
1400
  * return {
1403
- * getUser: (id: string) =>
1404
- * Effect.gen(function*() {
1401
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
1405
1402
  * yield* logger.log(`Looking up user ${id}`)
1406
1403
  * const result = yield* database.query(
1407
1404
  * `SELECT * FROM users WHERE id = ${id}`
@@ -1455,11 +1452,11 @@ export declare const provide: {
1455
1452
  *
1456
1453
  * // Create dependency layers
1457
1454
  * const databaseLayer = Layer.succeed(Database)({
1458
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
1455
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
1459
1456
  * })
1460
1457
  *
1461
1458
  * const loggerLayer = Layer.succeed(Logger)({
1462
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
1459
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
1463
1460
  * })
1464
1461
  *
1465
1462
  * // UserService depends on Database and Logger
@@ -1468,8 +1465,7 @@ export declare const provide: {
1468
1465
  * const logger = yield* Logger
1469
1466
  *
1470
1467
  * return {
1471
- * getUser: (id: string) =>
1472
- * Effect.gen(function*() {
1468
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
1473
1469
  * yield* logger.log(`Looking up user ${id}`)
1474
1470
  * const result = yield* database.query(
1475
1471
  * `SELECT * FROM users WHERE id = ${id}`
@@ -1523,11 +1519,11 @@ export declare const provide: {
1523
1519
  *
1524
1520
  * // Create dependency layers
1525
1521
  * const databaseLayer = Layer.succeed(Database)({
1526
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
1522
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
1527
1523
  * })
1528
1524
  *
1529
1525
  * const loggerLayer = Layer.succeed(Logger)({
1530
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
1526
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
1531
1527
  * })
1532
1528
  *
1533
1529
  * // UserService depends on Database and Logger
@@ -1536,8 +1532,7 @@ export declare const provide: {
1536
1532
  * const logger = yield* Logger
1537
1533
  *
1538
1534
  * return {
1539
- * getUser: (id: string) =>
1540
- * Effect.gen(function*() {
1535
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
1541
1536
  * yield* logger.log(`Looking up user ${id}`)
1542
1537
  * const result = yield* database.query(
1543
1538
  * `SELECT * FROM users WHERE id = ${id}`
@@ -1592,11 +1587,11 @@ export declare const provide: {
1592
1587
  *
1593
1588
  * // Create dependency layers
1594
1589
  * const databaseLayer = Layer.succeed(Database)({
1595
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
1590
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
1596
1591
  * })
1597
1592
  *
1598
1593
  * const loggerLayer = Layer.succeed(Logger)({
1599
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
1594
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
1600
1595
  * })
1601
1596
  *
1602
1597
  * // UserService depends on Database and Logger
@@ -1605,8 +1600,7 @@ export declare const provide: {
1605
1600
  * const logger = yield* Logger
1606
1601
  *
1607
1602
  * return {
1608
- * getUser: (id: string) =>
1609
- * Effect.gen(function*() {
1603
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
1610
1604
  * yield* logger.log(`Looking up user ${id}`)
1611
1605
  * const result = yield* database.query(
1612
1606
  * `SELECT * FROM users WHERE id = ${id}`
@@ -1666,11 +1660,11 @@ export declare const provideMerge: {
1666
1660
  *
1667
1661
  * // Create dependency layers
1668
1662
  * const databaseLayer = Layer.succeed(Database)({
1669
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
1663
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
1670
1664
  * })
1671
1665
  *
1672
1666
  * const loggerLayer = Layer.succeed(Logger)({
1673
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
1667
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
1674
1668
  * })
1675
1669
  *
1676
1670
  * // UserService depends on Database and Logger
@@ -1679,8 +1673,7 @@ export declare const provideMerge: {
1679
1673
  * const logger = yield* Logger
1680
1674
  *
1681
1675
  * return {
1682
- * getUser: (id: string) =>
1683
- * Effect.gen(function*() {
1676
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
1684
1677
  * yield* logger.log(`Looking up user ${id}`)
1685
1678
  * const result = yield* database.query(
1686
1679
  * `SELECT * FROM users WHERE id = ${id}`
@@ -1740,11 +1733,11 @@ export declare const provideMerge: {
1740
1733
  *
1741
1734
  * // Create dependency layers
1742
1735
  * const databaseLayer = Layer.succeed(Database)({
1743
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
1736
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
1744
1737
  * })
1745
1738
  *
1746
1739
  * const loggerLayer = Layer.succeed(Logger)({
1747
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
1740
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
1748
1741
  * })
1749
1742
  *
1750
1743
  * // UserService depends on Database and Logger
@@ -1753,8 +1746,7 @@ export declare const provideMerge: {
1753
1746
  * const logger = yield* Logger
1754
1747
  *
1755
1748
  * return {
1756
- * getUser: (id: string) =>
1757
- * Effect.gen(function*() {
1749
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
1758
1750
  * yield* logger.log(`Looking up user ${id}`)
1759
1751
  * const result = yield* database.query(
1760
1752
  * `SELECT * FROM users WHERE id = ${id}`
@@ -1814,11 +1806,11 @@ export declare const provideMerge: {
1814
1806
  *
1815
1807
  * // Create dependency layers
1816
1808
  * const databaseLayer = Layer.succeed(Database)({
1817
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
1809
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
1818
1810
  * })
1819
1811
  *
1820
1812
  * const loggerLayer = Layer.succeed(Logger)({
1821
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
1813
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
1822
1814
  * })
1823
1815
  *
1824
1816
  * // UserService depends on Database and Logger
@@ -1827,8 +1819,7 @@ export declare const provideMerge: {
1827
1819
  * const logger = yield* Logger
1828
1820
  *
1829
1821
  * return {
1830
- * getUser: (id: string) =>
1831
- * Effect.gen(function*() {
1822
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
1832
1823
  * yield* logger.log(`Looking up user ${id}`)
1833
1824
  * const result = yield* database.query(
1834
1825
  * `SELECT * FROM users WHERE id = ${id}`
@@ -1888,11 +1879,11 @@ export declare const provideMerge: {
1888
1879
  *
1889
1880
  * // Create dependency layers
1890
1881
  * const databaseLayer = Layer.succeed(Database)({
1891
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
1882
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
1892
1883
  * })
1893
1884
  *
1894
1885
  * const loggerLayer = Layer.succeed(Logger)({
1895
- * log: (msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`))
1886
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(`[LOG] ${msg}`)))
1896
1887
  * })
1897
1888
  *
1898
1889
  * // UserService depends on Database and Logger
@@ -1901,8 +1892,7 @@ export declare const provideMerge: {
1901
1892
  * const logger = yield* Logger
1902
1893
  *
1903
1894
  * return {
1904
- * getUser: (id: string) =>
1905
- * Effect.gen(function*() {
1895
+ * getUser: Effect.fn("UserService.getUser")(function*(id: string) {
1906
1896
  * yield* logger.log(`Looking up user ${id}`)
1907
1897
  * const result = yield* database.query(
1908
1898
  * `SELECT * FROM users WHERE id = ${id}`
@@ -1970,18 +1960,19 @@ export declare const provideMerge: {
1970
1960
  *
1971
1961
  * // Create database layer based on config
1972
1962
  * const dbLayer = Layer.succeed(Database)({
1973
- * query: (sql: string) =>
1963
+ * query: Effect.fn("Database.query")((sql: string) =>
1974
1964
  * Effect.succeed(
1975
1965
  * `Querying ${config.dbUrl}: ${sql}`
1976
- * )
1966
+ * ))
1977
1967
  * })
1978
1968
  *
1979
1969
  * // Create logger layer based on config
1980
1970
  * const loggerLayer = Layer.succeed(Logger)({
1981
- * log: (msg: string) =>
1971
+ * log: Effect.fn("Logger.log")((msg: string) =>
1982
1972
  * config.logLevel === "debug"
1983
1973
  * ? Effect.sync(() => console.log(`[DEBUG] ${msg}`))
1984
1974
  * : Effect.sync(() => console.log(msg))
1975
+ * )
1985
1976
  * })
1986
1977
  *
1987
1978
  * // Return combined layer
@@ -2040,18 +2031,19 @@ export declare const flatMap: {
2040
2031
  *
2041
2032
  * // Create database layer based on config
2042
2033
  * const dbLayer = Layer.succeed(Database)({
2043
- * query: (sql: string) =>
2034
+ * query: Effect.fn("Database.query")((sql: string) =>
2044
2035
  * Effect.succeed(
2045
2036
  * `Querying ${config.dbUrl}: ${sql}`
2046
- * )
2037
+ * ))
2047
2038
  * })
2048
2039
  *
2049
2040
  * // Create logger layer based on config
2050
2041
  * const loggerLayer = Layer.succeed(Logger)({
2051
- * log: (msg: string) =>
2042
+ * log: Effect.fn("Logger.log")((msg: string) =>
2052
2043
  * config.logLevel === "debug"
2053
2044
  * ? Effect.sync(() => console.log(`[DEBUG] ${msg}`))
2054
2045
  * : Effect.sync(() => console.log(msg))
2046
+ * )
2055
2047
  * })
2056
2048
  *
2057
2049
  * // Return combined layer
@@ -2110,18 +2102,19 @@ export declare const flatMap: {
2110
2102
  *
2111
2103
  * // Create database layer based on config
2112
2104
  * const dbLayer = Layer.succeed(Database)({
2113
- * query: (sql: string) =>
2105
+ * query: Effect.fn("Database.query")((sql: string) =>
2114
2106
  * Effect.succeed(
2115
2107
  * `Querying ${config.dbUrl}: ${sql}`
2116
- * )
2108
+ * ))
2117
2109
  * })
2118
2110
  *
2119
2111
  * // Create logger layer based on config
2120
2112
  * const loggerLayer = Layer.succeed(Logger)({
2121
- * log: (msg: string) =>
2113
+ * log: Effect.fn("Logger.log")((msg: string) =>
2122
2114
  * config.logLevel === "debug"
2123
2115
  * ? Effect.sync(() => console.log(`[DEBUG] ${msg}`))
2124
2116
  * : Effect.sync(() => console.log(msg))
2117
+ * )
2125
2118
  * })
2126
2119
  *
2127
2120
  * // Return combined layer
@@ -2169,10 +2162,10 @@ export declare const flatMap: {
2169
2162
  * // Simulate a database connection that might fail
2170
2163
  * const shouldFail = Math.random() > 0.5
2171
2164
  * if (shouldFail) {
2172
- * yield* Effect.fail(new DatabaseError({ message: "Connection failed" }))
2165
+ * return yield* new DatabaseError({ message: "Connection failed" })
2173
2166
  * }
2174
2167
  *
2175
- * return { query: (sql: string) => Effect.succeed(`Result: ${sql}`) }
2168
+ * return { query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result: ${sql}`)) }
2176
2169
  * }))
2177
2170
  *
2178
2171
  * // Convert failures to fiber death - removes error from type
@@ -2310,8 +2303,8 @@ export declare const catchTag: {
2310
2303
  *
2311
2304
  * // Primary database layer that might fail
2312
2305
  * const primaryDatabaseLayer = Layer.effect(Database)(Effect.gen(function*() {
2313
- * yield* Effect.fail(new DatabaseError({ message: "Primary DB unreachable" }))
2314
- * return { query: (sql: string) => Effect.succeed(`Primary: ${sql}`) }
2306
+ * return yield* new DatabaseError({ message: "Primary DB unreachable" })
2307
+ * return { query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Primary: ${sql}`)) }
2315
2308
  * }))
2316
2309
  *
2317
2310
  * // Fallback layers for different error causes
@@ -2320,11 +2313,12 @@ export declare const catchTag: {
2320
2313
  * // For any cause/error, fallback to in-memory database
2321
2314
  * return Layer.mergeAll(
2322
2315
  * Layer.succeed(Database)({
2323
- * query: (sql: string) => Effect.succeed(`Memory: ${sql}`)
2316
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Memory: ${sql}`))
2324
2317
  * }),
2325
2318
  * Layer.succeed(Logger)({
2326
- * log: (msg: string) =>
2319
+ * log: Effect.fn("Logger.log")((msg: string) =>
2327
2320
  * Effect.sync(() => console.log(`[FALLBACK] ${msg}`))
2321
+ * )
2328
2322
  * })
2329
2323
  * )
2330
2324
  * })
@@ -2367,8 +2361,8 @@ export declare const catchCause: {
2367
2361
  *
2368
2362
  * // Primary database layer that might fail
2369
2363
  * const primaryDatabaseLayer = Layer.effect(Database)(Effect.gen(function*() {
2370
- * yield* Effect.fail(new DatabaseError({ message: "Primary DB unreachable" }))
2371
- * return { query: (sql: string) => Effect.succeed(`Primary: ${sql}`) }
2364
+ * return yield* new DatabaseError({ message: "Primary DB unreachable" })
2365
+ * return { query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Primary: ${sql}`)) }
2372
2366
  * }))
2373
2367
  *
2374
2368
  * // Fallback layers for different error causes
@@ -2377,11 +2371,12 @@ export declare const catchCause: {
2377
2371
  * // For any cause/error, fallback to in-memory database
2378
2372
  * return Layer.mergeAll(
2379
2373
  * Layer.succeed(Database)({
2380
- * query: (sql: string) => Effect.succeed(`Memory: ${sql}`)
2374
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Memory: ${sql}`))
2381
2375
  * }),
2382
2376
  * Layer.succeed(Logger)({
2383
- * log: (msg: string) =>
2377
+ * log: Effect.fn("Logger.log")((msg: string) =>
2384
2378
  * Effect.sync(() => console.log(`[FALLBACK] ${msg}`))
2379
+ * )
2385
2380
  * })
2386
2381
  * )
2387
2382
  * })
@@ -2424,8 +2419,8 @@ export declare const catchCause: {
2424
2419
  *
2425
2420
  * // Primary database layer that might fail
2426
2421
  * const primaryDatabaseLayer = Layer.effect(Database)(Effect.gen(function*() {
2427
- * yield* Effect.fail(new DatabaseError({ message: "Primary DB unreachable" }))
2428
- * return { query: (sql: string) => Effect.succeed(`Primary: ${sql}`) }
2422
+ * return yield* new DatabaseError({ message: "Primary DB unreachable" })
2423
+ * return { query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Primary: ${sql}`)) }
2429
2424
  * }))
2430
2425
  *
2431
2426
  * // Fallback layers for different error causes
@@ -2434,11 +2429,12 @@ export declare const catchCause: {
2434
2429
  * // For any cause/error, fallback to in-memory database
2435
2430
  * return Layer.mergeAll(
2436
2431
  * Layer.succeed(Database)({
2437
- * query: (sql: string) => Effect.succeed(`Memory: ${sql}`)
2432
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Memory: ${sql}`))
2438
2433
  * }),
2439
2434
  * Layer.succeed(Logger)({
2440
- * log: (msg: string) =>
2435
+ * log: Effect.fn("Logger.log")((msg: string) =>
2441
2436
  * Effect.sync(() => console.log(`[FALLBACK] ${msg}`))
2437
+ * )
2442
2438
  * })
2443
2439
  * )
2444
2440
  * })
@@ -2532,10 +2528,11 @@ export declare const updateService: {
2532
2528
  * const ref = yield* Ref.make(0)
2533
2529
  * return {
2534
2530
  * count: 0,
2535
- * increment: () =>
2531
+ * increment: Effect.fn("Counter.increment")(() =>
2536
2532
  * Ref.update(ref, (n) => n + 1).pipe(
2537
2533
  * Effect.flatMap(() => Ref.get(ref))
2538
2534
  * )
2535
+ * )
2539
2536
  * }
2540
2537
  * }))
2541
2538
  *
@@ -2588,13 +2585,11 @@ export declare const fresh: <A, E, R>(self: Layer<A, E, R>) => Layer<A, E, R>;
2588
2585
  * yield* Console.log("Starting HTTP server...")
2589
2586
  *
2590
2587
  * return {
2591
- * start: () =>
2592
- * Effect.gen(function*() {
2588
+ * start: Effect.fn("HttpServer.start")(function*() {
2593
2589
  * yield* Console.log("Server listening on port 3000")
2594
2590
  * return "Server started"
2595
2591
  * }),
2596
- * stop: () =>
2597
- * Effect.gen(function*() {
2592
+ * stop: Effect.fn("HttpServer.stop")(function*() {
2598
2593
  * yield* Console.log("Server stopped gracefully")
2599
2594
  * return "Server stopped"
2600
2595
  * })
@@ -2602,7 +2597,7 @@ export declare const fresh: <A, E, R>(self: Layer<A, E, R>) => Layer<A, E, R>;
2602
2597
  * }))
2603
2598
  *
2604
2599
  * const loggerLayer = Layer.succeed(Logger)({
2605
- * log: (msg: string) => Console.log(`[LOG] ${msg}`)
2600
+ * log: Effect.fn("Logger.log")((msg: string) => Console.log(`[LOG] ${msg}`))
2606
2601
  * })
2607
2602
  *
2608
2603
  * // Application layer combining all services
@@ -2815,7 +2810,7 @@ export interface SpanOptions extends Tracer.SpanOptions {
2815
2810
  * yield* Console.log((parentSpan as Tracer.Span).name) // "database-init"
2816
2811
  *
2817
2812
  * return {
2818
- * query: (sql: string) => Effect.succeed(`Result: ${sql}`)
2813
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result: ${sql}`))
2819
2814
  * }
2820
2815
  * })).pipe(Layer.provide(Layer.span("database-init")))
2821
2816
  *
@@ -2859,7 +2854,7 @@ export declare const span: (name: string, options?: SpanOptions) => Layer<Tracer
2859
2854
  * yield* Console.log(parentSpan.spanId) // "42"
2860
2855
  *
2861
2856
  * return {
2862
- * query: (sql: string) => Effect.succeed(`Result: ${sql}`)
2857
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result: ${sql}`))
2863
2858
  * }
2864
2859
  * })
2865
2860
  * ).pipe(Layer.provide(Layer.parentSpan(Tracer.externalSpan({
@@ -2897,14 +2892,14 @@ export declare const parentSpan: (span: Tracer.AnySpan) => Layer<Tracer.ParentSp
2897
2892
  * yield* Effect.log("Connecting to database")
2898
2893
  * yield* Effect.sleep("100 millis")
2899
2894
  * return {
2900
- * query: (sql: string) => Effect.succeed(`Result: ${sql}`)
2895
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result: ${sql}`))
2901
2896
  * }
2902
2897
  * })).pipe(Layer.withSpan("database-initialization", {
2903
2898
  * attributes: { dbType: "postgres" }
2904
2899
  * }))
2905
2900
  *
2906
2901
  * const loggerLayer = Layer.succeed(Logger, {
2907
- * log: (msg: string) => Effect.sync(() => console.log(msg))
2902
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
2908
2903
  * }).pipe(Layer.withSpan("logger-initialization"))
2909
2904
  *
2910
2905
  * // Combine traced layers
@@ -2956,14 +2951,14 @@ export declare const withSpan: {
2956
2951
  * yield* Effect.log("Connecting to database")
2957
2952
  * yield* Effect.sleep("100 millis")
2958
2953
  * return {
2959
- * query: (sql: string) => Effect.succeed(`Result: ${sql}`)
2954
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result: ${sql}`))
2960
2955
  * }
2961
2956
  * })).pipe(Layer.withSpan("database-initialization", {
2962
2957
  * attributes: { dbType: "postgres" }
2963
2958
  * }))
2964
2959
  *
2965
2960
  * const loggerLayer = Layer.succeed(Logger, {
2966
- * log: (msg: string) => Effect.sync(() => console.log(msg))
2961
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
2967
2962
  * }).pipe(Layer.withSpan("logger-initialization"))
2968
2963
  *
2969
2964
  * // Combine traced layers
@@ -3015,14 +3010,14 @@ export declare const withSpan: {
3015
3010
  * yield* Effect.log("Connecting to database")
3016
3011
  * yield* Effect.sleep("100 millis")
3017
3012
  * return {
3018
- * query: (sql: string) => Effect.succeed(`Result: ${sql}`)
3013
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`Result: ${sql}`))
3019
3014
  * }
3020
3015
  * })).pipe(Layer.withSpan("database-initialization", {
3021
3016
  * attributes: { dbType: "postgres" }
3022
3017
  * }))
3023
3018
  *
3024
3019
  * const loggerLayer = Layer.succeed(Logger, {
3025
- * log: (msg: string) => Effect.sync(() => console.log(msg))
3020
+ * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
3026
3021
  * }).pipe(Layer.withSpan("logger-initialization"))
3027
3022
  *
3028
3023
  * // Combine traced layers
@@ -3073,14 +3068,14 @@ export declare const withSpan: {
3073
3068
  * const DatabaseLayer = Layer.effect(Database, Effect.gen(function*() {
3074
3069
  * yield* Effect.log("Connecting to database")
3075
3070
  * return {
3076
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
3071
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
3077
3072
  * }
3078
3073
  * }))
3079
3074
  *
3080
3075
  * const CacheLayer = Layer.effect(Cache, Effect.gen(function*() {
3081
3076
  * yield* Effect.log("Connecting to cache")
3082
3077
  * return {
3083
- * get: (key: string) => Effect.succeed(`Cache: ${key}`)
3078
+ * get: Effect.fn("Cache.get")((key: string) => Effect.succeed(`Cache: ${key}`))
3084
3079
  * }
3085
3080
  * }))
3086
3081
  *
@@ -3133,14 +3128,14 @@ export declare const withParentSpan: {
3133
3128
  * const DatabaseLayer = Layer.effect(Database, Effect.gen(function*() {
3134
3129
  * yield* Effect.log("Connecting to database")
3135
3130
  * return {
3136
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
3131
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
3137
3132
  * }
3138
3133
  * }))
3139
3134
  *
3140
3135
  * const CacheLayer = Layer.effect(Cache, Effect.gen(function*() {
3141
3136
  * yield* Effect.log("Connecting to cache")
3142
3137
  * return {
3143
- * get: (key: string) => Effect.succeed(`Cache: ${key}`)
3138
+ * get: Effect.fn("Cache.get")((key: string) => Effect.succeed(`Cache: ${key}`))
3144
3139
  * }
3145
3140
  * }))
3146
3141
  *
@@ -3193,14 +3188,14 @@ export declare const withParentSpan: {
3193
3188
  * const DatabaseLayer = Layer.effect(Database, Effect.gen(function*() {
3194
3189
  * yield* Effect.log("Connecting to database")
3195
3190
  * return {
3196
- * query: (sql: string) => Effect.succeed(`DB: ${sql}`)
3191
+ * query: Effect.fn("Database.query")((sql: string) => Effect.succeed(`DB: ${sql}`))
3197
3192
  * }
3198
3193
  * }))
3199
3194
  *
3200
3195
  * const CacheLayer = Layer.effect(Cache, Effect.gen(function*() {
3201
3196
  * yield* Effect.log("Connecting to cache")
3202
3197
  * return {
3203
- * get: (key: string) => Effect.succeed(`Cache: ${key}`)
3198
+ * get: Effect.fn("Cache.get")((key: string) => Effect.succeed(`Cache: ${key}`))
3204
3199
  * }
3205
3200
  * }))
3206
3201
  *