effect 4.0.0-beta.43 → 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 (837) 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 +286 -268
  64. package/dist/Layer.d.ts.map +1 -1
  65. package/dist/Layer.js +133 -134
  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/Chat.d.ts +4 -4
  203. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  204. package/dist/unstable/ai/Chat.js +3 -3
  205. package/dist/unstable/ai/Chat.js.map +1 -1
  206. package/dist/unstable/ai/EmbeddingModel.d.ts +6 -6
  207. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
  208. package/dist/unstable/ai/EmbeddingModel.js +3 -3
  209. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  210. package/dist/unstable/ai/IdGenerator.d.ts +2 -2
  211. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  212. package/dist/unstable/ai/IdGenerator.js +2 -2
  213. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  214. package/dist/unstable/ai/LanguageModel.d.ts +2 -2
  215. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  216. package/dist/unstable/ai/LanguageModel.js +2 -2
  217. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  218. package/dist/unstable/ai/McpSchema.d.ts +54 -54
  219. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  220. package/dist/unstable/ai/McpSchema.js +15 -8
  221. package/dist/unstable/ai/McpSchema.js.map +1 -1
  222. package/dist/unstable/ai/McpServer.d.ts +22 -22
  223. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  224. package/dist/unstable/ai/McpServer.js +25 -25
  225. package/dist/unstable/ai/McpServer.js.map +1 -1
  226. package/dist/unstable/ai/Model.d.ts +3 -3
  227. package/dist/unstable/ai/Model.d.ts.map +1 -1
  228. package/dist/unstable/ai/Model.js +5 -5
  229. package/dist/unstable/ai/Model.js.map +1 -1
  230. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  231. package/dist/unstable/ai/Prompt.js +6 -9
  232. package/dist/unstable/ai/Prompt.js.map +1 -1
  233. package/dist/unstable/ai/Response.d.ts +1 -1
  234. package/dist/unstable/ai/Response.d.ts.map +1 -1
  235. package/dist/unstable/ai/Response.js +6 -7
  236. package/dist/unstable/ai/Response.js.map +1 -1
  237. package/dist/unstable/ai/ResponseIdTracker.d.ts +2 -2
  238. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
  239. package/dist/unstable/ai/ResponseIdTracker.js +2 -2
  240. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  241. package/dist/unstable/ai/Telemetry.d.ts +35 -2
  242. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  243. package/dist/unstable/ai/Telemetry.js +2 -2
  244. package/dist/unstable/ai/Telemetry.js.map +1 -1
  245. package/dist/unstable/ai/Tokenizer.d.ts +2 -2
  246. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  247. package/dist/unstable/ai/Tokenizer.js +2 -2
  248. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  249. package/dist/unstable/ai/Tool.d.ts +16 -16
  250. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  251. package/dist/unstable/ai/Tool.js +41 -13
  252. package/dist/unstable/ai/Tool.js.map +1 -1
  253. package/dist/unstable/ai/Toolkit.d.ts +3 -3
  254. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  255. package/dist/unstable/ai/Toolkit.js +10 -10
  256. package/dist/unstable/ai/Toolkit.js.map +1 -1
  257. package/dist/unstable/cli/Argument.d.ts +2 -3
  258. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  259. package/dist/unstable/cli/Argument.js.map +1 -1
  260. package/dist/unstable/cli/CliError.d.ts +29 -8
  261. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  262. package/dist/unstable/cli/CliError.js +8 -1
  263. package/dist/unstable/cli/CliError.js.map +1 -1
  264. package/dist/unstable/cli/CliOutput.d.ts +2 -2
  265. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  266. package/dist/unstable/cli/CliOutput.js +2 -2
  267. package/dist/unstable/cli/CliOutput.js.map +1 -1
  268. package/dist/unstable/cli/Command.d.ts +14 -14
  269. package/dist/unstable/cli/Command.d.ts.map +1 -1
  270. package/dist/unstable/cli/Command.js +11 -10
  271. package/dist/unstable/cli/Command.js.map +1 -1
  272. package/dist/unstable/cli/Flag.d.ts +2 -3
  273. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  274. package/dist/unstable/cli/Flag.js.map +1 -1
  275. package/dist/unstable/cli/GlobalFlag.d.ts +2 -2
  276. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  277. package/dist/unstable/cli/GlobalFlag.js +2 -2
  278. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  279. package/dist/unstable/cli/HelpDoc.d.ts +8 -8
  280. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  281. package/dist/unstable/cli/Param.d.ts +30 -2
  282. package/dist/unstable/cli/Param.d.ts.map +1 -1
  283. package/dist/unstable/cli/Param.js +17 -7
  284. package/dist/unstable/cli/Param.js.map +1 -1
  285. package/dist/unstable/cli/Prompt.js +8 -2
  286. package/dist/unstable/cli/Prompt.js.map +1 -1
  287. package/dist/unstable/cli/internal/command.d.ts +5 -5
  288. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  289. package/dist/unstable/cli/internal/command.js +3 -3
  290. package/dist/unstable/cli/internal/command.js.map +1 -1
  291. package/dist/unstable/cli/internal/parser.js +94 -15
  292. package/dist/unstable/cli/internal/parser.js.map +1 -1
  293. package/dist/unstable/cluster/ClusterError.d.ts +7 -7
  294. package/dist/unstable/cluster/ClusterSchema.d.ts +12 -9
  295. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  296. package/dist/unstable/cluster/ClusterSchema.js +9 -9
  297. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  298. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  299. package/dist/unstable/cluster/ClusterWorkflowEngine.js +13 -14
  300. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  301. package/dist/unstable/cluster/Entity.d.ts +8 -8
  302. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  303. package/dist/unstable/cluster/Entity.js +12 -12
  304. package/dist/unstable/cluster/Entity.js.map +1 -1
  305. package/dist/unstable/cluster/EntityAddress.d.ts +2 -2
  306. package/dist/unstable/cluster/EntityProxy.js +3 -3
  307. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  308. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  309. package/dist/unstable/cluster/EntityProxyServer.js +4 -4
  310. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  311. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  312. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  313. package/dist/unstable/cluster/EntityResource.js +2 -2
  314. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  315. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  316. package/dist/unstable/cluster/HttpRunner.js +2 -2
  317. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  318. package/dist/unstable/cluster/K8sHttpClient.d.ts +4 -4
  319. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  320. package/dist/unstable/cluster/K8sHttpClient.js +2 -2
  321. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  322. package/dist/unstable/cluster/Message.d.ts +7 -4
  323. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  324. package/dist/unstable/cluster/Message.js +5 -5
  325. package/dist/unstable/cluster/Message.js.map +1 -1
  326. package/dist/unstable/cluster/MessageStorage.d.ts +14 -14
  327. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  328. package/dist/unstable/cluster/MessageStorage.js +8 -8
  329. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  330. package/dist/unstable/cluster/Reply.d.ts +2 -2
  331. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  332. package/dist/unstable/cluster/Reply.js +5 -5
  333. package/dist/unstable/cluster/Reply.js.map +1 -1
  334. package/dist/unstable/cluster/Runner.d.ts +1 -1
  335. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  336. package/dist/unstable/cluster/RunnerHealth.d.ts +2 -2
  337. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  338. package/dist/unstable/cluster/RunnerHealth.js +2 -2
  339. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  340. package/dist/unstable/cluster/RunnerServer.js +1 -1
  341. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  342. package/dist/unstable/cluster/RunnerStorage.d.ts +12 -12
  343. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  344. package/dist/unstable/cluster/RunnerStorage.js +3 -3
  345. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  346. package/dist/unstable/cluster/Runners.d.ts +3 -3
  347. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  348. package/dist/unstable/cluster/Runners.js +7 -7
  349. package/dist/unstable/cluster/Runners.js.map +1 -1
  350. package/dist/unstable/cluster/ShardId.d.ts +35 -49
  351. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  352. package/dist/unstable/cluster/ShardId.js +65 -67
  353. package/dist/unstable/cluster/ShardId.js.map +1 -1
  354. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  355. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  356. package/dist/unstable/cluster/Sharding.js +21 -21
  357. package/dist/unstable/cluster/Sharding.js.map +1 -1
  358. package/dist/unstable/cluster/ShardingConfig.d.ts +2 -2
  359. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  360. package/dist/unstable/cluster/ShardingConfig.js +5 -5
  361. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  362. package/dist/unstable/cluster/SingletonAddress.d.ts +2 -2
  363. package/dist/unstable/cluster/Snowflake.d.ts +2 -2
  364. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  365. package/dist/unstable/cluster/Snowflake.js +2 -2
  366. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  367. package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
  368. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  369. package/dist/unstable/cluster/internal/entityManager.js +15 -14
  370. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  371. package/dist/unstable/cluster/internal/entityReaper.js +2 -2
  372. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  373. package/dist/unstable/cluster/internal/resourceMap.js +3 -3
  374. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  375. package/dist/unstable/devtools/DevToolsClient.d.ts +2 -2
  376. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  377. package/dist/unstable/devtools/DevToolsClient.js +5 -5
  378. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  379. package/dist/unstable/eventlog/EventJournal.d.ts +4 -4
  380. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  381. package/dist/unstable/eventlog/EventJournal.js +2 -2
  382. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  383. package/dist/unstable/eventlog/EventLog.d.ts +5 -5
  384. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  385. package/dist/unstable/eventlog/EventLog.js +18 -18
  386. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  387. package/dist/unstable/eventlog/EventLogEncryption.d.ts +2 -2
  388. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  389. package/dist/unstable/eventlog/EventLogEncryption.js +2 -2
  390. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  391. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -12
  392. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  393. package/dist/unstable/eventlog/EventLogRemote.js +2 -2
  394. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  395. package/dist/unstable/eventlog/EventLogServer.d.ts +3 -3
  396. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  397. package/dist/unstable/eventlog/EventLogServer.js +2 -2
  398. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  399. package/dist/unstable/http/Etag.d.ts +2 -2
  400. package/dist/unstable/http/Etag.d.ts.map +1 -1
  401. package/dist/unstable/http/Etag.js +2 -2
  402. package/dist/unstable/http/Etag.js.map +1 -1
  403. package/dist/unstable/http/FetchHttpClient.d.ts +6 -3
  404. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  405. package/dist/unstable/http/FetchHttpClient.js +5 -5
  406. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  407. package/dist/unstable/http/Headers.d.ts +5 -2
  408. package/dist/unstable/http/Headers.d.ts.map +1 -1
  409. package/dist/unstable/http/Headers.js +3 -3
  410. package/dist/unstable/http/Headers.js.map +1 -1
  411. package/dist/unstable/http/HttpClient.d.ts +8 -6
  412. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  413. package/dist/unstable/http/HttpClient.js +6 -6
  414. package/dist/unstable/http/HttpClient.js.map +1 -1
  415. package/dist/unstable/http/HttpClientError.d.ts +1 -1
  416. package/dist/unstable/http/HttpClientRequest.d.ts +2 -2
  417. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  418. package/dist/unstable/http/HttpClientRequest.js +4 -4
  419. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  420. package/dist/unstable/http/HttpEffect.d.ts +6 -6
  421. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  422. package/dist/unstable/http/HttpEffect.js +24 -24
  423. package/dist/unstable/http/HttpEffect.js.map +1 -1
  424. package/dist/unstable/http/HttpIncomingMessage.d.ts +2 -2
  425. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  426. package/dist/unstable/http/HttpIncomingMessage.js +2 -2
  427. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  428. package/dist/unstable/http/HttpMiddleware.d.ts +3 -3
  429. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  430. package/dist/unstable/http/HttpMiddleware.js +26 -14
  431. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  432. package/dist/unstable/http/HttpPlatform.d.ts +2 -2
  433. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  434. package/dist/unstable/http/HttpPlatform.js +2 -2
  435. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  436. package/dist/unstable/http/HttpRouter.d.ts +7 -7
  437. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  438. package/dist/unstable/http/HttpRouter.js +29 -29
  439. package/dist/unstable/http/HttpRouter.js.map +1 -1
  440. package/dist/unstable/http/HttpServer.d.ts +2 -2
  441. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  442. package/dist/unstable/http/HttpServer.js +2 -2
  443. package/dist/unstable/http/HttpServer.js.map +1 -1
  444. package/dist/unstable/http/HttpServerError.d.ts +3 -3
  445. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  446. package/dist/unstable/http/HttpServerError.js +3 -3
  447. package/dist/unstable/http/HttpServerError.js.map +1 -1
  448. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  449. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  450. package/dist/unstable/http/HttpServerRequest.js +6 -6
  451. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  452. package/dist/unstable/http/HttpServerResponse.d.ts +2 -2
  453. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  454. package/dist/unstable/http/HttpServerResponse.js +6 -6
  455. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  456. package/dist/unstable/http/Multipart.d.ts +6 -6
  457. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  458. package/dist/unstable/http/Multipart.js +7 -7
  459. package/dist/unstable/http/Multipart.js.map +1 -1
  460. package/dist/unstable/httpapi/HttpApi.d.ts +9 -9
  461. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  462. package/dist/unstable/httpapi/HttpApi.js +8 -8
  463. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  464. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +0 -3
  465. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  466. package/dist/unstable/httpapi/HttpApiBuilder.js +20 -20
  467. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  468. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  469. package/dist/unstable/httpapi/HttpApiClient.js +1 -1
  470. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  471. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +7 -7
  472. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  473. package/dist/unstable/httpapi/HttpApiEndpoint.js +4 -4
  474. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  475. package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
  476. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  477. package/dist/unstable/httpapi/HttpApiGroup.d.ts +8 -8
  478. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  479. package/dist/unstable/httpapi/HttpApiGroup.js +4 -4
  480. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  481. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +6 -6
  482. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  483. package/dist/unstable/httpapi/HttpApiMiddleware.js +5 -5
  484. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  485. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +9 -6
  486. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  487. package/dist/unstable/httpapi/HttpApiSecurity.js +6 -6
  488. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  489. package/dist/unstable/httpapi/OpenApi.d.ts +15 -15
  490. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  491. package/dist/unstable/httpapi/OpenApi.js +23 -23
  492. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  493. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  494. package/dist/unstable/observability/OtlpExporter.js +5 -5
  495. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  496. package/dist/unstable/observability/OtlpMetrics.js +1 -1
  497. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  498. package/dist/unstable/observability/OtlpSerialization.d.ts +2 -2
  499. package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
  500. package/dist/unstable/observability/OtlpSerialization.js +2 -2
  501. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  502. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  503. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  504. package/dist/unstable/observability/PrometheusMetrics.d.ts +3 -3
  505. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  506. package/dist/unstable/observability/PrometheusMetrics.js +4 -33
  507. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  508. package/dist/unstable/persistence/KeyValueStore.d.ts +23 -2
  509. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  510. package/dist/unstable/persistence/KeyValueStore.js +144 -2
  511. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  512. package/dist/unstable/persistence/PersistedCache.d.ts +1 -2
  513. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  514. package/dist/unstable/persistence/PersistedCache.js +10 -11
  515. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  516. package/dist/unstable/persistence/PersistedQueue.d.ts +4 -4
  517. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  518. package/dist/unstable/persistence/PersistedQueue.js +3 -3
  519. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  520. package/dist/unstable/persistence/Persistence.d.ts +4 -4
  521. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  522. package/dist/unstable/persistence/Persistence.js +3 -3
  523. package/dist/unstable/persistence/Persistence.js.map +1 -1
  524. package/dist/unstable/persistence/RateLimiter.d.ts +6 -6
  525. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  526. package/dist/unstable/persistence/RateLimiter.js +3 -3
  527. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  528. package/dist/unstable/persistence/Redis.d.ts +3 -3
  529. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  530. package/dist/unstable/persistence/Redis.js +2 -2
  531. package/dist/unstable/persistence/Redis.js.map +1 -1
  532. package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -2
  533. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  534. package/dist/unstable/process/ChildProcessSpawner.js +2 -2
  535. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  536. package/dist/unstable/reactivity/Atom.d.ts +36 -36
  537. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  538. package/dist/unstable/reactivity/Atom.js +9 -9
  539. package/dist/unstable/reactivity/Atom.js.map +1 -1
  540. package/dist/unstable/reactivity/AtomHttpApi.d.ts +3 -3
  541. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  542. package/dist/unstable/reactivity/AtomHttpApi.js +2 -2
  543. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  544. package/dist/unstable/reactivity/AtomRegistry.d.ts +2 -2
  545. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  546. package/dist/unstable/reactivity/AtomRegistry.js +3 -3
  547. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  548. package/dist/unstable/reactivity/AtomRpc.d.ts +3 -3
  549. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  550. package/dist/unstable/reactivity/AtomRpc.js +2 -2
  551. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  552. package/dist/unstable/reactivity/Reactivity.d.ts +2 -2
  553. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  554. package/dist/unstable/reactivity/Reactivity.js +6 -6
  555. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  556. package/dist/unstable/rpc/Rpc.d.ts +11 -11
  557. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  558. package/dist/unstable/rpc/Rpc.js +4 -4
  559. package/dist/unstable/rpc/Rpc.js.map +1 -1
  560. package/dist/unstable/rpc/RpcClient.d.ts +18 -8
  561. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  562. package/dist/unstable/rpc/RpcClient.js +27 -18
  563. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  564. package/dist/unstable/rpc/RpcClientError.d.ts +2 -2
  565. package/dist/unstable/rpc/RpcGroup.d.ts +7 -7
  566. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  567. package/dist/unstable/rpc/RpcGroup.js +20 -20
  568. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  569. package/dist/unstable/rpc/RpcMiddleware.d.ts +6 -6
  570. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  571. package/dist/unstable/rpc/RpcMiddleware.js +5 -5
  572. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  573. package/dist/unstable/rpc/RpcSchema.d.ts +3 -3
  574. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  575. package/dist/unstable/rpc/RpcSchema.js +3 -3
  576. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  577. package/dist/unstable/rpc/RpcSerialization.d.ts +2 -2
  578. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  579. package/dist/unstable/rpc/RpcSerialization.js +2 -2
  580. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  581. package/dist/unstable/rpc/RpcServer.d.ts +2 -2
  582. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  583. package/dist/unstable/rpc/RpcServer.js +18 -18
  584. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  585. package/dist/unstable/rpc/RpcWorker.d.ts +2 -2
  586. package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
  587. package/dist/unstable/rpc/RpcWorker.js +4 -4
  588. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  589. package/dist/unstable/rpc/Utils.d.ts +0 -3
  590. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  591. package/dist/unstable/rpc/Utils.js +2 -5
  592. package/dist/unstable/rpc/Utils.js.map +1 -1
  593. package/dist/unstable/socket/Socket.d.ts +10 -10
  594. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  595. package/dist/unstable/socket/Socket.js +9 -9
  596. package/dist/unstable/socket/Socket.js.map +1 -1
  597. package/dist/unstable/socket/SocketServer.d.ts +5 -2
  598. package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
  599. package/dist/unstable/socket/SocketServer.js +2 -2
  600. package/dist/unstable/socket/SocketServer.js.map +1 -1
  601. package/dist/unstable/sql/SqlClient.d.ts +5 -5
  602. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  603. package/dist/unstable/sql/SqlClient.js +7 -7
  604. package/dist/unstable/sql/SqlClient.js.map +1 -1
  605. package/dist/unstable/sql/SqlConnection.d.ts +2 -2
  606. package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
  607. package/dist/unstable/sql/SqlConnection.js +5 -2
  608. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  609. package/dist/unstable/sql/SqlError.d.ts +12 -12
  610. package/dist/unstable/sql/SqlModel.d.ts +8 -9
  611. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  612. package/dist/unstable/sql/SqlModel.js +9 -35
  613. package/dist/unstable/sql/SqlModel.js.map +1 -1
  614. package/dist/unstable/sql/SqlResolver.js +11 -11
  615. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  616. package/dist/unstable/sql/Statement.d.ts +2 -2
  617. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  618. package/dist/unstable/sql/Statement.js +2 -2
  619. package/dist/unstable/sql/Statement.js.map +1 -1
  620. package/dist/unstable/workers/Transferable.d.ts +2 -2
  621. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  622. package/dist/unstable/workers/Transferable.js +6 -6
  623. package/dist/unstable/workers/Transferable.js.map +1 -1
  624. package/dist/unstable/workers/Worker.d.ts +3 -3
  625. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  626. package/dist/unstable/workers/Worker.js +6 -3
  627. package/dist/unstable/workers/Worker.js.map +1 -1
  628. package/dist/unstable/workers/WorkerError.d.ts +5 -5
  629. package/dist/unstable/workers/WorkerRunner.d.ts +2 -2
  630. package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
  631. package/dist/unstable/workers/WorkerRunner.js +5 -2
  632. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  633. package/dist/unstable/workflow/Activity.d.ts +7 -7
  634. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  635. package/dist/unstable/workflow/Activity.js +7 -7
  636. package/dist/unstable/workflow/Activity.js.map +1 -1
  637. package/dist/unstable/workflow/DurableClock.d.ts +0 -3
  638. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  639. package/dist/unstable/workflow/DurableClock.js +3 -3
  640. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  641. package/dist/unstable/workflow/DurableDeferred.d.ts +1 -1
  642. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  643. package/dist/unstable/workflow/DurableDeferred.js +7 -7
  644. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  645. package/dist/unstable/workflow/Workflow.d.ts +9 -9
  646. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  647. package/dist/unstable/workflow/Workflow.js +18 -18
  648. package/dist/unstable/workflow/Workflow.js.map +1 -1
  649. package/dist/unstable/workflow/WorkflowEngine.d.ts +3 -3
  650. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  651. package/dist/unstable/workflow/WorkflowEngine.js +5 -5
  652. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  653. package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
  654. package/dist/unstable/workflow/WorkflowProxyServer.js +4 -4
  655. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  656. package/package.json +1 -1
  657. package/src/Cache.ts +18 -46
  658. package/src/Cause.ts +21 -21
  659. package/src/Channel.ts +120 -79
  660. package/src/Clock.ts +2 -2
  661. package/src/Config.ts +2 -2
  662. package/src/ConfigProvider.ts +5 -5
  663. package/src/Console.ts +2 -2
  664. package/src/{ServiceMap.ts → Context.ts} +337 -340
  665. package/src/DateTime.ts +2 -2
  666. package/src/Effect.ts +182 -184
  667. package/src/ErrorReporter.ts +3 -3
  668. package/src/ExecutionPlan.ts +8 -9
  669. package/src/Fiber.ts +7 -7
  670. package/src/FiberHandle.ts +5 -5
  671. package/src/FiberMap.ts +5 -5
  672. package/src/FiberSet.ts +5 -5
  673. package/src/FileSystem.ts +3 -3
  674. package/src/Layer.ts +333 -307
  675. package/src/LayerMap.ts +27 -26
  676. package/src/Logger.ts +3 -3
  677. package/src/ManagedRuntime.ts +32 -32
  678. package/src/Metric.ts +58 -58
  679. package/src/Path.ts +2 -2
  680. package/src/Pool.ts +5 -5
  681. package/src/PubSub.ts +3 -3
  682. package/src/Random.ts +2 -2
  683. package/src/RcMap.ts +14 -14
  684. package/src/Redactable.ts +146 -72
  685. package/src/References.ts +14 -14
  686. package/src/Request.ts +5 -5
  687. package/src/RequestResolver.ts +6 -7
  688. package/src/Resource.ts +4 -4
  689. package/src/Schedule.ts +2 -2
  690. package/src/Scheduler.ts +4 -4
  691. package/src/Schema.ts +837 -397
  692. package/src/SchemaAST.ts +5 -14
  693. package/src/SchemaGetter.ts +69 -11
  694. package/src/SchemaTransformation.ts +166 -0
  695. package/src/Scope.ts +2 -2
  696. package/src/ScopedCache.ts +5 -5
  697. package/src/Sink.ts +9 -9
  698. package/src/Stdio.ts +2 -2
  699. package/src/Stream.ts +234 -158
  700. package/src/Terminal.ts +3 -3
  701. package/src/Tracer.ts +17 -17
  702. package/src/Unify.ts +26 -2
  703. package/src/index.ts +82 -16
  704. package/src/internal/core.ts +7 -7
  705. package/src/internal/effect.ts +106 -106
  706. package/src/internal/layer.ts +7 -7
  707. package/src/internal/random.ts +2 -2
  708. package/src/internal/rcRef.ts +10 -10
  709. package/src/internal/references.ts +13 -13
  710. package/src/internal/request.ts +8 -8
  711. package/src/internal/schedule.ts +3 -1
  712. package/src/internal/schema/representation.ts +8 -1
  713. package/src/internal/schema/schema.ts +24 -1
  714. package/src/testing/TestSchema.ts +3 -3
  715. package/src/unstable/ai/AiError.ts +3 -2
  716. package/src/unstable/ai/Chat.ts +3 -3
  717. package/src/unstable/ai/EmbeddingModel.ts +3 -3
  718. package/src/unstable/ai/IdGenerator.ts +2 -2
  719. package/src/unstable/ai/LanguageModel.ts +2 -2
  720. package/src/unstable/ai/McpSchema.ts +11 -9
  721. package/src/unstable/ai/McpServer.ts +44 -44
  722. package/src/unstable/ai/Model.ts +8 -8
  723. package/src/unstable/ai/Prompt.ts +6 -12
  724. package/src/unstable/ai/Response.ts +6 -8
  725. package/src/unstable/ai/ResponseIdTracker.ts +2 -4
  726. package/src/unstable/ai/Telemetry.ts +2 -2
  727. package/src/unstable/ai/Tokenizer.ts +2 -2
  728. package/src/unstable/ai/Tool.ts +25 -25
  729. package/src/unstable/ai/Toolkit.ts +12 -12
  730. package/src/unstable/cli/Argument.ts +3 -4
  731. package/src/unstable/cli/CliError.ts +22 -9
  732. package/src/unstable/cli/CliOutput.ts +2 -2
  733. package/src/unstable/cli/Command.ts +36 -30
  734. package/src/unstable/cli/Flag.ts +3 -4
  735. package/src/unstable/cli/GlobalFlag.ts +3 -3
  736. package/src/unstable/cli/HelpDoc.ts +8 -8
  737. package/src/unstable/cli/Param.ts +39 -16
  738. package/src/unstable/cli/Prompt.ts +13 -6
  739. package/src/unstable/cli/internal/command.ts +7 -7
  740. package/src/unstable/cli/internal/parser.ts +130 -21
  741. package/src/unstable/cluster/ClusterSchema.ts +12 -12
  742. package/src/unstable/cluster/ClusterWorkflowEngine.ts +14 -15
  743. package/src/unstable/cluster/Entity.ts +25 -25
  744. package/src/unstable/cluster/EntityProxy.ts +3 -3
  745. package/src/unstable/cluster/EntityProxyServer.ts +4 -4
  746. package/src/unstable/cluster/EntityResource.ts +2 -2
  747. package/src/unstable/cluster/HttpRunner.ts +2 -2
  748. package/src/unstable/cluster/K8sHttpClient.ts +2 -2
  749. package/src/unstable/cluster/Message.ts +8 -8
  750. package/src/unstable/cluster/MessageStorage.ts +11 -11
  751. package/src/unstable/cluster/Reply.ts +7 -7
  752. package/src/unstable/cluster/RunnerHealth.ts +2 -2
  753. package/src/unstable/cluster/RunnerServer.ts +1 -1
  754. package/src/unstable/cluster/RunnerStorage.ts +9 -9
  755. package/src/unstable/cluster/Runners.ts +7 -7
  756. package/src/unstable/cluster/ShardId.ts +84 -74
  757. package/src/unstable/cluster/Sharding.ts +26 -26
  758. package/src/unstable/cluster/ShardingConfig.ts +5 -5
  759. package/src/unstable/cluster/Snowflake.ts +2 -2
  760. package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
  761. package/src/unstable/cluster/internal/entityManager.ts +27 -23
  762. package/src/unstable/cluster/internal/entityReaper.ts +2 -2
  763. package/src/unstable/cluster/internal/resourceMap.ts +3 -3
  764. package/src/unstable/devtools/DevToolsClient.ts +5 -5
  765. package/src/unstable/eventlog/EventJournal.ts +2 -2
  766. package/src/unstable/eventlog/EventLog.ts +21 -21
  767. package/src/unstable/eventlog/EventLogEncryption.ts +2 -2
  768. package/src/unstable/eventlog/EventLogRemote.ts +2 -2
  769. package/src/unstable/eventlog/EventLogServer.ts +2 -2
  770. package/src/unstable/http/Etag.ts +2 -2
  771. package/src/unstable/http/FetchHttpClient.ts +5 -5
  772. package/src/unstable/http/Headers.ts +4 -4
  773. package/src/unstable/http/HttpClient.ts +9 -8
  774. package/src/unstable/http/HttpClientRequest.ts +5 -5
  775. package/src/unstable/http/HttpEffect.ts +35 -35
  776. package/src/unstable/http/HttpIncomingMessage.ts +2 -2
  777. package/src/unstable/http/HttpMiddleware.ts +28 -14
  778. package/src/unstable/http/HttpPlatform.ts +2 -2
  779. package/src/unstable/http/HttpRouter.ts +37 -37
  780. package/src/unstable/http/HttpServer.ts +2 -2
  781. package/src/unstable/http/HttpServerError.ts +4 -4
  782. package/src/unstable/http/HttpServerRequest.ts +7 -7
  783. package/src/unstable/http/HttpServerResponse.ts +8 -8
  784. package/src/unstable/http/Multipart.ts +8 -8
  785. package/src/unstable/httpapi/HttpApi.ts +18 -18
  786. package/src/unstable/httpapi/HttpApiBuilder.ts +20 -20
  787. package/src/unstable/httpapi/HttpApiClient.ts +4 -4
  788. package/src/unstable/httpapi/HttpApiEndpoint.ts +14 -14
  789. package/src/unstable/httpapi/HttpApiGroup.ts +16 -16
  790. package/src/unstable/httpapi/HttpApiMiddleware.ts +14 -14
  791. package/src/unstable/httpapi/HttpApiSecurity.ts +13 -13
  792. package/src/unstable/httpapi/OpenApi.ts +29 -31
  793. package/src/unstable/observability/OtlpExporter.ts +5 -5
  794. package/src/unstable/observability/OtlpMetrics.ts +1 -1
  795. package/src/unstable/observability/OtlpSerialization.ts +2 -2
  796. package/src/unstable/observability/OtlpTracer.ts +2 -2
  797. package/src/unstable/observability/PrometheusMetrics.ts +5 -5
  798. package/src/unstable/persistence/KeyValueStore.ts +226 -3
  799. package/src/unstable/persistence/PersistedCache.ts +20 -17
  800. package/src/unstable/persistence/PersistedQueue.ts +3 -3
  801. package/src/unstable/persistence/Persistence.ts +4 -4
  802. package/src/unstable/persistence/RateLimiter.ts +3 -3
  803. package/src/unstable/persistence/Redis.ts +2 -2
  804. package/src/unstable/process/ChildProcessSpawner.ts +46 -2
  805. package/src/unstable/reactivity/Atom.ts +79 -79
  806. package/src/unstable/reactivity/AtomHttpApi.ts +4 -4
  807. package/src/unstable/reactivity/AtomRegistry.ts +4 -4
  808. package/src/unstable/reactivity/AtomRpc.ts +4 -4
  809. package/src/unstable/reactivity/Reactivity.ts +6 -6
  810. package/src/unstable/rpc/Rpc.ts +17 -17
  811. package/src/unstable/rpc/RpcClient.ts +44 -30
  812. package/src/unstable/rpc/RpcGroup.ts +30 -30
  813. package/src/unstable/rpc/RpcMiddleware.ts +14 -14
  814. package/src/unstable/rpc/RpcSchema.ts +4 -4
  815. package/src/unstable/rpc/RpcSerialization.ts +2 -2
  816. package/src/unstable/rpc/RpcServer.ts +19 -19
  817. package/src/unstable/rpc/RpcWorker.ts +5 -5
  818. package/src/unstable/rpc/Utils.ts +4 -4
  819. package/src/unstable/socket/Socket.ts +9 -9
  820. package/src/unstable/socket/SocketServer.ts +2 -2
  821. package/src/unstable/sql/SqlClient.ts +11 -11
  822. package/src/unstable/sql/SqlConnection.ts +2 -2
  823. package/src/unstable/sql/SqlModel.ts +54 -82
  824. package/src/unstable/sql/SqlResolver.ts +11 -11
  825. package/src/unstable/sql/Statement.ts +2 -2
  826. package/src/unstable/workers/Transferable.ts +6 -6
  827. package/src/unstable/workers/Worker.ts +4 -4
  828. package/src/unstable/workers/WorkerRunner.ts +2 -2
  829. package/src/unstable/workflow/Activity.ts +14 -14
  830. package/src/unstable/workflow/DurableClock.ts +3 -3
  831. package/src/unstable/workflow/DurableDeferred.ts +8 -8
  832. package/src/unstable/workflow/Workflow.ts +23 -23
  833. package/src/unstable/workflow/WorkflowEngine.ts +6 -6
  834. package/src/unstable/workflow/WorkflowProxyServer.ts +4 -4
  835. package/dist/ServiceMap.d.ts +0 -1150
  836. package/dist/ServiceMap.d.ts.map +0 -1
  837. package/dist/ServiceMap.js.map +0 -1
package/src/Layer.ts CHANGED
@@ -20,6 +20,7 @@
20
20
  import type { NonEmptyArray, 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 * as Deferred from "./Deferred.ts"
24
25
  import type { Effect } from "./Effect.ts"
25
26
  import type * as Exit from "./Exit.ts"
@@ -33,10 +34,10 @@ import { type Pipeable, pipeArguments } from "./Pipeable.ts"
33
34
  import { hasProperty } from "./Predicate.ts"
34
35
  import { CurrentStackFrame } from "./References.ts"
35
36
  import * as Scope from "./Scope.ts"
36
- import * as ServiceMap from "./ServiceMap.ts"
37
37
  import type * as Stream from "./Stream.ts"
38
38
  import * as Tracer from "./Tracer.ts"
39
39
  import type * as Types from "./Types.ts"
40
+ import type * as Unify from "./Unify.ts"
40
41
 
41
42
  const TypeId = "~effect/Layer"
42
43
 
@@ -53,9 +54,31 @@ const TypeId = "~effect/Layer"
53
54
  */
54
55
  export interface Layer<in ROut, out E = never, out RIn = never> extends Variance<ROut, E, RIn>, Pipeable {
55
56
  /** @internal */
56
- build(memoMap: MemoMap, scope: Scope.Scope): Effect<ServiceMap.ServiceMap<ROut>, E, RIn>
57
+ build(memoMap: MemoMap, scope: Scope.Scope): Effect<Context.Context<ROut>, E, RIn>
58
+ [Unify.typeSymbol]?: unknown
59
+ [Unify.unifySymbol]?: LayerUnify<this>
60
+ [Unify.ignoreSymbol]?: LayerUnifyIgnore
57
61
  }
58
62
 
63
+ /**
64
+ * @since 4.0.0
65
+ * @category models
66
+ */
67
+ export interface LayerUnify<A extends { [Unify.typeSymbol]?: any }> {
68
+ Layer?: () => A[Unify.typeSymbol] extends Layer<any, any, any> | infer _ ? Layer<
69
+ Success<Extract<A[Unify.typeSymbol], Any>>,
70
+ Error<Extract<A[Unify.typeSymbol], Any>>,
71
+ Services<Extract<A[Unify.typeSymbol], Any>>
72
+ >
73
+ : never
74
+ }
75
+
76
+ /**
77
+ * @since 4.0.0
78
+ * @category models
79
+ */
80
+ export interface LayerUnifyIgnore {}
81
+
59
82
  /**
60
83
  * The variance interface for Layer type parameters.
61
84
  *
@@ -119,9 +142,9 @@ const MemoMapTypeId = "~effect/Layer/MemoMap"
119
142
  *
120
143
  * @example
121
144
  * ```ts
122
- * import { Effect, Layer, ServiceMap } from "effect"
145
+ * import { Effect, Layer, Context } from "effect"
123
146
  *
124
- * class Database extends ServiceMap.Service<Database, {
147
+ * class Database extends Context.Service<Database, {
125
148
  * readonly query: (sql: string) => Effect.Effect<string>
126
149
  * }>()("Database") {}
127
150
  *
@@ -133,9 +156,9 @@ const MemoMapTypeId = "~effect/Layer/MemoMap"
133
156
  * const dbLayer = Layer.succeed(Database)({
134
157
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
135
158
  * })
136
- * const services = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
159
+ * const context = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
137
160
  *
138
- * return ServiceMap.get(services, Database)
161
+ * return Context.get(context, Database)
139
162
  * })
140
163
  * ```
141
164
  *
@@ -147,8 +170,8 @@ export interface MemoMap {
147
170
  readonly getOrElseMemoize: <RIn, E, ROut>(
148
171
  layer: Layer<ROut, E, RIn>,
149
172
  scope: Scope.Scope,
150
- build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<ServiceMap.ServiceMap<ROut>, E, RIn>
151
- ) => Effect<ServiceMap.ServiceMap<ROut>, E, RIn>
173
+ build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<Context.Context<ROut>, E, RIn>
174
+ ) => Effect<Context.Context<ROut>, E, RIn>
152
175
  }
153
176
 
154
177
  /**
@@ -156,9 +179,9 @@ export interface MemoMap {
156
179
  *
157
180
  * @example
158
181
  * ```ts
159
- * import { Effect, Layer, ServiceMap } from "effect"
182
+ * import { Effect, Layer, Context } from "effect"
160
183
  *
161
- * class Database extends ServiceMap.Service<Database, {
184
+ * class Database extends Context.Service<Database, {
162
185
  * readonly query: (sql: string) => Effect.Effect<string>
163
186
  * }>()("Database") {}
164
187
  *
@@ -191,7 +214,7 @@ const fromBuildUnsafe = <ROut, E, RIn>(
191
214
  build: (
192
215
  memoMap: MemoMap,
193
216
  scope: Scope.Scope
194
- ) => Effect<ServiceMap.ServiceMap<ROut>, E, RIn>
217
+ ) => Effect<Context.Context<ROut>, E, RIn>
195
218
  ): Layer<ROut, E, RIn> => {
196
219
  const self = Object.create(LayerProto)
197
220
  self.build = build
@@ -206,15 +229,15 @@ const fromBuildUnsafe = <ROut, E, RIn>(
206
229
  *
207
230
  * @example
208
231
  * ```ts
209
- * import { Effect, Layer, ServiceMap } from "effect"
232
+ * import { Effect, Layer, Context } from "effect"
210
233
  *
211
- * class Database extends ServiceMap.Service<Database, {
234
+ * class Database extends Context.Service<Database, {
212
235
  * readonly query: (sql: string) => Effect.Effect<string>
213
236
  * }>()("Database") {}
214
237
  *
215
238
  * const databaseLayer = Layer.fromBuild(() =>
216
239
  * Effect.sync(() =>
217
- * ServiceMap.make(Database, {
240
+ * Context.make(Database, {
218
241
  * query: (sql: string) => Effect.succeed("result")
219
242
  * })
220
243
  * )
@@ -228,7 +251,7 @@ export const fromBuild = <ROut, E, RIn>(
228
251
  build: (
229
252
  memoMap: MemoMap,
230
253
  scope: Scope.Scope
231
- ) => Effect<ServiceMap.ServiceMap<ROut>, E, RIn>
254
+ ) => Effect<Context.Context<ROut>, E, RIn>
232
255
  ): Layer<ROut, E, RIn> =>
233
256
  fromBuildUnsafe((memoMap: MemoMap, scope: Scope.Scope) => {
234
257
  const layerScope = Scope.forkUnsafe(scope)
@@ -247,15 +270,15 @@ export const fromBuild = <ROut, E, RIn>(
247
270
  *
248
271
  * @example
249
272
  * ```ts
250
- * import { Effect, Layer, ServiceMap } from "effect"
273
+ * import { Effect, Layer, Context } from "effect"
251
274
  *
252
- * class Database extends ServiceMap.Service<Database, {
275
+ * class Database extends Context.Service<Database, {
253
276
  * readonly query: (sql: string) => Effect.Effect<string>
254
277
  * }>()("Database") {}
255
278
  *
256
279
  * const databaseLayer = Layer.fromBuildMemo(() =>
257
280
  * Effect.sync(() =>
258
- * ServiceMap.make(Database, {
281
+ * Context.make(Database, {
259
282
  * query: (sql: string) => Effect.succeed("result")
260
283
  * })
261
284
  * )
@@ -269,7 +292,7 @@ export const fromBuildMemo = <ROut, E, RIn>(
269
292
  build: (
270
293
  memoMap: MemoMap,
271
294
  scope: Scope.Scope
272
- ) => Effect<ServiceMap.ServiceMap<ROut>, E, RIn>
295
+ ) => Effect<Context.Context<ROut>, E, RIn>
273
296
  ): Layer<ROut, E, RIn> => {
274
297
  const self: Layer<ROut, E, RIn> = fromBuild((memoMap, scope) => memoMap.getOrElseMemoize(self, scope, build))
275
298
  return self
@@ -282,15 +305,15 @@ class MemoMapImpl implements MemoMap {
282
305
 
283
306
  readonly map = new Map<Layer<any, any, any>, {
284
307
  observers: number
285
- effect: Effect<ServiceMap.ServiceMap<any>, any>
308
+ effect: Effect<Context.Context<any>, any>
286
309
  readonly finalizer: (exit: Exit.Exit<unknown, unknown>) => Effect<void>
287
310
  }>()
288
311
 
289
312
  getOrElseMemoize<RIn, E, ROut>(
290
313
  layer: Layer<ROut, E, RIn>,
291
314
  scope: Scope.Scope,
292
- build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<ServiceMap.ServiceMap<ROut>, E, RIn>
293
- ): Effect<ServiceMap.ServiceMap<ROut>, E, RIn> {
315
+ build: (memoMap: MemoMap, scope: Scope.Scope) => Effect<Context.Context<ROut>, E, RIn>
316
+ ): Effect<Context.Context<ROut>, E, RIn> {
294
317
  if (this.map.has(layer)) {
295
318
  const entry = this.map.get(layer)!
296
319
  entry.observers++
@@ -300,7 +323,7 @@ class MemoMapImpl implements MemoMap {
300
323
  )
301
324
  }
302
325
  const layerScope = Scope.makeUnsafe()
303
- const deferred = Deferred.makeUnsafe<ServiceMap.ServiceMap<ROut>, E>()
326
+ const deferred = Deferred.makeUnsafe<Context.Context<ROut>, E>()
304
327
  const entry = {
305
328
  observers: 1,
306
329
  effect: Deferred.await(deferred),
@@ -330,9 +353,9 @@ class MemoMapImpl implements MemoMap {
330
353
  *
331
354
  * @example
332
355
  * ```ts
333
- * import { Effect, Layer, ServiceMap } from "effect"
356
+ * import { Effect, Layer, Context } from "effect"
334
357
  *
335
- * class Database extends ServiceMap.Service<Database, {
358
+ * class Database extends Context.Service<Database, {
336
359
  * readonly query: (sql: string) => Effect.Effect<string>
337
360
  * }>()("Database") {}
338
361
  *
@@ -344,9 +367,9 @@ class MemoMapImpl implements MemoMap {
344
367
  * const dbLayer = Layer.succeed(Database)({
345
368
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
346
369
  * })
347
- * const services = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
370
+ * const context = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
348
371
  *
349
- * return ServiceMap.get(services, Database)
372
+ * return Context.get(context, Database)
350
373
  * })
351
374
  * ```
352
375
  *
@@ -360,9 +383,9 @@ export const makeMemoMapUnsafe = (): MemoMap => new MemoMapImpl()
360
383
  *
361
384
  * @example
362
385
  * ```ts
363
- * import { Effect, Layer, ServiceMap } from "effect"
386
+ * import { Effect, Layer, Context } from "effect"
364
387
  *
365
- * class Database extends ServiceMap.Service<Database, {
388
+ * class Database extends Context.Service<Database, {
366
389
  * readonly query: (sql: string) => Effect.Effect<string>
367
390
  * }>()("Database") {}
368
391
  *
@@ -374,9 +397,9 @@ export const makeMemoMapUnsafe = (): MemoMap => new MemoMapImpl()
374
397
  * const dbLayer = Layer.succeed(Database)({
375
398
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
376
399
  * })
377
- * const services = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
400
+ * const context = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
378
401
  *
379
- * return ServiceMap.get(services, Database)
402
+ * return Context.get(context, Database)
380
403
  * })
381
404
  * ```
382
405
  *
@@ -394,8 +417,8 @@ export const makeMemoMap: Effect<MemoMap> = internalEffect.sync(makeMemoMapUnsaf
394
417
  * @since 3.13.0
395
418
  * @category models
396
419
  */
397
- export class CurrentMemoMap extends ServiceMap.Service<CurrentMemoMap, MemoMap>()("effect/Layer/CurrentMemoMap") {
398
- static getOrCreate: <Services>(self: ServiceMap.ServiceMap<Services>) => MemoMap = ServiceMap.getOrElse(
420
+ export class CurrentMemoMap extends Context.Service<CurrentMemoMap, MemoMap>()("effect/Layer/CurrentMemoMap") {
421
+ static getOrCreate: <Services>(self: Context.Context<Services>) => MemoMap = Context.getOrElse(
399
422
  this,
400
423
  makeMemoMapUnsafe
401
424
  )
@@ -407,13 +430,13 @@ export class CurrentMemoMap extends ServiceMap.Service<CurrentMemoMap, MemoMap>(
407
430
  *
408
431
  * @example
409
432
  * ```ts
410
- * import { Effect, Layer, ServiceMap } from "effect"
433
+ * import { Effect, Layer, Context } from "effect"
411
434
  *
412
- * class Database extends ServiceMap.Service<Database, {
435
+ * class Database extends Context.Service<Database, {
413
436
  * readonly query: (sql: string) => Effect.Effect<string>
414
437
  * }>()("Database") {}
415
438
  *
416
- * class Logger extends ServiceMap.Service<Logger, {
439
+ * class Logger extends Context.Service<Logger, {
417
440
  * readonly log: (msg: string) => Effect.Effect<void>
418
441
  * }>()("Logger") {}
419
442
  *
@@ -426,21 +449,21 @@ export class CurrentMemoMap extends ServiceMap.Service<CurrentMemoMap, MemoMap>(
426
449
  * const dbLayer = Layer.succeed(Database)({
427
450
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
428
451
  * })
429
- * const dbServices = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
452
+ * const dbContext = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
430
453
  *
431
454
  * // Build logger layer with same memoization (reuses memo if same layer)
432
455
  * const loggerLayer = Layer.succeed(Logger)({
433
456
  * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
434
457
  * })
435
- * const loggerServices = yield* Layer.buildWithMemoMap(
458
+ * const loggerContext = yield* Layer.buildWithMemoMap(
436
459
  * loggerLayer,
437
460
  * memoMap,
438
461
  * scope
439
462
  * )
440
463
  *
441
464
  * return {
442
- * database: ServiceMap.get(dbServices, Database),
443
- * logger: ServiceMap.get(loggerServices, Logger)
465
+ * database: Context.get(dbContext, Database),
466
+ * logger: Context.get(loggerContext, Logger)
444
467
  * }
445
468
  * })
446
469
  * ```
@@ -455,13 +478,13 @@ export const buildWithMemoMap: {
455
478
  *
456
479
  * @example
457
480
  * ```ts
458
- * import { Effect, Layer, ServiceMap } from "effect"
481
+ * import { Effect, Layer, Context } from "effect"
459
482
  *
460
- * class Database extends ServiceMap.Service<Database, {
483
+ * class Database extends Context.Service<Database, {
461
484
  * readonly query: (sql: string) => Effect.Effect<string>
462
485
  * }>()("Database") {}
463
486
  *
464
- * class Logger extends ServiceMap.Service<Logger, {
487
+ * class Logger extends Context.Service<Logger, {
465
488
  * readonly log: (msg: string) => Effect.Effect<void>
466
489
  * }>()("Logger") {}
467
490
  *
@@ -474,21 +497,21 @@ export const buildWithMemoMap: {
474
497
  * const dbLayer = Layer.succeed(Database)({
475
498
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
476
499
  * })
477
- * const dbServices = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
500
+ * const dbContext = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
478
501
  *
479
502
  * // Build logger layer with same memoization (reuses memo if same layer)
480
503
  * const loggerLayer = Layer.succeed(Logger)({
481
504
  * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
482
505
  * })
483
- * const loggerServices = yield* Layer.buildWithMemoMap(
506
+ * const loggerContext = yield* Layer.buildWithMemoMap(
484
507
  * loggerLayer,
485
508
  * memoMap,
486
509
  * scope
487
510
  * )
488
511
  *
489
512
  * return {
490
- * database: ServiceMap.get(dbServices, Database),
491
- * logger: ServiceMap.get(loggerServices, Logger)
513
+ * database: Context.get(dbContext, Database),
514
+ * logger: Context.get(loggerContext, Logger)
492
515
  * }
493
516
  * })
494
517
  * ```
@@ -496,20 +519,20 @@ export const buildWithMemoMap: {
496
519
  * @since 2.0.0
497
520
  * @category memo map
498
521
  */
499
- (memoMap: MemoMap, scope: Scope.Scope): <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<ServiceMap.ServiceMap<ROut>, E, RIn>
522
+ (memoMap: MemoMap, scope: Scope.Scope): <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<Context.Context<ROut>, E, RIn>
500
523
  /**
501
524
  * Builds a layer into an `Effect` value, using the specified `MemoMap` to memoize
502
525
  * the layer construction.
503
526
  *
504
527
  * @example
505
528
  * ```ts
506
- * import { Effect, Layer, ServiceMap } from "effect"
529
+ * import { Effect, Layer, Context } from "effect"
507
530
  *
508
- * class Database extends ServiceMap.Service<Database, {
531
+ * class Database extends Context.Service<Database, {
509
532
  * readonly query: (sql: string) => Effect.Effect<string>
510
533
  * }>()("Database") {}
511
534
  *
512
- * class Logger extends ServiceMap.Service<Logger, {
535
+ * class Logger extends Context.Service<Logger, {
513
536
  * readonly log: (msg: string) => Effect.Effect<void>
514
537
  * }>()("Logger") {}
515
538
  *
@@ -522,21 +545,21 @@ export const buildWithMemoMap: {
522
545
  * const dbLayer = Layer.succeed(Database)({
523
546
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
524
547
  * })
525
- * const dbServices = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
548
+ * const dbContext = yield* Layer.buildWithMemoMap(dbLayer, memoMap, scope)
526
549
  *
527
550
  * // Build logger layer with same memoization (reuses memo if same layer)
528
551
  * const loggerLayer = Layer.succeed(Logger)({
529
552
  * log: Effect.fn("Logger.log")((msg: string) => Effect.sync(() => console.log(msg)))
530
553
  * })
531
- * const loggerServices = yield* Layer.buildWithMemoMap(
554
+ * const loggerContext = yield* Layer.buildWithMemoMap(
532
555
  * loggerLayer,
533
556
  * memoMap,
534
557
  * scope
535
558
  * )
536
559
  *
537
560
  * return {
538
- * database: ServiceMap.get(dbServices, Database),
539
- * logger: ServiceMap.get(loggerServices, Logger)
561
+ * database: Context.get(dbContext, Database),
562
+ * logger: Context.get(loggerContext, Logger)
540
563
  * }
541
564
  * })
542
565
  * ```
@@ -544,14 +567,14 @@ export const buildWithMemoMap: {
544
567
  * @since 2.0.0
545
568
  * @category memo map
546
569
  */
547
- <RIn, E, ROut>(self: Layer<ROut, E, RIn>, memoMap: MemoMap, scope: Scope.Scope): Effect<ServiceMap.ServiceMap<ROut>, E, RIn>
570
+ <RIn, E, ROut>(self: Layer<ROut, E, RIn>, memoMap: MemoMap, scope: Scope.Scope): Effect<Context.Context<ROut>, E, RIn>
548
571
  } = dual(3, <RIn, E, ROut>(
549
572
  self: Layer<ROut, E, RIn>,
550
573
  memoMap: MemoMap,
551
574
  scope: Scope.Scope
552
- ): Effect<ServiceMap.ServiceMap<ROut>, E, RIn> =>
575
+ ): Effect<Context.Context<ROut>, E, RIn> =>
553
576
  internalEffect.provideService(
554
- internalEffect.map(self.build(memoMap, scope), ServiceMap.add(CurrentMemoMap, memoMap)),
577
+ internalEffect.map(self.build(memoMap, scope), Context.add(CurrentMemoMap, memoMap)),
555
578
  CurrentMemoMap,
556
579
  memoMap
557
580
  ))
@@ -561,9 +584,9 @@ export const buildWithMemoMap: {
561
584
  *
562
585
  * @example
563
586
  * ```ts
564
- * import { Effect, Layer, ServiceMap } from "effect"
587
+ * import { Effect, Layer, Context } from "effect"
565
588
  *
566
- * class Database extends ServiceMap.Service<Database, {
589
+ * class Database extends Context.Service<Database, {
567
590
  * readonly query: (sql: string) => Effect.Effect<string>
568
591
  * }>()("Database") {}
569
592
  *
@@ -573,11 +596,11 @@ export const buildWithMemoMap: {
573
596
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
574
597
  * })
575
598
  *
576
- * // Build the layer into ServiceMap - automatically manages scope and memoization
577
- * const services = yield* Layer.build(dbLayer)
599
+ * // Build the layer into Context - automatically manages scope and memoization
600
+ * const context = yield* Layer.build(dbLayer)
578
601
  *
579
602
  * // Extract the specific service from the built layer
580
- * const database = ServiceMap.get(services, Database)
603
+ * const database = Context.get(context, Database)
581
604
  *
582
605
  * return yield* database.query("SELECT * FROM users")
583
606
  * })
@@ -588,12 +611,12 @@ export const buildWithMemoMap: {
588
611
  */
589
612
  export const build = <RIn, E, ROut>(
590
613
  self: Layer<ROut, E, RIn>
591
- ): Effect<ServiceMap.ServiceMap<ROut>, E, RIn | Scope.Scope> =>
614
+ ): Effect<Context.Context<ROut>, E, RIn | Scope.Scope> =>
592
615
  core.withFiber((fiber) =>
593
616
  buildWithMemoMap(
594
617
  self,
595
- CurrentMemoMap.getOrCreate(fiber.services),
596
- ServiceMap.getUnsafe(fiber.services, Scope.Scope)
618
+ CurrentMemoMap.getOrCreate(fiber.context),
619
+ Context.getUnsafe(fiber.context, Scope.Scope)
597
620
  )
598
621
  )
599
622
 
@@ -606,9 +629,9 @@ export const build = <RIn, E, ROut>(
606
629
  *
607
630
  * @example
608
631
  * ```ts
609
- * import { Effect, Layer, Scope, ServiceMap } from "effect"
632
+ * import { Effect, Layer, Scope, Context } from "effect"
610
633
  *
611
- * class Database extends ServiceMap.Service<Database, {
634
+ * class Database extends Context.Service<Database, {
612
635
  * readonly query: (sql: string) => Effect.Effect<string>
613
636
  * }>()("Database") {}
614
637
  *
@@ -626,8 +649,8 @@ export const build = <RIn, E, ROut>(
626
649
  * }))
627
650
  *
628
651
  * // Build with specific scope - resources tied to this scope
629
- * const services = yield* Layer.buildWithScope(dbLayer, scope)
630
- * const database = ServiceMap.get(services, Database)
652
+ * const context = yield* Layer.buildWithScope(dbLayer, scope)
653
+ * const database = Context.get(context, Database)
631
654
  *
632
655
  * return yield* database.query("SELECT * FROM users")
633
656
  * // Database will be closed when scope is closed
@@ -647,9 +670,9 @@ export const buildWithScope: {
647
670
  *
648
671
  * @example
649
672
  * ```ts
650
- * import { Effect, Layer, Scope, ServiceMap } from "effect"
673
+ * import { Effect, Layer, Scope, Context } from "effect"
651
674
  *
652
- * class Database extends ServiceMap.Service<Database, {
675
+ * class Database extends Context.Service<Database, {
653
676
  * readonly query: (sql: string) => Effect.Effect<string>
654
677
  * }>()("Database") {}
655
678
  *
@@ -667,8 +690,8 @@ export const buildWithScope: {
667
690
  * }))
668
691
  *
669
692
  * // Build with specific scope - resources tied to this scope
670
- * const services = yield* Layer.buildWithScope(dbLayer, scope)
671
- * const database = ServiceMap.get(services, Database)
693
+ * const context = yield* Layer.buildWithScope(dbLayer, scope)
694
+ * const database = Context.get(context, Database)
672
695
  *
673
696
  * return yield* database.query("SELECT * FROM users")
674
697
  * // Database will be closed when scope is closed
@@ -678,7 +701,7 @@ export const buildWithScope: {
678
701
  * @since 2.0.0
679
702
  * @category destructors
680
703
  */
681
- (scope: Scope.Scope): <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<ServiceMap.ServiceMap<ROut>, E, RIn>
704
+ (scope: Scope.Scope): <RIn, E, ROut>(self: Layer<ROut, E, RIn>) => Effect<Context.Context<ROut>, E, RIn>
682
705
  /**
683
706
  * Builds a layer into an `Effect` value. Any resources associated with this
684
707
  * layer will be released when the specified scope is closed unless their scope
@@ -688,9 +711,9 @@ export const buildWithScope: {
688
711
  *
689
712
  * @example
690
713
  * ```ts
691
- * import { Effect, Layer, Scope, ServiceMap } from "effect"
714
+ * import { Effect, Layer, Scope, Context } from "effect"
692
715
  *
693
- * class Database extends ServiceMap.Service<Database, {
716
+ * class Database extends Context.Service<Database, {
694
717
  * readonly query: (sql: string) => Effect.Effect<string>
695
718
  * }>()("Database") {}
696
719
  *
@@ -708,8 +731,8 @@ export const buildWithScope: {
708
731
  * }))
709
732
  *
710
733
  * // Build with specific scope - resources tied to this scope
711
- * const services = yield* Layer.buildWithScope(dbLayer, scope)
712
- * const database = ServiceMap.get(services, Database)
734
+ * const context = yield* Layer.buildWithScope(dbLayer, scope)
735
+ * const database = Context.get(context, Database)
713
736
  *
714
737
  * return yield* database.query("SELECT * FROM users")
715
738
  * // Database will be closed when scope is closed
@@ -719,15 +742,15 @@ export const buildWithScope: {
719
742
  * @since 2.0.0
720
743
  * @category destructors
721
744
  */
722
- <RIn, E, ROut>(self: Layer<ROut, E, RIn>, scope: Scope.Scope): Effect<ServiceMap.ServiceMap<ROut>, E, RIn>
745
+ <RIn, E, ROut>(self: Layer<ROut, E, RIn>, scope: Scope.Scope): Effect<Context.Context<ROut>, E, RIn>
723
746
  } = dual(2, <RIn, E, ROut>(
724
747
  self: Layer<ROut, E, RIn>,
725
748
  scope: Scope.Scope
726
- ): Effect<ServiceMap.ServiceMap<ROut>, E, RIn> =>
749
+ ): Effect<Context.Context<ROut>, E, RIn> =>
727
750
  core.withFiber((fiber) =>
728
751
  buildWithMemoMap(
729
752
  self,
730
- CurrentMemoMap.getOrCreate(fiber.services),
753
+ CurrentMemoMap.getOrCreate(fiber.context),
731
754
  scope
732
755
  )
733
756
  ))
@@ -737,13 +760,13 @@ export const buildWithScope: {
737
760
  *
738
761
  * @example
739
762
  * ```ts
740
- * import { Effect, Layer, ServiceMap } from "effect"
763
+ * import { Effect, Layer, Context } from "effect"
741
764
  *
742
- * class Database extends ServiceMap.Service<Database, {
765
+ * class Database extends Context.Service<Database, {
743
766
  * readonly query: (sql: string) => Effect.Effect<string>
744
767
  * }>()("Database") {}
745
768
  *
746
- * class Logger extends ServiceMap.Service<Logger, {
769
+ * class Logger extends Context.Service<Logger, {
747
770
  * readonly log: (msg: string) => Effect.Effect<void>
748
771
  * }>()("Logger") {}
749
772
  *
@@ -780,13 +803,13 @@ export const succeed: {
780
803
  *
781
804
  * @example
782
805
  * ```ts
783
- * import { Effect, Layer, ServiceMap } from "effect"
806
+ * import { Effect, Layer, Context } from "effect"
784
807
  *
785
- * class Database extends ServiceMap.Service<Database, {
808
+ * class Database extends Context.Service<Database, {
786
809
  * readonly query: (sql: string) => Effect.Effect<string>
787
810
  * }>()("Database") {}
788
811
  *
789
- * class Logger extends ServiceMap.Service<Logger, {
812
+ * class Logger extends Context.Service<Logger, {
790
813
  * readonly log: (msg: string) => Effect.Effect<void>
791
814
  * }>()("Logger") {}
792
815
  *
@@ -817,19 +840,19 @@ export const succeed: {
817
840
  * @since 2.0.0
818
841
  * @category constructors
819
842
  */
820
- <I, S>(service: ServiceMap.Key<I, S>): (resource: S) => Layer<I>
843
+ <I, S>(service: Context.Key<I, S>): (resource: S) => Layer<I>
821
844
  /**
822
845
  * Constructs a layer from the specified value.
823
846
  *
824
847
  * @example
825
848
  * ```ts
826
- * import { Effect, Layer, ServiceMap } from "effect"
849
+ * import { Effect, Layer, Context } from "effect"
827
850
  *
828
- * class Database extends ServiceMap.Service<Database, {
851
+ * class Database extends Context.Service<Database, {
829
852
  * readonly query: (sql: string) => Effect.Effect<string>
830
853
  * }>()("Database") {}
831
854
  *
832
- * class Logger extends ServiceMap.Service<Logger, {
855
+ * class Logger extends Context.Service<Logger, {
833
856
  * readonly log: (msg: string) => Effect.Effect<void>
834
857
  * }>()("Logger") {}
835
858
  *
@@ -860,12 +883,12 @@ export const succeed: {
860
883
  * @since 2.0.0
861
884
  * @category constructors
862
885
  */
863
- <I, S>(service: ServiceMap.Key<I, S>, resource: Types.NoInfer<S>): Layer<I>
886
+ <I, S>(service: Context.Key<I, S>, resource: Types.NoInfer<S>): Layer<I>
864
887
  } = function() {
865
888
  if (arguments.length === 1) {
866
- return (resource: any) => succeedServices(ServiceMap.make(arguments[0], resource))
889
+ return (resource: any) => succeedContext(Context.make(arguments[0], resource))
867
890
  }
868
- return succeedServices(ServiceMap.make(arguments[0], arguments[1]))
891
+ return succeedContext(Context.make(arguments[0], arguments[1]))
869
892
  } as any
870
893
 
871
894
  /**
@@ -873,40 +896,39 @@ export const succeed: {
873
896
  * services.
874
897
  *
875
898
  * This is a more general version of `succeed` that allows you to provide multiple
876
- * services at once through a `ServiceMap`.
899
+ * services at once through a `Context`.
877
900
  *
878
901
  * @example
879
902
  * ```ts
880
- * import { Effect, Layer, ServiceMap } from "effect"
903
+ * import { Effect, Layer, Context } from "effect"
881
904
  *
882
- * class Database extends ServiceMap.Service<Database, {
905
+ * class Database extends Context.Service<Database, {
883
906
  * readonly query: (sql: string) => Effect.Effect<string>
884
907
  * }>()("Database") {}
885
908
  *
886
- * class Logger extends ServiceMap.Service<Logger, {
909
+ * class Logger extends Context.Service<Logger, {
887
910
  * readonly log: (msg: string) => Effect.Effect<void>
888
911
  * }>()("Logger") {}
889
912
  *
890
- * const services = ServiceMap.make(Database, {
913
+ * const context = Context.make(Database, {
891
914
  * query: Effect.fn("Database.query")((sql: string) => Effect.succeed("result"))
892
- * })
893
- * .pipe(
894
- * ServiceMap.add(Logger, {
895
- * log: (msg: string) => Effect.sync(() => console.log(msg))
896
- * })
897
- * )
915
+ * }).pipe(
916
+ * Context.add(Logger, {
917
+ * log: (msg: string) => Effect.sync(() => console.log(msg))
918
+ * })
919
+ * )
898
920
  *
899
- * const layer = Layer.succeedServices(services)
921
+ * const layer = Layer.succeedContext(context)
900
922
  * ```
901
923
  *
902
924
  * @since 2.0.0
903
925
  * @category constructors
904
926
  */
905
- export const succeedServices = <A>(services: ServiceMap.ServiceMap<A>): Layer<A> =>
906
- fromBuildUnsafe(constant(internalEffect.succeed(services)))
927
+ export const succeedContext = <A>(context: Context.Context<A>): Layer<A> =>
928
+ fromBuildUnsafe(constant(internalEffect.succeed(context)))
907
929
 
908
930
  /**
909
- * A Layer that constructs an empty ServiceMap.
931
+ * A Layer that constructs an empty Context.
910
932
  *
911
933
  * This layer provides no services and can be used as a neutral element
912
934
  * in layer composition or as a starting point for building layers.
@@ -921,7 +943,7 @@ export const succeedServices = <A>(services: ServiceMap.ServiceMap<A>): Layer<A>
921
943
  * @since 2.0.0
922
944
  * @category constructors
923
945
  */
924
- export const empty: Layer<never> = succeedServices(ServiceMap.empty())
946
+ export const empty: Layer<never> = succeedContext(Context.empty())
925
947
 
926
948
  /**
927
949
  * Lazily constructs a layer from the specified value.
@@ -931,9 +953,9 @@ export const empty: Layer<never> = succeedServices(ServiceMap.empty())
931
953
  *
932
954
  * @example
933
955
  * ```ts
934
- * import { Effect, Layer, ServiceMap } from "effect"
956
+ * import { Effect, Layer, Context } from "effect"
935
957
  *
936
- * class Database extends ServiceMap.Service<Database, {
958
+ * class Database extends Context.Service<Database, {
937
959
  * readonly query: (sql: string) => Effect.Effect<string>
938
960
  * }>()("Database") {}
939
961
  *
@@ -954,9 +976,9 @@ export const sync: {
954
976
  *
955
977
  * @example
956
978
  * ```ts
957
- * import { Effect, Layer, ServiceMap } from "effect"
979
+ * import { Effect, Layer, Context } from "effect"
958
980
  *
959
- * class Database extends ServiceMap.Service<Database, {
981
+ * class Database extends Context.Service<Database, {
960
982
  * readonly query: (sql: string) => Effect.Effect<string>
961
983
  * }>()("Database") {}
962
984
  *
@@ -968,7 +990,7 @@ export const sync: {
968
990
  * @since 2.0.0
969
991
  * @category constructors
970
992
  */
971
- <I, S>(service: ServiceMap.Key<I, S>): (evaluate: LazyArg<S>) => Layer<I>
993
+ <I, S>(service: Context.Key<I, S>): (evaluate: LazyArg<S>) => Layer<I>
972
994
  /**
973
995
  * Lazily constructs a layer from the specified value.
974
996
  *
@@ -977,9 +999,9 @@ export const sync: {
977
999
  *
978
1000
  * @example
979
1001
  * ```ts
980
- * import { Effect, Layer, ServiceMap } from "effect"
1002
+ * import { Effect, Layer, Context } from "effect"
981
1003
  *
982
- * class Database extends ServiceMap.Service<Database, {
1004
+ * class Database extends Context.Service<Database, {
983
1005
  * readonly query: (sql: string) => Effect.Effect<string>
984
1006
  * }>()("Database") {}
985
1007
  *
@@ -991,31 +1013,31 @@ export const sync: {
991
1013
  * @since 2.0.0
992
1014
  * @category constructors
993
1015
  */
994
- <I, S>(service: ServiceMap.Key<I, S>, evaluate: LazyArg<S>): Layer<I>
1016
+ <I, S>(service: Context.Key<I, S>, evaluate: LazyArg<Types.NoInfer<S>>): Layer<I>
995
1017
  } = function() {
996
1018
  if (arguments.length === 1) {
997
- return (evaluate: LazyArg<any>) => syncServices(() => ServiceMap.make(arguments[0], evaluate()))
1019
+ return (evaluate: LazyArg<any>) => syncContext(() => Context.make(arguments[0], evaluate()))
998
1020
  }
999
- return syncServices(() => ServiceMap.make(arguments[0], arguments[1]()))
1021
+ return syncContext(() => Context.make(arguments[0], arguments[1]()))
1000
1022
  } as any
1001
1023
 
1002
1024
  /**
1003
1025
  * Lazily constructs a layer from the specified value, which must return one or more
1004
1026
  * services.
1005
1027
  *
1006
- * This is a lazy version of `succeedServices` where the ServiceMap is computed
1028
+ * This is a lazy version of `succeedContext` where the Context is computed
1007
1029
  * synchronously only when the layer is built.
1008
1030
  *
1009
1031
  * @example
1010
1032
  * ```ts
1011
- * import { Effect, Layer, ServiceMap } from "effect"
1033
+ * import { Effect, Layer, Context } from "effect"
1012
1034
  *
1013
- * class Database extends ServiceMap.Service<Database, {
1035
+ * class Database extends Context.Service<Database, {
1014
1036
  * readonly query: (sql: string) => Effect.Effect<string>
1015
1037
  * }>()("Database") {}
1016
1038
  *
1017
- * const layer = Layer.syncServices(() =>
1018
- * ServiceMap.make(Database, {
1039
+ * const layer = Layer.syncContext(() =>
1040
+ * Context.make(Database, {
1019
1041
  * query: (sql: string) => Effect.succeed(`Query: ${sql}`)
1020
1042
  * })
1021
1043
  * )
@@ -1024,7 +1046,7 @@ export const sync: {
1024
1046
  * @since 2.0.0
1025
1047
  * @category constructors
1026
1048
  */
1027
- export const syncServices = <A>(evaluate: LazyArg<ServiceMap.ServiceMap<A>>): Layer<A> =>
1049
+ export const syncContext = <A>(evaluate: LazyArg<Context.Context<A>>): Layer<A> =>
1028
1050
  fromBuildMemo(constant(internalEffect.sync(evaluate)))
1029
1051
 
1030
1052
  /**
@@ -1042,9 +1064,9 @@ export const syncServices = <A>(evaluate: LazyArg<ServiceMap.ServiceMap<A>>): La
1042
1064
  *
1043
1065
  * @example
1044
1066
  * ```ts
1045
- * import { Effect, Layer, ServiceMap } from "effect"
1067
+ * import { Effect, Layer, Context } from "effect"
1046
1068
  *
1047
- * class Database extends ServiceMap.Service<Database, {
1069
+ * class Database extends Context.Service<Database, {
1048
1070
  * readonly query: (sql: string) => Effect.Effect<string>
1049
1071
  * }>()("Database") {}
1050
1072
  *
@@ -1074,9 +1096,9 @@ export const effect: {
1074
1096
  *
1075
1097
  * @example
1076
1098
  * ```ts
1077
- * import { Effect, Layer, ServiceMap } from "effect"
1099
+ * import { Effect, Layer, Context } from "effect"
1078
1100
  *
1079
- * class Database extends ServiceMap.Service<Database, {
1101
+ * class Database extends Context.Service<Database, {
1080
1102
  * readonly query: (sql: string) => Effect.Effect<string>
1081
1103
  * }>()("Database") {}
1082
1104
  *
@@ -1090,7 +1112,7 @@ export const effect: {
1090
1112
  * @since 2.0.0
1091
1113
  * @category constructors
1092
1114
  */
1093
- <I, S>(service: ServiceMap.Key<I, S>): <E, R>(
1115
+ <I, S>(service: Context.Key<I, S>): <E, R>(
1094
1116
  effect: Effect<S, E, R>
1095
1117
  ) => Layer<I, E, Exclude<R, Scope.Scope>>
1096
1118
  /**
@@ -1108,9 +1130,9 @@ export const effect: {
1108
1130
  *
1109
1131
  * @example
1110
1132
  * ```ts
1111
- * import { Effect, Layer, ServiceMap } from "effect"
1133
+ * import { Effect, Layer, Context } from "effect"
1112
1134
  *
1113
- * class Database extends ServiceMap.Service<Database, {
1135
+ * class Database extends Context.Service<Database, {
1114
1136
  * readonly query: (sql: string) => Effect.Effect<string>
1115
1137
  * }>()("Database") {}
1116
1138
  *
@@ -1124,7 +1146,7 @@ export const effect: {
1124
1146
  * @since 2.0.0
1125
1147
  * @category constructors
1126
1148
  */
1127
- <I, S, E, R>(service: ServiceMap.Key<I, S>, effect: Effect<S, E, R>): Layer<I, E, Exclude<R, Scope.Scope>>
1149
+ <I, S, E, R>(service: Context.Key<I, S>, effect: Effect<Types.NoInfer<S>, E, R>): Layer<I, E, Exclude<R, Scope.Scope>>
1128
1150
  } = function() {
1129
1151
  if (arguments.length === 1) {
1130
1152
  return (effect: any) => effectImpl(arguments[0], effect)
@@ -1133,10 +1155,10 @@ export const effect: {
1133
1155
  } as any
1134
1156
 
1135
1157
  const effectImpl = <I, S, E, R>(
1136
- service: ServiceMap.Key<I, S>,
1158
+ service: Context.Key<I, S>,
1137
1159
  effect: Effect<S, E, R>
1138
1160
  ): Layer<I, E, Exclude<R, Scope.Scope>> =>
1139
- effectServices(internalEffect.map(effect, (value) => ServiceMap.make(service, value)))
1161
+ effectContext(internalEffect.map(effect, (value) => Context.make(service, value)))
1140
1162
 
1141
1163
  /**
1142
1164
  * Constructs a layer from the specified scoped effect, which must return one
@@ -1147,15 +1169,15 @@ const effectImpl = <I, S, E, R>(
1147
1169
  *
1148
1170
  * @example
1149
1171
  * ```ts
1150
- * import { Effect, Layer, ServiceMap } from "effect"
1172
+ * import { Effect, Layer, Context } from "effect"
1151
1173
  *
1152
- * class Database extends ServiceMap.Service<
1174
+ * class Database extends Context.Service<
1153
1175
  * Database,
1154
1176
  * { readonly query: (sql: string) => Effect.Effect<string> }
1155
1177
  * >()("Database") {}
1156
1178
  *
1157
- * const layer = Layer.effectServices(
1158
- * Effect.succeed(ServiceMap.make(Database, {
1179
+ * const layer = Layer.effectContext(
1180
+ * Effect.succeed(Context.make(Database, {
1159
1181
  * query: (sql: string) => Effect.succeed(`Query: ${sql}`)
1160
1182
  * }))
1161
1183
  * )
@@ -1164,8 +1186,8 @@ const effectImpl = <I, S, E, R>(
1164
1186
  * @since 2.0.0
1165
1187
  * @category constructors
1166
1188
  */
1167
- export const effectServices = <A, E, R>(
1168
- effect: Effect<ServiceMap.ServiceMap<A>, E, R>
1189
+ export const effectContext = <A, E, R>(
1190
+ effect: Effect<Context.Context<A>, E, R>
1169
1191
  ): Layer<A, E, Exclude<R, Scope.Scope>> => fromBuildMemo((_, scope) => Scope.provide(effect, scope))
1170
1192
 
1171
1193
  /**
@@ -1195,7 +1217,7 @@ export const effectServices = <A, E, R>(
1195
1217
  * @category constructors
1196
1218
  */
1197
1219
  export const effectDiscard = <X, E, R>(effect: Effect<X, E, R>): Layer<never, E, Exclude<R, Scope.Scope>> =>
1198
- effectServices(internalEffect.as(effect, ServiceMap.empty()))
1220
+ effectContext(internalEffect.as(effect, Context.empty()))
1199
1221
 
1200
1222
  /**
1201
1223
  * Lazily constructs a layer using the specified factory.
@@ -1205,9 +1227,9 @@ export const effectDiscard = <X, E, R>(effect: Effect<X, E, R>): Layer<never, E,
1205
1227
  *
1206
1228
  * @example
1207
1229
  * ```ts
1208
- * import { Layer, ServiceMap } from "effect"
1230
+ * import { Layer, Context } from "effect"
1209
1231
  *
1210
- * class Config extends ServiceMap.Service<Config, string>()("Config") {}
1232
+ * class Config extends Context.Service<Config, string>()("Config") {}
1211
1233
  *
1212
1234
  * const useProd = true
1213
1235
  *
@@ -1233,9 +1255,9 @@ export const suspend = <A, E, R>(evaluate: LazyArg<Layer<A, E, R>>): Layer<A, E,
1233
1255
  *
1234
1256
  * @example
1235
1257
  * ```ts
1236
- * import { Effect, Layer, ServiceMap } from "effect"
1258
+ * import { Effect, Layer, Context } from "effect"
1237
1259
  *
1238
- * class Database extends ServiceMap.Service<Database, {
1260
+ * class Database extends Context.Service<Database, {
1239
1261
  * readonly query: (sql: string) => Effect.Effect<string>
1240
1262
  * }>()("Database") {}
1241
1263
  *
@@ -1252,8 +1274,8 @@ export const suspend = <A, E, R>(evaluate: LazyArg<Layer<A, E, R>>): Layer<A, E,
1252
1274
  export const unwrap = <A, E1, R1, E, R>(
1253
1275
  self: Effect<Layer<A, E1, R1>, E, R>
1254
1276
  ): Layer<A, E | E1, R1 | Exclude<R, Scope.Scope>> => {
1255
- const service = ServiceMap.Service<Layer<A, E1, R1>>("effect/Layer/unwrap")
1256
- return flatMap(effect(service)(self), ServiceMap.get(service))
1277
+ const service = Context.Service<Layer<A, E1, R1>>("effect/Layer/unwrap")
1278
+ return flatMap(effect(service)(self), Context.get(service))
1257
1279
  }
1258
1280
 
1259
1281
  const mergeAllEffect = <Layers extends [Layer<never, any, any>, ...Array<Layer<never, any, any>>]>(
@@ -1261,7 +1283,7 @@ const mergeAllEffect = <Layers extends [Layer<never, any, any>, ...Array<Layer<n
1261
1283
  memoMap: MemoMap,
1262
1284
  scope: Scope.Scope
1263
1285
  ): Effect<
1264
- ServiceMap.ServiceMap<{ [k in keyof Layers]: Success<Layers[k]> }[number]>,
1286
+ Context.Context<{ [k in keyof Layers]: Success<Layers[k]> }[number]>,
1265
1287
  { [k in keyof Layers]: Error<Layers[k]> }[number],
1266
1288
  { [k in keyof Layers]: Services<Layers[k]> }[number]
1267
1289
  > => {
@@ -1269,7 +1291,7 @@ const mergeAllEffect = <Layers extends [Layer<never, any, any>, ...Array<Layer<n
1269
1291
  return internalEffect.forEach(layers, (layer) => layer.build(memoMap, Scope.forkUnsafe(parentScope, "sequential")), {
1270
1292
  concurrency: layers.length
1271
1293
  }).pipe(
1272
- internalEffect.map((services) => ServiceMap.mergeAll(...(services as any)))
1294
+ internalEffect.map((context) => Context.mergeAll(...(context as any)))
1273
1295
  )
1274
1296
  }
1275
1297
 
@@ -1281,13 +1303,13 @@ const mergeAllEffect = <Layers extends [Layer<never, any, any>, ...Array<Layer<n
1281
1303
  *
1282
1304
  * @example
1283
1305
  * ```ts
1284
- * import { Effect, Layer, ServiceMap } from "effect"
1306
+ * import { Effect, Layer, Context } from "effect"
1285
1307
  *
1286
- * class Database extends ServiceMap.Service<Database, {
1308
+ * class Database extends Context.Service<Database, {
1287
1309
  * readonly query: (sql: string) => Effect.Effect<string>
1288
1310
  * }>()("Database") {}
1289
1311
  *
1290
- * class Logger extends ServiceMap.Service<Logger, {
1312
+ * class Logger extends Context.Service<Logger, {
1291
1313
  * readonly log: (msg: string) => Effect.Effect<void>
1292
1314
  * }>()("Logger") {}
1293
1315
  *
@@ -1320,13 +1342,13 @@ export const mergeAll = <Layers extends [Layer<never, any, any>, ...Array<Layer<
1320
1342
  *
1321
1343
  * @example
1322
1344
  * ```ts
1323
- * import { Effect, Layer, ServiceMap } from "effect"
1345
+ * import { Effect, Layer, Context } from "effect"
1324
1346
  *
1325
- * class Database extends ServiceMap.Service<Database, {
1347
+ * class Database extends Context.Service<Database, {
1326
1348
  * readonly query: (sql: string) => Effect.Effect<string>
1327
1349
  * }>()("Database") {}
1328
1350
  *
1329
- * class Logger extends ServiceMap.Service<Logger, {
1351
+ * class Logger extends Context.Service<Logger, {
1330
1352
  * readonly log: (msg: string) => Effect.Effect<void>
1331
1353
  * }>()("Logger") {}
1332
1354
  *
@@ -1352,13 +1374,13 @@ export const merge: {
1352
1374
  *
1353
1375
  * @example
1354
1376
  * ```ts
1355
- * import { Effect, Layer, ServiceMap } from "effect"
1377
+ * import { Effect, Layer, Context } from "effect"
1356
1378
  *
1357
- * class Database extends ServiceMap.Service<Database, {
1379
+ * class Database extends Context.Service<Database, {
1358
1380
  * readonly query: (sql: string) => Effect.Effect<string>
1359
1381
  * }>()("Database") {}
1360
1382
  *
1361
- * class Logger extends ServiceMap.Service<Logger, {
1383
+ * class Logger extends Context.Service<Logger, {
1362
1384
  * readonly log: (msg: string) => Effect.Effect<void>
1363
1385
  * }>()("Logger") {}
1364
1386
  *
@@ -1384,13 +1406,13 @@ export const merge: {
1384
1406
  *
1385
1407
  * @example
1386
1408
  * ```ts
1387
- * import { Effect, Layer, ServiceMap } from "effect"
1409
+ * import { Effect, Layer, Context } from "effect"
1388
1410
  *
1389
- * class Database extends ServiceMap.Service<Database, {
1411
+ * class Database extends Context.Service<Database, {
1390
1412
  * readonly query: (sql: string) => Effect.Effect<string>
1391
1413
  * }>()("Database") {}
1392
1414
  *
1393
- * class Logger extends ServiceMap.Service<Logger, {
1415
+ * class Logger extends Context.Service<Logger, {
1394
1416
  * readonly log: (msg: string) => Effect.Effect<void>
1395
1417
  * }>()("Logger") {}
1396
1418
  *
@@ -1423,13 +1445,13 @@ export const merge: {
1423
1445
  *
1424
1446
  * @example
1425
1447
  * ```ts
1426
- * import { Effect, Layer, ServiceMap } from "effect"
1448
+ * import { Effect, Layer, Context } from "effect"
1427
1449
  *
1428
- * class Database extends ServiceMap.Service<Database, {
1450
+ * class Database extends Context.Service<Database, {
1429
1451
  * readonly query: (sql: string) => Effect.Effect<string>
1430
1452
  * }>()("Database") {}
1431
1453
  *
1432
- * class Logger extends ServiceMap.Service<Logger, {
1454
+ * class Logger extends Context.Service<Logger, {
1433
1455
  * readonly log: (msg: string) => Effect.Effect<void>
1434
1456
  * }>()("Logger") {}
1435
1457
  *
@@ -1455,13 +1477,13 @@ export const merge: {
1455
1477
  *
1456
1478
  * @example
1457
1479
  * ```ts
1458
- * import { Effect, Layer, ServiceMap } from "effect"
1480
+ * import { Effect, Layer, Context } from "effect"
1459
1481
  *
1460
- * class Database extends ServiceMap.Service<Database, {
1482
+ * class Database extends Context.Service<Database, {
1461
1483
  * readonly query: (sql: string) => Effect.Effect<string>
1462
1484
  * }>()("Database") {}
1463
1485
  *
1464
- * class Logger extends ServiceMap.Service<Logger, {
1486
+ * class Logger extends Context.Service<Logger, {
1465
1487
  * readonly log: (msg: string) => Effect.Effect<void>
1466
1488
  * }>()("Logger") {}
1467
1489
  *
@@ -1493,9 +1515,9 @@ const provideWith = (
1493
1515
  self: Layer<any, any, any>,
1494
1516
  that: Layer<any, any, any> | ReadonlyArray<Layer<any, any, any>>,
1495
1517
  f: (
1496
- selfServices: ServiceMap.ServiceMap<any>,
1497
- thatServices: ServiceMap.ServiceMap<any>
1498
- ) => ServiceMap.ServiceMap<any>
1518
+ selfContext: Context.Context<any>,
1519
+ thatContext: Context.Context<any>
1520
+ ) => Context.Context<any>
1499
1521
  ) =>
1500
1522
  fromBuild((memoMap, scope) =>
1501
1523
  internalEffect.flatMap(
@@ -1504,7 +1526,7 @@ const provideWith = (
1504
1526
  : (that as Layer<any, any, any>).build(memoMap, scope),
1505
1527
  (context) =>
1506
1528
  self.build(memoMap, scope).pipe(
1507
- internalEffect.provideServices(context),
1529
+ internalEffect.provideContext(context),
1508
1530
  internalEffect.map((merged) => f(merged, context))
1509
1531
  )
1510
1532
  )
@@ -1517,20 +1539,20 @@ const provideWith = (
1517
1539
  *
1518
1540
  * @example
1519
1541
  * ```ts
1520
- * import { Effect, Layer, ServiceMap } from "effect"
1542
+ * import { Effect, Layer, Context } from "effect"
1521
1543
  *
1522
- * class Database extends ServiceMap.Service<Database, {
1544
+ * class Database extends Context.Service<Database, {
1523
1545
  * readonly query: (sql: string) => Effect.Effect<string>
1524
1546
  * }>()("Database") {}
1525
1547
  *
1526
- * class UserService extends ServiceMap.Service<UserService, {
1548
+ * class UserService extends Context.Service<UserService, {
1527
1549
  * readonly getUser: (id: string) => Effect.Effect<{
1528
1550
  * id: string
1529
1551
  * name: string
1530
1552
  * }>
1531
1553
  * }>()("UserService") {}
1532
1554
  *
1533
- * class Logger extends ServiceMap.Service<Logger, {
1555
+ * class Logger extends Context.Service<Logger, {
1534
1556
  * readonly log: (msg: string) => Effect.Effect<void>
1535
1557
  * }>()("Logger") {}
1536
1558
  *
@@ -1584,20 +1606,20 @@ export const provide: {
1584
1606
  *
1585
1607
  * @example
1586
1608
  * ```ts
1587
- * import { Effect, Layer, ServiceMap } from "effect"
1609
+ * import { Effect, Layer, Context } from "effect"
1588
1610
  *
1589
- * class Database extends ServiceMap.Service<Database, {
1611
+ * class Database extends Context.Service<Database, {
1590
1612
  * readonly query: (sql: string) => Effect.Effect<string>
1591
1613
  * }>()("Database") {}
1592
1614
  *
1593
- * class UserService extends ServiceMap.Service<UserService, {
1615
+ * class UserService extends Context.Service<UserService, {
1594
1616
  * readonly getUser: (id: string) => Effect.Effect<{
1595
1617
  * id: string
1596
1618
  * name: string
1597
1619
  * }>
1598
1620
  * }>()("UserService") {}
1599
1621
  *
1600
- * class Logger extends ServiceMap.Service<Logger, {
1622
+ * class Logger extends Context.Service<Logger, {
1601
1623
  * readonly log: (msg: string) => Effect.Effect<void>
1602
1624
  * }>()("Logger") {}
1603
1625
  *
@@ -1651,20 +1673,20 @@ export const provide: {
1651
1673
  *
1652
1674
  * @example
1653
1675
  * ```ts
1654
- * import { Effect, Layer, ServiceMap } from "effect"
1676
+ * import { Effect, Layer, Context } from "effect"
1655
1677
  *
1656
- * class Database extends ServiceMap.Service<Database, {
1678
+ * class Database extends Context.Service<Database, {
1657
1679
  * readonly query: (sql: string) => Effect.Effect<string>
1658
1680
  * }>()("Database") {}
1659
1681
  *
1660
- * class UserService extends ServiceMap.Service<UserService, {
1682
+ * class UserService extends Context.Service<UserService, {
1661
1683
  * readonly getUser: (id: string) => Effect.Effect<{
1662
1684
  * id: string
1663
1685
  * name: string
1664
1686
  * }>
1665
1687
  * }>()("UserService") {}
1666
1688
  *
1667
- * class Logger extends ServiceMap.Service<Logger, {
1689
+ * class Logger extends Context.Service<Logger, {
1668
1690
  * readonly log: (msg: string) => Effect.Effect<void>
1669
1691
  * }>()("Logger") {}
1670
1692
  *
@@ -1725,20 +1747,20 @@ export const provide: {
1725
1747
  *
1726
1748
  * @example
1727
1749
  * ```ts
1728
- * import { Effect, Layer, ServiceMap } from "effect"
1750
+ * import { Effect, Layer, Context } from "effect"
1729
1751
  *
1730
- * class Database extends ServiceMap.Service<Database, {
1752
+ * class Database extends Context.Service<Database, {
1731
1753
  * readonly query: (sql: string) => Effect.Effect<string>
1732
1754
  * }>()("Database") {}
1733
1755
  *
1734
- * class UserService extends ServiceMap.Service<UserService, {
1756
+ * class UserService extends Context.Service<UserService, {
1735
1757
  * readonly getUser: (id: string) => Effect.Effect<{
1736
1758
  * id: string
1737
1759
  * name: string
1738
1760
  * }>
1739
1761
  * }>()("UserService") {}
1740
1762
  *
1741
- * class Logger extends ServiceMap.Service<Logger, {
1763
+ * class Logger extends Context.Service<Logger, {
1742
1764
  * readonly log: (msg: string) => Effect.Effect<void>
1743
1765
  * }>()("Logger") {}
1744
1766
  *
@@ -1792,20 +1814,20 @@ export const provide: {
1792
1814
  *
1793
1815
  * @example
1794
1816
  * ```ts
1795
- * import { Effect, Layer, ServiceMap } from "effect"
1817
+ * import { Effect, Layer, Context } from "effect"
1796
1818
  *
1797
- * class Database extends ServiceMap.Service<Database, {
1819
+ * class Database extends Context.Service<Database, {
1798
1820
  * readonly query: (sql: string) => Effect.Effect<string>
1799
1821
  * }>()("Database") {}
1800
1822
  *
1801
- * class UserService extends ServiceMap.Service<UserService, {
1823
+ * class UserService extends Context.Service<UserService, {
1802
1824
  * readonly getUser: (id: string) => Effect.Effect<{
1803
1825
  * id: string
1804
1826
  * name: string
1805
1827
  * }>
1806
1828
  * }>()("UserService") {}
1807
1829
  *
1808
- * class Logger extends ServiceMap.Service<Logger, {
1830
+ * class Logger extends Context.Service<Logger, {
1809
1831
  * readonly log: (msg: string) => Effect.Effect<void>
1810
1832
  * }>()("Logger") {}
1811
1833
  *
@@ -1869,17 +1891,17 @@ export const provide: {
1869
1891
  *
1870
1892
  * @example
1871
1893
  * ```ts
1872
- * import { Effect, Layer, ServiceMap } from "effect"
1894
+ * import { Effect, Layer, Context } from "effect"
1873
1895
  *
1874
- * class Database extends ServiceMap.Service<Database, {
1896
+ * class Database extends Context.Service<Database, {
1875
1897
  * readonly query: (sql: string) => Effect.Effect<string>
1876
1898
  * }>()("Database") {}
1877
1899
  *
1878
- * class Logger extends ServiceMap.Service<Logger, {
1900
+ * class Logger extends Context.Service<Logger, {
1879
1901
  * readonly log: (msg: string) => Effect.Effect<void>
1880
1902
  * }>()("Logger") {}
1881
1903
  *
1882
- * class UserService extends ServiceMap.Service<UserService, {
1904
+ * class UserService extends Context.Service<UserService, {
1883
1905
  * readonly getUser: (id: string) => Effect.Effect<{
1884
1906
  * id: string
1885
1907
  * name: string
@@ -1942,17 +1964,17 @@ export const provideMerge: {
1942
1964
  *
1943
1965
  * @example
1944
1966
  * ```ts
1945
- * import { Effect, Layer, ServiceMap } from "effect"
1967
+ * import { Effect, Layer, Context } from "effect"
1946
1968
  *
1947
- * class Database extends ServiceMap.Service<Database, {
1969
+ * class Database extends Context.Service<Database, {
1948
1970
  * readonly query: (sql: string) => Effect.Effect<string>
1949
1971
  * }>()("Database") {}
1950
1972
  *
1951
- * class Logger extends ServiceMap.Service<Logger, {
1973
+ * class Logger extends Context.Service<Logger, {
1952
1974
  * readonly log: (msg: string) => Effect.Effect<void>
1953
1975
  * }>()("Logger") {}
1954
1976
  *
1955
- * class UserService extends ServiceMap.Service<UserService, {
1977
+ * class UserService extends Context.Service<UserService, {
1956
1978
  * readonly getUser: (id: string) => Effect.Effect<{
1957
1979
  * id: string
1958
1980
  * name: string
@@ -2015,17 +2037,17 @@ export const provideMerge: {
2015
2037
  *
2016
2038
  * @example
2017
2039
  * ```ts
2018
- * import { Effect, Layer, ServiceMap } from "effect"
2040
+ * import { Effect, Layer, Context } from "effect"
2019
2041
  *
2020
- * class Database extends ServiceMap.Service<Database, {
2042
+ * class Database extends Context.Service<Database, {
2021
2043
  * readonly query: (sql: string) => Effect.Effect<string>
2022
2044
  * }>()("Database") {}
2023
2045
  *
2024
- * class Logger extends ServiceMap.Service<Logger, {
2046
+ * class Logger extends Context.Service<Logger, {
2025
2047
  * readonly log: (msg: string) => Effect.Effect<void>
2026
2048
  * }>()("Logger") {}
2027
2049
  *
2028
- * class UserService extends ServiceMap.Service<UserService, {
2050
+ * class UserService extends Context.Service<UserService, {
2029
2051
  * readonly getUser: (id: string) => Effect.Effect<{
2030
2052
  * id: string
2031
2053
  * name: string
@@ -2095,17 +2117,17 @@ export const provideMerge: {
2095
2117
  *
2096
2118
  * @example
2097
2119
  * ```ts
2098
- * import { Effect, Layer, ServiceMap } from "effect"
2120
+ * import { Effect, Layer, Context } from "effect"
2099
2121
  *
2100
- * class Database extends ServiceMap.Service<Database, {
2122
+ * class Database extends Context.Service<Database, {
2101
2123
  * readonly query: (sql: string) => Effect.Effect<string>
2102
2124
  * }>()("Database") {}
2103
2125
  *
2104
- * class Logger extends ServiceMap.Service<Logger, {
2126
+ * class Logger extends Context.Service<Logger, {
2105
2127
  * readonly log: (msg: string) => Effect.Effect<void>
2106
2128
  * }>()("Logger") {}
2107
2129
  *
2108
- * class UserService extends ServiceMap.Service<UserService, {
2130
+ * class UserService extends Context.Service<UserService, {
2109
2131
  * readonly getUser: (id: string) => Effect.Effect<{
2110
2132
  * id: string
2111
2133
  * name: string
@@ -2168,17 +2190,17 @@ export const provideMerge: {
2168
2190
  *
2169
2191
  * @example
2170
2192
  * ```ts
2171
- * import { Effect, Layer, ServiceMap } from "effect"
2193
+ * import { Effect, Layer, Context } from "effect"
2172
2194
  *
2173
- * class Database extends ServiceMap.Service<Database, {
2195
+ * class Database extends Context.Service<Database, {
2174
2196
  * readonly query: (sql: string) => Effect.Effect<string>
2175
2197
  * }>()("Database") {}
2176
2198
  *
2177
- * class Logger extends ServiceMap.Service<Logger, {
2199
+ * class Logger extends Context.Service<Logger, {
2178
2200
  * readonly log: (msg: string) => Effect.Effect<void>
2179
2201
  * }>()("Logger") {}
2180
2202
  *
2181
- * class UserService extends ServiceMap.Service<UserService, {
2203
+ * class UserService extends Context.Service<UserService, {
2182
2204
  * readonly getUser: (id: string) => Effect.Effect<{
2183
2205
  * id: string
2184
2206
  * name: string
@@ -2246,7 +2268,7 @@ export const provideMerge: {
2246
2268
  provideWith(
2247
2269
  self,
2248
2270
  that,
2249
- (self, that) => ServiceMap.merge(that, self)
2271
+ (self, that) => Context.merge(that, self)
2250
2272
  ))
2251
2273
 
2252
2274
  /**
@@ -2254,18 +2276,18 @@ export const provideMerge: {
2254
2276
  *
2255
2277
  * @example
2256
2278
  * ```ts
2257
- * import { Effect, Layer, ServiceMap } from "effect"
2279
+ * import { Effect, Layer, Context } from "effect"
2258
2280
  *
2259
- * class Config extends ServiceMap.Service<Config, {
2281
+ * class Config extends Context.Service<Config, {
2260
2282
  * readonly dbUrl: string
2261
2283
  * readonly logLevel: string
2262
2284
  * }>()("Config") {}
2263
2285
  *
2264
- * class Database extends ServiceMap.Service<Database, {
2286
+ * class Database extends Context.Service<Database, {
2265
2287
  * readonly query: (sql: string) => Effect.Effect<string>
2266
2288
  * }>()("Database") {}
2267
2289
  *
2268
- * class Logger extends ServiceMap.Service<Logger, {
2290
+ * class Logger extends Context.Service<Logger, {
2269
2291
  * readonly log: (msg: string) => Effect.Effect<void>
2270
2292
  * }>()("Logger") {}
2271
2293
  *
@@ -2277,8 +2299,8 @@ export const provideMerge: {
2277
2299
  *
2278
2300
  * // Dynamically create services based on config
2279
2301
  * const dynamicServiceLayer = configLayer.pipe(
2280
- * Layer.flatMap((services) => {
2281
- * const config = ServiceMap.get(services, Config)
2302
+ * Layer.flatMap((context) => {
2303
+ * const config = Context.get(context, Config)
2282
2304
  *
2283
2305
  * // Create database layer based on config
2284
2306
  * const dbLayer = Layer.succeed(Database)({
@@ -2325,18 +2347,18 @@ export const flatMap: {
2325
2347
  *
2326
2348
  * @example
2327
2349
  * ```ts
2328
- * import { Effect, Layer, ServiceMap } from "effect"
2350
+ * import { Effect, Layer, Context } from "effect"
2329
2351
  *
2330
- * class Config extends ServiceMap.Service<Config, {
2352
+ * class Config extends Context.Service<Config, {
2331
2353
  * readonly dbUrl: string
2332
2354
  * readonly logLevel: string
2333
2355
  * }>()("Config") {}
2334
2356
  *
2335
- * class Database extends ServiceMap.Service<Database, {
2357
+ * class Database extends Context.Service<Database, {
2336
2358
  * readonly query: (sql: string) => Effect.Effect<string>
2337
2359
  * }>()("Database") {}
2338
2360
  *
2339
- * class Logger extends ServiceMap.Service<Logger, {
2361
+ * class Logger extends Context.Service<Logger, {
2340
2362
  * readonly log: (msg: string) => Effect.Effect<void>
2341
2363
  * }>()("Logger") {}
2342
2364
  *
@@ -2348,8 +2370,8 @@ export const flatMap: {
2348
2370
  *
2349
2371
  * // Dynamically create services based on config
2350
2372
  * const dynamicServiceLayer = configLayer.pipe(
2351
- * Layer.flatMap((services) => {
2352
- * const config = ServiceMap.get(services, Config)
2373
+ * Layer.flatMap((context) => {
2374
+ * const config = Context.get(context, Config)
2353
2375
  *
2354
2376
  * // Create database layer based on config
2355
2377
  * const dbLayer = Layer.succeed(Database)({
@@ -2390,24 +2412,24 @@ export const flatMap: {
2390
2412
  * @since 2.0.0
2391
2413
  * @category sequencing
2392
2414
  */
2393
- <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>
2415
+ <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>
2394
2416
  /**
2395
2417
  * Constructs a layer dynamically based on the output of this layer.
2396
2418
  *
2397
2419
  * @example
2398
2420
  * ```ts
2399
- * import { Effect, Layer, ServiceMap } from "effect"
2421
+ * import { Effect, Layer, Context } from "effect"
2400
2422
  *
2401
- * class Config extends ServiceMap.Service<Config, {
2423
+ * class Config extends Context.Service<Config, {
2402
2424
  * readonly dbUrl: string
2403
2425
  * readonly logLevel: string
2404
2426
  * }>()("Config") {}
2405
2427
  *
2406
- * class Database extends ServiceMap.Service<Database, {
2428
+ * class Database extends Context.Service<Database, {
2407
2429
  * readonly query: (sql: string) => Effect.Effect<string>
2408
2430
  * }>()("Database") {}
2409
2431
  *
2410
- * class Logger extends ServiceMap.Service<Logger, {
2432
+ * class Logger extends Context.Service<Logger, {
2411
2433
  * readonly log: (msg: string) => Effect.Effect<void>
2412
2434
  * }>()("Logger") {}
2413
2435
  *
@@ -2419,8 +2441,8 @@ export const flatMap: {
2419
2441
  *
2420
2442
  * // Dynamically create services based on config
2421
2443
  * const dynamicServiceLayer = configLayer.pipe(
2422
- * Layer.flatMap((services) => {
2423
- * const config = ServiceMap.get(services, Config)
2444
+ * Layer.flatMap((context) => {
2445
+ * const config = Context.get(context, Config)
2424
2446
  *
2425
2447
  * // Create database layer based on config
2426
2448
  * const dbLayer = Layer.succeed(Database)({
@@ -2463,11 +2485,11 @@ export const flatMap: {
2463
2485
  */
2464
2486
  <A, E, R, A2, E2, R2>(
2465
2487
  self: Layer<A, E, R>,
2466
- f: (context: ServiceMap.ServiceMap<A>) => Layer<A2, E2, R2>
2488
+ f: (context: Context.Context<A>) => Layer<A2, E2, R2>
2467
2489
  ): Layer<A2, E | E2, R | R2>
2468
2490
  } = dual(2, <A, E, R, A2, E2, R2>(
2469
2491
  self: Layer<A, E, R>,
2470
- f: (context: ServiceMap.ServiceMap<A>) => Layer<A2, E2, R2>
2492
+ f: (context: Context.Context<A>) => Layer<A2, E2, R2>
2471
2493
  ): Layer<A2, E | E2, R | R2> =>
2472
2494
  fromBuild((memoMap, scope) =>
2473
2495
  internalEffect.flatMap(
@@ -2489,7 +2511,7 @@ export const tap: {
2489
2511
  * @since 4.0.0
2490
2512
  * @category sequencing
2491
2513
  */
2492
- <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>>
2514
+ <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>>
2493
2515
  /**
2494
2516
  * Performs the specified effect if this layer succeeds.
2495
2517
  *
@@ -2498,16 +2520,16 @@ export const tap: {
2498
2520
  */
2499
2521
  <RIn, E, ROut, XR extends ROut, RIn2, E2, X>(
2500
2522
  self: Layer<ROut, E, RIn>,
2501
- f: (context: ServiceMap.ServiceMap<XR>) => Effect<X, E2, RIn2>
2523
+ f: (context: Context.Context<XR>) => Effect<X, E2, RIn2>
2502
2524
  ): Layer<ROut, E | E2, RIn | Exclude<RIn2, Scope.Scope>>
2503
2525
  } = dual(2, <RIn, E, ROut, XR extends ROut, RIn2, E2, X>(
2504
2526
  self: Layer<ROut, E, RIn>,
2505
- f: (context: ServiceMap.ServiceMap<XR>) => Effect<X, E2, RIn2>
2527
+ f: (context: Context.Context<XR>) => Effect<X, E2, RIn2>
2506
2528
  ): Layer<ROut, E | E2, RIn | Exclude<RIn2, Scope.Scope>> =>
2507
2529
  fromBuild((memoMap, scope) =>
2508
2530
  internalEffect.flatMap(
2509
2531
  self.build(memoMap, scope),
2510
- (context) => Scope.provide(internalEffect.as(f(context as ServiceMap.ServiceMap<XR>), context), scope)
2532
+ (context) => Scope.provide(internalEffect.as(f(context as Context.Context<XR>), context), scope)
2511
2533
  )
2512
2534
  ))
2513
2535
 
@@ -2603,13 +2625,13 @@ export const tapCause: {
2603
2625
  *
2604
2626
  * @example
2605
2627
  * ```ts
2606
- * import { Data, Effect, Layer, ServiceMap } from "effect"
2628
+ * import { Data, Effect, Layer, Context } from "effect"
2607
2629
  *
2608
2630
  * class DatabaseError extends Data.TaggedError("DatabaseError")<{
2609
2631
  * message: string
2610
2632
  * }> {}
2611
2633
  *
2612
- * class Database extends ServiceMap.Service<Database, {
2634
+ * class Database extends Context.Service<Database, {
2613
2635
  * readonly query: (sql: string) => Effect.Effect<string>
2614
2636
  * }>()("Database") {}
2615
2637
  *
@@ -2679,11 +2701,11 @@ export {
2679
2701
  *
2680
2702
  * @example
2681
2703
  * ```ts
2682
- * import { Data, Effect, Layer, ServiceMap } from "effect"
2704
+ * import { Data, Effect, Layer, Context } from "effect"
2683
2705
  *
2684
2706
  * class ConfigError extends Data.TaggedError("ConfigError") {}
2685
2707
  *
2686
- * class Config extends ServiceMap.Service<Config, {
2708
+ * class Config extends Context.Service<Config, {
2687
2709
  * readonly apiUrl: string
2688
2710
  * }>()("Config") {}
2689
2711
  *
@@ -2705,11 +2727,11 @@ export const catchTag: {
2705
2727
  *
2706
2728
  * @example
2707
2729
  * ```ts
2708
- * import { Data, Effect, Layer, ServiceMap } from "effect"
2730
+ * import { Data, Effect, Layer, Context } from "effect"
2709
2731
  *
2710
2732
  * class ConfigError extends Data.TaggedError("ConfigError") {}
2711
2733
  *
2712
- * class Config extends ServiceMap.Service<Config, {
2734
+ * class Config extends Context.Service<Config, {
2713
2735
  * readonly apiUrl: string
2714
2736
  * }>()("Config") {}
2715
2737
  *
@@ -2742,11 +2764,11 @@ export const catchTag: {
2742
2764
  *
2743
2765
  * @example
2744
2766
  * ```ts
2745
- * import { Data, Effect, Layer, ServiceMap } from "effect"
2767
+ * import { Data, Effect, Layer, Context } from "effect"
2746
2768
  *
2747
2769
  * class ConfigError extends Data.TaggedError("ConfigError") {}
2748
2770
  *
2749
- * class Config extends ServiceMap.Service<Config, {
2771
+ * class Config extends Context.Service<Config, {
2750
2772
  * readonly apiUrl: string
2751
2773
  * }>()("Config") {}
2752
2774
  *
@@ -2805,7 +2827,7 @@ export const catchTag: {
2805
2827
  *
2806
2828
  * @example
2807
2829
  * ```ts
2808
- * import { Data, Effect, Layer, ServiceMap } from "effect"
2830
+ * import { Data, Effect, Layer, Context } from "effect"
2809
2831
  *
2810
2832
  * class DatabaseError extends Data.TaggedError("DatabaseError")<{
2811
2833
  * message: string
@@ -2815,11 +2837,11 @@ export const catchTag: {
2815
2837
  * reason: string
2816
2838
  * }> {}
2817
2839
  *
2818
- * class Database extends ServiceMap.Service<Database, {
2840
+ * class Database extends Context.Service<Database, {
2819
2841
  * readonly query: (sql: string) => Effect.Effect<string>
2820
2842
  * }>()("Database") {}
2821
2843
  *
2822
- * class Logger extends ServiceMap.Service<Logger, {
2844
+ * class Logger extends Context.Service<Logger, {
2823
2845
  * readonly log: (msg: string) => Effect.Effect<void>
2824
2846
  * }>()("Logger") {}
2825
2847
  *
@@ -2863,7 +2885,7 @@ export const catchCause: {
2863
2885
  *
2864
2886
  * @example
2865
2887
  * ```ts
2866
- * import { Data, Effect, Layer, ServiceMap } from "effect"
2888
+ * import { Data, Effect, Layer, Context } from "effect"
2867
2889
  *
2868
2890
  * class DatabaseError extends Data.TaggedError("DatabaseError")<{
2869
2891
  * message: string
@@ -2873,11 +2895,11 @@ export const catchCause: {
2873
2895
  * reason: string
2874
2896
  * }> {}
2875
2897
  *
2876
- * class Database extends ServiceMap.Service<Database, {
2898
+ * class Database extends Context.Service<Database, {
2877
2899
  * readonly query: (sql: string) => Effect.Effect<string>
2878
2900
  * }>()("Database") {}
2879
2901
  *
2880
- * class Logger extends ServiceMap.Service<Logger, {
2902
+ * class Logger extends Context.Service<Logger, {
2881
2903
  * readonly log: (msg: string) => Effect.Effect<void>
2882
2904
  * }>()("Logger") {}
2883
2905
  *
@@ -2921,7 +2943,7 @@ export const catchCause: {
2921
2943
  *
2922
2944
  * @example
2923
2945
  * ```ts
2924
- * import { Data, Effect, Layer, ServiceMap } from "effect"
2946
+ * import { Data, Effect, Layer, Context } from "effect"
2925
2947
  *
2926
2948
  * class DatabaseError extends Data.TaggedError("DatabaseError")<{
2927
2949
  * message: string
@@ -2931,11 +2953,11 @@ export const catchCause: {
2931
2953
  * reason: string
2932
2954
  * }> {}
2933
2955
  *
2934
- * class Database extends ServiceMap.Service<Database, {
2956
+ * class Database extends Context.Service<Database, {
2935
2957
  * readonly query: (sql: string) => Effect.Effect<string>
2936
2958
  * }>()("Database") {}
2937
2959
  *
2938
- * class Logger extends ServiceMap.Service<Logger, {
2960
+ * class Logger extends Context.Service<Logger, {
2939
2961
  * readonly log: (msg: string) => Effect.Effect<void>
2940
2962
  * }>()("Logger") {}
2941
2963
  *
@@ -3025,7 +3047,7 @@ export const updateService: {
3025
3047
  * @since 3.13.0
3026
3048
  * @category utils
3027
3049
  */
3028
- <I, A>(service: ServiceMap.Key<I, A>, f: (a: A) => A): <A1, E1, R1>(layer: Layer<A1, E1, R1>) => Layer<A1, E1, I | R1>
3050
+ <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>
3029
3051
  /**
3030
3052
  * Updates a service in the context with a new implementation.
3031
3053
  *
@@ -3044,13 +3066,17 @@ export const updateService: {
3044
3066
  * @since 3.13.0
3045
3067
  * @category utils
3046
3068
  */
3047
- <A1, E1, R1, I, A>(layer: Layer<A1, E1, R1>, service: ServiceMap.Key<I, A>, f: (a: A) => A): Layer<A1, E1, I | R1>
3069
+ <A1, E1, R1, I, A>(
3070
+ layer: Layer<A1, E1, R1>,
3071
+ service: Context.Key<I, A>,
3072
+ f: (a: Types.NoInfer<A>) => A
3073
+ ): Layer<A1, E1, I | R1>
3048
3074
  } = dual(
3049
3075
  3,
3050
3076
  <A1, E1, R1, I, A>(
3051
3077
  layer: Layer<A1, E1, R1>,
3052
- service: ServiceMap.Key<I, A>,
3053
- f: (a: A) => A
3078
+ service: Context.Key<I, A>,
3079
+ f: (a: Types.NoInfer<A>) => A
3054
3080
  ): Layer<A1, E1, I | R1> => provide(layer, effect(service, internalEffect.map(service.asEffect(), f)))
3055
3081
  )
3056
3082
 
@@ -3059,9 +3085,9 @@ export const updateService: {
3059
3085
  *
3060
3086
  * @example
3061
3087
  * ```ts
3062
- * import { Effect, Layer, Ref, ServiceMap } from "effect"
3088
+ * import { Effect, Layer, Ref, Context } from "effect"
3063
3089
  *
3064
- * class Counter extends ServiceMap.Service<Counter, {
3090
+ * class Counter extends Context.Service<Counter, {
3065
3091
  * readonly count: number
3066
3092
  * readonly increment: () => Effect.Effect<number>
3067
3093
  * }>()("Counter") {}
@@ -3114,14 +3140,14 @@ export const fresh = <A, E, R>(self: Layer<A, E, R>): Layer<A, E, R> =>
3114
3140
  *
3115
3141
  * @example
3116
3142
  * ```ts
3117
- * import { Console, Effect, Layer, ServiceMap } from "effect"
3143
+ * import { Console, Effect, Layer, Context } from "effect"
3118
3144
  *
3119
- * class HttpServer extends ServiceMap.Service<HttpServer, {
3145
+ * class HttpServer extends Context.Service<HttpServer, {
3120
3146
  * readonly start: () => Effect.Effect<string>
3121
3147
  * readonly stop: () => Effect.Effect<string>
3122
3148
  * }>()("HttpServer") {}
3123
3149
  *
3124
- * class Logger extends ServiceMap.Service<Logger, {
3150
+ * class Logger extends Context.Service<Logger, {
3125
3151
  * readonly log: (msg: string) => Effect.Effect<void>
3126
3152
  * }>()("Logger") {}
3127
3153
  *
@@ -3199,9 +3225,9 @@ type AnyEffectOrStream =
3199
3225
  *
3200
3226
  * @example
3201
3227
  * ```ts
3202
- * import { Effect, Layer, ServiceMap } from "effect"
3228
+ * import { Effect, Layer, Context } from "effect"
3203
3229
  *
3204
- * class UserService extends ServiceMap.Service<UserService, {
3230
+ * class UserService extends Context.Service<UserService, {
3205
3231
  * readonly config: { apiUrl: string }
3206
3232
  * readonly getUser: (
3207
3233
  * id: string
@@ -3246,9 +3272,9 @@ export const mock: {
3246
3272
  *
3247
3273
  * @example
3248
3274
  * ```ts
3249
- * import { Effect, Layer, ServiceMap } from "effect"
3275
+ * import { Effect, Layer, Context } from "effect"
3250
3276
  *
3251
- * class UserService extends ServiceMap.Service<UserService, {
3277
+ * class UserService extends Context.Service<UserService, {
3252
3278
  * readonly config: { apiUrl: string }
3253
3279
  * readonly getUser: (
3254
3280
  * id: string
@@ -3285,7 +3311,7 @@ export const mock: {
3285
3311
  * @since 4.0.0
3286
3312
  * @category Testing
3287
3313
  */
3288
- <I, S extends object>(service: ServiceMap.Key<I, S>): (implementation: PartialEffectful<S>) => Layer<I>
3314
+ <I, S extends object>(service: Context.Key<I, S>): (implementation: PartialEffectful<S>) => Layer<I>
3289
3315
  /**
3290
3316
  * Creates a mock layer for testing purposes. You can provide a partial
3291
3317
  * implementation of the service, and any methods not provided will
@@ -3293,9 +3319,9 @@ export const mock: {
3293
3319
  *
3294
3320
  * @example
3295
3321
  * ```ts
3296
- * import { Effect, Layer, ServiceMap } from "effect"
3322
+ * import { Effect, Layer, Context } from "effect"
3297
3323
  *
3298
- * class UserService extends ServiceMap.Service<UserService, {
3324
+ * class UserService extends Context.Service<UserService, {
3299
3325
  * readonly config: { apiUrl: string }
3300
3326
  * readonly getUser: (
3301
3327
  * id: string
@@ -3333,7 +3359,7 @@ export const mock: {
3333
3359
  * @category Testing
3334
3360
  */
3335
3361
  <I, S extends object>(
3336
- service: ServiceMap.Key<I, S>,
3362
+ service: Context.Key<I, S>,
3337
3363
  implementation: Types.NoInfer<PartialEffectful<S>>
3338
3364
  ): Layer<I>
3339
3365
  } = function() {
@@ -3343,7 +3369,7 @@ export const mock: {
3343
3369
  return mockImpl(arguments[0], arguments[1])
3344
3370
  } as any
3345
3371
 
3346
- const mockImpl = <I, S extends object>(service: ServiceMap.Key<I, S>, implementation: PartialEffectful<S>): Layer<I> =>
3372
+ const mockImpl = <I, S extends object>(service: Context.Key<I, S>, implementation: PartialEffectful<S>): Layer<I> =>
3347
3373
  succeed(service)(
3348
3374
  new Proxy({ ...implementation as object } as S, {
3349
3375
  get(target, prop, _receiver) {
@@ -3515,9 +3541,9 @@ export interface SpanOptions extends Tracer.SpanOptions {
3515
3541
  *
3516
3542
  * @example
3517
3543
  * ```ts
3518
- * import { Console, Effect, Layer, ServiceMap, type Tracer } from "effect"
3544
+ * import { Console, Effect, Layer, Context, type Tracer } from "effect"
3519
3545
  *
3520
- * class Database extends ServiceMap.Service<Database, {
3546
+ * class Database extends Context.Service<Database, {
3521
3547
  * readonly query: (sql: string) => Effect.Effect<string>
3522
3548
  * }>()("Database") {}
3523
3549
  *
@@ -3576,9 +3602,9 @@ export const span = (
3576
3602
  *
3577
3603
  * @example
3578
3604
  * ```ts
3579
- * import { Console, Effect, Layer, ServiceMap, Tracer } from "effect"
3605
+ * import { Console, Effect, Layer, Context, Tracer } from "effect"
3580
3606
  *
3581
- * class Database extends ServiceMap.Service<Database, {
3607
+ * class Database extends Context.Service<Database, {
3582
3608
  * readonly query: (sql: string) => Effect.Effect<string>
3583
3609
  * }>()("Database") {}
3584
3610
  *
@@ -3605,7 +3631,7 @@ export const span = (
3605
3631
  * @category tracing
3606
3632
  */
3607
3633
  export const parentSpan = (span: Tracer.AnySpan): Layer<Tracer.ParentSpan> =>
3608
- succeedServices(Tracer.ParentSpan.serviceMap(span))
3634
+ succeedContext(Tracer.ParentSpan.context(span))
3609
3635
 
3610
3636
  /**
3611
3637
  * Wraps a Layer with a new tracing span, making all operations in the layer
@@ -3617,13 +3643,13 @@ export const parentSpan = (span: Tracer.AnySpan): Layer<Tracer.ParentSpan> =>
3617
3643
  *
3618
3644
  * @example
3619
3645
  * ```ts
3620
- * import { Effect, Layer, ServiceMap } from "effect"
3646
+ * import { Effect, Layer, Context } from "effect"
3621
3647
  *
3622
- * class Database extends ServiceMap.Service<Database, {
3648
+ * class Database extends Context.Service<Database, {
3623
3649
  * readonly query: (sql: string) => Effect.Effect<string>
3624
3650
  * }>()("Database") {}
3625
3651
  *
3626
- * class Logger extends ServiceMap.Service<Logger, {
3652
+ * class Logger extends Context.Service<Logger, {
3627
3653
  * readonly log: (msg: string) => Effect.Effect<void>
3628
3654
  * }>()("Logger") {}
3629
3655
  *
@@ -3676,13 +3702,13 @@ export const withSpan: {
3676
3702
  *
3677
3703
  * @example
3678
3704
  * ```ts
3679
- * import { Effect, Layer, ServiceMap } from "effect"
3705
+ * import { Effect, Layer, Context } from "effect"
3680
3706
  *
3681
- * class Database extends ServiceMap.Service<Database, {
3707
+ * class Database extends Context.Service<Database, {
3682
3708
  * readonly query: (sql: string) => Effect.Effect<string>
3683
3709
  * }>()("Database") {}
3684
3710
  *
3685
- * class Logger extends ServiceMap.Service<Logger, {
3711
+ * class Logger extends Context.Service<Logger, {
3686
3712
  * readonly log: (msg: string) => Effect.Effect<void>
3687
3713
  * }>()("Logger") {}
3688
3714
  *
@@ -3737,13 +3763,13 @@ export const withSpan: {
3737
3763
  *
3738
3764
  * @example
3739
3765
  * ```ts
3740
- * import { Effect, Layer, ServiceMap } from "effect"
3766
+ * import { Effect, Layer, Context } from "effect"
3741
3767
  *
3742
- * class Database extends ServiceMap.Service<Database, {
3768
+ * class Database extends Context.Service<Database, {
3743
3769
  * readonly query: (sql: string) => Effect.Effect<string>
3744
3770
  * }>()("Database") {}
3745
3771
  *
3746
- * class Logger extends ServiceMap.Service<Logger, {
3772
+ * class Logger extends Context.Service<Logger, {
3747
3773
  * readonly log: (msg: string) => Effect.Effect<void>
3748
3774
  * }>()("Logger") {}
3749
3775
  *
@@ -3827,13 +3853,13 @@ export const withSpan: {
3827
3853
  *
3828
3854
  * @example
3829
3855
  * ```ts
3830
- * import { Effect, Layer, ServiceMap, Tracer } from "effect"
3856
+ * import { Effect, Layer, Context, Tracer } from "effect"
3831
3857
  *
3832
- * class Database extends ServiceMap.Service<Database, {
3858
+ * class Database extends Context.Service<Database, {
3833
3859
  * readonly query: (sql: string) => Effect.Effect<string>
3834
3860
  * }>()("Database") {}
3835
3861
  *
3836
- * class Cache extends ServiceMap.Service<Cache, {
3862
+ * class Cache extends Context.Service<Cache, {
3837
3863
  * readonly get: (key: string) => Effect.Effect<string | null>
3838
3864
  * }>()("Cache") {}
3839
3865
  *
@@ -3862,9 +3888,9 @@ export const withSpan: {
3862
3888
  * Layer.withParentSpan(parentSpan)
3863
3889
  * )
3864
3890
  *
3865
- * const services = yield* Layer.build(AppLayer)
3866
- * const database = ServiceMap.get(services, Database)
3867
- * const cache = ServiceMap.get(services, Cache)
3891
+ * const context = yield* Layer.build(AppLayer)
3892
+ * const database = Context.get(context, Database)
3893
+ * const cache = Context.get(context, Cache)
3868
3894
  *
3869
3895
  * const dbResult = yield* database.query("SELECT * FROM users")
3870
3896
  * const cacheResult = yield* cache.get("user:123")
@@ -3887,13 +3913,13 @@ export const withParentSpan: {
3887
3913
  *
3888
3914
  * @example
3889
3915
  * ```ts
3890
- * import { Effect, Layer, ServiceMap, Tracer } from "effect"
3916
+ * import { Effect, Layer, Context, Tracer } from "effect"
3891
3917
  *
3892
- * class Database extends ServiceMap.Service<Database, {
3918
+ * class Database extends Context.Service<Database, {
3893
3919
  * readonly query: (sql: string) => Effect.Effect<string>
3894
3920
  * }>()("Database") {}
3895
3921
  *
3896
- * class Cache extends ServiceMap.Service<Cache, {
3922
+ * class Cache extends Context.Service<Cache, {
3897
3923
  * readonly get: (key: string) => Effect.Effect<string | null>
3898
3924
  * }>()("Cache") {}
3899
3925
  *
@@ -3922,9 +3948,9 @@ export const withParentSpan: {
3922
3948
  * Layer.withParentSpan(parentSpan)
3923
3949
  * )
3924
3950
  *
3925
- * const services = yield* Layer.build(AppLayer)
3926
- * const database = ServiceMap.get(services, Database)
3927
- * const cache = ServiceMap.get(services, Cache)
3951
+ * const context = yield* Layer.build(AppLayer)
3952
+ * const database = Context.get(context, Database)
3953
+ * const cache = Context.get(context, Cache)
3928
3954
  *
3929
3955
  * const dbResult = yield* database.query("SELECT * FROM users")
3930
3956
  * const cacheResult = yield* cache.get("user:123")
@@ -3949,13 +3975,13 @@ export const withParentSpan: {
3949
3975
  *
3950
3976
  * @example
3951
3977
  * ```ts
3952
- * import { Effect, Layer, ServiceMap, Tracer } from "effect"
3978
+ * import { Effect, Layer, Context, Tracer } from "effect"
3953
3979
  *
3954
- * class Database extends ServiceMap.Service<Database, {
3980
+ * class Database extends Context.Service<Database, {
3955
3981
  * readonly query: (sql: string) => Effect.Effect<string>
3956
3982
  * }>()("Database") {}
3957
3983
  *
3958
- * class Cache extends ServiceMap.Service<Cache, {
3984
+ * class Cache extends Context.Service<Cache, {
3959
3985
  * readonly get: (key: string) => Effect.Effect<string | null>
3960
3986
  * }>()("Cache") {}
3961
3987
  *
@@ -3984,9 +4010,9 @@ export const withParentSpan: {
3984
4010
  * Layer.withParentSpan(parentSpan)
3985
4011
  * )
3986
4012
  *
3987
- * const services = yield* Layer.build(AppLayer)
3988
- * const database = ServiceMap.get(services, Database)
3989
- * const cache = ServiceMap.get(services, Cache)
4013
+ * const context = yield* Layer.build(AppLayer)
4014
+ * const database = Context.get(context, Database)
4015
+ * const cache = Context.get(context, Cache)
3990
4016
  *
3991
4017
  * const dbResult = yield* database.query("SELECT * FROM users")
3992
4018
  * const cacheResult = yield* cache.get("user:123")