effect 4.0.0-beta.99 → 4.0.0-rc.108

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 (1835) hide show
  1. package/AGENTS.md +381 -0
  2. package/CLAUDE.md +381 -0
  3. package/README.md +14 -19
  4. package/ai-docs/README.md +44 -0
  5. package/ai-docs/package.json +36 -0
  6. package/ai-docs/src/01_effect/01_basics/01_effect-gen.ts +30 -0
  7. package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +39 -0
  8. package/ai-docs/src/01_effect/01_basics/10_creating-effects.ts +74 -0
  9. package/ai-docs/src/01_effect/01_basics/index.md +5 -0
  10. package/ai-docs/src/01_effect/02_schema/10_schema-basics.ts +43 -0
  11. package/ai-docs/src/01_effect/02_schema/index.md +7 -0
  12. package/ai-docs/src/01_effect/03_services/01_service.ts +45 -0
  13. package/ai-docs/src/01_effect/03_services/10_reference.ts +10 -0
  14. package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +70 -0
  15. package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +66 -0
  16. package/ai-docs/src/01_effect/03_services/index.md +5 -0
  17. package/ai-docs/src/01_effect/04_errors/01_error-handling.ts +30 -0
  18. package/ai-docs/src/01_effect/04_errors/10_catch-tags.ts +24 -0
  19. package/ai-docs/src/01_effect/04_errors/20_reason-errors.ts +64 -0
  20. package/ai-docs/src/01_effect/04_errors/index.md +1 -0
  21. package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +105 -0
  22. package/ai-docs/src/01_effect/05_resources/20_layer-side-effects.ts +31 -0
  23. package/ai-docs/src/01_effect/05_resources/30_layer-map.ts +86 -0
  24. package/ai-docs/src/01_effect/05_resources/index.md +3 -0
  25. package/ai-docs/src/01_effect/06_running/10_run-main.ts +30 -0
  26. package/ai-docs/src/01_effect/06_running/20_layer-launch.ts +27 -0
  27. package/ai-docs/src/01_effect/06_running/index.md +1 -0
  28. package/ai-docs/src/01_effect/07_pubsub/10_pubsub.ts +56 -0
  29. package/ai-docs/src/01_effect/07_pubsub/index.md +3 -0
  30. package/ai-docs/src/03_stream/10_creating-streams.ts +103 -0
  31. package/ai-docs/src/03_stream/20_consuming-streams.ts +137 -0
  32. package/ai-docs/src/03_stream/30_encoding.ts +165 -0
  33. package/ai-docs/src/03_stream/index.md +4 -0
  34. package/ai-docs/src/04_integration/10_managed-runtime.ts +129 -0
  35. package/ai-docs/src/04_integration/index.md +5 -0
  36. package/ai-docs/src/05_batching/10_request-resolver.ts +89 -0
  37. package/ai-docs/src/05_batching/index.md +3 -0
  38. package/ai-docs/src/06_schedule/10_schedules.ts +110 -0
  39. package/ai-docs/src/06_schedule/index.md +3 -0
  40. package/ai-docs/src/07_datetime/10_creating-and-formatting.ts +30 -0
  41. package/ai-docs/src/07_datetime/20_time-zones.ts +44 -0
  42. package/ai-docs/src/07_datetime/index.md +5 -0
  43. package/ai-docs/src/08_observability/10_logging.ts +66 -0
  44. package/ai-docs/src/08_observability/20_otlp-tracing.ts +95 -0
  45. package/ai-docs/src/08_observability/index.md +7 -0
  46. package/ai-docs/src/09_testing/10_effect-tests.ts +55 -0
  47. package/ai-docs/src/09_testing/20_layer-tests.ts +138 -0
  48. package/ai-docs/src/09_testing/index.md +1 -0
  49. package/ai-docs/src/10_predicate/01_basics.ts +14 -0
  50. package/ai-docs/src/10_predicate/index.md +9 -0
  51. package/ai-docs/src/50_http-client/10_basics.ts +102 -0
  52. package/ai-docs/src/50_http-client/index.md +3 -0
  53. package/ai-docs/src/51_http-server/10_basics.ts +116 -0
  54. package/ai-docs/src/51_http-server/fixtures/api/Api.ts +14 -0
  55. package/ai-docs/src/51_http-server/fixtures/api/Authorization.ts +36 -0
  56. package/ai-docs/src/51_http-server/fixtures/api/System.ts +10 -0
  57. package/ai-docs/src/51_http-server/fixtures/api/Users.ts +91 -0
  58. package/ai-docs/src/51_http-server/fixtures/domain/User.ts +12 -0
  59. package/ai-docs/src/51_http-server/fixtures/domain/UserErrors.ts +22 -0
  60. package/ai-docs/src/51_http-server/fixtures/server/Authorization.ts +36 -0
  61. package/ai-docs/src/51_http-server/fixtures/server/Users/http.ts +71 -0
  62. package/ai-docs/src/51_http-server/fixtures/server/Users.ts +62 -0
  63. package/ai-docs/src/51_http-server/index.md +3 -0
  64. package/ai-docs/src/60_child-process/10_working-with-child-processes.ts +117 -0
  65. package/ai-docs/src/60_child-process/index.md +3 -0
  66. package/ai-docs/src/70_cli/10_basics.ts +136 -0
  67. package/ai-docs/src/70_cli/index.md +5 -0
  68. package/ai-docs/src/71_ai/10_language-model.ts +156 -0
  69. package/ai-docs/src/71_ai/20_tools.ts +226 -0
  70. package/ai-docs/src/71_ai/30_chat.ts +158 -0
  71. package/ai-docs/src/71_ai/fixtures/domain/LaunchPlan.ts +9 -0
  72. package/ai-docs/src/71_ai/index.md +5 -0
  73. package/ai-docs/src/80_cluster/10_entities.ts +97 -0
  74. package/ai-docs/src/80_cluster/index.md +4 -0
  75. package/ai-docs/src/index.md +10 -0
  76. package/ai-docs/tsconfig.json +24 -0
  77. package/dist/Array.d.ts +971 -1037
  78. package/dist/Array.d.ts.map +1 -1
  79. package/dist/Array.js +462 -412
  80. package/dist/Array.js.map +1 -1
  81. package/dist/BigDecimal.d.ts +433 -756
  82. package/dist/BigDecimal.d.ts.map +1 -1
  83. package/dist/BigDecimal.js +200 -325
  84. package/dist/BigDecimal.js.map +1 -1
  85. package/dist/BigInt.d.ts +207 -267
  86. package/dist/BigInt.d.ts.map +1 -1
  87. package/dist/BigInt.js +107 -135
  88. package/dist/BigInt.js.map +1 -1
  89. package/dist/Boolean.d.ts +146 -188
  90. package/dist/Boolean.d.ts.map +1 -1
  91. package/dist/Boolean.js +64 -84
  92. package/dist/Boolean.js.map +1 -1
  93. package/dist/Brand.d.ts +3 -3
  94. package/dist/Brand.d.ts.map +1 -1
  95. package/dist/Brand.js +4 -3
  96. package/dist/Brand.js.map +1 -1
  97. package/dist/Cache.d.ts +409 -256
  98. package/dist/Cache.d.ts.map +1 -1
  99. package/dist/Cache.js +213 -134
  100. package/dist/Cache.js.map +1 -1
  101. package/dist/Cause.d.ts +167 -277
  102. package/dist/Cause.d.ts.map +1 -1
  103. package/dist/Cause.js +122 -176
  104. package/dist/Cause.js.map +1 -1
  105. package/dist/Channel.d.ts +756 -769
  106. package/dist/Channel.d.ts.map +1 -1
  107. package/dist/Channel.js +588 -449
  108. package/dist/Channel.js.map +1 -1
  109. package/dist/ChannelSchema.d.ts +1 -1
  110. package/dist/ChannelSchema.d.ts.map +1 -1
  111. package/dist/ChannelSchema.js.map +1 -1
  112. package/dist/Chunk.d.ts +834 -1173
  113. package/dist/Chunk.d.ts.map +1 -1
  114. package/dist/Chunk.js +326 -439
  115. package/dist/Chunk.js.map +1 -1
  116. package/dist/Clock.d.ts +180 -49
  117. package/dist/Clock.d.ts.map +1 -1
  118. package/dist/Clock.js +96 -31
  119. package/dist/Clock.js.map +1 -1
  120. package/dist/Combiner.d.ts +20 -33
  121. package/dist/Combiner.d.ts.map +1 -1
  122. package/dist/Combiner.js +18 -30
  123. package/dist/Combiner.js.map +1 -1
  124. package/dist/Config.d.ts +226 -174
  125. package/dist/Config.d.ts.map +1 -1
  126. package/dist/Config.js +361 -267
  127. package/dist/Config.js.map +1 -1
  128. package/dist/ConfigProvider.d.ts +229 -71
  129. package/dist/ConfigProvider.d.ts.map +1 -1
  130. package/dist/ConfigProvider.js +164 -95
  131. package/dist/ConfigProvider.js.map +1 -1
  132. package/dist/Console.d.ts +233 -33
  133. package/dist/Console.d.ts.map +1 -1
  134. package/dist/Console.js +232 -32
  135. package/dist/Console.js.map +1 -1
  136. package/dist/Context.d.ts +153 -277
  137. package/dist/Context.d.ts.map +1 -1
  138. package/dist/Context.js +172 -236
  139. package/dist/Context.js.map +1 -1
  140. package/dist/Cron.d.ts +144 -176
  141. package/dist/Cron.d.ts.map +1 -1
  142. package/dist/Cron.js +227 -162
  143. package/dist/Cron.js.map +1 -1
  144. package/dist/Crypto.d.ts +13 -15
  145. package/dist/Crypto.d.ts.map +1 -1
  146. package/dist/Crypto.js +22 -15
  147. package/dist/Crypto.js.map +1 -1
  148. package/dist/Data.d.ts +60 -80
  149. package/dist/Data.d.ts.map +1 -1
  150. package/dist/Data.js +18 -24
  151. package/dist/Data.js.map +1 -1
  152. package/dist/DateTime.d.ts +562 -660
  153. package/dist/DateTime.d.ts.map +1 -1
  154. package/dist/DateTime.js +307 -362
  155. package/dist/DateTime.js.map +1 -1
  156. package/dist/Deferred.d.ts +253 -256
  157. package/dist/Deferred.d.ts.map +1 -1
  158. package/dist/Deferred.js +110 -98
  159. package/dist/Deferred.js.map +1 -1
  160. package/dist/Duration.d.ts +216 -308
  161. package/dist/Duration.d.ts.map +1 -1
  162. package/dist/Duration.js +157 -188
  163. package/dist/Duration.js.map +1 -1
  164. package/dist/Effect.d.ts +3142 -3345
  165. package/dist/Effect.d.ts.map +1 -1
  166. package/dist/Effect.js +1452 -1570
  167. package/dist/Effect.js.map +1 -1
  168. package/dist/Effectable.js.map +1 -1
  169. package/dist/Encoding.d.ts +22 -40
  170. package/dist/Encoding.d.ts.map +1 -1
  171. package/dist/Encoding.js +22 -40
  172. package/dist/Encoding.js.map +1 -1
  173. package/dist/Equal.d.ts +33 -37
  174. package/dist/Equal.d.ts.map +1 -1
  175. package/dist/Equal.js +39 -23
  176. package/dist/Equal.js.map +1 -1
  177. package/dist/Equivalence.d.ts +103 -105
  178. package/dist/Equivalence.d.ts.map +1 -1
  179. package/dist/Equivalence.js +77 -79
  180. package/dist/Equivalence.js.map +1 -1
  181. package/dist/ErrorReporter.d.ts +51 -27
  182. package/dist/ErrorReporter.d.ts.map +1 -1
  183. package/dist/ErrorReporter.js +50 -26
  184. package/dist/ErrorReporter.js.map +1 -1
  185. package/dist/ExecutionPlan.d.ts +86 -55
  186. package/dist/ExecutionPlan.d.ts.map +1 -1
  187. package/dist/ExecutionPlan.js +8 -29
  188. package/dist/ExecutionPlan.js.map +1 -1
  189. package/dist/Exit.d.ts +116 -192
  190. package/dist/Exit.d.ts.map +1 -1
  191. package/dist/Exit.js +82 -130
  192. package/dist/Exit.js.map +1 -1
  193. package/dist/Fiber.d.ts +83 -147
  194. package/dist/Fiber.d.ts.map +1 -1
  195. package/dist/Fiber.js +48 -87
  196. package/dist/Fiber.js.map +1 -1
  197. package/dist/FiberHandle.d.ts +152 -105
  198. package/dist/FiberHandle.d.ts.map +1 -1
  199. package/dist/FiberHandle.js +109 -75
  200. package/dist/FiberHandle.js.map +1 -1
  201. package/dist/FiberMap.d.ts +213 -168
  202. package/dist/FiberMap.d.ts.map +1 -1
  203. package/dist/FiberMap.js +114 -89
  204. package/dist/FiberMap.js.map +1 -1
  205. package/dist/FiberSet.d.ts +123 -81
  206. package/dist/FiberSet.d.ts.map +1 -1
  207. package/dist/FiberSet.js +86 -60
  208. package/dist/FiberSet.js.map +1 -1
  209. package/dist/FileSystem.d.ts +154 -265
  210. package/dist/FileSystem.d.ts.map +1 -1
  211. package/dist/FileSystem.js +42 -147
  212. package/dist/FileSystem.js.map +1 -1
  213. package/dist/Filter.d.ts +61 -33
  214. package/dist/Filter.d.ts.map +1 -1
  215. package/dist/Filter.js +26 -15
  216. package/dist/Filter.js.map +1 -1
  217. package/dist/Formatter.d.ts +24 -32
  218. package/dist/Formatter.d.ts.map +1 -1
  219. package/dist/Formatter.js +55 -60
  220. package/dist/Formatter.js.map +1 -1
  221. package/dist/Function.d.ts +106 -148
  222. package/dist/Function.d.ts.map +1 -1
  223. package/dist/Function.js +81 -62
  224. package/dist/Function.js.map +1 -1
  225. package/dist/Graph.d.ts +360 -714
  226. package/dist/Graph.d.ts.map +1 -1
  227. package/dist/Graph.js +168 -297
  228. package/dist/Graph.js.map +1 -1
  229. package/dist/HKT.d.ts +12 -6
  230. package/dist/HKT.d.ts.map +1 -1
  231. package/dist/Hash.d.ts +47 -83
  232. package/dist/Hash.d.ts.map +1 -1
  233. package/dist/Hash.js +46 -68
  234. package/dist/Hash.js.map +1 -1
  235. package/dist/HashMap.d.ts +319 -411
  236. package/dist/HashMap.d.ts.map +1 -1
  237. package/dist/HashMap.js +122 -166
  238. package/dist/HashMap.js.map +1 -1
  239. package/dist/HashRing.d.ts.map +1 -1
  240. package/dist/HashRing.js +1 -0
  241. package/dist/HashRing.js.map +1 -1
  242. package/dist/HashSet.d.ts +177 -284
  243. package/dist/HashSet.d.ts.map +1 -1
  244. package/dist/HashSet.js +68 -109
  245. package/dist/HashSet.js.map +1 -1
  246. package/dist/Inspectable.d.ts +19 -18
  247. package/dist/Inspectable.d.ts.map +1 -1
  248. package/dist/Inspectable.js +20 -16
  249. package/dist/Inspectable.js.map +1 -1
  250. package/dist/Iterable.d.ts +620 -786
  251. package/dist/Iterable.d.ts.map +1 -1
  252. package/dist/Iterable.js +241 -317
  253. package/dist/Iterable.js.map +1 -1
  254. package/dist/JsonPatch.d.ts +11 -13
  255. package/dist/JsonPatch.d.ts.map +1 -1
  256. package/dist/JsonPatch.js +46 -103
  257. package/dist/JsonPatch.js.map +1 -1
  258. package/dist/JsonPointer.d.ts +8 -8
  259. package/dist/JsonPointer.js +8 -8
  260. package/dist/JsonPointer.js.map +1 -1
  261. package/dist/JsonSchema.d.ts +98 -44
  262. package/dist/JsonSchema.d.ts.map +1 -1
  263. package/dist/JsonSchema.js +319 -241
  264. package/dist/JsonSchema.js.map +1 -1
  265. package/dist/Latch.d.ts +23 -35
  266. package/dist/Latch.d.ts.map +1 -1
  267. package/dist/Latch.js +16 -28
  268. package/dist/Latch.js.map +1 -1
  269. package/dist/Layer.d.ts +359 -260
  270. package/dist/Layer.d.ts.map +1 -1
  271. package/dist/Layer.js +202 -180
  272. package/dist/Layer.js.map +1 -1
  273. package/dist/LayerMap.d.ts +42 -29
  274. package/dist/LayerMap.d.ts.map +1 -1
  275. package/dist/LayerMap.js +31 -21
  276. package/dist/LayerMap.js.map +1 -1
  277. package/dist/LayerRef.d.ts +6 -2
  278. package/dist/LayerRef.d.ts.map +1 -1
  279. package/dist/LayerRef.js +6 -2
  280. package/dist/LayerRef.js.map +1 -1
  281. package/dist/LogLevel.d.ts +114 -214
  282. package/dist/LogLevel.d.ts.map +1 -1
  283. package/dist/LogLevel.js +41 -76
  284. package/dist/LogLevel.js.map +1 -1
  285. package/dist/Logger.d.ts +218 -467
  286. package/dist/Logger.d.ts.map +1 -1
  287. package/dist/Logger.js +208 -453
  288. package/dist/Logger.js.map +1 -1
  289. package/dist/ManagedRuntime.d.ts +16 -5
  290. package/dist/ManagedRuntime.d.ts.map +1 -1
  291. package/dist/ManagedRuntime.js +10 -5
  292. package/dist/ManagedRuntime.js.map +1 -1
  293. package/dist/Match.d.ts +217 -252
  294. package/dist/Match.d.ts.map +1 -1
  295. package/dist/Match.js +150 -183
  296. package/dist/Match.js.map +1 -1
  297. package/dist/Metric.d.ts +442 -993
  298. package/dist/Metric.d.ts.map +1 -1
  299. package/dist/Metric.js +202 -645
  300. package/dist/Metric.js.map +1 -1
  301. package/dist/MutableHashMap.d.ts +144 -173
  302. package/dist/MutableHashMap.d.ts.map +1 -1
  303. package/dist/MutableHashMap.js +68 -79
  304. package/dist/MutableHashMap.js.map +1 -1
  305. package/dist/MutableHashSet.d.ts +84 -89
  306. package/dist/MutableHashSet.d.ts.map +1 -1
  307. package/dist/MutableHashSet.js +44 -47
  308. package/dist/MutableHashSet.js.map +1 -1
  309. package/dist/MutableList.d.ts +71 -370
  310. package/dist/MutableList.d.ts.map +1 -1
  311. package/dist/MutableList.js +63 -284
  312. package/dist/MutableList.js.map +1 -1
  313. package/dist/MutableRef.d.ts +420 -243
  314. package/dist/MutableRef.d.ts.map +1 -1
  315. package/dist/MutableRef.js +209 -120
  316. package/dist/MutableRef.js.map +1 -1
  317. package/dist/Newtype.d.ts +21 -14
  318. package/dist/Newtype.d.ts.map +1 -1
  319. package/dist/Newtype.js +15 -13
  320. package/dist/Newtype.js.map +1 -1
  321. package/dist/NonEmptyIterable.d.ts +7 -137
  322. package/dist/NonEmptyIterable.d.ts.map +1 -1
  323. package/dist/NonEmptyIterable.js +5 -93
  324. package/dist/NonEmptyIterable.js.map +1 -1
  325. package/dist/Number.d.ts +196 -233
  326. package/dist/Number.d.ts.map +1 -1
  327. package/dist/Number.js +90 -109
  328. package/dist/Number.js.map +1 -1
  329. package/dist/Optic.d.ts +132 -210
  330. package/dist/Optic.d.ts.map +1 -1
  331. package/dist/Optic.js +221 -324
  332. package/dist/Optic.js.map +1 -1
  333. package/dist/Option.d.ts +447 -812
  334. package/dist/Option.d.ts.map +1 -1
  335. package/dist/Option.js +213 -393
  336. package/dist/Option.js.map +1 -1
  337. package/dist/Order.d.ts +109 -109
  338. package/dist/Order.js +91 -91
  339. package/dist/Order.js.map +1 -1
  340. package/dist/Ordering.d.ts +20 -23
  341. package/dist/Ordering.d.ts.map +1 -1
  342. package/dist/Ordering.js +8 -9
  343. package/dist/Ordering.js.map +1 -1
  344. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  345. package/dist/PartitionedSemaphore.js +1 -4
  346. package/dist/PartitionedSemaphore.js.map +1 -1
  347. package/dist/Path.d.ts +38 -41
  348. package/dist/Path.d.ts.map +1 -1
  349. package/dist/Path.js +3 -4
  350. package/dist/Path.js.map +1 -1
  351. package/dist/Pipeable.d.ts +6 -5
  352. package/dist/Pipeable.d.ts.map +1 -1
  353. package/dist/Pipeable.js +2 -2
  354. package/dist/Pipeable.js.map +1 -1
  355. package/dist/PlatformError.d.ts +4 -4
  356. package/dist/PlatformError.js +3 -3
  357. package/dist/PlatformError.js.map +1 -1
  358. package/dist/Pool.d.ts +4 -2
  359. package/dist/Pool.d.ts.map +1 -1
  360. package/dist/Pool.js +4 -2
  361. package/dist/Pool.js.map +1 -1
  362. package/dist/Predicate.d.ts +200 -181
  363. package/dist/Predicate.d.ts.map +1 -1
  364. package/dist/Predicate.js +100 -108
  365. package/dist/Predicate.js.map +1 -1
  366. package/dist/PrimaryKey.d.ts +7 -7
  367. package/dist/PrimaryKey.js +5 -5
  368. package/dist/PrimaryKey.js.map +1 -1
  369. package/dist/PubSub.d.ts +425 -494
  370. package/dist/PubSub.d.ts.map +1 -1
  371. package/dist/PubSub.js +373 -362
  372. package/dist/PubSub.js.map +1 -1
  373. package/dist/Pull.d.ts +24 -18
  374. package/dist/Pull.d.ts.map +1 -1
  375. package/dist/Pull.js +11 -9
  376. package/dist/Pull.js.map +1 -1
  377. package/dist/Queue.d.ts +200 -159
  378. package/dist/Queue.d.ts.map +1 -1
  379. package/dist/Queue.js +166 -138
  380. package/dist/Queue.js.map +1 -1
  381. package/dist/Random.d.ts +49 -74
  382. package/dist/Random.d.ts.map +1 -1
  383. package/dist/Random.js +35 -54
  384. package/dist/Random.js.map +1 -1
  385. package/dist/RcMap.d.ts +121 -63
  386. package/dist/RcMap.d.ts.map +1 -1
  387. package/dist/RcMap.js +42 -21
  388. package/dist/RcMap.js.map +1 -1
  389. package/dist/RcRef.d.ts +24 -13
  390. package/dist/RcRef.d.ts.map +1 -1
  391. package/dist/RcRef.js +15 -9
  392. package/dist/RcRef.js.map +1 -1
  393. package/dist/Record.d.ts +361 -466
  394. package/dist/Record.d.ts.map +1 -1
  395. package/dist/Record.js +163 -216
  396. package/dist/Record.js.map +1 -1
  397. package/dist/Redactable.d.ts +6 -2
  398. package/dist/Redactable.d.ts.map +1 -1
  399. package/dist/Redactable.js +7 -2
  400. package/dist/Redactable.js.map +1 -1
  401. package/dist/Redacted.d.ts +25 -25
  402. package/dist/Redacted.d.ts.map +1 -1
  403. package/dist/Redacted.js +19 -20
  404. package/dist/Redacted.js.map +1 -1
  405. package/dist/Reducer.d.ts +8 -15
  406. package/dist/Reducer.d.ts.map +1 -1
  407. package/dist/Reducer.js +6 -12
  408. package/dist/Reducer.js.map +1 -1
  409. package/dist/Ref.d.ts +95 -165
  410. package/dist/Ref.d.ts.map +1 -1
  411. package/dist/Ref.js +75 -122
  412. package/dist/Ref.js.map +1 -1
  413. package/dist/References.d.ts +102 -213
  414. package/dist/References.d.ts.map +1 -1
  415. package/dist/References.js +102 -213
  416. package/dist/References.js.map +1 -1
  417. package/dist/RegExp.d.ts +10 -14
  418. package/dist/RegExp.d.ts.map +1 -1
  419. package/dist/RegExp.js +10 -14
  420. package/dist/RegExp.js.map +1 -1
  421. package/dist/Request.d.ts +31 -21
  422. package/dist/Request.d.ts.map +1 -1
  423. package/dist/Request.js +25 -19
  424. package/dist/Request.js.map +1 -1
  425. package/dist/RequestResolver.d.ts +201 -90
  426. package/dist/RequestResolver.d.ts.map +1 -1
  427. package/dist/RequestResolver.js +87 -41
  428. package/dist/RequestResolver.js.map +1 -1
  429. package/dist/Resource.js.map +1 -1
  430. package/dist/Result.d.ts +302 -470
  431. package/dist/Result.d.ts.map +1 -1
  432. package/dist/Result.js +135 -218
  433. package/dist/Result.js.map +1 -1
  434. package/dist/Runtime.d.ts +50 -75
  435. package/dist/Runtime.d.ts.map +1 -1
  436. package/dist/Runtime.js +39 -60
  437. package/dist/Runtime.js.map +1 -1
  438. package/dist/Schedule.d.ts +292 -1638
  439. package/dist/Schedule.d.ts.map +1 -1
  440. package/dist/Schedule.js +164 -805
  441. package/dist/Schedule.js.map +1 -1
  442. package/dist/Scheduler.d.ts +5 -5
  443. package/dist/Scheduler.d.ts.map +1 -1
  444. package/dist/Scheduler.js +18 -6
  445. package/dist/Scheduler.js.map +1 -1
  446. package/dist/Schema.d.ts +2056 -1269
  447. package/dist/Schema.d.ts.map +1 -1
  448. package/dist/Schema.js +2868 -1135
  449. package/dist/Schema.js.map +1 -1
  450. package/dist/SchemaAST.d.ts +64 -72
  451. package/dist/SchemaAST.d.ts.map +1 -1
  452. package/dist/SchemaAST.js +698 -468
  453. package/dist/SchemaAST.js.map +1 -1
  454. package/dist/SchemaGetter.d.ts +236 -188
  455. package/dist/SchemaGetter.d.ts.map +1 -1
  456. package/dist/SchemaGetter.js +281 -234
  457. package/dist/SchemaGetter.js.map +1 -1
  458. package/dist/SchemaIssue.d.ts +219 -190
  459. package/dist/SchemaIssue.d.ts.map +1 -1
  460. package/dist/SchemaIssue.js +303 -309
  461. package/dist/SchemaIssue.js.map +1 -1
  462. package/dist/SchemaParser.d.ts +32 -2
  463. package/dist/SchemaParser.d.ts.map +1 -1
  464. package/dist/SchemaParser.js +170 -118
  465. package/dist/SchemaParser.js.map +1 -1
  466. package/dist/SchemaRepresentation.d.ts +433 -1511
  467. package/dist/SchemaRepresentation.d.ts.map +1 -1
  468. package/dist/SchemaRepresentation.js +301 -2854
  469. package/dist/SchemaRepresentation.js.map +1 -1
  470. package/dist/SchemaTransformation.d.ts +117 -77
  471. package/dist/SchemaTransformation.d.ts.map +1 -1
  472. package/dist/SchemaTransformation.js +139 -104
  473. package/dist/SchemaTransformation.js.map +1 -1
  474. package/dist/Scope.d.ts +123 -151
  475. package/dist/Scope.d.ts.map +1 -1
  476. package/dist/Scope.js +72 -92
  477. package/dist/Scope.js.map +1 -1
  478. package/dist/ScopedCache.js +1 -1
  479. package/dist/ScopedCache.js.map +1 -1
  480. package/dist/ScopedRef.d.ts +3 -3
  481. package/dist/ScopedRef.d.ts.map +1 -1
  482. package/dist/ScopedRef.js +2 -2
  483. package/dist/ScopedRef.js.map +1 -1
  484. package/dist/Semaphore.d.ts +101 -13
  485. package/dist/Semaphore.d.ts.map +1 -1
  486. package/dist/Semaphore.js +78 -39
  487. package/dist/Semaphore.js.map +1 -1
  488. package/dist/Sink.d.ts +118 -108
  489. package/dist/Sink.d.ts.map +1 -1
  490. package/dist/Sink.js +107 -100
  491. package/dist/Sink.js.map +1 -1
  492. package/dist/Stdio.d.ts +18 -5
  493. package/dist/Stdio.d.ts.map +1 -1
  494. package/dist/Stdio.js +6 -3
  495. package/dist/Stdio.js.map +1 -1
  496. package/dist/Stream.d.ts +2467 -2962
  497. package/dist/Stream.d.ts.map +1 -1
  498. package/dist/Stream.js +1154 -1413
  499. package/dist/Stream.js.map +1 -1
  500. package/dist/String.d.ts +262 -308
  501. package/dist/String.d.ts.map +1 -1
  502. package/dist/String.js +184 -215
  503. package/dist/String.js.map +1 -1
  504. package/dist/Struct.d.ts +109 -114
  505. package/dist/Struct.d.ts.map +1 -1
  506. package/dist/Struct.js +46 -54
  507. package/dist/Struct.js.map +1 -1
  508. package/dist/SubscriptionRef.d.ts +282 -250
  509. package/dist/SubscriptionRef.d.ts.map +1 -1
  510. package/dist/SubscriptionRef.js +104 -92
  511. package/dist/SubscriptionRef.js.map +1 -1
  512. package/dist/Symbol.d.ts +3 -3
  513. package/dist/Symbol.js +3 -3
  514. package/dist/Symbol.js.map +1 -1
  515. package/dist/SynchronizedRef.js +1 -1
  516. package/dist/SynchronizedRef.js.map +1 -1
  517. package/dist/Take.js.map +1 -1
  518. package/dist/Terminal.d.ts +2 -2
  519. package/dist/Terminal.js +2 -2
  520. package/dist/Terminal.js.map +1 -1
  521. package/dist/Tracer.d.ts +100 -54
  522. package/dist/Tracer.d.ts.map +1 -1
  523. package/dist/Tracer.js +41 -24
  524. package/dist/Tracer.js.map +1 -1
  525. package/dist/Trie.d.ts +287 -679
  526. package/dist/Trie.d.ts.map +1 -1
  527. package/dist/Trie.js +109 -251
  528. package/dist/Trie.js.map +1 -1
  529. package/dist/Tuple.d.ts +98 -131
  530. package/dist/Tuple.d.ts.map +1 -1
  531. package/dist/Tuple.js +42 -57
  532. package/dist/Tuple.js.map +1 -1
  533. package/dist/TxChunk.d.ts +201 -121
  534. package/dist/TxChunk.d.ts.map +1 -1
  535. package/dist/TxChunk.js +85 -56
  536. package/dist/TxChunk.js.map +1 -1
  537. package/dist/TxDeferred.d.ts +62 -46
  538. package/dist/TxDeferred.d.ts.map +1 -1
  539. package/dist/TxDeferred.js +30 -22
  540. package/dist/TxDeferred.js.map +1 -1
  541. package/dist/TxHashMap.d.ts +631 -779
  542. package/dist/TxHashMap.d.ts.map +1 -1
  543. package/dist/TxHashMap.js +268 -330
  544. package/dist/TxHashMap.js.map +1 -1
  545. package/dist/TxHashSet.d.ts +297 -236
  546. package/dist/TxHashSet.d.ts.map +1 -1
  547. package/dist/TxHashSet.js +130 -100
  548. package/dist/TxHashSet.js.map +1 -1
  549. package/dist/TxPriorityQueue.d.ts +126 -95
  550. package/dist/TxPriorityQueue.d.ts.map +1 -1
  551. package/dist/TxPriorityQueue.js +74 -56
  552. package/dist/TxPriorityQueue.js.map +1 -1
  553. package/dist/TxPubSub.d.ts +101 -88
  554. package/dist/TxPubSub.d.ts.map +1 -1
  555. package/dist/TxPubSub.js +87 -66
  556. package/dist/TxPubSub.js.map +1 -1
  557. package/dist/TxQueue.d.ts +200 -180
  558. package/dist/TxQueue.d.ts.map +1 -1
  559. package/dist/TxQueue.js +161 -137
  560. package/dist/TxQueue.js.map +1 -1
  561. package/dist/TxReentrantLock.d.ts +89 -114
  562. package/dist/TxReentrantLock.d.ts.map +1 -1
  563. package/dist/TxReentrantLock.js +75 -53
  564. package/dist/TxReentrantLock.js.map +1 -1
  565. package/dist/TxRef.d.ts +51 -32
  566. package/dist/TxRef.d.ts.map +1 -1
  567. package/dist/TxRef.js +23 -15
  568. package/dist/TxRef.js.map +1 -1
  569. package/dist/TxSemaphore.d.ts +129 -95
  570. package/dist/TxSemaphore.d.ts.map +1 -1
  571. package/dist/TxSemaphore.js +85 -70
  572. package/dist/TxSemaphore.js.map +1 -1
  573. package/dist/TxSubscriptionRef.d.ts +97 -70
  574. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  575. package/dist/TxSubscriptionRef.js +44 -34
  576. package/dist/TxSubscriptionRef.js.map +1 -1
  577. package/dist/Types.d.ts +127 -70
  578. package/dist/Types.d.ts.map +1 -1
  579. package/dist/UndefinedOr.js.map +1 -1
  580. package/dist/Unify.d.ts +45 -65
  581. package/dist/Unify.d.ts.map +1 -1
  582. package/dist/Unify.js +6 -9
  583. package/dist/Unify.js.map +1 -1
  584. package/dist/Utils.d.ts +23 -16
  585. package/dist/Utils.d.ts.map +1 -1
  586. package/dist/Utils.js +3 -7
  587. package/dist/Utils.js.map +1 -1
  588. package/dist/index.d.ts +0 -8
  589. package/dist/index.d.ts.map +1 -1
  590. package/dist/index.js +0 -8
  591. package/dist/index.js.map +1 -1
  592. package/dist/internal/array.js.map +1 -1
  593. package/dist/internal/core.js +4 -3
  594. package/dist/internal/core.js.map +1 -1
  595. package/dist/internal/dateTime.js +5 -1
  596. package/dist/internal/dateTime.js.map +1 -1
  597. package/dist/internal/doNotation.js.map +1 -1
  598. package/dist/internal/effect.js +252 -108
  599. package/dist/internal/effect.js.map +1 -1
  600. package/dist/internal/equal.js.map +1 -1
  601. package/dist/internal/errors.js.map +1 -1
  602. package/dist/internal/executionPlan.js +52 -3
  603. package/dist/internal/executionPlan.js.map +1 -1
  604. package/dist/internal/hashMap.js +12 -8
  605. package/dist/internal/hashMap.js.map +1 -1
  606. package/dist/internal/hashSet.js.map +1 -1
  607. package/dist/internal/layer.js.map +1 -1
  608. package/dist/internal/matcher.js +2 -2
  609. package/dist/internal/matcher.js.map +1 -1
  610. package/dist/internal/metric.js.map +1 -1
  611. package/dist/internal/option.js.map +1 -1
  612. package/dist/internal/persistence.d.ts +2 -0
  613. package/dist/internal/persistence.d.ts.map +1 -0
  614. package/dist/internal/persistence.js +3 -0
  615. package/dist/internal/persistence.js.map +1 -0
  616. package/dist/internal/random.js.map +1 -1
  617. package/dist/internal/rcRef.js +18 -13
  618. package/dist/internal/rcRef.js.map +1 -1
  619. package/dist/internal/record.d.ts +0 -3
  620. package/dist/internal/record.d.ts.map +1 -1
  621. package/dist/internal/record.js +10 -5
  622. package/dist/internal/record.js.map +1 -1
  623. package/dist/internal/redacted.js.map +1 -1
  624. package/dist/internal/references.js +3 -4
  625. package/dist/internal/references.js.map +1 -1
  626. package/dist/internal/request.js.map +1 -1
  627. package/dist/internal/result.js.map +1 -1
  628. package/dist/internal/schedule.js.map +1 -1
  629. package/dist/internal/schema/annotations.js +15 -1
  630. package/dist/internal/schema/annotations.js.map +1 -1
  631. package/dist/internal/schema/cause.js.map +1 -1
  632. package/dist/internal/schema/fromJsonSchemaDocument.d.ts +2 -0
  633. package/dist/internal/schema/fromJsonSchemaDocument.d.ts.map +1 -0
  634. package/dist/internal/schema/fromJsonSchemaDocument.js +761 -0
  635. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -0
  636. package/dist/internal/schema/fromRepresentation.d.ts +2 -0
  637. package/dist/internal/schema/fromRepresentation.d.ts.map +1 -0
  638. package/dist/internal/schema/fromRepresentation.js +245 -0
  639. package/dist/internal/schema/fromRepresentation.js.map +1 -0
  640. package/dist/internal/schema/parser.d.ts +14 -0
  641. package/dist/internal/schema/parser.d.ts.map +1 -0
  642. package/dist/internal/schema/parser.js +13 -0
  643. package/dist/internal/schema/parser.js.map +1 -0
  644. package/dist/internal/schema/schema.js +29 -49
  645. package/dist/internal/schema/schema.js.map +1 -1
  646. package/dist/internal/schema/toArbitrary.d.ts +2 -0
  647. package/dist/internal/schema/toArbitrary.d.ts.map +1 -0
  648. package/dist/internal/schema/{arbitrary.js → toArbitrary.js} +8 -83
  649. package/dist/internal/schema/toArbitrary.js.map +1 -0
  650. package/dist/internal/schema/toCodeDocument.d.ts +2 -0
  651. package/dist/internal/schema/toCodeDocument.d.ts.map +1 -0
  652. package/dist/internal/schema/toCodeDocument.js +438 -0
  653. package/dist/internal/schema/toCodeDocument.js.map +1 -0
  654. package/dist/internal/schema/toEquivalence.d.ts +2 -0
  655. package/dist/internal/schema/toEquivalence.d.ts.map +1 -0
  656. package/dist/internal/schema/{equivalence.js → toEquivalence.js} +15 -13
  657. package/dist/internal/schema/toEquivalence.js.map +1 -0
  658. package/dist/internal/schema/toJsonSchemaDocument.d.ts +2 -0
  659. package/dist/internal/schema/toJsonSchemaDocument.d.ts.map +1 -0
  660. package/dist/internal/schema/toJsonSchemaDocument.js +522 -0
  661. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -0
  662. package/dist/internal/schema/toRepresentation.d.ts +2 -0
  663. package/dist/internal/schema/toRepresentation.d.ts.map +1 -0
  664. package/dist/internal/schema/toRepresentation.js +351 -0
  665. package/dist/internal/schema/toRepresentation.js.map +1 -0
  666. package/dist/internal/stackTraceLimit.js +3 -6
  667. package/dist/internal/stackTraceLimit.js.map +1 -1
  668. package/dist/internal/stream.js.map +1 -1
  669. package/dist/internal/tracer.js.map +1 -1
  670. package/dist/internal/trie.js +24 -10
  671. package/dist/internal/trie.js.map +1 -1
  672. package/dist/testing/FastCheck.d.ts +8 -7
  673. package/dist/testing/FastCheck.d.ts.map +1 -1
  674. package/dist/testing/FastCheck.js +8 -7
  675. package/dist/testing/FastCheck.js.map +1 -1
  676. package/dist/testing/TestClock.d.ts +57 -28
  677. package/dist/testing/TestClock.d.ts.map +1 -1
  678. package/dist/testing/TestClock.js +65 -20
  679. package/dist/testing/TestClock.js.map +1 -1
  680. package/dist/testing/TestConsole.d.ts +32 -31
  681. package/dist/testing/TestConsole.d.ts.map +1 -1
  682. package/dist/testing/TestConsole.js +24 -22
  683. package/dist/testing/TestConsole.js.map +1 -1
  684. package/dist/testing/TestSchema.d.ts +31 -31
  685. package/dist/testing/TestSchema.d.ts.map +1 -1
  686. package/dist/testing/TestSchema.js +35 -34
  687. package/dist/testing/TestSchema.js.map +1 -1
  688. package/dist/testing/index.js.map +1 -1
  689. package/dist/unstable/ai/AiError.d.ts +121 -144
  690. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  691. package/dist/unstable/ai/AiError.js +118 -140
  692. package/dist/unstable/ai/AiError.js.map +1 -1
  693. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +22 -7
  694. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  695. package/dist/unstable/ai/AnthropicStructuredOutput.js +87 -317
  696. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  697. package/dist/unstable/ai/Chat.d.ts +132 -97
  698. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  699. package/dist/unstable/ai/Chat.js +56 -52
  700. package/dist/unstable/ai/Chat.js.map +1 -1
  701. package/dist/unstable/ai/EmbeddingModel.d.ts +1 -1
  702. package/dist/unstable/ai/EmbeddingModel.js +1 -1
  703. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  704. package/dist/unstable/ai/IdGenerator.d.ts +32 -28
  705. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  706. package/dist/unstable/ai/IdGenerator.js +26 -21
  707. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  708. package/dist/unstable/ai/LanguageModel.d.ts +111 -68
  709. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  710. package/dist/unstable/ai/LanguageModel.js +127 -83
  711. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  712. package/dist/unstable/ai/McpProtocol.d.ts +30 -0
  713. package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
  714. package/dist/unstable/ai/McpProtocol.js +20 -0
  715. package/dist/unstable/ai/McpProtocol.js.map +1 -0
  716. package/dist/unstable/ai/McpSchema.d.ts +320 -254
  717. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  718. package/dist/unstable/ai/McpSchema.js +79 -71
  719. package/dist/unstable/ai/McpSchema.js.map +1 -1
  720. package/dist/unstable/ai/McpServer.d.ts +71 -62
  721. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  722. package/dist/unstable/ai/McpServer.js +777 -245
  723. package/dist/unstable/ai/McpServer.js.map +1 -1
  724. package/dist/unstable/ai/Model.d.ts +8 -19
  725. package/dist/unstable/ai/Model.d.ts.map +1 -1
  726. package/dist/unstable/ai/Model.js +9 -20
  727. package/dist/unstable/ai/Model.js.map +1 -1
  728. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +33 -11
  729. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  730. package/dist/unstable/ai/OpenAiStructuredOutput.js +194 -378
  731. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  732. package/dist/unstable/ai/Prompt.d.ts +131 -44
  733. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  734. package/dist/unstable/ai/Prompt.js +100 -36
  735. package/dist/unstable/ai/Prompt.js.map +1 -1
  736. package/dist/unstable/ai/Response.d.ts +47 -33
  737. package/dist/unstable/ai/Response.d.ts.map +1 -1
  738. package/dist/unstable/ai/Response.js +23 -18
  739. package/dist/unstable/ai/Response.js.map +1 -1
  740. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  741. package/dist/unstable/ai/Telemetry.d.ts +46 -13
  742. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  743. package/dist/unstable/ai/Telemetry.js +18 -7
  744. package/dist/unstable/ai/Telemetry.js.map +1 -1
  745. package/dist/unstable/ai/Tokenizer.d.ts +14 -3
  746. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  747. package/dist/unstable/ai/Tokenizer.js +10 -2
  748. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  749. package/dist/unstable/ai/Tool.d.ts +63 -44
  750. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  751. package/dist/unstable/ai/Tool.js +59 -42
  752. package/dist/unstable/ai/Tool.js.map +1 -1
  753. package/dist/unstable/ai/Toolkit.d.ts +35 -9
  754. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  755. package/dist/unstable/ai/Toolkit.js +32 -14
  756. package/dist/unstable/ai/Toolkit.js.map +1 -1
  757. package/dist/unstable/ai/index.d.ts +4 -0
  758. package/dist/unstable/ai/index.d.ts.map +1 -1
  759. package/dist/unstable/ai/index.js +4 -0
  760. package/dist/unstable/ai/index.js.map +1 -1
  761. package/dist/unstable/ai/internal/codec-transformer.js +15 -12
  762. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  763. package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
  764. package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
  765. package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
  766. package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
  767. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
  768. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
  769. package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
  770. package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
  771. package/dist/unstable/ai/internal/structured-output.d.ts +2 -0
  772. package/dist/unstable/ai/internal/structured-output.d.ts.map +1 -0
  773. package/dist/unstable/ai/internal/structured-output.js +315 -0
  774. package/dist/unstable/ai/internal/structured-output.js.map +1 -0
  775. package/dist/unstable/cli/Argument.d.ts +279 -72
  776. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  777. package/dist/unstable/cli/Argument.js +113 -34
  778. package/dist/unstable/cli/Argument.js.map +1 -1
  779. package/dist/unstable/cli/CliConfig.js.map +1 -1
  780. package/dist/unstable/cli/CliError.d.ts +126 -76
  781. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  782. package/dist/unstable/cli/CliError.js +136 -76
  783. package/dist/unstable/cli/CliError.js.map +1 -1
  784. package/dist/unstable/cli/CliOutput.d.ts +35 -54
  785. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  786. package/dist/unstable/cli/CliOutput.js +26 -42
  787. package/dist/unstable/cli/CliOutput.js.map +1 -1
  788. package/dist/unstable/cli/Command.d.ts +736 -115
  789. package/dist/unstable/cli/Command.d.ts.map +1 -1
  790. package/dist/unstable/cli/Command.js +282 -56
  791. package/dist/unstable/cli/Command.js.map +1 -1
  792. package/dist/unstable/cli/Completions.js.map +1 -1
  793. package/dist/unstable/cli/Flag.d.ts +418 -138
  794. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  795. package/dist/unstable/cli/Flag.js +197 -71
  796. package/dist/unstable/cli/Flag.js.map +1 -1
  797. package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
  798. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  799. package/dist/unstable/cli/HelpDoc.d.ts +12 -4
  800. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  801. package/dist/unstable/cli/Param.d.ts +299 -83
  802. package/dist/unstable/cli/Param.d.ts.map +1 -1
  803. package/dist/unstable/cli/Param.js +146 -60
  804. package/dist/unstable/cli/Param.js.map +1 -1
  805. package/dist/unstable/cli/Primitive.d.ts +370 -149
  806. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  807. package/dist/unstable/cli/Primitive.js +377 -162
  808. package/dist/unstable/cli/Primitive.js.map +1 -1
  809. package/dist/unstable/cli/Prompt.d.ts +23 -14
  810. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  811. package/dist/unstable/cli/Prompt.js +54 -31
  812. package/dist/unstable/cli/Prompt.js.map +1 -1
  813. package/dist/unstable/cli/index.js.map +1 -1
  814. package/dist/unstable/cli/internal/ansi.js +2 -2
  815. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  816. package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
  817. package/dist/unstable/cli/internal/command.d.ts +5 -3
  818. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  819. package/dist/unstable/cli/internal/command.js +21 -13
  820. package/dist/unstable/cli/internal/command.js.map +1 -1
  821. package/dist/unstable/cli/internal/completions/bash.js +69 -9
  822. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  823. package/dist/unstable/cli/internal/completions/descriptor.js +24 -18
  824. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  825. package/dist/unstable/cli/internal/completions/fish.js +5 -5
  826. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  827. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  828. package/dist/unstable/cli/internal/config.d.ts +0 -48
  829. package/dist/unstable/cli/internal/config.d.ts.map +1 -1
  830. package/dist/unstable/cli/internal/config.js +8 -10
  831. package/dist/unstable/cli/internal/config.js.map +1 -1
  832. package/dist/unstable/cli/internal/help.d.ts.map +1 -1
  833. package/dist/unstable/cli/internal/help.js +4 -2
  834. package/dist/unstable/cli/internal/help.js.map +1 -1
  835. package/dist/unstable/cli/internal/lexer.js +17 -7
  836. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  837. package/dist/unstable/cli/internal/parser.js +5 -5
  838. package/dist/unstable/cli/internal/parser.js.map +1 -1
  839. package/dist/unstable/cli/internal/wizard.js +2 -2
  840. package/dist/unstable/cli/internal/wizard.js.map +1 -1
  841. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  842. package/dist/unstable/cluster/ClusterError.js +7 -7
  843. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  844. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  845. package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
  846. package/dist/unstable/cluster/ClusterSchema.js +8 -8
  847. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  848. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  849. package/dist/unstable/cluster/ClusterWorkflowEngine.js +32 -16
  850. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  851. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  852. package/dist/unstable/cluster/Entity.d.ts +12 -12
  853. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  854. package/dist/unstable/cluster/Entity.js +9 -9
  855. package/dist/unstable/cluster/Entity.js.map +1 -1
  856. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  857. package/dist/unstable/cluster/EntityId.js.map +1 -1
  858. package/dist/unstable/cluster/EntityProxy.d.ts +7 -5
  859. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  860. package/dist/unstable/cluster/EntityProxy.js +8 -5
  861. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  862. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  863. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  864. package/dist/unstable/cluster/EntityResource.js +2 -2
  865. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  866. package/dist/unstable/cluster/EntityType.js.map +1 -1
  867. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  868. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  869. package/dist/unstable/cluster/Envelope.js +5 -4
  870. package/dist/unstable/cluster/Envelope.js.map +1 -1
  871. package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
  872. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  873. package/dist/unstable/cluster/HttpRunner.js +6 -4
  874. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  875. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  876. package/dist/unstable/cluster/MachineId.js.map +1 -1
  877. package/dist/unstable/cluster/Message.d.ts +9 -9
  878. package/dist/unstable/cluster/Message.js +6 -6
  879. package/dist/unstable/cluster/Message.js.map +1 -1
  880. package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
  881. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  882. package/dist/unstable/cluster/MessageStorage.js +13 -6
  883. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  884. package/dist/unstable/cluster/Reply.d.ts +8 -0
  885. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  886. package/dist/unstable/cluster/Reply.js +17 -5
  887. package/dist/unstable/cluster/Reply.js.map +1 -1
  888. package/dist/unstable/cluster/Runner.d.ts +1 -1
  889. package/dist/unstable/cluster/Runner.js +1 -1
  890. package/dist/unstable/cluster/Runner.js.map +1 -1
  891. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  892. package/dist/unstable/cluster/RunnerAddress.js +1 -1
  893. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  894. package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
  895. package/dist/unstable/cluster/RunnerHealth.js +1 -1
  896. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  897. package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
  898. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  899. package/dist/unstable/cluster/RunnerServer.js +29 -23
  900. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  901. package/dist/unstable/cluster/RunnerStorage.d.ts +3 -4
  902. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  903. package/dist/unstable/cluster/RunnerStorage.js +8 -7
  904. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  905. package/dist/unstable/cluster/Runners.d.ts +11 -15
  906. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  907. package/dist/unstable/cluster/Runners.js +32 -22
  908. package/dist/unstable/cluster/Runners.js.map +1 -1
  909. package/dist/unstable/cluster/ShardId.js +1 -1
  910. package/dist/unstable/cluster/ShardId.js.map +1 -1
  911. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  912. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  913. package/dist/unstable/cluster/Sharding.js +164 -31
  914. package/dist/unstable/cluster/Sharding.js.map +1 -1
  915. package/dist/unstable/cluster/ShardingConfig.d.ts +13 -5
  916. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  917. package/dist/unstable/cluster/ShardingConfig.js +3 -3
  918. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  919. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  920. package/dist/unstable/cluster/SingleRunner.d.ts +4 -2
  921. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  922. package/dist/unstable/cluster/SingleRunner.js +2 -1
  923. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  924. package/dist/unstable/cluster/Singleton.js.map +1 -1
  925. package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
  926. package/dist/unstable/cluster/SingletonAddress.js +1 -1
  927. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  928. package/dist/unstable/cluster/Snowflake.d.ts +8 -8
  929. package/dist/unstable/cluster/Snowflake.js +8 -8
  930. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  931. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  932. package/dist/unstable/cluster/SqlMessageStorage.d.ts +7 -4
  933. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  934. package/dist/unstable/cluster/SqlMessageStorage.js +56 -25
  935. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  936. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  937. package/dist/unstable/cluster/SqlRunnerStorage.js +141 -79
  938. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  939. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  940. package/dist/unstable/cluster/index.js.map +1 -1
  941. package/dist/unstable/cluster/internal/entityManager.js +25 -13
  942. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  943. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  944. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  945. package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
  946. package/dist/unstable/cluster/internal/resourceMap.js +2 -2
  947. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  948. package/dist/unstable/cluster/internal/resourceRef.js +17 -0
  949. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  950. package/dist/unstable/cluster/internal/shardLock.d.ts +2 -0
  951. package/dist/unstable/cluster/internal/shardLock.d.ts.map +1 -0
  952. package/dist/unstable/cluster/internal/shardLock.js +4 -0
  953. package/dist/unstable/cluster/internal/shardLock.js.map +1 -0
  954. package/dist/unstable/devtools/DevTools.js.map +1 -1
  955. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  956. package/dist/unstable/devtools/DevToolsClient.js +7 -2
  957. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  958. package/dist/unstable/devtools/DevToolsSchema.d.ts +20 -20
  959. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  960. package/dist/unstable/devtools/DevToolsSchema.js +8 -5
  961. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  962. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  963. package/dist/unstable/devtools/index.js.map +1 -1
  964. package/dist/unstable/encoding/Ini.d.ts +20 -0
  965. package/dist/unstable/encoding/Ini.d.ts.map +1 -0
  966. package/dist/unstable/encoding/Ini.js +153 -0
  967. package/dist/unstable/encoding/Ini.js.map +1 -0
  968. package/dist/unstable/encoding/Msgpack.d.ts +2 -1
  969. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  970. package/dist/unstable/encoding/Msgpack.js +31 -19
  971. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  972. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  973. package/dist/unstable/encoding/Ndjson.js +7 -1
  974. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  975. package/dist/unstable/encoding/Sse.d.ts +72 -8
  976. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  977. package/dist/unstable/encoding/Sse.js +72 -31
  978. package/dist/unstable/encoding/Sse.js.map +1 -1
  979. package/dist/unstable/encoding/Toml.d.ts +19 -0
  980. package/dist/unstable/encoding/Toml.d.ts.map +1 -0
  981. package/dist/unstable/encoding/Toml.js +434 -0
  982. package/dist/unstable/encoding/Toml.js.map +1 -0
  983. package/dist/unstable/encoding/Yaml.d.ts +19 -0
  984. package/dist/unstable/encoding/Yaml.d.ts.map +1 -0
  985. package/dist/unstable/encoding/Yaml.js +461 -0
  986. package/dist/unstable/encoding/Yaml.js.map +1 -0
  987. package/dist/unstable/encoding/index.d.ts +12 -0
  988. package/dist/unstable/encoding/index.d.ts.map +1 -1
  989. package/dist/unstable/encoding/index.js +12 -0
  990. package/dist/unstable/encoding/index.js.map +1 -1
  991. package/dist/unstable/eventlog/Event.d.ts +20 -20
  992. package/dist/unstable/eventlog/Event.js.map +1 -1
  993. package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
  994. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  995. package/dist/unstable/eventlog/EventJournal.d.ts +17 -17
  996. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  997. package/dist/unstable/eventlog/EventJournal.js +27 -19
  998. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  999. package/dist/unstable/eventlog/EventLog.d.ts +3 -3
  1000. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  1001. package/dist/unstable/eventlog/EventLog.js +18 -14
  1002. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  1003. package/dist/unstable/eventlog/EventLogEncryption.d.ts +8 -7
  1004. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  1005. package/dist/unstable/eventlog/EventLogEncryption.js +16 -14
  1006. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  1007. package/dist/unstable/eventlog/EventLogMessage.d.ts +31 -31
  1008. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  1009. package/dist/unstable/eventlog/EventLogMessage.js +12 -8
  1010. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  1011. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
  1012. package/dist/unstable/eventlog/EventLogRemote.js +5 -5
  1013. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  1014. package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
  1015. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  1016. package/dist/unstable/eventlog/EventLogServer.js +45 -21
  1017. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  1018. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
  1019. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  1020. package/dist/unstable/eventlog/EventLogServerEncrypted.js +16 -7
  1021. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  1022. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
  1023. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  1024. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +15 -7
  1025. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  1026. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
  1027. package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
  1028. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  1029. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  1030. package/dist/unstable/eventlog/SqlEventJournal.js +3 -6
  1031. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  1032. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +1 -1
  1033. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  1034. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +3 -3
  1035. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  1036. package/dist/unstable/eventlog/index.js.map +1 -1
  1037. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  1038. package/dist/unstable/http/Cookies.d.ts +2 -2
  1039. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  1040. package/dist/unstable/http/Cookies.js +54 -40
  1041. package/dist/unstable/http/Cookies.js.map +1 -1
  1042. package/dist/unstable/http/Etag.d.ts +1 -1
  1043. package/dist/unstable/http/Etag.js +1 -1
  1044. package/dist/unstable/http/Etag.js.map +1 -1
  1045. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  1046. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  1047. package/dist/unstable/http/FindMyWay/internal/queryString.d.ts +11 -0
  1048. package/dist/unstable/http/FindMyWay/internal/queryString.d.ts.map +1 -0
  1049. package/dist/unstable/http/FindMyWay/internal/queryString.js +259 -0
  1050. package/dist/unstable/http/FindMyWay/internal/queryString.js.map +1 -0
  1051. package/dist/unstable/http/FindMyWay/internal/router.d.ts +2 -0
  1052. package/dist/unstable/http/FindMyWay/internal/router.d.ts.map +1 -0
  1053. package/dist/unstable/http/FindMyWay/internal/router.js +665 -0
  1054. package/dist/unstable/http/FindMyWay/internal/router.js.map +1 -0
  1055. package/dist/unstable/http/FindMyWay.d.ts +33 -8
  1056. package/dist/unstable/http/FindMyWay.d.ts.map +1 -1
  1057. package/dist/unstable/http/FindMyWay.js +4 -7
  1058. package/dist/unstable/http/FindMyWay.js.map +1 -1
  1059. package/dist/unstable/http/Headers.d.ts +2 -2
  1060. package/dist/unstable/http/Headers.js +10 -10
  1061. package/dist/unstable/http/Headers.js.map +1 -1
  1062. package/dist/unstable/http/HttpBody.d.ts +5 -3
  1063. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  1064. package/dist/unstable/http/HttpBody.js +11 -5
  1065. package/dist/unstable/http/HttpBody.js.map +1 -1
  1066. package/dist/unstable/http/HttpClient.d.ts +110 -47
  1067. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  1068. package/dist/unstable/http/HttpClient.js +79 -36
  1069. package/dist/unstable/http/HttpClient.js.map +1 -1
  1070. package/dist/unstable/http/HttpClientError.js +1 -1
  1071. package/dist/unstable/http/HttpClientError.js.map +1 -1
  1072. package/dist/unstable/http/HttpClientRequest.d.ts +44 -0
  1073. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  1074. package/dist/unstable/http/HttpClientRequest.js +16 -12
  1075. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  1076. package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
  1077. package/dist/unstable/http/HttpClientResponse.js +3 -18
  1078. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  1079. package/dist/unstable/http/HttpEffect.d.ts +7 -9
  1080. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  1081. package/dist/unstable/http/HttpEffect.js +7 -8
  1082. package/dist/unstable/http/HttpEffect.js.map +1 -1
  1083. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  1084. package/dist/unstable/http/HttpMethod.d.ts +6 -9
  1085. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  1086. package/dist/unstable/http/HttpMethod.js +6 -9
  1087. package/dist/unstable/http/HttpMethod.js.map +1 -1
  1088. package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
  1089. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  1090. package/dist/unstable/http/HttpMiddleware.js +164 -39
  1091. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  1092. package/dist/unstable/http/HttpPlatform.d.ts +76 -0
  1093. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  1094. package/dist/unstable/http/HttpPlatform.js +53 -3
  1095. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  1096. package/dist/unstable/http/HttpRouter.d.ts +91 -92
  1097. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  1098. package/dist/unstable/http/HttpRouter.js +78 -79
  1099. package/dist/unstable/http/HttpRouter.js.map +1 -1
  1100. package/dist/unstable/http/HttpServer.d.ts +13 -13
  1101. package/dist/unstable/http/HttpServer.js +6 -6
  1102. package/dist/unstable/http/HttpServer.js.map +1 -1
  1103. package/dist/unstable/http/HttpServerError.d.ts +2 -2
  1104. package/dist/unstable/http/HttpServerError.js +2 -2
  1105. package/dist/unstable/http/HttpServerError.js.map +1 -1
  1106. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  1107. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  1108. package/dist/unstable/http/HttpServerRequest.js +23 -15
  1109. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  1110. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  1111. package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
  1112. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  1113. package/dist/unstable/http/HttpServerResponse.js +17 -5
  1114. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  1115. package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
  1116. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  1117. package/dist/unstable/http/HttpStaticServer.js +35 -7
  1118. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  1119. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  1120. package/dist/unstable/http/Multipart.d.ts +28 -9
  1121. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  1122. package/dist/unstable/http/Multipart.js +65 -35
  1123. package/dist/unstable/http/Multipart.js.map +1 -1
  1124. package/dist/unstable/http/MultipartParser/HeadersParser.d.ts +53 -0
  1125. package/dist/unstable/http/MultipartParser/HeadersParser.d.ts.map +1 -0
  1126. package/dist/unstable/http/MultipartParser/HeadersParser.js +14 -0
  1127. package/dist/unstable/http/MultipartParser/HeadersParser.js.map +1 -0
  1128. package/dist/unstable/http/MultipartParser/Search.d.ts +11 -0
  1129. package/dist/unstable/http/MultipartParser/Search.d.ts.map +1 -0
  1130. package/dist/unstable/http/MultipartParser/Search.js +14 -0
  1131. package/dist/unstable/http/MultipartParser/Search.js.map +1 -0
  1132. package/dist/unstable/http/MultipartParser/internal/contentType.d.ts +5 -0
  1133. package/dist/unstable/http/MultipartParser/internal/contentType.d.ts.map +1 -0
  1134. package/dist/unstable/http/MultipartParser/internal/contentType.js +82 -0
  1135. package/dist/unstable/http/MultipartParser/internal/contentType.js.map +1 -0
  1136. package/dist/unstable/http/MultipartParser/internal/headers.d.ts +3 -0
  1137. package/dist/unstable/http/MultipartParser/internal/headers.d.ts.map +1 -0
  1138. package/dist/unstable/http/MultipartParser/internal/headers.js +208 -0
  1139. package/dist/unstable/http/MultipartParser/internal/headers.js.map +1 -0
  1140. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts +8 -0
  1141. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts.map +1 -0
  1142. package/dist/unstable/http/MultipartParser/internal/multipart.js +241 -0
  1143. package/dist/unstable/http/MultipartParser/internal/multipart.js.map +1 -0
  1144. package/dist/unstable/http/MultipartParser/internal/search.d.ts +5 -0
  1145. package/dist/unstable/http/MultipartParser/internal/search.d.ts.map +1 -0
  1146. package/dist/unstable/http/MultipartParser/internal/search.js +120 -0
  1147. package/dist/unstable/http/MultipartParser/internal/search.js.map +1 -0
  1148. package/dist/unstable/http/MultipartParser.d.ts +98 -0
  1149. package/dist/unstable/http/MultipartParser.d.ts.map +1 -0
  1150. package/dist/unstable/http/MultipartParser.js +23 -0
  1151. package/dist/unstable/http/MultipartParser.js.map +1 -0
  1152. package/dist/unstable/http/Template.d.ts.map +1 -1
  1153. package/dist/unstable/http/Template.js +3 -3
  1154. package/dist/unstable/http/Template.js.map +1 -1
  1155. package/dist/unstable/http/Url.d.ts +33 -63
  1156. package/dist/unstable/http/Url.d.ts.map +1 -1
  1157. package/dist/unstable/http/Url.js +14 -28
  1158. package/dist/unstable/http/Url.js.map +1 -1
  1159. package/dist/unstable/http/UrlParams.d.ts +10 -18
  1160. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  1161. package/dist/unstable/http/UrlParams.js +26 -31
  1162. package/dist/unstable/http/UrlParams.js.map +1 -1
  1163. package/dist/unstable/http/index.d.ts +1 -1
  1164. package/dist/unstable/http/index.d.ts.map +1 -1
  1165. package/dist/unstable/http/index.js +1 -1
  1166. package/dist/unstable/http/index.js.map +1 -1
  1167. package/dist/unstable/http/internal/compression.d.ts +2 -0
  1168. package/dist/unstable/http/internal/compression.d.ts.map +1 -0
  1169. package/dist/unstable/http/internal/compression.js +155 -0
  1170. package/dist/unstable/http/internal/compression.js.map +1 -0
  1171. package/dist/unstable/http/internal/httpBody.d.ts +2 -0
  1172. package/dist/unstable/http/internal/httpBody.d.ts.map +1 -0
  1173. package/dist/unstable/http/internal/httpBody.js +10 -0
  1174. package/dist/unstable/http/internal/httpBody.js.map +1 -0
  1175. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
  1176. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  1177. package/dist/unstable/httpapi/HttpApi.js +9 -9
  1178. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  1179. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
  1180. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  1181. package/dist/unstable/httpapi/HttpApiBuilder.js +82 -30
  1182. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  1183. package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
  1184. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  1185. package/dist/unstable/httpapi/HttpApiClient.js +89 -51
  1186. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  1187. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +48 -46
  1188. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  1189. package/dist/unstable/httpapi/HttpApiEndpoint.js +73 -16
  1190. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  1191. package/dist/unstable/httpapi/HttpApiError.d.ts +18 -18
  1192. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  1193. package/dist/unstable/httpapi/HttpApiError.js +30 -30
  1194. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  1195. package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
  1196. package/dist/unstable/httpapi/HttpApiGroup.js +2 -2
  1197. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  1198. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
  1199. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  1200. package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
  1201. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  1202. package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
  1203. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  1204. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  1205. package/dist/unstable/httpapi/HttpApiSchema.d.ts +225 -6
  1206. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  1207. package/dist/unstable/httpapi/HttpApiSchema.js +174 -4
  1208. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  1209. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  1210. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  1211. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  1212. package/dist/unstable/httpapi/OpenApi.d.ts +21 -13
  1213. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  1214. package/dist/unstable/httpapi/OpenApi.js +110 -57
  1215. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  1216. package/dist/unstable/httpapi/index.js.map +1 -1
  1217. package/dist/unstable/httpapi/internal/html.js.map +1 -1
  1218. package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
  1219. package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
  1220. package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
  1221. package/dist/unstable/observability/Otlp.js.map +1 -1
  1222. package/dist/unstable/observability/OtlpExporter.d.ts +71 -2
  1223. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  1224. package/dist/unstable/observability/OtlpExporter.js +86 -7
  1225. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  1226. package/dist/unstable/observability/OtlpLogger.d.ts +4 -3
  1227. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  1228. package/dist/unstable/observability/OtlpLogger.js +4 -4
  1229. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  1230. package/dist/unstable/observability/OtlpMetrics.d.ts +11 -4
  1231. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  1232. package/dist/unstable/observability/OtlpMetrics.js +31 -15
  1233. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  1234. package/dist/unstable/observability/OtlpResource.d.ts +16 -7
  1235. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  1236. package/dist/unstable/observability/OtlpResource.js +21 -12
  1237. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  1238. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  1239. package/dist/unstable/observability/OtlpTracer.d.ts +4 -3
  1240. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  1241. package/dist/unstable/observability/OtlpTracer.js +3 -3
  1242. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  1243. package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
  1244. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  1245. package/dist/unstable/observability/PrometheusMetrics.js +10 -3
  1246. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  1247. package/dist/unstable/observability/index.js.map +1 -1
  1248. package/dist/unstable/observability/internal/otlpEnv.js +1 -1
  1249. package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
  1250. package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
  1251. package/dist/unstable/observability/internal/protobuf.js +3 -0
  1252. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  1253. package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
  1254. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  1255. package/dist/unstable/persistence/KeyValueStore.js +22 -13
  1256. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1257. package/dist/unstable/persistence/Persistable.d.ts +8 -8
  1258. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  1259. package/dist/unstable/persistence/Persistable.js +2 -1
  1260. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1261. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1262. package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
  1263. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  1264. package/dist/unstable/persistence/PersistedQueue.js +15 -15
  1265. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1266. package/dist/unstable/persistence/Persistence.d.ts +3 -3
  1267. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1268. package/dist/unstable/persistence/Persistence.js +108 -22
  1269. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1270. package/dist/unstable/persistence/RateLimiter.d.ts +47 -26
  1271. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1272. package/dist/unstable/persistence/RateLimiter.js +31 -47
  1273. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1274. package/dist/unstable/persistence/Redis.d.ts +2 -2
  1275. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  1276. package/dist/unstable/persistence/Redis.js +4 -4
  1277. package/dist/unstable/persistence/Redis.js.map +1 -1
  1278. package/dist/unstable/persistence/index.js.map +1 -1
  1279. package/dist/unstable/process/ChildProcess.d.ts +72 -21
  1280. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1281. package/dist/unstable/process/ChildProcess.js +14 -5
  1282. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1283. package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
  1284. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1285. package/dist/unstable/process/ChildProcessSpawner.js +4 -2
  1286. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1287. package/dist/unstable/process/index.js.map +1 -1
  1288. package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
  1289. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1290. package/dist/unstable/reactivity/AsyncResult.js +14 -13
  1291. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1292. package/dist/unstable/reactivity/Atom.d.ts +131 -30
  1293. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1294. package/dist/unstable/reactivity/Atom.js +53 -34
  1295. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1296. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
  1297. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1298. package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
  1299. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1300. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1301. package/dist/unstable/reactivity/AtomRegistry.js +25 -4
  1302. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1303. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  1304. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1305. package/dist/unstable/reactivity/AtomRpc.js +4 -1
  1306. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1307. package/dist/unstable/reactivity/Hydration.d.ts +1 -1
  1308. package/dist/unstable/reactivity/Hydration.js +1 -1
  1309. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1310. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1311. package/dist/unstable/reactivity/index.js.map +1 -1
  1312. package/dist/unstable/rpc/Rpc.d.ts +35 -33
  1313. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1314. package/dist/unstable/rpc/Rpc.js +4 -2
  1315. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1316. package/dist/unstable/rpc/RpcClient.d.ts +26 -12
  1317. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1318. package/dist/unstable/rpc/RpcClient.js +40 -22
  1319. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1320. package/dist/unstable/rpc/RpcClientError.js +2 -2
  1321. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1322. package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
  1323. package/dist/unstable/rpc/RpcGroup.js +1 -1
  1324. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1325. package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
  1326. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1327. package/dist/unstable/rpc/RpcMessage.js +6 -6
  1328. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1329. package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
  1330. package/dist/unstable/rpc/RpcMiddleware.js +1 -1
  1331. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1332. package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
  1333. package/dist/unstable/rpc/RpcSchema.js +3 -3
  1334. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1335. package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
  1336. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1337. package/dist/unstable/rpc/RpcSerialization.js +177 -96
  1338. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1339. package/dist/unstable/rpc/RpcServer.d.ts +13 -13
  1340. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  1341. package/dist/unstable/rpc/RpcServer.js +20 -15
  1342. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1343. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1344. package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
  1345. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1346. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1347. package/dist/unstable/rpc/Utils.js.map +1 -1
  1348. package/dist/unstable/rpc/index.js.map +1 -1
  1349. package/dist/unstable/schema/Model.d.ts +53 -51
  1350. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1351. package/dist/unstable/schema/Model.js +35 -33
  1352. package/dist/unstable/schema/Model.js.map +1 -1
  1353. package/dist/unstable/schema/VariantSchema.d.ts +11 -12
  1354. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1355. package/dist/unstable/schema/VariantSchema.js +28 -17
  1356. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1357. package/dist/unstable/schema/index.js.map +1 -1
  1358. package/dist/unstable/socket/Socket.d.ts +12 -4
  1359. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1360. package/dist/unstable/socket/Socket.js +38 -17
  1361. package/dist/unstable/socket/Socket.js.map +1 -1
  1362. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1363. package/dist/unstable/socket/index.js.map +1 -1
  1364. package/dist/unstable/sql/Migrator.d.ts +9 -1
  1365. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  1366. package/dist/unstable/sql/Migrator.js +15 -2
  1367. package/dist/unstable/sql/Migrator.js.map +1 -1
  1368. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  1369. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1370. package/dist/unstable/sql/SqlClient.js +8 -4
  1371. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1372. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1373. package/dist/unstable/sql/SqlError.d.ts +2 -2
  1374. package/dist/unstable/sql/SqlError.js +15 -15
  1375. package/dist/unstable/sql/SqlError.js.map +1 -1
  1376. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  1377. package/dist/unstable/sql/SqlModel.js +2 -2
  1378. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1379. package/dist/unstable/sql/SqlResolver.d.ts +5 -5
  1380. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  1381. package/dist/unstable/sql/SqlResolver.js +30 -24
  1382. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1383. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1384. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1385. package/dist/unstable/sql/Statement.d.ts +6 -6
  1386. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1387. package/dist/unstable/sql/Statement.js +30 -27
  1388. package/dist/unstable/sql/Statement.js.map +1 -1
  1389. package/dist/unstable/sql/index.js.map +1 -1
  1390. package/dist/unstable/workers/Transferable.d.ts +1 -1
  1391. package/dist/unstable/workers/Transferable.js +1 -1
  1392. package/dist/unstable/workers/Transferable.js.map +1 -1
  1393. package/dist/unstable/workers/Worker.d.ts +2 -2
  1394. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  1395. package/dist/unstable/workers/Worker.js +13 -14
  1396. package/dist/unstable/workers/Worker.js.map +1 -1
  1397. package/dist/unstable/workers/WorkerError.d.ts +7 -7
  1398. package/dist/unstable/workers/WorkerError.js +11 -11
  1399. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1400. package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
  1401. package/dist/unstable/workers/WorkerRunner.js +1 -1
  1402. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1403. package/dist/unstable/workers/index.js.map +1 -1
  1404. package/dist/unstable/workflow/Activity.d.ts +2 -2
  1405. package/dist/unstable/workflow/Activity.js +2 -2
  1406. package/dist/unstable/workflow/Activity.js.map +1 -1
  1407. package/dist/unstable/workflow/DurableClock.d.ts +1 -1
  1408. package/dist/unstable/workflow/DurableClock.js +1 -1
  1409. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1410. package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
  1411. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  1412. package/dist/unstable/workflow/DurableDeferred.js +13 -8
  1413. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1414. package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
  1415. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1416. package/dist/unstable/workflow/DurableQueue.js +22 -20
  1417. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1418. package/dist/unstable/workflow/Workflow.d.ts +21 -21
  1419. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1420. package/dist/unstable/workflow/Workflow.js +13 -14
  1421. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1422. package/dist/unstable/workflow/WorkflowEngine.d.ts +26 -3
  1423. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  1424. package/dist/unstable/workflow/WorkflowEngine.js +72 -6
  1425. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1426. package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
  1427. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1428. package/dist/unstable/workflow/WorkflowProxy.js +4 -2
  1429. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1430. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1431. package/dist/unstable/workflow/index.js.map +1 -1
  1432. package/dist/unstable/workflow/internal/crypto.js.map +1 -1
  1433. package/package.json +10 -14
  1434. package/src/Array.ts +1068 -1070
  1435. package/src/BigDecimal.ts +433 -756
  1436. package/src/BigInt.ts +213 -269
  1437. package/src/Boolean.ts +146 -188
  1438. package/src/Brand.ts +4 -4
  1439. package/src/Cache.ts +469 -851
  1440. package/src/Cause.ts +167 -277
  1441. package/src/Channel.ts +982 -831
  1442. package/src/ChannelSchema.ts +1 -1
  1443. package/src/Chunk.ts +841 -1181
  1444. package/src/Clock.ts +181 -49
  1445. package/src/Combiner.ts +20 -33
  1446. package/src/Config.ts +642 -335
  1447. package/src/ConfigProvider.ts +267 -135
  1448. package/src/Console.ts +289 -39
  1449. package/src/Context.ts +323 -404
  1450. package/src/Cron.ts +271 -219
  1451. package/src/Crypto.ts +30 -23
  1452. package/src/Data.ts +63 -82
  1453. package/src/DateTime.ts +564 -660
  1454. package/src/Deferred.ts +259 -258
  1455. package/src/Duration.ts +244 -311
  1456. package/src/Effect.ts +3215 -3394
  1457. package/src/Encoding.ts +22 -40
  1458. package/src/Equal.ts +59 -41
  1459. package/src/Equivalence.ts +103 -105
  1460. package/src/ErrorReporter.ts +51 -27
  1461. package/src/ExecutionPlan.ts +91 -56
  1462. package/src/Exit.ts +116 -192
  1463. package/src/Fiber.ts +82 -149
  1464. package/src/FiberHandle.ts +155 -107
  1465. package/src/FiberMap.ts +225 -174
  1466. package/src/FiberSet.ts +125 -83
  1467. package/src/FileSystem.ts +156 -264
  1468. package/src/Filter.ts +61 -33
  1469. package/src/Formatter.ts +69 -76
  1470. package/src/Function.ts +119 -151
  1471. package/src/Graph.ts +416 -770
  1472. package/src/HKT.ts +12 -6
  1473. package/src/Hash.ts +52 -83
  1474. package/src/HashMap.ts +319 -411
  1475. package/src/HashRing.ts +1 -0
  1476. package/src/HashSet.ts +177 -284
  1477. package/src/Inspectable.ts +22 -20
  1478. package/src/Iterable.ts +633 -797
  1479. package/src/JsonPatch.ts +60 -113
  1480. package/src/JsonPointer.ts +8 -8
  1481. package/src/JsonSchema.ts +408 -251
  1482. package/src/Latch.ts +23 -35
  1483. package/src/Layer.ts +366 -265
  1484. package/src/LayerMap.ts +49 -29
  1485. package/src/LayerRef.ts +6 -2
  1486. package/src/LogLevel.ts +114 -214
  1487. package/src/Logger.ts +348 -700
  1488. package/src/ManagedRuntime.ts +20 -5
  1489. package/src/Match.ts +217 -252
  1490. package/src/Metric.ts +520 -1092
  1491. package/src/MutableHashMap.ts +218 -255
  1492. package/src/MutableHashSet.ts +84 -89
  1493. package/src/MutableList.ts +77 -370
  1494. package/src/MutableRef.ts +420 -243
  1495. package/src/Newtype.ts +21 -14
  1496. package/src/NonEmptyIterable.ts +7 -137
  1497. package/src/Number.ts +196 -233
  1498. package/src/Optic.ts +303 -441
  1499. package/src/Option.ts +449 -813
  1500. package/src/Order.ts +109 -109
  1501. package/src/Ordering.ts +20 -23
  1502. package/src/PartitionedSemaphore.ts +1 -4
  1503. package/src/Path.ts +38 -41
  1504. package/src/Pipeable.ts +6 -5
  1505. package/src/PlatformError.ts +4 -4
  1506. package/src/Pool.ts +4 -2
  1507. package/src/Predicate.ts +200 -181
  1508. package/src/PrimaryKey.ts +7 -7
  1509. package/src/PubSub.ts +526 -552
  1510. package/src/Pull.ts +24 -18
  1511. package/src/Queue.ts +204 -165
  1512. package/src/Random.ts +49 -74
  1513. package/src/RcMap.ts +121 -63
  1514. package/src/RcRef.ts +24 -13
  1515. package/src/Record.ts +387 -487
  1516. package/src/Redactable.ts +10 -3
  1517. package/src/Redacted.ts +25 -25
  1518. package/src/Reducer.ts +8 -15
  1519. package/src/Ref.ts +221 -361
  1520. package/src/References.ts +102 -214
  1521. package/src/RegExp.ts +10 -14
  1522. package/src/Request.ts +36 -28
  1523. package/src/RequestResolver.ts +202 -91
  1524. package/src/Result.ts +314 -485
  1525. package/src/Runtime.ts +50 -75
  1526. package/src/Schedule.ts +311 -1737
  1527. package/src/Scheduler.ts +20 -7
  1528. package/src/Schema.ts +3475 -1913
  1529. package/src/SchemaAST.ts +902 -573
  1530. package/src/SchemaGetter.ts +351 -233
  1531. package/src/SchemaIssue.ts +367 -334
  1532. package/src/SchemaParser.ts +254 -148
  1533. package/src/SchemaRepresentation.ts +732 -3414
  1534. package/src/SchemaTransformation.ts +186 -97
  1535. package/src/Scope.ts +123 -151
  1536. package/src/ScopedCache.ts +1 -1
  1537. package/src/ScopedRef.ts +6 -4
  1538. package/src/Semaphore.ts +157 -54
  1539. package/src/Sink.ts +129 -114
  1540. package/src/Stdio.ts +24 -5
  1541. package/src/Stream.ts +2745 -3173
  1542. package/src/String.ts +275 -312
  1543. package/src/Struct.ts +114 -118
  1544. package/src/SubscriptionRef.ts +284 -252
  1545. package/src/Symbol.ts +3 -3
  1546. package/src/SynchronizedRef.ts +1 -1
  1547. package/src/Terminal.ts +3 -3
  1548. package/src/Tracer.ts +102 -55
  1549. package/src/Trie.ts +287 -679
  1550. package/src/Tuple.ts +99 -131
  1551. package/src/TxChunk.ts +201 -121
  1552. package/src/TxDeferred.ts +62 -46
  1553. package/src/TxHashMap.ts +645 -799
  1554. package/src/TxHashSet.ts +443 -356
  1555. package/src/TxPriorityQueue.ts +130 -98
  1556. package/src/TxPubSub.ts +107 -80
  1557. package/src/TxQueue.ts +215 -184
  1558. package/src/TxReentrantLock.ts +136 -101
  1559. package/src/TxRef.ts +51 -32
  1560. package/src/TxSemaphore.ts +129 -95
  1561. package/src/TxSubscriptionRef.ts +97 -70
  1562. package/src/Types.ts +127 -70
  1563. package/src/Unify.ts +45 -65
  1564. package/src/Utils.ts +23 -16
  1565. package/src/index.ts +0 -10
  1566. package/src/internal/core.ts +6 -5
  1567. package/src/internal/dateTime.ts +7 -1
  1568. package/src/internal/effect.ts +304 -134
  1569. package/src/internal/executionPlan.ts +106 -10
  1570. package/src/internal/hashMap.ts +20 -14
  1571. package/src/internal/matcher.ts +3 -3
  1572. package/src/internal/persistence.ts +2 -0
  1573. package/src/internal/rcRef.ts +24 -16
  1574. package/src/internal/record.ts +11 -7
  1575. package/src/internal/references.ts +3 -7
  1576. package/src/internal/schedule.ts +4 -4
  1577. package/src/internal/schema/annotations.ts +48 -1
  1578. package/src/internal/schema/fromJsonSchemaDocument.ts +977 -0
  1579. package/src/internal/schema/fromRepresentation.ts +339 -0
  1580. package/src/internal/schema/parser.ts +22 -0
  1581. package/src/internal/schema/schema.ts +46 -63
  1582. package/src/internal/schema/{arbitrary.ts → toArbitrary.ts} +9 -81
  1583. package/src/internal/schema/toCodeDocument.ts +572 -0
  1584. package/src/internal/schema/{equivalence.ts → toEquivalence.ts} +12 -7
  1585. package/src/internal/schema/toJsonSchemaDocument.ts +549 -0
  1586. package/src/internal/schema/toRepresentation.ts +404 -0
  1587. package/src/internal/stackTraceLimit.ts +3 -7
  1588. package/src/internal/trie.ts +21 -12
  1589. package/src/testing/FastCheck.ts +8 -7
  1590. package/src/testing/TestClock.ts +86 -32
  1591. package/src/testing/TestConsole.ts +32 -31
  1592. package/src/testing/TestSchema.ts +40 -40
  1593. package/src/unstable/ai/AiError.ts +119 -141
  1594. package/src/unstable/ai/AnthropicStructuredOutput.ts +103 -334
  1595. package/src/unstable/ai/Chat.ts +133 -98
  1596. package/src/unstable/ai/EmbeddingModel.ts +1 -1
  1597. package/src/unstable/ai/IdGenerator.ts +32 -28
  1598. package/src/unstable/ai/LanguageModel.ts +141 -97
  1599. package/src/unstable/ai/McpProtocol.ts +48 -0
  1600. package/src/unstable/ai/McpSchema.ts +92 -81
  1601. package/src/unstable/ai/McpServer.ts +1057 -303
  1602. package/src/unstable/ai/Model.ts +9 -20
  1603. package/src/unstable/ai/OpenAiStructuredOutput.ts +231 -396
  1604. package/src/unstable/ai/Prompt.ts +212 -63
  1605. package/src/unstable/ai/Response.ts +52 -38
  1606. package/src/unstable/ai/Telemetry.ts +46 -13
  1607. package/src/unstable/ai/Tokenizer.ts +14 -3
  1608. package/src/unstable/ai/Tool.ts +81 -48
  1609. package/src/unstable/ai/Toolkit.ts +45 -15
  1610. package/src/unstable/ai/index.ts +5 -0
  1611. package/src/unstable/ai/internal/codec-transformer.ts +13 -7
  1612. package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
  1613. package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
  1614. package/src/unstable/ai/internal/structured-output.ts +453 -0
  1615. package/src/unstable/cli/Argument.ts +279 -72
  1616. package/src/unstable/cli/CliError.ts +159 -91
  1617. package/src/unstable/cli/CliOutput.ts +44 -58
  1618. package/src/unstable/cli/Command.ts +764 -124
  1619. package/src/unstable/cli/Flag.ts +418 -138
  1620. package/src/unstable/cli/GlobalFlag.ts +1 -1
  1621. package/src/unstable/cli/HelpDoc.ts +12 -4
  1622. package/src/unstable/cli/Param.ts +336 -100
  1623. package/src/unstable/cli/Primitive.ts +383 -156
  1624. package/src/unstable/cli/Prompt.ts +64 -34
  1625. package/src/unstable/cli/internal/ansi.ts +2 -2
  1626. package/src/unstable/cli/internal/command.ts +28 -15
  1627. package/src/unstable/cli/internal/completions/bash.ts +59 -9
  1628. package/src/unstable/cli/internal/completions/descriptor.ts +14 -20
  1629. package/src/unstable/cli/internal/completions/fish.ts +5 -7
  1630. package/src/unstable/cli/internal/config.ts +8 -10
  1631. package/src/unstable/cli/internal/help.ts +4 -2
  1632. package/src/unstable/cli/internal/lexer.ts +8 -2
  1633. package/src/unstable/cli/internal/parser.ts +5 -5
  1634. package/src/unstable/cli/internal/wizard.ts +2 -2
  1635. package/src/unstable/cluster/ClusterError.ts +7 -7
  1636. package/src/unstable/cluster/ClusterSchema.ts +8 -8
  1637. package/src/unstable/cluster/ClusterWorkflowEngine.ts +36 -20
  1638. package/src/unstable/cluster/Entity.ts +23 -19
  1639. package/src/unstable/cluster/EntityProxy.ts +16 -7
  1640. package/src/unstable/cluster/EntityResource.ts +2 -2
  1641. package/src/unstable/cluster/Envelope.ts +5 -4
  1642. package/src/unstable/cluster/HttpRunner.ts +6 -4
  1643. package/src/unstable/cluster/Message.ts +9 -9
  1644. package/src/unstable/cluster/MessageStorage.ts +24 -20
  1645. package/src/unstable/cluster/Reply.ts +26 -7
  1646. package/src/unstable/cluster/Runner.ts +1 -1
  1647. package/src/unstable/cluster/RunnerAddress.ts +1 -1
  1648. package/src/unstable/cluster/RunnerHealth.ts +1 -1
  1649. package/src/unstable/cluster/RunnerServer.ts +45 -18
  1650. package/src/unstable/cluster/RunnerStorage.ts +11 -9
  1651. package/src/unstable/cluster/Runners.ts +48 -26
  1652. package/src/unstable/cluster/ShardId.ts +1 -1
  1653. package/src/unstable/cluster/Sharding.ts +223 -55
  1654. package/src/unstable/cluster/ShardingConfig.ts +8 -4
  1655. package/src/unstable/cluster/SingleRunner.ts +4 -2
  1656. package/src/unstable/cluster/SingletonAddress.ts +1 -1
  1657. package/src/unstable/cluster/Snowflake.ts +8 -8
  1658. package/src/unstable/cluster/SqlMessageStorage.ts +84 -36
  1659. package/src/unstable/cluster/SqlRunnerStorage.ts +223 -133
  1660. package/src/unstable/cluster/internal/entityManager.ts +43 -26
  1661. package/src/unstable/cluster/internal/resourceMap.ts +5 -2
  1662. package/src/unstable/cluster/internal/resourceRef.ts +27 -5
  1663. package/src/unstable/cluster/internal/shardLock.ts +9 -0
  1664. package/src/unstable/devtools/DevToolsClient.ts +3 -2
  1665. package/src/unstable/devtools/DevToolsSchema.ts +10 -5
  1666. package/src/unstable/encoding/Ini.ts +174 -0
  1667. package/src/unstable/encoding/Msgpack.ts +61 -40
  1668. package/src/unstable/encoding/Ndjson.ts +9 -1
  1669. package/src/unstable/encoding/Sse.ts +109 -37
  1670. package/src/unstable/encoding/Toml.ts +504 -0
  1671. package/src/unstable/encoding/Yaml.ts +541 -0
  1672. package/src/unstable/encoding/index.ts +15 -0
  1673. package/src/unstable/eventlog/Event.ts +20 -20
  1674. package/src/unstable/eventlog/EventGroup.ts +4 -4
  1675. package/src/unstable/eventlog/EventJournal.ts +30 -22
  1676. package/src/unstable/eventlog/EventLog.ts +24 -14
  1677. package/src/unstable/eventlog/EventLogEncryption.ts +17 -18
  1678. package/src/unstable/eventlog/EventLogMessage.ts +15 -9
  1679. package/src/unstable/eventlog/EventLogRemote.ts +5 -5
  1680. package/src/unstable/eventlog/EventLogServer.ts +41 -7
  1681. package/src/unstable/eventlog/EventLogServerEncrypted.ts +15 -7
  1682. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +15 -7
  1683. package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
  1684. package/src/unstable/eventlog/SqlEventJournal.ts +8 -6
  1685. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +1 -1
  1686. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +6 -3
  1687. package/src/unstable/http/Cookies.ts +64 -45
  1688. package/src/unstable/http/Etag.ts +1 -1
  1689. package/src/unstable/http/FetchHttpClient.ts +3 -1
  1690. package/src/unstable/http/FindMyWay/internal/queryString.ts +420 -0
  1691. package/src/unstable/http/FindMyWay/internal/router.ts +950 -0
  1692. package/src/unstable/http/FindMyWay.ts +65 -6
  1693. package/src/unstable/http/Headers.ts +10 -10
  1694. package/src/unstable/http/HttpBody.ts +20 -5
  1695. package/src/unstable/http/HttpClient.ts +215 -78
  1696. package/src/unstable/http/HttpClientError.ts +1 -1
  1697. package/src/unstable/http/HttpClientRequest.ts +59 -12
  1698. package/src/unstable/http/HttpClientResponse.ts +5 -21
  1699. package/src/unstable/http/HttpEffect.ts +20 -19
  1700. package/src/unstable/http/HttpMethod.ts +6 -9
  1701. package/src/unstable/http/HttpMiddleware.ts +202 -39
  1702. package/src/unstable/http/HttpPlatform.ts +129 -6
  1703. package/src/unstable/http/HttpRouter.ts +109 -101
  1704. package/src/unstable/http/HttpServer.ts +13 -13
  1705. package/src/unstable/http/HttpServerError.ts +2 -2
  1706. package/src/unstable/http/HttpServerRequest.ts +31 -17
  1707. package/src/unstable/http/HttpServerResponse.ts +38 -6
  1708. package/src/unstable/http/HttpStaticServer.ts +35 -7
  1709. package/src/unstable/http/Multipart.ts +67 -36
  1710. package/src/unstable/http/MultipartParser/HeadersParser.ts +68 -0
  1711. package/src/unstable/http/MultipartParser/Search.ts +17 -0
  1712. package/src/unstable/http/MultipartParser/internal/contentType.ts +103 -0
  1713. package/src/unstable/http/MultipartParser/internal/headers.ts +244 -0
  1714. package/src/unstable/http/MultipartParser/internal/multipart.ts +279 -0
  1715. package/src/unstable/http/MultipartParser/internal/search.ts +167 -0
  1716. package/src/unstable/http/MultipartParser.ts +115 -0
  1717. package/src/unstable/http/Template.ts +7 -6
  1718. package/src/unstable/http/Url.ts +33 -63
  1719. package/src/unstable/http/UrlParams.ts +27 -32
  1720. package/src/unstable/http/index.ts +1 -1
  1721. package/src/unstable/http/internal/compression.ts +196 -0
  1722. package/src/unstable/http/internal/httpBody.ts +15 -0
  1723. package/src/unstable/httpapi/HttpApi.ts +10 -11
  1724. package/src/unstable/httpapi/HttpApiBuilder.ts +154 -33
  1725. package/src/unstable/httpapi/HttpApiClient.ts +142 -61
  1726. package/src/unstable/httpapi/HttpApiEndpoint.ts +159 -71
  1727. package/src/unstable/httpapi/HttpApiError.ts +46 -52
  1728. package/src/unstable/httpapi/HttpApiGroup.ts +17 -17
  1729. package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
  1730. package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
  1731. package/src/unstable/httpapi/HttpApiSchema.ts +359 -6
  1732. package/src/unstable/httpapi/OpenApi.ts +153 -62
  1733. package/src/unstable/observability/OtlpExporter.ts +130 -12
  1734. package/src/unstable/observability/OtlpLogger.ts +8 -6
  1735. package/src/unstable/observability/OtlpMetrics.ts +42 -21
  1736. package/src/unstable/observability/OtlpResource.ts +26 -17
  1737. package/src/unstable/observability/OtlpTracer.ts +9 -5
  1738. package/src/unstable/observability/PrometheusMetrics.ts +13 -4
  1739. package/src/unstable/observability/internal/otlpEnv.ts +1 -1
  1740. package/src/unstable/observability/internal/protobuf.ts +3 -0
  1741. package/src/unstable/persistence/KeyValueStore.ts +72 -49
  1742. package/src/unstable/persistence/Persistable.ts +11 -10
  1743. package/src/unstable/persistence/PersistedQueue.ts +18 -15
  1744. package/src/unstable/persistence/Persistence.ts +153 -26
  1745. package/src/unstable/persistence/RateLimiter.ts +79 -45
  1746. package/src/unstable/persistence/Redis.ts +5 -5
  1747. package/src/unstable/process/ChildProcess.ts +72 -21
  1748. package/src/unstable/process/ChildProcessSpawner.ts +22 -11
  1749. package/src/unstable/reactivity/AsyncResult.ts +23 -18
  1750. package/src/unstable/reactivity/Atom.ts +161 -47
  1751. package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
  1752. package/src/unstable/reactivity/AtomRegistry.ts +25 -4
  1753. package/src/unstable/reactivity/AtomRpc.ts +5 -4
  1754. package/src/unstable/reactivity/Hydration.ts +1 -1
  1755. package/src/unstable/rpc/Rpc.ts +35 -33
  1756. package/src/unstable/rpc/RpcClient.ts +65 -29
  1757. package/src/unstable/rpc/RpcClientError.ts +2 -2
  1758. package/src/unstable/rpc/RpcGroup.ts +8 -8
  1759. package/src/unstable/rpc/RpcMessage.ts +31 -30
  1760. package/src/unstable/rpc/RpcMiddleware.ts +10 -10
  1761. package/src/unstable/rpc/RpcSchema.ts +4 -4
  1762. package/src/unstable/rpc/RpcSerialization.ts +167 -68
  1763. package/src/unstable/rpc/RpcServer.ts +22 -17
  1764. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1765. package/src/unstable/schema/Model.ts +52 -50
  1766. package/src/unstable/schema/VariantSchema.ts +51 -43
  1767. package/src/unstable/socket/Socket.ts +42 -19
  1768. package/src/unstable/sql/Migrator.ts +22 -9
  1769. package/src/unstable/sql/SqlClient.ts +64 -56
  1770. package/src/unstable/sql/SqlError.ts +15 -15
  1771. package/src/unstable/sql/SqlModel.ts +2 -2
  1772. package/src/unstable/sql/SqlResolver.ts +41 -31
  1773. package/src/unstable/sql/Statement.ts +44 -37
  1774. package/src/unstable/workers/Transferable.ts +1 -1
  1775. package/src/unstable/workers/Worker.ts +15 -16
  1776. package/src/unstable/workers/WorkerError.ts +12 -12
  1777. package/src/unstable/workers/WorkerRunner.ts +1 -1
  1778. package/src/unstable/workflow/Activity.ts +2 -2
  1779. package/src/unstable/workflow/DurableClock.ts +1 -1
  1780. package/src/unstable/workflow/DurableDeferred.ts +18 -13
  1781. package/src/unstable/workflow/DurableQueue.ts +22 -20
  1782. package/src/unstable/workflow/Workflow.ts +23 -26
  1783. package/src/unstable/workflow/WorkflowEngine.ts +111 -8
  1784. package/src/unstable/workflow/WorkflowProxy.ts +4 -2
  1785. package/dist/SchemaError.d.ts +0 -53
  1786. package/dist/SchemaError.d.ts.map +0 -1
  1787. package/dist/SchemaError.js +0 -61
  1788. package/dist/SchemaError.js.map +0 -1
  1789. package/dist/SchemaUtils.d.ts +0 -28
  1790. package/dist/SchemaUtils.d.ts.map +0 -1
  1791. package/dist/SchemaUtils.js +0 -45
  1792. package/dist/SchemaUtils.js.map +0 -1
  1793. package/dist/internal/schema/arbitrary.d.ts +0 -5
  1794. package/dist/internal/schema/arbitrary.d.ts.map +0 -1
  1795. package/dist/internal/schema/arbitrary.js.map +0 -1
  1796. package/dist/internal/schema/equivalence.d.ts +0 -2
  1797. package/dist/internal/schema/equivalence.d.ts.map +0 -1
  1798. package/dist/internal/schema/equivalence.js.map +0 -1
  1799. package/dist/internal/schema/representation.d.ts +0 -2
  1800. package/dist/internal/schema/representation.d.ts.map +0 -1
  1801. package/dist/internal/schema/representation.js +0 -865
  1802. package/dist/internal/schema/representation.js.map +0 -1
  1803. package/dist/internal/version.d.ts +0 -3
  1804. package/dist/internal/version.d.ts.map +0 -1
  1805. package/dist/internal/version.js +0 -2
  1806. package/dist/internal/version.js.map +0 -1
  1807. package/dist/unstable/http/Multipasta/HeadersParser.d.ts +0 -14
  1808. package/dist/unstable/http/Multipasta/HeadersParser.d.ts.map +0 -1
  1809. package/dist/unstable/http/Multipasta/HeadersParser.js +0 -14
  1810. package/dist/unstable/http/Multipasta/HeadersParser.js.map +0 -1
  1811. package/dist/unstable/http/Multipasta/Node.d.ts +0 -14
  1812. package/dist/unstable/http/Multipasta/Node.d.ts.map +0 -1
  1813. package/dist/unstable/http/Multipasta/Node.js +0 -14
  1814. package/dist/unstable/http/Multipasta/Node.js.map +0 -1
  1815. package/dist/unstable/http/Multipasta/Search.d.ts +0 -14
  1816. package/dist/unstable/http/Multipasta/Search.d.ts.map +0 -1
  1817. package/dist/unstable/http/Multipasta/Search.js +0 -14
  1818. package/dist/unstable/http/Multipasta/Search.js.map +0 -1
  1819. package/dist/unstable/http/Multipasta/Web.d.ts +0 -14
  1820. package/dist/unstable/http/Multipasta/Web.d.ts.map +0 -1
  1821. package/dist/unstable/http/Multipasta/Web.js +0 -14
  1822. package/dist/unstable/http/Multipasta/Web.js.map +0 -1
  1823. package/dist/unstable/http/Multipasta.d.ts +0 -15
  1824. package/dist/unstable/http/Multipasta.d.ts.map +0 -1
  1825. package/dist/unstable/http/Multipasta.js +0 -15
  1826. package/dist/unstable/http/Multipasta.js.map +0 -1
  1827. package/src/SchemaError.ts +0 -64
  1828. package/src/SchemaUtils.ts +0 -51
  1829. package/src/internal/schema/representation.ts +0 -795
  1830. package/src/internal/version.ts +0 -2
  1831. package/src/unstable/http/Multipasta/HeadersParser.ts +0 -14
  1832. package/src/unstable/http/Multipasta/Node.ts +0 -14
  1833. package/src/unstable/http/Multipasta/Search.ts +0 -14
  1834. package/src/unstable/http/Multipasta/Web.ts +0 -14
  1835. package/src/unstable/http/Multipasta.ts +0 -15
package/src/Config.ts CHANGED
@@ -11,11 +11,13 @@ import type { Path, SourceError } from "./ConfigProvider.ts"
11
11
  import * as ConfigProvider from "./ConfigProvider.ts"
12
12
  import * as Effect from "./Effect.ts"
13
13
  import * as Effectable from "./Effectable.ts"
14
- import { dual } from "./Function.ts"
14
+ import { dual, memoize } from "./Function.ts"
15
+ import * as InternalRecord from "./internal/record.ts"
15
16
  import * as LogLevel_ from "./LogLevel.ts"
16
17
  import * as Option from "./Option.ts"
17
18
  import * as Predicate from "./Predicate.ts"
18
19
  import * as Rec from "./Record.ts"
20
+ import * as Result from "./Result.ts"
19
21
  import * as Schema from "./Schema.ts"
20
22
  import * as SchemaAST from "./SchemaAST.ts"
21
23
  import * as SchemaGetter from "./SchemaGetter.ts"
@@ -35,11 +37,11 @@ const TypeId = "~effect/Config"
35
37
  *
36
38
  * **Example** (Checking Config values)
37
39
  *
38
- * ```ts
40
+ * ```ts import.meta.vitest
39
41
  * import { Config } from "effect"
40
42
  *
41
- * console.log(Config.isConfig(Config.string("HOST"))) // true
42
- * console.log(Config.isConfig("not a config")) // false
43
+ * Config.isConfig(Config.string("HOST")) // => true
44
+ * Config.isConfig("not a config") // => false
43
45
  * ```
44
46
  *
45
47
  * @category guards
@@ -62,7 +64,7 @@ export const isConfig = (u: unknown): u is Config<unknown> => Predicate.hasPrope
62
64
  * (wrong type, out of range, missing key, etc.).
63
65
  *
64
66
  * @see {@link orElse} – recover from a ConfigError
65
- * @see {@link withDefault} – provide a fallback for missing-data errors
67
+ * @see {@link withDefault} – provide a fallback when relevant input is absent
66
68
  *
67
69
  * @category errors
68
70
  * @since 4.0.0
@@ -93,9 +95,7 @@ export class ConfigError {
93
95
  * **Details**
94
96
  *
95
97
  * Key members:
96
- * - `parse(provider, pathPrefix?)` – runs the config against a specific provider.
97
- * The optional path prefix is the logical scope accumulated from outer
98
- * `Config.nested` calls.
98
+ * - `parse(provider)` – runs the config against a specific provider.
99
99
  * - Yieldable – can be yielded inside `Effect.gen`, which automatically
100
100
  * resolves the current `ConfigProvider` from the context.
101
101
  * - Pipeable – supports `.pipe(Config.map(...))` etc.
@@ -107,10 +107,39 @@ export class ConfigError {
107
107
  */
108
108
  export interface Config<out T> extends Effect.Effect<T, ConfigError> {
109
109
  readonly [TypeId]: typeof TypeId
110
- readonly parse: (
111
- provider: ConfigProvider.ConfigProvider,
112
- pathPrefix?: Path
113
- ) => Effect.Effect<T, ConfigError>
110
+ readonly parse: (provider: ConfigProvider.ConfigProvider) => Effect.Effect<T, ConfigError>
111
+ }
112
+
113
+ // Config composition needs to distinguish an absent recipe from a hard failure
114
+ // before the public Effect error channel is finalized. `hasInput` records
115
+ // provider evidence separately from the value, because successful values such
116
+ // as `undefined` and values supplied by defaults are not evidence of input.
117
+ // Hard failures carry the same evidence so recovery cannot erase it.
118
+ interface Resolved<out T> {
119
+ readonly _tag: "Resolved"
120
+ readonly value: T
121
+ readonly hasInput: boolean
122
+ }
123
+
124
+ interface Absent {
125
+ readonly _tag: "Absent"
126
+ readonly error: ConfigError
127
+ }
128
+
129
+ type Resolution<T> = Resolved<T> | Absent
130
+
131
+ interface EvaluationFailure {
132
+ readonly error: ConfigError
133
+ readonly hasInput: boolean
134
+ }
135
+
136
+ type Evaluator<T> = (
137
+ provider: ConfigProvider.ConfigProvider,
138
+ pathPrefix: Path
139
+ ) => Effect.Effect<Resolution<T>, EvaluationFailure>
140
+
141
+ interface ConfigImpl<out T> extends Config<T> {
142
+ readonly evaluator: Evaluator<T>
114
143
  }
115
144
 
116
145
  const Proto = {
@@ -129,13 +158,71 @@ const Proto = {
129
158
  }
130
159
 
131
160
  function make<T>(
132
- parse: (provider: ConfigProvider.ConfigProvider, pathPrefix: Path) => Effect.Effect<T, ConfigError>
161
+ evaluator: Evaluator<T>
133
162
  ): Config<T> {
134
163
  const self = Object.create(Proto)
135
- self.parse = (provider: ConfigProvider.ConfigProvider, pathPrefix: Path = []) => parse(provider, pathPrefix)
164
+ self.evaluator = evaluator
165
+ self.parse = (provider: ConfigProvider.ConfigProvider) =>
166
+ evaluator(provider, []).pipe(
167
+ Effect.mapErrorEager((failure) => failure.error),
168
+ Effect.flatMapEager((resolution) =>
169
+ resolution._tag === "Resolved" ? Effect.succeed(resolution.value) : Effect.fail(resolution.error)
170
+ )
171
+ )
136
172
  return self
137
173
  }
138
174
 
175
+ const evaluateAt = <T>(
176
+ self: Config<T>,
177
+ provider: ConfigProvider.ConfigProvider,
178
+ pathPrefix: Path
179
+ ): Effect.Effect<Resolution<T>, EvaluationFailure> => (self as ConfigImpl<T>).evaluator(provider, pathPrefix)
180
+
181
+ const resolved = <T>(value: T, hasInput: boolean): Resolution<T> => ({
182
+ _tag: "Resolved",
183
+ value,
184
+ hasInput
185
+ })
186
+
187
+ const absent = (error: ConfigError): Absent => ({
188
+ _tag: "Absent",
189
+ error
190
+ })
191
+
192
+ const evaluationFailure = (error: ConfigError, hasInput: boolean): EvaluationFailure => ({
193
+ error,
194
+ hasInput
195
+ })
196
+
197
+ const isSourceError = (u: unknown): u is ConfigProvider.SourceError => Predicate.isTagged(u, "SourceError")
198
+
199
+ const catchSourceError = <A, E, R>(
200
+ self: Effect.Effect<A, E, R>,
201
+ hasInput: boolean
202
+ ): Effect.Effect<A, E | EvaluationFailure, R> =>
203
+ self.pipe(
204
+ Effect.catchDefect((defect) =>
205
+ isSourceError(defect)
206
+ ? Effect.fail(evaluationFailure(new ConfigError(defect), hasInput))
207
+ : Effect.die(defect)
208
+ )
209
+ )
210
+
211
+ const preserveInputEvidence = <T>(
212
+ self: Effect.Effect<Resolution<T>, EvaluationFailure>,
213
+ hasInput: boolean
214
+ ): Effect.Effect<Resolution<T>, EvaluationFailure> => {
215
+ if (!hasInput) return self
216
+ return self.pipe(
217
+ Effect.mapErrorEager((failure) => evaluationFailure(failure.error, true)),
218
+ Effect.flatMapEager((resolution) =>
219
+ resolution._tag === "Resolved"
220
+ ? Effect.succeed(resolved(resolution.value, true))
221
+ : Effect.fail(evaluationFailure(resolution.error, true))
222
+ )
223
+ )
224
+ }
225
+
139
226
  /**
140
227
  * Transforms the parsed value of a config with a pure function.
141
228
  *
@@ -146,7 +233,7 @@ function make<T>(
146
233
  *
147
234
  * **Example** (Uppercasing a string config)
148
235
  *
149
- * ```ts
236
+ * ```ts import.meta.vitest
150
237
  * import { Config, ConfigProvider, Effect } from "effect"
151
238
  *
152
239
  * const upper = Config.string("name").pipe(
@@ -154,7 +241,7 @@ function make<T>(
154
241
  * )
155
242
  *
156
243
  * const provider = ConfigProvider.fromUnknown({ name: "alice" })
157
- * // Effect.runSync(upper.parse(provider)) // "ALICE"
244
+ * Effect.runSync(upper.parse(provider)) // => "ALICE"
158
245
  * ```
159
246
  *
160
247
  * @see {@link mapOrFail} – when the transformation can fail
@@ -173,7 +260,7 @@ export const map: {
173
260
  *
174
261
  * **Example** (Uppercasing a string config)
175
262
  *
176
- * ```ts
263
+ * ```ts import.meta.vitest
177
264
  * import { Config, ConfigProvider, Effect } from "effect"
178
265
  *
179
266
  * const upper = Config.string("name").pipe(
@@ -181,7 +268,7 @@ export const map: {
181
268
  * )
182
269
  *
183
270
  * const provider = ConfigProvider.fromUnknown({ name: "alice" })
184
- * // Effect.runSync(upper.parse(provider)) // "ALICE"
271
+ * Effect.runSync(upper.parse(provider)) // => "ALICE"
185
272
  * ```
186
273
  *
187
274
  * @see {@link mapOrFail} – when the transformation can fail
@@ -200,7 +287,7 @@ export const map: {
200
287
  *
201
288
  * **Example** (Uppercasing a string config)
202
289
  *
203
- * ```ts
290
+ * ```ts import.meta.vitest
204
291
  * import { Config, ConfigProvider, Effect } from "effect"
205
292
  *
206
293
  * const upper = Config.string("name").pipe(
@@ -208,7 +295,7 @@ export const map: {
208
295
  * )
209
296
  *
210
297
  * const provider = ConfigProvider.fromUnknown({ name: "alice" })
211
- * // Effect.runSync(upper.parse(provider)) // "ALICE"
298
+ * Effect.runSync(upper.parse(provider)) // => "ALICE"
212
299
  * ```
213
300
  *
214
301
  * @see {@link mapOrFail} – when the transformation can fail
@@ -218,7 +305,12 @@ export const map: {
218
305
  */
219
306
  <A, B>(self: Config<A>, f: (a: A) => B): Config<B>
220
307
  } = dual(2, <A, B>(self: Config<A>, f: (a: A) => B): Config<B> => {
221
- return make((provider, pathPrefix) => Effect.map(self.parse(provider, pathPrefix), f))
308
+ return make((provider, pathPrefix) =>
309
+ Effect.map(evaluateAt(self, provider, pathPrefix), (resolution) =>
310
+ resolution._tag === "Resolved"
311
+ ? resolved(f(resolution.value), resolution.hasInput)
312
+ : resolution)
313
+ )
222
314
  })
223
315
 
224
316
  /**
@@ -231,12 +323,14 @@ export const map: {
231
323
  *
232
324
  * **Example** (Wrapping a value in an effectful transformation)
233
325
  *
234
- * ```ts
235
- * import { Config, Effect } from "effect"
326
+ * ```ts import.meta.vitest
327
+ * import { Config, ConfigProvider, Effect } from "effect"
236
328
  *
237
329
  * const trimmed = Config.string("name").pipe(
238
330
  * Config.mapOrFail((s) => Effect.succeed(s.trim()))
239
331
  * )
332
+ * const provider = ConfigProvider.fromUnknown({ name: " Alice " })
333
+ * Effect.runSync(trimmed.parse(provider)) // => "Alice"
240
334
  * ```
241
335
  *
242
336
  * @see {@link map} – when the transformation cannot fail
@@ -255,12 +349,14 @@ export const mapOrFail: {
255
349
  *
256
350
  * **Example** (Wrapping a value in an effectful transformation)
257
351
  *
258
- * ```ts
259
- * import { Config, Effect } from "effect"
352
+ * ```ts import.meta.vitest
353
+ * import { Config, ConfigProvider, Effect } from "effect"
260
354
  *
261
355
  * const trimmed = Config.string("name").pipe(
262
356
  * Config.mapOrFail((s) => Effect.succeed(s.trim()))
263
357
  * )
358
+ * const provider = ConfigProvider.fromUnknown({ name: " Alice " })
359
+ * Effect.runSync(trimmed.parse(provider)) // => "Alice"
264
360
  * ```
265
361
  *
266
362
  * @see {@link map} – when the transformation cannot fail
@@ -279,12 +375,14 @@ export const mapOrFail: {
279
375
  *
280
376
  * **Example** (Wrapping a value in an effectful transformation)
281
377
  *
282
- * ```ts
283
- * import { Config, Effect } from "effect"
378
+ * ```ts import.meta.vitest
379
+ * import { Config, ConfigProvider, Effect } from "effect"
284
380
  *
285
381
  * const trimmed = Config.string("name").pipe(
286
382
  * Config.mapOrFail((s) => Effect.succeed(s.trim()))
287
383
  * )
384
+ * const provider = ConfigProvider.fromUnknown({ name: " Alice " })
385
+ * Effect.runSync(trimmed.parse(provider)) // => "Alice"
288
386
  * ```
289
387
  *
290
388
  * @see {@link map} – when the transformation cannot fail
@@ -294,7 +392,15 @@ export const mapOrFail: {
294
392
  */
295
393
  <A, B>(self: Config<A>, f: (a: A) => Effect.Effect<B, ConfigError>): Config<B>
296
394
  } = dual(2, <A, B>(self: Config<A>, f: (a: A) => Effect.Effect<B, ConfigError>): Config<B> => {
297
- return make((provider, pathPrefix) => Effect.flatMap(self.parse(provider, pathPrefix), f))
395
+ return make((provider, pathPrefix) =>
396
+ Effect.flatMap(evaluateAt(self, provider, pathPrefix), (resolution) =>
397
+ resolution._tag === "Resolved"
398
+ ? f(resolution.value).pipe(
399
+ Effect.mapEager((value) => resolved(value, resolution.hasInput)),
400
+ Effect.mapErrorEager((error) => evaluationFailure(error, resolution.hasInput))
401
+ )
402
+ : Effect.succeed(resolution))
403
+ )
298
404
  })
299
405
 
300
406
  /**
@@ -307,21 +413,30 @@ export const mapOrFail: {
307
413
  *
308
414
  * **Details**
309
415
  *
310
- * Unlike {@link withDefault}, this catches **all** `ConfigError`s (not just
311
- * missing data). The fallback function receives the error and returns a new
416
+ * Unlike {@link withDefault}, this handles both semantic absence and **all**
417
+ * `ConfigError`s. The fallback function receives the error and returns a new
312
418
  * `Config`.
313
419
  *
420
+ * **Gotchas**
421
+ *
422
+ * Recovery preserves whether the primary config read provider input. When the
423
+ * recovered config is composed with {@link all}, invalid input in the primary
424
+ * branch still makes the enclosing group partially supplied, so an outer
425
+ * {@link withDefault} or {@link option} does not replace the whole group.
426
+ *
314
427
  * **Example** (Falling back to a literal)
315
428
  *
316
- * ```ts
317
- * import { Config } from "effect"
429
+ * ```ts import.meta.vitest
430
+ * import { Config, ConfigProvider, Effect } from "effect"
318
431
  *
319
432
  * const hostConfig = Config.string("HOST").pipe(
320
433
  * Config.orElse(() => Config.succeed("localhost"))
321
434
  * )
435
+ * const provider = ConfigProvider.fromUnknown({})
436
+ * Effect.runSync(hostConfig.parse(provider)) // => "localhost"
322
437
  * ```
323
438
  *
324
- * @see {@link withDefault} – fallback only on missing data
439
+ * @see {@link withDefault} – fallback only on semantic absence
325
440
  *
326
441
  * @category combinators
327
442
  * @since 2.0.0
@@ -337,21 +452,30 @@ export const orElse: {
337
452
  *
338
453
  * **Details**
339
454
  *
340
- * Unlike {@link withDefault}, this catches **all** `ConfigError`s (not just
341
- * missing data). The fallback function receives the error and returns a new
455
+ * Unlike {@link withDefault}, this handles both semantic absence and **all**
456
+ * `ConfigError`s. The fallback function receives the error and returns a new
342
457
  * `Config`.
343
458
  *
459
+ * **Gotchas**
460
+ *
461
+ * Recovery preserves whether the primary config read provider input. When the
462
+ * recovered config is composed with {@link all}, invalid input in the primary
463
+ * branch still makes the enclosing group partially supplied, so an outer
464
+ * {@link withDefault} or {@link option} does not replace the whole group.
465
+ *
344
466
  * **Example** (Falling back to a literal)
345
467
  *
346
- * ```ts
347
- * import { Config } from "effect"
468
+ * ```ts import.meta.vitest
469
+ * import { Config, ConfigProvider, Effect } from "effect"
348
470
  *
349
471
  * const hostConfig = Config.string("HOST").pipe(
350
472
  * Config.orElse(() => Config.succeed("localhost"))
351
473
  * )
474
+ * const provider = ConfigProvider.fromUnknown({})
475
+ * Effect.runSync(hostConfig.parse(provider)) // => "localhost"
352
476
  * ```
353
477
  *
354
- * @see {@link withDefault} – fallback only on missing data
478
+ * @see {@link withDefault} – fallback only on semantic absence
355
479
  *
356
480
  * @category combinators
357
481
  * @since 2.0.0
@@ -367,30 +491,87 @@ export const orElse: {
367
491
  *
368
492
  * **Details**
369
493
  *
370
- * Unlike {@link withDefault}, this catches **all** `ConfigError`s (not just
371
- * missing data). The fallback function receives the error and returns a new
494
+ * Unlike {@link withDefault}, this handles both semantic absence and **all**
495
+ * `ConfigError`s. The fallback function receives the error and returns a new
372
496
  * `Config`.
373
497
  *
498
+ * **Gotchas**
499
+ *
500
+ * Recovery preserves whether the primary config read provider input. When the
501
+ * recovered config is composed with {@link all}, invalid input in the primary
502
+ * branch still makes the enclosing group partially supplied, so an outer
503
+ * {@link withDefault} or {@link option} does not replace the whole group.
504
+ *
374
505
  * **Example** (Falling back to a literal)
375
506
  *
376
- * ```ts
377
- * import { Config } from "effect"
507
+ * ```ts import.meta.vitest
508
+ * import { Config, ConfigProvider, Effect } from "effect"
378
509
  *
379
510
  * const hostConfig = Config.string("HOST").pipe(
380
511
  * Config.orElse(() => Config.succeed("localhost"))
381
512
  * )
513
+ * const provider = ConfigProvider.fromUnknown({})
514
+ * Effect.runSync(hostConfig.parse(provider)) // => "localhost"
382
515
  * ```
383
516
  *
384
- * @see {@link withDefault} – fallback only on missing data
517
+ * @see {@link withDefault} – fallback only on semantic absence
385
518
  *
386
519
  * @category combinators
387
520
  * @since 2.0.0
388
521
  */
389
522
  <A, A2>(self: Config<A>, that: (error: ConfigError) => Config<A2>): Config<A | A2>
390
523
  } = dual(2, <A, A2>(self: Config<A>, that: (error: ConfigError) => Config<A2>): Config<A | A2> => {
391
- return make((provider, pathPrefix) =>
392
- Effect.catch(self.parse(provider, pathPrefix), (error) => that(error).parse(provider, pathPrefix))
393
- )
524
+ return make</**
525
+ * Provides a fallback config when parsing fails with a `ConfigError`.
526
+ *
527
+ * **When to use**
528
+ *
529
+ * Use when you need to try an alternative config source after the primary one
530
+ * fails.
531
+ *
532
+ * **Details**
533
+ *
534
+ * Unlike {@link withDefault}, this handles both semantic absence and **all**
535
+ * `ConfigError`s. The fallback function receives the error and returns a new
536
+ * `Config`.
537
+ *
538
+ * **Gotchas**
539
+ *
540
+ * Recovery preserves whether the primary config read provider input. When the
541
+ * recovered config is composed with {@link all}, invalid input in the primary
542
+ * branch still makes the enclosing group partially supplied, so an outer
543
+ * {@link withDefault} or {@link option} does not replace the whole group.
544
+ *
545
+ * **Example** (Falling back to a literal)
546
+ *
547
+ * ```ts import.meta.vitest
548
+ * import { Config, ConfigProvider, Effect } from "effect"
549
+ *
550
+ * const hostConfig = Config.string("HOST").pipe(
551
+ * Config.orElse(() => Config.succeed("localhost"))
552
+ * )
553
+ * const provider = ConfigProvider.fromUnknown({})
554
+ * Effect.runSync(hostConfig.parse(provider)) // => "localhost"
555
+ * ```
556
+ *
557
+ * @see {@link withDefault} – fallback only on semantic absence
558
+ *
559
+ * @category combinators
560
+ * @since 2.0.0
561
+ */
562
+ A | A2>((provider, pathPrefix) =>
563
+ Effect.matchEffect(evaluateAt(self, provider, pathPrefix), {
564
+ onFailure: (failure) =>
565
+ preserveInputEvidence(
566
+ evaluateAt(that(failure.error), provider, pathPrefix),
567
+ failure.hasInput
568
+ ),
569
+ onSuccess: (resolution): Effect.Effect<Resolution<A | A2>, EvaluationFailure> =>
570
+ resolution._tag === "Absent"
571
+ ? evaluateAt(that(resolution.error), provider, pathPrefix)
572
+ : Effect.succeed(resolution)
573
+ })
574
+ );
394
575
  })
395
576
 
396
577
  /**
@@ -405,9 +586,19 @@ export const orElse: {
405
586
  * Accepts a tuple (preserves positions), an iterable, or a record of configs.
406
587
  * Returns a config whose parsed value mirrors the input shape.
407
588
  *
589
+ * A combined config is absent when at least one child cannot resolve and none
590
+ * of the other children read provider input. This lets {@link withDefault} and
591
+ * {@link option} handle a wholly absent group. Once any child reads input, a
592
+ * missing sibling makes the group incomplete and parsing fails. Values supplied
593
+ * by child defaults do not count as provider input.
594
+ *
595
+ * Unlike a `Schema.Struct` passed to {@link schema}, `all` only considers input
596
+ * read by its children. An explicitly present but empty parent container does
597
+ * not by itself make the group present.
598
+ *
408
599
  * **Example** (Combining configs as a struct)
409
600
  *
410
- * ```ts
601
+ * ```ts import.meta.vitest
411
602
  * import { Config, ConfigProvider, Effect } from "effect"
412
603
  *
413
604
  * const dbConfig = Config.all({
@@ -416,8 +607,7 @@ export const orElse: {
416
607
  * })
417
608
  *
418
609
  * const provider = ConfigProvider.fromUnknown({ host: "localhost", port: 5432 })
419
- * // Effect.runSync(dbConfig.parse(provider))
420
- * // { host: "localhost", port: 5432 }
610
+ * Effect.runSync(dbConfig.parse(provider)) // => { host: "localhost", port: 5432 }
421
611
  * ```
422
612
  *
423
613
  * @category combinators
@@ -442,46 +632,85 @@ export function all<const Arg extends Iterable<Config<any>> | Record<string, Con
442
632
  : arg
443
633
  if (Array.isArray(configs)) {
444
634
  return make((provider, pathPrefix) =>
445
- Effect.all(configs.map((config) => config.parse(provider, pathPrefix)))
635
+ Effect.flatMapEager(
636
+ Effect.all(configs.map((config) => Effect.result(evaluateAt(config, provider, pathPrefix)))),
637
+ resolveArray
638
+ )
446
639
  ) as any
447
640
  } else {
448
641
  return make((provider, pathPrefix) =>
449
- Effect.all(Rec.map(configs, (config) => config.parse(provider, pathPrefix)))
642
+ Effect.flatMapEager(
643
+ Effect.all(Rec.map(configs, (config) => Effect.result(evaluateAt(config, provider, pathPrefix)))),
644
+ resolveRecord
645
+ )
450
646
  ) as any
451
647
  }
452
648
  }
453
649
 
454
- function isMissingDataOnly(issue: SchemaIssue.Issue): boolean {
455
- switch (issue._tag) {
456
- case "MissingKey":
457
- return true
458
- case "InvalidType":
459
- case "InvalidValue":
460
- return Option.isNone(issue.actual) || (Option.isSome(issue.actual) && issue.actual.value === undefined)
461
- case "OneOf":
462
- return issue.actual === undefined
463
- case "Encoding":
464
- return Option.isNone(issue.actual) || (Option.isSome(issue.actual) && issue.actual.value === undefined)
465
- ? true
466
- : isMissingDataOnly(issue.issue)
467
- case "Pointer":
468
- return isMissingDataOnly(issue.issue)
469
- case "Filter":
470
- case "UnexpectedKey":
471
- case "Forbidden":
472
- return false
473
- case "Composite":
474
- return issue.issues.every(isMissingDataOnly)
475
- case "AnyOf":
476
- if (issue.issues.length === 0) {
477
- return issue.actual === undefined
478
- }
479
- return issue.issues.every(isMissingDataOnly)
650
+ const resolveArray = (
651
+ results: ReadonlyArray<Result.Result<Resolution<any>, EvaluationFailure>>
652
+ ): Effect.Effect<Resolution<Array<any>>, EvaluationFailure> => {
653
+ const values: Array<any> = []
654
+ let firstFailure: EvaluationFailure | undefined
655
+ let firstAbsent: Absent | undefined
656
+ let hasInput = false
657
+ for (const result of results) {
658
+ if (Result.isFailure(result)) {
659
+ firstFailure ??= result.failure
660
+ hasInput = hasInput || result.failure.hasInput
661
+ continue
662
+ }
663
+ const resolution = result.success
664
+ if (resolution._tag === "Absent") {
665
+ firstAbsent ??= resolution
666
+ } else {
667
+ values.push(resolution.value)
668
+ hasInput = hasInput || resolution.hasInput
669
+ }
670
+ }
671
+ if (firstFailure !== undefined) {
672
+ return Effect.fail(evaluationFailure(firstFailure.error, hasInput))
673
+ }
674
+ if (firstAbsent !== undefined) {
675
+ return hasInput ? Effect.fail(evaluationFailure(firstAbsent.error, true)) : Effect.succeed(firstAbsent)
676
+ }
677
+ return Effect.succeed(resolved(values, hasInput))
678
+ }
679
+
680
+ const resolveRecord = (
681
+ results: Record<string, Result.Result<Resolution<any>, EvaluationFailure>>
682
+ ): Effect.Effect<Resolution<Record<string, any>>, EvaluationFailure> => {
683
+ const values: Record<string, any> = {}
684
+ let firstFailure: EvaluationFailure | undefined
685
+ let firstAbsent: Absent | undefined
686
+ let hasInput = false
687
+ for (const key in results) {
688
+ const result = results[key]
689
+ if (Result.isFailure(result)) {
690
+ firstFailure ??= result.failure
691
+ hasInput = hasInput || result.failure.hasInput
692
+ continue
693
+ }
694
+ const resolution = result.success
695
+ if (resolution._tag === "Absent") {
696
+ firstAbsent ??= resolution
697
+ } else {
698
+ InternalRecord.assignProperty(values, key, resolution.value)
699
+ hasInput = hasInput || resolution.hasInput
700
+ }
701
+ }
702
+ if (firstFailure !== undefined) {
703
+ return Effect.fail(evaluationFailure(firstFailure.error, hasInput))
480
704
  }
705
+ if (firstAbsent !== undefined) {
706
+ return hasInput ? Effect.fail(evaluationFailure(firstAbsent.error, true)) : Effect.succeed(firstAbsent)
707
+ }
708
+ return Effect.succeed(resolved(values, hasInput))
481
709
  }
482
710
 
483
711
  /**
484
- * Provides a fallback value when the config fails due to missing data.
712
+ * Provides a fallback value when the config cannot resolve because none of its
713
+ * relevant input is present.
485
714
  *
486
715
  * **When to use**
487
716
  *
@@ -489,30 +718,33 @@ function isMissingDataOnly(issue: SchemaIssue.Issue): boolean {
489
718
  *
490
719
  * **Gotchas**
491
720
  *
492
- * Only applies when the error is a `SchemaError` caused exclusively by
493
- * missing data (missing keys, undefined values). Validation errors (wrong
494
- * type, out of range) still propagate.
721
+ * Validation errors and partially supplied groups still propagate. A schema
722
+ * that successfully decodes absent input also keeps its decoded value instead
723
+ * of using the default. Schema configs first represent a missing or
724
+ * incompatible provider shape as `undefined`; the default is used only when
725
+ * the schema rejects that value and no relevant input was found.
495
726
  *
496
727
  * **Example** (Defaulting a missing port)
497
728
  *
498
- * ```ts
729
+ * ```ts import.meta.vitest
499
730
  * import { Config, ConfigProvider, Effect } from "effect"
500
731
  *
501
732
  * const port = Config.number("port").pipe(Config.withDefault(3000))
502
733
  *
503
734
  * const provider = ConfigProvider.fromUnknown({})
504
- * // Effect.runSync(port.parse(provider)) // 3000
735
+ * Effect.runSync(port.parse(provider)) // => 3000
505
736
  * ```
506
737
  *
507
738
  * @see {@link option} – returns `Option` instead of a default value
508
- * @see {@link orElse} – catches all errors, not just missing data
739
+ * @see {@link orElse} – catches all errors, not just absent input
509
740
  *
510
741
  * @category combinators
511
742
  * @since 2.0.0
512
743
  */
513
744
  export const withDefault: {
514
745
  /**
515
- * Provides a fallback value when the config fails due to missing data.
746
+ * Provides a fallback value when the config cannot resolve because none of its
747
+ * relevant input is present.
516
748
  *
517
749
  * **When to use**
518
750
  *
@@ -520,30 +752,33 @@ export const withDefault: {
520
752
  *
521
753
  * **Gotchas**
522
754
  *
523
- * Only applies when the error is a `SchemaError` caused exclusively by
524
- * missing data (missing keys, undefined values). Validation errors (wrong
525
- * type, out of range) still propagate.
755
+ * Validation errors and partially supplied groups still propagate. A schema
756
+ * that successfully decodes absent input also keeps its decoded value instead
757
+ * of using the default. Schema configs first represent a missing or
758
+ * incompatible provider shape as `undefined`; the default is used only when
759
+ * the schema rejects that value and no relevant input was found.
526
760
  *
527
761
  * **Example** (Defaulting a missing port)
528
762
  *
529
- * ```ts
763
+ * ```ts import.meta.vitest
530
764
  * import { Config, ConfigProvider, Effect } from "effect"
531
765
  *
532
766
  * const port = Config.number("port").pipe(Config.withDefault(3000))
533
767
  *
534
768
  * const provider = ConfigProvider.fromUnknown({})
535
- * // Effect.runSync(port.parse(provider)) // 3000
769
+ * Effect.runSync(port.parse(provider)) // => 3000
536
770
  * ```
537
771
  *
538
772
  * @see {@link option} – returns `Option` instead of a default value
539
- * @see {@link orElse} – catches all errors, not just missing data
773
+ * @see {@link orElse} – catches all errors, not just absent input
540
774
  *
541
775
  * @category combinators
542
776
  * @since 2.0.0
543
777
  */
544
778
  <const A2>(defaultValue: A2): <A>(self: Config<A>) => Config<A2 | A>
545
779
  /**
546
- * Provides a fallback value when the config fails due to missing data.
780
+ * Provides a fallback value when the config cannot resolve because none of its
781
+ * relevant input is present.
547
782
  *
548
783
  * **When to use**
549
784
  *
@@ -551,43 +786,75 @@ export const withDefault: {
551
786
  *
552
787
  * **Gotchas**
553
788
  *
554
- * Only applies when the error is a `SchemaError` caused exclusively by
555
- * missing data (missing keys, undefined values). Validation errors (wrong
556
- * type, out of range) still propagate.
789
+ * Validation errors and partially supplied groups still propagate. A schema
790
+ * that successfully decodes absent input also keeps its decoded value instead
791
+ * of using the default. Schema configs first represent a missing or
792
+ * incompatible provider shape as `undefined`; the default is used only when
793
+ * the schema rejects that value and no relevant input was found.
557
794
  *
558
795
  * **Example** (Defaulting a missing port)
559
796
  *
560
- * ```ts
797
+ * ```ts import.meta.vitest
561
798
  * import { Config, ConfigProvider, Effect } from "effect"
562
799
  *
563
800
  * const port = Config.number("port").pipe(Config.withDefault(3000))
564
801
  *
565
802
  * const provider = ConfigProvider.fromUnknown({})
566
- * // Effect.runSync(port.parse(provider)) // 3000
803
+ * Effect.runSync(port.parse(provider)) // => 3000
567
804
  * ```
568
805
  *
569
806
  * @see {@link option} – returns `Option` instead of a default value
570
- * @see {@link orElse} – catches all errors, not just missing data
807
+ * @see {@link orElse} – catches all errors, not just absent input
571
808
  *
572
809
  * @category combinators
573
810
  * @since 2.0.0
574
811
  */
575
812
  <A, const A2>(self: Config<A>, defaultValue: A2): Config<A | A2>
576
813
  } = dual(2, <A, const A2>(self: Config<A>, defaultValue: A2): Config<A | A2> => {
577
- return orElse(self, (err) => {
578
- if (Schema.isSchemaError(err.cause)) {
579
- const issue = err.cause.issue
580
- if (isMissingDataOnly(issue)) {
581
- return succeed(defaultValue)
582
- }
583
- }
584
- return fail(err.cause)
585
- })
814
+ return make</**
815
+ * Provides a fallback value when the config cannot resolve because none of its
816
+ * relevant input is present.
817
+ *
818
+ * **When to use**
819
+ *
820
+ * Use when you need to make a config key optional with a sensible default.
821
+ *
822
+ * **Gotchas**
823
+ *
824
+ * Validation errors and partially supplied groups still propagate. A schema
825
+ * that successfully decodes absent input also keeps its decoded value instead
826
+ * of using the default. Schema configs first represent a missing or
827
+ * incompatible provider shape as `undefined`; the default is used only when
828
+ * the schema rejects that value and no relevant input was found.
829
+ *
830
+ * **Example** (Defaulting a missing port)
831
+ *
832
+ * ```ts import.meta.vitest
833
+ * import { Config, ConfigProvider, Effect } from "effect"
834
+ *
835
+ * const port = Config.number("port").pipe(Config.withDefault(3000))
836
+ *
837
+ * const provider = ConfigProvider.fromUnknown({})
838
+ * Effect.runSync(port.parse(provider)) // => 3000
839
+ * ```
840
+ *
841
+ * @see {@link option} – returns `Option` instead of a default value
842
+ * @see {@link orElse} – catches all errors, not just absent input
843
+ *
844
+ * @category combinators
845
+ * @since 2.0.0
846
+ */
847
+ A | A2>((provider, pathPrefix) =>
848
+ Effect.mapEager(
849
+ evaluateAt(self, provider, pathPrefix),
850
+ (resolution) => resolution._tag === "Absent" ? resolved(defaultValue, false) : resolution
851
+ )
852
+ );
586
853
  })
587
854
 
588
855
  /**
589
- * Makes a config optional: returns `Some(value)` on success and `None` when
590
- * data is missing.
856
+ * Makes a config optional: returns `Some(value)` on success and `None` when the
857
+ * config cannot resolve because none of its relevant input is present.
591
858
  *
592
859
  * **When to use**
593
860
  *
@@ -595,18 +862,21 @@ export const withDefault: {
595
862
  *
596
863
  * **Gotchas**
597
864
  *
598
- * Like {@link withDefault}, only missing-data errors produce `None`.
599
- * Validation errors still propagate.
865
+ * Validation errors and partially supplied groups still propagate. Successful
866
+ * values are always wrapped in `Some`, including `undefined` when the schema
867
+ * explicitly accepts it. Schema configs first represent a missing or
868
+ * incompatible provider shape as `undefined`; `None` is returned only when the
869
+ * schema rejects that value and no relevant input was found.
600
870
  *
601
871
  * **Example** (Reading optional config)
602
872
  *
603
- * ```ts
604
- * import { Config, ConfigProvider, Effect } from "effect"
873
+ * ```ts import.meta.vitest
874
+ * import { Config, ConfigProvider, Effect, Option } from "effect"
605
875
  *
606
876
  * const maybePort = Config.option(Config.number("port"))
607
877
  *
608
878
  * const provider = ConfigProvider.fromUnknown({})
609
- * // Effect.runSync(maybePort.parse(provider)) // { _tag: "None" }
879
+ * Effect.runSync(maybePort.parse(provider)) // => Option.none()
610
880
  * ```
611
881
  *
612
882
  * @see {@link withDefault} – provide a concrete fallback value instead
@@ -648,7 +918,7 @@ export type Success<T> = [T] extends [Config<infer A>] ? A : never
648
918
  *
649
919
  * @see {@link unwrap} – construct a `Config` from a `Wrap<T>`
650
920
  *
651
- * @category Wrap
921
+ * @category utility types
652
922
  * @since 2.0.0
653
923
  */
654
924
  export type Wrap<A> = [NonNullable<A>] extends [infer T] ? [IsPlainObject<T>] extends [true] ?
@@ -676,8 +946,8 @@ type IsPlainObject<A> = [A] extends [Record<string, any>]
676
946
  *
677
947
  * **Example** (Unwrapping a record of configs)
678
948
  *
679
- * ```ts
680
- * import { Config } from "effect"
949
+ * ```ts import.meta.vitest
950
+ * import { Config, ConfigProvider, Effect } from "effect"
681
951
  *
682
952
  * interface Options {
683
953
  * key: string
@@ -685,128 +955,158 @@ type IsPlainObject<A> = [A] extends [Record<string, any>]
685
955
  *
686
956
  * const makeConfig = (config: Config.Wrap<Options>): Config.Config<Options> =>
687
957
  * Config.unwrap(config)
958
+ *
959
+ * const config = makeConfig({ key: Config.string("key") })
960
+ * const provider = ConfigProvider.fromUnknown({ key: "value" })
961
+ * Effect.runSync(config.parse(provider)) // => { key: "value" }
688
962
  * ```
689
963
  *
690
964
  * @see {@link Wrap} – the utility type accepted by this function
691
965
  *
692
- * @category Wrap
966
+ * @category converting
693
967
  * @since 2.0.0
694
968
  */
695
969
  export const unwrap = <T>(wrapped: Wrap<T>): Config<T> => {
696
970
  if (isConfig(wrapped)) return wrapped
697
- return make((provider, pathPrefix) => {
698
- const entries = Object.entries(wrapped)
699
- const configs = entries.map(([key, config]) =>
700
- unwrap(config as any).parse(provider, pathPrefix).pipe(Effect.map((value) => [key, value] as const))
701
- )
702
- return Effect.all(configs).pipe(Effect.map(Object.fromEntries))
703
- })
971
+ return all(Rec.map(wrapped as Record<string, Wrap<any>>, (config) => unwrap(config))) as Config<T>
704
972
  }
705
973
 
706
974
  // -----------------------------------------------------------------------------
707
975
  // schema
708
976
  // -----------------------------------------------------------------------------
709
977
 
710
- const dump: (
978
+ interface ConfigCursor {
979
+ readonly provider: ConfigProvider.ConfigProvider
980
+ readonly path: Path
981
+ readonly node: ConfigProvider.Node | undefined
982
+ readonly toString: () => string
983
+ }
984
+
985
+ const cursorToString = (): string => "<configuration>"
986
+
987
+ const loadCursor: (
711
988
  provider: ConfigProvider.ConfigProvider,
712
989
  path: Path
713
- ) => Effect.Effect<Schema.StringTree, SourceError> = Effect.fnUntraced(function*(
714
- provider,
715
- path
716
- ) {
717
- const stat = yield* provider.load(path)
718
- if (stat === undefined) return undefined
719
- switch (stat._tag) {
720
- case "Value":
721
- return stat.value
722
- case "Record": {
723
- if (stat.value !== undefined) return stat.value
724
- const out: Record<string, Schema.StringTree> = {}
725
- for (const key of stat.keys) {
726
- const child = yield* dump(provider, [...path, key])
727
- if (child !== undefined) out[key] = child
728
- }
729
- return out
730
- }
731
- case "Array": {
732
- if (stat.value !== undefined) return stat.value
733
- const out: Array<Schema.StringTree> = []
734
- for (let i = 0; i < stat.length; i++) {
735
- out.push(yield* dump(provider, [...path, i]))
736
- }
737
- return out
738
- }
990
+ ) => Effect.Effect<ConfigCursor> = (provider, path) =>
991
+ provider.load(path).pipe(
992
+ Effect.orDie,
993
+ Effect.mapEager((node) => ({ provider, path, node, toString: cursorToString }))
994
+ )
995
+
996
+ const loadChildCursor = (cursor: ConfigCursor, segment: string | number): Effect.Effect<ConfigCursor> =>
997
+ loadCursor(cursor.provider, [...cursor.path, segment])
998
+
999
+ const getScalar = (node: ConfigProvider.Node | undefined): string | undefined => node?.value
1000
+
1001
+ const decodeFromCursor = (
1002
+ ast: SchemaAST.AST,
1003
+ decode: (cursor: ConfigCursor) => Effect.Effect<unknown, SchemaIssue.Issue>
1004
+ ): SchemaAST.AST =>
1005
+ SchemaAST.decodeTo(
1006
+ SchemaAST.unknown,
1007
+ ast,
1008
+ new SchemaTransformation.Transformation(
1009
+ SchemaGetter.transformOrFail((input: unknown) => decode(input as ConfigCursor)),
1010
+ SchemaGetter.passthrough()
1011
+ )
1012
+ )
1013
+
1014
+ const isScalarInput = (ast: SchemaAST.AST): boolean => {
1015
+ switch (ast._tag) {
1016
+ case "Union":
1017
+ return ast.types.every(isScalarInput)
1018
+ case "Objects":
1019
+ case "Arrays":
1020
+ case "Suspend":
1021
+ return false
1022
+ default:
1023
+ return true
739
1024
  }
740
- })
1025
+ }
741
1026
 
742
- const recur: (
1027
+ const hasProviderInput = (
743
1028
  ast: SchemaAST.AST,
744
- provider: ConfigProvider.ConfigProvider,
745
- path: Path
746
- ) => Effect.Effect<Schema.StringTree, Schema.SchemaError | SourceError> = Effect.fnUntraced(
747
- function*(ast, provider, path) {
1029
+ node: ConfigProvider.Node | undefined
1030
+ ): boolean => {
1031
+ switch (ast._tag) {
1032
+ case "Objects":
1033
+ return node?._tag === "Record"
1034
+ case "Arrays":
1035
+ return node?._tag === "Array"
1036
+ case "Union":
1037
+ return ast.types.some((ast) => hasProviderInput(ast, node))
1038
+ case "Suspend":
1039
+ return hasProviderInput(ast.thunk(), node)
1040
+ default:
1041
+ return getScalar(node) !== undefined
1042
+ }
1043
+ }
1044
+
1045
+ const toConfigCursorAST = memoize((root: SchemaAST.AST): SchemaAST.AST => {
1046
+ const seen = new WeakSet<SchemaAST.AST>()
1047
+ const recur = SchemaAST.applyToSelfOrLastLinkEncoding((ast) => {
1048
+ seen.add(ast)
748
1049
  switch (ast._tag) {
749
1050
  case "Objects": {
750
- const stat = yield* provider.load(path)
751
- if (stat === undefined && path.length > 0) return undefined
752
- const out: Record<string, Schema.StringTree> = {}
753
- for (const ps of ast.propertySignatures) {
754
- const name = ps.name
755
- if (typeof name === "string") {
756
- const value = yield* recur(ps.type, provider, [...path, name])
757
- if (value !== undefined) out[name] = value
1051
+ const matchesIndex = ast.indexSignatures.map((is) => SchemaParser._is(is.parameter))
1052
+ const materialize = Effect.fnUntraced(function*(cursor: ConfigCursor) {
1053
+ if (cursor.node?._tag !== "Record") {
1054
+ return undefined
758
1055
  }
759
- }
760
- if (ast.indexSignatures.length > 0) {
761
- if (stat && stat._tag === "Record") {
762
- for (const is of ast.indexSignatures) {
763
- const matches = SchemaParser._is(is.parameter)
764
- for (const key of stat.keys) {
765
- if (!Object.hasOwn(out, key) && matches(key)) {
766
- const value = yield* recur(is.type, provider, [...path, key])
767
- if (value !== undefined) out[key] = value
768
- }
769
- }
1056
+ const node = cursor.node
1057
+ const keys = new Set<string>()
1058
+ for (const property of ast.propertySignatures) {
1059
+ if (typeof property.name === "string") keys.add(property.name)
1060
+ }
1061
+ if (matchesIndex.length > 0) {
1062
+ for (const key of node.keys) {
1063
+ if (matchesIndex.some((matches) => matches(key))) keys.add(key)
770
1064
  }
771
1065
  }
772
- }
773
- return out
1066
+ const out: Record<string, ConfigCursor> = {}
1067
+ for (const key of keys) {
1068
+ const child = yield* loadChildCursor(cursor, key)
1069
+ if (child.node !== undefined) InternalRecord.assignProperty(out, key, child)
1070
+ }
1071
+ return out
1072
+ })
1073
+ return decodeFromCursor(ast.recur(recur, (ast) => ast), materialize)
774
1074
  }
775
1075
  case "Arrays": {
776
- const stat = yield* provider.load(path)
777
- if (stat === undefined) return undefined
778
- if (stat && stat._tag === "Value") return stat.value === "" ? [] : stat.value.split(",")
779
- if (stat && stat._tag === "Array" && stat.value !== undefined) {
780
- return stat.value === "" ? [] : stat.value.split(",")
781
- }
782
- const out: Array<Schema.StringTree> = []
783
- const length = stat && stat._tag === "Array" ? stat.length : ast.elements.length
784
- for (let i = 0; i < length; i++) {
785
- const element = ast.elements[i] ?? ast.rest[0]
786
- if (element !== undefined) {
787
- out.push(yield* recur(element, provider, [...path, i]))
1076
+ const materialize = Effect.fnUntraced(function*(cursor: ConfigCursor) {
1077
+ if (cursor.node?._tag !== "Array") {
1078
+ return undefined
788
1079
  }
789
- }
790
- return out
1080
+ const out: Array<ConfigCursor> = []
1081
+ for (let i = 0; i < cursor.node.length; i++) {
1082
+ out.push(yield* loadChildCursor(cursor, i))
1083
+ }
1084
+ return out
1085
+ })
1086
+ return decodeFromCursor(ast.recur(recur), materialize)
791
1087
  }
792
1088
  case "Union":
793
- // Let downstream decoding decide; dump can return a string, object, or array.
794
- return yield* dump(provider, path)
795
- case "Suspend":
796
- return yield* recur(ast.thunk(), provider, path)
797
- default: {
798
- // Base primitives / string-like encoded nodes.
799
- const stat = yield* provider.load(path)
800
- if (stat === undefined) return undefined
801
- if (stat._tag === "Value") return stat.value
802
- if (stat._tag === "Record" && stat.value !== undefined) return stat.value
803
- if (stat._tag === "Array" && stat.value !== undefined) return stat.value
804
- // Container without a co-located value cannot satisfy a scalar request.
805
- return undefined
1089
+ for (const member of ast.types) {
1090
+ recur(member)
1091
+ }
1092
+ return isScalarInput(ast)
1093
+ ? decodeFromCursor(ast, (cursor) => Effect.succeed(getScalar(cursor.node)))
1094
+ : ast.recur(recur)
1095
+ case "Suspend": {
1096
+ const target = ast.thunk()
1097
+ // Force new branches so opaque encodings fail when the Config is constructed.
1098
+ if (!seen.has(target)) recur(target)
1099
+ return ast.recur(recur)
806
1100
  }
1101
+ case "Declaration":
1102
+ case "Any":
1103
+ throw new globalThis.Error("Config.schema does not support opaque StringTree encodings", { cause: ast })
1104
+ default:
1105
+ return decodeFromCursor(ast, (cursor) => Effect.succeed(getScalar(cursor.node)))
807
1106
  }
808
- }
809
- )
1107
+ })
1108
+ return recur(root)
1109
+ })
810
1110
 
811
1111
  /**
812
1112
  * Creates a `Config<T>` from a `Schema.Codec`.
@@ -825,12 +1125,47 @@ const recur: (
825
1125
  * Convenience constructors such as `string`, `number`, and `boolean` delegate
826
1126
  * to this API.
827
1127
  *
828
- * The codec is used to decode the raw `StringTree` produced by the provider
829
- * into `T`. Schema validation errors are wrapped in `ConfigError`.
1128
+ * The codec is converted to its canonical `StringTree` form. Its encoded shape
1129
+ * determines how provider data is loaded: scalar schemas read a co-located
1130
+ * scalar value, object schemas read declared properties and matching record
1131
+ * keys, and array schemas read indexed children. A mixed-shape union loads each
1132
+ * member according to that member's shape before applying the union's mode and
1133
+ * checks.
1134
+ *
1135
+ * At the config's lookup path, a missing node or a node that cannot provide the
1136
+ * representation required by the schema is decoded as `undefined`. Missing
1137
+ * object properties remain omitted so the schema's property semantics still
1138
+ * apply. Decoding success always wins, even when no provider input was found.
1139
+ * For example,
1140
+ * `Schema.UndefinedOr(Schema.String)` decodes to `undefined` and is not replaced
1141
+ * by {@link withDefault}. If decoding fails and no relevant representation was
1142
+ * found, the config is absent. Invalid data in a relevant representation is a
1143
+ * validation failure. Provider `SourceError`s are always failures.
1144
+ *
1145
+ * **Gotchas**
1146
+ *
1147
+ * Plain `Schema.Array` and `Schema.Record` schemas use structural provider
1148
+ * input. Use {@link Array} or {@link Record} when a flat separated string must
1149
+ * also be accepted.
1150
+ *
1151
+ * `Schema.Struct` and {@link all} describe different lookup models. An
1152
+ * explicitly present empty object is relevant input for a struct and required
1153
+ * fields are validated. The same empty parent container does not make an
1154
+ * `all` group present when all of its child configs are absent.
1155
+ *
1156
+ * The canonical `StringTree` encoding must expose a concrete scalar, object,
1157
+ * array, or union shape. Opaque encodings such as `Schema.Any`,
1158
+ * `Schema.Unknown`, `Schema.ObjectKeyword`, `Schema.Json`, and
1159
+ * `Schema.MutableJson` are rejected synchronously when this config is
1160
+ * constructed, including when they are nested in another schema. Suspended
1161
+ * recursive schemas remain supported when their eventual shape is concrete.
1162
+ * Declarations such as `Schema.URL` also remain supported when their canonical
1163
+ * encoding has a concrete shape. To read arbitrary JSON from one scalar value,
1164
+ * use `Schema.fromJsonString(Schema.Json)`.
830
1165
  *
831
1166
  * **Example** (Reading a structured config)
832
1167
  *
833
- * ```ts
1168
+ * ```ts import.meta.vitest
834
1169
  * import { Config, ConfigProvider, Effect, Schema } from "effect"
835
1170
  *
836
1171
  * const DbConfig = Config.schema(
@@ -845,8 +1180,7 @@ const recur: (
845
1180
  * db: { host: "localhost", port: 5432 }
846
1181
  * })
847
1182
  *
848
- * // Effect.runSync(DbConfig.parse(provider))
849
- * // { host: "localhost", port: 5432 }
1183
+ * Effect.runSync(DbConfig.parse(provider)) // => { host: "localhost", port: 5432 }
850
1184
  * ```
851
1185
  *
852
1186
  * @see {@link string} / {@link number} / {@link boolean} – shortcuts for
@@ -857,20 +1191,31 @@ const recur: (
857
1191
  */
858
1192
  export function schema<T>(codec: Schema.ConstraintCodec<T, unknown>, path?: string | ConfigProvider.Path): Config<T> {
859
1193
  const codecStringTree = Schema.toCodecStringTree(codec)
860
- const decodeUnknownEffect = SchemaParser.decodeUnknownEffect(codecStringTree)
861
- const codecStringTreeEncoded = SchemaAST.toEncoded(codecStringTree.ast)
1194
+ const encodedAst = SchemaAST.toEncoded(codecStringTree.ast)
1195
+ const decodeCursor = SchemaParser.decodeUnknownEffect(
1196
+ Schema.make<Schema.Codec<T, ConfigCursor>>(toConfigCursorAST(codecStringTree.ast))
1197
+ )
862
1198
  const localPath = typeof path === "string" ? [path] : path ?? []
863
1199
  return make((provider, pathPrefix) => {
864
1200
  const fullPath = [...pathPrefix, ...localPath]
865
- return recur(codecStringTreeEncoded, provider, fullPath).pipe(
866
- Effect.flatMapEager((tree) =>
867
- decodeUnknownEffect(tree).pipe(
868
- Effect.mapErrorEager((issue) =>
869
- new Schema.SchemaError(fullPath.length > 0 ? new SchemaIssue.Pointer(fullPath, issue) : issue)
870
- )
1201
+ return catchSourceError(loadCursor(provider, fullPath), false).pipe(
1202
+ Effect.flatMapEager((cursor) => {
1203
+ const hasInput = hasProviderInput(encodedAst, cursor.node)
1204
+ return catchSourceError(
1205
+ decodeCursor(cursor).pipe(
1206
+ Effect.mapEager((value) => resolved(value, hasInput)),
1207
+ Effect.catchEager((issue) => {
1208
+ const error = new ConfigError(
1209
+ new Schema.SchemaError(fullPath.length > 0 ? new SchemaIssue.Pointer(fullPath, issue) : issue)
1210
+ )
1211
+ return hasInput
1212
+ ? Effect.fail(evaluationFailure(error, true))
1213
+ : Effect.succeed(absent(error))
1214
+ })
1215
+ ),
1216
+ hasInput
871
1217
  )
872
- ),
873
- Effect.mapErrorEager((cause) => new ConfigError(cause))
1218
+ })
874
1219
  )
875
1220
  })
876
1221
  }
@@ -961,7 +1306,7 @@ export const LogLevel = Schema.Literals(LogLevel_.values)
961
1306
  *
962
1307
  * **Example** (Parsing a comma-separated record)
963
1308
  *
964
- * ```ts
1309
+ * ```ts import.meta.vitest
965
1310
  * import { Config, ConfigProvider, Effect, Schema } from "effect"
966
1311
  *
967
1312
  * const schema = Config.Record(Schema.String, Schema.String)
@@ -974,14 +1319,14 @@ export const LogLevel = Schema.Literals(LogLevel_.values)
974
1319
  * }
975
1320
  * })
976
1321
  *
977
- * console.dir(Effect.runSync(config.parse(provider)))
978
- * // {
979
- * // 'service.name': 'my-service',
980
- * // 'service.version': '1.0.0',
981
- * // 'custom.attribute': 'value'
982
- * // }
1322
+ * const result = Effect.runSync(config.parse(provider))
1323
+ * result["service.name"] // => "my-service"
1324
+ * result["service.version"] // => "1.0.0"
1325
+ * result["custom.attribute"] // => "value"
983
1326
  * ```
984
1327
  *
1328
+ * @see {@link Array} for separated or structural array input
1329
+ *
985
1330
  * @category schemas
986
1331
  * @since 4.0.0
987
1332
  */
@@ -990,35 +1335,31 @@ export const Record = <K extends Schema.Record.Key, V extends Schema.Constraint>
990
1335
  readonly keyValueSeparator?: string | undefined
991
1336
  }) => {
992
1337
  const record = Schema.Record(key, value)
1338
+ const split = SchemaTransformation.splitKeyValue(options)
993
1339
  const recordString = Schema.String.pipe(
994
- Schema.decodeTo(
995
- Schema.Record(Schema.String, Schema.String),
996
- SchemaTransformation.splitKeyValue(options)
997
- ),
998
- Schema.decodeTo(record)
1340
+ Schema.decodeTo(Schema.toCodecStringTree(record), {
1341
+ decode: split.decode,
1342
+ encode: SchemaGetter.passthrough<Record<string, string>, Schema.StringTree>({ strict: false }).compose(
1343
+ split.encode
1344
+ )
1345
+ })
999
1346
  )
1000
1347
 
1001
1348
  return Schema.Union([record, recordString])
1002
1349
  }
1003
1350
 
1004
- /**
1005
- * @category schemas
1006
- * @since 4.0.0
1007
- */
1008
1351
  const ArrayConfig = <V extends Schema.Constraint>(value: V, options?: {
1009
1352
  readonly separator?: string | undefined
1010
1353
  }) => {
1011
1354
  const array = Schema.Array(value)
1012
1355
  const separator = options?.separator ?? ","
1013
1356
  const arrayString = Schema.String.pipe(
1014
- Schema.decodeTo(
1015
- Schema.Array(Schema.String),
1016
- {
1017
- decode: SchemaGetter.split(options),
1018
- encode: SchemaGetter.transform((input: ReadonlyArray<string>) => input.join(separator))
1019
- }
1020
- ),
1021
- Schema.decodeTo(array)
1357
+ Schema.decodeTo(Schema.toCodecStringTree(array), {
1358
+ decode: SchemaGetter.split(options),
1359
+ encode: SchemaGetter.passthrough<ReadonlyArray<string>, Schema.StringTree>({ strict: false }).compose(
1360
+ SchemaGetter.transform((input) => input.join(separator))
1361
+ )
1362
+ })
1022
1363
  )
1023
1364
 
1024
1365
  return Schema.Union([arrayString, array])
@@ -1038,6 +1379,8 @@ export {
1038
1379
  * Accepts either a JSON-like array from the provider or a flat string like
1039
1380
  * `"a,b,c"`. The `separator` defaults to `","` and can be customized.
1040
1381
  *
1382
+ * @see {@link Record} for separated or structural record input
1383
+ *
1041
1384
  * @category schemas
1042
1385
  * @since 4.0.0
1043
1386
  */
@@ -1060,7 +1403,7 @@ export {
1060
1403
  * @since 2.0.0
1061
1404
  */
1062
1405
  export function fail(err: SourceError | Schema.SchemaError) {
1063
- return make(() => Effect.fail(new ConfigError(err)))
1406
+ return make(() => Effect.fail(evaluationFailure(new ConfigError(err), false)))
1064
1407
  }
1065
1408
 
1066
1409
  /**
@@ -1074,19 +1417,21 @@ export function fail(err: SourceError | Schema.SchemaError) {
1074
1417
  *
1075
1418
  * **Example** (Returning a constant fallback)
1076
1419
  *
1077
- * ```ts
1078
- * import { Config } from "effect"
1420
+ * ```ts import.meta.vitest
1421
+ * import { Config, ConfigProvider, Effect } from "effect"
1079
1422
  *
1080
1423
  * const host = Config.string("HOST").pipe(
1081
1424
  * Config.orElse(() => Config.succeed("localhost"))
1082
1425
  * )
1426
+ * const provider = ConfigProvider.fromUnknown({})
1427
+ * Effect.runSync(host.parse(provider)) // => "localhost"
1083
1428
  * ```
1084
1429
  *
1085
1430
  * @category constructors
1086
1431
  * @since 2.0.0
1087
1432
  */
1088
1433
  export function succeed<T>(value: T) {
1089
- return make(() => Effect.succeed(value))
1434
+ return make(() => Effect.succeed(resolved(value, false)))
1090
1435
  }
1091
1436
 
1092
1437
  /**
@@ -1102,13 +1447,13 @@ export function succeed<T>(value: T) {
1102
1447
  *
1103
1448
  * **Example** (Reading a string config)
1104
1449
  *
1105
- * ```ts
1450
+ * ```ts import.meta.vitest
1106
1451
  * import { Config, ConfigProvider, Effect } from "effect"
1107
1452
  *
1108
1453
  * const host = Config.string("HOST")
1109
1454
  *
1110
1455
  * const provider = ConfigProvider.fromUnknown({ HOST: "localhost" })
1111
- * // Effect.runSync(host.parse(provider)) // "localhost"
1456
+ * Effect.runSync(host.parse(provider)) // => "localhost"
1112
1457
  * ```
1113
1458
  *
1114
1459
  * @see {@link nonEmptyString} – rejects empty strings
@@ -1219,10 +1564,12 @@ export function int(name?: string) {
1219
1564
  *
1220
1565
  * **Example** (Restricting to a literal)
1221
1566
  *
1222
- * ```ts
1223
- * import { Config } from "effect"
1567
+ * ```ts import.meta.vitest
1568
+ * import { Config, ConfigProvider, Effect } from "effect"
1224
1569
  *
1225
1570
  * const env = Config.literal("production", "ENV")
1571
+ * const provider = ConfigProvider.fromUnknown({ ENV: "production" })
1572
+ * Effect.runSync(env.parse(provider)) // => "production"
1226
1573
  * ```
1227
1574
  *
1228
1575
  * @see {@link literals} – accepts multiple literal values
@@ -1246,10 +1593,12 @@ export function literal<L extends SchemaAST.LiteralValue>(literal: L, name?: str
1246
1593
  *
1247
1594
  * **Example** (Restricting to a set of literals)
1248
1595
  *
1249
- * ```ts
1250
- * import { Config } from "effect"
1596
+ * ```ts import.meta.vitest
1597
+ * import { Config, ConfigProvider, Effect } from "effect"
1251
1598
  *
1252
1599
  * const env = Config.literals(["development", "production"], "ENV")
1600
+ * const provider = ConfigProvider.fromUnknown({ ENV: "development" })
1601
+ * Effect.runSync(env.parse(provider)) // => "development"
1253
1602
  * ```
1254
1603
  *
1255
1604
  * @see {@link literal} for accepting one specific literal value
@@ -1278,13 +1627,10 @@ export function literals<const L extends ReadonlyArray<SchemaAST.LiteralValue>>(
1278
1627
  *
1279
1628
  * **Example** (Reading a boolean flag)
1280
1629
  *
1281
- * ```ts
1630
+ * ```ts import.meta.vitest
1282
1631
  * import { Config, ConfigProvider, Effect } from "effect"
1283
1632
  *
1284
- * const program = Effect.gen(function*() {
1285
- * const flag = yield* Config.boolean("FEATURE_FLAG")
1286
- * console.log(flag)
1287
- * })
1633
+ * const program = Config.boolean("FEATURE_FLAG")
1288
1634
  *
1289
1635
  * const provider = ConfigProvider.fromEnv({
1290
1636
  * env: {
@@ -1294,8 +1640,7 @@ export function literals<const L extends ReadonlyArray<SchemaAST.LiteralValue>>(
1294
1640
  *
1295
1641
  * Effect.runSync(
1296
1642
  * program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
1297
- * )
1298
- * // Output: true
1643
+ * ) // => true
1299
1644
  * ```
1300
1645
  *
1301
1646
  * @see {@link Boolean} for the underlying boolean codec
@@ -1324,13 +1669,10 @@ export function boolean(name?: string) {
1324
1669
  *
1325
1670
  * **Example** (Reading a duration)
1326
1671
  *
1327
- * ```ts
1328
- * import { Config, ConfigProvider, Effect } from "effect"
1672
+ * ```ts import.meta.vitest
1673
+ * import { Config, ConfigProvider, Duration, Effect } from "effect"
1329
1674
  *
1330
- * const program = Effect.gen(function*() {
1331
- * const duration = yield* Config.duration("DURATION")
1332
- * console.log(duration)
1333
- * })
1675
+ * const program = Config.duration("DURATION").pipe(Effect.map(Duration.toMillis))
1334
1676
  *
1335
1677
  * const provider = ConfigProvider.fromEnv({
1336
1678
  * env: {
@@ -1340,8 +1682,7 @@ export function boolean(name?: string) {
1340
1682
  *
1341
1683
  * Effect.runSync(
1342
1684
  * program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
1343
- * )
1344
- * // Output: Duration { _tag: "millis", value: 10000 }
1685
+ * ) // => 10000
1345
1686
  * ```
1346
1687
  *
1347
1688
  * @see {@link schema} for decoding configuration values with a custom codec
@@ -1366,13 +1707,10 @@ export function duration(name?: string) {
1366
1707
  *
1367
1708
  * **Example** (Reading a port)
1368
1709
  *
1369
- * ```ts
1710
+ * ```ts import.meta.vitest
1370
1711
  * import { Config, ConfigProvider, Effect } from "effect"
1371
1712
  *
1372
- * const program = Effect.gen(function*() {
1373
- * const port = yield* Config.port("PORT")
1374
- * console.log(port)
1375
- * })
1713
+ * const program = Config.port("PORT")
1376
1714
  *
1377
1715
  * const provider = ConfigProvider.fromEnv({
1378
1716
  * env: {
@@ -1382,8 +1720,7 @@ export function duration(name?: string) {
1382
1720
  *
1383
1721
  * Effect.runSync(
1384
1722
  * program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
1385
- * )
1386
- * // Output: 8080
1723
+ * ) // => 8080
1387
1724
  * ```
1388
1725
  *
1389
1726
  * @see {@link int} for integer config values outside the port range
@@ -1412,13 +1749,10 @@ export function port(name?: string) {
1412
1749
  *
1413
1750
  * **Example** (Reading a log level)
1414
1751
  *
1415
- * ```ts
1752
+ * ```ts import.meta.vitest
1416
1753
  * import { Config, ConfigProvider, Effect } from "effect"
1417
1754
  *
1418
- * const program = Effect.gen(function*() {
1419
- * const logLevel = yield* Config.logLevel("LOG_LEVEL")
1420
- * console.log(logLevel)
1421
- * })
1755
+ * const program = Config.logLevel("LOG_LEVEL")
1422
1756
  *
1423
1757
  * const provider = ConfigProvider.fromEnv({
1424
1758
  * env: {
@@ -1428,8 +1762,7 @@ export function port(name?: string) {
1428
1762
  *
1429
1763
  * Effect.runSync(
1430
1764
  * program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
1431
- * )
1432
- * // Output: "Info"
1765
+ * ) // => "Info"
1433
1766
  * ```
1434
1767
  *
1435
1768
  * @see {@link LogLevel} for the underlying log-level codec
@@ -1456,13 +1789,10 @@ export function logLevel(name?: string) {
1456
1789
  *
1457
1790
  * **Example** (Reading a secret)
1458
1791
  *
1459
- * ```ts
1792
+ * ```ts import.meta.vitest
1460
1793
  * import { Config, ConfigProvider, Effect } from "effect"
1461
1794
  *
1462
- * const program = Effect.gen(function*() {
1463
- * const apiKey = yield* Config.redacted("API_KEY")
1464
- * console.log(apiKey)
1465
- * })
1795
+ * const program = Config.redacted("API_KEY").pipe(Effect.map(String))
1466
1796
  *
1467
1797
  * const provider = ConfigProvider.fromEnv({
1468
1798
  * env: {
@@ -1472,8 +1802,7 @@ export function logLevel(name?: string) {
1472
1802
  *
1473
1803
  * Effect.runSync(
1474
1804
  * program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
1475
- * )
1476
- * // Output: <redacted>
1805
+ * ) // => "<redacted>"
1477
1806
  * ```
1478
1807
  *
1479
1808
  * @see {@link string} for non-secret string settings
@@ -1502,13 +1831,10 @@ export function redacted(name?: string) {
1502
1831
  *
1503
1832
  * **Example** (Reading a URL)
1504
1833
  *
1505
- * ```ts
1834
+ * ```ts import.meta.vitest
1506
1835
  * import { Config, ConfigProvider, Effect } from "effect"
1507
1836
  *
1508
- * const program = Effect.gen(function*() {
1509
- * const url = yield* Config.url("URL")
1510
- * console.log(url)
1511
- * })
1837
+ * const program = Config.url("URL").pipe(Effect.map((url) => url.href))
1512
1838
  *
1513
1839
  * const provider = ConfigProvider.fromEnv({
1514
1840
  * env: {
@@ -1518,22 +1844,7 @@ export function redacted(name?: string) {
1518
1844
  *
1519
1845
  * Effect.runSync(
1520
1846
  * program.pipe(Effect.provideService(ConfigProvider.ConfigProvider, provider))
1521
- * )
1522
- * // Output:
1523
- * // URL {
1524
- * // href: 'https://example.com/',
1525
- * // origin: 'https://example.com',
1526
- * // protocol: 'https:',
1527
- * // username: '',
1528
- * // password: '',
1529
- * // host: 'example.com',
1530
- * // hostname: 'example.com',
1531
- * // port: '',
1532
- * // pathname: '/',
1533
- * // search: '',
1534
- * // searchParams: URLSearchParams {},
1535
- * // hash: ''
1536
- * // }
1847
+ * ) // => "https://example.com/"
1537
1848
  * ```
1538
1849
  *
1539
1850
  * @see {@link schema} for decoding configuration values with a custom codec
@@ -1554,7 +1865,7 @@ export function url(name?: string) {
1554
1865
  *
1555
1866
  * **Details**
1556
1867
  *
1557
- * Shortcut for `Config.schema(Schema.DateValid, name)`.
1868
+ * Shortcut for `Config.schema(Schema.Date, name)`.
1558
1869
  *
1559
1870
  * **Gotchas**
1560
1871
  *
@@ -1562,21 +1873,20 @@ export function url(name?: string) {
1562
1873
  *
1563
1874
  * **Example** (Reading a date)
1564
1875
  *
1565
- * ```ts
1876
+ * ```ts import.meta.vitest
1566
1877
  * import { Config, ConfigProvider, Effect } from "effect"
1567
1878
  *
1568
1879
  * const createdAt = Config.date("CREATED_AT")
1569
1880
  *
1570
1881
  * const provider = ConfigProvider.fromUnknown({ CREATED_AT: "2024-01-15" })
1571
- * // Effect.runSync(createdAt.parse(provider))
1572
- * // Date("2024-01-15T00:00:00.000Z")
1882
+ * Effect.runSync(createdAt.parse(provider)).toISOString() // => "2024-01-15T00:00:00.000Z"
1573
1883
  * ```
1574
1884
  *
1575
1885
  * @category constructors
1576
1886
  * @since 2.0.0
1577
1887
  */
1578
1888
  export function date(name?: string) {
1579
- return schema(Schema.DateValid, name)
1889
+ return schema(Schema.Date, name)
1580
1890
  }
1581
1891
 
1582
1892
  /**
@@ -1597,7 +1907,7 @@ export function date(name?: string) {
1597
1907
  *
1598
1908
  * **Example** (Nesting a struct config under `"database"`)
1599
1909
  *
1600
- * ```ts
1910
+ * ```ts import.meta.vitest
1601
1911
  * import { Config, ConfigProvider, Effect } from "effect"
1602
1912
  *
1603
1913
  * const dbConfig = Config.all({
@@ -1608,13 +1918,12 @@ export function date(name?: string) {
1608
1918
  * const provider = ConfigProvider.fromUnknown({
1609
1919
  * database: { host: "localhost", port: "5432" }
1610
1920
  * })
1611
- * // Effect.runSync(dbConfig.parse(provider))
1612
- * // { host: "localhost", port: 5432 }
1921
+ * Effect.runSync(dbConfig.parse(provider)) // => { host: "localhost", port: 5432 }
1613
1922
  * ```
1614
1923
  *
1615
1924
  * **Example** (Reading env vars with a nested prefix)
1616
1925
  *
1617
- * ```ts
1926
+ * ```ts import.meta.vitest
1618
1927
  * import { Config, ConfigProvider, Effect } from "effect"
1619
1928
  *
1620
1929
  * const host = Config.string("host").pipe(Config.nested("database"))
@@ -1622,7 +1931,7 @@ export function date(name?: string) {
1622
1931
  * const provider = ConfigProvider.fromEnv({
1623
1932
  * env: { database_host: "localhost" }
1624
1933
  * })
1625
- * // Effect.runSync(host.parse(provider)) // "localhost"
1934
+ * Effect.runSync(host.parse(provider)) // => "localhost"
1626
1935
  * ```
1627
1936
  *
1628
1937
  * @see {@link all} – combine multiple configs into a struct
@@ -1650,7 +1959,7 @@ export const nested: {
1650
1959
  *
1651
1960
  * **Example** (Nesting a struct config under `"database"`)
1652
1961
  *
1653
- * ```ts
1962
+ * ```ts import.meta.vitest
1654
1963
  * import { Config, ConfigProvider, Effect } from "effect"
1655
1964
  *
1656
1965
  * const dbConfig = Config.all({
@@ -1661,13 +1970,12 @@ export const nested: {
1661
1970
  * const provider = ConfigProvider.fromUnknown({
1662
1971
  * database: { host: "localhost", port: "5432" }
1663
1972
  * })
1664
- * // Effect.runSync(dbConfig.parse(provider))
1665
- * // { host: "localhost", port: 5432 }
1973
+ * Effect.runSync(dbConfig.parse(provider)) // => { host: "localhost", port: 5432 }
1666
1974
  * ```
1667
1975
  *
1668
1976
  * **Example** (Reading env vars with a nested prefix)
1669
1977
  *
1670
- * ```ts
1978
+ * ```ts import.meta.vitest
1671
1979
  * import { Config, ConfigProvider, Effect } from "effect"
1672
1980
  *
1673
1981
  * const host = Config.string("host").pipe(Config.nested("database"))
@@ -1675,7 +1983,7 @@ export const nested: {
1675
1983
  * const provider = ConfigProvider.fromEnv({
1676
1984
  * env: { database_host: "localhost" }
1677
1985
  * })
1678
- * // Effect.runSync(host.parse(provider)) // "localhost"
1986
+ * Effect.runSync(host.parse(provider)) // => "localhost"
1679
1987
  * ```
1680
1988
  *
1681
1989
  * @see {@link all} – combine multiple configs into a struct
@@ -1703,7 +2011,7 @@ export const nested: {
1703
2011
  *
1704
2012
  * **Example** (Nesting a struct config under `"database"`)
1705
2013
  *
1706
- * ```ts
2014
+ * ```ts import.meta.vitest
1707
2015
  * import { Config, ConfigProvider, Effect } from "effect"
1708
2016
  *
1709
2017
  * const dbConfig = Config.all({
@@ -1714,13 +2022,12 @@ export const nested: {
1714
2022
  * const provider = ConfigProvider.fromUnknown({
1715
2023
  * database: { host: "localhost", port: "5432" }
1716
2024
  * })
1717
- * // Effect.runSync(dbConfig.parse(provider))
1718
- * // { host: "localhost", port: 5432 }
2025
+ * Effect.runSync(dbConfig.parse(provider)) // => { host: "localhost", port: 5432 }
1719
2026
  * ```
1720
2027
  *
1721
2028
  * **Example** (Reading env vars with a nested prefix)
1722
2029
  *
1723
- * ```ts
2030
+ * ```ts import.meta.vitest
1724
2031
  * import { Config, ConfigProvider, Effect } from "effect"
1725
2032
  *
1726
2033
  * const host = Config.string("host").pipe(Config.nested("database"))
@@ -1728,7 +2035,7 @@ export const nested: {
1728
2035
  * const provider = ConfigProvider.fromEnv({
1729
2036
  * env: { database_host: "localhost" }
1730
2037
  * })
1731
- * // Effect.runSync(host.parse(provider)) // "localhost"
2038
+ * Effect.runSync(host.parse(provider)) // => "localhost"
1732
2039
  * ```
1733
2040
  *
1734
2041
  * @see {@link all} – combine multiple configs into a struct
@@ -1741,5 +2048,5 @@ export const nested: {
1741
2048
  } = dual(
1742
2049
  2,
1743
2050
  <A>(self: Config<A>, name: string): Config<A> =>
1744
- make((provider, pathPrefix) => self.parse(provider, [...pathPrefix, name]))
2051
+ make((provider, pathPrefix) => evaluateAt(self, provider, [...pathPrefix, name]))
1745
2052
  )