effect 4.0.5 → 4.0.6

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 (985) hide show
  1. package/ai-docs/package.json +1 -1
  2. package/ai-docs/src/06_schedule/10_schedules.ts +5 -4
  3. package/ai-docs/tsconfig.json +3 -1
  4. package/dist/Array.d.ts +117 -52
  5. package/dist/Array.d.ts.map +1 -1
  6. package/dist/Array.js +41 -20
  7. package/dist/Array.js.map +1 -1
  8. package/dist/Bytes.d.ts +79 -0
  9. package/dist/Bytes.d.ts.map +1 -0
  10. package/dist/Bytes.js +109 -0
  11. package/dist/Bytes.js.map +1 -0
  12. package/dist/Channel.d.ts +181 -13
  13. package/dist/Channel.d.ts.map +1 -1
  14. package/dist/Channel.js +125 -30
  15. package/dist/Channel.js.map +1 -1
  16. package/dist/ChannelSchema.d.ts.map +1 -1
  17. package/dist/ChannelSchema.js.map +1 -1
  18. package/dist/Chunk.d.ts +39 -21
  19. package/dist/Chunk.d.ts.map +1 -1
  20. package/dist/Chunk.js +26 -17
  21. package/dist/Chunk.js.map +1 -1
  22. package/dist/Config.d.ts.map +1 -1
  23. package/dist/Config.js +8 -3
  24. package/dist/Config.js.map +1 -1
  25. package/dist/ConfigProvider.d.ts.map +1 -1
  26. package/dist/ConfigProvider.js +2 -1
  27. package/dist/ConfigProvider.js.map +1 -1
  28. package/dist/Cron.d.ts +2 -2
  29. package/dist/Cron.d.ts.map +1 -1
  30. package/dist/Cron.js +6 -3
  31. package/dist/Cron.js.map +1 -1
  32. package/dist/Duration.d.ts.map +1 -1
  33. package/dist/Duration.js +56 -16
  34. package/dist/Duration.js.map +1 -1
  35. package/dist/Effect.d.ts +487 -163
  36. package/dist/Effect.d.ts.map +1 -1
  37. package/dist/Effect.js +203 -37
  38. package/dist/Effect.js.map +1 -1
  39. package/dist/Equivalence.d.ts +2 -1
  40. package/dist/Equivalence.d.ts.map +1 -1
  41. package/dist/Equivalence.js +12 -8
  42. package/dist/Equivalence.js.map +1 -1
  43. package/dist/Exit.d.ts +24 -9
  44. package/dist/Exit.d.ts.map +1 -1
  45. package/dist/Exit.js +8 -3
  46. package/dist/Exit.js.map +1 -1
  47. package/dist/FiberHandle.d.ts +2 -0
  48. package/dist/FiberHandle.d.ts.map +1 -1
  49. package/dist/FiberHandle.js +9 -4
  50. package/dist/FiberHandle.js.map +1 -1
  51. package/dist/FiberMap.d.ts +2 -0
  52. package/dist/FiberMap.d.ts.map +1 -1
  53. package/dist/FiberMap.js +5 -2
  54. package/dist/FiberMap.js.map +1 -1
  55. package/dist/FileSystem.d.ts +5 -0
  56. package/dist/FileSystem.d.ts.map +1 -1
  57. package/dist/FileSystem.js +3 -0
  58. package/dist/FileSystem.js.map +1 -1
  59. package/dist/Graph.d.ts.map +1 -1
  60. package/dist/Graph.js.map +1 -1
  61. package/dist/HashSet.d.ts.map +1 -1
  62. package/dist/HashSet.js.map +1 -1
  63. package/dist/Iterable.d.ts.map +1 -1
  64. package/dist/Iterable.js +18 -17
  65. package/dist/Iterable.js.map +1 -1
  66. package/dist/JsonSchema.d.ts +9 -3
  67. package/dist/JsonSchema.d.ts.map +1 -1
  68. package/dist/JsonSchema.js +19 -3
  69. package/dist/JsonSchema.js.map +1 -1
  70. package/dist/Layer.d.ts.map +1 -1
  71. package/dist/Layer.js +2 -2
  72. package/dist/Layer.js.map +1 -1
  73. package/dist/ManagedRuntime.d.ts +19 -1
  74. package/dist/ManagedRuntime.d.ts.map +1 -1
  75. package/dist/ManagedRuntime.js +62 -6
  76. package/dist/ManagedRuntime.js.map +1 -1
  77. package/dist/Metric.d.ts +132 -0
  78. package/dist/Metric.d.ts.map +1 -1
  79. package/dist/Metric.js +197 -25
  80. package/dist/Metric.js.map +1 -1
  81. package/dist/MutableHashMap.d.ts.map +1 -1
  82. package/dist/MutableHashMap.js.map +1 -1
  83. package/dist/Number.js +2 -2
  84. package/dist/Number.js.map +1 -1
  85. package/dist/Optic.d.ts.map +1 -1
  86. package/dist/Optic.js.map +1 -1
  87. package/dist/Path.d.ts.map +1 -1
  88. package/dist/Path.js +8 -1
  89. package/dist/Path.js.map +1 -1
  90. package/dist/PubSub.d.ts.map +1 -1
  91. package/dist/PubSub.js +12 -7
  92. package/dist/PubSub.js.map +1 -1
  93. package/dist/Queue.d.ts +4 -1
  94. package/dist/Queue.d.ts.map +1 -1
  95. package/dist/Queue.js +4 -1
  96. package/dist/Queue.js.map +1 -1
  97. package/dist/Random.d.ts.map +1 -1
  98. package/dist/Random.js +1 -1
  99. package/dist/Random.js.map +1 -1
  100. package/dist/RcMap.d.ts +12 -7
  101. package/dist/RcMap.d.ts.map +1 -1
  102. package/dist/RcMap.js +9 -6
  103. package/dist/RcMap.js.map +1 -1
  104. package/dist/Record.d.ts +51 -0
  105. package/dist/Record.d.ts.map +1 -1
  106. package/dist/Record.js +17 -0
  107. package/dist/Record.js.map +1 -1
  108. package/dist/Ref.d.ts.map +1 -1
  109. package/dist/Ref.js.map +1 -1
  110. package/dist/References.d.ts +5 -4
  111. package/dist/References.d.ts.map +1 -1
  112. package/dist/References.js +5 -4
  113. package/dist/References.js.map +1 -1
  114. package/dist/RequestResolver.d.ts +31 -1
  115. package/dist/RequestResolver.d.ts.map +1 -1
  116. package/dist/RequestResolver.js +39 -4
  117. package/dist/RequestResolver.js.map +1 -1
  118. package/dist/Resource.js +1 -1
  119. package/dist/Resource.js.map +1 -1
  120. package/dist/Runtime.d.ts +3 -3
  121. package/dist/Runtime.d.ts.map +1 -1
  122. package/dist/Runtime.js +18 -15
  123. package/dist/Runtime.js.map +1 -1
  124. package/dist/Schedule.d.ts.map +1 -1
  125. package/dist/Schedule.js.map +1 -1
  126. package/dist/Schema.d.ts +384 -332
  127. package/dist/Schema.d.ts.map +1 -1
  128. package/dist/Schema.js +333 -19
  129. package/dist/Schema.js.map +1 -1
  130. package/dist/SchemaAST.d.ts +5 -5
  131. package/dist/SchemaAST.d.ts.map +1 -1
  132. package/dist/SchemaAST.js +24 -8
  133. package/dist/SchemaAST.js.map +1 -1
  134. package/dist/SchemaGetter.d.ts +8 -3
  135. package/dist/SchemaGetter.d.ts.map +1 -1
  136. package/dist/SchemaGetter.js +15 -5
  137. package/dist/SchemaGetter.js.map +1 -1
  138. package/dist/SchemaIssue.d.ts +4 -4
  139. package/dist/SchemaIssue.d.ts.map +1 -1
  140. package/dist/SchemaIssue.js +29 -51
  141. package/dist/SchemaIssue.js.map +1 -1
  142. package/dist/SchemaRepresentation.d.ts +56 -1
  143. package/dist/SchemaRepresentation.d.ts.map +1 -1
  144. package/dist/SchemaRepresentation.js +18 -0
  145. package/dist/SchemaRepresentation.js.map +1 -1
  146. package/dist/SchemaTransformation.d.ts +1 -1
  147. package/dist/SchemaTransformation.js +1 -1
  148. package/dist/Scope.d.ts +12 -2
  149. package/dist/Scope.d.ts.map +1 -1
  150. package/dist/Scope.js +5 -0
  151. package/dist/Scope.js.map +1 -1
  152. package/dist/ScopedCache.d.ts +10 -7
  153. package/dist/ScopedCache.d.ts.map +1 -1
  154. package/dist/ScopedCache.js +9 -5
  155. package/dist/ScopedCache.js.map +1 -1
  156. package/dist/SemVer.d.ts +1196 -0
  157. package/dist/SemVer.d.ts.map +1 -0
  158. package/dist/SemVer.js +756 -0
  159. package/dist/SemVer.js.map +1 -0
  160. package/dist/SemVerRange.d.ts +559 -0
  161. package/dist/SemVerRange.d.ts.map +1 -0
  162. package/dist/SemVerRange.js +551 -0
  163. package/dist/SemVerRange.js.map +1 -0
  164. package/dist/Sink.d.ts.map +1 -1
  165. package/dist/Sink.js +6 -2
  166. package/dist/Sink.js.map +1 -1
  167. package/dist/Stream.d.ts +235 -8
  168. package/dist/Stream.d.ts.map +1 -1
  169. package/dist/Stream.js +145 -60
  170. package/dist/Stream.js.map +1 -1
  171. package/dist/String.d.ts +4 -2
  172. package/dist/String.d.ts.map +1 -1
  173. package/dist/String.js +8 -6
  174. package/dist/String.js.map +1 -1
  175. package/dist/TextDiff.d.ts +399 -0
  176. package/dist/TextDiff.d.ts.map +1 -0
  177. package/dist/TextDiff.js +634 -0
  178. package/dist/TextDiff.js.map +1 -0
  179. package/dist/TxHashMap.d.ts.map +1 -1
  180. package/dist/TxHashMap.js.map +1 -1
  181. package/dist/TxHashSet.d.ts.map +1 -1
  182. package/dist/TxHashSet.js.map +1 -1
  183. package/dist/ai/AiError.d.ts +68 -4
  184. package/dist/ai/AiError.d.ts.map +1 -1
  185. package/dist/ai/AiError.js +50 -2
  186. package/dist/ai/AiError.js.map +1 -1
  187. package/dist/ai/Chat.d.ts +1 -2
  188. package/dist/ai/Chat.d.ts.map +1 -1
  189. package/dist/ai/Chat.js +6 -3
  190. package/dist/ai/Chat.js.map +1 -1
  191. package/dist/ai/Decision.d.ts +46 -1
  192. package/dist/ai/Decision.d.ts.map +1 -1
  193. package/dist/ai/Decision.js.map +1 -1
  194. package/dist/ai/DecisionModel.d.ts +129 -11
  195. package/dist/ai/DecisionModel.d.ts.map +1 -1
  196. package/dist/ai/DecisionModel.js +182 -94
  197. package/dist/ai/DecisionModel.js.map +1 -1
  198. package/dist/ai/EmbeddingModel.d.ts +10 -0
  199. package/dist/ai/EmbeddingModel.d.ts.map +1 -1
  200. package/dist/ai/EmbeddingModel.js +21 -7
  201. package/dist/ai/EmbeddingModel.js.map +1 -1
  202. package/dist/ai/McpClient.d.ts +289 -0
  203. package/dist/ai/McpClient.d.ts.map +1 -0
  204. package/dist/ai/McpClient.js +819 -0
  205. package/dist/ai/McpClient.js.map +1 -0
  206. package/dist/ai/McpClientError.d.ts +254 -0
  207. package/dist/ai/McpClientError.d.ts.map +1 -0
  208. package/dist/ai/McpClientError.js +260 -0
  209. package/dist/ai/McpClientError.js.map +1 -0
  210. package/dist/ai/McpProtocol.d.ts +2 -2
  211. package/dist/ai/McpProtocol.d.ts.map +1 -1
  212. package/dist/ai/McpSchema.d.ts +368 -235
  213. package/dist/ai/McpSchema.d.ts.map +1 -1
  214. package/dist/ai/McpSchema.js +94 -24
  215. package/dist/ai/McpSchema.js.map +1 -1
  216. package/dist/ai/McpServer.d.ts.map +1 -1
  217. package/dist/ai/McpServer.js +25 -22
  218. package/dist/ai/McpServer.js.map +1 -1
  219. package/dist/ai/Prompt.d.ts +22 -20
  220. package/dist/ai/Prompt.d.ts.map +1 -1
  221. package/dist/ai/Prompt.js +23 -1
  222. package/dist/ai/Prompt.js.map +1 -1
  223. package/dist/ai/Response.d.ts +147 -3
  224. package/dist/ai/Response.d.ts.map +1 -1
  225. package/dist/ai/Response.js +35 -37
  226. package/dist/ai/Response.js.map +1 -1
  227. package/dist/ai/Tool.d.ts +12 -4
  228. package/dist/ai/Tool.d.ts.map +1 -1
  229. package/dist/ai/Tool.js.map +1 -1
  230. package/dist/ai/Toolkit.d.ts +48 -1
  231. package/dist/ai/Toolkit.d.ts.map +1 -1
  232. package/dist/ai/Toolkit.js +65 -12
  233. package/dist/ai/Toolkit.js.map +1 -1
  234. package/dist/ai/index.d.ts +10 -0
  235. package/dist/ai/index.d.ts.map +1 -1
  236. package/dist/ai/index.js +10 -0
  237. package/dist/ai/index.js.map +1 -1
  238. package/dist/ai/internal/mcpCore.js.map +1 -1
  239. package/dist/ai/internal/mcpProtocol/v2024_11_05.js +1 -1
  240. package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
  241. package/dist/ai/internal/mcpProtocol/v2025_03_26.js +1 -1
  242. package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
  243. package/dist/ai/internal/mcpProtocol/v2025_06_18.js +2 -2
  244. package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
  245. package/dist/ai/internal/mcpProtocol/v2025_11_25.js +2 -2
  246. package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
  247. package/dist/ai/internal/mcpProtocol/v2026_07_28.js +4 -7
  248. package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
  249. package/dist/ai/internal/mcpProtocol.js +16 -2
  250. package/dist/ai/internal/mcpProtocol.js.map +1 -1
  251. package/dist/ai/internal/mcpRuntime.js +3 -4
  252. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  253. package/dist/ai/internal/mcpSchema/v2024_11_05.js +19 -13
  254. package/dist/ai/internal/mcpSchema/v2024_11_05.js.map +1 -1
  255. package/dist/ai/internal/mcpSchema/v2025_03_26.js +3 -2
  256. package/dist/ai/internal/mcpSchema/v2025_03_26.js.map +1 -1
  257. package/dist/ai/internal/mcpSchema/v2025_06_18.js +7 -7
  258. package/dist/ai/internal/mcpSchema/v2025_06_18.js.map +1 -1
  259. package/dist/ai/internal/mcpSchema/v2025_11_25.js +8 -8
  260. package/dist/ai/internal/mcpSchema/v2025_11_25.js.map +1 -1
  261. package/dist/ai/internal/mcpSchema/v2026_07_28.js +43 -42
  262. package/dist/ai/internal/mcpSchema/v2026_07_28.js.map +1 -1
  263. package/dist/cli/CliError.d.ts +42 -2
  264. package/dist/cli/CliError.d.ts.map +1 -1
  265. package/dist/cli/CliError.js +44 -5
  266. package/dist/cli/CliError.js.map +1 -1
  267. package/dist/cli/Command.d.ts +286 -2
  268. package/dist/cli/Command.d.ts.map +1 -1
  269. package/dist/cli/Command.js +107 -6
  270. package/dist/cli/Command.js.map +1 -1
  271. package/dist/cli/Completions.d.ts +5 -0
  272. package/dist/cli/Completions.d.ts.map +1 -1
  273. package/dist/cli/Completions.js.map +1 -1
  274. package/dist/cli/Flag.d.ts +115 -0
  275. package/dist/cli/Flag.d.ts.map +1 -1
  276. package/dist/cli/Flag.js +56 -0
  277. package/dist/cli/Flag.js.map +1 -1
  278. package/dist/cli/GlobalFlag.d.ts.map +1 -1
  279. package/dist/cli/GlobalFlag.js +3 -3
  280. package/dist/cli/GlobalFlag.js.map +1 -1
  281. package/dist/cli/Param.d.ts +107 -0
  282. package/dist/cli/Param.d.ts.map +1 -1
  283. package/dist/cli/Param.js +56 -0
  284. package/dist/cli/Param.js.map +1 -1
  285. package/dist/cli/TerminalCapabilities.d.ts +84 -0
  286. package/dist/cli/TerminalCapabilities.d.ts.map +1 -0
  287. package/dist/cli/TerminalCapabilities.js +122 -0
  288. package/dist/cli/TerminalCapabilities.js.map +1 -0
  289. package/dist/cli/index.d.ts +5 -0
  290. package/dist/cli/index.d.ts.map +1 -1
  291. package/dist/cli/index.js +5 -0
  292. package/dist/cli/index.js.map +1 -1
  293. package/dist/cli/internal/command.d.ts +2 -1
  294. package/dist/cli/internal/command.d.ts.map +1 -1
  295. package/dist/cli/internal/command.js +5 -2
  296. package/dist/cli/internal/command.js.map +1 -1
  297. package/dist/cli/internal/completions/bash.js +4 -3
  298. package/dist/cli/internal/completions/bash.js.map +1 -1
  299. package/dist/cli/internal/completions/descriptor.js +9 -1
  300. package/dist/cli/internal/completions/descriptor.js.map +1 -1
  301. package/dist/cli/internal/completions/fish.js +10 -8
  302. package/dist/cli/internal/completions/fish.js.map +1 -1
  303. package/dist/cli/internal/completions/powershell.js +18 -9
  304. package/dist/cli/internal/completions/powershell.js.map +1 -1
  305. package/dist/cli/internal/completions/zsh.js +8 -5
  306. package/dist/cli/internal/completions/zsh.js.map +1 -1
  307. package/dist/cli/internal/formatter.d.ts +2 -0
  308. package/dist/cli/internal/formatter.d.ts.map +1 -0
  309. package/dist/cli/internal/formatter.js +15 -0
  310. package/dist/cli/internal/formatter.js.map +1 -0
  311. package/dist/cli/internal/lexer.js +24 -10
  312. package/dist/cli/internal/lexer.js.map +1 -1
  313. package/dist/cli/internal/parser.js +24 -12
  314. package/dist/cli/internal/parser.js.map +1 -1
  315. package/dist/cluster/ClusterCron.d.ts +29 -1
  316. package/dist/cluster/ClusterCron.d.ts.map +1 -1
  317. package/dist/cluster/ClusterCron.js +64 -32
  318. package/dist/cluster/ClusterCron.js.map +1 -1
  319. package/dist/cluster/ClusterMetrics.d.ts +143 -7
  320. package/dist/cluster/ClusterMetrics.d.ts.map +1 -1
  321. package/dist/cluster/ClusterMetrics.js +151 -7
  322. package/dist/cluster/ClusterMetrics.js.map +1 -1
  323. package/dist/cluster/ClusterWorkflowEngine.d.ts +1 -1
  324. package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  325. package/dist/cluster/ClusterWorkflowEngine.js +37 -11
  326. package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
  327. package/dist/cluster/Entity.d.ts +2 -0
  328. package/dist/cluster/Entity.d.ts.map +1 -1
  329. package/dist/cluster/Entity.js.map +1 -1
  330. package/dist/cluster/MessageStorage.d.ts +21 -0
  331. package/dist/cluster/MessageStorage.d.ts.map +1 -1
  332. package/dist/cluster/MessageStorage.js.map +1 -1
  333. package/dist/cluster/Runners.d.ts.map +1 -1
  334. package/dist/cluster/Runners.js +54 -15
  335. package/dist/cluster/Runners.js.map +1 -1
  336. package/dist/cluster/Sharding.d.ts +1 -0
  337. package/dist/cluster/Sharding.d.ts.map +1 -1
  338. package/dist/cluster/Sharding.js +95 -32
  339. package/dist/cluster/Sharding.js.map +1 -1
  340. package/dist/cluster/ShardingConfig.d.ts +20 -0
  341. package/dist/cluster/ShardingConfig.d.ts.map +1 -1
  342. package/dist/cluster/ShardingConfig.js +4 -0
  343. package/dist/cluster/ShardingConfig.js.map +1 -1
  344. package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
  345. package/dist/cluster/SqlMessageStorage.js +40 -50
  346. package/dist/cluster/SqlMessageStorage.js.map +1 -1
  347. package/dist/cluster/SqlRunnerStorage.d.ts +2 -2
  348. package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
  349. package/dist/cluster/SqlRunnerStorage.js +10 -4
  350. package/dist/cluster/SqlRunnerStorage.js.map +1 -1
  351. package/dist/cluster/internal/entityManager.js +65 -8
  352. package/dist/cluster/internal/entityManager.js.map +1 -1
  353. package/dist/devtools/DevTools.d.ts +3 -2
  354. package/dist/devtools/DevTools.d.ts.map +1 -1
  355. package/dist/devtools/DevTools.js +3 -2
  356. package/dist/devtools/DevTools.js.map +1 -1
  357. package/dist/devtools/DevToolsClient.d.ts +11 -0
  358. package/dist/devtools/DevToolsClient.d.ts.map +1 -1
  359. package/dist/devtools/DevToolsClient.js +31 -4
  360. package/dist/devtools/DevToolsClient.js.map +1 -1
  361. package/dist/encoding/Base64Url.d.ts +29 -0
  362. package/dist/encoding/Base64Url.d.ts.map +1 -1
  363. package/dist/encoding/Base64Url.js +29 -0
  364. package/dist/encoding/Base64Url.js.map +1 -1
  365. package/dist/encoding/Ini.d.ts.map +1 -1
  366. package/dist/encoding/Ini.js +3 -0
  367. package/dist/encoding/Ini.js.map +1 -1
  368. package/dist/encoding/JsonArray.d.ts +270 -0
  369. package/dist/encoding/JsonArray.d.ts.map +1 -0
  370. package/dist/encoding/JsonArray.js +691 -0
  371. package/dist/encoding/JsonArray.js.map +1 -0
  372. package/dist/encoding/Ndjson.d.ts +43 -4
  373. package/dist/encoding/Ndjson.d.ts.map +1 -1
  374. package/dist/encoding/Ndjson.js +169 -18
  375. package/dist/encoding/Ndjson.js.map +1 -1
  376. package/dist/encoding/SchemaBinary.d.ts +9 -1
  377. package/dist/encoding/SchemaBinary.d.ts.map +1 -1
  378. package/dist/encoding/SchemaBinary.js +12 -19
  379. package/dist/encoding/SchemaBinary.js.map +1 -1
  380. package/dist/encoding/Tar.d.ts +309 -0
  381. package/dist/encoding/Tar.d.ts.map +1 -0
  382. package/dist/encoding/Tar.js +1182 -0
  383. package/dist/encoding/Tar.js.map +1 -0
  384. package/dist/encoding/Toml.js +3 -3
  385. package/dist/encoding/Toml.js.map +1 -1
  386. package/dist/encoding/Xml.d.ts +464 -0
  387. package/dist/encoding/Xml.d.ts.map +1 -0
  388. package/dist/encoding/Xml.js +1619 -0
  389. package/dist/encoding/Xml.js.map +1 -0
  390. package/dist/encoding/Yaml.d.ts +6 -2
  391. package/dist/encoding/Yaml.d.ts.map +1 -1
  392. package/dist/encoding/Yaml.js +97 -34
  393. package/dist/encoding/Yaml.js.map +1 -1
  394. package/dist/encoding/Zip.d.ts +413 -0
  395. package/dist/encoding/Zip.d.ts.map +1 -0
  396. package/dist/encoding/Zip.js +1255 -0
  397. package/dist/encoding/Zip.js.map +1 -0
  398. package/dist/encoding/index.d.ts +20 -0
  399. package/dist/encoding/index.d.ts.map +1 -1
  400. package/dist/encoding/index.js +20 -0
  401. package/dist/encoding/index.js.map +1 -1
  402. package/dist/eventlog/EventJournal.d.ts +90 -5
  403. package/dist/eventlog/EventJournal.d.ts.map +1 -1
  404. package/dist/eventlog/EventJournal.js +488 -228
  405. package/dist/eventlog/EventJournal.js.map +1 -1
  406. package/dist/eventlog/EventLog.d.ts +180 -12
  407. package/dist/eventlog/EventLog.d.ts.map +1 -1
  408. package/dist/eventlog/EventLog.js +394 -146
  409. package/dist/eventlog/EventLog.js.map +1 -1
  410. package/dist/eventlog/EventLogEncryption.d.ts +36 -30
  411. package/dist/eventlog/EventLogEncryption.d.ts.map +1 -1
  412. package/dist/eventlog/EventLogEncryption.js +97 -38
  413. package/dist/eventlog/EventLogEncryption.js.map +1 -1
  414. package/dist/eventlog/EventLogMessage.d.ts +74 -34
  415. package/dist/eventlog/EventLogMessage.d.ts.map +1 -1
  416. package/dist/eventlog/EventLogMessage.js +45 -11
  417. package/dist/eventlog/EventLogMessage.js.map +1 -1
  418. package/dist/eventlog/EventLogRemote.d.ts +45 -8
  419. package/dist/eventlog/EventLogRemote.d.ts.map +1 -1
  420. package/dist/eventlog/EventLogRemote.js +51 -14
  421. package/dist/eventlog/EventLogRemote.js.map +1 -1
  422. package/dist/eventlog/EventLogServer.d.ts +46 -3
  423. package/dist/eventlog/EventLogServer.d.ts.map +1 -1
  424. package/dist/eventlog/EventLogServer.js +119 -19
  425. package/dist/eventlog/EventLogServer.js.map +1 -1
  426. package/dist/eventlog/EventLogServerEncrypted.d.ts +23 -33
  427. package/dist/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  428. package/dist/eventlog/EventLogServerEncrypted.js +97 -70
  429. package/dist/eventlog/EventLogServerEncrypted.js.map +1 -1
  430. package/dist/eventlog/EventLogServerUnencrypted.d.ts +39 -5
  431. package/dist/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  432. package/dist/eventlog/EventLogServerUnencrypted.js +151 -69
  433. package/dist/eventlog/EventLogServerUnencrypted.js.map +1 -1
  434. package/dist/eventlog/EventRow.d.ts +288 -0
  435. package/dist/eventlog/EventRow.d.ts.map +1 -0
  436. package/dist/eventlog/EventRow.js +435 -0
  437. package/dist/eventlog/EventRow.js.map +1 -0
  438. package/dist/eventlog/SqlEventJournal.d.ts +18 -18
  439. package/dist/eventlog/SqlEventJournal.d.ts.map +1 -1
  440. package/dist/eventlog/SqlEventJournal.js +387 -159
  441. package/dist/eventlog/SqlEventJournal.js.map +1 -1
  442. package/dist/eventlog/SqlEventLogServerEncrypted.d.ts +10 -18
  443. package/dist/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
  444. package/dist/eventlog/SqlEventLogServerEncrypted.js +179 -69
  445. package/dist/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  446. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +23 -3
  447. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  448. package/dist/eventlog/SqlEventLogServerUnencrypted.js +102 -51
  449. package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  450. package/dist/eventlog/index.d.ts +5 -0
  451. package/dist/eventlog/index.d.ts.map +1 -1
  452. package/dist/eventlog/index.js +5 -0
  453. package/dist/eventlog/index.js.map +1 -1
  454. package/dist/eventlog/internal/conflicts.d.ts +47 -0
  455. package/dist/eventlog/internal/conflicts.d.ts.map +1 -0
  456. package/dist/eventlog/internal/conflicts.js +92 -0
  457. package/dist/eventlog/internal/conflicts.js.map +1 -0
  458. package/dist/graphql/GraphQLClientError.d.ts +2 -2
  459. package/dist/graphql/GraphQLClientError.d.ts.map +1 -1
  460. package/dist/graphql/GraphQLClientError.js +4 -18
  461. package/dist/graphql/GraphQLClientError.js.map +1 -1
  462. package/dist/graphql/GraphQLProtocol.d.ts +12 -9
  463. package/dist/graphql/GraphQLProtocol.d.ts.map +1 -1
  464. package/dist/graphql/GraphQLProtocol.js +4 -3
  465. package/dist/graphql/GraphQLProtocol.js.map +1 -1
  466. package/dist/graphql/GraphQLResolver.d.ts +2 -0
  467. package/dist/graphql/GraphQLResolver.d.ts.map +1 -1
  468. package/dist/graphql/GraphQLResolver.js +74 -32
  469. package/dist/graphql/GraphQLResolver.js.map +1 -1
  470. package/dist/http/FetchHttpClient.d.ts +8 -1
  471. package/dist/http/FetchHttpClient.d.ts.map +1 -1
  472. package/dist/http/FetchHttpClient.js +51 -4
  473. package/dist/http/FetchHttpClient.js.map +1 -1
  474. package/dist/http/FindMyWay/internal/router.js +10 -0
  475. package/dist/http/FindMyWay/internal/router.js.map +1 -1
  476. package/dist/http/Headers.d.ts +227 -0
  477. package/dist/http/Headers.d.ts.map +1 -1
  478. package/dist/http/Headers.js +261 -0
  479. package/dist/http/Headers.js.map +1 -1
  480. package/dist/http/HttpClient.d.ts +93 -0
  481. package/dist/http/HttpClient.d.ts.map +1 -1
  482. package/dist/http/HttpClient.js +55 -16
  483. package/dist/http/HttpClient.js.map +1 -1
  484. package/dist/http/HttpClientRequest.d.ts +127 -3
  485. package/dist/http/HttpClientRequest.d.ts.map +1 -1
  486. package/dist/http/HttpClientRequest.js +44 -2
  487. package/dist/http/HttpClientRequest.js.map +1 -1
  488. package/dist/http/HttpClientResponse.d.ts +53 -0
  489. package/dist/http/HttpClientResponse.d.ts.map +1 -1
  490. package/dist/http/HttpClientResponse.js +47 -0
  491. package/dist/http/HttpClientResponse.js.map +1 -1
  492. package/dist/http/HttpEffect.d.ts +6 -2
  493. package/dist/http/HttpEffect.d.ts.map +1 -1
  494. package/dist/http/HttpEffect.js +21 -17
  495. package/dist/http/HttpEffect.js.map +1 -1
  496. package/dist/http/HttpIncomingMessage.d.ts +2 -1
  497. package/dist/http/HttpIncomingMessage.d.ts.map +1 -1
  498. package/dist/http/HttpIncomingMessage.js +3 -23
  499. package/dist/http/HttpIncomingMessage.js.map +1 -1
  500. package/dist/http/HttpMiddleware.d.ts +119 -2
  501. package/dist/http/HttpMiddleware.d.ts.map +1 -1
  502. package/dist/http/HttpMiddleware.js +159 -13
  503. package/dist/http/HttpMiddleware.js.map +1 -1
  504. package/dist/http/HttpRouter.d.ts.map +1 -1
  505. package/dist/http/HttpRouter.js +7 -2
  506. package/dist/http/HttpRouter.js.map +1 -1
  507. package/dist/http/HttpServerError.d.ts +5 -2
  508. package/dist/http/HttpServerError.d.ts.map +1 -1
  509. package/dist/http/HttpServerError.js +5 -3
  510. package/dist/http/HttpServerError.js.map +1 -1
  511. package/dist/http/HttpServerRequest.d.ts +25 -5
  512. package/dist/http/HttpServerRequest.d.ts.map +1 -1
  513. package/dist/http/HttpServerRequest.js +36 -10
  514. package/dist/http/HttpServerRequest.js.map +1 -1
  515. package/dist/http/HttpServerResponse.d.ts +17 -8
  516. package/dist/http/HttpServerResponse.d.ts.map +1 -1
  517. package/dist/http/HttpServerResponse.js +37 -21
  518. package/dist/http/HttpServerResponse.js.map +1 -1
  519. package/dist/http/HttpStaticServer.d.ts +0 -12
  520. package/dist/http/HttpStaticServer.d.ts.map +1 -1
  521. package/dist/http/HttpStaticServer.js +21 -7
  522. package/dist/http/HttpStaticServer.js.map +1 -1
  523. package/dist/http/MultipartParser/internal/contentType.d.ts +15 -1
  524. package/dist/http/MultipartParser/internal/contentType.d.ts.map +1 -1
  525. package/dist/http/MultipartParser/internal/contentType.js +87 -5
  526. package/dist/http/MultipartParser/internal/contentType.js.map +1 -1
  527. package/dist/http/MultipartParser/internal/headers.d.ts.map +1 -1
  528. package/dist/http/MultipartParser/internal/headers.js +4 -12
  529. package/dist/http/MultipartParser/internal/headers.js.map +1 -1
  530. package/dist/http/MultipartParser/internal/multipart.d.ts.map +1 -1
  531. package/dist/http/MultipartParser/internal/multipart.js +6 -27
  532. package/dist/http/MultipartParser/internal/multipart.js.map +1 -1
  533. package/dist/http/Url.d.ts.map +1 -1
  534. package/dist/http/Url.js +6 -1
  535. package/dist/http/Url.js.map +1 -1
  536. package/dist/http/internal/decompression.js +17 -11
  537. package/dist/http/internal/decompression.js.map +1 -1
  538. package/dist/http/internal/lazyStream.d.ts +2 -0
  539. package/dist/http/internal/lazyStream.d.ts.map +1 -0
  540. package/dist/http/internal/lazyStream.js +18 -0
  541. package/dist/http/internal/lazyStream.js.map +1 -0
  542. package/dist/http/internal/requestState.d.ts +2 -0
  543. package/dist/http/internal/requestState.d.ts.map +1 -0
  544. package/dist/http/internal/requestState.js +28 -0
  545. package/dist/http/internal/requestState.js.map +1 -0
  546. package/dist/http/internal/webResponse.d.ts +2 -0
  547. package/dist/http/internal/webResponse.d.ts.map +1 -0
  548. package/dist/http/internal/webResponse.js +12 -0
  549. package/dist/http/internal/webResponse.js.map +1 -0
  550. package/dist/http-api/HttpApi.js +1 -1
  551. package/dist/http-api/HttpApi.js.map +1 -1
  552. package/dist/http-api/HttpApiBuilder.d.ts.map +1 -1
  553. package/dist/http-api/HttpApiBuilder.js +121 -18
  554. package/dist/http-api/HttpApiBuilder.js.map +1 -1
  555. package/dist/http-api/HttpApiClient.d.ts +29 -4
  556. package/dist/http-api/HttpApiClient.d.ts.map +1 -1
  557. package/dist/http-api/HttpApiClient.js +83 -23
  558. package/dist/http-api/HttpApiClient.js.map +1 -1
  559. package/dist/http-api/HttpApiEndpoint.d.ts +55 -29
  560. package/dist/http-api/HttpApiEndpoint.d.ts.map +1 -1
  561. package/dist/http-api/HttpApiEndpoint.js +49 -5
  562. package/dist/http-api/HttpApiEndpoint.js.map +1 -1
  563. package/dist/http-api/HttpApiError.d.ts +58 -0
  564. package/dist/http-api/HttpApiError.d.ts.map +1 -1
  565. package/dist/http-api/HttpApiError.js +38 -12
  566. package/dist/http-api/HttpApiError.js.map +1 -1
  567. package/dist/http-api/HttpApiScalar.d.ts +2 -1
  568. package/dist/http-api/HttpApiScalar.d.ts.map +1 -1
  569. package/dist/http-api/HttpApiScalar.js +6 -3
  570. package/dist/http-api/HttpApiScalar.js.map +1 -1
  571. package/dist/http-api/HttpApiSchema.d.ts +191 -9
  572. package/dist/http-api/HttpApiSchema.d.ts.map +1 -1
  573. package/dist/http-api/HttpApiSchema.js +137 -4
  574. package/dist/http-api/HttpApiSchema.js.map +1 -1
  575. package/dist/http-api/HttpApiSwagger.d.ts +5 -0
  576. package/dist/http-api/HttpApiSwagger.d.ts.map +1 -1
  577. package/dist/http-api/HttpApiSwagger.js +14 -4
  578. package/dist/http-api/HttpApiSwagger.js.map +1 -1
  579. package/dist/http-api/HttpApiTest.d.ts +13 -2
  580. package/dist/http-api/HttpApiTest.d.ts.map +1 -1
  581. package/dist/http-api/HttpApiTest.js +30 -9
  582. package/dist/http-api/HttpApiTest.js.map +1 -1
  583. package/dist/http-api/OpenApi.d.ts +17 -3
  584. package/dist/http-api/OpenApi.d.ts.map +1 -1
  585. package/dist/http-api/OpenApi.js +57 -32
  586. package/dist/http-api/OpenApi.js.map +1 -1
  587. package/dist/http-api/internal/path.js +35 -10
  588. package/dist/http-api/internal/path.js.map +1 -1
  589. package/dist/index.d.ts +20 -0
  590. package/dist/index.d.ts.map +1 -1
  591. package/dist/index.js +20 -0
  592. package/dist/index.js.map +1 -1
  593. package/dist/internal/core.js +1 -1
  594. package/dist/internal/core.js.map +1 -1
  595. package/dist/internal/dateTime.js +19 -7
  596. package/dist/internal/dateTime.js.map +1 -1
  597. package/dist/internal/effect.js +85 -74
  598. package/dist/internal/effect.js.map +1 -1
  599. package/dist/internal/hashMap.js +2 -2
  600. package/dist/internal/hashMap.js.map +1 -1
  601. package/dist/internal/hydration.d.ts +2 -0
  602. package/dist/internal/hydration.d.ts.map +1 -0
  603. package/dist/internal/hydration.js +15 -0
  604. package/dist/internal/hydration.js.map +1 -0
  605. package/dist/internal/inflate.d.ts +2 -0
  606. package/dist/internal/inflate.d.ts.map +1 -0
  607. package/dist/internal/inflate.js +680 -0
  608. package/dist/internal/inflate.js.map +1 -0
  609. package/dist/internal/record.js +6 -0
  610. package/dist/internal/record.js.map +1 -1
  611. package/dist/internal/request.js +20 -7
  612. package/dist/internal/request.js.map +1 -1
  613. package/dist/internal/schedule.js +17 -22
  614. package/dist/internal/schedule.js.map +1 -1
  615. package/dist/internal/schema/fromJsonSchemaDocument.js +136 -126
  616. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
  617. package/dist/internal/schema/interpreter.js +51 -36
  618. package/dist/internal/schema/interpreter.js.map +1 -1
  619. package/dist/internal/schema/standardSchema.js +34 -33
  620. package/dist/internal/schema/standardSchema.js.map +1 -1
  621. package/dist/internal/schema/toCodeDocument.js +7 -2
  622. package/dist/internal/schema/toCodeDocument.js.map +1 -1
  623. package/dist/internal/schema/toCodec.js +86 -1
  624. package/dist/internal/schema/toCodec.js.map +1 -1
  625. package/dist/internal/schema/toFormatter.js +5 -5
  626. package/dist/internal/schema/toFormatter.js.map +1 -1
  627. package/dist/internal/schema/toJsonSchemaDocument.js +60 -38
  628. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
  629. package/dist/internal/trie.js +1 -3
  630. package/dist/internal/trie.js.map +1 -1
  631. package/dist/internal/uuid.js +7 -3
  632. package/dist/internal/uuid.js.map +1 -1
  633. package/dist/internal/version.js +1 -1
  634. package/dist/net/NetAddress.d.ts.map +1 -1
  635. package/dist/net/NetAddress.js +2 -8
  636. package/dist/net/NetAddress.js.map +1 -1
  637. package/dist/observability/OtlpExporter.d.ts.map +1 -1
  638. package/dist/observability/OtlpExporter.js +5 -12
  639. package/dist/observability/OtlpExporter.js.map +1 -1
  640. package/dist/observability/OtlpMetrics.d.ts.map +1 -1
  641. package/dist/observability/OtlpMetrics.js +5 -3
  642. package/dist/observability/OtlpMetrics.js.map +1 -1
  643. package/dist/observability/OtlpResource.d.ts +3 -1
  644. package/dist/observability/OtlpResource.d.ts.map +1 -1
  645. package/dist/observability/OtlpResource.js +11 -4
  646. package/dist/observability/OtlpResource.js.map +1 -1
  647. package/dist/observability/OtlpSerialization.d.ts +5 -0
  648. package/dist/observability/OtlpSerialization.d.ts.map +1 -1
  649. package/dist/observability/OtlpSerialization.js +14 -3
  650. package/dist/observability/OtlpSerialization.js.map +1 -1
  651. package/dist/observability/internal/protobuf.d.ts +0 -9
  652. package/dist/observability/internal/protobuf.d.ts.map +1 -1
  653. package/dist/observability/internal/protobuf.js +2 -10
  654. package/dist/observability/internal/protobuf.js.map +1 -1
  655. package/dist/persistence/PersistedCache.d.ts.map +1 -1
  656. package/dist/persistence/PersistedCache.js +1 -1
  657. package/dist/persistence/PersistedCache.js.map +1 -1
  658. package/dist/persistence/PersistedQueue.d.ts +6 -2
  659. package/dist/persistence/PersistedQueue.d.ts.map +1 -1
  660. package/dist/persistence/PersistedQueue.js +162 -84
  661. package/dist/persistence/PersistedQueue.js.map +1 -1
  662. package/dist/persistence/Persistence.d.ts +28 -0
  663. package/dist/persistence/Persistence.d.ts.map +1 -1
  664. package/dist/persistence/Persistence.js +36 -8
  665. package/dist/persistence/Persistence.js.map +1 -1
  666. package/dist/persistence/RateLimiter.d.ts.map +1 -1
  667. package/dist/persistence/RateLimiter.js +8 -12
  668. package/dist/persistence/RateLimiter.js.map +1 -1
  669. package/dist/persistence/UserDirectories.d.ts +129 -0
  670. package/dist/persistence/UserDirectories.d.ts.map +1 -0
  671. package/dist/persistence/UserDirectories.js +178 -0
  672. package/dist/persistence/UserDirectories.js.map +1 -0
  673. package/dist/persistence/index.d.ts +5 -0
  674. package/dist/persistence/index.d.ts.map +1 -1
  675. package/dist/persistence/index.js +5 -0
  676. package/dist/persistence/index.js.map +1 -1
  677. package/dist/process/ChildProcess.d.ts +2 -1
  678. package/dist/process/ChildProcess.d.ts.map +1 -1
  679. package/dist/process/ChildProcess.js.map +1 -1
  680. package/dist/reactivity/AsyncResult.d.ts.map +1 -1
  681. package/dist/reactivity/AsyncResult.js +1 -1
  682. package/dist/reactivity/AsyncResult.js.map +1 -1
  683. package/dist/reactivity/Atom.d.ts +69 -30
  684. package/dist/reactivity/Atom.d.ts.map +1 -1
  685. package/dist/reactivity/Atom.js +40 -15
  686. package/dist/reactivity/Atom.js.map +1 -1
  687. package/dist/reactivity/AtomHttpApi.d.ts +5 -5
  688. package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
  689. package/dist/reactivity/AtomHttpApi.js +1 -1
  690. package/dist/reactivity/AtomHttpApi.js.map +1 -1
  691. package/dist/reactivity/AtomRegistry.d.ts +2 -2
  692. package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
  693. package/dist/reactivity/AtomRegistry.js +44 -9
  694. package/dist/reactivity/AtomRegistry.js.map +1 -1
  695. package/dist/reactivity/AtomRpc.d.ts +3 -3
  696. package/dist/reactivity/AtomRpc.d.ts.map +1 -1
  697. package/dist/reactivity/AtomRpc.js +1 -1
  698. package/dist/reactivity/AtomRpc.js.map +1 -1
  699. package/dist/reactivity/Hydration.d.ts.map +1 -1
  700. package/dist/reactivity/Hydration.js +46 -12
  701. package/dist/reactivity/Hydration.js.map +1 -1
  702. package/dist/reactivity/Reactivity.d.ts +71 -7
  703. package/dist/reactivity/Reactivity.d.ts.map +1 -1
  704. package/dist/reactivity/Reactivity.js +21 -12
  705. package/dist/reactivity/Reactivity.js.map +1 -1
  706. package/dist/rpc/Rpc.d.ts +18 -0
  707. package/dist/rpc/Rpc.d.ts.map +1 -1
  708. package/dist/rpc/Rpc.js +20 -0
  709. package/dist/rpc/Rpc.js.map +1 -1
  710. package/dist/rpc/RpcClient.d.ts +26 -2
  711. package/dist/rpc/RpcClient.d.ts.map +1 -1
  712. package/dist/rpc/RpcClient.js +196 -60
  713. package/dist/rpc/RpcClient.js.map +1 -1
  714. package/dist/rpc/RpcSerialization.d.ts +15 -0
  715. package/dist/rpc/RpcSerialization.d.ts.map +1 -1
  716. package/dist/rpc/RpcSerialization.js +21 -5
  717. package/dist/rpc/RpcSerialization.js.map +1 -1
  718. package/dist/rpc/RpcServer.d.ts.map +1 -1
  719. package/dist/rpc/RpcServer.js +9 -18
  720. package/dist/rpc/RpcServer.js.map +1 -1
  721. package/dist/schema/Model.d.ts +1 -1
  722. package/dist/schema/VariantSchema.d.ts +22 -3
  723. package/dist/schema/VariantSchema.d.ts.map +1 -1
  724. package/dist/schema/VariantSchema.js +32 -18
  725. package/dist/schema/VariantSchema.js.map +1 -1
  726. package/dist/socket/Socket.d.ts +23 -1
  727. package/dist/socket/Socket.d.ts.map +1 -1
  728. package/dist/socket/Socket.js +36 -3
  729. package/dist/socket/Socket.js.map +1 -1
  730. package/dist/sql/Migrator.d.ts.map +1 -1
  731. package/dist/sql/Migrator.js +15 -3
  732. package/dist/sql/Migrator.js.map +1 -1
  733. package/dist/sql/SqlClient.d.ts +143 -5
  734. package/dist/sql/SqlClient.d.ts.map +1 -1
  735. package/dist/sql/SqlClient.js +148 -27
  736. package/dist/sql/SqlClient.js.map +1 -1
  737. package/dist/sql/SqlResolver.d.ts +9 -0
  738. package/dist/sql/SqlResolver.d.ts.map +1 -1
  739. package/dist/sql/SqlResolver.js +9 -0
  740. package/dist/sql/SqlResolver.js.map +1 -1
  741. package/dist/sql/Statement.d.ts +3 -1
  742. package/dist/sql/Statement.d.ts.map +1 -1
  743. package/dist/sql/Statement.js +24 -5
  744. package/dist/sql/Statement.js.map +1 -1
  745. package/dist/testing/TestClock.d.ts.map +1 -1
  746. package/dist/testing/TestClock.js +4 -2
  747. package/dist/testing/TestClock.js.map +1 -1
  748. package/dist/testing/TestSchema.d.ts +7 -1
  749. package/dist/testing/TestSchema.d.ts.map +1 -1
  750. package/dist/testing/TestSchema.js +9 -3
  751. package/dist/testing/TestSchema.js.map +1 -1
  752. package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
  753. package/dist/workflow/WorkflowEngine.js +18 -4
  754. package/dist/workflow/WorkflowEngine.js.map +1 -1
  755. package/package.json +13 -3
  756. package/src/Array.ts +128 -55
  757. package/src/Bytes.ts +111 -0
  758. package/src/Channel.ts +263 -436
  759. package/src/ChannelSchema.ts +1 -49
  760. package/src/Chunk.ts +55 -61
  761. package/src/Config.ts +12 -86
  762. package/src/ConfigProvider.ts +2 -1
  763. package/src/Cron.ts +6 -3
  764. package/src/Duration.ts +66 -16
  765. package/src/Effect.ts +502 -167
  766. package/src/Equivalence.ts +7 -4
  767. package/src/Exit.ts +24 -9
  768. package/src/FiberHandle.ts +10 -9
  769. package/src/FiberMap.ts +13 -66
  770. package/src/FileSystem.ts +10 -0
  771. package/src/Graph.ts +171 -1263
  772. package/src/HashSet.ts +0 -60
  773. package/src/Iterable.ts +15 -14
  774. package/src/JsonSchema.ts +28 -3
  775. package/src/Layer.ts +2 -2
  776. package/src/ManagedRuntime.ts +72 -6
  777. package/src/Metric.ts +249 -507
  778. package/src/MutableHashMap.ts +4 -473
  779. package/src/Number.ts +2 -2
  780. package/src/Optic.ts +17 -332
  781. package/src/Path.ts +9 -1
  782. package/src/PubSub.ts +12 -7
  783. package/src/Queue.ts +5 -37
  784. package/src/Random.ts +1 -1
  785. package/src/RcMap.ts +14 -8
  786. package/src/Record.ts +51 -0
  787. package/src/Ref.ts +7 -104
  788. package/src/References.ts +5 -4
  789. package/src/RequestResolver.ts +46 -87
  790. package/src/Resource.ts +1 -1
  791. package/src/Runtime.ts +19 -18
  792. package/src/Schedule.ts +2 -94
  793. package/src/Schema.ts +591 -356
  794. package/src/SchemaAST.ts +20 -9
  795. package/src/SchemaGetter.ts +22 -5
  796. package/src/SchemaIssue.ts +44 -53
  797. package/src/SchemaRepresentation.ts +64 -1
  798. package/src/SchemaTransformation.ts +1 -1
  799. package/src/Scope.ts +12 -2
  800. package/src/ScopedCache.ts +17 -142
  801. package/src/SemVer.ts +1528 -0
  802. package/src/SemVerRange.ts +883 -0
  803. package/src/Sink.ts +6 -2
  804. package/src/Stream.ts +334 -1011
  805. package/src/String.ts +8 -8
  806. package/src/TextDiff.ts +766 -0
  807. package/src/TxHashMap.ts +1 -103
  808. package/src/TxHashSet.ts +48 -753
  809. package/src/ai/AiError.ts +66 -4
  810. package/src/ai/Chat.ts +10 -5
  811. package/src/ai/Decision.ts +49 -1
  812. package/src/ai/DecisionModel.ts +264 -108
  813. package/src/ai/EmbeddingModel.ts +25 -13
  814. package/src/ai/McpClient.ts +1211 -0
  815. package/src/ai/McpClientError.ts +329 -0
  816. package/src/ai/McpProtocol.ts +2 -2
  817. package/src/ai/McpSchema.ts +153 -35
  818. package/src/ai/McpServer.ts +217 -220
  819. package/src/ai/Prompt.ts +49 -35
  820. package/src/ai/Response.ts +195 -65
  821. package/src/ai/Tool.ts +12 -4
  822. package/src/ai/Toolkit.ts +78 -10
  823. package/src/ai/index.ts +12 -0
  824. package/src/ai/internal/mcpCore.ts +13 -14
  825. package/src/ai/internal/mcpProtocol/v2024_11_05.ts +1 -1
  826. package/src/ai/internal/mcpProtocol/v2025_03_26.ts +1 -1
  827. package/src/ai/internal/mcpProtocol/v2025_06_18.ts +3 -3
  828. package/src/ai/internal/mcpProtocol/v2025_11_25.ts +3 -3
  829. package/src/ai/internal/mcpProtocol/v2026_07_28.ts +12 -14
  830. package/src/ai/internal/mcpProtocol.ts +22 -2
  831. package/src/ai/internal/mcpRuntime.ts +3 -4
  832. package/src/ai/internal/mcpSchema/v2024_11_05.ts +20 -13
  833. package/src/ai/internal/mcpSchema/v2025_03_26.ts +4 -2
  834. package/src/ai/internal/mcpSchema/v2025_06_18.ts +7 -7
  835. package/src/ai/internal/mcpSchema/v2025_11_25.ts +8 -8
  836. package/src/ai/internal/mcpSchema/v2026_07_28.ts +44 -42
  837. package/src/cli/CliError.ts +49 -4
  838. package/src/cli/Command.ts +316 -9
  839. package/src/cli/Completions.ts +5 -0
  840. package/src/cli/Flag.ts +117 -0
  841. package/src/cli/GlobalFlag.ts +3 -3
  842. package/src/cli/Param.ts +122 -0
  843. package/src/cli/TerminalCapabilities.ts +156 -0
  844. package/src/cli/index.ts +6 -0
  845. package/src/cli/internal/command.ts +8 -3
  846. package/src/cli/internal/completions/bash.ts +4 -3
  847. package/src/cli/internal/completions/descriptor.ts +11 -1
  848. package/src/cli/internal/completions/fish.ts +10 -8
  849. package/src/cli/internal/completions/powershell.ts +23 -14
  850. package/src/cli/internal/completions/zsh.ts +8 -5
  851. package/src/cli/internal/formatter.ts +18 -0
  852. package/src/cli/internal/lexer.ts +12 -5
  853. package/src/cli/internal/parser.ts +31 -11
  854. package/src/cluster/ClusterCron.ts +94 -35
  855. package/src/cluster/ClusterMetrics.ts +149 -7
  856. package/src/cluster/ClusterWorkflowEngine.ts +84 -41
  857. package/src/cluster/Entity.ts +4 -0
  858. package/src/cluster/MessageStorage.ts +7 -0
  859. package/src/cluster/Runners.ts +76 -25
  860. package/src/cluster/Sharding.ts +118 -38
  861. package/src/cluster/ShardingConfig.ts +15 -0
  862. package/src/cluster/SqlMessageStorage.ts +58 -55
  863. package/src/cluster/SqlRunnerStorage.ts +10 -4
  864. package/src/cluster/internal/entityManager.ts +80 -10
  865. package/src/devtools/DevTools.ts +3 -2
  866. package/src/devtools/DevToolsClient.ts +27 -10
  867. package/src/encoding/Base64Url.ts +31 -0
  868. package/src/encoding/Ini.ts +3 -0
  869. package/src/encoding/JsonArray.ts +849 -0
  870. package/src/encoding/Ndjson.ts +211 -20
  871. package/src/encoding/SchemaBinary.ts +14 -48
  872. package/src/encoding/Tar.ts +1417 -0
  873. package/src/encoding/Toml.ts +3 -3
  874. package/src/encoding/Xml.ts +2037 -0
  875. package/src/encoding/Yaml.ts +108 -36
  876. package/src/encoding/Zip.ts +1558 -0
  877. package/src/encoding/index.ts +24 -0
  878. package/src/eventlog/EventJournal.ts +611 -227
  879. package/src/eventlog/EventLog.ts +496 -196
  880. package/src/eventlog/EventLogEncryption.ts +128 -43
  881. package/src/eventlog/EventLogMessage.ts +62 -11
  882. package/src/eventlog/EventLogRemote.ts +77 -21
  883. package/src/eventlog/EventLogServer.ts +162 -20
  884. package/src/eventlog/EventLogServerEncrypted.ts +121 -80
  885. package/src/eventlog/EventLogServerUnencrypted.ts +180 -77
  886. package/src/eventlog/EventRow.ts +706 -0
  887. package/src/eventlog/SqlEventJournal.ts +453 -173
  888. package/src/eventlog/SqlEventLogServerEncrypted.ts +212 -83
  889. package/src/eventlog/SqlEventLogServerUnencrypted.ts +141 -62
  890. package/src/eventlog/index.ts +6 -0
  891. package/src/eventlog/internal/conflicts.ts +123 -0
  892. package/src/graphql/GraphQLClientError.ts +5 -12
  893. package/src/graphql/GraphQLProtocol.ts +12 -9
  894. package/src/graphql/GraphQLResolver.ts +90 -239
  895. package/src/http/FetchHttpClient.ts +56 -6
  896. package/src/http/FindMyWay/internal/router.ts +11 -0
  897. package/src/http/Headers.ts +337 -154
  898. package/src/http/HttpClient.ts +126 -135
  899. package/src/http/HttpClientRequest.ts +142 -4
  900. package/src/http/HttpClientResponse.ts +71 -0
  901. package/src/http/HttpEffect.ts +25 -33
  902. package/src/http/HttpIncomingMessage.ts +3 -23
  903. package/src/http/HttpMiddleware.ts +180 -23
  904. package/src/http/HttpRouter.ts +8 -2
  905. package/src/http/HttpServerError.ts +6 -3
  906. package/src/http/HttpServerRequest.ts +71 -12
  907. package/src/http/HttpServerResponse.ts +49 -23
  908. package/src/http/HttpStaticServer.ts +25 -9
  909. package/src/http/MultipartParser/internal/contentType.ts +107 -6
  910. package/src/http/MultipartParser/internal/headers.ts +4 -16
  911. package/src/http/MultipartParser/internal/multipart.ts +10 -32
  912. package/src/http/Url.ts +6 -1
  913. package/src/http/internal/decompression.ts +26 -17
  914. package/src/http/internal/lazyStream.ts +25 -0
  915. package/src/http/internal/requestState.ts +33 -0
  916. package/src/http/internal/webResponse.ts +20 -0
  917. package/src/http-api/HttpApi.ts +1 -1
  918. package/src/http-api/HttpApiBuilder.ts +151 -23
  919. package/src/http-api/HttpApiClient.ts +158 -30
  920. package/src/http-api/HttpApiEndpoint.ts +144 -33
  921. package/src/http-api/HttpApiError.ts +55 -0
  922. package/src/http-api/HttpApiScalar.ts +4 -3
  923. package/src/http-api/HttpApiSchema.ts +275 -13
  924. package/src/http-api/HttpApiSwagger.ts +11 -4
  925. package/src/http-api/HttpApiTest.ts +33 -9
  926. package/src/http-api/OpenApi.ts +84 -42
  927. package/src/http-api/internal/path.ts +40 -12
  928. package/src/index.ts +24 -0
  929. package/src/internal/core.ts +1 -1
  930. package/src/internal/dateTime.ts +20 -7
  931. package/src/internal/effect.ts +120 -84
  932. package/src/internal/hashMap.ts +2 -2
  933. package/src/internal/hydration.ts +15 -0
  934. package/src/internal/inflate.ts +710 -0
  935. package/src/internal/record.ts +6 -0
  936. package/src/internal/request.ts +21 -6
  937. package/src/internal/schedule.ts +20 -39
  938. package/src/internal/schema/fromJsonSchemaDocument.ts +262 -193
  939. package/src/internal/schema/interpreter.ts +58 -45
  940. package/src/internal/schema/standardSchema.ts +32 -30
  941. package/src/internal/schema/toCodeDocument.ts +8 -3
  942. package/src/internal/schema/toCodec.ts +116 -1
  943. package/src/internal/schema/toFormatter.ts +6 -6
  944. package/src/internal/schema/toJsonSchemaDocument.ts +69 -39
  945. package/src/internal/trie.ts +1 -3
  946. package/src/internal/uuid.ts +15 -10
  947. package/src/internal/version.ts +1 -1
  948. package/src/net/NetAddress.ts +2 -9
  949. package/src/observability/OtlpExporter.ts +5 -12
  950. package/src/observability/OtlpMetrics.ts +5 -3
  951. package/src/observability/OtlpResource.ts +16 -6
  952. package/src/observability/OtlpSerialization.ts +17 -3
  953. package/src/observability/internal/protobuf.ts +2 -10
  954. package/src/persistence/PersistedCache.ts +3 -1
  955. package/src/persistence/PersistedQueue.ts +223 -153
  956. package/src/persistence/Persistence.ts +64 -30
  957. package/src/persistence/RateLimiter.ts +18 -21
  958. package/src/persistence/UserDirectories.ts +273 -0
  959. package/src/persistence/index.ts +6 -0
  960. package/src/process/ChildProcess.ts +2 -1
  961. package/src/reactivity/AsyncResult.ts +4 -38
  962. package/src/reactivity/Atom.ts +134 -166
  963. package/src/reactivity/AtomHttpApi.ts +10 -16
  964. package/src/reactivity/AtomRegistry.ts +50 -29
  965. package/src/reactivity/AtomRpc.ts +6 -22
  966. package/src/reactivity/Hydration.ts +53 -12
  967. package/src/reactivity/Reactivity.ts +97 -39
  968. package/src/rpc/Rpc.ts +21 -0
  969. package/src/rpc/RpcClient.ts +279 -103
  970. package/src/rpc/RpcSerialization.ts +21 -5
  971. package/src/rpc/RpcServer.ts +11 -20
  972. package/src/schema/VariantSchema.ts +86 -22
  973. package/src/socket/Socket.ts +45 -20
  974. package/src/sql/Migrator.ts +19 -9
  975. package/src/sql/SqlClient.ts +266 -29
  976. package/src/sql/SqlResolver.ts +9 -0
  977. package/src/sql/Statement.ts +35 -8
  978. package/src/testing/TestClock.ts +4 -1
  979. package/src/testing/TestSchema.ts +9 -3
  980. package/src/workflow/WorkflowEngine.ts +34 -10
  981. package/dist/http/internal/preResponseHandler.d.ts +0 -2
  982. package/dist/http/internal/preResponseHandler.d.ts.map +0 -1
  983. package/dist/http/internal/preResponseHandler.js +0 -14
  984. package/dist/http/internal/preResponseHandler.js.map +0 -1
  985. package/src/http/internal/preResponseHandler.ts +0 -19
@@ -31,7 +31,7 @@ import * as KeyValueStore from "../persistence/KeyValueStore.ts"
31
31
  import type { Pipeable } from "../Pipeable.ts"
32
32
  import { hasProperty } from "../Predicate.ts"
33
33
  import * as Pull from "../Pull.ts"
34
- import type { ReadonlyRecord } from "../Record.ts"
34
+ import { UnhandledLogLevel } from "../References.ts"
35
35
  import * as Scheduler from "../Scheduler.ts"
36
36
  import * as Schema from "../Schema.ts"
37
37
  import * as Scope from "../Scope.ts"
@@ -245,21 +245,7 @@ export const setIdleTTL: {
245
245
  */
246
246
  <A extends Atom<any>>(self: A, duration: Duration.Input): A
247
247
  } = dual<
248
- /**
249
- * Returns a copy of an atom with an idle time-to-live: finite durations dispose it after inactivity, while an infinite duration keeps it alive.
250
- *
251
- * @stability unstable
252
- * @category combinators
253
- * @since 4.0.0
254
- */
255
248
  (duration: Duration.Input) => <A extends Atom<any>>(self: A) => A,
256
- /**
257
- * Returns a copy of an atom with an idle time-to-live: finite durations dispose it after inactivity, while an infinite duration keeps it alive.
258
- *
259
- * @stability unstable
260
- * @category combinators
261
- * @since 4.0.0
262
- */
263
249
  <A extends Atom<any>>(self: A, duration: Duration.Input) => A
264
250
  >(2, (self, durationInput) => {
265
251
  const duration = Duration.fromInputUnsafe(durationInput)
@@ -306,7 +292,7 @@ const RuntimeProto = {
306
292
 
307
293
  fn(this: AtomRuntime<any, any>, arg: any, options?: {
308
294
  readonly initialValue?: unknown
309
- readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
295
+ readonly reactivityKeys?: Reactivity.KeysInput | undefined
310
296
  readonly concurrent?: boolean | undefined
311
297
  }) {
312
298
  if (arguments.length === 0) {
@@ -367,7 +353,7 @@ const makeFnRuntime = (
367
353
  | Stream.Stream<any, any, AtomRegistry>,
368
354
  options?: {
369
355
  readonly initialValue?: unknown
370
- readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
356
+ readonly reactivityKeys?: Reactivity.KeysInput | undefined
371
357
  }
372
358
  ) => {
373
359
  const [read, write, argAtom] = makeResultFn(
@@ -376,7 +362,7 @@ const makeFnRuntime = (
376
362
  const effect = arg(a, get)
377
363
  return Effect.isEffect(effect)
378
364
  ? Reactivity.mutation(effect, options.reactivityKeys!)
379
- : Stream.ensuring(effect, Reactivity.invalidate(options.reactivityKeys!))
365
+ : Stream.onEnd(effect, Reactivity.invalidate(options.reactivityKeys!))
380
366
  }) as any :
381
367
  arg,
382
368
  options
@@ -664,27 +650,35 @@ function makeEffect<A, E>(
664
650
  ctx: AtomContext,
665
651
  effect: Effect.Effect<A, E, Scope.Scope | AtomRegistry>,
666
652
  initialValue: AsyncResult.AsyncResult<A, E>,
667
- services = Context.empty(),
653
+ services: Context.Context<never> | LazyArg<Context.Context<never>> = Context.empty(),
668
654
  uninterruptible = false
669
655
  ): AsyncResult.AsyncResult<A, E> {
670
656
  const previous = ctx.self<AsyncResult.AsyncResult<A, E>>()
657
+ if (previous._tag === "Some" && Registry.consumeSkipInitialRun(ctx)) {
658
+ return previous.value
659
+ }
660
+ const getServices = typeof services === "function" ? services : constant(services)
671
661
  const scope = Scope.makeUnsafe()
672
662
  ctx.addFinalizer(() => {
673
- Effect.runForkWith(services)(Scope.close(scope, Exit.void))
663
+ Effect.runForkWith(getServices())(closeScope(scope))
674
664
  })
675
665
  let syncResult: AsyncResult.AsyncResult<A, E> | undefined
676
666
  let isAsync = false
677
667
  const cancel = runCallbackSync(
678
- services.pipe(
668
+ getServices().pipe(
679
669
  Context.add(Scope.Scope, scope),
680
670
  Context.add(AtomRegistry, ctx.registry),
681
671
  Context.add(Scheduler.Scheduler, ctx.registry.scheduler)
682
672
  ),
683
673
  effect,
684
674
  function(exit) {
685
- syncResult = AsyncResult.fromExitWithPrevious(exit, previous)
686
675
  if (isAsync) {
687
- ctx.setSelf(syncResult)
676
+ // Read the live value rather than `previous`: while the effect was
677
+ // running, the atom may have exposed `initialValue` or a `setSelf`
678
+ // success, and a failure should retain the latest success shown.
679
+ ctx.setSelf(AsyncResult.fromExitWithPrevious(exit, ctx.self()))
680
+ } else {
681
+ syncResult = AsyncResult.fromExitWithPrevious(exit, previous)
688
682
  }
689
683
  },
690
684
  uninterruptible
@@ -701,6 +695,16 @@ function makeEffect<A, E>(
701
695
  return AsyncResult.waiting(initialValue)
702
696
  }
703
697
 
698
+ const closeScope = (scope: Scope.Closeable): Effect.Effect<void> =>
699
+ Effect.catchCause(
700
+ Scope.close(scope, Exit.void),
701
+ (cause) =>
702
+ Cause.hasInterruptsOnly(cause) ? Effect.void : Effect.withFiber((fiber) => {
703
+ const level = fiber.getRef(UnhandledLogLevel)
704
+ return level ? Effect.logWithLevel(level)("Unhandled error in atom finalizer", cause) : Effect.void
705
+ })
706
+ )
707
+
704
708
  function runCallbackSync<R, A, E, ER = never>(
705
709
  services: Context.Context<R>,
706
710
  effect: Effect.Effect<A, E, R>,
@@ -771,7 +775,7 @@ export interface AtomRuntime<R, ER = never> extends Atom<AsyncResult.AsyncResult
771
775
  fn: (arg: Arg, get: FnContext) => Effect.Effect<A, E, Scope.Scope | AtomRegistry | Reactivity.Reactivity | R>,
772
776
  options?: {
773
777
  readonly initialValue?: A | undefined
774
- readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
778
+ readonly reactivityKeys?: Reactivity.KeysInput | undefined
775
779
  readonly concurrent?: boolean | undefined
776
780
  }
777
781
  ): AtomResultFn<Arg, A, E | ER>
@@ -779,7 +783,7 @@ export interface AtomRuntime<R, ER = never> extends Atom<AsyncResult.AsyncResult
779
783
  fn: (arg: Arg, get: FnContext) => Stream.Stream<A, E, AtomRegistry | Reactivity.Reactivity | R>,
780
784
  options?: {
781
785
  readonly initialValue?: A | undefined
782
- readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
786
+ readonly reactivityKeys?: Reactivity.KeysInput | undefined
783
787
  readonly concurrent?: boolean | undefined
784
788
  }
785
789
  ): AtomResultFn<Arg, A, E | ER | Cause.NoSuchElementError>
@@ -788,7 +792,7 @@ export interface AtomRuntime<R, ER = never> extends Atom<AsyncResult.AsyncResult
788
792
  fn: (arg: Arg, get: FnContext) => Effect.Effect<A, E, Scope.Scope | AtomRegistry | Reactivity.Reactivity | R>,
789
793
  options?: {
790
794
  readonly initialValue?: A | undefined
791
- readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
795
+ readonly reactivityKeys?: Reactivity.KeysInput | undefined
792
796
  readonly concurrent?: boolean | undefined
793
797
  }
794
798
  ): AtomResultFn<Arg, A, E | ER>
@@ -796,7 +800,7 @@ export interface AtomRuntime<R, ER = never> extends Atom<AsyncResult.AsyncResult
796
800
  fn: (arg: Arg, get: FnContext) => Stream.Stream<A, E, AtomRegistry | Reactivity.Reactivity | R>,
797
801
  options?: {
798
802
  readonly initialValue?: A | undefined
799
- readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
803
+ readonly reactivityKeys?: Reactivity.KeysInput | undefined
800
804
  readonly concurrent?: boolean | undefined
801
805
  }
802
806
  ): AtomResultFn<Arg, A, E | ER | Cause.NoSuchElementError>
@@ -841,7 +845,7 @@ export interface RuntimeFactory {
841
845
  * the keys change.
842
846
  */
843
847
  readonly withReactivity: (
844
- keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>
848
+ keys: Reactivity.KeysInput
845
849
  ) => <A extends Atom<any>>(atom: A) => A
846
850
  }
847
851
 
@@ -906,15 +910,25 @@ export function context(options?: {
906
910
 
907
911
  const layerAtom = keepAlive(
908
912
  typeof create === "function"
909
- ? readable((get) => Layer.provideMerge(create(get), globalLayer))
910
- : readable(() => Layer.provideMerge(create, globalLayer))
913
+ ? readable(create)
914
+ : readable(() => create)
911
915
  )
912
916
  self.layer = layerAtom
913
917
 
914
918
  self.read = function read(get: AtomContext) {
915
- const layer = get(layerAtom)
916
- const build = Effect.flatMap(Effect.scope, (scope) => Layer.buildWithMemoMap(layer, resolveMemoMap(get), scope))
917
- return effect(get, build, { uninterruptible: true })
919
+ const layer = Layer.provideMerge(get(layerAtom), globalLayer)
920
+ // Teardown failures are logged with the built services. A scoped logger
921
+ // from this layer is closed by then, so those reports may be dropped.
922
+ let services = Context.empty()
923
+ const build = Effect.flatMap(
924
+ Effect.scope,
925
+ (scope) =>
926
+ Effect.map(Layer.buildWithMemoMap(layer, resolveMemoMap(get), scope), (context) => {
927
+ services = context
928
+ return context
929
+ })
930
+ )
931
+ return makeEffect(get, build, AsyncResult.initial(), () => services, true)
918
932
  }
919
933
 
920
934
  return self
@@ -932,17 +946,15 @@ export function context(options?: {
932
946
  )
933
947
  )
934
948
  )
935
- factory.withReactivity =
936
- (keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>) =>
937
- <A extends Atom<any>>(atom: A): A =>
938
- transform(atom, (get) => {
939
- const reactivity = AsyncResult.getOrThrow(get(reactivityAtom))
940
- get.addFinalizer(reactivity.registerUnsafe(keys, () => {
941
- get.refresh(atom)
942
- }))
943
- get.subscribe(atom, (value) => get.setSelf(value))
944
- return get.once(atom)
945
- }, { initialValueTarget: atom }) as any as A
949
+ factory.withReactivity = (keys: Reactivity.KeysInput) => <A extends Atom<any>>(atom: A): A =>
950
+ transform(atom, (get) => {
951
+ const reactivity = AsyncResult.getOrThrow(get(reactivityAtom))
952
+ get.addFinalizer(reactivity.registerUnsafe(keys, () => {
953
+ get.refresh(atom)
954
+ }))
955
+ get.subscribe(atom, (value) => get.setSelf(value))
956
+ return get.once(atom)
957
+ }, { initialValueTarget: atom }) as any as A
946
958
  return factory as any
947
959
  }
948
960
 
@@ -956,7 +968,7 @@ export function context(options?: {
956
968
  export const runtime: RegistryRuntimeFactory = context()
957
969
 
958
970
  /**
959
- * Returns `Rx.runtime.withReactivity` for refreshing an atom whenever the
971
+ * Alias for `Atom.runtime.withReactivity` for refreshing an atom whenever the
960
972
  * keys change in the `Reactivity` service.
961
973
  *
962
974
  * **When to use**
@@ -969,7 +981,7 @@ export const runtime: RegistryRuntimeFactory = context()
969
981
  * @since 4.0.0
970
982
  */
971
983
  export const withReactivity: (
972
- keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>
984
+ keys: Reactivity.KeysInput
973
985
  ) => <A extends Atom<any>>(atom: A) => A = runtime.withReactivity
974
986
 
975
987
  // -----------------------------------------------------------------------------
@@ -997,6 +1009,9 @@ function makeStream<A, E>(
997
1009
  services = Context.empty()
998
1010
  ): AsyncResult.AsyncResult<A, E | Cause.NoSuchElementError> {
999
1011
  const previous = ctx.self<AsyncResult.AsyncResult<A, E | Cause.NoSuchElementError>>()
1012
+ if (previous._tag === "Some" && Registry.consumeSkipInitialRun(ctx)) {
1013
+ return previous.value
1014
+ }
1000
1015
  services = Context.add(services, AtomRegistry, ctx.registry)
1001
1016
 
1002
1017
  const run = Effect.scopedWith((scope) =>
@@ -1221,22 +1236,13 @@ export const fnSync: {
1221
1236
  * @since 4.0.0
1222
1237
  */
1223
1238
  <Arg>(): {
1224
- /**
1225
- * Creates a writable atom for a synchronous function; writing an argument re-runs the function, returning `Option.none` before the first call unless an initial value is supplied.
1226
- *
1227
- * @stability unstable
1228
- * @category constructors
1229
- * @since 4.0.0
1230
- */
1231
- <A>(f: (arg: Arg, get: FnContext) => A): Writable<Option.Option<A>, Arg>
1232
- /**
1233
- * Creates a writable atom for a synchronous function; writing an argument re-runs the function, returning `Option.none` before the first call unless an initial value is supplied.
1234
- *
1235
- * @stability unstable
1236
- * @category constructors
1237
- * @since 4.0.0
1238
- */
1239
- <A>(f: (arg: Arg, get: FnContext) => A, options: { readonly initialValue: A }): Writable<A, Arg>
1239
+ <A>(
1240
+ f: (arg: Arg, get: FnContext) => A
1241
+ ): Writable<Option.Option<A>, Arg>
1242
+ <A>(
1243
+ f: (arg: Arg, get: FnContext) => A,
1244
+ options: { readonly initialValue: A }
1245
+ ): Writable<A, Arg>
1240
1246
  }
1241
1247
  /**
1242
1248
  * Creates a writable atom for a synchronous function; writing an argument re-runs the function, returning `Option.none` before the first call unless an initial value is supplied.
@@ -1943,31 +1949,7 @@ export const withLabel: {
1943
1949
  */
1944
1950
  <A extends Atom<any>>(self: A, name: string): A
1945
1951
  } = dual<
1946
- /**
1947
- * Attaches a diagnostic label to an atom.
1948
- *
1949
- * **Details**
1950
- *
1951
- * The label is used for inspection and debugging metadata and does not change the
1952
- * atom's read or write behavior.
1953
- *
1954
- * @stability unstable
1955
- * @category combinators
1956
- * @since 4.0.0
1957
- */
1958
1952
  (name: string) => <A extends Atom<any>>(self: A) => A,
1959
- /**
1960
- * Attaches a diagnostic label to an atom.
1961
- *
1962
- * **Details**
1963
- *
1964
- * The label is used for inspection and debugging metadata and does not change the
1965
- * atom's read or write behavior.
1966
- *
1967
- * @stability unstable
1968
- * @category combinators
1969
- * @since 4.0.0
1970
- */
1971
1953
  <A extends Atom<any>>(self: A, name: string) => A
1972
1954
  >(2, (self, name) =>
1973
1955
  Object.assign(Object.create(Object.getPrototypeOf(self)), {
@@ -1975,6 +1957,29 @@ export const withLabel: {
1975
1957
  label: [name, getStackTraceLimit() === 0 ? "" : new Error().stack?.split("\n")[5] ?? ""]
1976
1958
  }))
1977
1959
 
1960
+ /**
1961
+ * Options for seeding an effect or stream atom through registry initial values
1962
+ * or hydration.
1963
+ *
1964
+ * **Details**
1965
+ *
1966
+ * By default a seeded effect or stream atom still runs its effect on mount,
1967
+ * because the dependencies read inside the effect are only known once it has
1968
+ * run. With `skipInitialRun`, the atom keeps the seeded value until it is
1969
+ * refreshed or one of its dependencies changes. The factory and any wrappers
1970
+ * still build, so `get(...)` calls in the factory and `withReactivity` keys are
1971
+ * tracked; only the first effect or stream run is skipped. Dependencies read
1972
+ * inside the effect are tracked from its first real run. An `Initial` seed
1973
+ * never skips the effect.
1974
+ *
1975
+ * @stability unstable
1976
+ * @category models
1977
+ * @since 4.1.0
1978
+ */
1979
+ export interface InitialValueOptions {
1980
+ readonly skipInitialRun?: boolean | undefined
1981
+ }
1982
+
1978
1983
  /**
1979
1984
  * Pairs an atom with an initial value for registry initialization.
1980
1985
  *
@@ -1985,7 +1990,9 @@ export const withLabel: {
1985
1990
  * **Details**
1986
1991
  *
1987
1992
  * The returned tuple can be supplied to `AtomRegistry` initial values so the atom
1988
- * starts with the provided value before it is first rebuilt.
1993
+ * starts with the provided value before it is first rebuilt. Pass
1994
+ * `{ skipInitialRun: true }` to keep the value of an effect or stream atom
1995
+ * instead of running its effect on mount (see {@link InitialValueOptions}).
1989
1996
  *
1990
1997
  * @stability unstable
1991
1998
  * @category combinators
@@ -2002,7 +2009,9 @@ export const initialValue: {
2002
2009
  * **Details**
2003
2010
  *
2004
2011
  * The returned tuple can be supplied to `AtomRegistry` initial values so the atom
2005
- * starts with the provided value before it is first rebuilt.
2012
+ * starts with the provided value before it is first rebuilt. Pass
2013
+ * `{ skipInitialRun: true }` to keep the value of an effect or stream atom
2014
+ * instead of running its effect on mount (see {@link InitialValueOptions}).
2006
2015
  *
2007
2016
  * @stability unstable
2008
2017
  * @category combinators
@@ -2019,14 +2028,15 @@ export const initialValue: {
2019
2028
  * **Details**
2020
2029
  *
2021
2030
  * The returned tuple can be supplied to `AtomRegistry` initial values so the atom
2022
- * starts with the provided value before it is first rebuilt.
2031
+ * starts with the provided value before it is first rebuilt. Pass
2032
+ * `{ skipInitialRun: true }` to keep the value of an effect or stream atom
2033
+ * instead of running its effect on mount (see {@link InitialValueOptions}).
2023
2034
  *
2024
2035
  * @stability unstable
2025
2036
  * @category combinators
2026
2037
  * @since 4.0.0
2027
2038
  */
2028
2039
  <A>(self: Atom<A>, initialValue: A): readonly [Atom<A>, A]
2029
- } = dual<
2030
2040
  /**
2031
2041
  * Pairs an atom with an initial value for registry initialization.
2032
2042
  *
@@ -2037,31 +2047,20 @@ export const initialValue: {
2037
2047
  * **Details**
2038
2048
  *
2039
2049
  * The returned tuple can be supplied to `AtomRegistry` initial values so the atom
2040
- * starts with the provided value before it is first rebuilt.
2050
+ * starts with the provided value before it is first rebuilt. Pass
2051
+ * `{ skipInitialRun: true }` to keep the value of an effect or stream atom
2052
+ * instead of running its effect on mount (see {@link InitialValueOptions}).
2041
2053
  *
2042
2054
  * @stability unstable
2043
2055
  * @category combinators
2044
2056
  * @since 4.0.0
2045
2057
  */
2046
- <A>(initialValue: A) => (self: Atom<A>) => readonly [Atom<A>, A],
2047
- /**
2048
- * Pairs an atom with an initial value for registry initialization.
2049
- *
2050
- * **When to use**
2051
- *
2052
- * Use to preload an atom value when constructing or seeding a registry.
2053
- *
2054
- * **Details**
2055
- *
2056
- * The returned tuple can be supplied to `AtomRegistry` initial values so the atom
2057
- * starts with the provided value before it is first rebuilt.
2058
- *
2059
- * @stability unstable
2060
- * @category combinators
2061
- * @since 4.0.0
2062
- */
2063
- <A>(self: Atom<A>, initialValue: A) => readonly [Atom<A>, A]
2064
- >(2, (self, initialValue) => [self, initialValue])
2058
+ <A>(self: Atom<A>, initialValue: A, options: InitialValueOptions): readonly [Atom<A>, A, InitialValueOptions]
2059
+ } = dual(
2060
+ (args) => args.length >= 2,
2061
+ <A>(self: Atom<A>, initialValue: A, options?: InitialValueOptions) =>
2062
+ options === undefined ? [self, initialValue] : [self, initialValue, options]
2063
+ )
2065
2064
 
2066
2065
  /**
2067
2066
  * Creates a derived atom by reading another atom with a custom `AtomContext`
@@ -2686,21 +2685,7 @@ export const optimisticFn: {
2686
2685
  | ((set: (result: NoInfer<W>) => void) => AtomResultFn<OW, XA, XE>)
2687
2686
  }
2688
2687
  ): AtomResultFn<OW, XA, XE> => {
2689
- const transition = removeTtl(state</**
2690
- * Creates an `AtomResultFn` that applies an optimistic update before running the
2691
- * underlying mutation.
2692
- *
2693
- * **Details**
2694
- *
2695
- * The reducer computes the provisional value from the current value and mutation
2696
- * input. The wrapped function result then completes the transition or updates the
2697
- * optimistic value through the provided setter callback.
2698
- *
2699
- * @stability unstable
2700
- * @category combinators
2701
- * @since 4.0.0
2702
- */
2703
- AsyncResult.AsyncResult<W, unknown>>(AsyncResult.initial()))
2688
+ const transition = removeTtl(state<AsyncResult.AsyncResult<W, unknown>>(AsyncResult.initial()))
2704
2689
  return fn((arg: OW, get) => {
2705
2690
  let value = options.reducer(get(self), arg)
2706
2691
  if (AsyncResult.isAsyncResult(value)) {
@@ -2717,42 +2702,14 @@ export const optimisticFn: {
2717
2702
  ))
2718
2703
  : options.fn
2719
2704
  get.set(fn, arg)
2720
- return Effect.callback</**
2721
- * Creates an `AtomResultFn` that applies an optimistic update before running the
2722
- * underlying mutation.
2723
- *
2724
- * **Details**
2725
- *
2726
- * The reducer computes the provisional value from the current value and mutation
2727
- * input. The wrapped function result then completes the transition or updates the
2728
- * optimistic value through the provided setter callback.
2729
- *
2730
- * @stability unstable
2731
- * @category combinators
2732
- * @since 4.0.0
2733
- */
2734
- XA, /**
2735
- * Creates an `AtomResultFn` that applies an optimistic update before running the
2736
- * underlying mutation.
2737
- *
2738
- * **Details**
2739
- *
2740
- * The reducer computes the provisional value from the current value and mutation
2741
- * input. The wrapped function result then completes the transition or updates the
2742
- * optimistic value through the provided setter callback.
2743
- *
2744
- * @stability unstable
2745
- * @category combinators
2746
- * @since 4.0.0
2747
- */
2748
- XE>((resume) => {
2705
+ return Effect.callback<XA, XE>((resume) => {
2749
2706
  get.subscribe(fn, (result) => {
2750
2707
  if (result._tag === "Initial" || result.waiting) return
2751
2708
  get.set(transition, AsyncResult.map(result, () => value))
2752
2709
  resume(AsyncResult.toExit(result) as any)
2753
2710
  }, { immediate: true })
2754
- });
2755
- });
2711
+ })
2712
+ })
2756
2713
  })
2757
2714
 
2758
2715
  /**
@@ -3216,7 +3173,7 @@ export type SerializableTypeId = "~effect-atom/atom/Atom/Serializable"
3216
3173
  * **Details**
3217
3174
  *
3218
3175
  * The key identifies the atom in dehydrated state, and the encode/decode
3219
- * functions convert between the atom value and the schema encoded value.
3176
+ * functions convert between the atom value and its JSON encoding.
3220
3177
  *
3221
3178
  * @stability unstable
3222
3179
  * @category models
@@ -3225,8 +3182,9 @@ export type SerializableTypeId = "~effect-atom/atom/Atom/Serializable"
3225
3182
  export interface Serializable<S extends Schema.Constraint> {
3226
3183
  readonly [SerializableTypeId]: {
3227
3184
  readonly key: string
3228
- readonly encode: (value: S["Type"]) => S["Encoded"]
3229
- readonly decode: (value: S["Encoded"]) => S["Type"]
3185
+ readonly encode: (value: S["Type"]) => Schema.Json
3186
+ readonly decode: (value: Schema.Json) => S["Type"]
3187
+ readonly skipInitialRun?: boolean | undefined
3230
3188
  }
3231
3189
  }
3232
3190
 
@@ -3246,6 +3204,8 @@ export const isSerializable = (self: Atom<any>): self is Atom<any> & Serializabl
3246
3204
  *
3247
3205
  * The schema is converted to a JSON codec for synchronous encode/decode, and the
3248
3206
  * key is also used as the atom label when the atom does not already have one.
3207
+ * Set `skipInitialRun` to keep a hydrated value of an effect or stream atom
3208
+ * instead of running its effect on mount (see {@link InitialValueOptions}).
3249
3209
  *
3250
3210
  * @stability unstable
3251
3211
  * @category combinators
@@ -3259,6 +3219,8 @@ export const serializable: {
3259
3219
  *
3260
3220
  * The schema is converted to a JSON codec for synchronous encode/decode, and the
3261
3221
  * key is also used as the atom label when the atom does not already have one.
3222
+ * Set `skipInitialRun` to keep a hydrated value of an effect or stream atom
3223
+ * instead of running its effect on mount (see {@link InitialValueOptions}).
3262
3224
  *
3263
3225
  * @stability unstable
3264
3226
  * @category combinators
@@ -3268,7 +3230,7 @@ export const serializable: {
3268
3230
  options: {
3269
3231
  readonly key: string
3270
3232
  readonly schema: S
3271
- }
3233
+ } & InitialValueOptions
3272
3234
  ): (self: R) => R & Serializable<S>
3273
3235
  /**
3274
3236
  * Attaches serialization metadata to an atom using a schema and stable key.
@@ -3277,6 +3239,8 @@ export const serializable: {
3277
3239
  *
3278
3240
  * The schema is converted to a JSON codec for synchronous encode/decode, and the
3279
3241
  * key is also used as the atom label when the atom does not already have one.
3242
+ * Set `skipInitialRun` to keep a hydrated value of an effect or stream atom
3243
+ * instead of running its effect on mount (see {@link InitialValueOptions}).
3280
3244
  *
3281
3245
  * @stability unstable
3282
3246
  * @category combinators
@@ -3287,12 +3251,15 @@ export const serializable: {
3287
3251
  options: {
3288
3252
  readonly key: string
3289
3253
  readonly schema: S
3290
- }
3254
+ } & InitialValueOptions
3291
3255
  ): R & Serializable<S>
3292
- } = dual(2, <R extends Atom<any>, A, I>(self: R, options: {
3293
- readonly key: string
3294
- readonly schema: Schema.ConstraintCodec<A, I>
3295
- }): R & Serializable<any> => {
3256
+ } = dual(2, <R extends Atom<any>, A, I>(
3257
+ self: R,
3258
+ options: {
3259
+ readonly key: string
3260
+ readonly schema: Schema.ConstraintCodec<A, I>
3261
+ } & InitialValueOptions
3262
+ ): R & Serializable<any> => {
3296
3263
  const codecJson = Schema.toCodecJson(options.schema)
3297
3264
  return Object.assign(Object.create(Object.getPrototypeOf(self)), {
3298
3265
  ...self,
@@ -3300,7 +3267,8 @@ export const serializable: {
3300
3267
  [SerializableTypeId]: {
3301
3268
  key: options.key,
3302
3269
  encode: Schema.encodeSync(codecJson),
3303
- decode: Schema.decodeSync(codecJson)
3270
+ decode: Schema.decodeSync(codecJson),
3271
+ skipInitialRun: options.skipInitialRun
3304
3272
  }
3305
3273
  })
3306
3274
  })
@@ -22,7 +22,6 @@ import type * as HttpApiMiddleware from "../http-api/HttpApiMiddleware.ts"
22
22
  import type * as HttpClient from "../http/HttpClient.ts"
23
23
  import * as HttpClientError from "../http/HttpClientError.ts"
24
24
  import * as Layer from "../Layer.ts"
25
- import type { ReadonlyRecord } from "../Record.ts"
26
25
  import * as Schema from "../Schema.ts"
27
26
  import type { SchemaError } from "../Schema.ts"
28
27
  import type { Mutable, Simplify } from "../Types.ts"
@@ -81,7 +80,7 @@ export interface AtomHttpApiClient<Self, Id extends string, Groups extends HttpA
81
80
  ] ? Atom.AtomResultFn<
82
81
  Simplify<
83
82
  HttpApiEndpoint.ClientRequest<_Params, _Query, _Payload, _Headers, "decoded-only"> & {
84
- readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
83
+ readonly reactivityKeys?: Reactivity.KeysInput | undefined
85
84
  }
86
85
  >,
87
86
  ResponseByMode<Endpoint, ResponseMode>,
@@ -115,16 +114,11 @@ export interface AtomHttpApiClient<Self, Id extends string, Groups extends HttpA
115
114
  infer _R,
116
115
  infer _RE
117
116
  >
118
- ] ? Simplify<
119
- HttpApiEndpoint.ClientRequest<_Params, _Query, _Payload, _Headers, ResponseMode> & {
120
- readonly reactivityKeys?:
121
- | ReadonlyArray<unknown>
122
- | ReadonlyRecord<string, ReadonlyArray<unknown>>
123
- | undefined
124
- readonly timeToLive?: Duration.Input | undefined
125
- readonly serializationKey?: string | undefined
126
- }
127
- >
117
+ ] ? HttpApiEndpoint.ClientRequest<_Params, _Query, _Payload, _Headers, ResponseMode> & {
118
+ readonly reactivityKeys?: Reactivity.KeysInput | undefined
119
+ readonly timeToLive?: Duration.Input | undefined
120
+ readonly serializationKey?: string | undefined
121
+ }
128
122
  : never
129
123
  ) => [Endpoint] extends [
130
124
  HttpApiEndpoint.HttpApiEndpoint<
@@ -227,7 +221,7 @@ export const Service =
227
221
  headers: any
228
222
  payload: any
229
223
  sseOptions?: Sse.DecodeOptions | undefined
230
- reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
224
+ reactivityKeys?: Reactivity.KeysInput | undefined
231
225
  }>()(
232
226
  Effect.fnUntraced(function*(opts) {
233
227
  const client = (yield* self) as any
@@ -244,7 +238,7 @@ export const Service =
244
238
  if (responseMode === "decoded-only") {
245
239
  const definition = groups[group].endpoints[endpoint]
246
240
  return Atom.serializable(atom, {
247
- key: `AtomHttpApi:mutation:${group}:${endpoint}`,
241
+ key: `AtomHttpApi:mutation:${JSON.stringify([id, group, endpoint])}`,
248
242
  schema: AsyncResult.Schema({
249
243
  success: Schema.Union(HttpApiEndpoint.getSuccessSchemas(definition)),
250
244
  error: Schema.Union(HttpApiEndpoint.getErrorSchemas(definition))
@@ -303,7 +297,7 @@ export const Service =
303
297
  readonly headers?: any
304
298
  readonly responseMode?: HttpApiEndpoint.ClientResponseMode
305
299
  readonly sseOptions?: Sse.DecodeOptions | undefined
306
- readonly reactivityKeys?: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
300
+ readonly reactivityKeys?: Reactivity.KeysInput | undefined
307
301
  readonly timeToLive?: Duration.Input | undefined
308
302
  readonly serializationKey?: string | undefined
309
303
  }
@@ -343,7 +337,7 @@ interface QueryKey {
343
337
  headers: any
344
338
  payload: any
345
339
  responseMode: HttpApiEndpoint.ClientResponseMode
346
- reactivityKeys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>> | undefined
340
+ reactivityKeys: Reactivity.KeysInput | undefined
347
341
  sseOptions: Sse.DecodeOptions | undefined
348
342
  timeToLive: Duration.Duration | undefined
349
343
  serializationKey: string | undefined