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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (851) hide show
  1. package/dist/Cache.d.ts +12 -43
  2. package/dist/Cache.d.ts.map +1 -1
  3. package/dist/Cache.js +15 -42
  4. package/dist/Cache.js.map +1 -1
  5. package/dist/Cause.d.ts +21 -21
  6. package/dist/Cause.d.ts.map +1 -1
  7. package/dist/Cause.js +89 -10
  8. package/dist/Cause.js.map +1 -1
  9. package/dist/Channel.d.ts +42 -19
  10. package/dist/Channel.d.ts.map +1 -1
  11. package/dist/Channel.js +86 -46
  12. package/dist/Channel.js.map +1 -1
  13. package/dist/Clock.d.ts +2 -2
  14. package/dist/Clock.d.ts.map +1 -1
  15. package/dist/Clock.js.map +1 -1
  16. package/dist/Config.d.ts +2 -2
  17. package/dist/ConfigProvider.d.ts +5 -5
  18. package/dist/ConfigProvider.d.ts.map +1 -1
  19. package/dist/ConfigProvider.js +5 -5
  20. package/dist/ConfigProvider.js.map +1 -1
  21. package/dist/Console.d.ts +2 -2
  22. package/dist/Console.d.ts.map +1 -1
  23. package/dist/Console.js.map +1 -1
  24. package/dist/Context.d.ts +1150 -0
  25. package/dist/Context.d.ts.map +1 -0
  26. package/dist/{ServiceMap.js → Context.js} +139 -139
  27. package/dist/Context.js.map +1 -0
  28. package/dist/DateTime.d.ts +2 -2
  29. package/dist/DateTime.d.ts.map +1 -1
  30. package/dist/DateTime.js +2 -2
  31. package/dist/DateTime.js.map +1 -1
  32. package/dist/Effect.d.ts +177 -177
  33. package/dist/Effect.d.ts.map +1 -1
  34. package/dist/Effect.js +81 -81
  35. package/dist/Effect.js.map +1 -1
  36. package/dist/ErrorReporter.d.ts +3 -3
  37. package/dist/ErrorReporter.d.ts.map +1 -1
  38. package/dist/ErrorReporter.js +1 -1
  39. package/dist/ErrorReporter.js.map +1 -1
  40. package/dist/ExecutionPlan.d.ts +6 -6
  41. package/dist/ExecutionPlan.d.ts.map +1 -1
  42. package/dist/ExecutionPlan.js +4 -4
  43. package/dist/ExecutionPlan.js.map +1 -1
  44. package/dist/Fiber.d.ts +7 -7
  45. package/dist/Fiber.d.ts.map +1 -1
  46. package/dist/Fiber.js.map +1 -1
  47. package/dist/FiberHandle.d.ts +2 -2
  48. package/dist/FiberHandle.d.ts.map +1 -1
  49. package/dist/FiberHandle.js +4 -4
  50. package/dist/FiberHandle.js.map +1 -1
  51. package/dist/FiberMap.d.ts +2 -2
  52. package/dist/FiberMap.d.ts.map +1 -1
  53. package/dist/FiberMap.js +4 -4
  54. package/dist/FiberMap.js.map +1 -1
  55. package/dist/FiberSet.d.ts +2 -2
  56. package/dist/FiberSet.d.ts.map +1 -1
  57. package/dist/FiberSet.js +4 -4
  58. package/dist/FiberSet.js.map +1 -1
  59. package/dist/FileSystem.d.ts +3 -3
  60. package/dist/FileSystem.d.ts.map +1 -1
  61. package/dist/FileSystem.js +3 -3
  62. package/dist/FileSystem.js.map +1 -1
  63. package/dist/Layer.d.ts +309 -266
  64. package/dist/Layer.d.ts.map +1 -1
  65. package/dist/Layer.js +156 -132
  66. package/dist/Layer.js.map +1 -1
  67. package/dist/LayerMap.d.ts +18 -18
  68. package/dist/LayerMap.d.ts.map +1 -1
  69. package/dist/LayerMap.js +18 -15
  70. package/dist/LayerMap.js.map +1 -1
  71. package/dist/Logger.d.ts +3 -3
  72. package/dist/Logger.d.ts.map +1 -1
  73. package/dist/Logger.js.map +1 -1
  74. package/dist/ManagedRuntime.d.ts +6 -6
  75. package/dist/ManagedRuntime.d.ts.map +1 -1
  76. package/dist/ManagedRuntime.js +18 -21
  77. package/dist/ManagedRuntime.js.map +1 -1
  78. package/dist/Metric.d.ts +19 -19
  79. package/dist/Metric.d.ts.map +1 -1
  80. package/dist/Metric.js +21 -21
  81. package/dist/Metric.js.map +1 -1
  82. package/dist/Path.d.ts +2 -2
  83. package/dist/Path.d.ts.map +1 -1
  84. package/dist/Path.js +2 -2
  85. package/dist/Path.js.map +1 -1
  86. package/dist/Pool.d.ts.map +1 -1
  87. package/dist/Pool.js +4 -4
  88. package/dist/Pool.js.map +1 -1
  89. package/dist/PubSub.d.ts.map +1 -1
  90. package/dist/PubSub.js +3 -3
  91. package/dist/PubSub.js.map +1 -1
  92. package/dist/Random.d.ts +2 -2
  93. package/dist/Random.d.ts.map +1 -1
  94. package/dist/Random.js +0 -23
  95. package/dist/Random.js.map +1 -1
  96. package/dist/RcMap.d.ts +2 -2
  97. package/dist/RcMap.d.ts.map +1 -1
  98. package/dist/RcMap.js +12 -12
  99. package/dist/RcMap.js.map +1 -1
  100. package/dist/Redactable.d.ts +139 -62
  101. package/dist/Redactable.d.ts.map +1 -1
  102. package/dist/Redactable.js +59 -55
  103. package/dist/Redactable.js.map +1 -1
  104. package/dist/References.d.ts +26 -14
  105. package/dist/References.d.ts.map +1 -1
  106. package/dist/References.js +0 -12
  107. package/dist/References.js.map +1 -1
  108. package/dist/Request.d.ts +5 -5
  109. package/dist/Request.d.ts.map +1 -1
  110. package/dist/Request.js.map +1 -1
  111. package/dist/RequestResolver.d.ts.map +1 -1
  112. package/dist/RequestResolver.js +6 -7
  113. package/dist/RequestResolver.js.map +1 -1
  114. package/dist/Resource.d.ts +0 -3
  115. package/dist/Resource.d.ts.map +1 -1
  116. package/dist/Resource.js +3 -3
  117. package/dist/Resource.js.map +1 -1
  118. package/dist/Schedule.d.ts +2 -2
  119. package/dist/Schedule.d.ts.map +1 -1
  120. package/dist/Schedule.js +2 -2
  121. package/dist/Schedule.js.map +1 -1
  122. package/dist/Scheduler.d.ts +4 -4
  123. package/dist/Scheduler.d.ts.map +1 -1
  124. package/dist/Scheduler.js +7 -4
  125. package/dist/Scheduler.js.map +1 -1
  126. package/dist/Schema.d.ts +531 -214
  127. package/dist/Schema.d.ts.map +1 -1
  128. package/dist/Schema.js +304 -103
  129. package/dist/Schema.js.map +1 -1
  130. package/dist/SchemaAST.d.ts.map +1 -1
  131. package/dist/SchemaAST.js +5 -15
  132. package/dist/SchemaAST.js.map +1 -1
  133. package/dist/SchemaGetter.d.ts +49 -5
  134. package/dist/SchemaGetter.d.ts.map +1 -1
  135. package/dist/SchemaGetter.js +64 -5
  136. package/dist/SchemaGetter.js.map +1 -1
  137. package/dist/SchemaTransformation.d.ts +145 -0
  138. package/dist/SchemaTransformation.d.ts.map +1 -1
  139. package/dist/SchemaTransformation.js +146 -0
  140. package/dist/SchemaTransformation.js.map +1 -1
  141. package/dist/Scope.d.ts +2 -2
  142. package/dist/Scope.d.ts.map +1 -1
  143. package/dist/Scope.js.map +1 -1
  144. package/dist/ScopedCache.d.ts.map +1 -1
  145. package/dist/ScopedCache.js +4 -4
  146. package/dist/ScopedCache.js.map +1 -1
  147. package/dist/Sink.d.ts +6 -6
  148. package/dist/Sink.d.ts.map +1 -1
  149. package/dist/Sink.js +1 -1
  150. package/dist/Sink.js.map +1 -1
  151. package/dist/Stdio.d.ts +2 -2
  152. package/dist/Stdio.d.ts.map +1 -1
  153. package/dist/Stdio.js +2 -2
  154. package/dist/Stdio.js.map +1 -1
  155. package/dist/Stream.d.ts +187 -117
  156. package/dist/Stream.d.ts.map +1 -1
  157. package/dist/Stream.js +133 -57
  158. package/dist/Stream.js.map +1 -1
  159. package/dist/Terminal.d.ts +3 -3
  160. package/dist/Terminal.d.ts.map +1 -1
  161. package/dist/Terminal.js +2 -2
  162. package/dist/Terminal.js.map +1 -1
  163. package/dist/Tracer.d.ts +16 -16
  164. package/dist/Tracer.d.ts.map +1 -1
  165. package/dist/Tracer.js +11 -8
  166. package/dist/Tracer.js.map +1 -1
  167. package/dist/Unify.d.ts +8 -2
  168. package/dist/Unify.d.ts.map +1 -1
  169. package/dist/Unify.js.map +1 -1
  170. package/dist/index.d.ts +81 -15
  171. package/dist/index.d.ts.map +1 -1
  172. package/dist/index.js +81 -15
  173. package/dist/index.js.map +1 -1
  174. package/dist/internal/core.js.map +1 -1
  175. package/dist/internal/effect.js +74 -74
  176. package/dist/internal/effect.js.map +1 -1
  177. package/dist/internal/layer.js +3 -3
  178. package/dist/internal/layer.js.map +1 -1
  179. package/dist/internal/random.js +2 -2
  180. package/dist/internal/random.js.map +1 -1
  181. package/dist/internal/rcRef.js +9 -9
  182. package/dist/internal/rcRef.js.map +1 -1
  183. package/dist/internal/references.js +13 -13
  184. package/dist/internal/references.js.map +1 -1
  185. package/dist/internal/request.js +6 -6
  186. package/dist/internal/request.js.map +1 -1
  187. package/dist/internal/schedule.js +1 -1
  188. package/dist/internal/schedule.js.map +1 -1
  189. package/dist/internal/schema/representation.js +11 -1
  190. package/dist/internal/schema/representation.js.map +1 -1
  191. package/dist/internal/schema/schema.d.ts +10 -1
  192. package/dist/internal/schema/schema.d.ts.map +1 -1
  193. package/dist/internal/schema/schema.js +21 -1
  194. package/dist/internal/schema/schema.js.map +1 -1
  195. package/dist/testing/TestSchema.d.ts +3 -3
  196. package/dist/testing/TestSchema.d.ts.map +1 -1
  197. package/dist/testing/TestSchema.js.map +1 -1
  198. package/dist/unstable/ai/AiError.d.ts +19 -19
  199. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  200. package/dist/unstable/ai/AiError.js +2 -1
  201. package/dist/unstable/ai/AiError.js.map +1 -1
  202. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
  203. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  204. package/dist/unstable/ai/AnthropicStructuredOutput.js +5 -2
  205. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  206. package/dist/unstable/ai/Chat.d.ts +4 -4
  207. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  208. package/dist/unstable/ai/Chat.js +3 -3
  209. package/dist/unstable/ai/Chat.js.map +1 -1
  210. package/dist/unstable/ai/EmbeddingModel.d.ts +6 -6
  211. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
  212. package/dist/unstable/ai/EmbeddingModel.js +3 -3
  213. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  214. package/dist/unstable/ai/IdGenerator.d.ts +2 -2
  215. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  216. package/dist/unstable/ai/IdGenerator.js +2 -2
  217. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  218. package/dist/unstable/ai/LanguageModel.d.ts +2 -2
  219. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  220. package/dist/unstable/ai/LanguageModel.js +2 -2
  221. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  222. package/dist/unstable/ai/McpSchema.d.ts +54 -54
  223. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  224. package/dist/unstable/ai/McpSchema.js +15 -8
  225. package/dist/unstable/ai/McpSchema.js.map +1 -1
  226. package/dist/unstable/ai/McpServer.d.ts +22 -22
  227. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  228. package/dist/unstable/ai/McpServer.js +25 -25
  229. package/dist/unstable/ai/McpServer.js.map +1 -1
  230. package/dist/unstable/ai/Model.d.ts +3 -3
  231. package/dist/unstable/ai/Model.d.ts.map +1 -1
  232. package/dist/unstable/ai/Model.js +5 -5
  233. package/dist/unstable/ai/Model.js.map +1 -1
  234. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
  235. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  236. package/dist/unstable/ai/OpenAiStructuredOutput.js +2 -1
  237. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  238. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  239. package/dist/unstable/ai/Prompt.js +6 -9
  240. package/dist/unstable/ai/Prompt.js.map +1 -1
  241. package/dist/unstable/ai/Response.d.ts +1 -1
  242. package/dist/unstable/ai/Response.d.ts.map +1 -1
  243. package/dist/unstable/ai/Response.js +6 -7
  244. package/dist/unstable/ai/Response.js.map +1 -1
  245. package/dist/unstable/ai/ResponseIdTracker.d.ts +2 -2
  246. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
  247. package/dist/unstable/ai/ResponseIdTracker.js +2 -2
  248. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  249. package/dist/unstable/ai/Telemetry.d.ts +35 -2
  250. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  251. package/dist/unstable/ai/Telemetry.js +2 -2
  252. package/dist/unstable/ai/Telemetry.js.map +1 -1
  253. package/dist/unstable/ai/Tokenizer.d.ts +2 -2
  254. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  255. package/dist/unstable/ai/Tokenizer.js +2 -2
  256. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  257. package/dist/unstable/ai/Tool.d.ts +16 -16
  258. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  259. package/dist/unstable/ai/Tool.js +41 -13
  260. package/dist/unstable/ai/Tool.js.map +1 -1
  261. package/dist/unstable/ai/Toolkit.d.ts +3 -3
  262. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  263. package/dist/unstable/ai/Toolkit.js +10 -10
  264. package/dist/unstable/ai/Toolkit.js.map +1 -1
  265. package/dist/unstable/ai/internal/codec-transformer.js +5 -2
  266. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  267. package/dist/unstable/cli/Argument.d.ts +2 -3
  268. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  269. package/dist/unstable/cli/Argument.js.map +1 -1
  270. package/dist/unstable/cli/CliError.d.ts +29 -8
  271. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  272. package/dist/unstable/cli/CliError.js +8 -1
  273. package/dist/unstable/cli/CliError.js.map +1 -1
  274. package/dist/unstable/cli/CliOutput.d.ts +2 -2
  275. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  276. package/dist/unstable/cli/CliOutput.js +2 -2
  277. package/dist/unstable/cli/CliOutput.js.map +1 -1
  278. package/dist/unstable/cli/Command.d.ts +14 -14
  279. package/dist/unstable/cli/Command.d.ts.map +1 -1
  280. package/dist/unstable/cli/Command.js +11 -10
  281. package/dist/unstable/cli/Command.js.map +1 -1
  282. package/dist/unstable/cli/Flag.d.ts +2 -3
  283. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  284. package/dist/unstable/cli/Flag.js.map +1 -1
  285. package/dist/unstable/cli/GlobalFlag.d.ts +2 -2
  286. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  287. package/dist/unstable/cli/GlobalFlag.js +2 -2
  288. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  289. package/dist/unstable/cli/HelpDoc.d.ts +8 -8
  290. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  291. package/dist/unstable/cli/Param.d.ts +30 -2
  292. package/dist/unstable/cli/Param.d.ts.map +1 -1
  293. package/dist/unstable/cli/Param.js +17 -7
  294. package/dist/unstable/cli/Param.js.map +1 -1
  295. package/dist/unstable/cli/Prompt.js +8 -2
  296. package/dist/unstable/cli/Prompt.js.map +1 -1
  297. package/dist/unstable/cli/internal/command.d.ts +5 -5
  298. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  299. package/dist/unstable/cli/internal/command.js +3 -3
  300. package/dist/unstable/cli/internal/command.js.map +1 -1
  301. package/dist/unstable/cli/internal/parser.js +94 -15
  302. package/dist/unstable/cli/internal/parser.js.map +1 -1
  303. package/dist/unstable/cluster/ClusterError.d.ts +7 -7
  304. package/dist/unstable/cluster/ClusterSchema.d.ts +12 -9
  305. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  306. package/dist/unstable/cluster/ClusterSchema.js +9 -9
  307. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  308. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +1 -0
  309. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  310. package/dist/unstable/cluster/ClusterWorkflowEngine.js +68 -40
  311. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  312. package/dist/unstable/cluster/Entity.d.ts +10 -10
  313. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  314. package/dist/unstable/cluster/Entity.js +25 -20
  315. package/dist/unstable/cluster/Entity.js.map +1 -1
  316. package/dist/unstable/cluster/EntityAddress.d.ts +2 -2
  317. package/dist/unstable/cluster/EntityProxy.js +3 -3
  318. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  319. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  320. package/dist/unstable/cluster/EntityProxyServer.js +4 -4
  321. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  322. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  323. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  324. package/dist/unstable/cluster/EntityResource.js +2 -2
  325. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  326. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  327. package/dist/unstable/cluster/HttpRunner.js +2 -2
  328. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  329. package/dist/unstable/cluster/K8sHttpClient.d.ts +4 -4
  330. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  331. package/dist/unstable/cluster/K8sHttpClient.js +2 -2
  332. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  333. package/dist/unstable/cluster/Message.d.ts +7 -4
  334. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  335. package/dist/unstable/cluster/Message.js +5 -5
  336. package/dist/unstable/cluster/Message.js.map +1 -1
  337. package/dist/unstable/cluster/MessageStorage.d.ts +14 -14
  338. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  339. package/dist/unstable/cluster/MessageStorage.js +8 -8
  340. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  341. package/dist/unstable/cluster/Reply.d.ts +2 -2
  342. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  343. package/dist/unstable/cluster/Reply.js +5 -5
  344. package/dist/unstable/cluster/Reply.js.map +1 -1
  345. package/dist/unstable/cluster/Runner.d.ts +1 -1
  346. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  347. package/dist/unstable/cluster/RunnerHealth.d.ts +2 -2
  348. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  349. package/dist/unstable/cluster/RunnerHealth.js +2 -2
  350. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  351. package/dist/unstable/cluster/RunnerServer.js +1 -1
  352. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  353. package/dist/unstable/cluster/RunnerStorage.d.ts +12 -12
  354. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  355. package/dist/unstable/cluster/RunnerStorage.js +3 -3
  356. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  357. package/dist/unstable/cluster/Runners.d.ts +3 -3
  358. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  359. package/dist/unstable/cluster/Runners.js +7 -7
  360. package/dist/unstable/cluster/Runners.js.map +1 -1
  361. package/dist/unstable/cluster/ShardId.d.ts +35 -49
  362. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  363. package/dist/unstable/cluster/ShardId.js +65 -67
  364. package/dist/unstable/cluster/ShardId.js.map +1 -1
  365. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  366. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  367. package/dist/unstable/cluster/Sharding.js +21 -21
  368. package/dist/unstable/cluster/Sharding.js.map +1 -1
  369. package/dist/unstable/cluster/ShardingConfig.d.ts +2 -2
  370. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  371. package/dist/unstable/cluster/ShardingConfig.js +5 -5
  372. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  373. package/dist/unstable/cluster/SingletonAddress.d.ts +2 -2
  374. package/dist/unstable/cluster/Snowflake.d.ts +2 -2
  375. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  376. package/dist/unstable/cluster/Snowflake.js +2 -2
  377. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  378. package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
  379. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  380. package/dist/unstable/cluster/internal/entityManager.js +15 -14
  381. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  382. package/dist/unstable/cluster/internal/entityReaper.js +2 -2
  383. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  384. package/dist/unstable/cluster/internal/resourceMap.js +3 -3
  385. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  386. package/dist/unstable/devtools/DevToolsClient.d.ts +2 -2
  387. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  388. package/dist/unstable/devtools/DevToolsClient.js +5 -5
  389. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  390. package/dist/unstable/eventlog/EventJournal.d.ts +4 -4
  391. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  392. package/dist/unstable/eventlog/EventJournal.js +2 -2
  393. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  394. package/dist/unstable/eventlog/EventLog.d.ts +5 -5
  395. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  396. package/dist/unstable/eventlog/EventLog.js +18 -18
  397. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  398. package/dist/unstable/eventlog/EventLogEncryption.d.ts +2 -2
  399. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  400. package/dist/unstable/eventlog/EventLogEncryption.js +2 -2
  401. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  402. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -12
  403. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  404. package/dist/unstable/eventlog/EventLogRemote.js +2 -2
  405. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  406. package/dist/unstable/eventlog/EventLogServer.d.ts +3 -3
  407. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  408. package/dist/unstable/eventlog/EventLogServer.js +2 -2
  409. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  410. package/dist/unstable/http/Etag.d.ts +2 -2
  411. package/dist/unstable/http/Etag.d.ts.map +1 -1
  412. package/dist/unstable/http/Etag.js +2 -2
  413. package/dist/unstable/http/Etag.js.map +1 -1
  414. package/dist/unstable/http/FetchHttpClient.d.ts +6 -3
  415. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  416. package/dist/unstable/http/FetchHttpClient.js +5 -5
  417. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  418. package/dist/unstable/http/Headers.d.ts +5 -2
  419. package/dist/unstable/http/Headers.d.ts.map +1 -1
  420. package/dist/unstable/http/Headers.js +3 -3
  421. package/dist/unstable/http/Headers.js.map +1 -1
  422. package/dist/unstable/http/HttpClient.d.ts +8 -6
  423. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  424. package/dist/unstable/http/HttpClient.js +6 -6
  425. package/dist/unstable/http/HttpClient.js.map +1 -1
  426. package/dist/unstable/http/HttpClientError.d.ts +1 -1
  427. package/dist/unstable/http/HttpClientRequest.d.ts +2 -2
  428. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  429. package/dist/unstable/http/HttpClientRequest.js +4 -4
  430. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  431. package/dist/unstable/http/HttpEffect.d.ts +6 -6
  432. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  433. package/dist/unstable/http/HttpEffect.js +24 -24
  434. package/dist/unstable/http/HttpEffect.js.map +1 -1
  435. package/dist/unstable/http/HttpIncomingMessage.d.ts +2 -2
  436. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  437. package/dist/unstable/http/HttpIncomingMessage.js +2 -2
  438. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  439. package/dist/unstable/http/HttpMiddleware.d.ts +3 -3
  440. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  441. package/dist/unstable/http/HttpMiddleware.js +26 -14
  442. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  443. package/dist/unstable/http/HttpPlatform.d.ts +2 -2
  444. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  445. package/dist/unstable/http/HttpPlatform.js +2 -2
  446. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  447. package/dist/unstable/http/HttpRouter.d.ts +7 -7
  448. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  449. package/dist/unstable/http/HttpRouter.js +29 -29
  450. package/dist/unstable/http/HttpRouter.js.map +1 -1
  451. package/dist/unstable/http/HttpServer.d.ts +2 -2
  452. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  453. package/dist/unstable/http/HttpServer.js +2 -2
  454. package/dist/unstable/http/HttpServer.js.map +1 -1
  455. package/dist/unstable/http/HttpServerError.d.ts +3 -3
  456. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  457. package/dist/unstable/http/HttpServerError.js +3 -3
  458. package/dist/unstable/http/HttpServerError.js.map +1 -1
  459. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  460. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  461. package/dist/unstable/http/HttpServerRequest.js +6 -6
  462. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  463. package/dist/unstable/http/HttpServerResponse.d.ts +2 -2
  464. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  465. package/dist/unstable/http/HttpServerResponse.js +6 -6
  466. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  467. package/dist/unstable/http/Multipart.d.ts +6 -6
  468. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  469. package/dist/unstable/http/Multipart.js +7 -7
  470. package/dist/unstable/http/Multipart.js.map +1 -1
  471. package/dist/unstable/httpapi/HttpApi.d.ts +9 -9
  472. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  473. package/dist/unstable/httpapi/HttpApi.js +8 -8
  474. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  475. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +0 -3
  476. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  477. package/dist/unstable/httpapi/HttpApiBuilder.js +20 -20
  478. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  479. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  480. package/dist/unstable/httpapi/HttpApiClient.js +1 -1
  481. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  482. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +7 -7
  483. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  484. package/dist/unstable/httpapi/HttpApiEndpoint.js +4 -4
  485. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  486. package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
  487. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  488. package/dist/unstable/httpapi/HttpApiGroup.d.ts +8 -8
  489. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  490. package/dist/unstable/httpapi/HttpApiGroup.js +4 -4
  491. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  492. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +6 -6
  493. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  494. package/dist/unstable/httpapi/HttpApiMiddleware.js +5 -5
  495. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  496. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +9 -6
  497. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  498. package/dist/unstable/httpapi/HttpApiSecurity.js +6 -6
  499. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  500. package/dist/unstable/httpapi/OpenApi.d.ts +15 -15
  501. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  502. package/dist/unstable/httpapi/OpenApi.js +23 -23
  503. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  504. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  505. package/dist/unstable/observability/OtlpExporter.js +5 -5
  506. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  507. package/dist/unstable/observability/OtlpMetrics.js +1 -1
  508. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  509. package/dist/unstable/observability/OtlpSerialization.d.ts +2 -2
  510. package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
  511. package/dist/unstable/observability/OtlpSerialization.js +2 -2
  512. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  513. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  514. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  515. package/dist/unstable/observability/PrometheusMetrics.d.ts +3 -3
  516. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  517. package/dist/unstable/observability/PrometheusMetrics.js +4 -33
  518. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  519. package/dist/unstable/persistence/KeyValueStore.d.ts +23 -2
  520. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  521. package/dist/unstable/persistence/KeyValueStore.js +144 -2
  522. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  523. package/dist/unstable/persistence/PersistedCache.d.ts +1 -2
  524. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  525. package/dist/unstable/persistence/PersistedCache.js +10 -11
  526. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  527. package/dist/unstable/persistence/PersistedQueue.d.ts +4 -4
  528. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  529. package/dist/unstable/persistence/PersistedQueue.js +3 -3
  530. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  531. package/dist/unstable/persistence/Persistence.d.ts +4 -4
  532. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  533. package/dist/unstable/persistence/Persistence.js +3 -3
  534. package/dist/unstable/persistence/Persistence.js.map +1 -1
  535. package/dist/unstable/persistence/RateLimiter.d.ts +6 -6
  536. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  537. package/dist/unstable/persistence/RateLimiter.js +3 -3
  538. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  539. package/dist/unstable/persistence/Redis.d.ts +3 -3
  540. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  541. package/dist/unstable/persistence/Redis.js +2 -2
  542. package/dist/unstable/persistence/Redis.js.map +1 -1
  543. package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -2
  544. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  545. package/dist/unstable/process/ChildProcessSpawner.js +2 -2
  546. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  547. package/dist/unstable/reactivity/Atom.d.ts +36 -36
  548. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  549. package/dist/unstable/reactivity/Atom.js +9 -9
  550. package/dist/unstable/reactivity/Atom.js.map +1 -1
  551. package/dist/unstable/reactivity/AtomHttpApi.d.ts +3 -3
  552. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  553. package/dist/unstable/reactivity/AtomHttpApi.js +2 -2
  554. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  555. package/dist/unstable/reactivity/AtomRegistry.d.ts +2 -2
  556. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  557. package/dist/unstable/reactivity/AtomRegistry.js +3 -3
  558. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  559. package/dist/unstable/reactivity/AtomRpc.d.ts +3 -3
  560. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  561. package/dist/unstable/reactivity/AtomRpc.js +2 -2
  562. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  563. package/dist/unstable/reactivity/Reactivity.d.ts +2 -2
  564. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  565. package/dist/unstable/reactivity/Reactivity.js +6 -6
  566. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  567. package/dist/unstable/rpc/Rpc.d.ts +11 -11
  568. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  569. package/dist/unstable/rpc/Rpc.js +4 -4
  570. package/dist/unstable/rpc/Rpc.js.map +1 -1
  571. package/dist/unstable/rpc/RpcClient.d.ts +18 -8
  572. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  573. package/dist/unstable/rpc/RpcClient.js +27 -18
  574. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  575. package/dist/unstable/rpc/RpcClientError.d.ts +2 -2
  576. package/dist/unstable/rpc/RpcGroup.d.ts +7 -7
  577. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  578. package/dist/unstable/rpc/RpcGroup.js +20 -20
  579. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  580. package/dist/unstable/rpc/RpcMiddleware.d.ts +6 -6
  581. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  582. package/dist/unstable/rpc/RpcMiddleware.js +5 -5
  583. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  584. package/dist/unstable/rpc/RpcSchema.d.ts +3 -3
  585. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  586. package/dist/unstable/rpc/RpcSchema.js +3 -3
  587. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  588. package/dist/unstable/rpc/RpcSerialization.d.ts +2 -2
  589. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  590. package/dist/unstable/rpc/RpcSerialization.js +7 -7
  591. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  592. package/dist/unstable/rpc/RpcServer.d.ts +2 -2
  593. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  594. package/dist/unstable/rpc/RpcServer.js +18 -18
  595. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  596. package/dist/unstable/rpc/RpcWorker.d.ts +2 -2
  597. package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
  598. package/dist/unstable/rpc/RpcWorker.js +4 -4
  599. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  600. package/dist/unstable/rpc/Utils.d.ts +0 -3
  601. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  602. package/dist/unstable/rpc/Utils.js +2 -5
  603. package/dist/unstable/rpc/Utils.js.map +1 -1
  604. package/dist/unstable/socket/Socket.d.ts +10 -10
  605. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  606. package/dist/unstable/socket/Socket.js +9 -9
  607. package/dist/unstable/socket/Socket.js.map +1 -1
  608. package/dist/unstable/socket/SocketServer.d.ts +5 -2
  609. package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
  610. package/dist/unstable/socket/SocketServer.js +2 -2
  611. package/dist/unstable/socket/SocketServer.js.map +1 -1
  612. package/dist/unstable/sql/SqlClient.d.ts +5 -5
  613. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  614. package/dist/unstable/sql/SqlClient.js +7 -7
  615. package/dist/unstable/sql/SqlClient.js.map +1 -1
  616. package/dist/unstable/sql/SqlConnection.d.ts +2 -2
  617. package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
  618. package/dist/unstable/sql/SqlConnection.js +5 -2
  619. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  620. package/dist/unstable/sql/SqlError.d.ts +12 -12
  621. package/dist/unstable/sql/SqlModel.d.ts +8 -9
  622. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  623. package/dist/unstable/sql/SqlModel.js +9 -35
  624. package/dist/unstable/sql/SqlModel.js.map +1 -1
  625. package/dist/unstable/sql/SqlResolver.js +11 -11
  626. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  627. package/dist/unstable/sql/Statement.d.ts +2 -2
  628. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  629. package/dist/unstable/sql/Statement.js +2 -2
  630. package/dist/unstable/sql/Statement.js.map +1 -1
  631. package/dist/unstable/workers/Transferable.d.ts +2 -2
  632. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  633. package/dist/unstable/workers/Transferable.js +6 -6
  634. package/dist/unstable/workers/Transferable.js.map +1 -1
  635. package/dist/unstable/workers/Worker.d.ts +3 -3
  636. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  637. package/dist/unstable/workers/Worker.js +6 -3
  638. package/dist/unstable/workers/Worker.js.map +1 -1
  639. package/dist/unstable/workers/WorkerError.d.ts +5 -5
  640. package/dist/unstable/workers/WorkerRunner.d.ts +2 -2
  641. package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
  642. package/dist/unstable/workers/WorkerRunner.js +5 -2
  643. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  644. package/dist/unstable/workflow/Activity.d.ts +7 -7
  645. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  646. package/dist/unstable/workflow/Activity.js +7 -7
  647. package/dist/unstable/workflow/Activity.js.map +1 -1
  648. package/dist/unstable/workflow/DurableClock.d.ts +0 -3
  649. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  650. package/dist/unstable/workflow/DurableClock.js +3 -3
  651. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  652. package/dist/unstable/workflow/DurableDeferred.d.ts +1 -1
  653. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  654. package/dist/unstable/workflow/DurableDeferred.js +7 -7
  655. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  656. package/dist/unstable/workflow/Workflow.d.ts +9 -9
  657. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  658. package/dist/unstable/workflow/Workflow.js +18 -18
  659. package/dist/unstable/workflow/Workflow.js.map +1 -1
  660. package/dist/unstable/workflow/WorkflowEngine.d.ts +9 -3
  661. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  662. package/dist/unstable/workflow/WorkflowEngine.js +14 -5
  663. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  664. package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
  665. package/dist/unstable/workflow/WorkflowProxyServer.js +4 -4
  666. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  667. package/package.json +1 -1
  668. package/src/Cache.ts +18 -46
  669. package/src/Cause.ts +21 -21
  670. package/src/Channel.ts +120 -79
  671. package/src/Clock.ts +2 -2
  672. package/src/Config.ts +2 -2
  673. package/src/ConfigProvider.ts +5 -5
  674. package/src/Console.ts +2 -2
  675. package/src/{ServiceMap.ts → Context.ts} +337 -340
  676. package/src/DateTime.ts +2 -2
  677. package/src/Effect.ts +182 -184
  678. package/src/ErrorReporter.ts +3 -3
  679. package/src/ExecutionPlan.ts +8 -9
  680. package/src/Fiber.ts +7 -7
  681. package/src/FiberHandle.ts +5 -5
  682. package/src/FiberMap.ts +5 -5
  683. package/src/FiberSet.ts +5 -5
  684. package/src/FileSystem.ts +3 -3
  685. package/src/Layer.ts +358 -305
  686. package/src/LayerMap.ts +27 -26
  687. package/src/Logger.ts +3 -3
  688. package/src/ManagedRuntime.ts +32 -32
  689. package/src/Metric.ts +58 -58
  690. package/src/Path.ts +2 -2
  691. package/src/Pool.ts +5 -5
  692. package/src/PubSub.ts +3 -3
  693. package/src/Random.ts +2 -2
  694. package/src/RcMap.ts +14 -14
  695. package/src/Redactable.ts +146 -72
  696. package/src/References.ts +14 -14
  697. package/src/Request.ts +5 -5
  698. package/src/RequestResolver.ts +6 -7
  699. package/src/Resource.ts +4 -4
  700. package/src/Schedule.ts +2 -2
  701. package/src/Scheduler.ts +4 -4
  702. package/src/Schema.ts +837 -397
  703. package/src/SchemaAST.ts +5 -14
  704. package/src/SchemaGetter.ts +69 -11
  705. package/src/SchemaTransformation.ts +166 -0
  706. package/src/Scope.ts +2 -2
  707. package/src/ScopedCache.ts +5 -5
  708. package/src/Sink.ts +9 -9
  709. package/src/Stdio.ts +2 -2
  710. package/src/Stream.ts +234 -158
  711. package/src/Terminal.ts +3 -3
  712. package/src/Tracer.ts +17 -17
  713. package/src/Unify.ts +26 -2
  714. package/src/index.ts +82 -16
  715. package/src/internal/core.ts +7 -7
  716. package/src/internal/effect.ts +106 -106
  717. package/src/internal/layer.ts +7 -7
  718. package/src/internal/random.ts +2 -2
  719. package/src/internal/rcRef.ts +10 -10
  720. package/src/internal/references.ts +13 -13
  721. package/src/internal/request.ts +8 -8
  722. package/src/internal/schedule.ts +3 -1
  723. package/src/internal/schema/representation.ts +8 -1
  724. package/src/internal/schema/schema.ts +24 -1
  725. package/src/testing/TestSchema.ts +3 -3
  726. package/src/unstable/ai/AiError.ts +3 -2
  727. package/src/unstable/ai/AnthropicStructuredOutput.ts +3 -3
  728. package/src/unstable/ai/Chat.ts +3 -3
  729. package/src/unstable/ai/EmbeddingModel.ts +3 -3
  730. package/src/unstable/ai/IdGenerator.ts +2 -2
  731. package/src/unstable/ai/LanguageModel.ts +2 -2
  732. package/src/unstable/ai/McpSchema.ts +11 -9
  733. package/src/unstable/ai/McpServer.ts +44 -44
  734. package/src/unstable/ai/Model.ts +8 -8
  735. package/src/unstable/ai/OpenAiStructuredOutput.ts +2 -2
  736. package/src/unstable/ai/Prompt.ts +6 -12
  737. package/src/unstable/ai/Response.ts +6 -8
  738. package/src/unstable/ai/ResponseIdTracker.ts +2 -4
  739. package/src/unstable/ai/Telemetry.ts +2 -2
  740. package/src/unstable/ai/Tokenizer.ts +2 -2
  741. package/src/unstable/ai/Tool.ts +25 -25
  742. package/src/unstable/ai/Toolkit.ts +12 -12
  743. package/src/unstable/ai/internal/codec-transformer.ts +3 -2
  744. package/src/unstable/cli/Argument.ts +3 -4
  745. package/src/unstable/cli/CliError.ts +22 -9
  746. package/src/unstable/cli/CliOutput.ts +2 -2
  747. package/src/unstable/cli/Command.ts +36 -30
  748. package/src/unstable/cli/Flag.ts +3 -4
  749. package/src/unstable/cli/GlobalFlag.ts +3 -3
  750. package/src/unstable/cli/HelpDoc.ts +8 -8
  751. package/src/unstable/cli/Param.ts +39 -16
  752. package/src/unstable/cli/Prompt.ts +13 -6
  753. package/src/unstable/cli/internal/command.ts +7 -7
  754. package/src/unstable/cli/internal/parser.ts +130 -21
  755. package/src/unstable/cluster/ClusterSchema.ts +12 -12
  756. package/src/unstable/cluster/ClusterWorkflowEngine.ts +91 -53
  757. package/src/unstable/cluster/Entity.ts +43 -32
  758. package/src/unstable/cluster/EntityProxy.ts +3 -3
  759. package/src/unstable/cluster/EntityProxyServer.ts +4 -4
  760. package/src/unstable/cluster/EntityResource.ts +2 -2
  761. package/src/unstable/cluster/HttpRunner.ts +2 -2
  762. package/src/unstable/cluster/K8sHttpClient.ts +2 -2
  763. package/src/unstable/cluster/Message.ts +8 -8
  764. package/src/unstable/cluster/MessageStorage.ts +11 -11
  765. package/src/unstable/cluster/Reply.ts +7 -7
  766. package/src/unstable/cluster/RunnerHealth.ts +2 -2
  767. package/src/unstable/cluster/RunnerServer.ts +1 -1
  768. package/src/unstable/cluster/RunnerStorage.ts +9 -9
  769. package/src/unstable/cluster/Runners.ts +7 -7
  770. package/src/unstable/cluster/ShardId.ts +84 -74
  771. package/src/unstable/cluster/Sharding.ts +26 -26
  772. package/src/unstable/cluster/ShardingConfig.ts +5 -5
  773. package/src/unstable/cluster/Snowflake.ts +2 -2
  774. package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
  775. package/src/unstable/cluster/internal/entityManager.ts +27 -23
  776. package/src/unstable/cluster/internal/entityReaper.ts +2 -2
  777. package/src/unstable/cluster/internal/resourceMap.ts +3 -3
  778. package/src/unstable/devtools/DevToolsClient.ts +5 -5
  779. package/src/unstable/eventlog/EventJournal.ts +2 -2
  780. package/src/unstable/eventlog/EventLog.ts +21 -21
  781. package/src/unstable/eventlog/EventLogEncryption.ts +2 -2
  782. package/src/unstable/eventlog/EventLogRemote.ts +2 -2
  783. package/src/unstable/eventlog/EventLogServer.ts +2 -2
  784. package/src/unstable/http/Etag.ts +2 -2
  785. package/src/unstable/http/FetchHttpClient.ts +5 -5
  786. package/src/unstable/http/Headers.ts +4 -4
  787. package/src/unstable/http/HttpClient.ts +9 -8
  788. package/src/unstable/http/HttpClientRequest.ts +5 -5
  789. package/src/unstable/http/HttpEffect.ts +35 -35
  790. package/src/unstable/http/HttpIncomingMessage.ts +2 -2
  791. package/src/unstable/http/HttpMiddleware.ts +28 -14
  792. package/src/unstable/http/HttpPlatform.ts +2 -2
  793. package/src/unstable/http/HttpRouter.ts +37 -37
  794. package/src/unstable/http/HttpServer.ts +2 -2
  795. package/src/unstable/http/HttpServerError.ts +4 -4
  796. package/src/unstable/http/HttpServerRequest.ts +7 -7
  797. package/src/unstable/http/HttpServerResponse.ts +8 -8
  798. package/src/unstable/http/Multipart.ts +8 -8
  799. package/src/unstable/httpapi/HttpApi.ts +18 -18
  800. package/src/unstable/httpapi/HttpApiBuilder.ts +20 -20
  801. package/src/unstable/httpapi/HttpApiClient.ts +4 -4
  802. package/src/unstable/httpapi/HttpApiEndpoint.ts +14 -14
  803. package/src/unstable/httpapi/HttpApiGroup.ts +16 -16
  804. package/src/unstable/httpapi/HttpApiMiddleware.ts +14 -14
  805. package/src/unstable/httpapi/HttpApiSecurity.ts +13 -13
  806. package/src/unstable/httpapi/OpenApi.ts +29 -31
  807. package/src/unstable/observability/OtlpExporter.ts +5 -5
  808. package/src/unstable/observability/OtlpMetrics.ts +1 -1
  809. package/src/unstable/observability/OtlpSerialization.ts +2 -2
  810. package/src/unstable/observability/OtlpTracer.ts +2 -2
  811. package/src/unstable/observability/PrometheusMetrics.ts +5 -5
  812. package/src/unstable/persistence/KeyValueStore.ts +226 -3
  813. package/src/unstable/persistence/PersistedCache.ts +20 -17
  814. package/src/unstable/persistence/PersistedQueue.ts +3 -3
  815. package/src/unstable/persistence/Persistence.ts +4 -4
  816. package/src/unstable/persistence/RateLimiter.ts +3 -3
  817. package/src/unstable/persistence/Redis.ts +2 -2
  818. package/src/unstable/process/ChildProcessSpawner.ts +46 -2
  819. package/src/unstable/reactivity/Atom.ts +79 -79
  820. package/src/unstable/reactivity/AtomHttpApi.ts +4 -4
  821. package/src/unstable/reactivity/AtomRegistry.ts +4 -4
  822. package/src/unstable/reactivity/AtomRpc.ts +4 -4
  823. package/src/unstable/reactivity/Reactivity.ts +6 -6
  824. package/src/unstable/rpc/Rpc.ts +17 -17
  825. package/src/unstable/rpc/RpcClient.ts +44 -30
  826. package/src/unstable/rpc/RpcGroup.ts +30 -30
  827. package/src/unstable/rpc/RpcMiddleware.ts +14 -14
  828. package/src/unstable/rpc/RpcSchema.ts +4 -4
  829. package/src/unstable/rpc/RpcSerialization.ts +7 -7
  830. package/src/unstable/rpc/RpcServer.ts +19 -19
  831. package/src/unstable/rpc/RpcWorker.ts +5 -5
  832. package/src/unstable/rpc/Utils.ts +4 -4
  833. package/src/unstable/socket/Socket.ts +9 -9
  834. package/src/unstable/socket/SocketServer.ts +2 -2
  835. package/src/unstable/sql/SqlClient.ts +11 -11
  836. package/src/unstable/sql/SqlConnection.ts +2 -2
  837. package/src/unstable/sql/SqlModel.ts +54 -82
  838. package/src/unstable/sql/SqlResolver.ts +11 -11
  839. package/src/unstable/sql/Statement.ts +2 -2
  840. package/src/unstable/workers/Transferable.ts +6 -6
  841. package/src/unstable/workers/Worker.ts +4 -4
  842. package/src/unstable/workers/WorkerRunner.ts +2 -2
  843. package/src/unstable/workflow/Activity.ts +14 -14
  844. package/src/unstable/workflow/DurableClock.ts +3 -3
  845. package/src/unstable/workflow/DurableDeferred.ts +8 -8
  846. package/src/unstable/workflow/Workflow.ts +23 -23
  847. package/src/unstable/workflow/WorkflowEngine.ts +28 -6
  848. package/src/unstable/workflow/WorkflowProxyServer.ts +4 -4
  849. package/dist/ServiceMap.d.ts +0 -1150
  850. package/dist/ServiceMap.d.ts.map +0 -1
  851. package/dist/ServiceMap.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @since 4.0.0
3
3
  */
4
+ import * as Context from "../../Context.ts"
4
5
  import * as Data from "../../Data.ts"
5
6
  import * as Effect from "../../Effect.ts"
6
7
  import * as Encoding from "../../Encoding.ts"
@@ -13,8 +14,9 @@ import type { PlatformError } from "../../PlatformError.ts"
13
14
  import * as Predicate from "../../Predicate.ts"
14
15
  import * as Result from "../../Result.ts"
15
16
  import * as Schema from "../../Schema.ts"
16
- import * as ServiceMap from "../../ServiceMap.ts"
17
17
  import * as UndefinedOr from "../../UndefinedOr.ts"
18
+ import * as SqlClient from "../sql/SqlClient.ts"
19
+ import type { SqlError } from "../sql/SqlError.ts"
18
20
 
19
21
  const TypeId = "~effect/persistence/KeyValueStore" as const
20
22
 
@@ -170,10 +172,10 @@ export class KeyValueStoreError extends Data.TaggedError("KeyValueStoreError")<{
170
172
  * @since 4.0.0
171
173
  * @category tags
172
174
  */
173
- export const KeyValueStore: ServiceMap.Service<
175
+ export const KeyValueStore: Context.Service<
174
176
  KeyValueStore,
175
177
  KeyValueStore
176
- > = ServiceMap.Service("effect/persistence/KeyValueStore")
178
+ > = Context.Service("effect/persistence/KeyValueStore")
177
179
 
178
180
  /**
179
181
  * @since 4.0.0
@@ -391,6 +393,227 @@ export const layerFileSystem = (
391
393
  })
392
394
  }))
393
395
 
396
+ /**
397
+ * @since 4.0.0
398
+ * @category layers
399
+ */
400
+ export interface LayerSqlOptions {
401
+ /**
402
+ * The SQL table name used to store values.
403
+ *
404
+ * @default "effect_key_value_store"
405
+ */
406
+ readonly table?: string
407
+ }
408
+
409
+ /**
410
+ * @since 4.0.0
411
+ * @category layers
412
+ */
413
+ export const layerSql = (
414
+ options: LayerSqlOptions = {}
415
+ ): Layer.Layer<KeyValueStore, never, SqlClient.SqlClient> =>
416
+ Layer.effect(KeyValueStore)(
417
+ Effect.gen(function*() {
418
+ const sql = (yield* SqlClient.SqlClient).withoutTransforms()
419
+ const table = sql(options.table ?? "effect_key_value_store")
420
+
421
+ yield* sql.onDialectOrElse({
422
+ mysql: () =>
423
+ sql`
424
+ CREATE TABLE IF NOT EXISTS ${table} (
425
+ id VARCHAR(191) PRIMARY KEY,
426
+ value BLOB NOT NULL,
427
+ value_type SMALLINT NOT NULL
428
+ )
429
+ `,
430
+ pg: () =>
431
+ sql`
432
+ CREATE TABLE IF NOT EXISTS ${table} (
433
+ id TEXT PRIMARY KEY,
434
+ value BYTEA NOT NULL,
435
+ value_type SMALLINT NOT NULL
436
+ )
437
+ `,
438
+ mssql: () =>
439
+ sql`
440
+ IF NOT EXISTS (SELECT * FROM sysobjects WHERE name=${table} AND xtype='U')
441
+ CREATE TABLE ${table} (
442
+ id NVARCHAR(450) PRIMARY KEY,
443
+ value VARBINARY(MAX) NOT NULL,
444
+ value_type SMALLINT NOT NULL
445
+ )
446
+ `,
447
+ // sqlite
448
+ orElse: () =>
449
+ sql`
450
+ CREATE TABLE IF NOT EXISTS ${table} (
451
+ id TEXT PRIMARY KEY,
452
+ value BLOB NOT NULL,
453
+ value_type INTEGER NOT NULL
454
+ )
455
+ `
456
+ }).pipe(Effect.orDie)
457
+
458
+ type UpsertFn = (entry: {
459
+ id: string
460
+ value: Uint8Array
461
+ value_type: number
462
+ }) => Effect.Effect<unknown, SqlError>
463
+
464
+ const upsert = sql.onDialectOrElse({
465
+ pg: (): UpsertFn => (entry) =>
466
+ sql`
467
+ INSERT INTO ${table} (id, value, value_type) VALUES (${entry.id}, ${entry.value}, ${entry.value_type})
468
+ ON CONFLICT (id) DO UPDATE SET value=EXCLUDED.value, value_type=EXCLUDED.value_type
469
+ `.unprepared,
470
+ mysql: (): UpsertFn => (entry) =>
471
+ sql`
472
+ INSERT INTO ${table} (id, value, value_type) VALUES (${entry.id}, ${entry.value}, ${entry.value_type})
473
+ ON DUPLICATE KEY UPDATE value=VALUES(value), value_type=VALUES(value_type)
474
+ `,
475
+ mssql: (): UpsertFn => (entry) =>
476
+ sql`
477
+ MERGE ${table} AS target
478
+ USING (SELECT ${entry.id} AS id, ${entry.value} AS value, ${entry.value_type} AS value_type) AS source
479
+ ON target.id = source.id
480
+ WHEN MATCHED THEN UPDATE SET value = source.value, value_type = source.value_type
481
+ WHEN NOT MATCHED THEN INSERT (id, value, value_type)
482
+ VALUES (source.id, source.value, source.value_type);
483
+ `,
484
+ // sqlite
485
+ orElse: (): UpsertFn => (entry) =>
486
+ sql`
487
+ INSERT INTO ${table} (id, value, value_type) VALUES (${entry.id}, ${entry.value}, ${entry.value_type})
488
+ ON CONFLICT(id) DO UPDATE SET value=excluded.value, value_type=excluded.value_type
489
+ `.unprepared
490
+ })
491
+
492
+ const encoder = new TextEncoder()
493
+ const decoder = new TextDecoder()
494
+ const ValueTypeString = 0
495
+ const ValueTypeUint8Array = 1
496
+
497
+ type Row = {
498
+ value: Uint8Array
499
+ value_type: number
500
+ }
501
+
502
+ return make({
503
+ get: (key: string) =>
504
+ sql<Row>`SELECT value, value_type FROM ${table} WHERE id = ${key}`.pipe(
505
+ Effect.mapError((cause) =>
506
+ new KeyValueStoreError({
507
+ method: "get",
508
+ key,
509
+ message: `Unable to get item with key ${key}`,
510
+ cause
511
+ })
512
+ ),
513
+ Effect.flatMap((rows) => {
514
+ if (rows.length === 0) {
515
+ return Effect.undefined
516
+ }
517
+ const row = rows[0]
518
+ switch (row.value_type) {
519
+ case ValueTypeString:
520
+ return Effect.succeed(decoder.decode(row.value))
521
+ case ValueTypeUint8Array:
522
+ return Effect.succeed(Encoding.encodeBase64(row.value))
523
+ default:
524
+ return Effect.fail(
525
+ new KeyValueStoreError({
526
+ method: "get",
527
+ key,
528
+ message: `Invalid stored value type for key ${key}: ${row.value_type}`
529
+ })
530
+ )
531
+ }
532
+ })
533
+ ),
534
+ getUint8Array: (key: string) =>
535
+ sql<Row>`SELECT value, value_type FROM ${table} WHERE id = ${key}`.pipe(
536
+ Effect.mapError((cause) =>
537
+ new KeyValueStoreError({
538
+ method: "getUint8Array",
539
+ key,
540
+ message: `Unable to get item with key ${key}`,
541
+ cause
542
+ })
543
+ ),
544
+ Effect.flatMap((rows) => {
545
+ if (rows.length === 0) {
546
+ return Effect.undefined
547
+ }
548
+ const row = rows[0]
549
+ switch (row.value_type) {
550
+ case ValueTypeString:
551
+ return Effect.succeed(row.value)
552
+ case ValueTypeUint8Array:
553
+ return Effect.succeed(row.value)
554
+ default:
555
+ return Effect.fail(
556
+ new KeyValueStoreError({
557
+ method: "getUint8Array",
558
+ key,
559
+ message: `Invalid stored value type for key ${key}: ${row.value_type}`
560
+ })
561
+ )
562
+ }
563
+ })
564
+ ),
565
+ set: (key: string, value: string | Uint8Array) =>
566
+ upsert({
567
+ id: key,
568
+ value: typeof value === "string" ? encoder.encode(value) : value,
569
+ value_type: typeof value === "string" ? ValueTypeString : ValueTypeUint8Array
570
+ }).pipe(
571
+ Effect.mapError((cause) =>
572
+ new KeyValueStoreError({
573
+ method: "set",
574
+ key,
575
+ message: `Unable to set item with key ${key}`,
576
+ cause
577
+ })
578
+ ),
579
+ Effect.asVoid
580
+ ),
581
+ remove: (key: string) =>
582
+ sql`DELETE FROM ${table} WHERE id = ${key}`.pipe(
583
+ Effect.mapError((cause) =>
584
+ new KeyValueStoreError({
585
+ method: "remove",
586
+ key,
587
+ message: `Unable to remove item with key ${key}`,
588
+ cause
589
+ })
590
+ ),
591
+ Effect.asVoid
592
+ ),
593
+ clear: sql`DELETE FROM ${table}`.pipe(
594
+ Effect.mapError((cause) =>
595
+ new KeyValueStoreError({
596
+ method: "clear",
597
+ message: `Unable to clear storage`,
598
+ cause
599
+ })
600
+ ),
601
+ Effect.asVoid
602
+ ),
603
+ size: sql<{ count: number }>`SELECT COUNT(*) as count FROM ${table}`.pipe(
604
+ Effect.mapError((cause) =>
605
+ new KeyValueStoreError({
606
+ method: "size",
607
+ message: `Unable to get size`,
608
+ cause
609
+ })
610
+ ),
611
+ Effect.map((rows) => rows.length === 0 ? 0 : Number(rows[0].count))
612
+ )
613
+ })
614
+ })
615
+ )
616
+
394
617
  const SchemaStoreTypeId = "~effect/persistence/KeyValueStore/SchemaStore" as const
395
618
 
396
619
  /**
@@ -41,9 +41,8 @@ export const make: <
41
41
  K extends Persistable.Any,
42
42
  R = never,
43
43
  ServiceMode extends "lookup" | "construction" = never
44
- >(options: {
44
+ >(lookup: (key: K) => Effect.Effect<Persistable.Success<K>, Persistable.Error<K>, R>, options: {
45
45
  readonly storeId: string
46
- readonly lookup: (key: K) => Effect.Effect<Persistable.Success<K>, Persistable.Error<K>, R>
47
46
  readonly timeToLive: Persistable.TimeToLiveFn<K>
48
47
  readonly inMemoryCapacity?: number | undefined
49
48
  readonly inMemoryTTL?: Persistable.TimeToLiveFn<K> | undefined
@@ -56,32 +55,36 @@ export const make: <
56
55
  K extends Persistable.Any,
57
56
  R = never,
58
57
  ServiceMode extends "lookup" | "construction" = never
59
- >(options: {
60
- readonly storeId: string
61
- readonly lookup: (key: K) => Effect.Effect<Persistable.Success<K>, Persistable.Error<K>, R>
62
- readonly timeToLive: Persistable.TimeToLiveFn<K>
63
- readonly inMemoryCapacity?: number | undefined
64
- readonly inMemoryTTL?: Persistable.TimeToLiveFn<K> | undefined
65
- readonly requireServicesAt?: ServiceMode | undefined
66
- }) {
58
+ >(
59
+ lookup: (key: K) => Effect.Effect<Persistable.Success<K>, Persistable.Error<K>, R>,
60
+ options: {
61
+ readonly storeId: string
62
+ readonly timeToLive: Persistable.TimeToLiveFn<K>
63
+ readonly inMemoryCapacity?: number | undefined
64
+ readonly inMemoryTTL?: Persistable.TimeToLiveFn<K> | undefined
65
+ readonly requireServicesAt?: ServiceMode | undefined
66
+ }
67
+ ) {
67
68
  const store = yield* (yield* Persistence.Persistence).make({
68
69
  storeId: options.storeId,
69
70
  timeToLive: options.timeToLive as any
70
71
  })
71
- const inMemory = yield* Cache.makeWith({
72
- lookup: Effect.fnUntraced(function*(key: K) {
72
+ const inMemory = yield* Cache.makeWith(
73
+ Effect.fnUntraced(function*(key: K) {
73
74
  const exit = yield* (store.get(key) as Effect.Effect<Exit<Persistable.Success<K>, Persistable.Error<K>>>)
74
75
  if (exit) {
75
76
  return yield* exit
76
77
  }
77
- const result = yield* Effect.exit(options.lookup(key))
78
+ const result = yield* Effect.exit(lookup(key))
78
79
  yield* (store.set(key, result) as Effect.Effect<void>)
79
80
  return yield* result
80
81
  }),
81
- timeToLive: options.inMemoryTTL ?? constant(Duration.seconds(10)),
82
- capacity: options.inMemoryCapacity ?? 1024,
83
- requireServicesAt: options.requireServicesAt
84
- })
82
+ {
83
+ timeToLive: options.inMemoryTTL ?? constant(Duration.seconds(10)),
84
+ capacity: options.inMemoryCapacity ?? 1024,
85
+ requireServicesAt: options.requireServicesAt
86
+ }
87
+ )
85
88
  return identity<PersistedCache<K, "lookup" extends ServiceMode ? R : never>>({
86
89
  [TypeId]: TypeId,
87
90
  inMemory,
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import type * as Arr from "../../Array.ts"
5
5
  import * as Cause from "../../Cause.ts"
6
+ import * as Context from "../../Context.ts"
6
7
  import * as Data from "../../Data.ts"
7
8
  import * as Duration from "../../Duration.ts"
8
9
  import * as Effect from "../../Effect.ts"
@@ -17,7 +18,6 @@ import * as RcMap from "../../RcMap.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 SqlClient from "../sql/SqlClient.ts"
22
22
  import type { SqlError } from "../sql/SqlError.ts"
23
23
  import * as Redis from "./Redis.ts"
@@ -75,7 +75,7 @@ export interface PersistedQueue<in out A, out R = never> {
75
75
  * @since 4.0.0
76
76
  * @category Factory
77
77
  */
78
- export class PersistedQueueFactory extends ServiceMap.Service<
78
+ export class PersistedQueueFactory extends Context.Service<
79
79
  PersistedQueueFactory,
80
80
  {
81
81
  readonly make: <S extends Schema.Top>(options: {
@@ -195,7 +195,7 @@ export class PersistedQueueError extends Schema.ErrorClass<PersistedQueueError>(
195
195
  * @since 4.0.0
196
196
  * @category Store
197
197
  */
198
- export class PersistedQueueStore extends ServiceMap.Service<
198
+ export class PersistedQueueStore extends Context.Service<
199
199
  PersistedQueueStore,
200
200
  {
201
201
  readonly offer: (
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import * as Arr from "../../Array.ts"
5
5
  import * as Clock from "../../Clock.ts"
6
+ import * as Context from "../../Context.ts"
6
7
  import * as Duration from "../../Duration.ts"
7
8
  import * as Effect from "../../Effect.ts"
8
9
  import * as Exit from "../../Exit.ts"
@@ -11,7 +12,6 @@ import * as Layer from "../../Layer.ts"
11
12
  import * as PrimaryKey from "../../PrimaryKey.ts"
12
13
  import * as Schema from "../../Schema.ts"
13
14
  import type * as Scope from "../../Scope.ts"
14
- import * as ServiceMap from "../../ServiceMap.ts"
15
15
  import * as SqlClient from "../sql/SqlClient.ts"
16
16
  import type { SqlError } from "../sql/SqlError.ts"
17
17
  import * as KeyValueStore from "./KeyValueStore.ts"
@@ -24,7 +24,7 @@ const ErrorTypeId = "~effect/persistence/Persistence/PersistenceError" as const
24
24
  * @since 4.0.0
25
25
  * @category errors
26
26
  */
27
- export class PersistenceError extends Schema.ErrorClass(ErrorTypeId)({
27
+ export class PersistenceError extends Schema.ErrorClass<PersistenceError>(ErrorTypeId)({
28
28
  _tag: Schema.tag("PersistenceError"),
29
29
  message: Schema.String,
30
30
  cause: Schema.optional(Schema.Defect)
@@ -39,7 +39,7 @@ export class PersistenceError extends Schema.ErrorClass(ErrorTypeId)({
39
39
  * @since 4.0.0
40
40
  * @category Models
41
41
  */
42
- export class Persistence extends ServiceMap.Service<Persistence, {
42
+ export class Persistence extends Context.Service<Persistence, {
43
43
  readonly make: (options: {
44
44
  readonly storeId: string
45
45
  readonly timeToLive?: (exit: Exit.Exit<unknown, unknown>, key: Persistable.Any) => Duration.Input
@@ -82,7 +82,7 @@ export interface PersistenceStore {
82
82
  * @since 4.0.0
83
83
  * @category BackingPersistence
84
84
  */
85
- export class BackingPersistence extends ServiceMap.Service<BackingPersistence, {
85
+ export class BackingPersistence extends Context.Service<BackingPersistence, {
86
86
  readonly make: (storeId: string) => Effect.Effect<BackingPersistenceStore, never, Scope.Scope>
87
87
  }>()("effect/persistence/BackingPersistence") {}
88
88
 
@@ -2,12 +2,12 @@
2
2
  * @since 4.0.0
3
3
  */
4
4
  import * as Config from "../../Config.ts"
5
+ import * as Context from "../../Context.ts"
5
6
  import * as Duration from "../../Duration.ts"
6
7
  import * as Effect from "../../Effect.ts"
7
8
  import { flow, identity } from "../../Function.ts"
8
9
  import * as Layer from "../../Layer.ts"
9
10
  import * as Schema from "../../Schema.ts"
10
- import * as ServiceMap from "../../ServiceMap.ts"
11
11
  import * as Redis from "./Redis.ts"
12
12
 
13
13
  /**
@@ -43,7 +43,7 @@ export interface RateLimiter {
43
43
  * @since 4.0.0
44
44
  * @category Tags
45
45
  */
46
- export const RateLimiter: ServiceMap.Service<RateLimiter, RateLimiter> = ServiceMap.Service<RateLimiter>(TypeId)
46
+ export const RateLimiter: Context.Service<RateLimiter, RateLimiter> = Context.Service<RateLimiter>(TypeId)
47
47
 
48
48
  /**
49
49
  * @since 4.0.0
@@ -413,7 +413,7 @@ export interface ConsumeResult {
413
413
  * @since 4.0.0
414
414
  * @category RateLimiterStore
415
415
  */
416
- export class RateLimiterStore extends ServiceMap.Service<
416
+ export class RateLimiterStore extends Context.Service<
417
417
  RateLimiterStore,
418
418
  {
419
419
  /**
@@ -2,18 +2,18 @@
2
2
  * @since 4.0.0
3
3
  */
4
4
  import * as Cache from "../../Cache.ts"
5
+ import * as Context from "../../Context.ts"
5
6
  import * as Effect from "../../Effect.ts"
6
7
  import * as Equal from "../../Equal.ts"
7
8
  import { constant, identity } from "../../Function.ts"
8
9
  import * as Hash from "../../Hash.ts"
9
10
  import * as Schema from "../../Schema.ts"
10
- import * as ServiceMap from "../../ServiceMap.ts"
11
11
 
12
12
  /**
13
13
  * @since 4.0.0
14
14
  * @category Service
15
15
  */
16
- export class Redis extends ServiceMap.Service<Redis, {
16
+ export class Redis extends Context.Service<Redis, {
17
17
  readonly send: <A = unknown>(command: string, ...args: ReadonlyArray<string>) => Effect.Effect<A, RedisError>
18
18
 
19
19
  readonly eval: <
@@ -7,11 +7,11 @@
7
7
  * @since 4.0.0
8
8
  */
9
9
  import * as Brand from "../../Brand.ts"
10
+ import * as Context from "../../Context.ts"
10
11
  import * as Effect from "../../Effect.ts"
11
12
  import * as Inspectable from "../../Inspectable.ts"
12
13
  import type * as PlatformError from "../../PlatformError.ts"
13
14
  import type * as Scope from "../../Scope.ts"
14
- import * as ServiceMap from "../../ServiceMap.ts"
15
15
  import type * as Sink from "../../Sink.ts"
16
16
  import * as Stream from "../../Stream.ts"
17
17
  import type { Command, KillOptions } from "./ChildProcess.ts"
@@ -40,6 +40,19 @@ export type ProcessId = Brand.Branded<number, "ProcessId">
40
40
  */
41
41
  export const ProcessId: Brand.Constructor<ProcessId> = Brand.nominal<ProcessId>()
42
42
 
43
+ /**
44
+ * An `Effect` that adds an unrefed child process back into the parent
45
+ * process's reference count.
46
+ *
47
+ * This value is returned by `ChildProcessHandle.unref` and can be run later to
48
+ * restore the default behavior where the child process keeps the parent
49
+ * process alive.
50
+ *
51
+ * @since 4.0.0
52
+ * @category Models
53
+ */
54
+ export type Reref = Effect.Effect<void, PlatformError.PlatformError>
55
+
43
56
  const HandleTypeId = "~effect/ChildProcessSpawner/ChildProcessHandle"
44
57
 
45
58
  /**
@@ -109,6 +122,37 @@ export interface ChildProcessHandle {
109
122
  * `Stream`.
110
123
  */
111
124
  readonly getOutputFd: (fd: number) => Stream.Stream<Uint8Array, PlatformError.PlatformError>
125
+ /**
126
+ * Allows the parent process to exit independently of this child process.
127
+ *
128
+ * Running this `Effect` removes this child process from the parent process's
129
+ * reference count, so the parent process is allowed to exit without waiting
130
+ * for the child process to finish.
131
+ *
132
+ * The returned `Reref` effect adds the child process back into the parent
133
+ * process's reference count when run, restoring the default behavior.
134
+ *
135
+ * This is the only supported way to re-reference a child process after it
136
+ * has been unrefed.
137
+ *
138
+ * @example
139
+ * ```ts
140
+ * import { NodeServices } from "@effect/platform-node"
141
+ * import { Effect } from "effect"
142
+ * import { ChildProcess } from "effect/unstable/process"
143
+ *
144
+ * const program = Effect.gen(function*() {
145
+ * const handle = yield* ChildProcess.make`./server`
146
+ * const reref = yield* handle.unref
147
+ *
148
+ * yield* Effect.sleep("1 second")
149
+ *
150
+ * yield* reref
151
+ * return yield* handle.exitCode
152
+ * }).pipe(Effect.scoped, Effect.provide(NodeServices.layer))
153
+ * ```
154
+ */
155
+ readonly unref: Effect.Effect<Reref, PlatformError.PlatformError>
112
156
  }
113
157
 
114
158
  const HandleProto = {
@@ -163,7 +207,7 @@ export const make = (spawn: ChildProcessSpawner["Service"]["spawn"]): ChildProce
163
207
  * @since 4.0.0
164
208
  * @category Service
165
209
  */
166
- export class ChildProcessSpawner extends ServiceMap.Service<ChildProcessSpawner, {
210
+ export class ChildProcessSpawner extends Context.Service<ChildProcessSpawner, {
167
211
  /**
168
212
  * Spawn a command and return a handle for interaction.
169
213
  */