effect 4.0.0-beta.99 → 4.0.0-rc.109

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 (1904) hide show
  1. package/AGENTS.md +395 -0
  2. package/CLAUDE.md +395 -0
  3. package/README.md +19 -23
  4. package/ai-docs/README.md +44 -0
  5. package/ai-docs/package.json +36 -0
  6. package/ai-docs/src/01_effect/01_basics/01_effect-gen.ts +30 -0
  7. package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +39 -0
  8. package/ai-docs/src/01_effect/01_basics/10_creating-effects.ts +74 -0
  9. package/ai-docs/src/01_effect/01_basics/index.md +5 -0
  10. package/ai-docs/src/01_effect/02_schema/10_schema-basics.ts +43 -0
  11. package/ai-docs/src/01_effect/02_schema/index.md +7 -0
  12. package/ai-docs/src/01_effect/03_services/01_service.ts +45 -0
  13. package/ai-docs/src/01_effect/03_services/10_reference.ts +10 -0
  14. package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +70 -0
  15. package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +66 -0
  16. package/ai-docs/src/01_effect/03_services/index.md +5 -0
  17. package/ai-docs/src/01_effect/04_errors/01_error-handling.ts +30 -0
  18. package/ai-docs/src/01_effect/04_errors/10_catch-tags.ts +24 -0
  19. package/ai-docs/src/01_effect/04_errors/20_reason-errors.ts +64 -0
  20. package/ai-docs/src/01_effect/04_errors/index.md +1 -0
  21. package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +105 -0
  22. package/ai-docs/src/01_effect/05_resources/20_layer-side-effects.ts +31 -0
  23. package/ai-docs/src/01_effect/05_resources/30_layer-map.ts +86 -0
  24. package/ai-docs/src/01_effect/05_resources/index.md +3 -0
  25. package/ai-docs/src/01_effect/06_running/10_run-main.ts +30 -0
  26. package/ai-docs/src/01_effect/06_running/20_layer-launch.ts +27 -0
  27. package/ai-docs/src/01_effect/06_running/index.md +1 -0
  28. package/ai-docs/src/01_effect/07_pubsub/10_pubsub.ts +56 -0
  29. package/ai-docs/src/01_effect/07_pubsub/index.md +3 -0
  30. package/ai-docs/src/03_stream/10_creating-streams.ts +103 -0
  31. package/ai-docs/src/03_stream/20_consuming-streams.ts +137 -0
  32. package/ai-docs/src/03_stream/30_encoding.ts +165 -0
  33. package/ai-docs/src/03_stream/index.md +4 -0
  34. package/ai-docs/src/04_integration/10_managed-runtime.ts +129 -0
  35. package/ai-docs/src/04_integration/index.md +5 -0
  36. package/ai-docs/src/05_batching/10_request-resolver.ts +89 -0
  37. package/ai-docs/src/05_batching/index.md +3 -0
  38. package/ai-docs/src/06_schedule/10_schedules.ts +110 -0
  39. package/ai-docs/src/06_schedule/index.md +3 -0
  40. package/ai-docs/src/07_datetime/10_creating-and-formatting.ts +30 -0
  41. package/ai-docs/src/07_datetime/20_time-zones.ts +44 -0
  42. package/ai-docs/src/07_datetime/index.md +5 -0
  43. package/ai-docs/src/08_observability/10_logging.ts +66 -0
  44. package/ai-docs/src/08_observability/20_otlp-tracing.ts +95 -0
  45. package/ai-docs/src/08_observability/index.md +7 -0
  46. package/ai-docs/src/09_testing/10_effect-tests.ts +55 -0
  47. package/ai-docs/src/09_testing/20_layer-tests.ts +138 -0
  48. package/ai-docs/src/09_testing/index.md +1 -0
  49. package/ai-docs/src/10_predicate/01_basics.ts +14 -0
  50. package/ai-docs/src/10_predicate/index.md +9 -0
  51. package/ai-docs/src/40_sql/10_basics.ts +175 -0
  52. package/ai-docs/src/40_sql/index.md +6 -0
  53. package/ai-docs/src/50_http-client/10_basics.ts +102 -0
  54. package/ai-docs/src/50_http-client/index.md +3 -0
  55. package/ai-docs/src/51_http-server/10_basics.ts +118 -0
  56. package/ai-docs/src/51_http-server/20_testing.ts +100 -0
  57. package/ai-docs/src/51_http-server/fixtures/api/Api.ts +14 -0
  58. package/ai-docs/src/51_http-server/fixtures/api/Authorization.ts +36 -0
  59. package/ai-docs/src/51_http-server/fixtures/api/System.ts +10 -0
  60. package/ai-docs/src/51_http-server/fixtures/api/Users.ts +107 -0
  61. package/ai-docs/src/51_http-server/fixtures/domain/User.ts +21 -0
  62. package/ai-docs/src/51_http-server/fixtures/domain/UserErrors.ts +22 -0
  63. package/ai-docs/src/51_http-server/fixtures/server/Authorization.ts +37 -0
  64. package/ai-docs/src/51_http-server/fixtures/server/Users/http.ts +80 -0
  65. package/ai-docs/src/51_http-server/fixtures/server/Users.ts +183 -0
  66. package/ai-docs/src/51_http-server/index.md +3 -0
  67. package/ai-docs/src/60_child-process/10_working-with-child-processes.ts +117 -0
  68. package/ai-docs/src/60_child-process/index.md +3 -0
  69. package/ai-docs/src/70_cli/10_basics.ts +160 -0
  70. package/ai-docs/src/70_cli/index.md +5 -0
  71. package/ai-docs/src/71_ai/10_language-model.ts +156 -0
  72. package/ai-docs/src/71_ai/20_tools.ts +226 -0
  73. package/ai-docs/src/71_ai/30_chat.ts +158 -0
  74. package/ai-docs/src/71_ai/fixtures/domain/LaunchPlan.ts +9 -0
  75. package/ai-docs/src/71_ai/index.md +5 -0
  76. package/ai-docs/src/80_cluster/10_entities.ts +97 -0
  77. package/ai-docs/src/80_cluster/index.md +4 -0
  78. package/ai-docs/src/index.md +10 -0
  79. package/ai-docs/tsconfig.json +24 -0
  80. package/dist/Array.d.ts +971 -1037
  81. package/dist/Array.d.ts.map +1 -1
  82. package/dist/Array.js +462 -412
  83. package/dist/Array.js.map +1 -1
  84. package/dist/BigDecimal.d.ts +433 -756
  85. package/dist/BigDecimal.d.ts.map +1 -1
  86. package/dist/BigDecimal.js +200 -325
  87. package/dist/BigDecimal.js.map +1 -1
  88. package/dist/BigInt.d.ts +207 -267
  89. package/dist/BigInt.d.ts.map +1 -1
  90. package/dist/BigInt.js +107 -135
  91. package/dist/BigInt.js.map +1 -1
  92. package/dist/Boolean.d.ts +146 -188
  93. package/dist/Boolean.d.ts.map +1 -1
  94. package/dist/Boolean.js +64 -84
  95. package/dist/Boolean.js.map +1 -1
  96. package/dist/Brand.d.ts +3 -3
  97. package/dist/Brand.d.ts.map +1 -1
  98. package/dist/Brand.js +4 -3
  99. package/dist/Brand.js.map +1 -1
  100. package/dist/Cache.d.ts +409 -256
  101. package/dist/Cache.d.ts.map +1 -1
  102. package/dist/Cache.js +213 -134
  103. package/dist/Cache.js.map +1 -1
  104. package/dist/Cause.d.ts +167 -277
  105. package/dist/Cause.d.ts.map +1 -1
  106. package/dist/Cause.js +122 -176
  107. package/dist/Cause.js.map +1 -1
  108. package/dist/Channel.d.ts +756 -769
  109. package/dist/Channel.d.ts.map +1 -1
  110. package/dist/Channel.js +588 -449
  111. package/dist/Channel.js.map +1 -1
  112. package/dist/ChannelSchema.d.ts +1 -1
  113. package/dist/ChannelSchema.d.ts.map +1 -1
  114. package/dist/ChannelSchema.js.map +1 -1
  115. package/dist/Chunk.d.ts +834 -1173
  116. package/dist/Chunk.d.ts.map +1 -1
  117. package/dist/Chunk.js +326 -439
  118. package/dist/Chunk.js.map +1 -1
  119. package/dist/Clock.d.ts +180 -49
  120. package/dist/Clock.d.ts.map +1 -1
  121. package/dist/Clock.js +96 -31
  122. package/dist/Clock.js.map +1 -1
  123. package/dist/Combiner.d.ts +20 -33
  124. package/dist/Combiner.d.ts.map +1 -1
  125. package/dist/Combiner.js +18 -30
  126. package/dist/Combiner.js.map +1 -1
  127. package/dist/Config.d.ts +226 -174
  128. package/dist/Config.d.ts.map +1 -1
  129. package/dist/Config.js +361 -267
  130. package/dist/Config.js.map +1 -1
  131. package/dist/ConfigProvider.d.ts +229 -71
  132. package/dist/ConfigProvider.d.ts.map +1 -1
  133. package/dist/ConfigProvider.js +164 -95
  134. package/dist/ConfigProvider.js.map +1 -1
  135. package/dist/Console.d.ts +233 -33
  136. package/dist/Console.d.ts.map +1 -1
  137. package/dist/Console.js +232 -32
  138. package/dist/Console.js.map +1 -1
  139. package/dist/Context.d.ts +160 -277
  140. package/dist/Context.d.ts.map +1 -1
  141. package/dist/Context.js +179 -236
  142. package/dist/Context.js.map +1 -1
  143. package/dist/Cron.d.ts +144 -176
  144. package/dist/Cron.d.ts.map +1 -1
  145. package/dist/Cron.js +227 -162
  146. package/dist/Cron.js.map +1 -1
  147. package/dist/Crypto.d.ts +13 -15
  148. package/dist/Crypto.d.ts.map +1 -1
  149. package/dist/Crypto.js +24 -39
  150. package/dist/Crypto.js.map +1 -1
  151. package/dist/Data.d.ts +60 -80
  152. package/dist/Data.d.ts.map +1 -1
  153. package/dist/Data.js +18 -24
  154. package/dist/Data.js.map +1 -1
  155. package/dist/DateTime.d.ts +562 -660
  156. package/dist/DateTime.d.ts.map +1 -1
  157. package/dist/DateTime.js +307 -362
  158. package/dist/DateTime.js.map +1 -1
  159. package/dist/Deferred.d.ts +253 -256
  160. package/dist/Deferred.d.ts.map +1 -1
  161. package/dist/Deferred.js +110 -98
  162. package/dist/Deferred.js.map +1 -1
  163. package/dist/Duration.d.ts +216 -308
  164. package/dist/Duration.d.ts.map +1 -1
  165. package/dist/Duration.js +157 -188
  166. package/dist/Duration.js.map +1 -1
  167. package/dist/Effect.d.ts +3157 -3360
  168. package/dist/Effect.d.ts.map +1 -1
  169. package/dist/Effect.js +1457 -1574
  170. package/dist/Effect.js.map +1 -1
  171. package/dist/Effectable.js.map +1 -1
  172. package/dist/Encoding.d.ts +22 -40
  173. package/dist/Encoding.d.ts.map +1 -1
  174. package/dist/Encoding.js +22 -40
  175. package/dist/Encoding.js.map +1 -1
  176. package/dist/Equal.d.ts +33 -37
  177. package/dist/Equal.d.ts.map +1 -1
  178. package/dist/Equal.js +39 -23
  179. package/dist/Equal.js.map +1 -1
  180. package/dist/Equivalence.d.ts +103 -105
  181. package/dist/Equivalence.d.ts.map +1 -1
  182. package/dist/Equivalence.js +77 -79
  183. package/dist/Equivalence.js.map +1 -1
  184. package/dist/ErrorReporter.d.ts +52 -28
  185. package/dist/ErrorReporter.d.ts.map +1 -1
  186. package/dist/ErrorReporter.js +51 -27
  187. package/dist/ErrorReporter.js.map +1 -1
  188. package/dist/ExecutionPlan.d.ts +86 -55
  189. package/dist/ExecutionPlan.d.ts.map +1 -1
  190. package/dist/ExecutionPlan.js +8 -29
  191. package/dist/ExecutionPlan.js.map +1 -1
  192. package/dist/Exit.d.ts +116 -192
  193. package/dist/Exit.d.ts.map +1 -1
  194. package/dist/Exit.js +82 -130
  195. package/dist/Exit.js.map +1 -1
  196. package/dist/Fiber.d.ts +83 -147
  197. package/dist/Fiber.d.ts.map +1 -1
  198. package/dist/Fiber.js +48 -87
  199. package/dist/Fiber.js.map +1 -1
  200. package/dist/FiberHandle.d.ts +152 -105
  201. package/dist/FiberHandle.d.ts.map +1 -1
  202. package/dist/FiberHandle.js +109 -75
  203. package/dist/FiberHandle.js.map +1 -1
  204. package/dist/FiberMap.d.ts +213 -168
  205. package/dist/FiberMap.d.ts.map +1 -1
  206. package/dist/FiberMap.js +114 -89
  207. package/dist/FiberMap.js.map +1 -1
  208. package/dist/FiberSet.d.ts +123 -81
  209. package/dist/FiberSet.d.ts.map +1 -1
  210. package/dist/FiberSet.js +86 -60
  211. package/dist/FiberSet.js.map +1 -1
  212. package/dist/FileSystem.d.ts +154 -265
  213. package/dist/FileSystem.d.ts.map +1 -1
  214. package/dist/FileSystem.js +42 -147
  215. package/dist/FileSystem.js.map +1 -1
  216. package/dist/Filter.d.ts +61 -33
  217. package/dist/Filter.d.ts.map +1 -1
  218. package/dist/Filter.js +26 -15
  219. package/dist/Filter.js.map +1 -1
  220. package/dist/Formatter.d.ts +24 -32
  221. package/dist/Formatter.d.ts.map +1 -1
  222. package/dist/Formatter.js +55 -60
  223. package/dist/Formatter.js.map +1 -1
  224. package/dist/Function.d.ts +106 -148
  225. package/dist/Function.d.ts.map +1 -1
  226. package/dist/Function.js +81 -62
  227. package/dist/Function.js.map +1 -1
  228. package/dist/Graph.d.ts +360 -714
  229. package/dist/Graph.d.ts.map +1 -1
  230. package/dist/Graph.js +168 -297
  231. package/dist/Graph.js.map +1 -1
  232. package/dist/HKT.d.ts +12 -6
  233. package/dist/HKT.d.ts.map +1 -1
  234. package/dist/Hash.d.ts +47 -83
  235. package/dist/Hash.d.ts.map +1 -1
  236. package/dist/Hash.js +46 -68
  237. package/dist/Hash.js.map +1 -1
  238. package/dist/HashMap.d.ts +319 -411
  239. package/dist/HashMap.d.ts.map +1 -1
  240. package/dist/HashMap.js +122 -166
  241. package/dist/HashMap.js.map +1 -1
  242. package/dist/HashRing.d.ts.map +1 -1
  243. package/dist/HashRing.js +1 -0
  244. package/dist/HashRing.js.map +1 -1
  245. package/dist/HashSet.d.ts +177 -284
  246. package/dist/HashSet.d.ts.map +1 -1
  247. package/dist/HashSet.js +68 -109
  248. package/dist/HashSet.js.map +1 -1
  249. package/dist/Inspectable.d.ts +19 -18
  250. package/dist/Inspectable.d.ts.map +1 -1
  251. package/dist/Inspectable.js +20 -16
  252. package/dist/Inspectable.js.map +1 -1
  253. package/dist/Iterable.d.ts +620 -786
  254. package/dist/Iterable.d.ts.map +1 -1
  255. package/dist/Iterable.js +241 -317
  256. package/dist/Iterable.js.map +1 -1
  257. package/dist/JsonPatch.d.ts +11 -13
  258. package/dist/JsonPatch.d.ts.map +1 -1
  259. package/dist/JsonPatch.js +46 -103
  260. package/dist/JsonPatch.js.map +1 -1
  261. package/dist/JsonPointer.d.ts +8 -8
  262. package/dist/JsonPointer.js +8 -8
  263. package/dist/JsonPointer.js.map +1 -1
  264. package/dist/JsonSchema.d.ts +98 -44
  265. package/dist/JsonSchema.d.ts.map +1 -1
  266. package/dist/JsonSchema.js +319 -241
  267. package/dist/JsonSchema.js.map +1 -1
  268. package/dist/Latch.d.ts +23 -35
  269. package/dist/Latch.d.ts.map +1 -1
  270. package/dist/Latch.js +16 -28
  271. package/dist/Latch.js.map +1 -1
  272. package/dist/Layer.d.ts +362 -263
  273. package/dist/Layer.d.ts.map +1 -1
  274. package/dist/Layer.js +203 -181
  275. package/dist/Layer.js.map +1 -1
  276. package/dist/LayerMap.d.ts +42 -29
  277. package/dist/LayerMap.d.ts.map +1 -1
  278. package/dist/LayerMap.js +31 -21
  279. package/dist/LayerMap.js.map +1 -1
  280. package/dist/LayerRef.d.ts +6 -2
  281. package/dist/LayerRef.d.ts.map +1 -1
  282. package/dist/LayerRef.js +6 -2
  283. package/dist/LayerRef.js.map +1 -1
  284. package/dist/LogLevel.d.ts +114 -214
  285. package/dist/LogLevel.d.ts.map +1 -1
  286. package/dist/LogLevel.js +41 -76
  287. package/dist/LogLevel.js.map +1 -1
  288. package/dist/Logger.d.ts +219 -468
  289. package/dist/Logger.d.ts.map +1 -1
  290. package/dist/Logger.js +209 -454
  291. package/dist/Logger.js.map +1 -1
  292. package/dist/ManagedRuntime.d.ts +16 -5
  293. package/dist/ManagedRuntime.d.ts.map +1 -1
  294. package/dist/ManagedRuntime.js +10 -5
  295. package/dist/ManagedRuntime.js.map +1 -1
  296. package/dist/Match.d.ts +217 -252
  297. package/dist/Match.d.ts.map +1 -1
  298. package/dist/Match.js +150 -183
  299. package/dist/Match.js.map +1 -1
  300. package/dist/Metric.d.ts +442 -993
  301. package/dist/Metric.d.ts.map +1 -1
  302. package/dist/Metric.js +202 -645
  303. package/dist/Metric.js.map +1 -1
  304. package/dist/MutableHashMap.d.ts +144 -173
  305. package/dist/MutableHashMap.d.ts.map +1 -1
  306. package/dist/MutableHashMap.js +68 -79
  307. package/dist/MutableHashMap.js.map +1 -1
  308. package/dist/MutableHashSet.d.ts +84 -89
  309. package/dist/MutableHashSet.d.ts.map +1 -1
  310. package/dist/MutableHashSet.js +44 -47
  311. package/dist/MutableHashSet.js.map +1 -1
  312. package/dist/MutableList.d.ts +71 -370
  313. package/dist/MutableList.d.ts.map +1 -1
  314. package/dist/MutableList.js +63 -284
  315. package/dist/MutableList.js.map +1 -1
  316. package/dist/MutableRef.d.ts +420 -243
  317. package/dist/MutableRef.d.ts.map +1 -1
  318. package/dist/MutableRef.js +209 -120
  319. package/dist/MutableRef.js.map +1 -1
  320. package/dist/Newtype.d.ts +21 -14
  321. package/dist/Newtype.d.ts.map +1 -1
  322. package/dist/Newtype.js +15 -13
  323. package/dist/Newtype.js.map +1 -1
  324. package/dist/NonEmptyIterable.d.ts +7 -137
  325. package/dist/NonEmptyIterable.d.ts.map +1 -1
  326. package/dist/NonEmptyIterable.js +5 -93
  327. package/dist/NonEmptyIterable.js.map +1 -1
  328. package/dist/Number.d.ts +196 -233
  329. package/dist/Number.d.ts.map +1 -1
  330. package/dist/Number.js +90 -109
  331. package/dist/Number.js.map +1 -1
  332. package/dist/Optic.d.ts +132 -210
  333. package/dist/Optic.d.ts.map +1 -1
  334. package/dist/Optic.js +221 -324
  335. package/dist/Optic.js.map +1 -1
  336. package/dist/Option.d.ts +447 -812
  337. package/dist/Option.d.ts.map +1 -1
  338. package/dist/Option.js +213 -393
  339. package/dist/Option.js.map +1 -1
  340. package/dist/Order.d.ts +109 -109
  341. package/dist/Order.js +91 -91
  342. package/dist/Order.js.map +1 -1
  343. package/dist/Ordering.d.ts +20 -23
  344. package/dist/Ordering.d.ts.map +1 -1
  345. package/dist/Ordering.js +8 -9
  346. package/dist/Ordering.js.map +1 -1
  347. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  348. package/dist/PartitionedSemaphore.js +1 -4
  349. package/dist/PartitionedSemaphore.js.map +1 -1
  350. package/dist/Path.d.ts +38 -41
  351. package/dist/Path.d.ts.map +1 -1
  352. package/dist/Path.js +3 -4
  353. package/dist/Path.js.map +1 -1
  354. package/dist/Pipeable.d.ts +6 -5
  355. package/dist/Pipeable.d.ts.map +1 -1
  356. package/dist/Pipeable.js +2 -2
  357. package/dist/Pipeable.js.map +1 -1
  358. package/dist/PlatformError.d.ts +4 -4
  359. package/dist/PlatformError.js +3 -3
  360. package/dist/PlatformError.js.map +1 -1
  361. package/dist/Pool.d.ts +4 -2
  362. package/dist/Pool.d.ts.map +1 -1
  363. package/dist/Pool.js +4 -2
  364. package/dist/Pool.js.map +1 -1
  365. package/dist/Predicate.d.ts +200 -181
  366. package/dist/Predicate.d.ts.map +1 -1
  367. package/dist/Predicate.js +100 -108
  368. package/dist/Predicate.js.map +1 -1
  369. package/dist/PrimaryKey.d.ts +7 -7
  370. package/dist/PrimaryKey.js +5 -5
  371. package/dist/PrimaryKey.js.map +1 -1
  372. package/dist/PubSub.d.ts +425 -494
  373. package/dist/PubSub.d.ts.map +1 -1
  374. package/dist/PubSub.js +373 -362
  375. package/dist/PubSub.js.map +1 -1
  376. package/dist/Pull.d.ts +24 -18
  377. package/dist/Pull.d.ts.map +1 -1
  378. package/dist/Pull.js +11 -9
  379. package/dist/Pull.js.map +1 -1
  380. package/dist/Queue.d.ts +200 -159
  381. package/dist/Queue.d.ts.map +1 -1
  382. package/dist/Queue.js +166 -138
  383. package/dist/Queue.js.map +1 -1
  384. package/dist/Random.d.ts +49 -74
  385. package/dist/Random.d.ts.map +1 -1
  386. package/dist/Random.js +35 -54
  387. package/dist/Random.js.map +1 -1
  388. package/dist/RcMap.d.ts +121 -63
  389. package/dist/RcMap.d.ts.map +1 -1
  390. package/dist/RcMap.js +42 -21
  391. package/dist/RcMap.js.map +1 -1
  392. package/dist/RcRef.d.ts +24 -13
  393. package/dist/RcRef.d.ts.map +1 -1
  394. package/dist/RcRef.js +15 -9
  395. package/dist/RcRef.js.map +1 -1
  396. package/dist/Record.d.ts +361 -466
  397. package/dist/Record.d.ts.map +1 -1
  398. package/dist/Record.js +163 -216
  399. package/dist/Record.js.map +1 -1
  400. package/dist/Redactable.d.ts +6 -2
  401. package/dist/Redactable.d.ts.map +1 -1
  402. package/dist/Redactable.js +7 -2
  403. package/dist/Redactable.js.map +1 -1
  404. package/dist/Redacted.d.ts +25 -25
  405. package/dist/Redacted.d.ts.map +1 -1
  406. package/dist/Redacted.js +19 -20
  407. package/dist/Redacted.js.map +1 -1
  408. package/dist/Reducer.d.ts +8 -15
  409. package/dist/Reducer.d.ts.map +1 -1
  410. package/dist/Reducer.js +6 -12
  411. package/dist/Reducer.js.map +1 -1
  412. package/dist/Ref.d.ts +95 -165
  413. package/dist/Ref.d.ts.map +1 -1
  414. package/dist/Ref.js +75 -122
  415. package/dist/Ref.js.map +1 -1
  416. package/dist/References.d.ts +102 -213
  417. package/dist/References.d.ts.map +1 -1
  418. package/dist/References.js +102 -213
  419. package/dist/References.js.map +1 -1
  420. package/dist/RegExp.d.ts +10 -14
  421. package/dist/RegExp.d.ts.map +1 -1
  422. package/dist/RegExp.js +10 -14
  423. package/dist/RegExp.js.map +1 -1
  424. package/dist/Request.d.ts +31 -21
  425. package/dist/Request.d.ts.map +1 -1
  426. package/dist/Request.js +25 -19
  427. package/dist/Request.js.map +1 -1
  428. package/dist/RequestResolver.d.ts +201 -90
  429. package/dist/RequestResolver.d.ts.map +1 -1
  430. package/dist/RequestResolver.js +87 -41
  431. package/dist/RequestResolver.js.map +1 -1
  432. package/dist/Resource.js.map +1 -1
  433. package/dist/Result.d.ts +302 -470
  434. package/dist/Result.d.ts.map +1 -1
  435. package/dist/Result.js +135 -218
  436. package/dist/Result.js.map +1 -1
  437. package/dist/Runtime.d.ts +50 -75
  438. package/dist/Runtime.d.ts.map +1 -1
  439. package/dist/Runtime.js +39 -60
  440. package/dist/Runtime.js.map +1 -1
  441. package/dist/Schedule.d.ts +292 -1638
  442. package/dist/Schedule.d.ts.map +1 -1
  443. package/dist/Schedule.js +164 -805
  444. package/dist/Schedule.js.map +1 -1
  445. package/dist/Scheduler.d.ts +5 -5
  446. package/dist/Scheduler.d.ts.map +1 -1
  447. package/dist/Scheduler.js +18 -6
  448. package/dist/Scheduler.js.map +1 -1
  449. package/dist/Schema.d.ts +2056 -1269
  450. package/dist/Schema.d.ts.map +1 -1
  451. package/dist/Schema.js +2868 -1135
  452. package/dist/Schema.js.map +1 -1
  453. package/dist/SchemaAST.d.ts +64 -72
  454. package/dist/SchemaAST.d.ts.map +1 -1
  455. package/dist/SchemaAST.js +698 -468
  456. package/dist/SchemaAST.js.map +1 -1
  457. package/dist/SchemaGetter.d.ts +236 -188
  458. package/dist/SchemaGetter.d.ts.map +1 -1
  459. package/dist/SchemaGetter.js +281 -234
  460. package/dist/SchemaGetter.js.map +1 -1
  461. package/dist/SchemaIssue.d.ts +219 -190
  462. package/dist/SchemaIssue.d.ts.map +1 -1
  463. package/dist/SchemaIssue.js +303 -309
  464. package/dist/SchemaIssue.js.map +1 -1
  465. package/dist/SchemaParser.d.ts +32 -2
  466. package/dist/SchemaParser.d.ts.map +1 -1
  467. package/dist/SchemaParser.js +170 -118
  468. package/dist/SchemaParser.js.map +1 -1
  469. package/dist/SchemaRepresentation.d.ts +433 -1511
  470. package/dist/SchemaRepresentation.d.ts.map +1 -1
  471. package/dist/SchemaRepresentation.js +301 -2854
  472. package/dist/SchemaRepresentation.js.map +1 -1
  473. package/dist/SchemaTransformation.d.ts +117 -77
  474. package/dist/SchemaTransformation.d.ts.map +1 -1
  475. package/dist/SchemaTransformation.js +139 -104
  476. package/dist/SchemaTransformation.js.map +1 -1
  477. package/dist/Scope.d.ts +123 -151
  478. package/dist/Scope.d.ts.map +1 -1
  479. package/dist/Scope.js +72 -92
  480. package/dist/Scope.js.map +1 -1
  481. package/dist/ScopedCache.js +1 -1
  482. package/dist/ScopedCache.js.map +1 -1
  483. package/dist/ScopedRef.d.ts +3 -3
  484. package/dist/ScopedRef.d.ts.map +1 -1
  485. package/dist/ScopedRef.js +2 -2
  486. package/dist/ScopedRef.js.map +1 -1
  487. package/dist/Semaphore.d.ts +101 -13
  488. package/dist/Semaphore.d.ts.map +1 -1
  489. package/dist/Semaphore.js +78 -39
  490. package/dist/Semaphore.js.map +1 -1
  491. package/dist/Sink.d.ts +118 -108
  492. package/dist/Sink.d.ts.map +1 -1
  493. package/dist/Sink.js +107 -100
  494. package/dist/Sink.js.map +1 -1
  495. package/dist/Stdio.d.ts +18 -5
  496. package/dist/Stdio.d.ts.map +1 -1
  497. package/dist/Stdio.js +6 -3
  498. package/dist/Stdio.js.map +1 -1
  499. package/dist/Stream.d.ts +2467 -2962
  500. package/dist/Stream.d.ts.map +1 -1
  501. package/dist/Stream.js +1154 -1413
  502. package/dist/Stream.js.map +1 -1
  503. package/dist/String.d.ts +262 -308
  504. package/dist/String.d.ts.map +1 -1
  505. package/dist/String.js +184 -215
  506. package/dist/String.js.map +1 -1
  507. package/dist/Struct.d.ts +109 -114
  508. package/dist/Struct.d.ts.map +1 -1
  509. package/dist/Struct.js +46 -54
  510. package/dist/Struct.js.map +1 -1
  511. package/dist/SubscriptionRef.d.ts +282 -250
  512. package/dist/SubscriptionRef.d.ts.map +1 -1
  513. package/dist/SubscriptionRef.js +104 -92
  514. package/dist/SubscriptionRef.js.map +1 -1
  515. package/dist/Symbol.d.ts +3 -3
  516. package/dist/Symbol.js +3 -3
  517. package/dist/Symbol.js.map +1 -1
  518. package/dist/SynchronizedRef.js +1 -1
  519. package/dist/SynchronizedRef.js.map +1 -1
  520. package/dist/Take.js.map +1 -1
  521. package/dist/Terminal.d.ts +2 -2
  522. package/dist/Terminal.js +2 -2
  523. package/dist/Terminal.js.map +1 -1
  524. package/dist/Tracer.d.ts +100 -54
  525. package/dist/Tracer.d.ts.map +1 -1
  526. package/dist/Tracer.js +41 -24
  527. package/dist/Tracer.js.map +1 -1
  528. package/dist/Trie.d.ts +287 -679
  529. package/dist/Trie.d.ts.map +1 -1
  530. package/dist/Trie.js +109 -251
  531. package/dist/Trie.js.map +1 -1
  532. package/dist/Tuple.d.ts +98 -131
  533. package/dist/Tuple.d.ts.map +1 -1
  534. package/dist/Tuple.js +42 -57
  535. package/dist/Tuple.js.map +1 -1
  536. package/dist/TxChunk.d.ts +201 -121
  537. package/dist/TxChunk.d.ts.map +1 -1
  538. package/dist/TxChunk.js +85 -56
  539. package/dist/TxChunk.js.map +1 -1
  540. package/dist/TxDeferred.d.ts +62 -46
  541. package/dist/TxDeferred.d.ts.map +1 -1
  542. package/dist/TxDeferred.js +30 -22
  543. package/dist/TxDeferred.js.map +1 -1
  544. package/dist/TxHashMap.d.ts +631 -779
  545. package/dist/TxHashMap.d.ts.map +1 -1
  546. package/dist/TxHashMap.js +268 -330
  547. package/dist/TxHashMap.js.map +1 -1
  548. package/dist/TxHashSet.d.ts +297 -236
  549. package/dist/TxHashSet.d.ts.map +1 -1
  550. package/dist/TxHashSet.js +130 -100
  551. package/dist/TxHashSet.js.map +1 -1
  552. package/dist/TxPriorityQueue.d.ts +126 -95
  553. package/dist/TxPriorityQueue.d.ts.map +1 -1
  554. package/dist/TxPriorityQueue.js +74 -56
  555. package/dist/TxPriorityQueue.js.map +1 -1
  556. package/dist/TxPubSub.d.ts +101 -88
  557. package/dist/TxPubSub.d.ts.map +1 -1
  558. package/dist/TxPubSub.js +87 -66
  559. package/dist/TxPubSub.js.map +1 -1
  560. package/dist/TxQueue.d.ts +200 -180
  561. package/dist/TxQueue.d.ts.map +1 -1
  562. package/dist/TxQueue.js +161 -137
  563. package/dist/TxQueue.js.map +1 -1
  564. package/dist/TxReentrantLock.d.ts +89 -114
  565. package/dist/TxReentrantLock.d.ts.map +1 -1
  566. package/dist/TxReentrantLock.js +75 -53
  567. package/dist/TxReentrantLock.js.map +1 -1
  568. package/dist/TxRef.d.ts +51 -32
  569. package/dist/TxRef.d.ts.map +1 -1
  570. package/dist/TxRef.js +23 -15
  571. package/dist/TxRef.js.map +1 -1
  572. package/dist/TxSemaphore.d.ts +129 -95
  573. package/dist/TxSemaphore.d.ts.map +1 -1
  574. package/dist/TxSemaphore.js +85 -70
  575. package/dist/TxSemaphore.js.map +1 -1
  576. package/dist/TxSubscriptionRef.d.ts +97 -70
  577. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  578. package/dist/TxSubscriptionRef.js +44 -34
  579. package/dist/TxSubscriptionRef.js.map +1 -1
  580. package/dist/Types.d.ts +127 -70
  581. package/dist/Types.d.ts.map +1 -1
  582. package/dist/UndefinedOr.js.map +1 -1
  583. package/dist/Unify.d.ts +45 -65
  584. package/dist/Unify.d.ts.map +1 -1
  585. package/dist/Unify.js +6 -9
  586. package/dist/Unify.js.map +1 -1
  587. package/dist/Utils.d.ts +23 -16
  588. package/dist/Utils.d.ts.map +1 -1
  589. package/dist/Utils.js +3 -7
  590. package/dist/Utils.js.map +1 -1
  591. package/dist/index.d.ts +0 -8
  592. package/dist/index.d.ts.map +1 -1
  593. package/dist/index.js +0 -8
  594. package/dist/index.js.map +1 -1
  595. package/dist/internal/array.js.map +1 -1
  596. package/dist/internal/core.js +4 -3
  597. package/dist/internal/core.js.map +1 -1
  598. package/dist/internal/dateTime.js +5 -1
  599. package/dist/internal/dateTime.js.map +1 -1
  600. package/dist/internal/doNotation.js.map +1 -1
  601. package/dist/internal/effect.js +254 -114
  602. package/dist/internal/effect.js.map +1 -1
  603. package/dist/internal/equal.js.map +1 -1
  604. package/dist/internal/errors.js.map +1 -1
  605. package/dist/internal/executionPlan.js +52 -3
  606. package/dist/internal/executionPlan.js.map +1 -1
  607. package/dist/internal/hashMap.js +12 -8
  608. package/dist/internal/hashMap.js.map +1 -1
  609. package/dist/internal/hashSet.js.map +1 -1
  610. package/dist/internal/layer.js.map +1 -1
  611. package/dist/internal/matcher.js +2 -2
  612. package/dist/internal/matcher.js.map +1 -1
  613. package/dist/internal/metric.js.map +1 -1
  614. package/dist/internal/option.js.map +1 -1
  615. package/dist/internal/persistence.d.ts +2 -0
  616. package/dist/internal/persistence.d.ts.map +1 -0
  617. package/dist/internal/persistence.js +3 -0
  618. package/dist/internal/persistence.js.map +1 -0
  619. package/dist/internal/random.js.map +1 -1
  620. package/dist/internal/rcRef.js +18 -13
  621. package/dist/internal/rcRef.js.map +1 -1
  622. package/dist/internal/record.d.ts +0 -3
  623. package/dist/internal/record.d.ts.map +1 -1
  624. package/dist/internal/record.js +10 -5
  625. package/dist/internal/record.js.map +1 -1
  626. package/dist/internal/redacted.js.map +1 -1
  627. package/dist/internal/references.js +3 -4
  628. package/dist/internal/references.js.map +1 -1
  629. package/dist/internal/request.js.map +1 -1
  630. package/dist/internal/result.js.map +1 -1
  631. package/dist/internal/schedule.js.map +1 -1
  632. package/dist/internal/schema/annotations.js +15 -1
  633. package/dist/internal/schema/annotations.js.map +1 -1
  634. package/dist/internal/schema/cause.js.map +1 -1
  635. package/dist/internal/schema/fromJsonSchemaDocument.d.ts +2 -0
  636. package/dist/internal/schema/fromJsonSchemaDocument.d.ts.map +1 -0
  637. package/dist/internal/schema/fromJsonSchemaDocument.js +761 -0
  638. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -0
  639. package/dist/internal/schema/fromRepresentation.d.ts +2 -0
  640. package/dist/internal/schema/fromRepresentation.d.ts.map +1 -0
  641. package/dist/internal/schema/fromRepresentation.js +245 -0
  642. package/dist/internal/schema/fromRepresentation.js.map +1 -0
  643. package/dist/internal/schema/parser.d.ts +14 -0
  644. package/dist/internal/schema/parser.d.ts.map +1 -0
  645. package/dist/internal/schema/parser.js +13 -0
  646. package/dist/internal/schema/parser.js.map +1 -0
  647. package/dist/internal/schema/schema.js +29 -49
  648. package/dist/internal/schema/schema.js.map +1 -1
  649. package/dist/internal/schema/toArbitrary.d.ts +2 -0
  650. package/dist/internal/schema/toArbitrary.d.ts.map +1 -0
  651. package/dist/internal/schema/{arbitrary.js → toArbitrary.js} +8 -83
  652. package/dist/internal/schema/toArbitrary.js.map +1 -0
  653. package/dist/internal/schema/toCodeDocument.d.ts +2 -0
  654. package/dist/internal/schema/toCodeDocument.d.ts.map +1 -0
  655. package/dist/internal/schema/toCodeDocument.js +438 -0
  656. package/dist/internal/schema/toCodeDocument.js.map +1 -0
  657. package/dist/internal/schema/toEquivalence.d.ts +2 -0
  658. package/dist/internal/schema/toEquivalence.d.ts.map +1 -0
  659. package/dist/internal/schema/{equivalence.js → toEquivalence.js} +15 -13
  660. package/dist/internal/schema/toEquivalence.js.map +1 -0
  661. package/dist/internal/schema/toJsonSchemaDocument.d.ts +2 -0
  662. package/dist/internal/schema/toJsonSchemaDocument.d.ts.map +1 -0
  663. package/dist/internal/schema/toJsonSchemaDocument.js +522 -0
  664. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -0
  665. package/dist/internal/schema/toRepresentation.d.ts +2 -0
  666. package/dist/internal/schema/toRepresentation.d.ts.map +1 -0
  667. package/dist/internal/schema/toRepresentation.js +351 -0
  668. package/dist/internal/schema/toRepresentation.js.map +1 -0
  669. package/dist/internal/stackTraceLimit.js +3 -6
  670. package/dist/internal/stackTraceLimit.js.map +1 -1
  671. package/dist/internal/stream.js.map +1 -1
  672. package/dist/internal/tracer.js.map +1 -1
  673. package/dist/internal/trie.js +24 -10
  674. package/dist/internal/trie.js.map +1 -1
  675. package/dist/internal/uuid.d.ts +3 -0
  676. package/dist/internal/uuid.d.ts.map +1 -0
  677. package/dist/internal/uuid.js +30 -0
  678. package/dist/internal/uuid.js.map +1 -0
  679. package/dist/testing/FastCheck.d.ts +8 -7
  680. package/dist/testing/FastCheck.d.ts.map +1 -1
  681. package/dist/testing/FastCheck.js +8 -7
  682. package/dist/testing/FastCheck.js.map +1 -1
  683. package/dist/testing/TestClock.d.ts +58 -29
  684. package/dist/testing/TestClock.d.ts.map +1 -1
  685. package/dist/testing/TestClock.js +79 -24
  686. package/dist/testing/TestClock.js.map +1 -1
  687. package/dist/testing/TestConsole.d.ts +32 -31
  688. package/dist/testing/TestConsole.d.ts.map +1 -1
  689. package/dist/testing/TestConsole.js +24 -22
  690. package/dist/testing/TestConsole.js.map +1 -1
  691. package/dist/testing/TestSchema.d.ts +31 -31
  692. package/dist/testing/TestSchema.d.ts.map +1 -1
  693. package/dist/testing/TestSchema.js +35 -34
  694. package/dist/testing/TestSchema.js.map +1 -1
  695. package/dist/testing/index.js.map +1 -1
  696. package/dist/unstable/ai/AiError.d.ts +121 -144
  697. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  698. package/dist/unstable/ai/AiError.js +118 -140
  699. package/dist/unstable/ai/AiError.js.map +1 -1
  700. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +22 -7
  701. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  702. package/dist/unstable/ai/AnthropicStructuredOutput.js +87 -317
  703. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  704. package/dist/unstable/ai/Chat.d.ts +132 -97
  705. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  706. package/dist/unstable/ai/Chat.js +56 -52
  707. package/dist/unstable/ai/Chat.js.map +1 -1
  708. package/dist/unstable/ai/EmbeddingModel.d.ts +1 -1
  709. package/dist/unstable/ai/EmbeddingModel.js +1 -1
  710. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  711. package/dist/unstable/ai/IdGenerator.d.ts +32 -28
  712. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  713. package/dist/unstable/ai/IdGenerator.js +26 -21
  714. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  715. package/dist/unstable/ai/LanguageModel.d.ts +111 -68
  716. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  717. package/dist/unstable/ai/LanguageModel.js +127 -83
  718. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  719. package/dist/unstable/ai/McpProtocol.d.ts +116 -0
  720. package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
  721. package/dist/unstable/ai/McpProtocol.js +32 -0
  722. package/dist/unstable/ai/McpProtocol.js.map +1 -0
  723. package/dist/unstable/ai/McpSchema.d.ts +378 -223
  724. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  725. package/dist/unstable/ai/McpSchema.js +135 -87
  726. package/dist/unstable/ai/McpSchema.js.map +1 -1
  727. package/dist/unstable/ai/McpServer.d.ts +89 -100
  728. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  729. package/dist/unstable/ai/McpServer.js +1037 -361
  730. package/dist/unstable/ai/McpServer.js.map +1 -1
  731. package/dist/unstable/ai/Model.d.ts +8 -19
  732. package/dist/unstable/ai/Model.d.ts.map +1 -1
  733. package/dist/unstable/ai/Model.js +9 -20
  734. package/dist/unstable/ai/Model.js.map +1 -1
  735. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +33 -11
  736. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  737. package/dist/unstable/ai/OpenAiStructuredOutput.js +194 -378
  738. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  739. package/dist/unstable/ai/Prompt.d.ts +131 -44
  740. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  741. package/dist/unstable/ai/Prompt.js +100 -36
  742. package/dist/unstable/ai/Prompt.js.map +1 -1
  743. package/dist/unstable/ai/Response.d.ts +47 -33
  744. package/dist/unstable/ai/Response.d.ts.map +1 -1
  745. package/dist/unstable/ai/Response.js +23 -18
  746. package/dist/unstable/ai/Response.js.map +1 -1
  747. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  748. package/dist/unstable/ai/Telemetry.d.ts +46 -13
  749. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  750. package/dist/unstable/ai/Telemetry.js +18 -7
  751. package/dist/unstable/ai/Telemetry.js.map +1 -1
  752. package/dist/unstable/ai/Tokenizer.d.ts +14 -3
  753. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  754. package/dist/unstable/ai/Tokenizer.js +10 -2
  755. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  756. package/dist/unstable/ai/Tool.d.ts +63 -44
  757. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  758. package/dist/unstable/ai/Tool.js +59 -42
  759. package/dist/unstable/ai/Tool.js.map +1 -1
  760. package/dist/unstable/ai/Toolkit.d.ts +35 -9
  761. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  762. package/dist/unstable/ai/Toolkit.js +32 -14
  763. package/dist/unstable/ai/Toolkit.js.map +1 -1
  764. package/dist/unstable/ai/index.d.ts +4 -0
  765. package/dist/unstable/ai/index.d.ts.map +1 -1
  766. package/dist/unstable/ai/index.js +4 -0
  767. package/dist/unstable/ai/index.js.map +1 -1
  768. package/dist/unstable/ai/internal/codec-transformer.js +15 -12
  769. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  770. package/dist/unstable/ai/internal/mcpCore.d.ts +7 -0
  771. package/dist/unstable/ai/internal/mcpCore.d.ts.map +1 -0
  772. package/dist/unstable/ai/internal/mcpCore.js +152 -0
  773. package/dist/unstable/ai/internal/mcpCore.js.map +1 -0
  774. package/dist/unstable/ai/internal/mcpProtocol/v2024_11_05.d.ts +2 -0
  775. package/dist/unstable/ai/internal/mcpProtocol/v2024_11_05.d.ts.map +1 -0
  776. package/dist/unstable/ai/internal/mcpProtocol/v2024_11_05.js +259 -0
  777. package/dist/unstable/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -0
  778. package/dist/unstable/ai/internal/mcpProtocol/v2025_03_26.d.ts +2 -0
  779. package/dist/unstable/ai/internal/mcpProtocol/v2025_03_26.d.ts.map +1 -0
  780. package/dist/unstable/ai/internal/mcpProtocol/v2025_03_26.js +279 -0
  781. package/dist/unstable/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -0
  782. package/dist/unstable/ai/internal/mcpProtocol/v2025_06_18.d.ts +2 -0
  783. package/dist/unstable/ai/internal/mcpProtocol/v2025_06_18.d.ts.map +1 -0
  784. package/dist/unstable/ai/internal/mcpProtocol/v2025_06_18.js +281 -0
  785. package/dist/unstable/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -0
  786. package/dist/unstable/ai/internal/mcpProtocol.d.ts +2 -0
  787. package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
  788. package/dist/unstable/ai/internal/mcpProtocol.js +153 -0
  789. package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
  790. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
  791. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
  792. package/dist/unstable/ai/internal/mcpProtocolRegistry.js +47 -0
  793. package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
  794. package/dist/unstable/ai/internal/mcpSchema/v2024_11_05.d.ts +1185 -0
  795. package/dist/unstable/ai/internal/mcpSchema/v2024_11_05.d.ts.map +1 -0
  796. package/dist/unstable/ai/internal/mcpSchema/v2024_11_05.js +404 -0
  797. package/dist/unstable/ai/internal/mcpSchema/v2024_11_05.js.map +1 -0
  798. package/dist/unstable/ai/internal/mcpSchema/v2025_03_26.d.ts +825 -0
  799. package/dist/unstable/ai/internal/mcpSchema/v2025_03_26.d.ts.map +1 -0
  800. package/dist/unstable/ai/internal/mcpSchema/v2025_03_26.js +138 -0
  801. package/dist/unstable/ai/internal/mcpSchema/v2025_03_26.js.map +1 -0
  802. package/dist/unstable/ai/internal/mcpSchema/v2025_06_18.d.ts +1462 -0
  803. package/dist/unstable/ai/internal/mcpSchema/v2025_06_18.d.ts.map +1 -0
  804. package/dist/unstable/ai/internal/mcpSchema/v2025_06_18.js +309 -0
  805. package/dist/unstable/ai/internal/mcpSchema/v2025_06_18.js.map +1 -0
  806. package/dist/unstable/ai/internal/structured-output.d.ts +2 -0
  807. package/dist/unstable/ai/internal/structured-output.d.ts.map +1 -0
  808. package/dist/unstable/ai/internal/structured-output.js +315 -0
  809. package/dist/unstable/ai/internal/structured-output.js.map +1 -0
  810. package/dist/unstable/cli/Argument.d.ts +279 -72
  811. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  812. package/dist/unstable/cli/Argument.js +113 -34
  813. package/dist/unstable/cli/Argument.js.map +1 -1
  814. package/dist/unstable/cli/CliConfig.js.map +1 -1
  815. package/dist/unstable/cli/CliError.d.ts +126 -76
  816. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  817. package/dist/unstable/cli/CliError.js +136 -76
  818. package/dist/unstable/cli/CliError.js.map +1 -1
  819. package/dist/unstable/cli/CliOutput.d.ts +35 -54
  820. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  821. package/dist/unstable/cli/CliOutput.js +26 -42
  822. package/dist/unstable/cli/CliOutput.js.map +1 -1
  823. package/dist/unstable/cli/Command.d.ts +736 -115
  824. package/dist/unstable/cli/Command.d.ts.map +1 -1
  825. package/dist/unstable/cli/Command.js +282 -56
  826. package/dist/unstable/cli/Command.js.map +1 -1
  827. package/dist/unstable/cli/Completions.js.map +1 -1
  828. package/dist/unstable/cli/Flag.d.ts +418 -138
  829. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  830. package/dist/unstable/cli/Flag.js +197 -71
  831. package/dist/unstable/cli/Flag.js.map +1 -1
  832. package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
  833. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  834. package/dist/unstable/cli/HelpDoc.d.ts +12 -4
  835. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  836. package/dist/unstable/cli/Param.d.ts +299 -83
  837. package/dist/unstable/cli/Param.d.ts.map +1 -1
  838. package/dist/unstable/cli/Param.js +146 -60
  839. package/dist/unstable/cli/Param.js.map +1 -1
  840. package/dist/unstable/cli/Primitive.d.ts +370 -149
  841. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  842. package/dist/unstable/cli/Primitive.js +377 -162
  843. package/dist/unstable/cli/Primitive.js.map +1 -1
  844. package/dist/unstable/cli/Prompt.d.ts +23 -14
  845. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  846. package/dist/unstable/cli/Prompt.js +54 -31
  847. package/dist/unstable/cli/Prompt.js.map +1 -1
  848. package/dist/unstable/cli/index.js.map +1 -1
  849. package/dist/unstable/cli/internal/ansi.js +2 -2
  850. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  851. package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
  852. package/dist/unstable/cli/internal/command.d.ts +5 -3
  853. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  854. package/dist/unstable/cli/internal/command.js +21 -13
  855. package/dist/unstable/cli/internal/command.js.map +1 -1
  856. package/dist/unstable/cli/internal/completions/bash.js +69 -9
  857. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  858. package/dist/unstable/cli/internal/completions/descriptor.js +24 -18
  859. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  860. package/dist/unstable/cli/internal/completions/fish.js +5 -5
  861. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  862. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  863. package/dist/unstable/cli/internal/config.d.ts +0 -48
  864. package/dist/unstable/cli/internal/config.d.ts.map +1 -1
  865. package/dist/unstable/cli/internal/config.js +8 -10
  866. package/dist/unstable/cli/internal/config.js.map +1 -1
  867. package/dist/unstable/cli/internal/help.d.ts.map +1 -1
  868. package/dist/unstable/cli/internal/help.js +4 -2
  869. package/dist/unstable/cli/internal/help.js.map +1 -1
  870. package/dist/unstable/cli/internal/lexer.js +17 -7
  871. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  872. package/dist/unstable/cli/internal/parser.js +5 -5
  873. package/dist/unstable/cli/internal/parser.js.map +1 -1
  874. package/dist/unstable/cli/internal/wizard.js +2 -2
  875. package/dist/unstable/cli/internal/wizard.js.map +1 -1
  876. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  877. package/dist/unstable/cluster/ClusterError.d.ts +3 -1
  878. package/dist/unstable/cluster/ClusterError.d.ts.map +1 -1
  879. package/dist/unstable/cluster/ClusterError.js +10 -8
  880. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  881. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  882. package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
  883. package/dist/unstable/cluster/ClusterSchema.js +8 -8
  884. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  885. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  886. package/dist/unstable/cluster/ClusterWorkflowEngine.js +43 -21
  887. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  888. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  889. package/dist/unstable/cluster/Entity.d.ts +12 -12
  890. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  891. package/dist/unstable/cluster/Entity.js +9 -9
  892. package/dist/unstable/cluster/Entity.js.map +1 -1
  893. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  894. package/dist/unstable/cluster/EntityId.js.map +1 -1
  895. package/dist/unstable/cluster/EntityProxy.d.ts +7 -5
  896. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  897. package/dist/unstable/cluster/EntityProxy.js +8 -5
  898. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  899. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  900. package/dist/unstable/cluster/EntityResource.d.ts +4 -4
  901. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  902. package/dist/unstable/cluster/EntityResource.js +14 -2
  903. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  904. package/dist/unstable/cluster/EntityType.js.map +1 -1
  905. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  906. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  907. package/dist/unstable/cluster/Envelope.js +5 -4
  908. package/dist/unstable/cluster/Envelope.js.map +1 -1
  909. package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
  910. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  911. package/dist/unstable/cluster/HttpRunner.js +6 -4
  912. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  913. package/dist/unstable/cluster/K8sHttpClient.d.ts +2 -2
  914. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  915. package/dist/unstable/cluster/K8sHttpClient.js +8 -0
  916. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  917. package/dist/unstable/cluster/K8sTypes.d.ts +2327 -0
  918. package/dist/unstable/cluster/K8sTypes.d.ts.map +1 -0
  919. package/dist/unstable/cluster/K8sTypes.js +29 -0
  920. package/dist/unstable/cluster/K8sTypes.js.map +1 -0
  921. package/dist/unstable/cluster/MachineId.js.map +1 -1
  922. package/dist/unstable/cluster/Message.d.ts +9 -9
  923. package/dist/unstable/cluster/Message.js +6 -6
  924. package/dist/unstable/cluster/Message.js.map +1 -1
  925. package/dist/unstable/cluster/MessageStorage.d.ts +66 -22
  926. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  927. package/dist/unstable/cluster/MessageStorage.js +56 -13
  928. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  929. package/dist/unstable/cluster/Reply.d.ts +8 -0
  930. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  931. package/dist/unstable/cluster/Reply.js +17 -5
  932. package/dist/unstable/cluster/Reply.js.map +1 -1
  933. package/dist/unstable/cluster/Runner.d.ts +1 -1
  934. package/dist/unstable/cluster/Runner.js +1 -1
  935. package/dist/unstable/cluster/Runner.js.map +1 -1
  936. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  937. package/dist/unstable/cluster/RunnerAddress.js +1 -1
  938. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  939. package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
  940. package/dist/unstable/cluster/RunnerHealth.js +1 -1
  941. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  942. package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
  943. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  944. package/dist/unstable/cluster/RunnerServer.js +29 -23
  945. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  946. package/dist/unstable/cluster/RunnerStorage.d.ts +3 -4
  947. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  948. package/dist/unstable/cluster/RunnerStorage.js +8 -7
  949. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  950. package/dist/unstable/cluster/Runners.d.ts +11 -15
  951. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  952. package/dist/unstable/cluster/Runners.js +32 -22
  953. package/dist/unstable/cluster/Runners.js.map +1 -1
  954. package/dist/unstable/cluster/ShardId.js +1 -1
  955. package/dist/unstable/cluster/ShardId.js.map +1 -1
  956. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  957. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  958. package/dist/unstable/cluster/Sharding.js +293 -46
  959. package/dist/unstable/cluster/Sharding.js.map +1 -1
  960. package/dist/unstable/cluster/ShardingConfig.d.ts +57 -5
  961. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  962. package/dist/unstable/cluster/ShardingConfig.js +11 -3
  963. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  964. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  965. package/dist/unstable/cluster/SingleRunner.d.ts +4 -2
  966. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  967. package/dist/unstable/cluster/SingleRunner.js +2 -1
  968. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  969. package/dist/unstable/cluster/Singleton.js.map +1 -1
  970. package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
  971. package/dist/unstable/cluster/SingletonAddress.js +1 -1
  972. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  973. package/dist/unstable/cluster/Snowflake.d.ts +8 -8
  974. package/dist/unstable/cluster/Snowflake.js +8 -8
  975. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  976. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  977. package/dist/unstable/cluster/SqlMessageStorage.d.ts +21 -9
  978. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  979. package/dist/unstable/cluster/SqlMessageStorage.js +130 -43
  980. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  981. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  982. package/dist/unstable/cluster/SqlRunnerStorage.js +141 -79
  983. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  984. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  985. package/dist/unstable/cluster/index.d.ts +4 -0
  986. package/dist/unstable/cluster/index.d.ts.map +1 -1
  987. package/dist/unstable/cluster/index.js +4 -0
  988. package/dist/unstable/cluster/index.js.map +1 -1
  989. package/dist/unstable/cluster/internal/entityManager.js +33 -13
  990. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  991. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  992. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  993. package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
  994. package/dist/unstable/cluster/internal/resourceMap.js +8 -2
  995. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  996. package/dist/unstable/cluster/internal/resourceRef.js +17 -0
  997. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  998. package/dist/unstable/cluster/internal/shardLock.d.ts +2 -0
  999. package/dist/unstable/cluster/internal/shardLock.d.ts.map +1 -0
  1000. package/dist/unstable/cluster/internal/shardLock.js +4 -0
  1001. package/dist/unstable/cluster/internal/shardLock.js.map +1 -0
  1002. package/dist/unstable/devtools/DevTools.js.map +1 -1
  1003. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  1004. package/dist/unstable/devtools/DevToolsClient.js +7 -2
  1005. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  1006. package/dist/unstable/devtools/DevToolsSchema.d.ts +20 -20
  1007. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  1008. package/dist/unstable/devtools/DevToolsSchema.js +8 -5
  1009. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  1010. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  1011. package/dist/unstable/devtools/index.js.map +1 -1
  1012. package/dist/unstable/encoding/Ini.d.ts +20 -0
  1013. package/dist/unstable/encoding/Ini.d.ts.map +1 -0
  1014. package/dist/unstable/encoding/Ini.js +153 -0
  1015. package/dist/unstable/encoding/Ini.js.map +1 -0
  1016. package/dist/unstable/encoding/Msgpack.d.ts +2 -1
  1017. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  1018. package/dist/unstable/encoding/Msgpack.js +31 -19
  1019. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  1020. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  1021. package/dist/unstable/encoding/Ndjson.js +7 -1
  1022. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  1023. package/dist/unstable/encoding/Sse.d.ts +72 -8
  1024. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  1025. package/dist/unstable/encoding/Sse.js +72 -31
  1026. package/dist/unstable/encoding/Sse.js.map +1 -1
  1027. package/dist/unstable/encoding/Toml.d.ts +19 -0
  1028. package/dist/unstable/encoding/Toml.d.ts.map +1 -0
  1029. package/dist/unstable/encoding/Toml.js +434 -0
  1030. package/dist/unstable/encoding/Toml.js.map +1 -0
  1031. package/dist/unstable/encoding/Yaml.d.ts +19 -0
  1032. package/dist/unstable/encoding/Yaml.d.ts.map +1 -0
  1033. package/dist/unstable/encoding/Yaml.js +461 -0
  1034. package/dist/unstable/encoding/Yaml.js.map +1 -0
  1035. package/dist/unstable/encoding/index.d.ts +12 -0
  1036. package/dist/unstable/encoding/index.d.ts.map +1 -1
  1037. package/dist/unstable/encoding/index.js +12 -0
  1038. package/dist/unstable/encoding/index.js.map +1 -1
  1039. package/dist/unstable/eventlog/Event.d.ts +20 -20
  1040. package/dist/unstable/eventlog/Event.js.map +1 -1
  1041. package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
  1042. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  1043. package/dist/unstable/eventlog/EventJournal.d.ts +30 -17
  1044. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  1045. package/dist/unstable/eventlog/EventJournal.js +30 -35
  1046. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  1047. package/dist/unstable/eventlog/EventLog.d.ts +3 -3
  1048. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  1049. package/dist/unstable/eventlog/EventLog.js +18 -14
  1050. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  1051. package/dist/unstable/eventlog/EventLogEncryption.d.ts +8 -7
  1052. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  1053. package/dist/unstable/eventlog/EventLogEncryption.js +16 -14
  1054. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  1055. package/dist/unstable/eventlog/EventLogMessage.d.ts +31 -31
  1056. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  1057. package/dist/unstable/eventlog/EventLogMessage.js +12 -8
  1058. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  1059. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
  1060. package/dist/unstable/eventlog/EventLogRemote.js +5 -5
  1061. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  1062. package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
  1063. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  1064. package/dist/unstable/eventlog/EventLogServer.js +45 -21
  1065. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  1066. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
  1067. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  1068. package/dist/unstable/eventlog/EventLogServerEncrypted.js +17 -8
  1069. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  1070. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
  1071. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  1072. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +15 -7
  1073. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  1074. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
  1075. package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
  1076. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  1077. package/dist/unstable/eventlog/SqlEventJournal.d.ts +10 -0
  1078. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  1079. package/dist/unstable/eventlog/SqlEventJournal.js +4 -7
  1080. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  1081. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +1 -1
  1082. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  1083. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +3 -3
  1084. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  1085. package/dist/unstable/eventlog/index.js.map +1 -1
  1086. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  1087. package/dist/unstable/http/Cookies.d.ts +2 -2
  1088. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  1089. package/dist/unstable/http/Cookies.js +54 -40
  1090. package/dist/unstable/http/Cookies.js.map +1 -1
  1091. package/dist/unstable/http/Etag.d.ts +1 -1
  1092. package/dist/unstable/http/Etag.js +1 -1
  1093. package/dist/unstable/http/Etag.js.map +1 -1
  1094. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  1095. package/dist/unstable/http/FetchHttpClient.js +1 -1
  1096. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  1097. package/dist/unstable/http/FindMyWay/internal/queryString.d.ts +11 -0
  1098. package/dist/unstable/http/FindMyWay/internal/queryString.d.ts.map +1 -0
  1099. package/dist/unstable/http/FindMyWay/internal/queryString.js +259 -0
  1100. package/dist/unstable/http/FindMyWay/internal/queryString.js.map +1 -0
  1101. package/dist/unstable/http/FindMyWay/internal/router.d.ts +2 -0
  1102. package/dist/unstable/http/FindMyWay/internal/router.d.ts.map +1 -0
  1103. package/dist/unstable/http/FindMyWay/internal/router.js +665 -0
  1104. package/dist/unstable/http/FindMyWay/internal/router.js.map +1 -0
  1105. package/dist/unstable/http/FindMyWay.d.ts +33 -8
  1106. package/dist/unstable/http/FindMyWay.d.ts.map +1 -1
  1107. package/dist/unstable/http/FindMyWay.js +4 -7
  1108. package/dist/unstable/http/FindMyWay.js.map +1 -1
  1109. package/dist/unstable/http/Headers.d.ts +2 -2
  1110. package/dist/unstable/http/Headers.js +10 -10
  1111. package/dist/unstable/http/Headers.js.map +1 -1
  1112. package/dist/unstable/http/HttpBody.d.ts +5 -3
  1113. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  1114. package/dist/unstable/http/HttpBody.js +11 -5
  1115. package/dist/unstable/http/HttpBody.js.map +1 -1
  1116. package/dist/unstable/http/HttpClient.d.ts +110 -47
  1117. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  1118. package/dist/unstable/http/HttpClient.js +79 -36
  1119. package/dist/unstable/http/HttpClient.js.map +1 -1
  1120. package/dist/unstable/http/HttpClientError.js +1 -1
  1121. package/dist/unstable/http/HttpClientError.js.map +1 -1
  1122. package/dist/unstable/http/HttpClientRequest.d.ts +44 -0
  1123. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  1124. package/dist/unstable/http/HttpClientRequest.js +16 -12
  1125. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  1126. package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
  1127. package/dist/unstable/http/HttpClientResponse.js +3 -18
  1128. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  1129. package/dist/unstable/http/HttpEffect.d.ts +7 -9
  1130. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  1131. package/dist/unstable/http/HttpEffect.js +14 -15
  1132. package/dist/unstable/http/HttpEffect.js.map +1 -1
  1133. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  1134. package/dist/unstable/http/HttpMethod.d.ts +6 -9
  1135. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  1136. package/dist/unstable/http/HttpMethod.js +6 -9
  1137. package/dist/unstable/http/HttpMethod.js.map +1 -1
  1138. package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
  1139. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  1140. package/dist/unstable/http/HttpMiddleware.js +164 -39
  1141. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  1142. package/dist/unstable/http/HttpPlatform.d.ts +76 -0
  1143. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  1144. package/dist/unstable/http/HttpPlatform.js +53 -3
  1145. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  1146. package/dist/unstable/http/HttpRouter.d.ts +91 -92
  1147. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  1148. package/dist/unstable/http/HttpRouter.js +79 -80
  1149. package/dist/unstable/http/HttpRouter.js.map +1 -1
  1150. package/dist/unstable/http/HttpServer.d.ts +13 -13
  1151. package/dist/unstable/http/HttpServer.js +6 -6
  1152. package/dist/unstable/http/HttpServer.js.map +1 -1
  1153. package/dist/unstable/http/HttpServerError.d.ts +2 -2
  1154. package/dist/unstable/http/HttpServerError.js +2 -2
  1155. package/dist/unstable/http/HttpServerError.js.map +1 -1
  1156. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  1157. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  1158. package/dist/unstable/http/HttpServerRequest.js +23 -15
  1159. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  1160. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  1161. package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
  1162. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  1163. package/dist/unstable/http/HttpServerResponse.js +17 -5
  1164. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  1165. package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
  1166. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  1167. package/dist/unstable/http/HttpStaticServer.js +35 -7
  1168. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  1169. package/dist/unstable/http/HttpStatus.d.ts +99 -0
  1170. package/dist/unstable/http/HttpStatus.d.ts.map +1 -0
  1171. package/dist/unstable/http/HttpStatus.js +91 -0
  1172. package/dist/unstable/http/HttpStatus.js.map +1 -0
  1173. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  1174. package/dist/unstable/http/Multipart.d.ts +28 -9
  1175. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  1176. package/dist/unstable/http/Multipart.js +65 -35
  1177. package/dist/unstable/http/Multipart.js.map +1 -1
  1178. package/dist/unstable/http/MultipartParser/HeadersParser.d.ts +53 -0
  1179. package/dist/unstable/http/MultipartParser/HeadersParser.d.ts.map +1 -0
  1180. package/dist/unstable/http/MultipartParser/HeadersParser.js +14 -0
  1181. package/dist/unstable/http/MultipartParser/HeadersParser.js.map +1 -0
  1182. package/dist/unstable/http/MultipartParser/Search.d.ts +11 -0
  1183. package/dist/unstable/http/MultipartParser/Search.d.ts.map +1 -0
  1184. package/dist/unstable/http/MultipartParser/Search.js +14 -0
  1185. package/dist/unstable/http/MultipartParser/Search.js.map +1 -0
  1186. package/dist/unstable/http/MultipartParser/internal/contentType.d.ts +5 -0
  1187. package/dist/unstable/http/MultipartParser/internal/contentType.d.ts.map +1 -0
  1188. package/dist/unstable/http/MultipartParser/internal/contentType.js +82 -0
  1189. package/dist/unstable/http/MultipartParser/internal/contentType.js.map +1 -0
  1190. package/dist/unstable/http/MultipartParser/internal/headers.d.ts +3 -0
  1191. package/dist/unstable/http/MultipartParser/internal/headers.d.ts.map +1 -0
  1192. package/dist/unstable/http/MultipartParser/internal/headers.js +208 -0
  1193. package/dist/unstable/http/MultipartParser/internal/headers.js.map +1 -0
  1194. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts +8 -0
  1195. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts.map +1 -0
  1196. package/dist/unstable/http/MultipartParser/internal/multipart.js +241 -0
  1197. package/dist/unstable/http/MultipartParser/internal/multipart.js.map +1 -0
  1198. package/dist/unstable/http/MultipartParser/internal/search.d.ts +5 -0
  1199. package/dist/unstable/http/MultipartParser/internal/search.d.ts.map +1 -0
  1200. package/dist/unstable/http/MultipartParser/internal/search.js +120 -0
  1201. package/dist/unstable/http/MultipartParser/internal/search.js.map +1 -0
  1202. package/dist/unstable/http/MultipartParser.d.ts +98 -0
  1203. package/dist/unstable/http/MultipartParser.d.ts.map +1 -0
  1204. package/dist/unstable/http/MultipartParser.js +23 -0
  1205. package/dist/unstable/http/MultipartParser.js.map +1 -0
  1206. package/dist/unstable/http/Template.d.ts.map +1 -1
  1207. package/dist/unstable/http/Template.js +3 -3
  1208. package/dist/unstable/http/Template.js.map +1 -1
  1209. package/dist/unstable/http/Url.d.ts +33 -63
  1210. package/dist/unstable/http/Url.d.ts.map +1 -1
  1211. package/dist/unstable/http/Url.js +14 -28
  1212. package/dist/unstable/http/Url.js.map +1 -1
  1213. package/dist/unstable/http/UrlParams.d.ts +10 -18
  1214. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  1215. package/dist/unstable/http/UrlParams.js +26 -31
  1216. package/dist/unstable/http/UrlParams.js.map +1 -1
  1217. package/dist/unstable/http/index.d.ts +5 -1
  1218. package/dist/unstable/http/index.d.ts.map +1 -1
  1219. package/dist/unstable/http/index.js +5 -1
  1220. package/dist/unstable/http/index.js.map +1 -1
  1221. package/dist/unstable/http/internal/compression.d.ts +2 -0
  1222. package/dist/unstable/http/internal/compression.d.ts.map +1 -0
  1223. package/dist/unstable/http/internal/compression.js +155 -0
  1224. package/dist/unstable/http/internal/compression.js.map +1 -0
  1225. package/dist/unstable/http/internal/httpBody.d.ts +2 -0
  1226. package/dist/unstable/http/internal/httpBody.d.ts.map +1 -0
  1227. package/dist/unstable/http/internal/httpBody.js +10 -0
  1228. package/dist/unstable/http/internal/httpBody.js.map +1 -0
  1229. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
  1230. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  1231. package/dist/unstable/httpapi/HttpApi.js +9 -9
  1232. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  1233. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
  1234. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  1235. package/dist/unstable/httpapi/HttpApiBuilder.js +82 -30
  1236. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  1237. package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
  1238. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  1239. package/dist/unstable/httpapi/HttpApiClient.js +89 -51
  1240. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  1241. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +48 -46
  1242. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  1243. package/dist/unstable/httpapi/HttpApiEndpoint.js +73 -16
  1244. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  1245. package/dist/unstable/httpapi/HttpApiError.d.ts +18 -18
  1246. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  1247. package/dist/unstable/httpapi/HttpApiError.js +30 -30
  1248. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  1249. package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
  1250. package/dist/unstable/httpapi/HttpApiGroup.js +2 -2
  1251. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  1252. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
  1253. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  1254. package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
  1255. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  1256. package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
  1257. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  1258. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  1259. package/dist/unstable/httpapi/HttpApiSchema.d.ts +227 -71
  1260. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  1261. package/dist/unstable/httpapi/HttpApiSchema.js +176 -69
  1262. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  1263. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  1264. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  1265. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  1266. package/dist/unstable/httpapi/OpenApi.d.ts +21 -13
  1267. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  1268. package/dist/unstable/httpapi/OpenApi.js +110 -57
  1269. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  1270. package/dist/unstable/httpapi/index.js.map +1 -1
  1271. package/dist/unstable/httpapi/internal/html.js.map +1 -1
  1272. package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
  1273. package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
  1274. package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
  1275. package/dist/unstable/observability/Otlp.js.map +1 -1
  1276. package/dist/unstable/observability/OtlpExporter.d.ts +71 -2
  1277. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  1278. package/dist/unstable/observability/OtlpExporter.js +86 -7
  1279. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  1280. package/dist/unstable/observability/OtlpLogger.d.ts +4 -3
  1281. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  1282. package/dist/unstable/observability/OtlpLogger.js +4 -4
  1283. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  1284. package/dist/unstable/observability/OtlpMetrics.d.ts +11 -4
  1285. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  1286. package/dist/unstable/observability/OtlpMetrics.js +31 -15
  1287. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  1288. package/dist/unstable/observability/OtlpResource.d.ts +16 -7
  1289. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  1290. package/dist/unstable/observability/OtlpResource.js +21 -12
  1291. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  1292. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  1293. package/dist/unstable/observability/OtlpTracer.d.ts +4 -3
  1294. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  1295. package/dist/unstable/observability/OtlpTracer.js +3 -3
  1296. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  1297. package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
  1298. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  1299. package/dist/unstable/observability/PrometheusMetrics.js +10 -3
  1300. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  1301. package/dist/unstable/observability/index.js.map +1 -1
  1302. package/dist/unstable/observability/internal/otlpEnv.js +1 -1
  1303. package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
  1304. package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
  1305. package/dist/unstable/observability/internal/protobuf.js +3 -0
  1306. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  1307. package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
  1308. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  1309. package/dist/unstable/persistence/KeyValueStore.js +22 -13
  1310. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1311. package/dist/unstable/persistence/Persistable.d.ts +8 -8
  1312. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  1313. package/dist/unstable/persistence/Persistable.js +2 -1
  1314. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1315. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1316. package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
  1317. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  1318. package/dist/unstable/persistence/PersistedQueue.js +97 -86
  1319. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1320. package/dist/unstable/persistence/Persistence.d.ts +3 -3
  1321. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1322. package/dist/unstable/persistence/Persistence.js +108 -22
  1323. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1324. package/dist/unstable/persistence/RateLimiter.d.ts +47 -26
  1325. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1326. package/dist/unstable/persistence/RateLimiter.js +31 -47
  1327. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1328. package/dist/unstable/persistence/Redis.d.ts +2 -2
  1329. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  1330. package/dist/unstable/persistence/Redis.js +4 -4
  1331. package/dist/unstable/persistence/Redis.js.map +1 -1
  1332. package/dist/unstable/persistence/index.js.map +1 -1
  1333. package/dist/unstable/process/ChildProcess.d.ts +72 -21
  1334. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1335. package/dist/unstable/process/ChildProcess.js +14 -5
  1336. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1337. package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
  1338. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1339. package/dist/unstable/process/ChildProcessSpawner.js +4 -2
  1340. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1341. package/dist/unstable/process/index.js.map +1 -1
  1342. package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
  1343. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1344. package/dist/unstable/reactivity/AsyncResult.js +14 -13
  1345. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1346. package/dist/unstable/reactivity/Atom.d.ts +131 -30
  1347. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1348. package/dist/unstable/reactivity/Atom.js +55 -43
  1349. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1350. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
  1351. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1352. package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
  1353. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1354. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1355. package/dist/unstable/reactivity/AtomRegistry.js +25 -4
  1356. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1357. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  1358. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1359. package/dist/unstable/reactivity/AtomRpc.js +4 -1
  1360. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1361. package/dist/unstable/reactivity/Hydration.d.ts +1 -1
  1362. package/dist/unstable/reactivity/Hydration.js +1 -1
  1363. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1364. package/dist/unstable/reactivity/Reactivity.js +1 -1
  1365. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1366. package/dist/unstable/reactivity/index.js.map +1 -1
  1367. package/dist/unstable/rpc/Rpc.d.ts +35 -33
  1368. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1369. package/dist/unstable/rpc/Rpc.js +4 -2
  1370. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1371. package/dist/unstable/rpc/RpcClient.d.ts +26 -12
  1372. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1373. package/dist/unstable/rpc/RpcClient.js +41 -23
  1374. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1375. package/dist/unstable/rpc/RpcClientError.js +2 -2
  1376. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1377. package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
  1378. package/dist/unstable/rpc/RpcGroup.js +2 -2
  1379. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1380. package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
  1381. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1382. package/dist/unstable/rpc/RpcMessage.js +6 -6
  1383. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1384. package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
  1385. package/dist/unstable/rpc/RpcMiddleware.js +1 -1
  1386. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1387. package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
  1388. package/dist/unstable/rpc/RpcSchema.js +3 -3
  1389. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1390. package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
  1391. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1392. package/dist/unstable/rpc/RpcSerialization.js +178 -97
  1393. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1394. package/dist/unstable/rpc/RpcServer.d.ts +13 -13
  1395. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  1396. package/dist/unstable/rpc/RpcServer.js +23 -18
  1397. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1398. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1399. package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
  1400. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1401. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1402. package/dist/unstable/rpc/Utils.js.map +1 -1
  1403. package/dist/unstable/rpc/index.js.map +1 -1
  1404. package/dist/unstable/schema/Model.d.ts +66 -51
  1405. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1406. package/dist/unstable/schema/Model.js +39 -52
  1407. package/dist/unstable/schema/Model.js.map +1 -1
  1408. package/dist/unstable/schema/VariantSchema.d.ts +11 -12
  1409. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1410. package/dist/unstable/schema/VariantSchema.js +28 -17
  1411. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1412. package/dist/unstable/schema/index.js.map +1 -1
  1413. package/dist/unstable/socket/Socket.d.ts +12 -4
  1414. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1415. package/dist/unstable/socket/Socket.js +38 -17
  1416. package/dist/unstable/socket/Socket.js.map +1 -1
  1417. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1418. package/dist/unstable/socket/index.js.map +1 -1
  1419. package/dist/unstable/sql/Migrator.d.ts +9 -1
  1420. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  1421. package/dist/unstable/sql/Migrator.js +15 -2
  1422. package/dist/unstable/sql/Migrator.js.map +1 -1
  1423. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  1424. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1425. package/dist/unstable/sql/SqlClient.js +11 -7
  1426. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1427. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1428. package/dist/unstable/sql/SqlError.d.ts +2 -2
  1429. package/dist/unstable/sql/SqlError.js +15 -15
  1430. package/dist/unstable/sql/SqlError.js.map +1 -1
  1431. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  1432. package/dist/unstable/sql/SqlModel.js +2 -2
  1433. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1434. package/dist/unstable/sql/SqlResolver.d.ts +5 -5
  1435. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  1436. package/dist/unstable/sql/SqlResolver.js +33 -26
  1437. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1438. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1439. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1440. package/dist/unstable/sql/Statement.d.ts +6 -6
  1441. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1442. package/dist/unstable/sql/Statement.js +30 -27
  1443. package/dist/unstable/sql/Statement.js.map +1 -1
  1444. package/dist/unstable/sql/index.js.map +1 -1
  1445. package/dist/unstable/workers/Transferable.d.ts +1 -1
  1446. package/dist/unstable/workers/Transferable.js +1 -1
  1447. package/dist/unstable/workers/Transferable.js.map +1 -1
  1448. package/dist/unstable/workers/Worker.d.ts +2 -2
  1449. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  1450. package/dist/unstable/workers/Worker.js +13 -14
  1451. package/dist/unstable/workers/Worker.js.map +1 -1
  1452. package/dist/unstable/workers/WorkerError.d.ts +7 -7
  1453. package/dist/unstable/workers/WorkerError.js +11 -11
  1454. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1455. package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
  1456. package/dist/unstable/workers/WorkerRunner.js +1 -1
  1457. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1458. package/dist/unstable/workers/index.js.map +1 -1
  1459. package/dist/unstable/workflow/Activity.d.ts +2 -2
  1460. package/dist/unstable/workflow/Activity.js +2 -2
  1461. package/dist/unstable/workflow/Activity.js.map +1 -1
  1462. package/dist/unstable/workflow/DurableClock.d.ts +1 -1
  1463. package/dist/unstable/workflow/DurableClock.js +1 -1
  1464. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1465. package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
  1466. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  1467. package/dist/unstable/workflow/DurableDeferred.js +13 -8
  1468. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1469. package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
  1470. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1471. package/dist/unstable/workflow/DurableQueue.js +22 -20
  1472. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1473. package/dist/unstable/workflow/Workflow.d.ts +21 -21
  1474. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1475. package/dist/unstable/workflow/Workflow.js +13 -14
  1476. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1477. package/dist/unstable/workflow/WorkflowEngine.d.ts +26 -3
  1478. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  1479. package/dist/unstable/workflow/WorkflowEngine.js +72 -6
  1480. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1481. package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
  1482. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1483. package/dist/unstable/workflow/WorkflowProxy.js +4 -2
  1484. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1485. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1486. package/dist/unstable/workflow/index.js.map +1 -1
  1487. package/dist/unstable/workflow/internal/crypto.js.map +1 -1
  1488. package/package.json +10 -16
  1489. package/src/Array.ts +1068 -1070
  1490. package/src/BigDecimal.ts +433 -756
  1491. package/src/BigInt.ts +213 -269
  1492. package/src/Boolean.ts +146 -188
  1493. package/src/Brand.ts +4 -4
  1494. package/src/Cache.ts +469 -851
  1495. package/src/Cause.ts +167 -277
  1496. package/src/Channel.ts +982 -831
  1497. package/src/ChannelSchema.ts +1 -1
  1498. package/src/Chunk.ts +841 -1181
  1499. package/src/Clock.ts +181 -49
  1500. package/src/Combiner.ts +20 -33
  1501. package/src/Config.ts +642 -335
  1502. package/src/ConfigProvider.ts +267 -135
  1503. package/src/Console.ts +289 -39
  1504. package/src/Context.ts +336 -405
  1505. package/src/Cron.ts +271 -219
  1506. package/src/Crypto.ts +33 -63
  1507. package/src/Data.ts +63 -82
  1508. package/src/DateTime.ts +564 -660
  1509. package/src/Deferred.ts +259 -258
  1510. package/src/Duration.ts +244 -311
  1511. package/src/Effect.ts +3241 -3410
  1512. package/src/Encoding.ts +22 -40
  1513. package/src/Equal.ts +59 -41
  1514. package/src/Equivalence.ts +103 -105
  1515. package/src/ErrorReporter.ts +52 -28
  1516. package/src/ExecutionPlan.ts +91 -56
  1517. package/src/Exit.ts +116 -192
  1518. package/src/Fiber.ts +82 -149
  1519. package/src/FiberHandle.ts +155 -107
  1520. package/src/FiberMap.ts +225 -174
  1521. package/src/FiberSet.ts +125 -83
  1522. package/src/FileSystem.ts +156 -264
  1523. package/src/Filter.ts +61 -33
  1524. package/src/Formatter.ts +69 -76
  1525. package/src/Function.ts +119 -151
  1526. package/src/Graph.ts +416 -770
  1527. package/src/HKT.ts +12 -6
  1528. package/src/Hash.ts +52 -83
  1529. package/src/HashMap.ts +319 -411
  1530. package/src/HashRing.ts +1 -0
  1531. package/src/HashSet.ts +177 -284
  1532. package/src/Inspectable.ts +22 -20
  1533. package/src/Iterable.ts +633 -797
  1534. package/src/JsonPatch.ts +60 -113
  1535. package/src/JsonPointer.ts +8 -8
  1536. package/src/JsonSchema.ts +408 -251
  1537. package/src/Latch.ts +23 -35
  1538. package/src/Layer.ts +369 -268
  1539. package/src/LayerMap.ts +49 -29
  1540. package/src/LayerRef.ts +6 -2
  1541. package/src/LogLevel.ts +114 -214
  1542. package/src/Logger.ts +349 -701
  1543. package/src/ManagedRuntime.ts +20 -5
  1544. package/src/Match.ts +217 -252
  1545. package/src/Metric.ts +520 -1092
  1546. package/src/MutableHashMap.ts +218 -255
  1547. package/src/MutableHashSet.ts +84 -89
  1548. package/src/MutableList.ts +77 -370
  1549. package/src/MutableRef.ts +420 -243
  1550. package/src/Newtype.ts +21 -14
  1551. package/src/NonEmptyIterable.ts +7 -137
  1552. package/src/Number.ts +196 -233
  1553. package/src/Optic.ts +303 -441
  1554. package/src/Option.ts +449 -813
  1555. package/src/Order.ts +109 -109
  1556. package/src/Ordering.ts +20 -23
  1557. package/src/PartitionedSemaphore.ts +1 -4
  1558. package/src/Path.ts +38 -41
  1559. package/src/Pipeable.ts +6 -5
  1560. package/src/PlatformError.ts +4 -4
  1561. package/src/Pool.ts +4 -2
  1562. package/src/Predicate.ts +200 -181
  1563. package/src/PrimaryKey.ts +7 -7
  1564. package/src/PubSub.ts +526 -552
  1565. package/src/Pull.ts +24 -18
  1566. package/src/Queue.ts +204 -165
  1567. package/src/Random.ts +49 -74
  1568. package/src/RcMap.ts +121 -63
  1569. package/src/RcRef.ts +24 -13
  1570. package/src/Record.ts +387 -487
  1571. package/src/Redactable.ts +10 -3
  1572. package/src/Redacted.ts +25 -25
  1573. package/src/Reducer.ts +8 -15
  1574. package/src/Ref.ts +221 -361
  1575. package/src/References.ts +102 -214
  1576. package/src/RegExp.ts +10 -14
  1577. package/src/Request.ts +36 -28
  1578. package/src/RequestResolver.ts +202 -91
  1579. package/src/Result.ts +314 -485
  1580. package/src/Runtime.ts +50 -75
  1581. package/src/Schedule.ts +311 -1737
  1582. package/src/Scheduler.ts +20 -7
  1583. package/src/Schema.ts +3475 -1913
  1584. package/src/SchemaAST.ts +902 -573
  1585. package/src/SchemaGetter.ts +351 -233
  1586. package/src/SchemaIssue.ts +367 -334
  1587. package/src/SchemaParser.ts +254 -148
  1588. package/src/SchemaRepresentation.ts +732 -3414
  1589. package/src/SchemaTransformation.ts +186 -97
  1590. package/src/Scope.ts +123 -151
  1591. package/src/ScopedCache.ts +1 -1
  1592. package/src/ScopedRef.ts +6 -4
  1593. package/src/Semaphore.ts +157 -54
  1594. package/src/Sink.ts +129 -114
  1595. package/src/Stdio.ts +24 -5
  1596. package/src/Stream.ts +2745 -3173
  1597. package/src/String.ts +275 -312
  1598. package/src/Struct.ts +114 -118
  1599. package/src/SubscriptionRef.ts +284 -252
  1600. package/src/Symbol.ts +3 -3
  1601. package/src/SynchronizedRef.ts +1 -1
  1602. package/src/Terminal.ts +3 -3
  1603. package/src/Tracer.ts +102 -55
  1604. package/src/Trie.ts +287 -679
  1605. package/src/Tuple.ts +99 -131
  1606. package/src/TxChunk.ts +201 -121
  1607. package/src/TxDeferred.ts +62 -46
  1608. package/src/TxHashMap.ts +645 -799
  1609. package/src/TxHashSet.ts +443 -356
  1610. package/src/TxPriorityQueue.ts +130 -98
  1611. package/src/TxPubSub.ts +107 -80
  1612. package/src/TxQueue.ts +215 -184
  1613. package/src/TxReentrantLock.ts +136 -101
  1614. package/src/TxRef.ts +51 -32
  1615. package/src/TxSemaphore.ts +129 -95
  1616. package/src/TxSubscriptionRef.ts +97 -70
  1617. package/src/Types.ts +127 -70
  1618. package/src/Unify.ts +45 -65
  1619. package/src/Utils.ts +23 -16
  1620. package/src/index.ts +0 -10
  1621. package/src/internal/core.ts +6 -5
  1622. package/src/internal/dateTime.ts +7 -1
  1623. package/src/internal/effect.ts +319 -149
  1624. package/src/internal/executionPlan.ts +106 -10
  1625. package/src/internal/hashMap.ts +20 -14
  1626. package/src/internal/matcher.ts +3 -3
  1627. package/src/internal/persistence.ts +2 -0
  1628. package/src/internal/rcRef.ts +24 -16
  1629. package/src/internal/record.ts +11 -7
  1630. package/src/internal/references.ts +3 -7
  1631. package/src/internal/schedule.ts +4 -4
  1632. package/src/internal/schema/annotations.ts +48 -1
  1633. package/src/internal/schema/fromJsonSchemaDocument.ts +977 -0
  1634. package/src/internal/schema/fromRepresentation.ts +339 -0
  1635. package/src/internal/schema/parser.ts +22 -0
  1636. package/src/internal/schema/schema.ts +46 -63
  1637. package/src/internal/schema/{arbitrary.ts → toArbitrary.ts} +9 -81
  1638. package/src/internal/schema/toCodeDocument.ts +572 -0
  1639. package/src/internal/schema/{equivalence.ts → toEquivalence.ts} +12 -7
  1640. package/src/internal/schema/toJsonSchemaDocument.ts +549 -0
  1641. package/src/internal/schema/toRepresentation.ts +404 -0
  1642. package/src/internal/stackTraceLimit.ts +3 -7
  1643. package/src/internal/trie.ts +21 -12
  1644. package/src/internal/uuid.ts +51 -0
  1645. package/src/testing/FastCheck.ts +8 -7
  1646. package/src/testing/TestClock.ts +103 -36
  1647. package/src/testing/TestConsole.ts +32 -31
  1648. package/src/testing/TestSchema.ts +40 -40
  1649. package/src/unstable/ai/AiError.ts +119 -141
  1650. package/src/unstable/ai/AnthropicStructuredOutput.ts +103 -334
  1651. package/src/unstable/ai/Chat.ts +133 -98
  1652. package/src/unstable/ai/EmbeddingModel.ts +1 -1
  1653. package/src/unstable/ai/IdGenerator.ts +32 -28
  1654. package/src/unstable/ai/LanguageModel.ts +141 -97
  1655. package/src/unstable/ai/McpProtocol.ts +137 -0
  1656. package/src/unstable/ai/McpSchema.ts +199 -100
  1657. package/src/unstable/ai/McpServer.ts +1360 -455
  1658. package/src/unstable/ai/Model.ts +9 -20
  1659. package/src/unstable/ai/OpenAiStructuredOutput.ts +231 -396
  1660. package/src/unstable/ai/Prompt.ts +212 -63
  1661. package/src/unstable/ai/Response.ts +52 -38
  1662. package/src/unstable/ai/Telemetry.ts +46 -13
  1663. package/src/unstable/ai/Tokenizer.ts +14 -3
  1664. package/src/unstable/ai/Tool.ts +81 -48
  1665. package/src/unstable/ai/Toolkit.ts +45 -15
  1666. package/src/unstable/ai/index.ts +5 -0
  1667. package/src/unstable/ai/internal/codec-transformer.ts +13 -7
  1668. package/src/unstable/ai/internal/mcpCore.ts +457 -0
  1669. package/src/unstable/ai/internal/mcpProtocol/v2024_11_05.ts +321 -0
  1670. package/src/unstable/ai/internal/mcpProtocol/v2025_03_26.ts +347 -0
  1671. package/src/unstable/ai/internal/mcpProtocol/v2025_06_18.ts +361 -0
  1672. package/src/unstable/ai/internal/mcpProtocol.ts +336 -0
  1673. package/src/unstable/ai/internal/mcpProtocolRegistry.ts +102 -0
  1674. package/src/unstable/ai/internal/mcpSchema/v2024_11_05.ts +521 -0
  1675. package/src/unstable/ai/internal/mcpSchema/v2025_03_26.ts +204 -0
  1676. package/src/unstable/ai/internal/mcpSchema/v2025_06_18.ts +404 -0
  1677. package/src/unstable/ai/internal/structured-output.ts +453 -0
  1678. package/src/unstable/cli/Argument.ts +279 -72
  1679. package/src/unstable/cli/CliError.ts +159 -91
  1680. package/src/unstable/cli/CliOutput.ts +44 -58
  1681. package/src/unstable/cli/Command.ts +764 -124
  1682. package/src/unstable/cli/Flag.ts +418 -138
  1683. package/src/unstable/cli/GlobalFlag.ts +1 -1
  1684. package/src/unstable/cli/HelpDoc.ts +12 -4
  1685. package/src/unstable/cli/Param.ts +336 -100
  1686. package/src/unstable/cli/Primitive.ts +383 -156
  1687. package/src/unstable/cli/Prompt.ts +64 -34
  1688. package/src/unstable/cli/internal/ansi.ts +2 -2
  1689. package/src/unstable/cli/internal/command.ts +28 -15
  1690. package/src/unstable/cli/internal/completions/bash.ts +59 -9
  1691. package/src/unstable/cli/internal/completions/descriptor.ts +14 -20
  1692. package/src/unstable/cli/internal/completions/fish.ts +5 -7
  1693. package/src/unstable/cli/internal/config.ts +8 -10
  1694. package/src/unstable/cli/internal/help.ts +4 -2
  1695. package/src/unstable/cli/internal/lexer.ts +8 -2
  1696. package/src/unstable/cli/internal/parser.ts +5 -5
  1697. package/src/unstable/cli/internal/wizard.ts +2 -2
  1698. package/src/unstable/cluster/ClusterError.ts +10 -8
  1699. package/src/unstable/cluster/ClusterSchema.ts +8 -8
  1700. package/src/unstable/cluster/ClusterWorkflowEngine.ts +65 -39
  1701. package/src/unstable/cluster/Entity.ts +23 -19
  1702. package/src/unstable/cluster/EntityProxy.ts +16 -7
  1703. package/src/unstable/cluster/EntityResource.ts +5 -5
  1704. package/src/unstable/cluster/Envelope.ts +5 -4
  1705. package/src/unstable/cluster/HttpRunner.ts +6 -4
  1706. package/src/unstable/cluster/K8sHttpClient.ts +2 -2
  1707. package/src/unstable/cluster/K8sTypes.ts +2467 -0
  1708. package/src/unstable/cluster/Message.ts +9 -9
  1709. package/src/unstable/cluster/MessageStorage.ts +106 -33
  1710. package/src/unstable/cluster/Reply.ts +26 -7
  1711. package/src/unstable/cluster/Runner.ts +1 -1
  1712. package/src/unstable/cluster/RunnerAddress.ts +1 -1
  1713. package/src/unstable/cluster/RunnerHealth.ts +1 -1
  1714. package/src/unstable/cluster/RunnerServer.ts +45 -18
  1715. package/src/unstable/cluster/RunnerStorage.ts +11 -9
  1716. package/src/unstable/cluster/Runners.ts +48 -26
  1717. package/src/unstable/cluster/ShardId.ts +1 -1
  1718. package/src/unstable/cluster/Sharding.ts +360 -65
  1719. package/src/unstable/cluster/ShardingConfig.ts +46 -4
  1720. package/src/unstable/cluster/SingleRunner.ts +4 -2
  1721. package/src/unstable/cluster/SingletonAddress.ts +1 -1
  1722. package/src/unstable/cluster/Snowflake.ts +8 -8
  1723. package/src/unstable/cluster/SqlMessageStorage.ts +212 -60
  1724. package/src/unstable/cluster/SqlRunnerStorage.ts +223 -133
  1725. package/src/unstable/cluster/index.ts +5 -0
  1726. package/src/unstable/cluster/internal/entityManager.ts +72 -27
  1727. package/src/unstable/cluster/internal/entityReaper.ts +2 -3
  1728. package/src/unstable/cluster/internal/resourceMap.ts +13 -2
  1729. package/src/unstable/cluster/internal/resourceRef.ts +27 -5
  1730. package/src/unstable/cluster/internal/shardLock.ts +9 -0
  1731. package/src/unstable/devtools/DevToolsClient.ts +3 -2
  1732. package/src/unstable/devtools/DevToolsSchema.ts +10 -5
  1733. package/src/unstable/encoding/Ini.ts +174 -0
  1734. package/src/unstable/encoding/Msgpack.ts +61 -40
  1735. package/src/unstable/encoding/Ndjson.ts +9 -1
  1736. package/src/unstable/encoding/Sse.ts +109 -37
  1737. package/src/unstable/encoding/Toml.ts +504 -0
  1738. package/src/unstable/encoding/Yaml.ts +541 -0
  1739. package/src/unstable/encoding/index.ts +15 -0
  1740. package/src/unstable/eventlog/Event.ts +20 -20
  1741. package/src/unstable/eventlog/EventGroup.ts +4 -4
  1742. package/src/unstable/eventlog/EventJournal.ts +33 -25
  1743. package/src/unstable/eventlog/EventLog.ts +24 -14
  1744. package/src/unstable/eventlog/EventLogEncryption.ts +17 -18
  1745. package/src/unstable/eventlog/EventLogMessage.ts +15 -9
  1746. package/src/unstable/eventlog/EventLogRemote.ts +5 -5
  1747. package/src/unstable/eventlog/EventLogServer.ts +41 -7
  1748. package/src/unstable/eventlog/EventLogServerEncrypted.ts +16 -8
  1749. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +15 -7
  1750. package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
  1751. package/src/unstable/eventlog/SqlEventJournal.ts +9 -7
  1752. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +1 -1
  1753. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +6 -3
  1754. package/src/unstable/http/Cookies.ts +64 -45
  1755. package/src/unstable/http/Etag.ts +1 -1
  1756. package/src/unstable/http/FetchHttpClient.ts +4 -2
  1757. package/src/unstable/http/FindMyWay/internal/queryString.ts +420 -0
  1758. package/src/unstable/http/FindMyWay/internal/router.ts +950 -0
  1759. package/src/unstable/http/FindMyWay.ts +65 -6
  1760. package/src/unstable/http/Headers.ts +10 -10
  1761. package/src/unstable/http/HttpBody.ts +20 -5
  1762. package/src/unstable/http/HttpClient.ts +215 -78
  1763. package/src/unstable/http/HttpClientError.ts +1 -1
  1764. package/src/unstable/http/HttpClientRequest.ts +59 -12
  1765. package/src/unstable/http/HttpClientResponse.ts +5 -21
  1766. package/src/unstable/http/HttpEffect.ts +27 -26
  1767. package/src/unstable/http/HttpMethod.ts +6 -9
  1768. package/src/unstable/http/HttpMiddleware.ts +202 -39
  1769. package/src/unstable/http/HttpPlatform.ts +129 -6
  1770. package/src/unstable/http/HttpRouter.ts +110 -102
  1771. package/src/unstable/http/HttpServer.ts +13 -13
  1772. package/src/unstable/http/HttpServerError.ts +2 -2
  1773. package/src/unstable/http/HttpServerRequest.ts +31 -17
  1774. package/src/unstable/http/HttpServerResponse.ts +38 -6
  1775. package/src/unstable/http/HttpStaticServer.ts +35 -7
  1776. package/src/unstable/http/HttpStatus.ts +100 -0
  1777. package/src/unstable/http/Multipart.ts +67 -36
  1778. package/src/unstable/http/MultipartParser/HeadersParser.ts +68 -0
  1779. package/src/unstable/http/MultipartParser/Search.ts +17 -0
  1780. package/src/unstable/http/MultipartParser/internal/contentType.ts +103 -0
  1781. package/src/unstable/http/MultipartParser/internal/headers.ts +244 -0
  1782. package/src/unstable/http/MultipartParser/internal/multipart.ts +279 -0
  1783. package/src/unstable/http/MultipartParser/internal/search.ts +167 -0
  1784. package/src/unstable/http/MultipartParser.ts +115 -0
  1785. package/src/unstable/http/Template.ts +7 -6
  1786. package/src/unstable/http/Url.ts +33 -63
  1787. package/src/unstable/http/UrlParams.ts +27 -32
  1788. package/src/unstable/http/index.ts +6 -1
  1789. package/src/unstable/http/internal/compression.ts +196 -0
  1790. package/src/unstable/http/internal/httpBody.ts +15 -0
  1791. package/src/unstable/httpapi/HttpApi.ts +10 -11
  1792. package/src/unstable/httpapi/HttpApiBuilder.ts +154 -33
  1793. package/src/unstable/httpapi/HttpApiClient.ts +142 -61
  1794. package/src/unstable/httpapi/HttpApiEndpoint.ts +159 -71
  1795. package/src/unstable/httpapi/HttpApiError.ts +46 -52
  1796. package/src/unstable/httpapi/HttpApiGroup.ts +17 -17
  1797. package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
  1798. package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
  1799. package/src/unstable/httpapi/HttpApiSchema.ts +362 -73
  1800. package/src/unstable/httpapi/OpenApi.ts +153 -62
  1801. package/src/unstable/observability/OtlpExporter.ts +130 -12
  1802. package/src/unstable/observability/OtlpLogger.ts +8 -6
  1803. package/src/unstable/observability/OtlpMetrics.ts +42 -21
  1804. package/src/unstable/observability/OtlpResource.ts +26 -17
  1805. package/src/unstable/observability/OtlpTracer.ts +9 -5
  1806. package/src/unstable/observability/PrometheusMetrics.ts +13 -4
  1807. package/src/unstable/observability/internal/otlpEnv.ts +1 -1
  1808. package/src/unstable/observability/internal/protobuf.ts +3 -0
  1809. package/src/unstable/persistence/KeyValueStore.ts +72 -49
  1810. package/src/unstable/persistence/Persistable.ts +11 -10
  1811. package/src/unstable/persistence/PersistedQueue.ts +129 -108
  1812. package/src/unstable/persistence/Persistence.ts +153 -26
  1813. package/src/unstable/persistence/RateLimiter.ts +79 -45
  1814. package/src/unstable/persistence/Redis.ts +5 -5
  1815. package/src/unstable/process/ChildProcess.ts +72 -21
  1816. package/src/unstable/process/ChildProcessSpawner.ts +22 -11
  1817. package/src/unstable/reactivity/AsyncResult.ts +23 -18
  1818. package/src/unstable/reactivity/Atom.ts +170 -56
  1819. package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
  1820. package/src/unstable/reactivity/AtomRegistry.ts +25 -4
  1821. package/src/unstable/reactivity/AtomRpc.ts +5 -4
  1822. package/src/unstable/reactivity/Hydration.ts +1 -1
  1823. package/src/unstable/reactivity/Reactivity.ts +1 -1
  1824. package/src/unstable/rpc/Rpc.ts +35 -33
  1825. package/src/unstable/rpc/RpcClient.ts +66 -30
  1826. package/src/unstable/rpc/RpcClientError.ts +2 -2
  1827. package/src/unstable/rpc/RpcGroup.ts +9 -9
  1828. package/src/unstable/rpc/RpcMessage.ts +31 -30
  1829. package/src/unstable/rpc/RpcMiddleware.ts +10 -10
  1830. package/src/unstable/rpc/RpcSchema.ts +4 -4
  1831. package/src/unstable/rpc/RpcSerialization.ts +168 -69
  1832. package/src/unstable/rpc/RpcServer.ts +28 -22
  1833. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1834. package/src/unstable/schema/Model.ts +60 -58
  1835. package/src/unstable/schema/VariantSchema.ts +51 -43
  1836. package/src/unstable/socket/Socket.ts +42 -19
  1837. package/src/unstable/sql/Migrator.ts +22 -9
  1838. package/src/unstable/sql/SqlClient.ts +71 -60
  1839. package/src/unstable/sql/SqlError.ts +15 -15
  1840. package/src/unstable/sql/SqlModel.ts +2 -2
  1841. package/src/unstable/sql/SqlResolver.ts +44 -33
  1842. package/src/unstable/sql/Statement.ts +44 -37
  1843. package/src/unstable/workers/Transferable.ts +1 -1
  1844. package/src/unstable/workers/Worker.ts +15 -16
  1845. package/src/unstable/workers/WorkerError.ts +12 -12
  1846. package/src/unstable/workers/WorkerRunner.ts +1 -1
  1847. package/src/unstable/workflow/Activity.ts +2 -2
  1848. package/src/unstable/workflow/DurableClock.ts +1 -1
  1849. package/src/unstable/workflow/DurableDeferred.ts +18 -13
  1850. package/src/unstable/workflow/DurableQueue.ts +22 -20
  1851. package/src/unstable/workflow/Workflow.ts +23 -26
  1852. package/src/unstable/workflow/WorkflowEngine.ts +111 -8
  1853. package/src/unstable/workflow/WorkflowProxy.ts +4 -2
  1854. package/dist/SchemaError.d.ts +0 -53
  1855. package/dist/SchemaError.d.ts.map +0 -1
  1856. package/dist/SchemaError.js +0 -61
  1857. package/dist/SchemaError.js.map +0 -1
  1858. package/dist/SchemaUtils.d.ts +0 -28
  1859. package/dist/SchemaUtils.d.ts.map +0 -1
  1860. package/dist/SchemaUtils.js +0 -45
  1861. package/dist/SchemaUtils.js.map +0 -1
  1862. package/dist/internal/schema/arbitrary.d.ts +0 -5
  1863. package/dist/internal/schema/arbitrary.d.ts.map +0 -1
  1864. package/dist/internal/schema/arbitrary.js.map +0 -1
  1865. package/dist/internal/schema/equivalence.d.ts +0 -2
  1866. package/dist/internal/schema/equivalence.d.ts.map +0 -1
  1867. package/dist/internal/schema/equivalence.js.map +0 -1
  1868. package/dist/internal/schema/representation.d.ts +0 -2
  1869. package/dist/internal/schema/representation.d.ts.map +0 -1
  1870. package/dist/internal/schema/representation.js +0 -865
  1871. package/dist/internal/schema/representation.js.map +0 -1
  1872. package/dist/internal/version.d.ts +0 -3
  1873. package/dist/internal/version.d.ts.map +0 -1
  1874. package/dist/internal/version.js +0 -2
  1875. package/dist/internal/version.js.map +0 -1
  1876. package/dist/unstable/http/Multipasta/HeadersParser.d.ts +0 -14
  1877. package/dist/unstable/http/Multipasta/HeadersParser.d.ts.map +0 -1
  1878. package/dist/unstable/http/Multipasta/HeadersParser.js +0 -14
  1879. package/dist/unstable/http/Multipasta/HeadersParser.js.map +0 -1
  1880. package/dist/unstable/http/Multipasta/Node.d.ts +0 -14
  1881. package/dist/unstable/http/Multipasta/Node.d.ts.map +0 -1
  1882. package/dist/unstable/http/Multipasta/Node.js +0 -14
  1883. package/dist/unstable/http/Multipasta/Node.js.map +0 -1
  1884. package/dist/unstable/http/Multipasta/Search.d.ts +0 -14
  1885. package/dist/unstable/http/Multipasta/Search.d.ts.map +0 -1
  1886. package/dist/unstable/http/Multipasta/Search.js +0 -14
  1887. package/dist/unstable/http/Multipasta/Search.js.map +0 -1
  1888. package/dist/unstable/http/Multipasta/Web.d.ts +0 -14
  1889. package/dist/unstable/http/Multipasta/Web.d.ts.map +0 -1
  1890. package/dist/unstable/http/Multipasta/Web.js +0 -14
  1891. package/dist/unstable/http/Multipasta/Web.js.map +0 -1
  1892. package/dist/unstable/http/Multipasta.d.ts +0 -15
  1893. package/dist/unstable/http/Multipasta.d.ts.map +0 -1
  1894. package/dist/unstable/http/Multipasta.js +0 -15
  1895. package/dist/unstable/http/Multipasta.js.map +0 -1
  1896. package/src/SchemaError.ts +0 -64
  1897. package/src/SchemaUtils.ts +0 -51
  1898. package/src/internal/schema/representation.ts +0 -795
  1899. package/src/internal/version.ts +0 -2
  1900. package/src/unstable/http/Multipasta/HeadersParser.ts +0 -14
  1901. package/src/unstable/http/Multipasta/Node.ts +0 -14
  1902. package/src/unstable/http/Multipasta/Search.ts +0 -14
  1903. package/src/unstable/http/Multipasta/Web.ts +0 -14
  1904. package/src/unstable/http/Multipasta.ts +0 -15
@@ -22,6 +22,7 @@ import type * as Path from "../../Path.ts"
22
22
  import * as Predicate from "../../Predicate.ts"
23
23
  import * as References from "../../References.ts"
24
24
  import * as Result from "../../Result.ts"
25
+ import * as Runtime from "../../Runtime.ts"
25
26
  import * as Stdio from "../../Stdio.ts"
26
27
  import * as Terminal from "../../Terminal.ts"
27
28
  import type { Contravariant, Covariant, NoInfer, Simplify } from "../../Types.ts"
@@ -57,9 +58,27 @@ import * as Prompt from "./Prompt.ts"
57
58
  *
58
59
  * **Example** (Defining CLI commands)
59
60
  *
60
- * ```ts
61
- * import { Console } from "effect"
61
+ * ```ts import.meta.vitest
62
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
62
63
  * import { Argument, Command, Flag } from "effect/unstable/cli"
64
+ * import { ChildProcessSpawner } from "effect/unstable/process"
65
+ *
66
+ * const CliTestLayer = Layer.mergeAll(
67
+ * FileSystem.layerNoop({}),
68
+ * Path.layer,
69
+ * Stdio.layerTest({}),
70
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
71
+ * columns: Effect.succeed(80),
72
+ * rows: Effect.succeed(24),
73
+ * readInput: Effect.die("unused"),
74
+ * readLine: Effect.die("unused"),
75
+ * display: () => Effect.void
76
+ * })),
77
+ * Layer.succeed(
78
+ * ChildProcessSpawner.ChildProcessSpawner,
79
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
80
+ * )
81
+ * )
63
82
  *
64
83
  * // Simple command with no configuration
65
84
  * const version: Command.Command<"version", {}, {}, never, never> = Command.make(
@@ -84,9 +103,15 @@ import * as Prompt from "./Prompt.ts"
84
103
  * })
85
104
  *
86
105
  * // Command with handler
106
+ * const output: Array<string> = []
87
107
  * const greet = Command.make("greet", {
88
108
  * name: Flag.string("name")
89
- * }, (config) => Console.log(`Hello, ${config.name}!`))
109
+ * }, (config) => Effect.sync(() => output.push(`Hello, ${config.name}!`)).pipe(Effect.asVoid))
110
+ *
111
+ * await Effect.runPromise(
112
+ * Command.runWith(greet, { version: "1.0.0" })(["--name", "Alice"]).pipe(Effect.provide(CliTestLayer))
113
+ * )
114
+ * output // => ["Hello, Alice!"]
90
115
  * ```
91
116
  *
92
117
  * @category models
@@ -141,11 +166,11 @@ export interface Command<in out Name extends string, in Input, out ContextInput
141
166
  readonly annotations: Context.Context<never>
142
167
 
143
168
  /**
144
- * Whether this command is hidden from parent help output, shell
145
- * completions, and unknown-subcommand suggestions. Hidden commands still
169
+ * Whether this command is omitted from parent help output, shell
170
+ * completions, and unknown-subcommand suggestions. Unlisted commands still
146
171
  * parse and execute normally when invoked by exact name.
147
172
  */
148
- readonly hidden: boolean
173
+ readonly unlisted: boolean
149
174
  }
150
175
 
151
176
  /**
@@ -194,19 +219,19 @@ export declare namespace Command {
194
219
  *
195
220
  * **Example** (Configuring command input)
196
221
  *
197
- * ```ts
222
+ * ```ts import.meta.vitest
198
223
  * import { Argument, Flag } from "effect/unstable/cli"
199
224
  * import type { Command as CliCommand } from "effect/unstable/cli"
200
225
  *
201
226
  * // Simple flat configuration
202
- * const simpleConfig: CliCommand.Command.Config = {
227
+ * const simpleConfig = {
203
228
  * name: Flag.string("name"),
204
229
  * age: Flag.integer("age"),
205
230
  * file: Argument.string("file")
206
- * }
231
+ * } satisfies CliCommand.Command.Config
207
232
  *
208
233
  * // Nested configuration for organization
209
- * const nestedConfig: CliCommand.Command.Config = {
234
+ * const nestedConfig = {
210
235
  * user: {
211
236
  * name: Flag.string("name"),
212
237
  * email: Flag.string("email")
@@ -215,7 +240,9 @@ export declare namespace Command {
215
240
  * host: Flag.string("host"),
216
241
  * port: Flag.integer("port")
217
242
  * }
218
- * }
243
+ * } satisfies CliCommand.Command.Config
244
+ *
245
+ * [simpleConfig.name.kind, nestedConfig.server.port.kind] // => ["flag", "flag"]
219
246
  * ```
220
247
  *
221
248
  * @category models
@@ -261,7 +288,7 @@ export declare namespace Command {
261
288
  *
262
289
  * **Example** (Inferring command input)
263
290
  *
264
- * ```ts
291
+ * ```ts import.meta.vitest
265
292
  * import { Flag } from "effect/unstable/cli"
266
293
  * import type { Command as CliCommand } from "effect/unstable/cli"
267
294
  *
@@ -281,6 +308,12 @@ export declare namespace Command {
281
308
  * // readonly port: number
282
309
  * // }
283
310
  * // }
311
+ *
312
+ * const inferred: Result = {
313
+ * name: "Alice",
314
+ * server: { host: "localhost", port: 8080 }
315
+ * }
316
+ * inferred // => { name: "Alice", server: { host: "localhost", port: 8080 } }
284
317
  * ```
285
318
  *
286
319
  * @category models
@@ -320,7 +353,7 @@ export declare namespace Command {
320
353
  readonly commands: NonEmptyReadonlyArray<Command.Any>
321
354
  }>
322
355
  readonly annotations: Context.Context<never>
323
- readonly hidden: boolean
356
+ readonly unlisted: boolean
324
357
  }
325
358
 
326
359
  /**
@@ -399,9 +432,27 @@ export type Services<C> = C extends Command<
399
432
  *
400
433
  * **Example** (Accessing parent command context)
401
434
  *
402
- * ```ts
403
- * import { Console, Effect } from "effect"
435
+ * ```ts import.meta.vitest
436
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
404
437
  * import { Command, Flag } from "effect/unstable/cli"
438
+ * import { ChildProcessSpawner } from "effect/unstable/process"
439
+ *
440
+ * const CliTestLayer = Layer.mergeAll(
441
+ * FileSystem.layerNoop({}),
442
+ * Path.layer,
443
+ * Stdio.layerTest({}),
444
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
445
+ * columns: Effect.succeed(80),
446
+ * rows: Effect.succeed(24),
447
+ * readInput: Effect.die("unused"),
448
+ * readLine: Effect.die("unused"),
449
+ * display: () => Effect.void
450
+ * })),
451
+ * Layer.succeed(
452
+ * ChildProcessSpawner.ChildProcessSpawner,
453
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
454
+ * )
455
+ * )
405
456
  *
406
457
  * const parent = Command.make("app").pipe(
407
458
  * Command.withSharedFlags({
@@ -410,19 +461,31 @@ export type Services<C> = C extends Command<
410
461
  * })
411
462
  * )
412
463
  *
464
+ * const output: Array<string> = []
413
465
  * const child = Command.make("deploy", {
414
466
  * target: Flag.string("target")
415
467
  * }, (config) =>
416
468
  * Effect.gen(function*() {
417
469
  * // Access parent's config by yielding the parent command
418
470
  * 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}`)
471
+ * yield* Effect.sync(() => output.push(`Verbose: ${parentConfig.verbose}`))
472
+ * yield* Effect.sync(() => output.push(`Config: ${parentConfig.config}`))
473
+ * yield* Effect.sync(() => output.push(`Target: ${config.target}`))
422
474
  * }))
423
475
  *
424
476
  * const app = parent.pipe(Command.withSubcommands([child]))
425
- * // Usage: app --verbose --config prod.json deploy --target staging
477
+ *
478
+ * await Effect.runPromise(
479
+ * Command.runWith(app, { version: "1.0.0" })([
480
+ * "--verbose",
481
+ * "--config",
482
+ * "prod.json",
483
+ * "deploy",
484
+ * "--target",
485
+ * "staging"
486
+ * ]).pipe(Effect.provide(CliTestLayer))
487
+ * )
488
+ * output // => ["Verbose: true", "Config: prod.json", "Target: staging"]
426
489
  * ```
427
490
  *
428
491
  * @category models
@@ -478,9 +541,27 @@ export const isCommand = (u: unknown): u is Command.Any => Predicate.hasProperty
478
541
  *
479
542
  * **Example** (Creating commands)
480
543
  *
481
- * ```ts
482
- * import { Console, Effect } from "effect"
544
+ * ```ts import.meta.vitest
545
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
483
546
  * import { Argument, Command, Flag } from "effect/unstable/cli"
547
+ * import { ChildProcessSpawner } from "effect/unstable/process"
548
+ *
549
+ * const CliTestLayer = Layer.mergeAll(
550
+ * FileSystem.layerNoop({}),
551
+ * Path.layer,
552
+ * Stdio.layerTest({}),
553
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
554
+ * columns: Effect.succeed(80),
555
+ * rows: Effect.succeed(24),
556
+ * readInput: Effect.die("unused"),
557
+ * readLine: Effect.die("unused"),
558
+ * display: () => Effect.void
559
+ * })),
560
+ * Layer.succeed(
561
+ * ChildProcessSpawner.ChildProcessSpawner,
562
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
563
+ * )
564
+ * )
484
565
  *
485
566
  * // Simple command with no configuration
486
567
  * const version = Command.make("version")
@@ -505,19 +586,29 @@ export const isCommand = (u: unknown): u is Command.Any => Predicate.hasProperty
505
586
  * })
506
587
  *
507
588
  * // Command with handler
589
+ * const output: Array<string> = []
508
590
  * const deployWithHandler = Command.make("deploy", {
509
591
  * environment: Flag.string("env"),
510
592
  * force: Flag.boolean("force")
511
593
  * }, (config) =>
512
594
  * Effect.gen(function*() {
513
- * yield* Console.log(`Starting deployment to ${config.environment}`)
595
+ * yield* Effect.sync(() => output.push(`Starting deployment to ${config.environment}`))
514
596
  *
515
597
  * if (!config.force && config.environment === "production") {
516
598
  * return yield* Effect.fail("Production deployments require --force flag")
517
599
  * }
518
600
  *
519
- * yield* Console.log("Deployment completed successfully")
601
+ * yield* Effect.sync(() => output.push("Deployment completed successfully"))
520
602
  * }))
603
+ *
604
+ * await Effect.runPromise(
605
+ * Command.runWith(deployWithHandler, { version: "1.0.0" })([
606
+ * "--env",
607
+ * "staging",
608
+ * "--force"
609
+ * ]).pipe(Effect.provide(CliTestLayer))
610
+ * )
611
+ * output // => ["Starting deployment to staging", "Deployment completed successfully"]
521
612
  * ```
522
613
  *
523
614
  * @category constructors
@@ -540,9 +631,27 @@ export const make: {
540
631
  *
541
632
  * **Example** (Creating commands)
542
633
  *
543
- * ```ts
544
- * import { Console, Effect } from "effect"
634
+ * ```ts import.meta.vitest
635
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
545
636
  * import { Argument, Command, Flag } from "effect/unstable/cli"
637
+ * import { ChildProcessSpawner } from "effect/unstable/process"
638
+ *
639
+ * const CliTestLayer = Layer.mergeAll(
640
+ * FileSystem.layerNoop({}),
641
+ * Path.layer,
642
+ * Stdio.layerTest({}),
643
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
644
+ * columns: Effect.succeed(80),
645
+ * rows: Effect.succeed(24),
646
+ * readInput: Effect.die("unused"),
647
+ * readLine: Effect.die("unused"),
648
+ * display: () => Effect.void
649
+ * })),
650
+ * Layer.succeed(
651
+ * ChildProcessSpawner.ChildProcessSpawner,
652
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
653
+ * )
654
+ * )
546
655
  *
547
656
  * // Simple command with no configuration
548
657
  * const version = Command.make("version")
@@ -567,19 +676,29 @@ export const make: {
567
676
  * })
568
677
  *
569
678
  * // Command with handler
679
+ * const output: Array<string> = []
570
680
  * const deployWithHandler = Command.make("deploy", {
571
681
  * environment: Flag.string("env"),
572
682
  * force: Flag.boolean("force")
573
683
  * }, (config) =>
574
684
  * Effect.gen(function*() {
575
- * yield* Console.log(`Starting deployment to ${config.environment}`)
685
+ * yield* Effect.sync(() => output.push(`Starting deployment to ${config.environment}`))
576
686
  *
577
687
  * if (!config.force && config.environment === "production") {
578
688
  * return yield* Effect.fail("Production deployments require --force flag")
579
689
  * }
580
690
  *
581
- * yield* Console.log("Deployment completed successfully")
691
+ * yield* Effect.sync(() => output.push("Deployment completed successfully"))
582
692
  * }))
693
+ *
694
+ * await Effect.runPromise(
695
+ * Command.runWith(deployWithHandler, { version: "1.0.0" })([
696
+ * "--env",
697
+ * "staging",
698
+ * "--force"
699
+ * ]).pipe(Effect.provide(CliTestLayer))
700
+ * )
701
+ * output // => ["Starting deployment to staging", "Deployment completed successfully"]
583
702
  * ```
584
703
  *
585
704
  * @category constructors
@@ -603,9 +722,27 @@ export const make: {
603
722
  *
604
723
  * **Example** (Creating commands)
605
724
  *
606
- * ```ts
607
- * import { Console, Effect } from "effect"
725
+ * ```ts import.meta.vitest
726
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
608
727
  * import { Argument, Command, Flag } from "effect/unstable/cli"
728
+ * import { ChildProcessSpawner } from "effect/unstable/process"
729
+ *
730
+ * const CliTestLayer = Layer.mergeAll(
731
+ * FileSystem.layerNoop({}),
732
+ * Path.layer,
733
+ * Stdio.layerTest({}),
734
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
735
+ * columns: Effect.succeed(80),
736
+ * rows: Effect.succeed(24),
737
+ * readInput: Effect.die("unused"),
738
+ * readLine: Effect.die("unused"),
739
+ * display: () => Effect.void
740
+ * })),
741
+ * Layer.succeed(
742
+ * ChildProcessSpawner.ChildProcessSpawner,
743
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
744
+ * )
745
+ * )
609
746
  *
610
747
  * // Simple command with no configuration
611
748
  * const version = Command.make("version")
@@ -630,19 +767,29 @@ export const make: {
630
767
  * })
631
768
  *
632
769
  * // Command with handler
770
+ * const output: Array<string> = []
633
771
  * const deployWithHandler = Command.make("deploy", {
634
772
  * environment: Flag.string("env"),
635
773
  * force: Flag.boolean("force")
636
774
  * }, (config) =>
637
775
  * Effect.gen(function*() {
638
- * yield* Console.log(`Starting deployment to ${config.environment}`)
776
+ * yield* Effect.sync(() => output.push(`Starting deployment to ${config.environment}`))
639
777
  *
640
778
  * if (!config.force && config.environment === "production") {
641
779
  * return yield* Effect.fail("Production deployments require --force flag")
642
780
  * }
643
781
  *
644
- * yield* Console.log("Deployment completed successfully")
782
+ * yield* Effect.sync(() => output.push("Deployment completed successfully"))
645
783
  * }))
784
+ *
785
+ * await Effect.runPromise(
786
+ * Command.runWith(deployWithHandler, { version: "1.0.0" })([
787
+ * "--env",
788
+ * "staging",
789
+ * "--force"
790
+ * ]).pipe(Effect.provide(CliTestLayer))
791
+ * )
792
+ * output // => ["Starting deployment to staging", "Deployment completed successfully"]
646
793
  * ```
647
794
  *
648
795
  * @category constructors
@@ -666,9 +813,27 @@ export const make: {
666
813
  *
667
814
  * **Example** (Creating commands)
668
815
  *
669
- * ```ts
670
- * import { Console, Effect } from "effect"
816
+ * ```ts import.meta.vitest
817
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
671
818
  * import { Argument, Command, Flag } from "effect/unstable/cli"
819
+ * import { ChildProcessSpawner } from "effect/unstable/process"
820
+ *
821
+ * const CliTestLayer = Layer.mergeAll(
822
+ * FileSystem.layerNoop({}),
823
+ * Path.layer,
824
+ * Stdio.layerTest({}),
825
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
826
+ * columns: Effect.succeed(80),
827
+ * rows: Effect.succeed(24),
828
+ * readInput: Effect.die("unused"),
829
+ * readLine: Effect.die("unused"),
830
+ * display: () => Effect.void
831
+ * })),
832
+ * Layer.succeed(
833
+ * ChildProcessSpawner.ChildProcessSpawner,
834
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
835
+ * )
836
+ * )
672
837
  *
673
838
  * // Simple command with no configuration
674
839
  * const version = Command.make("version")
@@ -693,19 +858,29 @@ export const make: {
693
858
  * })
694
859
  *
695
860
  * // Command with handler
861
+ * const output: Array<string> = []
696
862
  * const deployWithHandler = Command.make("deploy", {
697
863
  * environment: Flag.string("env"),
698
864
  * force: Flag.boolean("force")
699
865
  * }, (config) =>
700
866
  * Effect.gen(function*() {
701
- * yield* Console.log(`Starting deployment to ${config.environment}`)
867
+ * yield* Effect.sync(() => output.push(`Starting deployment to ${config.environment}`))
702
868
  *
703
869
  * if (!config.force && config.environment === "production") {
704
870
  * return yield* Effect.fail("Production deployments require --force flag")
705
871
  * }
706
872
  *
707
- * yield* Console.log("Deployment completed successfully")
873
+ * yield* Effect.sync(() => output.push("Deployment completed successfully"))
708
874
  * }))
875
+ *
876
+ * await Effect.runPromise(
877
+ * Command.runWith(deployWithHandler, { version: "1.0.0" })([
878
+ * "--env",
879
+ * "staging",
880
+ * "--force"
881
+ * ]).pipe(Effect.provide(CliTestLayer))
882
+ * )
883
+ * output // => ["Starting deployment to staging", "Deployment completed successfully"]
709
884
  * ```
710
885
  *
711
886
  * @category constructors
@@ -738,9 +913,27 @@ export const make: {
738
913
  *
739
914
  * **Example** (Adding command handlers)
740
915
  *
741
- * ```ts
742
- * import { Console } from "effect"
916
+ * ```ts import.meta.vitest
917
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
743
918
  * import { Command, Flag } from "effect/unstable/cli"
919
+ * import { ChildProcessSpawner } from "effect/unstable/process"
920
+ *
921
+ * const CliTestLayer = Layer.mergeAll(
922
+ * FileSystem.layerNoop({}),
923
+ * Path.layer,
924
+ * Stdio.layerTest({}),
925
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
926
+ * columns: Effect.succeed(80),
927
+ * rows: Effect.succeed(24),
928
+ * readInput: Effect.die("unused"),
929
+ * readLine: Effect.die("unused"),
930
+ * display: () => Effect.void
931
+ * })),
932
+ * Layer.succeed(
933
+ * ChildProcessSpawner.ChildProcessSpawner,
934
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
935
+ * )
936
+ * )
744
937
  *
745
938
  * // Command without initial handler
746
939
  * const greet = Command.make("greet", {
@@ -748,11 +941,19 @@ export const make: {
748
941
  * })
749
942
  *
750
943
  * // Add handler later
944
+ * const output: Array<string> = []
751
945
  * const greetWithHandler = greet.pipe(
752
946
  * Command.withHandler((config: { readonly name: string }) =>
753
- * Console.log(`Hello, ${config.name}!`)
947
+ * Effect.sync(() => output.push(`Hello, ${config.name}!`)).pipe(Effect.asVoid)
754
948
  * )
755
949
  * )
950
+ *
951
+ * await Effect.runPromise(
952
+ * Command.runWith(greetWithHandler, { version: "1.0.0" })(["--name", "Alice"]).pipe(
953
+ * Effect.provide(CliTestLayer)
954
+ * )
955
+ * )
956
+ * output // => ["Hello, Alice!"]
756
957
  * ```
757
958
  *
758
959
  * @category combinators
@@ -768,9 +969,27 @@ export const withHandler: {
768
969
  *
769
970
  * **Example** (Adding command handlers)
770
971
  *
771
- * ```ts
772
- * import { Console } from "effect"
972
+ * ```ts import.meta.vitest
973
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
773
974
  * import { Command, Flag } from "effect/unstable/cli"
975
+ * import { ChildProcessSpawner } from "effect/unstable/process"
976
+ *
977
+ * const CliTestLayer = Layer.mergeAll(
978
+ * FileSystem.layerNoop({}),
979
+ * Path.layer,
980
+ * Stdio.layerTest({}),
981
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
982
+ * columns: Effect.succeed(80),
983
+ * rows: Effect.succeed(24),
984
+ * readInput: Effect.die("unused"),
985
+ * readLine: Effect.die("unused"),
986
+ * display: () => Effect.void
987
+ * })),
988
+ * Layer.succeed(
989
+ * ChildProcessSpawner.ChildProcessSpawner,
990
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
991
+ * )
992
+ * )
774
993
  *
775
994
  * // Command without initial handler
776
995
  * const greet = Command.make("greet", {
@@ -778,11 +997,19 @@ export const withHandler: {
778
997
  * })
779
998
  *
780
999
  * // Add handler later
1000
+ * const output: Array<string> = []
781
1001
  * const greetWithHandler = greet.pipe(
782
1002
  * Command.withHandler((config: { readonly name: string }) =>
783
- * Console.log(`Hello, ${config.name}!`)
1003
+ * Effect.sync(() => output.push(`Hello, ${config.name}!`)).pipe(Effect.asVoid)
1004
+ * )
1005
+ * )
1006
+ *
1007
+ * await Effect.runPromise(
1008
+ * Command.runWith(greetWithHandler, { version: "1.0.0" })(["--name", "Alice"]).pipe(
1009
+ * Effect.provide(CliTestLayer)
784
1010
  * )
785
1011
  * )
1012
+ * output // => ["Hello, Alice!"]
786
1013
  * ```
787
1014
  *
788
1015
  * @category combinators
@@ -800,9 +1027,27 @@ export const withHandler: {
800
1027
  *
801
1028
  * **Example** (Adding command handlers)
802
1029
  *
803
- * ```ts
804
- * import { Console } from "effect"
1030
+ * ```ts import.meta.vitest
1031
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
805
1032
  * import { Command, Flag } from "effect/unstable/cli"
1033
+ * import { ChildProcessSpawner } from "effect/unstable/process"
1034
+ *
1035
+ * const CliTestLayer = Layer.mergeAll(
1036
+ * FileSystem.layerNoop({}),
1037
+ * Path.layer,
1038
+ * Stdio.layerTest({}),
1039
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
1040
+ * columns: Effect.succeed(80),
1041
+ * rows: Effect.succeed(24),
1042
+ * readInput: Effect.die("unused"),
1043
+ * readLine: Effect.die("unused"),
1044
+ * display: () => Effect.void
1045
+ * })),
1046
+ * Layer.succeed(
1047
+ * ChildProcessSpawner.ChildProcessSpawner,
1048
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
1049
+ * )
1050
+ * )
806
1051
  *
807
1052
  * // Command without initial handler
808
1053
  * const greet = Command.make("greet", {
@@ -810,11 +1055,19 @@ export const withHandler: {
810
1055
  * })
811
1056
  *
812
1057
  * // Add handler later
1058
+ * const output: Array<string> = []
813
1059
  * const greetWithHandler = greet.pipe(
814
1060
  * Command.withHandler((config: { readonly name: string }) =>
815
- * Console.log(`Hello, ${config.name}!`)
1061
+ * Effect.sync(() => output.push(`Hello, ${config.name}!`)).pipe(Effect.asVoid)
816
1062
  * )
817
1063
  * )
1064
+ *
1065
+ * await Effect.runPromise(
1066
+ * Command.runWith(greetWithHandler, { version: "1.0.0" })(["--name", "Alice"]).pipe(
1067
+ * Effect.provide(CliTestLayer)
1068
+ * )
1069
+ * )
1070
+ * output // => ["Hello, Alice!"]
818
1071
  * ```
819
1072
  *
820
1073
  * @category combinators
@@ -892,9 +1145,27 @@ const normalizeSubcommandEntries = (
892
1145
  *
893
1146
  * **Example** (Adding subcommands)
894
1147
  *
895
- * ```ts
896
- * import { Console, Effect } from "effect"
1148
+ * ```ts import.meta.vitest
1149
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
897
1150
  * import { Command, Flag } from "effect/unstable/cli"
1151
+ * import { ChildProcessSpawner } from "effect/unstable/process"
1152
+ *
1153
+ * const CliTestLayer = Layer.mergeAll(
1154
+ * FileSystem.layerNoop({}),
1155
+ * Path.layer,
1156
+ * Stdio.layerTest({}),
1157
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
1158
+ * columns: Effect.succeed(80),
1159
+ * rows: Effect.succeed(24),
1160
+ * readInput: Effect.die("unused"),
1161
+ * readLine: Effect.die("unused"),
1162
+ * display: () => Effect.void
1163
+ * })),
1164
+ * Layer.succeed(
1165
+ * ChildProcessSpawner.ChildProcessSpawner,
1166
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
1167
+ * )
1168
+ * )
898
1169
  *
899
1170
  * // Parent command with shared flags
900
1171
  * const git = Command.make("git").pipe(
@@ -904,19 +1175,29 @@ const normalizeSubcommandEntries = (
904
1175
  * )
905
1176
  *
906
1177
  * // Subcommand that accesses parent config
1178
+ * const output: Array<string> = []
907
1179
  * const clone = Command.make("clone", {
908
1180
  * repository: Flag.string("repo")
909
1181
  * }, (config) =>
910
1182
  * Effect.gen(function*() {
911
1183
  * const parent = yield* git // Access parent's parsed config
912
1184
  * if (parent.verbose) {
913
- * yield* Console.log("Verbose mode enabled")
1185
+ * yield* Effect.sync(() => output.push("Verbose mode enabled"))
914
1186
  * }
915
- * yield* Console.log(`Cloning ${config.repository}`)
1187
+ * yield* Effect.sync(() => output.push(`Cloning ${config.repository}`))
916
1188
  * }))
917
1189
  *
918
1190
  * const app = git.pipe(Command.withSubcommands([clone]))
919
- * // Usage: git --verbose clone --repo github.com/foo/bar
1191
+ *
1192
+ * await Effect.runPromise(
1193
+ * Command.runWith(app, { version: "1.0.0" })([
1194
+ * "--verbose",
1195
+ * "clone",
1196
+ * "--repo",
1197
+ * "github.com/foo/bar"
1198
+ * ]).pipe(Effect.provide(CliTestLayer))
1199
+ * )
1200
+ * output // => ["Verbose mode enabled", "Cloning github.com/foo/bar"]
920
1201
  * ```
921
1202
  *
922
1203
  * @category combinators
@@ -934,9 +1215,27 @@ export const withSubcommands: {
934
1215
  *
935
1216
  * **Example** (Adding subcommands)
936
1217
  *
937
- * ```ts
938
- * import { Console, Effect } from "effect"
1218
+ * ```ts import.meta.vitest
1219
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
939
1220
  * import { Command, Flag } from "effect/unstable/cli"
1221
+ * import { ChildProcessSpawner } from "effect/unstable/process"
1222
+ *
1223
+ * const CliTestLayer = Layer.mergeAll(
1224
+ * FileSystem.layerNoop({}),
1225
+ * Path.layer,
1226
+ * Stdio.layerTest({}),
1227
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
1228
+ * columns: Effect.succeed(80),
1229
+ * rows: Effect.succeed(24),
1230
+ * readInput: Effect.die("unused"),
1231
+ * readLine: Effect.die("unused"),
1232
+ * display: () => Effect.void
1233
+ * })),
1234
+ * Layer.succeed(
1235
+ * ChildProcessSpawner.ChildProcessSpawner,
1236
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
1237
+ * )
1238
+ * )
940
1239
  *
941
1240
  * // Parent command with shared flags
942
1241
  * const git = Command.make("git").pipe(
@@ -946,19 +1245,29 @@ export const withSubcommands: {
946
1245
  * )
947
1246
  *
948
1247
  * // Subcommand that accesses parent config
1248
+ * const output: Array<string> = []
949
1249
  * const clone = Command.make("clone", {
950
1250
  * repository: Flag.string("repo")
951
1251
  * }, (config) =>
952
1252
  * Effect.gen(function*() {
953
1253
  * const parent = yield* git // Access parent's parsed config
954
1254
  * if (parent.verbose) {
955
- * yield* Console.log("Verbose mode enabled")
1255
+ * yield* Effect.sync(() => output.push("Verbose mode enabled"))
956
1256
  * }
957
- * yield* Console.log(`Cloning ${config.repository}`)
1257
+ * yield* Effect.sync(() => output.push(`Cloning ${config.repository}`))
958
1258
  * }))
959
1259
  *
960
1260
  * const app = git.pipe(Command.withSubcommands([clone]))
961
- * // Usage: git --verbose clone --repo github.com/foo/bar
1261
+ *
1262
+ * await Effect.runPromise(
1263
+ * Command.runWith(app, { version: "1.0.0" })([
1264
+ * "--verbose",
1265
+ * "clone",
1266
+ * "--repo",
1267
+ * "github.com/foo/bar"
1268
+ * ]).pipe(Effect.provide(CliTestLayer))
1269
+ * )
1270
+ * output // => ["Verbose mode enabled", "Cloning github.com/foo/bar"]
962
1271
  * ```
963
1272
  *
964
1273
  * @category combinators
@@ -984,9 +1293,27 @@ export const withSubcommands: {
984
1293
  *
985
1294
  * **Example** (Adding subcommands)
986
1295
  *
987
- * ```ts
988
- * import { Console, Effect } from "effect"
1296
+ * ```ts import.meta.vitest
1297
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
989
1298
  * import { Command, Flag } from "effect/unstable/cli"
1299
+ * import { ChildProcessSpawner } from "effect/unstable/process"
1300
+ *
1301
+ * const CliTestLayer = Layer.mergeAll(
1302
+ * FileSystem.layerNoop({}),
1303
+ * Path.layer,
1304
+ * Stdio.layerTest({}),
1305
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
1306
+ * columns: Effect.succeed(80),
1307
+ * rows: Effect.succeed(24),
1308
+ * readInput: Effect.die("unused"),
1309
+ * readLine: Effect.die("unused"),
1310
+ * display: () => Effect.void
1311
+ * })),
1312
+ * Layer.succeed(
1313
+ * ChildProcessSpawner.ChildProcessSpawner,
1314
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
1315
+ * )
1316
+ * )
990
1317
  *
991
1318
  * // Parent command with shared flags
992
1319
  * const git = Command.make("git").pipe(
@@ -996,19 +1323,29 @@ export const withSubcommands: {
996
1323
  * )
997
1324
  *
998
1325
  * // Subcommand that accesses parent config
1326
+ * const output: Array<string> = []
999
1327
  * const clone = Command.make("clone", {
1000
1328
  * repository: Flag.string("repo")
1001
1329
  * }, (config) =>
1002
1330
  * Effect.gen(function*() {
1003
1331
  * const parent = yield* git // Access parent's parsed config
1004
1332
  * if (parent.verbose) {
1005
- * yield* Console.log("Verbose mode enabled")
1333
+ * yield* Effect.sync(() => output.push("Verbose mode enabled"))
1006
1334
  * }
1007
- * yield* Console.log(`Cloning ${config.repository}`)
1335
+ * yield* Effect.sync(() => output.push(`Cloning ${config.repository}`))
1008
1336
  * }))
1009
1337
  *
1010
1338
  * const app = git.pipe(Command.withSubcommands([clone]))
1011
- * // Usage: git --verbose clone --repo github.com/foo/bar
1339
+ *
1340
+ * await Effect.runPromise(
1341
+ * Command.runWith(app, { version: "1.0.0" })([
1342
+ * "--verbose",
1343
+ * "clone",
1344
+ * "--repo",
1345
+ * "github.com/foo/bar"
1346
+ * ]).pipe(Effect.provide(CliTestLayer))
1347
+ * )
1348
+ * output // => ["Verbose mode enabled", "Cloning github.com/foo/bar"]
1012
1349
  * ```
1013
1350
  *
1014
1351
  * @category combinators
@@ -1068,7 +1405,7 @@ export const withSubcommands: {
1068
1405
 
1069
1406
  const context = yield* impl.parseContext(raw)
1070
1407
  const result = yield* sub.parse(raw.subcommand.value.parsedInput)
1071
- return Object.assign({}, context, { [SubcommandStateSymbol]: { name: sub.name, result } }) as NextInput
1408
+ return { ...context, [SubcommandStateSymbol]: { name: sub.name, result } } as NextInput
1072
1409
  })
1073
1410
 
1074
1411
  const handle = Effect.fnUntraced(function*(input: NextInput, path: ReadonlyArray<string>) {
@@ -1094,6 +1431,7 @@ export const withSubcommands: {
1094
1431
  description: impl.description,
1095
1432
  shortDescription: impl.shortDescription,
1096
1433
  alias: impl.alias,
1434
+ unlisted: impl.unlisted,
1097
1435
  annotations: impl.annotations,
1098
1436
  globalFlags: impl.globalFlags,
1099
1437
  examples: impl.examples,
@@ -1184,20 +1522,20 @@ export const withSharedFlags: {
1184
1522
  type NextInput = Simplify<Input & SharedInput>
1185
1523
  type NextContextInput = Simplify<ContextInput & SharedInput>
1186
1524
 
1187
- const parseShared = makeParser(sharedConfig) as (
1525
+ const parseShared = makeParser(sharedConfig, { allowLeftovers: true }) as (
1188
1526
  input: ParsedTokens
1189
1527
  ) => Effect.Effect<SharedInput, CliError.CliError, Environment>
1190
1528
 
1191
1529
  const parse = Effect.fnUntraced(function*(raw: ParsedTokens) {
1192
1530
  const base = yield* impl.parse(raw)
1193
1531
  const shared = yield* parseShared(raw)
1194
- return Object.assign({}, base, shared) as NextInput
1532
+ return { ...(base as object), ...(shared as object) } as NextInput
1195
1533
  })
1196
1534
 
1197
1535
  const parseContext = Effect.fnUntraced(function*(raw: ParsedTokens) {
1198
1536
  const base = yield* impl.parseContext(raw)
1199
1537
  const shared = yield* parseShared(raw)
1200
- return Object.assign({}, base, shared) as NextContextInput
1538
+ return { ...(base as object), ...(shared as object) } as NextContextInput
1201
1539
  })
1202
1540
 
1203
1541
  const handle = (
@@ -1212,6 +1550,7 @@ export const withSharedFlags: {
1212
1550
  description: impl.description,
1213
1551
  shortDescription: impl.shortDescription,
1214
1552
  alias: impl.alias,
1553
+ unlisted: impl.unlisted,
1215
1554
  annotations: impl.annotations,
1216
1555
  globalFlags: impl.globalFlags,
1217
1556
  examples: impl.examples,
@@ -1307,18 +1646,42 @@ type ExtractSubcommandContext<T extends ReadonlyArray<Command.SubcommandEntry>>
1307
1646
  *
1308
1647
  * **Example** (Setting descriptions)
1309
1648
  *
1310
- * ```ts
1311
- * import { Console, Effect } from "effect"
1649
+ * ```ts import.meta.vitest
1650
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
1312
1651
  * import { Command, Flag } from "effect/unstable/cli"
1652
+ * import { ChildProcessSpawner } from "effect/unstable/process"
1653
+ *
1654
+ * const CliTestLayer = Layer.mergeAll(
1655
+ * FileSystem.layerNoop({}),
1656
+ * Path.layer,
1657
+ * Stdio.layerTest({}),
1658
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
1659
+ * columns: Effect.succeed(80),
1660
+ * rows: Effect.succeed(24),
1661
+ * readInput: Effect.die("unused"),
1662
+ * readLine: Effect.die("unused"),
1663
+ * display: () => Effect.void
1664
+ * })),
1665
+ * Layer.succeed(
1666
+ * ChildProcessSpawner.ChildProcessSpawner,
1667
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
1668
+ * )
1669
+ * )
1313
1670
  *
1671
+ * const output: Array<string> = []
1314
1672
  * const deploy = Command.make("deploy", {
1315
1673
  * environment: Flag.string("env")
1316
1674
  * }, (config) =>
1317
1675
  * Effect.gen(function*() {
1318
- * yield* Console.log(`Deploying to ${config.environment}`)
1676
+ * yield* Effect.sync(() => output.push(`Deploying to ${config.environment}`))
1319
1677
  * })).pipe(
1320
1678
  * Command.withDescription("Deploy the application to a specified environment")
1321
1679
  * )
1680
+ *
1681
+ * await Effect.runPromise(
1682
+ * Command.runWith(deploy, { version: "1.0.0" })(["--env", "staging"]).pipe(Effect.provide(CliTestLayer))
1683
+ * )
1684
+ * output // => ["Deploying to staging"]
1322
1685
  * ```
1323
1686
  *
1324
1687
  * @category combinators
@@ -1335,18 +1698,42 @@ export const withDescription: {
1335
1698
  *
1336
1699
  * **Example** (Setting descriptions)
1337
1700
  *
1338
- * ```ts
1339
- * import { Console, Effect } from "effect"
1701
+ * ```ts import.meta.vitest
1702
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
1340
1703
  * import { Command, Flag } from "effect/unstable/cli"
1704
+ * import { ChildProcessSpawner } from "effect/unstable/process"
1705
+ *
1706
+ * const CliTestLayer = Layer.mergeAll(
1707
+ * FileSystem.layerNoop({}),
1708
+ * Path.layer,
1709
+ * Stdio.layerTest({}),
1710
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
1711
+ * columns: Effect.succeed(80),
1712
+ * rows: Effect.succeed(24),
1713
+ * readInput: Effect.die("unused"),
1714
+ * readLine: Effect.die("unused"),
1715
+ * display: () => Effect.void
1716
+ * })),
1717
+ * Layer.succeed(
1718
+ * ChildProcessSpawner.ChildProcessSpawner,
1719
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
1720
+ * )
1721
+ * )
1341
1722
  *
1723
+ * const output: Array<string> = []
1342
1724
  * const deploy = Command.make("deploy", {
1343
1725
  * environment: Flag.string("env")
1344
1726
  * }, (config) =>
1345
1727
  * Effect.gen(function*() {
1346
- * yield* Console.log(`Deploying to ${config.environment}`)
1728
+ * yield* Effect.sync(() => output.push(`Deploying to ${config.environment}`))
1347
1729
  * })).pipe(
1348
1730
  * Command.withDescription("Deploy the application to a specified environment")
1349
1731
  * )
1732
+ *
1733
+ * await Effect.runPromise(
1734
+ * Command.runWith(deploy, { version: "1.0.0" })(["--env", "staging"]).pipe(Effect.provide(CliTestLayer))
1735
+ * )
1736
+ * output // => ["Deploying to staging"]
1350
1737
  * ```
1351
1738
  *
1352
1739
  * @category combinators
@@ -1365,18 +1752,42 @@ export const withDescription: {
1365
1752
  *
1366
1753
  * **Example** (Setting descriptions)
1367
1754
  *
1368
- * ```ts
1369
- * import { Console, Effect } from "effect"
1755
+ * ```ts import.meta.vitest
1756
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
1370
1757
  * import { Command, Flag } from "effect/unstable/cli"
1758
+ * import { ChildProcessSpawner } from "effect/unstable/process"
1759
+ *
1760
+ * const CliTestLayer = Layer.mergeAll(
1761
+ * FileSystem.layerNoop({}),
1762
+ * Path.layer,
1763
+ * Stdio.layerTest({}),
1764
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
1765
+ * columns: Effect.succeed(80),
1766
+ * rows: Effect.succeed(24),
1767
+ * readInput: Effect.die("unused"),
1768
+ * readLine: Effect.die("unused"),
1769
+ * display: () => Effect.void
1770
+ * })),
1771
+ * Layer.succeed(
1772
+ * ChildProcessSpawner.ChildProcessSpawner,
1773
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
1774
+ * )
1775
+ * )
1371
1776
  *
1777
+ * const output: Array<string> = []
1372
1778
  * const deploy = Command.make("deploy", {
1373
1779
  * environment: Flag.string("env")
1374
1780
  * }, (config) =>
1375
1781
  * Effect.gen(function*() {
1376
- * yield* Console.log(`Deploying to ${config.environment}`)
1782
+ * yield* Effect.sync(() => output.push(`Deploying to ${config.environment}`))
1377
1783
  * })).pipe(
1378
1784
  * Command.withDescription("Deploy the application to a specified environment")
1379
1785
  * )
1786
+ *
1787
+ * await Effect.runPromise(
1788
+ * Command.runWith(deploy, { version: "1.0.0" })(["--env", "staging"]).pipe(Effect.provide(CliTestLayer))
1789
+ * )
1790
+ * output // => ["Deploying to staging"]
1380
1791
  * ```
1381
1792
  *
1382
1793
  * @category combinators
@@ -1478,7 +1889,7 @@ export const withAlias: {
1478
1889
  ) => makeCommand({ ...toImpl(self), alias }))
1479
1890
 
1480
1891
  /**
1481
- * Hides a subcommand from parent help output, shell completions, and
1892
+ * Omits a subcommand from parent help output, shell completions, and
1482
1893
  * "did you mean?" suggestions while keeping it fully invocable by exact name.
1483
1894
  *
1484
1895
  * **When to use**
@@ -1486,29 +1897,31 @@ export const withAlias: {
1486
1897
  * Use when experimental or internal subcommands should be accepted but not advertised on
1487
1898
  * the public CLI surface.
1488
1899
  *
1489
- * **Example** (Hiding a subcommand)
1900
+ * **Example** (Unlisting a subcommand)
1490
1901
  *
1491
- * ```ts
1902
+ * ```ts import.meta.vitest
1492
1903
  * import { Command } from "effect/unstable/cli"
1493
1904
  *
1494
1905
  * // `experimental` still runs when invoked as `mycli experimental`,
1495
1906
  * // but it does not appear under SUBCOMMANDS in `mycli --help`.
1496
1907
  * const experimental = Command.make("experimental").pipe(
1497
- * Command.withHidden
1908
+ * Command.unlisted
1498
1909
  * )
1499
1910
  *
1500
1911
  * const root = Command.make("mycli").pipe(
1501
1912
  * Command.withSubcommands([experimental])
1502
1913
  * )
1914
+ *
1915
+ * root.subcommands[0].commands[0].unlisted // => true
1503
1916
  * ```
1504
1917
  *
1505
1918
  * @category combinators
1506
1919
  * @since 4.0.0
1507
1920
  */
1508
- export const withHidden = <const Name extends string, Input, E, R, ContextInput>(
1921
+ export const unlisted = <const Name extends string, Input, E, R, ContextInput>(
1509
1922
  self: Command<Name, Input, ContextInput, E, R>
1510
1923
  ): Command<Name, Input, ContextInput, E, R> =>
1511
- makeCommand({ ...toImpl(self), hidden: true }) as Command<Name, Input, ContextInput, E, R>
1924
+ makeCommand({ ...toImpl(self), unlisted: true }) as Command<Name, Input, ContextInput, E, R>
1512
1925
 
1513
1926
  /**
1514
1927
  * Adds a custom annotation to a command.
@@ -1689,7 +2102,7 @@ export const annotateMerge: {
1689
2102
  *
1690
2103
  * **Example** (Adding usage examples)
1691
2104
  *
1692
- * ```ts
2105
+ * ```ts import.meta.vitest
1693
2106
  * import { Command } from "effect/unstable/cli"
1694
2107
  *
1695
2108
  * const login = Command.make("login").pipe(
@@ -1698,6 +2111,8 @@ export const annotateMerge: {
1698
2111
  * { command: "myapp login --token sbp_abc123", description: "Log in with a token" }
1699
2112
  * ])
1700
2113
  * )
2114
+ *
2115
+ * login.examples.map((example) => example.command) // => ["myapp login", "myapp login --token sbp_abc123"]
1701
2116
  * ```
1702
2117
  *
1703
2118
  * @category combinators
@@ -1714,7 +2129,7 @@ export const withExamples: {
1714
2129
  *
1715
2130
  * **Example** (Adding usage examples)
1716
2131
  *
1717
- * ```ts
2132
+ * ```ts import.meta.vitest
1718
2133
  * import { Command } from "effect/unstable/cli"
1719
2134
  *
1720
2135
  * const login = Command.make("login").pipe(
@@ -1723,6 +2138,8 @@ export const withExamples: {
1723
2138
  * { command: "myapp login --token sbp_abc123", description: "Log in with a token" }
1724
2139
  * ])
1725
2140
  * )
2141
+ *
2142
+ * login.examples.map((example) => example.command) // => ["myapp login", "myapp login --token sbp_abc123"]
1726
2143
  * ```
1727
2144
  *
1728
2145
  * @category combinators
@@ -1741,7 +2158,7 @@ export const withExamples: {
1741
2158
  *
1742
2159
  * **Example** (Adding usage examples)
1743
2160
  *
1744
- * ```ts
2161
+ * ```ts import.meta.vitest
1745
2162
  * import { Command } from "effect/unstable/cli"
1746
2163
  *
1747
2164
  * const login = Command.make("login").pipe(
@@ -1750,6 +2167,8 @@ export const withExamples: {
1750
2167
  * { command: "myapp login --token sbp_abc123", description: "Log in with a token" }
1751
2168
  * ])
1752
2169
  * )
2170
+ *
2171
+ * login.examples.map((example) => example.command) // => ["myapp login", "myapp login --token sbp_abc123"]
1753
2172
  * ```
1754
2173
  *
1755
2174
  * @category combinators
@@ -1783,16 +2202,35 @@ const mapHandler = <Name extends string, Input, E, R, ContextInput, E2, R2>(
1783
2202
  *
1784
2203
  * **Example** (Providing command services)
1785
2204
  *
1786
- * ```ts
1787
- * import { Effect, FileSystem, PlatformError } from "effect"
2205
+ * ```ts import.meta.vitest
2206
+ * import { Effect, FileSystem, Layer, Path, PlatformError, Stdio, Terminal } from "effect"
1788
2207
  * import { Command, Flag } from "effect/unstable/cli"
2208
+ * import { ChildProcessSpawner } from "effect/unstable/process"
2209
+ *
2210
+ * const CliTestLayer = Layer.mergeAll(
2211
+ * FileSystem.layerNoop({}),
2212
+ * Path.layer,
2213
+ * Stdio.layerTest({}),
2214
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
2215
+ * columns: Effect.succeed(80),
2216
+ * rows: Effect.succeed(24),
2217
+ * readInput: Effect.die("unused"),
2218
+ * readLine: Effect.die("unused"),
2219
+ * display: () => Effect.void
2220
+ * })),
2221
+ * Layer.succeed(
2222
+ * ChildProcessSpawner.ChildProcessSpawner,
2223
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
2224
+ * )
2225
+ * )
1789
2226
  *
2227
+ * const output: Array<string> = []
1790
2228
  * const deploy = Command.make("deploy", {
1791
2229
  * env: Flag.string("env")
1792
2230
  * }, (config) =>
1793
2231
  * Effect.gen(function*() {
1794
2232
  * const fs = yield* FileSystem.FileSystem
1795
- * // Use fs...
2233
+ * yield* Effect.sync(() => output.push(`Using file system for ${config.env}`))
1796
2234
  * })).pipe(
1797
2235
  * // Provide FileSystem based on the --env flag
1798
2236
  * Command.provide((config) =>
@@ -1809,6 +2247,11 @@ const mapHandler = <Name extends string, Input, E, R, ContextInput, E2, R2>(
1809
2247
  * })
1810
2248
  * )
1811
2249
  * )
2250
+ *
2251
+ * await Effect.runPromise(
2252
+ * Command.runWith(deploy, { version: "1.0.0" })(["--env", "local"]).pipe(Effect.provide(CliTestLayer))
2253
+ * )
2254
+ * output // => ["Using file system for local"]
1812
2255
  * ```
1813
2256
  *
1814
2257
  * @category providing services
@@ -1821,16 +2264,35 @@ export const provide: {
1821
2264
  *
1822
2265
  * **Example** (Providing command services)
1823
2266
  *
1824
- * ```ts
1825
- * import { Effect, FileSystem, PlatformError } from "effect"
2267
+ * ```ts import.meta.vitest
2268
+ * import { Effect, FileSystem, Layer, Path, PlatformError, Stdio, Terminal } from "effect"
1826
2269
  * import { Command, Flag } from "effect/unstable/cli"
2270
+ * import { ChildProcessSpawner } from "effect/unstable/process"
2271
+ *
2272
+ * const CliTestLayer = Layer.mergeAll(
2273
+ * FileSystem.layerNoop({}),
2274
+ * Path.layer,
2275
+ * Stdio.layerTest({}),
2276
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
2277
+ * columns: Effect.succeed(80),
2278
+ * rows: Effect.succeed(24),
2279
+ * readInput: Effect.die("unused"),
2280
+ * readLine: Effect.die("unused"),
2281
+ * display: () => Effect.void
2282
+ * })),
2283
+ * Layer.succeed(
2284
+ * ChildProcessSpawner.ChildProcessSpawner,
2285
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
2286
+ * )
2287
+ * )
1827
2288
  *
2289
+ * const output: Array<string> = []
1828
2290
  * const deploy = Command.make("deploy", {
1829
2291
  * env: Flag.string("env")
1830
2292
  * }, (config) =>
1831
2293
  * Effect.gen(function*() {
1832
2294
  * const fs = yield* FileSystem.FileSystem
1833
- * // Use fs...
2295
+ * yield* Effect.sync(() => output.push(`Using file system for ${config.env}`))
1834
2296
  * })).pipe(
1835
2297
  * // Provide FileSystem based on the --env flag
1836
2298
  * Command.provide((config) =>
@@ -1847,6 +2309,11 @@ export const provide: {
1847
2309
  * })
1848
2310
  * )
1849
2311
  * )
2312
+ *
2313
+ * await Effect.runPromise(
2314
+ * Command.runWith(deploy, { version: "1.0.0" })(["--env", "local"]).pipe(Effect.provide(CliTestLayer))
2315
+ * )
2316
+ * output // => ["Using file system for local"]
1850
2317
  * ```
1851
2318
  *
1852
2319
  * @category providing services
@@ -1866,16 +2333,35 @@ export const provide: {
1866
2333
  *
1867
2334
  * **Example** (Providing command services)
1868
2335
  *
1869
- * ```ts
1870
- * import { Effect, FileSystem, PlatformError } from "effect"
2336
+ * ```ts import.meta.vitest
2337
+ * import { Effect, FileSystem, Layer, Path, PlatformError, Stdio, Terminal } from "effect"
1871
2338
  * import { Command, Flag } from "effect/unstable/cli"
2339
+ * import { ChildProcessSpawner } from "effect/unstable/process"
2340
+ *
2341
+ * const CliTestLayer = Layer.mergeAll(
2342
+ * FileSystem.layerNoop({}),
2343
+ * Path.layer,
2344
+ * Stdio.layerTest({}),
2345
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
2346
+ * columns: Effect.succeed(80),
2347
+ * rows: Effect.succeed(24),
2348
+ * readInput: Effect.die("unused"),
2349
+ * readLine: Effect.die("unused"),
2350
+ * display: () => Effect.void
2351
+ * })),
2352
+ * Layer.succeed(
2353
+ * ChildProcessSpawner.ChildProcessSpawner,
2354
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
2355
+ * )
2356
+ * )
1872
2357
  *
2358
+ * const output: Array<string> = []
1873
2359
  * const deploy = Command.make("deploy", {
1874
2360
  * env: Flag.string("env")
1875
2361
  * }, (config) =>
1876
2362
  * Effect.gen(function*() {
1877
2363
  * const fs = yield* FileSystem.FileSystem
1878
- * // Use fs...
2364
+ * yield* Effect.sync(() => output.push(`Using file system for ${config.env}`))
1879
2365
  * })).pipe(
1880
2366
  * // Provide FileSystem based on the --env flag
1881
2367
  * Command.provide((config) =>
@@ -1892,6 +2378,11 @@ export const provide: {
1892
2378
  * })
1893
2379
  * )
1894
2380
  * )
2381
+ *
2382
+ * await Effect.runPromise(
2383
+ * Command.runWith(deploy, { version: "1.0.0" })(["--env", "local"]).pipe(Effect.provide(CliTestLayer))
2384
+ * )
2385
+ * output // => ["Using file system for local"]
1895
2386
  * ```
1896
2387
  *
1897
2388
  * @category providing services
@@ -2093,19 +2584,42 @@ export const provideEffectDiscard: {
2093
2584
  *
2094
2585
  * **Example** (Constructing command arguments)
2095
2586
  *
2096
- * ```ts
2097
- * import { Console, Effect } from "effect"
2587
+ * ```ts import.meta.vitest
2588
+ * import { Console, Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
2098
2589
  * import { Command } from "effect/unstable/cli"
2590
+ * import { ChildProcessSpawner } from "effect/unstable/process"
2591
+ *
2592
+ * const CliTestLayer = Layer.mergeAll(
2593
+ * FileSystem.layerNoop({}),
2594
+ * Path.layer,
2595
+ * Stdio.layerTest({}),
2596
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
2597
+ * columns: Effect.succeed(80),
2598
+ * rows: Effect.succeed(24),
2599
+ * readInput: Effect.die("unused"),
2600
+ * readLine: Effect.die("unused"),
2601
+ * display: () => Effect.void
2602
+ * })),
2603
+ * Layer.succeed(
2604
+ * ChildProcessSpawner.ChildProcessSpawner,
2605
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
2606
+ * )
2607
+ * )
2099
2608
  *
2100
2609
  * 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(" "))
2610
+ * const silentConsole: Console.Console = Object.assign(Object.create(console), {
2611
+ * log: () => {}
2105
2612
  * })
2613
+ *
2614
+ * const program = Command.wizard(command).pipe(
2615
+ * Effect.provideService(Console.Console, silentConsole),
2616
+ * Effect.provide(CliTestLayer)
2617
+ * )
2618
+ *
2619
+ * await Effect.runPromise(program) // => ["app"]
2106
2620
  * ```
2107
2621
  *
2108
- * @category command execution
2622
+ * @category running
2109
2623
  * @since 4.0.0
2110
2624
  */
2111
2625
  export const wizard = <Name extends string, Input, E, R, ContextInput>(
@@ -2156,18 +2670,26 @@ const getOutOfScopeGlobalFlagErrors = (
2156
2670
 
2157
2671
  const showHelp = <Name extends string, Input, E, R, ContextInput>(
2158
2672
  command: Command<Name, Input, ContextInput, E, R>,
2159
- error: CliError.ShowHelp
2673
+ error: CliError.ShowHelp,
2674
+ renderErrors: boolean
2160
2675
  ): Effect.Effect<void, CliError.CliError, Environment> =>
2161
2676
  Effect.gen(function*() {
2162
2677
  const { builtIns } = yield* CliConfig.CliConfig
2163
2678
  const formatter = yield* CliOutput.Formatter
2164
2679
  const helpDoc = yield* getHelpForCommandPath(command, error.commandPath, builtIns)
2165
2680
  yield* Console.log(formatter.formatHelpDoc(helpDoc))
2166
- if (error.errors.length > 0) {
2681
+ if (renderErrors && error.errors.length > 0) {
2167
2682
  yield* Console.error(formatter.formatErrors(error.errors as any))
2168
2683
  }
2169
2684
  })
2170
2685
 
2686
+ const showUserError = (error: CliError.UserError): Effect.Effect<void> =>
2687
+ Effect.gen(function*() {
2688
+ const formatter = yield* CliOutput.Formatter
2689
+ yield* Console.error(formatter.formatError(error))
2690
+ error[Runtime.errorReported] = false
2691
+ })
2692
+
2171
2693
  /**
2172
2694
  * Runs a command using the arguments supplied by the `Stdio` service.
2173
2695
  *
@@ -2176,28 +2698,57 @@ const showHelp = <Name extends string, Input, E, R, ContextInput>(
2176
2698
  * Use when command-line arguments should come from `Stdio` at the application
2177
2699
  * entry point.
2178
2700
  *
2701
+ * Help documents are always rendered. By default, parse error details and
2702
+ * `CliError.UserError` failures are also rendered with the installed
2703
+ * `CliOutput.Formatter` before the error is rethrown. Set `renderErrors` to
2704
+ * `false` when the host application owns error rendering.
2705
+ *
2179
2706
  * **Example** (Running commands with standard input)
2180
2707
  *
2181
- * ```ts
2182
- * import { Console, Effect } from "effect"
2708
+ * ```ts import.meta.vitest
2709
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
2183
2710
  * import { Command, Flag } from "effect/unstable/cli"
2711
+ * import { ChildProcessSpawner } from "effect/unstable/process"
2712
+ *
2713
+ * const CliTestLayer = Layer.mergeAll(
2714
+ * FileSystem.layerNoop({}),
2715
+ * Path.layer,
2716
+ * Stdio.layerTest({
2717
+ * args: Effect.succeed(["--name", "Alice"])
2718
+ * }),
2719
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
2720
+ * columns: Effect.succeed(80),
2721
+ * rows: Effect.succeed(24),
2722
+ * readInput: Effect.die("unused"),
2723
+ * readLine: Effect.die("unused"),
2724
+ * display: () => Effect.void
2725
+ * })),
2726
+ * Layer.succeed(
2727
+ * ChildProcessSpawner.ChildProcessSpawner,
2728
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
2729
+ * )
2730
+ * )
2184
2731
  *
2732
+ * const output: Array<string> = []
2185
2733
  * const greetCommand = Command.make("greet", {
2186
2734
  * name: Flag.string("name")
2187
2735
  * }, (config) =>
2188
2736
  * Effect.gen(function*() {
2189
- * yield* Console.log(`Hello, ${config.name}!`)
2737
+ * yield* Effect.sync(() => output.push(`Hello, ${config.name}!`))
2190
2738
  * }))
2191
2739
  *
2192
2740
  * // Automatically gets args from the Stdio service
2193
2741
  * const program = Command.run(greetCommand, {
2194
2742
  * version: "1.0.0"
2195
2743
  * })
2744
+ *
2745
+ * await Effect.runPromise(program.pipe(Effect.provide(CliTestLayer)))
2746
+ * output // => ["Hello, Alice!"]
2196
2747
  * ```
2197
2748
  *
2198
2749
  * @see {@link runWith} for running a command with an explicit argument array
2199
2750
  *
2200
- * @category command execution
2751
+ * @category running
2201
2752
  * @since 4.0.0
2202
2753
  */
2203
2754
  export const run: {
@@ -2209,33 +2760,63 @@ export const run: {
2209
2760
  * Use when command-line arguments should come from `Stdio` at the application
2210
2761
  * entry point.
2211
2762
  *
2763
+ * Help documents are always rendered. By default, parse error details and
2764
+ * `CliError.UserError` failures are also rendered with the installed
2765
+ * `CliOutput.Formatter` before the error is rethrown. Set `renderErrors` to
2766
+ * `false` when the host application owns error rendering.
2767
+ *
2212
2768
  * **Example** (Running commands with standard input)
2213
2769
  *
2214
- * ```ts
2215
- * import { Console, Effect } from "effect"
2770
+ * ```ts import.meta.vitest
2771
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
2216
2772
  * import { Command, Flag } from "effect/unstable/cli"
2773
+ * import { ChildProcessSpawner } from "effect/unstable/process"
2774
+ *
2775
+ * const CliTestLayer = Layer.mergeAll(
2776
+ * FileSystem.layerNoop({}),
2777
+ * Path.layer,
2778
+ * Stdio.layerTest({
2779
+ * args: Effect.succeed(["--name", "Alice"])
2780
+ * }),
2781
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
2782
+ * columns: Effect.succeed(80),
2783
+ * rows: Effect.succeed(24),
2784
+ * readInput: Effect.die("unused"),
2785
+ * readLine: Effect.die("unused"),
2786
+ * display: () => Effect.void
2787
+ * })),
2788
+ * Layer.succeed(
2789
+ * ChildProcessSpawner.ChildProcessSpawner,
2790
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
2791
+ * )
2792
+ * )
2217
2793
  *
2794
+ * const output: Array<string> = []
2218
2795
  * const greetCommand = Command.make("greet", {
2219
2796
  * name: Flag.string("name")
2220
2797
  * }, (config) =>
2221
2798
  * Effect.gen(function*() {
2222
- * yield* Console.log(`Hello, ${config.name}!`)
2799
+ * yield* Effect.sync(() => output.push(`Hello, ${config.name}!`))
2223
2800
  * }))
2224
2801
  *
2225
2802
  * // Automatically gets args from the Stdio service
2226
2803
  * const program = Command.run(greetCommand, {
2227
2804
  * version: "1.0.0"
2228
2805
  * })
2806
+ *
2807
+ * await Effect.runPromise(program.pipe(Effect.provide(CliTestLayer)))
2808
+ * output // => ["Hello, Alice!"]
2229
2809
  * ```
2230
2810
  *
2231
2811
  * @see {@link runWith} for running a command with an explicit argument array
2232
2812
  *
2233
- * @category command execution
2813
+ * @category running
2234
2814
  * @since 4.0.0
2235
2815
  */
2236
2816
  (
2237
2817
  config: {
2238
2818
  readonly version: string
2819
+ readonly renderErrors?: boolean | undefined
2239
2820
  }
2240
2821
  ): <Name extends string, Input, E, R, ContextInput>(
2241
2822
  command: Command<Name, Input, ContextInput, E, R>
@@ -2248,40 +2829,71 @@ export const run: {
2248
2829
  * Use when command-line arguments should come from `Stdio` at the application
2249
2830
  * entry point.
2250
2831
  *
2832
+ * Help documents are always rendered. By default, parse error details and
2833
+ * `CliError.UserError` failures are also rendered with the installed
2834
+ * `CliOutput.Formatter` before the error is rethrown. Set `renderErrors` to
2835
+ * `false` when the host application owns error rendering.
2836
+ *
2251
2837
  * **Example** (Running commands with standard input)
2252
2838
  *
2253
- * ```ts
2254
- * import { Console, Effect } from "effect"
2839
+ * ```ts import.meta.vitest
2840
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
2255
2841
  * import { Command, Flag } from "effect/unstable/cli"
2842
+ * import { ChildProcessSpawner } from "effect/unstable/process"
2843
+ *
2844
+ * const CliTestLayer = Layer.mergeAll(
2845
+ * FileSystem.layerNoop({}),
2846
+ * Path.layer,
2847
+ * Stdio.layerTest({
2848
+ * args: Effect.succeed(["--name", "Alice"])
2849
+ * }),
2850
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
2851
+ * columns: Effect.succeed(80),
2852
+ * rows: Effect.succeed(24),
2853
+ * readInput: Effect.die("unused"),
2854
+ * readLine: Effect.die("unused"),
2855
+ * display: () => Effect.void
2856
+ * })),
2857
+ * Layer.succeed(
2858
+ * ChildProcessSpawner.ChildProcessSpawner,
2859
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
2860
+ * )
2861
+ * )
2256
2862
  *
2863
+ * const output: Array<string> = []
2257
2864
  * const greetCommand = Command.make("greet", {
2258
2865
  * name: Flag.string("name")
2259
2866
  * }, (config) =>
2260
2867
  * Effect.gen(function*() {
2261
- * yield* Console.log(`Hello, ${config.name}!`)
2868
+ * yield* Effect.sync(() => output.push(`Hello, ${config.name}!`))
2262
2869
  * }))
2263
2870
  *
2264
2871
  * // Automatically gets args from the Stdio service
2265
2872
  * const program = Command.run(greetCommand, {
2266
2873
  * version: "1.0.0"
2267
2874
  * })
2875
+ *
2876
+ * await Effect.runPromise(program.pipe(Effect.provide(CliTestLayer)))
2877
+ * output // => ["Hello, Alice!"]
2268
2878
  * ```
2269
2879
  *
2270
2880
  * @see {@link runWith} for running a command with an explicit argument array
2271
2881
  *
2272
- * @category command execution
2882
+ * @category running
2273
2883
  * @since 4.0.0
2274
2884
  */
2275
2885
  <Name extends string, Input, E, R, ContextInput>(
2276
2886
  command: Command<Name, Input, ContextInput, E, R>,
2277
2887
  config: {
2278
2888
  readonly version: string
2889
+ readonly renderErrors?: boolean | undefined
2279
2890
  }
2280
2891
  ): Effect.Effect<void, E | CliError.CliError, R | Environment>
2281
2892
  } = dual(2, <Name extends string, Input, E, R, ContextInput>(
2282
2893
  command: Command<Name, Input, ContextInput, E, R>,
2283
2894
  config: {
2284
2895
  readonly version: string
2896
+ readonly renderErrors?: boolean | undefined
2285
2897
  }
2286
2898
  ) =>
2287
2899
  Stdio.Stdio.use(({ args }) =>
@@ -2299,19 +2911,43 @@ export const run: {
2299
2911
  * Use when you need to test CLI applications or programmatically execute
2300
2912
  * commands with specific arguments.
2301
2913
  *
2914
+ * Help documents are always rendered. By default, parse error details and
2915
+ * `CliError.UserError` failures are also rendered with the installed
2916
+ * `CliOutput.Formatter` before the error is rethrown. Set `renderErrors` to
2917
+ * `false` when the host application owns error rendering.
2918
+ *
2302
2919
  * **Example** (Running commands with explicit arguments)
2303
2920
  *
2304
- * ```ts
2305
- * import { Console, Effect } from "effect"
2921
+ * ```ts import.meta.vitest
2922
+ * import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
2306
2923
  * import { Command, Flag } from "effect/unstable/cli"
2924
+ * import { ChildProcessSpawner } from "effect/unstable/process"
2925
+ *
2926
+ * const CliTestLayer = Layer.mergeAll(
2927
+ * FileSystem.layerNoop({}),
2928
+ * Path.layer,
2929
+ * Stdio.layerTest({}),
2930
+ * Layer.succeed(Terminal.Terminal, Terminal.make({
2931
+ * columns: Effect.succeed(80),
2932
+ * rows: Effect.succeed(24),
2933
+ * readInput: Effect.die("unused"),
2934
+ * readLine: Effect.die("unused"),
2935
+ * display: () => Effect.void
2936
+ * })),
2937
+ * Layer.succeed(
2938
+ * ChildProcessSpawner.ChildProcessSpawner,
2939
+ * ChildProcessSpawner.make(() => Effect.die("unused"))
2940
+ * )
2941
+ * )
2307
2942
  *
2943
+ * const output: Array<string> = []
2308
2944
  * const greet = Command.make("greet", {
2309
2945
  * name: Flag.string("name"),
2310
2946
  * count: Flag.integer("count").pipe(Flag.withDefault(1))
2311
2947
  * }, (config) =>
2312
2948
  * Effect.gen(function*() {
2313
2949
  * for (let i = 0; i < config.count; i++) {
2314
- * yield* Console.log(`Hello, ${config.name}!`)
2950
+ * yield* Effect.sync(() => output.push(`Hello, ${config.name}!`))
2315
2951
  * }
2316
2952
  * }))
2317
2953
  *
@@ -2319,24 +2955,21 @@ export const run: {
2319
2955
  * const testProgram = Effect.gen(function*() {
2320
2956
  * const runCommand = Command.runWith(greet, { version: "1.0.0" })
2321
2957
  *
2322
- * // Test normal execution
2323
2958
  * 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
2959
  * })
2960
+ *
2961
+ * await Effect.runPromise(testProgram.pipe(Effect.provide(CliTestLayer)))
2962
+ * output // => ["Hello, Alice!", "Hello, Alice!"]
2331
2963
  * ```
2332
2964
  *
2333
- * @category command execution
2965
+ * @category running
2334
2966
  * @since 4.0.0
2335
2967
  */
2336
2968
  export const runWith = <const Name extends string, Input, E, R, ContextInput>(
2337
2969
  command: Command<Name, Input, ContextInput, E, R>,
2338
2970
  config: {
2339
2971
  readonly version: string
2972
+ readonly renderErrors?: boolean | undefined
2340
2973
  }
2341
2974
  ): (
2342
2975
  input: ReadonlyArray<string>
@@ -2403,7 +3036,7 @@ export const runWith = <const Name extends string, Input, E, R, ContextInput>(
2403
3036
  }))
2404
3037
  if (shouldRun) {
2405
3038
  yield* Console.log()
2406
- yield* runWith(command, config)(wizardArgs.slice(1))
3039
+ yield* runWith(command, { ...config, renderErrors: false })(wizardArgs.slice(1))
2407
3040
  }
2408
3041
  }).pipe(
2409
3042
  Effect.catchTag("QuitError", () => Console.log(Wizard.renderQuit()))
@@ -2451,7 +3084,14 @@ export const runWith = <const Name extends string, Input, E, R, ContextInput>(
2451
3084
  CliError.isCliError(error) && error._tag === "ShowHelp"
2452
3085
  ? Result.succeed(error)
2453
3086
  : Result.fail(error),
2454
- (error) => Effect.andThen(showHelp(command, error), Effect.fail(error))
3087
+ (error) => Effect.andThen(showHelp(command, error, config.renderErrors !== false), Effect.fail(error))
3088
+ ),
3089
+ Effect.catchFilter(
3090
+ (error) =>
3091
+ config.renderErrors !== false && CliError.isCliError(error) && error._tag === "UserError"
3092
+ ? Result.succeed(error)
3093
+ : Result.fail(error),
3094
+ (error) => Effect.andThen(showUserError(error), Effect.fail(error))
2455
3095
  ),
2456
3096
  Effect.catchFilter(
2457
3097
  (e) =>