effect 4.0.0-beta.102 → 4.0.0-beta.104

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 (1637) hide show
  1. package/dist/Array.d.ts +971 -1037
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +381 -407
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +433 -756
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +200 -325
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +207 -267
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +107 -135
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +146 -188
  14. package/dist/Boolean.d.ts.map +1 -1
  15. package/dist/Boolean.js +64 -84
  16. package/dist/Boolean.js.map +1 -1
  17. package/dist/Brand.js.map +1 -1
  18. package/dist/Cache.d.ts +405 -254
  19. package/dist/Cache.d.ts.map +1 -1
  20. package/dist/Cache.js +167 -102
  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 +730 -769
  27. package/dist/Channel.d.ts.map +1 -1
  28. package/dist/Channel.js +514 -440
  29. package/dist/Channel.js.map +1 -1
  30. package/dist/ChannelSchema.d.ts +1 -1
  31. package/dist/ChannelSchema.d.ts.map +1 -1
  32. package/dist/ChannelSchema.js.map +1 -1
  33. package/dist/Chunk.d.ts +834 -1173
  34. package/dist/Chunk.d.ts.map +1 -1
  35. package/dist/Chunk.js +326 -439
  36. package/dist/Chunk.js.map +1 -1
  37. package/dist/Clock.d.ts +180 -49
  38. package/dist/Clock.d.ts.map +1 -1
  39. package/dist/Clock.js +96 -31
  40. package/dist/Clock.js.map +1 -1
  41. package/dist/Combiner.d.ts +20 -33
  42. package/dist/Combiner.d.ts.map +1 -1
  43. package/dist/Combiner.js +18 -30
  44. package/dist/Combiner.js.map +1 -1
  45. package/dist/Config.d.ts +225 -173
  46. package/dist/Config.d.ts.map +1 -1
  47. package/dist/Config.js +357 -265
  48. package/dist/Config.js.map +1 -1
  49. package/dist/ConfigProvider.d.ts +194 -68
  50. package/dist/ConfigProvider.d.ts.map +1 -1
  51. package/dist/ConfigProvider.js +117 -81
  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 +153 -276
  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 +22 -15
  68. package/dist/Crypto.js.map +1 -1
  69. package/dist/Data.d.ts +60 -80
  70. package/dist/Data.d.ts.map +1 -1
  71. package/dist/Data.js +16 -23
  72. package/dist/Data.js.map +1 -1
  73. package/dist/DateTime.d.ts +562 -660
  74. package/dist/DateTime.d.ts.map +1 -1
  75. package/dist/DateTime.js +307 -362
  76. package/dist/DateTime.js.map +1 -1
  77. package/dist/Deferred.d.ts +253 -256
  78. package/dist/Deferred.d.ts.map +1 -1
  79. package/dist/Deferred.js +104 -96
  80. package/dist/Deferred.js.map +1 -1
  81. package/dist/Duration.d.ts +216 -308
  82. package/dist/Duration.d.ts.map +1 -1
  83. package/dist/Duration.js +144 -187
  84. package/dist/Duration.js.map +1 -1
  85. package/dist/Effect.d.ts +2993 -3281
  86. package/dist/Effect.d.ts.map +1 -1
  87. package/dist/Effect.js +1360 -1546
  88. package/dist/Effect.js.map +1 -1
  89. package/dist/Effectable.js.map +1 -1
  90. package/dist/Encoding.d.ts +22 -40
  91. package/dist/Encoding.d.ts.map +1 -1
  92. package/dist/Encoding.js +22 -40
  93. package/dist/Encoding.js.map +1 -1
  94. package/dist/Equal.d.ts +33 -37
  95. package/dist/Equal.d.ts.map +1 -1
  96. package/dist/Equal.js +39 -23
  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 +86 -55
  107. package/dist/ExecutionPlan.d.ts.map +1 -1
  108. package/dist/ExecutionPlan.js +8 -29
  109. package/dist/ExecutionPlan.js.map +1 -1
  110. package/dist/Exit.d.ts +116 -192
  111. package/dist/Exit.d.ts.map +1 -1
  112. package/dist/Exit.js +82 -130
  113. package/dist/Exit.js.map +1 -1
  114. package/dist/Fiber.d.ts +82 -146
  115. package/dist/Fiber.d.ts.map +1 -1
  116. package/dist/Fiber.js +48 -87
  117. package/dist/Fiber.js.map +1 -1
  118. package/dist/FiberHandle.d.ts +152 -105
  119. package/dist/FiberHandle.d.ts.map +1 -1
  120. package/dist/FiberHandle.js +106 -73
  121. package/dist/FiberHandle.js.map +1 -1
  122. package/dist/FiberMap.d.ts +213 -168
  123. package/dist/FiberMap.d.ts.map +1 -1
  124. package/dist/FiberMap.js +114 -89
  125. package/dist/FiberMap.js.map +1 -1
  126. package/dist/FiberSet.d.ts +123 -81
  127. package/dist/FiberSet.d.ts.map +1 -1
  128. package/dist/FiberSet.js +86 -60
  129. package/dist/FiberSet.js.map +1 -1
  130. package/dist/FileSystem.d.ts +154 -265
  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 +80 -148
  143. package/dist/Function.d.ts.map +1 -1
  144. package/dist/Function.js +45 -62
  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 +239 -316
  173. package/dist/Iterable.js.map +1 -1
  174. package/dist/JsonPatch.d.ts +11 -13
  175. package/dist/JsonPatch.d.ts.map +1 -1
  176. package/dist/JsonPatch.js +44 -102
  177. package/dist/JsonPatch.js.map +1 -1
  178. package/dist/JsonPointer.d.ts +8 -8
  179. package/dist/JsonPointer.js +8 -8
  180. package/dist/JsonPointer.js.map +1 -1
  181. package/dist/JsonSchema.d.ts +98 -44
  182. package/dist/JsonSchema.d.ts.map +1 -1
  183. package/dist/JsonSchema.js +297 -234
  184. package/dist/JsonSchema.js.map +1 -1
  185. package/dist/Latch.d.ts +23 -35
  186. package/dist/Latch.d.ts.map +1 -1
  187. package/dist/Latch.js +16 -28
  188. package/dist/Latch.js.map +1 -1
  189. package/dist/Layer.d.ts +359 -260
  190. package/dist/Layer.d.ts.map +1 -1
  191. package/dist/Layer.js +202 -180
  192. package/dist/Layer.js.map +1 -1
  193. package/dist/LayerMap.d.ts +42 -29
  194. package/dist/LayerMap.d.ts.map +1 -1
  195. package/dist/LayerMap.js +31 -21
  196. package/dist/LayerMap.js.map +1 -1
  197. package/dist/LayerRef.d.ts +6 -2
  198. package/dist/LayerRef.d.ts.map +1 -1
  199. package/dist/LayerRef.js +6 -2
  200. package/dist/LayerRef.js.map +1 -1
  201. package/dist/LogLevel.d.ts +114 -214
  202. package/dist/LogLevel.d.ts.map +1 -1
  203. package/dist/LogLevel.js +41 -76
  204. package/dist/LogLevel.js.map +1 -1
  205. package/dist/Logger.d.ts +218 -467
  206. package/dist/Logger.d.ts.map +1 -1
  207. package/dist/Logger.js +204 -450
  208. package/dist/Logger.js.map +1 -1
  209. package/dist/ManagedRuntime.d.ts +7 -5
  210. package/dist/ManagedRuntime.d.ts.map +1 -1
  211. package/dist/ManagedRuntime.js +7 -5
  212. package/dist/ManagedRuntime.js.map +1 -1
  213. package/dist/Match.d.ts +217 -252
  214. package/dist/Match.d.ts.map +1 -1
  215. package/dist/Match.js +150 -183
  216. package/dist/Match.js.map +1 -1
  217. package/dist/Metric.d.ts +442 -993
  218. package/dist/Metric.d.ts.map +1 -1
  219. package/dist/Metric.js +198 -642
  220. package/dist/Metric.js.map +1 -1
  221. package/dist/MutableHashMap.d.ts +144 -173
  222. package/dist/MutableHashMap.d.ts.map +1 -1
  223. package/dist/MutableHashMap.js +68 -79
  224. package/dist/MutableHashMap.js.map +1 -1
  225. package/dist/MutableHashSet.d.ts +84 -89
  226. package/dist/MutableHashSet.d.ts.map +1 -1
  227. package/dist/MutableHashSet.js +44 -47
  228. package/dist/MutableHashSet.js.map +1 -1
  229. package/dist/MutableList.d.ts +71 -370
  230. package/dist/MutableList.d.ts.map +1 -1
  231. package/dist/MutableList.js +59 -284
  232. package/dist/MutableList.js.map +1 -1
  233. package/dist/MutableRef.d.ts +420 -243
  234. package/dist/MutableRef.d.ts.map +1 -1
  235. package/dist/MutableRef.js +209 -120
  236. package/dist/MutableRef.js.map +1 -1
  237. package/dist/Newtype.d.ts +21 -14
  238. package/dist/Newtype.d.ts.map +1 -1
  239. package/dist/Newtype.js +15 -13
  240. package/dist/Newtype.js.map +1 -1
  241. package/dist/NonEmptyIterable.d.ts +7 -137
  242. package/dist/NonEmptyIterable.d.ts.map +1 -1
  243. package/dist/NonEmptyIterable.js +5 -93
  244. package/dist/NonEmptyIterable.js.map +1 -1
  245. package/dist/Number.d.ts +196 -233
  246. package/dist/Number.d.ts.map +1 -1
  247. package/dist/Number.js +90 -109
  248. package/dist/Number.js.map +1 -1
  249. package/dist/Optic.d.ts +97 -189
  250. package/dist/Optic.d.ts.map +1 -1
  251. package/dist/Optic.js +187 -290
  252. package/dist/Optic.js.map +1 -1
  253. package/dist/Option.d.ts +447 -812
  254. package/dist/Option.d.ts.map +1 -1
  255. package/dist/Option.js +211 -392
  256. package/dist/Option.js.map +1 -1
  257. package/dist/Order.d.ts +109 -109
  258. package/dist/Order.js +91 -91
  259. package/dist/Order.js.map +1 -1
  260. package/dist/Ordering.d.ts +20 -23
  261. package/dist/Ordering.d.ts.map +1 -1
  262. package/dist/Ordering.js +8 -9
  263. package/dist/Ordering.js.map +1 -1
  264. package/dist/PartitionedSemaphore.js.map +1 -1
  265. package/dist/Path.d.ts +38 -41
  266. package/dist/Path.d.ts.map +1 -1
  267. package/dist/Path.js +3 -4
  268. package/dist/Path.js.map +1 -1
  269. package/dist/Pipeable.d.ts +6 -5
  270. package/dist/Pipeable.d.ts.map +1 -1
  271. package/dist/Pipeable.js +2 -2
  272. package/dist/Pipeable.js.map +1 -1
  273. package/dist/PlatformError.d.ts +4 -4
  274. package/dist/PlatformError.js +3 -3
  275. package/dist/PlatformError.js.map +1 -1
  276. package/dist/Pool.d.ts +4 -2
  277. package/dist/Pool.d.ts.map +1 -1
  278. package/dist/Pool.js +4 -2
  279. package/dist/Pool.js.map +1 -1
  280. package/dist/Predicate.d.ts +200 -181
  281. package/dist/Predicate.d.ts.map +1 -1
  282. package/dist/Predicate.js +100 -108
  283. package/dist/Predicate.js.map +1 -1
  284. package/dist/PrimaryKey.d.ts +7 -7
  285. package/dist/PrimaryKey.js +5 -5
  286. package/dist/PrimaryKey.js.map +1 -1
  287. package/dist/PubSub.d.ts +425 -494
  288. package/dist/PubSub.d.ts.map +1 -1
  289. package/dist/PubSub.js +373 -362
  290. package/dist/PubSub.js.map +1 -1
  291. package/dist/Pull.d.ts +24 -18
  292. package/dist/Pull.d.ts.map +1 -1
  293. package/dist/Pull.js +11 -9
  294. package/dist/Pull.js.map +1 -1
  295. package/dist/Queue.d.ts +200 -159
  296. package/dist/Queue.d.ts.map +1 -1
  297. package/dist/Queue.js +162 -132
  298. package/dist/Queue.js.map +1 -1
  299. package/dist/Random.d.ts +49 -74
  300. package/dist/Random.d.ts.map +1 -1
  301. package/dist/Random.js +35 -54
  302. package/dist/Random.js.map +1 -1
  303. package/dist/RcMap.d.ts +121 -63
  304. package/dist/RcMap.d.ts.map +1 -1
  305. package/dist/RcMap.js +42 -21
  306. package/dist/RcMap.js.map +1 -1
  307. package/dist/RcRef.d.ts +24 -13
  308. package/dist/RcRef.d.ts.map +1 -1
  309. package/dist/RcRef.js +15 -9
  310. package/dist/RcRef.js.map +1 -1
  311. package/dist/Record.d.ts +291 -488
  312. package/dist/Record.d.ts.map +1 -1
  313. package/dist/Record.js +111 -202
  314. package/dist/Record.js.map +1 -1
  315. package/dist/Redactable.d.ts +6 -2
  316. package/dist/Redactable.d.ts.map +1 -1
  317. package/dist/Redactable.js +7 -2
  318. package/dist/Redactable.js.map +1 -1
  319. package/dist/Redacted.d.ts +25 -25
  320. package/dist/Redacted.d.ts.map +1 -1
  321. package/dist/Redacted.js +19 -20
  322. package/dist/Redacted.js.map +1 -1
  323. package/dist/Reducer.d.ts +8 -15
  324. package/dist/Reducer.d.ts.map +1 -1
  325. package/dist/Reducer.js +6 -12
  326. package/dist/Reducer.js.map +1 -1
  327. package/dist/Ref.d.ts +95 -165
  328. package/dist/Ref.d.ts.map +1 -1
  329. package/dist/Ref.js +75 -122
  330. package/dist/Ref.js.map +1 -1
  331. package/dist/References.d.ts +102 -168
  332. package/dist/References.d.ts.map +1 -1
  333. package/dist/References.js +102 -168
  334. package/dist/References.js.map +1 -1
  335. package/dist/RegExp.d.ts +10 -14
  336. package/dist/RegExp.d.ts.map +1 -1
  337. package/dist/RegExp.js +10 -14
  338. package/dist/RegExp.js.map +1 -1
  339. package/dist/Request.d.ts +31 -21
  340. package/dist/Request.d.ts.map +1 -1
  341. package/dist/Request.js +16 -13
  342. package/dist/Request.js.map +1 -1
  343. package/dist/RequestResolver.d.ts +201 -90
  344. package/dist/RequestResolver.d.ts.map +1 -1
  345. package/dist/RequestResolver.js +87 -41
  346. package/dist/RequestResolver.js.map +1 -1
  347. package/dist/Resource.js.map +1 -1
  348. package/dist/Result.d.ts +302 -470
  349. package/dist/Result.d.ts.map +1 -1
  350. package/dist/Result.js +133 -217
  351. package/dist/Result.js.map +1 -1
  352. package/dist/Runtime.d.ts +50 -75
  353. package/dist/Runtime.d.ts.map +1 -1
  354. package/dist/Runtime.js +39 -60
  355. package/dist/Runtime.js.map +1 -1
  356. package/dist/Schedule.d.ts +292 -1638
  357. package/dist/Schedule.d.ts.map +1 -1
  358. package/dist/Schedule.js +164 -805
  359. package/dist/Schedule.js.map +1 -1
  360. package/dist/Scheduler.d.ts +5 -5
  361. package/dist/Scheduler.d.ts.map +1 -1
  362. package/dist/Scheduler.js +18 -6
  363. package/dist/Scheduler.js.map +1 -1
  364. package/dist/Schema.d.ts +676 -674
  365. package/dist/Schema.d.ts.map +1 -1
  366. package/dist/Schema.js +513 -544
  367. package/dist/Schema.js.map +1 -1
  368. package/dist/SchemaAST.d.ts +30 -53
  369. package/dist/SchemaAST.d.ts.map +1 -1
  370. package/dist/SchemaAST.js +404 -301
  371. package/dist/SchemaAST.js.map +1 -1
  372. package/dist/SchemaError.d.ts +7 -6
  373. package/dist/SchemaError.d.ts.map +1 -1
  374. package/dist/SchemaError.js +7 -6
  375. package/dist/SchemaError.js.map +1 -1
  376. package/dist/SchemaGetter.d.ts +217 -174
  377. package/dist/SchemaGetter.d.ts.map +1 -1
  378. package/dist/SchemaGetter.js +218 -185
  379. package/dist/SchemaGetter.js.map +1 -1
  380. package/dist/SchemaIssue.d.ts +62 -190
  381. package/dist/SchemaIssue.d.ts.map +1 -1
  382. package/dist/SchemaIssue.js +73 -265
  383. package/dist/SchemaIssue.js.map +1 -1
  384. package/dist/SchemaParser.d.ts +2 -2
  385. package/dist/SchemaParser.d.ts.map +1 -1
  386. package/dist/SchemaParser.js +137 -107
  387. package/dist/SchemaParser.js.map +1 -1
  388. package/dist/SchemaRepresentation.d.ts +22 -36
  389. package/dist/SchemaRepresentation.d.ts.map +1 -1
  390. package/dist/SchemaRepresentation.js +20 -26
  391. package/dist/SchemaRepresentation.js.map +1 -1
  392. package/dist/SchemaTransformation.d.ts +114 -74
  393. package/dist/SchemaTransformation.d.ts.map +1 -1
  394. package/dist/SchemaTransformation.js +120 -85
  395. package/dist/SchemaTransformation.js.map +1 -1
  396. package/dist/Scope.d.ts +123 -151
  397. package/dist/Scope.d.ts.map +1 -1
  398. package/dist/Scope.js +72 -92
  399. package/dist/Scope.js.map +1 -1
  400. package/dist/ScopedCache.js +1 -1
  401. package/dist/ScopedCache.js.map +1 -1
  402. package/dist/ScopedRef.d.ts +3 -3
  403. package/dist/ScopedRef.js +2 -2
  404. package/dist/ScopedRef.js.map +1 -1
  405. package/dist/Semaphore.d.ts +96 -10
  406. package/dist/Semaphore.d.ts.map +1 -1
  407. package/dist/Semaphore.js +78 -39
  408. package/dist/Semaphore.js.map +1 -1
  409. package/dist/Sink.d.ts +118 -108
  410. package/dist/Sink.d.ts.map +1 -1
  411. package/dist/Sink.js +107 -100
  412. package/dist/Sink.js.map +1 -1
  413. package/dist/Stdio.d.ts +1 -1
  414. package/dist/Stdio.js.map +1 -1
  415. package/dist/Stream.d.ts +2442 -2953
  416. package/dist/Stream.d.ts.map +1 -1
  417. package/dist/Stream.js +1105 -1383
  418. package/dist/Stream.js.map +1 -1
  419. package/dist/String.d.ts +262 -308
  420. package/dist/String.d.ts.map +1 -1
  421. package/dist/String.js +184 -215
  422. package/dist/String.js.map +1 -1
  423. package/dist/Struct.d.ts +109 -114
  424. package/dist/Struct.d.ts.map +1 -1
  425. package/dist/Struct.js +41 -50
  426. package/dist/Struct.js.map +1 -1
  427. package/dist/SubscriptionRef.d.ts +282 -250
  428. package/dist/SubscriptionRef.d.ts.map +1 -1
  429. package/dist/SubscriptionRef.js +104 -92
  430. package/dist/SubscriptionRef.js.map +1 -1
  431. package/dist/Symbol.d.ts +3 -3
  432. package/dist/Symbol.js +3 -3
  433. package/dist/Symbol.js.map +1 -1
  434. package/dist/SynchronizedRef.js +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 +2 -2
  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 +98 -131
  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 +89 -114
  481. package/dist/TxReentrantLock.d.ts.map +1 -1
  482. package/dist/TxReentrantLock.js +75 -53
  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 +126 -67
  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.js.map +1 -1
  508. package/dist/internal/array.js.map +1 -1
  509. package/dist/internal/core.js +1 -1
  510. package/dist/internal/core.js.map +1 -1
  511. package/dist/internal/dateTime.js +5 -1
  512. package/dist/internal/dateTime.js.map +1 -1
  513. package/dist/internal/doNotation.js.map +1 -1
  514. package/dist/internal/effect.js +77 -40
  515. package/dist/internal/effect.js.map +1 -1
  516. package/dist/internal/equal.js.map +1 -1
  517. package/dist/internal/errors.js.map +1 -1
  518. package/dist/internal/executionPlan.js +51 -3
  519. package/dist/internal/executionPlan.js.map +1 -1
  520. package/dist/internal/hashMap.js +12 -8
  521. package/dist/internal/hashMap.js.map +1 -1
  522. package/dist/internal/hashSet.js.map +1 -1
  523. package/dist/internal/layer.js.map +1 -1
  524. package/dist/internal/matcher.js +1 -1
  525. package/dist/internal/matcher.js.map +1 -1
  526. package/dist/internal/metric.js.map +1 -1
  527. package/dist/internal/option.js.map +1 -1
  528. package/dist/internal/persistence.d.ts +2 -0
  529. package/dist/internal/persistence.d.ts.map +1 -0
  530. package/dist/internal/persistence.js +3 -0
  531. package/dist/internal/persistence.js.map +1 -0
  532. package/dist/internal/random.js.map +1 -1
  533. package/dist/internal/rcRef.js.map +1 -1
  534. package/dist/internal/record.js.map +1 -1
  535. package/dist/internal/redacted.js.map +1 -1
  536. package/dist/internal/references.js +3 -0
  537. package/dist/internal/references.js.map +1 -1
  538. package/dist/internal/request.js.map +1 -1
  539. package/dist/internal/result.js.map +1 -1
  540. package/dist/internal/schedule.js.map +1 -1
  541. package/dist/internal/schema/annotations.js +2 -0
  542. package/dist/internal/schema/annotations.js.map +1 -1
  543. package/dist/internal/schema/cause.js.map +1 -1
  544. package/dist/internal/schema/fromJsonSchemaDocument.js +13 -11
  545. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
  546. package/dist/internal/schema/fromRepresentation.js +8 -15
  547. package/dist/internal/schema/fromRepresentation.js.map +1 -1
  548. package/dist/internal/schema/parser.d.ts +14 -0
  549. package/dist/internal/schema/parser.d.ts.map +1 -0
  550. package/dist/internal/schema/parser.js +13 -0
  551. package/dist/internal/schema/parser.js.map +1 -0
  552. package/dist/internal/schema/schema.js.map +1 -1
  553. package/dist/internal/schema/toArbitrary.js +1 -1
  554. package/dist/internal/schema/toArbitrary.js.map +1 -1
  555. package/dist/internal/schema/toCodeDocument.js.map +1 -1
  556. package/dist/internal/schema/toEquivalence.js.map +1 -1
  557. package/dist/internal/schema/toJsonSchemaDocument.js +48 -6
  558. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
  559. package/dist/internal/schema/toRepresentation.js +87 -107
  560. package/dist/internal/schema/toRepresentation.js.map +1 -1
  561. package/dist/internal/stackTraceLimit.js.map +1 -1
  562. package/dist/internal/stream.js.map +1 -1
  563. package/dist/internal/tracer.js.map +1 -1
  564. package/dist/internal/trie.js +24 -10
  565. package/dist/internal/trie.js.map +1 -1
  566. package/dist/testing/FastCheck.d.ts +8 -7
  567. package/dist/testing/FastCheck.d.ts.map +1 -1
  568. package/dist/testing/FastCheck.js +8 -7
  569. package/dist/testing/FastCheck.js.map +1 -1
  570. package/dist/testing/TestClock.d.ts +57 -28
  571. package/dist/testing/TestClock.d.ts.map +1 -1
  572. package/dist/testing/TestClock.js +61 -19
  573. package/dist/testing/TestClock.js.map +1 -1
  574. package/dist/testing/TestConsole.d.ts +32 -31
  575. package/dist/testing/TestConsole.d.ts.map +1 -1
  576. package/dist/testing/TestConsole.js +24 -22
  577. package/dist/testing/TestConsole.js.map +1 -1
  578. package/dist/testing/TestSchema.d.ts +30 -30
  579. package/dist/testing/TestSchema.d.ts.map +1 -1
  580. package/dist/testing/TestSchema.js +25 -25
  581. package/dist/testing/TestSchema.js.map +1 -1
  582. package/dist/testing/index.js.map +1 -1
  583. package/dist/unstable/ai/AiError.d.ts +95 -118
  584. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  585. package/dist/unstable/ai/AiError.js +113 -136
  586. package/dist/unstable/ai/AiError.js.map +1 -1
  587. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
  588. package/dist/unstable/ai/AnthropicStructuredOutput.js +1 -1
  589. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  590. package/dist/unstable/ai/Chat.d.ts +132 -97
  591. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  592. package/dist/unstable/ai/Chat.js +56 -52
  593. package/dist/unstable/ai/Chat.js.map +1 -1
  594. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  595. package/dist/unstable/ai/IdGenerator.d.ts +32 -28
  596. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  597. package/dist/unstable/ai/IdGenerator.js +26 -21
  598. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  599. package/dist/unstable/ai/LanguageModel.d.ts +107 -67
  600. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  601. package/dist/unstable/ai/LanguageModel.js +108 -66
  602. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  603. package/dist/unstable/ai/McpProtocol.d.ts +30 -0
  604. package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
  605. package/dist/unstable/ai/McpProtocol.js +20 -0
  606. package/dist/unstable/ai/McpProtocol.js.map +1 -0
  607. package/dist/unstable/ai/McpSchema.d.ts +251 -185
  608. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  609. package/dist/unstable/ai/McpSchema.js +66 -58
  610. package/dist/unstable/ai/McpSchema.js.map +1 -1
  611. package/dist/unstable/ai/McpServer.d.ts +68 -59
  612. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  613. package/dist/unstable/ai/McpServer.js +695 -242
  614. package/dist/unstable/ai/McpServer.js.map +1 -1
  615. package/dist/unstable/ai/Model.d.ts +8 -19
  616. package/dist/unstable/ai/Model.d.ts.map +1 -1
  617. package/dist/unstable/ai/Model.js +9 -20
  618. package/dist/unstable/ai/Model.js.map +1 -1
  619. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
  620. package/dist/unstable/ai/OpenAiStructuredOutput.js +1 -1
  621. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  622. package/dist/unstable/ai/Prompt.d.ts +127 -41
  623. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  624. package/dist/unstable/ai/Prompt.js +59 -20
  625. package/dist/unstable/ai/Prompt.js.map +1 -1
  626. package/dist/unstable/ai/Response.d.ts +28 -14
  627. package/dist/unstable/ai/Response.d.ts.map +1 -1
  628. package/dist/unstable/ai/Response.js +9 -4
  629. package/dist/unstable/ai/Response.js.map +1 -1
  630. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  631. package/dist/unstable/ai/Telemetry.d.ts +46 -13
  632. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  633. package/dist/unstable/ai/Telemetry.js +18 -7
  634. package/dist/unstable/ai/Telemetry.js.map +1 -1
  635. package/dist/unstable/ai/Tokenizer.d.ts +14 -3
  636. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  637. package/dist/unstable/ai/Tokenizer.js +10 -2
  638. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  639. package/dist/unstable/ai/Tool.d.ts +59 -44
  640. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  641. package/dist/unstable/ai/Tool.js +48 -39
  642. package/dist/unstable/ai/Tool.js.map +1 -1
  643. package/dist/unstable/ai/Toolkit.d.ts +26 -8
  644. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  645. package/dist/unstable/ai/Toolkit.js +18 -4
  646. package/dist/unstable/ai/Toolkit.js.map +1 -1
  647. package/dist/unstable/ai/index.d.ts +4 -0
  648. package/dist/unstable/ai/index.d.ts.map +1 -1
  649. package/dist/unstable/ai/index.js +4 -0
  650. package/dist/unstable/ai/index.js.map +1 -1
  651. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  652. package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
  653. package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
  654. package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
  655. package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
  656. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
  657. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
  658. package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
  659. package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
  660. package/dist/unstable/ai/internal/structured-output.js +14 -15
  661. package/dist/unstable/ai/internal/structured-output.js.map +1 -1
  662. package/dist/unstable/cli/Argument.d.ts +273 -69
  663. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  664. package/dist/unstable/cli/Argument.js +111 -33
  665. package/dist/unstable/cli/Argument.js.map +1 -1
  666. package/dist/unstable/cli/CliConfig.js.map +1 -1
  667. package/dist/unstable/cli/CliError.d.ts +70 -77
  668. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  669. package/dist/unstable/cli/CliError.js +66 -70
  670. package/dist/unstable/cli/CliError.js.map +1 -1
  671. package/dist/unstable/cli/CliOutput.d.ts +35 -54
  672. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  673. package/dist/unstable/cli/CliOutput.js +26 -42
  674. package/dist/unstable/cli/CliOutput.js.map +1 -1
  675. package/dist/unstable/cli/Command.d.ts +713 -115
  676. package/dist/unstable/cli/Command.d.ts.map +1 -1
  677. package/dist/unstable/cli/Command.js +245 -47
  678. package/dist/unstable/cli/Command.js.map +1 -1
  679. package/dist/unstable/cli/Completions.js.map +1 -1
  680. package/dist/unstable/cli/Flag.d.ts +418 -138
  681. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  682. package/dist/unstable/cli/Flag.js +197 -71
  683. package/dist/unstable/cli/Flag.js.map +1 -1
  684. package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
  685. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  686. package/dist/unstable/cli/HelpDoc.d.ts +12 -4
  687. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  688. package/dist/unstable/cli/Param.d.ts +299 -83
  689. package/dist/unstable/cli/Param.d.ts.map +1 -1
  690. package/dist/unstable/cli/Param.js +143 -57
  691. package/dist/unstable/cli/Param.js.map +1 -1
  692. package/dist/unstable/cli/Primitive.d.ts +370 -149
  693. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  694. package/dist/unstable/cli/Primitive.js +375 -160
  695. package/dist/unstable/cli/Primitive.js.map +1 -1
  696. package/dist/unstable/cli/Prompt.d.ts +23 -14
  697. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  698. package/dist/unstable/cli/Prompt.js +54 -31
  699. package/dist/unstable/cli/Prompt.js.map +1 -1
  700. package/dist/unstable/cli/index.js.map +1 -1
  701. package/dist/unstable/cli/internal/ansi.js +2 -2
  702. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  703. package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
  704. package/dist/unstable/cli/internal/command.d.ts +2 -2
  705. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  706. package/dist/unstable/cli/internal/command.js +10 -9
  707. package/dist/unstable/cli/internal/command.js.map +1 -1
  708. package/dist/unstable/cli/internal/completions/bash.js +69 -9
  709. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  710. package/dist/unstable/cli/internal/completions/descriptor.js +24 -18
  711. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  712. package/dist/unstable/cli/internal/completions/fish.js +5 -5
  713. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  714. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  715. package/dist/unstable/cli/internal/config.js.map +1 -1
  716. package/dist/unstable/cli/internal/help.d.ts.map +1 -1
  717. package/dist/unstable/cli/internal/help.js +4 -2
  718. package/dist/unstable/cli/internal/help.js.map +1 -1
  719. package/dist/unstable/cli/internal/lexer.js +17 -7
  720. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  721. package/dist/unstable/cli/internal/parser.js +5 -5
  722. package/dist/unstable/cli/internal/parser.js.map +1 -1
  723. package/dist/unstable/cli/internal/wizard.js +2 -2
  724. package/dist/unstable/cli/internal/wizard.js.map +1 -1
  725. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  726. package/dist/unstable/cluster/ClusterError.js +7 -7
  727. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  728. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  729. package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
  730. package/dist/unstable/cluster/ClusterSchema.js +8 -8
  731. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  732. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  733. package/dist/unstable/cluster/ClusterWorkflowEngine.js +6 -2
  734. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  735. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  736. package/dist/unstable/cluster/Entity.d.ts +10 -10
  737. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  738. package/dist/unstable/cluster/Entity.js +8 -8
  739. package/dist/unstable/cluster/Entity.js.map +1 -1
  740. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  741. package/dist/unstable/cluster/EntityId.js.map +1 -1
  742. package/dist/unstable/cluster/EntityProxy.d.ts +4 -2
  743. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  744. package/dist/unstable/cluster/EntityProxy.js +4 -2
  745. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  746. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  747. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  748. package/dist/unstable/cluster/EntityResource.js +2 -2
  749. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  750. package/dist/unstable/cluster/EntityType.js.map +1 -1
  751. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  752. package/dist/unstable/cluster/Envelope.js +3 -3
  753. package/dist/unstable/cluster/Envelope.js.map +1 -1
  754. package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
  755. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  756. package/dist/unstable/cluster/HttpRunner.js +6 -4
  757. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  758. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  759. package/dist/unstable/cluster/MachineId.js.map +1 -1
  760. package/dist/unstable/cluster/Message.d.ts +9 -9
  761. package/dist/unstable/cluster/Message.js +6 -6
  762. package/dist/unstable/cluster/Message.js.map +1 -1
  763. package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
  764. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  765. package/dist/unstable/cluster/MessageStorage.js +13 -6
  766. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  767. package/dist/unstable/cluster/Reply.d.ts +8 -0
  768. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  769. package/dist/unstable/cluster/Reply.js +16 -4
  770. package/dist/unstable/cluster/Reply.js.map +1 -1
  771. package/dist/unstable/cluster/Runner.js.map +1 -1
  772. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  773. package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
  774. package/dist/unstable/cluster/RunnerHealth.js +1 -1
  775. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  776. package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
  777. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  778. package/dist/unstable/cluster/RunnerServer.js +18 -16
  779. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  780. package/dist/unstable/cluster/RunnerStorage.d.ts +3 -4
  781. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  782. package/dist/unstable/cluster/RunnerStorage.js +8 -7
  783. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  784. package/dist/unstable/cluster/Runners.d.ts +6 -6
  785. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  786. package/dist/unstable/cluster/Runners.js +19 -10
  787. package/dist/unstable/cluster/Runners.js.map +1 -1
  788. package/dist/unstable/cluster/ShardId.js.map +1 -1
  789. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  790. package/dist/unstable/cluster/Sharding.js +25 -6
  791. package/dist/unstable/cluster/Sharding.js.map +1 -1
  792. package/dist/unstable/cluster/ShardingConfig.d.ts +3 -3
  793. package/dist/unstable/cluster/ShardingConfig.js +3 -3
  794. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  795. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  796. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  797. package/dist/unstable/cluster/Singleton.js.map +1 -1
  798. package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
  799. package/dist/unstable/cluster/SingletonAddress.js +1 -1
  800. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  801. package/dist/unstable/cluster/Snowflake.d.ts +8 -8
  802. package/dist/unstable/cluster/Snowflake.js +8 -8
  803. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  804. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  805. package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
  806. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  807. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  808. package/dist/unstable/cluster/SqlRunnerStorage.js +20 -5
  809. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  810. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  811. package/dist/unstable/cluster/index.js.map +1 -1
  812. package/dist/unstable/cluster/internal/entityManager.js +6 -6
  813. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  814. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  815. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  816. package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
  817. package/dist/unstable/cluster/internal/resourceMap.js +2 -2
  818. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  819. package/dist/unstable/cluster/internal/resourceRef.js +17 -0
  820. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  821. package/dist/unstable/cluster/internal/shardLock.js.map +1 -1
  822. package/dist/unstable/devtools/DevTools.js.map +1 -1
  823. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  824. package/dist/unstable/devtools/DevToolsClient.js +7 -2
  825. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  826. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  827. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  828. package/dist/unstable/devtools/index.js.map +1 -1
  829. package/dist/unstable/encoding/Ini.d.ts +20 -0
  830. package/dist/unstable/encoding/Ini.d.ts.map +1 -0
  831. package/dist/unstable/encoding/Ini.js +153 -0
  832. package/dist/unstable/encoding/Ini.js.map +1 -0
  833. package/dist/unstable/encoding/Msgpack.d.ts +2 -1
  834. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  835. package/dist/unstable/encoding/Msgpack.js +27 -15
  836. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  837. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  838. package/dist/unstable/encoding/Ndjson.js +7 -1
  839. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  840. package/dist/unstable/encoding/Sse.d.ts +72 -8
  841. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  842. package/dist/unstable/encoding/Sse.js +72 -31
  843. package/dist/unstable/encoding/Sse.js.map +1 -1
  844. package/dist/unstable/encoding/Toml.d.ts +19 -0
  845. package/dist/unstable/encoding/Toml.d.ts.map +1 -0
  846. package/dist/unstable/encoding/Toml.js +434 -0
  847. package/dist/unstable/encoding/Toml.js.map +1 -0
  848. package/dist/unstable/encoding/Yaml.d.ts +19 -0
  849. package/dist/unstable/encoding/Yaml.d.ts.map +1 -0
  850. package/dist/unstable/encoding/Yaml.js +461 -0
  851. package/dist/unstable/encoding/Yaml.js.map +1 -0
  852. package/dist/unstable/encoding/index.d.ts +12 -0
  853. package/dist/unstable/encoding/index.d.ts.map +1 -1
  854. package/dist/unstable/encoding/index.js +12 -0
  855. package/dist/unstable/encoding/index.js.map +1 -1
  856. package/dist/unstable/eventlog/Event.d.ts +20 -20
  857. package/dist/unstable/eventlog/Event.js.map +1 -1
  858. package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
  859. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  860. package/dist/unstable/eventlog/EventJournal.d.ts +16 -16
  861. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  862. package/dist/unstable/eventlog/EventJournal.js +26 -18
  863. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  864. package/dist/unstable/eventlog/EventLog.d.ts +3 -3
  865. package/dist/unstable/eventlog/EventLog.js +3 -3
  866. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  867. package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
  868. package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
  869. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  870. package/dist/unstable/eventlog/EventLogMessage.d.ts +2 -2
  871. package/dist/unstable/eventlog/EventLogMessage.js +2 -2
  872. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  873. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
  874. package/dist/unstable/eventlog/EventLogRemote.js +1 -1
  875. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  876. package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
  877. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  878. package/dist/unstable/eventlog/EventLogServer.js +45 -21
  879. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  880. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
  881. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  882. package/dist/unstable/eventlog/EventLogServerEncrypted.js +13 -5
  883. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  884. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
  885. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  886. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +15 -7
  887. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  888. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
  889. package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
  890. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  891. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  892. package/dist/unstable/eventlog/SqlEventJournal.js +1 -4
  893. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  894. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  895. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  896. package/dist/unstable/eventlog/index.js.map +1 -1
  897. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  898. package/dist/unstable/http/Cookies.d.ts +2 -2
  899. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  900. package/dist/unstable/http/Cookies.js +30 -18
  901. package/dist/unstable/http/Cookies.js.map +1 -1
  902. package/dist/unstable/http/Etag.d.ts +1 -1
  903. package/dist/unstable/http/Etag.js +1 -1
  904. package/dist/unstable/http/Etag.js.map +1 -1
  905. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  906. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  907. package/dist/unstable/http/FindMyWay/internal/queryString.d.ts +11 -0
  908. package/dist/unstable/http/FindMyWay/internal/queryString.d.ts.map +1 -0
  909. package/dist/unstable/http/FindMyWay/internal/queryString.js +259 -0
  910. package/dist/unstable/http/FindMyWay/internal/queryString.js.map +1 -0
  911. package/dist/unstable/http/FindMyWay/internal/router.d.ts +2 -0
  912. package/dist/unstable/http/FindMyWay/internal/router.d.ts.map +1 -0
  913. package/dist/unstable/http/FindMyWay/internal/router.js +665 -0
  914. package/dist/unstable/http/FindMyWay/internal/router.js.map +1 -0
  915. package/dist/unstable/http/FindMyWay.d.ts +33 -8
  916. package/dist/unstable/http/FindMyWay.d.ts.map +1 -1
  917. package/dist/unstable/http/FindMyWay.js +4 -7
  918. package/dist/unstable/http/FindMyWay.js.map +1 -1
  919. package/dist/unstable/http/Headers.d.ts +2 -2
  920. package/dist/unstable/http/Headers.js +2 -2
  921. package/dist/unstable/http/Headers.js.map +1 -1
  922. package/dist/unstable/http/HttpBody.d.ts +5 -3
  923. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  924. package/dist/unstable/http/HttpBody.js +11 -5
  925. package/dist/unstable/http/HttpBody.js.map +1 -1
  926. package/dist/unstable/http/HttpClient.d.ts +51 -44
  927. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  928. package/dist/unstable/http/HttpClient.js +46 -17
  929. package/dist/unstable/http/HttpClient.js.map +1 -1
  930. package/dist/unstable/http/HttpClientError.js +1 -1
  931. package/dist/unstable/http/HttpClientError.js.map +1 -1
  932. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  933. package/dist/unstable/http/HttpClientRequest.js +2 -12
  934. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  935. package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
  936. package/dist/unstable/http/HttpClientResponse.js +3 -18
  937. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  938. package/dist/unstable/http/HttpEffect.d.ts +6 -6
  939. package/dist/unstable/http/HttpEffect.js +3 -3
  940. package/dist/unstable/http/HttpEffect.js.map +1 -1
  941. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  942. package/dist/unstable/http/HttpMethod.d.ts +6 -9
  943. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  944. package/dist/unstable/http/HttpMethod.js +6 -9
  945. package/dist/unstable/http/HttpMethod.js.map +1 -1
  946. package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
  947. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  948. package/dist/unstable/http/HttpMiddleware.js +164 -39
  949. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  950. package/dist/unstable/http/HttpPlatform.d.ts +76 -0
  951. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  952. package/dist/unstable/http/HttpPlatform.js +53 -3
  953. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  954. package/dist/unstable/http/HttpRouter.d.ts +88 -89
  955. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  956. package/dist/unstable/http/HttpRouter.js +78 -79
  957. package/dist/unstable/http/HttpRouter.js.map +1 -1
  958. package/dist/unstable/http/HttpServer.d.ts +13 -13
  959. package/dist/unstable/http/HttpServer.js +6 -6
  960. package/dist/unstable/http/HttpServer.js.map +1 -1
  961. package/dist/unstable/http/HttpServerError.d.ts +2 -2
  962. package/dist/unstable/http/HttpServerError.js +2 -2
  963. package/dist/unstable/http/HttpServerError.js.map +1 -1
  964. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  965. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  966. package/dist/unstable/http/HttpServerRequest.js +11 -10
  967. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  968. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  969. package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
  970. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  971. package/dist/unstable/http/HttpServerResponse.js +17 -5
  972. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  973. package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
  974. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  975. package/dist/unstable/http/HttpStaticServer.js +35 -7
  976. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  977. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  978. package/dist/unstable/http/Multipart.d.ts +7 -7
  979. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  980. package/dist/unstable/http/Multipart.js +14 -7
  981. package/dist/unstable/http/Multipart.js.map +1 -1
  982. package/dist/unstable/http/MultipartParser/HeadersParser.d.ts +53 -0
  983. package/dist/unstable/http/MultipartParser/HeadersParser.d.ts.map +1 -0
  984. package/dist/unstable/http/MultipartParser/HeadersParser.js +14 -0
  985. package/dist/unstable/http/MultipartParser/HeadersParser.js.map +1 -0
  986. package/dist/unstable/http/MultipartParser/Search.d.ts +11 -0
  987. package/dist/unstable/http/MultipartParser/Search.d.ts.map +1 -0
  988. package/dist/unstable/http/MultipartParser/Search.js +14 -0
  989. package/dist/unstable/http/MultipartParser/Search.js.map +1 -0
  990. package/dist/unstable/http/MultipartParser/internal/contentType.d.ts +5 -0
  991. package/dist/unstable/http/MultipartParser/internal/contentType.d.ts.map +1 -0
  992. package/dist/unstable/http/MultipartParser/internal/contentType.js +82 -0
  993. package/dist/unstable/http/MultipartParser/internal/contentType.js.map +1 -0
  994. package/dist/unstable/http/MultipartParser/internal/headers.d.ts +3 -0
  995. package/dist/unstable/http/MultipartParser/internal/headers.d.ts.map +1 -0
  996. package/dist/unstable/http/MultipartParser/internal/headers.js +194 -0
  997. package/dist/unstable/http/MultipartParser/internal/headers.js.map +1 -0
  998. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts +8 -0
  999. package/dist/unstable/http/MultipartParser/internal/multipart.d.ts.map +1 -0
  1000. package/dist/unstable/http/MultipartParser/internal/multipart.js +226 -0
  1001. package/dist/unstable/http/MultipartParser/internal/multipart.js.map +1 -0
  1002. package/dist/unstable/http/MultipartParser/internal/search.d.ts +5 -0
  1003. package/dist/unstable/http/MultipartParser/internal/search.d.ts.map +1 -0
  1004. package/dist/unstable/http/MultipartParser/internal/search.js +120 -0
  1005. package/dist/unstable/http/MultipartParser/internal/search.js.map +1 -0
  1006. package/dist/unstable/http/MultipartParser.d.ts +98 -0
  1007. package/dist/unstable/http/MultipartParser.d.ts.map +1 -0
  1008. package/dist/unstable/http/MultipartParser.js +23 -0
  1009. package/dist/unstable/http/MultipartParser.js.map +1 -0
  1010. package/dist/unstable/http/Template.d.ts.map +1 -1
  1011. package/dist/unstable/http/Template.js +2 -2
  1012. package/dist/unstable/http/Template.js.map +1 -1
  1013. package/dist/unstable/http/Url.d.ts +33 -63
  1014. package/dist/unstable/http/Url.d.ts.map +1 -1
  1015. package/dist/unstable/http/Url.js +14 -28
  1016. package/dist/unstable/http/Url.js.map +1 -1
  1017. package/dist/unstable/http/UrlParams.d.ts +10 -18
  1018. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  1019. package/dist/unstable/http/UrlParams.js +9 -17
  1020. package/dist/unstable/http/UrlParams.js.map +1 -1
  1021. package/dist/unstable/http/index.d.ts +1 -1
  1022. package/dist/unstable/http/index.d.ts.map +1 -1
  1023. package/dist/unstable/http/index.js +1 -1
  1024. package/dist/unstable/http/index.js.map +1 -1
  1025. package/dist/unstable/http/internal/compression.d.ts +2 -0
  1026. package/dist/unstable/http/internal/compression.d.ts.map +1 -0
  1027. package/dist/unstable/http/internal/compression.js +155 -0
  1028. package/dist/unstable/http/internal/compression.js.map +1 -0
  1029. package/dist/unstable/http/internal/httpBody.d.ts +2 -0
  1030. package/dist/unstable/http/internal/httpBody.d.ts.map +1 -0
  1031. package/dist/unstable/http/internal/httpBody.js +10 -0
  1032. package/dist/unstable/http/internal/httpBody.js.map +1 -0
  1033. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
  1034. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  1035. package/dist/unstable/httpapi/HttpApi.js +5 -5
  1036. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  1037. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
  1038. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  1039. package/dist/unstable/httpapi/HttpApiBuilder.js +78 -26
  1040. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  1041. package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
  1042. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  1043. package/dist/unstable/httpapi/HttpApiClient.js +76 -38
  1044. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  1045. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +48 -46
  1046. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  1047. package/dist/unstable/httpapi/HttpApiEndpoint.js +73 -16
  1048. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  1049. package/dist/unstable/httpapi/HttpApiError.d.ts +18 -18
  1050. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  1051. package/dist/unstable/httpapi/HttpApiError.js +30 -30
  1052. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  1053. package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
  1054. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  1055. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
  1056. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  1057. package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
  1058. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  1059. package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
  1060. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  1061. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  1062. package/dist/unstable/httpapi/HttpApiSchema.d.ts +225 -6
  1063. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  1064. package/dist/unstable/httpapi/HttpApiSchema.js +174 -4
  1065. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  1066. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  1067. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  1068. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  1069. package/dist/unstable/httpapi/OpenApi.d.ts +21 -13
  1070. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  1071. package/dist/unstable/httpapi/OpenApi.js +58 -31
  1072. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  1073. package/dist/unstable/httpapi/index.js.map +1 -1
  1074. package/dist/unstable/httpapi/internal/html.js.map +1 -1
  1075. package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
  1076. package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
  1077. package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
  1078. package/dist/unstable/observability/Otlp.js.map +1 -1
  1079. package/dist/unstable/observability/OtlpExporter.d.ts +13 -15
  1080. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  1081. package/dist/unstable/observability/OtlpExporter.js +19 -5
  1082. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  1083. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  1084. package/dist/unstable/observability/OtlpLogger.js +2 -2
  1085. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  1086. package/dist/unstable/observability/OtlpMetrics.d.ts +6 -3
  1087. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  1088. package/dist/unstable/observability/OtlpMetrics.js +28 -15
  1089. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  1090. package/dist/unstable/observability/OtlpResource.d.ts +16 -7
  1091. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  1092. package/dist/unstable/observability/OtlpResource.js +21 -12
  1093. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  1094. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  1095. package/dist/unstable/observability/OtlpTracer.js +1 -1
  1096. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  1097. package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
  1098. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  1099. package/dist/unstable/observability/PrometheusMetrics.js +10 -3
  1100. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  1101. package/dist/unstable/observability/index.js.map +1 -1
  1102. package/dist/unstable/observability/internal/otlpEnv.js +1 -1
  1103. package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
  1104. package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
  1105. package/dist/unstable/observability/internal/protobuf.js +3 -0
  1106. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  1107. package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
  1108. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  1109. package/dist/unstable/persistence/KeyValueStore.js +22 -13
  1110. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1111. package/dist/unstable/persistence/Persistable.d.ts +8 -8
  1112. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1113. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1114. package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
  1115. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  1116. package/dist/unstable/persistence/PersistedQueue.js +15 -15
  1117. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1118. package/dist/unstable/persistence/Persistence.d.ts +3 -3
  1119. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1120. package/dist/unstable/persistence/Persistence.js +108 -22
  1121. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1122. package/dist/unstable/persistence/RateLimiter.d.ts +45 -24
  1123. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1124. package/dist/unstable/persistence/RateLimiter.js +29 -45
  1125. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1126. package/dist/unstable/persistence/Redis.d.ts +2 -2
  1127. package/dist/unstable/persistence/Redis.js +2 -2
  1128. package/dist/unstable/persistence/Redis.js.map +1 -1
  1129. package/dist/unstable/persistence/index.js.map +1 -1
  1130. package/dist/unstable/process/ChildProcess.d.ts +64 -21
  1131. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1132. package/dist/unstable/process/ChildProcess.js +14 -5
  1133. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1134. package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
  1135. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1136. package/dist/unstable/process/ChildProcessSpawner.js +1 -1
  1137. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1138. package/dist/unstable/process/index.js.map +1 -1
  1139. package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
  1140. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1141. package/dist/unstable/reactivity/AsyncResult.js +10 -10
  1142. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1143. package/dist/unstable/reactivity/Atom.d.ts +25 -22
  1144. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1145. package/dist/unstable/reactivity/Atom.js +14 -13
  1146. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1147. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
  1148. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1149. package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
  1150. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1151. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1152. package/dist/unstable/reactivity/AtomRegistry.js +24 -3
  1153. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1154. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  1155. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1156. package/dist/unstable/reactivity/AtomRpc.js +4 -1
  1157. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1158. package/dist/unstable/reactivity/Hydration.d.ts +1 -1
  1159. package/dist/unstable/reactivity/Hydration.js +1 -1
  1160. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1161. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1162. package/dist/unstable/reactivity/index.js.map +1 -1
  1163. package/dist/unstable/rpc/Rpc.d.ts +35 -33
  1164. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1165. package/dist/unstable/rpc/Rpc.js +4 -2
  1166. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1167. package/dist/unstable/rpc/RpcClient.d.ts +26 -12
  1168. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1169. package/dist/unstable/rpc/RpcClient.js +30 -20
  1170. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1171. package/dist/unstable/rpc/RpcClientError.js +2 -2
  1172. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1173. package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
  1174. package/dist/unstable/rpc/RpcGroup.js +1 -1
  1175. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1176. package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
  1177. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1178. package/dist/unstable/rpc/RpcMessage.js +6 -6
  1179. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1180. package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
  1181. package/dist/unstable/rpc/RpcMiddleware.js +1 -1
  1182. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1183. package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
  1184. package/dist/unstable/rpc/RpcSchema.js +3 -3
  1185. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1186. package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
  1187. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1188. package/dist/unstable/rpc/RpcSerialization.js +177 -96
  1189. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1190. package/dist/unstable/rpc/RpcServer.d.ts +13 -13
  1191. package/dist/unstable/rpc/RpcServer.js +17 -13
  1192. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1193. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1194. package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
  1195. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1196. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1197. package/dist/unstable/rpc/Utils.js.map +1 -1
  1198. package/dist/unstable/rpc/index.js.map +1 -1
  1199. package/dist/unstable/schema/Model.d.ts +53 -51
  1200. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1201. package/dist/unstable/schema/Model.js +35 -33
  1202. package/dist/unstable/schema/Model.js.map +1 -1
  1203. package/dist/unstable/schema/VariantSchema.d.ts +10 -10
  1204. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1205. package/dist/unstable/schema/VariantSchema.js +19 -11
  1206. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1207. package/dist/unstable/schema/index.js.map +1 -1
  1208. package/dist/unstable/socket/Socket.d.ts +11 -3
  1209. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1210. package/dist/unstable/socket/Socket.js +37 -16
  1211. package/dist/unstable/socket/Socket.js.map +1 -1
  1212. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1213. package/dist/unstable/socket/index.js.map +1 -1
  1214. package/dist/unstable/sql/Migrator.js.map +1 -1
  1215. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  1216. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1217. package/dist/unstable/sql/SqlClient.js +8 -4
  1218. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1219. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1220. package/dist/unstable/sql/SqlError.js +13 -13
  1221. package/dist/unstable/sql/SqlError.js.map +1 -1
  1222. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  1223. package/dist/unstable/sql/SqlModel.js +2 -2
  1224. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1225. package/dist/unstable/sql/SqlResolver.d.ts +5 -5
  1226. package/dist/unstable/sql/SqlResolver.js +10 -8
  1227. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1228. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1229. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1230. package/dist/unstable/sql/Statement.d.ts +6 -6
  1231. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1232. package/dist/unstable/sql/Statement.js +23 -21
  1233. package/dist/unstable/sql/Statement.js.map +1 -1
  1234. package/dist/unstable/sql/index.js.map +1 -1
  1235. package/dist/unstable/workers/Transferable.d.ts +1 -1
  1236. package/dist/unstable/workers/Transferable.js +1 -1
  1237. package/dist/unstable/workers/Transferable.js.map +1 -1
  1238. package/dist/unstable/workers/Worker.d.ts +2 -2
  1239. package/dist/unstable/workers/Worker.js +2 -2
  1240. package/dist/unstable/workers/Worker.js.map +1 -1
  1241. package/dist/unstable/workers/WorkerError.d.ts +7 -7
  1242. package/dist/unstable/workers/WorkerError.js +11 -11
  1243. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1244. package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
  1245. package/dist/unstable/workers/WorkerRunner.js +1 -1
  1246. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1247. package/dist/unstable/workers/index.js.map +1 -1
  1248. package/dist/unstable/workflow/Activity.d.ts +2 -2
  1249. package/dist/unstable/workflow/Activity.js +2 -2
  1250. package/dist/unstable/workflow/Activity.js.map +1 -1
  1251. package/dist/unstable/workflow/DurableClock.d.ts +1 -1
  1252. package/dist/unstable/workflow/DurableClock.js +1 -1
  1253. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1254. package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
  1255. package/dist/unstable/workflow/DurableDeferred.js +5 -5
  1256. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1257. package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
  1258. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1259. package/dist/unstable/workflow/DurableQueue.js +22 -20
  1260. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1261. package/dist/unstable/workflow/Workflow.d.ts +21 -21
  1262. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1263. package/dist/unstable/workflow/Workflow.js +13 -14
  1264. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1265. package/dist/unstable/workflow/WorkflowEngine.d.ts +2 -2
  1266. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  1267. package/dist/unstable/workflow/WorkflowEngine.js +3 -3
  1268. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1269. package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
  1270. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1271. package/dist/unstable/workflow/WorkflowProxy.js +4 -2
  1272. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1273. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1274. package/dist/unstable/workflow/index.js.map +1 -1
  1275. package/dist/unstable/workflow/internal/crypto.js.map +1 -1
  1276. package/package.json +6 -13
  1277. package/src/Array.ts +982 -1045
  1278. package/src/BigDecimal.ts +433 -756
  1279. package/src/BigInt.ts +213 -269
  1280. package/src/Boolean.ts +146 -188
  1281. package/src/Cache.ts +410 -256
  1282. package/src/Cause.ts +167 -277
  1283. package/src/Channel.ts +892 -817
  1284. package/src/ChannelSchema.ts +1 -1
  1285. package/src/Chunk.ts +841 -1181
  1286. package/src/Clock.ts +181 -49
  1287. package/src/Combiner.ts +20 -33
  1288. package/src/Config.ts +636 -332
  1289. package/src/ConfigProvider.ts +218 -121
  1290. package/src/Console.ts +289 -39
  1291. package/src/Context.ts +322 -381
  1292. package/src/Cron.ts +68 -77
  1293. package/src/Crypto.ts +30 -23
  1294. package/src/Data.ts +60 -80
  1295. package/src/DateTime.ts +564 -660
  1296. package/src/Deferred.ts +253 -256
  1297. package/src/Duration.ts +232 -310
  1298. package/src/Effect.ts +3034 -3296
  1299. package/src/Encoding.ts +22 -40
  1300. package/src/Equal.ts +59 -41
  1301. package/src/Equivalence.ts +103 -105
  1302. package/src/ErrorReporter.ts +51 -27
  1303. package/src/ExecutionPlan.ts +91 -56
  1304. package/src/Exit.ts +116 -192
  1305. package/src/Fiber.ts +81 -148
  1306. package/src/FiberHandle.ts +152 -105
  1307. package/src/FiberMap.ts +225 -174
  1308. package/src/FiberSet.ts +125 -83
  1309. package/src/FileSystem.ts +156 -264
  1310. package/src/Filter.ts +61 -33
  1311. package/src/Formatter.ts +54 -56
  1312. package/src/Function.ts +82 -151
  1313. package/src/Graph.ts +416 -770
  1314. package/src/HKT.ts +12 -6
  1315. package/src/Hash.ts +52 -83
  1316. package/src/HashMap.ts +319 -411
  1317. package/src/HashRing.ts +1 -0
  1318. package/src/HashSet.ts +177 -284
  1319. package/src/Inspectable.ts +12 -12
  1320. package/src/Iterable.ts +631 -796
  1321. package/src/JsonPatch.ts +58 -112
  1322. package/src/JsonPointer.ts +8 -8
  1323. package/src/JsonSchema.ts +402 -244
  1324. package/src/Latch.ts +23 -35
  1325. package/src/Layer.ts +366 -265
  1326. package/src/LayerMap.ts +49 -29
  1327. package/src/LayerRef.ts +6 -2
  1328. package/src/LogLevel.ts +114 -214
  1329. package/src/Logger.ts +344 -697
  1330. package/src/ManagedRuntime.ts +7 -5
  1331. package/src/Match.ts +217 -252
  1332. package/src/Metric.ts +516 -1089
  1333. package/src/MutableHashMap.ts +218 -255
  1334. package/src/MutableHashSet.ts +84 -89
  1335. package/src/MutableList.ts +73 -370
  1336. package/src/MutableRef.ts +420 -243
  1337. package/src/Newtype.ts +21 -14
  1338. package/src/NonEmptyIterable.ts +7 -137
  1339. package/src/Number.ts +196 -233
  1340. package/src/Optic.ts +243 -383
  1341. package/src/Option.ts +447 -812
  1342. package/src/Order.ts +109 -109
  1343. package/src/Ordering.ts +20 -23
  1344. package/src/Path.ts +38 -41
  1345. package/src/Pipeable.ts +6 -5
  1346. package/src/PlatformError.ts +4 -4
  1347. package/src/Pool.ts +4 -2
  1348. package/src/Predicate.ts +200 -181
  1349. package/src/PrimaryKey.ts +7 -7
  1350. package/src/PubSub.ts +526 -552
  1351. package/src/Pull.ts +24 -18
  1352. package/src/Queue.ts +200 -159
  1353. package/src/Random.ts +49 -74
  1354. package/src/RcMap.ts +121 -63
  1355. package/src/RcRef.ts +24 -13
  1356. package/src/Record.ts +291 -488
  1357. package/src/Redactable.ts +10 -3
  1358. package/src/Redacted.ts +25 -25
  1359. package/src/Reducer.ts +8 -15
  1360. package/src/Ref.ts +221 -361
  1361. package/src/References.ts +102 -168
  1362. package/src/RegExp.ts +10 -14
  1363. package/src/Request.ts +31 -21
  1364. package/src/RequestResolver.ts +202 -91
  1365. package/src/Result.ts +312 -484
  1366. package/src/Runtime.ts +50 -75
  1367. package/src/Schedule.ts +311 -1737
  1368. package/src/Scheduler.ts +20 -7
  1369. package/src/Schema.ts +766 -786
  1370. package/src/SchemaAST.ts +522 -382
  1371. package/src/SchemaError.ts +7 -6
  1372. package/src/SchemaGetter.ts +242 -190
  1373. package/src/SchemaIssue.ts +89 -275
  1374. package/src/SchemaParser.ts +217 -124
  1375. package/src/SchemaRepresentation.ts +22 -40
  1376. package/src/SchemaTransformation.ts +129 -88
  1377. package/src/Scope.ts +123 -151
  1378. package/src/ScopedCache.ts +1 -1
  1379. package/src/ScopedRef.ts +4 -4
  1380. package/src/Semaphore.ts +152 -51
  1381. package/src/Sink.ts +129 -114
  1382. package/src/Stdio.ts +1 -1
  1383. package/src/Stream.ts +2679 -3133
  1384. package/src/String.ts +275 -312
  1385. package/src/Struct.ts +109 -114
  1386. package/src/SubscriptionRef.ts +284 -252
  1387. package/src/Symbol.ts +3 -3
  1388. package/src/SynchronizedRef.ts +1 -1
  1389. package/src/Terminal.ts +3 -3
  1390. package/src/Tracer.ts +102 -55
  1391. package/src/Trie.ts +287 -679
  1392. package/src/Tuple.ts +99 -131
  1393. package/src/TxChunk.ts +201 -121
  1394. package/src/TxDeferred.ts +62 -46
  1395. package/src/TxHashMap.ts +645 -799
  1396. package/src/TxHashSet.ts +443 -356
  1397. package/src/TxPriorityQueue.ts +130 -98
  1398. package/src/TxPubSub.ts +107 -80
  1399. package/src/TxQueue.ts +214 -183
  1400. package/src/TxReentrantLock.ts +136 -101
  1401. package/src/TxRef.ts +51 -32
  1402. package/src/TxSemaphore.ts +129 -95
  1403. package/src/TxSubscriptionRef.ts +97 -70
  1404. package/src/Types.ts +126 -67
  1405. package/src/Unify.ts +45 -65
  1406. package/src/Utils.ts +23 -16
  1407. package/src/internal/core.ts +2 -2
  1408. package/src/internal/dateTime.ts +7 -1
  1409. package/src/internal/effect.ts +93 -48
  1410. package/src/internal/executionPlan.ts +105 -10
  1411. package/src/internal/hashMap.ts +20 -14
  1412. package/src/internal/matcher.ts +2 -2
  1413. package/src/internal/persistence.ts +2 -0
  1414. package/src/internal/references.ts +3 -2
  1415. package/src/internal/schedule.ts +4 -4
  1416. package/src/internal/schema/annotations.ts +3 -0
  1417. package/src/internal/schema/fromJsonSchemaDocument.ts +15 -13
  1418. package/src/internal/schema/fromRepresentation.ts +10 -16
  1419. package/src/internal/schema/parser.ts +22 -0
  1420. package/src/internal/schema/toArbitrary.ts +3 -1
  1421. package/src/internal/schema/toJsonSchemaDocument.ts +60 -6
  1422. package/src/internal/schema/toRepresentation.ts +104 -119
  1423. package/src/internal/trie.ts +21 -12
  1424. package/src/testing/FastCheck.ts +8 -7
  1425. package/src/testing/TestClock.ts +85 -31
  1426. package/src/testing/TestConsole.ts +32 -31
  1427. package/src/testing/TestSchema.ts +30 -30
  1428. package/src/unstable/ai/AiError.ts +114 -137
  1429. package/src/unstable/ai/AnthropicStructuredOutput.ts +1 -1
  1430. package/src/unstable/ai/Chat.ts +133 -98
  1431. package/src/unstable/ai/IdGenerator.ts +32 -28
  1432. package/src/unstable/ai/LanguageModel.ts +111 -69
  1433. package/src/unstable/ai/McpProtocol.ts +48 -0
  1434. package/src/unstable/ai/McpSchema.ts +77 -66
  1435. package/src/unstable/ai/McpServer.ts +931 -305
  1436. package/src/unstable/ai/Model.ts +9 -20
  1437. package/src/unstable/ai/OpenAiStructuredOutput.ts +1 -1
  1438. package/src/unstable/ai/Prompt.ts +166 -49
  1439. package/src/unstable/ai/Response.ts +28 -14
  1440. package/src/unstable/ai/Telemetry.ts +46 -13
  1441. package/src/unstable/ai/Tokenizer.ts +14 -3
  1442. package/src/unstable/ai/Tool.ts +59 -44
  1443. package/src/unstable/ai/Toolkit.ts +26 -8
  1444. package/src/unstable/ai/index.ts +5 -0
  1445. package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
  1446. package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
  1447. package/src/unstable/ai/internal/structured-output.ts +13 -18
  1448. package/src/unstable/cli/Argument.ts +273 -69
  1449. package/src/unstable/cli/CliError.ts +79 -86
  1450. package/src/unstable/cli/CliOutput.ts +44 -58
  1451. package/src/unstable/cli/Command.ts +716 -116
  1452. package/src/unstable/cli/Flag.ts +418 -138
  1453. package/src/unstable/cli/GlobalFlag.ts +1 -1
  1454. package/src/unstable/cli/HelpDoc.ts +12 -4
  1455. package/src/unstable/cli/Param.ts +333 -97
  1456. package/src/unstable/cli/Primitive.ts +381 -154
  1457. package/src/unstable/cli/Prompt.ts +64 -34
  1458. package/src/unstable/cli/internal/ansi.ts +2 -2
  1459. package/src/unstable/cli/internal/command.ts +15 -10
  1460. package/src/unstable/cli/internal/completions/bash.ts +59 -9
  1461. package/src/unstable/cli/internal/completions/descriptor.ts +14 -20
  1462. package/src/unstable/cli/internal/completions/fish.ts +5 -7
  1463. package/src/unstable/cli/internal/help.ts +4 -2
  1464. package/src/unstable/cli/internal/lexer.ts +8 -2
  1465. package/src/unstable/cli/internal/parser.ts +5 -5
  1466. package/src/unstable/cli/internal/wizard.ts +2 -2
  1467. package/src/unstable/cluster/ClusterError.ts +7 -7
  1468. package/src/unstable/cluster/ClusterSchema.ts +8 -8
  1469. package/src/unstable/cluster/ClusterWorkflowEngine.ts +9 -2
  1470. package/src/unstable/cluster/Entity.ts +15 -16
  1471. package/src/unstable/cluster/EntityProxy.ts +4 -2
  1472. package/src/unstable/cluster/EntityResource.ts +2 -2
  1473. package/src/unstable/cluster/Envelope.ts +3 -3
  1474. package/src/unstable/cluster/HttpRunner.ts +6 -4
  1475. package/src/unstable/cluster/Message.ts +9 -9
  1476. package/src/unstable/cluster/MessageStorage.ts +24 -20
  1477. package/src/unstable/cluster/Reply.ts +25 -6
  1478. package/src/unstable/cluster/RunnerHealth.ts +1 -1
  1479. package/src/unstable/cluster/RunnerServer.ts +35 -8
  1480. package/src/unstable/cluster/RunnerStorage.ts +11 -9
  1481. package/src/unstable/cluster/Runners.ts +23 -12
  1482. package/src/unstable/cluster/Sharding.ts +42 -15
  1483. package/src/unstable/cluster/ShardingConfig.ts +3 -3
  1484. package/src/unstable/cluster/SingletonAddress.ts +1 -1
  1485. package/src/unstable/cluster/Snowflake.ts +8 -8
  1486. package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
  1487. package/src/unstable/cluster/SqlRunnerStorage.ts +21 -5
  1488. package/src/unstable/cluster/internal/entityManager.ts +12 -16
  1489. package/src/unstable/cluster/internal/resourceMap.ts +5 -2
  1490. package/src/unstable/cluster/internal/resourceRef.ts +27 -5
  1491. package/src/unstable/devtools/DevToolsClient.ts +3 -2
  1492. package/src/unstable/encoding/Ini.ts +174 -0
  1493. package/src/unstable/encoding/Msgpack.ts +53 -36
  1494. package/src/unstable/encoding/Ndjson.ts +9 -1
  1495. package/src/unstable/encoding/Sse.ts +109 -37
  1496. package/src/unstable/encoding/Toml.ts +504 -0
  1497. package/src/unstable/encoding/Yaml.ts +541 -0
  1498. package/src/unstable/encoding/index.ts +15 -0
  1499. package/src/unstable/eventlog/Event.ts +20 -20
  1500. package/src/unstable/eventlog/EventGroup.ts +4 -4
  1501. package/src/unstable/eventlog/EventJournal.ts +29 -21
  1502. package/src/unstable/eventlog/EventLog.ts +3 -3
  1503. package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
  1504. package/src/unstable/eventlog/EventLogMessage.ts +3 -3
  1505. package/src/unstable/eventlog/EventLogRemote.ts +1 -1
  1506. package/src/unstable/eventlog/EventLogServer.ts +41 -7
  1507. package/src/unstable/eventlog/EventLogServerEncrypted.ts +13 -5
  1508. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +15 -7
  1509. package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
  1510. package/src/unstable/eventlog/SqlEventJournal.ts +6 -4
  1511. package/src/unstable/http/Cookies.ts +35 -21
  1512. package/src/unstable/http/Etag.ts +1 -1
  1513. package/src/unstable/http/FetchHttpClient.ts +3 -1
  1514. package/src/unstable/http/FindMyWay/internal/queryString.ts +420 -0
  1515. package/src/unstable/http/FindMyWay/internal/router.ts +950 -0
  1516. package/src/unstable/http/FindMyWay.ts +65 -6
  1517. package/src/unstable/http/Headers.ts +2 -2
  1518. package/src/unstable/http/HttpBody.ts +20 -5
  1519. package/src/unstable/http/HttpClient.ts +83 -55
  1520. package/src/unstable/http/HttpClientError.ts +1 -1
  1521. package/src/unstable/http/HttpClientRequest.ts +2 -12
  1522. package/src/unstable/http/HttpClientResponse.ts +5 -21
  1523. package/src/unstable/http/HttpEffect.ts +8 -8
  1524. package/src/unstable/http/HttpMethod.ts +6 -9
  1525. package/src/unstable/http/HttpMiddleware.ts +202 -39
  1526. package/src/unstable/http/HttpPlatform.ts +129 -6
  1527. package/src/unstable/http/HttpRouter.ts +102 -98
  1528. package/src/unstable/http/HttpServer.ts +13 -13
  1529. package/src/unstable/http/HttpServerError.ts +2 -2
  1530. package/src/unstable/http/HttpServerRequest.ts +18 -10
  1531. package/src/unstable/http/HttpServerResponse.ts +38 -6
  1532. package/src/unstable/http/HttpStaticServer.ts +35 -7
  1533. package/src/unstable/http/Multipart.ts +15 -8
  1534. package/src/unstable/http/MultipartParser/HeadersParser.ts +68 -0
  1535. package/src/unstable/http/MultipartParser/Search.ts +17 -0
  1536. package/src/unstable/http/MultipartParser/internal/contentType.ts +103 -0
  1537. package/src/unstable/http/MultipartParser/internal/headers.ts +615 -0
  1538. package/src/unstable/http/MultipartParser/internal/multipart.ts +262 -0
  1539. package/src/unstable/http/MultipartParser/internal/search.ts +167 -0
  1540. package/src/unstable/http/MultipartParser.ts +115 -0
  1541. package/src/unstable/http/Template.ts +6 -5
  1542. package/src/unstable/http/Url.ts +33 -63
  1543. package/src/unstable/http/UrlParams.ts +10 -18
  1544. package/src/unstable/http/index.ts +1 -1
  1545. package/src/unstable/http/internal/compression.ts +196 -0
  1546. package/src/unstable/http/internal/httpBody.ts +15 -0
  1547. package/src/unstable/httpapi/HttpApi.ts +6 -7
  1548. package/src/unstable/httpapi/HttpApiBuilder.ts +129 -30
  1549. package/src/unstable/httpapi/HttpApiClient.ts +117 -54
  1550. package/src/unstable/httpapi/HttpApiEndpoint.ts +159 -71
  1551. package/src/unstable/httpapi/HttpApiError.ts +46 -52
  1552. package/src/unstable/httpapi/HttpApiGroup.ts +15 -15
  1553. package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
  1554. package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
  1555. package/src/unstable/httpapi/HttpApiSchema.ts +359 -6
  1556. package/src/unstable/httpapi/OpenApi.ts +83 -33
  1557. package/src/unstable/observability/OtlpExporter.ts +35 -21
  1558. package/src/unstable/observability/OtlpLogger.ts +3 -1
  1559. package/src/unstable/observability/OtlpMetrics.ts +36 -19
  1560. package/src/unstable/observability/OtlpResource.ts +26 -17
  1561. package/src/unstable/observability/OtlpTracer.ts +1 -1
  1562. package/src/unstable/observability/PrometheusMetrics.ts +13 -4
  1563. package/src/unstable/observability/internal/otlpEnv.ts +1 -1
  1564. package/src/unstable/observability/internal/protobuf.ts +3 -0
  1565. package/src/unstable/persistence/KeyValueStore.ts +72 -49
  1566. package/src/unstable/persistence/Persistable.ts +8 -8
  1567. package/src/unstable/persistence/PersistedQueue.ts +18 -15
  1568. package/src/unstable/persistence/Persistence.ts +153 -26
  1569. package/src/unstable/persistence/RateLimiter.ts +77 -43
  1570. package/src/unstable/persistence/Redis.ts +3 -3
  1571. package/src/unstable/process/ChildProcess.ts +64 -21
  1572. package/src/unstable/process/ChildProcessSpawner.ts +21 -10
  1573. package/src/unstable/reactivity/AsyncResult.ts +12 -13
  1574. package/src/unstable/reactivity/Atom.ts +28 -25
  1575. package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
  1576. package/src/unstable/reactivity/AtomRegistry.ts +24 -3
  1577. package/src/unstable/reactivity/AtomRpc.ts +5 -4
  1578. package/src/unstable/reactivity/Hydration.ts +1 -1
  1579. package/src/unstable/rpc/Rpc.ts +35 -33
  1580. package/src/unstable/rpc/RpcClient.ts +54 -27
  1581. package/src/unstable/rpc/RpcClientError.ts +2 -2
  1582. package/src/unstable/rpc/RpcGroup.ts +8 -8
  1583. package/src/unstable/rpc/RpcMessage.ts +31 -30
  1584. package/src/unstable/rpc/RpcMiddleware.ts +10 -10
  1585. package/src/unstable/rpc/RpcSchema.ts +4 -4
  1586. package/src/unstable/rpc/RpcSerialization.ts +167 -68
  1587. package/src/unstable/rpc/RpcServer.ts +18 -15
  1588. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1589. package/src/unstable/schema/Model.ts +52 -50
  1590. package/src/unstable/schema/VariantSchema.ts +41 -23
  1591. package/src/unstable/socket/Socket.ts +41 -18
  1592. package/src/unstable/sql/SqlClient.ts +64 -56
  1593. package/src/unstable/sql/SqlError.ts +13 -13
  1594. package/src/unstable/sql/SqlModel.ts +2 -2
  1595. package/src/unstable/sql/SqlResolver.ts +13 -11
  1596. package/src/unstable/sql/Statement.ts +37 -31
  1597. package/src/unstable/workers/Transferable.ts +1 -1
  1598. package/src/unstable/workers/Worker.ts +2 -2
  1599. package/src/unstable/workers/WorkerError.ts +12 -12
  1600. package/src/unstable/workers/WorkerRunner.ts +1 -1
  1601. package/src/unstable/workflow/Activity.ts +2 -2
  1602. package/src/unstable/workflow/DurableClock.ts +1 -1
  1603. package/src/unstable/workflow/DurableDeferred.ts +10 -10
  1604. package/src/unstable/workflow/DurableQueue.ts +22 -20
  1605. package/src/unstable/workflow/Workflow.ts +23 -23
  1606. package/src/unstable/workflow/WorkflowEngine.ts +9 -4
  1607. package/src/unstable/workflow/WorkflowProxy.ts +4 -2
  1608. package/dist/internal/version.d.ts +0 -3
  1609. package/dist/internal/version.d.ts.map +0 -1
  1610. package/dist/internal/version.js +0 -2
  1611. package/dist/internal/version.js.map +0 -1
  1612. package/dist/unstable/http/Multipasta/HeadersParser.d.ts +0 -14
  1613. package/dist/unstable/http/Multipasta/HeadersParser.d.ts.map +0 -1
  1614. package/dist/unstable/http/Multipasta/HeadersParser.js +0 -14
  1615. package/dist/unstable/http/Multipasta/HeadersParser.js.map +0 -1
  1616. package/dist/unstable/http/Multipasta/Node.d.ts +0 -14
  1617. package/dist/unstable/http/Multipasta/Node.d.ts.map +0 -1
  1618. package/dist/unstable/http/Multipasta/Node.js +0 -14
  1619. package/dist/unstable/http/Multipasta/Node.js.map +0 -1
  1620. package/dist/unstable/http/Multipasta/Search.d.ts +0 -14
  1621. package/dist/unstable/http/Multipasta/Search.d.ts.map +0 -1
  1622. package/dist/unstable/http/Multipasta/Search.js +0 -14
  1623. package/dist/unstable/http/Multipasta/Search.js.map +0 -1
  1624. package/dist/unstable/http/Multipasta/Web.d.ts +0 -14
  1625. package/dist/unstable/http/Multipasta/Web.d.ts.map +0 -1
  1626. package/dist/unstable/http/Multipasta/Web.js +0 -14
  1627. package/dist/unstable/http/Multipasta/Web.js.map +0 -1
  1628. package/dist/unstable/http/Multipasta.d.ts +0 -15
  1629. package/dist/unstable/http/Multipasta.d.ts.map +0 -1
  1630. package/dist/unstable/http/Multipasta.js +0 -15
  1631. package/dist/unstable/http/Multipasta.js.map +0 -1
  1632. package/src/internal/version.ts +0 -2
  1633. package/src/unstable/http/Multipasta/HeadersParser.ts +0 -14
  1634. package/src/unstable/http/Multipasta/Node.ts +0 -14
  1635. package/src/unstable/http/Multipasta/Search.ts +0 -14
  1636. package/src/unstable/http/Multipasta/Web.ts +0 -14
  1637. package/src/unstable/http/Multipasta.ts +0 -15
package/src/JsonSchema.ts CHANGED
@@ -2,9 +2,9 @@
2
2
  * Helpers for normalizing and converting JSON Schema and OpenAPI schema
3
3
  * documents. Supported inputs include JSON Schema Draft-07, Draft 2020-12,
4
4
  * OpenAPI 3.0, and OpenAPI 3.1; conversions normalize through
5
- * `Document<"draft-2020-12">` before emitting another dialect. The module also
6
- * defines document types, meta-schema constants, OpenAPI component-key helpers,
7
- * and `$ref` resolution utilities.
5
+ * `Document<"draft-2020-12">` before emitting another dialect, including
6
+ * JSON Schema Draft-04. The module also defines document types, meta-schema
7
+ * constants, OpenAPI component-key helpers, and `$ref` resolution utilities.
8
8
  *
9
9
  * @since 4.0.0
10
10
  */
@@ -43,9 +43,10 @@ export interface JsonSchema {
43
43
  *
44
44
  * **Details**
45
45
  *
46
- * Supported values are `"draft-07"` for JSON Schema Draft-07,
47
- * `"draft-2020-12"` for JSON Schema Draft 2020-12 and the canonical internal
48
- * form, `"openapi-3.1"` for OpenAPI 3.1, and `"openapi-3.0"` for OpenAPI 3.0.
46
+ * Supported values are `"draft-04"` for JSON Schema Draft-04, `"draft-07"`
47
+ * for JSON Schema Draft-07, `"draft-2020-12"` for JSON Schema Draft 2020-12
48
+ * and the canonical internal form, `"openapi-3.1"` for OpenAPI 3.1, and
49
+ * `"openapi-3.0"` for OpenAPI 3.0.
49
50
  *
50
51
  * @see {@link Document} for a single root schema tagged with a dialect
51
52
  * @see {@link MultiDocument} for multiple root schemas tagged with a dialect
@@ -53,7 +54,7 @@ export interface JsonSchema {
53
54
  * @category models
54
55
  * @since 4.0.0
55
56
  */
56
- export type Dialect = "draft-07" | "draft-2020-12" | "openapi-3.1" | "openapi-3.0"
57
+ export type Dialect = "draft-04" | "draft-07" | "draft-2020-12" | "openapi-3.1" | "openapi-3.0"
57
58
 
58
59
  /**
59
60
  * The JSON Schema primitive type names.
@@ -104,12 +105,12 @@ export interface Definitions extends Record<string, JsonSchema> {}
104
105
  * The `schema` field holds the root schema *without* the definitions
105
106
  * collection. Root definitions are stored separately in `definitions` and
106
107
  * referenced via `#/$defs/<name>` for Draft-2020-12, `#/definitions/<name>`
107
- * for Draft-07, and `#/components/schemas/<name>` for OpenAPI 3.1 and
108
- * OpenAPI 3.0.
108
+ * for Draft-04 and Draft-07, and `#/components/schemas/<name>` for OpenAPI 3.1
109
+ * and OpenAPI 3.0.
109
110
  *
110
111
  * **Example** (Inspecting a parsed document)
111
112
  *
112
- * ```ts
113
+ * ```ts import.meta.vitest
113
114
  * import { JsonSchema } from "effect"
114
115
  *
115
116
  * const raw: JsonSchema.JsonSchema = {
@@ -119,9 +120,9 @@ export interface Definitions extends Record<string, JsonSchema> {}
119
120
  *
120
121
  * const doc = JsonSchema.fromSchemaDraft2020_12(raw)
121
122
  *
122
- * console.log(doc.dialect) // "draft-2020-12"
123
- * console.log(doc.schema) // { type: "string" }
124
- * console.log(doc.definitions) // { Trimmed: { type: "string", minLength: 1 } }
123
+ * doc.dialect // => "draft-2020-12"
124
+ * doc.schema // => { type: "string" }
125
+ * doc.definitions // => { Trimmed: { type: "string", minLength: 1 } }
125
126
  * ```
126
127
  *
127
128
  * @see {@link MultiDocument}
@@ -159,6 +160,20 @@ export interface MultiDocument<D extends Dialect> {
159
160
  readonly definitions: Definitions
160
161
  }
161
162
 
163
+ /**
164
+ * Represents the `$schema` meta-schema URI for JSON Schema Draft-04.
165
+ *
166
+ * **When to use**
167
+ *
168
+ * Use when constructing a Draft-04 JSON Schema document and you need a stable
169
+ * value for the root `$schema` field.
170
+ *
171
+ * @see {@link META_SCHEMA_URI_DRAFT_07} for the Draft-07 `$schema` URI
172
+ * @category constants
173
+ * @since 4.0.0
174
+ */
175
+ export const META_SCHEMA_URI_DRAFT_04 = "http://json-schema.org/draft-04/schema#"
176
+
162
177
  /**
163
178
  * Represents the `$schema` meta-schema URI for JSON Schema Draft-07.
164
179
  *
@@ -170,14 +185,15 @@ export interface MultiDocument<D extends Dialect> {
170
185
  * **Details**
171
186
  *
172
187
  * The exported value is the literal string
173
- * `http://json-schema.org/draft-07/schema`.
188
+ * `http://json-schema.org/draft-07/schema#`.
174
189
  *
190
+ * @see {@link META_SCHEMA_URI_DRAFT_04} for the Draft-04 `$schema` URI
175
191
  * @see {@link META_SCHEMA_URI_DRAFT_2020_12} for the Draft 2020-12 `$schema` URI
176
192
  *
177
193
  * @category constants
178
194
  * @since 4.0.0
179
195
  */
180
- export const META_SCHEMA_URI_DRAFT_07 = "http://json-schema.org/draft-07/schema"
196
+ export const META_SCHEMA_URI_DRAFT_07 = "http://json-schema.org/draft-07/schema#"
181
197
 
182
198
  /**
183
199
  * Represents the `$schema` meta-schema URI for JSON Schema Draft 2020-12.
@@ -203,6 +219,57 @@ const RE_DEFINITIONS = /^#\/definitions(?=\/|$)/
203
219
  const RE_DEFS = /^#\/\$defs(?=\/|$)/
204
220
  const RE_COMPONENTS_SCHEMAS = /^#\/components\/schemas(?=\/|$)/
205
221
 
222
+ const DRAFT_04_COPY_KEYWORDS = new Set([
223
+ "$ref",
224
+ "type",
225
+ "required",
226
+ "enum",
227
+ "title",
228
+ "description",
229
+ "default",
230
+ "format",
231
+ "pattern",
232
+ "minLength",
233
+ "maxLength",
234
+ "minItems",
235
+ "maxItems",
236
+ "minProperties",
237
+ "maxProperties",
238
+ "multipleOf",
239
+ "uniqueItems"
240
+ ])
241
+
242
+ const DRAFT_07_COPY_KEYWORDS = new Set([
243
+ ...DRAFT_04_COPY_KEYWORDS,
244
+ "const",
245
+ "examples",
246
+ "readOnly",
247
+ "writeOnly",
248
+ "minimum",
249
+ "maximum",
250
+ "exclusiveMinimum",
251
+ "exclusiveMaximum"
252
+ ])
253
+
254
+ const DRAFT_04_SINGLE_SUBSCHEMA_KEYWORDS = new Set(["not"])
255
+ const DRAFT_07_SINGLE_SUBSCHEMA_KEYWORDS = new Set(["not", "additionalProperties", "propertyNames"])
256
+
257
+ const MAP_SUBSCHEMA_KEYWORDS = new Set(["properties", "patternProperties"])
258
+ const ARRAY_SUBSCHEMA_KEYWORDS = new Set(["allOf", "anyOf", "oneOf"])
259
+ const DRAFT_2020_12_MAP_SUBSCHEMA_KEYWORDS = new Set(["$defs", ...MAP_SUBSCHEMA_KEYWORDS, "dependentSchemas"])
260
+ const DRAFT_2020_12_ARRAY_SUBSCHEMA_KEYWORDS = new Set([...ARRAY_SUBSCHEMA_KEYWORDS, "prefixItems"])
261
+ const DRAFT_2020_12_SINGLE_SUBSCHEMA_KEYWORDS = new Set([
262
+ ...DRAFT_07_SINGLE_SUBSCHEMA_KEYWORDS,
263
+ "unevaluatedProperties",
264
+ "items",
265
+ "contains",
266
+ "unevaluatedItems",
267
+ "if",
268
+ "then",
269
+ "else",
270
+ "contentSchema"
271
+ ])
272
+
206
273
  /**
207
274
  * Parses a raw Draft-07 JSON Schema into a `Document<"draft-2020-12">`.
208
275
  *
@@ -224,7 +291,7 @@ const RE_COMPONENTS_SCHEMAS = /^#\/components\/schemas(?=\/|$)/
224
291
  *
225
292
  * **Example** (Parsing a Draft-07 schema)
226
293
  *
227
- * ```ts
294
+ * ```ts import.meta.vitest
228
295
  * import { JsonSchema } from "effect"
229
296
  *
230
297
  * const raw: JsonSchema.JsonSchema = {
@@ -238,8 +305,8 @@ const RE_COMPONENTS_SCHEMAS = /^#\/components\/schemas(?=\/|$)/
238
305
  * }
239
306
  *
240
307
  * const doc = JsonSchema.fromSchemaDraft07(raw)
241
- * console.log(doc.dialect) // "draft-2020-12"
242
- * console.log(doc.schema.properties) // { tags: { type: "array", items: { type: "string" } } }
308
+ * doc.dialect // => "draft-2020-12"
309
+ * doc.schema.properties // => { tags: { type: "array", items: { type: "string" } } }
243
310
  * ```
244
311
  *
245
312
  * @see {@link fromSchemaDraft2020_12}
@@ -259,7 +326,7 @@ export function fromSchemaDraft07(js: JsonSchema): Document<"draft-2020-12"> {
259
326
  }
260
327
 
261
328
  function walk(node: unknown, isRoot: boolean): unknown {
262
- if (Array.isArray(node)) return node.map((v) => walk(v, false))
329
+ if (Array.isArray(node)) return node.map(walkNested)
263
330
  if (!Predicate.isObject(node)) return node
264
331
 
265
332
  const out: Record<string, unknown> = {}
@@ -270,13 +337,19 @@ export function fromSchemaDraft07(js: JsonSchema): Document<"draft-2020-12"> {
270
337
  for (const k of Object.keys(node)) {
271
338
  const v = node[k]
272
339
 
273
- switch (k) {
274
- case "$ref":
275
- out.$ref = typeof v === "string" ? v.replace(RE_DEFINITIONS, "#/$defs") : v
276
- break
340
+ if (k === "$ref") {
341
+ out.$ref = typeof v === "string" ? v.replace(RE_DEFINITIONS, "#/$defs") : v
342
+ continue
343
+ }
344
+ if (DRAFT_07_COPY_KEYWORDS.has(k)) {
345
+ out[k] = v
346
+ continue
347
+ }
348
+ if (rewriteSubschemaKeyword(out, k, v, walkNested, DRAFT_07_SINGLE_SUBSCHEMA_KEYWORDS)) continue
277
349
 
350
+ switch (k) {
278
351
  case "definitions": {
279
- const mapped = walk_object(v, walk)
352
+ const mapped = mapObject(v, walkNested)
280
353
  if (isRoot) {
281
354
  definitions = mapped as Definitions | undefined
282
355
  } else {
@@ -292,51 +365,6 @@ export function fromSchemaDraft07(js: JsonSchema): Document<"draft-2020-12"> {
292
365
  additionalItems = v
293
366
  break
294
367
 
295
- case "properties":
296
- case "patternProperties": {
297
- const mapped = walk_object(v, walk)
298
- out[k] = mapped ?? v
299
- break
300
- }
301
-
302
- case "additionalProperties":
303
- case "propertyNames":
304
- out[k] = walk(v, false)
305
- break
306
-
307
- case "allOf":
308
- case "anyOf":
309
- case "oneOf":
310
- out[k] = Array.isArray(v) ? v.map((x) => walk(x, false)) : v
311
- break
312
-
313
- case "type":
314
- case "required":
315
- case "enum":
316
- case "const":
317
- case "title":
318
- case "description":
319
- case "default":
320
- case "examples":
321
- case "format":
322
- case "readOnly":
323
- case "writeOnly":
324
- case "pattern":
325
- case "minimum":
326
- case "maximum":
327
- case "exclusiveMinimum":
328
- case "exclusiveMaximum":
329
- case "minLength":
330
- case "maxLength":
331
- case "minItems":
332
- case "maxItems":
333
- case "minProperties":
334
- case "maxProperties":
335
- case "multipleOf":
336
- case "uniqueItems":
337
- out[k] = v
338
- break
339
-
340
368
  default:
341
369
  break
342
370
  }
@@ -345,15 +373,19 @@ export function fromSchemaDraft07(js: JsonSchema): Document<"draft-2020-12"> {
345
373
  // Draft-07 tuples -> 2020-12 tuples
346
374
  if (prefixItems !== undefined) {
347
375
  if (Array.isArray(prefixItems)) {
348
- out.prefixItems = prefixItems.map((x) => walk(x, false))
349
- if (additionalItems !== undefined) out.items = walk(additionalItems, false)
376
+ out.prefixItems = prefixItems.map(walkNested)
377
+ if (additionalItems !== undefined) out.items = walkNested(additionalItems)
350
378
  } else {
351
- out.items = walk(prefixItems, false)
379
+ out.items = walkNested(prefixItems)
352
380
  }
353
381
  }
354
382
 
355
383
  return out
356
384
  }
385
+
386
+ function walkNested(node: unknown): unknown {
387
+ return walk(node, false)
388
+ }
357
389
  }
358
390
 
359
391
  /**
@@ -370,7 +402,7 @@ export function fromSchemaDraft07(js: JsonSchema): Document<"draft-2020-12"> {
370
402
  *
371
403
  * **Example** (Parsing a Draft-2020-12 schema)
372
404
  *
373
- * ```ts
405
+ * ```ts import.meta.vitest
374
406
  * import { JsonSchema } from "effect"
375
407
  *
376
408
  * const raw: JsonSchema.JsonSchema = {
@@ -380,8 +412,8 @@ export function fromSchemaDraft07(js: JsonSchema): Document<"draft-2020-12"> {
380
412
  * }
381
413
  *
382
414
  * const doc = JsonSchema.fromSchemaDraft2020_12(raw)
383
- * console.log(doc.schema) // { type: "number", minimum: 0 }
384
- * console.log(doc.definitions) // { PositiveInt: { type: "integer", minimum: 1 } }
415
+ * doc.schema // => { type: "number", minimum: 0 }
416
+ * doc.definitions // => { PositiveInt: { type: "integer", minimum: 1 } }
385
417
  * ```
386
418
  *
387
419
  * @see {@link fromSchemaDraft07}
@@ -413,7 +445,7 @@ export function fromSchemaDraft2020_12(js: JsonSchema): Document<"draft-2020-12"
413
445
  *
414
446
  * **Example** (Parsing an OpenAPI 3.1 schema)
415
447
  *
416
- * ```ts
448
+ * ```ts import.meta.vitest
417
449
  * import { JsonSchema } from "effect"
418
450
  *
419
451
  * const raw: JsonSchema.JsonSchema = {
@@ -424,8 +456,7 @@ export function fromSchemaDraft2020_12(js: JsonSchema): Document<"draft-2020-12"
424
456
  * }
425
457
  *
426
458
  * const doc = JsonSchema.fromSchemaOpenApi3_1(raw)
427
- * // $ref is rewritten to Draft-2020-12 form
428
- * console.log(doc.schema.properties) // { user: { $ref: "#/$defs/User" } }
459
+ * doc.schema.properties // => { user: { $ref: "#/$defs/User" } }
429
460
  * ```
430
461
  *
431
462
  * @see {@link fromSchemaOpenApi3_0}
@@ -434,7 +465,10 @@ export function fromSchemaDraft2020_12(js: JsonSchema): Document<"draft-2020-12"
434
465
  * @since 4.0.0
435
466
  */
436
467
  export function fromSchemaOpenApi3_1(js: JsonSchema): Document<"draft-2020-12"> {
437
- const schema = rewrite_refs(js, (ref) => ref.replace(RE_COMPONENTS_SCHEMAS, "#/$defs")) as JsonSchema
468
+ const schema = transformSchema(
469
+ js,
470
+ (schema) => rewriteSchemaRef(schema, (ref) => ref.replace(RE_COMPONENTS_SCHEMAS, "#/$defs"))
471
+ ) as JsonSchema
438
472
  return fromSchemaDraft2020_12(schema)
439
473
  }
440
474
 
@@ -455,7 +489,7 @@ export function fromSchemaOpenApi3_1(js: JsonSchema): Document<"draft-2020-12">
455
489
  *
456
490
  * **Example** (Parsing an OpenAPI 3.0 nullable schema)
457
491
  *
458
- * ```ts
492
+ * ```ts import.meta.vitest
459
493
  * import { JsonSchema } from "effect"
460
494
  *
461
495
  * const raw: JsonSchema.JsonSchema = {
@@ -464,8 +498,7 @@ export function fromSchemaOpenApi3_1(js: JsonSchema): Document<"draft-2020-12">
464
498
  * }
465
499
  *
466
500
  * const doc = JsonSchema.fromSchemaOpenApi3_0(raw)
467
- * // nullable is expanded into a type array
468
- * console.log(doc.schema.type) // ["string", "null"]
501
+ * doc.schema.type // => ["string", "null"]
469
502
  * ```
470
503
  *
471
504
  * @see {@link fromSchemaOpenApi3_1}
@@ -474,7 +507,7 @@ export function fromSchemaOpenApi3_1(js: JsonSchema): Document<"draft-2020-12">
474
507
  * @since 4.0.0
475
508
  */
476
509
  export function fromSchemaOpenApi3_0(schema: JsonSchema): Document<"draft-2020-12"> {
477
- const normalized = normalize_OpenApi3_0_to_Draft07(schema)
510
+ const normalized = normalizeOpenApi3_0ToDraft07(schema)
478
511
  return fromSchemaDraft07(normalized as JsonSchema)
479
512
  }
480
513
 
@@ -499,7 +532,7 @@ export function fromSchemaOpenApi3_0(schema: JsonSchema): Document<"draft-2020-1
499
532
  *
500
533
  * **Example** (Converting to Draft-07)
501
534
  *
502
- * ```ts
535
+ * ```ts import.meta.vitest
503
536
  * import { JsonSchema } from "effect"
504
537
  *
505
538
  * const doc = JsonSchema.fromSchemaDraft2020_12({
@@ -509,12 +542,13 @@ export function fromSchemaOpenApi3_0(schema: JsonSchema): Document<"draft-2020-1
509
542
  * })
510
543
  *
511
544
  * const draft07 = JsonSchema.toDocumentDraft07(doc)
512
- * console.log(draft07.dialect) // "draft-07"
513
- * console.log(draft07.schema.items) // [{ type: "string" }, { type: "number" }]
514
- * console.log(draft07.schema.additionalItems) // { type: "boolean" }
545
+ * draft07.dialect // => "draft-07"
546
+ * draft07.schema.items // => [{ type: "string" }, { type: "number" }]
547
+ * draft07.schema.additionalItems // => { type: "boolean" }
515
548
  * ```
516
549
  *
517
550
  * @see {@link fromSchemaDraft07}
551
+ * @see {@link toDocumentDraft04} for converting to Draft-04
518
552
  * @see {@link toMultiDocumentOpenApi3_1}
519
553
  * @category encoding
520
554
  * @since 4.0.0
@@ -527,75 +561,165 @@ export function toDocumentDraft07(document: Document<"draft-2020-12">): Document
527
561
  }
528
562
  }
529
563
 
530
- function toSchemaDraft07(schema: JsonSchema): JsonSchema {
531
- return rewrite(schema)
532
-
533
- function rewrite(node: unknown): JsonSchema {
534
- return walk(rewrite_refs(node, (ref) => ref.replace(RE_DEFS, "#/definitions")), true) as JsonSchema
564
+ /**
565
+ * Converts a `Document<"draft-2020-12">` to a `Document<"draft-04">`.
566
+ *
567
+ * **When to use**
568
+ *
569
+ * Use when you need to output a canonical JSON Schema document in Draft-04
570
+ * format.
571
+ *
572
+ * **Details**
573
+ *
574
+ * This rewrites `#/$defs/...` refs to `#/definitions/...`, converts tuple
575
+ * syntax, lowers `const` to `enum`, converts numeric exclusive bounds to the
576
+ * Draft-04 boolean form, and converts both the root schema and all definitions.
577
+ *
578
+ * **Gotchas**
579
+ *
580
+ * Unsupported Draft-2020-12 and Draft-07 keywords are dropped. For example,
581
+ * `propertyNames` has no general Draft-04 equivalent and is omitted.
582
+ *
583
+ * **Example** (Converting exclusive bounds)
584
+ *
585
+ * ```ts import.meta.vitest
586
+ * import { JsonSchema } from "effect"
587
+ *
588
+ * const doc = JsonSchema.fromSchemaDraft2020_12({
589
+ * type: "number",
590
+ * exclusiveMinimum: 0
591
+ * })
592
+ *
593
+ * JsonSchema.toDocumentDraft04(doc).schema // => { type: "number", minimum: 0, exclusiveMinimum: true }
594
+ * ```
595
+ *
596
+ * @see {@link toDocumentDraft07} for converting to Draft-07
597
+ * @category encoding
598
+ * @since 4.0.0
599
+ */
600
+ export function toDocumentDraft04(document: Document<"draft-2020-12">): Document<"draft-04"> {
601
+ const draft07 = toDocumentDraft07(document)
602
+ return {
603
+ dialect: "draft-04",
604
+ schema: toSchemaDraft04(draft07.schema),
605
+ definitions: Rec.map(draft07.definitions, toSchemaDraft04)
535
606
  }
607
+ }
536
608
 
537
- function walk(node: unknown, _isRoot: boolean): unknown {
538
- if (Array.isArray(node)) return node.map((v) => walk(v, false))
609
+ function toSchemaDraft04(schema: JsonSchema): JsonSchema {
610
+ return walk(schema) as JsonSchema
611
+
612
+ function walk(node: unknown): unknown {
613
+ if (node === true) return {}
614
+ if (node === false) return { not: {} }
615
+ if (Array.isArray(node)) return node.map(walk)
539
616
  if (!Predicate.isObject(node)) return node
540
617
 
541
618
  const src = node as Record<string, unknown>
542
619
  const out: Record<string, unknown> = {}
543
620
 
544
- let prefixItems: unknown = undefined
545
- let items: unknown = undefined
621
+ let hasConst = false
622
+ let constValue: unknown = undefined
546
623
 
547
624
  for (const k of Object.keys(src)) {
548
625
  const v = src[k]
549
626
 
627
+ if (DRAFT_04_COPY_KEYWORDS.has(k)) {
628
+ out[k] = v
629
+ continue
630
+ }
631
+ if (rewriteSubschemaKeyword(out, k, v, walk, DRAFT_04_SINGLE_SUBSCHEMA_KEYWORDS)) continue
632
+
550
633
  switch (k) {
551
- // We already rewrote $ref via rewrite_refs, so just copy it through.
552
- case "$ref":
553
- case "type":
554
- case "required":
555
- case "enum":
556
634
  case "const":
557
- case "title":
558
- case "description":
559
- case "default":
560
- case "examples":
561
- case "format":
562
- case "pattern":
635
+ hasConst = true
636
+ constValue = v
637
+ break
638
+
563
639
  case "minimum":
564
640
  case "maximum":
565
641
  case "exclusiveMinimum":
566
642
  case "exclusiveMaximum":
567
- case "minLength":
568
- case "maxLength":
569
- case "minItems":
570
- case "maxItems":
571
- case "minProperties":
572
- case "maxProperties":
573
- case "multipleOf":
574
- case "uniqueItems":
575
- out[k] = v
576
643
  break
577
644
 
578
- // Schema maps
579
- case "properties":
580
- case "patternProperties": {
581
- const mapped = walk_object(v, walk)
582
- out[k] = mapped ?? v
645
+ case "additionalProperties":
646
+ case "additionalItems":
647
+ out[k] = typeof v === "boolean" ? v : walk(v)
583
648
  break
584
- }
585
649
 
586
- // Single subschemas
587
- case "additionalProperties":
588
- case "propertyNames":
589
- out[k] = walk(v, false)
650
+ case "items":
651
+ out.items = Array.isArray(v) ? v.map(walk) : walk(v)
590
652
  break
591
653
 
592
- // Schema arrays
593
- case "allOf":
594
- case "anyOf":
595
- case "oneOf":
596
- out[k] = Array.isArray(v) ? v.map((x) => walk(x, false)) : v
654
+ default:
597
655
  break
656
+ }
657
+ }
658
+
659
+ convertExclusiveBound(src, out, "minimum", "exclusiveMinimum", (bound, exclusive) => bound > exclusive)
660
+ convertExclusiveBound(src, out, "maximum", "exclusiveMaximum", (bound, exclusive) => bound < exclusive)
661
+
662
+ if (hasConst) {
663
+ const constSchema = { enum: [constValue] }
664
+ if (Object.hasOwn(src, "enum")) {
665
+ out.allOf = Array.isArray(out.allOf) ? [...out.allOf, constSchema] : [constSchema]
666
+ } else {
667
+ out.enum = constSchema.enum
668
+ }
669
+ }
670
+
671
+ return out
672
+ }
673
+ }
674
+
675
+ function convertExclusiveBound(
676
+ src: Record<string, unknown>,
677
+ out: Record<string, unknown>,
678
+ boundKey: "minimum" | "maximum",
679
+ exclusiveKey: "exclusiveMinimum" | "exclusiveMaximum",
680
+ isBoundStricter: (bound: number, exclusive: number) => boolean
681
+ ): void {
682
+ const bound = src[boundKey]
683
+ const exclusive = src[exclusiveKey]
684
+
685
+ if (typeof exclusive === "number") {
686
+ if (typeof bound === "number" && isBoundStricter(bound, exclusive)) {
687
+ out[boundKey] = bound
688
+ } else {
689
+ out[boundKey] = exclusive
690
+ out[exclusiveKey] = true
691
+ }
692
+ } else if (bound !== undefined) {
693
+ out[boundKey] = bound
694
+ }
695
+ }
598
696
 
697
+ function toSchemaDraft07(schema: JsonSchema): JsonSchema {
698
+ return transformSchema(schema, (src) => {
699
+ rewriteSchemaRef(src, (ref) => ref.replace(RE_DEFS, "#/definitions"))
700
+ const out: Record<string, unknown> = {}
701
+
702
+ let prefixItems: unknown = undefined
703
+ let items: unknown = undefined
704
+
705
+ for (const k of Object.keys(src)) {
706
+ const v = src[k]
707
+
708
+ if (k === "required" && Array.isArray(v) && v.length === 0) continue
709
+ if (DRAFT_07_COPY_KEYWORDS.has(k)) {
710
+ out[k] = v
711
+ continue
712
+ }
713
+ if (
714
+ MAP_SUBSCHEMA_KEYWORDS.has(k) ||
715
+ ARRAY_SUBSCHEMA_KEYWORDS.has(k) ||
716
+ DRAFT_07_SINGLE_SUBSCHEMA_KEYWORDS.has(k)
717
+ ) {
718
+ out[k] = v
719
+ continue
720
+ }
721
+
722
+ switch (k) {
599
723
  // Tuple handling (2020-12 form)
600
724
  case "prefixItems":
601
725
  prefixItems = v
@@ -613,19 +737,25 @@ function toSchemaDraft07(schema: JsonSchema): JsonSchema {
613
737
  // 2020-12 tuples -> Draft-07 tuples
614
738
  if (prefixItems !== undefined) {
615
739
  if (Array.isArray(prefixItems)) {
616
- out.items = prefixItems.map((x) => walk(x, false))
617
- if (items !== undefined) out.additionalItems = walk(items, false)
740
+ out.items = prefixItems
741
+ if (items !== undefined) out.additionalItems = items
618
742
  } else {
619
743
  // Non-standard, but keep a reasonable behavior
620
- out.items = walk(prefixItems, false)
744
+ out.items = prefixItems
621
745
  }
622
746
  } else if (items !== undefined) {
623
747
  // Regular items schema stays as items
624
- out.items = walk(items, false)
748
+ out.items = items
749
+ }
750
+
751
+ const $ref = out.$ref
752
+ if (typeof $ref === "string" && Object.keys(out).length > 1) {
753
+ delete out.$ref
754
+ out.allOf = [{ $ref }, ...(Array.isArray(out.allOf) ? out.allOf : [])]
625
755
  }
626
756
 
627
757
  return out
628
- }
758
+ }) as JsonSchema
629
759
  }
630
760
 
631
761
  /**
@@ -639,15 +769,21 @@ function toSchemaDraft07(schema: JsonSchema): JsonSchema {
639
769
  *
640
770
  * **Details**
641
771
  *
642
- * This rewrites `#/$defs/...` refs to `#/components/schemas/...`, sanitizes
643
- * definition keys to match the OpenAPI component key pattern
644
- * (`^[a-zA-Z0-9.\-_]+$`) by replacing invalid characters with `_`, updates all
645
- * `$ref` pointers to use the sanitized keys, and converts all schemas and
646
- * definitions in the multi-document.
772
+ * This rewrites local `#/$defs/...` refs to `#/components/schemas/...` and
773
+ * sanitizes definition keys to match the OpenAPI component key pattern
774
+ * (`^[a-zA-Z0-9.\-_]+$`) by replacing invalid characters with `_`. Valid keys
775
+ * are preserved. When sanitized keys collide, the converter appends the first
776
+ * available `_1`, `_2`, and subsequent suffix, with allocation independent of
777
+ * definition insertion order. All local refs are updated to use the allocated
778
+ * keys, including refs to paths within a definition.
779
+ *
780
+ * **Gotchas**
781
+ *
782
+ * External refs and local refs outside `#/$defs` are left unchanged.
647
783
  *
648
784
  * **Example** (Converting to OpenAPI 3.1)
649
785
  *
650
- * ```ts
786
+ * ```ts import.meta.vitest
651
787
  * import { JsonSchema } from "effect"
652
788
  *
653
789
  * const multi: JsonSchema.MultiDocument<"draft-2020-12"> = {
@@ -659,8 +795,8 @@ function toSchemaDraft07(schema: JsonSchema): JsonSchema {
659
795
  * }
660
796
  *
661
797
  * const openapi = JsonSchema.toMultiDocumentOpenApi3_1(multi)
662
- * console.log(openapi.dialect) // "openapi-3.1"
663
- * console.log(openapi.schemas[0]) // { $ref: "#/components/schemas/User" }
798
+ * openapi.dialect // => "openapi-3.1"
799
+ * openapi.schemas[0] // => { $ref: "#/components/schemas/User" }
664
800
  * ```
665
801
  *
666
802
  * @see {@link toDocumentDraft07}
@@ -669,26 +805,43 @@ function toSchemaDraft07(schema: JsonSchema): JsonSchema {
669
805
  * @since 4.0.0
670
806
  */
671
807
  export function toMultiDocumentOpenApi3_1(multiDocument: MultiDocument<"draft-2020-12">): MultiDocument<"openapi-3.1"> {
808
+ const definitionKeys = Object.keys(multiDocument.definitions)
672
809
  const keyMap = new Map<string, string>()
673
- for (const key of Object.keys(multiDocument.definitions)) {
674
- const sanitized = sanitizeOpenApiComponentsSchemasKey(key)
675
- if (sanitized !== key) {
676
- keyMap.set(key, sanitized)
677
- }
810
+ const usedKeys = new Set(definitionKeys.filter((key) => VALID_OPEN_API_COMPONENTS_SCHEMAS_KEY_REGEXP.test(key)))
811
+ const invalidKeys = definitionKeys
812
+ .filter((key) => !VALID_OPEN_API_COMPONENTS_SCHEMAS_KEY_REGEXP.test(key))
813
+ .sort()
814
+ .map((key) => [key, sanitizeOpenApiComponentsSchemasKey(key)] as const)
815
+ for (const [key, base] of invalidKeys) {
816
+ if (usedKeys.has(base)) continue
817
+ usedKeys.add(base)
818
+ keyMap.set(key, base)
819
+ }
820
+ for (const [key, base] of invalidKeys) {
821
+ if (keyMap.has(key)) continue
822
+ let candidate: string
823
+ let suffix = 0
824
+ do candidate = `${base}_${++suffix}`
825
+ while (usedKeys.has(candidate))
826
+ usedKeys.add(candidate)
827
+ keyMap.set(key, candidate)
678
828
  }
679
829
 
680
830
  function rewrite(schema: JsonSchema): JsonSchema {
681
- return rewrite_refs(schema, ($ref) => {
682
- const tokens = $ref.split("/")
683
- if (tokens.length > 0) {
684
- const identifier = unescapeToken(tokens[tokens.length - 1])
685
- const sanitized = keyMap.get(identifier)
686
- if (sanitized !== undefined) {
687
- $ref = tokens.slice(0, -1).join("/") + "/" + sanitized
688
- }
689
- }
690
- return $ref.replace(RE_DEFS, "#/components/schemas")
691
- }) as JsonSchema
831
+ return transformSchema(
832
+ schema,
833
+ (schema) =>
834
+ rewriteSchemaRef(schema, ($ref) => {
835
+ if (!$ref.startsWith("#/$defs/")) return $ref
836
+
837
+ const path = $ref.slice("#/$defs/".length)
838
+ const separatorIndex = path.indexOf("/")
839
+ const token = separatorIndex === -1 ? path : path.slice(0, separatorIndex)
840
+ const rest = separatorIndex === -1 ? "" : path.slice(separatorIndex)
841
+ const key = keyMap.get(unescapeToken(token)) ?? token
842
+ return `#/components/schemas/${key}${rest}`
843
+ })
844
+ ) as JsonSchema
692
845
  }
693
846
 
694
847
  return {
@@ -711,64 +864,74 @@ export const VALID_OPEN_API_COMPONENTS_SCHEMAS_KEY_REGEXP = /^[a-zA-Z0-9.\-_]+$/
711
864
  * @internal
712
865
  */
713
866
  export function sanitizeOpenApiComponentsSchemasKey(s: string): string {
714
- if (s.length === 0) return "_"
715
- if (VALID_OPEN_API_COMPONENTS_SCHEMAS_KEY_REGEXP.test(s)) return s
716
-
717
- const out: Array<string> = []
718
-
719
- for (const ch of s) {
720
- const code = ch.codePointAt(0)
721
- if (
722
- code !== undefined &&
723
- ((code >= 48 && code <= 57) || // 0-9
724
- (code >= 65 && code <= 90) || // A-Z
725
- (code >= 97 && code <= 122) || // a-z
726
- code === 46 || // .
727
- code === 45 || // -
728
- code === 95) // _
729
- ) {
730
- out.push(ch)
731
- } else {
732
- out.push("_")
733
- }
734
- }
735
-
736
- return out.join("")
867
+ return s.length === 0 ? "_" : s.replace(/[^a-zA-Z0-9._-]/gu, "_");
737
868
  }
738
869
 
739
- function rewrite_refs(node: unknown, f: ($ref: string) => string): unknown {
740
- if (Array.isArray(node)) return node.map((v) => rewrite_refs(v, f))
741
- if (!Predicate.isObject(node)) return node
742
-
743
- const out: Record<string, unknown> = {}
870
+ function transformSchema(
871
+ node: unknown,
872
+ transform: (schema: Record<string, unknown>) => Record<string, unknown>
873
+ ): unknown {
874
+ return walk(node)
744
875
 
745
- for (const k of Object.keys(node)) {
746
- const v = node[k]
876
+ function walk(node: unknown): unknown {
877
+ if (!Predicate.isObject(node) || Array.isArray(node)) return node
747
878
 
748
- if (k === "$ref") {
749
- InternalRecord.assignProperty(out, k, typeof v === "string" ? f(v) : v)
750
- } else if (Array.isArray(v) || Predicate.isObject(v)) {
751
- InternalRecord.assignProperty(out, k, rewrite_refs(v, f))
752
- } else {
753
- InternalRecord.assignProperty(out, k, v)
879
+ const out: Record<string, unknown> = {}
880
+ for (const key of Object.keys(node)) {
881
+ const value = node[key]
882
+ let transformed = value
883
+ if (DRAFT_2020_12_MAP_SUBSCHEMA_KEYWORDS.has(key)) {
884
+ transformed = Array.isArray(value) ? value : mapObject(value, walk) ?? value
885
+ } else if (DRAFT_2020_12_ARRAY_SUBSCHEMA_KEYWORDS.has(key)) {
886
+ transformed = Array.isArray(value) ? value.map(walk) : value
887
+ } else if (DRAFT_2020_12_SINGLE_SUBSCHEMA_KEYWORDS.has(key)) {
888
+ transformed = walk(value)
889
+ }
890
+ InternalRecord.assignProperty(out, key, transformed)
754
891
  }
892
+ return transform(out)
755
893
  }
894
+ }
756
895
 
757
- return out
896
+ function rewriteSchemaRef(
897
+ schema: Record<string, unknown>,
898
+ rewrite: ($ref: string) => string
899
+ ): Record<string, unknown> {
900
+ if (typeof schema.$ref === "string") {
901
+ InternalRecord.assignProperty(schema, "$ref", rewrite(schema.$ref))
902
+ }
903
+ return schema
758
904
  }
759
905
 
760
- function walk_object(
761
- value: unknown,
762
- walk: (node: unknown, isRoot: boolean) => unknown
763
- ): Record<string, unknown> | undefined {
906
+ function mapObject(value: unknown, f: (node: unknown) => unknown): Record<string, unknown> | undefined {
764
907
  if (!Predicate.isObject(value)) return undefined
765
908
  const out: Record<string, unknown> = {}
766
- for (const k of Object.keys(value)) InternalRecord.assignProperty(out, k, walk(value[k], false))
909
+ for (const k of Object.keys(value)) InternalRecord.assignProperty(out, k, f(value[k]))
767
910
  return out
768
911
  }
769
912
 
770
- function normalize_OpenApi3_0_to_Draft07(node: unknown): unknown {
771
- if (Array.isArray(node)) return node.map(normalize_OpenApi3_0_to_Draft07)
913
+ function rewriteSubschemaKeyword(
914
+ out: Record<string, unknown>,
915
+ key: string,
916
+ value: unknown,
917
+ rewrite: (node: unknown) => unknown,
918
+ singleKeywords: ReadonlySet<string>
919
+ ): boolean {
920
+ if (MAP_SUBSCHEMA_KEYWORDS.has(key)) {
921
+ out[key] = mapObject(value, rewrite) ?? value
922
+ return true
923
+ }
924
+ if (ARRAY_SUBSCHEMA_KEYWORDS.has(key)) {
925
+ out[key] = Array.isArray(value) ? value.map(rewrite) : value
926
+ return true
927
+ }
928
+ if (!singleKeywords.has(key)) return false
929
+ out[key] = rewrite(value)
930
+ return true
931
+ }
932
+
933
+ function normalizeOpenApi3_0ToDraft07(node: unknown): unknown {
934
+ if (Array.isArray(node)) return node.map(normalizeOpenApi3_0ToDraft07)
772
935
  if (!Predicate.isObject(node)) return node
773
936
 
774
937
  const src = node as Record<string, unknown>
@@ -783,61 +946,61 @@ function normalize_OpenApi3_0_to_Draft07(node: unknown): unknown {
783
946
  out.examples = [v]
784
947
  }
785
948
  } else if (Array.isArray(v) || Predicate.isObject(v)) {
786
- InternalRecord.assignProperty(out, k, normalize_OpenApi3_0_to_Draft07(v))
949
+ InternalRecord.assignProperty(out, k, normalizeOpenApi3_0ToDraft07(v))
787
950
  } else {
788
951
  InternalRecord.assignProperty(out, k, v)
789
952
  }
790
953
  }
791
954
 
792
955
  // Draft-04-style numeric exclusivity booleans
793
- out = adjust_exclusivity(out)
956
+ out = adjustExclusivity(out)
794
957
 
795
958
  // OpenAPI 3.0 nullable
796
959
  if (out.nullable === true) {
797
- out = apply_nullable(out)
960
+ out = applyNullable(out)
798
961
  }
799
962
  delete out.nullable
800
963
 
801
964
  return out
802
965
  }
803
966
 
804
- function adjust_exclusivity(node: Record<string, unknown>): Record<string, unknown> {
805
- let out = node
806
-
807
- if (typeof out.exclusiveMinimum === "boolean") {
808
- if (out.exclusiveMinimum === true && typeof out.minimum === "number") {
809
- out = { ...out, exclusiveMinimum: out.minimum }
810
- delete out.minimum
811
- } else {
812
- out = { ...out }
813
- delete out.exclusiveMinimum
814
- }
815
- }
967
+ function adjustExclusivity(node: Record<string, unknown>): Record<string, unknown> {
968
+ return adjustExclusiveBound(
969
+ adjustExclusiveBound(node, "minimum", "exclusiveMinimum"),
970
+ "maximum",
971
+ "exclusiveMaximum"
972
+ )
973
+ }
816
974
 
817
- if (typeof out.exclusiveMaximum === "boolean") {
818
- if (out.exclusiveMaximum === true && typeof out.maximum === "number") {
819
- out = { ...out, exclusiveMaximum: out.maximum }
820
- delete out.maximum
821
- } else {
822
- out = { ...out }
823
- delete out.exclusiveMaximum
824
- }
975
+ function adjustExclusiveBound(
976
+ node: Record<string, unknown>,
977
+ boundKey: "minimum" | "maximum",
978
+ exclusiveKey: "exclusiveMinimum" | "exclusiveMaximum"
979
+ ): Record<string, unknown> {
980
+ const exclusive = node[exclusiveKey]
981
+ if (typeof exclusive !== "boolean") return node
982
+
983
+ const out = { ...node }
984
+ if (exclusive && typeof node[boundKey] === "number") {
985
+ out[exclusiveKey] = node[boundKey]
986
+ delete out[boundKey]
987
+ } else {
988
+ delete out[exclusiveKey]
825
989
  }
826
-
827
990
  return out
828
991
  }
829
992
 
830
- function apply_nullable(node: Record<string, unknown>): Record<string, unknown> {
993
+ function applyNullable(node: Record<string, unknown>): Record<string, unknown> {
831
994
  // enum widening
832
995
  if (Array.isArray(node.enum)) {
833
- return widen_type({
996
+ return widenType({
834
997
  ...node,
835
998
  enum: node.enum.includes(null) ? node.enum : [...node.enum, null]
836
999
  })
837
1000
  }
838
1001
 
839
1002
  // type widening
840
- if (node.type !== undefined) return widen_type(node)
1003
+ if (node.type !== undefined) return widenType(node)
841
1004
 
842
1005
  // const === null
843
1006
  if (node.const === null) return node
@@ -846,7 +1009,7 @@ function apply_nullable(node: Record<string, unknown>): Record<string, unknown>
846
1009
  return { anyOf: [node, { type: "null" }] }
847
1010
  }
848
1011
 
849
- function widen_type(node: Record<string, unknown>): Record<string, unknown> {
1012
+ function widenType(node: Record<string, unknown>): Record<string, unknown> {
850
1013
  const t = node.type
851
1014
  if (typeof t === "string") return t === "null" ? node : { ...node, type: [t, "null"] }
852
1015
  if (Array.isArray(t)) return t.includes("null") ? node : { ...node, type: [...t, "null"] }
@@ -873,18 +1036,15 @@ function widen_type(node: Record<string, unknown>): Record<string, unknown> {
873
1036
  *
874
1037
  * **Example** (Resolving a $ref)
875
1038
  *
876
- * ```ts
1039
+ * ```ts import.meta.vitest
877
1040
  * import { JsonSchema } from "effect"
878
1041
  *
879
1042
  * const definitions: JsonSchema.Definitions = {
880
1043
  * User: { type: "object", properties: { name: { type: "string" } } }
881
1044
  * }
882
1045
  *
883
- * const result = JsonSchema.resolve$ref("#/$defs/User", definitions)
884
- * console.log(result) // { type: "object", properties: { name: { type: "string" } } }
885
- *
886
- * const missing = JsonSchema.resolve$ref("#/$defs/Unknown", definitions)
887
- * console.log(missing) // undefined
1046
+ * JsonSchema.resolve$ref("#/$defs/User", definitions) // => { type: "object", properties: { name: { type: "string" } } }
1047
+ * JsonSchema.resolve$ref("#/$defs/Unknown", definitions) // => undefined
888
1048
  * ```
889
1049
  *
890
1050
  * @see {@link resolveTopLevel$ref}
@@ -894,10 +1054,8 @@ function widen_type(node: Record<string, unknown>): Record<string, unknown> {
894
1054
  */
895
1055
  export function resolve$ref($ref: string, definitions: Definitions): JsonSchema | undefined {
896
1056
  const tokens = $ref.split("/")
897
- if (tokens.length > 0) {
898
- const identifier = unescapeToken(tokens[tokens.length - 1])
899
- if (Object.hasOwn(definitions, identifier)) return definitions[identifier]
900
- }
1057
+ const identifier = unescapeToken(tokens[tokens.length - 1])
1058
+ if (Object.hasOwn(definitions, identifier)) return definitions[identifier]
901
1059
  }
902
1060
 
903
1061
  /**
@@ -915,7 +1073,7 @@ export function resolve$ref($ref: string, definitions: Definitions): JsonSchema
915
1073
  *
916
1074
  * **Example** (Resolving a top-level $ref)
917
1075
  *
918
- * ```ts
1076
+ * ```ts import.meta.vitest
919
1077
  * import { JsonSchema } from "effect"
920
1078
  *
921
1079
  * const doc: JsonSchema.Document<"draft-2020-12"> = {
@@ -927,7 +1085,7 @@ export function resolve$ref($ref: string, definitions: Definitions): JsonSchema
927
1085
  * }
928
1086
  *
929
1087
  * const resolved = JsonSchema.resolveTopLevel$ref(doc)
930
- * console.log(resolved.schema) // { type: "object", properties: { name: { type: "string" } } }
1088
+ * resolved.schema // => { type: "object", properties: { name: { type: "string" } } }
931
1089
  * ```
932
1090
  *
933
1091
  * @see {@link resolve$ref}