effect 4.0.0-beta.102 → 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 (1451) hide show
  1. package/dist/Array.d.ts +971 -1037
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +381 -407
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +433 -756
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +200 -325
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +207 -267
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +107 -135
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +146 -188
  14. package/dist/Boolean.d.ts.map +1 -1
  15. package/dist/Boolean.js +64 -84
  16. package/dist/Boolean.js.map +1 -1
  17. package/dist/Brand.js.map +1 -1
  18. package/dist/Cache.d.ts +405 -254
  19. package/dist/Cache.d.ts.map +1 -1
  20. package/dist/Cache.js +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 +514 -440
  29. package/dist/Channel.js.map +1 -1
  30. package/dist/ChannelSchema.d.ts +1 -1
  31. package/dist/ChannelSchema.d.ts.map +1 -1
  32. package/dist/ChannelSchema.js.map +1 -1
  33. package/dist/Chunk.d.ts +834 -1173
  34. package/dist/Chunk.d.ts.map +1 -1
  35. package/dist/Chunk.js +326 -439
  36. package/dist/Chunk.js.map +1 -1
  37. package/dist/Clock.d.ts +180 -49
  38. package/dist/Clock.d.ts.map +1 -1
  39. package/dist/Clock.js +96 -31
  40. package/dist/Clock.js.map +1 -1
  41. package/dist/Combiner.d.ts +20 -33
  42. package/dist/Combiner.d.ts.map +1 -1
  43. package/dist/Combiner.js +18 -30
  44. package/dist/Combiner.js.map +1 -1
  45. package/dist/Config.d.ts +225 -173
  46. package/dist/Config.d.ts.map +1 -1
  47. package/dist/Config.js +336 -265
  48. package/dist/Config.js.map +1 -1
  49. package/dist/ConfigProvider.d.ts +194 -68
  50. package/dist/ConfigProvider.d.ts.map +1 -1
  51. package/dist/ConfigProvider.js +115 -80
  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 +16 -23
  72. package/dist/Data.js.map +1 -1
  73. package/dist/DateTime.d.ts +562 -660
  74. package/dist/DateTime.d.ts.map +1 -1
  75. package/dist/DateTime.js +307 -362
  76. package/dist/DateTime.js.map +1 -1
  77. package/dist/Deferred.d.ts +253 -256
  78. package/dist/Deferred.d.ts.map +1 -1
  79. package/dist/Deferred.js +104 -96
  80. package/dist/Deferred.js.map +1 -1
  81. package/dist/Duration.d.ts +216 -308
  82. package/dist/Duration.d.ts.map +1 -1
  83. package/dist/Duration.js +132 -186
  84. package/dist/Duration.js.map +1 -1
  85. package/dist/Effect.d.ts +2841 -3247
  86. package/dist/Effect.d.ts.map +1 -1
  87. package/dist/Effect.js +1322 -1546
  88. package/dist/Effect.js.map +1 -1
  89. package/dist/Effectable.js.map +1 -1
  90. package/dist/Encoding.d.ts +22 -40
  91. package/dist/Encoding.d.ts.map +1 -1
  92. package/dist/Encoding.js +22 -40
  93. package/dist/Encoding.js.map +1 -1
  94. package/dist/Equal.d.ts +33 -37
  95. package/dist/Equal.d.ts.map +1 -1
  96. package/dist/Equal.js +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 +106 -73
  121. package/dist/FiberHandle.js.map +1 -1
  122. package/dist/FiberMap.d.ts +213 -168
  123. package/dist/FiberMap.d.ts.map +1 -1
  124. package/dist/FiberMap.js +114 -89
  125. package/dist/FiberMap.js.map +1 -1
  126. package/dist/FiberSet.d.ts +123 -81
  127. package/dist/FiberSet.d.ts.map +1 -1
  128. package/dist/FiberSet.js +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 +228 -306
  173. package/dist/Iterable.js.map +1 -1
  174. package/dist/JsonPatch.d.ts +11 -13
  175. package/dist/JsonPatch.d.ts.map +1 -1
  176. package/dist/JsonPatch.js +44 -102
  177. package/dist/JsonPatch.js.map +1 -1
  178. package/dist/JsonPointer.d.ts +8 -8
  179. package/dist/JsonPointer.js +8 -8
  180. package/dist/JsonPointer.js.map +1 -1
  181. package/dist/JsonSchema.d.ts +98 -44
  182. package/dist/JsonSchema.d.ts.map +1 -1
  183. package/dist/JsonSchema.js +297 -234
  184. package/dist/JsonSchema.js.map +1 -1
  185. package/dist/Latch.d.ts +23 -35
  186. package/dist/Latch.d.ts.map +1 -1
  187. package/dist/Latch.js +16 -28
  188. package/dist/Latch.js.map +1 -1
  189. package/dist/Layer.d.ts +359 -260
  190. package/dist/Layer.d.ts.map +1 -1
  191. package/dist/Layer.js +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 +204 -450
  208. package/dist/Logger.js.map +1 -1
  209. package/dist/ManagedRuntime.d.ts +7 -5
  210. package/dist/ManagedRuntime.d.ts.map +1 -1
  211. package/dist/ManagedRuntime.js +7 -5
  212. package/dist/ManagedRuntime.js.map +1 -1
  213. package/dist/Match.d.ts +217 -252
  214. package/dist/Match.d.ts.map +1 -1
  215. package/dist/Match.js +150 -183
  216. package/dist/Match.js.map +1 -1
  217. package/dist/Metric.d.ts +442 -993
  218. package/dist/Metric.d.ts.map +1 -1
  219. package/dist/Metric.js +198 -642
  220. package/dist/Metric.js.map +1 -1
  221. package/dist/MutableHashMap.d.ts +144 -173
  222. package/dist/MutableHashMap.d.ts.map +1 -1
  223. package/dist/MutableHashMap.js +68 -79
  224. package/dist/MutableHashMap.js.map +1 -1
  225. package/dist/MutableHashSet.d.ts +84 -89
  226. package/dist/MutableHashSet.d.ts.map +1 -1
  227. package/dist/MutableHashSet.js +44 -47
  228. package/dist/MutableHashSet.js.map +1 -1
  229. package/dist/MutableList.d.ts +71 -370
  230. package/dist/MutableList.d.ts.map +1 -1
  231. package/dist/MutableList.js +59 -284
  232. package/dist/MutableList.js.map +1 -1
  233. package/dist/MutableRef.d.ts +420 -243
  234. package/dist/MutableRef.d.ts.map +1 -1
  235. package/dist/MutableRef.js +209 -120
  236. package/dist/MutableRef.js.map +1 -1
  237. package/dist/Newtype.d.ts +21 -14
  238. package/dist/Newtype.d.ts.map +1 -1
  239. package/dist/Newtype.js +15 -13
  240. package/dist/Newtype.js.map +1 -1
  241. package/dist/NonEmptyIterable.d.ts +7 -137
  242. package/dist/NonEmptyIterable.d.ts.map +1 -1
  243. package/dist/NonEmptyIterable.js +5 -93
  244. package/dist/NonEmptyIterable.js.map +1 -1
  245. package/dist/Number.d.ts +196 -233
  246. package/dist/Number.d.ts.map +1 -1
  247. package/dist/Number.js +90 -109
  248. package/dist/Number.js.map +1 -1
  249. package/dist/Optic.d.ts +97 -189
  250. package/dist/Optic.d.ts.map +1 -1
  251. package/dist/Optic.js +187 -290
  252. package/dist/Optic.js.map +1 -1
  253. package/dist/Option.d.ts +447 -812
  254. package/dist/Option.d.ts.map +1 -1
  255. package/dist/Option.js +211 -392
  256. package/dist/Option.js.map +1 -1
  257. package/dist/Order.d.ts +109 -109
  258. package/dist/Order.js +91 -91
  259. package/dist/Order.js.map +1 -1
  260. package/dist/Ordering.d.ts +20 -23
  261. package/dist/Ordering.d.ts.map +1 -1
  262. package/dist/Ordering.js +8 -9
  263. package/dist/Ordering.js.map +1 -1
  264. package/dist/PartitionedSemaphore.js.map +1 -1
  265. package/dist/Path.d.ts +38 -41
  266. package/dist/Path.d.ts.map +1 -1
  267. package/dist/Path.js +3 -4
  268. package/dist/Path.js.map +1 -1
  269. package/dist/Pipeable.d.ts +6 -5
  270. package/dist/Pipeable.d.ts.map +1 -1
  271. package/dist/Pipeable.js +2 -2
  272. package/dist/Pipeable.js.map +1 -1
  273. package/dist/PlatformError.d.ts +4 -4
  274. package/dist/PlatformError.js +3 -3
  275. package/dist/PlatformError.js.map +1 -1
  276. package/dist/Pool.d.ts +4 -2
  277. package/dist/Pool.d.ts.map +1 -1
  278. package/dist/Pool.js +4 -2
  279. package/dist/Pool.js.map +1 -1
  280. package/dist/Predicate.d.ts +200 -181
  281. package/dist/Predicate.d.ts.map +1 -1
  282. package/dist/Predicate.js +100 -108
  283. package/dist/Predicate.js.map +1 -1
  284. package/dist/PrimaryKey.d.ts +7 -7
  285. package/dist/PrimaryKey.js +5 -5
  286. package/dist/PrimaryKey.js.map +1 -1
  287. package/dist/PubSub.d.ts +425 -494
  288. package/dist/PubSub.d.ts.map +1 -1
  289. package/dist/PubSub.js +373 -362
  290. package/dist/PubSub.js.map +1 -1
  291. package/dist/Pull.d.ts +24 -18
  292. package/dist/Pull.d.ts.map +1 -1
  293. package/dist/Pull.js +11 -9
  294. package/dist/Pull.js.map +1 -1
  295. package/dist/Queue.d.ts +200 -159
  296. package/dist/Queue.d.ts.map +1 -1
  297. package/dist/Queue.js +162 -132
  298. package/dist/Queue.js.map +1 -1
  299. package/dist/Random.d.ts +49 -74
  300. package/dist/Random.d.ts.map +1 -1
  301. package/dist/Random.js +35 -54
  302. package/dist/Random.js.map +1 -1
  303. package/dist/RcMap.d.ts +121 -63
  304. package/dist/RcMap.d.ts.map +1 -1
  305. package/dist/RcMap.js +42 -21
  306. package/dist/RcMap.js.map +1 -1
  307. package/dist/RcRef.d.ts +24 -13
  308. package/dist/RcRef.d.ts.map +1 -1
  309. package/dist/RcRef.js +15 -9
  310. package/dist/RcRef.js.map +1 -1
  311. package/dist/Record.d.ts +291 -488
  312. package/dist/Record.d.ts.map +1 -1
  313. package/dist/Record.js +111 -202
  314. package/dist/Record.js.map +1 -1
  315. package/dist/Redactable.d.ts +6 -2
  316. package/dist/Redactable.d.ts.map +1 -1
  317. package/dist/Redactable.js +7 -2
  318. package/dist/Redactable.js.map +1 -1
  319. package/dist/Redacted.d.ts +25 -25
  320. package/dist/Redacted.d.ts.map +1 -1
  321. package/dist/Redacted.js +19 -20
  322. package/dist/Redacted.js.map +1 -1
  323. package/dist/Reducer.d.ts +8 -15
  324. package/dist/Reducer.d.ts.map +1 -1
  325. package/dist/Reducer.js +6 -12
  326. package/dist/Reducer.js.map +1 -1
  327. package/dist/Ref.d.ts +95 -165
  328. package/dist/Ref.d.ts.map +1 -1
  329. package/dist/Ref.js +75 -122
  330. package/dist/Ref.js.map +1 -1
  331. package/dist/References.d.ts +102 -168
  332. package/dist/References.d.ts.map +1 -1
  333. package/dist/References.js +102 -168
  334. package/dist/References.js.map +1 -1
  335. package/dist/RegExp.d.ts +10 -14
  336. package/dist/RegExp.d.ts.map +1 -1
  337. package/dist/RegExp.js +10 -14
  338. package/dist/RegExp.js.map +1 -1
  339. package/dist/Request.d.ts +31 -21
  340. package/dist/Request.d.ts.map +1 -1
  341. package/dist/Request.js +16 -13
  342. package/dist/Request.js.map +1 -1
  343. package/dist/RequestResolver.d.ts +201 -90
  344. package/dist/RequestResolver.d.ts.map +1 -1
  345. package/dist/RequestResolver.js +87 -41
  346. package/dist/RequestResolver.js.map +1 -1
  347. package/dist/Resource.js.map +1 -1
  348. package/dist/Result.d.ts +302 -470
  349. package/dist/Result.d.ts.map +1 -1
  350. package/dist/Result.js +133 -217
  351. package/dist/Result.js.map +1 -1
  352. package/dist/Runtime.d.ts +50 -75
  353. package/dist/Runtime.d.ts.map +1 -1
  354. package/dist/Runtime.js +39 -60
  355. package/dist/Runtime.js.map +1 -1
  356. package/dist/Schedule.d.ts +290 -1636
  357. package/dist/Schedule.d.ts.map +1 -1
  358. package/dist/Schedule.js +162 -803
  359. package/dist/Schedule.js.map +1 -1
  360. package/dist/Scheduler.d.ts +5 -5
  361. package/dist/Scheduler.d.ts.map +1 -1
  362. package/dist/Scheduler.js +18 -6
  363. package/dist/Scheduler.js.map +1 -1
  364. package/dist/Schema.d.ts +644 -642
  365. package/dist/Schema.d.ts.map +1 -1
  366. package/dist/Schema.js +491 -527
  367. package/dist/Schema.js.map +1 -1
  368. package/dist/SchemaAST.d.ts +27 -50
  369. package/dist/SchemaAST.d.ts.map +1 -1
  370. package/dist/SchemaAST.js +366 -279
  371. package/dist/SchemaAST.js.map +1 -1
  372. package/dist/SchemaError.d.ts +7 -6
  373. package/dist/SchemaError.d.ts.map +1 -1
  374. package/dist/SchemaError.js +7 -6
  375. package/dist/SchemaError.js.map +1 -1
  376. package/dist/SchemaGetter.d.ts +217 -174
  377. package/dist/SchemaGetter.d.ts.map +1 -1
  378. package/dist/SchemaGetter.js +218 -185
  379. package/dist/SchemaGetter.js.map +1 -1
  380. package/dist/SchemaIssue.d.ts +62 -190
  381. package/dist/SchemaIssue.d.ts.map +1 -1
  382. package/dist/SchemaIssue.js +73 -265
  383. package/dist/SchemaIssue.js.map +1 -1
  384. package/dist/SchemaParser.d.ts +2 -2
  385. package/dist/SchemaParser.d.ts.map +1 -1
  386. package/dist/SchemaParser.js +123 -75
  387. package/dist/SchemaParser.js.map +1 -1
  388. package/dist/SchemaRepresentation.d.ts +22 -36
  389. package/dist/SchemaRepresentation.d.ts.map +1 -1
  390. package/dist/SchemaRepresentation.js +20 -26
  391. package/dist/SchemaRepresentation.js.map +1 -1
  392. package/dist/SchemaTransformation.d.ts +114 -74
  393. package/dist/SchemaTransformation.d.ts.map +1 -1
  394. package/dist/SchemaTransformation.js +120 -85
  395. package/dist/SchemaTransformation.js.map +1 -1
  396. package/dist/Scope.d.ts +123 -151
  397. package/dist/Scope.d.ts.map +1 -1
  398. package/dist/Scope.js +72 -92
  399. package/dist/Scope.js.map +1 -1
  400. package/dist/ScopedCache.js.map +1 -1
  401. package/dist/ScopedRef.d.ts +3 -3
  402. package/dist/ScopedRef.js +2 -2
  403. package/dist/ScopedRef.js.map +1 -1
  404. package/dist/Semaphore.d.ts +96 -10
  405. package/dist/Semaphore.d.ts.map +1 -1
  406. package/dist/Semaphore.js +78 -39
  407. package/dist/Semaphore.js.map +1 -1
  408. package/dist/Sink.d.ts +117 -107
  409. package/dist/Sink.d.ts.map +1 -1
  410. package/dist/Sink.js +107 -100
  411. package/dist/Sink.js.map +1 -1
  412. package/dist/Stdio.d.ts +1 -1
  413. package/dist/Stdio.js.map +1 -1
  414. package/dist/Stream.d.ts +2415 -2949
  415. package/dist/Stream.d.ts.map +1 -1
  416. package/dist/Stream.js +1078 -1381
  417. package/dist/Stream.js.map +1 -1
  418. package/dist/String.d.ts +262 -308
  419. package/dist/String.d.ts.map +1 -1
  420. package/dist/String.js +184 -215
  421. package/dist/String.js.map +1 -1
  422. package/dist/Struct.d.ts +109 -114
  423. package/dist/Struct.d.ts.map +1 -1
  424. package/dist/Struct.js +41 -50
  425. package/dist/Struct.js.map +1 -1
  426. package/dist/SubscriptionRef.d.ts +282 -250
  427. package/dist/SubscriptionRef.d.ts.map +1 -1
  428. package/dist/SubscriptionRef.js +104 -92
  429. package/dist/SubscriptionRef.js.map +1 -1
  430. package/dist/Symbol.d.ts +3 -3
  431. package/dist/Symbol.js +3 -3
  432. package/dist/Symbol.js.map +1 -1
  433. package/dist/SynchronizedRef.js.map +1 -1
  434. package/dist/Take.js.map +1 -1
  435. package/dist/Terminal.d.ts +2 -2
  436. package/dist/Terminal.js +1 -1
  437. package/dist/Terminal.js.map +1 -1
  438. package/dist/Tracer.d.ts +100 -54
  439. package/dist/Tracer.d.ts.map +1 -1
  440. package/dist/Tracer.js +41 -24
  441. package/dist/Tracer.js.map +1 -1
  442. package/dist/Trie.d.ts +287 -679
  443. package/dist/Trie.d.ts.map +1 -1
  444. package/dist/Trie.js +109 -251
  445. package/dist/Trie.js.map +1 -1
  446. package/dist/Tuple.d.ts +92 -127
  447. package/dist/Tuple.d.ts.map +1 -1
  448. package/dist/Tuple.js +42 -57
  449. package/dist/Tuple.js.map +1 -1
  450. package/dist/TxChunk.d.ts +201 -121
  451. package/dist/TxChunk.d.ts.map +1 -1
  452. package/dist/TxChunk.js +85 -56
  453. package/dist/TxChunk.js.map +1 -1
  454. package/dist/TxDeferred.d.ts +62 -46
  455. package/dist/TxDeferred.d.ts.map +1 -1
  456. package/dist/TxDeferred.js +30 -22
  457. package/dist/TxDeferred.js.map +1 -1
  458. package/dist/TxHashMap.d.ts +631 -779
  459. package/dist/TxHashMap.d.ts.map +1 -1
  460. package/dist/TxHashMap.js +268 -330
  461. package/dist/TxHashMap.js.map +1 -1
  462. package/dist/TxHashSet.d.ts +297 -236
  463. package/dist/TxHashSet.d.ts.map +1 -1
  464. package/dist/TxHashSet.js +130 -100
  465. package/dist/TxHashSet.js.map +1 -1
  466. package/dist/TxPriorityQueue.d.ts +126 -95
  467. package/dist/TxPriorityQueue.d.ts.map +1 -1
  468. package/dist/TxPriorityQueue.js +74 -56
  469. package/dist/TxPriorityQueue.js.map +1 -1
  470. package/dist/TxPubSub.d.ts +101 -88
  471. package/dist/TxPubSub.d.ts.map +1 -1
  472. package/dist/TxPubSub.js +87 -66
  473. package/dist/TxPubSub.js.map +1 -1
  474. package/dist/TxQueue.d.ts +200 -180
  475. package/dist/TxQueue.d.ts.map +1 -1
  476. package/dist/TxQueue.js +160 -136
  477. package/dist/TxQueue.js.map +1 -1
  478. package/dist/TxReentrantLock.d.ts +97 -66
  479. package/dist/TxReentrantLock.d.ts.map +1 -1
  480. package/dist/TxReentrantLock.js +67 -45
  481. package/dist/TxReentrantLock.js.map +1 -1
  482. package/dist/TxRef.d.ts +51 -32
  483. package/dist/TxRef.d.ts.map +1 -1
  484. package/dist/TxRef.js +23 -15
  485. package/dist/TxRef.js.map +1 -1
  486. package/dist/TxSemaphore.d.ts +129 -95
  487. package/dist/TxSemaphore.d.ts.map +1 -1
  488. package/dist/TxSemaphore.js +85 -70
  489. package/dist/TxSemaphore.js.map +1 -1
  490. package/dist/TxSubscriptionRef.d.ts +97 -70
  491. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  492. package/dist/TxSubscriptionRef.js +44 -34
  493. package/dist/TxSubscriptionRef.js.map +1 -1
  494. package/dist/Types.d.ts +126 -67
  495. package/dist/Types.d.ts.map +1 -1
  496. package/dist/UndefinedOr.js.map +1 -1
  497. package/dist/Unify.d.ts +45 -65
  498. package/dist/Unify.d.ts.map +1 -1
  499. package/dist/Unify.js +6 -9
  500. package/dist/Unify.js.map +1 -1
  501. package/dist/Utils.d.ts +23 -16
  502. package/dist/Utils.d.ts.map +1 -1
  503. package/dist/Utils.js +3 -7
  504. package/dist/Utils.js.map +1 -1
  505. package/dist/index.js.map +1 -1
  506. package/dist/internal/array.js.map +1 -1
  507. package/dist/internal/core.js +1 -1
  508. package/dist/internal/core.js.map +1 -1
  509. package/dist/internal/dateTime.js +4 -0
  510. package/dist/internal/dateTime.js.map +1 -1
  511. package/dist/internal/doNotation.js.map +1 -1
  512. package/dist/internal/effect.js +77 -40
  513. package/dist/internal/effect.js.map +1 -1
  514. package/dist/internal/equal.js.map +1 -1
  515. package/dist/internal/errors.js.map +1 -1
  516. package/dist/internal/executionPlan.js.map +1 -1
  517. package/dist/internal/hashMap.js.map +1 -1
  518. package/dist/internal/hashSet.js.map +1 -1
  519. package/dist/internal/layer.js.map +1 -1
  520. package/dist/internal/matcher.js.map +1 -1
  521. package/dist/internal/metric.js.map +1 -1
  522. package/dist/internal/option.js.map +1 -1
  523. package/dist/internal/persistence.d.ts +2 -0
  524. package/dist/internal/persistence.d.ts.map +1 -0
  525. package/dist/internal/persistence.js +3 -0
  526. package/dist/internal/persistence.js.map +1 -0
  527. package/dist/internal/random.js.map +1 -1
  528. package/dist/internal/rcRef.js.map +1 -1
  529. package/dist/internal/record.js.map +1 -1
  530. package/dist/internal/redacted.js.map +1 -1
  531. package/dist/internal/references.js +3 -0
  532. package/dist/internal/references.js.map +1 -1
  533. package/dist/internal/request.js.map +1 -1
  534. package/dist/internal/result.js.map +1 -1
  535. package/dist/internal/schedule.js.map +1 -1
  536. package/dist/internal/schema/annotations.js.map +1 -1
  537. package/dist/internal/schema/cause.js.map +1 -1
  538. package/dist/internal/schema/fromJsonSchemaDocument.js +13 -11
  539. package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
  540. package/dist/internal/schema/fromRepresentation.js +8 -15
  541. package/dist/internal/schema/fromRepresentation.js.map +1 -1
  542. package/dist/internal/schema/parser.d.ts +14 -0
  543. package/dist/internal/schema/parser.d.ts.map +1 -0
  544. package/dist/internal/schema/parser.js +13 -0
  545. package/dist/internal/schema/parser.js.map +1 -0
  546. package/dist/internal/schema/schema.js.map +1 -1
  547. package/dist/internal/schema/toArbitrary.js.map +1 -1
  548. package/dist/internal/schema/toCodeDocument.js.map +1 -1
  549. package/dist/internal/schema/toEquivalence.js.map +1 -1
  550. package/dist/internal/schema/toJsonSchemaDocument.js +48 -6
  551. package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
  552. package/dist/internal/schema/toRepresentation.js +87 -107
  553. package/dist/internal/schema/toRepresentation.js.map +1 -1
  554. package/dist/internal/stackTraceLimit.js.map +1 -1
  555. package/dist/internal/stream.js.map +1 -1
  556. package/dist/internal/tracer.js.map +1 -1
  557. package/dist/internal/trie.js +13 -9
  558. package/dist/internal/trie.js.map +1 -1
  559. package/dist/testing/FastCheck.d.ts +8 -7
  560. package/dist/testing/FastCheck.d.ts.map +1 -1
  561. package/dist/testing/FastCheck.js +8 -7
  562. package/dist/testing/FastCheck.js.map +1 -1
  563. package/dist/testing/TestClock.d.ts +57 -28
  564. package/dist/testing/TestClock.d.ts.map +1 -1
  565. package/dist/testing/TestClock.js +50 -18
  566. package/dist/testing/TestClock.js.map +1 -1
  567. package/dist/testing/TestConsole.d.ts +32 -31
  568. package/dist/testing/TestConsole.d.ts.map +1 -1
  569. package/dist/testing/TestConsole.js +24 -22
  570. package/dist/testing/TestConsole.js.map +1 -1
  571. package/dist/testing/TestSchema.d.ts +29 -29
  572. package/dist/testing/TestSchema.js +25 -25
  573. package/dist/testing/TestSchema.js.map +1 -1
  574. package/dist/testing/index.js.map +1 -1
  575. package/dist/unstable/ai/AiError.d.ts +95 -118
  576. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  577. package/dist/unstable/ai/AiError.js +94 -117
  578. package/dist/unstable/ai/AiError.js.map +1 -1
  579. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
  580. package/dist/unstable/ai/AnthropicStructuredOutput.js +1 -1
  581. package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
  582. package/dist/unstable/ai/Chat.d.ts +132 -97
  583. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  584. package/dist/unstable/ai/Chat.js +55 -51
  585. package/dist/unstable/ai/Chat.js.map +1 -1
  586. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  587. package/dist/unstable/ai/IdGenerator.d.ts +32 -28
  588. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  589. package/dist/unstable/ai/IdGenerator.js +26 -21
  590. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  591. package/dist/unstable/ai/LanguageModel.d.ts +107 -67
  592. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  593. package/dist/unstable/ai/LanguageModel.js +104 -64
  594. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  595. package/dist/unstable/ai/McpProtocol.d.ts +30 -0
  596. package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
  597. package/dist/unstable/ai/McpProtocol.js +20 -0
  598. package/dist/unstable/ai/McpProtocol.js.map +1 -0
  599. package/dist/unstable/ai/McpSchema.d.ts +141 -75
  600. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  601. package/dist/unstable/ai/McpSchema.js +58 -50
  602. package/dist/unstable/ai/McpSchema.js.map +1 -1
  603. package/dist/unstable/ai/McpServer.d.ts +68 -59
  604. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  605. package/dist/unstable/ai/McpServer.js +694 -241
  606. package/dist/unstable/ai/McpServer.js.map +1 -1
  607. package/dist/unstable/ai/Model.d.ts +8 -19
  608. package/dist/unstable/ai/Model.d.ts.map +1 -1
  609. package/dist/unstable/ai/Model.js +9 -20
  610. package/dist/unstable/ai/Model.js.map +1 -1
  611. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
  612. package/dist/unstable/ai/OpenAiStructuredOutput.js +1 -1
  613. package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
  614. package/dist/unstable/ai/Prompt.d.ts +112 -38
  615. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  616. package/dist/unstable/ai/Prompt.js +53 -17
  617. package/dist/unstable/ai/Prompt.js.map +1 -1
  618. package/dist/unstable/ai/Response.d.ts +28 -14
  619. package/dist/unstable/ai/Response.d.ts.map +1 -1
  620. package/dist/unstable/ai/Response.js +9 -4
  621. package/dist/unstable/ai/Response.js.map +1 -1
  622. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  623. package/dist/unstable/ai/Telemetry.d.ts +46 -13
  624. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  625. package/dist/unstable/ai/Telemetry.js +18 -7
  626. package/dist/unstable/ai/Telemetry.js.map +1 -1
  627. package/dist/unstable/ai/Tokenizer.d.ts +14 -3
  628. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  629. package/dist/unstable/ai/Tokenizer.js +10 -2
  630. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  631. package/dist/unstable/ai/Tool.d.ts +59 -44
  632. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  633. package/dist/unstable/ai/Tool.js +48 -39
  634. package/dist/unstable/ai/Tool.js.map +1 -1
  635. package/dist/unstable/ai/Toolkit.d.ts +26 -8
  636. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  637. package/dist/unstable/ai/Toolkit.js +18 -4
  638. package/dist/unstable/ai/Toolkit.js.map +1 -1
  639. package/dist/unstable/ai/index.d.ts +4 -0
  640. package/dist/unstable/ai/index.d.ts.map +1 -1
  641. package/dist/unstable/ai/index.js +4 -0
  642. package/dist/unstable/ai/index.js.map +1 -1
  643. package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
  644. package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
  645. package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
  646. package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
  647. package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
  648. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
  649. package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
  650. package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
  651. package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
  652. package/dist/unstable/ai/internal/structured-output.js +14 -15
  653. package/dist/unstable/ai/internal/structured-output.js.map +1 -1
  654. package/dist/unstable/cli/Argument.d.ts +273 -69
  655. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  656. package/dist/unstable/cli/Argument.js +111 -33
  657. package/dist/unstable/cli/Argument.js.map +1 -1
  658. package/dist/unstable/cli/CliConfig.js.map +1 -1
  659. package/dist/unstable/cli/CliError.d.ts +69 -76
  660. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  661. package/dist/unstable/cli/CliError.js +57 -61
  662. package/dist/unstable/cli/CliError.js.map +1 -1
  663. package/dist/unstable/cli/CliOutput.d.ts +35 -54
  664. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  665. package/dist/unstable/cli/CliOutput.js +26 -42
  666. package/dist/unstable/cli/CliOutput.js.map +1 -1
  667. package/dist/unstable/cli/Command.d.ts +705 -107
  668. package/dist/unstable/cli/Command.d.ts.map +1 -1
  669. package/dist/unstable/cli/Command.js +238 -42
  670. package/dist/unstable/cli/Command.js.map +1 -1
  671. package/dist/unstable/cli/Completions.js.map +1 -1
  672. package/dist/unstable/cli/Flag.d.ts +418 -138
  673. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  674. package/dist/unstable/cli/Flag.js +197 -71
  675. package/dist/unstable/cli/Flag.js.map +1 -1
  676. package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
  677. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  678. package/dist/unstable/cli/HelpDoc.d.ts +12 -4
  679. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  680. package/dist/unstable/cli/Param.d.ts +292 -78
  681. package/dist/unstable/cli/Param.d.ts.map +1 -1
  682. package/dist/unstable/cli/Param.js +128 -46
  683. package/dist/unstable/cli/Param.js.map +1 -1
  684. package/dist/unstable/cli/Primitive.d.ts +370 -149
  685. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  686. package/dist/unstable/cli/Primitive.js +344 -136
  687. package/dist/unstable/cli/Primitive.js.map +1 -1
  688. package/dist/unstable/cli/Prompt.d.ts +23 -14
  689. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  690. package/dist/unstable/cli/Prompt.js +23 -14
  691. package/dist/unstable/cli/Prompt.js.map +1 -1
  692. package/dist/unstable/cli/index.js.map +1 -1
  693. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  694. package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
  695. package/dist/unstable/cli/internal/command.js.map +1 -1
  696. package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
  697. package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
  698. package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
  699. package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
  700. package/dist/unstable/cli/internal/config.js.map +1 -1
  701. package/dist/unstable/cli/internal/help.js.map +1 -1
  702. package/dist/unstable/cli/internal/lexer.js +17 -7
  703. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  704. package/dist/unstable/cli/internal/parser.js +2 -2
  705. package/dist/unstable/cli/internal/parser.js.map +1 -1
  706. package/dist/unstable/cli/internal/wizard.js.map +1 -1
  707. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  708. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  709. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  710. package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
  711. package/dist/unstable/cluster/ClusterSchema.js +8 -8
  712. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  713. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  714. package/dist/unstable/cluster/ClusterWorkflowEngine.js +5 -1
  715. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  716. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  717. package/dist/unstable/cluster/Entity.d.ts +10 -10
  718. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  719. package/dist/unstable/cluster/Entity.js +8 -8
  720. package/dist/unstable/cluster/Entity.js.map +1 -1
  721. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  722. package/dist/unstable/cluster/EntityId.js.map +1 -1
  723. package/dist/unstable/cluster/EntityProxy.d.ts +4 -2
  724. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  725. package/dist/unstable/cluster/EntityProxy.js +4 -2
  726. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  727. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  728. package/dist/unstable/cluster/EntityResource.d.ts +2 -2
  729. package/dist/unstable/cluster/EntityResource.js +2 -2
  730. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  731. package/dist/unstable/cluster/EntityType.js.map +1 -1
  732. package/dist/unstable/cluster/Envelope.d.ts +3 -3
  733. package/dist/unstable/cluster/Envelope.js +3 -3
  734. package/dist/unstable/cluster/Envelope.js.map +1 -1
  735. package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
  736. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  737. package/dist/unstable/cluster/HttpRunner.js +6 -4
  738. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  739. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  740. package/dist/unstable/cluster/MachineId.js.map +1 -1
  741. package/dist/unstable/cluster/Message.d.ts +9 -9
  742. package/dist/unstable/cluster/Message.js +6 -6
  743. package/dist/unstable/cluster/Message.js.map +1 -1
  744. package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
  745. package/dist/unstable/cluster/MessageStorage.js +5 -5
  746. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  747. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  748. package/dist/unstable/cluster/Reply.js +4 -4
  749. package/dist/unstable/cluster/Reply.js.map +1 -1
  750. package/dist/unstable/cluster/Runner.js.map +1 -1
  751. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  752. package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
  753. package/dist/unstable/cluster/RunnerHealth.js +1 -1
  754. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  755. package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
  756. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  757. package/dist/unstable/cluster/RunnerServer.js +16 -16
  758. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  759. package/dist/unstable/cluster/RunnerStorage.d.ts +2 -2
  760. package/dist/unstable/cluster/RunnerStorage.js +1 -1
  761. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  762. package/dist/unstable/cluster/Runners.d.ts +6 -6
  763. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  764. package/dist/unstable/cluster/Runners.js +19 -10
  765. package/dist/unstable/cluster/Runners.js.map +1 -1
  766. package/dist/unstable/cluster/ShardId.js.map +1 -1
  767. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  768. package/dist/unstable/cluster/Sharding.js +3 -2
  769. package/dist/unstable/cluster/Sharding.js.map +1 -1
  770. package/dist/unstable/cluster/ShardingConfig.d.ts +3 -3
  771. package/dist/unstable/cluster/ShardingConfig.js +3 -3
  772. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  773. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  774. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  775. package/dist/unstable/cluster/Singleton.js.map +1 -1
  776. package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
  777. package/dist/unstable/cluster/SingletonAddress.js +1 -1
  778. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  779. package/dist/unstable/cluster/Snowflake.d.ts +8 -8
  780. package/dist/unstable/cluster/Snowflake.js +8 -8
  781. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  782. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  783. package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
  784. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  785. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  786. package/dist/unstable/cluster/SqlRunnerStorage.js +20 -5
  787. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  788. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  789. package/dist/unstable/cluster/index.js.map +1 -1
  790. package/dist/unstable/cluster/internal/entityManager.js +5 -5
  791. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  792. package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
  793. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  794. package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
  795. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  796. package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
  797. package/dist/unstable/cluster/internal/shardLock.js.map +1 -1
  798. package/dist/unstable/devtools/DevTools.js.map +1 -1
  799. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  800. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  801. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  802. package/dist/unstable/devtools/index.js.map +1 -1
  803. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  804. package/dist/unstable/encoding/Msgpack.js +6 -8
  805. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  806. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  807. package/dist/unstable/encoding/Sse.d.ts +72 -8
  808. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  809. package/dist/unstable/encoding/Sse.js +58 -8
  810. package/dist/unstable/encoding/Sse.js.map +1 -1
  811. package/dist/unstable/encoding/index.js.map +1 -1
  812. package/dist/unstable/eventlog/Event.d.ts +20 -20
  813. package/dist/unstable/eventlog/Event.js.map +1 -1
  814. package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
  815. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  816. package/dist/unstable/eventlog/EventJournal.d.ts +15 -15
  817. package/dist/unstable/eventlog/EventJournal.js +13 -13
  818. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  819. package/dist/unstable/eventlog/EventLog.d.ts +3 -3
  820. package/dist/unstable/eventlog/EventLog.js +3 -3
  821. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  822. package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
  823. package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
  824. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  825. package/dist/unstable/eventlog/EventLogMessage.d.ts +2 -2
  826. package/dist/unstable/eventlog/EventLogMessage.js +1 -1
  827. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  828. package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
  829. package/dist/unstable/eventlog/EventLogRemote.js +1 -1
  830. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  831. package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
  832. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  833. package/dist/unstable/eventlog/EventLogServer.js +45 -21
  834. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  835. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
  836. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  837. package/dist/unstable/eventlog/EventLogServerEncrypted.js +13 -5
  838. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  839. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
  840. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  841. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +14 -6
  842. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  843. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
  844. package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
  845. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  846. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  847. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  848. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  849. package/dist/unstable/eventlog/index.js.map +1 -1
  850. package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
  851. package/dist/unstable/http/Cookies.d.ts +2 -2
  852. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  853. package/dist/unstable/http/Cookies.js +30 -18
  854. package/dist/unstable/http/Cookies.js.map +1 -1
  855. package/dist/unstable/http/Etag.d.ts +1 -1
  856. package/dist/unstable/http/Etag.js +1 -1
  857. package/dist/unstable/http/Etag.js.map +1 -1
  858. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  859. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  860. package/dist/unstable/http/Headers.d.ts +2 -2
  861. package/dist/unstable/http/Headers.js +2 -2
  862. package/dist/unstable/http/Headers.js.map +1 -1
  863. package/dist/unstable/http/HttpBody.d.ts +5 -3
  864. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  865. package/dist/unstable/http/HttpBody.js +11 -5
  866. package/dist/unstable/http/HttpBody.js.map +1 -1
  867. package/dist/unstable/http/HttpClient.d.ts +51 -44
  868. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  869. package/dist/unstable/http/HttpClient.js +46 -17
  870. package/dist/unstable/http/HttpClient.js.map +1 -1
  871. package/dist/unstable/http/HttpClientError.js.map +1 -1
  872. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  873. package/dist/unstable/http/HttpClientRequest.js +2 -0
  874. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  875. package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
  876. package/dist/unstable/http/HttpClientResponse.js +2 -2
  877. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  878. package/dist/unstable/http/HttpEffect.d.ts +6 -6
  879. package/dist/unstable/http/HttpEffect.js +3 -3
  880. package/dist/unstable/http/HttpEffect.js.map +1 -1
  881. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  882. package/dist/unstable/http/HttpMethod.d.ts +6 -9
  883. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  884. package/dist/unstable/http/HttpMethod.js +6 -9
  885. package/dist/unstable/http/HttpMethod.js.map +1 -1
  886. package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
  887. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  888. package/dist/unstable/http/HttpMiddleware.js +164 -39
  889. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  890. package/dist/unstable/http/HttpPlatform.d.ts +76 -0
  891. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  892. package/dist/unstable/http/HttpPlatform.js +32 -0
  893. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  894. package/dist/unstable/http/HttpRouter.d.ts +88 -89
  895. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  896. package/dist/unstable/http/HttpRouter.js +78 -79
  897. package/dist/unstable/http/HttpRouter.js.map +1 -1
  898. package/dist/unstable/http/HttpServer.d.ts +13 -13
  899. package/dist/unstable/http/HttpServer.js +6 -6
  900. package/dist/unstable/http/HttpServer.js.map +1 -1
  901. package/dist/unstable/http/HttpServerError.d.ts +2 -2
  902. package/dist/unstable/http/HttpServerError.js +2 -2
  903. package/dist/unstable/http/HttpServerError.js.map +1 -1
  904. package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
  905. package/dist/unstable/http/HttpServerRequest.js +4 -4
  906. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  907. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  908. package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
  909. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  910. package/dist/unstable/http/HttpServerResponse.js +10 -0
  911. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  912. package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
  913. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  914. package/dist/unstable/http/HttpStaticServer.js +35 -7
  915. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  916. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  917. package/dist/unstable/http/Multipart.d.ts +6 -6
  918. package/dist/unstable/http/Multipart.js +5 -5
  919. package/dist/unstable/http/Multipart.js.map +1 -1
  920. package/dist/unstable/http/Template.js.map +1 -1
  921. package/dist/unstable/http/Url.d.ts +33 -63
  922. package/dist/unstable/http/Url.d.ts.map +1 -1
  923. package/dist/unstable/http/Url.js +14 -28
  924. package/dist/unstable/http/Url.js.map +1 -1
  925. package/dist/unstable/http/UrlParams.d.ts +10 -18
  926. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  927. package/dist/unstable/http/UrlParams.js +9 -17
  928. package/dist/unstable/http/UrlParams.js.map +1 -1
  929. package/dist/unstable/http/index.js.map +1 -1
  930. package/dist/unstable/http/internal/compression.d.ts +2 -0
  931. package/dist/unstable/http/internal/compression.d.ts.map +1 -0
  932. package/dist/unstable/http/internal/compression.js +155 -0
  933. package/dist/unstable/http/internal/compression.js.map +1 -0
  934. package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
  935. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  936. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
  937. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  938. package/dist/unstable/httpapi/HttpApiBuilder.js +10 -11
  939. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  940. package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
  941. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  942. package/dist/unstable/httpapi/HttpApiClient.js +11 -13
  943. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  944. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +42 -42
  945. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  946. package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
  947. package/dist/unstable/httpapi/HttpApiError.js +13 -13
  948. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  949. package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
  950. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  951. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
  952. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  953. package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
  954. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  955. package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
  956. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  957. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  958. package/dist/unstable/httpapi/HttpApiSchema.d.ts +6 -6
  959. package/dist/unstable/httpapi/HttpApiSchema.js +4 -4
  960. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  961. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  962. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  963. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  964. package/dist/unstable/httpapi/OpenApi.d.ts +13 -13
  965. package/dist/unstable/httpapi/OpenApi.js +13 -13
  966. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  967. package/dist/unstable/httpapi/index.js.map +1 -1
  968. package/dist/unstable/httpapi/internal/html.js.map +1 -1
  969. package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
  970. package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
  971. package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
  972. package/dist/unstable/observability/Otlp.js.map +1 -1
  973. package/dist/unstable/observability/OtlpExporter.d.ts +12 -14
  974. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  975. package/dist/unstable/observability/OtlpExporter.js +17 -4
  976. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  977. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  978. package/dist/unstable/observability/OtlpMetrics.d.ts +4 -1
  979. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  980. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  981. package/dist/unstable/observability/OtlpResource.d.ts +16 -7
  982. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  983. package/dist/unstable/observability/OtlpResource.js +21 -12
  984. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  985. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  986. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  987. package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
  988. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  989. package/dist/unstable/observability/PrometheusMetrics.js +10 -3
  990. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  991. package/dist/unstable/observability/index.js.map +1 -1
  992. package/dist/unstable/observability/internal/otlpEnv.js +1 -1
  993. package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
  994. package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
  995. package/dist/unstable/observability/internal/protobuf.js +3 -0
  996. package/dist/unstable/observability/internal/protobuf.js.map +1 -1
  997. package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
  998. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  999. package/dist/unstable/persistence/KeyValueStore.js +22 -13
  1000. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1001. package/dist/unstable/persistence/Persistable.d.ts +8 -8
  1002. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1003. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1004. package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
  1005. package/dist/unstable/persistence/PersistedQueue.js +6 -6
  1006. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1007. package/dist/unstable/persistence/Persistence.d.ts +3 -3
  1008. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1009. package/dist/unstable/persistence/Persistence.js +91 -15
  1010. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1011. package/dist/unstable/persistence/RateLimiter.d.ts +26 -15
  1012. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1013. package/dist/unstable/persistence/RateLimiter.js +24 -13
  1014. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1015. package/dist/unstable/persistence/Redis.d.ts +2 -2
  1016. package/dist/unstable/persistence/Redis.js +1 -1
  1017. package/dist/unstable/persistence/Redis.js.map +1 -1
  1018. package/dist/unstable/persistence/index.js.map +1 -1
  1019. package/dist/unstable/process/ChildProcess.d.ts +64 -21
  1020. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1021. package/dist/unstable/process/ChildProcess.js +14 -5
  1022. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1023. package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
  1024. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1025. package/dist/unstable/process/ChildProcessSpawner.js +1 -1
  1026. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1027. package/dist/unstable/process/index.js.map +1 -1
  1028. package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
  1029. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1030. package/dist/unstable/reactivity/AsyncResult.js +10 -10
  1031. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1032. package/dist/unstable/reactivity/Atom.d.ts +25 -22
  1033. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1034. package/dist/unstable/reactivity/Atom.js +14 -13
  1035. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1036. package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
  1037. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1038. package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
  1039. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1040. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1041. package/dist/unstable/reactivity/AtomRegistry.js +24 -3
  1042. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1043. package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
  1044. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1045. package/dist/unstable/reactivity/AtomRpc.js +4 -1
  1046. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1047. package/dist/unstable/reactivity/Hydration.d.ts +1 -1
  1048. package/dist/unstable/reactivity/Hydration.js +1 -1
  1049. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1050. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1051. package/dist/unstable/reactivity/index.js.map +1 -1
  1052. package/dist/unstable/rpc/Rpc.d.ts +35 -33
  1053. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1054. package/dist/unstable/rpc/Rpc.js +4 -2
  1055. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1056. package/dist/unstable/rpc/RpcClient.d.ts +12 -12
  1057. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1058. package/dist/unstable/rpc/RpcClient.js +12 -11
  1059. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1060. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1061. package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
  1062. package/dist/unstable/rpc/RpcGroup.js +1 -1
  1063. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1064. package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
  1065. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1066. package/dist/unstable/rpc/RpcMessage.js +6 -6
  1067. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1068. package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
  1069. package/dist/unstable/rpc/RpcMiddleware.js +1 -1
  1070. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1071. package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
  1072. package/dist/unstable/rpc/RpcSchema.js +3 -3
  1073. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1074. package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
  1075. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1076. package/dist/unstable/rpc/RpcSerialization.js +175 -96
  1077. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1078. package/dist/unstable/rpc/RpcServer.d.ts +13 -13
  1079. package/dist/unstable/rpc/RpcServer.js +17 -13
  1080. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1081. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1082. package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
  1083. package/dist/unstable/rpc/RpcWorker.js +4 -4
  1084. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1085. package/dist/unstable/rpc/Utils.js.map +1 -1
  1086. package/dist/unstable/rpc/index.js.map +1 -1
  1087. package/dist/unstable/schema/Model.d.ts +52 -50
  1088. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1089. package/dist/unstable/schema/Model.js +35 -33
  1090. package/dist/unstable/schema/Model.js.map +1 -1
  1091. package/dist/unstable/schema/VariantSchema.d.ts +5 -5
  1092. package/dist/unstable/schema/VariantSchema.js +2 -2
  1093. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1094. package/dist/unstable/schema/index.js.map +1 -1
  1095. package/dist/unstable/socket/Socket.d.ts +11 -3
  1096. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1097. package/dist/unstable/socket/Socket.js +9 -4
  1098. package/dist/unstable/socket/Socket.js.map +1 -1
  1099. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1100. package/dist/unstable/socket/index.js.map +1 -1
  1101. package/dist/unstable/sql/Migrator.js.map +1 -1
  1102. package/dist/unstable/sql/SqlClient.d.ts +1 -1
  1103. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1104. package/dist/unstable/sql/SqlClient.js +2 -2
  1105. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1106. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1107. package/dist/unstable/sql/SqlError.js.map +1 -1
  1108. package/dist/unstable/sql/SqlModel.d.ts +2 -2
  1109. package/dist/unstable/sql/SqlModel.js +2 -2
  1110. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1111. package/dist/unstable/sql/SqlResolver.d.ts +5 -5
  1112. package/dist/unstable/sql/SqlResolver.js +2 -2
  1113. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1114. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1115. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1116. package/dist/unstable/sql/Statement.d.ts +6 -6
  1117. package/dist/unstable/sql/Statement.js +15 -15
  1118. package/dist/unstable/sql/Statement.js.map +1 -1
  1119. package/dist/unstable/sql/index.js.map +1 -1
  1120. package/dist/unstable/workers/Transferable.d.ts +1 -1
  1121. package/dist/unstable/workers/Transferable.js +1 -1
  1122. package/dist/unstable/workers/Transferable.js.map +1 -1
  1123. package/dist/unstable/workers/Worker.d.ts +2 -2
  1124. package/dist/unstable/workers/Worker.js +2 -2
  1125. package/dist/unstable/workers/Worker.js.map +1 -1
  1126. package/dist/unstable/workers/WorkerError.d.ts +7 -7
  1127. package/dist/unstable/workers/WorkerError.js +6 -6
  1128. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1129. package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
  1130. package/dist/unstable/workers/WorkerRunner.js +1 -1
  1131. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1132. package/dist/unstable/workers/index.js.map +1 -1
  1133. package/dist/unstable/workflow/Activity.d.ts +2 -2
  1134. package/dist/unstable/workflow/Activity.js +2 -2
  1135. package/dist/unstable/workflow/Activity.js.map +1 -1
  1136. package/dist/unstable/workflow/DurableClock.d.ts +1 -1
  1137. package/dist/unstable/workflow/DurableClock.js +1 -1
  1138. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1139. package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
  1140. package/dist/unstable/workflow/DurableDeferred.js +5 -5
  1141. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1142. package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
  1143. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1144. package/dist/unstable/workflow/DurableQueue.js +22 -20
  1145. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1146. package/dist/unstable/workflow/Workflow.d.ts +21 -21
  1147. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1148. package/dist/unstable/workflow/Workflow.js +13 -14
  1149. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1150. package/dist/unstable/workflow/WorkflowEngine.d.ts +1 -1
  1151. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1152. package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
  1153. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1154. package/dist/unstable/workflow/WorkflowProxy.js +4 -2
  1155. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1156. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1157. package/dist/unstable/workflow/index.js.map +1 -1
  1158. package/dist/unstable/workflow/internal/crypto.js.map +1 -1
  1159. package/package.json +5 -6
  1160. package/src/Array.ts +982 -1045
  1161. package/src/BigDecimal.ts +433 -756
  1162. package/src/BigInt.ts +213 -269
  1163. package/src/Boolean.ts +146 -188
  1164. package/src/Cache.ts +409 -255
  1165. package/src/Cause.ts +167 -277
  1166. package/src/Channel.ts +891 -816
  1167. package/src/ChannelSchema.ts +1 -1
  1168. package/src/Chunk.ts +841 -1181
  1169. package/src/Clock.ts +181 -49
  1170. package/src/Combiner.ts +20 -33
  1171. package/src/Config.ts +615 -332
  1172. package/src/ConfigProvider.ts +214 -120
  1173. package/src/Console.ts +289 -39
  1174. package/src/Context.ts +319 -378
  1175. package/src/Cron.ts +68 -77
  1176. package/src/Crypto.ts +13 -15
  1177. package/src/Data.ts +60 -80
  1178. package/src/DateTime.ts +564 -660
  1179. package/src/Deferred.ts +253 -256
  1180. package/src/Duration.ts +216 -308
  1181. package/src/Effect.ts +2893 -3279
  1182. package/src/Encoding.ts +22 -40
  1183. package/src/Equal.ts +49 -39
  1184. package/src/Equivalence.ts +103 -105
  1185. package/src/ErrorReporter.ts +51 -27
  1186. package/src/ExecutionPlan.ts +13 -55
  1187. package/src/Exit.ts +116 -192
  1188. package/src/Fiber.ts +81 -148
  1189. package/src/FiberHandle.ts +152 -105
  1190. package/src/FiberMap.ts +225 -174
  1191. package/src/FiberSet.ts +124 -82
  1192. package/src/FileSystem.ts +155 -263
  1193. package/src/Filter.ts +61 -33
  1194. package/src/Formatter.ts +54 -56
  1195. package/src/Function.ts +76 -145
  1196. package/src/Graph.ts +416 -770
  1197. package/src/HKT.ts +12 -6
  1198. package/src/Hash.ts +52 -83
  1199. package/src/HashMap.ts +319 -411
  1200. package/src/HashRing.ts +1 -0
  1201. package/src/HashSet.ts +177 -284
  1202. package/src/Inspectable.ts +12 -12
  1203. package/src/Iterable.ts +620 -786
  1204. package/src/JsonPatch.ts +58 -112
  1205. package/src/JsonPointer.ts +8 -8
  1206. package/src/JsonSchema.ts +402 -244
  1207. package/src/Latch.ts +23 -35
  1208. package/src/Layer.ts +359 -260
  1209. package/src/LayerMap.ts +49 -29
  1210. package/src/LayerRef.ts +6 -2
  1211. package/src/LogLevel.ts +114 -214
  1212. package/src/Logger.ts +344 -697
  1213. package/src/ManagedRuntime.ts +7 -5
  1214. package/src/Match.ts +217 -252
  1215. package/src/Metric.ts +516 -1089
  1216. package/src/MutableHashMap.ts +218 -255
  1217. package/src/MutableHashSet.ts +84 -89
  1218. package/src/MutableList.ts +73 -370
  1219. package/src/MutableRef.ts +420 -243
  1220. package/src/Newtype.ts +21 -14
  1221. package/src/NonEmptyIterable.ts +7 -137
  1222. package/src/Number.ts +196 -233
  1223. package/src/Optic.ts +243 -383
  1224. package/src/Option.ts +447 -812
  1225. package/src/Order.ts +109 -109
  1226. package/src/Ordering.ts +20 -23
  1227. package/src/Path.ts +38 -41
  1228. package/src/Pipeable.ts +6 -5
  1229. package/src/PlatformError.ts +4 -4
  1230. package/src/Pool.ts +4 -2
  1231. package/src/Predicate.ts +200 -181
  1232. package/src/PrimaryKey.ts +7 -7
  1233. package/src/PubSub.ts +526 -552
  1234. package/src/Pull.ts +24 -18
  1235. package/src/Queue.ts +200 -159
  1236. package/src/Random.ts +49 -74
  1237. package/src/RcMap.ts +121 -63
  1238. package/src/RcRef.ts +24 -13
  1239. package/src/Record.ts +291 -488
  1240. package/src/Redactable.ts +10 -3
  1241. package/src/Redacted.ts +25 -25
  1242. package/src/Reducer.ts +8 -15
  1243. package/src/Ref.ts +221 -361
  1244. package/src/References.ts +102 -168
  1245. package/src/RegExp.ts +10 -14
  1246. package/src/Request.ts +31 -21
  1247. package/src/RequestResolver.ts +202 -91
  1248. package/src/Result.ts +312 -484
  1249. package/src/Runtime.ts +50 -75
  1250. package/src/Schedule.ts +308 -1734
  1251. package/src/Scheduler.ts +20 -7
  1252. package/src/Schema.ts +716 -745
  1253. package/src/SchemaAST.ts +466 -358
  1254. package/src/SchemaError.ts +7 -6
  1255. package/src/SchemaGetter.ts +242 -190
  1256. package/src/SchemaIssue.ts +89 -275
  1257. package/src/SchemaParser.ts +180 -93
  1258. package/src/SchemaRepresentation.ts +22 -40
  1259. package/src/SchemaTransformation.ts +129 -88
  1260. package/src/Scope.ts +123 -151
  1261. package/src/ScopedRef.ts +4 -4
  1262. package/src/Semaphore.ts +152 -51
  1263. package/src/Sink.ts +128 -113
  1264. package/src/Stdio.ts +1 -1
  1265. package/src/Stream.ts +2602 -3123
  1266. package/src/String.ts +275 -312
  1267. package/src/Struct.ts +109 -114
  1268. package/src/SubscriptionRef.ts +284 -252
  1269. package/src/Symbol.ts +3 -3
  1270. package/src/Terminal.ts +2 -2
  1271. package/src/Tracer.ts +102 -55
  1272. package/src/Trie.ts +287 -679
  1273. package/src/Tuple.ts +92 -127
  1274. package/src/TxChunk.ts +201 -121
  1275. package/src/TxDeferred.ts +62 -46
  1276. package/src/TxHashMap.ts +645 -799
  1277. package/src/TxHashSet.ts +443 -356
  1278. package/src/TxPriorityQueue.ts +130 -98
  1279. package/src/TxPubSub.ts +107 -80
  1280. package/src/TxQueue.ts +214 -183
  1281. package/src/TxReentrantLock.ts +97 -66
  1282. package/src/TxRef.ts +51 -32
  1283. package/src/TxSemaphore.ts +129 -95
  1284. package/src/TxSubscriptionRef.ts +97 -70
  1285. package/src/Types.ts +126 -67
  1286. package/src/Unify.ts +45 -65
  1287. package/src/Utils.ts +23 -16
  1288. package/src/internal/core.ts +2 -2
  1289. package/src/internal/dateTime.ts +6 -0
  1290. package/src/internal/effect.ts +93 -48
  1291. package/src/internal/persistence.ts +2 -0
  1292. package/src/internal/references.ts +3 -2
  1293. package/src/internal/schema/fromJsonSchemaDocument.ts +15 -13
  1294. package/src/internal/schema/fromRepresentation.ts +10 -16
  1295. package/src/internal/schema/parser.ts +22 -0
  1296. package/src/internal/schema/toJsonSchemaDocument.ts +60 -6
  1297. package/src/internal/schema/toRepresentation.ts +104 -119
  1298. package/src/internal/trie.ts +10 -11
  1299. package/src/testing/FastCheck.ts +8 -7
  1300. package/src/testing/TestClock.ts +72 -30
  1301. package/src/testing/TestConsole.ts +32 -31
  1302. package/src/testing/TestSchema.ts +29 -29
  1303. package/src/unstable/ai/AiError.ts +95 -118
  1304. package/src/unstable/ai/AnthropicStructuredOutput.ts +1 -1
  1305. package/src/unstable/ai/Chat.ts +132 -97
  1306. package/src/unstable/ai/IdGenerator.ts +32 -28
  1307. package/src/unstable/ai/LanguageModel.ts +107 -67
  1308. package/src/unstable/ai/McpProtocol.ts +48 -0
  1309. package/src/unstable/ai/McpSchema.ts +60 -50
  1310. package/src/unstable/ai/McpServer.ts +930 -304
  1311. package/src/unstable/ai/Model.ts +9 -20
  1312. package/src/unstable/ai/OpenAiStructuredOutput.ts +1 -1
  1313. package/src/unstable/ai/Prompt.ts +145 -43
  1314. package/src/unstable/ai/Response.ts +28 -14
  1315. package/src/unstable/ai/Telemetry.ts +46 -13
  1316. package/src/unstable/ai/Tokenizer.ts +14 -3
  1317. package/src/unstable/ai/Tool.ts +59 -44
  1318. package/src/unstable/ai/Toolkit.ts +26 -8
  1319. package/src/unstable/ai/index.ts +5 -0
  1320. package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
  1321. package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
  1322. package/src/unstable/ai/internal/structured-output.ts +13 -18
  1323. package/src/unstable/cli/Argument.ts +273 -69
  1324. package/src/unstable/cli/CliError.ts +69 -76
  1325. package/src/unstable/cli/CliOutput.ts +44 -58
  1326. package/src/unstable/cli/Command.ts +705 -107
  1327. package/src/unstable/cli/Flag.ts +418 -138
  1328. package/src/unstable/cli/GlobalFlag.ts +1 -1
  1329. package/src/unstable/cli/HelpDoc.ts +12 -4
  1330. package/src/unstable/cli/Param.ts +292 -78
  1331. package/src/unstable/cli/Primitive.ts +370 -149
  1332. package/src/unstable/cli/Prompt.ts +28 -14
  1333. package/src/unstable/cli/internal/lexer.ts +8 -2
  1334. package/src/unstable/cli/internal/parser.ts +2 -2
  1335. package/src/unstable/cluster/ClusterSchema.ts +8 -8
  1336. package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -1
  1337. package/src/unstable/cluster/Entity.ts +15 -16
  1338. package/src/unstable/cluster/EntityProxy.ts +4 -2
  1339. package/src/unstable/cluster/EntityResource.ts +2 -2
  1340. package/src/unstable/cluster/Envelope.ts +3 -3
  1341. package/src/unstable/cluster/HttpRunner.ts +6 -4
  1342. package/src/unstable/cluster/Message.ts +9 -9
  1343. package/src/unstable/cluster/MessageStorage.ts +15 -15
  1344. package/src/unstable/cluster/Reply.ts +4 -6
  1345. package/src/unstable/cluster/RunnerHealth.ts +1 -1
  1346. package/src/unstable/cluster/RunnerServer.ts +41 -8
  1347. package/src/unstable/cluster/RunnerStorage.ts +2 -2
  1348. package/src/unstable/cluster/Runners.ts +23 -12
  1349. package/src/unstable/cluster/Sharding.ts +7 -8
  1350. package/src/unstable/cluster/ShardingConfig.ts +3 -3
  1351. package/src/unstable/cluster/SingletonAddress.ts +1 -1
  1352. package/src/unstable/cluster/Snowflake.ts +8 -8
  1353. package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
  1354. package/src/unstable/cluster/SqlRunnerStorage.ts +21 -5
  1355. package/src/unstable/cluster/internal/entityManager.ts +11 -15
  1356. package/src/unstable/encoding/Msgpack.ts +6 -8
  1357. package/src/unstable/encoding/Sse.ts +98 -16
  1358. package/src/unstable/eventlog/Event.ts +20 -20
  1359. package/src/unstable/eventlog/EventGroup.ts +4 -4
  1360. package/src/unstable/eventlog/EventJournal.ts +15 -15
  1361. package/src/unstable/eventlog/EventLog.ts +3 -3
  1362. package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
  1363. package/src/unstable/eventlog/EventLogMessage.ts +2 -2
  1364. package/src/unstable/eventlog/EventLogRemote.ts +1 -1
  1365. package/src/unstable/eventlog/EventLogServer.ts +41 -7
  1366. package/src/unstable/eventlog/EventLogServerEncrypted.ts +13 -5
  1367. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +14 -6
  1368. package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
  1369. package/src/unstable/http/Cookies.ts +35 -21
  1370. package/src/unstable/http/Etag.ts +1 -1
  1371. package/src/unstable/http/FetchHttpClient.ts +3 -1
  1372. package/src/unstable/http/Headers.ts +2 -2
  1373. package/src/unstable/http/HttpBody.ts +20 -5
  1374. package/src/unstable/http/HttpClient.ts +83 -55
  1375. package/src/unstable/http/HttpClientRequest.ts +2 -0
  1376. package/src/unstable/http/HttpClientResponse.ts +4 -4
  1377. package/src/unstable/http/HttpEffect.ts +8 -8
  1378. package/src/unstable/http/HttpMethod.ts +6 -9
  1379. package/src/unstable/http/HttpMiddleware.ts +202 -39
  1380. package/src/unstable/http/HttpPlatform.ts +95 -0
  1381. package/src/unstable/http/HttpRouter.ts +102 -98
  1382. package/src/unstable/http/HttpServer.ts +13 -13
  1383. package/src/unstable/http/HttpServerError.ts +2 -2
  1384. package/src/unstable/http/HttpServerRequest.ts +4 -4
  1385. package/src/unstable/http/HttpServerResponse.ts +30 -0
  1386. package/src/unstable/http/HttpStaticServer.ts +35 -7
  1387. package/src/unstable/http/Multipart.ts +6 -6
  1388. package/src/unstable/http/Url.ts +33 -63
  1389. package/src/unstable/http/UrlParams.ts +10 -18
  1390. package/src/unstable/http/internal/compression.ts +196 -0
  1391. package/src/unstable/httpapi/HttpApiBuilder.ts +10 -9
  1392. package/src/unstable/httpapi/HttpApiClient.ts +14 -14
  1393. package/src/unstable/httpapi/HttpApiEndpoint.ts +42 -42
  1394. package/src/unstable/httpapi/HttpApiError.ts +13 -13
  1395. package/src/unstable/httpapi/HttpApiGroup.ts +15 -15
  1396. package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
  1397. package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
  1398. package/src/unstable/httpapi/HttpApiSchema.ts +6 -6
  1399. package/src/unstable/httpapi/OpenApi.ts +13 -13
  1400. package/src/unstable/observability/OtlpExporter.ts +31 -19
  1401. package/src/unstable/observability/OtlpMetrics.ts +4 -1
  1402. package/src/unstable/observability/OtlpResource.ts +26 -17
  1403. package/src/unstable/observability/PrometheusMetrics.ts +13 -4
  1404. package/src/unstable/observability/internal/otlpEnv.ts +1 -1
  1405. package/src/unstable/observability/internal/protobuf.ts +3 -0
  1406. package/src/unstable/persistence/KeyValueStore.ts +72 -49
  1407. package/src/unstable/persistence/Persistable.ts +8 -8
  1408. package/src/unstable/persistence/PersistedQueue.ts +6 -6
  1409. package/src/unstable/persistence/Persistence.ts +126 -19
  1410. package/src/unstable/persistence/RateLimiter.ts +26 -15
  1411. package/src/unstable/persistence/Redis.ts +2 -2
  1412. package/src/unstable/process/ChildProcess.ts +64 -21
  1413. package/src/unstable/process/ChildProcessSpawner.ts +21 -10
  1414. package/src/unstable/reactivity/AsyncResult.ts +12 -13
  1415. package/src/unstable/reactivity/Atom.ts +28 -25
  1416. package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
  1417. package/src/unstable/reactivity/AtomRegistry.ts +24 -3
  1418. package/src/unstable/reactivity/AtomRpc.ts +5 -4
  1419. package/src/unstable/reactivity/Hydration.ts +1 -1
  1420. package/src/unstable/rpc/Rpc.ts +35 -33
  1421. package/src/unstable/rpc/RpcClient.ts +16 -15
  1422. package/src/unstable/rpc/RpcGroup.ts +8 -8
  1423. package/src/unstable/rpc/RpcMessage.ts +31 -30
  1424. package/src/unstable/rpc/RpcMiddleware.ts +10 -10
  1425. package/src/unstable/rpc/RpcSchema.ts +4 -4
  1426. package/src/unstable/rpc/RpcSerialization.ts +167 -68
  1427. package/src/unstable/rpc/RpcServer.ts +18 -15
  1428. package/src/unstable/rpc/RpcWorker.ts +5 -5
  1429. package/src/unstable/schema/Model.ts +52 -50
  1430. package/src/unstable/schema/VariantSchema.ts +5 -5
  1431. package/src/unstable/socket/Socket.ts +17 -4
  1432. package/src/unstable/sql/SqlClient.ts +5 -6
  1433. package/src/unstable/sql/SqlModel.ts +2 -2
  1434. package/src/unstable/sql/SqlResolver.ts +5 -5
  1435. package/src/unstable/sql/Statement.ts +24 -23
  1436. package/src/unstable/workers/Transferable.ts +1 -1
  1437. package/src/unstable/workers/Worker.ts +2 -2
  1438. package/src/unstable/workers/WorkerError.ts +7 -7
  1439. package/src/unstable/workers/WorkerRunner.ts +1 -1
  1440. package/src/unstable/workflow/Activity.ts +2 -2
  1441. package/src/unstable/workflow/DurableClock.ts +1 -1
  1442. package/src/unstable/workflow/DurableDeferred.ts +10 -10
  1443. package/src/unstable/workflow/DurableQueue.ts +22 -20
  1444. package/src/unstable/workflow/Workflow.ts +23 -23
  1445. package/src/unstable/workflow/WorkflowEngine.ts +1 -1
  1446. package/src/unstable/workflow/WorkflowProxy.ts +4 -2
  1447. package/dist/internal/version.d.ts +0 -3
  1448. package/dist/internal/version.d.ts.map +0 -1
  1449. package/dist/internal/version.js +0 -2
  1450. package/dist/internal/version.js.map +0 -1
  1451. package/src/internal/version.ts +0 -2
package/dist/Metric.js CHANGED
@@ -27,12 +27,8 @@ import * as _String from "./String.js";
27
27
  *
28
28
  * **Example** (Accessing the current metric attributes key)
29
29
  *
30
- * ```ts
31
- * import { Data, Effect, Metric } from "effect"
32
- *
33
- * class AttributesKeyError extends Data.TaggedError("AttributesKeyError")<{
34
- * readonly operation: string
35
- * }> {}
30
+ * ```ts import.meta.vitest
31
+ * import { Effect, Metric } from "effect"
36
32
  *
37
33
  * const program = Effect.gen(function*() {
38
34
  * // The key is used internally by the Effect runtime to manage metric attributes
@@ -66,9 +62,12 @@ import * as _String from "./String.js";
66
62
  * isConstant: key === "effect/Metric/CurrentMetricAttributes" // true
67
63
  * }
68
64
  * })
65
+ *
66
+ * const result = await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map()))
67
+ * const key = result // => { keyValue: "effect/Metric/CurrentMetricAttributes", keyType: "string", isConstant: true }
69
68
  * ```
70
69
  *
71
- * @category references
70
+ * @category constants
72
71
  * @since 4.0.0
73
72
  */
74
73
  export const CurrentMetricAttributesKey = "effect/Metric/CurrentMetricAttributes";
@@ -89,17 +88,12 @@ export const CurrentMetricAttributesKey = "effect/Metric/CurrentMetricAttributes
89
88
  *
90
89
  * **Example** (Providing current metric attributes)
91
90
  *
92
- * ```ts
93
- * import { Data, Effect, Metric } from "effect"
94
- *
95
- * class AttributesError extends Data.TaggedError("AttributesError")<{
96
- * readonly operation: string
97
- * }> {}
91
+ * ```ts import.meta.vitest
92
+ * import { Effect, Metric } from "effect"
98
93
  *
99
94
  * const program = Effect.gen(function*() {
100
95
  * // Access current metric attributes
101
- * const attributes = yield* Metric.CurrentMetricAttributes
102
- * console.log("Current attributes:", attributes)
96
+ * yield* Metric.CurrentMetricAttributes
103
97
  *
104
98
  * // Set new attributes context
105
99
  * const newAttributes = { service: "api", version: "1.0" }
@@ -114,9 +108,12 @@ export const CurrentMetricAttributesKey = "effect/Metric/CurrentMetricAttributes
114
108
  *
115
109
  * return result
116
110
  * })
111
+ *
112
+ * const attributes = await Effect.runPromise(program)
113
+ * const actual = attributes // => { service: "api", version: "1.0" }
117
114
  * ```
118
115
  *
119
- * @category references
116
+ * @category services
120
117
  * @since 4.0.0
121
118
  */
122
119
  export const CurrentMetricAttributes = /*#__PURE__*/Context.Reference(CurrentMetricAttributesKey, {
@@ -146,7 +143,7 @@ const MetricRegistryKey = "~effect/observability/Metric/MetricRegistryKey";
146
143
  * @see {@link snapshot} for reading all registered metrics from the current `Effect` context
147
144
  * @see {@link snapshotUnsafe} for reading all registered metrics from an explicit `Context`
148
145
  *
149
- * @category references
146
+ * @category services
150
147
  * @since 4.0.0
151
148
  */
152
149
  export const MetricRegistry = /*#__PURE__*/Context.Reference(MetricRegistryKey, {
@@ -394,8 +391,8 @@ class SummaryMetric extends Metric$ {
394
391
  return sortedQuantiles.map(q => [q, undefined]);
395
392
  }
396
393
  // Compute the value of the quantile in terms of rank:
397
- // > For a given quantile `q`, return the maximum value `v` such that at
398
- // > most `q * n` values are less than or equal to `v`.
394
+ // For a given quantile `q`, return the maximum value `v` such that at
395
+ // most `q * n` values are less than or equal to `v`.
399
396
  return sortedQuantiles.map(q => {
400
397
  if (q <= 0) return [q, samples[0]];
401
398
  if (q >= 1) return [q, samples[sampleSize - 1]];
@@ -461,23 +458,17 @@ class MetricTransform extends Metric$ {
461
458
  *
462
459
  * **Example** (Checking metric values)
463
460
  *
464
- * ```ts
461
+ * ```ts import.meta.vitest
465
462
  * import { Metric } from "effect"
466
463
  *
467
- * const counter = Metric.counter("requests")
468
- * const gauge = Metric.gauge("temperature")
469
- * const notAMetric = { name: "fake-metric" }
470
- *
471
- * console.log(Metric.isMetric(counter)) // true
472
- * console.log(Metric.isMetric(gauge)) // true
473
- * console.log(Metric.isMetric(notAMetric)) // false
474
- * console.log(Metric.isMetric(null)) // false
464
+ * Metric.isMetric(Metric.counter("requests")) // => true
465
+ * Metric.isMetric({ name: "requests" }) // => false
475
466
  * ```
476
467
  *
477
468
  * @category guards
478
469
  * @since 4.0.0
479
470
  */
480
- export const isMetric = u => Predicate.hasProperty(u, "~effect/Metric") && u["~effect/Metric"] === "~effect/Metric";
471
+ export const isMetric = u => Predicate.hasProperty(u, TypeId) && u[TypeId] === TypeId;
481
472
  /**
482
473
  * Represents a Counter metric that tracks cumulative numerical values over
483
474
  * time. Counters can be incremented and decremented and provide a running total
@@ -492,12 +483,8 @@ export const isMetric = u => Predicate.hasProperty(u, "~effect/Metric") && u["~e
492
483
  *
493
484
  * **Example** (Creating counter metrics)
494
485
  *
495
- * ```ts
496
- * import { Data, Effect, Metric } from "effect"
497
- *
498
- * class CounterError extends Data.TaggedError("CounterError")<{
499
- * readonly operation: string
500
- * }> {}
486
+ * ```ts import.meta.vitest
487
+ * import { Effect, Metric } from "effect"
501
488
  *
502
489
  * const program = Effect.gen(function*() {
503
490
  * // Create a basic counter for tracking requests
@@ -531,6 +518,9 @@ export const isMetric = u => Predicate.hasProperty(u, "~effect/Metric") && u["~e
531
518
  *
532
519
  * return { requestValue, eventValue, bytesValue }
533
520
  * })
521
+ *
522
+ * const result = await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map()))
523
+ * const counts = [result.requestValue.count, result.eventValue.count, result.bytesValue.count] // => [6, 1, 1024n]
534
524
  * ```
535
525
  *
536
526
  * @category constructors
@@ -554,12 +544,8 @@ export const counter = (name, options) => new CounterMetric(name, options);
554
544
  *
555
545
  * **Example** (Creating gauge metrics)
556
546
  *
557
- * ```ts
558
- * import { Data, Effect, Metric } from "effect"
559
- *
560
- * class GaugeError extends Data.TaggedError("GaugeError")<{
561
- * readonly operation: string
562
- * }> {}
547
+ * ```ts import.meta.vitest
548
+ * import { Effect, Metric } from "effect"
563
549
  *
564
550
  * const program = Effect.gen(function*() {
565
551
  * // Create a gauge for tracking memory usage
@@ -598,6 +584,9 @@ export const counter = (name, options) => new CounterMetric(name, options);
598
584
  *
599
585
  * return { memoryValue, cpuValue, diskValue }
600
586
  * })
587
+ *
588
+ * const result = await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map()))
589
+ * const values = [result.memoryValue.value, result.cpuValue.value, result.diskValue.value] // => [800, 75, 1024000000n]
601
590
  * ```
602
591
  *
603
592
  * @category constructors
@@ -621,12 +610,8 @@ export const gauge = (name, options) => new GaugeMetric(name, options);
621
610
  *
622
611
  * **Example** (Creating frequency metrics)
623
612
  *
624
- * ```ts
625
- * import { Data, Effect, Metric } from "effect"
626
- *
627
- * class FrequencyError extends Data.TaggedError("FrequencyError")<{
628
- * readonly operation: string
629
- * }> {}
613
+ * ```ts import.meta.vitest
614
+ * import { Effect, Metric } from "effect"
630
615
  *
631
616
  * const program = Effect.gen(function*() {
632
617
  * // Create a frequency metric for HTTP status codes
@@ -676,6 +661,14 @@ export const gauge = (name, options) => new GaugeMetric(name, options);
676
661
  *
677
662
  * return { statusCounts, actionCounts, errorCounts }
678
663
  * })
664
+ *
665
+ * const result = await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map()))
666
+ * const counts = [
667
+ * result.statusCounts.occurrences.get("200"),
668
+ * result.actionCounts.occurrences.get("login"),
669
+ * result.errorCounts.occurrences.get("ValidationError")
670
+ * ]
671
+ * counts // => [3, 2, 2]
679
672
  * ```
680
673
  *
681
674
  * @category constructors
@@ -698,19 +691,15 @@ export const frequency = (name, options) => new FrequencyMetric(name, options);
698
691
  *
699
692
  * **Example** (Creating histogram metrics)
700
693
  *
701
- * ```ts
702
- * import { Data, Effect, Metric } from "effect"
703
- *
704
- * class HistogramError extends Data.TaggedError("HistogramError")<{
705
- * readonly operation: string
706
- * }> {}
694
+ * ```ts import.meta.vitest
695
+ * import { Effect, Metric } from "effect"
707
696
  *
708
697
  * const program = Effect.gen(function*() {
709
698
  * // Create a histogram for API response times
710
699
  * const responseTimeHistogram = Metric.histogram("api_response_time", {
711
700
  * description: "Distribution of API response times in milliseconds",
712
701
  * boundaries: Metric.linearBoundaries({ start: 0, width: 50, count: 10 })
713
- * // Creates buckets: 0-50ms, 50-100ms, 100-150ms, ..., 400-450ms, 450ms+
702
+ * // Creates buckets: 0-50ms, 50-100ms, 100-150ms, ..., 350-400ms, 400ms+
714
703
  * })
715
704
  *
716
705
  * // Create a histogram for request payload sizes
@@ -750,6 +739,10 @@ export const frequency = (name, options) => new FrequencyMetric(name, options);
750
739
  *
751
740
  * return { responseTimeState, payloadSizeState }
752
741
  * })
742
+ *
743
+ * const result = await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map()))
744
+ * const values = [result.responseTimeState.count, result.responseTimeState.sum, result.payloadSizeState.count]
745
+ * values // => [5, 500, 3]
753
746
  * ```
754
747
  *
755
748
  * @category constructors
@@ -774,12 +767,8 @@ export const histogram = (name, options) => new HistogramMetric(name, options);
774
767
  *
775
768
  * **Example** (Creating summary metrics)
776
769
  *
777
- * ```ts
778
- * import { Data, Duration, Effect, Metric } from "effect"
779
- *
780
- * class SummaryError extends Data.TaggedError("SummaryError")<{
781
- * readonly operation: string
782
- * }> {}
770
+ * ```ts import.meta.vitest
771
+ * import { Duration, Effect, Metric } from "effect"
783
772
  *
784
773
  * const program = Effect.gen(function*() {
785
774
  * // Create a summary for API response times
@@ -815,24 +804,16 @@ export const histogram = (name, options) => new HistogramMetric(name, options);
815
804
  * const responseStats = yield* Metric.value(responseTimeSummary)
816
805
  * const payloadStats = yield* Metric.value(payloadSizeSummary)
817
806
  *
818
- * console.log({
819
- * count: responseStats.count,
820
- * min: responseStats.min,
821
- * max: responseStats.max,
822
- * sum: responseStats.sum
823
- * }) // { count: 8, min: 82, max: 240, sum: 1155 }
824
- *
825
- * console.log({
826
- * count: payloadStats.count,
827
- * min: payloadStats.min,
828
- * max: payloadStats.max,
829
- * sum: payloadStats.sum
830
- * }) // { count: 4, min: 1.2, max: 15.6, sum: 26 }
831
- *
832
807
  * // Both summaries include quantile information for their configured windows.
833
808
  *
834
809
  * return { responseStats, payloadStats }
835
810
  * })
811
+ *
812
+ * const result = await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map()))
813
+ * const response = result.responseStats
814
+ * const payload = result.payloadStats
815
+ * const responseValues = [response.count, response.min, response.max, response.sum] // => [8, 82, 240, 1155]
816
+ * const payloadValues = [payload.count, payload.min, payload.max, payload.sum] // => [4, 1.2, 15.6, 26]
836
817
  * ```
837
818
  *
838
819
  * @category constructors
@@ -860,7 +841,7 @@ export const summary = (name, options) => mapInput(summaryWithTimestamp(name, op
860
841
  *
861
842
  * **Example** (Creating summaries with explicit timestamps)
862
843
  *
863
- * ```ts
844
+ * ```ts import.meta.vitest
864
845
  * import { Metric } from "effect"
865
846
  *
866
847
  * const responseTimesSummary = Metric.summaryWithTimestamp(
@@ -872,6 +853,7 @@ export const summary = (name, options) => mapInput(summaryWithTimestamp(name, op
872
853
  * quantiles: [0.5, 0.9, 0.99] // Calculate 50th, 90th, and 99th quantiles.
873
854
  * }
874
855
  * )
856
+ * const metadata = [responseTimesSummary.id, responseTimesSummary.type] // => ["response_times_summary", "Summary"]
875
857
  * ```
876
858
  *
877
859
  * @category constructors
@@ -892,12 +874,8 @@ export const summaryWithTimestamp = (name, options) => new SummaryMetric(name, o
892
874
  *
893
875
  * **Example** (Recording durations with a timer)
894
876
  *
895
- * ```ts
896
- * import { Data, Duration, Effect, Metric } from "effect"
897
- *
898
- * class TimerError extends Data.TaggedError("TimerError")<{
899
- * readonly operation: string
900
- * }> {}
877
+ * ```ts import.meta.vitest
878
+ * import { Duration, Effect, Metric } from "effect"
901
879
  *
902
880
  * // Create a timer metric to track API request durations
903
881
  * const apiRequestTimer = Metric.timer("api_request_duration", {
@@ -911,13 +889,17 @@ export const summaryWithTimestamp = (name, options) => new SummaryMetric(name, o
911
889
  * yield* Metric.update(apiRequestTimer, duration)
912
890
  *
913
891
  * const state = yield* Metric.value(apiRequestTimer)
914
- * console.log({
892
+ * return {
915
893
  * count: state.count,
916
894
  * min: state.min,
917
895
  * max: state.max,
918
896
  * sum: state.sum
919
- * }) // { count: 1, min: 120, max: 120, sum: 120 }
897
+ * }
920
898
  * })
899
+ *
900
+ * await Effect.runPromise(
901
+ * Effect.provideService(apiOperation, Metric.MetricRegistry, new Map())
902
+ * ) // => { count: 1, min: 120, max: 120, sum: 120 }
921
903
  * ```
922
904
  *
923
905
  * @category constructors
@@ -953,10 +935,10 @@ export const timer = (name, options) => {
953
935
  *
954
936
  * **Example** (Reading metric state)
955
937
  *
956
- * ```ts
938
+ * ```ts import.meta.vitest
957
939
  * import { Effect, Metric } from "effect"
958
940
  *
959
- * const requestCounter = Metric.counter("requests")
941
+ * const requestCounter = Metric.counter("modify_requests")
960
942
  * const responseTime = Metric.histogram("response_time", {
961
943
  * boundaries: [100, 500, 1000, 2000]
962
944
  * })
@@ -968,16 +950,19 @@ export const timer = (name, options) => {
968
950
  *
969
951
  * // Get current values
970
952
  * const counterState = yield* Metric.value(requestCounter)
971
- * console.log(`Request count: ${counterState.count}`)
972
- *
973
953
  * const histogramState = yield* Metric.value(responseTime)
974
- * console.log(`Response time stats:`, {
954
+ * return {
955
+ * requestCount: counterState.count,
975
956
  * count: histogramState.count,
976
957
  * min: histogramState.min,
977
958
  * max: histogramState.max,
978
959
  * average: histogramState.sum / histogramState.count
979
- * })
960
+ * }
980
961
  * })
962
+ *
963
+ * await Effect.runPromise(
964
+ * Effect.provideService(program, Metric.MetricRegistry, new Map())
965
+ * ) // => { requestCount: 1, count: 1, min: 750, max: 750, average: 750 }
981
966
  * ```
982
967
  *
983
968
  * @category getters
@@ -997,7 +982,7 @@ export const value = self => InternalEffect.flatMap(InternalEffect.context(), co
997
982
  *
998
983
  * **Example** (Modifying metric values)
999
984
  *
1000
- * ```ts
985
+ * ```ts import.meta.vitest
1001
986
  * import { Effect, Metric } from "effect"
1002
987
  *
1003
988
  * const temperatureGauge = Metric.gauge("temperature")
@@ -1017,10 +1002,10 @@ export const value = self => InternalEffect.flatMap(InternalEffect.context(), co
1017
1002
  *
1018
1003
  * const temp = yield* Metric.value(temperatureGauge)
1019
1004
  * const requests = yield* Metric.value(requestCounter)
1020
- *
1021
- * console.log(`Temperature: ${temp.value}°C`) // 22°C
1022
- * console.log(`Requests: ${requests.count}`) // 15
1005
+ * return [temp.value, requests.count] as const
1023
1006
  * })
1007
+ *
1008
+ * await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map())) // => [22, 15]
1024
1009
  * ```
1025
1010
  *
1026
1011
  * @category mutations
@@ -1040,7 +1025,7 @@ export const modify = /*#__PURE__*/dual(2, (self, input) => InternalEffect.flatM
1040
1025
  *
1041
1026
  * **Example** (Updating metric values)
1042
1027
  *
1043
- * ```ts
1028
+ * ```ts import.meta.vitest
1044
1029
  * import { Effect, Metric } from "effect"
1045
1030
  *
1046
1031
  * const cpuUsage = Metric.gauge("cpu_usage_percent")
@@ -1068,11 +1053,10 @@ export const modify = /*#__PURE__*/dual(2, (self, input) => InternalEffect.flatM
1068
1053
  * const cpu = yield* Metric.value(cpuUsage)
1069
1054
  * const statuses = yield* Metric.value(httpStatus)
1070
1055
  * const times = yield* Metric.value(responseTime)
1071
- *
1072
- * console.log(`CPU Usage: ${cpu.value}%`)
1073
- * console.log(`Status 200 count: ${statuses.occurrences.get("200")}`) // 2
1074
- * console.log(`Response time samples: ${times.count}`) // 3
1056
+ * return [cpu.value, statuses.occurrences.get("200"), times.count] as const
1075
1057
  * })
1058
+ *
1059
+ * await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map())) // => [67.8, 2, 3]
1076
1060
  * ```
1077
1061
  *
1078
1062
  * @category mutations
@@ -1086,36 +1070,30 @@ export const update = /*#__PURE__*/dual(2, (self, input) => InternalEffect.conte
1086
1070
  *
1087
1071
  * **Example** (Mapping metric inputs)
1088
1072
  *
1089
- * ```ts
1090
- * import { Data, Effect, Metric } from "effect"
1091
- *
1092
- * class MetricError extends Data.TaggedError("MetricError")<{
1093
- * readonly operation: string
1094
- * }> {}
1073
+ * ```ts import.meta.vitest
1074
+ * import { Effect, Metric } from "effect"
1095
1075
  *
1096
- * // Create a histogram that expects Duration values
1097
1076
  * const durationHistogram = Metric.histogram("request_duration_ms", {
1098
1077
  * description: "Request duration in milliseconds",
1099
1078
  * boundaries: Metric.linearBoundaries({ start: 0, width: 100, count: 10 })
1100
1079
  * })
1101
1080
  *
1102
- * // Transform to accept number values representing milliseconds
1103
- * const numberHistogram = Metric.mapInput(
1081
+ * // Accept duration strings while recording numeric milliseconds
1082
+ * const durationStringHistogram = Metric.mapInput(
1104
1083
  * durationHistogram,
1105
- * (ms: number) => ms // Direct mapping from number to expected input
1084
+ * (input: string) => Number(input)
1106
1085
  * )
1107
1086
  *
1108
1087
  * const program = Effect.gen(function*() {
1109
- * // Now we can update with a plain number
1110
- * yield* Metric.update(numberHistogram, 250)
1111
- *
1112
- * // Get metric value to see the recorded state
1113
- * const value = yield* Metric.value(numberHistogram)
1114
- * return value
1088
+ * yield* Metric.update(durationStringHistogram, "250")
1089
+ * return yield* Metric.value(durationStringHistogram)
1115
1090
  * })
1091
+ *
1092
+ * const value = await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map()))
1093
+ * const values = [value.count, value.sum] // => [1, 250]
1116
1094
  * ```
1117
1095
  *
1118
- * @category mapping
1096
+ * @category annotations
1119
1097
  * @since 2.0.0
1120
1098
  */
1121
1099
  export const mapInput = /*#__PURE__*/dual(2, (self, f) => new MetricTransform(self, context => self.valueUnsafe(context), (input, context) => self.updateUnsafe(f(input, context), context), (input, context) => self.modifyUnsafe(f(input, context), context)));
@@ -1126,12 +1104,8 @@ export const mapInput = /*#__PURE__*/dual(2, (self, f) => new MetricTransform(se
1126
1104
  *
1127
1105
  * **Example** (Ignoring inputs with a constant value)
1128
1106
  *
1129
- * ```ts
1130
- * import { Data, Effect, Metric } from "effect"
1131
- *
1132
- * class MetricError extends Data.TaggedError("MetricError")<{
1133
- * readonly operation: string
1134
- * }> {}
1107
+ * ```ts import.meta.vitest
1108
+ * import { Effect, Metric } from "effect"
1135
1109
  *
1136
1110
  * // Create a counter that normally expects a number increment
1137
1111
  * const requestCounter = Metric.counter("total_requests", {
@@ -1150,9 +1124,12 @@ export const mapInput = /*#__PURE__*/dual(2, (self, f) => new MetricTransform(se
1150
1124
  * const value = yield* Metric.value(simpleRequestCounter)
1151
1125
  * return value // Counter state will show count: 3
1152
1126
  * })
1127
+ *
1128
+ * const value = await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map()))
1129
+ * const count = value.count // => 3
1153
1130
  * ```
1154
1131
  *
1155
- * @category Input
1132
+ * @category mapping
1156
1133
  * @since 2.0.0
1157
1134
  */
1158
1135
  export const withConstantInput = /*#__PURE__*/dual(2, (self, input) => mapInput(self, () => input));
@@ -1167,7 +1144,7 @@ export const withConstantInput = /*#__PURE__*/dual(2, (self, input) => mapInput(
1167
1144
  *
1168
1145
  * **Example** (Applying metric attributes)
1169
1146
  *
1170
- * ```ts
1147
+ * ```ts import.meta.vitest
1171
1148
  * import { Effect, Metric } from "effect"
1172
1149
  *
1173
1150
  * const requestCounter = Metric.counter("http_requests_total", {
@@ -1200,18 +1177,17 @@ export const withConstantInput = /*#__PURE__*/dual(2, (self, input) => mapInput(
1200
1177
  * yield* Metric.update(taggedMetric, 1) // http_requests_total{service="user-api", version="v1"}
1201
1178
  * })
1202
1179
  *
1203
- * // When taking snapshots, each attribute combination appears as a separate metric
1204
- * const viewMetrics = Effect.gen(function*() {
1205
- * const snapshots = yield* Metric.snapshot
1206
- * for (const metric of snapshots) {
1207
- * if (metric.id === "http_requests_total") {
1208
- * console.log(`${metric.id}`, metric.attributes, metric.state)
1209
- * }
1210
- * }
1180
+ * const result = Effect.gen(function*() {
1181
+ * yield* program
1182
+ * const get = yield* Metric.value(getRequests)
1183
+ * const post = yield* Metric.value(postRequests)
1184
+ * return [get.count, post.count] as const
1211
1185
  * })
1186
+ *
1187
+ * await Effect.runPromise(Effect.provideService(result, Metric.MetricRegistry, new Map())) // => [2, 1]
1212
1188
  * ```
1213
1189
  *
1214
- * @category Attributes
1190
+ * @category mapping
1215
1191
  * @since 4.0.0
1216
1192
  */
1217
1193
  export const withAttributes = /*#__PURE__*/dual(2, (self, attributes) => new MetricTransform(self, context => self.valueUnsafe(addAttributesToContext(context, attributes)), (input, context) => self.updateUnsafe(input, addAttributesToContext(context, attributes)), (input, context) => self.modifyUnsafe(input, addAttributesToContext(context, attributes))));
@@ -1226,12 +1202,8 @@ export const withAttributes = /*#__PURE__*/dual(2, (self, attributes) => new Met
1226
1202
  *
1227
1203
  * **Example** (Capturing metric snapshots)
1228
1204
  *
1229
- * ```ts
1230
- * import { Console, Data, Effect, Metric } from "effect"
1231
- *
1232
- * class SnapshotError extends Data.TaggedError("SnapshotError")<{
1233
- * readonly operation: string
1234
- * }> {}
1205
+ * ```ts import.meta.vitest
1206
+ * import { Effect, Metric } from "effect"
1235
1207
  *
1236
1208
  * const program = Effect.gen(function*() {
1237
1209
  * // Create and update some metrics
@@ -1252,19 +1224,16 @@ export const withAttributes = /*#__PURE__*/dual(2, (self, attributes) => new Met
1252
1224
  * // Take a snapshot of all metrics
1253
1225
  * const snapshots = yield* Metric.snapshot
1254
1226
  *
1255
- * // Examine the snapshots
1256
- * for (const snapshot of snapshots) {
1257
- * yield* Console.log(`Metric: ${snapshot.id}`)
1258
- * yield* Console.log(`Description: ${snapshot.description}`)
1259
- * yield* Console.log(`Type: ${snapshot.type}`)
1260
- * yield* Console.log(`State:`, snapshot.state)
1261
- * }
1262
- *
1263
1227
  * return snapshots
1264
1228
  * })
1229
+ *
1230
+ * const snapshots = await Effect.runPromise(
1231
+ * Effect.provideService(program, Metric.MetricRegistry, new Map())
1232
+ * )
1233
+ * const ids = snapshots.map((snapshot) => snapshot.id).sort() // => ["http_requests", "response_time_ms"]
1265
1234
  * ```
1266
1235
  *
1267
- * @category Snapshotting
1236
+ * @category snapshotting
1268
1237
  * @since 2.0.0
1269
1238
  */
1270
1239
  export const snapshot = /*#__PURE__*/InternalEffect.map(/*#__PURE__*/InternalEffect.context(), context => snapshotUnsafe(context));
@@ -1280,12 +1249,8 @@ export const snapshot = /*#__PURE__*/InternalEffect.map(/*#__PURE__*/InternalEff
1280
1249
  *
1281
1250
  * **Example** (Dumping metrics as text)
1282
1251
  *
1283
- * ```ts
1284
- * import { Console, Data, Effect, Metric } from "effect"
1285
- *
1286
- * class DumpError extends Data.TaggedError("DumpError")<{
1287
- * readonly operation: string
1288
- * }> {}
1252
+ * ```ts import.meta.vitest
1253
+ * import { Effect, Metric } from "effect"
1289
1254
  *
1290
1255
  * const program = Effect.gen(function*() {
1291
1256
  * // Create and update some metrics for demonstration
@@ -1309,20 +1274,21 @@ export const snapshot = /*#__PURE__*/InternalEffect.map(/*#__PURE__*/InternalEff
1309
1274
  *
1310
1275
  * // Get formatted dump of all metrics
1311
1276
  * const metricsReport = yield* Metric.dump
1312
- * yield* Console.log("Current Metrics:")
1313
- * yield* Console.log(metricsReport)
1314
- *
1315
- * // Output will look like a formatted table:
1316
- * // Name Description Type State
1317
- * // http_requests_total Total HTTP requests Counter [count: 2]
1318
- * // response_time_ms Current response time in milliseconds Gauge [value: 125]
1319
- * // http_status_codes Frequency of HTTP status codes Frequency [occurrences: 200 -> 2, 404 -> 1]
1320
- *
1321
1277
  * return metricsReport
1322
1278
  * })
1279
+ *
1280
+ * const report = await Effect.runPromise(
1281
+ * Effect.provideService(program, Metric.MetricRegistry, new Map())
1282
+ * )
1283
+ * const included = [
1284
+ * report.includes("http_requests_total"),
1285
+ * report.includes("response_time_ms"),
1286
+ * report.includes("http_status_codes")
1287
+ * ]
1288
+ * included // => [true, true, true]
1323
1289
  * ```
1324
1290
  *
1325
- * @category Debugging
1291
+ * @category formatting
1326
1292
  * @since 4.0.0
1327
1293
  */
1328
1294
  export const dump = /*#__PURE__*/InternalEffect.flatMap(/*#__PURE__*/InternalEffect.context(), context => {
@@ -1368,56 +1334,20 @@ export const dump = /*#__PURE__*/InternalEffect.flatMap(/*#__PURE__*/InternalEff
1368
1334
  *
1369
1335
  * **Example** (Capturing snapshots from a context)
1370
1336
  *
1371
- * ```ts
1372
- * import { Data, Effect, Metric } from "effect"
1373
- *
1374
- * class UnsafeSnapshotError extends Data.TaggedError("UnsafeSnapshotError")<{
1375
- * readonly operation: string
1376
- * }> {}
1377
- *
1378
- * // Use unsafeSnapshot in performance-critical scenarios or internal implementations
1379
- * const performanceMetricsExporter = Effect.gen(function*() {
1380
- * // Create some metrics first
1381
- * const requestCounter = Metric.counter("http_requests", {
1382
- * description: "Total HTTP requests"
1383
- * })
1384
- * const responseTime = Metric.gauge("response_time_ms", {
1385
- * description: "Current response time"
1386
- * })
1337
+ * ```ts import.meta.vitest
1338
+ * import { Effect, Metric } from "effect"
1387
1339
  *
1388
- * // Update metrics
1340
+ * const requestCounter = Metric.counter("http_requests")
1341
+ * const program = Effect.gen(function*() {
1389
1342
  * yield* Metric.update(requestCounter, 1)
1390
- * yield* Metric.update(responseTime, 150)
1391
- *
1392
- * // Get services context for unsafe operations
1393
- * const services = yield* Effect.context()
1394
- *
1395
- * // Use snapshotUnsafe for direct, synchronous access
1396
- * const snapshots = Metric.snapshotUnsafe(services)
1397
- * const exportBatchCreatedAt = 1_700_000_000_000
1398
- *
1399
- * // Process snapshots immediately (useful for exporters, debugging tools)
1400
- * const exportData = snapshots.map((snapshot) => ({
1401
- * name: snapshot.id,
1402
- * type: snapshot.type,
1403
- * value: snapshot.state,
1404
- * timestamp: exportBatchCreatedAt
1405
- * }))
1406
- *
1407
- * // This is synchronous and doesn't involve Effect overhead
1408
- * // Useful for performance-critical metric export operations
1409
- * return exportData
1343
+ * const context = yield* Effect.context()
1344
+ * return Metric.snapshotUnsafe(context).map((snapshot) => snapshot.id)
1410
1345
  * })
1411
1346
  *
1412
- * // For normal application use, prefer the safe snapshot function:
1413
- * const safeSnapshotExample = Effect.gen(function*() {
1414
- * // This automatically handles the services context
1415
- * const snapshots = yield* Metric.snapshot
1416
- * return snapshots
1417
- * })
1347
+ * await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map())) // => ["http_requests"]
1418
1348
  * ```
1419
1349
  *
1420
- * @category Snapshotting
1350
+ * @category snapshotting
1421
1351
  * @since 4.0.0
1422
1352
  */
1423
1353
  export const snapshotUnsafe = context => {
@@ -1497,60 +1427,13 @@ const attributesToString = attributes => {
1497
1427
  *
1498
1428
  * **Example** (Creating boundaries from values)
1499
1429
  *
1500
- * ```ts
1501
- * import { Data, Effect, Metric } from "effect"
1502
- *
1503
- * class BoundaryError extends Data.TaggedError("BoundaryError")<{
1504
- * readonly operation: string
1505
- * }> {}
1506
- *
1507
- * // Create boundaries from an array of custom values
1508
- * const customBoundaries = Metric.boundariesFromIterable([
1509
- * 10,
1510
- * 25,
1511
- * 50,
1512
- * 100,
1513
- * 250,
1514
- * 500,
1515
- * 1000
1516
- * ])
1517
- * console.log(customBoundaries) // [10, 25, 50, 100, 250, 500, 1000, Infinity]
1518
- *
1519
- * // Automatically removes duplicates and negative values
1520
- * const messyBoundaries = Metric.boundariesFromIterable([
1521
- * -5,
1522
- * 0,
1523
- * 10,
1524
- * 10,
1525
- * 25,
1526
- * 25,
1527
- * 50,
1528
- * -1
1529
- * ])
1530
- * console.log(messyBoundaries) // [10, 25, 50, Infinity]
1531
- *
1532
- * // Works with any iterable (Set, generator functions, etc.)
1533
- * const setBoundaries = Metric.boundariesFromIterable(
1534
- * new Set([100, 200, 300, 200, 100])
1535
- * )
1536
- * console.log(setBoundaries) // [100, 200, 300, Infinity]
1537
- *
1538
- * // Use with histogram metric
1539
- * const responseTimeHistogram = Metric.histogram("response_times", {
1540
- * description: "API response time distribution",
1541
- * boundaries: customBoundaries
1542
- * })
1543
- *
1544
- * const program = Effect.gen(function*() {
1545
- * yield* Metric.update(responseTimeHistogram, 75) // Goes in 50-100ms bucket
1546
- * yield* Metric.update(responseTimeHistogram, 150) // Goes in 100-250ms bucket
1430
+ * ```ts import.meta.vitest
1431
+ * import { Metric } from "effect"
1547
1432
  *
1548
- * const value = yield* Metric.value(responseTimeHistogram)
1549
- * return value
1550
- * })
1433
+ * Metric.boundariesFromIterable([-5, 0, 10, 10, 25, 50]) // => [10, 25, 50, Infinity]
1551
1434
  * ```
1552
1435
  *
1553
- * @category boundaries
1436
+ * @category constructors
1554
1437
  * @since 4.0.0
1555
1438
  */
1556
1439
  export const boundariesFromIterable = iterable => Arr.append(Arr.filter(new Set(iterable), n => n > 0), Number.POSITIVE_INFINITY);
@@ -1560,49 +1443,23 @@ export const boundariesFromIterable = iterable => Arr.append(Arr.filter(new Set(
1560
1443
  *
1561
1444
  * **Details**
1562
1445
  *
1563
- * Generates `count - 1` finite boundaries using `start + width + index` for
1446
+ * Generates `count - 1` candidate boundaries using `start + index * width` for
1564
1447
  * each zero-based index, then applies the same normalization as
1565
1448
  * `boundariesFromIterable`: non-positive values are removed, duplicates are
1566
1449
  * collapsed, and `Infinity` is appended.
1567
1450
  *
1568
1451
  * **Example** (Creating linear boundaries)
1569
1452
  *
1570
- * ```ts
1571
- * import { Data, Effect, Metric } from "effect"
1572
- *
1573
- * class BoundaryError extends Data.TaggedError("BoundaryError")<{
1574
- * readonly operation: string
1575
- * }> {}
1576
- *
1577
- * // Create boundaries for response time histogram
1578
- * const responseBoundaries = Metric.linearBoundaries({
1579
- * start: 0, // Starting point
1580
- * width: 100, // Offset used for the first boundary
1581
- * count: 5 // Creates 4 boundaries + infinity
1582
- * })
1583
- * console.log(responseBoundaries) // [100, 101, 102, 103, Infinity]
1584
- *
1585
- * // Create a histogram using these boundaries
1586
- * const responseTimeHistogram = Metric.histogram("api_response_time", {
1587
- * description: "API response time distribution",
1588
- * boundaries: responseBoundaries
1589
- * })
1590
- *
1591
- * const program = Effect.gen(function*() {
1592
- * // Record some response times
1593
- * yield* Metric.update(responseTimeHistogram, 85)
1594
- * yield* Metric.update(responseTimeHistogram, 101)
1595
- * yield* Metric.update(responseTimeHistogram, 450)
1453
+ * ```ts import.meta.vitest
1454
+ * import { Metric } from "effect"
1596
1455
  *
1597
- * const value = yield* Metric.value(responseTimeHistogram)
1598
- * return value
1599
- * })
1456
+ * Metric.linearBoundaries({ start: 10, width: 20, count: 5 }) // => [10, 30, 50, 70, Infinity]
1600
1457
  * ```
1601
1458
  *
1602
- * @category boundaries
1459
+ * @category constructors
1603
1460
  * @since 4.0.0
1604
1461
  */
1605
- export const linearBoundaries = options => boundariesFromIterable(Arr.makeBy(options.count - 1, n => options.start + n + options.width));
1462
+ export const linearBoundaries = options => boundariesFromIterable(Arr.makeBy(options.count - 1, n => options.start + n * options.width));
1606
1463
  /**
1607
1464
  * Creates histogram bucket boundaries with exponentially increasing values.
1608
1465
  *
@@ -1613,47 +1470,13 @@ export const linearBoundaries = options => boundariesFromIterable(Arr.makeBy(opt
1613
1470
  *
1614
1471
  * **Example** (Creating exponential boundaries)
1615
1472
  *
1616
- * ```ts
1617
- * import { Data, Effect, Metric } from "effect"
1618
- *
1619
- * class BoundaryError extends Data.TaggedError("BoundaryError")<{
1620
- * readonly operation: string
1621
- * }> {}
1622
- *
1623
- * // Create exponential boundaries for request size histogram
1624
- * // Buckets: 0-1KB, 1-2KB, 2-4KB, 4-8KB, 8KB+
1625
- * const sizeBoundaries = Metric.exponentialBoundaries({
1626
- * start: 1, // Starting at 1KB
1627
- * factor: 2, // Each boundary doubles the previous
1628
- * count: 5 // Creates 4 boundaries + infinity
1629
- * })
1630
- * console.log(sizeBoundaries) // [1, 2, 4, 8, Infinity]
1631
- *
1632
- * // Create a histogram for tracking request payload sizes
1633
- * const requestSizeHistogram = Metric.histogram("request_size_kb", {
1634
- * description: "Request payload size distribution in KB",
1635
- * boundaries: sizeBoundaries
1636
- * })
1637
- *
1638
- * // For very wide ranges, use larger factors
1639
- * const latencyBoundaries = Metric.exponentialBoundaries({
1640
- * start: 0.1, // Start at 0.1ms
1641
- * factor: 10, // Each boundary is 10x larger
1642
- * count: 6 // Creates ranges: 0.1ms, 1ms, 10ms, 100ms, 1000ms+
1643
- * })
1644
- *
1645
- * const program = Effect.gen(function*() {
1646
- * // Record different request sizes
1647
- * yield* Metric.update(requestSizeHistogram, 1.5) // Goes in 1-2KB bucket
1648
- * yield* Metric.update(requestSizeHistogram, 3.2) // Goes in 2-4KB bucket
1649
- * yield* Metric.update(requestSizeHistogram, 12) // Goes in 8KB+ bucket
1473
+ * ```ts import.meta.vitest
1474
+ * import { Metric } from "effect"
1650
1475
  *
1651
- * const value = yield* Metric.value(requestSizeHistogram)
1652
- * return value
1653
- * })
1476
+ * Metric.exponentialBoundaries({ start: 1, factor: 2, count: 5 }) // => [1, 2, 4, 8, Infinity]
1654
1477
  * ```
1655
1478
  *
1656
- * @category boundaries
1479
+ * @category constructors
1657
1480
  * @since 4.0.0
1658
1481
  */
1659
1482
  export const exponentialBoundaries = options => boundariesFromIterable(Arr.makeBy(options.count - 1, i => options.start * Math.pow(options.factor, i)));
@@ -1678,36 +1501,13 @@ const fiberFailures = /*#__PURE__*/counter("child_fiber_failures", {
1678
1501
  *
1679
1502
  * **Example** (Accessing the fiber runtime metrics key)
1680
1503
  *
1681
- * ```ts
1682
- * import { Data, Effect, Layer, Metric } from "effect"
1683
- *
1684
- * class MetricsError extends Data.TaggedError("MetricsError")<{
1685
- * readonly operation: string
1686
- * }> {}
1687
- *
1688
- * const program = Effect.gen(function*() {
1689
- * // The key is used internally by the Effect runtime to manage fiber metrics
1690
- * const key = Metric.FiberRuntimeMetricsKey
1691
- * console.log("Fiber metrics key:", key)
1692
- *
1693
- * // Enable runtime metrics using the key
1694
- * const layer = Layer.succeed(Metric.FiberRuntimeMetrics)(
1695
- * Metric.FiberRuntimeMetricsImpl
1696
- * )
1697
- *
1698
- * return yield* Effect.gen(function*() {
1699
- * // This Effect will have fiber metrics automatically collected
1700
- * yield* Effect.sleep("100 millis")
1504
+ * ```ts import.meta.vitest
1505
+ * import { Metric } from "effect"
1701
1506
  *
1702
- * // Create a test counter to demonstrate the key usage
1703
- * const testCounter = Metric.counter("test_counter")
1704
- * yield* Metric.update(testCounter, 1)
1705
- * return yield* Metric.value(testCounter)
1706
- * }).pipe(Effect.provide(layer))
1707
- * })
1507
+ * Metric.FiberRuntimeMetricsKey // => "effect/observability/Metric/FiberRuntimeMetricsKey"
1708
1508
  * ```
1709
1509
  *
1710
- * @category metrics
1510
+ * @category constants
1711
1511
  * @since 4.0.0
1712
1512
  */
1713
1513
  export const FiberRuntimeMetricsKey = InternalMetric.FiberRuntimeMetricsKey;
@@ -1728,48 +1528,25 @@ export const FiberRuntimeMetricsKey = InternalMetric.FiberRuntimeMetricsKey;
1728
1528
  *
1729
1529
  * **Example** (Accessing the fiber runtime metrics service)
1730
1530
  *
1731
- * ```ts
1732
- * import { Data, Effect, Metric } from "effect"
1733
- *
1734
- * class MetricsError extends Data.TaggedError("MetricsError")<{
1735
- * readonly operation: string
1736
- * }> {}
1531
+ * ```ts import.meta.vitest
1532
+ * import { Effect, Metric } from "effect"
1737
1533
  *
1738
1534
  * const program = Effect.gen(function*() {
1739
- * // Access the fiber runtime metrics service
1740
1535
  * const metricsService = yield* Metric.FiberRuntimeMetrics
1741
- *
1742
- * if (metricsService) {
1743
- * console.log("Runtime metrics are enabled")
1744
- * } else {
1745
- * console.log("Runtime metrics are disabled")
1746
- * }
1747
- *
1748
- * // Enable runtime metrics for the application
1749
- * const enabledLayer = Metric.enableRuntimeMetricsLayer
1750
- *
1751
- * return yield* Effect.gen(function*() {
1752
- * // Create some concurrent fibers to see metrics in action
1753
- * yield* Effect.all([
1754
- * Effect.sleep("100 millis"),
1755
- * Effect.sleep("200 millis"),
1756
- * Effect.sleep("300 millis")
1757
- * ], { concurrency: "unbounded" })
1758
- *
1759
- * // Create test metrics to demonstrate the service
1760
- * const testCounter = Metric.counter("test_counter")
1761
- * yield* Metric.update(testCounter, 5)
1762
- * const counterValue = yield* Metric.value(testCounter)
1763
- *
1764
- * return { counterValue, metricsEnabled: true }
1765
- * }).pipe(Effect.provide(enabledLayer))
1536
+ * return metricsService === Metric.FiberRuntimeMetricsImpl
1766
1537
  * })
1538
+ *
1539
+ * const result = await Effect.runPromise(
1540
+ * Effect.provideService(program, Metric.FiberRuntimeMetrics, Metric.FiberRuntimeMetricsImpl)
1541
+ * )
1542
+ * const isDefault = result // => true
1767
1543
  * ```
1768
1544
  *
1769
- * @category runtime metrics
1545
+ * @category services
1770
1546
  * @since 4.0.0
1771
1547
  */
1772
1548
  export const FiberRuntimeMetrics = /*#__PURE__*/Context.Reference(InternalMetric.FiberRuntimeMetricsKey, {
1549
+ fiberCached: true,
1773
1550
  defaultValue: constUndefined
1774
1551
  });
1775
1552
  /**
@@ -1777,44 +1554,16 @@ export const FiberRuntimeMetrics = /*#__PURE__*/Context.Reference(InternalMetric
1777
1554
  *
1778
1555
  * **Example** (Accessing the default fiber metrics implementation)
1779
1556
  *
1780
- * ```ts
1781
- * import { Data, Effect, Layer, Metric } from "effect"
1782
- *
1783
- * class MetricsError extends Data.TaggedError("MetricsError")<{
1784
- * readonly operation: string
1785
- * }> {}
1786
- *
1787
- * const program = Effect.gen(function*() {
1788
- * // Use the default metrics implementation
1789
- * const metrics = Metric.FiberRuntimeMetricsImpl
1790
- * console.log("Metrics implementation:", metrics)
1791
- *
1792
- * // Enable runtime metrics using the default implementation
1793
- * const layer = Layer.succeed(Metric.FiberRuntimeMetrics)(metrics)
1794
- *
1795
- * return yield* Effect.gen(function*() {
1796
- * // Run some Effects to trigger metric collection
1797
- * yield* Effect.forkChild(Effect.sleep("50 millis"))
1798
- * yield* Effect.forkChild(Effect.sleep("100 millis"))
1799
- *
1800
- * // Wait a bit and check the metrics
1801
- * yield* Effect.sleep("200 millis")
1802
- *
1803
- * // Create test metrics to demonstrate the implementation
1804
- * const testCounter = Metric.counter("test_counter")
1805
- * const testGauge = Metric.gauge("test_gauge")
1806
- * yield* Metric.update(testCounter, 3)
1807
- * yield* Metric.update(testGauge, 42)
1808
- *
1809
- * const counterValue = yield* Metric.value(testCounter)
1810
- * const gaugeValue = yield* Metric.value(testGauge)
1557
+ * ```ts import.meta.vitest
1558
+ * import { Metric } from "effect"
1811
1559
  *
1812
- * return { counter: counterValue, gauge: gaugeValue }
1813
- * }).pipe(Effect.provide(layer))
1814
- * })
1560
+ * [
1561
+ * typeof Metric.FiberRuntimeMetricsImpl.recordFiberStart,
1562
+ * typeof Metric.FiberRuntimeMetricsImpl.recordFiberEnd
1563
+ * ] // => ["function", "function"]
1815
1564
  * ```
1816
1565
  *
1817
- * @category metrics
1566
+ * @category services
1818
1567
  * @since 4.0.0
1819
1568
  */
1820
1569
  export const FiberRuntimeMetricsImpl = {
@@ -1842,91 +1591,18 @@ export const FiberRuntimeMetricsImpl = {
1842
1591
  *
1843
1592
  * **Example** (Enabling runtime metrics with a layer)
1844
1593
  *
1845
- * ```ts
1846
- * import { Console, Data, Effect, Layer, Metric } from "effect"
1847
- *
1848
- * class AppError extends Data.TaggedError("AppError")<{
1849
- * readonly operation: string
1850
- * }> {}
1851
- *
1852
- * // Define your application logic
1853
- * const userService = Effect.gen(function*() {
1854
- * // Simulate user operations with concurrent processing
1855
- * const fetchUser = (id: number) =>
1856
- * Effect.gen(function*() {
1857
- * yield* Effect.sleep(`${50 + id * 10} millis`)
1858
- * if (id % 7 === 0) {
1859
- * return yield* new AppError({ operation: `fetch-user-${id}` })
1860
- * }
1861
- * return { id, name: `User ${id}`, email: `user${id}@example.com` }
1862
- * })
1863
- *
1864
- * // Process multiple users concurrently (ignoring failures for demo)
1865
- * const userIds = Array.from({ length: 10 }, (_, i) => i + 1)
1866
- * const userTasks = userIds.map((id) =>
1867
- * fetchUser(id).pipe(Effect.catchTag("AppError", () => Effect.succeed(null)))
1868
- * )
1869
- * const allUsers = yield* Effect.all(userTasks, { concurrency: 4 })
1870
- * const successfulUsers = allUsers.filter((user) => user !== null)
1871
- * return successfulUsers
1872
- * })
1873
- *
1874
- * const analyticsService = Effect.gen(function*() {
1875
- * // Simulate analytics processing
1876
- * const tasks = Array.from({ length: 8 }, (_, i) =>
1877
- * Effect.gen(function*() {
1878
- * yield* Effect.sleep(`${100 + i * 25} millis`)
1879
- * return `Analytics task ${i} completed`
1880
- * }))
1881
- * return yield* Effect.all(tasks, { concurrency: 3 })
1882
- * })
1883
- *
1884
- * // Main application that uses multiple services
1885
- * const application = Effect.gen(function*() {
1886
- * yield* Console.log("Starting application with runtime metrics...")
1887
- *
1888
- * // Run services concurrently
1889
- * const [users, analytics] = yield* Effect.all([
1890
- * userService,
1891
- * analyticsService
1892
- * ], { concurrency: 2 })
1893
- *
1894
- * yield* Console.log(
1895
- * `Processed ${users.length} users and ${analytics.length} analytics tasks`
1896
- * )
1897
- *
1898
- * // Inspect the automatically collected runtime metrics
1899
- * const metrics = yield* Metric.snapshot
1900
- * const runtimeMetrics = metrics.filter((m) => m.id.startsWith("child_fiber"))
1901
- *
1902
- * yield* Console.log("Runtime Metrics Collected:")
1903
- * for (const metric of runtimeMetrics) {
1904
- * yield* Console.log(` ${metric.id}: ${JSON.stringify(metric.state)}`)
1905
- * }
1594
+ * ```ts import.meta.vitest
1595
+ * import { Effect, Metric } from "effect"
1906
1596
  *
1907
- * return { users, analytics, metricsCount: runtimeMetrics.length }
1597
+ * const program = Effect.gen(function*() {
1598
+ * const service = yield* Metric.FiberRuntimeMetrics
1599
+ * return service === Metric.FiberRuntimeMetricsImpl
1908
1600
  * })
1909
1601
  *
1910
- * // Create the base application layer
1911
- * const AppLayer = Layer.empty // Add your application layers here (database, HTTP, etc.)
1912
- *
1913
- * // Add runtime metrics layer at the end
1914
- * const AppLayerWithMetrics = AppLayer.pipe(
1915
- * Layer.provide(Metric.enableRuntimeMetricsLayer)
1916
- * )
1917
- *
1918
- * // Run the application with runtime metrics enabled
1919
- * const program = application.pipe(
1920
- * Effect.provide(AppLayerWithMetrics)
1921
- * )
1922
- *
1923
- * // Alternative: Provide runtime metrics directly to the application
1924
- * const programWithDirectMetrics = application.pipe(
1925
- * Effect.provide(Metric.enableRuntimeMetricsLayer)
1926
- * )
1602
+ * await Effect.runPromise(Effect.provide(program, Metric.enableRuntimeMetricsLayer)) // => true
1927
1603
  * ```
1928
1604
  *
1929
- * @category metrics
1605
+ * @category layers
1930
1606
  * @since 4.0.0
1931
1607
  */
1932
1608
  export const enableRuntimeMetricsLayer = /*#__PURE__*/Layer.succeed(FiberRuntimeMetrics)(FiberRuntimeMetricsImpl);
@@ -1935,12 +1611,8 @@ export const enableRuntimeMetricsLayer = /*#__PURE__*/Layer.succeed(FiberRuntime
1935
1611
  *
1936
1612
  * **Example** (Disabling runtime metrics with a layer)
1937
1613
  *
1938
- * ```ts
1939
- * import { Data, Effect, Metric } from "effect"
1940
- *
1941
- * class MetricsError extends Data.TaggedError("MetricsError")<{
1942
- * readonly operation: string
1943
- * }> {}
1614
+ * ```ts import.meta.vitest
1615
+ * import { Effect, Metric } from "effect"
1944
1616
  *
1945
1617
  * const program = Effect.gen(function*() {
1946
1618
  * // Disable runtime metrics collection
@@ -1949,7 +1621,6 @@ export const enableRuntimeMetricsLayer = /*#__PURE__*/Layer.succeed(FiberRuntime
1949
1621
  * return yield* Effect.gen(function*() {
1950
1622
  * // Check that metrics service is disabled
1951
1623
  * const metricsService = yield* Metric.FiberRuntimeMetrics
1952
- * console.log("Metrics enabled:", metricsService !== undefined) // false
1953
1624
  *
1954
1625
  * // Run some Effects - no metrics will be collected
1955
1626
  * yield* Effect.forkChild(Effect.sleep("50 millis"))
@@ -1964,9 +1635,12 @@ export const enableRuntimeMetricsLayer = /*#__PURE__*/Layer.succeed(FiberRuntime
1964
1635
  * return { counterValue, metricsEnabled: metricsService !== undefined }
1965
1636
  * }).pipe(Effect.provide(disabledLayer))
1966
1637
  * })
1638
+ *
1639
+ * const result = await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map()))
1640
+ * const values = [result.counterValue.count, result.metricsEnabled] // => [1, false]
1967
1641
  * ```
1968
1642
  *
1969
- * @category metrics
1643
+ * @category layers
1970
1644
  * @since 4.0.0
1971
1645
  */
1972
1646
  export const disableRuntimeMetricsLayer = /*#__PURE__*/Layer.succeed(FiberRuntimeMetrics)(undefined);
@@ -1981,75 +1655,18 @@ export const disableRuntimeMetricsLayer = /*#__PURE__*/Layer.succeed(FiberRuntim
1981
1655
  *
1982
1656
  * **Example** (Enabling runtime metrics for an effect)
1983
1657
  *
1984
- * ```ts
1985
- * import { Console, Data, Effect, Layer, Metric } from "effect"
1986
- *
1987
- * class RuntimeMetricsError extends Data.TaggedError("RuntimeMetricsError")<{
1988
- * readonly operation: string
1989
- * }> {}
1658
+ * ```ts import.meta.vitest
1659
+ * import { Effect, Metric } from "effect"
1990
1660
  *
1991
1661
  * const program = Effect.gen(function*() {
1992
- * // Create a concurrent workload to demonstrate fiber metrics
1993
- * const heavyWorkload = Effect.gen(function*() {
1994
- * // Simulate concurrent operations
1995
- * const tasks = Array.from({ length: 10 }, (_, i) =>
1996
- * Effect.gen(function*() {
1997
- * yield* Effect.sleep(`${100 + i * 50} millis`)
1998
- * if (i % 4 === 0) {
1999
- * // Simulate some failures
2000
- * return yield* new RuntimeMetricsError({ operation: `task-${i}` })
2001
- * }
2002
- * return `Task ${i} completed`
2003
- * }).pipe(
2004
- * Effect.catchTag("RuntimeMetricsError", () =>
2005
- * Effect.succeed(`Task ${i} failed`))
2006
- * ))
2007
- *
2008
- * // Run tasks concurrently
2009
- * const results = yield* Effect.all(tasks, { concurrency: 5 })
2010
- * return results
2011
- * })
2012
- *
2013
- * // Enable runtime metrics collection for our workload
2014
- * const workloadWithMetrics = Metric.enableRuntimeMetrics(heavyWorkload)
2015
- *
2016
- * // Execute the workload
2017
- * const results = yield* workloadWithMetrics
2018
- *
2019
- * // After execution, we can inspect the runtime metrics
2020
- * // The following metrics are automatically collected:
2021
- * // - child_fibers_active: Current number of active child fibers (Gauge)
2022
- * // - child_fibers_started: Total child fibers started (Counter, incremental)
2023
- * // - child_fiber_successes: Total successful child fibers (Counter, incremental)
2024
- * // - child_fiber_failures: Total failed child fibers (Counter, incremental)
2025
- *
2026
- * yield* Console.log(`Workload completed with ${results.length} results`)
2027
- *
2028
- * // Get all metrics including the runtime metrics
2029
- * const allMetrics = yield* Metric.snapshot
2030
- * const runtimeMetrics = allMetrics.filter((m) =>
2031
- * m.id.startsWith("child_fiber") || m.id.includes("fiber")
2032
- * )
2033
- *
2034
- * yield* Console.log("Runtime Metrics:")
2035
- * for (const metric of runtimeMetrics) {
2036
- * yield* Console.log(` ${metric.id}: ${JSON.stringify(metric.state)}`)
2037
- * }
2038
- *
2039
- * return results
1662
+ * const service = yield* Metric.FiberRuntimeMetrics
1663
+ * return service === Metric.FiberRuntimeMetricsImpl
2040
1664
  * })
2041
1665
  *
2042
- * // Alternative: Use the layer version for broader application coverage
2043
- * const BaseAppLayer = Layer.empty // Your base application layers
2044
- * const AppLayerWithMetrics = BaseAppLayer.pipe(
2045
- * Layer.provide(Metric.enableRuntimeMetricsLayer)
2046
- * )
2047
- * const programWithLayer = program.pipe(
2048
- * Effect.provide(AppLayerWithMetrics)
2049
- * )
1666
+ * await Effect.runPromise(Metric.enableRuntimeMetrics(program)) // => true
2050
1667
  * ```
2051
1668
  *
2052
- * @category metrics
1669
+ * @category providing services
2053
1670
  * @since 4.0.0
2054
1671
  */
2055
1672
  export const enableRuntimeMetrics = /*#__PURE__*/InternalEffect.provideService(FiberRuntimeMetrics, FiberRuntimeMetricsImpl);
@@ -2063,76 +1680,18 @@ export const enableRuntimeMetrics = /*#__PURE__*/InternalEffect.provideService(F
2063
1680
  *
2064
1681
  * **Example** (Disabling runtime metrics for an effect)
2065
1682
  *
2066
- * ```ts
2067
- * import { Console, Data, Effect, Layer, Metric } from "effect"
2068
- *
2069
- * class DisableMetricsError extends Data.TaggedError("DisableMetricsError")<{
2070
- * readonly operation: string
2071
- * }> {}
1683
+ * ```ts import.meta.vitest
1684
+ * import { Effect, Metric } from "effect"
2072
1685
  *
2073
1686
  * const program = Effect.gen(function*() {
2074
- * // This section will have runtime metrics enabled
2075
- * const normalOperation = Effect.gen(function*() {
2076
- * const tasks = Array.from({ length: 5 }, (_, i) =>
2077
- * Effect.gen(function*() {
2078
- * yield* Effect.sleep(`${100 + i * 20} millis`)
2079
- * return `Normal task ${i} completed`
2080
- * }))
2081
- * return yield* Effect.all(tasks, { concurrency: 3 })
2082
- * })
2083
- *
2084
- * // This section will have runtime metrics disabled for performance
2085
- * const highPerformanceOperation = Metric.disableRuntimeMetrics(
2086
- * Effect.gen(function*() {
2087
- * // Performance-critical code where metrics overhead should be avoided
2088
- * const hotPath = Array.from(
2089
- * { length: 1000 },
2090
- * (_, i) =>
2091
- * Effect.gen(function*() {
2092
- * // Simulate intensive computation
2093
- * const result = i * i + (i % 10) / 10
2094
- * return result
2095
- * })
2096
- * )
2097
- * return yield* Effect.all(hotPath, { concurrency: 100 })
2098
- * })
2099
- * )
2100
- *
2101
- * yield* Console.log("Running operations with selective metrics...")
2102
- *
2103
- * // Run both operations
2104
- * const [normalResults, performanceResults] = yield* Effect.all([
2105
- * normalOperation, // Will generate fiber metrics
2106
- * highPerformanceOperation // Will NOT generate fiber metrics
2107
- * ])
2108
- *
2109
- * // Check collected metrics - should only see metrics from normalOperation
2110
- * const metrics = yield* Metric.snapshot
2111
- * const runtimeMetrics = metrics.filter((m) => m.id.startsWith("child_fiber"))
2112
- *
2113
- * yield* Console.log(`Normal operation results: ${normalResults.length}`)
2114
- * yield* Console.log(
2115
- * `Performance operation results: ${performanceResults.length}`
2116
- * )
2117
- * yield* Console.log(`Runtime metrics collected: ${runtimeMetrics.length}`)
2118
- *
2119
- * // The runtime metrics will only reflect the fibers from normalOperation
2120
- * // The highPerformanceOperation fibers were not tracked due to disableRuntimeMetrics
2121
- *
2122
- * return { normalResults, performanceResults, runtimeMetrics }
1687
+ * const service = yield* Metric.FiberRuntimeMetrics
1688
+ * return service === undefined
2123
1689
  * })
2124
1690
  *
2125
- * // Enable runtime metrics globally, then selectively disable where needed
2126
- * const BaseAppLayer = Layer.empty // Your base application layers
2127
- * const AppLayerWithMetrics = BaseAppLayer.pipe(
2128
- * Layer.provide(Metric.enableRuntimeMetricsLayer)
2129
- * )
2130
- * const finalProgram = program.pipe(
2131
- * Effect.provide(AppLayerWithMetrics)
2132
- * )
1691
+ * await Effect.runPromise(Metric.disableRuntimeMetrics(program)) // => true
2133
1692
  * ```
2134
1693
  *
2135
- * @category metrics
1694
+ * @category providing services
2136
1695
  * @since 4.0.0
2137
1696
  */
2138
1697
  export const disableRuntimeMetrics = /*#__PURE__*/InternalEffect.provideService(FiberRuntimeMetrics, undefined);
@@ -2155,10 +1714,7 @@ function makeHooks(get, update, modify) {
2155
1714
  };
2156
1715
  }
2157
1716
  function serializeAttributes(attributes) {
2158
- return serializeEntries(Array.isArray(attributes) ? attributes : Object.entries(attributes));
2159
- }
2160
- function serializeEntries(entries) {
2161
- return entries.map(([key, value]) => `${key}=${value}`).join(",");
1717
+ return JSON.stringify(Array.isArray(attributes) ? attributes : Object.entries(attributes));
2162
1718
  }
2163
1719
  function mergeAttributes(self, other) {
2164
1720
  return {