effect 4.0.0-beta.42 → 4.0.0-beta.44

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 (851) hide show
  1. package/dist/Cache.d.ts +12 -43
  2. package/dist/Cache.d.ts.map +1 -1
  3. package/dist/Cache.js +15 -42
  4. package/dist/Cache.js.map +1 -1
  5. package/dist/Cause.d.ts +21 -21
  6. package/dist/Cause.d.ts.map +1 -1
  7. package/dist/Cause.js +89 -10
  8. package/dist/Cause.js.map +1 -1
  9. package/dist/Channel.d.ts +42 -19
  10. package/dist/Channel.d.ts.map +1 -1
  11. package/dist/Channel.js +86 -46
  12. package/dist/Channel.js.map +1 -1
  13. package/dist/Clock.d.ts +2 -2
  14. package/dist/Clock.d.ts.map +1 -1
  15. package/dist/Clock.js.map +1 -1
  16. package/dist/Config.d.ts +2 -2
  17. package/dist/ConfigProvider.d.ts +5 -5
  18. package/dist/ConfigProvider.d.ts.map +1 -1
  19. package/dist/ConfigProvider.js +5 -5
  20. package/dist/ConfigProvider.js.map +1 -1
  21. package/dist/Console.d.ts +2 -2
  22. package/dist/Console.d.ts.map +1 -1
  23. package/dist/Console.js.map +1 -1
  24. package/dist/Context.d.ts +1150 -0
  25. package/dist/Context.d.ts.map +1 -0
  26. package/dist/{ServiceMap.js → Context.js} +139 -139
  27. package/dist/Context.js.map +1 -0
  28. package/dist/DateTime.d.ts +2 -2
  29. package/dist/DateTime.d.ts.map +1 -1
  30. package/dist/DateTime.js +2 -2
  31. package/dist/DateTime.js.map +1 -1
  32. package/dist/Effect.d.ts +177 -177
  33. package/dist/Effect.d.ts.map +1 -1
  34. package/dist/Effect.js +81 -81
  35. package/dist/Effect.js.map +1 -1
  36. package/dist/ErrorReporter.d.ts +3 -3
  37. package/dist/ErrorReporter.d.ts.map +1 -1
  38. package/dist/ErrorReporter.js +1 -1
  39. package/dist/ErrorReporter.js.map +1 -1
  40. package/dist/ExecutionPlan.d.ts +6 -6
  41. package/dist/ExecutionPlan.d.ts.map +1 -1
  42. package/dist/ExecutionPlan.js +4 -4
  43. package/dist/ExecutionPlan.js.map +1 -1
  44. package/dist/Fiber.d.ts +7 -7
  45. package/dist/Fiber.d.ts.map +1 -1
  46. package/dist/Fiber.js.map +1 -1
  47. package/dist/FiberHandle.d.ts +2 -2
  48. package/dist/FiberHandle.d.ts.map +1 -1
  49. package/dist/FiberHandle.js +4 -4
  50. package/dist/FiberHandle.js.map +1 -1
  51. package/dist/FiberMap.d.ts +2 -2
  52. package/dist/FiberMap.d.ts.map +1 -1
  53. package/dist/FiberMap.js +4 -4
  54. package/dist/FiberMap.js.map +1 -1
  55. package/dist/FiberSet.d.ts +2 -2
  56. package/dist/FiberSet.d.ts.map +1 -1
  57. package/dist/FiberSet.js +4 -4
  58. package/dist/FiberSet.js.map +1 -1
  59. package/dist/FileSystem.d.ts +3 -3
  60. package/dist/FileSystem.d.ts.map +1 -1
  61. package/dist/FileSystem.js +3 -3
  62. package/dist/FileSystem.js.map +1 -1
  63. package/dist/Layer.d.ts +309 -266
  64. package/dist/Layer.d.ts.map +1 -1
  65. package/dist/Layer.js +156 -132
  66. package/dist/Layer.js.map +1 -1
  67. package/dist/LayerMap.d.ts +18 -18
  68. package/dist/LayerMap.d.ts.map +1 -1
  69. package/dist/LayerMap.js +18 -15
  70. package/dist/LayerMap.js.map +1 -1
  71. package/dist/Logger.d.ts +3 -3
  72. package/dist/Logger.d.ts.map +1 -1
  73. package/dist/Logger.js.map +1 -1
  74. package/dist/ManagedRuntime.d.ts +6 -6
  75. package/dist/ManagedRuntime.d.ts.map +1 -1
  76. package/dist/ManagedRuntime.js +18 -21
  77. package/dist/ManagedRuntime.js.map +1 -1
  78. package/dist/Metric.d.ts +19 -19
  79. package/dist/Metric.d.ts.map +1 -1
  80. package/dist/Metric.js +21 -21
  81. package/dist/Metric.js.map +1 -1
  82. package/dist/Path.d.ts +2 -2
  83. package/dist/Path.d.ts.map +1 -1
  84. package/dist/Path.js +2 -2
  85. package/dist/Path.js.map +1 -1
  86. package/dist/Pool.d.ts.map +1 -1
  87. package/dist/Pool.js +4 -4
  88. package/dist/Pool.js.map +1 -1
  89. package/dist/PubSub.d.ts.map +1 -1
  90. package/dist/PubSub.js +3 -3
  91. package/dist/PubSub.js.map +1 -1
  92. package/dist/Random.d.ts +2 -2
  93. package/dist/Random.d.ts.map +1 -1
  94. package/dist/Random.js +0 -23
  95. package/dist/Random.js.map +1 -1
  96. package/dist/RcMap.d.ts +2 -2
  97. package/dist/RcMap.d.ts.map +1 -1
  98. package/dist/RcMap.js +12 -12
  99. package/dist/RcMap.js.map +1 -1
  100. package/dist/Redactable.d.ts +139 -62
  101. package/dist/Redactable.d.ts.map +1 -1
  102. package/dist/Redactable.js +59 -55
  103. package/dist/Redactable.js.map +1 -1
  104. package/dist/References.d.ts +26 -14
  105. package/dist/References.d.ts.map +1 -1
  106. package/dist/References.js +0 -12
  107. package/dist/References.js.map +1 -1
  108. package/dist/Request.d.ts +5 -5
  109. package/dist/Request.d.ts.map +1 -1
  110. package/dist/Request.js.map +1 -1
  111. package/dist/RequestResolver.d.ts.map +1 -1
  112. package/dist/RequestResolver.js +6 -7
  113. package/dist/RequestResolver.js.map +1 -1
  114. package/dist/Resource.d.ts +0 -3
  115. package/dist/Resource.d.ts.map +1 -1
  116. package/dist/Resource.js +3 -3
  117. package/dist/Resource.js.map +1 -1
  118. package/dist/Schedule.d.ts +2 -2
  119. package/dist/Schedule.d.ts.map +1 -1
  120. package/dist/Schedule.js +2 -2
  121. package/dist/Schedule.js.map +1 -1
  122. package/dist/Scheduler.d.ts +4 -4
  123. package/dist/Scheduler.d.ts.map +1 -1
  124. package/dist/Scheduler.js +7 -4
  125. package/dist/Scheduler.js.map +1 -1
  126. package/dist/Schema.d.ts +531 -214
  127. package/dist/Schema.d.ts.map +1 -1
  128. package/dist/Schema.js +304 -103
  129. package/dist/Schema.js.map +1 -1
  130. package/dist/SchemaAST.d.ts.map +1 -1
  131. package/dist/SchemaAST.js +5 -15
  132. package/dist/SchemaAST.js.map +1 -1
  133. package/dist/SchemaGetter.d.ts +49 -5
  134. package/dist/SchemaGetter.d.ts.map +1 -1
  135. package/dist/SchemaGetter.js +64 -5
  136. package/dist/SchemaGetter.js.map +1 -1
  137. package/dist/SchemaTransformation.d.ts +145 -0
  138. package/dist/SchemaTransformation.d.ts.map +1 -1
  139. package/dist/SchemaTransformation.js +146 -0
  140. package/dist/SchemaTransformation.js.map +1 -1
  141. package/dist/Scope.d.ts +2 -2
  142. package/dist/Scope.d.ts.map +1 -1
  143. package/dist/Scope.js.map +1 -1
  144. package/dist/ScopedCache.d.ts.map +1 -1
  145. package/dist/ScopedCache.js +4 -4
  146. package/dist/ScopedCache.js.map +1 -1
  147. package/dist/Sink.d.ts +6 -6
  148. package/dist/Sink.d.ts.map +1 -1
  149. package/dist/Sink.js +1 -1
  150. package/dist/Sink.js.map +1 -1
  151. package/dist/Stdio.d.ts +2 -2
  152. package/dist/Stdio.d.ts.map +1 -1
  153. package/dist/Stdio.js +2 -2
  154. package/dist/Stdio.js.map +1 -1
  155. package/dist/Stream.d.ts +187 -117
  156. package/dist/Stream.d.ts.map +1 -1
  157. package/dist/Stream.js +133 -57
  158. package/dist/Stream.js.map +1 -1
  159. package/dist/Terminal.d.ts +3 -3
  160. package/dist/Terminal.d.ts.map +1 -1
  161. package/dist/Terminal.js +2 -2
  162. package/dist/Terminal.js.map +1 -1
  163. package/dist/Tracer.d.ts +16 -16
  164. package/dist/Tracer.d.ts.map +1 -1
  165. package/dist/Tracer.js +11 -8
  166. package/dist/Tracer.js.map +1 -1
  167. package/dist/Unify.d.ts +8 -2
  168. package/dist/Unify.d.ts.map +1 -1
  169. package/dist/Unify.js.map +1 -1
  170. package/dist/index.d.ts +81 -15
  171. package/dist/index.d.ts.map +1 -1
  172. package/dist/index.js +81 -15
  173. package/dist/index.js.map +1 -1
  174. package/dist/internal/core.js.map +1 -1
  175. package/dist/internal/effect.js +74 -74
  176. package/dist/internal/effect.js.map +1 -1
  177. package/dist/internal/layer.js +3 -3
  178. package/dist/internal/layer.js.map +1 -1
  179. package/dist/internal/random.js +2 -2
  180. package/dist/internal/random.js.map +1 -1
  181. package/dist/internal/rcRef.js +9 -9
  182. package/dist/internal/rcRef.js.map +1 -1
  183. package/dist/internal/references.js +13 -13
  184. package/dist/internal/references.js.map +1 -1
  185. package/dist/internal/request.js +6 -6
  186. package/dist/internal/request.js.map +1 -1
  187. package/dist/internal/schedule.js +1 -1
  188. package/dist/internal/schedule.js.map +1 -1
  189. package/dist/internal/schema/representation.js +11 -1
  190. package/dist/internal/schema/representation.js.map +1 -1
  191. package/dist/internal/schema/schema.d.ts +10 -1
  192. package/dist/internal/schema/schema.d.ts.map +1 -1
  193. package/dist/internal/schema/schema.js +21 -1
  194. package/dist/internal/schema/schema.js.map +1 -1
  195. package/dist/testing/TestSchema.d.ts +3 -3
  196. package/dist/testing/TestSchema.d.ts.map +1 -1
  197. package/dist/testing/TestSchema.js.map +1 -1
  198. package/dist/unstable/ai/AiError.d.ts +19 -19
  199. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  200. package/dist/unstable/ai/AiError.js +2 -1
  201. package/dist/unstable/ai/AiError.js.map +1 -1
  202. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
  203. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  204. package/dist/unstable/ai/AnthropicStructuredOutput.js +5 -2
  205. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  206. package/dist/unstable/ai/Chat.d.ts +4 -4
  207. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  208. package/dist/unstable/ai/Chat.js +3 -3
  209. package/dist/unstable/ai/Chat.js.map +1 -1
  210. package/dist/unstable/ai/EmbeddingModel.d.ts +6 -6
  211. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
  212. package/dist/unstable/ai/EmbeddingModel.js +3 -3
  213. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  214. package/dist/unstable/ai/IdGenerator.d.ts +2 -2
  215. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  216. package/dist/unstable/ai/IdGenerator.js +2 -2
  217. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  218. package/dist/unstable/ai/LanguageModel.d.ts +2 -2
  219. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  220. package/dist/unstable/ai/LanguageModel.js +2 -2
  221. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  222. package/dist/unstable/ai/McpSchema.d.ts +54 -54
  223. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  224. package/dist/unstable/ai/McpSchema.js +15 -8
  225. package/dist/unstable/ai/McpSchema.js.map +1 -1
  226. package/dist/unstable/ai/McpServer.d.ts +22 -22
  227. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  228. package/dist/unstable/ai/McpServer.js +25 -25
  229. package/dist/unstable/ai/McpServer.js.map +1 -1
  230. package/dist/unstable/ai/Model.d.ts +3 -3
  231. package/dist/unstable/ai/Model.d.ts.map +1 -1
  232. package/dist/unstable/ai/Model.js +5 -5
  233. package/dist/unstable/ai/Model.js.map +1 -1
  234. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
  235. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  236. package/dist/unstable/ai/OpenAiStructuredOutput.js +2 -1
  237. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  238. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  239. package/dist/unstable/ai/Prompt.js +6 -9
  240. package/dist/unstable/ai/Prompt.js.map +1 -1
  241. package/dist/unstable/ai/Response.d.ts +1 -1
  242. package/dist/unstable/ai/Response.d.ts.map +1 -1
  243. package/dist/unstable/ai/Response.js +6 -7
  244. package/dist/unstable/ai/Response.js.map +1 -1
  245. package/dist/unstable/ai/ResponseIdTracker.d.ts +2 -2
  246. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
  247. package/dist/unstable/ai/ResponseIdTracker.js +2 -2
  248. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  249. package/dist/unstable/ai/Telemetry.d.ts +35 -2
  250. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  251. package/dist/unstable/ai/Telemetry.js +2 -2
  252. package/dist/unstable/ai/Telemetry.js.map +1 -1
  253. package/dist/unstable/ai/Tokenizer.d.ts +2 -2
  254. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  255. package/dist/unstable/ai/Tokenizer.js +2 -2
  256. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  257. package/dist/unstable/ai/Tool.d.ts +16 -16
  258. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  259. package/dist/unstable/ai/Tool.js +41 -13
  260. package/dist/unstable/ai/Tool.js.map +1 -1
  261. package/dist/unstable/ai/Toolkit.d.ts +3 -3
  262. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  263. package/dist/unstable/ai/Toolkit.js +10 -10
  264. package/dist/unstable/ai/Toolkit.js.map +1 -1
  265. package/dist/unstable/ai/internal/codec-transformer.js +5 -2
  266. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  267. package/dist/unstable/cli/Argument.d.ts +2 -3
  268. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  269. package/dist/unstable/cli/Argument.js.map +1 -1
  270. package/dist/unstable/cli/CliError.d.ts +29 -8
  271. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  272. package/dist/unstable/cli/CliError.js +8 -1
  273. package/dist/unstable/cli/CliError.js.map +1 -1
  274. package/dist/unstable/cli/CliOutput.d.ts +2 -2
  275. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  276. package/dist/unstable/cli/CliOutput.js +2 -2
  277. package/dist/unstable/cli/CliOutput.js.map +1 -1
  278. package/dist/unstable/cli/Command.d.ts +14 -14
  279. package/dist/unstable/cli/Command.d.ts.map +1 -1
  280. package/dist/unstable/cli/Command.js +11 -10
  281. package/dist/unstable/cli/Command.js.map +1 -1
  282. package/dist/unstable/cli/Flag.d.ts +2 -3
  283. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  284. package/dist/unstable/cli/Flag.js.map +1 -1
  285. package/dist/unstable/cli/GlobalFlag.d.ts +2 -2
  286. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  287. package/dist/unstable/cli/GlobalFlag.js +2 -2
  288. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  289. package/dist/unstable/cli/HelpDoc.d.ts +8 -8
  290. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  291. package/dist/unstable/cli/Param.d.ts +30 -2
  292. package/dist/unstable/cli/Param.d.ts.map +1 -1
  293. package/dist/unstable/cli/Param.js +17 -7
  294. package/dist/unstable/cli/Param.js.map +1 -1
  295. package/dist/unstable/cli/Prompt.js +8 -2
  296. package/dist/unstable/cli/Prompt.js.map +1 -1
  297. package/dist/unstable/cli/internal/command.d.ts +5 -5
  298. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  299. package/dist/unstable/cli/internal/command.js +3 -3
  300. package/dist/unstable/cli/internal/command.js.map +1 -1
  301. package/dist/unstable/cli/internal/parser.js +94 -15
  302. package/dist/unstable/cli/internal/parser.js.map +1 -1
  303. package/dist/unstable/cluster/ClusterError.d.ts +7 -7
  304. package/dist/unstable/cluster/ClusterSchema.d.ts +12 -9
  305. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  306. package/dist/unstable/cluster/ClusterSchema.js +9 -9
  307. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  308. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +1 -0
  309. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  310. package/dist/unstable/cluster/ClusterWorkflowEngine.js +68 -40
  311. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  312. package/dist/unstable/cluster/Entity.d.ts +10 -10
  313. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  314. package/dist/unstable/cluster/Entity.js +25 -20
  315. package/dist/unstable/cluster/Entity.js.map +1 -1
  316. package/dist/unstable/cluster/EntityAddress.d.ts +2 -2
  317. package/dist/unstable/cluster/EntityProxy.js +3 -3
  318. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  319. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  320. package/dist/unstable/cluster/EntityProxyServer.js +4 -4
  321. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  322. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  323. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  324. package/dist/unstable/cluster/EntityResource.js +2 -2
  325. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  326. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  327. package/dist/unstable/cluster/HttpRunner.js +2 -2
  328. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  329. package/dist/unstable/cluster/K8sHttpClient.d.ts +4 -4
  330. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  331. package/dist/unstable/cluster/K8sHttpClient.js +2 -2
  332. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  333. package/dist/unstable/cluster/Message.d.ts +7 -4
  334. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  335. package/dist/unstable/cluster/Message.js +5 -5
  336. package/dist/unstable/cluster/Message.js.map +1 -1
  337. package/dist/unstable/cluster/MessageStorage.d.ts +14 -14
  338. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  339. package/dist/unstable/cluster/MessageStorage.js +8 -8
  340. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  341. package/dist/unstable/cluster/Reply.d.ts +2 -2
  342. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  343. package/dist/unstable/cluster/Reply.js +5 -5
  344. package/dist/unstable/cluster/Reply.js.map +1 -1
  345. package/dist/unstable/cluster/Runner.d.ts +1 -1
  346. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  347. package/dist/unstable/cluster/RunnerHealth.d.ts +2 -2
  348. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  349. package/dist/unstable/cluster/RunnerHealth.js +2 -2
  350. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  351. package/dist/unstable/cluster/RunnerServer.js +1 -1
  352. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  353. package/dist/unstable/cluster/RunnerStorage.d.ts +12 -12
  354. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  355. package/dist/unstable/cluster/RunnerStorage.js +3 -3
  356. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  357. package/dist/unstable/cluster/Runners.d.ts +3 -3
  358. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  359. package/dist/unstable/cluster/Runners.js +7 -7
  360. package/dist/unstable/cluster/Runners.js.map +1 -1
  361. package/dist/unstable/cluster/ShardId.d.ts +35 -49
  362. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  363. package/dist/unstable/cluster/ShardId.js +65 -67
  364. package/dist/unstable/cluster/ShardId.js.map +1 -1
  365. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  366. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  367. package/dist/unstable/cluster/Sharding.js +21 -21
  368. package/dist/unstable/cluster/Sharding.js.map +1 -1
  369. package/dist/unstable/cluster/ShardingConfig.d.ts +2 -2
  370. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  371. package/dist/unstable/cluster/ShardingConfig.js +5 -5
  372. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  373. package/dist/unstable/cluster/SingletonAddress.d.ts +2 -2
  374. package/dist/unstable/cluster/Snowflake.d.ts +2 -2
  375. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  376. package/dist/unstable/cluster/Snowflake.js +2 -2
  377. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  378. package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
  379. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  380. package/dist/unstable/cluster/internal/entityManager.js +15 -14
  381. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  382. package/dist/unstable/cluster/internal/entityReaper.js +2 -2
  383. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  384. package/dist/unstable/cluster/internal/resourceMap.js +3 -3
  385. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  386. package/dist/unstable/devtools/DevToolsClient.d.ts +2 -2
  387. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  388. package/dist/unstable/devtools/DevToolsClient.js +5 -5
  389. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  390. package/dist/unstable/eventlog/EventJournal.d.ts +4 -4
  391. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  392. package/dist/unstable/eventlog/EventJournal.js +2 -2
  393. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  394. package/dist/unstable/eventlog/EventLog.d.ts +5 -5
  395. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  396. package/dist/unstable/eventlog/EventLog.js +18 -18
  397. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  398. package/dist/unstable/eventlog/EventLogEncryption.d.ts +2 -2
  399. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  400. package/dist/unstable/eventlog/EventLogEncryption.js +2 -2
  401. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  402. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -12
  403. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  404. package/dist/unstable/eventlog/EventLogRemote.js +2 -2
  405. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  406. package/dist/unstable/eventlog/EventLogServer.d.ts +3 -3
  407. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  408. package/dist/unstable/eventlog/EventLogServer.js +2 -2
  409. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  410. package/dist/unstable/http/Etag.d.ts +2 -2
  411. package/dist/unstable/http/Etag.d.ts.map +1 -1
  412. package/dist/unstable/http/Etag.js +2 -2
  413. package/dist/unstable/http/Etag.js.map +1 -1
  414. package/dist/unstable/http/FetchHttpClient.d.ts +6 -3
  415. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  416. package/dist/unstable/http/FetchHttpClient.js +5 -5
  417. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  418. package/dist/unstable/http/Headers.d.ts +5 -2
  419. package/dist/unstable/http/Headers.d.ts.map +1 -1
  420. package/dist/unstable/http/Headers.js +3 -3
  421. package/dist/unstable/http/Headers.js.map +1 -1
  422. package/dist/unstable/http/HttpClient.d.ts +8 -6
  423. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  424. package/dist/unstable/http/HttpClient.js +6 -6
  425. package/dist/unstable/http/HttpClient.js.map +1 -1
  426. package/dist/unstable/http/HttpClientError.d.ts +1 -1
  427. package/dist/unstable/http/HttpClientRequest.d.ts +2 -2
  428. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  429. package/dist/unstable/http/HttpClientRequest.js +4 -4
  430. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  431. package/dist/unstable/http/HttpEffect.d.ts +6 -6
  432. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  433. package/dist/unstable/http/HttpEffect.js +24 -24
  434. package/dist/unstable/http/HttpEffect.js.map +1 -1
  435. package/dist/unstable/http/HttpIncomingMessage.d.ts +2 -2
  436. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  437. package/dist/unstable/http/HttpIncomingMessage.js +2 -2
  438. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  439. package/dist/unstable/http/HttpMiddleware.d.ts +3 -3
  440. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  441. package/dist/unstable/http/HttpMiddleware.js +26 -14
  442. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  443. package/dist/unstable/http/HttpPlatform.d.ts +2 -2
  444. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  445. package/dist/unstable/http/HttpPlatform.js +2 -2
  446. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  447. package/dist/unstable/http/HttpRouter.d.ts +7 -7
  448. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  449. package/dist/unstable/http/HttpRouter.js +29 -29
  450. package/dist/unstable/http/HttpRouter.js.map +1 -1
  451. package/dist/unstable/http/HttpServer.d.ts +2 -2
  452. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  453. package/dist/unstable/http/HttpServer.js +2 -2
  454. package/dist/unstable/http/HttpServer.js.map +1 -1
  455. package/dist/unstable/http/HttpServerError.d.ts +3 -3
  456. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  457. package/dist/unstable/http/HttpServerError.js +3 -3
  458. package/dist/unstable/http/HttpServerError.js.map +1 -1
  459. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  460. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  461. package/dist/unstable/http/HttpServerRequest.js +6 -6
  462. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  463. package/dist/unstable/http/HttpServerResponse.d.ts +2 -2
  464. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  465. package/dist/unstable/http/HttpServerResponse.js +6 -6
  466. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  467. package/dist/unstable/http/Multipart.d.ts +6 -6
  468. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  469. package/dist/unstable/http/Multipart.js +7 -7
  470. package/dist/unstable/http/Multipart.js.map +1 -1
  471. package/dist/unstable/httpapi/HttpApi.d.ts +9 -9
  472. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  473. package/dist/unstable/httpapi/HttpApi.js +8 -8
  474. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  475. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +0 -3
  476. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  477. package/dist/unstable/httpapi/HttpApiBuilder.js +20 -20
  478. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  479. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  480. package/dist/unstable/httpapi/HttpApiClient.js +1 -1
  481. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  482. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +7 -7
  483. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  484. package/dist/unstable/httpapi/HttpApiEndpoint.js +4 -4
  485. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  486. package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
  487. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  488. package/dist/unstable/httpapi/HttpApiGroup.d.ts +8 -8
  489. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  490. package/dist/unstable/httpapi/HttpApiGroup.js +4 -4
  491. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  492. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +6 -6
  493. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  494. package/dist/unstable/httpapi/HttpApiMiddleware.js +5 -5
  495. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  496. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +9 -6
  497. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  498. package/dist/unstable/httpapi/HttpApiSecurity.js +6 -6
  499. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  500. package/dist/unstable/httpapi/OpenApi.d.ts +15 -15
  501. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  502. package/dist/unstable/httpapi/OpenApi.js +23 -23
  503. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  504. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  505. package/dist/unstable/observability/OtlpExporter.js +5 -5
  506. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  507. package/dist/unstable/observability/OtlpMetrics.js +1 -1
  508. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  509. package/dist/unstable/observability/OtlpSerialization.d.ts +2 -2
  510. package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
  511. package/dist/unstable/observability/OtlpSerialization.js +2 -2
  512. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  513. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  514. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  515. package/dist/unstable/observability/PrometheusMetrics.d.ts +3 -3
  516. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  517. package/dist/unstable/observability/PrometheusMetrics.js +4 -33
  518. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  519. package/dist/unstable/persistence/KeyValueStore.d.ts +23 -2
  520. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  521. package/dist/unstable/persistence/KeyValueStore.js +144 -2
  522. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  523. package/dist/unstable/persistence/PersistedCache.d.ts +1 -2
  524. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  525. package/dist/unstable/persistence/PersistedCache.js +10 -11
  526. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  527. package/dist/unstable/persistence/PersistedQueue.d.ts +4 -4
  528. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  529. package/dist/unstable/persistence/PersistedQueue.js +3 -3
  530. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  531. package/dist/unstable/persistence/Persistence.d.ts +4 -4
  532. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  533. package/dist/unstable/persistence/Persistence.js +3 -3
  534. package/dist/unstable/persistence/Persistence.js.map +1 -1
  535. package/dist/unstable/persistence/RateLimiter.d.ts +6 -6
  536. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  537. package/dist/unstable/persistence/RateLimiter.js +3 -3
  538. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  539. package/dist/unstable/persistence/Redis.d.ts +3 -3
  540. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  541. package/dist/unstable/persistence/Redis.js +2 -2
  542. package/dist/unstable/persistence/Redis.js.map +1 -1
  543. package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -2
  544. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  545. package/dist/unstable/process/ChildProcessSpawner.js +2 -2
  546. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  547. package/dist/unstable/reactivity/Atom.d.ts +36 -36
  548. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  549. package/dist/unstable/reactivity/Atom.js +9 -9
  550. package/dist/unstable/reactivity/Atom.js.map +1 -1
  551. package/dist/unstable/reactivity/AtomHttpApi.d.ts +3 -3
  552. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  553. package/dist/unstable/reactivity/AtomHttpApi.js +2 -2
  554. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  555. package/dist/unstable/reactivity/AtomRegistry.d.ts +2 -2
  556. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  557. package/dist/unstable/reactivity/AtomRegistry.js +3 -3
  558. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  559. package/dist/unstable/reactivity/AtomRpc.d.ts +3 -3
  560. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  561. package/dist/unstable/reactivity/AtomRpc.js +2 -2
  562. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  563. package/dist/unstable/reactivity/Reactivity.d.ts +2 -2
  564. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  565. package/dist/unstable/reactivity/Reactivity.js +6 -6
  566. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  567. package/dist/unstable/rpc/Rpc.d.ts +11 -11
  568. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  569. package/dist/unstable/rpc/Rpc.js +4 -4
  570. package/dist/unstable/rpc/Rpc.js.map +1 -1
  571. package/dist/unstable/rpc/RpcClient.d.ts +18 -8
  572. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  573. package/dist/unstable/rpc/RpcClient.js +27 -18
  574. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  575. package/dist/unstable/rpc/RpcClientError.d.ts +2 -2
  576. package/dist/unstable/rpc/RpcGroup.d.ts +7 -7
  577. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  578. package/dist/unstable/rpc/RpcGroup.js +20 -20
  579. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  580. package/dist/unstable/rpc/RpcMiddleware.d.ts +6 -6
  581. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  582. package/dist/unstable/rpc/RpcMiddleware.js +5 -5
  583. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  584. package/dist/unstable/rpc/RpcSchema.d.ts +3 -3
  585. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  586. package/dist/unstable/rpc/RpcSchema.js +3 -3
  587. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  588. package/dist/unstable/rpc/RpcSerialization.d.ts +2 -2
  589. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  590. package/dist/unstable/rpc/RpcSerialization.js +7 -7
  591. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  592. package/dist/unstable/rpc/RpcServer.d.ts +2 -2
  593. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  594. package/dist/unstable/rpc/RpcServer.js +18 -18
  595. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  596. package/dist/unstable/rpc/RpcWorker.d.ts +2 -2
  597. package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
  598. package/dist/unstable/rpc/RpcWorker.js +4 -4
  599. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  600. package/dist/unstable/rpc/Utils.d.ts +0 -3
  601. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  602. package/dist/unstable/rpc/Utils.js +2 -5
  603. package/dist/unstable/rpc/Utils.js.map +1 -1
  604. package/dist/unstable/socket/Socket.d.ts +10 -10
  605. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  606. package/dist/unstable/socket/Socket.js +9 -9
  607. package/dist/unstable/socket/Socket.js.map +1 -1
  608. package/dist/unstable/socket/SocketServer.d.ts +5 -2
  609. package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
  610. package/dist/unstable/socket/SocketServer.js +2 -2
  611. package/dist/unstable/socket/SocketServer.js.map +1 -1
  612. package/dist/unstable/sql/SqlClient.d.ts +5 -5
  613. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  614. package/dist/unstable/sql/SqlClient.js +7 -7
  615. package/dist/unstable/sql/SqlClient.js.map +1 -1
  616. package/dist/unstable/sql/SqlConnection.d.ts +2 -2
  617. package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
  618. package/dist/unstable/sql/SqlConnection.js +5 -2
  619. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  620. package/dist/unstable/sql/SqlError.d.ts +12 -12
  621. package/dist/unstable/sql/SqlModel.d.ts +8 -9
  622. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  623. package/dist/unstable/sql/SqlModel.js +9 -35
  624. package/dist/unstable/sql/SqlModel.js.map +1 -1
  625. package/dist/unstable/sql/SqlResolver.js +11 -11
  626. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  627. package/dist/unstable/sql/Statement.d.ts +2 -2
  628. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  629. package/dist/unstable/sql/Statement.js +2 -2
  630. package/dist/unstable/sql/Statement.js.map +1 -1
  631. package/dist/unstable/workers/Transferable.d.ts +2 -2
  632. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  633. package/dist/unstable/workers/Transferable.js +6 -6
  634. package/dist/unstable/workers/Transferable.js.map +1 -1
  635. package/dist/unstable/workers/Worker.d.ts +3 -3
  636. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  637. package/dist/unstable/workers/Worker.js +6 -3
  638. package/dist/unstable/workers/Worker.js.map +1 -1
  639. package/dist/unstable/workers/WorkerError.d.ts +5 -5
  640. package/dist/unstable/workers/WorkerRunner.d.ts +2 -2
  641. package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
  642. package/dist/unstable/workers/WorkerRunner.js +5 -2
  643. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  644. package/dist/unstable/workflow/Activity.d.ts +7 -7
  645. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  646. package/dist/unstable/workflow/Activity.js +7 -7
  647. package/dist/unstable/workflow/Activity.js.map +1 -1
  648. package/dist/unstable/workflow/DurableClock.d.ts +0 -3
  649. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  650. package/dist/unstable/workflow/DurableClock.js +3 -3
  651. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  652. package/dist/unstable/workflow/DurableDeferred.d.ts +1 -1
  653. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  654. package/dist/unstable/workflow/DurableDeferred.js +7 -7
  655. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  656. package/dist/unstable/workflow/Workflow.d.ts +9 -9
  657. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  658. package/dist/unstable/workflow/Workflow.js +18 -18
  659. package/dist/unstable/workflow/Workflow.js.map +1 -1
  660. package/dist/unstable/workflow/WorkflowEngine.d.ts +9 -3
  661. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  662. package/dist/unstable/workflow/WorkflowEngine.js +14 -5
  663. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  664. package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
  665. package/dist/unstable/workflow/WorkflowProxyServer.js +4 -4
  666. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  667. package/package.json +1 -1
  668. package/src/Cache.ts +18 -46
  669. package/src/Cause.ts +21 -21
  670. package/src/Channel.ts +120 -79
  671. package/src/Clock.ts +2 -2
  672. package/src/Config.ts +2 -2
  673. package/src/ConfigProvider.ts +5 -5
  674. package/src/Console.ts +2 -2
  675. package/src/{ServiceMap.ts → Context.ts} +337 -340
  676. package/src/DateTime.ts +2 -2
  677. package/src/Effect.ts +182 -184
  678. package/src/ErrorReporter.ts +3 -3
  679. package/src/ExecutionPlan.ts +8 -9
  680. package/src/Fiber.ts +7 -7
  681. package/src/FiberHandle.ts +5 -5
  682. package/src/FiberMap.ts +5 -5
  683. package/src/FiberSet.ts +5 -5
  684. package/src/FileSystem.ts +3 -3
  685. package/src/Layer.ts +358 -305
  686. package/src/LayerMap.ts +27 -26
  687. package/src/Logger.ts +3 -3
  688. package/src/ManagedRuntime.ts +32 -32
  689. package/src/Metric.ts +58 -58
  690. package/src/Path.ts +2 -2
  691. package/src/Pool.ts +5 -5
  692. package/src/PubSub.ts +3 -3
  693. package/src/Random.ts +2 -2
  694. package/src/RcMap.ts +14 -14
  695. package/src/Redactable.ts +146 -72
  696. package/src/References.ts +14 -14
  697. package/src/Request.ts +5 -5
  698. package/src/RequestResolver.ts +6 -7
  699. package/src/Resource.ts +4 -4
  700. package/src/Schedule.ts +2 -2
  701. package/src/Scheduler.ts +4 -4
  702. package/src/Schema.ts +837 -397
  703. package/src/SchemaAST.ts +5 -14
  704. package/src/SchemaGetter.ts +69 -11
  705. package/src/SchemaTransformation.ts +166 -0
  706. package/src/Scope.ts +2 -2
  707. package/src/ScopedCache.ts +5 -5
  708. package/src/Sink.ts +9 -9
  709. package/src/Stdio.ts +2 -2
  710. package/src/Stream.ts +234 -158
  711. package/src/Terminal.ts +3 -3
  712. package/src/Tracer.ts +17 -17
  713. package/src/Unify.ts +26 -2
  714. package/src/index.ts +82 -16
  715. package/src/internal/core.ts +7 -7
  716. package/src/internal/effect.ts +106 -106
  717. package/src/internal/layer.ts +7 -7
  718. package/src/internal/random.ts +2 -2
  719. package/src/internal/rcRef.ts +10 -10
  720. package/src/internal/references.ts +13 -13
  721. package/src/internal/request.ts +8 -8
  722. package/src/internal/schedule.ts +3 -1
  723. package/src/internal/schema/representation.ts +8 -1
  724. package/src/internal/schema/schema.ts +24 -1
  725. package/src/testing/TestSchema.ts +3 -3
  726. package/src/unstable/ai/AiError.ts +3 -2
  727. package/src/unstable/ai/AnthropicStructuredOutput.ts +3 -3
  728. package/src/unstable/ai/Chat.ts +3 -3
  729. package/src/unstable/ai/EmbeddingModel.ts +3 -3
  730. package/src/unstable/ai/IdGenerator.ts +2 -2
  731. package/src/unstable/ai/LanguageModel.ts +2 -2
  732. package/src/unstable/ai/McpSchema.ts +11 -9
  733. package/src/unstable/ai/McpServer.ts +44 -44
  734. package/src/unstable/ai/Model.ts +8 -8
  735. package/src/unstable/ai/OpenAiStructuredOutput.ts +2 -2
  736. package/src/unstable/ai/Prompt.ts +6 -12
  737. package/src/unstable/ai/Response.ts +6 -8
  738. package/src/unstable/ai/ResponseIdTracker.ts +2 -4
  739. package/src/unstable/ai/Telemetry.ts +2 -2
  740. package/src/unstable/ai/Tokenizer.ts +2 -2
  741. package/src/unstable/ai/Tool.ts +25 -25
  742. package/src/unstable/ai/Toolkit.ts +12 -12
  743. package/src/unstable/ai/internal/codec-transformer.ts +3 -2
  744. package/src/unstable/cli/Argument.ts +3 -4
  745. package/src/unstable/cli/CliError.ts +22 -9
  746. package/src/unstable/cli/CliOutput.ts +2 -2
  747. package/src/unstable/cli/Command.ts +36 -30
  748. package/src/unstable/cli/Flag.ts +3 -4
  749. package/src/unstable/cli/GlobalFlag.ts +3 -3
  750. package/src/unstable/cli/HelpDoc.ts +8 -8
  751. package/src/unstable/cli/Param.ts +39 -16
  752. package/src/unstable/cli/Prompt.ts +13 -6
  753. package/src/unstable/cli/internal/command.ts +7 -7
  754. package/src/unstable/cli/internal/parser.ts +130 -21
  755. package/src/unstable/cluster/ClusterSchema.ts +12 -12
  756. package/src/unstable/cluster/ClusterWorkflowEngine.ts +91 -53
  757. package/src/unstable/cluster/Entity.ts +43 -32
  758. package/src/unstable/cluster/EntityProxy.ts +3 -3
  759. package/src/unstable/cluster/EntityProxyServer.ts +4 -4
  760. package/src/unstable/cluster/EntityResource.ts +2 -2
  761. package/src/unstable/cluster/HttpRunner.ts +2 -2
  762. package/src/unstable/cluster/K8sHttpClient.ts +2 -2
  763. package/src/unstable/cluster/Message.ts +8 -8
  764. package/src/unstable/cluster/MessageStorage.ts +11 -11
  765. package/src/unstable/cluster/Reply.ts +7 -7
  766. package/src/unstable/cluster/RunnerHealth.ts +2 -2
  767. package/src/unstable/cluster/RunnerServer.ts +1 -1
  768. package/src/unstable/cluster/RunnerStorage.ts +9 -9
  769. package/src/unstable/cluster/Runners.ts +7 -7
  770. package/src/unstable/cluster/ShardId.ts +84 -74
  771. package/src/unstable/cluster/Sharding.ts +26 -26
  772. package/src/unstable/cluster/ShardingConfig.ts +5 -5
  773. package/src/unstable/cluster/Snowflake.ts +2 -2
  774. package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
  775. package/src/unstable/cluster/internal/entityManager.ts +27 -23
  776. package/src/unstable/cluster/internal/entityReaper.ts +2 -2
  777. package/src/unstable/cluster/internal/resourceMap.ts +3 -3
  778. package/src/unstable/devtools/DevToolsClient.ts +5 -5
  779. package/src/unstable/eventlog/EventJournal.ts +2 -2
  780. package/src/unstable/eventlog/EventLog.ts +21 -21
  781. package/src/unstable/eventlog/EventLogEncryption.ts +2 -2
  782. package/src/unstable/eventlog/EventLogRemote.ts +2 -2
  783. package/src/unstable/eventlog/EventLogServer.ts +2 -2
  784. package/src/unstable/http/Etag.ts +2 -2
  785. package/src/unstable/http/FetchHttpClient.ts +5 -5
  786. package/src/unstable/http/Headers.ts +4 -4
  787. package/src/unstable/http/HttpClient.ts +9 -8
  788. package/src/unstable/http/HttpClientRequest.ts +5 -5
  789. package/src/unstable/http/HttpEffect.ts +35 -35
  790. package/src/unstable/http/HttpIncomingMessage.ts +2 -2
  791. package/src/unstable/http/HttpMiddleware.ts +28 -14
  792. package/src/unstable/http/HttpPlatform.ts +2 -2
  793. package/src/unstable/http/HttpRouter.ts +37 -37
  794. package/src/unstable/http/HttpServer.ts +2 -2
  795. package/src/unstable/http/HttpServerError.ts +4 -4
  796. package/src/unstable/http/HttpServerRequest.ts +7 -7
  797. package/src/unstable/http/HttpServerResponse.ts +8 -8
  798. package/src/unstable/http/Multipart.ts +8 -8
  799. package/src/unstable/httpapi/HttpApi.ts +18 -18
  800. package/src/unstable/httpapi/HttpApiBuilder.ts +20 -20
  801. package/src/unstable/httpapi/HttpApiClient.ts +4 -4
  802. package/src/unstable/httpapi/HttpApiEndpoint.ts +14 -14
  803. package/src/unstable/httpapi/HttpApiGroup.ts +16 -16
  804. package/src/unstable/httpapi/HttpApiMiddleware.ts +14 -14
  805. package/src/unstable/httpapi/HttpApiSecurity.ts +13 -13
  806. package/src/unstable/httpapi/OpenApi.ts +29 -31
  807. package/src/unstable/observability/OtlpExporter.ts +5 -5
  808. package/src/unstable/observability/OtlpMetrics.ts +1 -1
  809. package/src/unstable/observability/OtlpSerialization.ts +2 -2
  810. package/src/unstable/observability/OtlpTracer.ts +2 -2
  811. package/src/unstable/observability/PrometheusMetrics.ts +5 -5
  812. package/src/unstable/persistence/KeyValueStore.ts +226 -3
  813. package/src/unstable/persistence/PersistedCache.ts +20 -17
  814. package/src/unstable/persistence/PersistedQueue.ts +3 -3
  815. package/src/unstable/persistence/Persistence.ts +4 -4
  816. package/src/unstable/persistence/RateLimiter.ts +3 -3
  817. package/src/unstable/persistence/Redis.ts +2 -2
  818. package/src/unstable/process/ChildProcessSpawner.ts +46 -2
  819. package/src/unstable/reactivity/Atom.ts +79 -79
  820. package/src/unstable/reactivity/AtomHttpApi.ts +4 -4
  821. package/src/unstable/reactivity/AtomRegistry.ts +4 -4
  822. package/src/unstable/reactivity/AtomRpc.ts +4 -4
  823. package/src/unstable/reactivity/Reactivity.ts +6 -6
  824. package/src/unstable/rpc/Rpc.ts +17 -17
  825. package/src/unstable/rpc/RpcClient.ts +44 -30
  826. package/src/unstable/rpc/RpcGroup.ts +30 -30
  827. package/src/unstable/rpc/RpcMiddleware.ts +14 -14
  828. package/src/unstable/rpc/RpcSchema.ts +4 -4
  829. package/src/unstable/rpc/RpcSerialization.ts +7 -7
  830. package/src/unstable/rpc/RpcServer.ts +19 -19
  831. package/src/unstable/rpc/RpcWorker.ts +5 -5
  832. package/src/unstable/rpc/Utils.ts +4 -4
  833. package/src/unstable/socket/Socket.ts +9 -9
  834. package/src/unstable/socket/SocketServer.ts +2 -2
  835. package/src/unstable/sql/SqlClient.ts +11 -11
  836. package/src/unstable/sql/SqlConnection.ts +2 -2
  837. package/src/unstable/sql/SqlModel.ts +54 -82
  838. package/src/unstable/sql/SqlResolver.ts +11 -11
  839. package/src/unstable/sql/Statement.ts +2 -2
  840. package/src/unstable/workers/Transferable.ts +6 -6
  841. package/src/unstable/workers/Worker.ts +4 -4
  842. package/src/unstable/workers/WorkerRunner.ts +2 -2
  843. package/src/unstable/workflow/Activity.ts +14 -14
  844. package/src/unstable/workflow/DurableClock.ts +3 -3
  845. package/src/unstable/workflow/DurableDeferred.ts +8 -8
  846. package/src/unstable/workflow/Workflow.ts +23 -23
  847. package/src/unstable/workflow/WorkflowEngine.ts +28 -6
  848. package/src/unstable/workflow/WorkflowProxyServer.ts +4 -4
  849. package/dist/ServiceMap.d.ts +0 -1150
  850. package/dist/ServiceMap.d.ts.map +0 -1
  851. package/dist/ServiceMap.js.map +0 -1
package/dist/Layer.d.ts CHANGED
@@ -20,15 +20,16 @@
20
20
  import type { NonEmptyReadonlyArray } from "./Array.ts";
21
21
  import type * as Cause from "./Cause.ts";
22
22
  import type * as Channel from "./Channel.ts";
23
+ import * as Context from "./Context.ts";
23
24
  import type { Effect } from "./Effect.ts";
24
25
  import type * as Exit from "./Exit.ts";
25
26
  import type { LazyArg } from "./Function.ts";
26
27
  import { type Pipeable } from "./Pipeable.ts";
27
28
  import * as Scope from "./Scope.ts";
28
- import * as ServiceMap from "./ServiceMap.ts";
29
29
  import type * as Stream from "./Stream.ts";
30
30
  import * as Tracer from "./Tracer.ts";
31
31
  import type * as Types from "./Types.ts";
32
+ import type * as Unify from "./Unify.ts";
32
33
  declare const TypeId = "~effect/Layer";
33
34
  /**
34
35
  * A Layer describes how to build one or more services for dependency injection.
@@ -42,6 +43,24 @@ declare const TypeId = "~effect/Layer";
42
43
  * @category models
43
44
  */
44
45
  export interface Layer<in ROut, out E = never, out RIn = never> extends Variance<ROut, E, RIn>, Pipeable {
46
+ [Unify.typeSymbol]?: unknown;
47
+ [Unify.unifySymbol]?: LayerUnify<this>;
48
+ [Unify.ignoreSymbol]?: LayerUnifyIgnore;
49
+ }
50
+ /**
51
+ * @since 4.0.0
52
+ * @category models
53
+ */
54
+ export interface LayerUnify<A extends {
55
+ [Unify.typeSymbol]?: any;
56
+ }> {
57
+ Layer?: () => A[Unify.typeSymbol] extends Layer<any, any, any> | infer _ ? Layer<Success<Extract<A[Unify.typeSymbol], Any>>, Error<Extract<A[Unify.typeSymbol], Any>>, Services<Extract<A[Unify.typeSymbol], Any>>> : never;
58
+ }
59
+ /**
60
+ * @since 4.0.0
61
+ * @category models
62
+ */
63
+ export interface LayerUnifyIgnore {
45
64
  }
46
65
  /**
47
66
  * The variance interface for Layer type parameters.
@@ -102,9 +121,9 @@ declare const MemoMapTypeId = "~effect/Layer/MemoMap";
102
121
  *
103
122
  * @example
104
123
  * ```ts
105
- * import { Effect, Layer, ServiceMap } from "effect"
124
+ * import { Effect, Layer, Context } from "effect"
106
125
  *
107
- * class Database extends ServiceMap.Service<Database, {
126
+ * class Database extends Context.Service<Database, {
108
127
  * readonly query: (sql: string) => Effect.Effect<string>
109
128
  * }>()("Database") {}
110
129
  *
@@ -116,9 +135,9 @@ declare const MemoMapTypeId = "~effect/Layer/MemoMap";
116
135
  * const dbLayer = Layer.succeed(Database)({
117
136
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
118
137
  * })
119
- * const services = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
138
+ * const context = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
120
139
  *
121
- * return ServiceMap.get(services, Database)
140
+ * return Context.get(context, Database)
122
141
  * })
123
142
  * ```
124
143
  *
@@ -127,16 +146,16 @@ declare const MemoMapTypeId = "~effect/Layer/MemoMap";
127
146
  */
128
147
  export interface MemoMap {
129
148
  readonly [MemoMapTypeId]: typeof MemoMapTypeId;
130
- readonly getOrElseMemoize: <RIn, E, ROut>(layer: Layer<ROut, E, RIn>, scope: Scope.Scope, build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<ServiceMap.ServiceMap<ROut>, E, RIn>) => Effect<ServiceMap.ServiceMap<ROut>, E, RIn>;
149
+ readonly getOrElseMemoize: <RIn, E, ROut>(layer: Layer<ROut, E, RIn>, scope: Scope.Scope, build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<Context.Context<ROut>, E, RIn>) => Effect<Context.Context<ROut>, E, RIn>;
131
150
  }
132
151
  /**
133
152
  * Returns `true` if the specified value is a `Layer`, `false` otherwise.
134
153
  *
135
154
  * @example
136
155
  * ```ts
137
- * import { Effect, Layer, ServiceMap } from "effect"
156
+ * import { Effect, Layer, Context } from "effect"
138
157
  *
139
- * class Database extends ServiceMap.Service<Database, {
158
+ * class Database extends Context.Service<Database, {
140
159
  * readonly query: (sql: string) => Effect.Effect<string>
141
160
  * }>()("Database") {}
142
161
  *
@@ -161,15 +180,15 @@ export declare const isLayer: (u: unknown) => u is Layer<unknown, unknown, unkno
161
180
  *
162
181
  * @example
163
182
  * ```ts
164
- * import { Effect, Layer, ServiceMap } from "effect"
183
+ * import { Effect, Layer, Context } from "effect"
165
184
  *
166
- * class Database extends ServiceMap.Service<Database, {
185
+ * class Database extends Context.Service<Database, {
167
186
  * readonly query: (sql: string) => Effect.Effect<string>
168
187
  * }>()("Database") {}
169
188
  *
170
189
  * const databaseLayer = Layer.fromBuild(() =>
171
190
  * Effect.sync(() =>
172
- * ServiceMap.make(Database, {
191
+ * Context.make(Database, {
173
192
  * query: (sql: string) => Effect.succeed("result")
174
193
  * })
175
194
  * )
@@ -179,7 +198,7 @@ export declare const isLayer: (u: unknown) => u is Layer<unknown, unknown, unkno
179
198
  * @since 4.0.0
180
199
  * @category constructors
181
200
  */
182
- export declare const fromBuild: <ROut, E, RIn>(build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<ServiceMap.ServiceMap<ROut>, E, RIn>) => Layer<ROut, E, RIn>;
201
+ export declare const fromBuild: <ROut, E, RIn>(build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<Context.Context<ROut>, E, RIn>) => Layer<ROut, E, RIn>;
183
202
  /**
184
203
  * Constructs a Layer from a function that uses a `MemoMap` and `Scope` to build the layer,
185
204
  * with automatic memoization.
@@ -189,15 +208,15 @@ export declare const fromBuild: <ROut, E, RIn>(build: (memoMap: MemoMap, scope:
189
208
  *
190
209
  * @example
191
210
  * ```ts
192
- * import { Effect, Layer, ServiceMap } from "effect"
211
+ * import { Effect, Layer, Context } from "effect"
193
212
  *
194
- * class Database extends ServiceMap.Service<Database, {
213
+ * class Database extends Context.Service<Database, {
195
214
  * readonly query: (sql: string) => Effect.Effect<string>
196
215
  * }>()("Database") {}
197
216
  *
198
217
  * const databaseLayer = Layer.fromBuildMemo(() =>
199
218
  * Effect.sync(() =>
200
- * ServiceMap.make(Database, {
219
+ * Context.make(Database, {
201
220
  * query: (sql: string) => Effect.succeed("result")
202
221
  * })
203
222
  * )
@@ -207,15 +226,15 @@ export declare const fromBuild: <ROut, E, RIn>(build: (memoMap: MemoMap, scope:
207
226
  * @since 4.0.0
208
227
  * @category constructors
209
228
  */
210
- export declare const fromBuildMemo: <ROut, E, RIn>(build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<ServiceMap.ServiceMap<ROut>, E, RIn>) => Layer<ROut, E, RIn>;
229
+ export declare const fromBuildMemo: <ROut, E, RIn>(build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<Context.Context<ROut>, E, RIn>) => Layer<ROut, E, RIn>;
211
230
  /**
212
231
  * Constructs a `MemoMap` that can be used to build additional layers.
213
232
  *
214
233
  * @example
215
234
  * ```ts
216
- * import { Effect, Layer, ServiceMap } from "effect"
235
+ * import { Effect, Layer, Context } from "effect"
217
236
  *
218
- * class Database extends ServiceMap.Service<Database, {
237
+ * class Database extends Context.Service<Database, {
219
238
  * readonly query: (sql: string) => Effect.Effect<string>
220
239
  * }>()("Database") {}
221
240
  *
@@ -227,9 +246,9 @@ export declare const fromBuildMemo: <ROut, E, RIn>(build: (memoMap: MemoMap, sco
227
246
  * const dbLayer = Layer.succeed(Database)({
228
247
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
229
248
  * })
230
- * const services = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
249
+ * const context = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
231
250
  *
232
- * return ServiceMap.get(services, Database)
251
+ * return Context.get(context, Database)
233
252
  * })
234
253
  * ```
235
254
  *
@@ -242,9 +261,9 @@ export declare const makeMemoMapUnsafe: () => MemoMap;
242
261
  *
243
262
  * @example
244
263
  * ```ts
245
- * import { Effect, Layer, ServiceMap } from "effect"
264
+ * import { Effect, Layer, Context } from "effect"
246
265
  *
247
- * class Database extends ServiceMap.Service<Database, {
266
+ * class Database extends Context.Service<Database, {
248
267
  * readonly query: (sql: string) => Effect.Effect<string>
249
268
  * }>()("Database") {}
250
269
  *
@@ -256,9 +275,9 @@ export declare const makeMemoMapUnsafe: () => MemoMap;
256
275
  * const dbLayer = Layer.succeed(Database)({
257
276
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
258
277
  * })
259
- * const services = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
278
+ * const context = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
260
279
  *
261
- * return ServiceMap.get(services, Database)
280
+ * return Context.get(context, Database)
262
281
  * })
263
282
  * ```
264
283
  *
@@ -266,7 +285,7 @@ export declare const makeMemoMapUnsafe: () => MemoMap;
266
285
  * @category memo map
267
286
  */
268
287
  export declare const makeMemoMap: Effect<MemoMap>;
269
- declare const CurrentMemoMap_base: ServiceMap.ServiceClass<CurrentMemoMap, "effect/Layer/CurrentMemoMap", MemoMap>;
288
+ declare const CurrentMemoMap_base: Context.ServiceClass<CurrentMemoMap, "effect/Layer/CurrentMemoMap", MemoMap>;
270
289
  /**
271
290
  * A service reference for the current `MemoMap` used in layer construction.
272
291
  *
@@ -277,7 +296,7 @@ declare const CurrentMemoMap_base: ServiceMap.ServiceClass<CurrentMemoMap, "effe
277
296
  * @category models
278
297
  */
279
298
  export declare class CurrentMemoMap extends CurrentMemoMap_base {
280
- static getOrCreate: <Services>(self: ServiceMap.ServiceMap<Services>) => MemoMap;
299
+ static getOrCreate: <Services>(self: Context.Context<Services>) => MemoMap;
281
300
  }
282
301
  /**
283
302
  * Builds a layer into an `Effect` value, using the specified `MemoMap` to memoize
@@ -285,13 +304,13 @@ export declare class CurrentMemoMap extends CurrentMemoMap_base {
285
304
  *
286
305
  * @example
287
306
  * ```ts
288
- * import { Effect, Layer, ServiceMap } from "effect"
307
+ * import { Effect, Layer, Context } from "effect"
289
308
  *
290
- * class Database extends ServiceMap.Service<Database, {
309
+ * class Database extends Context.Service<Database, {
291
310
  * readonly query: (sql: string) => Effect.Effect<string>
292
311
  * }>()("Database") {}
293
312
  *
294
- * class Logger extends ServiceMap.Service<Logger, {
313
+ * class Logger extends Context.Service<Logger, {
295
314
  * readonly log: (msg: string) => Effect.Effect<void>
296
315
  * }>()("Logger") {}
297
316
  *
@@ -304,21 +323,21 @@ export declare class CurrentMemoMap extends CurrentMemoMap_base {
304
323
  * const dbLayer = Layer.succeed(Database)({
305
324
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
306
325
  * })
307
- * const dbServices = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
326
+ * const dbContext = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
308
327
  *
309
328
  * // Build logger layer with same memoization (reuses memo if same layer)
310
329
  * const loggerLayer = Layer.succeed(Logger)({
311
330
  * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
312
331
  * })
313
- * const loggerServices = yield* Layer.buildWithMemoMap(
332
+ * const loggerContext = yield* Layer.buildWithMemoMap(
314
333
  * loggerLayer,
315
334
  * memoMap,
316
335
  * scope
317
336
  * )
318
337
  *
319
338
  * return {
320
- * database: ServiceMap.get(dbServices, Database),
321
- * logger: ServiceMap.get(loggerServices, Logger)
339
+ * database: Context.get(dbContext, Database),
340
+ * logger: Context.get(loggerContext, Logger)
322
341
  * }
323
342
  * })
324
343
  * ```
@@ -333,13 +352,13 @@ export declare const buildWithMemoMap: {
333
352
  *
334
353
  * @example
335
354
  * ```ts
336
- * import { Effect, Layer, ServiceMap } from "effect"
355
+ * import { Effect, Layer, Context } from "effect"
337
356
  *
338
- * class Database extends ServiceMap.Service<Database, {
357
+ * class Database extends Context.Service<Database, {
339
358
  * readonly query: (sql: string) => Effect.Effect<string>
340
359
  * }>()("Database") {}
341
360
  *
342
- * class Logger extends ServiceMap.Service<Logger, {
361
+ * class Logger extends Context.Service<Logger, {
343
362
  * readonly log: (msg: string) => Effect.Effect<void>
344
363
  * }>()("Logger") {}
345
364
  *
@@ -352,21 +371,21 @@ export declare const buildWithMemoMap: {
352
371
  * const dbLayer = Layer.succeed(Database)({
353
372
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
354
373
  * })
355
- * const dbServices = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
374
+ * const dbContext = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
356
375
  *
357
376
  * // Build logger layer with same memoization (reuses memo if same layer)
358
377
  * const loggerLayer = Layer.succeed(Logger)({
359
378
  * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
360
379
  * })
361
- * const loggerServices = yield* Layer.buildWithMemoMap(
380
+ * const loggerContext = yield* Layer.buildWithMemoMap(
362
381
  * loggerLayer,
363
382
  * memoMap,
364
383
  * scope
365
384
  * )
366
385
  *
367
386
  * return {
368
- * database: ServiceMap.get(dbServices, Database),
369
- * logger: ServiceMap.get(loggerServices, Logger)
387
+ * database: Context.get(dbContext, Database),
388
+ * logger: Context.get(loggerContext, Logger)
370
389
  * }
371
390
  * })
372
391
  * ```
@@ -374,20 +393,20 @@ export declare const buildWithMemoMap: {
374
393
  * @since 2.0.0
375
394
  * @category memo map
376
395
  */
377
- (memoMap: MemoMap, scope: Scope.Scope): <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<ServiceMap.ServiceMap<ROut>, E, RIn>;
396
+ (memoMap: MemoMap, scope: Scope.Scope): <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<Context.Context<ROut>, E, RIn>;
378
397
  /**
379
398
  * Builds a layer into an `Effect` value, using the specified `MemoMap` to memoize
380
399
  * the layer construction.
381
400
  *
382
401
  * @example
383
402
  * ```ts
384
- * import { Effect, Layer, ServiceMap } from "effect"
403
+ * import { Effect, Layer, Context } from "effect"
385
404
  *
386
- * class Database extends ServiceMap.Service<Database, {
405
+ * class Database extends Context.Service<Database, {
387
406
  * readonly query: (sql: string) => Effect.Effect<string>
388
407
  * }>()("Database") {}
389
408
  *
390
- * class Logger extends ServiceMap.Service<Logger, {
409
+ * class Logger extends Context.Service<Logger, {
391
410
  * readonly log: (msg: string) => Effect.Effect<void>
392
411
  * }>()("Logger") {}
393
412
  *
@@ -400,21 +419,21 @@ export declare const buildWithMemoMap: {
400
419
  * const dbLayer = Layer.succeed(Database)({
401
420
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
402
421
  * })
403
- * const dbServices = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
422
+ * const dbContext = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
404
423
  *
405
424
  * // Build logger layer with same memoization (reuses memo if same layer)
406
425
  * const loggerLayer = Layer.succeed(Logger)({
407
426
  * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
408
427
  * })
409
- * const loggerServices = yield* Layer.buildWithMemoMap(
428
+ * const loggerContext = yield* Layer.buildWithMemoMap(
410
429
  * loggerLayer,
411
430
  * memoMap,
412
431
  * scope
413
432
  * )
414
433
  *
415
434
  * return {
416
- * database: ServiceMap.get(dbServices, Database),
417
- * logger: ServiceMap.get(loggerServices, Logger)
435
+ * database: Context.get(dbContext, Database),
436
+ * logger: Context.get(loggerContext, Logger)
418
437
  * }
419
438
  * })
420
439
  * ```
@@ -422,16 +441,16 @@ export declare const buildWithMemoMap: {
422
441
  * @since 2.0.0
423
442
  * @category memo map
424
443
  */
425
- <RIn, E, ROut>(self: Layer<ROut, E, RIn>, memoMap: MemoMap, scope: Scope.Scope): Effect<ServiceMap.ServiceMap<ROut>, E, RIn>;
444
+ <RIn, E, ROut>(self: Layer<ROut, E, RIn>, memoMap: MemoMap, scope: Scope.Scope): Effect<Context.Context<ROut>, E, RIn>;
426
445
  };
427
446
  /**
428
447
  * Builds a layer into a scoped value.
429
448
  *
430
449
  * @example
431
450
  * ```ts
432
- * import { Effect, Layer, ServiceMap } from "effect"
451
+ * import { Effect, Layer, Context } from "effect"
433
452
  *
434
- * class Database extends ServiceMap.Service<Database, {
453
+ * class Database extends Context.Service<Database, {
435
454
  * readonly query: (sql: string) => Effect.Effect<string>
436
455
  * }>()("Database") {}
437
456
  *
@@ -441,11 +460,11 @@ export declare const buildWithMemoMap: {
441
460
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
442
461
  * })
443
462
  *
444
- * // Build the layer into ServiceMap - automatically manages scope and memoization
445
- * const services = yield* Layer.build(dbLayer)
463
+ * // Build the layer into Context - automatically manages scope and memoization
464
+ * const context = yield* Layer.build(dbLayer)
446
465
  *
447
466
  * // Extract the specific service from the built layer
448
- * const database = ServiceMap.get(services, Database)
467
+ * const database = Context.get(context, Database)
449
468
  *
450
469
  * return yield* database.query("SELECT * FROM users")
451
470
  * })
@@ -454,7 +473,7 @@ export declare const buildWithMemoMap: {
454
473
  * @since 2.0.0
455
474
  * @category destructors
456
475
  */
457
- export declare const build: <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<ServiceMap.ServiceMap<ROut>, E, RIn | Scope.Scope>;
476
+ export declare const build: <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<Context.Context<ROut>, E, RIn | Scope.Scope>;
458
477
  /**
459
478
  * Builds a layer into an `Effect` value. Any resources associated with this
460
479
  * layer will be released when the specified scope is closed unless their scope
@@ -464,9 +483,9 @@ export declare const build: <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<
464
483
  *
465
484
  * @example
466
485
  * ```ts
467
- * import { Effect, Layer, Scope, ServiceMap } from "effect"
486
+ * import { Effect, Layer, Scope, Context } from "effect"
468
487
  *
469
- * class Database extends ServiceMap.Service<Database, {
488
+ * class Database extends Context.Service<Database, {
470
489
  * readonly query: (sql: string) => Effect.Effect<string>
471
490
  * }>()("Database") {}
472
491
  *
@@ -484,8 +503,8 @@ export declare const build: <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<
484
503
  * }))
485
504
  *
486
505
  * // Build with specific scope - resources tied to this scope
487
- * const services = yield* Layer.buildWithScope(dbLayer, scope)
488
- * const database = ServiceMap.get(services, Database)
506
+ * const context = yield* Layer.buildWithScope(dbLayer, scope)
507
+ * const database = Context.get(context, Database)
489
508
  *
490
509
  * return yield* database.query("SELECT * FROM users")
491
510
  * // Database will be closed when scope is closed
@@ -505,9 +524,9 @@ export declare const buildWithScope: {
505
524
  *
506
525
  * @example
507
526
  * ```ts
508
- * import { Effect, Layer, Scope, ServiceMap } from "effect"
527
+ * import { Effect, Layer, Scope, Context } from "effect"
509
528
  *
510
- * class Database extends ServiceMap.Service<Database, {
529
+ * class Database extends Context.Service<Database, {
511
530
  * readonly query: (sql: string) => Effect.Effect<string>
512
531
  * }>()("Database") {}
513
532
  *
@@ -525,8 +544,8 @@ export declare const buildWithScope: {
525
544
  * }))
526
545
  *
527
546
  * // Build with specific scope - resources tied to this scope
528
- * const services = yield* Layer.buildWithScope(dbLayer, scope)
529
- * const database = ServiceMap.get(services, Database)
547
+ * const context = yield* Layer.buildWithScope(dbLayer, scope)
548
+ * const database = Context.get(context, Database)
530
549
  *
531
550
  * return yield* database.query("SELECT * FROM users")
532
551
  * // Database will be closed when scope is closed
@@ -536,7 +555,7 @@ export declare const buildWithScope: {
536
555
  * @since 2.0.0
537
556
  * @category destructors
538
557
  */
539
- (scope: Scope.Scope): <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<ServiceMap.ServiceMap<ROut>, E, RIn>;
558
+ (scope: Scope.Scope): <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<Context.Context<ROut>, E, RIn>;
540
559
  /**
541
560
  * Builds a layer into an `Effect` value. Any resources associated with this
542
561
  * layer will be released when the specified scope is closed unless their scope
@@ -546,9 +565,9 @@ export declare const buildWithScope: {
546
565
  *
547
566
  * @example
548
567
  * ```ts
549
- * import { Effect, Layer, Scope, ServiceMap } from "effect"
568
+ * import { Effect, Layer, Scope, Context } from "effect"
550
569
  *
551
- * class Database extends ServiceMap.Service<Database, {
570
+ * class Database extends Context.Service<Database, {
552
571
  * readonly query: (sql: string) => Effect.Effect<string>
553
572
  * }>()("Database") {}
554
573
  *
@@ -566,8 +585,8 @@ export declare const buildWithScope: {
566
585
  * }))
567
586
  *
568
587
  * // Build with specific scope - resources tied to this scope
569
- * const services = yield* Layer.buildWithScope(dbLayer, scope)
570
- * const database = ServiceMap.get(services, Database)
588
+ * const context = yield* Layer.buildWithScope(dbLayer, scope)
589
+ * const database = Context.get(context, Database)
571
590
  *
572
591
  * return yield* database.query("SELECT * FROM users")
573
592
  * // Database will be closed when scope is closed
@@ -577,20 +596,20 @@ export declare const buildWithScope: {
577
596
  * @since 2.0.0
578
597
  * @category destructors
579
598
  */
580
- <RIn, E, ROut>(self: Layer<ROut, E, RIn>, scope: Scope.Scope): Effect<ServiceMap.ServiceMap<ROut>, E, RIn>;
599
+ <RIn, E, ROut>(self: Layer<ROut, E, RIn>, scope: Scope.Scope): Effect<Context.Context<ROut>, E, RIn>;
581
600
  };
582
601
  /**
583
602
  * Constructs a layer from the specified value.
584
603
  *
585
604
  * @example
586
605
  * ```ts
587
- * import { Effect, Layer, ServiceMap } from "effect"
606
+ * import { Effect, Layer, Context } from "effect"
588
607
  *
589
- * class Database extends ServiceMap.Service<Database, {
608
+ * class Database extends Context.Service<Database, {
590
609
  * readonly query: (sql: string) => Effect.Effect<string>
591
610
  * }>()("Database") {}
592
611
  *
593
- * class Logger extends ServiceMap.Service<Logger, {
612
+ * class Logger extends Context.Service<Logger, {
594
613
  * readonly log: (msg: string) => Effect.Effect<void>
595
614
  * }>()("Logger") {}
596
615
  *
@@ -627,13 +646,13 @@ export declare const succeed: {
627
646
  *
628
647
  * @example
629
648
  * ```ts
630
- * import { Effect, Layer, ServiceMap } from "effect"
649
+ * import { Effect, Layer, Context } from "effect"
631
650
  *
632
- * class Database extends ServiceMap.Service<Database, {
651
+ * class Database extends Context.Service<Database, {
633
652
  * readonly query: (sql: string) => Effect.Effect<string>
634
653
  * }>()("Database") {}
635
654
  *
636
- * class Logger extends ServiceMap.Service<Logger, {
655
+ * class Logger extends Context.Service<Logger, {
637
656
  * readonly log: (msg: string) => Effect.Effect<void>
638
657
  * }>()("Logger") {}
639
658
  *
@@ -664,19 +683,19 @@ export declare const succeed: {
664
683
  * @since 2.0.0
665
684
  * @category constructors
666
685
  */
667
- <I, S>(service: ServiceMap.Key<I, S>): (resource: S) => Layer<I>;
686
+ <I, S>(service: Context.Key<I, S>): (resource: S) => Layer<I>;
668
687
  /**
669
688
  * Constructs a layer from the specified value.
670
689
  *
671
690
  * @example
672
691
  * ```ts
673
- * import { Effect, Layer, ServiceMap } from "effect"
692
+ * import { Effect, Layer, Context } from "effect"
674
693
  *
675
- * class Database extends ServiceMap.Service<Database, {
694
+ * class Database extends Context.Service<Database, {
676
695
  * readonly query: (sql: string) => Effect.Effect<string>
677
696
  * }>()("Database") {}
678
697
  *
679
- * class Logger extends ServiceMap.Service<Logger, {
698
+ * class Logger extends Context.Service<Logger, {
680
699
  * readonly log: (msg: string) => Effect.Effect<void>
681
700
  * }>()("Logger") {}
682
701
  *
@@ -707,45 +726,44 @@ export declare const succeed: {
707
726
  * @since 2.0.0
708
727
  * @category constructors
709
728
  */
710
- <I, S>(service: ServiceMap.Key<I, S>, resource: Types.NoInfer<S>): Layer<I>;
729
+ <I, S>(service: Context.Key<I, S>, resource: Types.NoInfer<S>): Layer<I>;
711
730
  };
712
731
  /**
713
732
  * Constructs a layer from the specified value, which must return one or more
714
733
  * services.
715
734
  *
716
735
  * This is a more general version of `succeed` that allows you to provide multiple
717
- * services at once through a `ServiceMap`.
736
+ * services at once through a `Context`.
718
737
  *
719
738
  * @example
720
739
  * ```ts
721
- * import { Effect, Layer, ServiceMap } from "effect"
740
+ * import { Effect, Layer, Context } from "effect"
722
741
  *
723
- * class Database extends ServiceMap.Service<Database, {
742
+ * class Database extends Context.Service<Database, {
724
743
  * readonly query: (sql: string) => Effect.Effect<string>
725
744
  * }>()("Database") {}
726
745
  *
727
- * class Logger extends ServiceMap.Service<Logger, {
746
+ * class Logger extends Context.Service<Logger, {
728
747
  * readonly log: (msg: string) => Effect.Effect<void>
729
748
  * }>()("Logger") {}
730
749
  *
731
- * const services = ServiceMap.make(Database, {
750
+ * const context = Context.make(Database, {
732
751
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
733
- * })
734
- * .pipe(
735
- * ServiceMap.add(Logger, {
736
- * log: (msg: string) => Effect.sync(() => console.log(msg))
737
- * })
738
- * )
752
+ * }).pipe(
753
+ * Context.add(Logger, {
754
+ * log: (msg: string) => Effect.sync(() => console.log(msg))
755
+ * })
756
+ * )
739
757
  *
740
- * const layer = Layer.succeedServices(services)
758
+ * const layer = Layer.succeedContext(context)
741
759
  * ```
742
760
  *
743
761
  * @since 2.0.0
744
762
  * @category constructors
745
763
  */
746
- export declare const succeedServices: <A>(services: ServiceMap.ServiceMap<A>) => Layer<A>;
764
+ export declare const succeedContext: <A>(context: Context.Context<A>) => Layer<A>;
747
765
  /**
748
- * A Layer that constructs an empty ServiceMap.
766
+ * A Layer that constructs an empty Context.
749
767
  *
750
768
  * This layer provides no services and can be used as a neutral element
751
769
  * in layer composition or as a starting point for building layers.
@@ -769,9 +787,9 @@ export declare const empty: Layer<never>;
769
787
  *
770
788
  * @example
771
789
  * ```ts
772
- * import { Effect, Layer, ServiceMap } from "effect"
790
+ * import { Effect, Layer, Context } from "effect"
773
791
  *
774
- * class Database extends ServiceMap.Service<Database, {
792
+ * class Database extends Context.Service<Database, {
775
793
  * readonly query: (sql: string) => Effect.Effect<string>
776
794
  * }>()("Database") {}
777
795
  *
@@ -792,9 +810,9 @@ export declare const sync: {
792
810
  *
793
811
  * @example
794
812
  * ```ts
795
- * import { Effect, Layer, ServiceMap } from "effect"
813
+ * import { Effect, Layer, Context } from "effect"
796
814
  *
797
- * class Database extends ServiceMap.Service<Database, {
815
+ * class Database extends Context.Service<Database, {
798
816
  * readonly query: (sql: string) => Effect.Effect<string>
799
817
  * }>()("Database") {}
800
818
  *
@@ -806,7 +824,7 @@ export declare const sync: {
806
824
  * @since 2.0.0
807
825
  * @category constructors
808
826
  */
809
- <I, S>(service: ServiceMap.Key<I, S>): (evaluate: LazyArg<S>) => Layer<I>;
827
+ <I, S>(service: Context.Key<I, S>): (evaluate: LazyArg<S>) => Layer<I>;
810
828
  /**
811
829
  * Lazily constructs a layer from the specified value.
812
830
  *
@@ -815,9 +833,9 @@ export declare const sync: {
815
833
  *
816
834
  * @example
817
835
  * ```ts
818
- * import { Effect, Layer, ServiceMap } from "effect"
836
+ * import { Effect, Layer, Context } from "effect"
819
837
  *
820
- * class Database extends ServiceMap.Service<Database, {
838
+ * class Database extends Context.Service<Database, {
821
839
  * readonly query: (sql: string) => Effect.Effect<string>
822
840
  * }>()("Database") {}
823
841
  *
@@ -829,25 +847,25 @@ export declare const sync: {
829
847
  * @since 2.0.0
830
848
  * @category constructors
831
849
  */
832
- <I, S>(service: ServiceMap.Key<I, S>, evaluate: LazyArg<S>): Layer<I>;
850
+ <I, S>(service: Context.Key<I, S>, evaluate: LazyArg<Types.NoInfer<S>>): Layer<I>;
833
851
  };
834
852
  /**
835
853
  * Lazily constructs a layer from the specified value, which must return one or more
836
854
  * services.
837
855
  *
838
- * This is a lazy version of `succeedServices` where the ServiceMap is computed
856
+ * This is a lazy version of `succeedContext` where the Context is computed
839
857
  * synchronously only when the layer is built.
840
858
  *
841
859
  * @example
842
860
  * ```ts
843
- * import { Effect, Layer, ServiceMap } from "effect"
861
+ * import { Effect, Layer, Context } from "effect"
844
862
  *
845
- * class Database extends ServiceMap.Service<Database, {
863
+ * class Database extends Context.Service<Database, {
846
864
  * readonly query: (sql: string) => Effect.Effect<string>
847
865
  * }>()("Database") {}
848
866
  *
849
- * const layer = Layer.syncServices(() =>
850
- * ServiceMap.make(Database, {
867
+ * const layer = Layer.syncContext(() =>
868
+ * Context.make(Database, {
851
869
  * query: (sql: string) => Effect.succeed(`Query: ${sql}`)
852
870
  * })
853
871
  * )
@@ -856,7 +874,7 @@ export declare const sync: {
856
874
  * @since 2.0.0
857
875
  * @category constructors
858
876
  */
859
- export declare const syncServices: <A>(evaluate: LazyArg<ServiceMap.ServiceMap<A>>) => Layer<A>;
877
+ export declare const syncContext: <A>(evaluate: LazyArg<Context.Context<A>>) => Layer<A>;
860
878
  /**
861
879
  * Constructs a layer from the specified scoped effect.
862
880
  *
@@ -872,9 +890,9 @@ export declare const syncServices: <A>(evaluate: LazyArg<ServiceMap.ServiceMap<A
872
890
  *
873
891
  * @example
874
892
  * ```ts
875
- * import { Effect, Layer, ServiceMap } from "effect"
893
+ * import { Effect, Layer, Context } from "effect"
876
894
  *
877
- * class Database extends ServiceMap.Service<Database, {
895
+ * class Database extends Context.Service<Database, {
878
896
  * readonly query: (sql: string) => Effect.Effect<string>
879
897
  * }>()("Database") {}
880
898
  *
@@ -904,9 +922,9 @@ export declare const effect: {
904
922
  *
905
923
  * @example
906
924
  * ```ts
907
- * import { Effect, Layer, ServiceMap } from "effect"
925
+ * import { Effect, Layer, Context } from "effect"
908
926
  *
909
- * class Database extends ServiceMap.Service<Database, {
927
+ * class Database extends Context.Service<Database, {
910
928
  * readonly query: (sql: string) => Effect.Effect<string>
911
929
  * }>()("Database") {}
912
930
  *
@@ -920,7 +938,7 @@ export declare const effect: {
920
938
  * @since 2.0.0
921
939
  * @category constructors
922
940
  */
923
- <I, S>(service: ServiceMap.Key<I, S>): <E, R>(effect: Effect<S, E, R>) => Layer<I, E, Exclude<R, Scope.Scope>>;
941
+ <I, S>(service: Context.Key<I, S>): <E, R>(effect: Effect<S, E, R>) => Layer<I, E, Exclude<R, Scope.Scope>>;
924
942
  /**
925
943
  * Constructs a layer from the specified scoped effect.
926
944
  *
@@ -936,9 +954,9 @@ export declare const effect: {
936
954
  *
937
955
  * @example
938
956
  * ```ts
939
- * import { Effect, Layer, ServiceMap } from "effect"
957
+ * import { Effect, Layer, Context } from "effect"
940
958
  *
941
- * class Database extends ServiceMap.Service<Database, {
959
+ * class Database extends Context.Service<Database, {
942
960
  * readonly query: (sql: string) => Effect.Effect<string>
943
961
  * }>()("Database") {}
944
962
  *
@@ -952,7 +970,7 @@ export declare const effect: {
952
970
  * @since 2.0.0
953
971
  * @category constructors
954
972
  */
955
- <I, S, E, R>(service: ServiceMap.Key<I, S>, effect: Effect<S, E, R>): Layer<I, E, Exclude<R, Scope.Scope>>;
973
+ <I, S, E, R>(service: Context.Key<I, S>, effect: Effect<Types.NoInfer<S>, E, R>): Layer<I, E, Exclude<R, Scope.Scope>>;
956
974
  };
957
975
  /**
958
976
  * Constructs a layer from the specified scoped effect, which must return one
@@ -963,15 +981,15 @@ export declare const effect: {
963
981
  *
964
982
  * @example
965
983
  * ```ts
966
- * import { Effect, Layer, ServiceMap } from "effect"
984
+ * import { Effect, Layer, Context } from "effect"
967
985
  *
968
- * class Database extends ServiceMap.Service<
986
+ * class Database extends Context.Service<
969
987
  * Database,
970
988
  * { readonly query: (sql: string) => Effect.Effect<string> }
971
989
  * >()("Database") {}
972
990
  *
973
- * const layer = Layer.effectServices(
974
- * Effect.succeed(ServiceMap.make(Database, {
991
+ * const layer = Layer.effectContext(
992
+ * Effect.succeed(Context.make(Database, {
975
993
  * query: (sql: string) => Effect.succeed(`Query: ${sql}`)
976
994
  * }))
977
995
  * )
@@ -980,7 +998,7 @@ export declare const effect: {
980
998
  * @since 2.0.0
981
999
  * @category constructors
982
1000
  */
983
- export declare const effectServices: <A, E, R>(effect: Effect<ServiceMap.ServiceMap<A>, E, R>) => Layer<A, E, Exclude<R, Scope.Scope>>;
1001
+ export declare const effectContext: <A, E, R>(effect: Effect<Context.Context<A>, E, R>) => Layer<A, E, Exclude<R, Scope.Scope>>;
984
1002
  /**
985
1003
  * Constructs a layer from the specified scoped effect.
986
1004
  *
@@ -1008,6 +1026,31 @@ export declare const effectServices: <A, E, R>(effect: Effect<ServiceMap.Service
1008
1026
  * @category constructors
1009
1027
  */
1010
1028
  export declare const effectDiscard: <X, E, R>(effect: Effect<X, E, R>) => Layer<never, E, Exclude<R, Scope.Scope>>;
1029
+ /**
1030
+ * Lazily constructs a layer using the specified factory.
1031
+ *
1032
+ * The factory is evaluated only when the suspended layer is first built, and
1033
+ * the result is memoized with normal layer sharing semantics.
1034
+ *
1035
+ * @example
1036
+ * ```ts
1037
+ * import { Layer, Context } from "effect"
1038
+ *
1039
+ * class Config extends Context.Service<Config, string>()("Config") {}
1040
+ *
1041
+ * const useProd = true
1042
+ *
1043
+ * const layer = Layer.suspend(() =>
1044
+ * useProd
1045
+ * ? Layer.succeed(Config)("https://api.example.com")
1046
+ * : Layer.succeed(Config)("http://localhost:3000")
1047
+ * )
1048
+ * ```
1049
+ *
1050
+ * @since 4.0.0
1051
+ * @category constructors
1052
+ */
1053
+ export declare const suspend: <A, E, R>(evaluate: LazyArg<Layer<A, E, R>>) => Layer<A, E, R>;
1011
1054
  /**
1012
1055
  * Unwraps a Layer from an Effect, flattening the nested structure.
1013
1056
  *
@@ -1017,9 +1060,9 @@ export declare const effectDiscard: <X, E, R>(effect: Effect<X, E, R>) => Layer<
1017
1060
  *
1018
1061
  * @example
1019
1062
  * ```ts
1020
- * import { Effect, Layer, ServiceMap } from "effect"
1063
+ * import { Effect, Layer, Context } from "effect"
1021
1064
  *
1022
- * class Database extends ServiceMap.Service<Database, {
1065
+ * class Database extends Context.Service<Database, {
1023
1066
  * readonly query: (sql: string) => Effect.Effect<string>
1024
1067
  * }>()("Database") {}
1025
1068
  *
@@ -1042,13 +1085,13 @@ export declare const unwrap: <A, E1, R1, E, R>(self: Effect<Layer<A, E1, R1>, E,
1042
1085
  *
1043
1086
  * @example
1044
1087
  * ```ts
1045
- * import { Effect, Layer, ServiceMap } from "effect"
1088
+ * import { Effect, Layer, Context } from "effect"
1046
1089
  *
1047
- * class Database extends ServiceMap.Service<Database, {
1090
+ * class Database extends Context.Service<Database, {
1048
1091
  * readonly query: (sql: string) => Effect.Effect<string>
1049
1092
  * }>()("Database") {}
1050
1093
  *
1051
- * class Logger extends ServiceMap.Service<Logger, {
1094
+ * class Logger extends Context.Service<Logger, {
1052
1095
  * readonly log: (msg: string) => Effect.Effect<void>
1053
1096
  * }>()("Logger") {}
1054
1097
  *
@@ -1074,13 +1117,13 @@ export declare const mergeAll: <Layers extends [Layer<never, any, any>, ...Array
1074
1117
  *
1075
1118
  * @example
1076
1119
  * ```ts
1077
- * import { Effect, Layer, ServiceMap } from "effect"
1120
+ * import { Effect, Layer, Context } from "effect"
1078
1121
  *
1079
- * class Database extends ServiceMap.Service<Database, {
1122
+ * class Database extends Context.Service<Database, {
1080
1123
  * readonly query: (sql: string) => Effect.Effect<string>
1081
1124
  * }>()("Database") {}
1082
1125
  *
1083
- * class Logger extends ServiceMap.Service<Logger, {
1126
+ * class Logger extends Context.Service<Logger, {
1084
1127
  * readonly log: (msg: string) => Effect.Effect<void>
1085
1128
  * }>()("Logger") {}
1086
1129
  *
@@ -1106,13 +1149,13 @@ export declare const merge: {
1106
1149
  *
1107
1150
  * @example
1108
1151
  * ```ts
1109
- * import { Effect, Layer, ServiceMap } from "effect"
1152
+ * import { Effect, Layer, Context } from "effect"
1110
1153
  *
1111
- * class Database extends ServiceMap.Service<Database, {
1154
+ * class Database extends Context.Service<Database, {
1112
1155
  * readonly query: (sql: string) => Effect.Effect<string>
1113
1156
  * }>()("Database") {}
1114
1157
  *
1115
- * class Logger extends ServiceMap.Service<Logger, {
1158
+ * class Logger extends Context.Service<Logger, {
1116
1159
  * readonly log: (msg: string) => Effect.Effect<void>
1117
1160
  * }>()("Logger") {}
1118
1161
  *
@@ -1138,13 +1181,13 @@ export declare const merge: {
1138
1181
  *
1139
1182
  * @example
1140
1183
  * ```ts
1141
- * import { Effect, Layer, ServiceMap } from "effect"
1184
+ * import { Effect, Layer, Context } from "effect"
1142
1185
  *
1143
- * class Database extends ServiceMap.Service<Database, {
1186
+ * class Database extends Context.Service<Database, {
1144
1187
  * readonly query: (sql: string) => Effect.Effect<string>
1145
1188
  * }>()("Database") {}
1146
1189
  *
1147
- * class Logger extends ServiceMap.Service<Logger, {
1190
+ * class Logger extends Context.Service<Logger, {
1148
1191
  * readonly log: (msg: string) => Effect.Effect<void>
1149
1192
  * }>()("Logger") {}
1150
1193
  *
@@ -1170,13 +1213,13 @@ export declare const merge: {
1170
1213
  *
1171
1214
  * @example
1172
1215
  * ```ts
1173
- * import { Effect, Layer, ServiceMap } from "effect"
1216
+ * import { Effect, Layer, Context } from "effect"
1174
1217
  *
1175
- * class Database extends ServiceMap.Service<Database, {
1218
+ * class Database extends Context.Service<Database, {
1176
1219
  * readonly query: (sql: string) => Effect.Effect<string>
1177
1220
  * }>()("Database") {}
1178
1221
  *
1179
- * class Logger extends ServiceMap.Service<Logger, {
1222
+ * class Logger extends Context.Service<Logger, {
1180
1223
  * readonly log: (msg: string) => Effect.Effect<void>
1181
1224
  * }>()("Logger") {}
1182
1225
  *
@@ -1202,13 +1245,13 @@ export declare const merge: {
1202
1245
  *
1203
1246
  * @example
1204
1247
  * ```ts
1205
- * import { Effect, Layer, ServiceMap } from "effect"
1248
+ * import { Effect, Layer, Context } from "effect"
1206
1249
  *
1207
- * class Database extends ServiceMap.Service<Database, {
1250
+ * class Database extends Context.Service<Database, {
1208
1251
  * readonly query: (sql: string) => Effect.Effect<string>
1209
1252
  * }>()("Database") {}
1210
1253
  *
1211
- * class Logger extends ServiceMap.Service<Logger, {
1254
+ * class Logger extends Context.Service<Logger, {
1212
1255
  * readonly log: (msg: string) => Effect.Effect<void>
1213
1256
  * }>()("Logger") {}
1214
1257
  *
@@ -1234,20 +1277,20 @@ export declare const merge: {
1234
1277
  *
1235
1278
  * @example
1236
1279
  * ```ts
1237
- * import { Effect, Layer, ServiceMap } from "effect"
1280
+ * import { Effect, Layer, Context } from "effect"
1238
1281
  *
1239
- * class Database extends ServiceMap.Service<Database, {
1282
+ * class Database extends Context.Service<Database, {
1240
1283
  * readonly query: (sql: string) => Effect.Effect<string>
1241
1284
  * }>()("Database") {}
1242
1285
  *
1243
- * class UserService extends ServiceMap.Service<UserService, {
1286
+ * class UserService extends Context.Service<UserService, {
1244
1287
  * readonly getUser: (id: string) => Effect.Effect<{
1245
1288
  * id: string
1246
1289
  * name: string
1247
1290
  * }>
1248
1291
  * }>()("UserService") {}
1249
1292
  *
1250
- * class Logger extends ServiceMap.Service<Logger, {
1293
+ * class Logger extends Context.Service<Logger, {
1251
1294
  * readonly log: (msg: string) => Effect.Effect<void>
1252
1295
  * }>()("Logger") {}
1253
1296
  *
@@ -1301,20 +1344,20 @@ export declare const provide: {
1301
1344
  *
1302
1345
  * @example
1303
1346
  * ```ts
1304
- * import { Effect, Layer, ServiceMap } from "effect"
1347
+ * import { Effect, Layer, Context } from "effect"
1305
1348
  *
1306
- * class Database extends ServiceMap.Service<Database, {
1349
+ * class Database extends Context.Service<Database, {
1307
1350
  * readonly query: (sql: string) => Effect.Effect<string>
1308
1351
  * }>()("Database") {}
1309
1352
  *
1310
- * class UserService extends ServiceMap.Service<UserService, {
1353
+ * class UserService extends Context.Service<UserService, {
1311
1354
  * readonly getUser: (id: string) => Effect.Effect<{
1312
1355
  * id: string
1313
1356
  * name: string
1314
1357
  * }>
1315
1358
  * }>()("UserService") {}
1316
1359
  *
1317
- * class Logger extends ServiceMap.Service<Logger, {
1360
+ * class Logger extends Context.Service<Logger, {
1318
1361
  * readonly log: (msg: string) => Effect.Effect<void>
1319
1362
  * }>()("Logger") {}
1320
1363
  *
@@ -1368,20 +1411,20 @@ export declare const provide: {
1368
1411
  *
1369
1412
  * @example
1370
1413
  * ```ts
1371
- * import { Effect, Layer, ServiceMap } from "effect"
1414
+ * import { Effect, Layer, Context } from "effect"
1372
1415
  *
1373
- * class Database extends ServiceMap.Service<Database, {
1416
+ * class Database extends Context.Service<Database, {
1374
1417
  * readonly query: (sql: string) => Effect.Effect<string>
1375
1418
  * }>()("Database") {}
1376
1419
  *
1377
- * class UserService extends ServiceMap.Service<UserService, {
1420
+ * class UserService extends Context.Service<UserService, {
1378
1421
  * readonly getUser: (id: string) => Effect.Effect<{
1379
1422
  * id: string
1380
1423
  * name: string
1381
1424
  * }>
1382
1425
  * }>()("UserService") {}
1383
1426
  *
1384
- * class Logger extends ServiceMap.Service<Logger, {
1427
+ * class Logger extends Context.Service<Logger, {
1385
1428
  * readonly log: (msg: string) => Effect.Effect<void>
1386
1429
  * }>()("Logger") {}
1387
1430
  *
@@ -1435,20 +1478,20 @@ export declare const provide: {
1435
1478
  *
1436
1479
  * @example
1437
1480
  * ```ts
1438
- * import { Effect, Layer, ServiceMap } from "effect"
1481
+ * import { Effect, Layer, Context } from "effect"
1439
1482
  *
1440
- * class Database extends ServiceMap.Service<Database, {
1483
+ * class Database extends Context.Service<Database, {
1441
1484
  * readonly query: (sql: string) => Effect.Effect<string>
1442
1485
  * }>()("Database") {}
1443
1486
  *
1444
- * class UserService extends ServiceMap.Service<UserService, {
1487
+ * class UserService extends Context.Service<UserService, {
1445
1488
  * readonly getUser: (id: string) => Effect.Effect<{
1446
1489
  * id: string
1447
1490
  * name: string
1448
1491
  * }>
1449
1492
  * }>()("UserService") {}
1450
1493
  *
1451
- * class Logger extends ServiceMap.Service<Logger, {
1494
+ * class Logger extends Context.Service<Logger, {
1452
1495
  * readonly log: (msg: string) => Effect.Effect<void>
1453
1496
  * }>()("Logger") {}
1454
1497
  *
@@ -1502,20 +1545,20 @@ export declare const provide: {
1502
1545
  *
1503
1546
  * @example
1504
1547
  * ```ts
1505
- * import { Effect, Layer, ServiceMap } from "effect"
1548
+ * import { Effect, Layer, Context } from "effect"
1506
1549
  *
1507
- * class Database extends ServiceMap.Service<Database, {
1550
+ * class Database extends Context.Service<Database, {
1508
1551
  * readonly query: (sql: string) => Effect.Effect<string>
1509
1552
  * }>()("Database") {}
1510
1553
  *
1511
- * class UserService extends ServiceMap.Service<UserService, {
1554
+ * class UserService extends Context.Service<UserService, {
1512
1555
  * readonly getUser: (id: string) => Effect.Effect<{
1513
1556
  * id: string
1514
1557
  * name: string
1515
1558
  * }>
1516
1559
  * }>()("UserService") {}
1517
1560
  *
1518
- * class Logger extends ServiceMap.Service<Logger, {
1561
+ * class Logger extends Context.Service<Logger, {
1519
1562
  * readonly log: (msg: string) => Effect.Effect<void>
1520
1563
  * }>()("Logger") {}
1521
1564
  *
@@ -1570,17 +1613,17 @@ export declare const provide: {
1570
1613
  *
1571
1614
  * @example
1572
1615
  * ```ts
1573
- * import { Effect, Layer, ServiceMap } from "effect"
1616
+ * import { Effect, Layer, Context } from "effect"
1574
1617
  *
1575
- * class Database extends ServiceMap.Service<Database, {
1618
+ * class Database extends Context.Service<Database, {
1576
1619
  * readonly query: (sql: string) => Effect.Effect<string>
1577
1620
  * }>()("Database") {}
1578
1621
  *
1579
- * class Logger extends ServiceMap.Service<Logger, {
1622
+ * class Logger extends Context.Service<Logger, {
1580
1623
  * readonly log: (msg: string) => Effect.Effect<void>
1581
1624
  * }>()("Logger") {}
1582
1625
  *
1583
- * class UserService extends ServiceMap.Service<UserService, {
1626
+ * class UserService extends Context.Service<UserService, {
1584
1627
  * readonly getUser: (id: string) => Effect.Effect<{
1585
1628
  * id: string
1586
1629
  * name: string
@@ -1643,17 +1686,17 @@ export declare const provideMerge: {
1643
1686
  *
1644
1687
  * @example
1645
1688
  * ```ts
1646
- * import { Effect, Layer, ServiceMap } from "effect"
1689
+ * import { Effect, Layer, Context } from "effect"
1647
1690
  *
1648
- * class Database extends ServiceMap.Service<Database, {
1691
+ * class Database extends Context.Service<Database, {
1649
1692
  * readonly query: (sql: string) => Effect.Effect<string>
1650
1693
  * }>()("Database") {}
1651
1694
  *
1652
- * class Logger extends ServiceMap.Service<Logger, {
1695
+ * class Logger extends Context.Service<Logger, {
1653
1696
  * readonly log: (msg: string) => Effect.Effect<void>
1654
1697
  * }>()("Logger") {}
1655
1698
  *
1656
- * class UserService extends ServiceMap.Service<UserService, {
1699
+ * class UserService extends Context.Service<UserService, {
1657
1700
  * readonly getUser: (id: string) => Effect.Effect<{
1658
1701
  * id: string
1659
1702
  * name: string
@@ -1716,17 +1759,17 @@ export declare const provideMerge: {
1716
1759
  *
1717
1760
  * @example
1718
1761
  * ```ts
1719
- * import { Effect, Layer, ServiceMap } from "effect"
1762
+ * import { Effect, Layer, Context } from "effect"
1720
1763
  *
1721
- * class Database extends ServiceMap.Service<Database, {
1764
+ * class Database extends Context.Service<Database, {
1722
1765
  * readonly query: (sql: string) => Effect.Effect<string>
1723
1766
  * }>()("Database") {}
1724
1767
  *
1725
- * class Logger extends ServiceMap.Service<Logger, {
1768
+ * class Logger extends Context.Service<Logger, {
1726
1769
  * readonly log: (msg: string) => Effect.Effect<void>
1727
1770
  * }>()("Logger") {}
1728
1771
  *
1729
- * class UserService extends ServiceMap.Service<UserService, {
1772
+ * class UserService extends Context.Service<UserService, {
1730
1773
  * readonly getUser: (id: string) => Effect.Effect<{
1731
1774
  * id: string
1732
1775
  * name: string
@@ -1789,17 +1832,17 @@ export declare const provideMerge: {
1789
1832
  *
1790
1833
  * @example
1791
1834
  * ```ts
1792
- * import { Effect, Layer, ServiceMap } from "effect"
1835
+ * import { Effect, Layer, Context } from "effect"
1793
1836
  *
1794
- * class Database extends ServiceMap.Service<Database, {
1837
+ * class Database extends Context.Service<Database, {
1795
1838
  * readonly query: (sql: string) => Effect.Effect<string>
1796
1839
  * }>()("Database") {}
1797
1840
  *
1798
- * class Logger extends ServiceMap.Service<Logger, {
1841
+ * class Logger extends Context.Service<Logger, {
1799
1842
  * readonly log: (msg: string) => Effect.Effect<void>
1800
1843
  * }>()("Logger") {}
1801
1844
  *
1802
- * class UserService extends ServiceMap.Service<UserService, {
1845
+ * class UserService extends Context.Service<UserService, {
1803
1846
  * readonly getUser: (id: string) => Effect.Effect<{
1804
1847
  * id: string
1805
1848
  * name: string
@@ -1862,17 +1905,17 @@ export declare const provideMerge: {
1862
1905
  *
1863
1906
  * @example
1864
1907
  * ```ts
1865
- * import { Effect, Layer, ServiceMap } from "effect"
1908
+ * import { Effect, Layer, Context } from "effect"
1866
1909
  *
1867
- * class Database extends ServiceMap.Service<Database, {
1910
+ * class Database extends Context.Service<Database, {
1868
1911
  * readonly query: (sql: string) => Effect.Effect<string>
1869
1912
  * }>()("Database") {}
1870
1913
  *
1871
- * class Logger extends ServiceMap.Service<Logger, {
1914
+ * class Logger extends Context.Service<Logger, {
1872
1915
  * readonly log: (msg: string) => Effect.Effect<void>
1873
1916
  * }>()("Logger") {}
1874
1917
  *
1875
- * class UserService extends ServiceMap.Service<UserService, {
1918
+ * class UserService extends Context.Service<UserService, {
1876
1919
  * readonly getUser: (id: string) => Effect.Effect<{
1877
1920
  * id: string
1878
1921
  * name: string
@@ -1934,18 +1977,18 @@ export declare const provideMerge: {
1934
1977
  *
1935
1978
  * @example
1936
1979
  * ```ts
1937
- * import { Effect, Layer, ServiceMap } from "effect"
1980
+ * import { Effect, Layer, Context } from "effect"
1938
1981
  *
1939
- * class Config extends ServiceMap.Service<Config, {
1982
+ * class Config extends Context.Service<Config, {
1940
1983
  * readonly dbUrl: string
1941
1984
  * readonly logLevel: string
1942
1985
  * }>()("Config") {}
1943
1986
  *
1944
- * class Database extends ServiceMap.Service<Database, {
1987
+ * class Database extends Context.Service<Database, {
1945
1988
  * readonly query: (sql: string) => Effect.Effect<string>
1946
1989
  * }>()("Database") {}
1947
1990
  *
1948
- * class Logger extends ServiceMap.Service<Logger, {
1991
+ * class Logger extends Context.Service<Logger, {
1949
1992
  * readonly log: (msg: string) => Effect.Effect<void>
1950
1993
  * }>()("Logger") {}
1951
1994
  *
@@ -1957,8 +2000,8 @@ export declare const provideMerge: {
1957
2000
  *
1958
2001
  * // Dynamically create services based on config
1959
2002
  * const dynamicServiceLayer = configLayer.pipe(
1960
- * Layer.flatMap((services) => {
1961
- * const config = ServiceMap.get(services, Config)
2003
+ * Layer.flatMap((context) => {
2004
+ * const config = Context.get(context, Config)
1962
2005
  *
1963
2006
  * // Create database layer based on config
1964
2007
  * const dbLayer = Layer.succeed(Database)({
@@ -2005,18 +2048,18 @@ export declare const flatMap: {
2005
2048
  *
2006
2049
  * @example
2007
2050
  * ```ts
2008
- * import { Effect, Layer, ServiceMap } from "effect"
2051
+ * import { Effect, Layer, Context } from "effect"
2009
2052
  *
2010
- * class Config extends ServiceMap.Service<Config, {
2053
+ * class Config extends Context.Service<Config, {
2011
2054
  * readonly dbUrl: string
2012
2055
  * readonly logLevel: string
2013
2056
  * }>()("Config") {}
2014
2057
  *
2015
- * class Database extends ServiceMap.Service<Database, {
2058
+ * class Database extends Context.Service<Database, {
2016
2059
  * readonly query: (sql: string) => Effect.Effect<string>
2017
2060
  * }>()("Database") {}
2018
2061
  *
2019
- * class Logger extends ServiceMap.Service<Logger, {
2062
+ * class Logger extends Context.Service<Logger, {
2020
2063
  * readonly log: (msg: string) => Effect.Effect<void>
2021
2064
  * }>()("Logger") {}
2022
2065
  *
@@ -2028,8 +2071,8 @@ export declare const flatMap: {
2028
2071
  *
2029
2072
  * // Dynamically create services based on config
2030
2073
  * const dynamicServiceLayer = configLayer.pipe(
2031
- * Layer.flatMap((services) => {
2032
- * const config = ServiceMap.get(services, Config)
2074
+ * Layer.flatMap((context) => {
2075
+ * const config = Context.get(context, Config)
2033
2076
  *
2034
2077
  * // Create database layer based on config
2035
2078
  * const dbLayer = Layer.succeed(Database)({
@@ -2070,24 +2113,24 @@ export declare const flatMap: {
2070
2113
  * @since 2.0.0
2071
2114
  * @category sequencing
2072
2115
  */
2073
- <A, A2, E2, R2>(f: (context: ServiceMap.ServiceMap<A>) => Layer<A2, E2, R2>): <E, R>(self: Layer<A, E, R>) => Layer<A2, E2 | E, R2 | R>;
2116
+ <A, A2, E2, R2>(f: (context: Context.Context<A>) => Layer<A2, E2, R2>): <E, R>(self: Layer<A, E, R>) => Layer<A2, E2 | E, R2 | R>;
2074
2117
  /**
2075
2118
  * Constructs a layer dynamically based on the output of this layer.
2076
2119
  *
2077
2120
  * @example
2078
2121
  * ```ts
2079
- * import { Effect, Layer, ServiceMap } from "effect"
2122
+ * import { Effect, Layer, Context } from "effect"
2080
2123
  *
2081
- * class Config extends ServiceMap.Service<Config, {
2124
+ * class Config extends Context.Service<Config, {
2082
2125
  * readonly dbUrl: string
2083
2126
  * readonly logLevel: string
2084
2127
  * }>()("Config") {}
2085
2128
  *
2086
- * class Database extends ServiceMap.Service<Database, {
2129
+ * class Database extends Context.Service<Database, {
2087
2130
  * readonly query: (sql: string) => Effect.Effect<string>
2088
2131
  * }>()("Database") {}
2089
2132
  *
2090
- * class Logger extends ServiceMap.Service<Logger, {
2133
+ * class Logger extends Context.Service<Logger, {
2091
2134
  * readonly log: (msg: string) => Effect.Effect<void>
2092
2135
  * }>()("Logger") {}
2093
2136
  *
@@ -2099,8 +2142,8 @@ export declare const flatMap: {
2099
2142
  *
2100
2143
  * // Dynamically create services based on config
2101
2144
  * const dynamicServiceLayer = configLayer.pipe(
2102
- * Layer.flatMap((services) => {
2103
- * const config = ServiceMap.get(services, Config)
2145
+ * Layer.flatMap((context) => {
2146
+ * const config = Context.get(context, Config)
2104
2147
  *
2105
2148
  * // Create database layer based on config
2106
2149
  * const dbLayer = Layer.succeed(Database)({
@@ -2141,7 +2184,7 @@ export declare const flatMap: {
2141
2184
  * @since 2.0.0
2142
2185
  * @category sequencing
2143
2186
  */
2144
- <A, E, R, A2, E2, R2>(self: Layer<A, E, R>, f: (context: ServiceMap.ServiceMap<A>) => Layer<A2, E2, R2>): Layer<A2, E | E2, R | R2>;
2187
+ <A, E, R, A2, E2, R2>(self: Layer<A, E, R>, f: (context: Context.Context<A>) => Layer<A2, E2, R2>): Layer<A2, E | E2, R | R2>;
2145
2188
  };
2146
2189
  /**
2147
2190
  * Performs the specified effect if this layer succeeds.
@@ -2156,14 +2199,14 @@ export declare const tap: {
2156
2199
  * @since 4.0.0
2157
2200
  * @category sequencing
2158
2201
  */
2159
- <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>>;
2202
+ <ROut, XR extends ROut, RIn2, E2, X>(f: (context: Context.Context<XR>) => Effect<X, E2, RIn2>): <RIn, E>(self: Layer<ROut, E, RIn>) => Layer<ROut, E | E2, RIn | Exclude<RIn2, Scope.Scope>>;
2160
2203
  /**
2161
2204
  * Performs the specified effect if this layer succeeds.
2162
2205
  *
2163
2206
  * @since 4.0.0
2164
2207
  * @category sequencing
2165
2208
  */
2166
- <RIn, E, ROut, XR extends ROut, RIn2, E2, X>(self: Layer<ROut, E, RIn>, f: (context: ServiceMap.ServiceMap<XR>) => Effect<X, E2, RIn2>): Layer<ROut, E | E2, RIn | Exclude<RIn2, Scope.Scope>>;
2209
+ <RIn, E, ROut, XR extends ROut, RIn2, E2, X>(self: Layer<ROut, E, RIn>, f: (context: Context.Context<XR>) => Effect<X, E2, RIn2>): Layer<ROut, E | E2, RIn | Exclude<RIn2, Scope.Scope>>;
2167
2210
  };
2168
2211
  /**
2169
2212
  * Performs the specified effect if this layer fails.
@@ -2233,13 +2276,13 @@ export declare const tapCause: {
2233
2276
  *
2234
2277
  * @example
2235
2278
  * ```ts
2236
- * import { Data, Effect, Layer, ServiceMap } from "effect"
2279
+ * import { Data, Effect, Layer, Context } from "effect"
2237
2280
  *
2238
2281
  * class DatabaseError extends Data.TaggedError("DatabaseError")<{
2239
2282
  * message: string
2240
2283
  * }> {}
2241
2284
  *
2242
- * class Database extends ServiceMap.Service<Database, {
2285
+ * class Database extends Context.Service<Database, {
2243
2286
  * readonly query: (sql: string) => Effect.Effect<string>
2244
2287
  * }>()("Database") {}
2245
2288
  *
@@ -2290,11 +2333,11 @@ catch_ as catch };
2290
2333
  *
2291
2334
  * @example
2292
2335
  * ```ts
2293
- * import { Data, Effect, Layer, ServiceMap } from "effect"
2336
+ * import { Data, Effect, Layer, Context } from "effect"
2294
2337
  *
2295
2338
  * class ConfigError extends Data.TaggedError("ConfigError") {}
2296
2339
  *
2297
- * class Config extends ServiceMap.Service<Config, {
2340
+ * class Config extends Context.Service<Config, {
2298
2341
  * readonly apiUrl: string
2299
2342
  * }>()("Config") {}
2300
2343
  *
@@ -2316,11 +2359,11 @@ export declare const catchTag: {
2316
2359
  *
2317
2360
  * @example
2318
2361
  * ```ts
2319
- * import { Data, Effect, Layer, ServiceMap } from "effect"
2362
+ * import { Data, Effect, Layer, Context } from "effect"
2320
2363
  *
2321
2364
  * class ConfigError extends Data.TaggedError("ConfigError") {}
2322
2365
  *
2323
- * class Config extends ServiceMap.Service<Config, {
2366
+ * class Config extends Context.Service<Config, {
2324
2367
  * readonly apiUrl: string
2325
2368
  * }>()("Config") {}
2326
2369
  *
@@ -2342,11 +2385,11 @@ export declare const catchTag: {
2342
2385
  *
2343
2386
  * @example
2344
2387
  * ```ts
2345
- * import { Data, Effect, Layer, ServiceMap } from "effect"
2388
+ * import { Data, Effect, Layer, Context } from "effect"
2346
2389
  *
2347
2390
  * class ConfigError extends Data.TaggedError("ConfigError") {}
2348
2391
  *
2349
- * class Config extends ServiceMap.Service<Config, {
2392
+ * class Config extends Context.Service<Config, {
2350
2393
  * readonly apiUrl: string
2351
2394
  * }>()("Config") {}
2352
2395
  *
@@ -2369,7 +2412,7 @@ export declare const catchTag: {
2369
2412
  *
2370
2413
  * @example
2371
2414
  * ```ts
2372
- * import { Data, Effect, Layer, ServiceMap } from "effect"
2415
+ * import { Data, Effect, Layer, Context } from "effect"
2373
2416
  *
2374
2417
  * class DatabaseError extends Data.TaggedError("DatabaseError")<{
2375
2418
  * message: string
@@ -2379,11 +2422,11 @@ export declare const catchTag: {
2379
2422
  * reason: string
2380
2423
  * }> {}
2381
2424
  *
2382
- * class Database extends ServiceMap.Service<Database, {
2425
+ * class Database extends Context.Service<Database, {
2383
2426
  * readonly query: (sql: string) => Effect.Effect<string>
2384
2427
  * }>()("Database") {}
2385
2428
  *
2386
- * class Logger extends ServiceMap.Service<Logger, {
2429
+ * class Logger extends Context.Service<Logger, {
2387
2430
  * readonly log: (msg: string) => Effect.Effect<void>
2388
2431
  * }>()("Logger") {}
2389
2432
  *
@@ -2427,7 +2470,7 @@ export declare const catchCause: {
2427
2470
  *
2428
2471
  * @example
2429
2472
  * ```ts
2430
- * import { Data, Effect, Layer, ServiceMap } from "effect"
2473
+ * import { Data, Effect, Layer, Context } from "effect"
2431
2474
  *
2432
2475
  * class DatabaseError extends Data.TaggedError("DatabaseError")<{
2433
2476
  * message: string
@@ -2437,11 +2480,11 @@ export declare const catchCause: {
2437
2480
  * reason: string
2438
2481
  * }> {}
2439
2482
  *
2440
- * class Database extends ServiceMap.Service<Database, {
2483
+ * class Database extends Context.Service<Database, {
2441
2484
  * readonly query: (sql: string) => Effect.Effect<string>
2442
2485
  * }>()("Database") {}
2443
2486
  *
2444
- * class Logger extends ServiceMap.Service<Logger, {
2487
+ * class Logger extends Context.Service<Logger, {
2445
2488
  * readonly log: (msg: string) => Effect.Effect<void>
2446
2489
  * }>()("Logger") {}
2447
2490
  *
@@ -2485,7 +2528,7 @@ export declare const catchCause: {
2485
2528
  *
2486
2529
  * @example
2487
2530
  * ```ts
2488
- * import { Data, Effect, Layer, ServiceMap } from "effect"
2531
+ * import { Data, Effect, Layer, Context } from "effect"
2489
2532
  *
2490
2533
  * class DatabaseError extends Data.TaggedError("DatabaseError")<{
2491
2534
  * message: string
@@ -2495,11 +2538,11 @@ export declare const catchCause: {
2495
2538
  * reason: string
2496
2539
  * }> {}
2497
2540
  *
2498
- * class Database extends ServiceMap.Service<Database, {
2541
+ * class Database extends Context.Service<Database, {
2499
2542
  * readonly query: (sql: string) => Effect.Effect<string>
2500
2543
  * }>()("Database") {}
2501
2544
  *
2502
- * class Logger extends ServiceMap.Service<Logger, {
2545
+ * class Logger extends Context.Service<Logger, {
2503
2546
  * readonly log: (msg: string) => Effect.Effect<void>
2504
2547
  * }>()("Logger") {}
2505
2548
  *
@@ -2576,7 +2619,7 @@ export declare const updateService: {
2576
2619
  * @since 3.13.0
2577
2620
  * @category utils
2578
2621
  */
2579
- <I, A>(service: ServiceMap.Key<I, A>, f: (a: A) => A): <A1, E1, R1>(layer: Layer<A1, E1, R1>) => Layer<A1, E1, I | R1>;
2622
+ <I, A>(service: Context.Key<I, A>, f: (a: Types.NoInfer<A>) => A): <A1, E1, R1>(layer: Layer<A1, E1, R1>) => Layer<A1, E1, I | R1>;
2580
2623
  /**
2581
2624
  * Updates a service in the context with a new implementation.
2582
2625
  *
@@ -2595,16 +2638,16 @@ export declare const updateService: {
2595
2638
  * @since 3.13.0
2596
2639
  * @category utils
2597
2640
  */
2598
- <A1, E1, R1, I, A>(layer: Layer<A1, E1, R1>, service: ServiceMap.Key<I, A>, f: (a: A) => A): Layer<A1, E1, I | R1>;
2641
+ <A1, E1, R1, I, A>(layer: Layer<A1, E1, R1>, service: Context.Key<I, A>, f: (a: Types.NoInfer<A>) => A): Layer<A1, E1, I | R1>;
2599
2642
  };
2600
2643
  /**
2601
2644
  * Creates a fresh version of this layer that will not be shared.
2602
2645
  *
2603
2646
  * @example
2604
2647
  * ```ts
2605
- * import { Effect, Layer, Ref, ServiceMap } from "effect"
2648
+ * import { Effect, Layer, Ref, Context } from "effect"
2606
2649
  *
2607
- * class Counter extends ServiceMap.Service<Counter, {
2650
+ * class Counter extends Context.Service<Counter, {
2608
2651
  * readonly count: number
2609
2652
  * readonly increment: () => Effect.Effect<number>
2610
2653
  * }>()("Counter") {}
@@ -2655,14 +2698,14 @@ export declare const fresh: <A, E, R>(self: Layer<A, E, R>) => Layer<A, E, R>;
2655
2698
  *
2656
2699
  * @example
2657
2700
  * ```ts
2658
- * import { Console, Effect, Layer, ServiceMap } from "effect"
2701
+ * import { Console, Effect, Layer, Context } from "effect"
2659
2702
  *
2660
- * class HttpServer extends ServiceMap.Service<HttpServer, {
2703
+ * class HttpServer extends Context.Service<HttpServer, {
2661
2704
  * readonly start: () => Effect.Effect<string>
2662
2705
  * readonly stop: () => Effect.Effect<string>
2663
2706
  * }>()("HttpServer") {}
2664
2707
  *
2665
- * class Logger extends ServiceMap.Service<Logger, {
2708
+ * class Logger extends Context.Service<Logger, {
2666
2709
  * readonly log: (msg: string) => Effect.Effect<void>
2667
2710
  * }>()("Logger") {}
2668
2711
  *
@@ -2727,9 +2770,9 @@ type AnyEffectOrStream = Effect<any, any, any> | Stream.Stream<any, any, any> |
2727
2770
  *
2728
2771
  * @example
2729
2772
  * ```ts
2730
- * import { Effect, Layer, ServiceMap } from "effect"
2773
+ * import { Effect, Layer, Context } from "effect"
2731
2774
  *
2732
- * class UserService extends ServiceMap.Service<UserService, {
2775
+ * class UserService extends Context.Service<UserService, {
2733
2776
  * readonly config: { apiUrl: string }
2734
2777
  * readonly getUser: (
2735
2778
  * id: string
@@ -2774,9 +2817,9 @@ export declare const mock: {
2774
2817
  *
2775
2818
  * @example
2776
2819
  * ```ts
2777
- * import { Effect, Layer, ServiceMap } from "effect"
2820
+ * import { Effect, Layer, Context } from "effect"
2778
2821
  *
2779
- * class UserService extends ServiceMap.Service<UserService, {
2822
+ * class UserService extends Context.Service<UserService, {
2780
2823
  * readonly config: { apiUrl: string }
2781
2824
  * readonly getUser: (
2782
2825
  * id: string
@@ -2813,7 +2856,7 @@ export declare const mock: {
2813
2856
  * @since 4.0.0
2814
2857
  * @category Testing
2815
2858
  */
2816
- <I, S extends object>(service: ServiceMap.Key<I, S>): (implementation: PartialEffectful<S>) => Layer<I>;
2859
+ <I, S extends object>(service: Context.Key<I, S>): (implementation: PartialEffectful<S>) => Layer<I>;
2817
2860
  /**
2818
2861
  * Creates a mock layer for testing purposes. You can provide a partial
2819
2862
  * implementation of the service, and any methods not provided will
@@ -2821,9 +2864,9 @@ export declare const mock: {
2821
2864
  *
2822
2865
  * @example
2823
2866
  * ```ts
2824
- * import { Effect, Layer, ServiceMap } from "effect"
2867
+ * import { Effect, Layer, Context } from "effect"
2825
2868
  *
2826
- * class UserService extends ServiceMap.Service<UserService, {
2869
+ * class UserService extends Context.Service<UserService, {
2827
2870
  * readonly config: { apiUrl: string }
2828
2871
  * readonly getUser: (
2829
2872
  * id: string
@@ -2860,7 +2903,7 @@ export declare const mock: {
2860
2903
  * @since 4.0.0
2861
2904
  * @category Testing
2862
2905
  */
2863
- <I, S extends object>(service: ServiceMap.Key<I, S>, implementation: Types.NoInfer<PartialEffectful<S>>): Layer<I>;
2906
+ <I, S extends object>(service: Context.Key<I, S>, implementation: Types.NoInfer<PartialEffectful<S>>): Layer<I>;
2864
2907
  };
2865
2908
  /**
2866
2909
  * Ensures that an layer's success type extends a given type `ROut`.
@@ -2974,9 +3017,9 @@ export interface SpanOptions extends Tracer.SpanOptions {
2974
3017
  *
2975
3018
  * @example
2976
3019
  * ```ts
2977
- * import { Console, Effect, Layer, ServiceMap, type Tracer } from "effect"
3020
+ * import { Console, Effect, Layer, Context, type Tracer } from "effect"
2978
3021
  *
2979
- * class Database extends ServiceMap.Service<Database, {
3022
+ * class Database extends Context.Service<Database, {
2980
3023
  * readonly query: (sql: string) => Effect.Effect<string>
2981
3024
  * }>()("Database") {}
2982
3025
  *
@@ -3020,9 +3063,9 @@ export declare const span: (name: string, options?: SpanOptions) => Layer<Tracer
3020
3063
  *
3021
3064
  * @example
3022
3065
  * ```ts
3023
- * import { Console, Effect, Layer, ServiceMap, Tracer } from "effect"
3066
+ * import { Console, Effect, Layer, Context, Tracer } from "effect"
3024
3067
  *
3025
- * class Database extends ServiceMap.Service<Database, {
3068
+ * class Database extends Context.Service<Database, {
3026
3069
  * readonly query: (sql: string) => Effect.Effect<string>
3027
3070
  * }>()("Database") {}
3028
3071
  *
@@ -3059,13 +3102,13 @@ export declare const parentSpan: (span: Tracer.AnySpan) => Layer<Tracer.ParentSp
3059
3102
  *
3060
3103
  * @example
3061
3104
  * ```ts
3062
- * import { Effect, Layer, ServiceMap } from "effect"
3105
+ * import { Effect, Layer, Context } from "effect"
3063
3106
  *
3064
- * class Database extends ServiceMap.Service<Database, {
3107
+ * class Database extends Context.Service<Database, {
3065
3108
  * readonly query: (sql: string) => Effect.Effect<string>
3066
3109
  * }>()("Database") {}
3067
3110
  *
3068
- * class Logger extends ServiceMap.Service<Logger, {
3111
+ * class Logger extends Context.Service<Logger, {
3069
3112
  * readonly log: (msg: string) => Effect.Effect<void>
3070
3113
  * }>()("Logger") {}
3071
3114
  *
@@ -3118,13 +3161,13 @@ export declare const withSpan: {
3118
3161
  *
3119
3162
  * @example
3120
3163
  * ```ts
3121
- * import { Effect, Layer, ServiceMap } from "effect"
3164
+ * import { Effect, Layer, Context } from "effect"
3122
3165
  *
3123
- * class Database extends ServiceMap.Service<Database, {
3166
+ * class Database extends Context.Service<Database, {
3124
3167
  * readonly query: (sql: string) => Effect.Effect<string>
3125
3168
  * }>()("Database") {}
3126
3169
  *
3127
- * class Logger extends ServiceMap.Service<Logger, {
3170
+ * class Logger extends Context.Service<Logger, {
3128
3171
  * readonly log: (msg: string) => Effect.Effect<void>
3129
3172
  * }>()("Logger") {}
3130
3173
  *
@@ -3177,13 +3220,13 @@ export declare const withSpan: {
3177
3220
  *
3178
3221
  * @example
3179
3222
  * ```ts
3180
- * import { Effect, Layer, ServiceMap } from "effect"
3223
+ * import { Effect, Layer, Context } from "effect"
3181
3224
  *
3182
- * class Database extends ServiceMap.Service<Database, {
3225
+ * class Database extends Context.Service<Database, {
3183
3226
  * readonly query: (sql: string) => Effect.Effect<string>
3184
3227
  * }>()("Database") {}
3185
3228
  *
3186
- * class Logger extends ServiceMap.Service<Logger, {
3229
+ * class Logger extends Context.Service<Logger, {
3187
3230
  * readonly log: (msg: string) => Effect.Effect<void>
3188
3231
  * }>()("Logger") {}
3189
3232
  *
@@ -3236,13 +3279,13 @@ export declare const withSpan: {
3236
3279
  *
3237
3280
  * @example
3238
3281
  * ```ts
3239
- * import { Effect, Layer, ServiceMap, Tracer } from "effect"
3282
+ * import { Effect, Layer, Context, Tracer } from "effect"
3240
3283
  *
3241
- * class Database extends ServiceMap.Service<Database, {
3284
+ * class Database extends Context.Service<Database, {
3242
3285
  * readonly query: (sql: string) => Effect.Effect<string>
3243
3286
  * }>()("Database") {}
3244
3287
  *
3245
- * class Cache extends ServiceMap.Service<Cache, {
3288
+ * class Cache extends Context.Service<Cache, {
3246
3289
  * readonly get: (key: string) => Effect.Effect<string | null>
3247
3290
  * }>()("Cache") {}
3248
3291
  *
@@ -3271,9 +3314,9 @@ export declare const withSpan: {
3271
3314
  * Layer.withParentSpan(parentSpan)
3272
3315
  * )
3273
3316
  *
3274
- * const services = yield* Layer.build(AppLayer)
3275
- * const database = ServiceMap.get(services, Database)
3276
- * const cache = ServiceMap.get(services, Cache)
3317
+ * const context = yield* Layer.build(AppLayer)
3318
+ * const database = Context.get(context, Database)
3319
+ * const cache = Context.get(context, Cache)
3277
3320
  *
3278
3321
  * const dbResult = yield* database.query("SELECT * FROM users")
3279
3322
  * const cacheResult = yield* cache.get("user:123")
@@ -3296,13 +3339,13 @@ export declare const withParentSpan: {
3296
3339
  *
3297
3340
  * @example
3298
3341
  * ```ts
3299
- * import { Effect, Layer, ServiceMap, Tracer } from "effect"
3342
+ * import { Effect, Layer, Context, Tracer } from "effect"
3300
3343
  *
3301
- * class Database extends ServiceMap.Service<Database, {
3344
+ * class Database extends Context.Service<Database, {
3302
3345
  * readonly query: (sql: string) => Effect.Effect<string>
3303
3346
  * }>()("Database") {}
3304
3347
  *
3305
- * class Cache extends ServiceMap.Service<Cache, {
3348
+ * class Cache extends Context.Service<Cache, {
3306
3349
  * readonly get: (key: string) => Effect.Effect<string | null>
3307
3350
  * }>()("Cache") {}
3308
3351
  *
@@ -3331,9 +3374,9 @@ export declare const withParentSpan: {
3331
3374
  * Layer.withParentSpan(parentSpan)
3332
3375
  * )
3333
3376
  *
3334
- * const services = yield* Layer.build(AppLayer)
3335
- * const database = ServiceMap.get(services, Database)
3336
- * const cache = ServiceMap.get(services, Cache)
3377
+ * const context = yield* Layer.build(AppLayer)
3378
+ * const database = Context.get(context, Database)
3379
+ * const cache = Context.get(context, Cache)
3337
3380
  *
3338
3381
  * const dbResult = yield* database.query("SELECT * FROM users")
3339
3382
  * const cacheResult = yield* cache.get("user:123")
@@ -3356,13 +3399,13 @@ export declare const withParentSpan: {
3356
3399
  *
3357
3400
  * @example
3358
3401
  * ```ts
3359
- * import { Effect, Layer, ServiceMap, Tracer } from "effect"
3402
+ * import { Effect, Layer, Context, Tracer } from "effect"
3360
3403
  *
3361
- * class Database extends ServiceMap.Service<Database, {
3404
+ * class Database extends Context.Service<Database, {
3362
3405
  * readonly query: (sql: string) => Effect.Effect<string>
3363
3406
  * }>()("Database") {}
3364
3407
  *
3365
- * class Cache extends ServiceMap.Service<Cache, {
3408
+ * class Cache extends Context.Service<Cache, {
3366
3409
  * readonly get: (key: string) => Effect.Effect<string | null>
3367
3410
  * }>()("Cache") {}
3368
3411
  *
@@ -3391,9 +3434,9 @@ export declare const withParentSpan: {
3391
3434
  * Layer.withParentSpan(parentSpan)
3392
3435
  * )
3393
3436
  *
3394
- * const services = yield* Layer.build(AppLayer)
3395
- * const database = ServiceMap.get(services, Database)
3396
- * const cache = ServiceMap.get(services, Cache)
3437
+ * const context = yield* Layer.build(AppLayer)
3438
+ * const database = Context.get(context, Database)
3439
+ * const cache = Context.get(context, Cache)
3397
3440
  *
3398
3441
  * const dbResult = yield* database.query("SELECT * FROM users")
3399
3442
  * const cacheResult = yield* cache.get("user:123")