effect 4.0.1 → 4.0.2

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 (917) hide show
  1. package/ai-docs/package.json +2 -2
  2. package/ai-docs/tsconfig.json +2 -1
  3. package/dist/Array.d.ts +339 -0
  4. package/dist/Array.d.ts.map +1 -1
  5. package/dist/Array.js +143 -3
  6. package/dist/Array.js.map +1 -1
  7. package/dist/BigDecimal.d.ts +88 -0
  8. package/dist/BigDecimal.d.ts.map +1 -1
  9. package/dist/BigDecimal.js +44 -0
  10. package/dist/BigDecimal.js.map +1 -1
  11. package/dist/BigInt.d.ts +68 -0
  12. package/dist/BigInt.d.ts.map +1 -1
  13. package/dist/BigInt.js +36 -0
  14. package/dist/BigInt.js.map +1 -1
  15. package/dist/Boolean.d.ts +34 -0
  16. package/dist/Boolean.d.ts.map +1 -1
  17. package/dist/Boolean.js +18 -0
  18. package/dist/Boolean.js.map +1 -1
  19. package/dist/Brand.d.ts +9 -0
  20. package/dist/Brand.d.ts.map +1 -1
  21. package/dist/Brand.js +6 -0
  22. package/dist/Brand.js.map +1 -1
  23. package/dist/ByteSize.d.ts +86 -0
  24. package/dist/ByteSize.d.ts.map +1 -1
  25. package/dist/ByteSize.js +51 -0
  26. package/dist/ByteSize.js.map +1 -1
  27. package/dist/Cache.d.ts +38 -1
  28. package/dist/Cache.d.ts.map +1 -1
  29. package/dist/Cache.js +27 -7
  30. package/dist/Cache.js.map +1 -1
  31. package/dist/Cause.d.ts +82 -0
  32. package/dist/Cause.d.ts.map +1 -1
  33. package/dist/Cause.js +60 -0
  34. package/dist/Cause.js.map +1 -1
  35. package/dist/Channel.d.ts +327 -4
  36. package/dist/Channel.d.ts.map +1 -1
  37. package/dist/Channel.js +168 -8
  38. package/dist/Channel.js.map +1 -1
  39. package/dist/ChannelSchema.d.ts +11 -0
  40. package/dist/ChannelSchema.d.ts.map +1 -1
  41. package/dist/ChannelSchema.js +6 -0
  42. package/dist/ChannelSchema.js.map +1 -1
  43. package/dist/Chunk.d.ts +192 -0
  44. package/dist/Chunk.d.ts.map +1 -1
  45. package/dist/Chunk.js +78 -0
  46. package/dist/Chunk.js.map +1 -1
  47. package/dist/Clock.d.ts +7 -0
  48. package/dist/Clock.d.ts.map +1 -1
  49. package/dist/Clock.js +5 -0
  50. package/dist/Clock.js.map +1 -1
  51. package/dist/Combiner.d.ts +10 -0
  52. package/dist/Combiner.d.ts.map +1 -1
  53. package/dist/Combiner.js +8 -0
  54. package/dist/Combiner.js.map +1 -1
  55. package/dist/Config.d.ts +52 -12
  56. package/dist/Config.d.ts.map +1 -1
  57. package/dist/Config.js +55 -5
  58. package/dist/Config.js.map +1 -1
  59. package/dist/ConfigProvider.d.ts +28 -0
  60. package/dist/ConfigProvider.d.ts.map +1 -1
  61. package/dist/ConfigProvider.js +19 -0
  62. package/dist/ConfigProvider.js.map +1 -1
  63. package/dist/Console.d.ts +22 -0
  64. package/dist/Console.d.ts.map +1 -1
  65. package/dist/Console.js +20 -0
  66. package/dist/Console.js.map +1 -1
  67. package/dist/Context.d.ts +50 -0
  68. package/dist/Context.d.ts.map +1 -1
  69. package/dist/Context.js +21 -0
  70. package/dist/Context.js.map +1 -1
  71. package/dist/Cron.d.ts +16 -0
  72. package/dist/Cron.d.ts.map +1 -1
  73. package/dist/Cron.js +26 -1
  74. package/dist/Cron.js.map +1 -1
  75. package/dist/Crypto.d.ts +5 -0
  76. package/dist/Crypto.d.ts.map +1 -1
  77. package/dist/Crypto.js +3 -0
  78. package/dist/Crypto.js.map +1 -1
  79. package/dist/Data.d.ts +13 -0
  80. package/dist/Data.d.ts.map +1 -1
  81. package/dist/Data.js +5 -0
  82. package/dist/Data.js.map +1 -1
  83. package/dist/DateTime.d.ts +171 -0
  84. package/dist/DateTime.d.ts.map +1 -1
  85. package/dist/DateTime.js +89 -0
  86. package/dist/DateTime.js.map +1 -1
  87. package/dist/Deferred.d.ts +51 -0
  88. package/dist/Deferred.d.ts.map +1 -1
  89. package/dist/Deferred.js +22 -0
  90. package/dist/Deferred.js.map +1 -1
  91. package/dist/Differ.d.ts +2 -0
  92. package/dist/Differ.d.ts.map +1 -1
  93. package/dist/Differ.js +1 -0
  94. package/dist/Duration.d.ts +90 -0
  95. package/dist/Duration.d.ts.map +1 -1
  96. package/dist/Duration.js +53 -0
  97. package/dist/Duration.js.map +1 -1
  98. package/dist/Effect.d.ts +527 -0
  99. package/dist/Effect.d.ts.map +1 -1
  100. package/dist/Effect.js +240 -5
  101. package/dist/Effect.js.map +1 -1
  102. package/dist/Effectable.d.ts +4 -0
  103. package/dist/Effectable.d.ts.map +1 -1
  104. package/dist/Effectable.js +3 -0
  105. package/dist/Effectable.js.map +1 -1
  106. package/dist/Equal.d.ts +8 -0
  107. package/dist/Equal.d.ts.map +1 -1
  108. package/dist/Equal.js +9 -1
  109. package/dist/Equal.js.map +1 -1
  110. package/dist/Equivalence.d.ts +21 -0
  111. package/dist/Equivalence.d.ts.map +1 -1
  112. package/dist/Equivalence.js +16 -0
  113. package/dist/Equivalence.js.map +1 -1
  114. package/dist/ErrorReporter.d.ts +36 -0
  115. package/dist/ErrorReporter.d.ts.map +1 -1
  116. package/dist/ErrorReporter.js +11 -0
  117. package/dist/ErrorReporter.js.map +1 -1
  118. package/dist/ExecutionPlan.d.ts +49 -8
  119. package/dist/ExecutionPlan.d.ts.map +1 -1
  120. package/dist/ExecutionPlan.js +7 -0
  121. package/dist/ExecutionPlan.js.map +1 -1
  122. package/dist/Exit.d.ts +40 -0
  123. package/dist/Exit.d.ts.map +1 -1
  124. package/dist/Exit.js +27 -0
  125. package/dist/Exit.js.map +1 -1
  126. package/dist/Fiber.d.ts +20 -0
  127. package/dist/Fiber.d.ts.map +1 -1
  128. package/dist/Fiber.js +11 -0
  129. package/dist/Fiber.js.map +1 -1
  130. package/dist/FiberHandle.d.ts +21 -0
  131. package/dist/FiberHandle.d.ts.map +1 -1
  132. package/dist/FiberHandle.js +21 -4
  133. package/dist/FiberHandle.js.map +1 -1
  134. package/dist/FiberMap.d.ts +35 -0
  135. package/dist/FiberMap.d.ts.map +1 -1
  136. package/dist/FiberMap.js +19 -0
  137. package/dist/FiberMap.js.map +1 -1
  138. package/dist/FiberSet.d.ts +20 -0
  139. package/dist/FiberSet.d.ts.map +1 -1
  140. package/dist/FiberSet.js +14 -0
  141. package/dist/FiberSet.js.map +1 -1
  142. package/dist/FileSystem.d.ts +15 -0
  143. package/dist/FileSystem.d.ts.map +1 -1
  144. package/dist/FileSystem.js +8 -0
  145. package/dist/FileSystem.js.map +1 -1
  146. package/dist/Filter.d.ts +55 -0
  147. package/dist/Filter.d.ts.map +1 -1
  148. package/dist/Filter.js +28 -0
  149. package/dist/Filter.js.map +1 -1
  150. package/dist/Formatter.d.ts +3 -0
  151. package/dist/Formatter.d.ts.map +1 -1
  152. package/dist/Formatter.js +39 -1
  153. package/dist/Formatter.js.map +1 -1
  154. package/dist/Function.d.ts +30 -0
  155. package/dist/Function.d.ts.map +1 -1
  156. package/dist/Function.js +20 -0
  157. package/dist/Function.js.map +1 -1
  158. package/dist/Graph.d.ts +247 -12
  159. package/dist/Graph.d.ts.map +1 -1
  160. package/dist/Graph.js +149 -28
  161. package/dist/Graph.js.map +1 -1
  162. package/dist/HKT.d.ts +5 -0
  163. package/dist/HKT.d.ts.map +1 -1
  164. package/dist/Hash.d.ts +14 -0
  165. package/dist/Hash.d.ts.map +1 -1
  166. package/dist/Hash.js +12 -0
  167. package/dist/Hash.js.map +1 -1
  168. package/dist/HashMap.d.ts +91 -0
  169. package/dist/HashMap.d.ts.map +1 -1
  170. package/dist/HashMap.js +39 -0
  171. package/dist/HashMap.js.map +1 -1
  172. package/dist/HashRing.d.ts +17 -0
  173. package/dist/HashRing.d.ts.map +1 -1
  174. package/dist/HashRing.js +9 -0
  175. package/dist/HashRing.js.map +1 -1
  176. package/dist/HashSet.d.ts +49 -0
  177. package/dist/HashSet.d.ts.map +1 -1
  178. package/dist/HashSet.js +19 -0
  179. package/dist/HashSet.js.map +1 -1
  180. package/dist/Inspectable.d.ts +7 -0
  181. package/dist/Inspectable.d.ts.map +1 -1
  182. package/dist/Inspectable.js +6 -0
  183. package/dist/Inspectable.js.map +1 -1
  184. package/dist/Iterable.d.ts +127 -0
  185. package/dist/Iterable.d.ts.map +1 -1
  186. package/dist/Iterable.js +51 -0
  187. package/dist/Iterable.js.map +1 -1
  188. package/dist/JsonPatch.d.ts +4 -0
  189. package/dist/JsonPatch.d.ts.map +1 -1
  190. package/dist/JsonPatch.js +3 -0
  191. package/dist/JsonPatch.js.map +1 -1
  192. package/dist/JsonPointer.d.ts +5 -0
  193. package/dist/JsonPointer.d.ts.map +1 -1
  194. package/dist/JsonPointer.js +5 -0
  195. package/dist/JsonPointer.js.map +1 -1
  196. package/dist/JsonSchema.d.ts +16 -0
  197. package/dist/JsonSchema.d.ts.map +1 -1
  198. package/dist/JsonSchema.js +11 -0
  199. package/dist/JsonSchema.js.map +1 -1
  200. package/dist/Latch.d.ts +14 -0
  201. package/dist/Latch.d.ts.map +1 -1
  202. package/dist/Latch.js +10 -0
  203. package/dist/Latch.js.map +1 -1
  204. package/dist/Layer.d.ts +100 -0
  205. package/dist/Layer.d.ts.map +1 -1
  206. package/dist/Layer.js +45 -1
  207. package/dist/Layer.js.map +1 -1
  208. package/dist/LayerMap.d.ts +7 -0
  209. package/dist/LayerMap.d.ts.map +1 -1
  210. package/dist/LayerMap.js +4 -0
  211. package/dist/LayerMap.js.map +1 -1
  212. package/dist/LayerRef.d.ts +5 -0
  213. package/dist/LayerRef.d.ts.map +1 -1
  214. package/dist/LayerRef.js +3 -0
  215. package/dist/LayerRef.js.map +1 -1
  216. package/dist/LogLevel.d.ts +20 -0
  217. package/dist/LogLevel.d.ts.map +1 -1
  218. package/dist/LogLevel.js +9 -0
  219. package/dist/LogLevel.js.map +1 -1
  220. package/dist/Logger.d.ts +25 -0
  221. package/dist/Logger.d.ts.map +1 -1
  222. package/dist/Logger.js +30 -4
  223. package/dist/Logger.js.map +1 -1
  224. package/dist/ManagedRuntime.d.ts +5 -0
  225. package/dist/ManagedRuntime.d.ts.map +1 -1
  226. package/dist/ManagedRuntime.js +9 -1
  227. package/dist/ManagedRuntime.js.map +1 -1
  228. package/dist/Match.d.ts +51 -0
  229. package/dist/Match.d.ts.map +1 -1
  230. package/dist/Match.js +39 -0
  231. package/dist/Match.js.map +1 -1
  232. package/dist/Metric.d.ts +59 -0
  233. package/dist/Metric.d.ts.map +1 -1
  234. package/dist/Metric.js +31 -0
  235. package/dist/Metric.js.map +1 -1
  236. package/dist/MutableHashMap.d.ts +32 -0
  237. package/dist/MutableHashMap.d.ts.map +1 -1
  238. package/dist/MutableHashMap.js +16 -0
  239. package/dist/MutableHashMap.js.map +1 -1
  240. package/dist/MutableHashSet.d.ts +16 -0
  241. package/dist/MutableHashSet.d.ts.map +1 -1
  242. package/dist/MutableHashSet.js +10 -0
  243. package/dist/MutableHashSet.js.map +1 -1
  244. package/dist/MutableList.d.ts +20 -0
  245. package/dist/MutableList.d.ts.map +1 -1
  246. package/dist/MutableList.js +18 -0
  247. package/dist/MutableList.js.map +1 -1
  248. package/dist/MutableRef.d.ts +31 -0
  249. package/dist/MutableRef.d.ts.map +1 -1
  250. package/dist/MutableRef.js +17 -0
  251. package/dist/MutableRef.js.map +1 -1
  252. package/dist/Newtype.d.ts +9 -0
  253. package/dist/Newtype.d.ts.map +1 -1
  254. package/dist/Newtype.js +6 -0
  255. package/dist/Newtype.js.map +1 -1
  256. package/dist/NonEmptyIterable.d.ts +4 -0
  257. package/dist/NonEmptyIterable.d.ts.map +1 -1
  258. package/dist/NonEmptyIterable.js +2 -0
  259. package/dist/NonEmptyIterable.js.map +1 -1
  260. package/dist/Number.d.ts +61 -0
  261. package/dist/Number.d.ts.map +1 -1
  262. package/dist/Number.js +31 -0
  263. package/dist/Number.js.map +1 -1
  264. package/dist/Optic.d.ts +41 -0
  265. package/dist/Optic.d.ts.map +1 -1
  266. package/dist/Optic.js +20 -0
  267. package/dist/Optic.js.map +1 -1
  268. package/dist/Option.d.ts +134 -0
  269. package/dist/Option.d.ts.map +1 -1
  270. package/dist/Option.js +61 -0
  271. package/dist/Option.js.map +1 -1
  272. package/dist/Order.d.ts +29 -0
  273. package/dist/Order.d.ts.map +1 -1
  274. package/dist/Order.js +24 -0
  275. package/dist/Order.js.map +1 -1
  276. package/dist/Ordering.d.ts +7 -0
  277. package/dist/Ordering.d.ts.map +1 -1
  278. package/dist/Ordering.js +3 -0
  279. package/dist/Ordering.js.map +1 -1
  280. package/dist/PartitionedSemaphore.d.ts +24 -0
  281. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  282. package/dist/PartitionedSemaphore.js +47 -21
  283. package/dist/PartitionedSemaphore.js.map +1 -1
  284. package/dist/Path.d.ts +6 -0
  285. package/dist/Path.d.ts.map +1 -1
  286. package/dist/Path.js +4 -0
  287. package/dist/Path.js.map +1 -1
  288. package/dist/Pipeable.d.ts +7 -0
  289. package/dist/Pipeable.d.ts.map +1 -1
  290. package/dist/Pipeable.js +5 -0
  291. package/dist/Pipeable.js.map +1 -1
  292. package/dist/PlatformError.d.ts +8 -0
  293. package/dist/PlatformError.d.ts.map +1 -1
  294. package/dist/PlatformError.js +7 -0
  295. package/dist/PlatformError.js.map +1 -1
  296. package/dist/Pool.d.ts +19 -0
  297. package/dist/Pool.d.ts.map +1 -1
  298. package/dist/Pool.js +8 -1
  299. package/dist/Pool.js.map +1 -1
  300. package/dist/Predicate.d.ts +84 -0
  301. package/dist/Predicate.d.ts.map +1 -1
  302. package/dist/Predicate.js +48 -0
  303. package/dist/Predicate.js.map +1 -1
  304. package/dist/PrimaryKey.d.ts +5 -0
  305. package/dist/PrimaryKey.d.ts.map +1 -1
  306. package/dist/PrimaryKey.js +4 -0
  307. package/dist/PrimaryKey.js.map +1 -1
  308. package/dist/PubSub.d.ts +67 -5
  309. package/dist/PubSub.d.ts.map +1 -1
  310. package/dist/PubSub.js +60 -8
  311. package/dist/PubSub.js.map +1 -1
  312. package/dist/Pull.d.ts +20 -0
  313. package/dist/Pull.d.ts.map +1 -1
  314. package/dist/Pull.js +10 -0
  315. package/dist/Pull.js.map +1 -1
  316. package/dist/Queue.d.ts +60 -0
  317. package/dist/Queue.d.ts.map +1 -1
  318. package/dist/Queue.js +58 -8
  319. package/dist/Queue.js.map +1 -1
  320. package/dist/Random.d.ts +13 -0
  321. package/dist/Random.d.ts.map +1 -1
  322. package/dist/Random.js +9 -0
  323. package/dist/Random.js.map +1 -1
  324. package/dist/RcMap.d.ts +23 -0
  325. package/dist/RcMap.d.ts.map +1 -1
  326. package/dist/RcMap.js +8 -0
  327. package/dist/RcMap.js.map +1 -1
  328. package/dist/RcRef.d.ts +6 -0
  329. package/dist/RcRef.d.ts.map +1 -1
  330. package/dist/RcRef.js +3 -0
  331. package/dist/RcRef.js.map +1 -1
  332. package/dist/Record.d.ts +100 -0
  333. package/dist/Record.d.ts.map +1 -1
  334. package/dist/Record.js +43 -0
  335. package/dist/Record.js.map +1 -1
  336. package/dist/Redactable.d.ts +6 -0
  337. package/dist/Redactable.d.ts.map +1 -1
  338. package/dist/Redactable.js +4 -0
  339. package/dist/Redactable.js.map +1 -1
  340. package/dist/Redacted.d.ts +8 -0
  341. package/dist/Redacted.d.ts.map +1 -1
  342. package/dist/Redacted.js +6 -0
  343. package/dist/Redacted.js.map +1 -1
  344. package/dist/Reducer.d.ts +4 -0
  345. package/dist/Reducer.d.ts.map +1 -1
  346. package/dist/Reducer.js +3 -0
  347. package/dist/Reducer.js.map +1 -1
  348. package/dist/Ref.d.ts +20 -0
  349. package/dist/Ref.d.ts.map +1 -1
  350. package/dist/Ref.js +16 -0
  351. package/dist/Ref.js.map +1 -1
  352. package/dist/References.d.ts +21 -0
  353. package/dist/References.d.ts.map +1 -1
  354. package/dist/References.js +19 -0
  355. package/dist/References.js.map +1 -1
  356. package/dist/RegExp.d.ts +3 -0
  357. package/dist/RegExp.d.ts.map +1 -1
  358. package/dist/RegExp.js +4 -0
  359. package/dist/RegExp.js.map +1 -1
  360. package/dist/Request.d.ts +32 -0
  361. package/dist/Request.d.ts.map +1 -1
  362. package/dist/Request.js +12 -0
  363. package/dist/Request.js.map +1 -1
  364. package/dist/RequestResolver.d.ts +42 -0
  365. package/dist/RequestResolver.d.ts.map +1 -1
  366. package/dist/RequestResolver.js +27 -6
  367. package/dist/RequestResolver.js.map +1 -1
  368. package/dist/Resource.d.ts +6 -0
  369. package/dist/Resource.d.ts.map +1 -1
  370. package/dist/Resource.js +6 -0
  371. package/dist/Resource.js.map +1 -1
  372. package/dist/Result.d.ts +91 -0
  373. package/dist/Result.d.ts.map +1 -1
  374. package/dist/Result.js +41 -0
  375. package/dist/Result.js.map +1 -1
  376. package/dist/Runtime.d.ts +9 -0
  377. package/dist/Runtime.d.ts.map +1 -1
  378. package/dist/Runtime.js +7 -0
  379. package/dist/Runtime.js.map +1 -1
  380. package/dist/Schedule.d.ts +57 -0
  381. package/dist/Schedule.d.ts.map +1 -1
  382. package/dist/Schedule.js +32 -0
  383. package/dist/Schedule.js.map +1 -1
  384. package/dist/Scheduler.d.ts +7 -0
  385. package/dist/Scheduler.d.ts.map +1 -1
  386. package/dist/Scheduler.js +5 -0
  387. package/dist/Scheduler.js.map +1 -1
  388. package/dist/Schema.d.ts +496 -1
  389. package/dist/Schema.d.ts.map +1 -1
  390. package/dist/Schema.js +280 -1
  391. package/dist/Schema.js.map +1 -1
  392. package/dist/SchemaAST.d.ts +107 -0
  393. package/dist/SchemaAST.d.ts.map +1 -1
  394. package/dist/SchemaAST.js +81 -1
  395. package/dist/SchemaAST.js.map +1 -1
  396. package/dist/SchemaGetter.d.ts +69 -2
  397. package/dist/SchemaGetter.d.ts.map +1 -1
  398. package/dist/SchemaGetter.js +63 -4
  399. package/dist/SchemaGetter.js.map +1 -1
  400. package/dist/SchemaIssue.d.ts +33 -0
  401. package/dist/SchemaIssue.d.ts.map +1 -1
  402. package/dist/SchemaIssue.js +18 -0
  403. package/dist/SchemaIssue.js.map +1 -1
  404. package/dist/SchemaParser.d.ts +25 -0
  405. package/dist/SchemaParser.d.ts.map +1 -1
  406. package/dist/SchemaParser.js +26 -0
  407. package/dist/SchemaParser.js.map +1 -1
  408. package/dist/SchemaRepresentation.d.ts +147 -0
  409. package/dist/SchemaRepresentation.d.ts.map +1 -1
  410. package/dist/SchemaRepresentation.js +99 -0
  411. package/dist/SchemaRepresentation.js.map +1 -1
  412. package/dist/SchemaTransformation.d.ts +53 -0
  413. package/dist/SchemaTransformation.d.ts.map +1 -1
  414. package/dist/SchemaTransformation.js +46 -0
  415. package/dist/SchemaTransformation.js.map +1 -1
  416. package/dist/Scope.d.ts +19 -0
  417. package/dist/Scope.d.ts.map +1 -1
  418. package/dist/Scope.js +12 -0
  419. package/dist/Scope.js.map +1 -1
  420. package/dist/ScopedCache.d.ts +34 -0
  421. package/dist/ScopedCache.d.ts.map +1 -1
  422. package/dist/ScopedCache.js +26 -3
  423. package/dist/ScopedCache.js.map +1 -1
  424. package/dist/ScopedRef.d.ts +9 -0
  425. package/dist/ScopedRef.d.ts.map +1 -1
  426. package/dist/ScopedRef.js +6 -0
  427. package/dist/ScopedRef.js.map +1 -1
  428. package/dist/Semaphore.d.ts +26 -0
  429. package/dist/Semaphore.d.ts.map +1 -1
  430. package/dist/Semaphore.js +10 -0
  431. package/dist/Semaphore.js.map +1 -1
  432. package/dist/Sink.d.ts +125 -1
  433. package/dist/Sink.d.ts.map +1 -1
  434. package/dist/Sink.js +75 -1
  435. package/dist/Sink.js.map +1 -1
  436. package/dist/StandardSchema.d.ts +1 -0
  437. package/dist/StandardSchema.d.ts.map +1 -1
  438. package/dist/StandardSchema.js +1 -0
  439. package/dist/Stdio.d.ts +7 -0
  440. package/dist/Stdio.d.ts.map +1 -1
  441. package/dist/Stdio.js +5 -0
  442. package/dist/Stdio.js.map +1 -1
  443. package/dist/Stream.d.ts +558 -0
  444. package/dist/Stream.d.ts.map +1 -1
  445. package/dist/Stream.js +261 -13
  446. package/dist/Stream.js.map +1 -1
  447. package/dist/String.d.ts +87 -0
  448. package/dist/String.d.ts.map +1 -1
  449. package/dist/String.js +61 -0
  450. package/dist/String.js.map +1 -1
  451. package/dist/Struct.d.ts +46 -0
  452. package/dist/Struct.d.ts.map +1 -1
  453. package/dist/Struct.js +19 -0
  454. package/dist/Struct.js.map +1 -1
  455. package/dist/SubscriptionRef.d.ts +65 -0
  456. package/dist/SubscriptionRef.d.ts.map +1 -1
  457. package/dist/SubscriptionRef.js +25 -0
  458. package/dist/SubscriptionRef.js.map +1 -1
  459. package/dist/Symbol.d.ts +2 -0
  460. package/dist/Symbol.d.ts.map +1 -1
  461. package/dist/Symbol.js +2 -0
  462. package/dist/Symbol.js.map +1 -1
  463. package/dist/SynchronizedRef.d.ts +63 -0
  464. package/dist/SynchronizedRef.d.ts.map +1 -1
  465. package/dist/SynchronizedRef.js +24 -0
  466. package/dist/SynchronizedRef.js.map +1 -1
  467. package/dist/Take.d.ts +3 -0
  468. package/dist/Take.d.ts.map +1 -1
  469. package/dist/Take.js +1 -0
  470. package/dist/Take.js.map +1 -1
  471. package/dist/Terminal.d.ts +8 -0
  472. package/dist/Terminal.d.ts.map +1 -1
  473. package/dist/Terminal.js +4 -0
  474. package/dist/Terminal.js.map +1 -1
  475. package/dist/Tracer.d.ts +23 -0
  476. package/dist/Tracer.d.ts.map +1 -1
  477. package/dist/Tracer.js +12 -0
  478. package/dist/Tracer.js.map +1 -1
  479. package/dist/Trie.d.ts +68 -0
  480. package/dist/Trie.d.ts.map +1 -1
  481. package/dist/Trie.js +28 -0
  482. package/dist/Trie.js.map +1 -1
  483. package/dist/Tuple.d.ts +38 -0
  484. package/dist/Tuple.d.ts.map +1 -1
  485. package/dist/Tuple.js +18 -0
  486. package/dist/Tuple.js.map +1 -1
  487. package/dist/TxChunk.d.ts +52 -0
  488. package/dist/TxChunk.d.ts.map +1 -1
  489. package/dist/TxChunk.js +23 -0
  490. package/dist/TxChunk.js.map +1 -1
  491. package/dist/TxDeferred.d.ts +15 -0
  492. package/dist/TxDeferred.d.ts.map +1 -1
  493. package/dist/TxDeferred.js +8 -0
  494. package/dist/TxDeferred.js.map +1 -1
  495. package/dist/TxHashMap.d.ts +83 -0
  496. package/dist/TxHashMap.d.ts.map +1 -1
  497. package/dist/TxHashMap.js +52 -7
  498. package/dist/TxHashMap.js.map +1 -1
  499. package/dist/TxHashSet.d.ts +51 -0
  500. package/dist/TxHashSet.d.ts.map +1 -1
  501. package/dist/TxHashSet.js +29 -4
  502. package/dist/TxHashSet.js.map +1 -1
  503. package/dist/TxPriorityQueue.d.ts +30 -0
  504. package/dist/TxPriorityQueue.d.ts.map +1 -1
  505. package/dist/TxPriorityQueue.js +22 -1
  506. package/dist/TxPriorityQueue.js.map +1 -1
  507. package/dist/TxPubSub.d.ts +25 -0
  508. package/dist/TxPubSub.d.ts.map +1 -1
  509. package/dist/TxPubSub.js +19 -0
  510. package/dist/TxPubSub.js.map +1 -1
  511. package/dist/TxQueue.d.ts +51 -0
  512. package/dist/TxQueue.d.ts.map +1 -1
  513. package/dist/TxQueue.js +30 -0
  514. package/dist/TxQueue.js.map +1 -1
  515. package/dist/TxReentrantLock.d.ts +24 -0
  516. package/dist/TxReentrantLock.d.ts.map +1 -1
  517. package/dist/TxReentrantLock.js +32 -18
  518. package/dist/TxReentrantLock.js.map +1 -1
  519. package/dist/TxRef.d.ts +14 -0
  520. package/dist/TxRef.d.ts.map +1 -1
  521. package/dist/TxRef.js +7 -0
  522. package/dist/TxRef.js.map +1 -1
  523. package/dist/TxSemaphore.d.ts +25 -0
  524. package/dist/TxSemaphore.d.ts.map +1 -1
  525. package/dist/TxSemaphore.js +29 -13
  526. package/dist/TxSemaphore.js.map +1 -1
  527. package/dist/TxSubscriptionRef.d.ts +25 -0
  528. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  529. package/dist/TxSubscriptionRef.js +12 -0
  530. package/dist/TxSubscriptionRef.js.map +1 -1
  531. package/dist/Types.d.ts +36 -0
  532. package/dist/Types.d.ts.map +1 -1
  533. package/dist/Types.js +1 -0
  534. package/dist/UndefinedOr.d.ts +15 -0
  535. package/dist/UndefinedOr.d.ts.map +1 -1
  536. package/dist/UndefinedOr.js +9 -0
  537. package/dist/UndefinedOr.js.map +1 -1
  538. package/dist/Unify.d.ts +15 -0
  539. package/dist/Unify.d.ts.map +1 -1
  540. package/dist/Unify.js +2 -0
  541. package/dist/Unify.js.map +1 -1
  542. package/dist/Utils.d.ts +4 -0
  543. package/dist/Utils.d.ts.map +1 -1
  544. package/dist/Utils.js +1 -0
  545. package/dist/Utils.js.map +1 -1
  546. package/dist/Version.d.ts +26 -0
  547. package/dist/Version.d.ts.map +1 -0
  548. package/dist/Version.js +36 -0
  549. package/dist/Version.js.map +1 -0
  550. package/dist/ai/Chat.js +1 -1
  551. package/dist/ai/Chat.js.map +1 -1
  552. package/dist/ai/DecisionModel.d.ts +22 -0
  553. package/dist/ai/DecisionModel.d.ts.map +1 -1
  554. package/dist/ai/DecisionModel.js +22 -4
  555. package/dist/ai/DecisionModel.js.map +1 -1
  556. package/dist/ai/LanguageModel.d.ts.map +1 -1
  557. package/dist/ai/LanguageModel.js +14 -13
  558. package/dist/ai/LanguageModel.js.map +1 -1
  559. package/dist/ai/McpServer.d.ts +32 -11
  560. package/dist/ai/McpServer.d.ts.map +1 -1
  561. package/dist/ai/McpServer.js +213 -169
  562. package/dist/ai/McpServer.js.map +1 -1
  563. package/dist/ai/Telemetry.d.ts +49 -41
  564. package/dist/ai/Telemetry.d.ts.map +1 -1
  565. package/dist/ai/Telemetry.js +6 -8
  566. package/dist/ai/Telemetry.js.map +1 -1
  567. package/dist/ai/internal/mcpRuntime.js +79 -46
  568. package/dist/ai/internal/mcpRuntime.js.map +1 -1
  569. package/dist/ai/internal/mcpStatefulRuntime.js +1 -0
  570. package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
  571. package/dist/cluster/K8sHttpClient.d.ts.map +1 -1
  572. package/dist/cluster/K8sHttpClient.js +5 -2
  573. package/dist/cluster/K8sHttpClient.js.map +1 -1
  574. package/dist/encoding/Base64.d.ts +4 -0
  575. package/dist/encoding/Base64.d.ts.map +1 -1
  576. package/dist/encoding/Base64.js +4 -0
  577. package/dist/encoding/Base64.js.map +1 -1
  578. package/dist/encoding/Base64Url.d.ts +4 -0
  579. package/dist/encoding/Base64Url.d.ts.map +1 -1
  580. package/dist/encoding/Base64Url.js +4 -0
  581. package/dist/encoding/Base64Url.js.map +1 -1
  582. package/dist/encoding/EncodingError.d.ts +4 -0
  583. package/dist/encoding/EncodingError.d.ts.map +1 -1
  584. package/dist/encoding/EncodingError.js +4 -0
  585. package/dist/encoding/EncodingError.js.map +1 -1
  586. package/dist/encoding/Hex.d.ts +5 -0
  587. package/dist/encoding/Hex.d.ts.map +1 -1
  588. package/dist/encoding/Hex.js +5 -0
  589. package/dist/encoding/Hex.js.map +1 -1
  590. package/dist/encoding/Toml.js +2 -2
  591. package/dist/encoding/Toml.js.map +1 -1
  592. package/dist/encoding/Yaml.d.ts.map +1 -1
  593. package/dist/encoding/Yaml.js +6 -4
  594. package/dist/encoding/Yaml.js.map +1 -1
  595. package/dist/encoding/index.d.ts +4 -0
  596. package/dist/encoding/index.d.ts.map +1 -1
  597. package/dist/encoding/index.js +4 -0
  598. package/dist/encoding/index.js.map +1 -1
  599. package/dist/eventlog/SqlEventJournal.js +8 -4
  600. package/dist/eventlog/SqlEventJournal.js.map +1 -1
  601. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +27 -10
  602. package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  603. package/dist/eventlog/SqlEventLogServerUnencrypted.js +49 -7
  604. package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  605. package/dist/http/Headers.d.ts +3 -1
  606. package/dist/http/Headers.d.ts.map +1 -1
  607. package/dist/http/Headers.js +4 -2
  608. package/dist/http/Headers.js.map +1 -1
  609. package/dist/http/HttpClient.d.ts +9 -0
  610. package/dist/http/HttpClient.d.ts.map +1 -1
  611. package/dist/http/HttpClient.js +40 -21
  612. package/dist/http/HttpClient.js.map +1 -1
  613. package/dist/http/HttpClientResponse.js +3 -1
  614. package/dist/http/HttpClientResponse.js.map +1 -1
  615. package/dist/http/HttpEffect.d.ts +3 -0
  616. package/dist/http/HttpEffect.d.ts.map +1 -1
  617. package/dist/http/HttpEffect.js +5 -2
  618. package/dist/http/HttpEffect.js.map +1 -1
  619. package/dist/http/HttpMiddleware.d.ts +17 -0
  620. package/dist/http/HttpMiddleware.d.ts.map +1 -1
  621. package/dist/http/HttpMiddleware.js +56 -39
  622. package/dist/http/HttpMiddleware.js.map +1 -1
  623. package/dist/http/HttpServer.d.ts +1 -1
  624. package/dist/http/HttpServer.d.ts.map +1 -1
  625. package/dist/http/internal/tracing.d.ts +2 -0
  626. package/dist/http/internal/tracing.d.ts.map +1 -0
  627. package/dist/http/internal/tracing.js +37 -0
  628. package/dist/http/internal/tracing.js.map +1 -0
  629. package/dist/http-api/HttpApiBuilder.js +2 -1
  630. package/dist/http-api/HttpApiBuilder.js.map +1 -1
  631. package/dist/http-api/HttpApiClient.d.ts +12 -3
  632. package/dist/http-api/HttpApiClient.d.ts.map +1 -1
  633. package/dist/http-api/HttpApiClient.js.map +1 -1
  634. package/dist/http-api/HttpApiError.d.ts +4 -3
  635. package/dist/http-api/HttpApiError.d.ts.map +1 -1
  636. package/dist/http-api/HttpApiError.js +7 -4
  637. package/dist/http-api/HttpApiError.js.map +1 -1
  638. package/dist/http-api/HttpApiSecurity.d.ts +8 -8
  639. package/dist/http-api/HttpApiSecurity.js +8 -8
  640. package/dist/index.d.ts +155 -0
  641. package/dist/index.d.ts.map +1 -1
  642. package/dist/index.js +155 -0
  643. package/dist/index.js.map +1 -1
  644. package/dist/internal/arbitrary/array.js +3 -3
  645. package/dist/internal/arbitrary/array.js.map +1 -1
  646. package/dist/internal/arbitrary/model.js +26 -11
  647. package/dist/internal/arbitrary/model.js.map +1 -1
  648. package/dist/internal/arbitrary/runner.js +8 -8
  649. package/dist/internal/arbitrary/runner.js.map +1 -1
  650. package/dist/internal/arbitrary/schema.js +4 -5
  651. package/dist/internal/arbitrary/schema.js.map +1 -1
  652. package/dist/internal/effect.js +41 -39
  653. package/dist/internal/effect.js.map +1 -1
  654. package/dist/internal/schedule.js +7 -5
  655. package/dist/internal/schedule.js.map +1 -1
  656. package/dist/internal/schema/standardSchema.js +2 -2
  657. package/dist/internal/schema/standardSchema.js.map +1 -1
  658. package/dist/internal/version.d.ts +2 -0
  659. package/dist/internal/version.d.ts.map +1 -0
  660. package/dist/internal/version.js +3 -0
  661. package/dist/internal/version.js.map +1 -0
  662. package/dist/observability/OtlpExporter.d.ts.map +1 -1
  663. package/dist/observability/OtlpExporter.js +5 -6
  664. package/dist/observability/OtlpExporter.js.map +1 -1
  665. package/dist/observability/OtlpLogger.d.ts.map +1 -1
  666. package/dist/observability/OtlpLogger.js +23 -27
  667. package/dist/observability/OtlpLogger.js.map +1 -1
  668. package/dist/observability/OtlpMetrics.d.ts +5 -3
  669. package/dist/observability/OtlpMetrics.d.ts.map +1 -1
  670. package/dist/observability/OtlpMetrics.js +21 -94
  671. package/dist/observability/OtlpMetrics.js.map +1 -1
  672. package/dist/observability/OtlpResource.d.ts +4 -3
  673. package/dist/observability/OtlpResource.d.ts.map +1 -1
  674. package/dist/observability/OtlpResource.js +20 -23
  675. package/dist/observability/OtlpResource.js.map +1 -1
  676. package/dist/observability/OtlpTracer.d.ts +1 -0
  677. package/dist/observability/OtlpTracer.d.ts.map +1 -1
  678. package/dist/observability/OtlpTracer.js +32 -36
  679. package/dist/observability/OtlpTracer.js.map +1 -1
  680. package/dist/observability/internal/otlpProtobuf.js +32 -1
  681. package/dist/observability/internal/otlpProtobuf.js.map +1 -1
  682. package/dist/reactivity/AsyncResult.d.ts +1 -1
  683. package/dist/reactivity/Atom.d.ts +5 -5
  684. package/dist/reactivity/Atom.d.ts.map +1 -1
  685. package/dist/reactivity/Atom.js +9 -5
  686. package/dist/reactivity/Atom.js.map +1 -1
  687. package/dist/reactivity/AtomHttpApi.d.ts +2 -2
  688. package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
  689. package/dist/reactivity/AtomRegistry.d.ts +8 -0
  690. package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
  691. package/dist/reactivity/AtomRegistry.js.map +1 -1
  692. package/dist/rpc/RpcClient.d.ts +21 -3
  693. package/dist/rpc/RpcClient.d.ts.map +1 -1
  694. package/dist/rpc/RpcClient.js +38 -20
  695. package/dist/rpc/RpcClient.js.map +1 -1
  696. package/dist/rpc/RpcServer.d.ts.map +1 -1
  697. package/dist/rpc/RpcServer.js +18 -21
  698. package/dist/rpc/RpcServer.js.map +1 -1
  699. package/dist/rpc/internal/tracing.d.ts +2 -0
  700. package/dist/rpc/internal/tracing.d.ts.map +1 -0
  701. package/dist/rpc/internal/tracing.js +18 -0
  702. package/dist/rpc/internal/tracing.js.map +1 -0
  703. package/dist/schema/SchemaCompiler/runtime.js +9 -1
  704. package/dist/schema/SchemaCompiler/runtime.js.map +1 -1
  705. package/dist/sql/SqlClient.js +4 -4
  706. package/dist/sql/SqlClient.js.map +1 -1
  707. package/dist/sql/Statement.d.ts +21 -1
  708. package/dist/sql/Statement.d.ts.map +1 -1
  709. package/dist/sql/Statement.js +55 -7
  710. package/dist/sql/Statement.js.map +1 -1
  711. package/dist/testing/TestClock.d.ts +8 -0
  712. package/dist/testing/TestClock.d.ts.map +1 -1
  713. package/dist/testing/TestClock.js +7 -0
  714. package/dist/testing/TestClock.js.map +1 -1
  715. package/dist/testing/TestConsole.d.ts +7 -0
  716. package/dist/testing/TestConsole.d.ts.map +1 -1
  717. package/dist/testing/TestConsole.js +6 -0
  718. package/dist/testing/TestConsole.js.map +1 -1
  719. package/dist/testing/index.d.ts +3 -0
  720. package/dist/testing/index.d.ts.map +1 -1
  721. package/dist/testing/index.js +3 -0
  722. package/dist/testing/index.js.map +1 -1
  723. package/package.json +3 -3
  724. package/src/Array.ts +351 -3
  725. package/src/BigDecimal.ts +88 -0
  726. package/src/BigInt.ts +68 -0
  727. package/src/Boolean.ts +34 -0
  728. package/src/Brand.ts +10 -0
  729. package/src/ByteSize.ts +87 -0
  730. package/src/Cache.ts +50 -8
  731. package/src/Cause.ts +82 -0
  732. package/src/Channel.ts +368 -18
  733. package/src/ChannelSchema.ts +13 -0
  734. package/src/Chunk.ts +193 -0
  735. package/src/Clock.ts +7 -0
  736. package/src/Combiner.ts +10 -0
  737. package/src/Config.ts +82 -8
  738. package/src/ConfigProvider.ts +28 -0
  739. package/src/Console.ts +26 -0
  740. package/src/Context.ts +50 -0
  741. package/src/Cron.ts +32 -1
  742. package/src/Crypto.ts +5 -0
  743. package/src/Data.ts +13 -0
  744. package/src/DateTime.ts +171 -0
  745. package/src/Deferred.ts +51 -0
  746. package/src/Differ.ts +2 -0
  747. package/src/Duration.ts +90 -0
  748. package/src/Effect.ts +539 -5
  749. package/src/Effectable.ts +4 -0
  750. package/src/Equal.ts +12 -1
  751. package/src/Equivalence.ts +22 -0
  752. package/src/ErrorReporter.ts +36 -0
  753. package/src/ExecutionPlan.ts +58 -14
  754. package/src/Exit.ts +40 -0
  755. package/src/Fiber.ts +20 -0
  756. package/src/FiberHandle.ts +29 -4
  757. package/src/FiberMap.ts +38 -0
  758. package/src/FiberSet.ts +21 -0
  759. package/src/FileSystem.ts +16 -0
  760. package/src/Filter.ts +55 -0
  761. package/src/Formatter.ts +42 -1
  762. package/src/Function.ts +30 -0
  763. package/src/Graph.ts +317 -36
  764. package/src/HKT.ts +5 -0
  765. package/src/Hash.ts +15 -0
  766. package/src/HashMap.ts +91 -0
  767. package/src/HashRing.ts +18 -0
  768. package/src/HashSet.ts +53 -0
  769. package/src/Inspectable.ts +8 -0
  770. package/src/Iterable.ts +127 -0
  771. package/src/JsonPatch.ts +5 -0
  772. package/src/JsonPointer.ts +5 -0
  773. package/src/JsonSchema.ts +17 -0
  774. package/src/Latch.ts +14 -0
  775. package/src/Layer.ts +101 -1
  776. package/src/LayerMap.ts +7 -0
  777. package/src/LayerRef.ts +5 -0
  778. package/src/LogLevel.ts +20 -0
  779. package/src/Logger.ts +41 -5
  780. package/src/ManagedRuntime.ts +12 -1
  781. package/src/Match.ts +52 -0
  782. package/src/Metric.ts +69 -0
  783. package/src/MutableHashMap.ts +44 -0
  784. package/src/MutableHashSet.ts +17 -0
  785. package/src/MutableList.ts +21 -0
  786. package/src/MutableRef.ts +32 -0
  787. package/src/Newtype.ts +9 -0
  788. package/src/NonEmptyIterable.ts +4 -0
  789. package/src/Number.ts +61 -0
  790. package/src/Optic.ts +57 -0
  791. package/src/Option.ts +134 -0
  792. package/src/Order.ts +30 -0
  793. package/src/Ordering.ts +7 -0
  794. package/src/PartitionedSemaphore.ts +61 -22
  795. package/src/Path.ts +6 -0
  796. package/src/Pipeable.ts +7 -0
  797. package/src/PlatformError.ts +8 -0
  798. package/src/Pool.ts +20 -1
  799. package/src/Predicate.ts +85 -0
  800. package/src/PrimaryKey.ts +5 -0
  801. package/src/PubSub.ts +90 -9
  802. package/src/Pull.ts +20 -0
  803. package/src/Queue.ts +80 -10
  804. package/src/Random.ts +13 -0
  805. package/src/RcMap.ts +23 -0
  806. package/src/RcRef.ts +6 -0
  807. package/src/Record.ts +100 -0
  808. package/src/Redactable.ts +6 -0
  809. package/src/Redacted.ts +8 -0
  810. package/src/Reducer.ts +4 -0
  811. package/src/Ref.ts +42 -0
  812. package/src/References.ts +21 -0
  813. package/src/RegExp.ts +4 -0
  814. package/src/Request.ts +32 -0
  815. package/src/RequestResolver.ts +59 -10
  816. package/src/Resource.ts +7 -0
  817. package/src/Result.ts +93 -0
  818. package/src/Runtime.ts +10 -0
  819. package/src/Schedule.ts +61 -0
  820. package/src/Scheduler.ts +7 -0
  821. package/src/Schema.ts +499 -4
  822. package/src/SchemaAST.ts +115 -1
  823. package/src/SchemaGetter.ts +80 -4
  824. package/src/SchemaIssue.ts +34 -0
  825. package/src/SchemaParser.ts +26 -0
  826. package/src/SchemaRepresentation.ts +148 -0
  827. package/src/SchemaTransformation.ts +53 -0
  828. package/src/Scope.ts +19 -0
  829. package/src/ScopedCache.ts +55 -3
  830. package/src/ScopedRef.ts +9 -0
  831. package/src/Semaphore.ts +26 -0
  832. package/src/Sink.ts +126 -2
  833. package/src/StandardSchema.ts +1 -0
  834. package/src/Stdio.ts +7 -0
  835. package/src/Stream.ts +622 -15
  836. package/src/String.ts +87 -0
  837. package/src/Struct.ts +46 -0
  838. package/src/SubscriptionRef.ts +65 -0
  839. package/src/Symbol.ts +2 -0
  840. package/src/SynchronizedRef.ts +63 -0
  841. package/src/Take.ts +3 -0
  842. package/src/Terminal.ts +8 -0
  843. package/src/Tracer.ts +23 -0
  844. package/src/Trie.ts +68 -0
  845. package/src/Tuple.ts +38 -0
  846. package/src/TxChunk.ts +52 -0
  847. package/src/TxDeferred.ts +15 -0
  848. package/src/TxHashMap.ts +97 -6
  849. package/src/TxHashSet.ts +83 -3
  850. package/src/TxPriorityQueue.ts +34 -2
  851. package/src/TxPubSub.ts +26 -0
  852. package/src/TxQueue.ts +51 -0
  853. package/src/TxReentrantLock.ts +53 -36
  854. package/src/TxRef.ts +14 -0
  855. package/src/TxSemaphore.ts +47 -31
  856. package/src/TxSubscriptionRef.ts +25 -0
  857. package/src/Types.ts +36 -0
  858. package/src/UndefinedOr.ts +15 -0
  859. package/src/Unify.ts +15 -0
  860. package/src/Utils.ts +4 -0
  861. package/src/Version.ts +38 -0
  862. package/src/ai/Chat.ts +1 -1
  863. package/src/ai/DecisionModel.ts +42 -1
  864. package/src/ai/LanguageModel.ts +16 -19
  865. package/src/ai/McpServer.ts +107 -36
  866. package/src/ai/Telemetry.ts +62 -58
  867. package/src/ai/internal/mcpRuntime.ts +84 -43
  868. package/src/ai/internal/mcpStatefulRuntime.ts +2 -0
  869. package/src/cluster/K8sHttpClient.ts +12 -2
  870. package/src/encoding/Base64.ts +4 -0
  871. package/src/encoding/Base64Url.ts +4 -0
  872. package/src/encoding/EncodingError.ts +5 -0
  873. package/src/encoding/Hex.ts +5 -0
  874. package/src/encoding/Toml.ts +2 -2
  875. package/src/encoding/Yaml.ts +8 -4
  876. package/src/encoding/index.ts +4 -0
  877. package/src/eventlog/SqlEventJournal.ts +18 -4
  878. package/src/eventlog/SqlEventLogServerUnencrypted.ts +282 -235
  879. package/src/http/Headers.ts +8 -2
  880. package/src/http/HttpClient.ts +44 -27
  881. package/src/http/HttpClientResponse.ts +3 -1
  882. package/src/http/HttpEffect.ts +11 -2
  883. package/src/http/HttpMiddleware.ts +60 -45
  884. package/src/http/HttpServer.ts +1 -1
  885. package/src/http/internal/tracing.ts +52 -0
  886. package/src/http-api/HttpApiBuilder.ts +5 -1
  887. package/src/http-api/HttpApiClient.ts +13 -4
  888. package/src/http-api/HttpApiError.ts +8 -4
  889. package/src/http-api/HttpApiSecurity.ts +8 -8
  890. package/src/index.ts +156 -0
  891. package/src/internal/arbitrary/array.ts +3 -3
  892. package/src/internal/arbitrary/model.ts +37 -14
  893. package/src/internal/arbitrary/runner.ts +7 -7
  894. package/src/internal/arbitrary/schema.ts +4 -3
  895. package/src/internal/effect.ts +47 -45
  896. package/src/internal/schedule.ts +23 -17
  897. package/src/internal/schema/standardSchema.ts +2 -2
  898. package/src/internal/version.ts +2 -0
  899. package/src/observability/OtlpExporter.ts +9 -6
  900. package/src/observability/OtlpLogger.ts +20 -21
  901. package/src/observability/OtlpMetrics.ts +34 -93
  902. package/src/observability/OtlpResource.ts +18 -27
  903. package/src/observability/OtlpTracer.ts +34 -40
  904. package/src/observability/internal/otlpProtobuf.ts +60 -0
  905. package/src/reactivity/AsyncResult.ts +1 -1
  906. package/src/reactivity/Atom.ts +10 -6
  907. package/src/reactivity/AtomHttpApi.ts +2 -4
  908. package/src/reactivity/AtomRegistry.ts +7 -0
  909. package/src/rpc/RpcClient.ts +48 -24
  910. package/src/rpc/RpcServer.ts +26 -24
  911. package/src/rpc/internal/tracing.ts +22 -0
  912. package/src/schema/SchemaCompiler/runtime.ts +4 -1
  913. package/src/sql/SqlClient.ts +4 -4
  914. package/src/sql/Statement.ts +59 -7
  915. package/src/testing/TestClock.ts +9 -0
  916. package/src/testing/TestConsole.ts +8 -0
  917. package/src/testing/index.ts +3 -0
package/src/Effectable.ts CHANGED
@@ -4,6 +4,7 @@
4
4
  * domain-specific values, such as service keys or configuration descriptions,
5
5
  * be evaluated by Effect and yielded inside `Effect.gen`.
6
6
  *
7
+ * @stability stable
7
8
  * @since 4.0.0
8
9
  */
9
10
  import type * as Effect from "./Effect.ts"
@@ -26,6 +27,7 @@ import { evaluate, makePrimitiveProto } from "./internal/core.ts"
26
27
  * @see {@link Class} for a class-based approach to defining custom Effect values
27
28
  * @see {@link Mixin} for wrapping an existing class constructor
28
29
  *
30
+ * @stability stable
29
31
  * @category prototypes
30
32
  * @since 4.0.0
31
33
  */
@@ -64,6 +66,7 @@ const Base: new<A, E, R>() => Effect.Effect<A, E, R> = (() => {
64
66
  *
65
67
  * @see {@link Prototype} for a lower-level primitive approach to creating custom Effect-like values without a class
66
68
  * @see {@link Mixin} for wrapping an existing class constructor
69
+ * @stability stable
67
70
  * @category constructors
68
71
  * @since 2.0.0
69
72
  */
@@ -123,6 +126,7 @@ declare abstract class MixinBase extends Class<any, any, any> {
123
126
  *
124
127
  * @see {@link Prototype} for a lower-level primitive approach to creating custom Effect-like values without a class
125
128
  * @see {@link Class} for a base constructor to extend
129
+ * @stability stable
126
130
  * @category constructors
127
131
  * @since 4.0.0
128
132
  */
package/src/Equal.ts CHANGED
@@ -7,6 +7,7 @@
7
7
  * comparison builders, and helpers for marking objects that should compare only
8
8
  * by reference.
9
9
  *
10
+ * @stability stable
10
11
  * @since 2.0.0
11
12
  */
12
13
  import type { Equivalence } from "./Equivalence.ts"
@@ -49,6 +50,7 @@ import { hasProperty } from "./Predicate.ts"
49
50
  *
50
51
  * @see {@link Equal} — the interface that uses this symbol
51
52
  * @see {@link isEqual} — type guard for `Equal` implementors
53
+ * @stability stable
52
54
  * @category symbols
53
55
  * @since 2.0.0
54
56
  */
@@ -103,6 +105,7 @@ export const symbol = "~effect/Equal"
103
105
  * @see {@link symbol} — the property key used by the equality method
104
106
  * @see {@link equals} — the main comparison function
105
107
  * @see {@link isEqual} — type guard for `Equal` implementors
108
+ * @stability stable
106
109
  * @category models
107
110
  * @since 2.0.0
108
111
  */
@@ -167,6 +170,7 @@ export interface Equal extends Hash.Hash {
167
170
  * @see {@link Equal} — the interface for custom equality
168
171
  * @see {@link isEqual} — check whether a value implements `Equal`
169
172
  * @see {@link asEquivalence} — wrap `equals` as an `Equivalence`
173
+ * @stability stable
170
174
  * @category equality
171
175
  * @since 2.0.0
172
176
  */
@@ -330,11 +334,13 @@ function compareHashed<A>(
330
334
  equivalent: (self: A, that: A) => boolean
331
335
  ): boolean {
332
336
  const groups = new Map<number, Array<A>>()
337
+ let remaining = 0
333
338
  for (const item of that) {
334
339
  const h = hashOf(item)
335
340
  const group = groups.get(h)
336
341
  if (group) group.push(item)
337
342
  else groups.set(h, [item])
343
+ remaining++
338
344
  }
339
345
  outer: for (const item of self) {
340
346
  const group = groups.get(hashOf(item))
@@ -343,13 +349,14 @@ function compareHashed<A>(
343
349
  if (equivalent(item, group[i])) {
344
350
  group[i] = group[group.length - 1]
345
351
  group.pop()
352
+ remaining--
346
353
  continue outer
347
354
  }
348
355
  }
349
356
  }
350
357
  return false
351
358
  }
352
- return true
359
+ return remaining === 0
353
360
  }
354
361
 
355
362
  const entryHash = (entry: readonly [unknown, unknown]): number => Hash.hash(entry[0])
@@ -410,6 +417,7 @@ export function makeCompareSet<A>(equivalence: Equivalence<A>) {
410
417
  *
411
418
  * @see {@link Equal} — the interface being checked
412
419
  * @see {@link symbol} — the property key that signals `Equal` support
420
+ * @stability stable
413
421
  * @category guards
414
422
  * @since 2.0.0
415
423
  */
@@ -438,6 +446,7 @@ export const isEqual = (u: unknown): u is Equal => hasProperty(u, symbol)
438
446
  * ```
439
447
  *
440
448
  * @see {@link equals} — the underlying comparison function
449
+ * @stability stable
441
450
  * @category instances
442
451
  * @since 4.0.0
443
452
  */
@@ -480,6 +489,7 @@ export const asEquivalence: <A>() => Equivalence<A> = () => equals
480
489
  * @see {@link byReferenceUnsafe} — same effect without a proxy (mutates the
481
490
  * original)
482
491
  * @see {@link equals} — the comparison function affected by this opt-out
492
+ * @stability stable
483
493
  * @category equality
484
494
  * @since 4.0.0
485
495
  */
@@ -523,6 +533,7 @@ export const byReference = <T extends object>(obj: T): T => byReferenceUnsafe(ne
523
533
  *
524
534
  * @see {@link byReference} — safer alternative that creates a proxy
525
535
  * @see {@link equals} — the comparison function affected by this opt-out
536
+ * @stability stable
526
537
  * @category unsafe
527
538
  * @since 4.0.0
528
539
  */
@@ -7,6 +7,7 @@
7
7
  * helpers for tuples, arrays, structs, records, dates, and values compared
8
8
  * through a derived field.
9
9
  *
10
+ * @stability stable
10
11
  * @since 2.0.0
11
12
  */
12
13
  import { dual } from "./Function.ts"
@@ -54,6 +55,7 @@ import * as Reducer from "./Reducer.ts"
54
55
  *
55
56
  * @see {@link make}
56
57
  * @see {@link strictEqual}
58
+ * @stability stable
57
59
  * @category models
58
60
  * @since 2.0.0
59
61
  */
@@ -89,6 +91,7 @@ export type Equivalence<in A> = (self: A, that: A) => boolean
89
91
  *
90
92
  * @see {@link Equivalence}
91
93
  * @see {@link TypeLambda}
94
+ * @stability stable
92
95
  * @category utility types
93
96
  * @since 2.0.0
94
97
  */
@@ -141,6 +144,7 @@ export interface EquivalenceTypeLambda extends TypeLambda {
141
144
  *
142
145
  * @see {@link strictEqual}
143
146
  * @see {@link mapInput}
147
+ * @stability stable
144
148
  * @category constructors
145
149
  * @since 2.0.0
146
150
  */
@@ -193,6 +197,7 @@ const isStrictEquivalent = (x: unknown, y: unknown) => x === y
193
197
  *
194
198
  * @see {@link make}
195
199
  * @see `Equal` for structural equality
200
+ * @stability stable
196
201
  * @category constructors
197
202
  * @since 4.0.0
198
203
  */
@@ -214,6 +219,7 @@ export const strictEqual: <A>() => Equivalence<A> = () => isStrictEquivalent
214
219
  * Equivalence.String("hello", "world") // => false
215
220
  * ```
216
221
  *
222
+ * @stability stable
217
223
  * @category instances
218
224
  * @since 4.0.0
219
225
  */
@@ -236,6 +242,7 @@ export const String: Equivalence<string> = isStrictEquivalent
236
242
  * Equivalence.Number(NaN, NaN) // => true
237
243
  * ```
238
244
  *
245
+ * @stability stable
239
246
  * @category instances
240
247
  * @since 4.0.0
241
248
  */
@@ -259,6 +266,7 @@ export const Number: Equivalence<number> = make((self, that) =>
259
266
  * Equivalence.Boolean(true, false) // => false
260
267
  * ```
261
268
  *
269
+ * @stability stable
262
270
  * @category instances
263
271
  * @since 4.0.0
264
272
  */
@@ -280,6 +288,7 @@ export const Boolean: Equivalence<boolean> = isStrictEquivalent
280
288
  * Equivalence.BigInt(1n, 2n) // => false
281
289
  * ```
282
290
  *
291
+ * @stability stable
283
292
  * @category instances
284
293
  * @since 4.0.0
285
294
  */
@@ -331,6 +340,7 @@ export const BigInt: Equivalence<bigint> = isStrictEquivalent
331
340
  *
332
341
  * @see {@link combineAll}
333
342
  * @see {@link mapInput}
343
+ * @stability stable
334
344
  * @category combining
335
345
  * @since 2.0.0
336
346
  */
@@ -381,6 +391,7 @@ export const combine: {
381
391
  *
382
392
  * @see {@link combineAll}
383
393
  * @see {@link mapInput}
394
+ * @stability stable
384
395
  * @category combining
385
396
  * @since 2.0.0
386
397
  */
@@ -431,6 +442,7 @@ export const combine: {
431
442
  *
432
443
  * @see {@link combineAll}
433
444
  * @see {@link mapInput}
445
+ * @stability stable
434
446
  * @category combining
435
447
  * @since 2.0.0
436
448
  */
@@ -498,6 +510,7 @@ export const combine: {
498
510
  *
499
511
  * @see {@link combine}
500
512
  * @see {@link mapInput}
513
+ * @stability stable
501
514
  * @category combining
502
515
  * @since 2.0.0
503
516
  */
@@ -568,6 +581,7 @@ export const combineAll = <A>(collection: Iterable<Equivalence<A>>): Equivalence
568
581
  *
569
582
  * @see {@link combine}
570
583
  * @see {@link Struct}
584
+ * @stability stable
571
585
  * @category mapping
572
586
  * @since 2.0.0
573
587
  */
@@ -629,6 +643,7 @@ export const mapInput: {
629
643
  *
630
644
  * @see {@link combine}
631
645
  * @see {@link Struct}
646
+ * @stability stable
632
647
  * @category mapping
633
648
  * @since 2.0.0
634
649
  */
@@ -690,6 +705,7 @@ export const mapInput: {
690
705
  *
691
706
  * @see {@link combine}
692
707
  * @see {@link Struct}
708
+ * @stability stable
693
709
  * @category mapping
694
710
  * @since 2.0.0
695
711
  */
@@ -753,6 +769,7 @@ export const mapInput: {
753
769
  * customTupleEq(["Hello", "World", "Test"], ["HELLO", "WORLD", "TEST"]) // => true
754
770
  * ```
755
771
  *
772
+ * @stability stable
756
773
  * @category combinators
757
774
  * @since 4.0.0
758
775
  */
@@ -832,6 +849,7 @@ export {
832
849
  *
833
850
  * @see {@link Tuple}
834
851
  * @see {@link Record}
852
+ * @stability stable
835
853
  * @category combinators
836
854
  * @since 4.0.0
837
855
  */
@@ -903,6 +921,7 @@ export {
903
921
  * @see {@link Record}
904
922
  * @see {@link mapInput}
905
923
  * @see {@link combine}
924
+ * @stability stable
906
925
  * @category combinators
907
926
  * @since 4.0.0
908
927
  */
@@ -967,6 +986,7 @@ export function Struct<R extends Record<string, Equivalence<any>>>(
967
986
  * numberRecordEq(scores1, scores3) // => false
968
987
  * ```
969
988
  *
989
+ * @stability stable
970
990
  * @category combinators
971
991
  * @since 4.0.0
972
992
  */
@@ -1021,6 +1041,7 @@ export function Record<A>(value: Equivalence<A>): Equivalence<Record<PropertyKey
1021
1041
  * @see {@link combine} Combine two equivalences
1022
1042
  * @see {@link combineAll} Combine multiple equivalences
1023
1043
  * @see {@link Reducer} Reducer type for collection operations
1044
+ * @stability stable
1024
1045
  * @category constructors
1025
1046
  * @since 4.0.0
1026
1047
  */
@@ -1077,6 +1098,7 @@ export function makeReducer<A>() {
1077
1098
  * @see {@link Number} for the numeric equivalence applied to each `Date#getTime()` result
1078
1099
  * @see {@link mapInput} for deriving an equivalence by mapping inputs before comparison
1079
1100
  * @see {@link strictEqual} for reference equality when two values must be the same object
1101
+ * @stability stable
1080
1102
  * @category instances
1081
1103
  * @since 2.0.0
1082
1104
  */
@@ -8,6 +8,7 @@
8
8
  * layers for installing reporters and symbols for marking errors as ignored or
9
9
  * attaching severity and attributes.
10
10
  *
11
+ * @stability unstable
11
12
  * @since 4.0.0
12
13
  */
13
14
  import type * as Cause from "./Cause.ts"
@@ -30,6 +31,7 @@ import type * as Scope from "./Scope.ts"
30
31
  *
31
32
  * Use to refer to the runtime type identifier type in low-level integrations.
32
33
  *
34
+ * @stability unstable
33
35
  * @category type IDs
34
36
  * @since 4.0.0
35
37
  */
@@ -44,6 +46,7 @@ export type TypeId = "~effect/ErrorReporter"
44
46
  * implementations. Most code should create reporters with `make` and register
45
47
  * them with `layer`.
46
48
  *
49
+ * @stability unstable
47
50
  * @category type IDs
48
51
  * @since 4.0.0
49
52
  */
@@ -70,6 +73,7 @@ export const TypeId: TypeId = "~effect/ErrorReporter"
70
73
  * @see {@link report} for manually reporting a `Cause`
71
74
  * @see {@link Effect.withErrorReporting} for reporting failures from an effect
72
75
  *
76
+ * @stability unstable
73
77
  * @category services
74
78
  * @since 4.0.0
75
79
  */
@@ -120,6 +124,7 @@ export interface ErrorReporter {
120
124
  * @see {@link layer} for registering reporters in the environment
121
125
  * @see {@link report} for manually reporting a `Cause`
122
126
  *
127
+ * @stability unstable
123
128
  * @category constructors
124
129
  * @since 4.0.0
125
130
  */
@@ -170,6 +175,7 @@ export const make = (
170
175
  * Use when you need to read or replace the current set of error reporters
171
176
  * directly.
172
177
  *
178
+ * @stability unstable
173
179
  * @category services
174
180
  * @since 4.0.0
175
181
  */
@@ -228,6 +234,7 @@ export const CurrentErrorReporters: Context.Reference<ReadonlySet<ErrorReporter>
228
234
  * @see {@link make} for creating an `ErrorReporter` from a callback
229
235
  * @see {@link CurrentErrorReporters} for low-level access to the current reporters
230
236
  *
237
+ * @stability unstable
231
238
  * @category layers
232
239
  * @since 4.0.0
233
240
  */
@@ -284,6 +291,7 @@ export const layer = <
284
291
  * output // => "fallback value"
285
292
  * ```
286
293
  *
294
+ * @stability unstable
287
295
  * @category logging
288
296
  * @since 4.0.0
289
297
  */
@@ -315,12 +323,31 @@ export const report = <E>(cause: Cause.Cause<E>): Effect.Effect<void> =>
315
323
  * @see {@link attributes} for the runtime annotation key that attaches reporter
316
324
  * metadata
317
325
  *
326
+ * @stability unstable
318
327
  * @category annotations
319
328
  * @since 4.0.0
320
329
  */
321
330
  export interface Reportable {
331
+ /**
332
+ * Suppress reports for this error.
333
+ *
334
+ * @stability unstable
335
+ * @since 4.0.0
336
+ */
322
337
  readonly [ignore]?: boolean
338
+ /**
339
+ * Override the severity level for this error.
340
+ *
341
+ * @stability unstable
342
+ * @since 4.0.0
343
+ */
323
344
  readonly [severity]?: Severity
345
+ /**
346
+ * Attach extra key/value metadata to this error.
347
+ *
348
+ * @stability unstable
349
+ * @since 4.0.0
350
+ */
324
351
  readonly [attributes]?: ReadonlyRecord<string, unknown>
325
352
  }
326
353
 
@@ -343,6 +370,7 @@ declare global {
343
370
  * from being forwarded to reporters. This is useful for expected failures such
344
371
  * as HTTP 404 responses.
345
372
  *
373
+ * @stability unstable
346
374
  * @category annotations
347
375
  * @since 4.0.0
348
376
  */
@@ -379,6 +407,7 @@ export type ignore = "~effect/ErrorReporter/ignore"
379
407
  * @see {@link Reportable} for the annotation contract recognized on object
380
408
  * errors
381
409
  *
410
+ * @stability unstable
382
411
  * @category annotations
383
412
  * @since 4.0.0
384
413
  */
@@ -395,6 +424,7 @@ export const ignore: ignore = "~effect/ErrorReporter/ignore"
395
424
  *
396
425
  * @see {@link ignore} for the annotation key this predicate reads
397
426
  *
427
+ * @stability unstable
398
428
  * @category predicates
399
429
  * @since 4.0.0
400
430
  */
@@ -414,6 +444,7 @@ export const isIgnored = (u: unknown): boolean =>
414
444
  * When set to a valid `LogLevel.Severity`, the reporter callback receives this
415
445
  * value as `severity`. Missing or invalid values fall back to `"Info"`.
416
446
  *
447
+ * @stability unstable
417
448
  * @category annotations
418
449
  * @since 4.0.0
419
450
  */
@@ -448,6 +479,7 @@ export type severity = "~effect/ErrorReporter/severity"
448
479
  * @see {@link Reportable} for the annotation contract recognized on object
449
480
  * errors
450
481
  *
482
+ * @stability unstable
451
483
  * @category annotations
452
484
  * @since 4.0.0
453
485
  */
@@ -465,6 +497,7 @@ export const severity: severity = "~effect/ErrorReporter/severity"
465
497
  * @see {@link severity} for the annotation key used to override severity
466
498
  * @see {@link Reportable} for the annotation properties recognized on object errors
467
499
  *
500
+ * @stability unstable
468
501
  * @category annotations
469
502
  * @since 4.0.0
470
503
  */
@@ -489,6 +522,7 @@ export const getSeverity = (error: object): Severity => {
489
522
  * include contextual information such as user IDs, request IDs, or other
490
523
  * domain-specific debugging data.
491
524
  *
525
+ * @stability unstable
492
526
  * @category annotations
493
527
  * @since 4.0.0
494
528
  */
@@ -530,6 +564,7 @@ export type attributes = "~effect/ErrorReporter/attributes"
530
564
  * @see {@link Reportable} for the annotation contract recognized on object
531
565
  * errors
532
566
  *
567
+ * @stability unstable
533
568
  * @category annotations
534
569
  * @since 4.0.0
535
570
  */
@@ -557,6 +592,7 @@ export const attributes: attributes = "~effect/ErrorReporter/attributes"
557
592
  * @see {@link attributes} for the annotation key used to attach metadata
558
593
  * @see {@link Reportable} for the annotation properties recognized on object errors
559
594
  *
595
+ * @stability unstable
560
596
  * @category annotations
561
597
  * @since 4.0.0
562
598
  */
@@ -7,6 +7,7 @@
7
7
  * order until the workflow succeeds or the plan is exhausted. This module also
8
8
  * supports merging plans and reading metadata for the active step and attempt.
9
9
  *
10
+ * @stability unstable
10
11
  * @since 3.16.0
11
12
  */
12
13
  import type { NonEmptyReadonlyArray } from "./Array.ts"
@@ -20,12 +21,13 @@ import * as Layer from "./Layer.ts"
20
21
  import type { Pipeable } from "./Pipeable.ts"
21
22
  import { pipeArguments } from "./Pipeable.ts"
22
23
  import * as Predicate from "./Predicate.ts"
23
- import type * as Schedule from "./Schedule.ts"
24
+ import * as Schedule from "./Schedule.ts"
24
25
 
25
26
  /**
26
27
  * String literal type used as the runtime type identifier for `ExecutionPlan`
27
28
  * values.
28
29
  *
30
+ * @stability unstable
29
31
  * @category type IDs
30
32
  * @since 3.16.0
31
33
  */
@@ -35,6 +37,7 @@ export type TypeId = "~effect/ExecutionPlan"
35
37
  * Runtime type identifier attached to `ExecutionPlan` values and used by
36
38
  * `isExecutionPlan`.
37
39
  *
40
+ * @stability unstable
38
41
  * @category type IDs
39
42
  * @since 3.16.0
40
43
  */
@@ -58,6 +61,7 @@ export const TypeId: TypeId = "~effect/ExecutionPlan"
58
61
  * @see {@link make} for constructing execution plans that satisfy this guard
59
62
  * @see {@link TypeId} for the runtime marker checked by this guard
60
63
  *
64
+ * @stability unstable
61
65
  * @category guards
62
66
  * @since 3.16.0
63
67
  */
@@ -84,6 +88,7 @@ export const isExecutionPlan = (u: unknown): u is ExecutionPlan<any> => Predicat
84
88
  * ThePlan.steps.map((step) => step.attempts ?? 1) // => [2, 1]
85
89
  * ```
86
90
  *
91
+ * @stability unstable
87
92
  * @category models
88
93
  * @since 3.16.0
89
94
  */
@@ -104,7 +109,9 @@ export interface ExecutionPlan<
104
109
  readonly while?:
105
110
  | ((input: Config["input"]) => Effect.Effect<boolean, Config["error"], Config["requirements"]>)
106
111
  | undefined
107
- readonly schedule?: Schedule.Schedule<any, Config["input"], Config["requirements"]> | undefined
112
+ readonly schedule?:
113
+ | Schedule.Schedule<any, Config["input"], Config["error"], Config["requirements"]>
114
+ | undefined
108
115
  }>
109
116
 
110
117
  /**
@@ -129,9 +136,10 @@ export interface ExecutionPlan<
129
136
  *
130
137
  * `provides` tracks services supplied by plan steps, `input` tracks the error
131
138
  * input consumed by schedules and `while` predicates, `error` tracks failures
132
- * from plan layers or predicates, and `requirements` tracks services needed to
133
- * build or run the plan.
139
+ * from plan layers, predicates, or schedules, and `requirements` tracks
140
+ * services needed to build or run the plan.
134
141
  *
142
+ * @stability unstable
135
143
  * @category models
136
144
  * @since 4.0.0
137
145
  */
@@ -163,6 +171,7 @@ export type ConfigBase = {
163
171
  * ThePlan.steps.length // => 2
164
172
  * ```
165
173
  *
174
+ * @stability unstable
166
175
  * @category constructors
167
176
  * @since 3.16.0
168
177
  */
@@ -171,14 +180,8 @@ export const make = <const Steps extends NonEmptyReadonlyArray<make.Step>>(
171
180
  ): ExecutionPlan<{
172
181
  provides: make.StepProvides<Steps>
173
182
  input: make.StepInput<Steps>
174
- error:
175
- | (Steps[number]["provide"] extends Context.Context<infer _P> | Layer.Layer<infer _P, infer E, infer _R> ? E
176
- : never)
177
- | (Steps[number]["while"] extends (input: infer _I) => Effect.Effect<infer _A, infer _E, infer _R> ? _E : never)
178
- requirements:
179
- | (Steps[number]["provide"] extends Layer.Layer<infer _A, infer _E, infer R> ? R : never)
180
- | (Steps[number]["while"] extends (input: infer _I) => Effect.Effect<infer _A, infer _E, infer R> ? R : never)
181
- | (Steps[number]["schedule"] extends Schedule.Schedule<infer _O, infer _I, infer R> ? R : never)
183
+ error: make.StepError<Steps[number]>
184
+ requirements: make.StepRequirements<Steps[number]>
182
185
  }> =>
183
186
  makeProto(steps.map((options, i) => {
184
187
  if (options.attempts !== undefined && options.attempts < 1) {
@@ -201,6 +204,7 @@ export const make = <const Steps extends NonEmptyReadonlyArray<make.Step>>(
201
204
  /**
202
205
  * Namespace containing type helpers used by `ExecutionPlan.make`.
203
206
  *
207
+ * @stability unstable
204
208
  * @since 3.16.0
205
209
  */
206
210
  export declare namespace make {
@@ -220,9 +224,31 @@ export declare namespace make {
220
224
  readonly provide: Context.Context<any> | Context.Context<never> | Layer.Any
221
225
  readonly attempts?: number | undefined
222
226
  readonly while?: ((input: any) => boolean | Effect.Effect<boolean, any, any>) | undefined
223
- readonly schedule?: Schedule.Schedule<any, any, any> | undefined
227
+ readonly schedule?: Schedule.Schedule<any, any, any, any> | undefined
224
228
  }
225
229
 
230
+ /**
231
+ * Computes the errors from a step's layer, predicate, and schedule.
232
+ *
233
+ * @category utility types
234
+ * @since 4.0.0
235
+ */
236
+ export type StepError<Step> =
237
+ | (Step extends { readonly provide: Layer.Layer<infer _A, infer E, infer _R> } ? E : never)
238
+ | (Step extends { readonly while?: (input: any) => infer Result } ? Effect.Error<Result> : never)
239
+ | (Step extends { readonly schedule?: infer S } ? Schedule.Error<S> : never)
240
+
241
+ /**
242
+ * Computes the services required by a step's layer, predicate, and schedule.
243
+ *
244
+ * @category utility types
245
+ * @since 4.0.0
246
+ */
247
+ export type StepRequirements<Step> =
248
+ | (Step extends { readonly provide: Layer.Layer<infer _A, infer _E, infer R> } ? R : never)
249
+ | (Step extends { readonly while?: (input: any) => infer Result } ? Effect.Services<Result> : never)
250
+ | (Step extends { readonly schedule?: infer S } ? Schedule.Env<S> : never)
251
+
226
252
  /**
227
253
  * Computes the intersection of services provided by a list of execution-plan
228
254
  * steps.
@@ -265,7 +291,7 @@ export declare namespace make {
265
291
  & Out
266
292
  & (
267
293
  & (Step extends { readonly while: (input: infer I) => infer _ } ? I : unknown)
268
- & (Step extends { readonly schedule: Schedule.Schedule<infer _O, infer I, infer _R> } ? I : unknown)
294
+ & (Step extends { readonly schedule: Schedule.Schedule<infer _O, infer I, infer _E, infer _R> } ? I : unknown)
269
295
  )
270
296
  > :
271
297
  Out
@@ -292,6 +318,17 @@ const Proto: Omit<ExecutionPlan<any>, "steps"> = {
292
318
  while: step.while
293
319
  ? (input: any) => effect.provideContext(step.while!(input), context)
294
320
  : undefined,
321
+ schedule: step.schedule
322
+ ? Schedule.fromStep(
323
+ effect.provideContext(
324
+ effect.map(
325
+ Schedule.toStep(step.schedule),
326
+ (next) => (now: number, input: any) => effect.provideContext(next(now, input), context)
327
+ ),
328
+ context
329
+ )
330
+ )
331
+ : undefined,
295
332
  provide: Layer.isLayer(step.provide)
296
333
  ? Layer.provide(step.provide, Layer.succeedContext(context))
297
334
  : step.provide
@@ -331,6 +368,7 @@ const makeProto = <Provides, In, PlanE, PlanR>(
331
368
  *
332
369
  * @see {@link make} for building a plan from individual steps instead of combining existing plans
333
370
  *
371
+ * @stability unstable
334
372
  * @category combining
335
373
  * @since 3.16.0
336
374
  */
@@ -351,6 +389,7 @@ export const merge = <const Plans extends NonEmptyReadonlyArray<ExecutionPlan<an
351
389
  * `attempt` is the current 1-based attempt number, and `stepIndex` is the
352
390
  * 0-based index of the plan step currently being evaluated.
353
391
  *
392
+ * @stability unstable
354
393
  * @category metadata
355
394
  * @since 4.0.0
356
395
  */
@@ -368,6 +407,7 @@ export interface Metadata {
368
407
  * Use to read the active plan step and attempt while code is running under an
369
408
  * execution plan.
370
409
  *
410
+ * @stability unstable
371
411
  * @category services
372
412
  * @since 4.0.0
373
413
  */
@@ -388,6 +428,7 @@ export const CurrentMetadata = Context.Reference<Metadata>("effect/ExecutionPlan
388
428
  * 1-based attempt number within the current step, and `stepIndex` is the
389
429
  * 0-based index of the step being attempted.
390
430
  *
431
+ * @stability unstable
391
432
  * @category models
392
433
  * @since 4.0.0
393
434
  */
@@ -406,6 +447,7 @@ export interface AttemptStart {
406
447
  * A successful attempt completes the plan, so this is always the final event.
407
448
  * `duration` is the elapsed time of the attempt.
408
449
  *
450
+ * @stability unstable
409
451
  * @category models
410
452
  * @since 4.0.0
411
453
  */
@@ -427,6 +469,7 @@ export interface AttemptSuccess {
427
469
  * afterwards is decided by the step's `attempts`, `while`, and `schedule`; a
428
470
  * following `AttemptStart` indicates another attempt was made.
429
471
  *
472
+ * @stability unstable
430
473
  * @category models
431
474
  * @since 4.0.0
432
475
  */
@@ -448,6 +491,7 @@ export interface AttemptFailure<E> {
448
491
  * `AttemptSuccess` or `AttemptFailure`. An interrupted attempt emits
449
492
  * `AttemptFailure` with the interruption cause.
450
493
  *
494
+ * @stability unstable
451
495
  * @category models
452
496
  * @since 4.0.0
453
497
  */