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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1475) hide show
  1. package/dist/Array.d.ts +213 -385
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +149 -102
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +82 -45
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +105 -52
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +39 -32
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +36 -33
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Brand.d.ts +3 -5
  14. package/dist/Brand.d.ts.map +1 -1
  15. package/dist/Brand.js +1 -1
  16. package/dist/Brand.js.map +1 -1
  17. package/dist/Cache.d.ts +14 -45
  18. package/dist/Cache.d.ts.map +1 -1
  19. package/dist/Cache.js +21 -47
  20. package/dist/Cache.js.map +1 -1
  21. package/dist/Cause.d.ts +53 -22
  22. package/dist/Cause.d.ts.map +1 -1
  23. package/dist/Cause.js +108 -10
  24. package/dist/Cause.js.map +1 -1
  25. package/dist/Channel.d.ts +166 -48
  26. package/dist/Channel.d.ts.map +1 -1
  27. package/dist/Channel.js +176 -87
  28. package/dist/Channel.js.map +1 -1
  29. package/dist/Chunk.d.ts +112 -304
  30. package/dist/Chunk.d.ts.map +1 -1
  31. package/dist/Chunk.js +56 -88
  32. package/dist/Chunk.js.map +1 -1
  33. package/dist/Clock.d.ts +2 -2
  34. package/dist/Clock.d.ts.map +1 -1
  35. package/dist/Clock.js.map +1 -1
  36. package/dist/Combiner.d.ts +280 -13
  37. package/dist/Combiner.d.ts.map +1 -1
  38. package/dist/Combiner.js +198 -7
  39. package/dist/Combiner.js.map +1 -1
  40. package/dist/Config.d.ts +189 -29
  41. package/dist/Config.d.ts.map +1 -1
  42. package/dist/Config.js +85 -35
  43. package/dist/Config.js.map +1 -1
  44. package/dist/ConfigProvider.d.ts +6 -6
  45. package/dist/ConfigProvider.d.ts.map +1 -1
  46. package/dist/ConfigProvider.js +5 -5
  47. package/dist/ConfigProvider.js.map +1 -1
  48. package/dist/Console.d.ts +2 -2
  49. package/dist/Console.d.ts.map +1 -1
  50. package/dist/Console.js.map +1 -1
  51. package/dist/Context.d.ts +1150 -0
  52. package/dist/Context.d.ts.map +1 -0
  53. package/dist/{ServiceMap.js → Context.js} +181 -165
  54. package/dist/Context.js.map +1 -0
  55. package/dist/Cron.d.ts +11 -7
  56. package/dist/Cron.d.ts.map +1 -1
  57. package/dist/Cron.js +120 -63
  58. package/dist/Cron.js.map +1 -1
  59. package/dist/Data.d.ts +533 -365
  60. package/dist/Data.d.ts.map +1 -1
  61. package/dist/Data.js +125 -73
  62. package/dist/Data.js.map +1 -1
  63. package/dist/DateTime.d.ts +74 -255
  64. package/dist/DateTime.d.ts.map +1 -1
  65. package/dist/DateTime.js +17 -62
  66. package/dist/DateTime.js.map +1 -1
  67. package/dist/Deferred.d.ts +12 -5
  68. package/dist/Deferred.d.ts.map +1 -1
  69. package/dist/Deferred.js +13 -5
  70. package/dist/Deferred.js.map +1 -1
  71. package/dist/Duration.d.ts +74 -40
  72. package/dist/Duration.d.ts.map +1 -1
  73. package/dist/Duration.js +126 -87
  74. package/dist/Duration.js.map +1 -1
  75. package/dist/Effect.d.ts +1435 -927
  76. package/dist/Effect.d.ts.map +1 -1
  77. package/dist/Effect.js +516 -328
  78. package/dist/Effect.js.map +1 -1
  79. package/dist/Effectable.d.ts +29 -0
  80. package/dist/Effectable.d.ts.map +1 -0
  81. package/dist/Effectable.js +31 -0
  82. package/dist/Effectable.js.map +1 -0
  83. package/dist/Encoding.d.ts +1 -1
  84. package/dist/Equal.d.ts +276 -109
  85. package/dist/Equal.d.ts.map +1 -1
  86. package/dist/Equal.js +140 -48
  87. package/dist/Equal.js.map +1 -1
  88. package/dist/Equivalence.d.ts +60 -3
  89. package/dist/Equivalence.d.ts.map +1 -1
  90. package/dist/Equivalence.js +70 -13
  91. package/dist/Equivalence.js.map +1 -1
  92. package/dist/ErrorReporter.d.ts +374 -0
  93. package/dist/ErrorReporter.d.ts.map +1 -0
  94. package/dist/ErrorReporter.js +245 -0
  95. package/dist/ErrorReporter.js.map +1 -0
  96. package/dist/ExecutionPlan.d.ts +6 -6
  97. package/dist/ExecutionPlan.d.ts.map +1 -1
  98. package/dist/ExecutionPlan.js +4 -4
  99. package/dist/ExecutionPlan.js.map +1 -1
  100. package/dist/Exit.d.ts +24 -12
  101. package/dist/Exit.d.ts.map +1 -1
  102. package/dist/Exit.js +8 -4
  103. package/dist/Exit.js.map +1 -1
  104. package/dist/Fiber.d.ts +10 -8
  105. package/dist/Fiber.d.ts.map +1 -1
  106. package/dist/Fiber.js.map +1 -1
  107. package/dist/FiberHandle.d.ts +11 -10
  108. package/dist/FiberHandle.d.ts.map +1 -1
  109. package/dist/FiberHandle.js +12 -11
  110. package/dist/FiberHandle.js.map +1 -1
  111. package/dist/FiberMap.d.ts +22 -21
  112. package/dist/FiberMap.d.ts.map +1 -1
  113. package/dist/FiberMap.js +10 -10
  114. package/dist/FiberMap.js.map +1 -1
  115. package/dist/FiberSet.d.ts +2 -2
  116. package/dist/FiberSet.d.ts.map +1 -1
  117. package/dist/FiberSet.js +4 -4
  118. package/dist/FiberSet.js.map +1 -1
  119. package/dist/FileSystem.d.ts +20 -19
  120. package/dist/FileSystem.d.ts.map +1 -1
  121. package/dist/FileSystem.js +15 -11
  122. package/dist/FileSystem.js.map +1 -1
  123. package/dist/Filter.d.ts +4 -37
  124. package/dist/Filter.d.ts.map +1 -1
  125. package/dist/Filter.js +0 -13
  126. package/dist/Filter.js.map +1 -1
  127. package/dist/Formatter.d.ts +131 -47
  128. package/dist/Formatter.d.ts.map +1 -1
  129. package/dist/Formatter.js +243 -55
  130. package/dist/Formatter.js.map +1 -1
  131. package/dist/Function.d.ts +1 -9
  132. package/dist/Function.d.ts.map +1 -1
  133. package/dist/Function.js +2 -10
  134. package/dist/Function.js.map +1 -1
  135. package/dist/Graph.d.ts +65 -65
  136. package/dist/Graph.d.ts.map +1 -1
  137. package/dist/Graph.js +58 -60
  138. package/dist/Graph.js.map +1 -1
  139. package/dist/Hash.js +1 -1
  140. package/dist/Hash.js.map +1 -1
  141. package/dist/HashMap.d.ts +26 -19
  142. package/dist/HashMap.d.ts.map +1 -1
  143. package/dist/HashMap.js +7 -5
  144. package/dist/HashMap.js.map +1 -1
  145. package/dist/Inspectable.d.ts +0 -4
  146. package/dist/Inspectable.d.ts.map +1 -1
  147. package/dist/Inspectable.js +4 -13
  148. package/dist/Inspectable.js.map +1 -1
  149. package/dist/Iterable.d.ts +50 -50
  150. package/dist/Iterable.d.ts.map +1 -1
  151. package/dist/Iterable.js +106 -34
  152. package/dist/Iterable.js.map +1 -1
  153. package/dist/JsonSchema.d.ts +299 -10
  154. package/dist/JsonSchema.d.ts.map +1 -1
  155. package/dist/JsonSchema.js +323 -4
  156. package/dist/JsonSchema.js.map +1 -1
  157. package/dist/Latch.d.ts +69 -3
  158. package/dist/Latch.d.ts.map +1 -1
  159. package/dist/Latch.js +58 -0
  160. package/dist/Latch.js.map +1 -1
  161. package/dist/Layer.d.ts +599 -379
  162. package/dist/Layer.d.ts.map +1 -1
  163. package/dist/Layer.js +249 -180
  164. package/dist/Layer.js.map +1 -1
  165. package/dist/LayerMap.d.ts +27 -26
  166. package/dist/LayerMap.d.ts.map +1 -1
  167. package/dist/LayerMap.js +21 -18
  168. package/dist/LayerMap.js.map +1 -1
  169. package/dist/LogLevel.d.ts +32 -0
  170. package/dist/LogLevel.d.ts.map +1 -1
  171. package/dist/LogLevel.js +28 -100
  172. package/dist/LogLevel.js.map +1 -1
  173. package/dist/Logger.d.ts +31 -97
  174. package/dist/Logger.d.ts.map +1 -1
  175. package/dist/Logger.js +2 -3
  176. package/dist/Logger.js.map +1 -1
  177. package/dist/ManagedRuntime.d.ts +8 -8
  178. package/dist/ManagedRuntime.d.ts.map +1 -1
  179. package/dist/ManagedRuntime.js +34 -25
  180. package/dist/ManagedRuntime.js.map +1 -1
  181. package/dist/Metric.d.ts +23 -25
  182. package/dist/Metric.d.ts.map +1 -1
  183. package/dist/Metric.js +24 -26
  184. package/dist/Metric.js.map +1 -1
  185. package/dist/MutableHashMap.d.ts +7 -0
  186. package/dist/MutableHashMap.d.ts.map +1 -1
  187. package/dist/MutableHashMap.js +8 -0
  188. package/dist/MutableHashMap.js.map +1 -1
  189. package/dist/MutableHashSet.d.ts +7 -0
  190. package/dist/MutableHashSet.d.ts.map +1 -1
  191. package/dist/MutableHashSet.js +8 -0
  192. package/dist/MutableHashSet.js.map +1 -1
  193. package/dist/MutableList.d.ts.map +1 -1
  194. package/dist/MutableList.js +3 -0
  195. package/dist/MutableList.js.map +1 -1
  196. package/dist/Newtype.d.ts +291 -0
  197. package/dist/Newtype.d.ts.map +1 -0
  198. package/dist/Newtype.js +161 -0
  199. package/dist/Newtype.js.map +1 -0
  200. package/dist/Number.d.ts +74 -18
  201. package/dist/Number.d.ts.map +1 -1
  202. package/dist/Number.js +46 -18
  203. package/dist/Number.js.map +1 -1
  204. package/dist/Optic.d.ts +947 -18
  205. package/dist/Optic.d.ts.map +1 -1
  206. package/dist/Optic.js +454 -5
  207. package/dist/Optic.js.map +1 -1
  208. package/dist/Option.d.ts +25 -16
  209. package/dist/Option.d.ts.map +1 -1
  210. package/dist/Option.js +15 -9
  211. package/dist/Option.js.map +1 -1
  212. package/dist/Order.d.ts +6 -1
  213. package/dist/Order.d.ts.map +1 -1
  214. package/dist/Order.js +19 -14
  215. package/dist/Order.js.map +1 -1
  216. package/dist/PartitionedSemaphore.d.ts +183 -0
  217. package/dist/PartitionedSemaphore.d.ts.map +1 -0
  218. package/dist/PartitionedSemaphore.js +231 -0
  219. package/dist/PartitionedSemaphore.js.map +1 -0
  220. package/dist/Path.d.ts +2 -2
  221. package/dist/Path.d.ts.map +1 -1
  222. package/dist/Path.js +2 -2
  223. package/dist/Path.js.map +1 -1
  224. package/dist/PlatformError.d.ts +2 -2
  225. package/dist/Pool.d.ts +1 -1
  226. package/dist/Pool.d.ts.map +1 -1
  227. package/dist/Pool.js +5 -5
  228. package/dist/Pool.js.map +1 -1
  229. package/dist/Predicate.d.ts +1 -1
  230. package/dist/Predicate.d.ts.map +1 -1
  231. package/dist/PubSub.d.ts +5 -4
  232. package/dist/PubSub.d.ts.map +1 -1
  233. package/dist/PubSub.js +15 -8
  234. package/dist/PubSub.js.map +1 -1
  235. package/dist/Pull.d.ts.map +1 -1
  236. package/dist/Pull.js +1 -1
  237. package/dist/Pull.js.map +1 -1
  238. package/dist/Queue.d.ts +9 -6
  239. package/dist/Queue.d.ts.map +1 -1
  240. package/dist/Queue.js +7 -5
  241. package/dist/Queue.js.map +1 -1
  242. package/dist/Random.d.ts +36 -2
  243. package/dist/Random.d.ts.map +1 -1
  244. package/dist/Random.js +46 -35
  245. package/dist/Random.js.map +1 -1
  246. package/dist/RcMap.d.ts +4 -4
  247. package/dist/RcMap.d.ts.map +1 -1
  248. package/dist/RcMap.js +13 -13
  249. package/dist/RcMap.js.map +1 -1
  250. package/dist/RcRef.d.ts +1 -1
  251. package/dist/RcRef.d.ts.map +1 -1
  252. package/dist/Record.d.ts +63 -160
  253. package/dist/Record.d.ts.map +1 -1
  254. package/dist/Record.js +37 -56
  255. package/dist/Record.js.map +1 -1
  256. package/dist/Redactable.d.ts +139 -62
  257. package/dist/Redactable.d.ts.map +1 -1
  258. package/dist/Redactable.js +59 -55
  259. package/dist/Redactable.js.map +1 -1
  260. package/dist/Reducer.d.ts +166 -7
  261. package/dist/Reducer.d.ts.map +1 -1
  262. package/dist/Reducer.js +135 -1
  263. package/dist/Reducer.js.map +1 -1
  264. package/dist/References.d.ts +257 -229
  265. package/dist/References.d.ts.map +1 -1
  266. package/dist/References.js +240 -259
  267. package/dist/References.js.map +1 -1
  268. package/dist/Request.d.ts +5 -5
  269. package/dist/Request.d.ts.map +1 -1
  270. package/dist/Request.js.map +1 -1
  271. package/dist/RequestResolver.d.ts +25 -25
  272. package/dist/RequestResolver.d.ts.map +1 -1
  273. package/dist/RequestResolver.js +15 -16
  274. package/dist/RequestResolver.js.map +1 -1
  275. package/dist/Resource.d.ts +0 -3
  276. package/dist/Resource.d.ts.map +1 -1
  277. package/dist/Resource.js +5 -4
  278. package/dist/Resource.js.map +1 -1
  279. package/dist/Result.d.ts +1 -1
  280. package/dist/Result.d.ts.map +1 -1
  281. package/dist/Result.js +1 -2
  282. package/dist/Result.js.map +1 -1
  283. package/dist/Runtime.d.ts +66 -0
  284. package/dist/Runtime.d.ts.map +1 -1
  285. package/dist/Runtime.js +79 -6
  286. package/dist/Runtime.js.map +1 -1
  287. package/dist/Schedule.d.ts +174 -291
  288. package/dist/Schedule.d.ts.map +1 -1
  289. package/dist/Schedule.js +132 -120
  290. package/dist/Schedule.js.map +1 -1
  291. package/dist/Scheduler.d.ts +36 -125
  292. package/dist/Scheduler.d.ts.map +1 -1
  293. package/dist/Scheduler.js +37 -126
  294. package/dist/Scheduler.js.map +1 -1
  295. package/dist/Schema.d.ts +3213 -392
  296. package/dist/Schema.d.ts.map +1 -1
  297. package/dist/Schema.js +2058 -252
  298. package/dist/Schema.js.map +1 -1
  299. package/dist/SchemaAST.d.ts +13 -2
  300. package/dist/SchemaAST.d.ts.map +1 -1
  301. package/dist/SchemaAST.js +340 -257
  302. package/dist/SchemaAST.js.map +1 -1
  303. package/dist/SchemaGetter.d.ts +55 -13
  304. package/dist/SchemaGetter.d.ts.map +1 -1
  305. package/dist/SchemaGetter.js +73 -11
  306. package/dist/SchemaGetter.js.map +1 -1
  307. package/dist/SchemaIssue.d.ts.map +1 -1
  308. package/dist/SchemaIssue.js +29 -11
  309. package/dist/SchemaIssue.js.map +1 -1
  310. package/dist/SchemaParser.d.ts +44 -54
  311. package/dist/SchemaParser.d.ts.map +1 -1
  312. package/dist/SchemaParser.js +69 -4
  313. package/dist/SchemaParser.js.map +1 -1
  314. package/dist/SchemaRepresentation.d.ts +2 -2
  315. package/dist/SchemaRepresentation.d.ts.map +1 -1
  316. package/dist/SchemaRepresentation.js +63 -39
  317. package/dist/SchemaRepresentation.js.map +1 -1
  318. package/dist/SchemaTransformation.d.ts +245 -3
  319. package/dist/SchemaTransformation.d.ts.map +1 -1
  320. package/dist/SchemaTransformation.js +297 -33
  321. package/dist/SchemaTransformation.js.map +1 -1
  322. package/dist/Scope.d.ts +2 -2
  323. package/dist/Scope.d.ts.map +1 -1
  324. package/dist/Scope.js.map +1 -1
  325. package/dist/ScopedCache.d.ts +2 -2
  326. package/dist/ScopedCache.d.ts.map +1 -1
  327. package/dist/ScopedCache.js +5 -5
  328. package/dist/ScopedCache.js.map +1 -1
  329. package/dist/Semaphore.d.ts +148 -52
  330. package/dist/Semaphore.d.ts.map +1 -1
  331. package/dist/Semaphore.js +135 -117
  332. package/dist/Semaphore.js.map +1 -1
  333. package/dist/Sink.d.ts +22 -19
  334. package/dist/Sink.d.ts.map +1 -1
  335. package/dist/Sink.js +54 -7
  336. package/dist/Sink.js.map +1 -1
  337. package/dist/Stdio.d.ts +18 -6
  338. package/dist/Stdio.d.ts.map +1 -1
  339. package/dist/Stdio.js +20 -2
  340. package/dist/Stdio.js.map +1 -1
  341. package/dist/Stream.d.ts +465 -542
  342. package/dist/Stream.d.ts.map +1 -1
  343. package/dist/Stream.js +329 -145
  344. package/dist/Stream.js.map +1 -1
  345. package/dist/String.d.ts +114 -47
  346. package/dist/String.d.ts.map +1 -1
  347. package/dist/String.js +29 -47
  348. package/dist/String.js.map +1 -1
  349. package/dist/Struct.d.ts +7 -7
  350. package/dist/Struct.d.ts.map +1 -1
  351. package/dist/SubscriptionRef.d.ts +1 -2
  352. package/dist/SubscriptionRef.d.ts.map +1 -1
  353. package/dist/SubscriptionRef.js +83 -116
  354. package/dist/SubscriptionRef.js.map +1 -1
  355. package/dist/Terminal.d.ts +5 -4
  356. package/dist/Terminal.d.ts.map +1 -1
  357. package/dist/Terminal.js +2 -2
  358. package/dist/Terminal.js.map +1 -1
  359. package/dist/Tracer.d.ts +21 -20
  360. package/dist/Tracer.d.ts.map +1 -1
  361. package/dist/Tracer.js +13 -9
  362. package/dist/Tracer.js.map +1 -1
  363. package/dist/Trie.d.ts +44 -31
  364. package/dist/Trie.d.ts.map +1 -1
  365. package/dist/Trie.js +13 -9
  366. package/dist/Trie.js.map +1 -1
  367. package/dist/TxChunk.d.ts +4 -4
  368. package/dist/TxChunk.d.ts.map +1 -1
  369. package/dist/TxChunk.js +4 -4
  370. package/dist/TxChunk.js.map +1 -1
  371. package/dist/TxDeferred.d.ts +328 -0
  372. package/dist/TxDeferred.d.ts.map +1 -0
  373. package/dist/TxDeferred.js +197 -0
  374. package/dist/TxDeferred.js.map +1 -0
  375. package/dist/TxHashMap.d.ts +105 -86
  376. package/dist/TxHashMap.d.ts.map +1 -1
  377. package/dist/TxHashMap.js +51 -44
  378. package/dist/TxHashMap.js.map +1 -1
  379. package/dist/TxHashSet.d.ts +2 -2
  380. package/dist/TxHashSet.d.ts.map +1 -1
  381. package/dist/TxHashSet.js +16 -15
  382. package/dist/TxHashSet.js.map +1 -1
  383. package/dist/TxPriorityQueue.d.ts +609 -0
  384. package/dist/TxPriorityQueue.d.ts.map +1 -0
  385. package/dist/TxPriorityQueue.js +416 -0
  386. package/dist/TxPriorityQueue.js.map +1 -0
  387. package/dist/TxPubSub.d.ts +585 -0
  388. package/dist/TxPubSub.d.ts.map +1 -0
  389. package/dist/TxPubSub.js +521 -0
  390. package/dist/TxPubSub.js.map +1 -0
  391. package/dist/TxQueue.d.ts +1 -1
  392. package/dist/TxQueue.d.ts.map +1 -1
  393. package/dist/TxQueue.js +42 -57
  394. package/dist/TxQueue.js.map +1 -1
  395. package/dist/TxReentrantLock.d.ts +500 -0
  396. package/dist/TxReentrantLock.d.ts.map +1 -0
  397. package/dist/TxReentrantLock.js +481 -0
  398. package/dist/TxReentrantLock.js.map +1 -0
  399. package/dist/TxRef.d.ts +14 -20
  400. package/dist/TxRef.d.ts.map +1 -1
  401. package/dist/TxRef.js +8 -10
  402. package/dist/TxRef.js.map +1 -1
  403. package/dist/TxSemaphore.d.ts +162 -2
  404. package/dist/TxSemaphore.d.ts.map +1 -1
  405. package/dist/TxSemaphore.js +25 -10
  406. package/dist/TxSemaphore.js.map +1 -1
  407. package/dist/TxSubscriptionRef.d.ts +508 -0
  408. package/dist/TxSubscriptionRef.d.ts.map +1 -0
  409. package/dist/TxSubscriptionRef.js +293 -0
  410. package/dist/TxSubscriptionRef.js.map +1 -0
  411. package/dist/Types.d.ts +80 -22
  412. package/dist/Types.d.ts.map +1 -1
  413. package/dist/Unify.d.ts +8 -2
  414. package/dist/Unify.d.ts.map +1 -1
  415. package/dist/Unify.js.map +1 -1
  416. package/dist/Utils.d.ts +137 -65
  417. package/dist/Utils.d.ts.map +1 -1
  418. package/dist/Utils.js +38 -66
  419. package/dist/Utils.js.map +1 -1
  420. package/dist/index.d.ts +886 -71
  421. package/dist/index.d.ts.map +1 -1
  422. package/dist/index.js +886 -71
  423. package/dist/index.js.map +1 -1
  424. package/dist/internal/core.js.map +1 -1
  425. package/dist/internal/dateTime.js +77 -71
  426. package/dist/internal/dateTime.js.map +1 -1
  427. package/dist/internal/effect.js +502 -326
  428. package/dist/internal/effect.js.map +1 -1
  429. package/dist/internal/hashMap.js +7 -5
  430. package/dist/internal/hashMap.js.map +1 -1
  431. package/dist/internal/layer.js +3 -3
  432. package/dist/internal/layer.js.map +1 -1
  433. package/dist/internal/option.js +6 -0
  434. package/dist/internal/option.js.map +1 -1
  435. package/dist/internal/random.d.ts +2 -0
  436. package/dist/internal/random.d.ts.map +1 -0
  437. package/dist/internal/random.js +13 -0
  438. package/dist/internal/random.js.map +1 -0
  439. package/dist/internal/rcRef.js +9 -9
  440. package/dist/internal/rcRef.js.map +1 -1
  441. package/dist/internal/references.d.ts +2 -0
  442. package/dist/internal/references.d.ts.map +1 -0
  443. package/dist/internal/references.js +51 -0
  444. package/dist/internal/references.js.map +1 -0
  445. package/dist/internal/request.js +6 -6
  446. package/dist/internal/request.js.map +1 -1
  447. package/dist/internal/schedule.js +1 -1
  448. package/dist/internal/schedule.js.map +1 -1
  449. package/dist/internal/schema/annotations.js +2 -0
  450. package/dist/internal/schema/annotations.js.map +1 -1
  451. package/dist/internal/schema/representation.js +87 -109
  452. package/dist/internal/schema/representation.js.map +1 -1
  453. package/dist/internal/schema/schema.d.ts +10 -1
  454. package/dist/internal/schema/schema.d.ts.map +1 -1
  455. package/dist/internal/schema/schema.js +59 -1
  456. package/dist/internal/schema/schema.js.map +1 -1
  457. package/dist/internal/trie.js +8 -7
  458. package/dist/internal/trie.js.map +1 -1
  459. package/dist/testing/TestClock.d.ts +5 -5
  460. package/dist/testing/TestClock.d.ts.map +1 -1
  461. package/dist/testing/TestClock.js +2 -2
  462. package/dist/testing/TestClock.js.map +1 -1
  463. package/dist/testing/TestSchema.d.ts +267 -33
  464. package/dist/testing/TestSchema.d.ts.map +1 -1
  465. package/dist/testing/TestSchema.js +296 -23
  466. package/dist/testing/TestSchema.js.map +1 -1
  467. package/dist/testing/index.d.ts +64 -1
  468. package/dist/testing/index.d.ts.map +1 -1
  469. package/dist/testing/index.js +64 -1
  470. package/dist/testing/index.js.map +1 -1
  471. package/dist/unstable/ai/AiError.d.ts +127 -45
  472. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  473. package/dist/unstable/ai/AiError.js +29 -23
  474. package/dist/unstable/ai/AiError.js.map +1 -1
  475. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
  476. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  477. package/dist/unstable/ai/AnthropicStructuredOutput.js +9 -2
  478. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  479. package/dist/unstable/ai/Chat.d.ts +39 -11
  480. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  481. package/dist/unstable/ai/Chat.js +40 -47
  482. package/dist/unstable/ai/Chat.js.map +1 -1
  483. package/dist/unstable/ai/EmbeddingModel.d.ts +130 -0
  484. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -0
  485. package/dist/unstable/ai/EmbeddingModel.js +127 -0
  486. package/dist/unstable/ai/EmbeddingModel.js.map +1 -0
  487. package/dist/unstable/ai/IdGenerator.d.ts +2 -2
  488. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  489. package/dist/unstable/ai/IdGenerator.js +2 -2
  490. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  491. package/dist/unstable/ai/LanguageModel.d.ts +119 -49
  492. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  493. package/dist/unstable/ai/LanguageModel.js +260 -61
  494. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  495. package/dist/unstable/ai/McpSchema.d.ts +207 -112
  496. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  497. package/dist/unstable/ai/McpSchema.js +71 -19
  498. package/dist/unstable/ai/McpSchema.js.map +1 -1
  499. package/dist/unstable/ai/McpServer.d.ts +68 -15
  500. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  501. package/dist/unstable/ai/McpServer.js +225 -73
  502. package/dist/unstable/ai/McpServer.js.map +1 -1
  503. package/dist/unstable/ai/Model.d.ts +27 -9
  504. package/dist/unstable/ai/Model.d.ts.map +1 -1
  505. package/dist/unstable/ai/Model.js +25 -9
  506. package/dist/unstable/ai/Model.js.map +1 -1
  507. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
  508. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  509. package/dist/unstable/ai/OpenAiStructuredOutput.js +9 -1
  510. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  511. package/dist/unstable/ai/Prompt.d.ts +17 -17
  512. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  513. package/dist/unstable/ai/Prompt.js +6 -9
  514. package/dist/unstable/ai/Prompt.js.map +1 -1
  515. package/dist/unstable/ai/Response.d.ts +24 -24
  516. package/dist/unstable/ai/Response.d.ts.map +1 -1
  517. package/dist/unstable/ai/Response.js +7 -8
  518. package/dist/unstable/ai/Response.js.map +1 -1
  519. package/dist/unstable/ai/ResponseIdTracker.d.ts +38 -0
  520. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -0
  521. package/dist/unstable/ai/ResponseIdTracker.js +68 -0
  522. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -0
  523. package/dist/unstable/ai/Telemetry.d.ts +35 -2
  524. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  525. package/dist/unstable/ai/Telemetry.js +2 -2
  526. package/dist/unstable/ai/Telemetry.js.map +1 -1
  527. package/dist/unstable/ai/Tokenizer.d.ts +2 -2
  528. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  529. package/dist/unstable/ai/Tokenizer.js +2 -2
  530. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  531. package/dist/unstable/ai/Tool.d.ts +46 -16
  532. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  533. package/dist/unstable/ai/Tool.js +68 -22
  534. package/dist/unstable/ai/Tool.js.map +1 -1
  535. package/dist/unstable/ai/Toolkit.d.ts +4 -4
  536. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  537. package/dist/unstable/ai/Toolkit.js +14 -21
  538. package/dist/unstable/ai/Toolkit.js.map +1 -1
  539. package/dist/unstable/ai/index.d.ts +22 -1
  540. package/dist/unstable/ai/index.d.ts.map +1 -1
  541. package/dist/unstable/ai/index.js +22 -1
  542. package/dist/unstable/ai/index.js.map +1 -1
  543. package/dist/unstable/ai/internal/codec-transformer.js +5 -7
  544. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  545. package/dist/unstable/cli/Argument.d.ts +4 -7
  546. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  547. package/dist/unstable/cli/Argument.js +1 -3
  548. package/dist/unstable/cli/Argument.js.map +1 -1
  549. package/dist/unstable/cli/CliError.d.ts +51 -63
  550. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  551. package/dist/unstable/cli/CliError.js +32 -57
  552. package/dist/unstable/cli/CliError.js.map +1 -1
  553. package/dist/unstable/cli/CliOutput.d.ts +5 -4
  554. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  555. package/dist/unstable/cli/CliOutput.js +67 -12
  556. package/dist/unstable/cli/CliOutput.js.map +1 -1
  557. package/dist/unstable/cli/Command.d.ts +372 -59
  558. package/dist/unstable/cli/Command.d.ts.map +1 -1
  559. package/dist/unstable/cli/Command.js +328 -66
  560. package/dist/unstable/cli/Command.js.map +1 -1
  561. package/dist/unstable/cli/Completions.d.ts +97 -0
  562. package/dist/unstable/cli/Completions.d.ts.map +1 -0
  563. package/dist/unstable/cli/Completions.js +25 -0
  564. package/dist/unstable/cli/Completions.js.map +1 -0
  565. package/dist/unstable/cli/Flag.d.ts +4 -5
  566. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  567. package/dist/unstable/cli/Flag.js +1 -1
  568. package/dist/unstable/cli/Flag.js.map +1 -1
  569. package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
  570. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
  571. package/dist/unstable/cli/GlobalFlag.js +118 -0
  572. package/dist/unstable/cli/GlobalFlag.js.map +1 -0
  573. package/dist/unstable/cli/HelpDoc.d.ts +81 -11
  574. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  575. package/dist/unstable/cli/Param.d.ts +34 -6
  576. package/dist/unstable/cli/Param.d.ts.map +1 -1
  577. package/dist/unstable/cli/Param.js +24 -14
  578. package/dist/unstable/cli/Param.js.map +1 -1
  579. package/dist/unstable/cli/Primitive.d.ts +2 -2
  580. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  581. package/dist/unstable/cli/Primitive.js +1 -1
  582. package/dist/unstable/cli/Primitive.js.map +1 -1
  583. package/dist/unstable/cli/Prompt.js +266 -86
  584. package/dist/unstable/cli/Prompt.js.map +1 -1
  585. package/dist/unstable/cli/index.d.ts +10 -0
  586. package/dist/unstable/cli/index.d.ts.map +1 -1
  587. package/dist/unstable/cli/index.js +10 -0
  588. package/dist/unstable/cli/index.js.map +1 -1
  589. package/dist/unstable/cli/internal/command.d.ts +41 -15
  590. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  591. package/dist/unstable/cli/internal/command.js +84 -47
  592. package/dist/unstable/cli/internal/command.js.map +1 -1
  593. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  594. package/dist/unstable/cli/internal/completions/descriptor.d.ts +2 -0
  595. package/dist/unstable/cli/internal/completions/descriptor.d.ts.map +1 -0
  596. package/dist/unstable/cli/internal/completions/{CommandDescriptor.js → descriptor.js} +17 -5
  597. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -0
  598. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  599. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  600. package/dist/unstable/cli/internal/config.js +42 -0
  601. package/dist/unstable/cli/internal/config.js.map +1 -1
  602. package/dist/unstable/cli/internal/help.d.ts +33 -0
  603. package/dist/unstable/cli/internal/help.d.ts.map +1 -0
  604. package/dist/unstable/cli/internal/help.js +125 -0
  605. package/dist/unstable/cli/internal/help.js.map +1 -0
  606. package/dist/unstable/cli/internal/parser.js +155 -58
  607. package/dist/unstable/cli/internal/parser.js.map +1 -1
  608. package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
  609. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  610. package/dist/unstable/cluster/ClusterCron.js +1 -1
  611. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  612. package/dist/unstable/cluster/ClusterError.d.ts +7 -7
  613. package/dist/unstable/cluster/ClusterSchema.d.ts +28 -7
  614. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  615. package/dist/unstable/cluster/ClusterSchema.js +28 -8
  616. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  617. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +4 -2
  618. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  619. package/dist/unstable/cluster/ClusterWorkflowEngine.js +96 -63
  620. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  621. package/dist/unstable/cluster/DeliverAt.js +1 -1
  622. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  623. package/dist/unstable/cluster/Entity.d.ts +17 -16
  624. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  625. package/dist/unstable/cluster/Entity.js +31 -25
  626. package/dist/unstable/cluster/Entity.js.map +1 -1
  627. package/dist/unstable/cluster/EntityAddress.d.ts +2 -2
  628. package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
  629. package/dist/unstable/cluster/EntityAddress.js +1 -1
  630. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  631. package/dist/unstable/cluster/EntityProxy.js +3 -3
  632. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  633. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  634. package/dist/unstable/cluster/EntityProxyServer.js +6 -6
  635. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  636. package/dist/unstable/cluster/EntityResource.d.ts +4 -4
  637. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  638. package/dist/unstable/cluster/EntityResource.js +2 -2
  639. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  640. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  641. package/dist/unstable/cluster/HttpRunner.js +2 -2
  642. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  643. package/dist/unstable/cluster/K8sHttpClient.d.ts +5 -5
  644. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  645. package/dist/unstable/cluster/K8sHttpClient.js +7 -7
  646. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  647. package/dist/unstable/cluster/Message.d.ts +16 -10
  648. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  649. package/dist/unstable/cluster/Message.js +16 -8
  650. package/dist/unstable/cluster/Message.js.map +1 -1
  651. package/dist/unstable/cluster/MessageStorage.d.ts +46 -23
  652. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  653. package/dist/unstable/cluster/MessageStorage.js +40 -25
  654. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  655. package/dist/unstable/cluster/Reply.d.ts +7 -6
  656. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  657. package/dist/unstable/cluster/Reply.js +8 -7
  658. package/dist/unstable/cluster/Reply.js.map +1 -1
  659. package/dist/unstable/cluster/Runner.d.ts +1 -1
  660. package/dist/unstable/cluster/Runner.d.ts.map +1 -1
  661. package/dist/unstable/cluster/Runner.js +1 -1
  662. package/dist/unstable/cluster/Runner.js.map +1 -1
  663. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  664. package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
  665. package/dist/unstable/cluster/RunnerAddress.js +1 -1
  666. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  667. package/dist/unstable/cluster/RunnerHealth.d.ts +2 -2
  668. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  669. package/dist/unstable/cluster/RunnerHealth.js +2 -2
  670. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  671. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  672. package/dist/unstable/cluster/RunnerServer.js +10 -9
  673. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  674. package/dist/unstable/cluster/RunnerStorage.d.ts +12 -12
  675. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  676. package/dist/unstable/cluster/RunnerStorage.js +3 -3
  677. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  678. package/dist/unstable/cluster/Runners.d.ts +5 -4
  679. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  680. package/dist/unstable/cluster/Runners.js +16 -14
  681. package/dist/unstable/cluster/Runners.js.map +1 -1
  682. package/dist/unstable/cluster/ShardId.d.ts +35 -49
  683. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  684. package/dist/unstable/cluster/ShardId.js +65 -67
  685. package/dist/unstable/cluster/ShardId.js.map +1 -1
  686. package/dist/unstable/cluster/Sharding.d.ts +4 -4
  687. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  688. package/dist/unstable/cluster/Sharding.js +59 -49
  689. package/dist/unstable/cluster/Sharding.js.map +1 -1
  690. package/dist/unstable/cluster/ShardingConfig.d.ts +28 -27
  691. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  692. package/dist/unstable/cluster/ShardingConfig.js +27 -27
  693. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  694. package/dist/unstable/cluster/SingletonAddress.d.ts +2 -2
  695. package/dist/unstable/cluster/Snowflake.d.ts +2 -2
  696. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  697. package/dist/unstable/cluster/Snowflake.js +2 -2
  698. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  699. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  700. package/dist/unstable/cluster/SqlMessageStorage.js +24 -20
  701. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  702. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  703. package/dist/unstable/cluster/SqlRunnerStorage.js +7 -7
  704. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  705. package/dist/unstable/cluster/internal/entityManager.js +30 -24
  706. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  707. package/dist/unstable/cluster/internal/entityReaper.js +2 -2
  708. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  709. package/dist/unstable/cluster/internal/resourceMap.js +3 -3
  710. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  711. package/dist/unstable/devtools/DevToolsClient.d.ts +2 -2
  712. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  713. package/dist/unstable/devtools/DevToolsClient.js +9 -8
  714. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  715. package/dist/unstable/devtools/DevToolsSchema.d.ts +4 -4
  716. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  717. package/dist/unstable/devtools/DevToolsSchema.js +9 -2
  718. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  719. package/dist/unstable/encoding/Msgpack.d.ts +1 -1
  720. package/dist/unstable/encoding/Ndjson.d.ts +9 -9
  721. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  722. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  723. package/dist/unstable/encoding/Sse.d.ts +3 -3
  724. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  725. package/dist/unstable/encoding/Sse.js +1 -1
  726. package/dist/unstable/encoding/Sse.js.map +1 -1
  727. package/dist/unstable/eventlog/Event.d.ts +0 -6
  728. package/dist/unstable/eventlog/Event.d.ts.map +1 -1
  729. package/dist/unstable/eventlog/Event.js +0 -5
  730. package/dist/unstable/eventlog/Event.js.map +1 -1
  731. package/dist/unstable/eventlog/EventGroup.d.ts +0 -2
  732. package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
  733. package/dist/unstable/eventlog/EventGroup.js +0 -2
  734. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  735. package/dist/unstable/eventlog/EventJournal.d.ts +27 -10
  736. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  737. package/dist/unstable/eventlog/EventJournal.js +130 -71
  738. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  739. package/dist/unstable/eventlog/EventLog.d.ts +94 -37
  740. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  741. package/dist/unstable/eventlog/EventLog.js +225 -151
  742. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  743. package/dist/unstable/eventlog/EventLogEncryption.d.ts +11 -9
  744. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  745. package/dist/unstable/eventlog/EventLogEncryption.js +15 -17
  746. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  747. package/dist/unstable/eventlog/EventLogMessage.d.ts +228 -0
  748. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -0
  749. package/dist/unstable/eventlog/EventLogMessage.js +214 -0
  750. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -0
  751. package/dist/unstable/eventlog/EventLogRemote.d.ts +112 -194
  752. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  753. package/dist/unstable/eventlog/EventLogRemote.js +168 -322
  754. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  755. package/dist/unstable/eventlog/EventLogServer.d.ts +26 -48
  756. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  757. package/dist/unstable/eventlog/EventLogServer.js +128 -199
  758. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  759. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +60 -0
  760. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -0
  761. package/dist/unstable/eventlog/EventLogServerEncrypted.js +166 -0
  762. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -0
  763. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +183 -0
  764. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -0
  765. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +461 -0
  766. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -0
  767. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +117 -0
  768. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -0
  769. package/dist/unstable/eventlog/EventLogSessionAuth.js +284 -0
  770. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -0
  771. package/dist/unstable/eventlog/{SqlEventLogJournal.d.ts → SqlEventJournal.d.ts} +2 -2
  772. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -0
  773. package/dist/unstable/eventlog/{SqlEventLogJournal.js → SqlEventJournal.js} +28 -21
  774. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -0
  775. package/dist/unstable/eventlog/{SqlEventLogServer.d.ts → SqlEventLogServerEncrypted.d.ts} +5 -5
  776. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -0
  777. package/dist/unstable/eventlog/{SqlEventLogServer.js → SqlEventLogServerEncrypted.js} +69 -27
  778. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -0
  779. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts +25 -0
  780. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -0
  781. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +355 -0
  782. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -0
  783. package/dist/unstable/eventlog/index.d.ts +22 -2
  784. package/dist/unstable/eventlog/index.d.ts.map +1 -1
  785. package/dist/unstable/eventlog/index.js +22 -2
  786. package/dist/unstable/eventlog/index.js.map +1 -1
  787. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts +2 -0
  788. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.d.ts.map +1 -0
  789. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js +89 -0
  790. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -0
  791. package/dist/unstable/http/Cookies.d.ts +51 -6
  792. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  793. package/dist/unstable/http/Cookies.js +27 -6
  794. package/dist/unstable/http/Cookies.js.map +1 -1
  795. package/dist/unstable/http/Etag.d.ts +2 -2
  796. package/dist/unstable/http/Etag.d.ts.map +1 -1
  797. package/dist/unstable/http/Etag.js +7 -3
  798. package/dist/unstable/http/Etag.js.map +1 -1
  799. package/dist/unstable/http/FetchHttpClient.d.ts +6 -3
  800. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  801. package/dist/unstable/http/FetchHttpClient.js +5 -5
  802. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  803. package/dist/unstable/http/Headers.d.ts +24 -4
  804. package/dist/unstable/http/Headers.d.ts.map +1 -1
  805. package/dist/unstable/http/Headers.js +42 -13
  806. package/dist/unstable/http/Headers.js.map +1 -1
  807. package/dist/unstable/http/HttpBody.d.ts +1 -1
  808. package/dist/unstable/http/HttpClient.d.ts +125 -21
  809. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  810. package/dist/unstable/http/HttpClient.js +197 -19
  811. package/dist/unstable/http/HttpClient.js.map +1 -1
  812. package/dist/unstable/http/HttpClientError.d.ts +8 -8
  813. package/dist/unstable/http/HttpClientRequest.d.ts +43 -15
  814. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  815. package/dist/unstable/http/HttpClientRequest.js +131 -21
  816. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  817. package/dist/unstable/http/HttpClientResponse.d.ts +2 -1
  818. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  819. package/dist/unstable/http/HttpClientResponse.js +18 -3
  820. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  821. package/dist/unstable/http/HttpEffect.d.ts +13 -11
  822. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  823. package/dist/unstable/http/HttpEffect.js +51 -51
  824. package/dist/unstable/http/HttpEffect.js.map +1 -1
  825. package/dist/unstable/http/HttpIncomingMessage.d.ts +5 -4
  826. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  827. package/dist/unstable/http/HttpIncomingMessage.js +6 -10
  828. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  829. package/dist/unstable/http/HttpMethod.d.ts +4 -4
  830. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  831. package/dist/unstable/http/HttpMethod.js +3 -3
  832. package/dist/unstable/http/HttpMethod.js.map +1 -1
  833. package/dist/unstable/http/HttpMiddleware.d.ts +4 -9
  834. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  835. package/dist/unstable/http/HttpMiddleware.js +47 -43
  836. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  837. package/dist/unstable/http/HttpPlatform.d.ts +2 -2
  838. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  839. package/dist/unstable/http/HttpPlatform.js +5 -4
  840. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  841. package/dist/unstable/http/HttpRouter.d.ts +9 -8
  842. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  843. package/dist/unstable/http/HttpRouter.js +36 -36
  844. package/dist/unstable/http/HttpRouter.js.map +1 -1
  845. package/dist/unstable/http/HttpServer.d.ts +2 -2
  846. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  847. package/dist/unstable/http/HttpServer.js +4 -4
  848. package/dist/unstable/http/HttpServer.js.map +1 -1
  849. package/dist/unstable/http/HttpServerError.d.ts +22 -34
  850. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  851. package/dist/unstable/http/HttpServerError.js +39 -45
  852. package/dist/unstable/http/HttpServerError.js.map +1 -1
  853. package/dist/unstable/http/HttpServerRequest.d.ts +19 -7
  854. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  855. package/dist/unstable/http/HttpServerRequest.js +307 -13
  856. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  857. package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
  858. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  859. package/dist/unstable/http/HttpServerRespondable.js +5 -5
  860. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  861. package/dist/unstable/http/HttpServerResponse.d.ts +52 -5
  862. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  863. package/dist/unstable/http/HttpServerResponse.js +240 -5
  864. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  865. package/dist/unstable/http/HttpStaticServer.d.ts +69 -0
  866. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -0
  867. package/dist/unstable/http/HttpStaticServer.js +353 -0
  868. package/dist/unstable/http/HttpStaticServer.js.map +1 -0
  869. package/dist/unstable/http/HttpTraceContext.d.ts +3 -2
  870. package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
  871. package/dist/unstable/http/HttpTraceContext.js +27 -15
  872. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  873. package/dist/unstable/http/Multipart.d.ts +7 -7
  874. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  875. package/dist/unstable/http/Multipart.js +7 -7
  876. package/dist/unstable/http/Multipart.js.map +1 -1
  877. package/dist/unstable/http/Url.d.ts +604 -0
  878. package/dist/unstable/http/Url.d.ts.map +1 -0
  879. package/dist/unstable/http/Url.js +256 -0
  880. package/dist/unstable/http/Url.js.map +1 -0
  881. package/dist/unstable/http/UrlParams.d.ts +18 -9
  882. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  883. package/dist/unstable/http/UrlParams.js +6 -7
  884. package/dist/unstable/http/UrlParams.js.map +1 -1
  885. package/dist/unstable/http/index.d.ts +8 -0
  886. package/dist/unstable/http/index.d.ts.map +1 -1
  887. package/dist/unstable/http/index.js +8 -0
  888. package/dist/unstable/http/index.js.map +1 -1
  889. package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
  890. package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
  891. package/dist/unstable/http/internal/preResponseHandler.js +10 -0
  892. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
  893. package/dist/unstable/httpapi/HttpApi.d.ts +11 -11
  894. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  895. package/dist/unstable/httpapi/HttpApi.js +8 -8
  896. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  897. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +12 -9
  898. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  899. package/dist/unstable/httpapi/HttpApiBuilder.js +73 -48
  900. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  901. package/dist/unstable/httpapi/HttpApiClient.d.ts +82 -7
  902. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  903. package/dist/unstable/httpapi/HttpApiClient.js +79 -11
  904. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  905. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +210 -105
  906. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  907. package/dist/unstable/httpapi/HttpApiEndpoint.js +52 -47
  908. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  909. package/dist/unstable/httpapi/HttpApiError.d.ts +66 -29
  910. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  911. package/dist/unstable/httpapi/HttpApiError.js +138 -32
  912. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  913. package/dist/unstable/httpapi/HttpApiGroup.d.ts +9 -8
  914. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  915. package/dist/unstable/httpapi/HttpApiGroup.js +4 -4
  916. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  917. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +49 -17
  918. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  919. package/dist/unstable/httpapi/HttpApiMiddleware.js +38 -8
  920. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  921. package/dist/unstable/httpapi/HttpApiSchema.d.ts +88 -9
  922. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  923. package/dist/unstable/httpapi/HttpApiSchema.js +86 -11
  924. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  925. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +9 -6
  926. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  927. package/dist/unstable/httpapi/HttpApiSecurity.js +6 -6
  928. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  929. package/dist/unstable/httpapi/OpenApi.d.ts +17 -25
  930. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  931. package/dist/unstable/httpapi/OpenApi.js +59 -60
  932. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  933. package/dist/unstable/observability/Otlp.d.ts +12 -12
  934. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  935. package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
  936. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  937. package/dist/unstable/observability/OtlpExporter.js +8 -8
  938. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  939. package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
  940. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  941. package/dist/unstable/observability/OtlpLogger.js +7 -4
  942. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  943. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
  944. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  945. package/dist/unstable/observability/OtlpMetrics.js +2 -2
  946. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  947. package/dist/unstable/observability/OtlpSerialization.d.ts +2 -2
  948. package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
  949. package/dist/unstable/observability/OtlpSerialization.js +2 -2
  950. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  951. package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
  952. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  953. package/dist/unstable/observability/OtlpTracer.js +7 -3
  954. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  955. package/dist/unstable/observability/PrometheusMetrics.d.ts +3 -3
  956. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  957. package/dist/unstable/observability/PrometheusMetrics.js +4 -33
  958. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  959. package/dist/unstable/observability/internal/protobuf.js +4 -4
  960. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  961. package/dist/unstable/persistence/KeyValueStore.d.ts +24 -3
  962. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  963. package/dist/unstable/persistence/KeyValueStore.js +144 -2
  964. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  965. package/dist/unstable/persistence/Persistable.d.ts +2 -2
  966. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  967. package/dist/unstable/persistence/Persistable.js +1 -1
  968. package/dist/unstable/persistence/Persistable.js.map +1 -1
  969. package/dist/unstable/persistence/PersistedCache.d.ts +1 -2
  970. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  971. package/dist/unstable/persistence/PersistedCache.js +10 -11
  972. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  973. package/dist/unstable/persistence/PersistedQueue.d.ts +16 -16
  974. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  975. package/dist/unstable/persistence/PersistedQueue.js +9 -9
  976. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  977. package/dist/unstable/persistence/Persistence.d.ts +5 -5
  978. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  979. package/dist/unstable/persistence/Persistence.js +5 -5
  980. package/dist/unstable/persistence/Persistence.js.map +1 -1
  981. package/dist/unstable/persistence/RateLimiter.d.ts +9 -9
  982. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  983. package/dist/unstable/persistence/RateLimiter.js +4 -4
  984. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  985. package/dist/unstable/persistence/Redis.d.ts +3 -3
  986. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  987. package/dist/unstable/persistence/Redis.js +2 -2
  988. package/dist/unstable/persistence/Redis.js.map +1 -1
  989. package/dist/unstable/process/ChildProcess.d.ts +5 -128
  990. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  991. package/dist/unstable/process/ChildProcess.js +1 -65
  992. package/dist/unstable/process/ChildProcess.js.map +1 -1
  993. package/dist/unstable/process/ChildProcessSpawner.d.ts +83 -8
  994. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  995. package/dist/unstable/process/ChildProcessSpawner.js +22 -2
  996. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  997. package/dist/unstable/reactivity/AsyncResult.d.ts +37 -17
  998. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  999. package/dist/unstable/reactivity/AsyncResult.js +9 -0
  1000. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1001. package/dist/unstable/reactivity/Atom.d.ts +108 -47
  1002. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1003. package/dist/unstable/reactivity/Atom.js +105 -25
  1004. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1005. package/dist/unstable/reactivity/AtomHttpApi.d.ts +25 -20
  1006. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1007. package/dist/unstable/reactivity/AtomHttpApi.js +58 -26
  1008. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1009. package/dist/unstable/reactivity/AtomRegistry.d.ts +8 -2
  1010. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  1011. package/dist/unstable/reactivity/AtomRegistry.js +57 -14
  1012. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1013. package/dist/unstable/reactivity/AtomRpc.d.ts +12 -12
  1014. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1015. package/dist/unstable/reactivity/AtomRpc.js +59 -31
  1016. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1017. package/dist/unstable/reactivity/Reactivity.d.ts +2 -2
  1018. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  1019. package/dist/unstable/reactivity/Reactivity.js +6 -6
  1020. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1021. package/dist/unstable/rpc/Rpc.d.ts +137 -19
  1022. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1023. package/dist/unstable/rpc/Rpc.js +99 -7
  1024. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1025. package/dist/unstable/rpc/RpcClient.d.ts +26 -47
  1026. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1027. package/dist/unstable/rpc/RpcClient.js +117 -75
  1028. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1029. package/dist/unstable/rpc/RpcClientError.d.ts +2 -2
  1030. package/dist/unstable/rpc/RpcGroup.d.ts +15 -11
  1031. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  1032. package/dist/unstable/rpc/RpcGroup.js +30 -20
  1033. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1034. package/dist/unstable/rpc/RpcMiddleware.d.ts +12 -12
  1035. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  1036. package/dist/unstable/rpc/RpcMiddleware.js +5 -5
  1037. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1038. package/dist/unstable/rpc/RpcSchema.d.ts +14 -1
  1039. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  1040. package/dist/unstable/rpc/RpcSchema.js +17 -2
  1041. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1042. package/dist/unstable/rpc/RpcSerialization.d.ts +13 -2
  1043. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1044. package/dist/unstable/rpc/RpcSerialization.js +60 -27
  1045. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1046. package/dist/unstable/rpc/RpcServer.d.ts +8 -12
  1047. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  1048. package/dist/unstable/rpc/RpcServer.js +73 -43
  1049. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1050. package/dist/unstable/rpc/RpcWorker.d.ts +2 -2
  1051. package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
  1052. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1053. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1054. package/dist/unstable/rpc/Utils.d.ts +6 -3
  1055. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  1056. package/dist/unstable/rpc/Utils.js +46 -5
  1057. package/dist/unstable/rpc/Utils.js.map +1 -1
  1058. package/dist/unstable/schema/Model.d.ts +24 -3
  1059. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1060. package/dist/unstable/schema/Model.js +17 -4
  1061. package/dist/unstable/schema/Model.js.map +1 -1
  1062. package/dist/unstable/schema/VariantSchema.d.ts +7 -7
  1063. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1064. package/dist/unstable/schema/VariantSchema.js +7 -18
  1065. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1066. package/dist/unstable/socket/Socket.d.ts +35 -15
  1067. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1068. package/dist/unstable/socket/Socket.js +34 -27
  1069. package/dist/unstable/socket/Socket.js.map +1 -1
  1070. package/dist/unstable/socket/SocketServer.d.ts +8 -5
  1071. package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
  1072. package/dist/unstable/socket/SocketServer.js +2 -2
  1073. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1074. package/dist/unstable/sql/Migrator.d.ts +1 -1
  1075. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  1076. package/dist/unstable/sql/Migrator.js +2 -2
  1077. package/dist/unstable/sql/Migrator.js.map +1 -1
  1078. package/dist/unstable/sql/SqlClient.d.ts +24 -6
  1079. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1080. package/dist/unstable/sql/SqlClient.js +37 -32
  1081. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1082. package/dist/unstable/sql/SqlConnection.d.ts +2 -2
  1083. package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
  1084. package/dist/unstable/sql/SqlConnection.js +5 -2
  1085. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1086. package/dist/unstable/sql/SqlError.d.ts +237 -17
  1087. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  1088. package/dist/unstable/sql/SqlError.js +260 -4
  1089. package/dist/unstable/sql/SqlError.js.map +1 -1
  1090. package/dist/unstable/sql/SqlModel.d.ts +8 -9
  1091. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  1092. package/dist/unstable/sql/SqlModel.js +12 -38
  1093. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1094. package/dist/unstable/sql/SqlResolver.js +24 -17
  1095. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1096. package/dist/unstable/sql/SqlSchema.d.ts +17 -6
  1097. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  1098. package/dist/unstable/sql/SqlSchema.js +17 -7
  1099. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1100. package/dist/unstable/sql/Statement.d.ts +3 -5
  1101. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1102. package/dist/unstable/sql/Statement.js +14 -13
  1103. package/dist/unstable/sql/Statement.js.map +1 -1
  1104. package/dist/unstable/workers/Transferable.d.ts +4 -4
  1105. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  1106. package/dist/unstable/workers/Transferable.js +7 -7
  1107. package/dist/unstable/workers/Transferable.js.map +1 -1
  1108. package/dist/unstable/workers/Worker.d.ts +3 -3
  1109. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  1110. package/dist/unstable/workers/Worker.js +6 -3
  1111. package/dist/unstable/workers/Worker.js.map +1 -1
  1112. package/dist/unstable/workers/WorkerError.d.ts +5 -5
  1113. package/dist/unstable/workers/WorkerRunner.d.ts +2 -2
  1114. package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
  1115. package/dist/unstable/workers/WorkerRunner.js +5 -2
  1116. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1117. package/dist/unstable/workflow/Activity.d.ts +8 -3
  1118. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  1119. package/dist/unstable/workflow/Activity.js +25 -11
  1120. package/dist/unstable/workflow/Activity.js.map +1 -1
  1121. package/dist/unstable/workflow/DurableClock.d.ts +3 -6
  1122. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  1123. package/dist/unstable/workflow/DurableClock.js +6 -6
  1124. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1125. package/dist/unstable/workflow/DurableDeferred.d.ts +2 -5
  1126. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  1127. package/dist/unstable/workflow/DurableDeferred.js +33 -15
  1128. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1129. package/dist/unstable/workflow/Workflow.d.ts +12 -14
  1130. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1131. package/dist/unstable/workflow/Workflow.js +30 -26
  1132. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1133. package/dist/unstable/workflow/WorkflowEngine.d.ts +24 -7
  1134. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  1135. package/dist/unstable/workflow/WorkflowEngine.js +165 -16
  1136. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1137. package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
  1138. package/dist/unstable/workflow/WorkflowProxyServer.js +4 -4
  1139. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1140. package/package.json +11 -10
  1141. package/src/Array.ts +304 -447
  1142. package/src/BigDecimal.ts +137 -82
  1143. package/src/BigInt.ts +53 -45
  1144. package/src/Brand.ts +3 -5
  1145. package/src/Cache.ts +27 -54
  1146. package/src/Cause.ts +57 -22
  1147. package/src/Channel.ts +687 -220
  1148. package/src/Chunk.ts +149 -331
  1149. package/src/Clock.ts +2 -2
  1150. package/src/Combiner.ts +280 -13
  1151. package/src/Config.ts +214 -52
  1152. package/src/ConfigProvider.ts +5 -5
  1153. package/src/Console.ts +2 -2
  1154. package/src/Context.ts +1454 -0
  1155. package/src/Cron.ts +155 -63
  1156. package/src/Data.ts +530 -368
  1157. package/src/DateTime.ts +77 -258
  1158. package/src/Deferred.ts +15 -6
  1159. package/src/Duration.ts +151 -81
  1160. package/src/Effect.ts +1633 -1055
  1161. package/src/Effectable.ts +47 -0
  1162. package/src/Equal.ts +293 -109
  1163. package/src/Equivalence.ts +114 -52
  1164. package/src/ErrorReporter.ts +458 -0
  1165. package/src/ExecutionPlan.ts +8 -9
  1166. package/src/Exit.ts +24 -12
  1167. package/src/Fiber.ts +17 -8
  1168. package/src/FiberHandle.ts +15 -14
  1169. package/src/FiberMap.ts +27 -27
  1170. package/src/FiberSet.ts +5 -5
  1171. package/src/FileSystem.ts +30 -26
  1172. package/src/Filter.ts +4 -62
  1173. package/src/Formatter.ts +268 -60
  1174. package/src/Function.ts +2 -10
  1175. package/src/Graph.ts +123 -112
  1176. package/src/Hash.ts +2 -2
  1177. package/src/HashMap.ts +26 -19
  1178. package/src/Inspectable.ts +2 -22
  1179. package/src/Iterable.ts +117 -63
  1180. package/src/JsonSchema.ts +383 -10
  1181. package/src/Latch.ts +85 -3
  1182. package/src/Layer.ts +728 -441
  1183. package/src/LayerMap.ts +38 -35
  1184. package/src/LogLevel.ts +37 -0
  1185. package/src/Logger.ts +35 -102
  1186. package/src/ManagedRuntime.ts +61 -48
  1187. package/src/Metric.ts +64 -66
  1188. package/src/MutableHashMap.ts +9 -0
  1189. package/src/MutableHashSet.ts +9 -0
  1190. package/src/MutableList.ts +3 -0
  1191. package/src/Newtype.ts +308 -0
  1192. package/src/Number.ts +98 -29
  1193. package/src/Optic.ts +948 -19
  1194. package/src/Option.ts +34 -24
  1195. package/src/Order.ts +39 -32
  1196. package/src/PartitionedSemaphore.ts +414 -0
  1197. package/src/Path.ts +2 -2
  1198. package/src/Pool.ts +9 -9
  1199. package/src/Predicate.ts +1 -1
  1200. package/src/PubSub.ts +20 -11
  1201. package/src/Pull.ts +1 -1
  1202. package/src/Queue.ts +11 -9
  1203. package/src/Random.ts +51 -14
  1204. package/src/RcMap.ts +19 -19
  1205. package/src/RcRef.ts +1 -1
  1206. package/src/Record.ts +94 -199
  1207. package/src/Redactable.ts +146 -72
  1208. package/src/Reducer.ts +166 -7
  1209. package/src/References.ts +283 -287
  1210. package/src/Request.ts +5 -5
  1211. package/src/RequestResolver.ts +34 -35
  1212. package/src/Resource.ts +6 -5
  1213. package/src/Result.ts +2 -4
  1214. package/src/Runtime.ts +102 -6
  1215. package/src/Schedule.ts +243 -336
  1216. package/src/Scheduler.ts +52 -129
  1217. package/src/Schema.ts +3769 -597
  1218. package/src/SchemaAST.ts +480 -302
  1219. package/src/SchemaGetter.ts +80 -24
  1220. package/src/SchemaIssue.ts +28 -15
  1221. package/src/SchemaParser.ts +100 -29
  1222. package/src/SchemaRepresentation.ts +57 -33
  1223. package/src/SchemaTransformation.ts +321 -32
  1224. package/src/Scope.ts +2 -2
  1225. package/src/ScopedCache.ts +8 -8
  1226. package/src/Semaphore.ts +268 -182
  1227. package/src/Sink.ts +89 -34
  1228. package/src/Stdio.ts +29 -6
  1229. package/src/Stream.ts +908 -752
  1230. package/src/String.ts +122 -69
  1231. package/src/Struct.ts +7 -7
  1232. package/src/SubscriptionRef.ts +98 -118
  1233. package/src/Terminal.ts +5 -4
  1234. package/src/Tracer.ts +23 -22
  1235. package/src/Trie.ts +44 -31
  1236. package/src/TxChunk.ts +26 -16
  1237. package/src/TxDeferred.ts +391 -0
  1238. package/src/TxHashMap.ts +347 -291
  1239. package/src/TxHashSet.ts +54 -61
  1240. package/src/TxPriorityQueue.ts +762 -0
  1241. package/src/TxPubSub.ts +787 -0
  1242. package/src/TxQueue.ts +221 -245
  1243. package/src/TxReentrantLock.ts +729 -0
  1244. package/src/TxRef.ts +31 -31
  1245. package/src/TxSemaphore.ts +203 -31
  1246. package/src/TxSubscriptionRef.ts +637 -0
  1247. package/src/Types.ts +75 -23
  1248. package/src/Unify.ts +26 -2
  1249. package/src/Utils.ts +137 -111
  1250. package/src/index.ts +896 -73
  1251. package/src/internal/core.ts +9 -10
  1252. package/src/internal/dateTime.ts +91 -96
  1253. package/src/internal/effect.ts +1179 -614
  1254. package/src/internal/hashMap.ts +12 -10
  1255. package/src/internal/layer.ts +7 -7
  1256. package/src/internal/option.ts +7 -0
  1257. package/src/internal/random.ts +20 -0
  1258. package/src/internal/rcRef.ts +12 -12
  1259. package/src/internal/references.ts +72 -0
  1260. package/src/internal/request.ts +8 -8
  1261. package/src/internal/schedule.ts +3 -1
  1262. package/src/internal/schema/annotations.ts +2 -0
  1263. package/src/internal/schema/representation.ts +82 -97
  1264. package/src/internal/schema/schema.ts +68 -1
  1265. package/src/internal/trie.ts +21 -15
  1266. package/src/testing/TestClock.ts +6 -6
  1267. package/src/testing/TestSchema.ts +333 -36
  1268. package/src/testing/index.ts +64 -1
  1269. package/src/unstable/ai/AiError.ts +111 -53
  1270. package/src/unstable/ai/AnthropicStructuredOutput.ts +7 -3
  1271. package/src/unstable/ai/Chat.ts +136 -88
  1272. package/src/unstable/ai/EmbeddingModel.ts +209 -0
  1273. package/src/unstable/ai/IdGenerator.ts +2 -2
  1274. package/src/unstable/ai/LanguageModel.ts +685 -255
  1275. package/src/unstable/ai/McpSchema.ts +84 -22
  1276. package/src/unstable/ai/McpServer.ts +307 -87
  1277. package/src/unstable/ai/Model.ts +44 -13
  1278. package/src/unstable/ai/OpenAiStructuredOutput.ts +9 -2
  1279. package/src/unstable/ai/Prompt.ts +23 -29
  1280. package/src/unstable/ai/Response.ts +29 -31
  1281. package/src/unstable/ai/ResponseIdTracker.ts +95 -0
  1282. package/src/unstable/ai/Telemetry.ts +2 -2
  1283. package/src/unstable/ai/Tokenizer.ts +2 -2
  1284. package/src/unstable/ai/Tool.ts +62 -36
  1285. package/src/unstable/ai/Toolkit.ts +17 -26
  1286. package/src/unstable/ai/index.ts +24 -1
  1287. package/src/unstable/ai/internal/codec-transformer.ts +3 -9
  1288. package/src/unstable/cli/Argument.ts +5 -8
  1289. package/src/unstable/cli/CliError.ts +67 -66
  1290. package/src/unstable/cli/CliOutput.ts +87 -15
  1291. package/src/unstable/cli/Command.ts +808 -193
  1292. package/src/unstable/cli/Completions.ts +107 -0
  1293. package/src/unstable/cli/Flag.ts +5 -6
  1294. package/src/unstable/cli/GlobalFlag.ts +242 -0
  1295. package/src/unstable/cli/HelpDoc.ts +91 -11
  1296. package/src/unstable/cli/Param.ts +54 -27
  1297. package/src/unstable/cli/Primitive.ts +2 -2
  1298. package/src/unstable/cli/Prompt.ts +275 -104
  1299. package/src/unstable/cli/index.ts +12 -0
  1300. package/src/unstable/cli/internal/command.ts +125 -64
  1301. package/src/unstable/cli/internal/completions/bash.ts +7 -7
  1302. package/src/unstable/cli/internal/completions/{CommandDescriptor.ts → descriptor.ts} +16 -58
  1303. package/src/unstable/cli/internal/completions/fish.ts +7 -7
  1304. package/src/unstable/cli/internal/completions/zsh.ts +8 -14
  1305. package/src/unstable/cli/internal/config.ts +49 -0
  1306. package/src/unstable/cli/internal/help.ts +171 -0
  1307. package/src/unstable/cli/internal/parser.ts +201 -84
  1308. package/src/unstable/cluster/ClusterCron.ts +2 -2
  1309. package/src/unstable/cluster/ClusterSchema.ts +38 -10
  1310. package/src/unstable/cluster/ClusterWorkflowEngine.ts +142 -80
  1311. package/src/unstable/cluster/DeliverAt.ts +1 -1
  1312. package/src/unstable/cluster/Entity.ts +58 -45
  1313. package/src/unstable/cluster/EntityAddress.ts +1 -1
  1314. package/src/unstable/cluster/EntityProxy.ts +3 -3
  1315. package/src/unstable/cluster/EntityProxyServer.ts +6 -6
  1316. package/src/unstable/cluster/EntityResource.ts +6 -6
  1317. package/src/unstable/cluster/HttpRunner.ts +2 -2
  1318. package/src/unstable/cluster/K8sHttpClient.ts +10 -10
  1319. package/src/unstable/cluster/Message.ts +30 -17
  1320. package/src/unstable/cluster/MessageStorage.ts +74 -45
  1321. package/src/unstable/cluster/Reply.ts +13 -10
  1322. package/src/unstable/cluster/Runner.ts +1 -1
  1323. package/src/unstable/cluster/RunnerAddress.ts +1 -1
  1324. package/src/unstable/cluster/RunnerHealth.ts +2 -2
  1325. package/src/unstable/cluster/RunnerServer.ts +11 -14
  1326. package/src/unstable/cluster/RunnerStorage.ts +9 -9
  1327. package/src/unstable/cluster/Runners.ts +22 -18
  1328. package/src/unstable/cluster/ShardId.ts +84 -74
  1329. package/src/unstable/cluster/Sharding.ts +75 -60
  1330. package/src/unstable/cluster/ShardingConfig.ts +39 -40
  1331. package/src/unstable/cluster/Snowflake.ts +2 -2
  1332. package/src/unstable/cluster/SqlMessageStorage.ts +29 -20
  1333. package/src/unstable/cluster/SqlRunnerStorage.ts +13 -7
  1334. package/src/unstable/cluster/internal/entityManager.ts +60 -41
  1335. package/src/unstable/cluster/internal/entityReaper.ts +2 -2
  1336. package/src/unstable/cluster/internal/resourceMap.ts +3 -3
  1337. package/src/unstable/devtools/DevToolsClient.ts +26 -21
  1338. package/src/unstable/devtools/DevToolsSchema.ts +16 -3
  1339. package/src/unstable/encoding/Ndjson.ts +17 -17
  1340. package/src/unstable/encoding/Sse.ts +3 -5
  1341. package/src/unstable/eventlog/Event.ts +0 -8
  1342. package/src/unstable/eventlog/EventGroup.ts +0 -4
  1343. package/src/unstable/eventlog/EventJournal.ts +148 -80
  1344. package/src/unstable/eventlog/EventLog.ts +360 -234
  1345. package/src/unstable/eventlog/EventLogEncryption.ts +18 -32
  1346. package/src/unstable/eventlog/EventLogMessage.ts +277 -0
  1347. package/src/unstable/eventlog/EventLogRemote.ts +264 -410
  1348. package/src/unstable/eventlog/EventLogServer.ts +183 -275
  1349. package/src/unstable/eventlog/EventLogServerEncrypted.ts +206 -0
  1350. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +749 -0
  1351. package/src/unstable/eventlog/EventLogSessionAuth.ts +437 -0
  1352. package/src/unstable/eventlog/{SqlEventLogJournal.ts → SqlEventJournal.ts} +38 -22
  1353. package/src/unstable/eventlog/{SqlEventLogServer.ts → SqlEventLogServerEncrypted.ts} +110 -43
  1354. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +506 -0
  1355. package/src/unstable/eventlog/index.ts +27 -2
  1356. package/src/unstable/eventlog/internal/identityRootSecretDerivation.ts +153 -0
  1357. package/src/unstable/http/Cookies.ts +94 -11
  1358. package/src/unstable/http/Etag.ts +7 -5
  1359. package/src/unstable/http/FetchHttpClient.ts +5 -5
  1360. package/src/unstable/http/Headers.ts +70 -20
  1361. package/src/unstable/http/HttpClient.ts +385 -42
  1362. package/src/unstable/http/HttpClientRequest.ts +151 -39
  1363. package/src/unstable/http/HttpClientResponse.ts +24 -8
  1364. package/src/unstable/http/HttpEffect.ts +71 -77
  1365. package/src/unstable/http/HttpIncomingMessage.ts +9 -8
  1366. package/src/unstable/http/HttpMethod.ts +16 -4
  1367. package/src/unstable/http/HttpMiddleware.ts +50 -50
  1368. package/src/unstable/http/HttpPlatform.ts +5 -4
  1369. package/src/unstable/http/HttpRouter.ts +46 -46
  1370. package/src/unstable/http/HttpServer.ts +5 -11
  1371. package/src/unstable/http/HttpServerError.ts +45 -47
  1372. package/src/unstable/http/HttpServerRequest.ts +414 -23
  1373. package/src/unstable/http/HttpServerRespondable.ts +6 -6
  1374. package/src/unstable/http/HttpServerResponse.ts +351 -13
  1375. package/src/unstable/http/HttpStaticServer.ts +456 -0
  1376. package/src/unstable/http/HttpTraceContext.ts +31 -17
  1377. package/src/unstable/http/Multipart.ts +8 -8
  1378. package/src/unstable/http/Url.ts +650 -0
  1379. package/src/unstable/http/UrlParams.ts +30 -18
  1380. package/src/unstable/http/index.ts +10 -0
  1381. package/src/unstable/http/internal/preResponseHandler.ts +15 -0
  1382. package/src/unstable/httpapi/HttpApi.ts +22 -22
  1383. package/src/unstable/httpapi/HttpApiBuilder.ts +156 -66
  1384. package/src/unstable/httpapi/HttpApiClient.ts +185 -34
  1385. package/src/unstable/httpapi/HttpApiEndpoint.ts +225 -114
  1386. package/src/unstable/httpapi/HttpApiError.ts +129 -30
  1387. package/src/unstable/httpapi/HttpApiGroup.ts +18 -17
  1388. package/src/unstable/httpapi/HttpApiMiddleware.ts +95 -32
  1389. package/src/unstable/httpapi/HttpApiSchema.ts +106 -11
  1390. package/src/unstable/httpapi/HttpApiSecurity.ts +13 -13
  1391. package/src/unstable/httpapi/OpenApi.ts +74 -73
  1392. package/src/unstable/observability/Otlp.ts +12 -12
  1393. package/src/unstable/observability/OtlpExporter.ts +14 -10
  1394. package/src/unstable/observability/OtlpLogger.ts +13 -9
  1395. package/src/unstable/observability/OtlpMetrics.ts +6 -6
  1396. package/src/unstable/observability/OtlpSerialization.ts +2 -2
  1397. package/src/unstable/observability/OtlpTracer.ts +14 -10
  1398. package/src/unstable/observability/PrometheusMetrics.ts +5 -5
  1399. package/src/unstable/observability/internal/protobuf.ts +4 -4
  1400. package/src/unstable/persistence/KeyValueStore.ts +226 -3
  1401. package/src/unstable/persistence/Persistable.ts +3 -3
  1402. package/src/unstable/persistence/PersistedCache.ts +20 -17
  1403. package/src/unstable/persistence/PersistedQueue.ts +21 -21
  1404. package/src/unstable/persistence/Persistence.ts +7 -7
  1405. package/src/unstable/persistence/RateLimiter.ts +7 -7
  1406. package/src/unstable/persistence/Redis.ts +2 -2
  1407. package/src/unstable/process/ChildProcess.ts +6 -208
  1408. package/src/unstable/process/ChildProcessSpawner.ts +114 -15
  1409. package/src/unstable/reactivity/AsyncResult.ts +59 -17
  1410. package/src/unstable/reactivity/Atom.ts +280 -124
  1411. package/src/unstable/reactivity/AtomHttpApi.ts +127 -61
  1412. package/src/unstable/reactivity/AtomRegistry.ts +70 -16
  1413. package/src/unstable/reactivity/AtomRpc.ts +82 -37
  1414. package/src/unstable/reactivity/Reactivity.ts +6 -6
  1415. package/src/unstable/rpc/Rpc.ts +212 -32
  1416. package/src/unstable/rpc/RpcClient.ts +161 -142
  1417. package/src/unstable/rpc/RpcGroup.ts +51 -34
  1418. package/src/unstable/rpc/RpcMiddleware.ts +28 -22
  1419. package/src/unstable/rpc/RpcSchema.ts +24 -6
  1420. package/src/unstable/rpc/RpcSerialization.ts +97 -54
  1421. package/src/unstable/rpc/RpcServer.ts +91 -65
  1422. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1423. package/src/unstable/rpc/Utils.ts +63 -4
  1424. package/src/unstable/schema/Model.ts +35 -6
  1425. package/src/unstable/schema/VariantSchema.ts +14 -27
  1426. package/src/unstable/socket/Socket.ts +102 -62
  1427. package/src/unstable/socket/SocketServer.ts +2 -2
  1428. package/src/unstable/sql/Migrator.ts +7 -5
  1429. package/src/unstable/sql/SqlClient.ts +48 -19
  1430. package/src/unstable/sql/SqlConnection.ts +2 -2
  1431. package/src/unstable/sql/SqlError.ts +365 -11
  1432. package/src/unstable/sql/SqlModel.ts +57 -85
  1433. package/src/unstable/sql/SqlResolver.ts +28 -20
  1434. package/src/unstable/sql/SqlSchema.ts +42 -26
  1435. package/src/unstable/sql/Statement.ts +21 -25
  1436. package/src/unstable/workers/Transferable.ts +17 -19
  1437. package/src/unstable/workers/Worker.ts +4 -4
  1438. package/src/unstable/workers/WorkerRunner.ts +2 -2
  1439. package/src/unstable/workflow/Activity.ts +36 -13
  1440. package/src/unstable/workflow/DurableClock.ts +11 -11
  1441. package/src/unstable/workflow/DurableDeferred.ts +36 -18
  1442. package/src/unstable/workflow/Workflow.ts +46 -35
  1443. package/src/unstable/workflow/WorkflowEngine.ts +236 -23
  1444. package/src/unstable/workflow/WorkflowProxyServer.ts +4 -4
  1445. package/dist/NullOr.d.ts +0 -149
  1446. package/dist/NullOr.d.ts.map +0 -1
  1447. package/dist/NullOr.js +0 -152
  1448. package/dist/NullOr.js.map +0 -1
  1449. package/dist/ServiceMap.d.ts +0 -1126
  1450. package/dist/ServiceMap.d.ts.map +0 -1
  1451. package/dist/ServiceMap.js.map +0 -1
  1452. package/dist/internal/schema/to-codec.d.ts +0 -2
  1453. package/dist/internal/schema/to-codec.d.ts.map +0 -1
  1454. package/dist/internal/schema/to-codec.js +0 -129
  1455. package/dist/internal/schema/to-codec.js.map +0 -1
  1456. package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
  1457. package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
  1458. package/dist/unstable/cli/internal/builtInFlags.js +0 -44
  1459. package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
  1460. package/dist/unstable/cli/internal/completions/CommandDescriptor.d.ts +0 -2
  1461. package/dist/unstable/cli/internal/completions/CommandDescriptor.d.ts.map +0 -1
  1462. package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +0 -1
  1463. package/dist/unstable/cli/internal/completions/Completions.d.ts +0 -2
  1464. package/dist/unstable/cli/internal/completions/Completions.d.ts.map +0 -1
  1465. package/dist/unstable/cli/internal/completions/Completions.js +0 -23
  1466. package/dist/unstable/cli/internal/completions/Completions.js.map +0 -1
  1467. package/dist/unstable/eventlog/SqlEventLogJournal.d.ts.map +0 -1
  1468. package/dist/unstable/eventlog/SqlEventLogJournal.js.map +0 -1
  1469. package/dist/unstable/eventlog/SqlEventLogServer.d.ts.map +0 -1
  1470. package/dist/unstable/eventlog/SqlEventLogServer.js.map +0 -1
  1471. package/src/NullOr.ts +0 -204
  1472. package/src/ServiceMap.ts +0 -1410
  1473. package/src/internal/schema/to-codec.ts +0 -148
  1474. package/src/unstable/cli/internal/builtInFlags.ts +0 -78
  1475. package/src/unstable/cli/internal/completions/Completions.ts +0 -31
package/src/Schedule.ts CHANGED
@@ -12,7 +12,7 @@
12
12
  *
13
13
  * // Retry with exponential backoff
14
14
  * const retryPolicy = Schedule.exponential("100 millis", 2.0)
15
- * .pipe(Schedule.compose(Schedule.recurs(3)))
15
+ * .pipe(Schedule.both(Schedule.recurs(3)))
16
16
  *
17
17
  * const program = Effect.gen(function*() {
18
18
  * // This will retry up to 3 times with exponential backoff
@@ -30,6 +30,7 @@
30
30
  * @since 2.0.0
31
31
  */
32
32
  import * as Cause from "./Cause.ts"
33
+ import * as Context from "./Context.ts"
33
34
  import * as Cron from "./Cron.ts"
34
35
  import type * as DateTime from "./DateTime.ts"
35
36
  import * as Duration from "./Duration.ts"
@@ -38,15 +39,17 @@ import type { LazyArg } from "./Function.ts"
38
39
  import { constant, dual, identity } from "./Function.ts"
39
40
  import { isEffect } from "./internal/core.ts"
40
41
  import * as effect from "./internal/effect.ts"
42
+ import * as random from "./internal/random.ts"
41
43
  import { type Pipeable, pipeArguments } from "./Pipeable.ts"
42
44
  import { hasProperty } from "./Predicate.ts"
43
45
  import * as Pull from "./Pull.ts"
44
46
  import * as Result from "./Result.ts"
45
- import * as ServiceMap from "./ServiceMap.ts"
46
47
  import type { Contravariant, Covariant, Mutable } from "./Types.ts"
47
48
 
48
49
  const TypeId = "~effect/Schedule"
49
50
 
51
+ const randomNext: Effect<number> = random.Random.useSync((random) => random.nextDoubleUnsafe())
52
+
50
53
  /**
51
54
  * A Schedule defines a strategy for repeating or retrying effects based on some policy.
52
55
  *
@@ -56,7 +59,7 @@ const TypeId = "~effect/Schedule"
56
59
  *
57
60
  * // Basic retry schedule - retry up to 3 times with exponential backoff
58
61
  * const retrySchedule = Schedule.exponential("100 millis").pipe(
59
- * Schedule.compose(Schedule.recurs(3))
62
+ * Schedule.both(Schedule.recurs(3))
60
63
  * )
61
64
  *
62
65
  * // Basic repeat schedule - repeat every 30 seconds forever
@@ -69,7 +72,7 @@ const TypeId = "~effect/Schedule"
69
72
  * const program = Effect.gen(function*() {
70
73
  * // Using retry schedule
71
74
  * const result1 = yield* Effect.retry(
72
- * Effect.fail("temporary error"),
75
+ * Effect.suspend(() => Math.random() > 0.5 ? Effect.fail("temporary error") : Effect.succeed("Success")),
73
76
  * retrySchedule
74
77
  * )
75
78
  *
@@ -163,7 +166,7 @@ export interface Metadata<Output = unknown, Input = unknown> extends InputMetada
163
166
  * @since 4.0.0
164
167
  * @category Metadata
165
168
  */
166
- export const CurrentMetadata = ServiceMap.Reference<Metadata>("effect/Schedule/CurrentMetadata", {
169
+ export const CurrentMetadata = Context.Reference<Metadata>("effect/Schedule/CurrentMetadata", {
167
170
  defaultValue: constant({
168
171
  input: undefined,
169
172
  output: undefined,
@@ -197,7 +200,7 @@ export const CurrentMetadata = ServiceMap.Reference<Metadata>("effect/Schedule/C
197
200
  * Effect.gen(function*() {
198
201
  * attempt++
199
202
  * if (attempt < 3) {
200
- * yield* Effect.fail(`Attempt ${attempt} failed`)
203
+ * return yield* Effect.fail(`Attempt ${attempt} failed`)
201
204
  * }
202
205
  * return `Success on attempt ${attempt}`
203
206
  * }),
@@ -333,7 +336,7 @@ export const isSchedule = (u: unknown): u is Schedule<unknown, never, unknown, u
333
336
  *
334
337
  * // These can be combined and transformed as needed
335
338
  * const complexSchedule = simpleSchedule.pipe(
336
- * Schedule.compose(Schedule.recurs(3))
339
+ * Schedule.both(Schedule.recurs(3))
337
340
  * )
338
341
  * ```
339
342
  *
@@ -520,7 +523,9 @@ export const toStepWithSleep = <Output, Input, Error, Env>(
520
523
  *
521
524
  * @example
522
525
  * ```ts
523
- * import { Console, Duration, Effect, Schedule } from "effect"
526
+ * import { Console, Data, Duration, Effect, Schedule } from "effect"
527
+ *
528
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
524
529
  *
525
530
  * // Add random jitter to schedule delays
526
531
  * const jitteredSchedule = Schedule.addDelay(
@@ -616,7 +621,7 @@ export const toStepWithSleep = <Output, Input, Error, Env>(
616
621
  * Effect.gen(function*() {
617
622
  * attempt++
618
623
  * if (attempt < 5) {
619
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
624
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
620
625
  * }
621
626
  * return `Success on attempt ${attempt}`
622
627
  * }),
@@ -637,7 +642,9 @@ export const addDelay: {
637
642
  *
638
643
  * @example
639
644
  * ```ts
640
- * import { Console, Duration, Effect, Schedule } from "effect"
645
+ * import { Console, Data, Duration, Effect, Schedule } from "effect"
646
+ *
647
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
641
648
  *
642
649
  * // Add random jitter to schedule delays
643
650
  * const jitteredSchedule = Schedule.addDelay(
@@ -733,7 +740,7 @@ export const addDelay: {
733
740
  * Effect.gen(function*() {
734
741
  * attempt++
735
742
  * if (attempt < 5) {
736
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
743
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
737
744
  * }
738
745
  * return `Success on attempt ${attempt}`
739
746
  * }),
@@ -747,7 +754,7 @@ export const addDelay: {
747
754
  * @since 2.0.0
748
755
  * @category utils
749
756
  */
750
- <Output, Error2 = never, Env2 = never>(f: (output: Output) => Effect<Duration.DurationInput, Error2, Env2>): <Input, Error, Env>(
757
+ <Output, Error2 = never, Env2 = never>(f: (output: Output) => Effect<Duration.Input, Error2, Env2>): <Input, Error, Env>(
751
758
  self: Schedule<Output, Input, Error, Env>
752
759
  ) => Schedule<Output, Input, Error | Error2, Env | Env2>
753
760
  /**
@@ -756,7 +763,9 @@ export const addDelay: {
756
763
  *
757
764
  * @example
758
765
  * ```ts
759
- * import { Console, Duration, Effect, Schedule } from "effect"
766
+ * import { Console, Data, Duration, Effect, Schedule } from "effect"
767
+ *
768
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
760
769
  *
761
770
  * // Add random jitter to schedule delays
762
771
  * const jitteredSchedule = Schedule.addDelay(
@@ -852,7 +861,7 @@ export const addDelay: {
852
861
  * Effect.gen(function*() {
853
862
  * attempt++
854
863
  * if (attempt < 5) {
855
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
864
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
856
865
  * }
857
866
  * return `Success on attempt ${attempt}`
858
867
  * }),
@@ -868,17 +877,16 @@ export const addDelay: {
868
877
  */
869
878
  <Output, Input, Error, Env, Error2 = never, Env2 = never>(
870
879
  self: Schedule<Output, Input, Error, Env>,
871
- f: (output: Output) => Effect<Duration.DurationInput, Error2, Env2>
880
+ f: (output: Output) => Effect<Duration.Input, Error2, Env2>
872
881
  ): Schedule<Output, Input, Error | Error2, Env | Env2>
873
882
  } = dual(2, <Output, Input, Error, Env, Error2 = never, Env2 = never>(
874
883
  self: Schedule<Output, Input, Error, Env>,
875
- f: (output: Output) => Effect<Duration.DurationInput, Error2, Env2>
884
+ f: (output: Output) => Effect<Duration.Input, Error2, Env2>
876
885
  ): Schedule<Output, Input, Error | Error2, Env | Env2> =>
877
886
  modifyDelay(
878
887
  self,
879
888
  (output, delay) =>
880
- effect.map(f(output), (d) =>
881
- Duration.sum(Duration.fromDurationInputUnsafe(d), Duration.fromDurationInputUnsafe(delay)))
889
+ effect.map(f(output), (d) => Duration.sum(Duration.fromInputUnsafe(d), Duration.fromInputUnsafe(delay)))
882
890
  ))
883
891
 
884
892
  /**
@@ -888,7 +896,9 @@ export const addDelay: {
888
896
  *
889
897
  * @example
890
898
  * ```ts
891
- * import { Console, Effect, Schedule } from "effect"
899
+ * import { Console, Data, Effect, Schedule } from "effect"
900
+ *
901
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
892
902
  *
893
903
  * // First retry 3 times quickly, then switch to slower retries
894
904
  * const quickRetries = Schedule.exponential("100 millis").pipe(
@@ -907,7 +917,7 @@ export const addDelay: {
907
917
  * attempt++
908
918
  * yield* Console.log(`Attempt ${attempt}`)
909
919
  * if (attempt < 6) {
910
- * yield* Effect.fail(new Error(`Failure ${attempt}`))
920
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Failure ${attempt}` }))
911
921
  * }
912
922
  * return `Success on attempt ${attempt}`
913
923
  * }),
@@ -927,7 +937,9 @@ export const andThen: {
927
937
  *
928
938
  * @example
929
939
  * ```ts
930
- * import { Console, Effect, Schedule } from "effect"
940
+ * import { Console, Data, Effect, Schedule } from "effect"
941
+ *
942
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
931
943
  *
932
944
  * // First retry 3 times quickly, then switch to slower retries
933
945
  * const quickRetries = Schedule.exponential("100 millis").pipe(
@@ -946,7 +958,7 @@ export const andThen: {
946
958
  * attempt++
947
959
  * yield* Console.log(`Attempt ${attempt}`)
948
960
  * if (attempt < 6) {
949
- * yield* Effect.fail(new Error(`Failure ${attempt}`))
961
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Failure ${attempt}` }))
950
962
  * }
951
963
  * return `Success on attempt ${attempt}`
952
964
  * }),
@@ -968,7 +980,9 @@ export const andThen: {
968
980
  *
969
981
  * @example
970
982
  * ```ts
971
- * import { Console, Effect, Schedule } from "effect"
983
+ * import { Console, Data, Effect, Schedule } from "effect"
984
+ *
985
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
972
986
  *
973
987
  * // First retry 3 times quickly, then switch to slower retries
974
988
  * const quickRetries = Schedule.exponential("100 millis").pipe(
@@ -987,7 +1001,7 @@ export const andThen: {
987
1001
  * attempt++
988
1002
  * yield* Console.log(`Attempt ${attempt}`)
989
1003
  * if (attempt < 6) {
990
- * yield* Effect.fail(new Error(`Failure ${attempt}`))
1004
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Failure ${attempt}` }))
991
1005
  * }
992
1006
  * return `Success on attempt ${attempt}`
993
1007
  * }),
@@ -1353,7 +1367,9 @@ export const andThenResult: {
1353
1367
  *
1354
1368
  * @example
1355
1369
  * ```ts
1356
- * import { Console, Effect, Schedule } from "effect"
1370
+ * import { Console, Data, Effect, Schedule } from "effect"
1371
+ *
1372
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
1357
1373
  *
1358
1374
  * // Both schedules must want to continue for the combined schedule to continue
1359
1375
  * const timeLimit = Schedule.spaced("1 second").pipe(Schedule.take(5)) // max 5 times
@@ -1395,7 +1411,7 @@ export const andThenResult: {
1395
1411
  * yield* Console.log(`Retry attempt ${attempt}`)
1396
1412
  *
1397
1413
  * if (attempt < 3) {
1398
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
1414
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
1399
1415
  * }
1400
1416
  *
1401
1417
  * return `Success on attempt ${attempt}`
@@ -1421,7 +1437,9 @@ export const both: {
1421
1437
  *
1422
1438
  * @example
1423
1439
  * ```ts
1424
- * import { Console, Effect, Schedule } from "effect"
1440
+ * import { Console, Data, Effect, Schedule } from "effect"
1441
+ *
1442
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
1425
1443
  *
1426
1444
  * // Both schedules must want to continue for the combined schedule to continue
1427
1445
  * const timeLimit = Schedule.spaced("1 second").pipe(Schedule.take(5)) // max 5 times
@@ -1463,7 +1481,7 @@ export const both: {
1463
1481
  * yield* Console.log(`Retry attempt ${attempt}`)
1464
1482
  *
1465
1483
  * if (attempt < 3) {
1466
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
1484
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
1467
1485
  * }
1468
1486
  *
1469
1487
  * return `Success on attempt ${attempt}`
@@ -1491,7 +1509,9 @@ export const both: {
1491
1509
  *
1492
1510
  * @example
1493
1511
  * ```ts
1494
- * import { Console, Effect, Schedule } from "effect"
1512
+ * import { Console, Data, Effect, Schedule } from "effect"
1513
+ *
1514
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
1495
1515
  *
1496
1516
  * // Both schedules must want to continue for the combined schedule to continue
1497
1517
  * const timeLimit = Schedule.spaced("1 second").pipe(Schedule.take(5)) // max 5 times
@@ -1533,7 +1553,7 @@ export const both: {
1533
1553
  * yield* Console.log(`Retry attempt ${attempt}`)
1534
1554
  *
1535
1555
  * if (attempt < 3) {
1536
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
1556
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
1537
1557
  * }
1538
1558
  *
1539
1559
  * return `Success on attempt ${attempt}`
@@ -1933,205 +1953,6 @@ export const bothWith: {
1933
1953
  })
1934
1954
  )))
1935
1955
 
1936
- /**
1937
- * Returns a new `Schedule` that combines two schedules by running them
1938
- * sequentially. First the current schedule runs to completion, then the
1939
- * other schedule runs to completion. The output is a tuple of both results.
1940
- *
1941
- * @example
1942
- * ```ts
1943
- * import { Console, Effect, Schedule } from "effect"
1944
- *
1945
- * // Compose a quick retry phase followed by slower retry phase
1946
- * const fastRetries = Schedule.exponential("100 millis").pipe(
1947
- * Schedule.compose(Schedule.recurs(3)) // 3 fast retries
1948
- * )
1949
- *
1950
- * const slowRetries = Schedule.exponential("2 seconds").pipe(
1951
- * Schedule.compose(Schedule.recurs(2)) // 2 slow retries
1952
- * )
1953
- *
1954
- * // Sequential composition: fast retries first, then slow retries
1955
- * const composedRetry = Schedule.compose(fastRetries, slowRetries)
1956
- * // Outputs: [number_from_fast_phase, number_from_slow_phase]
1957
- *
1958
- * const program = Effect.gen(function*() {
1959
- * let attempt = 0
1960
- *
1961
- * const result = yield* Effect.retry(
1962
- * Effect.gen(function*() {
1963
- * attempt++
1964
- * yield* Console.log(`Attempt ${attempt}`)
1965
- *
1966
- * if (attempt < 7) { // Needs both phases to succeed
1967
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
1968
- * }
1969
- *
1970
- * return `Success on attempt ${attempt}`
1971
- * }),
1972
- * composedRetry.pipe(
1973
- * Schedule.tapOutput(([fastResult, slowResult]) =>
1974
- * Console.log(`Fast phase: ${fastResult}, Slow phase: ${slowResult}`)
1975
- * )
1976
- * )
1977
- * )
1978
- *
1979
- * yield* Console.log(`Final result: ${result}`)
1980
- * })
1981
- *
1982
- * // Compose different schedule types
1983
- * const warmupAndMaintenance = Schedule.compose(
1984
- * Schedule.fixed("500 millis").pipe(Schedule.take(5)), // 5 warmup cycles
1985
- * Schedule.spaced("5 seconds") // then regular maintenance
1986
- * )
1987
- *
1988
- * // Progressive backoff: fixed first, then exponential
1989
- * const progressiveBackoff = Schedule.compose(
1990
- * Schedule.fixed("100 millis").pipe(Schedule.take(3)), // Fixed: 100ms, 100ms, 100ms
1991
- * Schedule.exponential("500 millis").pipe(Schedule.take(3)) // Then exponential: 500ms, 1s, 2s
1992
- * )
1993
- * ```
1994
- *
1995
- * @since 2.0.0
1996
- * @category sequencing
1997
- */
1998
- export const compose: {
1999
- /**
2000
- * Returns a new `Schedule` that combines two schedules by running them
2001
- * sequentially. First the current schedule runs to completion, then the
2002
- * other schedule runs to completion. The output is a tuple of both results.
2003
- *
2004
- * @example
2005
- * ```ts
2006
- * import { Console, Effect, Schedule } from "effect"
2007
- *
2008
- * // Compose a quick retry phase followed by slower retry phase
2009
- * const fastRetries = Schedule.exponential("100 millis").pipe(
2010
- * Schedule.compose(Schedule.recurs(3)) // 3 fast retries
2011
- * )
2012
- *
2013
- * const slowRetries = Schedule.exponential("2 seconds").pipe(
2014
- * Schedule.compose(Schedule.recurs(2)) // 2 slow retries
2015
- * )
2016
- *
2017
- * // Sequential composition: fast retries first, then slow retries
2018
- * const composedRetry = Schedule.compose(fastRetries, slowRetries)
2019
- * // Outputs: [number_from_fast_phase, number_from_slow_phase]
2020
- *
2021
- * const program = Effect.gen(function*() {
2022
- * let attempt = 0
2023
- *
2024
- * const result = yield* Effect.retry(
2025
- * Effect.gen(function*() {
2026
- * attempt++
2027
- * yield* Console.log(`Attempt ${attempt}`)
2028
- *
2029
- * if (attempt < 7) { // Needs both phases to succeed
2030
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
2031
- * }
2032
- *
2033
- * return `Success on attempt ${attempt}`
2034
- * }),
2035
- * composedRetry.pipe(
2036
- * Schedule.tapOutput(([fastResult, slowResult]) =>
2037
- * Console.log(`Fast phase: ${fastResult}, Slow phase: ${slowResult}`)
2038
- * )
2039
- * )
2040
- * )
2041
- *
2042
- * yield* Console.log(`Final result: ${result}`)
2043
- * })
2044
- *
2045
- * // Compose different schedule types
2046
- * const warmupAndMaintenance = Schedule.compose(
2047
- * Schedule.fixed("500 millis").pipe(Schedule.take(5)), // 5 warmup cycles
2048
- * Schedule.spaced("5 seconds") // then regular maintenance
2049
- * )
2050
- *
2051
- * // Progressive backoff: fixed first, then exponential
2052
- * const progressiveBackoff = Schedule.compose(
2053
- * Schedule.fixed("100 millis").pipe(Schedule.take(3)), // Fixed: 100ms, 100ms, 100ms
2054
- * Schedule.exponential("500 millis").pipe(Schedule.take(3)) // Then exponential: 500ms, 1s, 2s
2055
- * )
2056
- * ```
2057
- *
2058
- * @since 2.0.0
2059
- * @category sequencing
2060
- */
2061
- <Output2, Input2, Error2, Env2>(other: Schedule<Output2, Input2, Error2, Env2>): <Output, Input, Error, Env>(
2062
- self: Schedule<Output, Input, Error, Env>
2063
- ) => Schedule<[Output, Output2], Input & Input2, Error | Error2, Env | Env2>
2064
- /**
2065
- * Returns a new `Schedule` that combines two schedules by running them
2066
- * sequentially. First the current schedule runs to completion, then the
2067
- * other schedule runs to completion. The output is a tuple of both results.
2068
- *
2069
- * @example
2070
- * ```ts
2071
- * import { Console, Effect, Schedule } from "effect"
2072
- *
2073
- * // Compose a quick retry phase followed by slower retry phase
2074
- * const fastRetries = Schedule.exponential("100 millis").pipe(
2075
- * Schedule.compose(Schedule.recurs(3)) // 3 fast retries
2076
- * )
2077
- *
2078
- * const slowRetries = Schedule.exponential("2 seconds").pipe(
2079
- * Schedule.compose(Schedule.recurs(2)) // 2 slow retries
2080
- * )
2081
- *
2082
- * // Sequential composition: fast retries first, then slow retries
2083
- * const composedRetry = Schedule.compose(fastRetries, slowRetries)
2084
- * // Outputs: [number_from_fast_phase, number_from_slow_phase]
2085
- *
2086
- * const program = Effect.gen(function*() {
2087
- * let attempt = 0
2088
- *
2089
- * const result = yield* Effect.retry(
2090
- * Effect.gen(function*() {
2091
- * attempt++
2092
- * yield* Console.log(`Attempt ${attempt}`)
2093
- *
2094
- * if (attempt < 7) { // Needs both phases to succeed
2095
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
2096
- * }
2097
- *
2098
- * return `Success on attempt ${attempt}`
2099
- * }),
2100
- * composedRetry.pipe(
2101
- * Schedule.tapOutput(([fastResult, slowResult]) =>
2102
- * Console.log(`Fast phase: ${fastResult}, Slow phase: ${slowResult}`)
2103
- * )
2104
- * )
2105
- * )
2106
- *
2107
- * yield* Console.log(`Final result: ${result}`)
2108
- * })
2109
- *
2110
- * // Compose different schedule types
2111
- * const warmupAndMaintenance = Schedule.compose(
2112
- * Schedule.fixed("500 millis").pipe(Schedule.take(5)), // 5 warmup cycles
2113
- * Schedule.spaced("5 seconds") // then regular maintenance
2114
- * )
2115
- *
2116
- * // Progressive backoff: fixed first, then exponential
2117
- * const progressiveBackoff = Schedule.compose(
2118
- * Schedule.fixed("100 millis").pipe(Schedule.take(3)), // Fixed: 100ms, 100ms, 100ms
2119
- * Schedule.exponential("500 millis").pipe(Schedule.take(3)) // Then exponential: 500ms, 1s, 2s
2120
- * )
2121
- * ```
2122
- *
2123
- * @since 2.0.0
2124
- * @category sequencing
2125
- */
2126
- <Output, Input, Error, Env, Output2, Input2, Error2, Env2>(
2127
- self: Schedule<Output, Input, Error, Env>,
2128
- other: Schedule<Output2, Input2, Error2, Env2>
2129
- ): Schedule<[Output, Output2], Input & Input2, Error | Error2, Env | Env2>
2130
- } = dual(2, <Output, Input, Error, Env, Output2, Input2, Error2, Env2>(
2131
- self: Schedule<Output, Input, Error, Env>,
2132
- other: Schedule<Output2, Input2, Error2, Env2>
2133
- ): Schedule<[Output, Output2], Input & Input2, Error | Error2, Env | Env2> => both(self, other))
2134
-
2135
1956
  /**
2136
1957
  * Returns a new `Schedule` that always recurs, collecting all inputs of the
2137
1958
  * schedule into an array.
@@ -2408,7 +2229,7 @@ export const collectWhile: {
2408
2229
  <Input, Output, Error2 = never, Env2 = never>(
2409
2230
  predicate: (
2410
2231
  metadata: Metadata<Output, Input>
2411
- ) => Effect<boolean, Error2, Env2>
2232
+ ) => boolean | Effect<boolean, Error2, Env2>
2412
2233
  ): <Error, Env>(
2413
2234
  self: Schedule<Output, Input, Error, Env>
2414
2235
  ) => Schedule<Array<Output>, Input, Error | Error2, Env | Env2>
@@ -2520,19 +2341,18 @@ export const collectWhile: {
2520
2341
  self: Schedule<Output, Input, Error, Env>,
2521
2342
  predicate: (
2522
2343
  metadata: Metadata<Output, Input>
2523
- ) => Effect<boolean, Error2, Env2>
2344
+ ) => boolean | Effect<boolean, Error2, Env2>
2524
2345
  ): Schedule<Array<Output>, Input, Error | Error2, Env | Env2>
2525
2346
  } = dual(2, <Output, Input, Error, Env, Error2 = never, Env2 = never>(
2526
2347
  self: Schedule<Output, Input, Error, Env>,
2527
2348
  predicate: (
2528
2349
  metadata: Metadata<Output, Input>
2529
- ) => Effect<boolean, Error2, Env2>
2350
+ ) => boolean | Effect<boolean, Error2, Env2>
2530
2351
  ): Schedule<Array<Output>, Input, Error | Error2, Env | Env2> =>
2531
- reduce(while_(self, predicate), () => [] as Array<Output>, (outputs, output) =>
2532
- effect.succeed((() => {
2533
- outputs.push(output)
2534
- return outputs
2535
- })())))
2352
+ reduce(while_(self, predicate), () => [] as Array<Output>, (outputs, output) => {
2353
+ outputs.push(output)
2354
+ return outputs
2355
+ }))
2536
2356
 
2537
2357
  /**
2538
2358
  * Returns a new `Schedule` that recurs on the specified `Cron` schedule and
@@ -2540,7 +2360,9 @@ export const collectWhile: {
2540
2360
  *
2541
2361
  * @example
2542
2362
  * ```ts
2543
- * import { Console, Effect, Schedule } from "effect"
2363
+ * import { Console, Data, Effect, Schedule } from "effect"
2364
+ *
2365
+ * class ScheduledTaskError extends Data.TaggedError("ScheduledTaskError")<{ readonly message: string }> {}
2544
2366
  *
2545
2367
  * // Run every minute
2546
2368
  * const everyMinute = Schedule.cron("* * * * *")
@@ -2641,7 +2463,7 @@ export const collectWhile: {
2641
2463
  * yield* Console.log("Complex scheduled task...")
2642
2464
  * // Simulate occasional failures
2643
2465
  * if (Math.random() < 0.3) {
2644
- * yield* Effect.fail(new Error("Scheduled task failed"))
2466
+ * return yield* Effect.fail(new ScheduledTaskError({ message: "Scheduled task failed" }))
2645
2467
  * }
2646
2468
  * return "success"
2647
2469
  * }),
@@ -2664,7 +2486,9 @@ export const cron: {
2664
2486
  *
2665
2487
  * @example
2666
2488
  * ```ts
2667
- * import { Console, Effect, Schedule } from "effect"
2489
+ * import { Console, Data, Effect, Schedule } from "effect"
2490
+ *
2491
+ * class ScheduledTaskError extends Data.TaggedError("ScheduledTaskError")<{ readonly message: string }> {}
2668
2492
  *
2669
2493
  * // Run every minute
2670
2494
  * const everyMinute = Schedule.cron("* * * * *")
@@ -2765,7 +2589,7 @@ export const cron: {
2765
2589
  * yield* Console.log("Complex scheduled task...")
2766
2590
  * // Simulate occasional failures
2767
2591
  * if (Math.random() < 0.3) {
2768
- * yield* Effect.fail(new Error("Scheduled task failed"))
2592
+ * return yield* Effect.fail(new ScheduledTaskError({ message: "Scheduled task failed" }))
2769
2593
  * }
2770
2594
  * return "success"
2771
2595
  * }),
@@ -2788,7 +2612,9 @@ export const cron: {
2788
2612
  *
2789
2613
  * @example
2790
2614
  * ```ts
2791
- * import { Console, Effect, Schedule } from "effect"
2615
+ * import { Console, Data, Effect, Schedule } from "effect"
2616
+ *
2617
+ * class ScheduledTaskError extends Data.TaggedError("ScheduledTaskError")<{ readonly message: string }> {}
2792
2618
  *
2793
2619
  * // Run every minute
2794
2620
  * const everyMinute = Schedule.cron("* * * * *")
@@ -2889,7 +2715,7 @@ export const cron: {
2889
2715
  * yield* Console.log("Complex scheduled task...")
2890
2716
  * // Simulate occasional failures
2891
2717
  * if (Math.random() < 0.3) {
2892
- * yield* Effect.fail(new Error("Scheduled task failed"))
2718
+ * return yield* Effect.fail(new ScheduledTaskError({ message: "Scheduled task failed" }))
2893
2719
  * }
2894
2720
  * return "success"
2895
2721
  * }),
@@ -3020,8 +2846,8 @@ export const delays = <Out, In, E, R>(self: Schedule<Out, In, E, R>): Schedule<D
3020
2846
  * @since 2.0.0
3021
2847
  * @category constructors
3022
2848
  */
3023
- export const duration = (durationInput: Duration.DurationInput): Schedule<Duration.Duration> => {
3024
- const duration = Duration.fromDurationInputUnsafe(durationInput)
2849
+ export const duration = (durationInput: Duration.Input): Schedule<Duration.Duration> => {
2850
+ const duration = Duration.fromInputUnsafe(durationInput)
3025
2851
  return fromStepWithMetadata(effect.succeed((meta) =>
3026
2852
  meta.attempt === 1
3027
2853
  ? effect.succeed([duration, duration])
@@ -3035,7 +2861,9 @@ export const duration = (durationInput: Duration.DurationInput): Schedule<Durati
3035
2861
  *
3036
2862
  * @example
3037
2863
  * ```ts
3038
- * import { Console, Effect, Schedule } from "effect"
2864
+ * import { Console, Data, Effect, Schedule } from "effect"
2865
+ *
2866
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
3039
2867
  *
3040
2868
  * // Run a task for exactly 5 seconds, regardless of how many iterations
3041
2869
  * const fiveSecondSchedule = Schedule.during("5 seconds")
@@ -3097,7 +2925,7 @@ export const duration = (durationInput: Duration.DurationInput): Schedule<Durati
3097
2925
  * yield* Console.log(`Retry attempt ${attempt}`)
3098
2926
  *
3099
2927
  * if (Math.random() < 0.8) { // 80% failure rate
3100
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
2928
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
3101
2929
  * }
3102
2930
  *
3103
2931
  * return `Success on attempt ${attempt}`
@@ -3114,10 +2942,10 @@ export const duration = (durationInput: Duration.DurationInput): Schedule<Durati
3114
2942
  * @since 4.0.0
3115
2943
  * @category constructors
3116
2944
  */
3117
- export const during = (duration: Duration.DurationInput): Schedule<Duration.Duration> =>
2945
+ export const during = (duration: Duration.Input): Schedule<Duration.Duration> =>
3118
2946
  while_(
3119
2947
  elapsed,
3120
- ({ output }) => effect.succeed(Duration.isLessThanOrEqualTo(output, Duration.fromDurationInputUnsafe(duration)))
2948
+ ({ output }) => effect.succeed(Duration.isLessThanOrEqualTo(output, Duration.fromInputUnsafe(duration)))
3121
2949
  )
3122
2950
 
3123
2951
  /**
@@ -3127,7 +2955,9 @@ export const during = (duration: Duration.DurationInput): Schedule<Duration.Dura
3127
2955
  *
3128
2956
  * @example
3129
2957
  * ```ts
3130
- * import { Console, Effect, Schedule } from "effect"
2958
+ * import { Console, Data, Effect, Schedule } from "effect"
2959
+ *
2960
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
3131
2961
  *
3132
2962
  * // Either continues as long as at least one schedule wants to continue
3133
2963
  * const timeBasedSchedule = Schedule.spaced("2 seconds").pipe(Schedule.take(3))
@@ -3171,7 +3001,7 @@ export const during = (duration: Duration.DurationInput): Schedule<Duration.Dura
3171
3001
  * yield* Console.log(`Retry attempt ${attempt}`)
3172
3002
  *
3173
3003
  * if (attempt < 6) {
3174
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
3004
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
3175
3005
  * }
3176
3006
  *
3177
3007
  * return `Success on attempt ${attempt}`
@@ -3197,7 +3027,9 @@ export const either: {
3197
3027
  *
3198
3028
  * @example
3199
3029
  * ```ts
3200
- * import { Console, Effect, Schedule } from "effect"
3030
+ * import { Console, Data, Effect, Schedule } from "effect"
3031
+ *
3032
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
3201
3033
  *
3202
3034
  * // Either continues as long as at least one schedule wants to continue
3203
3035
  * const timeBasedSchedule = Schedule.spaced("2 seconds").pipe(Schedule.take(3))
@@ -3241,7 +3073,7 @@ export const either: {
3241
3073
  * yield* Console.log(`Retry attempt ${attempt}`)
3242
3074
  *
3243
3075
  * if (attempt < 6) {
3244
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
3076
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
3245
3077
  * }
3246
3078
  *
3247
3079
  * return `Success on attempt ${attempt}`
@@ -3269,7 +3101,9 @@ export const either: {
3269
3101
  *
3270
3102
  * @example
3271
3103
  * ```ts
3272
- * import { Console, Effect, Schedule } from "effect"
3104
+ * import { Console, Data, Effect, Schedule } from "effect"
3105
+ *
3106
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
3273
3107
  *
3274
3108
  * // Either continues as long as at least one schedule wants to continue
3275
3109
  * const timeBasedSchedule = Schedule.spaced("2 seconds").pipe(Schedule.take(3))
@@ -3313,7 +3147,7 @@ export const either: {
3313
3147
  * yield* Console.log(`Retry attempt ${attempt}`)
3314
3148
  *
3315
3149
  * if (attempt < 6) {
3316
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
3150
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
3317
3151
  * }
3318
3152
  *
3319
3153
  * return `Success on attempt ${attempt}`
@@ -3817,7 +3651,9 @@ export const elapsed: Schedule<Duration.Duration> = fromStepWithMetadata(
3817
3651
  *
3818
3652
  * @example
3819
3653
  * ```ts
3820
- * import { Console, Effect, Schedule } from "effect"
3654
+ * import { Console, Data, Effect, Schedule } from "effect"
3655
+ *
3656
+ * class RetryFailure extends Data.TaggedError("RetryFailure")<{ readonly message: string }> {}
3821
3657
  *
3822
3658
  * // Basic exponential backoff with default factor of 2
3823
3659
  * const basicExponential = Schedule.exponential("100 millis")
@@ -3829,7 +3665,7 @@ export const elapsed: Schedule<Duration.Duration> = fromStepWithMetadata(
3829
3665
  *
3830
3666
  * // Retry with exponential backoff (limited to 5 attempts)
3831
3667
  * const retryPolicy = Schedule.exponential("50 millis").pipe(
3832
- * Schedule.compose(Schedule.recurs(5))
3668
+ * Schedule.both(Schedule.recurs(5))
3833
3669
  * )
3834
3670
  *
3835
3671
  * const program = Effect.gen(function*() {
@@ -3840,7 +3676,7 @@ export const elapsed: Schedule<Duration.Duration> = fromStepWithMetadata(
3840
3676
  * attempt++
3841
3677
  * if (attempt < 4) {
3842
3678
  * yield* Console.log(`Attempt ${attempt} failed, retrying...`)
3843
- * yield* Effect.fail(new Error(`Failure ${attempt}`))
3679
+ * return yield* Effect.fail(new RetryFailure({ message: `Failure ${attempt}` }))
3844
3680
  * }
3845
3681
  * return `Success on attempt ${attempt}`
3846
3682
  * }),
@@ -3857,10 +3693,10 @@ export const elapsed: Schedule<Duration.Duration> = fromStepWithMetadata(
3857
3693
  * @category constructors
3858
3694
  */
3859
3695
  export const exponential = (
3860
- base: Duration.DurationInput,
3696
+ base: Duration.Input,
3861
3697
  factor: number = 2
3862
3698
  ): Schedule<Duration.Duration> => {
3863
- const baseMillis = Duration.toMillis(Duration.fromDurationInputUnsafe(base))
3699
+ const baseMillis = Duration.toMillis(Duration.fromInputUnsafe(base))
3864
3700
  return fromStepWithMetadata(effect.succeed((meta) => {
3865
3701
  const duration = Duration.millis(baseMillis * Math.pow(factor, meta.attempt - 1))
3866
3702
  return effect.succeed([duration, duration])
@@ -3874,7 +3710,9 @@ export const exponential = (
3874
3710
  *
3875
3711
  * @example
3876
3712
  * ```ts
3877
- * import { Console, Effect, Schedule } from "effect"
3713
+ * import { Console, Data, Effect, Schedule } from "effect"
3714
+ *
3715
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
3878
3716
  *
3879
3717
  * // Basic fibonacci schedule starting with 100ms
3880
3718
  * const fibSchedule = Schedule.fibonacci("100 millis")
@@ -3890,13 +3728,13 @@ export const exponential = (
3890
3728
  * yield* Console.log(`Attempt ${attempt}`)
3891
3729
  *
3892
3730
  * if (attempt < 5) {
3893
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
3731
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
3894
3732
  * }
3895
3733
  *
3896
3734
  * return `Success on attempt ${attempt}`
3897
3735
  * }),
3898
3736
  * Schedule.fibonacci("50 millis").pipe(
3899
- * Schedule.compose(Schedule.recurs(6)), // Maximum 6 retries
3737
+ * Schedule.both(Schedule.recurs(6)), // Maximum 6 retries
3900
3738
  * Schedule.tapOutput((delay) => Console.log(`Next retry in ${delay}`))
3901
3739
  * )
3902
3740
  * )
@@ -3931,8 +3769,8 @@ export const exponential = (
3931
3769
  * @since 2.0.0
3932
3770
  * @category constructors
3933
3771
  */
3934
- export const fibonacci = (one: Duration.DurationInput): Schedule<Duration.Duration> => {
3935
- const oneMillis = Duration.toMillis(Duration.fromDurationInputUnsafe(one))
3772
+ export const fibonacci = (one: Duration.Input): Schedule<Duration.Duration> => {
3773
+ const oneMillis = Duration.toMillis(Duration.fromInputUnsafe(one))
3936
3774
  return fromStep(effect.sync(() => {
3937
3775
  let a = 0
3938
3776
  let b = oneMillis
@@ -4008,16 +3846,28 @@ export const fibonacci = (one: Duration.DurationInput): Schedule<Duration.Durati
4008
3846
  * @since 2.0.0
4009
3847
  * @category constructors
4010
3848
  */
4011
- export const fixed = (interval: Duration.DurationInput): Schedule<number> => {
4012
- const window = Duration.toMillis(Duration.fromDurationInputUnsafe(interval))
4013
- return fromStepWithMetadata(effect.succeed((meta) =>
4014
- effect.succeed([
4015
- meta.attempt - 1,
4016
- window === 0 || meta.elapsedSincePrevious > window
4017
- ? Duration.zero
4018
- : Duration.millis(window - (meta.elapsed % window))
4019
- ])
4020
- ))
3849
+ export const fixed = (interval: Duration.Input): Schedule<number> => {
3850
+ const window = Duration.toMillis(Duration.fromInputUnsafe(interval))
3851
+ return fromStepWithMetadata(effect.sync(() => {
3852
+ let start = 0
3853
+ let lastRun = 0
3854
+ return (meta) =>
3855
+ effect.sync(() => {
3856
+ if (window === 0) {
3857
+ return [meta.attempt - 1, Duration.zero] as const
3858
+ }
3859
+ if (meta.attempt === 1) {
3860
+ start = meta.now
3861
+ lastRun = meta.now + window
3862
+ return [0, Duration.millis(window)] as const
3863
+ }
3864
+ const runningBehind = meta.now > (lastRun + window)
3865
+ const boundary = window - ((meta.now - start) % window)
3866
+ const delay = runningBehind ? 0 : boundary === 0 ? window : boundary
3867
+ lastRun = runningBehind ? meta.now : meta.now + delay
3868
+ return [meta.attempt - 1, Duration.millis(delay)] as const
3869
+ })
3870
+ }))
4021
3871
  }
4022
3872
 
4023
3873
  /**
@@ -4303,7 +4153,7 @@ export const modifyDelay: {
4303
4153
  f: (
4304
4154
  output: Output,
4305
4155
  delay: Duration.Duration
4306
- ) => Effect<Duration.DurationInput, Error2, Env2>
4156
+ ) => Effect<Duration.Input, Error2, Env2>
4307
4157
  ): <Input, Error, Env>(
4308
4158
  self: Schedule<Output, Input, Error, Env>
4309
4159
  ) => Schedule<Output, Input, Error | Error2, Env | Env2>
@@ -4343,22 +4193,39 @@ export const modifyDelay: {
4343
4193
  self: Schedule<Output, Input, Error, Env>,
4344
4194
  f: (
4345
4195
  output: Output,
4346
- delay: Duration.DurationInput
4347
- ) => Effect<Duration.DurationInput, Error2, Env2>
4196
+ delay: Duration.Input
4197
+ ) => Effect<Duration.Input, Error2, Env2>
4348
4198
  ): Schedule<Output, Input, Error | Error2, Env | Env2>
4349
4199
  } = dual(2, <Output, Input, Error, Env, Error2 = never, Env2 = never>(
4350
4200
  self: Schedule<Output, Input, Error, Env>,
4351
4201
  f: (
4352
4202
  output: Output,
4353
- delay: Duration.DurationInput
4354
- ) => Effect<Duration.DurationInput, Error2, Env2>
4203
+ delay: Duration.Input
4204
+ ) => Effect<Duration.Input, Error2, Env2>
4355
4205
  ): Schedule<Output, Input, Error | Error2, Env | Env2> =>
4356
4206
  fromStep(effect.map(toStep(self), (step) => (now, input) =>
4357
4207
  effect.flatMap(
4358
4208
  step(now, input),
4359
- ([output, delay]) => effect.map(f(output, delay), (delay) => [output, Duration.fromDurationInputUnsafe(delay)])
4209
+ ([output, delay]) => effect.map(f(output, delay), (delay) => [output, Duration.fromInputUnsafe(delay)])
4360
4210
  ))))
4361
4211
 
4212
+ /**
4213
+ * Returns a new `Schedule` that randomly adjusts each recurrence delay.
4214
+ *
4215
+ * Delays are jittered between `80%` and `120%` of the original delay.
4216
+ *
4217
+ * @since 2.0.0
4218
+ * @category utilities
4219
+ */
4220
+ export const jittered = <Output, Input, Error, Env>(
4221
+ self: Schedule<Output, Input, Error, Env>
4222
+ ): Schedule<Output, Input, Error, Env> =>
4223
+ modifyDelay(self, (_, delay) =>
4224
+ effect.map(randomNext, (random) => {
4225
+ const millis = Duration.toMillis(Duration.fromInputUnsafe(delay))
4226
+ return Duration.millis(millis * 0.8 * (1 - random) + millis * 1.2 * random)
4227
+ }))
4228
+
4362
4229
  /**
4363
4230
  * Returns a new `Schedule` that outputs the inputs of the specified schedule.
4364
4231
  *
@@ -4403,7 +4270,9 @@ export const passthrough = <Output, Input, Error, Env>(
4403
4270
  *
4404
4271
  * @example
4405
4272
  * ```ts
4406
- * import { Console, Effect, Schedule } from "effect"
4273
+ * import { Console, Data, Effect, Schedule } from "effect"
4274
+ *
4275
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
4407
4276
  *
4408
4277
  * // Basic recurs - retry at most 3 times
4409
4278
  * const maxThreeAttempts = Schedule.recurs(3)
@@ -4418,7 +4287,7 @@ export const passthrough = <Output, Input, Error, Env>(
4418
4287
  * yield* Console.log(`Attempt ${attempt}`)
4419
4288
  *
4420
4289
  * if (attempt < 4) {
4421
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
4290
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
4422
4291
  * }
4423
4292
  *
4424
4293
  * return `Success on attempt ${attempt}`
@@ -4431,7 +4300,7 @@ export const passthrough = <Output, Input, Error, Env>(
4431
4300
  *
4432
4301
  * // Combining recurs with other schedules for sophisticated retry logic
4433
4302
  * const complexRetry = Schedule.exponential("100 millis").pipe(
4434
- * Schedule.compose(Schedule.recurs(3)) // At most 3 attempts
4303
+ * Schedule.both(Schedule.recurs(3)) // At most 3 attempts
4435
4304
  * )
4436
4305
  *
4437
4306
  * // Repeat an effect exactly 10 times
@@ -4679,7 +4548,7 @@ export const reduce: {
4679
4548
  */
4680
4549
  <State, Output, Error2 = never, Env2 = never>(
4681
4550
  initial: LazyArg<State>,
4682
- combine: (state: State, output: Output) => Effect<State, Error2, Env2>
4551
+ combine: (state: State, output: Output) => State | Effect<State, Error2, Env2>
4683
4552
  ): <Input, Error, Env>(
4684
4553
  self: Schedule<Output, Input, Error, Env>
4685
4554
  ) => Schedule<State, Input, Error | Error2, Env | Env2>
@@ -4797,24 +4666,33 @@ export const reduce: {
4797
4666
  <Output, Input, Error, Env, State, Error2 = never, Env2 = never>(
4798
4667
  self: Schedule<Output, Input, Error, Env>,
4799
4668
  initial: LazyArg<State>,
4800
- combine: (state: State, output: Output) => Effect<State, Error2, Env2>
4669
+ combine: (state: State, output: Output) => State | Effect<State, Error2, Env2>
4801
4670
  ): Schedule<State, Input, Error | Error2, Env | Env2>
4802
4671
  } = dual(3, <Output, Input, Error, Env, State, Error2 = never, Env2 = never>(
4803
4672
  self: Schedule<Output, Input, Error, Env>,
4804
4673
  initial: LazyArg<State>,
4805
- combine: (state: State, output: Output) => Effect<State, Error2, Env2>
4674
+ combine: (state: State, output: Output) => State | Effect<State, Error2, Env2>
4806
4675
  ): Schedule<State, Input, Error | Error2, Env | Env2> =>
4807
4676
  fromStep(effect.map(toStep(self), (step) => {
4808
4677
  let state = initial()
4809
4678
  return (now, input) =>
4810
4679
  Pull.matchEffect(step(now, input), {
4811
- onSuccess: ([output, delay]) =>
4812
- effect.map(combine(state, output), (nextState) => {
4680
+ onSuccess([output, delay]) {
4681
+ const next = combine(state, output)
4682
+ if (!isEffect(next)) {
4683
+ state = next
4684
+ return effect.succeed([next, delay] as [State, Duration.Duration])
4685
+ }
4686
+ return effect.map(next, (nextState) => {
4813
4687
  state = nextState
4814
4688
  return [nextState, delay]
4815
- }),
4689
+ })
4690
+ },
4816
4691
  onFailure: effect.failCause,
4817
- onDone: (output) => effect.flatMap(combine(state, output), Cause.done)
4692
+ onDone(output) {
4693
+ const next = combine(state, output)
4694
+ return isEffect(next) ? effect.flatMap(next, Cause.done) : Cause.done(next)
4695
+ }
4818
4696
  })
4819
4697
  })))
4820
4698
 
@@ -4849,7 +4727,7 @@ export const reduce: {
4849
4727
  *
4850
4728
  * // Simple spaced schedule with limited repetitions
4851
4729
  * const limitedSpaced = Schedule.spaced("100 millis").pipe(
4852
- * Schedule.compose(Schedule.recurs(5)) // at most 5 times
4730
+ * Schedule.both(Schedule.recurs(5)) // at most 5 times
4853
4731
  * )
4854
4732
  *
4855
4733
  * const program = Effect.gen(function*() {
@@ -4867,8 +4745,8 @@ export const reduce: {
4867
4745
  * @since 2.0.0
4868
4746
  * @category constructors
4869
4747
  */
4870
- export const spaced = (duration: Duration.DurationInput): Schedule<number> => {
4871
- const decoded = Duration.fromDurationInputUnsafe(duration)
4748
+ export const spaced = (duration: Duration.Input): Schedule<number> => {
4749
+ const decoded = Duration.fromInputUnsafe(duration)
4872
4750
  return fromStepWithMetadata(effect.succeed((meta) => effect.succeed([meta.attempt - 1, decoded])))
4873
4751
  }
4874
4752
 
@@ -4879,12 +4757,14 @@ export const spaced = (duration: Duration.DurationInput): Schedule<number> => {
4879
4757
  *
4880
4758
  * @example
4881
4759
  * ```ts
4882
- * import { Console, Effect, Schedule } from "effect"
4760
+ * import { Console, Data, Effect, Schedule } from "effect"
4761
+ *
4762
+ * class RetryError extends Data.TaggedError("RetryError")<{ readonly message: string }> {}
4883
4763
  *
4884
4764
  * // Log retry errors for debugging
4885
4765
  * const errorLoggingSchedule = Schedule.exponential("100 millis").pipe(
4886
4766
  * Schedule.take(3),
4887
- * Schedule.tapInput((error: Error) =>
4767
+ * Schedule.tapInput((error: RetryError) =>
4888
4768
  * Console.log(`Retry triggered by error: ${String(error)}`)
4889
4769
  * )
4890
4770
  * )
@@ -4896,7 +4776,7 @@ export const spaced = (duration: Duration.DurationInput): Schedule<number> => {
4896
4776
  * Effect.gen(function*() {
4897
4777
  * attempt++
4898
4778
  * if (attempt < 4) {
4899
- * yield* Effect.fail(new Error(`Network timeout on attempt ${attempt}`))
4779
+ * return yield* Effect.fail(new RetryError({ message: `Network timeout on attempt ${attempt}` }))
4900
4780
  * }
4901
4781
  * return `Success on attempt ${attempt}`
4902
4782
  * }),
@@ -4945,7 +4825,7 @@ export const spaced = (duration: Duration.DurationInput): Schedule<number> => {
4945
4825
  * // Conditional alerting based on input
4946
4826
  * const alertingSchedule = Schedule.exponential("200 millis").pipe(
4947
4827
  * Schedule.take(6),
4948
- * Schedule.tapInput((error: Error) =>
4828
+ * Schedule.tapInput((error: RetryError) =>
4949
4829
  * Effect.gen(function*() {
4950
4830
  * if (String(error).includes("critical")) {
4951
4831
  * yield* Console.log(`🚨 CRITICAL ERROR: ${String(error)}`)
@@ -4967,7 +4847,7 @@ export const spaced = (duration: Duration.DurationInput): Schedule<number> => {
4967
4847
  * const errorType = isCritical
4968
4848
  * ? "critical database failure"
4969
4849
  * : "temporary network issue"
4970
- * yield* Effect.fail(new Error(errorType))
4850
+ * return yield* Effect.fail(new RetryError({ message: errorType }))
4971
4851
  * }),
4972
4852
  * alertingSchedule
4973
4853
  * ).pipe(
@@ -4980,10 +4860,10 @@ export const spaced = (duration: Duration.DurationInput): Schedule<number> => {
4980
4860
  * // Chain multiple input taps for different purposes
4981
4861
  * const comprehensiveSchedule = Schedule.fibonacci("100 millis").pipe(
4982
4862
  * Schedule.take(5),
4983
- * Schedule.tapInput((error: Error) =>
4984
- * Console.log(`Error occurred: ${error.name}`)
4863
+ * Schedule.tapInput((error: RetryError) =>
4864
+ * Console.log(`Error occurred: ${error._tag}`)
4985
4865
  * ),
4986
- * Schedule.tapInput((error: Error) =>
4866
+ * Schedule.tapInput((error: RetryError) =>
4987
4867
  * String(error).length > 20
4988
4868
  * ? Console.log("📝 Long error message detected")
4989
4869
  * : Effect.void
@@ -5002,12 +4882,14 @@ export const tapInput: {
5002
4882
  *
5003
4883
  * @example
5004
4884
  * ```ts
5005
- * import { Console, Effect, Schedule } from "effect"
4885
+ * import { Console, Data, Effect, Schedule } from "effect"
4886
+ *
4887
+ * class RetryError extends Data.TaggedError("RetryError")<{ readonly message: string }> {}
5006
4888
  *
5007
4889
  * // Log retry errors for debugging
5008
4890
  * const errorLoggingSchedule = Schedule.exponential("100 millis").pipe(
5009
4891
  * Schedule.take(3),
5010
- * Schedule.tapInput((error: Error) =>
4892
+ * Schedule.tapInput((error: RetryError) =>
5011
4893
  * Console.log(`Retry triggered by error: ${String(error)}`)
5012
4894
  * )
5013
4895
  * )
@@ -5019,7 +4901,7 @@ export const tapInput: {
5019
4901
  * Effect.gen(function*() {
5020
4902
  * attempt++
5021
4903
  * if (attempt < 4) {
5022
- * yield* Effect.fail(new Error(`Network timeout on attempt ${attempt}`))
4904
+ * return yield* Effect.fail(new RetryError({ message: `Network timeout on attempt ${attempt}` }))
5023
4905
  * }
5024
4906
  * return `Success on attempt ${attempt}`
5025
4907
  * }),
@@ -5068,7 +4950,7 @@ export const tapInput: {
5068
4950
  * // Conditional alerting based on input
5069
4951
  * const alertingSchedule = Schedule.exponential("200 millis").pipe(
5070
4952
  * Schedule.take(6),
5071
- * Schedule.tapInput((error: Error) =>
4953
+ * Schedule.tapInput((error: RetryError) =>
5072
4954
  * Effect.gen(function*() {
5073
4955
  * if (String(error).includes("critical")) {
5074
4956
  * yield* Console.log(`🚨 CRITICAL ERROR: ${String(error)}`)
@@ -5090,7 +4972,7 @@ export const tapInput: {
5090
4972
  * const errorType = isCritical
5091
4973
  * ? "critical database failure"
5092
4974
  * : "temporary network issue"
5093
- * yield* Effect.fail(new Error(errorType))
4975
+ * return yield* Effect.fail(new RetryError({ message: errorType }))
5094
4976
  * }),
5095
4977
  * alertingSchedule
5096
4978
  * ).pipe(
@@ -5103,10 +4985,10 @@ export const tapInput: {
5103
4985
  * // Chain multiple input taps for different purposes
5104
4986
  * const comprehensiveSchedule = Schedule.fibonacci("100 millis").pipe(
5105
4987
  * Schedule.take(5),
5106
- * Schedule.tapInput((error: Error) =>
5107
- * Console.log(`Error occurred: ${error.name}`)
4988
+ * Schedule.tapInput((error: RetryError) =>
4989
+ * Console.log(`Error occurred: ${error._tag}`)
5108
4990
  * ),
5109
- * Schedule.tapInput((error: Error) =>
4991
+ * Schedule.tapInput((error: RetryError) =>
5110
4992
  * String(error).length > 20
5111
4993
  * ? Console.log("📝 Long error message detected")
5112
4994
  * : Effect.void
@@ -5127,12 +5009,14 @@ export const tapInput: {
5127
5009
  *
5128
5010
  * @example
5129
5011
  * ```ts
5130
- * import { Console, Effect, Schedule } from "effect"
5012
+ * import { Console, Data, Effect, Schedule } from "effect"
5013
+ *
5014
+ * class RetryError extends Data.TaggedError("RetryError")<{ readonly message: string }> {}
5131
5015
  *
5132
5016
  * // Log retry errors for debugging
5133
5017
  * const errorLoggingSchedule = Schedule.exponential("100 millis").pipe(
5134
5018
  * Schedule.take(3),
5135
- * Schedule.tapInput((error: Error) =>
5019
+ * Schedule.tapInput((error: RetryError) =>
5136
5020
  * Console.log(`Retry triggered by error: ${String(error)}`)
5137
5021
  * )
5138
5022
  * )
@@ -5144,7 +5028,7 @@ export const tapInput: {
5144
5028
  * Effect.gen(function*() {
5145
5029
  * attempt++
5146
5030
  * if (attempt < 4) {
5147
- * yield* Effect.fail(new Error(`Network timeout on attempt ${attempt}`))
5031
+ * return yield* Effect.fail(new RetryError({ message: `Network timeout on attempt ${attempt}` }))
5148
5032
  * }
5149
5033
  * return `Success on attempt ${attempt}`
5150
5034
  * }),
@@ -5193,7 +5077,7 @@ export const tapInput: {
5193
5077
  * // Conditional alerting based on input
5194
5078
  * const alertingSchedule = Schedule.exponential("200 millis").pipe(
5195
5079
  * Schedule.take(6),
5196
- * Schedule.tapInput((error: Error) =>
5080
+ * Schedule.tapInput((error: RetryError) =>
5197
5081
  * Effect.gen(function*() {
5198
5082
  * if (String(error).includes("critical")) {
5199
5083
  * yield* Console.log(`🚨 CRITICAL ERROR: ${String(error)}`)
@@ -5215,7 +5099,7 @@ export const tapInput: {
5215
5099
  * const errorType = isCritical
5216
5100
  * ? "critical database failure"
5217
5101
  * : "temporary network issue"
5218
- * yield* Effect.fail(new Error(errorType))
5102
+ * return yield* Effect.fail(new RetryError({ message: errorType }))
5219
5103
  * }),
5220
5104
  * alertingSchedule
5221
5105
  * ).pipe(
@@ -5228,10 +5112,10 @@ export const tapInput: {
5228
5112
  * // Chain multiple input taps for different purposes
5229
5113
  * const comprehensiveSchedule = Schedule.fibonacci("100 millis").pipe(
5230
5114
  * Schedule.take(5),
5231
- * Schedule.tapInput((error: Error) =>
5232
- * Console.log(`Error occurred: ${error.name}`)
5115
+ * Schedule.tapInput((error: RetryError) =>
5116
+ * Console.log(`Error occurred: ${error._tag}`)
5233
5117
  * ),
5234
- * Schedule.tapInput((error: Error) =>
5118
+ * Schedule.tapInput((error: RetryError) =>
5235
5119
  * String(error).length > 20
5236
5120
  * ? Console.log("📝 Long error message detected")
5237
5121
  * : Effect.void
@@ -5262,7 +5146,9 @@ export const tapInput: {
5262
5146
  *
5263
5147
  * @example
5264
5148
  * ```ts
5265
- * import { Console, Effect, Schedule } from "effect"
5149
+ * import { Console, Data, Effect, Schedule } from "effect"
5150
+ *
5151
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
5266
5152
  *
5267
5153
  * // Log schedule outputs for debugging/monitoring
5268
5154
  * const monitoredSchedule = Schedule.exponential("100 millis").pipe(
@@ -5277,7 +5163,7 @@ export const tapInput: {
5277
5163
  * Effect.gen(function*() {
5278
5164
  * attempt++
5279
5165
  * if (attempt < 4) {
5280
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
5166
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
5281
5167
  * }
5282
5168
  * return `Success on attempt ${attempt}`
5283
5169
  * }),
@@ -5346,7 +5232,9 @@ export const tapOutput: {
5346
5232
  *
5347
5233
  * @example
5348
5234
  * ```ts
5349
- * import { Console, Effect, Schedule } from "effect"
5235
+ * import { Console, Data, Effect, Schedule } from "effect"
5236
+ *
5237
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
5350
5238
  *
5351
5239
  * // Log schedule outputs for debugging/monitoring
5352
5240
  * const monitoredSchedule = Schedule.exponential("100 millis").pipe(
@@ -5361,7 +5249,7 @@ export const tapOutput: {
5361
5249
  * Effect.gen(function*() {
5362
5250
  * attempt++
5363
5251
  * if (attempt < 4) {
5364
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
5252
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
5365
5253
  * }
5366
5254
  * return `Success on attempt ${attempt}`
5367
5255
  * }),
@@ -5432,7 +5320,9 @@ export const tapOutput: {
5432
5320
  *
5433
5321
  * @example
5434
5322
  * ```ts
5435
- * import { Console, Effect, Schedule } from "effect"
5323
+ * import { Console, Data, Effect, Schedule } from "effect"
5324
+ *
5325
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
5436
5326
  *
5437
5327
  * // Log schedule outputs for debugging/monitoring
5438
5328
  * const monitoredSchedule = Schedule.exponential("100 millis").pipe(
@@ -5447,7 +5337,7 @@ export const tapOutput: {
5447
5337
  * Effect.gen(function*() {
5448
5338
  * attempt++
5449
5339
  * if (attempt < 4) {
5450
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
5340
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
5451
5341
  * }
5452
5342
  * return `Success on attempt ${attempt}`
5453
5343
  * }),
@@ -5528,7 +5418,9 @@ export const tapOutput: {
5528
5418
  *
5529
5419
  * @example
5530
5420
  * ```ts
5531
- * import { Console, Effect, Schedule } from "effect"
5421
+ * import { Console, Data, Effect, Schedule } from "effect"
5422
+ *
5423
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
5532
5424
  *
5533
5425
  * // Limit an infinite schedule to run only 5 times
5534
5426
  * const limitedHeartbeat = Schedule.spaced("1 second").pipe(
@@ -5561,7 +5453,7 @@ export const tapOutput: {
5561
5453
  * yield* Console.log(`Attempt ${attempt}`)
5562
5454
  *
5563
5455
  * if (attempt < 5) { // Will fail more than 3 times
5564
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
5456
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
5565
5457
  * }
5566
5458
  *
5567
5459
  * return `Success on attempt ${attempt}`
@@ -5607,7 +5499,9 @@ export const take: {
5607
5499
  *
5608
5500
  * @example
5609
5501
  * ```ts
5610
- * import { Console, Effect, Schedule } from "effect"
5502
+ * import { Console, Data, Effect, Schedule } from "effect"
5503
+ *
5504
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
5611
5505
  *
5612
5506
  * // Limit an infinite schedule to run only 5 times
5613
5507
  * const limitedHeartbeat = Schedule.spaced("1 second").pipe(
@@ -5640,7 +5534,7 @@ export const take: {
5640
5534
  * yield* Console.log(`Attempt ${attempt}`)
5641
5535
  *
5642
5536
  * if (attempt < 5) { // Will fail more than 3 times
5643
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
5537
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
5644
5538
  * }
5645
5539
  *
5646
5540
  * return `Success on attempt ${attempt}`
@@ -5688,7 +5582,9 @@ export const take: {
5688
5582
  *
5689
5583
  * @example
5690
5584
  * ```ts
5691
- * import { Console, Effect, Schedule } from "effect"
5585
+ * import { Console, Data, Effect, Schedule } from "effect"
5586
+ *
5587
+ * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
5692
5588
  *
5693
5589
  * // Limit an infinite schedule to run only 5 times
5694
5590
  * const limitedHeartbeat = Schedule.spaced("1 second").pipe(
@@ -5721,7 +5617,7 @@ export const take: {
5721
5617
  * yield* Console.log(`Attempt ${attempt}`)
5722
5618
  *
5723
5619
  * if (attempt < 5) { // Will fail more than 3 times
5724
- * yield* Effect.fail(new Error(`Attempt ${attempt} failed`))
5620
+ * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
5725
5621
  * }
5726
5622
  *
5727
5623
  * return `Success on attempt ${attempt}`
@@ -5881,7 +5777,7 @@ const while_: {
5881
5777
  <Input, Output, Error2 = never, Env2 = never>(
5882
5778
  predicate: (
5883
5779
  metadata: Metadata<Output, Input>
5884
- ) => Effect<boolean, Error2, Env2>
5780
+ ) => boolean | Effect<boolean, Error2, Env2>
5885
5781
  ): <Error, Env>(
5886
5782
  self: Schedule<Output, Input, Error, Env>
5887
5783
  ) => Schedule<Output, Input, Error | Error2, Env | Env2>
@@ -5889,21 +5785,22 @@ const while_: {
5889
5785
  self: Schedule<Output, Input, Error, Env>,
5890
5786
  predicate: (
5891
5787
  metadata: Metadata<Output, Input>
5892
- ) => Effect<boolean, Error2, Env2>
5788
+ ) => boolean | Effect<boolean, Error2, Env2>
5893
5789
  ): Schedule<Output, Input, Error | Error2, Env | Env2>
5894
5790
  } = dual(2, <Output, Input, Error, Env, Error2 = never, Env2 = never>(
5895
5791
  self: Schedule<Output, Input, Error, Env>,
5896
5792
  predicate: (
5897
5793
  metadata: Metadata<Output, Input>
5898
- ) => Effect<boolean, Error2, Env2>
5794
+ ) => boolean | Effect<boolean, Error2, Env2>
5899
5795
  ): Schedule<Output, Input, Error | Error2, Env | Env2> =>
5900
5796
  fromStep(effect.map(toStep(self), (step) => {
5901
5797
  const meta = metadataFn()
5902
5798
  return (now, input) =>
5903
5799
  effect.flatMap(step(now, input), (result) => {
5904
5800
  const [output, duration] = result
5801
+ const eff = predicate({ ...meta(now, input), output, duration })
5905
5802
  return effect.flatMap(
5906
- predicate({ ...meta(now, input), output, duration }),
5803
+ isEffect(eff) ? eff : effect.succeed(eff),
5907
5804
  (check) => (check ? effect.succeed(result) : Cause.done(output))
5908
5805
  )
5909
5806
  })
@@ -5958,8 +5855,8 @@ export {
5958
5855
  * @since 2.0.0
5959
5856
  * @category constructors
5960
5857
  */
5961
- export const windowed = (interval: Duration.DurationInput): Schedule<number> => {
5962
- const window = Duration.toMillis(Duration.fromDurationInputUnsafe(interval))
5858
+ export const windowed = (interval: Duration.Input): Schedule<number> => {
5859
+ const window = Duration.toMillis(Duration.fromInputUnsafe(interval))
5963
5860
  return fromStepWithMetadata(effect.succeed((meta) =>
5964
5861
  effect.sync(() => [
5965
5862
  meta.attempt - 1,
@@ -6049,6 +5946,16 @@ export const satisfiesInputType = <T>() =>
6049
5946
  self: Schedule<Output, Input, Error, Env>
6050
5947
  ): Schedule<Output, Input, Error, Env> => self
6051
5948
 
5949
+ /**
5950
+ * Sets the input type of the provided schedule to a specified type, without
5951
+ * altering the schedule's behavior.
5952
+ *
5953
+ * @since 2.0.0
5954
+ * @category ensuring types
5955
+ */
5956
+ export const setInputType =
5957
+ <T>() => <Output, Error, Env>(self: Schedule<Output, T, Error, Env>): Schedule<Output, T, Error, Env> => self
5958
+
6052
5959
  /**
6053
5960
  * Ensures that the provided schedule respects a specified output type.
6054
5961
  *