effect 4.0.0-beta.69 → 4.0.0-beta.70

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 (1269) hide show
  1. package/dist/Array.d.ts +454 -0
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +152 -0
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +87 -33
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +37 -11
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +71 -14
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +35 -10
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +4 -0
  14. package/dist/Boolean.d.ts.map +1 -1
  15. package/dist/Boolean.js +4 -0
  16. package/dist/Boolean.js.map +1 -1
  17. package/dist/Brand.d.ts +16 -11
  18. package/dist/Brand.d.ts.map +1 -1
  19. package/dist/Brand.js +16 -11
  20. package/dist/Brand.js.map +1 -1
  21. package/dist/Cache.d.ts +13 -1
  22. package/dist/Cache.d.ts.map +1 -1
  23. package/dist/Cache.js +8 -0
  24. package/dist/Cache.js.map +1 -1
  25. package/dist/Cause.d.ts +95 -3
  26. package/dist/Cause.d.ts.map +1 -1
  27. package/dist/Cause.js +56 -2
  28. package/dist/Cause.js.map +1 -1
  29. package/dist/Channel.d.ts +312 -0
  30. package/dist/Channel.d.ts.map +1 -1
  31. package/dist/Channel.js +126 -0
  32. package/dist/Channel.js.map +1 -1
  33. package/dist/ChannelSchema.d.ts +20 -0
  34. package/dist/ChannelSchema.d.ts.map +1 -1
  35. package/dist/ChannelSchema.js +12 -0
  36. package/dist/ChannelSchema.js.map +1 -1
  37. package/dist/Chunk.d.ts +59 -22
  38. package/dist/Chunk.d.ts.map +1 -1
  39. package/dist/Chunk.js +29 -10
  40. package/dist/Chunk.js.map +1 -1
  41. package/dist/Combiner.d.ts +75 -71
  42. package/dist/Combiner.d.ts.map +1 -1
  43. package/dist/Combiner.js +67 -62
  44. package/dist/Combiner.js.map +1 -1
  45. package/dist/Config.d.ts +167 -46
  46. package/dist/Config.d.ts.map +1 -1
  47. package/dist/Config.js +108 -28
  48. package/dist/Config.js.map +1 -1
  49. package/dist/ConfigProvider.d.ts +235 -158
  50. package/dist/ConfigProvider.d.ts.map +1 -1
  51. package/dist/ConfigProvider.js +144 -93
  52. package/dist/ConfigProvider.js.map +1 -1
  53. package/dist/Console.d.ts +21 -79
  54. package/dist/Console.d.ts.map +1 -1
  55. package/dist/Console.js +20 -75
  56. package/dist/Console.js.map +1 -1
  57. package/dist/Context.d.ts +4 -4
  58. package/dist/Context.js +2 -2
  59. package/dist/Cron.d.ts +42 -16
  60. package/dist/Cron.d.ts.map +1 -1
  61. package/dist/Cron.js +33 -13
  62. package/dist/Cron.js.map +1 -1
  63. package/dist/Crypto.d.ts +6 -0
  64. package/dist/Crypto.d.ts.map +1 -1
  65. package/dist/Crypto.js.map +1 -1
  66. package/dist/Data.d.ts +132 -70
  67. package/dist/Data.d.ts.map +1 -1
  68. package/dist/Data.js +44 -29
  69. package/dist/Data.js.map +1 -1
  70. package/dist/DateTime.d.ts +227 -14
  71. package/dist/DateTime.d.ts.map +1 -1
  72. package/dist/DateTime.js +115 -6
  73. package/dist/DateTime.js.map +1 -1
  74. package/dist/Deferred.d.ts +94 -27
  75. package/dist/Deferred.d.ts.map +1 -1
  76. package/dist/Deferred.js +33 -8
  77. package/dist/Deferred.js.map +1 -1
  78. package/dist/Differ.d.ts +2 -0
  79. package/dist/Differ.d.ts.map +1 -1
  80. package/dist/Duration.d.ts +64 -6
  81. package/dist/Duration.d.ts.map +1 -1
  82. package/dist/Duration.js +26 -2
  83. package/dist/Duration.js.map +1 -1
  84. package/dist/Effect.d.ts +907 -603
  85. package/dist/Effect.d.ts.map +1 -1
  86. package/dist/Effect.js +360 -233
  87. package/dist/Effect.js.map +1 -1
  88. package/dist/Effectable.d.ts +3 -1
  89. package/dist/Effectable.d.ts.map +1 -1
  90. package/dist/Effectable.js +3 -1
  91. package/dist/Effectable.js.map +1 -1
  92. package/dist/Encoding.d.ts +16 -0
  93. package/dist/Encoding.d.ts.map +1 -1
  94. package/dist/Encoding.js +16 -0
  95. package/dist/Encoding.js.map +1 -1
  96. package/dist/Equal.d.ts +52 -40
  97. package/dist/Equal.d.ts.map +1 -1
  98. package/dist/Equal.js +32 -26
  99. package/dist/Equal.js.map +1 -1
  100. package/dist/Equivalence.d.ts +190 -153
  101. package/dist/Equivalence.d.ts.map +1 -1
  102. package/dist/Equivalence.js +129 -104
  103. package/dist/Equivalence.js.map +1 -1
  104. package/dist/ErrorReporter.d.ts +35 -14
  105. package/dist/ErrorReporter.d.ts.map +1 -1
  106. package/dist/ErrorReporter.js +18 -6
  107. package/dist/ErrorReporter.js.map +1 -1
  108. package/dist/ExecutionPlan.d.ts +10 -3
  109. package/dist/ExecutionPlan.d.ts.map +1 -1
  110. package/dist/ExecutionPlan.js +4 -3
  111. package/dist/ExecutionPlan.js.map +1 -1
  112. package/dist/Exit.d.ts +212 -6
  113. package/dist/Exit.d.ts.map +1 -1
  114. package/dist/Exit.js +139 -2
  115. package/dist/Exit.js.map +1 -1
  116. package/dist/Fiber.d.ts +8 -0
  117. package/dist/Fiber.d.ts.map +1 -1
  118. package/dist/Fiber.js +4 -0
  119. package/dist/Fiber.js.map +1 -1
  120. package/dist/FiberHandle.d.ts +46 -23
  121. package/dist/FiberHandle.d.ts.map +1 -1
  122. package/dist/FiberHandle.js +27 -11
  123. package/dist/FiberHandle.js.map +1 -1
  124. package/dist/FiberMap.d.ts +43 -4
  125. package/dist/FiberMap.d.ts.map +1 -1
  126. package/dist/FiberMap.js +27 -4
  127. package/dist/FiberMap.js.map +1 -1
  128. package/dist/FiberSet.d.ts +21 -6
  129. package/dist/FiberSet.d.ts.map +1 -1
  130. package/dist/FiberSet.js +17 -6
  131. package/dist/FiberSet.js.map +1 -1
  132. package/dist/FileSystem.d.ts +64 -0
  133. package/dist/FileSystem.d.ts.map +1 -1
  134. package/dist/FileSystem.js +26 -0
  135. package/dist/FileSystem.js.map +1 -1
  136. package/dist/Filter.d.ts +53 -21
  137. package/dist/Filter.d.ts.map +1 -1
  138. package/dist/Filter.js +20 -9
  139. package/dist/Filter.js.map +1 -1
  140. package/dist/Formatter.d.ts +21 -22
  141. package/dist/Formatter.d.ts.map +1 -1
  142. package/dist/Formatter.js +12 -12
  143. package/dist/Formatter.js.map +1 -1
  144. package/dist/Function.d.ts +67 -75
  145. package/dist/Function.d.ts.map +1 -1
  146. package/dist/Function.js +29 -19
  147. package/dist/Function.js.map +1 -1
  148. package/dist/Graph.d.ts +51 -13
  149. package/dist/Graph.d.ts.map +1 -1
  150. package/dist/Graph.js +19 -3
  151. package/dist/Graph.js.map +1 -1
  152. package/dist/HKT.d.ts +22 -21
  153. package/dist/HKT.d.ts.map +1 -1
  154. package/dist/Hash.d.ts +33 -10
  155. package/dist/Hash.d.ts.map +1 -1
  156. package/dist/Hash.js +27 -10
  157. package/dist/Hash.js.map +1 -1
  158. package/dist/HashMap.d.ts +50 -9
  159. package/dist/HashMap.d.ts.map +1 -1
  160. package/dist/HashMap.js +17 -3
  161. package/dist/HashMap.js.map +1 -1
  162. package/dist/HashRing.d.ts +4 -0
  163. package/dist/HashRing.d.ts.map +1 -1
  164. package/dist/HashRing.js +2 -0
  165. package/dist/HashRing.js.map +1 -1
  166. package/dist/HashSet.d.ts +2 -0
  167. package/dist/HashSet.d.ts.map +1 -1
  168. package/dist/HashSet.js.map +1 -1
  169. package/dist/Inspectable.d.ts +15 -2
  170. package/dist/Inspectable.d.ts.map +1 -1
  171. package/dist/Inspectable.js +11 -2
  172. package/dist/Inspectable.js.map +1 -1
  173. package/dist/Iterable.d.ts +104 -22
  174. package/dist/Iterable.d.ts.map +1 -1
  175. package/dist/Iterable.js +46 -12
  176. package/dist/Iterable.js.map +1 -1
  177. package/dist/JsonPatch.d.ts +61 -80
  178. package/dist/JsonPatch.d.ts.map +1 -1
  179. package/dist/JsonPatch.js +35 -42
  180. package/dist/JsonPatch.js.map +1 -1
  181. package/dist/JsonPointer.d.ts +16 -20
  182. package/dist/JsonPointer.d.ts.map +1 -1
  183. package/dist/JsonPointer.js +16 -20
  184. package/dist/JsonPointer.js.map +1 -1
  185. package/dist/JsonSchema.d.ts +123 -73
  186. package/dist/JsonSchema.d.ts.map +1 -1
  187. package/dist/JsonSchema.js +95 -53
  188. package/dist/JsonSchema.js.map +1 -1
  189. package/dist/Latch.d.ts +28 -2
  190. package/dist/Latch.d.ts.map +1 -1
  191. package/dist/Latch.js +22 -2
  192. package/dist/Latch.js.map +1 -1
  193. package/dist/Layer.d.ts +781 -335
  194. package/dist/Layer.d.ts.map +1 -1
  195. package/dist/Layer.js +324 -129
  196. package/dist/Layer.js.map +1 -1
  197. package/dist/LogLevel.d.ts +86 -13
  198. package/dist/LogLevel.d.ts.map +1 -1
  199. package/dist/LogLevel.js +30 -4
  200. package/dist/LogLevel.js.map +1 -1
  201. package/dist/Logger.d.ts +63 -51
  202. package/dist/Logger.d.ts.map +1 -1
  203. package/dist/Logger.js +61 -51
  204. package/dist/Logger.js.map +1 -1
  205. package/dist/ManagedRuntime.d.ts +12 -0
  206. package/dist/ManagedRuntime.d.ts.map +1 -1
  207. package/dist/ManagedRuntime.js +1 -0
  208. package/dist/ManagedRuntime.js.map +1 -1
  209. package/dist/Match.d.ts +83 -1
  210. package/dist/Match.d.ts.map +1 -1
  211. package/dist/Match.js +31 -1
  212. package/dist/Match.js.map +1 -1
  213. package/dist/Metric.d.ts +89 -12
  214. package/dist/Metric.d.ts.map +1 -1
  215. package/dist/Metric.js +53 -8
  216. package/dist/Metric.js.map +1 -1
  217. package/dist/MutableHashMap.d.ts +14 -0
  218. package/dist/MutableHashMap.d.ts.map +1 -1
  219. package/dist/MutableHashMap.js +4 -0
  220. package/dist/MutableHashMap.js.map +1 -1
  221. package/dist/MutableHashSet.d.ts +2 -0
  222. package/dist/MutableHashSet.d.ts.map +1 -1
  223. package/dist/MutableHashSet.js.map +1 -1
  224. package/dist/MutableList.d.ts +24 -6
  225. package/dist/MutableList.d.ts.map +1 -1
  226. package/dist/MutableList.js +22 -6
  227. package/dist/MutableList.js.map +1 -1
  228. package/dist/MutableRef.d.ts +2 -0
  229. package/dist/MutableRef.d.ts.map +1 -1
  230. package/dist/MutableRef.js.map +1 -1
  231. package/dist/Newtype.d.ts +69 -30
  232. package/dist/Newtype.d.ts.map +1 -1
  233. package/dist/Newtype.js +52 -22
  234. package/dist/Newtype.js.map +1 -1
  235. package/dist/NonEmptyIterable.d.ts +6 -0
  236. package/dist/NonEmptyIterable.d.ts.map +1 -1
  237. package/dist/NonEmptyIterable.js +2 -0
  238. package/dist/NonEmptyIterable.js.map +1 -1
  239. package/dist/Number.d.ts +16 -30
  240. package/dist/Number.d.ts.map +1 -1
  241. package/dist/Number.js +6 -12
  242. package/dist/Number.js.map +1 -1
  243. package/dist/Optic.d.ts +90 -40
  244. package/dist/Optic.d.ts.map +1 -1
  245. package/dist/Optic.js +48 -24
  246. package/dist/Optic.js.map +1 -1
  247. package/dist/Option.d.ts +121 -111
  248. package/dist/Option.d.ts.map +1 -1
  249. package/dist/Option.js +56 -54
  250. package/dist/Option.js.map +1 -1
  251. package/dist/Order.d.ts +169 -167
  252. package/dist/Order.d.ts.map +1 -1
  253. package/dist/Order.js +135 -135
  254. package/dist/Order.js.map +1 -1
  255. package/dist/Ordering.d.ts +4 -0
  256. package/dist/Ordering.d.ts.map +1 -1
  257. package/dist/Ordering.js +2 -0
  258. package/dist/Ordering.js.map +1 -1
  259. package/dist/PartitionedSemaphore.d.ts +7 -5
  260. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  261. package/dist/PartitionedSemaphore.js +5 -5
  262. package/dist/PartitionedSemaphore.js.map +1 -1
  263. package/dist/Path.d.ts +8 -0
  264. package/dist/Path.d.ts.map +1 -1
  265. package/dist/Path.js +4 -0
  266. package/dist/Path.js.map +1 -1
  267. package/dist/Pipeable.d.ts +10 -0
  268. package/dist/Pipeable.d.ts.map +1 -1
  269. package/dist/Pipeable.js +8 -0
  270. package/dist/Pipeable.js.map +1 -1
  271. package/dist/PlatformError.d.ts +12 -0
  272. package/dist/PlatformError.d.ts.map +1 -1
  273. package/dist/PlatformError.js +10 -0
  274. package/dist/PlatformError.js.map +1 -1
  275. package/dist/Pool.d.ts +30 -16
  276. package/dist/Pool.d.ts.map +1 -1
  277. package/dist/Pool.js +30 -16
  278. package/dist/Pool.js.map +1 -1
  279. package/dist/Predicate.d.ts +520 -352
  280. package/dist/Predicate.d.ts.map +1 -1
  281. package/dist/Predicate.js +271 -184
  282. package/dist/Predicate.js.map +1 -1
  283. package/dist/PrimaryKey.d.ts +4 -0
  284. package/dist/PrimaryKey.d.ts.map +1 -1
  285. package/dist/PrimaryKey.js +2 -0
  286. package/dist/PrimaryKey.js.map +1 -1
  287. package/dist/PubSub.d.ts +22 -4
  288. package/dist/PubSub.d.ts.map +1 -1
  289. package/dist/PubSub.js +17 -3
  290. package/dist/PubSub.js.map +1 -1
  291. package/dist/Pull.d.ts +16 -0
  292. package/dist/Pull.d.ts.map +1 -1
  293. package/dist/Pull.js +10 -0
  294. package/dist/Pull.js.map +1 -1
  295. package/dist/Queue.d.ts +44 -0
  296. package/dist/Queue.d.ts.map +1 -1
  297. package/dist/Queue.js +28 -0
  298. package/dist/Queue.js.map +1 -1
  299. package/dist/Random.d.ts +25 -6
  300. package/dist/Random.d.ts.map +1 -1
  301. package/dist/Random.js +11 -2
  302. package/dist/Random.js.map +1 -1
  303. package/dist/RcMap.d.ts +10 -6
  304. package/dist/RcMap.d.ts.map +1 -1
  305. package/dist/RcMap.js +2 -2
  306. package/dist/RcMap.js.map +1 -1
  307. package/dist/RcRef.d.ts +3 -1
  308. package/dist/RcRef.d.ts.map +1 -1
  309. package/dist/RcRef.js.map +1 -1
  310. package/dist/Record.d.ts +24 -3
  311. package/dist/Record.d.ts.map +1 -1
  312. package/dist/Record.js +12 -3
  313. package/dist/Record.js.map +1 -1
  314. package/dist/Redactable.d.ts +54 -41
  315. package/dist/Redactable.d.ts.map +1 -1
  316. package/dist/Redactable.js +42 -32
  317. package/dist/Redactable.js.map +1 -1
  318. package/dist/Redacted.d.ts +10 -0
  319. package/dist/Redacted.d.ts.map +1 -1
  320. package/dist/Redacted.js +6 -0
  321. package/dist/Redacted.js.map +1 -1
  322. package/dist/Reducer.d.ts +20 -11
  323. package/dist/Reducer.d.ts.map +1 -1
  324. package/dist/Reducer.js +10 -6
  325. package/dist/Reducer.js.map +1 -1
  326. package/dist/Ref.d.ts +45 -24
  327. package/dist/Ref.d.ts.map +1 -1
  328. package/dist/Ref.js +41 -21
  329. package/dist/Ref.js.map +1 -1
  330. package/dist/References.d.ts +18 -1
  331. package/dist/References.d.ts.map +1 -1
  332. package/dist/References.js +17 -1
  333. package/dist/References.js.map +1 -1
  334. package/dist/Request.d.ts +3 -3
  335. package/dist/Request.js +2 -2
  336. package/dist/RequestResolver.d.ts +7 -17
  337. package/dist/RequestResolver.d.ts.map +1 -1
  338. package/dist/RequestResolver.js +3 -5
  339. package/dist/RequestResolver.js.map +1 -1
  340. package/dist/Resource.d.ts +2 -0
  341. package/dist/Resource.d.ts.map +1 -1
  342. package/dist/Resource.js +2 -0
  343. package/dist/Resource.js.map +1 -1
  344. package/dist/Result.d.ts +188 -6
  345. package/dist/Result.d.ts.map +1 -1
  346. package/dist/Result.js +84 -2
  347. package/dist/Result.js.map +1 -1
  348. package/dist/Runtime.d.ts +14 -11
  349. package/dist/Runtime.d.ts.map +1 -1
  350. package/dist/Runtime.js +11 -9
  351. package/dist/Runtime.js.map +1 -1
  352. package/dist/Schedule.d.ts +27 -3
  353. package/dist/Schedule.d.ts.map +1 -1
  354. package/dist/Schedule.js +21 -2
  355. package/dist/Schedule.js.map +1 -1
  356. package/dist/Scheduler.d.ts +22 -19
  357. package/dist/Scheduler.d.ts.map +1 -1
  358. package/dist/Scheduler.js +14 -12
  359. package/dist/Scheduler.js.map +1 -1
  360. package/dist/Schema.d.ts +547 -130
  361. package/dist/Schema.d.ts.map +1 -1
  362. package/dist/Schema.js +409 -121
  363. package/dist/Schema.js.map +1 -1
  364. package/dist/SchemaAST.d.ts +123 -65
  365. package/dist/SchemaAST.d.ts.map +1 -1
  366. package/dist/SchemaAST.js +90 -39
  367. package/dist/SchemaAST.js.map +1 -1
  368. package/dist/SchemaGetter.d.ts +269 -234
  369. package/dist/SchemaGetter.d.ts.map +1 -1
  370. package/dist/SchemaGetter.js +245 -215
  371. package/dist/SchemaGetter.js.map +1 -1
  372. package/dist/SchemaIssue.d.ts +48 -46
  373. package/dist/SchemaIssue.d.ts.map +1 -1
  374. package/dist/SchemaIssue.js +34 -34
  375. package/dist/SchemaIssue.js.map +1 -1
  376. package/dist/SchemaParser.d.ts +58 -0
  377. package/dist/SchemaParser.d.ts.map +1 -1
  378. package/dist/SchemaParser.js +58 -0
  379. package/dist/SchemaParser.js.map +1 -1
  380. package/dist/SchemaRepresentation.d.ts +198 -96
  381. package/dist/SchemaRepresentation.d.ts.map +1 -1
  382. package/dist/SchemaRepresentation.js +107 -45
  383. package/dist/SchemaRepresentation.js.map +1 -1
  384. package/dist/SchemaTransformation.d.ts +272 -203
  385. package/dist/SchemaTransformation.d.ts.map +1 -1
  386. package/dist/SchemaTransformation.js +249 -187
  387. package/dist/SchemaTransformation.js.map +1 -1
  388. package/dist/SchemaUtils.d.ts +2 -0
  389. package/dist/SchemaUtils.d.ts.map +1 -1
  390. package/dist/SchemaUtils.js +2 -0
  391. package/dist/SchemaUtils.js.map +1 -1
  392. package/dist/Scope.d.ts +18 -0
  393. package/dist/Scope.d.ts.map +1 -1
  394. package/dist/Scope.js +12 -0
  395. package/dist/Scope.js.map +1 -1
  396. package/dist/ScopedCache.d.ts +44 -0
  397. package/dist/ScopedCache.d.ts.map +1 -1
  398. package/dist/ScopedCache.js +18 -0
  399. package/dist/ScopedCache.js.map +1 -1
  400. package/dist/ScopedRef.d.ts +9 -3
  401. package/dist/ScopedRef.d.ts.map +1 -1
  402. package/dist/ScopedRef.js +3 -1
  403. package/dist/ScopedRef.js.map +1 -1
  404. package/dist/Semaphore.d.ts +6 -0
  405. package/dist/Semaphore.d.ts.map +1 -1
  406. package/dist/Semaphore.js +4 -0
  407. package/dist/Semaphore.js.map +1 -1
  408. package/dist/Sink.d.ts +108 -0
  409. package/dist/Sink.d.ts.map +1 -1
  410. package/dist/Sink.js +54 -0
  411. package/dist/Sink.js.map +1 -1
  412. package/dist/Stdio.d.ts +7 -3
  413. package/dist/Stdio.d.ts.map +1 -1
  414. package/dist/Stdio.js +2 -0
  415. package/dist/Stdio.js.map +1 -1
  416. package/dist/Stream.d.ts +416 -16
  417. package/dist/Stream.d.ts.map +1 -1
  418. package/dist/Stream.js +164 -8
  419. package/dist/Stream.js.map +1 -1
  420. package/dist/String.d.ts +14 -0
  421. package/dist/String.d.ts.map +1 -1
  422. package/dist/String.js +6 -0
  423. package/dist/String.js.map +1 -1
  424. package/dist/Struct.d.ts +371 -191
  425. package/dist/Struct.d.ts.map +1 -1
  426. package/dist/Struct.js +144 -77
  427. package/dist/Struct.js.map +1 -1
  428. package/dist/SubscriptionRef.d.ts +7 -1
  429. package/dist/SubscriptionRef.d.ts.map +1 -1
  430. package/dist/SubscriptionRef.js +5 -1
  431. package/dist/SubscriptionRef.js.map +1 -1
  432. package/dist/SynchronizedRef.d.ts +2 -0
  433. package/dist/SynchronizedRef.d.ts.map +1 -1
  434. package/dist/SynchronizedRef.js +2 -0
  435. package/dist/SynchronizedRef.js.map +1 -1
  436. package/dist/Tracer.d.ts +17 -27
  437. package/dist/Tracer.d.ts.map +1 -1
  438. package/dist/Tracer.js +8 -12
  439. package/dist/Tracer.js.map +1 -1
  440. package/dist/Trie.d.ts +23 -9
  441. package/dist/Trie.d.ts.map +1 -1
  442. package/dist/Trie.js +13 -3
  443. package/dist/Trie.js.map +1 -1
  444. package/dist/Tuple.d.ts +287 -144
  445. package/dist/Tuple.d.ts.map +1 -1
  446. package/dist/Tuple.js +135 -66
  447. package/dist/Tuple.js.map +1 -1
  448. package/dist/TxChunk.d.ts +182 -93
  449. package/dist/TxChunk.d.ts.map +1 -1
  450. package/dist/TxChunk.js +68 -35
  451. package/dist/TxChunk.js.map +1 -1
  452. package/dist/TxDeferred.d.ts +3 -4
  453. package/dist/TxDeferred.d.ts.map +1 -1
  454. package/dist/TxDeferred.js.map +1 -1
  455. package/dist/TxHashMap.d.ts +163 -86
  456. package/dist/TxHashMap.d.ts.map +1 -1
  457. package/dist/TxHashMap.js +57 -30
  458. package/dist/TxHashMap.js.map +1 -1
  459. package/dist/TxHashSet.d.ts +24 -27
  460. package/dist/TxHashSet.d.ts.map +1 -1
  461. package/dist/TxHashSet.js +9 -6
  462. package/dist/TxHashSet.js.map +1 -1
  463. package/dist/TxPriorityQueue.d.ts +2 -0
  464. package/dist/TxPriorityQueue.d.ts.map +1 -1
  465. package/dist/TxPriorityQueue.js.map +1 -1
  466. package/dist/TxPubSub.d.ts +36 -35
  467. package/dist/TxPubSub.d.ts.map +1 -1
  468. package/dist/TxPubSub.js +22 -21
  469. package/dist/TxPubSub.js.map +1 -1
  470. package/dist/TxQueue.d.ts +77 -114
  471. package/dist/TxQueue.d.ts.map +1 -1
  472. package/dist/TxQueue.js +45 -62
  473. package/dist/TxQueue.js.map +1 -1
  474. package/dist/TxRef.d.ts +4 -0
  475. package/dist/TxRef.d.ts.map +1 -1
  476. package/dist/TxRef.js +2 -0
  477. package/dist/TxRef.js.map +1 -1
  478. package/dist/TxSemaphore.d.ts +66 -27
  479. package/dist/TxSemaphore.d.ts.map +1 -1
  480. package/dist/TxSemaphore.js +38 -15
  481. package/dist/TxSemaphore.js.map +1 -1
  482. package/dist/Types.d.ts +202 -75
  483. package/dist/Types.d.ts.map +1 -1
  484. package/dist/UndefinedOr.d.ts +31 -29
  485. package/dist/UndefinedOr.d.ts.map +1 -1
  486. package/dist/UndefinedOr.js +27 -21
  487. package/dist/UndefinedOr.js.map +1 -1
  488. package/dist/Unify.d.ts +28 -0
  489. package/dist/Unify.d.ts.map +1 -1
  490. package/dist/Unify.js +2 -0
  491. package/dist/Unify.js.map +1 -1
  492. package/dist/Utils.d.ts +29 -35
  493. package/dist/Utils.d.ts.map +1 -1
  494. package/dist/Utils.js +11 -13
  495. package/dist/Utils.js.map +1 -1
  496. package/dist/index.d.ts +18 -7
  497. package/dist/index.d.ts.map +1 -1
  498. package/dist/index.js +18 -7
  499. package/dist/index.js.map +1 -1
  500. package/dist/testing/TestClock.d.ts +17 -17
  501. package/dist/testing/TestClock.js +1 -1
  502. package/dist/testing/TestClock.js.map +1 -1
  503. package/dist/testing/TestConsole.d.ts +2 -0
  504. package/dist/testing/TestConsole.d.ts.map +1 -1
  505. package/dist/testing/TestConsole.js.map +1 -1
  506. package/dist/testing/TestSchema.d.ts +43 -55
  507. package/dist/testing/TestSchema.d.ts.map +1 -1
  508. package/dist/testing/TestSchema.js +43 -55
  509. package/dist/testing/TestSchema.js.map +1 -1
  510. package/dist/unstable/ai/AiError.d.ts +62 -11
  511. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  512. package/dist/unstable/ai/AiError.js +58 -11
  513. package/dist/unstable/ai/AiError.js.map +1 -1
  514. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +4 -4
  515. package/dist/unstable/ai/AnthropicStructuredOutput.js +4 -4
  516. package/dist/unstable/ai/Chat.d.ts +29 -1
  517. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  518. package/dist/unstable/ai/Chat.js +15 -1
  519. package/dist/unstable/ai/Chat.js.map +1 -1
  520. package/dist/unstable/ai/IdGenerator.d.ts +10 -0
  521. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  522. package/dist/unstable/ai/IdGenerator.js +8 -0
  523. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  524. package/dist/unstable/ai/LanguageModel.d.ts +32 -46
  525. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  526. package/dist/unstable/ai/LanguageModel.js +5 -14
  527. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  528. package/dist/unstable/ai/McpSchema.d.ts +84 -32
  529. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  530. package/dist/unstable/ai/McpSchema.js +73 -28
  531. package/dist/unstable/ai/McpSchema.js.map +1 -1
  532. package/dist/unstable/ai/McpServer.d.ts +8 -0
  533. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  534. package/dist/unstable/ai/McpServer.js +6 -0
  535. package/dist/unstable/ai/McpServer.js.map +1 -1
  536. package/dist/unstable/ai/Model.d.ts +9 -5
  537. package/dist/unstable/ai/Model.d.ts.map +1 -1
  538. package/dist/unstable/ai/Model.js +4 -0
  539. package/dist/unstable/ai/Model.js.map +1 -1
  540. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +3 -2
  541. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  542. package/dist/unstable/ai/OpenAiStructuredOutput.js +3 -2
  543. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  544. package/dist/unstable/ai/Prompt.d.ts +62 -35
  545. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  546. package/dist/unstable/ai/Prompt.js +16 -15
  547. package/dist/unstable/ai/Prompt.js.map +1 -1
  548. package/dist/unstable/ai/Response.d.ts +40 -21
  549. package/dist/unstable/ai/Response.d.ts.map +1 -1
  550. package/dist/unstable/ai/Response.js +10 -0
  551. package/dist/unstable/ai/Response.js.map +1 -1
  552. package/dist/unstable/ai/ResponseIdTracker.d.ts +8 -0
  553. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
  554. package/dist/unstable/ai/ResponseIdTracker.js +4 -0
  555. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  556. package/dist/unstable/ai/Telemetry.d.ts +30 -5
  557. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  558. package/dist/unstable/ai/Telemetry.js +7 -1
  559. package/dist/unstable/ai/Telemetry.js.map +1 -1
  560. package/dist/unstable/ai/Tokenizer.d.ts +6 -0
  561. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  562. package/dist/unstable/ai/Tokenizer.js +4 -0
  563. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  564. package/dist/unstable/ai/Tool.d.ts +68 -0
  565. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  566. package/dist/unstable/ai/Tool.js +36 -0
  567. package/dist/unstable/ai/Tool.js.map +1 -1
  568. package/dist/unstable/ai/Toolkit.d.ts +12 -0
  569. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  570. package/dist/unstable/ai/Toolkit.js +6 -0
  571. package/dist/unstable/ai/Toolkit.js.map +1 -1
  572. package/dist/unstable/cli/Argument.d.ts +14 -4
  573. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  574. package/dist/unstable/cli/Argument.js +4 -0
  575. package/dist/unstable/cli/Argument.js.map +1 -1
  576. package/dist/unstable/cli/CliError.d.ts +6 -0
  577. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  578. package/dist/unstable/cli/CliError.js +4 -0
  579. package/dist/unstable/cli/CliError.js.map +1 -1
  580. package/dist/unstable/cli/Command.d.ts +123 -12
  581. package/dist/unstable/cli/Command.d.ts.map +1 -1
  582. package/dist/unstable/cli/Command.js +57 -4
  583. package/dist/unstable/cli/Command.js.map +1 -1
  584. package/dist/unstable/cli/Flag.d.ts +31 -14
  585. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  586. package/dist/unstable/cli/Flag.js +23 -10
  587. package/dist/unstable/cli/Flag.js.map +1 -1
  588. package/dist/unstable/cli/Param.d.ts +10 -0
  589. package/dist/unstable/cli/Param.d.ts.map +1 -1
  590. package/dist/unstable/cli/Param.js +46 -5
  591. package/dist/unstable/cli/Param.js.map +1 -1
  592. package/dist/unstable/cli/Primitive.d.ts +10 -0
  593. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  594. package/dist/unstable/cli/Primitive.js +10 -0
  595. package/dist/unstable/cli/Primitive.js.map +1 -1
  596. package/dist/unstable/cli/Prompt.d.ts +47 -40
  597. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  598. package/dist/unstable/cli/Prompt.js +25 -20
  599. package/dist/unstable/cli/Prompt.js.map +1 -1
  600. package/dist/unstable/cli/internal/command.d.ts +1 -0
  601. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  602. package/dist/unstable/cli/internal/command.js +10 -2
  603. package/dist/unstable/cli/internal/command.js.map +1 -1
  604. package/dist/unstable/cli/internal/completions/descriptor.js +3 -0
  605. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  606. package/dist/unstable/cli/internal/parser.js +8 -1
  607. package/dist/unstable/cli/internal/parser.js.map +1 -1
  608. package/dist/unstable/cluster/ClusterCron.d.ts +10 -1
  609. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  610. package/dist/unstable/cluster/ClusterCron.js +2 -0
  611. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  612. package/dist/unstable/cluster/ClusterSchema.d.ts +8 -0
  613. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  614. package/dist/unstable/cluster/ClusterSchema.js +8 -0
  615. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  616. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +4 -0
  617. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  618. package/dist/unstable/cluster/ClusterWorkflowEngine.js +4 -0
  619. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  620. package/dist/unstable/cluster/DeliverAt.d.ts +3 -4
  621. package/dist/unstable/cluster/DeliverAt.d.ts.map +1 -1
  622. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  623. package/dist/unstable/cluster/Entity.d.ts +24 -0
  624. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  625. package/dist/unstable/cluster/Entity.js +12 -0
  626. package/dist/unstable/cluster/Entity.js.map +1 -1
  627. package/dist/unstable/cluster/EntityProxy.d.ts +10 -4
  628. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  629. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  630. package/dist/unstable/cluster/EntityProxyServer.d.ts +6 -0
  631. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  632. package/dist/unstable/cluster/EntityProxyServer.js +4 -0
  633. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  634. package/dist/unstable/cluster/EntityResource.d.ts +10 -0
  635. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  636. package/dist/unstable/cluster/EntityResource.js +8 -0
  637. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  638. package/dist/unstable/cluster/Envelope.d.ts +16 -0
  639. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  640. package/dist/unstable/cluster/Envelope.js +10 -0
  641. package/dist/unstable/cluster/Envelope.js.map +1 -1
  642. package/dist/unstable/cluster/HttpRunner.d.ts +16 -0
  643. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  644. package/dist/unstable/cluster/HttpRunner.js +16 -0
  645. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  646. package/dist/unstable/cluster/K8sHttpClient.d.ts +8 -0
  647. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  648. package/dist/unstable/cluster/K8sHttpClient.js +8 -0
  649. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  650. package/dist/unstable/cluster/Message.d.ts +24 -0
  651. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  652. package/dist/unstable/cluster/Message.js +18 -0
  653. package/dist/unstable/cluster/Message.js.map +1 -1
  654. package/dist/unstable/cluster/MessageStorage.d.ts +64 -20
  655. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  656. package/dist/unstable/cluster/MessageStorage.js +8 -0
  657. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  658. package/dist/unstable/cluster/Reply.d.ts +6 -6
  659. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  660. package/dist/unstable/cluster/Reply.js +4 -3
  661. package/dist/unstable/cluster/Reply.js.map +1 -1
  662. package/dist/unstable/cluster/Runner.d.ts +2 -0
  663. package/dist/unstable/cluster/Runner.d.ts.map +1 -1
  664. package/dist/unstable/cluster/Runner.js +2 -0
  665. package/dist/unstable/cluster/Runner.js.map +1 -1
  666. package/dist/unstable/cluster/RunnerHealth.d.ts +13 -2
  667. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  668. package/dist/unstable/cluster/RunnerHealth.js +13 -2
  669. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  670. package/dist/unstable/cluster/RunnerServer.d.ts +8 -8
  671. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  672. package/dist/unstable/cluster/RunnerServer.js +8 -8
  673. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  674. package/dist/unstable/cluster/RunnerStorage.d.ts +2 -0
  675. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  676. package/dist/unstable/cluster/RunnerStorage.js +2 -0
  677. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  678. package/dist/unstable/cluster/ShardId.d.ts +4 -0
  679. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  680. package/dist/unstable/cluster/ShardId.js +4 -0
  681. package/dist/unstable/cluster/ShardId.js.map +1 -1
  682. package/dist/unstable/cluster/Snowflake.d.ts +2 -0
  683. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  684. package/dist/unstable/cluster/Snowflake.js +2 -0
  685. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  686. package/dist/unstable/cluster/TestRunner.d.ts +3 -2
  687. package/dist/unstable/cluster/TestRunner.d.ts.map +1 -1
  688. package/dist/unstable/cluster/TestRunner.js +3 -2
  689. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  690. package/dist/unstable/devtools/DevToolsSchema.d.ts +34 -2
  691. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  692. package/dist/unstable/devtools/DevToolsSchema.js +14 -0
  693. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  694. package/dist/unstable/devtools/DevToolsServer.d.ts +4 -0
  695. package/dist/unstable/devtools/DevToolsServer.d.ts.map +1 -1
  696. package/dist/unstable/devtools/DevToolsServer.js +2 -0
  697. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  698. package/dist/unstable/encoding/Msgpack.d.ts +24 -0
  699. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  700. package/dist/unstable/encoding/Msgpack.js +18 -0
  701. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  702. package/dist/unstable/encoding/Ndjson.d.ts +46 -2
  703. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  704. package/dist/unstable/encoding/Ndjson.js +30 -2
  705. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  706. package/dist/unstable/encoding/Sse.d.ts +24 -17
  707. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  708. package/dist/unstable/encoding/Sse.js +20 -11
  709. package/dist/unstable/encoding/Sse.js.map +1 -1
  710. package/dist/unstable/eventlog/Event.d.ts +16 -0
  711. package/dist/unstable/eventlog/Event.d.ts.map +1 -1
  712. package/dist/unstable/eventlog/Event.js.map +1 -1
  713. package/dist/unstable/eventlog/EventGroup.d.ts +4 -0
  714. package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
  715. package/dist/unstable/eventlog/EventGroup.js +2 -0
  716. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  717. package/dist/unstable/eventlog/EventJournal.d.ts +20 -0
  718. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  719. package/dist/unstable/eventlog/EventJournal.js +18 -0
  720. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  721. package/dist/unstable/eventlog/EventLog.d.ts +22 -0
  722. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  723. package/dist/unstable/eventlog/EventLog.js +18 -0
  724. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  725. package/dist/unstable/eventlog/EventLogMessage.d.ts +10 -0
  726. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  727. package/dist/unstable/eventlog/EventLogMessage.js +10 -0
  728. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  729. package/dist/unstable/eventlog/EventLogRemote.d.ts +4 -0
  730. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  731. package/dist/unstable/eventlog/EventLogRemote.js +4 -0
  732. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  733. package/dist/unstable/eventlog/EventLogServer.d.ts +4 -0
  734. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  735. package/dist/unstable/eventlog/EventLogServer.js +4 -0
  736. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  737. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +6 -0
  738. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  739. package/dist/unstable/eventlog/EventLogServerEncrypted.js +6 -0
  740. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  741. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +8 -0
  742. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  743. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +8 -0
  744. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  745. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +11 -1
  746. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -1
  747. package/dist/unstable/eventlog/EventLogSessionAuth.js +11 -1
  748. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  749. package/dist/unstable/eventlog/SqlEventJournal.d.ts +2 -0
  750. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  751. package/dist/unstable/eventlog/SqlEventJournal.js +2 -0
  752. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  753. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts +2 -0
  754. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
  755. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +2 -0
  756. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  757. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts +2 -0
  758. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  759. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +2 -0
  760. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  761. package/dist/unstable/http/Cookies.d.ts +34 -0
  762. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  763. package/dist/unstable/http/Cookies.js +18 -0
  764. package/dist/unstable/http/Cookies.js.map +1 -1
  765. package/dist/unstable/http/Etag.d.ts +4 -0
  766. package/dist/unstable/http/Etag.d.ts.map +1 -1
  767. package/dist/unstable/http/Etag.js.map +1 -1
  768. package/dist/unstable/http/FetchHttpClient.d.ts +4 -0
  769. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  770. package/dist/unstable/http/FetchHttpClient.js +4 -0
  771. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  772. package/dist/unstable/http/Headers.d.ts +60 -0
  773. package/dist/unstable/http/Headers.d.ts.map +1 -1
  774. package/dist/unstable/http/Headers.js +24 -0
  775. package/dist/unstable/http/Headers.js.map +1 -1
  776. package/dist/unstable/http/HttpBody.d.ts +32 -0
  777. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  778. package/dist/unstable/http/HttpBody.js +22 -0
  779. package/dist/unstable/http/HttpBody.js.map +1 -1
  780. package/dist/unstable/http/HttpClient.d.ts +44 -0
  781. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  782. package/dist/unstable/http/HttpClient.js +14 -0
  783. package/dist/unstable/http/HttpClient.js.map +1 -1
  784. package/dist/unstable/http/HttpClientRequest.d.ts +2 -0
  785. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  786. package/dist/unstable/http/HttpClientRequest.js +2 -0
  787. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  788. package/dist/unstable/http/HttpClientResponse.d.ts +6 -0
  789. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  790. package/dist/unstable/http/HttpClientResponse.js +6 -0
  791. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  792. package/dist/unstable/http/HttpEffect.d.ts +4 -0
  793. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  794. package/dist/unstable/http/HttpEffect.js +4 -0
  795. package/dist/unstable/http/HttpEffect.js.map +1 -1
  796. package/dist/unstable/http/HttpPlatform.d.ts +2 -0
  797. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  798. package/dist/unstable/http/HttpPlatform.js +2 -0
  799. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  800. package/dist/unstable/http/HttpRouter.d.ts +54 -16
  801. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  802. package/dist/unstable/http/HttpRouter.js +26 -1
  803. package/dist/unstable/http/HttpRouter.js.map +1 -1
  804. package/dist/unstable/http/HttpServer.d.ts +35 -1
  805. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  806. package/dist/unstable/http/HttpServer.js +17 -1
  807. package/dist/unstable/http/HttpServer.js.map +1 -1
  808. package/dist/unstable/http/HttpServerError.d.ts +17 -3
  809. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  810. package/dist/unstable/http/HttpServerError.js +16 -0
  811. package/dist/unstable/http/HttpServerError.js.map +1 -1
  812. package/dist/unstable/http/HttpServerRequest.d.ts +30 -0
  813. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  814. package/dist/unstable/http/HttpServerRequest.js +28 -0
  815. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  816. package/dist/unstable/http/HttpServerRespondable.d.ts +8 -0
  817. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  818. package/dist/unstable/http/HttpServerRespondable.js +6 -0
  819. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  820. package/dist/unstable/http/HttpServerResponse.d.ts +96 -0
  821. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  822. package/dist/unstable/http/HttpServerResponse.js +50 -0
  823. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  824. package/dist/unstable/http/HttpTraceContext.d.ts +12 -0
  825. package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
  826. package/dist/unstable/http/HttpTraceContext.js +10 -0
  827. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  828. package/dist/unstable/http/Multipart.d.ts +49 -2
  829. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  830. package/dist/unstable/http/Multipart.js +35 -2
  831. package/dist/unstable/http/Multipart.js.map +1 -1
  832. package/dist/unstable/http/Template.d.ts +14 -0
  833. package/dist/unstable/http/Template.d.ts.map +1 -1
  834. package/dist/unstable/http/Template.js +4 -0
  835. package/dist/unstable/http/Template.js.map +1 -1
  836. package/dist/unstable/http/UrlParams.d.ts +64 -0
  837. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  838. package/dist/unstable/http/UrlParams.js +28 -0
  839. package/dist/unstable/http/UrlParams.js.map +1 -1
  840. package/dist/unstable/httpapi/HttpApi.d.ts +10 -4
  841. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  842. package/dist/unstable/httpapi/HttpApi.js +4 -0
  843. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  844. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +9 -4
  845. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  846. package/dist/unstable/httpapi/HttpApiBuilder.js +5 -4
  847. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  848. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +2 -0
  849. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  850. package/dist/unstable/httpapi/HttpApiEndpoint.js +2 -0
  851. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  852. package/dist/unstable/httpapi/HttpApiGroup.d.ts +23 -14
  853. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  854. package/dist/unstable/httpapi/HttpApiGroup.js +6 -3
  855. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  856. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +14 -0
  857. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  858. package/dist/unstable/httpapi/HttpApiMiddleware.js +6 -0
  859. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  860. package/dist/unstable/httpapi/HttpApiScalar.d.ts +38 -15
  861. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  862. package/dist/unstable/httpapi/HttpApiScalar.js +4 -0
  863. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  864. package/dist/unstable/httpapi/HttpApiSchema.d.ts +14 -3
  865. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  866. package/dist/unstable/httpapi/HttpApiSchema.js +10 -0
  867. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  868. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +17 -11
  869. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  870. package/dist/unstable/httpapi/HttpApiSecurity.js +17 -11
  871. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  872. package/dist/unstable/httpapi/HttpApiSwagger.d.ts +2 -4
  873. package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
  874. package/dist/unstable/httpapi/HttpApiSwagger.js +2 -4
  875. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  876. package/dist/unstable/httpapi/HttpApiTest.d.ts +2 -0
  877. package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
  878. package/dist/unstable/httpapi/HttpApiTest.js +2 -0
  879. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  880. package/dist/unstable/httpapi/OpenApi.d.ts +2 -0
  881. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  882. package/dist/unstable/httpapi/OpenApi.js +2 -0
  883. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  884. package/dist/unstable/observability/Otlp.d.ts +2 -0
  885. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  886. package/dist/unstable/observability/Otlp.js +2 -0
  887. package/dist/unstable/observability/Otlp.js.map +1 -1
  888. package/dist/unstable/observability/OtlpExporter.d.ts +2 -0
  889. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  890. package/dist/unstable/observability/OtlpExporter.js +2 -0
  891. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  892. package/dist/unstable/observability/OtlpLogger.d.ts +4 -0
  893. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  894. package/dist/unstable/observability/OtlpLogger.js +4 -0
  895. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  896. package/dist/unstable/observability/OtlpMetrics.d.ts +8 -9
  897. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  898. package/dist/unstable/observability/OtlpMetrics.js +3 -3
  899. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  900. package/dist/unstable/observability/OtlpResource.d.ts +8 -0
  901. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  902. package/dist/unstable/observability/OtlpResource.js +8 -0
  903. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  904. package/dist/unstable/observability/OtlpTracer.d.ts +3 -2
  905. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  906. package/dist/unstable/observability/OtlpTracer.js +3 -2
  907. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  908. package/dist/unstable/observability/PrometheusMetrics.d.ts +6 -2
  909. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  910. package/dist/unstable/observability/PrometheusMetrics.js +6 -2
  911. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  912. package/dist/unstable/persistence/KeyValueStore.d.ts +10 -0
  913. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  914. package/dist/unstable/persistence/KeyValueStore.js +8 -0
  915. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  916. package/dist/unstable/persistence/Persistable.d.ts +2 -0
  917. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  918. package/dist/unstable/persistence/Persistable.js +2 -0
  919. package/dist/unstable/persistence/Persistable.js.map +1 -1
  920. package/dist/unstable/persistence/PersistedCache.d.ts +2 -0
  921. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  922. package/dist/unstable/persistence/PersistedCache.js +2 -0
  923. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  924. package/dist/unstable/persistence/PersistedQueue.d.ts +21 -6
  925. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  926. package/dist/unstable/persistence/PersistedQueue.js +10 -0
  927. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  928. package/dist/unstable/persistence/Persistence.d.ts +14 -0
  929. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  930. package/dist/unstable/persistence/Persistence.js +14 -0
  931. package/dist/unstable/persistence/Persistence.js.map +1 -1
  932. package/dist/unstable/persistence/RateLimiter.d.ts +6 -3
  933. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  934. package/dist/unstable/persistence/RateLimiter.js +4 -0
  935. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  936. package/dist/unstable/persistence/Redis.d.ts +6 -0
  937. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  938. package/dist/unstable/persistence/Redis.js +4 -0
  939. package/dist/unstable/persistence/Redis.js.map +1 -1
  940. package/dist/unstable/process/ChildProcess.d.ts +70 -19
  941. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  942. package/dist/unstable/process/ChildProcess.js +10 -0
  943. package/dist/unstable/process/ChildProcess.js.map +1 -1
  944. package/dist/unstable/process/ChildProcessSpawner.d.ts +20 -4
  945. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  946. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  947. package/dist/unstable/reactivity/Atom.d.ts +105 -14
  948. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  949. package/dist/unstable/reactivity/Atom.js +53 -8
  950. package/dist/unstable/reactivity/Atom.js.map +1 -1
  951. package/dist/unstable/reactivity/AtomHttpApi.d.ts +4 -0
  952. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  953. package/dist/unstable/reactivity/AtomHttpApi.js +2 -0
  954. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  955. package/dist/unstable/reactivity/AtomRef.d.ts +8 -0
  956. package/dist/unstable/reactivity/AtomRef.d.ts.map +1 -1
  957. package/dist/unstable/reactivity/AtomRef.js +2 -0
  958. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  959. package/dist/unstable/reactivity/AtomRegistry.d.ts +32 -0
  960. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  961. package/dist/unstable/reactivity/AtomRegistry.js +12 -0
  962. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  963. package/dist/unstable/reactivity/AtomRpc.d.ts +8 -6
  964. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  965. package/dist/unstable/reactivity/AtomRpc.js +4 -3
  966. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  967. package/dist/unstable/reactivity/Hydration.d.ts +6 -0
  968. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -1
  969. package/dist/unstable/reactivity/Hydration.js +4 -0
  970. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  971. package/dist/unstable/reactivity/Reactivity.d.ts +27 -3
  972. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  973. package/dist/unstable/reactivity/Reactivity.js +15 -3
  974. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  975. package/dist/unstable/rpc/Rpc.d.ts +38 -2
  976. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  977. package/dist/unstable/rpc/Rpc.js +12 -2
  978. package/dist/unstable/rpc/Rpc.js.map +1 -1
  979. package/dist/unstable/rpc/RpcSerialization.d.ts +6 -0
  980. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  981. package/dist/unstable/rpc/RpcSerialization.js +6 -0
  982. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  983. package/dist/unstable/rpc/RpcServer.d.ts +5 -3
  984. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  985. package/dist/unstable/rpc/RpcServer.js +5 -3
  986. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  987. package/dist/unstable/schema/Model.d.ts +43 -12
  988. package/dist/unstable/schema/Model.d.ts.map +1 -1
  989. package/dist/unstable/schema/Model.js +41 -12
  990. package/dist/unstable/schema/Model.js.map +1 -1
  991. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  992. package/dist/unstable/sql/SqlResolver.d.ts +6 -4
  993. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  994. package/dist/unstable/sql/SqlResolver.js +6 -4
  995. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  996. package/dist/unstable/sql/Statement.d.ts +8 -4
  997. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  998. package/dist/unstable/sql/Statement.js.map +1 -1
  999. package/dist/unstable/workflow/DurableClock.d.ts +1 -1
  1000. package/dist/unstable/workflow/DurableDeferred.d.ts +3 -0
  1001. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  1002. package/dist/unstable/workflow/DurableDeferred.js +3 -0
  1003. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1004. package/dist/unstable/workflow/Workflow.d.ts +42 -34
  1005. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1006. package/dist/unstable/workflow/Workflow.js +18 -19
  1007. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1008. package/package.json +1 -1
  1009. package/src/Array.ts +454 -0
  1010. package/src/BigDecimal.ts +87 -33
  1011. package/src/BigInt.ts +71 -14
  1012. package/src/Boolean.ts +4 -0
  1013. package/src/Brand.ts +16 -11
  1014. package/src/Cache.ts +17 -1
  1015. package/src/Cause.ts +95 -3
  1016. package/src/Channel.ts +326 -0
  1017. package/src/ChannelSchema.ts +24 -0
  1018. package/src/Chunk.ts +59 -22
  1019. package/src/Combiner.ts +75 -71
  1020. package/src/Config.ts +167 -46
  1021. package/src/ConfigProvider.ts +235 -158
  1022. package/src/Console.ts +25 -99
  1023. package/src/Context.ts +4 -4
  1024. package/src/Cron.ts +42 -16
  1025. package/src/Crypto.ts +6 -0
  1026. package/src/Data.ts +132 -70
  1027. package/src/DateTime.ts +227 -14
  1028. package/src/Deferred.ts +94 -27
  1029. package/src/Differ.ts +2 -0
  1030. package/src/Duration.ts +64 -6
  1031. package/src/Effect.ts +909 -605
  1032. package/src/Effectable.ts +3 -1
  1033. package/src/Encoding.ts +16 -0
  1034. package/src/Equal.ts +52 -40
  1035. package/src/Equivalence.ts +190 -153
  1036. package/src/ErrorReporter.ts +35 -14
  1037. package/src/ExecutionPlan.ts +10 -3
  1038. package/src/Exit.ts +212 -6
  1039. package/src/Fiber.ts +8 -0
  1040. package/src/FiberHandle.ts +46 -23
  1041. package/src/FiberMap.ts +43 -4
  1042. package/src/FiberSet.ts +21 -6
  1043. package/src/FileSystem.ts +64 -0
  1044. package/src/Filter.ts +53 -21
  1045. package/src/Formatter.ts +21 -22
  1046. package/src/Function.ts +67 -75
  1047. package/src/Graph.ts +51 -13
  1048. package/src/HKT.ts +22 -21
  1049. package/src/Hash.ts +33 -10
  1050. package/src/HashMap.ts +50 -9
  1051. package/src/HashRing.ts +4 -0
  1052. package/src/HashSet.ts +2 -0
  1053. package/src/Inspectable.ts +15 -2
  1054. package/src/Iterable.ts +104 -22
  1055. package/src/JsonPatch.ts +61 -80
  1056. package/src/JsonPointer.ts +16 -20
  1057. package/src/JsonSchema.ts +123 -73
  1058. package/src/Latch.ts +28 -2
  1059. package/src/Layer.ts +781 -335
  1060. package/src/LogLevel.ts +86 -13
  1061. package/src/Logger.ts +71 -51
  1062. package/src/ManagedRuntime.ts +12 -0
  1063. package/src/Match.ts +83 -1
  1064. package/src/Metric.ts +105 -12
  1065. package/src/MutableHashMap.ts +18 -0
  1066. package/src/MutableHashSet.ts +2 -0
  1067. package/src/MutableList.ts +24 -6
  1068. package/src/MutableRef.ts +2 -0
  1069. package/src/Newtype.ts +69 -30
  1070. package/src/NonEmptyIterable.ts +6 -0
  1071. package/src/Number.ts +16 -30
  1072. package/src/Optic.ts +90 -40
  1073. package/src/Option.ts +121 -111
  1074. package/src/Order.ts +169 -167
  1075. package/src/Ordering.ts +4 -0
  1076. package/src/PartitionedSemaphore.ts +7 -5
  1077. package/src/Path.ts +8 -0
  1078. package/src/Pipeable.ts +10 -0
  1079. package/src/PlatformError.ts +12 -0
  1080. package/src/Pool.ts +30 -16
  1081. package/src/Predicate.ts +520 -352
  1082. package/src/PrimaryKey.ts +4 -0
  1083. package/src/PubSub.ts +23 -5
  1084. package/src/Pull.ts +16 -0
  1085. package/src/Queue.ts +44 -0
  1086. package/src/Random.ts +25 -6
  1087. package/src/RcMap.ts +10 -6
  1088. package/src/RcRef.ts +3 -1
  1089. package/src/Record.ts +24 -3
  1090. package/src/Redactable.ts +54 -41
  1091. package/src/Redacted.ts +10 -0
  1092. package/src/Reducer.ts +20 -11
  1093. package/src/Ref.ts +95 -58
  1094. package/src/References.ts +18 -1
  1095. package/src/Request.ts +3 -3
  1096. package/src/RequestResolver.ts +8 -22
  1097. package/src/Resource.ts +2 -0
  1098. package/src/Result.ts +192 -6
  1099. package/src/Runtime.ts +14 -11
  1100. package/src/Schedule.ts +35 -3
  1101. package/src/Scheduler.ts +22 -19
  1102. package/src/Schema.ts +547 -130
  1103. package/src/SchemaAST.ts +123 -65
  1104. package/src/SchemaGetter.ts +269 -234
  1105. package/src/SchemaIssue.ts +48 -46
  1106. package/src/SchemaParser.ts +58 -0
  1107. package/src/SchemaRepresentation.ts +198 -96
  1108. package/src/SchemaTransformation.ts +272 -203
  1109. package/src/SchemaUtils.ts +2 -0
  1110. package/src/Scope.ts +19 -1
  1111. package/src/ScopedCache.ts +56 -0
  1112. package/src/ScopedRef.ts +9 -3
  1113. package/src/Semaphore.ts +6 -0
  1114. package/src/Sink.ts +108 -0
  1115. package/src/Stdio.ts +7 -3
  1116. package/src/Stream.ts +464 -16
  1117. package/src/String.ts +14 -0
  1118. package/src/Struct.ts +371 -191
  1119. package/src/SubscriptionRef.ts +7 -1
  1120. package/src/SynchronizedRef.ts +2 -0
  1121. package/src/Tracer.ts +17 -27
  1122. package/src/Trie.ts +23 -9
  1123. package/src/Tuple.ts +287 -144
  1124. package/src/TxChunk.ts +182 -93
  1125. package/src/TxDeferred.ts +3 -4
  1126. package/src/TxHashMap.ts +171 -90
  1127. package/src/TxHashSet.ts +36 -35
  1128. package/src/TxPriorityQueue.ts +2 -0
  1129. package/src/TxPubSub.ts +36 -35
  1130. package/src/TxQueue.ts +77 -114
  1131. package/src/TxRef.ts +4 -0
  1132. package/src/TxSemaphore.ts +66 -27
  1133. package/src/Types.ts +202 -75
  1134. package/src/UndefinedOr.ts +31 -29
  1135. package/src/Unify.ts +28 -0
  1136. package/src/Utils.ts +29 -35
  1137. package/src/index.ts +18 -7
  1138. package/src/testing/TestClock.ts +16 -16
  1139. package/src/testing/TestConsole.ts +2 -0
  1140. package/src/testing/TestSchema.ts +43 -55
  1141. package/src/unstable/ai/AiError.ts +62 -11
  1142. package/src/unstable/ai/AnthropicStructuredOutput.ts +4 -4
  1143. package/src/unstable/ai/Chat.ts +29 -1
  1144. package/src/unstable/ai/IdGenerator.ts +10 -0
  1145. package/src/unstable/ai/LanguageModel.ts +32 -46
  1146. package/src/unstable/ai/McpSchema.ts +84 -32
  1147. package/src/unstable/ai/McpServer.ts +8 -0
  1148. package/src/unstable/ai/Model.ts +9 -5
  1149. package/src/unstable/ai/OpenAiStructuredOutput.ts +3 -2
  1150. package/src/unstable/ai/Prompt.ts +62 -35
  1151. package/src/unstable/ai/Response.ts +40 -21
  1152. package/src/unstable/ai/ResponseIdTracker.ts +8 -0
  1153. package/src/unstable/ai/Telemetry.ts +30 -5
  1154. package/src/unstable/ai/Tokenizer.ts +6 -0
  1155. package/src/unstable/ai/Tool.ts +68 -0
  1156. package/src/unstable/ai/Toolkit.ts +12 -0
  1157. package/src/unstable/cli/Argument.ts +14 -4
  1158. package/src/unstable/cli/CliError.ts +6 -0
  1159. package/src/unstable/cli/Command.ts +128 -12
  1160. package/src/unstable/cli/Flag.ts +31 -14
  1161. package/src/unstable/cli/Param.ts +96 -9
  1162. package/src/unstable/cli/Primitive.ts +10 -0
  1163. package/src/unstable/cli/Prompt.ts +47 -40
  1164. package/src/unstable/cli/internal/command.ts +11 -2
  1165. package/src/unstable/cli/internal/completions/descriptor.ts +3 -0
  1166. package/src/unstable/cli/internal/parser.ts +8 -1
  1167. package/src/unstable/cluster/ClusterCron.ts +10 -1
  1168. package/src/unstable/cluster/ClusterSchema.ts +8 -0
  1169. package/src/unstable/cluster/ClusterWorkflowEngine.ts +4 -0
  1170. package/src/unstable/cluster/DeliverAt.ts +3 -4
  1171. package/src/unstable/cluster/Entity.ts +24 -0
  1172. package/src/unstable/cluster/EntityProxy.ts +10 -4
  1173. package/src/unstable/cluster/EntityProxyServer.ts +6 -0
  1174. package/src/unstable/cluster/EntityResource.ts +10 -0
  1175. package/src/unstable/cluster/Envelope.ts +16 -0
  1176. package/src/unstable/cluster/HttpRunner.ts +16 -0
  1177. package/src/unstable/cluster/K8sHttpClient.ts +8 -0
  1178. package/src/unstable/cluster/Message.ts +24 -0
  1179. package/src/unstable/cluster/MessageStorage.ts +44 -10
  1180. package/src/unstable/cluster/Reply.ts +6 -6
  1181. package/src/unstable/cluster/Runner.ts +2 -0
  1182. package/src/unstable/cluster/RunnerHealth.ts +13 -2
  1183. package/src/unstable/cluster/RunnerServer.ts +8 -8
  1184. package/src/unstable/cluster/RunnerStorage.ts +2 -0
  1185. package/src/unstable/cluster/ShardId.ts +4 -0
  1186. package/src/unstable/cluster/Snowflake.ts +2 -0
  1187. package/src/unstable/cluster/TestRunner.ts +3 -2
  1188. package/src/unstable/devtools/DevToolsSchema.ts +34 -2
  1189. package/src/unstable/devtools/DevToolsServer.ts +4 -0
  1190. package/src/unstable/encoding/Msgpack.ts +24 -0
  1191. package/src/unstable/encoding/Ndjson.ts +46 -2
  1192. package/src/unstable/encoding/Sse.ts +24 -17
  1193. package/src/unstable/eventlog/Event.ts +16 -0
  1194. package/src/unstable/eventlog/EventGroup.ts +4 -0
  1195. package/src/unstable/eventlog/EventJournal.ts +20 -0
  1196. package/src/unstable/eventlog/EventLog.ts +22 -0
  1197. package/src/unstable/eventlog/EventLogMessage.ts +10 -0
  1198. package/src/unstable/eventlog/EventLogRemote.ts +4 -0
  1199. package/src/unstable/eventlog/EventLogServer.ts +4 -0
  1200. package/src/unstable/eventlog/EventLogServerEncrypted.ts +6 -0
  1201. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +8 -0
  1202. package/src/unstable/eventlog/EventLogSessionAuth.ts +11 -1
  1203. package/src/unstable/eventlog/SqlEventJournal.ts +2 -0
  1204. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +2 -0
  1205. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +2 -0
  1206. package/src/unstable/http/Cookies.ts +34 -0
  1207. package/src/unstable/http/Etag.ts +4 -0
  1208. package/src/unstable/http/FetchHttpClient.ts +4 -0
  1209. package/src/unstable/http/Headers.ts +88 -0
  1210. package/src/unstable/http/HttpBody.ts +32 -0
  1211. package/src/unstable/http/HttpClient.ts +44 -0
  1212. package/src/unstable/http/HttpClientRequest.ts +2 -0
  1213. package/src/unstable/http/HttpClientResponse.ts +6 -0
  1214. package/src/unstable/http/HttpEffect.ts +4 -0
  1215. package/src/unstable/http/HttpPlatform.ts +2 -0
  1216. package/src/unstable/http/HttpRouter.ts +54 -16
  1217. package/src/unstable/http/HttpServer.ts +35 -1
  1218. package/src/unstable/http/HttpServerError.ts +17 -3
  1219. package/src/unstable/http/HttpServerRequest.ts +30 -0
  1220. package/src/unstable/http/HttpServerRespondable.ts +8 -0
  1221. package/src/unstable/http/HttpServerResponse.ts +96 -0
  1222. package/src/unstable/http/HttpTraceContext.ts +12 -0
  1223. package/src/unstable/http/Multipart.ts +49 -2
  1224. package/src/unstable/http/Template.ts +14 -0
  1225. package/src/unstable/http/UrlParams.ts +64 -0
  1226. package/src/unstable/httpapi/HttpApi.ts +10 -4
  1227. package/src/unstable/httpapi/HttpApiBuilder.ts +9 -4
  1228. package/src/unstable/httpapi/HttpApiEndpoint.ts +2 -0
  1229. package/src/unstable/httpapi/HttpApiGroup.ts +23 -14
  1230. package/src/unstable/httpapi/HttpApiMiddleware.ts +14 -0
  1231. package/src/unstable/httpapi/HttpApiScalar.ts +38 -15
  1232. package/src/unstable/httpapi/HttpApiSchema.ts +14 -3
  1233. package/src/unstable/httpapi/HttpApiSecurity.ts +17 -11
  1234. package/src/unstable/httpapi/HttpApiSwagger.ts +2 -4
  1235. package/src/unstable/httpapi/HttpApiTest.ts +2 -0
  1236. package/src/unstable/httpapi/OpenApi.ts +2 -0
  1237. package/src/unstable/observability/Otlp.ts +2 -0
  1238. package/src/unstable/observability/OtlpExporter.ts +2 -0
  1239. package/src/unstable/observability/OtlpLogger.ts +4 -0
  1240. package/src/unstable/observability/OtlpMetrics.ts +8 -9
  1241. package/src/unstable/observability/OtlpResource.ts +8 -0
  1242. package/src/unstable/observability/OtlpTracer.ts +3 -2
  1243. package/src/unstable/observability/PrometheusMetrics.ts +6 -2
  1244. package/src/unstable/persistence/KeyValueStore.ts +10 -0
  1245. package/src/unstable/persistence/Persistable.ts +2 -0
  1246. package/src/unstable/persistence/PersistedCache.ts +2 -0
  1247. package/src/unstable/persistence/PersistedQueue.ts +21 -6
  1248. package/src/unstable/persistence/Persistence.ts +14 -0
  1249. package/src/unstable/persistence/RateLimiter.ts +6 -3
  1250. package/src/unstable/persistence/Redis.ts +6 -0
  1251. package/src/unstable/process/ChildProcess.ts +70 -19
  1252. package/src/unstable/process/ChildProcessSpawner.ts +20 -4
  1253. package/src/unstable/reactivity/Atom.ts +119 -14
  1254. package/src/unstable/reactivity/AtomHttpApi.ts +4 -0
  1255. package/src/unstable/reactivity/AtomRef.ts +8 -0
  1256. package/src/unstable/reactivity/AtomRegistry.ts +34 -0
  1257. package/src/unstable/reactivity/AtomRpc.ts +8 -6
  1258. package/src/unstable/reactivity/Hydration.ts +6 -0
  1259. package/src/unstable/reactivity/Reactivity.ts +27 -3
  1260. package/src/unstable/rpc/Rpc.ts +38 -2
  1261. package/src/unstable/rpc/RpcSerialization.ts +6 -0
  1262. package/src/unstable/rpc/RpcServer.ts +5 -3
  1263. package/src/unstable/schema/Model.ts +43 -12
  1264. package/src/unstable/sql/SqlClient.ts +1 -1
  1265. package/src/unstable/sql/SqlResolver.ts +6 -4
  1266. package/src/unstable/sql/Statement.ts +8 -4
  1267. package/src/unstable/workflow/DurableClock.ts +1 -1
  1268. package/src/unstable/workflow/DurableDeferred.ts +3 -0
  1269. package/src/unstable/workflow/Workflow.ts +42 -34
package/dist/Graph.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Graph.js","names":["Data","Equal","dual","Hash","NodeInspectSymbol","Option","pipeArguments","hasProperty","TypeId","Edge","Class","ProtoGraph","Symbol","iterator","nodes","toJSON","symbol","that","isGraph","size","edges","type","nodeIndex","nodeData","has","otherNodeData","get","equals","edgeIndex","edgeData","otherEdge","hash","string","number","_id","nodeCount","edgeCount","toString","pipe","arguments","GraphError","TaggedError","missingNode","node","message","u","directed","mutate","graph","Object","create","Map","adjacency","reverseAdjacency","nextNodeIndex","nextEdgeIndex","acyclic","some","mutable","beginMutation","endMutation","undirected","set","f","addNode","data","getNode","none","hasNode","findNode","predicate","index","findNodes","results","push","findEdge","source","target","findEdges","updateNode","currentData","newData","updateEdge","currentEdge","mapNodes","mapEdges","reverse","clear","sourceEdges","targetEdges","filterMapNodes","nodesToRemove","result","isSome","value","removeNode","filterMapEdges","edgesToRemove","removeEdge","filterNodes","filterEdges","invalidateCycleFlagOnRemoval","_tag","invalidateCycleFlagOnAddition","addEdge","sourceAdjacency","undefined","targetReverseAdjacency","targetAdjacency","sourceReverseAdjacency","outgoingEdges","edge","incomingEdges","removeEdgeInternal","delete","wasRemoved","indexOf","splice","getEdge","fromUndefinedOr","hasEdge","adjacencyList","neighbors","getUndirectedNeighbors","neighborsDirected","direction","adjacencyMap","neighborNode","toGraphViz","args","options","edgeLabel","String","graphName","nodeLabel","isDirected","graphType","edgeOperator","lines","label","replace","join","escapeMermaidLabel","formatMermaidNode","nodeId","shape","toMermaid","diagramType","nodeShape","finalDiagramType","formattedNode","sourceId","targetId","isAcyclic","visited","Set","recursionStack","startNode","keys","stack","length","neighborIndex","isFirstVisit","pop","add","nodeNeighbors","Array","from","neighbor","isBipartite","coloring","discovered","isBipartiteGraph","queue","current","shift","currentColor","neighborColor","otherNode","connectedComponents","components","component","stronglyConnectedComponents","finishOrder","nodeNeighborsList","sccs","i","scc","predecessor","dijkstra","config","path","distance","costs","distances","previous","Infinity","priorityQueue","minIndex","currentNode","currentDistance","cost","newDistance","neighborDistance","unshift","prev","floydWarshall","allNodes","next","edgeMatrix","j","weight","currentWeight","k","distIK","distKJ","distIJ","paths","weights","nextNode","astar","targetNodeData","isNone","gScore","fScore","sourceNodeData","h","heuristic","openSet","currentGScore","tentativeGScore","neighborGScore","neighborNodeData","bellmanFord","hasUpdate","sourceDistance","targetDistance","affectedNodes","Walker","visit","constructor","indices","walker","_","values","entries","dfs","start","nextMapped","nodeDataOption","done","bfs","topo","initials","inDegree","remaining","currentInDegree","degree","newInDegree","dfsPostOrder","finished","visitedChildren","nodeToEmit","nodeMap","edgeMap","externals","nodeIterator"],"sources":["../src/Graph.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Graph.js","names":["Data","Equal","dual","Hash","NodeInspectSymbol","Option","pipeArguments","hasProperty","TypeId","Edge","Class","ProtoGraph","Symbol","iterator","nodes","toJSON","symbol","that","isGraph","size","edges","type","nodeIndex","nodeData","has","otherNodeData","get","equals","edgeIndex","edgeData","otherEdge","hash","string","number","_id","nodeCount","edgeCount","toString","pipe","arguments","GraphError","TaggedError","missingNode","node","message","u","directed","mutate","graph","Object","create","Map","adjacency","reverseAdjacency","nextNodeIndex","nextEdgeIndex","acyclic","some","mutable","beginMutation","endMutation","undirected","set","f","addNode","data","getNode","none","hasNode","findNode","predicate","index","findNodes","results","push","findEdge","source","target","findEdges","updateNode","currentData","newData","updateEdge","currentEdge","mapNodes","mapEdges","reverse","clear","sourceEdges","targetEdges","filterMapNodes","nodesToRemove","result","isSome","value","removeNode","filterMapEdges","edgesToRemove","removeEdge","filterNodes","filterEdges","invalidateCycleFlagOnRemoval","_tag","invalidateCycleFlagOnAddition","addEdge","sourceAdjacency","undefined","targetReverseAdjacency","targetAdjacency","sourceReverseAdjacency","outgoingEdges","edge","incomingEdges","removeEdgeInternal","delete","wasRemoved","indexOf","splice","getEdge","fromUndefinedOr","hasEdge","adjacencyList","neighbors","getUndirectedNeighbors","neighborsDirected","direction","adjacencyMap","neighborNode","toGraphViz","args","options","edgeLabel","String","graphName","nodeLabel","isDirected","graphType","edgeOperator","lines","label","replace","join","escapeMermaidLabel","formatMermaidNode","nodeId","shape","toMermaid","diagramType","nodeShape","finalDiagramType","formattedNode","sourceId","targetId","isAcyclic","visited","Set","recursionStack","startNode","keys","stack","length","neighborIndex","isFirstVisit","pop","add","nodeNeighbors","Array","from","neighbor","isBipartite","coloring","discovered","isBipartiteGraph","queue","current","shift","currentColor","neighborColor","otherNode","connectedComponents","components","component","stronglyConnectedComponents","finishOrder","nodeNeighborsList","sccs","i","scc","predecessor","dijkstra","config","path","distance","costs","distances","previous","Infinity","priorityQueue","minIndex","currentNode","currentDistance","cost","newDistance","neighborDistance","unshift","prev","floydWarshall","allNodes","next","edgeMatrix","j","weight","currentWeight","k","distIK","distKJ","distIJ","paths","weights","nextNode","astar","targetNodeData","isNone","gScore","fScore","sourceNodeData","h","heuristic","openSet","currentGScore","tentativeGScore","neighborGScore","neighborNodeData","bellmanFord","hasUpdate","sourceDistance","targetDistance","affectedNodes","Walker","visit","constructor","indices","walker","_","values","entries","dfs","start","nextMapped","nodeDataOption","done","bfs","topo","initials","inDegree","remaining","currentInDegree","degree","newInDegree","dfsPostOrder","finished","visitedChildren","nodeToEmit","nodeMap","edgeMap","externals","nodeIterator"],"sources":["../src/Graph.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/HKT.d.ts CHANGED
@@ -37,11 +37,12 @@
37
37
  */
38
38
  import type * as Types from "./Types.ts";
39
39
  /**
40
- * A unique symbol used to identify TypeClass implementations.
40
+ * A unique symbol used to associate `TypeClass` implementations with their `TypeLambda`.
41
41
  *
42
- * This symbol is used internally by the HKT system to associate type classes
43
- * with their corresponding TypeLambda. It provides a way to link runtime
44
- * type class instances with their compile-time type information.
42
+ * **Details**
43
+ *
44
+ * This symbol is used internally by the HKT system to link runtime type class
45
+ * instances with their compile-time type information.
45
46
  *
46
47
  * **Example** (Linking a type class to a type lambda)
47
48
  *
@@ -74,8 +75,10 @@ export declare const URI: unique symbol;
74
75
  /**
75
76
  * Base interface for type classes that work with Higher-Kinded Types.
76
77
  *
77
- * A TypeClass defines operations that can be performed on any type constructor
78
- * that matches the given TypeLambda. This enables writing generic code that
78
+ * **Details**
79
+ *
80
+ * A `TypeClass` defines operations that can be performed on any type constructor
81
+ * that matches the given `TypeLambda`. This enables writing generic code that
79
82
  * works across different container types like Array, Option, Effect, etc.
80
83
  *
81
84
  * **Example** (Defining higher-kinded type classes)
@@ -109,15 +112,13 @@ export interface TypeClass<F extends TypeLambda> {
109
112
  /**
110
113
  * Base interface for defining Higher-Kinded Type parameters.
111
114
  *
112
- * A TypeLambda encodes the "shape" of a type constructor, specifying how many
113
- * type parameters it takes and their variance (contravariant, covariant, or invariant).
114
- * This allows representing complex types like `Effect<A, E, R>` in a uniform way.
115
+ * **Details**
115
116
  *
116
- * The four parameters represent:
117
- * - `In`: Contravariant input parameter
118
- * - `Out2`: Covariant output parameter (often used for errors)
119
- * - `Out1`: Covariant output parameter (often used for context/environment)
120
- * - `Target`: Invariant target parameter (the main type)
117
+ * A `TypeLambda` encodes the "shape" of a type constructor, specifying how many
118
+ * type parameters it takes and their variance (contravariant, covariant, or
119
+ * invariant). The four parameters are `In` for contravariant input, `Out2` for
120
+ * covariant output often used for errors, `Out1` for covariant output often used
121
+ * for context or environment, and `Target` for the invariant main type.
121
122
  *
122
123
  * **Example** (Defining type lambdas)
123
124
  *
@@ -150,15 +151,15 @@ export interface TypeLambda {
150
151
  readonly Target: unknown;
151
152
  }
152
153
  /**
153
- * Applies type parameters to a TypeLambda to get the concrete type.
154
+ * Applies type parameters to a `TypeLambda` to get the concrete type.
154
155
  *
155
- * This type-level function takes a TypeLambda and four type parameters,
156
- * then "applies" them to get the actual type. It handles the variance
157
- * correctly, ensuring contravariant parameters are used as inputs and
158
- * covariant parameters as outputs.
156
+ * **Details**
159
157
  *
160
- * This is the core mechanism that allows HKT to work - it transforms
161
- * abstract type constructors into concrete types by applying arguments.
158
+ * This type-level function takes a `TypeLambda` and four type parameters, then
159
+ * "applies" them to get the actual type. It handles variance correctly, ensuring
160
+ * contravariant parameters are used as inputs and covariant parameters as
161
+ * outputs. This is the core mechanism that allows HKT to transform abstract type
162
+ * constructors into concrete types by applying arguments.
162
163
  *
163
164
  * **Example** (Applying type lambdas)
164
165
  *
package/dist/HKT.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"HKT.d.ts","sourceRoot":"","sources":["../src/HKT.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,OAAO,MAAM,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,UAAU;IAC7C,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,SAAS;IACzE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CACvB,GAAG,CAAC,CAAC,GAAG;IACL,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAA;IACf,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB,CAAC,CAAC,MAAM,CAAC,GACR;IACA,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;IACb,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;IACpC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACpC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACpC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;CACzC,CAAA"}
1
+ {"version":3,"file":"HKT.d.ts","sourceRoot":"","sources":["../src/HKT.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,OAAO,MAAM,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,UAAU;IAC7C,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,SAAS;IACzE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CACvB,GAAG,CAAC,CAAC,GAAG;IACL,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAA;IACf,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB,CAAC,CAAC,MAAM,CAAC,GACR;IACA,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;IACb,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAA;IACpC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACpC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACpC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;CACzC,CAAA"}
package/dist/Hash.d.ts CHANGED
@@ -8,6 +8,8 @@ export declare const symbol = "~effect/interfaces/Hash";
8
8
  /**
9
9
  * A type that represents an object that can be hashed.
10
10
  *
11
+ * **Details**
12
+ *
11
13
  * Objects implementing this interface provide a method to compute their hash value,
12
14
  * which is used for efficient comparison and storage operations.
13
15
  *
@@ -37,19 +39,19 @@ export interface Hash {
37
39
  /**
38
40
  * Computes a hash value for any given value.
39
41
  *
42
+ * **Details**
43
+ *
40
44
  * This function can hash primitives (numbers, strings, booleans, etc.) as well as
41
45
  * objects, arrays, and other complex data structures. It automatically handles
42
46
  * different types and provides a consistent hash value for equivalent inputs.
43
47
  *
44
- * **⚠️ CRITICAL IMMUTABILITY REQUIREMENT**: Objects being hashed must be treated as
45
- * immutable after their first hash computation. Hash results are cached, so mutating
46
- * an object after hashing will lead to stale cached values and broken hash-based
47
- * operations. For mutable objects, use referential equality by implementing custom
48
- * `Hash` interface that hashes the object reference, not its content.
48
+ * **Gotchas**
49
49
  *
50
- * **FORBIDDEN**: Modifying objects after `Hash.hash()` has been called on them
51
- * **ALLOWED**: Using immutable objects, or mutable objects with custom `Hash` interface
52
- * that uses referential equality (hashes the object reference, not content)
50
+ * Objects being hashed must be treated as immutable after their first hash
51
+ * computation. Hash results are cached, so mutating an object after hashing will
52
+ * lead to stale cached values and broken hash-based operations. For mutable
53
+ * objects, implement a custom `Hash` interface that hashes the object reference
54
+ * rather than its content.
53
55
  *
54
56
  * **Example** (Hashing different values)
55
57
  *
@@ -74,6 +76,8 @@ export declare const hash: <A>(self: A) => number;
74
76
  /**
75
77
  * Generates a random hash value for an object and caches it.
76
78
  *
79
+ * **Details**
80
+ *
77
81
  * This function creates a random hash value for objects that don't have their own
78
82
  * hash implementation. The hash value is cached using a WeakMap, so the same object
79
83
  * will always return the same hash value during its lifetime.
@@ -100,6 +104,8 @@ export declare const random: <A extends object>(self: A) => number;
100
104
  /**
101
105
  * Combines two hash values into a single hash value.
102
106
  *
107
+ * **Details**
108
+ *
103
109
  * This function takes two hash values and combines them using a mathematical
104
110
  * operation to produce a new hash value. It's useful for creating hash values
105
111
  * of composite structures.
@@ -127,6 +133,8 @@ export declare const combine: {
127
133
  /**
128
134
  * Combines two hash values into a single hash value.
129
135
  *
136
+ * **Details**
137
+ *
130
138
  * This function takes two hash values and combines them using a mathematical
131
139
  * operation to produce a new hash value. It's useful for creating hash values
132
140
  * of composite structures.
@@ -154,6 +162,8 @@ export declare const combine: {
154
162
  /**
155
163
  * Combines two hash values into a single hash value.
156
164
  *
165
+ * **Details**
166
+ *
157
167
  * This function takes two hash values and combines them using a mathematical
158
168
  * operation to produce a new hash value. It's useful for creating hash values
159
169
  * of composite structures.
@@ -182,6 +192,8 @@ export declare const combine: {
182
192
  /**
183
193
  * Optimizes a hash value by applying bit manipulation techniques.
184
194
  *
195
+ * **Details**
196
+ *
185
197
  * This function takes a hash value and applies bitwise operations to improve
186
198
  * the distribution of hash values, reducing the likelihood of collisions.
187
199
  *
@@ -205,6 +217,8 @@ export declare const optimize: (n: number) => number;
205
217
  /**
206
218
  * Checks if a value implements the Hash interface.
207
219
  *
220
+ * **Details**
221
+ *
208
222
  * This function determines whether a given value has the Hash symbol property,
209
223
  * indicating that it can provide its own hash value implementation.
210
224
  *
@@ -232,6 +246,8 @@ export declare const isHash: (u: unknown) => u is Hash;
232
246
  /**
233
247
  * Computes a hash value for a number.
234
248
  *
249
+ * **Details**
250
+ *
235
251
  * This function creates a hash value for numeric inputs, handling special cases
236
252
  * like NaN, Infinity, and -Infinity with distinct hash values. It uses bitwise operations to ensure good distribution
237
253
  * of hash values across different numeric inputs.
@@ -257,6 +273,8 @@ export declare const number: (n: number) => number;
257
273
  /**
258
274
  * Computes a hash value for a string using the djb2 algorithm.
259
275
  *
276
+ * **Details**
277
+ *
260
278
  * This function implements a variation of the djb2 hash algorithm, which is
261
279
  * known for its good distribution properties and speed. It processes each
262
280
  * character of the string to produce a consistent hash value.
@@ -281,6 +299,8 @@ export declare const string: (str: string) => number;
281
299
  /**
282
300
  * Computes a hash value for an object using only the specified keys.
283
301
  *
302
+ * **Details**
303
+ *
284
304
  * This function allows you to hash an object by considering only specific keys,
285
305
  * which is useful when you want to create a hash based on a subset of an object's
286
306
  * properties.
@@ -310,8 +330,9 @@ export declare const string: (str: string) => number;
310
330
  */
311
331
  export declare const structureKeys: (o: object, keys: Iterable<PropertyKey>) => number;
312
332
  /**
313
- * Computes a structural hash for an object using Effect's object key
314
- * collection.
333
+ * Computes a structural hash for an object using Effect's object key collection.
334
+ *
335
+ * **Details**
315
336
  *
316
337
  * The hash is based on the object's structural keys and their values, including
317
338
  * symbol keys and relevant prototype keys for non-plain objects.
@@ -340,6 +361,8 @@ export declare const structure: <A extends object>(o: A) => number;
340
361
  /**
341
362
  * Computes a hash value for an array by hashing all of its elements.
342
363
  *
364
+ * **Details**
365
+ *
343
366
  * This function creates a hash value based on all elements in the array.
344
367
  * The order of elements matters, so arrays with the same elements in different
345
368
  * orders will produce different hash values.
@@ -1 +1 @@
1
- {"version":3,"file":"Hash.d.ts","sourceRoot":"","sources":["../src/Hash.ts"],"names":[],"mappings":"AAaA;;;;;GAKG;AACH,eAAO,MAAM,MAAM,4BAA4B,CAAA;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,IAAI;IACnB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,MAoDlC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,MAKnD,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,OAAO,EAAE;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACrC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC8B,CAAA;AAEjE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,MAAM,KAAG,MAAqD,CAAA;AAE1F;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,MAAM,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,IAA8B,CAAA;AAEvE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,WAkB/B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,MAAM,GAAI,KAAK,MAAM,WAMjC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,aAAa,GAAI,GAAG,MAAM,EAAE,MAAM,QAAQ,CAAC,WAAW,CAAC,WAMnE,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,EAAE,GAAG,CAAC,WAA0C,CAAA;AAU1F;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAiC,CAAA"}
1
+ {"version":3,"file":"Hash.d.ts","sourceRoot":"","sources":["../src/Hash.ts"],"names":[],"mappings":"AAaA;;;;;GAKG;AACH,eAAO,MAAM,MAAM,4BAA4B,CAAA;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,IAAI;IACnB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,MAoDlC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,MAKnD,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,OAAO,EAAE;IACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC8B,CAAA;AAEjE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,MAAM,KAAG,MAAqD,CAAA;AAE1F;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,MAAM,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,IAA8B,CAAA;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,WAkB/B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,MAAM,GAAI,KAAK,MAAM,WAMjC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,aAAa,GAAI,GAAG,MAAM,EAAE,MAAM,QAAQ,CAAC,WAAW,CAAC,WAMnE,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,EAAE,GAAG,CAAC,WAA0C,CAAA;AAU1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAiC,CAAA"}
package/dist/Hash.js CHANGED
@@ -20,19 +20,19 @@ export const symbol = "~effect/interfaces/Hash";
20
20
  /**
21
21
  * Computes a hash value for any given value.
22
22
  *
23
+ * **Details**
24
+ *
23
25
  * This function can hash primitives (numbers, strings, booleans, etc.) as well as
24
26
  * objects, arrays, and other complex data structures. It automatically handles
25
27
  * different types and provides a consistent hash value for equivalent inputs.
26
28
  *
27
- * **⚠️ CRITICAL IMMUTABILITY REQUIREMENT**: Objects being hashed must be treated as
28
- * immutable after their first hash computation. Hash results are cached, so mutating
29
- * an object after hashing will lead to stale cached values and broken hash-based
30
- * operations. For mutable objects, use referential equality by implementing custom
31
- * `Hash` interface that hashes the object reference, not its content.
29
+ * **Gotchas**
32
30
  *
33
- * **FORBIDDEN**: Modifying objects after `Hash.hash()` has been called on them
34
- * **ALLOWED**: Using immutable objects, or mutable objects with custom `Hash` interface
35
- * that uses referential equality (hashes the object reference, not content)
31
+ * Objects being hashed must be treated as immutable after their first hash
32
+ * computation. Hash results are cached, so mutating an object after hashing will
33
+ * lead to stale cached values and broken hash-based operations. For mutable
34
+ * objects, implement a custom `Hash` interface that hashes the object reference
35
+ * rather than its content.
36
36
  *
37
37
  * **Example** (Hashing different values)
38
38
  *
@@ -108,6 +108,8 @@ export const hash = self => {
108
108
  /**
109
109
  * Generates a random hash value for an object and caches it.
110
110
  *
111
+ * **Details**
112
+ *
111
113
  * This function creates a random hash value for objects that don't have their own
112
114
  * hash implementation. The hash value is cached using a WeakMap, so the same object
113
115
  * will always return the same hash value during its lifetime.
@@ -139,6 +141,8 @@ export const random = self => {
139
141
  /**
140
142
  * Combines two hash values into a single hash value.
141
143
  *
144
+ * **Details**
145
+ *
142
146
  * This function takes two hash values and combines them using a mathematical
143
147
  * operation to produce a new hash value. It's useful for creating hash values
144
148
  * of composite structures.
@@ -166,6 +170,8 @@ export const combine = /*#__PURE__*/dual(2, (self, b) => self * 53 ^ b);
166
170
  /**
167
171
  * Optimizes a hash value by applying bit manipulation techniques.
168
172
  *
173
+ * **Details**
174
+ *
169
175
  * This function takes a hash value and applies bitwise operations to improve
170
176
  * the distribution of hash values, reducing the likelihood of collisions.
171
177
  *
@@ -189,6 +195,8 @@ export const optimize = n => n & 0xbfffffff | n >>> 1 & 0x40000000;
189
195
  /**
190
196
  * Checks if a value implements the Hash interface.
191
197
  *
198
+ * **Details**
199
+ *
192
200
  * This function determines whether a given value has the Hash symbol property,
193
201
  * indicating that it can provide its own hash value implementation.
194
202
  *
@@ -216,6 +224,8 @@ export const isHash = u => hasProperty(u, symbol);
216
224
  /**
217
225
  * Computes a hash value for a number.
218
226
  *
227
+ * **Details**
228
+ *
219
229
  * This function creates a hash value for numeric inputs, handling special cases
220
230
  * like NaN, Infinity, and -Infinity with distinct hash values. It uses bitwise operations to ensure good distribution
221
231
  * of hash values across different numeric inputs.
@@ -259,6 +269,8 @@ export const number = n => {
259
269
  /**
260
270
  * Computes a hash value for a string using the djb2 algorithm.
261
271
  *
272
+ * **Details**
273
+ *
262
274
  * This function implements a variation of the djb2 hash algorithm, which is
263
275
  * known for its good distribution properties and speed. It processes each
264
276
  * character of the string to produce a consistent hash value.
@@ -290,6 +302,8 @@ export const string = str => {
290
302
  /**
291
303
  * Computes a hash value for an object using only the specified keys.
292
304
  *
305
+ * **Details**
306
+ *
293
307
  * This function allows you to hash an object by considering only specific keys,
294
308
  * which is useful when you want to create a hash based on a subset of an object's
295
309
  * properties.
@@ -325,8 +339,9 @@ export const structureKeys = (o, keys) => {
325
339
  return optimize(h);
326
340
  };
327
341
  /**
328
- * Computes a structural hash for an object using Effect's object key
329
- * collection.
342
+ * Computes a structural hash for an object using Effect's object key collection.
343
+ *
344
+ * **Details**
330
345
  *
331
346
  * The hash is based on the object's structural keys and their values, including
332
347
  * symbol keys and relevant prototype keys for non-plain objects.
@@ -362,6 +377,8 @@ const iterableWith = (seed, f) => iter => {
362
377
  /**
363
378
  * Computes a hash value for an array by hashing all of its elements.
364
379
  *
380
+ * **Details**
381
+ *
365
382
  * This function creates a hash value based on all elements in the array.
366
383
  * The order of elements matters, so arrays with the same elements in different
367
384
  * orders will produce different hash values.