effect 4.0.0-beta.6 → 4.0.0-beta.62

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 (1475) hide show
  1. package/dist/Array.d.ts +213 -385
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +149 -102
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +82 -45
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +105 -52
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +39 -32
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +36 -33
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Brand.d.ts +3 -5
  14. package/dist/Brand.d.ts.map +1 -1
  15. package/dist/Brand.js +1 -1
  16. package/dist/Brand.js.map +1 -1
  17. package/dist/Cache.d.ts +14 -45
  18. package/dist/Cache.d.ts.map +1 -1
  19. package/dist/Cache.js +21 -47
  20. package/dist/Cache.js.map +1 -1
  21. package/dist/Cause.d.ts +53 -22
  22. package/dist/Cause.d.ts.map +1 -1
  23. package/dist/Cause.js +108 -10
  24. package/dist/Cause.js.map +1 -1
  25. package/dist/Channel.d.ts +166 -48
  26. package/dist/Channel.d.ts.map +1 -1
  27. package/dist/Channel.js +176 -87
  28. package/dist/Channel.js.map +1 -1
  29. package/dist/Chunk.d.ts +112 -304
  30. package/dist/Chunk.d.ts.map +1 -1
  31. package/dist/Chunk.js +56 -88
  32. package/dist/Chunk.js.map +1 -1
  33. package/dist/Clock.d.ts +2 -2
  34. package/dist/Clock.d.ts.map +1 -1
  35. package/dist/Clock.js.map +1 -1
  36. package/dist/Combiner.d.ts +280 -13
  37. package/dist/Combiner.d.ts.map +1 -1
  38. package/dist/Combiner.js +198 -7
  39. package/dist/Combiner.js.map +1 -1
  40. package/dist/Config.d.ts +189 -29
  41. package/dist/Config.d.ts.map +1 -1
  42. package/dist/Config.js +85 -35
  43. package/dist/Config.js.map +1 -1
  44. package/dist/ConfigProvider.d.ts +6 -6
  45. package/dist/ConfigProvider.d.ts.map +1 -1
  46. package/dist/ConfigProvider.js +5 -5
  47. package/dist/ConfigProvider.js.map +1 -1
  48. package/dist/Console.d.ts +2 -2
  49. package/dist/Console.d.ts.map +1 -1
  50. package/dist/Console.js.map +1 -1
  51. package/dist/Context.d.ts +1150 -0
  52. package/dist/Context.d.ts.map +1 -0
  53. package/dist/{ServiceMap.js → Context.js} +181 -165
  54. package/dist/Context.js.map +1 -0
  55. package/dist/Cron.d.ts +11 -7
  56. package/dist/Cron.d.ts.map +1 -1
  57. package/dist/Cron.js +120 -63
  58. package/dist/Cron.js.map +1 -1
  59. package/dist/Data.d.ts +533 -365
  60. package/dist/Data.d.ts.map +1 -1
  61. package/dist/Data.js +125 -73
  62. package/dist/Data.js.map +1 -1
  63. package/dist/DateTime.d.ts +74 -255
  64. package/dist/DateTime.d.ts.map +1 -1
  65. package/dist/DateTime.js +17 -62
  66. package/dist/DateTime.js.map +1 -1
  67. package/dist/Deferred.d.ts +12 -5
  68. package/dist/Deferred.d.ts.map +1 -1
  69. package/dist/Deferred.js +13 -5
  70. package/dist/Deferred.js.map +1 -1
  71. package/dist/Duration.d.ts +74 -40
  72. package/dist/Duration.d.ts.map +1 -1
  73. package/dist/Duration.js +126 -87
  74. package/dist/Duration.js.map +1 -1
  75. package/dist/Effect.d.ts +1435 -927
  76. package/dist/Effect.d.ts.map +1 -1
  77. package/dist/Effect.js +516 -328
  78. package/dist/Effect.js.map +1 -1
  79. package/dist/Effectable.d.ts +29 -0
  80. package/dist/Effectable.d.ts.map +1 -0
  81. package/dist/Effectable.js +31 -0
  82. package/dist/Effectable.js.map +1 -0
  83. package/dist/Encoding.d.ts +1 -1
  84. package/dist/Equal.d.ts +276 -109
  85. package/dist/Equal.d.ts.map +1 -1
  86. package/dist/Equal.js +140 -48
  87. package/dist/Equal.js.map +1 -1
  88. package/dist/Equivalence.d.ts +60 -3
  89. package/dist/Equivalence.d.ts.map +1 -1
  90. package/dist/Equivalence.js +70 -13
  91. package/dist/Equivalence.js.map +1 -1
  92. package/dist/ErrorReporter.d.ts +374 -0
  93. package/dist/ErrorReporter.d.ts.map +1 -0
  94. package/dist/ErrorReporter.js +245 -0
  95. package/dist/ErrorReporter.js.map +1 -0
  96. package/dist/ExecutionPlan.d.ts +6 -6
  97. package/dist/ExecutionPlan.d.ts.map +1 -1
  98. package/dist/ExecutionPlan.js +4 -4
  99. package/dist/ExecutionPlan.js.map +1 -1
  100. package/dist/Exit.d.ts +24 -12
  101. package/dist/Exit.d.ts.map +1 -1
  102. package/dist/Exit.js +8 -4
  103. package/dist/Exit.js.map +1 -1
  104. package/dist/Fiber.d.ts +10 -8
  105. package/dist/Fiber.d.ts.map +1 -1
  106. package/dist/Fiber.js.map +1 -1
  107. package/dist/FiberHandle.d.ts +11 -10
  108. package/dist/FiberHandle.d.ts.map +1 -1
  109. package/dist/FiberHandle.js +12 -11
  110. package/dist/FiberHandle.js.map +1 -1
  111. package/dist/FiberMap.d.ts +22 -21
  112. package/dist/FiberMap.d.ts.map +1 -1
  113. package/dist/FiberMap.js +10 -10
  114. package/dist/FiberMap.js.map +1 -1
  115. package/dist/FiberSet.d.ts +2 -2
  116. package/dist/FiberSet.d.ts.map +1 -1
  117. package/dist/FiberSet.js +4 -4
  118. package/dist/FiberSet.js.map +1 -1
  119. package/dist/FileSystem.d.ts +20 -19
  120. package/dist/FileSystem.d.ts.map +1 -1
  121. package/dist/FileSystem.js +15 -11
  122. package/dist/FileSystem.js.map +1 -1
  123. package/dist/Filter.d.ts +4 -37
  124. package/dist/Filter.d.ts.map +1 -1
  125. package/dist/Filter.js +0 -13
  126. package/dist/Filter.js.map +1 -1
  127. package/dist/Formatter.d.ts +131 -47
  128. package/dist/Formatter.d.ts.map +1 -1
  129. package/dist/Formatter.js +243 -55
  130. package/dist/Formatter.js.map +1 -1
  131. package/dist/Function.d.ts +1 -9
  132. package/dist/Function.d.ts.map +1 -1
  133. package/dist/Function.js +2 -10
  134. package/dist/Function.js.map +1 -1
  135. package/dist/Graph.d.ts +65 -65
  136. package/dist/Graph.d.ts.map +1 -1
  137. package/dist/Graph.js +58 -60
  138. package/dist/Graph.js.map +1 -1
  139. package/dist/Hash.js +1 -1
  140. package/dist/Hash.js.map +1 -1
  141. package/dist/HashMap.d.ts +26 -19
  142. package/dist/HashMap.d.ts.map +1 -1
  143. package/dist/HashMap.js +7 -5
  144. package/dist/HashMap.js.map +1 -1
  145. package/dist/Inspectable.d.ts +0 -4
  146. package/dist/Inspectable.d.ts.map +1 -1
  147. package/dist/Inspectable.js +4 -13
  148. package/dist/Inspectable.js.map +1 -1
  149. package/dist/Iterable.d.ts +50 -50
  150. package/dist/Iterable.d.ts.map +1 -1
  151. package/dist/Iterable.js +106 -34
  152. package/dist/Iterable.js.map +1 -1
  153. package/dist/JsonSchema.d.ts +299 -10
  154. package/dist/JsonSchema.d.ts.map +1 -1
  155. package/dist/JsonSchema.js +323 -4
  156. package/dist/JsonSchema.js.map +1 -1
  157. package/dist/Latch.d.ts +69 -3
  158. package/dist/Latch.d.ts.map +1 -1
  159. package/dist/Latch.js +58 -0
  160. package/dist/Latch.js.map +1 -1
  161. package/dist/Layer.d.ts +599 -379
  162. package/dist/Layer.d.ts.map +1 -1
  163. package/dist/Layer.js +249 -180
  164. package/dist/Layer.js.map +1 -1
  165. package/dist/LayerMap.d.ts +27 -26
  166. package/dist/LayerMap.d.ts.map +1 -1
  167. package/dist/LayerMap.js +21 -18
  168. package/dist/LayerMap.js.map +1 -1
  169. package/dist/LogLevel.d.ts +32 -0
  170. package/dist/LogLevel.d.ts.map +1 -1
  171. package/dist/LogLevel.js +28 -100
  172. package/dist/LogLevel.js.map +1 -1
  173. package/dist/Logger.d.ts +31 -97
  174. package/dist/Logger.d.ts.map +1 -1
  175. package/dist/Logger.js +2 -3
  176. package/dist/Logger.js.map +1 -1
  177. package/dist/ManagedRuntime.d.ts +8 -8
  178. package/dist/ManagedRuntime.d.ts.map +1 -1
  179. package/dist/ManagedRuntime.js +34 -25
  180. package/dist/ManagedRuntime.js.map +1 -1
  181. package/dist/Metric.d.ts +23 -25
  182. package/dist/Metric.d.ts.map +1 -1
  183. package/dist/Metric.js +24 -26
  184. package/dist/Metric.js.map +1 -1
  185. package/dist/MutableHashMap.d.ts +7 -0
  186. package/dist/MutableHashMap.d.ts.map +1 -1
  187. package/dist/MutableHashMap.js +8 -0
  188. package/dist/MutableHashMap.js.map +1 -1
  189. package/dist/MutableHashSet.d.ts +7 -0
  190. package/dist/MutableHashSet.d.ts.map +1 -1
  191. package/dist/MutableHashSet.js +8 -0
  192. package/dist/MutableHashSet.js.map +1 -1
  193. package/dist/MutableList.d.ts.map +1 -1
  194. package/dist/MutableList.js +3 -0
  195. package/dist/MutableList.js.map +1 -1
  196. package/dist/Newtype.d.ts +291 -0
  197. package/dist/Newtype.d.ts.map +1 -0
  198. package/dist/Newtype.js +161 -0
  199. package/dist/Newtype.js.map +1 -0
  200. package/dist/Number.d.ts +74 -18
  201. package/dist/Number.d.ts.map +1 -1
  202. package/dist/Number.js +46 -18
  203. package/dist/Number.js.map +1 -1
  204. package/dist/Optic.d.ts +947 -18
  205. package/dist/Optic.d.ts.map +1 -1
  206. package/dist/Optic.js +454 -5
  207. package/dist/Optic.js.map +1 -1
  208. package/dist/Option.d.ts +25 -16
  209. package/dist/Option.d.ts.map +1 -1
  210. package/dist/Option.js +15 -9
  211. package/dist/Option.js.map +1 -1
  212. package/dist/Order.d.ts +6 -1
  213. package/dist/Order.d.ts.map +1 -1
  214. package/dist/Order.js +19 -14
  215. package/dist/Order.js.map +1 -1
  216. package/dist/PartitionedSemaphore.d.ts +183 -0
  217. package/dist/PartitionedSemaphore.d.ts.map +1 -0
  218. package/dist/PartitionedSemaphore.js +231 -0
  219. package/dist/PartitionedSemaphore.js.map +1 -0
  220. package/dist/Path.d.ts +2 -2
  221. package/dist/Path.d.ts.map +1 -1
  222. package/dist/Path.js +2 -2
  223. package/dist/Path.js.map +1 -1
  224. package/dist/PlatformError.d.ts +2 -2
  225. package/dist/Pool.d.ts +1 -1
  226. package/dist/Pool.d.ts.map +1 -1
  227. package/dist/Pool.js +5 -5
  228. package/dist/Pool.js.map +1 -1
  229. package/dist/Predicate.d.ts +1 -1
  230. package/dist/Predicate.d.ts.map +1 -1
  231. package/dist/PubSub.d.ts +5 -4
  232. package/dist/PubSub.d.ts.map +1 -1
  233. package/dist/PubSub.js +15 -8
  234. package/dist/PubSub.js.map +1 -1
  235. package/dist/Pull.d.ts.map +1 -1
  236. package/dist/Pull.js +1 -1
  237. package/dist/Pull.js.map +1 -1
  238. package/dist/Queue.d.ts +9 -6
  239. package/dist/Queue.d.ts.map +1 -1
  240. package/dist/Queue.js +7 -5
  241. package/dist/Queue.js.map +1 -1
  242. package/dist/Random.d.ts +36 -2
  243. package/dist/Random.d.ts.map +1 -1
  244. package/dist/Random.js +46 -35
  245. package/dist/Random.js.map +1 -1
  246. package/dist/RcMap.d.ts +4 -4
  247. package/dist/RcMap.d.ts.map +1 -1
  248. package/dist/RcMap.js +13 -13
  249. package/dist/RcMap.js.map +1 -1
  250. package/dist/RcRef.d.ts +1 -1
  251. package/dist/RcRef.d.ts.map +1 -1
  252. package/dist/Record.d.ts +63 -160
  253. package/dist/Record.d.ts.map +1 -1
  254. package/dist/Record.js +37 -56
  255. package/dist/Record.js.map +1 -1
  256. package/dist/Redactable.d.ts +139 -62
  257. package/dist/Redactable.d.ts.map +1 -1
  258. package/dist/Redactable.js +59 -55
  259. package/dist/Redactable.js.map +1 -1
  260. package/dist/Reducer.d.ts +166 -7
  261. package/dist/Reducer.d.ts.map +1 -1
  262. package/dist/Reducer.js +135 -1
  263. package/dist/Reducer.js.map +1 -1
  264. package/dist/References.d.ts +257 -229
  265. package/dist/References.d.ts.map +1 -1
  266. package/dist/References.js +240 -259
  267. package/dist/References.js.map +1 -1
  268. package/dist/Request.d.ts +5 -5
  269. package/dist/Request.d.ts.map +1 -1
  270. package/dist/Request.js.map +1 -1
  271. package/dist/RequestResolver.d.ts +25 -25
  272. package/dist/RequestResolver.d.ts.map +1 -1
  273. package/dist/RequestResolver.js +15 -16
  274. package/dist/RequestResolver.js.map +1 -1
  275. package/dist/Resource.d.ts +0 -3
  276. package/dist/Resource.d.ts.map +1 -1
  277. package/dist/Resource.js +5 -4
  278. package/dist/Resource.js.map +1 -1
  279. package/dist/Result.d.ts +1 -1
  280. package/dist/Result.d.ts.map +1 -1
  281. package/dist/Result.js +1 -2
  282. package/dist/Result.js.map +1 -1
  283. package/dist/Runtime.d.ts +66 -0
  284. package/dist/Runtime.d.ts.map +1 -1
  285. package/dist/Runtime.js +79 -6
  286. package/dist/Runtime.js.map +1 -1
  287. package/dist/Schedule.d.ts +174 -291
  288. package/dist/Schedule.d.ts.map +1 -1
  289. package/dist/Schedule.js +132 -120
  290. package/dist/Schedule.js.map +1 -1
  291. package/dist/Scheduler.d.ts +36 -125
  292. package/dist/Scheduler.d.ts.map +1 -1
  293. package/dist/Scheduler.js +37 -126
  294. package/dist/Scheduler.js.map +1 -1
  295. package/dist/Schema.d.ts +3213 -392
  296. package/dist/Schema.d.ts.map +1 -1
  297. package/dist/Schema.js +2058 -252
  298. package/dist/Schema.js.map +1 -1
  299. package/dist/SchemaAST.d.ts +13 -2
  300. package/dist/SchemaAST.d.ts.map +1 -1
  301. package/dist/SchemaAST.js +340 -257
  302. package/dist/SchemaAST.js.map +1 -1
  303. package/dist/SchemaGetter.d.ts +55 -13
  304. package/dist/SchemaGetter.d.ts.map +1 -1
  305. package/dist/SchemaGetter.js +73 -11
  306. package/dist/SchemaGetter.js.map +1 -1
  307. package/dist/SchemaIssue.d.ts.map +1 -1
  308. package/dist/SchemaIssue.js +29 -11
  309. package/dist/SchemaIssue.js.map +1 -1
  310. package/dist/SchemaParser.d.ts +44 -54
  311. package/dist/SchemaParser.d.ts.map +1 -1
  312. package/dist/SchemaParser.js +69 -4
  313. package/dist/SchemaParser.js.map +1 -1
  314. package/dist/SchemaRepresentation.d.ts +2 -2
  315. package/dist/SchemaRepresentation.d.ts.map +1 -1
  316. package/dist/SchemaRepresentation.js +63 -39
  317. package/dist/SchemaRepresentation.js.map +1 -1
  318. package/dist/SchemaTransformation.d.ts +245 -3
  319. package/dist/SchemaTransformation.d.ts.map +1 -1
  320. package/dist/SchemaTransformation.js +297 -33
  321. package/dist/SchemaTransformation.js.map +1 -1
  322. package/dist/Scope.d.ts +2 -2
  323. package/dist/Scope.d.ts.map +1 -1
  324. package/dist/Scope.js.map +1 -1
  325. package/dist/ScopedCache.d.ts +2 -2
  326. package/dist/ScopedCache.d.ts.map +1 -1
  327. package/dist/ScopedCache.js +5 -5
  328. package/dist/ScopedCache.js.map +1 -1
  329. package/dist/Semaphore.d.ts +148 -52
  330. package/dist/Semaphore.d.ts.map +1 -1
  331. package/dist/Semaphore.js +135 -117
  332. package/dist/Semaphore.js.map +1 -1
  333. package/dist/Sink.d.ts +22 -19
  334. package/dist/Sink.d.ts.map +1 -1
  335. package/dist/Sink.js +54 -7
  336. package/dist/Sink.js.map +1 -1
  337. package/dist/Stdio.d.ts +18 -6
  338. package/dist/Stdio.d.ts.map +1 -1
  339. package/dist/Stdio.js +20 -2
  340. package/dist/Stdio.js.map +1 -1
  341. package/dist/Stream.d.ts +465 -542
  342. package/dist/Stream.d.ts.map +1 -1
  343. package/dist/Stream.js +329 -145
  344. package/dist/Stream.js.map +1 -1
  345. package/dist/String.d.ts +114 -47
  346. package/dist/String.d.ts.map +1 -1
  347. package/dist/String.js +29 -47
  348. package/dist/String.js.map +1 -1
  349. package/dist/Struct.d.ts +7 -7
  350. package/dist/Struct.d.ts.map +1 -1
  351. package/dist/SubscriptionRef.d.ts +1 -2
  352. package/dist/SubscriptionRef.d.ts.map +1 -1
  353. package/dist/SubscriptionRef.js +83 -116
  354. package/dist/SubscriptionRef.js.map +1 -1
  355. package/dist/Terminal.d.ts +5 -4
  356. package/dist/Terminal.d.ts.map +1 -1
  357. package/dist/Terminal.js +2 -2
  358. package/dist/Terminal.js.map +1 -1
  359. package/dist/Tracer.d.ts +21 -20
  360. package/dist/Tracer.d.ts.map +1 -1
  361. package/dist/Tracer.js +13 -9
  362. package/dist/Tracer.js.map +1 -1
  363. package/dist/Trie.d.ts +44 -31
  364. package/dist/Trie.d.ts.map +1 -1
  365. package/dist/Trie.js +13 -9
  366. package/dist/Trie.js.map +1 -1
  367. package/dist/TxChunk.d.ts +4 -4
  368. package/dist/TxChunk.d.ts.map +1 -1
  369. package/dist/TxChunk.js +4 -4
  370. package/dist/TxChunk.js.map +1 -1
  371. package/dist/TxDeferred.d.ts +328 -0
  372. package/dist/TxDeferred.d.ts.map +1 -0
  373. package/dist/TxDeferred.js +197 -0
  374. package/dist/TxDeferred.js.map +1 -0
  375. package/dist/TxHashMap.d.ts +105 -86
  376. package/dist/TxHashMap.d.ts.map +1 -1
  377. package/dist/TxHashMap.js +51 -44
  378. package/dist/TxHashMap.js.map +1 -1
  379. package/dist/TxHashSet.d.ts +2 -2
  380. package/dist/TxHashSet.d.ts.map +1 -1
  381. package/dist/TxHashSet.js +16 -15
  382. package/dist/TxHashSet.js.map +1 -1
  383. package/dist/TxPriorityQueue.d.ts +609 -0
  384. package/dist/TxPriorityQueue.d.ts.map +1 -0
  385. package/dist/TxPriorityQueue.js +416 -0
  386. package/dist/TxPriorityQueue.js.map +1 -0
  387. package/dist/TxPubSub.d.ts +585 -0
  388. package/dist/TxPubSub.d.ts.map +1 -0
  389. package/dist/TxPubSub.js +521 -0
  390. package/dist/TxPubSub.js.map +1 -0
  391. package/dist/TxQueue.d.ts +1 -1
  392. package/dist/TxQueue.d.ts.map +1 -1
  393. package/dist/TxQueue.js +42 -57
  394. package/dist/TxQueue.js.map +1 -1
  395. package/dist/TxReentrantLock.d.ts +500 -0
  396. package/dist/TxReentrantLock.d.ts.map +1 -0
  397. package/dist/TxReentrantLock.js +481 -0
  398. package/dist/TxReentrantLock.js.map +1 -0
  399. package/dist/TxRef.d.ts +14 -20
  400. package/dist/TxRef.d.ts.map +1 -1
  401. package/dist/TxRef.js +8 -10
  402. package/dist/TxRef.js.map +1 -1
  403. package/dist/TxSemaphore.d.ts +162 -2
  404. package/dist/TxSemaphore.d.ts.map +1 -1
  405. package/dist/TxSemaphore.js +25 -10
  406. package/dist/TxSemaphore.js.map +1 -1
  407. package/dist/TxSubscriptionRef.d.ts +508 -0
  408. package/dist/TxSubscriptionRef.d.ts.map +1 -0
  409. package/dist/TxSubscriptionRef.js +293 -0
  410. package/dist/TxSubscriptionRef.js.map +1 -0
  411. package/dist/Types.d.ts +80 -22
  412. package/dist/Types.d.ts.map +1 -1
  413. package/dist/Unify.d.ts +8 -2
  414. package/dist/Unify.d.ts.map +1 -1
  415. package/dist/Unify.js.map +1 -1
  416. package/dist/Utils.d.ts +137 -65
  417. package/dist/Utils.d.ts.map +1 -1
  418. package/dist/Utils.js +38 -66
  419. package/dist/Utils.js.map +1 -1
  420. package/dist/index.d.ts +886 -71
  421. package/dist/index.d.ts.map +1 -1
  422. package/dist/index.js +886 -71
  423. package/dist/index.js.map +1 -1
  424. package/dist/internal/core.js.map +1 -1
  425. package/dist/internal/dateTime.js +77 -71
  426. package/dist/internal/dateTime.js.map +1 -1
  427. package/dist/internal/effect.js +502 -326
  428. package/dist/internal/effect.js.map +1 -1
  429. package/dist/internal/hashMap.js +7 -5
  430. package/dist/internal/hashMap.js.map +1 -1
  431. package/dist/internal/layer.js +3 -3
  432. package/dist/internal/layer.js.map +1 -1
  433. package/dist/internal/option.js +6 -0
  434. package/dist/internal/option.js.map +1 -1
  435. package/dist/internal/random.d.ts +2 -0
  436. package/dist/internal/random.d.ts.map +1 -0
  437. package/dist/internal/random.js +13 -0
  438. package/dist/internal/random.js.map +1 -0
  439. package/dist/internal/rcRef.js +9 -9
  440. package/dist/internal/rcRef.js.map +1 -1
  441. package/dist/internal/references.d.ts +2 -0
  442. package/dist/internal/references.d.ts.map +1 -0
  443. package/dist/internal/references.js +51 -0
  444. package/dist/internal/references.js.map +1 -0
  445. package/dist/internal/request.js +6 -6
  446. package/dist/internal/request.js.map +1 -1
  447. package/dist/internal/schedule.js +1 -1
  448. package/dist/internal/schedule.js.map +1 -1
  449. package/dist/internal/schema/annotations.js +2 -0
  450. package/dist/internal/schema/annotations.js.map +1 -1
  451. package/dist/internal/schema/representation.js +87 -109
  452. package/dist/internal/schema/representation.js.map +1 -1
  453. package/dist/internal/schema/schema.d.ts +10 -1
  454. package/dist/internal/schema/schema.d.ts.map +1 -1
  455. package/dist/internal/schema/schema.js +59 -1
  456. package/dist/internal/schema/schema.js.map +1 -1
  457. package/dist/internal/trie.js +8 -7
  458. package/dist/internal/trie.js.map +1 -1
  459. package/dist/testing/TestClock.d.ts +5 -5
  460. package/dist/testing/TestClock.d.ts.map +1 -1
  461. package/dist/testing/TestClock.js +2 -2
  462. package/dist/testing/TestClock.js.map +1 -1
  463. package/dist/testing/TestSchema.d.ts +267 -33
  464. package/dist/testing/TestSchema.d.ts.map +1 -1
  465. package/dist/testing/TestSchema.js +296 -23
  466. package/dist/testing/TestSchema.js.map +1 -1
  467. package/dist/testing/index.d.ts +64 -1
  468. package/dist/testing/index.d.ts.map +1 -1
  469. package/dist/testing/index.js +64 -1
  470. package/dist/testing/index.js.map +1 -1
  471. package/dist/unstable/ai/AiError.d.ts +127 -45
  472. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  473. package/dist/unstable/ai/AiError.js +29 -23
  474. package/dist/unstable/ai/AiError.js.map +1 -1
  475. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
  476. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  477. package/dist/unstable/ai/AnthropicStructuredOutput.js +9 -2
  478. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  479. package/dist/unstable/ai/Chat.d.ts +39 -11
  480. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  481. package/dist/unstable/ai/Chat.js +40 -47
  482. package/dist/unstable/ai/Chat.js.map +1 -1
  483. package/dist/unstable/ai/EmbeddingModel.d.ts +130 -0
  484. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -0
  485. package/dist/unstable/ai/EmbeddingModel.js +127 -0
  486. package/dist/unstable/ai/EmbeddingModel.js.map +1 -0
  487. package/dist/unstable/ai/IdGenerator.d.ts +2 -2
  488. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  489. package/dist/unstable/ai/IdGenerator.js +2 -2
  490. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  491. package/dist/unstable/ai/LanguageModel.d.ts +119 -49
  492. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  493. package/dist/unstable/ai/LanguageModel.js +260 -61
  494. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  495. package/dist/unstable/ai/McpSchema.d.ts +207 -112
  496. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  497. package/dist/unstable/ai/McpSchema.js +71 -19
  498. package/dist/unstable/ai/McpSchema.js.map +1 -1
  499. package/dist/unstable/ai/McpServer.d.ts +68 -15
  500. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  501. package/dist/unstable/ai/McpServer.js +225 -73
  502. package/dist/unstable/ai/McpServer.js.map +1 -1
  503. package/dist/unstable/ai/Model.d.ts +27 -9
  504. package/dist/unstable/ai/Model.d.ts.map +1 -1
  505. package/dist/unstable/ai/Model.js +25 -9
  506. package/dist/unstable/ai/Model.js.map +1 -1
  507. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
  508. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  509. package/dist/unstable/ai/OpenAiStructuredOutput.js +9 -1
  510. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  511. package/dist/unstable/ai/Prompt.d.ts +17 -17
  512. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  513. package/dist/unstable/ai/Prompt.js +6 -9
  514. package/dist/unstable/ai/Prompt.js.map +1 -1
  515. package/dist/unstable/ai/Response.d.ts +24 -24
  516. package/dist/unstable/ai/Response.d.ts.map +1 -1
  517. package/dist/unstable/ai/Response.js +7 -8
  518. package/dist/unstable/ai/Response.js.map +1 -1
  519. package/dist/unstable/ai/ResponseIdTracker.d.ts +38 -0
  520. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -0
  521. package/dist/unstable/ai/ResponseIdTracker.js +68 -0
  522. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -0
  523. package/dist/unstable/ai/Telemetry.d.ts +35 -2
  524. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  525. package/dist/unstable/ai/Telemetry.js +2 -2
  526. package/dist/unstable/ai/Telemetry.js.map +1 -1
  527. package/dist/unstable/ai/Tokenizer.d.ts +2 -2
  528. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  529. package/dist/unstable/ai/Tokenizer.js +2 -2
  530. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  531. package/dist/unstable/ai/Tool.d.ts +46 -16
  532. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  533. package/dist/unstable/ai/Tool.js +68 -22
  534. package/dist/unstable/ai/Tool.js.map +1 -1
  535. package/dist/unstable/ai/Toolkit.d.ts +4 -4
  536. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  537. package/dist/unstable/ai/Toolkit.js +14 -21
  538. package/dist/unstable/ai/Toolkit.js.map +1 -1
  539. package/dist/unstable/ai/index.d.ts +22 -1
  540. package/dist/unstable/ai/index.d.ts.map +1 -1
  541. package/dist/unstable/ai/index.js +22 -1
  542. package/dist/unstable/ai/index.js.map +1 -1
  543. package/dist/unstable/ai/internal/codec-transformer.js +5 -7
  544. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  545. package/dist/unstable/cli/Argument.d.ts +4 -7
  546. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  547. package/dist/unstable/cli/Argument.js +1 -3
  548. package/dist/unstable/cli/Argument.js.map +1 -1
  549. package/dist/unstable/cli/CliError.d.ts +51 -63
  550. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  551. package/dist/unstable/cli/CliError.js +32 -57
  552. package/dist/unstable/cli/CliError.js.map +1 -1
  553. package/dist/unstable/cli/CliOutput.d.ts +5 -4
  554. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  555. package/dist/unstable/cli/CliOutput.js +67 -12
  556. package/dist/unstable/cli/CliOutput.js.map +1 -1
  557. package/dist/unstable/cli/Command.d.ts +372 -59
  558. package/dist/unstable/cli/Command.d.ts.map +1 -1
  559. package/dist/unstable/cli/Command.js +328 -66
  560. package/dist/unstable/cli/Command.js.map +1 -1
  561. package/dist/unstable/cli/Completions.d.ts +97 -0
  562. package/dist/unstable/cli/Completions.d.ts.map +1 -0
  563. package/dist/unstable/cli/Completions.js +25 -0
  564. package/dist/unstable/cli/Completions.js.map +1 -0
  565. package/dist/unstable/cli/Flag.d.ts +4 -5
  566. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  567. package/dist/unstable/cli/Flag.js +1 -1
  568. package/dist/unstable/cli/Flag.js.map +1 -1
  569. package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
  570. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
  571. package/dist/unstable/cli/GlobalFlag.js +118 -0
  572. package/dist/unstable/cli/GlobalFlag.js.map +1 -0
  573. package/dist/unstable/cli/HelpDoc.d.ts +81 -11
  574. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  575. package/dist/unstable/cli/Param.d.ts +34 -6
  576. package/dist/unstable/cli/Param.d.ts.map +1 -1
  577. package/dist/unstable/cli/Param.js +24 -14
  578. package/dist/unstable/cli/Param.js.map +1 -1
  579. package/dist/unstable/cli/Primitive.d.ts +2 -2
  580. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  581. package/dist/unstable/cli/Primitive.js +1 -1
  582. package/dist/unstable/cli/Primitive.js.map +1 -1
  583. package/dist/unstable/cli/Prompt.js +266 -86
  584. package/dist/unstable/cli/Prompt.js.map +1 -1
  585. package/dist/unstable/cli/index.d.ts +10 -0
  586. package/dist/unstable/cli/index.d.ts.map +1 -1
  587. package/dist/unstable/cli/index.js +10 -0
  588. package/dist/unstable/cli/index.js.map +1 -1
  589. package/dist/unstable/cli/internal/command.d.ts +41 -15
  590. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  591. package/dist/unstable/cli/internal/command.js +84 -47
  592. package/dist/unstable/cli/internal/command.js.map +1 -1
  593. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  594. package/dist/unstable/cli/internal/completions/descriptor.d.ts +2 -0
  595. package/dist/unstable/cli/internal/completions/descriptor.d.ts.map +1 -0
  596. package/dist/unstable/cli/internal/completions/{CommandDescriptor.js → descriptor.js} +17 -5
  597. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -0
  598. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  599. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  600. package/dist/unstable/cli/internal/config.js +42 -0
  601. package/dist/unstable/cli/internal/config.js.map +1 -1
  602. package/dist/unstable/cli/internal/help.d.ts +33 -0
  603. package/dist/unstable/cli/internal/help.d.ts.map +1 -0
  604. package/dist/unstable/cli/internal/help.js +125 -0
  605. package/dist/unstable/cli/internal/help.js.map +1 -0
  606. package/dist/unstable/cli/internal/parser.js +155 -58
  607. package/dist/unstable/cli/internal/parser.js.map +1 -1
  608. package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
  609. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  610. package/dist/unstable/cluster/ClusterCron.js +1 -1
  611. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  612. package/dist/unstable/cluster/ClusterError.d.ts +7 -7
  613. package/dist/unstable/cluster/ClusterSchema.d.ts +28 -7
  614. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  615. package/dist/unstable/cluster/ClusterSchema.js +28 -8
  616. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  617. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +4 -2
  618. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  619. package/dist/unstable/cluster/ClusterWorkflowEngine.js +96 -63
  620. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  621. package/dist/unstable/cluster/DeliverAt.js +1 -1
  622. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  623. package/dist/unstable/cluster/Entity.d.ts +17 -16
  624. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  625. package/dist/unstable/cluster/Entity.js +31 -25
  626. package/dist/unstable/cluster/Entity.js.map +1 -1
  627. package/dist/unstable/cluster/EntityAddress.d.ts +2 -2
  628. package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
  629. package/dist/unstable/cluster/EntityAddress.js +1 -1
  630. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  631. package/dist/unstable/cluster/EntityProxy.js +3 -3
  632. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  633. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  634. package/dist/unstable/cluster/EntityProxyServer.js +6 -6
  635. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  636. package/dist/unstable/cluster/EntityResource.d.ts +4 -4
  637. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  638. package/dist/unstable/cluster/EntityResource.js +2 -2
  639. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  640. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  641. package/dist/unstable/cluster/HttpRunner.js +2 -2
  642. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  643. package/dist/unstable/cluster/K8sHttpClient.d.ts +5 -5
  644. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  645. package/dist/unstable/cluster/K8sHttpClient.js +7 -7
  646. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  647. package/dist/unstable/cluster/Message.d.ts +16 -10
  648. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  649. package/dist/unstable/cluster/Message.js +16 -8
  650. package/dist/unstable/cluster/Message.js.map +1 -1
  651. package/dist/unstable/cluster/MessageStorage.d.ts +46 -23
  652. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  653. package/dist/unstable/cluster/MessageStorage.js +40 -25
  654. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  655. package/dist/unstable/cluster/Reply.d.ts +7 -6
  656. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  657. package/dist/unstable/cluster/Reply.js +8 -7
  658. package/dist/unstable/cluster/Reply.js.map +1 -1
  659. package/dist/unstable/cluster/Runner.d.ts +1 -1
  660. package/dist/unstable/cluster/Runner.d.ts.map +1 -1
  661. package/dist/unstable/cluster/Runner.js +1 -1
  662. package/dist/unstable/cluster/Runner.js.map +1 -1
  663. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  664. package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
  665. package/dist/unstable/cluster/RunnerAddress.js +1 -1
  666. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  667. package/dist/unstable/cluster/RunnerHealth.d.ts +2 -2
  668. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  669. package/dist/unstable/cluster/RunnerHealth.js +2 -2
  670. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  671. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  672. package/dist/unstable/cluster/RunnerServer.js +10 -9
  673. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  674. package/dist/unstable/cluster/RunnerStorage.d.ts +12 -12
  675. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  676. package/dist/unstable/cluster/RunnerStorage.js +3 -3
  677. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  678. package/dist/unstable/cluster/Runners.d.ts +5 -4
  679. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  680. package/dist/unstable/cluster/Runners.js +16 -14
  681. package/dist/unstable/cluster/Runners.js.map +1 -1
  682. package/dist/unstable/cluster/ShardId.d.ts +35 -49
  683. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  684. package/dist/unstable/cluster/ShardId.js +65 -67
  685. package/dist/unstable/cluster/ShardId.js.map +1 -1
  686. package/dist/unstable/cluster/Sharding.d.ts +4 -4
  687. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  688. package/dist/unstable/cluster/Sharding.js +59 -49
  689. package/dist/unstable/cluster/Sharding.js.map +1 -1
  690. package/dist/unstable/cluster/ShardingConfig.d.ts +28 -27
  691. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  692. package/dist/unstable/cluster/ShardingConfig.js +27 -27
  693. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  694. package/dist/unstable/cluster/SingletonAddress.d.ts +2 -2
  695. package/dist/unstable/cluster/Snowflake.d.ts +2 -2
  696. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  697. package/dist/unstable/cluster/Snowflake.js +2 -2
  698. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  699. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  700. package/dist/unstable/cluster/SqlMessageStorage.js +24 -20
  701. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  702. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  703. package/dist/unstable/cluster/SqlRunnerStorage.js +7 -7
  704. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  705. package/dist/unstable/cluster/internal/entityManager.js +30 -24
  706. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  707. package/dist/unstable/cluster/internal/entityReaper.js +2 -2
  708. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  709. package/dist/unstable/cluster/internal/resourceMap.js +3 -3
  710. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  711. package/dist/unstable/devtools/DevToolsClient.d.ts +2 -2
  712. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  713. package/dist/unstable/devtools/DevToolsClient.js +9 -8
  714. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  715. package/dist/unstable/devtools/DevToolsSchema.d.ts +4 -4
  716. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  717. package/dist/unstable/devtools/DevToolsSchema.js +9 -2
  718. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  719. package/dist/unstable/encoding/Msgpack.d.ts +1 -1
  720. package/dist/unstable/encoding/Ndjson.d.ts +9 -9
  721. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  722. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  723. package/dist/unstable/encoding/Sse.d.ts +3 -3
  724. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  725. package/dist/unstable/encoding/Sse.js +1 -1
  726. package/dist/unstable/encoding/Sse.js.map +1 -1
  727. package/dist/unstable/eventlog/Event.d.ts +0 -6
  728. package/dist/unstable/eventlog/Event.d.ts.map +1 -1
  729. package/dist/unstable/eventlog/Event.js +0 -5
  730. package/dist/unstable/eventlog/Event.js.map +1 -1
  731. package/dist/unstable/eventlog/EventGroup.d.ts +0 -2
  732. package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
  733. package/dist/unstable/eventlog/EventGroup.js +0 -2
  734. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  735. package/dist/unstable/eventlog/EventJournal.d.ts +27 -10
  736. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  737. package/dist/unstable/eventlog/EventJournal.js +130 -71
  738. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  739. package/dist/unstable/eventlog/EventLog.d.ts +94 -37
  740. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  741. package/dist/unstable/eventlog/EventLog.js +225 -151
  742. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  743. package/dist/unstable/eventlog/EventLogEncryption.d.ts +11 -9
  744. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  745. package/dist/unstable/eventlog/EventLogEncryption.js +15 -17
  746. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  747. package/dist/unstable/eventlog/EventLogMessage.d.ts +228 -0
  748. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -0
  749. package/dist/unstable/eventlog/EventLogMessage.js +214 -0
  750. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -0
  751. package/dist/unstable/eventlog/EventLogRemote.d.ts +112 -194
  752. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  753. package/dist/unstable/eventlog/EventLogRemote.js +168 -322
  754. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  755. package/dist/unstable/eventlog/EventLogServer.d.ts +26 -48
  756. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  757. package/dist/unstable/eventlog/EventLogServer.js +128 -199
  758. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  759. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +60 -0
  760. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -0
  761. package/dist/unstable/eventlog/EventLogServerEncrypted.js +166 -0
  762. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -0
  763. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +183 -0
  764. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -0
  765. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +461 -0
  766. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -0
  767. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +117 -0
  768. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -0
  769. package/dist/unstable/eventlog/EventLogSessionAuth.js +284 -0
  770. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -0
  771. package/dist/unstable/eventlog/{SqlEventLogJournal.d.ts → SqlEventJournal.d.ts} +2 -2
  772. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -0
  773. package/dist/unstable/eventlog/{SqlEventLogJournal.js → SqlEventJournal.js} +28 -21
  774. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -0
  775. package/dist/unstable/eventlog/{SqlEventLogServer.d.ts → SqlEventLogServerEncrypted.d.ts} +5 -5
  776. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -0
  777. package/dist/unstable/eventlog/{SqlEventLogServer.js → SqlEventLogServerEncrypted.js} +69 -27
  778. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -0
  779. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts +25 -0
  780. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -0
  781. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +355 -0
  782. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -0
  783. package/dist/unstable/eventlog/index.d.ts +22 -2
  784. package/dist/unstable/eventlog/index.d.ts.map +1 -1
  785. package/dist/unstable/eventlog/index.js +22 -2
  786. package/dist/unstable/eventlog/index.js.map +1 -1
  787. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts +2 -0
  788. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts.map +1 -0
  789. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js +89 -0
  790. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -0
  791. package/dist/unstable/http/Cookies.d.ts +51 -6
  792. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  793. package/dist/unstable/http/Cookies.js +27 -6
  794. package/dist/unstable/http/Cookies.js.map +1 -1
  795. package/dist/unstable/http/Etag.d.ts +2 -2
  796. package/dist/unstable/http/Etag.d.ts.map +1 -1
  797. package/dist/unstable/http/Etag.js +7 -3
  798. package/dist/unstable/http/Etag.js.map +1 -1
  799. package/dist/unstable/http/FetchHttpClient.d.ts +6 -3
  800. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  801. package/dist/unstable/http/FetchHttpClient.js +5 -5
  802. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  803. package/dist/unstable/http/Headers.d.ts +24 -4
  804. package/dist/unstable/http/Headers.d.ts.map +1 -1
  805. package/dist/unstable/http/Headers.js +42 -13
  806. package/dist/unstable/http/Headers.js.map +1 -1
  807. package/dist/unstable/http/HttpBody.d.ts +1 -1
  808. package/dist/unstable/http/HttpClient.d.ts +125 -21
  809. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  810. package/dist/unstable/http/HttpClient.js +197 -19
  811. package/dist/unstable/http/HttpClient.js.map +1 -1
  812. package/dist/unstable/http/HttpClientError.d.ts +8 -8
  813. package/dist/unstable/http/HttpClientRequest.d.ts +43 -15
  814. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  815. package/dist/unstable/http/HttpClientRequest.js +131 -21
  816. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  817. package/dist/unstable/http/HttpClientResponse.d.ts +2 -1
  818. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  819. package/dist/unstable/http/HttpClientResponse.js +18 -3
  820. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  821. package/dist/unstable/http/HttpEffect.d.ts +13 -11
  822. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  823. package/dist/unstable/http/HttpEffect.js +51 -51
  824. package/dist/unstable/http/HttpEffect.js.map +1 -1
  825. package/dist/unstable/http/HttpIncomingMessage.d.ts +5 -4
  826. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  827. package/dist/unstable/http/HttpIncomingMessage.js +6 -10
  828. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  829. package/dist/unstable/http/HttpMethod.d.ts +4 -4
  830. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  831. package/dist/unstable/http/HttpMethod.js +3 -3
  832. package/dist/unstable/http/HttpMethod.js.map +1 -1
  833. package/dist/unstable/http/HttpMiddleware.d.ts +4 -9
  834. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  835. package/dist/unstable/http/HttpMiddleware.js +47 -43
  836. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  837. package/dist/unstable/http/HttpPlatform.d.ts +2 -2
  838. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  839. package/dist/unstable/http/HttpPlatform.js +5 -4
  840. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  841. package/dist/unstable/http/HttpRouter.d.ts +9 -8
  842. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  843. package/dist/unstable/http/HttpRouter.js +36 -36
  844. package/dist/unstable/http/HttpRouter.js.map +1 -1
  845. package/dist/unstable/http/HttpServer.d.ts +2 -2
  846. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  847. package/dist/unstable/http/HttpServer.js +4 -4
  848. package/dist/unstable/http/HttpServer.js.map +1 -1
  849. package/dist/unstable/http/HttpServerError.d.ts +22 -34
  850. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  851. package/dist/unstable/http/HttpServerError.js +39 -45
  852. package/dist/unstable/http/HttpServerError.js.map +1 -1
  853. package/dist/unstable/http/HttpServerRequest.d.ts +19 -7
  854. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  855. package/dist/unstable/http/HttpServerRequest.js +307 -13
  856. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  857. package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
  858. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  859. package/dist/unstable/http/HttpServerRespondable.js +5 -5
  860. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  861. package/dist/unstable/http/HttpServerResponse.d.ts +52 -5
  862. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  863. package/dist/unstable/http/HttpServerResponse.js +240 -5
  864. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  865. package/dist/unstable/http/HttpStaticServer.d.ts +69 -0
  866. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -0
  867. package/dist/unstable/http/HttpStaticServer.js +353 -0
  868. package/dist/unstable/http/HttpStaticServer.js.map +1 -0
  869. package/dist/unstable/http/HttpTraceContext.d.ts +3 -2
  870. package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
  871. package/dist/unstable/http/HttpTraceContext.js +27 -15
  872. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  873. package/dist/unstable/http/Multipart.d.ts +7 -7
  874. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  875. package/dist/unstable/http/Multipart.js +7 -7
  876. package/dist/unstable/http/Multipart.js.map +1 -1
  877. package/dist/unstable/http/Url.d.ts +604 -0
  878. package/dist/unstable/http/Url.d.ts.map +1 -0
  879. package/dist/unstable/http/Url.js +256 -0
  880. package/dist/unstable/http/Url.js.map +1 -0
  881. package/dist/unstable/http/UrlParams.d.ts +18 -9
  882. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  883. package/dist/unstable/http/UrlParams.js +6 -7
  884. package/dist/unstable/http/UrlParams.js.map +1 -1
  885. package/dist/unstable/http/index.d.ts +8 -0
  886. package/dist/unstable/http/index.d.ts.map +1 -1
  887. package/dist/unstable/http/index.js +8 -0
  888. package/dist/unstable/http/index.js.map +1 -1
  889. package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
  890. package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
  891. package/dist/unstable/http/internal/preResponseHandler.js +10 -0
  892. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
  893. package/dist/unstable/httpapi/HttpApi.d.ts +11 -11
  894. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  895. package/dist/unstable/httpapi/HttpApi.js +8 -8
  896. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  897. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +12 -9
  898. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  899. package/dist/unstable/httpapi/HttpApiBuilder.js +73 -48
  900. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  901. package/dist/unstable/httpapi/HttpApiClient.d.ts +82 -7
  902. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  903. package/dist/unstable/httpapi/HttpApiClient.js +79 -11
  904. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  905. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +210 -105
  906. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  907. package/dist/unstable/httpapi/HttpApiEndpoint.js +52 -47
  908. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  909. package/dist/unstable/httpapi/HttpApiError.d.ts +66 -29
  910. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  911. package/dist/unstable/httpapi/HttpApiError.js +138 -32
  912. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  913. package/dist/unstable/httpapi/HttpApiGroup.d.ts +9 -8
  914. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  915. package/dist/unstable/httpapi/HttpApiGroup.js +4 -4
  916. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  917. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +49 -17
  918. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  919. package/dist/unstable/httpapi/HttpApiMiddleware.js +38 -8
  920. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  921. package/dist/unstable/httpapi/HttpApiSchema.d.ts +88 -9
  922. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  923. package/dist/unstable/httpapi/HttpApiSchema.js +86 -11
  924. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  925. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +9 -6
  926. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  927. package/dist/unstable/httpapi/HttpApiSecurity.js +6 -6
  928. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  929. package/dist/unstable/httpapi/OpenApi.d.ts +17 -25
  930. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  931. package/dist/unstable/httpapi/OpenApi.js +59 -60
  932. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  933. package/dist/unstable/observability/Otlp.d.ts +12 -12
  934. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  935. package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
  936. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  937. package/dist/unstable/observability/OtlpExporter.js +8 -8
  938. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  939. package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
  940. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  941. package/dist/unstable/observability/OtlpLogger.js +7 -4
  942. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  943. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
  944. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  945. package/dist/unstable/observability/OtlpMetrics.js +2 -2
  946. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  947. package/dist/unstable/observability/OtlpSerialization.d.ts +2 -2
  948. package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
  949. package/dist/unstable/observability/OtlpSerialization.js +2 -2
  950. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  951. package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
  952. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  953. package/dist/unstable/observability/OtlpTracer.js +7 -3
  954. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  955. package/dist/unstable/observability/PrometheusMetrics.d.ts +3 -3
  956. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  957. package/dist/unstable/observability/PrometheusMetrics.js +4 -33
  958. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  959. package/dist/unstable/observability/internal/protobuf.js +4 -4
  960. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  961. package/dist/unstable/persistence/KeyValueStore.d.ts +24 -3
  962. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  963. package/dist/unstable/persistence/KeyValueStore.js +144 -2
  964. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  965. package/dist/unstable/persistence/Persistable.d.ts +2 -2
  966. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  967. package/dist/unstable/persistence/Persistable.js +1 -1
  968. package/dist/unstable/persistence/Persistable.js.map +1 -1
  969. package/dist/unstable/persistence/PersistedCache.d.ts +1 -2
  970. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  971. package/dist/unstable/persistence/PersistedCache.js +10 -11
  972. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  973. package/dist/unstable/persistence/PersistedQueue.d.ts +16 -16
  974. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  975. package/dist/unstable/persistence/PersistedQueue.js +9 -9
  976. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  977. package/dist/unstable/persistence/Persistence.d.ts +5 -5
  978. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  979. package/dist/unstable/persistence/Persistence.js +5 -5
  980. package/dist/unstable/persistence/Persistence.js.map +1 -1
  981. package/dist/unstable/persistence/RateLimiter.d.ts +9 -9
  982. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  983. package/dist/unstable/persistence/RateLimiter.js +4 -4
  984. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  985. package/dist/unstable/persistence/Redis.d.ts +3 -3
  986. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  987. package/dist/unstable/persistence/Redis.js +2 -2
  988. package/dist/unstable/persistence/Redis.js.map +1 -1
  989. package/dist/unstable/process/ChildProcess.d.ts +5 -128
  990. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  991. package/dist/unstable/process/ChildProcess.js +1 -65
  992. package/dist/unstable/process/ChildProcess.js.map +1 -1
  993. package/dist/unstable/process/ChildProcessSpawner.d.ts +83 -8
  994. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  995. package/dist/unstable/process/ChildProcessSpawner.js +22 -2
  996. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  997. package/dist/unstable/reactivity/AsyncResult.d.ts +37 -17
  998. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  999. package/dist/unstable/reactivity/AsyncResult.js +9 -0
  1000. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1001. package/dist/unstable/reactivity/Atom.d.ts +108 -47
  1002. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1003. package/dist/unstable/reactivity/Atom.js +105 -25
  1004. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1005. package/dist/unstable/reactivity/AtomHttpApi.d.ts +25 -20
  1006. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1007. package/dist/unstable/reactivity/AtomHttpApi.js +58 -26
  1008. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1009. package/dist/unstable/reactivity/AtomRegistry.d.ts +8 -2
  1010. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  1011. package/dist/unstable/reactivity/AtomRegistry.js +57 -14
  1012. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1013. package/dist/unstable/reactivity/AtomRpc.d.ts +12 -12
  1014. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1015. package/dist/unstable/reactivity/AtomRpc.js +59 -31
  1016. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1017. package/dist/unstable/reactivity/Reactivity.d.ts +2 -2
  1018. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  1019. package/dist/unstable/reactivity/Reactivity.js +6 -6
  1020. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1021. package/dist/unstable/rpc/Rpc.d.ts +137 -19
  1022. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1023. package/dist/unstable/rpc/Rpc.js +99 -7
  1024. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1025. package/dist/unstable/rpc/RpcClient.d.ts +26 -47
  1026. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1027. package/dist/unstable/rpc/RpcClient.js +117 -75
  1028. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1029. package/dist/unstable/rpc/RpcClientError.d.ts +2 -2
  1030. package/dist/unstable/rpc/RpcGroup.d.ts +15 -11
  1031. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  1032. package/dist/unstable/rpc/RpcGroup.js +30 -20
  1033. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1034. package/dist/unstable/rpc/RpcMiddleware.d.ts +12 -12
  1035. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  1036. package/dist/unstable/rpc/RpcMiddleware.js +5 -5
  1037. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1038. package/dist/unstable/rpc/RpcSchema.d.ts +14 -1
  1039. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  1040. package/dist/unstable/rpc/RpcSchema.js +17 -2
  1041. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1042. package/dist/unstable/rpc/RpcSerialization.d.ts +13 -2
  1043. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1044. package/dist/unstable/rpc/RpcSerialization.js +60 -27
  1045. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1046. package/dist/unstable/rpc/RpcServer.d.ts +8 -12
  1047. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  1048. package/dist/unstable/rpc/RpcServer.js +73 -43
  1049. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1050. package/dist/unstable/rpc/RpcWorker.d.ts +2 -2
  1051. package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
  1052. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1053. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1054. package/dist/unstable/rpc/Utils.d.ts +6 -3
  1055. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  1056. package/dist/unstable/rpc/Utils.js +46 -5
  1057. package/dist/unstable/rpc/Utils.js.map +1 -1
  1058. package/dist/unstable/schema/Model.d.ts +24 -3
  1059. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1060. package/dist/unstable/schema/Model.js +17 -4
  1061. package/dist/unstable/schema/Model.js.map +1 -1
  1062. package/dist/unstable/schema/VariantSchema.d.ts +7 -7
  1063. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1064. package/dist/unstable/schema/VariantSchema.js +7 -18
  1065. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1066. package/dist/unstable/socket/Socket.d.ts +35 -15
  1067. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1068. package/dist/unstable/socket/Socket.js +34 -27
  1069. package/dist/unstable/socket/Socket.js.map +1 -1
  1070. package/dist/unstable/socket/SocketServer.d.ts +8 -5
  1071. package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
  1072. package/dist/unstable/socket/SocketServer.js +2 -2
  1073. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1074. package/dist/unstable/sql/Migrator.d.ts +1 -1
  1075. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  1076. package/dist/unstable/sql/Migrator.js +2 -2
  1077. package/dist/unstable/sql/Migrator.js.map +1 -1
  1078. package/dist/unstable/sql/SqlClient.d.ts +24 -6
  1079. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1080. package/dist/unstable/sql/SqlClient.js +37 -32
  1081. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1082. package/dist/unstable/sql/SqlConnection.d.ts +2 -2
  1083. package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
  1084. package/dist/unstable/sql/SqlConnection.js +5 -2
  1085. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1086. package/dist/unstable/sql/SqlError.d.ts +237 -17
  1087. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  1088. package/dist/unstable/sql/SqlError.js +260 -4
  1089. package/dist/unstable/sql/SqlError.js.map +1 -1
  1090. package/dist/unstable/sql/SqlModel.d.ts +8 -9
  1091. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  1092. package/dist/unstable/sql/SqlModel.js +12 -38
  1093. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1094. package/dist/unstable/sql/SqlResolver.js +24 -17
  1095. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1096. package/dist/unstable/sql/SqlSchema.d.ts +17 -6
  1097. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  1098. package/dist/unstable/sql/SqlSchema.js +17 -7
  1099. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1100. package/dist/unstable/sql/Statement.d.ts +3 -5
  1101. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1102. package/dist/unstable/sql/Statement.js +14 -13
  1103. package/dist/unstable/sql/Statement.js.map +1 -1
  1104. package/dist/unstable/workers/Transferable.d.ts +4 -4
  1105. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  1106. package/dist/unstable/workers/Transferable.js +7 -7
  1107. package/dist/unstable/workers/Transferable.js.map +1 -1
  1108. package/dist/unstable/workers/Worker.d.ts +3 -3
  1109. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  1110. package/dist/unstable/workers/Worker.js +6 -3
  1111. package/dist/unstable/workers/Worker.js.map +1 -1
  1112. package/dist/unstable/workers/WorkerError.d.ts +5 -5
  1113. package/dist/unstable/workers/WorkerRunner.d.ts +2 -2
  1114. package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
  1115. package/dist/unstable/workers/WorkerRunner.js +5 -2
  1116. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1117. package/dist/unstable/workflow/Activity.d.ts +8 -3
  1118. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  1119. package/dist/unstable/workflow/Activity.js +25 -11
  1120. package/dist/unstable/workflow/Activity.js.map +1 -1
  1121. package/dist/unstable/workflow/DurableClock.d.ts +3 -6
  1122. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  1123. package/dist/unstable/workflow/DurableClock.js +6 -6
  1124. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1125. package/dist/unstable/workflow/DurableDeferred.d.ts +2 -5
  1126. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  1127. package/dist/unstable/workflow/DurableDeferred.js +33 -15
  1128. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1129. package/dist/unstable/workflow/Workflow.d.ts +12 -14
  1130. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1131. package/dist/unstable/workflow/Workflow.js +30 -26
  1132. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1133. package/dist/unstable/workflow/WorkflowEngine.d.ts +24 -7
  1134. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  1135. package/dist/unstable/workflow/WorkflowEngine.js +165 -16
  1136. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1137. package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
  1138. package/dist/unstable/workflow/WorkflowProxyServer.js +4 -4
  1139. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1140. package/package.json +11 -10
  1141. package/src/Array.ts +304 -447
  1142. package/src/BigDecimal.ts +137 -82
  1143. package/src/BigInt.ts +53 -45
  1144. package/src/Brand.ts +3 -5
  1145. package/src/Cache.ts +27 -54
  1146. package/src/Cause.ts +57 -22
  1147. package/src/Channel.ts +687 -220
  1148. package/src/Chunk.ts +149 -331
  1149. package/src/Clock.ts +2 -2
  1150. package/src/Combiner.ts +280 -13
  1151. package/src/Config.ts +214 -52
  1152. package/src/ConfigProvider.ts +5 -5
  1153. package/src/Console.ts +2 -2
  1154. package/src/Context.ts +1454 -0
  1155. package/src/Cron.ts +155 -63
  1156. package/src/Data.ts +530 -368
  1157. package/src/DateTime.ts +77 -258
  1158. package/src/Deferred.ts +15 -6
  1159. package/src/Duration.ts +151 -81
  1160. package/src/Effect.ts +1633 -1055
  1161. package/src/Effectable.ts +47 -0
  1162. package/src/Equal.ts +293 -109
  1163. package/src/Equivalence.ts +114 -52
  1164. package/src/ErrorReporter.ts +458 -0
  1165. package/src/ExecutionPlan.ts +8 -9
  1166. package/src/Exit.ts +24 -12
  1167. package/src/Fiber.ts +17 -8
  1168. package/src/FiberHandle.ts +15 -14
  1169. package/src/FiberMap.ts +27 -27
  1170. package/src/FiberSet.ts +5 -5
  1171. package/src/FileSystem.ts +30 -26
  1172. package/src/Filter.ts +4 -62
  1173. package/src/Formatter.ts +268 -60
  1174. package/src/Function.ts +2 -10
  1175. package/src/Graph.ts +123 -112
  1176. package/src/Hash.ts +2 -2
  1177. package/src/HashMap.ts +26 -19
  1178. package/src/Inspectable.ts +2 -22
  1179. package/src/Iterable.ts +117 -63
  1180. package/src/JsonSchema.ts +383 -10
  1181. package/src/Latch.ts +85 -3
  1182. package/src/Layer.ts +728 -441
  1183. package/src/LayerMap.ts +38 -35
  1184. package/src/LogLevel.ts +37 -0
  1185. package/src/Logger.ts +35 -102
  1186. package/src/ManagedRuntime.ts +61 -48
  1187. package/src/Metric.ts +64 -66
  1188. package/src/MutableHashMap.ts +9 -0
  1189. package/src/MutableHashSet.ts +9 -0
  1190. package/src/MutableList.ts +3 -0
  1191. package/src/Newtype.ts +308 -0
  1192. package/src/Number.ts +98 -29
  1193. package/src/Optic.ts +948 -19
  1194. package/src/Option.ts +34 -24
  1195. package/src/Order.ts +39 -32
  1196. package/src/PartitionedSemaphore.ts +414 -0
  1197. package/src/Path.ts +2 -2
  1198. package/src/Pool.ts +9 -9
  1199. package/src/Predicate.ts +1 -1
  1200. package/src/PubSub.ts +20 -11
  1201. package/src/Pull.ts +1 -1
  1202. package/src/Queue.ts +11 -9
  1203. package/src/Random.ts +51 -14
  1204. package/src/RcMap.ts +19 -19
  1205. package/src/RcRef.ts +1 -1
  1206. package/src/Record.ts +94 -199
  1207. package/src/Redactable.ts +146 -72
  1208. package/src/Reducer.ts +166 -7
  1209. package/src/References.ts +283 -287
  1210. package/src/Request.ts +5 -5
  1211. package/src/RequestResolver.ts +34 -35
  1212. package/src/Resource.ts +6 -5
  1213. package/src/Result.ts +2 -4
  1214. package/src/Runtime.ts +102 -6
  1215. package/src/Schedule.ts +243 -336
  1216. package/src/Scheduler.ts +52 -129
  1217. package/src/Schema.ts +3769 -597
  1218. package/src/SchemaAST.ts +480 -302
  1219. package/src/SchemaGetter.ts +80 -24
  1220. package/src/SchemaIssue.ts +28 -15
  1221. package/src/SchemaParser.ts +100 -29
  1222. package/src/SchemaRepresentation.ts +57 -33
  1223. package/src/SchemaTransformation.ts +321 -32
  1224. package/src/Scope.ts +2 -2
  1225. package/src/ScopedCache.ts +8 -8
  1226. package/src/Semaphore.ts +268 -182
  1227. package/src/Sink.ts +89 -34
  1228. package/src/Stdio.ts +29 -6
  1229. package/src/Stream.ts +908 -752
  1230. package/src/String.ts +122 -69
  1231. package/src/Struct.ts +7 -7
  1232. package/src/SubscriptionRef.ts +98 -118
  1233. package/src/Terminal.ts +5 -4
  1234. package/src/Tracer.ts +23 -22
  1235. package/src/Trie.ts +44 -31
  1236. package/src/TxChunk.ts +26 -16
  1237. package/src/TxDeferred.ts +391 -0
  1238. package/src/TxHashMap.ts +347 -291
  1239. package/src/TxHashSet.ts +54 -61
  1240. package/src/TxPriorityQueue.ts +762 -0
  1241. package/src/TxPubSub.ts +787 -0
  1242. package/src/TxQueue.ts +221 -245
  1243. package/src/TxReentrantLock.ts +729 -0
  1244. package/src/TxRef.ts +31 -31
  1245. package/src/TxSemaphore.ts +203 -31
  1246. package/src/TxSubscriptionRef.ts +637 -0
  1247. package/src/Types.ts +75 -23
  1248. package/src/Unify.ts +26 -2
  1249. package/src/Utils.ts +137 -111
  1250. package/src/index.ts +896 -73
  1251. package/src/internal/core.ts +9 -10
  1252. package/src/internal/dateTime.ts +91 -96
  1253. package/src/internal/effect.ts +1179 -614
  1254. package/src/internal/hashMap.ts +12 -10
  1255. package/src/internal/layer.ts +7 -7
  1256. package/src/internal/option.ts +7 -0
  1257. package/src/internal/random.ts +20 -0
  1258. package/src/internal/rcRef.ts +12 -12
  1259. package/src/internal/references.ts +72 -0
  1260. package/src/internal/request.ts +8 -8
  1261. package/src/internal/schedule.ts +3 -1
  1262. package/src/internal/schema/annotations.ts +2 -0
  1263. package/src/internal/schema/representation.ts +82 -97
  1264. package/src/internal/schema/schema.ts +68 -1
  1265. package/src/internal/trie.ts +21 -15
  1266. package/src/testing/TestClock.ts +6 -6
  1267. package/src/testing/TestSchema.ts +333 -36
  1268. package/src/testing/index.ts +64 -1
  1269. package/src/unstable/ai/AiError.ts +111 -53
  1270. package/src/unstable/ai/AnthropicStructuredOutput.ts +7 -3
  1271. package/src/unstable/ai/Chat.ts +136 -88
  1272. package/src/unstable/ai/EmbeddingModel.ts +209 -0
  1273. package/src/unstable/ai/IdGenerator.ts +2 -2
  1274. package/src/unstable/ai/LanguageModel.ts +685 -255
  1275. package/src/unstable/ai/McpSchema.ts +84 -22
  1276. package/src/unstable/ai/McpServer.ts +307 -87
  1277. package/src/unstable/ai/Model.ts +44 -13
  1278. package/src/unstable/ai/OpenAiStructuredOutput.ts +9 -2
  1279. package/src/unstable/ai/Prompt.ts +23 -29
  1280. package/src/unstable/ai/Response.ts +29 -31
  1281. package/src/unstable/ai/ResponseIdTracker.ts +95 -0
  1282. package/src/unstable/ai/Telemetry.ts +2 -2
  1283. package/src/unstable/ai/Tokenizer.ts +2 -2
  1284. package/src/unstable/ai/Tool.ts +62 -36
  1285. package/src/unstable/ai/Toolkit.ts +17 -26
  1286. package/src/unstable/ai/index.ts +24 -1
  1287. package/src/unstable/ai/internal/codec-transformer.ts +3 -9
  1288. package/src/unstable/cli/Argument.ts +5 -8
  1289. package/src/unstable/cli/CliError.ts +67 -66
  1290. package/src/unstable/cli/CliOutput.ts +87 -15
  1291. package/src/unstable/cli/Command.ts +808 -193
  1292. package/src/unstable/cli/Completions.ts +107 -0
  1293. package/src/unstable/cli/Flag.ts +5 -6
  1294. package/src/unstable/cli/GlobalFlag.ts +242 -0
  1295. package/src/unstable/cli/HelpDoc.ts +91 -11
  1296. package/src/unstable/cli/Param.ts +54 -27
  1297. package/src/unstable/cli/Primitive.ts +2 -2
  1298. package/src/unstable/cli/Prompt.ts +275 -104
  1299. package/src/unstable/cli/index.ts +12 -0
  1300. package/src/unstable/cli/internal/command.ts +125 -64
  1301. package/src/unstable/cli/internal/completions/bash.ts +7 -7
  1302. package/src/unstable/cli/internal/completions/{CommandDescriptor.ts → descriptor.ts} +16 -58
  1303. package/src/unstable/cli/internal/completions/fish.ts +7 -7
  1304. package/src/unstable/cli/internal/completions/zsh.ts +8 -14
  1305. package/src/unstable/cli/internal/config.ts +49 -0
  1306. package/src/unstable/cli/internal/help.ts +171 -0
  1307. package/src/unstable/cli/internal/parser.ts +201 -84
  1308. package/src/unstable/cluster/ClusterCron.ts +2 -2
  1309. package/src/unstable/cluster/ClusterSchema.ts +38 -10
  1310. package/src/unstable/cluster/ClusterWorkflowEngine.ts +142 -80
  1311. package/src/unstable/cluster/DeliverAt.ts +1 -1
  1312. package/src/unstable/cluster/Entity.ts +58 -45
  1313. package/src/unstable/cluster/EntityAddress.ts +1 -1
  1314. package/src/unstable/cluster/EntityProxy.ts +3 -3
  1315. package/src/unstable/cluster/EntityProxyServer.ts +6 -6
  1316. package/src/unstable/cluster/EntityResource.ts +6 -6
  1317. package/src/unstable/cluster/HttpRunner.ts +2 -2
  1318. package/src/unstable/cluster/K8sHttpClient.ts +10 -10
  1319. package/src/unstable/cluster/Message.ts +30 -17
  1320. package/src/unstable/cluster/MessageStorage.ts +74 -45
  1321. package/src/unstable/cluster/Reply.ts +13 -10
  1322. package/src/unstable/cluster/Runner.ts +1 -1
  1323. package/src/unstable/cluster/RunnerAddress.ts +1 -1
  1324. package/src/unstable/cluster/RunnerHealth.ts +2 -2
  1325. package/src/unstable/cluster/RunnerServer.ts +11 -14
  1326. package/src/unstable/cluster/RunnerStorage.ts +9 -9
  1327. package/src/unstable/cluster/Runners.ts +22 -18
  1328. package/src/unstable/cluster/ShardId.ts +84 -74
  1329. package/src/unstable/cluster/Sharding.ts +75 -60
  1330. package/src/unstable/cluster/ShardingConfig.ts +39 -40
  1331. package/src/unstable/cluster/Snowflake.ts +2 -2
  1332. package/src/unstable/cluster/SqlMessageStorage.ts +29 -20
  1333. package/src/unstable/cluster/SqlRunnerStorage.ts +13 -7
  1334. package/src/unstable/cluster/internal/entityManager.ts +60 -41
  1335. package/src/unstable/cluster/internal/entityReaper.ts +2 -2
  1336. package/src/unstable/cluster/internal/resourceMap.ts +3 -3
  1337. package/src/unstable/devtools/DevToolsClient.ts +26 -21
  1338. package/src/unstable/devtools/DevToolsSchema.ts +16 -3
  1339. package/src/unstable/encoding/Ndjson.ts +17 -17
  1340. package/src/unstable/encoding/Sse.ts +3 -5
  1341. package/src/unstable/eventlog/Event.ts +0 -8
  1342. package/src/unstable/eventlog/EventGroup.ts +0 -4
  1343. package/src/unstable/eventlog/EventJournal.ts +148 -80
  1344. package/src/unstable/eventlog/EventLog.ts +360 -234
  1345. package/src/unstable/eventlog/EventLogEncryption.ts +18 -32
  1346. package/src/unstable/eventlog/EventLogMessage.ts +277 -0
  1347. package/src/unstable/eventlog/EventLogRemote.ts +264 -410
  1348. package/src/unstable/eventlog/EventLogServer.ts +183 -275
  1349. package/src/unstable/eventlog/EventLogServerEncrypted.ts +206 -0
  1350. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +749 -0
  1351. package/src/unstable/eventlog/EventLogSessionAuth.ts +437 -0
  1352. package/src/unstable/eventlog/{SqlEventLogJournal.ts → SqlEventJournal.ts} +38 -22
  1353. package/src/unstable/eventlog/{SqlEventLogServer.ts → SqlEventLogServerEncrypted.ts} +110 -43
  1354. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +506 -0
  1355. package/src/unstable/eventlog/index.ts +27 -2
  1356. package/src/unstable/eventlog/internal/identityRootSecretDerivation.ts +153 -0
  1357. package/src/unstable/http/Cookies.ts +94 -11
  1358. package/src/unstable/http/Etag.ts +7 -5
  1359. package/src/unstable/http/FetchHttpClient.ts +5 -5
  1360. package/src/unstable/http/Headers.ts +70 -20
  1361. package/src/unstable/http/HttpClient.ts +385 -42
  1362. package/src/unstable/http/HttpClientRequest.ts +151 -39
  1363. package/src/unstable/http/HttpClientResponse.ts +24 -8
  1364. package/src/unstable/http/HttpEffect.ts +71 -77
  1365. package/src/unstable/http/HttpIncomingMessage.ts +9 -8
  1366. package/src/unstable/http/HttpMethod.ts +16 -4
  1367. package/src/unstable/http/HttpMiddleware.ts +50 -50
  1368. package/src/unstable/http/HttpPlatform.ts +5 -4
  1369. package/src/unstable/http/HttpRouter.ts +46 -46
  1370. package/src/unstable/http/HttpServer.ts +5 -11
  1371. package/src/unstable/http/HttpServerError.ts +45 -47
  1372. package/src/unstable/http/HttpServerRequest.ts +414 -23
  1373. package/src/unstable/http/HttpServerRespondable.ts +6 -6
  1374. package/src/unstable/http/HttpServerResponse.ts +351 -13
  1375. package/src/unstable/http/HttpStaticServer.ts +456 -0
  1376. package/src/unstable/http/HttpTraceContext.ts +31 -17
  1377. package/src/unstable/http/Multipart.ts +8 -8
  1378. package/src/unstable/http/Url.ts +650 -0
  1379. package/src/unstable/http/UrlParams.ts +30 -18
  1380. package/src/unstable/http/index.ts +10 -0
  1381. package/src/unstable/http/internal/preResponseHandler.ts +15 -0
  1382. package/src/unstable/httpapi/HttpApi.ts +22 -22
  1383. package/src/unstable/httpapi/HttpApiBuilder.ts +156 -66
  1384. package/src/unstable/httpapi/HttpApiClient.ts +185 -34
  1385. package/src/unstable/httpapi/HttpApiEndpoint.ts +225 -114
  1386. package/src/unstable/httpapi/HttpApiError.ts +129 -30
  1387. package/src/unstable/httpapi/HttpApiGroup.ts +18 -17
  1388. package/src/unstable/httpapi/HttpApiMiddleware.ts +95 -32
  1389. package/src/unstable/httpapi/HttpApiSchema.ts +106 -11
  1390. package/src/unstable/httpapi/HttpApiSecurity.ts +13 -13
  1391. package/src/unstable/httpapi/OpenApi.ts +74 -73
  1392. package/src/unstable/observability/Otlp.ts +12 -12
  1393. package/src/unstable/observability/OtlpExporter.ts +14 -10
  1394. package/src/unstable/observability/OtlpLogger.ts +13 -9
  1395. package/src/unstable/observability/OtlpMetrics.ts +6 -6
  1396. package/src/unstable/observability/OtlpSerialization.ts +2 -2
  1397. package/src/unstable/observability/OtlpTracer.ts +14 -10
  1398. package/src/unstable/observability/PrometheusMetrics.ts +5 -5
  1399. package/src/unstable/observability/internal/protobuf.ts +4 -4
  1400. package/src/unstable/persistence/KeyValueStore.ts +226 -3
  1401. package/src/unstable/persistence/Persistable.ts +3 -3
  1402. package/src/unstable/persistence/PersistedCache.ts +20 -17
  1403. package/src/unstable/persistence/PersistedQueue.ts +21 -21
  1404. package/src/unstable/persistence/Persistence.ts +7 -7
  1405. package/src/unstable/persistence/RateLimiter.ts +7 -7
  1406. package/src/unstable/persistence/Redis.ts +2 -2
  1407. package/src/unstable/process/ChildProcess.ts +6 -208
  1408. package/src/unstable/process/ChildProcessSpawner.ts +114 -15
  1409. package/src/unstable/reactivity/AsyncResult.ts +59 -17
  1410. package/src/unstable/reactivity/Atom.ts +280 -124
  1411. package/src/unstable/reactivity/AtomHttpApi.ts +127 -61
  1412. package/src/unstable/reactivity/AtomRegistry.ts +70 -16
  1413. package/src/unstable/reactivity/AtomRpc.ts +82 -37
  1414. package/src/unstable/reactivity/Reactivity.ts +6 -6
  1415. package/src/unstable/rpc/Rpc.ts +212 -32
  1416. package/src/unstable/rpc/RpcClient.ts +161 -142
  1417. package/src/unstable/rpc/RpcGroup.ts +51 -34
  1418. package/src/unstable/rpc/RpcMiddleware.ts +28 -22
  1419. package/src/unstable/rpc/RpcSchema.ts +24 -6
  1420. package/src/unstable/rpc/RpcSerialization.ts +97 -54
  1421. package/src/unstable/rpc/RpcServer.ts +91 -65
  1422. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1423. package/src/unstable/rpc/Utils.ts +63 -4
  1424. package/src/unstable/schema/Model.ts +35 -6
  1425. package/src/unstable/schema/VariantSchema.ts +14 -27
  1426. package/src/unstable/socket/Socket.ts +102 -62
  1427. package/src/unstable/socket/SocketServer.ts +2 -2
  1428. package/src/unstable/sql/Migrator.ts +7 -5
  1429. package/src/unstable/sql/SqlClient.ts +48 -19
  1430. package/src/unstable/sql/SqlConnection.ts +2 -2
  1431. package/src/unstable/sql/SqlError.ts +365 -11
  1432. package/src/unstable/sql/SqlModel.ts +57 -85
  1433. package/src/unstable/sql/SqlResolver.ts +28 -20
  1434. package/src/unstable/sql/SqlSchema.ts +42 -26
  1435. package/src/unstable/sql/Statement.ts +21 -25
  1436. package/src/unstable/workers/Transferable.ts +17 -19
  1437. package/src/unstable/workers/Worker.ts +4 -4
  1438. package/src/unstable/workers/WorkerRunner.ts +2 -2
  1439. package/src/unstable/workflow/Activity.ts +36 -13
  1440. package/src/unstable/workflow/DurableClock.ts +11 -11
  1441. package/src/unstable/workflow/DurableDeferred.ts +36 -18
  1442. package/src/unstable/workflow/Workflow.ts +46 -35
  1443. package/src/unstable/workflow/WorkflowEngine.ts +236 -23
  1444. package/src/unstable/workflow/WorkflowProxyServer.ts +4 -4
  1445. package/dist/NullOr.d.ts +0 -149
  1446. package/dist/NullOr.d.ts.map +0 -1
  1447. package/dist/NullOr.js +0 -152
  1448. package/dist/NullOr.js.map +0 -1
  1449. package/dist/ServiceMap.d.ts +0 -1126
  1450. package/dist/ServiceMap.d.ts.map +0 -1
  1451. package/dist/ServiceMap.js.map +0 -1
  1452. package/dist/internal/schema/to-codec.d.ts +0 -2
  1453. package/dist/internal/schema/to-codec.d.ts.map +0 -1
  1454. package/dist/internal/schema/to-codec.js +0 -129
  1455. package/dist/internal/schema/to-codec.js.map +0 -1
  1456. package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
  1457. package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
  1458. package/dist/unstable/cli/internal/builtInFlags.js +0 -44
  1459. package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
  1460. package/dist/unstable/cli/internal/completions/CommandDescriptor.d.ts +0 -2
  1461. package/dist/unstable/cli/internal/completions/CommandDescriptor.d.ts.map +0 -1
  1462. package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +0 -1
  1463. package/dist/unstable/cli/internal/completions/Completions.d.ts +0 -2
  1464. package/dist/unstable/cli/internal/completions/Completions.d.ts.map +0 -1
  1465. package/dist/unstable/cli/internal/completions/Completions.js +0 -23
  1466. package/dist/unstable/cli/internal/completions/Completions.js.map +0 -1
  1467. package/dist/unstable/eventlog/SqlEventLogJournal.d.ts.map +0 -1
  1468. package/dist/unstable/eventlog/SqlEventLogJournal.js.map +0 -1
  1469. package/dist/unstable/eventlog/SqlEventLogServer.d.ts.map +0 -1
  1470. package/dist/unstable/eventlog/SqlEventLogServer.js.map +0 -1
  1471. package/src/NullOr.ts +0 -204
  1472. package/src/ServiceMap.ts +0 -1410
  1473. package/src/internal/schema/to-codec.ts +0 -148
  1474. package/src/unstable/cli/internal/builtInFlags.ts +0 -78
  1475. package/src/unstable/cli/internal/completions/Completions.ts +0 -31
@@ -1,29 +1,32 @@
1
1
  /**
2
2
  * @since 4.0.0
3
3
  */
4
+ import type { NonEmptyArray, NonEmptyReadonlyArray } from "../../Array.ts"
4
5
  import * as Console from "../../Console.ts"
6
+ import * as Context from "../../Context.ts"
5
7
  import * as Effect from "../../Effect.ts"
6
8
  import type * as FileSystem from "../../FileSystem.ts"
7
9
  import { dual } from "../../Function.ts"
8
10
  import type * as Layer from "../../Layer.ts"
11
+ import * as Option from "../../Option.ts"
9
12
  import type * as Path from "../../Path.ts"
10
13
  import type { Pipeable } from "../../Pipeable.ts"
11
14
  import * as Predicate from "../../Predicate.ts"
12
15
  import * as References from "../../References.ts"
13
16
  import * as Result from "../../Result.ts"
14
- import type * as ServiceMap from "../../ServiceMap.ts"
17
+ import * as Stdio from "../../Stdio.ts"
15
18
  import * as Terminal from "../../Terminal.ts"
16
- import type { Simplify } from "../../Types.ts"
19
+ import type { NoInfer, Simplify } from "../../Types.ts"
17
20
  import type { ChildProcessSpawner } from "../process/ChildProcessSpawner.ts"
18
21
  import * as CliError from "./CliError.ts"
19
22
  import * as CliOutput from "./CliOutput.ts"
20
- import { checkForDuplicateFlags, getHelpForCommandPath, makeCommand, toImpl, TypeId } from "./internal/command.ts"
21
- import * as CommandDescriptor from "./internal/completions/CommandDescriptor.ts"
22
- import * as Completions from "./internal/completions/Completions.ts"
23
- import { parseConfig } from "./internal/config.ts"
23
+ import * as GlobalFlag from "./GlobalFlag.ts"
24
+ import { checkForDuplicateFlags, makeCommand, makeParser, toImpl, TypeId } from "./internal/command.ts"
25
+ import { mergeConfig, parseConfig } from "./internal/config.ts"
26
+ import { getGlobalFlagsForCommandPath, getGlobalFlagsForCommandTree, getHelpForCommandPath } from "./internal/help.ts"
24
27
  import * as Lexer from "./internal/lexer.ts"
25
28
  import * as Parser from "./internal/parser.ts"
26
- import type * as Param from "./Param.ts"
29
+ import * as Param from "./Param.ts"
27
30
 
28
31
  /* ========================================================================== */
29
32
  /* Public Types */
@@ -44,7 +47,7 @@ import type * as Param from "./Param.ts"
44
47
  * import { Argument, Command, Flag } from "effect/unstable/cli"
45
48
  *
46
49
  * // Simple command with no configuration
47
- * const version: Command.Command<"version", {}, never, never> = Command.make(
50
+ * const version: Command.Command<"version", {}, {}, never, never> = Command.make(
48
51
  * "version"
49
52
  * )
50
53
  *
@@ -56,6 +59,7 @@ import type * as Param from "./Param.ts"
56
59
  * readonly force: boolean
57
60
  * readonly files: ReadonlyArray<string>
58
61
  * },
62
+ * {},
59
63
  * never,
60
64
  * never
61
65
  * > = Command.make("deploy", {
@@ -73,14 +77,15 @@ import type * as Param from "./Param.ts"
73
77
  * @since 4.0.0
74
78
  * @category models
75
79
  */
76
- export interface Command<Name extends string, Input, E = never, R = never> extends
77
- Pipeable,
78
- Effect.Yieldable<
79
- Command<Name, Input, E, R>,
80
- Input,
81
- never,
82
- CommandContext<Name>
83
- >
80
+ export interface Command<Name extends string, Input, ContextInput = {}, E = never, R = never>
81
+ extends
82
+ Pipeable,
83
+ Effect.Yieldable<
84
+ Command<Name, Input, ContextInput, E, R>,
85
+ ContextInput,
86
+ never,
87
+ CommandContext<Name>
88
+ >
84
89
  {
85
90
  readonly [TypeId]: typeof TypeId
86
91
 
@@ -94,16 +99,50 @@ export interface Command<Name extends string, Input, E = never, R = never> exten
94
99
  */
95
100
  readonly description: string | undefined
96
101
 
102
+ /**
103
+ * An optional short description used when listing subcommands.
104
+ */
105
+ readonly shortDescription: string | undefined
106
+
107
+ /**
108
+ * An optional alias that can be used as a shorter command name.
109
+ */
110
+ readonly alias: string | undefined
111
+
112
+ /**
113
+ * Optional usage examples for the command.
114
+ */
115
+ readonly examples: ReadonlyArray<Command.Example>
116
+
97
117
  /**
98
118
  * The subcommands available under this command.
99
119
  */
100
- readonly subcommands: ReadonlyArray<Command.Any>
120
+ readonly subcommands: ReadonlyArray<{
121
+ readonly group: string | undefined
122
+ readonly commands: NonEmptyReadonlyArray<Command.Any>
123
+ }>
124
+
125
+ /**
126
+ * Custom annotations associated with this command.
127
+ */
128
+ readonly annotations: Context.Context<never>
101
129
  }
102
130
 
103
131
  /**
104
132
  * @since 4.0.0
105
133
  */
106
134
  export declare namespace Command {
135
+ /**
136
+ * Represents a concrete usage example for a command.
137
+ *
138
+ * @since 4.0.0
139
+ * @category models
140
+ */
141
+ export interface Example {
142
+ readonly command: string
143
+ readonly description?: string | undefined
144
+ }
145
+
107
146
  /**
108
147
  * Configuration object for defining command flags, arguments, and nested structures.
109
148
  *
@@ -147,6 +186,21 @@ export declare namespace Command {
147
186
  | Config
148
187
  }
149
188
 
189
+ /**
190
+ * Configuration shape accepted by `Command.withSharedFlags`.
191
+ *
192
+ * Only flags are allowed here; arguments are intentionally excluded.
193
+ *
194
+ * @since 4.0.0
195
+ * @category models
196
+ */
197
+ export interface FlagConfig {
198
+ readonly [key: string]:
199
+ | Param.Param<typeof Param.flagKind, any>
200
+ | ReadonlyArray<Param.Param<typeof Param.flagKind, any> | FlagConfig>
201
+ | FlagConfig
202
+ }
203
+
150
204
  /**
151
205
  * Utilities for working with command configurations.
152
206
  *
@@ -208,7 +262,26 @@ export declare namespace Command {
208
262
  * @since 4.0.0
209
263
  * @category models
210
264
  */
211
- export type Any = Command<string, unknown, unknown, unknown>
265
+ export type Any = Command<string, unknown, unknown, unknown, unknown>
266
+
267
+ /**
268
+ * A grouped set of subcommands used by `Command.withSubcommands`.
269
+ *
270
+ * @since 4.0.0
271
+ * @category models
272
+ */
273
+ export interface SubcommandGroup<Commands extends ReadonlyArray<Any> = ReadonlyArray<Any>> {
274
+ readonly group: string
275
+ readonly commands: Commands
276
+ }
277
+
278
+ /**
279
+ * Entry type accepted by `Command.withSubcommands`.
280
+ *
281
+ * @since 4.0.0
282
+ * @category models
283
+ */
284
+ export type SubcommandEntry = Any | SubcommandGroup<ReadonlyArray<Any>>
212
285
  }
213
286
 
214
287
  /**
@@ -217,7 +290,7 @@ export declare namespace Command {
217
290
  * @since 4.0.0
218
291
  * @category utility types
219
292
  */
220
- export type Environment = FileSystem.FileSystem | Path.Path | Terminal.Terminal | ChildProcessSpawner
293
+ export type Environment = FileSystem.FileSystem | Path.Path | Terminal.Terminal | ChildProcessSpawner | Stdio.Stdio
221
294
 
222
295
  /**
223
296
  * A utility type to extract the error type from a `Command`.
@@ -228,6 +301,7 @@ export type Environment = FileSystem.FileSystem | Path.Path | Terminal.Terminal
228
301
  export type Error<C> = C extends Command<
229
302
  infer _Name,
230
303
  infer _Input,
304
+ infer _ContextInput,
231
305
  infer _Error,
232
306
  infer _Requirements
233
307
  > ? _Error :
@@ -246,10 +320,12 @@ export type Error<C> = C extends Command<
246
320
  * import { Console, Effect } from "effect"
247
321
  * import { Command, Flag } from "effect/unstable/cli"
248
322
  *
249
- * const parent = Command.make("app", {
250
- * verbose: Flag.boolean("verbose"),
251
- * config: Flag.string("config")
252
- * })
323
+ * const parent = Command.make("app").pipe(
324
+ * Command.withSharedFlags({
325
+ * verbose: Flag.boolean("verbose"),
326
+ * config: Flag.string("config")
327
+ * })
328
+ * )
253
329
  *
254
330
  * const child = Command.make("deploy", {
255
331
  * target: Flag.string("target")
@@ -283,11 +359,11 @@ export interface CommandContext<Name extends string> {
283
359
  export interface ParsedTokens {
284
360
  readonly flags: Record<string, ReadonlyArray<string>>
285
361
  readonly arguments: ReadonlyArray<string>
286
- readonly errors?: ReadonlyArray<CliError.CliError>
287
- readonly subcommand?: {
362
+ readonly errors?: ReadonlyArray<CliError.NonShowHelpErrors>
363
+ readonly subcommand: Option.Option<{
288
364
  readonly name: string
289
365
  readonly parsedInput: ParsedTokens
290
- }
366
+ }>
291
367
  }
292
368
 
293
369
  /**
@@ -411,7 +487,7 @@ export const make: {
411
487
  * @since 4.0.0
412
488
  * @category constructors
413
489
  */
414
- <Name extends string>(name: Name): Command<Name, {}, never, never>
490
+ <Name extends string>(name: Name): Command<Name, {}, {}, never, never>
415
491
 
416
492
  /* ========================================================================== */
417
493
  /* Constructors */
@@ -470,7 +546,7 @@ export const make: {
470
546
  * @since 4.0.0
471
547
  * @category constructors
472
548
  */
473
- <Name extends string, const Config extends Command.Config>(name: Name, config: Config): Command<Name, Command.Config.Infer<Config>, never, never>
549
+ <Name extends string, const Config extends Command.Config>(name: Name, config: Config): Command<Name, Command.Config.Infer<Config>, {}, never, never>
474
550
 
475
551
  /* ========================================================================== */
476
552
  /* Constructors */
@@ -533,7 +609,7 @@ export const make: {
533
609
  name: Name,
534
610
  config: Config,
535
611
  handler: (config: Command.Config.Infer<Config>) => Effect.Effect<void, E, R>
536
- ): Command<Name, Command.Config.Infer<Config>, E, R>
612
+ ): Command<Name, Command.Config.Infer<Config>, {}, E, Exclude<R, GlobalFlag.BuiltInSettingContext>>
537
613
  } = ((
538
614
  name: string,
539
615
  config?: Command.Config,
@@ -604,9 +680,9 @@ export const withHandler: {
604
680
  * @since 4.0.0
605
681
  * @category combinators
606
682
  */
607
- <A, R, E>(handler: (value: A) => Effect.Effect<void, E, R>): <Name extends string, XR, XE>(
608
- self: Command<Name, A, XE, XR>
609
- ) => Command<Name, A, E, R>
683
+ <A, R, E>(handler: (value: A) => Effect.Effect<void, E, R>): <Name extends string, XR, XE, ContextInput>(
684
+ self: Command<Name, A, ContextInput, XE, XR>
685
+ ) => Command<Name, A, ContextInput, E, Exclude<R, GlobalFlag.BuiltInSettingContext>>
610
686
  /* ========================================================================== */
611
687
  /* Combinators */
612
688
  /* ========================================================================== */
@@ -635,20 +711,72 @@ export const withHandler: {
635
711
  * @since 4.0.0
636
712
  * @category combinators
637
713
  */
638
- <Name extends string, A, XR, XE, R, E>(
639
- self: Command<Name, A, XE, XR>,
714
+ <Name extends string, A, XR, XE, R, E, ContextInput>(
715
+ self: Command<Name, A, ContextInput, XE, XR>,
640
716
  handler: (value: A) => Effect.Effect<void, E, R>
641
- ): Command<Name, A, E, R>
642
- } = dual(2, <Name extends string, A, XR, XE, R, E>(
643
- self: Command<Name, A, XE, XR>,
717
+ ): Command<Name, A, ContextInput, E, Exclude<R, GlobalFlag.BuiltInSettingContext>>
718
+ } = dual(2, <Name extends string, A, XR, XE, R, E, ContextInput>(
719
+ self: Command<Name, A, ContextInput, XE, XR>,
644
720
  handler: (value: A) => Effect.Effect<void, E, R>
645
- ): Command<Name, A, E, R> => makeCommand({ ...toImpl(self), handle: handler }))
721
+ ): Command<Name, A, ContextInput, E, Exclude<R, GlobalFlag.BuiltInSettingContext>> =>
722
+ makeCommand({ ...toImpl(self), handle: handler }))
723
+
724
+ interface SubcommandGroupInternal {
725
+ readonly group: string | undefined
726
+ readonly commands: NonEmptyReadonlyArray<Command.Any>
727
+ }
728
+
729
+ const normalizeSubcommandEntries = (
730
+ entries: ReadonlyArray<Command.SubcommandEntry>
731
+ ): {
732
+ readonly flat: ReadonlyArray<Command.Any>
733
+ readonly groups: ReadonlyArray<SubcommandGroupInternal>
734
+ } => {
735
+ const flat: Array<Command.Any> = []
736
+ const grouped = new Map<string | undefined, NonEmptyArray<Command.Any>>()
737
+
738
+ const addToGroup = (group: string | undefined, command: Command.Any): void => {
739
+ flat.push(command)
740
+ const existing = grouped.get(group)
741
+ if (existing) {
742
+ existing.push(command)
743
+ } else {
744
+ grouped.set(group, [command])
745
+ }
746
+ }
747
+
748
+ for (const entry of entries) {
749
+ if (isCommand(entry)) {
750
+ addToGroup(undefined, entry)
751
+ continue
752
+ }
753
+ for (const command of entry.commands) {
754
+ addToGroup(entry.group, command)
755
+ }
756
+ }
757
+
758
+ const groups: Array<SubcommandGroupInternal> = []
759
+ const ungroupedCommands = grouped.get(undefined)
760
+
761
+ if (ungroupedCommands && ungroupedCommands.length > 0) {
762
+ groups.push({ group: undefined, commands: ungroupedCommands })
763
+ }
764
+
765
+ for (const [group, commands] of grouped) {
766
+ if (group === undefined) {
767
+ continue
768
+ }
769
+ groups.push({ group, commands })
770
+ }
771
+
772
+ return { flat, groups }
773
+ }
646
774
 
647
775
  /**
648
776
  * Adds subcommands to a command, creating a hierarchical command structure.
649
777
  *
650
778
  * Subcommands can access their parent's parsed configuration by yielding the parent
651
- * command within their handler. This enables patterns like global flags that affect
779
+ * command within their handler. This enables shared parent flags that affect
652
780
  * all subcommands.
653
781
  *
654
782
  * @example
@@ -656,10 +784,12 @@ export const withHandler: {
656
784
  * import { Console, Effect } from "effect"
657
785
  * import { Command, Flag } from "effect/unstable/cli"
658
786
  *
659
- * // Parent command with global flags
660
- * const git = Command.make("git", {
661
- * verbose: Flag.boolean("verbose")
662
- * })
787
+ * // Parent command with shared flags
788
+ * const git = Command.make("git").pipe(
789
+ * Command.withSharedFlags({
790
+ * verbose: Flag.boolean("verbose")
791
+ * })
792
+ * )
663
793
  *
664
794
  * // Subcommand that accesses parent config
665
795
  * const clone = Command.make("clone", {
@@ -685,7 +815,7 @@ export const withSubcommands: {
685
815
  * Adds subcommands to a command, creating a hierarchical command structure.
686
816
  *
687
817
  * Subcommands can access their parent's parsed configuration by yielding the parent
688
- * command within their handler. This enables patterns like global flags that affect
818
+ * command within their handler. This enables shared parent flags that affect
689
819
  * all subcommands.
690
820
  *
691
821
  * @example
@@ -693,10 +823,12 @@ export const withSubcommands: {
693
823
  * import { Console, Effect } from "effect"
694
824
  * import { Command, Flag } from "effect/unstable/cli"
695
825
  *
696
- * // Parent command with global flags
697
- * const git = Command.make("git", {
698
- * verbose: Flag.boolean("verbose")
699
- * })
826
+ * // Parent command with shared flags
827
+ * const git = Command.make("git").pipe(
828
+ * Command.withSharedFlags({
829
+ * verbose: Flag.boolean("verbose")
830
+ * })
831
+ * )
700
832
  *
701
833
  * // Subcommand that accesses parent config
702
834
  * const clone = Command.make("clone", {
@@ -717,11 +849,12 @@ export const withSubcommands: {
717
849
  * @since 4.0.0
718
850
  * @category combinators
719
851
  */
720
- <const Subcommands extends ReadonlyArray<Command<any, any, any, any>>>(subcommands: Subcommands): <Name extends string, Input, E, R>(
721
- self: Command<Name, Input, E, R>
852
+ <const Subcommands extends ReadonlyArray<Command.SubcommandEntry>>(subcommands: Subcommands): <Name extends string, Input, E, R, ContextInput>(
853
+ self: Command<Name, Input, ContextInput, E, R>
722
854
  ) => Command<
723
855
  Name,
724
- Input,
856
+ Simplify<Input | ContextInput>,
857
+ ContextInput,
725
858
  E | ExtractSubcommandErrors<Subcommands>,
726
859
  R | Exclude<ExtractSubcommandContext<Subcommands>, CommandContext<Name>>
727
860
  >
@@ -729,7 +862,7 @@ export const withSubcommands: {
729
862
  * Adds subcommands to a command, creating a hierarchical command structure.
730
863
  *
731
864
  * Subcommands can access their parent's parsed configuration by yielding the parent
732
- * command within their handler. This enables patterns like global flags that affect
865
+ * command within their handler. This enables shared parent flags that affect
733
866
  * all subcommands.
734
867
  *
735
868
  * @example
@@ -737,10 +870,12 @@ export const withSubcommands: {
737
870
  * import { Console, Effect } from "effect"
738
871
  * import { Command, Flag } from "effect/unstable/cli"
739
872
  *
740
- * // Parent command with global flags
741
- * const git = Command.make("git", {
742
- * verbose: Flag.boolean("verbose")
743
- * })
873
+ * // Parent command with shared flags
874
+ * const git = Command.make("git").pipe(
875
+ * Command.withSharedFlags({
876
+ * verbose: Flag.boolean("verbose")
877
+ * })
878
+ * )
744
879
  *
745
880
  * // Subcommand that accesses parent config
746
881
  * const clone = Command.make("clone", {
@@ -766,10 +901,12 @@ export const withSubcommands: {
766
901
  Input,
767
902
  E,
768
903
  R,
769
- const Subcommands extends ReadonlyArray<Command<any, any, any, any>>
770
- >(self: Command<Name, Input, E, R>, subcommands: Subcommands): Command<
904
+ ContextInput,
905
+ const Subcommands extends ReadonlyArray<Command.SubcommandEntry>
906
+ >(self: Command<Name, Input, ContextInput, E, R>, subcommands: Subcommands): Command<
771
907
  Name,
772
- Input,
908
+ Simplify<Input | ContextInput>,
909
+ ContextInput,
773
910
  E | ExtractSubcommandErrors<Subcommands>,
774
911
  R | Exclude<ExtractSubcommandContext<Subcommands>, CommandContext<Name>>
775
912
  >
@@ -778,71 +915,257 @@ export const withSubcommands: {
778
915
  Input,
779
916
  E,
780
917
  R,
781
- const Subcommands extends ReadonlyArray<Command<any, any, any, any>>
918
+ ContextInput,
919
+ const Subcommands extends ReadonlyArray<Command.SubcommandEntry>
782
920
  >(
783
- self: Command<Name, Input, E, R>,
921
+ self: Command<Name, Input, ContextInput, E, R>,
784
922
  subcommands: Subcommands
785
923
  ): Command<
786
924
  Name,
787
- Input,
925
+ Simplify<Input | ContextInput>,
926
+ ContextInput,
788
927
  E | ExtractSubcommandErrors<Subcommands>,
789
928
  R | Exclude<ExtractSubcommandContext<Subcommands>, CommandContext<Name>>
790
929
  > => {
791
- checkForDuplicateFlags(self, subcommands)
930
+ const normalized = normalizeSubcommandEntries(subcommands)
931
+ checkForDuplicateFlags(self, normalized.flat)
792
932
 
793
933
  const impl = toImpl(self)
794
- const byName = new Map(subcommands.map((s) => [s.name, toImpl(s)] as const))
934
+ const byName = new Map(normalized.flat.map((s) => [s.name, toImpl(s)] as const))
795
935
 
796
- // Internal type for routing - not exposed in public type
797
- type SubcommandInfo = { readonly name: string; readonly result: unknown }
798
- type InternalInput = Input & { readonly _subcommand?: SubcommandInfo }
936
+ type NextInput = Simplify<Input | ContextInput>
937
+ const SubcommandStateSymbol = Symbol("effect/cli/SubcommandState")
938
+ type SubcommandState = { readonly name: string; readonly result: unknown }
939
+ type InternalInput = NextInput & { readonly [SubcommandStateSymbol]?: SubcommandState }
799
940
 
800
941
  const parse = Effect.fnUntraced(function*(raw: ParsedTokens) {
801
- const parent = yield* impl.parse(raw)
802
-
803
- if (!raw.subcommand) {
804
- return parent
942
+ if (Option.isNone(raw.subcommand)) {
943
+ return (yield* impl.parse(raw)) as NextInput
805
944
  }
806
945
 
807
- const sub = byName.get(raw.subcommand.name)
946
+ const sub = byName.get(raw.subcommand.value.name)
808
947
  if (!sub) {
809
- return parent
948
+ return (yield* impl.parse(raw)) as NextInput
810
949
  }
811
950
 
812
- const result = yield* sub.parse(raw.subcommand.parsedInput)
813
- // Attach subcommand info internally for routing
814
- return Object.assign({}, parent, { _subcommand: { name: sub.name, result } }) as InternalInput
951
+ const context = yield* impl.parseContext(raw)
952
+ const result = yield* sub.parse(raw.subcommand.value.parsedInput)
953
+ return Object.assign({}, context, { [SubcommandStateSymbol]: { name: sub.name, result } }) as NextInput
815
954
  })
816
955
 
817
- const handle = Effect.fnUntraced(function*(input: Input, path: ReadonlyArray<string>) {
956
+ const handle = Effect.fnUntraced(function*(input: NextInput, path: ReadonlyArray<string>) {
818
957
  const internal = input as InternalInput
819
- if (internal._subcommand) {
820
- const child = byName.get(internal._subcommand.name)
958
+ const selectedSubcommand = internal[SubcommandStateSymbol]
959
+
960
+ if (selectedSubcommand) {
961
+ const child = byName.get(selectedSubcommand.name)
821
962
  if (!child) {
822
- return yield* new CliError.ShowHelp({ commandPath: path })
963
+ return yield* new CliError.ShowHelp({ commandPath: path, errors: [] })
823
964
  }
824
965
  return yield* child
825
- .handle(internal._subcommand.result, [...path, child.name])
826
- .pipe(Effect.provideService(impl.service, input))
966
+ .handle(selectedSubcommand.result, [...path, child.name])
967
+ .pipe(Effect.provideService(impl.service, input as unknown as ContextInput))
827
968
  }
828
- return yield* impl.handle(input, path)
969
+ return yield* impl.handle(input as Input, path)
829
970
  })
830
971
 
831
972
  return makeCommand({
832
973
  name: impl.name,
833
974
  config: impl.config,
975
+ contextConfig: impl.contextConfig,
834
976
  description: impl.description,
977
+ shortDescription: impl.shortDescription,
978
+ alias: impl.alias,
979
+ annotations: impl.annotations,
980
+ globalFlags: impl.globalFlags,
981
+ examples: impl.examples,
835
982
  service: impl.service,
836
- subcommands,
983
+ subcommands: normalized.groups,
837
984
  parse,
985
+ parseContext: impl.parseContext,
838
986
  handle
839
987
  })
840
988
  })
841
989
 
990
+ /**
991
+ * Adds flags that are inherited by subcommands.
992
+ *
993
+ * Shared flags are available to this command's handler and to descendant
994
+ * handlers via `yield* parentCommand`. Shared flags are accepted both before
995
+ * and after a selected subcommand name (npm-style).
996
+ *
997
+ * @since 4.0.0
998
+ * @category combinators
999
+ */
1000
+ export const withSharedFlags: {
1001
+ /**
1002
+ * Adds flags that are inherited by subcommands.
1003
+ *
1004
+ * Shared flags are available to this command's handler and to descendant
1005
+ * handlers via `yield* parentCommand`. Shared flags are accepted both before
1006
+ * and after a selected subcommand name (npm-style).
1007
+ *
1008
+ * @since 4.0.0
1009
+ * @category combinators
1010
+ */
1011
+ <const SharedFlags extends Command.FlagConfig>(sharedFlags: SharedFlags): <Name extends string, Input, E, R, ContextInput>(
1012
+ self: Command<Name, Input, ContextInput, E, R>
1013
+ ) => Command<
1014
+ Name,
1015
+ Simplify<Input & Command.Config.Infer<SharedFlags>>,
1016
+ Simplify<ContextInput & Command.Config.Infer<SharedFlags>>,
1017
+ E,
1018
+ R
1019
+ >
1020
+ /**
1021
+ * Adds flags that are inherited by subcommands.
1022
+ *
1023
+ * Shared flags are available to this command's handler and to descendant
1024
+ * handlers via `yield* parentCommand`. Shared flags are accepted both before
1025
+ * and after a selected subcommand name (npm-style).
1026
+ *
1027
+ * @since 4.0.0
1028
+ * @category combinators
1029
+ */
1030
+ <Name extends string, Input, E, R, ContextInput, const SharedFlags extends Command.FlagConfig>(self: Command<Name, Input, ContextInput, E, R>, sharedFlags: SharedFlags): Command<
1031
+ Name,
1032
+ Simplify<Input & Command.Config.Infer<SharedFlags>>,
1033
+ Simplify<ContextInput & Command.Config.Infer<SharedFlags>>,
1034
+ E,
1035
+ R
1036
+ >
1037
+ } = dual(
1038
+ 2,
1039
+ <Name extends string, Input, E, R, ContextInput, const SharedFlags extends Command.FlagConfig>(
1040
+ self: Command<Name, Input, ContextInput, E, R>,
1041
+ sharedFlags: SharedFlags
1042
+ ): Command<
1043
+ Name,
1044
+ Simplify<Input & Command.Config.Infer<SharedFlags>>,
1045
+ Simplify<ContextInput & Command.Config.Infer<SharedFlags>>,
1046
+ E,
1047
+ R
1048
+ > => {
1049
+ const impl = toImpl(self)
1050
+ const sharedConfig = parseConfig(sharedFlags)
1051
+ const mergedConfig = mergeConfig(impl.config, sharedConfig)
1052
+ const mergedContextConfig = mergeConfig(impl.contextConfig, sharedConfig)
1053
+
1054
+ if (impl.subcommands.length > 0) {
1055
+ const flatSubcommands = impl.subcommands.flatMap((group) => group.commands)
1056
+ checkForDuplicateFlags(self, flatSubcommands, { contextConfig: mergedContextConfig })
1057
+ }
1058
+
1059
+ type SharedInput = Command.Config.Infer<SharedFlags>
1060
+ type NextInput = Simplify<Input & SharedInput>
1061
+ type NextContextInput = Simplify<ContextInput & SharedInput>
1062
+
1063
+ const parseShared = makeParser(sharedConfig) as (
1064
+ input: ParsedTokens
1065
+ ) => Effect.Effect<SharedInput, CliError.CliError, Environment>
1066
+
1067
+ const parse = Effect.fnUntraced(function*(raw: ParsedTokens) {
1068
+ const base = yield* impl.parse(raw)
1069
+ const shared = yield* parseShared(raw)
1070
+ return Object.assign({}, base, shared) as NextInput
1071
+ })
1072
+
1073
+ const parseContext = Effect.fnUntraced(function*(raw: ParsedTokens) {
1074
+ const base = yield* impl.parseContext(raw)
1075
+ const shared = yield* parseShared(raw)
1076
+ return Object.assign({}, base, shared) as NextContextInput
1077
+ })
1078
+
1079
+ const handle = (
1080
+ input: NextInput,
1081
+ commandPath: ReadonlyArray<string>
1082
+ ) => impl.handle(input as Input, commandPath)
1083
+
1084
+ return makeCommand({
1085
+ name: impl.name,
1086
+ config: mergedConfig,
1087
+ contextConfig: mergedContextConfig,
1088
+ description: impl.description,
1089
+ shortDescription: impl.shortDescription,
1090
+ alias: impl.alias,
1091
+ annotations: impl.annotations,
1092
+ globalFlags: impl.globalFlags,
1093
+ examples: impl.examples,
1094
+ service: impl.service as Context.Key<CommandContext<Name>, NextContextInput>,
1095
+ subcommands: impl.subcommands,
1096
+ parse,
1097
+ parseContext,
1098
+ handle
1099
+ })
1100
+ }
1101
+ )
1102
+
1103
+ /**
1104
+ * Declares global flags for a command scope.
1105
+ *
1106
+ * Declared global flags apply to the command and all of its descendants.
1107
+ *
1108
+ * @since 4.0.0
1109
+ * @category combinators
1110
+ */
1111
+ export const withGlobalFlags: {
1112
+ /**
1113
+ * Declares global flags for a command scope.
1114
+ *
1115
+ * Declared global flags apply to the command and all of its descendants.
1116
+ *
1117
+ * @since 4.0.0
1118
+ * @category combinators
1119
+ */
1120
+ <const GlobalFlags extends ReadonlyArray<GlobalFlag.GlobalFlag<any>>>(globalFlags: GlobalFlags): <Name extends string, Input, E, R, ContextInput>(
1121
+ self: Command<Name, Input, ContextInput, E, R>
1122
+ ) => Command<Name, Input, ContextInput, E, Exclude<R, ExtractGlobalFlagContext<GlobalFlags>>>
1123
+ /**
1124
+ * Declares global flags for a command scope.
1125
+ *
1126
+ * Declared global flags apply to the command and all of its descendants.
1127
+ *
1128
+ * @since 4.0.0
1129
+ * @category combinators
1130
+ */
1131
+ <
1132
+ Name extends string,
1133
+ Input,
1134
+ E,
1135
+ R,
1136
+ ContextInput,
1137
+ const GlobalFlags extends ReadonlyArray<GlobalFlag.GlobalFlag<any>>
1138
+ >(self: Command<Name, Input, ContextInput, E, R>, globalFlags: GlobalFlags): Command<Name, Input, ContextInput, E, Exclude<R, ExtractGlobalFlagContext<GlobalFlags>>>
1139
+ } = dual(
1140
+ 2,
1141
+ <
1142
+ Name extends string,
1143
+ Input,
1144
+ E,
1145
+ R,
1146
+ ContextInput,
1147
+ const GlobalFlags extends ReadonlyArray<GlobalFlag.GlobalFlag<any>>
1148
+ >(
1149
+ self: Command<Name, Input, ContextInput, E, R>,
1150
+ globalFlags: GlobalFlags
1151
+ ): Command<Name, Input, ContextInput, E, Exclude<R, ExtractGlobalFlagContext<GlobalFlags>>> => {
1152
+ const impl = toImpl(self)
1153
+ const next = Array.from(new Set([...impl.globalFlags, ...globalFlags]))
1154
+ return makeCommand({ ...impl, globalFlags: next })
1155
+ }
1156
+ )
1157
+
842
1158
  // Type extractors for subcommand arrays - T[number] gives union of all elements
843
- type ExtractSubcommandErrors<T extends ReadonlyArray<Command<any, any, any, any>>> = Error<T[number]>
844
- type ExtractSubcommandContext<T extends ReadonlyArray<Command<any, any, any, any>>> = T[number] extends
845
- Command<any, any, any, infer R> ? R : never
1159
+ type ExtractGlobalFlagContext<T extends ReadonlyArray<GlobalFlag.GlobalFlag<any>>> = T[number] extends infer F
1160
+ ? F extends GlobalFlag.Setting<infer Id, infer _A> ? GlobalFlag.Setting.Identifier<Id>
1161
+ : never
1162
+ : never
1163
+ type ExtractSubcommand<T> = T extends Command<infer _Name, infer _Input, infer _CI, infer _E, infer _R> ? T
1164
+ : T extends Command.SubcommandGroup<infer Commands> ? Commands[number]
1165
+ : never
1166
+ type ExtractSubcommandErrors<T extends ReadonlyArray<Command.SubcommandEntry>> = Error<ExtractSubcommand<T[number]>>
1167
+ type ExtractSubcommandContext<T extends ReadonlyArray<Command.SubcommandEntry>> = ExtractSubcommand<T[number]> extends
1168
+ Command<infer _Name, infer _Input, infer _CI, infer _E, infer _R> ? _R : never
846
1169
 
847
1170
  /**
848
1171
  * Sets the description for a command.
@@ -893,9 +1216,9 @@ export const withDescription: {
893
1216
  * @since 4.0.0
894
1217
  * @category combinators
895
1218
  */
896
- (description: string): <const Name extends string, Input, E, R>(
897
- self: Command<Name, Input, E, R>
898
- ) => Command<Name, Input, E, R>
1219
+ (description: string): <const Name extends string, Input, E, R, ContextInput>(
1220
+ self: Command<Name, Input, ContextInput, E, R>
1221
+ ) => Command<Name, Input, ContextInput, E, R>
899
1222
  /**
900
1223
  * Sets the description for a command.
901
1224
  *
@@ -920,21 +1243,244 @@ export const withDescription: {
920
1243
  * @since 4.0.0
921
1244
  * @category combinators
922
1245
  */
923
- <const Name extends string, Input, E, R>(self: Command<Name, Input, E, R>, description: string): Command<Name, Input, E, R>
924
- } = dual(2, <const Name extends string, Input, E, R>(
925
- self: Command<Name, Input, E, R>,
1246
+ <const Name extends string, Input, E, R, ContextInput>(self: Command<Name, Input, ContextInput, E, R>, description: string): Command<Name, Input, ContextInput, E, R>
1247
+ } = dual(2, <const Name extends string, Input, E, R, ContextInput>(
1248
+ self: Command<Name, Input, ContextInput, E, R>,
926
1249
  description: string
927
1250
  ) => makeCommand({ ...toImpl(self), description }))
928
1251
 
1252
+ /**
1253
+ * Sets a short description for a command.
1254
+ *
1255
+ * Short descriptions are used when listing subcommands in help output and
1256
+ * shell completions. If no short description is provided, the full
1257
+ * `description` is used as a fallback.
1258
+ *
1259
+ * @since 4.0.0
1260
+ * @category combinators
1261
+ */
1262
+ export const withShortDescription: {
1263
+ /**
1264
+ * Sets a short description for a command.
1265
+ *
1266
+ * Short descriptions are used when listing subcommands in help output and
1267
+ * shell completions. If no short description is provided, the full
1268
+ * `description` is used as a fallback.
1269
+ *
1270
+ * @since 4.0.0
1271
+ * @category combinators
1272
+ */
1273
+ (shortDescription: string): <const Name extends string, Input, E, R, ContextInput>(
1274
+ self: Command<Name, Input, ContextInput, E, R>
1275
+ ) => Command<Name, Input, ContextInput, E, R>
1276
+ /**
1277
+ * Sets a short description for a command.
1278
+ *
1279
+ * Short descriptions are used when listing subcommands in help output and
1280
+ * shell completions. If no short description is provided, the full
1281
+ * `description` is used as a fallback.
1282
+ *
1283
+ * @since 4.0.0
1284
+ * @category combinators
1285
+ */
1286
+ <const Name extends string, Input, E, R, ContextInput>(self: Command<Name, Input, ContextInput, E, R>, shortDescription: string): Command<Name, Input, ContextInput, E, R>
1287
+ } = dual(2, <const Name extends string, Input, E, R, ContextInput>(
1288
+ self: Command<Name, Input, ContextInput, E, R>,
1289
+ shortDescription: string
1290
+ ) => makeCommand({ ...toImpl(self), shortDescription }))
1291
+
1292
+ /**
1293
+ * Sets an alias for a command.
1294
+ *
1295
+ * Aliases are accepted as alternate subcommand names during parsing and are
1296
+ * shown in help output as `name, alias`.
1297
+ *
1298
+ * @since 4.0.0
1299
+ * @category combinators
1300
+ */
1301
+ export const withAlias: {
1302
+ /**
1303
+ * Sets an alias for a command.
1304
+ *
1305
+ * Aliases are accepted as alternate subcommand names during parsing and are
1306
+ * shown in help output as `name, alias`.
1307
+ *
1308
+ * @since 4.0.0
1309
+ * @category combinators
1310
+ */
1311
+ (alias: string): <const Name extends string, Input, E, R, ContextInput>(
1312
+ self: Command<Name, Input, ContextInput, E, R>
1313
+ ) => Command<Name, Input, ContextInput, E, R>
1314
+ /**
1315
+ * Sets an alias for a command.
1316
+ *
1317
+ * Aliases are accepted as alternate subcommand names during parsing and are
1318
+ * shown in help output as `name, alias`.
1319
+ *
1320
+ * @since 4.0.0
1321
+ * @category combinators
1322
+ */
1323
+ <const Name extends string, Input, E, R, ContextInput>(self: Command<Name, Input, ContextInput, E, R>, alias: string): Command<Name, Input, ContextInput, E, R>
1324
+ } = dual(2, <const Name extends string, Input, E, R, ContextInput>(
1325
+ self: Command<Name, Input, ContextInput, E, R>,
1326
+ alias: string
1327
+ ) => makeCommand({ ...toImpl(self), alias }))
1328
+
1329
+ /**
1330
+ * Adds a custom annotation to a command.
1331
+ *
1332
+ * @since 4.0.0
1333
+ * @category combinators
1334
+ */
1335
+ export const annotate: {
1336
+ /**
1337
+ * Adds a custom annotation to a command.
1338
+ *
1339
+ * @since 4.0.0
1340
+ * @category combinators
1341
+ */
1342
+ <I, S>(service: Context.Key<I, S>, value: NoInfer<S>): <Name extends string, Input, E, R, ContextInput>(
1343
+ self: Command<Name, Input, ContextInput, E, R>
1344
+ ) => Command<Name, Input, ContextInput, E, R>
1345
+ /**
1346
+ * Adds a custom annotation to a command.
1347
+ *
1348
+ * @since 4.0.0
1349
+ * @category combinators
1350
+ */
1351
+ <Name extends string, Input, E, R, ContextInput, I, S>(
1352
+ self: Command<Name, Input, ContextInput, E, R>,
1353
+ service: Context.Key<I, S>,
1354
+ value: NoInfer<S>
1355
+ ): Command<Name, Input, ContextInput, E, R>
1356
+ } = dual(3, <Name extends string, Input, E, R, ContextInput, I, S>(
1357
+ self: Command<Name, Input, ContextInput, E, R>,
1358
+ service: Context.Key<I, S>,
1359
+ value: NoInfer<S>
1360
+ ) => {
1361
+ const impl = toImpl(self)
1362
+ return makeCommand({ ...impl, annotations: Context.add(impl.annotations, service, value) })
1363
+ })
1364
+
1365
+ /**
1366
+ * Merges a Context of annotations into a command.
1367
+ *
1368
+ * @since 4.0.0
1369
+ * @category combinators
1370
+ */
1371
+ export const annotateMerge: {
1372
+ /**
1373
+ * Merges a Context of annotations into a command.
1374
+ *
1375
+ * @since 4.0.0
1376
+ * @category combinators
1377
+ */
1378
+ <I>(annotations: Context.Context<I>): <Name extends string, Input, E, R, ContextInput>(
1379
+ self: Command<Name, Input, ContextInput, E, R>
1380
+ ) => Command<Name, Input, ContextInput, E, R>
1381
+ /**
1382
+ * Merges a Context of annotations into a command.
1383
+ *
1384
+ * @since 4.0.0
1385
+ * @category combinators
1386
+ */
1387
+ <Name extends string, Input, E, R, ContextInput, I>(
1388
+ self: Command<Name, Input, ContextInput, E, R>,
1389
+ annotations: Context.Context<I>
1390
+ ): Command<Name, Input, ContextInput, E, R>
1391
+ } = dual(2, <Name extends string, Input, E, R, ContextInput, I>(
1392
+ self: Command<Name, Input, ContextInput, E, R>,
1393
+ annotations: Context.Context<I>
1394
+ ) => {
1395
+ const impl = toImpl(self)
1396
+ return makeCommand({ ...impl, annotations: Context.merge(impl.annotations, annotations) })
1397
+ })
1398
+
1399
+ /**
1400
+ * Sets usage examples for a command.
1401
+ *
1402
+ * Examples are exposed in structured `HelpDoc` data and rendered by the
1403
+ * default formatter in an `EXAMPLES` section.
1404
+ *
1405
+ * @example
1406
+ * ```ts
1407
+ * import { Command } from "effect/unstable/cli"
1408
+ *
1409
+ * const login = Command.make("login").pipe(
1410
+ * Command.withExamples([
1411
+ * { command: "myapp login", description: "Log in with browser OAuth" },
1412
+ * { command: "myapp login --token sbp_abc123", description: "Log in with a token" }
1413
+ * ])
1414
+ * )
1415
+ * ```
1416
+ *
1417
+ * @since 4.0.0
1418
+ * @category combinators
1419
+ */
1420
+ export const withExamples: {
1421
+ /**
1422
+ * Sets usage examples for a command.
1423
+ *
1424
+ * Examples are exposed in structured `HelpDoc` data and rendered by the
1425
+ * default formatter in an `EXAMPLES` section.
1426
+ *
1427
+ * @example
1428
+ * ```ts
1429
+ * import { Command } from "effect/unstable/cli"
1430
+ *
1431
+ * const login = Command.make("login").pipe(
1432
+ * Command.withExamples([
1433
+ * { command: "myapp login", description: "Log in with browser OAuth" },
1434
+ * { command: "myapp login --token sbp_abc123", description: "Log in with a token" }
1435
+ * ])
1436
+ * )
1437
+ * ```
1438
+ *
1439
+ * @since 4.0.0
1440
+ * @category combinators
1441
+ */
1442
+ (examples: ReadonlyArray<Command.Example>): <const Name extends string, Input, E, R, ContextInput>(
1443
+ self: Command<Name, Input, ContextInput, E, R>
1444
+ ) => Command<Name, Input, ContextInput, E, R>
1445
+ /**
1446
+ * Sets usage examples for a command.
1447
+ *
1448
+ * Examples are exposed in structured `HelpDoc` data and rendered by the
1449
+ * default formatter in an `EXAMPLES` section.
1450
+ *
1451
+ * @example
1452
+ * ```ts
1453
+ * import { Command } from "effect/unstable/cli"
1454
+ *
1455
+ * const login = Command.make("login").pipe(
1456
+ * Command.withExamples([
1457
+ * { command: "myapp login", description: "Log in with browser OAuth" },
1458
+ * { command: "myapp login --token sbp_abc123", description: "Log in with a token" }
1459
+ * ])
1460
+ * )
1461
+ * ```
1462
+ *
1463
+ * @since 4.0.0
1464
+ * @category combinators
1465
+ */
1466
+ <const Name extends string, Input, E, R, ContextInput>(
1467
+ self: Command<Name, Input, ContextInput, E, R>,
1468
+ examples: ReadonlyArray<Command.Example>
1469
+ ): Command<Name, Input, ContextInput, E, R>
1470
+ } = dual(2, <const Name extends string, Input, E, R, ContextInput>(
1471
+ self: Command<Name, Input, ContextInput, E, R>,
1472
+ examples: ReadonlyArray<Command.Example>
1473
+ ) => makeCommand({ ...toImpl(self), examples }))
1474
+
929
1475
  /* ========================================================================== */
930
1476
  /* Providing Services */
931
1477
  /* ========================================================================== */
932
1478
 
933
1479
  // Internal helper: transforms a command's handler while preserving other properties
934
- const mapHandler = <Name extends string, Input, E, R, E2, R2>(
935
- self: Command<Name, Input, E, R>,
1480
+ const mapHandler = <Name extends string, Input, E, R, ContextInput, E2, R2>(
1481
+ self: Command<Name, Input, ContextInput, E, R>,
936
1482
  f: (handler: Effect.Effect<void, E | CliError.CliError, R | Environment>, input: Input) => Effect.Effect<void, E2, R2>
937
- ) => {
1483
+ ): Command<Name, Input, ContextInput, E2, R2> => {
938
1484
  const impl = toImpl(self)
939
1485
  return makeCommand({ ...impl, handle: (input, path) => f(impl.handle(input, path), input) })
940
1486
  }
@@ -1017,9 +1563,9 @@ export const provide: {
1017
1563
  options?: {
1018
1564
  readonly local?: boolean | undefined
1019
1565
  } | undefined
1020
- ): <const Name extends string, E, R>(
1021
- self: Command<Name, Input, E, R>
1022
- ) => Command<Name, Input, E | LE, Exclude<R, LA> | LR>
1566
+ ): <const Name extends string, E, R, ContextInput>(
1567
+ self: Command<Name, Input, ContextInput, E, R>
1568
+ ) => Command<Name, Input, ContextInput, E | LE, Exclude<R, LA> | LR>
1023
1569
  /**
1024
1570
  * Provides the handler of a command with the services produced by a layer
1025
1571
  * that optionally depends on the command-line input to be created.
@@ -1056,15 +1602,15 @@ export const provide: {
1056
1602
  * @since 4.0.0
1057
1603
  * @category providing services
1058
1604
  */
1059
- <const Name extends string, Input, E, R, LA, LE, LR>(
1060
- self: Command<Name, Input, E, R>,
1605
+ <const Name extends string, Input, E, R, ContextInput, LA, LE, LR>(
1606
+ self: Command<Name, Input, ContextInput, E, R>,
1061
1607
  layer: Layer.Layer<LA, LE, LR> | ((input: Input) => Layer.Layer<LA, LE, LR>),
1062
1608
  options?: {
1063
1609
  readonly local?: boolean | undefined
1064
1610
  } | undefined
1065
- ): Command<Name, Input, E | LE, Exclude<R, LA> | LR>
1066
- } = dual((args) => isCommand(args[0]), <const Name extends string, Input, E, R, LA, LE, LR>(
1067
- self: Command<Name, Input, E, R>,
1611
+ ): Command<Name, Input, ContextInput, E | LE, Exclude<R, LA> | LR>
1612
+ } = dual((args) => isCommand(args[0]), <const Name extends string, Input, E, R, ContextInput, LA, LE, LR>(
1613
+ self: Command<Name, Input, ContextInput, E, R>,
1068
1614
  layer: Layer.Layer<LA, LE, LR> | ((input: Input) => Layer.Layer<LA, LE, LR>),
1069
1615
  options?: { readonly local?: boolean | undefined } | undefined
1070
1616
  ) =>
@@ -1088,12 +1634,9 @@ export const provideSync: {
1088
1634
  * @since 4.0.0
1089
1635
  * @category providing services
1090
1636
  */
1091
- <I, S, Input>(
1092
- service: ServiceMap.Service<I, S>,
1093
- implementation: S | ((input: Input) => S)
1094
- ): <const Name extends string, E, R>(
1095
- self: Command<Name, Input, E, R>
1096
- ) => Command<Name, Input, E, Exclude<R, I>>
1637
+ <I, S, Input>(service: Context.Key<I, S>, implementation: S | ((input: Input) => S)): <const Name extends string, E, R, ContextInput>(
1638
+ self: Command<Name, Input, ContextInput, E, R>
1639
+ ) => Command<Name, Input, ContextInput, E, Exclude<R, I>>
1097
1640
  /**
1098
1641
  * Provides the handler of a command with the implementation of a service that
1099
1642
  * optionally depends on the command-line input to be constructed.
@@ -1101,14 +1644,14 @@ export const provideSync: {
1101
1644
  * @since 4.0.0
1102
1645
  * @category providing services
1103
1646
  */
1104
- <const Name extends string, Input, E, R, I, S>(
1105
- self: Command<Name, Input, E, R>,
1106
- service: ServiceMap.Service<I, S>,
1647
+ <const Name extends string, Input, E, R, ContextInput, I, S>(
1648
+ self: Command<Name, Input, ContextInput, E, R>,
1649
+ service: Context.Key<I, S>,
1107
1650
  implementation: S | ((input: Input) => S)
1108
- ): Command<Name, Input, E, Exclude<R, I>>
1109
- } = dual(3, <const Name extends string, Input, E, R, I, S>(
1110
- self: Command<Name, Input, E, R>,
1111
- service: ServiceMap.Service<I, S>,
1651
+ ): Command<Name, Input, ContextInput, E, Exclude<R, I>>
1652
+ } = dual(3, <const Name extends string, Input, E, R, ContextInput, I, S>(
1653
+ self: Command<Name, Input, ContextInput, E, R>,
1654
+ service: Context.Key<I, S>,
1112
1655
  implementation: S | ((input: Input) => S)
1113
1656
  ) =>
1114
1657
  mapHandler(self, (handler, input) =>
@@ -1134,11 +1677,11 @@ export const provideEffect: {
1134
1677
  * @category providing services
1135
1678
  */
1136
1679
  <I, S, Input, R2, E2>(
1137
- service: ServiceMap.Service<I, S>,
1680
+ service: Context.Key<I, S>,
1138
1681
  effect: Effect.Effect<S, E2, R2> | ((input: Input) => Effect.Effect<S, E2, R2>)
1139
- ): <const Name extends string, E, R>(
1140
- self: Command<Name, Input, E, R>
1141
- ) => Command<Name, Input, E | E2, Exclude<R, I> | R2>
1682
+ ): <const Name extends string, E, R, ContextInput>(
1683
+ self: Command<Name, Input, ContextInput, E, R>
1684
+ ) => Command<Name, Input, ContextInput, E | E2, Exclude<R, I> | R2>
1142
1685
  /**
1143
1686
  * Provides the handler of a command with the service produced by an effect
1144
1687
  * that optionally depends on the command-line input to be created.
@@ -1146,14 +1689,14 @@ export const provideEffect: {
1146
1689
  * @since 4.0.0
1147
1690
  * @category providing services
1148
1691
  */
1149
- <const Name extends string, Input, E, R, I, S, R2, E2>(
1150
- self: Command<Name, Input, E, R>,
1151
- service: ServiceMap.Service<I, S>,
1692
+ <const Name extends string, Input, E, R, ContextInput, I, S, R2, E2>(
1693
+ self: Command<Name, Input, ContextInput, E, R>,
1694
+ service: Context.Key<I, S>,
1152
1695
  effect: Effect.Effect<S, E2, R2> | ((input: Input) => Effect.Effect<S, E2, R2>)
1153
- ): Command<Name, Input, E | E2, Exclude<R, I> | R2>
1154
- } = dual(3, <const Name extends string, Input, E, R, I, S, R2, E2>(
1155
- self: Command<Name, Input, E, R>,
1156
- service: ServiceMap.Service<I, S>,
1696
+ ): Command<Name, Input, ContextInput, E | E2, Exclude<R, I> | R2>
1697
+ } = dual(3, <const Name extends string, Input, E, R, ContextInput, I, S, R2, E2>(
1698
+ self: Command<Name, Input, ContextInput, E, R>,
1699
+ service: Context.Key<I, S>,
1157
1700
  effect: Effect.Effect<S, E2, R2> | ((input: Input) => Effect.Effect<S, E2, R2>)
1158
1701
  ) =>
1159
1702
  mapHandler(
@@ -1179,9 +1722,9 @@ export const provideEffectDiscard: {
1179
1722
  */
1180
1723
  <_, Input, E2, R2>(
1181
1724
  effect: Effect.Effect<_, E2, R2> | ((input: Input) => Effect.Effect<_, E2, R2>)
1182
- ): <const Name extends string, E, R>(
1183
- self: Command<Name, Input, E, R>
1184
- ) => Command<Name, Input, E | E2, R | R2>
1725
+ ): <const Name extends string, E, R, ContextInput>(
1726
+ self: Command<Name, Input, ContextInput, E, R>
1727
+ ) => Command<Name, Input, ContextInput, E | E2, R | R2>
1185
1728
  /**
1186
1729
  * Allows for execution of an effect, which optionally depends on command-line
1187
1730
  * input to be created, prior to executing the handler of a command.
@@ -1189,12 +1732,12 @@ export const provideEffectDiscard: {
1189
1732
  * @since 4.0.0
1190
1733
  * @category providing services
1191
1734
  */
1192
- <const Name extends string, Input, E, R, _, E2, R2>(
1193
- self: Command<Name, Input, E, R>,
1735
+ <const Name extends string, Input, E, R, ContextInput, _, E2, R2>(
1736
+ self: Command<Name, Input, ContextInput, E, R>,
1194
1737
  effect: Effect.Effect<_, E2, R2> | ((input: Input) => Effect.Effect<_, E2, R2>)
1195
- ): Command<Name, Input, E | E2, R | R2>
1196
- } = dual(2, <const Name extends string, Input, E, R, _, E2, R2>(
1197
- self: Command<Name, Input, E, R>,
1738
+ ): Command<Name, Input, ContextInput, E | E2, R | R2>
1739
+ } = dual(2, <const Name extends string, Input, E, R, ContextInput, _, E2, R2>(
1740
+ self: Command<Name, Input, ContextInput, E, R>,
1198
1741
  effect: Effect.Effect<_, E2, R2> | ((input: Input) => Effect.Effect<_, E2, R2>)
1199
1742
  ) =>
1200
1743
  mapHandler(self, (handler, input) => Effect.andThen(typeof effect === "function" ? effect(input) : effect, handler)))
@@ -1203,17 +1746,55 @@ export const provideEffectDiscard: {
1203
1746
  /* Execution */
1204
1747
  /* ========================================================================== */
1205
1748
 
1206
- const showHelp = <Name extends string, Input, E, R>(
1207
- command: Command<Name, Input, E, R>,
1208
- commandPath: ReadonlyArray<string>,
1209
- errors?: ReadonlyArray<CliError.CliError>
1210
- ): Effect.Effect<void, never, Environment> =>
1749
+ const getOutOfScopeGlobalFlagErrors = (
1750
+ allFlags: ReadonlyArray<GlobalFlag.GlobalFlag<any>>,
1751
+ activeFlags: ReadonlyArray<GlobalFlag.GlobalFlag<any>>,
1752
+ flagMap: Record<string, ReadonlyArray<string>>,
1753
+ commandPath: ReadonlyArray<string>
1754
+ ): ReadonlyArray<CliError.UnrecognizedOption> => {
1755
+ const activeSet = new Set(activeFlags)
1756
+ const errors: Array<CliError.UnrecognizedOption> = []
1757
+ const seen = new Set<string>()
1758
+
1759
+ for (const flag of allFlags) {
1760
+ if (activeSet.has(flag)) {
1761
+ continue
1762
+ }
1763
+
1764
+ const singles = Param.extractSingleParams(flag.flag)
1765
+ for (const single of singles) {
1766
+ const entries = flagMap[single.name]
1767
+ if (!entries || entries.length === 0) {
1768
+ continue
1769
+ }
1770
+ const option = `--${single.name}`
1771
+ if (seen.has(option)) {
1772
+ continue
1773
+ }
1774
+ seen.add(option)
1775
+ errors.push(
1776
+ new CliError.UnrecognizedOption({
1777
+ option,
1778
+ suggestions: [],
1779
+ command: commandPath
1780
+ })
1781
+ )
1782
+ }
1783
+ }
1784
+
1785
+ return errors
1786
+ }
1787
+
1788
+ const showHelp = <Name extends string, Input, E, R, ContextInput>(
1789
+ command: Command<Name, Input, ContextInput, E, R>,
1790
+ error: CliError.ShowHelp
1791
+ ): Effect.Effect<void, CliError.CliError, Environment> =>
1211
1792
  Effect.gen(function*() {
1212
1793
  const formatter = yield* CliOutput.Formatter
1213
- const helpDoc = getHelpForCommandPath(command, commandPath)
1794
+ const helpDoc = yield* getHelpForCommandPath(command, error.commandPath, GlobalFlag.BuiltIns)
1214
1795
  yield* Console.log(formatter.formatHelpDoc(helpDoc))
1215
- if (errors && errors.length > 0) {
1216
- yield* Console.error(formatter.formatErrors(errors))
1796
+ if (error.errors.length > 0) {
1797
+ yield* Console.error(formatter.formatErrors(error.errors as any))
1217
1798
  }
1218
1799
  })
1219
1800
 
@@ -1232,7 +1813,7 @@ const showHelp = <Name extends string, Input, E, R>(
1232
1813
  * yield* Console.log(`Hello, ${config.name}!`)
1233
1814
  * }))
1234
1815
  *
1235
- * // Automatically gets args from process.argv
1816
+ * // Automatically gets args from the Stdio service
1236
1817
  * const program = Command.run(greetCommand, {
1237
1818
  * version: "1.0.0"
1238
1819
  * })
@@ -1257,7 +1838,7 @@ export const run: {
1257
1838
  * yield* Console.log(`Hello, ${config.name}!`)
1258
1839
  * }))
1259
1840
  *
1260
- * // Automatically gets args from process.argv
1841
+ * // Automatically gets args from the Stdio service
1261
1842
  * const program = Command.run(greetCommand, {
1262
1843
  * version: "1.0.0"
1263
1844
  * })
@@ -1266,12 +1847,13 @@ export const run: {
1266
1847
  * @since 4.0.0
1267
1848
  * @category command execution
1268
1849
  */
1269
- <Name extends string, Input, E, R>(
1270
- command: Command<Name, Input, E, R>,
1850
+ (
1271
1851
  config: {
1272
1852
  readonly version: string
1273
1853
  }
1274
- ): Effect.Effect<void, E | CliError.CliError, R | Environment>
1854
+ ): <Name extends string, Input, E, R, ContextInput>(
1855
+ command: Command<Name, Input, ContextInput, E, R>
1856
+ ) => Effect.Effect<void, E | CliError.CliError, R | Environment>
1275
1857
  /**
1276
1858
  * Runs a command with the provided input arguments.
1277
1859
  *
@@ -1287,7 +1869,7 @@ export const run: {
1287
1869
  * yield* Console.log(`Hello, ${config.name}!`)
1288
1870
  * }))
1289
1871
  *
1290
- * // Automatically gets args from process.argv
1872
+ * // Automatically gets args from the Stdio service
1291
1873
  * const program = Command.run(greetCommand, {
1292
1874
  * version: "1.0.0"
1293
1875
  * })
@@ -1296,24 +1878,24 @@ export const run: {
1296
1878
  * @since 4.0.0
1297
1879
  * @category command execution
1298
1880
  */
1299
- (
1881
+ <Name extends string, Input, E, R, ContextInput>(
1882
+ command: Command<Name, Input, ContextInput, E, R>,
1300
1883
  config: {
1301
1884
  readonly version: string
1302
1885
  }
1303
- ): <Name extends string, Input, E, R>(
1304
- command: Command<Name, Input, E, R>
1305
- ) => Effect.Effect<void, E | CliError.CliError, R | Environment>
1306
- } = dual(2, <Name extends string, Input, E, R>(
1307
- command: Command<Name, Input, E, R>,
1886
+ ): Effect.Effect<void, E | CliError.CliError, R | Environment>
1887
+ } = dual(2, <Name extends string, Input, E, R, ContextInput>(
1888
+ command: Command<Name, Input, ContextInput, E, R>,
1308
1889
  config: {
1309
1890
  readonly version: string
1310
1891
  }
1311
- ) => {
1312
- // TODO: process.argv is a Node.js global. For browser/edge runtime support,
1313
- // consider accepting an optional args parameter or using a platform service.
1314
- const input = process.argv.slice(2)
1315
- return runWith(command, config)(input)
1316
- })
1892
+ ) =>
1893
+ Stdio.Stdio.use(({ args }) =>
1894
+ Effect.flatMap(
1895
+ args,
1896
+ (args) => runWith(command, config)(args)
1897
+ )
1898
+ ))
1317
1899
 
1318
1900
  /**
1319
1901
  * Runs a command with explicitly provided arguments instead of using process.argv.
@@ -1354,8 +1936,8 @@ export const run: {
1354
1936
  * @since 4.0.0
1355
1937
  * @category command execution
1356
1938
  */
1357
- export const runWith = <const Name extends string, Input, E, R>(
1358
- command: Command<Name, Input, E, R>,
1939
+ export const runWith = <const Name extends string, Input, E, R, ContextInput>(
1940
+ command: Command<Name, Input, ContextInput, E, R>,
1359
1941
  config: {
1360
1942
  readonly version: string
1361
1943
  }
@@ -1365,54 +1947,87 @@ export const runWith = <const Name extends string, Input, E, R>(
1365
1947
  const commandImpl = toImpl(command)
1366
1948
  return Effect.fnUntraced(
1367
1949
  function*(args: ReadonlyArray<string>) {
1368
- // Lex and extract built-in flags
1369
1950
  const { tokens, trailingOperands } = Lexer.lex(args)
1370
- const { completions, help, logLevel, remainder, version } = yield* Parser.extractBuiltInOptions(tokens)
1951
+
1952
+ // 1. Collect known global flags from the command tree
1953
+ const allFlags = getGlobalFlagsForCommandTree(command, GlobalFlag.BuiltIns)
1954
+
1955
+ // 2. Extract global flag tokens
1956
+ const allFlagParams = allFlags.flatMap((f) => Param.extractSingleParams(f.flag))
1957
+ const globalRegistry = Parser.createFlagRegistry(allFlagParams.filter(Param.isFlagParam))
1958
+ const { flagMap, remainder, errors: globalFlagErrors } = Parser.consumeKnownFlags(tokens, globalRegistry)
1959
+ const emptyArgs: Param.ParsedArgs = { flags: flagMap, arguments: [] }
1960
+
1961
+ // 3. Parse command arguments from remaining tokens
1371
1962
  const parsedArgs = yield* Parser.parseArgs({ tokens: remainder, trailingOperands }, command)
1372
1963
  const commandPath = [command.name, ...Parser.getCommandPath(parsedArgs)] as const
1373
- const formatter = yield* CliOutput.Formatter
1964
+ const handlerCtx: GlobalFlag.HandlerContext = { command, commandPath, version: config.version }
1965
+ const activeFlags = getGlobalFlagsForCommandPath(command, commandPath, GlobalFlag.BuiltIns)
1374
1966
 
1375
- // Handle built-in flags (early exits)
1376
- if (help) {
1377
- yield* Console.log(formatter.formatHelpDoc(getHelpForCommandPath(command, commandPath)))
1378
- return
1379
- }
1380
- if (completions !== undefined) {
1381
- const descriptor = CommandDescriptor.fromCommand(command)
1382
- yield* Console.log(Completions.generate(command.name, completions, descriptor))
1383
- return
1967
+ // 4. Reject globals that were passed outside the active command scope
1968
+ const outOfScopeErrors = getOutOfScopeGlobalFlagErrors(allFlags, activeFlags, flagMap, commandPath)
1969
+ if (outOfScopeErrors.length > 0 || globalFlagErrors.length > 0) {
1970
+ const parseErrors = parsedArgs.errors ?? []
1971
+ return yield* new CliError.ShowHelp({
1972
+ commandPath,
1973
+ errors: [...globalFlagErrors, ...outOfScopeErrors, ...parseErrors]
1974
+ })
1384
1975
  }
1385
- if (version) {
1386
- yield* Console.log(formatter.formatVersion(command.name, config.version))
1976
+
1977
+ // 5. Process action flags — first present action wins, then exit
1978
+ for (const flag of activeFlags) {
1979
+ if (flag._tag !== "Action") continue
1980
+ const singles = Param.extractSingleParams(flag.flag)
1981
+ const hasEntry = singles.some((s) => {
1982
+ const entries = flagMap[s.name]
1983
+ return entries !== undefined && entries.length > 0
1984
+ })
1985
+ if (!hasEntry) continue
1986
+ const [, value] = yield* flag.flag.parse(emptyArgs)
1987
+ yield* flag.run(value, handlerCtx)
1387
1988
  return
1388
1989
  }
1389
1990
 
1390
- // Handle parsing errors
1991
+ // 6. Handle parsing errors
1391
1992
  if (parsedArgs.errors && parsedArgs.errors.length > 0) {
1392
- return yield* showHelp(command, commandPath, parsedArgs.errors)
1993
+ return yield* new CliError.ShowHelp({ commandPath, errors: parsedArgs.errors })
1393
1994
  }
1394
1995
  const parseResult = yield* Effect.result(commandImpl.parse(parsedArgs))
1395
1996
  if (parseResult._tag === "Failure") {
1396
- return yield* showHelp(command, commandPath, [parseResult.failure])
1997
+ return yield* new CliError.ShowHelp({
1998
+ commandPath,
1999
+ errors: [parseResult.failure as CliError.NonShowHelpErrors]
2000
+ })
2001
+ }
2002
+
2003
+ // 7. Provide setting values
2004
+ let program = commandImpl.handle(parseResult.success, [command.name])
2005
+ for (const flag of activeFlags) {
2006
+ if (flag._tag !== "Setting") continue
2007
+ const [, value] = yield* flag.flag.parse(emptyArgs)
2008
+ program = Effect.provideService(program, flag, value)
1397
2009
  }
1398
- const parsed = parseResult.success
1399
2010
 
1400
- // Create and run the execution program
1401
- const program = commandImpl.handle(parsed, [command.name])
1402
- const withLogLevel = logLevel !== undefined
1403
- ? Effect.provideService(program, References.MinimumLogLevel, logLevel)
1404
- : program
2011
+ const [, logLevel] = yield* GlobalFlag.LogLevel.flag.parse(emptyArgs)
2012
+ program = Effect.provideService(program, GlobalFlag.LogLevel, logLevel)
2013
+
2014
+ // 8. Apply built-in setting behavior
2015
+ const services = Option.match(logLevel, {
2016
+ onNone: () => Context.empty(),
2017
+ onSome: (level) => Context.make(References.MinimumLogLevel, level)
2018
+ })
1405
2019
 
1406
- yield* withLogLevel
2020
+ // 9. Run command handler with composed context
2021
+ yield* Effect.provideContext(program, services)
1407
2022
  },
1408
- Effect.catchIf(
1409
- ((error: any) =>
2023
+ Effect.catchFilter(
2024
+ (error) =>
1410
2025
  CliError.isCliError(error) && error._tag === "ShowHelp"
1411
2026
  ? Result.succeed(error)
1412
- : Result.fail(error)) as any,
1413
- (error: any) => showHelp(command, error.commandPath)
2027
+ : Result.fail(error),
2028
+ (error) => Effect.andThen(showHelp(command, error), Effect.fail(error))
1414
2029
  ),
1415
- Effect.catchIf(
2030
+ Effect.catchFilter(
1416
2031
  (e) =>
1417
2032
  Terminal.isQuitError(e)
1418
2033
  ? Result.succeed(e)