effect 4.0.0-beta.6 → 4.0.0-beta.60

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 +1391 -927
  76. package/dist/Effect.d.ts.map +1 -1
  77. package/dist/Effect.js +472 -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 +488 -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 +4 -4
  644. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  645. package/dist/unstable/cluster/K8sHttpClient.js +6 -6
  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 +59 -40
  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 +1581 -1050
  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 +1168 -621
  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 +7 -7
  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 +134 -54
  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
package/src/Data.ts CHANGED
@@ -1,13 +1,73 @@
1
1
  /**
2
- * This module provides utilities for creating data types with structural equality
3
- * semantics. Unlike regular JavaScript objects, `Data` types support value-based
4
- * equality comparison using the `Equal` module.
2
+ * Immutable data constructors with discriminated-union support.
5
3
  *
6
- * The main benefits of using `Data` types are:
7
- * - **Structural equality**: Two `Data` objects are equal if their contents are equal
8
- * - **Immutability**: `Data` types are designed to be immutable
9
- * - **Type safety**: Constructors ensure type safety and consistency
10
- * - **Effect integration**: Error types work seamlessly with Effect's error handling
4
+ * The `Data` module provides base classes and factory functions for creating
5
+ * immutable value types with a `_tag` field for discriminated unions.
6
+ * It is the recommended way to define domain models, error types, and
7
+ * lightweight ADTs in Effect applications.
8
+ *
9
+ * ## Mental model
10
+ *
11
+ * - **`Class`** — base class for plain immutable data. Extend it with a type
12
+ * parameter to declare the fields. Instances are `Pipeable`.
13
+ * - **`TaggedClass`** — like `Class` but automatically adds a `readonly _tag`
14
+ * string literal field. Useful for single-variant types or ad-hoc tagged
15
+ * values.
16
+ * - **`TaggedEnum`** (type) + **`taggedEnum`** (value) — define a multi-variant
17
+ * discriminated union from a simple record. `taggedEnum()` returns per-variant
18
+ * constructors plus `$is` / `$match` helpers.
19
+ * - **`Error`** — like `Class` but extends `Cause.YieldableError`, so instances
20
+ * can be yielded inside `Effect.gen` to fail the effect.
21
+ * - **`TaggedError`** — like `TaggedClass` but extends `Cause.YieldableError`.
22
+ * Works with `Effect.catchTag` for tag-based error recovery.
23
+ *
24
+ * ## Common tasks
25
+ *
26
+ * - Define a simple value class → {@link Class}
27
+ * - Define a value class with a `_tag` → {@link TaggedClass}
28
+ * - Define a discriminated union with constructors → {@link TaggedEnum} + {@link taggedEnum}
29
+ * - Define a yieldable error → {@link Error}
30
+ * - Define a yieldable tagged error → {@link TaggedError}
31
+ * - Type-guard a tagged value → `$is` from {@link taggedEnum}
32
+ * - Pattern-match on a tagged union → `$match` from {@link taggedEnum}
33
+ *
34
+ * ## Gotchas
35
+ *
36
+ * - Variant records passed to `TaggedEnum` must **not** contain a `_tag` key;
37
+ * the `_tag` is added automatically from the record key.
38
+ * - When a class has no fields, the constructor argument is optional (`void`).
39
+ * - `taggedEnum()` creates **plain objects**, not class instances. If you need
40
+ * class-based variants, use `TaggedClass` or `TaggedError` instead.
41
+ * - `TaggedEnum.WithGenerics` supports up to 4 generic type parameters.
42
+ *
43
+ * ## Quickstart
44
+ *
45
+ * **Example** (tagged union with pattern matching)
46
+ *
47
+ * ```ts
48
+ * import { Data } from "effect"
49
+ *
50
+ * type Shape = Data.TaggedEnum<{
51
+ * Circle: { readonly radius: number }
52
+ * Rect: { readonly width: number; readonly height: number }
53
+ * }>
54
+ * const { Circle, Rect, $match } = Data.taggedEnum<Shape>()
55
+ *
56
+ * const area = $match({
57
+ * Circle: ({ radius }) => Math.PI * radius ** 2,
58
+ * Rect: ({ width, height }) => width * height
59
+ * })
60
+ *
61
+ * console.log(area(Circle({ radius: 5 })))
62
+ * // 78.53981633974483
63
+ * console.log(area(Rect({ width: 3, height: 4 })))
64
+ * // 12
65
+ * ```
66
+ *
67
+ * @see {@link Class} — plain immutable data class
68
+ * @see {@link TaggedEnum} — discriminated union type
69
+ * @see {@link taggedEnum} — discriminated union constructors
70
+ * @see {@link TaggedError} — yieldable tagged error class
11
71
  *
12
72
  * @since 2.0.0
13
73
  */
@@ -19,31 +79,39 @@ import type * as Types from "./Types.ts"
19
79
  import type { Unify } from "./Unify.ts"
20
80
 
21
81
  /**
22
- * Provides a constructor for a Case Class.
82
+ * Base class for immutable data types.
83
+ *
84
+ * Extend `Class` with a type parameter to declare fields. The constructor
85
+ * accepts those fields as a single object argument. When there are no fields
86
+ * the argument is optional.
87
+ *
88
+ * - Use when you need a lightweight immutable value type with `.pipe()` support.
89
+ * - Instances are `Readonly` and `Pipeable`.
90
+ * - If you also need a `_tag` discriminator, use {@link TaggedClass} instead.
91
+ * - If you need a yieldable error, use {@link Error} or {@link TaggedError}.
92
+ *
93
+ * **Example** (defining a value class)
23
94
  *
24
- * @example
25
95
  * ```ts
26
96
  * import { Data, Equal } from "effect"
27
- * import * as assert from "node:assert"
28
97
  *
29
98
  * class Person extends Data.Class<{ readonly name: string }> {}
30
99
  *
31
- * // Creating instances of Person
32
100
  * const mike1 = new Person({ name: "Mike" })
33
101
  * const mike2 = new Person({ name: "Mike" })
34
- * const john = new Person({ name: "John" })
35
102
  *
36
- * // Checking equality
37
- * assert.deepStrictEqual(Equal.equals(mike1, mike2), true)
38
- * assert.deepStrictEqual(Equal.equals(mike1, john), false)
103
+ * console.log(Equal.equals(mike1, mike2))
104
+ * // true
39
105
  * ```
40
106
  *
41
- * @since 2.0.0
107
+ * @see {@link TaggedClass} — adds a `_tag` field
108
+ * @see {@link Error} — yieldable error variant
109
+ *
42
110
  * @category constructors
111
+ * @since 2.0.0
43
112
  */
44
113
  export const Class: new<A extends Record<string, any> = {}>(
45
- args: Types.Equals<A, {}> extends true ? void
46
- : { readonly [P in keyof A]: A[P] }
114
+ args: Types.VoidIfEmpty<{ readonly [P in keyof A]: A[P] }>
47
115
  ) => Readonly<A> & Pipeable.Pipeable = class extends Pipeable.Class {
48
116
  constructor(props: any) {
49
117
  super()
@@ -54,85 +122,86 @@ export const Class: new<A extends Record<string, any> = {}>(
54
122
  } as any
55
123
 
56
124
  /**
57
- * Provides a Tagged constructor for a Case Class.
125
+ * Base class for immutable data types with a `_tag` discriminator.
58
126
  *
59
- * @example
60
- * ```ts
61
- * import { Data, Equal } from "effect"
62
- * import * as assert from "node:assert"
127
+ * Like {@link Class}, but the resulting instances also carry a
128
+ * `readonly _tag: Tag` property. The `_tag` is excluded from the constructor
129
+ * argument.
63
130
  *
64
- * class Person extends Data.TaggedClass("Person")<{ readonly name: string }> {}
131
+ * - Use when you need a single-variant tagged type or an ad-hoc discriminator.
132
+ * - For multi-variant unions, prefer {@link TaggedEnum} + {@link taggedEnum}.
133
+ * - For yieldable errors, use {@link TaggedError}.
65
134
  *
66
- * // Creating instances of Person
67
- * const mike1 = new Person({ name: "Mike" })
68
- * const mike2 = new Person({ name: "Mike" })
69
- * const john = new Person({ name: "John" })
135
+ * **Example** (defining a tagged class)
70
136
  *
71
- * // Checking equality
72
- * assert.deepStrictEqual(Equal.equals(mike1, mike2), true)
73
- * assert.deepStrictEqual(Equal.equals(mike1, john), false)
137
+ * ```ts
138
+ * import { Data } from "effect"
139
+ *
140
+ * class Person extends Data.TaggedClass("Person")<{
141
+ * readonly name: string
142
+ * }> {}
74
143
  *
75
- * assert.deepStrictEqual(mike1._tag, "Person")
144
+ * const mike = new Person({ name: "Mike" })
145
+ * console.log(mike._tag)
146
+ * // "Person"
76
147
  * ```
77
148
  *
78
- * @since 2.0.0
149
+ * @see {@link Class} — without a `_tag`
150
+ * @see {@link TaggedError} — tagged error variant
151
+ * @see {@link TaggedEnum} — multi-variant unions
152
+ *
79
153
  * @category constructors
154
+ * @since 2.0.0
80
155
  */
81
156
  export const TaggedClass = <Tag extends string>(
82
157
  tag: Tag
83
158
  ): new<A extends Record<string, any> = {}>(
84
- args: Types.Equals<A, {}> extends true ? void
85
- : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }
159
+ args: Types.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>
86
160
  ) => Readonly<A> & { readonly _tag: Tag } & Pipeable.Pipeable =>
87
161
  class extends Class {
88
162
  readonly _tag = tag
89
163
  } as any
90
164
 
91
165
  /**
92
- * Create a tagged enum data type, which is a union of `Data` structs.
166
+ * Transforms a record of variant definitions into a discriminated union type.
167
+ *
168
+ * Each key in the record becomes a variant with `readonly _tag` set to that
169
+ * key. Use with {@link taggedEnum} to get runtime constructors, type guards,
170
+ * and pattern matching.
171
+ *
172
+ * - Use when you have two or more variants that share a common `_tag`
173
+ * discriminator.
174
+ * - Variant records must **not** include a `_tag` property — it is added
175
+ * automatically.
176
+ * - For generic tagged enums, see {@link TaggedEnum.WithGenerics}.
93
177
  *
94
- * A `TaggedEnum` transforms a record of variant definitions into a discriminated
95
- * union type where each variant has a `_tag` field for type discrimination.
178
+ * **Example** (defining a tagged enum)
96
179
  *
97
- * @example
98
180
  * ```ts
99
181
  * import { Data } from "effect"
100
182
  *
101
- * // Define a tagged enum type
102
183
  * type HttpError = Data.TaggedEnum<{
103
184
  * BadRequest: { readonly status: 400; readonly message: string }
104
- * NotFound: { readonly status: 404; readonly message: string }
105
- * InternalError: { readonly status: 500; readonly details: string }
185
+ * NotFound: { readonly status: 404 }
106
186
  * }>
107
187
  *
108
- * // This is equivalent to the union type:
109
- * type HttpErrorExpanded =
110
- * | {
111
- * readonly _tag: "BadRequest"
112
- * readonly status: 400
113
- * readonly message: string
114
- * }
115
- * | {
116
- * readonly _tag: "NotFound"
117
- * readonly status: 404
118
- * readonly message: string
119
- * }
120
- * | {
121
- * readonly _tag: "InternalError"
122
- * readonly status: 500
123
- * readonly details: string
124
- * }
125
- *
126
- * // Usage with constructors
127
- * const { BadRequest, InternalError, NotFound } = Data.taggedEnum<HttpError>()
128
- *
129
- * const error: HttpError = BadRequest({ status: 400, message: "Invalid request" })
130
- * console.log(error._tag) // "BadRequest"
131
- * console.log(error.status) // 400
188
+ * // Equivalent to:
189
+ * // | { readonly _tag: "BadRequest"; readonly status: 400; readonly message: string }
190
+ * // | { readonly _tag: "NotFound"; readonly status: 404 }
191
+ *
192
+ * const { BadRequest, NotFound } = Data.taggedEnum<HttpError>()
193
+ *
194
+ * const err = BadRequest({ status: 400, message: "missing id" })
195
+ * console.log(err._tag)
196
+ * // "BadRequest"
132
197
  * ```
133
198
  *
134
- * @since 2.0.0
199
+ * @see {@link taggedEnum} — runtime constructors for a `TaggedEnum`
200
+ * @see {@link TaggedEnum.WithGenerics} — generic tagged enums
201
+ * @see {@link TaggedEnum.Constructor} — the constructor object type
202
+ *
135
203
  * @category models
204
+ * @since 2.0.0
136
205
  */
137
206
  export type TaggedEnum<
138
207
  A extends Record<string, Record<string, any>> & UntaggedChildren<A>
@@ -152,52 +221,53 @@ type UntaggedChildren<A> = true extends ChildrenAreTagged<A>
152
221
  : unknown
153
222
 
154
223
  /**
155
- * A namespace providing utilities for TaggedEnum types.
156
- *
157
- * This namespace contains types and utilities for working with tagged enums,
158
- * which are discriminated unions with structural equality semantics.
159
- *
160
- * @example
161
- * ```ts
162
- * import { Data } from "effect"
163
- *
164
- * // Basic tagged enum usage
165
- * const { Failure, Success } = Data.taggedEnum<
166
- * | { readonly _tag: "Success"; readonly value: number }
167
- * | { readonly _tag: "Failure"; readonly error: string }
168
- * >()
224
+ * Namespace for `TaggedEnum` utility types.
169
225
  *
170
- * const result = Success({ value: 42 })
171
- * console.log(result._tag) // "Success"
172
- * console.log(result.value) // 42
173
- * ```
226
+ * Provides helper types for:
227
+ * - Generic tagged enums ({@link TaggedEnum.WithGenerics}, {@link TaggedEnum.Kind})
228
+ * - Extracting constructor arguments ({@link TaggedEnum.Args}) and variant
229
+ * values ({@link TaggedEnum.Value})
230
+ * - Full constructor objects ({@link TaggedEnum.Constructor})
174
231
  *
175
- * @since 2.0.0
176
232
  * @category types
233
+ * @since 2.0.0
177
234
  */
178
235
  export declare namespace TaggedEnum {
179
236
  /**
180
- * A type-level helper for tagged enums that support generic type parameters.
181
- * This interface is used to define the structure of tagged enum definitions
182
- * that can accept generic type parameters.
237
+ * Defines a tagged enum shape that accepts generic type parameters.
238
+ *
239
+ * Extend this interface and set `taggedEnum` to your union type, using
240
+ * `this["A"]`, `this["B"]`, etc. as placeholders for the generics. The
241
+ * `Count` parameter declares how many generics are used (up to 4).
242
+ *
243
+ * - Use when variant payloads need to be parameterized (e.g., `Result<E, A>`).
244
+ * - Pass the interface (not the type alias) to {@link taggedEnum} to get
245
+ * generic-aware constructors.
246
+ *
247
+ * **Example** (generic tagged enum)
183
248
  *
184
- * @example
185
249
  * ```ts
186
- * import type { Data } from "effect"
250
+ * import { Data } from "effect"
187
251
  *
188
- * // Define a tagged enum with generic parameters
189
- * interface MyTaggedEnum<A, B> extends Data.TaggedEnum.WithGenerics<2> {
190
- * readonly taggedEnum:
191
- * | { readonly _tag: "Success"; readonly value: A }
192
- * | { readonly _tag: "Failure"; readonly error: B }
252
+ * type MyResult<E, A> = Data.TaggedEnum<{
253
+ * Failure: { readonly error: E }
254
+ * Success: { readonly value: A }
255
+ * }>
256
+ *
257
+ * interface MyResultDef extends Data.TaggedEnum.WithGenerics<2> {
258
+ * readonly taggedEnum: MyResult<this["A"], this["B"]>
193
259
  * }
194
260
  *
195
- * // The number of generics is tracked in the type
196
- * type NumGenerics = MyTaggedEnum<string, Error>["numberOfGenerics"] // 2
261
+ * const { Failure, Success } = Data.taggedEnum<MyResultDef>()
262
+ *
263
+ * const ok = Success({ value: 42 })
264
+ * // ok: { readonly _tag: "Success"; readonly value: number }
197
265
  * ```
198
266
  *
267
+ * @see {@link Kind} — apply concrete types to a `WithGenerics` definition
268
+ * @see {@link taggedEnum} — runtime constructors
269
+ *
199
270
  * @since 2.0.0
200
- * @category models
201
271
  */
202
272
  export interface WithGenerics<Count extends number> {
203
273
  readonly taggedEnum: { readonly _tag: string }
@@ -210,45 +280,33 @@ export declare namespace TaggedEnum {
210
280
  }
211
281
 
212
282
  /**
213
- * Utility type for applying generic type parameters to a tagged enum definition.
283
+ * Applies concrete type arguments to a `WithGenerics` definition, producing
284
+ * the resulting tagged union type.
214
285
  *
215
- * This type takes a `WithGenerics` definition and applies the provided type
216
- * parameters to create a concrete tagged enum type.
286
+ * - Use to refer to a specific instantiation of a generic tagged enum in
287
+ * type signatures.
288
+ *
289
+ * **Example** (applying generics)
217
290
  *
218
- * @example
219
291
  * ```ts
220
292
  * import type { Data } from "effect"
221
293
  *
222
- * // Define a generic Option type
223
294
  * type Option<A> = Data.TaggedEnum<{
224
295
  * None: {}
225
296
  * Some: { readonly value: A }
226
297
  * }>
227
- *
228
- * interface OptionDefinition extends Data.TaggedEnum.WithGenerics<1> {
298
+ * interface OptionDef extends Data.TaggedEnum.WithGenerics<1> {
229
299
  * readonly taggedEnum: Option<this["A"]>
230
300
  * }
231
301
  *
232
- * // Apply specific type to get concrete type
233
- * type StringOption = Data.TaggedEnum.Kind<OptionDefinition, string>
234
- * // Result: { readonly _tag: "None" } | { readonly _tag: "Some"; readonly value: string }
235
- *
236
- * type NumberOption = Data.TaggedEnum.Kind<OptionDefinition, number>
237
- * // Result: { readonly _tag: "None" } | { readonly _tag: "Some"; readonly value: number }
238
- *
239
- * // Usage in type-safe functions
240
- * const processOption = (opt: StringOption): string => {
241
- * switch (opt._tag) {
242
- * case "None":
243
- * return "No value"
244
- * case "Some":
245
- * return `Value: ${opt.value}`
246
- * }
247
- * }
302
+ * // Resolve to the concrete union for `string`
303
+ * type StringOption = Data.TaggedEnum.Kind<OptionDef, string>
304
+ * // { _tag: "None" } | { _tag: "Some"; value: string }
248
305
  * ```
249
306
  *
307
+ * @see {@link WithGenerics} — define the generic shape
308
+ *
250
309
  * @since 2.0.0
251
- * @category models
252
310
  */
253
311
  export type Kind<
254
312
  Z extends WithGenerics<number>,
@@ -264,30 +322,30 @@ export declare namespace TaggedEnum {
264
322
  })["taggedEnum"]
265
323
 
266
324
  /**
267
- * Extracts the argument types for a tagged enum constructor.
325
+ * Extracts the constructor argument type for a specific variant of a tagged
326
+ * union.
327
+ *
328
+ * Returns `void` if the variant has no fields beyond `_tag`.
268
329
  *
269
- * This utility type extracts the required arguments for constructing
270
- * a specific variant of a tagged enum, excluding the `_tag` field.
330
+ * **Example** (extracting variant args)
271
331
  *
272
- * @example
273
332
  * ```ts
274
333
  * import type { Data } from "effect"
275
334
  *
276
335
  * type Result =
277
- * | { readonly _tag: "Success"; readonly value: number }
278
- * | { readonly _tag: "Failure"; readonly error: string }
336
+ * | { readonly _tag: "Ok"; readonly value: number }
337
+ * | { readonly _tag: "Err"; readonly error: string }
279
338
  *
280
- * // Extract arguments for Success variant
281
- * type SuccessArgs = Data.TaggedEnum.Args<Result, "Success">
282
- * // Result: { readonly value: number }
339
+ * type OkArgs = Data.TaggedEnum.Args<Result, "Ok">
340
+ * // { readonly value: number }
283
341
  *
284
- * // Extract arguments for Failure variant
285
- * type FailureArgs = Data.TaggedEnum.Args<Result, "Failure">
286
- * // Result: { readonly error: string }
342
+ * type ErrArgs = Data.TaggedEnum.Args<Result, "Err">
343
+ * // { readonly error: string }
287
344
  * ```
288
345
  *
346
+ * @see {@link Value} — extracts the full variant type (including `_tag`)
347
+ *
289
348
  * @since 2.0.0
290
- * @category types
291
349
  */
292
350
  export type Args<
293
351
  A extends { readonly _tag: string },
@@ -295,35 +353,28 @@ export declare namespace TaggedEnum {
295
353
  E = Extract<A, { readonly _tag: K }>
296
354
  > = {
297
355
  readonly [K in keyof E as K extends "_tag" ? never : K]: E[K]
298
- } extends infer T ? {} extends T ? void
299
- : T
356
+ } extends infer T ? Types.VoidIfEmpty<T>
300
357
  : never
301
358
 
302
359
  /**
303
- * Extracts the complete value type for a tagged enum variant.
360
+ * Extracts the full variant type (including `_tag`) for a specific tag.
304
361
  *
305
- * This utility type extracts the full type (including the `_tag` field)
306
- * for a specific variant of a tagged enum.
362
+ * **Example** (extracting a variant type)
307
363
  *
308
- * @example
309
364
  * ```ts
310
365
  * import type { Data } from "effect"
311
366
  *
312
367
  * type Result =
313
- * | { readonly _tag: "Success"; readonly value: number }
314
- * | { readonly _tag: "Failure"; readonly error: string }
315
- *
316
- * // Extract complete Success type
317
- * type SuccessValue = Data.TaggedEnum.Value<Result, "Success">
318
- * // Result: { readonly _tag: "Success"; readonly value: number }
368
+ * | { readonly _tag: "Ok"; readonly value: number }
369
+ * | { readonly _tag: "Err"; readonly error: string }
319
370
  *
320
- * // Extract complete Failure type
321
- * type FailureValue = Data.TaggedEnum.Value<Result, "Failure">
322
- * // Result: { readonly _tag: "Failure"; readonly error: string }
371
+ * type OkVariant = Data.TaggedEnum.Value<Result, "Ok">
372
+ * // { readonly _tag: "Ok"; readonly value: number }
323
373
  * ```
324
374
  *
375
+ * @see {@link Args} — extracts fields without `_tag`
376
+ *
325
377
  * @since 2.0.0
326
- * @category types
327
378
  */
328
379
  export type Value<
329
380
  A extends { readonly _tag: string },
@@ -331,37 +382,40 @@ export declare namespace TaggedEnum {
331
382
  > = Extract<A, { readonly _tag: K }>
332
383
 
333
384
  /**
334
- * Provides a complete constructor interface for tagged enums.
385
+ * The full constructor-object type returned by {@link taggedEnum}.
386
+ *
387
+ * Includes:
388
+ * - A constructor function for each variant (keyed by tag name)
389
+ * - `$is(tag)` — returns a type-guard for the given variant
390
+ * - `$match` — exhaustive pattern matching (data-last or data-first)
335
391
  *
336
- * This type creates a constructor object that includes:
337
- * - Individual constructors for each variant
338
- * - `$is` for type predicates
339
- * - `$match` for pattern matching
392
+ * **Example** (using the constructor object)
340
393
  *
341
- * @example
342
394
  * ```ts
343
395
  * import { Data } from "effect"
344
396
  *
345
- * type HttpError =
346
- * | { readonly _tag: "BadRequest"; readonly message: string }
347
- * | { readonly _tag: "NotFound"; readonly resource: string }
397
+ * type Shape =
398
+ * | { readonly _tag: "Circle"; readonly radius: number }
399
+ * | { readonly _tag: "Rect"; readonly w: number; readonly h: number }
348
400
  *
349
- * const { $is, $match, BadRequest, NotFound } = Data.taggedEnum<HttpError>()
401
+ * const { Circle, Rect, $is, $match } = Data.taggedEnum<Shape>()
350
402
  *
351
- * const error = BadRequest({ message: "Invalid input" })
403
+ * const shape = Circle({ radius: 10 })
352
404
  *
353
- * // Type predicate
354
- * if ($is("BadRequest")(error)) {
355
- * console.log(error.message) // TypeScript knows this is BadRequest
405
+ * // Type guard
406
+ * if ($is("Circle")(shape)) {
407
+ * console.log(shape.radius)
356
408
  * }
357
409
  *
358
410
  * // Pattern matching
359
- * const result = $match(error, {
360
- * BadRequest: ({ message }) => `Bad request: ${message}`,
361
- * NotFound: ({ resource }) => `Not found: ${resource}`
411
+ * const label = $match(shape, {
412
+ * Circle: (s) => `circle r=${s.radius}`,
413
+ * Rect: (s) => `rect ${s.w}x${s.h}`
362
414
  * })
363
415
  * ```
364
416
  *
417
+ * @see {@link taggedEnum} — creates a `Constructor`
418
+ *
365
419
  * @since 3.1.0
366
420
  * @category types
367
421
  */
@@ -400,52 +454,26 @@ export declare namespace TaggedEnum {
400
454
  >
401
455
 
402
456
  /**
457
+ * Function type that constructs a tagged-union variant from its fields,
458
+ * excluding the keys listed in `Tag`.
459
+ *
460
+ * Returns `void` when no fields remain after excluding `Tag` keys.
461
+ *
403
462
  * @since 4.0.0
404
- * @category types
405
463
  */
406
464
  export type ConstructorFrom<A, Tag extends keyof A = never> = (
407
- args: Types.Equals<Omit<A, Tag>, {}> extends true ? void
408
- : { readonly [P in keyof A as P extends Tag ? never : P]: A[P] }
465
+ args: Types.VoidIfEmpty<{ readonly [P in keyof A as P extends Tag ? never : P]: A[P] }>
409
466
  ) => A
410
467
 
411
468
  /**
412
- * Provides type-safe pattern matching for generic tagged enums.
413
- *
414
- * This interface provides `$is` and `$match` utilities for tagged enums
415
- * that use generics, ensuring type safety across different generic instantiations.
416
- *
417
- * @example
418
- * ```ts
419
- * import { Data } from "effect"
420
- *
421
- * type Result<E, A> = Data.TaggedEnum<{
422
- * Failure: { readonly error: E }
423
- * Success: { readonly value: A }
424
- * }>
425
- *
426
- * interface ResultDefinition extends Data.TaggedEnum.WithGenerics<2> {
427
- * readonly taggedEnum: Result<this["A"], this["B"]>
428
- * }
429
- *
430
- * const { $is, $match, Failure, Success } = Data.taggedEnum<ResultDefinition>()
431
- *
432
- * const stringResult = Success({ value: "hello" })
433
- * const numberResult = Failure({ error: 404 })
469
+ * Type-guard and pattern-matching interface for generic tagged enums.
434
470
  *
435
- * // Generic type checking
436
- * if ($is("Success")(stringResult)) {
437
- * console.log(stringResult.value) // TypeScript knows this is string
438
- * }
471
+ * This is the `$is` / `$match` portion of the object returned by
472
+ * {@link taggedEnum} when used with a {@link WithGenerics} definition.
439
473
  *
440
- * // Generic pattern matching
441
- * const message = $match(numberResult, {
442
- * Success: ({ value }) => `Value: ${value}`,
443
- * Failure: ({ error }) => `Error: ${error}`
444
- * })
445
- * ```
474
+ * @see {@link Constructor} — the non-generic equivalent
446
475
  *
447
476
  * @since 3.2.0
448
- * @category types
449
477
  */
450
478
  export interface GenericMatchers<Z extends WithGenerics<number>> {
451
479
  readonly $is: <Tag extends Z["taggedEnum"]["_tag"]>(
@@ -497,88 +525,128 @@ export declare namespace TaggedEnum {
497
525
  }
498
526
 
499
527
  /**
500
- * Create a constructor for a tagged union of `Data` structs.
528
+ * Creates runtime constructors, type guards, and pattern matching for a
529
+ * {@link TaggedEnum} type.
530
+ *
531
+ * Returns an object with:
532
+ * - One constructor per variant (keyed by tag name)
533
+ * - `$is(tag)` — returns a type-guard function
534
+ * - `$match` — exhaustive pattern matching (data-first or data-last)
535
+ *
536
+ * - Use when you have a `TaggedEnum` type and need to construct/inspect values.
537
+ * - Constructors produce **plain objects** (not class instances).
538
+ * - For generic enums, pass a {@link TaggedEnum.WithGenerics} interface.
501
539
  *
502
- * You can also pass a `TaggedEnum.WithGenerics` if you want to add generics to
503
- * the constructor.
540
+ * **Example** (basic usage)
504
541
  *
505
- * @example
506
542
  * ```ts
507
543
  * import { Data } from "effect"
508
544
  *
509
- * const { BadRequest, NotFound } = Data.taggedEnum<
510
- * | {
511
- * readonly _tag: "BadRequest"
512
- * readonly status: 400
513
- * readonly message: string
514
- * }
515
- * | {
516
- * readonly _tag: "NotFound"
517
- * readonly status: 404
518
- * readonly message: string
519
- * }
520
- * >()
521
- *
522
- * const notFound = NotFound({ status: 404, message: "Not Found" })
545
+ * type HttpError = Data.TaggedEnum<{
546
+ * BadRequest: { readonly message: string }
547
+ * NotFound: { readonly url: string }
548
+ * }>
549
+ *
550
+ * const { BadRequest, NotFound, $is, $match } = Data.taggedEnum<HttpError>()
551
+ *
552
+ * const err = NotFound({ url: "/missing" })
553
+ *
554
+ * // Type guard
555
+ * console.log($is("NotFound")(err)) // true
556
+ *
557
+ * // Pattern matching
558
+ * const msg = $match(err, {
559
+ * BadRequest: (e) => e.message,
560
+ * NotFound: (e) => `${e.url} not found`
561
+ * })
562
+ * console.log(msg) // "/missing not found"
523
563
  * ```
524
564
  *
525
- * @example
565
+ * **Example** (generic tagged enum)
566
+ *
567
+ * ```ts
526
568
  * import { Data } from "effect"
527
569
  *
528
570
  * type MyResult<E, A> = Data.TaggedEnum<{
529
571
  * Failure: { readonly error: E }
530
572
  * Success: { readonly value: A }
531
573
  * }>
532
- * interface MyResultDefinition extends Data.TaggedEnum.WithGenerics<2> {
574
+ * interface MyResultDef extends Data.TaggedEnum.WithGenerics<2> {
533
575
  * readonly taggedEnum: MyResult<this["A"], this["B"]>
534
576
  * }
535
- * const { Failure, Success } = Data.taggedEnum<MyResultDefinition>()
577
+ * const { Failure, Success } = Data.taggedEnum<MyResultDef>()
536
578
  *
537
- * const success = Success({ value: 1 })
579
+ * const ok = Success({ value: 42 })
580
+ * // ok: { readonly _tag: "Success"; readonly value: number }
581
+ * ```
582
+ *
583
+ * @see {@link TaggedEnum} — the type-level companion
584
+ * @see {@link TaggedEnum.Constructor} — the returned object type
585
+ * @see {@link TaggedEnum.WithGenerics} — generic enum support
538
586
  *
539
587
  * @category constructors
540
588
  * @since 2.0.0
541
589
  */
542
590
  export const taggedEnum: {
543
591
  /**
544
- * Create a constructor for a tagged union of `Data` structs.
592
+ * Creates runtime constructors, type guards, and pattern matching for a
593
+ * {@link TaggedEnum} type.
594
+ *
595
+ * Returns an object with:
596
+ * - One constructor per variant (keyed by tag name)
597
+ * - `$is(tag)` — returns a type-guard function
598
+ * - `$match` — exhaustive pattern matching (data-first or data-last)
545
599
  *
546
- * You can also pass a `TaggedEnum.WithGenerics` if you want to add generics to
547
- * the constructor.
600
+ * - Use when you have a `TaggedEnum` type and need to construct/inspect values.
601
+ * - Constructors produce **plain objects** (not class instances).
602
+ * - For generic enums, pass a {@link TaggedEnum.WithGenerics} interface.
603
+ *
604
+ * **Example** (basic usage)
548
605
  *
549
- * @example
550
606
  * ```ts
551
607
  * import { Data } from "effect"
552
608
  *
553
- * const { BadRequest, NotFound } = Data.taggedEnum<
554
- * | {
555
- * readonly _tag: "BadRequest"
556
- * readonly status: 400
557
- * readonly message: string
558
- * }
559
- * | {
560
- * readonly _tag: "NotFound"
561
- * readonly status: 404
562
- * readonly message: string
563
- * }
564
- * >()
565
- *
566
- * const notFound = NotFound({ status: 404, message: "Not Found" })
609
+ * type HttpError = Data.TaggedEnum<{
610
+ * BadRequest: { readonly message: string }
611
+ * NotFound: { readonly url: string }
612
+ * }>
613
+ *
614
+ * const { BadRequest, NotFound, $is, $match } = Data.taggedEnum<HttpError>()
615
+ *
616
+ * const err = NotFound({ url: "/missing" })
617
+ *
618
+ * // Type guard
619
+ * console.log($is("NotFound")(err)) // true
620
+ *
621
+ * // Pattern matching
622
+ * const msg = $match(err, {
623
+ * BadRequest: (e) => e.message,
624
+ * NotFound: (e) => `${e.url} not found`
625
+ * })
626
+ * console.log(msg) // "/missing not found"
567
627
  * ```
568
628
  *
569
- * @example
629
+ * **Example** (generic tagged enum)
630
+ *
631
+ * ```ts
570
632
  * import { Data } from "effect"
571
633
  *
572
634
  * type MyResult<E, A> = Data.TaggedEnum<{
573
635
  * Failure: { readonly error: E }
574
636
  * Success: { readonly value: A }
575
637
  * }>
576
- * interface MyResultDefinition extends Data.TaggedEnum.WithGenerics<2> {
638
+ * interface MyResultDef extends Data.TaggedEnum.WithGenerics<2> {
577
639
  * readonly taggedEnum: MyResult<this["A"], this["B"]>
578
640
  * }
579
- * const { Failure, Success } = Data.taggedEnum<MyResultDefinition>()
641
+ * const { Failure, Success } = Data.taggedEnum<MyResultDef>()
580
642
  *
581
- * const success = Success({ value: 1 })
643
+ * const ok = Success({ value: 42 })
644
+ * // ok: { readonly _tag: "Success"; readonly value: number }
645
+ * ```
646
+ *
647
+ * @see {@link TaggedEnum} — the type-level companion
648
+ * @see {@link TaggedEnum.Constructor} — the returned object type
649
+ * @see {@link TaggedEnum.WithGenerics} — generic enum support
582
650
  *
583
651
  * @category constructors
584
652
  * @since 2.0.0
@@ -596,44 +664,64 @@ export const taggedEnum: {
596
664
  >
597
665
 
598
666
  /**
599
- * Create a constructor for a tagged union of `Data` structs.
667
+ * Creates runtime constructors, type guards, and pattern matching for a
668
+ * {@link TaggedEnum} type.
669
+ *
670
+ * Returns an object with:
671
+ * - One constructor per variant (keyed by tag name)
672
+ * - `$is(tag)` — returns a type-guard function
673
+ * - `$match` — exhaustive pattern matching (data-first or data-last)
674
+ *
675
+ * - Use when you have a `TaggedEnum` type and need to construct/inspect values.
676
+ * - Constructors produce **plain objects** (not class instances).
677
+ * - For generic enums, pass a {@link TaggedEnum.WithGenerics} interface.
600
678
  *
601
- * You can also pass a `TaggedEnum.WithGenerics` if you want to add generics to
602
- * the constructor.
679
+ * **Example** (basic usage)
603
680
  *
604
- * @example
605
681
  * ```ts
606
682
  * import { Data } from "effect"
607
683
  *
608
- * const { BadRequest, NotFound } = Data.taggedEnum<
609
- * | {
610
- * readonly _tag: "BadRequest"
611
- * readonly status: 400
612
- * readonly message: string
613
- * }
614
- * | {
615
- * readonly _tag: "NotFound"
616
- * readonly status: 404
617
- * readonly message: string
618
- * }
619
- * >()
620
- *
621
- * const notFound = NotFound({ status: 404, message: "Not Found" })
684
+ * type HttpError = Data.TaggedEnum<{
685
+ * BadRequest: { readonly message: string }
686
+ * NotFound: { readonly url: string }
687
+ * }>
688
+ *
689
+ * const { BadRequest, NotFound, $is, $match } = Data.taggedEnum<HttpError>()
690
+ *
691
+ * const err = NotFound({ url: "/missing" })
692
+ *
693
+ * // Type guard
694
+ * console.log($is("NotFound")(err)) // true
695
+ *
696
+ * // Pattern matching
697
+ * const msg = $match(err, {
698
+ * BadRequest: (e) => e.message,
699
+ * NotFound: (e) => `${e.url} not found`
700
+ * })
701
+ * console.log(msg) // "/missing not found"
622
702
  * ```
623
703
  *
624
- * @example
704
+ * **Example** (generic tagged enum)
705
+ *
706
+ * ```ts
625
707
  * import { Data } from "effect"
626
708
  *
627
709
  * type MyResult<E, A> = Data.TaggedEnum<{
628
710
  * Failure: { readonly error: E }
629
711
  * Success: { readonly value: A }
630
712
  * }>
631
- * interface MyResultDefinition extends Data.TaggedEnum.WithGenerics<2> {
713
+ * interface MyResultDef extends Data.TaggedEnum.WithGenerics<2> {
632
714
  * readonly taggedEnum: MyResult<this["A"], this["B"]>
633
715
  * }
634
- * const { Failure, Success } = Data.taggedEnum<MyResultDefinition>()
716
+ * const { Failure, Success } = Data.taggedEnum<MyResultDef>()
717
+ *
718
+ * const ok = Success({ value: 42 })
719
+ * // ok: { readonly _tag: "Success"; readonly value: number }
720
+ * ```
635
721
  *
636
- * const success = Success({ value: 1 })
722
+ * @see {@link TaggedEnum} the type-level companion
723
+ * @see {@link TaggedEnum.Constructor} — the returned object type
724
+ * @see {@link TaggedEnum.WithGenerics} — generic enum support
637
725
  *
638
726
  * @category constructors
639
727
  * @since 2.0.0
@@ -651,44 +739,64 @@ export const taggedEnum: {
651
739
  >
652
740
 
653
741
  /**
654
- * Create a constructor for a tagged union of `Data` structs.
742
+ * Creates runtime constructors, type guards, and pattern matching for a
743
+ * {@link TaggedEnum} type.
744
+ *
745
+ * Returns an object with:
746
+ * - One constructor per variant (keyed by tag name)
747
+ * - `$is(tag)` — returns a type-guard function
748
+ * - `$match` — exhaustive pattern matching (data-first or data-last)
749
+ *
750
+ * - Use when you have a `TaggedEnum` type and need to construct/inspect values.
751
+ * - Constructors produce **plain objects** (not class instances).
752
+ * - For generic enums, pass a {@link TaggedEnum.WithGenerics} interface.
655
753
  *
656
- * You can also pass a `TaggedEnum.WithGenerics` if you want to add generics to
657
- * the constructor.
754
+ * **Example** (basic usage)
658
755
  *
659
- * @example
660
756
  * ```ts
661
757
  * import { Data } from "effect"
662
758
  *
663
- * const { BadRequest, NotFound } = Data.taggedEnum<
664
- * | {
665
- * readonly _tag: "BadRequest"
666
- * readonly status: 400
667
- * readonly message: string
668
- * }
669
- * | {
670
- * readonly _tag: "NotFound"
671
- * readonly status: 404
672
- * readonly message: string
673
- * }
674
- * >()
675
- *
676
- * const notFound = NotFound({ status: 404, message: "Not Found" })
759
+ * type HttpError = Data.TaggedEnum<{
760
+ * BadRequest: { readonly message: string }
761
+ * NotFound: { readonly url: string }
762
+ * }>
763
+ *
764
+ * const { BadRequest, NotFound, $is, $match } = Data.taggedEnum<HttpError>()
765
+ *
766
+ * const err = NotFound({ url: "/missing" })
767
+ *
768
+ * // Type guard
769
+ * console.log($is("NotFound")(err)) // true
770
+ *
771
+ * // Pattern matching
772
+ * const msg = $match(err, {
773
+ * BadRequest: (e) => e.message,
774
+ * NotFound: (e) => `${e.url} not found`
775
+ * })
776
+ * console.log(msg) // "/missing not found"
677
777
  * ```
678
778
  *
679
- * @example
779
+ * **Example** (generic tagged enum)
780
+ *
781
+ * ```ts
680
782
  * import { Data } from "effect"
681
783
  *
682
784
  * type MyResult<E, A> = Data.TaggedEnum<{
683
785
  * Failure: { readonly error: E }
684
786
  * Success: { readonly value: A }
685
787
  * }>
686
- * interface MyResultDefinition extends Data.TaggedEnum.WithGenerics<2> {
788
+ * interface MyResultDef extends Data.TaggedEnum.WithGenerics<2> {
687
789
  * readonly taggedEnum: MyResult<this["A"], this["B"]>
688
790
  * }
689
- * const { Failure, Success } = Data.taggedEnum<MyResultDefinition>()
791
+ * const { Failure, Success } = Data.taggedEnum<MyResultDef>()
690
792
  *
691
- * const success = Success({ value: 1 })
793
+ * const ok = Success({ value: 42 })
794
+ * // ok: { readonly _tag: "Success"; readonly value: number }
795
+ * ```
796
+ *
797
+ * @see {@link TaggedEnum} — the type-level companion
798
+ * @see {@link TaggedEnum.Constructor} — the returned object type
799
+ * @see {@link TaggedEnum.WithGenerics} — generic enum support
692
800
  *
693
801
  * @category constructors
694
802
  * @since 2.0.0
@@ -706,44 +814,64 @@ export const taggedEnum: {
706
814
  >
707
815
 
708
816
  /**
709
- * Create a constructor for a tagged union of `Data` structs.
817
+ * Creates runtime constructors, type guards, and pattern matching for a
818
+ * {@link TaggedEnum} type.
819
+ *
820
+ * Returns an object with:
821
+ * - One constructor per variant (keyed by tag name)
822
+ * - `$is(tag)` — returns a type-guard function
823
+ * - `$match` — exhaustive pattern matching (data-first or data-last)
710
824
  *
711
- * You can also pass a `TaggedEnum.WithGenerics` if you want to add generics to
712
- * the constructor.
825
+ * - Use when you have a `TaggedEnum` type and need to construct/inspect values.
826
+ * - Constructors produce **plain objects** (not class instances).
827
+ * - For generic enums, pass a {@link TaggedEnum.WithGenerics} interface.
828
+ *
829
+ * **Example** (basic usage)
713
830
  *
714
- * @example
715
831
  * ```ts
716
832
  * import { Data } from "effect"
717
833
  *
718
- * const { BadRequest, NotFound } = Data.taggedEnum<
719
- * | {
720
- * readonly _tag: "BadRequest"
721
- * readonly status: 400
722
- * readonly message: string
723
- * }
724
- * | {
725
- * readonly _tag: "NotFound"
726
- * readonly status: 404
727
- * readonly message: string
728
- * }
729
- * >()
730
- *
731
- * const notFound = NotFound({ status: 404, message: "Not Found" })
834
+ * type HttpError = Data.TaggedEnum<{
835
+ * BadRequest: { readonly message: string }
836
+ * NotFound: { readonly url: string }
837
+ * }>
838
+ *
839
+ * const { BadRequest, NotFound, $is, $match } = Data.taggedEnum<HttpError>()
840
+ *
841
+ * const err = NotFound({ url: "/missing" })
842
+ *
843
+ * // Type guard
844
+ * console.log($is("NotFound")(err)) // true
845
+ *
846
+ * // Pattern matching
847
+ * const msg = $match(err, {
848
+ * BadRequest: (e) => e.message,
849
+ * NotFound: (e) => `${e.url} not found`
850
+ * })
851
+ * console.log(msg) // "/missing not found"
732
852
  * ```
733
853
  *
734
- * @example
854
+ * **Example** (generic tagged enum)
855
+ *
856
+ * ```ts
735
857
  * import { Data } from "effect"
736
858
  *
737
859
  * type MyResult<E, A> = Data.TaggedEnum<{
738
860
  * Failure: { readonly error: E }
739
861
  * Success: { readonly value: A }
740
862
  * }>
741
- * interface MyResultDefinition extends Data.TaggedEnum.WithGenerics<2> {
863
+ * interface MyResultDef extends Data.TaggedEnum.WithGenerics<2> {
742
864
  * readonly taggedEnum: MyResult<this["A"], this["B"]>
743
865
  * }
744
- * const { Failure, Success } = Data.taggedEnum<MyResultDefinition>()
866
+ * const { Failure, Success } = Data.taggedEnum<MyResultDef>()
745
867
  *
746
- * const success = Success({ value: 1 })
868
+ * const ok = Success({ value: 42 })
869
+ * // ok: { readonly _tag: "Success"; readonly value: number }
870
+ * ```
871
+ *
872
+ * @see {@link TaggedEnum} — the type-level companion
873
+ * @see {@link TaggedEnum.Constructor} — the returned object type
874
+ * @see {@link TaggedEnum.WithGenerics} — generic enum support
747
875
  *
748
876
  * @category constructors
749
877
  * @since 2.0.0
@@ -761,44 +889,64 @@ export const taggedEnum: {
761
889
  >
762
890
 
763
891
  /**
764
- * Create a constructor for a tagged union of `Data` structs.
892
+ * Creates runtime constructors, type guards, and pattern matching for a
893
+ * {@link TaggedEnum} type.
894
+ *
895
+ * Returns an object with:
896
+ * - One constructor per variant (keyed by tag name)
897
+ * - `$is(tag)` — returns a type-guard function
898
+ * - `$match` — exhaustive pattern matching (data-first or data-last)
899
+ *
900
+ * - Use when you have a `TaggedEnum` type and need to construct/inspect values.
901
+ * - Constructors produce **plain objects** (not class instances).
902
+ * - For generic enums, pass a {@link TaggedEnum.WithGenerics} interface.
765
903
  *
766
- * You can also pass a `TaggedEnum.WithGenerics` if you want to add generics to
767
- * the constructor.
904
+ * **Example** (basic usage)
768
905
  *
769
- * @example
770
906
  * ```ts
771
907
  * import { Data } from "effect"
772
908
  *
773
- * const { BadRequest, NotFound } = Data.taggedEnum<
774
- * | {
775
- * readonly _tag: "BadRequest"
776
- * readonly status: 400
777
- * readonly message: string
778
- * }
779
- * | {
780
- * readonly _tag: "NotFound"
781
- * readonly status: 404
782
- * readonly message: string
783
- * }
784
- * >()
785
- *
786
- * const notFound = NotFound({ status: 404, message: "Not Found" })
909
+ * type HttpError = Data.TaggedEnum<{
910
+ * BadRequest: { readonly message: string }
911
+ * NotFound: { readonly url: string }
912
+ * }>
913
+ *
914
+ * const { BadRequest, NotFound, $is, $match } = Data.taggedEnum<HttpError>()
915
+ *
916
+ * const err = NotFound({ url: "/missing" })
917
+ *
918
+ * // Type guard
919
+ * console.log($is("NotFound")(err)) // true
920
+ *
921
+ * // Pattern matching
922
+ * const msg = $match(err, {
923
+ * BadRequest: (e) => e.message,
924
+ * NotFound: (e) => `${e.url} not found`
925
+ * })
926
+ * console.log(msg) // "/missing not found"
787
927
  * ```
788
928
  *
789
- * @example
929
+ * **Example** (generic tagged enum)
930
+ *
931
+ * ```ts
790
932
  * import { Data } from "effect"
791
933
  *
792
934
  * type MyResult<E, A> = Data.TaggedEnum<{
793
935
  * Failure: { readonly error: E }
794
936
  * Success: { readonly value: A }
795
937
  * }>
796
- * interface MyResultDefinition extends Data.TaggedEnum.WithGenerics<2> {
938
+ * interface MyResultDef extends Data.TaggedEnum.WithGenerics<2> {
797
939
  * readonly taggedEnum: MyResult<this["A"], this["B"]>
798
940
  * }
799
- * const { Failure, Success } = Data.taggedEnum<MyResultDefinition>()
941
+ * const { Failure, Success } = Data.taggedEnum<MyResultDef>()
942
+ *
943
+ * const ok = Success({ value: 42 })
944
+ * // ok: { readonly _tag: "Success"; readonly value: number }
945
+ * ```
800
946
  *
801
- * const success = Success({ value: 1 })
947
+ * @see {@link TaggedEnum} the type-level companion
948
+ * @see {@link TaggedEnum.Constructor} — the returned object type
949
+ * @see {@link TaggedEnum.WithGenerics} — generic enum support
802
950
  *
803
951
  * @category constructors
804
952
  * @since 2.0.0
@@ -814,7 +962,7 @@ export const taggedEnum: {
814
962
  } else if (tag === "$match") {
815
963
  return taggedMatch
816
964
  }
817
- return (props: any) => ({ _tag: tag, ...props })
965
+ return (props: any) => ({ ...props, _tag: tag })
818
966
  }
819
967
  }
820
968
  ) as any
@@ -849,72 +997,86 @@ function taggedMatch<
849
997
  }
850
998
 
851
999
  /**
852
- * Create a structured error constructor that supports Effect's error handling.
1000
+ * Base class for yieldable errors.
853
1001
  *
854
- * This constructor creates errors that are both `Cause.YieldableError` (can be
855
- * yielded in Effect generators) and have structural equality semantics.
1002
+ * Extends `Cause.YieldableError`, so instances can be yielded inside
1003
+ * `Effect.gen` to fail the enclosing effect. Fields are passed as a single
1004
+ * object; when there are no fields the argument is optional.
1005
+ *
1006
+ * - Use for errors that do **not** need tag-based discrimination.
1007
+ * - If you need `Effect.catchTag` support, use {@link TaggedError} instead.
1008
+ * - If a `message` field is provided, it becomes the error's `.message`.
1009
+ *
1010
+ * **Example** (defining a yieldable error)
856
1011
  *
857
- * @example
858
1012
  * ```ts
859
1013
  * import { Data, Effect } from "effect"
860
1014
  *
861
- * class NetworkError extends Data.Error<{ code: number; message: string }> {}
1015
+ * class NetworkError extends Data.Error<{
1016
+ * readonly code: number
1017
+ * readonly message: string
1018
+ * }> {}
862
1019
  *
863
1020
  * const program = Effect.gen(function*() {
864
- * yield* new NetworkError({ code: 500, message: "Server error" })
1021
+ * return yield* new NetworkError({ code: 500, message: "timeout" })
865
1022
  * })
866
1023
  *
1024
+ * // The effect fails with a NetworkError
867
1025
  * Effect.runSync(Effect.exit(program))
868
- * // Exit.fail(NetworkError({ code: 500, message: "Server error" }))
869
1026
  * ```
870
1027
  *
1028
+ * @see {@link TaggedError} — adds a `_tag` for `Effect.catchTag`
1029
+ * @see {@link Class} — non-error data class
1030
+ *
871
1031
  * @category constructors
872
1032
  * @since 2.0.0
873
1033
  */
874
1034
  export const Error: new<A extends Record<string, any> = {}>(
875
- args: Types.Equals<A, {}> extends true ? void
876
- : { readonly [P in keyof A]: A[P] }
1035
+ args: Types.VoidIfEmpty<{ readonly [P in keyof A]: A[P] }>
877
1036
  ) => Cause.YieldableError & Readonly<A> = core.Error
878
1037
 
879
1038
  /**
880
- * Create a tagged error constructor with a specific tag for discriminated unions.
1039
+ * Creates a tagged error class with a `_tag` discriminator.
1040
+ *
1041
+ * Like {@link Error}, but instances also carry a `readonly _tag` property,
1042
+ * enabling `Effect.catchTag` and `Effect.catchTags` for tag-based recovery.
1043
+ * The `_tag` is excluded from the constructor argument.
1044
+ *
1045
+ * - Use for domain errors in Effect applications where you want
1046
+ * discriminated-union error handling.
1047
+ * - Yielding an instance inside `Effect.gen` fails the effect with this error.
881
1048
  *
882
- * This constructor creates errors with a `_tag` property that are both
883
- * `Cause.YieldableError` and have structural equality semantics.
1049
+ * **Example** (tag-based error recovery)
884
1050
  *
885
- * @example
886
1051
  * ```ts
887
- * import { Data, Effect, pipe } from "effect"
1052
+ * import { Data, Effect } from "effect"
888
1053
  *
889
- * class NetworkError extends Data.TaggedError("NetworkError")<{
890
- * code: number
891
- * message: string
1054
+ * class NotFound extends Data.TaggedError("NotFound")<{
1055
+ * readonly resource: string
892
1056
  * }> {}
893
1057
  *
894
- * class ValidationError extends Data.TaggedError("ValidationError")<{
895
- * field: string
896
- * message: string
1058
+ * class Forbidden extends Data.TaggedError("Forbidden")<{
1059
+ * readonly reason: string
897
1060
  * }> {}
898
1061
  *
899
1062
  * const program = Effect.gen(function*() {
900
- * yield* new NetworkError({ code: 500, message: "Server error" })
1063
+ * return yield* new NotFound({ resource: "/users/42" })
901
1064
  * })
902
1065
  *
903
- * const result = pipe(
904
- * program,
905
- * Effect.catchTag(
906
- * "NetworkError",
907
- * (error) => Effect.succeed(`Network error: ${error.message}`)
908
- * )
1066
+ * const recovered = program.pipe(
1067
+ * Effect.catchTag("NotFound", (e) =>
1068
+ * Effect.succeed(`missing: ${e.resource}`))
909
1069
  * )
910
1070
  * ```
911
1071
  *
1072
+ * @see {@link Error} — without a `_tag`
1073
+ * @see {@link TaggedClass} — tagged class that is not an error
1074
+ *
912
1075
  * @category constructors
913
1076
  * @since 2.0.0
914
1077
  */
915
1078
  export const TaggedError: <Tag extends string>(
916
1079
  tag: Tag
917
1080
  ) => new<A extends Record<string, any> = {}>(
918
- args: Types.Equals<A, {}> extends true ? void
919
- : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }
1081
+ args: Types.VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>
920
1082
  ) => Cause.YieldableError & { readonly _tag: Tag } & Readonly<A> = core.TaggedError as any