effect 4.0.5 → 4.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (985) hide show
  1. package/ai-docs/package.json +1 -1
  2. package/ai-docs/src/06_schedule/10_schedules.ts +5 -4
  3. package/ai-docs/tsconfig.json +3 -1
  4. package/dist/Array.d.ts +117 -52
  5. package/dist/Array.d.ts.map +1 -1
  6. package/dist/Array.js +41 -20
  7. package/dist/Array.js.map +1 -1
  8. package/dist/Bytes.d.ts +79 -0
  9. package/dist/Bytes.d.ts.map +1 -0
  10. package/dist/Bytes.js +109 -0
  11. package/dist/Bytes.js.map +1 -0
  12. package/dist/Channel.d.ts +181 -13
  13. package/dist/Channel.d.ts.map +1 -1
  14. package/dist/Channel.js +125 -30
  15. package/dist/Channel.js.map +1 -1
  16. package/dist/ChannelSchema.d.ts.map +1 -1
  17. package/dist/ChannelSchema.js.map +1 -1
  18. package/dist/Chunk.d.ts +39 -21
  19. package/dist/Chunk.d.ts.map +1 -1
  20. package/dist/Chunk.js +26 -17
  21. package/dist/Chunk.js.map +1 -1
  22. package/dist/Config.d.ts.map +1 -1
  23. package/dist/Config.js +8 -3
  24. package/dist/Config.js.map +1 -1
  25. package/dist/ConfigProvider.d.ts.map +1 -1
  26. package/dist/ConfigProvider.js +2 -1
  27. package/dist/ConfigProvider.js.map +1 -1
  28. package/dist/Cron.d.ts +2 -2
  29. package/dist/Cron.d.ts.map +1 -1
  30. package/dist/Cron.js +6 -3
  31. package/dist/Cron.js.map +1 -1
  32. package/dist/Duration.d.ts.map +1 -1
  33. package/dist/Duration.js +56 -16
  34. package/dist/Duration.js.map +1 -1
  35. package/dist/Effect.d.ts +487 -163
  36. package/dist/Effect.d.ts.map +1 -1
  37. package/dist/Effect.js +203 -37
  38. package/dist/Effect.js.map +1 -1
  39. package/dist/Equivalence.d.ts +2 -1
  40. package/dist/Equivalence.d.ts.map +1 -1
  41. package/dist/Equivalence.js +12 -8
  42. package/dist/Equivalence.js.map +1 -1
  43. package/dist/Exit.d.ts +24 -9
  44. package/dist/Exit.d.ts.map +1 -1
  45. package/dist/Exit.js +8 -3
  46. package/dist/Exit.js.map +1 -1
  47. package/dist/FiberHandle.d.ts +2 -0
  48. package/dist/FiberHandle.d.ts.map +1 -1
  49. package/dist/FiberHandle.js +9 -4
  50. package/dist/FiberHandle.js.map +1 -1
  51. package/dist/FiberMap.d.ts +2 -0
  52. package/dist/FiberMap.d.ts.map +1 -1
  53. package/dist/FiberMap.js +5 -2
  54. package/dist/FiberMap.js.map +1 -1
  55. package/dist/FileSystem.d.ts +5 -0
  56. package/dist/FileSystem.d.ts.map +1 -1
  57. package/dist/FileSystem.js +3 -0
  58. package/dist/FileSystem.js.map +1 -1
  59. package/dist/Graph.d.ts.map +1 -1
  60. package/dist/Graph.js.map +1 -1
  61. package/dist/HashSet.d.ts.map +1 -1
  62. package/dist/HashSet.js.map +1 -1
  63. package/dist/Iterable.d.ts.map +1 -1
  64. package/dist/Iterable.js +18 -17
  65. package/dist/Iterable.js.map +1 -1
  66. package/dist/JsonSchema.d.ts +9 -3
  67. package/dist/JsonSchema.d.ts.map +1 -1
  68. package/dist/JsonSchema.js +19 -3
  69. package/dist/JsonSchema.js.map +1 -1
  70. package/dist/Layer.d.ts.map +1 -1
  71. package/dist/Layer.js +2 -2
  72. package/dist/Layer.js.map +1 -1
  73. package/dist/ManagedRuntime.d.ts +19 -1
  74. package/dist/ManagedRuntime.d.ts.map +1 -1
  75. package/dist/ManagedRuntime.js +62 -6
  76. package/dist/ManagedRuntime.js.map +1 -1
  77. package/dist/Metric.d.ts +132 -0
  78. package/dist/Metric.d.ts.map +1 -1
  79. package/dist/Metric.js +197 -25
  80. package/dist/Metric.js.map +1 -1
  81. package/dist/MutableHashMap.d.ts.map +1 -1
  82. package/dist/MutableHashMap.js.map +1 -1
  83. package/dist/Number.js +2 -2
  84. package/dist/Number.js.map +1 -1
  85. package/dist/Optic.d.ts.map +1 -1
  86. package/dist/Optic.js.map +1 -1
  87. package/dist/Path.d.ts.map +1 -1
  88. package/dist/Path.js +8 -1
  89. package/dist/Path.js.map +1 -1
  90. package/dist/PubSub.d.ts.map +1 -1
  91. package/dist/PubSub.js +12 -7
  92. package/dist/PubSub.js.map +1 -1
  93. package/dist/Queue.d.ts +4 -1
  94. package/dist/Queue.d.ts.map +1 -1
  95. package/dist/Queue.js +4 -1
  96. package/dist/Queue.js.map +1 -1
  97. package/dist/Random.d.ts.map +1 -1
  98. package/dist/Random.js +1 -1
  99. package/dist/Random.js.map +1 -1
  100. package/dist/RcMap.d.ts +12 -7
  101. package/dist/RcMap.d.ts.map +1 -1
  102. package/dist/RcMap.js +9 -6
  103. package/dist/RcMap.js.map +1 -1
  104. package/dist/Record.d.ts +51 -0
  105. package/dist/Record.d.ts.map +1 -1
  106. package/dist/Record.js +17 -0
  107. package/dist/Record.js.map +1 -1
  108. package/dist/Ref.d.ts.map +1 -1
  109. package/dist/Ref.js.map +1 -1
  110. package/dist/References.d.ts +5 -4
  111. package/dist/References.d.ts.map +1 -1
  112. package/dist/References.js +5 -4
  113. package/dist/References.js.map +1 -1
  114. package/dist/RequestResolver.d.ts +31 -1
  115. package/dist/RequestResolver.d.ts.map +1 -1
  116. package/dist/RequestResolver.js +39 -4
  117. package/dist/RequestResolver.js.map +1 -1
  118. package/dist/Resource.js +1 -1
  119. package/dist/Resource.js.map +1 -1
  120. package/dist/Runtime.d.ts +3 -3
  121. package/dist/Runtime.d.ts.map +1 -1
  122. package/dist/Runtime.js +18 -15
  123. package/dist/Runtime.js.map +1 -1
  124. package/dist/Schedule.d.ts.map +1 -1
  125. package/dist/Schedule.js.map +1 -1
  126. package/dist/Schema.d.ts +384 -332
  127. package/dist/Schema.d.ts.map +1 -1
  128. package/dist/Schema.js +333 -19
  129. package/dist/Schema.js.map +1 -1
  130. package/dist/SchemaAST.d.ts +5 -5
  131. package/dist/SchemaAST.d.ts.map +1 -1
  132. package/dist/SchemaAST.js +24 -8
  133. package/dist/SchemaAST.js.map +1 -1
  134. package/dist/SchemaGetter.d.ts +8 -3
  135. package/dist/SchemaGetter.d.ts.map +1 -1
  136. package/dist/SchemaGetter.js +15 -5
  137. package/dist/SchemaGetter.js.map +1 -1
  138. package/dist/SchemaIssue.d.ts +4 -4
  139. package/dist/SchemaIssue.d.ts.map +1 -1
  140. package/dist/SchemaIssue.js +29 -51
  141. package/dist/SchemaIssue.js.map +1 -1
  142. package/dist/SchemaRepresentation.d.ts +56 -1
  143. package/dist/SchemaRepresentation.d.ts.map +1 -1
  144. package/dist/SchemaRepresentation.js +18 -0
  145. package/dist/SchemaRepresentation.js.map +1 -1
  146. package/dist/SchemaTransformation.d.ts +1 -1
  147. package/dist/SchemaTransformation.js +1 -1
  148. package/dist/Scope.d.ts +12 -2
  149. package/dist/Scope.d.ts.map +1 -1
  150. package/dist/Scope.js +5 -0
  151. package/dist/Scope.js.map +1 -1
  152. package/dist/ScopedCache.d.ts +10 -7
  153. package/dist/ScopedCache.d.ts.map +1 -1
  154. package/dist/ScopedCache.js +9 -5
  155. package/dist/ScopedCache.js.map +1 -1
  156. package/dist/SemVer.d.ts +1196 -0
  157. package/dist/SemVer.d.ts.map +1 -0
  158. package/dist/SemVer.js +756 -0
  159. package/dist/SemVer.js.map +1 -0
  160. package/dist/SemVerRange.d.ts +559 -0
  161. package/dist/SemVerRange.d.ts.map +1 -0
  162. package/dist/SemVerRange.js +551 -0
  163. package/dist/SemVerRange.js.map +1 -0
  164. package/dist/Sink.d.ts.map +1 -1
  165. package/dist/Sink.js +6 -2
  166. package/dist/Sink.js.map +1 -1
  167. package/dist/Stream.d.ts +235 -8
  168. package/dist/Stream.d.ts.map +1 -1
  169. package/dist/Stream.js +145 -60
  170. package/dist/Stream.js.map +1 -1
  171. package/dist/String.d.ts +4 -2
  172. package/dist/String.d.ts.map +1 -1
  173. package/dist/String.js +8 -6
  174. package/dist/String.js.map +1 -1
  175. package/dist/TextDiff.d.ts +399 -0
  176. package/dist/TextDiff.d.ts.map +1 -0
  177. package/dist/TextDiff.js +634 -0
  178. package/dist/TextDiff.js.map +1 -0
  179. package/dist/TxHashMap.d.ts.map +1 -1
  180. package/dist/TxHashMap.js.map +1 -1
  181. package/dist/TxHashSet.d.ts.map +1 -1
  182. package/dist/TxHashSet.js.map +1 -1
  183. package/dist/ai/AiError.d.ts +68 -4
  184. package/dist/ai/AiError.d.ts.map +1 -1
  185. package/dist/ai/AiError.js +50 -2
  186. package/dist/ai/AiError.js.map +1 -1
  187. package/dist/ai/Chat.d.ts +1 -2
  188. package/dist/ai/Chat.d.ts.map +1 -1
  189. package/dist/ai/Chat.js +6 -3
  190. package/dist/ai/Chat.js.map +1 -1
  191. package/dist/ai/Decision.d.ts +46 -1
  192. package/dist/ai/Decision.d.ts.map +1 -1
  193. package/dist/ai/Decision.js.map +1 -1
  194. package/dist/ai/DecisionModel.d.ts +129 -11
  195. package/dist/ai/DecisionModel.d.ts.map +1 -1
  196. package/dist/ai/DecisionModel.js +182 -94
  197. package/dist/ai/DecisionModel.js.map +1 -1
  198. package/dist/ai/EmbeddingModel.d.ts +10 -0
  199. package/dist/ai/EmbeddingModel.d.ts.map +1 -1
  200. package/dist/ai/EmbeddingModel.js +21 -7
  201. package/dist/ai/EmbeddingModel.js.map +1 -1
  202. package/dist/ai/McpClient.d.ts +289 -0
  203. package/dist/ai/McpClient.d.ts.map +1 -0
  204. package/dist/ai/McpClient.js +819 -0
  205. package/dist/ai/McpClient.js.map +1 -0
  206. package/dist/ai/McpClientError.d.ts +254 -0
  207. package/dist/ai/McpClientError.d.ts.map +1 -0
  208. package/dist/ai/McpClientError.js +260 -0
  209. package/dist/ai/McpClientError.js.map +1 -0
  210. package/dist/ai/McpProtocol.d.ts +2 -2
  211. package/dist/ai/McpProtocol.d.ts.map +1 -1
  212. package/dist/ai/McpSchema.d.ts +368 -235
  213. package/dist/ai/McpSchema.d.ts.map +1 -1
  214. package/dist/ai/McpSchema.js +94 -24
  215. package/dist/ai/McpSchema.js.map +1 -1
  216. package/dist/ai/McpServer.d.ts.map +1 -1
  217. package/dist/ai/McpServer.js +25 -22
  218. package/dist/ai/McpServer.js.map +1 -1
  219. package/dist/ai/Prompt.d.ts +22 -20
  220. package/dist/ai/Prompt.d.ts.map +1 -1
  221. package/dist/ai/Prompt.js +23 -1
  222. package/dist/ai/Prompt.js.map +1 -1
  223. package/dist/ai/Response.d.ts +147 -3
  224. package/dist/ai/Response.d.ts.map +1 -1
  225. package/dist/ai/Response.js +35 -37
  226. package/dist/ai/Response.js.map +1 -1
  227. package/dist/ai/Tool.d.ts +12 -4
  228. package/dist/ai/Tool.d.ts.map +1 -1
  229. package/dist/ai/Tool.js.map +1 -1
  230. package/dist/ai/Toolkit.d.ts +48 -1
  231. package/dist/ai/Toolkit.d.ts.map +1 -1
  232. package/dist/ai/Toolkit.js +65 -12
  233. package/dist/ai/Toolkit.js.map +1 -1
  234. package/dist/ai/index.d.ts +10 -0
  235. package/dist/ai/index.d.ts.map +1 -1
  236. package/dist/ai/index.js +10 -0
  237. package/dist/ai/index.js.map +1 -1
  238. package/dist/ai/internal/mcpCore.js.map +1 -1
  239. package/dist/ai/internal/mcpProtocol/v2024_11_05.js +1 -1
  240. package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
  241. package/dist/ai/internal/mcpProtocol/v2025_03_26.js +1 -1
  242. package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
  243. package/dist/ai/internal/mcpProtocol/v2025_06_18.js +2 -2
  244. package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
  245. package/dist/ai/internal/mcpProtocol/v2025_11_25.js +2 -2
  246. package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
  247. package/dist/ai/internal/mcpProtocol/v2026_07_28.js +4 -7
  248. package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
  249. package/dist/ai/internal/mcpProtocol.js +16 -2
  250. package/dist/ai/internal/mcpProtocol.js.map +1 -1
  251. package/dist/ai/internal/mcpRuntime.js +3 -4
  252. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  253. package/dist/ai/internal/mcpSchema/v2024_11_05.js +19 -13
  254. package/dist/ai/internal/mcpSchema/v2024_11_05.js.map +1 -1
  255. package/dist/ai/internal/mcpSchema/v2025_03_26.js +3 -2
  256. package/dist/ai/internal/mcpSchema/v2025_03_26.js.map +1 -1
  257. package/dist/ai/internal/mcpSchema/v2025_06_18.js +7 -7
  258. package/dist/ai/internal/mcpSchema/v2025_06_18.js.map +1 -1
  259. package/dist/ai/internal/mcpSchema/v2025_11_25.js +8 -8
  260. package/dist/ai/internal/mcpSchema/v2025_11_25.js.map +1 -1
  261. package/dist/ai/internal/mcpSchema/v2026_07_28.js +43 -42
  262. package/dist/ai/internal/mcpSchema/v2026_07_28.js.map +1 -1
  263. package/dist/cli/CliError.d.ts +42 -2
  264. package/dist/cli/CliError.d.ts.map +1 -1
  265. package/dist/cli/CliError.js +44 -5
  266. package/dist/cli/CliError.js.map +1 -1
  267. package/dist/cli/Command.d.ts +286 -2
  268. package/dist/cli/Command.d.ts.map +1 -1
  269. package/dist/cli/Command.js +107 -6
  270. package/dist/cli/Command.js.map +1 -1
  271. package/dist/cli/Completions.d.ts +5 -0
  272. package/dist/cli/Completions.d.ts.map +1 -1
  273. package/dist/cli/Completions.js.map +1 -1
  274. package/dist/cli/Flag.d.ts +115 -0
  275. package/dist/cli/Flag.d.ts.map +1 -1
  276. package/dist/cli/Flag.js +56 -0
  277. package/dist/cli/Flag.js.map +1 -1
  278. package/dist/cli/GlobalFlag.d.ts.map +1 -1
  279. package/dist/cli/GlobalFlag.js +3 -3
  280. package/dist/cli/GlobalFlag.js.map +1 -1
  281. package/dist/cli/Param.d.ts +107 -0
  282. package/dist/cli/Param.d.ts.map +1 -1
  283. package/dist/cli/Param.js +56 -0
  284. package/dist/cli/Param.js.map +1 -1
  285. package/dist/cli/TerminalCapabilities.d.ts +84 -0
  286. package/dist/cli/TerminalCapabilities.d.ts.map +1 -0
  287. package/dist/cli/TerminalCapabilities.js +122 -0
  288. package/dist/cli/TerminalCapabilities.js.map +1 -0
  289. package/dist/cli/index.d.ts +5 -0
  290. package/dist/cli/index.d.ts.map +1 -1
  291. package/dist/cli/index.js +5 -0
  292. package/dist/cli/index.js.map +1 -1
  293. package/dist/cli/internal/command.d.ts +2 -1
  294. package/dist/cli/internal/command.d.ts.map +1 -1
  295. package/dist/cli/internal/command.js +5 -2
  296. package/dist/cli/internal/command.js.map +1 -1
  297. package/dist/cli/internal/completions/bash.js +4 -3
  298. package/dist/cli/internal/completions/bash.js.map +1 -1
  299. package/dist/cli/internal/completions/descriptor.js +9 -1
  300. package/dist/cli/internal/completions/descriptor.js.map +1 -1
  301. package/dist/cli/internal/completions/fish.js +10 -8
  302. package/dist/cli/internal/completions/fish.js.map +1 -1
  303. package/dist/cli/internal/completions/powershell.js +18 -9
  304. package/dist/cli/internal/completions/powershell.js.map +1 -1
  305. package/dist/cli/internal/completions/zsh.js +8 -5
  306. package/dist/cli/internal/completions/zsh.js.map +1 -1
  307. package/dist/cli/internal/formatter.d.ts +2 -0
  308. package/dist/cli/internal/formatter.d.ts.map +1 -0
  309. package/dist/cli/internal/formatter.js +15 -0
  310. package/dist/cli/internal/formatter.js.map +1 -0
  311. package/dist/cli/internal/lexer.js +24 -10
  312. package/dist/cli/internal/lexer.js.map +1 -1
  313. package/dist/cli/internal/parser.js +24 -12
  314. package/dist/cli/internal/parser.js.map +1 -1
  315. package/dist/cluster/ClusterCron.d.ts +29 -1
  316. package/dist/cluster/ClusterCron.d.ts.map +1 -1
  317. package/dist/cluster/ClusterCron.js +64 -32
  318. package/dist/cluster/ClusterCron.js.map +1 -1
  319. package/dist/cluster/ClusterMetrics.d.ts +143 -7
  320. package/dist/cluster/ClusterMetrics.d.ts.map +1 -1
  321. package/dist/cluster/ClusterMetrics.js +151 -7
  322. package/dist/cluster/ClusterMetrics.js.map +1 -1
  323. package/dist/cluster/ClusterWorkflowEngine.d.ts +1 -1
  324. package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  325. package/dist/cluster/ClusterWorkflowEngine.js +37 -11
  326. package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
  327. package/dist/cluster/Entity.d.ts +2 -0
  328. package/dist/cluster/Entity.d.ts.map +1 -1
  329. package/dist/cluster/Entity.js.map +1 -1
  330. package/dist/cluster/MessageStorage.d.ts +21 -0
  331. package/dist/cluster/MessageStorage.d.ts.map +1 -1
  332. package/dist/cluster/MessageStorage.js.map +1 -1
  333. package/dist/cluster/Runners.d.ts.map +1 -1
  334. package/dist/cluster/Runners.js +54 -15
  335. package/dist/cluster/Runners.js.map +1 -1
  336. package/dist/cluster/Sharding.d.ts +1 -0
  337. package/dist/cluster/Sharding.d.ts.map +1 -1
  338. package/dist/cluster/Sharding.js +95 -32
  339. package/dist/cluster/Sharding.js.map +1 -1
  340. package/dist/cluster/ShardingConfig.d.ts +20 -0
  341. package/dist/cluster/ShardingConfig.d.ts.map +1 -1
  342. package/dist/cluster/ShardingConfig.js +4 -0
  343. package/dist/cluster/ShardingConfig.js.map +1 -1
  344. package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
  345. package/dist/cluster/SqlMessageStorage.js +40 -50
  346. package/dist/cluster/SqlMessageStorage.js.map +1 -1
  347. package/dist/cluster/SqlRunnerStorage.d.ts +2 -2
  348. package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
  349. package/dist/cluster/SqlRunnerStorage.js +10 -4
  350. package/dist/cluster/SqlRunnerStorage.js.map +1 -1
  351. package/dist/cluster/internal/entityManager.js +65 -8
  352. package/dist/cluster/internal/entityManager.js.map +1 -1
  353. package/dist/devtools/DevTools.d.ts +3 -2
  354. package/dist/devtools/DevTools.d.ts.map +1 -1
  355. package/dist/devtools/DevTools.js +3 -2
  356. package/dist/devtools/DevTools.js.map +1 -1
  357. package/dist/devtools/DevToolsClient.d.ts +11 -0
  358. package/dist/devtools/DevToolsClient.d.ts.map +1 -1
  359. package/dist/devtools/DevToolsClient.js +31 -4
  360. package/dist/devtools/DevToolsClient.js.map +1 -1
  361. package/dist/encoding/Base64Url.d.ts +29 -0
  362. package/dist/encoding/Base64Url.d.ts.map +1 -1
  363. package/dist/encoding/Base64Url.js +29 -0
  364. package/dist/encoding/Base64Url.js.map +1 -1
  365. package/dist/encoding/Ini.d.ts.map +1 -1
  366. package/dist/encoding/Ini.js +3 -0
  367. package/dist/encoding/Ini.js.map +1 -1
  368. package/dist/encoding/JsonArray.d.ts +270 -0
  369. package/dist/encoding/JsonArray.d.ts.map +1 -0
  370. package/dist/encoding/JsonArray.js +691 -0
  371. package/dist/encoding/JsonArray.js.map +1 -0
  372. package/dist/encoding/Ndjson.d.ts +43 -4
  373. package/dist/encoding/Ndjson.d.ts.map +1 -1
  374. package/dist/encoding/Ndjson.js +169 -18
  375. package/dist/encoding/Ndjson.js.map +1 -1
  376. package/dist/encoding/SchemaBinary.d.ts +9 -1
  377. package/dist/encoding/SchemaBinary.d.ts.map +1 -1
  378. package/dist/encoding/SchemaBinary.js +12 -19
  379. package/dist/encoding/SchemaBinary.js.map +1 -1
  380. package/dist/encoding/Tar.d.ts +309 -0
  381. package/dist/encoding/Tar.d.ts.map +1 -0
  382. package/dist/encoding/Tar.js +1182 -0
  383. package/dist/encoding/Tar.js.map +1 -0
  384. package/dist/encoding/Toml.js +3 -3
  385. package/dist/encoding/Toml.js.map +1 -1
  386. package/dist/encoding/Xml.d.ts +464 -0
  387. package/dist/encoding/Xml.d.ts.map +1 -0
  388. package/dist/encoding/Xml.js +1619 -0
  389. package/dist/encoding/Xml.js.map +1 -0
  390. package/dist/encoding/Yaml.d.ts +6 -2
  391. package/dist/encoding/Yaml.d.ts.map +1 -1
  392. package/dist/encoding/Yaml.js +97 -34
  393. package/dist/encoding/Yaml.js.map +1 -1
  394. package/dist/encoding/Zip.d.ts +413 -0
  395. package/dist/encoding/Zip.d.ts.map +1 -0
  396. package/dist/encoding/Zip.js +1255 -0
  397. package/dist/encoding/Zip.js.map +1 -0
  398. package/dist/encoding/index.d.ts +20 -0
  399. package/dist/encoding/index.d.ts.map +1 -1
  400. package/dist/encoding/index.js +20 -0
  401. package/dist/encoding/index.js.map +1 -1
  402. package/dist/eventlog/EventJournal.d.ts +90 -5
  403. package/dist/eventlog/EventJournal.d.ts.map +1 -1
  404. package/dist/eventlog/EventJournal.js +488 -228
  405. package/dist/eventlog/EventJournal.js.map +1 -1
  406. package/dist/eventlog/EventLog.d.ts +180 -12
  407. package/dist/eventlog/EventLog.d.ts.map +1 -1
  408. package/dist/eventlog/EventLog.js +394 -146
  409. package/dist/eventlog/EventLog.js.map +1 -1
  410. package/dist/eventlog/EventLogEncryption.d.ts +36 -30
  411. package/dist/eventlog/EventLogEncryption.d.ts.map +1 -1
  412. package/dist/eventlog/EventLogEncryption.js +97 -38
  413. package/dist/eventlog/EventLogEncryption.js.map +1 -1
  414. package/dist/eventlog/EventLogMessage.d.ts +74 -34
  415. package/dist/eventlog/EventLogMessage.d.ts.map +1 -1
  416. package/dist/eventlog/EventLogMessage.js +45 -11
  417. package/dist/eventlog/EventLogMessage.js.map +1 -1
  418. package/dist/eventlog/EventLogRemote.d.ts +45 -8
  419. package/dist/eventlog/EventLogRemote.d.ts.map +1 -1
  420. package/dist/eventlog/EventLogRemote.js +51 -14
  421. package/dist/eventlog/EventLogRemote.js.map +1 -1
  422. package/dist/eventlog/EventLogServer.d.ts +46 -3
  423. package/dist/eventlog/EventLogServer.d.ts.map +1 -1
  424. package/dist/eventlog/EventLogServer.js +119 -19
  425. package/dist/eventlog/EventLogServer.js.map +1 -1
  426. package/dist/eventlog/EventLogServerEncrypted.d.ts +23 -33
  427. package/dist/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  428. package/dist/eventlog/EventLogServerEncrypted.js +97 -70
  429. package/dist/eventlog/EventLogServerEncrypted.js.map +1 -1
  430. package/dist/eventlog/EventLogServerUnencrypted.d.ts +39 -5
  431. package/dist/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  432. package/dist/eventlog/EventLogServerUnencrypted.js +151 -69
  433. package/dist/eventlog/EventLogServerUnencrypted.js.map +1 -1
  434. package/dist/eventlog/EventRow.d.ts +288 -0
  435. package/dist/eventlog/EventRow.d.ts.map +1 -0
  436. package/dist/eventlog/EventRow.js +435 -0
  437. package/dist/eventlog/EventRow.js.map +1 -0
  438. package/dist/eventlog/SqlEventJournal.d.ts +18 -18
  439. package/dist/eventlog/SqlEventJournal.d.ts.map +1 -1
  440. package/dist/eventlog/SqlEventJournal.js +387 -159
  441. package/dist/eventlog/SqlEventJournal.js.map +1 -1
  442. package/dist/eventlog/SqlEventLogServerEncrypted.d.ts +10 -18
  443. package/dist/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
  444. package/dist/eventlog/SqlEventLogServerEncrypted.js +179 -69
  445. package/dist/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  446. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +23 -3
  447. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  448. package/dist/eventlog/SqlEventLogServerUnencrypted.js +102 -51
  449. package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  450. package/dist/eventlog/index.d.ts +5 -0
  451. package/dist/eventlog/index.d.ts.map +1 -1
  452. package/dist/eventlog/index.js +5 -0
  453. package/dist/eventlog/index.js.map +1 -1
  454. package/dist/eventlog/internal/conflicts.d.ts +47 -0
  455. package/dist/eventlog/internal/conflicts.d.ts.map +1 -0
  456. package/dist/eventlog/internal/conflicts.js +92 -0
  457. package/dist/eventlog/internal/conflicts.js.map +1 -0
  458. package/dist/graphql/GraphQLClientError.d.ts +2 -2
  459. package/dist/graphql/GraphQLClientError.d.ts.map +1 -1
  460. package/dist/graphql/GraphQLClientError.js +4 -18
  461. package/dist/graphql/GraphQLClientError.js.map +1 -1
  462. package/dist/graphql/GraphQLProtocol.d.ts +12 -9
  463. package/dist/graphql/GraphQLProtocol.d.ts.map +1 -1
  464. package/dist/graphql/GraphQLProtocol.js +4 -3
  465. package/dist/graphql/GraphQLProtocol.js.map +1 -1
  466. package/dist/graphql/GraphQLResolver.d.ts +2 -0
  467. package/dist/graphql/GraphQLResolver.d.ts.map +1 -1
  468. package/dist/graphql/GraphQLResolver.js +74 -32
  469. package/dist/graphql/GraphQLResolver.js.map +1 -1
  470. package/dist/http/FetchHttpClient.d.ts +8 -1
  471. package/dist/http/FetchHttpClient.d.ts.map +1 -1
  472. package/dist/http/FetchHttpClient.js +51 -4
  473. package/dist/http/FetchHttpClient.js.map +1 -1
  474. package/dist/http/FindMyWay/internal/router.js +10 -0
  475. package/dist/http/FindMyWay/internal/router.js.map +1 -1
  476. package/dist/http/Headers.d.ts +227 -0
  477. package/dist/http/Headers.d.ts.map +1 -1
  478. package/dist/http/Headers.js +261 -0
  479. package/dist/http/Headers.js.map +1 -1
  480. package/dist/http/HttpClient.d.ts +93 -0
  481. package/dist/http/HttpClient.d.ts.map +1 -1
  482. package/dist/http/HttpClient.js +55 -16
  483. package/dist/http/HttpClient.js.map +1 -1
  484. package/dist/http/HttpClientRequest.d.ts +127 -3
  485. package/dist/http/HttpClientRequest.d.ts.map +1 -1
  486. package/dist/http/HttpClientRequest.js +44 -2
  487. package/dist/http/HttpClientRequest.js.map +1 -1
  488. package/dist/http/HttpClientResponse.d.ts +53 -0
  489. package/dist/http/HttpClientResponse.d.ts.map +1 -1
  490. package/dist/http/HttpClientResponse.js +47 -0
  491. package/dist/http/HttpClientResponse.js.map +1 -1
  492. package/dist/http/HttpEffect.d.ts +6 -2
  493. package/dist/http/HttpEffect.d.ts.map +1 -1
  494. package/dist/http/HttpEffect.js +21 -17
  495. package/dist/http/HttpEffect.js.map +1 -1
  496. package/dist/http/HttpIncomingMessage.d.ts +2 -1
  497. package/dist/http/HttpIncomingMessage.d.ts.map +1 -1
  498. package/dist/http/HttpIncomingMessage.js +3 -23
  499. package/dist/http/HttpIncomingMessage.js.map +1 -1
  500. package/dist/http/HttpMiddleware.d.ts +119 -2
  501. package/dist/http/HttpMiddleware.d.ts.map +1 -1
  502. package/dist/http/HttpMiddleware.js +159 -13
  503. package/dist/http/HttpMiddleware.js.map +1 -1
  504. package/dist/http/HttpRouter.d.ts.map +1 -1
  505. package/dist/http/HttpRouter.js +7 -2
  506. package/dist/http/HttpRouter.js.map +1 -1
  507. package/dist/http/HttpServerError.d.ts +5 -2
  508. package/dist/http/HttpServerError.d.ts.map +1 -1
  509. package/dist/http/HttpServerError.js +5 -3
  510. package/dist/http/HttpServerError.js.map +1 -1
  511. package/dist/http/HttpServerRequest.d.ts +25 -5
  512. package/dist/http/HttpServerRequest.d.ts.map +1 -1
  513. package/dist/http/HttpServerRequest.js +36 -10
  514. package/dist/http/HttpServerRequest.js.map +1 -1
  515. package/dist/http/HttpServerResponse.d.ts +17 -8
  516. package/dist/http/HttpServerResponse.d.ts.map +1 -1
  517. package/dist/http/HttpServerResponse.js +37 -21
  518. package/dist/http/HttpServerResponse.js.map +1 -1
  519. package/dist/http/HttpStaticServer.d.ts +0 -12
  520. package/dist/http/HttpStaticServer.d.ts.map +1 -1
  521. package/dist/http/HttpStaticServer.js +21 -7
  522. package/dist/http/HttpStaticServer.js.map +1 -1
  523. package/dist/http/MultipartParser/internal/contentType.d.ts +15 -1
  524. package/dist/http/MultipartParser/internal/contentType.d.ts.map +1 -1
  525. package/dist/http/MultipartParser/internal/contentType.js +87 -5
  526. package/dist/http/MultipartParser/internal/contentType.js.map +1 -1
  527. package/dist/http/MultipartParser/internal/headers.d.ts.map +1 -1
  528. package/dist/http/MultipartParser/internal/headers.js +4 -12
  529. package/dist/http/MultipartParser/internal/headers.js.map +1 -1
  530. package/dist/http/MultipartParser/internal/multipart.d.ts.map +1 -1
  531. package/dist/http/MultipartParser/internal/multipart.js +6 -27
  532. package/dist/http/MultipartParser/internal/multipart.js.map +1 -1
  533. package/dist/http/Url.d.ts.map +1 -1
  534. package/dist/http/Url.js +6 -1
  535. package/dist/http/Url.js.map +1 -1
  536. package/dist/http/internal/decompression.js +17 -11
  537. package/dist/http/internal/decompression.js.map +1 -1
  538. package/dist/http/internal/lazyStream.d.ts +2 -0
  539. package/dist/http/internal/lazyStream.d.ts.map +1 -0
  540. package/dist/http/internal/lazyStream.js +18 -0
  541. package/dist/http/internal/lazyStream.js.map +1 -0
  542. package/dist/http/internal/requestState.d.ts +2 -0
  543. package/dist/http/internal/requestState.d.ts.map +1 -0
  544. package/dist/http/internal/requestState.js +28 -0
  545. package/dist/http/internal/requestState.js.map +1 -0
  546. package/dist/http/internal/webResponse.d.ts +2 -0
  547. package/dist/http/internal/webResponse.d.ts.map +1 -0
  548. package/dist/http/internal/webResponse.js +12 -0
  549. package/dist/http/internal/webResponse.js.map +1 -0
  550. package/dist/http-api/HttpApi.js +1 -1
  551. package/dist/http-api/HttpApi.js.map +1 -1
  552. package/dist/http-api/HttpApiBuilder.d.ts.map +1 -1
  553. package/dist/http-api/HttpApiBuilder.js +121 -18
  554. package/dist/http-api/HttpApiBuilder.js.map +1 -1
  555. package/dist/http-api/HttpApiClient.d.ts +29 -4
  556. package/dist/http-api/HttpApiClient.d.ts.map +1 -1
  557. package/dist/http-api/HttpApiClient.js +83 -23
  558. package/dist/http-api/HttpApiClient.js.map +1 -1
  559. package/dist/http-api/HttpApiEndpoint.d.ts +55 -29
  560. package/dist/http-api/HttpApiEndpoint.d.ts.map +1 -1
  561. package/dist/http-api/HttpApiEndpoint.js +49 -5
  562. package/dist/http-api/HttpApiEndpoint.js.map +1 -1
  563. package/dist/http-api/HttpApiError.d.ts +58 -0
  564. package/dist/http-api/HttpApiError.d.ts.map +1 -1
  565. package/dist/http-api/HttpApiError.js +38 -12
  566. package/dist/http-api/HttpApiError.js.map +1 -1
  567. package/dist/http-api/HttpApiScalar.d.ts +2 -1
  568. package/dist/http-api/HttpApiScalar.d.ts.map +1 -1
  569. package/dist/http-api/HttpApiScalar.js +6 -3
  570. package/dist/http-api/HttpApiScalar.js.map +1 -1
  571. package/dist/http-api/HttpApiSchema.d.ts +191 -9
  572. package/dist/http-api/HttpApiSchema.d.ts.map +1 -1
  573. package/dist/http-api/HttpApiSchema.js +137 -4
  574. package/dist/http-api/HttpApiSchema.js.map +1 -1
  575. package/dist/http-api/HttpApiSwagger.d.ts +5 -0
  576. package/dist/http-api/HttpApiSwagger.d.ts.map +1 -1
  577. package/dist/http-api/HttpApiSwagger.js +14 -4
  578. package/dist/http-api/HttpApiSwagger.js.map +1 -1
  579. package/dist/http-api/HttpApiTest.d.ts +13 -2
  580. package/dist/http-api/HttpApiTest.d.ts.map +1 -1
  581. package/dist/http-api/HttpApiTest.js +30 -9
  582. package/dist/http-api/HttpApiTest.js.map +1 -1
  583. package/dist/http-api/OpenApi.d.ts +17 -3
  584. package/dist/http-api/OpenApi.d.ts.map +1 -1
  585. package/dist/http-api/OpenApi.js +57 -32
  586. package/dist/http-api/OpenApi.js.map +1 -1
  587. package/dist/http-api/internal/path.js +35 -10
  588. package/dist/http-api/internal/path.js.map +1 -1
  589. package/dist/index.d.ts +20 -0
  590. package/dist/index.d.ts.map +1 -1
  591. package/dist/index.js +20 -0
  592. package/dist/index.js.map +1 -1
  593. package/dist/internal/core.js +1 -1
  594. package/dist/internal/core.js.map +1 -1
  595. package/dist/internal/dateTime.js +19 -7
  596. package/dist/internal/dateTime.js.map +1 -1
  597. package/dist/internal/effect.js +85 -74
  598. package/dist/internal/effect.js.map +1 -1
  599. package/dist/internal/hashMap.js +2 -2
  600. package/dist/internal/hashMap.js.map +1 -1
  601. package/dist/internal/hydration.d.ts +2 -0
  602. package/dist/internal/hydration.d.ts.map +1 -0
  603. package/dist/internal/hydration.js +15 -0
  604. package/dist/internal/hydration.js.map +1 -0
  605. package/dist/internal/inflate.d.ts +2 -0
  606. package/dist/internal/inflate.d.ts.map +1 -0
  607. package/dist/internal/inflate.js +680 -0
  608. package/dist/internal/inflate.js.map +1 -0
  609. package/dist/internal/record.js +6 -0
  610. package/dist/internal/record.js.map +1 -1
  611. package/dist/internal/request.js +20 -7
  612. package/dist/internal/request.js.map +1 -1
  613. package/dist/internal/schedule.js +17 -22
  614. package/dist/internal/schedule.js.map +1 -1
  615. package/dist/internal/schema/fromJsonSchemaDocument.js +136 -126
  616. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
  617. package/dist/internal/schema/interpreter.js +51 -36
  618. package/dist/internal/schema/interpreter.js.map +1 -1
  619. package/dist/internal/schema/standardSchema.js +34 -33
  620. package/dist/internal/schema/standardSchema.js.map +1 -1
  621. package/dist/internal/schema/toCodeDocument.js +7 -2
  622. package/dist/internal/schema/toCodeDocument.js.map +1 -1
  623. package/dist/internal/schema/toCodec.js +86 -1
  624. package/dist/internal/schema/toCodec.js.map +1 -1
  625. package/dist/internal/schema/toFormatter.js +5 -5
  626. package/dist/internal/schema/toFormatter.js.map +1 -1
  627. package/dist/internal/schema/toJsonSchemaDocument.js +60 -38
  628. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
  629. package/dist/internal/trie.js +1 -3
  630. package/dist/internal/trie.js.map +1 -1
  631. package/dist/internal/uuid.js +7 -3
  632. package/dist/internal/uuid.js.map +1 -1
  633. package/dist/internal/version.js +1 -1
  634. package/dist/net/NetAddress.d.ts.map +1 -1
  635. package/dist/net/NetAddress.js +2 -8
  636. package/dist/net/NetAddress.js.map +1 -1
  637. package/dist/observability/OtlpExporter.d.ts.map +1 -1
  638. package/dist/observability/OtlpExporter.js +5 -12
  639. package/dist/observability/OtlpExporter.js.map +1 -1
  640. package/dist/observability/OtlpMetrics.d.ts.map +1 -1
  641. package/dist/observability/OtlpMetrics.js +5 -3
  642. package/dist/observability/OtlpMetrics.js.map +1 -1
  643. package/dist/observability/OtlpResource.d.ts +3 -1
  644. package/dist/observability/OtlpResource.d.ts.map +1 -1
  645. package/dist/observability/OtlpResource.js +11 -4
  646. package/dist/observability/OtlpResource.js.map +1 -1
  647. package/dist/observability/OtlpSerialization.d.ts +5 -0
  648. package/dist/observability/OtlpSerialization.d.ts.map +1 -1
  649. package/dist/observability/OtlpSerialization.js +14 -3
  650. package/dist/observability/OtlpSerialization.js.map +1 -1
  651. package/dist/observability/internal/protobuf.d.ts +0 -9
  652. package/dist/observability/internal/protobuf.d.ts.map +1 -1
  653. package/dist/observability/internal/protobuf.js +2 -10
  654. package/dist/observability/internal/protobuf.js.map +1 -1
  655. package/dist/persistence/PersistedCache.d.ts.map +1 -1
  656. package/dist/persistence/PersistedCache.js +1 -1
  657. package/dist/persistence/PersistedCache.js.map +1 -1
  658. package/dist/persistence/PersistedQueue.d.ts +6 -2
  659. package/dist/persistence/PersistedQueue.d.ts.map +1 -1
  660. package/dist/persistence/PersistedQueue.js +162 -84
  661. package/dist/persistence/PersistedQueue.js.map +1 -1
  662. package/dist/persistence/Persistence.d.ts +28 -0
  663. package/dist/persistence/Persistence.d.ts.map +1 -1
  664. package/dist/persistence/Persistence.js +36 -8
  665. package/dist/persistence/Persistence.js.map +1 -1
  666. package/dist/persistence/RateLimiter.d.ts.map +1 -1
  667. package/dist/persistence/RateLimiter.js +8 -12
  668. package/dist/persistence/RateLimiter.js.map +1 -1
  669. package/dist/persistence/UserDirectories.d.ts +129 -0
  670. package/dist/persistence/UserDirectories.d.ts.map +1 -0
  671. package/dist/persistence/UserDirectories.js +178 -0
  672. package/dist/persistence/UserDirectories.js.map +1 -0
  673. package/dist/persistence/index.d.ts +5 -0
  674. package/dist/persistence/index.d.ts.map +1 -1
  675. package/dist/persistence/index.js +5 -0
  676. package/dist/persistence/index.js.map +1 -1
  677. package/dist/process/ChildProcess.d.ts +2 -1
  678. package/dist/process/ChildProcess.d.ts.map +1 -1
  679. package/dist/process/ChildProcess.js.map +1 -1
  680. package/dist/reactivity/AsyncResult.d.ts.map +1 -1
  681. package/dist/reactivity/AsyncResult.js +1 -1
  682. package/dist/reactivity/AsyncResult.js.map +1 -1
  683. package/dist/reactivity/Atom.d.ts +69 -30
  684. package/dist/reactivity/Atom.d.ts.map +1 -1
  685. package/dist/reactivity/Atom.js +40 -15
  686. package/dist/reactivity/Atom.js.map +1 -1
  687. package/dist/reactivity/AtomHttpApi.d.ts +5 -5
  688. package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
  689. package/dist/reactivity/AtomHttpApi.js +1 -1
  690. package/dist/reactivity/AtomHttpApi.js.map +1 -1
  691. package/dist/reactivity/AtomRegistry.d.ts +2 -2
  692. package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
  693. package/dist/reactivity/AtomRegistry.js +44 -9
  694. package/dist/reactivity/AtomRegistry.js.map +1 -1
  695. package/dist/reactivity/AtomRpc.d.ts +3 -3
  696. package/dist/reactivity/AtomRpc.d.ts.map +1 -1
  697. package/dist/reactivity/AtomRpc.js +1 -1
  698. package/dist/reactivity/AtomRpc.js.map +1 -1
  699. package/dist/reactivity/Hydration.d.ts.map +1 -1
  700. package/dist/reactivity/Hydration.js +46 -12
  701. package/dist/reactivity/Hydration.js.map +1 -1
  702. package/dist/reactivity/Reactivity.d.ts +71 -7
  703. package/dist/reactivity/Reactivity.d.ts.map +1 -1
  704. package/dist/reactivity/Reactivity.js +21 -12
  705. package/dist/reactivity/Reactivity.js.map +1 -1
  706. package/dist/rpc/Rpc.d.ts +18 -0
  707. package/dist/rpc/Rpc.d.ts.map +1 -1
  708. package/dist/rpc/Rpc.js +20 -0
  709. package/dist/rpc/Rpc.js.map +1 -1
  710. package/dist/rpc/RpcClient.d.ts +26 -2
  711. package/dist/rpc/RpcClient.d.ts.map +1 -1
  712. package/dist/rpc/RpcClient.js +196 -60
  713. package/dist/rpc/RpcClient.js.map +1 -1
  714. package/dist/rpc/RpcSerialization.d.ts +15 -0
  715. package/dist/rpc/RpcSerialization.d.ts.map +1 -1
  716. package/dist/rpc/RpcSerialization.js +21 -5
  717. package/dist/rpc/RpcSerialization.js.map +1 -1
  718. package/dist/rpc/RpcServer.d.ts.map +1 -1
  719. package/dist/rpc/RpcServer.js +9 -18
  720. package/dist/rpc/RpcServer.js.map +1 -1
  721. package/dist/schema/Model.d.ts +1 -1
  722. package/dist/schema/VariantSchema.d.ts +22 -3
  723. package/dist/schema/VariantSchema.d.ts.map +1 -1
  724. package/dist/schema/VariantSchema.js +32 -18
  725. package/dist/schema/VariantSchema.js.map +1 -1
  726. package/dist/socket/Socket.d.ts +23 -1
  727. package/dist/socket/Socket.d.ts.map +1 -1
  728. package/dist/socket/Socket.js +36 -3
  729. package/dist/socket/Socket.js.map +1 -1
  730. package/dist/sql/Migrator.d.ts.map +1 -1
  731. package/dist/sql/Migrator.js +15 -3
  732. package/dist/sql/Migrator.js.map +1 -1
  733. package/dist/sql/SqlClient.d.ts +143 -5
  734. package/dist/sql/SqlClient.d.ts.map +1 -1
  735. package/dist/sql/SqlClient.js +148 -27
  736. package/dist/sql/SqlClient.js.map +1 -1
  737. package/dist/sql/SqlResolver.d.ts +9 -0
  738. package/dist/sql/SqlResolver.d.ts.map +1 -1
  739. package/dist/sql/SqlResolver.js +9 -0
  740. package/dist/sql/SqlResolver.js.map +1 -1
  741. package/dist/sql/Statement.d.ts +3 -1
  742. package/dist/sql/Statement.d.ts.map +1 -1
  743. package/dist/sql/Statement.js +24 -5
  744. package/dist/sql/Statement.js.map +1 -1
  745. package/dist/testing/TestClock.d.ts.map +1 -1
  746. package/dist/testing/TestClock.js +4 -2
  747. package/dist/testing/TestClock.js.map +1 -1
  748. package/dist/testing/TestSchema.d.ts +7 -1
  749. package/dist/testing/TestSchema.d.ts.map +1 -1
  750. package/dist/testing/TestSchema.js +9 -3
  751. package/dist/testing/TestSchema.js.map +1 -1
  752. package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
  753. package/dist/workflow/WorkflowEngine.js +18 -4
  754. package/dist/workflow/WorkflowEngine.js.map +1 -1
  755. package/package.json +13 -3
  756. package/src/Array.ts +128 -55
  757. package/src/Bytes.ts +111 -0
  758. package/src/Channel.ts +263 -436
  759. package/src/ChannelSchema.ts +1 -49
  760. package/src/Chunk.ts +55 -61
  761. package/src/Config.ts +12 -86
  762. package/src/ConfigProvider.ts +2 -1
  763. package/src/Cron.ts +6 -3
  764. package/src/Duration.ts +66 -16
  765. package/src/Effect.ts +502 -167
  766. package/src/Equivalence.ts +7 -4
  767. package/src/Exit.ts +24 -9
  768. package/src/FiberHandle.ts +10 -9
  769. package/src/FiberMap.ts +13 -66
  770. package/src/FileSystem.ts +10 -0
  771. package/src/Graph.ts +171 -1263
  772. package/src/HashSet.ts +0 -60
  773. package/src/Iterable.ts +15 -14
  774. package/src/JsonSchema.ts +28 -3
  775. package/src/Layer.ts +2 -2
  776. package/src/ManagedRuntime.ts +72 -6
  777. package/src/Metric.ts +249 -507
  778. package/src/MutableHashMap.ts +4 -473
  779. package/src/Number.ts +2 -2
  780. package/src/Optic.ts +17 -332
  781. package/src/Path.ts +9 -1
  782. package/src/PubSub.ts +12 -7
  783. package/src/Queue.ts +5 -37
  784. package/src/Random.ts +1 -1
  785. package/src/RcMap.ts +14 -8
  786. package/src/Record.ts +51 -0
  787. package/src/Ref.ts +7 -104
  788. package/src/References.ts +5 -4
  789. package/src/RequestResolver.ts +46 -87
  790. package/src/Resource.ts +1 -1
  791. package/src/Runtime.ts +19 -18
  792. package/src/Schedule.ts +2 -94
  793. package/src/Schema.ts +591 -356
  794. package/src/SchemaAST.ts +20 -9
  795. package/src/SchemaGetter.ts +22 -5
  796. package/src/SchemaIssue.ts +44 -53
  797. package/src/SchemaRepresentation.ts +64 -1
  798. package/src/SchemaTransformation.ts +1 -1
  799. package/src/Scope.ts +12 -2
  800. package/src/ScopedCache.ts +17 -142
  801. package/src/SemVer.ts +1528 -0
  802. package/src/SemVerRange.ts +883 -0
  803. package/src/Sink.ts +6 -2
  804. package/src/Stream.ts +334 -1011
  805. package/src/String.ts +8 -8
  806. package/src/TextDiff.ts +766 -0
  807. package/src/TxHashMap.ts +1 -103
  808. package/src/TxHashSet.ts +48 -753
  809. package/src/ai/AiError.ts +66 -4
  810. package/src/ai/Chat.ts +10 -5
  811. package/src/ai/Decision.ts +49 -1
  812. package/src/ai/DecisionModel.ts +264 -108
  813. package/src/ai/EmbeddingModel.ts +25 -13
  814. package/src/ai/McpClient.ts +1211 -0
  815. package/src/ai/McpClientError.ts +329 -0
  816. package/src/ai/McpProtocol.ts +2 -2
  817. package/src/ai/McpSchema.ts +153 -35
  818. package/src/ai/McpServer.ts +217 -220
  819. package/src/ai/Prompt.ts +49 -35
  820. package/src/ai/Response.ts +195 -65
  821. package/src/ai/Tool.ts +12 -4
  822. package/src/ai/Toolkit.ts +78 -10
  823. package/src/ai/index.ts +12 -0
  824. package/src/ai/internal/mcpCore.ts +13 -14
  825. package/src/ai/internal/mcpProtocol/v2024_11_05.ts +1 -1
  826. package/src/ai/internal/mcpProtocol/v2025_03_26.ts +1 -1
  827. package/src/ai/internal/mcpProtocol/v2025_06_18.ts +3 -3
  828. package/src/ai/internal/mcpProtocol/v2025_11_25.ts +3 -3
  829. package/src/ai/internal/mcpProtocol/v2026_07_28.ts +12 -14
  830. package/src/ai/internal/mcpProtocol.ts +22 -2
  831. package/src/ai/internal/mcpRuntime.ts +3 -4
  832. package/src/ai/internal/mcpSchema/v2024_11_05.ts +20 -13
  833. package/src/ai/internal/mcpSchema/v2025_03_26.ts +4 -2
  834. package/src/ai/internal/mcpSchema/v2025_06_18.ts +7 -7
  835. package/src/ai/internal/mcpSchema/v2025_11_25.ts +8 -8
  836. package/src/ai/internal/mcpSchema/v2026_07_28.ts +44 -42
  837. package/src/cli/CliError.ts +49 -4
  838. package/src/cli/Command.ts +316 -9
  839. package/src/cli/Completions.ts +5 -0
  840. package/src/cli/Flag.ts +117 -0
  841. package/src/cli/GlobalFlag.ts +3 -3
  842. package/src/cli/Param.ts +122 -0
  843. package/src/cli/TerminalCapabilities.ts +156 -0
  844. package/src/cli/index.ts +6 -0
  845. package/src/cli/internal/command.ts +8 -3
  846. package/src/cli/internal/completions/bash.ts +4 -3
  847. package/src/cli/internal/completions/descriptor.ts +11 -1
  848. package/src/cli/internal/completions/fish.ts +10 -8
  849. package/src/cli/internal/completions/powershell.ts +23 -14
  850. package/src/cli/internal/completions/zsh.ts +8 -5
  851. package/src/cli/internal/formatter.ts +18 -0
  852. package/src/cli/internal/lexer.ts +12 -5
  853. package/src/cli/internal/parser.ts +31 -11
  854. package/src/cluster/ClusterCron.ts +94 -35
  855. package/src/cluster/ClusterMetrics.ts +149 -7
  856. package/src/cluster/ClusterWorkflowEngine.ts +84 -41
  857. package/src/cluster/Entity.ts +4 -0
  858. package/src/cluster/MessageStorage.ts +7 -0
  859. package/src/cluster/Runners.ts +76 -25
  860. package/src/cluster/Sharding.ts +118 -38
  861. package/src/cluster/ShardingConfig.ts +15 -0
  862. package/src/cluster/SqlMessageStorage.ts +58 -55
  863. package/src/cluster/SqlRunnerStorage.ts +10 -4
  864. package/src/cluster/internal/entityManager.ts +80 -10
  865. package/src/devtools/DevTools.ts +3 -2
  866. package/src/devtools/DevToolsClient.ts +27 -10
  867. package/src/encoding/Base64Url.ts +31 -0
  868. package/src/encoding/Ini.ts +3 -0
  869. package/src/encoding/JsonArray.ts +849 -0
  870. package/src/encoding/Ndjson.ts +211 -20
  871. package/src/encoding/SchemaBinary.ts +14 -48
  872. package/src/encoding/Tar.ts +1417 -0
  873. package/src/encoding/Toml.ts +3 -3
  874. package/src/encoding/Xml.ts +2037 -0
  875. package/src/encoding/Yaml.ts +108 -36
  876. package/src/encoding/Zip.ts +1558 -0
  877. package/src/encoding/index.ts +24 -0
  878. package/src/eventlog/EventJournal.ts +611 -227
  879. package/src/eventlog/EventLog.ts +496 -196
  880. package/src/eventlog/EventLogEncryption.ts +128 -43
  881. package/src/eventlog/EventLogMessage.ts +62 -11
  882. package/src/eventlog/EventLogRemote.ts +77 -21
  883. package/src/eventlog/EventLogServer.ts +162 -20
  884. package/src/eventlog/EventLogServerEncrypted.ts +121 -80
  885. package/src/eventlog/EventLogServerUnencrypted.ts +180 -77
  886. package/src/eventlog/EventRow.ts +706 -0
  887. package/src/eventlog/SqlEventJournal.ts +453 -173
  888. package/src/eventlog/SqlEventLogServerEncrypted.ts +212 -83
  889. package/src/eventlog/SqlEventLogServerUnencrypted.ts +141 -62
  890. package/src/eventlog/index.ts +6 -0
  891. package/src/eventlog/internal/conflicts.ts +123 -0
  892. package/src/graphql/GraphQLClientError.ts +5 -12
  893. package/src/graphql/GraphQLProtocol.ts +12 -9
  894. package/src/graphql/GraphQLResolver.ts +90 -239
  895. package/src/http/FetchHttpClient.ts +56 -6
  896. package/src/http/FindMyWay/internal/router.ts +11 -0
  897. package/src/http/Headers.ts +337 -154
  898. package/src/http/HttpClient.ts +126 -135
  899. package/src/http/HttpClientRequest.ts +142 -4
  900. package/src/http/HttpClientResponse.ts +71 -0
  901. package/src/http/HttpEffect.ts +25 -33
  902. package/src/http/HttpIncomingMessage.ts +3 -23
  903. package/src/http/HttpMiddleware.ts +180 -23
  904. package/src/http/HttpRouter.ts +8 -2
  905. package/src/http/HttpServerError.ts +6 -3
  906. package/src/http/HttpServerRequest.ts +71 -12
  907. package/src/http/HttpServerResponse.ts +49 -23
  908. package/src/http/HttpStaticServer.ts +25 -9
  909. package/src/http/MultipartParser/internal/contentType.ts +107 -6
  910. package/src/http/MultipartParser/internal/headers.ts +4 -16
  911. package/src/http/MultipartParser/internal/multipart.ts +10 -32
  912. package/src/http/Url.ts +6 -1
  913. package/src/http/internal/decompression.ts +26 -17
  914. package/src/http/internal/lazyStream.ts +25 -0
  915. package/src/http/internal/requestState.ts +33 -0
  916. package/src/http/internal/webResponse.ts +20 -0
  917. package/src/http-api/HttpApi.ts +1 -1
  918. package/src/http-api/HttpApiBuilder.ts +151 -23
  919. package/src/http-api/HttpApiClient.ts +158 -30
  920. package/src/http-api/HttpApiEndpoint.ts +144 -33
  921. package/src/http-api/HttpApiError.ts +55 -0
  922. package/src/http-api/HttpApiScalar.ts +4 -3
  923. package/src/http-api/HttpApiSchema.ts +275 -13
  924. package/src/http-api/HttpApiSwagger.ts +11 -4
  925. package/src/http-api/HttpApiTest.ts +33 -9
  926. package/src/http-api/OpenApi.ts +84 -42
  927. package/src/http-api/internal/path.ts +40 -12
  928. package/src/index.ts +24 -0
  929. package/src/internal/core.ts +1 -1
  930. package/src/internal/dateTime.ts +20 -7
  931. package/src/internal/effect.ts +120 -84
  932. package/src/internal/hashMap.ts +2 -2
  933. package/src/internal/hydration.ts +15 -0
  934. package/src/internal/inflate.ts +710 -0
  935. package/src/internal/record.ts +6 -0
  936. package/src/internal/request.ts +21 -6
  937. package/src/internal/schedule.ts +20 -39
  938. package/src/internal/schema/fromJsonSchemaDocument.ts +262 -193
  939. package/src/internal/schema/interpreter.ts +58 -45
  940. package/src/internal/schema/standardSchema.ts +32 -30
  941. package/src/internal/schema/toCodeDocument.ts +8 -3
  942. package/src/internal/schema/toCodec.ts +116 -1
  943. package/src/internal/schema/toFormatter.ts +6 -6
  944. package/src/internal/schema/toJsonSchemaDocument.ts +69 -39
  945. package/src/internal/trie.ts +1 -3
  946. package/src/internal/uuid.ts +15 -10
  947. package/src/internal/version.ts +1 -1
  948. package/src/net/NetAddress.ts +2 -9
  949. package/src/observability/OtlpExporter.ts +5 -12
  950. package/src/observability/OtlpMetrics.ts +5 -3
  951. package/src/observability/OtlpResource.ts +16 -6
  952. package/src/observability/OtlpSerialization.ts +17 -3
  953. package/src/observability/internal/protobuf.ts +2 -10
  954. package/src/persistence/PersistedCache.ts +3 -1
  955. package/src/persistence/PersistedQueue.ts +223 -153
  956. package/src/persistence/Persistence.ts +64 -30
  957. package/src/persistence/RateLimiter.ts +18 -21
  958. package/src/persistence/UserDirectories.ts +273 -0
  959. package/src/persistence/index.ts +6 -0
  960. package/src/process/ChildProcess.ts +2 -1
  961. package/src/reactivity/AsyncResult.ts +4 -38
  962. package/src/reactivity/Atom.ts +134 -166
  963. package/src/reactivity/AtomHttpApi.ts +10 -16
  964. package/src/reactivity/AtomRegistry.ts +50 -29
  965. package/src/reactivity/AtomRpc.ts +6 -22
  966. package/src/reactivity/Hydration.ts +53 -12
  967. package/src/reactivity/Reactivity.ts +97 -39
  968. package/src/rpc/Rpc.ts +21 -0
  969. package/src/rpc/RpcClient.ts +279 -103
  970. package/src/rpc/RpcSerialization.ts +21 -5
  971. package/src/rpc/RpcServer.ts +11 -20
  972. package/src/schema/VariantSchema.ts +86 -22
  973. package/src/socket/Socket.ts +45 -20
  974. package/src/sql/Migrator.ts +19 -9
  975. package/src/sql/SqlClient.ts +266 -29
  976. package/src/sql/SqlResolver.ts +9 -0
  977. package/src/sql/Statement.ts +35 -8
  978. package/src/testing/TestClock.ts +4 -1
  979. package/src/testing/TestSchema.ts +9 -3
  980. package/src/workflow/WorkflowEngine.ts +34 -10
  981. package/dist/http/internal/preResponseHandler.d.ts +0 -2
  982. package/dist/http/internal/preResponseHandler.d.ts.map +0 -1
  983. package/dist/http/internal/preResponseHandler.js +0 -14
  984. package/dist/http/internal/preResponseHandler.js.map +0 -1
  985. package/src/http/internal/preResponseHandler.ts +0 -19
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","names":[],"sources":["../../../../src/http/FindMyWay/internal/router.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"router.js","names":[],"sources":["../../../../src/http/FindMyWay/internal/router.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -6,15 +6,24 @@
6
6
  * reading and updating header values, and redacts configured sensitive headers
7
7
  * when values are inspected.
8
8
  *
9
+ * It also parses and formats the values of standard headers, such as HTTP
10
+ * dates and `Retry-After`, with the tolerance the RFCs allow and nothing more.
11
+ * The string codecs for those values live in `Schema`, for example
12
+ * `Schema.DateTimeUtcFromHttpDate` and `Schema.RetryAfterFromString`.
13
+ *
9
14
  * @stability unstable
10
15
  * @since 4.0.0
11
16
  */
12
17
  import * as Context from "../Context.ts";
18
+ import * as Data from "../Data.ts";
19
+ import * as DateTime from "../DateTime.ts";
20
+ import * as Duration from "../Duration.ts";
13
21
  import * as Equ from "../Equivalence.ts";
14
22
  import * as Option from "../Option.ts";
15
23
  import * as Record from "../Record.ts";
16
24
  import * as Redactable from "../Redactable.ts";
17
25
  import * as Redacted from "../Redacted.ts";
26
+ import * as Result from "../Result.ts";
18
27
  /**
19
28
  * Runtime type identifier for `Headers` values.
20
29
  *
@@ -431,4 +440,222 @@ export declare const isRedactedName: (name: string, patterns: ReadonlyArray<stri
431
440
  * @since 4.0.0
432
441
  */
433
442
  export declare const CurrentRedactedNames: Context.Reference<readonly (string | RegExp)[]>;
443
+ declare const HeaderParseErrorTypeId = "~effect/http/Headers/HeaderParseError";
444
+ /**
445
+ * Error reason describing which header value failed to parse.
446
+ *
447
+ * **Details**
448
+ *
449
+ * `input` is the raw header value that was rejected.
450
+ *
451
+ * @stability unstable
452
+ * @category errors
453
+ * @since 4.0.0
454
+ */
455
+ export declare class HeaderParseErrorReason extends Data.Error<{
456
+ readonly _tag: "InvalidHttpDate" | "InvalidRetryAfter";
457
+ readonly input: string;
458
+ }> {
459
+ }
460
+ declare const HeaderParseError_base: new <A extends Record<string, any> = {}>(args: import("../Types.ts").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("../Cause.ts").YieldableError & {
461
+ readonly _tag: "HeaderParseError";
462
+ } & Readonly<A>;
463
+ /**
464
+ * Error returned when a header value does not match its grammar.
465
+ *
466
+ * **Details**
467
+ *
468
+ * Inspect `reason` to find the header that failed and the rejected input.
469
+ *
470
+ * @stability unstable
471
+ * @category errors
472
+ * @since 4.0.0
473
+ */
474
+ export declare class HeaderParseError extends HeaderParseError_base<{
475
+ readonly reason: HeaderParseErrorReason;
476
+ }> {
477
+ /**
478
+ * Creates a header parse error from a reason tag and the rejected input.
479
+ *
480
+ * @stability unstable
481
+ * @since 4.0.0
482
+ */
483
+ static fromReason(reason: HeaderParseError["reason"]["_tag"], input: string): HeaderParseError;
484
+ /**
485
+ * Marks this value as a header parse error for runtime guards.
486
+ *
487
+ * @stability unstable
488
+ * @since 4.0.0
489
+ */
490
+ readonly [HeaderParseErrorTypeId] = "~effect/http/Headers/HeaderParseError";
491
+ /**
492
+ * Names the failed header and the rejected input.
493
+ *
494
+ * @stability unstable
495
+ * @since 4.0.0
496
+ */
497
+ get message(): string;
498
+ }
499
+ /**
500
+ * Checks whether a value is a `HeaderParseError`.
501
+ *
502
+ * @stability unstable
503
+ * @category guards
504
+ * @since 4.0.0
505
+ */
506
+ export declare const isHeaderParseError: (u: unknown) => u is HeaderParseError;
507
+ /**
508
+ * Parses an HTTP date header value into a UTC `DateTime`.
509
+ *
510
+ * **Details**
511
+ *
512
+ * Accepts the three formats of RFC 9110 §5.6.7: the preferred IMF-fixdate
513
+ * (`Sun, 06 Nov 1994 08:49:37 GMT`), the obsolete RFC 850 format
514
+ * (`Sunday, 06-Nov-94 08:49:37 GMT`) and the asctime format
515
+ * (`Sun Nov 6 08:49:37 1994`). All three are read as UTC regardless of the
516
+ * process time zone. Day and month names are case-insensitive, and the day
517
+ * name is not checked against the date. A leap second (`23:59:60`) is read
518
+ * as the following second, since epoch time cannot represent it.
519
+ *
520
+ * The two-digit year of the RFC 850 format is read with a fixed pivot:
521
+ * `70`-`99` as 1970-1999 and `00`-`69` as 2000-2069. This deviates from
522
+ * RFC 9110, which asks for the year to be chosen relative to the current
523
+ * time so that it is never more than 50 years in the future. The fixed pivot
524
+ * keeps parsing independent of the clock and matches most other HTTP
525
+ * implementations.
526
+ *
527
+ * @stability unstable
528
+ * @category header values
529
+ * @since 4.0.0
530
+ */
531
+ export declare const parseHttpDate: (input: string) => Result.Result<DateTime.Utc, HeaderParseError>;
532
+ /**
533
+ * Formats a `DateTime` as an IMF-fixdate HTTP date, such as
534
+ * `Sun, 06 Nov 1994 08:49:37 GMT`.
535
+ *
536
+ * @stability unstable
537
+ * @category header values
538
+ * @since 4.0.0
539
+ */
540
+ export declare const formatHttpDate: (self: DateTime.DateTime) => string;
541
+ /**
542
+ * A `Retry-After` value given as a delay.
543
+ *
544
+ * **Details**
545
+ *
546
+ * The duration is always finite and non-negative. On the wire it is written
547
+ * as whole seconds, rounded up.
548
+ *
549
+ * @stability unstable
550
+ * @category models
551
+ * @since 4.0.0
552
+ */
553
+ export interface RetryAfterDuration {
554
+ readonly _tag: "Duration";
555
+ readonly duration: Duration.Duration;
556
+ }
557
+ /**
558
+ * A `Retry-After` value given as an HTTP date.
559
+ *
560
+ * @stability unstable
561
+ * @category models
562
+ * @since 4.0.0
563
+ */
564
+ export interface RetryAfterDateTime {
565
+ readonly _tag: "DateTime";
566
+ readonly dateTime: DateTime.Utc;
567
+ }
568
+ /**
569
+ * Represents a parsed `Retry-After` header value.
570
+ *
571
+ * **Details**
572
+ *
573
+ * The header carries either a delay in whole seconds or an absolute HTTP
574
+ * date. Use {@link retryAfterDelay} to turn either form into a `Duration`
575
+ * measured from a given instant.
576
+ *
577
+ * @stability unstable
578
+ * @category models
579
+ * @since 4.0.0
580
+ */
581
+ export type RetryAfter = RetryAfterDuration | RetryAfterDateTime;
582
+ /**
583
+ * Creates a `Retry-After` value from a delay.
584
+ *
585
+ * **Details**
586
+ *
587
+ * Infinite durations, positive or negative, have no header form and throw.
588
+ * That check runs first; a finite negative duration then becomes zero.
589
+ * Fractional seconds are kept, and {@link formatRetryAfter} rounds them up so
590
+ * the header never asks for a shorter wait.
591
+ *
592
+ * A plain number is read as milliseconds, as everywhere in `Duration`: pass
593
+ * `"120 seconds"` or `Duration.seconds(120)` for a two-minute delay.
594
+ *
595
+ * @stability unstable
596
+ * @category constructors
597
+ * @since 4.0.0
598
+ */
599
+ export declare const retryAfterDuration: (input: Duration.Input) => RetryAfter;
600
+ /**
601
+ * Creates a `Retry-After` value from an HTTP date.
602
+ *
603
+ * @stability unstable
604
+ * @category constructors
605
+ * @since 4.0.0
606
+ */
607
+ export declare const retryAfterDateTime: (dateTime: DateTime.Utc) => RetryAfter;
608
+ /**
609
+ * Parses a `Retry-After` header value.
610
+ *
611
+ * **Details**
612
+ *
613
+ * Accepts whole non-negative seconds (`120`) of any size, read exactly, or an
614
+ * HTTP date in any of the formats {@link parseHttpDate} accepts. Fractional,
615
+ * negative, exponent and non-finite numbers are rejected, as are dates in
616
+ * other formats.
617
+ *
618
+ * @stability unstable
619
+ * @category header values
620
+ * @since 4.0.0
621
+ */
622
+ export declare const parseRetryAfter: (input: string) => Result.Result<RetryAfter, HeaderParseError>;
623
+ /**
624
+ * Formats a `Retry-After` value as a header value: the delay as whole
625
+ * seconds, or the date as an IMF-fixdate.
626
+ *
627
+ * **Details**
628
+ *
629
+ * A delay with a fractional second is rounded up, since `Retry-After` is the
630
+ * least time to wait. Large delays are written as exact decimal digits.
631
+ *
632
+ * @stability unstable
633
+ * @category header values
634
+ * @since 4.0.0
635
+ */
636
+ export declare const formatRetryAfter: (self: RetryAfter) => string;
637
+ /**
638
+ * Computes how long to wait for a `Retry-After` value, measured from `now`
639
+ * in epoch milliseconds.
640
+ *
641
+ * **Details**
642
+ *
643
+ * A date that is already in the past yields a zero duration, never a
644
+ * negative one. Compute the delay when the retry is scheduled rather than
645
+ * when the header is parsed, so the wait reflects the time already spent.
646
+ *
647
+ * @stability unstable
648
+ * @category header values
649
+ * @since 4.0.0
650
+ */
651
+ export declare const retryAfterDelay: (self: RetryAfter, now: number) => Duration.Duration;
652
+ /**
653
+ * Provides an `Equivalence` instance for `Retry-After` values.
654
+ *
655
+ * @stability unstable
656
+ * @category instances
657
+ * @since 4.0.0
658
+ */
659
+ export declare const RetryAfterEquivalence: Equ.Equivalence<RetryAfter>;
660
+ export {};
434
661
  //# sourceMappingURL=Headers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Headers.d.ts","sourceRoot":"","sources":["../../src/http/Headers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Headers.d.ts","sourceRoot":"","sources":["../../src/http/Headers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,IAAI,MAAM,YAAY,CAAA;AAClC,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAE1C,OAAO,KAAK,GAAG,MAAM,mBAAmB,CAAA;AAIxC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAGtC;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAA2C,CAAA;AAEvE;;;;;;GAMG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,MAAO,OAAO,KAAG,CAAC,IAAI,OAA2C,CAAA;AAEvF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,OAAQ,SAAQ,UAAU,CAAC,UAAU;IACpD,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAC/B;AAwCD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,OAAO,CAAqD,CAAA;AAEtG;;;;;;;;;;GAUG;AACH,MAAM,MAAM,KAAK,GACb,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,GACzE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAEvC;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,EAAE,OAA8B,CAAA;AAElD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,OAmB1C,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB,UAAW,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,KAAG,OAChC,CAAA;AAEhD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,GAAG,EAAE;IAChB;;;;;;;;;;OAUG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAA;IACzC;;;;;;;;;;OAUG;IACH,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAIO,CAAA;AAE9C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,GAAG,EAAE;IAChB;;;;;;;;;;OAUG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACvD;;;;;;;;;;OAUG;IACH,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;CAIe,CAAA;AAEpE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,GAAG,EAAE;IAChB;;;;;;;;;;OAUG;IACH,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAA;IACxD;;;;;;;;;;OAUG;IACH,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;CAQpD,CAAA;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,EAAE;IACnB;;;;;;;;;;OAUG;IACH,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAA;IAC5C;;;;;;;;;;OAUG;IACH,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,OAAO,CAAA;CAQrC,CAAA;AAEL;;;;;;;;;;GAUG;AACH,eAAO,MAAM,KAAK,EAAE;IAClB;;;;;;;;;;OAUG;IACH,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAA;IAC9C;;;;;;;;;;OAUG;IACH,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAA;CAQ1C,CAAA;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,EAAE;IACnB;;;;;;;;;;OAUG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAA;IACzC;;;;;;;;;;OAUG;IACH,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAQrC,CAAA;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,EAAE;IACvB;;;;;;;;;;OAUG;IACH,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAA;IACpD;;;;;;;;;;OAUG;IACH,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAA;CAUhD,CAAA;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,EAAE;IACnB;;;;;;;;;;OAUG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACtH;;;;;;;;;;OAUG;IACH,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;CA+BnH,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,SACnB,MAAM,YACF,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,KACvC,OAaF,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,iDAS/B,CAAA;AAMF,QAAA,MAAM,sBAAsB,0CAA0C,CAAA;AAEtE;;;;;;;;;;GAUG;AACH,qBAAa,sBAAuB,SAAQ,IAAI,CAAC,KAAK,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,mBAAmB,CAAA;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAAC;CAAG;;;;AAEL;;;;;;;;;;GAUG;AACH,qBAAa,gBAAiB,SAAQ,sBAAqC;IACzE,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;CACxC,CAAC;IACA;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAE7F;IAED;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,sBAAsB,CAAC,2CAAyB;IAE1D;;;;;OAKG;IACH,IAAa,OAAO,WAEnB;CACF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,MAAO,OAAO,KAAG,CAAC,IAAI,gBACH,CAAA;AAkDlD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAKzF,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,SAAU,QAAQ,CAAC,QAAQ,KAAG,MAAgD,CAAA;AAMzG;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAA;CACrC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAA;CAChC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,GAAG,kBAAkB,GAAG,kBAAkB,CAAA;AAEhE;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB,UAAW,QAAQ,CAAC,KAAK,KAAG,UAM1D,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,aAAc,QAAQ,CAAC,GAAG,KAAG,UAA8C,CAAA;AAK1G;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,UAAW,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAczF,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,SAAU,UAAU,KAAG,MAGjB,CAAA;AAEnC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,SAAU,UAAU,OAAO,MAAM,KAAG,QAAQ,CAAC,QAGM,CAAA;AAE/E;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,GAAG,CAAC,WAAW,CAAC,UAAU,CAGsB,CAAA"}
@@ -6,10 +6,18 @@
6
6
  * reading and updating header values, and redacts configured sensitive headers
7
7
  * when values are inspected.
8
8
  *
9
+ * It also parses and formats the values of standard headers, such as HTTP
10
+ * dates and `Retry-After`, with the tolerance the RFCs allow and nothing more.
11
+ * The string codecs for those values live in `Schema`, for example
12
+ * `Schema.DateTimeUtcFromHttpDate` and `Schema.RetryAfterFromString`.
13
+ *
9
14
  * @stability unstable
10
15
  * @since 4.0.0
11
16
  */
12
17
  import * as Context from "../Context.js";
18
+ import * as Data from "../Data.js";
19
+ import * as DateTime from "../DateTime.js";
20
+ import * as Duration from "../Duration.js";
13
21
  import * as Equal from "../Equal.js";
14
22
  import * as Equ from "../Equivalence.js";
15
23
  import { dual } from "../Function.js";
@@ -20,6 +28,7 @@ import * as Predicate from "../Predicate.js";
20
28
  import * as Record from "../Record.js";
21
29
  import * as Redactable from "../Redactable.js";
22
30
  import * as Redacted from "../Redacted.js";
31
+ import * as Result from "../Result.js";
23
32
  /**
24
33
  * Runtime type identifier for `Headers` values.
25
34
  *
@@ -317,4 +326,256 @@ export const isRedactedName = (name, patterns) => {
317
326
  export const CurrentRedactedNames = /*#__PURE__*/Context.Reference("effect/Headers/CurrentRedactedNames", {
318
327
  defaultValue: () => ["authorization", "cookie", "set-cookie", "x-api-key"]
319
328
  });
329
+ // -----------------------------------------------------------------------------
330
+ // Header values
331
+ // -----------------------------------------------------------------------------
332
+ const HeaderParseErrorTypeId = "~effect/http/Headers/HeaderParseError";
333
+ /**
334
+ * Error reason describing which header value failed to parse.
335
+ *
336
+ * **Details**
337
+ *
338
+ * `input` is the raw header value that was rejected.
339
+ *
340
+ * @stability unstable
341
+ * @category errors
342
+ * @since 4.0.0
343
+ */
344
+ export class HeaderParseErrorReason extends Data.Error {}
345
+ /**
346
+ * Error returned when a header value does not match its grammar.
347
+ *
348
+ * **Details**
349
+ *
350
+ * Inspect `reason` to find the header that failed and the rejected input.
351
+ *
352
+ * @stability unstable
353
+ * @category errors
354
+ * @since 4.0.0
355
+ */
356
+ export class HeaderParseError extends /*#__PURE__*/Data.TaggedError("HeaderParseError") {
357
+ /**
358
+ * Creates a header parse error from a reason tag and the rejected input.
359
+ *
360
+ * @stability unstable
361
+ * @since 4.0.0
362
+ */
363
+ static fromReason(reason, input) {
364
+ return new HeaderParseError({
365
+ reason: new HeaderParseErrorReason({
366
+ _tag: reason,
367
+ input
368
+ })
369
+ });
370
+ }
371
+ /**
372
+ * Marks this value as a header parse error for runtime guards.
373
+ *
374
+ * @stability unstable
375
+ * @since 4.0.0
376
+ */
377
+ [HeaderParseErrorTypeId] = HeaderParseErrorTypeId;
378
+ /**
379
+ * Names the failed header and the rejected input.
380
+ *
381
+ * @stability unstable
382
+ * @since 4.0.0
383
+ */
384
+ get message() {
385
+ return `${this.reason._tag}: ${JSON.stringify(this.reason.input)}`;
386
+ }
387
+ }
388
+ /**
389
+ * Checks whether a value is a `HeaderParseError`.
390
+ *
391
+ * @stability unstable
392
+ * @category guards
393
+ * @since 4.0.0
394
+ */
395
+ export const isHeaderParseError = u => Predicate.hasProperty(u, HeaderParseErrorTypeId);
396
+ // -----------------------------------------------------------------------------
397
+ // HTTP dates (RFC 9110 §5.6.7)
398
+ // -----------------------------------------------------------------------------
399
+ const monthNames = ["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"];
400
+ // RFC 9110 §5.6.7: IMF-fixdate, then the obsolete RFC 850 and asctime forms
401
+ const httpDateFormats = [
402
+ // Sun, 06 Nov 1994 08:49:37 GMT
403
+ /^(?:mon|tue|wed|thu|fri|sat|sun), (?<day>\d{2}) (?<month>[a-z]{3}) (?<year>\d{4}) (?<hour>\d{2}):(?<minute>\d{2}):(?<second>\d{2}) gmt$/i,
404
+ // Sunday, 06-Nov-94 08:49:37 GMT
405
+ /^(?:monday|tuesday|wednesday|thursday|friday|saturday|sunday), (?<day>\d{2})-(?<month>[a-z]{3})-(?<year>\d{2}) (?<hour>\d{2}):(?<minute>\d{2}):(?<second>\d{2}) gmt$/i,
406
+ // Sun Nov 6 08:49:37 1994
407
+ /^(?:mon|tue|wed|thu|fri|sat|sun) (?<month>[a-z]{3}) (?<day> \d|\d{2}) (?<hour>\d{2}):(?<minute>\d{2}):(?<second>\d{2}) (?<year>\d{4})$/i];
408
+ const httpDateToMillis = input => {
409
+ for (const format of httpDateFormats) {
410
+ const groups = format.exec(input)?.groups;
411
+ if (groups === undefined) continue;
412
+ const month = monthNames.indexOf(groups.month.toLowerCase());
413
+ const hour = Number(groups.hour);
414
+ const minute = Number(groups.minute);
415
+ const second = Number(groups.second);
416
+ // the grammar allows 23:59:60 for a leap second
417
+ if (month === -1 || hour > 23 || minute > 59 || second > 60) {
418
+ return undefined;
419
+ }
420
+ // two-digit years use a fixed pivot, see parseHttpDate
421
+ let year = Number(groups.year);
422
+ if (groups.year.length === 2) {
423
+ year += year < 70 ? 2000 : 1900;
424
+ }
425
+ const day = Number(groups.day);
426
+ // setUTCFullYear keeps years below 100 as-is, unlike Date.UTC
427
+ const date = new Date(0);
428
+ date.setUTCFullYear(year, month, day);
429
+ // an impossible day such as 31 Feb rolls over into the next month
430
+ if (date.getUTCFullYear() !== year || date.getUTCMonth() !== month || date.getUTCDate() !== day) {
431
+ return undefined;
432
+ }
433
+ // a leap second cannot be represented in epoch time and reads as the
434
+ // following second
435
+ return date.getTime() + ((hour * 60 + minute) * 60 + second) * 1000;
436
+ }
437
+ return undefined;
438
+ };
439
+ /**
440
+ * Parses an HTTP date header value into a UTC `DateTime`.
441
+ *
442
+ * **Details**
443
+ *
444
+ * Accepts the three formats of RFC 9110 §5.6.7: the preferred IMF-fixdate
445
+ * (`Sun, 06 Nov 1994 08:49:37 GMT`), the obsolete RFC 850 format
446
+ * (`Sunday, 06-Nov-94 08:49:37 GMT`) and the asctime format
447
+ * (`Sun Nov 6 08:49:37 1994`). All three are read as UTC regardless of the
448
+ * process time zone. Day and month names are case-insensitive, and the day
449
+ * name is not checked against the date. A leap second (`23:59:60`) is read
450
+ * as the following second, since epoch time cannot represent it.
451
+ *
452
+ * The two-digit year of the RFC 850 format is read with a fixed pivot:
453
+ * `70`-`99` as 1970-1999 and `00`-`69` as 2000-2069. This deviates from
454
+ * RFC 9110, which asks for the year to be chosen relative to the current
455
+ * time so that it is never more than 50 years in the future. The fixed pivot
456
+ * keeps parsing independent of the clock and matches most other HTTP
457
+ * implementations.
458
+ *
459
+ * @stability unstable
460
+ * @category header values
461
+ * @since 4.0.0
462
+ */
463
+ export const parseHttpDate = input => {
464
+ const millis = httpDateToMillis(input.trim());
465
+ return millis === undefined ? Result.fail(HeaderParseError.fromReason("InvalidHttpDate", input)) : Result.succeed(DateTime.makeUnsafe(millis));
466
+ };
467
+ /**
468
+ * Formats a `DateTime` as an IMF-fixdate HTTP date, such as
469
+ * `Sun, 06 Nov 1994 08:49:37 GMT`.
470
+ *
471
+ * @stability unstable
472
+ * @category header values
473
+ * @since 4.0.0
474
+ */
475
+ export const formatHttpDate = self => DateTime.toDateUtc(self).toUTCString();
476
+ /**
477
+ * Creates a `Retry-After` value from a delay.
478
+ *
479
+ * **Details**
480
+ *
481
+ * Infinite durations, positive or negative, have no header form and throw.
482
+ * That check runs first; a finite negative duration then becomes zero.
483
+ * Fractional seconds are kept, and {@link formatRetryAfter} rounds them up so
484
+ * the header never asks for a shorter wait.
485
+ *
486
+ * A plain number is read as milliseconds, as everywhere in `Duration`: pass
487
+ * `"120 seconds"` or `Duration.seconds(120)` for a two-minute delay.
488
+ *
489
+ * @stability unstable
490
+ * @category constructors
491
+ * @since 4.0.0
492
+ */
493
+ export const retryAfterDuration = input => {
494
+ const duration = Duration.fromInputUnsafe(input);
495
+ if (!Duration.isFinite(duration)) {
496
+ throw new Error("Cannot create a Retry-After value from an infinite duration");
497
+ }
498
+ return {
499
+ _tag: "Duration",
500
+ duration: Duration.isNegative(duration) ? Duration.zero : duration
501
+ };
502
+ };
503
+ /**
504
+ * Creates a `Retry-After` value from an HTTP date.
505
+ *
506
+ * @stability unstable
507
+ * @category constructors
508
+ * @since 4.0.0
509
+ */
510
+ export const retryAfterDateTime = dateTime => ({
511
+ _tag: "DateTime",
512
+ dateTime
513
+ });
514
+ const wholeSeconds = /^\d+$/;
515
+ const nanosPerSecond = /*#__PURE__*/BigInt(1_000_000_000);
516
+ /**
517
+ * Parses a `Retry-After` header value.
518
+ *
519
+ * **Details**
520
+ *
521
+ * Accepts whole non-negative seconds (`120`) of any size, read exactly, or an
522
+ * HTTP date in any of the formats {@link parseHttpDate} accepts. Fractional,
523
+ * negative, exponent and non-finite numbers are rejected, as are dates in
524
+ * other formats.
525
+ *
526
+ * @stability unstable
527
+ * @category header values
528
+ * @since 4.0.0
529
+ */
530
+ export const parseRetryAfter = input => {
531
+ const trimmed = input.trim();
532
+ if (wholeSeconds.test(trimmed)) {
533
+ const seconds = Number(trimmed);
534
+ // Keep the millisecond form while it is exact; beyond that, count nanos.
535
+ const duration = Number.isSafeInteger(seconds * 1000) ? Duration.seconds(seconds) : Duration.nanos(BigInt(trimmed) * nanosPerSecond);
536
+ return Result.succeed({
537
+ _tag: "Duration",
538
+ duration
539
+ });
540
+ }
541
+ const millis = httpDateToMillis(trimmed);
542
+ return millis === undefined ? Result.fail(HeaderParseError.fromReason("InvalidRetryAfter", input)) : Result.succeed(retryAfterDateTime(DateTime.makeUnsafe(millis)));
543
+ };
544
+ /**
545
+ * Formats a `Retry-After` value as a header value: the delay as whole
546
+ * seconds, or the date as an IMF-fixdate.
547
+ *
548
+ * **Details**
549
+ *
550
+ * A delay with a fractional second is rounded up, since `Retry-After` is the
551
+ * least time to wait. Large delays are written as exact decimal digits.
552
+ *
553
+ * @stability unstable
554
+ * @category header values
555
+ * @since 4.0.0
556
+ */
557
+ export const formatRetryAfter = self => self._tag === "Duration" ? String((Duration.toNanosUnsafe(self.duration) + nanosPerSecond - BigInt(1)) / nanosPerSecond) : formatHttpDate(self.dateTime);
558
+ /**
559
+ * Computes how long to wait for a `Retry-After` value, measured from `now`
560
+ * in epoch milliseconds.
561
+ *
562
+ * **Details**
563
+ *
564
+ * A date that is already in the past yields a zero duration, never a
565
+ * negative one. Compute the delay when the retry is scheduled rather than
566
+ * when the header is parsed, so the wait reflects the time already spent.
567
+ *
568
+ * @stability unstable
569
+ * @category header values
570
+ * @since 4.0.0
571
+ */
572
+ export const retryAfterDelay = (self, now) => self._tag === "Duration" ? self.duration : Duration.millis(Math.max(0, DateTime.toEpochMillis(self.dateTime) - now));
573
+ /**
574
+ * Provides an `Equivalence` instance for `Retry-After` values.
575
+ *
576
+ * @stability unstable
577
+ * @category instances
578
+ * @since 4.0.0
579
+ */
580
+ export const RetryAfterEquivalence = (self, that) => self._tag === "Duration" ? that._tag === "Duration" && Duration.Equivalence(self.duration, that.duration) : that._tag === "DateTime" && DateTime.Equivalence(self.dateTime, that.dateTime);
320
581
  //# sourceMappingURL=Headers.js.map