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":"CommandLine.d.ts","sourceRoot":"","sources":["../../src/process/CommandLine.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAEtC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,CAAA;AAEvD;;;;;;;GAOG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAErD;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AAE1F;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG,aAAa,CAAC,sBAAsB,CAAC,CAAA;;;;AAE/F;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,gBAAiB,SAAQ,sBAAqC;IACzE,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,iBAAiB,GAAG,eAAe,GAAG,mBAAmB,GAAG,mBAAmB,CAAA;IACjH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,CAAC;CAAG;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,eAAO,MAAM,KAAK,SACV,IAAI,YACA;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,KACjD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAIxC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,eAAO,MAAM,IAAI,UACR,aAAa,CAAC,IAAI,CAAC,YAChB;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,KACjD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CA4BxC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,OAAO,UAAW,aAAa,CAAC,IAAI,CAAC,YAAY;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,KAAG,MAUxG,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,eAAO,MAAM,QAAQ,YACV,oBAAoB,kBACb,aAAa,CAAC,kBAAkB,CAAC,KAChD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAW7C,CAAA"}
@@ -0,0 +1,481 @@
1
+ /**
2
+ * Builds command lines, the single strings that a shell or a Windows program
3
+ * turns back into arguments, and argument lists from templates. It is
4
+ * unrelated to `effect/cli`, which parses the arguments of your own program.
5
+ *
6
+ * The rules depend on what parses the string, not on the platform that builds
7
+ * it, so `quote`, `join` and `display` take an explicit `format`:
8
+ *
9
+ * - `"posix"` (the default) for `sh`, `dash`, `bash` and `zsh`. Quoted output
10
+ * is also read the same way by `fish`.
11
+ * - `"powershell"` for PowerShell 7.3 or later.
12
+ * - `"windows"` for the Microsoft C runtime rules that most Windows programs
13
+ * use to split their command line.
14
+ *
15
+ * SSH sends one command line to the login shell of the remote account, so the
16
+ * format must match that shell. The remote shell must be a POSIX shell or
17
+ * PowerShell: Windows OpenSSH uses `cmd.exe` by default, which no format
18
+ * supports, so set its `DefaultShell` to PowerShell. Docker and Kubernetes exec
19
+ * take argument lists and need no command line at all.
20
+ *
21
+ * Arguments can be `Redacted` strings. `quote` and `join` include their values,
22
+ * because their output is meant to run, while `display` replaces them with
23
+ * `<redacted>`.
24
+ *
25
+ * @stability unstable
26
+ * @since 4.0.7
27
+ */
28
+ import * as Data from "../Data.js";
29
+ import * as Redacted from "../Redacted.js";
30
+ import * as Result from "../Result.js";
31
+ /**
32
+ * Error returned when a command line or a template cannot be built.
33
+ *
34
+ * **Details**
35
+ *
36
+ * - `NulCharacter`: an argument passed to {@link quote} or {@link join}
37
+ * contains a NUL character, which no command line can carry.
38
+ * - `InvalidArgument`: the format cannot carry an argument: a Windows program
39
+ * name with a double quote, or the argument `--%`, which PowerShell drops
40
+ * when it calls a native program.
41
+ * - `InvalidEscape`: template text ends with a backslash that escapes nothing,
42
+ * or contains an invalid JavaScript escape sequence.
43
+ * - `UnterminatedQuote`: a quoted section of a template is not closed.
44
+ * - `UnsupportedSyntax`: template text contains shell syntax that cannot work
45
+ * without a shell, such as operators, expansions, globs, comments or
46
+ * variable assignments, or an interpolated array is not a separate argument.
47
+ *
48
+ * Messages never include the input, which may contain secrets.
49
+ *
50
+ * @stability unstable
51
+ * @category errors
52
+ * @since 4.0.7
53
+ */
54
+ export class CommandLineError extends /*#__PURE__*/Data.TaggedError("CommandLineError") {}
55
+ /**
56
+ * Quotes one argument so that a program reading the given format sees it as
57
+ * exactly one argument, with one PowerShell exception listed under Gotchas.
58
+ *
59
+ * **When to use**
60
+ *
61
+ * Use when you insert an argument into a command line that is otherwise
62
+ * written by hand, for example a script passed to `sh -c`.
63
+ *
64
+ * **Details**
65
+ *
66
+ * - `"posix"` leaves words made of letters, digits and `_ @ + : , . / -`
67
+ * unchanged and wraps everything else in single quotes. Single quotes and
68
+ * backslashes are written outside the quotes, so `fish` reads the result
69
+ * the same way.
70
+ * - `"powershell"` always uses single quotes, doubling `'` and the
71
+ * typographic single quotes that PowerShell also accepts as quotes.
72
+ * - `"windows"` quotes words that contain a space, a tab, a line break or a
73
+ * double quote, using the C runtime backslash rules. Use {@link join} for a
74
+ * complete command line, because the program name follows different rules.
75
+ *
76
+ * **Gotchas**
77
+ *
78
+ * - The result contains the value of a `Redacted` argument. Use
79
+ * {@link display} for logs.
80
+ * - Control characters are kept as they are. That is safe for `sh -c` and SSH
81
+ * commands, but not for text typed into an interactive shell.
82
+ * - PowerShell never passes an argument equal to `--%` to a native program,
83
+ * however it is quoted. Use {@link join} for a whole native call, which
84
+ * fails with `InvalidArgument` instead.
85
+ *
86
+ * **Example** (Quoting arguments for different shells)
87
+ *
88
+ * ```ts import.meta.vitest
89
+ * import { Result } from "effect"
90
+ * import { CommandLine } from "effect/process"
91
+ *
92
+ * CommandLine.quote("it's") // => Result.succeed("'it'\\''s'")
93
+ * CommandLine.quote("it's", { format: "powershell" }) // => Result.succeed("'it''s'")
94
+ * CommandLine.quote("C:\\My Files\\", { format: "windows" }) // => Result.succeed("\"C:\\My Files\\\\\"")
95
+ * ```
96
+ *
97
+ * @see {@link join} for quoting a whole argument list
98
+ *
99
+ * @stability unstable
100
+ * @category encoding
101
+ * @since 4.0.7
102
+ */
103
+ export const quote = (word, options) => {
104
+ const value = unwrap(word);
105
+ if (value.includes("\0")) return failNul("The argument");
106
+ return Result.succeed(quoteWord(options?.format ?? "posix", value, false));
107
+ };
108
+ /**
109
+ * Builds a command line that runs the given program and arguments.
110
+ *
111
+ * **When to use**
112
+ *
113
+ * Use when a transport accepts only one string, such as an SSH exec request or
114
+ * a `shell` option, and the arguments must reach the program unchanged.
115
+ *
116
+ * **Details**
117
+ *
118
+ * The first word is the program. Each word is quoted as in {@link quote} and
119
+ * the words are separated by spaces.
120
+ *
121
+ * - `"posix"` also quotes a program name that `sh`, `bash`, `zsh` or `fish`
122
+ * reads as syntax, such as `if` or `time`.
123
+ * - `"powershell"` starts the line with the call operator `&`, because a
124
+ * quoted program name is otherwise read as a string value.
125
+ * - `"windows"` quotes the program name with the C runtime rules for program
126
+ * names, which do not support backslash escapes.
127
+ * - An empty list returns an empty string.
128
+ *
129
+ * **Gotchas**
130
+ *
131
+ * - The result contains the values of `Redacted` arguments. Use
132
+ * {@link display} for logs.
133
+ * - A Windows program name that contains `"` fails with `InvalidArgument`.
134
+ * - For `"powershell"`, an argument equal to `--%` fails with
135
+ * `InvalidArgument`: PowerShell drops it when it calls a native program,
136
+ * however it is quoted.
137
+ * - `"windows"` output is the command line of a program, not a `cmd.exe`
138
+ * script. `cmd.exe`, which `shell: true` uses on Windows, expands `%NAME%`
139
+ * and reads `^ & | < >` before the program sees its arguments, so a script
140
+ * that contains untrusted values has to be written by hand.
141
+ *
142
+ * **Example** (Joining arguments into command lines)
143
+ *
144
+ * ```ts import.meta.vitest
145
+ * import { Result } from "effect"
146
+ * import { CommandLine } from "effect/process"
147
+ *
148
+ * const args = ["git", "commit", "-m", "fix: don't fail"]
149
+ *
150
+ * CommandLine.join(args) // => Result.succeed("git commit -m 'fix: don'\\''t fail'")
151
+ * CommandLine.join(args, { format: "powershell" }) // => Result.succeed("& 'git' 'commit' '-m' 'fix: don''t fail'")
152
+ * CommandLine.join(args, { format: "windows" }) // => Result.succeed("git commit -m \"fix: don't fail\"")
153
+ * ```
154
+ *
155
+ * @see {@link display} for rendering a command for logs and error messages
156
+ *
157
+ * @stability unstable
158
+ * @category encoding
159
+ * @since 4.0.7
160
+ */
161
+ export const join = (words, options) => {
162
+ const values = [];
163
+ for (let i = 0; i < words.length; i++) {
164
+ const value = unwrap(words[i]);
165
+ if (value.includes("\0")) return failNul(`Argument ${i}`);
166
+ values.push(value);
167
+ }
168
+ if (values.length === 0) return Result.succeed("");
169
+ const format = options?.format ?? "posix";
170
+ if (format === "powershell") {
171
+ const stopParsing = values.indexOf("--%", 1);
172
+ if (stopParsing !== -1) {
173
+ return Result.fail(new CommandLineError({
174
+ reason: "InvalidArgument",
175
+ message: `Argument ${stopParsing} is "--%", which PowerShell drops when it calls a program`
176
+ }));
177
+ }
178
+ } else if (format === "windows" && values[0].includes("\"")) {
179
+ return Result.fail(new CommandLineError({
180
+ reason: "InvalidArgument",
181
+ message: "A Windows program name cannot contain a double quote"
182
+ }));
183
+ }
184
+ return Result.succeed(joinWords(format, values.map((value, i) => quoteWord(format, value, i === 0))));
185
+ };
186
+ /**
187
+ * Renders a command for logs and error messages.
188
+ *
189
+ * **When to use**
190
+ *
191
+ * Use when you show a command to a person, for example in an error message,
192
+ * and secrets and control characters must not reach the output.
193
+ *
194
+ * **Details**
195
+ *
196
+ * - Quotes like {@link join}, so commands without control characters or
197
+ * secrets can be copied into a terminal of the given format.
198
+ * - Replaces `Redacted` arguments with `<redacted>`.
199
+ * - Writes control characters and Unicode line separators as escapes such as
200
+ * `\n` or `\u001b`, so output cannot move the cursor or inject terminal
201
+ * sequences.
202
+ * - Never fails: input that {@link join} rejects is rendered anyway.
203
+ *
204
+ * **Gotchas**
205
+ *
206
+ * The output is for reading only. It is not a reliable command line: escapes
207
+ * and `<redacted>` change what a shell would run.
208
+ *
209
+ * **Example** (Showing a command with a secret)
210
+ *
211
+ * ```ts import.meta.vitest
212
+ * import { Redacted } from "effect"
213
+ * import { CommandLine } from "effect/process"
214
+ *
215
+ * const token = Redacted.make("hunter2")
216
+ *
217
+ * CommandLine.display(["curl", "-H", token, "https://x.dev/a b"]) // => "curl -H <redacted> 'https://x.dev/a b'"
218
+ * ```
219
+ *
220
+ * @see {@link join} for building a command line to run
221
+ *
222
+ * @stability unstable
223
+ * @category encoding
224
+ * @since 4.0.7
225
+ */
226
+ export const display = (words, options) => {
227
+ if (words.length === 0) return "";
228
+ const format = options?.format ?? "posix";
229
+ // Escaping after quoting keeps the escapes inside the quotes.
230
+ return joinWords(format, words.map((word, i) => Redacted.isRedacted(word) ? "<redacted>" : escapeControlCharacters(quoteWord(format, word, i === 0))));
231
+ };
232
+ /**
233
+ * Builds an argument list from a template literal.
234
+ *
235
+ * **When to use**
236
+ *
237
+ * Use to write a command as it would look in a shell while keeping every
238
+ * interpolated value a literal argument.
239
+ *
240
+ * **Details**
241
+ *
242
+ * - The template text is split into words as a POSIX shell does: spaces,
243
+ * tabs and line breaks separate words, and quotes and backslash escapes are
244
+ * removed. A long command can span several lines.
245
+ * - Text that would need a shell fails with `UnsupportedSyntax`: operators
246
+ * (`| & ; < > ( )`), expansions (`$NAME`, `${...}`, `$(...)`, backticks, a
247
+ * leading `~`, braces such as `{a,b}`, and a leading `=` that `zsh`
248
+ * expands), globs (`* ? [`), comments (`#` at the start of a word), and a
249
+ * variable assignment in the program position. Quote such characters to
250
+ * pass them literally.
251
+ * - No shell runs, so a program such as `if` or `time` names an executable.
252
+ * - Each `${}` value is inserted literally, without splitting or quote
253
+ * processing. Next to other text or inside quotes, it becomes part of the
254
+ * surrounding argument.
255
+ * - An array adds one argument per element and must stand alone as a whole
256
+ * argument.
257
+ * - Numbers and booleans are converted with `String`.
258
+ * - An argument that contains a `Redacted` value becomes `Redacted` as a
259
+ * whole.
260
+ *
261
+ * **Gotchas**
262
+ *
263
+ * - An invalid JavaScript escape sequence in the text, such as `\u` without
264
+ * hex digits, fails with `InvalidEscape`. Use `String.raw` or a `${}` value
265
+ * for backslashes.
266
+ * - Neither the text nor the values are checked for NUL characters.
267
+ * {@link join} and the child process spawners reject them where they would
268
+ * truncate an argument.
269
+ *
270
+ * **Example** (Building arguments with interpolated values)
271
+ *
272
+ * ```ts import.meta.vitest
273
+ * import { Redacted, Result } from "effect"
274
+ * import { CommandLine } from "effect/process"
275
+ *
276
+ * const msg = "fix: handle $HOME"
277
+ * const files = ["a.ts", "b.ts"]
278
+ *
279
+ * CommandLine.template`git commit -m ${msg} ${files}` // => Result.succeed(["git", "commit", "-m", msg, ...files])
280
+ *
281
+ * const password = Redacted.make("hunter2")
282
+ * const words = Result.getOrThrow(CommandLine.template`psql "--password=${password}"`)
283
+ *
284
+ * CommandLine.display(words) // => "psql <redacted>"
285
+ * ```
286
+ *
287
+ * @stability unstable
288
+ * @category constructors
289
+ * @since 4.0.7
290
+ */
291
+ export const template = (strings, ...expressions) => {
292
+ const index = strings.findIndex(text => text === undefined);
293
+ if (index !== -1) {
294
+ return Result.fail(new CommandLineError({
295
+ reason: "InvalidEscape",
296
+ message: `Template part ${index} contains an invalid escape sequence`
297
+ }));
298
+ }
299
+ return parseTemplate(strings, expressions);
300
+ };
301
+ // -----------------------------------------------------------------------------
302
+ // Quoting
303
+ // -----------------------------------------------------------------------------
304
+ const unwrap = item => Redacted.isRedacted(item) ? Redacted.value(item) : String(item);
305
+ const toWord = item => Redacted.isRedacted(item) ? item : String(item);
306
+ const failNul = subject => Result.fail(new CommandLineError({
307
+ reason: "NulCharacter",
308
+ message: `${subject} contains a NUL character`
309
+ }));
310
+ // Words that sh, bash, zsh or fish read as syntax in the program position. A
311
+ // quoted reserved word is an ordinary command name.
312
+ const reservedWords = /*#__PURE__*/new Set(["!", "{", "}", "and", "begin", "case", "coproc", "do", "done", "elif", "else", "end", "esac", "fi", "for", "foreach", "function", "if", "in", "nocorrect", "not", "or", "repeat", "select", "switch", "then", "time", "until", "while"]);
313
+ // Quotes one word for the format. The program, the first word, follows
314
+ // different rules from the arguments in POSIX shells and in Windows programs.
315
+ const quoteWord = (format, value, program) => {
316
+ switch (format) {
317
+ case "posix":
318
+ return program && reservedWords.has(value) ? `'${value}'` : quotePosix(value);
319
+ case "powershell":
320
+ return quotePowerShell(value);
321
+ case "windows":
322
+ return program && !value.includes("\"") ? quoteWindowsProgram(value) : quoteWindowsArgument(value);
323
+ }
324
+ };
325
+ const joinWords = (format, quoted) => format === "powershell" ? `& ${quoted.join(" ")}` : quoted.join(" ");
326
+ const posixSafe = /^[A-Za-z0-9_@+:,./-]+$/;
327
+ // Single quotes keep every character literal in POSIX shells. `'` and `\` are
328
+ // written outside the quotes, because fish also treats `\'` and `\\` as
329
+ // escapes inside single quotes.
330
+ const quotePosix = value => posixSafe.test(value) ? value : `'${value.replace(/['\\]/g, char => `'\\${char}'`)}'`;
331
+ // PowerShell also reads the typographic single quotes U+2018 to U+201B as
332
+ // quotes, so each of them is doubled like `'`.
333
+ const quotePowerShell = value => `'${value.replace(/['\u2018\u2019\u201A\u201B]/g, "$&$&")}'`;
334
+ const windowsNeedsQuotes = /[ \t\n\v"]/;
335
+ // Arguments: 2n backslashes before a quote mean n backslashes, 2n+1 mean n
336
+ // backslashes and a literal quote, and other backslashes are literal.
337
+ const quoteWindowsArgument = value => {
338
+ if (value.length > 0 && !windowsNeedsQuotes.test(value)) return value;
339
+ let out = "\"";
340
+ let backslashes = 0;
341
+ for (const char of value) {
342
+ if (char === "\\") {
343
+ backslashes++;
344
+ } else if (char === "\"") {
345
+ out += "\\".repeat(backslashes * 2 + 1) + "\"";
346
+ backslashes = 0;
347
+ } else {
348
+ out += "\\".repeat(backslashes) + char;
349
+ backslashes = 0;
350
+ }
351
+ }
352
+ return out + "\\".repeat(backslashes * 2) + "\"";
353
+ };
354
+ // Program names allow quotes for grouping but no backslash escapes.
355
+ const quoteWindowsProgram = value => value.length > 0 && !/[ \t]/.test(value) ? value : `"${value}"`;
356
+ // oxlint-disable-next-line no-control-regex
357
+ const controlCharacters = /[\u0000-\u001f\u007f-\u009f\u2028\u2029]/g;
358
+ const controlEscapes = {
359
+ "\n": "\\n",
360
+ "\r": "\\r",
361
+ "\t": "\\t"
362
+ };
363
+ const escapeControlCharacters = value => value.replace(controlCharacters, char => controlEscapes[char] ?? `\\u${char.charCodeAt(0).toString(16).padStart(4, "0")}`);
364
+ // -----------------------------------------------------------------------------
365
+ // Templates
366
+ // -----------------------------------------------------------------------------
367
+ const operators = "|&;<>()";
368
+ const globs = "*?[";
369
+ const expansionStart = /[A-Za-z_0-9{(@*#?$!'"-]/;
370
+ const quotedExpansionStart = /[A-Za-z_0-9{(@*#?$!-]/;
371
+ const assignmentName = /^[A-Za-z_][A-Za-z0-9_]*\+?$/;
372
+ const isBlank = char => char === " " || char === "\t" || char === "\n";
373
+ // Why an unquoted character needs a shell, if it does.
374
+ const unsupportedSyntax = (char, next, wordStart) => {
375
+ if (operators.includes(char)) return `The operator "${char}" needs a shell`;
376
+ if (char === "`") return "Command substitution needs a shell";
377
+ if (char === "$" && next !== undefined && expansionStart.test(next)) return `The expansion "$${next}" needs a shell`;
378
+ if (globs.includes(char)) return `The glob character "${char}" needs a shell`;
379
+ if (!wordStart) return undefined;
380
+ if (char === "#") return "A comment needs a shell";
381
+ if (char === "~") return "Tilde expansion needs a shell";
382
+ if (char === "=" && next !== undefined && !isBlank(next)) return "A leading \"=\" is expanded by zsh";
383
+ return undefined;
384
+ };
385
+ // Splits the text parts with POSIX quote removal and inserts the values
386
+ // between them.
387
+ const parseTemplate = (texts, values) => {
388
+ const words = [];
389
+ // The current word, empty until it starts. An opened quote adds "".
390
+ let word = [];
391
+ // The current word is unquoted literal text, so it can be the name of a
392
+ // variable assignment.
393
+ let plain = true;
394
+ let braceDepth = 0;
395
+ let quote = undefined;
396
+ let quotePart = 0;
397
+ let part = 0;
398
+ const error = (reason, message, at = part) => Result.fail(new CommandLineError({
399
+ reason,
400
+ message: `${message} in template part ${at}`
401
+ }));
402
+ const endWord = () => {
403
+ if (word.length === 0) return;
404
+ const value = word.map(unwrap).join("");
405
+ words.push(word.length === 1 && Redacted.isRedacted(word[0]) ? word[0] : word.some(Redacted.isRedacted) ? Redacted.make(value) : value);
406
+ word = [];
407
+ plain = true;
408
+ braceDepth = 0;
409
+ };
410
+ const scan = text => {
411
+ for (let i = 0; i < text.length; i++) {
412
+ const char = text[i];
413
+ const next = text[i + 1];
414
+ if (quote === "'") {
415
+ if (char === "'") quote = undefined;else word.push(char);
416
+ } else if (quote === "\"") {
417
+ if (char === "\"") {
418
+ quote = undefined;
419
+ } else if (char === "\\" && next !== undefined && "$`\"\\\n".includes(next)) {
420
+ if (next !== "\n") word.push(next);
421
+ i++;
422
+ } else if (char === "`") {
423
+ return error("UnsupportedSyntax", "Command substitution needs a shell");
424
+ } else if (char === "$" && next !== undefined && quotedExpansionStart.test(next)) {
425
+ return error("UnsupportedSyntax", `The expansion "$${next}" needs a shell`);
426
+ } else {
427
+ word.push(char);
428
+ }
429
+ } else if (isBlank(char)) {
430
+ endWord();
431
+ } else if (char === "\\") {
432
+ if (next === undefined) return error("InvalidEscape", "A trailing backslash escapes nothing");
433
+ if (next !== "\n") {
434
+ word.push(next);
435
+ plain = false;
436
+ }
437
+ i++;
438
+ } else if (char === "'" || char === "\"") {
439
+ quote = char;
440
+ quotePart = part;
441
+ word.push("");
442
+ plain = false;
443
+ } else {
444
+ const unsupported = unsupportedSyntax(char, next, word.length === 0);
445
+ if (unsupported !== undefined) return error("UnsupportedSyntax", unsupported);
446
+ if (char === "{") {
447
+ braceDepth++;
448
+ } else if (char === "}") {
449
+ if (braceDepth > 0) braceDepth--;
450
+ } else if (braceDepth > 0 && (char === "," || char === "." && next === ".")) {
451
+ return error("UnsupportedSyntax", "Brace expansion needs a shell");
452
+ } else if (char === "=" && words.length === 0 && plain && assignmentName.test(word.join(""))) {
453
+ return error("UnsupportedSyntax", "A variable assignment needs a shell");
454
+ }
455
+ word.push(char);
456
+ }
457
+ }
458
+ return undefined;
459
+ };
460
+ for (; part < texts.length; part++) {
461
+ const failure = scan(texts[part]);
462
+ if (failure !== undefined) return failure;
463
+ if (part === values.length) break;
464
+ const expression = values[part];
465
+ if (Array.isArray(expression)) {
466
+ // An array must stand alone: nothing may touch it on either side.
467
+ const after = texts[part + 1][0];
468
+ if (word.length > 0 || (after === undefined ? part + 1 < values.length : !isBlank(after))) {
469
+ return error("UnsupportedSyntax", "An interpolated array must be a separate argument");
470
+ }
471
+ for (const item of expression) words.push(toWord(item));
472
+ } else {
473
+ word.push(toWord(expression));
474
+ plain = false;
475
+ }
476
+ }
477
+ if (quote !== undefined) return error("UnterminatedQuote", "The quote is not closed", quotePart);
478
+ endWord();
479
+ return Result.succeed(words);
480
+ };
481
+ //# sourceMappingURL=CommandLine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommandLine.js","names":[],"sources":["../../src/process/CommandLine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -12,4 +12,9 @@ export * as ChildProcess from "./ChildProcess.ts";
12
12
  * @since 4.0.0
13
13
  */
14
14
  export * as ChildProcessSpawner from "./ChildProcessSpawner.ts";
15
+ /**
16
+ * @stability unstable
17
+ * @since 4.0.7
18
+ */
19
+ export * as CommandLine from "./CommandLine.ts";
15
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/process/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;GAGG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;;GAGG;AACH,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/process/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;GAGG;AACH,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD;;;GAGG;AACH,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAE/D;;;GAGG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA"}
@@ -13,4 +13,9 @@ export * as ChildProcess from "./ChildProcess.js";
13
13
  * @since 4.0.0
14
14
  */
15
15
  export * as ChildProcessSpawner from "./ChildProcessSpawner.js";
16
+ /**
17
+ * @stability unstable
18
+ * @since 4.0.7
19
+ */
20
+ export * as CommandLine from "./CommandLine.js";
16
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/process/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;AAKA;AAEA;;;;AAIA,OAAO,KAAK,YAAY,MAAM,mBAAmB;AAEjD;;;;AAIA,OAAO,KAAK,mBAAmB,MAAM,0BAA0B","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/process/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;AAKA;AAEA;;;;AAIA,OAAO,KAAK,YAAY,MAAM,mBAAmB;AAEjD;;;;AAIA,OAAO,KAAK,mBAAmB,MAAM,0BAA0B;AAE/D;;;;AAIA,OAAO,KAAK,WAAW,MAAM,kBAAkB","ignoreList":[]}
@@ -1592,7 +1592,8 @@ export type SerializableTypeId = "~effect-atom/atom/Atom/Serializable";
1592
1592
  * **Details**
1593
1593
  *
1594
1594
  * The key identifies the atom in dehydrated state, and the encode/decode
1595
- * functions convert between the atom value and its JSON encoding.
1595
+ * functions convert between the atom value and its JSON representation, as
1596
+ * produced by the schema's JSON codec (`Schema.toCodecJson`).
1596
1597
  *
1597
1598
  * @stability unstable
1598
1599
  * @category models