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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1580) hide show
  1. package/dist/Array.d.ts +971 -1037
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +462 -412
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +433 -756
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +200 -325
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +207 -267
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +107 -135
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +146 -188
  14. package/dist/Boolean.d.ts.map +1 -1
  15. package/dist/Boolean.js +64 -84
  16. package/dist/Boolean.js.map +1 -1
  17. package/dist/Brand.js.map +1 -1
  18. package/dist/Cache.d.ts +405 -254
  19. package/dist/Cache.d.ts.map +1 -1
  20. package/dist/Cache.js +166 -101
  21. package/dist/Cache.js.map +1 -1
  22. package/dist/Cause.d.ts +167 -277
  23. package/dist/Cause.d.ts.map +1 -1
  24. package/dist/Cause.js +122 -176
  25. package/dist/Cause.js.map +1 -1
  26. package/dist/Channel.d.ts +729 -768
  27. package/dist/Channel.d.ts.map +1 -1
  28. package/dist/Channel.js +541 -449
  29. package/dist/Channel.js.map +1 -1
  30. package/dist/ChannelSchema.d.ts +1 -1
  31. package/dist/ChannelSchema.d.ts.map +1 -1
  32. package/dist/ChannelSchema.js.map +1 -1
  33. package/dist/Chunk.d.ts +834 -1173
  34. package/dist/Chunk.d.ts.map +1 -1
  35. package/dist/Chunk.js +326 -439
  36. package/dist/Chunk.js.map +1 -1
  37. package/dist/Clock.d.ts +180 -49
  38. package/dist/Clock.d.ts.map +1 -1
  39. package/dist/Clock.js +96 -31
  40. package/dist/Clock.js.map +1 -1
  41. package/dist/Combiner.d.ts +20 -33
  42. package/dist/Combiner.d.ts.map +1 -1
  43. package/dist/Combiner.js +18 -30
  44. package/dist/Combiner.js.map +1 -1
  45. package/dist/Config.d.ts +226 -174
  46. package/dist/Config.d.ts.map +1 -1
  47. package/dist/Config.js +339 -267
  48. package/dist/Config.js.map +1 -1
  49. package/dist/ConfigProvider.d.ts +194 -68
  50. package/dist/ConfigProvider.d.ts.map +1 -1
  51. package/dist/ConfigProvider.js +122 -87
  52. package/dist/ConfigProvider.js.map +1 -1
  53. package/dist/Console.d.ts +233 -33
  54. package/dist/Console.d.ts.map +1 -1
  55. package/dist/Console.js +232 -32
  56. package/dist/Console.js.map +1 -1
  57. package/dist/Context.d.ts +151 -274
  58. package/dist/Context.d.ts.map +1 -1
  59. package/dist/Context.js +171 -214
  60. package/dist/Context.js.map +1 -1
  61. package/dist/Cron.d.ts +68 -77
  62. package/dist/Cron.d.ts.map +1 -1
  63. package/dist/Cron.js +57 -66
  64. package/dist/Cron.js.map +1 -1
  65. package/dist/Crypto.d.ts +13 -15
  66. package/dist/Crypto.d.ts.map +1 -1
  67. package/dist/Crypto.js +9 -10
  68. package/dist/Crypto.js.map +1 -1
  69. package/dist/Data.d.ts +60 -80
  70. package/dist/Data.d.ts.map +1 -1
  71. package/dist/Data.js +18 -24
  72. package/dist/Data.js.map +1 -1
  73. package/dist/DateTime.d.ts +562 -660
  74. package/dist/DateTime.d.ts.map +1 -1
  75. package/dist/DateTime.js +307 -362
  76. package/dist/DateTime.js.map +1 -1
  77. package/dist/Deferred.d.ts +253 -256
  78. package/dist/Deferred.d.ts.map +1 -1
  79. package/dist/Deferred.js +104 -96
  80. package/dist/Deferred.js.map +1 -1
  81. package/dist/Duration.d.ts +216 -308
  82. package/dist/Duration.d.ts.map +1 -1
  83. package/dist/Duration.js +132 -186
  84. package/dist/Duration.js.map +1 -1
  85. package/dist/Effect.d.ts +2897 -3342
  86. package/dist/Effect.d.ts.map +1 -1
  87. package/dist/Effect.js +1383 -1580
  88. package/dist/Effect.js.map +1 -1
  89. package/dist/Effectable.js.map +1 -1
  90. package/dist/Encoding.d.ts +22 -40
  91. package/dist/Encoding.d.ts.map +1 -1
  92. package/dist/Encoding.js +22 -40
  93. package/dist/Encoding.js.map +1 -1
  94. package/dist/Equal.d.ts +33 -37
  95. package/dist/Equal.d.ts.map +1 -1
  96. package/dist/Equal.js +29 -21
  97. package/dist/Equal.js.map +1 -1
  98. package/dist/Equivalence.d.ts +103 -105
  99. package/dist/Equivalence.d.ts.map +1 -1
  100. package/dist/Equivalence.js +77 -79
  101. package/dist/Equivalence.js.map +1 -1
  102. package/dist/ErrorReporter.d.ts +51 -27
  103. package/dist/ErrorReporter.d.ts.map +1 -1
  104. package/dist/ErrorReporter.js +50 -26
  105. package/dist/ErrorReporter.js.map +1 -1
  106. package/dist/ExecutionPlan.d.ts +13 -55
  107. package/dist/ExecutionPlan.d.ts.map +1 -1
  108. package/dist/ExecutionPlan.js +7 -28
  109. package/dist/ExecutionPlan.js.map +1 -1
  110. package/dist/Exit.d.ts +116 -192
  111. package/dist/Exit.d.ts.map +1 -1
  112. package/dist/Exit.js +82 -130
  113. package/dist/Exit.js.map +1 -1
  114. package/dist/Fiber.d.ts +82 -146
  115. package/dist/Fiber.d.ts.map +1 -1
  116. package/dist/Fiber.js +48 -87
  117. package/dist/Fiber.js.map +1 -1
  118. package/dist/FiberHandle.d.ts +152 -105
  119. package/dist/FiberHandle.d.ts.map +1 -1
  120. package/dist/FiberHandle.js +109 -75
  121. package/dist/FiberHandle.js.map +1 -1
  122. package/dist/FiberMap.d.ts +213 -168
  123. package/dist/FiberMap.d.ts.map +1 -1
  124. package/dist/FiberMap.js +114 -89
  125. package/dist/FiberMap.js.map +1 -1
  126. package/dist/FiberSet.d.ts +123 -81
  127. package/dist/FiberSet.d.ts.map +1 -1
  128. package/dist/FiberSet.js +85 -59
  129. package/dist/FiberSet.js.map +1 -1
  130. package/dist/FileSystem.d.ts +153 -264
  131. package/dist/FileSystem.d.ts.map +1 -1
  132. package/dist/FileSystem.js +42 -147
  133. package/dist/FileSystem.js.map +1 -1
  134. package/dist/Filter.d.ts +61 -33
  135. package/dist/Filter.d.ts.map +1 -1
  136. package/dist/Filter.js +26 -15
  137. package/dist/Filter.js.map +1 -1
  138. package/dist/Formatter.d.ts +25 -33
  139. package/dist/Formatter.d.ts.map +1 -1
  140. package/dist/Formatter.js +48 -49
  141. package/dist/Formatter.js.map +1 -1
  142. package/dist/Function.d.ts +76 -145
  143. package/dist/Function.d.ts.map +1 -1
  144. package/dist/Function.js +40 -57
  145. package/dist/Function.js.map +1 -1
  146. package/dist/Graph.d.ts +360 -714
  147. package/dist/Graph.d.ts.map +1 -1
  148. package/dist/Graph.js +168 -297
  149. package/dist/Graph.js.map +1 -1
  150. package/dist/HKT.d.ts +12 -6
  151. package/dist/HKT.d.ts.map +1 -1
  152. package/dist/Hash.d.ts +47 -83
  153. package/dist/Hash.d.ts.map +1 -1
  154. package/dist/Hash.js +46 -68
  155. package/dist/Hash.js.map +1 -1
  156. package/dist/HashMap.d.ts +319 -411
  157. package/dist/HashMap.d.ts.map +1 -1
  158. package/dist/HashMap.js +122 -166
  159. package/dist/HashMap.js.map +1 -1
  160. package/dist/HashRing.d.ts.map +1 -1
  161. package/dist/HashRing.js +1 -0
  162. package/dist/HashRing.js.map +1 -1
  163. package/dist/HashSet.d.ts +177 -284
  164. package/dist/HashSet.d.ts.map +1 -1
  165. package/dist/HashSet.js +68 -109
  166. package/dist/HashSet.js.map +1 -1
  167. package/dist/Inspectable.d.ts +12 -12
  168. package/dist/Inspectable.js +8 -8
  169. package/dist/Inspectable.js.map +1 -1
  170. package/dist/Iterable.d.ts +620 -786
  171. package/dist/Iterable.d.ts.map +1 -1
  172. package/dist/Iterable.js +230 -307
  173. package/dist/Iterable.js.map +1 -1
  174. package/dist/JsonPatch.d.ts +11 -13
  175. package/dist/JsonPatch.d.ts.map +1 -1
  176. package/dist/JsonPatch.js +46 -103
  177. package/dist/JsonPatch.js.map +1 -1
  178. package/dist/JsonPointer.d.ts +8 -8
  179. package/dist/JsonPointer.js +8 -8
  180. package/dist/JsonPointer.js.map +1 -1
  181. package/dist/JsonSchema.d.ts +98 -44
  182. package/dist/JsonSchema.d.ts.map +1 -1
  183. package/dist/JsonSchema.js +300 -239
  184. package/dist/JsonSchema.js.map +1 -1
  185. package/dist/Latch.d.ts +23 -35
  186. package/dist/Latch.d.ts.map +1 -1
  187. package/dist/Latch.js +16 -28
  188. package/dist/Latch.js.map +1 -1
  189. package/dist/Layer.d.ts +359 -260
  190. package/dist/Layer.d.ts.map +1 -1
  191. package/dist/Layer.js +195 -175
  192. package/dist/Layer.js.map +1 -1
  193. package/dist/LayerMap.d.ts +42 -29
  194. package/dist/LayerMap.d.ts.map +1 -1
  195. package/dist/LayerMap.js +31 -21
  196. package/dist/LayerMap.js.map +1 -1
  197. package/dist/LayerRef.d.ts +6 -2
  198. package/dist/LayerRef.d.ts.map +1 -1
  199. package/dist/LayerRef.js +6 -2
  200. package/dist/LayerRef.js.map +1 -1
  201. package/dist/LogLevel.d.ts +114 -214
  202. package/dist/LogLevel.d.ts.map +1 -1
  203. package/dist/LogLevel.js +41 -76
  204. package/dist/LogLevel.js.map +1 -1
  205. package/dist/Logger.d.ts +218 -467
  206. package/dist/Logger.d.ts.map +1 -1
  207. package/dist/Logger.js +207 -452
  208. package/dist/Logger.js.map +1 -1
  209. package/dist/ManagedRuntime.d.ts +16 -5
  210. package/dist/ManagedRuntime.d.ts.map +1 -1
  211. package/dist/ManagedRuntime.js +10 -5
  212. package/dist/ManagedRuntime.js.map +1 -1
  213. package/dist/Match.d.ts +217 -252
  214. package/dist/Match.d.ts.map +1 -1
  215. package/dist/Match.js +150 -183
  216. package/dist/Match.js.map +1 -1
  217. package/dist/Metric.d.ts +442 -993
  218. package/dist/Metric.d.ts.map +1 -1
  219. package/dist/Metric.js +202 -645
  220. package/dist/Metric.js.map +1 -1
  221. package/dist/MutableHashMap.d.ts +144 -173
  222. package/dist/MutableHashMap.d.ts.map +1 -1
  223. package/dist/MutableHashMap.js +68 -79
  224. package/dist/MutableHashMap.js.map +1 -1
  225. package/dist/MutableHashSet.d.ts +84 -89
  226. package/dist/MutableHashSet.d.ts.map +1 -1
  227. package/dist/MutableHashSet.js +44 -47
  228. package/dist/MutableHashSet.js.map +1 -1
  229. package/dist/MutableList.d.ts +71 -370
  230. package/dist/MutableList.d.ts.map +1 -1
  231. package/dist/MutableList.js +59 -284
  232. package/dist/MutableList.js.map +1 -1
  233. package/dist/MutableRef.d.ts +420 -243
  234. package/dist/MutableRef.d.ts.map +1 -1
  235. package/dist/MutableRef.js +209 -120
  236. package/dist/MutableRef.js.map +1 -1
  237. package/dist/Newtype.d.ts +21 -14
  238. package/dist/Newtype.d.ts.map +1 -1
  239. package/dist/Newtype.js +15 -13
  240. package/dist/Newtype.js.map +1 -1
  241. package/dist/NonEmptyIterable.d.ts +7 -137
  242. package/dist/NonEmptyIterable.d.ts.map +1 -1
  243. package/dist/NonEmptyIterable.js +5 -93
  244. package/dist/NonEmptyIterable.js.map +1 -1
  245. package/dist/Number.d.ts +196 -233
  246. package/dist/Number.d.ts.map +1 -1
  247. package/dist/Number.js +90 -109
  248. package/dist/Number.js.map +1 -1
  249. package/dist/Optic.d.ts +97 -189
  250. package/dist/Optic.d.ts.map +1 -1
  251. package/dist/Optic.js +190 -292
  252. package/dist/Optic.js.map +1 -1
  253. package/dist/Option.d.ts +447 -812
  254. package/dist/Option.d.ts.map +1 -1
  255. package/dist/Option.js +213 -393
  256. package/dist/Option.js.map +1 -1
  257. package/dist/Order.d.ts +109 -109
  258. package/dist/Order.js +91 -91
  259. package/dist/Order.js.map +1 -1
  260. package/dist/Ordering.d.ts +20 -23
  261. package/dist/Ordering.d.ts.map +1 -1
  262. package/dist/Ordering.js +8 -9
  263. package/dist/Ordering.js.map +1 -1
  264. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  265. package/dist/PartitionedSemaphore.js +1 -4
  266. package/dist/PartitionedSemaphore.js.map +1 -1
  267. package/dist/Path.d.ts +38 -41
  268. package/dist/Path.d.ts.map +1 -1
  269. package/dist/Path.js +3 -4
  270. package/dist/Path.js.map +1 -1
  271. package/dist/Pipeable.d.ts +6 -5
  272. package/dist/Pipeable.d.ts.map +1 -1
  273. package/dist/Pipeable.js +2 -2
  274. package/dist/Pipeable.js.map +1 -1
  275. package/dist/PlatformError.d.ts +4 -4
  276. package/dist/PlatformError.js +3 -3
  277. package/dist/PlatformError.js.map +1 -1
  278. package/dist/Pool.d.ts +4 -2
  279. package/dist/Pool.d.ts.map +1 -1
  280. package/dist/Pool.js +4 -2
  281. package/dist/Pool.js.map +1 -1
  282. package/dist/Predicate.d.ts +200 -181
  283. package/dist/Predicate.d.ts.map +1 -1
  284. package/dist/Predicate.js +100 -108
  285. package/dist/Predicate.js.map +1 -1
  286. package/dist/PrimaryKey.d.ts +7 -7
  287. package/dist/PrimaryKey.js +5 -5
  288. package/dist/PrimaryKey.js.map +1 -1
  289. package/dist/PubSub.d.ts +425 -494
  290. package/dist/PubSub.d.ts.map +1 -1
  291. package/dist/PubSub.js +373 -362
  292. package/dist/PubSub.js.map +1 -1
  293. package/dist/Pull.d.ts +24 -18
  294. package/dist/Pull.d.ts.map +1 -1
  295. package/dist/Pull.js +11 -9
  296. package/dist/Pull.js.map +1 -1
  297. package/dist/Queue.d.ts +200 -159
  298. package/dist/Queue.d.ts.map +1 -1
  299. package/dist/Queue.js +162 -132
  300. package/dist/Queue.js.map +1 -1
  301. package/dist/Random.d.ts +49 -74
  302. package/dist/Random.d.ts.map +1 -1
  303. package/dist/Random.js +35 -54
  304. package/dist/Random.js.map +1 -1
  305. package/dist/RcMap.d.ts +121 -63
  306. package/dist/RcMap.d.ts.map +1 -1
  307. package/dist/RcMap.js +42 -21
  308. package/dist/RcMap.js.map +1 -1
  309. package/dist/RcRef.d.ts +24 -13
  310. package/dist/RcRef.d.ts.map +1 -1
  311. package/dist/RcRef.js +15 -9
  312. package/dist/RcRef.js.map +1 -1
  313. package/dist/Record.d.ts +361 -466
  314. package/dist/Record.d.ts.map +1 -1
  315. package/dist/Record.js +163 -216
  316. package/dist/Record.js.map +1 -1
  317. package/dist/Redactable.d.ts +6 -2
  318. package/dist/Redactable.d.ts.map +1 -1
  319. package/dist/Redactable.js +7 -2
  320. package/dist/Redactable.js.map +1 -1
  321. package/dist/Redacted.d.ts +25 -25
  322. package/dist/Redacted.d.ts.map +1 -1
  323. package/dist/Redacted.js +19 -20
  324. package/dist/Redacted.js.map +1 -1
  325. package/dist/Reducer.d.ts +8 -15
  326. package/dist/Reducer.d.ts.map +1 -1
  327. package/dist/Reducer.js +6 -12
  328. package/dist/Reducer.js.map +1 -1
  329. package/dist/Ref.d.ts +95 -165
  330. package/dist/Ref.d.ts.map +1 -1
  331. package/dist/Ref.js +75 -122
  332. package/dist/Ref.js.map +1 -1
  333. package/dist/References.d.ts +102 -213
  334. package/dist/References.d.ts.map +1 -1
  335. package/dist/References.js +102 -213
  336. package/dist/References.js.map +1 -1
  337. package/dist/RegExp.d.ts +10 -14
  338. package/dist/RegExp.d.ts.map +1 -1
  339. package/dist/RegExp.js +10 -14
  340. package/dist/RegExp.js.map +1 -1
  341. package/dist/Request.d.ts +31 -21
  342. package/dist/Request.d.ts.map +1 -1
  343. package/dist/Request.js +25 -19
  344. package/dist/Request.js.map +1 -1
  345. package/dist/RequestResolver.d.ts +201 -90
  346. package/dist/RequestResolver.d.ts.map +1 -1
  347. package/dist/RequestResolver.js +87 -41
  348. package/dist/RequestResolver.js.map +1 -1
  349. package/dist/Resource.js.map +1 -1
  350. package/dist/Result.d.ts +302 -470
  351. package/dist/Result.d.ts.map +1 -1
  352. package/dist/Result.js +135 -218
  353. package/dist/Result.js.map +1 -1
  354. package/dist/Runtime.d.ts +50 -75
  355. package/dist/Runtime.d.ts.map +1 -1
  356. package/dist/Runtime.js +39 -60
  357. package/dist/Runtime.js.map +1 -1
  358. package/dist/Schedule.d.ts +290 -1636
  359. package/dist/Schedule.d.ts.map +1 -1
  360. package/dist/Schedule.js +162 -803
  361. package/dist/Schedule.js.map +1 -1
  362. package/dist/Scheduler.d.ts +5 -5
  363. package/dist/Scheduler.d.ts.map +1 -1
  364. package/dist/Scheduler.js +18 -6
  365. package/dist/Scheduler.js.map +1 -1
  366. package/dist/Schema.d.ts +1835 -1060
  367. package/dist/Schema.d.ts.map +1 -1
  368. package/dist/Schema.js +2708 -1050
  369. package/dist/Schema.js.map +1 -1
  370. package/dist/SchemaAST.d.ts +29 -52
  371. package/dist/SchemaAST.d.ts.map +1 -1
  372. package/dist/SchemaAST.js +537 -391
  373. package/dist/SchemaAST.js.map +1 -1
  374. package/dist/SchemaError.d.ts +7 -6
  375. package/dist/SchemaError.d.ts.map +1 -1
  376. package/dist/SchemaError.js +8 -7
  377. package/dist/SchemaError.js.map +1 -1
  378. package/dist/SchemaGetter.d.ts +230 -185
  379. package/dist/SchemaGetter.d.ts.map +1 -1
  380. package/dist/SchemaGetter.js +252 -209
  381. package/dist/SchemaGetter.js.map +1 -1
  382. package/dist/SchemaIssue.d.ts +62 -190
  383. package/dist/SchemaIssue.d.ts.map +1 -1
  384. package/dist/SchemaIssue.js +74 -266
  385. package/dist/SchemaIssue.js.map +1 -1
  386. package/dist/SchemaParser.d.ts +2 -2
  387. package/dist/SchemaParser.d.ts.map +1 -1
  388. package/dist/SchemaParser.js +123 -86
  389. package/dist/SchemaParser.js.map +1 -1
  390. package/dist/SchemaRepresentation.d.ts +398 -1513
  391. package/dist/SchemaRepresentation.d.ts.map +1 -1
  392. package/dist/SchemaRepresentation.js +290 -2854
  393. package/dist/SchemaRepresentation.js.map +1 -1
  394. package/dist/SchemaTransformation.d.ts +116 -76
  395. package/dist/SchemaTransformation.d.ts.map +1 -1
  396. package/dist/SchemaTransformation.js +123 -88
  397. package/dist/SchemaTransformation.js.map +1 -1
  398. package/dist/Scope.d.ts +123 -151
  399. package/dist/Scope.d.ts.map +1 -1
  400. package/dist/Scope.js +72 -92
  401. package/dist/Scope.js.map +1 -1
  402. package/dist/ScopedCache.js.map +1 -1
  403. package/dist/ScopedRef.d.ts +3 -3
  404. package/dist/ScopedRef.js +2 -2
  405. package/dist/ScopedRef.js.map +1 -1
  406. package/dist/Semaphore.d.ts +101 -13
  407. package/dist/Semaphore.d.ts.map +1 -1
  408. package/dist/Semaphore.js +78 -39
  409. package/dist/Semaphore.js.map +1 -1
  410. package/dist/Sink.d.ts +117 -107
  411. package/dist/Sink.d.ts.map +1 -1
  412. package/dist/Sink.js +107 -100
  413. package/dist/Sink.js.map +1 -1
  414. package/dist/Stdio.d.ts +1 -1
  415. package/dist/Stdio.js.map +1 -1
  416. package/dist/Stream.d.ts +2430 -2958
  417. package/dist/Stream.d.ts.map +1 -1
  418. package/dist/Stream.js +1124 -1397
  419. package/dist/Stream.js.map +1 -1
  420. package/dist/String.d.ts +262 -308
  421. package/dist/String.d.ts.map +1 -1
  422. package/dist/String.js +184 -215
  423. package/dist/String.js.map +1 -1
  424. package/dist/Struct.d.ts +109 -114
  425. package/dist/Struct.d.ts.map +1 -1
  426. package/dist/Struct.js +46 -54
  427. package/dist/Struct.js.map +1 -1
  428. package/dist/SubscriptionRef.d.ts +282 -250
  429. package/dist/SubscriptionRef.d.ts.map +1 -1
  430. package/dist/SubscriptionRef.js +104 -92
  431. package/dist/SubscriptionRef.js.map +1 -1
  432. package/dist/Symbol.d.ts +3 -3
  433. package/dist/Symbol.js +3 -3
  434. package/dist/Symbol.js.map +1 -1
  435. package/dist/SynchronizedRef.js.map +1 -1
  436. package/dist/Take.js.map +1 -1
  437. package/dist/Terminal.d.ts +2 -2
  438. package/dist/Terminal.js +1 -1
  439. package/dist/Terminal.js.map +1 -1
  440. package/dist/Tracer.d.ts +100 -54
  441. package/dist/Tracer.d.ts.map +1 -1
  442. package/dist/Tracer.js +41 -24
  443. package/dist/Tracer.js.map +1 -1
  444. package/dist/Trie.d.ts +287 -679
  445. package/dist/Trie.d.ts.map +1 -1
  446. package/dist/Trie.js +109 -251
  447. package/dist/Trie.js.map +1 -1
  448. package/dist/Tuple.d.ts +92 -127
  449. package/dist/Tuple.d.ts.map +1 -1
  450. package/dist/Tuple.js +42 -57
  451. package/dist/Tuple.js.map +1 -1
  452. package/dist/TxChunk.d.ts +201 -121
  453. package/dist/TxChunk.d.ts.map +1 -1
  454. package/dist/TxChunk.js +85 -56
  455. package/dist/TxChunk.js.map +1 -1
  456. package/dist/TxDeferred.d.ts +62 -46
  457. package/dist/TxDeferred.d.ts.map +1 -1
  458. package/dist/TxDeferred.js +30 -22
  459. package/dist/TxDeferred.js.map +1 -1
  460. package/dist/TxHashMap.d.ts +631 -779
  461. package/dist/TxHashMap.d.ts.map +1 -1
  462. package/dist/TxHashMap.js +268 -330
  463. package/dist/TxHashMap.js.map +1 -1
  464. package/dist/TxHashSet.d.ts +297 -236
  465. package/dist/TxHashSet.d.ts.map +1 -1
  466. package/dist/TxHashSet.js +130 -100
  467. package/dist/TxHashSet.js.map +1 -1
  468. package/dist/TxPriorityQueue.d.ts +126 -95
  469. package/dist/TxPriorityQueue.d.ts.map +1 -1
  470. package/dist/TxPriorityQueue.js +74 -56
  471. package/dist/TxPriorityQueue.js.map +1 -1
  472. package/dist/TxPubSub.d.ts +101 -88
  473. package/dist/TxPubSub.d.ts.map +1 -1
  474. package/dist/TxPubSub.js +87 -66
  475. package/dist/TxPubSub.js.map +1 -1
  476. package/dist/TxQueue.d.ts +200 -180
  477. package/dist/TxQueue.d.ts.map +1 -1
  478. package/dist/TxQueue.js +160 -136
  479. package/dist/TxQueue.js.map +1 -1
  480. package/dist/TxReentrantLock.d.ts +97 -66
  481. package/dist/TxReentrantLock.d.ts.map +1 -1
  482. package/dist/TxReentrantLock.js +67 -45
  483. package/dist/TxReentrantLock.js.map +1 -1
  484. package/dist/TxRef.d.ts +51 -32
  485. package/dist/TxRef.d.ts.map +1 -1
  486. package/dist/TxRef.js +23 -15
  487. package/dist/TxRef.js.map +1 -1
  488. package/dist/TxSemaphore.d.ts +129 -95
  489. package/dist/TxSemaphore.d.ts.map +1 -1
  490. package/dist/TxSemaphore.js +85 -70
  491. package/dist/TxSemaphore.js.map +1 -1
  492. package/dist/TxSubscriptionRef.d.ts +97 -70
  493. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  494. package/dist/TxSubscriptionRef.js +44 -34
  495. package/dist/TxSubscriptionRef.js.map +1 -1
  496. package/dist/Types.d.ts +127 -70
  497. package/dist/Types.d.ts.map +1 -1
  498. package/dist/UndefinedOr.js.map +1 -1
  499. package/dist/Unify.d.ts +45 -65
  500. package/dist/Unify.d.ts.map +1 -1
  501. package/dist/Unify.js +6 -9
  502. package/dist/Unify.js.map +1 -1
  503. package/dist/Utils.d.ts +23 -16
  504. package/dist/Utils.d.ts.map +1 -1
  505. package/dist/Utils.js +3 -7
  506. package/dist/Utils.js.map +1 -1
  507. package/dist/index.d.ts +0 -4
  508. package/dist/index.d.ts.map +1 -1
  509. package/dist/index.js +0 -4
  510. package/dist/index.js.map +1 -1
  511. package/dist/internal/array.js.map +1 -1
  512. package/dist/internal/core.js +3 -2
  513. package/dist/internal/core.js.map +1 -1
  514. package/dist/internal/dateTime.js +4 -0
  515. package/dist/internal/dateTime.js.map +1 -1
  516. package/dist/internal/doNotation.js.map +1 -1
  517. package/dist/internal/effect.js +141 -61
  518. package/dist/internal/effect.js.map +1 -1
  519. package/dist/internal/equal.js.map +1 -1
  520. package/dist/internal/errors.js.map +1 -1
  521. package/dist/internal/executionPlan.js.map +1 -1
  522. package/dist/internal/hashMap.js.map +1 -1
  523. package/dist/internal/hashSet.js.map +1 -1
  524. package/dist/internal/layer.js.map +1 -1
  525. package/dist/internal/matcher.js +1 -1
  526. package/dist/internal/matcher.js.map +1 -1
  527. package/dist/internal/metric.js.map +1 -1
  528. package/dist/internal/option.js.map +1 -1
  529. package/dist/internal/persistence.d.ts +2 -0
  530. package/dist/internal/persistence.d.ts.map +1 -0
  531. package/dist/internal/persistence.js +3 -0
  532. package/dist/internal/persistence.js.map +1 -0
  533. package/dist/internal/random.js.map +1 -1
  534. package/dist/internal/rcRef.js.map +1 -1
  535. package/dist/internal/record.d.ts +0 -3
  536. package/dist/internal/record.d.ts.map +1 -1
  537. package/dist/internal/record.js +10 -5
  538. package/dist/internal/record.js.map +1 -1
  539. package/dist/internal/redacted.js.map +1 -1
  540. package/dist/internal/references.js +3 -4
  541. package/dist/internal/references.js.map +1 -1
  542. package/dist/internal/request.js.map +1 -1
  543. package/dist/internal/result.js.map +1 -1
  544. package/dist/internal/schedule.js.map +1 -1
  545. package/dist/internal/schema/annotations.js +12 -0
  546. package/dist/internal/schema/annotations.js.map +1 -1
  547. package/dist/internal/schema/cause.js.map +1 -1
  548. package/dist/internal/schema/fromJsonSchemaDocument.d.ts +2 -0
  549. package/dist/internal/schema/fromJsonSchemaDocument.d.ts.map +1 -0
  550. package/dist/internal/schema/fromJsonSchemaDocument.js +745 -0
  551. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -0
  552. package/dist/internal/schema/fromRepresentation.d.ts +2 -0
  553. package/dist/internal/schema/fromRepresentation.d.ts.map +1 -0
  554. package/dist/internal/schema/fromRepresentation.js +245 -0
  555. package/dist/internal/schema/fromRepresentation.js.map +1 -0
  556. package/dist/internal/schema/parser.d.ts +14 -0
  557. package/dist/internal/schema/parser.d.ts.map +1 -0
  558. package/dist/internal/schema/parser.js +13 -0
  559. package/dist/internal/schema/parser.js.map +1 -0
  560. package/dist/internal/schema/schema.js +28 -40
  561. package/dist/internal/schema/schema.js.map +1 -1
  562. package/dist/internal/schema/{arbitrary.d.ts → toArbitrary.d.ts} +1 -1
  563. package/dist/internal/schema/toArbitrary.d.ts.map +1 -0
  564. package/dist/internal/schema/{arbitrary.js → toArbitrary.js} +8 -9
  565. package/dist/internal/schema/toArbitrary.js.map +1 -0
  566. package/dist/internal/schema/toCodeDocument.d.ts +2 -0
  567. package/dist/internal/schema/toCodeDocument.d.ts.map +1 -0
  568. package/dist/internal/schema/toCodeDocument.js +438 -0
  569. package/dist/internal/schema/toCodeDocument.js.map +1 -0
  570. package/dist/internal/schema/toEquivalence.d.ts +2 -0
  571. package/dist/internal/schema/toEquivalence.d.ts.map +1 -0
  572. package/dist/internal/schema/{equivalence.js → toEquivalence.js} +15 -13
  573. package/dist/internal/schema/toEquivalence.js.map +1 -0
  574. package/dist/internal/schema/toJsonSchemaDocument.d.ts +2 -0
  575. package/dist/internal/schema/toJsonSchemaDocument.d.ts.map +1 -0
  576. package/dist/internal/schema/toJsonSchemaDocument.js +508 -0
  577. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -0
  578. package/dist/internal/schema/toRepresentation.d.ts +2 -0
  579. package/dist/internal/schema/toRepresentation.d.ts.map +1 -0
  580. package/dist/internal/schema/toRepresentation.js +349 -0
  581. package/dist/internal/schema/toRepresentation.js.map +1 -0
  582. package/dist/internal/stackTraceLimit.js +3 -6
  583. package/dist/internal/stackTraceLimit.js.map +1 -1
  584. package/dist/internal/stream.js.map +1 -1
  585. package/dist/internal/tracer.js.map +1 -1
  586. package/dist/internal/trie.js +13 -9
  587. package/dist/internal/trie.js.map +1 -1
  588. package/dist/testing/FastCheck.d.ts +8 -7
  589. package/dist/testing/FastCheck.d.ts.map +1 -1
  590. package/dist/testing/FastCheck.js +8 -7
  591. package/dist/testing/FastCheck.js.map +1 -1
  592. package/dist/testing/TestClock.d.ts +57 -28
  593. package/dist/testing/TestClock.d.ts.map +1 -1
  594. package/dist/testing/TestClock.js +54 -19
  595. package/dist/testing/TestClock.js.map +1 -1
  596. package/dist/testing/TestConsole.d.ts +32 -31
  597. package/dist/testing/TestConsole.d.ts.map +1 -1
  598. package/dist/testing/TestConsole.js +24 -22
  599. package/dist/testing/TestConsole.js.map +1 -1
  600. package/dist/testing/TestSchema.d.ts +29 -29
  601. package/dist/testing/TestSchema.js +25 -25
  602. package/dist/testing/TestSchema.js.map +1 -1
  603. package/dist/testing/index.js.map +1 -1
  604. package/dist/unstable/ai/AiError.d.ts +121 -144
  605. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  606. package/dist/unstable/ai/AiError.js +99 -121
  607. package/dist/unstable/ai/AiError.js.map +1 -1
  608. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +22 -7
  609. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  610. package/dist/unstable/ai/AnthropicStructuredOutput.js +87 -317
  611. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  612. package/dist/unstable/ai/Chat.d.ts +132 -97
  613. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  614. package/dist/unstable/ai/Chat.js +55 -51
  615. package/dist/unstable/ai/Chat.js.map +1 -1
  616. package/dist/unstable/ai/EmbeddingModel.d.ts +1 -1
  617. package/dist/unstable/ai/EmbeddingModel.js +1 -1
  618. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  619. package/dist/unstable/ai/IdGenerator.d.ts +32 -28
  620. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  621. package/dist/unstable/ai/IdGenerator.js +26 -21
  622. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  623. package/dist/unstable/ai/LanguageModel.d.ts +111 -68
  624. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  625. package/dist/unstable/ai/LanguageModel.js +123 -81
  626. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  627. package/dist/unstable/ai/McpProtocol.d.ts +30 -0
  628. package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
  629. package/dist/unstable/ai/McpProtocol.js +20 -0
  630. package/dist/unstable/ai/McpProtocol.js.map +1 -0
  631. package/dist/unstable/ai/McpSchema.d.ts +316 -250
  632. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  633. package/dist/unstable/ai/McpSchema.js +71 -63
  634. package/dist/unstable/ai/McpSchema.js.map +1 -1
  635. package/dist/unstable/ai/McpServer.d.ts +71 -62
  636. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  637. package/dist/unstable/ai/McpServer.js +765 -245
  638. package/dist/unstable/ai/McpServer.js.map +1 -1
  639. package/dist/unstable/ai/Model.d.ts +8 -19
  640. package/dist/unstable/ai/Model.d.ts.map +1 -1
  641. package/dist/unstable/ai/Model.js +9 -20
  642. package/dist/unstable/ai/Model.js.map +1 -1
  643. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +33 -11
  644. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  645. package/dist/unstable/ai/OpenAiStructuredOutput.js +194 -378
  646. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  647. package/dist/unstable/ai/Prompt.d.ts +112 -38
  648. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  649. package/dist/unstable/ai/Prompt.js +53 -17
  650. package/dist/unstable/ai/Prompt.js.map +1 -1
  651. package/dist/unstable/ai/Response.d.ts +47 -33
  652. package/dist/unstable/ai/Response.d.ts.map +1 -1
  653. package/dist/unstable/ai/Response.js +23 -18
  654. package/dist/unstable/ai/Response.js.map +1 -1
  655. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  656. package/dist/unstable/ai/Telemetry.d.ts +46 -13
  657. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  658. package/dist/unstable/ai/Telemetry.js +18 -7
  659. package/dist/unstable/ai/Telemetry.js.map +1 -1
  660. package/dist/unstable/ai/Tokenizer.d.ts +14 -3
  661. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  662. package/dist/unstable/ai/Tokenizer.js +10 -2
  663. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  664. package/dist/unstable/ai/Tool.d.ts +63 -44
  665. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  666. package/dist/unstable/ai/Tool.js +59 -42
  667. package/dist/unstable/ai/Tool.js.map +1 -1
  668. package/dist/unstable/ai/Toolkit.d.ts +35 -9
  669. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  670. package/dist/unstable/ai/Toolkit.js +32 -14
  671. package/dist/unstable/ai/Toolkit.js.map +1 -1
  672. package/dist/unstable/ai/index.d.ts +4 -0
  673. package/dist/unstable/ai/index.d.ts.map +1 -1
  674. package/dist/unstable/ai/index.js +4 -0
  675. package/dist/unstable/ai/index.js.map +1 -1
  676. package/dist/unstable/ai/internal/codec-transformer.js +15 -12
  677. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  678. package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
  679. package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
  680. package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
  681. package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
  682. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
  683. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
  684. package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
  685. package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
  686. package/dist/unstable/ai/internal/structured-output.d.ts +2 -0
  687. package/dist/unstable/ai/internal/structured-output.d.ts.map +1 -0
  688. package/dist/unstable/ai/internal/structured-output.js +315 -0
  689. package/dist/unstable/ai/internal/structured-output.js.map +1 -0
  690. package/dist/unstable/cli/Argument.d.ts +273 -69
  691. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  692. package/dist/unstable/cli/Argument.js +111 -33
  693. package/dist/unstable/cli/Argument.js.map +1 -1
  694. package/dist/unstable/cli/CliConfig.js.map +1 -1
  695. package/dist/unstable/cli/CliError.d.ts +105 -74
  696. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  697. package/dist/unstable/cli/CliError.js +98 -63
  698. package/dist/unstable/cli/CliError.js.map +1 -1
  699. package/dist/unstable/cli/CliOutput.d.ts +35 -54
  700. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  701. package/dist/unstable/cli/CliOutput.js +26 -42
  702. package/dist/unstable/cli/CliOutput.js.map +1 -1
  703. package/dist/unstable/cli/Command.d.ts +705 -107
  704. package/dist/unstable/cli/Command.d.ts.map +1 -1
  705. package/dist/unstable/cli/Command.js +252 -47
  706. package/dist/unstable/cli/Command.js.map +1 -1
  707. package/dist/unstable/cli/Completions.js.map +1 -1
  708. package/dist/unstable/cli/Flag.d.ts +418 -138
  709. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  710. package/dist/unstable/cli/Flag.js +197 -71
  711. package/dist/unstable/cli/Flag.js.map +1 -1
  712. package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
  713. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  714. package/dist/unstable/cli/HelpDoc.d.ts +12 -4
  715. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  716. package/dist/unstable/cli/Param.d.ts +292 -78
  717. package/dist/unstable/cli/Param.d.ts.map +1 -1
  718. package/dist/unstable/cli/Param.js +131 -49
  719. package/dist/unstable/cli/Param.js.map +1 -1
  720. package/dist/unstable/cli/Primitive.d.ts +370 -149
  721. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  722. package/dist/unstable/cli/Primitive.js +345 -137
  723. package/dist/unstable/cli/Primitive.js.map +1 -1
  724. package/dist/unstable/cli/Prompt.d.ts +23 -14
  725. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  726. package/dist/unstable/cli/Prompt.js +23 -14
  727. package/dist/unstable/cli/Prompt.js.map +1 -1
  728. package/dist/unstable/cli/index.js.map +1 -1
  729. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  730. package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
  731. package/dist/unstable/cli/internal/command.d.ts +3 -1
  732. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  733. package/dist/unstable/cli/internal/command.js +11 -4
  734. package/dist/unstable/cli/internal/command.js.map +1 -1
  735. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  736. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  737. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  738. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  739. package/dist/unstable/cli/internal/config.d.ts +0 -48
  740. package/dist/unstable/cli/internal/config.d.ts.map +1 -1
  741. package/dist/unstable/cli/internal/config.js +8 -10
  742. package/dist/unstable/cli/internal/config.js.map +1 -1
  743. package/dist/unstable/cli/internal/help.js.map +1 -1
  744. package/dist/unstable/cli/internal/lexer.js +17 -7
  745. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  746. package/dist/unstable/cli/internal/parser.js +2 -2
  747. package/dist/unstable/cli/internal/parser.js.map +1 -1
  748. package/dist/unstable/cli/internal/wizard.js.map +1 -1
  749. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  750. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  751. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  752. package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
  753. package/dist/unstable/cluster/ClusterSchema.js +8 -8
  754. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  755. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  756. package/dist/unstable/cluster/ClusterWorkflowEngine.js +6 -2
  757. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  758. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  759. package/dist/unstable/cluster/Entity.d.ts +10 -10
  760. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  761. package/dist/unstable/cluster/Entity.js +9 -9
  762. package/dist/unstable/cluster/Entity.js.map +1 -1
  763. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  764. package/dist/unstable/cluster/EntityId.js.map +1 -1
  765. package/dist/unstable/cluster/EntityProxy.d.ts +4 -2
  766. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  767. package/dist/unstable/cluster/EntityProxy.js +4 -2
  768. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  769. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  770. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  771. package/dist/unstable/cluster/EntityResource.js +2 -2
  772. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  773. package/dist/unstable/cluster/EntityType.js.map +1 -1
  774. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  775. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  776. package/dist/unstable/cluster/Envelope.js +5 -4
  777. package/dist/unstable/cluster/Envelope.js.map +1 -1
  778. package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
  779. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  780. package/dist/unstable/cluster/HttpRunner.js +6 -4
  781. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  782. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  783. package/dist/unstable/cluster/MachineId.js.map +1 -1
  784. package/dist/unstable/cluster/Message.d.ts +9 -9
  785. package/dist/unstable/cluster/Message.js +6 -6
  786. package/dist/unstable/cluster/Message.js.map +1 -1
  787. package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
  788. package/dist/unstable/cluster/MessageStorage.js +5 -5
  789. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  790. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  791. package/dist/unstable/cluster/Reply.js +5 -5
  792. package/dist/unstable/cluster/Reply.js.map +1 -1
  793. package/dist/unstable/cluster/Runner.d.ts +1 -1
  794. package/dist/unstable/cluster/Runner.js +1 -1
  795. package/dist/unstable/cluster/Runner.js.map +1 -1
  796. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  797. package/dist/unstable/cluster/RunnerAddress.js +1 -1
  798. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  799. package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
  800. package/dist/unstable/cluster/RunnerHealth.js +1 -1
  801. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  802. package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
  803. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  804. package/dist/unstable/cluster/RunnerServer.js +16 -16
  805. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  806. package/dist/unstable/cluster/RunnerStorage.d.ts +2 -2
  807. package/dist/unstable/cluster/RunnerStorage.js +1 -1
  808. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  809. package/dist/unstable/cluster/Runners.d.ts +6 -6
  810. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  811. package/dist/unstable/cluster/Runners.js +19 -10
  812. package/dist/unstable/cluster/Runners.js.map +1 -1
  813. package/dist/unstable/cluster/ShardId.js +1 -1
  814. package/dist/unstable/cluster/ShardId.js.map +1 -1
  815. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  816. package/dist/unstable/cluster/Sharding.js +128 -26
  817. package/dist/unstable/cluster/Sharding.js.map +1 -1
  818. package/dist/unstable/cluster/ShardingConfig.d.ts +13 -5
  819. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  820. package/dist/unstable/cluster/ShardingConfig.js +3 -3
  821. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  822. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  823. package/dist/unstable/cluster/SingleRunner.d.ts +4 -2
  824. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  825. package/dist/unstable/cluster/SingleRunner.js +2 -1
  826. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  827. package/dist/unstable/cluster/Singleton.js.map +1 -1
  828. package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
  829. package/dist/unstable/cluster/SingletonAddress.js +1 -1
  830. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  831. package/dist/unstable/cluster/Snowflake.d.ts +8 -8
  832. package/dist/unstable/cluster/Snowflake.js +8 -8
  833. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  834. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  835. package/dist/unstable/cluster/SqlMessageStorage.d.ts +7 -4
  836. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  837. package/dist/unstable/cluster/SqlMessageStorage.js +56 -25
  838. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  839. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  840. package/dist/unstable/cluster/SqlRunnerStorage.js +127 -65
  841. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  842. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  843. package/dist/unstable/cluster/index.js.map +1 -1
  844. package/dist/unstable/cluster/internal/entityManager.js +24 -12
  845. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  846. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  847. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  848. package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
  849. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  850. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  851. package/dist/unstable/cluster/internal/shardLock.d.ts +2 -0
  852. package/dist/unstable/cluster/internal/shardLock.d.ts.map +1 -0
  853. package/dist/unstable/cluster/internal/shardLock.js +4 -0
  854. package/dist/unstable/cluster/internal/shardLock.js.map +1 -0
  855. package/dist/unstable/devtools/DevTools.js.map +1 -1
  856. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  857. package/dist/unstable/devtools/DevToolsSchema.d.ts +20 -20
  858. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  859. package/dist/unstable/devtools/DevToolsSchema.js +8 -5
  860. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  861. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  862. package/dist/unstable/devtools/index.js.map +1 -1
  863. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  864. package/dist/unstable/encoding/Msgpack.js +6 -8
  865. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  866. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  867. package/dist/unstable/encoding/Sse.d.ts +72 -8
  868. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  869. package/dist/unstable/encoding/Sse.js +58 -8
  870. package/dist/unstable/encoding/Sse.js.map +1 -1
  871. package/dist/unstable/encoding/index.js.map +1 -1
  872. package/dist/unstable/eventlog/Event.d.ts +20 -20
  873. package/dist/unstable/eventlog/Event.js.map +1 -1
  874. package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
  875. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  876. package/dist/unstable/eventlog/EventJournal.d.ts +16 -16
  877. package/dist/unstable/eventlog/EventJournal.js +14 -14
  878. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  879. package/dist/unstable/eventlog/EventLog.d.ts +3 -3
  880. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  881. package/dist/unstable/eventlog/EventLog.js +18 -14
  882. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  883. package/dist/unstable/eventlog/EventLogEncryption.d.ts +2 -2
  884. package/dist/unstable/eventlog/EventLogEncryption.js +2 -2
  885. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  886. package/dist/unstable/eventlog/EventLogMessage.d.ts +6 -6
  887. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  888. package/dist/unstable/eventlog/EventLogMessage.js +9 -4
  889. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  890. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
  891. package/dist/unstable/eventlog/EventLogRemote.js +1 -1
  892. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  893. package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
  894. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  895. package/dist/unstable/eventlog/EventLogServer.js +45 -21
  896. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  897. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
  898. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  899. package/dist/unstable/eventlog/EventLogServerEncrypted.js +13 -5
  900. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  901. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
  902. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  903. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +14 -6
  904. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  905. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
  906. package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
  907. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  908. package/dist/unstable/eventlog/SqlEventJournal.js +2 -2
  909. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  910. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +1 -1
  911. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  912. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +3 -3
  913. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  914. package/dist/unstable/eventlog/index.js.map +1 -1
  915. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  916. package/dist/unstable/http/Cookies.d.ts +2 -2
  917. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  918. package/dist/unstable/http/Cookies.js +54 -40
  919. package/dist/unstable/http/Cookies.js.map +1 -1
  920. package/dist/unstable/http/Etag.d.ts +1 -1
  921. package/dist/unstable/http/Etag.js +1 -1
  922. package/dist/unstable/http/Etag.js.map +1 -1
  923. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  924. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  925. package/dist/unstable/http/Headers.d.ts +2 -2
  926. package/dist/unstable/http/Headers.js +10 -10
  927. package/dist/unstable/http/Headers.js.map +1 -1
  928. package/dist/unstable/http/HttpBody.d.ts +5 -3
  929. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  930. package/dist/unstable/http/HttpBody.js +11 -5
  931. package/dist/unstable/http/HttpBody.js.map +1 -1
  932. package/dist/unstable/http/HttpClient.d.ts +51 -44
  933. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  934. package/dist/unstable/http/HttpClient.js +46 -17
  935. package/dist/unstable/http/HttpClient.js.map +1 -1
  936. package/dist/unstable/http/HttpClientError.js.map +1 -1
  937. package/dist/unstable/http/HttpClientRequest.d.ts +44 -0
  938. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  939. package/dist/unstable/http/HttpClientRequest.js +16 -0
  940. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  941. package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
  942. package/dist/unstable/http/HttpClientResponse.js +2 -2
  943. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  944. package/dist/unstable/http/HttpEffect.d.ts +6 -6
  945. package/dist/unstable/http/HttpEffect.js +3 -3
  946. package/dist/unstable/http/HttpEffect.js.map +1 -1
  947. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  948. package/dist/unstable/http/HttpMethod.d.ts +6 -9
  949. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  950. package/dist/unstable/http/HttpMethod.js +6 -9
  951. package/dist/unstable/http/HttpMethod.js.map +1 -1
  952. package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
  953. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  954. package/dist/unstable/http/HttpMiddleware.js +164 -39
  955. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  956. package/dist/unstable/http/HttpPlatform.d.ts +76 -0
  957. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  958. package/dist/unstable/http/HttpPlatform.js +32 -0
  959. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  960. package/dist/unstable/http/HttpRouter.d.ts +88 -89
  961. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  962. package/dist/unstable/http/HttpRouter.js +78 -79
  963. package/dist/unstable/http/HttpRouter.js.map +1 -1
  964. package/dist/unstable/http/HttpServer.d.ts +13 -13
  965. package/dist/unstable/http/HttpServer.js +6 -6
  966. package/dist/unstable/http/HttpServer.js.map +1 -1
  967. package/dist/unstable/http/HttpServerError.d.ts +2 -2
  968. package/dist/unstable/http/HttpServerError.js +2 -2
  969. package/dist/unstable/http/HttpServerError.js.map +1 -1
  970. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  971. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  972. package/dist/unstable/http/HttpServerRequest.js +9 -8
  973. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  974. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  975. package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
  976. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  977. package/dist/unstable/http/HttpServerResponse.js +10 -0
  978. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  979. package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
  980. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  981. package/dist/unstable/http/HttpStaticServer.js +35 -7
  982. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  983. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  984. package/dist/unstable/http/Multipart.d.ts +6 -6
  985. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  986. package/dist/unstable/http/Multipart.js +22 -20
  987. package/dist/unstable/http/Multipart.js.map +1 -1
  988. package/dist/unstable/http/Template.js +1 -1
  989. package/dist/unstable/http/Template.js.map +1 -1
  990. package/dist/unstable/http/Url.d.ts +33 -63
  991. package/dist/unstable/http/Url.d.ts.map +1 -1
  992. package/dist/unstable/http/Url.js +14 -28
  993. package/dist/unstable/http/Url.js.map +1 -1
  994. package/dist/unstable/http/UrlParams.d.ts +10 -18
  995. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  996. package/dist/unstable/http/UrlParams.js +26 -31
  997. package/dist/unstable/http/UrlParams.js.map +1 -1
  998. package/dist/unstable/http/index.js.map +1 -1
  999. package/dist/unstable/http/internal/compression.d.ts +2 -0
  1000. package/dist/unstable/http/internal/compression.d.ts.map +1 -0
  1001. package/dist/unstable/http/internal/compression.js +155 -0
  1002. package/dist/unstable/http/internal/compression.js.map +1 -0
  1003. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
  1004. package/dist/unstable/httpapi/HttpApi.js +3 -3
  1005. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  1006. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
  1007. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  1008. package/dist/unstable/httpapi/HttpApiBuilder.js +10 -11
  1009. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  1010. package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
  1011. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  1012. package/dist/unstable/httpapi/HttpApiClient.js +16 -18
  1013. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  1014. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +42 -42
  1015. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  1016. package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
  1017. package/dist/unstable/httpapi/HttpApiError.js +13 -13
  1018. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  1019. package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
  1020. package/dist/unstable/httpapi/HttpApiGroup.js +1 -1
  1021. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  1022. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
  1023. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  1024. package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
  1025. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  1026. package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
  1027. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  1028. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  1029. package/dist/unstable/httpapi/HttpApiSchema.d.ts +6 -6
  1030. package/dist/unstable/httpapi/HttpApiSchema.js +4 -4
  1031. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  1032. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  1033. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  1034. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  1035. package/dist/unstable/httpapi/OpenApi.d.ts +13 -13
  1036. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  1037. package/dist/unstable/httpapi/OpenApi.js +50 -37
  1038. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  1039. package/dist/unstable/httpapi/index.js.map +1 -1
  1040. package/dist/unstable/httpapi/internal/html.js.map +1 -1
  1041. package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
  1042. package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
  1043. package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
  1044. package/dist/unstable/observability/Otlp.js.map +1 -1
  1045. package/dist/unstable/observability/OtlpExporter.d.ts +70 -1
  1046. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  1047. package/dist/unstable/observability/OtlpExporter.js +84 -6
  1048. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  1049. package/dist/unstable/observability/OtlpLogger.d.ts +4 -3
  1050. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  1051. package/dist/unstable/observability/OtlpLogger.js +2 -2
  1052. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  1053. package/dist/unstable/observability/OtlpMetrics.d.ts +11 -4
  1054. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  1055. package/dist/unstable/observability/OtlpMetrics.js +5 -2
  1056. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  1057. package/dist/unstable/observability/OtlpResource.d.ts +16 -7
  1058. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  1059. package/dist/unstable/observability/OtlpResource.js +21 -12
  1060. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  1061. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  1062. package/dist/unstable/observability/OtlpTracer.d.ts +4 -3
  1063. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  1064. package/dist/unstable/observability/OtlpTracer.js +2 -2
  1065. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  1066. package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
  1067. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  1068. package/dist/unstable/observability/PrometheusMetrics.js +10 -3
  1069. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  1070. package/dist/unstable/observability/index.js.map +1 -1
  1071. package/dist/unstable/observability/internal/otlpEnv.js +1 -1
  1072. package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
  1073. package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
  1074. package/dist/unstable/observability/internal/protobuf.js +3 -0
  1075. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  1076. package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
  1077. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  1078. package/dist/unstable/persistence/KeyValueStore.js +22 -13
  1079. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1080. package/dist/unstable/persistence/Persistable.d.ts +8 -8
  1081. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  1082. package/dist/unstable/persistence/Persistable.js +2 -1
  1083. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1084. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1085. package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
  1086. package/dist/unstable/persistence/PersistedQueue.js +6 -6
  1087. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1088. package/dist/unstable/persistence/Persistence.d.ts +3 -3
  1089. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1090. package/dist/unstable/persistence/Persistence.js +91 -15
  1091. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1092. package/dist/unstable/persistence/RateLimiter.d.ts +28 -17
  1093. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1094. package/dist/unstable/persistence/RateLimiter.js +26 -15
  1095. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1096. package/dist/unstable/persistence/Redis.d.ts +2 -2
  1097. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  1098. package/dist/unstable/persistence/Redis.js +3 -3
  1099. package/dist/unstable/persistence/Redis.js.map +1 -1
  1100. package/dist/unstable/persistence/index.js.map +1 -1
  1101. package/dist/unstable/process/ChildProcess.d.ts +64 -21
  1102. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1103. package/dist/unstable/process/ChildProcess.js +14 -5
  1104. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1105. package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
  1106. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1107. package/dist/unstable/process/ChildProcessSpawner.js +4 -2
  1108. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1109. package/dist/unstable/process/index.js.map +1 -1
  1110. package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
  1111. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1112. package/dist/unstable/reactivity/AsyncResult.js +14 -13
  1113. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1114. package/dist/unstable/reactivity/Atom.d.ts +105 -19
  1115. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1116. package/dist/unstable/reactivity/Atom.js +44 -12
  1117. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1118. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
  1119. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1120. package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
  1121. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1122. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1123. package/dist/unstable/reactivity/AtomRegistry.js +25 -4
  1124. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1125. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  1126. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1127. package/dist/unstable/reactivity/AtomRpc.js +4 -1
  1128. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1129. package/dist/unstable/reactivity/Hydration.d.ts +1 -1
  1130. package/dist/unstable/reactivity/Hydration.js +1 -1
  1131. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1132. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1133. package/dist/unstable/reactivity/index.js.map +1 -1
  1134. package/dist/unstable/rpc/Rpc.d.ts +35 -33
  1135. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1136. package/dist/unstable/rpc/Rpc.js +4 -2
  1137. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1138. package/dist/unstable/rpc/RpcClient.d.ts +12 -12
  1139. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1140. package/dist/unstable/rpc/RpcClient.js +14 -12
  1141. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1142. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1143. package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
  1144. package/dist/unstable/rpc/RpcGroup.js +1 -1
  1145. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1146. package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
  1147. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1148. package/dist/unstable/rpc/RpcMessage.js +6 -6
  1149. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1150. package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
  1151. package/dist/unstable/rpc/RpcMiddleware.js +1 -1
  1152. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1153. package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
  1154. package/dist/unstable/rpc/RpcSchema.js +3 -3
  1155. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1156. package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
  1157. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1158. package/dist/unstable/rpc/RpcSerialization.js +175 -96
  1159. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1160. package/dist/unstable/rpc/RpcServer.d.ts +13 -13
  1161. package/dist/unstable/rpc/RpcServer.js +17 -13
  1162. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1163. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1164. package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
  1165. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1166. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1167. package/dist/unstable/rpc/Utils.js.map +1 -1
  1168. package/dist/unstable/rpc/index.js.map +1 -1
  1169. package/dist/unstable/schema/Model.d.ts +52 -50
  1170. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1171. package/dist/unstable/schema/Model.js +35 -33
  1172. package/dist/unstable/schema/Model.js.map +1 -1
  1173. package/dist/unstable/schema/VariantSchema.d.ts +6 -7
  1174. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1175. package/dist/unstable/schema/VariantSchema.js +15 -12
  1176. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1177. package/dist/unstable/schema/index.js.map +1 -1
  1178. package/dist/unstable/socket/Socket.d.ts +12 -4
  1179. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1180. package/dist/unstable/socket/Socket.js +10 -5
  1181. package/dist/unstable/socket/Socket.js.map +1 -1
  1182. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1183. package/dist/unstable/socket/index.js.map +1 -1
  1184. package/dist/unstable/sql/Migrator.js.map +1 -1
  1185. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  1186. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1187. package/dist/unstable/sql/SqlClient.js +2 -2
  1188. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1189. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1190. package/dist/unstable/sql/SqlError.d.ts +2 -2
  1191. package/dist/unstable/sql/SqlError.js +2 -2
  1192. package/dist/unstable/sql/SqlError.js.map +1 -1
  1193. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  1194. package/dist/unstable/sql/SqlModel.js +2 -2
  1195. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1196. package/dist/unstable/sql/SqlResolver.d.ts +5 -5
  1197. package/dist/unstable/sql/SqlResolver.js +2 -2
  1198. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1199. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1200. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1201. package/dist/unstable/sql/Statement.d.ts +6 -6
  1202. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1203. package/dist/unstable/sql/Statement.js +22 -21
  1204. package/dist/unstable/sql/Statement.js.map +1 -1
  1205. package/dist/unstable/sql/index.js.map +1 -1
  1206. package/dist/unstable/workers/Transferable.d.ts +1 -1
  1207. package/dist/unstable/workers/Transferable.js +1 -1
  1208. package/dist/unstable/workers/Transferable.js.map +1 -1
  1209. package/dist/unstable/workers/Worker.d.ts +2 -2
  1210. package/dist/unstable/workers/Worker.js +2 -2
  1211. package/dist/unstable/workers/Worker.js.map +1 -1
  1212. package/dist/unstable/workers/WorkerError.d.ts +7 -7
  1213. package/dist/unstable/workers/WorkerError.js +6 -6
  1214. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1215. package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
  1216. package/dist/unstable/workers/WorkerRunner.js +1 -1
  1217. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1218. package/dist/unstable/workers/index.js.map +1 -1
  1219. package/dist/unstable/workflow/Activity.d.ts +2 -2
  1220. package/dist/unstable/workflow/Activity.js +2 -2
  1221. package/dist/unstable/workflow/Activity.js.map +1 -1
  1222. package/dist/unstable/workflow/DurableClock.d.ts +1 -1
  1223. package/dist/unstable/workflow/DurableClock.js +1 -1
  1224. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1225. package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
  1226. package/dist/unstable/workflow/DurableDeferred.js +5 -5
  1227. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1228. package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
  1229. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1230. package/dist/unstable/workflow/DurableQueue.js +22 -20
  1231. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1232. package/dist/unstable/workflow/Workflow.d.ts +21 -21
  1233. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1234. package/dist/unstable/workflow/Workflow.js +13 -14
  1235. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1236. package/dist/unstable/workflow/WorkflowEngine.d.ts +1 -1
  1237. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1238. package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
  1239. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1240. package/dist/unstable/workflow/WorkflowProxy.js +4 -2
  1241. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1242. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1243. package/dist/unstable/workflow/index.js.map +1 -1
  1244. package/dist/unstable/workflow/internal/crypto.js.map +1 -1
  1245. package/package.json +5 -6
  1246. package/src/Array.ts +1068 -1070
  1247. package/src/BigDecimal.ts +433 -756
  1248. package/src/BigInt.ts +213 -269
  1249. package/src/Boolean.ts +146 -188
  1250. package/src/Cache.ts +409 -255
  1251. package/src/Cause.ts +167 -277
  1252. package/src/Channel.ts +923 -830
  1253. package/src/ChannelSchema.ts +1 -1
  1254. package/src/Chunk.ts +841 -1181
  1255. package/src/Clock.ts +181 -49
  1256. package/src/Combiner.ts +20 -33
  1257. package/src/Config.ts +618 -334
  1258. package/src/ConfigProvider.ts +221 -127
  1259. package/src/Console.ts +289 -39
  1260. package/src/Context.ts +319 -378
  1261. package/src/Cron.ts +68 -77
  1262. package/src/Crypto.ts +13 -15
  1263. package/src/Data.ts +63 -82
  1264. package/src/DateTime.ts +564 -660
  1265. package/src/Deferred.ts +253 -256
  1266. package/src/Duration.ts +216 -308
  1267. package/src/Effect.ts +2958 -3390
  1268. package/src/Encoding.ts +22 -40
  1269. package/src/Equal.ts +49 -39
  1270. package/src/Equivalence.ts +103 -105
  1271. package/src/ErrorReporter.ts +51 -27
  1272. package/src/ExecutionPlan.ts +13 -55
  1273. package/src/Exit.ts +116 -192
  1274. package/src/Fiber.ts +81 -148
  1275. package/src/FiberHandle.ts +155 -107
  1276. package/src/FiberMap.ts +225 -174
  1277. package/src/FiberSet.ts +124 -82
  1278. package/src/FileSystem.ts +155 -263
  1279. package/src/Filter.ts +61 -33
  1280. package/src/Formatter.ts +54 -56
  1281. package/src/Function.ts +76 -145
  1282. package/src/Graph.ts +416 -770
  1283. package/src/HKT.ts +12 -6
  1284. package/src/Hash.ts +52 -83
  1285. package/src/HashMap.ts +319 -411
  1286. package/src/HashRing.ts +1 -0
  1287. package/src/HashSet.ts +177 -284
  1288. package/src/Inspectable.ts +12 -12
  1289. package/src/Iterable.ts +622 -787
  1290. package/src/JsonPatch.ts +60 -113
  1291. package/src/JsonPointer.ts +8 -8
  1292. package/src/JsonSchema.ts +405 -249
  1293. package/src/Latch.ts +23 -35
  1294. package/src/Layer.ts +359 -260
  1295. package/src/LayerMap.ts +49 -29
  1296. package/src/LayerRef.ts +6 -2
  1297. package/src/LogLevel.ts +114 -214
  1298. package/src/Logger.ts +347 -699
  1299. package/src/ManagedRuntime.ts +20 -5
  1300. package/src/Match.ts +217 -252
  1301. package/src/Metric.ts +520 -1092
  1302. package/src/MutableHashMap.ts +218 -255
  1303. package/src/MutableHashSet.ts +84 -89
  1304. package/src/MutableList.ts +73 -370
  1305. package/src/MutableRef.ts +420 -243
  1306. package/src/Newtype.ts +21 -14
  1307. package/src/NonEmptyIterable.ts +7 -137
  1308. package/src/Number.ts +196 -233
  1309. package/src/Optic.ts +246 -385
  1310. package/src/Option.ts +449 -813
  1311. package/src/Order.ts +109 -109
  1312. package/src/Ordering.ts +20 -23
  1313. package/src/PartitionedSemaphore.ts +1 -4
  1314. package/src/Path.ts +38 -41
  1315. package/src/Pipeable.ts +6 -5
  1316. package/src/PlatformError.ts +4 -4
  1317. package/src/Pool.ts +4 -2
  1318. package/src/Predicate.ts +200 -181
  1319. package/src/PrimaryKey.ts +7 -7
  1320. package/src/PubSub.ts +526 -552
  1321. package/src/Pull.ts +24 -18
  1322. package/src/Queue.ts +200 -159
  1323. package/src/Random.ts +49 -74
  1324. package/src/RcMap.ts +121 -63
  1325. package/src/RcRef.ts +24 -13
  1326. package/src/Record.ts +387 -487
  1327. package/src/Redactable.ts +10 -3
  1328. package/src/Redacted.ts +25 -25
  1329. package/src/Reducer.ts +8 -15
  1330. package/src/Ref.ts +221 -361
  1331. package/src/References.ts +102 -214
  1332. package/src/RegExp.ts +10 -14
  1333. package/src/Request.ts +36 -28
  1334. package/src/RequestResolver.ts +202 -91
  1335. package/src/Result.ts +314 -485
  1336. package/src/Runtime.ts +50 -75
  1337. package/src/Schedule.ts +308 -1734
  1338. package/src/Scheduler.ts +20 -7
  1339. package/src/Schema.ts +3156 -1634
  1340. package/src/SchemaAST.ts +676 -489
  1341. package/src/SchemaError.ts +8 -7
  1342. package/src/SchemaGetter.ts +277 -218
  1343. package/src/SchemaIssue.ts +90 -276
  1344. package/src/SchemaParser.ts +179 -116
  1345. package/src/SchemaRepresentation.ts +698 -3417
  1346. package/src/SchemaTransformation.ts +132 -91
  1347. package/src/Scope.ts +123 -151
  1348. package/src/ScopedRef.ts +4 -4
  1349. package/src/Semaphore.ts +157 -54
  1350. package/src/Sink.ts +128 -113
  1351. package/src/Stdio.ts +1 -1
  1352. package/src/Stream.ts +2665 -3142
  1353. package/src/String.ts +275 -312
  1354. package/src/Struct.ts +114 -118
  1355. package/src/SubscriptionRef.ts +284 -252
  1356. package/src/Symbol.ts +3 -3
  1357. package/src/Terminal.ts +2 -2
  1358. package/src/Tracer.ts +102 -55
  1359. package/src/Trie.ts +287 -679
  1360. package/src/Tuple.ts +92 -127
  1361. package/src/TxChunk.ts +201 -121
  1362. package/src/TxDeferred.ts +62 -46
  1363. package/src/TxHashMap.ts +645 -799
  1364. package/src/TxHashSet.ts +443 -356
  1365. package/src/TxPriorityQueue.ts +130 -98
  1366. package/src/TxPubSub.ts +107 -80
  1367. package/src/TxQueue.ts +214 -183
  1368. package/src/TxReentrantLock.ts +97 -66
  1369. package/src/TxRef.ts +51 -32
  1370. package/src/TxSemaphore.ts +129 -95
  1371. package/src/TxSubscriptionRef.ts +97 -70
  1372. package/src/Types.ts +127 -70
  1373. package/src/Unify.ts +45 -65
  1374. package/src/Utils.ts +23 -16
  1375. package/src/index.ts +0 -5
  1376. package/src/internal/core.ts +5 -4
  1377. package/src/internal/dateTime.ts +6 -0
  1378. package/src/internal/effect.ts +160 -79
  1379. package/src/internal/matcher.ts +1 -1
  1380. package/src/internal/persistence.ts +2 -0
  1381. package/src/internal/record.ts +11 -7
  1382. package/src/internal/references.ts +3 -7
  1383. package/src/internal/schema/annotations.ts +44 -0
  1384. package/src/internal/schema/fromJsonSchemaDocument.ts +959 -0
  1385. package/src/internal/schema/fromRepresentation.ts +339 -0
  1386. package/src/internal/schema/parser.ts +22 -0
  1387. package/src/internal/schema/schema.ts +45 -46
  1388. package/src/internal/schema/{arbitrary.ts → toArbitrary.ts} +8 -10
  1389. package/src/internal/schema/toCodeDocument.ts +572 -0
  1390. package/src/internal/schema/{equivalence.ts → toEquivalence.ts} +12 -7
  1391. package/src/internal/schema/toJsonSchemaDocument.ts +529 -0
  1392. package/src/internal/schema/toRepresentation.ts +386 -0
  1393. package/src/internal/stackTraceLimit.ts +3 -7
  1394. package/src/internal/trie.ts +10 -11
  1395. package/src/testing/FastCheck.ts +8 -7
  1396. package/src/testing/TestClock.ts +73 -31
  1397. package/src/testing/TestConsole.ts +32 -31
  1398. package/src/testing/TestSchema.ts +29 -29
  1399. package/src/unstable/ai/AiError.ts +100 -122
  1400. package/src/unstable/ai/AnthropicStructuredOutput.ts +103 -334
  1401. package/src/unstable/ai/Chat.ts +132 -97
  1402. package/src/unstable/ai/EmbeddingModel.ts +1 -1
  1403. package/src/unstable/ai/IdGenerator.ts +32 -28
  1404. package/src/unstable/ai/LanguageModel.ts +137 -95
  1405. package/src/unstable/ai/McpProtocol.ts +48 -0
  1406. package/src/unstable/ai/McpSchema.ts +75 -65
  1407. package/src/unstable/ai/McpServer.ts +1045 -303
  1408. package/src/unstable/ai/Model.ts +9 -20
  1409. package/src/unstable/ai/OpenAiStructuredOutput.ts +231 -396
  1410. package/src/unstable/ai/Prompt.ts +145 -43
  1411. package/src/unstable/ai/Response.ts +52 -38
  1412. package/src/unstable/ai/Telemetry.ts +46 -13
  1413. package/src/unstable/ai/Tokenizer.ts +14 -3
  1414. package/src/unstable/ai/Tool.ts +81 -48
  1415. package/src/unstable/ai/Toolkit.ts +45 -15
  1416. package/src/unstable/ai/index.ts +5 -0
  1417. package/src/unstable/ai/internal/codec-transformer.ts +13 -7
  1418. package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
  1419. package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
  1420. package/src/unstable/ai/internal/structured-output.ts +453 -0
  1421. package/src/unstable/cli/Argument.ts +273 -69
  1422. package/src/unstable/cli/CliError.ts +116 -77
  1423. package/src/unstable/cli/CliOutput.ts +44 -58
  1424. package/src/unstable/cli/Command.ts +709 -111
  1425. package/src/unstable/cli/Flag.ts +418 -138
  1426. package/src/unstable/cli/GlobalFlag.ts +1 -1
  1427. package/src/unstable/cli/HelpDoc.ts +12 -4
  1428. package/src/unstable/cli/Param.ts +295 -81
  1429. package/src/unstable/cli/Primitive.ts +371 -150
  1430. package/src/unstable/cli/Prompt.ts +28 -14
  1431. package/src/unstable/cli/internal/command.ts +13 -5
  1432. package/src/unstable/cli/internal/config.ts +8 -10
  1433. package/src/unstable/cli/internal/lexer.ts +8 -2
  1434. package/src/unstable/cli/internal/parser.ts +2 -2
  1435. package/src/unstable/cluster/ClusterSchema.ts +8 -8
  1436. package/src/unstable/cluster/ClusterWorkflowEngine.ts +8 -4
  1437. package/src/unstable/cluster/Entity.ts +16 -17
  1438. package/src/unstable/cluster/EntityProxy.ts +4 -2
  1439. package/src/unstable/cluster/EntityResource.ts +2 -2
  1440. package/src/unstable/cluster/Envelope.ts +5 -4
  1441. package/src/unstable/cluster/HttpRunner.ts +6 -4
  1442. package/src/unstable/cluster/Message.ts +9 -9
  1443. package/src/unstable/cluster/MessageStorage.ts +15 -15
  1444. package/src/unstable/cluster/Reply.ts +5 -7
  1445. package/src/unstable/cluster/Runner.ts +1 -1
  1446. package/src/unstable/cluster/RunnerAddress.ts +1 -1
  1447. package/src/unstable/cluster/RunnerHealth.ts +1 -1
  1448. package/src/unstable/cluster/RunnerServer.ts +41 -8
  1449. package/src/unstable/cluster/RunnerStorage.ts +2 -2
  1450. package/src/unstable/cluster/Runners.ts +23 -12
  1451. package/src/unstable/cluster/ShardId.ts +1 -1
  1452. package/src/unstable/cluster/Sharding.ts +168 -42
  1453. package/src/unstable/cluster/ShardingConfig.ts +8 -4
  1454. package/src/unstable/cluster/SingleRunner.ts +4 -2
  1455. package/src/unstable/cluster/SingletonAddress.ts +1 -1
  1456. package/src/unstable/cluster/Snowflake.ts +8 -8
  1457. package/src/unstable/cluster/SqlMessageStorage.ts +84 -36
  1458. package/src/unstable/cluster/SqlRunnerStorage.ts +205 -119
  1459. package/src/unstable/cluster/internal/entityManager.ts +42 -25
  1460. package/src/unstable/cluster/internal/shardLock.ts +9 -0
  1461. package/src/unstable/devtools/DevToolsSchema.ts +10 -5
  1462. package/src/unstable/encoding/Msgpack.ts +6 -8
  1463. package/src/unstable/encoding/Sse.ts +98 -16
  1464. package/src/unstable/eventlog/Event.ts +20 -20
  1465. package/src/unstable/eventlog/EventGroup.ts +4 -4
  1466. package/src/unstable/eventlog/EventJournal.ts +16 -16
  1467. package/src/unstable/eventlog/EventLog.ts +24 -14
  1468. package/src/unstable/eventlog/EventLogEncryption.ts +2 -2
  1469. package/src/unstable/eventlog/EventLogMessage.ts +12 -5
  1470. package/src/unstable/eventlog/EventLogRemote.ts +1 -1
  1471. package/src/unstable/eventlog/EventLogServer.ts +41 -7
  1472. package/src/unstable/eventlog/EventLogServerEncrypted.ts +13 -5
  1473. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +14 -6
  1474. package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
  1475. package/src/unstable/eventlog/SqlEventJournal.ts +2 -2
  1476. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +1 -1
  1477. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +6 -3
  1478. package/src/unstable/http/Cookies.ts +64 -45
  1479. package/src/unstable/http/Etag.ts +1 -1
  1480. package/src/unstable/http/FetchHttpClient.ts +3 -1
  1481. package/src/unstable/http/Headers.ts +10 -10
  1482. package/src/unstable/http/HttpBody.ts +20 -5
  1483. package/src/unstable/http/HttpClient.ts +83 -55
  1484. package/src/unstable/http/HttpClientRequest.ts +59 -0
  1485. package/src/unstable/http/HttpClientResponse.ts +4 -4
  1486. package/src/unstable/http/HttpEffect.ts +8 -8
  1487. package/src/unstable/http/HttpMethod.ts +6 -9
  1488. package/src/unstable/http/HttpMiddleware.ts +202 -39
  1489. package/src/unstable/http/HttpPlatform.ts +95 -0
  1490. package/src/unstable/http/HttpRouter.ts +102 -98
  1491. package/src/unstable/http/HttpServer.ts +13 -13
  1492. package/src/unstable/http/HttpServerError.ts +2 -2
  1493. package/src/unstable/http/HttpServerRequest.ts +9 -8
  1494. package/src/unstable/http/HttpServerResponse.ts +30 -0
  1495. package/src/unstable/http/HttpStaticServer.ts +35 -7
  1496. package/src/unstable/http/Multipart.ts +22 -19
  1497. package/src/unstable/http/Template.ts +1 -1
  1498. package/src/unstable/http/Url.ts +33 -63
  1499. package/src/unstable/http/UrlParams.ts +27 -32
  1500. package/src/unstable/http/internal/compression.ts +196 -0
  1501. package/src/unstable/httpapi/HttpApi.ts +3 -3
  1502. package/src/unstable/httpapi/HttpApiBuilder.ts +10 -9
  1503. package/src/unstable/httpapi/HttpApiClient.ts +19 -19
  1504. package/src/unstable/httpapi/HttpApiEndpoint.ts +42 -42
  1505. package/src/unstable/httpapi/HttpApiError.ts +13 -13
  1506. package/src/unstable/httpapi/HttpApiGroup.ts +16 -16
  1507. package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
  1508. package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
  1509. package/src/unstable/httpapi/HttpApiSchema.ts +6 -6
  1510. package/src/unstable/httpapi/OpenApi.ts +65 -41
  1511. package/src/unstable/observability/OtlpExporter.ts +126 -10
  1512. package/src/unstable/observability/OtlpLogger.ts +5 -5
  1513. package/src/unstable/observability/OtlpMetrics.ts +12 -5
  1514. package/src/unstable/observability/OtlpResource.ts +26 -17
  1515. package/src/unstable/observability/OtlpTracer.ts +8 -4
  1516. package/src/unstable/observability/PrometheusMetrics.ts +13 -4
  1517. package/src/unstable/observability/internal/otlpEnv.ts +1 -1
  1518. package/src/unstable/observability/internal/protobuf.ts +3 -0
  1519. package/src/unstable/persistence/KeyValueStore.ts +72 -49
  1520. package/src/unstable/persistence/Persistable.ts +11 -10
  1521. package/src/unstable/persistence/PersistedQueue.ts +6 -6
  1522. package/src/unstable/persistence/Persistence.ts +126 -19
  1523. package/src/unstable/persistence/RateLimiter.ts +28 -17
  1524. package/src/unstable/persistence/Redis.ts +4 -4
  1525. package/src/unstable/process/ChildProcess.ts +64 -21
  1526. package/src/unstable/process/ChildProcessSpawner.ts +22 -11
  1527. package/src/unstable/reactivity/AsyncResult.ts +16 -16
  1528. package/src/unstable/reactivity/Atom.ts +117 -22
  1529. package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
  1530. package/src/unstable/reactivity/AtomRegistry.ts +25 -4
  1531. package/src/unstable/reactivity/AtomRpc.ts +5 -4
  1532. package/src/unstable/reactivity/Hydration.ts +1 -1
  1533. package/src/unstable/rpc/Rpc.ts +35 -33
  1534. package/src/unstable/rpc/RpcClient.ts +18 -16
  1535. package/src/unstable/rpc/RpcGroup.ts +8 -8
  1536. package/src/unstable/rpc/RpcMessage.ts +31 -30
  1537. package/src/unstable/rpc/RpcMiddleware.ts +10 -10
  1538. package/src/unstable/rpc/RpcSchema.ts +4 -4
  1539. package/src/unstable/rpc/RpcSerialization.ts +167 -68
  1540. package/src/unstable/rpc/RpcServer.ts +18 -15
  1541. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1542. package/src/unstable/schema/Model.ts +52 -50
  1543. package/src/unstable/schema/VariantSchema.ts +19 -29
  1544. package/src/unstable/socket/Socket.ts +18 -5
  1545. package/src/unstable/sql/SqlClient.ts +5 -6
  1546. package/src/unstable/sql/SqlError.ts +2 -2
  1547. package/src/unstable/sql/SqlModel.ts +2 -2
  1548. package/src/unstable/sql/SqlResolver.ts +5 -5
  1549. package/src/unstable/sql/Statement.ts +31 -29
  1550. package/src/unstable/workers/Transferable.ts +1 -1
  1551. package/src/unstable/workers/Worker.ts +2 -2
  1552. package/src/unstable/workers/WorkerError.ts +7 -7
  1553. package/src/unstable/workers/WorkerRunner.ts +1 -1
  1554. package/src/unstable/workflow/Activity.ts +2 -2
  1555. package/src/unstable/workflow/DurableClock.ts +1 -1
  1556. package/src/unstable/workflow/DurableDeferred.ts +10 -10
  1557. package/src/unstable/workflow/DurableQueue.ts +22 -20
  1558. package/src/unstable/workflow/Workflow.ts +23 -23
  1559. package/src/unstable/workflow/WorkflowEngine.ts +1 -1
  1560. package/src/unstable/workflow/WorkflowProxy.ts +4 -2
  1561. package/dist/SchemaUtils.d.ts +0 -28
  1562. package/dist/SchemaUtils.d.ts.map +0 -1
  1563. package/dist/SchemaUtils.js +0 -45
  1564. package/dist/SchemaUtils.js.map +0 -1
  1565. package/dist/internal/schema/arbitrary.d.ts.map +0 -1
  1566. package/dist/internal/schema/arbitrary.js.map +0 -1
  1567. package/dist/internal/schema/equivalence.d.ts +0 -2
  1568. package/dist/internal/schema/equivalence.d.ts.map +0 -1
  1569. package/dist/internal/schema/equivalence.js.map +0 -1
  1570. package/dist/internal/schema/representation.d.ts +0 -2
  1571. package/dist/internal/schema/representation.d.ts.map +0 -1
  1572. package/dist/internal/schema/representation.js +0 -865
  1573. package/dist/internal/schema/representation.js.map +0 -1
  1574. package/dist/internal/version.d.ts +0 -3
  1575. package/dist/internal/version.d.ts.map +0 -1
  1576. package/dist/internal/version.js +0 -2
  1577. package/dist/internal/version.js.map +0 -1
  1578. package/src/SchemaUtils.ts +0 -51
  1579. package/src/internal/schema/representation.ts +0 -795
  1580. package/src/internal/version.ts +0 -2
package/src/Optic.ts CHANGED
@@ -13,7 +13,8 @@
13
13
  */
14
14
 
15
15
  import { format } from "./Formatter.ts"
16
- import { identity, memoize } from "./Function.ts"
16
+ import { identity } from "./Function.ts"
17
+ import * as InternalRecord from "./internal/record.ts"
17
18
  import * as Option from "./Option.ts"
18
19
  import * as Predicate from "./Predicate.ts"
19
20
  import * as Result from "./Result.ts"
@@ -41,7 +42,7 @@ import type { IsUnion } from "./Types.ts"
41
42
  *
42
43
  * **Example** (Converting between Celsius and Fahrenheit)
43
44
  *
44
- * ```ts
45
+ * ```ts import.meta.vitest
45
46
  * import { Optic } from "effect"
46
47
  *
47
48
  * const fahrenheit = Optic.makeIso<number, number>(
@@ -49,18 +50,16 @@ import type { IsUnion } from "./Types.ts"
49
50
  * (f) => (f - 32) * 5 / 9
50
51
  * )
51
52
  *
52
- * console.log(fahrenheit.get(100))
53
- * // Output: 212
53
+ * fahrenheit.get(100) // => 212
54
54
  *
55
- * console.log(fahrenheit.set(32))
56
- * // Output: 0
55
+ * fahrenheit.set(32) // => 0
57
56
  * ```
58
57
  *
59
58
  * @see {@link makeIso} — constructor
60
59
  * @see {@link Lens} — when you only need a one-directional focus into a whole
61
60
  * @see {@link Prism} — when the focus may not be present
62
61
  *
63
- * @category Iso
62
+ * @category models
64
63
  * @since 4.0.0
65
64
  */
66
65
  export interface Iso<in out S, in out A> extends Lens<S, A>, Prism<S, A> {}
@@ -79,7 +78,7 @@ export interface Iso<in out S, in out A> extends Lens<S, A>, Prism<S, A> {}
79
78
  *
80
79
  * **Example** (Wrapping and unwrapping a branded type)
81
80
  *
82
- * ```ts
81
+ * ```ts import.meta.vitest
83
82
  * import { Optic } from "effect"
84
83
  *
85
84
  * type Meters = { readonly value: number }
@@ -88,11 +87,9 @@ export interface Iso<in out S, in out A> extends Lens<S, A>, Prism<S, A> {}
88
87
  * (n) => ({ value: n })
89
88
  * )
90
89
  *
91
- * console.log(meters.get({ value: 100 }))
92
- * // Output: 100
90
+ * meters.get({ value: 100 }) // => 100
93
91
  *
94
- * console.log(meters.set(42))
95
- * // Output: { value: 42 }
92
+ * meters.set(42) // => { value: 42 }
96
93
  * ```
97
94
  *
98
95
  * @see {@link Iso} — the type this function returns
@@ -102,7 +99,7 @@ export interface Iso<in out S, in out A> extends Lens<S, A>, Prism<S, A> {}
102
99
  * @since 4.0.0
103
100
  */
104
101
  export function makeIso<S, A>(get: (s: S) => A, set: (a: A) => S): Iso<S, A> {
105
- return make(new IsoNode(get, set))
102
+ return make(primitiveNode("Iso", get, set))
106
103
  }
107
104
 
108
105
  /**
@@ -123,22 +120,21 @@ export function makeIso<S, A>(get: (s: S) => A, set: (a: A) => S): Iso<S, A> {
123
120
  *
124
121
  * **Example** (Focusing on a struct field)
125
122
  *
126
- * ```ts
123
+ * ```ts import.meta.vitest
127
124
  * import { Optic } from "effect"
128
125
  *
129
126
  * type Person = { readonly name: string; readonly age: number }
130
127
  *
131
128
  * const _name = Optic.id<Person>().key("name")
132
129
  *
133
- * console.log(_name.get({ name: "Alice", age: 30 }))
134
- * // Output: "Alice"
130
+ * _name.get({ name: "Alice", age: 30 }) // => "Alice"
135
131
  * ```
136
132
  *
137
133
  * @see {@link makeLens} — constructor
138
134
  * @see {@link Iso} — when conversion is lossless in both directions
139
135
  * @see {@link Optional} — when reading can also fail
140
136
  *
141
- * @category Lens
137
+ * @category models
142
138
  * @since 4.0.0
143
139
  */
144
140
  export interface Lens<in out S, in out A> extends Optional<S, A> {
@@ -160,7 +156,7 @@ export interface Lens<in out S, in out A> extends Optional<S, A> {
160
156
  *
161
157
  * **Example** (Focusing on the first element of a pair)
162
158
  *
163
- * ```ts
159
+ * ```ts import.meta.vitest
164
160
  * import { Optic } from "effect"
165
161
  *
166
162
  * const _first = Optic.makeLens<readonly [string, number], string>(
@@ -168,11 +164,9 @@ export interface Lens<in out S, in out A> extends Optional<S, A> {
168
164
  * (s, pair) => [s, pair[1]]
169
165
  * )
170
166
  *
171
- * console.log(_first.get(["hello", 42]))
172
- * // Output: "hello"
167
+ * _first.get(["hello", 42]) // => "hello"
173
168
  *
174
- * console.log(_first.replace("world", ["hello", 42]))
175
- * // Output: ["world", 42]
169
+ * _first.replace("world", ["hello", 42]) // => ["world", 42]
176
170
  * ```
177
171
  *
178
172
  * @see {@link Lens} — the type this function returns
@@ -182,7 +176,7 @@ export interface Lens<in out S, in out A> extends Optional<S, A> {
182
176
  * @since 4.0.0
183
177
  */
184
178
  export function makeLens<S, A>(get: (s: S) => A, replace: (a: A, s: S) => S): Lens<S, A> {
185
- return make(new LensNode(get, replace))
179
+ return make(primitiveNode("Lens", get, replace))
186
180
  }
187
181
 
188
182
  /**
@@ -206,7 +200,7 @@ export function makeLens<S, A>(get: (s: S) => A, replace: (a: A, s: S) => S): Le
206
200
  *
207
201
  * **Example** (Narrowing a tagged union)
208
202
  *
209
- * ```ts
203
+ * ```ts import.meta.vitest
210
204
  * import { Optic, Result } from "effect"
211
205
  *
212
206
  * type Shape =
@@ -215,18 +209,16 @@ export function makeLens<S, A>(get: (s: S) => A, replace: (a: A, s: S) => S): Le
215
209
  *
216
210
  * const _circle = Optic.id<Shape>().tag("Circle")
217
211
  *
218
- * console.log(Result.isSuccess(_circle.getResult({ _tag: "Circle", radius: 5 })))
219
- * // Output: true
212
+ * _circle.getResult({ _tag: "Circle", radius: 5 }) // => Result.succeed({ _tag: "Circle", radius: 5 })
220
213
  *
221
- * console.log(Result.isFailure(_circle.getResult({ _tag: "Rect", width: 10 })))
222
- * // Output: true
214
+ * Result.isFailure(_circle.getResult({ _tag: "Rect", width: 10 })) // => true
223
215
  * ```
224
216
  *
225
217
  * @see {@link makePrism} — constructor
226
218
  * @see {@link fromChecks} — build a Prism from schema checks
227
219
  * @see {@link Lens} — when reading always succeeds
228
220
  *
229
- * @category Prism
221
+ * @category models
230
222
  * @since 4.0.0
231
223
  */
232
224
  export interface Prism<in out S, in out A> extends Optional<S, A> {
@@ -247,7 +239,7 @@ export interface Prism<in out S, in out A> extends Optional<S, A> {
247
239
  *
248
240
  * **Example** (Parsing a string to a number)
249
241
  *
250
- * ```ts
242
+ * ```ts import.meta.vitest
251
243
  * import { Optic, Result } from "effect"
252
244
  *
253
245
  * const numeric = Optic.makePrism<string, number>(
@@ -258,11 +250,9 @@ export interface Prism<in out S, in out A> extends Optional<S, A> {
258
250
  * String
259
251
  * )
260
252
  *
261
- * console.log(Result.isSuccess(numeric.getResult("42")))
262
- * // Output: true
253
+ * numeric.getResult("42") // => Result.succeed(42)
263
254
  *
264
- * console.log(numeric.set(42))
265
- * // Output: "42"
255
+ * numeric.set(42) // => "42"
266
256
  * ```
267
257
  *
268
258
  * @see {@link Prism} — the type this function returns
@@ -272,7 +262,7 @@ export interface Prism<in out S, in out A> extends Optional<S, A> {
272
262
  * @since 4.0.0
273
263
  */
274
264
  export function makePrism<S, A>(getResult: (s: S) => Result.Result<A, string>, set: (a: A) => S): Prism<S, A> {
275
- return make(new PrismNode(getResult, set))
265
+ return make(primitiveNode("Prism", getResult, set))
276
266
  }
277
267
 
278
268
  /**
@@ -292,7 +282,7 @@ export function makePrism<S, A>(getResult: (s: S) => Result.Result<A, string>, s
292
282
  *
293
283
  * **Example** (Creating a positive integer prism)
294
284
  *
295
- * ```ts
285
+ * ```ts import.meta.vitest
296
286
  * import { Optic, Result, Schema } from "effect"
297
287
  *
298
288
  * const posInt = Optic.fromChecks<number>(
@@ -300,11 +290,9 @@ export function makePrism<S, A>(getResult: (s: S) => Result.Result<A, string>, s
300
290
  * Schema.isInt()
301
291
  * )
302
292
  *
303
- * console.log(Result.isSuccess(posInt.getResult(3)))
304
- * // Output: true
293
+ * posInt.getResult(3) // => Result.succeed(3)
305
294
  *
306
- * console.log(Result.isFailure(posInt.getResult(-1)))
307
- * // Output: true
295
+ * Result.isFailure(posInt.getResult(-1)) // => true
308
296
  * ```
309
297
  *
310
298
  * @see {@link makePrism} — constructor with custom getter/setter
@@ -314,142 +302,95 @@ export function makePrism<S, A>(getResult: (s: S) => Result.Result<A, string>, s
314
302
  * @since 4.0.0
315
303
  */
316
304
  export function fromChecks<T>(...checks: readonly [SchemaAST.Check<T>, ...Array<SchemaAST.Check<T>>]): Prism<T, T> {
317
- return make(new CheckNode(checks))
305
+ return make([new CheckNode(checks)])
318
306
  }
319
307
 
320
- type Node =
321
- | IdentityNode
322
- | IsoNode<any, any>
323
- | LensNode<any, any>
324
- | PrismNode<any, any>
325
- | OptionalNode<any, any>
326
- | PathNode
327
- | CheckNode<any>
328
- | CompositionNode
308
+ type Kind = "Iso" | "Lens" | "Prism" | "Optional"
329
309
 
330
- class IdentityNode {
331
- readonly _tag = "IdentityNode"
310
+ type Operation = {
311
+ readonly kind: Kind
312
+ readonly get: (s: any) => any
313
+ readonly set: (a: any, s?: any) => any
332
314
  }
333
315
 
334
- const identityNode = new IdentityNode()
335
-
336
- class CompositionNode {
337
- readonly _tag = "CompositionNode"
338
- readonly nodes: readonly [Node, ...Array<Node>]
339
-
340
- constructor(nodes: readonly [Node, ...Array<Node>]) {
341
- this.nodes = nodes
342
- }
316
+ type PrimitiveStep = Operation & {
317
+ readonly _tag: "PrimitiveNode"
343
318
  }
344
319
 
345
- class IsoNode<S, A> {
346
- readonly _tag = "IsoNode"
347
- readonly get: (s: S) => A
348
- readonly set: (a: A) => S
349
-
350
- constructor(get: (s: S) => A, set: (a: A) => S) {
351
- this.get = get
352
- this.set = set
353
- }
354
- }
320
+ type Step = PrimitiveStep | PathNode | CheckNode<any>
355
321
 
356
- class LensNode<S, A> {
357
- readonly _tag = "LensNode"
358
- readonly get: (s: S) => A
359
- readonly set: (a: A, s: S) => S
322
+ type Node = ReadonlyArray<Step>
360
323
 
361
- constructor(get: (s: S) => A, set: (a: A, s: S) => S) {
362
- this.get = get
363
- this.set = set
364
- }
324
+ function primitiveNode(kind: Kind, get: (s: any) => any, set: (a: any, s?: any) => any): Node {
325
+ return [{ _tag: "PrimitiveNode", kind, get, set }]
365
326
  }
366
327
 
367
- class PrismNode<S, A> {
368
- readonly _tag = "PrismNode"
369
- readonly get: (s: S) => Result.Result<A, string>
370
- readonly set: (a: A) => S
371
-
372
- constructor(get: (s: S) => Result.Result<A, string>, set: (a: A) => S) {
373
- this.get = get
374
- this.set = set
375
- }
376
- }
377
-
378
- class OptionalNode<S, A> {
379
- readonly _tag = "OptionalNode"
380
- readonly get: (s: S) => Result.Result<A, string>
381
- readonly set: (a: A, s: S) => Result.Result<S, string>
382
-
383
- constructor(get: (s: S) => Result.Result<A, string>, set: (a: A, s: S) => Result.Result<S, string>) {
384
- this.get = get
385
- this.set = set
386
- }
328
+ const identityOperation: Operation = {
329
+ kind: "Iso",
330
+ get: identity,
331
+ set: identity
387
332
  }
388
333
 
389
334
  class PathNode {
390
335
  readonly _tag = "PathNode"
336
+ readonly kind = "Lens"
391
337
  readonly path: ReadonlyArray<PropertyKey>
338
+ readonly get: (s: any) => any
339
+ readonly set: (a: any, s?: any) => any
392
340
 
393
341
  constructor(path: ReadonlyArray<PropertyKey>) {
394
342
  this.path = path
343
+ this.get = (s) => {
344
+ let out = s
345
+ for (let i = 0; i < path.length; i++) {
346
+ out = out[path[i]]
347
+ }
348
+ return out
349
+ }
350
+ this.set = (a, s) => {
351
+ const out = cloneShallow(s)
352
+ let current = out
353
+ let i = 0
354
+ for (; i < path.length - 1; i++) {
355
+ const key = path[i]
356
+ InternalRecord.assignProperty(current, key, cloneShallow(current[key]))
357
+ current = current[key]
358
+ }
359
+ InternalRecord.assignProperty(current, path[i], a)
360
+ return out
361
+ }
395
362
  }
396
363
  }
397
364
 
398
365
  class CheckNode<T> {
399
366
  readonly _tag = "CheckNode"
367
+ readonly kind = "Prism"
400
368
  readonly checks: readonly [SchemaAST.Check<T>, ...Array<SchemaAST.Check<T>>]
369
+ readonly get: (s: T) => Result.Result<T, string>
370
+ readonly set = identity
401
371
 
402
372
  constructor(checks: readonly [SchemaAST.Check<T>, ...Array<SchemaAST.Check<T>>]) {
403
373
  this.checks = checks
374
+ this.get = (s) => Result.mapError(SchemaAST.runChecks(checks, s), String)
404
375
  }
405
376
  }
406
377
 
407
- // Nodes that can appear in a normalized chain (no Identity/Composition)
408
- type NormalizedNode = Exclude<Node, IdentityNode | CompositionNode>
409
-
410
- // Fuse with tail when possible, else push.
411
- function pushNormalized(acc: Array<NormalizedNode>, node: NormalizedNode): void {
412
- const last = acc[acc.length - 1]
413
- if (last) {
378
+ function compose(a: Node, b: Node): Node {
379
+ if (a.length === 0) return b
380
+ if (b.length === 0) return a
381
+ const nodes = a.slice()
382
+ for (let i = 0; i < b.length; i++) {
383
+ const node = b[i]
384
+ const last = nodes[nodes.length - 1]
414
385
  if (last._tag === "PathNode" && node._tag === "PathNode") {
415
- // fuse Path
416
- acc[acc.length - 1] = new PathNode([...last.path, ...node.path])
417
- return
418
- }
419
- if (last._tag === "CheckNode" && node._tag === "CheckNode") {
420
- // fuse Checks
421
- acc[acc.length - 1] = new CheckNode<any>([...last.checks, ...node.checks])
422
- return
386
+ nodes[nodes.length - 1] = new PathNode([...last.path, ...node.path])
387
+ } else if (last._tag === "CheckNode" && node._tag === "CheckNode") {
388
+ nodes[nodes.length - 1] = new CheckNode<any>([...last.checks, ...node.checks])
389
+ } else {
390
+ nodes.push(node)
423
391
  }
424
392
  }
425
- acc.push(node)
426
- }
427
-
428
- // Collect nodes from a node into `acc`, flattening & normalizing on the fly.
429
- function collect(node: Node, acc: Array<NormalizedNode>): void {
430
- if (node._tag === "IdentityNode") return
431
- if (node._tag === "CompositionNode") {
432
- // flatten without extra arrays
433
- for (let i = 0; i < node.nodes.length; i++) collect(node.nodes[i], acc)
434
- return
435
- }
436
- // primitive node
437
- pushNormalized(acc, node)
438
- }
439
-
440
- function compose(a: Node, b: Node): Node {
441
- const nodes: Array<NormalizedNode> = []
442
- collect(a, nodes)
443
- collect(b, nodes)
444
-
445
- switch (nodes.length) {
446
- case 0:
447
- return identityNode
448
- case 1:
449
- return nodes[0]
450
- default:
451
- return new CompositionNode(nodes as [Node, ...Array<Node>])
452
- }
393
+ return nodes
453
394
  }
454
395
 
455
396
  type ForbidUnion<A, Message extends string> = IsUnion<A> extends true ? [Message] : []
@@ -475,32 +416,28 @@ type ForbidUnion<A, Message extends string> = IsUnion<A> extends true ? [Message
475
416
  *
476
417
  * **Example** (Focusing on an optional record key)
477
418
  *
478
- * ```ts
419
+ * ```ts import.meta.vitest
479
420
  * import { Optic, Result } from "effect"
480
421
  *
481
422
  * type Env = { [key: string]: string }
482
423
  * const _home = Optic.id<Env>().at("HOME")
483
424
  *
484
- * console.log(Result.isSuccess(_home.getResult({ HOME: "/root" })))
485
- * // Output: true
425
+ * _home.getResult({ HOME: "/root" }) // => Result.succeed("/root")
486
426
  *
487
- * console.log(Result.isFailure(_home.getResult({ PATH: "/bin" })))
488
- * // Output: true
427
+ * Result.isFailure(_home.getResult({ PATH: "/bin" })) // => true
489
428
  *
490
429
  * // replace returns original on failure
491
- * console.log(_home.replace("/new", { PATH: "/bin" }))
492
- * // Output: { PATH: "/bin" }
430
+ * _home.replace("/new", { PATH: "/bin" }) // => { PATH: "/bin" }
493
431
  * ```
494
432
  *
495
433
  * @see {@link makeOptional} — constructor
496
434
  * @see {@link Lens} — when reading always succeeds
497
435
  * @see {@link Prism} — when writing always succeeds
498
436
  *
499
- * @category Optional
437
+ * @category models
500
438
  * @since 4.0.0
501
439
  */
502
440
  export interface Optional<in out S, in out A> {
503
- readonly node: Node
504
441
  /**
505
442
  * Attempts to read the focus `A` from the whole `S`. Returns
506
443
  * `Result.Success<A>` when the focus exists, or
@@ -523,13 +460,14 @@ export interface Optional<in out S, in out A> {
523
460
  *
524
461
  * **Example** (Composing a lens with a prism)
525
462
  *
526
- * ```ts
527
- * import { Optic, Option } from "effect"
463
+ * ```ts import.meta.vitest
464
+ * import { Optic, Option, Result } from "effect"
528
465
  *
529
466
  * type State = { value: Option.Option<number> }
530
467
  *
531
468
  * const _inner = Optic.id<State>().key("value").compose(Optic.some())
532
469
  * // _inner is Optional<State, number>
470
+ * _inner.getResult({ value: Option.some(1) }) // => Result.succeed(1)
533
471
  * ```
534
472
  *
535
473
  * @see {@link id} — start a composition chain
@@ -545,15 +483,14 @@ export interface Optional<in out S, in out A> {
545
483
  *
546
484
  * **Example** (Incrementing a nested field)
547
485
  *
548
- * ```ts
486
+ * ```ts import.meta.vitest
549
487
  * import { Optic } from "effect"
550
488
  *
551
489
  * type S = { readonly a: { readonly b: number } }
552
490
  * const _b = Optic.id<S>().key("a").key("b")
553
491
  *
554
492
  * const inc = _b.modify((n) => n + 1)
555
- * console.log(inc({ a: { b: 1 } }))
556
- * // Output: { a: { b: 2 } }
493
+ * inc({ a: { b: 1 } }) // => { a: { b: 2 } }
557
494
  * ```
558
495
  */
559
496
  modify(f: (a: A) => A): (s: S) => S
@@ -569,14 +506,13 @@ export interface Optional<in out S, in out A> {
569
506
  *
570
507
  * **Example** (Drilling into nested structs)
571
508
  *
572
- * ```ts
509
+ * ```ts import.meta.vitest
573
510
  * import { Optic } from "effect"
574
511
  *
575
512
  * type S = { readonly a: { readonly b: number } }
576
513
  * const _b = Optic.id<S>().key("a").key("b")
577
514
  *
578
- * console.log(_b.get({ a: { b: 42 } }))
579
- * // Output: 42
515
+ * _b.get({ a: { b: 42 } }) // => 42
580
516
  * ```
581
517
  */
582
518
  key<S, A extends object, Key extends keyof A>(
@@ -601,17 +537,15 @@ export interface Optional<in out S, in out A> {
601
537
  *
602
538
  * **Example** (Deleting an optional key)
603
539
  *
604
- * ```ts
540
+ * ```ts import.meta.vitest
605
541
  * import { Optic } from "effect"
606
542
  *
607
543
  * type S = { readonly a?: number }
608
544
  * const _a = Optic.id<S>().optionalKey("a")
609
545
  *
610
- * console.log(_a.replace(undefined, { a: 1 }))
611
- * // Output: {}
546
+ * _a.replace(undefined, { a: 1 }) // => {}
612
547
  *
613
- * console.log(_a.replace(2, {}))
614
- * // Output: { a: 2 }
548
+ * _a.replace(2, {}) // => { a: 2 }
615
549
  * ```
616
550
  */
617
551
  optionalKey<S, A extends object, Key extends keyof A>(
@@ -636,16 +570,14 @@ export interface Optional<in out S, in out A> {
636
570
  *
637
571
  * **Example** (Focusing only on positive numbers)
638
572
  *
639
- * ```ts
573
+ * ```ts import.meta.vitest
640
574
  * import { Optic, Result, Schema } from "effect"
641
575
  *
642
576
  * const _pos = Optic.id<number>().check(Schema.isGreaterThan(0))
643
577
  *
644
- * console.log(Result.isSuccess(_pos.getResult(5)))
645
- * // Output: true
578
+ * _pos.getResult(5) // => Result.succeed(5)
646
579
  *
647
- * console.log(Result.isFailure(_pos.getResult(-1)))
648
- * // Output: true
580
+ * Result.isFailure(_pos.getResult(-1)) // => true
649
581
  * ```
650
582
  *
651
583
  * @see {@link fromChecks} — standalone prism from checks
@@ -667,7 +599,7 @@ export interface Optional<in out S, in out A> {
667
599
  *
668
600
  * **Example** (Narrowing a union)
669
601
  *
670
- * ```ts
602
+ * ```ts import.meta.vitest
671
603
  * import { Optic, Result } from "effect"
672
604
  *
673
605
  * type B = { readonly _tag: "b"; readonly b: number }
@@ -678,8 +610,7 @@ export interface Optional<in out S, in out A> {
678
610
  * { expected: `"b" tag` }
679
611
  * )
680
612
  *
681
- * console.log(Result.isSuccess(_b.getResult({ _tag: "b", b: 1 })))
682
- * // Output: true
613
+ * _b.getResult({ _tag: "b", b: 1 }) // => Result.succeed({ _tag: "b", b: 1 })
683
614
  * ```
684
615
  *
685
616
  * @see `.tag()` — shorthand for narrowing by `_tag`
@@ -707,7 +638,7 @@ export interface Optional<in out S, in out A> {
707
638
  *
708
639
  * **Example** (Focusing a tagged variant)
709
640
  *
710
- * ```ts
641
+ * ```ts import.meta.vitest
711
642
  * import { Optic, Result } from "effect"
712
643
  *
713
644
  * type Shape =
@@ -716,11 +647,9 @@ export interface Optional<in out S, in out A> {
716
647
  *
717
648
  * const _radius = Optic.id<Shape>().tag("Circle").key("radius")
718
649
  *
719
- * console.log(Result.isSuccess(_radius.getResult({ _tag: "Circle", radius: 5 })))
720
- * // Output: true
650
+ * _radius.getResult({ _tag: "Circle", radius: 5 }) // => Result.succeed(5)
721
651
  *
722
- * console.log(Result.isFailure(_radius.getResult({ _tag: "Rect", width: 10 })))
723
- * // Output: true
652
+ * Result.isFailure(_radius.getResult({ _tag: "Rect", width: 10 })) // => true
724
653
  * ```
725
654
  *
726
655
  * @see `.refine()` — for arbitrary type guards
@@ -748,17 +677,15 @@ export interface Optional<in out S, in out A> {
748
677
  *
749
678
  * **Example** (Accessing records safely)
750
679
  *
751
- * ```ts
680
+ * ```ts import.meta.vitest
752
681
  * import { Optic, Result } from "effect"
753
682
  *
754
683
  * type Env = { [key: string]: number }
755
684
  * const _x = Optic.id<Env>().at("x")
756
685
  *
757
- * console.log(Result.isSuccess(_x.getResult({ x: 1 })))
758
- * // Output: true
686
+ * _x.getResult({ x: 1 }) // => Result.succeed(1)
759
687
  *
760
- * console.log(Result.isFailure(_x.getResult({ y: 2 })))
761
- * // Output: true
688
+ * Result.isFailure(_x.getResult({ y: 2 })) // => true
762
689
  * ```
763
690
  *
764
691
  * @see `.key()` — when the key is always present
@@ -780,15 +707,14 @@ export interface Optional<in out S, in out A> {
780
707
  *
781
708
  * **Example** (Picking keys)
782
709
  *
783
- * ```ts
710
+ * ```ts import.meta.vitest
784
711
  * import { Optic } from "effect"
785
712
  *
786
713
  * type S = { readonly a: string; readonly b: number; readonly c: boolean }
787
714
  *
788
715
  * const _ac = Optic.id<S>().pick(["a", "c"])
789
716
  *
790
- * console.log(_ac.get({ a: "hi", b: 1, c: true }))
791
- * // Output: { a: "hi", c: true }
717
+ * _ac.get({ a: "hi", b: 1, c: true }) // => { a: "hi", c: true }
792
718
  * ```
793
719
  *
794
720
  * @see `.omit()` — the inverse operation
@@ -815,15 +741,14 @@ export interface Optional<in out S, in out A> {
815
741
  *
816
742
  * **Example** (Omitting keys)
817
743
  *
818
- * ```ts
744
+ * ```ts import.meta.vitest
819
745
  * import { Optic } from "effect"
820
746
  *
821
747
  * type S = { readonly a: string; readonly b: number; readonly c: boolean }
822
748
  *
823
749
  * const _ac = Optic.id<S>().omit(["b"])
824
750
  *
825
- * console.log(_ac.get({ a: "hi", b: 1, c: true }))
826
- * // Output: { a: "hi", c: true }
751
+ * _ac.get({ a: "hi", b: 1, c: true }) // => { a: "hi", c: true }
827
752
  * ```
828
753
  *
829
754
  * @see `.pick()` — the inverse operation
@@ -847,22 +772,20 @@ export interface Optional<in out S, in out A> {
847
772
  *
848
773
  * **Example** (Filtering undefined values)
849
774
  *
850
- * ```ts
775
+ * ```ts import.meta.vitest
851
776
  * import { Optic, Result } from "effect"
852
777
  *
853
778
  * const _defined = Optic.id<number | undefined>().notUndefined()
854
779
  *
855
- * console.log(Result.isSuccess(_defined.getResult(42)))
856
- * // Output: true
780
+ * _defined.getResult(42) // => Result.succeed(42)
857
781
  *
858
- * console.log(Result.isFailure(_defined.getResult(undefined)))
859
- * // Output: true
782
+ * Result.isFailure(_defined.getResult(undefined)) // => true
860
783
  * ```
861
784
  *
862
785
  * @since 4.0.0
863
786
  */
864
- notUndefined(): Prism<S, Exclude<A, undefined>>
865
- notUndefined(): Optional<S, Exclude<A, undefined>>
787
+ notUndefined<S, A>(this: Prism<S, A>): Prism<S, Exclude<A, undefined>>
788
+ notUndefined<S, A>(this: Optional<S, A>): Optional<S, Exclude<A, undefined>>
866
789
 
867
790
  /**
868
791
  * Focuses **all elements** of an array-like focus and optionally narrows
@@ -881,7 +804,7 @@ export interface Optional<in out S, in out A> {
881
804
  *
882
805
  * **Example** (Incrementing liked posts)
883
806
  *
884
- * ```ts
807
+ * ```ts import.meta.vitest
885
808
  * import { Optic, Schema } from "effect"
886
809
  *
887
810
  * type Post = { title: string; likes: number }
@@ -894,12 +817,10 @@ export interface Optional<in out S, in out A> {
894
817
  *
895
818
  * const addLike = _likes.modifyAll((n) => n + 1)
896
819
  *
897
- * console.log(
898
- * addLike({
899
- * user: { posts: [{ title: "a", likes: 0 }, { title: "b", likes: 1 }] }
900
- * })
901
- * )
902
- * // Output: { user: { posts: [{ title: "a", likes: 0 }, { title: "b", likes: 2 }] } }
820
+ * const result = addLike({
821
+ * user: { posts: [{ title: "a", likes: 0 }, { title: "b", likes: 1 }] }
822
+ * })
823
+ * result.user.posts // => [{ title: "a", likes: 0 }, { title: "b", likes: 2 }]
903
824
  * ```
904
825
  *
905
826
  * @see {@link getAll} — extract all focused elements as an array
@@ -920,7 +841,7 @@ export interface Optional<in out S, in out A> {
920
841
  *
921
842
  * **Example** (Doubling all focused values)
922
843
  *
923
- * ```ts
844
+ * ```ts import.meta.vitest
924
845
  * import { Optic, Schema } from "effect"
925
846
  *
926
847
  * type S = { readonly items: ReadonlyArray<number> }
@@ -931,8 +852,7 @@ export interface Optional<in out S, in out A> {
931
852
  *
932
853
  * const doubled = _positive.modifyAll((n) => n * 2)
933
854
  *
934
- * console.log(doubled({ items: [1, -2, 3] }))
935
- * // Output: { items: [2, -2, 6] }
855
+ * doubled({ items: [1, -2, 3] }) // => { items: [2, -2, 6] }
936
856
  * ```
937
857
  *
938
858
  * @see `.forEach()` — create a sub-traversal
@@ -957,7 +877,7 @@ export interface Optional<in out S, in out A> {
957
877
  *
958
878
  * **Example** (Accessing record keys safely)
959
879
  *
960
- * ```ts
880
+ * ```ts import.meta.vitest
961
881
  * import { Optic, Result } from "effect"
962
882
  *
963
883
  * const atKey = (key: string) =>
@@ -972,8 +892,7 @@ export interface Optional<in out S, in out A> {
972
892
  * : Result.fail(`Key "${key}" not found`)
973
893
  * )
974
894
  *
975
- * console.log(Result.isSuccess(atKey("x").getResult({ x: 1 })))
976
- * // Output: true
895
+ * atKey("x").getResult({ x: 1 }) // => Result.succeed(1)
977
896
  * ```
978
897
  *
979
898
  * @see {@link Optional} — the type this function returns
@@ -987,7 +906,7 @@ export function makeOptional<S, A>(
987
906
  getResult: (s: S) => Result.Result<A, string>,
988
907
  set: (a: A, s: S) => Result.Result<S, string>
989
908
  ): Optional<S, A> {
990
- return make(new OptionalNode(getResult, set))
909
+ return make(primitiveNode("Optional", getResult, set))
991
910
  }
992
911
 
993
912
  /**
@@ -1009,7 +928,7 @@ export function makeOptional<S, A>(
1009
928
  *
1010
929
  * **Example** (Traversing array elements with a filter)
1011
930
  *
1012
- * ```ts
931
+ * ```ts import.meta.vitest
1013
932
  * import { Optic, Schema } from "effect"
1014
933
  *
1015
934
  * type S = { readonly items: ReadonlyArray<number> }
@@ -1020,19 +939,19 @@ export function makeOptional<S, A>(
1020
939
  *
1021
940
  * const getPositive = Optic.getAll(_positive)
1022
941
  *
1023
- * console.log(getPositive({ items: [1, -2, 3] }))
1024
- * // Output: [1, 3]
942
+ * getPositive({ items: [1, -2, 3] }) // => [1, 3]
1025
943
  * ```
1026
944
  *
1027
945
  * @see {@link getAll} — extract focused elements
1028
946
  * @see {@link Optional} — the base type
1029
947
  *
1030
- * @category Traversal
948
+ * @category models
1031
949
  * @since 4.0.0
1032
950
  */
1033
951
  export interface Traversal<in out S, in out A> extends Optional<S, ReadonlyArray<A>> {}
1034
952
 
1035
953
  class OptionalImpl<S, A> implements Optional<S, A> {
954
+ /** @internal */
1036
955
  readonly node: Node
1037
956
  readonly getResult: (s: S) => Result.Result<A, string>
1038
957
  readonly replaceResult: (a: A, s: S) => Result.Result<S, string>
@@ -1055,13 +974,14 @@ class OptionalImpl<S, A> implements Optional<S, A> {
1055
974
  return make(compose(this.node, that.node))
1056
975
  }
1057
976
  key(key: PropertyKey): any {
1058
- return make(compose(this.node, new PathNode([key])))
977
+ return make(compose(this.node, [new PathNode([key])]))
1059
978
  }
1060
979
  optionalKey(key: PropertyKey): any {
1061
980
  return make(
1062
981
  compose(
1063
982
  this.node,
1064
- new LensNode(
983
+ primitiveNode(
984
+ "Lens",
1065
985
  (s) => s[key],
1066
986
  (a, s) => {
1067
987
  const copy = cloneShallow(s)
@@ -1072,7 +992,7 @@ class OptionalImpl<S, A> implements Optional<S, A> {
1072
992
  delete copy[key]
1073
993
  }
1074
994
  } else {
1075
- copy[key] = a
995
+ InternalRecord.assignProperty(copy, key, a)
1076
996
  }
1077
997
  return copy
1078
998
  }
@@ -1081,16 +1001,17 @@ class OptionalImpl<S, A> implements Optional<S, A> {
1081
1001
  )
1082
1002
  }
1083
1003
  check(...checks: readonly [SchemaAST.Check<any>, ...Array<SchemaAST.Check<any>>]): any {
1084
- return make(compose(this.node, new CheckNode(checks)))
1004
+ return make(compose(this.node, [new CheckNode(checks)]))
1085
1005
  }
1086
1006
  refine<B extends A>(refinement: (a: A) => a is B, annotations?: Schema.Annotations.Filter): any {
1087
- return make(compose(this.node, new CheckNode([SchemaAST.makeFilterByGuard(refinement, annotations)])))
1007
+ return make(compose(this.node, [new CheckNode([SchemaAST.makeFilterByGuard(refinement, annotations)])]))
1088
1008
  }
1089
1009
  tag(tag: string): any {
1090
1010
  return make(
1091
1011
  compose(
1092
1012
  this.node,
1093
- new PrismNode(
1013
+ primitiveNode(
1014
+ "Prism",
1094
1015
  (s) =>
1095
1016
  s._tag === tag
1096
1017
  ? Result.succeed(s)
@@ -1105,12 +1026,13 @@ class OptionalImpl<S, A> implements Optional<S, A> {
1105
1026
  return make(
1106
1027
  compose(
1107
1028
  this.node,
1108
- new OptionalNode(
1029
+ primitiveNode(
1030
+ "Optional",
1109
1031
  (s) => Object.hasOwn(s, key) ? Result.succeed(s[key]) : err,
1110
1032
  (a, s) => {
1111
1033
  if (Object.hasOwn(s, key)) {
1112
1034
  const copy = cloneShallow(s)
1113
- copy[key] = a
1035
+ InternalRecord.assignProperty(copy, key, a)
1114
1036
  return Result.succeed(copy)
1115
1037
  } else {
1116
1038
  return err
@@ -1126,7 +1048,7 @@ class OptionalImpl<S, A> implements Optional<S, A> {
1126
1048
  omit(keys: any) {
1127
1049
  return this.compose(makeLens(Struct.omit(keys), (o, a) => ({ ...a, ...o })))
1128
1050
  }
1129
- notUndefined(): Prism<S, Exclude<A, undefined>> {
1051
+ notUndefined(): any {
1130
1052
  return this.refine(Predicate.isNotUndefined, { expected: "a value other than `undefined`" })
1131
1053
  }
1132
1054
  forEach<S, A, B>(this: Traversal<S, A>, f: (iso: Iso<A, A>) => Optional<A, B>): Traversal<S, B> {
@@ -1224,15 +1146,23 @@ class PrismImpl<S, A> extends OptionalImpl<S, A> implements Prism<S, A> {
1224
1146
  }
1225
1147
 
1226
1148
  function make(node: Node): any {
1227
- const op = recur(node)
1228
- switch (op._tag) {
1229
- case "IsoNode":
1149
+ let op: Operation = node[0] ?? identityOperation
1150
+ if (node.length > 1) {
1151
+ const kind = node.reduce<Kind>((kind, step) => composeKind(kind, step.kind), "Iso")
1152
+ op = {
1153
+ kind,
1154
+ get: compileGet(node, kind),
1155
+ set: compileSet(node, kind)
1156
+ }
1157
+ }
1158
+ switch (op.kind) {
1159
+ case "Iso":
1230
1160
  return new IsoImpl(node, op.get, op.set)
1231
- case "LensNode":
1161
+ case "Lens":
1232
1162
  return new LensImpl(node, op.get, op.set)
1233
- case "PrismNode":
1163
+ case "Prism":
1234
1164
  return new PrismImpl(node, op.get, op.set)
1235
- case "OptionalNode":
1165
+ case "Optional":
1236
1166
  return new OptionalImpl(node, op.get, op.set)
1237
1167
  }
1238
1168
  }
@@ -1249,135 +1179,79 @@ function cloneShallow<T>(pojo: T): T {
1249
1179
  return pojo
1250
1180
  }
1251
1181
 
1252
- type Op = {
1253
- readonly _tag: "IsoNode" | "LensNode" | "PrismNode" | "OptionalNode"
1254
- readonly get: (s: unknown) => any
1255
- readonly set: (a: unknown, s?: unknown) => any
1182
+ function compileGet(nodes: Node, kind: Kind): (s: any) => any {
1183
+ return (s) => {
1184
+ for (let i = 0; i < nodes.length; i++) {
1185
+ const op = nodes[i]
1186
+ const result = op.get(s)
1187
+ if (hasFailingGet(op.kind)) {
1188
+ if (Result.isFailure(result)) {
1189
+ return result
1190
+ }
1191
+ s = result.success
1192
+ } else {
1193
+ s = result
1194
+ }
1195
+ }
1196
+ return hasFailingGet(kind) ? Result.succeed(s) : s
1197
+ }
1256
1198
  }
1257
1199
 
1258
- const recur = memoize((node: Node): Op => {
1259
- switch (node._tag) {
1260
- case "IdentityNode":
1261
- return { _tag: "IsoNode", get: identity, set: identity }
1262
- case "IsoNode":
1263
- case "LensNode":
1264
- case "PrismNode":
1265
- case "OptionalNode":
1266
- return { _tag: node._tag, get: node.get, set: node.set }
1267
- case "PathNode": {
1268
- return {
1269
- _tag: "LensNode",
1270
- get: (s: any) => {
1271
- const path = node.path
1272
- let out: any = s
1273
- for (let i = 0, n = path.length; i < n; i++) {
1274
- out = out[path[i]]
1275
- }
1276
- return out
1277
- },
1278
- set: (a: any, s: any) => {
1279
- const path = node.path
1280
- const out = cloneShallow(s)
1281
-
1282
- let current = out
1283
- let i = 0
1284
- for (; i < path.length - 1; i++) {
1285
- const key = path[i]
1286
- current[key] = cloneShallow(current[key])
1287
- current = current[key]
1288
- }
1289
-
1290
- const finalKey = path[i]
1291
- current[finalKey] = a
1292
-
1293
- return out
1294
- }
1200
+ function compileSet(nodes: Node, kind: Kind): (a: any, s: any) => any {
1201
+ if (hasSourceFreeSet(kind)) {
1202
+ return (a) => {
1203
+ for (let i = nodes.length - 1; i >= 0; i--) {
1204
+ a = nodes[i].set(a)
1295
1205
  }
1206
+ return a
1296
1207
  }
1297
- case "CheckNode":
1298
- return {
1299
- _tag: "PrismNode",
1300
- get: (s: any) => Result.mapError(SchemaAST.runChecks(node.checks, s), String),
1301
- set: identity
1208
+ }
1209
+ return (a, s) => {
1210
+ const len = nodes.length
1211
+ const sources = new Array(len)
1212
+ for (let i = 0; i < len; i++) {
1213
+ sources[i] = s
1214
+ const op = nodes[i]
1215
+ if (hasFailingGet(op.kind)) {
1216
+ const result = op.get(s)
1217
+ if (Result.isFailure(result)) {
1218
+ return result
1219
+ }
1220
+ s = result.success
1221
+ } else {
1222
+ s = op.get(s)
1302
1223
  }
1303
- case "CompositionNode": {
1304
- const ops = node.nodes.map(recur)
1305
- const _tag = ops.reduce<Op["_tag"]>((tag, op) => getCompositionTag(tag, op._tag), "IsoNode")
1306
- return {
1307
- _tag,
1308
- get: (s: any) => {
1309
- for (let i = 0; i < ops.length; i++) {
1310
- const op = ops[i]
1311
- const result = op.get(s)
1312
- if (hasFailingGet(op._tag)) {
1313
- if (Result.isFailure(result)) {
1314
- return result
1315
- }
1316
- s = result.success
1317
- } else {
1318
- s = result
1319
- }
1320
- }
1321
- return hasFailingGet(_tag) ? Result.succeed(s) : s
1322
- },
1323
- set: (a: any, s: any) => {
1324
- const source = s
1325
- const len = ops.length
1326
- const ss = new Array(len + 1)
1327
- ss[0] = s
1328
- for (let i = 0; i < len; i++) {
1329
- const op = ops[i]
1330
- if (hasFailingGet(op._tag)) {
1331
- const result = op.get(s)
1332
- if (Result.isFailure(result)) {
1333
- return _tag === "OptionalNode" ? result : source
1334
- }
1335
- s = result.success
1336
- } else {
1337
- s = op.get(s)
1338
- }
1339
- ss[i + 1] = s
1340
- }
1341
- for (let i = len - 1; i >= 0; i--) {
1342
- const op = ops[i]
1343
- if (hasSet(op._tag)) {
1344
- a = op.set(a)
1345
- } else if (op._tag === "LensNode") {
1346
- a = op.set(a, ss[i])
1347
- } else {
1348
- const result = op.set(a, ss[i])
1349
- if (Result.isFailure(result)) {
1350
- return result
1351
- }
1352
- a = result.success
1353
- }
1354
- }
1355
- return _tag === "OptionalNode" ? Result.succeed(a) : a
1224
+ }
1225
+ for (let i = len - 1; i >= 0; i--) {
1226
+ const op = nodes[i]
1227
+ if (hasSourceFreeSet(op.kind)) {
1228
+ a = op.set(a)
1229
+ } else if (op.kind === "Lens") {
1230
+ a = op.set(a, sources[i])
1231
+ } else {
1232
+ const result = op.set(a, sources[i])
1233
+ if (Result.isFailure(result)) {
1234
+ return result
1356
1235
  }
1236
+ a = result.success
1357
1237
  }
1358
1238
  }
1239
+ return kind === "Optional" ? Result.succeed(a) : a
1359
1240
  }
1360
- })
1241
+ }
1361
1242
 
1362
- function hasFailingGet(tag: Op["_tag"]): boolean {
1363
- return tag === "PrismNode" || tag === "OptionalNode"
1243
+ function hasFailingGet(kind: Kind): boolean {
1244
+ return kind === "Prism" || kind === "Optional"
1364
1245
  }
1365
1246
 
1366
- function hasSet(tag: Op["_tag"]): boolean {
1367
- return tag === "IsoNode" || tag === "PrismNode"
1247
+ function hasSourceFreeSet(kind: Kind): boolean {
1248
+ return kind === "Iso" || kind === "Prism"
1368
1249
  }
1369
1250
 
1370
- function getCompositionTag(a: Op["_tag"], b: Op["_tag"]): Op["_tag"] {
1371
- switch (a) {
1372
- case "IsoNode":
1373
- return b
1374
- case "LensNode":
1375
- return hasFailingGet(b) ? "OptionalNode" : "LensNode"
1376
- case "PrismNode":
1377
- return hasSet(b) ? "PrismNode" : "OptionalNode"
1378
- case "OptionalNode":
1379
- return "OptionalNode"
1380
- }
1251
+ function composeKind(a: Kind, b: Kind): Kind {
1252
+ if (a === "Iso") return b
1253
+ if (b === "Iso" || a === b) return a
1254
+ return "Optional"
1381
1255
  }
1382
1256
  // ---------------------------------------------
1383
1257
  // Derived APIs
@@ -1399,7 +1273,7 @@ function getCompositionTag(a: Op["_tag"], b: Op["_tag"]): Op["_tag"] {
1399
1273
  *
1400
1274
  * **Example** (Collecting positive numbers)
1401
1275
  *
1402
- * ```ts
1276
+ * ```ts import.meta.vitest
1403
1277
  * import { Optic, Schema } from "effect"
1404
1278
  *
1405
1279
  * type S = { readonly values: ReadonlyArray<number> }
@@ -1410,16 +1284,14 @@ function getCompositionTag(a: Op["_tag"], b: Op["_tag"]): Op["_tag"] {
1410
1284
  *
1411
1285
  * const getPositive = Optic.getAll(_pos)
1412
1286
  *
1413
- * console.log(getPositive({ values: [3, -1, 5] }))
1414
- * // Output: [3, 5]
1287
+ * getPositive({ values: [3, -1, 5] }) // => [3, 5]
1415
1288
  *
1416
- * console.log(getPositive({ values: [-1, -2] }))
1417
- * // Output: []
1289
+ * getPositive({ values: [-1, -2] }) // => []
1418
1290
  * ```
1419
1291
  *
1420
1292
  * @see {@link Traversal} — the optic type this operates on
1421
1293
  *
1422
- * @category Traversal
1294
+ * @category getters
1423
1295
  * @since 4.0.0
1424
1296
  */
1425
1297
  export function getAll<S, A>(traversal: Traversal<S, A>): (s: S) => Array<A> {
@@ -1434,7 +1306,7 @@ export function getAll<S, A>(traversal: Traversal<S, A>): (s: S) => Array<A> {
1434
1306
  // Built-in Optics
1435
1307
  // ---------------------------------------------
1436
1308
 
1437
- const identityIso = make(identityNode)
1309
+ const identityIso = make([])
1438
1310
 
1439
1311
  /**
1440
1312
  * Iso that focuses on the whole value unchanged.
@@ -1451,20 +1323,19 @@ const identityIso = make(identityNode)
1451
1323
  *
1452
1324
  * **Example** (Starting an optic chain)
1453
1325
  *
1454
- * ```ts
1326
+ * ```ts import.meta.vitest
1455
1327
  * import { Optic } from "effect"
1456
1328
  *
1457
1329
  * type S = { readonly x: number }
1458
1330
  *
1459
1331
  * const _x = Optic.id<S>().key("x")
1460
1332
  *
1461
- * console.log(_x.get({ x: 42 }))
1462
- * // Output: 42
1333
+ * _x.get({ x: 42 }) // => 42
1463
1334
  * ```
1464
1335
  *
1465
1336
  * @see {@link Iso} — the type this function returns
1466
1337
  *
1467
- * @category Iso
1338
+ * @category constructors
1468
1339
  * @since 4.0.0
1469
1340
  */
1470
1341
  export function id<S>(): Iso<S, S> {
@@ -1488,7 +1359,7 @@ export function id<S>(): Iso<S, S> {
1488
1359
  *
1489
1360
  * **Example** (Traversing record values)
1490
1361
  *
1491
- * ```ts
1362
+ * ```ts import.meta.vitest
1492
1363
  * import { Optic, Schema } from "effect"
1493
1364
  *
1494
1365
  * const _positiveValues = Optic.entries<number>()
@@ -1496,18 +1367,17 @@ export function id<S>(): Iso<S, S> {
1496
1367
  *
1497
1368
  * const inc = _positiveValues.modifyAll((n) => n + 1)
1498
1369
  *
1499
- * console.log(inc({ a: 0, b: 3, c: -1 }))
1500
- * // Output: { a: 0, b: 4, c: -1 }
1370
+ * inc({ a: 0, b: 3, c: -1 }) // => { a: 0, b: 4, c: -1 }
1501
1371
  * ```
1502
1372
  *
1503
1373
  * @see {@link Iso} — the type this function returns
1504
1374
  * @see {@link id} — identity iso
1505
1375
  *
1506
- * @category Iso
1376
+ * @category constructors
1507
1377
  * @since 4.0.0
1508
1378
  */
1509
1379
  export function entries<A>(): Iso<Record<string, A>, ReadonlyArray<readonly [string, A]>> {
1510
- return make(new IsoNode(Object.entries, Object.fromEntries))
1380
+ return make(primitiveNode("Iso", Object.entries, Object.fromEntries))
1511
1381
  }
1512
1382
 
1513
1383
  /**
@@ -1525,25 +1395,22 @@ export function entries<A>(): Iso<Record<string, A>, ReadonlyArray<readonly [str
1525
1395
  *
1526
1396
  * **Example** (Accessing Some value)
1527
1397
  *
1528
- * ```ts
1398
+ * ```ts import.meta.vitest
1529
1399
  * import { Optic, Option, Result } from "effect"
1530
1400
  *
1531
1401
  * const _some = Optic.id<Option.Option<number>>().compose(Optic.some())
1532
1402
  *
1533
- * console.log(Result.isSuccess(_some.getResult(Option.some(42))))
1534
- * // Output: true
1403
+ * _some.getResult(Option.some(42)) // => Result.succeed(42)
1535
1404
  *
1536
- * console.log(Result.isFailure(_some.getResult(Option.none())))
1537
- * // Output: true
1405
+ * Result.isFailure(_some.getResult(Option.none())) // => true
1538
1406
  *
1539
- * console.log(_some.set(10))
1540
- * // Output: { _tag: "Some", value: 10 }
1407
+ * _some.set(10) // => Option.some(10)
1541
1408
  * ```
1542
1409
  *
1543
1410
  * @see {@link none} — focuses on `None` instead
1544
1411
  * @see {@link Prism} — the type this function returns
1545
1412
  *
1546
- * @category Prism
1413
+ * @category constructors
1547
1414
  * @since 4.0.0
1548
1415
  */
1549
1416
  export function some<A>(): Prism<Option.Option<A>, A> {
@@ -1573,22 +1440,20 @@ export function some<A>(): Prism<Option.Option<A>, A> {
1573
1440
  *
1574
1441
  * **Example** (Matching None)
1575
1442
  *
1576
- * ```ts
1443
+ * ```ts import.meta.vitest
1577
1444
  * import { Optic, Option, Result } from "effect"
1578
1445
  *
1579
1446
  * const _none = Optic.id<Option.Option<number>>().compose(Optic.none())
1580
1447
  *
1581
- * console.log(Result.isSuccess(_none.getResult(Option.none())))
1582
- * // Output: true
1448
+ * _none.getResult(Option.none()) // => Result.succeed(undefined)
1583
1449
  *
1584
- * console.log(Result.isFailure(_none.getResult(Option.some(1))))
1585
- * // Output: true
1450
+ * Result.isFailure(_none.getResult(Option.some(1))) // => true
1586
1451
  * ```
1587
1452
  *
1588
1453
  * @see {@link some} — focuses on `Some` instead
1589
1454
  * @see {@link Prism} — the type this function returns
1590
1455
  *
1591
- * @category Prism
1456
+ * @category constructors
1592
1457
  * @since 4.0.0
1593
1458
  */
1594
1459
  export function none<A>(): Prism<Option.Option<A>, undefined> {
@@ -1618,22 +1483,20 @@ export function none<A>(): Prism<Option.Option<A>, undefined> {
1618
1483
  *
1619
1484
  * **Example** (Accessing success)
1620
1485
  *
1621
- * ```ts
1486
+ * ```ts import.meta.vitest
1622
1487
  * import { Optic, Result } from "effect"
1623
1488
  *
1624
1489
  * const _ok = Optic.id<Result.Result<number, string>>().compose(Optic.success())
1625
1490
  *
1626
- * console.log(Result.isSuccess(_ok.getResult(Result.succeed(42))))
1627
- * // Output: true
1491
+ * _ok.getResult(Result.succeed(42)) // => Result.succeed(42)
1628
1492
  *
1629
- * console.log(Result.isFailure(_ok.getResult(Result.fail("err"))))
1630
- * // Output: true
1493
+ * Result.isFailure(_ok.getResult(Result.fail("err"))) // => true
1631
1494
  * ```
1632
1495
  *
1633
1496
  * @see {@link failure} — focuses on the failure side
1634
1497
  * @see {@link Prism} — the type this function returns
1635
1498
  *
1636
- * @category Prism
1499
+ * @category constructors
1637
1500
  * @since 4.0.0
1638
1501
  */
1639
1502
  export function success<A, E>(): Prism<Result.Result<A, E>, A> {
@@ -1663,22 +1526,20 @@ export function success<A, E>(): Prism<Result.Result<A, E>, A> {
1663
1526
  *
1664
1527
  * **Example** (Accessing failure)
1665
1528
  *
1666
- * ```ts
1529
+ * ```ts import.meta.vitest
1667
1530
  * import { Optic, Result } from "effect"
1668
1531
  *
1669
1532
  * const _err = Optic.id<Result.Result<number, string>>().compose(Optic.failure())
1670
1533
  *
1671
- * console.log(Result.isSuccess(_err.getResult(Result.fail("oops"))))
1672
- * // Output: true
1534
+ * _err.getResult(Result.fail("oops")) // => Result.succeed("oops")
1673
1535
  *
1674
- * console.log(Result.isFailure(_err.getResult(Result.succeed(42))))
1675
- * // Output: true
1536
+ * Result.isFailure(_err.getResult(Result.succeed(42))) // => true
1676
1537
  * ```
1677
1538
  *
1678
1539
  * @see {@link success} — focuses on the success side
1679
1540
  * @see {@link Prism} — the type this function returns
1680
1541
  *
1681
- * @category Prism
1542
+ * @category constructors
1682
1543
  * @since 4.0.0
1683
1544
  */
1684
1545
  export function failure<A, E>(): Prism<Result.Result<A, E>, E> {