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
@@ -3,12 +3,32 @@
3
3
  */
4
4
  import * as Equal from "../../Equal.js";
5
5
  import * as Hash from "../../Hash.js";
6
+ import { hasProperty } from "../../Predicate.js";
6
7
  import * as PrimaryKey from "../../PrimaryKey.js";
7
8
  import * as S from "../../Schema.js";
9
+ import * as Getter from "../../SchemaGetter.js";
8
10
  const TypeId = "~effect/cluster/ShardId";
9
- const constDisableChecks = {
10
- disableChecks: true
11
- };
11
+ /**
12
+ * @since 4.0.0
13
+ * @category Guards
14
+ */
15
+ export const isShardId = u => hasProperty(u, TypeId);
16
+ /**
17
+ * @since 4.0.0
18
+ * @category Schema
19
+ */
20
+ export const ShardId = /*#__PURE__*/S.declare(isShardId, {
21
+ toCodecJson: () => S.link()(S.Struct({
22
+ group: S.String,
23
+ id: S.Number
24
+ }), {
25
+ decode: Getter.transform(({
26
+ group,
27
+ id
28
+ }) => make(group, id)),
29
+ encode: Getter.passthrough()
30
+ })
31
+ });
12
32
  /**
13
33
  * @since 4.0.0
14
34
  * @category Constructors
@@ -17,85 +37,63 @@ export const make = (group, id) => {
17
37
  const key = `${group}:${id}`;
18
38
  let shardId = shardIdCache.get(key);
19
39
  if (!shardId) {
20
- shardId = new ShardId({
21
- group,
22
- id
23
- }, constDisableChecks);
40
+ shardId = makeProto(group, id);
24
41
  shardIdCache.set(key, shardId);
25
42
  }
26
43
  return shardId;
27
44
  };
28
45
  const shardIdCache = /*#__PURE__*/new Map();
29
- /**
30
- * @since 4.0.0
31
- * @category Models
32
- */
33
- export class ShardId extends /*#__PURE__*/S.Class(TypeId)({
34
- group: S.String,
35
- id: S.Int
36
- }) {
37
- /**
38
- * @since 4.0.0
39
- */
40
- static make = make;
41
- /**
42
- * @since 4.0.0
43
- */
44
- [TypeId] = TypeId;
45
- /**
46
- * @since 4.0.0
47
- */
46
+ const makeProto = (group, id) => {
47
+ const self = Object.create(ShardIdProto);
48
+ self.group = group;
49
+ self.id = id;
50
+ return self;
51
+ };
52
+ const ShardIdProto = {
53
+ [TypeId]: TypeId,
48
54
  [Equal.symbol](that) {
49
55
  return this.group === that.group && this.id === that.id;
50
- }
51
- /**
52
- * @since 4.0.0
53
- */
56
+ },
54
57
  [Hash.symbol]() {
55
58
  return Hash.string(this.toString());
56
- }
57
- /**
58
- * @since 4.0.0
59
- */
59
+ },
60
60
  [PrimaryKey.symbol]() {
61
61
  return this.toString();
62
- }
63
- /**
64
- * @since 4.0.0
65
- */
62
+ },
66
63
  toString() {
67
64
  return `${this.group}:${this.id}`;
68
65
  }
69
- /**
70
- * @since 4.0.0
71
- */
72
- static toString(shardId) {
73
- return `${shardId.group}:${shardId.id}`;
74
- }
75
- /**
76
- * @since 4.0.0
77
- */
78
- static fromStringEncoded(s) {
79
- const index = s.lastIndexOf(":");
80
- if (index === -1) {
81
- throw new Error(`Invalid ShardId format`);
82
- }
83
- const group = s.substring(0, index);
84
- const id = Number(s.substring(index + 1));
85
- if (isNaN(id)) {
86
- throw new Error(`ShardId id must be a number`);
87
- }
88
- return {
89
- group,
90
- id
91
- };
66
+ };
67
+ /**
68
+ * @since 4.0.0
69
+ * @category Conversions
70
+ */
71
+ export const toString = shardId => {
72
+ return `${shardId.group}:${shardId.id}`;
73
+ };
74
+ /**
75
+ * @since 4.0.0
76
+ */
77
+ export function fromStringEncoded(s) {
78
+ const index = s.lastIndexOf(":");
79
+ if (index === -1) {
80
+ throw new Error(`Invalid ShardId format`);
92
81
  }
93
- /**
94
- * @since 4.0.0
95
- */
96
- static fromString(s) {
97
- const encoded = ShardId.fromStringEncoded(s);
98
- return make(encoded.group, encoded.id);
82
+ const group = s.substring(0, index);
83
+ const id = Number(s.substring(index + 1));
84
+ if (isNaN(id)) {
85
+ throw new Error(`ShardId id must be a number`);
99
86
  }
87
+ return {
88
+ group,
89
+ id
90
+ };
91
+ }
92
+ /**
93
+ * @since 4.0.0
94
+ */
95
+ export function fromString(s) {
96
+ const encoded = fromStringEncoded(s);
97
+ return make(encoded.group, encoded.id);
100
98
  }
101
99
  //# sourceMappingURL=ShardId.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShardId.js","names":["Equal","Hash","PrimaryKey","S","TypeId","constDisableChecks","disableChecks","make","group","id","key","shardId","shardIdCache","get","ShardId","set","Map","Class","String","Int","symbol","that","string","toString","fromStringEncoded","s","index","lastIndexOf","Error","substring","Number","isNaN","fromString","encoded"],"sources":["../../../src/unstable/cluster/ShardId.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,gBAAgB;AACvC,OAAO,KAAKC,IAAI,MAAM,eAAe;AACrC,OAAO,KAAKC,UAAU,MAAM,qBAAqB;AACjD,OAAO,KAAKC,CAAC,MAAM,iBAAiB;AAEpC,MAAMC,MAAM,GAAG,yBAAyB;AAExC,MAAMC,kBAAkB,GAAG;EAAEC,aAAa,EAAE;AAAI,CAAE;AAElD;;;;AAIA,OAAO,MAAMC,IAAI,GAAGA,CAACC,KAAa,EAAEC,EAAU,KAAa;EACzD,MAAMC,GAAG,GAAG,GAAGF,KAAK,IAAIC,EAAE,EAAE;EAC5B,IAAIE,OAAO,GAAGC,YAAY,CAACC,GAAG,CAACH,GAAG,CAAC;EACnC,IAAI,CAACC,OAAO,EAAE;IACZA,OAAO,GAAG,IAAIG,OAAO,CAAC;MAAEN,KAAK;MAAEC;IAAE,CAAE,EAAEJ,kBAAkB,CAAC;IACxDO,YAAY,CAACG,GAAG,CAACL,GAAG,EAAEC,OAAO,CAAC;EAChC;EACA,OAAOA,OAAO;AAChB,CAAC;AAED,MAAMC,YAAY,gBAAG,IAAII,GAAG,EAAmB;AAE/C;;;;AAIA,OAAM,MAAOF,OAAQ,sBAAQX,CAAC,CAACc,KAAK,CAAUb,MAAM,CAAC,CAAC;EACpDI,KAAK,EAAEL,CAAC,CAACe,MAAM;EACfT,EAAE,EAAEN,CAAC,CAACgB;CACP,CAAC;EACA;;;EAGA,OAAgBZ,IAAI,GAAGA,IAAI;EAE3B;;;EAGS,CAACH,MAAM,IAAIA,MAAM;EAE1B;;;EAGA,CAACJ,KAAK,CAACoB,MAAM,EAAEC,IAAa;IAC1B,OAAO,IAAI,CAACb,KAAK,KAAKa,IAAI,CAACb,KAAK,IAAI,IAAI,CAACC,EAAE,KAAKY,IAAI,CAACZ,EAAE;EACzD;EAEA;;;EAGA,CAACR,IAAI,CAACmB,MAAM,IAAC;IACX,OAAOnB,IAAI,CAACqB,MAAM,CAAC,IAAI,CAACC,QAAQ,EAAE,CAAC;EACrC;EAEA;;;EAGA,CAACrB,UAAU,CAACkB,MAAM,IAAC;IACjB,OAAO,IAAI,CAACG,QAAQ,EAAE;EACxB;EAEA;;;EAGSA,QAAQA,CAAA;IACf,OAAO,GAAG,IAAI,CAACf,KAAK,IAAI,IAAI,CAACC,EAAE,EAAE;EACnC;EAEA;;;EAGA,OAAgBc,QAAQA,CAACZ,OAGxB;IACC,OAAO,GAAGA,OAAO,CAACH,KAAK,IAAIG,OAAO,CAACF,EAAE,EAAE;EACzC;EAEA;;;EAGA,OAAOe,iBAAiBA,CAACC,CAAS;IAIhC,MAAMC,KAAK,GAAGD,CAAC,CAACE,WAAW,CAAC,GAAG,CAAC;IAChC,IAAID,KAAK,KAAK,CAAC,CAAC,EAAE;MAChB,MAAM,IAAIE,KAAK,CAAC,wBAAwB,CAAC;IAC3C;IACA,MAAMpB,KAAK,GAAGiB,CAAC,CAACI,SAAS,CAAC,CAAC,EAAEH,KAAK,CAAC;IACnC,MAAMjB,EAAE,GAAGqB,MAAM,CAACL,CAAC,CAACI,SAAS,CAACH,KAAK,GAAG,CAAC,CAAC,CAAC;IACzC,IAAIK,KAAK,CAACtB,EAAE,CAAC,EAAE;MACb,MAAM,IAAImB,KAAK,CAAC,6BAA6B,CAAC;IAChD;IACA,OAAO;MAAEpB,KAAK;MAAEC;IAAE,CAAE;EACtB;EAEA;;;EAGA,OAAOuB,UAAUA,CAACP,CAAS;IACzB,MAAMQ,OAAO,GAAGnB,OAAO,CAACU,iBAAiB,CAACC,CAAC,CAAC;IAC5C,OAAOlB,IAAI,CAAC0B,OAAO,CAACzB,KAAK,EAAEyB,OAAO,CAACxB,EAAE,CAAC;EACxC","ignoreList":[]}
1
+ {"version":3,"file":"ShardId.js","names":["Equal","Hash","hasProperty","PrimaryKey","S","Getter","TypeId","isShardId","u","ShardId","declare","toCodecJson","link","Struct","group","String","id","Number","decode","transform","make","encode","passthrough","key","shardId","shardIdCache","get","makeProto","set","Map","self","Object","create","ShardIdProto","symbol","that","string","toString","fromStringEncoded","s","index","lastIndexOf","Error","substring","isNaN","fromString","encoded"],"sources":["../../../src/unstable/cluster/ShardId.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,9 +1,9 @@
1
+ import * as Context from "../../Context.ts";
1
2
  import type { Input } from "../../Duration.ts";
2
3
  import * as Effect from "../../Effect.ts";
3
4
  import * as Layer from "../../Layer.ts";
4
5
  import * as Schedule from "../../Schedule.ts";
5
6
  import * as Scope from "../../Scope.ts";
6
- import * as ServiceMap from "../../ServiceMap.ts";
7
7
  import * as Stream from "../../Stream.ts";
8
8
  import type * as Rpc from "../rpc/Rpc.ts";
9
9
  import * as RpcClient from "../rpc/RpcClient.ts";
@@ -20,7 +20,7 @@ import type { ShardId } from "./ShardId.ts";
20
20
  import { ShardingConfig } from "./ShardingConfig.ts";
21
21
  import { type ShardingRegistrationEvent } from "./ShardingRegistrationEvent.ts";
22
22
  import * as Snowflake from "./Snowflake.ts";
23
- declare const Sharding_base: ServiceMap.ServiceClass<Sharding, "effect/cluster/Sharding", {
23
+ declare const Sharding_base: Context.ServiceClass<Sharding, "effect/cluster/Sharding", {
24
24
  /**
25
25
  * Returns a stream of events that occur when the runner registers entities or
26
26
  * singletons.
@@ -1 +1 @@
1
- {"version":3,"file":"Sharding.d.ts","sourceRoot":"","sources":["../../../src/unstable/cluster/Sharding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sharding.d.ts","sourceRoot":"","sources":["../../../src/unstable/cluster/Sharding.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  import * as Arr from "../../Array.js";
5
5
  import * as Cause from "../../Cause.js";
6
6
  import { Clock } from "../../Clock.js";
7
+ import * as Context from "../../Context.js";
7
8
  import * as Duration from "../../Duration.js";
8
9
  import * as Effect from "../../Effect.js";
9
10
  import * as Equal from "../../Equal.js";
@@ -23,7 +24,6 @@ import * as Result from "../../Result.js";
23
24
  import * as Schedule from "../../Schedule.js";
24
25
  import * as Scope from "../../Scope.js";
25
26
  import * as Semaphore from "../../Semaphore.js";
26
- import * as ServiceMap from "../../ServiceMap.js";
27
27
  import * as Stream from "../../Stream.js";
28
28
  import * as RpcClient from "../rpc/RpcClient.js";
29
29
  import { RequestId } from "../rpc/RpcMessage.js";
@@ -55,7 +55,7 @@ import * as Snowflake from "./Snowflake.js";
55
55
  * @since 4.0.0
56
56
  * @category models
57
57
  */
58
- export class Sharding extends /*#__PURE__*/ServiceMap.Service()("effect/cluster/Sharding") {}
58
+ export class Sharding extends /*#__PURE__*/Context.Service()("effect/cluster/Sharding") {}
59
59
  const make = /*#__PURE__*/Effect.gen(function* () {
60
60
  const config = yield* ShardingConfig;
61
61
  const getRunnerAddress = () => Option.getOrUndefined(config.runnerAddress);
@@ -65,7 +65,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
65
65
  const snowflakeGen = yield* Snowflake.Generator;
66
66
  const shardingScope = yield* Effect.scope;
67
67
  const isShutdown = MutableRef.make(false);
68
- const services = ServiceMap.omit(Scope.Scope)(yield* Effect.services());
68
+ const services = Context.omit(Scope.Scope)(yield* Effect.context());
69
69
  const runFork = flow(Effect.runForkWith(services), Fiber.runIn(shardingScope));
70
70
  const storage = yield* MessageStorage.MessageStorage;
71
71
  const storageEnabled = storage !== MessageStorage.noop;
@@ -172,7 +172,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
172
172
  yield* storageReadLatch.open;
173
173
  yield* Effect.forkIn(syncSingletons, shardingScope);
174
174
  // update metrics
175
- ClusterMetrics.shards.updateUnsafe(BigInt(MutableHashSet.size(acquiredShards)), ServiceMap.empty());
175
+ ClusterMetrics.shards.updateUnsafe(BigInt(MutableHashSet.size(acquiredShards)), Context.empty());
176
176
  }
177
177
  yield* Effect.sleep(1000);
178
178
  activeShardsLatch.openUnsafe();
@@ -517,7 +517,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
517
517
  function sendOutgoing(message, discard, retries) {
518
518
  return Effect.catchFilter(Effect.suspend(() => {
519
519
  const address = message.envelope.address;
520
- const isPersisted = ServiceMap.get(message._tag === "OutgoingRequest" ? message.annotations : message.rpc.annotations, Persisted);
520
+ const isPersisted = Context.get(message._tag === "OutgoingRequest" ? message.annotations : message.rpc.annotations, Persisted);
521
521
  if (isPersisted && !storageEnabled) {
522
522
  return Effect.die("Sharding.sendOutgoing: Persisted messages require MessageStorage");
523
523
  }
@@ -566,8 +566,8 @@ const make = /*#__PURE__*/Effect.gen(function* () {
566
566
  let healthyRunnerCount = 0;
567
567
  // update metrics
568
568
  if (selfRunner) {
569
- ClusterMetrics.runners.updateUnsafe(BigInt(1), ServiceMap.empty());
570
- ClusterMetrics.runnersHealthy.updateUnsafe(BigInt(1), ServiceMap.empty());
569
+ ClusterMetrics.runners.updateUnsafe(BigInt(1), Context.empty());
570
+ ClusterMetrics.runnersHealthy.updateUnsafe(BigInt(1), Context.empty());
571
571
  }
572
572
  yield* Effect.gen(function* () {
573
573
  const hashRings = new Map();
@@ -650,7 +650,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
650
650
  activeShardsLatch.openUnsafe();
651
651
  // update metrics
652
652
  if (selfRunner) {
653
- ClusterMetrics.runnersHealthy.updateUnsafe(BigInt(MutableHashSet.has(healthyRunners, selfRunner) ? 1 : 0), ServiceMap.empty());
653
+ ClusterMetrics.runnersHealthy.updateUnsafe(BigInt(MutableHashSet.has(healthyRunners, selfRunner) ? 1 : 0), Context.empty());
654
654
  }
655
655
  }
656
656
  if (selfRunner && MutableHashSet.size(healthyRunners) === 0) {
@@ -670,12 +670,12 @@ const make = /*#__PURE__*/Effect.gen(function* () {
670
670
  const clients = yield* ResourceMap.make(Effect.fnUntraced(function* (entity) {
671
671
  const client = yield* RpcClient.makeNoSerialization(entity.protocol, {
672
672
  spanPrefix: `${entity.type}.client`,
673
- disableTracing: !ServiceMap.get(entity.protocol.annotations, ClusterSchema.ClientTracingEnabled),
673
+ disableTracing: !Context.get(entity.protocol.annotations, ClusterSchema.ClientTracingEnabled),
674
674
  supportsAck: true,
675
675
  generateRequestId: () => RequestId(snowflakeGen.nextUnsafe()),
676
676
  flatten: true,
677
677
  onFromClient(options) {
678
- const address = ServiceMap.getUnsafe(options.context, ClientAddressTag);
678
+ const address = Context.getUnsafe(options.context, ClientAddressTag);
679
679
  switch (options.message._tag) {
680
680
  case "Request":
681
681
  {
@@ -697,14 +697,14 @@ const make = /*#__PURE__*/Effect.gen(function* () {
697
697
  envelope,
698
698
  lastReceivedReply: Option.none(),
699
699
  rpc,
700
- services: fiber.services,
700
+ context: fiber.context,
701
701
  respond: reply => respond(reply),
702
- annotations: ServiceMap.get(rpc.annotations, ClusterSchema.Dynamic)(rpc.annotations, envelope)
702
+ annotations: Context.get(rpc.annotations, ClusterSchema.Dynamic)(rpc.annotations, envelope)
703
703
  });
704
704
  if (!options.discard) {
705
705
  const entry = {
706
706
  rpc: rpc,
707
- services: fiber.currentContext,
707
+ context: fiber.currentContext,
708
708
  message
709
709
  };
710
710
  clientRequests.set(id, entry);
@@ -741,7 +741,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
741
741
  // for durable messages, we ignore interrupts on shutdown or as a
742
742
  // result of a shard being resassigned
743
743
  const isTransientInterrupt = MutableRef.get(isShutdown) || options.message.interruptors.some(id => internalInterruptors.has(id));
744
- if (isTransientInterrupt && ServiceMap.get(entry.message.annotations, Persisted)) {
744
+ if (isTransientInterrupt && Context.get(entry.message.annotations, Persisted)) {
745
745
  return Effect.void;
746
746
  }
747
747
  return Effect.ignore(sendOutgoing(new Message.OutgoingEnvelope({
@@ -763,13 +763,13 @@ const make = /*#__PURE__*/Effect.gen(function* () {
763
763
  }));
764
764
  return entityId => {
765
765
  const id = makeEntityId(entityId);
766
- const address = ClientAddressTag.serviceMap(makeEntityAddress({
766
+ const address = ClientAddressTag.context(makeEntityAddress({
767
767
  shardId: getShardId(id, entity.getShardGroup(entityId)),
768
768
  entityId: id,
769
769
  entityType: entity.type
770
770
  }));
771
771
  const clientFn = function (tag, payload, options) {
772
- const context = options?.context ? ServiceMap.merge(options.context, address) : address;
772
+ const context = options?.context ? Context.merge(options.context, address) : address;
773
773
  return client.client(tag, payload, {
774
774
  ...options,
775
775
  context
@@ -835,8 +835,8 @@ const make = /*#__PURE__*/Effect.gen(function* () {
835
835
  if (MutableHashMap.has(map, address)) {
836
836
  return yield* Effect.die(`Singleton '${name}' is already registered`);
837
837
  }
838
- const services = yield* Effect.services();
839
- const wrappedRun = run.pipe(Effect.andThen(Effect.never), Effect.scoped, Effect.provideService(CurrentLogAnnotations, {}), Effect.provideServices(services), Effect.orDie, Effect.interruptible);
838
+ const services = yield* Effect.context();
839
+ const wrappedRun = run.pipe(Effect.andThen(Effect.never), Effect.scoped, Effect.provideService(CurrentLogAnnotations, {}), Effect.provideContext(services), Effect.orDie, Effect.interruptible);
840
840
  MutableHashMap.set(map, address, wrappedRun);
841
841
  yield* PubSub.publish(events, SingletonRegistered({
842
842
  address
@@ -867,7 +867,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
867
867
  }
868
868
  }
869
869
  }
870
- ClusterMetrics.singletons.updateUnsafe(BigInt(yield* FiberMap.size(singletonFibers)), ServiceMap.empty());
870
+ ClusterMetrics.singletons.updateUnsafe(BigInt(yield* FiberMap.size(singletonFibers)), Context.empty());
871
871
  }));
872
872
  // --- Entities ---
873
873
  const reaper = yield* EntityReaper;
@@ -884,7 +884,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
884
884
  storage,
885
885
  runnerAddress,
886
886
  sharding
887
- }).pipe(Effect.provideServices(ServiceMap.mutate(services, services => services.pipe(ServiceMap.add(EntityReaper, reaper), ServiceMap.add(Scope.Scope, scope), ServiceMap.add(Snowflake.Generator, snowflakeGen)))));
887
+ }).pipe(Effect.provideContext(Context.mutate(services, services => services.pipe(Context.add(EntityReaper, reaper), Context.add(Scope.Scope, scope), Context.add(Snowflake.Generator, snowflakeGen)))));
888
888
  const state = {
889
889
  entity,
890
890
  status: "alive",
@@ -998,5 +998,5 @@ const make = /*#__PURE__*/Effect.gen(function* () {
998
998
  */
999
999
  export const layer = /*#__PURE__*/Layer.effect(Sharding)(make).pipe(/*#__PURE__*/Layer.provide([Snowflake.layerGenerator, EntityReaper.layer]));
1000
1000
  // Utilities
1001
- const ClientAddressTag = /*#__PURE__*/ServiceMap.Service("effect/cluster/Sharding/ClientAddress");
1001
+ const ClientAddressTag = /*#__PURE__*/Context.Service("effect/cluster/Sharding/ClientAddress");
1002
1002
  //# sourceMappingURL=Sharding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sharding.js","names":["Arr","Cause","Clock","Duration","Effect","Equal","Fiber","FiberMap","constant","flow","HashRing","Latch","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","PubSub","CurrentLogAnnotations","Result","Schedule","Scope","Semaphore","ServiceMap","Stream","RpcClient","RequestId","AlreadyProcessingMessage","EntityNotAssignedToRunner","ClusterMetrics","Persisted","ClusterSchema","make","makeEntityAddress","makeEntityId","Envelope","EntityManager","EntityReaper","hashString","internalInterruptors","ResourceMap","Message","MessageStorage","Reply","Runner","RunnerHealth","Runners","RunnerStorage","makeShardId","ShardingConfig","EntityRegistered","SingletonRegistered","SingletonAddress","Snowflake","Sharding","Service","gen","config","getRunnerAddress","getOrUndefined","runnerAddress","clock","runnersService","runnerHealth","snowflakeGen","Generator","shardingScope","scope","isShutdown","services","omit","runFork","runForkWith","runIn","storage","storageEnabled","noop","runnerStorage","entityManagers","Map","shardAssignments","empty","selfShards","acquiredShards","activeShardsLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","undefined","equals","getShardId","entityId","group","id","Math","abs","shardsPerGroup","isEntityOnLocalShards","has","shardId","addFinalizer","logDebug","pipe","annotateLogs","module","releasingShards","initialRunnerAddress","selfAddress","addFinalizerExit","ignore","releaseAll","releaseShardsMap","releaseShard","fnUntraced","fibers","state","values","status","push","forkScoped","manager","interruptShard","joinAll","release","remove","unregisterShardReplyHandlers","sandbox","effect","tapError","cause","fiber","runner","eventually","run","onlyIfMissing","releaseShards","hasUnsafe","openUnsafe","await","closeUnsafe","add","size","forkIn","syncSingletons","unacquiredShards","oacquired","acquire","timeoutOption","shardLockRefreshInterval","isNone","acquired","value","resetShards","length","storageReadLatch","open","shards","updateUnsafe","BigInt","sleep","catchCause","logWarning","repeat","spaced","entityMessagePollInterval","suspend","refresh","flatMap","includes","i","void","retry","times","schedule","logError","andThen","clearSelfShards","fixed","forever","delay","sync","clear","openStorageReadLatch","asVoid","storageReadLock","makeUnsafe","withStorageReadLock","withPermits","entityRegistrationTimeoutMillis","toMillis","fromInputUnsafe","entityRegistrationTimeout","storageStartMillis","currentTimeMillisUnsafe","index","messages","removableNotifications","Set","resetAddresses","processMessages","whileLoop","while","step","body","send","message","envelope","get","entityType","sinceStart","die","Error","isProcessing","isProcessingFor","_tag","pendingNotifications","requestId","entry","delete","resume","resumptionState","entityResumptionState","isSome","unprocessed","interrupts","set","error","findError","isFailure","hasInterrupts","saveReply","ReplyWithContext","fromDefect","nextUnsafe","defect","squash","success","resumeEntityFromStorage","take","forEach","clearProcessed","unprocessedMessages","fail","resetAddress","scoped","ensuring","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","unprocessedMessagesById","sendWithRetry","catchTags","interrupt","MailboxFull","sendRetryInterval","e","entity","sendLocal","loop","waitForEntityManager","simulateRemoteSerialization","notifyLocal","discard","options","isLocal","notify","excludeReplies","envelopeId","waitUntilRead","callback","prevResume","storageOnly","sendOutgoing","retries","catchFilter","isPersisted","annotations","rpc","maybeRunner","runnerIsLocal","succeed","reset","matchCause","clearReplies","onSuccess","onFailure","selfRunner","groups","shardGroups","weight","runnerShardWeight","allRunners","healthyRunnerCount","runners","runnersHealthy","hashRings","nextRunners","healthyRunners","withTimeout","timeout","seconds","current","machineId","register","setMachineId","getRunners","changed","healthy","wasHealthy","j","ring","_","onRunnerUnavailable","prevRunners","newAssignments","getShards","shard","setRunnerHealth","refreshAssignmentsInterval","clientRequests","clients","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","flatten","onFromClient","getUnsafe","context","ClientAddressTag","getCurrent","requests","tag","respond","makeRequest","payload","headers","traceId","spanId","sampled","OutgoingRequest","lastReceivedReply","none","reply","Dynamic","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingEnvelope","AckChunk","replyId","lastChunkId","isUninterruptibleForClient","isTransientInterrupt","interruptors","some","Interrupt","withFiber","serviceMap","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","makeClient","_reply","clientId","exit","singletons","singletonFibers","withSingletonLock","registerSingleton","name","shardGroup","map","wrappedRun","never","provideService","provideServices","orDie","interruptible","publish","running","shouldBeRunning","fiberId","reaper","entityManagerLatches","registerEntity","build","sharding","mutate","preemptiveShutdown","shutdown","latch","checkRunner","isAlive","concurrency","runnerHealthCheckInterval","unregister","activeEntityCount","count","of","hasShardId","getSnowflake","pollStorage","layer","provide","layerGenerator"],"sources":["../../../src/unstable/cluster/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Sharding.js","names":["Arr","Cause","Clock","Context","Duration","Effect","Equal","Fiber","FiberMap","constant","flow","HashRing","Latch","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","PubSub","CurrentLogAnnotations","Result","Schedule","Scope","Semaphore","Stream","RpcClient","RequestId","AlreadyProcessingMessage","EntityNotAssignedToRunner","ClusterMetrics","Persisted","ClusterSchema","make","makeEntityAddress","makeEntityId","Envelope","EntityManager","EntityReaper","hashString","internalInterruptors","ResourceMap","Message","MessageStorage","Reply","Runner","RunnerHealth","Runners","RunnerStorage","makeShardId","ShardingConfig","EntityRegistered","SingletonRegistered","SingletonAddress","Snowflake","Sharding","Service","gen","config","getRunnerAddress","getOrUndefined","runnerAddress","clock","runnersService","runnerHealth","snowflakeGen","Generator","shardingScope","scope","isShutdown","services","omit","context","runFork","runForkWith","runIn","storage","storageEnabled","noop","runnerStorage","entityManagers","Map","shardAssignments","empty","selfShards","acquiredShards","activeShardsLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","undefined","equals","getShardId","entityId","group","id","Math","abs","shardsPerGroup","isEntityOnLocalShards","has","shardId","addFinalizer","logDebug","pipe","annotateLogs","module","releasingShards","initialRunnerAddress","selfAddress","addFinalizerExit","ignore","releaseAll","releaseShardsMap","releaseShard","fnUntraced","fibers","state","values","status","push","forkScoped","manager","interruptShard","joinAll","release","remove","unregisterShardReplyHandlers","sandbox","effect","tapError","cause","fiber","runner","eventually","run","onlyIfMissing","releaseShards","hasUnsafe","openUnsafe","await","closeUnsafe","add","size","forkIn","syncSingletons","unacquiredShards","oacquired","acquire","timeoutOption","shardLockRefreshInterval","isNone","acquired","value","resetShards","length","storageReadLatch","open","shards","updateUnsafe","BigInt","sleep","catchCause","logWarning","repeat","spaced","entityMessagePollInterval","suspend","refresh","flatMap","includes","i","void","retry","times","schedule","logError","andThen","clearSelfShards","fixed","forever","delay","sync","clear","openStorageReadLatch","asVoid","storageReadLock","makeUnsafe","withStorageReadLock","withPermits","entityRegistrationTimeoutMillis","toMillis","fromInputUnsafe","entityRegistrationTimeout","storageStartMillis","currentTimeMillisUnsafe","index","messages","removableNotifications","Set","resetAddresses","processMessages","whileLoop","while","step","body","send","message","envelope","get","entityType","sinceStart","die","Error","isProcessing","isProcessingFor","_tag","pendingNotifications","requestId","entry","delete","resume","resumptionState","entityResumptionState","isSome","unprocessed","interrupts","set","error","findError","isFailure","hasInterrupts","saveReply","ReplyWithContext","fromDefect","nextUnsafe","defect","squash","success","resumeEntityFromStorage","take","forEach","clearProcessed","unprocessedMessages","fail","resetAddress","scoped","ensuring","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","unprocessedMessagesById","sendWithRetry","catchTags","interrupt","MailboxFull","sendRetryInterval","e","entity","sendLocal","loop","waitForEntityManager","simulateRemoteSerialization","notifyLocal","discard","options","isLocal","notify","excludeReplies","envelopeId","waitUntilRead","callback","prevResume","storageOnly","sendOutgoing","retries","catchFilter","isPersisted","annotations","rpc","maybeRunner","runnerIsLocal","succeed","reset","matchCause","clearReplies","onSuccess","onFailure","selfRunner","groups","shardGroups","weight","runnerShardWeight","allRunners","healthyRunnerCount","runners","runnersHealthy","hashRings","nextRunners","healthyRunners","withTimeout","timeout","seconds","current","machineId","register","setMachineId","getRunners","changed","healthy","wasHealthy","j","ring","_","onRunnerUnavailable","prevRunners","newAssignments","getShards","shard","setRunnerHealth","refreshAssignmentsInterval","clientRequests","clients","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","flatten","onFromClient","getUnsafe","ClientAddressTag","getCurrent","requests","tag","respond","makeRequest","payload","headers","traceId","spanId","sampled","OutgoingRequest","lastReceivedReply","none","reply","Dynamic","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingEnvelope","AckChunk","replyId","lastChunkId","isUninterruptibleForClient","isTransientInterrupt","interruptors","some","Interrupt","withFiber","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","makeClient","_reply","clientId","exit","singletons","singletonFibers","withSingletonLock","registerSingleton","name","shardGroup","map","wrappedRun","never","provideService","provideContext","orDie","interruptible","publish","running","shouldBeRunning","fiberId","reaper","entityManagerLatches","registerEntity","build","sharding","mutate","preemptiveShutdown","shutdown","latch","checkRunner","isAlive","concurrency","runnerHealthCheckInterval","unregister","activeEntityCount","count","of","hasShardId","getSnowflake","pollStorage","layer","provide","layerGenerator"],"sources":["../../../src/unstable/cluster/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}