effect 4.0.0-beta.5 → 4.0.0-beta.50

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 (1504) 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 +87 -38
  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 +32 -29
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Brand.d.ts +1 -1
  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 +54 -23
  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 +182 -91
  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 +171 -11
  41. package/dist/Config.d.ts.map +1 -1
  42. package/dist/Config.js +69 -11
  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 +535 -366
  60. package/dist/Data.d.ts.map +1 -1
  61. package/dist/Data.js +132 -79
  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 +62 -32
  72. package/dist/Duration.d.ts.map +1 -1
  73. package/dist/Duration.js +108 -78
  74. package/dist/Duration.js.map +1 -1
  75. package/dist/Effect.d.ts +1377 -1147
  76. package/dist/Effect.d.ts.map +1 -1
  77. package/dist/Effect.js +465 -446
  78. package/dist/Effect.js.map +1 -1
  79. package/dist/Encoding.d.ts +194 -0
  80. package/dist/Encoding.d.ts.map +1 -0
  81. package/dist/Encoding.js +352 -0
  82. package/dist/Encoding.js.map +1 -0
  83. package/dist/Equal.d.ts +276 -109
  84. package/dist/Equal.d.ts.map +1 -1
  85. package/dist/Equal.js +140 -48
  86. package/dist/Equal.js.map +1 -1
  87. package/dist/Equivalence.d.ts +60 -3
  88. package/dist/Equivalence.d.ts.map +1 -1
  89. package/dist/Equivalence.js +70 -13
  90. package/dist/Equivalence.js.map +1 -1
  91. package/dist/ErrorReporter.d.ts +374 -0
  92. package/dist/ErrorReporter.d.ts.map +1 -0
  93. package/dist/ErrorReporter.js +245 -0
  94. package/dist/ErrorReporter.js.map +1 -0
  95. package/dist/ExecutionPlan.d.ts +6 -6
  96. package/dist/ExecutionPlan.d.ts.map +1 -1
  97. package/dist/ExecutionPlan.js +4 -4
  98. package/dist/ExecutionPlan.js.map +1 -1
  99. package/dist/Exit.d.ts +24 -12
  100. package/dist/Exit.d.ts.map +1 -1
  101. package/dist/Exit.js +8 -4
  102. package/dist/Exit.js.map +1 -1
  103. package/dist/Fiber.d.ts +10 -8
  104. package/dist/Fiber.d.ts.map +1 -1
  105. package/dist/Fiber.js.map +1 -1
  106. package/dist/FiberHandle.d.ts +11 -10
  107. package/dist/FiberHandle.d.ts.map +1 -1
  108. package/dist/FiberHandle.js +12 -11
  109. package/dist/FiberHandle.js.map +1 -1
  110. package/dist/FiberMap.d.ts +22 -21
  111. package/dist/FiberMap.d.ts.map +1 -1
  112. package/dist/FiberMap.js +10 -10
  113. package/dist/FiberMap.js.map +1 -1
  114. package/dist/FiberSet.d.ts +2 -2
  115. package/dist/FiberSet.d.ts.map +1 -1
  116. package/dist/FiberSet.js +4 -4
  117. package/dist/FiberSet.js.map +1 -1
  118. package/dist/FileSystem.d.ts +20 -19
  119. package/dist/FileSystem.d.ts.map +1 -1
  120. package/dist/FileSystem.js +17 -13
  121. package/dist/FileSystem.js.map +1 -1
  122. package/dist/Filter.d.ts +4 -37
  123. package/dist/Filter.d.ts.map +1 -1
  124. package/dist/Filter.js +0 -13
  125. package/dist/Filter.js.map +1 -1
  126. package/dist/Formatter.d.ts +131 -47
  127. package/dist/Formatter.d.ts.map +1 -1
  128. package/dist/Formatter.js +229 -51
  129. package/dist/Formatter.js.map +1 -1
  130. package/dist/Function.d.ts +1 -9
  131. package/dist/Function.d.ts.map +1 -1
  132. package/dist/Function.js +2 -10
  133. package/dist/Function.js.map +1 -1
  134. package/dist/Graph.d.ts +65 -65
  135. package/dist/Graph.d.ts.map +1 -1
  136. package/dist/Graph.js +60 -62
  137. package/dist/Graph.js.map +1 -1
  138. package/dist/Hash.js +1 -1
  139. package/dist/Hash.js.map +1 -1
  140. package/dist/HashMap.d.ts +26 -19
  141. package/dist/HashMap.d.ts.map +1 -1
  142. package/dist/HashMap.js +7 -5
  143. package/dist/HashMap.js.map +1 -1
  144. package/dist/Iterable.d.ts +50 -50
  145. package/dist/Iterable.d.ts.map +1 -1
  146. package/dist/Iterable.js +106 -34
  147. package/dist/Iterable.js.map +1 -1
  148. package/dist/JsonSchema.d.ts +299 -10
  149. package/dist/JsonSchema.d.ts.map +1 -1
  150. package/dist/JsonSchema.js +323 -4
  151. package/dist/JsonSchema.js.map +1 -1
  152. package/dist/Latch.d.ts +175 -0
  153. package/dist/Latch.d.ts.map +1 -0
  154. package/dist/Latch.js +130 -0
  155. package/dist/Latch.js.map +1 -0
  156. package/dist/Layer.d.ts +599 -379
  157. package/dist/Layer.d.ts.map +1 -1
  158. package/dist/Layer.js +249 -180
  159. package/dist/Layer.js.map +1 -1
  160. package/dist/LayerMap.d.ts +27 -26
  161. package/dist/LayerMap.d.ts.map +1 -1
  162. package/dist/LayerMap.js +21 -18
  163. package/dist/LayerMap.js.map +1 -1
  164. package/dist/LogLevel.d.ts +32 -0
  165. package/dist/LogLevel.d.ts.map +1 -1
  166. package/dist/LogLevel.js +28 -100
  167. package/dist/LogLevel.js.map +1 -1
  168. package/dist/Logger.d.ts +31 -97
  169. package/dist/Logger.d.ts.map +1 -1
  170. package/dist/Logger.js +2 -3
  171. package/dist/Logger.js.map +1 -1
  172. package/dist/ManagedRuntime.d.ts +8 -8
  173. package/dist/ManagedRuntime.d.ts.map +1 -1
  174. package/dist/ManagedRuntime.js +34 -25
  175. package/dist/ManagedRuntime.js.map +1 -1
  176. package/dist/Metric.d.ts +23 -25
  177. package/dist/Metric.d.ts.map +1 -1
  178. package/dist/Metric.js +24 -26
  179. package/dist/Metric.js.map +1 -1
  180. package/dist/MutableHashMap.d.ts +7 -0
  181. package/dist/MutableHashMap.d.ts.map +1 -1
  182. package/dist/MutableHashMap.js +8 -0
  183. package/dist/MutableHashMap.js.map +1 -1
  184. package/dist/MutableHashSet.d.ts +7 -0
  185. package/dist/MutableHashSet.d.ts.map +1 -1
  186. package/dist/MutableHashSet.js +8 -0
  187. package/dist/MutableHashSet.js.map +1 -1
  188. package/dist/MutableList.d.ts.map +1 -1
  189. package/dist/MutableList.js +3 -0
  190. package/dist/MutableList.js.map +1 -1
  191. package/dist/Newtype.d.ts +291 -0
  192. package/dist/Newtype.d.ts.map +1 -0
  193. package/dist/Newtype.js +161 -0
  194. package/dist/Newtype.js.map +1 -0
  195. package/dist/Number.d.ts +74 -18
  196. package/dist/Number.d.ts.map +1 -1
  197. package/dist/Number.js +46 -18
  198. package/dist/Number.js.map +1 -1
  199. package/dist/Optic.d.ts +947 -18
  200. package/dist/Optic.d.ts.map +1 -1
  201. package/dist/Optic.js +454 -5
  202. package/dist/Optic.js.map +1 -1
  203. package/dist/Option.d.ts +25 -16
  204. package/dist/Option.d.ts.map +1 -1
  205. package/dist/Option.js +15 -9
  206. package/dist/Option.js.map +1 -1
  207. package/dist/Order.d.ts +6 -1
  208. package/dist/Order.d.ts.map +1 -1
  209. package/dist/Order.js +19 -14
  210. package/dist/Order.js.map +1 -1
  211. package/dist/PartitionedSemaphore.d.ts +146 -15
  212. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  213. package/dist/PartitionedSemaphore.js +174 -61
  214. package/dist/PartitionedSemaphore.js.map +1 -1
  215. package/dist/Path.d.ts +2 -2
  216. package/dist/Path.d.ts.map +1 -1
  217. package/dist/Path.js +2 -2
  218. package/dist/Path.js.map +1 -1
  219. package/dist/Pipeable.d.ts +17 -0
  220. package/dist/Pipeable.d.ts.map +1 -1
  221. package/dist/Pipeable.js +19 -1
  222. package/dist/Pipeable.js.map +1 -1
  223. package/dist/PlatformError.d.ts +2 -2
  224. package/dist/Pool.d.ts +6 -4
  225. package/dist/Pool.d.ts.map +1 -1
  226. package/dist/Pool.js +11 -9
  227. package/dist/Pool.js.map +1 -1
  228. package/dist/PubSub.d.ts +8 -6
  229. package/dist/PubSub.d.ts.map +1 -1
  230. package/dist/PubSub.js +18 -10
  231. package/dist/PubSub.js.map +1 -1
  232. package/dist/Pull.d.ts.map +1 -1
  233. package/dist/Pull.js +1 -1
  234. package/dist/Pull.js.map +1 -1
  235. package/dist/Queue.d.ts +9 -6
  236. package/dist/Queue.d.ts.map +1 -1
  237. package/dist/Queue.js +7 -5
  238. package/dist/Queue.js.map +1 -1
  239. package/dist/Random.d.ts +36 -2
  240. package/dist/Random.d.ts.map +1 -1
  241. package/dist/Random.js +46 -35
  242. package/dist/Random.js.map +1 -1
  243. package/dist/RcMap.d.ts +4 -4
  244. package/dist/RcMap.d.ts.map +1 -1
  245. package/dist/RcMap.js +13 -13
  246. package/dist/RcMap.js.map +1 -1
  247. package/dist/RcRef.d.ts +1 -1
  248. package/dist/RcRef.d.ts.map +1 -1
  249. package/dist/Record.d.ts +63 -160
  250. package/dist/Record.d.ts.map +1 -1
  251. package/dist/Record.js +37 -56
  252. package/dist/Record.js.map +1 -1
  253. package/dist/Redactable.d.ts +139 -62
  254. package/dist/Redactable.d.ts.map +1 -1
  255. package/dist/Redactable.js +59 -55
  256. package/dist/Redactable.js.map +1 -1
  257. package/dist/Reducer.d.ts +166 -7
  258. package/dist/Reducer.d.ts.map +1 -1
  259. package/dist/Reducer.js +135 -1
  260. package/dist/Reducer.js.map +1 -1
  261. package/dist/References.d.ts +257 -229
  262. package/dist/References.d.ts.map +1 -1
  263. package/dist/References.js +240 -259
  264. package/dist/References.js.map +1 -1
  265. package/dist/Request.d.ts +6 -6
  266. package/dist/Request.d.ts.map +1 -1
  267. package/dist/Request.js +2 -1
  268. package/dist/Request.js.map +1 -1
  269. package/dist/RequestResolver.d.ts +25 -45
  270. package/dist/RequestResolver.d.ts.map +1 -1
  271. package/dist/RequestResolver.js +15 -36
  272. package/dist/RequestResolver.js.map +1 -1
  273. package/dist/Resource.d.ts +0 -3
  274. package/dist/Resource.d.ts.map +1 -1
  275. package/dist/Resource.js +5 -4
  276. package/dist/Resource.js.map +1 -1
  277. package/dist/Result.d.ts +1 -1
  278. package/dist/Result.d.ts.map +1 -1
  279. package/dist/Result.js +1 -2
  280. package/dist/Result.js.map +1 -1
  281. package/dist/Runtime.d.ts +66 -0
  282. package/dist/Runtime.d.ts.map +1 -1
  283. package/dist/Runtime.js +79 -6
  284. package/dist/Runtime.js.map +1 -1
  285. package/dist/Schedule.d.ts +176 -293
  286. package/dist/Schedule.d.ts.map +1 -1
  287. package/dist/Schedule.js +162 -136
  288. package/dist/Schedule.js.map +1 -1
  289. package/dist/Scheduler.d.ts +36 -125
  290. package/dist/Scheduler.d.ts.map +1 -1
  291. package/dist/Scheduler.js +37 -126
  292. package/dist/Scheduler.js.map +1 -1
  293. package/dist/Schema.d.ts +3269 -394
  294. package/dist/Schema.d.ts.map +1 -1
  295. package/dist/Schema.js +2284 -282
  296. package/dist/Schema.js.map +1 -1
  297. package/dist/SchemaAST.d.ts +7 -2
  298. package/dist/SchemaAST.d.ts.map +1 -1
  299. package/dist/SchemaAST.js +136 -40
  300. package/dist/SchemaAST.js.map +1 -1
  301. package/dist/SchemaGetter.d.ts +54 -10
  302. package/dist/SchemaGetter.d.ts.map +1 -1
  303. package/dist/SchemaGetter.js +82 -23
  304. package/dist/SchemaGetter.js.map +1 -1
  305. package/dist/SchemaParser.d.ts +44 -54
  306. package/dist/SchemaParser.d.ts.map +1 -1
  307. package/dist/SchemaParser.js +55 -2
  308. package/dist/SchemaParser.js.map +1 -1
  309. package/dist/SchemaRepresentation.d.ts +46 -45
  310. package/dist/SchemaRepresentation.d.ts.map +1 -1
  311. package/dist/SchemaRepresentation.js +65 -38
  312. package/dist/SchemaRepresentation.js.map +1 -1
  313. package/dist/SchemaTransformation.d.ts +252 -3
  314. package/dist/SchemaTransformation.d.ts.map +1 -1
  315. package/dist/SchemaTransformation.js +319 -13
  316. package/dist/SchemaTransformation.js.map +1 -1
  317. package/dist/Scope.d.ts +2 -2
  318. package/dist/Scope.d.ts.map +1 -1
  319. package/dist/Scope.js.map +1 -1
  320. package/dist/ScopedCache.d.ts +2 -2
  321. package/dist/ScopedCache.d.ts.map +1 -1
  322. package/dist/ScopedCache.js +5 -5
  323. package/dist/ScopedCache.js.map +1 -1
  324. package/dist/Semaphore.d.ts +307 -0
  325. package/dist/Semaphore.d.ts.map +1 -0
  326. package/dist/Semaphore.js +220 -0
  327. package/dist/Semaphore.js.map +1 -0
  328. package/dist/Sink.d.ts +22 -19
  329. package/dist/Sink.d.ts.map +1 -1
  330. package/dist/Sink.js +54 -7
  331. package/dist/Sink.js.map +1 -1
  332. package/dist/Stdio.d.ts +18 -6
  333. package/dist/Stdio.d.ts.map +1 -1
  334. package/dist/Stdio.js +20 -2
  335. package/dist/Stdio.js.map +1 -1
  336. package/dist/Stream.d.ts +465 -542
  337. package/dist/Stream.d.ts.map +1 -1
  338. package/dist/Stream.js +321 -144
  339. package/dist/Stream.js.map +1 -1
  340. package/dist/String.d.ts +114 -47
  341. package/dist/String.d.ts.map +1 -1
  342. package/dist/String.js +29 -47
  343. package/dist/String.js.map +1 -1
  344. package/dist/Struct.d.ts +23 -7
  345. package/dist/Struct.d.ts.map +1 -1
  346. package/dist/Struct.js +22 -0
  347. package/dist/Struct.js.map +1 -1
  348. package/dist/SubscriptionRef.d.ts +3 -3
  349. package/dist/SubscriptionRef.d.ts.map +1 -1
  350. package/dist/SubscriptionRef.js +85 -117
  351. package/dist/SubscriptionRef.js.map +1 -1
  352. package/dist/SynchronizedRef.d.ts +2 -1
  353. package/dist/SynchronizedRef.d.ts.map +1 -1
  354. package/dist/SynchronizedRef.js +2 -1
  355. package/dist/SynchronizedRef.js.map +1 -1
  356. package/dist/Terminal.d.ts +5 -4
  357. package/dist/Terminal.d.ts.map +1 -1
  358. package/dist/Terminal.js +2 -2
  359. package/dist/Terminal.js.map +1 -1
  360. package/dist/Tracer.d.ts +21 -20
  361. package/dist/Tracer.d.ts.map +1 -1
  362. package/dist/Tracer.js +13 -9
  363. package/dist/Tracer.js.map +1 -1
  364. package/dist/Trie.d.ts +44 -31
  365. package/dist/Trie.d.ts.map +1 -1
  366. package/dist/Trie.js +13 -9
  367. package/dist/Trie.js.map +1 -1
  368. package/dist/TxChunk.d.ts +4 -4
  369. package/dist/TxChunk.d.ts.map +1 -1
  370. package/dist/TxChunk.js +4 -4
  371. package/dist/TxChunk.js.map +1 -1
  372. package/dist/TxDeferred.d.ts +328 -0
  373. package/dist/TxDeferred.d.ts.map +1 -0
  374. package/dist/TxDeferred.js +197 -0
  375. package/dist/TxDeferred.js.map +1 -0
  376. package/dist/TxHashMap.d.ts +105 -86
  377. package/dist/TxHashMap.d.ts.map +1 -1
  378. package/dist/TxHashMap.js +51 -44
  379. package/dist/TxHashMap.js.map +1 -1
  380. package/dist/TxHashSet.d.ts +2 -2
  381. package/dist/TxHashSet.d.ts.map +1 -1
  382. package/dist/TxHashSet.js +16 -15
  383. package/dist/TxHashSet.js.map +1 -1
  384. package/dist/TxPriorityQueue.d.ts +609 -0
  385. package/dist/TxPriorityQueue.d.ts.map +1 -0
  386. package/dist/TxPriorityQueue.js +416 -0
  387. package/dist/TxPriorityQueue.js.map +1 -0
  388. package/dist/TxPubSub.d.ts +585 -0
  389. package/dist/TxPubSub.d.ts.map +1 -0
  390. package/dist/TxPubSub.js +521 -0
  391. package/dist/TxPubSub.js.map +1 -0
  392. package/dist/TxQueue.d.ts +1 -1
  393. package/dist/TxQueue.d.ts.map +1 -1
  394. package/dist/TxQueue.js +42 -57
  395. package/dist/TxQueue.js.map +1 -1
  396. package/dist/TxReentrantLock.d.ts +500 -0
  397. package/dist/TxReentrantLock.d.ts.map +1 -0
  398. package/dist/TxReentrantLock.js +481 -0
  399. package/dist/TxReentrantLock.js.map +1 -0
  400. package/dist/TxRef.d.ts +14 -20
  401. package/dist/TxRef.d.ts.map +1 -1
  402. package/dist/TxRef.js +8 -10
  403. package/dist/TxRef.js.map +1 -1
  404. package/dist/TxSemaphore.d.ts +162 -2
  405. package/dist/TxSemaphore.d.ts.map +1 -1
  406. package/dist/TxSemaphore.js +25 -10
  407. package/dist/TxSemaphore.js.map +1 -1
  408. package/dist/TxSubscriptionRef.d.ts +508 -0
  409. package/dist/TxSubscriptionRef.d.ts.map +1 -0
  410. package/dist/TxSubscriptionRef.js +293 -0
  411. package/dist/TxSubscriptionRef.js.map +1 -0
  412. package/dist/Types.d.ts +83 -17
  413. package/dist/Types.d.ts.map +1 -1
  414. package/dist/Unify.d.ts +8 -2
  415. package/dist/Unify.d.ts.map +1 -1
  416. package/dist/Unify.js.map +1 -1
  417. package/dist/Utils.d.ts +137 -65
  418. package/dist/Utils.d.ts.map +1 -1
  419. package/dist/Utils.js +38 -66
  420. package/dist/Utils.js.map +1 -1
  421. package/dist/index.d.ts +888 -71
  422. package/dist/index.d.ts.map +1 -1
  423. package/dist/index.js +888 -71
  424. package/dist/index.js.map +1 -1
  425. package/dist/internal/core.js +11 -3
  426. package/dist/internal/core.js.map +1 -1
  427. package/dist/internal/dateTime.js +77 -71
  428. package/dist/internal/dateTime.js.map +1 -1
  429. package/dist/internal/effect.js +343 -260
  430. package/dist/internal/effect.js.map +1 -1
  431. package/dist/internal/hashMap.js +7 -5
  432. package/dist/internal/hashMap.js.map +1 -1
  433. package/dist/internal/layer.js +3 -3
  434. package/dist/internal/layer.js.map +1 -1
  435. package/dist/internal/option.js +6 -0
  436. package/dist/internal/option.js.map +1 -1
  437. package/dist/internal/random.d.ts +2 -0
  438. package/dist/internal/random.d.ts.map +1 -0
  439. package/dist/internal/random.js +13 -0
  440. package/dist/internal/random.js.map +1 -0
  441. package/dist/internal/rcRef.js +11 -10
  442. package/dist/internal/rcRef.js.map +1 -1
  443. package/dist/internal/references.d.ts +2 -0
  444. package/dist/internal/references.d.ts.map +1 -0
  445. package/dist/internal/references.js +51 -0
  446. package/dist/internal/references.js.map +1 -0
  447. package/dist/internal/request.js +6 -6
  448. package/dist/internal/request.js.map +1 -1
  449. package/dist/internal/schedule.js +1 -1
  450. package/dist/internal/schedule.js.map +1 -1
  451. package/dist/internal/schema/annotations.js +2 -0
  452. package/dist/internal/schema/annotations.js.map +1 -1
  453. package/dist/internal/schema/representation.js +86 -107
  454. package/dist/internal/schema/representation.js.map +1 -1
  455. package/dist/internal/schema/schema.d.ts +10 -1
  456. package/dist/internal/schema/schema.d.ts.map +1 -1
  457. package/dist/internal/schema/schema.js +22 -1
  458. package/dist/internal/schema/schema.js.map +1 -1
  459. package/dist/internal/schema/to-codec.js +7 -10
  460. package/dist/internal/schema/to-codec.js.map +1 -1
  461. package/dist/internal/trie.js +8 -7
  462. package/dist/internal/trie.js.map +1 -1
  463. package/dist/testing/TestClock.d.ts +8 -7
  464. package/dist/testing/TestClock.d.ts.map +1 -1
  465. package/dist/testing/TestClock.js +6 -4
  466. package/dist/testing/TestClock.js.map +1 -1
  467. package/dist/testing/TestSchema.d.ts +267 -33
  468. package/dist/testing/TestSchema.d.ts.map +1 -1
  469. package/dist/testing/TestSchema.js +296 -23
  470. package/dist/testing/TestSchema.js.map +1 -1
  471. package/dist/testing/index.d.ts +64 -1
  472. package/dist/testing/index.d.ts.map +1 -1
  473. package/dist/testing/index.js +64 -1
  474. package/dist/testing/index.js.map +1 -1
  475. package/dist/unstable/ai/AiError.d.ts +155 -73
  476. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  477. package/dist/unstable/ai/AiError.js +29 -23
  478. package/dist/unstable/ai/AiError.js.map +1 -1
  479. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
  480. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  481. package/dist/unstable/ai/AnthropicStructuredOutput.js +9 -2
  482. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  483. package/dist/unstable/ai/Chat.d.ts +39 -11
  484. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  485. package/dist/unstable/ai/Chat.js +41 -47
  486. package/dist/unstable/ai/Chat.js.map +1 -1
  487. package/dist/unstable/ai/EmbeddingModel.d.ts +130 -0
  488. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -0
  489. package/dist/unstable/ai/EmbeddingModel.js +127 -0
  490. package/dist/unstable/ai/EmbeddingModel.js.map +1 -0
  491. package/dist/unstable/ai/IdGenerator.d.ts +2 -2
  492. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  493. package/dist/unstable/ai/IdGenerator.js +2 -2
  494. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  495. package/dist/unstable/ai/LanguageModel.d.ts +119 -49
  496. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  497. package/dist/unstable/ai/LanguageModel.js +260 -61
  498. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  499. package/dist/unstable/ai/McpSchema.d.ts +236 -141
  500. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  501. package/dist/unstable/ai/McpSchema.js +71 -19
  502. package/dist/unstable/ai/McpSchema.js.map +1 -1
  503. package/dist/unstable/ai/McpServer.d.ts +68 -15
  504. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  505. package/dist/unstable/ai/McpServer.js +218 -73
  506. package/dist/unstable/ai/McpServer.js.map +1 -1
  507. package/dist/unstable/ai/Model.d.ts +27 -9
  508. package/dist/unstable/ai/Model.d.ts.map +1 -1
  509. package/dist/unstable/ai/Model.js +25 -9
  510. package/dist/unstable/ai/Model.js.map +1 -1
  511. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
  512. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  513. package/dist/unstable/ai/OpenAiStructuredOutput.js +9 -1
  514. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  515. package/dist/unstable/ai/Prompt.d.ts +20 -20
  516. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  517. package/dist/unstable/ai/Prompt.js +6 -9
  518. package/dist/unstable/ai/Prompt.js.map +1 -1
  519. package/dist/unstable/ai/Response.d.ts +27 -27
  520. package/dist/unstable/ai/Response.d.ts.map +1 -1
  521. package/dist/unstable/ai/Response.js +7 -8
  522. package/dist/unstable/ai/Response.js.map +1 -1
  523. package/dist/unstable/ai/ResponseIdTracker.d.ts +38 -0
  524. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -0
  525. package/dist/unstable/ai/ResponseIdTracker.js +68 -0
  526. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -0
  527. package/dist/unstable/ai/Telemetry.d.ts +35 -2
  528. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  529. package/dist/unstable/ai/Telemetry.js +2 -2
  530. package/dist/unstable/ai/Telemetry.js.map +1 -1
  531. package/dist/unstable/ai/Tokenizer.d.ts +2 -2
  532. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  533. package/dist/unstable/ai/Tokenizer.js +2 -2
  534. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  535. package/dist/unstable/ai/Tool.d.ts +46 -16
  536. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  537. package/dist/unstable/ai/Tool.js +68 -22
  538. package/dist/unstable/ai/Tool.js.map +1 -1
  539. package/dist/unstable/ai/Toolkit.d.ts +4 -4
  540. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  541. package/dist/unstable/ai/Toolkit.js +14 -21
  542. package/dist/unstable/ai/Toolkit.js.map +1 -1
  543. package/dist/unstable/ai/index.d.ts +22 -1
  544. package/dist/unstable/ai/index.d.ts.map +1 -1
  545. package/dist/unstable/ai/index.js +22 -1
  546. package/dist/unstable/ai/index.js.map +1 -1
  547. package/dist/unstable/ai/internal/codec-transformer.js +5 -7
  548. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  549. package/dist/unstable/cli/Argument.d.ts +4 -7
  550. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  551. package/dist/unstable/cli/Argument.js +1 -3
  552. package/dist/unstable/cli/Argument.js.map +1 -1
  553. package/dist/unstable/cli/CliError.d.ts +55 -67
  554. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  555. package/dist/unstable/cli/CliError.js +32 -57
  556. package/dist/unstable/cli/CliError.js.map +1 -1
  557. package/dist/unstable/cli/CliOutput.d.ts +5 -4
  558. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  559. package/dist/unstable/cli/CliOutput.js +67 -12
  560. package/dist/unstable/cli/CliOutput.js.map +1 -1
  561. package/dist/unstable/cli/Command.d.ts +372 -59
  562. package/dist/unstable/cli/Command.d.ts.map +1 -1
  563. package/dist/unstable/cli/Command.js +328 -66
  564. package/dist/unstable/cli/Command.js.map +1 -1
  565. package/dist/unstable/cli/Completions.d.ts +97 -0
  566. package/dist/unstable/cli/Completions.d.ts.map +1 -0
  567. package/dist/unstable/cli/Completions.js +25 -0
  568. package/dist/unstable/cli/Completions.js.map +1 -0
  569. package/dist/unstable/cli/Flag.d.ts +4 -5
  570. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  571. package/dist/unstable/cli/Flag.js +1 -1
  572. package/dist/unstable/cli/Flag.js.map +1 -1
  573. package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
  574. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
  575. package/dist/unstable/cli/GlobalFlag.js +118 -0
  576. package/dist/unstable/cli/GlobalFlag.js.map +1 -0
  577. package/dist/unstable/cli/HelpDoc.d.ts +81 -11
  578. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  579. package/dist/unstable/cli/Param.d.ts +34 -6
  580. package/dist/unstable/cli/Param.d.ts.map +1 -1
  581. package/dist/unstable/cli/Param.js +24 -14
  582. package/dist/unstable/cli/Param.js.map +1 -1
  583. package/dist/unstable/cli/Primitive.d.ts +2 -2
  584. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  585. package/dist/unstable/cli/Primitive.js +1 -1
  586. package/dist/unstable/cli/Primitive.js.map +1 -1
  587. package/dist/unstable/cli/Prompt.js +266 -86
  588. package/dist/unstable/cli/Prompt.js.map +1 -1
  589. package/dist/unstable/cli/index.d.ts +8 -0
  590. package/dist/unstable/cli/index.d.ts.map +1 -1
  591. package/dist/unstable/cli/index.js +8 -0
  592. package/dist/unstable/cli/index.js.map +1 -1
  593. package/dist/unstable/cli/internal/command.d.ts +41 -15
  594. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  595. package/dist/unstable/cli/internal/command.js +84 -47
  596. package/dist/unstable/cli/internal/command.js.map +1 -1
  597. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  598. package/dist/unstable/cli/internal/completions/descriptor.d.ts +2 -0
  599. package/dist/unstable/cli/internal/completions/descriptor.d.ts.map +1 -0
  600. package/dist/unstable/cli/internal/completions/{CommandDescriptor.js → descriptor.js} +17 -5
  601. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -0
  602. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  603. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  604. package/dist/unstable/cli/internal/config.js +42 -0
  605. package/dist/unstable/cli/internal/config.js.map +1 -1
  606. package/dist/unstable/cli/internal/help.d.ts +33 -0
  607. package/dist/unstable/cli/internal/help.d.ts.map +1 -0
  608. package/dist/unstable/cli/internal/help.js +125 -0
  609. package/dist/unstable/cli/internal/help.js.map +1 -0
  610. package/dist/unstable/cli/internal/parser.js +155 -58
  611. package/dist/unstable/cli/internal/parser.js.map +1 -1
  612. package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
  613. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  614. package/dist/unstable/cluster/ClusterCron.js +1 -1
  615. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  616. package/dist/unstable/cluster/ClusterError.d.ts +7 -7
  617. package/dist/unstable/cluster/ClusterSchema.d.ts +28 -7
  618. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  619. package/dist/unstable/cluster/ClusterSchema.js +28 -8
  620. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  621. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +4 -2
  622. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  623. package/dist/unstable/cluster/ClusterWorkflowEngine.js +97 -63
  624. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  625. package/dist/unstable/cluster/DeliverAt.js +1 -1
  626. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  627. package/dist/unstable/cluster/Entity.d.ts +18 -16
  628. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  629. package/dist/unstable/cluster/Entity.js +31 -25
  630. package/dist/unstable/cluster/Entity.js.map +1 -1
  631. package/dist/unstable/cluster/EntityAddress.d.ts +2 -2
  632. package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
  633. package/dist/unstable/cluster/EntityAddress.js +1 -1
  634. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  635. package/dist/unstable/cluster/EntityProxy.js +3 -3
  636. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  637. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  638. package/dist/unstable/cluster/EntityProxyServer.js +4 -4
  639. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  640. package/dist/unstable/cluster/EntityResource.d.ts +4 -4
  641. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  642. package/dist/unstable/cluster/EntityResource.js +2 -2
  643. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  644. package/dist/unstable/cluster/Envelope.d.ts +4 -4
  645. package/dist/unstable/cluster/HttpRunner.js +2 -2
  646. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  647. package/dist/unstable/cluster/K8sHttpClient.d.ts +5 -5
  648. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  649. package/dist/unstable/cluster/K8sHttpClient.js +6 -6
  650. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  651. package/dist/unstable/cluster/Message.d.ts +21 -15
  652. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  653. package/dist/unstable/cluster/Message.js +16 -8
  654. package/dist/unstable/cluster/Message.js.map +1 -1
  655. package/dist/unstable/cluster/MessageStorage.d.ts +46 -23
  656. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  657. package/dist/unstable/cluster/MessageStorage.js +42 -26
  658. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  659. package/dist/unstable/cluster/Reply.d.ts +10 -9
  660. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  661. package/dist/unstable/cluster/Reply.js +8 -7
  662. package/dist/unstable/cluster/Reply.js.map +1 -1
  663. package/dist/unstable/cluster/Runner.d.ts +2 -2
  664. package/dist/unstable/cluster/Runner.d.ts.map +1 -1
  665. package/dist/unstable/cluster/Runner.js +1 -1
  666. package/dist/unstable/cluster/Runner.js.map +1 -1
  667. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  668. package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
  669. package/dist/unstable/cluster/RunnerAddress.js +1 -1
  670. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  671. package/dist/unstable/cluster/RunnerHealth.d.ts +2 -2
  672. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  673. package/dist/unstable/cluster/RunnerHealth.js +2 -2
  674. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  675. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  676. package/dist/unstable/cluster/RunnerServer.js +10 -9
  677. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  678. package/dist/unstable/cluster/RunnerStorage.d.ts +12 -12
  679. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  680. package/dist/unstable/cluster/RunnerStorage.js +3 -3
  681. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  682. package/dist/unstable/cluster/Runners.d.ts +5 -4
  683. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  684. package/dist/unstable/cluster/Runners.js +18 -16
  685. package/dist/unstable/cluster/Runners.js.map +1 -1
  686. package/dist/unstable/cluster/ShardId.d.ts +35 -49
  687. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  688. package/dist/unstable/cluster/ShardId.js +65 -67
  689. package/dist/unstable/cluster/ShardId.js.map +1 -1
  690. package/dist/unstable/cluster/Sharding.d.ts +4 -4
  691. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  692. package/dist/unstable/cluster/Sharding.js +66 -54
  693. package/dist/unstable/cluster/Sharding.js.map +1 -1
  694. package/dist/unstable/cluster/ShardingConfig.d.ts +28 -27
  695. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  696. package/dist/unstable/cluster/ShardingConfig.js +27 -27
  697. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  698. package/dist/unstable/cluster/SingletonAddress.d.ts +2 -2
  699. package/dist/unstable/cluster/Snowflake.d.ts +2 -2
  700. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  701. package/dist/unstable/cluster/Snowflake.js +2 -2
  702. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  703. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  704. package/dist/unstable/cluster/SqlMessageStorage.js +23 -20
  705. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  706. package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
  707. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  708. package/dist/unstable/cluster/internal/entityManager.js +34 -27
  709. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  710. package/dist/unstable/cluster/internal/entityReaper.js +4 -3
  711. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  712. package/dist/unstable/cluster/internal/resourceMap.js +3 -3
  713. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  714. package/dist/unstable/cluster/internal/resourceRef.js +2 -1
  715. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  716. package/dist/unstable/devtools/DevToolsClient.d.ts +2 -2
  717. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  718. package/dist/unstable/devtools/DevToolsClient.js +9 -8
  719. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  720. package/dist/unstable/devtools/DevToolsSchema.d.ts +40 -40
  721. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  722. package/dist/unstable/devtools/DevToolsSchema.js +9 -2
  723. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  724. package/dist/unstable/encoding/Msgpack.d.ts +1 -1
  725. package/dist/unstable/encoding/Ndjson.d.ts +9 -9
  726. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  727. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  728. package/dist/unstable/encoding/Sse.d.ts +4 -4
  729. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  730. package/dist/unstable/encoding/Sse.js +1 -1
  731. package/dist/unstable/encoding/Sse.js.map +1 -1
  732. package/dist/unstable/eventlog/Event.d.ts +0 -6
  733. package/dist/unstable/eventlog/Event.d.ts.map +1 -1
  734. package/dist/unstable/eventlog/Event.js +0 -5
  735. package/dist/unstable/eventlog/Event.js.map +1 -1
  736. package/dist/unstable/eventlog/EventGroup.d.ts +0 -2
  737. package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
  738. package/dist/unstable/eventlog/EventGroup.js +0 -2
  739. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  740. package/dist/unstable/eventlog/EventJournal.d.ts +28 -11
  741. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  742. package/dist/unstable/eventlog/EventJournal.js +130 -71
  743. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  744. package/dist/unstable/eventlog/EventLog.d.ts +94 -37
  745. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  746. package/dist/unstable/eventlog/EventLog.js +225 -150
  747. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  748. package/dist/unstable/eventlog/EventLogEncryption.d.ts +11 -9
  749. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  750. package/dist/unstable/eventlog/EventLogEncryption.js +15 -17
  751. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  752. package/dist/unstable/eventlog/EventLogMessage.d.ts +228 -0
  753. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -0
  754. package/dist/unstable/eventlog/EventLogMessage.js +214 -0
  755. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -0
  756. package/dist/unstable/eventlog/EventLogRemote.d.ts +112 -194
  757. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  758. package/dist/unstable/eventlog/EventLogRemote.js +168 -322
  759. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  760. package/dist/unstable/eventlog/EventLogServer.d.ts +26 -48
  761. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  762. package/dist/unstable/eventlog/EventLogServer.js +128 -199
  763. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  764. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +60 -0
  765. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -0
  766. package/dist/unstable/eventlog/EventLogServerEncrypted.js +166 -0
  767. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -0
  768. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +183 -0
  769. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -0
  770. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +461 -0
  771. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -0
  772. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +117 -0
  773. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -0
  774. package/dist/unstable/eventlog/EventLogSessionAuth.js +284 -0
  775. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -0
  776. package/dist/unstable/eventlog/{SqlEventLogJournal.d.ts → SqlEventJournal.d.ts} +2 -2
  777. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -0
  778. package/dist/unstable/eventlog/{SqlEventLogJournal.js → SqlEventJournal.js} +22 -16
  779. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -0
  780. package/dist/unstable/eventlog/{SqlEventLogServer.d.ts → SqlEventLogServerEncrypted.d.ts} +5 -5
  781. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -0
  782. package/dist/unstable/eventlog/{SqlEventLogServer.js → SqlEventLogServerEncrypted.js} +65 -24
  783. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -0
  784. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts +25 -0
  785. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -0
  786. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +354 -0
  787. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -0
  788. package/dist/unstable/eventlog/index.d.ts +22 -2
  789. package/dist/unstable/eventlog/index.d.ts.map +1 -1
  790. package/dist/unstable/eventlog/index.js +22 -2
  791. package/dist/unstable/eventlog/index.js.map +1 -1
  792. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts +2 -0
  793. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts.map +1 -0
  794. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js +89 -0
  795. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -0
  796. package/dist/unstable/http/Cookies.d.ts +52 -7
  797. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  798. package/dist/unstable/http/Cookies.js +27 -6
  799. package/dist/unstable/http/Cookies.js.map +1 -1
  800. package/dist/unstable/http/Etag.d.ts +2 -2
  801. package/dist/unstable/http/Etag.d.ts.map +1 -1
  802. package/dist/unstable/http/Etag.js +7 -3
  803. package/dist/unstable/http/Etag.js.map +1 -1
  804. package/dist/unstable/http/FetchHttpClient.d.ts +6 -3
  805. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  806. package/dist/unstable/http/FetchHttpClient.js +5 -5
  807. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  808. package/dist/unstable/http/Headers.d.ts +24 -4
  809. package/dist/unstable/http/Headers.d.ts.map +1 -1
  810. package/dist/unstable/http/Headers.js +42 -13
  811. package/dist/unstable/http/Headers.js.map +1 -1
  812. package/dist/unstable/http/HttpBody.d.ts +1 -1
  813. package/dist/unstable/http/HttpClient.d.ts +125 -21
  814. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  815. package/dist/unstable/http/HttpClient.js +197 -19
  816. package/dist/unstable/http/HttpClient.js.map +1 -1
  817. package/dist/unstable/http/HttpClientError.d.ts +8 -8
  818. package/dist/unstable/http/HttpClientRequest.d.ts +43 -15
  819. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  820. package/dist/unstable/http/HttpClientRequest.js +131 -21
  821. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  822. package/dist/unstable/http/HttpClientResponse.d.ts +2 -1
  823. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  824. package/dist/unstable/http/HttpClientResponse.js +6 -1
  825. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  826. package/dist/unstable/http/HttpEffect.d.ts +13 -11
  827. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  828. package/dist/unstable/http/HttpEffect.js +67 -75
  829. package/dist/unstable/http/HttpEffect.js.map +1 -1
  830. package/dist/unstable/http/HttpIncomingMessage.d.ts +5 -4
  831. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  832. package/dist/unstable/http/HttpIncomingMessage.js +2 -2
  833. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  834. package/dist/unstable/http/HttpMethod.d.ts +4 -4
  835. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  836. package/dist/unstable/http/HttpMethod.js +3 -3
  837. package/dist/unstable/http/HttpMethod.js.map +1 -1
  838. package/dist/unstable/http/HttpMiddleware.d.ts +4 -9
  839. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  840. package/dist/unstable/http/HttpMiddleware.js +47 -43
  841. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  842. package/dist/unstable/http/HttpPlatform.d.ts +2 -2
  843. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  844. package/dist/unstable/http/HttpPlatform.js +5 -4
  845. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  846. package/dist/unstable/http/HttpRouter.d.ts +9 -8
  847. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  848. package/dist/unstable/http/HttpRouter.js +36 -36
  849. package/dist/unstable/http/HttpRouter.js.map +1 -1
  850. package/dist/unstable/http/HttpServer.d.ts +2 -2
  851. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  852. package/dist/unstable/http/HttpServer.js +4 -4
  853. package/dist/unstable/http/HttpServer.js.map +1 -1
  854. package/dist/unstable/http/HttpServerError.d.ts +22 -34
  855. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  856. package/dist/unstable/http/HttpServerError.js +39 -45
  857. package/dist/unstable/http/HttpServerError.js.map +1 -1
  858. package/dist/unstable/http/HttpServerRequest.d.ts +19 -7
  859. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  860. package/dist/unstable/http/HttpServerRequest.js +307 -13
  861. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  862. package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
  863. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  864. package/dist/unstable/http/HttpServerRespondable.js +5 -5
  865. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  866. package/dist/unstable/http/HttpServerResponse.d.ts +52 -5
  867. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  868. package/dist/unstable/http/HttpServerResponse.js +240 -5
  869. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  870. package/dist/unstable/http/HttpStaticServer.d.ts +69 -0
  871. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -0
  872. package/dist/unstable/http/HttpStaticServer.js +353 -0
  873. package/dist/unstable/http/HttpStaticServer.js.map +1 -0
  874. package/dist/unstable/http/HttpTraceContext.d.ts +3 -2
  875. package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
  876. package/dist/unstable/http/HttpTraceContext.js +27 -15
  877. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  878. package/dist/unstable/http/Multipart.d.ts +9 -9
  879. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  880. package/dist/unstable/http/Multipart.js +7 -7
  881. package/dist/unstable/http/Multipart.js.map +1 -1
  882. package/dist/unstable/http/Url.d.ts +604 -0
  883. package/dist/unstable/http/Url.d.ts.map +1 -0
  884. package/dist/unstable/http/Url.js +256 -0
  885. package/dist/unstable/http/Url.js.map +1 -0
  886. package/dist/unstable/http/UrlParams.d.ts +19 -10
  887. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  888. package/dist/unstable/http/UrlParams.js +6 -7
  889. package/dist/unstable/http/UrlParams.js.map +1 -1
  890. package/dist/unstable/http/index.d.ts +8 -0
  891. package/dist/unstable/http/index.d.ts.map +1 -1
  892. package/dist/unstable/http/index.js +8 -0
  893. package/dist/unstable/http/index.js.map +1 -1
  894. package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
  895. package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
  896. package/dist/unstable/http/internal/preResponseHandler.js +10 -0
  897. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
  898. package/dist/unstable/httpapi/HttpApi.d.ts +11 -11
  899. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  900. package/dist/unstable/httpapi/HttpApi.js +8 -8
  901. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  902. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +12 -9
  903. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  904. package/dist/unstable/httpapi/HttpApiBuilder.js +53 -39
  905. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  906. package/dist/unstable/httpapi/HttpApiClient.d.ts +83 -7
  907. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  908. package/dist/unstable/httpapi/HttpApiClient.js +79 -11
  909. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  910. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +211 -105
  911. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  912. package/dist/unstable/httpapi/HttpApiEndpoint.js +53 -47
  913. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  914. package/dist/unstable/httpapi/HttpApiError.d.ts +43 -26
  915. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  916. package/dist/unstable/httpapi/HttpApiError.js +125 -32
  917. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  918. package/dist/unstable/httpapi/HttpApiGroup.d.ts +9 -8
  919. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  920. package/dist/unstable/httpapi/HttpApiGroup.js +4 -4
  921. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  922. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +49 -18
  923. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  924. package/dist/unstable/httpapi/HttpApiMiddleware.js +38 -8
  925. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  926. package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
  927. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  928. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  929. package/dist/unstable/httpapi/HttpApiSchema.d.ts +88 -9
  930. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  931. package/dist/unstable/httpapi/HttpApiSchema.js +86 -11
  932. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  933. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +9 -6
  934. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  935. package/dist/unstable/httpapi/HttpApiSecurity.js +6 -6
  936. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  937. package/dist/unstable/httpapi/OpenApi.d.ts +16 -15
  938. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  939. package/dist/unstable/httpapi/OpenApi.js +57 -49
  940. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  941. package/dist/unstable/observability/Otlp.d.ts +12 -12
  942. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  943. package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
  944. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  945. package/dist/unstable/observability/OtlpExporter.js +8 -8
  946. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  947. package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
  948. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  949. package/dist/unstable/observability/OtlpLogger.js +7 -4
  950. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  951. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
  952. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  953. package/dist/unstable/observability/OtlpMetrics.js +1 -1
  954. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  955. package/dist/unstable/observability/OtlpSerialization.d.ts +2 -2
  956. package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
  957. package/dist/unstable/observability/OtlpSerialization.js +2 -2
  958. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  959. package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
  960. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  961. package/dist/unstable/observability/OtlpTracer.js +7 -3
  962. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  963. package/dist/unstable/observability/PrometheusMetrics.d.ts +3 -3
  964. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  965. package/dist/unstable/observability/PrometheusMetrics.js +4 -33
  966. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  967. package/dist/unstable/persistence/KeyValueStore.d.ts +24 -3
  968. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  969. package/dist/unstable/persistence/KeyValueStore.js +148 -6
  970. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  971. package/dist/unstable/persistence/Persistable.d.ts +2 -2
  972. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  973. package/dist/unstable/persistence/Persistable.js +1 -1
  974. package/dist/unstable/persistence/Persistable.js.map +1 -1
  975. package/dist/unstable/persistence/PersistedCache.d.ts +6 -6
  976. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  977. package/dist/unstable/persistence/PersistedCache.js +12 -12
  978. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  979. package/dist/unstable/persistence/PersistedQueue.d.ts +16 -16
  980. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  981. package/dist/unstable/persistence/PersistedQueue.js +15 -14
  982. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  983. package/dist/unstable/persistence/Persistence.d.ts +5 -5
  984. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  985. package/dist/unstable/persistence/Persistence.js +5 -5
  986. package/dist/unstable/persistence/Persistence.js.map +1 -1
  987. package/dist/unstable/persistence/RateLimiter.d.ts +9 -9
  988. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  989. package/dist/unstable/persistence/RateLimiter.js +4 -4
  990. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  991. package/dist/unstable/persistence/Redis.d.ts +3 -3
  992. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  993. package/dist/unstable/persistence/Redis.js +2 -2
  994. package/dist/unstable/persistence/Redis.js.map +1 -1
  995. package/dist/unstable/process/ChildProcess.d.ts +5 -128
  996. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  997. package/dist/unstable/process/ChildProcess.js +1 -65
  998. package/dist/unstable/process/ChildProcess.js.map +1 -1
  999. package/dist/unstable/process/ChildProcessSpawner.d.ts +89 -8
  1000. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1001. package/dist/unstable/process/ChildProcessSpawner.js +22 -2
  1002. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1003. package/dist/unstable/reactivity/Atom.d.ts +108 -47
  1004. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1005. package/dist/unstable/reactivity/Atom.js +105 -25
  1006. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1007. package/dist/unstable/reactivity/AtomHttpApi.d.ts +22 -20
  1008. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1009. package/dist/unstable/reactivity/AtomHttpApi.js +58 -26
  1010. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1011. package/dist/unstable/reactivity/AtomRegistry.d.ts +8 -2
  1012. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  1013. package/dist/unstable/reactivity/AtomRegistry.js +57 -14
  1014. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1015. package/dist/unstable/reactivity/AtomRpc.d.ts +12 -12
  1016. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1017. package/dist/unstable/reactivity/AtomRpc.js +59 -31
  1018. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1019. package/dist/unstable/reactivity/Reactivity.d.ts +2 -2
  1020. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  1021. package/dist/unstable/reactivity/Reactivity.js +6 -6
  1022. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1023. package/dist/unstable/reactivity/index.d.ts +2 -2
  1024. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  1025. package/dist/unstable/reactivity/index.js +2 -2
  1026. package/dist/unstable/reactivity/index.js.map +1 -1
  1027. package/dist/unstable/rpc/Rpc.d.ts +47 -19
  1028. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1029. package/dist/unstable/rpc/Rpc.js +39 -7
  1030. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1031. package/dist/unstable/rpc/RpcClient.d.ts +26 -47
  1032. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1033. package/dist/unstable/rpc/RpcClient.js +120 -77
  1034. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1035. package/dist/unstable/rpc/RpcClientError.d.ts +2 -2
  1036. package/dist/unstable/rpc/RpcGroup.d.ts +15 -11
  1037. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  1038. package/dist/unstable/rpc/RpcGroup.js +30 -20
  1039. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1040. package/dist/unstable/rpc/RpcMiddleware.d.ts +12 -12
  1041. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  1042. package/dist/unstable/rpc/RpcMiddleware.js +5 -5
  1043. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1044. package/dist/unstable/rpc/RpcSchema.d.ts +14 -1
  1045. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  1046. package/dist/unstable/rpc/RpcSchema.js +17 -2
  1047. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1048. package/dist/unstable/rpc/RpcSerialization.d.ts +2 -2
  1049. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1050. package/dist/unstable/rpc/RpcSerialization.js +46 -18
  1051. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1052. package/dist/unstable/rpc/RpcServer.d.ts +8 -12
  1053. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  1054. package/dist/unstable/rpc/RpcServer.js +78 -46
  1055. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1056. package/dist/unstable/rpc/RpcWorker.d.ts +2 -2
  1057. package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
  1058. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1059. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1060. package/dist/unstable/rpc/Utils.d.ts +6 -3
  1061. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  1062. package/dist/unstable/rpc/Utils.js +48 -6
  1063. package/dist/unstable/rpc/Utils.js.map +1 -1
  1064. package/dist/unstable/schema/Model.d.ts +24 -3
  1065. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1066. package/dist/unstable/schema/Model.js +17 -4
  1067. package/dist/unstable/schema/Model.js.map +1 -1
  1068. package/dist/unstable/schema/VariantSchema.d.ts +7 -7
  1069. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1070. package/dist/unstable/schema/VariantSchema.js +7 -18
  1071. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1072. package/dist/unstable/socket/Socket.d.ts +16 -15
  1073. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1074. package/dist/unstable/socket/Socket.js +22 -19
  1075. package/dist/unstable/socket/Socket.js.map +1 -1
  1076. package/dist/unstable/socket/SocketServer.d.ts +8 -5
  1077. package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
  1078. package/dist/unstable/socket/SocketServer.js +2 -2
  1079. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1080. package/dist/unstable/sql/Migrator.d.ts +1 -1
  1081. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  1082. package/dist/unstable/sql/Migrator.js +2 -2
  1083. package/dist/unstable/sql/Migrator.js.map +1 -1
  1084. package/dist/unstable/sql/SqlClient.d.ts +5 -5
  1085. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1086. package/dist/unstable/sql/SqlClient.js +7 -7
  1087. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1088. package/dist/unstable/sql/SqlConnection.d.ts +2 -2
  1089. package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
  1090. package/dist/unstable/sql/SqlConnection.js +5 -2
  1091. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1092. package/dist/unstable/sql/SqlError.d.ts +237 -17
  1093. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  1094. package/dist/unstable/sql/SqlError.js +260 -4
  1095. package/dist/unstable/sql/SqlError.js.map +1 -1
  1096. package/dist/unstable/sql/SqlModel.d.ts +8 -9
  1097. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  1098. package/dist/unstable/sql/SqlModel.js +12 -38
  1099. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1100. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  1101. package/dist/unstable/sql/SqlResolver.js +26 -17
  1102. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1103. package/dist/unstable/sql/SqlSchema.d.ts +17 -6
  1104. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  1105. package/dist/unstable/sql/SqlSchema.js +17 -7
  1106. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1107. package/dist/unstable/sql/Statement.d.ts +2 -2
  1108. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1109. package/dist/unstable/sql/Statement.js +2 -3
  1110. package/dist/unstable/sql/Statement.js.map +1 -1
  1111. package/dist/unstable/workers/Transferable.d.ts +4 -4
  1112. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  1113. package/dist/unstable/workers/Transferable.js +7 -7
  1114. package/dist/unstable/workers/Transferable.js.map +1 -1
  1115. package/dist/unstable/workers/Worker.d.ts +3 -3
  1116. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  1117. package/dist/unstable/workers/Worker.js +8 -4
  1118. package/dist/unstable/workers/Worker.js.map +1 -1
  1119. package/dist/unstable/workers/WorkerError.d.ts +5 -5
  1120. package/dist/unstable/workers/WorkerRunner.d.ts +2 -2
  1121. package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
  1122. package/dist/unstable/workers/WorkerRunner.js +5 -2
  1123. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1124. package/dist/unstable/workflow/Activity.d.ts +7 -2
  1125. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  1126. package/dist/unstable/workflow/Activity.js +17 -4
  1127. package/dist/unstable/workflow/Activity.js.map +1 -1
  1128. package/dist/unstable/workflow/DurableClock.d.ts +3 -6
  1129. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  1130. package/dist/unstable/workflow/DurableClock.js +6 -6
  1131. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1132. package/dist/unstable/workflow/DurableDeferred.d.ts +1 -1
  1133. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  1134. package/dist/unstable/workflow/DurableDeferred.js +15 -15
  1135. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1136. package/dist/unstable/workflow/Workflow.d.ts +13 -12
  1137. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1138. package/dist/unstable/workflow/Workflow.js +18 -18
  1139. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1140. package/dist/unstable/workflow/WorkflowEngine.d.ts +26 -8
  1141. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  1142. package/dist/unstable/workflow/WorkflowEngine.js +167 -17
  1143. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1144. package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
  1145. package/dist/unstable/workflow/WorkflowProxyServer.js +4 -4
  1146. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1147. package/package.json +11 -11
  1148. package/src/Array.ts +304 -447
  1149. package/src/BigDecimal.ts +117 -66
  1150. package/src/BigInt.ts +49 -41
  1151. package/src/Brand.ts +1 -1
  1152. package/src/Cache.ts +27 -54
  1153. package/src/Cause.ts +58 -23
  1154. package/src/Channel.ts +693 -224
  1155. package/src/Chunk.ts +149 -331
  1156. package/src/Clock.ts +2 -2
  1157. package/src/Combiner.ts +280 -13
  1158. package/src/Config.ts +197 -27
  1159. package/src/ConfigProvider.ts +5 -5
  1160. package/src/Console.ts +2 -2
  1161. package/src/Context.ts +1454 -0
  1162. package/src/Cron.ts +155 -63
  1163. package/src/Data.ts +539 -376
  1164. package/src/DateTime.ts +77 -258
  1165. package/src/Deferred.ts +15 -6
  1166. package/src/Duration.ts +122 -66
  1167. package/src/Effect.ts +1629 -1355
  1168. package/src/Encoding.ts +879 -0
  1169. package/src/Equal.ts +295 -111
  1170. package/src/Equivalence.ts +114 -52
  1171. package/src/ErrorReporter.ts +458 -0
  1172. package/src/ExecutionPlan.ts +8 -9
  1173. package/src/Exit.ts +24 -12
  1174. package/src/Fiber.ts +17 -8
  1175. package/src/FiberHandle.ts +15 -14
  1176. package/src/FiberMap.ts +27 -27
  1177. package/src/FiberSet.ts +5 -5
  1178. package/src/FileSystem.ts +34 -30
  1179. package/src/Filter.ts +4 -62
  1180. package/src/Formatter.ts +253 -51
  1181. package/src/Function.ts +2 -10
  1182. package/src/Graph.ts +131 -117
  1183. package/src/Hash.ts +2 -2
  1184. package/src/HashMap.ts +26 -19
  1185. package/src/Iterable.ts +117 -63
  1186. package/src/JsonSchema.ts +383 -10
  1187. package/src/Latch.ts +194 -0
  1188. package/src/Layer.ts +728 -441
  1189. package/src/LayerMap.ts +38 -35
  1190. package/src/LogLevel.ts +37 -0
  1191. package/src/Logger.ts +35 -102
  1192. package/src/ManagedRuntime.ts +61 -48
  1193. package/src/Metric.ts +64 -66
  1194. package/src/MutableHashMap.ts +9 -0
  1195. package/src/MutableHashSet.ts +9 -0
  1196. package/src/MutableList.ts +3 -0
  1197. package/src/Newtype.ts +308 -0
  1198. package/src/Number.ts +98 -29
  1199. package/src/Optic.ts +948 -19
  1200. package/src/Option.ts +34 -24
  1201. package/src/Order.ts +39 -32
  1202. package/src/PartitionedSemaphore.ts +288 -56
  1203. package/src/Path.ts +2 -2
  1204. package/src/Pipeable.ts +32 -1
  1205. package/src/Pool.ts +18 -16
  1206. package/src/PubSub.ts +30 -20
  1207. package/src/Pull.ts +1 -1
  1208. package/src/Queue.ts +11 -9
  1209. package/src/Random.ts +51 -14
  1210. package/src/RcMap.ts +19 -19
  1211. package/src/RcRef.ts +1 -1
  1212. package/src/Record.ts +94 -199
  1213. package/src/Redactable.ts +146 -72
  1214. package/src/Reducer.ts +166 -7
  1215. package/src/References.ts +283 -287
  1216. package/src/Request.ts +8 -7
  1217. package/src/RequestResolver.ts +34 -55
  1218. package/src/Resource.ts +6 -5
  1219. package/src/Result.ts +2 -4
  1220. package/src/Runtime.ts +102 -6
  1221. package/src/Schedule.ts +460 -451
  1222. package/src/Scheduler.ts +52 -129
  1223. package/src/Schema.ts +4102 -663
  1224. package/src/SchemaAST.ts +177 -47
  1225. package/src/SchemaGetter.ts +88 -32
  1226. package/src/SchemaParser.ts +92 -27
  1227. package/src/SchemaRepresentation.ts +59 -32
  1228. package/src/SchemaTransformation.ts +364 -13
  1229. package/src/Scope.ts +2 -2
  1230. package/src/ScopedCache.ts +8 -8
  1231. package/src/Semaphore.ts +442 -0
  1232. package/src/Sink.ts +89 -34
  1233. package/src/Stdio.ts +29 -6
  1234. package/src/Stream.ts +898 -752
  1235. package/src/String.ts +122 -69
  1236. package/src/Struct.ts +33 -7
  1237. package/src/SubscriptionRef.ts +101 -120
  1238. package/src/SynchronizedRef.ts +3 -2
  1239. package/src/Terminal.ts +5 -4
  1240. package/src/Tracer.ts +23 -22
  1241. package/src/Trie.ts +44 -31
  1242. package/src/TxChunk.ts +26 -16
  1243. package/src/TxDeferred.ts +391 -0
  1244. package/src/TxHashMap.ts +347 -291
  1245. package/src/TxHashSet.ts +54 -61
  1246. package/src/TxPriorityQueue.ts +762 -0
  1247. package/src/TxPubSub.ts +787 -0
  1248. package/src/TxQueue.ts +221 -245
  1249. package/src/TxReentrantLock.ts +729 -0
  1250. package/src/TxRef.ts +31 -31
  1251. package/src/TxSemaphore.ts +203 -31
  1252. package/src/TxSubscriptionRef.ts +637 -0
  1253. package/src/Types.ts +78 -17
  1254. package/src/Unify.ts +26 -2
  1255. package/src/Utils.ts +137 -111
  1256. package/src/index.ts +898 -72
  1257. package/src/internal/core.ts +19 -12
  1258. package/src/internal/dateTime.ts +91 -96
  1259. package/src/internal/effect.ts +918 -506
  1260. package/src/internal/hashMap.ts +12 -10
  1261. package/src/internal/layer.ts +7 -7
  1262. package/src/internal/option.ts +7 -0
  1263. package/src/internal/random.ts +20 -0
  1264. package/src/internal/rcRef.ts +14 -13
  1265. package/src/internal/references.ts +72 -0
  1266. package/src/internal/request.ts +8 -8
  1267. package/src/internal/schedule.ts +3 -1
  1268. package/src/internal/schema/annotations.ts +2 -0
  1269. package/src/internal/schema/representation.ts +81 -95
  1270. package/src/internal/schema/schema.ts +25 -1
  1271. package/src/internal/schema/to-codec.ts +7 -17
  1272. package/src/internal/trie.ts +21 -15
  1273. package/src/testing/TestClock.ts +13 -11
  1274. package/src/testing/TestSchema.ts +333 -36
  1275. package/src/testing/index.ts +64 -1
  1276. package/src/unstable/ai/AiError.ts +112 -54
  1277. package/src/unstable/ai/AnthropicStructuredOutput.ts +7 -3
  1278. package/src/unstable/ai/Chat.ts +137 -88
  1279. package/src/unstable/ai/EmbeddingModel.ts +209 -0
  1280. package/src/unstable/ai/IdGenerator.ts +2 -2
  1281. package/src/unstable/ai/LanguageModel.ts +685 -255
  1282. package/src/unstable/ai/McpSchema.ts +84 -22
  1283. package/src/unstable/ai/McpServer.ts +299 -87
  1284. package/src/unstable/ai/Model.ts +44 -13
  1285. package/src/unstable/ai/OpenAiStructuredOutput.ts +9 -2
  1286. package/src/unstable/ai/Prompt.ts +43 -49
  1287. package/src/unstable/ai/Response.ts +31 -33
  1288. package/src/unstable/ai/ResponseIdTracker.ts +95 -0
  1289. package/src/unstable/ai/Telemetry.ts +2 -2
  1290. package/src/unstable/ai/Tokenizer.ts +2 -2
  1291. package/src/unstable/ai/Tool.ts +62 -36
  1292. package/src/unstable/ai/Toolkit.ts +17 -26
  1293. package/src/unstable/ai/index.ts +24 -1
  1294. package/src/unstable/ai/internal/codec-transformer.ts +3 -9
  1295. package/src/unstable/cli/Argument.ts +5 -8
  1296. package/src/unstable/cli/CliError.ts +67 -66
  1297. package/src/unstable/cli/CliOutput.ts +87 -15
  1298. package/src/unstable/cli/Command.ts +808 -193
  1299. package/src/unstable/cli/Completions.ts +107 -0
  1300. package/src/unstable/cli/Flag.ts +5 -6
  1301. package/src/unstable/cli/GlobalFlag.ts +242 -0
  1302. package/src/unstable/cli/HelpDoc.ts +91 -11
  1303. package/src/unstable/cli/Param.ts +54 -27
  1304. package/src/unstable/cli/Primitive.ts +2 -2
  1305. package/src/unstable/cli/Prompt.ts +275 -104
  1306. package/src/unstable/cli/index.ts +10 -0
  1307. package/src/unstable/cli/internal/command.ts +125 -64
  1308. package/src/unstable/cli/internal/completions/bash.ts +7 -7
  1309. package/src/unstable/cli/internal/completions/{CommandDescriptor.ts → descriptor.ts} +16 -58
  1310. package/src/unstable/cli/internal/completions/fish.ts +7 -7
  1311. package/src/unstable/cli/internal/completions/zsh.ts +8 -14
  1312. package/src/unstable/cli/internal/config.ts +49 -0
  1313. package/src/unstable/cli/internal/help.ts +171 -0
  1314. package/src/unstable/cli/internal/parser.ts +201 -84
  1315. package/src/unstable/cluster/ClusterCron.ts +2 -2
  1316. package/src/unstable/cluster/ClusterSchema.ts +38 -10
  1317. package/src/unstable/cluster/ClusterWorkflowEngine.ts +144 -81
  1318. package/src/unstable/cluster/DeliverAt.ts +1 -1
  1319. package/src/unstable/cluster/Entity.ts +59 -45
  1320. package/src/unstable/cluster/EntityAddress.ts +1 -1
  1321. package/src/unstable/cluster/EntityProxy.ts +3 -3
  1322. package/src/unstable/cluster/EntityProxyServer.ts +4 -4
  1323. package/src/unstable/cluster/EntityResource.ts +6 -6
  1324. package/src/unstable/cluster/Envelope.ts +1 -1
  1325. package/src/unstable/cluster/HttpRunner.ts +2 -2
  1326. package/src/unstable/cluster/K8sHttpClient.ts +7 -7
  1327. package/src/unstable/cluster/Message.ts +30 -17
  1328. package/src/unstable/cluster/MessageStorage.ts +76 -46
  1329. package/src/unstable/cluster/Reply.ts +13 -10
  1330. package/src/unstable/cluster/Runner.ts +1 -1
  1331. package/src/unstable/cluster/RunnerAddress.ts +1 -1
  1332. package/src/unstable/cluster/RunnerHealth.ts +2 -2
  1333. package/src/unstable/cluster/RunnerServer.ts +11 -14
  1334. package/src/unstable/cluster/RunnerStorage.ts +9 -9
  1335. package/src/unstable/cluster/Runners.ts +21 -19
  1336. package/src/unstable/cluster/ShardId.ts +84 -74
  1337. package/src/unstable/cluster/Sharding.ts +83 -66
  1338. package/src/unstable/cluster/ShardingConfig.ts +39 -40
  1339. package/src/unstable/cluster/Snowflake.ts +2 -2
  1340. package/src/unstable/cluster/SqlMessageStorage.ts +28 -20
  1341. package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
  1342. package/src/unstable/cluster/internal/entityManager.ts +66 -46
  1343. package/src/unstable/cluster/internal/entityReaper.ts +4 -3
  1344. package/src/unstable/cluster/internal/resourceMap.ts +3 -3
  1345. package/src/unstable/cluster/internal/resourceRef.ts +2 -1
  1346. package/src/unstable/devtools/DevToolsClient.ts +26 -21
  1347. package/src/unstable/devtools/DevToolsSchema.ts +16 -3
  1348. package/src/unstable/encoding/Ndjson.ts +17 -17
  1349. package/src/unstable/encoding/Sse.ts +3 -5
  1350. package/src/unstable/eventlog/Event.ts +0 -8
  1351. package/src/unstable/eventlog/EventGroup.ts +0 -4
  1352. package/src/unstable/eventlog/EventJournal.ts +148 -80
  1353. package/src/unstable/eventlog/EventLog.ts +360 -233
  1354. package/src/unstable/eventlog/EventLogEncryption.ts +18 -32
  1355. package/src/unstable/eventlog/EventLogMessage.ts +277 -0
  1356. package/src/unstable/eventlog/EventLogRemote.ts +264 -410
  1357. package/src/unstable/eventlog/EventLogServer.ts +183 -275
  1358. package/src/unstable/eventlog/EventLogServerEncrypted.ts +206 -0
  1359. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +749 -0
  1360. package/src/unstable/eventlog/EventLogSessionAuth.ts +437 -0
  1361. package/src/unstable/eventlog/{SqlEventLogJournal.ts → SqlEventJournal.ts} +28 -20
  1362. package/src/unstable/eventlog/{SqlEventLogServer.ts → SqlEventLogServerEncrypted.ts} +102 -40
  1363. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +500 -0
  1364. package/src/unstable/eventlog/index.ts +27 -2
  1365. package/src/unstable/eventlog/internal/identityRootSecretDerivation.ts +153 -0
  1366. package/src/unstable/http/Cookies.ts +94 -11
  1367. package/src/unstable/http/Etag.ts +7 -5
  1368. package/src/unstable/http/FetchHttpClient.ts +5 -5
  1369. package/src/unstable/http/Headers.ts +70 -20
  1370. package/src/unstable/http/HttpClient.ts +385 -42
  1371. package/src/unstable/http/HttpClientRequest.ts +151 -39
  1372. package/src/unstable/http/HttpClientResponse.ts +12 -6
  1373. package/src/unstable/http/HttpEffect.ts +86 -100
  1374. package/src/unstable/http/HttpIncomingMessage.ts +5 -4
  1375. package/src/unstable/http/HttpMethod.ts +16 -4
  1376. package/src/unstable/http/HttpMiddleware.ts +50 -50
  1377. package/src/unstable/http/HttpPlatform.ts +5 -4
  1378. package/src/unstable/http/HttpRouter.ts +46 -46
  1379. package/src/unstable/http/HttpServer.ts +5 -11
  1380. package/src/unstable/http/HttpServerError.ts +45 -47
  1381. package/src/unstable/http/HttpServerRequest.ts +414 -23
  1382. package/src/unstable/http/HttpServerRespondable.ts +6 -6
  1383. package/src/unstable/http/HttpServerResponse.ts +351 -13
  1384. package/src/unstable/http/HttpStaticServer.ts +456 -0
  1385. package/src/unstable/http/HttpTraceContext.ts +31 -17
  1386. package/src/unstable/http/Multipart.ts +10 -10
  1387. package/src/unstable/http/Url.ts +650 -0
  1388. package/src/unstable/http/UrlParams.ts +31 -19
  1389. package/src/unstable/http/index.ts +10 -0
  1390. package/src/unstable/http/internal/preResponseHandler.ts +15 -0
  1391. package/src/unstable/httpapi/HttpApi.ts +21 -21
  1392. package/src/unstable/httpapi/HttpApiBuilder.ts +128 -55
  1393. package/src/unstable/httpapi/HttpApiClient.ts +186 -34
  1394. package/src/unstable/httpapi/HttpApiEndpoint.ts +225 -113
  1395. package/src/unstable/httpapi/HttpApiError.ts +108 -30
  1396. package/src/unstable/httpapi/HttpApiGroup.ts +18 -17
  1397. package/src/unstable/httpapi/HttpApiMiddleware.ts +95 -33
  1398. package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
  1399. package/src/unstable/httpapi/HttpApiSchema.ts +106 -11
  1400. package/src/unstable/httpapi/HttpApiSecurity.ts +13 -13
  1401. package/src/unstable/httpapi/OpenApi.ts +71 -58
  1402. package/src/unstable/observability/Otlp.ts +12 -12
  1403. package/src/unstable/observability/OtlpExporter.ts +14 -10
  1404. package/src/unstable/observability/OtlpLogger.ts +13 -9
  1405. package/src/unstable/observability/OtlpMetrics.ts +5 -5
  1406. package/src/unstable/observability/OtlpSerialization.ts +2 -2
  1407. package/src/unstable/observability/OtlpTracer.ts +14 -10
  1408. package/src/unstable/observability/PrometheusMetrics.ts +5 -5
  1409. package/src/unstable/persistence/KeyValueStore.ts +230 -7
  1410. package/src/unstable/persistence/Persistable.ts +3 -3
  1411. package/src/unstable/persistence/PersistedCache.ts +35 -21
  1412. package/src/unstable/persistence/PersistedQueue.ts +28 -27
  1413. package/src/unstable/persistence/Persistence.ts +7 -7
  1414. package/src/unstable/persistence/RateLimiter.ts +7 -7
  1415. package/src/unstable/persistence/Redis.ts +2 -2
  1416. package/src/unstable/process/ChildProcess.ts +6 -208
  1417. package/src/unstable/process/ChildProcessSpawner.ts +120 -15
  1418. package/src/unstable/reactivity/Atom.ts +280 -124
  1419. package/src/unstable/reactivity/AtomHttpApi.ts +115 -59
  1420. package/src/unstable/reactivity/AtomRegistry.ts +70 -16
  1421. package/src/unstable/reactivity/AtomRpc.ts +82 -37
  1422. package/src/unstable/reactivity/Reactivity.ts +6 -6
  1423. package/src/unstable/reactivity/index.ts +2 -2
  1424. package/src/unstable/rpc/Rpc.ts +77 -32
  1425. package/src/unstable/rpc/RpcClient.ts +165 -145
  1426. package/src/unstable/rpc/RpcGroup.ts +51 -34
  1427. package/src/unstable/rpc/RpcMiddleware.ts +28 -22
  1428. package/src/unstable/rpc/RpcSchema.ts +24 -6
  1429. package/src/unstable/rpc/RpcSerialization.ts +56 -18
  1430. package/src/unstable/rpc/RpcServer.ts +97 -69
  1431. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1432. package/src/unstable/rpc/Utils.ts +65 -5
  1433. package/src/unstable/schema/Model.ts +35 -6
  1434. package/src/unstable/schema/VariantSchema.ts +14 -27
  1435. package/src/unstable/socket/Socket.ts +42 -38
  1436. package/src/unstable/socket/SocketServer.ts +2 -2
  1437. package/src/unstable/sql/Migrator.ts +7 -5
  1438. package/src/unstable/sql/SqlClient.ts +13 -11
  1439. package/src/unstable/sql/SqlConnection.ts +2 -2
  1440. package/src/unstable/sql/SqlError.ts +365 -11
  1441. package/src/unstable/sql/SqlModel.ts +57 -85
  1442. package/src/unstable/sql/SqlResolver.ts +26 -16
  1443. package/src/unstable/sql/SqlSchema.ts +42 -26
  1444. package/src/unstable/sql/Statement.ts +2 -3
  1445. package/src/unstable/workers/Transferable.ts +17 -19
  1446. package/src/unstable/workers/Worker.ts +6 -5
  1447. package/src/unstable/workers/WorkerRunner.ts +2 -2
  1448. package/src/unstable/workflow/Activity.ts +27 -4
  1449. package/src/unstable/workflow/DurableClock.ts +11 -11
  1450. package/src/unstable/workflow/DurableDeferred.ts +16 -16
  1451. package/src/unstable/workflow/Workflow.ts +32 -25
  1452. package/src/unstable/workflow/WorkflowEngine.ts +239 -25
  1453. package/src/unstable/workflow/WorkflowProxyServer.ts +4 -4
  1454. package/dist/NullOr.d.ts +0 -149
  1455. package/dist/NullOr.d.ts.map +0 -1
  1456. package/dist/NullOr.js +0 -152
  1457. package/dist/NullOr.js.map +0 -1
  1458. package/dist/ServiceMap.d.ts +0 -1126
  1459. package/dist/ServiceMap.d.ts.map +0 -1
  1460. package/dist/ServiceMap.js.map +0 -1
  1461. package/dist/encoding/Base64.d.ts +0 -67
  1462. package/dist/encoding/Base64.d.ts.map +0 -1
  1463. package/dist/encoding/Base64.js +0 -146
  1464. package/dist/encoding/Base64.js.map +0 -1
  1465. package/dist/encoding/Base64Url.d.ts +0 -60
  1466. package/dist/encoding/Base64Url.d.ts.map +0 -1
  1467. package/dist/encoding/Base64Url.js +0 -89
  1468. package/dist/encoding/Base64Url.js.map +0 -1
  1469. package/dist/encoding/EncodingError.d.ts +0 -31
  1470. package/dist/encoding/EncodingError.d.ts.map +0 -1
  1471. package/dist/encoding/EncodingError.js +0 -22
  1472. package/dist/encoding/EncodingError.js.map +0 -1
  1473. package/dist/encoding/Hex.d.ts +0 -61
  1474. package/dist/encoding/Hex.d.ts.map +0 -1
  1475. package/dist/encoding/Hex.js +0 -115
  1476. package/dist/encoding/Hex.js.map +0 -1
  1477. package/dist/encoding/index.d.ts +0 -26
  1478. package/dist/encoding/index.d.ts.map +0 -1
  1479. package/dist/encoding/index.js +0 -27
  1480. package/dist/encoding/index.js.map +0 -1
  1481. package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
  1482. package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
  1483. package/dist/unstable/cli/internal/builtInFlags.js +0 -44
  1484. package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
  1485. package/dist/unstable/cli/internal/completions/CommandDescriptor.d.ts +0 -2
  1486. package/dist/unstable/cli/internal/completions/CommandDescriptor.d.ts.map +0 -1
  1487. package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +0 -1
  1488. package/dist/unstable/cli/internal/completions/Completions.d.ts +0 -2
  1489. package/dist/unstable/cli/internal/completions/Completions.d.ts.map +0 -1
  1490. package/dist/unstable/cli/internal/completions/Completions.js +0 -23
  1491. package/dist/unstable/cli/internal/completions/Completions.js.map +0 -1
  1492. package/dist/unstable/eventlog/SqlEventLogJournal.d.ts.map +0 -1
  1493. package/dist/unstable/eventlog/SqlEventLogJournal.js.map +0 -1
  1494. package/dist/unstable/eventlog/SqlEventLogServer.d.ts.map +0 -1
  1495. package/dist/unstable/eventlog/SqlEventLogServer.js.map +0 -1
  1496. package/src/NullOr.ts +0 -204
  1497. package/src/ServiceMap.ts +0 -1410
  1498. package/src/encoding/Base64.ts +0 -366
  1499. package/src/encoding/Base64Url.ts +0 -104
  1500. package/src/encoding/EncodingError.ts +0 -35
  1501. package/src/encoding/Hex.ts +0 -390
  1502. package/src/encoding/index.ts +0 -31
  1503. package/src/unstable/cli/internal/builtInFlags.ts +0 -78
  1504. package/src/unstable/cli/internal/completions/Completions.ts +0 -31
package/src/index.ts CHANGED
@@ -10,7 +10,7 @@ export {
10
10
  /**
11
11
  * @since 2.0.0
12
12
  */
13
- coerceUnsafe,
13
+ cast,
14
14
  /**
15
15
  * @since 2.0.0
16
16
  */
@@ -444,6 +444,65 @@ export * as Chunk from "./Chunk.ts"
444
444
  export * as Clock from "./Clock.ts"
445
445
 
446
446
  /**
447
+ * A module for combining two values of the same type into one.
448
+ *
449
+ * A `Combiner<A>` wraps a single binary function `(self: A, that: A) => A`.
450
+ * It describes *how* two values merge but carries no initial/empty value
451
+ * (for that, see {@link Reducer} which extends `Combiner` with an
452
+ * `initialValue`).
453
+ *
454
+ * ## Mental model
455
+ *
456
+ * - **Combiner** – an object with a `combine(self, that)` method that returns
457
+ * a value of the same type.
458
+ * - **Argument order** – `self` is the "left" / accumulator side, `that` is
459
+ * the "right" / incoming side.
460
+ * - **No identity element** – unlike a monoid, a `Combiner` does not require
461
+ * a neutral element. Use {@link Reducer} when you need one.
462
+ * - **Purity** – all combiners produced by this module are pure; they never
463
+ * mutate their arguments.
464
+ * - **Composability** – combiners can be lifted into `Option`, `Struct`,
465
+ * `Tuple`, and other container types via helpers in those modules.
466
+ *
467
+ * ## Common tasks
468
+ *
469
+ * - Create a combiner from any binary function → {@link make}
470
+ * - Swap argument order → {@link flip}
471
+ * - Pick the smaller / larger of two values → {@link min} / {@link max}
472
+ * - Always keep the first or last value → {@link first} / {@link last}
473
+ * - Ignore both values and return a fixed result → {@link constant}
474
+ * - Insert a separator between combined values → {@link intercalate}
475
+ *
476
+ * ## Gotchas
477
+ *
478
+ * - `min` and `max` require an `Order<A>`, not a raw comparator. Import from
479
+ * e.g. `Number.Order` or `String.Order`.
480
+ * - `intercalate` is curried: call it with the separator first, then pass the
481
+ * base combiner.
482
+ * - A `Reducer` (which adds `initialValue`) is also a valid `Combiner` — you
483
+ * can pass a `Reducer` anywhere a `Combiner` is expected.
484
+ *
485
+ * ## Quickstart
486
+ *
487
+ * **Example** (combining strings with a separator)
488
+ *
489
+ * ```ts
490
+ * import { Combiner, String } from "effect"
491
+ *
492
+ * const csv = Combiner.intercalate(",")(String.ReducerConcat)
493
+ *
494
+ * console.log(csv.combine("a", "b"))
495
+ * // Output: "a,b"
496
+ *
497
+ * console.log(csv.combine(csv.combine("a", "b"), "c"))
498
+ * // Output: "a,b,c"
499
+ * ```
500
+ *
501
+ * ## See also
502
+ *
503
+ * - {@link make} – the primary constructor
504
+ * - {@link Combiner} – the core interface
505
+ *
447
506
  * @since 4.0.0
448
507
  */
449
508
  export * as Combiner from "./Combiner.ts"
@@ -464,7 +523,7 @@ export * as Combiner from "./Combiner.ts"
464
523
  * - **parse** – instance method on every `Config` that takes a provider and
465
524
  * returns `Effect<T, ConfigError>`.
466
525
  * - **Yieldable** – every `Config` can be yielded inside `Effect.gen`. It
467
- * automatically resolves the current `ConfigProvider` from the service map.
526
+ * automatically resolves the current `ConfigProvider` from the context.
468
527
  *
469
528
  * ## Common tasks
470
529
  *
@@ -537,7 +596,7 @@ export * as Config from "./Config.ts"
537
596
  * (e.g. `["database", "host"]`).
538
597
  * - **ConfigProvider** – an object with a `load(path)` method that resolves a
539
598
  * path to a `Node | undefined`. Providers can be composed and transformed.
540
- * - **ServiceMap.Reference** – `ConfigProvider` is registered as a reference
599
+ * - **Context.Reference** – `ConfigProvider` is registered as a reference
541
600
  * service that defaults to `fromEnv()`, so it works without explicit
542
601
  * provision.
543
602
  * - **SourceError** – the typed error returned when a backing store is
@@ -678,21 +737,95 @@ export * as ConfigProvider from "./ConfigProvider.ts"
678
737
  */
679
738
  export * as Console from "./Console.ts"
680
739
 
740
+ /**
741
+ * This module provides a data structure called `Context` that can be used
742
+ * for dependency injection in effectful programs. It is essentially a table
743
+ * mapping `Service`s identifiers to their implementations, and can be used to
744
+ * manage dependencies in a type-safe way. The `Context` data structure is
745
+ * essentially a way of providing access to a set of related services that can
746
+ * be passed around as a single unit. This module provides functions to create,
747
+ * modify, and query the contents of a `Context`, as well as a number of
748
+ * utility types for working with a `Context`.
749
+ *
750
+ * @since 4.0.0
751
+ */
752
+ export * as Context from "./Context.ts"
753
+
681
754
  /**
682
755
  * @since 2.0.0
683
756
  */
684
757
  export * as Cron from "./Cron.ts"
685
758
 
686
759
  /**
687
- * This module provides utilities for creating data types with structural equality
688
- * semantics. Unlike regular JavaScript objects, `Data` types support value-based
689
- * equality comparison using the `Equal` module.
760
+ * Immutable data constructors with discriminated-union support.
761
+ *
762
+ * The `Data` module provides base classes and factory functions for creating
763
+ * immutable value types with a `_tag` field for discriminated unions.
764
+ * It is the recommended way to define domain models, error types, and
765
+ * lightweight ADTs in Effect applications.
690
766
  *
691
- * The main benefits of using `Data` types are:
692
- * - **Structural equality**: Two `Data` objects are equal if their contents are equal
693
- * - **Immutability**: `Data` types are designed to be immutable
694
- * - **Type safety**: Constructors ensure type safety and consistency
695
- * - **Effect integration**: Error types work seamlessly with Effect's error handling
767
+ * ## Mental model
768
+ *
769
+ * - **`Class`** base class for plain immutable data. Extend it with a type
770
+ * parameter to declare the fields. Instances are `Pipeable`.
771
+ * - **`TaggedClass`** like `Class` but automatically adds a `readonly _tag`
772
+ * string literal field. Useful for single-variant types or ad-hoc tagged
773
+ * values.
774
+ * - **`TaggedEnum`** (type) + **`taggedEnum`** (value) — define a multi-variant
775
+ * discriminated union from a simple record. `taggedEnum()` returns per-variant
776
+ * constructors plus `$is` / `$match` helpers.
777
+ * - **`Error`** — like `Class` but extends `Cause.YieldableError`, so instances
778
+ * can be yielded inside `Effect.gen` to fail the effect.
779
+ * - **`TaggedError`** — like `TaggedClass` but extends `Cause.YieldableError`.
780
+ * Works with `Effect.catchTag` for tag-based error recovery.
781
+ *
782
+ * ## Common tasks
783
+ *
784
+ * - Define a simple value class → {@link Class}
785
+ * - Define a value class with a `_tag` → {@link TaggedClass}
786
+ * - Define a discriminated union with constructors → {@link TaggedEnum} + {@link taggedEnum}
787
+ * - Define a yieldable error → {@link Error}
788
+ * - Define a yieldable tagged error → {@link TaggedError}
789
+ * - Type-guard a tagged value → `$is` from {@link taggedEnum}
790
+ * - Pattern-match on a tagged union → `$match` from {@link taggedEnum}
791
+ *
792
+ * ## Gotchas
793
+ *
794
+ * - Variant records passed to `TaggedEnum` must **not** contain a `_tag` key;
795
+ * the `_tag` is added automatically from the record key.
796
+ * - When a class has no fields, the constructor argument is optional (`void`).
797
+ * - `taggedEnum()` creates **plain objects**, not class instances. If you need
798
+ * class-based variants, use `TaggedClass` or `TaggedError` instead.
799
+ * - `TaggedEnum.WithGenerics` supports up to 4 generic type parameters.
800
+ *
801
+ * ## Quickstart
802
+ *
803
+ * **Example** (tagged union with pattern matching)
804
+ *
805
+ * ```ts
806
+ * import { Data } from "effect"
807
+ *
808
+ * type Shape = Data.TaggedEnum<{
809
+ * Circle: { readonly radius: number }
810
+ * Rect: { readonly width: number; readonly height: number }
811
+ * }>
812
+ * const { Circle, Rect, $match } = Data.taggedEnum<Shape>()
813
+ *
814
+ * const area = $match({
815
+ * Circle: ({ radius }) => Math.PI * radius ** 2,
816
+ * Rect: ({ width, height }) => width * height
817
+ * })
818
+ *
819
+ * console.log(area(Circle({ radius: 5 })))
820
+ * // 78.53981633974483
821
+ * console.log(area(Rect({ width: 3, height: 4 })))
822
+ * // 12
823
+ * ```
824
+ *
825
+ * @see {@link Class} — plain immutable data class
826
+ * @see {@link TaggedEnum} — discriminated union type
827
+ * @see {@link taggedEnum} — discriminated union constructors
828
+ * @see {@link TaggedError} — yieldable tagged error class
696
829
  *
697
830
  * @since 2.0.0
698
831
  */
@@ -837,12 +970,14 @@ export * as Duration from "./Duration.ts"
837
970
  *
838
971
  * @example
839
972
  * ```ts
840
- * import { Effect } from "effect"
973
+ * import { Data, Effect } from "effect"
974
+ *
975
+ * class DiscountRateError extends Data.TaggedError("DiscountRateError")<{}> {}
841
976
  *
842
977
  * // Effect that may fail
843
978
  * const divide = (a: number, b: number) =>
844
979
  * b === 0
845
- * ? Effect.fail(new Error("Division by zero"))
980
+ * ? Effect.fail(new DiscountRateError())
846
981
  * : Effect.succeed(a / b)
847
982
  *
848
983
  * // Error handling
@@ -866,9 +1001,80 @@ export * as Duration from "./Duration.ts"
866
1001
  export * as Effect from "./Effect.ts"
867
1002
 
868
1003
  /**
869
- * This module provides functionality for defining and working with equality between values.
870
- * It includes the `Equal` interface for types that can determine equality with other values
871
- * of the same type, and utilities for comparing values.
1004
+ * Encoding & decoding for Base64 (RFC4648), Base64Url, and Hex.
1005
+ *
1006
+ * @since 4.0.0
1007
+ */
1008
+ export * as Encoding from "./Encoding.ts"
1009
+
1010
+ /**
1011
+ * Structural and custom equality for Effect values.
1012
+ *
1013
+ * The `Equal` module provides deep structural comparison for primitives, plain
1014
+ * objects, arrays, Maps, Sets, Dates, and RegExps. Types that implement the
1015
+ * {@link Equal} interface can supply their own comparison logic while staying
1016
+ * compatible with the rest of the ecosystem (HashMap, HashSet, etc.).
1017
+ *
1018
+ * ## Mental model
1019
+ *
1020
+ * - **Structural equality** — two values are equal when their contents match,
1021
+ * not when they share the same reference.
1022
+ * - **Hash-first shortcut** — before comparing fields, the module checks
1023
+ * {@link Hash.hash}. If the hashes differ the objects are unequal without
1024
+ * further traversal.
1025
+ * - **Equal interface** — any object that implements both {@link symbol} (the
1026
+ * equality method) and `Hash.symbol` (the hash method) can define custom
1027
+ * comparison logic.
1028
+ * - **Caching** — comparison results for object pairs are cached in a WeakMap.
1029
+ * This makes repeated checks fast but **requires immutability** after the
1030
+ * first comparison.
1031
+ * - **By-reference opt-out** — {@link byReference} and {@link byReferenceUnsafe}
1032
+ * let you switch individual objects back to reference equality when you need
1033
+ * mutable identity semantics.
1034
+ *
1035
+ * ## Common tasks
1036
+ *
1037
+ * - Compare two values → {@link equals}
1038
+ * - Check if a value implements `Equal` → {@link isEqual}
1039
+ * - Use `equals` where an `Equivalence` is expected → {@link asEquivalence}
1040
+ * - Implement custom equality on a class → implement {@link Equal} (see
1041
+ * example on the interface)
1042
+ * - Opt an object out of structural equality → {@link byReference} /
1043
+ * {@link byReferenceUnsafe}
1044
+ *
1045
+ * ## Gotchas
1046
+ *
1047
+ * - Objects **must be treated as immutable** after their first equality check.
1048
+ * Results are cached; mutating an object afterwards yields stale results.
1049
+ * - `NaN` is considered equal to `NaN` (unlike `===`).
1050
+ * - Functions without an `Equal` implementation are compared by reference.
1051
+ * - Map and Set comparisons are order-independent but O(n²) in size.
1052
+ * - If only one of two objects implements `Equal`, they are never equal.
1053
+ *
1054
+ * ## Quickstart
1055
+ *
1056
+ * **Example** (basic structural comparison)
1057
+ *
1058
+ * ```ts
1059
+ * import { Equal } from "effect"
1060
+ *
1061
+ * // Primitives
1062
+ * console.log(Equal.equals(1, 1)) // true
1063
+ * console.log(Equal.equals("a", "b")) // false
1064
+ *
1065
+ * // Objects and arrays
1066
+ * console.log(Equal.equals({ x: 1 }, { x: 1 })) // true
1067
+ * console.log(Equal.equals([1, 2], [1, 2])) // true
1068
+ *
1069
+ * // Curried form
1070
+ * const is42 = Equal.equals(42)
1071
+ * console.log(is42(42)) // true
1072
+ * console.log(is42(0)) // false
1073
+ * ```
1074
+ *
1075
+ * @see {@link equals} — the main comparison function
1076
+ * @see {@link Equal} — the interface for custom equality
1077
+ * @see {@link Hash} — the companion hashing module
872
1078
  *
873
1079
  * @since 2.0.0
874
1080
  */
@@ -894,7 +1100,7 @@ export * as Equal from "./Equal.ts"
894
1100
  * - Using strict equality (`===`) → {@link strictEqual}
895
1101
  * - Combining multiple equivalences (AND logic) → {@link combine}, {@link combineAll}
896
1102
  * - Transforming input before comparison → {@link mapInput}
897
- * - Creating equivalences for structured types → {@link Struct}, {@link Tuple}, {@link Array}, {@link Record}
1103
+ * - Creating equivalences for structured types → {@link Struct}, {@link Tuple}, {@link Array_}, {@link Record}
898
1104
  *
899
1105
  * ## Gotchas
900
1106
  *
@@ -922,13 +1128,65 @@ export * as Equal from "./Equal.ts"
922
1128
  * ## See also
923
1129
  *
924
1130
  * - {@link Equal} - For structural equality (can convert to Equivalence)
925
- * - {@link Array.dedupeWith} - Remove duplicates using an equivalence
1131
+ * - {@link Array_.dedupeWith} - Remove duplicates using an equivalence
926
1132
  * - {@link Chunk} - Collections that use equivalences for operations
927
1133
  *
928
1134
  * @since 2.0.0
929
1135
  */
930
1136
  export * as Equivalence from "./Equivalence.ts"
931
1137
 
1138
+ /**
1139
+ * Pluggable error reporting for Effect programs.
1140
+ *
1141
+ * Reporting is triggered by `Effect.withErrorReporting`,
1142
+ * `ErrorReporter.report`, or built-in reporting boundaries in the HTTP and
1143
+ * RPC server modules.
1144
+ *
1145
+ * Each reporter receives a structured callback with the failing `Cause`, a
1146
+ * pretty-printed `Error`, severity, and any extra attributes attached to the
1147
+ * original error — making it straightforward to forward failures to Sentry,
1148
+ * Datadog, or a custom logging backend.
1149
+ *
1150
+ * Use the annotation symbols (`ignore`, `severity`, `attributes`) on your
1151
+ * error classes to control reporting behavior per-error.
1152
+ *
1153
+ * @example
1154
+ * ```ts
1155
+ * import { Data, Effect, ErrorReporter } from "effect"
1156
+ *
1157
+ * // A reporter that logs to the console
1158
+ * const consoleReporter = ErrorReporter.make(({ error, severity }) => {
1159
+ * console.error(`[${severity}]`, error.message)
1160
+ * })
1161
+ *
1162
+ * // An error that should be ignored by reporters
1163
+ * class NotFoundError extends Data.TaggedError("NotFoundError")<{}> {
1164
+ * readonly [ErrorReporter.ignore] = true
1165
+ * }
1166
+ *
1167
+ * // An error with custom severity and attributes
1168
+ * class RateLimitError extends Data.TaggedError("RateLimitError")<{
1169
+ * readonly retryAfter: number
1170
+ * }> {
1171
+ * readonly [ErrorReporter.severity] = "Warn" as const
1172
+ * readonly [ErrorReporter.attributes] = {
1173
+ * retryAfter: this.retryAfter
1174
+ * }
1175
+ * }
1176
+ *
1177
+ * // Opt in to error reporting with Effect.withErrorReporting
1178
+ * const program = Effect.gen(function*() {
1179
+ * return yield* new RateLimitError({ retryAfter: 60 })
1180
+ * }).pipe(
1181
+ * Effect.withErrorReporting,
1182
+ * Effect.provide(ErrorReporter.layer([consoleReporter]))
1183
+ * )
1184
+ * ```
1185
+ *
1186
+ * @since 4.0.0
1187
+ */
1188
+ export * as ErrorReporter from "./ErrorReporter.ts"
1189
+
932
1190
  /**
933
1191
  * @since 3.16.0
934
1192
  */
@@ -1130,6 +1388,57 @@ export * as FileSystem from "./FileSystem.ts"
1130
1388
  export * as Filter from "./Filter.ts"
1131
1389
 
1132
1390
  /**
1391
+ * Utilities for converting arbitrary JavaScript values into human-readable
1392
+ * strings, with support for circular references, redaction, and common JS
1393
+ * types that `JSON.stringify` handles poorly.
1394
+ *
1395
+ * Mental model:
1396
+ * - A `Formatter<Value, Format>` is a callable `(value: Value) => Format`.
1397
+ * - {@link format} is the general-purpose pretty-printer: it handles
1398
+ * primitives, arrays, objects, `BigInt`, `Symbol`, `Date`, `RegExp`,
1399
+ * `Set`, `Map`, class instances, and circular references.
1400
+ * - {@link formatJson} is a safe `JSON.stringify` wrapper that silently
1401
+ * drops circular references and applies redaction.
1402
+ * - Both functions accept a `space` option for indentation control.
1403
+ *
1404
+ * Common tasks:
1405
+ * - Pretty-print any value for debugging / logging -> {@link format}
1406
+ * - Serialize to JSON safely (no circular throws) -> {@link formatJson}
1407
+ * - Format a single object property key -> {@link formatPropertyKey}
1408
+ * - Format a property path like `["a"]["b"]` -> {@link formatPath}
1409
+ * - Format a `Date` to ISO string safely -> {@link formatDate}
1410
+ *
1411
+ * Gotchas:
1412
+ * - {@link format} output is **not** valid JSON; use {@link formatJson} when
1413
+ * you need parseable JSON.
1414
+ * - {@link format} calls `toString()` on objects by default; pass
1415
+ * `ignoreToString: true` to disable.
1416
+ * - {@link formatJson} silently omits circular references (the key is
1417
+ * dropped from the output).
1418
+ * - Values implementing the `Redactable` protocol are automatically
1419
+ * redacted by both {@link format} and {@link formatJson}.
1420
+ *
1421
+ * **Example** (Pretty-print a value)
1422
+ *
1423
+ * ```ts
1424
+ * import { Formatter } from "effect"
1425
+ *
1426
+ * const obj = { name: "Alice", scores: [100, 97] }
1427
+ * console.log(Formatter.format(obj))
1428
+ * // {"name":"Alice","scores":[100,97]}
1429
+ *
1430
+ * console.log(Formatter.format(obj, { space: 2 }))
1431
+ * // {
1432
+ * // "name": "Alice",
1433
+ * // "scores": [
1434
+ * // 100,
1435
+ * // 97
1436
+ * // ]
1437
+ * // }
1438
+ * ```
1439
+ *
1440
+ * See also: {@link Formatter}, {@link format}, {@link formatJson}
1441
+ *
1133
1442
  * @since 4.0.0
1134
1443
  */
1135
1444
  export * as Formatter from "./Formatter.ts"
@@ -1263,7 +1572,7 @@ export * as Inspectable from "./Inspectable.ts"
1263
1572
  *
1264
1573
  * @example
1265
1574
  * ```ts
1266
- * import { Iterable } from "effect"
1575
+ * import { Iterable, Option } from "effect"
1267
1576
  *
1268
1577
  * // Create iterables
1269
1578
  * const numbers = Iterable.range(1, 5)
@@ -1273,7 +1582,7 @@ export * as Inspectable from "./Inspectable.ts"
1273
1582
  * console.log(Array.from(filtered)) // [6, 8, 10]
1274
1583
  *
1275
1584
  * // Infinite iterables
1276
- * const fibonacci = Iterable.unfold([0, 1], ([a, b]) => [a, [b, a + b]])
1585
+ * const fibonacci = Iterable.unfold([0, 1], ([a, b]) => Option.some([a, [b, a + b]]))
1277
1586
  * const first10 = Iterable.take(fibonacci, 10)
1278
1587
  * console.log(Array.from(first10)) // [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
1279
1588
  * ```
@@ -1394,10 +1703,98 @@ export * as JsonPatch from "./JsonPatch.ts"
1394
1703
  export * as JsonPointer from "./JsonPointer.ts"
1395
1704
 
1396
1705
  /**
1706
+ * Convert JSON Schema documents between dialects (Draft-07, Draft-2020-12,
1707
+ * OpenAPI 3.0, OpenAPI 3.1). All dialects are normalized to an internal
1708
+ * `Document<"draft-2020-12">` representation before optional conversion to
1709
+ * an output dialect.
1710
+ *
1711
+ * ## Mental model
1712
+ *
1713
+ * - **JsonSchema** — a plain object with string keys; represents any single
1714
+ * JSON Schema node.
1715
+ * - **Dialect** — one of `"draft-07"`, `"draft-2020-12"`, `"openapi-3.1"`,
1716
+ * or `"openapi-3.0"`.
1717
+ * - **Document** — a structured container holding a root `schema`, its
1718
+ * companion `definitions`, and the target `dialect`. Definitions are
1719
+ * stored separately from the root schema so they can be relocated when
1720
+ * converting between dialects.
1721
+ * - **MultiDocument** — same as `Document` but carries multiple root
1722
+ * schemas (at least one). Useful when generating several schemas that
1723
+ * share a single definitions pool.
1724
+ * - **Definitions** — a `Record<string, JsonSchema>` keyed by definition
1725
+ * name. The ref pointer prefix depends on the dialect.
1726
+ * - **`from*` functions** — parse a raw JSON Schema object into the
1727
+ * canonical `Document<"draft-2020-12">`.
1728
+ * - **`to*` functions** — convert from the canonical representation to a
1729
+ * specific output dialect.
1730
+ *
1731
+ * ## Common tasks
1732
+ *
1733
+ * - Parse a Draft-07 schema → {@link fromSchemaDraft07}
1734
+ * - Parse a Draft-2020-12 schema → {@link fromSchemaDraft2020_12}
1735
+ * - Parse an OpenAPI 3.1 schema → {@link fromSchemaOpenApi3_1}
1736
+ * - Parse an OpenAPI 3.0 schema → {@link fromSchemaOpenApi3_0}
1737
+ * - Convert to Draft-07 output → {@link toDocumentDraft07}
1738
+ * - Convert to OpenAPI 3.1 output → {@link toMultiDocumentOpenApi3_1}
1739
+ * - Resolve a `$ref` against definitions → {@link resolve$ref}
1740
+ * - Inline the root `$ref` of a document → {@link resolveTopLevel$ref}
1741
+ *
1742
+ * ## Gotchas
1743
+ *
1744
+ * - All `from*` functions normalize to `Document<"draft-2020-12">`
1745
+ * regardless of the input dialect.
1746
+ * - Unsupported or unrecognized JSON Schema keywords are silently dropped
1747
+ * during conversion.
1748
+ * - Draft-07 tuple syntax (`items` as array + `additionalItems`) is
1749
+ * converted to 2020-12 form (`prefixItems` + `items`), and vice-versa.
1750
+ * - OpenAPI 3.0 `nullable: true` is expanded into `type` arrays or
1751
+ * `anyOf` unions. The `nullable` keyword is removed.
1752
+ * - OpenAPI 3.0 singular `example` is converted to `examples` (array).
1753
+ * - {@link resolve$ref} only looks up the last segment of the ref path in
1754
+ * the definitions map; it does not follow arbitrary JSON Pointer paths.
1755
+ *
1756
+ * ## Quickstart
1757
+ *
1758
+ * **Example** (Parse a Draft-07 schema and convert to Draft-07 output)
1759
+ *
1760
+ * ```ts
1761
+ * import { JsonSchema } from "effect"
1762
+ *
1763
+ * const raw: JsonSchema.JsonSchema = {
1764
+ * type: "object",
1765
+ * properties: {
1766
+ * name: { type: "string" }
1767
+ * },
1768
+ * required: ["name"]
1769
+ * }
1770
+ *
1771
+ * // Parse into canonical form
1772
+ * const doc = JsonSchema.fromSchemaDraft07(raw)
1773
+ *
1774
+ * // Convert back to Draft-07
1775
+ * const draft07 = JsonSchema.toDocumentDraft07(doc)
1776
+ *
1777
+ * console.log(draft07.dialect) // "draft-07"
1778
+ * console.log(draft07.schema) // { type: "object", properties: { name: { type: "string" } }, required: ["name"] }
1779
+ * ```
1780
+ *
1781
+ * ## See also
1782
+ *
1783
+ * - {@link Document}
1784
+ * - {@link MultiDocument}
1785
+ * - {@link fromSchemaDraft07}
1786
+ * - {@link toDocumentDraft07}
1787
+ * - {@link resolve$ref}
1788
+ *
1397
1789
  * @since 4.0.0
1398
1790
  */
1399
1791
  export * as JsonSchema from "./JsonSchema.ts"
1400
1792
 
1793
+ /**
1794
+ * @since 3.8.0
1795
+ */
1796
+ export * as Latch from "./Latch.ts"
1797
+
1401
1798
  /**
1402
1799
  * A `Layer<ROut, E, RIn>` describes how to build one or more services in your
1403
1800
  * application. Services can be injected into effects via
@@ -1931,6 +2328,73 @@ export * as MutableList from "./MutableList.ts"
1931
2328
  */
1932
2329
  export * as MutableRef from "./MutableRef.ts"
1933
2330
 
2331
+ /**
2332
+ * Lightweight wrapper types that prevent accidental mixing of structurally
2333
+ * identical values (e.g. `UserId` vs `OrderId`, both `string` at runtime).
2334
+ *
2335
+ * **Mental model**
2336
+ *
2337
+ * - **Newtype** — a compile-time wrapper around a **carrier** type (the
2338
+ * underlying primitive or object). At runtime the value is unchanged; the
2339
+ * tag exists only in the type system.
2340
+ * - **Key** — a unique string literal that distinguishes one newtype from
2341
+ * another (e.g. `"Label"`, `"UserId"`).
2342
+ * - **Carrier** — the underlying type the newtype wraps (e.g. `string`,
2343
+ * `number`).
2344
+ * - **Iso** — a lossless two-way conversion between a newtype and its carrier,
2345
+ * created with {@link makeIso}. Use `iso.set(carrier)` to wrap and
2346
+ * `iso.get(newtype)` to unwrap.
2347
+ *
2348
+ * **Common tasks**
2349
+ *
2350
+ * - Define a newtype → declare an `interface` extending
2351
+ * `Newtype.Newtype<Key, Carrier>`
2352
+ * - Wrap / unwrap values → {@link makeIso} (returns an `Optic.Iso`)
2353
+ * - Unwrap only → {@link value}
2354
+ * - Lift an `Equivalence` → {@link makeEquivalence}
2355
+ * - Lift an `Order` → {@link makeOrder}
2356
+ * - Lift a `Combiner` → {@link makeCombiner}
2357
+ * - Lift a `Reducer` → {@link makeReducer}
2358
+ *
2359
+ * **Gotchas**
2360
+ *
2361
+ * - Newtypes are **purely compile-time**. There is zero runtime overhead;
2362
+ * `value` and `makeIso` use identity casts.
2363
+ * - Two newtypes sharing the same key string will be assignable to each other.
2364
+ * Choose unique key strings.
2365
+ * - A newtype value is **not** assignable to its carrier type without
2366
+ * explicitly unwrapping via {@link value} or an iso.
2367
+ *
2368
+ * **Quickstart**
2369
+ *
2370
+ * **Example** (defining and using a newtype)
2371
+ *
2372
+ * ```ts
2373
+ * import { Newtype } from "effect"
2374
+ *
2375
+ * // 1. Define a newtype
2376
+ * interface Label extends Newtype.Newtype<"Label", string> {}
2377
+ *
2378
+ * // 2. Create an iso for wrapping/unwrapping
2379
+ * const labelIso = Newtype.makeIso<Label>()
2380
+ *
2381
+ * // 3. Wrap a raw string
2382
+ * const myLabel: Label = labelIso.set("hello")
2383
+ *
2384
+ * // 4. Unwrap back to string
2385
+ * const raw: string = labelIso.get(myLabel) // "hello"
2386
+ * ```
2387
+ *
2388
+ * **See also**
2389
+ *
2390
+ * - {@link Newtype} (the tagged interface)
2391
+ * - {@link makeIso} (wrap and unwrap)
2392
+ * - {@link value} (unwrap only)
2393
+ *
2394
+ * @since 4.0.0
2395
+ */
2396
+ export * as Newtype from "./Newtype.ts"
2397
+
1934
2398
  /**
1935
2399
  * @since 2.0.0
1936
2400
  *
@@ -2063,37 +2527,6 @@ export * as MutableRef from "./MutableRef.ts"
2063
2527
  */
2064
2528
  export * as NonEmptyIterable from "./NonEmptyIterable.ts"
2065
2529
 
2066
- /**
2067
- * This module provides small, allocation-free utilities for working with values of type
2068
- * `A | null`, where `null` means "no value".
2069
- *
2070
- * Why not `Option<A>`?
2071
- * In TypeScript, `Option<A>` is often unnecessary. If `null` already models absence
2072
- * in your domain, using `A | null` keeps types simple, avoids extra wrappers, and
2073
- * reduces overhead. The key is that `A` itself must not include `null`; in this
2074
- * module `null` is reserved to mean "no value".
2075
- *
2076
- * When to use `A | null`:
2077
- * - Absence can be represented by `null` in your domain model.
2078
- * - You do not need to distinguish between "no value" and "value is null".
2079
- * - You want straightforward ergonomics and zero extra allocations.
2080
- *
2081
- * When to prefer `Option<A>`:
2082
- * - You must distinguish `None` from `Some(null)` (that is, `null` is a valid
2083
- * payload and carries meaning on its own).
2084
- * - You need a tagged representation for serialization or pattern matching across
2085
- * boundaries where `null` would be ambiguous.
2086
- * - You want the richer `Option` API and are comfortable with the extra wrapper.
2087
- *
2088
- * Lawfulness note:
2089
- * All helpers treat `null` as absence. Do not use these utilities with payloads
2090
- * where `A` can itself be `null`, or you will lose information. If you need to
2091
- * carry `null` as a valid payload, use `Option<A>` instead.
2092
- *
2093
- * @since 4.0.0
2094
- */
2095
- export * as NullOr from "./NullOr.ts"
2096
-
2097
2530
  /**
2098
2531
  * This module provides utility functions and type class instances for working with the `number` type in TypeScript.
2099
2532
  * It includes functions for basic arithmetic operations.
@@ -2103,11 +2536,100 @@ export * as NullOr from "./NullOr.ts"
2103
2536
  export * as Number from "./Number.ts"
2104
2537
 
2105
2538
  /**
2106
- * Design: "pretty good" persistency.
2107
- * Real updates copy only the path; unrelated branches keep referential identity.
2108
- * No-op updates may still allocate a new root/parents — callers must not rely on identity for no-ops.
2539
+ * Composable, immutable accessors for reading and updating nested data
2540
+ * structures without mutation.
2541
+ *
2542
+ * **Mental model**
2543
+ *
2544
+ * - **Optic** — a first-class reference to a piece inside a larger structure.
2545
+ * Compose optics to reach deeply nested values.
2546
+ * - **Iso** — lossless two-way conversion (`get`/`set`) between `S` and `A`.
2547
+ * Extends both {@link Lens} and {@link Prism}.
2548
+ * - **Lens** — focuses on exactly one part of `S`. `get` always succeeds;
2549
+ * `replace` needs the original `S` to produce the updated whole.
2550
+ * - **Prism** — focuses on a part that may not be present (e.g. a union
2551
+ * variant). `getResult` can fail; `set` builds a new `S` from `A` alone.
2552
+ * - **Optional** — the most general optic: both reading and writing can fail.
2553
+ * - **Traversal** — focuses on zero or more elements of an array-like
2554
+ * structure. Technically `Optional<S, ReadonlyArray<A>>`.
2555
+ * - **Hierarchy** (strongest → weakest):
2556
+ * `Iso > Lens | Prism > Optional`. Composing a weaker optic with any other
2557
+ * produces the weaker kind.
2558
+ *
2559
+ * **Common tasks**
2560
+ *
2561
+ * - Start a chain → {@link id} (identity iso)
2562
+ * - Drill into a struct key → `.key("name")` / `.optionalKey("name")`
2563
+ * - Drill into a key that may not exist → `.at("name")`
2564
+ * - Narrow a tagged union → `.tag("MyVariant")`
2565
+ * - Narrow by type guard → `.refine(guard)`
2566
+ * - Add validation → `.check(Schema.isGreaterThan(0))`
2567
+ * - Filter out `undefined` → `.notUndefined()`
2568
+ * - Pick/omit struct keys → `.pick(["a","b"])` / `.omit(["c"])`
2569
+ * - Traverse array elements → `.forEach(el => el.key("field"))`
2570
+ * - Build an iso → {@link makeIso}
2571
+ * - Build a lens → {@link makeLens}
2572
+ * - Build a prism → {@link makePrism}, {@link fromChecks}
2573
+ * - Build an optional → {@link makeOptional}
2574
+ * - Focus into `Option.Some` → {@link some}
2575
+ * - Focus into `Result.Success`/`Failure` → {@link success}, {@link failure}
2576
+ * - Convert record ↔ entries → {@link entries}
2577
+ * - Extract all traversal elements → {@link getAll}
2578
+ *
2579
+ * **Gotchas**
2580
+ *
2581
+ * - Updates are structurally persistent: only nodes on the path are cloned.
2582
+ * Unrelated branches keep referential identity. However, **no-op updates
2583
+ * may still allocate** a new root — do not rely on reference identity to
2584
+ * detect no-ops.
2585
+ * - `replace` silently returns the original `S` when the optic cannot focus
2586
+ * (e.g. wrong tag). Use `replaceResult` for explicit failure.
2587
+ * - `modify` also returns the original `S` on focus failure — it never throws.
2588
+ * - `.key()` and `.optionalKey()` do not work on union types (compile error).
2589
+ * - Only plain objects (`Object.prototype` or `null` prototype) and arrays can
2590
+ * be cloned. Class instances cause a runtime error on `replace`/`modify`.
2591
+ *
2592
+ * **Quickstart**
2593
+ *
2594
+ * **Example** (reading and updating nested state)
2595
+ *
2596
+ * ```ts
2597
+ * import { Optic } from "effect"
2598
+ *
2599
+ * type State = { user: { name: string; age: number } }
2600
+ *
2601
+ * const _age = Optic.id<State>().key("user").key("age")
2602
+ *
2603
+ * const s1: State = { user: { name: "Alice", age: 30 } }
2604
+ *
2605
+ * // Read
2606
+ * console.log(_age.get(s1))
2607
+ * // Output: 30
2608
+ *
2609
+ * // Update immutably
2610
+ * const s2 = _age.replace(31, s1)
2611
+ * console.log(s2)
2612
+ * // Output: { user: { name: "Alice", age: 31 } }
2613
+ *
2614
+ * // Modify with a function
2615
+ * const s3 = _age.modify((n) => n + 1)(s1)
2616
+ * console.log(s3)
2617
+ * // Output: { user: { name: "Alice", age: 31 } }
2618
+ *
2619
+ * // Referential identity is preserved for unrelated branches
2620
+ * console.log(s2.user !== s1.user)
2621
+ * // Output: true (on the path)
2622
+ * ```
2623
+ *
2624
+ * **See also**
2625
+ *
2626
+ * - {@link id} — entry point for optic chains
2627
+ * - {@link Lens} / {@link Prism} / {@link Optional} — core optic types
2628
+ * - {@link Traversal} / {@link getAll} — multi-focus optics
2629
+ * - {@link some} / {@link success} / {@link failure} — built-in prisms
2109
2630
  *
2110
2631
  * @since 4.0.0
2632
+ * @module
2111
2633
  */
2112
2634
  export * as Optic from "./Optic.ts"
2113
2635
 
@@ -2144,7 +2666,7 @@ export * as Optic from "./Optic.ts"
2144
2666
  * **Gotchas**
2145
2667
  *
2146
2668
  * - `Option.some(null)` is a valid `Some`; use {@link fromNullishOr} to treat `null`/`undefined` as `None`
2147
- * - {@link filterMap} is an alias for {@link flatMap}
2669
+ * - {@link filterMap} uses a `Filter` callback that returns `Result`
2148
2670
  * - {@link getOrThrow} throws a generic `Error`; prefer {@link getOrThrowWith} for custom errors
2149
2671
  * - `None` is a singleton; compare with {@link isNone}, not `===`
2150
2672
  * - When yielded in `Effect.gen`, a `None` becomes a `NoSuchElementError` defect
@@ -2270,8 +2792,7 @@ export * as Order from "./Order.ts"
2270
2792
  export * as Ordering from "./Ordering.ts"
2271
2793
 
2272
2794
  /**
2273
- * @since 3.19.4
2274
- * @experimental
2795
+ * @since 4.0.0
2275
2796
  */
2276
2797
  export * as PartitionedSemaphore from "./PartitionedSemaphore.ts"
2277
2798
 
@@ -2436,6 +2957,71 @@ export * as RcRef from "./RcRef.ts"
2436
2957
  export * as Record from "./Record.ts"
2437
2958
 
2438
2959
  /**
2960
+ * Context-aware redaction for sensitive values.
2961
+ *
2962
+ * The `Redactable` module provides a protocol for objects that need to present
2963
+ * alternative representations of themselves depending on the runtime context.
2964
+ * Typical use cases include masking secrets, tokens, or personal data in logs, traces,
2965
+ * and serialized output.
2966
+ *
2967
+ * ## Mental model
2968
+ *
2969
+ * - **Redactable** - an object that implements `[symbolRedactable]`, a method
2970
+ * that receives the current `Context` and returns a replacement value.
2971
+ * - **symbolRedactable** - the well-known `Symbol` key that marks an object as
2972
+ * redactable.
2973
+ * - **redact** - the primary entry point: pass any value and get back either its
2974
+ * redacted form (if it is `Redactable`) or the original value unchanged.
2975
+ * - **getRedacted** - lower-level helper that calls `[symbolRedactable]` directly
2976
+ * on a value already known to be `Redactable`.
2977
+ * - The `Context` passed to `[symbolRedactable]` comes from the current fiber.
2978
+ * If no fiber is active, an empty `Context` is used.
2979
+ *
2980
+ * ## Common tasks
2981
+ *
2982
+ * - **Make a value redactable**: implement the {@link Redactable} interface by
2983
+ * adding a `[symbolRedactable]` method.
2984
+ * - **Redact an unknown value**: call {@link redact} - it returns the original
2985
+ * value when it is not redactable.
2986
+ * - **Check if a value is redactable**: use {@link isRedactable}.
2987
+ * - **Get the redacted form of a known `Redactable`**: use {@link getRedacted}.
2988
+ *
2989
+ * ## Gotchas
2990
+ *
2991
+ * - `[symbolRedactable]` receives the fiber's `Context` as its argument.
2992
+ * - Outside of an Effect runtime (no current fiber), `getRedacted` still works
2993
+ * but passes an empty `Context`, so service lookups will not find anything.
2994
+ * - `redact` is not recursive: if a redactable object contains nested
2995
+ * redactable values, only the outermost redaction is applied.
2996
+ *
2997
+ * ## Quickstart
2998
+ *
2999
+ * **Example** (Masking an API key)
3000
+ *
3001
+ * ```ts
3002
+ * import { Context, Redactable } from "effect"
3003
+ *
3004
+ * class ApiKey {
3005
+ * constructor(readonly raw: string) {}
3006
+ *
3007
+ * [Redactable.symbolRedactable](_ctx: Context.Context<never>) {
3008
+ * return this.raw.slice(0, 4) + "..."
3009
+ * }
3010
+ * }
3011
+ *
3012
+ * const key = new ApiKey("sk-1234567890abcdef")
3013
+ *
3014
+ * console.log(Redactable.isRedactable(key)) // true
3015
+ * console.log(Redactable.redact(key)) // "sk-1..."
3016
+ * console.log(Redactable.redact("plain")) // "plain"
3017
+ * ```
3018
+ *
3019
+ * ## See also
3020
+ *
3021
+ * - {@link Redactable} - the interface to implement
3022
+ * - {@link symbolRedactable} - the symbol key
3023
+ * - {@link redact} - the main redaction entry point
3024
+ *
2439
3025
  * @since 4.0.0
2440
3026
  */
2441
3027
  export * as Redactable from "./Redactable.ts"
@@ -2451,6 +3037,71 @@ export * as Redactable from "./Redactable.ts"
2451
3037
  export * as Redacted from "./Redacted.ts"
2452
3038
 
2453
3039
  /**
3040
+ * A module for reducing collections of values into a single result.
3041
+ *
3042
+ * A `Reducer<A>` extends {@link Combiner.Combiner} by adding an
3043
+ * `initialValue` (identity element) and a `combineAll` method that folds an
3044
+ * entire collection. Think `Array.prototype.reduce`, but packaged as a
3045
+ * reusable, composable value.
3046
+ *
3047
+ * ## Mental model
3048
+ *
3049
+ * - **Reducer** – a {@link Combiner.Combiner} plus an `initialValue` and a
3050
+ * `combineAll` method.
3051
+ * - **initialValue** – the neutral/identity element. Combining any value with
3052
+ * `initialValue` should return the original value unchanged (e.g. `0` for
3053
+ * addition, `""` for string concatenation).
3054
+ * - **combineAll** – folds an `Iterable<A>` starting from `initialValue`.
3055
+ * When omitted from {@link make}, a default left-to-right fold is used.
3056
+ * - **Purity** – all reducers produced by this module are pure; they never
3057
+ * mutate their arguments.
3058
+ * - **Composability** – reducers can be lifted into `Option`, `Struct`,
3059
+ * `Tuple`, `Record`, and other container types via helpers in those modules.
3060
+ * - **Subtype of Combiner** – every `Reducer` is also a valid
3061
+ * `Combiner`, so you can pass a `Reducer` anywhere a `Combiner` is
3062
+ * expected.
3063
+ *
3064
+ * ## Common tasks
3065
+ *
3066
+ * - Create a reducer from a combine function and initial value → {@link make}
3067
+ * - Swap argument order → {@link flip}
3068
+ * - Combine two values without an initial value → use {@link Combiner.Combiner}
3069
+ * instead
3070
+ *
3071
+ * ## Gotchas
3072
+ *
3073
+ * - `combineAll` on an empty iterable returns `initialValue`, not an error.
3074
+ * - The default `combineAll` folds left-to-right. If your `combine` is not
3075
+ * associative, order matters. Pass a custom `combineAll` to {@link make} if
3076
+ * you need different traversal or short-circuiting.
3077
+ * - A `Reducer` is also a valid `Combiner` — but a `Combiner` is *not* a
3078
+ * `Reducer` (it lacks `initialValue`).
3079
+ *
3080
+ * ## Quickstart
3081
+ *
3082
+ * **Example** (summing a list of numbers)
3083
+ *
3084
+ * ```ts
3085
+ * import { Reducer } from "effect"
3086
+ *
3087
+ * const Sum = Reducer.make<number>((a, b) => a + b, 0)
3088
+ *
3089
+ * console.log(Sum.combine(3, 4))
3090
+ * // Output: 7
3091
+ *
3092
+ * console.log(Sum.combineAll([1, 2, 3, 4]))
3093
+ * // Output: 10
3094
+ *
3095
+ * console.log(Sum.combineAll([]))
3096
+ * // Output: 0
3097
+ * ```
3098
+ *
3099
+ * ## See also
3100
+ *
3101
+ * - {@link make} – the primary constructor
3102
+ * - {@link Reducer} – the core interface
3103
+ * - {@link Combiner.Combiner} – the parent interface (no `initialValue`)
3104
+ *
2454
3105
  * @since 4.0.0
2455
3106
  */
2456
3107
  export * as Reducer from "./Reducer.ts"
@@ -2650,7 +3301,7 @@ export * as Runtime from "./Runtime.ts"
2650
3301
  *
2651
3302
  * // Retry with exponential backoff
2652
3303
  * const retryPolicy = Schedule.exponential("100 millis", 2.0)
2653
- * .pipe(Schedule.compose(Schedule.recurs(3)))
3304
+ * .pipe(Schedule.both(Schedule.recurs(3)))
2654
3305
  *
2655
3306
  * const program = Effect.gen(function*() {
2656
3307
  * // This will retry up to 3 times with exponential backoff
@@ -2675,6 +3326,88 @@ export * as Schedule from "./Schedule.ts"
2675
3326
  export * as Scheduler from "./Scheduler.ts"
2676
3327
 
2677
3328
  /**
3329
+ * Define data shapes, validate unknown input, and transform values between formats.
3330
+ *
3331
+ * ## Mental model
3332
+ *
3333
+ * - **Schema** — a description of a data shape. Every schema carries a decoded
3334
+ * *Type* (the value you work with) and an *Encoded* representation (the
3335
+ * serialized form, e.g. JSON).
3336
+ * - **Decoding** — turning unknown external data (API responses, form
3337
+ * submissions, config files) into typed, validated values.
3338
+ * - **Encoding** — turning typed values back into a serializable format.
3339
+ * - **Codec** — a schema that tracks both Type and Encoded, so it can decode
3340
+ * *and* encode. Most concrete schemas are Codecs.
3341
+ * - **Check / Filter** — a constraint attached to a schema (e.g. `isMinLength`,
3342
+ * `isGreaterThan`). Attach them with `.check(...)`.
3343
+ * - **Transformation** — a pair of functions (decode + encode) that convert
3344
+ * values between two schemas. Created with {@link decodeTo} / {@link encodeTo}.
3345
+ * - **Annotation** — metadata attached to a schema (title, description, custom
3346
+ * keys). Attach with `.annotate(...)`.
3347
+ *
3348
+ * ## Common tasks
3349
+ *
3350
+ * - Define a struct: {@link Struct}
3351
+ * - Define a union: {@link Union}, {@link TaggedUnion}, {@link Literals}
3352
+ * - Define an array: {@link ArraySchema}, {@link NonEmptyArray}
3353
+ * - Define a record: {@link Record}
3354
+ * - Define a tuple: {@link Tuple}, {@link TupleWithRest}
3355
+ * - Validate unknown data synchronously: {@link decodeUnknownSync}
3356
+ * - Validate unknown data (Effect): {@link decodeUnknownEffect}
3357
+ * - Encode a value: {@link encodeUnknownSync}, {@link encodeUnknownEffect}
3358
+ * - Type guard: {@link is}
3359
+ * - Assertion: {@link asserts}
3360
+ * - Add constraints: `.check(...)` with filters like {@link isMinLength},
3361
+ * {@link isGreaterThan}, {@link isPattern}, {@link isUUID}
3362
+ * - Transform between schemas: {@link decodeTo}, {@link encodeTo}
3363
+ * - Add a default for missing keys: {@link withDecodingDefault}, {@link withDecodingDefaultKey}
3364
+ * - Create branded types: {@link brand}
3365
+ * - Define classes with validation: {@link Class}, {@link TaggedClass}
3366
+ * - Define error classes: {@link ErrorClass}, {@link TaggedErrorClass}
3367
+ * - Generate JSON Schema: {@link toJsonSchemaDocument}
3368
+ * - Generate test data: {@link toArbitrary}
3369
+ * - Derive equivalence: {@link toEquivalence}
3370
+ *
3371
+ * ## Gotchas
3372
+ *
3373
+ * - `Schema.optional` creates `T | undefined` (key can be missing *or*
3374
+ * `undefined`). Use `Schema.optionalKey` for exact optional properties.
3375
+ * - `decodeTo` is curried: use `from.pipe(Schema.decodeTo(to, ...))`.
3376
+ * - `decodeUnknownSync` throws on failure. Use `decodeUnknownExit` or
3377
+ * `decodeUnknownOption` for non-throwing alternatives.
3378
+ * - Filters do not change the TypeScript type. Use {@link refine} or
3379
+ * {@link brand} to narrow the type.
3380
+ * - Recursive schemas require {@link suspend} to avoid infinite loops.
3381
+ *
3382
+ * ## Quickstart
3383
+ *
3384
+ * **Example** (Validate a user object)
3385
+ *
3386
+ * ```ts
3387
+ * import { Schema } from "effect"
3388
+ *
3389
+ * const User = Schema.Struct({
3390
+ * name: Schema.String.check(Schema.isMinLength(1)),
3391
+ * age: Schema.Number.check(Schema.isGreaterThanOrEqualTo(0)),
3392
+ * email: Schema.optionalKey(Schema.String)
3393
+ * })
3394
+ *
3395
+ * // Decode unknown input — throws on failure
3396
+ * const user = Schema.decodeUnknownSync(User)({
3397
+ * name: "Alice",
3398
+ * age: 30
3399
+ * })
3400
+ *
3401
+ * console.log(user)
3402
+ * // { name: "Alice", age: 30 }
3403
+ * ```
3404
+ *
3405
+ * @see {@link Schema} — type-level view tracking only the decoded Type
3406
+ * @see {@link Codec} — type-level view tracking both Type and Encoded
3407
+ * @see {@link Struct} — define object shapes
3408
+ * @see {@link decodeUnknownSync} — synchronous validation
3409
+ * @see {@link decodeTo} — schema transformations
3410
+ *
2678
3411
  * @since 4.0.0
2679
3412
  */
2680
3413
  export * as Schema from "./Schema.ts"
@@ -3057,6 +3790,7 @@ export * as SchemaRepresentation from "./SchemaRepresentation.ts"
3057
3790
  * - Trim/case strings → {@link trim}, {@link toLowerCase}, {@link toUpperCase}, {@link capitalize}, {@link uncapitalize}, {@link snakeToCamel}
3058
3791
  * - Parse key-value strings → {@link splitKeyValue}
3059
3792
  * - Coerce string ↔ number/bigint → {@link numberFromString}, {@link bigintFromString}
3793
+ * - Coerce string ↔ Date → {@link dateFromString}
3060
3794
  * - Decode durations → {@link durationFromNanos}, {@link durationFromMillis}
3061
3795
  * - Wrap nullable/optional as Option → {@link optionFromNullOr}, {@link optionFromOptionalKey}, {@link optionFromOptional}
3062
3796
  * - Parse URLs → {@link urlFromString}
@@ -3138,18 +3872,9 @@ export * as ScopedCache from "./ScopedCache.ts"
3138
3872
  export * as ScopedRef from "./ScopedRef.ts"
3139
3873
 
3140
3874
  /**
3141
- * This module provides a data structure called `ServiceMap` that can be used
3142
- * for dependency injection in effectful programs. It is essentially a table
3143
- * mapping `Service`s identifiers to their implementations, and can be used to
3144
- * manage dependencies in a type-safe way. The `ServiceMap` data structure is
3145
- * essentially a way of providing access to a set of related services that can
3146
- * be passed around as a single unit. This module provides functions to create,
3147
- * modify, and query the contents of a `ServiceMap`, as well as a number of
3148
- * utility types for working with a `ServiceMap`.
3149
- *
3150
- * @since 4.0.0
3875
+ * @since 2.0.0
3151
3876
  */
3152
- export * as ServiceMap from "./ServiceMap.ts"
3877
+ export * as Semaphore from "./Semaphore.ts"
3153
3878
 
3154
3879
  /**
3155
3880
  * @since 2.0.0
@@ -3380,12 +4105,20 @@ export * as Tuple from "./Tuple.ts"
3380
4105
  *
3381
4106
  * Accessed values are tracked by the transaction in order to detect conflicts and to track changes.
3382
4107
  * A transaction will retry whenever a conflict is detected or whenever the transaction explicitly
3383
- * calls `Effect.retryTransaction` and any of the accessed TxChunk values change.
4108
+ * calls `Effect.txRetry` and any of the accessed TxChunk values change.
3384
4109
  *
3385
4110
  * @since 4.0.0
3386
4111
  */
3387
4112
  export * as TxChunk from "./TxChunk.ts"
3388
4113
 
4114
+ /**
4115
+ * A transactional deferred value — a write-once cell that can be read within transactions.
4116
+ * Readers retry until a value is set; once set, the value is immutable.
4117
+ *
4118
+ * @since 4.0.0
4119
+ */
4120
+ export * as TxDeferred from "./TxDeferred.ts"
4121
+
3389
4122
  /**
3390
4123
  * @since 2.0.0
3391
4124
  */
@@ -3396,6 +4129,25 @@ export * as TxHashMap from "./TxHashMap.ts"
3396
4129
  */
3397
4130
  export * as TxHashSet from "./TxHashSet.ts"
3398
4131
 
4132
+ /**
4133
+ * A transactional priority queue. Elements are dequeued in order determined by the
4134
+ * provided `Order` instance. All operations participate in the STM transaction system.
4135
+ *
4136
+ * @since 4.0.0
4137
+ */
4138
+ export * as TxPriorityQueue from "./TxPriorityQueue.ts"
4139
+
4140
+ /**
4141
+ * TxPubSub is a transactional publish/subscribe hub that provides Software Transactional Memory
4142
+ * (STM) semantics for message broadcasting. Publishers broadcast messages to all current
4143
+ * subscribers, with each subscriber receiving its own copy of every published message.
4144
+ *
4145
+ * Supports multiple queue strategies: bounded, unbounded, dropping, and sliding.
4146
+ *
4147
+ * @since 4.0.0
4148
+ */
4149
+ export * as TxPubSub from "./TxPubSub.ts"
4150
+
3399
4151
  /**
3400
4152
  * TxQueue is a transactional queue data structure that provides Software Transactional Memory (STM)
3401
4153
  * semantics for queue operations. It uses TxRef for transactional state management and supports
@@ -3403,18 +4155,28 @@ export * as TxHashSet from "./TxHashSet.ts"
3403
4155
  *
3404
4156
  * Accessed values are tracked by the transaction in order to detect conflicts and to track changes.
3405
4157
  * A transaction will retry whenever a conflict is detected or whenever the transaction explicitly
3406
- * calls `Effect.retryTransaction` and any of the accessed TxQueue values change.
4158
+ * calls `Effect.txRetry` and any of the accessed TxQueue values change.
3407
4159
  *
3408
4160
  * @since 4.0.0
3409
4161
  */
3410
4162
  export * as TxQueue from "./TxQueue.ts"
3411
4163
 
4164
+ /**
4165
+ * TxReentrantLock is a transactional read/write lock with reentrant semantics using Software
4166
+ * Transactional Memory (STM). Multiple readers can hold the lock concurrently, OR a single
4167
+ * writer can hold exclusive access. A fiber holding a write lock may acquire additional
4168
+ * read or write locks (reentrancy).
4169
+ *
4170
+ * @since 4.0.0
4171
+ */
4172
+ export * as TxReentrantLock from "./TxReentrantLock.ts"
4173
+
3412
4174
  /**
3413
4175
  * TxRef is a transactional value, it can be read and modified within the body of a transaction.
3414
4176
  *
3415
4177
  * Accessed values are tracked by the transaction in order to detect conflicts and in order to
3416
4178
  * track changes, a transaction will retry whenever a conflict is detected or whenever the
3417
- * transaction explicitely calls to `Effect.retryTransaction` and any of the accessed TxRef values
4179
+ * transaction explicitely calls to `Effect.txRetry` and any of the accessed TxRef values
3418
4180
  * change.
3419
4181
  *
3420
4182
  * @since 4.0.0
@@ -3426,6 +4188,14 @@ export * as TxRef from "./TxRef.ts"
3426
4188
  */
3427
4189
  export * as TxSemaphore from "./TxSemaphore.ts"
3428
4190
 
4191
+ /**
4192
+ * TxSubscriptionRef is a TxRef that allows subscribing to all committed changes. Subscribers
4193
+ * receive the current value followed by every subsequent update via a transactional queue.
4194
+ *
4195
+ * @since 4.0.0
4196
+ */
4197
+ export * as TxSubscriptionRef from "./TxSubscriptionRef.ts"
4198
+
3429
4199
  /**
3430
4200
  * Type-level utility types for TypeScript.
3431
4201
  *
@@ -3519,6 +4289,62 @@ export * as UndefinedOr from "./UndefinedOr.ts"
3519
4289
  export * as Unify from "./Unify.ts"
3520
4290
 
3521
4291
  /**
4292
+ * Internal utilities for the Effect ecosystem's generator-based syntax and
4293
+ * higher-kinded type machinery.
4294
+ *
4295
+ * ## Mental model
4296
+ *
4297
+ * - **SingleShotGen** — an `IterableIterator` wrapper that yields its value
4298
+ * exactly once. Used internally by `[Symbol.iterator]()` on Effect, Option,
4299
+ * Result, and other yieldable types so they work inside generator functions.
4300
+ * - **Gen** — a type-level signature for generator-based monadic composition
4301
+ * (`gen` functions). Parametric over any `TypeLambda` so each module
4302
+ * (Effect, Option, Result, ...) can expose its own `gen` with correct types.
4303
+ * - **Variance** — a type-level marker that encodes the variance (covariant,
4304
+ * contravariant, invariant) of a `TypeLambda`'s type parameters.
4305
+ * Used by {@link Gen} for type inference.
4306
+ *
4307
+ * ## Common tasks
4308
+ *
4309
+ * - Make a type yieldable in generators -> implement `[Symbol.iterator]()` returning a {@link SingleShotGen}
4310
+ * - Define a generator-based API for a new TypeLambda -> type it as {@link Gen}`<MyTypeLambda>`
4311
+ * - Encode variance for a higher-kinded type -> use {@link Variance}
4312
+ *
4313
+ * ## Gotchas
4314
+ *
4315
+ * - {@link SingleShotGen} yields its value only on the first `.next()` call.
4316
+ * Calling `.next()` again returns `{ done: true }`. Iterating the same
4317
+ * instance twice will skip the value on the second pass; call
4318
+ * `[Symbol.iterator]()` to get a fresh iterator.
4319
+ * - {@link Gen} and {@link Variance} are pure type-level constructs — they
4320
+ * have no runtime representation.
4321
+ *
4322
+ * ## Quickstart
4323
+ *
4324
+ * **Example** (Using SingleShotGen to make a type yieldable)
4325
+ *
4326
+ * ```ts
4327
+ * import { Utils } from "effect"
4328
+ *
4329
+ * class MyWrapper<A> {
4330
+ * constructor(readonly value: A) {}
4331
+ * [Symbol.iterator]() {
4332
+ * return new Utils.SingleShotGen<MyWrapper<A>, A>(this)
4333
+ * }
4334
+ * }
4335
+ *
4336
+ * const w = new MyWrapper(42)
4337
+ * const iter = w[Symbol.iterator]()
4338
+ * console.log(iter.next(undefined as any))
4339
+ * // { value: MyWrapper { value: 42 }, done: false }
4340
+ * console.log(iter.next(42))
4341
+ * // { value: 42, done: true }
4342
+ * ```
4343
+ *
4344
+ * @see {@link SingleShotGen}
4345
+ * @see {@link Gen}
4346
+ * @see {@link Variance}
4347
+ *
3522
4348
  * @since 2.0.0
3523
4349
  */
3524
4350
  export * as Utils from "./Utils.ts"