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
@@ -2,6 +2,7 @@
2
2
  * @since 4.0.0
3
3
  */
4
4
  import type * as Cause from "../../Cause.ts"
5
+ import * as Context from "../../Context.ts"
5
6
  import type { Effect } from "../../Effect.ts"
6
7
  import type { Exit as Exit_ } from "../../Exit.ts"
7
8
  import * as Option from "../../Option.ts"
@@ -10,7 +11,6 @@ import * as Predicate from "../../Predicate.ts"
10
11
  import * as PrimaryKey from "../../PrimaryKey.ts"
11
12
  import type * as Queue from "../../Queue.ts"
12
13
  import * as Schema from "../../Schema.ts"
13
- import * as ServiceMap from "../../ServiceMap.ts"
14
14
  import type { Stream } from "../../Stream.ts"
15
15
  import type * as Struct from "../../Struct.ts"
16
16
  import type { Headers } from "../http/Headers.ts"
@@ -32,9 +32,9 @@ export const isRpc = (u: unknown): u is Rpc<any, any, any> => Predicate.hasPrope
32
32
  */
33
33
  export interface DefectSchema extends Schema.Top {
34
34
  readonly Type: unknown
35
- makeUnsafe(input: null, options?: Schema.MakeOptions): unknown
36
- makeUnsafe(input: undefined, options?: Schema.MakeOptions): unknown
37
- makeUnsafe(input: {}, options?: Schema.MakeOptions): unknown
35
+ make(input: null, options?: Schema.MakeOptions): unknown
36
+ make(input: undefined, options?: Schema.MakeOptions): unknown
37
+ make(input: {}, options?: Schema.MakeOptions): unknown
38
38
  readonly DecodingServices: never
39
39
  readonly EncodingServices: never
40
40
  }
@@ -63,7 +63,7 @@ export interface Rpc<
63
63
  readonly successSchema: Success
64
64
  readonly errorSchema: Error
65
65
  readonly defectSchema: Schema.Top
66
- readonly annotations: ServiceMap.ServiceMap<never>
66
+ readonly annotations: Context.Context<never>
67
67
  readonly middlewares: ReadonlySet<Middleware>
68
68
  readonly "~requires": Requires
69
69
 
@@ -133,7 +133,7 @@ export interface Rpc<
133
133
  * Add an annotation on the rpc.
134
134
  */
135
135
  annotate<I, S>(
136
- tag: ServiceMap.Key<I, S>,
136
+ tag: Context.Key<I, S>,
137
137
  value: S
138
138
  ): Rpc<Tag, Payload, Success, Error, Middleware, Requires>
139
139
 
@@ -141,7 +141,7 @@ export interface Rpc<
141
141
  * Merge the annotations of the rpc with the provided annotations.
142
142
  */
143
143
  annotateMerge<I>(
144
- annotations: ServiceMap.ServiceMap<I>
144
+ annotations: Context.Context<I>
145
145
  ): Rpc<Tag, Payload, Success, Error, Middleware, Requires>
146
146
  }
147
147
 
@@ -160,7 +160,7 @@ export interface Handler<Tag extends string> {
160
160
  readonly headers: Headers
161
161
  readonly rpc: Any
162
162
  }) => Effect<any, any> | Stream<any, any>
163
- readonly services: ServiceMap.ServiceMap<never>
163
+ readonly context: Context.Context<never>
164
164
  }
165
165
 
166
166
  /**
@@ -171,7 +171,7 @@ export interface Any extends Pipeable {
171
171
  readonly [TypeId]: typeof TypeId
172
172
  readonly _tag: string
173
173
  readonly key: string
174
- readonly annotations: ServiceMap.ServiceMap<never>
174
+ readonly annotations: Context.Context<never>
175
175
  }
176
176
 
177
177
  /**
@@ -186,7 +186,7 @@ export interface AnyWithProps extends Pipeable {
186
186
  readonly successSchema: Schema.Top
187
187
  readonly errorSchema: Schema.Top
188
188
  readonly defectSchema: Schema.Top
189
- readonly annotations: ServiceMap.ServiceMap<never>
189
+ readonly annotations: Context.Context<never>
190
190
  readonly middlewares: ReadonlySet<RpcMiddleware.AnyServiceWithProps>
191
191
  readonly "~requires": any
192
192
  }
@@ -394,7 +394,7 @@ export type Middleware<R> = R extends Rpc<
394
394
  infer _Error,
395
395
  infer _Middleware,
396
396
  infer _Requires
397
- > ? ServiceMap.Service.Identifier<_Middleware>
397
+ > ? Context.Service.Identifier<_Middleware>
398
398
  : never
399
399
 
400
400
  /**
@@ -660,7 +660,7 @@ const Proto = {
660
660
  middlewares: this.middlewares
661
661
  })
662
662
  },
663
- annotate(this: AnyWithProps, tag: ServiceMap.Key<any, any>, value: any) {
663
+ annotate(this: AnyWithProps, tag: Context.Key<any, any>, value: any) {
664
664
  return makeProto({
665
665
  _tag: this._tag,
666
666
  payloadSchema: this.payloadSchema,
@@ -668,10 +668,10 @@ const Proto = {
668
668
  errorSchema: this.errorSchema,
669
669
  defectSchema: this.defectSchema,
670
670
  middlewares: this.middlewares,
671
- annotations: ServiceMap.add(this.annotations, tag, value)
671
+ annotations: Context.add(this.annotations, tag, value)
672
672
  })
673
673
  },
674
- annotateMerge(this: AnyWithProps, context: ServiceMap.ServiceMap<any>) {
674
+ annotateMerge(this: AnyWithProps, context: Context.Context<any>) {
675
675
  return makeProto({
676
676
  _tag: this._tag,
677
677
  payloadSchema: this.payloadSchema,
@@ -679,7 +679,7 @@ const Proto = {
679
679
  errorSchema: this.errorSchema,
680
680
  defectSchema: this.defectSchema,
681
681
  middlewares: this.middlewares,
682
- annotations: ServiceMap.merge(this.annotations, context)
682
+ annotations: Context.merge(this.annotations, context)
683
683
  })
684
684
  }
685
685
  }
@@ -697,7 +697,7 @@ const makeProto = <
697
697
  readonly successSchema: Success
698
698
  readonly errorSchema: Error
699
699
  readonly defectSchema: Schema.Top
700
- readonly annotations: ServiceMap.ServiceMap<never>
700
+ readonly annotations: Context.Context<never>
701
701
  readonly middlewares: ReadonlySet<Middleware>
702
702
  }): Rpc<Tag, Payload, Success, Error, Middleware, Requires> => {
703
703
  function Rpc() {}
@@ -758,7 +758,7 @@ export const make = <
758
758
  successSchema,
759
759
  errorSchema: options?.stream ? Schema.Never : errorSchema,
760
760
  defectSchema,
761
- annotations: ServiceMap.empty(),
761
+ annotations: Context.empty(),
762
762
  middlewares: new Set<never>()
763
763
  }) as any
764
764
  }
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import type { NonEmptyReadonlyArray } from "../../Array.ts"
5
5
  import * as Cause from "../../Cause.ts"
6
+ import * as Context from "../../Context.ts"
6
7
  import type * as Duration from "../../Duration.ts"
7
8
  import * as Effect from "../../Effect.ts"
8
9
  import * as Exit from "../../Exit.ts"
@@ -17,7 +18,6 @@ import * as Result from "../../Result.ts"
17
18
  import * as Schedule from "../../Schedule.ts"
18
19
  import * as Schema from "../../Schema.ts"
19
20
  import * as Scope from "../../Scope.ts"
20
- import * as ServiceMap from "../../ServiceMap.ts"
21
21
  import * as Stream from "../../Stream.ts"
22
22
  import type * as Struct from "../../Struct.ts"
23
23
  import type { Span } from "../../Tracer.ts"
@@ -66,11 +66,11 @@ export declare namespace RpcClient {
66
66
  readonly asQueue?: AsQueue | undefined
67
67
  readonly streamBufferSize?: number | undefined
68
68
  readonly headers?: Headers.Input | undefined
69
- readonly context?: ServiceMap.ServiceMap<never> | undefined
69
+ readonly context?: Context.Context<never> | undefined
70
70
  } :
71
71
  {
72
72
  readonly headers?: Headers.Input | undefined
73
- readonly context?: ServiceMap.ServiceMap<never> | undefined
73
+ readonly context?: Context.Context<never> | undefined
74
74
  readonly discard?: Discard | undefined
75
75
  }
76
76
  ) => Current extends Rpc.Rpc<
@@ -129,11 +129,11 @@ export declare namespace RpcClient {
129
129
  readonly asQueue?: AsQueue | undefined
130
130
  readonly streamBufferSize?: number | undefined
131
131
  readonly headers?: Headers.Input | undefined
132
- readonly context?: ServiceMap.ServiceMap<never> | undefined
132
+ readonly context?: Context.Context<never> | undefined
133
133
  } :
134
134
  {
135
135
  readonly headers?: Headers.Input | undefined
136
- readonly context?: ServiceMap.ServiceMap<never> | undefined
136
+ readonly context?: Context.Context<never> | undefined
137
137
  readonly discard?: Discard | undefined
138
138
  }
139
139
  ) => Rpc.ExtractTag<Rpcs, Tag> extends Rpc.Rpc<
@@ -192,7 +192,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
192
192
  readonly onFromClient: (
193
193
  options: {
194
194
  readonly message: FromClient<Rpcs>
195
- readonly context: ServiceMap.ServiceMap<never>
195
+ readonly context: Context.Context<never>
196
196
  readonly discard: boolean
197
197
  }
198
198
  ) => Effect.Effect<void, E>
@@ -216,7 +216,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
216
216
  readonly onFromClient: (
217
217
  options: {
218
218
  readonly message: FromClient<Rpcs>
219
- readonly context: ServiceMap.ServiceMap<never>
219
+ readonly context: Context.Context<never>
220
220
  readonly discard: boolean
221
221
  }
222
222
  ) => Effect.Effect<void, E>
@@ -233,20 +233,20 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
233
233
  const disableTracing = options?.disableTracing ?? false
234
234
  const generateRequestId = options?.generateRequestId ?? (() => requestIdCounter++ as RequestId)
235
235
 
236
- const services = yield* Effect.services<Rpc.MiddlewareClient<Rpcs> | Scope.Scope>()
237
- const scope = ServiceMap.get(services, Scope.Scope)
236
+ const services = yield* Effect.context<Rpc.MiddlewareClient<Rpcs> | Scope.Scope>()
237
+ const scope = Context.get(services, Scope.Scope)
238
238
 
239
239
  type ClientEntry = {
240
240
  readonly _tag: "Effect"
241
241
  readonly rpc: Rpc.AnyWithProps
242
- readonly context: ServiceMap.ServiceMap<never>
242
+ readonly context: Context.Context<never>
243
243
  resume: (_: Exit.Exit<any, any>) => void
244
244
  } | {
245
245
  readonly _tag: "Queue"
246
246
  readonly rpc: Rpc.AnyWithProps
247
247
  readonly queue: Queue.Queue<any, any>
248
248
  readonly scope: Scope.Scope
249
- readonly context: ServiceMap.ServiceMap<never>
249
+ readonly context: Context.Context<never>
250
250
  }
251
251
  const entries = new Map<RequestId, ClientEntry>()
252
252
 
@@ -279,18 +279,18 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
279
279
  readonly asQueue?: boolean | undefined
280
280
  readonly streamBufferSize?: number | undefined
281
281
  readonly headers?: Headers.Input | undefined
282
- readonly context?: ServiceMap.ServiceMap<never> | undefined
282
+ readonly context?: Context.Context<never> | undefined
283
283
  readonly discard?: boolean | undefined
284
284
  }) => {
285
285
  const headers = opts?.headers ? Headers.fromInput(opts.headers) : Headers.empty
286
- const context = opts?.context ?? ServiceMap.empty()
286
+ const context = opts?.context ?? Context.empty()
287
287
  if (!isStream) {
288
288
  const onRequest = (span: Span | undefined) =>
289
289
  onEffectRequest(
290
290
  rpc,
291
291
  middleware,
292
292
  span,
293
- rpc.payloadSchema.makeUnsafe(payload),
293
+ rpc.payloadSchema.make(payload),
294
294
  headers,
295
295
  context,
296
296
  opts?.discard ?? false
@@ -304,7 +304,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
304
304
  const queue = onStreamRequest(
305
305
  rpc,
306
306
  middleware,
307
- rpc.payloadSchema.makeUnsafe(payload),
307
+ rpc.payloadSchema.make(payload),
308
308
  headers,
309
309
  opts?.streamBufferSize ?? 16,
310
310
  context
@@ -323,7 +323,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
323
323
  span: Span | undefined,
324
324
  payload: any,
325
325
  headers: Headers.Headers,
326
- context: ServiceMap.ServiceMap<never>,
326
+ context: Context.Context<never>,
327
327
  discard: boolean
328
328
  ) =>
329
329
  Effect.withFiber<any, any, any>((parentFiber) => {
@@ -375,7 +375,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
375
375
  entries.set(id, entry)
376
376
  fiber = send.pipe(
377
377
  span ? Effect.withParentSpan(span, { captureStackTrace: false }) : identity,
378
- Effect.runForkWith(parentFiber.services)
378
+ Effect.runForkWith(parentFiber.context)
379
379
  )
380
380
  fiber.addObserver((exit) => {
381
381
  if (exit._tag === "Failure") {
@@ -402,7 +402,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
402
402
  payload: any,
403
403
  headers: Headers.Headers,
404
404
  streamBufferSize: number,
405
- context: ServiceMap.ServiceMap<never>
405
+ context: Context.Context<never>
406
406
  ) {
407
407
  if (isShutdown) {
408
408
  return yield* Effect.interrupt
@@ -414,7 +414,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
414
414
  const fiber = Fiber.getCurrent()!
415
415
  const id = generateRequestId()
416
416
 
417
- const scope = ServiceMap.getUnsafe(fiber.services, Scope.Scope)
417
+ const scope = Context.getUnsafe(fiber.context, Scope.Scope)
418
418
  yield* Scope.addFinalizerExit(
419
419
  scope,
420
420
  (exit) => {
@@ -508,7 +508,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
508
508
  const sendInterrupt = (
509
509
  requestId: RequestId,
510
510
  interruptors: ReadonlyArray<number>,
511
- context: ServiceMap.ServiceMap<never>
511
+ context: Context.Context<never>
512
512
  ): Effect.Effect<void> =>
513
513
  Effect.callback<void>((resume) => {
514
514
  const parentFiber = Fiber.getCurrent()!
@@ -518,7 +518,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
518
518
  discard: false
519
519
  }).pipe(
520
520
  Effect.timeout(1000),
521
- Effect.runForkWith(parentFiber.services)
521
+ Effect.runForkWith(parentFiber.context)
522
522
  )
523
523
  fiber.addObserver(() => {
524
524
  resume(Effect.void)
@@ -618,7 +618,7 @@ export const make: <Rpcs extends Rpc.Any, const Flatten extends boolean = false>
618
618
 
619
619
  type ClientEntry = {
620
620
  readonly rpc: Rpc.AnyWithProps
621
- readonly context: ServiceMap.ServiceMap<never>
621
+ readonly context: Context.Context<never>
622
622
  readonly schemas: RpcSchemas
623
623
  }
624
624
  const entries = new Map<RequestId, ClientEntry>()
@@ -636,13 +636,13 @@ export const make: <Rpcs extends Rpc.Any, const Flatten extends boolean = false>
636
636
 
637
637
  const entry: ClientEntry = {
638
638
  rpc,
639
- context: collector ? ServiceMap.add(fiber.services, Transferable.Collector, collector) : fiber.services,
639
+ context: collector ? Context.add(fiber.context, Transferable.Collector, collector) : fiber.context,
640
640
  schemas: rpcSchemas(rpc)
641
641
  }
642
642
  entries.set(message.id, entry)
643
643
 
644
644
  return entry.schemas.encodePayload(message.payload).pipe(
645
- Effect.provideServices(entry.context),
645
+ Effect.provideContext(entry.context),
646
646
  Effect.orDie,
647
647
  Effect.flatMap((payload) =>
648
648
  send({
@@ -685,7 +685,7 @@ export const make: <Rpcs extends Rpc.Any, const Flatten extends boolean = false>
685
685
  const entry = entries.get(requestId)
686
686
  if (!entry || Option.isNone(entry.schemas.decodeChunk)) return Effect.void
687
687
  return entry.schemas.decodeChunk.value(message.values).pipe(
688
- Effect.provideServices(entry.context),
688
+ Effect.provideContext(entry.context),
689
689
  Effect.orDie,
690
690
  Effect.flatMap((chunk) =>
691
691
  write({ _tag: "Chunk", clientId: 0, requestId: RequestId(message.requestId), values: chunk })
@@ -706,7 +706,7 @@ export const make: <Rpcs extends Rpc.Any, const Flatten extends boolean = false>
706
706
  if (!entry) return Effect.void
707
707
  entries.delete(requestId)
708
708
  return entry.schemas.decodeExit(message.exit).pipe(
709
- Effect.provideServices(entry.context),
709
+ Effect.provideContext(entry.context),
710
710
  Effect.orDie,
711
711
  Effect.matchCauseEffect({
712
712
  onSuccess: (exit) => write({ _tag: "Exit", clientId: 0, requestId, exit }),
@@ -767,7 +767,7 @@ const rpcSchemas = (rpc: Rpc.AnyWithProps) => {
767
767
  * @since 4.0.0
768
768
  * @category headers
769
769
  */
770
- export const CurrentHeaders = ServiceMap.Reference<Headers.Headers>("effect/rpc/RpcClient/CurrentHeaders", {
770
+ export const CurrentHeaders = Context.Reference<Headers.Headers>("effect/rpc/RpcClient/CurrentHeaders", {
771
771
  defaultValue: () => Headers.empty
772
772
  })
773
773
 
@@ -796,7 +796,7 @@ export const withHeaders: {
796
796
  * @since 4.0.0
797
797
  * @category protocol
798
798
  */
799
- export class Protocol extends ServiceMap.Service<Protocol, {
799
+ export class Protocol extends Context.Service<Protocol, {
800
800
  readonly run: (
801
801
  f: (data: FromServerEncoded) => Effect.Effect<void>
802
802
  ) => Effect.Effect<never>
@@ -934,6 +934,7 @@ export const makeProtocolSocket = (options?: {
934
934
  Protocol.make(Effect.fnUntraced(function*(writeResponse) {
935
935
  const socket = yield* Socket.Socket
936
936
  const serialization = yield* RpcSerialization.RpcSerialization
937
+ const hooks = yield* Effect.serviceOption(ConnectionHooks)
937
938
 
938
939
  const write = yield* socket.writer
939
940
 
@@ -941,8 +942,9 @@ export const makeProtocolSocket = (options?: {
941
942
 
942
943
  const pinger = yield* makePinger(write(parser.encode(constPing)!))
943
944
  let currentError: RpcClientError | undefined
944
- const clearCurrentError = Effect.sync(() => {
945
+ const onOpen = Effect.suspend(() => {
945
946
  currentError = undefined
947
+ return Option.isSome(hooks) ? hooks.value.onConnect : Effect.void
946
948
  })
947
949
 
948
950
  yield* Effect.suspend(() => {
@@ -975,7 +977,7 @@ export const makeProtocolSocket = (options?: {
975
977
  })
976
978
  })
977
979
  }
978
- }, { onOpen: clearCurrentError }).pipe(
980
+ }, { onOpen }).pipe(
979
981
  Effect.raceFirst(Effect.flatMap(
980
982
  pinger.timeout,
981
983
  () =>
@@ -993,6 +995,7 @@ export const makeProtocolSocket = (options?: {
993
995
  Effect.flatMap(() =>
994
996
  Effect.fail(new Socket.SocketError({ reason: new Socket.SocketCloseError({ code: 1000 }) }))
995
997
  ),
998
+ Option.isSome(hooks) ? Effect.ensuring(hooks.value.onDisconnect) : identity,
996
999
  Effect.tapCause((cause) => {
997
1000
  const error = Cause.findError(cause)
998
1001
  const hasError = Result.isSuccess(error)
@@ -1101,6 +1104,7 @@ export const makeProtocolWorker = (
1101
1104
  const scope = yield* Effect.scope
1102
1105
  let workerId = 0
1103
1106
  const initialMessage = yield* Effect.serviceOption(RpcWorker.InitialMessage)
1107
+ const hooks = yield* Effect.serviceOption(ConnectionHooks)
1104
1108
 
1105
1109
  const entries = new Map<string, {
1106
1110
  readonly worker: Worker.Worker<FromServerEncoded, FromClientEncoded | RpcWorker.InitialMessage.Encoded>
@@ -1215,6 +1219,7 @@ export const makeProtocolWorker = (
1215
1219
  }
1216
1220
 
1217
1221
  yield* Effect.scoped(Pool.get(pool))
1222
+ if (Option.isSome(hooks)) yield* hooks.value.onConnect
1218
1223
 
1219
1224
  return {
1220
1225
  send,
@@ -1245,6 +1250,15 @@ export const layerProtocolWorker: (
1245
1250
  Worker.WorkerPlatform | Worker.Spawner
1246
1251
  > = flow(makeProtocolWorker, Layer.effect(Protocol))
1247
1252
 
1253
+ /**
1254
+ * @since 4.0.0
1255
+ * @category ConnectionHooks
1256
+ */
1257
+ export class ConnectionHooks extends Context.Service<ConnectionHooks, {
1258
+ readonly onConnect: Effect.Effect<void>
1259
+ readonly onDisconnect: Effect.Effect<void>
1260
+ }>()("effect/rpc/RpcClient/ConnectionHooks") {}
1261
+
1248
1262
  // internal
1249
1263
 
1250
1264
  const decodeDefect = Schema.decodeSync(Schema.Defect)
@@ -2,6 +2,7 @@
2
2
  * @since 4.0.0
3
3
  */
4
4
  import type * as Cause from "../../Cause.ts"
5
+ import * as Context from "../../Context.ts"
5
6
  import * as Effect from "../../Effect.ts"
6
7
  import { identity } from "../../Function.ts"
7
8
  import * as Layer from "../../Layer.ts"
@@ -9,7 +10,6 @@ import type { Pipeable } from "../../Pipeable.ts"
9
10
  import type * as Queue from "../../Queue.ts"
10
11
  import type * as Record from "../../Record.ts"
11
12
  import type { Scope } from "../../Scope.ts"
12
- import * as ServiceMap from "../../ServiceMap.ts"
13
13
  import * as Stream from "../../Stream.ts"
14
14
  import type { Headers } from "../http/Headers.ts"
15
15
  import * as Rpc from "./Rpc.ts"
@@ -27,7 +27,7 @@ export interface RpcGroup<in out R extends Rpc.Any> extends Pipeable {
27
27
 
28
28
  readonly [TypeId]: typeof TypeId
29
29
  readonly requests: ReadonlyMap<string, R>
30
- readonly annotations: ServiceMap.ServiceMap<never>
30
+ readonly annotations: Context.Context<never>
31
31
 
32
32
  /**
33
33
  * Add one or more procedures to the group.
@@ -66,7 +66,7 @@ export interface RpcGroup<in out R extends Rpc.Any> extends Pipeable {
66
66
  | Handlers
67
67
  | Effect.Effect<Handlers, EX, RX>
68
68
  ): Effect.Effect<
69
- ServiceMap.ServiceMap<Rpc.ToHandler<R>>,
69
+ Context.Context<Rpc.ToHandler<R>>,
70
70
  EX,
71
71
  | RX
72
72
  | HandlersServices<R, Handlers>
@@ -131,22 +131,22 @@ export interface RpcGroup<in out R extends Rpc.Any> extends Pipeable {
131
131
  /**
132
132
  * Annotate the group with a value.
133
133
  */
134
- annotate<I, S>(service: ServiceMap.Key<I, S>, value: S): RpcGroup<R>
134
+ annotate<I, S>(service: Context.Key<I, S>, value: S): RpcGroup<R>
135
135
 
136
136
  /**
137
137
  * Annotate the Rpc's above this point with a value.
138
138
  */
139
- annotateRpcs<I, S>(service: ServiceMap.Key<I, S>, value: S): RpcGroup<R>
139
+ annotateRpcs<I, S>(service: Context.Key<I, S>, value: S): RpcGroup<R>
140
140
 
141
141
  /**
142
142
  * Annotate the group with the provided annotations.
143
143
  */
144
- annotateMerge<S>(annotations: ServiceMap.ServiceMap<S>): RpcGroup<R>
144
+ annotateMerge<S>(annotations: Context.Context<S>): RpcGroup<R>
145
145
 
146
146
  /**
147
147
  * Annotate the Rpc's above this point with the provided annotations.
148
148
  */
149
- annotateRpcsMerge<S>(annotations: ServiceMap.ServiceMap<S>): RpcGroup<R>
149
+ annotateRpcsMerge<S>(annotations: Context.Context<S>): RpcGroup<R>
150
150
  }
151
151
 
152
152
  /**
@@ -239,7 +239,7 @@ const RpcGroupProto = {
239
239
 
240
240
  return makeProto({
241
241
  requests,
242
- annotations: ServiceMap.makeUnsafe(annotations)
242
+ annotations: Context.makeUnsafe(annotations)
243
243
  })
244
244
  },
245
245
  middleware(this: RpcGroup<any>, middleware: RpcMiddleware.AnyService) {
@@ -256,7 +256,7 @@ const RpcGroupProto = {
256
256
  // oxlint-disable-next-line no-this-alias
257
257
  const self = this
258
258
  return Effect.gen(function*() {
259
- const services = yield* Effect.services<never>()
259
+ const services = yield* Effect.context<never>()
260
260
  const handlers = Effect.isEffect(build) ? yield* build : build
261
261
  const contextMap = new Map<string, unknown>()
262
262
  for (const [tag, handler] of Object.entries(handlers)) {
@@ -264,10 +264,10 @@ const RpcGroupProto = {
264
264
  contextMap.set(rpc.key, {
265
265
  tag: rpc._tag,
266
266
  handler,
267
- services
267
+ context: services
268
268
  })
269
269
  }
270
- return ServiceMap.makeUnsafe(contextMap)
270
+ return Context.makeUnsafe(contextMap)
271
271
  })
272
272
  },
273
273
  prefix<const Prefix extends string>(this: RpcGroup<any>, prefix: Prefix) {
@@ -282,57 +282,57 @@ const RpcGroupProto = {
282
282
  })
283
283
  },
284
284
  toLayer(this: RpcGroup<any>, build: Effect.Effect<Record<string, (request: any) => any>>) {
285
- return Layer.effectServices(this.toHandlers(build))
285
+ return Layer.effectContext(this.toHandlers(build))
286
286
  },
287
287
  of: identity,
288
288
  toLayerHandler(this: RpcGroup<any>, service: string, build: Effect.Effect<Record<string, (request: any) => any>>) {
289
289
  // oxlint-disable-next-line no-this-alias
290
290
  const self = this
291
- return Layer.effectServices(Effect.gen(function*() {
292
- const services = yield* Effect.services<never>()
291
+ return Layer.effectContext(Effect.gen(function*() {
292
+ const services = yield* Effect.context<never>()
293
293
  const handler = Effect.isEffect(build) ? yield* build : build
294
294
  const contextMap = new Map<string, unknown>()
295
295
  const rpc = self.requests.get(service)!
296
296
  contextMap.set(rpc.key, {
297
297
  handler,
298
- services
298
+ context: services
299
299
  })
300
- return ServiceMap.makeUnsafe(contextMap)
300
+ return Context.makeUnsafe(contextMap)
301
301
  }))
302
302
  },
303
303
  accessHandler(this: RpcGroup<any>, service: string) {
304
- return Effect.servicesWith((parentServices: ServiceMap.ServiceMap<any>) => {
304
+ return Effect.contextWith((parentContext: Context.Context<any>) => {
305
305
  const rpc = this.requests.get(service)!
306
- const { handler, services } = parentServices.mapUnsafe.get(rpc.key) as Rpc.Handler<any>
306
+ const { handler, context } = parentContext.mapUnsafe.get(rpc.key) as Rpc.Handler<any>
307
307
  return Effect.succeed((payload: Rpc.Payload<any>, options: any) => {
308
308
  options.rpc = rpc
309
309
  const result = handler(payload, options)
310
310
  const effectOrStream = Rpc.isWrapper(result) ? result.value : result
311
311
  return Effect.isEffect(effectOrStream)
312
- ? Effect.provide(effectOrStream, services)
313
- : Stream.provideServices(effectOrStream, services)
312
+ ? Effect.provide(effectOrStream, context)
313
+ : Stream.provideContext(effectOrStream, context)
314
314
  })
315
315
  })
316
316
  },
317
- annotate(this: RpcGroup<any>, service: ServiceMap.Key<any, any>, value: any) {
317
+ annotate(this: RpcGroup<any>, service: Context.Key<any, any>, value: any) {
318
318
  return makeProto({
319
319
  requests: this.requests,
320
- annotations: ServiceMap.add(this.annotations, service, value)
320
+ annotations: Context.add(this.annotations, service, value)
321
321
  })
322
322
  },
323
- annotateRpcs(this: RpcGroup<any>, service: ServiceMap.Key<any, any>, value: any) {
324
- return this.annotateRpcsMerge(ServiceMap.make(service, value))
323
+ annotateRpcs(this: RpcGroup<any>, service: Context.Key<any, any>, value: any) {
324
+ return this.annotateRpcsMerge(Context.make(service, value))
325
325
  },
326
- annotateMerge(this: RpcGroup<any>, context: ServiceMap.ServiceMap<any>) {
326
+ annotateMerge(this: RpcGroup<any>, context: Context.Context<any>) {
327
327
  return makeProto({
328
328
  requests: this.requests,
329
- annotations: ServiceMap.merge(this.annotations, context)
329
+ annotations: Context.merge(this.annotations, context)
330
330
  })
331
331
  },
332
- annotateRpcsMerge(this: RpcGroup<any>, serviceMap: ServiceMap.ServiceMap<any>) {
332
+ annotateRpcsMerge(this: RpcGroup<any>, context: Context.Context<any>) {
333
333
  const requests = new Map<string, any>()
334
334
  for (const [tag, rpc] of this.requests) {
335
- requests.set(tag, rpc.annotateMerge(ServiceMap.merge(serviceMap, rpc.annotations)))
335
+ requests.set(tag, rpc.annotateMerge(Context.merge(context, rpc.annotations)))
336
336
  }
337
337
  return makeProto({
338
338
  requests,
@@ -343,7 +343,7 @@ const RpcGroupProto = {
343
343
 
344
344
  const makeProto = <Rpcs extends Rpc.Any>(options: {
345
345
  readonly requests: ReadonlyMap<string, Rpcs>
346
- readonly annotations: ServiceMap.ServiceMap<never>
346
+ readonly annotations: Context.Context<never>
347
347
  }): RpcGroup<Rpcs> =>
348
348
  Object.assign(function() {}, RpcGroupProto, {
349
349
  requests: options.requests,
@@ -359,5 +359,5 @@ export const make = <const Rpcs extends ReadonlyArray<Rpc.Any>>(
359
359
  ): RpcGroup<Rpcs[number]> =>
360
360
  makeProto({
361
361
  requests: new Map(rpcs.map((rpc) => [rpc._tag, rpc])),
362
- annotations: ServiceMap.empty()
362
+ annotations: Context.empty()
363
363
  })