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
@@ -50,7 +50,7 @@ export const parseArgs = (
50
50
  lexResult: LexResult,
51
51
  command: Command.Any,
52
52
  commandPath: ReadonlyArray<string> = []
53
- ): Effect.Effect<ParsedTokens, CliError.CliError, Param.Environment> =>
53
+ ): Effect.Effect<ParsedTokens, never, Param.Environment> =>
54
54
  Effect.gen(function*() {
55
55
  const { tokens, trailingOperands: afterEndOfOptions } = lexResult
56
56
  const newCommandPath = [...commandPath, command.name]
@@ -161,7 +161,7 @@ type ParseMode =
161
161
  type ParseState = {
162
162
  readonly flags: FlagAccumulator
163
163
  readonly arguments: Array<string>
164
- readonly errors: Array<CliError.CliError>
164
+ readonly errors: Array<CliError.NonShowHelpErrors>
165
165
  mode: ParseMode
166
166
  }
167
167
 
@@ -179,7 +179,7 @@ type LeafResult = {
179
179
  readonly _tag: "Leaf"
180
180
  readonly flags: Readonly<FlagMap>
181
181
  readonly arguments: ReadonlyArray<string>
182
- readonly errors: ReadonlyArray<CliError.CliError>
182
+ readonly errors: ReadonlyArray<CliError.NonShowHelpErrors>
183
183
  }
184
184
 
185
185
  /**
@@ -190,7 +190,7 @@ type SubcommandResult = {
190
190
  readonly flags: Readonly<FlagMap>
191
191
  readonly sub: Command<string, unknown, unknown, unknown, unknown>
192
192
  readonly childTokens: ReadonlyArray<Token>
193
- readonly errors: ReadonlyArray<CliError.CliError>
193
+ readonly errors: ReadonlyArray<CliError.NonShowHelpErrors>
194
194
  }
195
195
 
196
196
  type LevelResult = LeafResult | SubcommandResult
@@ -317,11 +317,70 @@ const createFlagAccumulator = (params: ReadonlyArray<FlagParam>): FlagAccumulato
317
317
  /* ========================================================================== */
318
318
 
319
319
  type FlagToken = Extract<Token, { _tag: "LongOption" | "ShortOption" }>
320
+ type ResolvedFlag = {
321
+ readonly param: FlagParam
322
+ readonly negated: boolean
323
+ }
324
+ type ConsumedFlagValue =
325
+ | {
326
+ readonly _tag: "Value"
327
+ readonly value: string | undefined
328
+ }
329
+ | {
330
+ readonly _tag: "Error"
331
+ readonly error: CliError.InvalidValue
332
+ }
320
333
 
321
334
  const isFlagToken = (t: Token): t is FlagToken => t._tag === "LongOption" || t._tag === "ShortOption"
322
335
 
323
336
  const getFlagName = (t: FlagToken): string => t._tag === "LongOption" ? t.name : t.flag
324
337
 
338
+ const resolveFlag = (
339
+ token: FlagToken,
340
+ registry: FlagRegistry
341
+ ): ResolvedFlag | undefined => {
342
+ const tokenName = getFlagName(token)
343
+ const direct = registry.index.get(tokenName)
344
+ if (direct && direct.name === tokenName) {
345
+ return {
346
+ param: direct,
347
+ negated: false
348
+ }
349
+ }
350
+
351
+ if (token._tag === "LongOption" && token.name.startsWith("no-")) {
352
+ const canonicalName = token.name.slice(3)
353
+ const param = registry.index.get(canonicalName)
354
+ if (param && param.name === canonicalName && Primitive.isBoolean(param.primitiveType)) {
355
+ return {
356
+ param,
357
+ negated: true
358
+ }
359
+ }
360
+ }
361
+
362
+ if (direct) {
363
+ return {
364
+ param: direct,
365
+ negated: false
366
+ }
367
+ }
368
+
369
+ return undefined
370
+ }
371
+
372
+ const invalidNegatedFlagValue = (
373
+ token: FlagToken,
374
+ spec: FlagParam,
375
+ value: string
376
+ ): CliError.InvalidValue =>
377
+ new CliError.InvalidValue({
378
+ option: spec.name,
379
+ value,
380
+ expected: `omit the value and use ${token.raw} by itself to set --${spec.name} to false`,
381
+ kind: "flag"
382
+ })
383
+
325
384
  /**
326
385
  * Checks if a token is a boolean literal value.
327
386
  * Recognizes: true/false, yes/no, on/off, 1/0
@@ -346,28 +405,64 @@ const asBooleanLiteral = (token: Token | undefined): string | undefined =>
346
405
  const consumeFlagValue = (
347
406
  cursor: TokenCursor,
348
407
  token: FlagToken,
349
- spec: FlagParam
350
- ): string | undefined => {
408
+ spec: FlagParam,
409
+ negated = false
410
+ ): ConsumedFlagValue => {
351
411
  // Inline value has highest priority
412
+ if (negated) {
413
+ if (token.value !== undefined) {
414
+ return {
415
+ _tag: "Error",
416
+ error: invalidNegatedFlagValue(token, spec, token.value)
417
+ }
418
+ }
419
+
420
+ const literal = asBooleanLiteral(cursor.peek())
421
+ if (literal !== undefined) {
422
+ cursor.take()
423
+ return {
424
+ _tag: "Error",
425
+ error: invalidNegatedFlagValue(token, spec, literal)
426
+ }
427
+ }
428
+
429
+ return {
430
+ _tag: "Value",
431
+ value: "false"
432
+ }
433
+ }
434
+
352
435
  if (token.value !== undefined) {
353
- return token.value
436
+ return {
437
+ _tag: "Value",
438
+ value: token.value
439
+ }
354
440
  }
355
441
 
356
442
  // Boolean flags: check for explicit literal or default to "true"
357
443
  if (Primitive.isBoolean(spec.primitiveType)) {
358
444
  const literal = asBooleanLiteral(cursor.peek())
359
445
  if (literal !== undefined) cursor.take()
360
- return literal ?? "true"
446
+ return {
447
+ _tag: "Value",
448
+ value: literal ?? "true"
449
+ }
361
450
  }
362
451
 
363
452
  // Non-boolean: try to consume next Value token
364
453
  const next = cursor.peek()
365
454
  if (next?._tag === "Value") {
366
455
  cursor.take()
367
- return next.value
456
+ return {
457
+ _tag: "Value",
458
+ value: next.value
459
+ }
368
460
  }
369
461
 
370
- return undefined
462
+ return {
463
+ _tag: "Value",
464
+ value: undefined
465
+ }
371
466
  }
372
467
 
373
468
  /**
@@ -379,9 +474,10 @@ const consumeFlagValue = (
379
474
  export const consumeKnownFlags = (
380
475
  tokens: ReadonlyArray<Token>,
381
476
  registry: FlagRegistry
382
- ): { flagMap: FlagMap; remainder: ReadonlyArray<Token> } => {
477
+ ): { flagMap: FlagMap; remainder: ReadonlyArray<Token>; errors: ReadonlyArray<CliError.InvalidValue> } => {
383
478
  const flagMap = createEmptyFlagMap(registry.params)
384
479
  const remainder: Array<Token> = []
480
+ const errors: Array<CliError.InvalidValue> = []
385
481
  const cursor = makeCursor(tokens)
386
482
 
387
483
  for (let t = cursor.take(); t; t = cursor.take()) {
@@ -390,19 +486,23 @@ export const consumeKnownFlags = (
390
486
  continue
391
487
  }
392
488
 
393
- const param = registry.index.get(getFlagName(t))
394
- if (!param) {
489
+ const resolved = resolveFlag(t, registry)
490
+ if (!resolved) {
395
491
  remainder.push(t)
396
492
  continue
397
493
  }
398
494
 
399
- const value = consumeFlagValue(cursor, t, param)
400
- if (value !== undefined) {
401
- flagMap[param.name].push(value)
495
+ const consumed = consumeFlagValue(cursor, t, resolved.param, resolved.negated)
496
+ if (consumed._tag === "Error") {
497
+ errors.push(consumed.error)
498
+ continue
499
+ }
500
+ if (consumed.value !== undefined) {
501
+ flagMap[resolved.param.name].push(consumed.value)
402
502
  }
403
503
  }
404
504
 
405
- return { flagMap, remainder }
505
+ return { flagMap, remainder, errors }
406
506
  }
407
507
 
408
508
  /* ========================================================================== */
@@ -419,6 +519,9 @@ const createUnrecognizedFlagError = (
419
519
 
420
520
  for (const p of params) {
421
521
  validNames.push(p.name)
522
+ if (Primitive.isBoolean(p.primitiveType)) {
523
+ validNames.push(`no-${p.name}`)
524
+ }
422
525
  for (const alias of p.aliases) {
423
526
  validNames.push(alias)
424
527
  }
@@ -498,6 +601,7 @@ const resolveFirstValue = (
498
601
  // npm-style: inherited parent flags can appear after subcommand name
499
602
  const tail = consumeKnownFlags(cursor.rest(), inheritedFlagRegistry)
500
603
  state.flags.merge(tail.flagMap)
604
+ state.errors.push(...tail.errors)
501
605
 
502
606
  return {
503
607
  _tag: "Subcommand",
@@ -542,15 +646,20 @@ const processFlag = (
542
646
  state: ParseState
543
647
  ): void => {
544
648
  const { commandPath, flagRegistry } = context
545
- const name = getFlagName(token)
546
- const spec = flagRegistry.index.get(name)
649
+ const resolved = resolveFlag(token, flagRegistry)
547
650
 
548
- if (!spec) {
651
+ if (!resolved) {
549
652
  state.errors.push(createUnrecognizedFlagError(token, flagRegistry.params, commandPath))
550
653
  return
551
654
  }
552
655
 
553
- state.flags.add(spec.name, consumeFlagValue(cursor, token, spec))
656
+ const consumed = consumeFlagValue(cursor, token, resolved.param, resolved.negated)
657
+ if (consumed._tag === "Error") {
658
+ state.errors.push(consumed.error)
659
+ return
660
+ }
661
+
662
+ state.flags.add(resolved.param.name, consumed.value)
554
663
  }
555
664
 
556
665
  /**
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @since 4.0.0
3
3
  */
4
+ import * as Context from "../../Context.ts"
4
5
  import { constFalse, constTrue, identity } from "../../Function.ts"
5
- import * as ServiceMap from "../../ServiceMap.ts"
6
6
  import type * as Rpc from "../rpc/Rpc.ts"
7
7
  import type { EntityId } from "./EntityId.ts"
8
8
  import type { Request } from "./Envelope.ts"
@@ -11,7 +11,7 @@ import type { Request } from "./Envelope.ts"
11
11
  * @since 4.0.0
12
12
  * @category Annotations
13
13
  */
14
- export const Persisted = ServiceMap.Reference<boolean>("effect/cluster/ClusterSchema/Persisted", {
14
+ export const Persisted = Context.Reference<boolean>("effect/cluster/ClusterSchema/Persisted", {
15
15
  defaultValue: constFalse
16
16
  })
17
17
 
@@ -22,7 +22,7 @@ export const Persisted = ServiceMap.Reference<boolean>("effect/cluster/ClusterSc
22
22
  * @since 4.0.0
23
23
  * @category Annotations
24
24
  */
25
- export const WithTransaction = ServiceMap.Reference<boolean>(
25
+ export const WithTransaction = Context.Reference<boolean>(
26
26
  "effect/cluster/ClusterSchema/WithTransaction",
27
27
  { defaultValue: constFalse }
28
28
  )
@@ -31,7 +31,7 @@ export const WithTransaction = ServiceMap.Reference<boolean>(
31
31
  * @since 4.0.0
32
32
  * @category Annotations
33
33
  */
34
- export const Uninterruptible = ServiceMap.Reference<boolean | "client" | "server">(
34
+ export const Uninterruptible = Context.Reference<boolean | "client" | "server">(
35
35
  "effect/cluster/ClusterSchema/Uninterruptible",
36
36
  { defaultValue: constFalse }
37
37
  )
@@ -40,8 +40,8 @@ export const Uninterruptible = ServiceMap.Reference<boolean | "client" | "server
40
40
  * @since 4.0.0
41
41
  * @category Annotations
42
42
  */
43
- export const isUninterruptibleForServer = (context: ServiceMap.ServiceMap<never>): boolean => {
44
- const value = ServiceMap.get(context, Uninterruptible)
43
+ export const isUninterruptibleForServer = (context: Context.Context<never>): boolean => {
44
+ const value = Context.get(context, Uninterruptible)
45
45
  return value === true || value === "server"
46
46
  }
47
47
 
@@ -49,8 +49,8 @@ export const isUninterruptibleForServer = (context: ServiceMap.ServiceMap<never>
49
49
  * @since 4.0.0
50
50
  * @category Annotations
51
51
  */
52
- export const isUninterruptibleForClient = (context: ServiceMap.ServiceMap<never>): boolean => {
53
- const value = ServiceMap.get(context, Uninterruptible)
52
+ export const isUninterruptibleForClient = (context: Context.Context<never>): boolean => {
53
+ const value = Context.get(context, Uninterruptible)
54
54
  return value === true || value === "client"
55
55
  }
56
56
 
@@ -58,7 +58,7 @@ export const isUninterruptibleForClient = (context: ServiceMap.ServiceMap<never>
58
58
  * @since 4.0.0
59
59
  * @category Annotations
60
60
  */
61
- export const ShardGroup = ServiceMap.Reference<(entityId: EntityId) => string>(
61
+ export const ShardGroup = Context.Reference<(entityId: EntityId) => string>(
62
62
  "effect/cluster/ClusterSchema/ShardGroup",
63
63
  { defaultValue: () => (_) => "default" }
64
64
  )
@@ -67,7 +67,7 @@ export const ShardGroup = ServiceMap.Reference<(entityId: EntityId) => string>(
67
67
  * @since 4.0.0
68
68
  * @category Annotations
69
69
  */
70
- export const ClientTracingEnabled = ServiceMap.Reference<boolean>("effect/cluster/ClusterSchema/ClientTracingEnabled", {
70
+ export const ClientTracingEnabled = Context.Reference<boolean>("effect/cluster/ClusterSchema/ClientTracingEnabled", {
71
71
  defaultValue: constTrue
72
72
  })
73
73
 
@@ -78,8 +78,8 @@ export const ClientTracingEnabled = ServiceMap.Reference<boolean>("effect/cluste
78
78
  * @since 4.0.0
79
79
  * @category Annotations
80
80
  */
81
- export const Dynamic = ServiceMap.Reference<
82
- (annotations: ServiceMap.ServiceMap<never>, request: Request<Rpc.AnyWithProps>) => ServiceMap.ServiceMap<never>
81
+ export const Dynamic = Context.Reference<
82
+ (annotations: Context.Context<never>, request: Request<Rpc.AnyWithProps>) => Context.Context<never>
83
83
  >(
84
84
  "effect/cluster/ClusterSchema/Dynamic",
85
85
  { defaultValue: () => identity }
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * @since 4.0.0
3
3
  */
4
+ import * as Context from "../../Context.ts"
4
5
  import * as DateTime from "../../DateTime.ts"
5
6
  import * as Duration from "../../Duration.ts"
6
7
  import * as Effect from "../../Effect.ts"
7
8
  import * as Exit from "../../Exit.ts"
8
9
  import * as Fiber from "../../Fiber.ts"
9
- import { constFalse } from "../../Function.ts"
10
10
  import * as Latch from "../../Latch.ts"
11
11
  import * as Layer from "../../Layer.ts"
12
12
  import * as Option from "../../Option.ts"
@@ -16,7 +16,6 @@ import type * as Record from "../../Record.ts"
16
16
  import * as Schedule from "../../Schedule.ts"
17
17
  import * as Schema from "../../Schema.ts"
18
18
  import type * as Scope from "../../Scope.ts"
19
- import * as ServiceMap from "../../ServiceMap.ts"
20
19
  import * as Rpc from "../rpc/Rpc.ts"
21
20
  import { ClientAbort } from "../rpc/RpcSchema.ts"
22
21
  import * as Activity from "../workflow/Activity.ts"
@@ -30,6 +29,8 @@ import * as Entity from "./Entity.ts"
30
29
  import * as EntityAddress from "./EntityAddress.ts"
31
30
  import * as EntityId from "./EntityId.ts"
32
31
  import * as EntityType from "./EntityType.ts"
32
+ import * as Envelope from "./Envelope.ts"
33
+ import * as Message from "./Message.ts"
33
34
  import { MessageStorage } from "./MessageStorage.ts"
34
35
  import type { WithExitEncoded } from "./Reply.ts"
35
36
  import * as Reply from "./Reply.ts"
@@ -108,7 +109,7 @@ export const make = Effect.gen(function*() {
108
109
 
109
110
  const activities = new Map<string, {
110
111
  readonly activity: Activity.Any
111
- readonly services: ServiceMap.ServiceMap<any>
112
+ readonly context: Context.Context<any>
112
113
  }>()
113
114
  const interruptedActivities = new Set<string>()
114
115
  const activityLatches = new Map<string, Latch.Latch>()
@@ -131,22 +132,30 @@ export const make = Effect.gen(function*() {
131
132
  })
132
133
  const clockClient = yield* ClockEntity.client
133
134
 
134
- const requestIdFor = Effect.fnUntraced(function*(options: {
135
+ const entityAddressFor = (options: {
135
136
  readonly workflow: Workflow.Any
136
137
  readonly entityType: string
137
138
  readonly executionId: string
138
- readonly tag: string
139
- readonly id: string
140
- }) {
141
- const shardGroup = ServiceMap.get(options.workflow.annotations, ClusterSchema.ShardGroup)(
139
+ }) => {
140
+ const shardGroup = Context.get(options.workflow.annotations, ClusterSchema.ShardGroup)(
142
141
  options.executionId as EntityId.EntityId
143
142
  )
144
143
  const entityId = EntityId.make(options.executionId)
145
- const address = EntityAddress.make({
144
+ return EntityAddress.make({
146
145
  entityType: EntityType.make(options.entityType),
147
146
  entityId,
148
147
  shardId: sharding.getShardId(entityId, shardGroup)
149
148
  })
149
+ }
150
+
151
+ const requestIdFor = Effect.fnUntraced(function*(options: {
152
+ readonly workflow: Workflow.Any
153
+ readonly entityType: string
154
+ readonly executionId: string
155
+ readonly tag: string
156
+ readonly id: string
157
+ }) {
158
+ const address = entityAddressFor(options)
150
159
  return yield* storage.requestIdForPrimaryKey({ address, tag: options.tag, id: options.id })
151
160
  })
152
161
 
@@ -201,7 +210,7 @@ export const make = Effect.gen(function*() {
201
210
  readonly workflow: Workflow.Any
202
211
  readonly executionId: string
203
212
  }) {
204
- const shardGroup = ServiceMap.get(options.workflow.annotations, ClusterSchema.ShardGroup)(
213
+ const shardGroup = Context.get(options.workflow.annotations, ClusterSchema.ShardGroup)(
205
214
  options.executionId as EntityId.EntityId
206
215
  )
207
216
  const entityId = EntityId.make(options.executionId)
@@ -253,6 +262,46 @@ export const make = Effect.gen(function*() {
253
262
  yield* sharding.reset(requestId.value)
254
263
  }, Effect.scoped)
255
264
 
265
+ const interrupt = Effect.fnUntraced(
266
+ function*(workflow: Workflow.Any, executionId: string) {
267
+ ensureEntity(workflow)
268
+ const requestId = yield* requestIdFor({
269
+ workflow,
270
+ entityType: `Workflow/${workflow.name}`,
271
+ executionId,
272
+ tag: "run",
273
+ id: ""
274
+ })
275
+ if (Option.isNone(requestId)) {
276
+ return Option.none()
277
+ }
278
+ const reply = yield* replyForRequestId(requestId.value)
279
+
280
+ const nonSuspendedReply = Option.filter(
281
+ reply,
282
+ (reply) => reply.exit._tag !== "Success" || reply.exit.value._tag !== "Suspended"
283
+ )
284
+ if (Option.isSome(nonSuspendedReply)) {
285
+ return Option.none()
286
+ }
287
+
288
+ yield* engine.deferredDone(InterruptSignal, {
289
+ workflowName: workflow.name,
290
+ executionId,
291
+ deferredName: InterruptSignal.name,
292
+ exit: Exit.void
293
+ })
294
+
295
+ return requestId
296
+ },
297
+ Effect.retry({
298
+ while: (e) => e._tag === "PersistenceError",
299
+ times: 3,
300
+ schedule: Schedule.exponential(250)
301
+ }),
302
+ Effect.orDie
303
+ )
304
+
256
305
  const engine = WorkflowEngine.makeUnsafe({
257
306
  register: (workflow, execute) =>
258
307
  Effect.suspend(() =>
@@ -269,9 +318,9 @@ export const make = Effect.gen(function*() {
269
318
  if (payload[payloadParentKey]) {
270
319
  parent = payload[payloadParentKey]
271
320
  }
272
- return execute(workflow.payloadSchema.makeUnsafe(payload) as object, executionId).pipe(
321
+ return execute(workflow.payloadSchema.make(payload) as object, executionId).pipe(
273
322
  Effect.onExit((exit) => {
274
- const suspendOnFailure = ServiceMap.get(workflow.annotations, Workflow.SuspendOnFailure)
323
+ const suspendOnFailure = Context.get(workflow.annotations, Workflow.SuspendOnFailure)
275
324
  if (!instance.suspended && !(suspendOnFailure && exit._tag === "Failure")) {
276
325
  return parent ? ensureSuccess(sendResumeParent(parent)) : Effect.void
277
326
  }
@@ -308,11 +357,11 @@ export const make = Effect.gen(function*() {
308
357
  yield* latch.await
309
358
  entry = activities.get(activityId)
310
359
  }
311
- const contextMap = new Map(entry.services.mapUnsafe)
360
+ const contextMap = new Map(entry.context.mapUnsafe)
312
361
  contextMap.set(Activity.CurrentAttempt.key, payload.attempt)
313
362
  contextMap.set(WorkflowEngine.WorkflowInstance.key, instance)
314
363
  return yield* entry.activity.executeEncoded.pipe(
315
- Effect.provideServices(ServiceMap.makeUnsafe(contextMap))
364
+ Effect.provideContext(Context.makeUnsafe(contextMap))
316
365
  )
317
366
  }).pipe(
318
367
  Workflow.intoResult,
@@ -386,52 +435,41 @@ export const make = Effect.gen(function*() {
386
435
  return Option.some(yield* exit)
387
436
  }, Effect.orDie),
388
437
 
389
- interrupt: Effect.fnUntraced(
390
- function*(workflow, executionId) {
391
- ensureEntity(workflow)
392
- const reply = yield* requestReply({
393
- workflow,
394
- entityType: `Workflow/${workflow.name}`,
395
- executionId,
396
- tag: "run",
397
- id: ""
398
- })
399
-
400
- const nonSuspendedReply = Option.filter(
401
- reply,
402
- (reply) => reply.exit._tag !== "Success" || reply.exit.value._tag !== "Suspended"
403
- )
404
- if (Option.isSome(nonSuspendedReply)) {
405
- return
406
- }
407
-
408
- yield* engine.deferredDone(InterruptSignal, {
409
- workflowName: workflow.name,
410
- executionId,
411
- deferredName: InterruptSignal.name,
412
- exit: Exit.void
413
- })
414
- },
415
- Effect.retry({
416
- while: (e) => e._tag === "PersistenceError",
417
- times: 3,
418
- schedule: Schedule.exponential(250)
419
- }),
420
- Effect.orDie
421
- ),
438
+ interrupt: (workflow, executionId) => Effect.asVoid(interrupt(workflow, executionId)),
439
+ interruptUnsafe: Effect.fnUntraced(function*(workflow, executionId) {
440
+ const requestId = yield* interrupt(workflow, executionId)
441
+ if (Option.isNone(requestId)) return
442
+ const entity = ensureEntity(workflow)
443
+ const runRpc = entity.protocol.requests.get("run")!
444
+ yield* Effect.orDie(sharding.sendOutgoing(
445
+ new Message.OutgoingEnvelope({
446
+ rpc: runRpc,
447
+ envelope: new Envelope.Interrupt({
448
+ id: yield* sharding.getSnowflake,
449
+ address: entityAddressFor({
450
+ workflow,
451
+ entityType: `Workflow/${workflow.name}`,
452
+ executionId
453
+ }),
454
+ requestId: requestId.value
455
+ })
456
+ }),
457
+ false
458
+ ))
459
+ }),
422
460
 
423
461
  resume: (workflow, executionId) => ensureSuccess(resume(workflow, executionId)),
424
462
 
425
463
  activityExecute: Effect.fnUntraced(
426
464
  function*(activity, attempt) {
427
- const services = yield* Effect.services<WorkflowEngine.WorkflowInstance>()
428
- const instance = ServiceMap.get(services, WorkflowEngine.WorkflowInstance)
465
+ const services = yield* Effect.context<WorkflowEngine.WorkflowInstance>()
466
+ const instance = Context.get(services, WorkflowEngine.WorkflowInstance)
429
467
  yield* Effect.annotateCurrentSpan("executionId", instance.executionId)
430
468
  const activityId = `${instance.executionId}/${activity.name}`
431
469
  const client = (yield* RcMap.get(clientsPartial, instance.workflow.name))(instance.executionId)
432
470
  while (true) {
433
471
  if (!activities.has(activityId)) {
434
- activities.set(activityId, { activity, services })
472
+ activities.set(activityId, { activity, context: services })
435
473
  const latch = activityLatches.get(activityId)
436
474
  if (latch) {
437
475
  yield* latch.release
@@ -442,7 +480,7 @@ export const make = Effect.gen(function*() {
442
480
  client.activity({
443
481
  name: activity.name,
444
482
  attempt,
445
- withTransaction: ServiceMap.get(activity.annotations, ClusterSchema.WithTransaction)
483
+ withTransaction: Context.get(activity.annotations, ClusterSchema.WithTransaction)
446
484
  })
447
485
  )
448
486
  // If the activity has suspended and did not execute, we need to resume
@@ -543,7 +581,7 @@ const ActivityRpc = Rpc.make("activity", {
543
581
  name: Schema.String,
544
582
  attempt: Schema.Number,
545
583
  withTransaction: Schema.Boolean.pipe(
546
- Schema.withDecodingDefault(constFalse)
584
+ Schema.withDecodingDefault(Effect.succeed(false))
547
585
  )
548
586
  },
549
587
  primaryKey: ({ attempt, name }) => activityPrimaryKey(name, attempt),
@@ -557,7 +595,7 @@ const ActivityRpc = Rpc.make("activity", {
557
595
  ClusterSchema.Dynamic,
558
596
  (annotations, request) =>
559
597
  (request.payload as any).withTransaction
560
- ? ServiceMap.add(annotations, ClusterSchema.WithTransaction, true)
598
+ ? Context.add(annotations, ClusterSchema.WithTransaction, true)
561
599
  : annotations
562
600
  )
563
601