effect 4.0.0-beta.102 → 4.0.0-beta.103

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 (1451) hide show
  1. package/dist/Array.d.ts +971 -1037
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +381 -407
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +433 -756
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +200 -325
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +207 -267
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +107 -135
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +146 -188
  14. package/dist/Boolean.d.ts.map +1 -1
  15. package/dist/Boolean.js +64 -84
  16. package/dist/Boolean.js.map +1 -1
  17. package/dist/Brand.js.map +1 -1
  18. package/dist/Cache.d.ts +405 -254
  19. package/dist/Cache.d.ts.map +1 -1
  20. package/dist/Cache.js +166 -101
  21. package/dist/Cache.js.map +1 -1
  22. package/dist/Cause.d.ts +167 -277
  23. package/dist/Cause.d.ts.map +1 -1
  24. package/dist/Cause.js +122 -176
  25. package/dist/Cause.js.map +1 -1
  26. package/dist/Channel.d.ts +729 -768
  27. package/dist/Channel.d.ts.map +1 -1
  28. package/dist/Channel.js +514 -440
  29. package/dist/Channel.js.map +1 -1
  30. package/dist/ChannelSchema.d.ts +1 -1
  31. package/dist/ChannelSchema.d.ts.map +1 -1
  32. package/dist/ChannelSchema.js.map +1 -1
  33. package/dist/Chunk.d.ts +834 -1173
  34. package/dist/Chunk.d.ts.map +1 -1
  35. package/dist/Chunk.js +326 -439
  36. package/dist/Chunk.js.map +1 -1
  37. package/dist/Clock.d.ts +180 -49
  38. package/dist/Clock.d.ts.map +1 -1
  39. package/dist/Clock.js +96 -31
  40. package/dist/Clock.js.map +1 -1
  41. package/dist/Combiner.d.ts +20 -33
  42. package/dist/Combiner.d.ts.map +1 -1
  43. package/dist/Combiner.js +18 -30
  44. package/dist/Combiner.js.map +1 -1
  45. package/dist/Config.d.ts +225 -173
  46. package/dist/Config.d.ts.map +1 -1
  47. package/dist/Config.js +336 -265
  48. package/dist/Config.js.map +1 -1
  49. package/dist/ConfigProvider.d.ts +194 -68
  50. package/dist/ConfigProvider.d.ts.map +1 -1
  51. package/dist/ConfigProvider.js +115 -80
  52. package/dist/ConfigProvider.js.map +1 -1
  53. package/dist/Console.d.ts +233 -33
  54. package/dist/Console.d.ts.map +1 -1
  55. package/dist/Console.js +232 -32
  56. package/dist/Console.js.map +1 -1
  57. package/dist/Context.d.ts +151 -274
  58. package/dist/Context.d.ts.map +1 -1
  59. package/dist/Context.js +171 -214
  60. package/dist/Context.js.map +1 -1
  61. package/dist/Cron.d.ts +68 -77
  62. package/dist/Cron.d.ts.map +1 -1
  63. package/dist/Cron.js +57 -66
  64. package/dist/Cron.js.map +1 -1
  65. package/dist/Crypto.d.ts +13 -15
  66. package/dist/Crypto.d.ts.map +1 -1
  67. package/dist/Crypto.js +9 -10
  68. package/dist/Crypto.js.map +1 -1
  69. package/dist/Data.d.ts +60 -80
  70. package/dist/Data.d.ts.map +1 -1
  71. package/dist/Data.js +16 -23
  72. package/dist/Data.js.map +1 -1
  73. package/dist/DateTime.d.ts +562 -660
  74. package/dist/DateTime.d.ts.map +1 -1
  75. package/dist/DateTime.js +307 -362
  76. package/dist/DateTime.js.map +1 -1
  77. package/dist/Deferred.d.ts +253 -256
  78. package/dist/Deferred.d.ts.map +1 -1
  79. package/dist/Deferred.js +104 -96
  80. package/dist/Deferred.js.map +1 -1
  81. package/dist/Duration.d.ts +216 -308
  82. package/dist/Duration.d.ts.map +1 -1
  83. package/dist/Duration.js +132 -186
  84. package/dist/Duration.js.map +1 -1
  85. package/dist/Effect.d.ts +2841 -3247
  86. package/dist/Effect.d.ts.map +1 -1
  87. package/dist/Effect.js +1322 -1546
  88. package/dist/Effect.js.map +1 -1
  89. package/dist/Effectable.js.map +1 -1
  90. package/dist/Encoding.d.ts +22 -40
  91. package/dist/Encoding.d.ts.map +1 -1
  92. package/dist/Encoding.js +22 -40
  93. package/dist/Encoding.js.map +1 -1
  94. package/dist/Equal.d.ts +33 -37
  95. package/dist/Equal.d.ts.map +1 -1
  96. package/dist/Equal.js +29 -21
  97. package/dist/Equal.js.map +1 -1
  98. package/dist/Equivalence.d.ts +103 -105
  99. package/dist/Equivalence.d.ts.map +1 -1
  100. package/dist/Equivalence.js +77 -79
  101. package/dist/Equivalence.js.map +1 -1
  102. package/dist/ErrorReporter.d.ts +51 -27
  103. package/dist/ErrorReporter.d.ts.map +1 -1
  104. package/dist/ErrorReporter.js +50 -26
  105. package/dist/ErrorReporter.js.map +1 -1
  106. package/dist/ExecutionPlan.d.ts +13 -55
  107. package/dist/ExecutionPlan.d.ts.map +1 -1
  108. package/dist/ExecutionPlan.js +7 -28
  109. package/dist/ExecutionPlan.js.map +1 -1
  110. package/dist/Exit.d.ts +116 -192
  111. package/dist/Exit.d.ts.map +1 -1
  112. package/dist/Exit.js +82 -130
  113. package/dist/Exit.js.map +1 -1
  114. package/dist/Fiber.d.ts +82 -146
  115. package/dist/Fiber.d.ts.map +1 -1
  116. package/dist/Fiber.js +48 -87
  117. package/dist/Fiber.js.map +1 -1
  118. package/dist/FiberHandle.d.ts +152 -105
  119. package/dist/FiberHandle.d.ts.map +1 -1
  120. package/dist/FiberHandle.js +106 -73
  121. package/dist/FiberHandle.js.map +1 -1
  122. package/dist/FiberMap.d.ts +213 -168
  123. package/dist/FiberMap.d.ts.map +1 -1
  124. package/dist/FiberMap.js +114 -89
  125. package/dist/FiberMap.js.map +1 -1
  126. package/dist/FiberSet.d.ts +123 -81
  127. package/dist/FiberSet.d.ts.map +1 -1
  128. package/dist/FiberSet.js +85 -59
  129. package/dist/FiberSet.js.map +1 -1
  130. package/dist/FileSystem.d.ts +153 -264
  131. package/dist/FileSystem.d.ts.map +1 -1
  132. package/dist/FileSystem.js +42 -147
  133. package/dist/FileSystem.js.map +1 -1
  134. package/dist/Filter.d.ts +61 -33
  135. package/dist/Filter.d.ts.map +1 -1
  136. package/dist/Filter.js +26 -15
  137. package/dist/Filter.js.map +1 -1
  138. package/dist/Formatter.d.ts +25 -33
  139. package/dist/Formatter.d.ts.map +1 -1
  140. package/dist/Formatter.js +48 -49
  141. package/dist/Formatter.js.map +1 -1
  142. package/dist/Function.d.ts +76 -145
  143. package/dist/Function.d.ts.map +1 -1
  144. package/dist/Function.js +40 -57
  145. package/dist/Function.js.map +1 -1
  146. package/dist/Graph.d.ts +360 -714
  147. package/dist/Graph.d.ts.map +1 -1
  148. package/dist/Graph.js +168 -297
  149. package/dist/Graph.js.map +1 -1
  150. package/dist/HKT.d.ts +12 -6
  151. package/dist/HKT.d.ts.map +1 -1
  152. package/dist/Hash.d.ts +47 -83
  153. package/dist/Hash.d.ts.map +1 -1
  154. package/dist/Hash.js +46 -68
  155. package/dist/Hash.js.map +1 -1
  156. package/dist/HashMap.d.ts +319 -411
  157. package/dist/HashMap.d.ts.map +1 -1
  158. package/dist/HashMap.js +122 -166
  159. package/dist/HashMap.js.map +1 -1
  160. package/dist/HashRing.d.ts.map +1 -1
  161. package/dist/HashRing.js +1 -0
  162. package/dist/HashRing.js.map +1 -1
  163. package/dist/HashSet.d.ts +177 -284
  164. package/dist/HashSet.d.ts.map +1 -1
  165. package/dist/HashSet.js +68 -109
  166. package/dist/HashSet.js.map +1 -1
  167. package/dist/Inspectable.d.ts +12 -12
  168. package/dist/Inspectable.js +8 -8
  169. package/dist/Inspectable.js.map +1 -1
  170. package/dist/Iterable.d.ts +620 -786
  171. package/dist/Iterable.d.ts.map +1 -1
  172. package/dist/Iterable.js +228 -306
  173. package/dist/Iterable.js.map +1 -1
  174. package/dist/JsonPatch.d.ts +11 -13
  175. package/dist/JsonPatch.d.ts.map +1 -1
  176. package/dist/JsonPatch.js +44 -102
  177. package/dist/JsonPatch.js.map +1 -1
  178. package/dist/JsonPointer.d.ts +8 -8
  179. package/dist/JsonPointer.js +8 -8
  180. package/dist/JsonPointer.js.map +1 -1
  181. package/dist/JsonSchema.d.ts +98 -44
  182. package/dist/JsonSchema.d.ts.map +1 -1
  183. package/dist/JsonSchema.js +297 -234
  184. package/dist/JsonSchema.js.map +1 -1
  185. package/dist/Latch.d.ts +23 -35
  186. package/dist/Latch.d.ts.map +1 -1
  187. package/dist/Latch.js +16 -28
  188. package/dist/Latch.js.map +1 -1
  189. package/dist/Layer.d.ts +359 -260
  190. package/dist/Layer.d.ts.map +1 -1
  191. package/dist/Layer.js +195 -175
  192. package/dist/Layer.js.map +1 -1
  193. package/dist/LayerMap.d.ts +42 -29
  194. package/dist/LayerMap.d.ts.map +1 -1
  195. package/dist/LayerMap.js +31 -21
  196. package/dist/LayerMap.js.map +1 -1
  197. package/dist/LayerRef.d.ts +6 -2
  198. package/dist/LayerRef.d.ts.map +1 -1
  199. package/dist/LayerRef.js +6 -2
  200. package/dist/LayerRef.js.map +1 -1
  201. package/dist/LogLevel.d.ts +114 -214
  202. package/dist/LogLevel.d.ts.map +1 -1
  203. package/dist/LogLevel.js +41 -76
  204. package/dist/LogLevel.js.map +1 -1
  205. package/dist/Logger.d.ts +218 -467
  206. package/dist/Logger.d.ts.map +1 -1
  207. package/dist/Logger.js +204 -450
  208. package/dist/Logger.js.map +1 -1
  209. package/dist/ManagedRuntime.d.ts +7 -5
  210. package/dist/ManagedRuntime.d.ts.map +1 -1
  211. package/dist/ManagedRuntime.js +7 -5
  212. package/dist/ManagedRuntime.js.map +1 -1
  213. package/dist/Match.d.ts +217 -252
  214. package/dist/Match.d.ts.map +1 -1
  215. package/dist/Match.js +150 -183
  216. package/dist/Match.js.map +1 -1
  217. package/dist/Metric.d.ts +442 -993
  218. package/dist/Metric.d.ts.map +1 -1
  219. package/dist/Metric.js +198 -642
  220. package/dist/Metric.js.map +1 -1
  221. package/dist/MutableHashMap.d.ts +144 -173
  222. package/dist/MutableHashMap.d.ts.map +1 -1
  223. package/dist/MutableHashMap.js +68 -79
  224. package/dist/MutableHashMap.js.map +1 -1
  225. package/dist/MutableHashSet.d.ts +84 -89
  226. package/dist/MutableHashSet.d.ts.map +1 -1
  227. package/dist/MutableHashSet.js +44 -47
  228. package/dist/MutableHashSet.js.map +1 -1
  229. package/dist/MutableList.d.ts +71 -370
  230. package/dist/MutableList.d.ts.map +1 -1
  231. package/dist/MutableList.js +59 -284
  232. package/dist/MutableList.js.map +1 -1
  233. package/dist/MutableRef.d.ts +420 -243
  234. package/dist/MutableRef.d.ts.map +1 -1
  235. package/dist/MutableRef.js +209 -120
  236. package/dist/MutableRef.js.map +1 -1
  237. package/dist/Newtype.d.ts +21 -14
  238. package/dist/Newtype.d.ts.map +1 -1
  239. package/dist/Newtype.js +15 -13
  240. package/dist/Newtype.js.map +1 -1
  241. package/dist/NonEmptyIterable.d.ts +7 -137
  242. package/dist/NonEmptyIterable.d.ts.map +1 -1
  243. package/dist/NonEmptyIterable.js +5 -93
  244. package/dist/NonEmptyIterable.js.map +1 -1
  245. package/dist/Number.d.ts +196 -233
  246. package/dist/Number.d.ts.map +1 -1
  247. package/dist/Number.js +90 -109
  248. package/dist/Number.js.map +1 -1
  249. package/dist/Optic.d.ts +97 -189
  250. package/dist/Optic.d.ts.map +1 -1
  251. package/dist/Optic.js +187 -290
  252. package/dist/Optic.js.map +1 -1
  253. package/dist/Option.d.ts +447 -812
  254. package/dist/Option.d.ts.map +1 -1
  255. package/dist/Option.js +211 -392
  256. package/dist/Option.js.map +1 -1
  257. package/dist/Order.d.ts +109 -109
  258. package/dist/Order.js +91 -91
  259. package/dist/Order.js.map +1 -1
  260. package/dist/Ordering.d.ts +20 -23
  261. package/dist/Ordering.d.ts.map +1 -1
  262. package/dist/Ordering.js +8 -9
  263. package/dist/Ordering.js.map +1 -1
  264. package/dist/PartitionedSemaphore.js.map +1 -1
  265. package/dist/Path.d.ts +38 -41
  266. package/dist/Path.d.ts.map +1 -1
  267. package/dist/Path.js +3 -4
  268. package/dist/Path.js.map +1 -1
  269. package/dist/Pipeable.d.ts +6 -5
  270. package/dist/Pipeable.d.ts.map +1 -1
  271. package/dist/Pipeable.js +2 -2
  272. package/dist/Pipeable.js.map +1 -1
  273. package/dist/PlatformError.d.ts +4 -4
  274. package/dist/PlatformError.js +3 -3
  275. package/dist/PlatformError.js.map +1 -1
  276. package/dist/Pool.d.ts +4 -2
  277. package/dist/Pool.d.ts.map +1 -1
  278. package/dist/Pool.js +4 -2
  279. package/dist/Pool.js.map +1 -1
  280. package/dist/Predicate.d.ts +200 -181
  281. package/dist/Predicate.d.ts.map +1 -1
  282. package/dist/Predicate.js +100 -108
  283. package/dist/Predicate.js.map +1 -1
  284. package/dist/PrimaryKey.d.ts +7 -7
  285. package/dist/PrimaryKey.js +5 -5
  286. package/dist/PrimaryKey.js.map +1 -1
  287. package/dist/PubSub.d.ts +425 -494
  288. package/dist/PubSub.d.ts.map +1 -1
  289. package/dist/PubSub.js +373 -362
  290. package/dist/PubSub.js.map +1 -1
  291. package/dist/Pull.d.ts +24 -18
  292. package/dist/Pull.d.ts.map +1 -1
  293. package/dist/Pull.js +11 -9
  294. package/dist/Pull.js.map +1 -1
  295. package/dist/Queue.d.ts +200 -159
  296. package/dist/Queue.d.ts.map +1 -1
  297. package/dist/Queue.js +162 -132
  298. package/dist/Queue.js.map +1 -1
  299. package/dist/Random.d.ts +49 -74
  300. package/dist/Random.d.ts.map +1 -1
  301. package/dist/Random.js +35 -54
  302. package/dist/Random.js.map +1 -1
  303. package/dist/RcMap.d.ts +121 -63
  304. package/dist/RcMap.d.ts.map +1 -1
  305. package/dist/RcMap.js +42 -21
  306. package/dist/RcMap.js.map +1 -1
  307. package/dist/RcRef.d.ts +24 -13
  308. package/dist/RcRef.d.ts.map +1 -1
  309. package/dist/RcRef.js +15 -9
  310. package/dist/RcRef.js.map +1 -1
  311. package/dist/Record.d.ts +291 -488
  312. package/dist/Record.d.ts.map +1 -1
  313. package/dist/Record.js +111 -202
  314. package/dist/Record.js.map +1 -1
  315. package/dist/Redactable.d.ts +6 -2
  316. package/dist/Redactable.d.ts.map +1 -1
  317. package/dist/Redactable.js +7 -2
  318. package/dist/Redactable.js.map +1 -1
  319. package/dist/Redacted.d.ts +25 -25
  320. package/dist/Redacted.d.ts.map +1 -1
  321. package/dist/Redacted.js +19 -20
  322. package/dist/Redacted.js.map +1 -1
  323. package/dist/Reducer.d.ts +8 -15
  324. package/dist/Reducer.d.ts.map +1 -1
  325. package/dist/Reducer.js +6 -12
  326. package/dist/Reducer.js.map +1 -1
  327. package/dist/Ref.d.ts +95 -165
  328. package/dist/Ref.d.ts.map +1 -1
  329. package/dist/Ref.js +75 -122
  330. package/dist/Ref.js.map +1 -1
  331. package/dist/References.d.ts +102 -168
  332. package/dist/References.d.ts.map +1 -1
  333. package/dist/References.js +102 -168
  334. package/dist/References.js.map +1 -1
  335. package/dist/RegExp.d.ts +10 -14
  336. package/dist/RegExp.d.ts.map +1 -1
  337. package/dist/RegExp.js +10 -14
  338. package/dist/RegExp.js.map +1 -1
  339. package/dist/Request.d.ts +31 -21
  340. package/dist/Request.d.ts.map +1 -1
  341. package/dist/Request.js +16 -13
  342. package/dist/Request.js.map +1 -1
  343. package/dist/RequestResolver.d.ts +201 -90
  344. package/dist/RequestResolver.d.ts.map +1 -1
  345. package/dist/RequestResolver.js +87 -41
  346. package/dist/RequestResolver.js.map +1 -1
  347. package/dist/Resource.js.map +1 -1
  348. package/dist/Result.d.ts +302 -470
  349. package/dist/Result.d.ts.map +1 -1
  350. package/dist/Result.js +133 -217
  351. package/dist/Result.js.map +1 -1
  352. package/dist/Runtime.d.ts +50 -75
  353. package/dist/Runtime.d.ts.map +1 -1
  354. package/dist/Runtime.js +39 -60
  355. package/dist/Runtime.js.map +1 -1
  356. package/dist/Schedule.d.ts +290 -1636
  357. package/dist/Schedule.d.ts.map +1 -1
  358. package/dist/Schedule.js +162 -803
  359. package/dist/Schedule.js.map +1 -1
  360. package/dist/Scheduler.d.ts +5 -5
  361. package/dist/Scheduler.d.ts.map +1 -1
  362. package/dist/Scheduler.js +18 -6
  363. package/dist/Scheduler.js.map +1 -1
  364. package/dist/Schema.d.ts +644 -642
  365. package/dist/Schema.d.ts.map +1 -1
  366. package/dist/Schema.js +491 -527
  367. package/dist/Schema.js.map +1 -1
  368. package/dist/SchemaAST.d.ts +27 -50
  369. package/dist/SchemaAST.d.ts.map +1 -1
  370. package/dist/SchemaAST.js +366 -279
  371. package/dist/SchemaAST.js.map +1 -1
  372. package/dist/SchemaError.d.ts +7 -6
  373. package/dist/SchemaError.d.ts.map +1 -1
  374. package/dist/SchemaError.js +7 -6
  375. package/dist/SchemaError.js.map +1 -1
  376. package/dist/SchemaGetter.d.ts +217 -174
  377. package/dist/SchemaGetter.d.ts.map +1 -1
  378. package/dist/SchemaGetter.js +218 -185
  379. package/dist/SchemaGetter.js.map +1 -1
  380. package/dist/SchemaIssue.d.ts +62 -190
  381. package/dist/SchemaIssue.d.ts.map +1 -1
  382. package/dist/SchemaIssue.js +73 -265
  383. package/dist/SchemaIssue.js.map +1 -1
  384. package/dist/SchemaParser.d.ts +2 -2
  385. package/dist/SchemaParser.d.ts.map +1 -1
  386. package/dist/SchemaParser.js +123 -75
  387. package/dist/SchemaParser.js.map +1 -1
  388. package/dist/SchemaRepresentation.d.ts +22 -36
  389. package/dist/SchemaRepresentation.d.ts.map +1 -1
  390. package/dist/SchemaRepresentation.js +20 -26
  391. package/dist/SchemaRepresentation.js.map +1 -1
  392. package/dist/SchemaTransformation.d.ts +114 -74
  393. package/dist/SchemaTransformation.d.ts.map +1 -1
  394. package/dist/SchemaTransformation.js +120 -85
  395. package/dist/SchemaTransformation.js.map +1 -1
  396. package/dist/Scope.d.ts +123 -151
  397. package/dist/Scope.d.ts.map +1 -1
  398. package/dist/Scope.js +72 -92
  399. package/dist/Scope.js.map +1 -1
  400. package/dist/ScopedCache.js.map +1 -1
  401. package/dist/ScopedRef.d.ts +3 -3
  402. package/dist/ScopedRef.js +2 -2
  403. package/dist/ScopedRef.js.map +1 -1
  404. package/dist/Semaphore.d.ts +96 -10
  405. package/dist/Semaphore.d.ts.map +1 -1
  406. package/dist/Semaphore.js +78 -39
  407. package/dist/Semaphore.js.map +1 -1
  408. package/dist/Sink.d.ts +117 -107
  409. package/dist/Sink.d.ts.map +1 -1
  410. package/dist/Sink.js +107 -100
  411. package/dist/Sink.js.map +1 -1
  412. package/dist/Stdio.d.ts +1 -1
  413. package/dist/Stdio.js.map +1 -1
  414. package/dist/Stream.d.ts +2415 -2949
  415. package/dist/Stream.d.ts.map +1 -1
  416. package/dist/Stream.js +1078 -1381
  417. package/dist/Stream.js.map +1 -1
  418. package/dist/String.d.ts +262 -308
  419. package/dist/String.d.ts.map +1 -1
  420. package/dist/String.js +184 -215
  421. package/dist/String.js.map +1 -1
  422. package/dist/Struct.d.ts +109 -114
  423. package/dist/Struct.d.ts.map +1 -1
  424. package/dist/Struct.js +41 -50
  425. package/dist/Struct.js.map +1 -1
  426. package/dist/SubscriptionRef.d.ts +282 -250
  427. package/dist/SubscriptionRef.d.ts.map +1 -1
  428. package/dist/SubscriptionRef.js +104 -92
  429. package/dist/SubscriptionRef.js.map +1 -1
  430. package/dist/Symbol.d.ts +3 -3
  431. package/dist/Symbol.js +3 -3
  432. package/dist/Symbol.js.map +1 -1
  433. package/dist/SynchronizedRef.js.map +1 -1
  434. package/dist/Take.js.map +1 -1
  435. package/dist/Terminal.d.ts +2 -2
  436. package/dist/Terminal.js +1 -1
  437. package/dist/Terminal.js.map +1 -1
  438. package/dist/Tracer.d.ts +100 -54
  439. package/dist/Tracer.d.ts.map +1 -1
  440. package/dist/Tracer.js +41 -24
  441. package/dist/Tracer.js.map +1 -1
  442. package/dist/Trie.d.ts +287 -679
  443. package/dist/Trie.d.ts.map +1 -1
  444. package/dist/Trie.js +109 -251
  445. package/dist/Trie.js.map +1 -1
  446. package/dist/Tuple.d.ts +92 -127
  447. package/dist/Tuple.d.ts.map +1 -1
  448. package/dist/Tuple.js +42 -57
  449. package/dist/Tuple.js.map +1 -1
  450. package/dist/TxChunk.d.ts +201 -121
  451. package/dist/TxChunk.d.ts.map +1 -1
  452. package/dist/TxChunk.js +85 -56
  453. package/dist/TxChunk.js.map +1 -1
  454. package/dist/TxDeferred.d.ts +62 -46
  455. package/dist/TxDeferred.d.ts.map +1 -1
  456. package/dist/TxDeferred.js +30 -22
  457. package/dist/TxDeferred.js.map +1 -1
  458. package/dist/TxHashMap.d.ts +631 -779
  459. package/dist/TxHashMap.d.ts.map +1 -1
  460. package/dist/TxHashMap.js +268 -330
  461. package/dist/TxHashMap.js.map +1 -1
  462. package/dist/TxHashSet.d.ts +297 -236
  463. package/dist/TxHashSet.d.ts.map +1 -1
  464. package/dist/TxHashSet.js +130 -100
  465. package/dist/TxHashSet.js.map +1 -1
  466. package/dist/TxPriorityQueue.d.ts +126 -95
  467. package/dist/TxPriorityQueue.d.ts.map +1 -1
  468. package/dist/TxPriorityQueue.js +74 -56
  469. package/dist/TxPriorityQueue.js.map +1 -1
  470. package/dist/TxPubSub.d.ts +101 -88
  471. package/dist/TxPubSub.d.ts.map +1 -1
  472. package/dist/TxPubSub.js +87 -66
  473. package/dist/TxPubSub.js.map +1 -1
  474. package/dist/TxQueue.d.ts +200 -180
  475. package/dist/TxQueue.d.ts.map +1 -1
  476. package/dist/TxQueue.js +160 -136
  477. package/dist/TxQueue.js.map +1 -1
  478. package/dist/TxReentrantLock.d.ts +97 -66
  479. package/dist/TxReentrantLock.d.ts.map +1 -1
  480. package/dist/TxReentrantLock.js +67 -45
  481. package/dist/TxReentrantLock.js.map +1 -1
  482. package/dist/TxRef.d.ts +51 -32
  483. package/dist/TxRef.d.ts.map +1 -1
  484. package/dist/TxRef.js +23 -15
  485. package/dist/TxRef.js.map +1 -1
  486. package/dist/TxSemaphore.d.ts +129 -95
  487. package/dist/TxSemaphore.d.ts.map +1 -1
  488. package/dist/TxSemaphore.js +85 -70
  489. package/dist/TxSemaphore.js.map +1 -1
  490. package/dist/TxSubscriptionRef.d.ts +97 -70
  491. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  492. package/dist/TxSubscriptionRef.js +44 -34
  493. package/dist/TxSubscriptionRef.js.map +1 -1
  494. package/dist/Types.d.ts +126 -67
  495. package/dist/Types.d.ts.map +1 -1
  496. package/dist/UndefinedOr.js.map +1 -1
  497. package/dist/Unify.d.ts +45 -65
  498. package/dist/Unify.d.ts.map +1 -1
  499. package/dist/Unify.js +6 -9
  500. package/dist/Unify.js.map +1 -1
  501. package/dist/Utils.d.ts +23 -16
  502. package/dist/Utils.d.ts.map +1 -1
  503. package/dist/Utils.js +3 -7
  504. package/dist/Utils.js.map +1 -1
  505. package/dist/index.js.map +1 -1
  506. package/dist/internal/array.js.map +1 -1
  507. package/dist/internal/core.js +1 -1
  508. package/dist/internal/core.js.map +1 -1
  509. package/dist/internal/dateTime.js +4 -0
  510. package/dist/internal/dateTime.js.map +1 -1
  511. package/dist/internal/doNotation.js.map +1 -1
  512. package/dist/internal/effect.js +77 -40
  513. package/dist/internal/effect.js.map +1 -1
  514. package/dist/internal/equal.js.map +1 -1
  515. package/dist/internal/errors.js.map +1 -1
  516. package/dist/internal/executionPlan.js.map +1 -1
  517. package/dist/internal/hashMap.js.map +1 -1
  518. package/dist/internal/hashSet.js.map +1 -1
  519. package/dist/internal/layer.js.map +1 -1
  520. package/dist/internal/matcher.js.map +1 -1
  521. package/dist/internal/metric.js.map +1 -1
  522. package/dist/internal/option.js.map +1 -1
  523. package/dist/internal/persistence.d.ts +2 -0
  524. package/dist/internal/persistence.d.ts.map +1 -0
  525. package/dist/internal/persistence.js +3 -0
  526. package/dist/internal/persistence.js.map +1 -0
  527. package/dist/internal/random.js.map +1 -1
  528. package/dist/internal/rcRef.js.map +1 -1
  529. package/dist/internal/record.js.map +1 -1
  530. package/dist/internal/redacted.js.map +1 -1
  531. package/dist/internal/references.js +3 -0
  532. package/dist/internal/references.js.map +1 -1
  533. package/dist/internal/request.js.map +1 -1
  534. package/dist/internal/result.js.map +1 -1
  535. package/dist/internal/schedule.js.map +1 -1
  536. package/dist/internal/schema/annotations.js.map +1 -1
  537. package/dist/internal/schema/cause.js.map +1 -1
  538. package/dist/internal/schema/fromJsonSchemaDocument.js +13 -11
  539. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
  540. package/dist/internal/schema/fromRepresentation.js +8 -15
  541. package/dist/internal/schema/fromRepresentation.js.map +1 -1
  542. package/dist/internal/schema/parser.d.ts +14 -0
  543. package/dist/internal/schema/parser.d.ts.map +1 -0
  544. package/dist/internal/schema/parser.js +13 -0
  545. package/dist/internal/schema/parser.js.map +1 -0
  546. package/dist/internal/schema/schema.js.map +1 -1
  547. package/dist/internal/schema/toArbitrary.js.map +1 -1
  548. package/dist/internal/schema/toCodeDocument.js.map +1 -1
  549. package/dist/internal/schema/toEquivalence.js.map +1 -1
  550. package/dist/internal/schema/toJsonSchemaDocument.js +48 -6
  551. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
  552. package/dist/internal/schema/toRepresentation.js +87 -107
  553. package/dist/internal/schema/toRepresentation.js.map +1 -1
  554. package/dist/internal/stackTraceLimit.js.map +1 -1
  555. package/dist/internal/stream.js.map +1 -1
  556. package/dist/internal/tracer.js.map +1 -1
  557. package/dist/internal/trie.js +13 -9
  558. package/dist/internal/trie.js.map +1 -1
  559. package/dist/testing/FastCheck.d.ts +8 -7
  560. package/dist/testing/FastCheck.d.ts.map +1 -1
  561. package/dist/testing/FastCheck.js +8 -7
  562. package/dist/testing/FastCheck.js.map +1 -1
  563. package/dist/testing/TestClock.d.ts +57 -28
  564. package/dist/testing/TestClock.d.ts.map +1 -1
  565. package/dist/testing/TestClock.js +50 -18
  566. package/dist/testing/TestClock.js.map +1 -1
  567. package/dist/testing/TestConsole.d.ts +32 -31
  568. package/dist/testing/TestConsole.d.ts.map +1 -1
  569. package/dist/testing/TestConsole.js +24 -22
  570. package/dist/testing/TestConsole.js.map +1 -1
  571. package/dist/testing/TestSchema.d.ts +29 -29
  572. package/dist/testing/TestSchema.js +25 -25
  573. package/dist/testing/TestSchema.js.map +1 -1
  574. package/dist/testing/index.js.map +1 -1
  575. package/dist/unstable/ai/AiError.d.ts +95 -118
  576. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  577. package/dist/unstable/ai/AiError.js +94 -117
  578. package/dist/unstable/ai/AiError.js.map +1 -1
  579. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
  580. package/dist/unstable/ai/AnthropicStructuredOutput.js +1 -1
  581. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  582. package/dist/unstable/ai/Chat.d.ts +132 -97
  583. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  584. package/dist/unstable/ai/Chat.js +55 -51
  585. package/dist/unstable/ai/Chat.js.map +1 -1
  586. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  587. package/dist/unstable/ai/IdGenerator.d.ts +32 -28
  588. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  589. package/dist/unstable/ai/IdGenerator.js +26 -21
  590. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  591. package/dist/unstable/ai/LanguageModel.d.ts +107 -67
  592. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  593. package/dist/unstable/ai/LanguageModel.js +104 -64
  594. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  595. package/dist/unstable/ai/McpProtocol.d.ts +30 -0
  596. package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
  597. package/dist/unstable/ai/McpProtocol.js +20 -0
  598. package/dist/unstable/ai/McpProtocol.js.map +1 -0
  599. package/dist/unstable/ai/McpSchema.d.ts +141 -75
  600. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  601. package/dist/unstable/ai/McpSchema.js +58 -50
  602. package/dist/unstable/ai/McpSchema.js.map +1 -1
  603. package/dist/unstable/ai/McpServer.d.ts +68 -59
  604. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  605. package/dist/unstable/ai/McpServer.js +694 -241
  606. package/dist/unstable/ai/McpServer.js.map +1 -1
  607. package/dist/unstable/ai/Model.d.ts +8 -19
  608. package/dist/unstable/ai/Model.d.ts.map +1 -1
  609. package/dist/unstable/ai/Model.js +9 -20
  610. package/dist/unstable/ai/Model.js.map +1 -1
  611. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
  612. package/dist/unstable/ai/OpenAiStructuredOutput.js +1 -1
  613. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  614. package/dist/unstable/ai/Prompt.d.ts +112 -38
  615. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  616. package/dist/unstable/ai/Prompt.js +53 -17
  617. package/dist/unstable/ai/Prompt.js.map +1 -1
  618. package/dist/unstable/ai/Response.d.ts +28 -14
  619. package/dist/unstable/ai/Response.d.ts.map +1 -1
  620. package/dist/unstable/ai/Response.js +9 -4
  621. package/dist/unstable/ai/Response.js.map +1 -1
  622. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  623. package/dist/unstable/ai/Telemetry.d.ts +46 -13
  624. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  625. package/dist/unstable/ai/Telemetry.js +18 -7
  626. package/dist/unstable/ai/Telemetry.js.map +1 -1
  627. package/dist/unstable/ai/Tokenizer.d.ts +14 -3
  628. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  629. package/dist/unstable/ai/Tokenizer.js +10 -2
  630. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  631. package/dist/unstable/ai/Tool.d.ts +59 -44
  632. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  633. package/dist/unstable/ai/Tool.js +48 -39
  634. package/dist/unstable/ai/Tool.js.map +1 -1
  635. package/dist/unstable/ai/Toolkit.d.ts +26 -8
  636. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  637. package/dist/unstable/ai/Toolkit.js +18 -4
  638. package/dist/unstable/ai/Toolkit.js.map +1 -1
  639. package/dist/unstable/ai/index.d.ts +4 -0
  640. package/dist/unstable/ai/index.d.ts.map +1 -1
  641. package/dist/unstable/ai/index.js +4 -0
  642. package/dist/unstable/ai/index.js.map +1 -1
  643. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  644. package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
  645. package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
  646. package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
  647. package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
  648. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
  649. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
  650. package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
  651. package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
  652. package/dist/unstable/ai/internal/structured-output.js +14 -15
  653. package/dist/unstable/ai/internal/structured-output.js.map +1 -1
  654. package/dist/unstable/cli/Argument.d.ts +273 -69
  655. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  656. package/dist/unstable/cli/Argument.js +111 -33
  657. package/dist/unstable/cli/Argument.js.map +1 -1
  658. package/dist/unstable/cli/CliConfig.js.map +1 -1
  659. package/dist/unstable/cli/CliError.d.ts +69 -76
  660. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  661. package/dist/unstable/cli/CliError.js +57 -61
  662. package/dist/unstable/cli/CliError.js.map +1 -1
  663. package/dist/unstable/cli/CliOutput.d.ts +35 -54
  664. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  665. package/dist/unstable/cli/CliOutput.js +26 -42
  666. package/dist/unstable/cli/CliOutput.js.map +1 -1
  667. package/dist/unstable/cli/Command.d.ts +705 -107
  668. package/dist/unstable/cli/Command.d.ts.map +1 -1
  669. package/dist/unstable/cli/Command.js +238 -42
  670. package/dist/unstable/cli/Command.js.map +1 -1
  671. package/dist/unstable/cli/Completions.js.map +1 -1
  672. package/dist/unstable/cli/Flag.d.ts +418 -138
  673. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  674. package/dist/unstable/cli/Flag.js +197 -71
  675. package/dist/unstable/cli/Flag.js.map +1 -1
  676. package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
  677. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  678. package/dist/unstable/cli/HelpDoc.d.ts +12 -4
  679. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  680. package/dist/unstable/cli/Param.d.ts +292 -78
  681. package/dist/unstable/cli/Param.d.ts.map +1 -1
  682. package/dist/unstable/cli/Param.js +128 -46
  683. package/dist/unstable/cli/Param.js.map +1 -1
  684. package/dist/unstable/cli/Primitive.d.ts +370 -149
  685. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  686. package/dist/unstable/cli/Primitive.js +344 -136
  687. package/dist/unstable/cli/Primitive.js.map +1 -1
  688. package/dist/unstable/cli/Prompt.d.ts +23 -14
  689. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  690. package/dist/unstable/cli/Prompt.js +23 -14
  691. package/dist/unstable/cli/Prompt.js.map +1 -1
  692. package/dist/unstable/cli/index.js.map +1 -1
  693. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  694. package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
  695. package/dist/unstable/cli/internal/command.js.map +1 -1
  696. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  697. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  698. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  699. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  700. package/dist/unstable/cli/internal/config.js.map +1 -1
  701. package/dist/unstable/cli/internal/help.js.map +1 -1
  702. package/dist/unstable/cli/internal/lexer.js +17 -7
  703. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  704. package/dist/unstable/cli/internal/parser.js +2 -2
  705. package/dist/unstable/cli/internal/parser.js.map +1 -1
  706. package/dist/unstable/cli/internal/wizard.js.map +1 -1
  707. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  708. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  709. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  710. package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
  711. package/dist/unstable/cluster/ClusterSchema.js +8 -8
  712. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  713. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  714. package/dist/unstable/cluster/ClusterWorkflowEngine.js +5 -1
  715. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  716. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  717. package/dist/unstable/cluster/Entity.d.ts +10 -10
  718. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  719. package/dist/unstable/cluster/Entity.js +8 -8
  720. package/dist/unstable/cluster/Entity.js.map +1 -1
  721. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  722. package/dist/unstable/cluster/EntityId.js.map +1 -1
  723. package/dist/unstable/cluster/EntityProxy.d.ts +4 -2
  724. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  725. package/dist/unstable/cluster/EntityProxy.js +4 -2
  726. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  727. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  728. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  729. package/dist/unstable/cluster/EntityResource.js +2 -2
  730. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  731. package/dist/unstable/cluster/EntityType.js.map +1 -1
  732. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  733. package/dist/unstable/cluster/Envelope.js +3 -3
  734. package/dist/unstable/cluster/Envelope.js.map +1 -1
  735. package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
  736. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  737. package/dist/unstable/cluster/HttpRunner.js +6 -4
  738. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  739. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  740. package/dist/unstable/cluster/MachineId.js.map +1 -1
  741. package/dist/unstable/cluster/Message.d.ts +9 -9
  742. package/dist/unstable/cluster/Message.js +6 -6
  743. package/dist/unstable/cluster/Message.js.map +1 -1
  744. package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
  745. package/dist/unstable/cluster/MessageStorage.js +5 -5
  746. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  747. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  748. package/dist/unstable/cluster/Reply.js +4 -4
  749. package/dist/unstable/cluster/Reply.js.map +1 -1
  750. package/dist/unstable/cluster/Runner.js.map +1 -1
  751. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  752. package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
  753. package/dist/unstable/cluster/RunnerHealth.js +1 -1
  754. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  755. package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
  756. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  757. package/dist/unstable/cluster/RunnerServer.js +16 -16
  758. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  759. package/dist/unstable/cluster/RunnerStorage.d.ts +2 -2
  760. package/dist/unstable/cluster/RunnerStorage.js +1 -1
  761. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  762. package/dist/unstable/cluster/Runners.d.ts +6 -6
  763. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  764. package/dist/unstable/cluster/Runners.js +19 -10
  765. package/dist/unstable/cluster/Runners.js.map +1 -1
  766. package/dist/unstable/cluster/ShardId.js.map +1 -1
  767. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  768. package/dist/unstable/cluster/Sharding.js +3 -2
  769. package/dist/unstable/cluster/Sharding.js.map +1 -1
  770. package/dist/unstable/cluster/ShardingConfig.d.ts +3 -3
  771. package/dist/unstable/cluster/ShardingConfig.js +3 -3
  772. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  773. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  774. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  775. package/dist/unstable/cluster/Singleton.js.map +1 -1
  776. package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
  777. package/dist/unstable/cluster/SingletonAddress.js +1 -1
  778. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  779. package/dist/unstable/cluster/Snowflake.d.ts +8 -8
  780. package/dist/unstable/cluster/Snowflake.js +8 -8
  781. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  782. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  783. package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
  784. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  785. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  786. package/dist/unstable/cluster/SqlRunnerStorage.js +20 -5
  787. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  788. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  789. package/dist/unstable/cluster/index.js.map +1 -1
  790. package/dist/unstable/cluster/internal/entityManager.js +5 -5
  791. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  792. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  793. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  794. package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
  795. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  796. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  797. package/dist/unstable/cluster/internal/shardLock.js.map +1 -1
  798. package/dist/unstable/devtools/DevTools.js.map +1 -1
  799. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  800. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  801. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  802. package/dist/unstable/devtools/index.js.map +1 -1
  803. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  804. package/dist/unstable/encoding/Msgpack.js +6 -8
  805. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  806. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  807. package/dist/unstable/encoding/Sse.d.ts +72 -8
  808. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  809. package/dist/unstable/encoding/Sse.js +58 -8
  810. package/dist/unstable/encoding/Sse.js.map +1 -1
  811. package/dist/unstable/encoding/index.js.map +1 -1
  812. package/dist/unstable/eventlog/Event.d.ts +20 -20
  813. package/dist/unstable/eventlog/Event.js.map +1 -1
  814. package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
  815. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  816. package/dist/unstable/eventlog/EventJournal.d.ts +15 -15
  817. package/dist/unstable/eventlog/EventJournal.js +13 -13
  818. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  819. package/dist/unstable/eventlog/EventLog.d.ts +3 -3
  820. package/dist/unstable/eventlog/EventLog.js +3 -3
  821. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  822. package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
  823. package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
  824. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  825. package/dist/unstable/eventlog/EventLogMessage.d.ts +2 -2
  826. package/dist/unstable/eventlog/EventLogMessage.js +1 -1
  827. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  828. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
  829. package/dist/unstable/eventlog/EventLogRemote.js +1 -1
  830. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  831. package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
  832. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  833. package/dist/unstable/eventlog/EventLogServer.js +45 -21
  834. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  835. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
  836. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  837. package/dist/unstable/eventlog/EventLogServerEncrypted.js +13 -5
  838. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  839. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
  840. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  841. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +14 -6
  842. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  843. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
  844. package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
  845. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  846. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  847. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  848. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  849. package/dist/unstable/eventlog/index.js.map +1 -1
  850. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  851. package/dist/unstable/http/Cookies.d.ts +2 -2
  852. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  853. package/dist/unstable/http/Cookies.js +30 -18
  854. package/dist/unstable/http/Cookies.js.map +1 -1
  855. package/dist/unstable/http/Etag.d.ts +1 -1
  856. package/dist/unstable/http/Etag.js +1 -1
  857. package/dist/unstable/http/Etag.js.map +1 -1
  858. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  859. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  860. package/dist/unstable/http/Headers.d.ts +2 -2
  861. package/dist/unstable/http/Headers.js +2 -2
  862. package/dist/unstable/http/Headers.js.map +1 -1
  863. package/dist/unstable/http/HttpBody.d.ts +5 -3
  864. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  865. package/dist/unstable/http/HttpBody.js +11 -5
  866. package/dist/unstable/http/HttpBody.js.map +1 -1
  867. package/dist/unstable/http/HttpClient.d.ts +51 -44
  868. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  869. package/dist/unstable/http/HttpClient.js +46 -17
  870. package/dist/unstable/http/HttpClient.js.map +1 -1
  871. package/dist/unstable/http/HttpClientError.js.map +1 -1
  872. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  873. package/dist/unstable/http/HttpClientRequest.js +2 -0
  874. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  875. package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
  876. package/dist/unstable/http/HttpClientResponse.js +2 -2
  877. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  878. package/dist/unstable/http/HttpEffect.d.ts +6 -6
  879. package/dist/unstable/http/HttpEffect.js +3 -3
  880. package/dist/unstable/http/HttpEffect.js.map +1 -1
  881. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  882. package/dist/unstable/http/HttpMethod.d.ts +6 -9
  883. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  884. package/dist/unstable/http/HttpMethod.js +6 -9
  885. package/dist/unstable/http/HttpMethod.js.map +1 -1
  886. package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
  887. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  888. package/dist/unstable/http/HttpMiddleware.js +164 -39
  889. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  890. package/dist/unstable/http/HttpPlatform.d.ts +76 -0
  891. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  892. package/dist/unstable/http/HttpPlatform.js +32 -0
  893. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  894. package/dist/unstable/http/HttpRouter.d.ts +88 -89
  895. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  896. package/dist/unstable/http/HttpRouter.js +78 -79
  897. package/dist/unstable/http/HttpRouter.js.map +1 -1
  898. package/dist/unstable/http/HttpServer.d.ts +13 -13
  899. package/dist/unstable/http/HttpServer.js +6 -6
  900. package/dist/unstable/http/HttpServer.js.map +1 -1
  901. package/dist/unstable/http/HttpServerError.d.ts +2 -2
  902. package/dist/unstable/http/HttpServerError.js +2 -2
  903. package/dist/unstable/http/HttpServerError.js.map +1 -1
  904. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  905. package/dist/unstable/http/HttpServerRequest.js +4 -4
  906. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  907. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  908. package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
  909. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  910. package/dist/unstable/http/HttpServerResponse.js +10 -0
  911. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  912. package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
  913. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  914. package/dist/unstable/http/HttpStaticServer.js +35 -7
  915. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  916. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  917. package/dist/unstable/http/Multipart.d.ts +6 -6
  918. package/dist/unstable/http/Multipart.js +5 -5
  919. package/dist/unstable/http/Multipart.js.map +1 -1
  920. package/dist/unstable/http/Template.js.map +1 -1
  921. package/dist/unstable/http/Url.d.ts +33 -63
  922. package/dist/unstable/http/Url.d.ts.map +1 -1
  923. package/dist/unstable/http/Url.js +14 -28
  924. package/dist/unstable/http/Url.js.map +1 -1
  925. package/dist/unstable/http/UrlParams.d.ts +10 -18
  926. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  927. package/dist/unstable/http/UrlParams.js +9 -17
  928. package/dist/unstable/http/UrlParams.js.map +1 -1
  929. package/dist/unstable/http/index.js.map +1 -1
  930. package/dist/unstable/http/internal/compression.d.ts +2 -0
  931. package/dist/unstable/http/internal/compression.d.ts.map +1 -0
  932. package/dist/unstable/http/internal/compression.js +155 -0
  933. package/dist/unstable/http/internal/compression.js.map +1 -0
  934. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
  935. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  936. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
  937. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  938. package/dist/unstable/httpapi/HttpApiBuilder.js +10 -11
  939. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  940. package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
  941. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  942. package/dist/unstable/httpapi/HttpApiClient.js +11 -13
  943. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  944. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +42 -42
  945. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  946. package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
  947. package/dist/unstable/httpapi/HttpApiError.js +13 -13
  948. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  949. package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
  950. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  951. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
  952. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  953. package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
  954. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  955. package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
  956. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  957. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  958. package/dist/unstable/httpapi/HttpApiSchema.d.ts +6 -6
  959. package/dist/unstable/httpapi/HttpApiSchema.js +4 -4
  960. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  961. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  962. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  963. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  964. package/dist/unstable/httpapi/OpenApi.d.ts +13 -13
  965. package/dist/unstable/httpapi/OpenApi.js +13 -13
  966. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  967. package/dist/unstable/httpapi/index.js.map +1 -1
  968. package/dist/unstable/httpapi/internal/html.js.map +1 -1
  969. package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
  970. package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
  971. package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
  972. package/dist/unstable/observability/Otlp.js.map +1 -1
  973. package/dist/unstable/observability/OtlpExporter.d.ts +12 -14
  974. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  975. package/dist/unstable/observability/OtlpExporter.js +17 -4
  976. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  977. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  978. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -1
  979. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  980. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  981. package/dist/unstable/observability/OtlpResource.d.ts +16 -7
  982. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  983. package/dist/unstable/observability/OtlpResource.js +21 -12
  984. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  985. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  986. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  987. package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
  988. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  989. package/dist/unstable/observability/PrometheusMetrics.js +10 -3
  990. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  991. package/dist/unstable/observability/index.js.map +1 -1
  992. package/dist/unstable/observability/internal/otlpEnv.js +1 -1
  993. package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
  994. package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
  995. package/dist/unstable/observability/internal/protobuf.js +3 -0
  996. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  997. package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
  998. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  999. package/dist/unstable/persistence/KeyValueStore.js +22 -13
  1000. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1001. package/dist/unstable/persistence/Persistable.d.ts +8 -8
  1002. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1003. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1004. package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
  1005. package/dist/unstable/persistence/PersistedQueue.js +6 -6
  1006. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1007. package/dist/unstable/persistence/Persistence.d.ts +3 -3
  1008. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1009. package/dist/unstable/persistence/Persistence.js +91 -15
  1010. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1011. package/dist/unstable/persistence/RateLimiter.d.ts +26 -15
  1012. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1013. package/dist/unstable/persistence/RateLimiter.js +24 -13
  1014. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1015. package/dist/unstable/persistence/Redis.d.ts +2 -2
  1016. package/dist/unstable/persistence/Redis.js +1 -1
  1017. package/dist/unstable/persistence/Redis.js.map +1 -1
  1018. package/dist/unstable/persistence/index.js.map +1 -1
  1019. package/dist/unstable/process/ChildProcess.d.ts +64 -21
  1020. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1021. package/dist/unstable/process/ChildProcess.js +14 -5
  1022. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1023. package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
  1024. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1025. package/dist/unstable/process/ChildProcessSpawner.js +1 -1
  1026. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1027. package/dist/unstable/process/index.js.map +1 -1
  1028. package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
  1029. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1030. package/dist/unstable/reactivity/AsyncResult.js +10 -10
  1031. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1032. package/dist/unstable/reactivity/Atom.d.ts +25 -22
  1033. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1034. package/dist/unstable/reactivity/Atom.js +14 -13
  1035. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1036. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
  1037. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1038. package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
  1039. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1040. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1041. package/dist/unstable/reactivity/AtomRegistry.js +24 -3
  1042. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1043. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  1044. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1045. package/dist/unstable/reactivity/AtomRpc.js +4 -1
  1046. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1047. package/dist/unstable/reactivity/Hydration.d.ts +1 -1
  1048. package/dist/unstable/reactivity/Hydration.js +1 -1
  1049. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1050. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1051. package/dist/unstable/reactivity/index.js.map +1 -1
  1052. package/dist/unstable/rpc/Rpc.d.ts +35 -33
  1053. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1054. package/dist/unstable/rpc/Rpc.js +4 -2
  1055. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1056. package/dist/unstable/rpc/RpcClient.d.ts +12 -12
  1057. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1058. package/dist/unstable/rpc/RpcClient.js +12 -11
  1059. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1060. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1061. package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
  1062. package/dist/unstable/rpc/RpcGroup.js +1 -1
  1063. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1064. package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
  1065. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1066. package/dist/unstable/rpc/RpcMessage.js +6 -6
  1067. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1068. package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
  1069. package/dist/unstable/rpc/RpcMiddleware.js +1 -1
  1070. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1071. package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
  1072. package/dist/unstable/rpc/RpcSchema.js +3 -3
  1073. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1074. package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
  1075. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1076. package/dist/unstable/rpc/RpcSerialization.js +175 -96
  1077. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1078. package/dist/unstable/rpc/RpcServer.d.ts +13 -13
  1079. package/dist/unstable/rpc/RpcServer.js +17 -13
  1080. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1081. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1082. package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
  1083. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1084. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1085. package/dist/unstable/rpc/Utils.js.map +1 -1
  1086. package/dist/unstable/rpc/index.js.map +1 -1
  1087. package/dist/unstable/schema/Model.d.ts +52 -50
  1088. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1089. package/dist/unstable/schema/Model.js +35 -33
  1090. package/dist/unstable/schema/Model.js.map +1 -1
  1091. package/dist/unstable/schema/VariantSchema.d.ts +5 -5
  1092. package/dist/unstable/schema/VariantSchema.js +2 -2
  1093. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1094. package/dist/unstable/schema/index.js.map +1 -1
  1095. package/dist/unstable/socket/Socket.d.ts +11 -3
  1096. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1097. package/dist/unstable/socket/Socket.js +9 -4
  1098. package/dist/unstable/socket/Socket.js.map +1 -1
  1099. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1100. package/dist/unstable/socket/index.js.map +1 -1
  1101. package/dist/unstable/sql/Migrator.js.map +1 -1
  1102. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  1103. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1104. package/dist/unstable/sql/SqlClient.js +2 -2
  1105. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1106. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1107. package/dist/unstable/sql/SqlError.js.map +1 -1
  1108. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  1109. package/dist/unstable/sql/SqlModel.js +2 -2
  1110. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1111. package/dist/unstable/sql/SqlResolver.d.ts +5 -5
  1112. package/dist/unstable/sql/SqlResolver.js +2 -2
  1113. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1114. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1115. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1116. package/dist/unstable/sql/Statement.d.ts +6 -6
  1117. package/dist/unstable/sql/Statement.js +15 -15
  1118. package/dist/unstable/sql/Statement.js.map +1 -1
  1119. package/dist/unstable/sql/index.js.map +1 -1
  1120. package/dist/unstable/workers/Transferable.d.ts +1 -1
  1121. package/dist/unstable/workers/Transferable.js +1 -1
  1122. package/dist/unstable/workers/Transferable.js.map +1 -1
  1123. package/dist/unstable/workers/Worker.d.ts +2 -2
  1124. package/dist/unstable/workers/Worker.js +2 -2
  1125. package/dist/unstable/workers/Worker.js.map +1 -1
  1126. package/dist/unstable/workers/WorkerError.d.ts +7 -7
  1127. package/dist/unstable/workers/WorkerError.js +6 -6
  1128. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1129. package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
  1130. package/dist/unstable/workers/WorkerRunner.js +1 -1
  1131. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1132. package/dist/unstable/workers/index.js.map +1 -1
  1133. package/dist/unstable/workflow/Activity.d.ts +2 -2
  1134. package/dist/unstable/workflow/Activity.js +2 -2
  1135. package/dist/unstable/workflow/Activity.js.map +1 -1
  1136. package/dist/unstable/workflow/DurableClock.d.ts +1 -1
  1137. package/dist/unstable/workflow/DurableClock.js +1 -1
  1138. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1139. package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
  1140. package/dist/unstable/workflow/DurableDeferred.js +5 -5
  1141. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1142. package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
  1143. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1144. package/dist/unstable/workflow/DurableQueue.js +22 -20
  1145. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1146. package/dist/unstable/workflow/Workflow.d.ts +21 -21
  1147. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1148. package/dist/unstable/workflow/Workflow.js +13 -14
  1149. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1150. package/dist/unstable/workflow/WorkflowEngine.d.ts +1 -1
  1151. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1152. package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
  1153. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1154. package/dist/unstable/workflow/WorkflowProxy.js +4 -2
  1155. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1156. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1157. package/dist/unstable/workflow/index.js.map +1 -1
  1158. package/dist/unstable/workflow/internal/crypto.js.map +1 -1
  1159. package/package.json +5 -6
  1160. package/src/Array.ts +982 -1045
  1161. package/src/BigDecimal.ts +433 -756
  1162. package/src/BigInt.ts +213 -269
  1163. package/src/Boolean.ts +146 -188
  1164. package/src/Cache.ts +409 -255
  1165. package/src/Cause.ts +167 -277
  1166. package/src/Channel.ts +891 -816
  1167. package/src/ChannelSchema.ts +1 -1
  1168. package/src/Chunk.ts +841 -1181
  1169. package/src/Clock.ts +181 -49
  1170. package/src/Combiner.ts +20 -33
  1171. package/src/Config.ts +615 -332
  1172. package/src/ConfigProvider.ts +214 -120
  1173. package/src/Console.ts +289 -39
  1174. package/src/Context.ts +319 -378
  1175. package/src/Cron.ts +68 -77
  1176. package/src/Crypto.ts +13 -15
  1177. package/src/Data.ts +60 -80
  1178. package/src/DateTime.ts +564 -660
  1179. package/src/Deferred.ts +253 -256
  1180. package/src/Duration.ts +216 -308
  1181. package/src/Effect.ts +2893 -3279
  1182. package/src/Encoding.ts +22 -40
  1183. package/src/Equal.ts +49 -39
  1184. package/src/Equivalence.ts +103 -105
  1185. package/src/ErrorReporter.ts +51 -27
  1186. package/src/ExecutionPlan.ts +13 -55
  1187. package/src/Exit.ts +116 -192
  1188. package/src/Fiber.ts +81 -148
  1189. package/src/FiberHandle.ts +152 -105
  1190. package/src/FiberMap.ts +225 -174
  1191. package/src/FiberSet.ts +124 -82
  1192. package/src/FileSystem.ts +155 -263
  1193. package/src/Filter.ts +61 -33
  1194. package/src/Formatter.ts +54 -56
  1195. package/src/Function.ts +76 -145
  1196. package/src/Graph.ts +416 -770
  1197. package/src/HKT.ts +12 -6
  1198. package/src/Hash.ts +52 -83
  1199. package/src/HashMap.ts +319 -411
  1200. package/src/HashRing.ts +1 -0
  1201. package/src/HashSet.ts +177 -284
  1202. package/src/Inspectable.ts +12 -12
  1203. package/src/Iterable.ts +620 -786
  1204. package/src/JsonPatch.ts +58 -112
  1205. package/src/JsonPointer.ts +8 -8
  1206. package/src/JsonSchema.ts +402 -244
  1207. package/src/Latch.ts +23 -35
  1208. package/src/Layer.ts +359 -260
  1209. package/src/LayerMap.ts +49 -29
  1210. package/src/LayerRef.ts +6 -2
  1211. package/src/LogLevel.ts +114 -214
  1212. package/src/Logger.ts +344 -697
  1213. package/src/ManagedRuntime.ts +7 -5
  1214. package/src/Match.ts +217 -252
  1215. package/src/Metric.ts +516 -1089
  1216. package/src/MutableHashMap.ts +218 -255
  1217. package/src/MutableHashSet.ts +84 -89
  1218. package/src/MutableList.ts +73 -370
  1219. package/src/MutableRef.ts +420 -243
  1220. package/src/Newtype.ts +21 -14
  1221. package/src/NonEmptyIterable.ts +7 -137
  1222. package/src/Number.ts +196 -233
  1223. package/src/Optic.ts +243 -383
  1224. package/src/Option.ts +447 -812
  1225. package/src/Order.ts +109 -109
  1226. package/src/Ordering.ts +20 -23
  1227. package/src/Path.ts +38 -41
  1228. package/src/Pipeable.ts +6 -5
  1229. package/src/PlatformError.ts +4 -4
  1230. package/src/Pool.ts +4 -2
  1231. package/src/Predicate.ts +200 -181
  1232. package/src/PrimaryKey.ts +7 -7
  1233. package/src/PubSub.ts +526 -552
  1234. package/src/Pull.ts +24 -18
  1235. package/src/Queue.ts +200 -159
  1236. package/src/Random.ts +49 -74
  1237. package/src/RcMap.ts +121 -63
  1238. package/src/RcRef.ts +24 -13
  1239. package/src/Record.ts +291 -488
  1240. package/src/Redactable.ts +10 -3
  1241. package/src/Redacted.ts +25 -25
  1242. package/src/Reducer.ts +8 -15
  1243. package/src/Ref.ts +221 -361
  1244. package/src/References.ts +102 -168
  1245. package/src/RegExp.ts +10 -14
  1246. package/src/Request.ts +31 -21
  1247. package/src/RequestResolver.ts +202 -91
  1248. package/src/Result.ts +312 -484
  1249. package/src/Runtime.ts +50 -75
  1250. package/src/Schedule.ts +308 -1734
  1251. package/src/Scheduler.ts +20 -7
  1252. package/src/Schema.ts +716 -745
  1253. package/src/SchemaAST.ts +466 -358
  1254. package/src/SchemaError.ts +7 -6
  1255. package/src/SchemaGetter.ts +242 -190
  1256. package/src/SchemaIssue.ts +89 -275
  1257. package/src/SchemaParser.ts +180 -93
  1258. package/src/SchemaRepresentation.ts +22 -40
  1259. package/src/SchemaTransformation.ts +129 -88
  1260. package/src/Scope.ts +123 -151
  1261. package/src/ScopedRef.ts +4 -4
  1262. package/src/Semaphore.ts +152 -51
  1263. package/src/Sink.ts +128 -113
  1264. package/src/Stdio.ts +1 -1
  1265. package/src/Stream.ts +2602 -3123
  1266. package/src/String.ts +275 -312
  1267. package/src/Struct.ts +109 -114
  1268. package/src/SubscriptionRef.ts +284 -252
  1269. package/src/Symbol.ts +3 -3
  1270. package/src/Terminal.ts +2 -2
  1271. package/src/Tracer.ts +102 -55
  1272. package/src/Trie.ts +287 -679
  1273. package/src/Tuple.ts +92 -127
  1274. package/src/TxChunk.ts +201 -121
  1275. package/src/TxDeferred.ts +62 -46
  1276. package/src/TxHashMap.ts +645 -799
  1277. package/src/TxHashSet.ts +443 -356
  1278. package/src/TxPriorityQueue.ts +130 -98
  1279. package/src/TxPubSub.ts +107 -80
  1280. package/src/TxQueue.ts +214 -183
  1281. package/src/TxReentrantLock.ts +97 -66
  1282. package/src/TxRef.ts +51 -32
  1283. package/src/TxSemaphore.ts +129 -95
  1284. package/src/TxSubscriptionRef.ts +97 -70
  1285. package/src/Types.ts +126 -67
  1286. package/src/Unify.ts +45 -65
  1287. package/src/Utils.ts +23 -16
  1288. package/src/internal/core.ts +2 -2
  1289. package/src/internal/dateTime.ts +6 -0
  1290. package/src/internal/effect.ts +93 -48
  1291. package/src/internal/persistence.ts +2 -0
  1292. package/src/internal/references.ts +3 -2
  1293. package/src/internal/schema/fromJsonSchemaDocument.ts +15 -13
  1294. package/src/internal/schema/fromRepresentation.ts +10 -16
  1295. package/src/internal/schema/parser.ts +22 -0
  1296. package/src/internal/schema/toJsonSchemaDocument.ts +60 -6
  1297. package/src/internal/schema/toRepresentation.ts +104 -119
  1298. package/src/internal/trie.ts +10 -11
  1299. package/src/testing/FastCheck.ts +8 -7
  1300. package/src/testing/TestClock.ts +72 -30
  1301. package/src/testing/TestConsole.ts +32 -31
  1302. package/src/testing/TestSchema.ts +29 -29
  1303. package/src/unstable/ai/AiError.ts +95 -118
  1304. package/src/unstable/ai/AnthropicStructuredOutput.ts +1 -1
  1305. package/src/unstable/ai/Chat.ts +132 -97
  1306. package/src/unstable/ai/IdGenerator.ts +32 -28
  1307. package/src/unstable/ai/LanguageModel.ts +107 -67
  1308. package/src/unstable/ai/McpProtocol.ts +48 -0
  1309. package/src/unstable/ai/McpSchema.ts +60 -50
  1310. package/src/unstable/ai/McpServer.ts +930 -304
  1311. package/src/unstable/ai/Model.ts +9 -20
  1312. package/src/unstable/ai/OpenAiStructuredOutput.ts +1 -1
  1313. package/src/unstable/ai/Prompt.ts +145 -43
  1314. package/src/unstable/ai/Response.ts +28 -14
  1315. package/src/unstable/ai/Telemetry.ts +46 -13
  1316. package/src/unstable/ai/Tokenizer.ts +14 -3
  1317. package/src/unstable/ai/Tool.ts +59 -44
  1318. package/src/unstable/ai/Toolkit.ts +26 -8
  1319. package/src/unstable/ai/index.ts +5 -0
  1320. package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
  1321. package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
  1322. package/src/unstable/ai/internal/structured-output.ts +13 -18
  1323. package/src/unstable/cli/Argument.ts +273 -69
  1324. package/src/unstable/cli/CliError.ts +69 -76
  1325. package/src/unstable/cli/CliOutput.ts +44 -58
  1326. package/src/unstable/cli/Command.ts +705 -107
  1327. package/src/unstable/cli/Flag.ts +418 -138
  1328. package/src/unstable/cli/GlobalFlag.ts +1 -1
  1329. package/src/unstable/cli/HelpDoc.ts +12 -4
  1330. package/src/unstable/cli/Param.ts +292 -78
  1331. package/src/unstable/cli/Primitive.ts +370 -149
  1332. package/src/unstable/cli/Prompt.ts +28 -14
  1333. package/src/unstable/cli/internal/lexer.ts +8 -2
  1334. package/src/unstable/cli/internal/parser.ts +2 -2
  1335. package/src/unstable/cluster/ClusterSchema.ts +8 -8
  1336. package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -1
  1337. package/src/unstable/cluster/Entity.ts +15 -16
  1338. package/src/unstable/cluster/EntityProxy.ts +4 -2
  1339. package/src/unstable/cluster/EntityResource.ts +2 -2
  1340. package/src/unstable/cluster/Envelope.ts +3 -3
  1341. package/src/unstable/cluster/HttpRunner.ts +6 -4
  1342. package/src/unstable/cluster/Message.ts +9 -9
  1343. package/src/unstable/cluster/MessageStorage.ts +15 -15
  1344. package/src/unstable/cluster/Reply.ts +4 -6
  1345. package/src/unstable/cluster/RunnerHealth.ts +1 -1
  1346. package/src/unstable/cluster/RunnerServer.ts +41 -8
  1347. package/src/unstable/cluster/RunnerStorage.ts +2 -2
  1348. package/src/unstable/cluster/Runners.ts +23 -12
  1349. package/src/unstable/cluster/Sharding.ts +7 -8
  1350. package/src/unstable/cluster/ShardingConfig.ts +3 -3
  1351. package/src/unstable/cluster/SingletonAddress.ts +1 -1
  1352. package/src/unstable/cluster/Snowflake.ts +8 -8
  1353. package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
  1354. package/src/unstable/cluster/SqlRunnerStorage.ts +21 -5
  1355. package/src/unstable/cluster/internal/entityManager.ts +11 -15
  1356. package/src/unstable/encoding/Msgpack.ts +6 -8
  1357. package/src/unstable/encoding/Sse.ts +98 -16
  1358. package/src/unstable/eventlog/Event.ts +20 -20
  1359. package/src/unstable/eventlog/EventGroup.ts +4 -4
  1360. package/src/unstable/eventlog/EventJournal.ts +15 -15
  1361. package/src/unstable/eventlog/EventLog.ts +3 -3
  1362. package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
  1363. package/src/unstable/eventlog/EventLogMessage.ts +2 -2
  1364. package/src/unstable/eventlog/EventLogRemote.ts +1 -1
  1365. package/src/unstable/eventlog/EventLogServer.ts +41 -7
  1366. package/src/unstable/eventlog/EventLogServerEncrypted.ts +13 -5
  1367. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +14 -6
  1368. package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
  1369. package/src/unstable/http/Cookies.ts +35 -21
  1370. package/src/unstable/http/Etag.ts +1 -1
  1371. package/src/unstable/http/FetchHttpClient.ts +3 -1
  1372. package/src/unstable/http/Headers.ts +2 -2
  1373. package/src/unstable/http/HttpBody.ts +20 -5
  1374. package/src/unstable/http/HttpClient.ts +83 -55
  1375. package/src/unstable/http/HttpClientRequest.ts +2 -0
  1376. package/src/unstable/http/HttpClientResponse.ts +4 -4
  1377. package/src/unstable/http/HttpEffect.ts +8 -8
  1378. package/src/unstable/http/HttpMethod.ts +6 -9
  1379. package/src/unstable/http/HttpMiddleware.ts +202 -39
  1380. package/src/unstable/http/HttpPlatform.ts +95 -0
  1381. package/src/unstable/http/HttpRouter.ts +102 -98
  1382. package/src/unstable/http/HttpServer.ts +13 -13
  1383. package/src/unstable/http/HttpServerError.ts +2 -2
  1384. package/src/unstable/http/HttpServerRequest.ts +4 -4
  1385. package/src/unstable/http/HttpServerResponse.ts +30 -0
  1386. package/src/unstable/http/HttpStaticServer.ts +35 -7
  1387. package/src/unstable/http/Multipart.ts +6 -6
  1388. package/src/unstable/http/Url.ts +33 -63
  1389. package/src/unstable/http/UrlParams.ts +10 -18
  1390. package/src/unstable/http/internal/compression.ts +196 -0
  1391. package/src/unstable/httpapi/HttpApiBuilder.ts +10 -9
  1392. package/src/unstable/httpapi/HttpApiClient.ts +14 -14
  1393. package/src/unstable/httpapi/HttpApiEndpoint.ts +42 -42
  1394. package/src/unstable/httpapi/HttpApiError.ts +13 -13
  1395. package/src/unstable/httpapi/HttpApiGroup.ts +15 -15
  1396. package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
  1397. package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
  1398. package/src/unstable/httpapi/HttpApiSchema.ts +6 -6
  1399. package/src/unstable/httpapi/OpenApi.ts +13 -13
  1400. package/src/unstable/observability/OtlpExporter.ts +31 -19
  1401. package/src/unstable/observability/OtlpMetrics.ts +4 -1
  1402. package/src/unstable/observability/OtlpResource.ts +26 -17
  1403. package/src/unstable/observability/PrometheusMetrics.ts +13 -4
  1404. package/src/unstable/observability/internal/otlpEnv.ts +1 -1
  1405. package/src/unstable/observability/internal/protobuf.ts +3 -0
  1406. package/src/unstable/persistence/KeyValueStore.ts +72 -49
  1407. package/src/unstable/persistence/Persistable.ts +8 -8
  1408. package/src/unstable/persistence/PersistedQueue.ts +6 -6
  1409. package/src/unstable/persistence/Persistence.ts +126 -19
  1410. package/src/unstable/persistence/RateLimiter.ts +26 -15
  1411. package/src/unstable/persistence/Redis.ts +2 -2
  1412. package/src/unstable/process/ChildProcess.ts +64 -21
  1413. package/src/unstable/process/ChildProcessSpawner.ts +21 -10
  1414. package/src/unstable/reactivity/AsyncResult.ts +12 -13
  1415. package/src/unstable/reactivity/Atom.ts +28 -25
  1416. package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
  1417. package/src/unstable/reactivity/AtomRegistry.ts +24 -3
  1418. package/src/unstable/reactivity/AtomRpc.ts +5 -4
  1419. package/src/unstable/reactivity/Hydration.ts +1 -1
  1420. package/src/unstable/rpc/Rpc.ts +35 -33
  1421. package/src/unstable/rpc/RpcClient.ts +16 -15
  1422. package/src/unstable/rpc/RpcGroup.ts +8 -8
  1423. package/src/unstable/rpc/RpcMessage.ts +31 -30
  1424. package/src/unstable/rpc/RpcMiddleware.ts +10 -10
  1425. package/src/unstable/rpc/RpcSchema.ts +4 -4
  1426. package/src/unstable/rpc/RpcSerialization.ts +167 -68
  1427. package/src/unstable/rpc/RpcServer.ts +18 -15
  1428. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1429. package/src/unstable/schema/Model.ts +52 -50
  1430. package/src/unstable/schema/VariantSchema.ts +5 -5
  1431. package/src/unstable/socket/Socket.ts +17 -4
  1432. package/src/unstable/sql/SqlClient.ts +5 -6
  1433. package/src/unstable/sql/SqlModel.ts +2 -2
  1434. package/src/unstable/sql/SqlResolver.ts +5 -5
  1435. package/src/unstable/sql/Statement.ts +24 -23
  1436. package/src/unstable/workers/Transferable.ts +1 -1
  1437. package/src/unstable/workers/Worker.ts +2 -2
  1438. package/src/unstable/workers/WorkerError.ts +7 -7
  1439. package/src/unstable/workers/WorkerRunner.ts +1 -1
  1440. package/src/unstable/workflow/Activity.ts +2 -2
  1441. package/src/unstable/workflow/DurableClock.ts +1 -1
  1442. package/src/unstable/workflow/DurableDeferred.ts +10 -10
  1443. package/src/unstable/workflow/DurableQueue.ts +22 -20
  1444. package/src/unstable/workflow/Workflow.ts +23 -23
  1445. package/src/unstable/workflow/WorkflowEngine.ts +1 -1
  1446. package/src/unstable/workflow/WorkflowProxy.ts +4 -2
  1447. package/dist/internal/version.d.ts +0 -3
  1448. package/dist/internal/version.d.ts.map +0 -1
  1449. package/dist/internal/version.js +0 -2
  1450. package/dist/internal/version.js.map +0 -1
  1451. package/src/internal/version.ts +0 -2
@@ -24,42 +24,17 @@ declare const TypeId = "~effect/Schedule";
24
24
  *
25
25
  * **Example** (Defining retry and repeat schedules)
26
26
  *
27
- * ```ts
28
- * import { Console, Data, Effect, Schedule } from "effect"
29
- *
30
- * class NetworkError extends Data.TaggedError("NetworkError")<{
31
- * readonly attempt: number
32
- * }> {}
33
- *
34
- * // Basic retry schedule - retry up to 3 times with exponential backoff
35
- * const retrySchedule = Schedule.max([
36
- * Schedule.exponential("100 millis"),
37
- * Schedule.recurs(3)
38
- * ])
27
+ * ```ts import.meta.vitest
28
+ * import { Effect, Schedule } from "effect"
29
+ * import { TestClock } from "effect/testing"
39
30
  *
40
- * // Basic repeat schedule - repeat every 30 seconds forever
41
- * const repeatSchedule: Schedule.Schedule<number, unknown, never> = Schedule
42
- * .spaced("30 seconds")
31
+ * const executions: Array<number> = []
32
+ * const program = Effect.sync(() => executions.push(executions.length + 1)).pipe(
33
+ * Effect.repeat(Schedule.recurs(2)),
34
+ * Effect.as(executions)
35
+ * )
43
36
  *
44
- * const program = Effect.gen(function*() {
45
- * let attempts = 0
46
- *
47
- * const result1 = yield* Effect.retry(
48
- * Effect.gen(function*() {
49
- * attempts++
50
- * if (attempts < 3) {
51
- * return yield* Effect.fail(new NetworkError({ attempt: attempts }))
52
- * }
53
- * return "Success"
54
- * }),
55
- * retrySchedule
56
- * )
57
- * console.log(result1) // "Success"
58
- *
59
- * yield* Console.log("heartbeat").pipe(
60
- * Effect.repeat(repeatSchedule.pipe(Schedule.upTo({ times: 5 })))
61
- * )
62
- * })
37
+ * await Effect.runPromise(Effect.provide(program, TestClock.layer())) // => [1, 2, 3]
63
38
  * ```
64
39
  *
65
40
  * @category models
@@ -101,7 +76,7 @@ export interface Metadata<Output = unknown, Input = unknown> extends InputMetada
101
76
  * input and output values, zero duration, and zeroed timing fields before any
102
77
  * schedule step has produced metadata.
103
78
  *
104
- * @category metadata
79
+ * @category services
105
80
  * @since 4.0.0
106
81
  */
107
82
  export declare const CurrentMetadata: Context.Reference<Metadata<unknown, unknown>>;
@@ -116,27 +91,11 @@ export declare namespace Schedule {
116
91
  *
117
92
  * **Example** (Understanding schedule variance)
118
93
  *
119
- * ```ts
120
- * import { Effect, Schedule } from "effect"
121
- *
122
- * // Understanding Schedule variance:
123
- * // - Output: covariant (can be a subtype)
124
- * // - Input: contravariant (can accept supertypes)
125
- * // - Error: covariant (can be a subtype)
126
- * // - Env: covariant (can be a subtype)
127
- *
128
- * // Schedule that produces strings, accepts any input
129
- * const stringSchedule = Schedule.spaced("1 second").pipe(
130
- * Schedule.map(() => Effect.succeed("tick"))
131
- * )
94
+ * ```ts import.meta.vitest
95
+ * import { Schedule } from "effect"
132
96
  *
133
- * // Schedule that only accepts Error inputs
134
- * const errorSchedule = Schedule.exponential("100 millis").pipe(
135
- * Schedule.upTo({ times: 5 })
136
- * )
137
- *
138
- * // Schedule requiring a service environment
139
- * const serviceSchedule = Schedule.spaced("5 seconds")
97
+ * const schedule: Schedule.Schedule<number, unknown, never, never> = Schedule.recurs(2)
98
+ * Schedule.isSchedule(schedule) // => true
140
99
  * ```
141
100
  *
142
101
  * @category models
@@ -167,28 +126,28 @@ export declare namespace Schedule {
167
126
  /**
168
127
  * Extracts the output type from a `Schedule`.
169
128
  *
170
- * @category type extractors
129
+ * @category utility types
171
130
  * @since 4.0.0
172
131
  */
173
132
  export type Output<S> = S extends Schedule<infer Output, any, any, any> ? Output : never;
174
133
  /**
175
134
  * Extracts the input type from a `Schedule`.
176
135
  *
177
- * @category type extractors
136
+ * @category utility types
178
137
  * @since 4.0.0
179
138
  */
180
139
  export type Input<S> = S extends Schedule<any, infer Input, any, any> ? Input : never;
181
140
  /**
182
141
  * Extracts the error type from a `Schedule`.
183
142
  *
184
- * @category type extractors
143
+ * @category utility types
185
144
  * @since 4.0.0
186
145
  */
187
146
  export type Error<S> = S extends Schedule<any, any, infer Error, any> ? Error : never;
188
147
  /**
189
148
  * Extracts the service requirements from a `Schedule`.
190
149
  *
191
- * @category type extractors
150
+ * @category utility types
192
151
  * @since 4.0.0
193
152
  */
194
153
  export type Env<S> = S extends Schedule<any, any, any, infer Env> ? Env : never;
@@ -197,16 +156,16 @@ export type Env<S> = S extends Schedule<any, any, any, infer Env> ? Env : never;
197
156
  *
198
157
  * **Example** (Checking for schedules)
199
158
  *
200
- * ```ts
159
+ * ```ts import.meta.vitest
201
160
  * import { Schedule } from "effect"
202
161
  *
203
162
  * const schedule = Schedule.exponential("100 millis")
204
163
  * const notSchedule = { foo: "bar" }
205
164
  *
206
- * console.log(Schedule.isSchedule(schedule)) // true
207
- * console.log(Schedule.isSchedule(notSchedule)) // false
208
- * console.log(Schedule.isSchedule(null)) // false
209
- * console.log(Schedule.isSchedule(undefined)) // false
165
+ * Schedule.isSchedule(schedule) // => true
166
+ * Schedule.isSchedule(notSchedule) // => false
167
+ * Schedule.isSchedule(null) // => false
168
+ * Schedule.isSchedule(undefined) // => false
210
169
  * ```
211
170
  *
212
171
  * @category guards
@@ -218,7 +177,7 @@ export declare const isSchedule: (u: unknown) => u is Schedule<unknown, never, u
218
177
  *
219
178
  * **Example** (Creating a custom schedule from a step function)
220
179
  *
221
- * ```ts
180
+ * ```ts import.meta.vitest
222
181
  * import { Cause, Duration, Effect, Schedule } from "effect"
223
182
  *
224
183
  * const schedule = Schedule.fromStep(Effect.sync(() => {
@@ -231,6 +190,14 @@ export declare const isSchedule: (u: unknown) => u is Schedule<unknown, never, u
231
190
  * return Effect.succeed([count++, Duration.millis(100)] as [number, Duration.Duration])
232
191
  * }
233
192
  * }))
193
+ *
194
+ * const program = Effect.gen(function*() {
195
+ * const step = yield* Schedule.toStep(schedule)
196
+ * const [output] = yield* step(0, "input")
197
+ * return output
198
+ * })
199
+ *
200
+ * await Effect.runPromise(program) // => 0
234
201
  * ```
235
202
  *
236
203
  * @category constructors
@@ -242,7 +209,7 @@ export declare const fromStep: <Input, Output, EnvX, Error, ErrorX, Env>(step: E
242
209
  *
243
210
  * **Example** (Creating a metadata-aware schedule)
244
211
  *
245
- * ```ts
212
+ * ```ts import.meta.vitest
246
213
  * import { Cause, Duration, Effect, Schedule } from "effect"
247
214
  *
248
215
  * const firstThreeInputs = Schedule.fromStepWithMetadata(Effect.succeed((metadata: Schedule.InputMetadata<string>) => {
@@ -255,6 +222,14 @@ export declare const fromStep: <Input, Output, EnvX, Error, ErrorX, Env>(step: E
255
222
  * Duration.millis(250)
256
223
  * ] as [string, Duration.Duration])
257
224
  * }))
225
+ *
226
+ * const program = Effect.gen(function*() {
227
+ * const step = yield* Schedule.toStep(firstThreeInputs)
228
+ * const [output] = yield* step(0, "input")
229
+ * return output
230
+ * })
231
+ *
232
+ * await Effect.runPromise(program) // => "attempt 1: input"
258
233
  * ```
259
234
  *
260
235
  * @category constructors
@@ -266,8 +241,8 @@ export declare const fromStepWithMetadata: <Input, Output, EnvX, ErrorX, Error,
266
241
  *
267
242
  * **Example** (Extracting a schedule step function)
268
243
  *
269
- * ```ts
270
- * import { Effect, Schedule } from "effect"
244
+ * ```ts import.meta.vitest
245
+ * import { Duration, Effect, Schedule } from "effect"
271
246
  *
272
247
  * // Extract step function from an existing schedule
273
248
  * const schedule = Schedule.exponential("100 millis").pipe(Schedule.upTo({ times: 3 }))
@@ -278,10 +253,10 @@ export declare const fromStepWithMetadata: <Input, Output, EnvX, ErrorX, Error,
278
253
  * // Use the step function directly for custom logic. The timestamp is
279
254
  * // supplied by the caller, so tests can pass a deterministic value.
280
255
  * const now = 0
281
- * const result = yield* stepFn(now, "input")
282
- *
283
- * console.log(`Step result: ${result}`)
256
+ * return yield* stepFn(now, "input")
284
257
  * })
258
+ *
259
+ * await Effect.runPromise(program) // => [Duration.millis(100), Duration.millis(100)]
285
260
  * ```
286
261
  *
287
262
  * @category destructors
@@ -315,26 +290,19 @@ export declare const toStepWithMetadata: <Output, Input, Error, Env>(schedule: S
315
290
  *
316
291
  * **Example** (Extracting a sleeping step function)
317
292
  *
318
- * ```ts
293
+ * ```ts import.meta.vitest
319
294
  * import { Effect, Schedule } from "effect"
295
+ * import { TestClock } from "effect/testing"
320
296
  *
321
- * // Convert schedule to step function with automatic sleeping
322
- * const schedule = Schedule.spaced("1 second").pipe(Schedule.upTo({ times: 3 }))
297
+ * const schedule = Schedule.recurs(3)
323
298
  *
324
299
  * const program = Effect.gen(function*() {
325
300
  * const stepWithSleep = yield* Schedule.toStepWithSleep(schedule)
326
301
  *
327
- * // Each call will automatically sleep for the scheduled delay
328
- * console.log("Starting...")
329
- * const result1 = yield* stepWithSleep("first")
330
- * console.log(`First result: ${result1}`)
331
- *
332
- * const result2 = yield* stepWithSleep("second")
333
- * console.log(`Second result: ${result2}`)
334
- *
335
- * const result3 = yield* stepWithSleep("third")
336
- * console.log(`Third result: ${result3}`)
302
+ * return [yield* stepWithSleep("first"), yield* stepWithSleep("second")]
337
303
  * })
304
+ *
305
+ * await Effect.runPromise(Effect.provide(program, TestClock.layer())) // => [0, 1]
338
306
  * ```
339
307
  *
340
308
  * @category destructors
@@ -347,94 +315,19 @@ export declare const toStepWithSleep: <Output, Input, Error, Env>(schedule: Sche
347
315
  *
348
316
  * **Example** (Adding extra delay to a schedule)
349
317
  *
350
- * ```ts
351
- * import { Console, Data, Duration, Effect, Schedule } from "effect"
352
- *
353
- * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
318
+ * ```ts import.meta.vitest
319
+ * import { Duration, Effect, Schedule } from "effect"
354
320
  *
355
- * // Add a deterministic extra delay based on the schedule metadata
356
- * const delayedSchedule = Schedule.addDelay(
357
- * Schedule.exponential("100 millis").pipe(Schedule.upTo({ times: 5 })),
358
- * ({ output }) =>
359
- * Effect.succeed(Duration.millis(Duration.toMillis(output) * 0.25))
360
- * )
361
- *
362
- * const repeatProgram = Effect.gen(function*() {
363
- * yield* Effect.repeat(
364
- * Effect.succeed("delayed task"),
365
- * delayedSchedule.pipe(
366
- * Schedule.tap(({ output: delay }) =>
367
- * Console.log(`Base delay: ${delay}`)
368
- * )
369
- * )
370
- * )
371
- * })
372
- *
373
- * // Add adaptive delay based on execution count
374
- * const adaptiveSchedule = Schedule.addDelay(
375
- * Schedule.recurs(6),
376
- * ({ output: executionCount }) =>
377
- * // Increase delay as execution count grows
378
- * Effect.succeed(Duration.millis(executionCount * 200))
379
- * )
380
- *
381
- * const adaptiveProgram = Effect.gen(function*() {
382
- * yield* Effect.repeat(
383
- * Effect.gen(function*() {
384
- * yield* Console.log("Adaptive delay task")
385
- * return "adaptive"
386
- * }),
387
- * adaptiveSchedule.pipe(
388
- * Schedule.tap(({ output: count }) =>
389
- * Console.log(`Execution ${count + 1} with adaptive delay`)
390
- * )
391
- * )
392
- * )
393
- * })
394
- *
395
- * // Add effectful delay computation from deterministic service data
396
- * const loadByExecution = [1, 3, 2, 4] as const
397
- *
398
- * const dynamicSchedule = Schedule.addDelay(
399
- * Schedule.spaced("1 second").pipe(Schedule.upTo({ times: 4 })),
400
- * ({ output: executionNumber }) => {
401
- * const load = loadByExecution[executionNumber] ?? 1
402
- * return Effect.succeed(Duration.millis(load * 100))
403
- * }
321
+ * const schedule = Schedule.recurs(1).pipe(
322
+ * Schedule.addDelay(() => Effect.succeed("25 millis"))
404
323
  * )
405
- *
406
- * const dynamicProgram = Effect.gen(function*() {
407
- * yield* Effect.repeat(
408
- * Effect.gen(function*() {
409
- * yield* Console.log("Dynamic delay task")
410
- * return "dynamic"
411
- * }),
412
- * dynamicSchedule
413
- * )
324
+ * const program = Effect.gen(function*() {
325
+ * const step = yield* Schedule.toStep(schedule)
326
+ * const [, delay] = yield* step(0, undefined)
327
+ * return delay
414
328
  * })
415
329
  *
416
- * // Combine with retry for progressive backoff
417
- * const progressiveRetrySchedule = Schedule.addDelay(
418
- * Schedule.exponential("50 millis").pipe(Schedule.upTo({ times: 4 })),
419
- * () => Effect.succeed(Duration.millis(100)) // Fixed additional delay
420
- * )
421
- *
422
- * const retryProgram = Effect.gen(function*() {
423
- * let attempt = 0
424
- *
425
- * const result = yield* Effect.retry(
426
- * Effect.gen(function*() {
427
- * attempt++
428
- * if (attempt < 5) {
429
- * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
430
- * }
431
- * return `Success on attempt ${attempt}`
432
- * }),
433
- * progressiveRetrySchedule
434
- * )
435
- *
436
- * yield* Console.log(`Final result: ${result}`)
437
- * })
330
+ * await Effect.runPromise(program) // => Duration.millis(25)
438
331
  * ```
439
332
  *
440
333
  * @category delays & timeouts
@@ -447,94 +340,19 @@ export declare const addDelay: {
447
340
  *
448
341
  * **Example** (Adding extra delay to a schedule)
449
342
  *
450
- * ```ts
451
- * import { Console, Data, Duration, Effect, Schedule } from "effect"
452
- *
453
- * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
343
+ * ```ts import.meta.vitest
344
+ * import { Duration, Effect, Schedule } from "effect"
454
345
  *
455
- * // Add a deterministic extra delay based on the schedule metadata
456
- * const delayedSchedule = Schedule.addDelay(
457
- * Schedule.exponential("100 millis").pipe(Schedule.upTo({ times: 5 })),
458
- * ({ output }) =>
459
- * Effect.succeed(Duration.millis(Duration.toMillis(output) * 0.25))
346
+ * const schedule = Schedule.recurs(1).pipe(
347
+ * Schedule.addDelay(() => Effect.succeed("25 millis"))
460
348
  * )
461
- *
462
- * const repeatProgram = Effect.gen(function*() {
463
- * yield* Effect.repeat(
464
- * Effect.succeed("delayed task"),
465
- * delayedSchedule.pipe(
466
- * Schedule.tap(({ output: delay }) =>
467
- * Console.log(`Base delay: ${delay}`)
468
- * )
469
- * )
470
- * )
471
- * })
472
- *
473
- * // Add adaptive delay based on execution count
474
- * const adaptiveSchedule = Schedule.addDelay(
475
- * Schedule.recurs(6),
476
- * ({ output: executionCount }) =>
477
- * // Increase delay as execution count grows
478
- * Effect.succeed(Duration.millis(executionCount * 200))
479
- * )
480
- *
481
- * const adaptiveProgram = Effect.gen(function*() {
482
- * yield* Effect.repeat(
483
- * Effect.gen(function*() {
484
- * yield* Console.log("Adaptive delay task")
485
- * return "adaptive"
486
- * }),
487
- * adaptiveSchedule.pipe(
488
- * Schedule.tap(({ output: count }) =>
489
- * Console.log(`Execution ${count + 1} with adaptive delay`)
490
- * )
491
- * )
492
- * )
493
- * })
494
- *
495
- * // Add effectful delay computation from deterministic service data
496
- * const loadByExecution = [1, 3, 2, 4] as const
497
- *
498
- * const dynamicSchedule = Schedule.addDelay(
499
- * Schedule.spaced("1 second").pipe(Schedule.upTo({ times: 4 })),
500
- * ({ output: executionNumber }) => {
501
- * const load = loadByExecution[executionNumber] ?? 1
502
- * return Effect.succeed(Duration.millis(load * 100))
503
- * }
504
- * )
505
- *
506
- * const dynamicProgram = Effect.gen(function*() {
507
- * yield* Effect.repeat(
508
- * Effect.gen(function*() {
509
- * yield* Console.log("Dynamic delay task")
510
- * return "dynamic"
511
- * }),
512
- * dynamicSchedule
513
- * )
349
+ * const program = Effect.gen(function*() {
350
+ * const step = yield* Schedule.toStep(schedule)
351
+ * const [, delay] = yield* step(0, undefined)
352
+ * return delay
514
353
  * })
515
354
  *
516
- * // Combine with retry for progressive backoff
517
- * const progressiveRetrySchedule = Schedule.addDelay(
518
- * Schedule.exponential("50 millis").pipe(Schedule.upTo({ times: 4 })),
519
- * () => Effect.succeed(Duration.millis(100)) // Fixed additional delay
520
- * )
521
- *
522
- * const retryProgram = Effect.gen(function*() {
523
- * let attempt = 0
524
- *
525
- * const result = yield* Effect.retry(
526
- * Effect.gen(function*() {
527
- * attempt++
528
- * if (attempt < 5) {
529
- * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
530
- * }
531
- * return `Success on attempt ${attempt}`
532
- * }),
533
- * progressiveRetrySchedule
534
- * )
535
- *
536
- * yield* Console.log(`Final result: ${result}`)
537
- * })
355
+ * await Effect.runPromise(program) // => Duration.millis(25)
538
356
  * ```
539
357
  *
540
358
  * @category delays & timeouts
@@ -547,94 +365,19 @@ export declare const addDelay: {
547
365
  *
548
366
  * **Example** (Adding extra delay to a schedule)
549
367
  *
550
- * ```ts
551
- * import { Console, Data, Duration, Effect, Schedule } from "effect"
552
- *
553
- * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
368
+ * ```ts import.meta.vitest
369
+ * import { Duration, Effect, Schedule } from "effect"
554
370
  *
555
- * // Add a deterministic extra delay based on the schedule metadata
556
- * const delayedSchedule = Schedule.addDelay(
557
- * Schedule.exponential("100 millis").pipe(Schedule.upTo({ times: 5 })),
558
- * ({ output }) =>
559
- * Effect.succeed(Duration.millis(Duration.toMillis(output) * 0.25))
371
+ * const schedule = Schedule.recurs(1).pipe(
372
+ * Schedule.addDelay(() => Effect.succeed("25 millis"))
560
373
  * )
561
- *
562
- * const repeatProgram = Effect.gen(function*() {
563
- * yield* Effect.repeat(
564
- * Effect.succeed("delayed task"),
565
- * delayedSchedule.pipe(
566
- * Schedule.tap(({ output: delay }) =>
567
- * Console.log(`Base delay: ${delay}`)
568
- * )
569
- * )
570
- * )
571
- * })
572
- *
573
- * // Add adaptive delay based on execution count
574
- * const adaptiveSchedule = Schedule.addDelay(
575
- * Schedule.recurs(6),
576
- * ({ output: executionCount }) =>
577
- * // Increase delay as execution count grows
578
- * Effect.succeed(Duration.millis(executionCount * 200))
579
- * )
580
- *
581
- * const adaptiveProgram = Effect.gen(function*() {
582
- * yield* Effect.repeat(
583
- * Effect.gen(function*() {
584
- * yield* Console.log("Adaptive delay task")
585
- * return "adaptive"
586
- * }),
587
- * adaptiveSchedule.pipe(
588
- * Schedule.tap(({ output: count }) =>
589
- * Console.log(`Execution ${count + 1} with adaptive delay`)
590
- * )
591
- * )
592
- * )
593
- * })
594
- *
595
- * // Add effectful delay computation from deterministic service data
596
- * const loadByExecution = [1, 3, 2, 4] as const
597
- *
598
- * const dynamicSchedule = Schedule.addDelay(
599
- * Schedule.spaced("1 second").pipe(Schedule.upTo({ times: 4 })),
600
- * ({ output: executionNumber }) => {
601
- * const load = loadByExecution[executionNumber] ?? 1
602
- * return Effect.succeed(Duration.millis(load * 100))
603
- * }
604
- * )
605
- *
606
- * const dynamicProgram = Effect.gen(function*() {
607
- * yield* Effect.repeat(
608
- * Effect.gen(function*() {
609
- * yield* Console.log("Dynamic delay task")
610
- * return "dynamic"
611
- * }),
612
- * dynamicSchedule
613
- * )
374
+ * const program = Effect.gen(function*() {
375
+ * const step = yield* Schedule.toStep(schedule)
376
+ * const [, delay] = yield* step(0, undefined)
377
+ * return delay
614
378
  * })
615
379
  *
616
- * // Combine with retry for progressive backoff
617
- * const progressiveRetrySchedule = Schedule.addDelay(
618
- * Schedule.exponential("50 millis").pipe(Schedule.upTo({ times: 4 })),
619
- * () => Effect.succeed(Duration.millis(100)) // Fixed additional delay
620
- * )
621
- *
622
- * const retryProgram = Effect.gen(function*() {
623
- * let attempt = 0
624
- *
625
- * const result = yield* Effect.retry(
626
- * Effect.gen(function*() {
627
- * attempt++
628
- * if (attempt < 5) {
629
- * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
630
- * }
631
- * return `Success on attempt ${attempt}`
632
- * }),
633
- * progressiveRetrySchedule
634
- * )
635
- *
636
- * yield* Console.log(`Final result: ${result}`)
637
- * })
380
+ * await Effect.runPromise(program) // => Duration.millis(25)
638
381
  * ```
639
382
  *
640
383
  * @category delays & timeouts
@@ -648,35 +391,11 @@ export declare const addDelay: {
648
391
  *
649
392
  * **Example** (Sequencing quick and slow retries)
650
393
  *
651
- * ```ts
652
- * import { Console, Data, Effect, Schedule } from "effect"
653
- *
654
- * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
655
- *
656
- * // First retry 3 times quickly, then switch to slower retries
657
- * const quickRetries = Schedule.exponential("100 millis").pipe(
658
- * Schedule.upTo({ times: 3 })
659
- * )
660
- * const slowRetries = Schedule.exponential("1 second").pipe(
661
- * Schedule.upTo({ times: 2 })
662
- * )
663
- *
664
- * const combinedRetries = Schedule.andThen(quickRetries, slowRetries)
394
+ * ```ts import.meta.vitest
395
+ * import { Schedule } from "effect"
665
396
  *
666
- * const program = Effect.gen(function*() {
667
- * let attempt = 0
668
- * yield* Effect.retry(
669
- * Effect.gen(function*() {
670
- * attempt++
671
- * yield* Console.log(`Attempt ${attempt}`)
672
- * if (attempt < 6) {
673
- * return yield* Effect.fail(new RetryAttemptError({ message: `Failure ${attempt}` }))
674
- * }
675
- * return `Success on attempt ${attempt}`
676
- * }),
677
- * combinedRetries
678
- * )
679
- * })
397
+ * const schedule = Schedule.andThen(Schedule.recurs(1), Schedule.recurs(2))
398
+ * Schedule.isSchedule(schedule) // => true
680
399
  * ```
681
400
  *
682
401
  * @category sequencing
@@ -689,35 +408,11 @@ export declare const andThen: {
689
408
  *
690
409
  * **Example** (Sequencing quick and slow retries)
691
410
  *
692
- * ```ts
693
- * import { Console, Data, Effect, Schedule } from "effect"
694
- *
695
- * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
696
- *
697
- * // First retry 3 times quickly, then switch to slower retries
698
- * const quickRetries = Schedule.exponential("100 millis").pipe(
699
- * Schedule.upTo({ times: 3 })
700
- * )
701
- * const slowRetries = Schedule.exponential("1 second").pipe(
702
- * Schedule.upTo({ times: 2 })
703
- * )
411
+ * ```ts import.meta.vitest
412
+ * import { Schedule } from "effect"
704
413
  *
705
- * const combinedRetries = Schedule.andThen(quickRetries, slowRetries)
706
- *
707
- * const program = Effect.gen(function*() {
708
- * let attempt = 0
709
- * yield* Effect.retry(
710
- * Effect.gen(function*() {
711
- * attempt++
712
- * yield* Console.log(`Attempt ${attempt}`)
713
- * if (attempt < 6) {
714
- * return yield* Effect.fail(new RetryAttemptError({ message: `Failure ${attempt}` }))
715
- * }
716
- * return `Success on attempt ${attempt}`
717
- * }),
718
- * combinedRetries
719
- * )
720
- * })
414
+ * const schedule = Schedule.andThen(Schedule.recurs(1), Schedule.recurs(2))
415
+ * Schedule.isSchedule(schedule) // => true
721
416
  * ```
722
417
  *
723
418
  * @category sequencing
@@ -730,35 +425,11 @@ export declare const andThen: {
730
425
  *
731
426
  * **Example** (Sequencing quick and slow retries)
732
427
  *
733
- * ```ts
734
- * import { Console, Data, Effect, Schedule } from "effect"
428
+ * ```ts import.meta.vitest
429
+ * import { Schedule } from "effect"
735
430
  *
736
- * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
737
- *
738
- * // First retry 3 times quickly, then switch to slower retries
739
- * const quickRetries = Schedule.exponential("100 millis").pipe(
740
- * Schedule.upTo({ times: 3 })
741
- * )
742
- * const slowRetries = Schedule.exponential("1 second").pipe(
743
- * Schedule.upTo({ times: 2 })
744
- * )
745
- *
746
- * const combinedRetries = Schedule.andThen(quickRetries, slowRetries)
747
- *
748
- * const program = Effect.gen(function*() {
749
- * let attempt = 0
750
- * yield* Effect.retry(
751
- * Effect.gen(function*() {
752
- * attempt++
753
- * yield* Console.log(`Attempt ${attempt}`)
754
- * if (attempt < 6) {
755
- * return yield* Effect.fail(new RetryAttemptError({ message: `Failure ${attempt}` }))
756
- * }
757
- * return `Success on attempt ${attempt}`
758
- * }),
759
- * combinedRetries
760
- * )
761
- * })
431
+ * const schedule = Schedule.andThen(Schedule.recurs(1), Schedule.recurs(2))
432
+ * Schedule.isSchedule(schedule) // => true
762
433
  * ```
763
434
  *
764
435
  * @category sequencing
@@ -778,31 +449,11 @@ export declare const andThen: {
778
449
  *
779
450
  * **Example** (Tracking sequential schedule phases)
780
451
  *
781
- * ```ts
782
- * import { Console, Effect, Result, Schedule } from "effect"
783
- *
784
- * // Track which phase of the schedule we're in
785
- * const phaseTracker = Schedule.andThenResult(
786
- * Schedule.exponential("100 millis").pipe(Schedule.upTo({ times: 2 })),
787
- * Schedule.spaced("500 millis").pipe(Schedule.upTo({ times: 2 }))
788
- * )
452
+ * ```ts import.meta.vitest
453
+ * import { Schedule } from "effect"
789
454
  *
790
- * const program = Effect.gen(function*() {
791
- * yield* Effect.repeat(
792
- * Effect.gen(function*() {
793
- * yield* Console.log("Task executed")
794
- * return "task-result"
795
- * }),
796
- * phaseTracker.pipe(
797
- * Schedule.tap(({ output: result }) =>
798
- * Result.match(result, {
799
- * onFailure: (phase1Output) => Console.log(`Phase 1: ${phase1Output}`),
800
- * onSuccess: (phase2Output) => Console.log(`Phase 2: ${phase2Output}`)
801
- * })
802
- * )
803
- * )
804
- * )
805
- * })
455
+ * const schedule = Schedule.andThenResult(Schedule.recurs(1), Schedule.recurs(2))
456
+ * Schedule.isSchedule(schedule) // => true
806
457
  * ```
807
458
  *
808
459
  * @category sequencing
@@ -821,31 +472,11 @@ export declare const andThenResult: {
821
472
  *
822
473
  * **Example** (Tracking sequential schedule phases)
823
474
  *
824
- * ```ts
825
- * import { Console, Effect, Result, Schedule } from "effect"
475
+ * ```ts import.meta.vitest
476
+ * import { Schedule } from "effect"
826
477
  *
827
- * // Track which phase of the schedule we're in
828
- * const phaseTracker = Schedule.andThenResult(
829
- * Schedule.exponential("100 millis").pipe(Schedule.upTo({ times: 2 })),
830
- * Schedule.spaced("500 millis").pipe(Schedule.upTo({ times: 2 }))
831
- * )
832
- *
833
- * const program = Effect.gen(function*() {
834
- * yield* Effect.repeat(
835
- * Effect.gen(function*() {
836
- * yield* Console.log("Task executed")
837
- * return "task-result"
838
- * }),
839
- * phaseTracker.pipe(
840
- * Schedule.tap(({ output: result }) =>
841
- * Result.match(result, {
842
- * onFailure: (phase1Output) => Console.log(`Phase 1: ${phase1Output}`),
843
- * onSuccess: (phase2Output) => Console.log(`Phase 2: ${phase2Output}`)
844
- * })
845
- * )
846
- * )
847
- * )
848
- * })
478
+ * const schedule = Schedule.andThenResult(Schedule.recurs(1), Schedule.recurs(2))
479
+ * Schedule.isSchedule(schedule) // => true
849
480
  * ```
850
481
  *
851
482
  * @category sequencing
@@ -864,31 +495,11 @@ export declare const andThenResult: {
864
495
  *
865
496
  * **Example** (Tracking sequential schedule phases)
866
497
  *
867
- * ```ts
868
- * import { Console, Effect, Result, Schedule } from "effect"
869
- *
870
- * // Track which phase of the schedule we're in
871
- * const phaseTracker = Schedule.andThenResult(
872
- * Schedule.exponential("100 millis").pipe(Schedule.upTo({ times: 2 })),
873
- * Schedule.spaced("500 millis").pipe(Schedule.upTo({ times: 2 }))
874
- * )
498
+ * ```ts import.meta.vitest
499
+ * import { Schedule } from "effect"
875
500
  *
876
- * const program = Effect.gen(function*() {
877
- * yield* Effect.repeat(
878
- * Effect.gen(function*() {
879
- * yield* Console.log("Task executed")
880
- * return "task-result"
881
- * }),
882
- * phaseTracker.pipe(
883
- * Schedule.tap(({ output: result }) =>
884
- * Result.match(result, {
885
- * onFailure: (phase1Output) => Console.log(`Phase 1: ${phase1Output}`),
886
- * onSuccess: (phase2Output) => Console.log(`Phase 2: ${phase2Output}`)
887
- * })
888
- * )
889
- * )
890
- * )
891
- * })
501
+ * const schedule = Schedule.andThenResult(Schedule.recurs(1), Schedule.recurs(2))
502
+ * Schedule.isSchedule(schedule) // => true
892
503
  * ```
893
504
  *
894
505
  * @category sequencing
@@ -907,36 +518,11 @@ export declare const andThenResult: {
907
518
  *
908
519
  * **Example** (Combining retry schedules by their maximum delay)
909
520
  *
910
- * ```ts
911
- * import { Console, Data, Effect, Schedule } from "effect"
912
- *
913
- * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
914
- *
915
- * const retrySchedule = Schedule.max([
916
- * Schedule.fixed("5 seconds"),
917
- * Schedule.exponential("5 seconds"),
918
- * Schedule.spaced("10 seconds")
919
- * ])
521
+ * ```ts import.meta.vitest
522
+ * import { Schedule } from "effect"
920
523
  *
921
- * const program = Effect.gen(function*() {
922
- * let attempt = 0
923
- *
924
- * yield* Effect.retry(
925
- * Effect.gen(function*() {
926
- * attempt++
927
- * yield* Console.log(`Retry attempt ${attempt}`)
928
- * if (attempt < 3) {
929
- * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
930
- * }
931
- * return "success"
932
- * }),
933
- * retrySchedule.pipe(
934
- * Schedule.tap(({ output: duration }) =>
935
- * Console.log(`Waiting for the slowest schedule: ${duration}`)
936
- * )
937
- * )
938
- * )
939
- * })
524
+ * const schedule = Schedule.max([Schedule.fixed("5 seconds"), Schedule.spaced("10 seconds")])
525
+ * Schedule.isSchedule(schedule) // => true
940
526
  * ```
941
527
  *
942
528
  * @category combining
@@ -949,126 +535,11 @@ export declare const max: <const Schedules extends NonEmptyReadonlyArray<Schedul
949
535
  *
950
536
  * **Example** (Scheduling work with cron expressions)
951
537
  *
952
- * ```ts
953
- * import { Console, Data, Effect, Schedule } from "effect"
954
- *
955
- * class ScheduledTaskError extends Data.TaggedError("ScheduledTaskError")<{ readonly message: string }> {}
538
+ * ```ts import.meta.vitest
539
+ * import { Schedule } from "effect"
956
540
  *
957
- * // Run every minute
958
541
  * const everyMinute = Schedule.cron("* * * * *")
959
- *
960
- * const minutelyProgram = Effect.gen(function*() {
961
- * yield* Effect.repeat(
962
- * Effect.gen(function*() {
963
- * yield* Console.log("Running minutely task")
964
- * return "minute"
965
- * }),
966
- * everyMinute.pipe(
967
- * Schedule.upTo({ times: 3 }), // Run only 3 times for demo
968
- * Schedule.tap(({ output: duration }) =>
969
- * Console.log(`Next execution in: ${duration}`)
970
- * )
971
- * )
972
- * )
973
- * })
974
- *
975
- * // Run every day at 2:30 AM
976
- * const dailyBackup = Schedule.cron("30 2 * * *")
977
- *
978
- * const backupProgram = Effect.gen(function*() {
979
- * yield* Effect.repeat(
980
- * Effect.gen(function*() {
981
- * yield* Console.log("Running daily backup...")
982
- * // Simulate backup process
983
- * yield* Effect.sleep("2 seconds")
984
- * yield* Console.log("Backup completed")
985
- * return "backup-done"
986
- * }),
987
- * dailyBackup.pipe(
988
- * Schedule.upTo({ times: 2 }) // Run 2 times for demo
989
- * )
990
- * )
991
- * })
992
- *
993
- * // Run every Monday at 9:00 AM with timezone
994
- * const weeklyReport = Schedule.cron("0 9 * * 1", "America/New_York")
995
- *
996
- * const reportProgram = Effect.gen(function*() {
997
- * yield* Effect.repeat(
998
- * Effect.gen(function*() {
999
- * yield* Console.log("Generating weekly report...")
1000
- * const report = {
1001
- * week: 42,
1002
- * status: "ready" as const
1003
- * }
1004
- * yield* Console.log(`Report generated: ${JSON.stringify(report)}`)
1005
- * return report
1006
- * }),
1007
- * weeklyReport.pipe(Schedule.upTo({ times: 1 }))
1008
- * )
1009
- * })
1010
- *
1011
- * // Run every 15 minutes during business hours (9 AM - 5 PM)
1012
- * const businessHoursCheck = Schedule.cron("0,15,30,45 9-17 * * 1-5")
1013
- *
1014
- * const businessProgram = Effect.gen(function*() {
1015
- * const statuses = ["healthy", "healthy", "degraded", "healthy"] as const
1016
- * let index = 0
1017
- *
1018
- * yield* Effect.repeat(
1019
- * Effect.gen(function*() {
1020
- * yield* Console.log("Business hours health check...")
1021
- * const status = statuses[index++]
1022
- * yield* Console.log(`System status: ${status}`)
1023
- * return status
1024
- * }),
1025
- * businessHoursCheck.pipe(
1026
- * Schedule.upTo({ times: 4 }) // Demo with 4 checks
1027
- * )
1028
- * )
1029
- * })
1030
- *
1031
- * // Run on specific days of the month
1032
- * const monthlyInvoice = Schedule.cron("0 10 1,15 * *") // 1st and 15th at 10 AM
1033
- *
1034
- * const invoiceProgram = Effect.gen(function*() {
1035
- * yield* Effect.repeat(
1036
- * Effect.gen(function*() {
1037
- * yield* Console.log("Processing monthly invoices...")
1038
- * const invoiceCount = 72
1039
- * yield* Console.log(`Processed ${invoiceCount} invoices`)
1040
- * return { count: invoiceCount, batch: "2024-01-a" }
1041
- * }),
1042
- * monthlyInvoice.pipe(Schedule.upTo({ times: 1 }))
1043
- * )
1044
- * })
1045
- *
1046
- * // Complex cron with error handling
1047
- * const complexCron = Schedule.cron("0 2,4,6 * * *").pipe(
1048
- * Schedule.tap(({ output: duration }) =>
1049
- * Console.log(`Scheduled to run again in ${duration}`)
1050
- * )
1051
- * )
1052
- *
1053
- * const robustProgram = Effect.gen(function*() {
1054
- * let attempt = 0
1055
- *
1056
- * yield* Effect.repeat(
1057
- * Effect.gen(function*() {
1058
- * attempt++
1059
- * yield* Console.log("Complex scheduled task...")
1060
- * if (attempt === 1) {
1061
- * return yield* Effect.fail(new ScheduledTaskError({ message: "Scheduled task failed" }))
1062
- * }
1063
- * return "success"
1064
- * }),
1065
- * complexCron.pipe(Schedule.upTo({ times: 3 }))
1066
- * ).pipe(
1067
- * Effect.catch((error: unknown) =>
1068
- * Console.log(`Cron task error: ${String(error)}`)
1069
- * )
1070
- * )
1071
- * })
542
+ * Schedule.isSchedule(everyMinute) // => true
1072
543
  * ```
1073
544
  *
1074
545
  * @category constructors
@@ -1081,126 +552,11 @@ export declare const cron: {
1081
552
  *
1082
553
  * **Example** (Scheduling work with cron expressions)
1083
554
  *
1084
- * ```ts
1085
- * import { Console, Data, Effect, Schedule } from "effect"
1086
- *
1087
- * class ScheduledTaskError extends Data.TaggedError("ScheduledTaskError")<{ readonly message: string }> {}
555
+ * ```ts import.meta.vitest
556
+ * import { Schedule } from "effect"
1088
557
  *
1089
- * // Run every minute
1090
558
  * const everyMinute = Schedule.cron("* * * * *")
1091
- *
1092
- * const minutelyProgram = Effect.gen(function*() {
1093
- * yield* Effect.repeat(
1094
- * Effect.gen(function*() {
1095
- * yield* Console.log("Running minutely task")
1096
- * return "minute"
1097
- * }),
1098
- * everyMinute.pipe(
1099
- * Schedule.upTo({ times: 3 }), // Run only 3 times for demo
1100
- * Schedule.tap(({ output: duration }) =>
1101
- * Console.log(`Next execution in: ${duration}`)
1102
- * )
1103
- * )
1104
- * )
1105
- * })
1106
- *
1107
- * // Run every day at 2:30 AM
1108
- * const dailyBackup = Schedule.cron("30 2 * * *")
1109
- *
1110
- * const backupProgram = Effect.gen(function*() {
1111
- * yield* Effect.repeat(
1112
- * Effect.gen(function*() {
1113
- * yield* Console.log("Running daily backup...")
1114
- * // Simulate backup process
1115
- * yield* Effect.sleep("2 seconds")
1116
- * yield* Console.log("Backup completed")
1117
- * return "backup-done"
1118
- * }),
1119
- * dailyBackup.pipe(
1120
- * Schedule.upTo({ times: 2 }) // Run 2 times for demo
1121
- * )
1122
- * )
1123
- * })
1124
- *
1125
- * // Run every Monday at 9:00 AM with timezone
1126
- * const weeklyReport = Schedule.cron("0 9 * * 1", "America/New_York")
1127
- *
1128
- * const reportProgram = Effect.gen(function*() {
1129
- * yield* Effect.repeat(
1130
- * Effect.gen(function*() {
1131
- * yield* Console.log("Generating weekly report...")
1132
- * const report = {
1133
- * week: 42,
1134
- * status: "ready" as const
1135
- * }
1136
- * yield* Console.log(`Report generated: ${JSON.stringify(report)}`)
1137
- * return report
1138
- * }),
1139
- * weeklyReport.pipe(Schedule.upTo({ times: 1 }))
1140
- * )
1141
- * })
1142
- *
1143
- * // Run every 15 minutes during business hours (9 AM - 5 PM)
1144
- * const businessHoursCheck = Schedule.cron("0,15,30,45 9-17 * * 1-5")
1145
- *
1146
- * const businessProgram = Effect.gen(function*() {
1147
- * const statuses = ["healthy", "healthy", "degraded", "healthy"] as const
1148
- * let index = 0
1149
- *
1150
- * yield* Effect.repeat(
1151
- * Effect.gen(function*() {
1152
- * yield* Console.log("Business hours health check...")
1153
- * const status = statuses[index++]
1154
- * yield* Console.log(`System status: ${status}`)
1155
- * return status
1156
- * }),
1157
- * businessHoursCheck.pipe(
1158
- * Schedule.upTo({ times: 4 }) // Demo with 4 checks
1159
- * )
1160
- * )
1161
- * })
1162
- *
1163
- * // Run on specific days of the month
1164
- * const monthlyInvoice = Schedule.cron("0 10 1,15 * *") // 1st and 15th at 10 AM
1165
- *
1166
- * const invoiceProgram = Effect.gen(function*() {
1167
- * yield* Effect.repeat(
1168
- * Effect.gen(function*() {
1169
- * yield* Console.log("Processing monthly invoices...")
1170
- * const invoiceCount = 72
1171
- * yield* Console.log(`Processed ${invoiceCount} invoices`)
1172
- * return { count: invoiceCount, batch: "2024-01-a" }
1173
- * }),
1174
- * monthlyInvoice.pipe(Schedule.upTo({ times: 1 }))
1175
- * )
1176
- * })
1177
- *
1178
- * // Complex cron with error handling
1179
- * const complexCron = Schedule.cron("0 2,4,6 * * *").pipe(
1180
- * Schedule.tap(({ output: duration }) =>
1181
- * Console.log(`Scheduled to run again in ${duration}`)
1182
- * )
1183
- * )
1184
- *
1185
- * const robustProgram = Effect.gen(function*() {
1186
- * let attempt = 0
1187
- *
1188
- * yield* Effect.repeat(
1189
- * Effect.gen(function*() {
1190
- * attempt++
1191
- * yield* Console.log("Complex scheduled task...")
1192
- * if (attempt === 1) {
1193
- * return yield* Effect.fail(new ScheduledTaskError({ message: "Scheduled task failed" }))
1194
- * }
1195
- * return "success"
1196
- * }),
1197
- * complexCron.pipe(Schedule.upTo({ times: 3 }))
1198
- * ).pipe(
1199
- * Effect.catch((error: unknown) =>
1200
- * Console.log(`Cron task error: ${String(error)}`)
1201
- * )
1202
- * )
1203
- * })
559
+ * Schedule.isSchedule(everyMinute) // => true
1204
560
  * ```
1205
561
  *
1206
562
  * @category constructors
@@ -1213,126 +569,11 @@ export declare const cron: {
1213
569
  *
1214
570
  * **Example** (Scheduling work with cron expressions)
1215
571
  *
1216
- * ```ts
1217
- * import { Console, Data, Effect, Schedule } from "effect"
1218
- *
1219
- * class ScheduledTaskError extends Data.TaggedError("ScheduledTaskError")<{ readonly message: string }> {}
572
+ * ```ts import.meta.vitest
573
+ * import { Schedule } from "effect"
1220
574
  *
1221
- * // Run every minute
1222
575
  * const everyMinute = Schedule.cron("* * * * *")
1223
- *
1224
- * const minutelyProgram = Effect.gen(function*() {
1225
- * yield* Effect.repeat(
1226
- * Effect.gen(function*() {
1227
- * yield* Console.log("Running minutely task")
1228
- * return "minute"
1229
- * }),
1230
- * everyMinute.pipe(
1231
- * Schedule.upTo({ times: 3 }), // Run only 3 times for demo
1232
- * Schedule.tap(({ output: duration }) =>
1233
- * Console.log(`Next execution in: ${duration}`)
1234
- * )
1235
- * )
1236
- * )
1237
- * })
1238
- *
1239
- * // Run every day at 2:30 AM
1240
- * const dailyBackup = Schedule.cron("30 2 * * *")
1241
- *
1242
- * const backupProgram = Effect.gen(function*() {
1243
- * yield* Effect.repeat(
1244
- * Effect.gen(function*() {
1245
- * yield* Console.log("Running daily backup...")
1246
- * // Simulate backup process
1247
- * yield* Effect.sleep("2 seconds")
1248
- * yield* Console.log("Backup completed")
1249
- * return "backup-done"
1250
- * }),
1251
- * dailyBackup.pipe(
1252
- * Schedule.upTo({ times: 2 }) // Run 2 times for demo
1253
- * )
1254
- * )
1255
- * })
1256
- *
1257
- * // Run every Monday at 9:00 AM with timezone
1258
- * const weeklyReport = Schedule.cron("0 9 * * 1", "America/New_York")
1259
- *
1260
- * const reportProgram = Effect.gen(function*() {
1261
- * yield* Effect.repeat(
1262
- * Effect.gen(function*() {
1263
- * yield* Console.log("Generating weekly report...")
1264
- * const report = {
1265
- * week: 42,
1266
- * status: "ready" as const
1267
- * }
1268
- * yield* Console.log(`Report generated: ${JSON.stringify(report)}`)
1269
- * return report
1270
- * }),
1271
- * weeklyReport.pipe(Schedule.upTo({ times: 1 }))
1272
- * )
1273
- * })
1274
- *
1275
- * // Run every 15 minutes during business hours (9 AM - 5 PM)
1276
- * const businessHoursCheck = Schedule.cron("0,15,30,45 9-17 * * 1-5")
1277
- *
1278
- * const businessProgram = Effect.gen(function*() {
1279
- * const statuses = ["healthy", "healthy", "degraded", "healthy"] as const
1280
- * let index = 0
1281
- *
1282
- * yield* Effect.repeat(
1283
- * Effect.gen(function*() {
1284
- * yield* Console.log("Business hours health check...")
1285
- * const status = statuses[index++]
1286
- * yield* Console.log(`System status: ${status}`)
1287
- * return status
1288
- * }),
1289
- * businessHoursCheck.pipe(
1290
- * Schedule.upTo({ times: 4 }) // Demo with 4 checks
1291
- * )
1292
- * )
1293
- * })
1294
- *
1295
- * // Run on specific days of the month
1296
- * const monthlyInvoice = Schedule.cron("0 10 1,15 * *") // 1st and 15th at 10 AM
1297
- *
1298
- * const invoiceProgram = Effect.gen(function*() {
1299
- * yield* Effect.repeat(
1300
- * Effect.gen(function*() {
1301
- * yield* Console.log("Processing monthly invoices...")
1302
- * const invoiceCount = 72
1303
- * yield* Console.log(`Processed ${invoiceCount} invoices`)
1304
- * return { count: invoiceCount, batch: "2024-01-a" }
1305
- * }),
1306
- * monthlyInvoice.pipe(Schedule.upTo({ times: 1 }))
1307
- * )
1308
- * })
1309
- *
1310
- * // Complex cron with error handling
1311
- * const complexCron = Schedule.cron("0 2,4,6 * * *").pipe(
1312
- * Schedule.tap(({ output: duration }) =>
1313
- * Console.log(`Scheduled to run again in ${duration}`)
1314
- * )
1315
- * )
1316
- *
1317
- * const robustProgram = Effect.gen(function*() {
1318
- * let attempt = 0
1319
- *
1320
- * yield* Effect.repeat(
1321
- * Effect.gen(function*() {
1322
- * attempt++
1323
- * yield* Console.log("Complex scheduled task...")
1324
- * if (attempt === 1) {
1325
- * return yield* Effect.fail(new ScheduledTaskError({ message: "Scheduled task failed" }))
1326
- * }
1327
- * return "success"
1328
- * }),
1329
- * complexCron.pipe(Schedule.upTo({ times: 3 }))
1330
- * ).pipe(
1331
- * Effect.catch((error: unknown) =>
1332
- * Console.log(`Cron task error: ${String(error)}`)
1333
- * )
1334
- * )
1335
- * })
576
+ * Schedule.isSchedule(everyMinute) // => true
1336
577
  * ```
1337
578
  *
1338
579
  * @category constructors
@@ -1354,13 +595,10 @@ export declare const cron: {
1354
595
  *
1355
596
  * **Example** (Recurring once after a duration)
1356
597
  *
1357
- * ```ts
1358
- * import { Console, Effect, Schedule } from "effect"
598
+ * ```ts import.meta.vitest
599
+ * import { Schedule } from "effect"
1359
600
  *
1360
- * const program = Effect.repeat(
1361
- * Console.log("runs again after one second"),
1362
- * Schedule.duration("1 second")
1363
- * )
601
+ * Schedule.isSchedule(Schedule.duration("1 second")) // => true
1364
602
  * ```
1365
603
  *
1366
604
  * @see {@link during} for recurring until a duration has elapsed
@@ -1379,82 +617,10 @@ export declare const duration: (durationInput: Duration.Input) => Schedule<Durat
1379
617
  *
1380
618
  * **Example** (Repeating work during a duration)
1381
619
  *
1382
- * ```ts
1383
- * import { Console, Data, Effect, Schedule } from "effect"
1384
- *
1385
- * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
1386
- *
1387
- * // Run a task for exactly 5 seconds, regardless of how many iterations
1388
- * const fiveSecondSchedule = Schedule.during("5 seconds")
1389
- *
1390
- * const timedProgram = Effect.gen(function*() {
1391
- * yield* Effect.repeat(
1392
- * Effect.gen(function*() {
1393
- * yield* Console.log("Task executed inside the time window")
1394
- * yield* Effect.sleep("500 millis") // Each task takes 500ms
1395
- * return "task done"
1396
- * }),
1397
- * fiveSecondSchedule.pipe(
1398
- * Schedule.tap(({ output: elapsedDuration }) =>
1399
- * Console.log(`Total elapsed: ${elapsedDuration}`)
1400
- * )
1401
- * )
1402
- * )
1403
- *
1404
- * yield* Console.log("Time limit reached!")
1405
- * })
1406
- *
1407
- * // Combine with other schedules for time-bounded execution
1408
- * const timeAndCountLimited = Schedule.max([
1409
- * Schedule.spaced("1 second"),
1410
- * Schedule.during("10 seconds"), // Stop after 10 seconds OR
1411
- * Schedule.recurs(15) // 15 attempts, whichever comes first
1412
- * ])
1413
- *
1414
- * // Burst execution within time window
1415
- * const burstWindow = Schedule.during("3 seconds")
1416
- *
1417
- * const burstProgram = Effect.gen(function*() {
1418
- * yield* Console.log("Starting burst execution...")
1419
- *
1420
- * yield* Effect.repeat(
1421
- * Effect.gen(function*() {
1422
- * yield* Console.log("Burst task")
1423
- * return "burst"
1424
- * }),
1425
- * burstWindow
1426
- * )
1427
- *
1428
- * yield* Console.log("Burst window completed")
1429
- * })
1430
- *
1431
- * // Timed retry window - retry for up to 30 seconds
1432
- * const timedRetry = Schedule.max([
1433
- * Schedule.exponential("200 millis"),
1434
- * Schedule.during("30 seconds")
1435
- * ])
1436
- *
1437
- * const retryProgram = Effect.gen(function*() {
1438
- * let attempt = 0
1439
- *
1440
- * const result = yield* Effect.retry(
1441
- * Effect.gen(function*() {
1442
- * attempt++
1443
- * yield* Console.log(`Retry attempt ${attempt}`)
1444
- *
1445
- * if (attempt < 4) {
1446
- * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
1447
- * }
1448
- *
1449
- * return `Success on attempt ${attempt}`
1450
- * }),
1451
- * timedRetry
1452
- * )
620
+ * ```ts import.meta.vitest
621
+ * import { Schedule } from "effect"
1453
622
  *
1454
- * yield* Console.log(`Result: ${result}`)
1455
- * }).pipe(
1456
- * Effect.catch((error: unknown) => Console.log(`Timed out: ${String(error)}`))
1457
- * )
623
+ * Schedule.isSchedule(Schedule.during("5 seconds")) // => true
1458
624
  * ```
1459
625
  *
1460
626
  * @see {@link duration} for one delayed recurrence
@@ -1474,36 +640,11 @@ export declare const during: (duration: Duration.Input) => Schedule<Duration.Dur
1474
640
  *
1475
641
  * **Example** (Combining retry schedules by their minimum delay)
1476
642
  *
1477
- * ```ts
1478
- * import { Console, Data, Effect, Schedule } from "effect"
1479
- *
1480
- * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
1481
- *
1482
- * const retrySchedule = Schedule.min([
1483
- * Schedule.fixed("5 seconds"),
1484
- * Schedule.exponential("5 seconds"),
1485
- * Schedule.spaced("10 seconds")
1486
- * ])
643
+ * ```ts import.meta.vitest
644
+ * import { Schedule } from "effect"
1487
645
  *
1488
- * const program = Effect.gen(function*() {
1489
- * let attempt = 0
1490
- *
1491
- * yield* Effect.retry(
1492
- * Effect.gen(function*() {
1493
- * attempt++
1494
- * yield* Console.log(`Retry attempt ${attempt}`)
1495
- * if (attempt < 3) {
1496
- * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
1497
- * }
1498
- * return "success"
1499
- * }),
1500
- * retrySchedule.pipe(
1501
- * Schedule.tap(({ output: duration }) =>
1502
- * Console.log(`Waiting for the fastest schedule: ${duration}`)
1503
- * )
1504
- * )
1505
- * )
1506
- * })
646
+ * const schedule = Schedule.min([Schedule.fixed("5 seconds"), Schedule.spaced("10 seconds")])
647
+ * Schedule.isSchedule(schedule) // => true
1507
648
  * ```
1508
649
  *
1509
650
  * @category combining
@@ -1517,44 +658,15 @@ export declare const min: <const Schedules extends NonEmptyReadonlyArray<Schedul
1517
658
  *
1518
659
  * **Example** (Retrying with exponential backoff)
1519
660
  *
1520
- * ```ts
1521
- * import { Console, Data, Effect, Schedule } from "effect"
1522
- *
1523
- * class RetryFailure extends Data.TaggedError("RetryFailure")<{ readonly message: string }> {}
1524
- *
1525
- * // Basic exponential backoff with default factor of 2
1526
- * const basicExponential = Schedule.exponential("100 millis")
1527
- * // Delays: 100ms, 200ms, 400ms, 800ms, 1600ms, ...
1528
- *
1529
- * // Custom exponential backoff with factor 1.5
1530
- * const gentleExponential = Schedule.exponential("200 millis", 1.5)
1531
- * // Delays: 200ms, 300ms, 450ms, 675ms, 1012ms, ...
1532
- *
1533
- * // Retry with exponential backoff (limited to 5 attempts)
1534
- * const retryPolicy = Schedule.max([
1535
- * Schedule.exponential("50 millis"),
1536
- * Schedule.recurs(5)
1537
- * ])
661
+ * ```ts import.meta.vitest
662
+ * import { Duration, Effect, Schedule } from "effect"
1538
663
  *
1539
664
  * const program = Effect.gen(function*() {
1540
- * let attempt = 0
1541
- *
1542
- * const result = yield* Effect.retry(
1543
- * Effect.gen(function*() {
1544
- * attempt++
1545
- * if (attempt < 4) {
1546
- * yield* Console.log(`Attempt ${attempt} failed, retrying...`)
1547
- * return yield* Effect.fail(new RetryFailure({ message: `Failure ${attempt}` }))
1548
- * }
1549
- * return `Success on attempt ${attempt}`
1550
- * }),
1551
- * retryPolicy
1552
- * )
1553
- *
1554
- * yield* Console.log(`Final result: ${result}`)
665
+ * const step = yield* Schedule.toStep(Schedule.exponential("100 millis"))
666
+ * return yield* step(0, undefined)
1555
667
  * })
1556
668
  *
1557
- * // Will retry with delays: 50ms, 100ms, 200ms before success
669
+ * await Effect.runPromise(program) // => [Duration.millis(100), Duration.millis(100)]
1558
670
  * ```
1559
671
  *
1560
672
  * @category constructors
@@ -1568,63 +680,15 @@ export declare const exponential: (base: Duration.Input, factor?: number) => Sch
1568
680
  *
1569
681
  * **Example** (Retrying with Fibonacci backoff)
1570
682
  *
1571
- * ```ts
1572
- * import { Console, Data, Effect, Schedule } from "effect"
1573
- *
1574
- * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
1575
- *
1576
- * // Basic Fibonacci schedule starting with 100ms
1577
- * const fibSchedule = Schedule.fibonacci("100 millis")
1578
- * // Delays: 100ms, 100ms, 200ms, 300ms, 500ms, 800ms, 1300ms, ...
1579
- *
1580
- * // Retry with Fibonacci backoff for gradual increase
1581
- * const retryWithFib = Effect.gen(function*() {
1582
- * let attempt = 0
1583
- *
1584
- * const result = yield* Effect.retry(
1585
- * Effect.gen(function*() {
1586
- * attempt++
1587
- * yield* Console.log(`Attempt ${attempt}`)
1588
- *
1589
- * if (attempt < 5) {
1590
- * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
1591
- * }
683
+ * ```ts import.meta.vitest
684
+ * import { Duration, Effect, Schedule } from "effect"
1592
685
  *
1593
- * return `Success on attempt ${attempt}`
1594
- * }),
1595
- * Schedule.max([
1596
- * Schedule.fibonacci("50 millis"),
1597
- * Schedule.recurs(6) // Maximum 6 retries
1598
- * ]).pipe(
1599
- * Schedule.tap(({ output: delay }) => Console.log(`Next retry in ${delay}`))
1600
- * )
1601
- * )
1602
- *
1603
- * yield* Console.log(`Final result: ${result}`)
686
+ * const program = Effect.gen(function*() {
687
+ * const step = yield* Schedule.toStep(Schedule.fibonacci("100 millis"))
688
+ * return yield* step(0, undefined)
1604
689
  * })
1605
690
  *
1606
- * // Heartbeat with Fibonacci intervals (starts fast, gets slower)
1607
- * const adaptiveHeartbeat = Effect.gen(function*() {
1608
- * yield* Console.log("Heartbeat")
1609
- * return "pulse"
1610
- * }).pipe(
1611
- * Effect.repeat(
1612
- * Schedule.fibonacci("200 millis").pipe(
1613
- * Schedule.upTo({ times: 8 }) // First 8 heartbeats
1614
- * )
1615
- * )
1616
- * )
1617
- *
1618
- * // Fibonacci vs exponential comparison
1619
- * const compareSchedules = Effect.gen(function*() {
1620
- * yield* Console.log("=== Fibonacci Delays ===")
1621
- * // 100ms, 100ms, 200ms, 300ms, 500ms, 800ms
1622
- *
1623
- * yield* Console.log("=== Exponential Delays ===")
1624
- * // 100ms, 200ms, 400ms, 800ms, 1600ms, 3200ms
1625
- *
1626
- * // Fibonacci grows more slowly than exponential
1627
- * })
691
+ * await Effect.runPromise(program) // => [Duration.millis(100), Duration.millis(100)]
1628
692
  * ```
1629
693
  *
1630
694
  * @category constructors
@@ -1651,50 +715,15 @@ export declare const fibonacci: (one: Duration.Input) => Schedule<Duration.Durat
1651
715
  *
1652
716
  * **Example** (Repeating on fixed intervals)
1653
717
  *
1654
- * ```ts
1655
- * import { Console, Effect, Schedule } from "effect"
1656
- *
1657
- * // Fixed interval schedule - recurs on a one-second cadence
1658
- * const everySecond = Schedule.fixed("1 second")
1659
- *
1660
- * // Health check that runs at fixed intervals
1661
- * const healthCheck = Effect.gen(function*() {
1662
- * yield* Console.log("Health check")
1663
- * yield* Effect.sleep("200 millis") // simulate health check work
1664
- * return "healthy"
1665
- * }).pipe(
1666
- * Effect.repeat(Schedule.fixed("2 seconds").pipe(Schedule.upTo({ times: 5 })))
1667
- * )
1668
- *
1669
- * // Difference between fixed and spaced:
1670
- * // - fixed: maintains constant rate regardless of action duration
1671
- * // - spaced: waits for the duration AFTER each action completes
1672
- *
1673
- * const longRunningTask = Effect.gen(function*() {
1674
- * yield* Console.log("Task started")
1675
- * yield* Effect.sleep("1.5 seconds") // Longer than interval
1676
- * yield* Console.log("Task completed")
1677
- * return "done"
1678
- * })
1679
- *
1680
- * // Fixed schedule: if task takes 1.5s but interval is 1s,
1681
- * // next execution happens immediately (no pile-up)
1682
- * const fixedSchedule = longRunningTask.pipe(
1683
- * Effect.repeat(Schedule.fixed("1 second").pipe(Schedule.upTo({ times: 3 })))
1684
- * )
1685
- *
1686
- * // Comparing with spaced (waits 1s AFTER each task)
1687
- * const spacedSchedule = longRunningTask.pipe(
1688
- * Effect.repeat(Schedule.spaced("1 second").pipe(Schedule.upTo({ times: 3 })))
1689
- * )
718
+ * ```ts import.meta.vitest
719
+ * import { Duration, Effect, Schedule } from "effect"
1690
720
  *
1691
721
  * const program = Effect.gen(function*() {
1692
- * yield* Console.log("=== Fixed Schedule Demo ===")
1693
- * yield* fixedSchedule
1694
- *
1695
- * yield* Console.log("=== Spaced Schedule Demo ===")
1696
- * yield* spacedSchedule
722
+ * const step = yield* Schedule.toStep(Schedule.fixed("1 second"))
723
+ * return yield* step(0, undefined)
1697
724
  * })
725
+ *
726
+ * await Effect.runPromise(program) // => [0, Duration.seconds(1)]
1698
727
  * ```
1699
728
  *
1700
729
  * @see {@link spaced} for delaying after each action completes
@@ -1715,59 +744,19 @@ export declare const fixed: (interval: Duration.Input) => Schedule<number>;
1715
744
  *
1716
745
  * **Example** (Mapping schedule outputs)
1717
746
  *
1718
- * ```ts
1719
- * import { Console, Effect, Schedule } from "effect"
747
+ * ```ts import.meta.vitest
748
+ * import { Effect, Schedule } from "effect"
1720
749
  *
1721
- * // Transform schedule output from number to string
1722
750
  * const countSchedule = Schedule.recurs(5).pipe(
1723
751
  * Schedule.map(({ output: count }) => Effect.succeed(`Execution #${count + 1}`))
1724
752
  * )
1725
- *
1726
- * // Map schedule delays to human-readable format
1727
- * const readableDelays = Schedule.exponential("100 millis").pipe(
1728
- * Schedule.map(({ output: delay }) => Effect.succeed(`Next retry in ${delay}`))
1729
- * )
1730
- *
1731
- * // Transform numeric output to structured data
1732
- * const structuredSchedule = Schedule.spaced("1 second").pipe(
1733
- * Schedule.map(({ output: recurrence }) => Effect.succeed({
1734
- * iteration: recurrence + 1,
1735
- * phase: recurrence < 5 ? "warmup" as const : "steady" as const
1736
- * }))
1737
- * )
1738
- *
1739
753
  * const program = Effect.gen(function*() {
1740
- * const results = yield* Effect.repeat(
1741
- * Effect.succeed("task completed"),
1742
- * structuredSchedule.pipe(
1743
- * Schedule.upTo({ times: 8 }),
1744
- * Schedule.tap(({ output: info }) =>
1745
- * Console.log(
1746
- * `${info.phase} phase - iteration ${info.iteration}`
1747
- * )
1748
- * )
1749
- * )
1750
- * )
1751
- *
1752
- * yield* Console.log(`Completed iterations`)
754
+ * const step = yield* Schedule.toStep(countSchedule)
755
+ * const [output] = yield* step(0, undefined)
756
+ * return output
1753
757
  * })
1754
758
  *
1755
- * // Map with effectful transformation
1756
- * const effectfulMap = Schedule.fixed("2 seconds").pipe(
1757
- * Schedule.map(({ output: count }) =>
1758
- * Effect.gen(function*() {
1759
- * yield* Console.log(`Processing count: ${count}`)
1760
- * return count * 10
1761
- * })
1762
- * )
1763
- * )
1764
- *
1765
- * // Use timing metadata in the mapped output
1766
- * const complexSchedule = Schedule.fibonacci("100 millis").pipe(
1767
- * Schedule.map(({ output: delay, attempt }) =>
1768
- * Effect.succeed(`Attempt ${attempt} delay: ${delay}`)
1769
- * )
1770
- * )
759
+ * await Effect.runPromise(program) // => "Execution #1"
1771
760
  * ```
1772
761
  *
1773
762
  * @category mapping
@@ -1786,59 +775,19 @@ export declare const map: {
1786
775
  *
1787
776
  * **Example** (Mapping schedule outputs)
1788
777
  *
1789
- * ```ts
1790
- * import { Console, Effect, Schedule } from "effect"
778
+ * ```ts import.meta.vitest
779
+ * import { Effect, Schedule } from "effect"
1791
780
  *
1792
- * // Transform schedule output from number to string
1793
781
  * const countSchedule = Schedule.recurs(5).pipe(
1794
782
  * Schedule.map(({ output: count }) => Effect.succeed(`Execution #${count + 1}`))
1795
783
  * )
1796
- *
1797
- * // Map schedule delays to human-readable format
1798
- * const readableDelays = Schedule.exponential("100 millis").pipe(
1799
- * Schedule.map(({ output: delay }) => Effect.succeed(`Next retry in ${delay}`))
1800
- * )
1801
- *
1802
- * // Transform numeric output to structured data
1803
- * const structuredSchedule = Schedule.spaced("1 second").pipe(
1804
- * Schedule.map(({ output: recurrence }) => Effect.succeed({
1805
- * iteration: recurrence + 1,
1806
- * phase: recurrence < 5 ? "warmup" as const : "steady" as const
1807
- * }))
1808
- * )
1809
- *
1810
784
  * const program = Effect.gen(function*() {
1811
- * const results = yield* Effect.repeat(
1812
- * Effect.succeed("task completed"),
1813
- * structuredSchedule.pipe(
1814
- * Schedule.upTo({ times: 8 }),
1815
- * Schedule.tap(({ output: info }) =>
1816
- * Console.log(
1817
- * `${info.phase} phase - iteration ${info.iteration}`
1818
- * )
1819
- * )
1820
- * )
1821
- * )
1822
- *
1823
- * yield* Console.log(`Completed iterations`)
785
+ * const step = yield* Schedule.toStep(countSchedule)
786
+ * const [output] = yield* step(0, undefined)
787
+ * return output
1824
788
  * })
1825
789
  *
1826
- * // Map with effectful transformation
1827
- * const effectfulMap = Schedule.fixed("2 seconds").pipe(
1828
- * Schedule.map(({ output: count }) =>
1829
- * Effect.gen(function*() {
1830
- * yield* Console.log(`Processing count: ${count}`)
1831
- * return count * 10
1832
- * })
1833
- * )
1834
- * )
1835
- *
1836
- * // Use timing metadata in the mapped output
1837
- * const complexSchedule = Schedule.fibonacci("100 millis").pipe(
1838
- * Schedule.map(({ output: delay, attempt }) =>
1839
- * Effect.succeed(`Attempt ${attempt} delay: ${delay}`)
1840
- * )
1841
- * )
790
+ * await Effect.runPromise(program) // => "Execution #1"
1842
791
  * ```
1843
792
  *
1844
793
  * @category mapping
@@ -1857,59 +806,19 @@ export declare const map: {
1857
806
  *
1858
807
  * **Example** (Mapping schedule outputs)
1859
808
  *
1860
- * ```ts
1861
- * import { Console, Effect, Schedule } from "effect"
809
+ * ```ts import.meta.vitest
810
+ * import { Effect, Schedule } from "effect"
1862
811
  *
1863
- * // Transform schedule output from number to string
1864
812
  * const countSchedule = Schedule.recurs(5).pipe(
1865
813
  * Schedule.map(({ output: count }) => Effect.succeed(`Execution #${count + 1}`))
1866
814
  * )
1867
- *
1868
- * // Map schedule delays to human-readable format
1869
- * const readableDelays = Schedule.exponential("100 millis").pipe(
1870
- * Schedule.map(({ output: delay }) => Effect.succeed(`Next retry in ${delay}`))
1871
- * )
1872
- *
1873
- * // Transform numeric output to structured data
1874
- * const structuredSchedule = Schedule.spaced("1 second").pipe(
1875
- * Schedule.map(({ output: recurrence }) => Effect.succeed({
1876
- * iteration: recurrence + 1,
1877
- * phase: recurrence < 5 ? "warmup" as const : "steady" as const
1878
- * }))
1879
- * )
1880
- *
1881
815
  * const program = Effect.gen(function*() {
1882
- * const results = yield* Effect.repeat(
1883
- * Effect.succeed("task completed"),
1884
- * structuredSchedule.pipe(
1885
- * Schedule.upTo({ times: 8 }),
1886
- * Schedule.tap(({ output: info }) =>
1887
- * Console.log(
1888
- * `${info.phase} phase - iteration ${info.iteration}`
1889
- * )
1890
- * )
1891
- * )
1892
- * )
1893
- *
1894
- * yield* Console.log(`Completed iterations`)
816
+ * const step = yield* Schedule.toStep(countSchedule)
817
+ * const [output] = yield* step(0, undefined)
818
+ * return output
1895
819
  * })
1896
820
  *
1897
- * // Map with effectful transformation
1898
- * const effectfulMap = Schedule.fixed("2 seconds").pipe(
1899
- * Schedule.map(({ output: count }) =>
1900
- * Effect.gen(function*() {
1901
- * yield* Console.log(`Processing count: ${count}`)
1902
- * return count * 10
1903
- * })
1904
- * )
1905
- * )
1906
- *
1907
- * // Use timing metadata in the mapped output
1908
- * const complexSchedule = Schedule.fibonacci("100 millis").pipe(
1909
- * Schedule.map(({ output: delay, attempt }) =>
1910
- * Effect.succeed(`Attempt ${attempt} delay: ${delay}`)
1911
- * )
1912
- * )
821
+ * await Effect.runPromise(program) // => "Execution #1"
1913
822
  * ```
1914
823
  *
1915
824
  * @category mapping
@@ -1923,28 +832,19 @@ export declare const map: {
1923
832
  *
1924
833
  * **Example** (Modifying delays from schedule metadata)
1925
834
  *
1926
- * ```ts
1927
- * import { Console, Duration, Effect, Schedule } from "effect"
835
+ * ```ts import.meta.vitest
836
+ * import { Duration, Effect, Schedule } from "effect"
1928
837
  *
1929
- * // Modify delays based on output - increase delay on high iteration counts
1930
- * const adaptiveDelay = Schedule.recurs(10).pipe(
1931
- * Schedule.modifyDelay(({ output, duration }) => {
1932
- * // Double the delay if we're seeing high iteration counts
1933
- * return Effect.succeed(output > 5 ? Duration.times(duration, 2) : duration)
1934
- * })
838
+ * const schedule = Schedule.spaced("10 millis").pipe(
839
+ * Schedule.modifyDelay(({ duration }) => Effect.succeed(Duration.times(duration, 2)))
1935
840
  * )
1936
- *
1937
841
  * const program = Effect.gen(function*() {
1938
- * let counter = 0
1939
- * yield* Effect.repeat(
1940
- * Effect.gen(function*() {
1941
- * counter++
1942
- * yield* Console.log(`Attempt ${counter}`)
1943
- * return counter
1944
- * }),
1945
- * adaptiveDelay.pipe(Schedule.upTo({ times: 8 }))
1946
- * )
842
+ * const step = yield* Schedule.toStep(schedule)
843
+ * const [, delay] = yield* step(0, undefined)
844
+ * return delay
1947
845
  * })
846
+ *
847
+ * await Effect.runPromise(program) // => Duration.millis(20)
1948
848
  * ```
1949
849
  *
1950
850
  * @category delays & timeouts
@@ -1957,28 +857,19 @@ export declare const modifyDelay: {
1957
857
  *
1958
858
  * **Example** (Modifying delays from schedule metadata)
1959
859
  *
1960
- * ```ts
1961
- * import { Console, Duration, Effect, Schedule } from "effect"
860
+ * ```ts import.meta.vitest
861
+ * import { Duration, Effect, Schedule } from "effect"
1962
862
  *
1963
- * // Modify delays based on output - increase delay on high iteration counts
1964
- * const adaptiveDelay = Schedule.recurs(10).pipe(
1965
- * Schedule.modifyDelay(({ output, duration }) => {
1966
- * // Double the delay if we're seeing high iteration counts
1967
- * return Effect.succeed(output > 5 ? Duration.times(duration, 2) : duration)
1968
- * })
863
+ * const schedule = Schedule.spaced("10 millis").pipe(
864
+ * Schedule.modifyDelay(({ duration }) => Effect.succeed(Duration.times(duration, 2)))
1969
865
  * )
1970
- *
1971
866
  * const program = Effect.gen(function*() {
1972
- * let counter = 0
1973
- * yield* Effect.repeat(
1974
- * Effect.gen(function*() {
1975
- * counter++
1976
- * yield* Console.log(`Attempt ${counter}`)
1977
- * return counter
1978
- * }),
1979
- * adaptiveDelay.pipe(Schedule.upTo({ times: 8 }))
1980
- * )
867
+ * const step = yield* Schedule.toStep(schedule)
868
+ * const [, delay] = yield* step(0, undefined)
869
+ * return delay
1981
870
  * })
871
+ *
872
+ * await Effect.runPromise(program) // => Duration.millis(20)
1982
873
  * ```
1983
874
  *
1984
875
  * @category delays & timeouts
@@ -1991,28 +882,19 @@ export declare const modifyDelay: {
1991
882
  *
1992
883
  * **Example** (Modifying delays from schedule metadata)
1993
884
  *
1994
- * ```ts
1995
- * import { Console, Duration, Effect, Schedule } from "effect"
885
+ * ```ts import.meta.vitest
886
+ * import { Duration, Effect, Schedule } from "effect"
1996
887
  *
1997
- * // Modify delays based on output - increase delay on high iteration counts
1998
- * const adaptiveDelay = Schedule.recurs(10).pipe(
1999
- * Schedule.modifyDelay(({ output, duration }) => {
2000
- * // Double the delay if we're seeing high iteration counts
2001
- * return Effect.succeed(output > 5 ? Duration.times(duration, 2) : duration)
2002
- * })
888
+ * const schedule = Schedule.spaced("10 millis").pipe(
889
+ * Schedule.modifyDelay(({ duration }) => Effect.succeed(Duration.times(duration, 2)))
2003
890
  * )
2004
- *
2005
891
  * const program = Effect.gen(function*() {
2006
- * let counter = 0
2007
- * yield* Effect.repeat(
2008
- * Effect.gen(function*() {
2009
- * counter++
2010
- * yield* Console.log(`Attempt ${counter}`)
2011
- * return counter
2012
- * }),
2013
- * adaptiveDelay.pipe(Schedule.upTo({ times: 8 }))
2014
- * )
892
+ * const step = yield* Schedule.toStep(schedule)
893
+ * const [, delay] = yield* step(0, undefined)
894
+ * return delay
2015
895
  * })
896
+ *
897
+ * await Effect.runPromise(program) // => Duration.millis(20)
2016
898
  * ```
2017
899
  *
2018
900
  * @category delays & timeouts
@@ -2043,25 +925,19 @@ export declare const jittered: <Output, Input, Error, Env>(self: Schedule<Output
2043
925
  *
2044
926
  * **Example** (Passing inputs through as outputs)
2045
927
  *
2046
- * ```ts
2047
- * import { Console, Effect, Schedule } from "effect"
928
+ * ```ts import.meta.vitest
929
+ * import { Effect, Schedule } from "effect"
2048
930
  *
2049
- * // Create a schedule that outputs the inputs instead of original outputs
2050
931
  * const inputSchedule = Schedule.passthrough(
2051
932
  * Schedule.exponential("100 millis").pipe(Schedule.upTo({ times: 3 }))
2052
933
  * )
2053
- *
2054
934
  * const program = Effect.gen(function*() {
2055
- * let counter = 0
2056
- * yield* Effect.repeat(
2057
- * Effect.gen(function*() {
2058
- * counter++
2059
- * yield* Console.log(`Task ${counter} executed`)
2060
- * return `result-${counter}`
2061
- * }),
2062
- * inputSchedule
2063
- * )
935
+ * const step = yield* Schedule.toStep(inputSchedule)
936
+ * const [output] = yield* step(0, "input")
937
+ * return output
2064
938
  * })
939
+ *
940
+ * await Effect.runPromise(program) // => "input"
2065
941
  * ```
2066
942
  *
2067
943
  * @category mapping
@@ -2084,53 +960,17 @@ export declare const passthrough: <Output, Input, Error, Env>(self: Schedule<Out
2084
960
  *
2085
961
  * **Example** (Limiting recurrences)
2086
962
  *
2087
- * ```ts
2088
- * import { Console, Data, Effect, Schedule } from "effect"
2089
- *
2090
- * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
2091
- *
2092
- * // Basic recurs - retry at most 3 times
2093
- * const maxThreeAttempts = Schedule.recurs(3)
2094
- *
2095
- * // Retry a failing operation at most 5 times
2096
- * const program = Effect.gen(function*() {
2097
- * let attempt = 0
2098
- *
2099
- * const result = yield* Effect.retry(
2100
- * Effect.gen(function*() {
2101
- * attempt++
2102
- * yield* Console.log(`Attempt ${attempt}`)
2103
- *
2104
- * if (attempt < 4) {
2105
- * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
2106
- * }
2107
- *
2108
- * return `Success on attempt ${attempt}`
2109
- * }),
2110
- * Schedule.recurs(5) // Will retry up to 5 times
2111
- * )
2112
- *
2113
- * yield* Console.log(`Final result: ${result}`)
2114
- * })
963
+ * ```ts import.meta.vitest
964
+ * import { Effect, Schedule } from "effect"
965
+ * import { TestClock } from "effect/testing"
2115
966
  *
2116
- * // Combining recurs with other schedules for sophisticated retry logic
2117
- * const complexRetry = Schedule.max([
2118
- * Schedule.exponential("100 millis"),
2119
- * Schedule.recurs(3) // At most 3 retries
2120
- * ])
2121
- *
2122
- * // Allow ten recurrences after the initial run
2123
- * const tenRecurrences = Effect.gen(function*() {
2124
- * yield* Console.log("Executing task...")
2125
- * return "completed"
2126
- * }).pipe(
2127
- * Effect.repeat(Schedule.recurs(10))
967
+ * const executions: Array<number> = []
968
+ * const program = Effect.sync(() => executions.push(executions.length + 1)).pipe(
969
+ * Effect.repeat(Schedule.recurs(3)),
970
+ * Effect.as(executions)
2128
971
  * )
2129
972
  *
2130
- * // The schedule outputs the current recurrence count (0-based)
2131
- * const countingSchedule = Schedule.recurs(3).pipe(
2132
- * Schedule.tap(({ output: count }) => Console.log(`Execution #${count + 1}`))
2133
- * )
973
+ * await Effect.runPromise(Effect.provide(program, TestClock.layer())) // => [1, 2, 3, 4]
2134
974
  * ```
2135
975
  *
2136
976
  * @see {@link upTo} for limiting an existing schedule
@@ -2149,46 +989,15 @@ export declare const recurs: (times: number) => Schedule<number>;
2149
989
  *
2150
990
  * **Example** (Repeating with fixed spacing)
2151
991
  *
2152
- * ```ts
2153
- * import { Console, Effect, Schedule } from "effect"
2154
- *
2155
- * // Basic spaced schedule - runs every 2 seconds
2156
- * const everyTwoSeconds = Schedule.spaced("2 seconds")
2157
- *
2158
- * // Heartbeat that runs indefinitely with fixed spacing
2159
- * const heartbeat = Effect.gen(function*() {
2160
- * yield* Console.log("Heartbeat")
2161
- * }).pipe(
2162
- * Effect.repeat(everyTwoSeconds)
2163
- * )
2164
- *
2165
- * // Limited repeat - run only 5 times with 1-second spacing
2166
- * const limitedTask = Effect.gen(function*() {
2167
- * yield* Console.log("Executing scheduled task...")
2168
- * yield* Effect.sleep("500 millis") // simulate work
2169
- * return "Task completed"
2170
- * }).pipe(
2171
- * Effect.repeat(
2172
- * Schedule.spaced("1 second").pipe(Schedule.upTo({ times: 5 }))
2173
- * )
2174
- * )
2175
- *
2176
- * // Simple spaced schedule with limited repetitions
2177
- * const limitedSpaced = Schedule.max([
2178
- * Schedule.spaced("100 millis"),
2179
- * Schedule.recurs(5) // at most 5 times
2180
- * ])
992
+ * ```ts import.meta.vitest
993
+ * import { Duration, Effect, Schedule } from "effect"
2181
994
  *
2182
995
  * const program = Effect.gen(function*() {
2183
- * yield* Console.log("Starting spaced execution...")
2184
- *
2185
- * yield* Effect.repeat(
2186
- * Effect.succeed("work item"),
2187
- * limitedSpaced
2188
- * )
2189
- *
2190
- * yield* Console.log("Completed executions")
996
+ * const step = yield* Schedule.toStep(Schedule.spaced("2 seconds"))
997
+ * return yield* step(0, undefined)
2191
998
  * })
999
+ *
1000
+ * await Effect.runPromise(program) // => [0, Duration.seconds(2)]
2192
1001
  * ```
2193
1002
  *
2194
1003
  * @see {@link fixed} for recurrence aligned to a regular cadence
@@ -2209,23 +1018,20 @@ export declare const spaced: (duration: Duration.Input) => Schedule<number>;
2209
1018
  *
2210
1019
  * **Example** (Tapping schedule metadata)
2211
1020
  *
2212
- * ```ts
2213
- * import { Console, Effect, Schedule } from "effect"
2214
- *
2215
- * const monitoredSchedule = Schedule.exponential("100 millis").pipe(
2216
- * Schedule.upTo({ times: 5 }),
2217
- * Schedule.tap((metadata) =>
2218
- * Console.log(
2219
- * `Attempt ${metadata.attempt} produced ${metadata.output} ` +
2220
- * `after ${metadata.elapsed}ms; next delay is ${metadata.duration}`
2221
- * )
2222
- * )
2223
- * )
1021
+ * ```ts import.meta.vitest
1022
+ * import { Effect, Schedule } from "effect"
2224
1023
  *
2225
- * const program = Effect.retry(
2226
- * Effect.fail("transient error"),
2227
- * monitoredSchedule
1024
+ * const attempts: Array<number> = []
1025
+ * const monitoredSchedule = Schedule.recurs(2).pipe(
1026
+ * Schedule.tap((metadata) => Effect.sync(() => attempts.push(metadata.attempt)))
2228
1027
  * )
1028
+ * const program = Effect.gen(function*() {
1029
+ * const step = yield* Schedule.toStep(monitoredSchedule)
1030
+ * const [output] = yield* step(0, undefined)
1031
+ * return { attempts, output }
1032
+ * })
1033
+ *
1034
+ * await Effect.runPromise(program) // => { attempts: [1], output: 0 }
2229
1035
  * ```
2230
1036
  *
2231
1037
  * @category sequencing
@@ -2244,23 +1050,20 @@ export declare const tap: {
2244
1050
  *
2245
1051
  * **Example** (Tapping schedule metadata)
2246
1052
  *
2247
- * ```ts
2248
- * import { Console, Effect, Schedule } from "effect"
2249
- *
2250
- * const monitoredSchedule = Schedule.exponential("100 millis").pipe(
2251
- * Schedule.upTo({ times: 5 }),
2252
- * Schedule.tap((metadata) =>
2253
- * Console.log(
2254
- * `Attempt ${metadata.attempt} produced ${metadata.output} ` +
2255
- * `after ${metadata.elapsed}ms; next delay is ${metadata.duration}`
2256
- * )
2257
- * )
2258
- * )
1053
+ * ```ts import.meta.vitest
1054
+ * import { Effect, Schedule } from "effect"
2259
1055
  *
2260
- * const program = Effect.retry(
2261
- * Effect.fail("transient error"),
2262
- * monitoredSchedule
1056
+ * const attempts: Array<number> = []
1057
+ * const monitoredSchedule = Schedule.recurs(2).pipe(
1058
+ * Schedule.tap((metadata) => Effect.sync(() => attempts.push(metadata.attempt)))
2263
1059
  * )
1060
+ * const program = Effect.gen(function*() {
1061
+ * const step = yield* Schedule.toStep(monitoredSchedule)
1062
+ * const [output] = yield* step(0, undefined)
1063
+ * return { attempts, output }
1064
+ * })
1065
+ *
1066
+ * await Effect.runPromise(program) // => { attempts: [1], output: 0 }
2264
1067
  * ```
2265
1068
  *
2266
1069
  * @category sequencing
@@ -2279,23 +1082,20 @@ export declare const tap: {
2279
1082
  *
2280
1083
  * **Example** (Tapping schedule metadata)
2281
1084
  *
2282
- * ```ts
2283
- * import { Console, Effect, Schedule } from "effect"
2284
- *
2285
- * const monitoredSchedule = Schedule.exponential("100 millis").pipe(
2286
- * Schedule.upTo({ times: 5 }),
2287
- * Schedule.tap((metadata) =>
2288
- * Console.log(
2289
- * `Attempt ${metadata.attempt} produced ${metadata.output} ` +
2290
- * `after ${metadata.elapsed}ms; next delay is ${metadata.duration}`
2291
- * )
2292
- * )
2293
- * )
1085
+ * ```ts import.meta.vitest
1086
+ * import { Effect, Schedule } from "effect"
2294
1087
  *
2295
- * const program = Effect.retry(
2296
- * Effect.fail("transient error"),
2297
- * monitoredSchedule
1088
+ * const attempts: Array<number> = []
1089
+ * const monitoredSchedule = Schedule.recurs(2).pipe(
1090
+ * Schedule.tap((metadata) => Effect.sync(() => attempts.push(metadata.attempt)))
2298
1091
  * )
1092
+ * const program = Effect.gen(function*() {
1093
+ * const step = yield* Schedule.toStep(monitoredSchedule)
1094
+ * const [output] = yield* step(0, undefined)
1095
+ * return { attempts, output }
1096
+ * })
1097
+ *
1098
+ * await Effect.runPromise(program) // => { attempts: [1], output: 0 }
2299
1099
  * ```
2300
1100
  *
2301
1101
  * @category sequencing
@@ -2326,64 +1126,18 @@ export declare const tap: {
2326
1126
  *
2327
1127
  * **Example** (Limiting by duration and recurrence count)
2328
1128
  *
2329
- * ```ts
2330
- * import { Console, Data, Effect, Schedule } from "effect"
2331
- *
2332
- * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
2333
- *
2334
- * // Limit an infinite schedule to five recurrences
2335
- * const limitedHeartbeat = Schedule.spaced("1 second").pipe(
2336
- * Schedule.upTo({ times: 5 })
2337
- * )
2338
- *
2339
- * const heartbeatProgram = Effect.gen(function*() {
2340
- * yield* Effect.repeat(
2341
- * Effect.gen(function*() {
2342
- * yield* Console.log("Heartbeat")
2343
- * return "pulse"
2344
- * }),
2345
- * limitedHeartbeat
2346
- * )
2347
- *
2348
- * yield* Console.log("Heartbeat sequence completed")
2349
- * })
2350
- *
2351
- * // Limit retry attempts by both count and elapsed time
2352
- * const limitedRetry = Schedule.exponential("100 millis").pipe(
2353
- * Schedule.upTo({
2354
- * duration: "5 seconds",
2355
- * times: 3
2356
- * })
2357
- * )
2358
- *
2359
- * const retryProgram = Effect.gen(function*() {
2360
- * let attempt = 0
2361
- *
2362
- * const result = yield* Effect.retry(
2363
- * Effect.gen(function*() {
2364
- * attempt++
2365
- * yield* Console.log(`Attempt ${attempt}`)
2366
- *
2367
- * if (attempt < 5) { // Will fail more than 3 times
2368
- * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
2369
- * }
2370
- *
2371
- * return `Success on attempt ${attempt}`
2372
- * }),
2373
- * limitedRetry
2374
- * )
1129
+ * ```ts import.meta.vitest
1130
+ * import { Effect, Schedule } from "effect"
1131
+ * import { TestClock } from "effect/testing"
2375
1132
  *
2376
- * yield* Console.log(`Result: ${result}`)
2377
- * }).pipe(
2378
- * Effect.catch((error: unknown) =>
2379
- * Console.log(`Failed after limited retries: ${String(error)}`)
2380
- * )
1133
+ * const executions: Array<number> = []
1134
+ * const schedule = Schedule.forever.pipe(Schedule.upTo({ times: 2 }))
1135
+ * const program = Effect.sync(() => executions.push(executions.length + 1)).pipe(
1136
+ * Effect.repeat(schedule),
1137
+ * Effect.as(executions)
2381
1138
  * )
2382
1139
  *
2383
- * // Empty options leave the schedule unchanged
2384
- * const unchanged = Schedule.fixed("500 millis").pipe(
2385
- * Schedule.upTo({})
2386
- * )
1140
+ * await Effect.runPromise(Effect.provide(program, TestClock.layer())) // => [1, 2, 3]
2387
1141
  * ```
2388
1142
  *
2389
1143
  * @category filtering
@@ -2413,64 +1167,18 @@ export declare const upTo: {
2413
1167
  *
2414
1168
  * **Example** (Limiting by duration and recurrence count)
2415
1169
  *
2416
- * ```ts
2417
- * import { Console, Data, Effect, Schedule } from "effect"
2418
- *
2419
- * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
2420
- *
2421
- * // Limit an infinite schedule to five recurrences
2422
- * const limitedHeartbeat = Schedule.spaced("1 second").pipe(
2423
- * Schedule.upTo({ times: 5 })
2424
- * )
2425
- *
2426
- * const heartbeatProgram = Effect.gen(function*() {
2427
- * yield* Effect.repeat(
2428
- * Effect.gen(function*() {
2429
- * yield* Console.log("Heartbeat")
2430
- * return "pulse"
2431
- * }),
2432
- * limitedHeartbeat
2433
- * )
2434
- *
2435
- * yield* Console.log("Heartbeat sequence completed")
2436
- * })
2437
- *
2438
- * // Limit retry attempts by both count and elapsed time
2439
- * const limitedRetry = Schedule.exponential("100 millis").pipe(
2440
- * Schedule.upTo({
2441
- * duration: "5 seconds",
2442
- * times: 3
2443
- * })
2444
- * )
2445
- *
2446
- * const retryProgram = Effect.gen(function*() {
2447
- * let attempt = 0
2448
- *
2449
- * const result = yield* Effect.retry(
2450
- * Effect.gen(function*() {
2451
- * attempt++
2452
- * yield* Console.log(`Attempt ${attempt}`)
2453
- *
2454
- * if (attempt < 5) { // Will fail more than 3 times
2455
- * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
2456
- * }
2457
- *
2458
- * return `Success on attempt ${attempt}`
2459
- * }),
2460
- * limitedRetry
2461
- * )
1170
+ * ```ts import.meta.vitest
1171
+ * import { Effect, Schedule } from "effect"
1172
+ * import { TestClock } from "effect/testing"
2462
1173
  *
2463
- * yield* Console.log(`Result: ${result}`)
2464
- * }).pipe(
2465
- * Effect.catch((error: unknown) =>
2466
- * Console.log(`Failed after limited retries: ${String(error)}`)
2467
- * )
1174
+ * const executions: Array<number> = []
1175
+ * const schedule = Schedule.forever.pipe(Schedule.upTo({ times: 2 }))
1176
+ * const program = Effect.sync(() => executions.push(executions.length + 1)).pipe(
1177
+ * Effect.repeat(schedule),
1178
+ * Effect.as(executions)
2468
1179
  * )
2469
1180
  *
2470
- * // Empty options leave the schedule unchanged
2471
- * const unchanged = Schedule.fixed("500 millis").pipe(
2472
- * Schedule.upTo({})
2473
- * )
1181
+ * await Effect.runPromise(Effect.provide(program, TestClock.layer())) // => [1, 2, 3]
2474
1182
  * ```
2475
1183
  *
2476
1184
  * @category filtering
@@ -2503,64 +1211,18 @@ export declare const upTo: {
2503
1211
  *
2504
1212
  * **Example** (Limiting by duration and recurrence count)
2505
1213
  *
2506
- * ```ts
2507
- * import { Console, Data, Effect, Schedule } from "effect"
2508
- *
2509
- * class RetryAttemptError extends Data.TaggedError("RetryAttemptError")<{ readonly message: string }> {}
2510
- *
2511
- * // Limit an infinite schedule to five recurrences
2512
- * const limitedHeartbeat = Schedule.spaced("1 second").pipe(
2513
- * Schedule.upTo({ times: 5 })
2514
- * )
2515
- *
2516
- * const heartbeatProgram = Effect.gen(function*() {
2517
- * yield* Effect.repeat(
2518
- * Effect.gen(function*() {
2519
- * yield* Console.log("Heartbeat")
2520
- * return "pulse"
2521
- * }),
2522
- * limitedHeartbeat
2523
- * )
2524
- *
2525
- * yield* Console.log("Heartbeat sequence completed")
2526
- * })
2527
- *
2528
- * // Limit retry attempts by both count and elapsed time
2529
- * const limitedRetry = Schedule.exponential("100 millis").pipe(
2530
- * Schedule.upTo({
2531
- * duration: "5 seconds",
2532
- * times: 3
2533
- * })
2534
- * )
2535
- *
2536
- * const retryProgram = Effect.gen(function*() {
2537
- * let attempt = 0
2538
- *
2539
- * const result = yield* Effect.retry(
2540
- * Effect.gen(function*() {
2541
- * attempt++
2542
- * yield* Console.log(`Attempt ${attempt}`)
2543
- *
2544
- * if (attempt < 5) { // Will fail more than 3 times
2545
- * return yield* Effect.fail(new RetryAttemptError({ message: `Attempt ${attempt} failed` }))
2546
- * }
2547
- *
2548
- * return `Success on attempt ${attempt}`
2549
- * }),
2550
- * limitedRetry
2551
- * )
1214
+ * ```ts import.meta.vitest
1215
+ * import { Effect, Schedule } from "effect"
1216
+ * import { TestClock } from "effect/testing"
2552
1217
  *
2553
- * yield* Console.log(`Result: ${result}`)
2554
- * }).pipe(
2555
- * Effect.catch((error: unknown) =>
2556
- * Console.log(`Failed after limited retries: ${String(error)}`)
2557
- * )
1218
+ * const executions: Array<number> = []
1219
+ * const schedule = Schedule.forever.pipe(Schedule.upTo({ times: 2 }))
1220
+ * const program = Effect.sync(() => executions.push(executions.length + 1)).pipe(
1221
+ * Effect.repeat(schedule),
1222
+ * Effect.as(executions)
2558
1223
  * )
2559
1224
  *
2560
- * // Empty options leave the schedule unchanged
2561
- * const unchanged = Schedule.fixed("500 millis").pipe(
2562
- * Schedule.upTo({})
2563
- * )
1225
+ * await Effect.runPromise(Effect.provide(program, TestClock.layer())) // => [1, 2, 3]
2564
1226
  * ```
2565
1227
  *
2566
1228
  * @category filtering
@@ -2613,21 +1275,15 @@ while_ as while };
2613
1275
  *
2614
1276
  * **Example** (Repeating on aligned windows)
2615
1277
  *
2616
- * ```ts
2617
- * import { Console, Effect, Schedule } from "effect"
2618
- *
2619
- * // Execute tasks at regular intervals aligned to window boundaries
2620
- * const windowSchedule = Schedule.windowed("5 seconds")
1278
+ * ```ts import.meta.vitest
1279
+ * import { Duration, Effect, Schedule } from "effect"
2621
1280
  *
2622
1281
  * const program = Effect.gen(function*() {
2623
- * yield* Effect.repeat(
2624
- * Effect.gen(function*() {
2625
- * yield* Console.log("Window task executed")
2626
- * return "window-task"
2627
- * }),
2628
- * windowSchedule.pipe(Schedule.upTo({ times: 4 }))
2629
- * )
1282
+ * const step = yield* Schedule.toStep(Schedule.windowed("5 seconds"))
1283
+ * return yield* step(0, undefined)
2630
1284
  * })
1285
+ *
1286
+ * await Effect.runPromise(program) // => [0, Duration.seconds(5)]
2631
1287
  * ```
2632
1288
  *
2633
1289
  * @category constructors
@@ -2644,21 +1300,18 @@ export declare const windowed: (interval: Duration.Input) => Schedule<number>;
2644
1300
  *
2645
1301
  * **Example** (Repeating forever)
2646
1302
  *
2647
- * ```ts
2648
- * import { Console, Effect, Schedule } from "effect"
1303
+ * ```ts import.meta.vitest
1304
+ * import { Effect, Schedule } from "effect"
1305
+ * import { TestClock } from "effect/testing"
2649
1306
  *
2650
- * // A schedule that runs forever with no delay
2651
- * const infiniteSchedule = Schedule.forever
1307
+ * const executions: Array<number> = []
1308
+ * const schedule = Schedule.forever.pipe(Schedule.upTo({ times: 2 }))
1309
+ * const program = Effect.sync(() => executions.push(executions.length + 1)).pipe(
1310
+ * Effect.repeat(schedule),
1311
+ * Effect.as(executions)
1312
+ * )
2652
1313
  *
2653
- * const program = Effect.gen(function*() {
2654
- * yield* Effect.repeat(
2655
- * Effect.gen(function*() {
2656
- * yield* Console.log("Running forever...")
2657
- * return "continuous-task"
2658
- * }),
2659
- * infiniteSchedule.pipe(Schedule.upTo({ times: 5 })) // Limit for demo
2660
- * )
2661
- * })
1314
+ * await Effect.runPromise(Effect.provide(program, TestClock.layer())) // => [1, 2, 3]
2662
1315
  * ```
2663
1316
  *
2664
1317
  * @category constructors
@@ -2700,12 +1353,13 @@ identity_ as identity };
2700
1353
  *
2701
1354
  * **Example** (Setting a schedule input type)
2702
1355
  *
2703
- * ```ts
1356
+ * ```ts import.meta.vitest
2704
1357
  * import { Schedule } from "effect"
2705
1358
  *
2706
1359
  * const schedule = Schedule.recurs(3).pipe(
2707
1360
  * Schedule.setInputType<string>()
2708
1361
  * )
1362
+ * Schedule.isSchedule(schedule) // => true
2709
1363
  * ```
2710
1364
  *
2711
1365
  * @category utility types