effect 4.0.0-beta.43 → 4.0.0-beta.45

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 (918) 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/Equal.d.ts.map +1 -1
  37. package/dist/Equal.js +16 -0
  38. package/dist/Equal.js.map +1 -1
  39. package/dist/ErrorReporter.d.ts +3 -3
  40. package/dist/ErrorReporter.d.ts.map +1 -1
  41. package/dist/ErrorReporter.js +1 -1
  42. package/dist/ErrorReporter.js.map +1 -1
  43. package/dist/ExecutionPlan.d.ts +6 -6
  44. package/dist/ExecutionPlan.d.ts.map +1 -1
  45. package/dist/ExecutionPlan.js +4 -4
  46. package/dist/ExecutionPlan.js.map +1 -1
  47. package/dist/Fiber.d.ts +7 -7
  48. package/dist/Fiber.d.ts.map +1 -1
  49. package/dist/Fiber.js.map +1 -1
  50. package/dist/FiberHandle.d.ts +2 -2
  51. package/dist/FiberHandle.d.ts.map +1 -1
  52. package/dist/FiberHandle.js +4 -4
  53. package/dist/FiberHandle.js.map +1 -1
  54. package/dist/FiberMap.d.ts +2 -2
  55. package/dist/FiberMap.d.ts.map +1 -1
  56. package/dist/FiberMap.js +4 -4
  57. package/dist/FiberMap.js.map +1 -1
  58. package/dist/FiberSet.d.ts +2 -2
  59. package/dist/FiberSet.d.ts.map +1 -1
  60. package/dist/FiberSet.js +4 -4
  61. package/dist/FiberSet.js.map +1 -1
  62. package/dist/FileSystem.d.ts +3 -3
  63. package/dist/FileSystem.d.ts.map +1 -1
  64. package/dist/FileSystem.js +3 -3
  65. package/dist/FileSystem.js.map +1 -1
  66. package/dist/Hash.js +1 -1
  67. package/dist/Hash.js.map +1 -1
  68. package/dist/Layer.d.ts +286 -268
  69. package/dist/Layer.d.ts.map +1 -1
  70. package/dist/Layer.js +133 -134
  71. package/dist/Layer.js.map +1 -1
  72. package/dist/LayerMap.d.ts +18 -18
  73. package/dist/LayerMap.d.ts.map +1 -1
  74. package/dist/LayerMap.js +18 -15
  75. package/dist/LayerMap.js.map +1 -1
  76. package/dist/Logger.d.ts +3 -3
  77. package/dist/Logger.d.ts.map +1 -1
  78. package/dist/Logger.js.map +1 -1
  79. package/dist/ManagedRuntime.d.ts +6 -6
  80. package/dist/ManagedRuntime.d.ts.map +1 -1
  81. package/dist/ManagedRuntime.js +18 -21
  82. package/dist/ManagedRuntime.js.map +1 -1
  83. package/dist/Metric.d.ts +19 -19
  84. package/dist/Metric.d.ts.map +1 -1
  85. package/dist/Metric.js +21 -21
  86. package/dist/Metric.js.map +1 -1
  87. package/dist/Path.d.ts +2 -2
  88. package/dist/Path.d.ts.map +1 -1
  89. package/dist/Path.js +2 -2
  90. package/dist/Path.js.map +1 -1
  91. package/dist/Pool.d.ts.map +1 -1
  92. package/dist/Pool.js +4 -4
  93. package/dist/Pool.js.map +1 -1
  94. package/dist/PubSub.d.ts.map +1 -1
  95. package/dist/PubSub.js +3 -3
  96. package/dist/PubSub.js.map +1 -1
  97. package/dist/Random.d.ts +2 -2
  98. package/dist/Random.d.ts.map +1 -1
  99. package/dist/Random.js +0 -23
  100. package/dist/Random.js.map +1 -1
  101. package/dist/RcMap.d.ts +2 -2
  102. package/dist/RcMap.d.ts.map +1 -1
  103. package/dist/RcMap.js +12 -12
  104. package/dist/RcMap.js.map +1 -1
  105. package/dist/Redactable.d.ts +139 -62
  106. package/dist/Redactable.d.ts.map +1 -1
  107. package/dist/Redactable.js +59 -55
  108. package/dist/Redactable.js.map +1 -1
  109. package/dist/References.d.ts +26 -14
  110. package/dist/References.d.ts.map +1 -1
  111. package/dist/References.js +0 -12
  112. package/dist/References.js.map +1 -1
  113. package/dist/Request.d.ts +5 -5
  114. package/dist/Request.d.ts.map +1 -1
  115. package/dist/Request.js.map +1 -1
  116. package/dist/RequestResolver.d.ts.map +1 -1
  117. package/dist/RequestResolver.js +6 -7
  118. package/dist/RequestResolver.js.map +1 -1
  119. package/dist/Resource.d.ts +0 -3
  120. package/dist/Resource.d.ts.map +1 -1
  121. package/dist/Resource.js +3 -3
  122. package/dist/Resource.js.map +1 -1
  123. package/dist/Schedule.d.ts +2 -2
  124. package/dist/Schedule.d.ts.map +1 -1
  125. package/dist/Schedule.js +2 -2
  126. package/dist/Schedule.js.map +1 -1
  127. package/dist/Scheduler.d.ts +4 -4
  128. package/dist/Scheduler.d.ts.map +1 -1
  129. package/dist/Scheduler.js +7 -4
  130. package/dist/Scheduler.js.map +1 -1
  131. package/dist/Schema.d.ts +531 -214
  132. package/dist/Schema.d.ts.map +1 -1
  133. package/dist/Schema.js +304 -103
  134. package/dist/Schema.js.map +1 -1
  135. package/dist/SchemaAST.d.ts.map +1 -1
  136. package/dist/SchemaAST.js +5 -15
  137. package/dist/SchemaAST.js.map +1 -1
  138. package/dist/SchemaGetter.d.ts +49 -5
  139. package/dist/SchemaGetter.d.ts.map +1 -1
  140. package/dist/SchemaGetter.js +64 -5
  141. package/dist/SchemaGetter.js.map +1 -1
  142. package/dist/SchemaTransformation.d.ts +145 -0
  143. package/dist/SchemaTransformation.d.ts.map +1 -1
  144. package/dist/SchemaTransformation.js +146 -0
  145. package/dist/SchemaTransformation.js.map +1 -1
  146. package/dist/Scope.d.ts +2 -2
  147. package/dist/Scope.d.ts.map +1 -1
  148. package/dist/Scope.js.map +1 -1
  149. package/dist/ScopedCache.d.ts.map +1 -1
  150. package/dist/ScopedCache.js +4 -4
  151. package/dist/ScopedCache.js.map +1 -1
  152. package/dist/Semaphore.d.ts +1 -1
  153. package/dist/Semaphore.d.ts.map +1 -1
  154. package/dist/Semaphore.js +1 -3
  155. package/dist/Semaphore.js.map +1 -1
  156. package/dist/Sink.d.ts +6 -6
  157. package/dist/Sink.d.ts.map +1 -1
  158. package/dist/Sink.js +1 -1
  159. package/dist/Sink.js.map +1 -1
  160. package/dist/Stdio.d.ts +2 -2
  161. package/dist/Stdio.d.ts.map +1 -1
  162. package/dist/Stdio.js +2 -2
  163. package/dist/Stdio.js.map +1 -1
  164. package/dist/Stream.d.ts +187 -117
  165. package/dist/Stream.d.ts.map +1 -1
  166. package/dist/Stream.js +133 -57
  167. package/dist/Stream.js.map +1 -1
  168. package/dist/Terminal.d.ts +3 -3
  169. package/dist/Terminal.d.ts.map +1 -1
  170. package/dist/Terminal.js +2 -2
  171. package/dist/Terminal.js.map +1 -1
  172. package/dist/Tracer.d.ts +16 -16
  173. package/dist/Tracer.d.ts.map +1 -1
  174. package/dist/Tracer.js +11 -8
  175. package/dist/Tracer.js.map +1 -1
  176. package/dist/Unify.d.ts +8 -2
  177. package/dist/Unify.d.ts.map +1 -1
  178. package/dist/Unify.js.map +1 -1
  179. package/dist/index.d.ts +81 -15
  180. package/dist/index.d.ts.map +1 -1
  181. package/dist/index.js +81 -15
  182. package/dist/index.js.map +1 -1
  183. package/dist/internal/core.js.map +1 -1
  184. package/dist/internal/effect.js +74 -74
  185. package/dist/internal/effect.js.map +1 -1
  186. package/dist/internal/layer.js +3 -3
  187. package/dist/internal/layer.js.map +1 -1
  188. package/dist/internal/random.js +2 -2
  189. package/dist/internal/random.js.map +1 -1
  190. package/dist/internal/rcRef.js +9 -9
  191. package/dist/internal/rcRef.js.map +1 -1
  192. package/dist/internal/references.js +13 -13
  193. package/dist/internal/references.js.map +1 -1
  194. package/dist/internal/request.js +6 -6
  195. package/dist/internal/request.js.map +1 -1
  196. package/dist/internal/schedule.js +1 -1
  197. package/dist/internal/schedule.js.map +1 -1
  198. package/dist/internal/schema/representation.js +11 -1
  199. package/dist/internal/schema/representation.js.map +1 -1
  200. package/dist/internal/schema/schema.d.ts +10 -1
  201. package/dist/internal/schema/schema.d.ts.map +1 -1
  202. package/dist/internal/schema/schema.js +21 -1
  203. package/dist/internal/schema/schema.js.map +1 -1
  204. package/dist/testing/TestSchema.d.ts +3 -3
  205. package/dist/testing/TestSchema.d.ts.map +1 -1
  206. package/dist/testing/TestSchema.js.map +1 -1
  207. package/dist/unstable/ai/AiError.d.ts +19 -19
  208. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  209. package/dist/unstable/ai/AiError.js +2 -1
  210. package/dist/unstable/ai/AiError.js.map +1 -1
  211. package/dist/unstable/ai/Chat.d.ts +4 -4
  212. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  213. package/dist/unstable/ai/Chat.js +3 -3
  214. package/dist/unstable/ai/Chat.js.map +1 -1
  215. package/dist/unstable/ai/EmbeddingModel.d.ts +6 -6
  216. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
  217. package/dist/unstable/ai/EmbeddingModel.js +3 -3
  218. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  219. package/dist/unstable/ai/IdGenerator.d.ts +2 -2
  220. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  221. package/dist/unstable/ai/IdGenerator.js +2 -2
  222. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  223. package/dist/unstable/ai/LanguageModel.d.ts +2 -2
  224. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  225. package/dist/unstable/ai/LanguageModel.js +2 -2
  226. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  227. package/dist/unstable/ai/McpSchema.d.ts +54 -54
  228. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  229. package/dist/unstable/ai/McpSchema.js +15 -8
  230. package/dist/unstable/ai/McpSchema.js.map +1 -1
  231. package/dist/unstable/ai/McpServer.d.ts +22 -22
  232. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  233. package/dist/unstable/ai/McpServer.js +49 -46
  234. package/dist/unstable/ai/McpServer.js.map +1 -1
  235. package/dist/unstable/ai/Model.d.ts +3 -3
  236. package/dist/unstable/ai/Model.d.ts.map +1 -1
  237. package/dist/unstable/ai/Model.js +5 -5
  238. package/dist/unstable/ai/Model.js.map +1 -1
  239. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  240. package/dist/unstable/ai/Prompt.js +6 -9
  241. package/dist/unstable/ai/Prompt.js.map +1 -1
  242. package/dist/unstable/ai/Response.d.ts +1 -1
  243. package/dist/unstable/ai/Response.d.ts.map +1 -1
  244. package/dist/unstable/ai/Response.js +6 -7
  245. package/dist/unstable/ai/Response.js.map +1 -1
  246. package/dist/unstable/ai/ResponseIdTracker.d.ts +2 -2
  247. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
  248. package/dist/unstable/ai/ResponseIdTracker.js +2 -2
  249. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  250. package/dist/unstable/ai/Telemetry.d.ts +35 -2
  251. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  252. package/dist/unstable/ai/Telemetry.js +2 -2
  253. package/dist/unstable/ai/Telemetry.js.map +1 -1
  254. package/dist/unstable/ai/Tokenizer.d.ts +2 -2
  255. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  256. package/dist/unstable/ai/Tokenizer.js +2 -2
  257. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  258. package/dist/unstable/ai/Tool.d.ts +16 -16
  259. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  260. package/dist/unstable/ai/Tool.js +41 -13
  261. package/dist/unstable/ai/Tool.js.map +1 -1
  262. package/dist/unstable/ai/Toolkit.d.ts +3 -3
  263. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  264. package/dist/unstable/ai/Toolkit.js +10 -10
  265. package/dist/unstable/ai/Toolkit.js.map +1 -1
  266. package/dist/unstable/cli/Argument.d.ts +2 -3
  267. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  268. package/dist/unstable/cli/Argument.js.map +1 -1
  269. package/dist/unstable/cli/CliError.d.ts +29 -8
  270. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  271. package/dist/unstable/cli/CliError.js +8 -1
  272. package/dist/unstable/cli/CliError.js.map +1 -1
  273. package/dist/unstable/cli/CliOutput.d.ts +2 -2
  274. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  275. package/dist/unstable/cli/CliOutput.js +2 -2
  276. package/dist/unstable/cli/CliOutput.js.map +1 -1
  277. package/dist/unstable/cli/Command.d.ts +14 -14
  278. package/dist/unstable/cli/Command.d.ts.map +1 -1
  279. package/dist/unstable/cli/Command.js +11 -10
  280. package/dist/unstable/cli/Command.js.map +1 -1
  281. package/dist/unstable/cli/Flag.d.ts +2 -3
  282. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  283. package/dist/unstable/cli/Flag.js.map +1 -1
  284. package/dist/unstable/cli/GlobalFlag.d.ts +2 -2
  285. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  286. package/dist/unstable/cli/GlobalFlag.js +2 -2
  287. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  288. package/dist/unstable/cli/HelpDoc.d.ts +8 -8
  289. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  290. package/dist/unstable/cli/Param.d.ts +30 -2
  291. package/dist/unstable/cli/Param.d.ts.map +1 -1
  292. package/dist/unstable/cli/Param.js +17 -7
  293. package/dist/unstable/cli/Param.js.map +1 -1
  294. package/dist/unstable/cli/Prompt.js +8 -2
  295. package/dist/unstable/cli/Prompt.js.map +1 -1
  296. package/dist/unstable/cli/internal/command.d.ts +5 -5
  297. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  298. package/dist/unstable/cli/internal/command.js +3 -3
  299. package/dist/unstable/cli/internal/command.js.map +1 -1
  300. package/dist/unstable/cli/internal/parser.js +94 -15
  301. package/dist/unstable/cli/internal/parser.js.map +1 -1
  302. package/dist/unstable/cluster/ClusterError.d.ts +7 -7
  303. package/dist/unstable/cluster/ClusterSchema.d.ts +12 -9
  304. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  305. package/dist/unstable/cluster/ClusterSchema.js +9 -9
  306. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  307. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  308. package/dist/unstable/cluster/ClusterWorkflowEngine.js +13 -14
  309. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  310. package/dist/unstable/cluster/Entity.d.ts +8 -8
  311. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  312. package/dist/unstable/cluster/Entity.js +12 -12
  313. package/dist/unstable/cluster/Entity.js.map +1 -1
  314. package/dist/unstable/cluster/EntityAddress.d.ts +2 -2
  315. package/dist/unstable/cluster/EntityProxy.js +3 -3
  316. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  317. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  318. package/dist/unstable/cluster/EntityProxyServer.js +4 -4
  319. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  320. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  321. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  322. package/dist/unstable/cluster/EntityResource.js +2 -2
  323. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  324. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  325. package/dist/unstable/cluster/HttpRunner.js +2 -2
  326. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  327. package/dist/unstable/cluster/K8sHttpClient.d.ts +4 -4
  328. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  329. package/dist/unstable/cluster/K8sHttpClient.js +2 -2
  330. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  331. package/dist/unstable/cluster/Message.d.ts +7 -4
  332. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  333. package/dist/unstable/cluster/Message.js +5 -5
  334. package/dist/unstable/cluster/Message.js.map +1 -1
  335. package/dist/unstable/cluster/MessageStorage.d.ts +14 -14
  336. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  337. package/dist/unstable/cluster/MessageStorage.js +8 -8
  338. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  339. package/dist/unstable/cluster/Reply.d.ts +2 -2
  340. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  341. package/dist/unstable/cluster/Reply.js +5 -5
  342. package/dist/unstable/cluster/Reply.js.map +1 -1
  343. package/dist/unstable/cluster/Runner.d.ts +1 -1
  344. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  345. package/dist/unstable/cluster/RunnerHealth.d.ts +2 -2
  346. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  347. package/dist/unstable/cluster/RunnerHealth.js +2 -2
  348. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  349. package/dist/unstable/cluster/RunnerServer.js +1 -1
  350. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  351. package/dist/unstable/cluster/RunnerStorage.d.ts +12 -12
  352. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  353. package/dist/unstable/cluster/RunnerStorage.js +3 -3
  354. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  355. package/dist/unstable/cluster/Runners.d.ts +3 -3
  356. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  357. package/dist/unstable/cluster/Runners.js +7 -7
  358. package/dist/unstable/cluster/Runners.js.map +1 -1
  359. package/dist/unstable/cluster/ShardId.d.ts +35 -49
  360. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  361. package/dist/unstable/cluster/ShardId.js +65 -67
  362. package/dist/unstable/cluster/ShardId.js.map +1 -1
  363. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  364. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  365. package/dist/unstable/cluster/Sharding.js +21 -21
  366. package/dist/unstable/cluster/Sharding.js.map +1 -1
  367. package/dist/unstable/cluster/ShardingConfig.d.ts +2 -2
  368. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  369. package/dist/unstable/cluster/ShardingConfig.js +5 -5
  370. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  371. package/dist/unstable/cluster/SingletonAddress.d.ts +2 -2
  372. package/dist/unstable/cluster/Snowflake.d.ts +2 -2
  373. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  374. package/dist/unstable/cluster/Snowflake.js +2 -2
  375. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  376. package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
  377. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  378. package/dist/unstable/cluster/internal/entityManager.js +15 -14
  379. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  380. package/dist/unstable/cluster/internal/entityReaper.js +2 -2
  381. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  382. package/dist/unstable/cluster/internal/resourceMap.js +3 -3
  383. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  384. package/dist/unstable/devtools/DevToolsClient.d.ts +2 -2
  385. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  386. package/dist/unstable/devtools/DevToolsClient.js +5 -5
  387. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  388. package/dist/unstable/eventlog/Event.d.ts +0 -6
  389. package/dist/unstable/eventlog/Event.d.ts.map +1 -1
  390. package/dist/unstable/eventlog/Event.js +0 -5
  391. package/dist/unstable/eventlog/Event.js.map +1 -1
  392. package/dist/unstable/eventlog/EventGroup.d.ts +0 -2
  393. package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
  394. package/dist/unstable/eventlog/EventGroup.js +0 -2
  395. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  396. package/dist/unstable/eventlog/EventJournal.d.ts +26 -9
  397. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  398. package/dist/unstable/eventlog/EventJournal.js +128 -69
  399. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  400. package/dist/unstable/eventlog/EventLog.d.ts +91 -37
  401. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  402. package/dist/unstable/eventlog/EventLog.js +223 -149
  403. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  404. package/dist/unstable/eventlog/EventLogEncryption.d.ts +11 -9
  405. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  406. package/dist/unstable/eventlog/EventLogEncryption.js +15 -17
  407. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  408. package/dist/unstable/eventlog/EventLogMessage.d.ts +228 -0
  409. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -0
  410. package/dist/unstable/eventlog/EventLogMessage.js +214 -0
  411. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -0
  412. package/dist/unstable/eventlog/EventLogRemote.d.ts +111 -193
  413. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  414. package/dist/unstable/eventlog/EventLogRemote.js +167 -322
  415. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  416. package/dist/unstable/eventlog/EventLogServer.d.ts +26 -48
  417. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  418. package/dist/unstable/eventlog/EventLogServer.js +128 -199
  419. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  420. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +60 -0
  421. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -0
  422. package/dist/unstable/eventlog/EventLogServerEncrypted.js +166 -0
  423. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -0
  424. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +183 -0
  425. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -0
  426. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +461 -0
  427. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -0
  428. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +117 -0
  429. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -0
  430. package/dist/unstable/eventlog/EventLogSessionAuth.js +284 -0
  431. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -0
  432. package/dist/unstable/eventlog/{SqlEventLogJournal.d.ts → SqlEventJournal.d.ts} +2 -2
  433. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -0
  434. package/dist/unstable/eventlog/{SqlEventLogJournal.js → SqlEventJournal.js} +20 -14
  435. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -0
  436. package/dist/unstable/eventlog/{SqlEventLogServer.d.ts → SqlEventLogServerEncrypted.d.ts} +5 -5
  437. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -0
  438. package/dist/unstable/eventlog/{SqlEventLogServer.js → SqlEventLogServerEncrypted.js} +65 -24
  439. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -0
  440. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts +25 -0
  441. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -0
  442. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +354 -0
  443. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -0
  444. package/dist/unstable/eventlog/index.d.ts +22 -2
  445. package/dist/unstable/eventlog/index.d.ts.map +1 -1
  446. package/dist/unstable/eventlog/index.js +22 -2
  447. package/dist/unstable/eventlog/index.js.map +1 -1
  448. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts +2 -0
  449. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts.map +1 -0
  450. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js +89 -0
  451. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -0
  452. package/dist/unstable/http/Etag.d.ts +2 -2
  453. package/dist/unstable/http/Etag.d.ts.map +1 -1
  454. package/dist/unstable/http/Etag.js +2 -2
  455. package/dist/unstable/http/Etag.js.map +1 -1
  456. package/dist/unstable/http/FetchHttpClient.d.ts +6 -3
  457. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  458. package/dist/unstable/http/FetchHttpClient.js +5 -5
  459. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  460. package/dist/unstable/http/Headers.d.ts +5 -2
  461. package/dist/unstable/http/Headers.d.ts.map +1 -1
  462. package/dist/unstable/http/Headers.js +3 -3
  463. package/dist/unstable/http/Headers.js.map +1 -1
  464. package/dist/unstable/http/HttpClient.d.ts +8 -6
  465. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  466. package/dist/unstable/http/HttpClient.js +6 -6
  467. package/dist/unstable/http/HttpClient.js.map +1 -1
  468. package/dist/unstable/http/HttpClientError.d.ts +1 -1
  469. package/dist/unstable/http/HttpClientRequest.d.ts +2 -2
  470. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  471. package/dist/unstable/http/HttpClientRequest.js +4 -4
  472. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  473. package/dist/unstable/http/HttpEffect.d.ts +6 -6
  474. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  475. package/dist/unstable/http/HttpEffect.js +24 -24
  476. package/dist/unstable/http/HttpEffect.js.map +1 -1
  477. package/dist/unstable/http/HttpIncomingMessage.d.ts +2 -2
  478. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  479. package/dist/unstable/http/HttpIncomingMessage.js +2 -2
  480. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  481. package/dist/unstable/http/HttpMiddleware.d.ts +3 -3
  482. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  483. package/dist/unstable/http/HttpMiddleware.js +26 -14
  484. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  485. package/dist/unstable/http/HttpPlatform.d.ts +2 -2
  486. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  487. package/dist/unstable/http/HttpPlatform.js +2 -2
  488. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  489. package/dist/unstable/http/HttpRouter.d.ts +7 -7
  490. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  491. package/dist/unstable/http/HttpRouter.js +29 -29
  492. package/dist/unstable/http/HttpRouter.js.map +1 -1
  493. package/dist/unstable/http/HttpServer.d.ts +2 -2
  494. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  495. package/dist/unstable/http/HttpServer.js +2 -2
  496. package/dist/unstable/http/HttpServer.js.map +1 -1
  497. package/dist/unstable/http/HttpServerError.d.ts +3 -3
  498. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  499. package/dist/unstable/http/HttpServerError.js +3 -3
  500. package/dist/unstable/http/HttpServerError.js.map +1 -1
  501. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  502. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  503. package/dist/unstable/http/HttpServerRequest.js +6 -6
  504. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  505. package/dist/unstable/http/HttpServerResponse.d.ts +2 -2
  506. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  507. package/dist/unstable/http/HttpServerResponse.js +6 -6
  508. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  509. package/dist/unstable/http/Multipart.d.ts +6 -6
  510. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  511. package/dist/unstable/http/Multipart.js +7 -7
  512. package/dist/unstable/http/Multipart.js.map +1 -1
  513. package/dist/unstable/httpapi/HttpApi.d.ts +9 -9
  514. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  515. package/dist/unstable/httpapi/HttpApi.js +8 -8
  516. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  517. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +0 -3
  518. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  519. package/dist/unstable/httpapi/HttpApiBuilder.js +20 -20
  520. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  521. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  522. package/dist/unstable/httpapi/HttpApiClient.js +1 -1
  523. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  524. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +7 -7
  525. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  526. package/dist/unstable/httpapi/HttpApiEndpoint.js +4 -4
  527. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  528. package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
  529. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  530. package/dist/unstable/httpapi/HttpApiGroup.d.ts +8 -8
  531. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  532. package/dist/unstable/httpapi/HttpApiGroup.js +4 -4
  533. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  534. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +6 -6
  535. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  536. package/dist/unstable/httpapi/HttpApiMiddleware.js +5 -5
  537. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  538. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +9 -6
  539. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  540. package/dist/unstable/httpapi/HttpApiSecurity.js +6 -6
  541. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  542. package/dist/unstable/httpapi/OpenApi.d.ts +15 -15
  543. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  544. package/dist/unstable/httpapi/OpenApi.js +23 -23
  545. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  546. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  547. package/dist/unstable/observability/OtlpExporter.js +5 -5
  548. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  549. package/dist/unstable/observability/OtlpMetrics.js +1 -1
  550. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  551. package/dist/unstable/observability/OtlpSerialization.d.ts +2 -2
  552. package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
  553. package/dist/unstable/observability/OtlpSerialization.js +2 -2
  554. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  555. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  556. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  557. package/dist/unstable/observability/PrometheusMetrics.d.ts +3 -3
  558. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  559. package/dist/unstable/observability/PrometheusMetrics.js +4 -33
  560. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  561. package/dist/unstable/persistence/KeyValueStore.d.ts +23 -2
  562. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  563. package/dist/unstable/persistence/KeyValueStore.js +144 -2
  564. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  565. package/dist/unstable/persistence/PersistedCache.d.ts +1 -2
  566. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  567. package/dist/unstable/persistence/PersistedCache.js +10 -11
  568. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  569. package/dist/unstable/persistence/PersistedQueue.d.ts +4 -4
  570. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  571. package/dist/unstable/persistence/PersistedQueue.js +3 -3
  572. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  573. package/dist/unstable/persistence/Persistence.d.ts +4 -4
  574. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  575. package/dist/unstable/persistence/Persistence.js +3 -3
  576. package/dist/unstable/persistence/Persistence.js.map +1 -1
  577. package/dist/unstable/persistence/RateLimiter.d.ts +6 -6
  578. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  579. package/dist/unstable/persistence/RateLimiter.js +3 -3
  580. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  581. package/dist/unstable/persistence/Redis.d.ts +3 -3
  582. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  583. package/dist/unstable/persistence/Redis.js +2 -2
  584. package/dist/unstable/persistence/Redis.js.map +1 -1
  585. package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -2
  586. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  587. package/dist/unstable/process/ChildProcessSpawner.js +2 -2
  588. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  589. package/dist/unstable/reactivity/Atom.d.ts +36 -36
  590. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  591. package/dist/unstable/reactivity/Atom.js +9 -9
  592. package/dist/unstable/reactivity/Atom.js.map +1 -1
  593. package/dist/unstable/reactivity/AtomHttpApi.d.ts +4 -5
  594. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  595. package/dist/unstable/reactivity/AtomHttpApi.js +4 -4
  596. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  597. package/dist/unstable/reactivity/AtomRegistry.d.ts +2 -2
  598. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  599. package/dist/unstable/reactivity/AtomRegistry.js +3 -3
  600. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  601. package/dist/unstable/reactivity/AtomRpc.d.ts +4 -5
  602. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  603. package/dist/unstable/reactivity/AtomRpc.js +5 -5
  604. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  605. package/dist/unstable/reactivity/Reactivity.d.ts +2 -2
  606. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  607. package/dist/unstable/reactivity/Reactivity.js +6 -6
  608. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  609. package/dist/unstable/rpc/Rpc.d.ts +35 -14
  610. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  611. package/dist/unstable/rpc/Rpc.js +30 -4
  612. package/dist/unstable/rpc/Rpc.js.map +1 -1
  613. package/dist/unstable/rpc/RpcClient.d.ts +21 -21
  614. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  615. package/dist/unstable/rpc/RpcClient.js +73 -40
  616. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  617. package/dist/unstable/rpc/RpcClientError.d.ts +2 -2
  618. package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
  619. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  620. package/dist/unstable/rpc/RpcGroup.js +20 -20
  621. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  622. package/dist/unstable/rpc/RpcMiddleware.d.ts +8 -8
  623. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  624. package/dist/unstable/rpc/RpcMiddleware.js +5 -5
  625. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  626. package/dist/unstable/rpc/RpcSchema.d.ts +3 -3
  627. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  628. package/dist/unstable/rpc/RpcSchema.js +3 -3
  629. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  630. package/dist/unstable/rpc/RpcSerialization.d.ts +2 -2
  631. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  632. package/dist/unstable/rpc/RpcSerialization.js +2 -2
  633. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  634. package/dist/unstable/rpc/RpcServer.d.ts +2 -2
  635. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  636. package/dist/unstable/rpc/RpcServer.js +21 -20
  637. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  638. package/dist/unstable/rpc/RpcWorker.d.ts +2 -2
  639. package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
  640. package/dist/unstable/rpc/RpcWorker.js +4 -4
  641. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  642. package/dist/unstable/rpc/Utils.d.ts +6 -3
  643. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  644. package/dist/unstable/rpc/Utils.js +46 -5
  645. package/dist/unstable/rpc/Utils.js.map +1 -1
  646. package/dist/unstable/schema/Model.d.ts +2 -2
  647. package/dist/unstable/schema/Model.d.ts.map +1 -1
  648. package/dist/unstable/schema/Model.js +2 -4
  649. package/dist/unstable/schema/Model.js.map +1 -1
  650. package/dist/unstable/schema/VariantSchema.d.ts +1 -1
  651. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  652. package/dist/unstable/schema/VariantSchema.js +1 -12
  653. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  654. package/dist/unstable/socket/Socket.d.ts +10 -10
  655. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  656. package/dist/unstable/socket/Socket.js +9 -9
  657. package/dist/unstable/socket/Socket.js.map +1 -1
  658. package/dist/unstable/socket/SocketServer.d.ts +5 -2
  659. package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
  660. package/dist/unstable/socket/SocketServer.js +2 -2
  661. package/dist/unstable/socket/SocketServer.js.map +1 -1
  662. package/dist/unstable/sql/SqlClient.d.ts +5 -5
  663. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  664. package/dist/unstable/sql/SqlClient.js +7 -7
  665. package/dist/unstable/sql/SqlClient.js.map +1 -1
  666. package/dist/unstable/sql/SqlConnection.d.ts +2 -2
  667. package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
  668. package/dist/unstable/sql/SqlConnection.js +5 -2
  669. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  670. package/dist/unstable/sql/SqlError.d.ts +12 -12
  671. package/dist/unstable/sql/SqlModel.d.ts +8 -9
  672. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  673. package/dist/unstable/sql/SqlModel.js +9 -35
  674. package/dist/unstable/sql/SqlModel.js.map +1 -1
  675. package/dist/unstable/sql/SqlResolver.js +11 -11
  676. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  677. package/dist/unstable/sql/Statement.d.ts +2 -2
  678. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  679. package/dist/unstable/sql/Statement.js +2 -2
  680. package/dist/unstable/sql/Statement.js.map +1 -1
  681. package/dist/unstable/workers/Transferable.d.ts +3 -3
  682. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  683. package/dist/unstable/workers/Transferable.js +7 -7
  684. package/dist/unstable/workers/Transferable.js.map +1 -1
  685. package/dist/unstable/workers/Worker.d.ts +3 -3
  686. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  687. package/dist/unstable/workers/Worker.js +6 -3
  688. package/dist/unstable/workers/Worker.js.map +1 -1
  689. package/dist/unstable/workers/WorkerError.d.ts +5 -5
  690. package/dist/unstable/workers/WorkerRunner.d.ts +2 -2
  691. package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
  692. package/dist/unstable/workers/WorkerRunner.js +5 -2
  693. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  694. package/dist/unstable/workflow/Activity.d.ts +7 -7
  695. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  696. package/dist/unstable/workflow/Activity.js +7 -7
  697. package/dist/unstable/workflow/Activity.js.map +1 -1
  698. package/dist/unstable/workflow/DurableClock.d.ts +0 -3
  699. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  700. package/dist/unstable/workflow/DurableClock.js +3 -3
  701. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  702. package/dist/unstable/workflow/DurableDeferred.d.ts +1 -1
  703. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  704. package/dist/unstable/workflow/DurableDeferred.js +7 -7
  705. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  706. package/dist/unstable/workflow/Workflow.d.ts +9 -9
  707. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  708. package/dist/unstable/workflow/Workflow.js +18 -18
  709. package/dist/unstable/workflow/Workflow.js.map +1 -1
  710. package/dist/unstable/workflow/WorkflowEngine.d.ts +3 -3
  711. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  712. package/dist/unstable/workflow/WorkflowEngine.js +5 -5
  713. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  714. package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
  715. package/dist/unstable/workflow/WorkflowProxyServer.js +4 -4
  716. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  717. package/package.json +1 -1
  718. package/src/Cache.ts +18 -46
  719. package/src/Cause.ts +21 -21
  720. package/src/Channel.ts +120 -79
  721. package/src/Clock.ts +2 -2
  722. package/src/Config.ts +2 -2
  723. package/src/ConfigProvider.ts +5 -5
  724. package/src/Console.ts +2 -2
  725. package/src/{ServiceMap.ts → Context.ts} +337 -340
  726. package/src/DateTime.ts +2 -2
  727. package/src/Effect.ts +182 -184
  728. package/src/Equal.ts +17 -0
  729. package/src/ErrorReporter.ts +3 -3
  730. package/src/ExecutionPlan.ts +8 -9
  731. package/src/Fiber.ts +7 -7
  732. package/src/FiberHandle.ts +5 -5
  733. package/src/FiberMap.ts +5 -5
  734. package/src/FiberSet.ts +5 -5
  735. package/src/FileSystem.ts +3 -3
  736. package/src/Hash.ts +2 -2
  737. package/src/Layer.ts +333 -307
  738. package/src/LayerMap.ts +27 -26
  739. package/src/Logger.ts +3 -3
  740. package/src/ManagedRuntime.ts +32 -32
  741. package/src/Metric.ts +58 -58
  742. package/src/Path.ts +2 -2
  743. package/src/Pool.ts +5 -5
  744. package/src/PubSub.ts +3 -3
  745. package/src/Random.ts +2 -2
  746. package/src/RcMap.ts +14 -14
  747. package/src/Redactable.ts +146 -72
  748. package/src/References.ts +14 -14
  749. package/src/Request.ts +5 -5
  750. package/src/RequestResolver.ts +6 -7
  751. package/src/Resource.ts +4 -4
  752. package/src/Schedule.ts +2 -2
  753. package/src/Scheduler.ts +4 -4
  754. package/src/Schema.ts +837 -397
  755. package/src/SchemaAST.ts +5 -14
  756. package/src/SchemaGetter.ts +69 -11
  757. package/src/SchemaTransformation.ts +166 -0
  758. package/src/Scope.ts +2 -2
  759. package/src/ScopedCache.ts +5 -5
  760. package/src/Semaphore.ts +2 -4
  761. package/src/Sink.ts +9 -9
  762. package/src/Stdio.ts +2 -2
  763. package/src/Stream.ts +234 -158
  764. package/src/Terminal.ts +3 -3
  765. package/src/Tracer.ts +17 -17
  766. package/src/Unify.ts +26 -2
  767. package/src/index.ts +82 -16
  768. package/src/internal/core.ts +7 -7
  769. package/src/internal/effect.ts +106 -106
  770. package/src/internal/layer.ts +7 -7
  771. package/src/internal/random.ts +2 -2
  772. package/src/internal/rcRef.ts +10 -10
  773. package/src/internal/references.ts +13 -13
  774. package/src/internal/request.ts +8 -8
  775. package/src/internal/schedule.ts +3 -1
  776. package/src/internal/schema/representation.ts +8 -1
  777. package/src/internal/schema/schema.ts +24 -1
  778. package/src/testing/TestSchema.ts +3 -3
  779. package/src/unstable/ai/AiError.ts +3 -2
  780. package/src/unstable/ai/Chat.ts +3 -3
  781. package/src/unstable/ai/EmbeddingModel.ts +3 -3
  782. package/src/unstable/ai/IdGenerator.ts +2 -2
  783. package/src/unstable/ai/LanguageModel.ts +2 -2
  784. package/src/unstable/ai/McpSchema.ts +11 -9
  785. package/src/unstable/ai/McpServer.ts +68 -66
  786. package/src/unstable/ai/Model.ts +8 -8
  787. package/src/unstable/ai/Prompt.ts +6 -12
  788. package/src/unstable/ai/Response.ts +6 -8
  789. package/src/unstable/ai/ResponseIdTracker.ts +2 -4
  790. package/src/unstable/ai/Telemetry.ts +2 -2
  791. package/src/unstable/ai/Tokenizer.ts +2 -2
  792. package/src/unstable/ai/Tool.ts +25 -25
  793. package/src/unstable/ai/Toolkit.ts +12 -12
  794. package/src/unstable/cli/Argument.ts +3 -4
  795. package/src/unstable/cli/CliError.ts +22 -9
  796. package/src/unstable/cli/CliOutput.ts +2 -2
  797. package/src/unstable/cli/Command.ts +36 -30
  798. package/src/unstable/cli/Flag.ts +3 -4
  799. package/src/unstable/cli/GlobalFlag.ts +3 -3
  800. package/src/unstable/cli/HelpDoc.ts +8 -8
  801. package/src/unstable/cli/Param.ts +39 -16
  802. package/src/unstable/cli/Prompt.ts +13 -6
  803. package/src/unstable/cli/internal/command.ts +7 -7
  804. package/src/unstable/cli/internal/parser.ts +130 -21
  805. package/src/unstable/cluster/ClusterSchema.ts +12 -12
  806. package/src/unstable/cluster/ClusterWorkflowEngine.ts +14 -15
  807. package/src/unstable/cluster/Entity.ts +25 -25
  808. package/src/unstable/cluster/EntityProxy.ts +3 -3
  809. package/src/unstable/cluster/EntityProxyServer.ts +4 -4
  810. package/src/unstable/cluster/EntityResource.ts +2 -2
  811. package/src/unstable/cluster/HttpRunner.ts +2 -2
  812. package/src/unstable/cluster/K8sHttpClient.ts +2 -2
  813. package/src/unstable/cluster/Message.ts +8 -8
  814. package/src/unstable/cluster/MessageStorage.ts +11 -11
  815. package/src/unstable/cluster/Reply.ts +7 -7
  816. package/src/unstable/cluster/RunnerHealth.ts +2 -2
  817. package/src/unstable/cluster/RunnerServer.ts +1 -1
  818. package/src/unstable/cluster/RunnerStorage.ts +9 -9
  819. package/src/unstable/cluster/Runners.ts +7 -7
  820. package/src/unstable/cluster/ShardId.ts +84 -74
  821. package/src/unstable/cluster/Sharding.ts +26 -26
  822. package/src/unstable/cluster/ShardingConfig.ts +5 -5
  823. package/src/unstable/cluster/Snowflake.ts +2 -2
  824. package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
  825. package/src/unstable/cluster/internal/entityManager.ts +27 -23
  826. package/src/unstable/cluster/internal/entityReaper.ts +2 -2
  827. package/src/unstable/cluster/internal/resourceMap.ts +3 -3
  828. package/src/unstable/devtools/DevToolsClient.ts +5 -5
  829. package/src/unstable/eventlog/Event.ts +0 -8
  830. package/src/unstable/eventlog/EventGroup.ts +0 -4
  831. package/src/unstable/eventlog/EventJournal.ts +146 -78
  832. package/src/unstable/eventlog/EventLog.ts +353 -232
  833. package/src/unstable/eventlog/EventLogEncryption.ts +18 -32
  834. package/src/unstable/eventlog/EventLogMessage.ts +277 -0
  835. package/src/unstable/eventlog/EventLogRemote.ts +263 -410
  836. package/src/unstable/eventlog/EventLogServer.ts +183 -275
  837. package/src/unstable/eventlog/EventLogServerEncrypted.ts +206 -0
  838. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +749 -0
  839. package/src/unstable/eventlog/EventLogSessionAuth.ts +437 -0
  840. package/src/unstable/eventlog/{SqlEventLogJournal.ts → SqlEventJournal.ts} +26 -18
  841. package/src/unstable/eventlog/{SqlEventLogServer.ts → SqlEventLogServerEncrypted.ts} +102 -40
  842. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +500 -0
  843. package/src/unstable/eventlog/index.ts +27 -2
  844. package/src/unstable/eventlog/internal/identityRootSecretDerivation.ts +153 -0
  845. package/src/unstable/http/Etag.ts +2 -2
  846. package/src/unstable/http/FetchHttpClient.ts +5 -5
  847. package/src/unstable/http/Headers.ts +4 -4
  848. package/src/unstable/http/HttpClient.ts +9 -8
  849. package/src/unstable/http/HttpClientRequest.ts +5 -5
  850. package/src/unstable/http/HttpEffect.ts +35 -35
  851. package/src/unstable/http/HttpIncomingMessage.ts +2 -2
  852. package/src/unstable/http/HttpMiddleware.ts +28 -14
  853. package/src/unstable/http/HttpPlatform.ts +2 -2
  854. package/src/unstable/http/HttpRouter.ts +37 -37
  855. package/src/unstable/http/HttpServer.ts +2 -2
  856. package/src/unstable/http/HttpServerError.ts +4 -4
  857. package/src/unstable/http/HttpServerRequest.ts +7 -7
  858. package/src/unstable/http/HttpServerResponse.ts +8 -8
  859. package/src/unstable/http/Multipart.ts +8 -8
  860. package/src/unstable/httpapi/HttpApi.ts +18 -18
  861. package/src/unstable/httpapi/HttpApiBuilder.ts +20 -20
  862. package/src/unstable/httpapi/HttpApiClient.ts +4 -4
  863. package/src/unstable/httpapi/HttpApiEndpoint.ts +14 -14
  864. package/src/unstable/httpapi/HttpApiGroup.ts +16 -16
  865. package/src/unstable/httpapi/HttpApiMiddleware.ts +14 -14
  866. package/src/unstable/httpapi/HttpApiSecurity.ts +13 -13
  867. package/src/unstable/httpapi/OpenApi.ts +29 -31
  868. package/src/unstable/observability/OtlpExporter.ts +5 -5
  869. package/src/unstable/observability/OtlpMetrics.ts +1 -1
  870. package/src/unstable/observability/OtlpSerialization.ts +2 -2
  871. package/src/unstable/observability/OtlpTracer.ts +2 -2
  872. package/src/unstable/observability/PrometheusMetrics.ts +5 -5
  873. package/src/unstable/persistence/KeyValueStore.ts +226 -3
  874. package/src/unstable/persistence/PersistedCache.ts +20 -17
  875. package/src/unstable/persistence/PersistedQueue.ts +3 -3
  876. package/src/unstable/persistence/Persistence.ts +4 -4
  877. package/src/unstable/persistence/RateLimiter.ts +3 -3
  878. package/src/unstable/persistence/Redis.ts +2 -2
  879. package/src/unstable/process/ChildProcessSpawner.ts +46 -2
  880. package/src/unstable/reactivity/Atom.ts +79 -79
  881. package/src/unstable/reactivity/AtomHttpApi.ts +27 -12
  882. package/src/unstable/reactivity/AtomRegistry.ts +4 -4
  883. package/src/unstable/reactivity/AtomRpc.ts +20 -9
  884. package/src/unstable/reactivity/Reactivity.ts +6 -6
  885. package/src/unstable/rpc/Rpc.ts +59 -21
  886. package/src/unstable/rpc/RpcClient.ts +103 -54
  887. package/src/unstable/rpc/RpcGroup.ts +31 -31
  888. package/src/unstable/rpc/RpcMiddleware.ts +16 -16
  889. package/src/unstable/rpc/RpcSchema.ts +4 -4
  890. package/src/unstable/rpc/RpcSerialization.ts +2 -2
  891. package/src/unstable/rpc/RpcServer.ts +24 -22
  892. package/src/unstable/rpc/RpcWorker.ts +5 -5
  893. package/src/unstable/rpc/Utils.ts +63 -4
  894. package/src/unstable/schema/Model.ts +4 -6
  895. package/src/unstable/schema/VariantSchema.ts +4 -17
  896. package/src/unstable/socket/Socket.ts +9 -9
  897. package/src/unstable/socket/SocketServer.ts +2 -2
  898. package/src/unstable/sql/SqlClient.ts +11 -11
  899. package/src/unstable/sql/SqlConnection.ts +2 -2
  900. package/src/unstable/sql/SqlModel.ts +54 -82
  901. package/src/unstable/sql/SqlResolver.ts +11 -11
  902. package/src/unstable/sql/Statement.ts +2 -2
  903. package/src/unstable/workers/Transferable.ts +15 -17
  904. package/src/unstable/workers/Worker.ts +4 -4
  905. package/src/unstable/workers/WorkerRunner.ts +2 -2
  906. package/src/unstable/workflow/Activity.ts +14 -14
  907. package/src/unstable/workflow/DurableClock.ts +3 -3
  908. package/src/unstable/workflow/DurableDeferred.ts +8 -8
  909. package/src/unstable/workflow/Workflow.ts +23 -23
  910. package/src/unstable/workflow/WorkflowEngine.ts +6 -6
  911. package/src/unstable/workflow/WorkflowProxyServer.ts +4 -4
  912. package/dist/ServiceMap.d.ts +0 -1150
  913. package/dist/ServiceMap.d.ts.map +0 -1
  914. package/dist/ServiceMap.js.map +0 -1
  915. package/dist/unstable/eventlog/SqlEventLogJournal.d.ts.map +0 -1
  916. package/dist/unstable/eventlog/SqlEventLogJournal.js.map +0 -1
  917. package/dist/unstable/eventlog/SqlEventLogServer.d.ts.map +0 -1
  918. package/dist/unstable/eventlog/SqlEventLogServer.js.map +0 -1
@@ -0,0 +1,500 @@
1
+ /**
2
+ * @since 4.0.0
3
+ */
4
+ import * as Arr from "../../Array.ts"
5
+ import * as Effect from "../../Effect.ts"
6
+ import * as Layer from "../../Layer.ts"
7
+ import * as PubSub from "../../PubSub.ts"
8
+ import * as RcMap from "../../RcMap.ts"
9
+ import * as Schema from "../../Schema.ts"
10
+ import type * as Scope from "../../Scope.ts"
11
+ import * as Stream from "../../Stream.ts"
12
+ import * as SqlClient from "../sql/SqlClient.ts"
13
+ import * as SqlError from "../sql/SqlError.ts"
14
+ import { Entry, EntryId, makeRemoteIdUnsafe, RemoteEntry, type RemoteId } from "./EventJournal.ts"
15
+ import * as EventLogServerUnencrypted from "./EventLogServerUnencrypted.ts"
16
+
17
+ /**
18
+ * @since 4.0.0
19
+ * @category constructors
20
+ */
21
+ export const makeStorage = (options?: {
22
+ readonly entryTablePrefix?: string
23
+ readonly remoteIdTable?: string
24
+ readonly insertBatchSize?: number
25
+ }): Effect.Effect<
26
+ EventLogServerUnencrypted.Storage["Service"],
27
+ SqlError.SqlError,
28
+ SqlClient.SqlClient | Scope.Scope
29
+ > =>
30
+ Effect.gen(function*() {
31
+ const sql = (yield* SqlClient.SqlClient).withoutTransforms()
32
+
33
+ const entriesTable = options?.entryTablePrefix ?? "effect_events"
34
+ const remoteIdTable = options?.remoteIdTable ?? "effect_remote_id"
35
+ const insertBatchSize = options?.insertBatchSize ?? 200
36
+ const storesTable = `${entriesTable}_stores`
37
+ const sessionAuthBindingsTable = `${entriesTable}_session_auth_bindings`
38
+
39
+ const remoteIdTableSql = sql(remoteIdTable)
40
+ const entriesTableSql = sql(entriesTable)
41
+ const storesTableSql = sql(storesTable)
42
+ const sessionAuthBindingsTableSql = sql(sessionAuthBindingsTable)
43
+
44
+ yield* sql.onDialectOrElse({
45
+ pg: () =>
46
+ sql`
47
+ CREATE TABLE IF NOT EXISTS ${remoteIdTableSql} (
48
+ singleton INT PRIMARY KEY,
49
+ remote_id BYTEA NOT NULL
50
+ )`,
51
+ mysql: () =>
52
+ sql`
53
+ CREATE TABLE IF NOT EXISTS ${remoteIdTableSql} (
54
+ singleton INT PRIMARY KEY,
55
+ remote_id BINARY(16) NOT NULL
56
+ )`,
57
+ mssql: () =>
58
+ sql`
59
+ CREATE TABLE IF NOT EXISTS ${remoteIdTableSql} (
60
+ singleton INT PRIMARY KEY,
61
+ remote_id VARBINARY(16) NOT NULL
62
+ )`,
63
+ orElse: () =>
64
+ sql`
65
+ CREATE TABLE IF NOT EXISTS ${remoteIdTableSql} (
66
+ singleton INTEGER PRIMARY KEY,
67
+ remote_id BLOB NOT NULL
68
+ )`
69
+ })
70
+
71
+ yield* sql.onDialectOrElse({
72
+ pg: () =>
73
+ sql`
74
+ CREATE TABLE IF NOT EXISTS ${entriesTableSql} (
75
+ store_id TEXT NOT NULL,
76
+ sequence BIGINT NOT NULL,
77
+ entry_id BYTEA NOT NULL,
78
+ event TEXT NOT NULL,
79
+ primary_key TEXT NOT NULL,
80
+ payload BYTEA NOT NULL,
81
+ PRIMARY KEY (store_id, sequence),
82
+ UNIQUE (store_id, entry_id)
83
+ )`,
84
+ mysql: () =>
85
+ sql`
86
+ CREATE TABLE IF NOT EXISTS ${entriesTableSql} (
87
+ store_id VARCHAR(191) NOT NULL,
88
+ sequence BIGINT NOT NULL,
89
+ entry_id BINARY(16) NOT NULL,
90
+ event TEXT NOT NULL,
91
+ primary_key TEXT NOT NULL,
92
+ payload BLOB NOT NULL,
93
+ PRIMARY KEY (store_id, sequence),
94
+ UNIQUE (store_id, entry_id)
95
+ )`,
96
+ mssql: () =>
97
+ sql`
98
+ CREATE TABLE IF NOT EXISTS ${entriesTableSql} (
99
+ store_id NVARCHAR(191) NOT NULL,
100
+ sequence BIGINT NOT NULL,
101
+ entry_id VARBINARY(16) NOT NULL,
102
+ event NVARCHAR(MAX) NOT NULL,
103
+ primary_key NVARCHAR(MAX) NOT NULL,
104
+ payload VARBINARY(MAX) NOT NULL,
105
+ PRIMARY KEY (store_id, sequence),
106
+ UNIQUE (store_id, entry_id)
107
+ )`,
108
+ orElse: () =>
109
+ sql`
110
+ CREATE TABLE IF NOT EXISTS ${entriesTableSql} (
111
+ store_id TEXT NOT NULL,
112
+ sequence INTEGER NOT NULL,
113
+ entry_id BLOB NOT NULL,
114
+ event TEXT NOT NULL,
115
+ primary_key TEXT NOT NULL,
116
+ payload BLOB NOT NULL,
117
+ PRIMARY KEY (store_id, sequence),
118
+ UNIQUE (store_id, entry_id)
119
+ )`
120
+ })
121
+
122
+ yield* sql.onDialectOrElse({
123
+ pg: () =>
124
+ sql`
125
+ CREATE TABLE IF NOT EXISTS ${storesTableSql} (
126
+ store_id TEXT PRIMARY KEY,
127
+ next_sequence BIGINT NOT NULL
128
+ )`,
129
+ mysql: () =>
130
+ sql`
131
+ CREATE TABLE IF NOT EXISTS ${storesTableSql} (
132
+ store_id VARCHAR(191) PRIMARY KEY,
133
+ next_sequence BIGINT NOT NULL
134
+ )`,
135
+ mssql: () =>
136
+ sql`
137
+ CREATE TABLE IF NOT EXISTS ${storesTableSql} (
138
+ store_id NVARCHAR(191) PRIMARY KEY,
139
+ next_sequence BIGINT NOT NULL
140
+ )`,
141
+ orElse: () =>
142
+ sql`
143
+ CREATE TABLE IF NOT EXISTS ${storesTableSql} (
144
+ store_id TEXT PRIMARY KEY,
145
+ next_sequence INTEGER NOT NULL
146
+ )`
147
+ })
148
+
149
+ yield* sql.onDialectOrElse({
150
+ pg: () =>
151
+ sql`
152
+ CREATE TABLE IF NOT EXISTS ${sessionAuthBindingsTableSql} (
153
+ public_key TEXT PRIMARY KEY,
154
+ signing_public_key BYTEA NOT NULL
155
+ )`,
156
+ mysql: () =>
157
+ sql`
158
+ CREATE TABLE IF NOT EXISTS ${sessionAuthBindingsTableSql} (
159
+ public_key VARCHAR(191) PRIMARY KEY,
160
+ signing_public_key BINARY(32) NOT NULL
161
+ )`,
162
+ mssql: () =>
163
+ sql`
164
+ CREATE TABLE IF NOT EXISTS ${sessionAuthBindingsTableSql} (
165
+ public_key NVARCHAR(191) PRIMARY KEY,
166
+ signing_public_key VARBINARY(32) NOT NULL
167
+ )`,
168
+ orElse: () =>
169
+ sql`
170
+ CREATE TABLE IF NOT EXISTS ${sessionAuthBindingsTableSql} (
171
+ public_key TEXT PRIMARY KEY,
172
+ signing_public_key BLOB NOT NULL
173
+ )`
174
+ })
175
+
176
+ const selectRemoteId = sql<{ remote_id: Uint8Array }>`
177
+ SELECT remote_id
178
+ FROM ${remoteIdTableSql}
179
+ WHERE singleton = 1
180
+ `
181
+
182
+ const remoteId = yield* selectRemoteId.pipe(
183
+ Effect.flatMap((rows) => {
184
+ const existing = rows[0]
185
+ if (existing !== undefined) {
186
+ return Effect.succeed(existing.remote_id as RemoteId)
187
+ }
188
+
189
+ const created = makeRemoteIdUnsafe()
190
+ return sql`
191
+ INSERT INTO ${remoteIdTableSql} (singleton, remote_id)
192
+ VALUES (1, ${created})
193
+ `.pipe(
194
+ Effect.catchIf(
195
+ (error: SqlError.SqlError) => error.reason._tag === "ConstraintError",
196
+ () => Effect.void
197
+ ),
198
+ Effect.andThen(selectRemoteId),
199
+ Effect.map((rows) => rows[0]?.remote_id as RemoteId | undefined),
200
+ Effect.map((persisted) => persisted ?? created)
201
+ )
202
+ })
203
+ )
204
+
205
+ const pubsubs = yield* RcMap.make({
206
+ lookup: (_storeId: string) =>
207
+ Effect.acquireRelease(
208
+ PubSub.unbounded<RemoteEntry>(),
209
+ PubSub.shutdown
210
+ ),
211
+ idleTimeToLive: "5 minutes"
212
+ })
213
+
214
+ const ensureStore = (storeId: string) =>
215
+ sql.onDialectOrElse({
216
+ pg: () =>
217
+ sql`
218
+ INSERT INTO ${storesTableSql} (store_id, next_sequence)
219
+ VALUES (${storeId}, 1)
220
+ ON CONFLICT (store_id) DO NOTHING
221
+ `,
222
+ mysql: () =>
223
+ sql`
224
+ INSERT INTO ${storesTableSql} (store_id, next_sequence)
225
+ VALUES (${storeId}, 1)
226
+ ON DUPLICATE KEY UPDATE store_id = store_id
227
+ `,
228
+ mssql: () =>
229
+ sql`
230
+ MERGE ${storesTableSql} WITH (HOLDLOCK) AS target
231
+ USING (SELECT ${storeId} AS store_id, 1 AS next_sequence) AS source
232
+ ON target.store_id = source.store_id
233
+ WHEN NOT MATCHED THEN
234
+ INSERT (store_id, next_sequence)
235
+ VALUES (source.store_id, source.next_sequence);
236
+ `,
237
+ orElse: () =>
238
+ sql`
239
+ INSERT INTO ${storesTableSql} (store_id, next_sequence)
240
+ VALUES (${storeId}, 1)
241
+ ON CONFLICT DO NOTHING
242
+ `
243
+ })
244
+
245
+ const lockStore = (storeId: string) =>
246
+ sql.onDialectOrElse({
247
+ pg: () =>
248
+ sql`
249
+ SELECT next_sequence
250
+ FROM ${storesTableSql}
251
+ WHERE store_id = ${storeId}
252
+ FOR UPDATE
253
+ `,
254
+ mysql: () =>
255
+ sql`
256
+ SELECT next_sequence
257
+ FROM ${storesTableSql}
258
+ WHERE store_id = ${storeId}
259
+ FOR UPDATE
260
+ `,
261
+ mssql: () =>
262
+ sql`
263
+ SELECT next_sequence
264
+ FROM ${storesTableSql} WITH (UPDLOCK, HOLDLOCK)
265
+ WHERE store_id = ${storeId}
266
+ `,
267
+ orElse: () =>
268
+ sql`
269
+ UPDATE ${storesTableSql}
270
+ SET next_sequence = next_sequence
271
+ WHERE store_id = ${storeId}
272
+ RETURNING next_sequence
273
+ `
274
+ }).pipe(
275
+ Effect.flatMap(decodeStoreSequence)
276
+ )
277
+
278
+ const setNextSequence = (storeId: string, nextSequence: number) =>
279
+ sql`
280
+ UPDATE ${storesTableSql}
281
+ SET next_sequence = ${nextSequence}
282
+ WHERE store_id = ${storeId}
283
+ `
284
+
285
+ const selectEntriesAfter = (storeId: string, startSequence: number) =>
286
+ sql`
287
+ SELECT sequence, entry_id, event, primary_key, payload
288
+ FROM ${entriesTableSql}
289
+ WHERE store_id = ${storeId} AND sequence >= ${startSequence}
290
+ ORDER BY sequence ASC
291
+ `.pipe(
292
+ Effect.flatMap(decodeRemoteEntries)
293
+ )
294
+
295
+ const getSessionAuthBinding = (publicKey: string) =>
296
+ sql`
297
+ SELECT public_key, signing_public_key
298
+ FROM ${sessionAuthBindingsTableSql}
299
+ WHERE public_key = ${publicKey}
300
+ `.pipe(
301
+ Effect.flatMap(decodeSessionAuthBindings),
302
+ Effect.map((rows) => {
303
+ const row = rows[0]
304
+ return row === undefined ? undefined : row.signing_public_key as Uint8Array<ArrayBuffer>
305
+ }),
306
+ Effect.orDie
307
+ )
308
+
309
+ return EventLogServerUnencrypted.Storage.of({
310
+ getId: Effect.succeed(remoteId),
311
+ getOrCreateSessionAuthBinding: Effect.fnUntraced(
312
+ function*(publicKey, signingPublicKey) {
313
+ const existing = yield* getSessionAuthBinding(publicKey)
314
+ if (existing !== undefined) {
315
+ return existing
316
+ }
317
+ return yield* sql`
318
+ INSERT INTO ${sessionAuthBindingsTableSql} (public_key, signing_public_key)
319
+ VALUES (${publicKey}, ${signingPublicKey})
320
+ `.pipe(
321
+ Effect.as(signingPublicKey)
322
+ )
323
+ },
324
+ sql.withTransaction,
325
+ Effect.orDie
326
+ ),
327
+ entriesAfter: (storeId, entry) =>
328
+ sql`
329
+ SELECT sequence, entry_id, event, primary_key, payload
330
+ FROM ${entriesTableSql}
331
+ WHERE store_id = ${storeId} AND entry_id >= ${entry.id}
332
+ ORDER BY sequence ASC
333
+ `.pipe(
334
+ Effect.flatMap(decodeRemoteEntries),
335
+ Effect.map(Arr.map((r) => r.entry)),
336
+ Effect.orDie
337
+ ),
338
+ write: Effect.fnUntraced(
339
+ function*(storeId, entries) {
340
+ if (entries.length === 0) {
341
+ return []
342
+ }
343
+
344
+ yield* ensureStore(storeId)
345
+ const currentNextSequence = yield* lockStore(storeId)
346
+
347
+ const committed: Array<RemoteEntry> = []
348
+ let rowsForInsert: Array<{
349
+ readonly store_id: string
350
+ readonly sequence: number
351
+ readonly entry_id: Uint8Array
352
+ readonly event: string
353
+ readonly primary_key: string
354
+ readonly payload: Uint8Array
355
+ }> = []
356
+
357
+ for (let index = 0; index < entries.length; index++) {
358
+ const entry = entries[index]
359
+ const remoteSequence = currentNextSequence + index
360
+ committed.push(
361
+ new RemoteEntry({
362
+ remoteSequence,
363
+ entry
364
+ }, { disableChecks: true })
365
+ )
366
+ rowsForInsert.push({
367
+ store_id: storeId,
368
+ sequence: remoteSequence,
369
+ entry_id: entry.id,
370
+ event: entry.event,
371
+ primary_key: entry.primaryKey,
372
+ payload: entry.payload
373
+ })
374
+ if (rowsForInsert.length >= insertBatchSize) {
375
+ yield* sql`INSERT INTO ${entriesTableSql} ${sql.insert(rowsForInsert)}`
376
+ rowsForInsert = []
377
+ }
378
+ }
379
+ if (rowsForInsert.length > 0) {
380
+ yield* sql`INSERT INTO ${entriesTableSql} ${sql.insert(rowsForInsert)}`
381
+ }
382
+ const nextSequence = currentNextSequence + entries.length
383
+ yield* setNextSequence(storeId, nextSequence)
384
+
385
+ const pubsub = yield* RcMap.get(pubsubs, storeId)
386
+ yield* PubSub.publishAll(pubsub, committed)
387
+
388
+ return committed
389
+ },
390
+ Effect.scoped,
391
+ sql.withTransaction,
392
+ Effect.orDie
393
+ ),
394
+ changes: Effect.fnUntraced(
395
+ function*({ storeId, startSequence, compactors }) {
396
+ const pubsub = yield* RcMap.get(pubsubs, storeId)
397
+ const subscription = yield* PubSub.subscribe(pubsub)
398
+ const backlog = yield* EventLogServerUnencrypted.compactBacklog({
399
+ compactors,
400
+ remoteEntries: yield* selectEntriesAfter(storeId, startSequence)
401
+ })
402
+ let watermark = backlog.length > 0 ? backlog[backlog.length - 1]!.remoteSequence : startSequence
403
+
404
+ return Stream.fromArray(backlog).pipe(
405
+ Stream.concat(
406
+ Stream.fromSubscription(subscription).pipe(
407
+ Stream.filter((entry) => entry.remoteSequence > watermark)
408
+ )
409
+ )
410
+ )
411
+ },
412
+ Effect.orDie,
413
+ Stream.unwrap
414
+ ),
415
+ withTransaction: (effect) =>
416
+ sql.withTransaction(effect).pipe(
417
+ Effect.catchIf(SqlError.isSqlError, Effect.die)
418
+ )
419
+ })
420
+ })
421
+
422
+ /**
423
+ * @since 4.0.0
424
+ * @category layers
425
+ */
426
+ export const layerStorage = (options?: {
427
+ readonly entryTablePrefix?: string
428
+ readonly remoteIdTable?: string
429
+ readonly insertBatchSize?: number
430
+ }): Layer.Layer<EventLogServerUnencrypted.Storage, SqlError.SqlError, SqlClient.SqlClient> =>
431
+ Layer.effect(EventLogServerUnencrypted.Storage)(makeStorage(options))
432
+
433
+ const EntrySql = Schema.Struct({
434
+ entry_id: EntryId,
435
+ event: Schema.String,
436
+ primary_key: Schema.String,
437
+ payload: Schema.Uint8Array
438
+ })
439
+
440
+ type EntrySql = Schema.Schema.Type<typeof EntrySql>
441
+
442
+ const SqlNumber = Schema.Union([Schema.Number, Schema.NumberFromString])
443
+
444
+ const RemoteEntrySql = Schema.Struct({
445
+ ...EntrySql.fields,
446
+ sequence: SqlNumber
447
+ })
448
+
449
+ type RemoteEntrySql = Schema.Schema.Type<typeof RemoteEntrySql>
450
+
451
+ const StoreSequenceSql = Schema.Struct({
452
+ next_sequence: SqlNumber
453
+ })
454
+
455
+ const SessionAuthBindingSql = Schema.Struct({
456
+ public_key: Schema.String,
457
+ signing_public_key: Schema.Uint8Array
458
+ })
459
+
460
+ type SessionAuthBindingSql = Schema.Schema.Type<typeof SessionAuthBindingSql>
461
+
462
+ const decodeRemoteEntryRows = Schema.decodeUnknownEffect(Schema.mutable(Schema.Array(RemoteEntrySql)))
463
+ const decodeStoreSequenceRows = Schema.decodeUnknownEffect(Schema.Array(StoreSequenceSql))
464
+ const decodeSessionAuthBindingRows = Schema.decodeUnknownEffect(Schema.Array(SessionAuthBindingSql))
465
+
466
+ const toEntry = (row: EntrySql): Entry =>
467
+ new Entry({
468
+ id: row.entry_id,
469
+ event: row.event,
470
+ primaryKey: row.primary_key,
471
+ payload: row.payload
472
+ }, { disableChecks: true })
473
+
474
+ const toRemoteEntry = (row: RemoteEntrySql): RemoteEntry =>
475
+ new RemoteEntry({
476
+ remoteSequence: row.sequence,
477
+ entry: toEntry(row)
478
+ }, { disableChecks: true })
479
+
480
+ const decodeRemoteEntries = (
481
+ rows: unknown
482
+ ): Effect.Effect<Array<RemoteEntry>, Schema.SchemaError> =>
483
+ decodeRemoteEntryRows(rows).pipe(
484
+ Effect.map((rows) => rows.map(toRemoteEntry))
485
+ )
486
+
487
+ const decodeStoreSequence = (rows: unknown): Effect.Effect<number, Schema.SchemaError> =>
488
+ decodeStoreSequenceRows(rows).pipe(
489
+ Effect.flatMap((rows) => {
490
+ const row = rows[0]
491
+ if (row === undefined) {
492
+ return Effect.die("SqlEventLogServerUnencrypted missing store sequence row")
493
+ }
494
+ return Effect.succeed(row.next_sequence)
495
+ })
496
+ )
497
+
498
+ const decodeSessionAuthBindings = (
499
+ rows: unknown
500
+ ): Effect.Effect<ReadonlyArray<SessionAuthBindingSql>, Schema.SchemaError> => decodeSessionAuthBindingRows(rows)
@@ -29,6 +29,11 @@ export * as EventLog from "./EventLog.ts"
29
29
  */
30
30
  export * as EventLogEncryption from "./EventLogEncryption.ts"
31
31
 
32
+ /**
33
+ * @since 4.0.0
34
+ */
35
+ export * as EventLogMessage from "./EventLogMessage.ts"
36
+
32
37
  /**
33
38
  * @since 4.0.0
34
39
  */
@@ -42,9 +47,29 @@ export * as EventLogServer from "./EventLogServer.ts"
42
47
  /**
43
48
  * @since 4.0.0
44
49
  */
45
- export * as SqlEventLogJournal from "./SqlEventLogJournal.ts"
50
+ export * as EventLogServerEncrypted from "./EventLogServerEncrypted.ts"
51
+
52
+ /**
53
+ * @since 4.0.0
54
+ */
55
+ export * as EventLogServerUnencrypted from "./EventLogServerUnencrypted.ts"
56
+
57
+ /**
58
+ * @since 4.0.0
59
+ */
60
+ export * as EventLogSessionAuth from "./EventLogSessionAuth.ts"
61
+
62
+ /**
63
+ * @since 4.0.0
64
+ */
65
+ export * as SqlEventJournal from "./SqlEventJournal.ts"
66
+
67
+ /**
68
+ * @since 4.0.0
69
+ */
70
+ export * as SqlEventLogServerEncrypted from "./SqlEventLogServerEncrypted.ts"
46
71
 
47
72
  /**
48
73
  * @since 4.0.0
49
74
  */
50
- export * as SqlEventLogServer from "./SqlEventLogServer.ts"
75
+ export * as SqlEventLogServerUnencrypted from "./SqlEventLogServerUnencrypted.ts"
@@ -0,0 +1,153 @@
1
+ import * as Effect from "../../../Effect.ts"
2
+ import * as Redacted from "../../../Redacted.ts"
3
+ import type { Identity } from "../EventLog.ts"
4
+
5
+ const textEncoder = new TextEncoder()
6
+
7
+ const Ed25519PublicKeyLength = 32
8
+
9
+ const Ed25519Pkcs8SeedPrefix = Uint8Array.from([
10
+ 0x30,
11
+ 0x2e,
12
+ 0x02,
13
+ 0x01,
14
+ 0x00,
15
+ 0x30,
16
+ 0x05,
17
+ 0x06,
18
+ 0x03,
19
+ 0x2b,
20
+ 0x65,
21
+ 0x70,
22
+ 0x04,
23
+ 0x22,
24
+ 0x04,
25
+ 0x20
26
+ ])
27
+
28
+ /** @internal */
29
+ export const EncryptionDerivationLabelV1 = "effect/eventlog/identity/v1/encryption"
30
+
31
+ /** @internal */
32
+ export const SigningDerivationLabelV1 = "effect/eventlog/identity/v1/signing"
33
+
34
+ /** @internal */
35
+ export interface IdentityRootSecretMaterial {
36
+ readonly encryptionKeyMaterial: Uint8Array<ArrayBuffer>
37
+ readonly encryptionKey: CryptoKey
38
+ readonly signingPublicKey: Uint8Array<ArrayBuffer>
39
+ readonly signingPrivateKey: Redacted.Redacted<Uint8Array<ArrayBuffer>>
40
+ }
41
+
42
+ const toArrayBuffer = (data: Uint8Array): ArrayBuffer => {
43
+ const copy = new Uint8Array(data.byteLength)
44
+ copy.set(data)
45
+ return copy.buffer
46
+ }
47
+
48
+ const decodeBase64Url = (value: string): Uint8Array<ArrayBuffer> => {
49
+ const normalized = value.replaceAll("-", "+").replaceAll("_", "/")
50
+ const remainder = normalized.length % 4
51
+ const padded = remainder === 0 ? normalized : `${normalized}${"=".repeat(4 - remainder)}`
52
+ const decoded = atob(padded)
53
+ const bytes = new Uint8Array(decoded.length)
54
+ for (let i = 0; i < decoded.length; i++) {
55
+ bytes[i] = decoded.charCodeAt(i)
56
+ }
57
+ return bytes
58
+ }
59
+
60
+ const makeEd25519Pkcs8FromSeed = (seed: Uint8Array): Uint8Array<ArrayBuffer> => {
61
+ const key = new Uint8Array(Ed25519Pkcs8SeedPrefix.byteLength + seed.byteLength)
62
+ key.set(Ed25519Pkcs8SeedPrefix, 0)
63
+ key.set(seed, Ed25519Pkcs8SeedPrefix.byteLength)
64
+ return key
65
+ }
66
+
67
+ const deriveSecretBytes = Effect.fnUntraced(function*(options: {
68
+ readonly crypto: Crypto
69
+ readonly rootSecret: Uint8Array
70
+ readonly label: string
71
+ }) {
72
+ const labelBytes = textEncoder.encode(options.label)
73
+ const derivationInput = new Uint8Array(labelBytes.byteLength + 1 + options.rootSecret.byteLength)
74
+ derivationInput.set(labelBytes, 0)
75
+ derivationInput[labelBytes.byteLength] = 0
76
+ derivationInput.set(options.rootSecret, labelBytes.byteLength + 1)
77
+
78
+ const digest = yield* Effect.promise(() => options.crypto.subtle.digest("SHA-256", toArrayBuffer(derivationInput)))
79
+
80
+ return new Uint8Array(digest)
81
+ })
82
+
83
+ /** @internal */
84
+ export const deriveIdentityRootSecretMaterial = Effect.fnUntraced(function*(options: {
85
+ readonly crypto: Crypto
86
+ readonly rootSecret: Uint8Array
87
+ }) {
88
+ const encryptionKeyMaterial = yield* deriveSecretBytes({
89
+ crypto: options.crypto,
90
+ rootSecret: options.rootSecret,
91
+ label: EncryptionDerivationLabelV1
92
+ })
93
+ const signingSeed = yield* deriveSecretBytes({
94
+ crypto: options.crypto,
95
+ rootSecret: options.rootSecret,
96
+ label: SigningDerivationLabelV1
97
+ })
98
+
99
+ const signingPrivateKeyBytes = makeEd25519Pkcs8FromSeed(signingSeed)
100
+
101
+ const encryptionKey = yield* Effect.promise(() =>
102
+ options.crypto.subtle.importKey("raw", toArrayBuffer(encryptionKeyMaterial), "AES-GCM", true, [
103
+ "encrypt",
104
+ "decrypt"
105
+ ])
106
+ )
107
+ const signingPrivateKey = yield* Effect.promise(() =>
108
+ options.crypto.subtle.importKey("pkcs8", toArrayBuffer(signingPrivateKeyBytes), "Ed25519", true, ["sign"])
109
+ )
110
+ const signingJwk = yield* Effect.promise(() => options.crypto.subtle.exportKey("jwk", signingPrivateKey))
111
+
112
+ if (typeof signingJwk.x !== "string") {
113
+ return yield* Effect.die(new Error("Unable to export deterministic Ed25519 public key"))
114
+ }
115
+
116
+ const signingPublicKey = decodeBase64Url(signingJwk.x)
117
+
118
+ if (signingPublicKey.byteLength !== Ed25519PublicKeyLength) {
119
+ return yield* Effect.die(
120
+ new Error(`Expected derived signing public key to be ${Ed25519PublicKeyLength} bytes`)
121
+ )
122
+ }
123
+
124
+ return {
125
+ encryptionKeyMaterial,
126
+ encryptionKey,
127
+ signingPublicKey,
128
+ signingPrivateKey: Redacted.make(signingPrivateKeyBytes)
129
+ } satisfies IdentityRootSecretMaterial
130
+ })
131
+
132
+ /** @internal */
133
+ export const makeGetIdentityRootSecretMaterial = (crypto: Crypto) => {
134
+ const cache = new WeakMap<Identity["Service"], IdentityRootSecretMaterial>()
135
+
136
+ return Effect.fnUntraced(function*(identity: Identity["Service"]) {
137
+ const cached = cache.get(identity)
138
+ if (cached !== undefined) {
139
+ return cached
140
+ }
141
+
142
+ const derived = yield* deriveIdentityRootSecretMaterial({
143
+ crypto,
144
+ rootSecret: Redacted.value(identity.privateKey)
145
+ })
146
+
147
+ yield* Effect.sync(() => {
148
+ cache.set(identity, derived)
149
+ })
150
+
151
+ return derived
152
+ })
153
+ }