effect 4.0.7 → 4.1.0

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 (679) hide show
  1. package/README.md +1 -1
  2. package/dist/BigDecimal.d.ts.map +1 -1
  3. package/dist/BigDecimal.js +3 -0
  4. package/dist/BigDecimal.js.map +1 -1
  5. package/dist/Channel.d.ts +12 -6
  6. package/dist/Channel.d.ts.map +1 -1
  7. package/dist/Channel.js +9 -3
  8. package/dist/Channel.js.map +1 -1
  9. package/dist/Config.d.ts +7 -1
  10. package/dist/Config.d.ts.map +1 -1
  11. package/dist/Config.js.map +1 -1
  12. package/dist/Context.d.ts +18 -1
  13. package/dist/Context.d.ts.map +1 -1
  14. package/dist/Context.js +27 -8
  15. package/dist/Context.js.map +1 -1
  16. package/dist/Cron.d.ts +81 -11
  17. package/dist/Cron.d.ts.map +1 -1
  18. package/dist/Cron.js +101 -26
  19. package/dist/Cron.js.map +1 -1
  20. package/dist/Duration.d.ts +78 -0
  21. package/dist/Duration.d.ts.map +1 -1
  22. package/dist/Duration.js +123 -0
  23. package/dist/Duration.js.map +1 -1
  24. package/dist/Effect.d.ts +164 -7
  25. package/dist/Effect.d.ts.map +1 -1
  26. package/dist/Effect.js +11 -1
  27. package/dist/Effect.js.map +1 -1
  28. package/dist/FileSystem.d.ts +59 -4
  29. package/dist/FileSystem.d.ts.map +1 -1
  30. package/dist/FileSystem.js +9 -2
  31. package/dist/FileSystem.js.map +1 -1
  32. package/dist/Glob.d.ts +165 -0
  33. package/dist/Glob.d.ts.map +1 -0
  34. package/dist/Glob.js +127 -0
  35. package/dist/Glob.js.map +1 -0
  36. package/dist/Match.d.ts +86 -0
  37. package/dist/Match.d.ts.map +1 -1
  38. package/dist/Match.js +72 -0
  39. package/dist/Match.js.map +1 -1
  40. package/dist/Pool.d.ts +51 -0
  41. package/dist/Pool.d.ts.map +1 -1
  42. package/dist/Pool.js +59 -9
  43. package/dist/Pool.js.map +1 -1
  44. package/dist/Random.d.ts.map +1 -1
  45. package/dist/Random.js +3 -3
  46. package/dist/Random.js.map +1 -1
  47. package/dist/RcMap.d.ts.map +1 -1
  48. package/dist/RcMap.js +8 -2
  49. package/dist/RcMap.js.map +1 -1
  50. package/dist/Schedule.d.ts +18 -1
  51. package/dist/Schedule.d.ts.map +1 -1
  52. package/dist/Schedule.js +7 -2
  53. package/dist/Schedule.js.map +1 -1
  54. package/dist/Schema.d.ts +666 -41
  55. package/dist/Schema.d.ts.map +1 -1
  56. package/dist/Schema.js +650 -0
  57. package/dist/Schema.js.map +1 -1
  58. package/dist/SchemaGetter.d.ts +6 -1
  59. package/dist/SchemaGetter.d.ts.map +1 -1
  60. package/dist/SchemaGetter.js +22 -11
  61. package/dist/SchemaGetter.js.map +1 -1
  62. package/dist/SchemaRepresentation.d.ts +14 -0
  63. package/dist/SchemaRepresentation.d.ts.map +1 -1
  64. package/dist/SchemaRepresentation.js +16 -0
  65. package/dist/SchemaRepresentation.js.map +1 -1
  66. package/dist/SchemaTransformation.d.ts +8 -3
  67. package/dist/SchemaTransformation.d.ts.map +1 -1
  68. package/dist/SchemaTransformation.js +6 -3
  69. package/dist/SchemaTransformation.js.map +1 -1
  70. package/dist/ScopedCache.d.ts.map +1 -1
  71. package/dist/ScopedCache.js +5 -7
  72. package/dist/ScopedCache.js.map +1 -1
  73. package/dist/Semaphore.d.ts +130 -0
  74. package/dist/Semaphore.d.ts.map +1 -1
  75. package/dist/Semaphore.js +40 -0
  76. package/dist/Semaphore.js.map +1 -1
  77. package/dist/Stream.d.ts +13 -4
  78. package/dist/Stream.d.ts.map +1 -1
  79. package/dist/Stream.js +9 -0
  80. package/dist/Stream.js.map +1 -1
  81. package/dist/Terminal.d.ts +18 -1
  82. package/dist/Terminal.d.ts.map +1 -1
  83. package/dist/Terminal.js +1 -1
  84. package/dist/Terminal.js.map +1 -1
  85. package/dist/ai/AiError.d.ts +43 -116
  86. package/dist/ai/AiError.d.ts.map +1 -1
  87. package/dist/ai/AiError.js +53 -72
  88. package/dist/ai/AiError.js.map +1 -1
  89. package/dist/ai/Decision.d.ts +196 -15
  90. package/dist/ai/Decision.d.ts.map +1 -1
  91. package/dist/ai/Decision.js +130 -0
  92. package/dist/ai/Decision.js.map +1 -1
  93. package/dist/ai/DecisionModel.d.ts +54 -13
  94. package/dist/ai/DecisionModel.d.ts.map +1 -1
  95. package/dist/ai/DecisionModel.js +123 -12
  96. package/dist/ai/DecisionModel.js.map +1 -1
  97. package/dist/ai/McpServer.d.ts +630 -29
  98. package/dist/ai/McpServer.d.ts.map +1 -1
  99. package/dist/ai/McpServer.js +562 -116
  100. package/dist/ai/McpServer.js.map +1 -1
  101. package/dist/ai/McpTest.d.ts +130 -0
  102. package/dist/ai/McpTest.d.ts.map +1 -0
  103. package/dist/ai/McpTest.js +237 -0
  104. package/dist/ai/McpTest.js.map +1 -0
  105. package/dist/ai/Response.d.ts +1 -25
  106. package/dist/ai/Response.d.ts.map +1 -1
  107. package/dist/ai/Response.js +1 -10
  108. package/dist/ai/Response.js.map +1 -1
  109. package/dist/ai/Tool.d.ts +19 -1
  110. package/dist/ai/Tool.d.ts.map +1 -1
  111. package/dist/ai/Tool.js.map +1 -1
  112. package/dist/ai/index.d.ts +5 -0
  113. package/dist/ai/index.d.ts.map +1 -1
  114. package/dist/ai/index.js +5 -0
  115. package/dist/ai/index.js.map +1 -1
  116. package/dist/ai/internal/mcpCore.js +17 -12
  117. package/dist/ai/internal/mcpCore.js.map +1 -1
  118. package/dist/ai/internal/mcpProtocol/v2024_11_05.js +4 -5
  119. package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
  120. package/dist/ai/internal/mcpProtocol/v2025_03_26.js +4 -5
  121. package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
  122. package/dist/ai/internal/mcpProtocol/v2025_06_18.js +4 -5
  123. package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
  124. package/dist/ai/internal/mcpProtocol/v2025_11_25.js +4 -5
  125. package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
  126. package/dist/ai/internal/mcpProtocol/v2026_07_28.js +18 -10
  127. package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
  128. package/dist/ai/internal/mcpProtocol.js +13 -0
  129. package/dist/ai/internal/mcpProtocol.js.map +1 -1
  130. package/dist/ai/internal/mcpRuntime.js +5 -3
  131. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  132. package/dist/ai/internal/mcpStatefulRuntime.js +6 -1
  133. package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
  134. package/dist/cli/Argument.d.ts +6 -0
  135. package/dist/cli/Argument.d.ts.map +1 -1
  136. package/dist/cli/Argument.js +2 -0
  137. package/dist/cli/Argument.js.map +1 -1
  138. package/dist/cli/CliOutput.d.ts +65 -1
  139. package/dist/cli/CliOutput.d.ts.map +1 -1
  140. package/dist/cli/CliOutput.js +94 -37
  141. package/dist/cli/CliOutput.js.map +1 -1
  142. package/dist/cli/Command.d.ts +23 -0
  143. package/dist/cli/Command.d.ts.map +1 -1
  144. package/dist/cli/Command.js +8 -0
  145. package/dist/cli/Command.js.map +1 -1
  146. package/dist/cli/Flag.d.ts +107 -0
  147. package/dist/cli/Flag.d.ts.map +1 -1
  148. package/dist/cli/Flag.js +37 -0
  149. package/dist/cli/Flag.js.map +1 -1
  150. package/dist/cli/HelpDoc.d.ts +15 -1
  151. package/dist/cli/HelpDoc.d.ts.map +1 -1
  152. package/dist/cli/Param.d.ts +6 -0
  153. package/dist/cli/Param.d.ts.map +1 -1
  154. package/dist/cli/Param.js +2 -0
  155. package/dist/cli/Param.js.map +1 -1
  156. package/dist/cli/Primitive.d.ts +14 -0
  157. package/dist/cli/Primitive.d.ts.map +1 -1
  158. package/dist/cli/Primitive.js +15 -1
  159. package/dist/cli/Primitive.js.map +1 -1
  160. package/dist/cli/Prompt.d.ts +1 -0
  161. package/dist/cli/Prompt.d.ts.map +1 -1
  162. package/dist/cli/Prompt.js +1 -0
  163. package/dist/cli/Prompt.js.map +1 -1
  164. package/dist/cli/internal/help.d.ts.map +1 -1
  165. package/dist/cli/internal/help.js +17 -10
  166. package/dist/cli/internal/help.js.map +1 -1
  167. package/dist/cluster/Sharding.d.ts.map +1 -1
  168. package/dist/cluster/Sharding.js +90 -28
  169. package/dist/cluster/Sharding.js.map +1 -1
  170. package/dist/cluster/ShardingConfig.d.ts +72 -6
  171. package/dist/cluster/ShardingConfig.d.ts.map +1 -1
  172. package/dist/cluster/ShardingConfig.js +4 -0
  173. package/dist/cluster/ShardingConfig.js.map +1 -1
  174. package/dist/cluster/SingleRunner.d.ts +3 -3
  175. package/dist/cluster/SingleRunner.d.ts.map +1 -1
  176. package/dist/cluster/SingleRunner.js +1 -1
  177. package/dist/cluster/SqlMessageStorage.d.ts +37 -6
  178. package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
  179. package/dist/cluster/SqlMessageStorage.js +34 -7
  180. package/dist/cluster/SqlMessageStorage.js.map +1 -1
  181. package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
  182. package/dist/cluster/SqlRunnerStorage.js +23 -8
  183. package/dist/cluster/SqlRunnerStorage.js.map +1 -1
  184. package/dist/crypto/Aead.d.ts +322 -0
  185. package/dist/crypto/Aead.d.ts.map +1 -0
  186. package/dist/crypto/Aead.js +331 -0
  187. package/dist/crypto/Aead.js.map +1 -0
  188. package/dist/crypto/Cipher.d.ts +235 -0
  189. package/dist/crypto/Cipher.d.ts.map +1 -0
  190. package/dist/crypto/Cipher.js +233 -0
  191. package/dist/crypto/Cipher.js.map +1 -0
  192. package/dist/crypto/CryptoError.d.ts +212 -0
  193. package/dist/crypto/CryptoError.d.ts.map +1 -0
  194. package/dist/crypto/CryptoError.js +202 -0
  195. package/dist/crypto/CryptoError.js.map +1 -0
  196. package/dist/crypto/Digest.d.ts +143 -0
  197. package/dist/crypto/Digest.d.ts.map +1 -0
  198. package/dist/crypto/Digest.js +146 -0
  199. package/dist/crypto/Digest.js.map +1 -0
  200. package/dist/crypto/Kdf.d.ts +220 -0
  201. package/dist/crypto/Kdf.d.ts.map +1 -0
  202. package/dist/crypto/Kdf.js +212 -0
  203. package/dist/crypto/Kdf.js.map +1 -0
  204. package/dist/crypto/KeyAgreement.d.ts +323 -0
  205. package/dist/crypto/KeyAgreement.d.ts.map +1 -0
  206. package/dist/crypto/KeyAgreement.js +303 -0
  207. package/dist/crypto/KeyAgreement.js.map +1 -0
  208. package/dist/crypto/KeyFormat.d.ts +309 -0
  209. package/dist/crypto/KeyFormat.d.ts.map +1 -0
  210. package/dist/crypto/KeyFormat.js +556 -0
  211. package/dist/crypto/KeyFormat.js.map +1 -0
  212. package/dist/crypto/KeyWrap.d.ts +389 -0
  213. package/dist/crypto/KeyWrap.d.ts.map +1 -0
  214. package/dist/crypto/KeyWrap.js +381 -0
  215. package/dist/crypto/KeyWrap.js.map +1 -0
  216. package/dist/crypto/Mac.d.ts +277 -0
  217. package/dist/crypto/Mac.d.ts.map +1 -0
  218. package/dist/crypto/Mac.js +288 -0
  219. package/dist/crypto/Mac.js.map +1 -0
  220. package/dist/crypto/SecureRandom.d.ts +340 -0
  221. package/dist/crypto/SecureRandom.d.ts.map +1 -0
  222. package/dist/crypto/SecureRandom.js +257 -0
  223. package/dist/crypto/SecureRandom.js.map +1 -0
  224. package/dist/crypto/Signature.d.ts +448 -0
  225. package/dist/crypto/Signature.d.ts.map +1 -0
  226. package/dist/crypto/Signature.js +484 -0
  227. package/dist/crypto/Signature.js.map +1 -0
  228. package/dist/crypto/WebCrypto.d.ts +61 -0
  229. package/dist/crypto/WebCrypto.d.ts.map +1 -0
  230. package/dist/crypto/WebCrypto.js +63 -0
  231. package/dist/crypto/WebCrypto.js.map +1 -0
  232. package/dist/crypto/index.d.ts +65 -0
  233. package/dist/crypto/index.d.ts.map +1 -0
  234. package/dist/crypto/index.js +66 -0
  235. package/dist/crypto/index.js.map +1 -0
  236. package/dist/crypto/internal/asymmetric.d.ts +2 -0
  237. package/dist/crypto/internal/asymmetric.d.ts.map +1 -0
  238. package/dist/crypto/internal/asymmetric.js +210 -0
  239. package/dist/crypto/internal/asymmetric.js.map +1 -0
  240. package/dist/crypto/internal/chacha.d.ts +46 -0
  241. package/dist/crypto/internal/chacha.d.ts.map +1 -0
  242. package/dist/crypto/internal/chacha.js +885 -0
  243. package/dist/crypto/internal/chacha.js.map +1 -0
  244. package/dist/crypto/internal/der.d.ts +6 -0
  245. package/dist/crypto/internal/der.d.ts.map +1 -0
  246. package/dist/crypto/internal/der.js +86 -0
  247. package/dist/crypto/internal/der.js.map +1 -0
  248. package/dist/crypto/internal/digest.d.ts +2 -0
  249. package/dist/crypto/internal/digest.d.ts.map +1 -0
  250. package/dist/crypto/internal/digest.js +15 -0
  251. package/dist/crypto/internal/digest.js.map +1 -0
  252. package/dist/crypto/internal/key.d.ts +2 -0
  253. package/dist/crypto/internal/key.d.ts.map +1 -0
  254. package/dist/crypto/internal/key.js +170 -0
  255. package/dist/crypto/internal/key.js.map +1 -0
  256. package/dist/crypto/internal/md5.d.ts +39 -0
  257. package/dist/crypto/internal/md5.d.ts.map +1 -0
  258. package/dist/crypto/internal/md5.js +179 -0
  259. package/dist/crypto/internal/md5.js.map +1 -0
  260. package/dist/crypto/internal/webCrypto.d.ts +2 -0
  261. package/dist/crypto/internal/webCrypto.d.ts.map +1 -0
  262. package/dist/crypto/internal/webCrypto.js +111 -0
  263. package/dist/crypto/internal/webCrypto.js.map +1 -0
  264. package/dist/encoding/Base64Url.d.ts.map +1 -1
  265. package/dist/encoding/Base64Url.js +3 -2
  266. package/dist/encoding/Base64Url.js.map +1 -1
  267. package/dist/encoding/Csv.d.ts +608 -0
  268. package/dist/encoding/Csv.d.ts.map +1 -0
  269. package/dist/encoding/Csv.js +718 -0
  270. package/dist/encoding/Csv.js.map +1 -0
  271. package/dist/encoding/Hex.d.ts +3 -2
  272. package/dist/encoding/Hex.d.ts.map +1 -1
  273. package/dist/encoding/Hex.js +3 -2
  274. package/dist/encoding/Hex.js.map +1 -1
  275. package/dist/encoding/SchemaBinary.d.ts.map +1 -1
  276. package/dist/encoding/SchemaBinary.js +42 -4
  277. package/dist/encoding/SchemaBinary.js.map +1 -1
  278. package/dist/encoding/Toml.d.ts +17 -3
  279. package/dist/encoding/Toml.d.ts.map +1 -1
  280. package/dist/encoding/Toml.js +104 -16
  281. package/dist/encoding/Toml.js.map +1 -1
  282. package/dist/encoding/Yaml.d.ts +8 -1
  283. package/dist/encoding/Yaml.d.ts.map +1 -1
  284. package/dist/encoding/Yaml.js +54 -18
  285. package/dist/encoding/Yaml.js.map +1 -1
  286. package/dist/encoding/index.d.ts +5 -0
  287. package/dist/encoding/index.d.ts.map +1 -1
  288. package/dist/encoding/index.js +5 -0
  289. package/dist/encoding/index.js.map +1 -1
  290. package/dist/eventlog/EventJournal.d.ts.map +1 -1
  291. package/dist/eventlog/EventJournal.js +6 -3
  292. package/dist/eventlog/EventJournal.js.map +1 -1
  293. package/dist/eventlog/EventLog.d.ts +119 -4
  294. package/dist/eventlog/EventLog.d.ts.map +1 -1
  295. package/dist/eventlog/EventLog.js +200 -12
  296. package/dist/eventlog/EventLog.js.map +1 -1
  297. package/dist/eventlog/EventLogEncryption.d.ts +41 -4
  298. package/dist/eventlog/EventLogEncryption.d.ts.map +1 -1
  299. package/dist/eventlog/EventLogEncryption.js +83 -64
  300. package/dist/eventlog/EventLogEncryption.js.map +1 -1
  301. package/dist/eventlog/EventLogMessage.d.ts +279 -0
  302. package/dist/eventlog/EventLogMessage.d.ts.map +1 -1
  303. package/dist/eventlog/EventLogMessage.js +217 -1
  304. package/dist/eventlog/EventLogMessage.js.map +1 -1
  305. package/dist/eventlog/EventLogRemote.d.ts +200 -28
  306. package/dist/eventlog/EventLogRemote.d.ts.map +1 -1
  307. package/dist/eventlog/EventLogRemote.js +186 -16
  308. package/dist/eventlog/EventLogRemote.js.map +1 -1
  309. package/dist/eventlog/EventLogServer.d.ts +3 -0
  310. package/dist/eventlog/EventLogServer.d.ts.map +1 -1
  311. package/dist/eventlog/EventLogServer.js +18 -10
  312. package/dist/eventlog/EventLogServer.js.map +1 -1
  313. package/dist/eventlog/EventLogServerEncrypted.d.ts +326 -5
  314. package/dist/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  315. package/dist/eventlog/EventLogServerEncrypted.js +769 -14
  316. package/dist/eventlog/EventLogServerEncrypted.js.map +1 -1
  317. package/dist/eventlog/EventLogSessionAuth.d.ts +5 -3
  318. package/dist/eventlog/EventLogSessionAuth.d.ts.map +1 -1
  319. package/dist/eventlog/EventLogSessionAuth.js +41 -64
  320. package/dist/eventlog/EventLogSessionAuth.js.map +1 -1
  321. package/dist/eventlog/EventRow.d.ts +4 -0
  322. package/dist/eventlog/EventRow.d.ts.map +1 -1
  323. package/dist/eventlog/EventRow.js +12 -2
  324. package/dist/eventlog/EventRow.js.map +1 -1
  325. package/dist/eventlog/SqlEventJournal.js +2 -2
  326. package/dist/eventlog/SqlEventJournal.js.map +1 -1
  327. package/dist/eventlog/SqlEventLogServerEncrypted.d.ts +21 -5
  328. package/dist/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
  329. package/dist/eventlog/SqlEventLogServerEncrypted.js +1048 -113
  330. package/dist/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  331. package/dist/eventlog/SqlEventLogServerUnencrypted.js +2 -2
  332. package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  333. package/dist/eventlog/internal/batches.d.ts +12 -0
  334. package/dist/eventlog/internal/batches.d.ts.map +1 -0
  335. package/dist/eventlog/internal/batches.js +26 -0
  336. package/dist/eventlog/internal/batches.js.map +1 -0
  337. package/dist/eventlog/internal/compaction.d.ts +38 -0
  338. package/dist/eventlog/internal/compaction.d.ts.map +1 -0
  339. package/dist/eventlog/internal/compaction.js +33 -0
  340. package/dist/eventlog/internal/compaction.js.map +1 -0
  341. package/dist/eventlog/internal/identityRootSecretDerivation.js +66 -67
  342. package/dist/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  343. package/dist/eventlog/internal/remoteCompaction.d.ts +31 -0
  344. package/dist/eventlog/internal/remoteCompaction.d.ts.map +1 -0
  345. package/dist/eventlog/internal/remoteCompaction.js +76 -0
  346. package/dist/eventlog/internal/remoteCompaction.js.map +1 -0
  347. package/dist/http/Cookies.d.ts +172 -0
  348. package/dist/http/Cookies.d.ts.map +1 -1
  349. package/dist/http/Cookies.js +143 -1
  350. package/dist/http/Cookies.js.map +1 -1
  351. package/dist/http/FetchHttpClient.d.ts +26 -2
  352. package/dist/http/FetchHttpClient.d.ts.map +1 -1
  353. package/dist/http/FetchHttpClient.js +78 -15
  354. package/dist/http/FetchHttpClient.js.map +1 -1
  355. package/dist/http/HttpClient.d.ts +79 -8
  356. package/dist/http/HttpClient.d.ts.map +1 -1
  357. package/dist/http/HttpClient.js +65 -5
  358. package/dist/http/HttpClient.js.map +1 -1
  359. package/dist/http/HttpClientRequest.d.ts +9 -5
  360. package/dist/http/HttpClientRequest.d.ts.map +1 -1
  361. package/dist/http/HttpClientRequest.js +2 -3
  362. package/dist/http/HttpClientRequest.js.map +1 -1
  363. package/dist/http/HttpClientResponse.d.ts.map +1 -1
  364. package/dist/http/HttpClientResponse.js +3 -2
  365. package/dist/http/HttpClientResponse.js.map +1 -1
  366. package/dist/http/HttpMethod.d.ts +7 -1
  367. package/dist/http/HttpMethod.d.ts.map +1 -1
  368. package/dist/http/HttpMethod.js +3 -8
  369. package/dist/http/HttpMethod.js.map +1 -1
  370. package/dist/http/HttpServerRequest.d.ts +5 -2
  371. package/dist/http/HttpServerRequest.d.ts.map +1 -1
  372. package/dist/http/HttpServerRequest.js +6 -17
  373. package/dist/http/HttpServerRequest.js.map +1 -1
  374. package/dist/http/HttpServerResponse.d.ts.map +1 -1
  375. package/dist/http/HttpServerResponse.js +3 -2
  376. package/dist/http/HttpServerResponse.js.map +1 -1
  377. package/dist/http/HttpTraceContext.d.ts +2 -1
  378. package/dist/http/HttpTraceContext.d.ts.map +1 -1
  379. package/dist/http/HttpTraceContext.js +7 -5
  380. package/dist/http/HttpTraceContext.js.map +1 -1
  381. package/dist/http/ProblemDetails.d.ts +96 -0
  382. package/dist/http/ProblemDetails.d.ts.map +1 -0
  383. package/dist/http/ProblemDetails.js +98 -0
  384. package/dist/http/ProblemDetails.js.map +1 -0
  385. package/dist/http/index.d.ts +5 -0
  386. package/dist/http/index.d.ts.map +1 -1
  387. package/dist/http/index.js +5 -0
  388. package/dist/http/index.js.map +1 -1
  389. package/dist/http/internal/decompression.js +3 -2
  390. package/dist/http/internal/decompression.js.map +1 -1
  391. package/dist/http/internal/urlParams.js +8 -0
  392. package/dist/http/internal/urlParams.js.map +1 -1
  393. package/dist/http-api/HttpApiBuilder.js +19 -5
  394. package/dist/http-api/HttpApiBuilder.js.map +1 -1
  395. package/dist/http-api/HttpApiClient.d.ts +63 -0
  396. package/dist/http-api/HttpApiClient.d.ts.map +1 -1
  397. package/dist/http-api/HttpApiClient.js +51 -0
  398. package/dist/http-api/HttpApiClient.js.map +1 -1
  399. package/dist/http-api/HttpApiEndpoint.d.ts.map +1 -1
  400. package/dist/http-api/HttpApiEndpoint.js +14 -5
  401. package/dist/http-api/HttpApiEndpoint.js.map +1 -1
  402. package/dist/http-api/HttpApiError.d.ts +185 -13
  403. package/dist/http-api/HttpApiError.d.ts.map +1 -1
  404. package/dist/http-api/HttpApiError.js +128 -0
  405. package/dist/http-api/HttpApiError.js.map +1 -1
  406. package/dist/http-api/HttpApiMiddleware.d.ts +64 -17
  407. package/dist/http-api/HttpApiMiddleware.d.ts.map +1 -1
  408. package/dist/http-api/HttpApiMiddleware.js +85 -1
  409. package/dist/http-api/HttpApiMiddleware.js.map +1 -1
  410. package/dist/http-api/HttpApiSchema.d.ts +76 -14
  411. package/dist/http-api/HttpApiSchema.d.ts.map +1 -1
  412. package/dist/http-api/HttpApiSchema.js +53 -0
  413. package/dist/http-api/HttpApiSchema.js.map +1 -1
  414. package/dist/index.d.ts +5 -5
  415. package/dist/index.d.ts.map +1 -1
  416. package/dist/index.js +5 -5
  417. package/dist/index.js.map +1 -1
  418. package/dist/internal/effect.js +25 -14
  419. package/dist/internal/effect.js.map +1 -1
  420. package/dist/internal/glob.d.ts +2 -0
  421. package/dist/internal/glob.d.ts.map +1 -0
  422. package/dist/internal/glob.js +630 -0
  423. package/dist/internal/glob.js.map +1 -0
  424. package/dist/internal/matcher.js +10 -0
  425. package/dist/internal/matcher.js.map +1 -1
  426. package/dist/internal/persistence.js +9 -0
  427. package/dist/internal/persistence.js.map +1 -1
  428. package/dist/internal/rcRef.js +4 -1
  429. package/dist/internal/rcRef.js.map +1 -1
  430. package/dist/internal/schema/toCodeDocument.js +6 -3
  431. package/dist/internal/schema/toCodeDocument.js.map +1 -1
  432. package/dist/internal/trie.js +42 -13
  433. package/dist/internal/trie.js.map +1 -1
  434. package/dist/internal/ulid.js +41 -0
  435. package/dist/internal/ulid.js.map +1 -1
  436. package/dist/internal/uuid.js +52 -8
  437. package/dist/internal/uuid.js.map +1 -1
  438. package/dist/internal/version.js +1 -1
  439. package/dist/observability/Otlp.d.ts +15 -4
  440. package/dist/observability/Otlp.d.ts.map +1 -1
  441. package/dist/observability/Otlp.js +10 -0
  442. package/dist/observability/Otlp.js.map +1 -1
  443. package/dist/observability/OtlpResource.d.ts +7 -0
  444. package/dist/observability/OtlpResource.d.ts.map +1 -1
  445. package/dist/observability/OtlpResource.js +11 -1
  446. package/dist/observability/OtlpResource.js.map +1 -1
  447. package/dist/persistence/KeyValueStore.d.ts +47 -2
  448. package/dist/persistence/KeyValueStore.d.ts.map +1 -1
  449. package/dist/persistence/KeyValueStore.js +129 -18
  450. package/dist/persistence/KeyValueStore.js.map +1 -1
  451. package/dist/persistence/PersistedQueue.d.ts +9 -0
  452. package/dist/persistence/PersistedQueue.d.ts.map +1 -1
  453. package/dist/persistence/PersistedQueue.js +94 -52
  454. package/dist/persistence/PersistedQueue.js.map +1 -1
  455. package/dist/persistence/Persistence.d.ts +10 -4
  456. package/dist/persistence/Persistence.d.ts.map +1 -1
  457. package/dist/persistence/Persistence.js +18 -11
  458. package/dist/persistence/Persistence.js.map +1 -1
  459. package/dist/process/ChildProcess.d.ts +207 -67
  460. package/dist/process/ChildProcess.d.ts.map +1 -1
  461. package/dist/process/ChildProcess.js +56 -158
  462. package/dist/process/ChildProcess.js.map +1 -1
  463. package/dist/process/ChildProcessSpawner.d.ts +5 -0
  464. package/dist/process/ChildProcessSpawner.d.ts.map +1 -1
  465. package/dist/process/ChildProcessSpawner.js.map +1 -1
  466. package/dist/process/CommandLine.d.ts +294 -0
  467. package/dist/process/CommandLine.d.ts.map +1 -0
  468. package/dist/process/CommandLine.js +481 -0
  469. package/dist/process/CommandLine.js.map +1 -0
  470. package/dist/process/index.d.ts +5 -0
  471. package/dist/process/index.d.ts.map +1 -1
  472. package/dist/process/index.js +5 -0
  473. package/dist/process/index.js.map +1 -1
  474. package/dist/reactivity/Atom.d.ts +2 -1
  475. package/dist/reactivity/Atom.d.ts.map +1 -1
  476. package/dist/reactivity/Atom.js +3 -4
  477. package/dist/reactivity/Atom.js.map +1 -1
  478. package/dist/reactivity/AtomRegistry.js.map +1 -1
  479. package/dist/rpc/RpcClient.d.ts +16 -1
  480. package/dist/rpc/RpcClient.d.ts.map +1 -1
  481. package/dist/rpc/RpcClient.js +50 -16
  482. package/dist/rpc/RpcClient.js.map +1 -1
  483. package/dist/rpc/RpcMessage.d.ts +10 -1
  484. package/dist/rpc/RpcMessage.d.ts.map +1 -1
  485. package/dist/rpc/RpcMessage.js +1 -0
  486. package/dist/rpc/RpcMessage.js.map +1 -1
  487. package/dist/rpc/RpcSerialization.d.ts.map +1 -1
  488. package/dist/rpc/RpcSerialization.js +6 -0
  489. package/dist/rpc/RpcSerialization.js.map +1 -1
  490. package/dist/rpc/RpcServer.d.ts +31 -0
  491. package/dist/rpc/RpcServer.d.ts.map +1 -1
  492. package/dist/rpc/RpcServer.js +139 -66
  493. package/dist/rpc/RpcServer.js.map +1 -1
  494. package/dist/schema/Model.d.ts +14 -0
  495. package/dist/schema/Model.d.ts.map +1 -1
  496. package/dist/schema/Model.js +18 -3
  497. package/dist/schema/Model.js.map +1 -1
  498. package/dist/sql/Migrator.d.ts +0 -19
  499. package/dist/sql/Migrator.d.ts.map +1 -1
  500. package/dist/sql/Migrator.js +3 -48
  501. package/dist/sql/Migrator.js.map +1 -1
  502. package/dist/sql/MigratorFileSystem.d.ts +21 -0
  503. package/dist/sql/MigratorFileSystem.d.ts.map +1 -0
  504. package/dist/sql/MigratorFileSystem.js +57 -0
  505. package/dist/sql/MigratorFileSystem.js.map +1 -0
  506. package/dist/sql/SqlClient.d.ts.map +1 -1
  507. package/dist/sql/SqlClient.js +5 -9
  508. package/dist/sql/SqlClient.js.map +1 -1
  509. package/dist/sql/Statement.d.ts +20 -6
  510. package/dist/sql/Statement.d.ts.map +1 -1
  511. package/dist/sql/Statement.js +0 -13
  512. package/dist/sql/Statement.js.map +1 -1
  513. package/dist/sql/index.js +1 -1
  514. package/dist/testing/index.d.ts +0 -5
  515. package/dist/testing/index.d.ts.map +1 -1
  516. package/dist/testing/index.js +0 -5
  517. package/dist/testing/index.js.map +1 -1
  518. package/dist/workflow/internal/crypto.js +9 -8
  519. package/dist/workflow/internal/crypto.js.map +1 -1
  520. package/package.json +3 -1
  521. package/src/BigDecimal.ts +3 -0
  522. package/src/Channel.ts +17 -11
  523. package/src/Config.ts +7 -1
  524. package/src/Context.ts +34 -10
  525. package/src/Cron.ts +178 -29
  526. package/src/Duration.ts +140 -0
  527. package/src/Effect.ts +914 -85
  528. package/src/FileSystem.ts +65 -4
  529. package/src/Glob.ts +205 -0
  530. package/src/Match.ts +127 -0
  531. package/src/Pool.ts +73 -15
  532. package/src/Random.ts +3 -3
  533. package/src/RcMap.ts +5 -1
  534. package/src/Schedule.ts +26 -3
  535. package/src/Schema.ts +1189 -62
  536. package/src/SchemaGetter.ts +27 -11
  537. package/src/SchemaRepresentation.ts +19 -0
  538. package/src/SchemaTransformation.ts +8 -3
  539. package/src/ScopedCache.ts +5 -9
  540. package/src/Semaphore.ts +141 -0
  541. package/src/Stream.ts +15 -6
  542. package/src/Terminal.ts +19 -1
  543. package/src/ai/AiError.ts +56 -80
  544. package/src/ai/Decision.ts +257 -6
  545. package/src/ai/DecisionModel.ts +171 -28
  546. package/src/ai/McpServer.ts +1269 -286
  547. package/src/ai/McpTest.ts +380 -0
  548. package/src/ai/Response.ts +2 -22
  549. package/src/ai/Tool.ts +27 -8
  550. package/src/ai/index.ts +6 -0
  551. package/src/ai/internal/mcpCore.ts +78 -44
  552. package/src/ai/internal/mcpProtocol/v2024_11_05.ts +4 -7
  553. package/src/ai/internal/mcpProtocol/v2025_03_26.ts +4 -7
  554. package/src/ai/internal/mcpProtocol/v2025_06_18.ts +4 -7
  555. package/src/ai/internal/mcpProtocol/v2025_11_25.ts +4 -7
  556. package/src/ai/internal/mcpProtocol/v2026_07_28.ts +15 -10
  557. package/src/ai/internal/mcpProtocol.ts +29 -0
  558. package/src/ai/internal/mcpRuntime.ts +9 -5
  559. package/src/ai/internal/mcpStatefulRuntime.ts +14 -2
  560. package/src/cli/Argument.ts +6 -0
  561. package/src/cli/CliOutput.ts +117 -49
  562. package/src/cli/Command.ts +23 -0
  563. package/src/cli/Flag.ts +107 -0
  564. package/src/cli/HelpDoc.ts +18 -1
  565. package/src/cli/Param.ts +6 -0
  566. package/src/cli/Primitive.ts +16 -1
  567. package/src/cli/Prompt.ts +1 -0
  568. package/src/cli/internal/help.ts +21 -9
  569. package/src/cluster/Sharding.ts +93 -26
  570. package/src/cluster/ShardingConfig.ts +41 -3
  571. package/src/cluster/SingleRunner.ts +3 -3
  572. package/src/cluster/SqlMessageStorage.ts +49 -17
  573. package/src/cluster/SqlRunnerStorage.ts +37 -27
  574. package/src/crypto/Aead.ts +517 -0
  575. package/src/crypto/Cipher.ts +326 -0
  576. package/src/crypto/CryptoError.ts +242 -0
  577. package/src/crypto/Digest.ts +167 -0
  578. package/src/crypto/Kdf.ts +315 -0
  579. package/src/crypto/KeyAgreement.ts +489 -0
  580. package/src/crypto/KeyFormat.ts +712 -0
  581. package/src/crypto/KeyWrap.ts +639 -0
  582. package/src/crypto/Mac.ts +386 -0
  583. package/src/crypto/SecureRandom.ts +459 -0
  584. package/src/crypto/Signature.ts +673 -0
  585. package/src/crypto/WebCrypto.ts +64 -0
  586. package/src/crypto/index.ts +78 -0
  587. package/src/crypto/internal/asymmetric.ts +329 -0
  588. package/src/crypto/internal/chacha.ts +1088 -0
  589. package/src/crypto/internal/der.ts +110 -0
  590. package/src/crypto/internal/digest.ts +16 -0
  591. package/src/crypto/internal/key.ts +235 -0
  592. package/src/crypto/internal/md5.ts +170 -0
  593. package/src/crypto/internal/webCrypto.ts +150 -0
  594. package/src/encoding/Base64Url.ts +5 -2
  595. package/src/encoding/Csv.ts +1298 -0
  596. package/src/encoding/Hex.ts +3 -2
  597. package/src/encoding/SchemaBinary.ts +40 -4
  598. package/src/encoding/Toml.ts +85 -20
  599. package/src/encoding/Yaml.ts +61 -18
  600. package/src/encoding/index.ts +6 -0
  601. package/src/eventlog/EventJournal.ts +4 -3
  602. package/src/eventlog/EventLog.ts +340 -15
  603. package/src/eventlog/EventLogEncryption.ts +118 -110
  604. package/src/eventlog/EventLogMessage.ts +273 -1
  605. package/src/eventlog/EventLogRemote.ts +367 -23
  606. package/src/eventlog/EventLogServer.ts +23 -8
  607. package/src/eventlog/EventLogServerEncrypted.ts +1130 -67
  608. package/src/eventlog/EventLogSessionAuth.ts +56 -70
  609. package/src/eventlog/EventRow.ts +12 -3
  610. package/src/eventlog/SqlEventJournal.ts +2 -2
  611. package/src/eventlog/SqlEventLogServerEncrypted.ts +1244 -136
  612. package/src/eventlog/SqlEventLogServerUnencrypted.ts +2 -2
  613. package/src/eventlog/internal/batches.ts +30 -0
  614. package/src/eventlog/internal/compaction.ts +64 -0
  615. package/src/eventlog/internal/identityRootSecretDerivation.ts +93 -123
  616. package/src/eventlog/internal/remoteCompaction.ts +92 -0
  617. package/src/http/Cookies.ts +281 -1
  618. package/src/http/FetchHttpClient.ts +88 -16
  619. package/src/http/HttpClient.ts +89 -22
  620. package/src/http/HttpClientRequest.ts +12 -9
  621. package/src/http/HttpClientResponse.ts +3 -2
  622. package/src/http/HttpMethod.ts +10 -2
  623. package/src/http/HttpServerRequest.ts +15 -30
  624. package/src/http/HttpServerResponse.ts +3 -2
  625. package/src/http/HttpTraceContext.ts +7 -4
  626. package/src/http/ProblemDetails.ts +149 -0
  627. package/src/http/index.ts +6 -0
  628. package/src/http/internal/decompression.ts +4 -4
  629. package/src/http/internal/urlParams.ts +8 -0
  630. package/src/http-api/HttpApiBuilder.ts +24 -12
  631. package/src/http-api/HttpApiClient.ts +67 -1
  632. package/src/http-api/HttpApiEndpoint.ts +14 -5
  633. package/src/http-api/HttpApiError.ts +250 -0
  634. package/src/http-api/HttpApiMiddleware.ts +95 -1
  635. package/src/http-api/HttpApiSchema.ts +105 -14
  636. package/src/index.ts +6 -6
  637. package/src/internal/effect.ts +34 -18
  638. package/src/internal/glob.ts +736 -0
  639. package/src/internal/matcher.ts +17 -0
  640. package/src/internal/persistence.ts +11 -0
  641. package/src/internal/rcRef.ts +4 -1
  642. package/src/internal/schema/toCodeDocument.ts +7 -3
  643. package/src/internal/trie.ts +43 -14
  644. package/src/internal/ulid.ts +44 -0
  645. package/src/internal/uuid.ts +57 -16
  646. package/src/internal/version.ts +1 -1
  647. package/src/observability/Otlp.ts +21 -4
  648. package/src/observability/OtlpResource.ts +9 -1
  649. package/src/persistence/KeyValueStore.ts +219 -22
  650. package/src/persistence/PersistedQueue.ts +128 -59
  651. package/src/persistence/Persistence.ts +20 -13
  652. package/src/process/ChildProcess.ts +255 -260
  653. package/src/process/ChildProcessSpawner.ts +5 -0
  654. package/src/process/CommandLine.ts +630 -0
  655. package/src/process/index.ts +6 -0
  656. package/src/reactivity/Atom.ts +5 -5
  657. package/src/reactivity/AtomRegistry.ts +1 -1
  658. package/src/rpc/RpcClient.ts +62 -26
  659. package/src/rpc/RpcMessage.ts +10 -1
  660. package/src/rpc/RpcSerialization.ts +3 -0
  661. package/src/rpc/RpcServer.ts +176 -78
  662. package/src/schema/Model.ts +26 -3
  663. package/src/sql/Migrator.ts +4 -63
  664. package/src/sql/MigratorFileSystem.ts +71 -0
  665. package/src/sql/SqlClient.ts +2 -16
  666. package/src/sql/Statement.ts +8 -7
  667. package/src/sql/index.ts +1 -1
  668. package/src/testing/index.ts +0 -6
  669. package/src/workflow/internal/crypto.ts +15 -11
  670. package/dist/Crypto.d.ts +0 -244
  671. package/dist/Crypto.d.ts.map +0 -1
  672. package/dist/Crypto.js +0 -139
  673. package/dist/Crypto.js.map +0 -1
  674. package/dist/testing/TestCrypto.d.ts +0 -73
  675. package/dist/testing/TestCrypto.d.ts.map +0 -1
  676. package/dist/testing/TestCrypto.js +0 -87
  677. package/dist/testing/TestCrypto.js.map +0 -1
  678. package/src/Crypto.ts +0 -347
  679. package/src/testing/TestCrypto.ts +0 -94
package/dist/Schema.d.ts CHANGED
@@ -17,6 +17,13 @@ import type * as Brand from "./Brand.ts";
17
17
  import * as ByteSize_ from "./ByteSize.ts";
18
18
  import * as Cause_ from "./Cause.ts";
19
19
  import * as Chunk_ from "./Chunk.ts";
20
+ import * as Aead_ from "./crypto/Aead.ts";
21
+ import * as Cipher_ from "./crypto/Cipher.ts";
22
+ import * as KeyAgreement_ from "./crypto/KeyAgreement.ts";
23
+ import * as KeyFormat_ from "./crypto/KeyFormat.ts";
24
+ import * as KeyWrap_ from "./crypto/KeyWrap.ts";
25
+ import * as Mac_ from "./crypto/Mac.ts";
26
+ import * as Signature_ from "./crypto/Signature.ts";
20
27
  import * as DateTime from "./DateTime.ts";
21
28
  import type { Differ } from "./Differ.ts";
22
29
  import * as Duration_ from "./Duration.ts";
@@ -5158,7 +5165,27 @@ type Flatten<Schemas> = Schemas extends readonly [infer Head, ...infer Tail] ? H
5158
5165
  type MatchCasesResult<Cases> = {
5159
5166
  [K in keyof Cases]-?: NonNullable<Cases[K]> extends (...args: Array<any>) => infer R ? R : never;
5160
5167
  }[keyof Cases];
5161
- type MatchOrElseResult<Cases, OrElse extends (...args: Array<any>) => any> = Unify<MatchCasesResult<Cases> | ReturnType<OrElse>>;
5168
+ type MatchOrElseResult<Cases, OrElse> = Unify<MatchCasesResult<Cases> | (OrElse extends (...args: Array<any>) => infer R ? R : never)>;
5169
+ type TaggedUnionMatch<Cases extends Record<PropertyKey, Constraint>, Value> = {
5170
+ <Handlers extends {
5171
+ [K in keyof Cases]: (value: Cases[K]["Type"]) => any;
5172
+ }>(value: Value, cases: Handlers): Unify<ReturnType<Handlers[keyof Cases]>>;
5173
+ <Handlers extends {
5174
+ [K in keyof Cases]: (value: Cases[K]["Type"]) => any;
5175
+ }>(cases: Handlers): (value: Value) => Unify<ReturnType<Handlers[keyof Cases]>>;
5176
+ };
5177
+ type TaggedUnionMatchOrElse<Cases extends Record<PropertyKey, Constraint>, Value, Tag extends PropertyKey> = {
5178
+ <Handlers, OrElse>(value: Value, cases: Handlers & {
5179
+ [K in keyof Cases]?: (value: Cases[K]["Type"]) => any;
5180
+ } & (Exclude<keyof Handlers, keyof Cases> extends never ? unknown : never), orElse: OrElse & ((value: Exclude<Value, {
5181
+ readonly [K in Tag]: keyof Handlers;
5182
+ }>) => any)): MatchOrElseResult<Handlers, OrElse>;
5183
+ <Handlers, OrElse>(cases: Handlers & {
5184
+ [K in keyof Cases]?: (value: Cases[K]["Type"]) => any;
5185
+ } & (Exclude<keyof Handlers, keyof Cases> extends never ? unknown : never), orElse: OrElse & ((value: Exclude<Value, {
5186
+ readonly [K in Tag]: keyof Handlers;
5187
+ }>) => any)): (value: Value) => MatchOrElseResult<Handlers, OrElse>;
5188
+ };
5162
5189
  type TaggedUnionUtils<Tag extends PropertyKey, Members extends ReadonlyArray<Constraint & {
5163
5190
  readonly Type: {
5164
5191
  readonly [K in Tag]: PropertyKey;
@@ -5187,30 +5214,12 @@ type TaggedUnionUtils<Tag extends PropertyKey, Members extends ReadonlyArray<Con
5187
5214
  readonly guards: {
5188
5215
  [M in Flattened[number] as M["Type"][Tag]]: (u: unknown) => u is M["Type"];
5189
5216
  };
5190
- readonly match: {
5191
- <Cases extends {
5192
- [M in Flattened[number] as M["Type"][Tag]]: (value: M["Type"]) => any;
5193
- }>(value: Members[number]["Type"], cases: Cases): Cases[keyof Cases] extends (value: any) => infer R ? Unify<R> : never;
5194
- <Cases extends {
5195
- [M in Flattened[number] as M["Type"][Tag]]: (value: M["Type"]) => any;
5196
- }>(cases: Cases): (value: Members[number]["Type"]) => Cases[keyof Cases] extends (value: any) => infer R ? Unify<R> : never;
5197
- };
5198
- readonly matchOrElse: {
5199
- <Cases extends {
5200
- [M in Flattened[number] as M["Type"][Tag]]+?: (value: M["Type"]) => any;
5201
- } & {
5202
- [K in Exclude<keyof Cases, Flattened[number]["Type"][Tag]>]: never;
5203
- }, OrElse extends (value: Exclude<Members[number]["Type"], {
5204
- readonly [K in Tag]: keyof Cases;
5205
- }>) => any>(value: Members[number]["Type"], cases: Cases, orElse: OrElse): MatchOrElseResult<Cases, OrElse>;
5206
- <Cases extends {
5207
- [M in Flattened[number] as M["Type"][Tag]]+?: (value: M["Type"]) => any;
5208
- } & {
5209
- [K in Exclude<keyof Cases, Flattened[number]["Type"][Tag]>]: never;
5210
- }, OrElse extends (value: Exclude<Members[number]["Type"], {
5211
- readonly [K in Tag]: keyof Cases;
5212
- }>) => any>(cases: Cases, orElse: OrElse): (value: Members[number]["Type"]) => MatchOrElseResult<Cases, OrElse>;
5213
- };
5217
+ readonly match: TaggedUnionMatch<{
5218
+ readonly [M in Flattened[number] as M["Type"][Tag]]: M;
5219
+ }, Members[number]["Type"]>;
5220
+ readonly matchOrElse: TaggedUnionMatchOrElse<{
5221
+ readonly [M in Flattened[number] as M["Type"][Tag]]: M;
5222
+ }, Members[number]["Type"], Tag>;
5214
5223
  };
5215
5224
  /**
5216
5225
  * Type-level representation returned by {@link toTaggedUnion}.
@@ -5297,22 +5306,8 @@ export interface TaggedUnion<Cases extends Record<string, Constraint>> extends B
5297
5306
  readonly guards: {
5298
5307
  [K in keyof Cases]: (u: unknown) => u is Cases[K]["Type"];
5299
5308
  };
5300
- readonly match: {
5301
- <Output>(cases: {
5302
- [K in keyof Cases]: (value: Cases[K]["Type"]) => Output;
5303
- }): (value: Cases[keyof Cases]["Type"]) => Output;
5304
- <Output>(value: Cases[keyof Cases]["Type"], cases: {
5305
- [K in keyof Cases]: (value: Cases[K]["Type"]) => Output;
5306
- }): Output;
5307
- };
5308
- readonly matchOrElse: {
5309
- <Output>(value: Cases[keyof Cases]["Type"], cases: {
5310
- [K in keyof Cases]?: (value: Cases[K]["Type"]) => Output;
5311
- }, orElse: (value: Cases[keyof Cases]["Type"]) => Output): Output;
5312
- <Output>(cases: {
5313
- [K in keyof Cases]?: (value: Cases[K]["Type"]) => Output;
5314
- }, orElse: (value: Cases[keyof Cases]["Type"]) => Output): (value: Cases[keyof Cases]["Type"]) => Output;
5315
- };
5309
+ readonly match: TaggedUnionMatch<Cases, Cases[keyof Cases]["Type"]>;
5310
+ readonly matchOrElse: TaggedUnionMatchOrElse<Cases, Cases[keyof Cases]["Type"], "_tag">;
5316
5311
  }
5317
5312
  /**
5318
5313
  * Builds a discriminated union from a record of field sets, one per variant.
@@ -5722,6 +5717,35 @@ export declare function isGUID(annotations?: Annotations.Filter): SchemaAST.Filt
5722
5717
  * @since 4.0.0
5723
5718
  */
5724
5719
  export declare function isULID(annotations?: Annotations.Filter): SchemaAST.Filter<string>;
5720
+ /**
5721
+ * Validates that a string contains only ASCII characters.
5722
+ *
5723
+ * **When to use**
5724
+ *
5725
+ * Use when a value must stay within the 7-bit ASCII range, for example
5726
+ * identifiers, protocol tokens, or data sent to systems that reject
5727
+ * non-ASCII input.
5728
+ *
5729
+ * **Details**
5730
+ *
5731
+ * This check accepts strings whose characters are all in the range `U+0000`
5732
+ * to `U+007F`, including control characters and the empty string.
5733
+ *
5734
+ * JSON Schema:
5735
+ *
5736
+ * This check corresponds to a `pattern` constraint in JSON Schema that matches
5737
+ * ASCII-only strings.
5738
+ *
5739
+ * Arbitrary:
5740
+ *
5741
+ * During arbitrary generation, this applies a `patterns`
5742
+ * constraint to ensure generated strings match the ASCII pattern.
5743
+ *
5744
+ * @stability unstable
5745
+ * @category validation
5746
+ * @since 4.0.6
5747
+ */
5748
+ export declare function isAscii(annotations?: Annotations.Filter): SchemaAST.Filter<string>;
5725
5749
  /**
5726
5750
  * Validates that a string is valid Base64 encoded data.
5727
5751
  *
@@ -9876,6 +9900,38 @@ export interface DurationFromMillis extends decodeTo<Duration, Number> {
9876
9900
  * @since 3.10.0
9877
9901
  */
9878
9902
  export declare const DurationFromMillis: DurationFromMillis;
9903
+ /**
9904
+ * Type-level representation of {@link DurationFromIsoString}.
9905
+ *
9906
+ * @stability stable
9907
+ * @category models
9908
+ * @since 4.1.0
9909
+ */
9910
+ export interface DurationFromIsoString extends decodeTo<Duration, String> {
9911
+ readonly "Rebuild": DurationFromIsoString;
9912
+ }
9913
+ /**
9914
+ * Schema that decodes an ISO 8601 duration string into a `Duration`.
9915
+ *
9916
+ * **Details**
9917
+ *
9918
+ * Decoding:
9919
+ * - A string accepted by `Duration.fromIso` is decoded as a `Duration`, such
9920
+ * as `"PT1H30M"`, `"P1W2D"`, or `"-PT0.5S"`. Years and months are rejected
9921
+ * because they have no fixed length.
9922
+ *
9923
+ * Encoding:
9924
+ * - A finite `Duration` is encoded with `Duration.formatIso`, using days,
9925
+ * hours, minutes, and seconds. Encoding fails for `Duration.infinity` and
9926
+ * `Duration.negativeInfinity`.
9927
+ *
9928
+ * @see {@link DurationFromString} for the `"5 seconds"` string format
9929
+ *
9930
+ * @stability stable
9931
+ * @category schemas
9932
+ * @since 4.1.0
9933
+ */
9934
+ export declare const DurationFromIsoString: DurationFromIsoString;
9879
9935
  /**
9880
9936
  * Type-level representation of {@link DnsRecordType}.
9881
9937
  *
@@ -10154,6 +10210,575 @@ export interface DnsRecord extends Union<readonly [
10154
10210
  * @since 4.0.0
10155
10211
  */
10156
10212
  export declare const DnsRecord: DnsRecord;
10213
+ type CryptoKeyOptions = {
10214
+ readonly allowEncode?: boolean | undefined;
10215
+ };
10216
+ /**
10217
+ * Type-level representation of {@link MacKey}.
10218
+ *
10219
+ * @stability unstable
10220
+ * @category models
10221
+ * @since 4.0.0
10222
+ */
10223
+ export interface MacKey<A extends Mac_.Algorithm = Mac_.Algorithm> extends declare<Mac_.Key<A>> {
10224
+ readonly "Rebuild": MacKey<A>;
10225
+ }
10226
+ /**
10227
+ * Schema for live `Mac.Key` values of an algorithm.
10228
+ *
10229
+ * **Details**
10230
+ *
10231
+ * Decoding checks the key's algorithm and returns the key itself. The key has
10232
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
10233
+ * {@link MacKeyFromFormat} or {@link MacKeyFromBytes} to read and write keys.
10234
+ * Keys display redacted, compare by reference, and have no `Arbitrary`.
10235
+ *
10236
+ * @stability unstable
10237
+ * @category crypto
10238
+ * @since 4.0.0
10239
+ */
10240
+ export declare const MacKey: <A extends Mac_.Algorithm>(algorithm: A) => MacKey<A>;
10241
+ /**
10242
+ * Schema that decodes raw key bytes into a `Mac.Key`.
10243
+ *
10244
+ * **Details**
10245
+ *
10246
+ * Decoding runs `Mac.key`, which is synchronous, so the schema works with
10247
+ * `Schema.decodeSync`. Under `Config.schema` the bytes are read as base64. A
10248
+ * `CryptoError` becomes an `InvalidValue` issue whose `cause` is the error.
10249
+ * Encoding fails with a `Forbidden` issue unless `allowEncode` is `true`.
10250
+ *
10251
+ * **Example** (Reading an HMAC key from the environment)
10252
+ *
10253
+ * ```ts import.meta.vitest
10254
+ * import { Config, ConfigProvider, Effect, Schema } from "effect"
10255
+ * import { Mac } from "effect/crypto"
10256
+ *
10257
+ * const config = Config.schema(Schema.MacKeyFromBytes(Mac.hmacSha256), "HMAC_KEY")
10258
+ * const provider = ConfigProvider.fromEnv({ env: { HMAC_KEY: "A".repeat(43) + "=" } })
10259
+ * const key = await Effect.runPromise(Effect.provide(config, ConfigProvider.layer(provider)))
10260
+ * key.algorithm.name // => "hmacSha256"
10261
+ * ```
10262
+ *
10263
+ * @stability unstable
10264
+ * @category crypto
10265
+ * @since 4.0.0
10266
+ */
10267
+ export declare const MacKeyFromBytes: <A extends Mac_.Algorithm>(algorithm: A, options?: CryptoKeyOptions) => decodeTo<MacKey<A>, Uint8Array>;
10268
+ /**
10269
+ * Schema that decodes a `Mac.Key` from a JWK with `KeyFormat.decodeSecret`.
10270
+ *
10271
+ * **Details**
10272
+ *
10273
+ * Decoding returns an Effect, so use the async decoding functions:
10274
+ * `Schema.decodeSync` throws. A `CryptoError` becomes an `InvalidValue` issue
10275
+ * whose `cause` is the error. Encoding fails with a `Forbidden` issue unless
10276
+ * `allowEncode` is `true`.
10277
+ *
10278
+ * @stability unstable
10279
+ * @category crypto
10280
+ * @since 4.0.0
10281
+ */
10282
+ export declare const MacKeyFromFormat: <A extends Mac_.Algorithm, Data>(format: KeyFormat_.Format<"secret", "decode", Data>, algorithm: A, options?: CryptoKeyOptions) => decodeTo<MacKey<A>, Codec<Data>>;
10283
+ /**
10284
+ * Type-level representation of {@link AeadKey}.
10285
+ *
10286
+ * @stability unstable
10287
+ * @category models
10288
+ * @since 4.0.0
10289
+ */
10290
+ export interface AeadKey<A extends Aead_.Algorithm = Aead_.Algorithm> extends declare<Aead_.Key<A>> {
10291
+ readonly "Rebuild": AeadKey<A>;
10292
+ }
10293
+ /**
10294
+ * Schema for live `Aead.Key` values of an algorithm.
10295
+ *
10296
+ * **Details**
10297
+ *
10298
+ * Decoding checks the key's algorithm and returns the key itself. The key has
10299
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
10300
+ * {@link AeadKeyFromFormat} or {@link AeadKeyFromBytes} to read and write
10301
+ * keys. Keys display redacted, compare by reference, and have no `Arbitrary`.
10302
+ *
10303
+ * @stability unstable
10304
+ * @category crypto
10305
+ * @since 4.0.0
10306
+ */
10307
+ export declare const AeadKey: <A extends Aead_.Algorithm>(algorithm: A) => AeadKey<A>;
10308
+ /**
10309
+ * Schema that decodes raw key bytes into an `Aead.Key`.
10310
+ *
10311
+ * **Details**
10312
+ *
10313
+ * Decoding runs `Aead.key`, which is synchronous, so the schema works with
10314
+ * `Schema.decodeSync`. Under `Config.schema` the bytes are read as base64. A
10315
+ * `CryptoError` becomes an `InvalidValue` issue whose `cause` is the error.
10316
+ * Encoding fails with a `Forbidden` issue unless `allowEncode` is `true`.
10317
+ *
10318
+ * @stability unstable
10319
+ * @category crypto
10320
+ * @since 4.0.0
10321
+ */
10322
+ export declare const AeadKeyFromBytes: <A extends Aead_.Algorithm>(algorithm: A, options?: CryptoKeyOptions) => decodeTo<AeadKey<A>, Uint8Array>;
10323
+ /**
10324
+ * Schema that decodes an `Aead.Key` from a JWK with `KeyFormat.decodeSecret`.
10325
+ *
10326
+ * **Details**
10327
+ *
10328
+ * Decoding returns an Effect, so use the async decoding functions:
10329
+ * `Schema.decodeSync` throws. A `CryptoError` becomes an `InvalidValue` issue
10330
+ * whose `cause` is the error. Encoding fails with a `Forbidden` issue unless
10331
+ * `allowEncode` is `true`.
10332
+ *
10333
+ * @stability unstable
10334
+ * @category crypto
10335
+ * @since 4.0.0
10336
+ */
10337
+ export declare const AeadKeyFromFormat: <A extends Aead_.Algorithm, Data>(format: KeyFormat_.Format<"secret", "decode", Data>, algorithm: A, options?: CryptoKeyOptions) => decodeTo<AeadKey<A>, Codec<Data>>;
10338
+ /**
10339
+ * Type-level representation of {@link CipherKey}.
10340
+ *
10341
+ * @stability unstable
10342
+ * @category models
10343
+ * @since 4.0.0
10344
+ */
10345
+ export interface CipherKey<A extends Cipher_.Algorithm = Cipher_.Algorithm> extends declare<Cipher_.Key<A>> {
10346
+ readonly "Rebuild": CipherKey<A>;
10347
+ }
10348
+ /**
10349
+ * Schema for live `Cipher.Key` values of an algorithm.
10350
+ *
10351
+ * **Details**
10352
+ *
10353
+ * Decoding checks the key's algorithm and returns the key itself. The key has
10354
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
10355
+ * {@link CipherKeyFromFormat} or {@link CipherKeyFromBytes} to read and
10356
+ * write keys. Keys display redacted, compare by reference, and have no
10357
+ * `Arbitrary`.
10358
+ *
10359
+ * @stability unstable
10360
+ * @category crypto
10361
+ * @since 4.0.0
10362
+ */
10363
+ export declare const CipherKey: <A extends Cipher_.Algorithm>(algorithm: A) => CipherKey<A>;
10364
+ /**
10365
+ * Schema that decodes raw key bytes into a `Cipher.Key`.
10366
+ *
10367
+ * **Details**
10368
+ *
10369
+ * Decoding runs `Cipher.key`, which is synchronous, so the schema works with
10370
+ * `Schema.decodeSync`. Under `Config.schema` the bytes are read as base64. A
10371
+ * `CryptoError` becomes an `InvalidValue` issue whose `cause` is the error.
10372
+ * Encoding fails with a `Forbidden` issue unless `allowEncode` is `true`.
10373
+ *
10374
+ * @stability unstable
10375
+ * @category crypto
10376
+ * @since 4.0.0
10377
+ */
10378
+ export declare const CipherKeyFromBytes: <A extends Cipher_.Algorithm>(algorithm: A, options?: CryptoKeyOptions) => decodeTo<CipherKey<A>, Uint8Array>;
10379
+ /**
10380
+ * Schema that decodes a `Cipher.Key` from a JWK with
10381
+ * `KeyFormat.decodeSecret`.
10382
+ *
10383
+ * **Details**
10384
+ *
10385
+ * Decoding returns an Effect, so use the async decoding functions:
10386
+ * `Schema.decodeSync` throws. A `CryptoError` becomes an `InvalidValue` issue
10387
+ * whose `cause` is the error. Encoding fails with a `Forbidden` issue unless
10388
+ * `allowEncode` is `true`.
10389
+ *
10390
+ * @stability unstable
10391
+ * @category crypto
10392
+ * @since 4.0.0
10393
+ */
10394
+ export declare const CipherKeyFromFormat: <A extends Cipher_.Algorithm, Data>(format: KeyFormat_.Format<"secret", "decode", Data>, algorithm: A, options?: CryptoKeyOptions) => decodeTo<CipherKey<A>, Codec<Data>>;
10395
+ /**
10396
+ * Type-level representation of {@link SignaturePublicKey}.
10397
+ *
10398
+ * @stability unstable
10399
+ * @category models
10400
+ * @since 4.0.0
10401
+ */
10402
+ export interface SignaturePublicKey<A extends Signature_.Algorithm = Signature_.Algorithm> extends declare<Signature_.PublicKey<A>> {
10403
+ readonly "Rebuild": SignaturePublicKey<A>;
10404
+ }
10405
+ /**
10406
+ * Schema for live `Signature.PublicKey` values of an algorithm.
10407
+ *
10408
+ * **Details**
10409
+ *
10410
+ * Decoding checks the key's algorithm and returns the key itself. The key has
10411
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
10412
+ * {@link SignaturePublicKeyFromFormat} or {@link SignaturePublicKeyFromBytes}
10413
+ * to read and write keys. Keys compare by reference and have no `Arbitrary`.
10414
+ *
10415
+ * @stability unstable
10416
+ * @category crypto
10417
+ * @since 4.0.0
10418
+ */
10419
+ export declare const SignaturePublicKey: <A extends Signature_.Algorithm>(algorithm: A) => SignaturePublicKey<A>;
10420
+ /**
10421
+ * Schema that decodes a raw public key into a `Signature.PublicKey`: 32 bytes
10422
+ * for Ed25519, or an uncompressed SEC1 point for ECDSA.
10423
+ *
10424
+ * **Details**
10425
+ *
10426
+ * Decoding runs `Signature.publicKey`, which is synchronous, so the schema
10427
+ * works with `Schema.decodeSync`. Under `Config.schema` the bytes are read as
10428
+ * base64. A `CryptoError` becomes an `InvalidValue` issue whose `cause` is
10429
+ * the error. RSA public keys have no raw form, so passing an RSA algorithm is
10430
+ * a type error.
10431
+ *
10432
+ * @stability unstable
10433
+ * @category crypto
10434
+ * @since 4.0.0
10435
+ */
10436
+ export declare const SignaturePublicKeyFromBytes: <A extends Signature_.Ed25519 | Signature_.Ecdsa>(algorithm: A) => decodeTo<SignaturePublicKey<A>, Uint8Array>;
10437
+ /**
10438
+ * Schema that decodes a `Signature.PublicKey` with
10439
+ * `KeyFormat.decodePublic` and encodes it with `KeyFormat.encode`.
10440
+ *
10441
+ * **Details**
10442
+ *
10443
+ * The format must hold public keys: `KeyFormat.spki`, `KeyFormat.jwk`, or
10444
+ * `KeyFormat.pem(KeyFormat.spki)`. A format for another role is a type
10445
+ * error. Decoding runs the runtime's key import, so use the async decoding
10446
+ * functions: `Schema.decodeSync` throws. A `CryptoError` becomes an
10447
+ * `InvalidValue` issue whose `cause` is the error.
10448
+ *
10449
+ * @stability unstable
10450
+ * @category crypto
10451
+ * @since 4.0.0
10452
+ */
10453
+ export declare const SignaturePublicKeyFromFormat: <A extends Signature_.Algorithm, Data>(format: KeyFormat_.Format<"public", "decode", Data>, algorithm: A) => decodeTo<SignaturePublicKey<A>, Codec<Data>>;
10454
+ /**
10455
+ * Type-level representation of {@link SignaturePrivateKey}.
10456
+ *
10457
+ * @stability unstable
10458
+ * @category models
10459
+ * @since 4.0.0
10460
+ */
10461
+ export interface SignaturePrivateKey<A extends Signature_.Algorithm = Signature_.Algorithm> extends declare<Signature_.PrivateKey<A>> {
10462
+ readonly "Rebuild": SignaturePrivateKey<A>;
10463
+ }
10464
+ /**
10465
+ * Schema for live `Signature.PrivateKey` values of an algorithm.
10466
+ *
10467
+ * **Details**
10468
+ *
10469
+ * Decoding checks the key's algorithm and returns the key itself. The key has
10470
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
10471
+ * {@link SignaturePrivateKeyFromFormat} or
10472
+ * {@link SignaturePrivateKeyFromBytes} to read and write keys. Keys display
10473
+ * redacted, compare by reference, and have no `Arbitrary`.
10474
+ *
10475
+ * @stability unstable
10476
+ * @category crypto
10477
+ * @since 4.0.0
10478
+ */
10479
+ export declare const SignaturePrivateKey: <A extends Signature_.Algorithm>(algorithm: A) => SignaturePrivateKey<A>;
10480
+ /**
10481
+ * Schema that decodes an Ed25519 seed into a `Signature.PrivateKey`.
10482
+ *
10483
+ * **Details**
10484
+ *
10485
+ * Decoding runs `Signature.privateKey`, which is synchronous, so the schema
10486
+ * works with `Schema.decodeSync`. Under `Config.schema` the bytes are read as
10487
+ * base64. A `CryptoError` becomes an `InvalidValue` issue whose `cause` is
10488
+ * the error. ECDSA and RSA private keys have no raw form, so passing them is
10489
+ * a type error. Encoding fails with a `Forbidden` issue unless `allowEncode`
10490
+ * is `true`.
10491
+ *
10492
+ * @stability unstable
10493
+ * @category crypto
10494
+ * @since 4.0.0
10495
+ */
10496
+ export declare const SignaturePrivateKeyFromBytes: <A extends Signature_.Ed25519>(algorithm: A, options?: CryptoKeyOptions) => decodeTo<SignaturePrivateKey<A>, Uint8Array>;
10497
+ /**
10498
+ * Schema that decodes a `Signature.PrivateKey` with
10499
+ * `KeyFormat.decodePrivate`.
10500
+ *
10501
+ * **Details**
10502
+ *
10503
+ * The format must hold private keys: `KeyFormat.pkcs8`, `KeyFormat.jwk`,
10504
+ * `KeyFormat.pkcs1`, `KeyFormat.sec1`, or their PEM forms. A format for
10505
+ * another role is a type error. Decoding runs the runtime's key import, so
10506
+ * use the async decoding functions: `Schema.decodeSync` throws. A
10507
+ * `CryptoError` becomes an `InvalidValue` issue whose `cause` is the error.
10508
+ * Encoding fails with a `Forbidden` issue unless `allowEncode` is `true`,
10509
+ * and always for the read-only PKCS#1 and SEC1 formats.
10510
+ *
10511
+ * @stability unstable
10512
+ * @category crypto
10513
+ * @since 4.0.0
10514
+ */
10515
+ export declare const SignaturePrivateKeyFromFormat: <A extends Signature_.Algorithm, Data>(format: KeyFormat_.Format<"private", "decode", Data>, algorithm: A, options?: CryptoKeyOptions) => decodeTo<SignaturePrivateKey<A>, Codec<Data>>;
10516
+ /**
10517
+ * Type-level representation of {@link KeyAgreementPublicKey}.
10518
+ *
10519
+ * @stability unstable
10520
+ * @category models
10521
+ * @since 4.0.0
10522
+ */
10523
+ export interface KeyAgreementPublicKey<A extends KeyAgreement_.Algorithm = KeyAgreement_.Algorithm> extends declare<KeyAgreement_.PublicKey<A>> {
10524
+ readonly "Rebuild": KeyAgreementPublicKey<A>;
10525
+ }
10526
+ /**
10527
+ * Schema for live `KeyAgreement.PublicKey` values of an algorithm.
10528
+ *
10529
+ * **Details**
10530
+ *
10531
+ * Decoding checks the key's algorithm and returns the key itself. The key has
10532
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
10533
+ * {@link KeyAgreementPublicKeyFromFormat} or
10534
+ * {@link KeyAgreementPublicKeyFromBytes} to read and write keys. Keys compare
10535
+ * by reference and have no `Arbitrary`.
10536
+ *
10537
+ * @stability unstable
10538
+ * @category crypto
10539
+ * @since 4.0.0
10540
+ */
10541
+ export declare const KeyAgreementPublicKey: <A extends KeyAgreement_.Algorithm>(algorithm: A) => KeyAgreementPublicKey<A>;
10542
+ /**
10543
+ * Schema that decodes a raw public key into a `KeyAgreement.PublicKey`: 32
10544
+ * bytes for X25519, or an uncompressed SEC1 point for ECDH.
10545
+ *
10546
+ * **Details**
10547
+ *
10548
+ * Decoding runs `KeyAgreement.publicKey`, which is synchronous, so the schema
10549
+ * works with `Schema.decodeSync`. Under `Config.schema` the bytes are read as
10550
+ * base64. A `CryptoError` becomes an `InvalidValue` issue whose `cause` is
10551
+ * the error.
10552
+ *
10553
+ * @stability unstable
10554
+ * @category crypto
10555
+ * @since 4.0.0
10556
+ */
10557
+ export declare const KeyAgreementPublicKeyFromBytes: <A extends KeyAgreement_.Algorithm>(algorithm: A) => decodeTo<KeyAgreementPublicKey<A>, Uint8Array>;
10558
+ /**
10559
+ * Schema that decodes a `KeyAgreement.PublicKey` with
10560
+ * `KeyFormat.decodePublic` and encodes it with `KeyFormat.encode`.
10561
+ *
10562
+ * **Details**
10563
+ *
10564
+ * The format must hold public keys: `KeyFormat.spki`, `KeyFormat.jwk`, or
10565
+ * `KeyFormat.pem(KeyFormat.spki)`. A format for another role is a type
10566
+ * error. Decoding runs the runtime's key import, so use the async decoding
10567
+ * functions: `Schema.decodeSync` throws. A `CryptoError` becomes an
10568
+ * `InvalidValue` issue whose `cause` is the error.
10569
+ *
10570
+ * @stability unstable
10571
+ * @category crypto
10572
+ * @since 4.0.0
10573
+ */
10574
+ export declare const KeyAgreementPublicKeyFromFormat: <A extends KeyAgreement_.Algorithm, Data>(format: KeyFormat_.Format<"public", "decode", Data>, algorithm: A) => decodeTo<KeyAgreementPublicKey<A>, Codec<Data>>;
10575
+ /**
10576
+ * Type-level representation of {@link KeyAgreementPrivateKey}.
10577
+ *
10578
+ * @stability unstable
10579
+ * @category models
10580
+ * @since 4.0.0
10581
+ */
10582
+ export interface KeyAgreementPrivateKey<A extends KeyAgreement_.Algorithm = KeyAgreement_.Algorithm> extends declare<KeyAgreement_.PrivateKey<A>> {
10583
+ readonly "Rebuild": KeyAgreementPrivateKey<A>;
10584
+ }
10585
+ /**
10586
+ * Schema for live `KeyAgreement.PrivateKey` values of an algorithm.
10587
+ *
10588
+ * **Details**
10589
+ *
10590
+ * Decoding checks the key's algorithm and returns the key itself. The key has
10591
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
10592
+ * {@link KeyAgreementPrivateKeyFromFormat} or
10593
+ * {@link KeyAgreementPrivateKeyFromBytes} to read and write keys. Keys
10594
+ * display redacted, compare by reference, and have no `Arbitrary`.
10595
+ *
10596
+ * @stability unstable
10597
+ * @category crypto
10598
+ * @since 4.0.0
10599
+ */
10600
+ export declare const KeyAgreementPrivateKey: <A extends KeyAgreement_.Algorithm>(algorithm: A) => KeyAgreementPrivateKey<A>;
10601
+ /**
10602
+ * Schema that decodes an X25519 private key into a
10603
+ * `KeyAgreement.PrivateKey`.
10604
+ *
10605
+ * **Details**
10606
+ *
10607
+ * Decoding runs `KeyAgreement.privateKey`, which is synchronous, so the
10608
+ * schema works with `Schema.decodeSync`. Under `Config.schema` the bytes are
10609
+ * read as base64. A `CryptoError` becomes an `InvalidValue` issue whose
10610
+ * `cause` is the error. ECDH private keys have no raw form, so passing them
10611
+ * is a type error. Encoding fails with a `Forbidden` issue unless
10612
+ * `allowEncode` is `true`.
10613
+ *
10614
+ * @stability unstable
10615
+ * @category crypto
10616
+ * @since 4.0.0
10617
+ */
10618
+ export declare const KeyAgreementPrivateKeyFromBytes: <A extends KeyAgreement_.X25519>(algorithm: A, options?: CryptoKeyOptions) => decodeTo<KeyAgreementPrivateKey<A>, Uint8Array>;
10619
+ /**
10620
+ * Schema that decodes a `KeyAgreement.PrivateKey` with
10621
+ * `KeyFormat.decodePrivate`.
10622
+ *
10623
+ * **Details**
10624
+ *
10625
+ * The format must hold private keys: `KeyFormat.pkcs8`, `KeyFormat.jwk`,
10626
+ * `KeyFormat.sec1`, or their PEM forms. A format for another role is a type
10627
+ * error. Decoding runs the runtime's key import, so use the async decoding
10628
+ * functions: `Schema.decodeSync` throws. A `CryptoError` becomes an
10629
+ * `InvalidValue` issue whose `cause` is the error. Encoding fails with a
10630
+ * `Forbidden` issue unless `allowEncode` is `true`, and always for the
10631
+ * read-only PKCS#1 and SEC1 formats.
10632
+ *
10633
+ * @stability unstable
10634
+ * @category crypto
10635
+ * @since 4.0.0
10636
+ */
10637
+ export declare const KeyAgreementPrivateKeyFromFormat: <A extends KeyAgreement_.Algorithm, Data>(format: KeyFormat_.Format<"private", "decode", Data>, algorithm: A, options?: CryptoKeyOptions) => decodeTo<KeyAgreementPrivateKey<A>, Codec<Data>>;
10638
+ /**
10639
+ * Type-level representation of {@link KeyWrapKey}.
10640
+ *
10641
+ * @stability unstable
10642
+ * @category models
10643
+ * @since 4.0.0
10644
+ */
10645
+ export interface KeyWrapKey<A extends KeyWrap_.AesKw = KeyWrap_.AesKw> extends declare<KeyWrap_.Key<A>> {
10646
+ readonly "Rebuild": KeyWrapKey<A>;
10647
+ }
10648
+ /**
10649
+ * Schema for live AES-KW `KeyWrap.Key` values of an algorithm.
10650
+ *
10651
+ * **Details**
10652
+ *
10653
+ * Decoding checks the key's algorithm and returns the key itself. The key has
10654
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
10655
+ * {@link KeyWrapKeyFromFormat} or {@link KeyWrapKeyFromBytes} to read and
10656
+ * write keys. Keys display redacted, compare by reference, and have no
10657
+ * `Arbitrary`.
10658
+ *
10659
+ * @stability unstable
10660
+ * @category crypto
10661
+ * @since 4.0.0
10662
+ */
10663
+ export declare const KeyWrapKey: <A extends KeyWrap_.AesKw>(algorithm: A) => KeyWrapKey<A>;
10664
+ /**
10665
+ * Schema that decodes raw key bytes into an AES-KW `KeyWrap.Key`.
10666
+ *
10667
+ * **Details**
10668
+ *
10669
+ * Decoding runs `KeyWrap.key`, which is synchronous, so the schema works with
10670
+ * `Schema.decodeSync`. Under `Config.schema` the bytes are read as base64. A
10671
+ * `CryptoError` becomes an `InvalidValue` issue whose `cause` is the error.
10672
+ * Encoding fails with a `Forbidden` issue unless `allowEncode` is `true`.
10673
+ *
10674
+ * @stability unstable
10675
+ * @category crypto
10676
+ * @since 4.0.0
10677
+ */
10678
+ export declare const KeyWrapKeyFromBytes: <A extends KeyWrap_.AesKw>(algorithm: A, options?: CryptoKeyOptions) => decodeTo<KeyWrapKey<A>, Uint8Array>;
10679
+ /**
10680
+ * Schema that decodes an AES-KW `KeyWrap.Key` from a JWK with
10681
+ * `KeyFormat.decodeSecret`.
10682
+ *
10683
+ * **Details**
10684
+ *
10685
+ * Decoding returns an Effect, so use the async decoding functions:
10686
+ * `Schema.decodeSync` throws. A `CryptoError` becomes an `InvalidValue` issue
10687
+ * whose `cause` is the error. Encoding fails with a `Forbidden` issue unless
10688
+ * `allowEncode` is `true`.
10689
+ *
10690
+ * @stability unstable
10691
+ * @category crypto
10692
+ * @since 4.0.0
10693
+ */
10694
+ export declare const KeyWrapKeyFromFormat: <A extends KeyWrap_.AesKw, Data>(format: KeyFormat_.Format<"secret", "decode", Data>, algorithm: A, options?: CryptoKeyOptions) => decodeTo<KeyWrapKey<A>, Codec<Data>>;
10695
+ /**
10696
+ * Type-level representation of {@link KeyWrapPublicKey}.
10697
+ *
10698
+ * @stability unstable
10699
+ * @category models
10700
+ * @since 4.0.0
10701
+ */
10702
+ export interface KeyWrapPublicKey<A extends KeyWrap_.RsaOaep = KeyWrap_.RsaOaep> extends declare<KeyWrap_.PublicKey<A>> {
10703
+ readonly "Rebuild": KeyWrapPublicKey<A>;
10704
+ }
10705
+ /**
10706
+ * Schema for live RSA-OAEP `KeyWrap.PublicKey` values of an algorithm.
10707
+ *
10708
+ * **Details**
10709
+ *
10710
+ * Decoding checks the key's algorithm and returns the key itself. The key has
10711
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
10712
+ * {@link KeyWrapPublicKeyFromFormat} to read and write keys. RSA-OAEP keys
10713
+ * have no raw form. Keys compare by reference and have no `Arbitrary`.
10714
+ *
10715
+ * @stability unstable
10716
+ * @category crypto
10717
+ * @since 4.0.0
10718
+ */
10719
+ export declare const KeyWrapPublicKey: <A extends KeyWrap_.RsaOaep>(algorithm: A) => KeyWrapPublicKey<A>;
10720
+ /**
10721
+ * Schema that decodes an RSA-OAEP `KeyWrap.PublicKey` with
10722
+ * `KeyFormat.decodePublic` and encodes it with `KeyFormat.encode`.
10723
+ *
10724
+ * **Details**
10725
+ *
10726
+ * The format must hold public keys: `KeyFormat.spki`, `KeyFormat.jwk`, or
10727
+ * `KeyFormat.pem(KeyFormat.spki)`. A format for another role is a type
10728
+ * error. Decoding runs the runtime's key import, so use the async decoding
10729
+ * functions: `Schema.decodeSync` throws. A `CryptoError` becomes an
10730
+ * `InvalidValue` issue whose `cause` is the error.
10731
+ *
10732
+ * @stability unstable
10733
+ * @category crypto
10734
+ * @since 4.0.0
10735
+ */
10736
+ export declare const KeyWrapPublicKeyFromFormat: <A extends KeyWrap_.RsaOaep, Data>(format: KeyFormat_.Format<"public", "decode", Data>, algorithm: A) => decodeTo<KeyWrapPublicKey<A>, Codec<Data>>;
10737
+ /**
10738
+ * Type-level representation of {@link KeyWrapPrivateKey}.
10739
+ *
10740
+ * @stability unstable
10741
+ * @category models
10742
+ * @since 4.0.0
10743
+ */
10744
+ export interface KeyWrapPrivateKey<A extends KeyWrap_.RsaOaep = KeyWrap_.RsaOaep> extends declare<KeyWrap_.PrivateKey<A>> {
10745
+ readonly "Rebuild": KeyWrapPrivateKey<A>;
10746
+ }
10747
+ /**
10748
+ * Schema for live RSA-OAEP `KeyWrap.PrivateKey` values of an algorithm.
10749
+ *
10750
+ * **Details**
10751
+ *
10752
+ * Decoding checks the key's algorithm and returns the key itself. The key has
10753
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
10754
+ * {@link KeyWrapPrivateKeyFromFormat} to read and write keys. RSA-OAEP keys
10755
+ * have no raw form. Keys display redacted, compare by reference, and have no
10756
+ * `Arbitrary`.
10757
+ *
10758
+ * @stability unstable
10759
+ * @category crypto
10760
+ * @since 4.0.0
10761
+ */
10762
+ export declare const KeyWrapPrivateKey: <A extends KeyWrap_.RsaOaep>(algorithm: A) => KeyWrapPrivateKey<A>;
10763
+ /**
10764
+ * Schema that decodes an RSA-OAEP `KeyWrap.PrivateKey` with
10765
+ * `KeyFormat.decodePrivate`.
10766
+ *
10767
+ * **Details**
10768
+ *
10769
+ * The format must hold private keys: `KeyFormat.pkcs8`, `KeyFormat.jwk`,
10770
+ * `KeyFormat.pkcs1`, or their PEM forms. A format for another role is a type
10771
+ * error. Decoding runs the runtime's key import, so use the async decoding
10772
+ * functions: `Schema.decodeSync` throws. A `CryptoError` becomes an
10773
+ * `InvalidValue` issue whose `cause` is the error. Encoding fails with a
10774
+ * `Forbidden` issue unless `allowEncode` is `true`, and always for the
10775
+ * read-only PKCS#1 format.
10776
+ *
10777
+ * @stability unstable
10778
+ * @category crypto
10779
+ * @since 4.0.0
10780
+ */
10781
+ export declare const KeyWrapPrivateKeyFromFormat: <A extends KeyWrap_.RsaOaep, Data>(format: KeyFormat_.Format<"private", "decode", Data>, algorithm: A, options?: CryptoKeyOptions) => decodeTo<KeyWrapPrivateKey<A>, Codec<Data>>;
10157
10782
  /**
10158
10783
  * Type-level representation returned by {@link Exit}.
10159
10784
  *