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

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