effect 4.0.4 → 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 (1079) 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/src/52_graphql/10_basics.ts +19 -13
  4. package/ai-docs/src/52_graphql/30_batching.ts +6 -4
  5. package/ai-docs/src/52_graphql/40_aliased-batching.ts +6 -4
  6. package/ai-docs/tsconfig.json +3 -1
  7. package/dist/Array.d.ts +207 -58
  8. package/dist/Array.d.ts.map +1 -1
  9. package/dist/Array.js +45 -22
  10. package/dist/Array.js.map +1 -1
  11. package/dist/Bytes.d.ts +79 -0
  12. package/dist/Bytes.d.ts.map +1 -0
  13. package/dist/Bytes.js +109 -0
  14. package/dist/Bytes.js.map +1 -0
  15. package/dist/Channel.d.ts +187 -14
  16. package/dist/Channel.d.ts.map +1 -1
  17. package/dist/Channel.js +142 -33
  18. package/dist/Channel.js.map +1 -1
  19. package/dist/ChannelSchema.d.ts.map +1 -1
  20. package/dist/ChannelSchema.js.map +1 -1
  21. package/dist/Chunk.d.ts +39 -21
  22. package/dist/Chunk.d.ts.map +1 -1
  23. package/dist/Chunk.js +26 -17
  24. package/dist/Chunk.js.map +1 -1
  25. package/dist/Config.d.ts.map +1 -1
  26. package/dist/Config.js +8 -3
  27. package/dist/Config.js.map +1 -1
  28. package/dist/ConfigProvider.d.ts.map +1 -1
  29. package/dist/ConfigProvider.js +34 -32
  30. package/dist/ConfigProvider.js.map +1 -1
  31. package/dist/Cron.d.ts +2 -2
  32. package/dist/Cron.d.ts.map +1 -1
  33. package/dist/Cron.js +6 -3
  34. package/dist/Cron.js.map +1 -1
  35. package/dist/Duration.d.ts.map +1 -1
  36. package/dist/Duration.js +58 -21
  37. package/dist/Duration.js.map +1 -1
  38. package/dist/Effect.d.ts +548 -182
  39. package/dist/Effect.d.ts.map +1 -1
  40. package/dist/Effect.js +261 -76
  41. package/dist/Effect.js.map +1 -1
  42. package/dist/Equivalence.d.ts +2 -1
  43. package/dist/Equivalence.d.ts.map +1 -1
  44. package/dist/Equivalence.js +12 -8
  45. package/dist/Equivalence.js.map +1 -1
  46. package/dist/Exit.d.ts +24 -9
  47. package/dist/Exit.d.ts.map +1 -1
  48. package/dist/Exit.js +8 -3
  49. package/dist/Exit.js.map +1 -1
  50. package/dist/FiberHandle.d.ts +2 -0
  51. package/dist/FiberHandle.d.ts.map +1 -1
  52. package/dist/FiberHandle.js +9 -4
  53. package/dist/FiberHandle.js.map +1 -1
  54. package/dist/FiberMap.d.ts +2 -0
  55. package/dist/FiberMap.d.ts.map +1 -1
  56. package/dist/FiberMap.js +5 -2
  57. package/dist/FiberMap.js.map +1 -1
  58. package/dist/FileSystem.d.ts +28 -9
  59. package/dist/FileSystem.d.ts.map +1 -1
  60. package/dist/FileSystem.js +3 -0
  61. package/dist/FileSystem.js.map +1 -1
  62. package/dist/Graph.d.ts.map +1 -1
  63. package/dist/Graph.js.map +1 -1
  64. package/dist/HashSet.d.ts.map +1 -1
  65. package/dist/HashSet.js.map +1 -1
  66. package/dist/Iterable.d.ts.map +1 -1
  67. package/dist/Iterable.js +18 -17
  68. package/dist/Iterable.js.map +1 -1
  69. package/dist/JsonSchema.d.ts +9 -3
  70. package/dist/JsonSchema.d.ts.map +1 -1
  71. package/dist/JsonSchema.js +19 -3
  72. package/dist/JsonSchema.js.map +1 -1
  73. package/dist/Layer.d.ts.map +1 -1
  74. package/dist/Layer.js +2 -2
  75. package/dist/Layer.js.map +1 -1
  76. package/dist/ManagedRuntime.d.ts +19 -1
  77. package/dist/ManagedRuntime.d.ts.map +1 -1
  78. package/dist/ManagedRuntime.js +62 -6
  79. package/dist/ManagedRuntime.js.map +1 -1
  80. package/dist/Match.d.ts +20 -6
  81. package/dist/Match.d.ts.map +1 -1
  82. package/dist/Match.js +2 -2
  83. package/dist/Match.js.map +1 -1
  84. package/dist/Metric.d.ts +132 -0
  85. package/dist/Metric.d.ts.map +1 -1
  86. package/dist/Metric.js +197 -25
  87. package/dist/Metric.js.map +1 -1
  88. package/dist/MutableHashMap.d.ts.map +1 -1
  89. package/dist/MutableHashMap.js.map +1 -1
  90. package/dist/Number.js +2 -2
  91. package/dist/Number.js.map +1 -1
  92. package/dist/Optic.d.ts.map +1 -1
  93. package/dist/Optic.js.map +1 -1
  94. package/dist/Path.d.ts +37 -5
  95. package/dist/Path.d.ts.map +1 -1
  96. package/dist/Path.js +44 -6
  97. package/dist/Path.js.map +1 -1
  98. package/dist/PubSub.d.ts.map +1 -1
  99. package/dist/PubSub.js +12 -7
  100. package/dist/PubSub.js.map +1 -1
  101. package/dist/Queue.d.ts +4 -1
  102. package/dist/Queue.d.ts.map +1 -1
  103. package/dist/Queue.js +4 -1
  104. package/dist/Queue.js.map +1 -1
  105. package/dist/Random.d.ts.map +1 -1
  106. package/dist/Random.js +1 -1
  107. package/dist/Random.js.map +1 -1
  108. package/dist/RcMap.d.ts +12 -7
  109. package/dist/RcMap.d.ts.map +1 -1
  110. package/dist/RcMap.js +9 -6
  111. package/dist/RcMap.js.map +1 -1
  112. package/dist/Record.d.ts +51 -0
  113. package/dist/Record.d.ts.map +1 -1
  114. package/dist/Record.js +17 -0
  115. package/dist/Record.js.map +1 -1
  116. package/dist/Ref.d.ts.map +1 -1
  117. package/dist/Ref.js.map +1 -1
  118. package/dist/References.d.ts +5 -4
  119. package/dist/References.d.ts.map +1 -1
  120. package/dist/References.js +5 -4
  121. package/dist/References.js.map +1 -1
  122. package/dist/RequestResolver.d.ts +31 -1
  123. package/dist/RequestResolver.d.ts.map +1 -1
  124. package/dist/RequestResolver.js +39 -4
  125. package/dist/RequestResolver.js.map +1 -1
  126. package/dist/Resource.js +1 -1
  127. package/dist/Resource.js.map +1 -1
  128. package/dist/Runtime.d.ts +3 -3
  129. package/dist/Runtime.d.ts.map +1 -1
  130. package/dist/Runtime.js +18 -15
  131. package/dist/Runtime.js.map +1 -1
  132. package/dist/Schedule.d.ts.map +1 -1
  133. package/dist/Schedule.js.map +1 -1
  134. package/dist/Schema.d.ts +383 -326
  135. package/dist/Schema.d.ts.map +1 -1
  136. package/dist/Schema.js +338 -17
  137. package/dist/Schema.js.map +1 -1
  138. package/dist/SchemaAST.d.ts +5 -5
  139. package/dist/SchemaAST.d.ts.map +1 -1
  140. package/dist/SchemaAST.js +24 -8
  141. package/dist/SchemaAST.js.map +1 -1
  142. package/dist/SchemaGetter.d.ts +8 -3
  143. package/dist/SchemaGetter.d.ts.map +1 -1
  144. package/dist/SchemaGetter.js +15 -5
  145. package/dist/SchemaGetter.js.map +1 -1
  146. package/dist/SchemaIssue.d.ts +4 -4
  147. package/dist/SchemaIssue.d.ts.map +1 -1
  148. package/dist/SchemaIssue.js +29 -51
  149. package/dist/SchemaIssue.js.map +1 -1
  150. package/dist/SchemaRepresentation.d.ts +56 -1
  151. package/dist/SchemaRepresentation.d.ts.map +1 -1
  152. package/dist/SchemaRepresentation.js +18 -0
  153. package/dist/SchemaRepresentation.js.map +1 -1
  154. package/dist/SchemaTransformation.d.ts +1 -1
  155. package/dist/SchemaTransformation.js +1 -1
  156. package/dist/Scope.d.ts +12 -2
  157. package/dist/Scope.d.ts.map +1 -1
  158. package/dist/Scope.js +5 -0
  159. package/dist/Scope.js.map +1 -1
  160. package/dist/ScopedCache.d.ts +10 -7
  161. package/dist/ScopedCache.d.ts.map +1 -1
  162. package/dist/ScopedCache.js +9 -5
  163. package/dist/ScopedCache.js.map +1 -1
  164. package/dist/SemVer.d.ts +1196 -0
  165. package/dist/SemVer.d.ts.map +1 -0
  166. package/dist/SemVer.js +756 -0
  167. package/dist/SemVer.js.map +1 -0
  168. package/dist/SemVerRange.d.ts +559 -0
  169. package/dist/SemVerRange.d.ts.map +1 -0
  170. package/dist/SemVerRange.js +551 -0
  171. package/dist/SemVerRange.js.map +1 -0
  172. package/dist/Sink.d.ts.map +1 -1
  173. package/dist/Sink.js +6 -2
  174. package/dist/Sink.js.map +1 -1
  175. package/dist/Stream.d.ts +235 -8
  176. package/dist/Stream.d.ts.map +1 -1
  177. package/dist/Stream.js +145 -60
  178. package/dist/Stream.js.map +1 -1
  179. package/dist/String.d.ts +16 -2
  180. package/dist/String.d.ts.map +1 -1
  181. package/dist/String.js +25 -10
  182. package/dist/String.js.map +1 -1
  183. package/dist/TextDiff.d.ts +399 -0
  184. package/dist/TextDiff.d.ts.map +1 -0
  185. package/dist/TextDiff.js +634 -0
  186. package/dist/TextDiff.js.map +1 -0
  187. package/dist/TxHashMap.d.ts.map +1 -1
  188. package/dist/TxHashMap.js.map +1 -1
  189. package/dist/TxHashSet.d.ts.map +1 -1
  190. package/dist/TxHashSet.js.map +1 -1
  191. package/dist/TxRef.d.ts.map +1 -1
  192. package/dist/TxRef.js +3 -2
  193. package/dist/TxRef.js.map +1 -1
  194. package/dist/ai/AiError.d.ts +78 -14
  195. package/dist/ai/AiError.d.ts.map +1 -1
  196. package/dist/ai/AiError.js +51 -3
  197. package/dist/ai/AiError.js.map +1 -1
  198. package/dist/ai/Chat.d.ts +1 -2
  199. package/dist/ai/Chat.d.ts.map +1 -1
  200. package/dist/ai/Chat.js +6 -3
  201. package/dist/ai/Chat.js.map +1 -1
  202. package/dist/ai/Decision.d.ts +116 -20
  203. package/dist/ai/Decision.d.ts.map +1 -1
  204. package/dist/ai/Decision.js +37 -3
  205. package/dist/ai/Decision.js.map +1 -1
  206. package/dist/ai/DecisionModel.d.ts +129 -11
  207. package/dist/ai/DecisionModel.d.ts.map +1 -1
  208. package/dist/ai/DecisionModel.js +183 -95
  209. package/dist/ai/DecisionModel.js.map +1 -1
  210. package/dist/ai/EmbeddingModel.d.ts +10 -0
  211. package/dist/ai/EmbeddingModel.d.ts.map +1 -1
  212. package/dist/ai/EmbeddingModel.js +21 -7
  213. package/dist/ai/EmbeddingModel.js.map +1 -1
  214. package/dist/ai/LanguageModel.d.ts.map +1 -1
  215. package/dist/ai/LanguageModel.js +47 -35
  216. package/dist/ai/LanguageModel.js.map +1 -1
  217. package/dist/ai/McpClient.d.ts +289 -0
  218. package/dist/ai/McpClient.d.ts.map +1 -0
  219. package/dist/ai/McpClient.js +819 -0
  220. package/dist/ai/McpClient.js.map +1 -0
  221. package/dist/ai/McpClientError.d.ts +254 -0
  222. package/dist/ai/McpClientError.d.ts.map +1 -0
  223. package/dist/ai/McpClientError.js +260 -0
  224. package/dist/ai/McpClientError.js.map +1 -0
  225. package/dist/ai/McpProtocol.d.ts +2 -2
  226. package/dist/ai/McpProtocol.d.ts.map +1 -1
  227. package/dist/ai/McpSchema.d.ts +368 -235
  228. package/dist/ai/McpSchema.d.ts.map +1 -1
  229. package/dist/ai/McpSchema.js +94 -24
  230. package/dist/ai/McpSchema.js.map +1 -1
  231. package/dist/ai/McpServer.d.ts +6 -52
  232. package/dist/ai/McpServer.d.ts.map +1 -1
  233. package/dist/ai/McpServer.js +27 -50
  234. package/dist/ai/McpServer.js.map +1 -1
  235. package/dist/ai/Prompt.d.ts +22 -20
  236. package/dist/ai/Prompt.d.ts.map +1 -1
  237. package/dist/ai/Prompt.js +23 -1
  238. package/dist/ai/Prompt.js.map +1 -1
  239. package/dist/ai/Response.d.ts +148 -4
  240. package/dist/ai/Response.d.ts.map +1 -1
  241. package/dist/ai/Response.js +35 -37
  242. package/dist/ai/Response.js.map +1 -1
  243. package/dist/ai/Tool.d.ts +12 -4
  244. package/dist/ai/Tool.d.ts.map +1 -1
  245. package/dist/ai/Tool.js.map +1 -1
  246. package/dist/ai/Toolkit.d.ts +48 -1
  247. package/dist/ai/Toolkit.d.ts.map +1 -1
  248. package/dist/ai/Toolkit.js +65 -12
  249. package/dist/ai/Toolkit.js.map +1 -1
  250. package/dist/ai/index.d.ts +10 -0
  251. package/dist/ai/index.d.ts.map +1 -1
  252. package/dist/ai/index.js +10 -0
  253. package/dist/ai/index.js.map +1 -1
  254. package/dist/ai/internal/mcpCore.js.map +1 -1
  255. package/dist/ai/internal/mcpProtocol/v2024_11_05.js +1 -1
  256. package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
  257. package/dist/ai/internal/mcpProtocol/v2025_03_26.js +1 -1
  258. package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
  259. package/dist/ai/internal/mcpProtocol/v2025_06_18.js +2 -2
  260. package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
  261. package/dist/ai/internal/mcpProtocol/v2025_11_25.js +2 -2
  262. package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
  263. package/dist/ai/internal/mcpProtocol/v2026_07_28.js +4 -7
  264. package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
  265. package/dist/ai/internal/mcpProtocol.js +16 -2
  266. package/dist/ai/internal/mcpProtocol.js.map +1 -1
  267. package/dist/ai/internal/mcpRuntime.js +3 -4
  268. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  269. package/dist/ai/internal/mcpSchema/v2024_11_05.js +19 -13
  270. package/dist/ai/internal/mcpSchema/v2024_11_05.js.map +1 -1
  271. package/dist/ai/internal/mcpSchema/v2025_03_26.js +3 -2
  272. package/dist/ai/internal/mcpSchema/v2025_03_26.js.map +1 -1
  273. package/dist/ai/internal/mcpSchema/v2025_06_18.js +7 -7
  274. package/dist/ai/internal/mcpSchema/v2025_06_18.js.map +1 -1
  275. package/dist/ai/internal/mcpSchema/v2025_11_25.js +8 -8
  276. package/dist/ai/internal/mcpSchema/v2025_11_25.js.map +1 -1
  277. package/dist/ai/internal/mcpSchema/v2026_07_28.js +43 -42
  278. package/dist/ai/internal/mcpSchema/v2026_07_28.js.map +1 -1
  279. package/dist/cli/CliError.d.ts +42 -2
  280. package/dist/cli/CliError.d.ts.map +1 -1
  281. package/dist/cli/CliError.js +44 -5
  282. package/dist/cli/CliError.js.map +1 -1
  283. package/dist/cli/Command.d.ts +286 -2
  284. package/dist/cli/Command.d.ts.map +1 -1
  285. package/dist/cli/Command.js +107 -6
  286. package/dist/cli/Command.js.map +1 -1
  287. package/dist/cli/Completions.d.ts +10 -0
  288. package/dist/cli/Completions.d.ts.map +1 -1
  289. package/dist/cli/Completions.js.map +1 -1
  290. package/dist/cli/Flag.d.ts +215 -0
  291. package/dist/cli/Flag.d.ts.map +1 -1
  292. package/dist/cli/Flag.js +89 -0
  293. package/dist/cli/Flag.js.map +1 -1
  294. package/dist/cli/GlobalFlag.d.ts.map +1 -1
  295. package/dist/cli/GlobalFlag.js +3 -3
  296. package/dist/cli/GlobalFlag.js.map +1 -1
  297. package/dist/cli/Param.d.ts +194 -0
  298. package/dist/cli/Param.d.ts.map +1 -1
  299. package/dist/cli/Param.js +86 -0
  300. package/dist/cli/Param.js.map +1 -1
  301. package/dist/cli/TerminalCapabilities.d.ts +84 -0
  302. package/dist/cli/TerminalCapabilities.d.ts.map +1 -0
  303. package/dist/cli/TerminalCapabilities.js +122 -0
  304. package/dist/cli/TerminalCapabilities.js.map +1 -0
  305. package/dist/cli/index.d.ts +5 -0
  306. package/dist/cli/index.d.ts.map +1 -1
  307. package/dist/cli/index.js +5 -0
  308. package/dist/cli/index.js.map +1 -1
  309. package/dist/cli/internal/command.d.ts +2 -1
  310. package/dist/cli/internal/command.d.ts.map +1 -1
  311. package/dist/cli/internal/command.js +7 -3
  312. package/dist/cli/internal/command.js.map +1 -1
  313. package/dist/cli/internal/completions/bash.js +7 -5
  314. package/dist/cli/internal/completions/bash.js.map +1 -1
  315. package/dist/cli/internal/completions/descriptor.js +16 -1
  316. package/dist/cli/internal/completions/descriptor.js.map +1 -1
  317. package/dist/cli/internal/completions/fish.js +12 -10
  318. package/dist/cli/internal/completions/fish.js.map +1 -1
  319. package/dist/cli/internal/completions/powershell.js +20 -10
  320. package/dist/cli/internal/completions/powershell.js.map +1 -1
  321. package/dist/cli/internal/completions/zsh.js +15 -8
  322. package/dist/cli/internal/completions/zsh.js.map +1 -1
  323. package/dist/cli/internal/formatter.d.ts +2 -0
  324. package/dist/cli/internal/formatter.d.ts.map +1 -0
  325. package/dist/cli/internal/formatter.js +15 -0
  326. package/dist/cli/internal/formatter.js.map +1 -0
  327. package/dist/cli/internal/lexer.js +24 -10
  328. package/dist/cli/internal/lexer.js.map +1 -1
  329. package/dist/cli/internal/parser.js +35 -15
  330. package/dist/cli/internal/parser.js.map +1 -1
  331. package/dist/cli/internal/wizard.d.ts.map +1 -1
  332. package/dist/cli/internal/wizard.js +2 -1
  333. package/dist/cli/internal/wizard.js.map +1 -1
  334. package/dist/cluster/ClusterCron.d.ts +29 -1
  335. package/dist/cluster/ClusterCron.d.ts.map +1 -1
  336. package/dist/cluster/ClusterCron.js +64 -32
  337. package/dist/cluster/ClusterCron.js.map +1 -1
  338. package/dist/cluster/ClusterMetrics.d.ts +143 -7
  339. package/dist/cluster/ClusterMetrics.d.ts.map +1 -1
  340. package/dist/cluster/ClusterMetrics.js +151 -7
  341. package/dist/cluster/ClusterMetrics.js.map +1 -1
  342. package/dist/cluster/ClusterWorkflowEngine.d.ts +2 -1
  343. package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  344. package/dist/cluster/ClusterWorkflowEngine.js +98 -18
  345. package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
  346. package/dist/cluster/Entity.d.ts +2 -0
  347. package/dist/cluster/Entity.d.ts.map +1 -1
  348. package/dist/cluster/Entity.js.map +1 -1
  349. package/dist/cluster/MessageStorage.d.ts +21 -0
  350. package/dist/cluster/MessageStorage.d.ts.map +1 -1
  351. package/dist/cluster/MessageStorage.js +20 -12
  352. package/dist/cluster/MessageStorage.js.map +1 -1
  353. package/dist/cluster/Runners.d.ts.map +1 -1
  354. package/dist/cluster/Runners.js +96 -37
  355. package/dist/cluster/Runners.js.map +1 -1
  356. package/dist/cluster/Sharding.d.ts +1 -0
  357. package/dist/cluster/Sharding.d.ts.map +1 -1
  358. package/dist/cluster/Sharding.js +95 -32
  359. package/dist/cluster/Sharding.js.map +1 -1
  360. package/dist/cluster/ShardingConfig.d.ts +20 -0
  361. package/dist/cluster/ShardingConfig.d.ts.map +1 -1
  362. package/dist/cluster/ShardingConfig.js +4 -0
  363. package/dist/cluster/ShardingConfig.js.map +1 -1
  364. package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
  365. package/dist/cluster/SqlMessageStorage.js +40 -50
  366. package/dist/cluster/SqlMessageStorage.js.map +1 -1
  367. package/dist/cluster/SqlRunnerStorage.d.ts +2 -2
  368. package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
  369. package/dist/cluster/SqlRunnerStorage.js +10 -4
  370. package/dist/cluster/SqlRunnerStorage.js.map +1 -1
  371. package/dist/cluster/internal/entityManager.js +66 -9
  372. package/dist/cluster/internal/entityManager.js.map +1 -1
  373. package/dist/devtools/DevTools.d.ts +3 -2
  374. package/dist/devtools/DevTools.d.ts.map +1 -1
  375. package/dist/devtools/DevTools.js +3 -2
  376. package/dist/devtools/DevTools.js.map +1 -1
  377. package/dist/devtools/DevToolsClient.d.ts +11 -0
  378. package/dist/devtools/DevToolsClient.d.ts.map +1 -1
  379. package/dist/devtools/DevToolsClient.js +31 -4
  380. package/dist/devtools/DevToolsClient.js.map +1 -1
  381. package/dist/encoding/Base64Url.d.ts +29 -0
  382. package/dist/encoding/Base64Url.d.ts.map +1 -1
  383. package/dist/encoding/Base64Url.js +29 -0
  384. package/dist/encoding/Base64Url.js.map +1 -1
  385. package/dist/encoding/Ini.d.ts.map +1 -1
  386. package/dist/encoding/Ini.js +3 -0
  387. package/dist/encoding/Ini.js.map +1 -1
  388. package/dist/encoding/JsonArray.d.ts +270 -0
  389. package/dist/encoding/JsonArray.d.ts.map +1 -0
  390. package/dist/encoding/JsonArray.js +691 -0
  391. package/dist/encoding/JsonArray.js.map +1 -0
  392. package/dist/encoding/Ndjson.d.ts +43 -4
  393. package/dist/encoding/Ndjson.d.ts.map +1 -1
  394. package/dist/encoding/Ndjson.js +169 -18
  395. package/dist/encoding/Ndjson.js.map +1 -1
  396. package/dist/encoding/SchemaBinary.d.ts +9 -1
  397. package/dist/encoding/SchemaBinary.d.ts.map +1 -1
  398. package/dist/encoding/SchemaBinary.js +12 -19
  399. package/dist/encoding/SchemaBinary.js.map +1 -1
  400. package/dist/encoding/Sse.js +1 -1
  401. package/dist/encoding/Sse.js.map +1 -1
  402. package/dist/encoding/Tar.d.ts +309 -0
  403. package/dist/encoding/Tar.d.ts.map +1 -0
  404. package/dist/encoding/Tar.js +1182 -0
  405. package/dist/encoding/Tar.js.map +1 -0
  406. package/dist/encoding/Toml.js +3 -3
  407. package/dist/encoding/Toml.js.map +1 -1
  408. package/dist/encoding/Xml.d.ts +464 -0
  409. package/dist/encoding/Xml.d.ts.map +1 -0
  410. package/dist/encoding/Xml.js +1619 -0
  411. package/dist/encoding/Xml.js.map +1 -0
  412. package/dist/encoding/Yaml.d.ts +6 -2
  413. package/dist/encoding/Yaml.d.ts.map +1 -1
  414. package/dist/encoding/Yaml.js +97 -34
  415. package/dist/encoding/Yaml.js.map +1 -1
  416. package/dist/encoding/Zip.d.ts +413 -0
  417. package/dist/encoding/Zip.d.ts.map +1 -0
  418. package/dist/encoding/Zip.js +1255 -0
  419. package/dist/encoding/Zip.js.map +1 -0
  420. package/dist/encoding/index.d.ts +20 -0
  421. package/dist/encoding/index.d.ts.map +1 -1
  422. package/dist/encoding/index.js +20 -0
  423. package/dist/encoding/index.js.map +1 -1
  424. package/dist/eventlog/EventJournal.d.ts +90 -5
  425. package/dist/eventlog/EventJournal.d.ts.map +1 -1
  426. package/dist/eventlog/EventJournal.js +488 -228
  427. package/dist/eventlog/EventJournal.js.map +1 -1
  428. package/dist/eventlog/EventLog.d.ts +180 -12
  429. package/dist/eventlog/EventLog.d.ts.map +1 -1
  430. package/dist/eventlog/EventLog.js +394 -146
  431. package/dist/eventlog/EventLog.js.map +1 -1
  432. package/dist/eventlog/EventLogEncryption.d.ts +36 -30
  433. package/dist/eventlog/EventLogEncryption.d.ts.map +1 -1
  434. package/dist/eventlog/EventLogEncryption.js +97 -38
  435. package/dist/eventlog/EventLogEncryption.js.map +1 -1
  436. package/dist/eventlog/EventLogMessage.d.ts +74 -34
  437. package/dist/eventlog/EventLogMessage.d.ts.map +1 -1
  438. package/dist/eventlog/EventLogMessage.js +45 -11
  439. package/dist/eventlog/EventLogMessage.js.map +1 -1
  440. package/dist/eventlog/EventLogRemote.d.ts +45 -8
  441. package/dist/eventlog/EventLogRemote.d.ts.map +1 -1
  442. package/dist/eventlog/EventLogRemote.js +51 -14
  443. package/dist/eventlog/EventLogRemote.js.map +1 -1
  444. package/dist/eventlog/EventLogServer.d.ts +46 -3
  445. package/dist/eventlog/EventLogServer.d.ts.map +1 -1
  446. package/dist/eventlog/EventLogServer.js +119 -19
  447. package/dist/eventlog/EventLogServer.js.map +1 -1
  448. package/dist/eventlog/EventLogServerEncrypted.d.ts +23 -33
  449. package/dist/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  450. package/dist/eventlog/EventLogServerEncrypted.js +97 -70
  451. package/dist/eventlog/EventLogServerEncrypted.js.map +1 -1
  452. package/dist/eventlog/EventLogServerUnencrypted.d.ts +39 -5
  453. package/dist/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  454. package/dist/eventlog/EventLogServerUnencrypted.js +151 -69
  455. package/dist/eventlog/EventLogServerUnencrypted.js.map +1 -1
  456. package/dist/eventlog/EventRow.d.ts +288 -0
  457. package/dist/eventlog/EventRow.d.ts.map +1 -0
  458. package/dist/eventlog/EventRow.js +435 -0
  459. package/dist/eventlog/EventRow.js.map +1 -0
  460. package/dist/eventlog/SqlEventJournal.d.ts +18 -18
  461. package/dist/eventlog/SqlEventJournal.d.ts.map +1 -1
  462. package/dist/eventlog/SqlEventJournal.js +387 -159
  463. package/dist/eventlog/SqlEventJournal.js.map +1 -1
  464. package/dist/eventlog/SqlEventLogServerEncrypted.d.ts +10 -18
  465. package/dist/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
  466. package/dist/eventlog/SqlEventLogServerEncrypted.js +179 -69
  467. package/dist/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  468. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +23 -3
  469. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  470. package/dist/eventlog/SqlEventLogServerUnencrypted.js +102 -51
  471. package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  472. package/dist/eventlog/index.d.ts +5 -0
  473. package/dist/eventlog/index.d.ts.map +1 -1
  474. package/dist/eventlog/index.js +5 -0
  475. package/dist/eventlog/index.js.map +1 -1
  476. package/dist/eventlog/internal/conflicts.d.ts +47 -0
  477. package/dist/eventlog/internal/conflicts.d.ts.map +1 -0
  478. package/dist/eventlog/internal/conflicts.js +92 -0
  479. package/dist/eventlog/internal/conflicts.js.map +1 -0
  480. package/dist/graphql/GraphQLClient.d.ts.map +1 -1
  481. package/dist/graphql/GraphQLClient.js +12 -5
  482. package/dist/graphql/GraphQLClient.js.map +1 -1
  483. package/dist/graphql/GraphQLClientError.d.ts +2 -2
  484. package/dist/graphql/GraphQLClientError.d.ts.map +1 -1
  485. package/dist/graphql/GraphQLClientError.js +4 -18
  486. package/dist/graphql/GraphQLClientError.js.map +1 -1
  487. package/dist/graphql/GraphQLProtocol.d.ts +252 -11
  488. package/dist/graphql/GraphQLProtocol.d.ts.map +1 -1
  489. package/dist/graphql/GraphQLProtocol.js +99 -8
  490. package/dist/graphql/GraphQLProtocol.js.map +1 -1
  491. package/dist/graphql/GraphQLResolver.d.ts +3 -1
  492. package/dist/graphql/GraphQLResolver.d.ts.map +1 -1
  493. package/dist/graphql/GraphQLResolver.js +91 -19
  494. package/dist/graphql/GraphQLResolver.js.map +1 -1
  495. package/dist/http/FetchHttpClient.d.ts +13 -3
  496. package/dist/http/FetchHttpClient.d.ts.map +1 -1
  497. package/dist/http/FetchHttpClient.js +56 -6
  498. package/dist/http/FetchHttpClient.js.map +1 -1
  499. package/dist/http/FindMyWay/internal/router.js +12 -1
  500. package/dist/http/FindMyWay/internal/router.js.map +1 -1
  501. package/dist/http/Headers.d.ts +230 -3
  502. package/dist/http/Headers.d.ts.map +1 -1
  503. package/dist/http/Headers.js +267 -5
  504. package/dist/http/Headers.js.map +1 -1
  505. package/dist/http/HttpClient.d.ts +105 -0
  506. package/dist/http/HttpClient.d.ts.map +1 -1
  507. package/dist/http/HttpClient.js +69 -17
  508. package/dist/http/HttpClient.js.map +1 -1
  509. package/dist/http/HttpClientError.d.ts.map +1 -1
  510. package/dist/http/HttpClientError.js +8 -6
  511. package/dist/http/HttpClientError.js.map +1 -1
  512. package/dist/http/HttpClientRequest.d.ts +274 -7
  513. package/dist/http/HttpClientRequest.d.ts.map +1 -1
  514. package/dist/http/HttpClientRequest.js +91 -3
  515. package/dist/http/HttpClientRequest.js.map +1 -1
  516. package/dist/http/HttpClientResponse.d.ts +53 -0
  517. package/dist/http/HttpClientResponse.d.ts.map +1 -1
  518. package/dist/http/HttpClientResponse.js +47 -0
  519. package/dist/http/HttpClientResponse.js.map +1 -1
  520. package/dist/http/HttpEffect.d.ts +6 -2
  521. package/dist/http/HttpEffect.d.ts.map +1 -1
  522. package/dist/http/HttpEffect.js +21 -17
  523. package/dist/http/HttpEffect.js.map +1 -1
  524. package/dist/http/HttpIncomingMessage.d.ts +2 -1
  525. package/dist/http/HttpIncomingMessage.d.ts.map +1 -1
  526. package/dist/http/HttpIncomingMessage.js +3 -23
  527. package/dist/http/HttpIncomingMessage.js.map +1 -1
  528. package/dist/http/HttpMiddleware.d.ts +179 -2
  529. package/dist/http/HttpMiddleware.d.ts.map +1 -1
  530. package/dist/http/HttpMiddleware.js +226 -18
  531. package/dist/http/HttpMiddleware.js.map +1 -1
  532. package/dist/http/HttpRouter.d.ts.map +1 -1
  533. package/dist/http/HttpRouter.js +58 -14
  534. package/dist/http/HttpRouter.js.map +1 -1
  535. package/dist/http/HttpServerError.d.ts +5 -2
  536. package/dist/http/HttpServerError.d.ts.map +1 -1
  537. package/dist/http/HttpServerError.js +11 -7
  538. package/dist/http/HttpServerError.js.map +1 -1
  539. package/dist/http/HttpServerRequest.d.ts +25 -5
  540. package/dist/http/HttpServerRequest.d.ts.map +1 -1
  541. package/dist/http/HttpServerRequest.js +38 -12
  542. package/dist/http/HttpServerRequest.js.map +1 -1
  543. package/dist/http/HttpServerResponse.d.ts +17 -8
  544. package/dist/http/HttpServerResponse.d.ts.map +1 -1
  545. package/dist/http/HttpServerResponse.js +37 -21
  546. package/dist/http/HttpServerResponse.js.map +1 -1
  547. package/dist/http/HttpStaticServer.d.ts +0 -12
  548. package/dist/http/HttpStaticServer.d.ts.map +1 -1
  549. package/dist/http/HttpStaticServer.js +25 -17
  550. package/dist/http/HttpStaticServer.js.map +1 -1
  551. package/dist/http/HttpTraceContext.js +1 -1
  552. package/dist/http/HttpTraceContext.js.map +1 -1
  553. package/dist/http/MultipartParser/internal/contentType.d.ts +15 -1
  554. package/dist/http/MultipartParser/internal/contentType.d.ts.map +1 -1
  555. package/dist/http/MultipartParser/internal/contentType.js +87 -5
  556. package/dist/http/MultipartParser/internal/contentType.js.map +1 -1
  557. package/dist/http/MultipartParser/internal/headers.d.ts.map +1 -1
  558. package/dist/http/MultipartParser/internal/headers.js +4 -12
  559. package/dist/http/MultipartParser/internal/headers.js.map +1 -1
  560. package/dist/http/MultipartParser/internal/multipart.d.ts.map +1 -1
  561. package/dist/http/MultipartParser/internal/multipart.js +6 -27
  562. package/dist/http/MultipartParser/internal/multipart.js.map +1 -1
  563. package/dist/http/Url.d.ts.map +1 -1
  564. package/dist/http/Url.js +8 -2
  565. package/dist/http/Url.js.map +1 -1
  566. package/dist/http/UrlParams.d.ts +112 -8
  567. package/dist/http/UrlParams.d.ts.map +1 -1
  568. package/dist/http/UrlParams.js +141 -14
  569. package/dist/http/UrlParams.js.map +1 -1
  570. package/dist/http/internal/compression.d.ts +1 -1
  571. package/dist/http/internal/compression.d.ts.map +1 -1
  572. package/dist/http/internal/compression.js +2 -10
  573. package/dist/http/internal/compression.js.map +1 -1
  574. package/dist/http/internal/compressionBody.d.ts +2 -0
  575. package/dist/http/internal/compressionBody.d.ts.map +1 -0
  576. package/dist/http/internal/compressionBody.js +36 -0
  577. package/dist/http/internal/compressionBody.js.map +1 -0
  578. package/dist/http/internal/decompression.d.ts +2 -0
  579. package/dist/http/internal/decompression.d.ts.map +1 -0
  580. package/dist/http/internal/decompression.js +168 -0
  581. package/dist/http/internal/decompression.js.map +1 -0
  582. package/dist/http/internal/lazyStream.d.ts +2 -0
  583. package/dist/http/internal/lazyStream.d.ts.map +1 -0
  584. package/dist/http/internal/lazyStream.js +18 -0
  585. package/dist/http/internal/lazyStream.js.map +1 -0
  586. package/dist/http/internal/requestState.d.ts +2 -0
  587. package/dist/http/internal/requestState.d.ts.map +1 -0
  588. package/dist/http/internal/requestState.js +28 -0
  589. package/dist/http/internal/requestState.js.map +1 -0
  590. package/dist/http/internal/tracing.js +14 -4
  591. package/dist/http/internal/tracing.js.map +1 -1
  592. package/dist/http/internal/urlParams.d.ts +2 -0
  593. package/dist/http/internal/urlParams.d.ts.map +1 -0
  594. package/dist/http/internal/urlParams.js +4 -0
  595. package/dist/http/internal/urlParams.js.map +1 -0
  596. package/dist/http/internal/webResponse.d.ts +2 -0
  597. package/dist/http/internal/webResponse.d.ts.map +1 -0
  598. package/dist/http/internal/webResponse.js +12 -0
  599. package/dist/http/internal/webResponse.js.map +1 -0
  600. package/dist/http-api/HttpApi.js +1 -1
  601. package/dist/http-api/HttpApi.js.map +1 -1
  602. package/dist/http-api/HttpApiBuilder.d.ts.map +1 -1
  603. package/dist/http-api/HttpApiBuilder.js +121 -18
  604. package/dist/http-api/HttpApiBuilder.js.map +1 -1
  605. package/dist/http-api/HttpApiClient.d.ts +29 -4
  606. package/dist/http-api/HttpApiClient.d.ts.map +1 -1
  607. package/dist/http-api/HttpApiClient.js +85 -24
  608. package/dist/http-api/HttpApiClient.js.map +1 -1
  609. package/dist/http-api/HttpApiEndpoint.d.ts +55 -29
  610. package/dist/http-api/HttpApiEndpoint.d.ts.map +1 -1
  611. package/dist/http-api/HttpApiEndpoint.js +49 -5
  612. package/dist/http-api/HttpApiEndpoint.js.map +1 -1
  613. package/dist/http-api/HttpApiError.d.ts +58 -0
  614. package/dist/http-api/HttpApiError.d.ts.map +1 -1
  615. package/dist/http-api/HttpApiError.js +38 -12
  616. package/dist/http-api/HttpApiError.js.map +1 -1
  617. package/dist/http-api/HttpApiScalar.d.ts +2 -1
  618. package/dist/http-api/HttpApiScalar.d.ts.map +1 -1
  619. package/dist/http-api/HttpApiScalar.js +6 -3
  620. package/dist/http-api/HttpApiScalar.js.map +1 -1
  621. package/dist/http-api/HttpApiSchema.d.ts +191 -9
  622. package/dist/http-api/HttpApiSchema.d.ts.map +1 -1
  623. package/dist/http-api/HttpApiSchema.js +137 -4
  624. package/dist/http-api/HttpApiSchema.js.map +1 -1
  625. package/dist/http-api/HttpApiSwagger.d.ts +5 -0
  626. package/dist/http-api/HttpApiSwagger.d.ts.map +1 -1
  627. package/dist/http-api/HttpApiSwagger.js +14 -4
  628. package/dist/http-api/HttpApiSwagger.js.map +1 -1
  629. package/dist/http-api/HttpApiTest.d.ts +13 -2
  630. package/dist/http-api/HttpApiTest.d.ts.map +1 -1
  631. package/dist/http-api/HttpApiTest.js +30 -9
  632. package/dist/http-api/HttpApiTest.js.map +1 -1
  633. package/dist/http-api/OpenApi.d.ts +17 -3
  634. package/dist/http-api/OpenApi.d.ts.map +1 -1
  635. package/dist/http-api/OpenApi.js +57 -32
  636. package/dist/http-api/OpenApi.js.map +1 -1
  637. package/dist/http-api/internal/path.js +35 -10
  638. package/dist/http-api/internal/path.js.map +1 -1
  639. package/dist/index.d.ts +20 -0
  640. package/dist/index.d.ts.map +1 -1
  641. package/dist/index.js +20 -0
  642. package/dist/index.js.map +1 -1
  643. package/dist/internal/core.js +18 -2
  644. package/dist/internal/core.js.map +1 -1
  645. package/dist/internal/dateTime.js +19 -7
  646. package/dist/internal/dateTime.js.map +1 -1
  647. package/dist/internal/effect.js +89 -76
  648. package/dist/internal/effect.js.map +1 -1
  649. package/dist/internal/graphql.js +12 -2
  650. package/dist/internal/graphql.js.map +1 -1
  651. package/dist/internal/hashMap.js +2 -2
  652. package/dist/internal/hashMap.js.map +1 -1
  653. package/dist/internal/hydration.d.ts +2 -0
  654. package/dist/internal/hydration.d.ts.map +1 -0
  655. package/dist/internal/hydration.js +15 -0
  656. package/dist/internal/hydration.js.map +1 -0
  657. package/dist/internal/inflate.d.ts +2 -0
  658. package/dist/internal/inflate.d.ts.map +1 -0
  659. package/dist/internal/inflate.js +680 -0
  660. package/dist/internal/inflate.js.map +1 -0
  661. package/dist/internal/record.js +6 -0
  662. package/dist/internal/record.js.map +1 -1
  663. package/dist/internal/request.js +20 -7
  664. package/dist/internal/request.js.map +1 -1
  665. package/dist/internal/schedule.js +17 -22
  666. package/dist/internal/schedule.js.map +1 -1
  667. package/dist/internal/schema/fromJsonSchemaDocument.js +136 -126
  668. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
  669. package/dist/internal/schema/interpreter.js +51 -36
  670. package/dist/internal/schema/interpreter.js.map +1 -1
  671. package/dist/internal/schema/standardSchema.js +34 -33
  672. package/dist/internal/schema/standardSchema.js.map +1 -1
  673. package/dist/internal/schema/toCodeDocument.js +7 -2
  674. package/dist/internal/schema/toCodeDocument.js.map +1 -1
  675. package/dist/internal/schema/toCodec.js +86 -1
  676. package/dist/internal/schema/toCodec.js.map +1 -1
  677. package/dist/internal/schema/toFormatter.js +5 -5
  678. package/dist/internal/schema/toFormatter.js.map +1 -1
  679. package/dist/internal/schema/toJsonSchemaDocument.js +60 -38
  680. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
  681. package/dist/internal/trie.js +1 -3
  682. package/dist/internal/trie.js.map +1 -1
  683. package/dist/internal/uuid.js +7 -3
  684. package/dist/internal/uuid.js.map +1 -1
  685. package/dist/internal/version.js +1 -1
  686. package/dist/net/NetAddress.d.ts.map +1 -1
  687. package/dist/net/NetAddress.js +2 -8
  688. package/dist/net/NetAddress.js.map +1 -1
  689. package/dist/observability/Otlp.d.ts +15 -0
  690. package/dist/observability/Otlp.d.ts.map +1 -1
  691. package/dist/observability/Otlp.js +3 -0
  692. package/dist/observability/Otlp.js.map +1 -1
  693. package/dist/observability/OtlpExporter.d.ts +8 -0
  694. package/dist/observability/OtlpExporter.d.ts.map +1 -1
  695. package/dist/observability/OtlpExporter.js +15 -13
  696. package/dist/observability/OtlpExporter.js.map +1 -1
  697. package/dist/observability/OtlpLogger.d.ts +17 -0
  698. package/dist/observability/OtlpLogger.d.ts.map +1 -1
  699. package/dist/observability/OtlpLogger.js +14 -1
  700. package/dist/observability/OtlpLogger.js.map +1 -1
  701. package/dist/observability/OtlpMetrics.d.ts +17 -0
  702. package/dist/observability/OtlpMetrics.d.ts.map +1 -1
  703. package/dist/observability/OtlpMetrics.js +18 -3
  704. package/dist/observability/OtlpMetrics.js.map +1 -1
  705. package/dist/observability/OtlpResource.d.ts +3 -1
  706. package/dist/observability/OtlpResource.d.ts.map +1 -1
  707. package/dist/observability/OtlpResource.js +11 -4
  708. package/dist/observability/OtlpResource.js.map +1 -1
  709. package/dist/observability/OtlpSerialization.d.ts +5 -0
  710. package/dist/observability/OtlpSerialization.d.ts.map +1 -1
  711. package/dist/observability/OtlpSerialization.js +14 -3
  712. package/dist/observability/OtlpSerialization.js.map +1 -1
  713. package/dist/observability/OtlpTracer.d.ts +17 -0
  714. package/dist/observability/OtlpTracer.d.ts.map +1 -1
  715. package/dist/observability/OtlpTracer.js +15 -2
  716. package/dist/observability/OtlpTracer.js.map +1 -1
  717. package/dist/observability/internal/protobuf.d.ts +0 -9
  718. package/dist/observability/internal/protobuf.d.ts.map +1 -1
  719. package/dist/observability/internal/protobuf.js +2 -10
  720. package/dist/observability/internal/protobuf.js.map +1 -1
  721. package/dist/persistence/PersistedCache.d.ts.map +1 -1
  722. package/dist/persistence/PersistedCache.js +1 -1
  723. package/dist/persistence/PersistedCache.js.map +1 -1
  724. package/dist/persistence/PersistedQueue.d.ts +6 -2
  725. package/dist/persistence/PersistedQueue.d.ts.map +1 -1
  726. package/dist/persistence/PersistedQueue.js +162 -84
  727. package/dist/persistence/PersistedQueue.js.map +1 -1
  728. package/dist/persistence/Persistence.d.ts +28 -0
  729. package/dist/persistence/Persistence.d.ts.map +1 -1
  730. package/dist/persistence/Persistence.js +36 -8
  731. package/dist/persistence/Persistence.js.map +1 -1
  732. package/dist/persistence/RateLimiter.d.ts.map +1 -1
  733. package/dist/persistence/RateLimiter.js +8 -12
  734. package/dist/persistence/RateLimiter.js.map +1 -1
  735. package/dist/persistence/UserDirectories.d.ts +129 -0
  736. package/dist/persistence/UserDirectories.d.ts.map +1 -0
  737. package/dist/persistence/UserDirectories.js +178 -0
  738. package/dist/persistence/UserDirectories.js.map +1 -0
  739. package/dist/persistence/index.d.ts +5 -0
  740. package/dist/persistence/index.d.ts.map +1 -1
  741. package/dist/persistence/index.js +5 -0
  742. package/dist/persistence/index.js.map +1 -1
  743. package/dist/process/ChildProcess.d.ts +2 -1
  744. package/dist/process/ChildProcess.d.ts.map +1 -1
  745. package/dist/process/ChildProcess.js.map +1 -1
  746. package/dist/reactivity/AsyncResult.d.ts +6 -0
  747. package/dist/reactivity/AsyncResult.d.ts.map +1 -1
  748. package/dist/reactivity/AsyncResult.js +28 -1
  749. package/dist/reactivity/AsyncResult.js.map +1 -1
  750. package/dist/reactivity/Atom.d.ts +69 -30
  751. package/dist/reactivity/Atom.d.ts.map +1 -1
  752. package/dist/reactivity/Atom.js +40 -15
  753. package/dist/reactivity/Atom.js.map +1 -1
  754. package/dist/reactivity/AtomHttpApi.d.ts +5 -5
  755. package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
  756. package/dist/reactivity/AtomHttpApi.js +1 -1
  757. package/dist/reactivity/AtomHttpApi.js.map +1 -1
  758. package/dist/reactivity/AtomRegistry.d.ts +2 -2
  759. package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
  760. package/dist/reactivity/AtomRegistry.js +47 -10
  761. package/dist/reactivity/AtomRegistry.js.map +1 -1
  762. package/dist/reactivity/AtomRpc.d.ts +3 -3
  763. package/dist/reactivity/AtomRpc.d.ts.map +1 -1
  764. package/dist/reactivity/AtomRpc.js +1 -1
  765. package/dist/reactivity/AtomRpc.js.map +1 -1
  766. package/dist/reactivity/Hydration.d.ts.map +1 -1
  767. package/dist/reactivity/Hydration.js +46 -12
  768. package/dist/reactivity/Hydration.js.map +1 -1
  769. package/dist/reactivity/Reactivity.d.ts +71 -7
  770. package/dist/reactivity/Reactivity.d.ts.map +1 -1
  771. package/dist/reactivity/Reactivity.js +21 -12
  772. package/dist/reactivity/Reactivity.js.map +1 -1
  773. package/dist/rpc/Rpc.d.ts +18 -0
  774. package/dist/rpc/Rpc.d.ts.map +1 -1
  775. package/dist/rpc/Rpc.js +20 -0
  776. package/dist/rpc/Rpc.js.map +1 -1
  777. package/dist/rpc/RpcClient.d.ts +26 -2
  778. package/dist/rpc/RpcClient.d.ts.map +1 -1
  779. package/dist/rpc/RpcClient.js +202 -61
  780. package/dist/rpc/RpcClient.js.map +1 -1
  781. package/dist/rpc/RpcSerialization.d.ts +15 -0
  782. package/dist/rpc/RpcSerialization.d.ts.map +1 -1
  783. package/dist/rpc/RpcSerialization.js +21 -5
  784. package/dist/rpc/RpcSerialization.js.map +1 -1
  785. package/dist/rpc/RpcServer.d.ts.map +1 -1
  786. package/dist/rpc/RpcServer.js +9 -18
  787. package/dist/rpc/RpcServer.js.map +1 -1
  788. package/dist/schema/Model.d.ts +1 -1
  789. package/dist/schema/VariantSchema.d.ts +22 -3
  790. package/dist/schema/VariantSchema.d.ts.map +1 -1
  791. package/dist/schema/VariantSchema.js +32 -18
  792. package/dist/schema/VariantSchema.js.map +1 -1
  793. package/dist/socket/Socket.d.ts +23 -1
  794. package/dist/socket/Socket.d.ts.map +1 -1
  795. package/dist/socket/Socket.js +36 -3
  796. package/dist/socket/Socket.js.map +1 -1
  797. package/dist/sql/Migrator.d.ts.map +1 -1
  798. package/dist/sql/Migrator.js +15 -3
  799. package/dist/sql/Migrator.js.map +1 -1
  800. package/dist/sql/SqlClient.d.ts +151 -12
  801. package/dist/sql/SqlClient.d.ts.map +1 -1
  802. package/dist/sql/SqlClient.js +156 -34
  803. package/dist/sql/SqlClient.js.map +1 -1
  804. package/dist/sql/SqlResolver.d.ts +9 -0
  805. package/dist/sql/SqlResolver.d.ts.map +1 -1
  806. package/dist/sql/SqlResolver.js +9 -0
  807. package/dist/sql/SqlResolver.js.map +1 -1
  808. package/dist/sql/Statement.d.ts +3 -1
  809. package/dist/sql/Statement.d.ts.map +1 -1
  810. package/dist/sql/Statement.js +24 -5
  811. package/dist/sql/Statement.js.map +1 -1
  812. package/dist/testing/TestClock.d.ts +16 -3
  813. package/dist/testing/TestClock.d.ts.map +1 -1
  814. package/dist/testing/TestClock.js +115 -23
  815. package/dist/testing/TestClock.js.map +1 -1
  816. package/dist/testing/TestSchema.d.ts +7 -1
  817. package/dist/testing/TestSchema.d.ts.map +1 -1
  818. package/dist/testing/TestSchema.js +9 -3
  819. package/dist/testing/TestSchema.js.map +1 -1
  820. package/dist/workflow/Activity.js +1 -0
  821. package/dist/workflow/Activity.js.map +1 -1
  822. package/dist/workflow/Workflow.d.ts +22 -0
  823. package/dist/workflow/Workflow.d.ts.map +1 -1
  824. package/dist/workflow/Workflow.js +15 -3
  825. package/dist/workflow/Workflow.js.map +1 -1
  826. package/dist/workflow/WorkflowEngine.d.ts +20 -1
  827. package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
  828. package/dist/workflow/WorkflowEngine.js +52 -24
  829. package/dist/workflow/WorkflowEngine.js.map +1 -1
  830. package/package.json +13 -3
  831. package/src/Array.ts +223 -61
  832. package/src/Bytes.ts +111 -0
  833. package/src/Channel.ts +287 -439
  834. package/src/ChannelSchema.ts +1 -49
  835. package/src/Chunk.ts +55 -61
  836. package/src/Config.ts +12 -86
  837. package/src/ConfigProvider.ts +41 -44
  838. package/src/Cron.ts +6 -3
  839. package/src/Duration.ts +70 -21
  840. package/src/Effect.ts +642 -220
  841. package/src/Equivalence.ts +7 -4
  842. package/src/Exit.ts +24 -9
  843. package/src/FiberHandle.ts +10 -9
  844. package/src/FiberMap.ts +13 -66
  845. package/src/FileSystem.ts +33 -9
  846. package/src/Graph.ts +171 -1263
  847. package/src/HashSet.ts +0 -60
  848. package/src/Iterable.ts +15 -14
  849. package/src/JsonSchema.ts +28 -3
  850. package/src/Layer.ts +2 -2
  851. package/src/ManagedRuntime.ts +72 -6
  852. package/src/Match.ts +65 -12
  853. package/src/Metric.ts +249 -507
  854. package/src/MutableHashMap.ts +4 -473
  855. package/src/Number.ts +2 -2
  856. package/src/Optic.ts +17 -332
  857. package/src/Path.ts +61 -8
  858. package/src/PubSub.ts +12 -7
  859. package/src/Queue.ts +5 -37
  860. package/src/Random.ts +1 -1
  861. package/src/RcMap.ts +14 -8
  862. package/src/Record.ts +51 -0
  863. package/src/Ref.ts +7 -104
  864. package/src/References.ts +5 -4
  865. package/src/RequestResolver.ts +46 -87
  866. package/src/Resource.ts +1 -1
  867. package/src/Runtime.ts +19 -18
  868. package/src/Schedule.ts +2 -94
  869. package/src/Schema.ts +596 -348
  870. package/src/SchemaAST.ts +20 -9
  871. package/src/SchemaGetter.ts +22 -5
  872. package/src/SchemaIssue.ts +44 -53
  873. package/src/SchemaRepresentation.ts +64 -1
  874. package/src/SchemaTransformation.ts +1 -1
  875. package/src/Scope.ts +12 -2
  876. package/src/ScopedCache.ts +17 -142
  877. package/src/SemVer.ts +1528 -0
  878. package/src/SemVerRange.ts +883 -0
  879. package/src/Sink.ts +6 -2
  880. package/src/Stream.ts +334 -1011
  881. package/src/String.ts +25 -12
  882. package/src/TextDiff.ts +766 -0
  883. package/src/TxHashMap.ts +1 -103
  884. package/src/TxHashSet.ts +48 -753
  885. package/src/TxRef.ts +4 -2
  886. package/src/ai/AiError.ts +69 -5
  887. package/src/ai/Chat.ts +10 -5
  888. package/src/ai/Decision.ts +119 -22
  889. package/src/ai/DecisionModel.ts +265 -109
  890. package/src/ai/EmbeddingModel.ts +25 -13
  891. package/src/ai/LanguageModel.ts +57 -51
  892. package/src/ai/McpClient.ts +1211 -0
  893. package/src/ai/McpClientError.ts +329 -0
  894. package/src/ai/McpProtocol.ts +2 -2
  895. package/src/ai/McpSchema.ts +153 -35
  896. package/src/ai/McpServer.ts +232 -275
  897. package/src/ai/Prompt.ts +49 -35
  898. package/src/ai/Response.ts +195 -65
  899. package/src/ai/Tool.ts +12 -4
  900. package/src/ai/Toolkit.ts +78 -10
  901. package/src/ai/index.ts +12 -0
  902. package/src/ai/internal/mcpCore.ts +13 -14
  903. package/src/ai/internal/mcpProtocol/v2024_11_05.ts +1 -1
  904. package/src/ai/internal/mcpProtocol/v2025_03_26.ts +1 -1
  905. package/src/ai/internal/mcpProtocol/v2025_06_18.ts +3 -3
  906. package/src/ai/internal/mcpProtocol/v2025_11_25.ts +3 -3
  907. package/src/ai/internal/mcpProtocol/v2026_07_28.ts +12 -14
  908. package/src/ai/internal/mcpProtocol.ts +22 -2
  909. package/src/ai/internal/mcpRuntime.ts +3 -4
  910. package/src/ai/internal/mcpSchema/v2024_11_05.ts +20 -13
  911. package/src/ai/internal/mcpSchema/v2025_03_26.ts +4 -2
  912. package/src/ai/internal/mcpSchema/v2025_06_18.ts +7 -7
  913. package/src/ai/internal/mcpSchema/v2025_11_25.ts +8 -8
  914. package/src/ai/internal/mcpSchema/v2026_07_28.ts +44 -42
  915. package/src/cli/CliError.ts +49 -4
  916. package/src/cli/Command.ts +316 -9
  917. package/src/cli/Completions.ts +10 -0
  918. package/src/cli/Flag.ts +218 -0
  919. package/src/cli/GlobalFlag.ts +3 -3
  920. package/src/cli/Param.ts +218 -0
  921. package/src/cli/TerminalCapabilities.ts +156 -0
  922. package/src/cli/index.ts +6 -0
  923. package/src/cli/internal/command.ts +10 -4
  924. package/src/cli/internal/completions/bash.ts +7 -5
  925. package/src/cli/internal/completions/descriptor.ts +20 -1
  926. package/src/cli/internal/completions/fish.ts +12 -10
  927. package/src/cli/internal/completions/powershell.ts +25 -13
  928. package/src/cli/internal/completions/zsh.ts +15 -8
  929. package/src/cli/internal/formatter.ts +18 -0
  930. package/src/cli/internal/lexer.ts +12 -5
  931. package/src/cli/internal/parser.ts +43 -14
  932. package/src/cli/internal/wizard.ts +2 -1
  933. package/src/cluster/ClusterCron.ts +94 -35
  934. package/src/cluster/ClusterMetrics.ts +149 -7
  935. package/src/cluster/ClusterWorkflowEngine.ts +164 -53
  936. package/src/cluster/Entity.ts +4 -0
  937. package/src/cluster/MessageStorage.ts +21 -3
  938. package/src/cluster/Runners.ts +145 -72
  939. package/src/cluster/Sharding.ts +118 -38
  940. package/src/cluster/ShardingConfig.ts +15 -0
  941. package/src/cluster/SqlMessageStorage.ts +58 -55
  942. package/src/cluster/SqlRunnerStorage.ts +10 -4
  943. package/src/cluster/internal/entityManager.ts +81 -11
  944. package/src/devtools/DevTools.ts +3 -2
  945. package/src/devtools/DevToolsClient.ts +27 -10
  946. package/src/encoding/Base64Url.ts +31 -0
  947. package/src/encoding/Ini.ts +3 -0
  948. package/src/encoding/JsonArray.ts +849 -0
  949. package/src/encoding/Ndjson.ts +211 -20
  950. package/src/encoding/SchemaBinary.ts +14 -48
  951. package/src/encoding/Sse.ts +1 -1
  952. package/src/encoding/Tar.ts +1417 -0
  953. package/src/encoding/Toml.ts +3 -3
  954. package/src/encoding/Xml.ts +2037 -0
  955. package/src/encoding/Yaml.ts +108 -36
  956. package/src/encoding/Zip.ts +1558 -0
  957. package/src/encoding/index.ts +24 -0
  958. package/src/eventlog/EventJournal.ts +611 -227
  959. package/src/eventlog/EventLog.ts +496 -196
  960. package/src/eventlog/EventLogEncryption.ts +128 -43
  961. package/src/eventlog/EventLogMessage.ts +62 -11
  962. package/src/eventlog/EventLogRemote.ts +77 -21
  963. package/src/eventlog/EventLogServer.ts +162 -20
  964. package/src/eventlog/EventLogServerEncrypted.ts +121 -80
  965. package/src/eventlog/EventLogServerUnencrypted.ts +180 -77
  966. package/src/eventlog/EventRow.ts +706 -0
  967. package/src/eventlog/SqlEventJournal.ts +453 -173
  968. package/src/eventlog/SqlEventLogServerEncrypted.ts +212 -83
  969. package/src/eventlog/SqlEventLogServerUnencrypted.ts +141 -62
  970. package/src/eventlog/index.ts +6 -0
  971. package/src/eventlog/internal/conflicts.ts +123 -0
  972. package/src/graphql/GraphQLClient.ts +17 -5
  973. package/src/graphql/GraphQLClientError.ts +5 -12
  974. package/src/graphql/GraphQLProtocol.ts +277 -20
  975. package/src/graphql/GraphQLResolver.ts +109 -230
  976. package/src/http/FetchHttpClient.ts +61 -8
  977. package/src/http/FindMyWay/internal/router.ts +13 -1
  978. package/src/http/Headers.ts +343 -163
  979. package/src/http/HttpClient.ts +144 -136
  980. package/src/http/HttpClientError.ts +10 -6
  981. package/src/http/HttpClientRequest.ts +315 -11
  982. package/src/http/HttpClientResponse.ts +71 -0
  983. package/src/http/HttpEffect.ts +25 -33
  984. package/src/http/HttpIncomingMessage.ts +3 -23
  985. package/src/http/HttpMiddleware.ts +265 -28
  986. package/src/http/HttpRouter.ts +67 -14
  987. package/src/http/HttpServerError.ts +14 -7
  988. package/src/http/HttpServerRequest.ts +73 -14
  989. package/src/http/HttpServerResponse.ts +49 -23
  990. package/src/http/HttpStaticServer.ts +29 -19
  991. package/src/http/HttpTraceContext.ts +1 -1
  992. package/src/http/MultipartParser/internal/contentType.ts +107 -6
  993. package/src/http/MultipartParser/internal/headers.ts +4 -16
  994. package/src/http/MultipartParser/internal/multipart.ts +10 -32
  995. package/src/http/Url.ts +8 -2
  996. package/src/http/UrlParams.ts +225 -26
  997. package/src/http/internal/compression.ts +3 -17
  998. package/src/http/internal/compressionBody.ts +56 -0
  999. package/src/http/internal/decompression.ts +235 -0
  1000. package/src/http/internal/lazyStream.ts +25 -0
  1001. package/src/http/internal/requestState.ts +33 -0
  1002. package/src/http/internal/tracing.ts +21 -4
  1003. package/src/http/internal/urlParams.ts +5 -0
  1004. package/src/http/internal/webResponse.ts +20 -0
  1005. package/src/http-api/HttpApi.ts +1 -1
  1006. package/src/http-api/HttpApiBuilder.ts +151 -23
  1007. package/src/http-api/HttpApiClient.ts +160 -31
  1008. package/src/http-api/HttpApiEndpoint.ts +144 -33
  1009. package/src/http-api/HttpApiError.ts +55 -0
  1010. package/src/http-api/HttpApiScalar.ts +4 -3
  1011. package/src/http-api/HttpApiSchema.ts +275 -13
  1012. package/src/http-api/HttpApiSwagger.ts +11 -4
  1013. package/src/http-api/HttpApiTest.ts +33 -9
  1014. package/src/http-api/OpenApi.ts +84 -42
  1015. package/src/http-api/internal/path.ts +40 -12
  1016. package/src/index.ts +24 -0
  1017. package/src/internal/core.ts +22 -2
  1018. package/src/internal/dateTime.ts +20 -7
  1019. package/src/internal/effect.ts +125 -88
  1020. package/src/internal/graphql.ts +30 -7
  1021. package/src/internal/hashMap.ts +2 -2
  1022. package/src/internal/hydration.ts +15 -0
  1023. package/src/internal/inflate.ts +710 -0
  1024. package/src/internal/record.ts +6 -0
  1025. package/src/internal/request.ts +21 -6
  1026. package/src/internal/schedule.ts +20 -39
  1027. package/src/internal/schema/fromJsonSchemaDocument.ts +262 -193
  1028. package/src/internal/schema/interpreter.ts +58 -45
  1029. package/src/internal/schema/standardSchema.ts +32 -30
  1030. package/src/internal/schema/toCodeDocument.ts +8 -3
  1031. package/src/internal/schema/toCodec.ts +116 -1
  1032. package/src/internal/schema/toFormatter.ts +6 -6
  1033. package/src/internal/schema/toJsonSchemaDocument.ts +69 -39
  1034. package/src/internal/trie.ts +1 -3
  1035. package/src/internal/uuid.ts +15 -10
  1036. package/src/internal/version.ts +1 -1
  1037. package/src/net/NetAddress.ts +2 -9
  1038. package/src/observability/Otlp.ts +18 -0
  1039. package/src/observability/OtlpExporter.ts +19 -15
  1040. package/src/observability/OtlpLogger.ts +31 -2
  1041. package/src/observability/OtlpMetrics.ts +35 -4
  1042. package/src/observability/OtlpResource.ts +16 -6
  1043. package/src/observability/OtlpSerialization.ts +17 -3
  1044. package/src/observability/OtlpTracer.ts +32 -3
  1045. package/src/observability/internal/protobuf.ts +2 -10
  1046. package/src/persistence/PersistedCache.ts +3 -1
  1047. package/src/persistence/PersistedQueue.ts +223 -153
  1048. package/src/persistence/Persistence.ts +64 -30
  1049. package/src/persistence/RateLimiter.ts +18 -21
  1050. package/src/persistence/UserDirectories.ts +273 -0
  1051. package/src/persistence/index.ts +6 -0
  1052. package/src/process/ChildProcess.ts +2 -1
  1053. package/src/reactivity/AsyncResult.ts +35 -38
  1054. package/src/reactivity/Atom.ts +134 -166
  1055. package/src/reactivity/AtomHttpApi.ts +10 -16
  1056. package/src/reactivity/AtomRegistry.ts +53 -30
  1057. package/src/reactivity/AtomRpc.ts +6 -22
  1058. package/src/reactivity/Hydration.ts +53 -12
  1059. package/src/reactivity/Reactivity.ts +97 -39
  1060. package/src/rpc/Rpc.ts +21 -0
  1061. package/src/rpc/RpcClient.ts +285 -104
  1062. package/src/rpc/RpcSerialization.ts +21 -5
  1063. package/src/rpc/RpcServer.ts +11 -20
  1064. package/src/schema/VariantSchema.ts +86 -22
  1065. package/src/socket/Socket.ts +45 -20
  1066. package/src/sql/Migrator.ts +19 -9
  1067. package/src/sql/SqlClient.ts +275 -36
  1068. package/src/sql/SqlResolver.ts +9 -0
  1069. package/src/sql/Statement.ts +35 -8
  1070. package/src/testing/TestClock.ts +147 -29
  1071. package/src/testing/TestSchema.ts +9 -3
  1072. package/src/workflow/Activity.ts +1 -0
  1073. package/src/workflow/Workflow.ts +31 -5
  1074. package/src/workflow/WorkflowEngine.ts +93 -31
  1075. package/dist/http/internal/preResponseHandler.d.ts +0 -2
  1076. package/dist/http/internal/preResponseHandler.d.ts.map +0 -1
  1077. package/dist/http/internal/preResponseHandler.js +0 -14
  1078. package/dist/http/internal/preResponseHandler.js.map +0 -1
  1079. package/src/http/internal/preResponseHandler.ts +0 -19
package/src/Schema.ts CHANGED
@@ -36,6 +36,7 @@ import * as HashMap_ from "./HashMap.ts"
36
36
  import * as HashSet_ from "./HashSet.ts"
37
37
  import * as Cookies_ from "./http/Cookies.ts"
38
38
  import * as Headers_ from "./http/Headers.ts"
39
+ import * as UrlParams_internal from "./http/internal/urlParams.ts"
39
40
  import * as UrlParams_ from "./http/UrlParams.ts"
40
41
  import { NodeInspectSymbol } from "./Inspectable.ts"
41
42
  import * as core from "./internal/core.ts"
@@ -78,6 +79,8 @@ import * as SchemaIssue from "./SchemaIssue.ts"
78
79
  import * as SchemaParser from "./SchemaParser.ts"
79
80
  import type * as SchemaRepresentation from "./SchemaRepresentation.ts"
80
81
  import * as SchemaTransformation from "./SchemaTransformation.ts"
82
+ import * as SemVer_ from "./SemVer.ts"
83
+ import * as SemVerRange_ from "./SemVerRange.ts"
81
84
  import type { StandardJSONSchemaV1, StandardSchemaV1 } from "./StandardSchema.ts"
82
85
  import type { Assign, Lambda, Mutable, Simplify } from "./Struct.ts"
83
86
  import * as Struct_ from "./Struct.ts"
@@ -122,8 +125,8 @@ export type ConstructorDefault = "no-default" | "with-default"
122
125
  *
123
126
  * **When to use**
124
127
  *
125
- * Use when passing `disableChecks: true` to skip validation when you trust the
126
- * data. Pass `parseOptions` to control parsing behavior.
128
+ * Use when passing `disableChecks: true` to skip filters and checks while still
129
+ * parsing types and structure. Pass `parseOptions` to control parsing behavior.
127
130
  *
128
131
  * @see {@link BottomWithoutNew.makeEffect}
129
132
  * @see {@link BottomWithoutNew.make}
@@ -138,7 +141,8 @@ export interface MakeOptions {
138
141
  */
139
142
  readonly parseOptions?: SchemaAST.ParseOptions | undefined
140
143
  /**
141
- * Whether to disable validation for the schema.
144
+ * Whether to skip filters and checks. Types and structure are still parsed,
145
+ * and constructor defaults still apply.
142
146
  */
143
147
  readonly disableChecks?: boolean | undefined
144
148
 
@@ -2960,8 +2964,8 @@ export interface Enum<A extends { [x: string]: string | number }>
2960
2964
  readonly enums: A
2961
2965
  }
2962
2966
  /**
2963
- * Creates a schema from a TypeScript enum object. Validates that the input is one of the enum's values.
2964
- * Numeric enum values must be finite.
2967
+ * Creates a schema from a TypeScript enum or an object mapping names to string or number values.
2968
+ * Validates that the input is one of those values. Numeric values must be finite.
2965
2969
  *
2966
2970
  * **Gotchas**
2967
2971
  *
@@ -2985,7 +2989,7 @@ export interface Enum<A extends { [x: string]: string | number }>
2985
2989
  * @category constructors
2986
2990
  * @since 4.0.0
2987
2991
  */
2988
- export function Enum<A extends { [x: string]: string | number }>(enums: A): Enum<A> {
2992
+ export function Enum<const A extends { [x: string]: string | number }>(enums: A): Enum<A> {
2989
2993
  return make(
2990
2994
  new SchemaAST.Enum(
2991
2995
  Object.keys(enums).filter(
@@ -5631,8 +5635,8 @@ export interface compose<To extends Constraint, From extends Constraint> extends
5631
5635
  * **Gotchas**
5632
5636
  *
5633
5637
  * In a custom transformation, `decode` maps `From["Type"]` to `To["Encoded"]`
5634
- * and is used on the encoding path, while `encode` maps `To["Encoded"]` to
5635
- * `From["Type"]` and is used on the decoding path.
5638
+ * and is used on the decoding path, while `encode` maps `To["Encoded"]` to
5639
+ * `From["Type"]` and is used on the encoding path.
5636
5640
  *
5637
5641
  * **Example** (Transforming strings to numbers with a schema transformation)
5638
5642
  *
@@ -5966,6 +5970,9 @@ export type DecodingDefaultOptions = {
5966
5970
  function toIssueEffect<A, R>(
5967
5971
  self: Effect.Effect<A, SchemaError, R>
5968
5972
  ): Effect.Effect<A, SchemaIssue.Issue, R> {
5973
+ if (effectIsExit(self) && self._tag === "Success") {
5974
+ return self as unknown as Exit_.Exit<A, SchemaIssue.Issue>
5975
+ }
5969
5976
  return Effect.catchCause(self, (cause) => Effect.failCauseSync(() => Cause_.map(cause, (error) => error.issue)))
5970
5977
  }
5971
5978
  /**
@@ -6396,7 +6403,9 @@ export type toTaggedUnion<
6396
6403
  *
6397
6404
  * **Gotchas**
6398
6405
  *
6399
- * Throws if multiple members use the same discriminant property key.
6406
+ * Throws when multiple members use the same discriminant property key,
6407
+ * including members of nested unions. Numeric and string values such as `1`
6408
+ * and `"1"` count as duplicates.
6400
6409
  *
6401
6410
  * **Example** (Adding tagged-union utilities to an existing union)
6402
6411
  *
@@ -7124,16 +7133,21 @@ export function isULID(annotations?: Annotations.Filter) {
7124
7133
  * @since 4.0.0
7125
7134
  */
7126
7135
  export function isBase64(annotations?: Annotations.Filter) {
7127
- const regExp = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/
7128
- return isPattern(
7129
- regExp,
7136
+ const pattern = "^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$"
7137
+ // `pattern` overflows the V8 stack on large inputs
7138
+ const regExp = /^[0-9a-zA-Z+/]*={0,2}$/
7139
+ return makeFilter(
7140
+ (s: string) => s.length % 4 === 0 && regExp.test(s),
7130
7141
  {
7131
7142
  expected: "a base64 encoded string",
7132
7143
  representation: {
7133
7144
  id: "effect/schema/isBase64",
7134
7145
  payload: null
7135
7146
  },
7136
- toJsonSchema: () => ({ pattern: regExp.source }),
7147
+ toJsonSchema: () => ({ pattern }),
7148
+ arbitraryConstraint: {
7149
+ patterns: [{ source: pattern, flags: "" }]
7150
+ },
7137
7151
  toCode: () => ({ runtime: "Schema.isBase64()" }),
7138
7152
  ...annotations
7139
7153
  }
@@ -7160,16 +7174,21 @@ export function isBase64(annotations?: Annotations.Filter) {
7160
7174
  * @since 4.0.0
7161
7175
  */
7162
7176
  export function isBase64Url(annotations?: Annotations.Filter) {
7163
- const regExp = /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/
7164
- return isPattern(
7165
- regExp,
7177
+ const pattern = "^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$"
7178
+ // `pattern` overflows the V8 stack on large inputs
7179
+ const regExp = /^[0-9a-zA-Z-_]*={0,2}$/
7180
+ return makeFilter(
7181
+ (s: string) => regExp.test(s) && (s.endsWith("=") ? s.length % 4 === 0 : s.length % 4 !== 1),
7166
7182
  {
7167
7183
  expected: "a base64url encoded string",
7168
7184
  representation: {
7169
7185
  id: "effect/schema/isBase64Url",
7170
7186
  payload: null
7171
7187
  },
7172
- toJsonSchema: () => ({ pattern: regExp.source }),
7188
+ toJsonSchema: () => ({ pattern }),
7189
+ arbitraryConstraint: {
7190
+ patterns: [{ source: pattern, flags: "" }]
7191
+ },
7173
7192
  toCode: () => ({ runtime: "Schema.isBase64Url()" }),
7174
7193
  ...annotations
7175
7194
  }
@@ -9926,7 +9945,9 @@ export interface FormData extends instanceOf<globalThis.FormData> {
9926
9945
  * @category schemas
9927
9946
  * @since 4.0.0
9928
9947
  */
9929
- export const FormData: FormData = instanceOf(globalThis.FormData, {
9948
+ // Read the global inside the guard: resolving globalThis.FormData at module
9949
+ // scope loads undici on Node.
9950
+ export const FormData: FormData = declare((u): u is globalThis.FormData => u instanceof globalThis.FormData, {
9930
9951
  representation: {
9931
9952
  id: "effect/schema/FormData",
9932
9953
  payload: null
@@ -11264,7 +11285,7 @@ export function Cause<E extends Constraint, D extends Constraint>(error: E, defe
11264
11285
  }
11265
11286
  return Effect.mapBothEager(SchemaParser.decodeUnknownEffect(failures)(input.reasons, options), {
11266
11287
  onSuccess: Cause_.fromReasons,
11267
- onFailure: (issue) => SchemaIssue.makeCompositeAtKey(ast, "failures", issue, input, options)
11288
+ onFailure: (issue) => SchemaIssue.makeCompositeAtKey(ast, "reasons", issue, input, options)
11268
11289
  })
11269
11290
  }
11270
11291
  },
@@ -11667,6 +11688,65 @@ export const DateTimeUtcFromString: DateTimeUtcFromString = String.annotate({
11667
11688
  dateTimeUtcFromString
11668
11689
  )
11669
11690
  )
11691
+ const dateTimeUtcFromHttpDate: SchemaTransformation.Transformation<DateTime.Utc, string> = SchemaTransformation
11692
+ .transformEffect<DateTime.Utc, string>({
11693
+ decode: (s, options) =>
11694
+ Result_.match(Headers_.parseHttpDate(s), {
11695
+ onFailure: () =>
11696
+ Effect.fail(
11697
+ new SchemaIssue.InvalidValue(
11698
+ { expected: "an HTTP date (RFC 9110 §5.6.7)" },
11699
+ s,
11700
+ options
11701
+ )
11702
+ ),
11703
+ onSuccess: Effect.succeed
11704
+ }),
11705
+ encode: (utc) => Effect.succeed(Headers_.formatHttpDate(utc))
11706
+ })
11707
+ /**
11708
+ * Type-level representation of {@link DateTimeUtcFromHttpDate}.
11709
+ *
11710
+ * @stability unstable
11711
+ * @category models
11712
+ * @since 4.0.0
11713
+ */
11714
+ export interface DateTimeUtcFromHttpDate extends decodeTo<DateTimeUtc, String> {
11715
+ readonly "Rebuild": DateTimeUtcFromHttpDate
11716
+ }
11717
+ /**
11718
+ * Schema for HTTP date header values, such as `Date`, `Last-Modified` and
11719
+ * `Expires`, decoded as `DateTime.Utc`.
11720
+ *
11721
+ * **When to use**
11722
+ *
11723
+ * Use with HTTP API header schemas that carry dates. Decoding accepts the
11724
+ * three formats of RFC 9110 §5.6.7 and reads them as UTC; encoding emits the
11725
+ * preferred IMF-fixdate form (`Sun, 06 Nov 1994 08:49:37 GMT`).
11726
+ *
11727
+ * **Example** (Decoding an HTTP date)
11728
+ *
11729
+ * ```ts
11730
+ * import { DateTime, Schema } from "effect"
11731
+ *
11732
+ * const date = Schema.decodeSync(Schema.DateTimeUtcFromHttpDate)("Sun, 06 Nov 1994 08:49:37 GMT")
11733
+ * const millis = DateTime.toEpochMillis(date) // => 784111777000
11734
+ * ```
11735
+ *
11736
+ * @see {@link DateTimeUtcFromString} for ISO 8601 strings
11737
+ *
11738
+ * @stability unstable
11739
+ * @category schemas
11740
+ * @since 4.0.0
11741
+ */
11742
+ export const DateTimeUtcFromHttpDate: DateTimeUtcFromHttpDate = String.annotate({
11743
+ expected: "an HTTP date string"
11744
+ }).pipe(
11745
+ decodeTo(
11746
+ DateTimeUtc,
11747
+ dateTimeUtcFromHttpDate
11748
+ )
11749
+ )
11670
11750
  /**
11671
11751
  * Type-level representation of {@link DateTimeUtcFromMillis}.
11672
11752
  *
@@ -15177,6 +15257,110 @@ export const Headers: Headers = declare(
15177
15257
  }
15178
15258
  )
15179
15259
 
15260
+ /**
15261
+ * Type-level representation of {@link RetryAfter}.
15262
+ *
15263
+ * @stability unstable
15264
+ * @category models
15265
+ * @since 4.0.0
15266
+ */
15267
+ export interface RetryAfter extends
15268
+ Union<
15269
+ readonly [
15270
+ Struct<{ readonly _tag: tag<"Duration">; readonly duration: Duration }>,
15271
+ Struct<{ readonly _tag: tag<"DateTime">; readonly dateTime: DateTimeUtc }>
15272
+ ]
15273
+ >
15274
+ {
15275
+ readonly "Rebuild": RetryAfter
15276
+ }
15277
+
15278
+ /**
15279
+ * Schema for parsed `Retry-After` header values.
15280
+ *
15281
+ * **Details**
15282
+ *
15283
+ * Matches `Headers.RetryAfter`: either `{ _tag: "Duration", duration }` or
15284
+ * `{ _tag: "DateTime", dateTime }`. The duration must be finite and
15285
+ * non-negative. Use {@link RetryAfterFromString} for the header string form.
15286
+ *
15287
+ * @stability unstable
15288
+ * @category schemas
15289
+ * @since 4.0.0
15290
+ */
15291
+ export const RetryAfter: RetryAfter = Union([
15292
+ Struct({
15293
+ _tag: tag("Duration"),
15294
+ duration: Duration.check(
15295
+ makeFilter((d) => Duration_.isFinite(d) && !Duration_.isNegative(d), {
15296
+ expected: "a finite, non-negative duration"
15297
+ })
15298
+ )
15299
+ }),
15300
+ Struct({ _tag: tag("DateTime"), dateTime: DateTimeUtc })
15301
+ ])
15302
+
15303
+ const retryAfterFromString: SchemaTransformation.Transformation<Headers_.RetryAfter, string> = SchemaTransformation
15304
+ .transformEffect<Headers_.RetryAfter, string>({
15305
+ decode: (s, options) =>
15306
+ Result_.match(Headers_.parseRetryAfter(s), {
15307
+ onFailure: () =>
15308
+ Effect.fail(
15309
+ new SchemaIssue.InvalidValue(
15310
+ { expected: "whole non-negative seconds or an HTTP date (RFC 9110 §10.2.3)" },
15311
+ s,
15312
+ options
15313
+ )
15314
+ ),
15315
+ onSuccess: Effect.succeed
15316
+ }),
15317
+ encode: (self) => Effect.succeed(Headers_.formatRetryAfter(self))
15318
+ })
15319
+
15320
+ /**
15321
+ * Type-level representation of {@link RetryAfterFromString}.
15322
+ *
15323
+ * @stability unstable
15324
+ * @category models
15325
+ * @since 4.0.0
15326
+ */
15327
+ export interface RetryAfterFromString extends decodeTo<RetryAfter, String> {
15328
+ readonly "Rebuild": RetryAfterFromString
15329
+ }
15330
+
15331
+ /**
15332
+ * Schema for `Retry-After` header values, decoded with
15333
+ * `Headers.parseRetryAfter`.
15334
+ *
15335
+ * **When to use**
15336
+ *
15337
+ * Use with HTTP API header schemas that carry `Retry-After`. Decoding accepts
15338
+ * whole non-negative seconds or an HTTP date and rejects anything else;
15339
+ * encoding emits the delay as whole seconds, rounding a fractional second up,
15340
+ * or the date as an IMF-fixdate.
15341
+ *
15342
+ * **Example** (Decoding a Retry-After header)
15343
+ *
15344
+ * ```ts
15345
+ * import { Schema } from "effect"
15346
+ *
15347
+ * const value = Schema.decodeSync(Schema.RetryAfterFromString)("120")
15348
+ * // => { _tag: "Duration", duration: Duration.seconds(120) }
15349
+ * ```
15350
+ *
15351
+ * @stability unstable
15352
+ * @category schemas
15353
+ * @since 4.0.0
15354
+ */
15355
+ export const RetryAfterFromString: RetryAfterFromString = String.annotate({
15356
+ expected: "a Retry-After header value"
15357
+ }).pipe(
15358
+ decodeTo(
15359
+ RetryAfter,
15360
+ retryAfterFromString
15361
+ )
15362
+ )
15363
+
15180
15364
  /**
15181
15365
  * Type-level representation of {@link UrlParams}.
15182
15366
  *
@@ -15221,9 +15405,9 @@ export const UrlParams: UrlParams = declare(
15221
15405
  toCodec: () =>
15222
15406
  link<UrlParams_.UrlParams>()(
15223
15407
  ArraySchema(Tuple([String, String])),
15224
- SchemaTransformation.transform({
15408
+ SchemaTransformation.transform<UrlParams_.UrlParams, ReadonlyArray<readonly [string, string]>>({
15225
15409
  decode: UrlParams_.make,
15226
- encode: (self) => self.params
15410
+ encode: (self) => self.params.map(([key, value]) => [key, UrlParams_internal.unwrap(value)])
15227
15411
  })
15228
15412
  )
15229
15413
  }
@@ -15730,6 +15914,198 @@ export function Result<A extends Constraint, E extends Constraint>(
15730
15914
  return make(schema.ast, { success, failure })
15731
15915
  }
15732
15916
 
15917
+ // -----------------------------------------------------------------------------
15918
+ // SemVer schemas
15919
+ // -----------------------------------------------------------------------------
15920
+
15921
+ const semVerStringTransformation = <A>(
15922
+ parse: (input: string) => Result_.Result<A, SemVer_.SemVerError>,
15923
+ format: (value: A) => string
15924
+ ): SchemaTransformation.Transformation<A, string> =>
15925
+ SchemaTransformation.transformEffect({
15926
+ decode: (input, options) =>
15927
+ Effect.mapErrorEager(
15928
+ Effect.fromResult(parse(input)),
15929
+ (error) => new SchemaIssue.InvalidValue({ message: error.message }, input, options)
15930
+ ),
15931
+ encode: (value) => Effect.succeed(format(value))
15932
+ })
15933
+ // Alphanumeric identifiers contain at least one non-digit.
15934
+ const SemVerCoreArbitrary = Struct({
15935
+ major: Natural,
15936
+ minor: Natural,
15937
+ patch: Natural,
15938
+ prerelease: ArraySchema(Union([Natural, String.check(isPattern(/^[0-9]*[A-Za-z-][0-9A-Za-z-]*$/))]))
15939
+ })
15940
+ const semVerFromString = semVerStringTransformation(SemVer_.parse, SemVer_.format)
15941
+ const SemVerString = String.annotate({ expected: "a string that will be decoded as a SemVer" })
15942
+ /**
15943
+ * Type-level representation of {@link SemVer}.
15944
+ *
15945
+ * @stability unstable
15946
+ * @category models
15947
+ * @since 4.0.6
15948
+ */
15949
+ export interface SemVer extends declare<SemVer_.SemVer> {
15950
+ readonly "Rebuild": SemVer
15951
+ }
15952
+ /**
15953
+ * Schema for `SemVer` values.
15954
+ *
15955
+ * **Details**
15956
+ *
15957
+ * The JSON and StringTree codecs encode a version as its canonical string,
15958
+ * including build metadata.
15959
+ *
15960
+ * @see {@link SemVerFromString} for parsing version strings
15961
+ * @stability unstable
15962
+ * @category schemas
15963
+ * @since 4.0.6
15964
+ */
15965
+ export const SemVer: SemVer = declare(
15966
+ SemVer_.isSemVer,
15967
+ {
15968
+ representation: {
15969
+ id: "effect/schema/SemVer",
15970
+ payload: null
15971
+ },
15972
+ toCode: () => ({
15973
+ runtime: `Schema.SemVer`,
15974
+ Type: `SemVer.SemVer`,
15975
+ importDeclarations: [`import * as SemVer from "effect/SemVer"`]
15976
+ }),
15977
+ expected: "SemVer",
15978
+ toCodecArbitrary: () =>
15979
+ linkDecoding<SemVer_.SemVer>()(
15980
+ Struct({
15981
+ ...SemVerCoreArbitrary.fields,
15982
+ build: ArraySchema(String.check(isPattern(/^[0-9A-Za-z-]+$/)))
15983
+ }),
15984
+ SchemaGetter.transform(SemVer_.make)
15985
+ ),
15986
+ toCodecJson: () =>
15987
+ link<SemVer_.SemVer>()(
15988
+ SemVerString,
15989
+ semVerFromString
15990
+ ),
15991
+ toFormatter: () => SemVer_.format
15992
+ }
15993
+ )
15994
+ /**
15995
+ * Type-level representation of {@link SemVerFromString}.
15996
+ *
15997
+ * @stability unstable
15998
+ * @category models
15999
+ * @since 4.0.6
16000
+ */
16001
+ export interface SemVerFromString extends decodeTo<SemVer, String> {
16002
+ readonly "Rebuild": SemVerFromString
16003
+ }
16004
+ /**
16005
+ * Schema that parses a Semantic Versioning 2.0.0 string into a `SemVer`.
16006
+ *
16007
+ * **Details**
16008
+ *
16009
+ * Decodes with `SemVer.parse`, rejecting a `v` prefix, surrounding whitespace,
16010
+ * partial versions, and leading zeros. Encodes with `SemVer.format`, including
16011
+ * build metadata.
16012
+ *
16013
+ * @see {@link SemVer} for validating values that are already SemVer values
16014
+ * @stability unstable
16015
+ * @category schemas
16016
+ * @since 4.0.6
16017
+ */
16018
+ export const SemVerFromString: SemVerFromString = SemVerString.pipe(
16019
+ decodeTo(SemVer, semVerFromString)
16020
+ )
16021
+ const semVerRangeFromString = semVerStringTransformation(SemVerRange_.parse, SemVerRange_.format)
16022
+ const SemVerRangeString = String.annotate({ expected: "a string that will be decoded as a SemVer range" })
16023
+ /**
16024
+ * Type-level representation of {@link SemVerRange}.
16025
+ *
16026
+ * @stability unstable
16027
+ * @category models
16028
+ * @since 4.0.6
16029
+ */
16030
+ export interface SemVerRange extends declare<SemVerRange_.SemVerRange> {
16031
+ readonly "Rebuild": SemVerRange
16032
+ }
16033
+ /**
16034
+ * Schema for `SemVerRange` values.
16035
+ *
16036
+ * **Details**
16037
+ *
16038
+ * The JSON and StringTree codecs encode a range with `SemVerRange.format`.
16039
+ *
16040
+ * @see {@link SemVerRangeFromString} for parsing range strings
16041
+ * @stability unstable
16042
+ * @category schemas
16043
+ * @since 4.0.6
16044
+ */
16045
+ export const SemVerRange: SemVerRange = declare(
16046
+ SemVerRange_.isSemVerRange,
16047
+ {
16048
+ representation: {
16049
+ id: "effect/schema/SemVerRange",
16050
+ payload: null
16051
+ },
16052
+ toCode: () => ({
16053
+ runtime: `Schema.SemVerRange`,
16054
+ Type: `SemVerRange.SemVerRange`,
16055
+ importDeclarations: [`import * as SemVerRange from "effect/SemVerRange"`]
16056
+ }),
16057
+ expected: "SemVerRange",
16058
+ toCodecArbitrary: () =>
16059
+ linkDecoding<SemVerRange_.SemVerRange>()(
16060
+ ArraySchema(
16061
+ ArraySchema(Struct({
16062
+ operator: Literals(["", "=", "<", "<=", ">", ">=", "~", "^"]),
16063
+ version: SemVerCoreArbitrary
16064
+ })).check(isMinLength(1))
16065
+ ),
16066
+ SchemaGetter.transform((sets) =>
16067
+ SemVerRange_.parseUnsafe(
16068
+ sets.map((set) =>
16069
+ set.map(({ operator, version }) => `${operator}${SemVer_.format(SemVer_.make(version))}`).join(" ")
16070
+ ).join(" || ")
16071
+ )
16072
+ )
16073
+ ),
16074
+ toCodecJson: () =>
16075
+ link<SemVerRange_.SemVerRange>()(
16076
+ SemVerRangeString,
16077
+ semVerRangeFromString
16078
+ ),
16079
+ toFormatter: () => SemVerRange_.format
16080
+ }
16081
+ )
16082
+ /**
16083
+ * Type-level representation of {@link SemVerRangeFromString}.
16084
+ *
16085
+ * @stability unstable
16086
+ * @category models
16087
+ * @since 4.0.6
16088
+ */
16089
+ export interface SemVerRangeFromString extends decodeTo<SemVerRange, String> {
16090
+ readonly "Rebuild": SemVerRangeFromString
16091
+ }
16092
+ /**
16093
+ * Schema that parses an npm-style version range string into a `SemVerRange`.
16094
+ *
16095
+ * **Details**
16096
+ *
16097
+ * Decodes with `SemVerRange.parse` and encodes with `SemVerRange.format`,
16098
+ * preserving parsed operators and normalizing wildcard spellings.
16099
+ *
16100
+ * @see {@link SemVerRange} for validating values that are already ranges
16101
+ * @stability unstable
16102
+ * @category schemas
16103
+ * @since 4.0.6
16104
+ */
16105
+ export const SemVerRangeFromString: SemVerRangeFromString = SemVerRangeString.pipe(
16106
+ decodeTo(SemVerRange, semVerRangeFromString)
16107
+ )
16108
+
15733
16109
  /**
15734
16110
  * Type-level representation returned by {@link Class}.
15735
16111
  *
@@ -15945,16 +16321,19 @@ function makeClass<
15945
16321
  return out
15946
16322
  }
15947
16323
 
16324
+ /**
16325
+ * Constructs a class instance from fields that were already validated against
16326
+ * the class struct, without running the constructor's schema pass.
16327
+ *
16328
+ * @internal
16329
+ */
16330
+ export function makeClassTrusted<Self>(self: new(input: any, options?: MakeOptions) => Self, fields: object): Self {
16331
+ return new self(fields, { "~payload": { token: payloadToken, value: fields } })
16332
+ }
16333
+
15948
16334
  function getClassTransformation(self: new(...args: ReadonlyArray<any>) => any) {
15949
16335
  return new SchemaTransformation.Transformation<any, any, never, never>(
15950
- SchemaGetter.transform((input) =>
15951
- new self(input, {
15952
- "~payload": {
15953
- token: payloadToken,
15954
- value: input
15955
- }
15956
- })
15957
- ),
16336
+ SchemaGetter.transform((input) => makeClassTrusted(self, input)),
15958
16337
  SchemaGetter.passthrough()
15959
16338
  )
15960
16339
  }
@@ -16038,7 +16417,9 @@ function isStruct(schema: Struct.Fields | Struct<Struct.Fields>): schema is Stru
16038
16417
  *
16039
16418
  * **Gotchas**
16040
16419
  *
16041
- * Passing `disableChecks` in the options skips constructor validation.
16420
+ * Passing `disableChecks: true` skips filters and checks, not parsing of types
16421
+ * and structure. Wrong types and shapes are still rejected, and constructor
16422
+ * defaults still apply.
16042
16423
  *
16043
16424
  * **Example** (Defining a basic class)
16044
16425
  *
@@ -16109,7 +16490,9 @@ export const Class: {
16109
16490
  *
16110
16491
  * **Gotchas**
16111
16492
  *
16112
- * Passing `disableChecks` in the options skips constructor validation.
16493
+ * Passing `disableChecks: true` skips filters and checks, not parsing of types
16494
+ * and structure. Wrong types and shapes are still rejected, and constructor
16495
+ * defaults still apply.
16113
16496
  *
16114
16497
  * **Example** (Defining a basic class)
16115
16498
  *
@@ -16153,151 +16536,14 @@ export const Class: {
16153
16536
  * @since 3.10.0
16154
16537
  */
16155
16538
  <Self = never, Brand = {}>(identifier: string): {
16156
- /**
16157
- * Creates a schema-backed class whose constructor validates input against a
16158
- * {@link Struct} schema. Construction throws an `Error` with a
16159
- * `SchemaIssue.Issue` in its `cause` on invalid input.
16160
- *
16161
- * **When to use**
16162
- *
16163
- * Use when you need a schema-backed data class with validated construction,
16164
- * schema-derived decoding/encoding, and class-style methods or inheritance.
16165
- *
16166
- * **Details**
16167
- *
16168
- * Pass the desired class type as the first type parameter. The second optional
16169
- * type parameter can be used to add nominal brands.
16170
- *
16171
- * The `identifier` is the schema's stable runtime name. It is exposed on the
16172
- * class, stored in the schema AST, and used to label diagnostics and generated
16173
- * references as well as to format class instances.
16174
- *
16175
- * It also derives a runtime marker that recognizes instances across hot module
16176
- * reloads, where `instanceof` can fail because the constructor has been
16177
- * replaced. The identifier is explicit because the outer JavaScript class name
16178
- * is not available while the `extends` expression is evaluated and may change
16179
- * through renaming or minification.
16180
- *
16181
- * **Gotchas**
16182
- *
16183
- * Passing `disableChecks` in the options skips constructor validation.
16184
- *
16185
- * **Example** (Defining a basic class)
16186
- *
16187
- * ```ts import.meta.vitest
16188
- * import { Schema } from "effect"
16189
- *
16190
- * class Person extends Schema.Class<Person>("Person")({
16191
- * name: Schema.String,
16192
- * age: Schema.Number
16193
- * }) {}
16194
- *
16195
- * const alice = new Person({ name: "Alice", age: 30 })
16196
- * alice.name // => "Alice"
16197
- * String(alice) // => "Person({\"name\":\"Alice\",\"age\":30})"
16198
- * ```
16199
- *
16200
- * **Example** (Extending a class)
16201
- *
16202
- * ```ts import.meta.vitest
16203
- * import { Schema } from "effect"
16204
- *
16205
- * class Animal extends Schema.Class<Animal>("Animal")({
16206
- * name: Schema.String
16207
- * }) {}
16208
- *
16209
- * class Dog extends Animal.extend<Dog>("Dog")({
16210
- * breed: Schema.String
16211
- * }) {}
16212
- *
16213
- * const dog = new Dog({ name: "Rex", breed: "Labrador" })
16214
- * dog.name // => "Rex"
16215
- * dog.breed // => "Labrador"
16216
- * ```
16217
- *
16218
- * @see {@link TaggedClass} for adding a `_tag` literal field to the class schema
16219
- * @see {@link Error} for defining schema-backed error classes
16220
- * @see {@link TaggedError} for defining tagged schema-backed error classes
16221
- *
16222
- * @stability stable
16223
- * @category constructors
16224
- * @since 3.10.0
16225
- */
16226
16539
  <const Fields extends Struct.Fields>(
16227
16540
  fields: Fields,
16228
16541
  annotations?: Annotations.Declaration<Self, readonly [Struct<Fields>]>
16229
16542
  ): [Self] extends [never] ? MissingSelfGeneric<"Schema.Class"> : Class<Self, Struct<Fields>, Brand>
16230
- /**
16231
- * Creates a schema-backed class whose constructor validates input against a
16232
- * {@link Struct} schema. Construction throws an `Error` with a
16233
- * `SchemaIssue.Issue` in its `cause` on invalid input.
16234
- *
16235
- * **When to use**
16236
- *
16237
- * Use when you need a schema-backed data class with validated construction,
16238
- * schema-derived decoding/encoding, and class-style methods or inheritance.
16239
- *
16240
- * **Details**
16241
- *
16242
- * Pass the desired class type as the first type parameter. The second optional
16243
- * type parameter can be used to add nominal brands.
16244
- *
16245
- * The `identifier` is the schema's stable runtime name. It is exposed on the
16246
- * class, stored in the schema AST, and used to label diagnostics and generated
16247
- * references as well as to format class instances.
16248
- *
16249
- * It also derives a runtime marker that recognizes instances across hot module
16250
- * reloads, where `instanceof` can fail because the constructor has been
16251
- * replaced. The identifier is explicit because the outer JavaScript class name
16252
- * is not available while the `extends` expression is evaluated and may change
16253
- * through renaming or minification.
16254
- *
16255
- * **Gotchas**
16256
- *
16257
- * Passing `disableChecks` in the options skips constructor validation.
16258
- *
16259
- * **Example** (Defining a basic class)
16260
- *
16261
- * ```ts import.meta.vitest
16262
- * import { Schema } from "effect"
16263
- *
16264
- * class Person extends Schema.Class<Person>("Person")({
16265
- * name: Schema.String,
16266
- * age: Schema.Number
16267
- * }) {}
16268
- *
16269
- * const alice = new Person({ name: "Alice", age: 30 })
16270
- * alice.name // => "Alice"
16271
- * String(alice) // => "Person({\"name\":\"Alice\",\"age\":30})"
16272
- * ```
16273
- *
16274
- * **Example** (Extending a class)
16275
- *
16276
- * ```ts import.meta.vitest
16277
- * import { Schema } from "effect"
16278
- *
16279
- * class Animal extends Schema.Class<Animal>("Animal")({
16280
- * name: Schema.String
16281
- * }) {}
16282
- *
16283
- * class Dog extends Animal.extend<Dog>("Dog")({
16284
- * breed: Schema.String
16285
- * }) {}
16286
- *
16287
- * const dog = new Dog({ name: "Rex", breed: "Labrador" })
16288
- * dog.name // => "Rex"
16289
- * dog.breed // => "Labrador"
16290
- * ```
16291
- *
16292
- * @see {@link TaggedClass} for adding a `_tag` literal field to the class schema
16293
- * @see {@link Error} for defining schema-backed error classes
16294
- * @see {@link TaggedError} for defining tagged schema-backed error classes
16295
- *
16296
- * @stability stable
16297
- * @category constructors
16298
- * @since 3.10.0
16299
- */
16300
- <S extends Struct<Struct.Fields>>(schema: S, annotations?: Annotations.Declaration<Self, readonly [S]>): [Self] extends [never] ? MissingSelfGeneric<"Schema.Class"> : Class<Self, S, Brand>
16543
+ <S extends Struct<Struct.Fields>>(
16544
+ schema: S,
16545
+ annotations?: Annotations.Declaration<Self, readonly [S]>
16546
+ ): [Self] extends [never] ? MissingSelfGeneric<"Schema.Class"> : Class<Self, S, Brand>
16301
16547
  }
16302
16548
  } = <Self, Brand = {}>(identifier: string) =>
16303
16549
  (
@@ -16381,73 +16627,11 @@ export const TaggedClass: {
16381
16627
  * @since 3.10.0
16382
16628
  */
16383
16629
  <Self = never, Brand = {}>(identifier?: string): {
16384
- /**
16385
- * Defines a schema-backed class with an automatically populated `_tag` field.
16386
- *
16387
- * **When to use**
16388
- *
16389
- * Use to define class instances that are validated by a schema and participate
16390
- * in tagged union matching.
16391
- *
16392
- * **Details**
16393
- *
16394
- * The optional `identifier` parameter overrides the schema identifier;
16395
- * it defaults to the `tag` value.
16396
- *
16397
- * **Example** (Defining a tagged class)
16398
- *
16399
- * ```ts import.meta.vitest
16400
- * import { Schema } from "effect"
16401
- *
16402
- * class Circle extends Schema.TaggedClass<Circle>()("Circle", {
16403
- * radius: Schema.Number
16404
- * }) {}
16405
- *
16406
- * const c = new Circle({ radius: 5 })
16407
- * c._tag // => "Circle"
16408
- * c.radius // => 5
16409
- * ```
16410
- *
16411
- * @stability stable
16412
- * @category constructors
16413
- * @since 3.10.0
16414
- */
16415
16630
  <Tag extends string, const Fields extends Struct.Fields>(
16416
16631
  tag: Tag,
16417
16632
  fields: Fields,
16418
16633
  annotations?: Annotations.Declaration<Self, readonly [TaggedStruct<Tag, Fields>]>
16419
16634
  ): [Self] extends [never] ? MissingSelfGeneric<"Schema.TaggedClass"> : Class<Self, TaggedStruct<Tag, Fields>, Brand>
16420
- /**
16421
- * Defines a schema-backed class with an automatically populated `_tag` field.
16422
- *
16423
- * **When to use**
16424
- *
16425
- * Use to define class instances that are validated by a schema and participate
16426
- * in tagged union matching.
16427
- *
16428
- * **Details**
16429
- *
16430
- * The optional `identifier` parameter overrides the schema identifier;
16431
- * it defaults to the `tag` value.
16432
- *
16433
- * **Example** (Defining a tagged class)
16434
- *
16435
- * ```ts import.meta.vitest
16436
- * import { Schema } from "effect"
16437
- *
16438
- * class Circle extends Schema.TaggedClass<Circle>()("Circle", {
16439
- * radius: Schema.Number
16440
- * }) {}
16441
- *
16442
- * const c = new Circle({ radius: 5 })
16443
- * c._tag // => "Circle"
16444
- * c.radius // => 5
16445
- * ```
16446
- *
16447
- * @stability stable
16448
- * @category constructors
16449
- * @since 3.10.0
16450
- */
16451
16635
  <Tag extends string, S extends Struct<Struct.Fields>>(
16452
16636
  tag: Tag,
16453
16637
  schema: S,
@@ -16529,64 +16713,15 @@ export const Error: {
16529
16713
  * @since 4.0.0
16530
16714
  */
16531
16715
  <Self = never, Brand = {}>(identifier: string): {
16532
- /**
16533
- * Creates a schema-backed error class that can be used as a typed,
16534
- * yieldable error in Effect programs. Combines {@link Class} validation with
16535
- * the `YieldableError` interface so instances can be yielded directly inside
16536
- * `Effect.gen`.
16537
- *
16538
- * **Example** (Schema-backed error)
16539
- *
16540
- * ```ts import.meta.vitest
16541
- * import { Effect, Schema } from "effect"
16542
- *
16543
- * class NotFound extends Schema.Error<NotFound>("NotFound")({
16544
- * id: Schema.Number
16545
- * }) {}
16546
- *
16547
- * const program = Effect.gen(function*() {
16548
- * yield* new NotFound({ id: 1 })
16549
- * })
16550
- * const error = await Effect.runPromise(Effect.flip(program))
16551
- * error.id // => 1
16552
- * ```
16553
- *
16554
- * @stability stable
16555
- * @category constructors
16556
- * @since 4.0.0
16557
- */
16558
16716
  <const Fields extends Struct.Fields>(
16559
16717
  fields: Fields,
16560
16718
  annotations?: Annotations.Declaration<Self, readonly [Struct<Fields>]>
16561
16719
  ): [Self] extends [never] ? MissingSelfGeneric<"Schema.Error">
16562
16720
  : Class<Self, Struct<Fields>, Cause_.YieldableError & Brand>
16563
- /**
16564
- * Creates a schema-backed error class that can be used as a typed,
16565
- * yieldable error in Effect programs. Combines {@link Class} validation with
16566
- * the `YieldableError` interface so instances can be yielded directly inside
16567
- * `Effect.gen`.
16568
- *
16569
- * **Example** (Schema-backed error)
16570
- *
16571
- * ```ts import.meta.vitest
16572
- * import { Effect, Schema } from "effect"
16573
- *
16574
- * class NotFound extends Schema.Error<NotFound>("NotFound")({
16575
- * id: Schema.Number
16576
- * }) {}
16577
- *
16578
- * const program = Effect.gen(function*() {
16579
- * yield* new NotFound({ id: 1 })
16580
- * })
16581
- * const error = await Effect.runPromise(Effect.flip(program))
16582
- * error.id // => 1
16583
- * ```
16584
- *
16585
- * @stability stable
16586
- * @category constructors
16587
- * @since 4.0.0
16588
- */
16589
- <S extends Struct<Struct.Fields>>(schema: S, annotations?: Annotations.Declaration<Self, readonly [S]>): [Self] extends [never] ? MissingSelfGeneric<"Schema.Error"> : Class<Self, S, Cause_.YieldableError & Brand>
16721
+ <S extends Struct<Struct.Fields>>(
16722
+ schema: S,
16723
+ annotations?: Annotations.Declaration<Self, readonly [S]>
16724
+ ): [Self] extends [never] ? MissingSelfGeneric<"Schema.Error"> : Class<Self, S, Cause_.YieldableError & Brand>
16590
16725
  }
16591
16726
  } = <Self, Brand = {}>(identifier: string) =>
16592
16727
  (
@@ -16669,72 +16804,12 @@ export const TaggedError: {
16669
16804
  * @since 3.10.0
16670
16805
  */
16671
16806
  <Self = never, Brand = {}>(identifier?: string): {
16672
- /**
16673
- * Defines a schema-backed yieldable error class with an automatically populated
16674
- * `_tag` field.
16675
- *
16676
- * **When to use**
16677
- *
16678
- * Use to define typed errors that are schema validated, yielded in `Effect.gen`,
16679
- * and matched as tagged union members.
16680
- *
16681
- * **Example** (Defining a tagged error class)
16682
- *
16683
- * ```ts import.meta.vitest
16684
- * import { Effect, Schema } from "effect"
16685
- *
16686
- * class NotFound extends Schema.TaggedError<NotFound>()("NotFound", {
16687
- * id: Schema.Number
16688
- * }) {}
16689
- *
16690
- * const program = Effect.gen(function*() {
16691
- * yield* new NotFound({ id: 42 })
16692
- * })
16693
- * const error = await Effect.runPromise(Effect.flip(program))
16694
- * error._tag // => "NotFound"
16695
- * error.id // => 42
16696
- * ```
16697
- *
16698
- * @stability stable
16699
- * @category constructors
16700
- * @since 3.10.0
16701
- */
16702
16807
  <Tag extends string, const Fields extends Struct.Fields>(
16703
16808
  tag: Tag,
16704
16809
  fields: Fields,
16705
16810
  annotations?: Annotations.Declaration<Self, readonly [TaggedStruct<Tag, Fields>]>
16706
16811
  ): [Self] extends [never] ? MissingSelfGeneric<"Schema.TaggedError">
16707
16812
  : Class<Self, TaggedStruct<Tag, Fields>, Cause_.YieldableError & Brand>
16708
- /**
16709
- * Defines a schema-backed yieldable error class with an automatically populated
16710
- * `_tag` field.
16711
- *
16712
- * **When to use**
16713
- *
16714
- * Use to define typed errors that are schema validated, yielded in `Effect.gen`,
16715
- * and matched as tagged union members.
16716
- *
16717
- * **Example** (Defining a tagged error class)
16718
- *
16719
- * ```ts import.meta.vitest
16720
- * import { Effect, Schema } from "effect"
16721
- *
16722
- * class NotFound extends Schema.TaggedError<NotFound>()("NotFound", {
16723
- * id: Schema.Number
16724
- * }) {}
16725
- *
16726
- * const program = Effect.gen(function*() {
16727
- * yield* new NotFound({ id: 42 })
16728
- * })
16729
- * const error = await Effect.runPromise(Effect.flip(program))
16730
- * error._tag // => "NotFound"
16731
- * error.id // => 42
16732
- * ```
16733
- *
16734
- * @stability stable
16735
- * @category constructors
16736
- * @since 3.10.0
16737
- */
16738
16813
  <Tag extends string, S extends Struct<Struct.Fields>>(
16739
16814
  tag: Tag,
16740
16815
  schema: S,
@@ -17304,6 +17379,179 @@ export const toCodecArrayFromSingle: {
17304
17379
  */
17305
17380
  <S extends Constraint>(schema: S): toCodecArrayFromSingle<S>
17306
17381
  } = InternalToCodec.toCodecArrayFromSingle
17382
+ /**
17383
+ * Type-level representation returned by {@link toCodecGoJson}.
17384
+ *
17385
+ * @stability unstable
17386
+ * @category converting
17387
+ * @since 4.0.6
17388
+ */
17389
+ export interface toCodecGoJson<S extends Constraint> extends
17390
+ BottomLazy<
17391
+ S["ast"],
17392
+ toCodecGoJson<S>,
17393
+ S["~type.parameters"],
17394
+ S["~type.mutability"],
17395
+ S["~type.optionality"],
17396
+ S["~type.constructor.default"],
17397
+ S["~encoded.mutability"],
17398
+ S["~encoded.optionality"]
17399
+ >
17400
+ {
17401
+ readonly "Type": S["Type"]
17402
+ readonly "Encoded": Json
17403
+ readonly "DecodingServices": S["DecodingServices"]
17404
+ readonly "EncodingServices": S["EncodingServices"]
17405
+ readonly "~type.make.in": S["~type.make.in"]
17406
+ readonly "~type.make": S["~type.make"]
17407
+ readonly "Iso": S["Iso"]
17408
+ readonly schema: S
17409
+ }
17410
+ /**
17411
+ * Derives a JSON codec, like {@link toCodecJson}, that also accepts the
17412
+ * `null` values Go's `encoding/json` writes for nil pointers, slices, and maps.
17413
+ *
17414
+ * **When to use**
17415
+ *
17416
+ * Use when decoding JSON produced by a Go service (for example the Docker
17417
+ * Engine or Kubernetes APIs), where any field the API document describes as
17418
+ * optional, or any slice or map, may arrive as `null`.
17419
+ *
17420
+ * **Details**
17421
+ *
17422
+ * Decoding applies these rules at every level of the schema:
17423
+ *
17424
+ * - An optional key that is `null` decodes as a missing key.
17425
+ * - A required array (`Schema.Array`) that is `null` decodes as `[]`.
17426
+ * - A required record (`Schema.Record`) that is `null` decodes as `{}`.
17427
+ *
17428
+ * Array and record rules also apply at the top level and to nested collection
17429
+ * values. Tuples, non-empty arrays, and structs are not treated as collections;
17430
+ * collection checks still apply to the empty value.
17431
+ *
17432
+ * Encoding is unchanged from {@link toCodecJson}: the added rules only decode
17433
+ * `null` and do not emit it. A missing key stays missing.
17434
+ *
17435
+ * These rules also accept `encoding/json/v2` output. By default, v2 writes
17436
+ * nil slices and maps as `[]` and `{}`, but it can be configured to emit
17437
+ * `null` instead.
17438
+ *
17439
+ * **Gotchas**
17440
+ *
17441
+ * - Normalization deliberately discards the distinction between nil and empty
17442
+ * Go slices or maps. They are distinguishable in Go, and unmarshalling a
17443
+ * missing key, `null`, or an empty collection can affect existing values
17444
+ * differently. Use {@link toCodecJson} with explicit nullable schemas when
17445
+ * that distinction matters.
17446
+ * - A key whose schema already accepts `null` (for example
17447
+ * `Schema.NullOr(X)`, `Schema.Unknown`, or `Schema.Json`) keeps `null` as a
17448
+ * value.
17449
+ * - A required field that is not an array or a record (a nil pointer to a Go
17450
+ * struct, for example) still fails on `null`. Make it optional if the API
17451
+ * can omit it.
17452
+ * - A nil `[]byte` is written as `null` by `encoding/json` (and as `""` by
17453
+ * version 2), but its schema is a base64 string, not an array. A required
17454
+ * `[]byte` field that is `null` fails; make it optional if the API can send
17455
+ * `null`.
17456
+ * - Only these `null` rules are covered. Field formats such as durations,
17457
+ * base64 bytes, and numbers encoded as strings belong in the field schemas.
17458
+ *
17459
+ * **Example** (Decoding a Go response with nil fields)
17460
+ *
17461
+ * ```ts import.meta.vitest
17462
+ * import { Schema } from "effect"
17463
+ *
17464
+ * const Container = Schema.Struct({
17465
+ * Id: Schema.String,
17466
+ * Names: Schema.Array(Schema.String),
17467
+ * Labels: Schema.Record(Schema.String, Schema.String),
17468
+ * Status: Schema.optionalKey(Schema.String)
17469
+ * })
17470
+ *
17471
+ * const decode = Schema.decodeUnknownSync(Schema.toCodecGoJson(Container))
17472
+ *
17473
+ * decode({ Id: "a", Names: null, Labels: null, Status: null }) // => { Id: "a", Names: [], Labels: {} }
17474
+ * ```
17475
+ *
17476
+ * @see {@link toCodecJson} for the canonical JSON codec
17477
+ * @stability unstable
17478
+ * @category converting
17479
+ * @since 4.0.6
17480
+ */
17481
+ export const toCodecGoJson: {
17482
+ /**
17483
+ * Derives a JSON codec, like {@link toCodecJson}, that also accepts the
17484
+ * `null` values Go's `encoding/json` writes for nil pointers, slices, and maps.
17485
+ *
17486
+ * **When to use**
17487
+ *
17488
+ * Use when decoding JSON produced by a Go service (for example the Docker
17489
+ * Engine or Kubernetes APIs), where any field the API document describes as
17490
+ * optional, or any slice or map, may arrive as `null`.
17491
+ *
17492
+ * **Details**
17493
+ *
17494
+ * Decoding applies these rules at every level of the schema:
17495
+ *
17496
+ * - An optional key that is `null` decodes as a missing key.
17497
+ * - A required array (`Schema.Array`) that is `null` decodes as `[]`.
17498
+ * - A required record (`Schema.Record`) that is `null` decodes as `{}`.
17499
+ *
17500
+ * Array and record rules also apply at the top level and to nested collection
17501
+ * values. Tuples, non-empty arrays, and structs are not treated as collections;
17502
+ * collection checks still apply to the empty value.
17503
+ *
17504
+ * Encoding is unchanged from {@link toCodecJson}: the added rules only decode
17505
+ * `null` and do not emit it. A missing key stays missing.
17506
+ *
17507
+ * These rules also accept `encoding/json/v2` output. By default, v2 writes
17508
+ * nil slices and maps as `[]` and `{}`, but it can be configured to emit
17509
+ * `null` instead.
17510
+ *
17511
+ * **Gotchas**
17512
+ *
17513
+ * - Normalization deliberately discards the distinction between nil and empty
17514
+ * Go slices or maps. They are distinguishable in Go, and unmarshalling a
17515
+ * missing key, `null`, or an empty collection can affect existing values
17516
+ * differently. Use {@link toCodecJson} with explicit nullable schemas when
17517
+ * that distinction matters.
17518
+ * - A key whose schema already accepts `null` (for example
17519
+ * `Schema.NullOr(X)`, `Schema.Unknown`, or `Schema.Json`) keeps `null` as a
17520
+ * value.
17521
+ * - A required field that is not an array or a record (a nil pointer to a Go
17522
+ * struct, for example) still fails on `null`. Make it optional if the API
17523
+ * can omit it.
17524
+ * - A nil `[]byte` is written as `null` by `encoding/json` (and as `""` by
17525
+ * version 2), but its schema is a base64 string, not an array. A required
17526
+ * `[]byte` field that is `null` fails; make it optional if the API can send
17527
+ * `null`.
17528
+ * - Only these `null` rules are covered. Field formats such as durations,
17529
+ * base64 bytes, and numbers encoded as strings belong in the field schemas.
17530
+ *
17531
+ * **Example** (Decoding a Go response with nil fields)
17532
+ *
17533
+ * ```ts import.meta.vitest
17534
+ * import { Schema } from "effect"
17535
+ *
17536
+ * const Container = Schema.Struct({
17537
+ * Id: Schema.String,
17538
+ * Names: Schema.Array(Schema.String),
17539
+ * Labels: Schema.Record(Schema.String, Schema.String),
17540
+ * Status: Schema.optionalKey(Schema.String)
17541
+ * })
17542
+ *
17543
+ * const decode = Schema.decodeUnknownSync(Schema.toCodecGoJson(Container))
17544
+ *
17545
+ * decode({ Id: "a", Names: null, Labels: null, Status: null }) // => { Id: "a", Names: [], Labels: {} }
17546
+ * ```
17547
+ *
17548
+ * @see {@link toCodecJson} for the canonical JSON codec
17549
+ * @stability unstable
17550
+ * @category converting
17551
+ * @since 4.0.6
17552
+ */
17553
+ <S extends Constraint>(schema: S): toCodecGoJson<S>
17554
+ } = InternalToCodec.toCodecGoJson
17307
17555
  type XmlEncoderOptions = {
17308
17556
  /** Root element name for the returned XML string. Default: "root" */
17309
17557
  readonly rootName?: string | undefined
@@ -17921,7 +18169,7 @@ export declare namespace Annotations {
17921
18169
  readonly "~sentinels"?: ReadonlyArray<SchemaAST.Sentinel> | undefined
17922
18170
  }
17923
18171
  /**
17924
- * Annotations for filter schema nodes (created via `Schema.filter`). Extends
18172
+ * Annotations for filter checks (created via `Schema.makeFilter`). Extends
17925
18173
  * {@link Augment} with an optional error message, identifier, and metadata.
17926
18174
  * Filters are intentionally non-parametric to keep them covariant.
17927
18175
  *