effect 4.0.0-beta.77 → 4.0.0-beta.79

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 (1513) hide show
  1. package/dist/Array.d.ts.map +1 -1
  2. package/dist/Array.js +6 -81
  3. package/dist/Array.js.map +1 -1
  4. package/dist/BigDecimal.d.ts +5 -55
  5. package/dist/BigDecimal.d.ts.map +1 -1
  6. package/dist/BigDecimal.js +5 -55
  7. package/dist/BigDecimal.js.map +1 -1
  8. package/dist/BigInt.d.ts +5 -64
  9. package/dist/BigInt.d.ts.map +1 -1
  10. package/dist/BigInt.js +5 -64
  11. package/dist/BigInt.js.map +1 -1
  12. package/dist/Boolean.d.ts +5 -52
  13. package/dist/Boolean.d.ts.map +1 -1
  14. package/dist/Boolean.js +5 -52
  15. package/dist/Boolean.js.map +1 -1
  16. package/dist/Brand.d.ts.map +1 -1
  17. package/dist/Brand.js +0 -44
  18. package/dist/Brand.js.map +1 -1
  19. package/dist/Cache.d.ts.map +1 -1
  20. package/dist/Cache.js +5 -44
  21. package/dist/Cache.js.map +1 -1
  22. package/dist/Cause.d.ts +6 -72
  23. package/dist/Cause.d.ts.map +1 -1
  24. package/dist/Cause.js +6 -72
  25. package/dist/Cause.js.map +1 -1
  26. package/dist/Channel.d.ts +6 -67
  27. package/dist/Channel.d.ts.map +1 -1
  28. package/dist/Channel.js +6 -67
  29. package/dist/Channel.js.map +1 -1
  30. package/dist/ChannelSchema.d.ts +5 -41
  31. package/dist/ChannelSchema.d.ts.map +1 -1
  32. package/dist/ChannelSchema.js.map +1 -1
  33. package/dist/Chunk.d.ts +6 -67
  34. package/dist/Chunk.d.ts.map +1 -1
  35. package/dist/Chunk.js +6 -67
  36. package/dist/Chunk.js.map +1 -1
  37. package/dist/Clock.d.ts +4 -56
  38. package/dist/Clock.d.ts.map +1 -1
  39. package/dist/Clock.js.map +1 -1
  40. package/dist/Combiner.d.ts +6 -57
  41. package/dist/Combiner.d.ts.map +1 -1
  42. package/dist/Combiner.js.map +1 -1
  43. package/dist/Config.d.ts +5 -69
  44. package/dist/Config.d.ts.map +1 -1
  45. package/dist/Config.js.map +1 -1
  46. package/dist/ConfigProvider.d.ts +6 -75
  47. package/dist/ConfigProvider.d.ts.map +1 -1
  48. package/dist/ConfigProvider.js +6 -75
  49. package/dist/ConfigProvider.js.map +1 -1
  50. package/dist/Console.d.ts +6 -70
  51. package/dist/Console.d.ts.map +1 -1
  52. package/dist/Console.js.map +1 -1
  53. package/dist/Context.d.ts +8 -47
  54. package/dist/Context.d.ts.map +1 -1
  55. package/dist/Context.js.map +1 -1
  56. package/dist/Cron.d.ts.map +1 -1
  57. package/dist/Cron.js +5 -41
  58. package/dist/Cron.js.map +1 -1
  59. package/dist/Crypto.d.ts +6 -50
  60. package/dist/Crypto.d.ts.map +1 -1
  61. package/dist/Crypto.js +6 -50
  62. package/dist/Crypto.js.map +1 -1
  63. package/dist/Data.d.ts +5 -72
  64. package/dist/Data.d.ts.map +1 -1
  65. package/dist/Data.js.map +1 -1
  66. package/dist/DateTime.d.ts +8 -48
  67. package/dist/DateTime.d.ts.map +1 -1
  68. package/dist/DateTime.js.map +1 -1
  69. package/dist/Deferred.d.ts +5 -58
  70. package/dist/Deferred.d.ts.map +1 -1
  71. package/dist/Deferred.js.map +1 -1
  72. package/dist/Differ.d.ts +4 -35
  73. package/dist/Differ.d.ts.map +1 -1
  74. package/dist/Differ.js +4 -35
  75. package/dist/Duration.d.ts +6 -46
  76. package/dist/Duration.d.ts.map +1 -1
  77. package/dist/Duration.js +6 -46
  78. package/dist/Duration.js.map +1 -1
  79. package/dist/Effect.d.ts +227 -103
  80. package/dist/Effect.d.ts.map +1 -1
  81. package/dist/Effect.js +172 -18
  82. package/dist/Effect.js.map +1 -1
  83. package/dist/Effectable.d.ts +4 -34
  84. package/dist/Effectable.d.ts.map +1 -1
  85. package/dist/Effectable.js.map +1 -1
  86. package/dist/Encoding.d.ts.map +1 -1
  87. package/dist/Encoding.js +5 -46
  88. package/dist/Encoding.js.map +1 -1
  89. package/dist/Equal.d.ts +6 -66
  90. package/dist/Equal.d.ts.map +1 -1
  91. package/dist/Equal.js.map +1 -1
  92. package/dist/Equivalence.d.ts.map +1 -1
  93. package/dist/Equivalence.js +6 -48
  94. package/dist/Equivalence.js.map +1 -1
  95. package/dist/ErrorReporter.d.ts +8 -47
  96. package/dist/ErrorReporter.d.ts.map +1 -1
  97. package/dist/ErrorReporter.js.map +1 -1
  98. package/dist/ExecutionPlan.d.ts +6 -79
  99. package/dist/ExecutionPlan.d.ts.map +1 -1
  100. package/dist/ExecutionPlan.js.map +1 -1
  101. package/dist/Exit.d.ts +6 -53
  102. package/dist/Exit.d.ts.map +1 -1
  103. package/dist/Exit.js.map +1 -1
  104. package/dist/Fiber.d.ts +5 -52
  105. package/dist/Fiber.d.ts.map +1 -1
  106. package/dist/Fiber.js.map +1 -1
  107. package/dist/FiberHandle.d.ts.map +1 -1
  108. package/dist/FiberHandle.js +8 -38
  109. package/dist/FiberHandle.js.map +1 -1
  110. package/dist/FiberMap.d.ts.map +1 -1
  111. package/dist/FiberMap.js +7 -34
  112. package/dist/FiberMap.js.map +1 -1
  113. package/dist/FiberSet.d.ts.map +1 -1
  114. package/dist/FiberSet.js +6 -36
  115. package/dist/FiberSet.js.map +1 -1
  116. package/dist/FileSystem.d.ts.map +1 -1
  117. package/dist/FileSystem.js +8 -51
  118. package/dist/FileSystem.js.map +1 -1
  119. package/dist/Filter.d.ts +8 -33
  120. package/dist/Filter.d.ts.map +1 -1
  121. package/dist/Filter.js.map +1 -1
  122. package/dist/Formatter.d.ts.map +1 -1
  123. package/dist/Formatter.js +6 -49
  124. package/dist/Formatter.js.map +1 -1
  125. package/dist/Function.d.ts +5 -43
  126. package/dist/Function.d.ts.map +1 -1
  127. package/dist/Function.js.map +1 -1
  128. package/dist/Graph.d.ts +5 -48
  129. package/dist/Graph.d.ts.map +1 -1
  130. package/dist/Graph.js +69 -61
  131. package/dist/Graph.js.map +1 -1
  132. package/dist/HKT.d.ts +6 -48
  133. package/dist/HKT.d.ts.map +1 -1
  134. package/dist/Hash.d.ts.map +1 -1
  135. package/dist/Hash.js +7 -49
  136. package/dist/Hash.js.map +1 -1
  137. package/dist/HashMap.d.ts +6 -69
  138. package/dist/HashMap.d.ts.map +1 -1
  139. package/dist/HashMap.js +6 -69
  140. package/dist/HashMap.js.map +1 -1
  141. package/dist/HashRing.d.ts.map +1 -1
  142. package/dist/HashRing.js +6 -56
  143. package/dist/HashRing.js.map +1 -1
  144. package/dist/HashSet.d.ts +7 -36
  145. package/dist/HashSet.d.ts.map +1 -1
  146. package/dist/HashSet.js +7 -36
  147. package/dist/HashSet.js.map +1 -1
  148. package/dist/Inspectable.d.ts.map +1 -1
  149. package/dist/Inspectable.js +6 -60
  150. package/dist/Inspectable.js.map +1 -1
  151. package/dist/Iterable.d.ts +5 -50
  152. package/dist/Iterable.d.ts.map +1 -1
  153. package/dist/Iterable.js +5 -50
  154. package/dist/Iterable.js.map +1 -1
  155. package/dist/JsonPatch.d.ts.map +1 -1
  156. package/dist/JsonPatch.js +0 -53
  157. package/dist/JsonPatch.js.map +1 -1
  158. package/dist/JsonPointer.d.ts +4 -49
  159. package/dist/JsonPointer.d.ts.map +1 -1
  160. package/dist/JsonPointer.js +4 -49
  161. package/dist/JsonPointer.js.map +1 -1
  162. package/dist/JsonSchema.d.ts.map +1 -1
  163. package/dist/JsonSchema.js +6 -82
  164. package/dist/JsonSchema.js.map +1 -1
  165. package/dist/Latch.d.ts +5 -31
  166. package/dist/Latch.d.ts.map +1 -1
  167. package/dist/Latch.js.map +1 -1
  168. package/dist/Layer.d.ts +6 -38
  169. package/dist/Layer.d.ts.map +1 -1
  170. package/dist/Layer.js.map +1 -1
  171. package/dist/LayerMap.d.ts +7 -32
  172. package/dist/LayerMap.d.ts.map +1 -1
  173. package/dist/LayerMap.js +7 -32
  174. package/dist/LayerMap.js.map +1 -1
  175. package/dist/LogLevel.d.ts +4 -35
  176. package/dist/LogLevel.d.ts.map +1 -1
  177. package/dist/LogLevel.js.map +1 -1
  178. package/dist/Logger.d.ts.map +1 -1
  179. package/dist/Logger.js +6 -80
  180. package/dist/Logger.js.map +1 -1
  181. package/dist/ManagedRuntime.d.ts +6 -36
  182. package/dist/ManagedRuntime.d.ts.map +1 -1
  183. package/dist/ManagedRuntime.js.map +1 -1
  184. package/dist/Match.d.ts.map +1 -1
  185. package/dist/Match.js +8 -42
  186. package/dist/Match.js.map +1 -1
  187. package/dist/Metric.d.ts +8 -81
  188. package/dist/Metric.d.ts.map +1 -1
  189. package/dist/Metric.js +8 -81
  190. package/dist/Metric.js.map +1 -1
  191. package/dist/MutableHashMap.d.ts +6 -35
  192. package/dist/MutableHashMap.d.ts.map +1 -1
  193. package/dist/MutableHashMap.js.map +1 -1
  194. package/dist/MutableHashSet.d.ts.map +1 -1
  195. package/dist/MutableHashSet.js +5 -63
  196. package/dist/MutableHashSet.js.map +1 -1
  197. package/dist/MutableList.d.ts.map +1 -1
  198. package/dist/MutableList.js +6 -46
  199. package/dist/MutableList.js.map +1 -1
  200. package/dist/MutableRef.d.ts.map +1 -1
  201. package/dist/MutableRef.js +7 -30
  202. package/dist/MutableRef.js.map +1 -1
  203. package/dist/Newtype.d.ts +8 -61
  204. package/dist/Newtype.d.ts.map +1 -1
  205. package/dist/Newtype.js.map +1 -1
  206. package/dist/NonEmptyIterable.d.ts +0 -135
  207. package/dist/NonEmptyIterable.d.ts.map +1 -1
  208. package/dist/NonEmptyIterable.js +0 -135
  209. package/dist/NonEmptyIterable.js.map +1 -1
  210. package/dist/Number.d.ts +4 -55
  211. package/dist/Number.d.ts.map +1 -1
  212. package/dist/Number.js +4 -55
  213. package/dist/Number.js.map +1 -1
  214. package/dist/Optic.d.ts +9 -91
  215. package/dist/Optic.d.ts.map +1 -1
  216. package/dist/Optic.js +9 -91
  217. package/dist/Optic.js.map +1 -1
  218. package/dist/Option.d.ts +8 -69
  219. package/dist/Option.d.ts.map +1 -1
  220. package/dist/Option.js +8 -69
  221. package/dist/Option.js.map +1 -1
  222. package/dist/Order.d.ts.map +1 -1
  223. package/dist/Order.js +8 -76
  224. package/dist/Order.js.map +1 -1
  225. package/dist/Ordering.d.ts +5 -31
  226. package/dist/Ordering.d.ts.map +1 -1
  227. package/dist/Ordering.js.map +1 -1
  228. package/dist/PartitionedSemaphore.d.ts +0 -28
  229. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  230. package/dist/PartitionedSemaphore.js +0 -28
  231. package/dist/PartitionedSemaphore.js.map +1 -1
  232. package/dist/Path.d.ts +7 -29
  233. package/dist/Path.d.ts.map +1 -1
  234. package/dist/Path.js +6 -28
  235. package/dist/Path.js.map +1 -1
  236. package/dist/Pipeable.d.ts +0 -11
  237. package/dist/Pipeable.d.ts.map +1 -1
  238. package/dist/Pipeable.js +0 -11
  239. package/dist/Pipeable.js.map +1 -1
  240. package/dist/PlatformError.d.ts +7 -29
  241. package/dist/PlatformError.d.ts.map +1 -1
  242. package/dist/PlatformError.js +7 -29
  243. package/dist/PlatformError.js.map +1 -1
  244. package/dist/Pool.d.ts.map +1 -1
  245. package/dist/Pool.js.map +1 -1
  246. package/dist/Predicate.d.ts.map +1 -1
  247. package/dist/Predicate.js +6 -61
  248. package/dist/Predicate.js.map +1 -1
  249. package/dist/PrimaryKey.d.ts +0 -40
  250. package/dist/PrimaryKey.d.ts.map +1 -1
  251. package/dist/PrimaryKey.js +0 -40
  252. package/dist/PrimaryKey.js.map +1 -1
  253. package/dist/PubSub.d.ts +8 -56
  254. package/dist/PubSub.d.ts.map +1 -1
  255. package/dist/PubSub.js +8 -56
  256. package/dist/PubSub.js.map +1 -1
  257. package/dist/Pull.d.ts +8 -25
  258. package/dist/Pull.d.ts.map +1 -1
  259. package/dist/Pull.js +8 -25
  260. package/dist/Pull.js.map +1 -1
  261. package/dist/Queue.d.ts +5 -62
  262. package/dist/Queue.d.ts.map +1 -1
  263. package/dist/Queue.js +5 -62
  264. package/dist/Queue.js.map +1 -1
  265. package/dist/Random.d.ts +5 -39
  266. package/dist/Random.d.ts.map +1 -1
  267. package/dist/Random.js +6 -74
  268. package/dist/Random.js.map +1 -1
  269. package/dist/RcMap.d.ts +9 -17
  270. package/dist/RcMap.d.ts.map +1 -1
  271. package/dist/RcMap.js +9 -17
  272. package/dist/RcMap.js.map +1 -1
  273. package/dist/RcRef.d.ts +6 -36
  274. package/dist/RcRef.d.ts.map +1 -1
  275. package/dist/RcRef.js.map +1 -1
  276. package/dist/Record.d.ts +6 -71
  277. package/dist/Record.d.ts.map +1 -1
  278. package/dist/Record.js +6 -71
  279. package/dist/Record.js.map +1 -1
  280. package/dist/Redactable.d.ts +0 -58
  281. package/dist/Redactable.d.ts.map +1 -1
  282. package/dist/Redactable.js.map +1 -1
  283. package/dist/Redacted.d.ts +8 -41
  284. package/dist/Redacted.d.ts.map +1 -1
  285. package/dist/Redacted.js +8 -41
  286. package/dist/Redacted.js.map +1 -1
  287. package/dist/Reducer.d.ts +5 -64
  288. package/dist/Reducer.d.ts.map +1 -1
  289. package/dist/Reducer.js +5 -64
  290. package/dist/Reducer.js.map +1 -1
  291. package/dist/Ref.d.ts +8 -49
  292. package/dist/Ref.d.ts.map +1 -1
  293. package/dist/Ref.js +8 -49
  294. package/dist/Ref.js.map +1 -1
  295. package/dist/References.d.ts +0 -49
  296. package/dist/References.d.ts.map +1 -1
  297. package/dist/References.js.map +1 -1
  298. package/dist/RegExp.d.ts.map +1 -1
  299. package/dist/RegExp.js +0 -26
  300. package/dist/RegExp.js.map +1 -1
  301. package/dist/Request.d.ts +6 -41
  302. package/dist/Request.d.ts.map +1 -1
  303. package/dist/Request.js.map +1 -1
  304. package/dist/RequestResolver.d.ts +6 -41
  305. package/dist/RequestResolver.d.ts.map +1 -1
  306. package/dist/RequestResolver.js.map +1 -1
  307. package/dist/Resource.d.ts.map +1 -1
  308. package/dist/Resource.js +5 -30
  309. package/dist/Resource.js.map +1 -1
  310. package/dist/Result.d.ts +6 -64
  311. package/dist/Result.d.ts.map +1 -1
  312. package/dist/Result.js +6 -64
  313. package/dist/Result.js.map +1 -1
  314. package/dist/Runtime.d.ts.map +1 -1
  315. package/dist/Runtime.js +7 -55
  316. package/dist/Runtime.js.map +1 -1
  317. package/dist/Schedule.d.ts.map +1 -1
  318. package/dist/Schedule.js +5 -61
  319. package/dist/Schedule.js.map +1 -1
  320. package/dist/Scheduler.d.ts +6 -17
  321. package/dist/Scheduler.d.ts.map +1 -1
  322. package/dist/Scheduler.js +6 -17
  323. package/dist/Scheduler.js.map +1 -1
  324. package/dist/Schema.d.ts +257 -166
  325. package/dist/Schema.d.ts.map +1 -1
  326. package/dist/Schema.js +347 -361
  327. package/dist/Schema.js.map +1 -1
  328. package/dist/SchemaAST.d.ts +18 -73
  329. package/dist/SchemaAST.d.ts.map +1 -1
  330. package/dist/SchemaAST.js +83 -89
  331. package/dist/SchemaAST.js.map +1 -1
  332. package/dist/SchemaGetter.d.ts +9 -83
  333. package/dist/SchemaGetter.d.ts.map +1 -1
  334. package/dist/SchemaGetter.js +9 -83
  335. package/dist/SchemaGetter.js.map +1 -1
  336. package/dist/SchemaIssue.d.ts +8 -76
  337. package/dist/SchemaIssue.d.ts.map +1 -1
  338. package/dist/SchemaIssue.js.map +1 -1
  339. package/dist/SchemaParser.d.ts.map +1 -1
  340. package/dist/SchemaParser.js +23 -43
  341. package/dist/SchemaParser.js.map +1 -1
  342. package/dist/SchemaRepresentation.d.ts.map +1 -1
  343. package/dist/SchemaRepresentation.js +10 -84
  344. package/dist/SchemaRepresentation.js.map +1 -1
  345. package/dist/SchemaTransformation.d.ts +9 -82
  346. package/dist/SchemaTransformation.d.ts.map +1 -1
  347. package/dist/SchemaTransformation.js +9 -82
  348. package/dist/SchemaTransformation.js.map +1 -1
  349. package/dist/SchemaUtils.d.ts.map +1 -1
  350. package/dist/SchemaUtils.js +5 -33
  351. package/dist/SchemaUtils.js.map +1 -1
  352. package/dist/Scope.d.ts +6 -41
  353. package/dist/Scope.d.ts.map +1 -1
  354. package/dist/Scope.js +6 -41
  355. package/dist/Scope.js.map +1 -1
  356. package/dist/ScopedCache.d.ts.map +1 -1
  357. package/dist/ScopedCache.js +8 -23
  358. package/dist/ScopedCache.js.map +1 -1
  359. package/dist/ScopedRef.d.ts +6 -18
  360. package/dist/ScopedRef.d.ts.map +1 -1
  361. package/dist/ScopedRef.js +6 -18
  362. package/dist/ScopedRef.js.map +1 -1
  363. package/dist/Semaphore.d.ts +8 -30
  364. package/dist/Semaphore.d.ts.map +1 -1
  365. package/dist/Semaphore.js.map +1 -1
  366. package/dist/Sink.d.ts +6 -29
  367. package/dist/Sink.d.ts.map +1 -1
  368. package/dist/Sink.js.map +1 -1
  369. package/dist/Stdio.d.ts +7 -26
  370. package/dist/Stdio.d.ts.map +1 -1
  371. package/dist/Stdio.js +7 -26
  372. package/dist/Stdio.js.map +1 -1
  373. package/dist/Stream.d.ts +8 -79
  374. package/dist/Stream.d.ts.map +1 -1
  375. package/dist/Stream.js +8 -79
  376. package/dist/Stream.js.map +1 -1
  377. package/dist/String.d.ts +5 -63
  378. package/dist/String.d.ts.map +1 -1
  379. package/dist/String.js +5 -63
  380. package/dist/String.js.map +1 -1
  381. package/dist/Struct.d.ts +8 -71
  382. package/dist/Struct.d.ts.map +1 -1
  383. package/dist/Struct.js +9 -71
  384. package/dist/Struct.js.map +1 -1
  385. package/dist/SubscriptionRef.d.ts +6 -53
  386. package/dist/SubscriptionRef.d.ts.map +1 -1
  387. package/dist/SubscriptionRef.js +6 -53
  388. package/dist/SubscriptionRef.js.map +1 -1
  389. package/dist/Symbol.d.ts +0 -17
  390. package/dist/Symbol.d.ts.map +1 -1
  391. package/dist/Symbol.js +0 -17
  392. package/dist/Symbol.js.map +1 -1
  393. package/dist/SynchronizedRef.d.ts +8 -21
  394. package/dist/SynchronizedRef.d.ts.map +1 -1
  395. package/dist/SynchronizedRef.js +8 -21
  396. package/dist/SynchronizedRef.js.map +1 -1
  397. package/dist/Take.d.ts +0 -24
  398. package/dist/Take.d.ts.map +1 -1
  399. package/dist/Take.js.map +1 -1
  400. package/dist/Terminal.d.ts +7 -28
  401. package/dist/Terminal.d.ts.map +1 -1
  402. package/dist/Terminal.js.map +1 -1
  403. package/dist/Tracer.d.ts +6 -36
  404. package/dist/Tracer.d.ts.map +1 -1
  405. package/dist/Tracer.js +6 -36
  406. package/dist/Tracer.js.map +1 -1
  407. package/dist/Trie.d.ts +6 -49
  408. package/dist/Trie.d.ts.map +1 -1
  409. package/dist/Trie.js.map +1 -1
  410. package/dist/Tuple.d.ts +8 -66
  411. package/dist/Tuple.d.ts.map +1 -1
  412. package/dist/Tuple.js +8 -66
  413. package/dist/Tuple.js.map +1 -1
  414. package/dist/TxChunk.d.ts +8 -40
  415. package/dist/TxChunk.d.ts.map +1 -1
  416. package/dist/TxChunk.js +8 -40
  417. package/dist/TxChunk.js.map +1 -1
  418. package/dist/TxDeferred.d.ts +0 -18
  419. package/dist/TxDeferred.d.ts.map +1 -1
  420. package/dist/TxDeferred.js +0 -18
  421. package/dist/TxDeferred.js.map +1 -1
  422. package/dist/TxHashMap.d.ts +6 -23
  423. package/dist/TxHashMap.d.ts.map +1 -1
  424. package/dist/TxHashMap.js +6 -23
  425. package/dist/TxHashMap.js.map +1 -1
  426. package/dist/TxHashSet.d.ts +10 -19
  427. package/dist/TxHashSet.d.ts.map +1 -1
  428. package/dist/TxHashSet.js +10 -19
  429. package/dist/TxHashSet.js.map +1 -1
  430. package/dist/TxPriorityQueue.d.ts +9 -29
  431. package/dist/TxPriorityQueue.d.ts.map +1 -1
  432. package/dist/TxPriorityQueue.js +9 -29
  433. package/dist/TxPriorityQueue.js.map +1 -1
  434. package/dist/TxPubSub.d.ts +6 -44
  435. package/dist/TxPubSub.d.ts.map +1 -1
  436. package/dist/TxPubSub.js +6 -44
  437. package/dist/TxPubSub.js.map +1 -1
  438. package/dist/TxQueue.d.ts +8 -48
  439. package/dist/TxQueue.d.ts.map +1 -1
  440. package/dist/TxQueue.js.map +1 -1
  441. package/dist/TxReentrantLock.d.ts +8 -40
  442. package/dist/TxReentrantLock.d.ts.map +1 -1
  443. package/dist/TxReentrantLock.js +8 -40
  444. package/dist/TxReentrantLock.js.map +1 -1
  445. package/dist/TxRef.d.ts +9 -59
  446. package/dist/TxRef.d.ts.map +1 -1
  447. package/dist/TxRef.js +9 -59
  448. package/dist/TxRef.js.map +1 -1
  449. package/dist/TxSemaphore.d.ts +6 -34
  450. package/dist/TxSemaphore.d.ts.map +1 -1
  451. package/dist/TxSemaphore.js +6 -34
  452. package/dist/TxSemaphore.js.map +1 -1
  453. package/dist/TxSubscriptionRef.d.ts +7 -35
  454. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  455. package/dist/TxSubscriptionRef.js +7 -35
  456. package/dist/TxSubscriptionRef.js.map +1 -1
  457. package/dist/Types.d.ts +6 -48
  458. package/dist/Types.d.ts.map +1 -1
  459. package/dist/Types.js +5 -47
  460. package/dist/UndefinedOr.d.ts +8 -55
  461. package/dist/UndefinedOr.d.ts.map +1 -1
  462. package/dist/UndefinedOr.js +8 -55
  463. package/dist/UndefinedOr.js.map +1 -1
  464. package/dist/Unify.d.ts +8 -29
  465. package/dist/Unify.d.ts.map +1 -1
  466. package/dist/Unify.js +8 -29
  467. package/dist/Unify.js.map +1 -1
  468. package/dist/Utils.d.ts +8 -55
  469. package/dist/Utils.d.ts.map +1 -1
  470. package/dist/Utils.js +20 -14
  471. package/dist/Utils.js.map +1 -1
  472. package/dist/internal/effect.js +5 -3
  473. package/dist/internal/effect.js.map +1 -1
  474. package/dist/internal/option.js +5 -3
  475. package/dist/internal/option.js.map +1 -1
  476. package/dist/internal/schema/arbitrary.d.ts +4 -1
  477. package/dist/internal/schema/arbitrary.d.ts.map +1 -1
  478. package/dist/internal/schema/arbitrary.js +655 -170
  479. package/dist/internal/schema/arbitrary.js.map +1 -1
  480. package/dist/internal/schema/representation.js +1 -1
  481. package/dist/internal/schema/representation.js.map +1 -1
  482. package/dist/testing/FastCheck.d.ts +5 -6
  483. package/dist/testing/FastCheck.d.ts.map +1 -1
  484. package/dist/testing/FastCheck.js +5 -6
  485. package/dist/testing/FastCheck.js.map +1 -1
  486. package/dist/testing/TestClock.d.ts.map +1 -1
  487. package/dist/testing/TestClock.js +8 -23
  488. package/dist/testing/TestClock.js.map +1 -1
  489. package/dist/testing/TestConsole.d.ts.map +1 -1
  490. package/dist/testing/TestConsole.js +7 -36
  491. package/dist/testing/TestConsole.js.map +1 -1
  492. package/dist/testing/TestSchema.d.ts.map +1 -1
  493. package/dist/testing/TestSchema.js +6 -63
  494. package/dist/testing/TestSchema.js.map +1 -1
  495. package/dist/unstable/ai/AiError.d.ts +9 -78
  496. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  497. package/dist/unstable/ai/AiError.js +9 -78
  498. package/dist/unstable/ai/AiError.js.map +1 -1
  499. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  500. package/dist/unstable/ai/AnthropicStructuredOutput.js +7 -32
  501. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  502. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  503. package/dist/unstable/ai/Chat.js +0 -46
  504. package/dist/unstable/ai/Chat.js.map +1 -1
  505. package/dist/unstable/ai/EmbeddingModel.d.ts +8 -45
  506. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
  507. package/dist/unstable/ai/EmbeddingModel.js +8 -45
  508. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  509. package/dist/unstable/ai/IdGenerator.d.ts +6 -44
  510. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  511. package/dist/unstable/ai/IdGenerator.js +6 -44
  512. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  513. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  514. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  515. package/dist/unstable/ai/McpSchema.d.ts +8 -27
  516. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  517. package/dist/unstable/ai/McpSchema.js +8 -27
  518. package/dist/unstable/ai/McpSchema.js.map +1 -1
  519. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  520. package/dist/unstable/ai/McpServer.js +8 -22
  521. package/dist/unstable/ai/McpServer.js.map +1 -1
  522. package/dist/unstable/ai/Model.d.ts +8 -49
  523. package/dist/unstable/ai/Model.d.ts.map +1 -1
  524. package/dist/unstable/ai/Model.js +8 -49
  525. package/dist/unstable/ai/Model.js.map +1 -1
  526. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  527. package/dist/unstable/ai/OpenAiStructuredOutput.js +9 -50
  528. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  529. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  530. package/dist/unstable/ai/Prompt.js +6 -50
  531. package/dist/unstable/ai/Prompt.js.map +1 -1
  532. package/dist/unstable/ai/Response.d.ts +8 -49
  533. package/dist/unstable/ai/Response.d.ts.map +1 -1
  534. package/dist/unstable/ai/Response.js.map +1 -1
  535. package/dist/unstable/ai/ResponseIdTracker.d.ts +0 -26
  536. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
  537. package/dist/unstable/ai/ResponseIdTracker.js +0 -26
  538. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  539. package/dist/unstable/ai/Telemetry.d.ts +6 -30
  540. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  541. package/dist/unstable/ai/Telemetry.js +6 -30
  542. package/dist/unstable/ai/Telemetry.js.map +1 -1
  543. package/dist/unstable/ai/Tokenizer.d.ts +8 -46
  544. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  545. package/dist/unstable/ai/Tokenizer.js +8 -46
  546. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  547. package/dist/unstable/ai/Tool.d.ts +9 -54
  548. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  549. package/dist/unstable/ai/Tool.js +9 -54
  550. package/dist/unstable/ai/Tool.js.map +1 -1
  551. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  552. package/dist/unstable/ai/Toolkit.js.map +1 -1
  553. package/dist/unstable/cli/Argument.d.ts +6 -20
  554. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  555. package/dist/unstable/cli/Argument.js.map +1 -1
  556. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  557. package/dist/unstable/cli/CliError.js +8 -23
  558. package/dist/unstable/cli/CliError.js.map +1 -1
  559. package/dist/unstable/cli/CliOutput.d.ts +6 -19
  560. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  561. package/dist/unstable/cli/CliOutput.js +6 -19
  562. package/dist/unstable/cli/CliOutput.js.map +1 -1
  563. package/dist/unstable/cli/Command.d.ts +8 -27
  564. package/dist/unstable/cli/Command.d.ts.map +1 -1
  565. package/dist/unstable/cli/Command.js.map +1 -1
  566. package/dist/unstable/cli/Completions.d.ts.map +1 -1
  567. package/dist/unstable/cli/Completions.js +0 -24
  568. package/dist/unstable/cli/Completions.js.map +1 -1
  569. package/dist/unstable/cli/Flag.d.ts +8 -18
  570. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  571. package/dist/unstable/cli/Flag.js.map +1 -1
  572. package/dist/unstable/cli/GlobalFlag.d.ts +8 -22
  573. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  574. package/dist/unstable/cli/GlobalFlag.js +9 -23
  575. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  576. package/dist/unstable/cli/HelpDoc.d.ts +6 -19
  577. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  578. package/dist/unstable/cli/HelpDoc.js +6 -19
  579. package/dist/unstable/cli/Param.d.ts +8 -25
  580. package/dist/unstable/cli/Param.d.ts.map +1 -1
  581. package/dist/unstable/cli/Param.js +8 -25
  582. package/dist/unstable/cli/Param.js.map +1 -1
  583. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  584. package/dist/unstable/cli/Primitive.js +8 -58
  585. package/dist/unstable/cli/Primitive.js.map +1 -1
  586. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  587. package/dist/unstable/cli/Prompt.js +7 -22
  588. package/dist/unstable/cli/Prompt.js.map +1 -1
  589. package/dist/unstable/cluster/ClusterCron.d.ts +6 -26
  590. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  591. package/dist/unstable/cluster/ClusterCron.js +6 -26
  592. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  593. package/dist/unstable/cluster/ClusterError.d.ts +5 -40
  594. package/dist/unstable/cluster/ClusterError.d.ts.map +1 -1
  595. package/dist/unstable/cluster/ClusterError.js +5 -40
  596. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  597. package/dist/unstable/cluster/ClusterMetrics.d.ts +6 -20
  598. package/dist/unstable/cluster/ClusterMetrics.d.ts.map +1 -1
  599. package/dist/unstable/cluster/ClusterMetrics.js +6 -20
  600. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  601. package/dist/unstable/cluster/ClusterSchema.d.ts +0 -38
  602. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  603. package/dist/unstable/cluster/ClusterSchema.js +0 -38
  604. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  605. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  606. package/dist/unstable/cluster/ClusterWorkflowEngine.js +0 -16
  607. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  608. package/dist/unstable/cluster/DeliverAt.d.ts +0 -17
  609. package/dist/unstable/cluster/DeliverAt.d.ts.map +1 -1
  610. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  611. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  612. package/dist/unstable/cluster/Entity.js +8 -31
  613. package/dist/unstable/cluster/Entity.js.map +1 -1
  614. package/dist/unstable/cluster/EntityAddress.d.ts +0 -13
  615. package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
  616. package/dist/unstable/cluster/EntityAddress.js +0 -13
  617. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  618. package/dist/unstable/cluster/EntityId.d.ts +0 -24
  619. package/dist/unstable/cluster/EntityId.d.ts.map +1 -1
  620. package/dist/unstable/cluster/EntityId.js +0 -24
  621. package/dist/unstable/cluster/EntityId.js.map +1 -1
  622. package/dist/unstable/cluster/EntityProxy.d.ts +7 -21
  623. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  624. package/dist/unstable/cluster/EntityProxy.js +6 -20
  625. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  626. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  627. package/dist/unstable/cluster/EntityProxyServer.js +7 -19
  628. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  629. package/dist/unstable/cluster/EntityResource.d.ts +8 -22
  630. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  631. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  632. package/dist/unstable/cluster/EntityType.d.ts +0 -13
  633. package/dist/unstable/cluster/EntityType.d.ts.map +1 -1
  634. package/dist/unstable/cluster/EntityType.js +0 -13
  635. package/dist/unstable/cluster/EntityType.js.map +1 -1
  636. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  637. package/dist/unstable/cluster/Envelope.js +7 -22
  638. package/dist/unstable/cluster/Envelope.js.map +1 -1
  639. package/dist/unstable/cluster/HttpRunner.d.ts +5 -32
  640. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  641. package/dist/unstable/cluster/HttpRunner.js +5 -32
  642. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  643. package/dist/unstable/cluster/K8sHttpClient.d.ts +0 -32
  644. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  645. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  646. package/dist/unstable/cluster/MachineId.d.ts +0 -20
  647. package/dist/unstable/cluster/MachineId.d.ts.map +1 -1
  648. package/dist/unstable/cluster/MachineId.js +0 -20
  649. package/dist/unstable/cluster/MachineId.js.map +1 -1
  650. package/dist/unstable/cluster/Message.d.ts +7 -23
  651. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  652. package/dist/unstable/cluster/Message.js +7 -23
  653. package/dist/unstable/cluster/Message.js.map +1 -1
  654. package/dist/unstable/cluster/MessageStorage.d.ts +8 -37
  655. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  656. package/dist/unstable/cluster/MessageStorage.js +7 -36
  657. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  658. package/dist/unstable/cluster/Reply.d.ts +7 -19
  659. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  660. package/dist/unstable/cluster/Reply.js.map +1 -1
  661. package/dist/unstable/cluster/Runner.d.ts +3 -35
  662. package/dist/unstable/cluster/Runner.d.ts.map +1 -1
  663. package/dist/unstable/cluster/Runner.js +3 -35
  664. package/dist/unstable/cluster/Runner.js.map +1 -1
  665. package/dist/unstable/cluster/RunnerAddress.d.ts +4 -32
  666. package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
  667. package/dist/unstable/cluster/RunnerAddress.js +4 -32
  668. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  669. package/dist/unstable/cluster/RunnerHealth.d.ts +6 -35
  670. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  671. package/dist/unstable/cluster/RunnerHealth.js +6 -35
  672. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  673. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  674. package/dist/unstable/cluster/RunnerServer.js +8 -23
  675. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  676. package/dist/unstable/cluster/RunnerStorage.d.ts +6 -21
  677. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  678. package/dist/unstable/cluster/RunnerStorage.js +6 -21
  679. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  680. package/dist/unstable/cluster/Runners.d.ts +8 -29
  681. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  682. package/dist/unstable/cluster/Runners.js +7 -28
  683. package/dist/unstable/cluster/Runners.js.map +1 -1
  684. package/dist/unstable/cluster/ShardId.d.ts +0 -17
  685. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  686. package/dist/unstable/cluster/ShardId.js +0 -17
  687. package/dist/unstable/cluster/ShardId.js.map +1 -1
  688. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  689. package/dist/unstable/cluster/Sharding.js +7 -39
  690. package/dist/unstable/cluster/Sharding.js.map +1 -1
  691. package/dist/unstable/cluster/ShardingConfig.d.ts +7 -34
  692. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  693. package/dist/unstable/cluster/ShardingConfig.js +8 -35
  694. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  695. package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts +0 -22
  696. package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts.map +1 -1
  697. package/dist/unstable/cluster/ShardingRegistrationEvent.js +0 -22
  698. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  699. package/dist/unstable/cluster/SingleRunner.d.ts +8 -21
  700. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  701. package/dist/unstable/cluster/SingleRunner.js +8 -21
  702. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  703. package/dist/unstable/cluster/Singleton.d.ts +0 -23
  704. package/dist/unstable/cluster/Singleton.d.ts.map +1 -1
  705. package/dist/unstable/cluster/Singleton.js +0 -23
  706. package/dist/unstable/cluster/Singleton.js.map +1 -1
  707. package/dist/unstable/cluster/SingletonAddress.d.ts +0 -22
  708. package/dist/unstable/cluster/SingletonAddress.d.ts.map +1 -1
  709. package/dist/unstable/cluster/SingletonAddress.js +0 -22
  710. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  711. package/dist/unstable/cluster/Snowflake.d.ts +8 -17
  712. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  713. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  714. package/dist/unstable/cluster/SocketRunner.d.ts.map +1 -1
  715. package/dist/unstable/cluster/SocketRunner.js +6 -19
  716. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  717. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  718. package/dist/unstable/cluster/SqlMessageStorage.js +7 -36
  719. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  720. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  721. package/dist/unstable/cluster/SqlRunnerStorage.js +6 -27
  722. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  723. package/dist/unstable/cluster/TestRunner.d.ts +0 -21
  724. package/dist/unstable/cluster/TestRunner.d.ts.map +1 -1
  725. package/dist/unstable/cluster/TestRunner.js +0 -21
  726. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  727. package/dist/unstable/cluster/internal/entityManager.js +18 -6
  728. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  729. package/dist/unstable/devtools/DevTools.d.ts +0 -17
  730. package/dist/unstable/devtools/DevTools.d.ts.map +1 -1
  731. package/dist/unstable/devtools/DevTools.js +0 -17
  732. package/dist/unstable/devtools/DevTools.js.map +1 -1
  733. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  734. package/dist/unstable/devtools/DevToolsClient.js +0 -24
  735. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  736. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  737. package/dist/unstable/devtools/DevToolsSchema.js +0 -17
  738. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  739. package/dist/unstable/devtools/DevToolsServer.d.ts +0 -13
  740. package/dist/unstable/devtools/DevToolsServer.d.ts.map +1 -1
  741. package/dist/unstable/devtools/DevToolsServer.js +0 -13
  742. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  743. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  744. package/dist/unstable/encoding/Msgpack.js +5 -28
  745. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  746. package/dist/unstable/encoding/Ndjson.d.ts +4 -28
  747. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  748. package/dist/unstable/encoding/Ndjson.js +4 -28
  749. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  750. package/dist/unstable/encoding/Sse.d.ts +6 -37
  751. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  752. package/dist/unstable/encoding/Sse.js.map +1 -1
  753. package/dist/unstable/eventlog/Event.d.ts.map +1 -1
  754. package/dist/unstable/eventlog/Event.js +3 -25
  755. package/dist/unstable/eventlog/Event.js.map +1 -1
  756. package/dist/unstable/eventlog/EventGroup.d.ts +6 -21
  757. package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
  758. package/dist/unstable/eventlog/EventGroup.js +6 -21
  759. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  760. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  761. package/dist/unstable/eventlog/EventJournal.js +9 -32
  762. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  763. package/dist/unstable/eventlog/EventLog.d.ts +6 -28
  764. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  765. package/dist/unstable/eventlog/EventLog.js +6 -28
  766. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  767. package/dist/unstable/eventlog/EventLogEncryption.d.ts +5 -18
  768. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  769. package/dist/unstable/eventlog/EventLogEncryption.js +5 -18
  770. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  771. package/dist/unstable/eventlog/EventLogMessage.d.ts +4 -20
  772. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  773. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  774. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  775. package/dist/unstable/eventlog/EventLogRemote.js +7 -17
  776. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  777. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  778. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  779. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  780. package/dist/unstable/eventlog/EventLogServerEncrypted.js +8 -19
  781. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  782. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  783. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +7 -35
  784. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  785. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -1
  786. package/dist/unstable/eventlog/EventLogSessionAuth.js +6 -35
  787. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  788. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  789. package/dist/unstable/eventlog/SqlEventJournal.js +0 -26
  790. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  791. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts +6 -39
  792. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
  793. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +6 -39
  794. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  795. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  796. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +0 -29
  797. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  798. package/dist/unstable/http/Cookies.d.ts +7 -59
  799. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  800. package/dist/unstable/http/Cookies.js +7 -59
  801. package/dist/unstable/http/Cookies.js.map +1 -1
  802. package/dist/unstable/http/Etag.d.ts +0 -22
  803. package/dist/unstable/http/Etag.d.ts.map +1 -1
  804. package/dist/unstable/http/Etag.js +0 -22
  805. package/dist/unstable/http/Etag.js.map +1 -1
  806. package/dist/unstable/http/FetchHttpClient.d.ts +0 -23
  807. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  808. package/dist/unstable/http/FetchHttpClient.js +0 -23
  809. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  810. package/dist/unstable/http/FindMyWay.d.ts +6 -0
  811. package/dist/unstable/http/FindMyWay.d.ts.map +1 -1
  812. package/dist/unstable/http/FindMyWay.js +6 -0
  813. package/dist/unstable/http/FindMyWay.js.map +1 -1
  814. package/dist/unstable/http/Headers.d.ts +6 -52
  815. package/dist/unstable/http/Headers.d.ts.map +1 -1
  816. package/dist/unstable/http/Headers.js +9 -53
  817. package/dist/unstable/http/Headers.js.map +1 -1
  818. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  819. package/dist/unstable/http/HttpBody.js +9 -53
  820. package/dist/unstable/http/HttpBody.js.map +1 -1
  821. package/dist/unstable/http/HttpClient.d.ts +9 -34
  822. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  823. package/dist/unstable/http/HttpClient.js.map +1 -1
  824. package/dist/unstable/http/HttpClientError.d.ts.map +1 -1
  825. package/dist/unstable/http/HttpClientError.js +0 -20
  826. package/dist/unstable/http/HttpClientError.js.map +1 -1
  827. package/dist/unstable/http/HttpClientRequest.d.ts +4 -35
  828. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  829. package/dist/unstable/http/HttpClientRequest.js +4 -35
  830. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  831. package/dist/unstable/http/HttpClientResponse.d.ts +6 -34
  832. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  833. package/dist/unstable/http/HttpClientResponse.js +6 -34
  834. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  835. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  836. package/dist/unstable/http/HttpEffect.js.map +1 -1
  837. package/dist/unstable/http/HttpIncomingMessage.d.ts +6 -22
  838. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  839. package/dist/unstable/http/HttpIncomingMessage.js +6 -22
  840. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  841. package/dist/unstable/http/HttpMethod.d.ts +5 -29
  842. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  843. package/dist/unstable/http/HttpMethod.js +5 -29
  844. package/dist/unstable/http/HttpMethod.js.map +1 -1
  845. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  846. package/dist/unstable/http/HttpMiddleware.js +6 -19
  847. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  848. package/dist/unstable/http/HttpPlatform.d.ts +0 -13
  849. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  850. package/dist/unstable/http/HttpPlatform.js +0 -13
  851. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  852. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  853. package/dist/unstable/http/HttpRouter.js +7 -39
  854. package/dist/unstable/http/HttpRouter.js.map +1 -1
  855. package/dist/unstable/http/HttpServer.d.ts +6 -29
  856. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  857. package/dist/unstable/http/HttpServer.js +6 -29
  858. package/dist/unstable/http/HttpServer.js.map +1 -1
  859. package/dist/unstable/http/HttpServerError.d.ts +6 -30
  860. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  861. package/dist/unstable/http/HttpServerError.js +6 -30
  862. package/dist/unstable/http/HttpServerError.js.map +1 -1
  863. package/dist/unstable/http/HttpServerRequest.d.ts +8 -33
  864. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  865. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  866. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  867. package/dist/unstable/http/HttpServerRespondable.js +5 -29
  868. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  869. package/dist/unstable/http/HttpServerResponse.d.ts +8 -41
  870. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  871. package/dist/unstable/http/HttpServerResponse.js +8 -41
  872. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  873. package/dist/unstable/http/HttpStaticServer.d.ts +6 -31
  874. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  875. package/dist/unstable/http/HttpStaticServer.js +6 -31
  876. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  877. package/dist/unstable/http/HttpTraceContext.d.ts +0 -24
  878. package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
  879. package/dist/unstable/http/HttpTraceContext.js +0 -24
  880. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  881. package/dist/unstable/http/Multipart.d.ts +6 -35
  882. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  883. package/dist/unstable/http/Multipart.js +6 -35
  884. package/dist/unstable/http/Multipart.js.map +1 -1
  885. package/dist/unstable/http/Multipasta/HeadersParser.d.ts +5 -0
  886. package/dist/unstable/http/Multipasta/HeadersParser.d.ts.map +1 -1
  887. package/dist/unstable/http/Multipasta/HeadersParser.js +5 -0
  888. package/dist/unstable/http/Multipasta/HeadersParser.js.map +1 -1
  889. package/dist/unstable/http/Multipasta/Node.d.ts +5 -0
  890. package/dist/unstable/http/Multipasta/Node.d.ts.map +1 -1
  891. package/dist/unstable/http/Multipasta/Node.js +5 -0
  892. package/dist/unstable/http/Multipasta/Node.js.map +1 -1
  893. package/dist/unstable/http/Multipasta/Search.d.ts +5 -0
  894. package/dist/unstable/http/Multipasta/Search.d.ts.map +1 -1
  895. package/dist/unstable/http/Multipasta/Search.js +5 -0
  896. package/dist/unstable/http/Multipasta/Search.js.map +1 -1
  897. package/dist/unstable/http/Multipasta/Web.d.ts +5 -0
  898. package/dist/unstable/http/Multipasta/Web.d.ts.map +1 -1
  899. package/dist/unstable/http/Multipasta/Web.js +5 -0
  900. package/dist/unstable/http/Multipasta/Web.js.map +1 -1
  901. package/dist/unstable/http/Multipasta.d.ts +6 -0
  902. package/dist/unstable/http/Multipasta.d.ts.map +1 -1
  903. package/dist/unstable/http/Multipasta.js +6 -0
  904. package/dist/unstable/http/Multipasta.js.map +1 -1
  905. package/dist/unstable/http/Template.d.ts +5 -26
  906. package/dist/unstable/http/Template.d.ts.map +1 -1
  907. package/dist/unstable/http/Template.js +5 -26
  908. package/dist/unstable/http/Template.js.map +1 -1
  909. package/dist/unstable/http/Url.d.ts +5 -28
  910. package/dist/unstable/http/Url.d.ts.map +1 -1
  911. package/dist/unstable/http/Url.js +5 -28
  912. package/dist/unstable/http/Url.js.map +1 -1
  913. package/dist/unstable/http/UrlParams.d.ts +4 -32
  914. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  915. package/dist/unstable/http/UrlParams.js +4 -32
  916. package/dist/unstable/http/UrlParams.js.map +1 -1
  917. package/dist/unstable/httpapi/HttpApi.d.ts +5 -45
  918. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  919. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  920. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  921. package/dist/unstable/httpapi/HttpApiBuilder.js +5 -39
  922. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  923. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  924. package/dist/unstable/httpapi/HttpApiClient.js +20 -43
  925. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  926. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  927. package/dist/unstable/httpapi/HttpApiEndpoint.js +9 -51
  928. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  929. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  930. package/dist/unstable/httpapi/HttpApiError.js +1 -32
  931. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  932. package/dist/unstable/httpapi/HttpApiGroup.d.ts +8 -34
  933. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  934. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  935. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +9 -48
  936. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  937. package/dist/unstable/httpapi/HttpApiMiddleware.js +9 -48
  938. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  939. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  940. package/dist/unstable/httpapi/HttpApiScalar.js +0 -24
  941. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  942. package/dist/unstable/httpapi/HttpApiSchema.d.ts +0 -32
  943. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  944. package/dist/unstable/httpapi/HttpApiSchema.js +0 -32
  945. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  946. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +0 -29
  947. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  948. package/dist/unstable/httpapi/HttpApiSecurity.js +0 -29
  949. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  950. package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
  951. package/dist/unstable/httpapi/HttpApiSwagger.js +0 -24
  952. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  953. package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
  954. package/dist/unstable/httpapi/HttpApiTest.js +5 -18
  955. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  956. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  957. package/dist/unstable/httpapi/OpenApi.js +5 -39
  958. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  959. package/dist/unstable/observability/Otlp.d.ts +5 -32
  960. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  961. package/dist/unstable/observability/Otlp.js.map +1 -1
  962. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  963. package/dist/unstable/observability/OtlpExporter.js +5 -22
  964. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  965. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  966. package/dist/unstable/observability/OtlpLogger.js +6 -32
  967. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  968. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  969. package/dist/unstable/observability/OtlpMetrics.js +11 -23
  970. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  971. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  972. package/dist/unstable/observability/OtlpResource.js +5 -35
  973. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  974. package/dist/unstable/observability/OtlpSerialization.d.ts +4 -26
  975. package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
  976. package/dist/unstable/observability/OtlpSerialization.js +4 -26
  977. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  978. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  979. package/dist/unstable/observability/OtlpTracer.js +10 -24
  980. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  981. package/dist/unstable/observability/PrometheusMetrics.d.ts +4 -41
  982. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  983. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  984. package/dist/unstable/observability/internal/otlpEnv.d.ts +1 -1
  985. package/dist/unstable/observability/internal/otlpEnv.d.ts.map +1 -1
  986. package/dist/unstable/observability/internal/otlpEnv.js +9 -23
  987. package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
  988. package/dist/unstable/persistence/KeyValueStore.d.ts +8 -20
  989. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  990. package/dist/unstable/persistence/KeyValueStore.js +7 -19
  991. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  992. package/dist/unstable/persistence/Persistable.d.ts +5 -19
  993. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  994. package/dist/unstable/persistence/Persistable.js.map +1 -1
  995. package/dist/unstable/persistence/PersistedCache.d.ts +5 -28
  996. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  997. package/dist/unstable/persistence/PersistedCache.js +5 -28
  998. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  999. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  1000. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1001. package/dist/unstable/persistence/Persistence.d.ts +6 -22
  1002. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1003. package/dist/unstable/persistence/Persistence.js +5 -21
  1004. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1005. package/dist/unstable/persistence/RateLimiter.d.ts +8 -24
  1006. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1007. package/dist/unstable/persistence/RateLimiter.js +22 -39
  1008. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1009. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  1010. package/dist/unstable/persistence/Redis.js +10 -33
  1011. package/dist/unstable/persistence/Redis.js.map +1 -1
  1012. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1013. package/dist/unstable/process/ChildProcess.js +6 -38
  1014. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1015. package/dist/unstable/process/ChildProcessSpawner.d.ts +7 -15
  1016. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1017. package/dist/unstable/process/ChildProcessSpawner.js +7 -15
  1018. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1019. package/dist/unstable/reactivity/AsyncResult.d.ts +8 -40
  1020. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1021. package/dist/unstable/reactivity/AsyncResult.js +8 -40
  1022. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1023. package/dist/unstable/reactivity/Atom.d.ts +8 -36
  1024. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1025. package/dist/unstable/reactivity/Atom.js +8 -36
  1026. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1027. package/dist/unstable/reactivity/AtomHttpApi.d.ts +6 -25
  1028. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1029. package/dist/unstable/reactivity/AtomHttpApi.js +6 -25
  1030. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1031. package/dist/unstable/reactivity/AtomRef.d.ts +4 -29
  1032. package/dist/unstable/reactivity/AtomRef.d.ts.map +1 -1
  1033. package/dist/unstable/reactivity/AtomRef.js +4 -29
  1034. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1035. package/dist/unstable/reactivity/AtomRegistry.d.ts +7 -74
  1036. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  1037. package/dist/unstable/reactivity/AtomRegistry.js +6 -73
  1038. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1039. package/dist/unstable/reactivity/AtomRpc.d.ts +6 -20
  1040. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1041. package/dist/unstable/reactivity/AtomRpc.js +6 -20
  1042. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1043. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -1
  1044. package/dist/unstable/reactivity/Hydration.js +8 -31
  1045. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1046. package/dist/unstable/reactivity/Reactivity.d.ts +6 -37
  1047. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  1048. package/dist/unstable/reactivity/Reactivity.js +6 -37
  1049. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1050. package/dist/unstable/rpc/Rpc.d.ts +8 -40
  1051. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1052. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1053. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1054. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1055. package/dist/unstable/rpc/RpcClientError.d.ts +0 -23
  1056. package/dist/unstable/rpc/RpcClientError.d.ts.map +1 -1
  1057. package/dist/unstable/rpc/RpcClientError.js +0 -23
  1058. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1059. package/dist/unstable/rpc/RpcGroup.d.ts +5 -30
  1060. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  1061. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1062. package/dist/unstable/rpc/RpcMessage.d.ts +0 -26
  1063. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1064. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1065. package/dist/unstable/rpc/RpcMiddleware.d.ts +0 -28
  1066. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  1067. package/dist/unstable/rpc/RpcMiddleware.js +0 -28
  1068. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1069. package/dist/unstable/rpc/RpcSchema.d.ts +0 -25
  1070. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  1071. package/dist/unstable/rpc/RpcSchema.js +0 -25
  1072. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1073. package/dist/unstable/rpc/RpcSerialization.d.ts +7 -33
  1074. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1075. package/dist/unstable/rpc/RpcSerialization.js +6 -32
  1076. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1077. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  1078. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1079. package/dist/unstable/rpc/RpcTest.d.ts +0 -24
  1080. package/dist/unstable/rpc/RpcTest.d.ts.map +1 -1
  1081. package/dist/unstable/rpc/RpcTest.js +0 -24
  1082. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1083. package/dist/unstable/rpc/RpcWorker.d.ts +6 -30
  1084. package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
  1085. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1086. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  1087. package/dist/unstable/rpc/Utils.js.map +1 -1
  1088. package/dist/unstable/schema/Model.d.ts +20 -3
  1089. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1090. package/dist/unstable/schema/Model.js +18 -17
  1091. package/dist/unstable/schema/Model.js.map +1 -1
  1092. package/dist/unstable/schema/VariantSchema.d.ts +5 -17
  1093. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1094. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1095. package/dist/unstable/socket/Socket.d.ts +6 -21
  1096. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1097. package/dist/unstable/socket/Socket.js.map +1 -1
  1098. package/dist/unstable/socket/SocketServer.d.ts +6 -20
  1099. package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
  1100. package/dist/unstable/socket/SocketServer.js +6 -20
  1101. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1102. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  1103. package/dist/unstable/sql/Migrator.js +5 -40
  1104. package/dist/unstable/sql/Migrator.js.map +1 -1
  1105. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1106. package/dist/unstable/sql/SqlClient.js +5 -19
  1107. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1108. package/dist/unstable/sql/SqlConnection.d.ts +6 -18
  1109. package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
  1110. package/dist/unstable/sql/SqlConnection.js +6 -18
  1111. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1112. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  1113. package/dist/unstable/sql/SqlError.js +7 -32
  1114. package/dist/unstable/sql/SqlError.js.map +1 -1
  1115. package/dist/unstable/sql/SqlModel.d.ts +6 -14
  1116. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  1117. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1118. package/dist/unstable/sql/SqlResolver.d.ts +6 -23
  1119. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  1120. package/dist/unstable/sql/SqlResolver.js +6 -23
  1121. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1122. package/dist/unstable/sql/SqlSchema.d.ts +3 -27
  1123. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  1124. package/dist/unstable/sql/SqlSchema.js +3 -27
  1125. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1126. package/dist/unstable/sql/SqlStream.d.ts.map +1 -1
  1127. package/dist/unstable/sql/SqlStream.js +0 -10
  1128. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1129. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1130. package/dist/unstable/sql/Statement.js +6 -34
  1131. package/dist/unstable/sql/Statement.js.map +1 -1
  1132. package/dist/unstable/workers/Transferable.d.ts +0 -21
  1133. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  1134. package/dist/unstable/workers/Transferable.js +0 -21
  1135. package/dist/unstable/workers/Transferable.js.map +1 -1
  1136. package/dist/unstable/workers/Worker.d.ts +6 -34
  1137. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  1138. package/dist/unstable/workers/Worker.js +6 -34
  1139. package/dist/unstable/workers/Worker.js.map +1 -1
  1140. package/dist/unstable/workers/WorkerError.d.ts.map +1 -1
  1141. package/dist/unstable/workers/WorkerError.js +4 -33
  1142. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1143. package/dist/unstable/workers/WorkerRunner.d.ts +5 -30
  1144. package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
  1145. package/dist/unstable/workers/WorkerRunner.js +5 -30
  1146. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1147. package/dist/unstable/workflow/Activity.d.ts +5 -18
  1148. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  1149. package/dist/unstable/workflow/Activity.js.map +1 -1
  1150. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  1151. package/dist/unstable/workflow/DurableClock.js +5 -24
  1152. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1153. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  1154. package/dist/unstable/workflow/DurableDeferred.js +6 -18
  1155. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1156. package/dist/unstable/workflow/DurableQueue.d.ts +0 -25
  1157. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1158. package/dist/unstable/workflow/DurableQueue.js +0 -25
  1159. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1160. package/dist/unstable/workflow/Workflow.d.ts +1 -1
  1161. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1162. package/dist/unstable/workflow/Workflow.js +7 -19
  1163. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1164. package/dist/unstable/workflow/WorkflowEngine.d.ts +8 -20
  1165. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  1166. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1167. package/dist/unstable/workflow/WorkflowProxy.d.ts +7 -23
  1168. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1169. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1170. package/dist/unstable/workflow/WorkflowProxyServer.d.ts +6 -23
  1171. package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
  1172. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1173. package/package.json +1 -1
  1174. package/src/Array.ts +6 -81
  1175. package/src/BigDecimal.ts +5 -55
  1176. package/src/BigInt.ts +5 -64
  1177. package/src/Boolean.ts +5 -52
  1178. package/src/Brand.ts +0 -44
  1179. package/src/Cache.ts +5 -44
  1180. package/src/Cause.ts +6 -72
  1181. package/src/Channel.ts +6 -67
  1182. package/src/ChannelSchema.ts +5 -41
  1183. package/src/Chunk.ts +6 -67
  1184. package/src/Clock.ts +4 -56
  1185. package/src/Combiner.ts +6 -57
  1186. package/src/Config.ts +5 -69
  1187. package/src/ConfigProvider.ts +6 -75
  1188. package/src/Console.ts +6 -70
  1189. package/src/Context.ts +8 -47
  1190. package/src/Cron.ts +5 -41
  1191. package/src/Crypto.ts +6 -50
  1192. package/src/Data.ts +5 -72
  1193. package/src/DateTime.ts +8 -48
  1194. package/src/Deferred.ts +5 -58
  1195. package/src/Differ.ts +4 -35
  1196. package/src/Duration.ts +6 -46
  1197. package/src/Effect.ts +227 -103
  1198. package/src/Effectable.ts +4 -34
  1199. package/src/Encoding.ts +5 -46
  1200. package/src/Equal.ts +6 -66
  1201. package/src/Equivalence.ts +6 -48
  1202. package/src/ErrorReporter.ts +8 -47
  1203. package/src/ExecutionPlan.ts +6 -79
  1204. package/src/Exit.ts +6 -53
  1205. package/src/Fiber.ts +5 -52
  1206. package/src/FiberHandle.ts +8 -38
  1207. package/src/FiberMap.ts +7 -34
  1208. package/src/FiberSet.ts +6 -36
  1209. package/src/FileSystem.ts +8 -51
  1210. package/src/Filter.ts +8 -33
  1211. package/src/Formatter.ts +6 -49
  1212. package/src/Function.ts +5 -43
  1213. package/src/Graph.ts +79 -61
  1214. package/src/HKT.ts +6 -48
  1215. package/src/Hash.ts +7 -49
  1216. package/src/HashMap.ts +6 -69
  1217. package/src/HashRing.ts +6 -56
  1218. package/src/HashSet.ts +7 -36
  1219. package/src/Inspectable.ts +6 -60
  1220. package/src/Iterable.ts +5 -50
  1221. package/src/JsonPatch.ts +0 -53
  1222. package/src/JsonPointer.ts +4 -49
  1223. package/src/JsonSchema.ts +6 -82
  1224. package/src/Latch.ts +5 -31
  1225. package/src/Layer.ts +6 -38
  1226. package/src/LayerMap.ts +7 -32
  1227. package/src/LogLevel.ts +4 -35
  1228. package/src/Logger.ts +6 -80
  1229. package/src/ManagedRuntime.ts +6 -36
  1230. package/src/Match.ts +8 -42
  1231. package/src/Metric.ts +8 -81
  1232. package/src/MutableHashMap.ts +6 -35
  1233. package/src/MutableHashSet.ts +5 -63
  1234. package/src/MutableList.ts +6 -46
  1235. package/src/MutableRef.ts +7 -30
  1236. package/src/Newtype.ts +8 -61
  1237. package/src/NonEmptyIterable.ts +0 -135
  1238. package/src/Number.ts +4 -55
  1239. package/src/Optic.ts +9 -91
  1240. package/src/Option.ts +8 -69
  1241. package/src/Order.ts +8 -76
  1242. package/src/Ordering.ts +5 -31
  1243. package/src/PartitionedSemaphore.ts +0 -28
  1244. package/src/Path.ts +7 -29
  1245. package/src/Pipeable.ts +0 -11
  1246. package/src/PlatformError.ts +7 -29
  1247. package/src/Pool.ts +6 -42
  1248. package/src/Predicate.ts +6 -61
  1249. package/src/PrimaryKey.ts +0 -40
  1250. package/src/PubSub.ts +8 -56
  1251. package/src/Pull.ts +8 -25
  1252. package/src/Queue.ts +5 -62
  1253. package/src/Random.ts +18 -114
  1254. package/src/RcMap.ts +9 -17
  1255. package/src/RcRef.ts +6 -36
  1256. package/src/Record.ts +6 -71
  1257. package/src/Redactable.ts +0 -58
  1258. package/src/Redacted.ts +8 -41
  1259. package/src/Reducer.ts +5 -64
  1260. package/src/Ref.ts +8 -49
  1261. package/src/References.ts +0 -49
  1262. package/src/RegExp.ts +0 -26
  1263. package/src/Request.ts +6 -41
  1264. package/src/RequestResolver.ts +6 -41
  1265. package/src/Resource.ts +5 -30
  1266. package/src/Result.ts +6 -64
  1267. package/src/Runtime.ts +7 -55
  1268. package/src/Schedule.ts +5 -61
  1269. package/src/Scheduler.ts +6 -17
  1270. package/src/Schema.ts +697 -397
  1271. package/src/SchemaAST.ts +115 -91
  1272. package/src/SchemaGetter.ts +9 -83
  1273. package/src/SchemaIssue.ts +8 -76
  1274. package/src/SchemaParser.ts +27 -43
  1275. package/src/SchemaRepresentation.ts +10 -84
  1276. package/src/SchemaTransformation.ts +9 -82
  1277. package/src/SchemaUtils.ts +5 -33
  1278. package/src/Scope.ts +6 -41
  1279. package/src/ScopedCache.ts +8 -23
  1280. package/src/ScopedRef.ts +6 -18
  1281. package/src/Semaphore.ts +8 -30
  1282. package/src/Sink.ts +6 -29
  1283. package/src/Stdio.ts +7 -26
  1284. package/src/Stream.ts +8 -79
  1285. package/src/String.ts +5 -63
  1286. package/src/Struct.ts +9 -71
  1287. package/src/SubscriptionRef.ts +6 -53
  1288. package/src/Symbol.ts +0 -17
  1289. package/src/SynchronizedRef.ts +8 -21
  1290. package/src/Take.ts +0 -24
  1291. package/src/Terminal.ts +7 -28
  1292. package/src/Tracer.ts +6 -36
  1293. package/src/Trie.ts +6 -49
  1294. package/src/Tuple.ts +8 -66
  1295. package/src/TxChunk.ts +8 -40
  1296. package/src/TxDeferred.ts +0 -18
  1297. package/src/TxHashMap.ts +6 -23
  1298. package/src/TxHashSet.ts +10 -19
  1299. package/src/TxPriorityQueue.ts +9 -29
  1300. package/src/TxPubSub.ts +6 -44
  1301. package/src/TxQueue.ts +8 -48
  1302. package/src/TxReentrantLock.ts +8 -40
  1303. package/src/TxRef.ts +9 -59
  1304. package/src/TxSemaphore.ts +6 -34
  1305. package/src/TxSubscriptionRef.ts +7 -35
  1306. package/src/Types.ts +6 -48
  1307. package/src/UndefinedOr.ts +8 -55
  1308. package/src/Unify.ts +8 -29
  1309. package/src/Utils.ts +28 -68
  1310. package/src/internal/effect.ts +9 -8
  1311. package/src/internal/option.ts +31 -26
  1312. package/src/internal/schema/arbitrary.ts +740 -173
  1313. package/src/internal/schema/representation.ts +1 -1
  1314. package/src/testing/FastCheck.ts +5 -6
  1315. package/src/testing/TestClock.ts +8 -23
  1316. package/src/testing/TestConsole.ts +7 -36
  1317. package/src/testing/TestSchema.ts +6 -63
  1318. package/src/unstable/ai/AiError.ts +9 -78
  1319. package/src/unstable/ai/AnthropicStructuredOutput.ts +7 -32
  1320. package/src/unstable/ai/Chat.ts +0 -46
  1321. package/src/unstable/ai/EmbeddingModel.ts +8 -45
  1322. package/src/unstable/ai/IdGenerator.ts +6 -44
  1323. package/src/unstable/ai/LanguageModel.ts +9 -48
  1324. package/src/unstable/ai/McpSchema.ts +8 -27
  1325. package/src/unstable/ai/McpServer.ts +7 -21
  1326. package/src/unstable/ai/Model.ts +8 -49
  1327. package/src/unstable/ai/OpenAiStructuredOutput.ts +9 -49
  1328. package/src/unstable/ai/Prompt.ts +6 -50
  1329. package/src/unstable/ai/Response.ts +8 -49
  1330. package/src/unstable/ai/ResponseIdTracker.ts +0 -26
  1331. package/src/unstable/ai/Telemetry.ts +6 -30
  1332. package/src/unstable/ai/Tokenizer.ts +8 -46
  1333. package/src/unstable/ai/Tool.ts +9 -54
  1334. package/src/unstable/ai/Toolkit.ts +6 -75
  1335. package/src/unstable/cli/Argument.ts +6 -20
  1336. package/src/unstable/cli/CliError.ts +8 -23
  1337. package/src/unstable/cli/CliOutput.ts +6 -19
  1338. package/src/unstable/cli/Command.ts +8 -27
  1339. package/src/unstable/cli/Completions.ts +0 -24
  1340. package/src/unstable/cli/Flag.ts +8 -18
  1341. package/src/unstable/cli/GlobalFlag.ts +10 -22
  1342. package/src/unstable/cli/HelpDoc.ts +6 -19
  1343. package/src/unstable/cli/Param.ts +8 -25
  1344. package/src/unstable/cli/Primitive.ts +8 -58
  1345. package/src/unstable/cli/Prompt.ts +8 -23
  1346. package/src/unstable/cluster/ClusterCron.ts +6 -26
  1347. package/src/unstable/cluster/ClusterError.ts +5 -40
  1348. package/src/unstable/cluster/ClusterMetrics.ts +6 -20
  1349. package/src/unstable/cluster/ClusterSchema.ts +0 -38
  1350. package/src/unstable/cluster/ClusterWorkflowEngine.ts +0 -16
  1351. package/src/unstable/cluster/DeliverAt.ts +0 -17
  1352. package/src/unstable/cluster/Entity.ts +8 -31
  1353. package/src/unstable/cluster/EntityAddress.ts +0 -13
  1354. package/src/unstable/cluster/EntityId.ts +0 -24
  1355. package/src/unstable/cluster/EntityProxy.ts +6 -20
  1356. package/src/unstable/cluster/EntityProxyServer.ts +7 -19
  1357. package/src/unstable/cluster/EntityResource.ts +8 -22
  1358. package/src/unstable/cluster/EntityType.ts +0 -13
  1359. package/src/unstable/cluster/Envelope.ts +7 -22
  1360. package/src/unstable/cluster/HttpRunner.ts +5 -32
  1361. package/src/unstable/cluster/K8sHttpClient.ts +0 -32
  1362. package/src/unstable/cluster/MachineId.ts +0 -20
  1363. package/src/unstable/cluster/Message.ts +7 -23
  1364. package/src/unstable/cluster/MessageStorage.ts +7 -36
  1365. package/src/unstable/cluster/Reply.ts +7 -19
  1366. package/src/unstable/cluster/Runner.ts +3 -35
  1367. package/src/unstable/cluster/RunnerAddress.ts +4 -32
  1368. package/src/unstable/cluster/RunnerHealth.ts +6 -35
  1369. package/src/unstable/cluster/RunnerServer.ts +8 -23
  1370. package/src/unstable/cluster/RunnerStorage.ts +6 -21
  1371. package/src/unstable/cluster/Runners.ts +7 -28
  1372. package/src/unstable/cluster/ShardId.ts +0 -17
  1373. package/src/unstable/cluster/Sharding.ts +7 -39
  1374. package/src/unstable/cluster/ShardingConfig.ts +7 -34
  1375. package/src/unstable/cluster/ShardingRegistrationEvent.ts +0 -22
  1376. package/src/unstable/cluster/SingleRunner.ts +7 -20
  1377. package/src/unstable/cluster/Singleton.ts +0 -23
  1378. package/src/unstable/cluster/SingletonAddress.ts +0 -22
  1379. package/src/unstable/cluster/Snowflake.ts +7 -16
  1380. package/src/unstable/cluster/SocketRunner.ts +6 -19
  1381. package/src/unstable/cluster/SqlMessageStorage.ts +7 -36
  1382. package/src/unstable/cluster/SqlRunnerStorage.ts +6 -27
  1383. package/src/unstable/cluster/TestRunner.ts +0 -21
  1384. package/src/unstable/cluster/internal/entityManager.ts +23 -5
  1385. package/src/unstable/devtools/DevTools.ts +0 -17
  1386. package/src/unstable/devtools/DevToolsClient.ts +0 -24
  1387. package/src/unstable/devtools/DevToolsSchema.ts +0 -17
  1388. package/src/unstable/devtools/DevToolsServer.ts +0 -13
  1389. package/src/unstable/encoding/Msgpack.ts +5 -28
  1390. package/src/unstable/encoding/Ndjson.ts +4 -28
  1391. package/src/unstable/encoding/Sse.ts +6 -37
  1392. package/src/unstable/eventlog/Event.ts +3 -25
  1393. package/src/unstable/eventlog/EventGroup.ts +6 -21
  1394. package/src/unstable/eventlog/EventJournal.ts +9 -32
  1395. package/src/unstable/eventlog/EventLog.ts +6 -28
  1396. package/src/unstable/eventlog/EventLogEncryption.ts +5 -18
  1397. package/src/unstable/eventlog/EventLogMessage.ts +4 -20
  1398. package/src/unstable/eventlog/EventLogRemote.ts +7 -17
  1399. package/src/unstable/eventlog/EventLogServer.ts +3 -26
  1400. package/src/unstable/eventlog/EventLogServerEncrypted.ts +7 -18
  1401. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +7 -35
  1402. package/src/unstable/eventlog/EventLogSessionAuth.ts +6 -35
  1403. package/src/unstable/eventlog/SqlEventJournal.ts +0 -26
  1404. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +6 -39
  1405. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +0 -29
  1406. package/src/unstable/http/Cookies.ts +6 -58
  1407. package/src/unstable/http/Etag.ts +0 -22
  1408. package/src/unstable/http/FetchHttpClient.ts +0 -23
  1409. package/src/unstable/http/FindMyWay.ts +6 -0
  1410. package/src/unstable/http/Headers.ts +9 -54
  1411. package/src/unstable/http/HttpBody.ts +9 -53
  1412. package/src/unstable/http/HttpClient.ts +9 -34
  1413. package/src/unstable/http/HttpClientError.ts +0 -20
  1414. package/src/unstable/http/HttpClientRequest.ts +4 -35
  1415. package/src/unstable/http/HttpClientResponse.ts +6 -34
  1416. package/src/unstable/http/HttpEffect.ts +5 -33
  1417. package/src/unstable/http/HttpIncomingMessage.ts +6 -22
  1418. package/src/unstable/http/HttpMethod.ts +5 -29
  1419. package/src/unstable/http/HttpMiddleware.ts +6 -19
  1420. package/src/unstable/http/HttpPlatform.ts +0 -13
  1421. package/src/unstable/http/HttpRouter.ts +7 -39
  1422. package/src/unstable/http/HttpServer.ts +6 -29
  1423. package/src/unstable/http/HttpServerError.ts +6 -30
  1424. package/src/unstable/http/HttpServerRequest.ts +7 -32
  1425. package/src/unstable/http/HttpServerRespondable.ts +5 -29
  1426. package/src/unstable/http/HttpServerResponse.ts +8 -41
  1427. package/src/unstable/http/HttpStaticServer.ts +6 -31
  1428. package/src/unstable/http/HttpTraceContext.ts +0 -24
  1429. package/src/unstable/http/Multipart.ts +6 -35
  1430. package/src/unstable/http/Multipasta/HeadersParser.ts +5 -0
  1431. package/src/unstable/http/Multipasta/Node.ts +5 -0
  1432. package/src/unstable/http/Multipasta/Search.ts +5 -0
  1433. package/src/unstable/http/Multipasta/Web.ts +5 -0
  1434. package/src/unstable/http/Multipasta.ts +6 -0
  1435. package/src/unstable/http/Template.ts +5 -26
  1436. package/src/unstable/http/Url.ts +5 -28
  1437. package/src/unstable/http/UrlParams.ts +4 -32
  1438. package/src/unstable/httpapi/HttpApi.ts +5 -45
  1439. package/src/unstable/httpapi/HttpApiBuilder.ts +5 -39
  1440. package/src/unstable/httpapi/HttpApiClient.ts +20 -43
  1441. package/src/unstable/httpapi/HttpApiEndpoint.ts +9 -51
  1442. package/src/unstable/httpapi/HttpApiError.ts +1 -32
  1443. package/src/unstable/httpapi/HttpApiGroup.ts +8 -34
  1444. package/src/unstable/httpapi/HttpApiMiddleware.ts +9 -48
  1445. package/src/unstable/httpapi/HttpApiScalar.ts +0 -24
  1446. package/src/unstable/httpapi/HttpApiSchema.ts +0 -32
  1447. package/src/unstable/httpapi/HttpApiSecurity.ts +0 -29
  1448. package/src/unstable/httpapi/HttpApiSwagger.ts +0 -24
  1449. package/src/unstable/httpapi/HttpApiTest.ts +5 -18
  1450. package/src/unstable/httpapi/OpenApi.ts +6 -40
  1451. package/src/unstable/observability/Otlp.ts +5 -32
  1452. package/src/unstable/observability/OtlpExporter.ts +5 -22
  1453. package/src/unstable/observability/OtlpLogger.ts +6 -32
  1454. package/src/unstable/observability/OtlpMetrics.ts +15 -23
  1455. package/src/unstable/observability/OtlpResource.ts +5 -35
  1456. package/src/unstable/observability/OtlpSerialization.ts +4 -26
  1457. package/src/unstable/observability/OtlpTracer.ts +14 -24
  1458. package/src/unstable/observability/PrometheusMetrics.ts +4 -41
  1459. package/src/unstable/observability/internal/otlpEnv.ts +18 -37
  1460. package/src/unstable/persistence/KeyValueStore.ts +8 -20
  1461. package/src/unstable/persistence/Persistable.ts +4 -18
  1462. package/src/unstable/persistence/PersistedCache.ts +5 -28
  1463. package/src/unstable/persistence/PersistedQueue.ts +6 -22
  1464. package/src/unstable/persistence/Persistence.ts +5 -21
  1465. package/src/unstable/persistence/RateLimiter.ts +23 -38
  1466. package/src/unstable/persistence/Redis.ts +17 -35
  1467. package/src/unstable/process/ChildProcess.ts +6 -38
  1468. package/src/unstable/process/ChildProcessSpawner.ts +7 -15
  1469. package/src/unstable/reactivity/AsyncResult.ts +7 -39
  1470. package/src/unstable/reactivity/Atom.ts +8 -36
  1471. package/src/unstable/reactivity/AtomHttpApi.ts +6 -25
  1472. package/src/unstable/reactivity/AtomRef.ts +4 -29
  1473. package/src/unstable/reactivity/AtomRegistry.ts +6 -73
  1474. package/src/unstable/reactivity/AtomRpc.ts +6 -20
  1475. package/src/unstable/reactivity/Hydration.ts +8 -31
  1476. package/src/unstable/reactivity/Reactivity.ts +6 -37
  1477. package/src/unstable/rpc/Rpc.ts +8 -40
  1478. package/src/unstable/rpc/RpcClient.ts +6 -32
  1479. package/src/unstable/rpc/RpcClientError.ts +0 -23
  1480. package/src/unstable/rpc/RpcGroup.ts +5 -30
  1481. package/src/unstable/rpc/RpcMessage.ts +0 -26
  1482. package/src/unstable/rpc/RpcMiddleware.ts +0 -28
  1483. package/src/unstable/rpc/RpcSchema.ts +0 -25
  1484. package/src/unstable/rpc/RpcSerialization.ts +6 -32
  1485. package/src/unstable/rpc/RpcServer.ts +7 -40
  1486. package/src/unstable/rpc/RpcTest.ts +0 -24
  1487. package/src/unstable/rpc/RpcWorker.ts +6 -30
  1488. package/src/unstable/rpc/Utils.ts +5 -21
  1489. package/src/unstable/schema/Model.ts +28 -19
  1490. package/src/unstable/schema/VariantSchema.ts +5 -17
  1491. package/src/unstable/socket/Socket.ts +6 -21
  1492. package/src/unstable/socket/SocketServer.ts +6 -20
  1493. package/src/unstable/sql/Migrator.ts +5 -40
  1494. package/src/unstable/sql/SqlClient.ts +5 -19
  1495. package/src/unstable/sql/SqlConnection.ts +6 -18
  1496. package/src/unstable/sql/SqlError.ts +7 -32
  1497. package/src/unstable/sql/SqlModel.ts +6 -14
  1498. package/src/unstable/sql/SqlResolver.ts +6 -23
  1499. package/src/unstable/sql/SqlSchema.ts +3 -27
  1500. package/src/unstable/sql/SqlStream.ts +0 -10
  1501. package/src/unstable/sql/Statement.ts +6 -34
  1502. package/src/unstable/workers/Transferable.ts +0 -21
  1503. package/src/unstable/workers/Worker.ts +6 -34
  1504. package/src/unstable/workers/WorkerError.ts +4 -33
  1505. package/src/unstable/workers/WorkerRunner.ts +5 -30
  1506. package/src/unstable/workflow/Activity.ts +5 -18
  1507. package/src/unstable/workflow/DurableClock.ts +5 -24
  1508. package/src/unstable/workflow/DurableDeferred.ts +6 -18
  1509. package/src/unstable/workflow/DurableQueue.ts +0 -25
  1510. package/src/unstable/workflow/Workflow.ts +9 -21
  1511. package/src/unstable/workflow/WorkflowEngine.ts +7 -19
  1512. package/src/unstable/workflow/WorkflowProxy.ts +7 -23
  1513. package/src/unstable/workflow/WorkflowProxyServer.ts +6 -23
@@ -1,9 +1,11 @@
1
1
  import * as Array from "../../Array.ts"
2
2
  import * as Boolean from "../../Boolean.ts"
3
3
  import type * as Combiner from "../../Combiner.ts"
4
+ import * as Equal from "../../Equal.ts"
4
5
  import { memoize } from "../../Function.ts"
5
6
  import * as Number from "../../Number.ts"
6
7
  import * as Option from "../../Option.ts"
8
+ import * as Order from "../../Order.ts"
7
9
  import * as Predicate from "../../Predicate.ts"
8
10
  import type * as Schema from "../../Schema.ts"
9
11
  import * as SchemaAST from "../../SchemaAST.ts"
@@ -14,33 +16,107 @@ import { errorWithPath } from "../errors.ts"
14
16
  import * as InternalAnnotations from "./annotations.ts"
15
17
 
16
18
  const arbitraryMemoMap = new WeakMap<SchemaAST.AST, LazyArbitraryWithContext<any>>()
19
+ const suspendDepthIdentifierMap = new WeakMap<SchemaAST.Suspend, FastCheck.DepthIdentifier>()
20
+ const emptyRecursionStack: RecursionStack = []
21
+
22
+ type RecursionStack = ReadonlyArray<SchemaAST.Suspend>
23
+
24
+ type Context = Schema.Annotations.ToArbitrary.Context
25
+ type Constraint = Schema.Annotations.ToArbitrary.Constraint
26
+ type OrderedConstraint = Schema.Annotations.ToArbitrary.OrderedConstraint<any>
27
+ type ArbitraryFilter = Schema.Annotations.ToArbitrary.Filter
28
+
29
+ type Lazy<T> = (fc: typeof FastCheck, ctx: Context, recursionStack: RecursionStack) => FastCheck.Arbitrary<T>
30
+ type LazyOption<T> = (
31
+ fc: typeof FastCheck,
32
+ ctx: Context,
33
+ recursionStack: RecursionStack
34
+ ) => FastCheck.Arbitrary<T> | undefined
35
+
36
+ export interface MutableReport {
37
+ readonly warnings: Array<Schema.Annotations.ToArbitrary.Warning>
38
+ }
39
+
40
+ /** @internal */
41
+ export function makeReport(): MutableReport {
42
+ return { warnings: [] }
43
+ }
44
+
45
+ /** @internal */
46
+ export function toReport(report: MutableReport): Schema.Annotations.ToArbitrary.Report {
47
+ return { warnings: report.warnings.slice() }
48
+ }
49
+
50
+ function arbitraryError(what: string) {
51
+ return new Error(`Unable to derive an arbitrary for ${what}`)
52
+ }
53
+
54
+ const entryComparator = ([a]: readonly [any, any], [b]: readonly [any, any]) => Equal.equals(a, b)
17
55
 
18
56
  function applyChecks(ast: SchemaAST.AST, filters: Array<SchemaAST.Filter<any>>, arbitrary: FastCheck.Arbitrary<any>) {
19
- return filters.map((filter) => (a: any) => filter.run(a, ast, SchemaAST.defaultParseOptions) === undefined).reduce(
20
- (acc, filter) => acc.filter(filter),
57
+ return filters.reduce(
58
+ (acc, filter) => acc.filter((a) => filter.run(a, ast, SchemaAST.defaultParseOptions) === undefined),
21
59
  arbitrary
22
60
  )
23
61
  }
24
62
 
25
- function isUniqueArrayConstraintsCustomCompare(
26
- constraint: Schema.Annotations.ToArbitrary.ArrayConstraints | undefined
27
- ): constraint is Schema.Annotations.ToArbitrary.ArrayConstraints & FastCheck.UniqueArrayConstraintsCustomCompare<any> {
28
- return constraint?.comparator !== undefined
63
+ function validateArrayConstraints(constraint: FastCheck.ArrayConstraints | undefined, label: string) {
64
+ if (
65
+ constraint?.minLength !== undefined && constraint.maxLength !== undefined &&
66
+ constraint.minLength > constraint.maxLength
67
+ ) {
68
+ throw arbitraryError(`${label} constraints`)
69
+ }
70
+ }
71
+
72
+ function lengthToFastCheckConstraints(
73
+ constraint: { readonly minLength?: number | undefined; readonly maxLength?: number | undefined } | undefined
74
+ ) {
75
+ return constraint === undefined || (constraint.minLength === undefined && constraint.maxLength === undefined)
76
+ ? undefined
77
+ : {
78
+ ...(constraint.minLength !== undefined ? { minLength: constraint.minLength } : {}),
79
+ ...(constraint.maxLength !== undefined ? { maxLength: constraint.maxLength } : {})
80
+ }
29
81
  }
30
82
 
31
- function array(fc: typeof FastCheck, ctx: Schema.Annotations.ToArbitrary.Context, item: FastCheck.Arbitrary<any>) {
32
- const constraint = ctx.constraints?.array
33
- const out = isUniqueArrayConstraintsCustomCompare(constraint)
34
- ? fc.uniqueArray(item, constraint)
83
+ function arrayWithConstraints(
84
+ fc: typeof FastCheck,
85
+ item: FastCheck.Arbitrary<any>,
86
+ constraint: FastCheck.ArrayConstraints | undefined,
87
+ comparator?: ((a: any, b: any) => boolean) | undefined
88
+ ) {
89
+ return comparator
90
+ ? fc.uniqueArray(item, { ...constraint, comparator })
35
91
  : fc.array(item, constraint)
36
- if (ctx.isSuspend) {
37
- return fc.oneof(
38
- { maxDepth: 2, depthIdentifier: "" },
39
- fc.constant([]),
40
- out
41
- )
42
- }
43
- return out
92
+ }
93
+
94
+ function array(fc: typeof FastCheck, ctx: Context, item: FastCheck.Arbitrary<any>, terminal = false) {
95
+ const constraint = ctx.constraint
96
+ const arrayConstraints = lengthToFastCheckConstraints(constraint)
97
+ validateArrayConstraints(arrayConstraints, "array")
98
+ return arrayWithConstraints(
99
+ fc,
100
+ item,
101
+ terminal ? { ...arrayConstraints, maxLength: arrayConstraints?.minLength ?? 0 } : arrayConstraints,
102
+ constraint?.unique ? Equal.equals : undefined
103
+ )
104
+ }
105
+
106
+ function appendArray(
107
+ fc: typeof FastCheck,
108
+ out: FastCheck.Arbitrary<Array<any>>,
109
+ len: number,
110
+ rest: FastCheck.Arbitrary<ReadonlyArray<any>>
111
+ ) {
112
+ return out.chain((as) => as.length < len ? fc.constant(as) : rest.map((rest) => [...as, ...rest]))
113
+ }
114
+
115
+ function appendObjectEntries(
116
+ out: FastCheck.Arbitrary<any>,
117
+ entries: FastCheck.Arbitrary<Array<readonly [PropertyKey, any]>>
118
+ ) {
119
+ return out.chain((o) => entries.map((entries) => ({ ...Object.fromEntries(entries), ...o })))
44
120
  }
45
121
 
46
122
  const max = UndefinedOr.makeReducer(Number.ReducerMax)
@@ -49,139 +125,436 @@ const or = UndefinedOr.makeReducer(Boolean.ReducerOr)
49
125
  const concat = UndefinedOr.makeReducer(Array.makeReducerConcat())
50
126
 
51
127
  const combiner: Combiner.Combiner<any> = Struct.makeCombiner({
52
- isInteger: or,
53
- max: min,
54
- maxExcluded: or,
128
+ integer: or,
55
129
  maxLength: min,
56
- min: max,
57
- minExcluded: or,
58
130
  minLength: max,
59
- noDefaultInfinity: or,
60
- noInteger: or,
61
- noInvalidDate: or,
131
+ noInfinity: or,
62
132
  noNaN: or,
63
133
  patterns: concat,
64
- comparator: or
134
+ unique: or,
135
+ valid: or
65
136
  }, {
66
137
  omitKeyWhen: Predicate.isUndefined
67
138
  })
68
139
 
69
- type FastCheckConstraint =
70
- | Schema.Annotations.ToArbitrary.StringConstraints
71
- | Schema.Annotations.ToArbitrary.NumberConstraints
72
- | Schema.Annotations.ToArbitrary.BigIntConstraints
73
- | Schema.Annotations.ToArbitrary.ArrayConstraints
74
- | Schema.Annotations.ToArbitrary.DateConstraints
75
-
76
- function merge(
77
- _tag: "string" | "number" | "bigint" | "array" | "date",
78
- constraints: Schema.Annotations.ToArbitrary.Constraint,
79
- constraint: FastCheckConstraint
80
- ): Schema.Annotations.ToArbitrary.Constraint {
81
- const c = constraints[_tag]
140
+ function mergeOrderedBound<T>(
141
+ order: Order.Order<T>,
142
+ self: T | undefined,
143
+ selfExclusive: boolean | undefined,
144
+ that: T | undefined,
145
+ thatExclusive: boolean | undefined,
146
+ takeComparison: -1 | 1
147
+ ): readonly [T | undefined, boolean | undefined] {
148
+ if (that === undefined || self === undefined) {
149
+ return that === undefined ? [self, selfExclusive] : [that, thatExclusive]
150
+ }
151
+ const comparison = order(self, that)
152
+ return comparison === takeComparison
153
+ ? [that, thatExclusive]
154
+ : comparison === 0
155
+ ? [self, selfExclusive || thatExclusive]
156
+ : [self, selfExclusive]
157
+ }
158
+
159
+ function mergeOrderedConstraints(self: OrderedConstraint | undefined, that: OrderedConstraint) {
160
+ if (self === undefined) {
161
+ return that
162
+ }
163
+ if (self.order !== that.order) {
164
+ throw new Error("Cannot merge ordered arbitrary constraints with different Order instances")
165
+ }
166
+
167
+ const [minimum, exclusiveMinimum] = mergeOrderedBound(
168
+ self.order,
169
+ self.minimum,
170
+ self.exclusiveMinimum,
171
+ that.minimum,
172
+ that.exclusiveMinimum,
173
+ -1
174
+ )
175
+ const [maximum, exclusiveMaximum] = mergeOrderedBound(
176
+ self.order,
177
+ self.maximum,
178
+ self.exclusiveMaximum,
179
+ that.maximum,
180
+ that.exclusiveMaximum,
181
+ 1
182
+ )
183
+
82
184
  return {
83
- ...constraints,
84
- [_tag]: c ? combiner.combine(c, constraint) : constraint
185
+ order: self.order,
186
+ ...(minimum !== undefined ? { minimum } : {}),
187
+ ...(exclusiveMinimum !== undefined ? { exclusiveMinimum } : {}),
188
+ ...(maximum !== undefined ? { maximum } : {}),
189
+ ...(exclusiveMaximum !== undefined ? { exclusiveMaximum } : {})
85
190
  }
86
191
  }
87
192
 
88
- const constraintsKeys = {
89
- string: null,
90
- number: null,
91
- bigint: null,
92
- array: null,
93
- date: null
193
+ function mergeConstraint(self: Constraint | undefined, that: Constraint): Constraint {
194
+ const { ordered: selfOrdered, ...selfRest } = self ?? {}
195
+ const { ordered: thatOrdered, ...thatRest } = that
196
+ const ordered = thatOrdered === undefined
197
+ ? selfOrdered
198
+ : mergeOrderedConstraints(selfOrdered, thatOrdered)
199
+ const out = combiner.combine(selfRest, thatRest)
200
+ return {
201
+ ...out,
202
+ ...(ordered === undefined ? {} : { ordered })
203
+ }
94
204
  }
95
205
 
96
- function isConstraintKey(key: string): key is keyof Schema.Annotations.ToArbitrary.Constraint {
97
- return key in constraintsKeys
206
+ function collectChecks(checks: SchemaAST.Checks | undefined) {
207
+ const filters: Array<SchemaAST.Filter<any>> = []
208
+ const arbitraries: Array<ArbitraryFilter> = []
209
+ function visit(check: SchemaAST.Check<any>) {
210
+ if (check.annotations?.arbitrary) {
211
+ arbitraries.push(check.annotations.arbitrary)
212
+ }
213
+ if (check._tag !== "Filter") {
214
+ for (const child of check.checks) {
215
+ visit(child)
216
+ }
217
+ } else {
218
+ filters.push(check)
219
+ }
220
+ }
221
+ checks?.forEach(visit)
222
+ return { filters, arbitraries }
98
223
  }
99
224
 
100
- /** @internal */
101
- export function constraintContext(
102
- filters: Array<SchemaAST.Filter<any>>
103
- ): (ctx: Schema.Annotations.ToArbitrary.Context) => Schema.Annotations.ToArbitrary.Context {
104
- const annotations = filters.map((filter) => filter.annotations?.toArbitraryConstraint).filter(
105
- Predicate.isNotUndefined
106
- )
225
+ function constraintContext(arbitraries: Array<ArbitraryFilter>): (ctx: Context) => Context {
226
+ const constraintAnnotations = arbitraries.map(({ constraint }) => constraint).filter(Predicate.isNotUndefined)
107
227
  return (ctx) => {
108
- const constraints = annotations.reduce((acc: Schema.Annotations.ToArbitrary.Constraint, c) => {
109
- const keys = Object.keys(c)
110
- for (const key of keys) {
111
- if (isConstraintKey(key)) {
112
- acc = merge(key, acc, c[key]!)
113
- }
228
+ const constraint = constraintAnnotations.reduce(
229
+ (acc: Constraint | undefined, c) => mergeConstraint(acc, c),
230
+ ctx.constraint
231
+ )
232
+ return { ...ctx, constraint }
233
+ }
234
+ }
235
+
236
+ function resetContext(ctx: Context) {
237
+ return { ...ctx, constraint: undefined }
238
+ }
239
+
240
+ function objectEntriesConstraints(ast: SchemaAST.Objects, constraint: Constraint | undefined, requiredKeys: number) {
241
+ if (constraint === undefined || (constraint.minLength === undefined && constraint.maxLength === undefined)) {
242
+ return undefined
243
+ }
244
+ if (
245
+ constraint.minLength !== undefined &&
246
+ ast.indexSignatures.length === 0 &&
247
+ constraint.minLength > ast.propertySignatures.length
248
+ ) {
249
+ throw arbitraryError("object property constraints")
250
+ }
251
+ const out: FastCheck.ArrayConstraints = {}
252
+ if (constraint.minLength !== undefined) {
253
+ out.minLength = Math.max(0, constraint.minLength - requiredKeys)
254
+ }
255
+ if (constraint.maxLength !== undefined) {
256
+ out.maxLength = constraint.maxLength - requiredKeys
257
+ if (out.maxLength < 0) {
258
+ throw arbitraryError("object property constraints")
259
+ }
260
+ }
261
+ validateArrayConstraints(out, "object property")
262
+ return out
263
+ }
264
+
265
+ function objectWithOptionalCount(
266
+ fc: typeof FastCheck,
267
+ pss: Record<PropertyKey, FastCheck.Arbitrary<any>>,
268
+ orderedNames: ReadonlyArray<PropertyKey>,
269
+ requiredKeys: ReadonlyArray<PropertyKey>,
270
+ optionalNames: ReadonlyArray<PropertyKey>,
271
+ constraint: Constraint
272
+ ) {
273
+ const requiredCount = requiredKeys.length
274
+ if (constraint.maxLength !== undefined && constraint.maxLength < requiredCount) {
275
+ throw arbitraryError("object property constraints")
276
+ }
277
+ const minOptional = constraint.minLength === undefined ? 0 : Math.max(0, constraint.minLength - requiredCount)
278
+ const maxOptional = constraint.maxLength === undefined
279
+ ? optionalNames.length
280
+ : Math.min(optionalNames.length, constraint.maxLength - requiredCount)
281
+ if (minOptional > maxOptional) {
282
+ throw arbitraryError("object property constraints")
283
+ }
284
+ const full = fc.record<any>(pss, { requiredKeys: [...requiredKeys, ...optionalNames] })
285
+ const chosen = fc.shuffledSubarray([...optionalNames], { minLength: minOptional, maxLength: maxOptional })
286
+ return fc.tuple(full, chosen).map(([base, names]) => {
287
+ const keep = new Set<PropertyKey>([...requiredKeys, ...names])
288
+ const out: Record<PropertyKey, any> = {}
289
+ for (const name of orderedNames) {
290
+ if (keep.has(name)) {
291
+ out[name] = base[name]
114
292
  }
115
- return acc
116
- }, ctx.constraints || {})
117
- return { ...ctx, constraints }
293
+ }
294
+ return out
295
+ })
296
+ }
297
+
298
+ function toRangeConstraints<T extends number | bigint>(
299
+ ordered: OrderedConstraint | undefined,
300
+ min: (value: T, excluded: boolean) => T,
301
+ max: (value: T, excluded: boolean) => T,
302
+ error: string
303
+ ) {
304
+ const out: { min?: T; max?: T } = {}
305
+ if (ordered?.minimum !== undefined) {
306
+ out.min = min(ordered.minimum as T, ordered.exclusiveMinimum === true)
307
+ }
308
+ if (ordered?.maximum !== undefined) {
309
+ out.max = max(ordered.maximum as T, ordered.exclusiveMaximum === true)
118
310
  }
311
+ if (out.min !== undefined && out.max !== undefined && out.min > out.max) {
312
+ throw arbitraryError(error)
313
+ }
314
+ return out
119
315
  }
120
316
 
121
- function resetContext(ctx: Schema.Annotations.ToArbitrary.Context): Schema.Annotations.ToArbitrary.Context {
122
- return { ...ctx, constraints: undefined }
317
+ function toIntegerConstraints(ordered: OrderedConstraint | undefined) {
318
+ return toRangeConstraints<number>(
319
+ ordered,
320
+ (minimum, excluded) => excluded ? Math.floor(minimum) + 1 : Math.ceil(minimum),
321
+ (maximum, excluded) => excluded ? Math.ceil(maximum) - 1 : Math.floor(maximum),
322
+ "integer constraints"
323
+ )
123
324
  }
124
325
 
125
- function toIntegerConstraints(
126
- constraint: Schema.Annotations.ToArbitrary.NumberConstraints
127
- ): FastCheck.IntegerConstraints {
128
- const out: FastCheck.IntegerConstraints = {}
129
- if (constraint.min !== undefined) {
130
- out.min = constraint.minExcluded ? Math.floor(constraint.min) + 1 : Math.ceil(constraint.min)
326
+ function toFloatConstraints(constraint: Constraint | undefined, ordered: OrderedConstraint | undefined) {
327
+ const out: FastCheck.FloatConstraints = {
328
+ ...(constraint?.noInfinity ? { noDefaultInfinity: true } : {}),
329
+ ...(constraint?.noNaN ? { noNaN: true } : {}),
330
+ ...(ordered?.minimum !== undefined ? { min: ordered.minimum as number } : {}),
331
+ ...(ordered?.exclusiveMinimum !== undefined ? { minExcluded: ordered.exclusiveMinimum } : {}),
332
+ ...(ordered?.maximum !== undefined ? { max: ordered.maximum as number } : {}),
333
+ ...(ordered?.exclusiveMaximum !== undefined ? { maxExcluded: ordered.exclusiveMaximum } : {})
131
334
  }
132
- if (constraint.max !== undefined) {
133
- out.max = constraint.maxExcluded ? Math.ceil(constraint.max) - 1 : Math.floor(constraint.max)
335
+ if (
336
+ out.min !== undefined &&
337
+ out.max !== undefined &&
338
+ (out.min > out.max || (out.min === out.max && (out.minExcluded || out.maxExcluded)))
339
+ ) {
340
+ throw arbitraryError("number constraints")
134
341
  }
135
342
  return out
136
343
  }
137
344
 
345
+ function toBigIntConstraints(ordered: OrderedConstraint | undefined) {
346
+ return toRangeConstraints<bigint>(
347
+ ordered,
348
+ (minimum, excluded) => excluded ? minimum + BigInt(1) : minimum,
349
+ (maximum, excluded) => excluded ? maximum - BigInt(1) : maximum,
350
+ "the ordered bigint constraints"
351
+ )
352
+ }
353
+
138
354
  interface LazyArbitraryWithContext<T> {
139
- (fc: typeof FastCheck, ctx: Schema.Annotations.ToArbitrary.Context): FastCheck.Arbitrary<T>
355
+ (fc: typeof FastCheck, ctx: Context, recursionStack?: RecursionStack): FastCheck.Arbitrary<T>
356
+ readonly terminal: (
357
+ fc: typeof FastCheck,
358
+ ctx: Context,
359
+ recursionStack?: RecursionStack
360
+ ) => FastCheck.Arbitrary<T> | undefined
361
+ }
362
+
363
+ function makeLazy<T>(normal: Lazy<T>, terminal: LazyOption<T>): LazyArbitraryWithContext<T> {
364
+ const out =
365
+ ((fc, ctx, recursionStack = emptyRecursionStack) => normal(fc, ctx, recursionStack)) as LazyArbitraryWithContext<T>
366
+ ;(out as { terminal: LazyOption<T> }).terminal = (fc, ctx, recursionStack = emptyRecursionStack) =>
367
+ terminal(fc, ctx, recursionStack)
368
+ return out
369
+ }
370
+
371
+ function same<T>(f: Lazy<T>) {
372
+ return makeLazy(f, f)
373
+ }
374
+
375
+ function getSuspendRecursion(fc: typeof FastCheck, ast: SchemaAST.Suspend) {
376
+ const depthIdentifier = suspendDepthIdentifierMap.get(ast) ?? fc.createDepthIdentifier()
377
+ suspendDepthIdentifierMap.set(ast, depthIdentifier)
378
+ return { maxDepth: 2, depthIdentifier }
379
+ }
380
+
381
+ function oneOf<T>(fc: typeof FastCheck, arbitraries: ReadonlyArray<FastCheck.Arbitrary<T>>) {
382
+ return arbitraries.length === 0 ? undefined : arbitraries.length === 1 ? arbitraries[0] : fc.oneof(...arbitraries)
383
+ }
384
+
385
+ function reportChecks(report: MutableReport, checks: SchemaAST.Checks | undefined, path: ReadonlyArray<PropertyKey>) {
386
+ function visit(check: SchemaAST.Check<any>, covered: boolean) {
387
+ const arbitrary = check.annotations?.arbitrary
388
+ const nextCovered = covered || arbitrary?.constraint !== undefined || arbitrary?.candidate !== undefined
389
+ if (check._tag !== "Filter") {
390
+ for (const child of check.checks) {
391
+ visit(child, nextCovered)
392
+ }
393
+ } else if (!nextCovered) {
394
+ const meta = check.annotations?.meta
395
+ const description = typeof meta === "object" && meta !== null && "_tag" in meta && typeof meta._tag === "string"
396
+ ? meta._tag
397
+ : check.annotations?.identifier ?? check.annotations?.expected
398
+ report.warnings.push({ _tag: "OpaqueFilter", path, ...(description === undefined ? {} : { description }) })
399
+ }
400
+ }
401
+ checks?.forEach((check) => visit(check, false))
140
402
  }
141
403
 
142
404
  /** @internal */
143
- export function getFilters(checks: SchemaAST.Checks | undefined): Array<SchemaAST.Filter<any>> {
144
- if (checks) {
145
- return checks.flatMap((check) => {
146
- switch (check._tag) {
147
- case "Filter":
148
- return [check]
149
- case "FilterGroup":
150
- return getFilters(check.checks)
405
+ export function collectReport(ast: SchemaAST.AST, report: MutableReport) {
406
+ const stack = new WeakSet<SchemaAST.AST>()
407
+ function visit(ast: SchemaAST.AST, path: ReadonlyArray<PropertyKey>) {
408
+ if (stack.has(ast)) {
409
+ return
410
+ }
411
+ stack.add(ast)
412
+ reportChecks(report, ast.checks, path)
413
+ switch (ast._tag) {
414
+ case "Declaration":
415
+ ast.typeParameters.forEach((tp) => visit(tp, path))
416
+ break
417
+ case "Arrays": {
418
+ for (const [i, type] of [...ast.elements, ...ast.rest].entries()) {
419
+ visit(type, [...path, i])
420
+ }
421
+ break
151
422
  }
152
- })
423
+ case "Objects":
424
+ ast.propertySignatures.forEach((ps) => visit(ps.type, [...path, ps.name]))
425
+ ast.indexSignatures.forEach((is) => {
426
+ visit(is.parameter, path)
427
+ visit(is.type, path)
428
+ })
429
+ break
430
+ case "Union":
431
+ ast.types.forEach((type) => visit(type, path))
432
+ break
433
+ case "Suspend":
434
+ visit(ast.thunk(), path)
435
+ break
436
+ }
437
+ stack.delete(ast)
153
438
  }
154
- return []
439
+ visit(ast, [])
440
+ }
441
+
442
+ function applyCandidates(
443
+ fc: typeof FastCheck,
444
+ ctx: Context,
445
+ arbitraries: Array<ArbitraryFilter>,
446
+ base: FastCheck.Arbitrary<any> | undefined
447
+ ) {
448
+ const weighted: Array<FastCheck.WeightedArbitrary<any>> = base === undefined
449
+ ? []
450
+ : [{ arbitrary: base, weight: 1 }]
451
+ for (const { candidate } of arbitraries) {
452
+ if (!candidate) {
453
+ continue
454
+ }
455
+ const arbitrary = candidate.make(fc, ctx)
456
+ if (arbitrary === undefined) {
457
+ continue
458
+ }
459
+ const weight = candidate.weight ?? 1
460
+ if (!globalThis.Number.isInteger(weight) || weight <= 0) {
461
+ throw arbitraryError("a candidate with an invalid weight")
462
+ }
463
+ weighted.push({ arbitrary, weight })
464
+ }
465
+ return weighted.length === 0 ? undefined : weighted.length === 1 ? weighted[0].arbitrary : fc.oneof(...weighted)
466
+ }
467
+
468
+ function applyFilterLayer(
469
+ ast: SchemaAST.AST,
470
+ checks: ReturnType<typeof collectChecks>,
471
+ fc: typeof FastCheck,
472
+ ctx: Context,
473
+ base: FastCheck.Arbitrary<any> | undefined
474
+ ) {
475
+ const out = applyCandidates(fc, ctx, checks.arbitraries, base)
476
+ return out === undefined ? undefined : applyChecks(ast, checks.filters, out)
477
+ }
478
+
479
+ function normalizeDerivation<T>(
480
+ output: Schema.Annotations.ToArbitrary.Output<T>,
481
+ hasTypeParameters: boolean
482
+ ) {
483
+ if (!(typeof output === "object" && output !== null && "arbitrary" in output)) {
484
+ return { arbitrary: output, terminal: hasTypeParameters ? undefined : output }
485
+ }
486
+ const terminal = "terminal" in output ? output.terminal : hasTypeParameters ? undefined : output.arbitrary
487
+ return {
488
+ arbitrary: output.arbitrary,
489
+ terminal
490
+ }
491
+ }
492
+
493
+ function makeTypeParameters(
494
+ typeParameters: ReadonlyArray<LazyArbitraryWithContext<any>>,
495
+ fc: typeof FastCheck,
496
+ ctx: Context,
497
+ recursionStack: RecursionStack,
498
+ lazyNormal: boolean
499
+ ) {
500
+ return typeParameters.map((tp) => ({
501
+ arbitrary: lazyNormal ? fc.constant(null).chain(() => tp(fc, ctx, recursionStack)) : tp(fc, ctx, recursionStack),
502
+ terminal: tp.terminal(fc, ctx, recursionStack)
503
+ }))
504
+ }
505
+
506
+ type BaseBuilder = (
507
+ fc: typeof FastCheck,
508
+ ctx: Context,
509
+ nextCtx: Context,
510
+ recursionStack: RecursionStack
511
+ ) => FastCheck.Arbitrary<any> | undefined
512
+
513
+ function filterLayer(
514
+ ast: SchemaAST.AST,
515
+ checks: ReturnType<typeof collectChecks>,
516
+ normalBase: BaseBuilder,
517
+ terminalBase: BaseBuilder
518
+ ): LazyArbitraryWithContext<any> {
519
+ const f = constraintContext(checks.arbitraries)
520
+ return makeLazy((fc, ctx, recursionStack) => {
521
+ const nextCtx = f(ctx)
522
+ return applyFilterLayer(ast, checks, fc, nextCtx, normalBase(fc, ctx, nextCtx, recursionStack))!
523
+ }, (fc, ctx, recursionStack) => {
524
+ const nextCtx = f(ctx)
525
+ return applyFilterLayer(ast, checks, fc, nextCtx, terminalBase(fc, ctx, nextCtx, recursionStack))
526
+ })
155
527
  }
156
528
 
157
529
  /** @internal */
158
- export const memoized = memoize((ast: SchemaAST.AST): LazyArbitraryWithContext<any> => {
159
- return recur(ast, [])
160
- })
530
+ export const memoized = memoize((ast: SchemaAST.AST) => recur(ast, []))
161
531
 
162
532
  function recur(ast: SchemaAST.AST, path: ReadonlyArray<PropertyKey>): LazyArbitraryWithContext<any> {
163
533
  // ---------------------------------------------
164
- // handle Override annotation
534
+ // handle annotations
165
535
  // ---------------------------------------------
166
536
  const annotation = InternalAnnotations.resolve(ast)?.toArbitrary as
167
537
  | Schema.Annotations.ToArbitrary.Declaration<any, ReadonlyArray<Schema.Top>>
168
538
  | undefined
169
539
  if (annotation) {
170
540
  const typeParameters = SchemaAST.isDeclaration(ast) ? ast.typeParameters.map((tp) => recur(tp, path)) : []
171
- const filters = getFilters(ast.checks)
172
- const f = constraintContext(filters)
173
- return (fc, ctx) =>
174
- applyChecks(
175
- ast,
176
- filters,
177
- annotation(typeParameters.map((tp) => tp(fc, resetContext(ctx))))(fc, f(ctx))
178
- )
541
+ const checks = collectChecks(ast.checks)
542
+ const derive = (lazyNormal: boolean): BaseBuilder => (fc, ctx, nextCtx, recursionStack) =>
543
+ normalizeDerivation(
544
+ annotation(makeTypeParameters(typeParameters, fc, resetContext(ctx), recursionStack, lazyNormal))(fc, nextCtx),
545
+ typeParameters.length > 0
546
+ )[lazyNormal ? "terminal" : "arbitrary"]
547
+ return filterLayer(ast, checks, derive(false), derive(true))
179
548
  }
180
549
  if (ast.checks) {
181
- const filters = getFilters(ast.checks)
182
- const f = constraintContext(filters)
550
+ const checks = collectChecks(ast.checks)
183
551
  const lawc = recur(SchemaAST.replaceChecks(ast, undefined), path)
184
- return (fc, ctx) => applyChecks(ast, filters, lawc(fc, f(ctx)))
552
+ return filterLayer(
553
+ ast,
554
+ checks,
555
+ (fc, _ctx, nextCtx, recursionStack) => lawc(fc, nextCtx, recursionStack),
556
+ (fc, _ctx, nextCtx, recursionStack) => lawc.terminal(fc, nextCtx, recursionStack)
557
+ )
185
558
  }
186
559
  return base(ast, path)
187
560
  }
@@ -192,132 +565,326 @@ function base(ast: SchemaAST.AST, path: ReadonlyArray<PropertyKey>): LazyArbitra
192
565
  case "Declaration":
193
566
  throw errorWithPath(`Unsupported AST ${ast._tag}`, path)
194
567
  case "Null":
195
- return (fc) => fc.constant(null)
568
+ return same((fc) => fc.constant(null))
196
569
  case "Void":
197
570
  case "Undefined":
198
- return (fc) => fc.constant(undefined)
571
+ return same((fc) => fc.constant(undefined))
199
572
  case "Unknown":
200
573
  case "Any":
201
- return (fc) => fc.anything()
574
+ return same((fc) => fc.anything())
202
575
  case "String":
203
- return (fc, ctx) => {
204
- const constraint = ctx.constraints?.string
576
+ return same((fc, ctx) => {
577
+ const constraint = ctx.constraint
205
578
  const patterns = constraint?.patterns
206
- if (patterns) {
207
- return fc.oneof(...patterns.map((pattern) => fc.stringMatching(new RegExp(pattern))))
208
- }
209
- return fc.string(constraint)
210
- }
579
+ return patterns
580
+ ? fc.oneof(...patterns.map((pattern) => fc.stringMatching(new RegExp(pattern))))
581
+ : fc.string(lengthToFastCheckConstraints(constraint))
582
+ })
211
583
  case "Number":
212
- return (fc, ctx) => {
213
- const constraint = ctx.constraints?.number
214
- if (constraint?.isInteger) {
215
- return fc.integer(toIntegerConstraints(constraint))
216
- }
217
- return fc.float(constraint)
218
- }
584
+ return same((fc, ctx) => {
585
+ const constraint = ctx.constraint
586
+ const ordered = constraint?.ordered?.order === Order.Number ? constraint.ordered : undefined
587
+ return constraint?.integer
588
+ ? fc.integer(toIntegerConstraints(ordered))
589
+ : fc.float(toFloatConstraints(constraint, ordered))
590
+ })
219
591
  case "Boolean":
220
- return (fc) => fc.boolean()
592
+ return same((fc) => fc.boolean())
221
593
  case "BigInt":
222
- return (fc, ctx) => fc.bigInt(ctx.constraints?.bigint ?? {})
594
+ return same((fc, ctx) => {
595
+ const ordered = ctx.constraint?.ordered?.order === Order.BigInt ? ctx.constraint.ordered : undefined
596
+ return fc.bigInt(toBigIntConstraints(ordered))
597
+ })
223
598
  case "Symbol":
224
- return (fc) => fc.string().map(Symbol.for)
599
+ return same((fc) => fc.string().map(Symbol.for))
225
600
  case "Literal":
226
- return (fc) => fc.constant(ast.literal)
601
+ return same((fc) => fc.constant(ast.literal))
227
602
  case "UniqueSymbol":
228
- return (fc) => fc.constant(ast.symbol)
603
+ return same((fc) => fc.constant(ast.symbol))
229
604
  case "ObjectKeyword":
230
- return (fc) => fc.oneof(fc.object(), fc.array(fc.anything()))
605
+ return same((fc) => fc.oneof(fc.object(), fc.array(fc.anything())))
231
606
  case "Enum":
232
607
  return recur(SchemaAST.enumsToLiterals(ast), path)
233
608
  case "TemplateLiteral":
234
- return (fc) => fc.stringMatching(SchemaAST.getTemplateLiteralRegExp(ast))
235
- case "Arrays":
236
- return (fc, ctx) => {
609
+ return same((fc) => fc.stringMatching(SchemaAST.getTemplateLiteralRegExp(ast)))
610
+ case "Arrays": {
611
+ const elements = ast.elements.map((ast, i) => ({
612
+ ast,
613
+ arbitrary: recur(ast, [...path, i])
614
+ }))
615
+ const len = ast.elements.length
616
+ const rest = ast.rest.map((ast, i) => ({
617
+ ast,
618
+ arbitrary: recur(ast, [...path, len + i])
619
+ }))
620
+ const terminal: LazyOption<any> = (fc, ctx, recursionStack) => {
621
+ const reset = resetContext(ctx)
622
+ const elementArbitraries: Array<FastCheck.Arbitrary<Option.Option<any>>> = []
623
+ const optionals: Array<FastCheck.Arbitrary<any> | undefined> = []
624
+ let length = 0
625
+ for (const element of elements) {
626
+ const out = element.arbitrary.terminal(fc, reset, recursionStack)
627
+ if (SchemaAST.isOptional(element.ast)) {
628
+ optionals.push(out)
629
+ continue
630
+ }
631
+ if (out === undefined) {
632
+ return undefined
633
+ }
634
+ length++
635
+ elementArbitraries.push(out.map(Option.some))
636
+ }
637
+ const minLength = ctx.constraint?.minLength ?? 0
638
+ const needsRest = Array.isReadonlyArrayNonEmpty(rest) && minLength > length + optionals.length
639
+ const optionalTarget = needsRest ? optionals.length : Math.max(0, minLength - length)
640
+ let includedOptionals = 0
641
+ for (const out of optionals) {
642
+ if (includedOptionals >= optionalTarget || out === undefined) {
643
+ elementArbitraries.push(fc.constant(Option.none()))
644
+ continue
645
+ }
646
+ includedOptionals++
647
+ length++
648
+ elementArbitraries.push(out.map(Option.some))
649
+ }
650
+ if (includedOptionals < optionalTarget) {
651
+ return undefined
652
+ }
653
+ let out = fc.tuple(...elementArbitraries).map(Array.getSomes)
654
+ if (Array.isReadonlyArrayNonEmpty(rest)) {
655
+ const [head, ...tail] = rest
656
+ const restCtx = ast.elements.length === 0 ? ctx : reset
657
+ const minRestLength = Math.max(0, minLength - length - tail.length)
658
+ const headArbitrary = minRestLength === 0
659
+ ? undefined
660
+ : head.arbitrary.terminal(fc, reset, recursionStack)
661
+ if (minRestLength > 0 && headArbitrary === undefined) {
662
+ return undefined
663
+ }
664
+ const restArbitrary = minRestLength === 0
665
+ ? fc.constant([])
666
+ : array(
667
+ fc,
668
+ { ...restCtx, constraint: { ...restCtx.constraint, minLength: minRestLength } },
669
+ headArbitrary!,
670
+ true
671
+ )
672
+ out = appendArray(fc, out, len, restArbitrary)
673
+ if (tail.length > 0) {
674
+ const tailArbitraries: Array<FastCheck.Arbitrary<any>> = []
675
+ for (const element of tail) {
676
+ const out = element.arbitrary.terminal(fc, reset, recursionStack)
677
+ if (out === undefined) {
678
+ return undefined
679
+ }
680
+ tailArbitraries.push(out)
681
+ }
682
+ const t = fc.tuple(...tailArbitraries)
683
+ out = appendArray(fc, out, len, t)
684
+ }
685
+ }
686
+ return out
687
+ }
688
+ return makeLazy((fc, ctx, recursionStack) => {
237
689
  const reset = resetContext(ctx)
238
690
  // ---------------------------------------------
239
691
  // handle elements
240
692
  // ---------------------------------------------
241
- const elements: Array<FastCheck.Arbitrary<Option.Option<any>>> = ast.elements.map((e, i) => {
242
- const out = recur(e, [...path, i])(fc, reset)
243
- if (!SchemaAST.isOptional(e)) {
244
- return out.map(Option.some)
693
+ const elementArbitraries: Array<FastCheck.Arbitrary<Option.Option<any>>> = elements.map(
694
+ ({ ast, arbitrary }) => {
695
+ const out = arbitrary(fc, reset, recursionStack)
696
+ return SchemaAST.isOptional(ast)
697
+ ? out.chain((a) => fc.boolean().map((b) => b ? Option.some(a) : Option.none()))
698
+ : out.map(Option.some)
245
699
  }
246
- return out.chain((a) => fc.boolean().map((b) => b ? Option.some(a) : Option.none()))
247
- })
248
- let out = fc.tuple(...elements).map(Array.getSomes)
700
+ )
701
+ let out = fc.tuple(...elementArbitraries).map(Array.getSomes)
249
702
  // ---------------------------------------------
250
703
  // handle rest element
251
704
  // ---------------------------------------------
252
- if (Array.isReadonlyArrayNonEmpty(ast.rest)) {
253
- const len = ast.elements.length
254
- const [head, ...tail] = ast.rest.map((r, i) => recur(r, [...path, len + i])(fc, reset))
255
-
256
- const rest = array(fc, ast.elements.length === 0 ? ctx : reset, head)
257
- out = out.chain((as) => {
258
- if (as.length < len) {
259
- return fc.constant(as)
260
- }
261
- return rest.map((rest) => [...as, ...rest])
262
- })
705
+ if (Array.isReadonlyArrayNonEmpty(rest)) {
706
+ const [head, ...tail] = rest.map(({ arbitrary }) => arbitrary(fc, reset, recursionStack))
707
+
708
+ const restArbitrary = array(fc, ast.elements.length === 0 ? ctx : reset, head)
709
+ out = appendArray(fc, out, len, restArbitrary)
263
710
  // ---------------------------------------------
264
711
  // handle post rest elements
265
712
  // ---------------------------------------------
266
713
  if (tail.length > 0) {
267
714
  const t = fc.tuple(...tail)
268
- out = out.chain((as) => {
269
- if (as.length < len) {
270
- return fc.constant(as)
271
- }
272
- return t.map((rest) => [...as, ...rest])
273
- })
715
+ out = appendArray(fc, out, len, t)
716
+ }
717
+ }
718
+ if (ctx.recursion) {
719
+ const terminalOut = terminal(fc, ctx, recursionStack)
720
+ if (terminalOut !== undefined) {
721
+ return fc.oneof(ctx.recursion, terminalOut, out)
274
722
  }
275
723
  }
276
724
  return out
725
+ }, terminal)
726
+ }
727
+ case "Objects": {
728
+ const propertySignatures = ast.propertySignatures.map((ps) => ({
729
+ ps,
730
+ arbitrary: recur(ps.type, [...path, ps.name])
731
+ }))
732
+ const indexSignatures = ast.indexSignatures.map((is) => ({
733
+ is,
734
+ parameter: recur(is.parameter, path),
735
+ type: recur(is.type, path)
736
+ }))
737
+ const terminal: LazyOption<any> = (fc, ctx, recursionStack) => {
738
+ const reset = resetContext(ctx)
739
+ const pss: any = {}
740
+ const requiredKeys: Array<PropertyKey> = []
741
+ const optionals: Array<readonly [PropertyKey, FastCheck.Arbitrary<any>]> = []
742
+ for (const { ps, arbitrary } of propertySignatures) {
743
+ const name = ps.name
744
+ const out = arbitrary.terminal(fc, reset, recursionStack)
745
+ if (SchemaAST.isOptional(ps.type)) {
746
+ if (out !== undefined) {
747
+ optionals.push([name, out])
748
+ }
749
+ continue
750
+ }
751
+ if (out === undefined) {
752
+ return undefined
753
+ }
754
+ requiredKeys.push(name)
755
+ pss[name] = out
756
+ }
757
+ let optionalCount = Math.max(0, (ctx.constraint?.minLength ?? 0) - requiredKeys.length)
758
+ for (const [name, out] of optionals) {
759
+ if (optionalCount === 0) {
760
+ break
761
+ }
762
+ optionalCount--
763
+ requiredKeys.push(name)
764
+ pss[name] = out
765
+ }
766
+ if (optionalCount > 0 && ast.indexSignatures.length === 0) {
767
+ return undefined
768
+ }
769
+ let out = fc.record<any>(pss, { requiredKeys })
770
+ const entriesConstraints = objectEntriesConstraints(ast, ctx.constraint, requiredKeys.length)
771
+ const minEntries = entriesConstraints?.minLength ?? 0
772
+ for (const { parameter, type } of indexSignatures) {
773
+ let entries: FastCheck.Arbitrary<Array<readonly [PropertyKey, any]>>
774
+ if (minEntries === 0) {
775
+ entries = fc.constant([])
776
+ } else {
777
+ const key = parameter.terminal(fc, reset, recursionStack)
778
+ const value = type.terminal(fc, reset, recursionStack)
779
+ if (key === undefined || value === undefined) {
780
+ return undefined
781
+ }
782
+ entries = arrayWithConstraints(
783
+ fc,
784
+ fc.tuple(key, value),
785
+ { ...entriesConstraints, maxLength: minEntries },
786
+ entryComparator
787
+ )
788
+ }
789
+ out = appendObjectEntries(out, entries)
790
+ }
791
+ return out
277
792
  }
278
- case "Objects":
279
- return (fc, ctx) => {
793
+ return makeLazy((fc, ctx, recursionStack) => {
280
794
  const reset = resetContext(ctx)
281
795
  // ---------------------------------------------
282
796
  // handle property signatures
283
797
  // ---------------------------------------------
284
798
  const pss: any = {}
799
+ const orderedNames: Array<PropertyKey> = []
285
800
  const requiredKeys: Array<PropertyKey> = []
286
- for (const ps of ast.propertySignatures) {
801
+ const optionalNames: Array<PropertyKey> = []
802
+ for (const { ps, arbitrary } of propertySignatures) {
287
803
  const name = ps.name
288
- if (!SchemaAST.isOptional(ps.type)) {
804
+ orderedNames.push(name)
805
+ if (SchemaAST.isOptional(ps.type)) {
806
+ optionalNames.push(name)
807
+ } else {
289
808
  requiredKeys.push(name)
290
809
  }
291
- pss[name] = recur(ps.type, [...path, name])(fc, reset)
810
+ pss[name] = arbitrary(fc, reset, recursionStack)
811
+ }
812
+ // When property-count constraints must be satisfied by selecting
813
+ // optional keys (no index signatures are available to fill the gap),
814
+ // generate a count-controlled subset of optional keys instead of
815
+ // relying on fast-check's independent inclusion plus discards. This
816
+ // enforces both bounds precisely while still varying which optionals
817
+ // appear.
818
+ const constraint = ctx.constraint
819
+ if (
820
+ optionalNames.length > 0 &&
821
+ indexSignatures.length === 0 &&
822
+ constraint !== undefined &&
823
+ (constraint.minLength !== undefined || constraint.maxLength !== undefined)
824
+ ) {
825
+ return objectWithOptionalCount(fc, pss, orderedNames, requiredKeys, optionalNames, constraint)
292
826
  }
293
827
  let out = fc.record<any>(pss, { requiredKeys })
828
+ const entriesConstraints = objectEntriesConstraints(ast, ctx.constraint, requiredKeys.length)
294
829
  // ---------------------------------------------
295
830
  // handle index signatures
296
831
  // ---------------------------------------------
297
- for (const is of ast.indexSignatures) {
298
- const entry = fc.tuple(recur(is.parameter, path)(fc, reset), recur(is.type, path)(fc, reset))
299
- const entries = array(fc, ast.propertySignatures.length === 0 ? ctx : reset, entry)
300
- out = out.chain((o) => {
301
- return entries.map((entries) => {
302
- return {
303
- ...Object.fromEntries(entries),
304
- ...o
305
- }
306
- })
307
- })
832
+ for (const { parameter, type } of indexSignatures) {
833
+ const entry = fc.tuple(parameter(fc, reset, recursionStack), type(fc, reset, recursionStack))
834
+ const entries = arrayWithConstraints(fc, entry, entriesConstraints, entryComparator)
835
+ out = appendObjectEntries(out, entries)
308
836
  }
309
837
  return out
310
- }
311
- case "Union":
312
- return (fc, ctx) => fc.oneof(...ast.types.map((ast) => recur(ast, path)(fc, ctx)))
838
+ }, terminal)
839
+ }
840
+ case "Union": {
841
+ const types = ast.types.map((ast) => recur(ast, path))
842
+ const terminal: LazyOption<any> = (fc, ctx, recursionStack) =>
843
+ oneOf(fc, types.map((type) => type.terminal(fc, ctx, recursionStack)).filter(Predicate.isNotUndefined))
844
+ return makeLazy((fc, ctx, recursionStack) => {
845
+ const arbitraries = types.map((type) => type(fc, ctx, recursionStack))
846
+ if (ctx.recursion) {
847
+ const terminalOut = terminal(fc, ctx, recursionStack)
848
+ if (terminalOut !== undefined) {
849
+ return fc.oneof(ctx.recursion, terminalOut, ...arbitraries)
850
+ }
851
+ }
852
+ const out = oneOf(fc, arbitraries)
853
+ if (out === undefined) {
854
+ throw arbitraryError("a union with no members")
855
+ }
856
+ return out
857
+ }, terminal)
858
+ }
313
859
  case "Suspend": {
314
860
  const memo = arbitraryMemoMap.get(ast)
315
861
 
316
862
  if (memo) return memo
317
863
 
318
864
  const get = SchemaAST.memoizeThunk(() => recur(ast.thunk(), path))
319
- const out: LazyArbitraryWithContext<any> = (fc, ctx) =>
320
- fc.constant(null).chain(() => get()(fc, { ...ctx, isSuspend: true }))
865
+ const out = makeLazy((fc, ctx, recursionStack) => {
866
+ const recursion = getSuspendRecursion(fc, ast)
867
+ const nextCtx = { ...ctx, recursion }
868
+ const nextStack = recursionStack.includes(ast) ? recursionStack : [...recursionStack, ast]
869
+ const terminal = get().terminal(fc, nextCtx, nextStack)
870
+ if (terminal === undefined) {
871
+ throw errorWithPath(
872
+ "Unable to derive an arbitrary for a recursive schema without a finite generation path",
873
+ path
874
+ )
875
+ }
876
+ return fc.oneof(
877
+ recursion,
878
+ terminal,
879
+ fc.constant(null).chain(() => get()(fc, nextCtx, nextStack))
880
+ )
881
+ }, (fc, ctx, recursionStack) => {
882
+ if (recursionStack.includes(ast)) {
883
+ return undefined
884
+ }
885
+ const recursion = getSuspendRecursion(fc, ast)
886
+ return get().terminal(fc, { ...ctx, recursion }, [...recursionStack, ast])
887
+ })
321
888
 
322
889
  arbitraryMemoMap.set(ast, out)
323
890