effect 4.0.0-beta.101 → 4.0.0-beta.103

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