effect 4.0.0-beta.102 → 4.0.0-beta.103

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 (1451) hide show
  1. package/dist/Array.d.ts +971 -1037
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +381 -407
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +433 -756
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +200 -325
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +207 -267
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +107 -135
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +146 -188
  14. package/dist/Boolean.d.ts.map +1 -1
  15. package/dist/Boolean.js +64 -84
  16. package/dist/Boolean.js.map +1 -1
  17. package/dist/Brand.js.map +1 -1
  18. package/dist/Cache.d.ts +405 -254
  19. package/dist/Cache.d.ts.map +1 -1
  20. package/dist/Cache.js +166 -101
  21. package/dist/Cache.js.map +1 -1
  22. package/dist/Cause.d.ts +167 -277
  23. package/dist/Cause.d.ts.map +1 -1
  24. package/dist/Cause.js +122 -176
  25. package/dist/Cause.js.map +1 -1
  26. package/dist/Channel.d.ts +729 -768
  27. package/dist/Channel.d.ts.map +1 -1
  28. package/dist/Channel.js +514 -440
  29. package/dist/Channel.js.map +1 -1
  30. package/dist/ChannelSchema.d.ts +1 -1
  31. package/dist/ChannelSchema.d.ts.map +1 -1
  32. package/dist/ChannelSchema.js.map +1 -1
  33. package/dist/Chunk.d.ts +834 -1173
  34. package/dist/Chunk.d.ts.map +1 -1
  35. package/dist/Chunk.js +326 -439
  36. package/dist/Chunk.js.map +1 -1
  37. package/dist/Clock.d.ts +180 -49
  38. package/dist/Clock.d.ts.map +1 -1
  39. package/dist/Clock.js +96 -31
  40. package/dist/Clock.js.map +1 -1
  41. package/dist/Combiner.d.ts +20 -33
  42. package/dist/Combiner.d.ts.map +1 -1
  43. package/dist/Combiner.js +18 -30
  44. package/dist/Combiner.js.map +1 -1
  45. package/dist/Config.d.ts +225 -173
  46. package/dist/Config.d.ts.map +1 -1
  47. package/dist/Config.js +336 -265
  48. package/dist/Config.js.map +1 -1
  49. package/dist/ConfigProvider.d.ts +194 -68
  50. package/dist/ConfigProvider.d.ts.map +1 -1
  51. package/dist/ConfigProvider.js +115 -80
  52. package/dist/ConfigProvider.js.map +1 -1
  53. package/dist/Console.d.ts +233 -33
  54. package/dist/Console.d.ts.map +1 -1
  55. package/dist/Console.js +232 -32
  56. package/dist/Console.js.map +1 -1
  57. package/dist/Context.d.ts +151 -274
  58. package/dist/Context.d.ts.map +1 -1
  59. package/dist/Context.js +171 -214
  60. package/dist/Context.js.map +1 -1
  61. package/dist/Cron.d.ts +68 -77
  62. package/dist/Cron.d.ts.map +1 -1
  63. package/dist/Cron.js +57 -66
  64. package/dist/Cron.js.map +1 -1
  65. package/dist/Crypto.d.ts +13 -15
  66. package/dist/Crypto.d.ts.map +1 -1
  67. package/dist/Crypto.js +9 -10
  68. package/dist/Crypto.js.map +1 -1
  69. package/dist/Data.d.ts +60 -80
  70. package/dist/Data.d.ts.map +1 -1
  71. package/dist/Data.js +16 -23
  72. package/dist/Data.js.map +1 -1
  73. package/dist/DateTime.d.ts +562 -660
  74. package/dist/DateTime.d.ts.map +1 -1
  75. package/dist/DateTime.js +307 -362
  76. package/dist/DateTime.js.map +1 -1
  77. package/dist/Deferred.d.ts +253 -256
  78. package/dist/Deferred.d.ts.map +1 -1
  79. package/dist/Deferred.js +104 -96
  80. package/dist/Deferred.js.map +1 -1
  81. package/dist/Duration.d.ts +216 -308
  82. package/dist/Duration.d.ts.map +1 -1
  83. package/dist/Duration.js +132 -186
  84. package/dist/Duration.js.map +1 -1
  85. package/dist/Effect.d.ts +2841 -3247
  86. package/dist/Effect.d.ts.map +1 -1
  87. package/dist/Effect.js +1322 -1546
  88. package/dist/Effect.js.map +1 -1
  89. package/dist/Effectable.js.map +1 -1
  90. package/dist/Encoding.d.ts +22 -40
  91. package/dist/Encoding.d.ts.map +1 -1
  92. package/dist/Encoding.js +22 -40
  93. package/dist/Encoding.js.map +1 -1
  94. package/dist/Equal.d.ts +33 -37
  95. package/dist/Equal.d.ts.map +1 -1
  96. package/dist/Equal.js +29 -21
  97. package/dist/Equal.js.map +1 -1
  98. package/dist/Equivalence.d.ts +103 -105
  99. package/dist/Equivalence.d.ts.map +1 -1
  100. package/dist/Equivalence.js +77 -79
  101. package/dist/Equivalence.js.map +1 -1
  102. package/dist/ErrorReporter.d.ts +51 -27
  103. package/dist/ErrorReporter.d.ts.map +1 -1
  104. package/dist/ErrorReporter.js +50 -26
  105. package/dist/ErrorReporter.js.map +1 -1
  106. package/dist/ExecutionPlan.d.ts +13 -55
  107. package/dist/ExecutionPlan.d.ts.map +1 -1
  108. package/dist/ExecutionPlan.js +7 -28
  109. package/dist/ExecutionPlan.js.map +1 -1
  110. package/dist/Exit.d.ts +116 -192
  111. package/dist/Exit.d.ts.map +1 -1
  112. package/dist/Exit.js +82 -130
  113. package/dist/Exit.js.map +1 -1
  114. package/dist/Fiber.d.ts +82 -146
  115. package/dist/Fiber.d.ts.map +1 -1
  116. package/dist/Fiber.js +48 -87
  117. package/dist/Fiber.js.map +1 -1
  118. package/dist/FiberHandle.d.ts +152 -105
  119. package/dist/FiberHandle.d.ts.map +1 -1
  120. package/dist/FiberHandle.js +106 -73
  121. package/dist/FiberHandle.js.map +1 -1
  122. package/dist/FiberMap.d.ts +213 -168
  123. package/dist/FiberMap.d.ts.map +1 -1
  124. package/dist/FiberMap.js +114 -89
  125. package/dist/FiberMap.js.map +1 -1
  126. package/dist/FiberSet.d.ts +123 -81
  127. package/dist/FiberSet.d.ts.map +1 -1
  128. package/dist/FiberSet.js +85 -59
  129. package/dist/FiberSet.js.map +1 -1
  130. package/dist/FileSystem.d.ts +153 -264
  131. package/dist/FileSystem.d.ts.map +1 -1
  132. package/dist/FileSystem.js +42 -147
  133. package/dist/FileSystem.js.map +1 -1
  134. package/dist/Filter.d.ts +61 -33
  135. package/dist/Filter.d.ts.map +1 -1
  136. package/dist/Filter.js +26 -15
  137. package/dist/Filter.js.map +1 -1
  138. package/dist/Formatter.d.ts +25 -33
  139. package/dist/Formatter.d.ts.map +1 -1
  140. package/dist/Formatter.js +48 -49
  141. package/dist/Formatter.js.map +1 -1
  142. package/dist/Function.d.ts +76 -145
  143. package/dist/Function.d.ts.map +1 -1
  144. package/dist/Function.js +40 -57
  145. package/dist/Function.js.map +1 -1
  146. package/dist/Graph.d.ts +360 -714
  147. package/dist/Graph.d.ts.map +1 -1
  148. package/dist/Graph.js +168 -297
  149. package/dist/Graph.js.map +1 -1
  150. package/dist/HKT.d.ts +12 -6
  151. package/dist/HKT.d.ts.map +1 -1
  152. package/dist/Hash.d.ts +47 -83
  153. package/dist/Hash.d.ts.map +1 -1
  154. package/dist/Hash.js +46 -68
  155. package/dist/Hash.js.map +1 -1
  156. package/dist/HashMap.d.ts +319 -411
  157. package/dist/HashMap.d.ts.map +1 -1
  158. package/dist/HashMap.js +122 -166
  159. package/dist/HashMap.js.map +1 -1
  160. package/dist/HashRing.d.ts.map +1 -1
  161. package/dist/HashRing.js +1 -0
  162. package/dist/HashRing.js.map +1 -1
  163. package/dist/HashSet.d.ts +177 -284
  164. package/dist/HashSet.d.ts.map +1 -1
  165. package/dist/HashSet.js +68 -109
  166. package/dist/HashSet.js.map +1 -1
  167. package/dist/Inspectable.d.ts +12 -12
  168. package/dist/Inspectable.js +8 -8
  169. package/dist/Inspectable.js.map +1 -1
  170. package/dist/Iterable.d.ts +620 -786
  171. package/dist/Iterable.d.ts.map +1 -1
  172. package/dist/Iterable.js +228 -306
  173. package/dist/Iterable.js.map +1 -1
  174. package/dist/JsonPatch.d.ts +11 -13
  175. package/dist/JsonPatch.d.ts.map +1 -1
  176. package/dist/JsonPatch.js +44 -102
  177. package/dist/JsonPatch.js.map +1 -1
  178. package/dist/JsonPointer.d.ts +8 -8
  179. package/dist/JsonPointer.js +8 -8
  180. package/dist/JsonPointer.js.map +1 -1
  181. package/dist/JsonSchema.d.ts +98 -44
  182. package/dist/JsonSchema.d.ts.map +1 -1
  183. package/dist/JsonSchema.js +297 -234
  184. package/dist/JsonSchema.js.map +1 -1
  185. package/dist/Latch.d.ts +23 -35
  186. package/dist/Latch.d.ts.map +1 -1
  187. package/dist/Latch.js +16 -28
  188. package/dist/Latch.js.map +1 -1
  189. package/dist/Layer.d.ts +359 -260
  190. package/dist/Layer.d.ts.map +1 -1
  191. package/dist/Layer.js +195 -175
  192. package/dist/Layer.js.map +1 -1
  193. package/dist/LayerMap.d.ts +42 -29
  194. package/dist/LayerMap.d.ts.map +1 -1
  195. package/dist/LayerMap.js +31 -21
  196. package/dist/LayerMap.js.map +1 -1
  197. package/dist/LayerRef.d.ts +6 -2
  198. package/dist/LayerRef.d.ts.map +1 -1
  199. package/dist/LayerRef.js +6 -2
  200. package/dist/LayerRef.js.map +1 -1
  201. package/dist/LogLevel.d.ts +114 -214
  202. package/dist/LogLevel.d.ts.map +1 -1
  203. package/dist/LogLevel.js +41 -76
  204. package/dist/LogLevel.js.map +1 -1
  205. package/dist/Logger.d.ts +218 -467
  206. package/dist/Logger.d.ts.map +1 -1
  207. package/dist/Logger.js +204 -450
  208. package/dist/Logger.js.map +1 -1
  209. package/dist/ManagedRuntime.d.ts +7 -5
  210. package/dist/ManagedRuntime.d.ts.map +1 -1
  211. package/dist/ManagedRuntime.js +7 -5
  212. package/dist/ManagedRuntime.js.map +1 -1
  213. package/dist/Match.d.ts +217 -252
  214. package/dist/Match.d.ts.map +1 -1
  215. package/dist/Match.js +150 -183
  216. package/dist/Match.js.map +1 -1
  217. package/dist/Metric.d.ts +442 -993
  218. package/dist/Metric.d.ts.map +1 -1
  219. package/dist/Metric.js +198 -642
  220. package/dist/Metric.js.map +1 -1
  221. package/dist/MutableHashMap.d.ts +144 -173
  222. package/dist/MutableHashMap.d.ts.map +1 -1
  223. package/dist/MutableHashMap.js +68 -79
  224. package/dist/MutableHashMap.js.map +1 -1
  225. package/dist/MutableHashSet.d.ts +84 -89
  226. package/dist/MutableHashSet.d.ts.map +1 -1
  227. package/dist/MutableHashSet.js +44 -47
  228. package/dist/MutableHashSet.js.map +1 -1
  229. package/dist/MutableList.d.ts +71 -370
  230. package/dist/MutableList.d.ts.map +1 -1
  231. package/dist/MutableList.js +59 -284
  232. package/dist/MutableList.js.map +1 -1
  233. package/dist/MutableRef.d.ts +420 -243
  234. package/dist/MutableRef.d.ts.map +1 -1
  235. package/dist/MutableRef.js +209 -120
  236. package/dist/MutableRef.js.map +1 -1
  237. package/dist/Newtype.d.ts +21 -14
  238. package/dist/Newtype.d.ts.map +1 -1
  239. package/dist/Newtype.js +15 -13
  240. package/dist/Newtype.js.map +1 -1
  241. package/dist/NonEmptyIterable.d.ts +7 -137
  242. package/dist/NonEmptyIterable.d.ts.map +1 -1
  243. package/dist/NonEmptyIterable.js +5 -93
  244. package/dist/NonEmptyIterable.js.map +1 -1
  245. package/dist/Number.d.ts +196 -233
  246. package/dist/Number.d.ts.map +1 -1
  247. package/dist/Number.js +90 -109
  248. package/dist/Number.js.map +1 -1
  249. package/dist/Optic.d.ts +97 -189
  250. package/dist/Optic.d.ts.map +1 -1
  251. package/dist/Optic.js +187 -290
  252. package/dist/Optic.js.map +1 -1
  253. package/dist/Option.d.ts +447 -812
  254. package/dist/Option.d.ts.map +1 -1
  255. package/dist/Option.js +211 -392
  256. package/dist/Option.js.map +1 -1
  257. package/dist/Order.d.ts +109 -109
  258. package/dist/Order.js +91 -91
  259. package/dist/Order.js.map +1 -1
  260. package/dist/Ordering.d.ts +20 -23
  261. package/dist/Ordering.d.ts.map +1 -1
  262. package/dist/Ordering.js +8 -9
  263. package/dist/Ordering.js.map +1 -1
  264. package/dist/PartitionedSemaphore.js.map +1 -1
  265. package/dist/Path.d.ts +38 -41
  266. package/dist/Path.d.ts.map +1 -1
  267. package/dist/Path.js +3 -4
  268. package/dist/Path.js.map +1 -1
  269. package/dist/Pipeable.d.ts +6 -5
  270. package/dist/Pipeable.d.ts.map +1 -1
  271. package/dist/Pipeable.js +2 -2
  272. package/dist/Pipeable.js.map +1 -1
  273. package/dist/PlatformError.d.ts +4 -4
  274. package/dist/PlatformError.js +3 -3
  275. package/dist/PlatformError.js.map +1 -1
  276. package/dist/Pool.d.ts +4 -2
  277. package/dist/Pool.d.ts.map +1 -1
  278. package/dist/Pool.js +4 -2
  279. package/dist/Pool.js.map +1 -1
  280. package/dist/Predicate.d.ts +200 -181
  281. package/dist/Predicate.d.ts.map +1 -1
  282. package/dist/Predicate.js +100 -108
  283. package/dist/Predicate.js.map +1 -1
  284. package/dist/PrimaryKey.d.ts +7 -7
  285. package/dist/PrimaryKey.js +5 -5
  286. package/dist/PrimaryKey.js.map +1 -1
  287. package/dist/PubSub.d.ts +425 -494
  288. package/dist/PubSub.d.ts.map +1 -1
  289. package/dist/PubSub.js +373 -362
  290. package/dist/PubSub.js.map +1 -1
  291. package/dist/Pull.d.ts +24 -18
  292. package/dist/Pull.d.ts.map +1 -1
  293. package/dist/Pull.js +11 -9
  294. package/dist/Pull.js.map +1 -1
  295. package/dist/Queue.d.ts +200 -159
  296. package/dist/Queue.d.ts.map +1 -1
  297. package/dist/Queue.js +162 -132
  298. package/dist/Queue.js.map +1 -1
  299. package/dist/Random.d.ts +49 -74
  300. package/dist/Random.d.ts.map +1 -1
  301. package/dist/Random.js +35 -54
  302. package/dist/Random.js.map +1 -1
  303. package/dist/RcMap.d.ts +121 -63
  304. package/dist/RcMap.d.ts.map +1 -1
  305. package/dist/RcMap.js +42 -21
  306. package/dist/RcMap.js.map +1 -1
  307. package/dist/RcRef.d.ts +24 -13
  308. package/dist/RcRef.d.ts.map +1 -1
  309. package/dist/RcRef.js +15 -9
  310. package/dist/RcRef.js.map +1 -1
  311. package/dist/Record.d.ts +291 -488
  312. package/dist/Record.d.ts.map +1 -1
  313. package/dist/Record.js +111 -202
  314. package/dist/Record.js.map +1 -1
  315. package/dist/Redactable.d.ts +6 -2
  316. package/dist/Redactable.d.ts.map +1 -1
  317. package/dist/Redactable.js +7 -2
  318. package/dist/Redactable.js.map +1 -1
  319. package/dist/Redacted.d.ts +25 -25
  320. package/dist/Redacted.d.ts.map +1 -1
  321. package/dist/Redacted.js +19 -20
  322. package/dist/Redacted.js.map +1 -1
  323. package/dist/Reducer.d.ts +8 -15
  324. package/dist/Reducer.d.ts.map +1 -1
  325. package/dist/Reducer.js +6 -12
  326. package/dist/Reducer.js.map +1 -1
  327. package/dist/Ref.d.ts +95 -165
  328. package/dist/Ref.d.ts.map +1 -1
  329. package/dist/Ref.js +75 -122
  330. package/dist/Ref.js.map +1 -1
  331. package/dist/References.d.ts +102 -168
  332. package/dist/References.d.ts.map +1 -1
  333. package/dist/References.js +102 -168
  334. package/dist/References.js.map +1 -1
  335. package/dist/RegExp.d.ts +10 -14
  336. package/dist/RegExp.d.ts.map +1 -1
  337. package/dist/RegExp.js +10 -14
  338. package/dist/RegExp.js.map +1 -1
  339. package/dist/Request.d.ts +31 -21
  340. package/dist/Request.d.ts.map +1 -1
  341. package/dist/Request.js +16 -13
  342. package/dist/Request.js.map +1 -1
  343. package/dist/RequestResolver.d.ts +201 -90
  344. package/dist/RequestResolver.d.ts.map +1 -1
  345. package/dist/RequestResolver.js +87 -41
  346. package/dist/RequestResolver.js.map +1 -1
  347. package/dist/Resource.js.map +1 -1
  348. package/dist/Result.d.ts +302 -470
  349. package/dist/Result.d.ts.map +1 -1
  350. package/dist/Result.js +133 -217
  351. package/dist/Result.js.map +1 -1
  352. package/dist/Runtime.d.ts +50 -75
  353. package/dist/Runtime.d.ts.map +1 -1
  354. package/dist/Runtime.js +39 -60
  355. package/dist/Runtime.js.map +1 -1
  356. package/dist/Schedule.d.ts +290 -1636
  357. package/dist/Schedule.d.ts.map +1 -1
  358. package/dist/Schedule.js +162 -803
  359. package/dist/Schedule.js.map +1 -1
  360. package/dist/Scheduler.d.ts +5 -5
  361. package/dist/Scheduler.d.ts.map +1 -1
  362. package/dist/Scheduler.js +18 -6
  363. package/dist/Scheduler.js.map +1 -1
  364. package/dist/Schema.d.ts +644 -642
  365. package/dist/Schema.d.ts.map +1 -1
  366. package/dist/Schema.js +491 -527
  367. package/dist/Schema.js.map +1 -1
  368. package/dist/SchemaAST.d.ts +27 -50
  369. package/dist/SchemaAST.d.ts.map +1 -1
  370. package/dist/SchemaAST.js +366 -279
  371. package/dist/SchemaAST.js.map +1 -1
  372. package/dist/SchemaError.d.ts +7 -6
  373. package/dist/SchemaError.d.ts.map +1 -1
  374. package/dist/SchemaError.js +7 -6
  375. package/dist/SchemaError.js.map +1 -1
  376. package/dist/SchemaGetter.d.ts +217 -174
  377. package/dist/SchemaGetter.d.ts.map +1 -1
  378. package/dist/SchemaGetter.js +218 -185
  379. package/dist/SchemaGetter.js.map +1 -1
  380. package/dist/SchemaIssue.d.ts +62 -190
  381. package/dist/SchemaIssue.d.ts.map +1 -1
  382. package/dist/SchemaIssue.js +73 -265
  383. package/dist/SchemaIssue.js.map +1 -1
  384. package/dist/SchemaParser.d.ts +2 -2
  385. package/dist/SchemaParser.d.ts.map +1 -1
  386. package/dist/SchemaParser.js +123 -75
  387. package/dist/SchemaParser.js.map +1 -1
  388. package/dist/SchemaRepresentation.d.ts +22 -36
  389. package/dist/SchemaRepresentation.d.ts.map +1 -1
  390. package/dist/SchemaRepresentation.js +20 -26
  391. package/dist/SchemaRepresentation.js.map +1 -1
  392. package/dist/SchemaTransformation.d.ts +114 -74
  393. package/dist/SchemaTransformation.d.ts.map +1 -1
  394. package/dist/SchemaTransformation.js +120 -85
  395. package/dist/SchemaTransformation.js.map +1 -1
  396. package/dist/Scope.d.ts +123 -151
  397. package/dist/Scope.d.ts.map +1 -1
  398. package/dist/Scope.js +72 -92
  399. package/dist/Scope.js.map +1 -1
  400. package/dist/ScopedCache.js.map +1 -1
  401. package/dist/ScopedRef.d.ts +3 -3
  402. package/dist/ScopedRef.js +2 -2
  403. package/dist/ScopedRef.js.map +1 -1
  404. package/dist/Semaphore.d.ts +96 -10
  405. package/dist/Semaphore.d.ts.map +1 -1
  406. package/dist/Semaphore.js +78 -39
  407. package/dist/Semaphore.js.map +1 -1
  408. package/dist/Sink.d.ts +117 -107
  409. package/dist/Sink.d.ts.map +1 -1
  410. package/dist/Sink.js +107 -100
  411. package/dist/Sink.js.map +1 -1
  412. package/dist/Stdio.d.ts +1 -1
  413. package/dist/Stdio.js.map +1 -1
  414. package/dist/Stream.d.ts +2415 -2949
  415. package/dist/Stream.d.ts.map +1 -1
  416. package/dist/Stream.js +1078 -1381
  417. package/dist/Stream.js.map +1 -1
  418. package/dist/String.d.ts +262 -308
  419. package/dist/String.d.ts.map +1 -1
  420. package/dist/String.js +184 -215
  421. package/dist/String.js.map +1 -1
  422. package/dist/Struct.d.ts +109 -114
  423. package/dist/Struct.d.ts.map +1 -1
  424. package/dist/Struct.js +41 -50
  425. package/dist/Struct.js.map +1 -1
  426. package/dist/SubscriptionRef.d.ts +282 -250
  427. package/dist/SubscriptionRef.d.ts.map +1 -1
  428. package/dist/SubscriptionRef.js +104 -92
  429. package/dist/SubscriptionRef.js.map +1 -1
  430. package/dist/Symbol.d.ts +3 -3
  431. package/dist/Symbol.js +3 -3
  432. package/dist/Symbol.js.map +1 -1
  433. package/dist/SynchronizedRef.js.map +1 -1
  434. package/dist/Take.js.map +1 -1
  435. package/dist/Terminal.d.ts +2 -2
  436. package/dist/Terminal.js +1 -1
  437. package/dist/Terminal.js.map +1 -1
  438. package/dist/Tracer.d.ts +100 -54
  439. package/dist/Tracer.d.ts.map +1 -1
  440. package/dist/Tracer.js +41 -24
  441. package/dist/Tracer.js.map +1 -1
  442. package/dist/Trie.d.ts +287 -679
  443. package/dist/Trie.d.ts.map +1 -1
  444. package/dist/Trie.js +109 -251
  445. package/dist/Trie.js.map +1 -1
  446. package/dist/Tuple.d.ts +92 -127
  447. package/dist/Tuple.d.ts.map +1 -1
  448. package/dist/Tuple.js +42 -57
  449. package/dist/Tuple.js.map +1 -1
  450. package/dist/TxChunk.d.ts +201 -121
  451. package/dist/TxChunk.d.ts.map +1 -1
  452. package/dist/TxChunk.js +85 -56
  453. package/dist/TxChunk.js.map +1 -1
  454. package/dist/TxDeferred.d.ts +62 -46
  455. package/dist/TxDeferred.d.ts.map +1 -1
  456. package/dist/TxDeferred.js +30 -22
  457. package/dist/TxDeferred.js.map +1 -1
  458. package/dist/TxHashMap.d.ts +631 -779
  459. package/dist/TxHashMap.d.ts.map +1 -1
  460. package/dist/TxHashMap.js +268 -330
  461. package/dist/TxHashMap.js.map +1 -1
  462. package/dist/TxHashSet.d.ts +297 -236
  463. package/dist/TxHashSet.d.ts.map +1 -1
  464. package/dist/TxHashSet.js +130 -100
  465. package/dist/TxHashSet.js.map +1 -1
  466. package/dist/TxPriorityQueue.d.ts +126 -95
  467. package/dist/TxPriorityQueue.d.ts.map +1 -1
  468. package/dist/TxPriorityQueue.js +74 -56
  469. package/dist/TxPriorityQueue.js.map +1 -1
  470. package/dist/TxPubSub.d.ts +101 -88
  471. package/dist/TxPubSub.d.ts.map +1 -1
  472. package/dist/TxPubSub.js +87 -66
  473. package/dist/TxPubSub.js.map +1 -1
  474. package/dist/TxQueue.d.ts +200 -180
  475. package/dist/TxQueue.d.ts.map +1 -1
  476. package/dist/TxQueue.js +160 -136
  477. package/dist/TxQueue.js.map +1 -1
  478. package/dist/TxReentrantLock.d.ts +97 -66
  479. package/dist/TxReentrantLock.d.ts.map +1 -1
  480. package/dist/TxReentrantLock.js +67 -45
  481. package/dist/TxReentrantLock.js.map +1 -1
  482. package/dist/TxRef.d.ts +51 -32
  483. package/dist/TxRef.d.ts.map +1 -1
  484. package/dist/TxRef.js +23 -15
  485. package/dist/TxRef.js.map +1 -1
  486. package/dist/TxSemaphore.d.ts +129 -95
  487. package/dist/TxSemaphore.d.ts.map +1 -1
  488. package/dist/TxSemaphore.js +85 -70
  489. package/dist/TxSemaphore.js.map +1 -1
  490. package/dist/TxSubscriptionRef.d.ts +97 -70
  491. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  492. package/dist/TxSubscriptionRef.js +44 -34
  493. package/dist/TxSubscriptionRef.js.map +1 -1
  494. package/dist/Types.d.ts +126 -67
  495. package/dist/Types.d.ts.map +1 -1
  496. package/dist/UndefinedOr.js.map +1 -1
  497. package/dist/Unify.d.ts +45 -65
  498. package/dist/Unify.d.ts.map +1 -1
  499. package/dist/Unify.js +6 -9
  500. package/dist/Unify.js.map +1 -1
  501. package/dist/Utils.d.ts +23 -16
  502. package/dist/Utils.d.ts.map +1 -1
  503. package/dist/Utils.js +3 -7
  504. package/dist/Utils.js.map +1 -1
  505. package/dist/index.js.map +1 -1
  506. package/dist/internal/array.js.map +1 -1
  507. package/dist/internal/core.js +1 -1
  508. package/dist/internal/core.js.map +1 -1
  509. package/dist/internal/dateTime.js +4 -0
  510. package/dist/internal/dateTime.js.map +1 -1
  511. package/dist/internal/doNotation.js.map +1 -1
  512. package/dist/internal/effect.js +77 -40
  513. package/dist/internal/effect.js.map +1 -1
  514. package/dist/internal/equal.js.map +1 -1
  515. package/dist/internal/errors.js.map +1 -1
  516. package/dist/internal/executionPlan.js.map +1 -1
  517. package/dist/internal/hashMap.js.map +1 -1
  518. package/dist/internal/hashSet.js.map +1 -1
  519. package/dist/internal/layer.js.map +1 -1
  520. package/dist/internal/matcher.js.map +1 -1
  521. package/dist/internal/metric.js.map +1 -1
  522. package/dist/internal/option.js.map +1 -1
  523. package/dist/internal/persistence.d.ts +2 -0
  524. package/dist/internal/persistence.d.ts.map +1 -0
  525. package/dist/internal/persistence.js +3 -0
  526. package/dist/internal/persistence.js.map +1 -0
  527. package/dist/internal/random.js.map +1 -1
  528. package/dist/internal/rcRef.js.map +1 -1
  529. package/dist/internal/record.js.map +1 -1
  530. package/dist/internal/redacted.js.map +1 -1
  531. package/dist/internal/references.js +3 -0
  532. package/dist/internal/references.js.map +1 -1
  533. package/dist/internal/request.js.map +1 -1
  534. package/dist/internal/result.js.map +1 -1
  535. package/dist/internal/schedule.js.map +1 -1
  536. package/dist/internal/schema/annotations.js.map +1 -1
  537. package/dist/internal/schema/cause.js.map +1 -1
  538. package/dist/internal/schema/fromJsonSchemaDocument.js +13 -11
  539. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
  540. package/dist/internal/schema/fromRepresentation.js +8 -15
  541. package/dist/internal/schema/fromRepresentation.js.map +1 -1
  542. package/dist/internal/schema/parser.d.ts +14 -0
  543. package/dist/internal/schema/parser.d.ts.map +1 -0
  544. package/dist/internal/schema/parser.js +13 -0
  545. package/dist/internal/schema/parser.js.map +1 -0
  546. package/dist/internal/schema/schema.js.map +1 -1
  547. package/dist/internal/schema/toArbitrary.js.map +1 -1
  548. package/dist/internal/schema/toCodeDocument.js.map +1 -1
  549. package/dist/internal/schema/toEquivalence.js.map +1 -1
  550. package/dist/internal/schema/toJsonSchemaDocument.js +48 -6
  551. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
  552. package/dist/internal/schema/toRepresentation.js +87 -107
  553. package/dist/internal/schema/toRepresentation.js.map +1 -1
  554. package/dist/internal/stackTraceLimit.js.map +1 -1
  555. package/dist/internal/stream.js.map +1 -1
  556. package/dist/internal/tracer.js.map +1 -1
  557. package/dist/internal/trie.js +13 -9
  558. package/dist/internal/trie.js.map +1 -1
  559. package/dist/testing/FastCheck.d.ts +8 -7
  560. package/dist/testing/FastCheck.d.ts.map +1 -1
  561. package/dist/testing/FastCheck.js +8 -7
  562. package/dist/testing/FastCheck.js.map +1 -1
  563. package/dist/testing/TestClock.d.ts +57 -28
  564. package/dist/testing/TestClock.d.ts.map +1 -1
  565. package/dist/testing/TestClock.js +50 -18
  566. package/dist/testing/TestClock.js.map +1 -1
  567. package/dist/testing/TestConsole.d.ts +32 -31
  568. package/dist/testing/TestConsole.d.ts.map +1 -1
  569. package/dist/testing/TestConsole.js +24 -22
  570. package/dist/testing/TestConsole.js.map +1 -1
  571. package/dist/testing/TestSchema.d.ts +29 -29
  572. package/dist/testing/TestSchema.js +25 -25
  573. package/dist/testing/TestSchema.js.map +1 -1
  574. package/dist/testing/index.js.map +1 -1
  575. package/dist/unstable/ai/AiError.d.ts +95 -118
  576. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  577. package/dist/unstable/ai/AiError.js +94 -117
  578. package/dist/unstable/ai/AiError.js.map +1 -1
  579. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
  580. package/dist/unstable/ai/AnthropicStructuredOutput.js +1 -1
  581. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  582. package/dist/unstable/ai/Chat.d.ts +132 -97
  583. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  584. package/dist/unstable/ai/Chat.js +55 -51
  585. package/dist/unstable/ai/Chat.js.map +1 -1
  586. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  587. package/dist/unstable/ai/IdGenerator.d.ts +32 -28
  588. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  589. package/dist/unstable/ai/IdGenerator.js +26 -21
  590. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  591. package/dist/unstable/ai/LanguageModel.d.ts +107 -67
  592. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  593. package/dist/unstable/ai/LanguageModel.js +104 -64
  594. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  595. package/dist/unstable/ai/McpProtocol.d.ts +30 -0
  596. package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
  597. package/dist/unstable/ai/McpProtocol.js +20 -0
  598. package/dist/unstable/ai/McpProtocol.js.map +1 -0
  599. package/dist/unstable/ai/McpSchema.d.ts +141 -75
  600. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  601. package/dist/unstable/ai/McpSchema.js +58 -50
  602. package/dist/unstable/ai/McpSchema.js.map +1 -1
  603. package/dist/unstable/ai/McpServer.d.ts +68 -59
  604. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  605. package/dist/unstable/ai/McpServer.js +694 -241
  606. package/dist/unstable/ai/McpServer.js.map +1 -1
  607. package/dist/unstable/ai/Model.d.ts +8 -19
  608. package/dist/unstable/ai/Model.d.ts.map +1 -1
  609. package/dist/unstable/ai/Model.js +9 -20
  610. package/dist/unstable/ai/Model.js.map +1 -1
  611. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
  612. package/dist/unstable/ai/OpenAiStructuredOutput.js +1 -1
  613. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  614. package/dist/unstable/ai/Prompt.d.ts +112 -38
  615. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  616. package/dist/unstable/ai/Prompt.js +53 -17
  617. package/dist/unstable/ai/Prompt.js.map +1 -1
  618. package/dist/unstable/ai/Response.d.ts +28 -14
  619. package/dist/unstable/ai/Response.d.ts.map +1 -1
  620. package/dist/unstable/ai/Response.js +9 -4
  621. package/dist/unstable/ai/Response.js.map +1 -1
  622. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  623. package/dist/unstable/ai/Telemetry.d.ts +46 -13
  624. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  625. package/dist/unstable/ai/Telemetry.js +18 -7
  626. package/dist/unstable/ai/Telemetry.js.map +1 -1
  627. package/dist/unstable/ai/Tokenizer.d.ts +14 -3
  628. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  629. package/dist/unstable/ai/Tokenizer.js +10 -2
  630. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  631. package/dist/unstable/ai/Tool.d.ts +59 -44
  632. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  633. package/dist/unstable/ai/Tool.js +48 -39
  634. package/dist/unstable/ai/Tool.js.map +1 -1
  635. package/dist/unstable/ai/Toolkit.d.ts +26 -8
  636. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  637. package/dist/unstable/ai/Toolkit.js +18 -4
  638. package/dist/unstable/ai/Toolkit.js.map +1 -1
  639. package/dist/unstable/ai/index.d.ts +4 -0
  640. package/dist/unstable/ai/index.d.ts.map +1 -1
  641. package/dist/unstable/ai/index.js +4 -0
  642. package/dist/unstable/ai/index.js.map +1 -1
  643. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  644. package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
  645. package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
  646. package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
  647. package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
  648. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
  649. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
  650. package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
  651. package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
  652. package/dist/unstable/ai/internal/structured-output.js +14 -15
  653. package/dist/unstable/ai/internal/structured-output.js.map +1 -1
  654. package/dist/unstable/cli/Argument.d.ts +273 -69
  655. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  656. package/dist/unstable/cli/Argument.js +111 -33
  657. package/dist/unstable/cli/Argument.js.map +1 -1
  658. package/dist/unstable/cli/CliConfig.js.map +1 -1
  659. package/dist/unstable/cli/CliError.d.ts +69 -76
  660. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  661. package/dist/unstable/cli/CliError.js +57 -61
  662. package/dist/unstable/cli/CliError.js.map +1 -1
  663. package/dist/unstable/cli/CliOutput.d.ts +35 -54
  664. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  665. package/dist/unstable/cli/CliOutput.js +26 -42
  666. package/dist/unstable/cli/CliOutput.js.map +1 -1
  667. package/dist/unstable/cli/Command.d.ts +705 -107
  668. package/dist/unstable/cli/Command.d.ts.map +1 -1
  669. package/dist/unstable/cli/Command.js +238 -42
  670. package/dist/unstable/cli/Command.js.map +1 -1
  671. package/dist/unstable/cli/Completions.js.map +1 -1
  672. package/dist/unstable/cli/Flag.d.ts +418 -138
  673. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  674. package/dist/unstable/cli/Flag.js +197 -71
  675. package/dist/unstable/cli/Flag.js.map +1 -1
  676. package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
  677. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  678. package/dist/unstable/cli/HelpDoc.d.ts +12 -4
  679. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  680. package/dist/unstable/cli/Param.d.ts +292 -78
  681. package/dist/unstable/cli/Param.d.ts.map +1 -1
  682. package/dist/unstable/cli/Param.js +128 -46
  683. package/dist/unstable/cli/Param.js.map +1 -1
  684. package/dist/unstable/cli/Primitive.d.ts +370 -149
  685. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  686. package/dist/unstable/cli/Primitive.js +344 -136
  687. package/dist/unstable/cli/Primitive.js.map +1 -1
  688. package/dist/unstable/cli/Prompt.d.ts +23 -14
  689. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  690. package/dist/unstable/cli/Prompt.js +23 -14
  691. package/dist/unstable/cli/Prompt.js.map +1 -1
  692. package/dist/unstable/cli/index.js.map +1 -1
  693. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  694. package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
  695. package/dist/unstable/cli/internal/command.js.map +1 -1
  696. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  697. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  698. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  699. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  700. package/dist/unstable/cli/internal/config.js.map +1 -1
  701. package/dist/unstable/cli/internal/help.js.map +1 -1
  702. package/dist/unstable/cli/internal/lexer.js +17 -7
  703. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  704. package/dist/unstable/cli/internal/parser.js +2 -2
  705. package/dist/unstable/cli/internal/parser.js.map +1 -1
  706. package/dist/unstable/cli/internal/wizard.js.map +1 -1
  707. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  708. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  709. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  710. package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
  711. package/dist/unstable/cluster/ClusterSchema.js +8 -8
  712. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  713. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  714. package/dist/unstable/cluster/ClusterWorkflowEngine.js +5 -1
  715. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  716. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  717. package/dist/unstable/cluster/Entity.d.ts +10 -10
  718. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  719. package/dist/unstable/cluster/Entity.js +8 -8
  720. package/dist/unstable/cluster/Entity.js.map +1 -1
  721. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  722. package/dist/unstable/cluster/EntityId.js.map +1 -1
  723. package/dist/unstable/cluster/EntityProxy.d.ts +4 -2
  724. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  725. package/dist/unstable/cluster/EntityProxy.js +4 -2
  726. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  727. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  728. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  729. package/dist/unstable/cluster/EntityResource.js +2 -2
  730. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  731. package/dist/unstable/cluster/EntityType.js.map +1 -1
  732. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  733. package/dist/unstable/cluster/Envelope.js +3 -3
  734. package/dist/unstable/cluster/Envelope.js.map +1 -1
  735. package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
  736. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  737. package/dist/unstable/cluster/HttpRunner.js +6 -4
  738. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  739. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  740. package/dist/unstable/cluster/MachineId.js.map +1 -1
  741. package/dist/unstable/cluster/Message.d.ts +9 -9
  742. package/dist/unstable/cluster/Message.js +6 -6
  743. package/dist/unstable/cluster/Message.js.map +1 -1
  744. package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
  745. package/dist/unstable/cluster/MessageStorage.js +5 -5
  746. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  747. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  748. package/dist/unstable/cluster/Reply.js +4 -4
  749. package/dist/unstable/cluster/Reply.js.map +1 -1
  750. package/dist/unstable/cluster/Runner.js.map +1 -1
  751. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  752. package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
  753. package/dist/unstable/cluster/RunnerHealth.js +1 -1
  754. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  755. package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
  756. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  757. package/dist/unstable/cluster/RunnerServer.js +16 -16
  758. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  759. package/dist/unstable/cluster/RunnerStorage.d.ts +2 -2
  760. package/dist/unstable/cluster/RunnerStorage.js +1 -1
  761. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  762. package/dist/unstable/cluster/Runners.d.ts +6 -6
  763. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  764. package/dist/unstable/cluster/Runners.js +19 -10
  765. package/dist/unstable/cluster/Runners.js.map +1 -1
  766. package/dist/unstable/cluster/ShardId.js.map +1 -1
  767. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  768. package/dist/unstable/cluster/Sharding.js +3 -2
  769. package/dist/unstable/cluster/Sharding.js.map +1 -1
  770. package/dist/unstable/cluster/ShardingConfig.d.ts +3 -3
  771. package/dist/unstable/cluster/ShardingConfig.js +3 -3
  772. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  773. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  774. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  775. package/dist/unstable/cluster/Singleton.js.map +1 -1
  776. package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
  777. package/dist/unstable/cluster/SingletonAddress.js +1 -1
  778. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  779. package/dist/unstable/cluster/Snowflake.d.ts +8 -8
  780. package/dist/unstable/cluster/Snowflake.js +8 -8
  781. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  782. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  783. package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
  784. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  785. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  786. package/dist/unstable/cluster/SqlRunnerStorage.js +20 -5
  787. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  788. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  789. package/dist/unstable/cluster/index.js.map +1 -1
  790. package/dist/unstable/cluster/internal/entityManager.js +5 -5
  791. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  792. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  793. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  794. package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
  795. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  796. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  797. package/dist/unstable/cluster/internal/shardLock.js.map +1 -1
  798. package/dist/unstable/devtools/DevTools.js.map +1 -1
  799. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  800. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  801. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  802. package/dist/unstable/devtools/index.js.map +1 -1
  803. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  804. package/dist/unstable/encoding/Msgpack.js +6 -8
  805. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  806. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  807. package/dist/unstable/encoding/Sse.d.ts +72 -8
  808. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  809. package/dist/unstable/encoding/Sse.js +58 -8
  810. package/dist/unstable/encoding/Sse.js.map +1 -1
  811. package/dist/unstable/encoding/index.js.map +1 -1
  812. package/dist/unstable/eventlog/Event.d.ts +20 -20
  813. package/dist/unstable/eventlog/Event.js.map +1 -1
  814. package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
  815. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  816. package/dist/unstable/eventlog/EventJournal.d.ts +15 -15
  817. package/dist/unstable/eventlog/EventJournal.js +13 -13
  818. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  819. package/dist/unstable/eventlog/EventLog.d.ts +3 -3
  820. package/dist/unstable/eventlog/EventLog.js +3 -3
  821. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  822. package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
  823. package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
  824. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  825. package/dist/unstable/eventlog/EventLogMessage.d.ts +2 -2
  826. package/dist/unstable/eventlog/EventLogMessage.js +1 -1
  827. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  828. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
  829. package/dist/unstable/eventlog/EventLogRemote.js +1 -1
  830. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  831. package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
  832. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  833. package/dist/unstable/eventlog/EventLogServer.js +45 -21
  834. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  835. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
  836. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  837. package/dist/unstable/eventlog/EventLogServerEncrypted.js +13 -5
  838. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  839. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
  840. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  841. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +14 -6
  842. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  843. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
  844. package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
  845. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  846. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  847. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  848. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  849. package/dist/unstable/eventlog/index.js.map +1 -1
  850. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  851. package/dist/unstable/http/Cookies.d.ts +2 -2
  852. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  853. package/dist/unstable/http/Cookies.js +30 -18
  854. package/dist/unstable/http/Cookies.js.map +1 -1
  855. package/dist/unstable/http/Etag.d.ts +1 -1
  856. package/dist/unstable/http/Etag.js +1 -1
  857. package/dist/unstable/http/Etag.js.map +1 -1
  858. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  859. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  860. package/dist/unstable/http/Headers.d.ts +2 -2
  861. package/dist/unstable/http/Headers.js +2 -2
  862. package/dist/unstable/http/Headers.js.map +1 -1
  863. package/dist/unstable/http/HttpBody.d.ts +5 -3
  864. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  865. package/dist/unstable/http/HttpBody.js +11 -5
  866. package/dist/unstable/http/HttpBody.js.map +1 -1
  867. package/dist/unstable/http/HttpClient.d.ts +51 -44
  868. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  869. package/dist/unstable/http/HttpClient.js +46 -17
  870. package/dist/unstable/http/HttpClient.js.map +1 -1
  871. package/dist/unstable/http/HttpClientError.js.map +1 -1
  872. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  873. package/dist/unstable/http/HttpClientRequest.js +2 -0
  874. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  875. package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
  876. package/dist/unstable/http/HttpClientResponse.js +2 -2
  877. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  878. package/dist/unstable/http/HttpEffect.d.ts +6 -6
  879. package/dist/unstable/http/HttpEffect.js +3 -3
  880. package/dist/unstable/http/HttpEffect.js.map +1 -1
  881. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  882. package/dist/unstable/http/HttpMethod.d.ts +6 -9
  883. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  884. package/dist/unstable/http/HttpMethod.js +6 -9
  885. package/dist/unstable/http/HttpMethod.js.map +1 -1
  886. package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
  887. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  888. package/dist/unstable/http/HttpMiddleware.js +164 -39
  889. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  890. package/dist/unstable/http/HttpPlatform.d.ts +76 -0
  891. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  892. package/dist/unstable/http/HttpPlatform.js +32 -0
  893. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  894. package/dist/unstable/http/HttpRouter.d.ts +88 -89
  895. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  896. package/dist/unstable/http/HttpRouter.js +78 -79
  897. package/dist/unstable/http/HttpRouter.js.map +1 -1
  898. package/dist/unstable/http/HttpServer.d.ts +13 -13
  899. package/dist/unstable/http/HttpServer.js +6 -6
  900. package/dist/unstable/http/HttpServer.js.map +1 -1
  901. package/dist/unstable/http/HttpServerError.d.ts +2 -2
  902. package/dist/unstable/http/HttpServerError.js +2 -2
  903. package/dist/unstable/http/HttpServerError.js.map +1 -1
  904. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  905. package/dist/unstable/http/HttpServerRequest.js +4 -4
  906. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  907. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  908. package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
  909. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  910. package/dist/unstable/http/HttpServerResponse.js +10 -0
  911. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  912. package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
  913. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  914. package/dist/unstable/http/HttpStaticServer.js +35 -7
  915. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  916. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  917. package/dist/unstable/http/Multipart.d.ts +6 -6
  918. package/dist/unstable/http/Multipart.js +5 -5
  919. package/dist/unstable/http/Multipart.js.map +1 -1
  920. package/dist/unstable/http/Template.js.map +1 -1
  921. package/dist/unstable/http/Url.d.ts +33 -63
  922. package/dist/unstable/http/Url.d.ts.map +1 -1
  923. package/dist/unstable/http/Url.js +14 -28
  924. package/dist/unstable/http/Url.js.map +1 -1
  925. package/dist/unstable/http/UrlParams.d.ts +10 -18
  926. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  927. package/dist/unstable/http/UrlParams.js +9 -17
  928. package/dist/unstable/http/UrlParams.js.map +1 -1
  929. package/dist/unstable/http/index.js.map +1 -1
  930. package/dist/unstable/http/internal/compression.d.ts +2 -0
  931. package/dist/unstable/http/internal/compression.d.ts.map +1 -0
  932. package/dist/unstable/http/internal/compression.js +155 -0
  933. package/dist/unstable/http/internal/compression.js.map +1 -0
  934. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
  935. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  936. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
  937. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  938. package/dist/unstable/httpapi/HttpApiBuilder.js +10 -11
  939. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  940. package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
  941. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  942. package/dist/unstable/httpapi/HttpApiClient.js +11 -13
  943. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  944. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +42 -42
  945. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  946. package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
  947. package/dist/unstable/httpapi/HttpApiError.js +13 -13
  948. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  949. package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
  950. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  951. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
  952. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  953. package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
  954. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  955. package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
  956. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  957. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  958. package/dist/unstable/httpapi/HttpApiSchema.d.ts +6 -6
  959. package/dist/unstable/httpapi/HttpApiSchema.js +4 -4
  960. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  961. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  962. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  963. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  964. package/dist/unstable/httpapi/OpenApi.d.ts +13 -13
  965. package/dist/unstable/httpapi/OpenApi.js +13 -13
  966. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  967. package/dist/unstable/httpapi/index.js.map +1 -1
  968. package/dist/unstable/httpapi/internal/html.js.map +1 -1
  969. package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
  970. package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
  971. package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
  972. package/dist/unstable/observability/Otlp.js.map +1 -1
  973. package/dist/unstable/observability/OtlpExporter.d.ts +12 -14
  974. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  975. package/dist/unstable/observability/OtlpExporter.js +17 -4
  976. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  977. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  978. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -1
  979. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  980. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  981. package/dist/unstable/observability/OtlpResource.d.ts +16 -7
  982. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  983. package/dist/unstable/observability/OtlpResource.js +21 -12
  984. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  985. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  986. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  987. package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
  988. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  989. package/dist/unstable/observability/PrometheusMetrics.js +10 -3
  990. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  991. package/dist/unstable/observability/index.js.map +1 -1
  992. package/dist/unstable/observability/internal/otlpEnv.js +1 -1
  993. package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
  994. package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
  995. package/dist/unstable/observability/internal/protobuf.js +3 -0
  996. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  997. package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
  998. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  999. package/dist/unstable/persistence/KeyValueStore.js +22 -13
  1000. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1001. package/dist/unstable/persistence/Persistable.d.ts +8 -8
  1002. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1003. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1004. package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
  1005. package/dist/unstable/persistence/PersistedQueue.js +6 -6
  1006. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1007. package/dist/unstable/persistence/Persistence.d.ts +3 -3
  1008. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1009. package/dist/unstable/persistence/Persistence.js +91 -15
  1010. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1011. package/dist/unstable/persistence/RateLimiter.d.ts +26 -15
  1012. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1013. package/dist/unstable/persistence/RateLimiter.js +24 -13
  1014. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1015. package/dist/unstable/persistence/Redis.d.ts +2 -2
  1016. package/dist/unstable/persistence/Redis.js +1 -1
  1017. package/dist/unstable/persistence/Redis.js.map +1 -1
  1018. package/dist/unstable/persistence/index.js.map +1 -1
  1019. package/dist/unstable/process/ChildProcess.d.ts +64 -21
  1020. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1021. package/dist/unstable/process/ChildProcess.js +14 -5
  1022. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1023. package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
  1024. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1025. package/dist/unstable/process/ChildProcessSpawner.js +1 -1
  1026. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1027. package/dist/unstable/process/index.js.map +1 -1
  1028. package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
  1029. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1030. package/dist/unstable/reactivity/AsyncResult.js +10 -10
  1031. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1032. package/dist/unstable/reactivity/Atom.d.ts +25 -22
  1033. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1034. package/dist/unstable/reactivity/Atom.js +14 -13
  1035. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1036. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
  1037. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1038. package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
  1039. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1040. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1041. package/dist/unstable/reactivity/AtomRegistry.js +24 -3
  1042. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1043. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  1044. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1045. package/dist/unstable/reactivity/AtomRpc.js +4 -1
  1046. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1047. package/dist/unstable/reactivity/Hydration.d.ts +1 -1
  1048. package/dist/unstable/reactivity/Hydration.js +1 -1
  1049. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1050. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1051. package/dist/unstable/reactivity/index.js.map +1 -1
  1052. package/dist/unstable/rpc/Rpc.d.ts +35 -33
  1053. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1054. package/dist/unstable/rpc/Rpc.js +4 -2
  1055. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1056. package/dist/unstable/rpc/RpcClient.d.ts +12 -12
  1057. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1058. package/dist/unstable/rpc/RpcClient.js +12 -11
  1059. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1060. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1061. package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
  1062. package/dist/unstable/rpc/RpcGroup.js +1 -1
  1063. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1064. package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
  1065. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1066. package/dist/unstable/rpc/RpcMessage.js +6 -6
  1067. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1068. package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
  1069. package/dist/unstable/rpc/RpcMiddleware.js +1 -1
  1070. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1071. package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
  1072. package/dist/unstable/rpc/RpcSchema.js +3 -3
  1073. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1074. package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
  1075. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1076. package/dist/unstable/rpc/RpcSerialization.js +175 -96
  1077. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1078. package/dist/unstable/rpc/RpcServer.d.ts +13 -13
  1079. package/dist/unstable/rpc/RpcServer.js +17 -13
  1080. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1081. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1082. package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
  1083. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1084. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1085. package/dist/unstable/rpc/Utils.js.map +1 -1
  1086. package/dist/unstable/rpc/index.js.map +1 -1
  1087. package/dist/unstable/schema/Model.d.ts +52 -50
  1088. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1089. package/dist/unstable/schema/Model.js +35 -33
  1090. package/dist/unstable/schema/Model.js.map +1 -1
  1091. package/dist/unstable/schema/VariantSchema.d.ts +5 -5
  1092. package/dist/unstable/schema/VariantSchema.js +2 -2
  1093. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1094. package/dist/unstable/schema/index.js.map +1 -1
  1095. package/dist/unstable/socket/Socket.d.ts +11 -3
  1096. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1097. package/dist/unstable/socket/Socket.js +9 -4
  1098. package/dist/unstable/socket/Socket.js.map +1 -1
  1099. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1100. package/dist/unstable/socket/index.js.map +1 -1
  1101. package/dist/unstable/sql/Migrator.js.map +1 -1
  1102. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  1103. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1104. package/dist/unstable/sql/SqlClient.js +2 -2
  1105. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1106. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1107. package/dist/unstable/sql/SqlError.js.map +1 -1
  1108. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  1109. package/dist/unstable/sql/SqlModel.js +2 -2
  1110. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1111. package/dist/unstable/sql/SqlResolver.d.ts +5 -5
  1112. package/dist/unstable/sql/SqlResolver.js +2 -2
  1113. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1114. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1115. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1116. package/dist/unstable/sql/Statement.d.ts +6 -6
  1117. package/dist/unstable/sql/Statement.js +15 -15
  1118. package/dist/unstable/sql/Statement.js.map +1 -1
  1119. package/dist/unstable/sql/index.js.map +1 -1
  1120. package/dist/unstable/workers/Transferable.d.ts +1 -1
  1121. package/dist/unstable/workers/Transferable.js +1 -1
  1122. package/dist/unstable/workers/Transferable.js.map +1 -1
  1123. package/dist/unstable/workers/Worker.d.ts +2 -2
  1124. package/dist/unstable/workers/Worker.js +2 -2
  1125. package/dist/unstable/workers/Worker.js.map +1 -1
  1126. package/dist/unstable/workers/WorkerError.d.ts +7 -7
  1127. package/dist/unstable/workers/WorkerError.js +6 -6
  1128. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1129. package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
  1130. package/dist/unstable/workers/WorkerRunner.js +1 -1
  1131. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1132. package/dist/unstable/workers/index.js.map +1 -1
  1133. package/dist/unstable/workflow/Activity.d.ts +2 -2
  1134. package/dist/unstable/workflow/Activity.js +2 -2
  1135. package/dist/unstable/workflow/Activity.js.map +1 -1
  1136. package/dist/unstable/workflow/DurableClock.d.ts +1 -1
  1137. package/dist/unstable/workflow/DurableClock.js +1 -1
  1138. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1139. package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
  1140. package/dist/unstable/workflow/DurableDeferred.js +5 -5
  1141. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1142. package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
  1143. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1144. package/dist/unstable/workflow/DurableQueue.js +22 -20
  1145. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1146. package/dist/unstable/workflow/Workflow.d.ts +21 -21
  1147. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1148. package/dist/unstable/workflow/Workflow.js +13 -14
  1149. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1150. package/dist/unstable/workflow/WorkflowEngine.d.ts +1 -1
  1151. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1152. package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
  1153. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1154. package/dist/unstable/workflow/WorkflowProxy.js +4 -2
  1155. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1156. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1157. package/dist/unstable/workflow/index.js.map +1 -1
  1158. package/dist/unstable/workflow/internal/crypto.js.map +1 -1
  1159. package/package.json +5 -6
  1160. package/src/Array.ts +982 -1045
  1161. package/src/BigDecimal.ts +433 -756
  1162. package/src/BigInt.ts +213 -269
  1163. package/src/Boolean.ts +146 -188
  1164. package/src/Cache.ts +409 -255
  1165. package/src/Cause.ts +167 -277
  1166. package/src/Channel.ts +891 -816
  1167. package/src/ChannelSchema.ts +1 -1
  1168. package/src/Chunk.ts +841 -1181
  1169. package/src/Clock.ts +181 -49
  1170. package/src/Combiner.ts +20 -33
  1171. package/src/Config.ts +615 -332
  1172. package/src/ConfigProvider.ts +214 -120
  1173. package/src/Console.ts +289 -39
  1174. package/src/Context.ts +319 -378
  1175. package/src/Cron.ts +68 -77
  1176. package/src/Crypto.ts +13 -15
  1177. package/src/Data.ts +60 -80
  1178. package/src/DateTime.ts +564 -660
  1179. package/src/Deferred.ts +253 -256
  1180. package/src/Duration.ts +216 -308
  1181. package/src/Effect.ts +2893 -3279
  1182. package/src/Encoding.ts +22 -40
  1183. package/src/Equal.ts +49 -39
  1184. package/src/Equivalence.ts +103 -105
  1185. package/src/ErrorReporter.ts +51 -27
  1186. package/src/ExecutionPlan.ts +13 -55
  1187. package/src/Exit.ts +116 -192
  1188. package/src/Fiber.ts +81 -148
  1189. package/src/FiberHandle.ts +152 -105
  1190. package/src/FiberMap.ts +225 -174
  1191. package/src/FiberSet.ts +124 -82
  1192. package/src/FileSystem.ts +155 -263
  1193. package/src/Filter.ts +61 -33
  1194. package/src/Formatter.ts +54 -56
  1195. package/src/Function.ts +76 -145
  1196. package/src/Graph.ts +416 -770
  1197. package/src/HKT.ts +12 -6
  1198. package/src/Hash.ts +52 -83
  1199. package/src/HashMap.ts +319 -411
  1200. package/src/HashRing.ts +1 -0
  1201. package/src/HashSet.ts +177 -284
  1202. package/src/Inspectable.ts +12 -12
  1203. package/src/Iterable.ts +620 -786
  1204. package/src/JsonPatch.ts +58 -112
  1205. package/src/JsonPointer.ts +8 -8
  1206. package/src/JsonSchema.ts +402 -244
  1207. package/src/Latch.ts +23 -35
  1208. package/src/Layer.ts +359 -260
  1209. package/src/LayerMap.ts +49 -29
  1210. package/src/LayerRef.ts +6 -2
  1211. package/src/LogLevel.ts +114 -214
  1212. package/src/Logger.ts +344 -697
  1213. package/src/ManagedRuntime.ts +7 -5
  1214. package/src/Match.ts +217 -252
  1215. package/src/Metric.ts +516 -1089
  1216. package/src/MutableHashMap.ts +218 -255
  1217. package/src/MutableHashSet.ts +84 -89
  1218. package/src/MutableList.ts +73 -370
  1219. package/src/MutableRef.ts +420 -243
  1220. package/src/Newtype.ts +21 -14
  1221. package/src/NonEmptyIterable.ts +7 -137
  1222. package/src/Number.ts +196 -233
  1223. package/src/Optic.ts +243 -383
  1224. package/src/Option.ts +447 -812
  1225. package/src/Order.ts +109 -109
  1226. package/src/Ordering.ts +20 -23
  1227. package/src/Path.ts +38 -41
  1228. package/src/Pipeable.ts +6 -5
  1229. package/src/PlatformError.ts +4 -4
  1230. package/src/Pool.ts +4 -2
  1231. package/src/Predicate.ts +200 -181
  1232. package/src/PrimaryKey.ts +7 -7
  1233. package/src/PubSub.ts +526 -552
  1234. package/src/Pull.ts +24 -18
  1235. package/src/Queue.ts +200 -159
  1236. package/src/Random.ts +49 -74
  1237. package/src/RcMap.ts +121 -63
  1238. package/src/RcRef.ts +24 -13
  1239. package/src/Record.ts +291 -488
  1240. package/src/Redactable.ts +10 -3
  1241. package/src/Redacted.ts +25 -25
  1242. package/src/Reducer.ts +8 -15
  1243. package/src/Ref.ts +221 -361
  1244. package/src/References.ts +102 -168
  1245. package/src/RegExp.ts +10 -14
  1246. package/src/Request.ts +31 -21
  1247. package/src/RequestResolver.ts +202 -91
  1248. package/src/Result.ts +312 -484
  1249. package/src/Runtime.ts +50 -75
  1250. package/src/Schedule.ts +308 -1734
  1251. package/src/Scheduler.ts +20 -7
  1252. package/src/Schema.ts +716 -745
  1253. package/src/SchemaAST.ts +466 -358
  1254. package/src/SchemaError.ts +7 -6
  1255. package/src/SchemaGetter.ts +242 -190
  1256. package/src/SchemaIssue.ts +89 -275
  1257. package/src/SchemaParser.ts +180 -93
  1258. package/src/SchemaRepresentation.ts +22 -40
  1259. package/src/SchemaTransformation.ts +129 -88
  1260. package/src/Scope.ts +123 -151
  1261. package/src/ScopedRef.ts +4 -4
  1262. package/src/Semaphore.ts +152 -51
  1263. package/src/Sink.ts +128 -113
  1264. package/src/Stdio.ts +1 -1
  1265. package/src/Stream.ts +2602 -3123
  1266. package/src/String.ts +275 -312
  1267. package/src/Struct.ts +109 -114
  1268. package/src/SubscriptionRef.ts +284 -252
  1269. package/src/Symbol.ts +3 -3
  1270. package/src/Terminal.ts +2 -2
  1271. package/src/Tracer.ts +102 -55
  1272. package/src/Trie.ts +287 -679
  1273. package/src/Tuple.ts +92 -127
  1274. package/src/TxChunk.ts +201 -121
  1275. package/src/TxDeferred.ts +62 -46
  1276. package/src/TxHashMap.ts +645 -799
  1277. package/src/TxHashSet.ts +443 -356
  1278. package/src/TxPriorityQueue.ts +130 -98
  1279. package/src/TxPubSub.ts +107 -80
  1280. package/src/TxQueue.ts +214 -183
  1281. package/src/TxReentrantLock.ts +97 -66
  1282. package/src/TxRef.ts +51 -32
  1283. package/src/TxSemaphore.ts +129 -95
  1284. package/src/TxSubscriptionRef.ts +97 -70
  1285. package/src/Types.ts +126 -67
  1286. package/src/Unify.ts +45 -65
  1287. package/src/Utils.ts +23 -16
  1288. package/src/internal/core.ts +2 -2
  1289. package/src/internal/dateTime.ts +6 -0
  1290. package/src/internal/effect.ts +93 -48
  1291. package/src/internal/persistence.ts +2 -0
  1292. package/src/internal/references.ts +3 -2
  1293. package/src/internal/schema/fromJsonSchemaDocument.ts +15 -13
  1294. package/src/internal/schema/fromRepresentation.ts +10 -16
  1295. package/src/internal/schema/parser.ts +22 -0
  1296. package/src/internal/schema/toJsonSchemaDocument.ts +60 -6
  1297. package/src/internal/schema/toRepresentation.ts +104 -119
  1298. package/src/internal/trie.ts +10 -11
  1299. package/src/testing/FastCheck.ts +8 -7
  1300. package/src/testing/TestClock.ts +72 -30
  1301. package/src/testing/TestConsole.ts +32 -31
  1302. package/src/testing/TestSchema.ts +29 -29
  1303. package/src/unstable/ai/AiError.ts +95 -118
  1304. package/src/unstable/ai/AnthropicStructuredOutput.ts +1 -1
  1305. package/src/unstable/ai/Chat.ts +132 -97
  1306. package/src/unstable/ai/IdGenerator.ts +32 -28
  1307. package/src/unstable/ai/LanguageModel.ts +107 -67
  1308. package/src/unstable/ai/McpProtocol.ts +48 -0
  1309. package/src/unstable/ai/McpSchema.ts +60 -50
  1310. package/src/unstable/ai/McpServer.ts +930 -304
  1311. package/src/unstable/ai/Model.ts +9 -20
  1312. package/src/unstable/ai/OpenAiStructuredOutput.ts +1 -1
  1313. package/src/unstable/ai/Prompt.ts +145 -43
  1314. package/src/unstable/ai/Response.ts +28 -14
  1315. package/src/unstable/ai/Telemetry.ts +46 -13
  1316. package/src/unstable/ai/Tokenizer.ts +14 -3
  1317. package/src/unstable/ai/Tool.ts +59 -44
  1318. package/src/unstable/ai/Toolkit.ts +26 -8
  1319. package/src/unstable/ai/index.ts +5 -0
  1320. package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
  1321. package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
  1322. package/src/unstable/ai/internal/structured-output.ts +13 -18
  1323. package/src/unstable/cli/Argument.ts +273 -69
  1324. package/src/unstable/cli/CliError.ts +69 -76
  1325. package/src/unstable/cli/CliOutput.ts +44 -58
  1326. package/src/unstable/cli/Command.ts +705 -107
  1327. package/src/unstable/cli/Flag.ts +418 -138
  1328. package/src/unstable/cli/GlobalFlag.ts +1 -1
  1329. package/src/unstable/cli/HelpDoc.ts +12 -4
  1330. package/src/unstable/cli/Param.ts +292 -78
  1331. package/src/unstable/cli/Primitive.ts +370 -149
  1332. package/src/unstable/cli/Prompt.ts +28 -14
  1333. package/src/unstable/cli/internal/lexer.ts +8 -2
  1334. package/src/unstable/cli/internal/parser.ts +2 -2
  1335. package/src/unstable/cluster/ClusterSchema.ts +8 -8
  1336. package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -1
  1337. package/src/unstable/cluster/Entity.ts +15 -16
  1338. package/src/unstable/cluster/EntityProxy.ts +4 -2
  1339. package/src/unstable/cluster/EntityResource.ts +2 -2
  1340. package/src/unstable/cluster/Envelope.ts +3 -3
  1341. package/src/unstable/cluster/HttpRunner.ts +6 -4
  1342. package/src/unstable/cluster/Message.ts +9 -9
  1343. package/src/unstable/cluster/MessageStorage.ts +15 -15
  1344. package/src/unstable/cluster/Reply.ts +4 -6
  1345. package/src/unstable/cluster/RunnerHealth.ts +1 -1
  1346. package/src/unstable/cluster/RunnerServer.ts +41 -8
  1347. package/src/unstable/cluster/RunnerStorage.ts +2 -2
  1348. package/src/unstable/cluster/Runners.ts +23 -12
  1349. package/src/unstable/cluster/Sharding.ts +7 -8
  1350. package/src/unstable/cluster/ShardingConfig.ts +3 -3
  1351. package/src/unstable/cluster/SingletonAddress.ts +1 -1
  1352. package/src/unstable/cluster/Snowflake.ts +8 -8
  1353. package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
  1354. package/src/unstable/cluster/SqlRunnerStorage.ts +21 -5
  1355. package/src/unstable/cluster/internal/entityManager.ts +11 -15
  1356. package/src/unstable/encoding/Msgpack.ts +6 -8
  1357. package/src/unstable/encoding/Sse.ts +98 -16
  1358. package/src/unstable/eventlog/Event.ts +20 -20
  1359. package/src/unstable/eventlog/EventGroup.ts +4 -4
  1360. package/src/unstable/eventlog/EventJournal.ts +15 -15
  1361. package/src/unstable/eventlog/EventLog.ts +3 -3
  1362. package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
  1363. package/src/unstable/eventlog/EventLogMessage.ts +2 -2
  1364. package/src/unstable/eventlog/EventLogRemote.ts +1 -1
  1365. package/src/unstable/eventlog/EventLogServer.ts +41 -7
  1366. package/src/unstable/eventlog/EventLogServerEncrypted.ts +13 -5
  1367. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +14 -6
  1368. package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
  1369. package/src/unstable/http/Cookies.ts +35 -21
  1370. package/src/unstable/http/Etag.ts +1 -1
  1371. package/src/unstable/http/FetchHttpClient.ts +3 -1
  1372. package/src/unstable/http/Headers.ts +2 -2
  1373. package/src/unstable/http/HttpBody.ts +20 -5
  1374. package/src/unstable/http/HttpClient.ts +83 -55
  1375. package/src/unstable/http/HttpClientRequest.ts +2 -0
  1376. package/src/unstable/http/HttpClientResponse.ts +4 -4
  1377. package/src/unstable/http/HttpEffect.ts +8 -8
  1378. package/src/unstable/http/HttpMethod.ts +6 -9
  1379. package/src/unstable/http/HttpMiddleware.ts +202 -39
  1380. package/src/unstable/http/HttpPlatform.ts +95 -0
  1381. package/src/unstable/http/HttpRouter.ts +102 -98
  1382. package/src/unstable/http/HttpServer.ts +13 -13
  1383. package/src/unstable/http/HttpServerError.ts +2 -2
  1384. package/src/unstable/http/HttpServerRequest.ts +4 -4
  1385. package/src/unstable/http/HttpServerResponse.ts +30 -0
  1386. package/src/unstable/http/HttpStaticServer.ts +35 -7
  1387. package/src/unstable/http/Multipart.ts +6 -6
  1388. package/src/unstable/http/Url.ts +33 -63
  1389. package/src/unstable/http/UrlParams.ts +10 -18
  1390. package/src/unstable/http/internal/compression.ts +196 -0
  1391. package/src/unstable/httpapi/HttpApiBuilder.ts +10 -9
  1392. package/src/unstable/httpapi/HttpApiClient.ts +14 -14
  1393. package/src/unstable/httpapi/HttpApiEndpoint.ts +42 -42
  1394. package/src/unstable/httpapi/HttpApiError.ts +13 -13
  1395. package/src/unstable/httpapi/HttpApiGroup.ts +15 -15
  1396. package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
  1397. package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
  1398. package/src/unstable/httpapi/HttpApiSchema.ts +6 -6
  1399. package/src/unstable/httpapi/OpenApi.ts +13 -13
  1400. package/src/unstable/observability/OtlpExporter.ts +31 -19
  1401. package/src/unstable/observability/OtlpMetrics.ts +4 -1
  1402. package/src/unstable/observability/OtlpResource.ts +26 -17
  1403. package/src/unstable/observability/PrometheusMetrics.ts +13 -4
  1404. package/src/unstable/observability/internal/otlpEnv.ts +1 -1
  1405. package/src/unstable/observability/internal/protobuf.ts +3 -0
  1406. package/src/unstable/persistence/KeyValueStore.ts +72 -49
  1407. package/src/unstable/persistence/Persistable.ts +8 -8
  1408. package/src/unstable/persistence/PersistedQueue.ts +6 -6
  1409. package/src/unstable/persistence/Persistence.ts +126 -19
  1410. package/src/unstable/persistence/RateLimiter.ts +26 -15
  1411. package/src/unstable/persistence/Redis.ts +2 -2
  1412. package/src/unstable/process/ChildProcess.ts +64 -21
  1413. package/src/unstable/process/ChildProcessSpawner.ts +21 -10
  1414. package/src/unstable/reactivity/AsyncResult.ts +12 -13
  1415. package/src/unstable/reactivity/Atom.ts +28 -25
  1416. package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
  1417. package/src/unstable/reactivity/AtomRegistry.ts +24 -3
  1418. package/src/unstable/reactivity/AtomRpc.ts +5 -4
  1419. package/src/unstable/reactivity/Hydration.ts +1 -1
  1420. package/src/unstable/rpc/Rpc.ts +35 -33
  1421. package/src/unstable/rpc/RpcClient.ts +16 -15
  1422. package/src/unstable/rpc/RpcGroup.ts +8 -8
  1423. package/src/unstable/rpc/RpcMessage.ts +31 -30
  1424. package/src/unstable/rpc/RpcMiddleware.ts +10 -10
  1425. package/src/unstable/rpc/RpcSchema.ts +4 -4
  1426. package/src/unstable/rpc/RpcSerialization.ts +167 -68
  1427. package/src/unstable/rpc/RpcServer.ts +18 -15
  1428. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1429. package/src/unstable/schema/Model.ts +52 -50
  1430. package/src/unstable/schema/VariantSchema.ts +5 -5
  1431. package/src/unstable/socket/Socket.ts +17 -4
  1432. package/src/unstable/sql/SqlClient.ts +5 -6
  1433. package/src/unstable/sql/SqlModel.ts +2 -2
  1434. package/src/unstable/sql/SqlResolver.ts +5 -5
  1435. package/src/unstable/sql/Statement.ts +24 -23
  1436. package/src/unstable/workers/Transferable.ts +1 -1
  1437. package/src/unstable/workers/Worker.ts +2 -2
  1438. package/src/unstable/workers/WorkerError.ts +7 -7
  1439. package/src/unstable/workers/WorkerRunner.ts +1 -1
  1440. package/src/unstable/workflow/Activity.ts +2 -2
  1441. package/src/unstable/workflow/DurableClock.ts +1 -1
  1442. package/src/unstable/workflow/DurableDeferred.ts +10 -10
  1443. package/src/unstable/workflow/DurableQueue.ts +22 -20
  1444. package/src/unstable/workflow/Workflow.ts +23 -23
  1445. package/src/unstable/workflow/WorkflowEngine.ts +1 -1
  1446. package/src/unstable/workflow/WorkflowProxy.ts +4 -2
  1447. package/dist/internal/version.d.ts +0 -3
  1448. package/dist/internal/version.d.ts.map +0 -1
  1449. package/dist/internal/version.js +0 -2
  1450. package/dist/internal/version.js.map +0 -1
  1451. package/src/internal/version.ts +0 -2
@@ -57,9 +57,27 @@ import * as Prompt from "./Prompt.ts"
57
57
  *
58
58
  * **Example** (Defining CLI commands)
59
59
  *
60
- * ```ts
61
- * import { Console } from "effect"
60
+ * ```ts import.meta.vitest
61
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
62
62
  * import { Argument, Command, Flag } from "effect/unstable/cli"
63
+ * import { ChildProcessSpawner } from "effect/unstable/process"
64
+ *
65
+ * const CliTestLayer = Layer.mergeAll(
66
+ * FileSystem.layerNoop({}),
67
+ * Path.layer,
68
+ * Stdio.layerTest({}),
69
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
70
+ * columns: Effect.succeed(80),
71
+ * rows: Effect.succeed(24),
72
+ * readInput: Effect.die("unused"),
73
+ * readLine: Effect.die("unused"),
74
+ * display: () => Effect.void
75
+ * })),
76
+ * Layer.succeed(
77
+ * ChildProcessSpawner.ChildProcessSpawner,
78
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
79
+ * )
80
+ * )
63
81
  *
64
82
  * // Simple command with no configuration
65
83
  * const version: Command.Command<"version", {}, {}, never, never> = Command.make(
@@ -84,9 +102,15 @@ import * as Prompt from "./Prompt.ts"
84
102
  * })
85
103
  *
86
104
  * // Command with handler
105
+ * const output: Array<string> = []
87
106
  * const greet = Command.make("greet", {
88
107
  * name: Flag.string("name")
89
- * }, (config) => Console.log(`Hello, ${config.name}!`))
108
+ * }, (config) => Effect.sync(() => output.push(`Hello, ${config.name}!`)).pipe(Effect.asVoid))
109
+ *
110
+ * await Effect.runPromise(
111
+ * Command.runWith(greet, { version: "1.0.0" })(["--name", "Alice"]).pipe(Effect.provide(CliTestLayer))
112
+ * )
113
+ * output // => ["Hello, Alice!"]
90
114
  * ```
91
115
  *
92
116
  * @category models
@@ -194,19 +218,19 @@ export declare namespace Command {
194
218
  *
195
219
  * **Example** (Configuring command input)
196
220
  *
197
- * ```ts
221
+ * ```ts import.meta.vitest
198
222
  * import { Argument, Flag } from "effect/unstable/cli"
199
223
  * import type { Command as CliCommand } from "effect/unstable/cli"
200
224
  *
201
225
  * // Simple flat configuration
202
- * const simpleConfig: CliCommand.Command.Config = {
226
+ * const simpleConfig = {
203
227
  * name: Flag.string("name"),
204
228
  * age: Flag.integer("age"),
205
229
  * file: Argument.string("file")
206
- * }
230
+ * } satisfies CliCommand.Command.Config
207
231
  *
208
232
  * // Nested configuration for organization
209
- * const nestedConfig: CliCommand.Command.Config = {
233
+ * const nestedConfig = {
210
234
  * user: {
211
235
  * name: Flag.string("name"),
212
236
  * email: Flag.string("email")
@@ -215,7 +239,9 @@ export declare namespace Command {
215
239
  * host: Flag.string("host"),
216
240
  * port: Flag.integer("port")
217
241
  * }
218
- * }
242
+ * } satisfies CliCommand.Command.Config
243
+ *
244
+ * [simpleConfig.name.kind, nestedConfig.server.port.kind] // => ["flag", "flag"]
219
245
  * ```
220
246
  *
221
247
  * @category models
@@ -261,7 +287,7 @@ export declare namespace Command {
261
287
  *
262
288
  * **Example** (Inferring command input)
263
289
  *
264
- * ```ts
290
+ * ```ts import.meta.vitest
265
291
  * import { Flag } from "effect/unstable/cli"
266
292
  * import type { Command as CliCommand } from "effect/unstable/cli"
267
293
  *
@@ -281,6 +307,12 @@ export declare namespace Command {
281
307
  * // readonly port: number
282
308
  * // }
283
309
  * // }
310
+ *
311
+ * const inferred: Result = {
312
+ * name: "Alice",
313
+ * server: { host: "localhost", port: 8080 }
314
+ * }
315
+ * inferred // => { name: "Alice", server: { host: "localhost", port: 8080 } }
284
316
  * ```
285
317
  *
286
318
  * @category models
@@ -399,9 +431,27 @@ export type Services<C> = C extends Command<
399
431
  *
400
432
  * **Example** (Accessing parent command context)
401
433
  *
402
- * ```ts
403
- * import { Console, Effect } from "effect"
434
+ * ```ts import.meta.vitest
435
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
404
436
  * import { Command, Flag } from "effect/unstable/cli"
437
+ * import { ChildProcessSpawner } from "effect/unstable/process"
438
+ *
439
+ * const CliTestLayer = Layer.mergeAll(
440
+ * FileSystem.layerNoop({}),
441
+ * Path.layer,
442
+ * Stdio.layerTest({}),
443
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
444
+ * columns: Effect.succeed(80),
445
+ * rows: Effect.succeed(24),
446
+ * readInput: Effect.die("unused"),
447
+ * readLine: Effect.die("unused"),
448
+ * display: () => Effect.void
449
+ * })),
450
+ * Layer.succeed(
451
+ * ChildProcessSpawner.ChildProcessSpawner,
452
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
453
+ * )
454
+ * )
405
455
  *
406
456
  * const parent = Command.make("app").pipe(
407
457
  * Command.withSharedFlags({
@@ -410,19 +460,31 @@ export type Services<C> = C extends Command<
410
460
  * })
411
461
  * )
412
462
  *
463
+ * const output: Array<string> = []
413
464
  * const child = Command.make("deploy", {
414
465
  * target: Flag.string("target")
415
466
  * }, (config) =>
416
467
  * Effect.gen(function*() {
417
468
  * // Access parent's config by yielding the parent command
418
469
  * const parentConfig = yield* parent
419
- * yield* Console.log(`Verbose: ${parentConfig.verbose}`)
420
- * yield* Console.log(`Config: ${parentConfig.config}`)
421
- * yield* Console.log(`Target: ${config.target}`)
470
+ * yield* Effect.sync(() => output.push(`Verbose: ${parentConfig.verbose}`))
471
+ * yield* Effect.sync(() => output.push(`Config: ${parentConfig.config}`))
472
+ * yield* Effect.sync(() => output.push(`Target: ${config.target}`))
422
473
  * }))
423
474
  *
424
475
  * const app = parent.pipe(Command.withSubcommands([child]))
425
- * // Usage: app --verbose --config prod.json deploy --target staging
476
+ *
477
+ * await Effect.runPromise(
478
+ * Command.runWith(app, { version: "1.0.0" })([
479
+ * "--verbose",
480
+ * "--config",
481
+ * "prod.json",
482
+ * "deploy",
483
+ * "--target",
484
+ * "staging"
485
+ * ]).pipe(Effect.provide(CliTestLayer))
486
+ * )
487
+ * output // => ["Verbose: true", "Config: prod.json", "Target: staging"]
426
488
  * ```
427
489
  *
428
490
  * @category models
@@ -478,9 +540,27 @@ export const isCommand = (u: unknown): u is Command.Any => Predicate.hasProperty
478
540
  *
479
541
  * **Example** (Creating commands)
480
542
  *
481
- * ```ts
482
- * import { Console, Effect } from "effect"
543
+ * ```ts import.meta.vitest
544
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
483
545
  * import { Argument, Command, Flag } from "effect/unstable/cli"
546
+ * import { ChildProcessSpawner } from "effect/unstable/process"
547
+ *
548
+ * const CliTestLayer = Layer.mergeAll(
549
+ * FileSystem.layerNoop({}),
550
+ * Path.layer,
551
+ * Stdio.layerTest({}),
552
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
553
+ * columns: Effect.succeed(80),
554
+ * rows: Effect.succeed(24),
555
+ * readInput: Effect.die("unused"),
556
+ * readLine: Effect.die("unused"),
557
+ * display: () => Effect.void
558
+ * })),
559
+ * Layer.succeed(
560
+ * ChildProcessSpawner.ChildProcessSpawner,
561
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
562
+ * )
563
+ * )
484
564
  *
485
565
  * // Simple command with no configuration
486
566
  * const version = Command.make("version")
@@ -505,19 +585,29 @@ export const isCommand = (u: unknown): u is Command.Any => Predicate.hasProperty
505
585
  * })
506
586
  *
507
587
  * // Command with handler
588
+ * const output: Array<string> = []
508
589
  * const deployWithHandler = Command.make("deploy", {
509
590
  * environment: Flag.string("env"),
510
591
  * force: Flag.boolean("force")
511
592
  * }, (config) =>
512
593
  * Effect.gen(function*() {
513
- * yield* Console.log(`Starting deployment to ${config.environment}`)
594
+ * yield* Effect.sync(() => output.push(`Starting deployment to ${config.environment}`))
514
595
  *
515
596
  * if (!config.force && config.environment === "production") {
516
597
  * return yield* Effect.fail("Production deployments require --force flag")
517
598
  * }
518
599
  *
519
- * yield* Console.log("Deployment completed successfully")
600
+ * yield* Effect.sync(() => output.push("Deployment completed successfully"))
520
601
  * }))
602
+ *
603
+ * await Effect.runPromise(
604
+ * Command.runWith(deployWithHandler, { version: "1.0.0" })([
605
+ * "--env",
606
+ * "staging",
607
+ * "--force"
608
+ * ]).pipe(Effect.provide(CliTestLayer))
609
+ * )
610
+ * output // => ["Starting deployment to staging", "Deployment completed successfully"]
521
611
  * ```
522
612
  *
523
613
  * @category constructors
@@ -540,9 +630,27 @@ export const make: {
540
630
  *
541
631
  * **Example** (Creating commands)
542
632
  *
543
- * ```ts
544
- * import { Console, Effect } from "effect"
633
+ * ```ts import.meta.vitest
634
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
545
635
  * import { Argument, Command, Flag } from "effect/unstable/cli"
636
+ * import { ChildProcessSpawner } from "effect/unstable/process"
637
+ *
638
+ * const CliTestLayer = Layer.mergeAll(
639
+ * FileSystem.layerNoop({}),
640
+ * Path.layer,
641
+ * Stdio.layerTest({}),
642
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
643
+ * columns: Effect.succeed(80),
644
+ * rows: Effect.succeed(24),
645
+ * readInput: Effect.die("unused"),
646
+ * readLine: Effect.die("unused"),
647
+ * display: () => Effect.void
648
+ * })),
649
+ * Layer.succeed(
650
+ * ChildProcessSpawner.ChildProcessSpawner,
651
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
652
+ * )
653
+ * )
546
654
  *
547
655
  * // Simple command with no configuration
548
656
  * const version = Command.make("version")
@@ -567,19 +675,29 @@ export const make: {
567
675
  * })
568
676
  *
569
677
  * // Command with handler
678
+ * const output: Array<string> = []
570
679
  * const deployWithHandler = Command.make("deploy", {
571
680
  * environment: Flag.string("env"),
572
681
  * force: Flag.boolean("force")
573
682
  * }, (config) =>
574
683
  * Effect.gen(function*() {
575
- * yield* Console.log(`Starting deployment to ${config.environment}`)
684
+ * yield* Effect.sync(() => output.push(`Starting deployment to ${config.environment}`))
576
685
  *
577
686
  * if (!config.force && config.environment === "production") {
578
687
  * return yield* Effect.fail("Production deployments require --force flag")
579
688
  * }
580
689
  *
581
- * yield* Console.log("Deployment completed successfully")
690
+ * yield* Effect.sync(() => output.push("Deployment completed successfully"))
582
691
  * }))
692
+ *
693
+ * await Effect.runPromise(
694
+ * Command.runWith(deployWithHandler, { version: "1.0.0" })([
695
+ * "--env",
696
+ * "staging",
697
+ * "--force"
698
+ * ]).pipe(Effect.provide(CliTestLayer))
699
+ * )
700
+ * output // => ["Starting deployment to staging", "Deployment completed successfully"]
583
701
  * ```
584
702
  *
585
703
  * @category constructors
@@ -603,9 +721,27 @@ export const make: {
603
721
  *
604
722
  * **Example** (Creating commands)
605
723
  *
606
- * ```ts
607
- * import { Console, Effect } from "effect"
724
+ * ```ts import.meta.vitest
725
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
608
726
  * import { Argument, Command, Flag } from "effect/unstable/cli"
727
+ * import { ChildProcessSpawner } from "effect/unstable/process"
728
+ *
729
+ * const CliTestLayer = Layer.mergeAll(
730
+ * FileSystem.layerNoop({}),
731
+ * Path.layer,
732
+ * Stdio.layerTest({}),
733
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
734
+ * columns: Effect.succeed(80),
735
+ * rows: Effect.succeed(24),
736
+ * readInput: Effect.die("unused"),
737
+ * readLine: Effect.die("unused"),
738
+ * display: () => Effect.void
739
+ * })),
740
+ * Layer.succeed(
741
+ * ChildProcessSpawner.ChildProcessSpawner,
742
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
743
+ * )
744
+ * )
609
745
  *
610
746
  * // Simple command with no configuration
611
747
  * const version = Command.make("version")
@@ -630,19 +766,29 @@ export const make: {
630
766
  * })
631
767
  *
632
768
  * // Command with handler
769
+ * const output: Array<string> = []
633
770
  * const deployWithHandler = Command.make("deploy", {
634
771
  * environment: Flag.string("env"),
635
772
  * force: Flag.boolean("force")
636
773
  * }, (config) =>
637
774
  * Effect.gen(function*() {
638
- * yield* Console.log(`Starting deployment to ${config.environment}`)
775
+ * yield* Effect.sync(() => output.push(`Starting deployment to ${config.environment}`))
639
776
  *
640
777
  * if (!config.force && config.environment === "production") {
641
778
  * return yield* Effect.fail("Production deployments require --force flag")
642
779
  * }
643
780
  *
644
- * yield* Console.log("Deployment completed successfully")
781
+ * yield* Effect.sync(() => output.push("Deployment completed successfully"))
645
782
  * }))
783
+ *
784
+ * await Effect.runPromise(
785
+ * Command.runWith(deployWithHandler, { version: "1.0.0" })([
786
+ * "--env",
787
+ * "staging",
788
+ * "--force"
789
+ * ]).pipe(Effect.provide(CliTestLayer))
790
+ * )
791
+ * output // => ["Starting deployment to staging", "Deployment completed successfully"]
646
792
  * ```
647
793
  *
648
794
  * @category constructors
@@ -666,9 +812,27 @@ export const make: {
666
812
  *
667
813
  * **Example** (Creating commands)
668
814
  *
669
- * ```ts
670
- * import { Console, Effect } from "effect"
815
+ * ```ts import.meta.vitest
816
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
671
817
  * import { Argument, Command, Flag } from "effect/unstable/cli"
818
+ * import { ChildProcessSpawner } from "effect/unstable/process"
819
+ *
820
+ * const CliTestLayer = Layer.mergeAll(
821
+ * FileSystem.layerNoop({}),
822
+ * Path.layer,
823
+ * Stdio.layerTest({}),
824
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
825
+ * columns: Effect.succeed(80),
826
+ * rows: Effect.succeed(24),
827
+ * readInput: Effect.die("unused"),
828
+ * readLine: Effect.die("unused"),
829
+ * display: () => Effect.void
830
+ * })),
831
+ * Layer.succeed(
832
+ * ChildProcessSpawner.ChildProcessSpawner,
833
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
834
+ * )
835
+ * )
672
836
  *
673
837
  * // Simple command with no configuration
674
838
  * const version = Command.make("version")
@@ -693,19 +857,29 @@ export const make: {
693
857
  * })
694
858
  *
695
859
  * // Command with handler
860
+ * const output: Array<string> = []
696
861
  * const deployWithHandler = Command.make("deploy", {
697
862
  * environment: Flag.string("env"),
698
863
  * force: Flag.boolean("force")
699
864
  * }, (config) =>
700
865
  * Effect.gen(function*() {
701
- * yield* Console.log(`Starting deployment to ${config.environment}`)
866
+ * yield* Effect.sync(() => output.push(`Starting deployment to ${config.environment}`))
702
867
  *
703
868
  * if (!config.force && config.environment === "production") {
704
869
  * return yield* Effect.fail("Production deployments require --force flag")
705
870
  * }
706
871
  *
707
- * yield* Console.log("Deployment completed successfully")
872
+ * yield* Effect.sync(() => output.push("Deployment completed successfully"))
708
873
  * }))
874
+ *
875
+ * await Effect.runPromise(
876
+ * Command.runWith(deployWithHandler, { version: "1.0.0" })([
877
+ * "--env",
878
+ * "staging",
879
+ * "--force"
880
+ * ]).pipe(Effect.provide(CliTestLayer))
881
+ * )
882
+ * output // => ["Starting deployment to staging", "Deployment completed successfully"]
709
883
  * ```
710
884
  *
711
885
  * @category constructors
@@ -738,9 +912,27 @@ export const make: {
738
912
  *
739
913
  * **Example** (Adding command handlers)
740
914
  *
741
- * ```ts
742
- * import { Console } from "effect"
915
+ * ```ts import.meta.vitest
916
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
743
917
  * import { Command, Flag } from "effect/unstable/cli"
918
+ * import { ChildProcessSpawner } from "effect/unstable/process"
919
+ *
920
+ * const CliTestLayer = Layer.mergeAll(
921
+ * FileSystem.layerNoop({}),
922
+ * Path.layer,
923
+ * Stdio.layerTest({}),
924
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
925
+ * columns: Effect.succeed(80),
926
+ * rows: Effect.succeed(24),
927
+ * readInput: Effect.die("unused"),
928
+ * readLine: Effect.die("unused"),
929
+ * display: () => Effect.void
930
+ * })),
931
+ * Layer.succeed(
932
+ * ChildProcessSpawner.ChildProcessSpawner,
933
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
934
+ * )
935
+ * )
744
936
  *
745
937
  * // Command without initial handler
746
938
  * const greet = Command.make("greet", {
@@ -748,11 +940,19 @@ export const make: {
748
940
  * })
749
941
  *
750
942
  * // Add handler later
943
+ * const output: Array<string> = []
751
944
  * const greetWithHandler = greet.pipe(
752
945
  * Command.withHandler((config: { readonly name: string }) =>
753
- * Console.log(`Hello, ${config.name}!`)
946
+ * Effect.sync(() => output.push(`Hello, ${config.name}!`)).pipe(Effect.asVoid)
754
947
  * )
755
948
  * )
949
+ *
950
+ * await Effect.runPromise(
951
+ * Command.runWith(greetWithHandler, { version: "1.0.0" })(["--name", "Alice"]).pipe(
952
+ * Effect.provide(CliTestLayer)
953
+ * )
954
+ * )
955
+ * output // => ["Hello, Alice!"]
756
956
  * ```
757
957
  *
758
958
  * @category combinators
@@ -768,9 +968,27 @@ export const withHandler: {
768
968
  *
769
969
  * **Example** (Adding command handlers)
770
970
  *
771
- * ```ts
772
- * import { Console } from "effect"
971
+ * ```ts import.meta.vitest
972
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
773
973
  * import { Command, Flag } from "effect/unstable/cli"
974
+ * import { ChildProcessSpawner } from "effect/unstable/process"
975
+ *
976
+ * const CliTestLayer = Layer.mergeAll(
977
+ * FileSystem.layerNoop({}),
978
+ * Path.layer,
979
+ * Stdio.layerTest({}),
980
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
981
+ * columns: Effect.succeed(80),
982
+ * rows: Effect.succeed(24),
983
+ * readInput: Effect.die("unused"),
984
+ * readLine: Effect.die("unused"),
985
+ * display: () => Effect.void
986
+ * })),
987
+ * Layer.succeed(
988
+ * ChildProcessSpawner.ChildProcessSpawner,
989
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
990
+ * )
991
+ * )
774
992
  *
775
993
  * // Command without initial handler
776
994
  * const greet = Command.make("greet", {
@@ -778,11 +996,19 @@ export const withHandler: {
778
996
  * })
779
997
  *
780
998
  * // Add handler later
999
+ * const output: Array<string> = []
781
1000
  * const greetWithHandler = greet.pipe(
782
1001
  * Command.withHandler((config: { readonly name: string }) =>
783
- * Console.log(`Hello, ${config.name}!`)
1002
+ * Effect.sync(() => output.push(`Hello, ${config.name}!`)).pipe(Effect.asVoid)
784
1003
  * )
785
1004
  * )
1005
+ *
1006
+ * await Effect.runPromise(
1007
+ * Command.runWith(greetWithHandler, { version: "1.0.0" })(["--name", "Alice"]).pipe(
1008
+ * Effect.provide(CliTestLayer)
1009
+ * )
1010
+ * )
1011
+ * output // => ["Hello, Alice!"]
786
1012
  * ```
787
1013
  *
788
1014
  * @category combinators
@@ -800,9 +1026,27 @@ export const withHandler: {
800
1026
  *
801
1027
  * **Example** (Adding command handlers)
802
1028
  *
803
- * ```ts
804
- * import { Console } from "effect"
1029
+ * ```ts import.meta.vitest
1030
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
805
1031
  * import { Command, Flag } from "effect/unstable/cli"
1032
+ * import { ChildProcessSpawner } from "effect/unstable/process"
1033
+ *
1034
+ * const CliTestLayer = Layer.mergeAll(
1035
+ * FileSystem.layerNoop({}),
1036
+ * Path.layer,
1037
+ * Stdio.layerTest({}),
1038
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
1039
+ * columns: Effect.succeed(80),
1040
+ * rows: Effect.succeed(24),
1041
+ * readInput: Effect.die("unused"),
1042
+ * readLine: Effect.die("unused"),
1043
+ * display: () => Effect.void
1044
+ * })),
1045
+ * Layer.succeed(
1046
+ * ChildProcessSpawner.ChildProcessSpawner,
1047
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
1048
+ * )
1049
+ * )
806
1050
  *
807
1051
  * // Command without initial handler
808
1052
  * const greet = Command.make("greet", {
@@ -810,11 +1054,19 @@ export const withHandler: {
810
1054
  * })
811
1055
  *
812
1056
  * // Add handler later
1057
+ * const output: Array<string> = []
813
1058
  * const greetWithHandler = greet.pipe(
814
1059
  * Command.withHandler((config: { readonly name: string }) =>
815
- * Console.log(`Hello, ${config.name}!`)
1060
+ * Effect.sync(() => output.push(`Hello, ${config.name}!`)).pipe(Effect.asVoid)
816
1061
  * )
817
1062
  * )
1063
+ *
1064
+ * await Effect.runPromise(
1065
+ * Command.runWith(greetWithHandler, { version: "1.0.0" })(["--name", "Alice"]).pipe(
1066
+ * Effect.provide(CliTestLayer)
1067
+ * )
1068
+ * )
1069
+ * output // => ["Hello, Alice!"]
818
1070
  * ```
819
1071
  *
820
1072
  * @category combinators
@@ -892,9 +1144,27 @@ const normalizeSubcommandEntries = (
892
1144
  *
893
1145
  * **Example** (Adding subcommands)
894
1146
  *
895
- * ```ts
896
- * import { Console, Effect } from "effect"
1147
+ * ```ts import.meta.vitest
1148
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
897
1149
  * import { Command, Flag } from "effect/unstable/cli"
1150
+ * import { ChildProcessSpawner } from "effect/unstable/process"
1151
+ *
1152
+ * const CliTestLayer = Layer.mergeAll(
1153
+ * FileSystem.layerNoop({}),
1154
+ * Path.layer,
1155
+ * Stdio.layerTest({}),
1156
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
1157
+ * columns: Effect.succeed(80),
1158
+ * rows: Effect.succeed(24),
1159
+ * readInput: Effect.die("unused"),
1160
+ * readLine: Effect.die("unused"),
1161
+ * display: () => Effect.void
1162
+ * })),
1163
+ * Layer.succeed(
1164
+ * ChildProcessSpawner.ChildProcessSpawner,
1165
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
1166
+ * )
1167
+ * )
898
1168
  *
899
1169
  * // Parent command with shared flags
900
1170
  * const git = Command.make("git").pipe(
@@ -904,19 +1174,29 @@ const normalizeSubcommandEntries = (
904
1174
  * )
905
1175
  *
906
1176
  * // Subcommand that accesses parent config
1177
+ * const output: Array<string> = []
907
1178
  * const clone = Command.make("clone", {
908
1179
  * repository: Flag.string("repo")
909
1180
  * }, (config) =>
910
1181
  * Effect.gen(function*() {
911
1182
  * const parent = yield* git // Access parent's parsed config
912
1183
  * if (parent.verbose) {
913
- * yield* Console.log("Verbose mode enabled")
1184
+ * yield* Effect.sync(() => output.push("Verbose mode enabled"))
914
1185
  * }
915
- * yield* Console.log(`Cloning ${config.repository}`)
1186
+ * yield* Effect.sync(() => output.push(`Cloning ${config.repository}`))
916
1187
  * }))
917
1188
  *
918
1189
  * const app = git.pipe(Command.withSubcommands([clone]))
919
- * // Usage: git --verbose clone --repo github.com/foo/bar
1190
+ *
1191
+ * await Effect.runPromise(
1192
+ * Command.runWith(app, { version: "1.0.0" })([
1193
+ * "--verbose",
1194
+ * "clone",
1195
+ * "--repo",
1196
+ * "github.com/foo/bar"
1197
+ * ]).pipe(Effect.provide(CliTestLayer))
1198
+ * )
1199
+ * output // => ["Verbose mode enabled", "Cloning github.com/foo/bar"]
920
1200
  * ```
921
1201
  *
922
1202
  * @category combinators
@@ -934,9 +1214,27 @@ export const withSubcommands: {
934
1214
  *
935
1215
  * **Example** (Adding subcommands)
936
1216
  *
937
- * ```ts
938
- * import { Console, Effect } from "effect"
1217
+ * ```ts import.meta.vitest
1218
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
939
1219
  * import { Command, Flag } from "effect/unstable/cli"
1220
+ * import { ChildProcessSpawner } from "effect/unstable/process"
1221
+ *
1222
+ * const CliTestLayer = Layer.mergeAll(
1223
+ * FileSystem.layerNoop({}),
1224
+ * Path.layer,
1225
+ * Stdio.layerTest({}),
1226
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
1227
+ * columns: Effect.succeed(80),
1228
+ * rows: Effect.succeed(24),
1229
+ * readInput: Effect.die("unused"),
1230
+ * readLine: Effect.die("unused"),
1231
+ * display: () => Effect.void
1232
+ * })),
1233
+ * Layer.succeed(
1234
+ * ChildProcessSpawner.ChildProcessSpawner,
1235
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
1236
+ * )
1237
+ * )
940
1238
  *
941
1239
  * // Parent command with shared flags
942
1240
  * const git = Command.make("git").pipe(
@@ -946,19 +1244,29 @@ export const withSubcommands: {
946
1244
  * )
947
1245
  *
948
1246
  * // Subcommand that accesses parent config
1247
+ * const output: Array<string> = []
949
1248
  * const clone = Command.make("clone", {
950
1249
  * repository: Flag.string("repo")
951
1250
  * }, (config) =>
952
1251
  * Effect.gen(function*() {
953
1252
  * const parent = yield* git // Access parent's parsed config
954
1253
  * if (parent.verbose) {
955
- * yield* Console.log("Verbose mode enabled")
1254
+ * yield* Effect.sync(() => output.push("Verbose mode enabled"))
956
1255
  * }
957
- * yield* Console.log(`Cloning ${config.repository}`)
1256
+ * yield* Effect.sync(() => output.push(`Cloning ${config.repository}`))
958
1257
  * }))
959
1258
  *
960
1259
  * const app = git.pipe(Command.withSubcommands([clone]))
961
- * // Usage: git --verbose clone --repo github.com/foo/bar
1260
+ *
1261
+ * await Effect.runPromise(
1262
+ * Command.runWith(app, { version: "1.0.0" })([
1263
+ * "--verbose",
1264
+ * "clone",
1265
+ * "--repo",
1266
+ * "github.com/foo/bar"
1267
+ * ]).pipe(Effect.provide(CliTestLayer))
1268
+ * )
1269
+ * output // => ["Verbose mode enabled", "Cloning github.com/foo/bar"]
962
1270
  * ```
963
1271
  *
964
1272
  * @category combinators
@@ -984,9 +1292,27 @@ export const withSubcommands: {
984
1292
  *
985
1293
  * **Example** (Adding subcommands)
986
1294
  *
987
- * ```ts
988
- * import { Console, Effect } from "effect"
1295
+ * ```ts import.meta.vitest
1296
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
989
1297
  * import { Command, Flag } from "effect/unstable/cli"
1298
+ * import { ChildProcessSpawner } from "effect/unstable/process"
1299
+ *
1300
+ * const CliTestLayer = Layer.mergeAll(
1301
+ * FileSystem.layerNoop({}),
1302
+ * Path.layer,
1303
+ * Stdio.layerTest({}),
1304
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
1305
+ * columns: Effect.succeed(80),
1306
+ * rows: Effect.succeed(24),
1307
+ * readInput: Effect.die("unused"),
1308
+ * readLine: Effect.die("unused"),
1309
+ * display: () => Effect.void
1310
+ * })),
1311
+ * Layer.succeed(
1312
+ * ChildProcessSpawner.ChildProcessSpawner,
1313
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
1314
+ * )
1315
+ * )
990
1316
  *
991
1317
  * // Parent command with shared flags
992
1318
  * const git = Command.make("git").pipe(
@@ -996,19 +1322,29 @@ export const withSubcommands: {
996
1322
  * )
997
1323
  *
998
1324
  * // Subcommand that accesses parent config
1325
+ * const output: Array<string> = []
999
1326
  * const clone = Command.make("clone", {
1000
1327
  * repository: Flag.string("repo")
1001
1328
  * }, (config) =>
1002
1329
  * Effect.gen(function*() {
1003
1330
  * const parent = yield* git // Access parent's parsed config
1004
1331
  * if (parent.verbose) {
1005
- * yield* Console.log("Verbose mode enabled")
1332
+ * yield* Effect.sync(() => output.push("Verbose mode enabled"))
1006
1333
  * }
1007
- * yield* Console.log(`Cloning ${config.repository}`)
1334
+ * yield* Effect.sync(() => output.push(`Cloning ${config.repository}`))
1008
1335
  * }))
1009
1336
  *
1010
1337
  * const app = git.pipe(Command.withSubcommands([clone]))
1011
- * // Usage: git --verbose clone --repo github.com/foo/bar
1338
+ *
1339
+ * await Effect.runPromise(
1340
+ * Command.runWith(app, { version: "1.0.0" })([
1341
+ * "--verbose",
1342
+ * "clone",
1343
+ * "--repo",
1344
+ * "github.com/foo/bar"
1345
+ * ]).pipe(Effect.provide(CliTestLayer))
1346
+ * )
1347
+ * output // => ["Verbose mode enabled", "Cloning github.com/foo/bar"]
1012
1348
  * ```
1013
1349
  *
1014
1350
  * @category combinators
@@ -1307,18 +1643,42 @@ type ExtractSubcommandContext<T extends ReadonlyArray<Command.SubcommandEntry>>
1307
1643
  *
1308
1644
  * **Example** (Setting descriptions)
1309
1645
  *
1310
- * ```ts
1311
- * import { Console, Effect } from "effect"
1646
+ * ```ts import.meta.vitest
1647
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
1312
1648
  * import { Command, Flag } from "effect/unstable/cli"
1649
+ * import { ChildProcessSpawner } from "effect/unstable/process"
1650
+ *
1651
+ * const CliTestLayer = Layer.mergeAll(
1652
+ * FileSystem.layerNoop({}),
1653
+ * Path.layer,
1654
+ * Stdio.layerTest({}),
1655
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
1656
+ * columns: Effect.succeed(80),
1657
+ * rows: Effect.succeed(24),
1658
+ * readInput: Effect.die("unused"),
1659
+ * readLine: Effect.die("unused"),
1660
+ * display: () => Effect.void
1661
+ * })),
1662
+ * Layer.succeed(
1663
+ * ChildProcessSpawner.ChildProcessSpawner,
1664
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
1665
+ * )
1666
+ * )
1313
1667
  *
1668
+ * const output: Array<string> = []
1314
1669
  * const deploy = Command.make("deploy", {
1315
1670
  * environment: Flag.string("env")
1316
1671
  * }, (config) =>
1317
1672
  * Effect.gen(function*() {
1318
- * yield* Console.log(`Deploying to ${config.environment}`)
1673
+ * yield* Effect.sync(() => output.push(`Deploying to ${config.environment}`))
1319
1674
  * })).pipe(
1320
1675
  * Command.withDescription("Deploy the application to a specified environment")
1321
1676
  * )
1677
+ *
1678
+ * await Effect.runPromise(
1679
+ * Command.runWith(deploy, { version: "1.0.0" })(["--env", "staging"]).pipe(Effect.provide(CliTestLayer))
1680
+ * )
1681
+ * output // => ["Deploying to staging"]
1322
1682
  * ```
1323
1683
  *
1324
1684
  * @category combinators
@@ -1335,18 +1695,42 @@ export const withDescription: {
1335
1695
  *
1336
1696
  * **Example** (Setting descriptions)
1337
1697
  *
1338
- * ```ts
1339
- * import { Console, Effect } from "effect"
1698
+ * ```ts import.meta.vitest
1699
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
1340
1700
  * import { Command, Flag } from "effect/unstable/cli"
1701
+ * import { ChildProcessSpawner } from "effect/unstable/process"
1702
+ *
1703
+ * const CliTestLayer = Layer.mergeAll(
1704
+ * FileSystem.layerNoop({}),
1705
+ * Path.layer,
1706
+ * Stdio.layerTest({}),
1707
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
1708
+ * columns: Effect.succeed(80),
1709
+ * rows: Effect.succeed(24),
1710
+ * readInput: Effect.die("unused"),
1711
+ * readLine: Effect.die("unused"),
1712
+ * display: () => Effect.void
1713
+ * })),
1714
+ * Layer.succeed(
1715
+ * ChildProcessSpawner.ChildProcessSpawner,
1716
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
1717
+ * )
1718
+ * )
1341
1719
  *
1720
+ * const output: Array<string> = []
1342
1721
  * const deploy = Command.make("deploy", {
1343
1722
  * environment: Flag.string("env")
1344
1723
  * }, (config) =>
1345
1724
  * Effect.gen(function*() {
1346
- * yield* Console.log(`Deploying to ${config.environment}`)
1725
+ * yield* Effect.sync(() => output.push(`Deploying to ${config.environment}`))
1347
1726
  * })).pipe(
1348
1727
  * Command.withDescription("Deploy the application to a specified environment")
1349
1728
  * )
1729
+ *
1730
+ * await Effect.runPromise(
1731
+ * Command.runWith(deploy, { version: "1.0.0" })(["--env", "staging"]).pipe(Effect.provide(CliTestLayer))
1732
+ * )
1733
+ * output // => ["Deploying to staging"]
1350
1734
  * ```
1351
1735
  *
1352
1736
  * @category combinators
@@ -1365,18 +1749,42 @@ export const withDescription: {
1365
1749
  *
1366
1750
  * **Example** (Setting descriptions)
1367
1751
  *
1368
- * ```ts
1369
- * import { Console, Effect } from "effect"
1752
+ * ```ts import.meta.vitest
1753
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
1370
1754
  * import { Command, Flag } from "effect/unstable/cli"
1755
+ * import { ChildProcessSpawner } from "effect/unstable/process"
1756
+ *
1757
+ * const CliTestLayer = Layer.mergeAll(
1758
+ * FileSystem.layerNoop({}),
1759
+ * Path.layer,
1760
+ * Stdio.layerTest({}),
1761
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
1762
+ * columns: Effect.succeed(80),
1763
+ * rows: Effect.succeed(24),
1764
+ * readInput: Effect.die("unused"),
1765
+ * readLine: Effect.die("unused"),
1766
+ * display: () => Effect.void
1767
+ * })),
1768
+ * Layer.succeed(
1769
+ * ChildProcessSpawner.ChildProcessSpawner,
1770
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
1771
+ * )
1772
+ * )
1371
1773
  *
1774
+ * const output: Array<string> = []
1372
1775
  * const deploy = Command.make("deploy", {
1373
1776
  * environment: Flag.string("env")
1374
1777
  * }, (config) =>
1375
1778
  * Effect.gen(function*() {
1376
- * yield* Console.log(`Deploying to ${config.environment}`)
1779
+ * yield* Effect.sync(() => output.push(`Deploying to ${config.environment}`))
1377
1780
  * })).pipe(
1378
1781
  * Command.withDescription("Deploy the application to a specified environment")
1379
1782
  * )
1783
+ *
1784
+ * await Effect.runPromise(
1785
+ * Command.runWith(deploy, { version: "1.0.0" })(["--env", "staging"]).pipe(Effect.provide(CliTestLayer))
1786
+ * )
1787
+ * output // => ["Deploying to staging"]
1380
1788
  * ```
1381
1789
  *
1382
1790
  * @category combinators
@@ -1488,7 +1896,7 @@ export const withAlias: {
1488
1896
  *
1489
1897
  * **Example** (Hiding a subcommand)
1490
1898
  *
1491
- * ```ts
1899
+ * ```ts import.meta.vitest
1492
1900
  * import { Command } from "effect/unstable/cli"
1493
1901
  *
1494
1902
  * // `experimental` still runs when invoked as `mycli experimental`,
@@ -1500,6 +1908,8 @@ export const withAlias: {
1500
1908
  * const root = Command.make("mycli").pipe(
1501
1909
  * Command.withSubcommands([experimental])
1502
1910
  * )
1911
+ *
1912
+ * root.subcommands[0].commands[0].hidden // => true
1503
1913
  * ```
1504
1914
  *
1505
1915
  * @category combinators
@@ -1689,7 +2099,7 @@ export const annotateMerge: {
1689
2099
  *
1690
2100
  * **Example** (Adding usage examples)
1691
2101
  *
1692
- * ```ts
2102
+ * ```ts import.meta.vitest
1693
2103
  * import { Command } from "effect/unstable/cli"
1694
2104
  *
1695
2105
  * const login = Command.make("login").pipe(
@@ -1698,6 +2108,8 @@ export const annotateMerge: {
1698
2108
  * { command: "myapp login --token sbp_abc123", description: "Log in with a token" }
1699
2109
  * ])
1700
2110
  * )
2111
+ *
2112
+ * login.examples.map((example) => example.command) // => ["myapp login", "myapp login --token sbp_abc123"]
1701
2113
  * ```
1702
2114
  *
1703
2115
  * @category combinators
@@ -1714,7 +2126,7 @@ export const withExamples: {
1714
2126
  *
1715
2127
  * **Example** (Adding usage examples)
1716
2128
  *
1717
- * ```ts
2129
+ * ```ts import.meta.vitest
1718
2130
  * import { Command } from "effect/unstable/cli"
1719
2131
  *
1720
2132
  * const login = Command.make("login").pipe(
@@ -1723,6 +2135,8 @@ export const withExamples: {
1723
2135
  * { command: "myapp login --token sbp_abc123", description: "Log in with a token" }
1724
2136
  * ])
1725
2137
  * )
2138
+ *
2139
+ * login.examples.map((example) => example.command) // => ["myapp login", "myapp login --token sbp_abc123"]
1726
2140
  * ```
1727
2141
  *
1728
2142
  * @category combinators
@@ -1741,7 +2155,7 @@ export const withExamples: {
1741
2155
  *
1742
2156
  * **Example** (Adding usage examples)
1743
2157
  *
1744
- * ```ts
2158
+ * ```ts import.meta.vitest
1745
2159
  * import { Command } from "effect/unstable/cli"
1746
2160
  *
1747
2161
  * const login = Command.make("login").pipe(
@@ -1750,6 +2164,8 @@ export const withExamples: {
1750
2164
  * { command: "myapp login --token sbp_abc123", description: "Log in with a token" }
1751
2165
  * ])
1752
2166
  * )
2167
+ *
2168
+ * login.examples.map((example) => example.command) // => ["myapp login", "myapp login --token sbp_abc123"]
1753
2169
  * ```
1754
2170
  *
1755
2171
  * @category combinators
@@ -1783,16 +2199,35 @@ const mapHandler = <Name extends string, Input, E, R, ContextInput, E2, R2>(
1783
2199
  *
1784
2200
  * **Example** (Providing command services)
1785
2201
  *
1786
- * ```ts
1787
- * import { Effect, FileSystem, PlatformError } from "effect"
2202
+ * ```ts import.meta.vitest
2203
+ * import { Effect, FileSystem, Layer, Path, PlatformError, Stdio, Terminal } from "effect"
1788
2204
  * import { Command, Flag } from "effect/unstable/cli"
2205
+ * import { ChildProcessSpawner } from "effect/unstable/process"
2206
+ *
2207
+ * const CliTestLayer = Layer.mergeAll(
2208
+ * FileSystem.layerNoop({}),
2209
+ * Path.layer,
2210
+ * Stdio.layerTest({}),
2211
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
2212
+ * columns: Effect.succeed(80),
2213
+ * rows: Effect.succeed(24),
2214
+ * readInput: Effect.die("unused"),
2215
+ * readLine: Effect.die("unused"),
2216
+ * display: () => Effect.void
2217
+ * })),
2218
+ * Layer.succeed(
2219
+ * ChildProcessSpawner.ChildProcessSpawner,
2220
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
2221
+ * )
2222
+ * )
1789
2223
  *
2224
+ * const output: Array<string> = []
1790
2225
  * const deploy = Command.make("deploy", {
1791
2226
  * env: Flag.string("env")
1792
2227
  * }, (config) =>
1793
2228
  * Effect.gen(function*() {
1794
2229
  * const fs = yield* FileSystem.FileSystem
1795
- * // Use fs...
2230
+ * yield* Effect.sync(() => output.push(`Using file system for ${config.env}`))
1796
2231
  * })).pipe(
1797
2232
  * // Provide FileSystem based on the --env flag
1798
2233
  * Command.provide((config) =>
@@ -1809,6 +2244,11 @@ const mapHandler = <Name extends string, Input, E, R, ContextInput, E2, R2>(
1809
2244
  * })
1810
2245
  * )
1811
2246
  * )
2247
+ *
2248
+ * await Effect.runPromise(
2249
+ * Command.runWith(deploy, { version: "1.0.0" })(["--env", "local"]).pipe(Effect.provide(CliTestLayer))
2250
+ * )
2251
+ * output // => ["Using file system for local"]
1812
2252
  * ```
1813
2253
  *
1814
2254
  * @category providing services
@@ -1821,16 +2261,35 @@ export const provide: {
1821
2261
  *
1822
2262
  * **Example** (Providing command services)
1823
2263
  *
1824
- * ```ts
1825
- * import { Effect, FileSystem, PlatformError } from "effect"
2264
+ * ```ts import.meta.vitest
2265
+ * import { Effect, FileSystem, Layer, Path, PlatformError, Stdio, Terminal } from "effect"
1826
2266
  * import { Command, Flag } from "effect/unstable/cli"
2267
+ * import { ChildProcessSpawner } from "effect/unstable/process"
2268
+ *
2269
+ * const CliTestLayer = Layer.mergeAll(
2270
+ * FileSystem.layerNoop({}),
2271
+ * Path.layer,
2272
+ * Stdio.layerTest({}),
2273
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
2274
+ * columns: Effect.succeed(80),
2275
+ * rows: Effect.succeed(24),
2276
+ * readInput: Effect.die("unused"),
2277
+ * readLine: Effect.die("unused"),
2278
+ * display: () => Effect.void
2279
+ * })),
2280
+ * Layer.succeed(
2281
+ * ChildProcessSpawner.ChildProcessSpawner,
2282
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
2283
+ * )
2284
+ * )
1827
2285
  *
2286
+ * const output: Array<string> = []
1828
2287
  * const deploy = Command.make("deploy", {
1829
2288
  * env: Flag.string("env")
1830
2289
  * }, (config) =>
1831
2290
  * Effect.gen(function*() {
1832
2291
  * const fs = yield* FileSystem.FileSystem
1833
- * // Use fs...
2292
+ * yield* Effect.sync(() => output.push(`Using file system for ${config.env}`))
1834
2293
  * })).pipe(
1835
2294
  * // Provide FileSystem based on the --env flag
1836
2295
  * Command.provide((config) =>
@@ -1847,6 +2306,11 @@ export const provide: {
1847
2306
  * })
1848
2307
  * )
1849
2308
  * )
2309
+ *
2310
+ * await Effect.runPromise(
2311
+ * Command.runWith(deploy, { version: "1.0.0" })(["--env", "local"]).pipe(Effect.provide(CliTestLayer))
2312
+ * )
2313
+ * output // => ["Using file system for local"]
1850
2314
  * ```
1851
2315
  *
1852
2316
  * @category providing services
@@ -1866,16 +2330,35 @@ export const provide: {
1866
2330
  *
1867
2331
  * **Example** (Providing command services)
1868
2332
  *
1869
- * ```ts
1870
- * import { Effect, FileSystem, PlatformError } from "effect"
2333
+ * ```ts import.meta.vitest
2334
+ * import { Effect, FileSystem, Layer, Path, PlatformError, Stdio, Terminal } from "effect"
1871
2335
  * import { Command, Flag } from "effect/unstable/cli"
2336
+ * import { ChildProcessSpawner } from "effect/unstable/process"
2337
+ *
2338
+ * const CliTestLayer = Layer.mergeAll(
2339
+ * FileSystem.layerNoop({}),
2340
+ * Path.layer,
2341
+ * Stdio.layerTest({}),
2342
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
2343
+ * columns: Effect.succeed(80),
2344
+ * rows: Effect.succeed(24),
2345
+ * readInput: Effect.die("unused"),
2346
+ * readLine: Effect.die("unused"),
2347
+ * display: () => Effect.void
2348
+ * })),
2349
+ * Layer.succeed(
2350
+ * ChildProcessSpawner.ChildProcessSpawner,
2351
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
2352
+ * )
2353
+ * )
1872
2354
  *
2355
+ * const output: Array<string> = []
1873
2356
  * const deploy = Command.make("deploy", {
1874
2357
  * env: Flag.string("env")
1875
2358
  * }, (config) =>
1876
2359
  * Effect.gen(function*() {
1877
2360
  * const fs = yield* FileSystem.FileSystem
1878
- * // Use fs...
2361
+ * yield* Effect.sync(() => output.push(`Using file system for ${config.env}`))
1879
2362
  * })).pipe(
1880
2363
  * // Provide FileSystem based on the --env flag
1881
2364
  * Command.provide((config) =>
@@ -1892,6 +2375,11 @@ export const provide: {
1892
2375
  * })
1893
2376
  * )
1894
2377
  * )
2378
+ *
2379
+ * await Effect.runPromise(
2380
+ * Command.runWith(deploy, { version: "1.0.0" })(["--env", "local"]).pipe(Effect.provide(CliTestLayer))
2381
+ * )
2382
+ * output // => ["Using file system for local"]
1895
2383
  * ```
1896
2384
  *
1897
2385
  * @category providing services
@@ -2093,19 +2581,42 @@ export const provideEffectDiscard: {
2093
2581
  *
2094
2582
  * **Example** (Constructing command arguments)
2095
2583
  *
2096
- * ```ts
2097
- * import { Console, Effect } from "effect"
2584
+ * ```ts import.meta.vitest
2585
+ * import { Console, Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
2098
2586
  * import { Command } from "effect/unstable/cli"
2587
+ * import { ChildProcessSpawner } from "effect/unstable/process"
2588
+ *
2589
+ * const CliTestLayer = Layer.mergeAll(
2590
+ * FileSystem.layerNoop({}),
2591
+ * Path.layer,
2592
+ * Stdio.layerTest({}),
2593
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
2594
+ * columns: Effect.succeed(80),
2595
+ * rows: Effect.succeed(24),
2596
+ * readInput: Effect.die("unused"),
2597
+ * readLine: Effect.die("unused"),
2598
+ * display: () => Effect.void
2599
+ * })),
2600
+ * Layer.succeed(
2601
+ * ChildProcessSpawner.ChildProcessSpawner,
2602
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
2603
+ * )
2604
+ * )
2099
2605
  *
2100
2606
  * const command = Command.make("app")
2101
- *
2102
- * const program = Effect.gen(function*() {
2103
- * const args = yield* Command.wizard(command)
2104
- * yield* Console.log(args.join(" "))
2607
+ * const silentConsole: Console.Console = Object.assign(Object.create(console), {
2608
+ * log: () => {}
2105
2609
  * })
2610
+ *
2611
+ * const program = Command.wizard(command).pipe(
2612
+ * Effect.provideService(Console.Console, silentConsole),
2613
+ * Effect.provide(CliTestLayer)
2614
+ * )
2615
+ *
2616
+ * await Effect.runPromise(program) // => ["app"]
2106
2617
  * ```
2107
2618
  *
2108
- * @category command execution
2619
+ * @category running
2109
2620
  * @since 4.0.0
2110
2621
  */
2111
2622
  export const wizard = <Name extends string, Input, E, R, ContextInput>(
@@ -2178,26 +2689,50 @@ const showHelp = <Name extends string, Input, E, R, ContextInput>(
2178
2689
  *
2179
2690
  * **Example** (Running commands with standard input)
2180
2691
  *
2181
- * ```ts
2182
- * import { Console, Effect } from "effect"
2692
+ * ```ts import.meta.vitest
2693
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
2183
2694
  * import { Command, Flag } from "effect/unstable/cli"
2695
+ * import { ChildProcessSpawner } from "effect/unstable/process"
2696
+ *
2697
+ * const CliTestLayer = Layer.mergeAll(
2698
+ * FileSystem.layerNoop({}),
2699
+ * Path.layer,
2700
+ * Stdio.layerTest({
2701
+ * args: Effect.succeed(["--name", "Alice"])
2702
+ * }),
2703
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
2704
+ * columns: Effect.succeed(80),
2705
+ * rows: Effect.succeed(24),
2706
+ * readInput: Effect.die("unused"),
2707
+ * readLine: Effect.die("unused"),
2708
+ * display: () => Effect.void
2709
+ * })),
2710
+ * Layer.succeed(
2711
+ * ChildProcessSpawner.ChildProcessSpawner,
2712
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
2713
+ * )
2714
+ * )
2184
2715
  *
2716
+ * const output: Array<string> = []
2185
2717
  * const greetCommand = Command.make("greet", {
2186
2718
  * name: Flag.string("name")
2187
2719
  * }, (config) =>
2188
2720
  * Effect.gen(function*() {
2189
- * yield* Console.log(`Hello, ${config.name}!`)
2721
+ * yield* Effect.sync(() => output.push(`Hello, ${config.name}!`))
2190
2722
  * }))
2191
2723
  *
2192
2724
  * // Automatically gets args from the Stdio service
2193
2725
  * const program = Command.run(greetCommand, {
2194
2726
  * version: "1.0.0"
2195
2727
  * })
2728
+ *
2729
+ * await Effect.runPromise(program.pipe(Effect.provide(CliTestLayer)))
2730
+ * output // => ["Hello, Alice!"]
2196
2731
  * ```
2197
2732
  *
2198
2733
  * @see {@link runWith} for running a command with an explicit argument array
2199
2734
  *
2200
- * @category command execution
2735
+ * @category running
2201
2736
  * @since 4.0.0
2202
2737
  */
2203
2738
  export const run: {
@@ -2211,26 +2746,50 @@ export const run: {
2211
2746
  *
2212
2747
  * **Example** (Running commands with standard input)
2213
2748
  *
2214
- * ```ts
2215
- * import { Console, Effect } from "effect"
2749
+ * ```ts import.meta.vitest
2750
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
2216
2751
  * import { Command, Flag } from "effect/unstable/cli"
2752
+ * import { ChildProcessSpawner } from "effect/unstable/process"
2753
+ *
2754
+ * const CliTestLayer = Layer.mergeAll(
2755
+ * FileSystem.layerNoop({}),
2756
+ * Path.layer,
2757
+ * Stdio.layerTest({
2758
+ * args: Effect.succeed(["--name", "Alice"])
2759
+ * }),
2760
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
2761
+ * columns: Effect.succeed(80),
2762
+ * rows: Effect.succeed(24),
2763
+ * readInput: Effect.die("unused"),
2764
+ * readLine: Effect.die("unused"),
2765
+ * display: () => Effect.void
2766
+ * })),
2767
+ * Layer.succeed(
2768
+ * ChildProcessSpawner.ChildProcessSpawner,
2769
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
2770
+ * )
2771
+ * )
2217
2772
  *
2773
+ * const output: Array<string> = []
2218
2774
  * const greetCommand = Command.make("greet", {
2219
2775
  * name: Flag.string("name")
2220
2776
  * }, (config) =>
2221
2777
  * Effect.gen(function*() {
2222
- * yield* Console.log(`Hello, ${config.name}!`)
2778
+ * yield* Effect.sync(() => output.push(`Hello, ${config.name}!`))
2223
2779
  * }))
2224
2780
  *
2225
2781
  * // Automatically gets args from the Stdio service
2226
2782
  * const program = Command.run(greetCommand, {
2227
2783
  * version: "1.0.0"
2228
2784
  * })
2785
+ *
2786
+ * await Effect.runPromise(program.pipe(Effect.provide(CliTestLayer)))
2787
+ * output // => ["Hello, Alice!"]
2229
2788
  * ```
2230
2789
  *
2231
2790
  * @see {@link runWith} for running a command with an explicit argument array
2232
2791
  *
2233
- * @category command execution
2792
+ * @category running
2234
2793
  * @since 4.0.0
2235
2794
  */
2236
2795
  (
@@ -2250,26 +2809,50 @@ export const run: {
2250
2809
  *
2251
2810
  * **Example** (Running commands with standard input)
2252
2811
  *
2253
- * ```ts
2254
- * import { Console, Effect } from "effect"
2812
+ * ```ts import.meta.vitest
2813
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
2255
2814
  * import { Command, Flag } from "effect/unstable/cli"
2815
+ * import { ChildProcessSpawner } from "effect/unstable/process"
2816
+ *
2817
+ * const CliTestLayer = Layer.mergeAll(
2818
+ * FileSystem.layerNoop({}),
2819
+ * Path.layer,
2820
+ * Stdio.layerTest({
2821
+ * args: Effect.succeed(["--name", "Alice"])
2822
+ * }),
2823
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
2824
+ * columns: Effect.succeed(80),
2825
+ * rows: Effect.succeed(24),
2826
+ * readInput: Effect.die("unused"),
2827
+ * readLine: Effect.die("unused"),
2828
+ * display: () => Effect.void
2829
+ * })),
2830
+ * Layer.succeed(
2831
+ * ChildProcessSpawner.ChildProcessSpawner,
2832
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
2833
+ * )
2834
+ * )
2256
2835
  *
2836
+ * const output: Array<string> = []
2257
2837
  * const greetCommand = Command.make("greet", {
2258
2838
  * name: Flag.string("name")
2259
2839
  * }, (config) =>
2260
2840
  * Effect.gen(function*() {
2261
- * yield* Console.log(`Hello, ${config.name}!`)
2841
+ * yield* Effect.sync(() => output.push(`Hello, ${config.name}!`))
2262
2842
  * }))
2263
2843
  *
2264
2844
  * // Automatically gets args from the Stdio service
2265
2845
  * const program = Command.run(greetCommand, {
2266
2846
  * version: "1.0.0"
2267
2847
  * })
2848
+ *
2849
+ * await Effect.runPromise(program.pipe(Effect.provide(CliTestLayer)))
2850
+ * output // => ["Hello, Alice!"]
2268
2851
  * ```
2269
2852
  *
2270
2853
  * @see {@link runWith} for running a command with an explicit argument array
2271
2854
  *
2272
- * @category command execution
2855
+ * @category running
2273
2856
  * @since 4.0.0
2274
2857
  */
2275
2858
  <Name extends string, Input, E, R, ContextInput>(
@@ -2301,17 +2884,36 @@ export const run: {
2301
2884
  *
2302
2885
  * **Example** (Running commands with explicit arguments)
2303
2886
  *
2304
- * ```ts
2305
- * import { Console, Effect } from "effect"
2887
+ * ```ts import.meta.vitest
2888
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
2306
2889
  * import { Command, Flag } from "effect/unstable/cli"
2890
+ * import { ChildProcessSpawner } from "effect/unstable/process"
2891
+ *
2892
+ * const CliTestLayer = Layer.mergeAll(
2893
+ * FileSystem.layerNoop({}),
2894
+ * Path.layer,
2895
+ * Stdio.layerTest({}),
2896
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
2897
+ * columns: Effect.succeed(80),
2898
+ * rows: Effect.succeed(24),
2899
+ * readInput: Effect.die("unused"),
2900
+ * readLine: Effect.die("unused"),
2901
+ * display: () => Effect.void
2902
+ * })),
2903
+ * Layer.succeed(
2904
+ * ChildProcessSpawner.ChildProcessSpawner,
2905
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
2906
+ * )
2907
+ * )
2307
2908
  *
2909
+ * const output: Array<string> = []
2308
2910
  * const greet = Command.make("greet", {
2309
2911
  * name: Flag.string("name"),
2310
2912
  * count: Flag.integer("count").pipe(Flag.withDefault(1))
2311
2913
  * }, (config) =>
2312
2914
  * Effect.gen(function*() {
2313
2915
  * for (let i = 0; i < config.count; i++) {
2314
- * yield* Console.log(`Hello, ${config.name}!`)
2916
+ * yield* Effect.sync(() => output.push(`Hello, ${config.name}!`))
2315
2917
  * }
2316
2918
  * }))
2317
2919
  *
@@ -2319,18 +2921,14 @@ export const run: {
2319
2921
  * const testProgram = Effect.gen(function*() {
2320
2922
  * const runCommand = Command.runWith(greet, { version: "1.0.0" })
2321
2923
  *
2322
- * // Test normal execution
2323
2924
  * yield* runCommand(["--name", "Alice", "--count", "2"])
2324
- *
2325
- * // Test help display
2326
- * yield* runCommand(["--help"])
2327
- *
2328
- * // Test version display
2329
- * yield* runCommand(["--version"])
2330
2925
  * })
2926
+ *
2927
+ * await Effect.runPromise(testProgram.pipe(Effect.provide(CliTestLayer)))
2928
+ * output // => ["Hello, Alice!", "Hello, Alice!"]
2331
2929
  * ```
2332
2930
  *
2333
- * @category command execution
2931
+ * @category running
2334
2932
  * @since 4.0.0
2335
2933
  */
2336
2934
  export const runWith = <const Name extends string, Input, E, R, ContextInput>(