effect 4.0.0-beta.66 → 4.0.0-beta.68

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 (1767) hide show
  1. package/dist/Array.d.ts +151 -106
  2. package/dist/Array.d.ts.map +1 -1
  3. package/dist/Array.js +50 -40
  4. package/dist/Array.js.map +1 -1
  5. package/dist/BigDecimal.d.ts +620 -553
  6. package/dist/BigDecimal.d.ts.map +1 -1
  7. package/dist/BigDecimal.js +298 -254
  8. package/dist/BigDecimal.js.map +1 -1
  9. package/dist/BigInt.d.ts +342 -274
  10. package/dist/BigInt.d.ts.map +1 -1
  11. package/dist/BigInt.js +168 -126
  12. package/dist/BigInt.js.map +1 -1
  13. package/dist/Boolean.d.ts +189 -156
  14. package/dist/Boolean.d.ts.map +1 -1
  15. package/dist/Boolean.js +85 -68
  16. package/dist/Boolean.js.map +1 -1
  17. package/dist/Brand.d.ts +30 -5
  18. package/dist/Brand.d.ts.map +1 -1
  19. package/dist/Brand.js +19 -2
  20. package/dist/Brand.js.map +1 -1
  21. package/dist/Cache.d.ts +239 -135
  22. package/dist/Cache.d.ts.map +1 -1
  23. package/dist/Cache.js +135 -59
  24. package/dist/Cache.js.map +1 -1
  25. package/dist/Cause.d.ts +84 -73
  26. package/dist/Cause.d.ts.map +1 -1
  27. package/dist/Cause.js +51 -44
  28. package/dist/Cause.js.map +1 -1
  29. package/dist/Channel.d.ts +1568 -632
  30. package/dist/Channel.d.ts.map +1 -1
  31. package/dist/Channel.js +685 -315
  32. package/dist/Channel.js.map +1 -1
  33. package/dist/ChannelSchema.d.ts +119 -10
  34. package/dist/ChannelSchema.d.ts.map +1 -1
  35. package/dist/ChannelSchema.js +45 -6
  36. package/dist/ChannelSchema.js.map +1 -1
  37. package/dist/Chunk.d.ts +574 -428
  38. package/dist/Chunk.d.ts.map +1 -1
  39. package/dist/Chunk.js +250 -191
  40. package/dist/Chunk.js.map +1 -1
  41. package/dist/Clock.d.ts +16 -9
  42. package/dist/Clock.d.ts.map +1 -1
  43. package/dist/Clock.js +9 -5
  44. package/dist/Clock.js.map +1 -1
  45. package/dist/Combiner.d.ts +11 -5
  46. package/dist/Combiner.d.ts.map +1 -1
  47. package/dist/Combiner.js +10 -4
  48. package/dist/Combiner.js.map +1 -1
  49. package/dist/Config.d.ts +80 -68
  50. package/dist/Config.d.ts.map +1 -1
  51. package/dist/Config.js +53 -49
  52. package/dist/Config.js.map +1 -1
  53. package/dist/ConfigProvider.d.ts +33 -32
  54. package/dist/ConfigProvider.d.ts.map +1 -1
  55. package/dist/ConfigProvider.js +19 -18
  56. package/dist/ConfigProvider.js.map +1 -1
  57. package/dist/Console.d.ts +76 -50
  58. package/dist/Console.d.ts.map +1 -1
  59. package/dist/Console.js +69 -46
  60. package/dist/Console.js.map +1 -1
  61. package/dist/Context.d.ts +400 -189
  62. package/dist/Context.d.ts.map +1 -1
  63. package/dist/Context.js +143 -77
  64. package/dist/Context.js.map +1 -1
  65. package/dist/Cron.d.ts +67 -48
  66. package/dist/Cron.d.ts.map +1 -1
  67. package/dist/Cron.js +94 -36
  68. package/dist/Cron.js.map +1 -1
  69. package/dist/Crypto.d.ts +208 -0
  70. package/dist/Crypto.d.ts.map +1 -0
  71. package/dist/Crypto.js +157 -0
  72. package/dist/Crypto.js.map +1 -0
  73. package/dist/Data.d.ts +9 -3
  74. package/dist/Data.d.ts.map +1 -1
  75. package/dist/Data.js.map +1 -1
  76. package/dist/DateTime.d.ts +893 -464
  77. package/dist/DateTime.d.ts.map +1 -1
  78. package/dist/DateTime.js +387 -228
  79. package/dist/DateTime.js.map +1 -1
  80. package/dist/Deferred.d.ts +367 -175
  81. package/dist/Deferred.d.ts.map +1 -1
  82. package/dist/Deferred.js +146 -72
  83. package/dist/Deferred.js.map +1 -1
  84. package/dist/Differ.d.ts +44 -2
  85. package/dist/Differ.d.ts.map +1 -1
  86. package/dist/Differ.js +36 -0
  87. package/dist/Duration.d.ts +333 -186
  88. package/dist/Duration.d.ts.map +1 -1
  89. package/dist/Duration.js +178 -107
  90. package/dist/Duration.js.map +1 -1
  91. package/dist/Effect.d.ts +2181 -2275
  92. package/dist/Effect.d.ts.map +1 -1
  93. package/dist/Effect.js +935 -850
  94. package/dist/Effect.js.map +1 -1
  95. package/dist/Effectable.d.ts +38 -3
  96. package/dist/Effectable.d.ts.map +1 -1
  97. package/dist/Effectable.js +3 -3
  98. package/dist/Effectable.js.map +1 -1
  99. package/dist/Encoding.d.ts +78 -28
  100. package/dist/Encoding.d.ts.map +1 -1
  101. package/dist/Encoding.js +75 -27
  102. package/dist/Encoding.js.map +1 -1
  103. package/dist/Equal.d.ts +4 -3
  104. package/dist/Equal.d.ts.map +1 -1
  105. package/dist/Equal.js +4 -3
  106. package/dist/Equal.js.map +1 -1
  107. package/dist/Equivalence.d.ts +18 -24
  108. package/dist/Equivalence.d.ts.map +1 -1
  109. package/dist/Equivalence.js +16 -21
  110. package/dist/Equivalence.js.map +1 -1
  111. package/dist/ErrorReporter.d.ts +66 -82
  112. package/dist/ErrorReporter.d.ts.map +1 -1
  113. package/dist/ErrorReporter.js +38 -29
  114. package/dist/ErrorReporter.js.map +1 -1
  115. package/dist/ExecutionPlan.d.ts +106 -12
  116. package/dist/ExecutionPlan.d.ts.map +1 -1
  117. package/dist/ExecutionPlan.js +23 -6
  118. package/dist/ExecutionPlan.js.map +1 -1
  119. package/dist/Exit.d.ts +6 -5
  120. package/dist/Exit.d.ts.map +1 -1
  121. package/dist/Exit.js.map +1 -1
  122. package/dist/Fiber.d.ts +71 -40
  123. package/dist/Fiber.d.ts.map +1 -1
  124. package/dist/Fiber.js +39 -21
  125. package/dist/Fiber.js.map +1 -1
  126. package/dist/FiberHandle.d.ts +118 -57
  127. package/dist/FiberHandle.d.ts.map +1 -1
  128. package/dist/FiberHandle.js +121 -39
  129. package/dist/FiberHandle.js.map +1 -1
  130. package/dist/FiberMap.d.ts +287 -159
  131. package/dist/FiberMap.d.ts.map +1 -1
  132. package/dist/FiberMap.js +175 -73
  133. package/dist/FiberMap.js.map +1 -1
  134. package/dist/FiberSet.d.ts +93 -52
  135. package/dist/FiberSet.d.ts.map +1 -1
  136. package/dist/FiberSet.js +97 -34
  137. package/dist/FiberSet.js.map +1 -1
  138. package/dist/FileSystem.d.ts +102 -73
  139. package/dist/FileSystem.d.ts.map +1 -1
  140. package/dist/FileSystem.js +53 -39
  141. package/dist/FileSystem.js.map +1 -1
  142. package/dist/Filter.d.ts +166 -88
  143. package/dist/Filter.d.ts.map +1 -1
  144. package/dist/Filter.js +68 -42
  145. package/dist/Filter.js.map +1 -1
  146. package/dist/Formatter.d.ts +4 -2
  147. package/dist/Formatter.d.ts.map +1 -1
  148. package/dist/Formatter.js +3 -69
  149. package/dist/Formatter.js.map +1 -1
  150. package/dist/Function.d.ts +218 -151
  151. package/dist/Function.d.ts.map +1 -1
  152. package/dist/Function.js +94 -78
  153. package/dist/Function.js.map +1 -1
  154. package/dist/Graph.d.ts +714 -415
  155. package/dist/Graph.d.ts.map +1 -1
  156. package/dist/Graph.js +325 -182
  157. package/dist/Graph.js.map +1 -1
  158. package/dist/HKT.d.ts +29 -13
  159. package/dist/HKT.d.ts.map +1 -1
  160. package/dist/Hash.d.ts +35 -24
  161. package/dist/Hash.d.ts.map +1 -1
  162. package/dist/Hash.js +27 -17
  163. package/dist/Hash.js.map +1 -1
  164. package/dist/HashMap.d.ts +540 -388
  165. package/dist/HashMap.d.ts.map +1 -1
  166. package/dist/HashMap.js +262 -156
  167. package/dist/HashMap.js.map +1 -1
  168. package/dist/HashRing.d.ts +53 -34
  169. package/dist/HashRing.d.ts.map +1 -1
  170. package/dist/HashRing.js +83 -16
  171. package/dist/HashRing.js.map +1 -1
  172. package/dist/HashSet.d.ts +239 -153
  173. package/dist/HashSet.d.ts.map +1 -1
  174. package/dist/HashSet.js +110 -56
  175. package/dist/HashSet.js.map +1 -1
  176. package/dist/Inspectable.d.ts +26 -13
  177. package/dist/Inspectable.d.ts.map +1 -1
  178. package/dist/Inspectable.js +22 -10
  179. package/dist/Inspectable.js.map +1 -1
  180. package/dist/Iterable.d.ts +336 -222
  181. package/dist/Iterable.d.ts.map +1 -1
  182. package/dist/Iterable.js +146 -100
  183. package/dist/Iterable.js.map +1 -1
  184. package/dist/JsonPatch.d.ts +12 -9
  185. package/dist/JsonPatch.d.ts.map +1 -1
  186. package/dist/JsonPatch.js +9 -6
  187. package/dist/JsonPatch.js.map +1 -1
  188. package/dist/JsonPointer.d.ts +13 -11
  189. package/dist/JsonPointer.d.ts.map +1 -1
  190. package/dist/JsonPointer.js +13 -11
  191. package/dist/JsonPointer.js.map +1 -1
  192. package/dist/JsonSchema.d.ts +16 -0
  193. package/dist/JsonSchema.d.ts.map +1 -1
  194. package/dist/JsonSchema.js +10 -0
  195. package/dist/JsonSchema.js.map +1 -1
  196. package/dist/Latch.d.ts +97 -26
  197. package/dist/Latch.d.ts.map +1 -1
  198. package/dist/Latch.js +39 -20
  199. package/dist/Latch.js.map +1 -1
  200. package/dist/Layer.d.ts +472 -410
  201. package/dist/Layer.d.ts.map +1 -1
  202. package/dist/Layer.js +290 -226
  203. package/dist/Layer.js.map +1 -1
  204. package/dist/LayerMap.d.ts +99 -26
  205. package/dist/LayerMap.d.ts.map +1 -1
  206. package/dist/LayerMap.js +58 -14
  207. package/dist/LayerMap.js.map +1 -1
  208. package/dist/LogLevel.d.ts +92 -131
  209. package/dist/LogLevel.d.ts.map +1 -1
  210. package/dist/LogLevel.js +25 -15
  211. package/dist/LogLevel.js.map +1 -1
  212. package/dist/Logger.d.ts +159 -104
  213. package/dist/Logger.d.ts.map +1 -1
  214. package/dist/Logger.js +215 -189
  215. package/dist/Logger.js.map +1 -1
  216. package/dist/ManagedRuntime.d.ts +78 -19
  217. package/dist/ManagedRuntime.d.ts.map +1 -1
  218. package/dist/ManagedRuntime.js +24 -17
  219. package/dist/ManagedRuntime.js.map +1 -1
  220. package/dist/Match.d.ts +135 -161
  221. package/dist/Match.d.ts.map +1 -1
  222. package/dist/Match.js +86 -78
  223. package/dist/Match.js.map +1 -1
  224. package/dist/Metric.d.ts +330 -291
  225. package/dist/Metric.d.ts.map +1 -1
  226. package/dist/Metric.js +219 -214
  227. package/dist/Metric.js.map +1 -1
  228. package/dist/MutableHashMap.d.ts +146 -87
  229. package/dist/MutableHashMap.d.ts.map +1 -1
  230. package/dist/MutableHashMap.js +67 -43
  231. package/dist/MutableHashMap.js.map +1 -1
  232. package/dist/MutableHashSet.d.ts +52 -30
  233. package/dist/MutableHashSet.d.ts.map +1 -1
  234. package/dist/MutableHashSet.js +92 -38
  235. package/dist/MutableHashSet.js.map +1 -1
  236. package/dist/MutableList.d.ts +110 -68
  237. package/dist/MutableList.d.ts.map +1 -1
  238. package/dist/MutableList.js +135 -85
  239. package/dist/MutableList.js.map +1 -1
  240. package/dist/MutableRef.d.ts +99 -62
  241. package/dist/MutableRef.d.ts.map +1 -1
  242. package/dist/MutableRef.js +78 -60
  243. package/dist/MutableRef.js.map +1 -1
  244. package/dist/Newtype.d.ts +15 -2
  245. package/dist/Newtype.d.ts.map +1 -1
  246. package/dist/Newtype.js +8 -2
  247. package/dist/Newtype.js.map +1 -1
  248. package/dist/NonEmptyIterable.d.ts +38 -48
  249. package/dist/NonEmptyIterable.d.ts.map +1 -1
  250. package/dist/NonEmptyIterable.js +34 -25
  251. package/dist/NonEmptyIterable.js.map +1 -1
  252. package/dist/Number.d.ts +261 -205
  253. package/dist/Number.d.ts.map +1 -1
  254. package/dist/Number.js +119 -91
  255. package/dist/Number.js.map +1 -1
  256. package/dist/Optic.d.ts +6 -7
  257. package/dist/Optic.d.ts.map +1 -1
  258. package/dist/Optic.js +5 -6
  259. package/dist/Optic.js.map +1 -1
  260. package/dist/Option.d.ts +133 -156
  261. package/dist/Option.d.ts.map +1 -1
  262. package/dist/Option.js +64 -64
  263. package/dist/Option.js.map +1 -1
  264. package/dist/Order.d.ts +6 -6
  265. package/dist/Order.js +6 -6
  266. package/dist/Ordering.d.ts +56 -45
  267. package/dist/Ordering.d.ts.map +1 -1
  268. package/dist/Ordering.js +10 -8
  269. package/dist/Ordering.js.map +1 -1
  270. package/dist/PartitionedSemaphore.d.ts +225 -40
  271. package/dist/PartitionedSemaphore.d.ts.map +1 -1
  272. package/dist/PartitionedSemaphore.js +113 -17
  273. package/dist/PartitionedSemaphore.js.map +1 -1
  274. package/dist/Path.d.ts +77 -13
  275. package/dist/Path.d.ts.map +1 -1
  276. package/dist/Path.js +49 -4
  277. package/dist/Path.js.map +1 -1
  278. package/dist/Pipeable.d.ts +77 -18
  279. package/dist/Pipeable.d.ts.map +1 -1
  280. package/dist/Pipeable.js +63 -14
  281. package/dist/Pipeable.js.map +1 -1
  282. package/dist/PlatformError.d.ts +74 -6
  283. package/dist/PlatformError.d.ts.map +1 -1
  284. package/dist/PlatformError.js +68 -5
  285. package/dist/PlatformError.js.map +1 -1
  286. package/dist/Pool.d.ts +66 -31
  287. package/dist/Pool.d.ts.map +1 -1
  288. package/dist/Pool.js +26 -24
  289. package/dist/Pool.js.map +1 -1
  290. package/dist/Predicate.d.ts +16 -23
  291. package/dist/Predicate.d.ts.map +1 -1
  292. package/dist/Predicate.js +12 -17
  293. package/dist/Predicate.js.map +1 -1
  294. package/dist/PrimaryKey.d.ts +11 -3
  295. package/dist/PrimaryKey.d.ts.map +1 -1
  296. package/dist/PrimaryKey.js +9 -2
  297. package/dist/PrimaryKey.js.map +1 -1
  298. package/dist/PubSub.d.ts +385 -309
  299. package/dist/PubSub.d.ts.map +1 -1
  300. package/dist/PubSub.js +260 -207
  301. package/dist/PubSub.js.map +1 -1
  302. package/dist/Pull.d.ts +94 -25
  303. package/dist/Pull.d.ts.map +1 -1
  304. package/dist/Pull.js +61 -13
  305. package/dist/Pull.js.map +1 -1
  306. package/dist/Queue.d.ts +303 -184
  307. package/dist/Queue.d.ts.map +1 -1
  308. package/dist/Queue.js +231 -134
  309. package/dist/Queue.js.map +1 -1
  310. package/dist/Random.d.ts +65 -57
  311. package/dist/Random.d.ts.map +1 -1
  312. package/dist/Random.js +41 -66
  313. package/dist/Random.js.map +1 -1
  314. package/dist/RcMap.d.ts +151 -141
  315. package/dist/RcMap.d.ts.map +1 -1
  316. package/dist/RcMap.js +66 -20
  317. package/dist/RcMap.js.map +1 -1
  318. package/dist/RcRef.d.ts +68 -32
  319. package/dist/RcRef.d.ts.map +1 -1
  320. package/dist/RcRef.js +33 -16
  321. package/dist/RcRef.js.map +1 -1
  322. package/dist/Record.d.ts +282 -137
  323. package/dist/Record.d.ts.map +1 -1
  324. package/dist/Record.js +124 -62
  325. package/dist/Record.js.map +1 -1
  326. package/dist/Redactable.d.ts +7 -5
  327. package/dist/Redactable.d.ts.map +1 -1
  328. package/dist/Redactable.js +5 -3
  329. package/dist/Redactable.js.map +1 -1
  330. package/dist/Redacted.d.ts +63 -34
  331. package/dist/Redacted.d.ts.map +1 -1
  332. package/dist/Redacted.js +31 -15
  333. package/dist/Redacted.js.map +1 -1
  334. package/dist/Reducer.d.ts +3 -1
  335. package/dist/Reducer.d.ts.map +1 -1
  336. package/dist/Reducer.js +2 -0
  337. package/dist/Reducer.js.map +1 -1
  338. package/dist/Ref.d.ts +85 -66
  339. package/dist/Ref.d.ts.map +1 -1
  340. package/dist/Ref.js +57 -45
  341. package/dist/Ref.js.map +1 -1
  342. package/dist/References.d.ts +73 -31
  343. package/dist/References.d.ts.map +1 -1
  344. package/dist/References.js +66 -30
  345. package/dist/References.js.map +1 -1
  346. package/dist/RegExp.d.ts +12 -6
  347. package/dist/RegExp.d.ts.map +1 -1
  348. package/dist/RegExp.js +12 -6
  349. package/dist/RegExp.js.map +1 -1
  350. package/dist/Request.d.ts +159 -34
  351. package/dist/Request.d.ts.map +1 -1
  352. package/dist/Request.js +68 -12
  353. package/dist/Request.js.map +1 -1
  354. package/dist/RequestResolver.d.ts +262 -118
  355. package/dist/RequestResolver.d.ts.map +1 -1
  356. package/dist/RequestResolver.js +78 -42
  357. package/dist/RequestResolver.js.map +1 -1
  358. package/dist/Resource.d.ts +13 -7
  359. package/dist/Resource.d.ts.map +1 -1
  360. package/dist/Resource.js +44 -6
  361. package/dist/Resource.js.map +1 -1
  362. package/dist/Result.d.ts +135 -151
  363. package/dist/Result.d.ts.map +1 -1
  364. package/dist/Result.js +56 -68
  365. package/dist/Result.js.map +1 -1
  366. package/dist/Runtime.d.ts +40 -20
  367. package/dist/Runtime.d.ts.map +1 -1
  368. package/dist/Runtime.js +34 -17
  369. package/dist/Runtime.js.map +1 -1
  370. package/dist/Schedule.d.ts +556 -590
  371. package/dist/Schedule.d.ts.map +1 -1
  372. package/dist/Schedule.js +265 -253
  373. package/dist/Schedule.js.map +1 -1
  374. package/dist/Scheduler.d.ts +44 -7
  375. package/dist/Scheduler.d.ts.map +1 -1
  376. package/dist/Scheduler.js +34 -5
  377. package/dist/Scheduler.js.map +1 -1
  378. package/dist/Schema.d.ts +1293 -602
  379. package/dist/Schema.d.ts.map +1 -1
  380. package/dist/Schema.js +501 -361
  381. package/dist/Schema.js.map +1 -1
  382. package/dist/SchemaAST.d.ts +122 -92
  383. package/dist/SchemaAST.d.ts.map +1 -1
  384. package/dist/SchemaAST.js +102 -77
  385. package/dist/SchemaAST.js.map +1 -1
  386. package/dist/SchemaGetter.d.ts +49 -36
  387. package/dist/SchemaGetter.d.ts.map +1 -1
  388. package/dist/SchemaGetter.js +42 -29
  389. package/dist/SchemaGetter.js.map +1 -1
  390. package/dist/SchemaIssue.d.ts +19 -24
  391. package/dist/SchemaIssue.d.ts.map +1 -1
  392. package/dist/SchemaIssue.js +16 -14
  393. package/dist/SchemaIssue.js.map +1 -1
  394. package/dist/SchemaParser.d.ts +231 -63
  395. package/dist/SchemaParser.d.ts.map +1 -1
  396. package/dist/SchemaParser.js +266 -75
  397. package/dist/SchemaParser.js.map +1 -1
  398. package/dist/SchemaRepresentation.d.ts +89 -77
  399. package/dist/SchemaRepresentation.d.ts.map +1 -1
  400. package/dist/SchemaRepresentation.js +47 -37
  401. package/dist/SchemaRepresentation.js.map +1 -1
  402. package/dist/SchemaTransformation.d.ts +97 -46
  403. package/dist/SchemaTransformation.d.ts.map +1 -1
  404. package/dist/SchemaTransformation.js +89 -38
  405. package/dist/SchemaTransformation.js.map +1 -1
  406. package/dist/SchemaUtils.d.ts +8 -1
  407. package/dist/SchemaUtils.d.ts.map +1 -1
  408. package/dist/SchemaUtils.js +24 -1
  409. package/dist/SchemaUtils.js.map +1 -1
  410. package/dist/Scope.d.ts +107 -65
  411. package/dist/Scope.d.ts.map +1 -1
  412. package/dist/Scope.js +61 -32
  413. package/dist/Scope.js.map +1 -1
  414. package/dist/ScopedCache.d.ts +141 -49
  415. package/dist/ScopedCache.d.ts.map +1 -1
  416. package/dist/ScopedCache.js +82 -21
  417. package/dist/ScopedCache.js.map +1 -1
  418. package/dist/ScopedRef.d.ts +28 -8
  419. package/dist/ScopedRef.d.ts.map +1 -1
  420. package/dist/ScopedRef.js +25 -5
  421. package/dist/ScopedRef.js.map +1 -1
  422. package/dist/Semaphore.d.ts +61 -37
  423. package/dist/Semaphore.d.ts.map +1 -1
  424. package/dist/Semaphore.js +18 -21
  425. package/dist/Semaphore.js.map +1 -1
  426. package/dist/Sink.d.ts +461 -206
  427. package/dist/Sink.d.ts.map +1 -1
  428. package/dist/Sink.js +241 -90
  429. package/dist/Sink.js.map +1 -1
  430. package/dist/Stdio.d.ts +43 -6
  431. package/dist/Stdio.d.ts.map +1 -1
  432. package/dist/Stdio.js +33 -4
  433. package/dist/Stdio.js.map +1 -1
  434. package/dist/Stream.d.ts +2117 -1541
  435. package/dist/Stream.d.ts.map +1 -1
  436. package/dist/Stream.js +951 -682
  437. package/dist/Stream.js.map +1 -1
  438. package/dist/String.d.ts +174 -97
  439. package/dist/String.d.ts.map +1 -1
  440. package/dist/String.js +128 -69
  441. package/dist/String.js.map +1 -1
  442. package/dist/Struct.d.ts +20 -18
  443. package/dist/Struct.d.ts.map +1 -1
  444. package/dist/Struct.js +10 -8
  445. package/dist/Struct.js.map +1 -1
  446. package/dist/SubscriptionRef.d.ts +309 -204
  447. package/dist/SubscriptionRef.d.ts.map +1 -1
  448. package/dist/SubscriptionRef.js +126 -77
  449. package/dist/SubscriptionRef.js.map +1 -1
  450. package/dist/Symbol.d.ts +13 -5
  451. package/dist/Symbol.d.ts.map +1 -1
  452. package/dist/Symbol.js +13 -5
  453. package/dist/Symbol.js.map +1 -1
  454. package/dist/SynchronizedRef.d.ts +278 -62
  455. package/dist/SynchronizedRef.d.ts.map +1 -1
  456. package/dist/SynchronizedRef.js +116 -23
  457. package/dist/SynchronizedRef.js.map +1 -1
  458. package/dist/Take.d.ts +26 -2
  459. package/dist/Take.d.ts.map +1 -1
  460. package/dist/Take.js +4 -1
  461. package/dist/Take.js.map +1 -1
  462. package/dist/Terminal.d.ts +39 -7
  463. package/dist/Terminal.d.ts.map +1 -1
  464. package/dist/Terminal.js +10 -4
  465. package/dist/Terminal.js.map +1 -1
  466. package/dist/Tracer.d.ts +233 -59
  467. package/dist/Tracer.d.ts.map +1 -1
  468. package/dist/Tracer.js +94 -18
  469. package/dist/Tracer.js.map +1 -1
  470. package/dist/Trie.d.ts +280 -245
  471. package/dist/Trie.d.ts.map +1 -1
  472. package/dist/Trie.js +116 -102
  473. package/dist/Trie.js.map +1 -1
  474. package/dist/Tuple.d.ts +34 -32
  475. package/dist/Tuple.d.ts.map +1 -1
  476. package/dist/Tuple.js +16 -14
  477. package/dist/Tuple.js.map +1 -1
  478. package/dist/TxChunk.d.ts +200 -155
  479. package/dist/TxChunk.d.ts.map +1 -1
  480. package/dist/TxChunk.js +83 -61
  481. package/dist/TxChunk.js.map +1 -1
  482. package/dist/TxDeferred.d.ts +43 -29
  483. package/dist/TxDeferred.d.ts.map +1 -1
  484. package/dist/TxDeferred.js +22 -15
  485. package/dist/TxDeferred.js.map +1 -1
  486. package/dist/TxHashMap.d.ts +362 -223
  487. package/dist/TxHashMap.d.ts.map +1 -1
  488. package/dist/TxHashMap.js +171 -98
  489. package/dist/TxHashMap.js.map +1 -1
  490. package/dist/TxHashSet.d.ts +181 -111
  491. package/dist/TxHashSet.d.ts.map +1 -1
  492. package/dist/TxHashSet.js +87 -49
  493. package/dist/TxHashSet.js.map +1 -1
  494. package/dist/TxPriorityQueue.d.ts +94 -63
  495. package/dist/TxPriorityQueue.d.ts.map +1 -1
  496. package/dist/TxPriorityQueue.js +55 -37
  497. package/dist/TxPriorityQueue.js.map +1 -1
  498. package/dist/TxPubSub.d.ts +77 -49
  499. package/dist/TxPubSub.d.ts.map +1 -1
  500. package/dist/TxPubSub.js +60 -37
  501. package/dist/TxPubSub.js.map +1 -1
  502. package/dist/TxQueue.d.ts +277 -242
  503. package/dist/TxQueue.d.ts.map +1 -1
  504. package/dist/TxQueue.js +147 -101
  505. package/dist/TxQueue.js.map +1 -1
  506. package/dist/TxReentrantLock.d.ts +69 -46
  507. package/dist/TxReentrantLock.d.ts.map +1 -1
  508. package/dist/TxReentrantLock.js +48 -32
  509. package/dist/TxReentrantLock.js.map +1 -1
  510. package/dist/TxRef.d.ts +69 -40
  511. package/dist/TxRef.d.ts.map +1 -1
  512. package/dist/TxRef.js +34 -19
  513. package/dist/TxRef.js.map +1 -1
  514. package/dist/TxSemaphore.d.ts +101 -115
  515. package/dist/TxSemaphore.d.ts.map +1 -1
  516. package/dist/TxSemaphore.js +76 -77
  517. package/dist/TxSemaphore.js.map +1 -1
  518. package/dist/TxSubscriptionRef.d.ts +74 -50
  519. package/dist/TxSubscriptionRef.d.ts.map +1 -1
  520. package/dist/TxSubscriptionRef.js +34 -23
  521. package/dist/TxSubscriptionRef.js.map +1 -1
  522. package/dist/Types.d.ts +31 -34
  523. package/dist/Types.d.ts.map +1 -1
  524. package/dist/UndefinedOr.d.ts +62 -25
  525. package/dist/UndefinedOr.d.ts.map +1 -1
  526. package/dist/UndefinedOr.js +36 -25
  527. package/dist/UndefinedOr.js.map +1 -1
  528. package/dist/Unify.d.ts +72 -117
  529. package/dist/Unify.d.ts.map +1 -1
  530. package/dist/Unify.js +20 -6
  531. package/dist/Unify.js.map +1 -1
  532. package/dist/Utils.d.ts +5 -2
  533. package/dist/Utils.d.ts.map +1 -1
  534. package/dist/Utils.js +4 -0
  535. package/dist/Utils.js.map +1 -1
  536. package/dist/index.d.ts +1973 -418
  537. package/dist/index.d.ts.map +1 -1
  538. package/dist/index.js +1973 -418
  539. package/dist/index.js.map +1 -1
  540. package/dist/internal/schema/schema.js +1 -1
  541. package/dist/internal/schema/schema.js.map +1 -1
  542. package/dist/testing/FastCheck.d.ts +9 -6
  543. package/dist/testing/FastCheck.d.ts.map +1 -1
  544. package/dist/testing/FastCheck.js +9 -6
  545. package/dist/testing/FastCheck.js.map +1 -1
  546. package/dist/testing/TestClock.d.ts +39 -35
  547. package/dist/testing/TestClock.d.ts.map +1 -1
  548. package/dist/testing/TestClock.js +42 -12
  549. package/dist/testing/TestClock.js.map +1 -1
  550. package/dist/testing/TestConsole.d.ts +44 -36
  551. package/dist/testing/TestConsole.d.ts.map +1 -1
  552. package/dist/testing/TestConsole.js +30 -15
  553. package/dist/testing/TestConsole.js.map +1 -1
  554. package/dist/testing/TestSchema.d.ts +2 -0
  555. package/dist/testing/TestSchema.d.ts.map +1 -1
  556. package/dist/testing/TestSchema.js +9 -7
  557. package/dist/testing/TestSchema.js.map +1 -1
  558. package/dist/testing/index.d.ts +34 -0
  559. package/dist/testing/index.d.ts.map +1 -1
  560. package/dist/testing/index.js +34 -0
  561. package/dist/testing/index.js.map +1 -1
  562. package/dist/unstable/ai/AiError.d.ts +205 -147
  563. package/dist/unstable/ai/AiError.d.ts.map +1 -1
  564. package/dist/unstable/ai/AiError.js +164 -109
  565. package/dist/unstable/ai/AiError.js.map +1 -1
  566. package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
  567. package/dist/unstable/ai/AnthropicStructuredOutput.js +2 -2
  568. package/dist/unstable/ai/Chat.d.ts +64 -41
  569. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  570. package/dist/unstable/ai/Chat.js +51 -33
  571. package/dist/unstable/ai/Chat.js.map +1 -1
  572. package/dist/unstable/ai/EmbeddingModel.d.ts +12 -11
  573. package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
  574. package/dist/unstable/ai/EmbeddingModel.js +9 -8
  575. package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
  576. package/dist/unstable/ai/IdGenerator.d.ts +28 -18
  577. package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
  578. package/dist/unstable/ai/IdGenerator.js +18 -11
  579. package/dist/unstable/ai/IdGenerator.js.map +1 -1
  580. package/dist/unstable/ai/LanguageModel.d.ts +31 -25
  581. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  582. package/dist/unstable/ai/LanguageModel.js +20 -14
  583. package/dist/unstable/ai/LanguageModel.js.map +1 -1
  584. package/dist/unstable/ai/McpSchema.d.ts +342 -119
  585. package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
  586. package/dist/unstable/ai/McpSchema.js +266 -98
  587. package/dist/unstable/ai/McpSchema.js.map +1 -1
  588. package/dist/unstable/ai/McpServer.d.ts +56 -20
  589. package/dist/unstable/ai/McpServer.d.ts.map +1 -1
  590. package/dist/unstable/ai/McpServer.js +64 -16
  591. package/dist/unstable/ai/McpServer.js.map +1 -1
  592. package/dist/unstable/ai/Model.d.ts +10 -12
  593. package/dist/unstable/ai/Model.d.ts.map +1 -1
  594. package/dist/unstable/ai/Model.js +9 -7
  595. package/dist/unstable/ai/Model.js.map +1 -1
  596. package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
  597. package/dist/unstable/ai/OpenAiStructuredOutput.js +2 -2
  598. package/dist/unstable/ai/Prompt.d.ts +200 -176
  599. package/dist/unstable/ai/Prompt.d.ts.map +1 -1
  600. package/dist/unstable/ai/Prompt.js +77 -68
  601. package/dist/unstable/ai/Prompt.js.map +1 -1
  602. package/dist/unstable/ai/Response.d.ts +173 -160
  603. package/dist/unstable/ai/Response.d.ts.map +1 -1
  604. package/dist/unstable/ai/Response.js +43 -48
  605. package/dist/unstable/ai/Response.js.map +1 -1
  606. package/dist/unstable/ai/ResponseIdTracker.d.ts +43 -4
  607. package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
  608. package/dist/unstable/ai/ResponseIdTracker.js +27 -2
  609. package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
  610. package/dist/unstable/ai/Telemetry.d.ts +43 -33
  611. package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
  612. package/dist/unstable/ai/Telemetry.js +15 -11
  613. package/dist/unstable/ai/Telemetry.js.map +1 -1
  614. package/dist/unstable/ai/Tokenizer.d.ts +14 -9
  615. package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
  616. package/dist/unstable/ai/Tokenizer.js +10 -6
  617. package/dist/unstable/ai/Tokenizer.js.map +1 -1
  618. package/dist/unstable/ai/Tool.d.ts +167 -96
  619. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  620. package/dist/unstable/ai/Tool.js +107 -53
  621. package/dist/unstable/ai/Tool.js.map +1 -1
  622. package/dist/unstable/ai/Toolkit.d.ts +32 -39
  623. package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
  624. package/dist/unstable/ai/Toolkit.js +7 -5
  625. package/dist/unstable/ai/Toolkit.js.map +1 -1
  626. package/dist/unstable/ai/index.d.ts +121 -29
  627. package/dist/unstable/ai/index.d.ts.map +1 -1
  628. package/dist/unstable/ai/index.js +121 -29
  629. package/dist/unstable/ai/index.js.map +1 -1
  630. package/dist/unstable/cli/Argument.d.ts +226 -134
  631. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  632. package/dist/unstable/cli/Argument.js +101 -65
  633. package/dist/unstable/cli/Argument.js.map +1 -1
  634. package/dist/unstable/cli/CliError.d.ts +72 -26
  635. package/dist/unstable/cli/CliError.d.ts.map +1 -1
  636. package/dist/unstable/cli/CliError.js +86 -23
  637. package/dist/unstable/cli/CliError.js.map +1 -1
  638. package/dist/unstable/cli/CliOutput.d.ts +48 -19
  639. package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
  640. package/dist/unstable/cli/CliOutput.js +32 -9
  641. package/dist/unstable/cli/CliOutput.js.map +1 -1
  642. package/dist/unstable/cli/Command.d.ts +196 -115
  643. package/dist/unstable/cli/Command.d.ts.map +1 -1
  644. package/dist/unstable/cli/Command.js +45 -31
  645. package/dist/unstable/cli/Command.js.map +1 -1
  646. package/dist/unstable/cli/Completions.d.ts +7 -7
  647. package/dist/unstable/cli/Completions.js +1 -1
  648. package/dist/unstable/cli/Flag.d.ts +235 -142
  649. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  650. package/dist/unstable/cli/Flag.js +111 -71
  651. package/dist/unstable/cli/Flag.js.map +1 -1
  652. package/dist/unstable/cli/GlobalFlag.d.ts +41 -13
  653. package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
  654. package/dist/unstable/cli/GlobalFlag.js +30 -7
  655. package/dist/unstable/cli/GlobalFlag.js.map +1 -1
  656. package/dist/unstable/cli/HelpDoc.d.ts +39 -14
  657. package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
  658. package/dist/unstable/cli/HelpDoc.js +21 -0
  659. package/dist/unstable/cli/Param.d.ts +110 -32
  660. package/dist/unstable/cli/Param.d.ts.map +1 -1
  661. package/dist/unstable/cli/Param.js +196 -135
  662. package/dist/unstable/cli/Param.js.map +1 -1
  663. package/dist/unstable/cli/Primitive.d.ts +79 -42
  664. package/dist/unstable/cli/Primitive.d.ts.map +1 -1
  665. package/dist/unstable/cli/Primitive.js +66 -35
  666. package/dist/unstable/cli/Primitive.js.map +1 -1
  667. package/dist/unstable/cli/Prompt.d.ts +183 -59
  668. package/dist/unstable/cli/Prompt.d.ts.map +1 -1
  669. package/dist/unstable/cli/Prompt.js +105 -23
  670. package/dist/unstable/cli/Prompt.js.map +1 -1
  671. package/dist/unstable/cli/index.d.ts +182 -0
  672. package/dist/unstable/cli/index.d.ts.map +1 -1
  673. package/dist/unstable/cli/index.js +205 -6
  674. package/dist/unstable/cli/index.js.map +1 -1
  675. package/dist/unstable/cli/internal/ansi.d.ts.map +1 -1
  676. package/dist/unstable/cli/internal/ansi.js +13 -0
  677. package/dist/unstable/cli/internal/ansi.js.map +1 -1
  678. package/dist/unstable/cli/internal/command.d.ts +5 -1
  679. package/dist/unstable/cli/internal/command.d.ts.map +1 -1
  680. package/dist/unstable/cli/internal/command.js +5 -1
  681. package/dist/unstable/cli/internal/command.js.map +1 -1
  682. package/dist/unstable/cli/internal/config.d.ts +3 -0
  683. package/dist/unstable/cli/internal/config.d.ts.map +1 -1
  684. package/dist/unstable/cli/internal/config.js.map +1 -1
  685. package/dist/unstable/cli/internal/lexer.js.map +1 -1
  686. package/dist/unstable/cli/internal/parser.js +0 -1
  687. package/dist/unstable/cli/internal/parser.js.map +1 -1
  688. package/dist/unstable/cluster/ClusterCron.d.ts +35 -1
  689. package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
  690. package/dist/unstable/cluster/ClusterCron.js +35 -1
  691. package/dist/unstable/cluster/ClusterCron.js.map +1 -1
  692. package/dist/unstable/cluster/ClusterError.d.ts +56 -7
  693. package/dist/unstable/cluster/ClusterError.d.ts.map +1 -1
  694. package/dist/unstable/cluster/ClusterError.js +56 -7
  695. package/dist/unstable/cluster/ClusterError.js.map +1 -1
  696. package/dist/unstable/cluster/ClusterMetrics.d.ts +39 -5
  697. package/dist/unstable/cluster/ClusterMetrics.d.ts.map +1 -1
  698. package/dist/unstable/cluster/ClusterMetrics.js +39 -5
  699. package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
  700. package/dist/unstable/cluster/ClusterSchema.d.ts +61 -8
  701. package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
  702. package/dist/unstable/cluster/ClusterSchema.js +61 -8
  703. package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
  704. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +14 -2
  705. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  706. package/dist/unstable/cluster/ClusterWorkflowEngine.js +35 -2
  707. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  708. package/dist/unstable/cluster/DeliverAt.d.ts +39 -4
  709. package/dist/unstable/cluster/DeliverAt.d.ts.map +1 -1
  710. package/dist/unstable/cluster/DeliverAt.js +11 -3
  711. package/dist/unstable/cluster/DeliverAt.js.map +1 -1
  712. package/dist/unstable/cluster/Entity.d.ts +74 -16
  713. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  714. package/dist/unstable/cluster/Entity.js +75 -10
  715. package/dist/unstable/cluster/Entity.js.map +1 -1
  716. package/dist/unstable/cluster/EntityAddress.d.ts +30 -2
  717. package/dist/unstable/cluster/EntityAddress.d.ts.map +1 -1
  718. package/dist/unstable/cluster/EntityAddress.js +30 -2
  719. package/dist/unstable/cluster/EntityAddress.js.map +1 -1
  720. package/dist/unstable/cluster/EntityId.d.ts +18 -3
  721. package/dist/unstable/cluster/EntityId.d.ts.map +1 -1
  722. package/dist/unstable/cluster/EntityId.js +15 -2
  723. package/dist/unstable/cluster/EntityId.js.map +1 -1
  724. package/dist/unstable/cluster/EntityProxy.d.ts +42 -14
  725. package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
  726. package/dist/unstable/cluster/EntityProxy.js +30 -14
  727. package/dist/unstable/cluster/EntityProxy.js.map +1 -1
  728. package/dist/unstable/cluster/EntityProxyServer.d.ts +18 -2
  729. package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
  730. package/dist/unstable/cluster/EntityProxyServer.js +40 -8
  731. package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
  732. package/dist/unstable/cluster/EntityResource.d.ts +43 -6
  733. package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
  734. package/dist/unstable/cluster/EntityResource.js +11 -4
  735. package/dist/unstable/cluster/EntityResource.js.map +1 -1
  736. package/dist/unstable/cluster/EntityType.d.ts +27 -3
  737. package/dist/unstable/cluster/EntityType.d.ts.map +1 -1
  738. package/dist/unstable/cluster/EntityType.js +24 -2
  739. package/dist/unstable/cluster/EntityType.js.map +1 -1
  740. package/dist/unstable/cluster/Envelope.d.ts +105 -23
  741. package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
  742. package/dist/unstable/cluster/Envelope.js +88 -14
  743. package/dist/unstable/cluster/Envelope.js.map +1 -1
  744. package/dist/unstable/cluster/HttpRunner.d.ts +88 -13
  745. package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
  746. package/dist/unstable/cluster/HttpRunner.js +88 -13
  747. package/dist/unstable/cluster/HttpRunner.js.map +1 -1
  748. package/dist/unstable/cluster/K8sHttpClient.d.ts +49 -6
  749. package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
  750. package/dist/unstable/cluster/K8sHttpClient.js +31 -6
  751. package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
  752. package/dist/unstable/cluster/MachineId.d.ts +24 -3
  753. package/dist/unstable/cluster/MachineId.d.ts.map +1 -1
  754. package/dist/unstable/cluster/MachineId.js +21 -2
  755. package/dist/unstable/cluster/MachineId.js.map +1 -1
  756. package/dist/unstable/cluster/Message.d.ts +102 -13
  757. package/dist/unstable/cluster/Message.d.ts.map +1 -1
  758. package/dist/unstable/cluster/Message.js +86 -10
  759. package/dist/unstable/cluster/Message.js.map +1 -1
  760. package/dist/unstable/cluster/MessageStorage.d.ts +126 -21
  761. package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
  762. package/dist/unstable/cluster/MessageStorage.js +70 -10
  763. package/dist/unstable/cluster/MessageStorage.js.map +1 -1
  764. package/dist/unstable/cluster/Reply.d.ts +101 -12
  765. package/dist/unstable/cluster/Reply.d.ts.map +1 -1
  766. package/dist/unstable/cluster/Reply.js +64 -8
  767. package/dist/unstable/cluster/Reply.js.map +1 -1
  768. package/dist/unstable/cluster/Runner.d.ts +47 -17
  769. package/dist/unstable/cluster/Runner.d.ts.map +1 -1
  770. package/dist/unstable/cluster/Runner.js +47 -17
  771. package/dist/unstable/cluster/Runner.js.map +1 -1
  772. package/dist/unstable/cluster/RunnerAddress.d.ts +34 -2
  773. package/dist/unstable/cluster/RunnerAddress.d.ts.map +1 -1
  774. package/dist/unstable/cluster/RunnerAddress.js +34 -2
  775. package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
  776. package/dist/unstable/cluster/RunnerHealth.d.ts +40 -12
  777. package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
  778. package/dist/unstable/cluster/RunnerHealth.js +40 -12
  779. package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
  780. package/dist/unstable/cluster/RunnerServer.d.ts +7 -4
  781. package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
  782. package/dist/unstable/cluster/RunnerServer.js +31 -4
  783. package/dist/unstable/cluster/RunnerServer.js.map +1 -1
  784. package/dist/unstable/cluster/RunnerStorage.d.ts +42 -5
  785. package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
  786. package/dist/unstable/cluster/RunnerStorage.js +38 -4
  787. package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
  788. package/dist/unstable/cluster/Runners.d.ts +76 -13
  789. package/dist/unstable/cluster/Runners.d.ts.map +1 -1
  790. package/dist/unstable/cluster/Runners.js +73 -12
  791. package/dist/unstable/cluster/Runners.js.map +1 -1
  792. package/dist/unstable/cluster/ShardId.d.ts +53 -5
  793. package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
  794. package/dist/unstable/cluster/ShardId.js +49 -4
  795. package/dist/unstable/cluster/ShardId.js.map +1 -1
  796. package/dist/unstable/cluster/Sharding.d.ts +10 -2
  797. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  798. package/dist/unstable/cluster/Sharding.js +35 -4
  799. package/dist/unstable/cluster/Sharding.js.map +1 -1
  800. package/dist/unstable/cluster/ShardingConfig.d.ts +65 -9
  801. package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
  802. package/dist/unstable/cluster/ShardingConfig.js +66 -9
  803. package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
  804. package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts +27 -6
  805. package/dist/unstable/cluster/ShardingRegistrationEvent.d.ts.map +1 -1
  806. package/dist/unstable/cluster/ShardingRegistrationEvent.js +28 -4
  807. package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
  808. package/dist/unstable/cluster/SingleRunner.d.ts +23 -1
  809. package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
  810. package/dist/unstable/cluster/SingleRunner.js +23 -1
  811. package/dist/unstable/cluster/SingleRunner.js.map +1 -1
  812. package/dist/unstable/cluster/Singleton.d.ts +15 -1
  813. package/dist/unstable/cluster/Singleton.d.ts.map +1 -1
  814. package/dist/unstable/cluster/Singleton.js +15 -1
  815. package/dist/unstable/cluster/Singleton.js.map +1 -1
  816. package/dist/unstable/cluster/SingletonAddress.d.ts +21 -1
  817. package/dist/unstable/cluster/SingletonAddress.d.ts.map +1 -1
  818. package/dist/unstable/cluster/SingletonAddress.js +21 -1
  819. package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
  820. package/dist/unstable/cluster/Snowflake.d.ts +90 -19
  821. package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
  822. package/dist/unstable/cluster/Snowflake.js +49 -13
  823. package/dist/unstable/cluster/Snowflake.js.map +1 -1
  824. package/dist/unstable/cluster/SocketRunner.d.ts +8 -2
  825. package/dist/unstable/cluster/SocketRunner.d.ts.map +1 -1
  826. package/dist/unstable/cluster/SocketRunner.js +29 -2
  827. package/dist/unstable/cluster/SocketRunner.js.map +1 -1
  828. package/dist/unstable/cluster/SqlMessageStorage.d.ts +11 -3
  829. package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
  830. package/dist/unstable/cluster/SqlMessageStorage.js +27 -3
  831. package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
  832. package/dist/unstable/cluster/SqlRunnerStorage.d.ts +11 -3
  833. package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
  834. package/dist/unstable/cluster/SqlRunnerStorage.js +46 -7
  835. package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
  836. package/dist/unstable/cluster/TestRunner.d.ts +18 -1
  837. package/dist/unstable/cluster/TestRunner.d.ts.map +1 -1
  838. package/dist/unstable/cluster/TestRunner.js +18 -1
  839. package/dist/unstable/cluster/TestRunner.js.map +1 -1
  840. package/dist/unstable/cluster/index.d.ts +790 -0
  841. package/dist/unstable/cluster/index.d.ts.map +1 -1
  842. package/dist/unstable/cluster/index.js +790 -0
  843. package/dist/unstable/cluster/index.js.map +1 -1
  844. package/dist/unstable/cluster/internal/hash.js +12 -0
  845. package/dist/unstable/cluster/internal/hash.js.map +1 -1
  846. package/dist/unstable/devtools/DevTools.d.ts +26 -3
  847. package/dist/unstable/devtools/DevTools.d.ts.map +1 -1
  848. package/dist/unstable/devtools/DevTools.js +26 -3
  849. package/dist/unstable/devtools/DevTools.js.map +1 -1
  850. package/dist/unstable/devtools/DevToolsClient.d.ts +20 -5
  851. package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
  852. package/dist/unstable/devtools/DevToolsClient.js +32 -5
  853. package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
  854. package/dist/unstable/devtools/DevToolsSchema.d.ts +184 -44
  855. package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
  856. package/dist/unstable/devtools/DevToolsSchema.js +102 -20
  857. package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
  858. package/dist/unstable/devtools/DevToolsServer.d.ts +27 -2
  859. package/dist/unstable/devtools/DevToolsServer.d.ts.map +1 -1
  860. package/dist/unstable/devtools/DevToolsServer.js +21 -1
  861. package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
  862. package/dist/unstable/devtools/index.d.ts +58 -0
  863. package/dist/unstable/devtools/index.d.ts.map +1 -1
  864. package/dist/unstable/devtools/index.js +58 -0
  865. package/dist/unstable/devtools/index.js.map +1 -1
  866. package/dist/unstable/encoding/Msgpack.d.ts +81 -12
  867. package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
  868. package/dist/unstable/encoding/Msgpack.js +75 -9
  869. package/dist/unstable/encoding/Msgpack.js.map +1 -1
  870. package/dist/unstable/encoding/Ndjson.d.ts +149 -21
  871. package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
  872. package/dist/unstable/encoding/Ndjson.js +97 -13
  873. package/dist/unstable/encoding/Ndjson.js.map +1 -1
  874. package/dist/unstable/encoding/Sse.d.ts +109 -18
  875. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  876. package/dist/unstable/encoding/Sse.js +69 -13
  877. package/dist/unstable/encoding/Sse.js.map +1 -1
  878. package/dist/unstable/encoding/index.d.ts +49 -0
  879. package/dist/unstable/encoding/index.d.ts.map +1 -1
  880. package/dist/unstable/encoding/index.js +49 -0
  881. package/dist/unstable/encoding/index.js.map +1 -1
  882. package/dist/unstable/eventlog/Event.d.ts +115 -30
  883. package/dist/unstable/eventlog/Event.d.ts.map +1 -1
  884. package/dist/unstable/eventlog/Event.js +22 -2
  885. package/dist/unstable/eventlog/Event.js.map +1 -1
  886. package/dist/unstable/eventlog/EventGroup.d.ts +50 -17
  887. package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
  888. package/dist/unstable/eventlog/EventGroup.js +24 -6
  889. package/dist/unstable/eventlog/EventGroup.js.map +1 -1
  890. package/dist/unstable/eventlog/EventJournal.d.ts +104 -20
  891. package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
  892. package/dist/unstable/eventlog/EventJournal.js +108 -16
  893. package/dist/unstable/eventlog/EventJournal.js.map +1 -1
  894. package/dist/unstable/eventlog/EventLog.d.ts +150 -31
  895. package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
  896. package/dist/unstable/eventlog/EventLog.js +111 -20
  897. package/dist/unstable/eventlog/EventLog.js.map +1 -1
  898. package/dist/unstable/eventlog/EventLogEncryption.d.ts +42 -6
  899. package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
  900. package/dist/unstable/eventlog/EventLogEncryption.js +38 -5
  901. package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
  902. package/dist/unstable/eventlog/EventLogMessage.d.ts +92 -18
  903. package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
  904. package/dist/unstable/eventlog/EventLogMessage.js +72 -16
  905. package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
  906. package/dist/unstable/eventlog/EventLogRemote.d.ts +35 -8
  907. package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
  908. package/dist/unstable/eventlog/EventLogRemote.js +54 -8
  909. package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
  910. package/dist/unstable/eventlog/EventLogServer.d.ts +17 -3
  911. package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
  912. package/dist/unstable/eventlog/EventLogServer.js +17 -3
  913. package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
  914. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +32 -6
  915. package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
  916. package/dist/unstable/eventlog/EventLogServerEncrypted.js +52 -6
  917. package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
  918. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +74 -16
  919. package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
  920. package/dist/unstable/eventlog/EventLogServerUnencrypted.js +90 -16
  921. package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
  922. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +59 -15
  923. package/dist/unstable/eventlog/EventLogSessionAuth.d.ts.map +1 -1
  924. package/dist/unstable/eventlog/EventLogSessionAuth.js +73 -14
  925. package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
  926. package/dist/unstable/eventlog/SqlEventJournal.d.ts +10 -2
  927. package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
  928. package/dist/unstable/eventlog/SqlEventJournal.js +28 -2
  929. package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
  930. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts +32 -3
  931. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
  932. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +32 -3
  933. package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
  934. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts +10 -2
  935. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
  936. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +28 -2
  937. package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
  938. package/dist/unstable/eventlog/index.d.ts +240 -0
  939. package/dist/unstable/eventlog/index.d.ts.map +1 -1
  940. package/dist/unstable/eventlog/index.js +240 -0
  941. package/dist/unstable/eventlog/index.js.map +1 -1
  942. package/dist/unstable/http/Cookies.d.ts +156 -77
  943. package/dist/unstable/http/Cookies.d.ts.map +1 -1
  944. package/dist/unstable/http/Cookies.js +93 -39
  945. package/dist/unstable/http/Cookies.js.map +1 -1
  946. package/dist/unstable/http/Etag.d.ts +40 -7
  947. package/dist/unstable/http/Etag.d.ts.map +1 -1
  948. package/dist/unstable/http/Etag.js +27 -4
  949. package/dist/unstable/http/Etag.js.map +1 -1
  950. package/dist/unstable/http/FetchHttpClient.d.ts +29 -3
  951. package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
  952. package/dist/unstable/http/FetchHttpClient.js +33 -4
  953. package/dist/unstable/http/FetchHttpClient.js.map +1 -1
  954. package/dist/unstable/http/FindMyWay.d.ts +1 -1
  955. package/dist/unstable/http/FindMyWay.js +1 -1
  956. package/dist/unstable/http/Headers.d.ts +182 -36
  957. package/dist/unstable/http/Headers.d.ts.map +1 -1
  958. package/dist/unstable/http/Headers.js +86 -16
  959. package/dist/unstable/http/Headers.js.map +1 -1
  960. package/dist/unstable/http/HttpBody.d.ts +114 -26
  961. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  962. package/dist/unstable/http/HttpBody.js +98 -20
  963. package/dist/unstable/http/HttpBody.js.map +1 -1
  964. package/dist/unstable/http/HttpClient.d.ts +204 -96
  965. package/dist/unstable/http/HttpClient.d.ts.map +1 -1
  966. package/dist/unstable/http/HttpClient.js +85 -38
  967. package/dist/unstable/http/HttpClient.js.map +1 -1
  968. package/dist/unstable/http/HttpClientError.d.ts +68 -12
  969. package/dist/unstable/http/HttpClientError.d.ts.map +1 -1
  970. package/dist/unstable/http/HttpClientError.js +71 -9
  971. package/dist/unstable/http/HttpClientError.js.map +1 -1
  972. package/dist/unstable/http/HttpClientRequest.d.ts +318 -100
  973. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  974. package/dist/unstable/http/HttpClientRequest.js +151 -45
  975. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  976. package/dist/unstable/http/HttpClientResponse.d.ts +59 -16
  977. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  978. package/dist/unstable/http/HttpClientResponse.js +44 -11
  979. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  980. package/dist/unstable/http/HttpEffect.d.ts +42 -16
  981. package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
  982. package/dist/unstable/http/HttpEffect.js +33 -13
  983. package/dist/unstable/http/HttpEffect.js.map +1 -1
  984. package/dist/unstable/http/HttpIncomingMessage.d.ts +48 -7
  985. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  986. package/dist/unstable/http/HttpIncomingMessage.js +45 -6
  987. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  988. package/dist/unstable/http/HttpMethod.d.ts +38 -6
  989. package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
  990. package/dist/unstable/http/HttpMethod.js +27 -2
  991. package/dist/unstable/http/HttpMethod.js.map +1 -1
  992. package/dist/unstable/http/HttpMiddleware.d.ts +38 -11
  993. package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
  994. package/dist/unstable/http/HttpMiddleware.js +52 -10
  995. package/dist/unstable/http/HttpMiddleware.js.map +1 -1
  996. package/dist/unstable/http/HttpPlatform.d.ts +34 -3
  997. package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
  998. package/dist/unstable/http/HttpPlatform.js +34 -3
  999. package/dist/unstable/http/HttpPlatform.js.map +1 -1
  1000. package/dist/unstable/http/HttpRouter.d.ts +209 -62
  1001. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  1002. package/dist/unstable/http/HttpRouter.js +136 -41
  1003. package/dist/unstable/http/HttpRouter.js.map +1 -1
  1004. package/dist/unstable/http/HttpServer.d.ts +151 -22
  1005. package/dist/unstable/http/HttpServer.d.ts.map +1 -1
  1006. package/dist/unstable/http/HttpServer.js +76 -11
  1007. package/dist/unstable/http/HttpServer.js.map +1 -1
  1008. package/dist/unstable/http/HttpServerError.d.ts +93 -10
  1009. package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
  1010. package/dist/unstable/http/HttpServerError.js +85 -8
  1011. package/dist/unstable/http/HttpServerError.js.map +1 -1
  1012. package/dist/unstable/http/HttpServerRequest.d.ts +125 -21
  1013. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  1014. package/dist/unstable/http/HttpServerRequest.js +101 -20
  1015. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  1016. package/dist/unstable/http/HttpServerRespondable.d.ts +32 -6
  1017. package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
  1018. package/dist/unstable/http/HttpServerRespondable.js +43 -5
  1019. package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
  1020. package/dist/unstable/http/HttpServerResponse.d.ts +391 -67
  1021. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  1022. package/dist/unstable/http/HttpServerResponse.js +205 -33
  1023. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  1024. package/dist/unstable/http/HttpStaticServer.d.ts +24 -8
  1025. package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
  1026. package/dist/unstable/http/HttpStaticServer.js +24 -8
  1027. package/dist/unstable/http/HttpStaticServer.js.map +1 -1
  1028. package/dist/unstable/http/HttpTraceContext.d.ts +53 -6
  1029. package/dist/unstable/http/HttpTraceContext.d.ts.map +1 -1
  1030. package/dist/unstable/http/HttpTraceContext.js +47 -5
  1031. package/dist/unstable/http/HttpTraceContext.js.map +1 -1
  1032. package/dist/unstable/http/Multipart.d.ts +179 -28
  1033. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  1034. package/dist/unstable/http/Multipart.js +131 -19
  1035. package/dist/unstable/http/Multipart.js.map +1 -1
  1036. package/dist/unstable/http/Multipasta/HeadersParser.d.ts +1 -1
  1037. package/dist/unstable/http/Multipasta/HeadersParser.js +1 -1
  1038. package/dist/unstable/http/Multipasta/Node.d.ts +1 -1
  1039. package/dist/unstable/http/Multipasta/Node.js +1 -1
  1040. package/dist/unstable/http/Multipasta/Search.d.ts +1 -1
  1041. package/dist/unstable/http/Multipasta/Search.js +1 -1
  1042. package/dist/unstable/http/Multipasta/Web.d.ts +1 -1
  1043. package/dist/unstable/http/Multipasta/Web.js +1 -1
  1044. package/dist/unstable/http/Multipasta.d.ts +1 -1
  1045. package/dist/unstable/http/Multipasta.js +1 -1
  1046. package/dist/unstable/http/Template.d.ts +53 -1
  1047. package/dist/unstable/http/Template.d.ts.map +1 -1
  1048. package/dist/unstable/http/Template.js +26 -0
  1049. package/dist/unstable/http/Template.js.map +1 -1
  1050. package/dist/unstable/http/Url.d.ts +70 -56
  1051. package/dist/unstable/http/Url.d.ts.map +1 -1
  1052. package/dist/unstable/http/Url.js +35 -21
  1053. package/dist/unstable/http/Url.js.map +1 -1
  1054. package/dist/unstable/http/UrlParams.d.ts +237 -51
  1055. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  1056. package/dist/unstable/http/UrlParams.js +120 -25
  1057. package/dist/unstable/http/UrlParams.js.map +1 -1
  1058. package/dist/unstable/http/index.d.ts +452 -0
  1059. package/dist/unstable/http/index.d.ts.map +1 -1
  1060. package/dist/unstable/http/index.js +452 -0
  1061. package/dist/unstable/http/index.js.map +1 -1
  1062. package/dist/unstable/httpapi/HttpApi.d.ts +49 -14
  1063. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  1064. package/dist/unstable/httpapi/HttpApi.js +14 -8
  1065. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  1066. package/dist/unstable/httpapi/HttpApiBuilder.d.ts +54 -16
  1067. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  1068. package/dist/unstable/httpapi/HttpApiBuilder.js +44 -6
  1069. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  1070. package/dist/unstable/httpapi/HttpApiClient.d.ts +57 -15
  1071. package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
  1072. package/dist/unstable/httpapi/HttpApiClient.js +42 -6
  1073. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  1074. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +214 -59
  1075. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  1076. package/dist/unstable/httpapi/HttpApiEndpoint.js +53 -9
  1077. package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
  1078. package/dist/unstable/httpapi/HttpApiError.d.ts +81 -1
  1079. package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
  1080. package/dist/unstable/httpapi/HttpApiError.js +98 -1
  1081. package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
  1082. package/dist/unstable/httpapi/HttpApiGroup.d.ts +87 -20
  1083. package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
  1084. package/dist/unstable/httpapi/HttpApiGroup.js +5 -2
  1085. package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
  1086. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +113 -22
  1087. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  1088. package/dist/unstable/httpapi/HttpApiMiddleware.js +49 -5
  1089. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  1090. package/dist/unstable/httpapi/HttpApiScalar.d.ts +19 -4
  1091. package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
  1092. package/dist/unstable/httpapi/HttpApiScalar.js +32 -2
  1093. package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
  1094. package/dist/unstable/httpapi/HttpApiSchema.d.ts +86 -38
  1095. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  1096. package/dist/unstable/httpapi/HttpApiSchema.js +59 -35
  1097. package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
  1098. package/dist/unstable/httpapi/HttpApiSecurity.d.ts +73 -17
  1099. package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
  1100. package/dist/unstable/httpapi/HttpApiSecurity.js +38 -5
  1101. package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
  1102. package/dist/unstable/httpapi/HttpApiSwagger.d.ts +4 -3
  1103. package/dist/unstable/httpapi/HttpApiSwagger.d.ts.map +1 -1
  1104. package/dist/unstable/httpapi/HttpApiSwagger.js +23 -3
  1105. package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
  1106. package/dist/unstable/httpapi/HttpApiTest.d.ts +6 -1
  1107. package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
  1108. package/dist/unstable/httpapi/HttpApiTest.js +26 -1
  1109. package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
  1110. package/dist/unstable/httpapi/OpenApi.d.ts +86 -15
  1111. package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
  1112. package/dist/unstable/httpapi/OpenApi.js +73 -15
  1113. package/dist/unstable/httpapi/OpenApi.js.map +1 -1
  1114. package/dist/unstable/httpapi/index.d.ts +310 -25
  1115. package/dist/unstable/httpapi/index.d.ts.map +1 -1
  1116. package/dist/unstable/httpapi/index.js +310 -25
  1117. package/dist/unstable/httpapi/index.js.map +1 -1
  1118. package/dist/unstable/observability/Otlp.d.ts +33 -3
  1119. package/dist/unstable/observability/Otlp.d.ts.map +1 -1
  1120. package/dist/unstable/observability/Otlp.js +14 -3
  1121. package/dist/unstable/observability/Otlp.js.map +1 -1
  1122. package/dist/unstable/observability/OtlpExporter.d.ts +8 -1
  1123. package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
  1124. package/dist/unstable/observability/OtlpExporter.js +32 -1
  1125. package/dist/unstable/observability/OtlpExporter.js.map +1 -1
  1126. package/dist/unstable/observability/OtlpLogger.d.ts +15 -2
  1127. package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
  1128. package/dist/unstable/observability/OtlpLogger.js +29 -2
  1129. package/dist/unstable/observability/OtlpLogger.js.map +1 -1
  1130. package/dist/unstable/observability/OtlpMetrics.d.ts +17 -5
  1131. package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
  1132. package/dist/unstable/observability/OtlpMetrics.js +32 -2
  1133. package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
  1134. package/dist/unstable/observability/OtlpResource.d.ts +49 -12
  1135. package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
  1136. package/dist/unstable/observability/OtlpResource.js +47 -5
  1137. package/dist/unstable/observability/OtlpResource.js.map +1 -1
  1138. package/dist/unstable/observability/OtlpSerialization.d.ts +28 -3
  1139. package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
  1140. package/dist/unstable/observability/OtlpSerialization.js +28 -3
  1141. package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
  1142. package/dist/unstable/observability/OtlpTracer.d.ts +19 -2
  1143. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  1144. package/dist/unstable/observability/OtlpTracer.js +32 -2
  1145. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  1146. package/dist/unstable/observability/PrometheusMetrics.d.ts +36 -16
  1147. package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
  1148. package/dist/unstable/observability/PrometheusMetrics.js +9 -7
  1149. package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
  1150. package/dist/unstable/observability/index.d.ts +160 -3
  1151. package/dist/unstable/observability/index.d.ts.map +1 -1
  1152. package/dist/unstable/observability/index.js +160 -3
  1153. package/dist/unstable/observability/index.js.map +1 -1
  1154. package/dist/unstable/persistence/KeyValueStore.d.ts +93 -18
  1155. package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
  1156. package/dist/unstable/persistence/KeyValueStore.js +81 -21
  1157. package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
  1158. package/dist/unstable/persistence/Persistable.d.ts +76 -15
  1159. package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
  1160. package/dist/unstable/persistence/Persistable.js +22 -5
  1161. package/dist/unstable/persistence/Persistable.js.map +1 -1
  1162. package/dist/unstable/persistence/PersistedCache.d.ts +27 -2
  1163. package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
  1164. package/dist/unstable/persistence/PersistedCache.js +24 -1
  1165. package/dist/unstable/persistence/PersistedCache.js.map +1 -1
  1166. package/dist/unstable/persistence/PersistedQueue.d.ts +73 -16
  1167. package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
  1168. package/dist/unstable/persistence/PersistedQueue.js +60 -13
  1169. package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
  1170. package/dist/unstable/persistence/Persistence.d.ts +98 -16
  1171. package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
  1172. package/dist/unstable/persistence/Persistence.js +91 -14
  1173. package/dist/unstable/persistence/Persistence.js.map +1 -1
  1174. package/dist/unstable/persistence/RateLimiter.d.ts +101 -21
  1175. package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
  1176. package/dist/unstable/persistence/RateLimiter.js +85 -16
  1177. package/dist/unstable/persistence/RateLimiter.js.map +1 -1
  1178. package/dist/unstable/persistence/Redis.d.ts +26 -5
  1179. package/dist/unstable/persistence/Redis.d.ts.map +1 -1
  1180. package/dist/unstable/persistence/Redis.js +36 -4
  1181. package/dist/unstable/persistence/Redis.js.map +1 -1
  1182. package/dist/unstable/persistence/index.d.ts +147 -0
  1183. package/dist/unstable/persistence/index.d.ts.map +1 -1
  1184. package/dist/unstable/persistence/index.js +147 -0
  1185. package/dist/unstable/persistence/index.js.map +1 -1
  1186. package/dist/unstable/process/ChildProcess.d.ts +87 -64
  1187. package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
  1188. package/dist/unstable/process/ChildProcess.js +25 -18
  1189. package/dist/unstable/process/ChildProcess.js.map +1 -1
  1190. package/dist/unstable/process/ChildProcessSpawner.d.ts +23 -12
  1191. package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
  1192. package/dist/unstable/process/ChildProcessSpawner.js +11 -6
  1193. package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
  1194. package/dist/unstable/process/index.d.ts +2 -1
  1195. package/dist/unstable/process/index.d.ts.map +1 -1
  1196. package/dist/unstable/process/index.js +2 -1
  1197. package/dist/unstable/process/index.js.map +1 -1
  1198. package/dist/unstable/reactivity/AsyncResult.d.ts +198 -59
  1199. package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
  1200. package/dist/unstable/reactivity/AsyncResult.js +121 -36
  1201. package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
  1202. package/dist/unstable/reactivity/Atom.d.ts +544 -130
  1203. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  1204. package/dist/unstable/reactivity/Atom.js +252 -58
  1205. package/dist/unstable/reactivity/Atom.js.map +1 -1
  1206. package/dist/unstable/reactivity/AtomHttpApi.d.ts +41 -2
  1207. package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
  1208. package/dist/unstable/reactivity/AtomHttpApi.js +35 -1
  1209. package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
  1210. package/dist/unstable/reactivity/AtomRef.d.ts +51 -7
  1211. package/dist/unstable/reactivity/AtomRef.d.ts.map +1 -1
  1212. package/dist/unstable/reactivity/AtomRef.js +29 -3
  1213. package/dist/unstable/reactivity/AtomRef.js.map +1 -1
  1214. package/dist/unstable/reactivity/AtomRegistry.d.ts +135 -21
  1215. package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
  1216. package/dist/unstable/reactivity/AtomRegistry.js +69 -10
  1217. package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
  1218. package/dist/unstable/reactivity/AtomRpc.d.ts +36 -2
  1219. package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
  1220. package/dist/unstable/reactivity/AtomRpc.js +29 -1
  1221. package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
  1222. package/dist/unstable/reactivity/Hydration.d.ts +28 -5
  1223. package/dist/unstable/reactivity/Hydration.d.ts.map +1 -1
  1224. package/dist/unstable/reactivity/Hydration.js +35 -3
  1225. package/dist/unstable/reactivity/Hydration.js.map +1 -1
  1226. package/dist/unstable/reactivity/Reactivity.d.ts +94 -13
  1227. package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
  1228. package/dist/unstable/reactivity/Reactivity.js +60 -7
  1229. package/dist/unstable/reactivity/Reactivity.js.map +1 -1
  1230. package/dist/unstable/reactivity/index.d.ts +167 -0
  1231. package/dist/unstable/reactivity/index.d.ts.map +1 -1
  1232. package/dist/unstable/reactivity/index.js +167 -0
  1233. package/dist/unstable/reactivity/index.js.map +1 -1
  1234. package/dist/unstable/rpc/Rpc.d.ts +254 -56
  1235. package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
  1236. package/dist/unstable/rpc/Rpc.js +44 -11
  1237. package/dist/unstable/rpc/Rpc.js.map +1 -1
  1238. package/dist/unstable/rpc/RpcClient.d.ts +80 -19
  1239. package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
  1240. package/dist/unstable/rpc/RpcClient.js +52 -12
  1241. package/dist/unstable/rpc/RpcClient.js.map +1 -1
  1242. package/dist/unstable/rpc/RpcClientError.d.ts +26 -2
  1243. package/dist/unstable/rpc/RpcClientError.d.ts.map +1 -1
  1244. package/dist/unstable/rpc/RpcClientError.js +26 -2
  1245. package/dist/unstable/rpc/RpcClientError.js.map +1 -1
  1246. package/dist/unstable/rpc/RpcGroup.d.ts +51 -8
  1247. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  1248. package/dist/unstable/rpc/RpcGroup.js +3 -1
  1249. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  1250. package/dist/unstable/rpc/RpcMessage.d.ts +128 -32
  1251. package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
  1252. package/dist/unstable/rpc/RpcMessage.js +23 -7
  1253. package/dist/unstable/rpc/RpcMessage.js.map +1 -1
  1254. package/dist/unstable/rpc/RpcMiddleware.d.ts +100 -20
  1255. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  1256. package/dist/unstable/rpc/RpcMiddleware.js +39 -3
  1257. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  1258. package/dist/unstable/rpc/RpcSchema.d.ts +38 -4
  1259. package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
  1260. package/dist/unstable/rpc/RpcSchema.js +34 -3
  1261. package/dist/unstable/rpc/RpcSchema.js.map +1 -1
  1262. package/dist/unstable/rpc/RpcSerialization.d.ts +60 -13
  1263. package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
  1264. package/dist/unstable/rpc/RpcSerialization.js +56 -12
  1265. package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
  1266. package/dist/unstable/rpc/RpcServer.d.ts +73 -23
  1267. package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
  1268. package/dist/unstable/rpc/RpcServer.js +69 -22
  1269. package/dist/unstable/rpc/RpcServer.js.map +1 -1
  1270. package/dist/unstable/rpc/RpcTest.d.ts +20 -1
  1271. package/dist/unstable/rpc/RpcTest.d.ts.map +1 -1
  1272. package/dist/unstable/rpc/RpcTest.js +20 -1
  1273. package/dist/unstable/rpc/RpcTest.js.map +1 -1
  1274. package/dist/unstable/rpc/RpcWorker.d.ts +39 -6
  1275. package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
  1276. package/dist/unstable/rpc/RpcWorker.js +16 -4
  1277. package/dist/unstable/rpc/RpcWorker.js.map +1 -1
  1278. package/dist/unstable/rpc/Utils.d.ts +10 -0
  1279. package/dist/unstable/rpc/Utils.d.ts.map +1 -1
  1280. package/dist/unstable/rpc/Utils.js +10 -0
  1281. package/dist/unstable/rpc/Utils.js.map +1 -1
  1282. package/dist/unstable/rpc/index.d.ts +272 -0
  1283. package/dist/unstable/rpc/index.d.ts.map +1 -1
  1284. package/dist/unstable/rpc/index.js +272 -0
  1285. package/dist/unstable/rpc/index.js.map +1 -1
  1286. package/dist/unstable/schema/Model.d.ts +192 -59
  1287. package/dist/unstable/schema/Model.d.ts.map +1 -1
  1288. package/dist/unstable/schema/Model.js +122 -38
  1289. package/dist/unstable/schema/Model.js.map +1 -1
  1290. package/dist/unstable/schema/VariantSchema.d.ts +101 -24
  1291. package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
  1292. package/dist/unstable/schema/VariantSchema.js +22 -6
  1293. package/dist/unstable/schema/VariantSchema.js.map +1 -1
  1294. package/dist/unstable/schema/index.d.ts +37 -0
  1295. package/dist/unstable/schema/index.d.ts.map +1 -1
  1296. package/dist/unstable/schema/index.js +37 -0
  1297. package/dist/unstable/schema/index.js.map +1 -1
  1298. package/dist/unstable/socket/Socket.d.ts +168 -34
  1299. package/dist/unstable/socket/Socket.d.ts.map +1 -1
  1300. package/dist/unstable/socket/Socket.js +124 -28
  1301. package/dist/unstable/socket/Socket.js.map +1 -1
  1302. package/dist/unstable/socket/SocketServer.d.ts +58 -10
  1303. package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
  1304. package/dist/unstable/socket/SocketServer.js +43 -5
  1305. package/dist/unstable/socket/SocketServer.js.map +1 -1
  1306. package/dist/unstable/socket/index.d.ts +44 -0
  1307. package/dist/unstable/socket/index.d.ts.map +1 -1
  1308. package/dist/unstable/socket/index.js +44 -0
  1309. package/dist/unstable/socket/index.js.map +1 -1
  1310. package/dist/unstable/sql/Migrator.d.ts +40 -9
  1311. package/dist/unstable/sql/Migrator.d.ts.map +1 -1
  1312. package/dist/unstable/sql/Migrator.js +45 -5
  1313. package/dist/unstable/sql/Migrator.js.map +1 -1
  1314. package/dist/unstable/sql/SqlClient.d.ts +38 -2
  1315. package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
  1316. package/dist/unstable/sql/SqlClient.js +40 -1
  1317. package/dist/unstable/sql/SqlClient.js.map +1 -1
  1318. package/dist/unstable/sql/SqlConnection.d.ts +34 -3
  1319. package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
  1320. package/dist/unstable/sql/SqlConnection.js +22 -0
  1321. package/dist/unstable/sql/SqlConnection.js.map +1 -1
  1322. package/dist/unstable/sql/SqlError.d.ts +117 -0
  1323. package/dist/unstable/sql/SqlError.d.ts.map +1 -1
  1324. package/dist/unstable/sql/SqlError.js +131 -0
  1325. package/dist/unstable/sql/SqlError.js.map +1 -1
  1326. package/dist/unstable/sql/SqlModel.d.ts +25 -5
  1327. package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
  1328. package/dist/unstable/sql/SqlModel.js +8 -4
  1329. package/dist/unstable/sql/SqlModel.js.map +1 -1
  1330. package/dist/unstable/sql/SqlResolver.d.ts +56 -13
  1331. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  1332. package/dist/unstable/sql/SqlResolver.js +44 -10
  1333. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  1334. package/dist/unstable/sql/SqlSchema.d.ts +29 -8
  1335. package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
  1336. package/dist/unstable/sql/SqlSchema.js +29 -8
  1337. package/dist/unstable/sql/SqlSchema.js.map +1 -1
  1338. package/dist/unstable/sql/SqlStream.d.ts +4 -0
  1339. package/dist/unstable/sql/SqlStream.d.ts.map +1 -1
  1340. package/dist/unstable/sql/SqlStream.js +24 -0
  1341. package/dist/unstable/sql/SqlStream.js.map +1 -1
  1342. package/dist/unstable/sql/Statement.d.ts +151 -24
  1343. package/dist/unstable/sql/Statement.d.ts.map +1 -1
  1344. package/dist/unstable/sql/Statement.js +91 -6
  1345. package/dist/unstable/sql/Statement.js.map +1 -1
  1346. package/dist/unstable/sql/index.d.ts +179 -1
  1347. package/dist/unstable/sql/index.d.ts.map +1 -1
  1348. package/dist/unstable/sql/index.js +179 -1
  1349. package/dist/unstable/sql/index.js.map +1 -1
  1350. package/dist/unstable/workers/Transferable.d.ts +72 -20
  1351. package/dist/unstable/workers/Transferable.d.ts.map +1 -1
  1352. package/dist/unstable/workers/Transferable.js +57 -14
  1353. package/dist/unstable/workers/Transferable.js.map +1 -1
  1354. package/dist/unstable/workers/Worker.d.ts +61 -8
  1355. package/dist/unstable/workers/Worker.d.ts.map +1 -1
  1356. package/dist/unstable/workers/Worker.js +44 -4
  1357. package/dist/unstable/workers/Worker.js.map +1 -1
  1358. package/dist/unstable/workers/WorkerError.d.ts +31 -9
  1359. package/dist/unstable/workers/WorkerError.d.ts.map +1 -1
  1360. package/dist/unstable/workers/WorkerError.js +44 -7
  1361. package/dist/unstable/workers/WorkerError.js.map +1 -1
  1362. package/dist/unstable/workers/WorkerRunner.d.ts +32 -3
  1363. package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
  1364. package/dist/unstable/workers/WorkerRunner.js +24 -1
  1365. package/dist/unstable/workers/WorkerRunner.js.map +1 -1
  1366. package/dist/unstable/workers/index.d.ts +81 -1
  1367. package/dist/unstable/workers/index.d.ts.map +1 -1
  1368. package/dist/unstable/workers/index.js +81 -1
  1369. package/dist/unstable/workers/index.js.map +1 -1
  1370. package/dist/unstable/workflow/Activity.d.ts +61 -10
  1371. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  1372. package/dist/unstable/workflow/Activity.js +20 -5
  1373. package/dist/unstable/workflow/Activity.js.map +1 -1
  1374. package/dist/unstable/workflow/DurableClock.d.ts +12 -3
  1375. package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
  1376. package/dist/unstable/workflow/DurableClock.js +22 -2
  1377. package/dist/unstable/workflow/DurableClock.js.map +1 -1
  1378. package/dist/unstable/workflow/DurableDeferred.d.ts +128 -31
  1379. package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
  1380. package/dist/unstable/workflow/DurableDeferred.js +77 -13
  1381. package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
  1382. package/dist/unstable/workflow/DurableQueue.d.ts +33 -8
  1383. package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
  1384. package/dist/unstable/workflow/DurableQueue.js +26 -6
  1385. package/dist/unstable/workflow/DurableQueue.js.map +1 -1
  1386. package/dist/unstable/workflow/Workflow.d.ts +102 -31
  1387. package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
  1388. package/dist/unstable/workflow/Workflow.js +75 -19
  1389. package/dist/unstable/workflow/Workflow.js.map +1 -1
  1390. package/dist/unstable/workflow/WorkflowEngine.d.ts +40 -5
  1391. package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
  1392. package/dist/unstable/workflow/WorkflowEngine.js +16 -4
  1393. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  1394. package/dist/unstable/workflow/WorkflowProxy.d.ts +40 -12
  1395. package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
  1396. package/dist/unstable/workflow/WorkflowProxy.js +8 -12
  1397. package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
  1398. package/dist/unstable/workflow/WorkflowProxyServer.d.ts +37 -2
  1399. package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
  1400. package/dist/unstable/workflow/WorkflowProxyServer.js +12 -6
  1401. package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
  1402. package/dist/unstable/workflow/index.d.ts +160 -0
  1403. package/dist/unstable/workflow/index.d.ts.map +1 -1
  1404. package/dist/unstable/workflow/index.js +160 -0
  1405. package/dist/unstable/workflow/index.js.map +1 -1
  1406. package/package.json +11 -11
  1407. package/src/Array.ts +151 -106
  1408. package/src/BigDecimal.ts +620 -553
  1409. package/src/BigInt.ts +342 -274
  1410. package/src/Boolean.ts +189 -156
  1411. package/src/Brand.ts +30 -5
  1412. package/src/Cache.ts +334 -167
  1413. package/src/Cause.ts +84 -73
  1414. package/src/Channel.ts +1639 -667
  1415. package/src/ChannelSchema.ts +137 -12
  1416. package/src/Chunk.ts +575 -429
  1417. package/src/Clock.ts +16 -9
  1418. package/src/Combiner.ts +11 -5
  1419. package/src/Config.ts +80 -68
  1420. package/src/ConfigProvider.ts +33 -32
  1421. package/src/Console.ts +88 -58
  1422. package/src/Context.ts +401 -190
  1423. package/src/Cron.ts +109 -48
  1424. package/src/Crypto.ts +327 -0
  1425. package/src/Data.ts +9 -3
  1426. package/src/DateTime.ts +893 -464
  1427. package/src/Deferred.ts +367 -175
  1428. package/src/Differ.ts +44 -2
  1429. package/src/Duration.ts +333 -186
  1430. package/src/Effect.ts +2201 -2289
  1431. package/src/Effectable.ts +38 -3
  1432. package/src/Encoding.ts +78 -28
  1433. package/src/Equal.ts +4 -3
  1434. package/src/Equivalence.ts +18 -24
  1435. package/src/ErrorReporter.ts +66 -82
  1436. package/src/ExecutionPlan.ts +106 -12
  1437. package/src/Exit.ts +6 -5
  1438. package/src/Fiber.ts +71 -40
  1439. package/src/FiberHandle.ts +157 -57
  1440. package/src/FiberMap.ts +328 -163
  1441. package/src/FiberSet.ts +130 -52
  1442. package/src/FileSystem.ts +104 -74
  1443. package/src/Filter.ts +166 -88
  1444. package/src/Formatter.ts +4 -70
  1445. package/src/Function.ts +218 -151
  1446. package/src/Graph.ts +714 -415
  1447. package/src/HKT.ts +29 -13
  1448. package/src/Hash.ts +35 -24
  1449. package/src/HashMap.ts +540 -388
  1450. package/src/HashRing.ts +111 -34
  1451. package/src/HashSet.ts +239 -153
  1452. package/src/Inspectable.ts +30 -17
  1453. package/src/Iterable.ts +336 -222
  1454. package/src/JsonPatch.ts +13 -10
  1455. package/src/JsonPointer.ts +13 -11
  1456. package/src/JsonSchema.ts +16 -0
  1457. package/src/Latch.ts +97 -26
  1458. package/src/Layer.ts +547 -445
  1459. package/src/LayerMap.ts +99 -26
  1460. package/src/LogLevel.ts +92 -131
  1461. package/src/Logger.ts +365 -297
  1462. package/src/ManagedRuntime.ts +78 -19
  1463. package/src/Match.ts +135 -161
  1464. package/src/Metric.ts +362 -313
  1465. package/src/MutableHashMap.ts +202 -127
  1466. package/src/MutableHashSet.ts +120 -52
  1467. package/src/MutableList.ts +157 -100
  1468. package/src/MutableRef.ts +129 -90
  1469. package/src/Newtype.ts +15 -2
  1470. package/src/NonEmptyIterable.ts +38 -48
  1471. package/src/Number.ts +261 -205
  1472. package/src/Optic.ts +6 -7
  1473. package/src/Option.ts +133 -156
  1474. package/src/Order.ts +6 -6
  1475. package/src/Ordering.ts +56 -45
  1476. package/src/PartitionedSemaphore.ts +225 -40
  1477. package/src/Path.ts +77 -13
  1478. package/src/Pipeable.ts +82 -24
  1479. package/src/PlatformError.ts +74 -6
  1480. package/src/Pool.ts +94 -31
  1481. package/src/Predicate.ts +17 -24
  1482. package/src/PrimaryKey.ts +11 -3
  1483. package/src/PubSub.ts +385 -309
  1484. package/src/Pull.ts +94 -25
  1485. package/src/Queue.ts +303 -184
  1486. package/src/Random.ts +69 -93
  1487. package/src/RcMap.ts +151 -141
  1488. package/src/RcRef.ts +68 -32
  1489. package/src/Record.ts +282 -137
  1490. package/src/Redactable.ts +7 -5
  1491. package/src/Redacted.ts +63 -34
  1492. package/src/Reducer.ts +3 -1
  1493. package/src/Ref.ts +173 -134
  1494. package/src/References.ts +73 -31
  1495. package/src/RegExp.ts +12 -6
  1496. package/src/Request.ts +159 -34
  1497. package/src/RequestResolver.ts +278 -121
  1498. package/src/Resource.ts +45 -7
  1499. package/src/Result.ts +137 -153
  1500. package/src/Runtime.ts +42 -21
  1501. package/src/Schedule.ts +585 -613
  1502. package/src/Scheduler.ts +44 -7
  1503. package/src/Schema.ts +1309 -615
  1504. package/src/SchemaAST.ts +123 -93
  1505. package/src/SchemaGetter.ts +52 -37
  1506. package/src/SchemaIssue.ts +19 -24
  1507. package/src/SchemaParser.ts +306 -85
  1508. package/src/SchemaRepresentation.ts +89 -77
  1509. package/src/SchemaTransformation.ts +97 -46
  1510. package/src/SchemaUtils.ts +24 -1
  1511. package/src/Scope.ts +107 -65
  1512. package/src/ScopedCache.ts +195 -59
  1513. package/src/ScopedRef.ts +28 -8
  1514. package/src/Semaphore.ts +61 -37
  1515. package/src/Sink.ts +461 -206
  1516. package/src/Stdio.ts +43 -6
  1517. package/src/Stream.ts +2361 -1613
  1518. package/src/String.ts +174 -97
  1519. package/src/Struct.ts +20 -18
  1520. package/src/SubscriptionRef.ts +309 -204
  1521. package/src/Symbol.ts +13 -5
  1522. package/src/SynchronizedRef.ts +278 -62
  1523. package/src/Take.ts +26 -2
  1524. package/src/Terminal.ts +40 -7
  1525. package/src/Tracer.ts +233 -59
  1526. package/src/Trie.ts +280 -245
  1527. package/src/Tuple.ts +34 -32
  1528. package/src/TxChunk.ts +200 -155
  1529. package/src/TxDeferred.ts +43 -29
  1530. package/src/TxHashMap.ts +370 -231
  1531. package/src/TxHashSet.ts +253 -159
  1532. package/src/TxPriorityQueue.ts +97 -65
  1533. package/src/TxPubSub.ts +77 -49
  1534. package/src/TxQueue.ts +277 -242
  1535. package/src/TxReentrantLock.ts +70 -47
  1536. package/src/TxRef.ts +69 -40
  1537. package/src/TxSemaphore.ts +101 -115
  1538. package/src/TxSubscriptionRef.ts +74 -50
  1539. package/src/Types.ts +31 -34
  1540. package/src/UndefinedOr.ts +62 -25
  1541. package/src/Unify.ts +72 -117
  1542. package/src/Utils.ts +5 -2
  1543. package/src/index.ts +1976 -420
  1544. package/src/internal/schema/schema.ts +1 -1
  1545. package/src/testing/FastCheck.ts +9 -6
  1546. package/src/testing/TestClock.ts +63 -35
  1547. package/src/testing/TestConsole.ts +54 -36
  1548. package/src/testing/TestSchema.ts +10 -8
  1549. package/src/testing/index.ts +34 -0
  1550. package/src/unstable/ai/AiError.ts +195 -137
  1551. package/src/unstable/ai/AnthropicStructuredOutput.ts +2 -2
  1552. package/src/unstable/ai/Chat.ts +68 -43
  1553. package/src/unstable/ai/EmbeddingModel.ts +12 -11
  1554. package/src/unstable/ai/IdGenerator.ts +28 -18
  1555. package/src/unstable/ai/LanguageModel.ts +35 -27
  1556. package/src/unstable/ai/McpSchema.ts +342 -119
  1557. package/src/unstable/ai/McpServer.ts +79 -20
  1558. package/src/unstable/ai/Model.ts +10 -12
  1559. package/src/unstable/ai/OpenAiStructuredOutput.ts +2 -2
  1560. package/src/unstable/ai/Prompt.ts +216 -192
  1561. package/src/unstable/ai/Response.ts +179 -167
  1562. package/src/unstable/ai/ResponseIdTracker.ts +43 -4
  1563. package/src/unstable/ai/Telemetry.ts +43 -33
  1564. package/src/unstable/ai/Tokenizer.ts +14 -9
  1565. package/src/unstable/ai/Tool.ts +168 -97
  1566. package/src/unstable/ai/Toolkit.ts +51 -46
  1567. package/src/unstable/ai/index.ts +121 -29
  1568. package/src/unstable/cli/Argument.ts +226 -134
  1569. package/src/unstable/cli/CliError.ts +96 -26
  1570. package/src/unstable/cli/CliOutput.ts +48 -19
  1571. package/src/unstable/cli/Command.ts +196 -115
  1572. package/src/unstable/cli/Completions.ts +7 -7
  1573. package/src/unstable/cli/Flag.ts +235 -142
  1574. package/src/unstable/cli/GlobalFlag.ts +41 -13
  1575. package/src/unstable/cli/HelpDoc.ts +39 -14
  1576. package/src/unstable/cli/Param.ts +395 -260
  1577. package/src/unstable/cli/Primitive.ts +79 -42
  1578. package/src/unstable/cli/Prompt.ts +207 -59
  1579. package/src/unstable/cli/index.ts +205 -6
  1580. package/src/unstable/cli/internal/ansi.ts +13 -0
  1581. package/src/unstable/cli/internal/command.ts +5 -1
  1582. package/src/unstable/cli/internal/config.ts +3 -0
  1583. package/src/unstable/cli/internal/lexer.ts +11 -0
  1584. package/src/unstable/cli/internal/parser.ts +0 -1
  1585. package/src/unstable/cluster/ClusterCron.ts +35 -1
  1586. package/src/unstable/cluster/ClusterError.ts +56 -7
  1587. package/src/unstable/cluster/ClusterMetrics.ts +39 -5
  1588. package/src/unstable/cluster/ClusterSchema.ts +61 -8
  1589. package/src/unstable/cluster/ClusterWorkflowEngine.ts +35 -2
  1590. package/src/unstable/cluster/DeliverAt.ts +39 -4
  1591. package/src/unstable/cluster/Entity.ts +106 -16
  1592. package/src/unstable/cluster/EntityAddress.ts +30 -2
  1593. package/src/unstable/cluster/EntityId.ts +18 -3
  1594. package/src/unstable/cluster/EntityProxy.ts +42 -14
  1595. package/src/unstable/cluster/EntityProxyServer.ts +45 -8
  1596. package/src/unstable/cluster/EntityResource.ts +43 -6
  1597. package/src/unstable/cluster/EntityType.ts +27 -3
  1598. package/src/unstable/cluster/Envelope.ts +128 -23
  1599. package/src/unstable/cluster/HttpRunner.ts +88 -13
  1600. package/src/unstable/cluster/K8sHttpClient.ts +49 -6
  1601. package/src/unstable/cluster/MachineId.ts +24 -3
  1602. package/src/unstable/cluster/Message.ts +102 -13
  1603. package/src/unstable/cluster/MessageStorage.ts +126 -21
  1604. package/src/unstable/cluster/Reply.ts +101 -12
  1605. package/src/unstable/cluster/Runner.ts +47 -17
  1606. package/src/unstable/cluster/RunnerAddress.ts +34 -2
  1607. package/src/unstable/cluster/RunnerHealth.ts +40 -12
  1608. package/src/unstable/cluster/RunnerServer.ts +31 -4
  1609. package/src/unstable/cluster/RunnerStorage.ts +42 -5
  1610. package/src/unstable/cluster/Runners.ts +76 -13
  1611. package/src/unstable/cluster/ShardId.ts +53 -5
  1612. package/src/unstable/cluster/Sharding.ts +35 -4
  1613. package/src/unstable/cluster/ShardingConfig.ts +75 -10
  1614. package/src/unstable/cluster/ShardingRegistrationEvent.ts +31 -7
  1615. package/src/unstable/cluster/SingleRunner.ts +23 -1
  1616. package/src/unstable/cluster/Singleton.ts +15 -1
  1617. package/src/unstable/cluster/SingletonAddress.ts +21 -1
  1618. package/src/unstable/cluster/Snowflake.ts +90 -19
  1619. package/src/unstable/cluster/SocketRunner.ts +29 -2
  1620. package/src/unstable/cluster/SqlMessageStorage.ts +27 -3
  1621. package/src/unstable/cluster/SqlRunnerStorage.ts +46 -7
  1622. package/src/unstable/cluster/TestRunner.ts +18 -1
  1623. package/src/unstable/cluster/index.ts +790 -0
  1624. package/src/unstable/cluster/internal/hash.ts +12 -0
  1625. package/src/unstable/devtools/DevTools.ts +26 -3
  1626. package/src/unstable/devtools/DevToolsClient.ts +32 -5
  1627. package/src/unstable/devtools/DevToolsSchema.ts +201 -44
  1628. package/src/unstable/devtools/DevToolsServer.ts +27 -2
  1629. package/src/unstable/devtools/index.ts +58 -0
  1630. package/src/unstable/encoding/Msgpack.ts +97 -12
  1631. package/src/unstable/encoding/Ndjson.ts +149 -21
  1632. package/src/unstable/encoding/Sse.ts +109 -18
  1633. package/src/unstable/encoding/index.ts +49 -0
  1634. package/src/unstable/eventlog/Event.ts +131 -30
  1635. package/src/unstable/eventlog/EventGroup.ts +50 -17
  1636. package/src/unstable/eventlog/EventJournal.ts +120 -20
  1637. package/src/unstable/eventlog/EventLog.ts +150 -31
  1638. package/src/unstable/eventlog/EventLogEncryption.ts +42 -6
  1639. package/src/unstable/eventlog/EventLogMessage.ts +92 -18
  1640. package/src/unstable/eventlog/EventLogRemote.ts +54 -8
  1641. package/src/unstable/eventlog/EventLogServer.ts +33 -3
  1642. package/src/unstable/eventlog/EventLogServerEncrypted.ts +52 -6
  1643. package/src/unstable/eventlog/EventLogServerUnencrypted.ts +90 -16
  1644. package/src/unstable/eventlog/EventLogSessionAuth.ts +77 -15
  1645. package/src/unstable/eventlog/SqlEventJournal.ts +28 -2
  1646. package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +32 -3
  1647. package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +28 -2
  1648. package/src/unstable/eventlog/index.ts +240 -0
  1649. package/src/unstable/http/Cookies.ts +156 -77
  1650. package/src/unstable/http/Etag.ts +40 -7
  1651. package/src/unstable/http/FetchHttpClient.ts +33 -4
  1652. package/src/unstable/http/FindMyWay.ts +1 -1
  1653. package/src/unstable/http/Headers.ts +252 -50
  1654. package/src/unstable/http/HttpBody.ts +128 -26
  1655. package/src/unstable/http/HttpClient.ts +204 -96
  1656. package/src/unstable/http/HttpClientError.ts +80 -12
  1657. package/src/unstable/http/HttpClientRequest.ts +318 -100
  1658. package/src/unstable/http/HttpClientResponse.ts +59 -16
  1659. package/src/unstable/http/HttpEffect.ts +66 -18
  1660. package/src/unstable/http/HttpIncomingMessage.ts +48 -7
  1661. package/src/unstable/http/HttpMethod.ts +38 -6
  1662. package/src/unstable/http/HttpMiddleware.ts +60 -11
  1663. package/src/unstable/http/HttpPlatform.ts +34 -3
  1664. package/src/unstable/http/HttpRouter.ts +232 -69
  1665. package/src/unstable/http/HttpServer.ts +151 -22
  1666. package/src/unstable/http/HttpServerError.ts +93 -10
  1667. package/src/unstable/http/HttpServerRequest.ts +125 -21
  1668. package/src/unstable/http/HttpServerRespondable.ts +49 -6
  1669. package/src/unstable/http/HttpServerResponse.ts +391 -67
  1670. package/src/unstable/http/HttpStaticServer.ts +24 -8
  1671. package/src/unstable/http/HttpTraceContext.ts +53 -6
  1672. package/src/unstable/http/Multipart.ts +179 -28
  1673. package/src/unstable/http/Multipasta/HeadersParser.ts +1 -1
  1674. package/src/unstable/http/Multipasta/Node.ts +1 -1
  1675. package/src/unstable/http/Multipasta/Search.ts +1 -1
  1676. package/src/unstable/http/Multipasta/Web.ts +1 -1
  1677. package/src/unstable/http/Multipasta.ts +1 -1
  1678. package/src/unstable/http/Template.ts +53 -1
  1679. package/src/unstable/http/Url.ts +70 -56
  1680. package/src/unstable/http/UrlParams.ts +237 -51
  1681. package/src/unstable/http/index.ts +452 -0
  1682. package/src/unstable/httpapi/HttpApi.ts +49 -14
  1683. package/src/unstable/httpapi/HttpApiBuilder.ts +81 -16
  1684. package/src/unstable/httpapi/HttpApiClient.ts +78 -15
  1685. package/src/unstable/httpapi/HttpApiEndpoint.ts +238 -59
  1686. package/src/unstable/httpapi/HttpApiError.ts +100 -1
  1687. package/src/unstable/httpapi/HttpApiGroup.ts +87 -20
  1688. package/src/unstable/httpapi/HttpApiMiddleware.ts +113 -22
  1689. package/src/unstable/httpapi/HttpApiScalar.ts +38 -4
  1690. package/src/unstable/httpapi/HttpApiSchema.ts +86 -38
  1691. package/src/unstable/httpapi/HttpApiSecurity.ts +73 -17
  1692. package/src/unstable/httpapi/HttpApiSwagger.ts +23 -3
  1693. package/src/unstable/httpapi/HttpApiTest.ts +26 -1
  1694. package/src/unstable/httpapi/OpenApi.ts +115 -15
  1695. package/src/unstable/httpapi/index.ts +310 -25
  1696. package/src/unstable/observability/Otlp.ts +33 -3
  1697. package/src/unstable/observability/OtlpExporter.ts +32 -1
  1698. package/src/unstable/observability/OtlpLogger.ts +32 -2
  1699. package/src/unstable/observability/OtlpMetrics.ts +39 -5
  1700. package/src/unstable/observability/OtlpResource.ts +68 -12
  1701. package/src/unstable/observability/OtlpSerialization.ts +28 -3
  1702. package/src/unstable/observability/OtlpTracer.ts +41 -2
  1703. package/src/unstable/observability/PrometheusMetrics.ts +36 -16
  1704. package/src/unstable/observability/index.ts +160 -3
  1705. package/src/unstable/persistence/KeyValueStore.ts +108 -28
  1706. package/src/unstable/persistence/Persistable.ts +76 -15
  1707. package/src/unstable/persistence/PersistedCache.ts +27 -2
  1708. package/src/unstable/persistence/PersistedQueue.ts +98 -16
  1709. package/src/unstable/persistence/Persistence.ts +98 -16
  1710. package/src/unstable/persistence/RateLimiter.ts +101 -21
  1711. package/src/unstable/persistence/Redis.ts +42 -5
  1712. package/src/unstable/persistence/index.ts +147 -0
  1713. package/src/unstable/process/ChildProcess.ts +90 -66
  1714. package/src/unstable/process/ChildProcessSpawner.ts +23 -12
  1715. package/src/unstable/process/index.ts +2 -1
  1716. package/src/unstable/reactivity/AsyncResult.ts +204 -61
  1717. package/src/unstable/reactivity/Atom.ts +598 -139
  1718. package/src/unstable/reactivity/AtomHttpApi.ts +41 -2
  1719. package/src/unstable/reactivity/AtomRef.ts +51 -7
  1720. package/src/unstable/reactivity/AtomRegistry.ts +141 -22
  1721. package/src/unstable/reactivity/AtomRpc.ts +36 -2
  1722. package/src/unstable/reactivity/Hydration.ts +45 -5
  1723. package/src/unstable/reactivity/Reactivity.ts +94 -13
  1724. package/src/unstable/reactivity/index.ts +167 -0
  1725. package/src/unstable/rpc/Rpc.ts +254 -56
  1726. package/src/unstable/rpc/RpcClient.ts +106 -19
  1727. package/src/unstable/rpc/RpcClientError.ts +26 -2
  1728. package/src/unstable/rpc/RpcGroup.ts +51 -8
  1729. package/src/unstable/rpc/RpcMessage.ts +128 -32
  1730. package/src/unstable/rpc/RpcMiddleware.ts +100 -20
  1731. package/src/unstable/rpc/RpcSchema.ts +38 -4
  1732. package/src/unstable/rpc/RpcSerialization.ts +60 -13
  1733. package/src/unstable/rpc/RpcServer.ts +107 -23
  1734. package/src/unstable/rpc/RpcTest.ts +20 -1
  1735. package/src/unstable/rpc/RpcWorker.ts +39 -6
  1736. package/src/unstable/rpc/Utils.ts +33 -0
  1737. package/src/unstable/rpc/index.ts +272 -0
  1738. package/src/unstable/schema/Model.ts +245 -61
  1739. package/src/unstable/schema/VariantSchema.ts +101 -24
  1740. package/src/unstable/schema/index.ts +37 -0
  1741. package/src/unstable/socket/Socket.ts +168 -34
  1742. package/src/unstable/socket/SocketServer.ts +58 -10
  1743. package/src/unstable/socket/index.ts +44 -0
  1744. package/src/unstable/sql/Migrator.ts +61 -9
  1745. package/src/unstable/sql/SqlClient.ts +59 -2
  1746. package/src/unstable/sql/SqlConnection.ts +34 -3
  1747. package/src/unstable/sql/SqlError.ts +135 -0
  1748. package/src/unstable/sql/SqlModel.ts +25 -5
  1749. package/src/unstable/sql/SqlResolver.ts +56 -13
  1750. package/src/unstable/sql/SqlSchema.ts +29 -8
  1751. package/src/unstable/sql/SqlStream.ts +24 -0
  1752. package/src/unstable/sql/Statement.ts +168 -24
  1753. package/src/unstable/sql/index.ts +179 -1
  1754. package/src/unstable/workers/Transferable.ts +72 -20
  1755. package/src/unstable/workers/Worker.ts +61 -8
  1756. package/src/unstable/workers/WorkerError.ts +50 -9
  1757. package/src/unstable/workers/WorkerRunner.ts +32 -3
  1758. package/src/unstable/workers/index.ts +81 -1
  1759. package/src/unstable/workflow/Activity.ts +61 -10
  1760. package/src/unstable/workflow/DurableClock.ts +26 -3
  1761. package/src/unstable/workflow/DurableDeferred.ts +148 -31
  1762. package/src/unstable/workflow/DurableQueue.ts +33 -8
  1763. package/src/unstable/workflow/Workflow.ts +123 -31
  1764. package/src/unstable/workflow/WorkflowEngine.ts +40 -5
  1765. package/src/unstable/workflow/WorkflowProxy.ts +40 -12
  1766. package/src/unstable/workflow/WorkflowProxyServer.ts +41 -6
  1767. package/src/unstable/workflow/index.ts +160 -0
package/src/Metric.ts CHANGED
@@ -1,47 +1,54 @@
1
1
  /**
2
- * @since 2.0.0
3
- *
4
- * The `Metric` module provides a comprehensive system for collecting, aggregating, and observing
5
- * application metrics in Effect applications. It offers type-safe, concurrent metrics that can
6
- * be used to monitor performance, track business metrics, and gain insights into application behavior.
7
- *
8
- * ## Key Features
9
- *
10
- * - **Five Metric Types**: Counters, Gauges, Frequencies, Histograms, and Summaries
11
- * - **Type Safety**: Fully typed metrics with compile-time guarantees
12
- * - **Concurrency Safe**: Thread-safe metrics that work with Effect's concurrency model
13
- * - **Attributes**: Tag metrics with key-value attributes for filtering and grouping
14
- * - **Snapshots**: Take point-in-time snapshots of all metrics for reporting
15
- * - **Runtime Integration**: Automatic fiber runtime metrics collection
16
- *
17
- * ## Metric Types
18
- *
19
- * ### Counter
20
- * Tracks cumulative values that only increase or can be reset to zero.
21
- * Perfect for counting events, requests, errors, etc.
22
- *
23
- * ### Gauge
24
- * Represents a single numerical value that can go up or down.
25
- * Ideal for current resource usage, temperature, queue sizes, etc.
26
- *
27
- * ### Frequency
28
- * Counts occurrences of discrete string values.
29
- * Useful for tracking categorical data like HTTP status codes, user actions, etc.
30
- *
31
- * ### Histogram
32
- * Records observations in configurable buckets to analyze distribution.
33
- * Great for response times, request sizes, and other measured values.
34
- *
35
- * ### Summary
36
- * Calculates quantiles over a sliding time window.
37
- * Provides statistical insights into value distributions over time.
38
- *
39
- * ## Basic Usage
2
+ * The `Metric` module provides tools for defining, updating, tagging, and
3
+ * reading application metrics from Effect programs. A `Metric<Input, State>`
4
+ * accepts typed input values and aggregates them into a typed state that can be
5
+ * read directly or exported from a snapshot.
6
+ *
7
+ * **Mental model**
8
+ *
9
+ * - A metric has an identifier, a type, an optional description, optional attributes, and mutable aggregate state
10
+ * - Use counters for cumulative values such as requests, errors, retries, or bytes processed
11
+ * - Use gauges for point-in-time values that can rise or fall, such as active connections or queue size
12
+ * - Use frequencies to count occurrences of discrete string values, such as status codes or action names
13
+ * - Use histograms to bucket numeric observations and inspect count, min, max, and sum
14
+ * - Use summaries to calculate quantiles over a bounded, time-based observation window
15
+ * - Metrics are updated from effects with {@link update} and {@link modify}, and read with {@link value}
16
+ * - Attributes tag metrics with key-value dimensions so the same logical metric can be grouped by service, endpoint, method, or other labels
17
+ * - Snapshots capture the currently registered metrics and their aggregate states for reporting or export
18
+ *
19
+ * **Common tasks**
20
+ *
21
+ * - Create counters: {@link counter}
22
+ * - Create gauges: {@link gauge}
23
+ * - Create frequencies: {@link frequency}
24
+ * - Create histograms: {@link histogram}, {@link linearBoundaries}, {@link exponentialBoundaries}
25
+ * - Create summaries: {@link summary}, {@link summaryWithTimestamp}
26
+ * - Measure effect duration: {@link timer}
27
+ * - Update a metric: {@link update}
28
+ * - Apply relative updates where supported: {@link modify}
29
+ * - Read one metric: {@link value}
30
+ * - Tag a metric: {@link withAttributes}
31
+ * - Transform accepted input values: {@link mapInput}
32
+ * - Record a constant input for repeated events: {@link withConstantInput}
33
+ * - Inspect all registered metrics: {@link snapshot}, {@link dump}
34
+ * - Enable fiber runtime metrics: {@link enableRuntimeMetrics}
35
+ *
36
+ * **Gotchas**
37
+ *
38
+ * - Counter and gauge metrics can use `number` inputs by default or `bigint` inputs with the `bigint` option
39
+ * - Incremental counters ignore negative updates; use non-incremental counters only when decreases are meaningful
40
+ * - {@link update} sets a gauge to an absolute value, while {@link modify} changes it relative to its current value
41
+ * - Histogram buckets are cumulative and depend on the boundaries supplied when the metric is created
42
+ * - Summary quantiles are calculated from the configured sliding window, so old observations expire
43
+ * - Prefer low-cardinality attributes; using unbounded values such as request IDs can create too many metric series
44
+ *
45
+ * **Quickstart**
46
+ *
47
+ * **Example** (Creating and updating metrics)
40
48
  *
41
49
  * ```ts
42
50
  * import { Effect, Metric } from "effect"
43
51
  *
44
- * // Create metrics
45
52
  * const requestCount = Metric.counter("http_requests_total", {
46
53
  * description: "Total number of HTTP requests"
47
54
  * })
@@ -51,31 +58,7 @@
51
58
  * boundaries: Metric.linearBoundaries({ start: 0, width: 50, count: 20 })
52
59
  * })
53
60
  *
54
- * // Use metrics in your application
55
61
  * const handleRequest = Effect.gen(function*() {
56
- * yield* Metric.update(requestCount, 1)
57
- *
58
- * const startTime = yield* Effect.clockWith((clock) => clock.currentTimeMillis)
59
- *
60
- * // Process request...
61
- * yield* Effect.sleep("100 millis")
62
- *
63
- * const endTime = yield* Effect.clockWith((clock) => clock.currentTimeMillis)
64
- * yield* Metric.update(responseTime, endTime - startTime)
65
- * })
66
- * ```
67
- *
68
- * ## Attributes and Tagging
69
- *
70
- * ```ts
71
- * import { Effect, Metric } from "effect"
72
- *
73
- * const requestCount = Metric.counter("requests", {
74
- * description: "Number of requests by endpoint and method"
75
- * })
76
- *
77
- * const program = Effect.gen(function*() {
78
- * // Add attributes to metrics
79
62
  * yield* Metric.update(
80
63
  * Metric.withAttributes(requestCount, {
81
64
  * endpoint: "/api/users",
@@ -84,57 +67,21 @@
84
67
  * 1
85
68
  * )
86
69
  *
87
- * // Or use withAttributes for compile-time attributes
88
- * const taggedCounter = Metric.withAttributes(requestCount, {
89
- * endpoint: "/api/posts",
90
- * method: "POST"
91
- * })
92
- * yield* Metric.update(taggedCounter, 1)
93
- * })
94
- * ```
95
- *
96
- * ## Advanced Examples
97
- *
98
- * ```ts
99
- * import { Effect, Metric } from "effect"
100
- *
101
- * // Business metrics
102
- * const userSignups = Metric.counter("user_signups_total")
103
- * const activeUsers = Metric.gauge("active_users_current")
104
- * const featureUsage = Metric.frequency("feature_usage")
70
+ * yield* Metric.update(responseTime, 125)
105
71
  *
106
- * // Performance metrics
107
- * const dbQueryTime = Metric.summary("db_query_duration", {
108
- * maxAge: "5 minutes",
109
- * maxSize: 1000,
110
- * quantiles: [0.5, 0.9, 0.95, 0.99]
72
+ * return yield* Metric.value(requestCount)
111
73
  * })
74
+ * ```
112
75
  *
113
- * const program = Effect.gen(function*() {
114
- * // Track user signup
115
- * yield* Metric.update(userSignups, 1)
116
- *
117
- * // Update active user count
118
- * yield* Metric.update(activeUsers, 1250)
119
- *
120
- * // Record feature usage
121
- * yield* Metric.update(featureUsage, "dashboard_view")
76
+ * **See also**
122
77
  *
123
- * // Measure database query time
124
- * yield* Effect.timed(performDatabaseQuery).pipe(
125
- * Effect.tap(([duration]) => Metric.update(dbQueryTime, duration))
126
- * )
127
- * })
78
+ * - {@link counter} / {@link gauge} / {@link frequency} for common metric types
79
+ * - {@link histogram} / {@link summary} for distribution metrics
80
+ * - {@link update} / {@link modify} / {@link value} for working with metric state
81
+ * - {@link withAttributes} for adding dimensions
82
+ * - {@link snapshot} for exporting all registered metric values
128
83
  *
129
- * // Get metric snapshots
130
- * const getMetrics = Effect.gen(function*() {
131
- * const snapshots = yield* Metric.snapshot
132
- *
133
- * for (const metric of snapshots) {
134
- * console.log(`${metric.id}: ${JSON.stringify(metric.state)}`)
135
- * }
136
- * })
137
- * ```
84
+ * @since 2.0.0
138
85
  */
139
86
 
140
87
  import * as Arr from "./Array.ts"
@@ -170,7 +117,8 @@ import type { Contravariant, Covariant } from "./Types.ts"
170
117
  * - Histograms
171
118
  * - Summaries
172
119
  *
173
- * @example
120
+ * **Example** (Using multiple metric types)
121
+ *
174
122
  * ```ts
175
123
  * import { Data, Effect, Metric } from "effect"
176
124
  *
@@ -224,8 +172,8 @@ import type { Contravariant, Covariant } from "./Types.ts"
224
172
  * })
225
173
  * ```
226
174
  *
175
+ * @category models
227
176
  * @since 2.0.0
228
- * @category Models
229
177
  */
230
178
  export interface Metric<in Input, out State> extends Pipeable {
231
179
  readonly [TypeId]: typeof TypeId
@@ -246,7 +194,8 @@ export interface Metric<in Input, out State> extends Pipeable {
246
194
  * Counters are useful for tracking monotonically increasing values like request counts,
247
195
  * bytes processed, errors encountered, or any value that accumulates over time.
248
196
  *
249
- * @example
197
+ * **Example** (Using counter metrics)
198
+ *
250
199
  * ```ts
251
200
  * import { Data, Effect, Metric } from "effect"
252
201
  *
@@ -300,15 +249,16 @@ export interface Metric<in Input, out State> extends Pipeable {
300
249
  * })
301
250
  * ```
302
251
  *
303
- * @since 2.0.0
304
252
  * @category Metrics
253
+ * @since 2.0.0
305
254
  */
306
255
  export interface Counter<in Input extends number | bigint> extends Metric<Input, CounterState<Input>> {}
307
256
 
308
257
  /**
309
258
  * State interface for Counter metrics containing the current count and increment mode.
310
259
  *
311
- * @example
260
+ * **Example** (Reading counter state)
261
+ *
312
262
  * ```ts
313
263
  * import { Data, Effect, Metric } from "effect"
314
264
  *
@@ -361,8 +311,8 @@ export interface Counter<in Input extends number | bigint> extends Metric<Input,
361
311
  * })
362
312
  * ```
363
313
  *
364
- * @since 2.0.0
365
314
  * @category Counter
315
+ * @since 4.0.0
366
316
  */
367
317
  export interface CounterState<in Input extends number | bigint> {
368
318
  readonly count: Input extends bigint ? bigint : number
@@ -376,7 +326,8 @@ export interface CounterState<in Input extends number | bigint> {
376
326
  * how many times specific string values occur, such as HTTP status codes, user actions,
377
327
  * error types, or any discrete string-based events.
378
328
  *
379
- * @example
329
+ * **Example** (Using frequency metrics)
330
+ *
380
331
  * ```ts
381
332
  * import { Data, Effect, Metric } from "effect"
382
333
  *
@@ -446,15 +397,16 @@ export interface CounterState<in Input extends number | bigint> {
446
397
  * })
447
398
  * ```
448
399
  *
449
- * @since 2.0.0
450
400
  * @category Metrics
401
+ * @since 2.0.0
451
402
  */
452
403
  export interface Frequency extends Metric<string, FrequencyState> {}
453
404
 
454
405
  /**
455
406
  * State interface for Frequency metrics containing occurrence counts for discrete string values.
456
407
  *
457
- * @example
408
+ * **Example** (Reading frequency state)
409
+ *
458
410
  * ```ts
459
411
  * import { Data, Effect, Metric } from "effect"
460
412
  *
@@ -530,8 +482,8 @@ export interface Frequency extends Metric<string, FrequencyState> {}
530
482
  * })
531
483
  * ```
532
484
  *
533
- * @since 2.0.0
534
485
  * @category Metrics
486
+ * @since 4.0.0
535
487
  */
536
488
  export interface FrequencyState {
537
489
  readonly occurrences: ReadonlyMap<string, number>
@@ -543,7 +495,8 @@ export interface FrequencyState {
543
495
  * Gauges are useful for tracking current state values like memory usage, CPU load,
544
496
  * active connections, queue sizes, or any value that represents a current level.
545
497
  *
546
- * @example
498
+ * **Example** (Using gauge metrics)
499
+ *
547
500
  * ```ts
548
501
  * import { Data, Effect, Metric } from "effect"
549
502
  *
@@ -590,15 +543,16 @@ export interface FrequencyState {
590
543
  * })
591
544
  * ```
592
545
  *
593
- * @since 2.0.0
594
546
  * @category Metrics
547
+ * @since 2.0.0
595
548
  */
596
549
  export interface Gauge<in Input extends number | bigint> extends Metric<Input, GaugeState<Input>> {}
597
550
 
598
551
  /**
599
552
  * State interface for Gauge metrics containing the current instantaneous value.
600
553
  *
601
- * @example
554
+ * **Example** (Reading gauge state)
555
+ *
602
556
  * ```ts
603
557
  * import { Data, Effect, Metric } from "effect"
604
558
  *
@@ -658,8 +612,8 @@ export interface Gauge<in Input extends number | bigint> extends Metric<Input, G
658
612
  * })
659
613
  * ```
660
614
  *
661
- * @since 2.0.0
662
615
  * @category Metrics
616
+ * @since 4.0.0
663
617
  */
664
618
  export interface GaugeState<in Input extends number | bigint> {
665
619
  readonly value: Input extends bigint ? bigint : number
@@ -671,7 +625,8 @@ export interface GaugeState<in Input extends number | bigint> {
671
625
  * Histograms are ideal for measuring request durations, response sizes, and other continuous values
672
626
  * where you need to understand the distribution of values rather than just aggregates.
673
627
  *
674
- * @example
628
+ * **Example** (Using histogram metrics)
629
+ *
675
630
  * ```ts
676
631
  * import { Data, Effect, Metric } from "effect"
677
632
  *
@@ -746,15 +701,16 @@ export interface GaugeState<in Input extends number | bigint> {
746
701
  * })
747
702
  * ```
748
703
  *
749
- * @since 2.0.0
750
704
  * @category Metrics
705
+ * @since 2.0.0
751
706
  */
752
707
  export interface Histogram<Input> extends Metric<Input, HistogramState> {}
753
708
 
754
709
  /**
755
710
  * State interface for Histogram metrics containing bucket distributions and aggregate statistics.
756
711
  *
757
- * @example
712
+ * **Example** (Reading histogram state)
713
+ *
758
714
  * ```ts
759
715
  * import { Data, Effect, Metric } from "effect"
760
716
  *
@@ -832,8 +788,8 @@ export interface Histogram<Input> extends Metric<Input, HistogramState> {}
832
788
  * })
833
789
  * ```
834
790
  *
835
- * @since 2.0.0
836
791
  * @category Metrics
792
+ * @since 4.0.0
837
793
  */
838
794
  export interface HistogramState {
839
795
  readonly buckets: ReadonlyArray<[number, number]>
@@ -850,7 +806,8 @@ export interface HistogramState {
850
806
  * (percentiles) such as median (50th), 95th percentile, 99th percentile, etc. They're ideal for
851
807
  * understanding performance characteristics like response time distributions.
852
808
  *
853
- * @example
809
+ * **Example** (Using summary metrics)
810
+ *
854
811
  * ```ts
855
812
  * import { Data, Effect, Metric } from "effect"
856
813
  *
@@ -935,15 +892,16 @@ export interface HistogramState {
935
892
  * })
936
893
  * ```
937
894
  *
938
- * @since 2.0.0
939
895
  * @category Metrics
896
+ * @since 2.0.0
940
897
  */
941
898
  export interface Summary<Input> extends Metric<Input, SummaryState> {}
942
899
 
943
900
  /**
944
901
  * State interface for Summary metrics containing quantile calculations and aggregate statistics.
945
902
  *
946
- * @example
903
+ * **Example** (Reading summary state)
904
+ *
947
905
  * ```ts
948
906
  * import { Data, Effect, Metric } from "effect"
949
907
  *
@@ -1016,8 +974,8 @@ export interface Summary<Input> extends Metric<Input, SummaryState> {}
1016
974
  * })
1017
975
  * ```
1018
976
  *
1019
- * @since 2.0.0
1020
977
  * @category Metrics
978
+ * @since 4.0.0
1021
979
  */
1022
980
  export interface SummaryState {
1023
981
  readonly quantiles: ReadonlyArray<readonly [number, number | undefined]>
@@ -1031,7 +989,8 @@ export interface SummaryState {
1031
989
  * The `Metric` namespace provides a comprehensive system for collecting, aggregating, and observing
1032
990
  * application metrics in Effect applications.
1033
991
  *
1034
- * @example
992
+ * **Example** (Collecting application metrics)
993
+ *
1035
994
  * ```ts
1036
995
  * import { Data, Effect, Metric } from "effect"
1037
996
  *
@@ -1070,13 +1029,13 @@ export interface SummaryState {
1070
1029
  * ```
1071
1030
  *
1072
1031
  * @since 2.0.0
1073
- * @category models
1074
1032
  */
1075
1033
  export declare namespace Metric {
1076
1034
  /**
1077
1035
  * Union type representing all available metric types in the Effect metrics system.
1078
1036
  *
1079
- * @example
1037
+ * **Example** (Inspecting metric types)
1038
+ *
1080
1039
  * ```ts
1081
1040
  * import { Data, Effect, Metric } from "effect"
1082
1041
  *
@@ -1148,15 +1107,16 @@ export declare namespace Metric {
1148
1107
  * })
1149
1108
  * ```
1150
1109
  *
1151
- * @since 2.0.0
1152
1110
  * @category types
1111
+ * @since 4.0.0
1153
1112
  */
1154
1113
  export type Type = "Counter" | "Frequency" | "Gauge" | "Histogram" | "Summary"
1155
1114
 
1156
1115
  /**
1157
1116
  * Union type for metric attributes that can be provided as either an object or array of tuples.
1158
1117
  *
1159
- * @example
1118
+ * **Example** (Providing attributes in different formats)
1119
+ *
1160
1120
  * ```ts
1161
1121
  * import { Data, Effect, Metric } from "effect"
1162
1122
  *
@@ -1223,15 +1183,16 @@ export declare namespace Metric {
1223
1183
  * })
1224
1184
  * ```
1225
1185
  *
1226
- * @since 2.0.0
1227
1186
  * @category types
1187
+ * @since 4.0.0
1228
1188
  */
1229
1189
  export type Attributes = AttributeSet | ReadonlyArray<[string, string]>
1230
1190
 
1231
1191
  /**
1232
1192
  * Type for metric attributes as a readonly record of string key-value pairs.
1233
1193
  *
1234
- * @example
1194
+ * **Example** (Combining metric attribute sets)
1195
+ *
1235
1196
  * ```ts
1236
1197
  * import { Data, Effect, Metric } from "effect"
1237
1198
  *
@@ -1300,15 +1261,16 @@ export declare namespace Metric {
1300
1261
  * })
1301
1262
  * ```
1302
1263
  *
1303
- * @since 2.0.0
1304
1264
  * @category types
1265
+ * @since 4.0.0
1305
1266
  */
1306
1267
  export type AttributeSet = Readonly<Record<string, string>>
1307
1268
 
1308
1269
  /**
1309
1270
  * Utility type to extract the Input type from a Metric type.
1310
1271
  *
1311
- * @example
1272
+ * **Example** (Extracting metric input types)
1273
+ *
1312
1274
  * ```ts
1313
1275
  * import { Metric } from "effect"
1314
1276
  *
@@ -1349,8 +1311,8 @@ export declare namespace Metric {
1349
1311
  * // Metric.update(stringFrequency, 404) // ✗ Type error
1350
1312
  * ```
1351
1313
  *
1352
- * @since 2.0.0
1353
1314
  * @category types
1315
+ * @since 4.0.0
1354
1316
  */
1355
1317
  export type Input<A> = A extends Metric<infer _Input, infer _State> ? _Input
1356
1318
  : never
@@ -1358,7 +1320,8 @@ export declare namespace Metric {
1358
1320
  /**
1359
1321
  * Utility type to extract the State type from a Metric type.
1360
1322
  *
1361
- * @example
1323
+ * **Example** (Extracting metric state types)
1324
+ *
1362
1325
  * ```ts
1363
1326
  * import { Effect, Metric } from "effect"
1364
1327
  *
@@ -1408,8 +1371,8 @@ export declare namespace Metric {
1408
1371
  * })
1409
1372
  * ```
1410
1373
  *
1411
- * @since 2.0.0
1412
1374
  * @category types
1375
+ * @since 4.0.0
1413
1376
  */
1414
1377
  export type State<A> = A extends Metric<infer _Input, infer _State> ? _State
1415
1378
  : never
@@ -1417,7 +1380,8 @@ export declare namespace Metric {
1417
1380
  /**
1418
1381
  * Interface defining the core hooks for metric operations: get, update, and modify.
1419
1382
  *
1420
- * @example
1383
+ * **Example** (Using metric hooks)
1384
+ *
1421
1385
  * ```ts
1422
1386
  * import { Data, Effect, Metric } from "effect"
1423
1387
  *
@@ -1453,8 +1417,8 @@ export declare namespace Metric {
1453
1417
  * })
1454
1418
  * ```
1455
1419
  *
1456
- * @since 2.0.0
1457
1420
  * @category interfaces
1421
+ * @since 4.0.0
1458
1422
  */
1459
1423
  export interface Hooks<in Input, out State> {
1460
1424
  readonly get: (context: Context.Context<never>) => State
@@ -1465,7 +1429,8 @@ export declare namespace Metric {
1465
1429
  /**
1466
1430
  * Interface containing complete metadata information about a metric.
1467
1431
  *
1468
- * @example
1432
+ * **Example** (Inspecting metric metadata)
1433
+ *
1469
1434
  * ```ts
1470
1435
  * import { Data, Effect, Metric } from "effect"
1471
1436
  *
@@ -1518,8 +1483,8 @@ export declare namespace Metric {
1518
1483
  * })
1519
1484
  * ```
1520
1485
  *
1521
- * @since 4.0.0
1522
1486
  * @category interfaces
1487
+ * @since 4.0.0
1523
1488
  */
1524
1489
  export interface Metadata<in Input, out State> {
1525
1490
  readonly id: string
@@ -1532,7 +1497,8 @@ export declare namespace Metric {
1532
1497
  /**
1533
1498
  * Protocol interface for metric snapshots containing metadata and current state.
1534
1499
  *
1535
- * @example
1500
+ * **Example** (Inspecting metric snapshot protocols)
1501
+ *
1536
1502
  * ```ts
1537
1503
  * import { Data, Effect, Metric } from "effect"
1538
1504
  *
@@ -1590,8 +1556,8 @@ export declare namespace Metric {
1590
1556
  * })
1591
1557
  * ```
1592
1558
  *
1593
- * @since 4.0.0
1594
1559
  * @category interfaces
1560
+ * @since 4.0.0
1595
1561
  */
1596
1562
  export interface SnapshotProto<T extends Type, State> {
1597
1563
  readonly id: string
@@ -1604,7 +1570,8 @@ export declare namespace Metric {
1604
1570
  /**
1605
1571
  * Union type representing all possible metric snapshot types with their corresponding states.
1606
1572
  *
1607
- * @example
1573
+ * **Example** (Analyzing metric snapshots)
1574
+ *
1608
1575
  * ```ts
1609
1576
  * import { Data, Effect, Metric } from "effect"
1610
1577
  *
@@ -1666,8 +1633,8 @@ export declare namespace Metric {
1666
1633
  * })
1667
1634
  * ```
1668
1635
  *
1669
- * @since 4.0.0
1670
1636
  * @category types
1637
+ * @since 4.0.0
1671
1638
  */
1672
1639
  export type Snapshot =
1673
1640
  | SnapshotProto<"Counter", CounterState<number | bigint>>
@@ -1680,7 +1647,8 @@ export declare namespace Metric {
1680
1647
  /**
1681
1648
  * Service key for the current metric attributes context.
1682
1649
  *
1683
- * @example
1650
+ * **Example** (Using the current attributes key)
1651
+ *
1684
1652
  * ```ts
1685
1653
  * import { Data, Effect, Metric } from "effect"
1686
1654
  *
@@ -1722,15 +1690,22 @@ export declare namespace Metric {
1722
1690
  * })
1723
1691
  * ```
1724
1692
  *
1693
+ * @category references
1725
1694
  * @since 4.0.0
1726
- * @category References
1727
1695
  */
1728
1696
  export const CurrentMetricAttributesKey = "effect/Metric/CurrentMetricAttributes" as const
1729
1697
 
1730
1698
  /**
1731
- * Service class for managing the current metric attributes context.
1699
+ * `Context.Reference` for metric attributes applied from the current Effect
1700
+ * context.
1701
+ *
1702
+ * **Details**
1703
+ * The default value is an empty attribute set. Metric reads and updates merge
1704
+ * these contextual attributes with the metric's own attributes to select the
1705
+ * metric series being accessed.
1706
+ *
1707
+ * **Example** (Providing current metric attributes)
1732
1708
  *
1733
- * @example
1734
1709
  * ```ts
1735
1710
  * import { Data, Effect, Metric } from "effect"
1736
1711
  *
@@ -1758,8 +1733,8 @@ export const CurrentMetricAttributesKey = "effect/Metric/CurrentMetricAttributes
1758
1733
  * })
1759
1734
  * ```
1760
1735
  *
1736
+ * @category references
1761
1737
  * @since 4.0.0
1762
- * @category References
1763
1738
  */
1764
1739
  export const CurrentMetricAttributes = Context.Reference<Metric.AttributeSet>(CurrentMetricAttributesKey, {
1765
1740
  defaultValue: () => ({})
@@ -1768,10 +1743,14 @@ export const CurrentMetricAttributes = Context.Reference<Metric.AttributeSet>(Cu
1768
1743
  const MetricRegistryKey = "~effect/observability/Metric/MetricRegistryKey"
1769
1744
 
1770
1745
  /**
1771
- * Service class for accessing the current metric registry.
1746
+ * `Context.Reference` for the metric registry in the current context.
1747
+ *
1748
+ * **Details**
1749
+ * The default registry is an empty `Map`. Metrics register their metadata and
1750
+ * hooks lazily in this map when they are read or updated.
1772
1751
  *
1752
+ * @category references
1773
1753
  * @since 4.0.0
1774
- * @category References
1775
1754
  */
1776
1755
  export const MetricRegistry = Context.Reference<Map<string, Metric.Metadata<any, any>>>(
1777
1756
  MetricRegistryKey,
@@ -2150,7 +2129,8 @@ class MetricTransform<in Input, out State, in Input2> extends Metric$<Input2, St
2150
2129
  * This function is useful for runtime type checking and ensuring that a value
2151
2130
  * conforms to the Metric interface before performing metric operations.
2152
2131
  *
2153
- * @example
2132
+ * **Example** (Checking metric values)
2133
+ *
2154
2134
  * ```ts
2155
2135
  * import { Metric } from "effect"
2156
2136
  *
@@ -2164,8 +2144,8 @@ class MetricTransform<in Input, out State, in Input2> extends Metric$<Input2, St
2164
2144
  * console.log(Metric.isMetric(null)) // false
2165
2145
  * ```
2166
2146
  *
2147
+ * @category guards
2167
2148
  * @since 4.0.0
2168
- * @category Guards
2169
2149
  */
2170
2150
  export const isMetric = (u: unknown): u is Metric<unknown, never> =>
2171
2151
  Predicate.hasProperty(u, "~effect/Metric") && u["~effect/Metric"] === "~effect/Metric"
@@ -2183,7 +2163,8 @@ export const isMetric = (u: unknown): u is Metric<unknown, never> =>
2183
2163
  * - `incremental` - Set to `true` to create a `Counter` that can only ever be
2184
2164
  * incremented.
2185
2165
  *
2186
- * @example
2166
+ * **Example** (Creating counter metrics)
2167
+ *
2187
2168
  * ```ts
2188
2169
  * import { Data, Effect, Metric } from "effect"
2189
2170
  *
@@ -2225,8 +2206,8 @@ export const isMetric = (u: unknown): u is Metric<unknown, never> =>
2225
2206
  * })
2226
2207
  * ```
2227
2208
  *
2209
+ * @category constructors
2228
2210
  * @since 2.0.0
2229
- * @category Constructors
2230
2211
  */
2231
2212
  export const counter: {
2232
2213
  /**
@@ -2242,7 +2223,8 @@ export const counter: {
2242
2223
  * - `incremental` - Set to `true` to create a `Counter` that can only ever be
2243
2224
  * incremented.
2244
2225
  *
2245
- * @example
2226
+ * **Example** (Creating counter metrics)
2227
+ *
2246
2228
  * ```ts
2247
2229
  * import { Data, Effect, Metric } from "effect"
2248
2230
  *
@@ -2284,8 +2266,8 @@ export const counter: {
2284
2266
  * })
2285
2267
  * ```
2286
2268
  *
2269
+ * @category constructors
2287
2270
  * @since 2.0.0
2288
- * @category Constructors
2289
2271
  */
2290
2272
  (
2291
2273
  name: string,
@@ -2309,7 +2291,8 @@ export const counter: {
2309
2291
  * - `incremental` - Set to `true` to create a `Counter` that can only ever be
2310
2292
  * incremented.
2311
2293
  *
2312
- * @example
2294
+ * **Example** (Creating counter metrics)
2295
+ *
2313
2296
  * ```ts
2314
2297
  * import { Data, Effect, Metric } from "effect"
2315
2298
  *
@@ -2351,8 +2334,8 @@ export const counter: {
2351
2334
  * })
2352
2335
  * ```
2353
2336
  *
2337
+ * @category constructors
2354
2338
  * @since 2.0.0
2355
- * @category Constructors
2356
2339
  */
2357
2340
  (
2358
2341
  name: string,
@@ -2378,7 +2361,8 @@ export const counter: {
2378
2361
  * - `attributes` - The attributes to associate with the `Gauge`.
2379
2362
  * - `bigint` - Indicates if the `Gauge` should use the `bigint` type.
2380
2363
  *
2381
- * @example
2364
+ * **Example** (Creating gauge metrics)
2365
+ *
2382
2366
  * ```ts
2383
2367
  * import { Data, Effect, Metric } from "effect"
2384
2368
  *
@@ -2425,8 +2409,8 @@ export const counter: {
2425
2409
  * })
2426
2410
  * ```
2427
2411
  *
2412
+ * @category constructors
2428
2413
  * @since 2.0.0
2429
- * @category Constructors
2430
2414
  */
2431
2415
  export const gauge: {
2432
2416
  /**
@@ -2442,7 +2426,8 @@ export const gauge: {
2442
2426
  * - `attributes` - The attributes to associate with the `Gauge`.
2443
2427
  * - `bigint` - Indicates if the `Gauge` should use the `bigint` type.
2444
2428
  *
2445
- * @example
2429
+ * **Example** (Creating gauge metrics)
2430
+ *
2446
2431
  * ```ts
2447
2432
  * import { Data, Effect, Metric } from "effect"
2448
2433
  *
@@ -2489,8 +2474,8 @@ export const gauge: {
2489
2474
  * })
2490
2475
  * ```
2491
2476
  *
2477
+ * @category constructors
2492
2478
  * @since 2.0.0
2493
- * @category Constructors
2494
2479
  */
2495
2480
  (
2496
2481
  name: string,
@@ -2513,7 +2498,8 @@ export const gauge: {
2513
2498
  * - `attributes` - The attributes to associate with the `Gauge`.
2514
2499
  * - `bigint` - Indicates if the `Gauge` should use the `bigint` type.
2515
2500
  *
2516
- * @example
2501
+ * **Example** (Creating gauge metrics)
2502
+ *
2517
2503
  * ```ts
2518
2504
  * import { Data, Effect, Metric } from "effect"
2519
2505
  *
@@ -2560,8 +2546,8 @@ export const gauge: {
2560
2546
  * })
2561
2547
  * ```
2562
2548
  *
2549
+ * @category constructors
2563
2550
  * @since 2.0.0
2564
- * @category Constructors
2565
2551
  */
2566
2552
  (
2567
2553
  name: string,
@@ -2587,7 +2573,8 @@ export const gauge: {
2587
2573
  * - `preregisteredWords` - Occurrences which are pre-registered with the
2588
2574
  * `Frequency` metric occurrences.
2589
2575
  *
2590
- * @example
2576
+ * **Example** (Creating frequency metrics)
2577
+ *
2591
2578
  * ```ts
2592
2579
  * import { Data, Effect, Metric } from "effect"
2593
2580
  *
@@ -2645,8 +2632,8 @@ export const gauge: {
2645
2632
  * })
2646
2633
  * ```
2647
2634
  *
2635
+ * @category constructors
2648
2636
  * @since 2.0.0
2649
- * @category Constructors
2650
2637
  */
2651
2638
  export const frequency = (name: string, options?: {
2652
2639
  readonly description?: string | undefined
@@ -2666,7 +2653,8 @@ export const frequency = (name: string, options?: {
2666
2653
  * - `attributes` - The attributes to associate with the `Histogram`.
2667
2654
  * - `boundaries` - The bucket boundaries of the `Histogram`
2668
2655
  *
2669
- * @example
2656
+ * **Example** (Creating histogram metrics)
2657
+ *
2670
2658
  * ```ts
2671
2659
  * import { Data, Effect, Metric } from "effect"
2672
2660
  *
@@ -2721,8 +2709,8 @@ export const frequency = (name: string, options?: {
2721
2709
  * })
2722
2710
  * ```
2723
2711
  *
2712
+ * @category constructors
2724
2713
  * @since 2.0.0
2725
- * @category Constructors
2726
2714
  */
2727
2715
  export const histogram = (name: string, options: {
2728
2716
  readonly description?: string | undefined
@@ -2745,7 +2733,8 @@ export const histogram = (name: string, options: {
2745
2733
  * - `maxSize` - The maximum number of observations to keep.
2746
2734
  * - `quantiles` - An array of quantiles to calculate (e.g., [0.5, 0.9]).
2747
2735
  *
2748
- * @example
2736
+ * **Example** (Creating summary metrics)
2737
+ *
2749
2738
  * ```ts
2750
2739
  * import { Data, Duration, Effect, Metric } from "effect"
2751
2740
  *
@@ -2771,13 +2760,10 @@ export const histogram = (name: string, options: {
2771
2760
  * attributes: { service: "upload-service" }
2772
2761
  * })
2773
2762
  *
2774
- * // Simulate recording various response times over time
2775
- * for (let i = 0; i < 20; i++) {
2776
- * const responseTime = 50 + Math.random() * 200 // 50-250ms
2763
+ * // Record deterministic response times
2764
+ * const responseTimes = [82, 96, 104, 118, 135, 170, 210, 240]
2765
+ * for (const responseTime of responseTimes) {
2777
2766
  * yield* Metric.update(responseTimeSummary, responseTime)
2778
- *
2779
- * // Wait a bit to simulate different timestamps
2780
- * yield* Effect.sleep(Duration.millis(100))
2781
2767
  * }
2782
2768
  *
2783
2769
  * // Record some payload sizes
@@ -2790,20 +2776,28 @@ export const histogram = (name: string, options: {
2790
2776
  * const responseStats = yield* Metric.value(responseTimeSummary)
2791
2777
  * const payloadStats = yield* Metric.value(payloadSizeSummary)
2792
2778
  *
2793
- * // responseStats will contain:
2794
- * // - quantiles: [[0.5, Some(125)], [0.9, Some(220)], [0.95, Some(235)], [0.99, Some(245)]]
2795
- * // - count: 20, min: ~50, max: ~250, sum: ~2500
2796
- * // - Only observations from the last 5 minutes are included
2779
+ * console.log({
2780
+ * count: responseStats.count,
2781
+ * min: responseStats.min,
2782
+ * max: responseStats.max,
2783
+ * sum: responseStats.sum
2784
+ * }) // { count: 8, min: 82, max: 240, sum: 1155 }
2797
2785
  *
2798
- * // payloadStats will contain quantile information for recent payload sizes
2799
- * // Older observations automatically age out based on maxAge setting
2786
+ * console.log({
2787
+ * count: payloadStats.count,
2788
+ * min: payloadStats.min,
2789
+ * max: payloadStats.max,
2790
+ * sum: payloadStats.sum
2791
+ * }) // { count: 4, min: 1.2, max: 15.6, sum: 26 }
2792
+ *
2793
+ * // Both summaries include quantile information for their configured windows.
2800
2794
  *
2801
2795
  * return { responseStats, payloadStats }
2802
2796
  * })
2803
2797
  * ```
2804
2798
  *
2799
+ * @category constructors
2805
2800
  * @since 2.0.0
2806
- * @category Constructors
2807
2801
  */
2808
2802
  export const summary = (name: string, options: {
2809
2803
  readonly description?: string | undefined
@@ -2819,11 +2813,12 @@ export const summary = (name: string, options: {
2819
2813
  ] as [number, number])
2820
2814
 
2821
2815
  /**
2822
- * Creates a `Summary` metric that records observations and calculates quantiles
2823
- * which takes a value and the current timestamp as input.
2816
+ * Creates a `Summary` metric that records observations with explicit
2817
+ * timestamps and calculates quantiles.
2824
2818
  *
2825
- * Summary metrics are most suitable for providing statistical information about
2826
- * a set of values, including quantiles.
2819
+ * Summary metrics are most suitable for statistical information about a set of
2820
+ * values. Inputs to this metric are `[value, timestamp]` pairs; the current
2821
+ * clock is used when reading quantiles against the configured `maxAge`.
2827
2822
  *
2828
2823
  * **Options**
2829
2824
  *
@@ -2833,7 +2828,8 @@ export const summary = (name: string, options: {
2833
2828
  * - `maxSize` - The maximum number of observations to keep.
2834
2829
  * - `quantiles` - An array of quantiles to calculate (e.g., [0.5, 0.9]).
2835
2830
  *
2836
- * @example
2831
+ * **Example** (Creating summaries with explicit timestamps)
2832
+ *
2837
2833
  * ```ts
2838
2834
  * import { Metric } from "effect"
2839
2835
  *
@@ -2848,8 +2844,8 @@ export const summary = (name: string, options: {
2848
2844
  * )
2849
2845
  * ```
2850
2846
  *
2851
- * @since 2.0.0
2852
- * @category Constructors
2847
+ * @category constructors
2848
+ * @since 4.0.0
2853
2849
  */
2854
2850
  export const summaryWithTimestamp = (name: string, options: {
2855
2851
  readonly description?: string | undefined
@@ -2869,7 +2865,8 @@ export const summaryWithTimestamp = (name: string, options: {
2869
2865
  * If `options.boundaries` is not provided, the boundaries will be computed
2870
2866
  * using `Metric.exponentialBoundaries({ start: 0.5, factor: 2, count: 35 })`.
2871
2867
  *
2872
- * @example
2868
+ * **Example** (Recording durations with a timer)
2869
+ *
2873
2870
  * ```ts
2874
2871
  * import { Data, Duration, Effect, Metric } from "effect"
2875
2872
  *
@@ -2883,19 +2880,23 @@ export const summaryWithTimestamp = (name: string, options: {
2883
2880
  * attributes: { service: "user-api" }
2884
2881
  * })
2885
2882
  *
2886
- * // Simulate an API operation and measure its duration
2883
+ * // Record a measured API operation duration
2887
2884
  * const apiOperation = Effect.gen(function*() {
2888
- * const start = Date.now()
2889
- * yield* Effect.sleep(Duration.millis(100)) // Simulate work
2890
- * const duration = Duration.millis(Date.now() - start)
2891
- *
2892
- * // Update the timer with the measured duration
2885
+ * const duration = Duration.millis(120)
2893
2886
  * yield* Metric.update(apiRequestTimer, duration)
2887
+ *
2888
+ * const state = yield* Metric.value(apiRequestTimer)
2889
+ * console.log({
2890
+ * count: state.count,
2891
+ * min: state.min,
2892
+ * max: state.max,
2893
+ * sum: state.sum
2894
+ * }) // { count: 1, min: 120, max: 120, sum: 120 }
2894
2895
  * })
2895
2896
  * ```
2896
2897
  *
2898
+ * @category constructors
2897
2899
  * @since 2.0.0
2898
- * @category Constructors
2899
2900
  */
2900
2901
  export const timer = (name: string, options?: {
2901
2902
  readonly description?: string | undefined
@@ -2913,15 +2914,17 @@ export const timer = (name: string, options?: {
2913
2914
  /**
2914
2915
  * Retrieves the current state of the specified `Metric`.
2915
2916
  *
2916
- * This function returns an Effect that, when executed, will provide the current
2917
- * aggregated state of the metric. The state type depends on the metric type:
2918
- * - Counter: `{ count: number | bigint }`
2919
- * - Gauge: `{ value: number | bigint }`
2920
- * - Frequency: `{ occurrences: Map<string, number> }`
2921
- * - Histogram: `{ buckets: Array<[number, number]>, count: number, min: number, max: number, sum: number }`
2922
- * - Summary: `{ quantiles: Array<[number, number | undefined]>, count: number, min: number, max: number, sum: number }`
2917
+ * **Details**
2918
+ * The returned state depends on the metric type:
2919
+ *
2920
+ * - Counter: `CounterState<number | bigint>` with `count` and `incremental`
2921
+ * - Gauge: `GaugeState<number | bigint>` with `value`
2922
+ * - Frequency: `FrequencyState` with `occurrences`
2923
+ * - Histogram: `HistogramState` with buckets, count, min, max, and sum
2924
+ * - Summary: `SummaryState` with quantiles, count, min, max, and sum
2925
+ *
2926
+ * **Example** (Reading metric state)
2923
2927
  *
2924
- * @example
2925
2928
  * ```ts
2926
2929
  * import { Effect, Metric } from "effect"
2927
2930
  *
@@ -2949,8 +2952,8 @@ export const timer = (name: string, options?: {
2949
2952
  * })
2950
2953
  * ```
2951
2954
  *
2955
+ * @category utils
2952
2956
  * @since 2.0.0
2953
- * @category Utilities
2954
2957
  */
2955
2958
  export const value = <Input, State>(
2956
2959
  self: Metric<Input, State>
@@ -2970,7 +2973,8 @@ export const value = <Input, State>(
2970
2973
  * - **Histogram**: Same as `update` - records the input value in the appropriate bucket
2971
2974
  * - **Summary**: Same as `update` - records the input observation
2972
2975
  *
2973
- * @example
2976
+ * **Example** (Modifying metric values)
2977
+ *
2974
2978
  * ```ts
2975
2979
  * import { Effect, Metric } from "effect"
2976
2980
  *
@@ -2997,8 +3001,8 @@ export const value = <Input, State>(
2997
3001
  * })
2998
3002
  * ```
2999
3003
  *
3000
- * @since 2.0.0
3001
- * @category Utilities
3004
+ * @category utils
3005
+ * @since 3.6.5
3002
3006
  */
3003
3007
  export const modify: {
3004
3008
  /**
@@ -3011,7 +3015,8 @@ export const modify: {
3011
3015
  * - **Histogram**: Same as `update` - records the input value in the appropriate bucket
3012
3016
  * - **Summary**: Same as `update` - records the input observation
3013
3017
  *
3014
- * @example
3018
+ * **Example** (Modifying metric values)
3019
+ *
3015
3020
  * ```ts
3016
3021
  * import { Effect, Metric } from "effect"
3017
3022
  *
@@ -3038,8 +3043,8 @@ export const modify: {
3038
3043
  * })
3039
3044
  * ```
3040
3045
  *
3041
- * @since 2.0.0
3042
- * @category Utilities
3046
+ * @category utils
3047
+ * @since 3.6.5
3043
3048
  */
3044
3049
  <Input>(input: Input): <State>(self: Metric<Input, State>) => Effect<void>
3045
3050
  /**
@@ -3052,7 +3057,8 @@ export const modify: {
3052
3057
  * - **Histogram**: Same as `update` - records the input value in the appropriate bucket
3053
3058
  * - **Summary**: Same as `update` - records the input observation
3054
3059
  *
3055
- * @example
3060
+ * **Example** (Modifying metric values)
3061
+ *
3056
3062
  * ```ts
3057
3063
  * import { Effect, Metric } from "effect"
3058
3064
  *
@@ -3079,8 +3085,8 @@ export const modify: {
3079
3085
  * })
3080
3086
  * ```
3081
3087
  *
3082
- * @since 2.0.0
3083
- * @category Utilities
3088
+ * @category utils
3089
+ * @since 3.6.5
3084
3090
  */
3085
3091
  <Input, State>(self: Metric<Input, State>, input: Input): Effect<void>
3086
3092
  } = dual<
@@ -3094,7 +3100,8 @@ export const modify: {
3094
3100
  * - **Histogram**: Same as `update` - records the input value in the appropriate bucket
3095
3101
  * - **Summary**: Same as `update` - records the input observation
3096
3102
  *
3097
- * @example
3103
+ * **Example** (Modifying metric values)
3104
+ *
3098
3105
  * ```ts
3099
3106
  * import { Effect, Metric } from "effect"
3100
3107
  *
@@ -3121,8 +3128,8 @@ export const modify: {
3121
3128
  * })
3122
3129
  * ```
3123
3130
  *
3124
- * @since 2.0.0
3125
- * @category Utilities
3131
+ * @category utils
3132
+ * @since 3.6.5
3126
3133
  */
3127
3134
  <Input>(input: Input) => <State>(self: Metric<Input, State>) => Effect<void>,
3128
3135
  /**
@@ -3135,7 +3142,8 @@ export const modify: {
3135
3142
  * - **Histogram**: Same as `update` - records the input value in the appropriate bucket
3136
3143
  * - **Summary**: Same as `update` - records the input observation
3137
3144
  *
3138
- * @example
3145
+ * **Example** (Modifying metric values)
3146
+ *
3139
3147
  * ```ts
3140
3148
  * import { Effect, Metric } from "effect"
3141
3149
  *
@@ -3162,8 +3170,8 @@ export const modify: {
3162
3170
  * })
3163
3171
  * ```
3164
3172
  *
3165
- * @since 2.0.0
3166
- * @category Utilities
3173
+ * @category utils
3174
+ * @since 3.6.5
3167
3175
  */
3168
3176
  <Input, State>(self: Metric<Input, State>, input: Input) => Effect<void>
3169
3177
  >(2, (self, input) =>
@@ -3182,7 +3190,8 @@ export const modify: {
3182
3190
  * - **Histogram**: Records the input value in the appropriate bucket
3183
3191
  * - **Summary**: Records the input value as a new observation
3184
3192
  *
3185
- * @example
3193
+ * **Example** (Updating metric values)
3194
+ *
3186
3195
  * ```ts
3187
3196
  * import { Effect, Metric } from "effect"
3188
3197
  *
@@ -3218,8 +3227,8 @@ export const modify: {
3218
3227
  * })
3219
3228
  * ```
3220
3229
  *
3230
+ * @category utils
3221
3231
  * @since 2.0.0
3222
- * @category Utilities
3223
3232
  */
3224
3233
  export const update: {
3225
3234
  /**
@@ -3232,7 +3241,8 @@ export const update: {
3232
3241
  * - **Histogram**: Records the input value in the appropriate bucket
3233
3242
  * - **Summary**: Records the input value as a new observation
3234
3243
  *
3235
- * @example
3244
+ * **Example** (Updating metric values)
3245
+ *
3236
3246
  * ```ts
3237
3247
  * import { Effect, Metric } from "effect"
3238
3248
  *
@@ -3268,8 +3278,8 @@ export const update: {
3268
3278
  * })
3269
3279
  * ```
3270
3280
  *
3281
+ * @category utils
3271
3282
  * @since 2.0.0
3272
- * @category Utilities
3273
3283
  */
3274
3284
  <Input>(input: Input): <State>(self: Metric<Input, State>) => Effect<void>
3275
3285
  /**
@@ -3282,7 +3292,8 @@ export const update: {
3282
3292
  * - **Histogram**: Records the input value in the appropriate bucket
3283
3293
  * - **Summary**: Records the input value as a new observation
3284
3294
  *
3285
- * @example
3295
+ * **Example** (Updating metric values)
3296
+ *
3286
3297
  * ```ts
3287
3298
  * import { Effect, Metric } from "effect"
3288
3299
  *
@@ -3318,8 +3329,8 @@ export const update: {
3318
3329
  * })
3319
3330
  * ```
3320
3331
  *
3332
+ * @category utils
3321
3333
  * @since 2.0.0
3322
- * @category Utilities
3323
3334
  */
3324
3335
  <Input, State>(self: Metric<Input, State>, input: Input): Effect<void>
3325
3336
  } = dual<
@@ -3333,7 +3344,8 @@ export const update: {
3333
3344
  * - **Histogram**: Records the input value in the appropriate bucket
3334
3345
  * - **Summary**: Records the input value as a new observation
3335
3346
  *
3336
- * @example
3347
+ * **Example** (Updating metric values)
3348
+ *
3337
3349
  * ```ts
3338
3350
  * import { Effect, Metric } from "effect"
3339
3351
  *
@@ -3369,8 +3381,8 @@ export const update: {
3369
3381
  * })
3370
3382
  * ```
3371
3383
  *
3384
+ * @category utils
3372
3385
  * @since 2.0.0
3373
- * @category Utilities
3374
3386
  */
3375
3387
  <Input>(input: Input) => <State>(self: Metric<Input, State>) => Effect<void>,
3376
3388
  /**
@@ -3383,7 +3395,8 @@ export const update: {
3383
3395
  * - **Histogram**: Records the input value in the appropriate bucket
3384
3396
  * - **Summary**: Records the input value as a new observation
3385
3397
  *
3386
- * @example
3398
+ * **Example** (Updating metric values)
3399
+ *
3387
3400
  * ```ts
3388
3401
  * import { Effect, Metric } from "effect"
3389
3402
  *
@@ -3419,8 +3432,8 @@ export const update: {
3419
3432
  * })
3420
3433
  * ```
3421
3434
  *
3435
+ * @category utils
3422
3436
  * @since 2.0.0
3423
- * @category Utilities
3424
3437
  */
3425
3438
  <Input, State>(self: Metric<Input, State>, input: Input) => Effect<void>
3426
3439
  >(
@@ -3434,7 +3447,8 @@ export const update: {
3434
3447
  * of the specified new type, which must be transformable to the input type of
3435
3448
  * this metric.
3436
3449
  *
3437
- * @example
3450
+ * **Example** (Mapping metric inputs)
3451
+ *
3438
3452
  * ```ts
3439
3453
  * import { Data, Effect, Metric } from "effect"
3440
3454
  *
@@ -3464,8 +3478,8 @@ export const update: {
3464
3478
  * })
3465
3479
  * ```
3466
3480
  *
3481
+ * @category mapping
3467
3482
  * @since 2.0.0
3468
- * @category Mapping
3469
3483
  */
3470
3484
  export const mapInput: {
3471
3485
  /**
@@ -3473,7 +3487,8 @@ export const mapInput: {
3473
3487
  * of the specified new type, which must be transformable to the input type of
3474
3488
  * this metric.
3475
3489
  *
3476
- * @example
3490
+ * **Example** (Mapping metric inputs)
3491
+ *
3477
3492
  * ```ts
3478
3493
  * import { Data, Effect, Metric } from "effect"
3479
3494
  *
@@ -3503,8 +3518,8 @@ export const mapInput: {
3503
3518
  * })
3504
3519
  * ```
3505
3520
  *
3521
+ * @category mapping
3506
3522
  * @since 2.0.0
3507
- * @category Mapping
3508
3523
  */
3509
3524
  <Input, Input2 extends Input>(f: (input: Input2, context: Context.Context<never>) => Input): <State>(self: Metric<Input, State>) => Metric<Input2, State>
3510
3525
  /**
@@ -3512,7 +3527,8 @@ export const mapInput: {
3512
3527
  * of the specified new type, which must be transformable to the input type of
3513
3528
  * this metric.
3514
3529
  *
3515
- * @example
3530
+ * **Example** (Mapping metric inputs)
3531
+ *
3516
3532
  * ```ts
3517
3533
  * import { Data, Effect, Metric } from "effect"
3518
3534
  *
@@ -3542,8 +3558,8 @@ export const mapInput: {
3542
3558
  * })
3543
3559
  * ```
3544
3560
  *
3561
+ * @category mapping
3545
3562
  * @since 2.0.0
3546
- * @category Mapping
3547
3563
  */
3548
3564
  <Input, State, Input2>(
3549
3565
  self: Metric<Input, State>,
@@ -3555,7 +3571,8 @@ export const mapInput: {
3555
3571
  * of the specified new type, which must be transformable to the input type of
3556
3572
  * this metric.
3557
3573
  *
3558
- * @example
3574
+ * **Example** (Mapping metric inputs)
3575
+ *
3559
3576
  * ```ts
3560
3577
  * import { Data, Effect, Metric } from "effect"
3561
3578
  *
@@ -3585,8 +3602,8 @@ export const mapInput: {
3585
3602
  * })
3586
3603
  * ```
3587
3604
  *
3605
+ * @category mapping
3588
3606
  * @since 2.0.0
3589
- * @category Mapping
3590
3607
  */
3591
3608
  <Input, Input2 extends Input>(f: (input: Input2, context: Context.Context<never>) => Input) => <State>(self: Metric<Input, State>) => Metric<Input2, State>,
3592
3609
  /**
@@ -3594,7 +3611,8 @@ export const mapInput: {
3594
3611
  * of the specified new type, which must be transformable to the input type of
3595
3612
  * this metric.
3596
3613
  *
3597
- * @example
3614
+ * **Example** (Mapping metric inputs)
3615
+ *
3598
3616
  * ```ts
3599
3617
  * import { Data, Effect, Metric } from "effect"
3600
3618
  *
@@ -3624,8 +3642,8 @@ export const mapInput: {
3624
3642
  * })
3625
3643
  * ```
3626
3644
  *
3645
+ * @category mapping
3627
3646
  * @since 2.0.0
3628
- * @category Mapping
3629
3647
  */
3630
3648
  <Input, State, Input2>(
3631
3649
  self: Metric<Input, State>,
@@ -3647,7 +3665,8 @@ export const mapInput: {
3647
3665
  * of any type, and translates them to updates with the specified constant
3648
3666
  * update value.
3649
3667
  *
3650
- * @example
3668
+ * **Example** (Ignoring inputs with a constant value)
3669
+ *
3651
3670
  * ```ts
3652
3671
  * import { Data, Effect, Metric } from "effect"
3653
3672
  *
@@ -3674,8 +3693,8 @@ export const mapInput: {
3674
3693
  * })
3675
3694
  * ```
3676
3695
  *
3677
- * @since 2.0.0
3678
3696
  * @category Input
3697
+ * @since 2.0.0
3679
3698
  */
3680
3699
  export const withConstantInput: {
3681
3700
  /**
@@ -3683,7 +3702,8 @@ export const withConstantInput: {
3683
3702
  * of any type, and translates them to updates with the specified constant
3684
3703
  * update value.
3685
3704
  *
3686
- * @example
3705
+ * **Example** (Ignoring inputs with a constant value)
3706
+ *
3687
3707
  * ```ts
3688
3708
  * import { Data, Effect, Metric } from "effect"
3689
3709
  *
@@ -3710,8 +3730,8 @@ export const withConstantInput: {
3710
3730
  * })
3711
3731
  * ```
3712
3732
  *
3713
- * @since 2.0.0
3714
3733
  * @category Input
3734
+ * @since 2.0.0
3715
3735
  */
3716
3736
  <Input>(input: Input): <State>(self: Metric<Input, State>) => Metric<unknown, State>
3717
3737
  /**
@@ -3719,7 +3739,8 @@ export const withConstantInput: {
3719
3739
  * of any type, and translates them to updates with the specified constant
3720
3740
  * update value.
3721
3741
  *
3722
- * @example
3742
+ * **Example** (Ignoring inputs with a constant value)
3743
+ *
3723
3744
  * ```ts
3724
3745
  * import { Data, Effect, Metric } from "effect"
3725
3746
  *
@@ -3746,8 +3767,8 @@ export const withConstantInput: {
3746
3767
  * })
3747
3768
  * ```
3748
3769
  *
3749
- * @since 2.0.0
3750
3770
  * @category Input
3771
+ * @since 2.0.0
3751
3772
  */
3752
3773
  <Input, State>(self: Metric<Input, State>, input: Input): Metric<unknown, State>
3753
3774
  } = dual<
@@ -3756,7 +3777,8 @@ export const withConstantInput: {
3756
3777
  * of any type, and translates them to updates with the specified constant
3757
3778
  * update value.
3758
3779
  *
3759
- * @example
3780
+ * **Example** (Ignoring inputs with a constant value)
3781
+ *
3760
3782
  * ```ts
3761
3783
  * import { Data, Effect, Metric } from "effect"
3762
3784
  *
@@ -3783,8 +3805,8 @@ export const withConstantInput: {
3783
3805
  * })
3784
3806
  * ```
3785
3807
  *
3786
- * @since 2.0.0
3787
3808
  * @category Input
3809
+ * @since 2.0.0
3788
3810
  */
3789
3811
  <Input>(input: Input) => <State>(self: Metric<Input, State>) => Metric<unknown, State>,
3790
3812
  /**
@@ -3792,7 +3814,8 @@ export const withConstantInput: {
3792
3814
  * of any type, and translates them to updates with the specified constant
3793
3815
  * update value.
3794
3816
  *
3795
- * @example
3817
+ * **Example** (Ignoring inputs with a constant value)
3818
+ *
3796
3819
  * ```ts
3797
3820
  * import { Data, Effect, Metric } from "effect"
3798
3821
  *
@@ -3819,8 +3842,8 @@ export const withConstantInput: {
3819
3842
  * })
3820
3843
  * ```
3821
3844
  *
3822
- * @since 2.0.0
3823
3845
  * @category Input
3846
+ * @since 2.0.0
3824
3847
  */
3825
3848
  <Input, State>(self: Metric<Input, State>, input: Input) => Metric<unknown, State>
3826
3849
  >(2, (self, input) => mapInput(self, () => input))
@@ -3832,7 +3855,8 @@ export const withConstantInput: {
3832
3855
  * enabling filtering, grouping, and more detailed analysis. Each combination
3833
3856
  * of attribute values creates a separate metric series.
3834
3857
  *
3835
- * @example
3858
+ * **Example** (Applying metric attributes)
3859
+ *
3836
3860
  * ```ts
3837
3861
  * import { Effect, Metric } from "effect"
3838
3862
  *
@@ -3877,8 +3901,8 @@ export const withConstantInput: {
3877
3901
  * })
3878
3902
  * ```
3879
3903
  *
3880
- * @since 4.0.0
3881
3904
  * @category Attributes
3905
+ * @since 4.0.0
3882
3906
  */
3883
3907
  export const withAttributes: {
3884
3908
  /**
@@ -3888,7 +3912,8 @@ export const withAttributes: {
3888
3912
  * enabling filtering, grouping, and more detailed analysis. Each combination
3889
3913
  * of attribute values creates a separate metric series.
3890
3914
  *
3891
- * @example
3915
+ * **Example** (Applying metric attributes)
3916
+ *
3892
3917
  * ```ts
3893
3918
  * import { Effect, Metric } from "effect"
3894
3919
  *
@@ -3933,8 +3958,8 @@ export const withAttributes: {
3933
3958
  * })
3934
3959
  * ```
3935
3960
  *
3936
- * @since 4.0.0
3937
3961
  * @category Attributes
3962
+ * @since 4.0.0
3938
3963
  */
3939
3964
  (attributes: Metric.Attributes): <Input, State>(self: Metric<Input, State>) => Metric<Input, State>
3940
3965
  /**
@@ -3944,7 +3969,8 @@ export const withAttributes: {
3944
3969
  * enabling filtering, grouping, and more detailed analysis. Each combination
3945
3970
  * of attribute values creates a separate metric series.
3946
3971
  *
3947
- * @example
3972
+ * **Example** (Applying metric attributes)
3973
+ *
3948
3974
  * ```ts
3949
3975
  * import { Effect, Metric } from "effect"
3950
3976
  *
@@ -3989,8 +4015,8 @@ export const withAttributes: {
3989
4015
  * })
3990
4016
  * ```
3991
4017
  *
3992
- * @since 4.0.0
3993
4018
  * @category Attributes
4019
+ * @since 4.0.0
3994
4020
  */
3995
4021
  <Input, State>(self: Metric<Input, State>, attributes: Metric.Attributes): Metric<Input, State>
3996
4022
  } = dual<
@@ -4001,7 +4027,8 @@ export const withAttributes: {
4001
4027
  * enabling filtering, grouping, and more detailed analysis. Each combination
4002
4028
  * of attribute values creates a separate metric series.
4003
4029
  *
4004
- * @example
4030
+ * **Example** (Applying metric attributes)
4031
+ *
4005
4032
  * ```ts
4006
4033
  * import { Effect, Metric } from "effect"
4007
4034
  *
@@ -4046,8 +4073,8 @@ export const withAttributes: {
4046
4073
  * })
4047
4074
  * ```
4048
4075
  *
4049
- * @since 4.0.0
4050
4076
  * @category Attributes
4077
+ * @since 4.0.0
4051
4078
  */
4052
4079
  (attributes: Metric.Attributes) => <Input, State>(self: Metric<Input, State>) => Metric<Input, State>,
4053
4080
  /**
@@ -4057,7 +4084,8 @@ export const withAttributes: {
4057
4084
  * enabling filtering, grouping, and more detailed analysis. Each combination
4058
4085
  * of attribute values creates a separate metric series.
4059
4086
  *
4060
- * @example
4087
+ * **Example** (Applying metric attributes)
4088
+ *
4061
4089
  * ```ts
4062
4090
  * import { Effect, Metric } from "effect"
4063
4091
  *
@@ -4102,8 +4130,8 @@ export const withAttributes: {
4102
4130
  * })
4103
4131
  * ```
4104
4132
  *
4105
- * @since 4.0.0
4106
4133
  * @category Attributes
4134
+ * @since 4.0.0
4107
4135
  */
4108
4136
  <Input, State>(self: Metric<Input, State>, attributes: Metric.Attributes) => Metric<Input, State>
4109
4137
  >(2, <Input, State>(
@@ -4125,7 +4153,8 @@ export const withAttributes: {
4125
4153
  * Returns an array of metric snapshots, each containing the metric's metadata
4126
4154
  * (name, description, type) and current state (values, counts, etc.).
4127
4155
  *
4128
- * @example
4156
+ * **Example** (Capturing metric snapshots)
4157
+ *
4129
4158
  * ```ts
4130
4159
  * import { Console, Data, Effect, Metric } from "effect"
4131
4160
  *
@@ -4164,8 +4193,8 @@ export const withAttributes: {
4164
4193
  * })
4165
4194
  * ```
4166
4195
  *
4167
- * @since 2.0.0
4168
4196
  * @category Snapshotting
4197
+ * @since 2.0.0
4169
4198
  */
4170
4199
  export const snapshot: Effect<ReadonlyArray<Metric.Snapshot>> = InternalEffect.map(
4171
4200
  InternalEffect.context(),
@@ -4180,7 +4209,8 @@ export const snapshot: Effect<ReadonlyArray<Metric.Snapshot>> = InternalEffect.m
4180
4209
  * in an easy-to-read table showing names, descriptions, types, attributes,
4181
4210
  * and current state values.
4182
4211
  *
4183
- * @example
4212
+ * **Example** (Dumping metrics as text)
4213
+ *
4184
4214
  * ```ts
4185
4215
  * import { Console, Data, Effect, Metric } from "effect"
4186
4216
  *
@@ -4223,8 +4253,8 @@ export const snapshot: Effect<ReadonlyArray<Metric.Snapshot>> = InternalEffect.m
4223
4253
  * })
4224
4254
  * ```
4225
4255
  *
4226
- * @since 2.0.0
4227
4256
  * @category Debugging
4257
+ * @since 4.0.0
4228
4258
  */
4229
4259
  export const dump: Effect<string> = InternalEffect.flatMap(InternalEffect.context(), (context) => {
4230
4260
  const metrics = snapshotUnsafe(context)
@@ -4269,7 +4299,8 @@ export const dump: Effect<string> = InternalEffect.flatMap(InternalEffect.contex
4269
4299
  * manual handling of the services context. Use the safe `snapshot` function for normal
4270
4300
  * application code.
4271
4301
  *
4272
- * @example
4302
+ * **Example** (Capturing snapshots from a context)
4303
+ *
4273
4304
  * ```ts
4274
4305
  * import { Data, Effect, Metric } from "effect"
4275
4306
  *
@@ -4296,13 +4327,14 @@ export const dump: Effect<string> = InternalEffect.flatMap(InternalEffect.contex
4296
4327
  *
4297
4328
  * // Use snapshotUnsafe for direct, synchronous access
4298
4329
  * const snapshots = Metric.snapshotUnsafe(services)
4330
+ * const exportBatchCreatedAt = 1_700_000_000_000
4299
4331
  *
4300
4332
  * // Process snapshots immediately (useful for exporters, debugging tools)
4301
4333
  * const exportData = snapshots.map((snapshot) => ({
4302
4334
  * name: snapshot.id,
4303
4335
  * type: snapshot.type,
4304
4336
  * value: snapshot.state,
4305
- * timestamp: Date.now()
4337
+ * timestamp: exportBatchCreatedAt
4306
4338
  * }))
4307
4339
  *
4308
4340
  * // This is synchronous and doesn't involve Effect overhead
@@ -4318,8 +4350,8 @@ export const dump: Effect<string> = InternalEffect.flatMap(InternalEffect.contex
4318
4350
  * })
4319
4351
  * ```
4320
4352
  *
4321
- * @since 2.0.0
4322
4353
  * @category Snapshotting
4354
+ * @since 4.0.0
4323
4355
  */
4324
4356
  export const snapshotUnsafe = (context: Context.Context<never>): ReadonlyArray<Metric.Snapshot> => {
4325
4357
  const registry = Context.get(context, MetricRegistry)
@@ -4398,7 +4430,8 @@ const attributesToString = (attributes: Metric.AttributeSet): string => {
4398
4430
  * non-positive values, and automatically appending positive infinity as the
4399
4431
  * final boundary.
4400
4432
  *
4401
- * @example
4433
+ * **Example** (Creating boundaries from values)
4434
+ *
4402
4435
  * ```ts
4403
4436
  * import { Data, Effect, Metric } from "effect"
4404
4437
  *
@@ -4452,20 +4485,24 @@ const attributesToString = (attributes: Metric.AttributeSet): string => {
4452
4485
  * })
4453
4486
  * ```
4454
4487
  *
4455
- * @since 2.0.0
4456
4488
  * @category Boundaries
4489
+ * @since 4.0.0
4457
4490
  */
4458
4491
  export const boundariesFromIterable = (iterable: Iterable<number>): ReadonlyArray<number> =>
4459
4492
  Arr.append(Arr.filter(new Set(iterable), (n) => n > 0), Number.POSITIVE_INFINITY)
4460
4493
 
4461
4494
  /**
4462
- * A helper method to create histogram bucket boundaries with linearly
4463
- * increasing values.
4495
+ * Creates histogram bucket boundaries from a linear sequence and appends
4496
+ * positive infinity.
4464
4497
  *
4465
- * Creates evenly-spaced boundaries starting from a base value and incrementing
4466
- * by a fixed width. Automatically adds positive infinity as the final boundary.
4498
+ * **Details**
4499
+ * Generates `count - 1` finite boundaries using `start + width + index` for
4500
+ * each zero-based index, then applies the same normalization as
4501
+ * `boundariesFromIterable`: non-positive values are removed, duplicates are
4502
+ * collapsed, and `Infinity` is appended.
4503
+ *
4504
+ * **Example** (Creating linear boundaries)
4467
4505
  *
4468
- * @example
4469
4506
  * ```ts
4470
4507
  * import { Data, Effect, Metric } from "effect"
4471
4508
  *
@@ -4474,13 +4511,12 @@ export const boundariesFromIterable = (iterable: Iterable<number>): ReadonlyArra
4474
4511
  * }> {}
4475
4512
  *
4476
4513
  * // Create boundaries for response time histogram
4477
- * // Buckets: 0-100ms, 100-200ms, 200-300ms, 300-400ms, 400ms+
4478
4514
  * const responseBoundaries = Metric.linearBoundaries({
4479
4515
  * start: 0, // Starting point
4480
- * width: 100, // 100ms intervals
4516
+ * width: 100, // Offset used for the first boundary
4481
4517
  * count: 5 // Creates 4 boundaries + infinity
4482
4518
  * })
4483
- * console.log(responseBoundaries) // [100, 200, 300, 400, Infinity]
4519
+ * console.log(responseBoundaries) // [100, 101, 102, 103, Infinity]
4484
4520
  *
4485
4521
  * // Create a histogram using these boundaries
4486
4522
  * const responseTimeHistogram = Metric.histogram("api_response_time", {
@@ -4490,17 +4526,17 @@ export const boundariesFromIterable = (iterable: Iterable<number>): ReadonlyArra
4490
4526
  *
4491
4527
  * const program = Effect.gen(function*() {
4492
4528
  * // Record some response times
4493
- * yield* Metric.update(responseTimeHistogram, 85) // Goes in 0-100ms bucket
4494
- * yield* Metric.update(responseTimeHistogram, 250) // Goes in 200-300ms bucket
4495
- * yield* Metric.update(responseTimeHistogram, 450) // Goes in 400ms+ bucket
4529
+ * yield* Metric.update(responseTimeHistogram, 85)
4530
+ * yield* Metric.update(responseTimeHistogram, 101)
4531
+ * yield* Metric.update(responseTimeHistogram, 450)
4496
4532
  *
4497
4533
  * const value = yield* Metric.value(responseTimeHistogram)
4498
4534
  * return value
4499
4535
  * })
4500
4536
  * ```
4501
4537
  *
4502
- * @since 2.0.0
4503
4538
  * @category Boundaries
4539
+ * @since 4.0.0
4504
4540
  */
4505
4541
  export const linearBoundaries = (options: {
4506
4542
  readonly start: number
@@ -4516,7 +4552,8 @@ export const linearBoundaries = (options: {
4516
4552
  * Creates boundaries that grow exponentially, useful for metrics that span
4517
4553
  * multiple orders of magnitude. Each boundary is calculated as start * factor^i.
4518
4554
  *
4519
- * @example
4555
+ * **Example** (Creating exponential boundaries)
4556
+ *
4520
4557
  * ```ts
4521
4558
  * import { Data, Effect, Metric } from "effect"
4522
4559
  *
@@ -4557,8 +4594,8 @@ export const linearBoundaries = (options: {
4557
4594
  * })
4558
4595
  * ```
4559
4596
  *
4560
- * @since 2.0.0
4561
4597
  * @category Boundaries
4598
+ * @since 4.0.0
4562
4599
  */
4563
4600
  export const exponentialBoundaries = (options: {
4564
4601
  readonly start: number
@@ -4588,7 +4625,8 @@ const fiberFailures = counter("child_fiber_failures", {
4588
4625
  /**
4589
4626
  * Service key for the fiber runtime metrics service.
4590
4627
  *
4591
- * @example
4628
+ * **Example** (Using the fiber runtime metrics key)
4629
+ *
4592
4630
  * ```ts
4593
4631
  * import { Data, Effect, Layer, Metric } from "effect"
4594
4632
  *
@@ -4618,8 +4656,8 @@ const fiberFailures = counter("child_fiber_failures", {
4618
4656
  * })
4619
4657
  * ```
4620
4658
  *
4621
- * @since 4.0.0
4622
4659
  * @category Runtime Metrics
4660
+ * @since 4.0.0
4623
4661
  */
4624
4662
  export const FiberRuntimeMetricsKey: "effect/observability/Metric/FiberRuntimeMetricsKey" =
4625
4663
  InternalMetric.FiberRuntimeMetricsKey
@@ -4627,11 +4665,11 @@ export const FiberRuntimeMetricsKey: "effect/observability/Metric/FiberRuntimeMe
4627
4665
  /**
4628
4666
  * Interface for the fiber runtime metrics service that tracks fiber lifecycle events.
4629
4667
  *
4630
- * @example
4668
+ * **Example** (Providing a custom fiber metrics service)
4669
+ *
4631
4670
  * ```ts
4632
- * import type { Context } from "effect"
4633
4671
  * import { Data, Effect, Layer, Metric } from "effect"
4634
- * import type { Exit } from "effect/Exit"
4672
+ * import type { Context, Exit } from "effect"
4635
4673
  *
4636
4674
  * class MetricsError extends Data.TaggedError("MetricsError")<{
4637
4675
  * readonly operation: string
@@ -4645,7 +4683,7 @@ export const FiberRuntimeMetricsKey: "effect/observability/Metric/FiberRuntimeMe
4645
4683
  * },
4646
4684
  * recordFiberEnd: (
4647
4685
  * context: Context.Context<never>,
4648
- * exit: Exit<unknown, unknown>
4686
+ * exit: Exit.Exit<unknown, unknown>
4649
4687
  * ) => {
4650
4688
  * console.log("Fiber completed with exit:", exit)
4651
4689
  * // Custom logic for tracking fiber completion based on exit status
@@ -4660,8 +4698,8 @@ export const FiberRuntimeMetricsKey: "effect/observability/Metric/FiberRuntimeMe
4660
4698
  * })
4661
4699
  * ```
4662
4700
  *
4663
- * @since 4.0.0
4664
4701
  * @category Runtime Metrics
4702
+ * @since 4.0.0
4665
4703
  */
4666
4704
  export interface FiberRuntimeMetricsService {
4667
4705
  readonly recordFiberStart: (context: Context.Context<never>) => void
@@ -4669,9 +4707,15 @@ export interface FiberRuntimeMetricsService {
4669
4707
  }
4670
4708
 
4671
4709
  /**
4672
- * Service class for managing fiber runtime metrics collection.
4710
+ * `Context.Reference` for the optional fiber runtime metrics service.
4711
+ *
4712
+ * **Details**
4713
+ * When provided, the runtime can notify the service about child-fiber start and
4714
+ * end events. When the reference is `undefined`, automatic fiber runtime metric
4715
+ * collection is disabled.
4716
+ *
4717
+ * **Example** (Accessing the fiber runtime metrics service)
4673
4718
  *
4674
- * @example
4675
4719
  * ```ts
4676
4720
  * import { Data, Effect, Metric } from "effect"
4677
4721
  *
@@ -4710,8 +4754,8 @@ export interface FiberRuntimeMetricsService {
4710
4754
  * })
4711
4755
  * ```
4712
4756
  *
4713
- * @since 4.0.0
4714
4757
  * @category Runtime Metrics
4758
+ * @since 4.0.0
4715
4759
  */
4716
4760
  export const FiberRuntimeMetrics = Context.Reference<FiberRuntimeMetricsService | undefined>(
4717
4761
  InternalMetric.FiberRuntimeMetricsKey,
@@ -4721,7 +4765,8 @@ export const FiberRuntimeMetrics = Context.Reference<FiberRuntimeMetricsService
4721
4765
  /**
4722
4766
  * Default implementation of the fiber runtime metrics service.
4723
4767
  *
4724
- * @example
4768
+ * **Example** (Using the default fiber metrics implementation)
4769
+ *
4725
4770
  * ```ts
4726
4771
  * import { Data, Effect, Layer, Metric } from "effect"
4727
4772
  *
@@ -4759,8 +4804,8 @@ export const FiberRuntimeMetrics = Context.Reference<FiberRuntimeMetricsService
4759
4804
  * })
4760
4805
  * ```
4761
4806
  *
4762
- * @since 4.0.0
4763
4807
  * @category Runtime Metrics
4808
+ * @since 4.0.0
4764
4809
  */
4765
4810
  export const FiberRuntimeMetricsImpl: FiberRuntimeMetricsService = {
4766
4811
  recordFiberStart(context: Context.Context<never>) {
@@ -4786,7 +4831,8 @@ export const FiberRuntimeMetricsImpl: FiberRuntimeMetricsService = {
4786
4831
  * the recommended approach for production applications that need comprehensive
4787
4832
  * fiber monitoring.
4788
4833
  *
4789
- * @example
4834
+ * **Example** (Enabling runtime metrics with a layer)
4835
+ *
4790
4836
  * ```ts
4791
4837
  * import { Console, Data, Effect, Layer, Metric } from "effect"
4792
4838
  *
@@ -4871,15 +4917,16 @@ export const FiberRuntimeMetricsImpl: FiberRuntimeMetricsService = {
4871
4917
  * )
4872
4918
  * ```
4873
4919
  *
4874
- * @since 4.0.0
4875
4920
  * @category Runtime Metrics
4921
+ * @since 4.0.0
4876
4922
  */
4877
4923
  export const enableRuntimeMetricsLayer = Layer.succeed(FiberRuntimeMetrics)(FiberRuntimeMetricsImpl)
4878
4924
 
4879
4925
  /**
4880
4926
  * A Layer that disables automatic collection of fiber runtime metrics.
4881
4927
  *
4882
- * @example
4928
+ * **Example** (Disabling runtime metrics with a layer)
4929
+ *
4883
4930
  * ```ts
4884
4931
  * import { Data, Effect, Metric } from "effect"
4885
4932
  *
@@ -4911,8 +4958,8 @@ export const enableRuntimeMetricsLayer = Layer.succeed(FiberRuntimeMetrics)(Fibe
4911
4958
  * })
4912
4959
  * ```
4913
4960
  *
4914
- * @since 4.0.0
4915
4961
  * @category Runtime Metrics
4962
+ * @since 4.0.0
4916
4963
  */
4917
4964
  export const disableRuntimeMetricsLayer = Layer.succeed(FiberRuntimeMetrics)(undefined)
4918
4965
 
@@ -4923,7 +4970,8 @@ export const disableRuntimeMetricsLayer = Layer.succeed(FiberRuntimeMetrics)(und
4923
4970
  * started fibers, successful completions, and failures. These metrics provide valuable
4924
4971
  * insights into the concurrency patterns and health of your Effect application.
4925
4972
  *
4926
- * @example
4973
+ * **Example** (Enabling runtime metrics for an effect)
4974
+ *
4927
4975
  * ```ts
4928
4976
  * import { Console, Data, Effect, Layer, Metric } from "effect"
4929
4977
  *
@@ -4992,8 +5040,8 @@ export const disableRuntimeMetricsLayer = Layer.succeed(FiberRuntimeMetrics)(und
4992
5040
  * )
4993
5041
  * ```
4994
5042
  *
4995
- * @since 4.0.0
4996
5043
  * @category Runtime Metrics
5044
+ * @since 4.0.0
4997
5045
  */
4998
5046
  export const enableRuntimeMetrics: <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R> = InternalEffect.provideService(
4999
5047
  FiberRuntimeMetrics,
@@ -5007,7 +5055,8 @@ export const enableRuntimeMetrics: <A, E, R>(self: Effect<A, E, R>) => Effect<A,
5007
5055
  * parts of your application while keeping them enabled elsewhere, or when you need
5008
5056
  * to avoid the overhead of metrics collection in performance-critical sections.
5009
5057
  *
5010
- * @example
5058
+ * **Example** (Disabling runtime metrics for an effect)
5059
+ *
5011
5060
  * ```ts
5012
5061
  * import { Console, Data, Effect, Layer, Metric } from "effect"
5013
5062
  *
@@ -5035,7 +5084,7 @@ export const enableRuntimeMetrics: <A, E, R>(self: Effect<A, E, R>) => Effect<A,
5035
5084
  * (_, i) =>
5036
5085
  * Effect.gen(function*() {
5037
5086
  * // Simulate intensive computation
5038
- * const result = i * i + Math.random()
5087
+ * const result = i * i + (i % 10) / 10
5039
5088
  * return result
5040
5089
  * })
5041
5090
  * )
@@ -5077,8 +5126,8 @@ export const enableRuntimeMetrics: <A, E, R>(self: Effect<A, E, R>) => Effect<A,
5077
5126
  * )
5078
5127
  * ```
5079
5128
  *
5080
- * @since 4.0.0
5081
5129
  * @category Runtime Metrics
5130
+ * @since 4.0.0
5082
5131
  */
5083
5132
  export const disableRuntimeMetrics: <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R> = InternalEffect.provideService(
5084
5133
  FiberRuntimeMetrics,