effect 4.0.0-beta.98 → 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 (1848) hide show
  1. package/AGENTS.md +381 -0
  2. package/CLAUDE.md +381 -0
  3. package/README.md +13 -20
  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 +463 -413
  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 +1412 -775
  226. package/dist/Graph.d.ts.map +1 -1
  227. package/dist/Graph.js +1180 -561
  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 +282 -318
  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 +2869 -1136
  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 +261 -111
  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 +198 -132
  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 +70 -55
  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.d.ts +76 -0
  780. package/dist/unstable/cli/CliConfig.d.ts.map +1 -0
  781. package/dist/unstable/cli/CliConfig.js +63 -0
  782. package/dist/unstable/cli/CliConfig.js.map +1 -0
  783. package/dist/unstable/cli/CliError.d.ts +126 -76
  784. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  785. package/dist/unstable/cli/CliError.js +138 -75
  786. package/dist/unstable/cli/CliError.js.map +1 -1
  787. package/dist/unstable/cli/CliOutput.d.ts +35 -54
  788. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  789. package/dist/unstable/cli/CliOutput.js +26 -42
  790. package/dist/unstable/cli/CliOutput.js.map +1 -1
  791. package/dist/unstable/cli/Command.d.ts +765 -109
  792. package/dist/unstable/cli/Command.d.ts.map +1 -1
  793. package/dist/unstable/cli/Command.js +335 -52
  794. package/dist/unstable/cli/Command.js.map +1 -1
  795. package/dist/unstable/cli/Completions.js.map +1 -1
  796. package/dist/unstable/cli/Flag.d.ts +418 -138
  797. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  798. package/dist/unstable/cli/Flag.js +197 -71
  799. package/dist/unstable/cli/Flag.js.map +1 -1
  800. package/dist/unstable/cli/GlobalFlag.d.ts +24 -3
  801. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  802. package/dist/unstable/cli/GlobalFlag.js +20 -4
  803. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  804. package/dist/unstable/cli/HelpDoc.d.ts +12 -4
  805. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  806. package/dist/unstable/cli/Param.d.ts +299 -83
  807. package/dist/unstable/cli/Param.d.ts.map +1 -1
  808. package/dist/unstable/cli/Param.js +152 -62
  809. package/dist/unstable/cli/Param.js.map +1 -1
  810. package/dist/unstable/cli/Primitive.d.ts +370 -149
  811. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  812. package/dist/unstable/cli/Primitive.js +377 -162
  813. package/dist/unstable/cli/Primitive.js.map +1 -1
  814. package/dist/unstable/cli/Prompt.d.ts +23 -14
  815. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  816. package/dist/unstable/cli/Prompt.js +54 -31
  817. package/dist/unstable/cli/Prompt.js.map +1 -1
  818. package/dist/unstable/cli/index.d.ts +4 -0
  819. package/dist/unstable/cli/index.d.ts.map +1 -1
  820. package/dist/unstable/cli/index.js +4 -0
  821. package/dist/unstable/cli/index.js.map +1 -1
  822. package/dist/unstable/cli/internal/ansi.d.ts.map +1 -1
  823. package/dist/unstable/cli/internal/ansi.js +4 -2
  824. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  825. package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
  826. package/dist/unstable/cli/internal/command.d.ts +5 -3
  827. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  828. package/dist/unstable/cli/internal/command.js +21 -13
  829. package/dist/unstable/cli/internal/command.js.map +1 -1
  830. package/dist/unstable/cli/internal/completions/bash.js +69 -9
  831. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  832. package/dist/unstable/cli/internal/completions/descriptor.js +24 -18
  833. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  834. package/dist/unstable/cli/internal/completions/fish.js +5 -5
  835. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  836. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  837. package/dist/unstable/cli/internal/config.d.ts +0 -48
  838. package/dist/unstable/cli/internal/config.d.ts.map +1 -1
  839. package/dist/unstable/cli/internal/config.js +8 -10
  840. package/dist/unstable/cli/internal/config.js.map +1 -1
  841. package/dist/unstable/cli/internal/help.d.ts.map +1 -1
  842. package/dist/unstable/cli/internal/help.js +4 -2
  843. package/dist/unstable/cli/internal/help.js.map +1 -1
  844. package/dist/unstable/cli/internal/lexer.js +17 -7
  845. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  846. package/dist/unstable/cli/internal/parser.js +16 -7
  847. package/dist/unstable/cli/internal/parser.js.map +1 -1
  848. package/dist/unstable/cli/internal/wizard.d.ts +13 -0
  849. package/dist/unstable/cli/internal/wizard.d.ts.map +1 -0
  850. package/dist/unstable/cli/internal/wizard.js +212 -0
  851. package/dist/unstable/cli/internal/wizard.js.map +1 -0
  852. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  853. package/dist/unstable/cluster/ClusterError.js +7 -7
  854. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  855. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  856. package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
  857. package/dist/unstable/cluster/ClusterSchema.js +8 -8
  858. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  859. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  860. package/dist/unstable/cluster/ClusterWorkflowEngine.js +32 -16
  861. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  862. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  863. package/dist/unstable/cluster/Entity.d.ts +12 -12
  864. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  865. package/dist/unstable/cluster/Entity.js +9 -9
  866. package/dist/unstable/cluster/Entity.js.map +1 -1
  867. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  868. package/dist/unstable/cluster/EntityId.js.map +1 -1
  869. package/dist/unstable/cluster/EntityProxy.d.ts +7 -5
  870. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  871. package/dist/unstable/cluster/EntityProxy.js +8 -5
  872. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  873. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  874. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  875. package/dist/unstable/cluster/EntityResource.js +2 -2
  876. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  877. package/dist/unstable/cluster/EntityType.js.map +1 -1
  878. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  879. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  880. package/dist/unstable/cluster/Envelope.js +5 -4
  881. package/dist/unstable/cluster/Envelope.js.map +1 -1
  882. package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
  883. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  884. package/dist/unstable/cluster/HttpRunner.js +6 -4
  885. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  886. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  887. package/dist/unstable/cluster/MachineId.js.map +1 -1
  888. package/dist/unstable/cluster/Message.d.ts +9 -9
  889. package/dist/unstable/cluster/Message.js +6 -6
  890. package/dist/unstable/cluster/Message.js.map +1 -1
  891. package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
  892. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  893. package/dist/unstable/cluster/MessageStorage.js +13 -6
  894. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  895. package/dist/unstable/cluster/Reply.d.ts +8 -0
  896. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  897. package/dist/unstable/cluster/Reply.js +17 -5
  898. package/dist/unstable/cluster/Reply.js.map +1 -1
  899. package/dist/unstable/cluster/Runner.d.ts +1 -1
  900. package/dist/unstable/cluster/Runner.js +1 -1
  901. package/dist/unstable/cluster/Runner.js.map +1 -1
  902. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  903. package/dist/unstable/cluster/RunnerAddress.js +1 -1
  904. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  905. package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
  906. package/dist/unstable/cluster/RunnerHealth.js +1 -1
  907. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  908. package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
  909. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  910. package/dist/unstable/cluster/RunnerServer.js +29 -23
  911. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  912. package/dist/unstable/cluster/RunnerStorage.d.ts +3 -4
  913. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  914. package/dist/unstable/cluster/RunnerStorage.js +9 -8
  915. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  916. package/dist/unstable/cluster/Runners.d.ts +11 -15
  917. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  918. package/dist/unstable/cluster/Runners.js +32 -22
  919. package/dist/unstable/cluster/Runners.js.map +1 -1
  920. package/dist/unstable/cluster/ShardId.js +1 -1
  921. package/dist/unstable/cluster/ShardId.js.map +1 -1
  922. package/dist/unstable/cluster/Sharding.d.ts +2 -2
  923. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  924. package/dist/unstable/cluster/Sharding.js +164 -31
  925. package/dist/unstable/cluster/Sharding.js.map +1 -1
  926. package/dist/unstable/cluster/ShardingConfig.d.ts +13 -5
  927. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  928. package/dist/unstable/cluster/ShardingConfig.js +3 -3
  929. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  930. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  931. package/dist/unstable/cluster/SingleRunner.d.ts +4 -2
  932. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  933. package/dist/unstable/cluster/SingleRunner.js +2 -1
  934. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  935. package/dist/unstable/cluster/Singleton.js.map +1 -1
  936. package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
  937. package/dist/unstable/cluster/SingletonAddress.js +1 -1
  938. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  939. package/dist/unstable/cluster/Snowflake.d.ts +8 -8
  940. package/dist/unstable/cluster/Snowflake.js +8 -8
  941. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  942. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  943. package/dist/unstable/cluster/SqlMessageStorage.d.ts +7 -4
  944. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  945. package/dist/unstable/cluster/SqlMessageStorage.js +56 -25
  946. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  947. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  948. package/dist/unstable/cluster/SqlRunnerStorage.js +141 -79
  949. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  950. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  951. package/dist/unstable/cluster/index.js.map +1 -1
  952. package/dist/unstable/cluster/internal/entityManager.js +25 -13
  953. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  954. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  955. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  956. package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
  957. package/dist/unstable/cluster/internal/resourceMap.js +2 -2
  958. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  959. package/dist/unstable/cluster/internal/resourceRef.js +17 -0
  960. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  961. package/dist/unstable/cluster/internal/shardLock.d.ts +2 -0
  962. package/dist/unstable/cluster/internal/shardLock.d.ts.map +1 -0
  963. package/dist/unstable/cluster/internal/shardLock.js +4 -0
  964. package/dist/unstable/cluster/internal/shardLock.js.map +1 -0
  965. package/dist/unstable/devtools/DevTools.js.map +1 -1
  966. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  967. package/dist/unstable/devtools/DevToolsClient.js +7 -2
  968. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  969. package/dist/unstable/devtools/DevToolsSchema.d.ts +20 -20
  970. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  971. package/dist/unstable/devtools/DevToolsSchema.js +8 -5
  972. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  973. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  974. package/dist/unstable/devtools/index.js.map +1 -1
  975. package/dist/unstable/encoding/Ini.d.ts +20 -0
  976. package/dist/unstable/encoding/Ini.d.ts.map +1 -0
  977. package/dist/unstable/encoding/Ini.js +153 -0
  978. package/dist/unstable/encoding/Ini.js.map +1 -0
  979. package/dist/unstable/encoding/Msgpack.d.ts +2 -1
  980. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  981. package/dist/unstable/encoding/Msgpack.js +31 -19
  982. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  983. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  984. package/dist/unstable/encoding/Ndjson.js +7 -1
  985. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  986. package/dist/unstable/encoding/Sse.d.ts +72 -8
  987. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  988. package/dist/unstable/encoding/Sse.js +72 -31
  989. package/dist/unstable/encoding/Sse.js.map +1 -1
  990. package/dist/unstable/encoding/Toml.d.ts +19 -0
  991. package/dist/unstable/encoding/Toml.d.ts.map +1 -0
  992. package/dist/unstable/encoding/Toml.js +434 -0
  993. package/dist/unstable/encoding/Toml.js.map +1 -0
  994. package/dist/unstable/encoding/Yaml.d.ts +19 -0
  995. package/dist/unstable/encoding/Yaml.d.ts.map +1 -0
  996. package/dist/unstable/encoding/Yaml.js +461 -0
  997. package/dist/unstable/encoding/Yaml.js.map +1 -0
  998. package/dist/unstable/encoding/index.d.ts +12 -0
  999. package/dist/unstable/encoding/index.d.ts.map +1 -1
  1000. package/dist/unstable/encoding/index.js +12 -0
  1001. package/dist/unstable/encoding/index.js.map +1 -1
  1002. package/dist/unstable/eventlog/Event.d.ts +20 -20
  1003. package/dist/unstable/eventlog/Event.js.map +1 -1
  1004. package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
  1005. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  1006. package/dist/unstable/eventlog/EventJournal.d.ts +17 -17
  1007. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  1008. package/dist/unstable/eventlog/EventJournal.js +27 -19
  1009. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  1010. package/dist/unstable/eventlog/EventLog.d.ts +3 -3
  1011. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  1012. package/dist/unstable/eventlog/EventLog.js +18 -14
  1013. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  1014. package/dist/unstable/eventlog/EventLogEncryption.d.ts +8 -7
  1015. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  1016. package/dist/unstable/eventlog/EventLogEncryption.js +16 -14
  1017. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  1018. package/dist/unstable/eventlog/EventLogMessage.d.ts +31 -31
  1019. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  1020. package/dist/unstable/eventlog/EventLogMessage.js +12 -8
  1021. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  1022. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
  1023. package/dist/unstable/eventlog/EventLogRemote.js +5 -5
  1024. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  1025. package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
  1026. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  1027. package/dist/unstable/eventlog/EventLogServer.js +45 -21
  1028. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  1029. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
  1030. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  1031. package/dist/unstable/eventlog/EventLogServerEncrypted.js +16 -7
  1032. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  1033. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
  1034. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  1035. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +15 -7
  1036. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  1037. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
  1038. package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
  1039. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  1040. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  1041. package/dist/unstable/eventlog/SqlEventJournal.js +3 -6
  1042. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  1043. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +1 -1
  1044. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  1045. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +3 -3
  1046. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  1047. package/dist/unstable/eventlog/index.js.map +1 -1
  1048. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  1049. package/dist/unstable/http/Cookies.d.ts +2 -2
  1050. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  1051. package/dist/unstable/http/Cookies.js +54 -40
  1052. package/dist/unstable/http/Cookies.js.map +1 -1
  1053. package/dist/unstable/http/Etag.d.ts +1 -1
  1054. package/dist/unstable/http/Etag.js +1 -1
  1055. package/dist/unstable/http/Etag.js.map +1 -1
  1056. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  1057. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  1058. package/dist/unstable/http/FindMyWay/internal/queryString.d.ts +11 -0
  1059. package/dist/unstable/http/FindMyWay/internal/queryString.d.ts.map +1 -0
  1060. package/dist/unstable/http/FindMyWay/internal/queryString.js +259 -0
  1061. package/dist/unstable/http/FindMyWay/internal/queryString.js.map +1 -0
  1062. package/dist/unstable/http/FindMyWay/internal/router.d.ts +2 -0
  1063. package/dist/unstable/http/FindMyWay/internal/router.d.ts.map +1 -0
  1064. package/dist/unstable/http/FindMyWay/internal/router.js +665 -0
  1065. package/dist/unstable/http/FindMyWay/internal/router.js.map +1 -0
  1066. package/dist/unstable/http/FindMyWay.d.ts +33 -8
  1067. package/dist/unstable/http/FindMyWay.d.ts.map +1 -1
  1068. package/dist/unstable/http/FindMyWay.js +4 -7
  1069. package/dist/unstable/http/FindMyWay.js.map +1 -1
  1070. package/dist/unstable/http/Headers.d.ts +2 -2
  1071. package/dist/unstable/http/Headers.js +10 -10
  1072. package/dist/unstable/http/Headers.js.map +1 -1
  1073. package/dist/unstable/http/HttpBody.d.ts +5 -3
  1074. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  1075. package/dist/unstable/http/HttpBody.js +11 -5
  1076. package/dist/unstable/http/HttpBody.js.map +1 -1
  1077. package/dist/unstable/http/HttpClient.d.ts +110 -47
  1078. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  1079. package/dist/unstable/http/HttpClient.js +79 -36
  1080. package/dist/unstable/http/HttpClient.js.map +1 -1
  1081. package/dist/unstable/http/HttpClientError.js +1 -1
  1082. package/dist/unstable/http/HttpClientError.js.map +1 -1
  1083. package/dist/unstable/http/HttpClientRequest.d.ts +44 -0
  1084. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  1085. package/dist/unstable/http/HttpClientRequest.js +16 -12
  1086. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  1087. package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
  1088. package/dist/unstable/http/HttpClientResponse.js +3 -18
  1089. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  1090. package/dist/unstable/http/HttpEffect.d.ts +7 -9
  1091. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  1092. package/dist/unstable/http/HttpEffect.js +7 -8
  1093. package/dist/unstable/http/HttpEffect.js.map +1 -1
  1094. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  1095. package/dist/unstable/http/HttpMethod.d.ts +6 -9
  1096. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  1097. package/dist/unstable/http/HttpMethod.js +6 -9
  1098. package/dist/unstable/http/HttpMethod.js.map +1 -1
  1099. package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
  1100. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  1101. package/dist/unstable/http/HttpMiddleware.js +164 -39
  1102. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  1103. package/dist/unstable/http/HttpPlatform.d.ts +76 -0
  1104. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  1105. package/dist/unstable/http/HttpPlatform.js +53 -3
  1106. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  1107. package/dist/unstable/http/HttpRouter.d.ts +91 -92
  1108. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  1109. package/dist/unstable/http/HttpRouter.js +78 -79
  1110. package/dist/unstable/http/HttpRouter.js.map +1 -1
  1111. package/dist/unstable/http/HttpServer.d.ts +13 -13
  1112. package/dist/unstable/http/HttpServer.js +6 -6
  1113. package/dist/unstable/http/HttpServer.js.map +1 -1
  1114. package/dist/unstable/http/HttpServerError.d.ts +2 -2
  1115. package/dist/unstable/http/HttpServerError.js +2 -2
  1116. package/dist/unstable/http/HttpServerError.js.map +1 -1
  1117. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  1118. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  1119. package/dist/unstable/http/HttpServerRequest.js +23 -15
  1120. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  1121. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  1122. package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
  1123. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  1124. package/dist/unstable/http/HttpServerResponse.js +17 -5
  1125. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  1126. package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
  1127. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  1128. package/dist/unstable/http/HttpStaticServer.js +35 -7
  1129. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  1130. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  1131. package/dist/unstable/http/Multipart.d.ts +28 -9
  1132. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  1133. package/dist/unstable/http/Multipart.js +68 -36
  1134. package/dist/unstable/http/Multipart.js.map +1 -1
  1135. package/dist/unstable/http/MultipartParser/HeadersParser.d.ts +53 -0
  1136. package/dist/unstable/http/MultipartParser/HeadersParser.d.ts.map +1 -0
  1137. package/dist/unstable/http/MultipartParser/HeadersParser.js +14 -0
  1138. package/dist/unstable/http/MultipartParser/HeadersParser.js.map +1 -0
  1139. package/dist/unstable/http/MultipartParser/Search.d.ts +11 -0
  1140. package/dist/unstable/http/MultipartParser/Search.d.ts.map +1 -0
  1141. package/dist/unstable/http/MultipartParser/Search.js +14 -0
  1142. package/dist/unstable/http/MultipartParser/Search.js.map +1 -0
  1143. package/dist/unstable/http/MultipartParser/internal/contentType.d.ts +5 -0
  1144. package/dist/unstable/http/MultipartParser/internal/contentType.d.ts.map +1 -0
  1145. package/dist/unstable/http/MultipartParser/internal/contentType.js +82 -0
  1146. package/dist/unstable/http/MultipartParser/internal/contentType.js.map +1 -0
  1147. package/dist/unstable/http/MultipartParser/internal/headers.d.ts +3 -0
  1148. package/dist/unstable/http/MultipartParser/internal/headers.d.ts.map +1 -0
  1149. package/dist/unstable/http/MultipartParser/internal/headers.js +208 -0
  1150. package/dist/unstable/http/MultipartParser/internal/headers.js.map +1 -0
  1151. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts +8 -0
  1152. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts.map +1 -0
  1153. package/dist/unstable/http/MultipartParser/internal/multipart.js +241 -0
  1154. package/dist/unstable/http/MultipartParser/internal/multipart.js.map +1 -0
  1155. package/dist/unstable/http/MultipartParser/internal/search.d.ts +5 -0
  1156. package/dist/unstable/http/MultipartParser/internal/search.d.ts.map +1 -0
  1157. package/dist/unstable/http/MultipartParser/internal/search.js +120 -0
  1158. package/dist/unstable/http/MultipartParser/internal/search.js.map +1 -0
  1159. package/dist/unstable/http/MultipartParser.d.ts +98 -0
  1160. package/dist/unstable/http/MultipartParser.d.ts.map +1 -0
  1161. package/dist/unstable/http/MultipartParser.js +23 -0
  1162. package/dist/unstable/http/MultipartParser.js.map +1 -0
  1163. package/dist/unstable/http/Template.d.ts.map +1 -1
  1164. package/dist/unstable/http/Template.js +3 -3
  1165. package/dist/unstable/http/Template.js.map +1 -1
  1166. package/dist/unstable/http/Url.d.ts +33 -63
  1167. package/dist/unstable/http/Url.d.ts.map +1 -1
  1168. package/dist/unstable/http/Url.js +14 -28
  1169. package/dist/unstable/http/Url.js.map +1 -1
  1170. package/dist/unstable/http/UrlParams.d.ts +10 -18
  1171. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  1172. package/dist/unstable/http/UrlParams.js +26 -31
  1173. package/dist/unstable/http/UrlParams.js.map +1 -1
  1174. package/dist/unstable/http/index.d.ts +1 -1
  1175. package/dist/unstable/http/index.d.ts.map +1 -1
  1176. package/dist/unstable/http/index.js +1 -1
  1177. package/dist/unstable/http/index.js.map +1 -1
  1178. package/dist/unstable/http/internal/compression.d.ts +2 -0
  1179. package/dist/unstable/http/internal/compression.d.ts.map +1 -0
  1180. package/dist/unstable/http/internal/compression.js +155 -0
  1181. package/dist/unstable/http/internal/compression.js.map +1 -0
  1182. package/dist/unstable/http/internal/httpBody.d.ts +2 -0
  1183. package/dist/unstable/http/internal/httpBody.d.ts.map +1 -0
  1184. package/dist/unstable/http/internal/httpBody.js +10 -0
  1185. package/dist/unstable/http/internal/httpBody.js.map +1 -0
  1186. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
  1187. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  1188. package/dist/unstable/httpapi/HttpApi.js +9 -9
  1189. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  1190. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +2 -2
  1191. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  1192. package/dist/unstable/httpapi/HttpApiBuilder.js +82 -30
  1193. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  1194. package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
  1195. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  1196. package/dist/unstable/httpapi/HttpApiClient.js +89 -51
  1197. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  1198. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +48 -46
  1199. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  1200. package/dist/unstable/httpapi/HttpApiEndpoint.js +73 -16
  1201. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  1202. package/dist/unstable/httpapi/HttpApiError.d.ts +18 -18
  1203. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  1204. package/dist/unstable/httpapi/HttpApiError.js +30 -30
  1205. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  1206. package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
  1207. package/dist/unstable/httpapi/HttpApiGroup.js +2 -2
  1208. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  1209. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
  1210. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  1211. package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
  1212. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  1213. package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
  1214. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  1215. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  1216. package/dist/unstable/httpapi/HttpApiSchema.d.ts +225 -6
  1217. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  1218. package/dist/unstable/httpapi/HttpApiSchema.js +174 -4
  1219. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  1220. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  1221. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  1222. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  1223. package/dist/unstable/httpapi/OpenApi.d.ts +21 -13
  1224. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  1225. package/dist/unstable/httpapi/OpenApi.js +110 -57
  1226. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  1227. package/dist/unstable/httpapi/index.js.map +1 -1
  1228. package/dist/unstable/httpapi/internal/html.js.map +1 -1
  1229. package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
  1230. package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
  1231. package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
  1232. package/dist/unstable/observability/Otlp.js.map +1 -1
  1233. package/dist/unstable/observability/OtlpExporter.d.ts +71 -2
  1234. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  1235. package/dist/unstable/observability/OtlpExporter.js +86 -7
  1236. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  1237. package/dist/unstable/observability/OtlpLogger.d.ts +4 -3
  1238. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  1239. package/dist/unstable/observability/OtlpLogger.js +4 -4
  1240. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  1241. package/dist/unstable/observability/OtlpMetrics.d.ts +11 -4
  1242. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  1243. package/dist/unstable/observability/OtlpMetrics.js +31 -15
  1244. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  1245. package/dist/unstable/observability/OtlpResource.d.ts +16 -7
  1246. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  1247. package/dist/unstable/observability/OtlpResource.js +21 -12
  1248. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  1249. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  1250. package/dist/unstable/observability/OtlpTracer.d.ts +4 -3
  1251. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  1252. package/dist/unstable/observability/OtlpTracer.js +3 -3
  1253. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  1254. package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
  1255. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  1256. package/dist/unstable/observability/PrometheusMetrics.js +10 -3
  1257. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  1258. package/dist/unstable/observability/index.js.map +1 -1
  1259. package/dist/unstable/observability/internal/otlpEnv.js +1 -1
  1260. package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
  1261. package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
  1262. package/dist/unstable/observability/internal/protobuf.js +3 -0
  1263. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  1264. package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
  1265. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  1266. package/dist/unstable/persistence/KeyValueStore.js +22 -13
  1267. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1268. package/dist/unstable/persistence/Persistable.d.ts +8 -8
  1269. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  1270. package/dist/unstable/persistence/Persistable.js +2 -1
  1271. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1272. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1273. package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
  1274. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  1275. package/dist/unstable/persistence/PersistedQueue.js +15 -15
  1276. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1277. package/dist/unstable/persistence/Persistence.d.ts +3 -3
  1278. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1279. package/dist/unstable/persistence/Persistence.js +108 -22
  1280. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1281. package/dist/unstable/persistence/RateLimiter.d.ts +47 -26
  1282. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1283. package/dist/unstable/persistence/RateLimiter.js +31 -47
  1284. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1285. package/dist/unstable/persistence/Redis.d.ts +2 -2
  1286. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  1287. package/dist/unstable/persistence/Redis.js +9 -7
  1288. package/dist/unstable/persistence/Redis.js.map +1 -1
  1289. package/dist/unstable/persistence/index.js.map +1 -1
  1290. package/dist/unstable/process/ChildProcess.d.ts +72 -21
  1291. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1292. package/dist/unstable/process/ChildProcess.js +14 -5
  1293. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1294. package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
  1295. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1296. package/dist/unstable/process/ChildProcessSpawner.js +4 -2
  1297. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1298. package/dist/unstable/process/index.js.map +1 -1
  1299. package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
  1300. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1301. package/dist/unstable/reactivity/AsyncResult.js +14 -13
  1302. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1303. package/dist/unstable/reactivity/Atom.d.ts +131 -30
  1304. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1305. package/dist/unstable/reactivity/Atom.js +53 -34
  1306. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1307. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
  1308. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1309. package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
  1310. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1311. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1312. package/dist/unstable/reactivity/AtomRegistry.js +25 -4
  1313. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1314. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  1315. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1316. package/dist/unstable/reactivity/AtomRpc.js +4 -1
  1317. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1318. package/dist/unstable/reactivity/Hydration.d.ts +1 -1
  1319. package/dist/unstable/reactivity/Hydration.js +1 -1
  1320. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1321. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1322. package/dist/unstable/reactivity/index.js.map +1 -1
  1323. package/dist/unstable/rpc/Rpc.d.ts +35 -33
  1324. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1325. package/dist/unstable/rpc/Rpc.js +4 -2
  1326. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1327. package/dist/unstable/rpc/RpcClient.d.ts +26 -12
  1328. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1329. package/dist/unstable/rpc/RpcClient.js +40 -22
  1330. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1331. package/dist/unstable/rpc/RpcClientError.js +2 -2
  1332. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1333. package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
  1334. package/dist/unstable/rpc/RpcGroup.js +1 -1
  1335. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1336. package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
  1337. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1338. package/dist/unstable/rpc/RpcMessage.js +6 -6
  1339. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1340. package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
  1341. package/dist/unstable/rpc/RpcMiddleware.js +1 -1
  1342. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1343. package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
  1344. package/dist/unstable/rpc/RpcSchema.js +3 -3
  1345. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1346. package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
  1347. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1348. package/dist/unstable/rpc/RpcSerialization.js +177 -96
  1349. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1350. package/dist/unstable/rpc/RpcServer.d.ts +13 -13
  1351. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  1352. package/dist/unstable/rpc/RpcServer.js +20 -15
  1353. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1354. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1355. package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
  1356. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1357. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1358. package/dist/unstable/rpc/Utils.js.map +1 -1
  1359. package/dist/unstable/rpc/index.js.map +1 -1
  1360. package/dist/unstable/schema/Model.d.ts +53 -51
  1361. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1362. package/dist/unstable/schema/Model.js +35 -33
  1363. package/dist/unstable/schema/Model.js.map +1 -1
  1364. package/dist/unstable/schema/VariantSchema.d.ts +11 -12
  1365. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1366. package/dist/unstable/schema/VariantSchema.js +28 -17
  1367. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1368. package/dist/unstable/schema/index.js.map +1 -1
  1369. package/dist/unstable/socket/Socket.d.ts +12 -4
  1370. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1371. package/dist/unstable/socket/Socket.js +38 -17
  1372. package/dist/unstable/socket/Socket.js.map +1 -1
  1373. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1374. package/dist/unstable/socket/index.js.map +1 -1
  1375. package/dist/unstable/sql/Migrator.d.ts +9 -1
  1376. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  1377. package/dist/unstable/sql/Migrator.js +15 -2
  1378. package/dist/unstable/sql/Migrator.js.map +1 -1
  1379. package/dist/unstable/sql/SqlClient.d.ts +2 -3
  1380. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1381. package/dist/unstable/sql/SqlClient.js +8 -4
  1382. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1383. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1384. package/dist/unstable/sql/SqlError.d.ts +2 -2
  1385. package/dist/unstable/sql/SqlError.js +15 -15
  1386. package/dist/unstable/sql/SqlError.js.map +1 -1
  1387. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  1388. package/dist/unstable/sql/SqlModel.js +2 -2
  1389. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1390. package/dist/unstable/sql/SqlResolver.d.ts +5 -5
  1391. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  1392. package/dist/unstable/sql/SqlResolver.js +30 -24
  1393. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1394. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1395. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1396. package/dist/unstable/sql/Statement.d.ts +6 -6
  1397. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1398. package/dist/unstable/sql/Statement.js +30 -27
  1399. package/dist/unstable/sql/Statement.js.map +1 -1
  1400. package/dist/unstable/sql/index.js.map +1 -1
  1401. package/dist/unstable/workers/Transferable.d.ts +1 -1
  1402. package/dist/unstable/workers/Transferable.js +1 -1
  1403. package/dist/unstable/workers/Transferable.js.map +1 -1
  1404. package/dist/unstable/workers/Worker.d.ts +2 -2
  1405. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  1406. package/dist/unstable/workers/Worker.js +13 -14
  1407. package/dist/unstable/workers/Worker.js.map +1 -1
  1408. package/dist/unstable/workers/WorkerError.d.ts +7 -7
  1409. package/dist/unstable/workers/WorkerError.js +11 -11
  1410. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1411. package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
  1412. package/dist/unstable/workers/WorkerRunner.js +1 -1
  1413. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1414. package/dist/unstable/workers/index.js.map +1 -1
  1415. package/dist/unstable/workflow/Activity.d.ts +2 -2
  1416. package/dist/unstable/workflow/Activity.js +2 -2
  1417. package/dist/unstable/workflow/Activity.js.map +1 -1
  1418. package/dist/unstable/workflow/DurableClock.d.ts +1 -1
  1419. package/dist/unstable/workflow/DurableClock.js +1 -1
  1420. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1421. package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
  1422. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  1423. package/dist/unstable/workflow/DurableDeferred.js +13 -8
  1424. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1425. package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
  1426. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1427. package/dist/unstable/workflow/DurableQueue.js +22 -20
  1428. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1429. package/dist/unstable/workflow/Workflow.d.ts +21 -21
  1430. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1431. package/dist/unstable/workflow/Workflow.js +13 -14
  1432. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1433. package/dist/unstable/workflow/WorkflowEngine.d.ts +26 -3
  1434. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  1435. package/dist/unstable/workflow/WorkflowEngine.js +72 -6
  1436. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1437. package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
  1438. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1439. package/dist/unstable/workflow/WorkflowProxy.js +4 -2
  1440. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1441. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1442. package/dist/unstable/workflow/index.js.map +1 -1
  1443. package/dist/unstable/workflow/internal/crypto.js.map +1 -1
  1444. package/package.json +12 -16
  1445. package/src/Array.ts +1069 -1071
  1446. package/src/BigDecimal.ts +433 -756
  1447. package/src/BigInt.ts +213 -269
  1448. package/src/Boolean.ts +146 -188
  1449. package/src/Brand.ts +4 -4
  1450. package/src/Cache.ts +469 -851
  1451. package/src/Cause.ts +167 -277
  1452. package/src/Channel.ts +982 -831
  1453. package/src/ChannelSchema.ts +1 -1
  1454. package/src/Chunk.ts +841 -1181
  1455. package/src/Clock.ts +181 -49
  1456. package/src/Combiner.ts +20 -33
  1457. package/src/Config.ts +642 -335
  1458. package/src/ConfigProvider.ts +267 -135
  1459. package/src/Console.ts +289 -39
  1460. package/src/Context.ts +323 -404
  1461. package/src/Cron.ts +271 -219
  1462. package/src/Crypto.ts +30 -23
  1463. package/src/Data.ts +63 -82
  1464. package/src/DateTime.ts +564 -660
  1465. package/src/Deferred.ts +259 -258
  1466. package/src/Duration.ts +244 -311
  1467. package/src/Effect.ts +3215 -3394
  1468. package/src/Encoding.ts +22 -40
  1469. package/src/Equal.ts +59 -41
  1470. package/src/Equivalence.ts +103 -105
  1471. package/src/ErrorReporter.ts +51 -27
  1472. package/src/ExecutionPlan.ts +91 -56
  1473. package/src/Exit.ts +116 -192
  1474. package/src/Fiber.ts +82 -149
  1475. package/src/FiberHandle.ts +155 -107
  1476. package/src/FiberMap.ts +225 -174
  1477. package/src/FiberSet.ts +125 -83
  1478. package/src/FileSystem.ts +156 -264
  1479. package/src/Filter.ts +61 -33
  1480. package/src/Formatter.ts +69 -76
  1481. package/src/Function.ts +119 -151
  1482. package/src/Graph.ts +3258 -1102
  1483. package/src/HKT.ts +12 -6
  1484. package/src/Hash.ts +52 -83
  1485. package/src/HashMap.ts +319 -411
  1486. package/src/HashRing.ts +1 -0
  1487. package/src/HashSet.ts +177 -284
  1488. package/src/Inspectable.ts +22 -20
  1489. package/src/Iterable.ts +665 -799
  1490. package/src/JsonPatch.ts +60 -113
  1491. package/src/JsonPointer.ts +8 -8
  1492. package/src/JsonSchema.ts +408 -251
  1493. package/src/Latch.ts +23 -35
  1494. package/src/Layer.ts +366 -265
  1495. package/src/LayerMap.ts +49 -29
  1496. package/src/LayerRef.ts +6 -2
  1497. package/src/LogLevel.ts +114 -214
  1498. package/src/Logger.ts +348 -700
  1499. package/src/ManagedRuntime.ts +20 -5
  1500. package/src/Match.ts +217 -252
  1501. package/src/Metric.ts +520 -1092
  1502. package/src/MutableHashMap.ts +218 -255
  1503. package/src/MutableHashSet.ts +84 -89
  1504. package/src/MutableList.ts +77 -370
  1505. package/src/MutableRef.ts +420 -243
  1506. package/src/Newtype.ts +21 -14
  1507. package/src/NonEmptyIterable.ts +7 -137
  1508. package/src/Number.ts +196 -233
  1509. package/src/Optic.ts +303 -441
  1510. package/src/Option.ts +449 -813
  1511. package/src/Order.ts +109 -109
  1512. package/src/Ordering.ts +20 -23
  1513. package/src/PartitionedSemaphore.ts +1 -4
  1514. package/src/Path.ts +38 -41
  1515. package/src/Pipeable.ts +6 -5
  1516. package/src/PlatformError.ts +4 -4
  1517. package/src/Pool.ts +4 -2
  1518. package/src/Predicate.ts +200 -181
  1519. package/src/PrimaryKey.ts +7 -7
  1520. package/src/PubSub.ts +526 -552
  1521. package/src/Pull.ts +24 -18
  1522. package/src/Queue.ts +204 -165
  1523. package/src/Random.ts +49 -74
  1524. package/src/RcMap.ts +121 -63
  1525. package/src/RcRef.ts +24 -13
  1526. package/src/Record.ts +387 -487
  1527. package/src/Redactable.ts +10 -3
  1528. package/src/Redacted.ts +25 -25
  1529. package/src/Reducer.ts +8 -15
  1530. package/src/Ref.ts +221 -361
  1531. package/src/References.ts +102 -214
  1532. package/src/RegExp.ts +10 -14
  1533. package/src/Request.ts +36 -28
  1534. package/src/RequestResolver.ts +202 -91
  1535. package/src/Result.ts +314 -485
  1536. package/src/Runtime.ts +50 -75
  1537. package/src/Schedule.ts +311 -1737
  1538. package/src/Scheduler.ts +20 -7
  1539. package/src/Schema.ts +3476 -1914
  1540. package/src/SchemaAST.ts +902 -573
  1541. package/src/SchemaGetter.ts +351 -233
  1542. package/src/SchemaIssue.ts +367 -334
  1543. package/src/SchemaParser.ts +254 -148
  1544. package/src/SchemaRepresentation.ts +732 -3414
  1545. package/src/SchemaTransformation.ts +186 -97
  1546. package/src/Scope.ts +123 -151
  1547. package/src/ScopedCache.ts +1 -1
  1548. package/src/ScopedRef.ts +6 -4
  1549. package/src/Semaphore.ts +157 -54
  1550. package/src/Sink.ts +129 -114
  1551. package/src/Stdio.ts +24 -5
  1552. package/src/Stream.ts +2745 -3173
  1553. package/src/String.ts +275 -312
  1554. package/src/Struct.ts +114 -118
  1555. package/src/SubscriptionRef.ts +284 -252
  1556. package/src/Symbol.ts +3 -3
  1557. package/src/SynchronizedRef.ts +1 -1
  1558. package/src/Terminal.ts +3 -3
  1559. package/src/Tracer.ts +102 -55
  1560. package/src/Trie.ts +287 -679
  1561. package/src/Tuple.ts +99 -131
  1562. package/src/TxChunk.ts +201 -121
  1563. package/src/TxDeferred.ts +62 -46
  1564. package/src/TxHashMap.ts +645 -799
  1565. package/src/TxHashSet.ts +443 -356
  1566. package/src/TxPriorityQueue.ts +130 -98
  1567. package/src/TxPubSub.ts +107 -80
  1568. package/src/TxQueue.ts +215 -184
  1569. package/src/TxReentrantLock.ts +136 -101
  1570. package/src/TxRef.ts +51 -32
  1571. package/src/TxSemaphore.ts +129 -95
  1572. package/src/TxSubscriptionRef.ts +97 -70
  1573. package/src/Types.ts +127 -70
  1574. package/src/Unify.ts +45 -65
  1575. package/src/Utils.ts +23 -16
  1576. package/src/index.ts +0 -10
  1577. package/src/internal/core.ts +6 -5
  1578. package/src/internal/dateTime.ts +7 -1
  1579. package/src/internal/effect.ts +313 -137
  1580. package/src/internal/executionPlan.ts +106 -10
  1581. package/src/internal/hashMap.ts +20 -14
  1582. package/src/internal/matcher.ts +3 -3
  1583. package/src/internal/persistence.ts +2 -0
  1584. package/src/internal/rcRef.ts +24 -16
  1585. package/src/internal/record.ts +11 -7
  1586. package/src/internal/references.ts +3 -7
  1587. package/src/internal/schedule.ts +4 -4
  1588. package/src/internal/schema/annotations.ts +48 -1
  1589. package/src/internal/schema/fromJsonSchemaDocument.ts +977 -0
  1590. package/src/internal/schema/fromRepresentation.ts +339 -0
  1591. package/src/internal/schema/parser.ts +22 -0
  1592. package/src/internal/schema/schema.ts +46 -63
  1593. package/src/internal/schema/{arbitrary.ts → toArbitrary.ts} +9 -81
  1594. package/src/internal/schema/toCodeDocument.ts +572 -0
  1595. package/src/internal/schema/{equivalence.ts → toEquivalence.ts} +12 -7
  1596. package/src/internal/schema/toJsonSchemaDocument.ts +549 -0
  1597. package/src/internal/schema/toRepresentation.ts +404 -0
  1598. package/src/internal/stackTraceLimit.ts +3 -7
  1599. package/src/internal/trie.ts +21 -12
  1600. package/src/testing/FastCheck.ts +8 -7
  1601. package/src/testing/TestClock.ts +86 -32
  1602. package/src/testing/TestConsole.ts +32 -31
  1603. package/src/testing/TestSchema.ts +40 -40
  1604. package/src/unstable/ai/AiError.ts +119 -141
  1605. package/src/unstable/ai/AnthropicStructuredOutput.ts +103 -334
  1606. package/src/unstable/ai/Chat.ts +133 -98
  1607. package/src/unstable/ai/EmbeddingModel.ts +1 -1
  1608. package/src/unstable/ai/IdGenerator.ts +32 -28
  1609. package/src/unstable/ai/LanguageModel.ts +141 -97
  1610. package/src/unstable/ai/McpProtocol.ts +48 -0
  1611. package/src/unstable/ai/McpSchema.ts +92 -81
  1612. package/src/unstable/ai/McpServer.ts +1057 -303
  1613. package/src/unstable/ai/Model.ts +9 -20
  1614. package/src/unstable/ai/OpenAiStructuredOutput.ts +231 -396
  1615. package/src/unstable/ai/Prompt.ts +212 -63
  1616. package/src/unstable/ai/Response.ts +52 -38
  1617. package/src/unstable/ai/Telemetry.ts +46 -13
  1618. package/src/unstable/ai/Tokenizer.ts +14 -3
  1619. package/src/unstable/ai/Tool.ts +94 -64
  1620. package/src/unstable/ai/Toolkit.ts +45 -15
  1621. package/src/unstable/ai/index.ts +5 -0
  1622. package/src/unstable/ai/internal/codec-transformer.ts +13 -7
  1623. package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
  1624. package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
  1625. package/src/unstable/ai/internal/structured-output.ts +453 -0
  1626. package/src/unstable/cli/Argument.ts +279 -72
  1627. package/src/unstable/cli/CliConfig.ts +85 -0
  1628. package/src/unstable/cli/CliError.ts +161 -90
  1629. package/src/unstable/cli/CliOutput.ts +44 -58
  1630. package/src/unstable/cli/Command.ts +839 -123
  1631. package/src/unstable/cli/Flag.ts +418 -138
  1632. package/src/unstable/cli/GlobalFlag.ts +34 -6
  1633. package/src/unstable/cli/HelpDoc.ts +12 -4
  1634. package/src/unstable/cli/Param.ts +351 -103
  1635. package/src/unstable/cli/Primitive.ts +383 -156
  1636. package/src/unstable/cli/Prompt.ts +64 -34
  1637. package/src/unstable/cli/index.ts +5 -0
  1638. package/src/unstable/cli/internal/ansi.ts +5 -2
  1639. package/src/unstable/cli/internal/command.ts +28 -15
  1640. package/src/unstable/cli/internal/completions/bash.ts +59 -9
  1641. package/src/unstable/cli/internal/completions/descriptor.ts +14 -20
  1642. package/src/unstable/cli/internal/completions/fish.ts +5 -7
  1643. package/src/unstable/cli/internal/config.ts +8 -10
  1644. package/src/unstable/cli/internal/help.ts +4 -2
  1645. package/src/unstable/cli/internal/lexer.ts +8 -2
  1646. package/src/unstable/cli/internal/parser.ts +19 -7
  1647. package/src/unstable/cli/internal/wizard.ts +283 -0
  1648. package/src/unstable/cluster/ClusterError.ts +7 -7
  1649. package/src/unstable/cluster/ClusterSchema.ts +8 -8
  1650. package/src/unstable/cluster/ClusterWorkflowEngine.ts +36 -20
  1651. package/src/unstable/cluster/Entity.ts +23 -19
  1652. package/src/unstable/cluster/EntityProxy.ts +16 -7
  1653. package/src/unstable/cluster/EntityResource.ts +2 -2
  1654. package/src/unstable/cluster/Envelope.ts +5 -4
  1655. package/src/unstable/cluster/HttpRunner.ts +6 -4
  1656. package/src/unstable/cluster/Message.ts +9 -9
  1657. package/src/unstable/cluster/MessageStorage.ts +24 -20
  1658. package/src/unstable/cluster/Reply.ts +26 -7
  1659. package/src/unstable/cluster/Runner.ts +1 -1
  1660. package/src/unstable/cluster/RunnerAddress.ts +1 -1
  1661. package/src/unstable/cluster/RunnerHealth.ts +1 -1
  1662. package/src/unstable/cluster/RunnerServer.ts +45 -18
  1663. package/src/unstable/cluster/RunnerStorage.ts +12 -10
  1664. package/src/unstable/cluster/Runners.ts +48 -26
  1665. package/src/unstable/cluster/ShardId.ts +1 -1
  1666. package/src/unstable/cluster/Sharding.ts +223 -55
  1667. package/src/unstable/cluster/ShardingConfig.ts +8 -4
  1668. package/src/unstable/cluster/SingleRunner.ts +4 -2
  1669. package/src/unstable/cluster/SingletonAddress.ts +1 -1
  1670. package/src/unstable/cluster/Snowflake.ts +8 -8
  1671. package/src/unstable/cluster/SqlMessageStorage.ts +84 -36
  1672. package/src/unstable/cluster/SqlRunnerStorage.ts +223 -133
  1673. package/src/unstable/cluster/internal/entityManager.ts +43 -26
  1674. package/src/unstable/cluster/internal/resourceMap.ts +5 -2
  1675. package/src/unstable/cluster/internal/resourceRef.ts +27 -5
  1676. package/src/unstable/cluster/internal/shardLock.ts +9 -0
  1677. package/src/unstable/devtools/DevToolsClient.ts +3 -2
  1678. package/src/unstable/devtools/DevToolsSchema.ts +10 -5
  1679. package/src/unstable/encoding/Ini.ts +174 -0
  1680. package/src/unstable/encoding/Msgpack.ts +61 -40
  1681. package/src/unstable/encoding/Ndjson.ts +9 -1
  1682. package/src/unstable/encoding/Sse.ts +109 -37
  1683. package/src/unstable/encoding/Toml.ts +504 -0
  1684. package/src/unstable/encoding/Yaml.ts +541 -0
  1685. package/src/unstable/encoding/index.ts +15 -0
  1686. package/src/unstable/eventlog/Event.ts +20 -20
  1687. package/src/unstable/eventlog/EventGroup.ts +4 -4
  1688. package/src/unstable/eventlog/EventJournal.ts +30 -22
  1689. package/src/unstable/eventlog/EventLog.ts +24 -14
  1690. package/src/unstable/eventlog/EventLogEncryption.ts +17 -18
  1691. package/src/unstable/eventlog/EventLogMessage.ts +15 -9
  1692. package/src/unstable/eventlog/EventLogRemote.ts +5 -5
  1693. package/src/unstable/eventlog/EventLogServer.ts +41 -7
  1694. package/src/unstable/eventlog/EventLogServerEncrypted.ts +15 -7
  1695. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +15 -7
  1696. package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
  1697. package/src/unstable/eventlog/SqlEventJournal.ts +8 -6
  1698. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +1 -1
  1699. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +6 -3
  1700. package/src/unstable/http/Cookies.ts +64 -45
  1701. package/src/unstable/http/Etag.ts +1 -1
  1702. package/src/unstable/http/FetchHttpClient.ts +3 -1
  1703. package/src/unstable/http/FindMyWay/internal/queryString.ts +420 -0
  1704. package/src/unstable/http/FindMyWay/internal/router.ts +950 -0
  1705. package/src/unstable/http/FindMyWay.ts +65 -6
  1706. package/src/unstable/http/Headers.ts +10 -10
  1707. package/src/unstable/http/HttpBody.ts +20 -5
  1708. package/src/unstable/http/HttpClient.ts +215 -78
  1709. package/src/unstable/http/HttpClientError.ts +1 -1
  1710. package/src/unstable/http/HttpClientRequest.ts +59 -12
  1711. package/src/unstable/http/HttpClientResponse.ts +5 -21
  1712. package/src/unstable/http/HttpEffect.ts +20 -19
  1713. package/src/unstable/http/HttpMethod.ts +6 -9
  1714. package/src/unstable/http/HttpMiddleware.ts +202 -39
  1715. package/src/unstable/http/HttpPlatform.ts +129 -6
  1716. package/src/unstable/http/HttpRouter.ts +109 -101
  1717. package/src/unstable/http/HttpServer.ts +13 -13
  1718. package/src/unstable/http/HttpServerError.ts +2 -2
  1719. package/src/unstable/http/HttpServerRequest.ts +31 -17
  1720. package/src/unstable/http/HttpServerResponse.ts +38 -6
  1721. package/src/unstable/http/HttpStaticServer.ts +35 -7
  1722. package/src/unstable/http/Multipart.ts +70 -37
  1723. package/src/unstable/http/MultipartParser/HeadersParser.ts +68 -0
  1724. package/src/unstable/http/MultipartParser/Search.ts +17 -0
  1725. package/src/unstable/http/MultipartParser/internal/contentType.ts +103 -0
  1726. package/src/unstable/http/MultipartParser/internal/headers.ts +244 -0
  1727. package/src/unstable/http/MultipartParser/internal/multipart.ts +279 -0
  1728. package/src/unstable/http/MultipartParser/internal/search.ts +167 -0
  1729. package/src/unstable/http/MultipartParser.ts +115 -0
  1730. package/src/unstable/http/Template.ts +7 -6
  1731. package/src/unstable/http/Url.ts +33 -63
  1732. package/src/unstable/http/UrlParams.ts +27 -32
  1733. package/src/unstable/http/index.ts +1 -1
  1734. package/src/unstable/http/internal/compression.ts +196 -0
  1735. package/src/unstable/http/internal/httpBody.ts +15 -0
  1736. package/src/unstable/httpapi/HttpApi.ts +10 -11
  1737. package/src/unstable/httpapi/HttpApiBuilder.ts +155 -34
  1738. package/src/unstable/httpapi/HttpApiClient.ts +142 -61
  1739. package/src/unstable/httpapi/HttpApiEndpoint.ts +159 -71
  1740. package/src/unstable/httpapi/HttpApiError.ts +46 -52
  1741. package/src/unstable/httpapi/HttpApiGroup.ts +17 -17
  1742. package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
  1743. package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
  1744. package/src/unstable/httpapi/HttpApiSchema.ts +359 -6
  1745. package/src/unstable/httpapi/OpenApi.ts +153 -62
  1746. package/src/unstable/observability/OtlpExporter.ts +130 -12
  1747. package/src/unstable/observability/OtlpLogger.ts +8 -6
  1748. package/src/unstable/observability/OtlpMetrics.ts +42 -21
  1749. package/src/unstable/observability/OtlpResource.ts +26 -17
  1750. package/src/unstable/observability/OtlpTracer.ts +9 -5
  1751. package/src/unstable/observability/PrometheusMetrics.ts +13 -4
  1752. package/src/unstable/observability/internal/otlpEnv.ts +1 -1
  1753. package/src/unstable/observability/internal/protobuf.ts +3 -0
  1754. package/src/unstable/persistence/KeyValueStore.ts +72 -49
  1755. package/src/unstable/persistence/Persistable.ts +11 -10
  1756. package/src/unstable/persistence/PersistedQueue.ts +18 -15
  1757. package/src/unstable/persistence/Persistence.ts +153 -26
  1758. package/src/unstable/persistence/RateLimiter.ts +79 -45
  1759. package/src/unstable/persistence/Redis.ts +14 -9
  1760. package/src/unstable/process/ChildProcess.ts +72 -21
  1761. package/src/unstable/process/ChildProcessSpawner.ts +22 -11
  1762. package/src/unstable/reactivity/AsyncResult.ts +23 -18
  1763. package/src/unstable/reactivity/Atom.ts +161 -47
  1764. package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
  1765. package/src/unstable/reactivity/AtomRegistry.ts +25 -4
  1766. package/src/unstable/reactivity/AtomRpc.ts +5 -4
  1767. package/src/unstable/reactivity/Hydration.ts +1 -1
  1768. package/src/unstable/rpc/Rpc.ts +35 -33
  1769. package/src/unstable/rpc/RpcClient.ts +65 -29
  1770. package/src/unstable/rpc/RpcClientError.ts +2 -2
  1771. package/src/unstable/rpc/RpcGroup.ts +8 -8
  1772. package/src/unstable/rpc/RpcMessage.ts +31 -30
  1773. package/src/unstable/rpc/RpcMiddleware.ts +10 -10
  1774. package/src/unstable/rpc/RpcSchema.ts +4 -4
  1775. package/src/unstable/rpc/RpcSerialization.ts +167 -68
  1776. package/src/unstable/rpc/RpcServer.ts +22 -17
  1777. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1778. package/src/unstable/schema/Model.ts +52 -50
  1779. package/src/unstable/schema/VariantSchema.ts +51 -43
  1780. package/src/unstable/socket/Socket.ts +42 -19
  1781. package/src/unstable/sql/Migrator.ts +22 -9
  1782. package/src/unstable/sql/SqlClient.ts +65 -58
  1783. package/src/unstable/sql/SqlError.ts +15 -15
  1784. package/src/unstable/sql/SqlModel.ts +2 -2
  1785. package/src/unstable/sql/SqlResolver.ts +41 -31
  1786. package/src/unstable/sql/Statement.ts +44 -37
  1787. package/src/unstable/workers/Transferable.ts +1 -1
  1788. package/src/unstable/workers/Worker.ts +15 -16
  1789. package/src/unstable/workers/WorkerError.ts +12 -12
  1790. package/src/unstable/workers/WorkerRunner.ts +1 -1
  1791. package/src/unstable/workflow/Activity.ts +2 -2
  1792. package/src/unstable/workflow/DurableClock.ts +1 -1
  1793. package/src/unstable/workflow/DurableDeferred.ts +18 -13
  1794. package/src/unstable/workflow/DurableQueue.ts +22 -20
  1795. package/src/unstable/workflow/Workflow.ts +23 -26
  1796. package/src/unstable/workflow/WorkflowEngine.ts +111 -8
  1797. package/src/unstable/workflow/WorkflowProxy.ts +4 -2
  1798. package/dist/SchemaError.d.ts +0 -53
  1799. package/dist/SchemaError.d.ts.map +0 -1
  1800. package/dist/SchemaError.js +0 -61
  1801. package/dist/SchemaError.js.map +0 -1
  1802. package/dist/SchemaUtils.d.ts +0 -28
  1803. package/dist/SchemaUtils.d.ts.map +0 -1
  1804. package/dist/SchemaUtils.js +0 -45
  1805. package/dist/SchemaUtils.js.map +0 -1
  1806. package/dist/internal/schema/arbitrary.d.ts +0 -5
  1807. package/dist/internal/schema/arbitrary.d.ts.map +0 -1
  1808. package/dist/internal/schema/arbitrary.js.map +0 -1
  1809. package/dist/internal/schema/equivalence.d.ts +0 -2
  1810. package/dist/internal/schema/equivalence.d.ts.map +0 -1
  1811. package/dist/internal/schema/equivalence.js.map +0 -1
  1812. package/dist/internal/schema/representation.d.ts +0 -2
  1813. package/dist/internal/schema/representation.d.ts.map +0 -1
  1814. package/dist/internal/schema/representation.js +0 -865
  1815. package/dist/internal/schema/representation.js.map +0 -1
  1816. package/dist/internal/version.d.ts +0 -3
  1817. package/dist/internal/version.d.ts.map +0 -1
  1818. package/dist/internal/version.js +0 -2
  1819. package/dist/internal/version.js.map +0 -1
  1820. package/dist/unstable/http/Multipasta/HeadersParser.d.ts +0 -14
  1821. package/dist/unstable/http/Multipasta/HeadersParser.d.ts.map +0 -1
  1822. package/dist/unstable/http/Multipasta/HeadersParser.js +0 -14
  1823. package/dist/unstable/http/Multipasta/HeadersParser.js.map +0 -1
  1824. package/dist/unstable/http/Multipasta/Node.d.ts +0 -14
  1825. package/dist/unstable/http/Multipasta/Node.d.ts.map +0 -1
  1826. package/dist/unstable/http/Multipasta/Node.js +0 -14
  1827. package/dist/unstable/http/Multipasta/Node.js.map +0 -1
  1828. package/dist/unstable/http/Multipasta/Search.d.ts +0 -14
  1829. package/dist/unstable/http/Multipasta/Search.d.ts.map +0 -1
  1830. package/dist/unstable/http/Multipasta/Search.js +0 -14
  1831. package/dist/unstable/http/Multipasta/Search.js.map +0 -1
  1832. package/dist/unstable/http/Multipasta/Web.d.ts +0 -14
  1833. package/dist/unstable/http/Multipasta/Web.d.ts.map +0 -1
  1834. package/dist/unstable/http/Multipasta/Web.js +0 -14
  1835. package/dist/unstable/http/Multipasta/Web.js.map +0 -1
  1836. package/dist/unstable/http/Multipasta.d.ts +0 -15
  1837. package/dist/unstable/http/Multipasta.d.ts.map +0 -1
  1838. package/dist/unstable/http/Multipasta.js +0 -15
  1839. package/dist/unstable/http/Multipasta.js.map +0 -1
  1840. package/src/SchemaError.ts +0 -64
  1841. package/src/SchemaUtils.ts +0 -51
  1842. package/src/internal/schema/representation.ts +0 -795
  1843. package/src/internal/version.ts +0 -2
  1844. package/src/unstable/http/Multipasta/HeadersParser.ts +0 -14
  1845. package/src/unstable/http/Multipasta/Node.ts +0 -14
  1846. package/src/unstable/http/Multipasta/Search.ts +0 -14
  1847. package/src/unstable/http/Multipasta/Web.ts +0 -14
  1848. package/src/unstable/http/Multipasta.ts +0 -15
@@ -14,7 +14,7 @@
14
14
  import * as DateTime from "./DateTime.ts"
15
15
  import * as Effect from "./Effect.ts"
16
16
  import * as Encoding from "./Encoding.ts"
17
- import * as internalRecord from "./internal/record.ts"
17
+ import * as InternalRecord from "./internal/record.ts"
18
18
  import * as Option from "./Option.ts"
19
19
  import * as Pipeable from "./Pipeable.ts"
20
20
  import * as Predicate from "./Predicate.ts"
@@ -45,13 +45,13 @@ import * as Str from "./String.ts"
45
45
  *
46
46
  * **Example** (Creating and composing getters)
47
47
  *
48
- * ```ts
49
- * import { SchemaGetter } from "effect"
48
+ * ```ts import.meta.vitest
49
+ * import { Effect, Option, SchemaGetter } from "effect"
50
50
  *
51
51
  * const parseNumber = SchemaGetter.transform<number, string>((s) => Number(s))
52
52
  * const double = SchemaGetter.transform<number, number>((n) => n * 2)
53
53
  * const composed = parseNumber.compose(double)
54
- * // composed: Getter<number, string> — parses then doubles
54
+ * await Effect.runPromise(composed.run(Option.some("21"), {})) // => Option.some(42)
55
55
  * ```
56
56
  *
57
57
  * @see {@link transform} to create a getter from a pure function
@@ -105,11 +105,11 @@ export class Getter<out T, in E, R = never> extends Pipeable.Class {
105
105
  *
106
106
  * **Example** (Returning a constant getter)
107
107
  *
108
- * ```ts
109
- * import { SchemaGetter } from "effect"
108
+ * ```ts import.meta.vitest
109
+ * import { Effect, Option, SchemaGetter } from "effect"
110
110
  *
111
111
  * const alwaysZero = SchemaGetter.succeed(0)
112
- * // alwaysZero: Getter<0, unknown> — always produces 0
112
+ * await Effect.runPromise(alwaysZero.run(Option.none(), {})) // => Option.some(0)
113
113
  * ```
114
114
  *
115
115
  * @see {@link transform} when you need to use the input value
@@ -133,16 +133,19 @@ export function succeed<const T, E>(t: T): Getter<T, E> {
133
133
  * **Details**
134
134
  *
135
135
  * - Always fails with the `Issue` returned by `f`.
136
- * - The failure function receives the original `Option<E>` input for error context.
136
+ * - The failure function receives the original `Option<E>` input and the
137
+ * effective `ParseOptions` for error context.
137
138
  *
138
139
  * **Example** (Defining an always-failing getter)
139
140
  *
140
- * ```ts
141
- * import { Option, SchemaGetter, SchemaIssue } from "effect"
141
+ * ```ts import.meta.vitest
142
+ * import { Effect, Option, SchemaGetter, SchemaIssue } from "effect"
142
143
  *
143
144
  * const rejectAll = SchemaGetter.fail<string, string>(
144
- * (oe) => new SchemaIssue.InvalidValue(oe, { message: "not allowed" })
145
+ * () => new SchemaIssue.InvalidValue({ message: "not allowed" })
145
146
  * )
147
+ * const issue = await Effect.runPromise(Effect.flip(rejectAll.run(Option.some("x"), {})))
148
+ * issue._tag // => "InvalidValue"
146
149
  * ```
147
150
  *
148
151
  * @see {@link forbidden} for a convenience helper for `Forbidden` issues
@@ -151,8 +154,10 @@ export function succeed<const T, E>(t: T): Getter<T, E> {
151
154
  * @category constructors
152
155
  * @since 4.0.0
153
156
  */
154
- export function fail<T, E>(f: (oe: Option.Option<E>) => SchemaIssue.Issue): Getter<T, E> {
155
- return new Getter((oe) => Effect.fail(f(oe)))
157
+ export function fail<T, E>(
158
+ f: (oe: Option.Option<E>, options: SchemaAST.ParseOptions) => SchemaIssue.Issue
159
+ ): Getter<T, E> {
160
+ return new Getter((oe, options) => Effect.fail(f(oe, options)))
156
161
  }
157
162
 
158
163
  /**
@@ -171,12 +176,14 @@ export function fail<T, E>(f: (oe: Option.Option<E>) => SchemaIssue.Issue): Gett
171
176
  *
172
177
  * **Example** (Forbidding a decode direction)
173
178
  *
174
- * ```ts
175
- * import { SchemaGetter } from "effect"
179
+ * ```ts import.meta.vitest
180
+ * import { Effect, Option, SchemaGetter } from "effect"
176
181
  *
177
182
  * const noEncode = SchemaGetter.forbidden<string, number>(
178
183
  * () => "encoding is not supported"
179
184
  * )
185
+ * const issue = await Effect.runPromise(Effect.flip(noEncode.run(Option.some(1), {})))
186
+ * issue._tag // => "Forbidden"
180
187
  * ```
181
188
  *
182
189
  * @see {@link fail} to fail with a custom issue type
@@ -185,7 +192,12 @@ export function fail<T, E>(f: (oe: Option.Option<E>) => SchemaIssue.Issue): Gett
185
192
  * @since 4.0.0
186
193
  */
187
194
  export function forbidden<T, E>(message: (oe: Option.Option<E>) => string): Getter<T, E> {
188
- return fail<T, E>((oe) => new SchemaIssue.Forbidden(oe, { message: message(oe) }))
195
+ return fail<T, E>((oe, options) => {
196
+ const annotations = { message: message(oe) }
197
+ return Option.isSome(oe)
198
+ ? new SchemaIssue.Forbidden(annotations, oe.value, options)
199
+ : new SchemaIssue.Forbidden(annotations)
200
+ })
189
201
  }
190
202
 
191
203
  const passthrough_ = new Getter<any, any>(Effect.succeed)
@@ -211,7 +223,7 @@ function isPassthrough<T, E, R>(getter: Getter<T, E, R>): getter is typeof passt
211
223
  *
212
224
  * **Example** (Passing through identity transformations)
213
225
  *
214
- * ```ts
226
+ * ```ts import.meta.vitest
215
227
  * import { Schema, SchemaGetter } from "effect"
216
228
  *
217
229
  * // No transformation needed — types already match
@@ -221,6 +233,7 @@ function isPassthrough<T, E, R>(getter: Getter<T, E, R>): getter is typeof passt
221
233
  * encode: SchemaGetter.passthrough()
222
234
  * })
223
235
  * )
236
+ * Schema.decodeSync(StringToString)("hello") // => "hello"
224
237
  * ```
225
238
  *
226
239
  * @see {@link passthroughSupertype} when `T extends E`
@@ -250,11 +263,12 @@ export function passthrough<T>(): Getter<T, T> {
250
263
  *
251
264
  * **Example** (Passing through supertypes)
252
265
  *
253
- * ```ts
254
- * import { SchemaGetter } from "effect"
266
+ * ```ts import.meta.vitest
267
+ * import { Effect, Option, SchemaGetter } from "effect"
255
268
  *
256
269
  * // string extends string, so this is valid
257
270
  * const g = SchemaGetter.passthroughSupertype<string, string>()
271
+ * await Effect.runPromise(g.run(Option.some("hello"), {})) // => Option.some("hello")
258
272
  * ```
259
273
  *
260
274
  * @see {@link passthrough} when types are identical
@@ -282,11 +296,12 @@ export function passthroughSupertype<T>(): Getter<T, T> {
282
296
  *
283
297
  * **Example** (Passing through subtypes)
284
298
  *
285
- * ```ts
286
- * import { SchemaGetter } from "effect"
299
+ * ```ts import.meta.vitest
300
+ * import { Effect, Option, SchemaGetter } from "effect"
287
301
  *
288
302
  * // "hello" extends string, so E extends T
289
303
  * const g = SchemaGetter.passthroughSubtype<string, "hello">()
304
+ * await Effect.runPromise(g.run(Option.some("hello"), {})) // => Option.some("hello")
290
305
  * ```
291
306
  *
292
307
  * @see {@link passthrough} when types are identical
@@ -317,19 +332,20 @@ export function passthroughSubtype<T>(): Getter<T, T> {
317
332
  *
318
333
  * **Example** (Providing a default timestamp for a missing field)
319
334
  *
320
- * ```ts
335
+ * ```ts import.meta.vitest
321
336
  * import { Effect, Option, SchemaGetter } from "effect"
322
337
  *
323
338
  * const withTimestamp = SchemaGetter.onNone<number>(() =>
324
- * Effect.succeed(Option.some(Date.now()))
339
+ * Effect.succeed(Option.some(0))
325
340
  * )
341
+ * await Effect.runPromise(withTimestamp.run(Option.none(), {})) // => Option.some(0)
326
342
  * ```
327
343
  *
328
344
  * @see {@link required} when absent input should fail
329
345
  * @see {@link withDefault} for a simpler default value for undefined inputs
330
346
  * @see {@link onSome} to handle only present values
331
347
  *
332
- * @category constructors
348
+ * @category transforming
333
349
  * @since 4.0.0
334
350
  */
335
351
  export function onNone<T, E extends T = T, R = never>(
@@ -354,16 +370,18 @@ export function onNone<T, E extends T = T, R = never>(
354
370
  *
355
371
  * **Example** (Defining a required struct field)
356
372
  *
357
- * ```ts
358
- * import { SchemaGetter } from "effect"
373
+ * ```ts import.meta.vitest
374
+ * import { Effect, Option, SchemaGetter } from "effect"
359
375
  *
360
376
  * const mustExist = SchemaGetter.required<string>()
377
+ * const issue = await Effect.runPromise(Effect.flip(mustExist.run(Option.none(), {})))
378
+ * issue._tag // => "MissingKey"
361
379
  * ```
362
380
  *
363
381
  * @see {@link onNone} to provide a fallback instead of failing
364
382
  * @see {@link withDefault} to substitute a default for undefined values
365
383
  *
366
- * @category constructors
384
+ * @category validation
367
385
  * @since 4.0.0
368
386
  */
369
387
  export function required<T, E extends T = T>(annotations?: Schema.Annotations.Key<T>): Getter<T, E> {
@@ -387,19 +405,20 @@ export function required<T, E extends T = T>(annotations?: Schema.Annotations.Ke
387
405
  *
388
406
  * **Example** (Transforming only present values)
389
407
  *
390
- * ```ts
408
+ * ```ts import.meta.vitest
391
409
  * import { Effect, Option, SchemaGetter } from "effect"
392
410
  *
393
411
  * const parseIfPresent = SchemaGetter.onSome<number, string>(
394
412
  * (s) => Effect.succeed(Option.some(Number(s)))
395
413
  * )
414
+ * await Effect.runPromise(parseIfPresent.run(Option.some("42"), {})) // => Option.some(42)
396
415
  * ```
397
416
  *
398
417
  * @see {@link onNone} to handle only absent values
399
418
  * @see {@link transform} for a simpler pure transformation of present values
400
419
  * @see {@link transformOrFail} for fallible transformation of present values
401
420
  *
402
- * @category constructors
421
+ * @category transforming
403
422
  * @since 4.0.0
404
423
  */
405
424
  export function onSome<T, E, R = never>(
@@ -430,18 +449,19 @@ export function onSome<T, E, R = never>(
430
449
  *
431
450
  * **Example** (Validating effectfully)
432
451
  *
433
- * ```ts
434
- * import { Effect, SchemaGetter } from "effect"
452
+ * ```ts import.meta.vitest
453
+ * import { Effect, Option, SchemaGetter } from "effect"
435
454
  *
436
455
  * const nonNegative = SchemaGetter.checkEffect<number>((n) =>
437
456
  * Effect.succeed(n >= 0 ? undefined : "must be non-negative")
438
457
  * )
458
+ * await Effect.runPromise(nonNegative.run(Option.some(1), {})) // => Option.some(1)
439
459
  * ```
440
460
  *
441
461
  * @see {@link transform} when you need to change the value, not just validate
442
462
  * @see {@link fail} for unconditional failure
443
463
  *
444
- * @category constructors
464
+ * @category validation
445
465
  * @since 4.0.0
446
466
  */
447
467
  export function checkEffect<T, R = never>(
@@ -453,7 +473,7 @@ export function checkEffect<T, R = never>(
453
473
  ): Getter<T, T, R> {
454
474
  return onSome((t, options) => {
455
475
  return f(t, options).pipe(Effect.flatMapEager((out) => {
456
- const issue = SchemaIssue.makeSingle(t, out)
476
+ const issue = SchemaIssue.makeSingle(out, t, options)
457
477
  return issue ?
458
478
  Effect.fail(issue) :
459
479
  Effect.succeed(Option.some(t))
@@ -479,7 +499,7 @@ export function checkEffect<T, R = never>(
479
499
  *
480
500
  * **Example** (Transforming strings to numbers)
481
501
  *
482
- * ```ts
502
+ * ```ts import.meta.vitest
483
503
  * import { Schema, SchemaGetter } from "effect"
484
504
  *
485
505
  * const NumberFromString = Schema.String.pipe(
@@ -488,13 +508,14 @@ export function checkEffect<T, R = never>(
488
508
  * encode: SchemaGetter.transform((n) => String(n))
489
509
  * })
490
510
  * )
511
+ * Schema.decodeSync(NumberFromString)("42") // => 42
491
512
  * ```
492
513
  *
493
514
  * @see {@link transformOrFail} when the transformation can fail
494
515
  * @see {@link transformOptional} when you need to handle `None` inputs
495
516
  * @see {@link passthrough} when no transformation is needed
496
517
  *
497
- * @category constructors
518
+ * @category transforming
498
519
  * @since 4.0.0
499
520
  */
500
521
  export function transform<T, E>(f: (e: E) => T): Getter<T, E> {
@@ -517,23 +538,24 @@ export function transform<T, E>(f: (e: E) => T): Getter<T, E> {
517
538
  *
518
539
  * **Example** (Parsing with failure)
519
540
  *
520
- * ```ts
541
+ * ```ts import.meta.vitest
521
542
  * import { Effect, Option, SchemaGetter, SchemaIssue } from "effect"
522
543
  *
523
544
  * const safeParseInt = SchemaGetter.transformOrFail<number, string>(
524
- * (s) => {
545
+ * (s, options) => {
525
546
  * const n = parseInt(s, 10)
526
547
  * return isNaN(n)
527
- * ? Effect.fail(new SchemaIssue.InvalidValue(Option.some(s), { message: "not an integer" }))
548
+ * ? Effect.fail(new SchemaIssue.InvalidValue({ message: "not an integer" }, s, options))
528
549
  * : Effect.succeed(n)
529
550
  * }
530
551
  * )
552
+ * await Effect.runPromise(safeParseInt.run(Option.some("42"), {})) // => Option.some(42)
531
553
  * ```
532
554
  *
533
555
  * @see {@link transform} when transformation cannot fail
534
556
  * @see {@link onSome} when you need full `Option` control over the output
535
557
  *
536
- * @category constructors
558
+ * @category transforming
537
559
  * @since 4.0.0
538
560
  */
539
561
  export function transformOrFail<T, E, R = never>(
@@ -557,18 +579,19 @@ export function transformOrFail<T, E, R = never>(
557
579
  *
558
580
  * **Example** (Filtering out empty strings)
559
581
  *
560
- * ```ts
561
- * import { Option, SchemaGetter } from "effect"
582
+ * ```ts import.meta.vitest
583
+ * import { Effect, Option, SchemaGetter } from "effect"
562
584
  *
563
585
  * const skipEmpty = SchemaGetter.transformOptional<string, string>((o) =>
564
586
  * Option.filter(o, (s) => s.length > 0)
565
587
  * )
588
+ * await Effect.runPromise(skipEmpty.run(Option.some(""), {})) // => Option.none()
566
589
  * ```
567
590
  *
568
591
  * @see {@link transform} when you only need to transform present values
569
592
  * @see {@link omit} when you always want `None`
570
593
  *
571
- * @category constructors
594
+ * @category transforming
572
595
  * @since 4.0.0
573
596
  */
574
597
  export function transformOptional<T, E>(f: (oe: Option.Option<E>) => Option.Option<T>): Getter<T, E> {
@@ -590,16 +613,17 @@ export function transformOptional<T, E>(f: (oe: Option.Option<E>) => Option.Opti
590
613
  *
591
614
  * **Example** (Omitting a field during encoding)
592
615
  *
593
- * ```ts
594
- * import { SchemaGetter } from "effect"
616
+ * ```ts import.meta.vitest
617
+ * import { Effect, Option, SchemaGetter } from "effect"
595
618
  *
596
619
  * const omitField = SchemaGetter.omit<string>()
620
+ * await Effect.runPromise(omitField.run(Option.some("hidden"), {})) // => Option.none()
597
621
  * ```
598
622
  *
599
623
  * @see {@link transformOptional} when you want conditional omission
600
624
  * @see {@link forbidden} when you want to fail instead of silently omit
601
625
  *
602
- * @category constructors
626
+ * @category filtering
603
627
  * @since 4.0.0
604
628
  */
605
629
  export function omit<T>(): Getter<never, T> {
@@ -622,17 +646,17 @@ export function omit<T>(): Getter<never, T> {
622
646
  *
623
647
  * **Example** (Providing a default value for an optional field)
624
648
  *
625
- * ```ts
626
- * import { Effect, SchemaGetter } from "effect"
649
+ * ```ts import.meta.vitest
650
+ * import { Effect, Option, SchemaGetter } from "effect"
627
651
  *
628
652
  * const withZero = SchemaGetter.withDefault(Effect.succeed(0))
629
- * // Getter<number, number | undefined>
653
+ * await Effect.runPromise(withZero.run(Option.some(undefined), {})) // => Option.some(0)
630
654
  * ```
631
655
  *
632
656
  * @see {@link onNone} to handle only absent keys (not `undefined` values)
633
657
  * @see {@link required} when absent input should fail instead of using a default
634
658
  *
635
- * @category constructors
659
+ * @category transforming
636
660
  * @since 4.0.0
637
661
  */
638
662
  export function withDefault<T, R = never>(
@@ -658,16 +682,16 @@ export function withDefault<T, R = never>(
658
682
  *
659
683
  * **Example** (Coercing to a string)
660
684
  *
661
- * ```ts
662
- * import { SchemaGetter } from "effect"
685
+ * ```ts import.meta.vitest
686
+ * import { Effect, Option, SchemaGetter } from "effect"
663
687
  *
664
688
  * const toString = SchemaGetter.String<number>()
665
- * // Getter<string, number>
689
+ * await Effect.runPromise(toString.run(Option.some(42), {})) // => Option.some("42")
666
690
  * ```
667
691
  *
668
692
  * @see {@link transform} for custom string conversions
669
693
  *
670
- * @category Coercions
694
+ * @category converting
671
695
  * @since 4.0.0
672
696
  */
673
697
  export function String<E>(): Getter<string, E> {
@@ -689,16 +713,16 @@ export function String<E>(): Getter<string, E> {
689
713
  *
690
714
  * **Example** (Coercing to a number)
691
715
  *
692
- * ```ts
693
- * import { SchemaGetter } from "effect"
716
+ * ```ts import.meta.vitest
717
+ * import { Effect, Option, SchemaGetter } from "effect"
694
718
  *
695
719
  * const toNumber = SchemaGetter.Number<string>()
696
- * // Getter<number, string>
720
+ * await Effect.runPromise(toNumber.run(Option.some("42"), {})) // => Option.some(42)
697
721
  * ```
698
722
  *
699
723
  * @see {@link transformOrFail} for validated number parsing
700
724
  *
701
- * @category Coercions
725
+ * @category converting
702
726
  * @since 4.0.0
703
727
  */
704
728
  export function Number<E>(): Getter<number, E> {
@@ -719,14 +743,14 @@ export function Number<E>(): Getter<number, E> {
719
743
  *
720
744
  * **Example** (Coercing to a boolean)
721
745
  *
722
- * ```ts
723
- * import { SchemaGetter } from "effect"
746
+ * ```ts import.meta.vitest
747
+ * import { Effect, Option, SchemaGetter } from "effect"
724
748
  *
725
749
  * const toBool = SchemaGetter.Boolean<string>()
726
- * // Getter<boolean, string>
750
+ * await Effect.runPromise(toBool.run(Option.some("true"), {})) // => Option.some(true)
727
751
  * ```
728
752
  *
729
- * @category Coercions
753
+ * @category converting
730
754
  * @since 4.0.0
731
755
  */
732
756
  export function Boolean<E>(): Getter<boolean, E> {
@@ -748,14 +772,14 @@ export function Boolean<E>(): Getter<boolean, E> {
748
772
  *
749
773
  * **Example** (Coercing to a bigint)
750
774
  *
751
- * ```ts
752
- * import { SchemaGetter } from "effect"
775
+ * ```ts import.meta.vitest
776
+ * import { Effect, Option, SchemaGetter } from "effect"
753
777
  *
754
778
  * const toBigInt = SchemaGetter.BigInt<string>()
755
- * // Getter<bigint, string>
779
+ * await Effect.runPromise(toBigInt.run(Option.some("42"), {})) // => Option.some(42n)
756
780
  * ```
757
781
  *
758
- * @category Coercions
782
+ * @category converting
759
783
  * @since 4.0.0
760
784
  */
761
785
  export function BigInt<E extends string | number | bigint | boolean>(): Getter<bigint, E> {
@@ -777,16 +801,17 @@ export function BigInt<E extends string | number | bigint | boolean>(): Getter<b
777
801
  *
778
802
  * **Example** (Coercing to a Date)
779
803
  *
780
- * ```ts
781
- * import { SchemaGetter } from "effect"
804
+ * ```ts import.meta.vitest
805
+ * import { Effect, Option, SchemaGetter } from "effect"
782
806
  *
783
807
  * const toDate = SchemaGetter.Date<string>()
784
- * // Getter<Date, string>
808
+ * const result = await Effect.runPromise(toDate.run(Option.some("1970-01-01"), {}))
809
+ * Option.map(result, (date) => date.toISOString()) // => Option.some("1970-01-01T00:00:00.000Z")
785
810
  * ```
786
811
  *
787
812
  * @see {@link dateTimeUtcFromInput} for validated DateTime parsing
788
813
  *
789
- * @category Coercions
814
+ * @category converting
790
815
  * @since 4.0.0
791
816
  */
792
817
  export function Date<E extends string | number | Date>(): Getter<Date, E> {
@@ -802,13 +827,14 @@ export function Date<E extends string | number | Date>(): Getter<Date, E> {
802
827
  *
803
828
  * **Example** (Trimming whitespace)
804
829
  *
805
- * ```ts
806
- * import { SchemaGetter } from "effect"
830
+ * ```ts import.meta.vitest
831
+ * import { Effect, Option, SchemaGetter } from "effect"
807
832
  *
808
833
  * const trimmed = SchemaGetter.trim<string>()
834
+ * await Effect.runPromise(trimmed.run(Option.some(" hello "), {})) // => Option.some("hello")
809
835
  * ```
810
836
  *
811
- * @category string
837
+ * @category transforming
812
838
  * @since 4.0.0
813
839
  */
814
840
  export function trim<E extends string>(): Getter<string, E> {
@@ -824,13 +850,14 @@ export function trim<E extends string>(): Getter<string, E> {
824
850
  *
825
851
  * **Example** (Capitalizing a string)
826
852
  *
827
- * ```ts
828
- * import { SchemaGetter } from "effect"
853
+ * ```ts import.meta.vitest
854
+ * import { Effect, Option, SchemaGetter } from "effect"
829
855
  *
830
856
  * const cap = SchemaGetter.capitalize<string>()
857
+ * await Effect.runPromise(cap.run(Option.some("hello"), {})) // => Option.some("Hello")
831
858
  * ```
832
859
  *
833
- * @category string
860
+ * @category transforming
834
861
  * @since 4.0.0
835
862
  */
836
863
  export function capitalize<E extends string>(): Getter<string, E> {
@@ -846,13 +873,14 @@ export function capitalize<E extends string>(): Getter<string, E> {
846
873
  *
847
874
  * **Example** (Uncapitalizing a string)
848
875
  *
849
- * ```ts
850
- * import { SchemaGetter } from "effect"
876
+ * ```ts import.meta.vitest
877
+ * import { Effect, Option, SchemaGetter } from "effect"
851
878
  *
852
879
  * const uncap = SchemaGetter.uncapitalize<string>()
880
+ * await Effect.runPromise(uncap.run(Option.some("Hello"), {})) // => Option.some("hello")
853
881
  * ```
854
882
  *
855
- * @category string
883
+ * @category transforming
856
884
  * @since 4.0.0
857
885
  */
858
886
  export function uncapitalize<E extends string>(): Getter<string, E> {
@@ -868,15 +896,16 @@ export function uncapitalize<E extends string>(): Getter<string, E> {
868
896
  *
869
897
  * **Example** (Converting snake case to camel case)
870
898
  *
871
- * ```ts
872
- * import { SchemaGetter } from "effect"
899
+ * ```ts import.meta.vitest
900
+ * import { Effect, Option, SchemaGetter } from "effect"
873
901
  *
874
902
  * const toCamel = SchemaGetter.snakeToCamel<string>()
903
+ * await Effect.runPromise(toCamel.run(Option.some("user_name"), {})) // => Option.some("userName")
875
904
  * ```
876
905
  *
877
906
  * @see {@link camelToSnake} for the inverse operation
878
907
  *
879
- * @category string
908
+ * @category transforming
880
909
  * @since 4.0.0
881
910
  */
882
911
  export function snakeToCamel<E extends string>(): Getter<string, E> {
@@ -892,15 +921,16 @@ export function snakeToCamel<E extends string>(): Getter<string, E> {
892
921
  *
893
922
  * **Example** (Converting camel case to snake case)
894
923
  *
895
- * ```ts
896
- * import { SchemaGetter } from "effect"
924
+ * ```ts import.meta.vitest
925
+ * import { Effect, Option, SchemaGetter } from "effect"
897
926
  *
898
927
  * const toSnake = SchemaGetter.camelToSnake<string>()
928
+ * await Effect.runPromise(toSnake.run(Option.some("userName"), {})) // => Option.some("user_name")
899
929
  * ```
900
930
  *
901
931
  * @see {@link snakeToCamel} for the inverse operation
902
932
  *
903
- * @category string
933
+ * @category transforming
904
934
  * @since 4.0.0
905
935
  */
906
936
  export function camelToSnake<E extends string>(): Getter<string, E> {
@@ -916,15 +946,16 @@ export function camelToSnake<E extends string>(): Getter<string, E> {
916
946
  *
917
947
  * **Example** (Converting to lowercase)
918
948
  *
919
- * ```ts
920
- * import { SchemaGetter } from "effect"
949
+ * ```ts import.meta.vitest
950
+ * import { Effect, Option, SchemaGetter } from "effect"
921
951
  *
922
952
  * const lower = SchemaGetter.toLowerCase<string>()
953
+ * await Effect.runPromise(lower.run(Option.some("HELLO"), {})) // => Option.some("hello")
923
954
  * ```
924
955
  *
925
956
  * @see {@link toUpperCase} for the inverse operation
926
957
  *
927
- * @category string
958
+ * @category transforming
928
959
  * @since 4.0.0
929
960
  */
930
961
  export function toLowerCase<E extends string>(): Getter<string, E> {
@@ -940,15 +971,16 @@ export function toLowerCase<E extends string>(): Getter<string, E> {
940
971
  *
941
972
  * **Example** (Converting to uppercase)
942
973
  *
943
- * ```ts
944
- * import { SchemaGetter } from "effect"
974
+ * ```ts import.meta.vitest
975
+ * import { Effect, Option, SchemaGetter } from "effect"
945
976
  *
946
977
  * const upper = SchemaGetter.toUpperCase<string>()
978
+ * await Effect.runPromise(upper.run(Option.some("hello"), {})) // => Option.some("HELLO")
947
979
  * ```
948
980
  *
949
981
  * @see {@link toLowerCase} for the inverse operation
950
982
  *
951
- * @category string
983
+ * @category transforming
952
984
  * @since 4.0.0
953
985
  */
954
986
  export function toUpperCase<E extends string>(): Getter<string, E> {
@@ -972,35 +1004,53 @@ type ParseJsonOptions = {
972
1004
  * - Skips `None` inputs.
973
1005
  * - Without `reviver`: returns `Schema.MutableJson` (typed JSON).
974
1006
  * - With `reviver`: returns `unknown` (reviver may produce arbitrary values).
975
- * - On parse failure, fails with `SchemaIssue.InvalidValue` containing the error message.
1007
+ * - On parse failure, fails with `SchemaIssue.InvalidValue` whose `expected`
1008
+ * annotation is `"a valid JSON string"`. Its default message includes the
1009
+ * reported input when `reportInput` is enabled.
976
1010
  *
977
1011
  * **Example** (Parsing JSON)
978
1012
  *
979
- * ```ts
980
- * import { SchemaGetter } from "effect"
1013
+ * ```ts import.meta.vitest
1014
+ * import { Effect, Option, SchemaGetter } from "effect"
981
1015
  *
982
1016
  * const parse = SchemaGetter.parseJson<string>()
983
- * // Getter<MutableJson, string>
1017
+ * await Effect.runPromise(parse.run(Option.some("{\"a\":1}"), {})) // => Option.some({ a: 1 })
984
1018
  * ```
985
1019
  *
986
1020
  * @see {@link stringifyJson} for the inverse operation
987
1021
  *
988
- * @category JSON getters
1022
+ * @category decoding
989
1023
  * @since 4.0.0
990
1024
  */
991
1025
  export function parseJson<E extends string>(): Getter<Schema.MutableJson, E>
992
1026
  export function parseJson<E extends string>(options: ParseJsonOptions): Getter<unknown, E>
993
1027
  export function parseJson<E extends string>(options?: ParseJsonOptions | undefined): Getter<unknown, E> {
994
- return onSome((input) =>
1028
+ return onSome((input, parseOptions) =>
995
1029
  Effect.try({
996
1030
  try: () => Option.some(JSON.parse(input, options?.reviver)),
997
- catch: (e) => new SchemaIssue.InvalidValue(Option.some(input), { message: globalThis.String(e) })
1031
+ catch: () =>
1032
+ new SchemaIssue.InvalidValue(
1033
+ { expected: "a valid JSON string" },
1034
+ input,
1035
+ parseOptions
1036
+ )
998
1037
  })
999
1038
  )
1000
1039
  }
1001
1040
 
1041
+ /**
1042
+ * Replacer function or property allowlist accepted by `JSON.stringify`.
1043
+ *
1044
+ * @category utility types
1045
+ * @since 4.0.0
1046
+ */
1047
+ export type JsonReplacer =
1048
+ | ((this: any, key: string, value: any) => any)
1049
+ | Array<string | number>
1050
+ | null
1051
+
1002
1052
  type StringifyJsonOptions = {
1003
- readonly replacer?: Parameters<typeof JSON.stringify>[1]
1053
+ readonly replacer?: JsonReplacer | undefined
1004
1054
  readonly space?: Parameters<typeof JSON.stringify>[2]
1005
1055
  }
1006
1056
 
@@ -1015,33 +1065,41 @@ type StringifyJsonOptions = {
1015
1065
  * **Details**
1016
1066
  *
1017
1067
  * - Skips `None` inputs.
1018
- * - On thrown stringify failures, such as circular references, fails with
1068
+ * - If `JSON.stringify` throws or returns `undefined`, fails with
1019
1069
  * `SchemaIssue.InvalidValue`.
1020
1070
  * - Supports optional `replacer` and `space` options, matching
1021
1071
  * `JSON.stringify`.
1022
- * - If `JSON.stringify` returns `undefined`, such as for `undefined`,
1023
- * functions, symbols, or a replacer that removes the root value, that
1024
- * `undefined` result is returned rather than converted into an `Issue`.
1025
1072
  *
1026
1073
  * **Example** (Stringifying JSON)
1027
1074
  *
1028
- * ```ts
1029
- * import { SchemaGetter } from "effect"
1075
+ * ```ts import.meta.vitest
1076
+ * import { Effect, Option, SchemaGetter } from "effect"
1030
1077
  *
1031
1078
  * const stringify = SchemaGetter.stringifyJson()
1032
- * // Getter<string, unknown>
1079
+ * await Effect.runPromise(stringify.run(Option.some({ a: 1 }), {})) // => Option.some("{\"a\":1}")
1033
1080
  * ```
1034
1081
  *
1035
1082
  * @see {@link parseJson} for the inverse operation
1036
1083
  *
1037
- * @category JSON getters
1084
+ * @category encoding
1038
1085
  * @since 4.0.0
1039
1086
  */
1040
1087
  export function stringifyJson(options?: StringifyJsonOptions): Getter<string, unknown> {
1041
- return onSome((input) =>
1088
+ return onSome((input, parseOptions) =>
1042
1089
  Effect.try({
1043
- try: () => Option.some(JSON.stringify(input, options?.replacer, options?.space)),
1044
- catch: (e) => new SchemaIssue.InvalidValue(Option.some(input), { message: globalThis.String(e) })
1090
+ try: () => {
1091
+ const output = JSON.stringify(input, options?.replacer as any, options?.space)
1092
+ if (output === undefined) {
1093
+ throw new TypeError("Value cannot be represented as JSON")
1094
+ }
1095
+ return Option.some(output)
1096
+ },
1097
+ catch: () =>
1098
+ new SchemaIssue.InvalidValue(
1099
+ { expected: "a JSON-serializable value" },
1100
+ input,
1101
+ parseOptions
1102
+ )
1045
1103
  })
1046
1104
  )
1047
1105
  }
@@ -1062,17 +1120,17 @@ export function stringifyJson(options?: StringifyJsonOptions): Getter<string, un
1062
1120
  *
1063
1121
  * **Example** (Parsing a key-value string)
1064
1122
  *
1065
- * ```ts
1066
- * import { SchemaGetter } from "effect"
1123
+ * ```ts import.meta.vitest
1124
+ * import { Effect, Option, SchemaGetter } from "effect"
1067
1125
  *
1068
1126
  * const parse = SchemaGetter.splitKeyValue<string>()
1069
- * // "a=1,b=2" -> { a: "1", b: "2" }
1127
+ * await Effect.runPromise(parse.run(Option.some("a=1,b=2"), {})) // => Option.some({ a: "1", b: "2" })
1070
1128
  * ```
1071
1129
  *
1072
1130
  * @see {@link joinKeyValue} for the inverse operation
1073
1131
  * @see {@link split} to split into an array of strings
1074
1132
  *
1075
- * @category string
1133
+ * @category splitting
1076
1134
  * @since 4.0.0
1077
1135
  */
1078
1136
  export function splitKeyValue<E extends string>(options?: {
@@ -1085,7 +1143,7 @@ export function splitKeyValue<E extends string>(options?: {
1085
1143
  input.split(separator).reduce((acc, pair) => {
1086
1144
  const [key, value] = pair.split(keyValueSeparator)
1087
1145
  if (key && value) {
1088
- acc[key] = value
1146
+ InternalRecord.assignProperty(acc, key, value)
1089
1147
  }
1090
1148
  return acc
1091
1149
  }, {} as Record<string, string>)
@@ -1108,16 +1166,16 @@ export function splitKeyValue<E extends string>(options?: {
1108
1166
  *
1109
1167
  * **Example** (Joining key-value records)
1110
1168
  *
1111
- * ```ts
1112
- * import { SchemaGetter } from "effect"
1169
+ * ```ts import.meta.vitest
1170
+ * import { Effect, Option, SchemaGetter } from "effect"
1113
1171
  *
1114
1172
  * const join = SchemaGetter.joinKeyValue()
1115
- * // { a: "1", b: "2" } -> "a=1,b=2"
1173
+ * await Effect.runPromise(join.run(Option.some({ a: "1", b: "2" }), {})) // => Option.some("a=1,b=2")
1116
1174
  * ```
1117
1175
  *
1118
1176
  * @see {@link splitKeyValue} for the inverse operation
1119
1177
  *
1120
- * @category string
1178
+ * @category combining
1121
1179
  * @since 4.0.0
1122
1180
  */
1123
1181
  export function joinKeyValue<E extends Record<PropertyKey, string>>(options?: {
@@ -1146,17 +1204,16 @@ export function joinKeyValue<E extends Record<PropertyKey, string>>(options?: {
1146
1204
  *
1147
1205
  * **Example** (Splitting a comma-separated string)
1148
1206
  *
1149
- * ```ts
1150
- * import { SchemaGetter } from "effect"
1207
+ * ```ts import.meta.vitest
1208
+ * import { Effect, Option, SchemaGetter } from "effect"
1151
1209
  *
1152
1210
  * const splitComma = SchemaGetter.split<string>()
1153
- * // "a,b,c" -> ["a", "b", "c"]
1154
- * // "" -> []
1211
+ * await Effect.runPromise(splitComma.run(Option.some("a,b,c"), {})) // => Option.some(["a", "b", "c"])
1155
1212
  * ```
1156
1213
  *
1157
1214
  * @see {@link splitKeyValue} when values are key-value pairs
1158
1215
  *
1159
- * @category string
1216
+ * @category splitting
1160
1217
  * @since 4.0.0
1161
1218
  */
1162
1219
  export function split<E extends string>(options?: {
@@ -1175,17 +1232,18 @@ export function split<E extends string>(options?: {
1175
1232
  *
1176
1233
  * **Example** (Encoding to Base64)
1177
1234
  *
1178
- * ```ts
1179
- * import { SchemaGetter } from "effect"
1235
+ * ```ts import.meta.vitest
1236
+ * import { Effect, Option, SchemaGetter } from "effect"
1180
1237
  *
1181
1238
  * const encode = SchemaGetter.encodeBase64<Uint8Array>()
1239
+ * await Effect.runPromise(encode.run(Option.some(new Uint8Array([1, 2, 3])), {})) // => Option.some("AQID")
1182
1240
  * ```
1183
1241
  *
1184
1242
  * @see {@link decodeBase64} for the inverse operation to `Uint8Array`
1185
1243
  * @see {@link decodeBase64String} for the inverse operation to `string`
1186
1244
  * @see {@link encodeBase64Url} for the URL-safe variant
1187
1245
  *
1188
- * @category Base64 getters
1246
+ * @category encoding
1189
1247
  * @since 4.0.0
1190
1248
  */
1191
1249
  export function encodeBase64<E extends Uint8Array | string>(): Getter<string, E> {
@@ -1201,17 +1259,18 @@ export function encodeBase64<E extends Uint8Array | string>(): Getter<string, E>
1201
1259
  *
1202
1260
  * **Example** (Encoding to Base64Url)
1203
1261
  *
1204
- * ```ts
1205
- * import { SchemaGetter } from "effect"
1262
+ * ```ts import.meta.vitest
1263
+ * import { Effect, Option, SchemaGetter } from "effect"
1206
1264
  *
1207
1265
  * const encode = SchemaGetter.encodeBase64Url<Uint8Array>()
1266
+ * await Effect.runPromise(encode.run(Option.some(new Uint8Array([251, 255])), {})) // => Option.some("-_8")
1208
1267
  * ```
1209
1268
  *
1210
1269
  * @see {@link decodeBase64Url} for the inverse operation to `Uint8Array`
1211
1270
  * @see {@link decodeBase64UrlString} for the inverse operation to `string`
1212
1271
  * @see {@link encodeBase64} for the standard Base64 variant
1213
1272
  *
1214
- * @category Base64 getters
1273
+ * @category encoding
1215
1274
  * @since 4.0.0
1216
1275
  */
1217
1276
  export function encodeBase64Url<E extends Uint8Array | string>(): Getter<string, E> {
@@ -1227,16 +1286,17 @@ export function encodeBase64Url<E extends Uint8Array | string>(): Getter<string,
1227
1286
  *
1228
1287
  * **Example** (Encoding to hex)
1229
1288
  *
1230
- * ```ts
1231
- * import { SchemaGetter } from "effect"
1289
+ * ```ts import.meta.vitest
1290
+ * import { Effect, Option, SchemaGetter } from "effect"
1232
1291
  *
1233
1292
  * const encode = SchemaGetter.encodeHex<Uint8Array>()
1293
+ * await Effect.runPromise(encode.run(Option.some(new Uint8Array([1, 2, 3])), {})) // => Option.some("010203")
1234
1294
  * ```
1235
1295
  *
1236
1296
  * @see {@link decodeHex} for the inverse operation to `Uint8Array`
1237
1297
  * @see {@link decodeHexString} for the inverse operation to `string`
1238
1298
  *
1239
- * @category Hex getters
1299
+ * @category encoding
1240
1300
  * @since 4.0.0
1241
1301
  */
1242
1302
  export function encodeHex<E extends Uint8Array | string>(): Getter<string, E> {
@@ -1252,24 +1312,30 @@ export function encodeHex<E extends Uint8Array | string>(): Getter<string, E> {
1252
1312
  *
1253
1313
  * **Example** (Decoding Base64 to bytes)
1254
1314
  *
1255
- * ```ts
1256
- * import { SchemaGetter } from "effect"
1315
+ * ```ts import.meta.vitest
1316
+ * import { Effect, Option, SchemaGetter } from "effect"
1257
1317
  *
1258
1318
  * const decode = SchemaGetter.decodeBase64<string>()
1259
- * // Getter<Uint8Array, string>
1319
+ * const result = await Effect.runPromise(decode.run(Option.some("AQID"), {}))
1320
+ * Option.map(result, Array.from) // => Option.some([1, 2, 3])
1260
1321
  * ```
1261
1322
  *
1262
1323
  * @see {@link decodeBase64String} to decode to `string` instead
1263
1324
  * @see {@link encodeBase64} for the inverse operation
1264
1325
  *
1265
- * @category Base64 getters
1326
+ * @category decoding
1266
1327
  * @since 4.0.0
1267
1328
  */
1268
1329
  export function decodeBase64<E extends string>(): Getter<Uint8Array, E> {
1269
- return transformOrFail((input) =>
1330
+ return transformOrFail((input, options) =>
1270
1331
  Effect.mapErrorEager(
1271
1332
  Effect.fromResult(Encoding.decodeBase64(input)),
1272
- (e) => new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })
1333
+ () =>
1334
+ new SchemaIssue.InvalidValue(
1335
+ { expected: "a valid Base64 string" },
1336
+ input,
1337
+ options
1338
+ )
1273
1339
  )
1274
1340
  )
1275
1341
  }
@@ -1283,23 +1349,30 @@ export function decodeBase64<E extends string>(): Getter<Uint8Array, E> {
1283
1349
  *
1284
1350
  * **Example** (Decoding Base64 to string)
1285
1351
  *
1286
- * ```ts
1287
- * import { SchemaGetter } from "effect"
1352
+ * ```ts import.meta.vitest
1353
+ * import { Effect, Option, SchemaGetter } from "effect"
1288
1354
  *
1289
1355
  * const decode = SchemaGetter.decodeBase64String<string>()
1290
- * // Getter<string, string>
1356
+ * await Effect.runPromise(decode.run(Option.some("aGVsbG8="), {})) // => Option.some("hello")
1291
1357
  * ```
1292
1358
  *
1293
1359
  * @see {@link decodeBase64} to decode to `Uint8Array` instead
1294
1360
  * @see {@link encodeBase64} for the inverse operation
1295
1361
  *
1296
- * @category Base64 getters
1362
+ * @category decoding
1297
1363
  * @since 4.0.0
1298
1364
  */
1299
1365
  export function decodeBase64String<E extends string>(): Getter<string, E> {
1300
- return transformOrFail((input) =>
1366
+ return transformOrFail((input, options) =>
1301
1367
  Result.match(Encoding.decodeBase64String(input), {
1302
- onFailure: (e) => Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })),
1368
+ onFailure: () =>
1369
+ Effect.fail(
1370
+ new SchemaIssue.InvalidValue(
1371
+ { expected: "a valid Base64 string" },
1372
+ input,
1373
+ options
1374
+ )
1375
+ ),
1303
1376
  onSuccess: Effect.succeed
1304
1377
  })
1305
1378
  )
@@ -1314,23 +1387,31 @@ export function decodeBase64String<E extends string>(): Getter<string, E> {
1314
1387
  *
1315
1388
  * **Example** (Decoding Base64Url to bytes)
1316
1389
  *
1317
- * ```ts
1318
- * import { SchemaGetter } from "effect"
1390
+ * ```ts import.meta.vitest
1391
+ * import { Effect, Option, SchemaGetter } from "effect"
1319
1392
  *
1320
1393
  * const decode = SchemaGetter.decodeBase64Url<string>()
1321
- * // Getter<Uint8Array, string>
1394
+ * const result = await Effect.runPromise(decode.run(Option.some("-_8="), {}))
1395
+ * Option.map(result, Array.from) // => Option.some([251, 255])
1322
1396
  * ```
1323
1397
  *
1324
1398
  * @see {@link decodeBase64UrlString} to decode to `string` instead
1325
1399
  * @see {@link encodeBase64Url} for the inverse operation
1326
1400
  *
1327
- * @category Base64 getters
1401
+ * @category decoding
1328
1402
  * @since 4.0.0
1329
1403
  */
1330
1404
  export function decodeBase64Url<E extends string>(): Getter<Uint8Array, E> {
1331
- return transformOrFail((input) =>
1405
+ return transformOrFail((input, options) =>
1332
1406
  Result.match(Encoding.decodeBase64Url(input), {
1333
- onFailure: (e) => Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })),
1407
+ onFailure: () =>
1408
+ Effect.fail(
1409
+ new SchemaIssue.InvalidValue(
1410
+ { expected: "a valid Base64Url string" },
1411
+ input,
1412
+ options
1413
+ )
1414
+ ),
1334
1415
  onSuccess: Effect.succeed
1335
1416
  })
1336
1417
  )
@@ -1345,23 +1426,30 @@ export function decodeBase64Url<E extends string>(): Getter<Uint8Array, E> {
1345
1426
  *
1346
1427
  * **Example** (Decoding Base64Url to string)
1347
1428
  *
1348
- * ```ts
1349
- * import { SchemaGetter } from "effect"
1429
+ * ```ts import.meta.vitest
1430
+ * import { Effect, Option, SchemaGetter } from "effect"
1350
1431
  *
1351
1432
  * const decode = SchemaGetter.decodeBase64UrlString<string>()
1352
- * // Getter<string, string>
1433
+ * await Effect.runPromise(decode.run(Option.some("aGVsbG8"), {})) // => Option.some("hello")
1353
1434
  * ```
1354
1435
  *
1355
1436
  * @see {@link decodeBase64Url} to decode to `Uint8Array` instead
1356
1437
  * @see {@link encodeBase64Url} for the inverse operation
1357
1438
  *
1358
- * @category Base64 getters
1439
+ * @category decoding
1359
1440
  * @since 4.0.0
1360
1441
  */
1361
1442
  export function decodeBase64UrlString<E extends string>(): Getter<string, E> {
1362
- return transformOrFail((input) =>
1443
+ return transformOrFail((input, options) =>
1363
1444
  Result.match(Encoding.decodeBase64UrlString(input), {
1364
- onFailure: (e) => Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })),
1445
+ onFailure: () =>
1446
+ Effect.fail(
1447
+ new SchemaIssue.InvalidValue(
1448
+ { expected: "a valid Base64Url string" },
1449
+ input,
1450
+ options
1451
+ )
1452
+ ),
1365
1453
  onSuccess: Effect.succeed
1366
1454
  })
1367
1455
  )
@@ -1376,23 +1464,31 @@ export function decodeBase64UrlString<E extends string>(): Getter<string, E> {
1376
1464
  *
1377
1465
  * **Example** (Decoding hex to bytes)
1378
1466
  *
1379
- * ```ts
1380
- * import { SchemaGetter } from "effect"
1467
+ * ```ts import.meta.vitest
1468
+ * import { Effect, Option, SchemaGetter } from "effect"
1381
1469
  *
1382
1470
  * const decode = SchemaGetter.decodeHex<string>()
1383
- * // Getter<Uint8Array, string>
1471
+ * const result = await Effect.runPromise(decode.run(Option.some("010203"), {}))
1472
+ * Option.map(result, Array.from) // => Option.some([1, 2, 3])
1384
1473
  * ```
1385
1474
  *
1386
1475
  * @see {@link decodeHexString} to decode to `string` instead
1387
1476
  * @see {@link encodeHex} for the inverse operation
1388
1477
  *
1389
- * @category Hex getters
1478
+ * @category decoding
1390
1479
  * @since 4.0.0
1391
1480
  */
1392
1481
  export function decodeHex<E extends string>(): Getter<Uint8Array, E> {
1393
- return transformOrFail((input) =>
1482
+ return transformOrFail((input, options) =>
1394
1483
  Result.match(Encoding.decodeHex(input), {
1395
- onFailure: (e) => Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })),
1484
+ onFailure: () =>
1485
+ Effect.fail(
1486
+ new SchemaIssue.InvalidValue(
1487
+ { expected: "a valid hexadecimal string" },
1488
+ input,
1489
+ options
1490
+ )
1491
+ ),
1396
1492
  onSuccess: Effect.succeed
1397
1493
  })
1398
1494
  )
@@ -1407,23 +1503,30 @@ export function decodeHex<E extends string>(): Getter<Uint8Array, E> {
1407
1503
  *
1408
1504
  * **Example** (Decoding hex to string)
1409
1505
  *
1410
- * ```ts
1411
- * import { SchemaGetter } from "effect"
1506
+ * ```ts import.meta.vitest
1507
+ * import { Effect, Option, SchemaGetter } from "effect"
1412
1508
  *
1413
1509
  * const decode = SchemaGetter.decodeHexString<string>()
1414
- * // Getter<string, string>
1510
+ * await Effect.runPromise(decode.run(Option.some("68656c6c6f"), {})) // => Option.some("hello")
1415
1511
  * ```
1416
1512
  *
1417
1513
  * @see {@link decodeHex} to decode to `Uint8Array` instead
1418
1514
  * @see {@link encodeHex} for the inverse operation
1419
1515
  *
1420
- * @category Hex getters
1516
+ * @category decoding
1421
1517
  * @since 4.0.0
1422
1518
  */
1423
1519
  export function decodeHexString<E extends string>(): Getter<string, E> {
1424
- return transformOrFail((input) =>
1520
+ return transformOrFail((input, options) =>
1425
1521
  Result.match(Encoding.decodeHexString(input), {
1426
- onFailure: (e) => Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: e.message })),
1522
+ onFailure: () =>
1523
+ Effect.fail(
1524
+ new SchemaIssue.InvalidValue(
1525
+ { expected: "a valid hexadecimal string" },
1526
+ input,
1527
+ options
1528
+ )
1529
+ ),
1427
1530
  onSuccess: Effect.succeed
1428
1531
  })
1429
1532
  )
@@ -1440,15 +1543,16 @@ export function decodeHexString<E extends string>(): Getter<string, E> {
1440
1543
  *
1441
1544
  * **Example** (Encoding a URI component)
1442
1545
  *
1443
- * ```ts
1444
- * import { SchemaGetter } from "effect"
1546
+ * ```ts import.meta.vitest
1547
+ * import { Effect, Option, SchemaGetter } from "effect"
1445
1548
  *
1446
1549
  * const encode = SchemaGetter.encodeUriComponent<string>()
1550
+ * await Effect.runPromise(encode.run(Option.some("hello world"), {})) // => Option.some("hello%20world")
1447
1551
  * ```
1448
1552
  *
1449
1553
  * @see {@link decodeUriComponent} for the inverse operation
1450
1554
  *
1451
- * @category URI
1555
+ * @category encoding
1452
1556
  * @since 4.0.0
1453
1557
  */
1454
1558
  export function encodeUriComponent<E extends string>(): Getter<string, E> {
@@ -1464,27 +1568,29 @@ export function encodeUriComponent<E extends string>(): Getter<string, E> {
1464
1568
  *
1465
1569
  * **Example** (Decoding a URI component)
1466
1570
  *
1467
- * ```ts
1468
- * import { SchemaGetter } from "effect"
1571
+ * ```ts import.meta.vitest
1572
+ * import { Effect, Option, SchemaGetter } from "effect"
1469
1573
  *
1470
1574
  * const decode = SchemaGetter.decodeUriComponent<string>()
1471
- * // Getter<string, string>
1575
+ * await Effect.runPromise(decode.run(Option.some("hello%20world"), {})) // => Option.some("hello world")
1472
1576
  * ```
1473
1577
  *
1474
1578
  * @see {@link encodeUriComponent} for the inverse operation
1475
1579
  *
1476
- * @category URI
1580
+ * @category decoding
1477
1581
  * @since 4.0.0
1478
1582
  */
1479
1583
  export function decodeUriComponent<E extends string>(): Getter<string, E> {
1480
- return transformOrFail((input) => {
1584
+ return transformOrFail((input, options) => {
1481
1585
  try {
1482
1586
  return Effect.succeed(globalThis.decodeURIComponent(input))
1483
- } catch (e) {
1587
+ } catch {
1484
1588
  return Effect.fail(
1485
- new SchemaIssue.InvalidValue(Option.some(input), {
1486
- message: e instanceof URIError ? e.message : "Invalid URI component"
1487
- })
1589
+ new SchemaIssue.InvalidValue(
1590
+ { expected: "a valid URI component" },
1591
+ input,
1592
+ options
1593
+ )
1488
1594
  )
1489
1595
  }
1490
1596
  })
@@ -1509,23 +1615,26 @@ export function decodeUriComponent<E extends string>(): Getter<string, E> {
1509
1615
  *
1510
1616
  * **Example** (Parsing DateTime)
1511
1617
  *
1512
- * ```ts
1513
- * import { SchemaGetter } from "effect"
1618
+ * ```ts import.meta.vitest
1619
+ * import { DateTime, Effect, Option, SchemaGetter } from "effect"
1514
1620
  *
1515
1621
  * const parseDate = SchemaGetter.dateTimeUtcFromInput<string>()
1516
- * // Getter<DateTime.Utc, string>
1622
+ * const result = await Effect.runPromise(parseDate.run(Option.some("2024-01-01T00:00:00Z"), {}))
1623
+ * Option.map(result, DateTime.toEpochMillis) // => Option.some(1704067200000)
1517
1624
  * ```
1518
1625
  *
1519
1626
  * @see {@link Date} for a simpler coercion to `Date` (no validation)
1520
1627
  *
1521
- * @category DateTime
1628
+ * @category converting
1522
1629
  * @since 4.0.0
1523
1630
  */
1524
1631
  export function dateTimeUtcFromInput<E extends DateTime.DateTime.Input>(): Getter<DateTime.Utc, E> {
1525
- return transformOrFail((input) => {
1632
+ return transformOrFail((input, options) => {
1526
1633
  return Option.match(DateTime.make(input), {
1527
1634
  onNone: () =>
1528
- Effect.fail(new SchemaIssue.InvalidValue(Option.some(input), { message: "Invalid DateTime input" })),
1635
+ Effect.fail(
1636
+ new SchemaIssue.InvalidValue({ message: "Invalid DateTime input" }, input, options)
1637
+ ),
1529
1638
  onSome: (dt) => Effect.succeed(DateTime.toUtc(dt))
1530
1639
  })
1531
1640
  })
@@ -1547,18 +1656,20 @@ export function dateTimeUtcFromInput<E extends DateTime.DateTime.Input>(): Gette
1547
1656
  *
1548
1657
  * **Example** (Decoding FormData)
1549
1658
  *
1550
- * ```ts
1551
- * import { SchemaGetter } from "effect"
1659
+ * ```ts import.meta.vitest
1660
+ * import { Effect, Option, SchemaGetter } from "effect"
1552
1661
  *
1553
1662
  * const decode = SchemaGetter.decodeFormData()
1554
- * // Getter<TreeObject<string | Blob>, FormData>
1663
+ * const formData = new FormData()
1664
+ * formData.append("user[name]", "Alice")
1665
+ * await Effect.runPromise(decode.run(Option.some(formData), {})) // => Option.some({ user: { name: "Alice" } })
1555
1666
  * ```
1556
1667
  *
1557
- * @see {@link encodeFormData} for the inverse operation
1668
+ * @see {@link encodeFormData} for the corresponding encoder
1558
1669
  * @see {@link makeTreeRecord} for the underlying bracket-path parser
1559
1670
  * @see {@link decodeURLSearchParams} for the URLSearchParams variant
1560
1671
  *
1561
- * @category FormData
1672
+ * @category decoding
1562
1673
  * @since 4.0.0
1563
1674
  */
1564
1675
  export function decodeFormData(): Getter<Schema.TreeRecord<string | Blob>, FormData> {
@@ -1585,18 +1696,19 @@ const collectFormDataEntries = collectBracketPathEntries((value): value is strin
1585
1696
  *
1586
1697
  * **Example** (Encoding to FormData)
1587
1698
  *
1588
- * ```ts
1589
- * import { SchemaGetter } from "effect"
1699
+ * ```ts import.meta.vitest
1700
+ * import { Effect, Option, SchemaGetter } from "effect"
1590
1701
  *
1591
1702
  * const encode = SchemaGetter.encodeFormData()
1592
- * // Getter<FormData, unknown>
1703
+ * const result = await Effect.runPromise(encode.run(Option.some({ name: "Alice" }), {}))
1704
+ * Option.map(result, (formData) => formData.get("name")) // => Option.some("Alice")
1593
1705
  * ```
1594
1706
  *
1595
- * @see {@link decodeFormData} for the inverse operation
1707
+ * @see {@link decodeFormData} for the corresponding decoder
1596
1708
  * @see {@link collectBracketPathEntries} for the underlying flattener
1597
1709
  * @see {@link encodeURLSearchParams} for the URLSearchParams variant
1598
1710
  *
1599
- * @category FormData
1711
+ * @category encoding
1600
1712
  * @since 4.0.0
1601
1713
  */
1602
1714
  export function encodeFormData(): Getter<FormData, unknown> {
@@ -1628,18 +1740,19 @@ export function encodeFormData(): Getter<FormData, unknown> {
1628
1740
  *
1629
1741
  * **Example** (Decoding URLSearchParams)
1630
1742
  *
1631
- * ```ts
1632
- * import { SchemaGetter } from "effect"
1743
+ * ```ts import.meta.vitest
1744
+ * import { Effect, Option, SchemaGetter } from "effect"
1633
1745
  *
1634
1746
  * const decode = SchemaGetter.decodeURLSearchParams()
1635
- * // Getter<TreeObject<string>, URLSearchParams>
1747
+ * const params = new URLSearchParams("user[name]=Alice")
1748
+ * await Effect.runPromise(decode.run(Option.some(params), {})) // => Option.some({ user: { name: "Alice" } })
1636
1749
  * ```
1637
1750
  *
1638
- * @see {@link encodeURLSearchParams} for the inverse operation
1751
+ * @see {@link encodeURLSearchParams} for the corresponding encoder
1639
1752
  * @see {@link makeTreeRecord} for the underlying bracket-path parser
1640
1753
  * @see {@link decodeFormData} for the FormData variant
1641
1754
  *
1642
- * @category search params
1755
+ * @category decoding
1643
1756
  * @since 4.0.0
1644
1757
  */
1645
1758
  export function decodeURLSearchParams(): Getter<Schema.TreeRecord<string>, URLSearchParams> {
@@ -1663,18 +1776,19 @@ const collectURLSearchParamsEntries = collectBracketPathEntries(Predicate.isStri
1663
1776
  *
1664
1777
  * **Example** (Encoding to URLSearchParams)
1665
1778
  *
1666
- * ```ts
1667
- * import { SchemaGetter } from "effect"
1779
+ * ```ts import.meta.vitest
1780
+ * import { Effect, Option, SchemaGetter } from "effect"
1668
1781
  *
1669
1782
  * const encode = SchemaGetter.encodeURLSearchParams()
1670
- * // Getter<URLSearchParams, unknown>
1783
+ * const result = await Effect.runPromise(encode.run(Option.some({ name: "Alice" }), {}))
1784
+ * Option.map(result, (params) => params.toString()) // => Option.some("name=Alice")
1671
1785
  * ```
1672
1786
  *
1673
- * @see {@link decodeURLSearchParams} for the inverse operation
1787
+ * @see {@link decodeURLSearchParams} for the corresponding decoder
1674
1788
  * @see {@link collectBracketPathEntries} for the underlying flattener
1675
1789
  * @see {@link encodeFormData} for the FormData variant
1676
1790
  *
1677
- * @category search params
1791
+ * @category encoding
1678
1792
  * @since 4.0.0
1679
1793
  */
1680
1794
  export function encodeURLSearchParams(): Getter<URLSearchParams, unknown> {
@@ -1704,20 +1818,6 @@ function bracketPathToTokens(bracketPath: string): Array<string | number> {
1704
1818
  .map((part) => (INDEX_REGEXP.test(part) ? globalThis.Number(part) : part))
1705
1819
  }
1706
1820
 
1707
- function getOrCreateContainer(
1708
- self: any,
1709
- key: PropertyKey,
1710
- shouldBeArray: boolean
1711
- ): any {
1712
- const current = Object.hasOwn(self, key) ? self[key] : undefined
1713
- if (current !== undefined) {
1714
- return current
1715
- }
1716
- const container = shouldBeArray ? [] : {}
1717
- internalRecord.set(self, key, container)
1718
- return container
1719
- }
1720
-
1721
1821
  /**
1722
1822
  * Builds a nested tree object from a list of bracket-path entries.
1723
1823
  *
@@ -1740,31 +1840,47 @@ function getOrCreateContainer(
1740
1840
  * - `"foo[]"` → append to array `foo`
1741
1841
  * - `""` → real empty key
1742
1842
  * - Duplicate keys for the same path are merged into arrays.
1843
+ * - If a structural path conflicts with a previous leaf or a different container
1844
+ * type, the later structural path replaces the conflicting value.
1845
+ * - The notation has no escaping for `.`, `[` or `]`, so keys containing these
1846
+ * delimiters cannot be round-tripped without changing their structure.
1743
1847
  *
1744
1848
  * **Example** (Building a tree from bracket paths)
1745
1849
  *
1746
- * ```ts
1850
+ * ```ts import.meta.vitest
1747
1851
  * import { SchemaGetter } from "effect"
1748
1852
  *
1749
- * const tree = SchemaGetter.makeTreeRecord([
1853
+ * SchemaGetter.makeTreeRecord([
1750
1854
  * ["user[name]", "Alice"],
1751
1855
  * ["user[tags][]", "admin"],
1752
1856
  * ["user[tags][]", "editor"]
1753
- * ])
1754
- * // { user: { name: "Alice", tags: ["admin", "editor"] } }
1857
+ * ]) // => { user: { name: "Alice", tags: ["admin", "editor"] } }
1755
1858
  * ```
1756
1859
  *
1757
- * @see {@link collectBracketPathEntries} for the inverse operation (tree to flat entries)
1860
+ * @see {@link collectBracketPathEntries} for flattening trees into bracket-path entries
1758
1861
  * @see {@link decodeFormData} for a higher-level FormData decoder
1759
1862
  * @see {@link decodeURLSearchParams} for a higher-level URLSearchParams decoder
1760
1863
  *
1761
- * @category Tree
1864
+ * @category constructors
1762
1865
  * @since 4.0.0
1763
1866
  */
1764
1867
  export function makeTreeRecord<A>(
1765
1868
  bracketPathEntries: ReadonlyArray<readonly [bracketPath: string, value: A]>
1766
1869
  ): Schema.TreeRecord<A> {
1767
1870
  const out: any = {}
1871
+ const containers = new WeakSet<object>()
1872
+
1873
+ function getOrCreateContainer(self: any, key: PropertyKey, shouldBeArray: boolean): any {
1874
+ const current = Object.hasOwn(self, key) ? self[key] : undefined
1875
+ if (containers.has(current) && Array.isArray(current) === shouldBeArray) {
1876
+ return current
1877
+ }
1878
+ const container = shouldBeArray ? [] : {}
1879
+ containers.add(container)
1880
+ InternalRecord.assignProperty(self, key, container)
1881
+ return container
1882
+ }
1883
+
1768
1884
  bracketPathEntries.forEach(([key, value]) => {
1769
1885
  const tokens = bracketPathToTokens(key)
1770
1886
  let cur: any = out
@@ -1789,9 +1905,9 @@ export function makeTreeRecord<A>(
1789
1905
  if (hasOwn && Array.isArray(cur[token])) {
1790
1906
  cur[token].push(value)
1791
1907
  } else if (hasOwn) {
1792
- internalRecord.set(cur, token, [cur[token], value])
1908
+ InternalRecord.assignProperty(cur, token, [cur[token], value])
1793
1909
  } else {
1794
- internalRecord.set(cur, token, value)
1910
+ InternalRecord.assignProperty(cur, token, value)
1795
1911
  }
1796
1912
  } else {
1797
1913
  const next = tokens[i + 1]
@@ -1815,7 +1931,6 @@ export function makeTreeRecord<A>(
1815
1931
  *
1816
1932
  * **Details**
1817
1933
  *
1818
- * - This is the inverse of {@link makeTreeRecord}.
1819
1934
  * - Takes a nested object and produces flat `[bracketPath, value]` pairs suitable for
1820
1935
  * `FormData` or `URLSearchParams`.
1821
1936
  * - Returns a curried function: first call provides the leaf type guard, second call provides the object.
@@ -1823,22 +1938,25 @@ export function makeTreeRecord<A>(
1823
1938
  * - If all elements of an array are leaves, encodes them as multiple entries with the same key
1824
1939
  * (e.g. `tags=a&tags=b`). Otherwise uses indexed bracket paths (e.g. `items[0]`, `items[1]`).
1825
1940
  * - Non-leaf values that aren't objects or arrays are silently skipped.
1941
+ * - Empty arrays and objects produce no entries, and path delimiters in property
1942
+ * names are not escaped. The resulting format is therefore lossy.
1826
1943
  *
1827
1944
  * **Example** (Flattening an object to bracket paths)
1828
1945
  *
1829
- * ```ts
1946
+ * ```ts import.meta.vitest
1830
1947
  * import { Predicate, SchemaGetter } from "effect"
1831
1948
  *
1832
1949
  * const collectStrings = SchemaGetter.collectBracketPathEntries(Predicate.isString)
1833
1950
  * const entries = collectStrings({ user: { name: "Alice", tags: ["admin", "editor"] } })
1834
- * // [["user[name]", "Alice"], ["user[tags]", "admin"], ["user[tags]", "editor"]]
1951
+ *
1952
+ * entries // => [["user[name]", "Alice"], ["user[tags]", "admin"], ["user[tags]", "editor"]]
1835
1953
  * ```
1836
1954
  *
1837
- * @see {@link makeTreeRecord} for the inverse operation (flat entries to tree)
1955
+ * @see {@link makeTreeRecord} for building trees from bracket-path entries
1838
1956
  * @see {@link encodeFormData} for a higher-level FormData encoder
1839
1957
  * @see {@link encodeURLSearchParams} for a higher-level URLSearchParams encoder
1840
1958
  *
1841
- * @category Tree
1959
+ * @category converting
1842
1960
  * @since 4.0.0
1843
1961
  */
1844
1962
  export function collectBracketPathEntries<A>(isLeaf: (value: unknown) => value is A) {