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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1580) hide show
  1. package/dist/Array.d.ts +971 -1037
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +462 -412
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +433 -756
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +200 -325
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +207 -267
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +107 -135
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +146 -188
  14. package/dist/Boolean.d.ts.map +1 -1
  15. package/dist/Boolean.js +64 -84
  16. package/dist/Boolean.js.map +1 -1
  17. package/dist/Brand.js.map +1 -1
  18. package/dist/Cache.d.ts +405 -254
  19. package/dist/Cache.d.ts.map +1 -1
  20. package/dist/Cache.js +166 -101
  21. package/dist/Cache.js.map +1 -1
  22. package/dist/Cause.d.ts +167 -277
  23. package/dist/Cause.d.ts.map +1 -1
  24. package/dist/Cause.js +122 -176
  25. package/dist/Cause.js.map +1 -1
  26. package/dist/Channel.d.ts +729 -768
  27. package/dist/Channel.d.ts.map +1 -1
  28. package/dist/Channel.js +541 -449
  29. package/dist/Channel.js.map +1 -1
  30. package/dist/ChannelSchema.d.ts +1 -1
  31. package/dist/ChannelSchema.d.ts.map +1 -1
  32. package/dist/ChannelSchema.js.map +1 -1
  33. package/dist/Chunk.d.ts +834 -1173
  34. package/dist/Chunk.d.ts.map +1 -1
  35. package/dist/Chunk.js +326 -439
  36. package/dist/Chunk.js.map +1 -1
  37. package/dist/Clock.d.ts +180 -49
  38. package/dist/Clock.d.ts.map +1 -1
  39. package/dist/Clock.js +96 -31
  40. package/dist/Clock.js.map +1 -1
  41. package/dist/Combiner.d.ts +20 -33
  42. package/dist/Combiner.d.ts.map +1 -1
  43. package/dist/Combiner.js +18 -30
  44. package/dist/Combiner.js.map +1 -1
  45. package/dist/Config.d.ts +226 -174
  46. package/dist/Config.d.ts.map +1 -1
  47. package/dist/Config.js +339 -267
  48. package/dist/Config.js.map +1 -1
  49. package/dist/ConfigProvider.d.ts +194 -68
  50. package/dist/ConfigProvider.d.ts.map +1 -1
  51. package/dist/ConfigProvider.js +122 -87
  52. package/dist/ConfigProvider.js.map +1 -1
  53. package/dist/Console.d.ts +233 -33
  54. package/dist/Console.d.ts.map +1 -1
  55. package/dist/Console.js +232 -32
  56. package/dist/Console.js.map +1 -1
  57. package/dist/Context.d.ts +151 -274
  58. package/dist/Context.d.ts.map +1 -1
  59. package/dist/Context.js +171 -214
  60. package/dist/Context.js.map +1 -1
  61. package/dist/Cron.d.ts +68 -77
  62. package/dist/Cron.d.ts.map +1 -1
  63. package/dist/Cron.js +57 -66
  64. package/dist/Cron.js.map +1 -1
  65. package/dist/Crypto.d.ts +13 -15
  66. package/dist/Crypto.d.ts.map +1 -1
  67. package/dist/Crypto.js +9 -10
  68. package/dist/Crypto.js.map +1 -1
  69. package/dist/Data.d.ts +60 -80
  70. package/dist/Data.d.ts.map +1 -1
  71. package/dist/Data.js +18 -24
  72. package/dist/Data.js.map +1 -1
  73. package/dist/DateTime.d.ts +562 -660
  74. package/dist/DateTime.d.ts.map +1 -1
  75. package/dist/DateTime.js +307 -362
  76. package/dist/DateTime.js.map +1 -1
  77. package/dist/Deferred.d.ts +253 -256
  78. package/dist/Deferred.d.ts.map +1 -1
  79. package/dist/Deferred.js +104 -96
  80. package/dist/Deferred.js.map +1 -1
  81. package/dist/Duration.d.ts +216 -308
  82. package/dist/Duration.d.ts.map +1 -1
  83. package/dist/Duration.js +132 -186
  84. package/dist/Duration.js.map +1 -1
  85. package/dist/Effect.d.ts +2897 -3342
  86. package/dist/Effect.d.ts.map +1 -1
  87. package/dist/Effect.js +1383 -1580
  88. package/dist/Effect.js.map +1 -1
  89. package/dist/Effectable.js.map +1 -1
  90. package/dist/Encoding.d.ts +22 -40
  91. package/dist/Encoding.d.ts.map +1 -1
  92. package/dist/Encoding.js +22 -40
  93. package/dist/Encoding.js.map +1 -1
  94. package/dist/Equal.d.ts +33 -37
  95. package/dist/Equal.d.ts.map +1 -1
  96. package/dist/Equal.js +29 -21
  97. package/dist/Equal.js.map +1 -1
  98. package/dist/Equivalence.d.ts +103 -105
  99. package/dist/Equivalence.d.ts.map +1 -1
  100. package/dist/Equivalence.js +77 -79
  101. package/dist/Equivalence.js.map +1 -1
  102. package/dist/ErrorReporter.d.ts +51 -27
  103. package/dist/ErrorReporter.d.ts.map +1 -1
  104. package/dist/ErrorReporter.js +50 -26
  105. package/dist/ErrorReporter.js.map +1 -1
  106. package/dist/ExecutionPlan.d.ts +13 -55
  107. package/dist/ExecutionPlan.d.ts.map +1 -1
  108. package/dist/ExecutionPlan.js +7 -28
  109. package/dist/ExecutionPlan.js.map +1 -1
  110. package/dist/Exit.d.ts +116 -192
  111. package/dist/Exit.d.ts.map +1 -1
  112. package/dist/Exit.js +82 -130
  113. package/dist/Exit.js.map +1 -1
  114. package/dist/Fiber.d.ts +82 -146
  115. package/dist/Fiber.d.ts.map +1 -1
  116. package/dist/Fiber.js +48 -87
  117. package/dist/Fiber.js.map +1 -1
  118. package/dist/FiberHandle.d.ts +152 -105
  119. package/dist/FiberHandle.d.ts.map +1 -1
  120. package/dist/FiberHandle.js +109 -75
  121. package/dist/FiberHandle.js.map +1 -1
  122. package/dist/FiberMap.d.ts +213 -168
  123. package/dist/FiberMap.d.ts.map +1 -1
  124. package/dist/FiberMap.js +114 -89
  125. package/dist/FiberMap.js.map +1 -1
  126. package/dist/FiberSet.d.ts +123 -81
  127. package/dist/FiberSet.d.ts.map +1 -1
  128. package/dist/FiberSet.js +85 -59
  129. package/dist/FiberSet.js.map +1 -1
  130. package/dist/FileSystem.d.ts +153 -264
  131. package/dist/FileSystem.d.ts.map +1 -1
  132. package/dist/FileSystem.js +42 -147
  133. package/dist/FileSystem.js.map +1 -1
  134. package/dist/Filter.d.ts +61 -33
  135. package/dist/Filter.d.ts.map +1 -1
  136. package/dist/Filter.js +26 -15
  137. package/dist/Filter.js.map +1 -1
  138. package/dist/Formatter.d.ts +25 -33
  139. package/dist/Formatter.d.ts.map +1 -1
  140. package/dist/Formatter.js +48 -49
  141. package/dist/Formatter.js.map +1 -1
  142. package/dist/Function.d.ts +76 -145
  143. package/dist/Function.d.ts.map +1 -1
  144. package/dist/Function.js +40 -57
  145. package/dist/Function.js.map +1 -1
  146. package/dist/Graph.d.ts +360 -714
  147. package/dist/Graph.d.ts.map +1 -1
  148. package/dist/Graph.js +168 -297
  149. package/dist/Graph.js.map +1 -1
  150. package/dist/HKT.d.ts +12 -6
  151. package/dist/HKT.d.ts.map +1 -1
  152. package/dist/Hash.d.ts +47 -83
  153. package/dist/Hash.d.ts.map +1 -1
  154. package/dist/Hash.js +46 -68
  155. package/dist/Hash.js.map +1 -1
  156. package/dist/HashMap.d.ts +319 -411
  157. package/dist/HashMap.d.ts.map +1 -1
  158. package/dist/HashMap.js +122 -166
  159. package/dist/HashMap.js.map +1 -1
  160. package/dist/HashRing.d.ts.map +1 -1
  161. package/dist/HashRing.js +1 -0
  162. package/dist/HashRing.js.map +1 -1
  163. package/dist/HashSet.d.ts +177 -284
  164. package/dist/HashSet.d.ts.map +1 -1
  165. package/dist/HashSet.js +68 -109
  166. package/dist/HashSet.js.map +1 -1
  167. package/dist/Inspectable.d.ts +12 -12
  168. package/dist/Inspectable.js +8 -8
  169. package/dist/Inspectable.js.map +1 -1
  170. package/dist/Iterable.d.ts +620 -786
  171. package/dist/Iterable.d.ts.map +1 -1
  172. package/dist/Iterable.js +230 -307
  173. package/dist/Iterable.js.map +1 -1
  174. package/dist/JsonPatch.d.ts +11 -13
  175. package/dist/JsonPatch.d.ts.map +1 -1
  176. package/dist/JsonPatch.js +46 -103
  177. package/dist/JsonPatch.js.map +1 -1
  178. package/dist/JsonPointer.d.ts +8 -8
  179. package/dist/JsonPointer.js +8 -8
  180. package/dist/JsonPointer.js.map +1 -1
  181. package/dist/JsonSchema.d.ts +98 -44
  182. package/dist/JsonSchema.d.ts.map +1 -1
  183. package/dist/JsonSchema.js +300 -239
  184. package/dist/JsonSchema.js.map +1 -1
  185. package/dist/Latch.d.ts +23 -35
  186. package/dist/Latch.d.ts.map +1 -1
  187. package/dist/Latch.js +16 -28
  188. package/dist/Latch.js.map +1 -1
  189. package/dist/Layer.d.ts +359 -260
  190. package/dist/Layer.d.ts.map +1 -1
  191. package/dist/Layer.js +195 -175
  192. package/dist/Layer.js.map +1 -1
  193. package/dist/LayerMap.d.ts +42 -29
  194. package/dist/LayerMap.d.ts.map +1 -1
  195. package/dist/LayerMap.js +31 -21
  196. package/dist/LayerMap.js.map +1 -1
  197. package/dist/LayerRef.d.ts +6 -2
  198. package/dist/LayerRef.d.ts.map +1 -1
  199. package/dist/LayerRef.js +6 -2
  200. package/dist/LayerRef.js.map +1 -1
  201. package/dist/LogLevel.d.ts +114 -214
  202. package/dist/LogLevel.d.ts.map +1 -1
  203. package/dist/LogLevel.js +41 -76
  204. package/dist/LogLevel.js.map +1 -1
  205. package/dist/Logger.d.ts +218 -467
  206. package/dist/Logger.d.ts.map +1 -1
  207. package/dist/Logger.js +207 -452
  208. package/dist/Logger.js.map +1 -1
  209. package/dist/ManagedRuntime.d.ts +16 -5
  210. package/dist/ManagedRuntime.d.ts.map +1 -1
  211. package/dist/ManagedRuntime.js +10 -5
  212. package/dist/ManagedRuntime.js.map +1 -1
  213. package/dist/Match.d.ts +217 -252
  214. package/dist/Match.d.ts.map +1 -1
  215. package/dist/Match.js +150 -183
  216. package/dist/Match.js.map +1 -1
  217. package/dist/Metric.d.ts +442 -993
  218. package/dist/Metric.d.ts.map +1 -1
  219. package/dist/Metric.js +202 -645
  220. package/dist/Metric.js.map +1 -1
  221. package/dist/MutableHashMap.d.ts +144 -173
  222. package/dist/MutableHashMap.d.ts.map +1 -1
  223. package/dist/MutableHashMap.js +68 -79
  224. package/dist/MutableHashMap.js.map +1 -1
  225. package/dist/MutableHashSet.d.ts +84 -89
  226. package/dist/MutableHashSet.d.ts.map +1 -1
  227. package/dist/MutableHashSet.js +44 -47
  228. package/dist/MutableHashSet.js.map +1 -1
  229. package/dist/MutableList.d.ts +71 -370
  230. package/dist/MutableList.d.ts.map +1 -1
  231. package/dist/MutableList.js +59 -284
  232. package/dist/MutableList.js.map +1 -1
  233. package/dist/MutableRef.d.ts +420 -243
  234. package/dist/MutableRef.d.ts.map +1 -1
  235. package/dist/MutableRef.js +209 -120
  236. package/dist/MutableRef.js.map +1 -1
  237. package/dist/Newtype.d.ts +21 -14
  238. package/dist/Newtype.d.ts.map +1 -1
  239. package/dist/Newtype.js +15 -13
  240. package/dist/Newtype.js.map +1 -1
  241. package/dist/NonEmptyIterable.d.ts +7 -137
  242. package/dist/NonEmptyIterable.d.ts.map +1 -1
  243. package/dist/NonEmptyIterable.js +5 -93
  244. package/dist/NonEmptyIterable.js.map +1 -1
  245. package/dist/Number.d.ts +196 -233
  246. package/dist/Number.d.ts.map +1 -1
  247. package/dist/Number.js +90 -109
  248. package/dist/Number.js.map +1 -1
  249. package/dist/Optic.d.ts +97 -189
  250. package/dist/Optic.d.ts.map +1 -1
  251. package/dist/Optic.js +190 -292
  252. package/dist/Optic.js.map +1 -1
  253. package/dist/Option.d.ts +447 -812
  254. package/dist/Option.d.ts.map +1 -1
  255. package/dist/Option.js +213 -393
  256. package/dist/Option.js.map +1 -1
  257. package/dist/Order.d.ts +109 -109
  258. package/dist/Order.js +91 -91
  259. package/dist/Order.js.map +1 -1
  260. package/dist/Ordering.d.ts +20 -23
  261. package/dist/Ordering.d.ts.map +1 -1
  262. package/dist/Ordering.js +8 -9
  263. package/dist/Ordering.js.map +1 -1
  264. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  265. package/dist/PartitionedSemaphore.js +1 -4
  266. package/dist/PartitionedSemaphore.js.map +1 -1
  267. package/dist/Path.d.ts +38 -41
  268. package/dist/Path.d.ts.map +1 -1
  269. package/dist/Path.js +3 -4
  270. package/dist/Path.js.map +1 -1
  271. package/dist/Pipeable.d.ts +6 -5
  272. package/dist/Pipeable.d.ts.map +1 -1
  273. package/dist/Pipeable.js +2 -2
  274. package/dist/Pipeable.js.map +1 -1
  275. package/dist/PlatformError.d.ts +4 -4
  276. package/dist/PlatformError.js +3 -3
  277. package/dist/PlatformError.js.map +1 -1
  278. package/dist/Pool.d.ts +4 -2
  279. package/dist/Pool.d.ts.map +1 -1
  280. package/dist/Pool.js +4 -2
  281. package/dist/Pool.js.map +1 -1
  282. package/dist/Predicate.d.ts +200 -181
  283. package/dist/Predicate.d.ts.map +1 -1
  284. package/dist/Predicate.js +100 -108
  285. package/dist/Predicate.js.map +1 -1
  286. package/dist/PrimaryKey.d.ts +7 -7
  287. package/dist/PrimaryKey.js +5 -5
  288. package/dist/PrimaryKey.js.map +1 -1
  289. package/dist/PubSub.d.ts +425 -494
  290. package/dist/PubSub.d.ts.map +1 -1
  291. package/dist/PubSub.js +373 -362
  292. package/dist/PubSub.js.map +1 -1
  293. package/dist/Pull.d.ts +24 -18
  294. package/dist/Pull.d.ts.map +1 -1
  295. package/dist/Pull.js +11 -9
  296. package/dist/Pull.js.map +1 -1
  297. package/dist/Queue.d.ts +200 -159
  298. package/dist/Queue.d.ts.map +1 -1
  299. package/dist/Queue.js +162 -132
  300. package/dist/Queue.js.map +1 -1
  301. package/dist/Random.d.ts +49 -74
  302. package/dist/Random.d.ts.map +1 -1
  303. package/dist/Random.js +35 -54
  304. package/dist/Random.js.map +1 -1
  305. package/dist/RcMap.d.ts +121 -63
  306. package/dist/RcMap.d.ts.map +1 -1
  307. package/dist/RcMap.js +42 -21
  308. package/dist/RcMap.js.map +1 -1
  309. package/dist/RcRef.d.ts +24 -13
  310. package/dist/RcRef.d.ts.map +1 -1
  311. package/dist/RcRef.js +15 -9
  312. package/dist/RcRef.js.map +1 -1
  313. package/dist/Record.d.ts +361 -466
  314. package/dist/Record.d.ts.map +1 -1
  315. package/dist/Record.js +163 -216
  316. package/dist/Record.js.map +1 -1
  317. package/dist/Redactable.d.ts +6 -2
  318. package/dist/Redactable.d.ts.map +1 -1
  319. package/dist/Redactable.js +7 -2
  320. package/dist/Redactable.js.map +1 -1
  321. package/dist/Redacted.d.ts +25 -25
  322. package/dist/Redacted.d.ts.map +1 -1
  323. package/dist/Redacted.js +19 -20
  324. package/dist/Redacted.js.map +1 -1
  325. package/dist/Reducer.d.ts +8 -15
  326. package/dist/Reducer.d.ts.map +1 -1
  327. package/dist/Reducer.js +6 -12
  328. package/dist/Reducer.js.map +1 -1
  329. package/dist/Ref.d.ts +95 -165
  330. package/dist/Ref.d.ts.map +1 -1
  331. package/dist/Ref.js +75 -122
  332. package/dist/Ref.js.map +1 -1
  333. package/dist/References.d.ts +102 -213
  334. package/dist/References.d.ts.map +1 -1
  335. package/dist/References.js +102 -213
  336. package/dist/References.js.map +1 -1
  337. package/dist/RegExp.d.ts +10 -14
  338. package/dist/RegExp.d.ts.map +1 -1
  339. package/dist/RegExp.js +10 -14
  340. package/dist/RegExp.js.map +1 -1
  341. package/dist/Request.d.ts +31 -21
  342. package/dist/Request.d.ts.map +1 -1
  343. package/dist/Request.js +25 -19
  344. package/dist/Request.js.map +1 -1
  345. package/dist/RequestResolver.d.ts +201 -90
  346. package/dist/RequestResolver.d.ts.map +1 -1
  347. package/dist/RequestResolver.js +87 -41
  348. package/dist/RequestResolver.js.map +1 -1
  349. package/dist/Resource.js.map +1 -1
  350. package/dist/Result.d.ts +302 -470
  351. package/dist/Result.d.ts.map +1 -1
  352. package/dist/Result.js +135 -218
  353. package/dist/Result.js.map +1 -1
  354. package/dist/Runtime.d.ts +50 -75
  355. package/dist/Runtime.d.ts.map +1 -1
  356. package/dist/Runtime.js +39 -60
  357. package/dist/Runtime.js.map +1 -1
  358. package/dist/Schedule.d.ts +290 -1636
  359. package/dist/Schedule.d.ts.map +1 -1
  360. package/dist/Schedule.js +162 -803
  361. package/dist/Schedule.js.map +1 -1
  362. package/dist/Scheduler.d.ts +5 -5
  363. package/dist/Scheduler.d.ts.map +1 -1
  364. package/dist/Scheduler.js +18 -6
  365. package/dist/Scheduler.js.map +1 -1
  366. package/dist/Schema.d.ts +1835 -1060
  367. package/dist/Schema.d.ts.map +1 -1
  368. package/dist/Schema.js +2708 -1050
  369. package/dist/Schema.js.map +1 -1
  370. package/dist/SchemaAST.d.ts +29 -52
  371. package/dist/SchemaAST.d.ts.map +1 -1
  372. package/dist/SchemaAST.js +537 -391
  373. package/dist/SchemaAST.js.map +1 -1
  374. package/dist/SchemaError.d.ts +7 -6
  375. package/dist/SchemaError.d.ts.map +1 -1
  376. package/dist/SchemaError.js +8 -7
  377. package/dist/SchemaError.js.map +1 -1
  378. package/dist/SchemaGetter.d.ts +230 -185
  379. package/dist/SchemaGetter.d.ts.map +1 -1
  380. package/dist/SchemaGetter.js +252 -209
  381. package/dist/SchemaGetter.js.map +1 -1
  382. package/dist/SchemaIssue.d.ts +62 -190
  383. package/dist/SchemaIssue.d.ts.map +1 -1
  384. package/dist/SchemaIssue.js +74 -266
  385. package/dist/SchemaIssue.js.map +1 -1
  386. package/dist/SchemaParser.d.ts +2 -2
  387. package/dist/SchemaParser.d.ts.map +1 -1
  388. package/dist/SchemaParser.js +123 -86
  389. package/dist/SchemaParser.js.map +1 -1
  390. package/dist/SchemaRepresentation.d.ts +398 -1513
  391. package/dist/SchemaRepresentation.d.ts.map +1 -1
  392. package/dist/SchemaRepresentation.js +290 -2854
  393. package/dist/SchemaRepresentation.js.map +1 -1
  394. package/dist/SchemaTransformation.d.ts +116 -76
  395. package/dist/SchemaTransformation.d.ts.map +1 -1
  396. package/dist/SchemaTransformation.js +123 -88
  397. package/dist/SchemaTransformation.js.map +1 -1
  398. package/dist/Scope.d.ts +123 -151
  399. package/dist/Scope.d.ts.map +1 -1
  400. package/dist/Scope.js +72 -92
  401. package/dist/Scope.js.map +1 -1
  402. package/dist/ScopedCache.js.map +1 -1
  403. package/dist/ScopedRef.d.ts +3 -3
  404. package/dist/ScopedRef.js +2 -2
  405. package/dist/ScopedRef.js.map +1 -1
  406. package/dist/Semaphore.d.ts +101 -13
  407. package/dist/Semaphore.d.ts.map +1 -1
  408. package/dist/Semaphore.js +78 -39
  409. package/dist/Semaphore.js.map +1 -1
  410. package/dist/Sink.d.ts +117 -107
  411. package/dist/Sink.d.ts.map +1 -1
  412. package/dist/Sink.js +107 -100
  413. package/dist/Sink.js.map +1 -1
  414. package/dist/Stdio.d.ts +1 -1
  415. package/dist/Stdio.js.map +1 -1
  416. package/dist/Stream.d.ts +2430 -2958
  417. package/dist/Stream.d.ts.map +1 -1
  418. package/dist/Stream.js +1124 -1397
  419. package/dist/Stream.js.map +1 -1
  420. package/dist/String.d.ts +262 -308
  421. package/dist/String.d.ts.map +1 -1
  422. package/dist/String.js +184 -215
  423. package/dist/String.js.map +1 -1
  424. package/dist/Struct.d.ts +109 -114
  425. package/dist/Struct.d.ts.map +1 -1
  426. package/dist/Struct.js +46 -54
  427. package/dist/Struct.js.map +1 -1
  428. package/dist/SubscriptionRef.d.ts +282 -250
  429. package/dist/SubscriptionRef.d.ts.map +1 -1
  430. package/dist/SubscriptionRef.js +104 -92
  431. package/dist/SubscriptionRef.js.map +1 -1
  432. package/dist/Symbol.d.ts +3 -3
  433. package/dist/Symbol.js +3 -3
  434. package/dist/Symbol.js.map +1 -1
  435. package/dist/SynchronizedRef.js.map +1 -1
  436. package/dist/Take.js.map +1 -1
  437. package/dist/Terminal.d.ts +2 -2
  438. package/dist/Terminal.js +1 -1
  439. package/dist/Terminal.js.map +1 -1
  440. package/dist/Tracer.d.ts +100 -54
  441. package/dist/Tracer.d.ts.map +1 -1
  442. package/dist/Tracer.js +41 -24
  443. package/dist/Tracer.js.map +1 -1
  444. package/dist/Trie.d.ts +287 -679
  445. package/dist/Trie.d.ts.map +1 -1
  446. package/dist/Trie.js +109 -251
  447. package/dist/Trie.js.map +1 -1
  448. package/dist/Tuple.d.ts +92 -127
  449. package/dist/Tuple.d.ts.map +1 -1
  450. package/dist/Tuple.js +42 -57
  451. package/dist/Tuple.js.map +1 -1
  452. package/dist/TxChunk.d.ts +201 -121
  453. package/dist/TxChunk.d.ts.map +1 -1
  454. package/dist/TxChunk.js +85 -56
  455. package/dist/TxChunk.js.map +1 -1
  456. package/dist/TxDeferred.d.ts +62 -46
  457. package/dist/TxDeferred.d.ts.map +1 -1
  458. package/dist/TxDeferred.js +30 -22
  459. package/dist/TxDeferred.js.map +1 -1
  460. package/dist/TxHashMap.d.ts +631 -779
  461. package/dist/TxHashMap.d.ts.map +1 -1
  462. package/dist/TxHashMap.js +268 -330
  463. package/dist/TxHashMap.js.map +1 -1
  464. package/dist/TxHashSet.d.ts +297 -236
  465. package/dist/TxHashSet.d.ts.map +1 -1
  466. package/dist/TxHashSet.js +130 -100
  467. package/dist/TxHashSet.js.map +1 -1
  468. package/dist/TxPriorityQueue.d.ts +126 -95
  469. package/dist/TxPriorityQueue.d.ts.map +1 -1
  470. package/dist/TxPriorityQueue.js +74 -56
  471. package/dist/TxPriorityQueue.js.map +1 -1
  472. package/dist/TxPubSub.d.ts +101 -88
  473. package/dist/TxPubSub.d.ts.map +1 -1
  474. package/dist/TxPubSub.js +87 -66
  475. package/dist/TxPubSub.js.map +1 -1
  476. package/dist/TxQueue.d.ts +200 -180
  477. package/dist/TxQueue.d.ts.map +1 -1
  478. package/dist/TxQueue.js +160 -136
  479. package/dist/TxQueue.js.map +1 -1
  480. package/dist/TxReentrantLock.d.ts +97 -66
  481. package/dist/TxReentrantLock.d.ts.map +1 -1
  482. package/dist/TxReentrantLock.js +67 -45
  483. package/dist/TxReentrantLock.js.map +1 -1
  484. package/dist/TxRef.d.ts +51 -32
  485. package/dist/TxRef.d.ts.map +1 -1
  486. package/dist/TxRef.js +23 -15
  487. package/dist/TxRef.js.map +1 -1
  488. package/dist/TxSemaphore.d.ts +129 -95
  489. package/dist/TxSemaphore.d.ts.map +1 -1
  490. package/dist/TxSemaphore.js +85 -70
  491. package/dist/TxSemaphore.js.map +1 -1
  492. package/dist/TxSubscriptionRef.d.ts +97 -70
  493. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  494. package/dist/TxSubscriptionRef.js +44 -34
  495. package/dist/TxSubscriptionRef.js.map +1 -1
  496. package/dist/Types.d.ts +127 -70
  497. package/dist/Types.d.ts.map +1 -1
  498. package/dist/UndefinedOr.js.map +1 -1
  499. package/dist/Unify.d.ts +45 -65
  500. package/dist/Unify.d.ts.map +1 -1
  501. package/dist/Unify.js +6 -9
  502. package/dist/Unify.js.map +1 -1
  503. package/dist/Utils.d.ts +23 -16
  504. package/dist/Utils.d.ts.map +1 -1
  505. package/dist/Utils.js +3 -7
  506. package/dist/Utils.js.map +1 -1
  507. package/dist/index.d.ts +0 -4
  508. package/dist/index.d.ts.map +1 -1
  509. package/dist/index.js +0 -4
  510. package/dist/index.js.map +1 -1
  511. package/dist/internal/array.js.map +1 -1
  512. package/dist/internal/core.js +3 -2
  513. package/dist/internal/core.js.map +1 -1
  514. package/dist/internal/dateTime.js +4 -0
  515. package/dist/internal/dateTime.js.map +1 -1
  516. package/dist/internal/doNotation.js.map +1 -1
  517. package/dist/internal/effect.js +141 -61
  518. package/dist/internal/effect.js.map +1 -1
  519. package/dist/internal/equal.js.map +1 -1
  520. package/dist/internal/errors.js.map +1 -1
  521. package/dist/internal/executionPlan.js.map +1 -1
  522. package/dist/internal/hashMap.js.map +1 -1
  523. package/dist/internal/hashSet.js.map +1 -1
  524. package/dist/internal/layer.js.map +1 -1
  525. package/dist/internal/matcher.js +1 -1
  526. package/dist/internal/matcher.js.map +1 -1
  527. package/dist/internal/metric.js.map +1 -1
  528. package/dist/internal/option.js.map +1 -1
  529. package/dist/internal/persistence.d.ts +2 -0
  530. package/dist/internal/persistence.d.ts.map +1 -0
  531. package/dist/internal/persistence.js +3 -0
  532. package/dist/internal/persistence.js.map +1 -0
  533. package/dist/internal/random.js.map +1 -1
  534. package/dist/internal/rcRef.js.map +1 -1
  535. package/dist/internal/record.d.ts +0 -3
  536. package/dist/internal/record.d.ts.map +1 -1
  537. package/dist/internal/record.js +10 -5
  538. package/dist/internal/record.js.map +1 -1
  539. package/dist/internal/redacted.js.map +1 -1
  540. package/dist/internal/references.js +3 -4
  541. package/dist/internal/references.js.map +1 -1
  542. package/dist/internal/request.js.map +1 -1
  543. package/dist/internal/result.js.map +1 -1
  544. package/dist/internal/schedule.js.map +1 -1
  545. package/dist/internal/schema/annotations.js +12 -0
  546. package/dist/internal/schema/annotations.js.map +1 -1
  547. package/dist/internal/schema/cause.js.map +1 -1
  548. package/dist/internal/schema/fromJsonSchemaDocument.d.ts +2 -0
  549. package/dist/internal/schema/fromJsonSchemaDocument.d.ts.map +1 -0
  550. package/dist/internal/schema/fromJsonSchemaDocument.js +745 -0
  551. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -0
  552. package/dist/internal/schema/fromRepresentation.d.ts +2 -0
  553. package/dist/internal/schema/fromRepresentation.d.ts.map +1 -0
  554. package/dist/internal/schema/fromRepresentation.js +245 -0
  555. package/dist/internal/schema/fromRepresentation.js.map +1 -0
  556. package/dist/internal/schema/parser.d.ts +14 -0
  557. package/dist/internal/schema/parser.d.ts.map +1 -0
  558. package/dist/internal/schema/parser.js +13 -0
  559. package/dist/internal/schema/parser.js.map +1 -0
  560. package/dist/internal/schema/schema.js +28 -40
  561. package/dist/internal/schema/schema.js.map +1 -1
  562. package/dist/internal/schema/{arbitrary.d.ts → toArbitrary.d.ts} +1 -1
  563. package/dist/internal/schema/toArbitrary.d.ts.map +1 -0
  564. package/dist/internal/schema/{arbitrary.js → toArbitrary.js} +8 -9
  565. package/dist/internal/schema/toArbitrary.js.map +1 -0
  566. package/dist/internal/schema/toCodeDocument.d.ts +2 -0
  567. package/dist/internal/schema/toCodeDocument.d.ts.map +1 -0
  568. package/dist/internal/schema/toCodeDocument.js +438 -0
  569. package/dist/internal/schema/toCodeDocument.js.map +1 -0
  570. package/dist/internal/schema/toEquivalence.d.ts +2 -0
  571. package/dist/internal/schema/toEquivalence.d.ts.map +1 -0
  572. package/dist/internal/schema/{equivalence.js → toEquivalence.js} +15 -13
  573. package/dist/internal/schema/toEquivalence.js.map +1 -0
  574. package/dist/internal/schema/toJsonSchemaDocument.d.ts +2 -0
  575. package/dist/internal/schema/toJsonSchemaDocument.d.ts.map +1 -0
  576. package/dist/internal/schema/toJsonSchemaDocument.js +508 -0
  577. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -0
  578. package/dist/internal/schema/toRepresentation.d.ts +2 -0
  579. package/dist/internal/schema/toRepresentation.d.ts.map +1 -0
  580. package/dist/internal/schema/toRepresentation.js +349 -0
  581. package/dist/internal/schema/toRepresentation.js.map +1 -0
  582. package/dist/internal/stackTraceLimit.js +3 -6
  583. package/dist/internal/stackTraceLimit.js.map +1 -1
  584. package/dist/internal/stream.js.map +1 -1
  585. package/dist/internal/tracer.js.map +1 -1
  586. package/dist/internal/trie.js +13 -9
  587. package/dist/internal/trie.js.map +1 -1
  588. package/dist/testing/FastCheck.d.ts +8 -7
  589. package/dist/testing/FastCheck.d.ts.map +1 -1
  590. package/dist/testing/FastCheck.js +8 -7
  591. package/dist/testing/FastCheck.js.map +1 -1
  592. package/dist/testing/TestClock.d.ts +57 -28
  593. package/dist/testing/TestClock.d.ts.map +1 -1
  594. package/dist/testing/TestClock.js +54 -19
  595. package/dist/testing/TestClock.js.map +1 -1
  596. package/dist/testing/TestConsole.d.ts +32 -31
  597. package/dist/testing/TestConsole.d.ts.map +1 -1
  598. package/dist/testing/TestConsole.js +24 -22
  599. package/dist/testing/TestConsole.js.map +1 -1
  600. package/dist/testing/TestSchema.d.ts +29 -29
  601. package/dist/testing/TestSchema.js +25 -25
  602. package/dist/testing/TestSchema.js.map +1 -1
  603. package/dist/testing/index.js.map +1 -1
  604. package/dist/unstable/ai/AiError.d.ts +121 -144
  605. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  606. package/dist/unstable/ai/AiError.js +99 -121
  607. package/dist/unstable/ai/AiError.js.map +1 -1
  608. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +22 -7
  609. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
  610. package/dist/unstable/ai/AnthropicStructuredOutput.js +87 -317
  611. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  612. package/dist/unstable/ai/Chat.d.ts +132 -97
  613. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  614. package/dist/unstable/ai/Chat.js +55 -51
  615. package/dist/unstable/ai/Chat.js.map +1 -1
  616. package/dist/unstable/ai/EmbeddingModel.d.ts +1 -1
  617. package/dist/unstable/ai/EmbeddingModel.js +1 -1
  618. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  619. package/dist/unstable/ai/IdGenerator.d.ts +32 -28
  620. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  621. package/dist/unstable/ai/IdGenerator.js +26 -21
  622. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  623. package/dist/unstable/ai/LanguageModel.d.ts +111 -68
  624. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  625. package/dist/unstable/ai/LanguageModel.js +123 -81
  626. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  627. package/dist/unstable/ai/McpProtocol.d.ts +30 -0
  628. package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
  629. package/dist/unstable/ai/McpProtocol.js +20 -0
  630. package/dist/unstable/ai/McpProtocol.js.map +1 -0
  631. package/dist/unstable/ai/McpSchema.d.ts +316 -250
  632. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  633. package/dist/unstable/ai/McpSchema.js +71 -63
  634. package/dist/unstable/ai/McpSchema.js.map +1 -1
  635. package/dist/unstable/ai/McpServer.d.ts +71 -62
  636. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  637. package/dist/unstable/ai/McpServer.js +765 -245
  638. package/dist/unstable/ai/McpServer.js.map +1 -1
  639. package/dist/unstable/ai/Model.d.ts +8 -19
  640. package/dist/unstable/ai/Model.d.ts.map +1 -1
  641. package/dist/unstable/ai/Model.js +9 -20
  642. package/dist/unstable/ai/Model.js.map +1 -1
  643. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +33 -11
  644. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
  645. package/dist/unstable/ai/OpenAiStructuredOutput.js +194 -378
  646. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  647. package/dist/unstable/ai/Prompt.d.ts +112 -38
  648. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  649. package/dist/unstable/ai/Prompt.js +53 -17
  650. package/dist/unstable/ai/Prompt.js.map +1 -1
  651. package/dist/unstable/ai/Response.d.ts +47 -33
  652. package/dist/unstable/ai/Response.d.ts.map +1 -1
  653. package/dist/unstable/ai/Response.js +23 -18
  654. package/dist/unstable/ai/Response.js.map +1 -1
  655. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  656. package/dist/unstable/ai/Telemetry.d.ts +46 -13
  657. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  658. package/dist/unstable/ai/Telemetry.js +18 -7
  659. package/dist/unstable/ai/Telemetry.js.map +1 -1
  660. package/dist/unstable/ai/Tokenizer.d.ts +14 -3
  661. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  662. package/dist/unstable/ai/Tokenizer.js +10 -2
  663. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  664. package/dist/unstable/ai/Tool.d.ts +63 -44
  665. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  666. package/dist/unstable/ai/Tool.js +59 -42
  667. package/dist/unstable/ai/Tool.js.map +1 -1
  668. package/dist/unstable/ai/Toolkit.d.ts +35 -9
  669. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  670. package/dist/unstable/ai/Toolkit.js +32 -14
  671. package/dist/unstable/ai/Toolkit.js.map +1 -1
  672. package/dist/unstable/ai/index.d.ts +4 -0
  673. package/dist/unstable/ai/index.d.ts.map +1 -1
  674. package/dist/unstable/ai/index.js +4 -0
  675. package/dist/unstable/ai/index.js.map +1 -1
  676. package/dist/unstable/ai/internal/codec-transformer.js +15 -12
  677. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  678. package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
  679. package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
  680. package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
  681. package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
  682. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
  683. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
  684. package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
  685. package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
  686. package/dist/unstable/ai/internal/structured-output.d.ts +2 -0
  687. package/dist/unstable/ai/internal/structured-output.d.ts.map +1 -0
  688. package/dist/unstable/ai/internal/structured-output.js +315 -0
  689. package/dist/unstable/ai/internal/structured-output.js.map +1 -0
  690. package/dist/unstable/cli/Argument.d.ts +273 -69
  691. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  692. package/dist/unstable/cli/Argument.js +111 -33
  693. package/dist/unstable/cli/Argument.js.map +1 -1
  694. package/dist/unstable/cli/CliConfig.js.map +1 -1
  695. package/dist/unstable/cli/CliError.d.ts +105 -74
  696. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  697. package/dist/unstable/cli/CliError.js +98 -63
  698. package/dist/unstable/cli/CliError.js.map +1 -1
  699. package/dist/unstable/cli/CliOutput.d.ts +35 -54
  700. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  701. package/dist/unstable/cli/CliOutput.js +26 -42
  702. package/dist/unstable/cli/CliOutput.js.map +1 -1
  703. package/dist/unstable/cli/Command.d.ts +705 -107
  704. package/dist/unstable/cli/Command.d.ts.map +1 -1
  705. package/dist/unstable/cli/Command.js +252 -47
  706. package/dist/unstable/cli/Command.js.map +1 -1
  707. package/dist/unstable/cli/Completions.js.map +1 -1
  708. package/dist/unstable/cli/Flag.d.ts +418 -138
  709. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  710. package/dist/unstable/cli/Flag.js +197 -71
  711. package/dist/unstable/cli/Flag.js.map +1 -1
  712. package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
  713. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  714. package/dist/unstable/cli/HelpDoc.d.ts +12 -4
  715. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  716. package/dist/unstable/cli/Param.d.ts +292 -78
  717. package/dist/unstable/cli/Param.d.ts.map +1 -1
  718. package/dist/unstable/cli/Param.js +131 -49
  719. package/dist/unstable/cli/Param.js.map +1 -1
  720. package/dist/unstable/cli/Primitive.d.ts +370 -149
  721. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  722. package/dist/unstable/cli/Primitive.js +345 -137
  723. package/dist/unstable/cli/Primitive.js.map +1 -1
  724. package/dist/unstable/cli/Prompt.d.ts +23 -14
  725. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  726. package/dist/unstable/cli/Prompt.js +23 -14
  727. package/dist/unstable/cli/Prompt.js.map +1 -1
  728. package/dist/unstable/cli/index.js.map +1 -1
  729. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  730. package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
  731. package/dist/unstable/cli/internal/command.d.ts +3 -1
  732. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  733. package/dist/unstable/cli/internal/command.js +11 -4
  734. package/dist/unstable/cli/internal/command.js.map +1 -1
  735. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  736. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  737. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  738. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  739. package/dist/unstable/cli/internal/config.d.ts +0 -48
  740. package/dist/unstable/cli/internal/config.d.ts.map +1 -1
  741. package/dist/unstable/cli/internal/config.js +8 -10
  742. package/dist/unstable/cli/internal/config.js.map +1 -1
  743. package/dist/unstable/cli/internal/help.js.map +1 -1
  744. package/dist/unstable/cli/internal/lexer.js +17 -7
  745. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  746. package/dist/unstable/cli/internal/parser.js +2 -2
  747. package/dist/unstable/cli/internal/parser.js.map +1 -1
  748. package/dist/unstable/cli/internal/wizard.js.map +1 -1
  749. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  750. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  751. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  752. package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
  753. package/dist/unstable/cluster/ClusterSchema.js +8 -8
  754. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  755. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  756. package/dist/unstable/cluster/ClusterWorkflowEngine.js +6 -2
  757. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  758. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  759. package/dist/unstable/cluster/Entity.d.ts +10 -10
  760. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  761. package/dist/unstable/cluster/Entity.js +9 -9
  762. package/dist/unstable/cluster/Entity.js.map +1 -1
  763. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  764. package/dist/unstable/cluster/EntityId.js.map +1 -1
  765. package/dist/unstable/cluster/EntityProxy.d.ts +4 -2
  766. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  767. package/dist/unstable/cluster/EntityProxy.js +4 -2
  768. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  769. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  770. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  771. package/dist/unstable/cluster/EntityResource.js +2 -2
  772. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  773. package/dist/unstable/cluster/EntityType.js.map +1 -1
  774. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  775. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  776. package/dist/unstable/cluster/Envelope.js +5 -4
  777. package/dist/unstable/cluster/Envelope.js.map +1 -1
  778. package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
  779. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  780. package/dist/unstable/cluster/HttpRunner.js +6 -4
  781. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  782. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  783. package/dist/unstable/cluster/MachineId.js.map +1 -1
  784. package/dist/unstable/cluster/Message.d.ts +9 -9
  785. package/dist/unstable/cluster/Message.js +6 -6
  786. package/dist/unstable/cluster/Message.js.map +1 -1
  787. package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
  788. package/dist/unstable/cluster/MessageStorage.js +5 -5
  789. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  790. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  791. package/dist/unstable/cluster/Reply.js +5 -5
  792. package/dist/unstable/cluster/Reply.js.map +1 -1
  793. package/dist/unstable/cluster/Runner.d.ts +1 -1
  794. package/dist/unstable/cluster/Runner.js +1 -1
  795. package/dist/unstable/cluster/Runner.js.map +1 -1
  796. package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
  797. package/dist/unstable/cluster/RunnerAddress.js +1 -1
  798. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  799. package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
  800. package/dist/unstable/cluster/RunnerHealth.js +1 -1
  801. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  802. package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
  803. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  804. package/dist/unstable/cluster/RunnerServer.js +16 -16
  805. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  806. package/dist/unstable/cluster/RunnerStorage.d.ts +2 -2
  807. package/dist/unstable/cluster/RunnerStorage.js +1 -1
  808. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  809. package/dist/unstable/cluster/Runners.d.ts +6 -6
  810. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  811. package/dist/unstable/cluster/Runners.js +19 -10
  812. package/dist/unstable/cluster/Runners.js.map +1 -1
  813. package/dist/unstable/cluster/ShardId.js +1 -1
  814. package/dist/unstable/cluster/ShardId.js.map +1 -1
  815. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  816. package/dist/unstable/cluster/Sharding.js +128 -26
  817. package/dist/unstable/cluster/Sharding.js.map +1 -1
  818. package/dist/unstable/cluster/ShardingConfig.d.ts +13 -5
  819. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  820. package/dist/unstable/cluster/ShardingConfig.js +3 -3
  821. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  822. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  823. package/dist/unstable/cluster/SingleRunner.d.ts +4 -2
  824. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  825. package/dist/unstable/cluster/SingleRunner.js +2 -1
  826. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  827. package/dist/unstable/cluster/Singleton.js.map +1 -1
  828. package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
  829. package/dist/unstable/cluster/SingletonAddress.js +1 -1
  830. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  831. package/dist/unstable/cluster/Snowflake.d.ts +8 -8
  832. package/dist/unstable/cluster/Snowflake.js +8 -8
  833. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  834. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  835. package/dist/unstable/cluster/SqlMessageStorage.d.ts +7 -4
  836. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  837. package/dist/unstable/cluster/SqlMessageStorage.js +56 -25
  838. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  839. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  840. package/dist/unstable/cluster/SqlRunnerStorage.js +127 -65
  841. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  842. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  843. package/dist/unstable/cluster/index.js.map +1 -1
  844. package/dist/unstable/cluster/internal/entityManager.js +24 -12
  845. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  846. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  847. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  848. package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
  849. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  850. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  851. package/dist/unstable/cluster/internal/shardLock.d.ts +2 -0
  852. package/dist/unstable/cluster/internal/shardLock.d.ts.map +1 -0
  853. package/dist/unstable/cluster/internal/shardLock.js +4 -0
  854. package/dist/unstable/cluster/internal/shardLock.js.map +1 -0
  855. package/dist/unstable/devtools/DevTools.js.map +1 -1
  856. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  857. package/dist/unstable/devtools/DevToolsSchema.d.ts +20 -20
  858. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  859. package/dist/unstable/devtools/DevToolsSchema.js +8 -5
  860. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  861. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  862. package/dist/unstable/devtools/index.js.map +1 -1
  863. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  864. package/dist/unstable/encoding/Msgpack.js +6 -8
  865. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  866. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  867. package/dist/unstable/encoding/Sse.d.ts +72 -8
  868. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  869. package/dist/unstable/encoding/Sse.js +58 -8
  870. package/dist/unstable/encoding/Sse.js.map +1 -1
  871. package/dist/unstable/encoding/index.js.map +1 -1
  872. package/dist/unstable/eventlog/Event.d.ts +20 -20
  873. package/dist/unstable/eventlog/Event.js.map +1 -1
  874. package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
  875. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  876. package/dist/unstable/eventlog/EventJournal.d.ts +16 -16
  877. package/dist/unstable/eventlog/EventJournal.js +14 -14
  878. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  879. package/dist/unstable/eventlog/EventLog.d.ts +3 -3
  880. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  881. package/dist/unstable/eventlog/EventLog.js +18 -14
  882. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  883. package/dist/unstable/eventlog/EventLogEncryption.d.ts +2 -2
  884. package/dist/unstable/eventlog/EventLogEncryption.js +2 -2
  885. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  886. package/dist/unstable/eventlog/EventLogMessage.d.ts +6 -6
  887. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  888. package/dist/unstable/eventlog/EventLogMessage.js +9 -4
  889. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  890. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
  891. package/dist/unstable/eventlog/EventLogRemote.js +1 -1
  892. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  893. package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
  894. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  895. package/dist/unstable/eventlog/EventLogServer.js +45 -21
  896. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  897. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
  898. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  899. package/dist/unstable/eventlog/EventLogServerEncrypted.js +13 -5
  900. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  901. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
  902. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  903. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +14 -6
  904. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  905. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
  906. package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
  907. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  908. package/dist/unstable/eventlog/SqlEventJournal.js +2 -2
  909. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  910. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +1 -1
  911. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  912. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +3 -3
  913. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  914. package/dist/unstable/eventlog/index.js.map +1 -1
  915. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  916. package/dist/unstable/http/Cookies.d.ts +2 -2
  917. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  918. package/dist/unstable/http/Cookies.js +54 -40
  919. package/dist/unstable/http/Cookies.js.map +1 -1
  920. package/dist/unstable/http/Etag.d.ts +1 -1
  921. package/dist/unstable/http/Etag.js +1 -1
  922. package/dist/unstable/http/Etag.js.map +1 -1
  923. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  924. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  925. package/dist/unstable/http/Headers.d.ts +2 -2
  926. package/dist/unstable/http/Headers.js +10 -10
  927. package/dist/unstable/http/Headers.js.map +1 -1
  928. package/dist/unstable/http/HttpBody.d.ts +5 -3
  929. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  930. package/dist/unstable/http/HttpBody.js +11 -5
  931. package/dist/unstable/http/HttpBody.js.map +1 -1
  932. package/dist/unstable/http/HttpClient.d.ts +51 -44
  933. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  934. package/dist/unstable/http/HttpClient.js +46 -17
  935. package/dist/unstable/http/HttpClient.js.map +1 -1
  936. package/dist/unstable/http/HttpClientError.js.map +1 -1
  937. package/dist/unstable/http/HttpClientRequest.d.ts +44 -0
  938. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  939. package/dist/unstable/http/HttpClientRequest.js +16 -0
  940. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  941. package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
  942. package/dist/unstable/http/HttpClientResponse.js +2 -2
  943. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  944. package/dist/unstable/http/HttpEffect.d.ts +6 -6
  945. package/dist/unstable/http/HttpEffect.js +3 -3
  946. package/dist/unstable/http/HttpEffect.js.map +1 -1
  947. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  948. package/dist/unstable/http/HttpMethod.d.ts +6 -9
  949. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  950. package/dist/unstable/http/HttpMethod.js +6 -9
  951. package/dist/unstable/http/HttpMethod.js.map +1 -1
  952. package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
  953. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  954. package/dist/unstable/http/HttpMiddleware.js +164 -39
  955. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  956. package/dist/unstable/http/HttpPlatform.d.ts +76 -0
  957. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  958. package/dist/unstable/http/HttpPlatform.js +32 -0
  959. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  960. package/dist/unstable/http/HttpRouter.d.ts +88 -89
  961. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  962. package/dist/unstable/http/HttpRouter.js +78 -79
  963. package/dist/unstable/http/HttpRouter.js.map +1 -1
  964. package/dist/unstable/http/HttpServer.d.ts +13 -13
  965. package/dist/unstable/http/HttpServer.js +6 -6
  966. package/dist/unstable/http/HttpServer.js.map +1 -1
  967. package/dist/unstable/http/HttpServerError.d.ts +2 -2
  968. package/dist/unstable/http/HttpServerError.js +2 -2
  969. package/dist/unstable/http/HttpServerError.js.map +1 -1
  970. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  971. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  972. package/dist/unstable/http/HttpServerRequest.js +9 -8
  973. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  974. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  975. package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
  976. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  977. package/dist/unstable/http/HttpServerResponse.js +10 -0
  978. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  979. package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
  980. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  981. package/dist/unstable/http/HttpStaticServer.js +35 -7
  982. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  983. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  984. package/dist/unstable/http/Multipart.d.ts +6 -6
  985. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  986. package/dist/unstable/http/Multipart.js +22 -20
  987. package/dist/unstable/http/Multipart.js.map +1 -1
  988. package/dist/unstable/http/Template.js +1 -1
  989. package/dist/unstable/http/Template.js.map +1 -1
  990. package/dist/unstable/http/Url.d.ts +33 -63
  991. package/dist/unstable/http/Url.d.ts.map +1 -1
  992. package/dist/unstable/http/Url.js +14 -28
  993. package/dist/unstable/http/Url.js.map +1 -1
  994. package/dist/unstable/http/UrlParams.d.ts +10 -18
  995. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  996. package/dist/unstable/http/UrlParams.js +26 -31
  997. package/dist/unstable/http/UrlParams.js.map +1 -1
  998. package/dist/unstable/http/index.js.map +1 -1
  999. package/dist/unstable/http/internal/compression.d.ts +2 -0
  1000. package/dist/unstable/http/internal/compression.d.ts.map +1 -0
  1001. package/dist/unstable/http/internal/compression.js +155 -0
  1002. package/dist/unstable/http/internal/compression.js.map +1 -0
  1003. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
  1004. package/dist/unstable/httpapi/HttpApi.js +3 -3
  1005. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  1006. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
  1007. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  1008. package/dist/unstable/httpapi/HttpApiBuilder.js +10 -11
  1009. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  1010. package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
  1011. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  1012. package/dist/unstable/httpapi/HttpApiClient.js +16 -18
  1013. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  1014. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +42 -42
  1015. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  1016. package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
  1017. package/dist/unstable/httpapi/HttpApiError.js +13 -13
  1018. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  1019. package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
  1020. package/dist/unstable/httpapi/HttpApiGroup.js +1 -1
  1021. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  1022. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
  1023. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  1024. package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
  1025. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  1026. package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
  1027. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  1028. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  1029. package/dist/unstable/httpapi/HttpApiSchema.d.ts +6 -6
  1030. package/dist/unstable/httpapi/HttpApiSchema.js +4 -4
  1031. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  1032. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  1033. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  1034. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  1035. package/dist/unstable/httpapi/OpenApi.d.ts +13 -13
  1036. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  1037. package/dist/unstable/httpapi/OpenApi.js +50 -37
  1038. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  1039. package/dist/unstable/httpapi/index.js.map +1 -1
  1040. package/dist/unstable/httpapi/internal/html.js.map +1 -1
  1041. package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
  1042. package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
  1043. package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
  1044. package/dist/unstable/observability/Otlp.js.map +1 -1
  1045. package/dist/unstable/observability/OtlpExporter.d.ts +70 -1
  1046. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  1047. package/dist/unstable/observability/OtlpExporter.js +84 -6
  1048. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  1049. package/dist/unstable/observability/OtlpLogger.d.ts +4 -3
  1050. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  1051. package/dist/unstable/observability/OtlpLogger.js +2 -2
  1052. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  1053. package/dist/unstable/observability/OtlpMetrics.d.ts +11 -4
  1054. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  1055. package/dist/unstable/observability/OtlpMetrics.js +5 -2
  1056. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  1057. package/dist/unstable/observability/OtlpResource.d.ts +16 -7
  1058. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  1059. package/dist/unstable/observability/OtlpResource.js +21 -12
  1060. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  1061. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  1062. package/dist/unstable/observability/OtlpTracer.d.ts +4 -3
  1063. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  1064. package/dist/unstable/observability/OtlpTracer.js +2 -2
  1065. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  1066. package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
  1067. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  1068. package/dist/unstable/observability/PrometheusMetrics.js +10 -3
  1069. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  1070. package/dist/unstable/observability/index.js.map +1 -1
  1071. package/dist/unstable/observability/internal/otlpEnv.js +1 -1
  1072. package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
  1073. package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
  1074. package/dist/unstable/observability/internal/protobuf.js +3 -0
  1075. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  1076. package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
  1077. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  1078. package/dist/unstable/persistence/KeyValueStore.js +22 -13
  1079. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1080. package/dist/unstable/persistence/Persistable.d.ts +8 -8
  1081. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  1082. package/dist/unstable/persistence/Persistable.js +2 -1
  1083. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1084. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1085. package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
  1086. package/dist/unstable/persistence/PersistedQueue.js +6 -6
  1087. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1088. package/dist/unstable/persistence/Persistence.d.ts +3 -3
  1089. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1090. package/dist/unstable/persistence/Persistence.js +91 -15
  1091. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1092. package/dist/unstable/persistence/RateLimiter.d.ts +28 -17
  1093. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1094. package/dist/unstable/persistence/RateLimiter.js +26 -15
  1095. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1096. package/dist/unstable/persistence/Redis.d.ts +2 -2
  1097. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  1098. package/dist/unstable/persistence/Redis.js +3 -3
  1099. package/dist/unstable/persistence/Redis.js.map +1 -1
  1100. package/dist/unstable/persistence/index.js.map +1 -1
  1101. package/dist/unstable/process/ChildProcess.d.ts +64 -21
  1102. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1103. package/dist/unstable/process/ChildProcess.js +14 -5
  1104. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1105. package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
  1106. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1107. package/dist/unstable/process/ChildProcessSpawner.js +4 -2
  1108. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1109. package/dist/unstable/process/index.js.map +1 -1
  1110. package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
  1111. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1112. package/dist/unstable/reactivity/AsyncResult.js +14 -13
  1113. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1114. package/dist/unstable/reactivity/Atom.d.ts +105 -19
  1115. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1116. package/dist/unstable/reactivity/Atom.js +44 -12
  1117. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1118. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
  1119. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1120. package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
  1121. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1122. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1123. package/dist/unstable/reactivity/AtomRegistry.js +25 -4
  1124. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1125. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  1126. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1127. package/dist/unstable/reactivity/AtomRpc.js +4 -1
  1128. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1129. package/dist/unstable/reactivity/Hydration.d.ts +1 -1
  1130. package/dist/unstable/reactivity/Hydration.js +1 -1
  1131. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1132. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1133. package/dist/unstable/reactivity/index.js.map +1 -1
  1134. package/dist/unstable/rpc/Rpc.d.ts +35 -33
  1135. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1136. package/dist/unstable/rpc/Rpc.js +4 -2
  1137. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1138. package/dist/unstable/rpc/RpcClient.d.ts +12 -12
  1139. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1140. package/dist/unstable/rpc/RpcClient.js +14 -12
  1141. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1142. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1143. package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
  1144. package/dist/unstable/rpc/RpcGroup.js +1 -1
  1145. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1146. package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
  1147. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1148. package/dist/unstable/rpc/RpcMessage.js +6 -6
  1149. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1150. package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
  1151. package/dist/unstable/rpc/RpcMiddleware.js +1 -1
  1152. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1153. package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
  1154. package/dist/unstable/rpc/RpcSchema.js +3 -3
  1155. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1156. package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
  1157. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1158. package/dist/unstable/rpc/RpcSerialization.js +175 -96
  1159. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1160. package/dist/unstable/rpc/RpcServer.d.ts +13 -13
  1161. package/dist/unstable/rpc/RpcServer.js +17 -13
  1162. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1163. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1164. package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
  1165. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1166. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1167. package/dist/unstable/rpc/Utils.js.map +1 -1
  1168. package/dist/unstable/rpc/index.js.map +1 -1
  1169. package/dist/unstable/schema/Model.d.ts +52 -50
  1170. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1171. package/dist/unstable/schema/Model.js +35 -33
  1172. package/dist/unstable/schema/Model.js.map +1 -1
  1173. package/dist/unstable/schema/VariantSchema.d.ts +6 -7
  1174. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1175. package/dist/unstable/schema/VariantSchema.js +15 -12
  1176. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1177. package/dist/unstable/schema/index.js.map +1 -1
  1178. package/dist/unstable/socket/Socket.d.ts +12 -4
  1179. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1180. package/dist/unstable/socket/Socket.js +10 -5
  1181. package/dist/unstable/socket/Socket.js.map +1 -1
  1182. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1183. package/dist/unstable/socket/index.js.map +1 -1
  1184. package/dist/unstable/sql/Migrator.js.map +1 -1
  1185. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  1186. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1187. package/dist/unstable/sql/SqlClient.js +2 -2
  1188. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1189. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1190. package/dist/unstable/sql/SqlError.d.ts +2 -2
  1191. package/dist/unstable/sql/SqlError.js +2 -2
  1192. package/dist/unstable/sql/SqlError.js.map +1 -1
  1193. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  1194. package/dist/unstable/sql/SqlModel.js +2 -2
  1195. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1196. package/dist/unstable/sql/SqlResolver.d.ts +5 -5
  1197. package/dist/unstable/sql/SqlResolver.js +2 -2
  1198. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1199. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1200. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1201. package/dist/unstable/sql/Statement.d.ts +6 -6
  1202. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1203. package/dist/unstable/sql/Statement.js +22 -21
  1204. package/dist/unstable/sql/Statement.js.map +1 -1
  1205. package/dist/unstable/sql/index.js.map +1 -1
  1206. package/dist/unstable/workers/Transferable.d.ts +1 -1
  1207. package/dist/unstable/workers/Transferable.js +1 -1
  1208. package/dist/unstable/workers/Transferable.js.map +1 -1
  1209. package/dist/unstable/workers/Worker.d.ts +2 -2
  1210. package/dist/unstable/workers/Worker.js +2 -2
  1211. package/dist/unstable/workers/Worker.js.map +1 -1
  1212. package/dist/unstable/workers/WorkerError.d.ts +7 -7
  1213. package/dist/unstable/workers/WorkerError.js +6 -6
  1214. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1215. package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
  1216. package/dist/unstable/workers/WorkerRunner.js +1 -1
  1217. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1218. package/dist/unstable/workers/index.js.map +1 -1
  1219. package/dist/unstable/workflow/Activity.d.ts +2 -2
  1220. package/dist/unstable/workflow/Activity.js +2 -2
  1221. package/dist/unstable/workflow/Activity.js.map +1 -1
  1222. package/dist/unstable/workflow/DurableClock.d.ts +1 -1
  1223. package/dist/unstable/workflow/DurableClock.js +1 -1
  1224. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1225. package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
  1226. package/dist/unstable/workflow/DurableDeferred.js +5 -5
  1227. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1228. package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
  1229. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1230. package/dist/unstable/workflow/DurableQueue.js +22 -20
  1231. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1232. package/dist/unstable/workflow/Workflow.d.ts +21 -21
  1233. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1234. package/dist/unstable/workflow/Workflow.js +13 -14
  1235. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1236. package/dist/unstable/workflow/WorkflowEngine.d.ts +1 -1
  1237. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1238. package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
  1239. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1240. package/dist/unstable/workflow/WorkflowProxy.js +4 -2
  1241. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1242. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1243. package/dist/unstable/workflow/index.js.map +1 -1
  1244. package/dist/unstable/workflow/internal/crypto.js.map +1 -1
  1245. package/package.json +5 -6
  1246. package/src/Array.ts +1068 -1070
  1247. package/src/BigDecimal.ts +433 -756
  1248. package/src/BigInt.ts +213 -269
  1249. package/src/Boolean.ts +146 -188
  1250. package/src/Cache.ts +409 -255
  1251. package/src/Cause.ts +167 -277
  1252. package/src/Channel.ts +923 -830
  1253. package/src/ChannelSchema.ts +1 -1
  1254. package/src/Chunk.ts +841 -1181
  1255. package/src/Clock.ts +181 -49
  1256. package/src/Combiner.ts +20 -33
  1257. package/src/Config.ts +618 -334
  1258. package/src/ConfigProvider.ts +221 -127
  1259. package/src/Console.ts +289 -39
  1260. package/src/Context.ts +319 -378
  1261. package/src/Cron.ts +68 -77
  1262. package/src/Crypto.ts +13 -15
  1263. package/src/Data.ts +63 -82
  1264. package/src/DateTime.ts +564 -660
  1265. package/src/Deferred.ts +253 -256
  1266. package/src/Duration.ts +216 -308
  1267. package/src/Effect.ts +2958 -3390
  1268. package/src/Encoding.ts +22 -40
  1269. package/src/Equal.ts +49 -39
  1270. package/src/Equivalence.ts +103 -105
  1271. package/src/ErrorReporter.ts +51 -27
  1272. package/src/ExecutionPlan.ts +13 -55
  1273. package/src/Exit.ts +116 -192
  1274. package/src/Fiber.ts +81 -148
  1275. package/src/FiberHandle.ts +155 -107
  1276. package/src/FiberMap.ts +225 -174
  1277. package/src/FiberSet.ts +124 -82
  1278. package/src/FileSystem.ts +155 -263
  1279. package/src/Filter.ts +61 -33
  1280. package/src/Formatter.ts +54 -56
  1281. package/src/Function.ts +76 -145
  1282. package/src/Graph.ts +416 -770
  1283. package/src/HKT.ts +12 -6
  1284. package/src/Hash.ts +52 -83
  1285. package/src/HashMap.ts +319 -411
  1286. package/src/HashRing.ts +1 -0
  1287. package/src/HashSet.ts +177 -284
  1288. package/src/Inspectable.ts +12 -12
  1289. package/src/Iterable.ts +622 -787
  1290. package/src/JsonPatch.ts +60 -113
  1291. package/src/JsonPointer.ts +8 -8
  1292. package/src/JsonSchema.ts +405 -249
  1293. package/src/Latch.ts +23 -35
  1294. package/src/Layer.ts +359 -260
  1295. package/src/LayerMap.ts +49 -29
  1296. package/src/LayerRef.ts +6 -2
  1297. package/src/LogLevel.ts +114 -214
  1298. package/src/Logger.ts +347 -699
  1299. package/src/ManagedRuntime.ts +20 -5
  1300. package/src/Match.ts +217 -252
  1301. package/src/Metric.ts +520 -1092
  1302. package/src/MutableHashMap.ts +218 -255
  1303. package/src/MutableHashSet.ts +84 -89
  1304. package/src/MutableList.ts +73 -370
  1305. package/src/MutableRef.ts +420 -243
  1306. package/src/Newtype.ts +21 -14
  1307. package/src/NonEmptyIterable.ts +7 -137
  1308. package/src/Number.ts +196 -233
  1309. package/src/Optic.ts +246 -385
  1310. package/src/Option.ts +449 -813
  1311. package/src/Order.ts +109 -109
  1312. package/src/Ordering.ts +20 -23
  1313. package/src/PartitionedSemaphore.ts +1 -4
  1314. package/src/Path.ts +38 -41
  1315. package/src/Pipeable.ts +6 -5
  1316. package/src/PlatformError.ts +4 -4
  1317. package/src/Pool.ts +4 -2
  1318. package/src/Predicate.ts +200 -181
  1319. package/src/PrimaryKey.ts +7 -7
  1320. package/src/PubSub.ts +526 -552
  1321. package/src/Pull.ts +24 -18
  1322. package/src/Queue.ts +200 -159
  1323. package/src/Random.ts +49 -74
  1324. package/src/RcMap.ts +121 -63
  1325. package/src/RcRef.ts +24 -13
  1326. package/src/Record.ts +387 -487
  1327. package/src/Redactable.ts +10 -3
  1328. package/src/Redacted.ts +25 -25
  1329. package/src/Reducer.ts +8 -15
  1330. package/src/Ref.ts +221 -361
  1331. package/src/References.ts +102 -214
  1332. package/src/RegExp.ts +10 -14
  1333. package/src/Request.ts +36 -28
  1334. package/src/RequestResolver.ts +202 -91
  1335. package/src/Result.ts +314 -485
  1336. package/src/Runtime.ts +50 -75
  1337. package/src/Schedule.ts +308 -1734
  1338. package/src/Scheduler.ts +20 -7
  1339. package/src/Schema.ts +3156 -1634
  1340. package/src/SchemaAST.ts +676 -489
  1341. package/src/SchemaError.ts +8 -7
  1342. package/src/SchemaGetter.ts +277 -218
  1343. package/src/SchemaIssue.ts +90 -276
  1344. package/src/SchemaParser.ts +179 -116
  1345. package/src/SchemaRepresentation.ts +698 -3417
  1346. package/src/SchemaTransformation.ts +132 -91
  1347. package/src/Scope.ts +123 -151
  1348. package/src/ScopedRef.ts +4 -4
  1349. package/src/Semaphore.ts +157 -54
  1350. package/src/Sink.ts +128 -113
  1351. package/src/Stdio.ts +1 -1
  1352. package/src/Stream.ts +2665 -3142
  1353. package/src/String.ts +275 -312
  1354. package/src/Struct.ts +114 -118
  1355. package/src/SubscriptionRef.ts +284 -252
  1356. package/src/Symbol.ts +3 -3
  1357. package/src/Terminal.ts +2 -2
  1358. package/src/Tracer.ts +102 -55
  1359. package/src/Trie.ts +287 -679
  1360. package/src/Tuple.ts +92 -127
  1361. package/src/TxChunk.ts +201 -121
  1362. package/src/TxDeferred.ts +62 -46
  1363. package/src/TxHashMap.ts +645 -799
  1364. package/src/TxHashSet.ts +443 -356
  1365. package/src/TxPriorityQueue.ts +130 -98
  1366. package/src/TxPubSub.ts +107 -80
  1367. package/src/TxQueue.ts +214 -183
  1368. package/src/TxReentrantLock.ts +97 -66
  1369. package/src/TxRef.ts +51 -32
  1370. package/src/TxSemaphore.ts +129 -95
  1371. package/src/TxSubscriptionRef.ts +97 -70
  1372. package/src/Types.ts +127 -70
  1373. package/src/Unify.ts +45 -65
  1374. package/src/Utils.ts +23 -16
  1375. package/src/index.ts +0 -5
  1376. package/src/internal/core.ts +5 -4
  1377. package/src/internal/dateTime.ts +6 -0
  1378. package/src/internal/effect.ts +160 -79
  1379. package/src/internal/matcher.ts +1 -1
  1380. package/src/internal/persistence.ts +2 -0
  1381. package/src/internal/record.ts +11 -7
  1382. package/src/internal/references.ts +3 -7
  1383. package/src/internal/schema/annotations.ts +44 -0
  1384. package/src/internal/schema/fromJsonSchemaDocument.ts +959 -0
  1385. package/src/internal/schema/fromRepresentation.ts +339 -0
  1386. package/src/internal/schema/parser.ts +22 -0
  1387. package/src/internal/schema/schema.ts +45 -46
  1388. package/src/internal/schema/{arbitrary.ts → toArbitrary.ts} +8 -10
  1389. package/src/internal/schema/toCodeDocument.ts +572 -0
  1390. package/src/internal/schema/{equivalence.ts → toEquivalence.ts} +12 -7
  1391. package/src/internal/schema/toJsonSchemaDocument.ts +529 -0
  1392. package/src/internal/schema/toRepresentation.ts +386 -0
  1393. package/src/internal/stackTraceLimit.ts +3 -7
  1394. package/src/internal/trie.ts +10 -11
  1395. package/src/testing/FastCheck.ts +8 -7
  1396. package/src/testing/TestClock.ts +73 -31
  1397. package/src/testing/TestConsole.ts +32 -31
  1398. package/src/testing/TestSchema.ts +29 -29
  1399. package/src/unstable/ai/AiError.ts +100 -122
  1400. package/src/unstable/ai/AnthropicStructuredOutput.ts +103 -334
  1401. package/src/unstable/ai/Chat.ts +132 -97
  1402. package/src/unstable/ai/EmbeddingModel.ts +1 -1
  1403. package/src/unstable/ai/IdGenerator.ts +32 -28
  1404. package/src/unstable/ai/LanguageModel.ts +137 -95
  1405. package/src/unstable/ai/McpProtocol.ts +48 -0
  1406. package/src/unstable/ai/McpSchema.ts +75 -65
  1407. package/src/unstable/ai/McpServer.ts +1045 -303
  1408. package/src/unstable/ai/Model.ts +9 -20
  1409. package/src/unstable/ai/OpenAiStructuredOutput.ts +231 -396
  1410. package/src/unstable/ai/Prompt.ts +145 -43
  1411. package/src/unstable/ai/Response.ts +52 -38
  1412. package/src/unstable/ai/Telemetry.ts +46 -13
  1413. package/src/unstable/ai/Tokenizer.ts +14 -3
  1414. package/src/unstable/ai/Tool.ts +81 -48
  1415. package/src/unstable/ai/Toolkit.ts +45 -15
  1416. package/src/unstable/ai/index.ts +5 -0
  1417. package/src/unstable/ai/internal/codec-transformer.ts +13 -7
  1418. package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
  1419. package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
  1420. package/src/unstable/ai/internal/structured-output.ts +453 -0
  1421. package/src/unstable/cli/Argument.ts +273 -69
  1422. package/src/unstable/cli/CliError.ts +116 -77
  1423. package/src/unstable/cli/CliOutput.ts +44 -58
  1424. package/src/unstable/cli/Command.ts +709 -111
  1425. package/src/unstable/cli/Flag.ts +418 -138
  1426. package/src/unstable/cli/GlobalFlag.ts +1 -1
  1427. package/src/unstable/cli/HelpDoc.ts +12 -4
  1428. package/src/unstable/cli/Param.ts +295 -81
  1429. package/src/unstable/cli/Primitive.ts +371 -150
  1430. package/src/unstable/cli/Prompt.ts +28 -14
  1431. package/src/unstable/cli/internal/command.ts +13 -5
  1432. package/src/unstable/cli/internal/config.ts +8 -10
  1433. package/src/unstable/cli/internal/lexer.ts +8 -2
  1434. package/src/unstable/cli/internal/parser.ts +2 -2
  1435. package/src/unstable/cluster/ClusterSchema.ts +8 -8
  1436. package/src/unstable/cluster/ClusterWorkflowEngine.ts +8 -4
  1437. package/src/unstable/cluster/Entity.ts +16 -17
  1438. package/src/unstable/cluster/EntityProxy.ts +4 -2
  1439. package/src/unstable/cluster/EntityResource.ts +2 -2
  1440. package/src/unstable/cluster/Envelope.ts +5 -4
  1441. package/src/unstable/cluster/HttpRunner.ts +6 -4
  1442. package/src/unstable/cluster/Message.ts +9 -9
  1443. package/src/unstable/cluster/MessageStorage.ts +15 -15
  1444. package/src/unstable/cluster/Reply.ts +5 -7
  1445. package/src/unstable/cluster/Runner.ts +1 -1
  1446. package/src/unstable/cluster/RunnerAddress.ts +1 -1
  1447. package/src/unstable/cluster/RunnerHealth.ts +1 -1
  1448. package/src/unstable/cluster/RunnerServer.ts +41 -8
  1449. package/src/unstable/cluster/RunnerStorage.ts +2 -2
  1450. package/src/unstable/cluster/Runners.ts +23 -12
  1451. package/src/unstable/cluster/ShardId.ts +1 -1
  1452. package/src/unstable/cluster/Sharding.ts +168 -42
  1453. package/src/unstable/cluster/ShardingConfig.ts +8 -4
  1454. package/src/unstable/cluster/SingleRunner.ts +4 -2
  1455. package/src/unstable/cluster/SingletonAddress.ts +1 -1
  1456. package/src/unstable/cluster/Snowflake.ts +8 -8
  1457. package/src/unstable/cluster/SqlMessageStorage.ts +84 -36
  1458. package/src/unstable/cluster/SqlRunnerStorage.ts +205 -119
  1459. package/src/unstable/cluster/internal/entityManager.ts +42 -25
  1460. package/src/unstable/cluster/internal/shardLock.ts +9 -0
  1461. package/src/unstable/devtools/DevToolsSchema.ts +10 -5
  1462. package/src/unstable/encoding/Msgpack.ts +6 -8
  1463. package/src/unstable/encoding/Sse.ts +98 -16
  1464. package/src/unstable/eventlog/Event.ts +20 -20
  1465. package/src/unstable/eventlog/EventGroup.ts +4 -4
  1466. package/src/unstable/eventlog/EventJournal.ts +16 -16
  1467. package/src/unstable/eventlog/EventLog.ts +24 -14
  1468. package/src/unstable/eventlog/EventLogEncryption.ts +2 -2
  1469. package/src/unstable/eventlog/EventLogMessage.ts +12 -5
  1470. package/src/unstable/eventlog/EventLogRemote.ts +1 -1
  1471. package/src/unstable/eventlog/EventLogServer.ts +41 -7
  1472. package/src/unstable/eventlog/EventLogServerEncrypted.ts +13 -5
  1473. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +14 -6
  1474. package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
  1475. package/src/unstable/eventlog/SqlEventJournal.ts +2 -2
  1476. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +1 -1
  1477. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +6 -3
  1478. package/src/unstable/http/Cookies.ts +64 -45
  1479. package/src/unstable/http/Etag.ts +1 -1
  1480. package/src/unstable/http/FetchHttpClient.ts +3 -1
  1481. package/src/unstable/http/Headers.ts +10 -10
  1482. package/src/unstable/http/HttpBody.ts +20 -5
  1483. package/src/unstable/http/HttpClient.ts +83 -55
  1484. package/src/unstable/http/HttpClientRequest.ts +59 -0
  1485. package/src/unstable/http/HttpClientResponse.ts +4 -4
  1486. package/src/unstable/http/HttpEffect.ts +8 -8
  1487. package/src/unstable/http/HttpMethod.ts +6 -9
  1488. package/src/unstable/http/HttpMiddleware.ts +202 -39
  1489. package/src/unstable/http/HttpPlatform.ts +95 -0
  1490. package/src/unstable/http/HttpRouter.ts +102 -98
  1491. package/src/unstable/http/HttpServer.ts +13 -13
  1492. package/src/unstable/http/HttpServerError.ts +2 -2
  1493. package/src/unstable/http/HttpServerRequest.ts +9 -8
  1494. package/src/unstable/http/HttpServerResponse.ts +30 -0
  1495. package/src/unstable/http/HttpStaticServer.ts +35 -7
  1496. package/src/unstable/http/Multipart.ts +22 -19
  1497. package/src/unstable/http/Template.ts +1 -1
  1498. package/src/unstable/http/Url.ts +33 -63
  1499. package/src/unstable/http/UrlParams.ts +27 -32
  1500. package/src/unstable/http/internal/compression.ts +196 -0
  1501. package/src/unstable/httpapi/HttpApi.ts +3 -3
  1502. package/src/unstable/httpapi/HttpApiBuilder.ts +10 -9
  1503. package/src/unstable/httpapi/HttpApiClient.ts +19 -19
  1504. package/src/unstable/httpapi/HttpApiEndpoint.ts +42 -42
  1505. package/src/unstable/httpapi/HttpApiError.ts +13 -13
  1506. package/src/unstable/httpapi/HttpApiGroup.ts +16 -16
  1507. package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
  1508. package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
  1509. package/src/unstable/httpapi/HttpApiSchema.ts +6 -6
  1510. package/src/unstable/httpapi/OpenApi.ts +65 -41
  1511. package/src/unstable/observability/OtlpExporter.ts +126 -10
  1512. package/src/unstable/observability/OtlpLogger.ts +5 -5
  1513. package/src/unstable/observability/OtlpMetrics.ts +12 -5
  1514. package/src/unstable/observability/OtlpResource.ts +26 -17
  1515. package/src/unstable/observability/OtlpTracer.ts +8 -4
  1516. package/src/unstable/observability/PrometheusMetrics.ts +13 -4
  1517. package/src/unstable/observability/internal/otlpEnv.ts +1 -1
  1518. package/src/unstable/observability/internal/protobuf.ts +3 -0
  1519. package/src/unstable/persistence/KeyValueStore.ts +72 -49
  1520. package/src/unstable/persistence/Persistable.ts +11 -10
  1521. package/src/unstable/persistence/PersistedQueue.ts +6 -6
  1522. package/src/unstable/persistence/Persistence.ts +126 -19
  1523. package/src/unstable/persistence/RateLimiter.ts +28 -17
  1524. package/src/unstable/persistence/Redis.ts +4 -4
  1525. package/src/unstable/process/ChildProcess.ts +64 -21
  1526. package/src/unstable/process/ChildProcessSpawner.ts +22 -11
  1527. package/src/unstable/reactivity/AsyncResult.ts +16 -16
  1528. package/src/unstable/reactivity/Atom.ts +117 -22
  1529. package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
  1530. package/src/unstable/reactivity/AtomRegistry.ts +25 -4
  1531. package/src/unstable/reactivity/AtomRpc.ts +5 -4
  1532. package/src/unstable/reactivity/Hydration.ts +1 -1
  1533. package/src/unstable/rpc/Rpc.ts +35 -33
  1534. package/src/unstable/rpc/RpcClient.ts +18 -16
  1535. package/src/unstable/rpc/RpcGroup.ts +8 -8
  1536. package/src/unstable/rpc/RpcMessage.ts +31 -30
  1537. package/src/unstable/rpc/RpcMiddleware.ts +10 -10
  1538. package/src/unstable/rpc/RpcSchema.ts +4 -4
  1539. package/src/unstable/rpc/RpcSerialization.ts +167 -68
  1540. package/src/unstable/rpc/RpcServer.ts +18 -15
  1541. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1542. package/src/unstable/schema/Model.ts +52 -50
  1543. package/src/unstable/schema/VariantSchema.ts +19 -29
  1544. package/src/unstable/socket/Socket.ts +18 -5
  1545. package/src/unstable/sql/SqlClient.ts +5 -6
  1546. package/src/unstable/sql/SqlError.ts +2 -2
  1547. package/src/unstable/sql/SqlModel.ts +2 -2
  1548. package/src/unstable/sql/SqlResolver.ts +5 -5
  1549. package/src/unstable/sql/Statement.ts +31 -29
  1550. package/src/unstable/workers/Transferable.ts +1 -1
  1551. package/src/unstable/workers/Worker.ts +2 -2
  1552. package/src/unstable/workers/WorkerError.ts +7 -7
  1553. package/src/unstable/workers/WorkerRunner.ts +1 -1
  1554. package/src/unstable/workflow/Activity.ts +2 -2
  1555. package/src/unstable/workflow/DurableClock.ts +1 -1
  1556. package/src/unstable/workflow/DurableDeferred.ts +10 -10
  1557. package/src/unstable/workflow/DurableQueue.ts +22 -20
  1558. package/src/unstable/workflow/Workflow.ts +23 -23
  1559. package/src/unstable/workflow/WorkflowEngine.ts +1 -1
  1560. package/src/unstable/workflow/WorkflowProxy.ts +4 -2
  1561. package/dist/SchemaUtils.d.ts +0 -28
  1562. package/dist/SchemaUtils.d.ts.map +0 -1
  1563. package/dist/SchemaUtils.js +0 -45
  1564. package/dist/SchemaUtils.js.map +0 -1
  1565. package/dist/internal/schema/arbitrary.d.ts.map +0 -1
  1566. package/dist/internal/schema/arbitrary.js.map +0 -1
  1567. package/dist/internal/schema/equivalence.d.ts +0 -2
  1568. package/dist/internal/schema/equivalence.d.ts.map +0 -1
  1569. package/dist/internal/schema/equivalence.js.map +0 -1
  1570. package/dist/internal/schema/representation.d.ts +0 -2
  1571. package/dist/internal/schema/representation.d.ts.map +0 -1
  1572. package/dist/internal/schema/representation.js +0 -865
  1573. package/dist/internal/schema/representation.js.map +0 -1
  1574. package/dist/internal/version.d.ts +0 -3
  1575. package/dist/internal/version.d.ts.map +0 -1
  1576. package/dist/internal/version.js +0 -2
  1577. package/dist/internal/version.js.map +0 -1
  1578. package/src/SchemaUtils.ts +0 -51
  1579. package/src/internal/schema/representation.ts +0 -795
  1580. package/src/internal/version.ts +0 -2
package/src/Logger.ts CHANGED
@@ -20,6 +20,7 @@ import * as Formatter from "./Formatter.ts"
20
20
  import { dual } from "./Function.ts"
21
21
  import { isEffect, withFiber } from "./internal/core.ts"
22
22
  import * as effect from "./internal/effect.ts"
23
+ import * as InternalRecord from "./internal/record.ts"
23
24
  import * as Layer from "./Layer.ts"
24
25
  import type * as LogLevel from "./LogLevel.ts"
25
26
  import type { Pipeable } from "./Pipeable.ts"
@@ -41,23 +42,20 @@ const TypeId = "~effect/Logger"
41
42
  *
42
43
  * **Example** (Creating custom loggers)
43
44
  *
44
- * ```ts
45
+ * ```ts import.meta.vitest
45
46
  * import { Effect, Logger } from "effect"
46
47
  *
47
- * // Create a custom logger that accepts unknown messages and returns void
48
+ * const messages: Array<string> = []
48
49
  * const stringLogger = Logger.make<unknown, void>((options) => {
49
- * console.log(`[${options.logLevel}] ${options.message}`)
50
+ * messages.push(`[${options.logLevel}] ${options.message}`)
50
51
  * })
51
52
  *
52
- * // Create a logger that accepts any message type and returns a formatted string
53
- * const formattedLogger = Logger.make<unknown, string>((options) =>
54
- * `${options.date.toISOString()} [${options.logLevel}] ${options.message}`
55
- * )
56
- *
57
- * // Use the logger in an Effect program
58
53
  * const program = Effect.log("Hello World").pipe(
59
54
  * Effect.provide(Logger.layer([stringLogger]))
60
55
  * )
56
+ *
57
+ * Effect.runSync(program)
58
+ * messages // => ["[Info] Hello World"]
61
59
  * ```
62
60
  *
63
61
  * @category models
@@ -77,24 +75,24 @@ export interface Logger<in Message, out Output> extends Pipeable {
77
75
  *
78
76
  * **Example** (Accessing logger options)
79
77
  *
80
- * ```ts
78
+ * ```ts import.meta.vitest
81
79
  * import { Effect, Logger } from "effect"
82
80
  *
83
- * // Options interface provides all logging context
81
+ * const outputs: Array<unknown> = []
84
82
  * const detailedLogger = Logger.make((options) => {
85
- * const output = {
83
+ * outputs.push({
86
84
  * message: options.message,
87
85
  * level: options.logLevel,
88
- * timestamp: options.date.toISOString(),
89
- * fiberId: options.fiber.id,
90
- * hasCause: options.cause !== undefined
91
- * }
92
- * console.log(JSON.stringify(output))
86
+ * hasCause: options.cause.reasons.length > 0
87
+ * })
93
88
  * })
94
89
  *
95
90
  * const program = Effect.log("Processing request").pipe(
96
91
  * Effect.provide(Logger.layer([detailedLogger]))
97
92
  * )
93
+ *
94
+ * Effect.runSync(program)
95
+ * outputs // => [{ message: ["Processing request"], level: "Info", hasCause: false }]
98
96
  * ```
99
97
  *
100
98
  * @category options
@@ -113,16 +111,14 @@ export interface Options<out Message> {
113
111
  *
114
112
  * **Example** (Checking logger values)
115
113
  *
116
- * ```ts
114
+ * ```ts import.meta.vitest
117
115
  * import { Logger } from "effect"
118
116
  *
119
- * const myLogger = Logger.make((options) => {
120
- * console.log(options.message)
121
- * })
117
+ * const myLogger = Logger.make(() => undefined)
122
118
  *
123
- * console.log(Logger.isLogger(myLogger)) // true
124
- * console.log(Logger.isLogger("not a logger")) // false
125
- * console.log(Logger.isLogger({ log: () => {} })) // false
119
+ * Logger.isLogger(myLogger) // => true
120
+ * Logger.isLogger("not a logger") // => false
121
+ * Logger.isLogger({ log: () => {} }) // => false
126
122
  * ```
127
123
  *
128
124
  * @category guards
@@ -141,26 +137,26 @@ export const isLogger = (u: unknown): u is Logger<unknown, unknown> => Predicate
141
137
  *
142
138
  * **Example** (Accessing current loggers)
143
139
  *
144
- * ```ts
140
+ * ```ts import.meta.vitest
145
141
  * import { Effect, Logger } from "effect"
146
142
  *
147
- * // Access current loggers from fiber context
143
+ * const messages: Array<unknown> = []
144
+ * const customLogger = Logger.make((options) => {
145
+ * messages.push(options.message)
146
+ * })
148
147
  * const program = Effect.gen(function*() {
149
148
  * const currentLoggers = yield* Effect.service(Logger.CurrentLoggers)
150
- * console.log(`Number of active loggers: ${currentLoggers.size}`)
151
- *
152
- * // Add a custom logger to the set
153
- * const customLogger = Logger.make((options) => {
154
- * console.log(`Custom: ${options.message}`)
155
- * })
156
- *
157
149
  * yield* Effect.log("Hello from custom logger").pipe(
158
150
  * Effect.provide(Logger.layer([customLogger]))
159
151
  * )
152
+ * return currentLoggers.has(Logger.defaultLogger)
160
153
  * })
154
+ *
155
+ * Effect.runSync(program) // => true
156
+ * messages // => [["Hello from custom logger"]]
161
157
  * ```
162
158
  *
163
- * @category references
159
+ * @category services
164
160
  * @since 4.0.0
165
161
  */
166
162
  export const CurrentLoggers: Context.Reference<ReadonlySet<Logger<unknown, any>>> = effect.CurrentLoggers
@@ -183,7 +179,7 @@ export const CurrentLoggers: Context.Reference<ReadonlySet<Logger<unknown, any>>
183
179
  * @see {@link consolePretty} for the TTY-mode pretty console logger affected by this reference
184
180
  * @see {@link withConsoleError} for routing a specific formatter logger to `console.error`
185
181
  *
186
- * @category references
182
+ * @category services
187
183
  * @since 4.0.0
188
184
  */
189
185
  export const LogToStderr: Context.Reference<boolean> = effect.LogToStderr
@@ -198,27 +194,24 @@ export const LogToStderr: Context.Reference<boolean> = effect.LogToStderr
198
194
  *
199
195
  * **Example** (Transforming logger output)
200
196
  *
201
- * ```ts
202
- * import { Logger } from "effect"
197
+ * ```ts import.meta.vitest
198
+ * import { Effect, Logger } from "effect"
203
199
  *
204
- * // Create a logger that outputs objects
200
+ * const outputs: Array<unknown> = []
205
201
  * const structuredLogger = Logger.make((options) => ({
206
- * level: options.logLevel,
207
- * message: options.message,
208
- * timestamp: options.date.toISOString()
202
+ * message: options.message
209
203
  * }))
210
204
  *
211
- * // Transform the output to JSON strings
212
- * const jsonStringLogger = Logger.map(
213
- * structuredLogger,
214
- * (output) => JSON.stringify(output)
215
- * )
216
- *
217
205
  * // Transform to uppercase messages
218
206
  * const uppercaseLogger = Logger.map(
219
207
  * structuredLogger,
220
208
  * (output) => ({ ...output, message: String(output.message).toUpperCase() })
221
209
  * )
210
+ *
211
+ * const collector = Logger.make((options) => outputs.push(uppercaseLogger.log(options)))
212
+ * const program = Effect.log("hello").pipe(Effect.provide(Logger.layer([collector])))
213
+ * Effect.runSync(program)
214
+ * outputs // => [{ message: "HELLO" }]
222
215
  * ```
223
216
  *
224
217
  * @category mapping
@@ -235,27 +228,24 @@ export const map = dual<
235
228
  *
236
229
  * **Example** (Transforming logger output)
237
230
  *
238
- * ```ts
239
- * import { Logger } from "effect"
231
+ * ```ts import.meta.vitest
232
+ * import { Effect, Logger } from "effect"
240
233
  *
241
- * // Create a logger that outputs objects
234
+ * const outputs: Array<unknown> = []
242
235
  * const structuredLogger = Logger.make((options) => ({
243
- * level: options.logLevel,
244
- * message: options.message,
245
- * timestamp: options.date.toISOString()
236
+ * message: options.message
246
237
  * }))
247
238
  *
248
- * // Transform the output to JSON strings
249
- * const jsonStringLogger = Logger.map(
250
- * structuredLogger,
251
- * (output) => JSON.stringify(output)
252
- * )
253
- *
254
239
  * // Transform to uppercase messages
255
240
  * const uppercaseLogger = Logger.map(
256
241
  * structuredLogger,
257
242
  * (output) => ({ ...output, message: String(output.message).toUpperCase() })
258
243
  * )
244
+ *
245
+ * const collector = Logger.make((options) => outputs.push(uppercaseLogger.log(options)))
246
+ * const program = Effect.log("hello").pipe(Effect.provide(Logger.layer([collector])))
247
+ * Effect.runSync(program)
248
+ * outputs // => [{ message: "HELLO" }]
259
249
  * ```
260
250
  *
261
251
  * @category mapping
@@ -274,27 +264,24 @@ export const map = dual<
274
264
  *
275
265
  * **Example** (Transforming logger output)
276
266
  *
277
- * ```ts
278
- * import { Logger } from "effect"
267
+ * ```ts import.meta.vitest
268
+ * import { Effect, Logger } from "effect"
279
269
  *
280
- * // Create a logger that outputs objects
270
+ * const outputs: Array<unknown> = []
281
271
  * const structuredLogger = Logger.make((options) => ({
282
- * level: options.logLevel,
283
- * message: options.message,
284
- * timestamp: options.date.toISOString()
272
+ * message: options.message
285
273
  * }))
286
274
  *
287
- * // Transform the output to JSON strings
288
- * const jsonStringLogger = Logger.map(
289
- * structuredLogger,
290
- * (output) => JSON.stringify(output)
291
- * )
292
- *
293
275
  * // Transform to uppercase messages
294
276
  * const uppercaseLogger = Logger.map(
295
277
  * structuredLogger,
296
278
  * (output) => ({ ...output, message: String(output.message).toUpperCase() })
297
279
  * )
280
+ *
281
+ * const collector = Logger.make((options) => outputs.push(uppercaseLogger.log(options)))
282
+ * const program = Effect.log("hello").pipe(Effect.provide(Logger.layer([collector])))
283
+ * Effect.runSync(program)
284
+ * outputs // => [{ message: "HELLO" }]
298
285
  * ```
299
286
  *
300
287
  * @category mapping
@@ -314,20 +301,23 @@ export const map = dual<
314
301
  *
315
302
  * **Example** (Writing logger output with console.log)
316
303
  *
317
- * ```ts
304
+ * ```ts import.meta.vitest
318
305
  * import { Effect, Logger } from "effect"
306
+ * import { TestConsole } from "effect/testing"
319
307
  *
320
308
  * // Create a custom formatter
321
309
  * const customFormatter = Logger.make((options) =>
322
- * `[${options.date.toISOString()}] ${options.logLevel}: ${options.message}`
310
+ * `${options.logLevel}: ${options.message}`
323
311
  * )
324
312
  *
325
- * // Route to console
326
313
  * const consoleLogger = Logger.withConsoleLog(customFormatter)
327
314
  *
328
- * const program = Effect.log("Hello World").pipe(
329
- * Effect.provide(Logger.layer([consoleLogger]))
330
- * )
315
+ * const program = Effect.gen(function*() {
316
+ * yield* Effect.log("Hello World").pipe(Effect.provide(Logger.layer([consoleLogger])))
317
+ * return yield* TestConsole.logLines
318
+ * }).pipe(Effect.provide(TestConsole.layer))
319
+ *
320
+ * await Effect.runPromise(program) // => ["Info: Hello World"]
331
321
  * ```
332
322
  *
333
323
  * @category logging
@@ -351,20 +341,23 @@ export const withConsoleLog = <Message, Output>(
351
341
  *
352
342
  * **Example** (Writing logger output with console.error)
353
343
  *
354
- * ```ts
344
+ * ```ts import.meta.vitest
355
345
  * import { Effect, Logger } from "effect"
346
+ * import { TestConsole } from "effect/testing"
356
347
  *
357
348
  * // Create an error-specific formatter
358
349
  * const errorFormatter = Logger.make((options) =>
359
- * `ERROR [${options.date.toISOString()}]: ${options.message}`
350
+ * `ERROR: ${options.message}`
360
351
  * )
361
352
  *
362
- * // Route to console.error
363
353
  * const errorLogger = Logger.withConsoleError(errorFormatter)
364
354
  *
365
- * const program = Effect.logError("Database connection failed").pipe(
366
- * Effect.provide(Logger.layer([errorLogger]))
367
- * )
355
+ * const program = Effect.gen(function*() {
356
+ * yield* Effect.logError("Database connection failed").pipe(Effect.provide(Logger.layer([errorLogger])))
357
+ * return yield* TestConsole.errorLines
358
+ * }).pipe(Effect.provide(TestConsole.layer))
359
+ *
360
+ * await Effect.runPromise(program) // => ["ERROR: Database connection failed"]
368
361
  * ```
369
362
  *
370
363
  * @category logging
@@ -392,9 +385,15 @@ export const withConsoleError = <Message, Output>(
392
385
  *
393
386
  * **Example** (Writing logs with level-based console methods)
394
387
  *
395
- * ```ts
396
- * import { Effect, Logger } from "effect"
388
+ * ```ts import.meta.vitest
389
+ * import { Console, Effect, Logger } from "effect"
397
390
  *
391
+ * const messages: Array<ReadonlyArray<unknown>> = []
392
+ * const testConsole: Console.Console = Object.assign(Object.create(console), {
393
+ * info: (message: unknown) => messages.push(["info", message]),
394
+ * warn: (message: unknown) => messages.push(["warn", message]),
395
+ * error: (message: unknown) => messages.push(["error", message])
396
+ * })
398
397
  * const formatter = Logger.make((options) =>
399
398
  * `[${options.logLevel}] ${options.message}`
400
399
  * )
@@ -405,10 +404,14 @@ export const withConsoleError = <Message, Output>(
405
404
  * yield* Effect.logInfo("Info message") // -> console.info
406
405
  * yield* Effect.logWarning("Warning") // -> console.warn
407
406
  * yield* Effect.logError("Error occurred") // -> console.error
408
- * yield* Effect.logDebug("Debug info") // -> console.debug
409
- * }).pipe(
410
- * Effect.provide(Logger.layer([leveledLogger]))
411
- * )
407
+ * }).pipe(Effect.provide(Logger.layer([leveledLogger])))
408
+ * Effect.runSync(Effect.provideService(program, Console.Console, testConsole))
409
+ * const expected = [
410
+ * ["info", "[Info] Info message"],
411
+ * ["warn", "[Warn] Warning"],
412
+ * ["error", "[Error] Error occurred"]
413
+ * ]
414
+ * messages // => expected
412
415
  * ```
413
416
  *
414
417
  * @category logging
@@ -507,34 +510,20 @@ const format = (
507
510
  *
508
511
  * **Example** (Creating loggers from functions)
509
512
  *
510
- * ```ts
511
- * import { Effect, Logger, References } from "effect"
513
+ * ```ts import.meta.vitest
514
+ * import { Effect, Logger } from "effect"
512
515
  *
513
- * // Simple text logger
516
+ * const outputs: Array<string> = []
514
517
  * const textLogger = Logger.make((options) =>
515
- * `${options.date.toISOString()} [${options.logLevel}] ${options.message}`
518
+ * `${options.logLevel}: ${options.message}`
516
519
  * )
517
- *
518
- * // Structured object logger
519
- * const objectLogger = Logger.make((options) => ({
520
- * timestamp: options.date.toISOString(),
521
- * level: options.logLevel,
522
- * message: options.message,
523
- * fiberId: options.fiber.id,
524
- * annotations: options.fiber.getRef(References.CurrentLogAnnotations)
525
- * }))
526
- *
527
- * // Custom filtering logger
528
- * const filteredLogger = Logger.make((options) => {
529
- * if (options.logLevel === "Debug") {
530
- * return // Skip debug messages
531
- * }
532
- * return `${options.logLevel}: ${options.message}`
533
- * })
520
+ * const collector = Logger.make((options) => outputs.push(textLogger.log(options)))
534
521
  *
535
522
  * const program = Effect.log("Hello World").pipe(
536
- * Effect.provide(Logger.layer([textLogger]))
523
+ * Effect.provide(Logger.layer([collector]))
537
524
  * )
525
+ * Effect.runSync(program)
526
+ * outputs // => ["Info: Hello World"]
538
527
  * ```
539
528
  *
540
529
  * @category constructors
@@ -549,25 +538,10 @@ export const make: <Message, Output>(
549
538
  *
550
539
  * **Example** (Referencing the default logger)
551
540
  *
552
- * ```ts
553
- * import { Effect, Logger } from "effect"
554
- *
555
- * // Use the default logger (automatically used by Effect runtime)
556
- * const program = Effect.gen(function*() {
557
- * yield* Effect.log("This uses the default logger")
558
- * yield* Effect.logInfo("Info message")
559
- * yield* Effect.logError("Error message")
560
- * })
561
- *
562
- * // Explicitly use the default logger
563
- * const withDefaultLogger = Effect.log("Explicit default").pipe(
564
- * Effect.provide(Logger.layer([Logger.defaultLogger]))
565
- * )
541
+ * ```ts import.meta.vitest
542
+ * import { Logger } from "effect"
566
543
  *
567
- * // Compare with custom logger
568
- * const customLogger = Logger.make((options) => {
569
- * console.log(`CUSTOM: ${options.message}`)
570
- * })
544
+ * Logger.isLogger(Logger.defaultLogger) // => true
571
545
  * ```
572
546
  *
573
547
  * @category constructors
@@ -585,24 +559,24 @@ export const defaultLogger: Logger<unknown, void> = effect.defaultLogger
585
559
  *
586
560
  * **Example** (Formatting logs as simple strings)
587
561
  *
588
- * ```ts
562
+ * ```ts import.meta.vitest
589
563
  * import { Effect, Logger } from "effect"
564
+ * import { TestConsole } from "effect/testing"
590
565
  *
591
566
  * // Use the simple format logger
592
- * const simpleLoggerProgram = Effect.log("Hello Simple Format").pipe(
593
- * Effect.provide(Logger.layer([Logger.formatSimple]))
567
+ * const stableSimple = Logger.map(Logger.formatSimple, (output) =>
568
+ * output
569
+ * .replace(/timestamp=\S+ /, "")
570
+ * .replace(/fiber=#\d+ /, "")
594
571
  * )
595
- *
596
- * // Combine with console output
597
- * const consoleSimpleLogger = Logger.withConsoleLog(Logger.formatSimple)
598
- *
599
572
  * const program = Effect.gen(function*() {
600
- * yield* Effect.log("Application started")
601
- * yield* Effect.logInfo("Processing data")
602
- * yield* Effect.logWarning("Memory usage high")
603
- * }).pipe(
604
- * Effect.provide(Logger.layer([consoleSimpleLogger]))
605
- * )
573
+ * yield* Effect.log("Application started").pipe(
574
+ * Effect.provide(Logger.layer([Logger.withConsoleLog(stableSimple)]))
575
+ * )
576
+ * return yield* TestConsole.logLines
577
+ * }).pipe(Effect.provide(TestConsole.layer))
578
+ *
579
+ * await Effect.runPromise(program) // => ["level=Info message=\"Application started\""]
606
580
  * ```
607
581
  *
608
582
  * @category constructors
@@ -621,27 +595,23 @@ export const formatSimple = effect.loggerMake(format(escapeDoubleQuotes))
621
595
  *
622
596
  * **Example** (Formatting logs as logfmt)
623
597
  *
624
- * ```ts
598
+ * ```ts import.meta.vitest
625
599
  * import { Effect, Logger } from "effect"
600
+ * import { TestConsole } from "effect/testing"
626
601
  *
627
- * // Use the logfmt format logger
628
- * const logfmtLoggerProgram = Effect.log("Hello LogFmt Format").pipe(
629
- * Effect.provide(Logger.layer([Logger.formatLogFmt]))
630
- * )
631
- *
632
- * // Perfect for structured logging systems
633
- * const structuredProgram = Effect.gen(function*() {
634
- * yield* Effect.log("User login", { userId: 123, method: "OAuth" })
635
- * yield* Effect.logInfo("Request processed", {
636
- * duration: 45,
637
- * status: "success"
638
- * })
639
- * }).pipe(
640
- * Effect.provide(Logger.layer([Logger.withConsoleLog(Logger.formatLogFmt)]))
602
+ * const stableLogFmt = Logger.map(Logger.formatLogFmt, (output) =>
603
+ * output
604
+ * .replace(/timestamp=\S+ /, "")
605
+ * .replace(/fiber=#\d+ /, "")
641
606
  * )
607
+ * const program = Effect.gen(function*() {
608
+ * yield* Effect.log("User login").pipe(
609
+ * Effect.provide(Logger.layer([Logger.withConsoleLog(stableLogFmt)]))
610
+ * )
611
+ * return yield* TestConsole.logLines
612
+ * }).pipe(Effect.provide(TestConsole.layer))
642
613
  *
643
- * // Good for log aggregation systems like Splunk, ELK
644
- * const productionLogger = Logger.formatLogFmt
614
+ * await Effect.runPromise(program) // => ["level=Info message=\"User login\""]
645
615
  * ```
646
616
  *
647
617
  * @category constructors
@@ -661,30 +631,22 @@ export const formatLogFmt = effect.loggerMake(format(JSON.stringify, 0))
661
631
  *
662
632
  * **Example** (Formatting logs as structured objects)
663
633
  *
664
- * ```ts
634
+ * ```ts import.meta.vitest
665
635
  * import { Effect, Logger } from "effect"
636
+ * import { TestConsole } from "effect/testing"
666
637
  *
667
- * // Use the structured format logger
668
- * const structuredLoggerProgram = Effect.log("Hello Structured Format").pipe(
669
- * Effect.provide(Logger.layer([Logger.formatStructured]))
670
- * )
671
- *
672
- * // Perfect for JSON processing and analytics
673
- * const analyticsProgram = Effect.gen(function*() {
674
- * yield* Effect.log("User action", { action: "click", element: "button" })
675
- * yield* Effect.logInfo("API call", { endpoint: "/users", duration: 150 })
676
- * }).pipe(
677
- * Effect.annotateLogs("sessionId", "abc123"),
678
- * Effect.withLogSpan("request"),
679
- * Effect.provide(Logger.layer([Logger.formatStructured]))
680
- * )
638
+ * const stableStructured = Logger.map(Logger.formatStructured, (output) => ({
639
+ * message: output.message,
640
+ * level: output.level
641
+ * }))
642
+ * const program = Effect.gen(function*() {
643
+ * yield* Effect.log("User action").pipe(
644
+ * Effect.provide(Logger.layer([Logger.withConsoleLog(stableStructured)]))
645
+ * )
646
+ * return yield* TestConsole.logLines
647
+ * }).pipe(Effect.provide(TestConsole.layer))
681
648
  *
682
- * // Process structured output
683
- * const processingLogger = Logger.map(Logger.formatStructured, (output) => {
684
- * // Process the structured object
685
- * const enhanced = { ...output, processed: true }
686
- * return enhanced
687
- * })
649
+ * await Effect.runPromise(program) // => [{ message: "User action", level: "INFO" }]
688
650
  * ```
689
651
  *
690
652
  * @category constructors
@@ -704,13 +666,13 @@ export const formatStructured: Logger<unknown, {
704
666
 
705
667
  const annotations = fiber.getRef(CurrentLogAnnotations)
706
668
  for (const [key, value] of Object.entries(annotations)) {
707
- annotationsObj[key] = effect.structuredMessage(value)
669
+ InternalRecord.assignProperty(annotationsObj, key, effect.structuredMessage(value))
708
670
  }
709
671
 
710
672
  const now = date.getTime()
711
673
  const spans = fiber.getRef(CurrentLogSpans)
712
674
  for (const [label, timestamp] of spans) {
713
- spansObj[label] = now - timestamp
675
+ InternalRecord.assignProperty(spansObj, label, now - timestamp)
714
676
  }
715
677
 
716
678
  const messageArr = Array.ensure(message)
@@ -739,35 +701,22 @@ export const formatStructured: Logger<unknown, {
739
701
  *
740
702
  * **Example** (Formatting logs as JSON)
741
703
  *
742
- * ```ts
743
- * import { Effect, Logger } from "effect"
744
- *
745
- * // Use the JSON format logger
746
- * const jsonLoggerProgram = Effect.log("Hello JSON Format").pipe(
747
- * Effect.provide(Logger.layer([Logger.formatJson]))
748
- * )
704
+ * ```ts import.meta.vitest
705
+ * import { Effect, Formatter, Logger } from "effect"
706
+ * import { TestConsole } from "effect/testing"
749
707
  *
750
- * // Perfect for log aggregation and processing systems
751
- * const productionProgram = Effect.gen(function*() {
752
- * yield* Effect.log("Server started", { port: 3000, env: "production" })
753
- * yield* Effect.logInfo("Request received", {
754
- * method: "GET",
755
- * path: "/api/users"
756
- * })
757
- * yield* Effect.logError("Database error", { error: "Connection timeout" })
758
- * }).pipe(
759
- * Effect.annotateLogs("service", "api-server"),
760
- * Effect.withLogSpan("request-processing"),
761
- * Effect.provide(Logger.layer([Logger.formatJson]))
762
- * )
763
- *
764
- * // Adapt the JSON string before giving it to an output sink
765
- * const envelopedJsonLogger = Logger.map(
766
- * Logger.formatJson,
767
- * (jsonString) => `{"service":"api-server","entry":${jsonString}}`
768
- * )
708
+ * const stableJson = Logger.map(Logger.formatJson, (json) => {
709
+ * const output = JSON.parse(json)
710
+ * return Formatter.formatJson({ message: output.message, level: output.level })
711
+ * })
712
+ * const program = Effect.gen(function*() {
713
+ * yield* Effect.log("Server started").pipe(
714
+ * Effect.provide(Logger.layer([Logger.withConsoleLog(stableJson)]))
715
+ * )
716
+ * return yield* TestConsole.logLines
717
+ * }).pipe(Effect.provide(TestConsole.layer))
769
718
  *
770
- * const envelopedConsoleLogger = Logger.withConsoleLog(envelopedJsonLogger)
719
+ * await Effect.runPromise(program) // => ["{\"message\":\"Server started\",\"level\":\"INFO\"}"]
771
720
  * ```
772
721
  *
773
722
  * @category constructors
@@ -786,43 +735,26 @@ export const formatJson = map(formatStructured, Formatter.formatJson)
786
735
  *
787
736
  * **Example** (Batching logger output)
788
737
  *
789
- * ```ts
790
- * import { Duration, Effect, Logger } from "effect"
738
+ * ```ts import.meta.vitest
739
+ * import { Effect, Logger } from "effect"
791
740
  *
792
- * // Create a batched logger that flushes every 5 seconds
793
- * const batchedLogger = Logger.batched(Logger.formatJson, {
794
- * window: Duration.seconds(5),
741
+ * const flushed: Array<ReadonlyArray<string>> = []
742
+ * const messageLogger = Logger.make((options) => String(options.message))
743
+ * const batchedLogger = Logger.batched(messageLogger, {
744
+ * window: "1 hour",
795
745
  * flush: (messages) =>
796
746
  * Effect.sync(() => {
797
- * console.log(`Flushing ${messages.length} log entries:`)
798
- * messages.forEach((msg, i) => console.log(`${i + 1}. ${msg}`))
747
+ * flushed.push(messages)
799
748
  * })
800
749
  * })
801
750
  *
802
- * const program = Effect.gen(function*() {
751
+ * const program = Effect.scoped(Effect.gen(function*() {
803
752
  * const logger = yield* batchedLogger
804
- *
805
- * yield* Effect.provide(
806
- * Effect.all([
807
- * Effect.log("Event 1"),
808
- * Effect.log("Event 2"),
809
- * Effect.log("Event 3"),
810
- * Effect.sleep(Duration.seconds(6)), // Trigger flush
811
- * Effect.log("Event 4")
812
- * ]),
813
- * Logger.layer([logger])
814
- * )
815
- * })
816
- *
817
- * // Remote batch logging example
818
- * const remoteBatchLogger = Logger.batched(Logger.formatStructured, {
819
- * window: Duration.seconds(10),
820
- * flush: (entries) =>
821
- * Effect.sync(() => {
822
- * // Send batch to remote logging service
823
- * console.log(`Sending ${entries.length} log entries to remote service`)
824
- * })
825
- * })
753
+ * yield* Effect.log("Event 1").pipe(Effect.provide(Logger.layer([logger])))
754
+ * yield* Effect.log("Event 2").pipe(Effect.provide(Logger.layer([logger])))
755
+ * }))
756
+ * await Effect.runPromise(program)
757
+ * flushed // => [["Event 1", "Event 2"]]
826
758
  * ```
827
759
  *
828
760
  * @category constructors
@@ -840,43 +772,26 @@ export const batched = dual<
840
772
  *
841
773
  * **Example** (Batching logger output)
842
774
  *
843
- * ```ts
844
- * import { Duration, Effect, Logger } from "effect"
775
+ * ```ts import.meta.vitest
776
+ * import { Effect, Logger } from "effect"
845
777
  *
846
- * // Create a batched logger that flushes every 5 seconds
847
- * const batchedLogger = Logger.batched(Logger.formatJson, {
848
- * window: Duration.seconds(5),
778
+ * const flushed: Array<ReadonlyArray<string>> = []
779
+ * const messageLogger = Logger.make((options) => String(options.message))
780
+ * const batchedLogger = Logger.batched(messageLogger, {
781
+ * window: "1 hour",
849
782
  * flush: (messages) =>
850
783
  * Effect.sync(() => {
851
- * console.log(`Flushing ${messages.length} log entries:`)
852
- * messages.forEach((msg, i) => console.log(`${i + 1}. ${msg}`))
784
+ * flushed.push(messages)
853
785
  * })
854
786
  * })
855
787
  *
856
- * const program = Effect.gen(function*() {
788
+ * const program = Effect.scoped(Effect.gen(function*() {
857
789
  * const logger = yield* batchedLogger
858
- *
859
- * yield* Effect.provide(
860
- * Effect.all([
861
- * Effect.log("Event 1"),
862
- * Effect.log("Event 2"),
863
- * Effect.log("Event 3"),
864
- * Effect.sleep(Duration.seconds(6)), // Trigger flush
865
- * Effect.log("Event 4")
866
- * ]),
867
- * Logger.layer([logger])
868
- * )
869
- * })
870
- *
871
- * // Remote batch logging example
872
- * const remoteBatchLogger = Logger.batched(Logger.formatStructured, {
873
- * window: Duration.seconds(10),
874
- * flush: (entries) =>
875
- * Effect.sync(() => {
876
- * // Send batch to remote logging service
877
- * console.log(`Sending ${entries.length} log entries to remote service`)
878
- * })
879
- * })
790
+ * yield* Effect.log("Event 1").pipe(Effect.provide(Logger.layer([logger])))
791
+ * yield* Effect.log("Event 2").pipe(Effect.provide(Logger.layer([logger])))
792
+ * }))
793
+ * await Effect.runPromise(program)
794
+ * flushed // => [["Event 1", "Event 2"]]
880
795
  * ```
881
796
  *
882
797
  * @category constructors
@@ -901,43 +816,26 @@ export const batched = dual<
901
816
  *
902
817
  * **Example** (Batching logger output)
903
818
  *
904
- * ```ts
905
- * import { Duration, Effect, Logger } from "effect"
819
+ * ```ts import.meta.vitest
820
+ * import { Effect, Logger } from "effect"
906
821
  *
907
- * // Create a batched logger that flushes every 5 seconds
908
- * const batchedLogger = Logger.batched(Logger.formatJson, {
909
- * window: Duration.seconds(5),
822
+ * const flushed: Array<ReadonlyArray<string>> = []
823
+ * const messageLogger = Logger.make((options) => String(options.message))
824
+ * const batchedLogger = Logger.batched(messageLogger, {
825
+ * window: "1 hour",
910
826
  * flush: (messages) =>
911
827
  * Effect.sync(() => {
912
- * console.log(`Flushing ${messages.length} log entries:`)
913
- * messages.forEach((msg, i) => console.log(`${i + 1}. ${msg}`))
828
+ * flushed.push(messages)
914
829
  * })
915
830
  * })
916
831
  *
917
- * const program = Effect.gen(function*() {
832
+ * const program = Effect.scoped(Effect.gen(function*() {
918
833
  * const logger = yield* batchedLogger
919
- *
920
- * yield* Effect.provide(
921
- * Effect.all([
922
- * Effect.log("Event 1"),
923
- * Effect.log("Event 2"),
924
- * Effect.log("Event 3"),
925
- * Effect.sleep(Duration.seconds(6)), // Trigger flush
926
- * Effect.log("Event 4")
927
- * ]),
928
- * Logger.layer([logger])
929
- * )
930
- * })
931
- *
932
- * // Remote batch logging example
933
- * const remoteBatchLogger = Logger.batched(Logger.formatStructured, {
934
- * window: Duration.seconds(10),
935
- * flush: (entries) =>
936
- * Effect.sync(() => {
937
- * // Send batch to remote logging service
938
- * console.log(`Sending ${entries.length} log entries to remote service`)
939
- * })
940
- * })
834
+ * yield* Effect.log("Event 1").pipe(Effect.provide(Logger.layer([logger])))
835
+ * yield* Effect.log("Event 2").pipe(Effect.provide(Logger.layer([logger])))
836
+ * }))
837
+ * await Effect.runPromise(program)
838
+ * flushed // => [["Event 1", "Event 2"]]
941
839
  * ```
942
840
  *
943
841
  * @category constructors
@@ -999,35 +897,11 @@ export const batched = dual<
999
897
  *
1000
898
  * **Example** (Logging with pretty console output)
1001
899
  *
1002
- * ```ts
1003
- * import { Effect, Logger } from "effect"
1004
- *
1005
- * // Use the pretty console logger with default settings
1006
- * const basicPretty = Effect.log("Hello Pretty Format").pipe(
1007
- * Effect.provide(Logger.layer([Logger.consolePretty()]))
1008
- * )
1009
- *
1010
- * // Configure pretty logger options
1011
- * const customPretty = Logger.consolePretty({
1012
- * colors: true,
1013
- * stderr: false,
1014
- * mode: "tty",
1015
- * formatDate: (date) => date.toLocaleTimeString()
1016
- * })
1017
- *
1018
- * // Perfect for development environment
1019
- * const developmentProgram = Effect.gen(function*() {
1020
- * yield* Effect.log("Application starting")
1021
- * yield* Effect.logInfo("Database connected")
1022
- * yield* Effect.logWarning("High memory usage detected")
1023
- * }).pipe(
1024
- * Effect.annotateLogs("environment", "development"),
1025
- * Effect.withLogSpan("startup"),
1026
- * Effect.provide(Logger.layer([customPretty]))
1027
- * )
900
+ * ```ts import.meta.vitest
901
+ * import { Logger } from "effect"
1028
902
  *
1029
- * // Disable colors for CI/CD environments
1030
- * const ciLogger = Logger.consolePretty({ colors: false })
903
+ * const prettyLogger = Logger.consolePretty({ colors: false })
904
+ * Logger.isLogger(prettyLogger) // => true
1031
905
  * ```
1032
906
  *
1033
907
  * @category constructors
@@ -1053,33 +927,10 @@ export const consolePretty: (
1053
927
  *
1054
928
  * **Example** (Logging logfmt output to the console)
1055
929
  *
1056
- * ```ts
1057
- * import { Effect, Logger } from "effect"
1058
- *
1059
- * // Use the console logfmt logger
1060
- * const logfmtProgram = Effect.log("Hello LogFmt Console").pipe(
1061
- * Effect.provide(Logger.layer([Logger.consoleLogFmt]))
1062
- * )
1063
- *
1064
- * // Great for production environments
1065
- * const productionProgram = Effect.gen(function*() {
1066
- * yield* Effect.log("Server started", { port: 8080, version: "1.0.0" })
1067
- * yield* Effect.logInfo("Request processed", { userId: 123, duration: 45 })
1068
- * yield* Effect.logError("Validation failed", {
1069
- * field: "email",
1070
- * value: "invalid"
1071
- * })
1072
- * }).pipe(
1073
- * Effect.annotateLogs("service", "api"),
1074
- * Effect.withLogSpan("request-handler"),
1075
- * Effect.provide(Logger.layer([Logger.consoleLogFmt]))
1076
- * )
930
+ * ```ts import.meta.vitest
931
+ * import { Logger } from "effect"
1077
932
  *
1078
- * // Combine with other loggers
1079
- * const multiLoggerLive = Logger.layer([
1080
- * Logger.consoleLogFmt,
1081
- * Logger.consolePretty()
1082
- * ])
933
+ * Logger.isLogger(Logger.consoleLogFmt) // => true
1083
934
  * ```
1084
935
  *
1085
936
  * @category constructors
@@ -1101,41 +952,10 @@ export const consoleLogFmt: Logger<unknown, void> = withConsoleLog(formatLogFmt)
1101
952
  *
1102
953
  * **Example** (Logging structured output to the console)
1103
954
  *
1104
- * ```ts
1105
- * import { Effect, Logger } from "effect"
1106
- *
1107
- * // Use the console structured logger
1108
- * const structuredProgram = Effect.log("Hello Structured Console").pipe(
1109
- * Effect.provide(Logger.layer([Logger.consoleStructured]))
1110
- * )
1111
- *
1112
- * // Perfect for development debugging
1113
- * const debugProgram = Effect.gen(function*() {
1114
- * yield* Effect.log("User event", {
1115
- * userId: 123,
1116
- * action: "login",
1117
- * ip: "192.168.1.1"
1118
- * })
1119
- * yield* Effect.logInfo("API call", {
1120
- * endpoint: "/users",
1121
- * method: "GET",
1122
- * duration: 120
1123
- * })
1124
- * }).pipe(
1125
- * Effect.annotateLogs("requestId", "req-123"),
1126
- * Effect.withLogSpan("authentication"),
1127
- * Effect.provide(Logger.layer([Logger.consoleStructured]))
1128
- * )
955
+ * ```ts import.meta.vitest
956
+ * import { Logger } from "effect"
1129
957
  *
1130
- * // Easy to parse and inspect object structure
1131
- * const inspectionProgram = Effect.gen(function*() {
1132
- * yield* Effect.log("Complex data", {
1133
- * user: { id: 1, name: "John" },
1134
- * metadata: { source: "api", version: 2 }
1135
- * })
1136
- * }).pipe(
1137
- * Effect.provide(Logger.layer([Logger.consoleStructured]))
1138
- * )
958
+ * Logger.isLogger(Logger.consoleStructured) // => true
1139
959
  * ```
1140
960
  *
1141
961
  * @category constructors
@@ -1155,46 +975,10 @@ export const consoleStructured: Logger<unknown, void> = withConsoleLog(formatStr
1155
975
  *
1156
976
  * **Example** (Logging JSON output to the console)
1157
977
  *
1158
- * ```ts
1159
- * import { Effect, Logger } from "effect"
1160
- *
1161
- * // Use the console JSON logger
1162
- * const jsonProgram = Effect.log("Hello JSON Console").pipe(
1163
- * Effect.provide(Logger.layer([Logger.consoleJson]))
1164
- * )
1165
- *
1166
- * // Perfect for production logging and log aggregation
1167
- * const productionProgram = Effect.gen(function*() {
1168
- * yield* Effect.log("Server started", { port: 3000, env: "production" })
1169
- * yield* Effect.logInfo("Request", {
1170
- * method: "POST",
1171
- * url: "/api/users",
1172
- * body: { name: "Alice" }
1173
- * })
1174
- * yield* Effect.logError("Database error", {
1175
- * error: "Connection timeout",
1176
- * retryCount: 3
1177
- * })
1178
- * }).pipe(
1179
- * Effect.annotateLogs("service", "user-api"),
1180
- * Effect.annotateLogs("version", "1.2.3"),
1181
- * Effect.withLogSpan("request-processing"),
1182
- * Effect.provide(Logger.layer([Logger.consoleJson]))
1183
- * )
978
+ * ```ts import.meta.vitest
979
+ * import { Logger } from "effect"
1184
980
  *
1185
- * // Easy to pipe to log aggregation services
1186
- * const productionSetup = Logger.layer([
1187
- * Logger.consoleJson, // For stdout JSON logs
1188
- * Logger.consolePretty() // For local debugging
1189
- * ])
1190
- *
1191
- * // Ideal for containerized environments (Docker, Kubernetes)
1192
- * const containerProgram = Effect.log("Container ready", {
1193
- * containerId: "abc123",
1194
- * image: "myapp:latest"
1195
- * }).pipe(
1196
- * Effect.provide(Logger.layer([Logger.consoleJson]))
1197
- * )
981
+ * Logger.isLogger(Logger.consoleJson) // => true
1198
982
  * ```
1199
983
  *
1200
984
  * @category constructors
@@ -1217,40 +1001,14 @@ export const consoleJson: Logger<unknown, void> = withConsoleLog(formatJson)
1217
1001
  *
1218
1002
  * **Example** (Recording logs as trace span events)
1219
1003
  *
1220
- * ```ts
1004
+ * ```ts import.meta.vitest
1221
1005
  * import { Effect, Logger } from "effect"
1222
1006
  *
1223
- * // Tracer logger is included by default - logs automatically become span events
1224
- * const defaultProgram = Effect.gen(function*() {
1225
- * yield* Effect.log("This automatically becomes a span event")
1226
- * yield* Effect.logInfo("Processing data")
1227
- * })
1228
- *
1229
- * // Explicitly combine tracer logger with other loggers
1230
- * const observabilityProgram = Effect.gen(function*() {
1231
- * yield* Effect.log("Operation started")
1232
- * yield* Effect.logInfo("Processing data")
1233
- * yield* Effect.logError("Error occurred")
1234
- * }).pipe(
1235
- * Effect.withLogSpan("data-processing"),
1236
- * Effect.provide(Logger.layer([
1237
- * Logger.tracerLogger,
1238
- * Logger.consoleJson
1239
- * ]))
1240
- * )
1241
- *
1242
- * // Perfect for correlating logs with traces in distributed systems
1243
- * const distributedProgram = Effect.gen(function*() {
1244
- * yield* Effect.log("Step 1: Fetching user data")
1245
- * yield* Effect.sleep("100 millis")
1246
- * yield* Effect.log("Step 2: Processing payment")
1247
- * yield* Effect.sleep("200 millis")
1248
- * yield* Effect.log("Step 3: Sending confirmation")
1249
- * }).pipe(
1250
- * Effect.withLogSpan("payment-workflow"),
1251
- * Effect.annotateLogs("userId", "user-123"),
1007
+ * const program = Effect.log("span event").pipe(
1008
+ * Effect.withSpan("operation"),
1252
1009
  * Effect.provide(Logger.layer([Logger.tracerLogger]))
1253
1010
  * )
1011
+ * Effect.runSync(program)
1254
1012
  * ```
1255
1013
  *
1256
1014
  * @category constructors
@@ -1269,37 +1027,23 @@ export const tracerLogger: Logger<unknown, void> = effect.tracerLogger
1269
1027
  *
1270
1028
  * **Example** (Providing logger layers)
1271
1029
  *
1272
- * ```ts
1030
+ * ```ts import.meta.vitest
1273
1031
  * import { Effect, Logger } from "effect"
1274
1032
  *
1275
- * // Single logger layer
1276
- * const JsonLoggerLive = Logger.layer([Logger.consoleJson])
1277
- *
1278
- * // Multiple loggers layer
1279
- * const MultiLoggerLive = Logger.layer([
1280
- * Logger.consoleJson,
1281
- * Logger.consolePretty(),
1282
- * Logger.formatStructured
1283
- * ])
1284
- *
1285
- * // Merge with existing loggers
1286
- * const AdditionalLoggerLive = Logger.layer(
1287
- * [Logger.consoleJson],
1288
- * { mergeWithExisting: true }
1289
- * )
1290
- *
1291
- * // Using multiple logger formats
1292
- * const jsonLogger = Logger.consoleJson
1293
- * const prettyLogger = Logger.consolePretty()
1294
- *
1295
- * const CustomLoggerLive = Logger.layer([jsonLogger, prettyLogger])
1033
+ * const messages: Array<unknown> = []
1034
+ * const customLogger = Logger.make((options) => {
1035
+ * messages.push(options.message)
1036
+ * })
1037
+ * const CustomLoggerLive = Logger.layer([customLogger])
1296
1038
  *
1297
1039
  * const program = Effect.log("Application started").pipe(
1298
1040
  * Effect.provide(CustomLoggerLive)
1299
1041
  * )
1042
+ * Effect.runSync(program)
1043
+ * messages // => [["Application started"]]
1300
1044
  * ```
1301
1045
  *
1302
- * @category context
1046
+ * @category layers
1303
1047
  * @since 4.0.0
1304
1048
  */
1305
1049
  export const layer = <
@@ -1337,91 +1081,59 @@ export const layer = <
1337
1081
  *
1338
1082
  * **Example** (Writing JSON logs to a file)
1339
1083
  *
1340
- * ```ts
1341
- * import { Effect, Layer, Logger } from "effect"
1342
- * import { NodeFileSystem, NodeRuntime } from "@effect/platform-node"
1343
- *
1344
- * const fileLogger = Logger.formatJson.pipe(
1345
- * Logger.toFile("/tmp/log.txt")
1346
- * )
1347
- * const LoggerLive = Logger.layer([fileLogger]).pipe(
1348
- * Layer.provide(NodeFileSystem.layer)
1349
- * )
1084
+ * ```ts import.meta.vitest
1085
+ * import { Effect, FileSystem, Logger } from "effect"
1350
1086
  *
1351
- * Effect.log("a").pipe(
1352
- * Effect.andThen(Effect.log("b")),
1353
- * Effect.andThen(Effect.log("c")),
1354
- * Effect.provide(LoggerLive),
1355
- * NodeRuntime.runMain
1356
- * )
1087
+ * const writes: Array<string> = []
1088
+ * const file = {
1089
+ * write: (buffer: Uint8Array) => Effect.sync(() => {
1090
+ * writes.push(new TextDecoder().decode(buffer).trim())
1091
+ * return FileSystem.Size(buffer.length)
1092
+ * })
1093
+ * } as unknown as FileSystem.File
1094
+ * const fileSystem = FileSystem.makeNoop({ open: () => Effect.succeed(file) })
1095
+ * const messageLogger = Logger.make((options) => String(options.message))
1096
+ *
1097
+ * const program = Effect.scoped(Effect.gen(function*() {
1098
+ * const fileLogger = yield* Logger.toFile(messageLogger, "/tmp/log.txt")
1099
+ * yield* Effect.log("a").pipe(Effect.provide(Logger.layer([fileLogger])))
1100
+ * yield* Effect.log("b").pipe(Effect.provide(Logger.layer([fileLogger])))
1101
+ * yield* Effect.log("c").pipe(Effect.provide(Logger.layer([fileLogger])))
1102
+ * })).pipe(Effect.provideService(FileSystem.FileSystem, fileSystem))
1103
+ *
1104
+ * await Effect.runPromise(program)
1105
+ * writes // => ["a\nb\nc"]
1357
1106
  * ```
1358
1107
  *
1359
1108
  * **Example** (Writing logs to files)
1360
1109
  *
1361
- * ```ts
1362
- * import { Duration, Effect, Logger } from "effect"
1363
- * import { NodeFileSystem } from "@effect/platform-node"
1364
- *
1365
- * // Basic file logging. The scope keeps the file open while logs are emitted
1366
- * // and flushes pending entries when it closes.
1367
- * const basicFileLogger = Effect.scoped(
1368
- * Effect.gen(function*() {
1369
- * const fileLogger = yield* Logger.formatJson.pipe(
1370
- * Logger.toFile("/tmp/app.log")
1371
- * )
1372
- *
1373
- * yield* Effect.log("Application started").pipe(
1374
- * Effect.provide(Logger.layer([fileLogger]))
1375
- * )
1376
- * })
1377
- * ).pipe(
1378
- * Effect.provide(NodeFileSystem.layer)
1379
- * )
1110
+ * ```ts import.meta.vitest
1111
+ * import { Effect, FileSystem, Logger } from "effect"
1380
1112
  *
1381
- * // File logger with custom batch window
1382
- * const batchedFileLogger = Effect.scoped(
1383
- * Effect.gen(function*() {
1384
- * const fileLogger = yield* Logger.formatLogFmt.pipe(
1385
- * Logger.toFile("/var/log/myapp.log", {
1386
- * flag: "a",
1387
- * batchWindow: Duration.seconds(5)
1388
- * })
1389
- * )
1390
- *
1391
- * yield* Effect.all([
1392
- * Effect.log("Event 1"),
1393
- * Effect.log("Event 2"),
1394
- * Effect.log("Event 3")
1395
- * ]).pipe(
1396
- * Effect.provide(Logger.layer([fileLogger]))
1397
- * )
1113
+ * const writes: Array<string> = []
1114
+ * const file = {
1115
+ * write: (buffer: Uint8Array) => Effect.sync(() => {
1116
+ * writes.push(new TextDecoder().decode(buffer).trim())
1117
+ * return FileSystem.Size(buffer.length)
1398
1118
  * })
1399
- * ).pipe(
1400
- * Effect.provide(NodeFileSystem.layer)
1401
- * )
1119
+ * } as unknown as FileSystem.File
1120
+ * const fileSystem = FileSystem.makeNoop({ open: () => Effect.succeed(file) })
1121
+ * const messageLogger = Logger.make((options) => String(options.message))
1402
1122
  *
1403
- * // Multiple loggers: console + file
1404
- * const multiLogger = Effect.scoped(
1405
- * Effect.gen(function*() {
1406
- * const fileLogger = yield* Logger.formatJson.pipe(
1407
- * Logger.toFile("/tmp/production.log")
1408
- * )
1409
- *
1410
- * const loggerLive = Logger.layer([
1411
- * Logger.consolePretty(),
1412
- * fileLogger
1413
- * ])
1414
- *
1415
- * yield* Effect.log("Production event").pipe(
1416
- * Effect.provide(loggerLive)
1417
- * )
1123
+ * const program = Effect.scoped(Effect.gen(function*() {
1124
+ * const fileLogger = yield* Logger.toFile(messageLogger, "/tmp/app.log", {
1125
+ * batchWindow: "1 hour"
1418
1126
  * })
1419
- * ).pipe(
1420
- * Effect.provide(NodeFileSystem.layer)
1421
- * )
1127
+ * yield* Effect.log("Application started").pipe(
1128
+ * Effect.provide(Logger.layer([fileLogger]))
1129
+ * )
1130
+ * })).pipe(Effect.provideService(FileSystem.FileSystem, fileSystem))
1131
+ *
1132
+ * await Effect.runPromise(program)
1133
+ * writes // => ["Application started"]
1422
1134
  * ```
1423
1135
  *
1424
- * @category file
1136
+ * @category logging
1425
1137
  * @since 4.0.0
1426
1138
  */
1427
1139
  export const toFile = dual<
@@ -1436,91 +1148,59 @@ export const toFile = dual<
1436
1148
  *
1437
1149
  * **Example** (Writing JSON logs to a file)
1438
1150
  *
1439
- * ```ts
1440
- * import { Effect, Layer, Logger } from "effect"
1441
- * import { NodeFileSystem, NodeRuntime } from "@effect/platform-node"
1442
- *
1443
- * const fileLogger = Logger.formatJson.pipe(
1444
- * Logger.toFile("/tmp/log.txt")
1445
- * )
1446
- * const LoggerLive = Logger.layer([fileLogger]).pipe(
1447
- * Layer.provide(NodeFileSystem.layer)
1448
- * )
1151
+ * ```ts import.meta.vitest
1152
+ * import { Effect, FileSystem, Logger } from "effect"
1449
1153
  *
1450
- * Effect.log("a").pipe(
1451
- * Effect.andThen(Effect.log("b")),
1452
- * Effect.andThen(Effect.log("c")),
1453
- * Effect.provide(LoggerLive),
1454
- * NodeRuntime.runMain
1455
- * )
1154
+ * const writes: Array<string> = []
1155
+ * const file = {
1156
+ * write: (buffer: Uint8Array) => Effect.sync(() => {
1157
+ * writes.push(new TextDecoder().decode(buffer).trim())
1158
+ * return FileSystem.Size(buffer.length)
1159
+ * })
1160
+ * } as unknown as FileSystem.File
1161
+ * const fileSystem = FileSystem.makeNoop({ open: () => Effect.succeed(file) })
1162
+ * const messageLogger = Logger.make((options) => String(options.message))
1163
+ *
1164
+ * const program = Effect.scoped(Effect.gen(function*() {
1165
+ * const fileLogger = yield* Logger.toFile(messageLogger, "/tmp/log.txt")
1166
+ * yield* Effect.log("a").pipe(Effect.provide(Logger.layer([fileLogger])))
1167
+ * yield* Effect.log("b").pipe(Effect.provide(Logger.layer([fileLogger])))
1168
+ * yield* Effect.log("c").pipe(Effect.provide(Logger.layer([fileLogger])))
1169
+ * })).pipe(Effect.provideService(FileSystem.FileSystem, fileSystem))
1170
+ *
1171
+ * await Effect.runPromise(program)
1172
+ * writes // => ["a\nb\nc"]
1456
1173
  * ```
1457
1174
  *
1458
1175
  * **Example** (Writing logs to files)
1459
1176
  *
1460
- * ```ts
1461
- * import { Duration, Effect, Logger } from "effect"
1462
- * import { NodeFileSystem } from "@effect/platform-node"
1177
+ * ```ts import.meta.vitest
1178
+ * import { Effect, FileSystem, Logger } from "effect"
1463
1179
  *
1464
- * // Basic file logging. The scope keeps the file open while logs are emitted
1465
- * // and flushes pending entries when it closes.
1466
- * const basicFileLogger = Effect.scoped(
1467
- * Effect.gen(function*() {
1468
- * const fileLogger = yield* Logger.formatJson.pipe(
1469
- * Logger.toFile("/tmp/app.log")
1470
- * )
1471
- *
1472
- * yield* Effect.log("Application started").pipe(
1473
- * Effect.provide(Logger.layer([fileLogger]))
1474
- * )
1180
+ * const writes: Array<string> = []
1181
+ * const file = {
1182
+ * write: (buffer: Uint8Array) => Effect.sync(() => {
1183
+ * writes.push(new TextDecoder().decode(buffer).trim())
1184
+ * return FileSystem.Size(buffer.length)
1475
1185
  * })
1476
- * ).pipe(
1477
- * Effect.provide(NodeFileSystem.layer)
1478
- * )
1479
- *
1480
- * // File logger with custom batch window
1481
- * const batchedFileLogger = Effect.scoped(
1482
- * Effect.gen(function*() {
1483
- * const fileLogger = yield* Logger.formatLogFmt.pipe(
1484
- * Logger.toFile("/var/log/myapp.log", {
1485
- * flag: "a",
1486
- * batchWindow: Duration.seconds(5)
1487
- * })
1488
- * )
1186
+ * } as unknown as FileSystem.File
1187
+ * const fileSystem = FileSystem.makeNoop({ open: () => Effect.succeed(file) })
1188
+ * const messageLogger = Logger.make((options) => String(options.message))
1489
1189
  *
1490
- * yield* Effect.all([
1491
- * Effect.log("Event 1"),
1492
- * Effect.log("Event 2"),
1493
- * Effect.log("Event 3")
1494
- * ]).pipe(
1495
- * Effect.provide(Logger.layer([fileLogger]))
1496
- * )
1190
+ * const program = Effect.scoped(Effect.gen(function*() {
1191
+ * const fileLogger = yield* Logger.toFile(messageLogger, "/tmp/app.log", {
1192
+ * batchWindow: "1 hour"
1497
1193
  * })
1498
- * ).pipe(
1499
- * Effect.provide(NodeFileSystem.layer)
1500
- * )
1501
- *
1502
- * // Multiple loggers: console + file
1503
- * const multiLogger = Effect.scoped(
1504
- * Effect.gen(function*() {
1505
- * const fileLogger = yield* Logger.formatJson.pipe(
1506
- * Logger.toFile("/tmp/production.log")
1507
- * )
1508
- *
1509
- * const loggerLive = Logger.layer([
1510
- * Logger.consolePretty(),
1511
- * fileLogger
1512
- * ])
1194
+ * yield* Effect.log("Application started").pipe(
1195
+ * Effect.provide(Logger.layer([fileLogger]))
1196
+ * )
1197
+ * })).pipe(Effect.provideService(FileSystem.FileSystem, fileSystem))
1513
1198
  *
1514
- * yield* Effect.log("Production event").pipe(
1515
- * Effect.provide(loggerLive)
1516
- * )
1517
- * })
1518
- * ).pipe(
1519
- * Effect.provide(NodeFileSystem.layer)
1520
- * )
1199
+ * await Effect.runPromise(program)
1200
+ * writes // => ["Application started"]
1521
1201
  * ```
1522
1202
  *
1523
- * @category file
1203
+ * @category logging
1524
1204
  * @since 4.0.0
1525
1205
  */
1526
1206
  (
@@ -1544,91 +1224,59 @@ export const toFile = dual<
1544
1224
  *
1545
1225
  * **Example** (Writing JSON logs to a file)
1546
1226
  *
1547
- * ```ts
1548
- * import { Effect, Layer, Logger } from "effect"
1549
- * import { NodeFileSystem, NodeRuntime } from "@effect/platform-node"
1550
- *
1551
- * const fileLogger = Logger.formatJson.pipe(
1552
- * Logger.toFile("/tmp/log.txt")
1553
- * )
1554
- * const LoggerLive = Logger.layer([fileLogger]).pipe(
1555
- * Layer.provide(NodeFileSystem.layer)
1556
- * )
1227
+ * ```ts import.meta.vitest
1228
+ * import { Effect, FileSystem, Logger } from "effect"
1557
1229
  *
1558
- * Effect.log("a").pipe(
1559
- * Effect.andThen(Effect.log("b")),
1560
- * Effect.andThen(Effect.log("c")),
1561
- * Effect.provide(LoggerLive),
1562
- * NodeRuntime.runMain
1563
- * )
1230
+ * const writes: Array<string> = []
1231
+ * const file = {
1232
+ * write: (buffer: Uint8Array) => Effect.sync(() => {
1233
+ * writes.push(new TextDecoder().decode(buffer).trim())
1234
+ * return FileSystem.Size(buffer.length)
1235
+ * })
1236
+ * } as unknown as FileSystem.File
1237
+ * const fileSystem = FileSystem.makeNoop({ open: () => Effect.succeed(file) })
1238
+ * const messageLogger = Logger.make((options) => String(options.message))
1239
+ *
1240
+ * const program = Effect.scoped(Effect.gen(function*() {
1241
+ * const fileLogger = yield* Logger.toFile(messageLogger, "/tmp/log.txt")
1242
+ * yield* Effect.log("a").pipe(Effect.provide(Logger.layer([fileLogger])))
1243
+ * yield* Effect.log("b").pipe(Effect.provide(Logger.layer([fileLogger])))
1244
+ * yield* Effect.log("c").pipe(Effect.provide(Logger.layer([fileLogger])))
1245
+ * })).pipe(Effect.provideService(FileSystem.FileSystem, fileSystem))
1246
+ *
1247
+ * await Effect.runPromise(program)
1248
+ * writes // => ["a\nb\nc"]
1564
1249
  * ```
1565
1250
  *
1566
1251
  * **Example** (Writing logs to files)
1567
1252
  *
1568
- * ```ts
1569
- * import { Duration, Effect, Logger } from "effect"
1570
- * import { NodeFileSystem } from "@effect/platform-node"
1571
- *
1572
- * // Basic file logging. The scope keeps the file open while logs are emitted
1573
- * // and flushes pending entries when it closes.
1574
- * const basicFileLogger = Effect.scoped(
1575
- * Effect.gen(function*() {
1576
- * const fileLogger = yield* Logger.formatJson.pipe(
1577
- * Logger.toFile("/tmp/app.log")
1578
- * )
1253
+ * ```ts import.meta.vitest
1254
+ * import { Effect, FileSystem, Logger } from "effect"
1579
1255
  *
1580
- * yield* Effect.log("Application started").pipe(
1581
- * Effect.provide(Logger.layer([fileLogger]))
1582
- * )
1256
+ * const writes: Array<string> = []
1257
+ * const file = {
1258
+ * write: (buffer: Uint8Array) => Effect.sync(() => {
1259
+ * writes.push(new TextDecoder().decode(buffer).trim())
1260
+ * return FileSystem.Size(buffer.length)
1583
1261
  * })
1584
- * ).pipe(
1585
- * Effect.provide(NodeFileSystem.layer)
1586
- * )
1587
- *
1588
- * // File logger with custom batch window
1589
- * const batchedFileLogger = Effect.scoped(
1590
- * Effect.gen(function*() {
1591
- * const fileLogger = yield* Logger.formatLogFmt.pipe(
1592
- * Logger.toFile("/var/log/myapp.log", {
1593
- * flag: "a",
1594
- * batchWindow: Duration.seconds(5)
1595
- * })
1596
- * )
1262
+ * } as unknown as FileSystem.File
1263
+ * const fileSystem = FileSystem.makeNoop({ open: () => Effect.succeed(file) })
1264
+ * const messageLogger = Logger.make((options) => String(options.message))
1597
1265
  *
1598
- * yield* Effect.all([
1599
- * Effect.log("Event 1"),
1600
- * Effect.log("Event 2"),
1601
- * Effect.log("Event 3")
1602
- * ]).pipe(
1603
- * Effect.provide(Logger.layer([fileLogger]))
1604
- * )
1266
+ * const program = Effect.scoped(Effect.gen(function*() {
1267
+ * const fileLogger = yield* Logger.toFile(messageLogger, "/tmp/app.log", {
1268
+ * batchWindow: "1 hour"
1605
1269
  * })
1606
- * ).pipe(
1607
- * Effect.provide(NodeFileSystem.layer)
1608
- * )
1609
- *
1610
- * // Multiple loggers: console + file
1611
- * const multiLogger = Effect.scoped(
1612
- * Effect.gen(function*() {
1613
- * const fileLogger = yield* Logger.formatJson.pipe(
1614
- * Logger.toFile("/tmp/production.log")
1615
- * )
1616
- *
1617
- * const loggerLive = Logger.layer([
1618
- * Logger.consolePretty(),
1619
- * fileLogger
1620
- * ])
1270
+ * yield* Effect.log("Application started").pipe(
1271
+ * Effect.provide(Logger.layer([fileLogger]))
1272
+ * )
1273
+ * })).pipe(Effect.provideService(FileSystem.FileSystem, fileSystem))
1621
1274
  *
1622
- * yield* Effect.log("Production event").pipe(
1623
- * Effect.provide(loggerLive)
1624
- * )
1625
- * })
1626
- * ).pipe(
1627
- * Effect.provide(NodeFileSystem.layer)
1628
- * )
1275
+ * await Effect.runPromise(program)
1276
+ * writes // => ["Application started"]
1629
1277
  * ```
1630
1278
  *
1631
- * @category file
1279
+ * @category logging
1632
1280
  * @since 4.0.0
1633
1281
  */
1634
1282
  <Message>(