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
package/dist/Config.js CHANGED
@@ -24,11 +24,11 @@ const TypeId = "~effect/Config";
24
24
  *
25
25
  * **Example** (Checking Config values)
26
26
  *
27
- * ```ts
27
+ * ```ts import.meta.vitest
28
28
  * import { Config } from "effect"
29
29
  *
30
- * console.log(Config.isConfig(Config.string("HOST"))) // true
31
- * console.log(Config.isConfig("not a config")) // false
30
+ * Config.isConfig(Config.string("HOST")) // => true
31
+ * Config.isConfig("not a config") // => false
32
32
  * ```
33
33
  *
34
34
  * @category guards
@@ -50,7 +50,7 @@ export const isConfig = u => Predicate.hasProperty(u, TypeId);
50
50
  * (wrong type, out of range, missing key, etc.).
51
51
  *
52
52
  * @see {@link orElse} – recover from a ConfigError
53
- * @see {@link withDefault} – provide a fallback for missing-data errors
53
+ * @see {@link withDefault} – provide a fallback when relevant input is absent
54
54
  *
55
55
  * @category errors
56
56
  * @since 4.0.0
@@ -83,11 +83,31 @@ const Proto = {
83
83
  };
84
84
  }
85
85
  };
86
- function make(parse) {
86
+ function make(evaluator) {
87
87
  const self = Object.create(Proto);
88
- self.parse = (provider, pathPrefix = []) => parse(provider, pathPrefix);
88
+ self.evaluator = evaluator;
89
+ self.parse = provider => evaluator(provider, []).pipe(Effect.mapErrorEager(failure => failure.error), Effect.flatMapEager(resolution => resolution._tag === "Resolved" ? Effect.succeed(resolution.value) : Effect.fail(resolution.error)));
89
90
  return self;
90
91
  }
92
+ const evaluateAt = (self, provider, pathPrefix) => self.evaluator(provider, pathPrefix);
93
+ const resolved = (value, hasInput) => ({
94
+ _tag: "Resolved",
95
+ value,
96
+ hasInput
97
+ });
98
+ const absent = error => ({
99
+ _tag: "Absent",
100
+ error
101
+ });
102
+ const evaluationFailure = (error, hasInput) => ({
103
+ error,
104
+ hasInput
105
+ });
106
+ const catchSourceError = (self, hasInput) => self.pipe(Effect.catchDefect(defect => defect instanceof ConfigProvider.SourceError ? Effect.fail(evaluationFailure(new ConfigError(defect), hasInput)) : Effect.die(defect)));
107
+ const preserveInputEvidence = (self, hasInput) => {
108
+ if (!hasInput) return self;
109
+ return self.pipe(Effect.mapErrorEager(failure => evaluationFailure(failure.error, true)), Effect.flatMapEager(resolution => resolution._tag === "Resolved" ? Effect.succeed(resolved(resolution.value, true)) : Effect.fail(evaluationFailure(resolution.error, true))));
110
+ };
91
111
  /**
92
112
  * Transforms the parsed value of a config with a pure function.
93
113
  *
@@ -98,7 +118,7 @@ function make(parse) {
98
118
  *
99
119
  * **Example** (Uppercasing a string config)
100
120
  *
101
- * ```ts
121
+ * ```ts import.meta.vitest
102
122
  * import { Config, ConfigProvider, Effect } from "effect"
103
123
  *
104
124
  * const upper = Config.string("name").pipe(
@@ -106,7 +126,7 @@ function make(parse) {
106
126
  * )
107
127
  *
108
128
  * const provider = ConfigProvider.fromUnknown({ name: "alice" })
109
- * // Effect.runSync(upper.parse(provider)) // "ALICE"
129
+ * Effect.runSync(upper.parse(provider)) // => "ALICE"
110
130
  * ```
111
131
  *
112
132
  * @see {@link mapOrFail} – when the transformation can fail
@@ -115,7 +135,7 @@ function make(parse) {
115
135
  * @since 2.0.0
116
136
  */
117
137
  export const map = /*#__PURE__*/dual(2, (self, f) => {
118
- return make((provider, pathPrefix) => Effect.map(self.parse(provider, pathPrefix), f));
138
+ return make((provider, pathPrefix) => Effect.map(evaluateAt(self, provider, pathPrefix), resolution => resolution._tag === "Resolved" ? resolved(f(resolution.value), resolution.hasInput) : resolution));
119
139
  });
120
140
  /**
121
141
  * Transforms the parsed value with a function that may fail.
@@ -127,12 +147,14 @@ export const map = /*#__PURE__*/dual(2, (self, f) => {
127
147
  *
128
148
  * **Example** (Wrapping a value in an effectful transformation)
129
149
  *
130
- * ```ts
131
- * import { Config, Effect } from "effect"
150
+ * ```ts import.meta.vitest
151
+ * import { Config, ConfigProvider, Effect } from "effect"
132
152
  *
133
153
  * const trimmed = Config.string("name").pipe(
134
154
  * Config.mapOrFail((s) => Effect.succeed(s.trim()))
135
155
  * )
156
+ * const provider = ConfigProvider.fromUnknown({ name: " Alice " })
157
+ * Effect.runSync(trimmed.parse(provider)) // => "Alice"
136
158
  * ```
137
159
  *
138
160
  * @see {@link map} – when the transformation cannot fail
@@ -141,7 +163,7 @@ export const map = /*#__PURE__*/dual(2, (self, f) => {
141
163
  * @since 2.0.0
142
164
  */
143
165
  export const mapOrFail = /*#__PURE__*/dual(2, (self, f) => {
144
- return make((provider, pathPrefix) => Effect.flatMap(self.parse(provider, pathPrefix), f));
166
+ return make((provider, pathPrefix) => Effect.flatMap(evaluateAt(self, provider, pathPrefix), resolution => resolution._tag === "Resolved" ? f(resolution.value).pipe(Effect.mapEager(value => resolved(value, resolution.hasInput)), Effect.mapErrorEager(error => evaluationFailure(error, resolution.hasInput))) : Effect.succeed(resolution)));
145
167
  });
146
168
  /**
147
169
  * Provides a fallback config when parsing fails with a `ConfigError`.
@@ -153,27 +175,39 @@ export const mapOrFail = /*#__PURE__*/dual(2, (self, f) => {
153
175
  *
154
176
  * **Details**
155
177
  *
156
- * Unlike {@link withDefault}, this catches **all** `ConfigError`s (not just
157
- * missing data). The fallback function receives the error and returns a new
178
+ * Unlike {@link withDefault}, this handles both semantic absence and **all**
179
+ * `ConfigError`s. The fallback function receives the error and returns a new
158
180
  * `Config`.
159
181
  *
182
+ * **Gotchas**
183
+ *
184
+ * Recovery preserves whether the primary config read provider input. When the
185
+ * recovered config is composed with {@link all}, invalid input in the primary
186
+ * branch still makes the enclosing group partially supplied, so an outer
187
+ * {@link withDefault} or {@link option} does not replace the whole group.
188
+ *
160
189
  * **Example** (Falling back to a literal)
161
190
  *
162
- * ```ts
163
- * import { Config } from "effect"
191
+ * ```ts import.meta.vitest
192
+ * import { Config, ConfigProvider, Effect } from "effect"
164
193
  *
165
194
  * const hostConfig = Config.string("HOST").pipe(
166
195
  * Config.orElse(() => Config.succeed("localhost"))
167
196
  * )
197
+ * const provider = ConfigProvider.fromUnknown({})
198
+ * Effect.runSync(hostConfig.parse(provider)) // => "localhost"
168
199
  * ```
169
200
  *
170
- * @see {@link withDefault} – fallback only on missing data
201
+ * @see {@link withDefault} – fallback only on semantic absence
171
202
  *
172
203
  * @category combinators
173
204
  * @since 2.0.0
174
205
  */
175
206
  export const orElse = /*#__PURE__*/dual(2, (self, that) => {
176
- return make((provider, pathPrefix) => Effect.catch(self.parse(provider, pathPrefix), error => that(error).parse(provider, pathPrefix)));
207
+ return make((provider, pathPrefix) => Effect.matchEffect(evaluateAt(self, provider, pathPrefix), {
208
+ onFailure: failure => preserveInputEvidence(evaluateAt(that(failure.error), provider, pathPrefix), failure.hasInput),
209
+ onSuccess: resolution => resolution._tag === "Absent" ? evaluateAt(that(resolution.error), provider, pathPrefix) : Effect.succeed(resolution)
210
+ }));
177
211
  });
178
212
  /**
179
213
  * Combines multiple configs into a single config that parses all of them.
@@ -187,9 +221,19 @@ export const orElse = /*#__PURE__*/dual(2, (self, that) => {
187
221
  * Accepts a tuple (preserves positions), an iterable, or a record of configs.
188
222
  * Returns a config whose parsed value mirrors the input shape.
189
223
  *
224
+ * A combined config is absent when at least one child cannot resolve and none
225
+ * of the other children read provider input. This lets {@link withDefault} and
226
+ * {@link option} handle a wholly absent group. Once any child reads input, a
227
+ * missing sibling makes the group incomplete and parsing fails. Values supplied
228
+ * by child defaults do not count as provider input.
229
+ *
230
+ * Unlike a `Schema.Struct` passed to {@link schema}, `all` only considers input
231
+ * read by its children. An explicitly present but empty parent container does
232
+ * not by itself make the group present.
233
+ *
190
234
  * **Example** (Combining configs as a struct)
191
235
  *
192
- * ```ts
236
+ * ```ts import.meta.vitest
193
237
  * import { Config, ConfigProvider, Effect } from "effect"
194
238
  *
195
239
  * const dbConfig = Config.all({
@@ -198,8 +242,7 @@ export const orElse = /*#__PURE__*/dual(2, (self, that) => {
198
242
  * })
199
243
  *
200
244
  * const provider = ConfigProvider.fromUnknown({ host: "localhost", port: 5432 })
201
- * // Effect.runSync(dbConfig.parse(provider))
202
- * // { host: "localhost", port: 5432 }
245
+ * Effect.runSync(dbConfig.parse(provider)) // => { host: "localhost", port: 5432 }
203
246
  * ```
204
247
  *
205
248
  * @category combinators
@@ -208,39 +251,49 @@ export const orElse = /*#__PURE__*/dual(2, (self, that) => {
208
251
  export function all(arg) {
209
252
  const configs = Array.isArray(arg) ? arg : Symbol.iterator in arg ? [...arg] : arg;
210
253
  if (Array.isArray(configs)) {
211
- return make((provider, pathPrefix) => Effect.all(configs.map(config => config.parse(provider, pathPrefix))));
254
+ return make((provider, pathPrefix) => Effect.flatMapEager(Effect.all(configs.map(config => evaluateAt(config, provider, pathPrefix))), resolveArray));
212
255
  } else {
213
- return make((provider, pathPrefix) => Effect.all(Rec.map(configs, config => config.parse(provider, pathPrefix))));
256
+ return make((provider, pathPrefix) => Effect.flatMapEager(Effect.all(Rec.map(configs, config => evaluateAt(config, provider, pathPrefix))), resolveRecord));
214
257
  }
215
258
  }
216
- function isMissingDataOnly(issue) {
217
- switch (issue._tag) {
218
- case "MissingKey":
219
- return true;
220
- case "InvalidType":
221
- case "InvalidValue":
222
- return Option.isNone(issue.actual) || Option.isSome(issue.actual) && issue.actual.value === undefined;
223
- case "OneOf":
224
- return issue.actual === undefined;
225
- case "Encoding":
226
- return Option.isNone(issue.actual) || Option.isSome(issue.actual) && issue.actual.value === undefined ? true : isMissingDataOnly(issue.issue);
227
- case "Pointer":
228
- return isMissingDataOnly(issue.issue);
229
- case "Filter":
230
- case "UnexpectedKey":
231
- case "Forbidden":
232
- return false;
233
- case "Composite":
234
- return issue.issues.every(isMissingDataOnly);
235
- case "AnyOf":
236
- if (issue.issues.length === 0) {
237
- return issue.actual === undefined;
238
- }
239
- return issue.issues.every(isMissingDataOnly);
259
+ const resolveArray = resolutions => {
260
+ const values = [];
261
+ let firstAbsent;
262
+ let hasInput = false;
263
+ for (const resolution of resolutions) {
264
+ if (resolution._tag === "Absent") {
265
+ firstAbsent ??= resolution;
266
+ } else {
267
+ values.push(resolution.value);
268
+ hasInput = hasInput || resolution.hasInput;
269
+ }
240
270
  }
241
- }
271
+ if (firstAbsent !== undefined) {
272
+ return hasInput ? Effect.fail(evaluationFailure(firstAbsent.error, true)) : Effect.succeed(firstAbsent);
273
+ }
274
+ return Effect.succeed(resolved(values, hasInput));
275
+ };
276
+ const resolveRecord = resolutions => {
277
+ const values = {};
278
+ let firstAbsent;
279
+ let hasInput = false;
280
+ for (const key in resolutions) {
281
+ const resolution = resolutions[key];
282
+ if (resolution._tag === "Absent") {
283
+ firstAbsent ??= resolution;
284
+ } else {
285
+ InternalRecord.assignProperty(values, key, resolution.value);
286
+ hasInput = hasInput || resolution.hasInput;
287
+ }
288
+ }
289
+ if (firstAbsent !== undefined) {
290
+ return hasInput ? Effect.fail(evaluationFailure(firstAbsent.error, true)) : Effect.succeed(firstAbsent);
291
+ }
292
+ return Effect.succeed(resolved(values, hasInput));
293
+ };
242
294
  /**
243
- * Provides a fallback value when the config fails due to missing data.
295
+ * Provides a fallback value when the config cannot resolve because none of its
296
+ * relevant input is present.
244
297
  *
245
298
  * **When to use**
246
299
  *
@@ -248,41 +301,35 @@ function isMissingDataOnly(issue) {
248
301
  *
249
302
  * **Gotchas**
250
303
  *
251
- * Only applies when the error is a `SchemaError` caused exclusively by
252
- * missing data (missing keys, undefined values). Validation errors (wrong
253
- * type, out of range) still propagate.
304
+ * Validation errors and partially supplied groups still propagate. A schema
305
+ * that successfully decodes absent input also keeps its decoded value instead
306
+ * of using the default. Schema configs first represent a missing or
307
+ * incompatible provider shape as `undefined`; the default is used only when
308
+ * the schema rejects that value and no relevant input was found.
254
309
  *
255
310
  * **Example** (Defaulting a missing port)
256
311
  *
257
- * ```ts
312
+ * ```ts import.meta.vitest
258
313
  * import { Config, ConfigProvider, Effect } from "effect"
259
314
  *
260
315
  * const port = Config.number("port").pipe(Config.withDefault(3000))
261
316
  *
262
317
  * const provider = ConfigProvider.fromUnknown({})
263
- * // Effect.runSync(port.parse(provider)) // 3000
318
+ * Effect.runSync(port.parse(provider)) // => 3000
264
319
  * ```
265
320
  *
266
321
  * @see {@link option} – returns `Option` instead of a default value
267
- * @see {@link orElse} – catches all errors, not just missing data
322
+ * @see {@link orElse} – catches all errors, not just absent input
268
323
  *
269
324
  * @category combinators
270
325
  * @since 2.0.0
271
326
  */
272
327
  export const withDefault = /*#__PURE__*/dual(2, (self, defaultValue) => {
273
- return orElse(self, err => {
274
- if (Schema.isSchemaError(err.cause)) {
275
- const issue = err.cause.issue;
276
- if (isMissingDataOnly(issue)) {
277
- return succeed(defaultValue);
278
- }
279
- }
280
- return fail(err.cause);
281
- });
328
+ return make((provider, pathPrefix) => Effect.mapEager(evaluateAt(self, provider, pathPrefix), resolution => resolution._tag === "Absent" ? resolved(defaultValue, false) : resolution));
282
329
  });
283
330
  /**
284
- * Makes a config optional: returns `Some(value)` on success and `None` when
285
- * data is missing.
331
+ * Makes a config optional: returns `Some(value)` on success and `None` when the
332
+ * config cannot resolve because none of its relevant input is present.
286
333
  *
287
334
  * **When to use**
288
335
  *
@@ -290,18 +337,21 @@ export const withDefault = /*#__PURE__*/dual(2, (self, defaultValue) => {
290
337
  *
291
338
  * **Gotchas**
292
339
  *
293
- * Like {@link withDefault}, only missing-data errors produce `None`.
294
- * Validation errors still propagate.
340
+ * Validation errors and partially supplied groups still propagate. Successful
341
+ * values are always wrapped in `Some`, including `undefined` when the schema
342
+ * explicitly accepts it. Schema configs first represent a missing or
343
+ * incompatible provider shape as `undefined`; `None` is returned only when the
344
+ * schema rejects that value and no relevant input was found.
295
345
  *
296
346
  * **Example** (Reading optional config)
297
347
  *
298
- * ```ts
299
- * import { Config, ConfigProvider, Effect } from "effect"
348
+ * ```ts import.meta.vitest
349
+ * import { Config, ConfigProvider, Effect, Option } from "effect"
300
350
  *
301
351
  * const maybePort = Config.option(Config.number("port"))
302
352
  *
303
353
  * const provider = ConfigProvider.fromUnknown({})
304
- * // Effect.runSync(maybePort.parse(provider)) // { _tag: "None" }
354
+ * Effect.runSync(maybePort.parse(provider)) // => Option.none()
305
355
  * ```
306
356
  *
307
357
  * @see {@link withDefault} – provide a concrete fallback value instead
@@ -325,8 +375,8 @@ export const option = self => self.pipe(map(Option.some), withDefault(Option.non
325
375
  *
326
376
  * **Example** (Unwrapping a record of configs)
327
377
  *
328
- * ```ts
329
- * import { Config } from "effect"
378
+ * ```ts import.meta.vitest
379
+ * import { Config, ConfigProvider, Effect } from "effect"
330
380
  *
331
381
  * interface Options {
332
382
  * key: string
@@ -334,116 +384,125 @@ export const option = self => self.pipe(map(Option.some), withDefault(Option.non
334
384
  *
335
385
  * const makeConfig = (config: Config.Wrap<Options>): Config.Config<Options> =>
336
386
  * Config.unwrap(config)
387
+ *
388
+ * const config = makeConfig({ key: Config.string("key") })
389
+ * const provider = ConfigProvider.fromUnknown({ key: "value" })
390
+ * Effect.runSync(config.parse(provider)) // => { key: "value" }
337
391
  * ```
338
392
  *
339
393
  * @see {@link Wrap} – the utility type accepted by this function
340
394
  *
341
- * @category Wrap
395
+ * @category converting
342
396
  * @since 2.0.0
343
397
  */
344
398
  export const unwrap = wrapped => {
345
399
  if (isConfig(wrapped)) return wrapped;
346
- return make((provider, pathPrefix) => {
347
- const entries = Object.entries(wrapped);
348
- const configs = entries.map(([key, config]) => unwrap(config).parse(provider, pathPrefix).pipe(Effect.map(value => [key, value])));
349
- return Effect.all(configs).pipe(Effect.map(Object.fromEntries));
350
- });
400
+ return all(Rec.map(wrapped, config => unwrap(config)));
351
401
  };
352
- // -----------------------------------------------------------------------------
353
- // schema
354
- // -----------------------------------------------------------------------------
355
- const dump = /*#__PURE__*/Effect.fnUntraced(function* (provider, path) {
356
- const stat = yield* provider.load(path);
357
- if (stat === undefined) return undefined;
358
- switch (stat._tag) {
359
- case "Value":
360
- return stat.value;
361
- case "Record":
362
- {
363
- if (stat.value !== undefined) return stat.value;
364
- const out = {};
365
- for (const key of stat.keys) {
366
- const child = yield* dump(provider, [...path, key]);
367
- if (child !== undefined) InternalRecord.assignProperty(out, key, child);
368
- }
369
- return out;
370
- }
371
- case "Array":
372
- {
373
- if (stat.value !== undefined) return stat.value;
374
- const out = [];
375
- for (let i = 0; i < stat.length; i++) {
376
- out.push(yield* dump(provider, [...path, i]));
377
- }
378
- return out;
379
- }
402
+ const cursorToString = () => "<configuration>";
403
+ const loadCursor = (provider, path) => provider.load(path).pipe(Effect.orDie, Effect.mapEager(node => ({
404
+ provider,
405
+ path,
406
+ node,
407
+ toString: cursorToString
408
+ })));
409
+ const loadChildCursor = (cursor, segment) => loadCursor(cursor.provider, [...cursor.path, segment]);
410
+ const getScalar = node => node?.value;
411
+ const decodeFromCursor = (ast, decode) => SchemaAST.decodeTo(SchemaAST.unknown, ast, new SchemaTransformation.Transformation(SchemaGetter.transformOrFail(input => decode(input)), SchemaGetter.passthrough()));
412
+ const isScalarInput = ast => {
413
+ switch (ast._tag) {
414
+ case "Union":
415
+ return ast.types.every(isScalarInput);
416
+ case "Objects":
417
+ case "Arrays":
418
+ case "Suspend":
419
+ return false;
420
+ default:
421
+ return true;
380
422
  }
381
- });
382
- const recur = /*#__PURE__*/Effect.fnUntraced(function* (ast, provider, path) {
423
+ };
424
+ const hasProviderInput = (ast, node) => {
383
425
  switch (ast._tag) {
384
426
  case "Objects":
385
- {
386
- const stat = yield* provider.load(path);
387
- if (stat === undefined && path.length > 0) return undefined;
388
- const out = {};
389
- for (const ps of ast.propertySignatures) {
390
- const name = ps.name;
391
- if (typeof name === "string") {
392
- const value = yield* recur(ps.type, provider, [...path, name]);
393
- if (value !== undefined) InternalRecord.assignProperty(out, name, value);
394
- }
395
- }
396
- if (ast.indexSignatures.length > 0) {
397
- if (stat && stat._tag === "Record") {
398
- for (const is of ast.indexSignatures) {
399
- const matches = SchemaParser._is(is.parameter);
400
- for (const key of stat.keys) {
401
- if (!Object.hasOwn(out, key) && matches(key)) {
402
- const value = yield* recur(is.type, provider, [...path, key]);
403
- if (value !== undefined) InternalRecord.assignProperty(out, key, value);
404
- }
405
- }
406
- }
407
- }
408
- }
409
- return out;
410
- }
427
+ return node?._tag === "Record";
411
428
  case "Arrays":
412
- {
413
- const stat = yield* provider.load(path);
414
- if (stat === undefined) return undefined;
415
- if (stat && stat._tag === "Value") return stat.value === "" ? [] : stat.value.split(",");
416
- if (stat && stat._tag === "Array" && stat.value !== undefined) {
417
- return stat.value === "" ? [] : stat.value.split(",");
418
- }
419
- const out = [];
420
- const length = stat && stat._tag === "Array" ? stat.length : ast.elements.length;
421
- for (let i = 0; i < length; i++) {
422
- const element = ast.elements[i] ?? ast.rest[0];
423
- if (element !== undefined) {
424
- out.push(yield* recur(element, provider, [...path, i]));
425
- }
426
- }
427
- return out;
428
- }
429
+ return node?._tag === "Array";
429
430
  case "Union":
430
- // Let downstream decoding decide; dump can return a string, object, or array.
431
- return yield* dump(provider, path);
431
+ return ast.types.some(ast => hasProviderInput(ast, node));
432
432
  case "Suspend":
433
- return yield* recur(ast.thunk(), provider, path);
433
+ return hasProviderInput(ast.thunk(), node);
434
434
  default:
435
- {
436
- // Base primitives / string-like encoded nodes.
437
- const stat = yield* provider.load(path);
438
- if (stat === undefined) return undefined;
439
- if (stat._tag === "Value") return stat.value;
440
- if (stat._tag === "Record" && stat.value !== undefined) return stat.value;
441
- if (stat._tag === "Array" && stat.value !== undefined) return stat.value;
442
- // Container without a co-located value cannot satisfy a scalar request.
443
- return undefined;
444
- }
435
+ return getScalar(node) !== undefined;
445
436
  }
446
- });
437
+ };
438
+ const toConfigCursorAST = root => {
439
+ const seen = new WeakSet();
440
+ const recur = SchemaAST.applyToSelfOrLastLinkEncoding(ast => {
441
+ seen.add(ast);
442
+ switch (ast._tag) {
443
+ case "Objects":
444
+ {
445
+ const matchesIndex = ast.indexSignatures.map(is => SchemaParser._is(is.parameter));
446
+ const materialize = Effect.fnUntraced(function* (cursor) {
447
+ if (cursor.node?._tag !== "Record") {
448
+ return undefined;
449
+ }
450
+ const node = cursor.node;
451
+ const keys = new Set();
452
+ for (const property of ast.propertySignatures) {
453
+ if (typeof property.name === "string") keys.add(property.name);
454
+ }
455
+ if (matchesIndex.length > 0) {
456
+ for (const key of node.keys) {
457
+ if (matchesIndex.some(matches => matches(key))) keys.add(key);
458
+ }
459
+ }
460
+ const out = {};
461
+ for (const key of keys) {
462
+ const child = yield* loadChildCursor(cursor, key);
463
+ if (child.node !== undefined) InternalRecord.assignProperty(out, key, child);
464
+ }
465
+ return out;
466
+ });
467
+ return decodeFromCursor(ast.recur(recur, ast => ast), materialize);
468
+ }
469
+ case "Arrays":
470
+ {
471
+ const materialize = Effect.fnUntraced(function* (cursor) {
472
+ if (cursor.node?._tag !== "Array") {
473
+ return undefined;
474
+ }
475
+ const out = [];
476
+ for (let i = 0; i < cursor.node.length; i++) {
477
+ out.push(yield* loadChildCursor(cursor, i));
478
+ }
479
+ return out;
480
+ });
481
+ return decodeFromCursor(ast.recur(recur), materialize);
482
+ }
483
+ case "Union":
484
+ for (const member of ast.types) {
485
+ recur(member);
486
+ }
487
+ return isScalarInput(ast) ? decodeFromCursor(ast, cursor => Effect.succeed(getScalar(cursor.node))) : ast.recur(recur);
488
+ case "Suspend":
489
+ {
490
+ const target = ast.thunk();
491
+ // Force new branches so opaque encodings fail when the Config is constructed.
492
+ if (!seen.has(target)) recur(target);
493
+ return ast.recur(recur);
494
+ }
495
+ case "Declaration":
496
+ case "Any":
497
+ throw new globalThis.Error("Config.schema does not support opaque StringTree encodings", {
498
+ cause: ast
499
+ });
500
+ default:
501
+ return decodeFromCursor(ast, cursor => Effect.succeed(getScalar(cursor.node)));
502
+ }
503
+ });
504
+ return recur(root);
505
+ };
447
506
  /**
448
507
  * Creates a `Config<T>` from a `Schema.Codec`.
449
508
  *
@@ -461,12 +520,47 @@ const recur = /*#__PURE__*/Effect.fnUntraced(function* (ast, provider, path) {
461
520
  * Convenience constructors such as `string`, `number`, and `boolean` delegate
462
521
  * to this API.
463
522
  *
464
- * The codec is used to decode the raw `StringTree` produced by the provider
465
- * into `T`. Schema validation errors are wrapped in `ConfigError`.
523
+ * The codec is converted to its canonical `StringTree` form. Its encoded shape
524
+ * determines how provider data is loaded: scalar schemas read a co-located
525
+ * scalar value, object schemas read declared properties and matching record
526
+ * keys, and array schemas read indexed children. A mixed-shape union loads each
527
+ * member according to that member's shape before applying the union's mode and
528
+ * checks.
529
+ *
530
+ * At the config's lookup path, a missing node or a node that cannot provide the
531
+ * representation required by the schema is decoded as `undefined`. Missing
532
+ * object properties remain omitted so the schema's property semantics still
533
+ * apply. Decoding success always wins, even when no provider input was found.
534
+ * For example,
535
+ * `Schema.UndefinedOr(Schema.String)` decodes to `undefined` and is not replaced
536
+ * by {@link withDefault}. If decoding fails and no relevant representation was
537
+ * found, the config is absent. Invalid data in a relevant representation is a
538
+ * validation failure. Provider `SourceError`s are always failures.
539
+ *
540
+ * **Gotchas**
541
+ *
542
+ * Plain `Schema.Array` and `Schema.Record` schemas use structural provider
543
+ * input. Use {@link Array} or {@link Record} when a flat separated string must
544
+ * also be accepted.
545
+ *
546
+ * `Schema.Struct` and {@link all} describe different lookup models. An
547
+ * explicitly present empty object is relevant input for a struct and required
548
+ * fields are validated. The same empty parent container does not make an
549
+ * `all` group present when all of its child configs are absent.
550
+ *
551
+ * The canonical `StringTree` encoding must expose a concrete scalar, object,
552
+ * array, or union shape. Opaque encodings such as `Schema.Any`,
553
+ * `Schema.Unknown`, `Schema.ObjectKeyword`, `Schema.Json`, and
554
+ * `Schema.MutableJson` are rejected synchronously when this config is
555
+ * constructed, including when they are nested in another schema. Suspended
556
+ * recursive schemas remain supported when their eventual shape is concrete.
557
+ * Declarations such as `Schema.URL` also remain supported when their canonical
558
+ * encoding has a concrete shape. To read arbitrary JSON from one scalar value,
559
+ * use `Schema.fromJsonString(Schema.Json)`.
466
560
  *
467
561
  * **Example** (Reading a structured config)
468
562
  *
469
- * ```ts
563
+ * ```ts import.meta.vitest
470
564
  * import { Config, ConfigProvider, Effect, Schema } from "effect"
471
565
  *
472
566
  * const DbConfig = Config.schema(
@@ -481,8 +575,7 @@ const recur = /*#__PURE__*/Effect.fnUntraced(function* (ast, provider, path) {
481
575
  * db: { host: "localhost", port: 5432 }
482
576
  * })
483
577
  *
484
- * // Effect.runSync(DbConfig.parse(provider))
485
- * // { host: "localhost", port: 5432 }
578
+ * Effect.runSync(DbConfig.parse(provider)) // => { host: "localhost", port: 5432 }
486
579
  * ```
487
580
  *
488
581
  * @see {@link string} / {@link number} / {@link boolean} – shortcuts for
@@ -493,12 +586,18 @@ const recur = /*#__PURE__*/Effect.fnUntraced(function* (ast, provider, path) {
493
586
  */
494
587
  export function schema(codec, path) {
495
588
  const codecStringTree = Schema.toCodecStringTree(codec);
496
- const decodeUnknownEffect = SchemaParser.decodeUnknownEffect(codecStringTree);
497
- const codecStringTreeEncoded = SchemaAST.toEncoded(codecStringTree.ast);
589
+ const encodedAst = SchemaAST.toEncoded(codecStringTree.ast);
590
+ const decodeCursor = SchemaParser.decodeUnknownEffect(Schema.make(toConfigCursorAST(codecStringTree.ast)));
498
591
  const localPath = typeof path === "string" ? [path] : path ?? [];
499
592
  return make((provider, pathPrefix) => {
500
593
  const fullPath = [...pathPrefix, ...localPath];
501
- return recur(codecStringTreeEncoded, provider, fullPath).pipe(Effect.flatMapEager(tree => decodeUnknownEffect(tree).pipe(Effect.mapErrorEager(issue => new Schema.SchemaError(fullPath.length > 0 ? new SchemaIssue.Pointer(fullPath, issue) : issue)))), Effect.mapErrorEager(cause => new ConfigError(cause)));
594
+ return catchSourceError(loadCursor(provider, fullPath), false).pipe(Effect.flatMapEager(cursor => {
595
+ const hasInput = hasProviderInput(encodedAst, cursor.node);
596
+ return catchSourceError(decodeCursor(cursor).pipe(Effect.mapEager(value => resolved(value, hasInput)), Effect.catchEager(issue => {
597
+ const error = new ConfigError(new Schema.SchemaError(fullPath.length > 0 ? new SchemaIssue.Pointer(fullPath, issue) : issue));
598
+ return hasInput ? Effect.fail(evaluationFailure(error, true)) : Effect.succeed(absent(error));
599
+ })), hasInput);
600
+ }));
502
601
  });
503
602
  }
504
603
  /** @internal */
@@ -580,7 +679,7 @@ export const LogLevel = /*#__PURE__*/Schema.Literals(LogLevel_.values);
580
679
  *
581
680
  * **Example** (Parsing a comma-separated record)
582
681
  *
583
- * ```ts
682
+ * ```ts import.meta.vitest
584
683
  * import { Config, ConfigProvider, Effect, Schema } from "effect"
585
684
  *
586
685
  * const schema = Config.Record(Schema.String, Schema.String)
@@ -593,33 +692,37 @@ export const LogLevel = /*#__PURE__*/Schema.Literals(LogLevel_.values);
593
692
  * }
594
693
  * })
595
694
  *
596
- * console.dir(Effect.runSync(config.parse(provider)))
597
- * // {
598
- * // 'service.name': 'my-service',
599
- * // 'service.version': '1.0.0',
600
- * // 'custom.attribute': 'value'
601
- * // }
695
+ * const result = Effect.runSync(config.parse(provider))
696
+ * result["service.name"] // => "my-service"
697
+ * result["service.version"] // => "1.0.0"
698
+ * result["custom.attribute"] // => "value"
602
699
  * ```
603
700
  *
701
+ * @see {@link Array} for separated or structural array input
702
+ *
604
703
  * @category schemas
605
704
  * @since 4.0.0
606
705
  */
607
706
  export const Record = (key, value, options) => {
608
707
  const record = Schema.Record(key, value);
609
- const recordString = Schema.String.pipe(Schema.decodeTo(Schema.Record(Schema.String, Schema.String), SchemaTransformation.splitKeyValue(options)), Schema.decodeTo(record));
708
+ const split = SchemaTransformation.splitKeyValue(options);
709
+ const recordString = Schema.String.pipe(Schema.decodeTo(Schema.toCodecStringTree(record), {
710
+ decode: split.decode,
711
+ encode: SchemaGetter.passthrough({
712
+ strict: false
713
+ }).compose(split.encode)
714
+ }));
610
715
  return Schema.Union([record, recordString]);
611
716
  };
612
- /**
613
- * @category schemas
614
- * @since 4.0.0
615
- */
616
717
  const ArrayConfig = (value, options) => {
617
718
  const array = Schema.Array(value);
618
719
  const separator = options?.separator ?? ",";
619
- const arrayString = Schema.String.pipe(Schema.decodeTo(Schema.Array(Schema.String), {
720
+ const arrayString = Schema.String.pipe(Schema.decodeTo(Schema.toCodecStringTree(array), {
620
721
  decode: SchemaGetter.split(options),
621
- encode: SchemaGetter.transform(input => input.join(separator))
622
- }), Schema.decodeTo(array));
722
+ encode: SchemaGetter.passthrough({
723
+ strict: false
724
+ }).compose(SchemaGetter.transform(input => input.join(separator)))
725
+ }));
623
726
  return Schema.Union([arrayString, array]);
624
727
  };
625
728
  export {
@@ -636,6 +739,8 @@ export {
636
739
  * Accepts either a JSON-like array from the provider or a flat string like
637
740
  * `"a,b,c"`. The `separator` defaults to `","` and can be customized.
638
741
  *
742
+ * @see {@link Record} for separated or structural record input
743
+ *
639
744
  * @category schemas
640
745
  * @since 4.0.0
641
746
  */
@@ -655,7 +760,7 @@ ArrayConfig as Array };
655
760
  * @since 2.0.0
656
761
  */
657
762
  export function fail(err) {
658
- return make(() => Effect.fail(new ConfigError(err)));
763
+ return make(() => Effect.fail(evaluationFailure(new ConfigError(err), false)));
659
764
  }
660
765
  /**
661
766
  * Creates a config that always succeeds with the given value, ignoring the
@@ -668,19 +773,21 @@ export function fail(err) {
668
773
  *
669
774
  * **Example** (Returning a constant fallback)
670
775
  *
671
- * ```ts
672
- * import { Config } from "effect"
776
+ * ```ts import.meta.vitest
777
+ * import { Config, ConfigProvider, Effect } from "effect"
673
778
  *
674
779
  * const host = Config.string("HOST").pipe(
675
780
  * Config.orElse(() => Config.succeed("localhost"))
676
781
  * )
782
+ * const provider = ConfigProvider.fromUnknown({})
783
+ * Effect.runSync(host.parse(provider)) // => "localhost"
677
784
  * ```
678
785
  *
679
786
  * @category constructors
680
787
  * @since 2.0.0
681
788
  */
682
789
  export function succeed(value) {
683
- return make(() => Effect.succeed(value));
790
+ return make(() => Effect.succeed(resolved(value, false)));
684
791
  }
685
792
  /**
686
793
  * Creates a config for a single string value.
@@ -695,13 +802,13 @@ export function succeed(value) {
695
802
  *
696
803
  * **Example** (Reading a string config)
697
804
  *
698
- * ```ts
805
+ * ```ts import.meta.vitest
699
806
  * import { Config, ConfigProvider, Effect } from "effect"
700
807
  *
701
808
  * const host = Config.string("HOST")
702
809
  *
703
810
  * const provider = ConfigProvider.fromUnknown({ HOST: "localhost" })
704
- * // Effect.runSync(host.parse(provider)) // "localhost"
811
+ * Effect.runSync(host.parse(provider)) // => "localhost"
705
812
  * ```
706
813
  *
707
814
  * @see {@link nonEmptyString} – rejects empty strings
@@ -807,10 +914,12 @@ export function int(name) {
807
914
  *
808
915
  * **Example** (Restricting to a literal)
809
916
  *
810
- * ```ts
811
- * import { Config } from "effect"
917
+ * ```ts import.meta.vitest
918
+ * import { Config, ConfigProvider, Effect } from "effect"
812
919
  *
813
920
  * const env = Config.literal("production", "ENV")
921
+ * const provider = ConfigProvider.fromUnknown({ ENV: "production" })
922
+ * Effect.runSync(env.parse(provider)) // => "production"
814
923
  * ```
815
924
  *
816
925
  * @see {@link literals} – accepts multiple literal values
@@ -833,10 +942,12 @@ export function literal(literal, name) {
833
942
  *
834
943
  * **Example** (Restricting to a set of literals)
835
944
  *
836
- * ```ts
837
- * import { Config } from "effect"
945
+ * ```ts import.meta.vitest
946
+ * import { Config, ConfigProvider, Effect } from "effect"
838
947
  *
839
948
  * const env = Config.literals(["development", "production"], "ENV")
949
+ * const provider = ConfigProvider.fromUnknown({ ENV: "development" })
950
+ * Effect.runSync(env.parse(provider)) // => "development"
840
951
  * ```
841
952
  *
842
953
  * @see {@link literal} for accepting one specific literal value
@@ -864,13 +975,10 @@ export function literals(literals, name) {
864
975
  *
865
976
  * **Example** (Reading a boolean flag)
866
977
  *
867
- * ```ts
978
+ * ```ts import.meta.vitest
868
979
  * import { Config, ConfigProvider, Effect } from "effect"
869
980
  *
870
- * const program = Effect.gen(function*() {
871
- * const flag = yield* Config.boolean("FEATURE_FLAG")
872
- * console.log(flag)
873
- * })
981
+ * const program = Config.boolean("FEATURE_FLAG")
874
982
  *
875
983
  * const provider = ConfigProvider.fromEnv({
876
984
  * env: {
@@ -880,8 +988,7 @@ export function literals(literals, name) {
880
988
  *
881
989
  * Effect.runSync(
882
990
  * program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
883
- * )
884
- * // Output: true
991
+ * ) // => true
885
992
  * ```
886
993
  *
887
994
  * @see {@link Boolean} for the underlying boolean codec
@@ -909,13 +1016,10 @@ export function boolean(name) {
909
1016
  *
910
1017
  * **Example** (Reading a duration)
911
1018
  *
912
- * ```ts
913
- * import { Config, ConfigProvider, Effect } from "effect"
1019
+ * ```ts import.meta.vitest
1020
+ * import { Config, ConfigProvider, Duration, Effect } from "effect"
914
1021
  *
915
- * const program = Effect.gen(function*() {
916
- * const duration = yield* Config.duration("DURATION")
917
- * console.log(duration)
918
- * })
1022
+ * const program = Config.duration("DURATION").pipe(Effect.map(Duration.toMillis))
919
1023
  *
920
1024
  * const provider = ConfigProvider.fromEnv({
921
1025
  * env: {
@@ -925,8 +1029,7 @@ export function boolean(name) {
925
1029
  *
926
1030
  * Effect.runSync(
927
1031
  * program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
928
- * )
929
- * // Output: Duration { _tag: "millis", value: 10000 }
1032
+ * ) // => 10000
930
1033
  * ```
931
1034
  *
932
1035
  * @see {@link schema} for decoding configuration values with a custom codec
@@ -950,13 +1053,10 @@ export function duration(name) {
950
1053
  *
951
1054
  * **Example** (Reading a port)
952
1055
  *
953
- * ```ts
1056
+ * ```ts import.meta.vitest
954
1057
  * import { Config, ConfigProvider, Effect } from "effect"
955
1058
  *
956
- * const program = Effect.gen(function*() {
957
- * const port = yield* Config.port("PORT")
958
- * console.log(port)
959
- * })
1059
+ * const program = Config.port("PORT")
960
1060
  *
961
1061
  * const provider = ConfigProvider.fromEnv({
962
1062
  * env: {
@@ -966,8 +1066,7 @@ export function duration(name) {
966
1066
  *
967
1067
  * Effect.runSync(
968
1068
  * program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
969
- * )
970
- * // Output: 8080
1069
+ * ) // => 8080
971
1070
  * ```
972
1071
  *
973
1072
  * @see {@link int} for integer config values outside the port range
@@ -995,13 +1094,10 @@ export function port(name) {
995
1094
  *
996
1095
  * **Example** (Reading a log level)
997
1096
  *
998
- * ```ts
1097
+ * ```ts import.meta.vitest
999
1098
  * import { Config, ConfigProvider, Effect } from "effect"
1000
1099
  *
1001
- * const program = Effect.gen(function*() {
1002
- * const logLevel = yield* Config.logLevel("LOG_LEVEL")
1003
- * console.log(logLevel)
1004
- * })
1100
+ * const program = Config.logLevel("LOG_LEVEL")
1005
1101
  *
1006
1102
  * const provider = ConfigProvider.fromEnv({
1007
1103
  * env: {
@@ -1011,8 +1107,7 @@ export function port(name) {
1011
1107
  *
1012
1108
  * Effect.runSync(
1013
1109
  * program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
1014
- * )
1015
- * // Output: "Info"
1110
+ * ) // => "Info"
1016
1111
  * ```
1017
1112
  *
1018
1113
  * @see {@link LogLevel} for the underlying log-level codec
@@ -1038,13 +1133,10 @@ export function logLevel(name) {
1038
1133
  *
1039
1134
  * **Example** (Reading a secret)
1040
1135
  *
1041
- * ```ts
1136
+ * ```ts import.meta.vitest
1042
1137
  * import { Config, ConfigProvider, Effect } from "effect"
1043
1138
  *
1044
- * const program = Effect.gen(function*() {
1045
- * const apiKey = yield* Config.redacted("API_KEY")
1046
- * console.log(apiKey)
1047
- * })
1139
+ * const program = Config.redacted("API_KEY").pipe(Effect.map(String))
1048
1140
  *
1049
1141
  * const provider = ConfigProvider.fromEnv({
1050
1142
  * env: {
@@ -1054,8 +1146,7 @@ export function logLevel(name) {
1054
1146
  *
1055
1147
  * Effect.runSync(
1056
1148
  * program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
1057
- * )
1058
- * // Output: <redacted>
1149
+ * ) // => "<redacted>"
1059
1150
  * ```
1060
1151
  *
1061
1152
  * @see {@link string} for non-secret string settings
@@ -1083,13 +1174,10 @@ export function redacted(name) {
1083
1174
  *
1084
1175
  * **Example** (Reading a URL)
1085
1176
  *
1086
- * ```ts
1177
+ * ```ts import.meta.vitest
1087
1178
  * import { Config, ConfigProvider, Effect } from "effect"
1088
1179
  *
1089
- * const program = Effect.gen(function*() {
1090
- * const url = yield* Config.url("URL")
1091
- * console.log(url)
1092
- * })
1180
+ * const program = Config.url("URL").pipe(Effect.map((url) => url.href))
1093
1181
  *
1094
1182
  * const provider = ConfigProvider.fromEnv({
1095
1183
  * env: {
@@ -1099,22 +1187,7 @@ export function redacted(name) {
1099
1187
  *
1100
1188
  * Effect.runSync(
1101
1189
  * program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
1102
- * )
1103
- * // Output:
1104
- * // URL {
1105
- * // href: 'https://example.com/',
1106
- * // origin: 'https://example.com',
1107
- * // protocol: 'https:',
1108
- * // username: '',
1109
- * // password: '',
1110
- * // host: 'example.com',
1111
- * // hostname: 'example.com',
1112
- * // port: '',
1113
- * // pathname: '/',
1114
- * // search: '',
1115
- * // searchParams: URLSearchParams {},
1116
- * // hash: ''
1117
- * // }
1190
+ * ) // => "https://example.com/"
1118
1191
  * ```
1119
1192
  *
1120
1193
  * @see {@link schema} for decoding configuration values with a custom codec
@@ -1142,14 +1215,13 @@ export function url(name) {
1142
1215
  *
1143
1216
  * **Example** (Reading a date)
1144
1217
  *
1145
- * ```ts
1218
+ * ```ts import.meta.vitest
1146
1219
  * import { Config, ConfigProvider, Effect } from "effect"
1147
1220
  *
1148
1221
  * const createdAt = Config.date("CREATED_AT")
1149
1222
  *
1150
1223
  * const provider = ConfigProvider.fromUnknown({ CREATED_AT: "2024-01-15" })
1151
- * // Effect.runSync(createdAt.parse(provider))
1152
- * // Date("2024-01-15T00:00:00.000Z")
1224
+ * Effect.runSync(createdAt.parse(provider)).toISOString() // => "2024-01-15T00:00:00.000Z"
1153
1225
  * ```
1154
1226
  *
1155
1227
  * @category constructors
@@ -1176,7 +1248,7 @@ export function date(name) {
1176
1248
  *
1177
1249
  * **Example** (Nesting a struct config under `"database"`)
1178
1250
  *
1179
- * ```ts
1251
+ * ```ts import.meta.vitest
1180
1252
  * import { Config, ConfigProvider, Effect } from "effect"
1181
1253
  *
1182
1254
  * const dbConfig = Config.all({
@@ -1187,13 +1259,12 @@ export function date(name) {
1187
1259
  * const provider = ConfigProvider.fromUnknown({
1188
1260
  * database: { host: "localhost", port: "5432" }
1189
1261
  * })
1190
- * // Effect.runSync(dbConfig.parse(provider))
1191
- * // { host: "localhost", port: 5432 }
1262
+ * Effect.runSync(dbConfig.parse(provider)) // => { host: "localhost", port: 5432 }
1192
1263
  * ```
1193
1264
  *
1194
1265
  * **Example** (Reading env vars with a nested prefix)
1195
1266
  *
1196
- * ```ts
1267
+ * ```ts import.meta.vitest
1197
1268
  * import { Config, ConfigProvider, Effect } from "effect"
1198
1269
  *
1199
1270
  * const host = Config.string("host").pipe(Config.nested("database"))
@@ -1201,7 +1272,7 @@ export function date(name) {
1201
1272
  * const provider = ConfigProvider.fromEnv({
1202
1273
  * env: { database_host: "localhost" }
1203
1274
  * })
1204
- * // Effect.runSync(host.parse(provider)) // "localhost"
1275
+ * Effect.runSync(host.parse(provider)) // => "localhost"
1205
1276
  * ```
1206
1277
  *
1207
1278
  * @see {@link all} – combine multiple configs into a struct
@@ -1210,5 +1281,5 @@ export function date(name) {
1210
1281
  * @category combinators
1211
1282
  * @since 2.0.0
1212
1283
  */
1213
- export const nested = /*#__PURE__*/dual(2, (self, name) => make((provider, pathPrefix) => self.parse(provider, [...pathPrefix, name])));
1284
+ export const nested = /*#__PURE__*/dual(2, (self, name) => make((provider, pathPrefix) => evaluateAt(self, provider, [...pathPrefix, name])));
1214
1285
  //# sourceMappingURL=Config.js.map