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
@@ -170,6 +170,21 @@ const toolPartSchemas = (tool: Tool.Any) => {
170
170
  return parts
171
171
  }
172
172
 
173
+ type AnyToolParts = ToolCallPart<string, unknown> | ToolResultPart<string, unknown, unknown>
174
+
175
+ const toolPartSchemasFor = (
176
+ toolkit: Toolkit.Any | Toolkit.WithHandler<any> | undefined
177
+ ): ReadonlyArray<Schema.Top> => {
178
+ if (toolkit === undefined) {
179
+ return [
180
+ makeToolCallPart(Schema.String, Schema.Unknown),
181
+ makeToolResultPart(Schema.String, Schema.Unknown, Schema.Unknown)
182
+ ]
183
+ }
184
+ const parts = Object.values(toolkit.tools as Record<string, Tool.Any>).map(toolPartSchemas)
185
+ return [...parts.map((part) => part.toolCall), ...parts.map((part) => part.toolResult)]
186
+ }
187
+
173
188
  /**
174
189
  * Creates a Schema for all response parts based on a toolkit.
175
190
  *
@@ -178,6 +193,9 @@ const toolPartSchemas = (tool: Tool.Any) => {
178
193
  * Generates a schema that includes all possible response parts, with tool call
179
194
  * and tool result parts dynamically created based on the provided toolkit.
180
195
  *
196
+ * When no toolkit is provided, tool call and tool result parts accept any tool
197
+ * name, with parameters and results decoded as `unknown`.
198
+ *
181
199
  * **Example** (Building a response parts schema)
182
200
  *
183
201
  * ```ts import.meta.vitest
@@ -193,28 +211,95 @@ const toolPartSchemas = (tool: Tool.Any) => {
193
211
  *
194
212
  * const allPartsSchema = Response.AllParts(myToolkit)
195
213
  * Schema.isSchema(allPartsSchema) // => true
214
+ *
215
+ * const anyToolPartsSchema = Response.AllParts()
216
+ * Schema.isSchema(anyToolPartsSchema) // => true
196
217
  * ```
197
218
  *
198
219
  * @stability unstable
199
220
  * @category schemas
200
221
  * @since 4.0.0
201
222
  */
202
- export const AllParts = <T extends Toolkit.Any | Toolkit.WithHandler<any>>(
203
- toolkit: T
204
- ): Schema.Codec<
205
- AllParts<T extends Toolkit.Any ? Toolkit.Tools<T> : Toolkit.WithHandlerTools<T>>,
206
- AllPartsEncoded,
207
- Tool.ResultDecodingServices<Toolkit.Tools<T>[keyof Toolkit.Tools<T>]>,
208
- Tool.ResultEncodingServices<Toolkit.Tools<T>[keyof Toolkit.Tools<T>]>
209
- > => {
210
- const toolCalls: Array<Schema.Top> = []
211
- const toolResults: Array<Schema.Top> = []
212
- for (const tool of Object.values(toolkit.tools as Record<string, Tool.Any>)) {
213
- const parts = toolPartSchemas(tool)
214
- toolCalls.push(parts.toolCall)
215
- toolResults.push(parts.toolResult)
216
- }
217
- return Schema.Union([
223
+ export const AllParts: {
224
+ /**
225
+ * Creates a Schema for all response parts based on a toolkit.
226
+ *
227
+ * **Details**
228
+ *
229
+ * Generates a schema that includes all possible response parts, with tool call
230
+ * and tool result parts dynamically created based on the provided toolkit.
231
+ *
232
+ * When no toolkit is provided, tool call and tool result parts accept any tool
233
+ * name, with parameters and results decoded as `unknown`.
234
+ *
235
+ * **Example** (Building a response parts schema)
236
+ *
237
+ * ```ts import.meta.vitest
238
+ * import { Schema } from "effect"
239
+ * import { Response, Tool, Toolkit } from "effect/ai"
240
+ *
241
+ * const myToolkit = Toolkit.make(
242
+ * Tool.make("GetWeather", {
243
+ * parameters: Schema.Struct({ city: Schema.String }),
244
+ * success: Schema.Struct({ temperature: Schema.Number })
245
+ * })
246
+ * )
247
+ *
248
+ * const allPartsSchema = Response.AllParts(myToolkit)
249
+ * Schema.isSchema(allPartsSchema) // => true
250
+ *
251
+ * const anyToolPartsSchema = Response.AllParts()
252
+ * Schema.isSchema(anyToolPartsSchema) // => true
253
+ * ```
254
+ *
255
+ * @stability unstable
256
+ * @category schemas
257
+ * @since 4.0.0
258
+ */
259
+ <T extends Toolkit.Any | Toolkit.WithHandler<any>>(toolkit: T): Schema.Codec<
260
+ AllParts<T extends Toolkit.Any ? Toolkit.Tools<T> : Toolkit.WithHandlerTools<T>>,
261
+ AllPartsEncoded,
262
+ Tool.ResultDecodingServices<Toolkit.Tools<T>[keyof Toolkit.Tools<T>]>,
263
+ Tool.ResultEncodingServices<Toolkit.Tools<T>[keyof Toolkit.Tools<T>]>
264
+ >
265
+ /**
266
+ * Creates a Schema for all response parts based on a toolkit.
267
+ *
268
+ * **Details**
269
+ *
270
+ * Generates a schema that includes all possible response parts, with tool call
271
+ * and tool result parts dynamically created based on the provided toolkit.
272
+ *
273
+ * When no toolkit is provided, tool call and tool result parts accept any tool
274
+ * name, with parameters and results decoded as `unknown`.
275
+ *
276
+ * **Example** (Building a response parts schema)
277
+ *
278
+ * ```ts import.meta.vitest
279
+ * import { Schema } from "effect"
280
+ * import { Response, Tool, Toolkit } from "effect/ai"
281
+ *
282
+ * const myToolkit = Toolkit.make(
283
+ * Tool.make("GetWeather", {
284
+ * parameters: Schema.Struct({ city: Schema.String }),
285
+ * success: Schema.Struct({ temperature: Schema.Number })
286
+ * })
287
+ * )
288
+ *
289
+ * const allPartsSchema = Response.AllParts(myToolkit)
290
+ * Schema.isSchema(allPartsSchema) // => true
291
+ *
292
+ * const anyToolPartsSchema = Response.AllParts()
293
+ * Schema.isSchema(anyToolPartsSchema) // => true
294
+ * ```
295
+ *
296
+ * @stability unstable
297
+ * @category schemas
298
+ * @since 4.0.0
299
+ */
300
+ (): Schema.Codec<AllParts<{}> | AnyToolParts, AllPartsEncoded>
301
+ } = (toolkit?: Toolkit.Any | Toolkit.WithHandler<any>) =>
302
+ Schema.Union([
218
303
  TextPart,
219
304
  TextStartPart,
220
305
  TextDeltaPart,
@@ -233,10 +318,8 @@ export const AllParts = <T extends Toolkit.Any | Toolkit.WithHandler<any>>(
233
318
  ResponseMetadataPart,
234
319
  FinishPart,
235
320
  ErrorPart,
236
- ...toolCalls,
237
- ...toolResults
321
+ ...toolPartSchemasFor(toolkit)
238
322
  ]) as any
239
- }
240
323
 
241
324
  // =============================================================================
242
325
  // Parts
@@ -289,26 +372,49 @@ export type PartEncoded =
289
372
  /**
290
373
  * Creates a Schema for non-streaming response parts based on a toolkit.
291
374
  *
375
+ * **Details**
376
+ *
377
+ * When no toolkit is provided, tool call and tool result parts accept any tool
378
+ * name, with parameters and results decoded as `unknown`.
379
+ *
292
380
  * @stability unstable
293
381
  * @category schemas
294
382
  * @since 4.0.0
295
383
  */
296
- export const Part = <T extends Toolkit.Any | Toolkit.WithHandler<any>>(
297
- toolkit: T
298
- ): Schema.Codec<
299
- Part<T extends Toolkit.Any ? Toolkit.Tools<T> : Toolkit.WithHandlerTools<T>>,
300
- PartEncoded,
301
- Tool.ResultDecodingServices<Toolkit.Tools<T>[keyof Toolkit.Tools<T>]>,
302
- Tool.ResultEncodingServices<Toolkit.Tools<T>[keyof Toolkit.Tools<T>]>
303
- > => {
304
- const toolCalls: Array<Schema.Top> = []
305
- const toolResults: Array<Schema.Top> = []
306
- for (const tool of Object.values(toolkit.tools as Record<string, Tool.Any>)) {
307
- const parts = toolPartSchemas(tool)
308
- toolCalls.push(parts.toolCall)
309
- toolResults.push(parts.toolResult)
310
- }
311
- return Schema.Union([
384
+ export const Part: {
385
+ /**
386
+ * Creates a Schema for non-streaming response parts based on a toolkit.
387
+ *
388
+ * **Details**
389
+ *
390
+ * When no toolkit is provided, tool call and tool result parts accept any tool
391
+ * name, with parameters and results decoded as `unknown`.
392
+ *
393
+ * @stability unstable
394
+ * @category schemas
395
+ * @since 4.0.0
396
+ */
397
+ <T extends Toolkit.Any | Toolkit.WithHandler<any>>(toolkit: T): Schema.Codec<
398
+ Part<T extends Toolkit.Any ? Toolkit.Tools<T> : Toolkit.WithHandlerTools<T>>,
399
+ PartEncoded,
400
+ Tool.ResultDecodingServices<Toolkit.Tools<T>[keyof Toolkit.Tools<T>]>,
401
+ Tool.ResultEncodingServices<Toolkit.Tools<T>[keyof Toolkit.Tools<T>]>
402
+ >
403
+ /**
404
+ * Creates a Schema for non-streaming response parts based on a toolkit.
405
+ *
406
+ * **Details**
407
+ *
408
+ * When no toolkit is provided, tool call and tool result parts accept any tool
409
+ * name, with parameters and results decoded as `unknown`.
410
+ *
411
+ * @stability unstable
412
+ * @category schemas
413
+ * @since 4.0.0
414
+ */
415
+ (): Schema.Codec<Part<{}> | AnyToolParts, PartEncoded>
416
+ } = (toolkit?: Toolkit.Any | Toolkit.WithHandler<any>) =>
417
+ Schema.Union([
312
418
  TextPart,
313
419
  ReasoningPart,
314
420
  ToolApprovalRequestPart,
@@ -317,10 +423,8 @@ export const Part = <T extends Toolkit.Any | Toolkit.WithHandler<any>>(
317
423
  UrlSourcePart,
318
424
  ResponseMetadataPart,
319
425
  FinishPart,
320
- ...toolCalls,
321
- ...toolResults
426
+ ...toolPartSchemasFor(toolkit)
322
427
  ]) as any
323
- }
324
428
 
325
429
  // =============================================================================
326
430
  // Stream Parts
@@ -386,26 +490,49 @@ export type StreamPartEncoded =
386
490
  /**
387
491
  * Creates a Schema for streaming response parts based on a toolkit.
388
492
  *
493
+ * **Details**
494
+ *
495
+ * When no toolkit is provided, tool call and tool result parts accept any tool
496
+ * name, with parameters and results decoded as `unknown`.
497
+ *
389
498
  * @stability unstable
390
499
  * @category schemas
391
500
  * @since 4.0.0
392
501
  */
393
- export const StreamPart = <T extends Toolkit.Any | Toolkit.WithHandler<any>>(
394
- toolkit: T
395
- ): Schema.Codec<
396
- StreamPart<T extends Toolkit.Any ? Toolkit.Tools<T> : Toolkit.WithHandlerTools<T>>,
397
- StreamPartEncoded,
398
- Tool.ResultDecodingServices<Toolkit.Tools<T>[keyof Toolkit.Tools<T>]>,
399
- Tool.ResultEncodingServices<Toolkit.Tools<T>[keyof Toolkit.Tools<T>]>
400
- > => {
401
- const toolCalls: Array<Schema.Top> = []
402
- const toolResults: Array<Schema.Top> = []
403
- for (const tool of Object.values(toolkit.tools as Record<string, Tool.Any>)) {
404
- const parts = toolPartSchemas(tool)
405
- toolCalls.push(parts.toolCall)
406
- toolResults.push(parts.toolResult)
407
- }
408
- return Schema.Union([
502
+ export const StreamPart: {
503
+ /**
504
+ * Creates a Schema for streaming response parts based on a toolkit.
505
+ *
506
+ * **Details**
507
+ *
508
+ * When no toolkit is provided, tool call and tool result parts accept any tool
509
+ * name, with parameters and results decoded as `unknown`.
510
+ *
511
+ * @stability unstable
512
+ * @category schemas
513
+ * @since 4.0.0
514
+ */
515
+ <T extends Toolkit.Any | Toolkit.WithHandler<any>>(toolkit: T): Schema.Codec<
516
+ StreamPart<T extends Toolkit.Any ? Toolkit.Tools<T> : Toolkit.WithHandlerTools<T>>,
517
+ StreamPartEncoded,
518
+ Tool.ResultDecodingServices<Toolkit.Tools<T>[keyof Toolkit.Tools<T>]>,
519
+ Tool.ResultEncodingServices<Toolkit.Tools<T>[keyof Toolkit.Tools<T>]>
520
+ >
521
+ /**
522
+ * Creates a Schema for streaming response parts based on a toolkit.
523
+ *
524
+ * **Details**
525
+ *
526
+ * When no toolkit is provided, tool call and tool result parts accept any tool
527
+ * name, with parameters and results decoded as `unknown`.
528
+ *
529
+ * @stability unstable
530
+ * @category schemas
531
+ * @since 4.0.0
532
+ */
533
+ (): Schema.Codec<StreamPart<{}> | AnyToolParts, StreamPartEncoded>
534
+ } = (toolkit?: Toolkit.Any | Toolkit.WithHandler<any>) =>
535
+ Schema.Union([
409
536
  TextStartPart,
410
537
  TextDeltaPart,
411
538
  TextEndPart,
@@ -422,10 +549,8 @@ export const StreamPart = <T extends Toolkit.Any | Toolkit.WithHandler<any>>(
422
549
  ResponseMetadataPart,
423
550
  FinishPart,
424
551
  ErrorPart,
425
- ...toolCalls,
426
- ...toolResults
552
+ ...toolPartSchemasFor(toolkit)
427
553
  ]) as any
428
- }
429
554
 
430
555
  // =============================================================================
431
556
  // utility types
@@ -1522,15 +1647,17 @@ export const ToolCallPart: <const Name extends string, Params extends Schema.Con
1522
1647
  > = <const Name extends string, Params extends Schema.Constraint>(
1523
1648
  name: Name,
1524
1649
  params: Params
1525
- ) =>
1650
+ ) => makeToolCallPart(Schema.Literal(name), params) as any
1651
+
1652
+ const makeToolCallPart = (name: Schema.Top, params: Schema.Constraint) =>
1526
1653
  Schema.Struct({
1527
1654
  ...BasePart.fields,
1528
1655
  type: Schema.Literal("tool-call"),
1529
1656
  id: Schema.String,
1530
- name: Schema.Literal(name),
1657
+ name,
1531
1658
  params,
1532
1659
  providerExecuted: Schema.Boolean.pipe(Schema.withDecodingDefaultKey(Effect.succeed(false)))
1533
- }).annotate({ identifier: "ToolCallPart" }) as any
1660
+ }).annotate({ identifier: "ToolCallPart" })
1534
1661
 
1535
1662
  /**
1536
1663
  * Constructs a new tool call part.
@@ -1739,14 +1866,19 @@ export const ToolResultPart = <
1739
1866
  ToolResultPartEncoded,
1740
1867
  Success["DecodingServices"] | Failure["DecodingServices"],
1741
1868
  Success["EncodingServices"] | Failure["EncodingServices"]
1742
- > => {
1869
+ > =>
1870
+ makeToolResultPart(Schema.Literal(name), success, failure).annotate({
1871
+ identifier: `ToolResultPart(${name})`
1872
+ }) as any
1873
+
1874
+ const makeToolResultPart = (name: Schema.Top, success: Schema.Constraint, failure: Schema.Constraint) => {
1743
1875
  const makeSchema = (result: Schema.Constraint, isFailure: boolean) => {
1744
1876
  const encodedResult = Schema.toEncoded(result)
1745
1877
  const Common = {
1746
1878
  id: Schema.String,
1747
1879
  type: Schema.Literal("tool-result"),
1748
1880
  isFailure: Schema.Literal(isFailure),
1749
- name: Schema.Literal(name)
1881
+ name
1750
1882
  }
1751
1883
  const Decoded = Schema.Struct({
1752
1884
  ...Common,
@@ -1779,9 +1911,7 @@ export const ToolResultPart = <
1779
1911
  })
1780
1912
  ))
1781
1913
  }
1782
- return Schema.Union([makeSchema(success, false), makeSchema(failure, true)]).annotate({
1783
- identifier: `ToolResultPart(${name})`
1784
- })
1914
+ return Schema.Union([makeSchema(success, false), makeSchema(failure, true)])
1785
1915
  }
1786
1916
 
1787
1917
  /**
package/src/ai/Tool.ts CHANGED
@@ -115,7 +115,9 @@ export type DynamicTypeId = "~effect/ai/Tool/Dynamic"
115
115
  * execution will be returned in the error channel of the calling effect.
116
116
  *
117
117
  * If set to `"return"`, errors that occur during tool call handler execution
118
- * will be captured and returned as part of the tool call result.
118
+ * will be captured and returned as part of the tool call result. Like
119
+ * `Effect.catch`, only the first typed failure is returned, and a cause
120
+ * containing a defect is raised as a defect.
119
121
  *
120
122
  * @stability unstable
121
123
  * @category models
@@ -246,7 +248,9 @@ export interface Tool<
246
248
  * effect.
247
249
  *
248
250
  * If set to `"return"`, errors that occur during tool call handler execution
249
- * will be captured and returned as part of the tool call result.
251
+ * will be captured and returned as part of the tool call result. Like
252
+ * `Effect.catch`, only the first typed failure is returned, and a cause
253
+ * containing a defect is raised as a defect.
250
254
  */
251
255
  readonly failureMode: FailureMode
252
256
 
@@ -1295,7 +1299,9 @@ export const make = <
1295
1299
  * execution will be returned in the error channel of the calling effect.
1296
1300
  *
1297
1301
  * If set to `"return"`, errors that occur during tool call handler execution
1298
- * will be captured and returned as part of the tool call result.
1302
+ * will be captured and returned as part of the tool call result. Like
1303
+ * `Effect.catch`, only the first typed failure is returned, and a cause
1304
+ * containing a defect is raised as a defect.
1299
1305
  */
1300
1306
  readonly failureMode?: Mode
1301
1307
  /**
@@ -1578,7 +1584,9 @@ export const providerDefined = <
1578
1584
  * execution will be returned in the error channel of the calling effect.
1579
1585
  *
1580
1586
  * If set to `"return"`, errors that occur during tool call handler execution
1581
- * will be captured and returned as part of the tool call result.
1587
+ * will be captured and returned as part of the tool call result. Like
1588
+ * `Effect.catch`, only the first typed failure is returned, and a cause
1589
+ * containing a defect is raised as a defect.
1582
1590
  */
1583
1591
  readonly failureMode?: Mode | undefined
1584
1592
  }
package/src/ai/Toolkit.ts CHANGED
@@ -125,7 +125,8 @@ export interface HandlerContext<Tool extends Tool.Any> {
125
125
  * **Details**
126
126
  *
127
127
  * Preliminary results are streamed to the caller before the handler completes,
128
- * enabling real-time progress updates for lengthy operations.
128
+ * enabling real-time progress updates for lengthy operations. Results are
129
+ * buffered without limit unless the caller provides `PreliminaryBuffer`.
129
130
  */
130
131
  readonly preliminary: (result: Tool.Success<Tool>) => Effect.Effect<void>
131
132
  }
@@ -296,9 +297,60 @@ export const FailureOrigin = Context.Reference<Tool.FailureOrigin>("effect/ai/To
296
297
  defaultValue: () => "result"
297
298
  })
298
299
 
300
+ /**
301
+ * Limits how many preliminary results `Toolkit.handle` buffers per tool call.
302
+ *
303
+ * **Details**
304
+ *
305
+ * Defaults to `"unbounded"`. Provide it as a positive integer around `handle`,
306
+ * or around a program that calls it, and `HandlerContext.preliminary` suspends
307
+ * once that many results are unconsumed. Any other value is a defect.
308
+ *
309
+ * The bound only applies to the stream returned by `handle`. Consume that
310
+ * stream while the handler runs; waiting for the handler before reading it
311
+ * deadlocks once the buffer fills. `LanguageModel` moves results into its own
312
+ * buffers, so the bound does not limit memory end to end there.
313
+ *
314
+ * **Example** (Bounding preliminary results)
315
+ *
316
+ * ```ts import.meta.vitest
317
+ * import { Effect, Schema, Stream } from "effect"
318
+ * import { Tool, Toolkit } from "effect/ai"
319
+ *
320
+ * const toolkit = Toolkit.make(Tool.make("Progress", { success: Schema.Number }))
321
+ *
322
+ * const program = Effect.gen(function*() {
323
+ * const handlers = yield* toolkit
324
+ * const stream = yield* handlers.handle("Progress", {}).pipe(
325
+ * Effect.provideService(Toolkit.PreliminaryBuffer, 16)
326
+ * )
327
+ * const results = yield* Stream.runCollect(stream)
328
+ * return results.length
329
+ * }).pipe(
330
+ * Effect.provide(toolkit.toLayer({
331
+ * Progress: Effect.fnUntraced(function*(_, ctx) {
332
+ * for (let i = 0; i < 64; i++) yield* ctx.preliminary(i)
333
+ * return 64
334
+ * })
335
+ * }))
336
+ * )
337
+ *
338
+ * await Effect.runPromise(program) // => 65
339
+ * ```
340
+ *
341
+ * @stability unstable
342
+ * @category services
343
+ * @since 4.1.0
344
+ */
345
+ export const PreliminaryBuffer = Context.Reference<number | "unbounded">("effect/ai/Toolkit/PreliminaryBuffer", {
346
+ defaultValue: () => "unbounded"
347
+ })
348
+
299
349
  const failureCause = <E>(error: E, origin: Tool.FailureOrigin): Cause.Cause<E> =>
300
350
  Cause.annotate(Cause.fail(error), Context.make(FailureOrigin, origin))
301
351
 
352
+ const failureOrigin = (error: unknown): Tool.FailureOrigin => Schema.isSchemaError(error) ? "result" : "handler"
353
+
302
354
  const Proto = {
303
355
  ...Effectable.Prototype({
304
356
  label: "Toolkit",
@@ -402,11 +454,15 @@ const Proto = {
402
454
  }
403
455
  const decodedParams = decodedParamsResult.success
404
456
 
457
+ const capacity = yield* PreliminaryBuffer
458
+ if (capacity !== "unbounded" && !(Number.isInteger(capacity) && capacity > 0)) {
459
+ return yield* Effect.die(`Tool "${name}": PreliminaryBuffer must be a positive integer, got ${capacity}`)
460
+ }
405
461
  const queue = yield* Queue.make<{
406
462
  readonly result: any
407
463
  readonly isFailure: boolean
408
464
  readonly preliminary: boolean
409
- }, Cause.Done>()
465
+ }, Cause.Done>(capacity === "unbounded" ? undefined : { capacity })
410
466
  const context: HandlerContext<any> = {
411
467
  toolCallId,
412
468
  preliminary: (result) =>
@@ -448,18 +504,30 @@ const Proto = {
448
504
  }
449
505
 
450
506
  return Stream.fromQueue(queue).pipe(
451
- Stream.catch((error) => {
452
- const normalizedError = normalizeError(error)
453
- const failureOrigin: Tool.FailureOrigin = Schema.isSchemaError(error) ? "result" : "handler"
454
- return tool.failureMode === "error"
455
- ? Stream.failCause(failureCause(normalizedError, failureOrigin))
456
- : Stream.succeed({ result: normalizedError, isFailure: true, failureOrigin, preliminary: false })
457
- }),
507
+ tool.failureMode === "error"
508
+ ? Stream.catchCause((cause) =>
509
+ Stream.failCause(Cause.map(
510
+ Cause.fromReasons(cause.reasons.map((reason) =>
511
+ Cause.isFailReason(reason)
512
+ ? reason.annotate(Context.make(FailureOrigin, failureOrigin(reason.error)), { overwrite: true })
513
+ : reason
514
+ )),
515
+ normalizeError
516
+ ))
517
+ )
518
+ : Stream.catch((error) =>
519
+ Stream.succeed({
520
+ result: normalizeError(error),
521
+ isFailure: true,
522
+ failureOrigin: failureOrigin(error),
523
+ preliminary: false
524
+ })
525
+ ),
458
526
  Stream.mapEffect(Effect.fnUntraced(function*(output) {
459
527
  const encodedResult = yield* encodeResult(output.result, output.isFailure)
460
528
  return { ...output, encodedResult }
461
529
  })),
462
- Stream.onEnd(Fiber.interrupt(fiber))
530
+ Stream.ensuring(Fiber.interrupt(fiber))
463
531
  ) satisfies Stream.Stream<Tool.HandlerResult<any>, any>
464
532
  })
465
533
 
package/src/ai/index.ts CHANGED
@@ -53,6 +53,18 @@ export * as IdGenerator from "./IdGenerator.ts"
53
53
  */
54
54
  export * as LanguageModel from "./LanguageModel.ts"
55
55
 
56
+ /**
57
+ * @stability experimental
58
+ * @since 4.0.6
59
+ */
60
+ export * as McpClient from "./McpClient.ts"
61
+
62
+ /**
63
+ * @stability experimental
64
+ * @since 4.0.6
65
+ */
66
+ export * as McpClientError from "./McpClientError.ts"
67
+
56
68
  /**
57
69
  * @stability unstable
58
70
  * @since 4.0.0
@@ -7,7 +7,6 @@
7
7
  import * as Arr from "../../Array.ts"
8
8
  import * as Data from "../../Data.ts"
9
9
  import * as Effect from "../../Effect.ts"
10
- import type * as Schema from "../../Schema.ts"
11
10
  import type * as McpProtocol from "../McpProtocol.ts"
12
11
  import * as McpSchema from "../McpSchema.ts"
13
12
 
@@ -56,7 +55,7 @@ export interface NegotiatedProtocolProfile<out Version extends string = McpProto
56
55
  : McpSchema.Implementation | undefined
57
56
  readonly requestMetadata?:
58
57
  | (Version extends McpProtocol.StatefulProtocolVersion ? CanonicalRequestMetadata
59
- : CanonicalRequestMetadata | Schema.JsonObject)
58
+ : CanonicalRequestMetadata | Readonly<Record<string, unknown>>)
60
59
  | undefined
61
60
  }
62
61
 
@@ -66,7 +65,7 @@ export interface NegotiatedProtocolProfile<out Version extends string = McpProto
66
65
  * @internal
67
66
  */
68
67
  export interface CanonicalServerCapabilities {
69
- readonly experimental?: Readonly<Record<string, Schema.JsonObject>> | undefined
68
+ readonly experimental?: Readonly<Record<string, Readonly<Record<string, unknown>>>> | undefined
70
69
  readonly logging?: boolean | undefined
71
70
  readonly completions?: boolean | undefined
72
71
  readonly prompts?: Readonly<{ readonly listChanged?: boolean | undefined }> | undefined
@@ -77,7 +76,7 @@ export interface CanonicalServerCapabilities {
77
76
  }>
78
77
  | undefined
79
78
  readonly tools?: Readonly<{ readonly listChanged?: boolean | undefined }> | undefined
80
- readonly extensions?: Schema.JsonObject | undefined
79
+ readonly extensions?: Readonly<Record<string, unknown>> | undefined
81
80
  }
82
81
 
83
82
  /**
@@ -303,7 +302,7 @@ export interface CompletionResult {
303
302
  readonly values: ReadonlyArray<string>
304
303
  readonly total?: number | undefined
305
304
  readonly hasMore?: boolean | undefined
306
- readonly metadata?: Schema.JsonObject | undefined
305
+ readonly metadata?: Readonly<Record<string, unknown>> | undefined
307
306
  }
308
307
 
309
308
  /**
@@ -333,7 +332,7 @@ export type ClientNotification = Data.TaggedEnum<{
333
332
  readonly progress: number
334
333
  readonly total?: number | undefined
335
334
  readonly message?: string | undefined
336
- readonly metadata?: Schema.JsonObject | undefined
335
+ readonly metadata?: Readonly<Record<string, unknown>> | undefined
337
336
  }
338
337
  RootsChanged: {}
339
338
  }>
@@ -349,7 +348,7 @@ export const ClientNotification = Data.taggedEnum<ClientNotification>()
349
348
  export interface Cancellation {
350
349
  readonly requestId: string | number
351
350
  readonly reason?: string | undefined
352
- readonly metadata?: Schema.JsonObject | undefined
351
+ readonly metadata?: Readonly<Record<string, unknown>> | undefined
353
352
  }
354
353
 
355
354
  /**
@@ -359,25 +358,25 @@ export type ServerNotification = Data.TaggedEnum<{
359
358
  Cancelled: {
360
359
  readonly requestId: string | number
361
360
  readonly reason?: string | undefined
362
- readonly metadata?: Schema.JsonObject | undefined
361
+ readonly metadata?: Readonly<Record<string, unknown>> | undefined
363
362
  }
364
363
  Progress: {
365
364
  readonly progressToken: string | number
366
365
  readonly progress: number
367
366
  readonly total?: number | undefined
368
367
  readonly message?: string | undefined
369
- readonly metadata?: Schema.JsonObject | undefined
368
+ readonly metadata?: Readonly<Record<string, unknown>> | undefined
370
369
  }
371
370
  LoggingMessage: {
372
371
  readonly level: McpSchema.LoggingLevel
373
372
  readonly logger?: string | undefined
374
373
  readonly data: unknown
375
- readonly metadata?: Schema.JsonObject | undefined
374
+ readonly metadata?: Readonly<Record<string, unknown>> | undefined
376
375
  }
377
- ResourceUpdated: { readonly uri: string; readonly metadata?: Schema.JsonObject | undefined }
378
- ResourcesChanged: { readonly metadata?: Schema.JsonObject | undefined }
379
- ToolsChanged: { readonly metadata?: Schema.JsonObject | undefined }
380
- PromptsChanged: { readonly metadata?: Schema.JsonObject | undefined }
376
+ ResourceUpdated: { readonly uri: string; readonly metadata?: Readonly<Record<string, unknown>> | undefined }
377
+ ResourcesChanged: { readonly metadata?: Readonly<Record<string, unknown>> | undefined }
378
+ ToolsChanged: { readonly metadata?: Readonly<Record<string, unknown>> | undefined }
379
+ PromptsChanged: { readonly metadata?: Readonly<Record<string, unknown>> | undefined }
381
380
  ElicitationComplete: { readonly elicitationId: string }
382
381
  }>
383
382
 
@@ -257,7 +257,7 @@ export const protocol = McpProtocol.make({
257
257
  McpSchema.Tool.make({
258
258
  name: tool.name,
259
259
  description: tool.description,
260
- inputSchema: tool.inputSchema
260
+ inputSchema: McpProtocol.projectLegacyToolInputSchema(tool.inputSchema)
261
261
  })
262
262
  )
263
263
  })
@@ -279,7 +279,7 @@ export const protocol = McpProtocol.make({
279
279
  McpSchema.Tool.make({
280
280
  name: tool.name,
281
281
  description: tool.description,
282
- inputSchema: tool.inputSchema,
282
+ inputSchema: McpProtocol.projectLegacyToolInputSchema(tool.inputSchema),
283
283
  annotations: tool.title === undefined && tool.annotations === undefined
284
284
  ? undefined
285
285
  : McpSchema.ToolAnnotations.make({