effect 4.0.7 → 4.1.1

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 (863) hide show
  1. package/README.md +31 -1
  2. package/THIRD_PARTY_NOTICES.md +62 -0
  3. package/dist/BigDecimal.d.ts +139 -7
  4. package/dist/BigDecimal.d.ts.map +1 -1
  5. package/dist/BigDecimal.js +86 -14
  6. package/dist/BigDecimal.js.map +1 -1
  7. package/dist/Channel.d.ts +12 -6
  8. package/dist/Channel.d.ts.map +1 -1
  9. package/dist/Channel.js +9 -3
  10. package/dist/Channel.js.map +1 -1
  11. package/dist/Config.d.ts +7 -1
  12. package/dist/Config.d.ts.map +1 -1
  13. package/dist/Config.js.map +1 -1
  14. package/dist/Context.d.ts +18 -1
  15. package/dist/Context.d.ts.map +1 -1
  16. package/dist/Context.js +27 -8
  17. package/dist/Context.js.map +1 -1
  18. package/dist/Cron.d.ts +81 -11
  19. package/dist/Cron.d.ts.map +1 -1
  20. package/dist/Cron.js +101 -26
  21. package/dist/Cron.js.map +1 -1
  22. package/dist/Duration.d.ts +78 -0
  23. package/dist/Duration.d.ts.map +1 -1
  24. package/dist/Duration.js +123 -0
  25. package/dist/Duration.js.map +1 -1
  26. package/dist/Effect.d.ts +164 -7
  27. package/dist/Effect.d.ts.map +1 -1
  28. package/dist/Effect.js +11 -1
  29. package/dist/Effect.js.map +1 -1
  30. package/dist/Equal.d.ts +2 -2
  31. package/dist/Equal.d.ts.map +1 -1
  32. package/dist/Equal.js +3 -3
  33. package/dist/Equal.js.map +1 -1
  34. package/dist/FileSystem.d.ts +59 -4
  35. package/dist/FileSystem.d.ts.map +1 -1
  36. package/dist/FileSystem.js +9 -2
  37. package/dist/FileSystem.js.map +1 -1
  38. package/dist/Glob.d.ts +165 -0
  39. package/dist/Glob.d.ts.map +1 -0
  40. package/dist/Glob.js +127 -0
  41. package/dist/Glob.js.map +1 -0
  42. package/dist/Hash.d.ts +3 -2
  43. package/dist/Hash.d.ts.map +1 -1
  44. package/dist/Hash.js +5 -4
  45. package/dist/Hash.js.map +1 -1
  46. package/dist/Iterable.d.ts.map +1 -1
  47. package/dist/Iterable.js +11 -8
  48. package/dist/Iterable.js.map +1 -1
  49. package/dist/Match.d.ts +86 -0
  50. package/dist/Match.d.ts.map +1 -1
  51. package/dist/Match.js +72 -0
  52. package/dist/Match.js.map +1 -1
  53. package/dist/Path.d.ts.map +1 -1
  54. package/dist/Path.js +5 -1
  55. package/dist/Path.js.map +1 -1
  56. package/dist/Pool.d.ts +51 -0
  57. package/dist/Pool.d.ts.map +1 -1
  58. package/dist/Pool.js +61 -10
  59. package/dist/Pool.js.map +1 -1
  60. package/dist/Random.d.ts.map +1 -1
  61. package/dist/Random.js +3 -3
  62. package/dist/Random.js.map +1 -1
  63. package/dist/RcMap.d.ts.map +1 -1
  64. package/dist/RcMap.js +8 -2
  65. package/dist/RcMap.js.map +1 -1
  66. package/dist/Schedule.d.ts +18 -1
  67. package/dist/Schedule.d.ts.map +1 -1
  68. package/dist/Schedule.js +7 -2
  69. package/dist/Schedule.js.map +1 -1
  70. package/dist/Schema.d.ts +668 -42
  71. package/dist/Schema.d.ts.map +1 -1
  72. package/dist/Schema.js +652 -1
  73. package/dist/Schema.js.map +1 -1
  74. package/dist/SchemaGetter.d.ts +6 -1
  75. package/dist/SchemaGetter.d.ts.map +1 -1
  76. package/dist/SchemaGetter.js +22 -11
  77. package/dist/SchemaGetter.js.map +1 -1
  78. package/dist/SchemaRepresentation.d.ts +18 -2
  79. package/dist/SchemaRepresentation.d.ts.map +1 -1
  80. package/dist/SchemaRepresentation.js +20 -2
  81. package/dist/SchemaRepresentation.js.map +1 -1
  82. package/dist/SchemaTransformation.d.ts +10 -5
  83. package/dist/SchemaTransformation.d.ts.map +1 -1
  84. package/dist/SchemaTransformation.js +8 -5
  85. package/dist/SchemaTransformation.js.map +1 -1
  86. package/dist/ScopedCache.d.ts.map +1 -1
  87. package/dist/ScopedCache.js +5 -7
  88. package/dist/ScopedCache.js.map +1 -1
  89. package/dist/Semaphore.d.ts +130 -0
  90. package/dist/Semaphore.d.ts.map +1 -1
  91. package/dist/Semaphore.js +40 -0
  92. package/dist/Semaphore.js.map +1 -1
  93. package/dist/Stream.d.ts +13 -4
  94. package/dist/Stream.d.ts.map +1 -1
  95. package/dist/Stream.js +9 -0
  96. package/dist/Stream.js.map +1 -1
  97. package/dist/Terminal.d.ts +18 -1
  98. package/dist/Terminal.d.ts.map +1 -1
  99. package/dist/Terminal.js +1 -1
  100. package/dist/Terminal.js.map +1 -1
  101. package/dist/ai/AiError.d.ts +43 -116
  102. package/dist/ai/AiError.d.ts.map +1 -1
  103. package/dist/ai/AiError.js +53 -72
  104. package/dist/ai/AiError.js.map +1 -1
  105. package/dist/ai/Decision.d.ts +196 -15
  106. package/dist/ai/Decision.d.ts.map +1 -1
  107. package/dist/ai/Decision.js +130 -0
  108. package/dist/ai/Decision.js.map +1 -1
  109. package/dist/ai/DecisionModel.d.ts +54 -13
  110. package/dist/ai/DecisionModel.d.ts.map +1 -1
  111. package/dist/ai/DecisionModel.js +123 -12
  112. package/dist/ai/DecisionModel.js.map +1 -1
  113. package/dist/ai/McpClient.d.ts +171 -19
  114. package/dist/ai/McpClient.d.ts.map +1 -1
  115. package/dist/ai/McpClient.js +277 -66
  116. package/dist/ai/McpClient.js.map +1 -1
  117. package/dist/ai/McpSchema.d.ts +108 -0
  118. package/dist/ai/McpSchema.d.ts.map +1 -1
  119. package/dist/ai/McpSchema.js +99 -0
  120. package/dist/ai/McpSchema.js.map +1 -1
  121. package/dist/ai/McpServer.d.ts +744 -29
  122. package/dist/ai/McpServer.d.ts.map +1 -1
  123. package/dist/ai/McpServer.js +763 -136
  124. package/dist/ai/McpServer.js.map +1 -1
  125. package/dist/ai/McpTest.d.ts +130 -0
  126. package/dist/ai/McpTest.d.ts.map +1 -0
  127. package/dist/ai/McpTest.js +237 -0
  128. package/dist/ai/McpTest.js.map +1 -0
  129. package/dist/ai/Prompt.d.ts.map +1 -1
  130. package/dist/ai/Prompt.js +20 -11
  131. package/dist/ai/Prompt.js.map +1 -1
  132. package/dist/ai/Response.d.ts +1 -25
  133. package/dist/ai/Response.d.ts.map +1 -1
  134. package/dist/ai/Response.js +1 -10
  135. package/dist/ai/Response.js.map +1 -1
  136. package/dist/ai/Tool.d.ts +19 -1
  137. package/dist/ai/Tool.d.ts.map +1 -1
  138. package/dist/ai/Tool.js +5 -7
  139. package/dist/ai/Tool.js.map +1 -1
  140. package/dist/ai/index.d.ts +5 -0
  141. package/dist/ai/index.d.ts.map +1 -1
  142. package/dist/ai/index.js +5 -0
  143. package/dist/ai/index.js.map +1 -1
  144. package/dist/ai/internal/mcpCore.js +89 -15
  145. package/dist/ai/internal/mcpCore.js.map +1 -1
  146. package/dist/ai/internal/mcpProtocol/v2024_11_05.js +7 -6
  147. package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
  148. package/dist/ai/internal/mcpProtocol/v2025_03_26.js +7 -6
  149. package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
  150. package/dist/ai/internal/mcpProtocol/v2025_06_18.js +7 -6
  151. package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
  152. package/dist/ai/internal/mcpProtocol/v2025_11_25.js +7 -6
  153. package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
  154. package/dist/ai/internal/mcpProtocol/v2026_07_28.js +60 -17
  155. package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
  156. package/dist/ai/internal/mcpProtocol.js +25 -0
  157. package/dist/ai/internal/mcpProtocol.js.map +1 -1
  158. package/dist/ai/internal/mcpRuntime.js +8 -6
  159. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  160. package/dist/ai/internal/mcpSkills.d.ts +2 -0
  161. package/dist/ai/internal/mcpSkills.d.ts.map +1 -0
  162. package/dist/ai/internal/mcpSkills.js +428 -0
  163. package/dist/ai/internal/mcpSkills.js.map +1 -0
  164. package/dist/ai/internal/mcpStatefulRuntime.js +6 -1
  165. package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
  166. package/dist/cli/Argument.d.ts +6 -0
  167. package/dist/cli/Argument.d.ts.map +1 -1
  168. package/dist/cli/Argument.js +2 -0
  169. package/dist/cli/Argument.js.map +1 -1
  170. package/dist/cli/CliOutput.d.ts +65 -1
  171. package/dist/cli/CliOutput.d.ts.map +1 -1
  172. package/dist/cli/CliOutput.js +94 -37
  173. package/dist/cli/CliOutput.js.map +1 -1
  174. package/dist/cli/Command.d.ts +23 -0
  175. package/dist/cli/Command.d.ts.map +1 -1
  176. package/dist/cli/Command.js +8 -0
  177. package/dist/cli/Command.js.map +1 -1
  178. package/dist/cli/Flag.d.ts +107 -0
  179. package/dist/cli/Flag.d.ts.map +1 -1
  180. package/dist/cli/Flag.js +37 -0
  181. package/dist/cli/Flag.js.map +1 -1
  182. package/dist/cli/HelpDoc.d.ts +15 -1
  183. package/dist/cli/HelpDoc.d.ts.map +1 -1
  184. package/dist/cli/Param.d.ts +6 -0
  185. package/dist/cli/Param.d.ts.map +1 -1
  186. package/dist/cli/Param.js +2 -0
  187. package/dist/cli/Param.js.map +1 -1
  188. package/dist/cli/Primitive.d.ts +14 -0
  189. package/dist/cli/Primitive.d.ts.map +1 -1
  190. package/dist/cli/Primitive.js +15 -1
  191. package/dist/cli/Primitive.js.map +1 -1
  192. package/dist/cli/Prompt.d.ts +1 -0
  193. package/dist/cli/Prompt.d.ts.map +1 -1
  194. package/dist/cli/Prompt.js +1 -0
  195. package/dist/cli/Prompt.js.map +1 -1
  196. package/dist/cli/internal/help.d.ts.map +1 -1
  197. package/dist/cli/internal/help.js +17 -10
  198. package/dist/cli/internal/help.js.map +1 -1
  199. package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  200. package/dist/cluster/ClusterWorkflowEngine.js +15 -5
  201. package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
  202. package/dist/cluster/Reply.d.ts +1 -1
  203. package/dist/cluster/Reply.d.ts.map +1 -1
  204. package/dist/cluster/Reply.js.map +1 -1
  205. package/dist/cluster/Sharding.d.ts.map +1 -1
  206. package/dist/cluster/Sharding.js +93 -28
  207. package/dist/cluster/Sharding.js.map +1 -1
  208. package/dist/cluster/ShardingConfig.d.ts +72 -6
  209. package/dist/cluster/ShardingConfig.d.ts.map +1 -1
  210. package/dist/cluster/ShardingConfig.js +4 -0
  211. package/dist/cluster/ShardingConfig.js.map +1 -1
  212. package/dist/cluster/SingleRunner.d.ts +3 -3
  213. package/dist/cluster/SingleRunner.d.ts.map +1 -1
  214. package/dist/cluster/SingleRunner.js +1 -1
  215. package/dist/cluster/SqlMessageStorage.d.ts +37 -6
  216. package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
  217. package/dist/cluster/SqlMessageStorage.js +34 -7
  218. package/dist/cluster/SqlMessageStorage.js.map +1 -1
  219. package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
  220. package/dist/cluster/SqlRunnerStorage.js +23 -8
  221. package/dist/cluster/SqlRunnerStorage.js.map +1 -1
  222. package/dist/cluster/internal/entityManager.js +15 -7
  223. package/dist/cluster/internal/entityManager.js.map +1 -1
  224. package/dist/crypto/Aead.d.ts +323 -0
  225. package/dist/crypto/Aead.d.ts.map +1 -0
  226. package/dist/crypto/Aead.js +331 -0
  227. package/dist/crypto/Aead.js.map +1 -0
  228. package/dist/crypto/Cipher.d.ts +236 -0
  229. package/dist/crypto/Cipher.d.ts.map +1 -0
  230. package/dist/crypto/Cipher.js +233 -0
  231. package/dist/crypto/Cipher.js.map +1 -0
  232. package/dist/crypto/CryptoError.d.ts +212 -0
  233. package/dist/crypto/CryptoError.d.ts.map +1 -0
  234. package/dist/crypto/CryptoError.js +202 -0
  235. package/dist/crypto/CryptoError.js.map +1 -0
  236. package/dist/crypto/Digest.d.ts +143 -0
  237. package/dist/crypto/Digest.d.ts.map +1 -0
  238. package/dist/crypto/Digest.js +146 -0
  239. package/dist/crypto/Digest.js.map +1 -0
  240. package/dist/crypto/Kdf.d.ts +220 -0
  241. package/dist/crypto/Kdf.d.ts.map +1 -0
  242. package/dist/crypto/Kdf.js +212 -0
  243. package/dist/crypto/Kdf.js.map +1 -0
  244. package/dist/crypto/KeyAgreement.d.ts +324 -0
  245. package/dist/crypto/KeyAgreement.d.ts.map +1 -0
  246. package/dist/crypto/KeyAgreement.js +303 -0
  247. package/dist/crypto/KeyAgreement.js.map +1 -0
  248. package/dist/crypto/KeyFormat.d.ts +341 -0
  249. package/dist/crypto/KeyFormat.d.ts.map +1 -0
  250. package/dist/crypto/KeyFormat.js +556 -0
  251. package/dist/crypto/KeyFormat.js.map +1 -0
  252. package/dist/crypto/KeyWrap.d.ts +390 -0
  253. package/dist/crypto/KeyWrap.d.ts.map +1 -0
  254. package/dist/crypto/KeyWrap.js +381 -0
  255. package/dist/crypto/KeyWrap.js.map +1 -0
  256. package/dist/crypto/Mac.d.ts +278 -0
  257. package/dist/crypto/Mac.d.ts.map +1 -0
  258. package/dist/crypto/Mac.js +288 -0
  259. package/dist/crypto/Mac.js.map +1 -0
  260. package/dist/crypto/SecureRandom.d.ts +340 -0
  261. package/dist/crypto/SecureRandom.d.ts.map +1 -0
  262. package/dist/crypto/SecureRandom.js +257 -0
  263. package/dist/crypto/SecureRandom.js.map +1 -0
  264. package/dist/crypto/Signature.d.ts +449 -0
  265. package/dist/crypto/Signature.d.ts.map +1 -0
  266. package/dist/crypto/Signature.js +484 -0
  267. package/dist/crypto/Signature.js.map +1 -0
  268. package/dist/crypto/WebCrypto.d.ts +80 -0
  269. package/dist/crypto/WebCrypto.d.ts.map +1 -0
  270. package/dist/crypto/WebCrypto.js +63 -0
  271. package/dist/crypto/WebCrypto.js.map +1 -0
  272. package/dist/crypto/index.d.ts +65 -0
  273. package/dist/crypto/index.d.ts.map +1 -0
  274. package/dist/crypto/index.js +66 -0
  275. package/dist/crypto/index.js.map +1 -0
  276. package/dist/crypto/internal/asymmetric.d.ts +2 -0
  277. package/dist/crypto/internal/asymmetric.d.ts.map +1 -0
  278. package/dist/crypto/internal/asymmetric.js +210 -0
  279. package/dist/crypto/internal/asymmetric.js.map +1 -0
  280. package/dist/crypto/internal/chacha.d.ts +46 -0
  281. package/dist/crypto/internal/chacha.d.ts.map +1 -0
  282. package/dist/crypto/internal/chacha.js +885 -0
  283. package/dist/crypto/internal/chacha.js.map +1 -0
  284. package/dist/crypto/internal/der.d.ts +6 -0
  285. package/dist/crypto/internal/der.d.ts.map +1 -0
  286. package/dist/crypto/internal/der.js +86 -0
  287. package/dist/crypto/internal/der.js.map +1 -0
  288. package/dist/crypto/internal/digest.d.ts +2 -0
  289. package/dist/crypto/internal/digest.d.ts.map +1 -0
  290. package/dist/crypto/internal/digest.js +15 -0
  291. package/dist/crypto/internal/digest.js.map +1 -0
  292. package/dist/crypto/internal/key.d.ts +2 -0
  293. package/dist/crypto/internal/key.d.ts.map +1 -0
  294. package/dist/crypto/internal/key.js +171 -0
  295. package/dist/crypto/internal/key.js.map +1 -0
  296. package/dist/crypto/internal/md5.d.ts +39 -0
  297. package/dist/crypto/internal/md5.d.ts.map +1 -0
  298. package/dist/crypto/internal/md5.js +179 -0
  299. package/dist/crypto/internal/md5.js.map +1 -0
  300. package/dist/crypto/internal/webCrypto.d.ts +2 -0
  301. package/dist/crypto/internal/webCrypto.d.ts.map +1 -0
  302. package/dist/crypto/internal/webCrypto.js +111 -0
  303. package/dist/crypto/internal/webCrypto.js.map +1 -0
  304. package/dist/encoding/Base64Url.d.ts.map +1 -1
  305. package/dist/encoding/Base64Url.js +29 -5
  306. package/dist/encoding/Base64Url.js.map +1 -1
  307. package/dist/encoding/Csv.d.ts +608 -0
  308. package/dist/encoding/Csv.d.ts.map +1 -0
  309. package/dist/encoding/Csv.js +718 -0
  310. package/dist/encoding/Csv.js.map +1 -0
  311. package/dist/encoding/Hex.d.ts +3 -2
  312. package/dist/encoding/Hex.d.ts.map +1 -1
  313. package/dist/encoding/Hex.js +3 -2
  314. package/dist/encoding/Hex.js.map +1 -1
  315. package/dist/encoding/Ndjson.d.ts +5 -4
  316. package/dist/encoding/Ndjson.d.ts.map +1 -1
  317. package/dist/encoding/Ndjson.js +6 -5
  318. package/dist/encoding/Ndjson.js.map +1 -1
  319. package/dist/encoding/SchemaBinary.d.ts.map +1 -1
  320. package/dist/encoding/SchemaBinary.js +42 -4
  321. package/dist/encoding/SchemaBinary.js.map +1 -1
  322. package/dist/encoding/Sse.d.ts +3 -1
  323. package/dist/encoding/Sse.d.ts.map +1 -1
  324. package/dist/encoding/Sse.js +5 -3
  325. package/dist/encoding/Sse.js.map +1 -1
  326. package/dist/encoding/Toml.d.ts +17 -3
  327. package/dist/encoding/Toml.d.ts.map +1 -1
  328. package/dist/encoding/Toml.js +104 -16
  329. package/dist/encoding/Toml.js.map +1 -1
  330. package/dist/encoding/Yaml.d.ts +8 -1
  331. package/dist/encoding/Yaml.d.ts.map +1 -1
  332. package/dist/encoding/Yaml.js +54 -18
  333. package/dist/encoding/Yaml.js.map +1 -1
  334. package/dist/encoding/index.d.ts +5 -0
  335. package/dist/encoding/index.d.ts.map +1 -1
  336. package/dist/encoding/index.js +5 -0
  337. package/dist/encoding/index.js.map +1 -1
  338. package/dist/eventlog/EventJournal.d.ts.map +1 -1
  339. package/dist/eventlog/EventJournal.js +6 -3
  340. package/dist/eventlog/EventJournal.js.map +1 -1
  341. package/dist/eventlog/EventLog.d.ts +126 -4
  342. package/dist/eventlog/EventLog.d.ts.map +1 -1
  343. package/dist/eventlog/EventLog.js +207 -12
  344. package/dist/eventlog/EventLog.js.map +1 -1
  345. package/dist/eventlog/EventLogEncryption.d.ts +41 -4
  346. package/dist/eventlog/EventLogEncryption.d.ts.map +1 -1
  347. package/dist/eventlog/EventLogEncryption.js +83 -64
  348. package/dist/eventlog/EventLogEncryption.js.map +1 -1
  349. package/dist/eventlog/EventLogMessage.d.ts +279 -0
  350. package/dist/eventlog/EventLogMessage.d.ts.map +1 -1
  351. package/dist/eventlog/EventLogMessage.js +217 -1
  352. package/dist/eventlog/EventLogMessage.js.map +1 -1
  353. package/dist/eventlog/EventLogRemote.d.ts +200 -28
  354. package/dist/eventlog/EventLogRemote.d.ts.map +1 -1
  355. package/dist/eventlog/EventLogRemote.js +186 -16
  356. package/dist/eventlog/EventLogRemote.js.map +1 -1
  357. package/dist/eventlog/EventLogServer.d.ts +10 -1
  358. package/dist/eventlog/EventLogServer.d.ts.map +1 -1
  359. package/dist/eventlog/EventLogServer.js +45 -22
  360. package/dist/eventlog/EventLogServer.js.map +1 -1
  361. package/dist/eventlog/EventLogServerEncrypted.d.ts +336 -5
  362. package/dist/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  363. package/dist/eventlog/EventLogServerEncrypted.js +769 -14
  364. package/dist/eventlog/EventLogServerEncrypted.js.map +1 -1
  365. package/dist/eventlog/EventLogServerUnencrypted.d.ts +17 -0
  366. package/dist/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  367. package/dist/eventlog/EventLogServerUnencrypted.js +14 -2
  368. package/dist/eventlog/EventLogServerUnencrypted.js.map +1 -1
  369. package/dist/eventlog/EventLogSessionAuth.d.ts +26 -3
  370. package/dist/eventlog/EventLogSessionAuth.d.ts.map +1 -1
  371. package/dist/eventlog/EventLogSessionAuth.js +63 -64
  372. package/dist/eventlog/EventLogSessionAuth.js.map +1 -1
  373. package/dist/eventlog/EventRow.d.ts +4 -0
  374. package/dist/eventlog/EventRow.d.ts.map +1 -1
  375. package/dist/eventlog/EventRow.js +12 -2
  376. package/dist/eventlog/EventRow.js.map +1 -1
  377. package/dist/eventlog/SqlEventJournal.js +2 -2
  378. package/dist/eventlog/SqlEventJournal.js.map +1 -1
  379. package/dist/eventlog/SqlEventLogServerEncrypted.d.ts +21 -5
  380. package/dist/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
  381. package/dist/eventlog/SqlEventLogServerEncrypted.js +1048 -113
  382. package/dist/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  383. package/dist/eventlog/SqlEventLogServerUnencrypted.js +2 -2
  384. package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  385. package/dist/eventlog/internal/batches.d.ts +12 -0
  386. package/dist/eventlog/internal/batches.d.ts.map +1 -0
  387. package/dist/eventlog/internal/batches.js +26 -0
  388. package/dist/eventlog/internal/batches.js.map +1 -0
  389. package/dist/eventlog/internal/compaction.d.ts +38 -0
  390. package/dist/eventlog/internal/compaction.d.ts.map +1 -0
  391. package/dist/eventlog/internal/compaction.js +33 -0
  392. package/dist/eventlog/internal/compaction.js.map +1 -0
  393. package/dist/eventlog/internal/identityRootSecretDerivation.js +66 -67
  394. package/dist/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  395. package/dist/eventlog/internal/remoteCompaction.d.ts +31 -0
  396. package/dist/eventlog/internal/remoteCompaction.d.ts.map +1 -0
  397. package/dist/eventlog/internal/remoteCompaction.js +76 -0
  398. package/dist/eventlog/internal/remoteCompaction.js.map +1 -0
  399. package/dist/graphql/GraphQLClient.d.ts +3 -1
  400. package/dist/graphql/GraphQLClient.d.ts.map +1 -1
  401. package/dist/graphql/GraphQLClient.js.map +1 -1
  402. package/dist/graphql/GraphQLClientError.d.ts +14 -9
  403. package/dist/graphql/GraphQLClientError.d.ts.map +1 -1
  404. package/dist/graphql/GraphQLClientError.js +14 -21
  405. package/dist/graphql/GraphQLClientError.js.map +1 -1
  406. package/dist/graphql/GraphQLProtocol.d.ts +12 -3
  407. package/dist/graphql/GraphQLProtocol.d.ts.map +1 -1
  408. package/dist/graphql/GraphQLProtocol.js +4 -1
  409. package/dist/graphql/GraphQLProtocol.js.map +1 -1
  410. package/dist/http/Cookies.d.ts +172 -0
  411. package/dist/http/Cookies.d.ts.map +1 -1
  412. package/dist/http/Cookies.js +143 -1
  413. package/dist/http/Cookies.js.map +1 -1
  414. package/dist/http/FetchHttpClient.d.ts +26 -2
  415. package/dist/http/FetchHttpClient.d.ts.map +1 -1
  416. package/dist/http/FetchHttpClient.js +78 -15
  417. package/dist/http/FetchHttpClient.js.map +1 -1
  418. package/dist/http/HttpClient.d.ts +268 -15
  419. package/dist/http/HttpClient.d.ts.map +1 -1
  420. package/dist/http/HttpClient.js +140 -7
  421. package/dist/http/HttpClient.js.map +1 -1
  422. package/dist/http/HttpClientRequest.d.ts +9 -5
  423. package/dist/http/HttpClientRequest.d.ts.map +1 -1
  424. package/dist/http/HttpClientRequest.js +2 -3
  425. package/dist/http/HttpClientRequest.js.map +1 -1
  426. package/dist/http/HttpClientResponse.d.ts.map +1 -1
  427. package/dist/http/HttpClientResponse.js +3 -2
  428. package/dist/http/HttpClientResponse.js.map +1 -1
  429. package/dist/http/HttpMethod.d.ts +7 -1
  430. package/dist/http/HttpMethod.d.ts.map +1 -1
  431. package/dist/http/HttpMethod.js +3 -8
  432. package/dist/http/HttpMethod.js.map +1 -1
  433. package/dist/http/HttpServerRequest.d.ts +5 -2
  434. package/dist/http/HttpServerRequest.d.ts.map +1 -1
  435. package/dist/http/HttpServerRequest.js +44 -39
  436. package/dist/http/HttpServerRequest.js.map +1 -1
  437. package/dist/http/HttpServerResponse.d.ts.map +1 -1
  438. package/dist/http/HttpServerResponse.js +3 -2
  439. package/dist/http/HttpServerResponse.js.map +1 -1
  440. package/dist/http/HttpTraceContext.d.ts +2 -1
  441. package/dist/http/HttpTraceContext.d.ts.map +1 -1
  442. package/dist/http/HttpTraceContext.js +7 -5
  443. package/dist/http/HttpTraceContext.js.map +1 -1
  444. package/dist/http/ProblemDetails.d.ts +96 -0
  445. package/dist/http/ProblemDetails.d.ts.map +1 -0
  446. package/dist/http/ProblemDetails.js +98 -0
  447. package/dist/http/ProblemDetails.js.map +1 -0
  448. package/dist/http/index.d.ts +5 -0
  449. package/dist/http/index.d.ts.map +1 -1
  450. package/dist/http/index.js +5 -0
  451. package/dist/http/index.js.map +1 -1
  452. package/dist/http/internal/decompression.js +3 -2
  453. package/dist/http/internal/decompression.js.map +1 -1
  454. package/dist/http/internal/mimeTypes.d.ts +4 -1
  455. package/dist/http/internal/mimeTypes.d.ts.map +1 -1
  456. package/dist/http/internal/mimeTypes.js +4 -1
  457. package/dist/http/internal/mimeTypes.js.map +1 -1
  458. package/dist/http/internal/urlParams.js +8 -0
  459. package/dist/http/internal/urlParams.js.map +1 -1
  460. package/dist/http-api/HttpApiBuilder.js +19 -5
  461. package/dist/http-api/HttpApiBuilder.js.map +1 -1
  462. package/dist/http-api/HttpApiClient.d.ts +63 -0
  463. package/dist/http-api/HttpApiClient.d.ts.map +1 -1
  464. package/dist/http-api/HttpApiClient.js +51 -0
  465. package/dist/http-api/HttpApiClient.js.map +1 -1
  466. package/dist/http-api/HttpApiEndpoint.d.ts.map +1 -1
  467. package/dist/http-api/HttpApiEndpoint.js +14 -5
  468. package/dist/http-api/HttpApiEndpoint.js.map +1 -1
  469. package/dist/http-api/HttpApiError.d.ts +185 -13
  470. package/dist/http-api/HttpApiError.d.ts.map +1 -1
  471. package/dist/http-api/HttpApiError.js +128 -0
  472. package/dist/http-api/HttpApiError.js.map +1 -1
  473. package/dist/http-api/HttpApiMiddleware.d.ts +64 -17
  474. package/dist/http-api/HttpApiMiddleware.d.ts.map +1 -1
  475. package/dist/http-api/HttpApiMiddleware.js +85 -1
  476. package/dist/http-api/HttpApiMiddleware.js.map +1 -1
  477. package/dist/http-api/HttpApiSchema.d.ts +76 -14
  478. package/dist/http-api/HttpApiSchema.d.ts.map +1 -1
  479. package/dist/http-api/HttpApiSchema.js +54 -1
  480. package/dist/http-api/HttpApiSchema.js.map +1 -1
  481. package/dist/index.d.ts +5 -5
  482. package/dist/index.d.ts.map +1 -1
  483. package/dist/index.js +5 -5
  484. package/dist/index.js.map +1 -1
  485. package/dist/internal/dateTime.js +49 -24
  486. package/dist/internal/dateTime.js.map +1 -1
  487. package/dist/internal/effect.js +35 -14
  488. package/dist/internal/effect.js.map +1 -1
  489. package/dist/internal/glob.d.ts +2 -0
  490. package/dist/internal/glob.d.ts.map +1 -0
  491. package/dist/internal/glob.js +808 -0
  492. package/dist/internal/glob.js.map +1 -0
  493. package/dist/internal/graphql.js +21 -7
  494. package/dist/internal/graphql.js.map +1 -1
  495. package/dist/internal/graphqlHeaders.d.ts +7 -0
  496. package/dist/internal/graphqlHeaders.d.ts.map +1 -1
  497. package/dist/internal/graphqlHeaders.js +11 -0
  498. package/dist/internal/graphqlHeaders.js.map +1 -1
  499. package/dist/internal/matcher.js +10 -0
  500. package/dist/internal/matcher.js.map +1 -1
  501. package/dist/internal/persistence.js +9 -0
  502. package/dist/internal/persistence.js.map +1 -1
  503. package/dist/internal/rcRef.js +4 -1
  504. package/dist/internal/rcRef.js.map +1 -1
  505. package/dist/internal/request.js +29 -42
  506. package/dist/internal/request.js.map +1 -1
  507. package/dist/internal/schema/fromJsonSchemaDocument.js +7 -8
  508. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
  509. package/dist/internal/schema/toCodeDocument.js +6 -3
  510. package/dist/internal/schema/toCodeDocument.js.map +1 -1
  511. package/dist/internal/trie.js +42 -13
  512. package/dist/internal/trie.js.map +1 -1
  513. package/dist/internal/ulid.js +41 -0
  514. package/dist/internal/ulid.js.map +1 -1
  515. package/dist/internal/uuid.js +52 -8
  516. package/dist/internal/uuid.js.map +1 -1
  517. package/dist/internal/version.js +1 -1
  518. package/dist/jose/JoseError.d.ts +285 -0
  519. package/dist/jose/JoseError.d.ts.map +1 -0
  520. package/dist/jose/JoseError.js +269 -0
  521. package/dist/jose/JoseError.js.map +1 -0
  522. package/dist/jose/Jwe.d.ts +128 -0
  523. package/dist/jose/Jwe.d.ts.map +1 -0
  524. package/dist/jose/Jwe.js +134 -0
  525. package/dist/jose/Jwe.js.map +1 -0
  526. package/dist/jose/Jwk.d.ts +597 -0
  527. package/dist/jose/Jwk.d.ts.map +1 -0
  528. package/dist/jose/Jwk.js +503 -0
  529. package/dist/jose/Jwk.js.map +1 -0
  530. package/dist/jose/Jwks.d.ts +236 -0
  531. package/dist/jose/Jwks.d.ts.map +1 -0
  532. package/dist/jose/Jwks.js +306 -0
  533. package/dist/jose/Jwks.js.map +1 -0
  534. package/dist/jose/Jws.d.ts +177 -0
  535. package/dist/jose/Jws.d.ts.map +1 -0
  536. package/dist/jose/Jws.js +183 -0
  537. package/dist/jose/Jws.js.map +1 -0
  538. package/dist/jose/Jwt.d.ts +270 -0
  539. package/dist/jose/Jwt.d.ts.map +1 -0
  540. package/dist/jose/Jwt.js +293 -0
  541. package/dist/jose/Jwt.js.map +1 -0
  542. package/dist/jose/index.d.ts +51 -0
  543. package/dist/jose/index.d.ts.map +1 -0
  544. package/dist/jose/index.js +52 -0
  545. package/dist/jose/index.js.map +1 -0
  546. package/dist/jose/internal/compact.d.ts +2 -0
  547. package/dist/jose/internal/compact.d.ts.map +1 -0
  548. package/dist/jose/internal/compact.js +179 -0
  549. package/dist/jose/internal/compact.js.map +1 -0
  550. package/dist/net/Host.d.ts.map +1 -1
  551. package/dist/net/Host.js +5 -10
  552. package/dist/net/Host.js.map +1 -1
  553. package/dist/observability/Otlp.d.ts +15 -4
  554. package/dist/observability/Otlp.d.ts.map +1 -1
  555. package/dist/observability/Otlp.js +10 -0
  556. package/dist/observability/Otlp.js.map +1 -1
  557. package/dist/observability/OtlpResource.d.ts +7 -0
  558. package/dist/observability/OtlpResource.d.ts.map +1 -1
  559. package/dist/observability/OtlpResource.js +11 -1
  560. package/dist/observability/OtlpResource.js.map +1 -1
  561. package/dist/observability/OtlpSerialization.d.ts +1 -1
  562. package/dist/observability/OtlpSerialization.d.ts.map +1 -1
  563. package/dist/observability/OtlpSerialization.js +10 -4
  564. package/dist/observability/OtlpSerialization.js.map +1 -1
  565. package/dist/observability/internal/otlpProtobuf.js +3 -3
  566. package/dist/observability/internal/otlpProtobuf.js.map +1 -1
  567. package/dist/observability/internal/protobuf.js +6 -0
  568. package/dist/observability/internal/protobuf.js.map +1 -1
  569. package/dist/persistence/CircuitBreaker.d.ts +98 -38
  570. package/dist/persistence/CircuitBreaker.d.ts.map +1 -1
  571. package/dist/persistence/CircuitBreaker.js +67 -29
  572. package/dist/persistence/CircuitBreaker.js.map +1 -1
  573. package/dist/persistence/KeyValueStore.d.ts +47 -2
  574. package/dist/persistence/KeyValueStore.d.ts.map +1 -1
  575. package/dist/persistence/KeyValueStore.js +129 -18
  576. package/dist/persistence/KeyValueStore.js.map +1 -1
  577. package/dist/persistence/PersistedQueue.d.ts +9 -0
  578. package/dist/persistence/PersistedQueue.d.ts.map +1 -1
  579. package/dist/persistence/PersistedQueue.js +94 -52
  580. package/dist/persistence/PersistedQueue.js.map +1 -1
  581. package/dist/persistence/Persistence.d.ts +10 -4
  582. package/dist/persistence/Persistence.d.ts.map +1 -1
  583. package/dist/persistence/Persistence.js +18 -11
  584. package/dist/persistence/Persistence.js.map +1 -1
  585. package/dist/persistence/RateLimiter.d.ts +8 -0
  586. package/dist/persistence/RateLimiter.d.ts.map +1 -1
  587. package/dist/persistence/RateLimiter.js +63 -12
  588. package/dist/persistence/RateLimiter.js.map +1 -1
  589. package/dist/persistence/index.d.ts +1 -1
  590. package/dist/persistence/index.js +1 -1
  591. package/dist/process/ChildProcess.d.ts +207 -67
  592. package/dist/process/ChildProcess.d.ts.map +1 -1
  593. package/dist/process/ChildProcess.js +56 -158
  594. package/dist/process/ChildProcess.js.map +1 -1
  595. package/dist/process/ChildProcessSpawner.d.ts +5 -0
  596. package/dist/process/ChildProcessSpawner.d.ts.map +1 -1
  597. package/dist/process/ChildProcessSpawner.js.map +1 -1
  598. package/dist/process/CommandLine.d.ts +294 -0
  599. package/dist/process/CommandLine.d.ts.map +1 -0
  600. package/dist/process/CommandLine.js +481 -0
  601. package/dist/process/CommandLine.js.map +1 -0
  602. package/dist/process/index.d.ts +5 -0
  603. package/dist/process/index.d.ts.map +1 -1
  604. package/dist/process/index.js +5 -0
  605. package/dist/process/index.js.map +1 -1
  606. package/dist/reactivity/Atom.d.ts +2 -1
  607. package/dist/reactivity/Atom.d.ts.map +1 -1
  608. package/dist/reactivity/Atom.js +3 -4
  609. package/dist/reactivity/Atom.js.map +1 -1
  610. package/dist/reactivity/AtomRegistry.js +17 -7
  611. package/dist/reactivity/AtomRegistry.js.map +1 -1
  612. package/dist/rpc/Rpc.d.ts +1 -1
  613. package/dist/rpc/Rpc.d.ts.map +1 -1
  614. package/dist/rpc/Rpc.js.map +1 -1
  615. package/dist/rpc/RpcClient.d.ts +28 -1
  616. package/dist/rpc/RpcClient.d.ts.map +1 -1
  617. package/dist/rpc/RpcClient.js +78 -27
  618. package/dist/rpc/RpcClient.js.map +1 -1
  619. package/dist/rpc/RpcMessage.d.ts +13 -3
  620. package/dist/rpc/RpcMessage.d.ts.map +1 -1
  621. package/dist/rpc/RpcMessage.js +1 -0
  622. package/dist/rpc/RpcMessage.js.map +1 -1
  623. package/dist/rpc/RpcSerialization.d.ts.map +1 -1
  624. package/dist/rpc/RpcSerialization.js +6 -0
  625. package/dist/rpc/RpcSerialization.js.map +1 -1
  626. package/dist/rpc/RpcServer.d.ts +31 -0
  627. package/dist/rpc/RpcServer.d.ts.map +1 -1
  628. package/dist/rpc/RpcServer.js +139 -66
  629. package/dist/rpc/RpcServer.js.map +1 -1
  630. package/dist/schema/Model.d.ts +14 -0
  631. package/dist/schema/Model.d.ts.map +1 -1
  632. package/dist/schema/Model.js +18 -3
  633. package/dist/schema/Model.js.map +1 -1
  634. package/dist/sql/Migrator.d.ts +9 -20
  635. package/dist/sql/Migrator.d.ts.map +1 -1
  636. package/dist/sql/Migrator.js +20 -53
  637. package/dist/sql/Migrator.js.map +1 -1
  638. package/dist/sql/MigratorFileSystem.d.ts +21 -0
  639. package/dist/sql/MigratorFileSystem.d.ts.map +1 -0
  640. package/dist/sql/MigratorFileSystem.js +57 -0
  641. package/dist/sql/MigratorFileSystem.js.map +1 -0
  642. package/dist/sql/SqlClient.d.ts +38 -3
  643. package/dist/sql/SqlClient.d.ts.map +1 -1
  644. package/dist/sql/SqlClient.js +9 -12
  645. package/dist/sql/SqlClient.js.map +1 -1
  646. package/dist/sql/Statement.d.ts +61 -9
  647. package/dist/sql/Statement.d.ts.map +1 -1
  648. package/dist/sql/Statement.js +24 -33
  649. package/dist/sql/Statement.js.map +1 -1
  650. package/dist/sql/index.js +1 -1
  651. package/dist/testing/index.d.ts +0 -5
  652. package/dist/testing/index.d.ts.map +1 -1
  653. package/dist/testing/index.js +0 -5
  654. package/dist/testing/index.js.map +1 -1
  655. package/dist/workflow/Workflow.d.ts +4 -0
  656. package/dist/workflow/Workflow.d.ts.map +1 -1
  657. package/dist/workflow/Workflow.js.map +1 -1
  658. package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
  659. package/dist/workflow/WorkflowEngine.js +5 -0
  660. package/dist/workflow/WorkflowEngine.js.map +1 -1
  661. package/dist/workflow/internal/crypto.js +9 -8
  662. package/dist/workflow/internal/crypto.js.map +1 -1
  663. package/package.json +7 -1
  664. package/src/BigDecimal.ts +173 -16
  665. package/src/Channel.ts +17 -11
  666. package/src/Config.ts +7 -1
  667. package/src/Context.ts +34 -10
  668. package/src/Cron.ts +178 -29
  669. package/src/Duration.ts +140 -0
  670. package/src/Effect.ts +914 -85
  671. package/src/Equal.ts +3 -3
  672. package/src/FileSystem.ts +65 -4
  673. package/src/Glob.ts +205 -0
  674. package/src/Hash.ts +5 -4
  675. package/src/Iterable.ts +8 -5
  676. package/src/Match.ts +127 -0
  677. package/src/Path.ts +6 -1
  678. package/src/Pool.ts +75 -16
  679. package/src/Random.ts +3 -3
  680. package/src/RcMap.ts +5 -1
  681. package/src/Schedule.ts +26 -3
  682. package/src/Schema.ts +1191 -63
  683. package/src/SchemaGetter.ts +27 -11
  684. package/src/SchemaRepresentation.ts +23 -2
  685. package/src/SchemaTransformation.ts +10 -5
  686. package/src/ScopedCache.ts +5 -9
  687. package/src/Semaphore.ts +141 -0
  688. package/src/Stream.ts +15 -6
  689. package/src/Terminal.ts +19 -1
  690. package/src/ai/AiError.ts +56 -80
  691. package/src/ai/Decision.ts +257 -6
  692. package/src/ai/DecisionModel.ts +171 -28
  693. package/src/ai/McpClient.ts +488 -91
  694. package/src/ai/McpSchema.ts +119 -0
  695. package/src/ai/McpServer.ts +1525 -319
  696. package/src/ai/McpTest.ts +380 -0
  697. package/src/ai/Prompt.ts +16 -11
  698. package/src/ai/Response.ts +2 -22
  699. package/src/ai/Tool.ts +32 -18
  700. package/src/ai/index.ts +6 -0
  701. package/src/ai/internal/mcpCore.ts +243 -56
  702. package/src/ai/internal/mcpProtocol/v2024_11_05.ts +7 -8
  703. package/src/ai/internal/mcpProtocol/v2025_03_26.ts +7 -8
  704. package/src/ai/internal/mcpProtocol/v2025_06_18.ts +7 -8
  705. package/src/ai/internal/mcpProtocol/v2025_11_25.ts +7 -8
  706. package/src/ai/internal/mcpProtocol/v2026_07_28.ts +56 -17
  707. package/src/ai/internal/mcpProtocol.ts +44 -0
  708. package/src/ai/internal/mcpRuntime.ts +15 -8
  709. package/src/ai/internal/mcpSkills.ts +480 -0
  710. package/src/ai/internal/mcpStatefulRuntime.ts +14 -2
  711. package/src/cli/Argument.ts +6 -0
  712. package/src/cli/CliOutput.ts +117 -49
  713. package/src/cli/Command.ts +23 -0
  714. package/src/cli/Flag.ts +107 -0
  715. package/src/cli/HelpDoc.ts +18 -1
  716. package/src/cli/Param.ts +6 -0
  717. package/src/cli/Primitive.ts +16 -1
  718. package/src/cli/Prompt.ts +1 -0
  719. package/src/cli/internal/help.ts +21 -9
  720. package/src/cluster/ClusterWorkflowEngine.ts +22 -8
  721. package/src/cluster/Reply.ts +1 -1
  722. package/src/cluster/Sharding.ts +96 -26
  723. package/src/cluster/ShardingConfig.ts +41 -3
  724. package/src/cluster/SingleRunner.ts +3 -3
  725. package/src/cluster/SqlMessageStorage.ts +49 -17
  726. package/src/cluster/SqlRunnerStorage.ts +37 -27
  727. package/src/cluster/internal/entityManager.ts +24 -10
  728. package/src/crypto/Aead.ts +517 -0
  729. package/src/crypto/Cipher.ts +326 -0
  730. package/src/crypto/CryptoError.ts +242 -0
  731. package/src/crypto/Digest.ts +167 -0
  732. package/src/crypto/Kdf.ts +315 -0
  733. package/src/crypto/KeyAgreement.ts +489 -0
  734. package/src/crypto/KeyFormat.ts +741 -0
  735. package/src/crypto/KeyWrap.ts +639 -0
  736. package/src/crypto/Mac.ts +386 -0
  737. package/src/crypto/SecureRandom.ts +459 -0
  738. package/src/crypto/Signature.ts +673 -0
  739. package/src/crypto/WebCrypto.ts +84 -0
  740. package/src/crypto/index.ts +78 -0
  741. package/src/crypto/internal/asymmetric.ts +330 -0
  742. package/src/crypto/internal/chacha.ts +1088 -0
  743. package/src/crypto/internal/der.ts +110 -0
  744. package/src/crypto/internal/digest.ts +16 -0
  745. package/src/crypto/internal/key.ts +242 -0
  746. package/src/crypto/internal/md5.ts +170 -0
  747. package/src/crypto/internal/webCrypto.ts +150 -0
  748. package/src/encoding/Base64Url.ts +32 -5
  749. package/src/encoding/Csv.ts +1298 -0
  750. package/src/encoding/Hex.ts +3 -2
  751. package/src/encoding/Ndjson.ts +6 -5
  752. package/src/encoding/SchemaBinary.ts +40 -4
  753. package/src/encoding/Sse.ts +5 -3
  754. package/src/encoding/Toml.ts +85 -20
  755. package/src/encoding/Yaml.ts +61 -18
  756. package/src/encoding/index.ts +6 -0
  757. package/src/eventlog/EventJournal.ts +4 -3
  758. package/src/eventlog/EventLog.ts +347 -15
  759. package/src/eventlog/EventLogEncryption.ts +118 -110
  760. package/src/eventlog/EventLogMessage.ts +273 -1
  761. package/src/eventlog/EventLogRemote.ts +367 -23
  762. package/src/eventlog/EventLogServer.ts +54 -20
  763. package/src/eventlog/EventLogServerEncrypted.ts +1135 -67
  764. package/src/eventlog/EventLogServerUnencrypted.ts +19 -2
  765. package/src/eventlog/EventLogSessionAuth.ts +82 -70
  766. package/src/eventlog/EventRow.ts +12 -3
  767. package/src/eventlog/SqlEventJournal.ts +2 -2
  768. package/src/eventlog/SqlEventLogServerEncrypted.ts +1244 -136
  769. package/src/eventlog/SqlEventLogServerUnencrypted.ts +2 -2
  770. package/src/eventlog/internal/batches.ts +30 -0
  771. package/src/eventlog/internal/compaction.ts +64 -0
  772. package/src/eventlog/internal/identityRootSecretDerivation.ts +93 -123
  773. package/src/eventlog/internal/remoteCompaction.ts +92 -0
  774. package/src/graphql/GraphQLClient.ts +3 -1
  775. package/src/graphql/GraphQLClientError.ts +15 -22
  776. package/src/graphql/GraphQLProtocol.ts +12 -3
  777. package/src/http/Cookies.ts +281 -1
  778. package/src/http/FetchHttpClient.ts +88 -16
  779. package/src/http/HttpClient.ts +299 -33
  780. package/src/http/HttpClientRequest.ts +12 -9
  781. package/src/http/HttpClientResponse.ts +3 -2
  782. package/src/http/HttpMethod.ts +10 -2
  783. package/src/http/HttpServerRequest.ts +76 -53
  784. package/src/http/HttpServerResponse.ts +3 -2
  785. package/src/http/HttpTraceContext.ts +7 -4
  786. package/src/http/ProblemDetails.ts +149 -0
  787. package/src/http/index.ts +6 -0
  788. package/src/http/internal/decompression.ts +4 -4
  789. package/src/http/internal/mimeTypes.ts +4 -1
  790. package/src/http/internal/urlParams.ts +8 -0
  791. package/src/http-api/HttpApiBuilder.ts +24 -12
  792. package/src/http-api/HttpApiClient.ts +67 -1
  793. package/src/http-api/HttpApiEndpoint.ts +14 -5
  794. package/src/http-api/HttpApiError.ts +250 -0
  795. package/src/http-api/HttpApiMiddleware.ts +95 -1
  796. package/src/http-api/HttpApiSchema.ts +106 -15
  797. package/src/index.ts +6 -6
  798. package/src/internal/dateTime.ts +54 -24
  799. package/src/internal/effect.ts +40 -18
  800. package/src/internal/glob.ts +952 -0
  801. package/src/internal/graphql.ts +27 -9
  802. package/src/internal/graphqlHeaders.ts +13 -0
  803. package/src/internal/matcher.ts +17 -0
  804. package/src/internal/persistence.ts +11 -0
  805. package/src/internal/rcRef.ts +4 -1
  806. package/src/internal/request.ts +51 -58
  807. package/src/internal/schema/fromJsonSchemaDocument.ts +11 -10
  808. package/src/internal/schema/toCodeDocument.ts +7 -3
  809. package/src/internal/trie.ts +43 -14
  810. package/src/internal/ulid.ts +44 -0
  811. package/src/internal/uuid.ts +57 -16
  812. package/src/internal/version.ts +1 -1
  813. package/src/jose/JoseError.ts +329 -0
  814. package/src/jose/Jwe.ts +196 -0
  815. package/src/jose/Jwk.ts +777 -0
  816. package/src/jose/Jwks.ts +418 -0
  817. package/src/jose/Jws.ts +312 -0
  818. package/src/jose/Jwt.ts +493 -0
  819. package/src/jose/index.ts +58 -0
  820. package/src/jose/internal/compact.ts +195 -0
  821. package/src/net/Host.ts +5 -10
  822. package/src/observability/Otlp.ts +21 -4
  823. package/src/observability/OtlpResource.ts +9 -1
  824. package/src/observability/OtlpSerialization.ts +13 -5
  825. package/src/observability/internal/otlpProtobuf.ts +6 -6
  826. package/src/observability/internal/protobuf.ts +10 -0
  827. package/src/persistence/CircuitBreaker.ts +113 -48
  828. package/src/persistence/KeyValueStore.ts +219 -22
  829. package/src/persistence/PersistedQueue.ts +128 -59
  830. package/src/persistence/Persistence.ts +20 -13
  831. package/src/persistence/RateLimiter.ts +84 -15
  832. package/src/persistence/index.ts +1 -1
  833. package/src/process/ChildProcess.ts +255 -260
  834. package/src/process/ChildProcessSpawner.ts +5 -0
  835. package/src/process/CommandLine.ts +630 -0
  836. package/src/process/index.ts +6 -0
  837. package/src/reactivity/Atom.ts +5 -5
  838. package/src/reactivity/AtomRegistry.ts +20 -9
  839. package/src/rpc/Rpc.ts +3 -1
  840. package/src/rpc/RpcClient.ts +94 -38
  841. package/src/rpc/RpcMessage.ts +13 -3
  842. package/src/rpc/RpcSerialization.ts +3 -0
  843. package/src/rpc/RpcServer.ts +176 -78
  844. package/src/schema/Model.ts +26 -3
  845. package/src/sql/Migrator.ts +38 -80
  846. package/src/sql/MigratorFileSystem.ts +71 -0
  847. package/src/sql/SqlClient.ts +45 -24
  848. package/src/sql/Statement.ts +60 -29
  849. package/src/sql/index.ts +1 -1
  850. package/src/testing/index.ts +0 -6
  851. package/src/workflow/Workflow.ts +4 -0
  852. package/src/workflow/WorkflowEngine.ts +5 -0
  853. package/src/workflow/internal/crypto.ts +15 -11
  854. package/dist/Crypto.d.ts +0 -244
  855. package/dist/Crypto.d.ts.map +0 -1
  856. package/dist/Crypto.js +0 -139
  857. package/dist/Crypto.js.map +0 -1
  858. package/dist/testing/TestCrypto.d.ts +0 -73
  859. package/dist/testing/TestCrypto.d.ts.map +0 -1
  860. package/dist/testing/TestCrypto.js +0 -87
  861. package/dist/testing/TestCrypto.js.map +0 -1
  862. package/src/Crypto.ts +0 -347
  863. package/src/testing/TestCrypto.ts +0 -94
package/dist/Schema.js CHANGED
@@ -17,6 +17,13 @@ import * as BigDecimal_ from "./BigDecimal.js";
17
17
  import * as ByteSize_ from "./ByteSize.js";
18
18
  import * as Cause_ from "./Cause.js";
19
19
  import * as Chunk_ from "./Chunk.js";
20
+ import * as Aead_ from "./crypto/Aead.js";
21
+ import * as Cipher_ from "./crypto/Cipher.js";
22
+ import * as KeyAgreement_ from "./crypto/KeyAgreement.js";
23
+ import * as KeyFormat_ from "./crypto/KeyFormat.js";
24
+ import * as KeyWrap_ from "./crypto/KeyWrap.js";
25
+ import * as Mac_ from "./crypto/Mac.js";
26
+ import * as Signature_ from "./crypto/Signature.js";
20
27
  import * as Data from "./Data.js";
21
28
  import * as DateTime from "./DateTime.js";
22
29
  import * as Duration_ from "./Duration.js";
@@ -3789,6 +3796,49 @@ export function isULID(annotations) {
3789
3796
  ...annotations
3790
3797
  });
3791
3798
  }
3799
+ // oxlint-disable-next-line no-control-regex
3800
+ const ASCII_REGEXP = /^[\x00-\x7F]*$/u;
3801
+ /**
3802
+ * Validates that a string contains only ASCII characters.
3803
+ *
3804
+ * **When to use**
3805
+ *
3806
+ * Use when a value must stay within the 7-bit ASCII range, for example
3807
+ * identifiers, protocol tokens, or data sent to systems that reject
3808
+ * non-ASCII input.
3809
+ *
3810
+ * **Details**
3811
+ *
3812
+ * This check accepts strings whose characters are all in the range `U+0000`
3813
+ * to `U+007F`, including control characters and the empty string.
3814
+ *
3815
+ * JSON Schema:
3816
+ *
3817
+ * This check corresponds to a `pattern` constraint in JSON Schema that matches
3818
+ * ASCII-only strings.
3819
+ *
3820
+ * Arbitrary:
3821
+ *
3822
+ * During arbitrary generation, this applies a `patterns`
3823
+ * constraint to ensure generated strings match the ASCII pattern.
3824
+ *
3825
+ * @stability unstable
3826
+ * @category validation
3827
+ * @since 4.0.6
3828
+ */
3829
+ export function isAscii(annotations) {
3830
+ return isPattern(ASCII_REGEXP, {
3831
+ expected: "an ASCII string",
3832
+ representation: {
3833
+ id: "effect/schema/isAscii",
3834
+ payload: null
3835
+ },
3836
+ toCode: () => ({
3837
+ runtime: "Schema.isAscii()"
3838
+ }),
3839
+ ...annotations
3840
+ });
3841
+ }
3792
3842
  /**
3793
3843
  * Validates that a string is valid Base64 encoded data.
3794
3844
  *
@@ -7036,7 +7086,8 @@ export const BigDecimal = /*#__PURE__*/declare(BigDecimal_.isBigDecimal, {
7036
7086
  *
7037
7087
  * **Gotchas**
7038
7088
  *
7039
- * An empty string decodes as zero.
7089
+ * An empty string decodes as zero. Strings with a scale outside ±10,000, such
7090
+ * as `"1e300000000"`, are rejected.
7040
7091
  *
7041
7092
  * @see {@link BigDecimal} for validating values that are already BigDecimal values
7042
7093
  * @see {@link BigIntFromString} for parsing base-10 integer strings into bigint values
@@ -8382,6 +8433,20 @@ const durationFromMillis = /*#__PURE__*/SchemaTransformation.transform({
8382
8433
  decode: i => Duration_.millis(i),
8383
8434
  encode: a => Duration_.toMillis(a)
8384
8435
  });
8436
+ const durationFromIsoString = /*#__PURE__*/SchemaTransformation.transformEffect({
8437
+ decode: (s, options) => Option_.match(Duration_.fromIso(s), {
8438
+ onNone: () => Effect.fail(new SchemaIssue.InvalidValue({
8439
+ expected: "an ISO 8601 duration without years or months"
8440
+ }, s, options)),
8441
+ onSome: Effect.succeed
8442
+ }),
8443
+ encode: (a, options) => Option_.match(Duration_.formatIso(a), {
8444
+ onNone: () => Effect.fail(new SchemaIssue.InvalidValue({
8445
+ expected: "a finite Duration"
8446
+ }, a, options)),
8447
+ onSome: Effect.succeed
8448
+ })
8449
+ });
8385
8450
  /**
8386
8451
  * Schema for `Duration` values.
8387
8452
  *
@@ -8521,6 +8586,30 @@ export const DurationFromNanos = /*#__PURE__*/BigInt.pipe(/*#__PURE__*/decodeTo(
8521
8586
  * @since 3.10.0
8522
8587
  */
8523
8588
  export const DurationFromMillis = /*#__PURE__*/Number.pipe(/*#__PURE__*/decodeTo(Duration, durationFromMillis));
8589
+ /**
8590
+ * Schema that decodes an ISO 8601 duration string into a `Duration`.
8591
+ *
8592
+ * **Details**
8593
+ *
8594
+ * Decoding:
8595
+ * - A string accepted by `Duration.fromIso` is decoded as a `Duration`, such
8596
+ * as `"PT1H30M"`, `"P1W2D"`, or `"-PT0.5S"`. Years and months are rejected
8597
+ * because they have no fixed length.
8598
+ *
8599
+ * Encoding:
8600
+ * - A finite `Duration` is encoded with `Duration.formatIso`, using days,
8601
+ * hours, minutes, and seconds. Encoding fails for `Duration.infinity` and
8602
+ * `Duration.negativeInfinity`.
8603
+ *
8604
+ * @see {@link DurationFromString} for the `"5 seconds"` string format
8605
+ *
8606
+ * @stability stable
8607
+ * @category schemas
8608
+ * @since 4.1.0
8609
+ */
8610
+ export const DurationFromIsoString = /*#__PURE__*/String.annotate({
8611
+ expected: "an ISO 8601 duration string that will be decoded as a Duration"
8612
+ }).pipe(/*#__PURE__*/decodeTo(Duration, durationFromIsoString));
8524
8613
  /**
8525
8614
  * Schema for supported DNS record types such as `"A"` or `"SRV"`.
8526
8615
  *
@@ -8750,6 +8839,568 @@ export const DnsTxtRecord = /*#__PURE__*/dnsRecordOfType("TXT", {
8750
8839
  export const DnsRecord = /*#__PURE__*/Union([DnsARecord, DnsAaaaRecord, DnsCaaRecord, DnsCnameRecord, DnsMxRecord, DnsNaptrRecord, DnsNsRecord, DnsPtrRecord, DnsSoaRecord, DnsSrvRecord, DnsTlsaRecord, DnsTxtRecord]).annotate({
8751
8840
  identifier: "DnsRecord"
8752
8841
  });
8842
+ const cryptoAlgorithmEquals = (self, that) => self === that || self.name === that.name && self.hash?.name === that.hash?.name && self.saltLength === that.saltLength;
8843
+ const cryptoDigestCode = hash => `Digest.${hash.name.toLowerCase().replace("-", "")}`;
8844
+ const cryptoAlgorithmCode = (family, algorithm) => {
8845
+ if (algorithm.modulusLength === undefined || algorithm.hash === undefined || algorithm._tag === undefined) {
8846
+ const code = `${family}.${algorithm.name}`;
8847
+ return algorithm.hash === undefined ? code : `{ ...${code}, hash: ${cryptoDigestCode(algorithm.hash)} }`;
8848
+ }
8849
+ const factory = algorithm._tag.charAt(0).toLowerCase() + algorithm._tag.slice(1);
8850
+ const saltLength = algorithm.saltLength === undefined ? "" : `, saltLength: ${algorithm.saltLength}`;
8851
+ return `${family}.${factory}({ hash: ${cryptoDigestCode(algorithm.hash)}, modulusLength: ${algorithm.modulusLength}${saltLength} })`;
8852
+ };
8853
+ const cryptoAlgorithmPayload = algorithm => {
8854
+ const payload = {
8855
+ name: algorithm.name
8856
+ };
8857
+ if (algorithm.hash !== undefined) payload.hash = algorithm.hash.name;
8858
+ if (algorithm.modulusLength !== undefined) payload.modulusLength = algorithm.modulusLength;
8859
+ if (algorithm.saltLength !== undefined) payload.saltLength = algorithm.saltLength;
8860
+ return payload;
8861
+ };
8862
+ const declareCryptoKey = (name, family, type, is, algorithm) => {
8863
+ const code = cryptoAlgorithmCode(family, algorithm);
8864
+ const forbidden = SchemaGetter.forbidden(() => `Cannot serialize ${family}.${type} values as JSON, use Schema.${name}FromFormat to read and write keys`);
8865
+ return declare(u => is(u) && cryptoAlgorithmEquals(u.algorithm, algorithm), {
8866
+ expected: `${family}.${type} for ${algorithm.name}`,
8867
+ representation: {
8868
+ id: `effect/crypto/${name}`,
8869
+ payload: cryptoAlgorithmPayload(algorithm)
8870
+ },
8871
+ toCode: () => ({
8872
+ runtime: `Schema.${name}(${code})`,
8873
+ Type: `${family}.${type}`,
8874
+ importDeclarations: [`import * as ${family} from "effect/crypto/${family}"`, ...(code.includes("Digest.") ? [`import * as Digest from "effect/crypto/Digest"`] : [])]
8875
+ }),
8876
+ toCodecJson: () => link()(Unknown, {
8877
+ decode: forbidden,
8878
+ encode: forbidden
8879
+ }),
8880
+ // Keys have no Arbitrary: linking to `Never` makes derivation fail.
8881
+ toCodecArbitrary: () => link()(Never, {
8882
+ decode: forbidden,
8883
+ encode: forbidden
8884
+ }),
8885
+ toFormatter: () => key => globalThis.String(key),
8886
+ toEquivalence: () => (self, that) => self === that
8887
+ });
8888
+ };
8889
+ const cryptoIssue = (error, input, options) => new SchemaIssue.InvalidValue({
8890
+ message: error.message,
8891
+ cause: error
8892
+ }, input, options);
8893
+ const cryptoForbiddenEncode = (name, key, options) => Effect.fail(new SchemaIssue.Forbidden({
8894
+ message: `Schema.${name} only decodes, pass { allowEncode: true } to encode the key`
8895
+ }, key, options));
8896
+ const cryptoKeyFromBytes = (name, to, fromBytes, toBytes) => Uint8Array.pipe(decodeTo(to, SchemaTransformation.transformEffect({
8897
+ decode: (bytes, options) => Effect.mapError(fromBytes(bytes), error => cryptoIssue(error, bytes, options)),
8898
+ encode: (key, options) => toBytes === undefined ? cryptoForbiddenEncode(name, key, options) : Effect.mapError(toBytes(key), error => cryptoIssue(error, key, options))
8899
+ })));
8900
+ const CryptoJsonWebKeyMember = /*#__PURE__*/optionalKey(String);
8901
+ // The JWK members of RFC 7517 and RFC 7518 that `KeyFormat` reads and writes.
8902
+ // Other members are dropped.
8903
+ const CryptoJsonWebKey = /*#__PURE__*/Struct({
8904
+ kty: CryptoJsonWebKeyMember,
8905
+ crv: CryptoJsonWebKeyMember,
8906
+ alg: CryptoJsonWebKeyMember,
8907
+ use: CryptoJsonWebKeyMember,
8908
+ key_ops: /*#__PURE__*/optionalKey(/*#__PURE__*/ArraySchema(String)),
8909
+ ext: /*#__PURE__*/optionalKey(Boolean),
8910
+ k: CryptoJsonWebKeyMember,
8911
+ x: CryptoJsonWebKeyMember,
8912
+ y: CryptoJsonWebKeyMember,
8913
+ d: CryptoJsonWebKeyMember,
8914
+ n: CryptoJsonWebKeyMember,
8915
+ e: CryptoJsonWebKeyMember,
8916
+ p: CryptoJsonWebKeyMember,
8917
+ q: CryptoJsonWebKeyMember,
8918
+ dp: CryptoJsonWebKeyMember,
8919
+ dq: CryptoJsonWebKeyMember,
8920
+ qi: CryptoJsonWebKeyMember,
8921
+ oth: /*#__PURE__*/optionalKey(/*#__PURE__*/ArraySchema(/*#__PURE__*/Struct({
8922
+ r: CryptoJsonWebKeyMember,
8923
+ d: CryptoJsonWebKeyMember,
8924
+ t: CryptoJsonWebKeyMember
8925
+ })))
8926
+ });
8927
+ const cryptoFormatData = format => format._tag === "jwk" ? CryptoJsonWebKey : format.pem ? String : Uint8Array;
8928
+ const cryptoKeyFromFormat = (name, to, format, decode, canEncode) => {
8929
+ // PKCS#1 and SEC1 are read only.
8930
+ const writable = canEncode && format._tag !== "pkcs1" && format._tag !== "sec1";
8931
+ return cryptoFormatData(format).pipe(decodeTo(to, SchemaTransformation.transformEffect({
8932
+ decode: (data, options) =>
8933
+ // Secret JWK decoding is synchronous, but all format schemas are async-only.
8934
+ Effect.flatMap(Effect.promise(() => Promise.resolve()), () => Effect.mapError(decode(data), error => cryptoIssue(error, data, options))),
8935
+ encode: (key, options) => writable ? Effect.mapError(KeyFormat_.encode(format, key), error => cryptoIssue(error, key, options)) : cryptoForbiddenEncode(name, key, options)
8936
+ })));
8937
+ };
8938
+ /**
8939
+ * Schema for live `Mac.Key` values of an algorithm.
8940
+ *
8941
+ * **Details**
8942
+ *
8943
+ * Decoding checks the key's algorithm and returns the key itself. The key has
8944
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
8945
+ * {@link MacKeyFromFormat} or {@link MacKeyFromBytes} to read and write keys.
8946
+ * Keys display redacted, compare by reference, and have no `Arbitrary`.
8947
+ *
8948
+ * @stability unstable
8949
+ * @category crypto
8950
+ * @since 4.0.0
8951
+ */
8952
+ export const MacKey = algorithm => declareCryptoKey("MacKey", "Mac", "Key", Mac_.isKey, algorithm);
8953
+ /**
8954
+ * Schema that decodes raw key bytes into a `Mac.Key`.
8955
+ *
8956
+ * **Details**
8957
+ *
8958
+ * Decoding runs `Mac.key`, which is synchronous, so the schema works with
8959
+ * `Schema.decodeSync`. Under `Config.schema` the bytes are read as base64. A
8960
+ * `CryptoError` becomes an `InvalidValue` issue whose `cause` is the error.
8961
+ * Encoding fails with a `Forbidden` issue unless `allowEncode` is `true`.
8962
+ *
8963
+ * **Example** (Reading an HMAC key from the environment)
8964
+ *
8965
+ * ```ts import.meta.vitest
8966
+ * import { Config, ConfigProvider, Effect, Schema } from "effect"
8967
+ * import { Mac } from "effect/crypto"
8968
+ *
8969
+ * const config = Config.schema(Schema.MacKeyFromBytes(Mac.hmacSha256), "HMAC_KEY")
8970
+ * const provider = ConfigProvider.fromEnv({ env: { HMAC_KEY: "A".repeat(43) + "=" } })
8971
+ * const key = await Effect.runPromise(Effect.provide(config, ConfigProvider.layer(provider)))
8972
+ * key.algorithm.name // => "hmacSha256"
8973
+ * ```
8974
+ *
8975
+ * @stability unstable
8976
+ * @category crypto
8977
+ * @since 4.0.0
8978
+ */
8979
+ export const MacKeyFromBytes = (algorithm, options) => cryptoKeyFromBytes("MacKeyFromBytes", MacKey(algorithm), bytes => Mac_.key(algorithm, bytes), options?.allowEncode === true ? Mac_.toBytes : undefined);
8980
+ /**
8981
+ * Schema that decodes a `Mac.Key` from a JWK with `KeyFormat.decodeSecret`.
8982
+ *
8983
+ * **Details**
8984
+ *
8985
+ * Decoding returns an Effect, so use the async decoding functions:
8986
+ * `Schema.decodeSync` throws. A `CryptoError` becomes an `InvalidValue` issue
8987
+ * whose `cause` is the error. Encoding fails with a `Forbidden` issue unless
8988
+ * `allowEncode` is `true`.
8989
+ *
8990
+ * @stability unstable
8991
+ * @category crypto
8992
+ * @since 4.0.0
8993
+ */
8994
+ export const MacKeyFromFormat = (format, algorithm, options) => cryptoKeyFromFormat("MacKeyFromFormat", MacKey(algorithm), format, data => KeyFormat_.decodeSecret(format, algorithm, data), options?.allowEncode === true);
8995
+ /**
8996
+ * Schema for live `Aead.Key` values of an algorithm.
8997
+ *
8998
+ * **Details**
8999
+ *
9000
+ * Decoding checks the key's algorithm and returns the key itself. The key has
9001
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
9002
+ * {@link AeadKeyFromFormat} or {@link AeadKeyFromBytes} to read and write
9003
+ * keys. Keys display redacted, compare by reference, and have no `Arbitrary`.
9004
+ *
9005
+ * @stability unstable
9006
+ * @category crypto
9007
+ * @since 4.0.0
9008
+ */
9009
+ export const AeadKey = algorithm => declareCryptoKey("AeadKey", "Aead", "Key", Aead_.isKey, algorithm);
9010
+ /**
9011
+ * Schema that decodes raw key bytes into an `Aead.Key`.
9012
+ *
9013
+ * **Details**
9014
+ *
9015
+ * Decoding runs `Aead.key`, which is synchronous, so the schema works with
9016
+ * `Schema.decodeSync`. Under `Config.schema` the bytes are read as base64. A
9017
+ * `CryptoError` becomes an `InvalidValue` issue whose `cause` is the error.
9018
+ * Encoding fails with a `Forbidden` issue unless `allowEncode` is `true`.
9019
+ *
9020
+ * @stability unstable
9021
+ * @category crypto
9022
+ * @since 4.0.0
9023
+ */
9024
+ export const AeadKeyFromBytes = (algorithm, options) => cryptoKeyFromBytes("AeadKeyFromBytes", AeadKey(algorithm), bytes => Aead_.key(algorithm, bytes), options?.allowEncode === true ? Aead_.toBytes : undefined);
9025
+ /**
9026
+ * Schema that decodes an `Aead.Key` from a JWK with `KeyFormat.decodeSecret`.
9027
+ *
9028
+ * **Details**
9029
+ *
9030
+ * Decoding returns an Effect, so use the async decoding functions:
9031
+ * `Schema.decodeSync` throws. A `CryptoError` becomes an `InvalidValue` issue
9032
+ * whose `cause` is the error. Encoding fails with a `Forbidden` issue unless
9033
+ * `allowEncode` is `true`.
9034
+ *
9035
+ * @stability unstable
9036
+ * @category crypto
9037
+ * @since 4.0.0
9038
+ */
9039
+ export const AeadKeyFromFormat = (format, algorithm, options) => cryptoKeyFromFormat("AeadKeyFromFormat", AeadKey(algorithm), format, data => KeyFormat_.decodeSecret(format, algorithm, data), options?.allowEncode === true);
9040
+ /**
9041
+ * Schema for live `Cipher.Key` values of an algorithm.
9042
+ *
9043
+ * **Details**
9044
+ *
9045
+ * Decoding checks the key's algorithm and returns the key itself. The key has
9046
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
9047
+ * {@link CipherKeyFromFormat} or {@link CipherKeyFromBytes} to read and
9048
+ * write keys. Keys display redacted, compare by reference, and have no
9049
+ * `Arbitrary`.
9050
+ *
9051
+ * @stability unstable
9052
+ * @category crypto
9053
+ * @since 4.0.0
9054
+ */
9055
+ export const CipherKey = algorithm => declareCryptoKey("CipherKey", "Cipher", "Key", Cipher_.isKey, algorithm);
9056
+ /**
9057
+ * Schema that decodes raw key bytes into a `Cipher.Key`.
9058
+ *
9059
+ * **Details**
9060
+ *
9061
+ * Decoding runs `Cipher.key`, which is synchronous, so the schema works with
9062
+ * `Schema.decodeSync`. Under `Config.schema` the bytes are read as base64. A
9063
+ * `CryptoError` becomes an `InvalidValue` issue whose `cause` is the error.
9064
+ * Encoding fails with a `Forbidden` issue unless `allowEncode` is `true`.
9065
+ *
9066
+ * @stability unstable
9067
+ * @category crypto
9068
+ * @since 4.0.0
9069
+ */
9070
+ export const CipherKeyFromBytes = (algorithm, options) => cryptoKeyFromBytes("CipherKeyFromBytes", CipherKey(algorithm), bytes => Cipher_.key(algorithm, bytes), options?.allowEncode === true ? Cipher_.toBytes : undefined);
9071
+ /**
9072
+ * Schema that decodes a `Cipher.Key` from a JWK with
9073
+ * `KeyFormat.decodeSecret`.
9074
+ *
9075
+ * **Details**
9076
+ *
9077
+ * Decoding returns an Effect, so use the async decoding functions:
9078
+ * `Schema.decodeSync` throws. A `CryptoError` becomes an `InvalidValue` issue
9079
+ * whose `cause` is the error. Encoding fails with a `Forbidden` issue unless
9080
+ * `allowEncode` is `true`.
9081
+ *
9082
+ * @stability unstable
9083
+ * @category crypto
9084
+ * @since 4.0.0
9085
+ */
9086
+ export const CipherKeyFromFormat = (format, algorithm, options) => cryptoKeyFromFormat("CipherKeyFromFormat", CipherKey(algorithm), format, data => KeyFormat_.decodeSecret(format, algorithm, data), options?.allowEncode === true);
9087
+ /**
9088
+ * Schema for live `Signature.PublicKey` values of an algorithm.
9089
+ *
9090
+ * **Details**
9091
+ *
9092
+ * Decoding checks the key's algorithm and returns the key itself. The key has
9093
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
9094
+ * {@link SignaturePublicKeyFromFormat} or {@link SignaturePublicKeyFromBytes}
9095
+ * to read and write keys. Keys compare by reference and have no `Arbitrary`.
9096
+ *
9097
+ * @stability unstable
9098
+ * @category crypto
9099
+ * @since 4.0.0
9100
+ */
9101
+ export const SignaturePublicKey = algorithm => declareCryptoKey("SignaturePublicKey", "Signature", "PublicKey", Signature_.isPublicKey, algorithm);
9102
+ /**
9103
+ * Schema that decodes a raw public key into a `Signature.PublicKey`: 32 bytes
9104
+ * for Ed25519, or an uncompressed SEC1 point for ECDSA.
9105
+ *
9106
+ * **Details**
9107
+ *
9108
+ * Decoding runs `Signature.publicKey`, which is synchronous, so the schema
9109
+ * works with `Schema.decodeSync`. Under `Config.schema` the bytes are read as
9110
+ * base64. A `CryptoError` becomes an `InvalidValue` issue whose `cause` is
9111
+ * the error. RSA public keys have no raw form, so passing an RSA algorithm is
9112
+ * a type error.
9113
+ *
9114
+ * @stability unstable
9115
+ * @category crypto
9116
+ * @since 4.0.0
9117
+ */
9118
+ export const SignaturePublicKeyFromBytes = algorithm => cryptoKeyFromBytes("SignaturePublicKeyFromBytes", SignaturePublicKey(algorithm), bytes => Signature_.publicKey(algorithm, bytes), Signature_.toBytes);
9119
+ /**
9120
+ * Schema that decodes a `Signature.PublicKey` with
9121
+ * `KeyFormat.decodePublic` and encodes it with `KeyFormat.encode`.
9122
+ *
9123
+ * **Details**
9124
+ *
9125
+ * The format must hold public keys: `KeyFormat.spki`, `KeyFormat.jwk`, or
9126
+ * `KeyFormat.pem(KeyFormat.spki)`. A format for another role is a type
9127
+ * error. Decoding runs the runtime's key import, so use the async decoding
9128
+ * functions: `Schema.decodeSync` throws. A `CryptoError` becomes an
9129
+ * `InvalidValue` issue whose `cause` is the error.
9130
+ *
9131
+ * @stability unstable
9132
+ * @category crypto
9133
+ * @since 4.0.0
9134
+ */
9135
+ export const SignaturePublicKeyFromFormat = (format, algorithm) => cryptoKeyFromFormat("SignaturePublicKeyFromFormat", SignaturePublicKey(algorithm), format, data => KeyFormat_.decodePublic(format, algorithm, data), true);
9136
+ /**
9137
+ * Schema for live `Signature.PrivateKey` values of an algorithm.
9138
+ *
9139
+ * **Details**
9140
+ *
9141
+ * Decoding checks the key's algorithm and returns the key itself. The key has
9142
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
9143
+ * {@link SignaturePrivateKeyFromFormat} or
9144
+ * {@link SignaturePrivateKeyFromBytes} to read and write keys. Keys display
9145
+ * redacted, compare by reference, and have no `Arbitrary`.
9146
+ *
9147
+ * @stability unstable
9148
+ * @category crypto
9149
+ * @since 4.0.0
9150
+ */
9151
+ export const SignaturePrivateKey = algorithm => declareCryptoKey("SignaturePrivateKey", "Signature", "PrivateKey", Signature_.isPrivateKey, algorithm);
9152
+ /**
9153
+ * Schema that decodes an Ed25519 seed into a `Signature.PrivateKey`.
9154
+ *
9155
+ * **Details**
9156
+ *
9157
+ * Decoding runs `Signature.privateKey`, which is synchronous, so the schema
9158
+ * works with `Schema.decodeSync`. Under `Config.schema` the bytes are read as
9159
+ * base64. A `CryptoError` becomes an `InvalidValue` issue whose `cause` is
9160
+ * the error. ECDSA and RSA private keys have no raw form, so passing them is
9161
+ * a type error. Encoding fails with a `Forbidden` issue unless `allowEncode`
9162
+ * is `true`.
9163
+ *
9164
+ * @stability unstable
9165
+ * @category crypto
9166
+ * @since 4.0.0
9167
+ */
9168
+ export const SignaturePrivateKeyFromBytes = (algorithm, options) => cryptoKeyFromBytes("SignaturePrivateKeyFromBytes", SignaturePrivateKey(algorithm), bytes => Signature_.privateKey(algorithm, bytes), options?.allowEncode === true ? Signature_.toBytes : undefined);
9169
+ /**
9170
+ * Schema that decodes a `Signature.PrivateKey` with
9171
+ * `KeyFormat.decodePrivate`.
9172
+ *
9173
+ * **Details**
9174
+ *
9175
+ * The format must hold private keys: `KeyFormat.pkcs8`, `KeyFormat.jwk`,
9176
+ * `KeyFormat.pkcs1`, `KeyFormat.sec1`, or their PEM forms. A format for
9177
+ * another role is a type error. Decoding runs the runtime's key import, so
9178
+ * use the async decoding functions: `Schema.decodeSync` throws. A
9179
+ * `CryptoError` becomes an `InvalidValue` issue whose `cause` is the error.
9180
+ * Encoding fails with a `Forbidden` issue unless `allowEncode` is `true`,
9181
+ * and always for the read-only PKCS#1 and SEC1 formats.
9182
+ *
9183
+ * @stability unstable
9184
+ * @category crypto
9185
+ * @since 4.0.0
9186
+ */
9187
+ export const SignaturePrivateKeyFromFormat = (format, algorithm, options) => cryptoKeyFromFormat("SignaturePrivateKeyFromFormat", SignaturePrivateKey(algorithm), format, data => KeyFormat_.decodePrivate(format, algorithm, data), options?.allowEncode === true);
9188
+ /**
9189
+ * Schema for live `KeyAgreement.PublicKey` values of an algorithm.
9190
+ *
9191
+ * **Details**
9192
+ *
9193
+ * Decoding checks the key's algorithm and returns the key itself. The key has
9194
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
9195
+ * {@link KeyAgreementPublicKeyFromFormat} or
9196
+ * {@link KeyAgreementPublicKeyFromBytes} to read and write keys. Keys compare
9197
+ * by reference and have no `Arbitrary`.
9198
+ *
9199
+ * @stability unstable
9200
+ * @category crypto
9201
+ * @since 4.0.0
9202
+ */
9203
+ export const KeyAgreementPublicKey = algorithm => declareCryptoKey("KeyAgreementPublicKey", "KeyAgreement", "PublicKey", KeyAgreement_.isPublicKey, algorithm);
9204
+ /**
9205
+ * Schema that decodes a raw public key into a `KeyAgreement.PublicKey`: 32
9206
+ * bytes for X25519, or an uncompressed SEC1 point for ECDH.
9207
+ *
9208
+ * **Details**
9209
+ *
9210
+ * Decoding runs `KeyAgreement.publicKey`, which is synchronous, so the schema
9211
+ * works with `Schema.decodeSync`. Under `Config.schema` the bytes are read as
9212
+ * base64. A `CryptoError` becomes an `InvalidValue` issue whose `cause` is
9213
+ * the error.
9214
+ *
9215
+ * @stability unstable
9216
+ * @category crypto
9217
+ * @since 4.0.0
9218
+ */
9219
+ export const KeyAgreementPublicKeyFromBytes = algorithm => cryptoKeyFromBytes("KeyAgreementPublicKeyFromBytes", KeyAgreementPublicKey(algorithm), bytes => KeyAgreement_.publicKey(algorithm, bytes), KeyAgreement_.toBytes);
9220
+ /**
9221
+ * Schema that decodes a `KeyAgreement.PublicKey` with
9222
+ * `KeyFormat.decodePublic` and encodes it with `KeyFormat.encode`.
9223
+ *
9224
+ * **Details**
9225
+ *
9226
+ * The format must hold public keys: `KeyFormat.spki`, `KeyFormat.jwk`, or
9227
+ * `KeyFormat.pem(KeyFormat.spki)`. A format for another role is a type
9228
+ * error. Decoding runs the runtime's key import, so use the async decoding
9229
+ * functions: `Schema.decodeSync` throws. A `CryptoError` becomes an
9230
+ * `InvalidValue` issue whose `cause` is the error.
9231
+ *
9232
+ * @stability unstable
9233
+ * @category crypto
9234
+ * @since 4.0.0
9235
+ */
9236
+ export const KeyAgreementPublicKeyFromFormat = (format, algorithm) => cryptoKeyFromFormat("KeyAgreementPublicKeyFromFormat", KeyAgreementPublicKey(algorithm), format, data => KeyFormat_.decodePublic(format, algorithm, data), true);
9237
+ /**
9238
+ * Schema for live `KeyAgreement.PrivateKey` values of an algorithm.
9239
+ *
9240
+ * **Details**
9241
+ *
9242
+ * Decoding checks the key's algorithm and returns the key itself. The key has
9243
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
9244
+ * {@link KeyAgreementPrivateKeyFromFormat} or
9245
+ * {@link KeyAgreementPrivateKeyFromBytes} to read and write keys. Keys
9246
+ * display redacted, compare by reference, and have no `Arbitrary`.
9247
+ *
9248
+ * @stability unstable
9249
+ * @category crypto
9250
+ * @since 4.0.0
9251
+ */
9252
+ export const KeyAgreementPrivateKey = algorithm => declareCryptoKey("KeyAgreementPrivateKey", "KeyAgreement", "PrivateKey", KeyAgreement_.isPrivateKey, algorithm);
9253
+ /**
9254
+ * Schema that decodes an X25519 private key into a
9255
+ * `KeyAgreement.PrivateKey`.
9256
+ *
9257
+ * **Details**
9258
+ *
9259
+ * Decoding runs `KeyAgreement.privateKey`, which is synchronous, so the
9260
+ * schema works with `Schema.decodeSync`. Under `Config.schema` the bytes are
9261
+ * read as base64. A `CryptoError` becomes an `InvalidValue` issue whose
9262
+ * `cause` is the error. ECDH private keys have no raw form, so passing them
9263
+ * is a type error. Encoding fails with a `Forbidden` issue unless
9264
+ * `allowEncode` is `true`.
9265
+ *
9266
+ * @stability unstable
9267
+ * @category crypto
9268
+ * @since 4.0.0
9269
+ */
9270
+ export const KeyAgreementPrivateKeyFromBytes = (algorithm, options) => cryptoKeyFromBytes("KeyAgreementPrivateKeyFromBytes", KeyAgreementPrivateKey(algorithm), bytes => KeyAgreement_.privateKey(algorithm, bytes), options?.allowEncode === true ? KeyAgreement_.toBytes : undefined);
9271
+ /**
9272
+ * Schema that decodes a `KeyAgreement.PrivateKey` with
9273
+ * `KeyFormat.decodePrivate`.
9274
+ *
9275
+ * **Details**
9276
+ *
9277
+ * The format must hold private keys: `KeyFormat.pkcs8`, `KeyFormat.jwk`,
9278
+ * `KeyFormat.sec1`, or their PEM forms. A format for another role is a type
9279
+ * error. Decoding runs the runtime's key import, so use the async decoding
9280
+ * functions: `Schema.decodeSync` throws. A `CryptoError` becomes an
9281
+ * `InvalidValue` issue whose `cause` is the error. Encoding fails with a
9282
+ * `Forbidden` issue unless `allowEncode` is `true`, and always for the
9283
+ * read-only PKCS#1 and SEC1 formats.
9284
+ *
9285
+ * @stability unstable
9286
+ * @category crypto
9287
+ * @since 4.0.0
9288
+ */
9289
+ export const KeyAgreementPrivateKeyFromFormat = (format, algorithm, options) => cryptoKeyFromFormat("KeyAgreementPrivateKeyFromFormat", KeyAgreementPrivateKey(algorithm), format, data => KeyFormat_.decodePrivate(format, algorithm, data), options?.allowEncode === true);
9290
+ /**
9291
+ * Schema for live AES-KW `KeyWrap.Key` values of an algorithm.
9292
+ *
9293
+ * **Details**
9294
+ *
9295
+ * Decoding checks the key's algorithm and returns the key itself. The key has
9296
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
9297
+ * {@link KeyWrapKeyFromFormat} or {@link KeyWrapKeyFromBytes} to read and
9298
+ * write keys. Keys display redacted, compare by reference, and have no
9299
+ * `Arbitrary`.
9300
+ *
9301
+ * @stability unstable
9302
+ * @category crypto
9303
+ * @since 4.0.0
9304
+ */
9305
+ export const KeyWrapKey = algorithm => declareCryptoKey("KeyWrapKey", "KeyWrap", "Key", KeyWrap_.isKey, algorithm);
9306
+ /**
9307
+ * Schema that decodes raw key bytes into an AES-KW `KeyWrap.Key`.
9308
+ *
9309
+ * **Details**
9310
+ *
9311
+ * Decoding runs `KeyWrap.key`, which is synchronous, so the schema works with
9312
+ * `Schema.decodeSync`. Under `Config.schema` the bytes are read as base64. A
9313
+ * `CryptoError` becomes an `InvalidValue` issue whose `cause` is the error.
9314
+ * Encoding fails with a `Forbidden` issue unless `allowEncode` is `true`.
9315
+ *
9316
+ * @stability unstable
9317
+ * @category crypto
9318
+ * @since 4.0.0
9319
+ */
9320
+ export const KeyWrapKeyFromBytes = (algorithm, options) => cryptoKeyFromBytes("KeyWrapKeyFromBytes", KeyWrapKey(algorithm), bytes => KeyWrap_.key(algorithm, bytes), options?.allowEncode === true ? KeyWrap_.toBytes : undefined);
9321
+ /**
9322
+ * Schema that decodes an AES-KW `KeyWrap.Key` from a JWK with
9323
+ * `KeyFormat.decodeSecret`.
9324
+ *
9325
+ * **Details**
9326
+ *
9327
+ * Decoding returns an Effect, so use the async decoding functions:
9328
+ * `Schema.decodeSync` throws. A `CryptoError` becomes an `InvalidValue` issue
9329
+ * whose `cause` is the error. Encoding fails with a `Forbidden` issue unless
9330
+ * `allowEncode` is `true`.
9331
+ *
9332
+ * @stability unstable
9333
+ * @category crypto
9334
+ * @since 4.0.0
9335
+ */
9336
+ export const KeyWrapKeyFromFormat = (format, algorithm, options) => cryptoKeyFromFormat("KeyWrapKeyFromFormat", KeyWrapKey(algorithm), format, data => KeyFormat_.decodeSecret(format, algorithm, data), options?.allowEncode === true);
9337
+ /**
9338
+ * Schema for live RSA-OAEP `KeyWrap.PublicKey` values of an algorithm.
9339
+ *
9340
+ * **Details**
9341
+ *
9342
+ * Decoding checks the key's algorithm and returns the key itself. The key has
9343
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
9344
+ * {@link KeyWrapPublicKeyFromFormat} to read and write keys. RSA-OAEP keys
9345
+ * have no raw form. Keys compare by reference and have no `Arbitrary`.
9346
+ *
9347
+ * @stability unstable
9348
+ * @category crypto
9349
+ * @since 4.0.0
9350
+ */
9351
+ export const KeyWrapPublicKey = algorithm => declareCryptoKey("KeyWrapPublicKey", "KeyWrap", "PublicKey", KeyWrap_.isPublicKey, algorithm);
9352
+ /**
9353
+ * Schema that decodes an RSA-OAEP `KeyWrap.PublicKey` with
9354
+ * `KeyFormat.decodePublic` and encodes it with `KeyFormat.encode`.
9355
+ *
9356
+ * **Details**
9357
+ *
9358
+ * The format must hold public keys: `KeyFormat.spki`, `KeyFormat.jwk`, or
9359
+ * `KeyFormat.pem(KeyFormat.spki)`. A format for another role is a type
9360
+ * error. Decoding runs the runtime's key import, so use the async decoding
9361
+ * functions: `Schema.decodeSync` throws. A `CryptoError` becomes an
9362
+ * `InvalidValue` issue whose `cause` is the error.
9363
+ *
9364
+ * @stability unstable
9365
+ * @category crypto
9366
+ * @since 4.0.0
9367
+ */
9368
+ export const KeyWrapPublicKeyFromFormat = (format, algorithm) => cryptoKeyFromFormat("KeyWrapPublicKeyFromFormat", KeyWrapPublicKey(algorithm), format, data => KeyFormat_.decodePublic(format, algorithm, data), true);
9369
+ /**
9370
+ * Schema for live RSA-OAEP `KeyWrap.PrivateKey` values of an algorithm.
9371
+ *
9372
+ * **Details**
9373
+ *
9374
+ * Decoding checks the key's algorithm and returns the key itself. The key has
9375
+ * no JSON form: `toCodecJson` fails with a `Forbidden` issue, so use
9376
+ * {@link KeyWrapPrivateKeyFromFormat} to read and write keys. RSA-OAEP keys
9377
+ * have no raw form. Keys display redacted, compare by reference, and have no
9378
+ * `Arbitrary`.
9379
+ *
9380
+ * @stability unstable
9381
+ * @category crypto
9382
+ * @since 4.0.0
9383
+ */
9384
+ export const KeyWrapPrivateKey = algorithm => declareCryptoKey("KeyWrapPrivateKey", "KeyWrap", "PrivateKey", KeyWrap_.isPrivateKey, algorithm);
9385
+ /**
9386
+ * Schema that decodes an RSA-OAEP `KeyWrap.PrivateKey` with
9387
+ * `KeyFormat.decodePrivate`.
9388
+ *
9389
+ * **Details**
9390
+ *
9391
+ * The format must hold private keys: `KeyFormat.pkcs8`, `KeyFormat.jwk`,
9392
+ * `KeyFormat.pkcs1`, or their PEM forms. A format for another role is a type
9393
+ * error. Decoding runs the runtime's key import, so use the async decoding
9394
+ * functions: `Schema.decodeSync` throws. A `CryptoError` becomes an
9395
+ * `InvalidValue` issue whose `cause` is the error. Encoding fails with a
9396
+ * `Forbidden` issue unless `allowEncode` is `true`, and always for the
9397
+ * read-only PKCS#1 format.
9398
+ *
9399
+ * @stability unstable
9400
+ * @category crypto
9401
+ * @since 4.0.0
9402
+ */
9403
+ export const KeyWrapPrivateKeyFromFormat = (format, algorithm, options) => cryptoKeyFromFormat("KeyWrapPrivateKeyFromFormat", KeyWrapPrivateKey(algorithm), format, data => KeyFormat_.decodePrivate(format, algorithm, data), options?.allowEncode === true);
8753
9404
  /**
8754
9405
  * Creates a schema for `Exit` values using schemas for the success value, typed
8755
9406
  * failure, and unexpected defect channels.