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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CryptoError.d.ts","sourceRoot":"","sources":["../../src/crypto/CryptoError.ts"],"names":[],"mappings":"AAsBA,QAAA,MAAM,MAAM,EAAG,4BAAqC,CAAA;AACpD,QAAA,MAAM,YAAY,EAAG,mCAA4C,CAAA;;;;AAEjE;;;;;;;;GAQG;AACH,qBAAa,eAAgB,SAAQ,qBAAoC;IACvE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CACzB,CAAC;IACA;;;;OAIG;IACH,QAAQ,CAAC,CAAC,YAAY,CAAC,sCAAe;IAEtC,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF;;;;AAED;;;;;;;;GAQG;AACH,qBAAa,UAAW,SAAQ,gBAA+B;IAC7D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CACzB,CAAC;IACA;;;;OAIG;IACH,QAAQ,CAAC,CAAC,YAAY,CAAC,sCAAe;IAEtC,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF;;;;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,gBAAiB,SAAQ,sBAAqC,EAAE,CAAC;IAC5E;;;;OAIG;IACH,QAAQ,CAAC,CAAC,YAAY,CAAC,sCAAe;IAEtC,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF;;;;AAED;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,iBAAgC;IAC/D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CACzB,CAAC;IACA;;;;OAIG;IACH,QAAQ,CAAC,CAAC,YAAY,CAAC,sCAAe;IAEtC,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF;;;;AAED;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,oBAAmC;IACrE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CACzB,CAAC;IACA;;;;OAIG;IACH,QAAQ,CAAC,CAAC,YAAY,CAAC,sCAAe;IAEtC,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF;AAED;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,eAAe,GAAG,UAAU,GAAG,gBAAgB,GAAG,WAAW,GAAG,cAAc,CAAA;;;;AAE9G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBAAa,WAAY,SAAQ,iBAAgC;IAC/D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;CACnC,CAAC;IACA;;;;OAIG;IACH,QAAQ,CAAC,CAAC,MAAM,CAAC,+BAAS;IAE1B;;;;OAIG;IACH,SAAkB,KAAK,EAAE,OAAO,CAAyD;IAEzF,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,MAAO,OAAO,KAAG,CAAC,IAAI,WAA+C,CAAA;AAE/F;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,MAAO,OAAO,KAAG,CAAC,IAAI,iBAA2D,CAAA"}
@@ -0,0 +1,202 @@
1
+ /**
2
+ * The `CryptoError` returned by the `effect/crypto` modules, and the reasons it
3
+ * carries.
4
+ *
5
+ * Every failure is one `CryptoError` whose `module` and `method` name the
6
+ * operation, such as `"Aead"` and `"decrypt"`, and whose `reason` says what
7
+ * went wrong: `InvalidArgument`, `InvalidKey`, `DecryptionFailed`,
8
+ * `Unsupported`, or `NotExtractable`.
9
+ *
10
+ * **Gotchas**
11
+ *
12
+ * The error is not serializable, so it cannot be a typed failure in an Rpc or
13
+ * HttpApi schema. Map it before it reaches a client, for example
14
+ * `DecryptionFailed` to a 401. Sending crypto failure detail to clients is how
15
+ * oracles leak.
16
+ *
17
+ * @stability unstable
18
+ * @since 4.0.0
19
+ */
20
+ import * as Data from "../Data.js";
21
+ import * as Predicate from "../Predicate.js";
22
+ const TypeId = "~effect/crypto/CryptoError";
23
+ const ReasonTypeId = "~effect/crypto/CryptoError/Reason";
24
+ /**
25
+ * Reason for an argument that the operation rejects before using the key or
26
+ * data, such as a wrong nonce length, an out-of-range iteration count, or
27
+ * `info` passed to a key derivation other than HKDF.
28
+ *
29
+ * @stability unstable
30
+ * @category errors
31
+ * @since 4.0.0
32
+ */
33
+ export class InvalidArgument extends /*#__PURE__*/Data.TaggedError("InvalidArgument") {
34
+ /**
35
+ * Marks this value as a `CryptoError` reason for runtime guards.
36
+ *
37
+ * @since 4.0.0
38
+ */
39
+ [ReasonTypeId] = ReasonTypeId;
40
+ get message() {
41
+ return this.description;
42
+ }
43
+ }
44
+ /**
45
+ * Reason for key material that is rejected, such as a wrong raw key length,
46
+ * malformed DER, PEM, or JWK data, a `CryptoKey` that does not match the typed
47
+ * key, or a peer public key that produces an all-zero shared secret.
48
+ *
49
+ * @stability unstable
50
+ * @category errors
51
+ * @since 4.0.0
52
+ */
53
+ export class InvalidKey extends /*#__PURE__*/Data.TaggedError("InvalidKey") {
54
+ /**
55
+ * Marks this value as a `CryptoError` reason for runtime guards.
56
+ *
57
+ * @since 4.0.0
58
+ */
59
+ [ReasonTypeId] = ReasonTypeId;
60
+ get message() {
61
+ return this.description;
62
+ }
63
+ }
64
+ /**
65
+ * Reason for a decryption or unwrap that failed its integrity check, or a CBC
66
+ * ciphertext with bad padding or length.
67
+ *
68
+ * **Details**
69
+ *
70
+ * The reason is identical for every cause and carries no `cause` or runtime
71
+ * message, so callers cannot tell a tampered tag from bad padding. Keeping
72
+ * either would create a padding oracle.
73
+ *
74
+ * @stability unstable
75
+ * @category errors
76
+ * @since 4.0.0
77
+ */
78
+ export class DecryptionFailed extends /*#__PURE__*/Data.TaggedError("DecryptionFailed") {
79
+ /**
80
+ * Marks this value as a `CryptoError` reason for runtime guards.
81
+ *
82
+ * @since 4.0.0
83
+ */
84
+ [ReasonTypeId] = ReasonTypeId;
85
+ get message() {
86
+ return "Could not decrypt the data";
87
+ }
88
+ }
89
+ /**
90
+ * Reason for an algorithm or key that a layer does not provide, such as
91
+ * Argon2id under `Kdf.layerWebCrypto`, or a `CryptoKey`-backed key passed to a
92
+ * layer that cannot use it.
93
+ *
94
+ * @stability unstable
95
+ * @category errors
96
+ * @since 4.0.0
97
+ */
98
+ export class Unsupported extends /*#__PURE__*/Data.TaggedError("Unsupported") {
99
+ /**
100
+ * Marks this value as a `CryptoError` reason for runtime guards.
101
+ *
102
+ * @since 4.0.0
103
+ */
104
+ [ReasonTypeId] = ReasonTypeId;
105
+ get message() {
106
+ return this.description;
107
+ }
108
+ }
109
+ /**
110
+ * Reason for exporting or wrapping a `CryptoKey` that was created as
111
+ * non-extractable.
112
+ *
113
+ * @stability unstable
114
+ * @category errors
115
+ * @since 4.0.0
116
+ */
117
+ export class NotExtractable extends /*#__PURE__*/Data.TaggedError("NotExtractable") {
118
+ /**
119
+ * Marks this value as a `CryptoError` reason for runtime guards.
120
+ *
121
+ * @since 4.0.0
122
+ */
123
+ [ReasonTypeId] = ReasonTypeId;
124
+ get message() {
125
+ return this.description;
126
+ }
127
+ }
128
+ /**
129
+ * Error returned by the `effect/crypto` modules.
130
+ *
131
+ * **When to use**
132
+ *
133
+ * Use to handle failures from any `effect/crypto` operation, matching on
134
+ * `reason` to separate caller mistakes from failed decryption.
135
+ *
136
+ * **Details**
137
+ *
138
+ * `module` and `method` name the operation, such as `"Aead"` and `"decrypt"`.
139
+ * The message reads `"Aead.decrypt: <reason message>"`. The error's `cause`
140
+ * is the reason's `cause`, when it has one.
141
+ *
142
+ * **Example** (Recovering from failed decryption)
143
+ *
144
+ * ```ts import.meta.vitest
145
+ * import { Effect } from "effect"
146
+ * import { CryptoError } from "effect/crypto"
147
+ *
148
+ * const decrypt = Effect.fail(
149
+ * new CryptoError.CryptoError({
150
+ * module: "Aead",
151
+ * method: "decrypt",
152
+ * reason: new CryptoError.DecryptionFailed()
153
+ * })
154
+ * )
155
+ *
156
+ * const program = decrypt.pipe(
157
+ * Effect.catchReason("CryptoError", "DecryptionFailed", () => Effect.succeed("rejected"))
158
+ * )
159
+ *
160
+ * await Effect.runPromise(program) // => "rejected"
161
+ * ```
162
+ *
163
+ * @see {@link isCryptoError} for narrowing unknown values
164
+ *
165
+ * @stability unstable
166
+ * @category errors
167
+ * @since 4.0.0
168
+ */
169
+ export class CryptoError extends /*#__PURE__*/Data.TaggedError("CryptoError") {
170
+ /**
171
+ * Marks this value as a `CryptoError` for runtime guards.
172
+ *
173
+ * @since 4.0.0
174
+ */
175
+ [TypeId] = TypeId;
176
+ /**
177
+ * The reason's cause, when it has one.
178
+ *
179
+ * @since 4.0.0
180
+ */
181
+ cause = "cause" in this.reason ? this.reason.cause : undefined;
182
+ get message() {
183
+ return `${this.module}.${this.method}: ${this.reason.message}`;
184
+ }
185
+ }
186
+ /**
187
+ * Checks whether a value is a `CryptoError`.
188
+ *
189
+ * @stability unstable
190
+ * @category guards
191
+ * @since 4.0.0
192
+ */
193
+ export const isCryptoError = u => Predicate.hasProperty(u, TypeId);
194
+ /**
195
+ * Checks whether a value is one of the reasons carried by `CryptoError`.
196
+ *
197
+ * @stability unstable
198
+ * @category guards
199
+ * @since 4.0.0
200
+ */
201
+ export const isCryptoErrorReason = u => Predicate.hasProperty(u, ReasonTypeId);
202
+ //# sourceMappingURL=CryptoError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CryptoError.js","names":[],"sources":["../../src/crypto/CryptoError.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;AAmBA,OAAO,KAAK,IAAI,MAAM,YAAY;AAClC,OAAO,KAAK,SAAS,MAAM,iBAAiB;AAE5C,MAAM,MAAM,GAAG,4BAAqC;AACpD,MAAM,YAAY,GAAG,mCAA4C;AAEjE;;;;;;;;;AASA,OAAM,MAAO,eAAgB,sBAAQ,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAGrE;EACA;;;;;EAKS,CAAC,YAAY,IAAI,YAAY;EAEtC,IAAa,OAAO;IAClB,OAAO,IAAI,CAAC,WAAW;EACzB;;AAGF;;;;;;;;;AASA,OAAM,MAAO,UAAW,sBAAQ,IAAI,CAAC,WAAW,CAAC,YAAY,CAG3D;EACA;;;;;EAKS,CAAC,YAAY,IAAI,YAAY;EAEtC,IAAa,OAAO;IAClB,OAAO,IAAI,CAAC,WAAW;EACzB;;AAGF;;;;;;;;;;;;;;AAcA,OAAM,MAAO,gBAAiB,sBAAQ,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAK;EAC5E;;;;;EAKS,CAAC,YAAY,IAAI,YAAY;EAEtC,IAAa,OAAO;IAClB,OAAO,4BAA4B;EACrC;;AAGF;;;;;;;;;AASA,OAAM,MAAO,WAAY,sBAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAG7D;EACA;;;;;EAKS,CAAC,YAAY,IAAI,YAAY;EAEtC,IAAa,OAAO;IAClB,OAAO,IAAI,CAAC,WAAW;EACzB;;AAGF;;;;;;;;AAQA,OAAM,MAAO,cAAe,sBAAQ,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAGnE;EACA;;;;;EAKS,CAAC,YAAY,IAAI,YAAY;EAEtC,IAAa,OAAO;IAClB,OAAO,IAAI,CAAC,WAAW;EACzB;;AAYF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,OAAM,MAAO,WAAY,sBAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAI7D;EACA;;;;;EAKS,CAAC,MAAM,IAAI,MAAM;EAE1B;;;;;EAKkB,KAAK,GAAY,OAAO,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,SAAS;EAEzF,IAAa,OAAO;IAClB,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;EAChE;;AAGF;;;;;;;AAOA,OAAO,MAAM,aAAa,GAAI,CAAU,IAAuB,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC;AAE/F;;;;;;;AAOA,OAAO,MAAM,mBAAmB,GAAI,CAAU,IAA6B,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,YAAY,CAAC","ignoreList":[]}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Message digests: MD5, SHA-1, SHA-256, SHA-384, and SHA-512.
3
+ *
4
+ * The {@link Digest} service computes digests and lowercase hex strings.
5
+ * Provide {@link layerWebCrypto} to run it on the `WebCrypto` reference,
6
+ * or mock the service with `Layer.mock`.
7
+ *
8
+ * MD5 runs a pure TypeScript implementation vendored from `@noble/hashes`
9
+ * 2.4.0, because WebCrypto does not provide it. Whether the `@noble/hashes`
10
+ * audit covers its MD5 code has not been confirmed. The SHA algorithms run on
11
+ * `crypto.subtle`.
12
+ *
13
+ * Output is stable byte for byte, so digests can be persisted.
14
+ *
15
+ * **Gotchas**
16
+ *
17
+ * MD5 and SHA-1 are broken for collision resistance. Use them only for
18
+ * interoperability with existing protocols and checksums.
19
+ *
20
+ * @stability unstable
21
+ * @since 4.0.0
22
+ */
23
+ import * as Context from "../Context.ts";
24
+ import * as Effect from "../Effect.ts";
25
+ import * as Layer from "../Layer.ts";
26
+ /**
27
+ * A digest algorithm, such as {@link sha256}.
28
+ *
29
+ * **Details**
30
+ *
31
+ * `name` is the WebCrypto algorithm name. `implementation` is the pure
32
+ * TypeScript code for algorithms that WebCrypto does not provide, which a
33
+ * layer calls when it has no native mapping for `name`.
34
+ *
35
+ * @stability unstable
36
+ * @category models
37
+ * @since 4.0.0
38
+ */
39
+ export interface Algorithm {
40
+ readonly name: "MD5" | "SHA-1" | "SHA-256" | "SHA-384" | "SHA-512";
41
+ readonly outputLength: number;
42
+ readonly implementation: ((data: Uint8Array) => Uint8Array) | undefined;
43
+ }
44
+ /**
45
+ * MD5 (RFC 1321), with a 16-byte output.
46
+ *
47
+ * **Gotchas**
48
+ *
49
+ * MD5 is broken for collision resistance. Use it only for interoperability
50
+ * with existing protocols and checksums.
51
+ *
52
+ * @stability unstable
53
+ * @category algorithms
54
+ * @since 4.0.0
55
+ */
56
+ export declare const md5: Algorithm;
57
+ /**
58
+ * SHA-1, with a 20-byte output.
59
+ *
60
+ * **Gotchas**
61
+ *
62
+ * SHA-1 is broken for collision resistance. Use it only for interoperability
63
+ * with existing protocols.
64
+ *
65
+ * @stability unstable
66
+ * @category algorithms
67
+ * @since 4.0.0
68
+ */
69
+ export declare const sha1: Algorithm;
70
+ /**
71
+ * SHA-256, with a 32-byte output.
72
+ *
73
+ * @stability unstable
74
+ * @category algorithms
75
+ * @since 4.0.0
76
+ */
77
+ export declare const sha256: Algorithm;
78
+ /**
79
+ * SHA-384, with a 48-byte output.
80
+ *
81
+ * @stability unstable
82
+ * @category algorithms
83
+ * @since 4.0.0
84
+ */
85
+ export declare const sha384: Algorithm;
86
+ /**
87
+ * SHA-512, with a 64-byte output.
88
+ *
89
+ * @stability unstable
90
+ * @category algorithms
91
+ * @since 4.0.0
92
+ */
93
+ export declare const sha512: Algorithm;
94
+ declare const Digest_base: Context.ServiceClass<Digest, "effect/crypto/Digest", {
95
+ /**
96
+ * Computes the digest of `data`.
97
+ */
98
+ readonly digest: (algorithm: Algorithm, data: Uint8Array) => Effect.Effect<Uint8Array>;
99
+ /**
100
+ * Computes the digest of `data` as lowercase hex.
101
+ */
102
+ readonly digestHex: (algorithm: Algorithm, data: Uint8Array) => Effect.Effect<string>;
103
+ }>;
104
+ /**
105
+ * Service that computes message digests.
106
+ *
107
+ * **Example** (Hashing with SHA-256)
108
+ *
109
+ * ```ts import.meta.vitest
110
+ * import { Effect } from "effect"
111
+ * import { Digest } from "effect/crypto"
112
+ *
113
+ * const program = Effect.gen(function*() {
114
+ * const digest = yield* Digest.Digest
115
+ * return yield* digest.digestHex(Digest.sha256, new TextEncoder().encode("abc"))
116
+ * })
117
+ *
118
+ * const hex = await Effect.runPromise(program.pipe(Effect.provide(Digest.layerWebCrypto)))
119
+ * hex.length // => 64
120
+ * ```
121
+ *
122
+ * @stability unstable
123
+ * @category services
124
+ * @since 4.0.0
125
+ */
126
+ export declare class Digest extends Digest_base {
127
+ }
128
+ /**
129
+ * Layer that provides `Digest` on the `WebCrypto` reference.
130
+ *
131
+ * **Details**
132
+ *
133
+ * The SHA algorithms run on `crypto.subtle`, and MD5 on the pure TypeScript
134
+ * implementation. Without `crypto.subtle`, the layer still builds and MD5
135
+ * keeps working, but SHA digests die.
136
+ *
137
+ * @stability unstable
138
+ * @category layers
139
+ * @since 4.0.0
140
+ */
141
+ export declare const layerWebCrypto: Layer.Layer<Digest>;
142
+ export {};
143
+ //# sourceMappingURL=Digest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Digest.d.ts","sourceRoot":"","sources":["../../src/crypto/Digest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAEtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAKpC;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;IAClE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,KAAK,UAAU,CAAC,GAAG,SAAS,CAAA;CACxE;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,GAAG,EAAE,SAAsE,CAAA;AAExF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,IAAI,EAAE,SAA0E,CAAA;AAE7F;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAE,SAA4E,CAAA;AAEjG;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAE,SAA4E,CAAA;AAEjG;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,EAAE,SAA4E,CAAA;;IAiC/F;;OAEG;qBACc,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;IACtF;;OAEG;wBACiB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;;AA9BvF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,MAAO,SAAQ,WASA;CAAG;AAE/B;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAQ9C,CAAA"}
@@ -0,0 +1,146 @@
1
+ /**
2
+ * Message digests: MD5, SHA-1, SHA-256, SHA-384, and SHA-512.
3
+ *
4
+ * The {@link Digest} service computes digests and lowercase hex strings.
5
+ * Provide {@link layerWebCrypto} to run it on the `WebCrypto` reference,
6
+ * or mock the service with `Layer.mock`.
7
+ *
8
+ * MD5 runs a pure TypeScript implementation vendored from `@noble/hashes`
9
+ * 2.4.0, because WebCrypto does not provide it. Whether the `@noble/hashes`
10
+ * audit covers its MD5 code has not been confirmed. The SHA algorithms run on
11
+ * `crypto.subtle`.
12
+ *
13
+ * Output is stable byte for byte, so digests can be persisted.
14
+ *
15
+ * **Gotchas**
16
+ *
17
+ * MD5 and SHA-1 are broken for collision resistance. Use them only for
18
+ * interoperability with existing protocols and checksums.
19
+ *
20
+ * @stability unstable
21
+ * @since 4.0.0
22
+ */
23
+ import * as Context from "../Context.js";
24
+ import * as Effect from "../Effect.js";
25
+ import * as Hex from "../encoding/Hex.js";
26
+ import * as Layer from "../Layer.js";
27
+ import { webCryptoDigest } from "./internal/digest.js";
28
+ import * as Md5 from "./internal/md5.js";
29
+ import { WebCrypto } from "./WebCrypto.js";
30
+ /**
31
+ * MD5 (RFC 1321), with a 16-byte output.
32
+ *
33
+ * **Gotchas**
34
+ *
35
+ * MD5 is broken for collision resistance. Use it only for interoperability
36
+ * with existing protocols and checksums.
37
+ *
38
+ * @stability unstable
39
+ * @category algorithms
40
+ * @since 4.0.0
41
+ */
42
+ export const md5 = {
43
+ name: "MD5",
44
+ outputLength: 16,
45
+ implementation: Md5.md5
46
+ };
47
+ /**
48
+ * SHA-1, with a 20-byte output.
49
+ *
50
+ * **Gotchas**
51
+ *
52
+ * SHA-1 is broken for collision resistance. Use it only for interoperability
53
+ * with existing protocols.
54
+ *
55
+ * @stability unstable
56
+ * @category algorithms
57
+ * @since 4.0.0
58
+ */
59
+ export const sha1 = {
60
+ name: "SHA-1",
61
+ outputLength: 20,
62
+ implementation: undefined
63
+ };
64
+ /**
65
+ * SHA-256, with a 32-byte output.
66
+ *
67
+ * @stability unstable
68
+ * @category algorithms
69
+ * @since 4.0.0
70
+ */
71
+ export const sha256 = {
72
+ name: "SHA-256",
73
+ outputLength: 32,
74
+ implementation: undefined
75
+ };
76
+ /**
77
+ * SHA-384, with a 48-byte output.
78
+ *
79
+ * @stability unstable
80
+ * @category algorithms
81
+ * @since 4.0.0
82
+ */
83
+ export const sha384 = {
84
+ name: "SHA-384",
85
+ outputLength: 48,
86
+ implementation: undefined
87
+ };
88
+ /**
89
+ * SHA-512, with a 64-byte output.
90
+ *
91
+ * @stability unstable
92
+ * @category algorithms
93
+ * @since 4.0.0
94
+ */
95
+ export const sha512 = {
96
+ name: "SHA-512",
97
+ outputLength: 64,
98
+ implementation: undefined
99
+ };
100
+ /**
101
+ * Converts a hash name to an algorithm-name suffix: `"SHA-256"` to `"Sha256"`.
102
+ *
103
+ * @internal
104
+ */
105
+ export const nameSuffix = hash => hash.name.charAt(0) + hash.name.slice(1).toLowerCase().replace("-", "");
106
+ /**
107
+ * Service that computes message digests.
108
+ *
109
+ * **Example** (Hashing with SHA-256)
110
+ *
111
+ * ```ts import.meta.vitest
112
+ * import { Effect } from "effect"
113
+ * import { Digest } from "effect/crypto"
114
+ *
115
+ * const program = Effect.gen(function*() {
116
+ * const digest = yield* Digest.Digest
117
+ * return yield* digest.digestHex(Digest.sha256, new TextEncoder().encode("abc"))
118
+ * })
119
+ *
120
+ * const hex = await Effect.runPromise(program.pipe(Effect.provide(Digest.layerWebCrypto)))
121
+ * hex.length // => 64
122
+ * ```
123
+ *
124
+ * @stability unstable
125
+ * @category services
126
+ * @since 4.0.0
127
+ */
128
+ export class Digest extends /*#__PURE__*/Context.Service()("effect/crypto/Digest") {}
129
+ /**
130
+ * Layer that provides `Digest` on the `WebCrypto` reference.
131
+ *
132
+ * **Details**
133
+ *
134
+ * The SHA algorithms run on `crypto.subtle`, and MD5 on the pure TypeScript
135
+ * implementation. Without `crypto.subtle`, the layer still builds and MD5
136
+ * keeps working, but SHA digests die.
137
+ *
138
+ * @stability unstable
139
+ * @category layers
140
+ * @since 4.0.0
141
+ */
142
+ export const layerWebCrypto = /*#__PURE__*/Layer.effect(Digest, /*#__PURE__*/WebCrypto.use(crypto => Effect.succeed({
143
+ digest: (algorithm, data) => webCryptoDigest(crypto, algorithm, data),
144
+ digestHex: (algorithm, data) => Effect.map(webCryptoDigest(crypto, algorithm, data), Hex.encode)
145
+ })));
146
+ //# sourceMappingURL=Digest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Digest.js","names":[],"sources":["../../src/crypto/Digest.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;AAsBA,OAAO,KAAK,OAAO,MAAM,eAAe;AACxC,OAAO,KAAK,MAAM,MAAM,cAAc;AACtC,OAAO,KAAK,GAAG,MAAM,oBAAoB;AACzC,OAAO,KAAK,KAAK,MAAM,aAAa;AACpC,SAAS,eAAe,QAAQ,sBAAsB;AACtD,OAAO,KAAK,GAAG,MAAM,mBAAmB;AACxC,SAAS,SAAS,QAAQ,gBAAgB;AAqB1C;;;;;;;;;;;;AAYA,OAAO,MAAM,GAAG,GAAc;EAAE,IAAI,EAAE,KAAK;EAAE,YAAY,EAAE,EAAE;EAAE,cAAc,EAAE,GAAG,CAAC;AAAG,CAAE;AAExF;;;;;;;;;;;;AAYA,OAAO,MAAM,IAAI,GAAc;EAAE,IAAI,EAAE,OAAO;EAAE,YAAY,EAAE,EAAE;EAAE,cAAc,EAAE;AAAS,CAAE;AAE7F;;;;;;;AAOA,OAAO,MAAM,MAAM,GAAc;EAAE,IAAI,EAAE,SAAS;EAAE,YAAY,EAAE,EAAE;EAAE,cAAc,EAAE;AAAS,CAAE;AAEjG;;;;;;;AAOA,OAAO,MAAM,MAAM,GAAc;EAAE,IAAI,EAAE,SAAS;EAAE,YAAY,EAAE,EAAE;EAAE,cAAc,EAAE;AAAS,CAAE;AAEjG;;;;;;;AAOA,OAAO,MAAM,MAAM,GAAc;EAAE,IAAI,EAAE,SAAS;EAAE,YAAY,EAAE,EAAE;EAAE,cAAc,EAAE;AAAS,CAAE;AAEjG;;;;;AAKA,OAAO,MAAM,UAAU,GAAI,IAAe,IACxC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;AAsBA,OAAM,MAAO,MAAO,sBAAQ,OAAO,CAAC,OAAO,EASvC,CAAC,sBAAsB,CAAC;AAE5B;;;;;;;;;;;;;AAaA,OAAO,MAAM,cAAc,gBAAwB,KAAK,CAAC,MAAM,CAC7D,MAAM,eACN,SAAS,CAAC,GAAG,CAAE,MAAM,IACnB,MAAM,CAAC,OAAO,CAAC;EACb,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,KAAK,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC;EACrE,SAAS,EAAE,CAAC,SAAS,EAAE,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM;CAChG,CAAC,CACH,CACF","ignoreList":[]}