effect 2.0.0-next.47 → 2.0.0-next.49

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 (445) hide show
  1. package/BigInt/dist/effect-BigInt.cjs.d.mts +2 -0
  2. package/BigInt/dist/effect-BigInt.cjs.d.mts.map +1 -0
  3. package/BigInt/dist/effect-BigInt.cjs.d.ts +2 -0
  4. package/BigInt/dist/effect-BigInt.cjs.d.ts.map +1 -0
  5. package/{Bigint/dist/effect-Bigint.cjs.dev.js → BigInt/dist/effect-BigInt.cjs.dev.js} +30 -30
  6. package/BigInt/dist/effect-BigInt.cjs.js +7 -0
  7. package/{Bigint/dist/effect-Bigint.cjs.mjs → BigInt/dist/effect-BigInt.cjs.mjs} +2 -2
  8. package/{Bigint/dist/effect-Bigint.cjs.prod.js → BigInt/dist/effect-BigInt.cjs.prod.js} +30 -30
  9. package/{Bigint/dist/effect-Bigint.esm.js → BigInt/dist/effect-BigInt.esm.js} +28 -28
  10. package/BigInt/package.json +4 -0
  11. package/Brand/dist/effect-Brand.cjs.dev.js +3 -3
  12. package/Brand/dist/effect-Brand.cjs.prod.js +3 -3
  13. package/Cache/dist/effect-Cache.cjs.dev.js +28 -28
  14. package/Cache/dist/effect-Cache.cjs.prod.js +28 -28
  15. package/Cause/dist/effect-Cause.cjs.dev.js +8 -8
  16. package/Cause/dist/effect-Cause.cjs.prod.js +8 -8
  17. package/Channel/dist/effect-Channel.cjs.dev.js +50 -41
  18. package/Channel/dist/effect-Channel.cjs.mjs +1 -0
  19. package/Channel/dist/effect-Channel.cjs.prod.js +50 -41
  20. package/Channel/dist/effect-Channel.esm.js +10 -2
  21. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.dev.js +36 -38
  22. package/ChannelSingleProducerAsyncInput/dist/effect-ChannelSingleProducerAsyncInput.cjs.prod.js +36 -38
  23. package/Chunk/dist/effect-Chunk.cjs.dev.js +13 -4
  24. package/Chunk/dist/effect-Chunk.cjs.mjs +1 -0
  25. package/Chunk/dist/effect-Chunk.cjs.prod.js +13 -4
  26. package/Chunk/dist/effect-Chunk.esm.js +10 -2
  27. package/Clock/dist/effect-Clock.cjs.dev.js +14 -14
  28. package/Clock/dist/effect-Clock.cjs.prod.js +14 -14
  29. package/Config/dist/effect-Config.cjs.dev.js +11 -11
  30. package/Config/dist/effect-Config.cjs.prod.js +11 -11
  31. package/ConfigError/dist/effect-ConfigError.cjs.dev.js +4 -4
  32. package/ConfigError/dist/effect-ConfigError.cjs.prod.js +4 -4
  33. package/ConfigProvider/dist/effect-ConfigProvider.cjs.dev.js +13 -13
  34. package/ConfigProvider/dist/effect-ConfigProvider.cjs.prod.js +13 -13
  35. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.dev.js +5 -5
  36. package/ConfigProviderPathPatch/dist/effect-ConfigProviderPathPatch.cjs.prod.js +5 -5
  37. package/ConfigSecret/dist/effect-ConfigSecret.cjs.dev.js +4 -4
  38. package/ConfigSecret/dist/effect-ConfigSecret.cjs.prod.js +4 -4
  39. package/Console/dist/effect-Console.cjs.dev.js +32 -32
  40. package/Console/dist/effect-Console.cjs.prod.js +32 -32
  41. package/Context/dist/effect-Context.cjs.dev.js +3 -3
  42. package/Context/dist/effect-Context.cjs.prod.js +3 -3
  43. package/Data/dist/effect-Data.cjs.dev.js +50 -46
  44. package/Data/dist/effect-Data.cjs.prod.js +50 -46
  45. package/Data/dist/effect-Data.esm.js +11 -5
  46. package/DefaultServices/dist/effect-DefaultServices.cjs.dev.js +14 -14
  47. package/DefaultServices/dist/effect-DefaultServices.cjs.prod.js +14 -14
  48. package/Deferred/dist/effect-Deferred.cjs.dev.js +8 -8
  49. package/Deferred/dist/effect-Deferred.cjs.prod.js +8 -8
  50. package/Differ/dist/effect-Differ.cjs.dev.js +5 -5
  51. package/Differ/dist/effect-Differ.cjs.prod.js +5 -5
  52. package/Duration/dist/effect-Duration.cjs.dev.js +4 -4
  53. package/Duration/dist/effect-Duration.cjs.prod.js +4 -4
  54. package/Duration/dist/effect-Duration.esm.js +2 -2
  55. package/Effect/dist/effect-Effect.cjs.dev.js +67 -136
  56. package/Effect/dist/effect-Effect.cjs.mjs +2 -11
  57. package/Effect/dist/effect-Effect.cjs.prod.js +67 -136
  58. package/Effect/dist/effect-Effect.esm.js +30 -90
  59. package/Effectable/dist/effect-Effectable.cjs.dev.js +1 -1
  60. package/Effectable/dist/effect-Effectable.cjs.prod.js +1 -1
  61. package/Either/dist/effect-Either.cjs.dev.js +17 -3
  62. package/Either/dist/effect-Either.cjs.mjs +3 -1
  63. package/Either/dist/effect-Either.cjs.prod.js +17 -3
  64. package/Either/dist/effect-Either.esm.js +13 -1
  65. package/Encoding/dist/effect-Encoding.cjs.dev.js +3 -3
  66. package/Encoding/dist/effect-Encoding.cjs.prod.js +3 -3
  67. package/Exit/dist/effect-Exit.cjs.dev.js +8 -8
  68. package/Exit/dist/effect-Exit.cjs.prod.js +8 -8
  69. package/Fiber/dist/effect-Fiber.cjs.dev.js +29 -29
  70. package/Fiber/dist/effect-Fiber.cjs.prod.js +29 -29
  71. package/FiberId/dist/effect-FiberId.cjs.dev.js +5 -5
  72. package/FiberId/dist/effect-FiberId.cjs.prod.js +5 -5
  73. package/FiberRef/dist/effect-FiberRef.cjs.dev.js +29 -29
  74. package/FiberRef/dist/effect-FiberRef.cjs.prod.js +29 -29
  75. package/FiberRefs/dist/effect-FiberRefs.cjs.dev.js +9 -9
  76. package/FiberRefs/dist/effect-FiberRefs.cjs.prod.js +9 -9
  77. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.dev.js +10 -10
  78. package/FiberRefsPatch/dist/effect-FiberRefsPatch.cjs.prod.js +10 -10
  79. package/GroupBy/dist/effect-GroupBy.cjs.dev.js +43 -43
  80. package/GroupBy/dist/effect-GroupBy.cjs.prod.js +43 -43
  81. package/HashMap/dist/effect-HashMap.cjs.dev.js +4 -4
  82. package/HashMap/dist/effect-HashMap.cjs.prod.js +4 -4
  83. package/HashSet/dist/effect-HashSet.cjs.dev.js +4 -4
  84. package/HashSet/dist/effect-HashSet.cjs.prod.js +4 -4
  85. package/KeyedPool/dist/effect-KeyedPool.cjs.dev.js +29 -29
  86. package/KeyedPool/dist/effect-KeyedPool.cjs.prod.js +29 -29
  87. package/Layer/dist/effect-Layer.cjs.dev.js +151 -52
  88. package/Layer/dist/effect-Layer.cjs.mjs +12 -0
  89. package/Layer/dist/effect-Layer.cjs.prod.js +151 -52
  90. package/Layer/dist/effect-Layer.esm.js +92 -2
  91. package/List/dist/effect-List.cjs.dev.js +10 -3
  92. package/List/dist/effect-List.cjs.mjs +1 -0
  93. package/List/dist/effect-List.cjs.prod.js +10 -3
  94. package/List/dist/effect-List.esm.js +7 -1
  95. package/LogLevel/dist/effect-LogLevel.cjs.dev.js +8 -8
  96. package/LogLevel/dist/effect-LogLevel.cjs.prod.js +8 -8
  97. package/Logger/dist/effect-Logger.cjs.dev.js +33 -39
  98. package/Logger/dist/effect-Logger.cjs.prod.js +33 -39
  99. package/Logger/dist/effect-Logger.esm.js +0 -5
  100. package/Match/dist/effect-Match.cjs.d.mts +2 -0
  101. package/Match/dist/effect-Match.cjs.d.mts.map +1 -0
  102. package/Match/dist/effect-Match.cjs.d.ts +2 -0
  103. package/Match/dist/effect-Match.cjs.d.ts.map +1 -0
  104. package/Match/dist/effect-Match.cjs.dev.js +620 -0
  105. package/Match/dist/effect-Match.cjs.js +7 -0
  106. package/Match/dist/effect-Match.cjs.mjs +39 -0
  107. package/Match/dist/effect-Match.cjs.prod.js +620 -0
  108. package/Match/dist/effect-Match.esm.js +258 -0
  109. package/Match/package.json +4 -0
  110. package/Metric/dist/effect-Metric.cjs.dev.js +115 -33
  111. package/Metric/dist/effect-Metric.cjs.prod.js +115 -33
  112. package/Metric/dist/effect-Metric.esm.js +88 -6
  113. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.dev.js +4 -4
  114. package/MetricBoundaries/dist/effect-MetricBoundaries.cjs.prod.js +4 -4
  115. package/MetricHook/dist/effect-MetricHook.cjs.dev.js +6 -6
  116. package/MetricHook/dist/effect-MetricHook.cjs.prod.js +6 -6
  117. package/MetricKey/dist/effect-MetricKey.cjs.dev.js +7 -7
  118. package/MetricKey/dist/effect-MetricKey.cjs.prod.js +7 -7
  119. package/MetricKeyType/dist/effect-MetricKeyType.cjs.dev.js +4 -4
  120. package/MetricKeyType/dist/effect-MetricKeyType.cjs.prod.js +4 -4
  121. package/MetricLabel/dist/effect-MetricLabel.cjs.dev.js +1 -1
  122. package/MetricLabel/dist/effect-MetricLabel.cjs.prod.js +1 -1
  123. package/MetricPolling/dist/effect-MetricPolling.cjs.dev.js +29 -29
  124. package/MetricPolling/dist/effect-MetricPolling.cjs.prod.js +29 -29
  125. package/MetricRegistry/dist/effect-MetricRegistry.cjs.dev.js +8 -8
  126. package/MetricRegistry/dist/effect-MetricRegistry.cjs.prod.js +8 -8
  127. package/MetricState/dist/effect-MetricState.cjs.dev.js +1 -1
  128. package/MetricState/dist/effect-MetricState.cjs.prod.js +1 -1
  129. package/MutableHashMap/dist/effect-MutableHashMap.cjs.dev.js +4 -4
  130. package/MutableHashMap/dist/effect-MutableHashMap.cjs.prod.js +4 -4
  131. package/MutableHashSet/dist/effect-MutableHashSet.cjs.dev.js +4 -4
  132. package/MutableHashSet/dist/effect-MutableHashSet.cjs.prod.js +4 -4
  133. package/MutableQueue/dist/effect-MutableQueue.cjs.dev.js +3 -3
  134. package/MutableQueue/dist/effect-MutableQueue.cjs.prod.js +3 -3
  135. package/Option/dist/effect-Option.cjs.dev.js +3 -3
  136. package/Option/dist/effect-Option.cjs.prod.js +3 -3
  137. package/Pool/dist/effect-Pool.cjs.dev.js +29 -29
  138. package/Pool/dist/effect-Pool.cjs.prod.js +29 -29
  139. package/Predicate/dist/effect-Predicate.cjs.dev.js +5 -5
  140. package/Predicate/dist/effect-Predicate.cjs.mjs +1 -1
  141. package/Predicate/dist/effect-Predicate.cjs.prod.js +5 -5
  142. package/Predicate/dist/effect-Predicate.esm.js +5 -5
  143. package/PubSub/dist/effect-PubSub.cjs.dev.js +28 -28
  144. package/PubSub/dist/effect-PubSub.cjs.prod.js +28 -28
  145. package/Queue/dist/effect-Queue.cjs.dev.js +28 -28
  146. package/Queue/dist/effect-Queue.cjs.prod.js +28 -28
  147. package/README.md +23 -0
  148. package/Random/dist/effect-Random.cjs.dev.js +14 -14
  149. package/Random/dist/effect-Random.cjs.prod.js +14 -14
  150. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.dev.js +3 -3
  151. package/ReadonlyArray/dist/effect-ReadonlyArray.cjs.prod.js +3 -3
  152. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.dev.js +3 -3
  153. package/ReadonlyRecord/dist/effect-ReadonlyRecord.cjs.prod.js +3 -3
  154. package/RedBlackTree/dist/effect-RedBlackTree.cjs.dev.js +3 -3
  155. package/RedBlackTree/dist/effect-RedBlackTree.cjs.prod.js +3 -3
  156. package/Ref/dist/effect-Ref.cjs.dev.js +9 -9
  157. package/Ref/dist/effect-Ref.cjs.prod.js +9 -9
  158. package/Reloadable/dist/effect-Reloadable.cjs.dev.js +33 -33
  159. package/Reloadable/dist/effect-Reloadable.cjs.prod.js +33 -33
  160. package/Request/dist/effect-Request.cjs.dev.js +28 -28
  161. package/Request/dist/effect-Request.cjs.prod.js +28 -28
  162. package/RequestBlock/dist/effect-RequestBlock.cjs.dev.js +36 -38
  163. package/RequestBlock/dist/effect-RequestBlock.cjs.prod.js +36 -38
  164. package/RequestResolver/dist/effect-RequestResolver.cjs.dev.js +42 -44
  165. package/RequestResolver/dist/effect-RequestResolver.cjs.prod.js +42 -44
  166. package/Resource/dist/effect-Resource.cjs.dev.js +31 -31
  167. package/Resource/dist/effect-Resource.cjs.prod.js +31 -31
  168. package/Runtime/dist/effect-Runtime.cjs.dev.js +30 -30
  169. package/Runtime/dist/effect-Runtime.cjs.prod.js +30 -30
  170. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.dev.js +33 -34
  171. package/RuntimeFlags/dist/effect-RuntimeFlags.cjs.prod.js +33 -34
  172. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.dev.js +6 -6
  173. package/RuntimeFlagsPatch/dist/effect-RuntimeFlagsPatch.cjs.prod.js +6 -6
  174. package/STM/dist/effect-STM.cjs.dev.js +45 -45
  175. package/STM/dist/effect-STM.cjs.prod.js +45 -45
  176. package/Schedule/dist/effect-Schedule.cjs.dev.js +20 -20
  177. package/Schedule/dist/effect-Schedule.cjs.prod.js +20 -20
  178. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.dev.js +3 -3
  179. package/ScheduleDecision/dist/effect-ScheduleDecision.cjs.prod.js +3 -3
  180. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.dev.js +3 -3
  181. package/ScheduleInterval/dist/effect-ScheduleInterval.cjs.prod.js +3 -3
  182. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.dev.js +3 -3
  183. package/ScheduleIntervals/dist/effect-ScheduleIntervals.cjs.prod.js +3 -3
  184. package/Scheduler/dist/effect-Scheduler.cjs.dev.js +8 -8
  185. package/Scheduler/dist/effect-Scheduler.cjs.prod.js +8 -8
  186. package/Scope/dist/effect-Scope.cjs.dev.js +27 -27
  187. package/Scope/dist/effect-Scope.cjs.prod.js +27 -27
  188. package/ScopedCache/dist/effect-ScopedCache.cjs.dev.js +34 -36
  189. package/ScopedCache/dist/effect-ScopedCache.cjs.prod.js +34 -36
  190. package/ScopedRef/dist/effect-ScopedRef.cjs.dev.js +31 -31
  191. package/ScopedRef/dist/effect-ScopedRef.cjs.prod.js +31 -31
  192. package/Sink/dist/effect-Sink.cjs.dev.js +39 -39
  193. package/Sink/dist/effect-Sink.cjs.prod.js +39 -39
  194. package/SortedMap/dist/effect-SortedMap.cjs.dev.js +3 -3
  195. package/SortedMap/dist/effect-SortedMap.cjs.prod.js +3 -3
  196. package/SortedSet/dist/effect-SortedSet.cjs.dev.js +3 -3
  197. package/SortedSet/dist/effect-SortedSet.cjs.prod.js +3 -3
  198. package/Stream/dist/effect-Stream.cjs.dev.js +43 -43
  199. package/Stream/dist/effect-Stream.cjs.prod.js +43 -43
  200. package/Streamable/dist/effect-Streamable.cjs.dev.js +43 -43
  201. package/Streamable/dist/effect-Streamable.cjs.prod.js +43 -43
  202. package/String/dist/effect-String.cjs.dev.js +3 -3
  203. package/String/dist/effect-String.cjs.prod.js +3 -3
  204. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.dev.js +46 -46
  205. package/SubscriptionRef/dist/effect-SubscriptionRef.cjs.prod.js +46 -46
  206. package/Supervisor/dist/effect-Supervisor.cjs.dev.js +33 -34
  207. package/Supervisor/dist/effect-Supervisor.cjs.prod.js +33 -34
  208. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.dev.js +30 -30
  209. package/SynchronizedRef/dist/effect-SynchronizedRef.cjs.prod.js +30 -30
  210. package/TArray/dist/effect-TArray.cjs.dev.js +47 -47
  211. package/TArray/dist/effect-TArray.cjs.prod.js +47 -47
  212. package/TDeferred/dist/effect-TDeferred.cjs.dev.js +46 -46
  213. package/TDeferred/dist/effect-TDeferred.cjs.prod.js +46 -46
  214. package/TMap/dist/effect-TMap.cjs.dev.js +48 -48
  215. package/TMap/dist/effect-TMap.cjs.prod.js +48 -48
  216. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.dev.js +45 -45
  217. package/TPriorityQueue/dist/effect-TPriorityQueue.cjs.prod.js +45 -45
  218. package/TPubSub/dist/effect-TPubSub.cjs.dev.js +50 -50
  219. package/TPubSub/dist/effect-TPubSub.cjs.prod.js +50 -50
  220. package/TQueue/dist/effect-TQueue.cjs.dev.js +47 -47
  221. package/TQueue/dist/effect-TQueue.cjs.prod.js +47 -47
  222. package/TRandom/dist/effect-TRandom.cjs.dev.js +46 -46
  223. package/TRandom/dist/effect-TRandom.cjs.prod.js +46 -46
  224. package/TReentrantLock/dist/effect-TReentrantLock.cjs.dev.js +50 -50
  225. package/TReentrantLock/dist/effect-TReentrantLock.cjs.prod.js +50 -50
  226. package/TRef/dist/effect-TRef.cjs.dev.js +47 -47
  227. package/TRef/dist/effect-TRef.cjs.mjs +0 -1
  228. package/TRef/dist/effect-TRef.cjs.prod.js +47 -47
  229. package/TRef/dist/effect-TRef.esm.js +3 -2
  230. package/TSemaphore/dist/effect-TSemaphore.cjs.dev.js +46 -46
  231. package/TSemaphore/dist/effect-TSemaphore.cjs.prod.js +46 -46
  232. package/TSet/dist/effect-TSet.cjs.dev.js +48 -48
  233. package/TSet/dist/effect-TSet.cjs.prod.js +48 -48
  234. package/Take/dist/effect-Take.cjs.dev.js +36 -38
  235. package/Take/dist/effect-Take.cjs.prod.js +36 -38
  236. package/TestAnnotation/dist/effect-TestAnnotation.cjs.dev.js +5 -5
  237. package/TestAnnotation/dist/effect-TestAnnotation.cjs.prod.js +5 -5
  238. package/TestAnnotations/dist/effect-TestAnnotations.cjs.dev.js +20 -20
  239. package/TestAnnotations/dist/effect-TestAnnotations.cjs.prod.js +20 -20
  240. package/TestClock/dist/effect-TestClock.cjs.dev.js +32 -32
  241. package/TestClock/dist/effect-TestClock.cjs.prod.js +32 -32
  242. package/TestConfig/dist/effect-TestConfig.cjs.dev.js +3 -3
  243. package/TestConfig/dist/effect-TestConfig.cjs.prod.js +3 -3
  244. package/TestContext/dist/effect-TestContext.cjs.dev.js +34 -36
  245. package/TestContext/dist/effect-TestContext.cjs.prod.js +34 -36
  246. package/TestLive/dist/effect-TestLive.cjs.dev.js +14 -14
  247. package/TestLive/dist/effect-TestLive.cjs.prod.js +14 -14
  248. package/TestServices/dist/effect-TestServices.cjs.dev.js +40 -42
  249. package/TestServices/dist/effect-TestServices.cjs.prod.js +40 -42
  250. package/TestSized/dist/effect-TestSized.cjs.dev.js +8 -8
  251. package/TestSized/dist/effect-TestSized.cjs.prod.js +8 -8
  252. package/Tracer/dist/effect-Tracer.cjs.dev.js +20 -18
  253. package/Tracer/dist/effect-Tracer.cjs.mjs +1 -0
  254. package/Tracer/dist/effect-Tracer.cjs.prod.js +20 -18
  255. package/Tracer/dist/effect-Tracer.esm.js +7 -6
  256. package/dist/{Context-da73ddfa.cjs.dev.js → Context-607e9b4c.cjs.dev.js} +2 -2
  257. package/dist/{Context-9fe5eb16.cjs.prod.js → Context-c91d8ca0.cjs.prod.js} +2 -2
  258. package/dist/{Either-d43f082c.cjs.prod.js → Either-a3f96c60.cjs.prod.js} +2 -2
  259. package/dist/{Either-fa0ef1d9.cjs.dev.js → Either-e7500e90.cjs.dev.js} +2 -2
  260. package/dist/{Option-463b42e6.cjs.dev.js → Option-01caa9d4.cjs.dev.js} +1 -1
  261. package/dist/{Option-935e5d7c.cjs.prod.js → Option-dd52e82a.cjs.prod.js} +1 -1
  262. package/dist/{Ref-4014b526.cjs.prod.js → Ref-23b67ad9.cjs.prod.js} +1 -1
  263. package/dist/{Ref-acdee7ef.cjs.dev.js → Ref-c75b5362.cjs.dev.js} +1 -1
  264. package/dist/{cache-5c7d77e4.cjs.prod.js → cache-7b144c1f.cjs.prod.js} +5 -5
  265. package/dist/{cache-7eed9d33.cjs.dev.js → cache-e3d6cc01.cjs.dev.js} +5 -5
  266. package/dist/{circular-9e10a5a7.cjs.prod.js → circular-105d525c.cjs.prod.js} +8 -9
  267. package/dist/{circular-1f481ffb.cjs.prod.js → circular-3761aff7.cjs.prod.js} +7 -7
  268. package/dist/{circular-c2dbce1a.cjs.dev.js → circular-8baf0205.cjs.dev.js} +7 -7
  269. package/dist/{circular-c8b65bdb.cjs.dev.js → circular-cbfc1699.cjs.dev.js} +8 -9
  270. package/dist/{config-5ba54da1.cjs.prod.js → config-6a5f97fe.cjs.prod.js} +3 -3
  271. package/dist/{config-3b7935a3.cjs.dev.js → config-887520b4.cjs.dev.js} +3 -3
  272. package/dist/{configProvider-b6b20998.cjs.prod.js → configProvider-098f7113.cjs.prod.js} +4 -4
  273. package/dist/{configProvider-f34a82f1.cjs.dev.js → configProvider-8567470d.cjs.dev.js} +4 -4
  274. package/dist/{core-b7401357.cjs.dev.js → core-6815193e.cjs.dev.js} +5 -4
  275. package/dist/{core-84e608f0.cjs.prod.js → core-8072a539.cjs.prod.js} +3 -3
  276. package/dist/{core-07202cc0.cjs.prod.js → core-84667e8d.cjs.prod.js} +5 -4
  277. package/dist/{core-c01fd1d8.cjs.dev.js → core-e6f9fdbe.cjs.dev.js} +3 -3
  278. package/dist/{core-effect-9201ea63.cjs.prod.js → core-effect-520abd3d.cjs.prod.js} +8 -8
  279. package/dist/{core-effect-1c564d42.cjs.dev.js → core-effect-5700daea.cjs.dev.js} +8 -8
  280. package/dist/{dataSource-b5eda714.cjs.dev.js → dataSource-0ca8ef42.cjs.dev.js} +2 -2
  281. package/dist/{dataSource-b83bc277.cjs.prod.js → dataSource-17adc342.cjs.prod.js} +2 -2
  282. package/dist/declarations/src/{Bigint.d.ts → BigInt.d.ts} +27 -27
  283. package/dist/declarations/src/{Bigint.d.ts.map → BigInt.d.ts.map} +1 -1
  284. package/dist/declarations/src/Channel.d.ts +11 -2
  285. package/dist/declarations/src/Channel.d.ts.map +1 -1
  286. package/dist/declarations/src/Chunk.d.ts +11 -1
  287. package/dist/declarations/src/Chunk.d.ts.map +1 -1
  288. package/dist/declarations/src/Data.d.ts +6 -7
  289. package/dist/declarations/src/Data.d.ts.map +1 -1
  290. package/dist/declarations/src/Effect.d.ts +67 -102
  291. package/dist/declarations/src/Effect.d.ts.map +1 -1
  292. package/dist/declarations/src/Either.d.ts +16 -0
  293. package/dist/declarations/src/Either.d.ts.map +1 -1
  294. package/dist/declarations/src/FiberRef.d.ts +2 -2
  295. package/dist/declarations/src/FiberRef.d.ts.map +1 -1
  296. package/dist/declarations/src/HashMap.d.ts +30 -0
  297. package/dist/declarations/src/HashMap.d.ts.map +1 -1
  298. package/dist/declarations/src/Layer.d.ts +98 -3
  299. package/dist/declarations/src/Layer.d.ts.map +1 -1
  300. package/dist/declarations/src/List.d.ts +8 -0
  301. package/dist/declarations/src/List.d.ts.map +1 -1
  302. package/dist/declarations/src/Logger.d.ts +2 -7
  303. package/dist/declarations/src/Logger.d.ts.map +1 -1
  304. package/dist/declarations/src/Match.d.ts +420 -0
  305. package/dist/declarations/src/Match.d.ts.map +1 -0
  306. package/dist/declarations/src/Metric.d.ts +88 -6
  307. package/dist/declarations/src/Metric.d.ts.map +1 -1
  308. package/dist/declarations/src/Predicate.d.ts +4 -4
  309. package/dist/declarations/src/Stream.d.ts +4 -2
  310. package/dist/declarations/src/Stream.d.ts.map +1 -1
  311. package/dist/declarations/src/TRef.d.ts.map +1 -1
  312. package/dist/declarations/src/Tracer.d.ts +17 -10
  313. package/dist/declarations/src/Tracer.d.ts.map +1 -1
  314. package/dist/declarations/src/index.d.ts +5 -1
  315. package/dist/declarations/src/index.d.ts.map +1 -1
  316. package/dist/{defaultServices-755d5b46.cjs.dev.js → defaultServices-193b11dc.cjs.dev.js} +15 -4
  317. package/dist/{defaultServices-9d7ce86f.cjs.prod.js → defaultServices-4c3bf140.cjs.prod.js} +15 -4
  318. package/dist/effect.cjs.dev.js +6 -3
  319. package/dist/effect.cjs.mjs +2 -1
  320. package/dist/effect.cjs.prod.js +6 -3
  321. package/dist/effect.esm.js +4 -2
  322. package/dist/{fiber-9519d109.cjs.prod.js → fiber-a1a5e429.cjs.prod.js} +3 -3
  323. package/dist/{fiber-5156eff2.cjs.dev.js → fiber-cbdeec72.cjs.dev.js} +3 -3
  324. package/dist/{fiberRefs-98b71233.cjs.dev.js → fiberRefs-8d2401f9.cjs.dev.js} +1 -1
  325. package/dist/{fiberRefs-558c17e6.cjs.prod.js → fiberRefs-f631451c.cjs.prod.js} +1 -1
  326. package/dist/{fiberRuntime-31ae011f.cjs.prod.js → fiberRuntime-4691f31b.cjs.prod.js} +27 -23
  327. package/dist/{fiberRuntime-d3872282.cjs.dev.js → fiberRuntime-7cb6cd44.cjs.dev.js} +27 -23
  328. package/dist/{groupBy-70c6dc0d.cjs.dev.js → groupBy-239a6e6e.cjs.dev.js} +10 -7
  329. package/dist/{groupBy-5fb5d639.cjs.prod.js → groupBy-5174c302.cjs.prod.js} +10 -7
  330. package/dist/{hook-8cefc909.cjs.dev.js → hook-8e8bee6a.cjs.dev.js} +1 -1
  331. package/dist/{hook-98ce30e4.cjs.prod.js → hook-c2815d51.cjs.prod.js} +1 -1
  332. package/dist/{key-198b6670.cjs.dev.js → key-2d4efb00.cjs.dev.js} +2 -2
  333. package/dist/{key-eb8a12b2.cjs.prod.js → key-9b2f3322.cjs.prod.js} +2 -2
  334. package/dist/{layer-29574350.cjs.dev.js → layer-961b15ae.cjs.dev.js} +15 -10
  335. package/dist/{layer-51ff4846.cjs.prod.js → layer-d1c204db.cjs.prod.js} +15 -10
  336. package/dist/{patch-7c559bb2.cjs.prod.js → patch-1771b466.cjs.prod.js} +1 -1
  337. package/dist/{patch-0220a642.cjs.dev.js → patch-32cc7202.cjs.dev.js} +1 -1
  338. package/dist/{pathPatch-b56a4da2.cjs.prod.js → pathPatch-312bd492.cjs.prod.js} +1 -1
  339. package/dist/{pathPatch-fab016f1.cjs.dev.js → pathPatch-45b09159.cjs.dev.js} +1 -1
  340. package/dist/{pool-59df8b4d.cjs.dev.js → pool-3890e6ce.cjs.dev.js} +5 -5
  341. package/dist/{pool-042cc42b.cjs.prod.js → pool-f178fcc7.cjs.prod.js} +5 -5
  342. package/dist/{query-c36decd5.cjs.dev.js → query-39c40fa6.cjs.dev.js} +3 -3
  343. package/dist/{query-a52b25f0.cjs.prod.js → query-a6b58e39.cjs.prod.js} +3 -3
  344. package/dist/{queue-e4c59627.cjs.dev.js → queue-4c4bdc04.cjs.dev.js} +2 -2
  345. package/dist/{queue-425b92f6.cjs.prod.js → queue-5342a8d5.cjs.prod.js} +2 -2
  346. package/dist/{registry-d5258dff.cjs.prod.js → registry-6fbdb4e3.cjs.prod.js} +2 -2
  347. package/dist/{registry-62ff192e.cjs.dev.js → registry-ec8b84a2.cjs.dev.js} +2 -2
  348. package/dist/{runtime-005f8a9b.cjs.prod.js → runtime-3295bc3c.cjs.prod.js} +6 -6
  349. package/dist/{runtime-57c8ddf8.cjs.dev.js → runtime-43b9e2bb.cjs.dev.js} +6 -6
  350. package/dist/{schedule-8cdf6bf1.cjs.prod.js → schedule-6431754b.cjs.prod.js} +3 -3
  351. package/dist/{schedule-e7a9f93f.cjs.dev.js → schedule-a4be407d.cjs.dev.js} +3 -3
  352. package/dist/{scopedRef-789d7fef.cjs.prod.js → scopedRef-7c2bf3f3.cjs.prod.js} +6 -6
  353. package/dist/{scopedRef-eb19c7a6.cjs.dev.js → scopedRef-9032002a.cjs.dev.js} +6 -6
  354. package/dist/{singleProducerAsyncInput-9ff8389b.cjs.dev.js → singleProducerAsyncInput-82e5c80c.cjs.dev.js} +1 -1
  355. package/dist/{singleProducerAsyncInput-f9b258b1.cjs.prod.js → singleProducerAsyncInput-879852ad.cjs.prod.js} +1 -1
  356. package/dist/{sink-b2fcb569.cjs.prod.js → sink-95371737.cjs.prod.js} +17 -19
  357. package/dist/{sink-17e02d40.cjs.dev.js → sink-e4280f95.cjs.dev.js} +17 -19
  358. package/dist/{stm-5264610b.cjs.dev.js → stm-4bf1a928.cjs.dev.js} +3 -3
  359. package/dist/{stm-9dd6be88.cjs.prod.js → stm-f792171c.cjs.prod.js} +3 -3
  360. package/dist/{stream-c9c522f2.cjs.prod.js → stream-254329d0.cjs.prod.js} +17 -13
  361. package/dist/{stream-5e2ed3a9.cjs.dev.js → stream-c498ce8a.cjs.dev.js} +17 -13
  362. package/dist/{synchronizedRef-ed8aa6ac.cjs.prod.js → synchronizedRef-5420532c.cjs.prod.js} +1 -1
  363. package/dist/{synchronizedRef-a12fd967.cjs.dev.js → synchronizedRef-cfe99d53.cjs.dev.js} +1 -1
  364. package/dist/{tArray-cac66af4.cjs.prod.js → tArray-7f227674.cjs.prod.js} +3 -3
  365. package/dist/{tArray-77a2ae3c.cjs.dev.js → tArray-996f4aba.cjs.dev.js} +3 -3
  366. package/dist/{tMap-5ac8ec9c.cjs.prod.js → tMap-811797bf.cjs.prod.js} +4 -4
  367. package/dist/{tMap-73bbf062.cjs.dev.js → tMap-b9665a82.cjs.dev.js} +4 -4
  368. package/dist/{tQueue-2b1cd0c4.cjs.dev.js → tQueue-0c15312e.cjs.dev.js} +3 -3
  369. package/dist/{tQueue-dded9b2d.cjs.prod.js → tQueue-8a6a0244.cjs.prod.js} +3 -3
  370. package/dist/{tRef-73c3549e.cjs.prod.js → tRef-2892ee02.cjs.prod.js} +1 -1
  371. package/dist/{tRef-90f0872b.cjs.dev.js → tRef-44d17d07.cjs.dev.js} +1 -1
  372. package/internal/cause.esm.js +2 -1
  373. package/internal/channel.esm.js +28 -30
  374. package/internal/core-effect.esm.js +1 -1
  375. package/internal/core-stream.esm.js +1 -1
  376. package/internal/fiberRuntime.esm.js +27 -23
  377. package/internal/groupBy.esm.js +8 -5
  378. package/internal/layer/circular.esm.js +5 -6
  379. package/internal/layer.esm.js +9 -5
  380. package/internal/logger.esm.js +3 -3
  381. package/internal/matcher.esm.js +314 -0
  382. package/internal/sink.esm.js +11 -11
  383. package/internal/stream.esm.js +15 -12
  384. package/internal/tracer.esm.js +14 -4
  385. package/package.json +25 -16
  386. package/src/{Bigint.ts → BigInt.ts} +26 -26
  387. package/src/Channel.ts +14 -2
  388. package/src/Chunk.ts +12 -1
  389. package/src/Data.ts +33 -21
  390. package/src/Duration.ts +2 -2
  391. package/src/Effect.ts +84 -151
  392. package/src/Either.ts +33 -0
  393. package/src/FiberRef.ts +2 -3
  394. package/src/HashMap.ts +30 -0
  395. package/src/Layer.ts +157 -3
  396. package/src/List.ts +9 -0
  397. package/src/Logger.ts +2 -8
  398. package/src/Match.ts +800 -0
  399. package/src/Metric.ts +88 -6
  400. package/src/Predicate.ts +4 -4
  401. package/src/Stream.ts +4 -2
  402. package/src/TRef.ts +1 -1
  403. package/src/Tracer.ts +18 -9
  404. package/src/index.ts +6 -1
  405. package/src/internal/cause.ts +1 -1
  406. package/src/internal/channel.ts +89 -94
  407. package/src/internal/core-effect.ts +27 -22
  408. package/src/internal/core.ts +5 -7
  409. package/src/internal/fiberRuntime.ts +39 -13
  410. package/src/internal/groupBy.ts +7 -3
  411. package/src/internal/layer/circular.ts +21 -6
  412. package/src/internal/layer.ts +20 -4
  413. package/src/internal/logger.ts +4 -4
  414. package/src/internal/matcher.ts +594 -0
  415. package/src/internal/stream.ts +17 -12
  416. package/src/internal/tracer.ts +28 -5
  417. package/src/tsconfig.json +49 -0
  418. package/Bigint/dist/effect-Bigint.cjs.d.mts +0 -2
  419. package/Bigint/dist/effect-Bigint.cjs.d.mts.map +0 -1
  420. package/Bigint/dist/effect-Bigint.cjs.d.ts +0 -2
  421. package/Bigint/dist/effect-Bigint.cjs.d.ts.map +0 -1
  422. package/Bigint/dist/effect-Bigint.cjs.js +0 -7
  423. package/Bigint/package.json +0 -4
  424. /package/dist/{Effectable-c4c14a2b.cjs.prod.js → Effectable-6a8a05f1.cjs.prod.js} +0 -0
  425. /package/dist/{Effectable-7314aed8.cjs.dev.js → Effectable-71c10ab9.cjs.dev.js} +0 -0
  426. /package/dist/{FiberId-1d7ac632.cjs.prod.js → FiberId-54d8bd67.cjs.prod.js} +0 -0
  427. /package/dist/{FiberId-d88ddce6.cjs.dev.js → FiberId-6708cdca.cjs.dev.js} +0 -0
  428. /package/dist/{HashSet-ac02a3e1.cjs.prod.js → HashSet-86613304.cjs.prod.js} +0 -0
  429. /package/dist/{HashSet-5963ad6b.cjs.dev.js → HashSet-dd020cb0.cjs.dev.js} +0 -0
  430. /package/dist/{RuntimeFlagsPatch-866fa259.cjs.prod.js → RuntimeFlagsPatch-35ed8dee.cjs.prod.js} +0 -0
  431. /package/dist/{RuntimeFlagsPatch-69102b03.cjs.dev.js → RuntimeFlagsPatch-9cbc441d.cjs.dev.js} +0 -0
  432. /package/dist/{boundaries-9af538e3.cjs.prod.js → boundaries-26f0dc82.cjs.prod.js} +0 -0
  433. /package/dist/{boundaries-f212e414.cjs.dev.js → boundaries-6eea221f.cjs.dev.js} +0 -0
  434. /package/dist/{configError-b43723af.cjs.prod.js → configError-856c7153.cjs.prod.js} +0 -0
  435. /package/dist/{configError-d5efe9c0.cjs.dev.js → configError-a824b415.cjs.dev.js} +0 -0
  436. /package/dist/{configSecret-3e8ae336.cjs.dev.js → configSecret-23cf1a3f.cjs.dev.js} +0 -0
  437. /package/dist/{configSecret-e2faa181.cjs.prod.js → configSecret-663cfb59.cjs.prod.js} +0 -0
  438. /package/dist/{keyType-0c5e6178.cjs.prod.js → keyType-4ec0b247.cjs.prod.js} +0 -0
  439. /package/dist/{keyType-7c164b82.cjs.dev.js → keyType-f30c9fa4.cjs.dev.js} +0 -0
  440. /package/dist/{label-655343b5.cjs.prod.js → label-a588e6cd.cjs.prod.js} +0 -0
  441. /package/dist/{label-011edbe7.cjs.dev.js → label-b0cebeae.cjs.dev.js} +0 -0
  442. /package/dist/{state-0bdf02b7.cjs.prod.js → state-40d5dc71.cjs.prod.js} +0 -0
  443. /package/dist/{state-931050c4.cjs.dev.js → state-620f7a22.cjs.dev.js} +0 -0
  444. /package/dist/{take-85daaf79.cjs.prod.js → take-981a87eb.cjs.prod.js} +0 -0
  445. /package/dist/{take-f9ef9e2e.cjs.dev.js → take-bfd0a3ed.cjs.dev.js} +0 -0
@@ -22,7 +22,6 @@ import * as metricLabel from "../internal/metric/label"
22
22
  import * as runtimeFlags from "../internal/runtimeFlags"
23
23
  import * as SingleShotGen from "../internal/singleShotGen"
24
24
  import * as List from "../List"
25
- import type * as Logger from "../Logger"
26
25
  import * as LogLevel from "../LogLevel"
27
26
  import * as LogSpan from "../LogSpan"
28
27
  import type * as Metric from "../Metric"
@@ -38,14 +37,14 @@ import * as Tracer from "../Tracer"
38
37
  /* @internal */
39
38
  export const annotateLogs = dual<
40
39
  {
41
- (key: string, value: Logger.AnnotationValue): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
40
+ (key: string, value: unknown): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
42
41
  (
43
- values: Record<string, Logger.AnnotationValue>
42
+ values: Record<string, unknown>
44
43
  ): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
45
44
  },
46
45
  {
47
- <R, E, A>(effect: Effect.Effect<R, E, A>, key: string, value: Logger.AnnotationValue): Effect.Effect<R, E, A>
48
- <R, E, A>(effect: Effect.Effect<R, E, A>, values: Record<string, Logger.AnnotationValue>): Effect.Effect<R, E, A>
46
+ <R, E, A>(effect: Effect.Effect<R, E, A>, key: string, value: unknown): Effect.Effect<R, E, A>
47
+ <R, E, A>(effect: Effect.Effect<R, E, A>, values: Record<string, unknown>): Effect.Effect<R, E, A>
49
48
  }
50
49
  >(
51
50
  (args) => core.isEffect(args[0]),
@@ -57,7 +56,7 @@ export const annotateLogs = dual<
57
56
  typeof args[1] === "string"
58
57
  ? HashMap.set(args[1], args[2])
59
58
  : (annotations) =>
60
- Object.entries(args[1] as Record<string, Logger.AnnotationValue>).reduce(
59
+ Object.entries(args[1] as Record<string, unknown>).reduce(
61
60
  (acc, [key, value]) => HashMap.set(acc, key, value),
62
61
  annotations
63
62
  )
@@ -942,7 +941,7 @@ export const withLogSpan = dual<
942
941
  )))
943
942
 
944
943
  /* @internal */
945
- export const logAnnotations: Effect.Effect<never, never, HashMap.HashMap<string, Logger.AnnotationValue>> = core
944
+ export const logAnnotations: Effect.Effect<never, never, HashMap.HashMap<string, unknown>> = core
946
945
  .fiberRefGet(
947
946
  core.currentLogAnnotations
948
947
  )
@@ -1897,8 +1896,8 @@ export const serviceMembers = <I, S>(tag: Context.Tag<I, S>): {
1897
1896
 
1898
1897
  /* @internal */
1899
1898
  export const annotateCurrentSpan: {
1900
- (key: string, value: Tracer.AttributeValue): Effect.Effect<never, never, void>
1901
- (values: Record<string, Tracer.AttributeValue>): Effect.Effect<never, never, void>
1899
+ (key: string, value: unknown): Effect.Effect<never, never, void>
1900
+ (values: Record<string, unknown>): Effect.Effect<never, never, void>
1902
1901
  } = function(): Effect.Effect<never, never, void> {
1903
1902
  const args = arguments
1904
1903
  return core.flatMap(
@@ -1921,14 +1920,14 @@ export const annotateCurrentSpan: {
1921
1920
  /* @internal */
1922
1921
  export const annotateSpans = dual<
1923
1922
  {
1924
- (key: string, value: Tracer.AttributeValue): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
1923
+ (key: string, value: unknown): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
1925
1924
  (
1926
- values: Record<string, Tracer.AttributeValue>
1925
+ values: Record<string, unknown>
1927
1926
  ): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>
1928
1927
  },
1929
1928
  {
1930
- <R, E, A>(effect: Effect.Effect<R, E, A>, key: string, value: Tracer.AttributeValue): Effect.Effect<R, E, A>
1931
- <R, E, A>(effect: Effect.Effect<R, E, A>, values: Record<string, Tracer.AttributeValue>): Effect.Effect<R, E, A>
1929
+ <R, E, A>(effect: Effect.Effect<R, E, A>, key: string, value: unknown): Effect.Effect<R, E, A>
1930
+ <R, E, A>(effect: Effect.Effect<R, E, A>, values: Record<string, unknown>): Effect.Effect<R, E, A>
1932
1931
  }
1933
1932
  >(
1934
1933
  (args) => core.isEffect(args[0]),
@@ -1940,7 +1939,7 @@ export const annotateSpans = dual<
1940
1939
  typeof args[1] === "string"
1941
1940
  ? HashMap.set(args[1], args[2])
1942
1941
  : (annotations) =>
1943
- Object.entries(args[1] as Record<string, Tracer.AttributeValue>).reduce(
1942
+ Object.entries(args[1] as Record<string, unknown>).reduce(
1944
1943
  (acc, [key, value]) => HashMap.set(acc, key, value),
1945
1944
  annotations
1946
1945
  )
@@ -1971,12 +1970,12 @@ export const currentTimeNanosTracing = core.fiberRefGetWith(
1971
1970
  export const linkSpans = dual<
1972
1971
  (
1973
1972
  span: Tracer.ParentSpan,
1974
- attributes?: Record<string, Tracer.AttributeValue>
1973
+ attributes?: Record<string, unknown>
1975
1974
  ) => <R, E, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>,
1976
1975
  <R, E, A>(
1977
1976
  self: Effect.Effect<R, E, A>,
1978
1977
  span: Tracer.ParentSpan,
1979
- attributes?: Record<string, Tracer.AttributeValue>
1978
+ attributes?: Record<string, unknown>
1980
1979
  ) => Effect.Effect<R, E, A>
1981
1980
  >(
1982
1981
  (args) => core.isEffect(args[0]),
@@ -1998,10 +1997,11 @@ export const linkSpans = dual<
1998
1997
  export const makeSpan = (
1999
1998
  name: string,
2000
1999
  options?: {
2001
- readonly attributes?: Record<string, Tracer.AttributeValue>
2000
+ readonly attributes?: Record<string, unknown>
2002
2001
  readonly links?: ReadonlyArray<Tracer.SpanLink>
2003
2002
  readonly parent?: Tracer.ParentSpan
2004
2003
  readonly root?: boolean
2004
+ readonly sampled?: boolean
2005
2005
  readonly context?: Context.Context<never>
2006
2006
  }
2007
2007
  ) =>
@@ -2031,6 +2031,7 @@ export const makeSpan = (
2031
2031
  parent,
2032
2032
  options?.context ?? Context.empty(),
2033
2033
  linksArray,
2034
+ options?.sampled ?? (parent._tag === "Some" ? parent.value.sampled : true),
2034
2035
  startTime
2035
2036
  )
2036
2037
  HashMap.forEach(annotations, (value, key) => span.attribute(key, value))
@@ -2044,7 +2045,7 @@ export const makeSpan = (
2044
2045
  )
2045
2046
 
2046
2047
  /* @internal */
2047
- export const spanAnnotations: Effect.Effect<never, never, HashMap.HashMap<string, Tracer.AttributeValue>> = core
2048
+ export const spanAnnotations: Effect.Effect<never, never, HashMap.HashMap<string, unknown>> = core
2048
2049
  .fiberRefGet(core.currentTracerSpanAnnotations)
2049
2050
 
2050
2051
  /* @internal */
@@ -2055,10 +2056,11 @@ export const spanLinks: Effect.Effect<never, never, Chunk.Chunk<Tracer.SpanLink>
2055
2056
  export const useSpan: {
2056
2057
  <R, E, A>(name: string, evaluate: (span: Tracer.Span) => Effect.Effect<R, E, A>): Effect.Effect<R, E, A>
2057
2058
  <R, E, A>(name: string, options: {
2058
- readonly attributes?: Record<string, Tracer.AttributeValue>
2059
+ readonly attributes?: Record<string, unknown>
2059
2060
  readonly links?: ReadonlyArray<Tracer.SpanLink>
2060
2061
  readonly parent?: Tracer.ParentSpan
2061
2062
  readonly root?: boolean
2063
+ readonly sampled?: boolean
2062
2064
  readonly context?: Context.Context<never>
2063
2065
  }, evaluate: (span: Tracer.Span) => Effect.Effect<R, E, A>): Effect.Effect<R, E, A>
2064
2066
  } = <R, E, A>(
@@ -2069,10 +2071,11 @@ export const useSpan: {
2069
2071
  ]
2070
2072
  ) => {
2071
2073
  const options: {
2072
- readonly attributes?: Record<string, Tracer.AttributeValue>
2074
+ readonly attributes?: Record<string, unknown>
2073
2075
  readonly links?: ReadonlyArray<Tracer.SpanLink>
2074
2076
  readonly parent?: Tracer.ParentSpan
2075
2077
  readonly root?: boolean
2078
+ readonly sampled?: boolean
2076
2079
  readonly context?: Context.Context<never>
2077
2080
  } | undefined = args.length === 1 ? undefined : args[0]
2078
2081
  const evaluate: (span: Tracer.Span) => Effect.Effect<R, E, A> = args[args.length - 1]
@@ -2102,17 +2105,19 @@ export const withParentSpan = dual<
2102
2105
  /** @internal */
2103
2106
  export const withSpan = dual<
2104
2107
  (name: string, options?: {
2105
- readonly attributes?: Record<string, Tracer.AttributeValue>
2108
+ readonly attributes?: Record<string, unknown>
2106
2109
  readonly links?: ReadonlyArray<Tracer.SpanLink>
2107
2110
  readonly parent?: Tracer.ParentSpan
2108
2111
  readonly root?: boolean
2112
+ readonly sampled?: boolean
2109
2113
  readonly context?: Context.Context<never>
2110
2114
  }) => <R, E, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>,
2111
2115
  <R, E, A>(self: Effect.Effect<R, E, A>, name: string, options?: {
2112
- readonly attributes?: Record<string, Tracer.AttributeValue>
2116
+ readonly attributes?: Record<string, unknown>
2113
2117
  readonly links?: ReadonlyArray<Tracer.SpanLink>
2114
2118
  readonly parent?: Tracer.ParentSpan
2115
2119
  readonly root?: boolean
2120
+ readonly sampled?: boolean
2116
2121
  readonly context?: Context.Context<never>
2117
2122
  }) => Effect.Effect<R, E, A>
2118
2123
  >(
@@ -28,7 +28,6 @@ import * as DeferredOpCodes from "../internal/opCodes/deferred"
28
28
  import * as OpCodes from "../internal/opCodes/effect"
29
29
  import * as _runtimeFlags from "../internal/runtimeFlags"
30
30
  import * as List from "../List"
31
- import type * as Logger from "../Logger"
32
31
  import type * as LogLevel from "../LogLevel"
33
32
  import type * as LogSpan from "../LogSpan"
34
33
  import type * as MetricLabel from "../MetricLabel"
@@ -1846,7 +1845,7 @@ export const currentMaxOpsBeforeYield: FiberRef.FiberRef<number> = globalValue(
1846
1845
  )
1847
1846
 
1848
1847
  /** @internal */
1849
- export const currentLogAnnotations: FiberRef.FiberRef<HashMap.HashMap<string, Logger.AnnotationValue>> = globalValue(
1848
+ export const currentLogAnnotations: FiberRef.FiberRef<HashMap.HashMap<string, unknown>> = globalValue(
1850
1849
  Symbol.for("effect/FiberRef/currentLogAnnotation"),
1851
1850
  () => fiberRefUnsafeMake(HashMap.empty())
1852
1851
  )
@@ -1945,11 +1944,10 @@ export const currentTracerTimingEnabled: FiberRef.FiberRef<boolean> = globalValu
1945
1944
  )
1946
1945
 
1947
1946
  /** @internal */
1948
- export const currentTracerSpanAnnotations: FiberRef.FiberRef<HashMap.HashMap<string, Tracer.AttributeValue>> =
1949
- globalValue(
1950
- Symbol.for("effect/FiberRef/currentTracerSpanAnnotations"),
1951
- () => fiberRefUnsafeMake(HashMap.empty())
1952
- )
1947
+ export const currentTracerSpanAnnotations: FiberRef.FiberRef<HashMap.HashMap<string, unknown>> = globalValue(
1948
+ Symbol.for("effect/FiberRef/currentTracerSpanAnnotations"),
1949
+ () => fiberRefUnsafeMake(HashMap.empty())
1950
+ )
1953
1951
 
1954
1952
  /** @internal */
1955
1953
  export const currentTracerSpanLinks: FiberRef.FiberRef<Chunk.Chunk<Tracer.SpanLink>> = globalValue(
@@ -17,6 +17,7 @@ import * as FiberRefsPatch from "../FiberRefsPatch"
17
17
  import * as FiberStatus from "../FiberStatus"
18
18
  import type { LazyArg } from "../Function"
19
19
  import { dual, identity, pipe } from "../Function"
20
+ import * as HashMap from "../HashMap"
20
21
  import * as HashSet from "../HashSet"
21
22
  import * as _RequestBlock from "../internal/blockedRequests"
22
23
  import * as internalCause from "../internal/cause"
@@ -1382,7 +1383,7 @@ export const tracerLogger = internalLogger.makeLogger<unknown, void>(({
1382
1383
  return
1383
1384
  }
1384
1385
 
1385
- const attributes = Object.fromEntries(annotations)
1386
+ const attributes = Object.fromEntries(HashMap.map(annotations, (value) => internalLogger.serializeUnknown(value)))
1386
1387
  attributes["effect.fiberId"] = FiberId.threadName(fiberId)
1387
1388
  attributes["effect.logLevel"] = logLevel.label
1388
1389
 
@@ -3429,13 +3430,14 @@ export const interruptWhenPossible = dual<
3429
3430
  // circular Tracer
3430
3431
 
3431
3432
  /** @internal */
3432
- export const useSpanScoped = (
3433
+ export const makeSpanScoped = (
3433
3434
  name: string,
3434
3435
  options?: {
3435
- readonly attributes?: Record<string, Tracer.AttributeValue>
3436
+ readonly attributes?: Record<string, unknown>
3436
3437
  readonly links?: ReadonlyArray<Tracer.SpanLink>
3437
3438
  readonly parent?: Tracer.ParentSpan
3438
3439
  readonly root?: boolean
3440
+ readonly sampled?: boolean
3439
3441
  readonly context?: Context.Context<never>
3440
3442
  }
3441
3443
  ): Effect.Effect<Scope.Scope, never, Tracer.Span> =>
@@ -3449,23 +3451,20 @@ export const useSpanScoped = (
3449
3451
  )
3450
3452
 
3451
3453
  /* @internal */
3452
- export const withSpanScoped = (
3454
+ export const setSpan = (
3453
3455
  name: string,
3454
3456
  options?: {
3455
- readonly attributes?: Record<string, Tracer.AttributeValue>
3457
+ readonly attributes?: Record<string, unknown>
3456
3458
  readonly links?: ReadonlyArray<Tracer.SpanLink>
3457
3459
  readonly parent?: Tracer.ParentSpan
3458
3460
  readonly root?: boolean
3461
+ readonly sampled?: boolean
3459
3462
  readonly context?: Context.Context<never>
3460
3463
  }
3461
3464
  ): Effect.Effect<Scope.Scope, never, void> =>
3462
- core.flatMap(
3463
- useSpanScoped(name, options),
3464
- (span) =>
3465
- fiberRefLocallyScopedWith(
3466
- core.currentTracerSpan,
3467
- List.prepend(span)
3468
- )
3465
+ core.tap(
3466
+ makeSpanScoped(name, options),
3467
+ (span) => setParentSpan(span)
3469
3468
  )
3470
3469
 
3471
3470
  /* @internal */
@@ -3473,5 +3472,32 @@ export const withTracerScoped = (value: Tracer.Tracer): Effect.Effect<Scope.Scop
3473
3472
  fiberRefLocallyScopedWith(defaultServices.currentServices, Context.add(tracer.tracerTag, value))
3474
3473
 
3475
3474
  /* @internal */
3476
- export const withParentSpanScoped = (span: Tracer.ParentSpan): Effect.Effect<Scope.Scope, never, void> =>
3475
+ export const setParentSpan = (span: Tracer.ParentSpan): Effect.Effect<Scope.Scope, never, void> =>
3477
3476
  fiberRefLocallyScopedWith(core.currentTracerSpan, List.prepend(span))
3477
+
3478
+ /** @internal */
3479
+ export const withSpanScoped = dual<
3480
+ (name: string, options?: {
3481
+ readonly attributes?: Record<string, unknown>
3482
+ readonly links?: ReadonlyArray<Tracer.SpanLink>
3483
+ readonly parent?: Tracer.ParentSpan
3484
+ readonly root?: boolean
3485
+ readonly sampled?: boolean
3486
+ readonly context?: Context.Context<never>
3487
+ }) => <R, E, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R | Scope.Scope, E, A>,
3488
+ <R, E, A>(self: Effect.Effect<R, E, A>, name: string, options?: {
3489
+ readonly attributes?: Record<string, unknown>
3490
+ readonly links?: ReadonlyArray<Tracer.SpanLink>
3491
+ readonly parent?: Tracer.ParentSpan
3492
+ readonly root?: boolean
3493
+ readonly sampled?: boolean
3494
+ readonly context?: Context.Context<never>
3495
+ }) => Effect.Effect<R | Scope.Scope, E, A>
3496
+ >(
3497
+ (args) => typeof args[0] !== "string",
3498
+ (self, name, options) =>
3499
+ core.flatMap(
3500
+ makeSpanScoped(name, options),
3501
+ (span) => core.fiberRefLocallyWith(self, core.currentTracerSpan, List.prepend(span))
3502
+ )
3503
+ )
@@ -35,6 +35,10 @@ const groupByVariance = {
35
35
  _V: (_: never) => _
36
36
  }
37
37
 
38
+ /** @internal */
39
+ export const isGroupBy = (u: unknown): u is GroupBy.GroupBy<unknown, unknown, unknown, unknown> =>
40
+ typeof u === "object" && u != null && GroupByTypeId in u
41
+
38
42
  /** @internal */
39
43
  export const evaluate = dual<
40
44
  <K, E, V, R2, E2, A>(
@@ -47,7 +51,7 @@ export const evaluate = dual<
47
51
  options?: { readonly bufferSize?: number }
48
52
  ) => Stream.Stream<R2 | R, E | E2, A>
49
53
  >(
50
- 3,
54
+ (args) => isGroupBy(args[0]),
51
55
  <R, K, E, V, R2, E2, A>(
52
56
  self: GroupBy.GroupBy<R, E, K, V>,
53
57
  f: (key: K, stream: Stream.Stream<never, E, V>) => Stream.Stream<R2, E2, A>,
@@ -122,7 +126,7 @@ export const groupBy = dual<
122
126
  options?: { readonly bufferSize?: number }
123
127
  ) => GroupBy.GroupBy<R2 | R, E2 | E, K, V>
124
128
  >(
125
- (args) => typeof args[0] !== "function",
129
+ (args) => stream.isStream(args[0]),
126
130
  <R, E, A, R2, E2, K, V>(
127
131
  self: Stream.Stream<R, E, A>,
128
132
  f: (a: A) => Effect.Effect<R2, E2, readonly [K, V]>,
@@ -240,7 +244,7 @@ export const mapEffectOptions = dual<
240
244
  if (options?.key) {
241
245
  return evaluate(
242
246
  groupByKey(self, options.key, { bufferSize: options.bufferSize }),
243
- (_, s) => pipe(s, stream.mapEffectSequential(f))
247
+ (_, s) => stream.mapEffectSequential(s, f)
244
248
  )
245
249
  }
246
250
 
@@ -1,6 +1,7 @@
1
1
  import type * as ConfigProvider from "../../ConfigProvider"
2
2
  import type * as Context from "../../Context"
3
3
  import type * as Effect from "../../Effect"
4
+ import type * as Exit from "../../Exit"
4
5
  import { dual } from "../../Function"
5
6
  import * as HashSet from "../../HashSet"
6
7
  import * as core from "../../internal/core"
@@ -9,7 +10,7 @@ import * as layer from "../../internal/layer"
9
10
  import * as runtimeFlags from "../../internal/runtimeFlags"
10
11
  import * as runtimeFlagsPatch from "../../internal/runtimeFlagsPatch"
11
12
  import * as _supervisor from "../../internal/supervisor"
12
- import * as Layer from "../../Layer"
13
+ import type * as Layer from "../../Layer"
13
14
  import type * as Logger from "../../Logger"
14
15
  import type * as LogLevel from "../../LogLevel"
15
16
  import type { Scope } from "../../Scope"
@@ -50,7 +51,7 @@ export const addLogger = <A>(logger: Logger.Logger<unknown, A>): Layer.Layer<nev
50
51
  export const addLoggerEffect = <R, E, A>(
51
52
  effect: Effect.Effect<R, E, Logger.Logger<unknown, A>>
52
53
  ): Layer.Layer<R, E, never> =>
53
- Layer.unwrapEffect(
54
+ layer.unwrapEffect(
54
55
  core.map(effect, addLogger)
55
56
  )
56
57
 
@@ -58,7 +59,7 @@ export const addLoggerEffect = <R, E, A>(
58
59
  export const addLoggerScoped = <R, E, A>(
59
60
  effect: Effect.Effect<R, E, Logger.Logger<unknown, A>>
60
61
  ): Layer.Layer<Exclude<R, Scope>, E, never> =>
61
- Layer.unwrapScoped(
62
+ layer.unwrapScoped(
62
63
  core.map(effect, addLogger)
63
64
  )
64
65
 
@@ -184,19 +185,33 @@ export const setConfigProvider = (configProvider: ConfigProvider.ConfigProvider)
184
185
 
185
186
  /** @internal */
186
187
  export const setParentSpan = (span: Tracer.ParentSpan): Layer.Layer<never, never, never> =>
187
- layer.scopedDiscard(fiberRuntime.withParentSpanScoped(span))
188
+ layer.scopedDiscard(fiberRuntime.setParentSpan(span))
188
189
 
189
190
  /** @internal */
190
191
  export const setSpan = (
191
192
  name: string,
192
193
  options?: {
193
- readonly attributes?: Record<string, Tracer.AttributeValue>
194
+ readonly attributes?: Record<string, unknown>
194
195
  readonly links?: ReadonlyArray<Tracer.SpanLink>
195
196
  readonly parent?: Tracer.ParentSpan
196
197
  readonly root?: boolean
198
+ readonly sampled?: boolean
197
199
  readonly context?: Context.Context<never>
200
+ readonly onEnd?: (span: Tracer.Span, exit: Exit.Exit<unknown, unknown>) => Effect.Effect<never, never, void>
198
201
  }
199
- ): Layer.Layer<never, never, never> => layer.scopedDiscard(fiberRuntime.withSpanScoped(name, options))
202
+ ): Layer.Layer<never, never, never> =>
203
+ layer.scopedDiscard(
204
+ options?.onEnd
205
+ ? core.tap(
206
+ fiberRuntime.makeSpanScoped(name, options),
207
+ (span) =>
208
+ core.zipRight(
209
+ fiberRuntime.addFinalizer((exit) => options.onEnd!(span, exit)),
210
+ fiberRuntime.setParentSpan(span)
211
+ )
212
+ )
213
+ : fiberRuntime.setSpan(name, options)
214
+ )
200
215
 
201
216
  /** @internal */
202
217
  export const setTracer = (tracer: Tracer.Tracer): Layer.Layer<never, never, never> =>
@@ -18,6 +18,7 @@ import * as ref from "../internal/ref"
18
18
  import * as runtime from "../internal/runtime"
19
19
  import * as synchronized from "../internal/synchronizedRef"
20
20
  import type * as Layer from "../Layer"
21
+ import * as List from "../List"
21
22
  import { pipeArguments } from "../Pipeable"
22
23
  import type * as Runtime from "../Runtime"
23
24
  import type * as Schedule from "../Schedule"
@@ -1122,27 +1123,42 @@ export const unwrapScoped = <R, E, R1, E1, A>(
1122
1123
  /** @internal */
1123
1124
  export const withSpan = dual<
1124
1125
  (name: string, options?: {
1125
- readonly attributes?: Record<string, Tracer.AttributeValue>
1126
+ readonly attributes?: Record<string, unknown>
1126
1127
  readonly links?: ReadonlyArray<Tracer.SpanLink>
1127
1128
  readonly parent?: Tracer.ParentSpan
1128
1129
  readonly root?: boolean
1130
+ readonly sampled?: boolean
1129
1131
  readonly context?: Context.Context<never>
1132
+ readonly onEnd?: (span: Tracer.Span, exit: Exit.Exit<unknown, unknown>) => Effect.Effect<never, never, void>
1130
1133
  }) => <R, E, A>(self: Layer.Layer<R, E, A>) => Layer.Layer<R, E, A>,
1131
1134
  <R, E, A>(self: Layer.Layer<R, E, A>, name: string, options?: {
1132
- readonly attributes?: Record<string, Tracer.AttributeValue>
1135
+ readonly attributes?: Record<string, unknown>
1133
1136
  readonly links?: ReadonlyArray<Tracer.SpanLink>
1134
1137
  readonly parent?: Tracer.ParentSpan
1135
1138
  readonly root?: boolean
1139
+ readonly sampled?: boolean
1136
1140
  readonly context?: Context.Context<never>
1141
+ readonly onEnd?: (span: Tracer.Span, exit: Exit.Exit<unknown, unknown>) => Effect.Effect<never, never, void>
1137
1142
  }) => Layer.Layer<R, E, A>
1138
1143
  >((args) => isLayer(args[0]), (self, name, options) =>
1139
1144
  unwrapScoped(
1140
1145
  core.map(
1141
- fiberRuntime.useSpanScoped(name, options),
1142
- (span) => locallyEffect(self, effect.withParentSpan(span))
1146
+ options?.onEnd
1147
+ ? core.tap(
1148
+ fiberRuntime.makeSpanScoped(name, options),
1149
+ (span) => fiberRuntime.addFinalizer((exit) => options.onEnd!(span, exit))
1150
+ )
1151
+ : fiberRuntime.makeSpanScoped(name, options),
1152
+ (span) => withParentSpan(self, span)
1143
1153
  )
1144
1154
  ))
1145
1155
 
1156
+ /** @internal */
1157
+ export const withParentSpan = dual<
1158
+ (span: Tracer.ParentSpan) => <R, E, A>(self: Layer.Layer<R, E, A>) => Layer.Layer<R, E, A>,
1159
+ <R, E, A>(self: Layer.Layer<R, E, A>, span: Tracer.ParentSpan) => Layer.Layer<R, E, A>
1160
+ >(2, (self, span) => fiberRefLocallyWith(self, core.currentTracerSpan, List.prepend(span)))
1161
+
1146
1162
  // circular with Effect
1147
1163
 
1148
1164
  const provideSomeLayer = dual<
@@ -37,7 +37,7 @@ export const makeLogger = <Message, Output>(
37
37
  readonly cause: CauseExt.Cause<unknown>
38
38
  readonly context: FiberRefs.FiberRefs
39
39
  readonly spans: List.List<LogSpan.LogSpan>
40
- readonly annotations: HashMap.HashMap<string, Logger.AnnotationValue>
40
+ readonly annotations: HashMap.HashMap<string, unknown>
41
41
  readonly date: Date
42
42
  }
43
43
  ) => Output
@@ -207,7 +207,7 @@ export const stringLogger: Logger.Logger<unknown, string> = makeLogger<unknown,
207
207
  }
208
208
  output = output + filterKeyName(key)
209
209
  output = output + "="
210
- output = appendQuoted(String(value), output)
210
+ output = appendQuoted(serializeUnknown(value), output)
211
211
  }
212
212
  }
213
213
 
@@ -215,7 +215,7 @@ export const stringLogger: Logger.Logger<unknown, string> = makeLogger<unknown,
215
215
  }
216
216
  )
217
217
 
218
- const serializeUnknown = (u: unknown): string => {
218
+ export const serializeUnknown = (u: unknown): string => {
219
219
  try {
220
220
  return typeof u === "object" ? JSON.stringify(u) : String(u)
221
221
  } catch (_) {
@@ -282,7 +282,7 @@ export const logfmtLogger = makeLogger<unknown, string>(
282
282
  }
283
283
  output = output + filterKeyName(key)
284
284
  output = output + "="
285
- output = appendQuotedLogfmt(String(value), output)
285
+ output = appendQuotedLogfmt(serializeUnknown(value), output)
286
286
  }
287
287
  }
288
288