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

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