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.
- package/dist/Array.d.ts +971 -1037
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +462 -412
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +433 -756
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +200 -325
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +207 -267
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +107 -135
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +146 -188
- package/dist/Boolean.d.ts.map +1 -1
- package/dist/Boolean.js +64 -84
- package/dist/Boolean.js.map +1 -1
- package/dist/Brand.js.map +1 -1
- package/dist/Cache.d.ts +405 -254
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +166 -101
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +167 -277
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +122 -176
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +729 -768
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +541 -449
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts +1 -1
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +834 -1173
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +326 -439
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +180 -49
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js +96 -31
- package/dist/Clock.js.map +1 -1
- package/dist/Combiner.d.ts +20 -33
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +18 -30
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +226 -174
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +339 -267
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +194 -68
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +122 -87
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +233 -33
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js +232 -32
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +151 -274
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +171 -214
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +68 -77
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +57 -66
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +13 -15
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +9 -10
- package/dist/Crypto.js.map +1 -1
- package/dist/Data.d.ts +60 -80
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +18 -24
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +562 -660
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +307 -362
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +253 -256
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +104 -96
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +216 -308
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +132 -186
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +2897 -3342
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +1383 -1580
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.js.map +1 -1
- package/dist/Encoding.d.ts +22 -40
- package/dist/Encoding.d.ts.map +1 -1
- package/dist/Encoding.js +22 -40
- package/dist/Encoding.js.map +1 -1
- package/dist/Equal.d.ts +33 -37
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +29 -21
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +103 -105
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +77 -79
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +51 -27
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +50 -26
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +13 -55
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +7 -28
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Exit.d.ts +116 -192
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +82 -130
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +82 -146
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js +48 -87
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +152 -105
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +109 -75
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +213 -168
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +114 -89
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +123 -81
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +85 -59
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +153 -264
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +42 -147
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +61 -33
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +26 -15
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +25 -33
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +48 -49
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +76 -145
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +40 -57
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +360 -714
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +168 -297
- package/dist/Graph.js.map +1 -1
- package/dist/HKT.d.ts +12 -6
- package/dist/HKT.d.ts.map +1 -1
- package/dist/Hash.d.ts +47 -83
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +46 -68
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +319 -411
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +122 -166
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +1 -0
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +177 -284
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js +68 -109
- package/dist/HashSet.js.map +1 -1
- package/dist/Inspectable.d.ts +12 -12
- package/dist/Inspectable.js +8 -8
- package/dist/Inspectable.js.map +1 -1
- package/dist/Iterable.d.ts +620 -786
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +230 -307
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +11 -13
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +46 -103
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +8 -8
- package/dist/JsonPointer.js +8 -8
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.d.ts +98 -44
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +300 -239
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +23 -35
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +16 -28
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +359 -260
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +195 -175
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +42 -29
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +31 -21
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts +6 -2
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +6 -2
- package/dist/LayerRef.js.map +1 -1
- package/dist/LogLevel.d.ts +114 -214
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +41 -76
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +218 -467
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +207 -452
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +16 -5
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +10 -5
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +217 -252
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +150 -183
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +442 -993
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +202 -645
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +144 -173
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +68 -79
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +84 -89
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +44 -47
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +71 -370
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +59 -284
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts +420 -243
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +209 -120
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +21 -14
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js +15 -13
- package/dist/Newtype.js.map +1 -1
- package/dist/NonEmptyIterable.d.ts +7 -137
- package/dist/NonEmptyIterable.d.ts.map +1 -1
- package/dist/NonEmptyIterable.js +5 -93
- package/dist/NonEmptyIterable.js.map +1 -1
- package/dist/Number.d.ts +196 -233
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +90 -109
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +97 -189
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +190 -292
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +447 -812
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +213 -393
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +109 -109
- package/dist/Order.js +91 -91
- package/dist/Order.js.map +1 -1
- package/dist/Ordering.d.ts +20 -23
- package/dist/Ordering.d.ts.map +1 -1
- package/dist/Ordering.js +8 -9
- package/dist/Ordering.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +1 -4
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +38 -41
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +3 -4
- package/dist/Path.js.map +1 -1
- package/dist/Pipeable.d.ts +6 -5
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +2 -2
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +4 -4
- package/dist/PlatformError.js +3 -3
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +4 -2
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +4 -2
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +200 -181
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +100 -108
- package/dist/Predicate.js.map +1 -1
- package/dist/PrimaryKey.d.ts +7 -7
- package/dist/PrimaryKey.js +5 -5
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +425 -494
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +373 -362
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts +24 -18
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +11 -9
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts +200 -159
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +162 -132
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +49 -74
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +35 -54
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +121 -63
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +42 -21
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +24 -13
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RcRef.js +15 -9
- package/dist/RcRef.js.map +1 -1
- package/dist/Record.d.ts +361 -466
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +163 -216
- package/dist/Record.js.map +1 -1
- package/dist/Redactable.d.ts +6 -2
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +7 -2
- package/dist/Redactable.js.map +1 -1
- package/dist/Redacted.d.ts +25 -25
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +19 -20
- package/dist/Redacted.js.map +1 -1
- package/dist/Reducer.d.ts +8 -15
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +6 -12
- package/dist/Reducer.js.map +1 -1
- package/dist/Ref.d.ts +95 -165
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +75 -122
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +102 -213
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +102 -213
- package/dist/References.js.map +1 -1
- package/dist/RegExp.d.ts +10 -14
- package/dist/RegExp.d.ts.map +1 -1
- package/dist/RegExp.js +10 -14
- package/dist/RegExp.js.map +1 -1
- package/dist/Request.d.ts +31 -21
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +25 -19
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +201 -90
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +87 -41
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.js.map +1 -1
- package/dist/Result.d.ts +302 -470
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +135 -218
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +50 -75
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +39 -60
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +290 -1636
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +162 -803
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +5 -5
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +18 -6
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +1835 -1060
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +2708 -1050
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +29 -52
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +537 -391
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaError.d.ts +7 -6
- package/dist/SchemaError.d.ts.map +1 -1
- package/dist/SchemaError.js +8 -7
- package/dist/SchemaError.js.map +1 -1
- package/dist/SchemaGetter.d.ts +230 -185
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +252 -209
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +62 -190
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +74 -266
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +2 -2
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +123 -86
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +398 -1513
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +290 -2854
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +116 -76
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +123 -88
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +123 -151
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +72 -92
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/ScopedRef.d.ts +3 -3
- package/dist/ScopedRef.js +2 -2
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Semaphore.d.ts +101 -13
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +78 -39
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts +117 -107
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +107 -100
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +1 -1
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +2430 -2958
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +1124 -1397
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +262 -308
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +184 -215
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +109 -114
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +46 -54
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +282 -250
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +104 -92
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/Symbol.d.ts +3 -3
- package/dist/Symbol.js +3 -3
- package/dist/Symbol.js.map +1 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Take.js.map +1 -1
- package/dist/Terminal.d.ts +2 -2
- package/dist/Terminal.js +1 -1
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +100 -54
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +41 -24
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +287 -679
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +109 -251
- package/dist/Trie.js.map +1 -1
- package/dist/Tuple.d.ts +92 -127
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +42 -57
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +201 -121
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +85 -56
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +62 -46
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +30 -22
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +631 -779
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +268 -330
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +297 -236
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +130 -100
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +126 -95
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +74 -56
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +101 -88
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +87 -66
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +200 -180
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +160 -136
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +97 -66
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +67 -45
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +51 -32
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +23 -15
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +129 -95
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +85 -70
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +97 -70
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +44 -34
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +127 -70
- package/dist/Types.d.ts.map +1 -1
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +45 -65
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js +6 -9
- package/dist/Unify.js.map +1 -1
- package/dist/Utils.d.ts +23 -16
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +3 -7
- package/dist/Utils.js.map +1 -1
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -4
- package/dist/index.js.map +1 -1
- package/dist/internal/array.js.map +1 -1
- package/dist/internal/core.js +3 -2
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +4 -0
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/doNotation.js.map +1 -1
- package/dist/internal/effect.js +141 -61
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/equal.js.map +1 -1
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/executionPlan.js.map +1 -1
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/hashSet.js.map +1 -1
- package/dist/internal/layer.js.map +1 -1
- package/dist/internal/matcher.js +1 -1
- package/dist/internal/matcher.js.map +1 -1
- package/dist/internal/metric.js.map +1 -1
- package/dist/internal/option.js.map +1 -1
- package/dist/internal/persistence.d.ts +2 -0
- package/dist/internal/persistence.d.ts.map +1 -0
- package/dist/internal/persistence.js +3 -0
- package/dist/internal/persistence.js.map +1 -0
- package/dist/internal/random.js.map +1 -1
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/record.d.ts +0 -3
- package/dist/internal/record.d.ts.map +1 -1
- package/dist/internal/record.js +10 -5
- package/dist/internal/record.js.map +1 -1
- package/dist/internal/redacted.js.map +1 -1
- package/dist/internal/references.js +3 -4
- package/dist/internal/references.js.map +1 -1
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/result.js.map +1 -1
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/annotations.js +12 -0
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/cause.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.d.ts +2 -0
- package/dist/internal/schema/fromJsonSchemaDocument.d.ts.map +1 -0
- package/dist/internal/schema/fromJsonSchemaDocument.js +745 -0
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -0
- package/dist/internal/schema/fromRepresentation.d.ts +2 -0
- package/dist/internal/schema/fromRepresentation.d.ts.map +1 -0
- package/dist/internal/schema/fromRepresentation.js +245 -0
- package/dist/internal/schema/fromRepresentation.js.map +1 -0
- package/dist/internal/schema/parser.d.ts +14 -0
- package/dist/internal/schema/parser.d.ts.map +1 -0
- package/dist/internal/schema/parser.js +13 -0
- package/dist/internal/schema/parser.js.map +1 -0
- package/dist/internal/schema/schema.js +28 -40
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/schema/{arbitrary.d.ts → toArbitrary.d.ts} +1 -1
- package/dist/internal/schema/toArbitrary.d.ts.map +1 -0
- package/dist/internal/schema/{arbitrary.js → toArbitrary.js} +8 -9
- package/dist/internal/schema/toArbitrary.js.map +1 -0
- package/dist/internal/schema/toCodeDocument.d.ts +2 -0
- package/dist/internal/schema/toCodeDocument.d.ts.map +1 -0
- package/dist/internal/schema/toCodeDocument.js +438 -0
- package/dist/internal/schema/toCodeDocument.js.map +1 -0
- package/dist/internal/schema/toEquivalence.d.ts +2 -0
- package/dist/internal/schema/toEquivalence.d.ts.map +1 -0
- package/dist/internal/schema/{equivalence.js → toEquivalence.js} +15 -13
- package/dist/internal/schema/toEquivalence.js.map +1 -0
- package/dist/internal/schema/toJsonSchemaDocument.d.ts +2 -0
- package/dist/internal/schema/toJsonSchemaDocument.d.ts.map +1 -0
- package/dist/internal/schema/toJsonSchemaDocument.js +508 -0
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -0
- package/dist/internal/schema/toRepresentation.d.ts +2 -0
- package/dist/internal/schema/toRepresentation.d.ts.map +1 -0
- package/dist/internal/schema/toRepresentation.js +349 -0
- package/dist/internal/schema/toRepresentation.js.map +1 -0
- package/dist/internal/stackTraceLimit.js +3 -6
- package/dist/internal/stackTraceLimit.js.map +1 -1
- package/dist/internal/stream.js.map +1 -1
- package/dist/internal/tracer.js.map +1 -1
- package/dist/internal/trie.js +13 -9
- package/dist/internal/trie.js.map +1 -1
- package/dist/testing/FastCheck.d.ts +8 -7
- package/dist/testing/FastCheck.d.ts.map +1 -1
- package/dist/testing/FastCheck.js +8 -7
- package/dist/testing/FastCheck.js.map +1 -1
- package/dist/testing/TestClock.d.ts +57 -28
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +54 -19
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestConsole.d.ts +32 -31
- package/dist/testing/TestConsole.d.ts.map +1 -1
- package/dist/testing/TestConsole.js +24 -22
- package/dist/testing/TestConsole.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +29 -29
- package/dist/testing/TestSchema.js +25 -25
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +121 -144
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +99 -121
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +22 -7
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +87 -317
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +132 -97
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +55 -51
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +1 -1
- package/dist/unstable/ai/EmbeddingModel.js +1 -1
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
- package/dist/unstable/ai/IdGenerator.d.ts +32 -28
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +26 -21
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +111 -68
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +123 -81
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpProtocol.d.ts +30 -0
- package/dist/unstable/ai/McpProtocol.d.ts.map +1 -0
- package/dist/unstable/ai/McpProtocol.js +20 -0
- package/dist/unstable/ai/McpProtocol.js.map +1 -0
- package/dist/unstable/ai/McpSchema.d.ts +316 -250
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +71 -63
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +71 -62
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +765 -245
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +8 -19
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +9 -20
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +33 -11
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +194 -378
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +112 -38
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +53 -17
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +47 -33
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +23 -18
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
- package/dist/unstable/ai/Telemetry.d.ts +46 -13
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +18 -7
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts +14 -3
- package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +10 -2
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +63 -44
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +59 -42
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +35 -9
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +32 -14
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +4 -0
- package/dist/unstable/ai/index.d.ts.map +1 -1
- package/dist/unstable/ai/index.js +4 -0
- package/dist/unstable/ai/index.js.map +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js +15 -12
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/ai/internal/mcpProtocol.d.ts +21 -0
- package/dist/unstable/ai/internal/mcpProtocol.d.ts.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocol.js +22 -0
- package/dist/unstable/ai/internal/mcpProtocol.js.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts +2 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.d.ts.map +1 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.js +32 -0
- package/dist/unstable/ai/internal/mcpProtocolRegistry.js.map +1 -0
- package/dist/unstable/ai/internal/structured-output.d.ts +2 -0
- package/dist/unstable/ai/internal/structured-output.d.ts.map +1 -0
- package/dist/unstable/ai/internal/structured-output.js +315 -0
- package/dist/unstable/ai/internal/structured-output.js.map +1 -0
- package/dist/unstable/cli/Argument.d.ts +273 -69
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +111 -33
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliConfig.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +105 -74
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +98 -63
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts +35 -54
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +26 -42
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +705 -107
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +252 -47
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.js.map +1 -1
- package/dist/unstable/cli/Flag.d.ts +418 -138
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +197 -71
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +1 -1
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/HelpDoc.d.ts +12 -4
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +292 -78
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +131 -49
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +370 -149
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +345 -137
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.d.ts +23 -14
- package/dist/unstable/cli/Prompt.d.ts.map +1 -1
- package/dist/unstable/cli/Prompt.js +23 -14
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/ansi.js.map +1 -1
- package/dist/unstable/cli/internal/auto-suggest.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +3 -1
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +11 -4
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/bash.js.map +1 -1
- package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
- package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
- package/dist/unstable/cli/internal/config.d.ts +0 -48
- package/dist/unstable/cli/internal/config.d.ts.map +1 -1
- package/dist/unstable/cli/internal/config.js +8 -10
- package/dist/unstable/cli/internal/config.js.map +1 -1
- package/dist/unstable/cli/internal/help.js.map +1 -1
- package/dist/unstable/cli/internal/lexer.js +17 -7
- package/dist/unstable/cli/internal/lexer.js.map +1 -1
- package/dist/unstable/cli/internal/parser.js +2 -2
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cli/internal/wizard.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterError.js.map +1 -1
- package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts +8 -8
- package/dist/unstable/cluster/ClusterSchema.js +8 -8
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +6 -2
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +10 -10
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +9 -9
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.js.map +1 -1
- package/dist/unstable/cluster/EntityId.js.map +1 -1
- package/dist/unstable/cluster/EntityProxy.d.ts +4 -2
- package/dist/unstable/cluster/EntityProxy.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxy.js +4 -2
- package/dist/unstable/cluster/EntityProxy.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.js +2 -2
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/EntityType.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +3 -3
- package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.js +5 -4
- package/dist/unstable/cluster/Envelope.js.map +1 -1
- package/dist/unstable/cluster/HttpRunner.d.ts +2 -2
- package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/HttpRunner.js +6 -4
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/MachineId.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +9 -9
- package/dist/unstable/cluster/Message.js +6 -6
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +15 -15
- package/dist/unstable/cluster/MessageStorage.js +5 -5
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +5 -5
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runner.js +1 -1
- package/dist/unstable/cluster/Runner.js.map +1 -1
- package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
- package/dist/unstable/cluster/RunnerAddress.js +1 -1
- package/dist/unstable/cluster/RunnerAddress.js.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +1 -1
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts +2 -1
- package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +16 -16
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.d.ts +2 -2
- package/dist/unstable/cluster/RunnerStorage.js +1 -1
- package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +6 -6
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +19 -10
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.js +1 -1
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +128 -26
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +13 -5
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +3 -3
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/ShardingRegistrationEvent.js.map +1 -1
- package/dist/unstable/cluster/SingleRunner.d.ts +4 -2
- package/dist/unstable/cluster/SingleRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/SingleRunner.js +2 -1
- package/dist/unstable/cluster/SingleRunner.js.map +1 -1
- package/dist/unstable/cluster/Singleton.js.map +1 -1
- package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
- package/dist/unstable/cluster/SingletonAddress.js +1 -1
- package/dist/unstable/cluster/SingletonAddress.js.map +1 -1
- package/dist/unstable/cluster/Snowflake.d.ts +8 -8
- package/dist/unstable/cluster/Snowflake.js +8 -8
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/SocketRunner.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.d.ts +7 -4
- package/dist/unstable/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +56 -25
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +127 -65
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/TestRunner.js.map +1 -1
- package/dist/unstable/cluster/index.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +24 -12
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/hash.js.map +1 -1
- package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/cluster/internal/shardLock.d.ts +2 -0
- package/dist/unstable/cluster/internal/shardLock.d.ts.map +1 -0
- package/dist/unstable/cluster/internal/shardLock.js +4 -0
- package/dist/unstable/cluster/internal/shardLock.js.map +1 -0
- package/dist/unstable/devtools/DevTools.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +20 -20
- package/dist/unstable/devtools/DevToolsSchema.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js +8 -5
- package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
- package/dist/unstable/devtools/DevToolsServer.js.map +1 -1
- package/dist/unstable/devtools/index.js.map +1 -1
- package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
- package/dist/unstable/encoding/Msgpack.js +6 -8
- package/dist/unstable/encoding/Msgpack.js.map +1 -1
- package/dist/unstable/encoding/Ndjson.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +72 -8
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +58 -8
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/encoding/index.js.map +1 -1
- package/dist/unstable/eventlog/Event.d.ts +20 -20
- package/dist/unstable/eventlog/Event.js.map +1 -1
- package/dist/unstable/eventlog/EventGroup.d.ts +4 -4
- package/dist/unstable/eventlog/EventGroup.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +16 -16
- package/dist/unstable/eventlog/EventJournal.js +14 -14
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +3 -3
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +18 -14
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +2 -2
- package/dist/unstable/eventlog/EventLogEncryption.js +2 -2
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +6 -6
- package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.js +9 -4
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -15
- package/dist/unstable/eventlog/EventLogRemote.js +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.d.ts +11 -2
- package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.js +45 -21
- package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +4 -4
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.js +13 -5
- package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -5
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +14 -6
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.js +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.js +2 -2
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +3 -3
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/index.js.map +1 -1
- package/dist/unstable/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +2 -2
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +54 -40
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +1 -1
- package/dist/unstable/http/Etag.js +1 -1
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +2 -2
- package/dist/unstable/http/Headers.js +10 -10
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +5 -3
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +11 -5
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +51 -44
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +46 -17
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.js.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +44 -0
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +16 -0
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +4 -4
- package/dist/unstable/http/HttpClientResponse.js +2 -2
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +6 -6
- package/dist/unstable/http/HttpEffect.js +3 -3
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +6 -9
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +6 -9
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +75 -9
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +164 -39
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +76 -0
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +32 -0
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +88 -89
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +78 -79
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +13 -13
- package/dist/unstable/http/HttpServer.js +6 -6
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +2 -2
- package/dist/unstable/http/HttpServerError.js +2 -2
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +9 -8
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +22 -0
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +10 -0
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +35 -7
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpStaticServer.js +35 -7
- package/dist/unstable/http/HttpStaticServer.js.map +1 -1
- package/dist/unstable/http/HttpTraceContext.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +6 -6
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +22 -20
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/Template.js +1 -1
- package/dist/unstable/http/Template.js.map +1 -1
- package/dist/unstable/http/Url.d.ts +33 -63
- package/dist/unstable/http/Url.d.ts.map +1 -1
- package/dist/unstable/http/Url.js +14 -28
- package/dist/unstable/http/Url.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +10 -18
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +26 -31
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.js.map +1 -1
- package/dist/unstable/http/internal/compression.d.ts +2 -0
- package/dist/unstable/http/internal/compression.d.ts.map +1 -0
- package/dist/unstable/http/internal/compression.js +155 -0
- package/dist/unstable/http/internal/compression.js.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +3 -3
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +10 -11
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -5
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +16 -18
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +42 -42
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
- package/dist/unstable/httpapi/HttpApiError.js +13 -13
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +15 -15
- package/dist/unstable/httpapi/HttpApiGroup.js +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +71 -24
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +57 -10
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +0 -12
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +6 -6
- package/dist/unstable/httpapi/HttpApiSchema.js +4 -4
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts +13 -13
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +50 -37
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/httpapi/index.js.map +1 -1
- package/dist/unstable/httpapi/internal/html.js.map +1 -1
- package/dist/unstable/httpapi/internal/httpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/internal/httpApiSwagger.js.map +1 -1
- package/dist/unstable/httpapi/internal/mediaType.js.map +1 -1
- package/dist/unstable/observability/Otlp.js.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +70 -1
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +84 -6
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -3
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +2 -2
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +11 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js +5 -2
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpResource.d.ts +16 -7
- package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpResource.js +21 -12
- package/dist/unstable/observability/OtlpResource.js.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -3
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js +2 -2
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts +13 -4
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +10 -3
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/observability/index.js.map +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
- package/dist/unstable/observability/internal/otlpProtobuf.js.map +1 -1
- package/dist/unstable/observability/internal/protobuf.js +3 -0
- package/dist/unstable/observability/internal/protobuf.js.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +8 -3
- package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +22 -13
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +8 -8
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistable.js +2 -1
- package/dist/unstable/persistence/Persistable.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +6 -6
- package/dist/unstable/persistence/PersistedQueue.js +6 -6
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +3 -3
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +91 -15
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +28 -17
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +26 -15
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +2 -2
- package/dist/unstable/persistence/Redis.d.ts.map +1 -1
- package/dist/unstable/persistence/Redis.js +3 -3
- package/dist/unstable/persistence/Redis.js.map +1 -1
- package/dist/unstable/persistence/index.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +64 -21
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +14 -5
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +21 -10
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +4 -2
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/process/index.js.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.d.ts +8 -8
- package/dist/unstable/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.js +14 -13
- package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +105 -19
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +44 -12
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +4 -1
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRef.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +25 -4
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +4 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +1 -1
- package/dist/unstable/reactivity/Hydration.js +1 -1
- package/dist/unstable/reactivity/Hydration.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +35 -33
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +4 -2
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +12 -12
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +14 -12
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +8 -8
- package/dist/unstable/rpc/RpcGroup.js +1 -1
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMessage.d.ts +31 -30
- package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMessage.js +6 -6
- package/dist/unstable/rpc/RpcMessage.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +10 -10
- package/dist/unstable/rpc/RpcMiddleware.js +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +4 -4
- package/dist/unstable/rpc/RpcSchema.js +3 -3
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +58 -7
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +175 -96
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +13 -13
- package/dist/unstable/rpc/RpcServer.js +17 -13
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/RpcTest.js.map +1 -1
- package/dist/unstable/rpc/RpcWorker.d.ts +5 -5
- package/dist/unstable/rpc/RpcWorker.js +4 -4
- package/dist/unstable/rpc/RpcWorker.js.map +1 -1
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/rpc/index.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +52 -50
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +35 -33
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +6 -7
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +15 -12
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/schema/index.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +12 -4
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +10 -5
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/socket/index.js.map +1 -1
- package/dist/unstable/sql/Migrator.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +2 -2
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +2 -2
- package/dist/unstable/sql/SqlError.js +2 -2
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.js +2 -2
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.d.ts +5 -5
- package/dist/unstable/sql/SqlResolver.js +2 -2
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/SqlStream.js.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +6 -6
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +22 -21
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/sql/index.js.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts +1 -1
- package/dist/unstable/workers/Transferable.js +1 -1
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +2 -2
- package/dist/unstable/workers/Worker.js +2 -2
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workers/WorkerError.d.ts +7 -7
- package/dist/unstable/workers/WorkerError.js +6 -6
- package/dist/unstable/workers/WorkerError.js.map +1 -1
- package/dist/unstable/workers/WorkerRunner.d.ts +1 -1
- package/dist/unstable/workers/WorkerRunner.js +1 -1
- package/dist/unstable/workers/WorkerRunner.js.map +1 -1
- package/dist/unstable/workers/index.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +2 -2
- package/dist/unstable/workflow/Activity.js +2 -2
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +1 -1
- package/dist/unstable/workflow/DurableClock.js +1 -1
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +10 -10
- package/dist/unstable/workflow/DurableDeferred.js +5 -5
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/DurableQueue.d.ts +22 -20
- package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableQueue.js +22 -20
- package/dist/unstable/workflow/DurableQueue.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +21 -21
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +13 -14
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.d.ts +4 -2
- package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.js +4 -2
- package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/dist/unstable/workflow/index.js.map +1 -1
- package/dist/unstable/workflow/internal/crypto.js.map +1 -1
- package/package.json +5 -6
- package/src/Array.ts +1068 -1070
- package/src/BigDecimal.ts +433 -756
- package/src/BigInt.ts +213 -269
- package/src/Boolean.ts +146 -188
- package/src/Cache.ts +409 -255
- package/src/Cause.ts +167 -277
- package/src/Channel.ts +923 -830
- package/src/ChannelSchema.ts +1 -1
- package/src/Chunk.ts +841 -1181
- package/src/Clock.ts +181 -49
- package/src/Combiner.ts +20 -33
- package/src/Config.ts +618 -334
- package/src/ConfigProvider.ts +221 -127
- package/src/Console.ts +289 -39
- package/src/Context.ts +319 -378
- package/src/Cron.ts +68 -77
- package/src/Crypto.ts +13 -15
- package/src/Data.ts +63 -82
- package/src/DateTime.ts +564 -660
- package/src/Deferred.ts +253 -256
- package/src/Duration.ts +216 -308
- package/src/Effect.ts +2958 -3390
- package/src/Encoding.ts +22 -40
- package/src/Equal.ts +49 -39
- package/src/Equivalence.ts +103 -105
- package/src/ErrorReporter.ts +51 -27
- package/src/ExecutionPlan.ts +13 -55
- package/src/Exit.ts +116 -192
- package/src/Fiber.ts +81 -148
- package/src/FiberHandle.ts +155 -107
- package/src/FiberMap.ts +225 -174
- package/src/FiberSet.ts +124 -82
- package/src/FileSystem.ts +155 -263
- package/src/Filter.ts +61 -33
- package/src/Formatter.ts +54 -56
- package/src/Function.ts +76 -145
- package/src/Graph.ts +416 -770
- package/src/HKT.ts +12 -6
- package/src/Hash.ts +52 -83
- package/src/HashMap.ts +319 -411
- package/src/HashRing.ts +1 -0
- package/src/HashSet.ts +177 -284
- package/src/Inspectable.ts +12 -12
- package/src/Iterable.ts +622 -787
- package/src/JsonPatch.ts +60 -113
- package/src/JsonPointer.ts +8 -8
- package/src/JsonSchema.ts +405 -249
- package/src/Latch.ts +23 -35
- package/src/Layer.ts +359 -260
- package/src/LayerMap.ts +49 -29
- package/src/LayerRef.ts +6 -2
- package/src/LogLevel.ts +114 -214
- package/src/Logger.ts +347 -699
- package/src/ManagedRuntime.ts +20 -5
- package/src/Match.ts +217 -252
- package/src/Metric.ts +520 -1092
- package/src/MutableHashMap.ts +218 -255
- package/src/MutableHashSet.ts +84 -89
- package/src/MutableList.ts +73 -370
- package/src/MutableRef.ts +420 -243
- package/src/Newtype.ts +21 -14
- package/src/NonEmptyIterable.ts +7 -137
- package/src/Number.ts +196 -233
- package/src/Optic.ts +246 -385
- package/src/Option.ts +449 -813
- package/src/Order.ts +109 -109
- package/src/Ordering.ts +20 -23
- package/src/PartitionedSemaphore.ts +1 -4
- package/src/Path.ts +38 -41
- package/src/Pipeable.ts +6 -5
- package/src/PlatformError.ts +4 -4
- package/src/Pool.ts +4 -2
- package/src/Predicate.ts +200 -181
- package/src/PrimaryKey.ts +7 -7
- package/src/PubSub.ts +526 -552
- package/src/Pull.ts +24 -18
- package/src/Queue.ts +200 -159
- package/src/Random.ts +49 -74
- package/src/RcMap.ts +121 -63
- package/src/RcRef.ts +24 -13
- package/src/Record.ts +387 -487
- package/src/Redactable.ts +10 -3
- package/src/Redacted.ts +25 -25
- package/src/Reducer.ts +8 -15
- package/src/Ref.ts +221 -361
- package/src/References.ts +102 -214
- package/src/RegExp.ts +10 -14
- package/src/Request.ts +36 -28
- package/src/RequestResolver.ts +202 -91
- package/src/Result.ts +314 -485
- package/src/Runtime.ts +50 -75
- package/src/Schedule.ts +308 -1734
- package/src/Scheduler.ts +20 -7
- package/src/Schema.ts +3156 -1634
- package/src/SchemaAST.ts +676 -489
- package/src/SchemaError.ts +8 -7
- package/src/SchemaGetter.ts +277 -218
- package/src/SchemaIssue.ts +90 -276
- package/src/SchemaParser.ts +179 -116
- package/src/SchemaRepresentation.ts +698 -3417
- package/src/SchemaTransformation.ts +132 -91
- package/src/Scope.ts +123 -151
- package/src/ScopedRef.ts +4 -4
- package/src/Semaphore.ts +157 -54
- package/src/Sink.ts +128 -113
- package/src/Stdio.ts +1 -1
- package/src/Stream.ts +2665 -3142
- package/src/String.ts +275 -312
- package/src/Struct.ts +114 -118
- package/src/SubscriptionRef.ts +284 -252
- package/src/Symbol.ts +3 -3
- package/src/Terminal.ts +2 -2
- package/src/Tracer.ts +102 -55
- package/src/Trie.ts +287 -679
- package/src/Tuple.ts +92 -127
- package/src/TxChunk.ts +201 -121
- package/src/TxDeferred.ts +62 -46
- package/src/TxHashMap.ts +645 -799
- package/src/TxHashSet.ts +443 -356
- package/src/TxPriorityQueue.ts +130 -98
- package/src/TxPubSub.ts +107 -80
- package/src/TxQueue.ts +214 -183
- package/src/TxReentrantLock.ts +97 -66
- package/src/TxRef.ts +51 -32
- package/src/TxSemaphore.ts +129 -95
- package/src/TxSubscriptionRef.ts +97 -70
- package/src/Types.ts +127 -70
- package/src/Unify.ts +45 -65
- package/src/Utils.ts +23 -16
- package/src/index.ts +0 -5
- package/src/internal/core.ts +5 -4
- package/src/internal/dateTime.ts +6 -0
- package/src/internal/effect.ts +160 -79
- package/src/internal/matcher.ts +1 -1
- package/src/internal/persistence.ts +2 -0
- package/src/internal/record.ts +11 -7
- package/src/internal/references.ts +3 -7
- package/src/internal/schema/annotations.ts +44 -0
- package/src/internal/schema/fromJsonSchemaDocument.ts +959 -0
- package/src/internal/schema/fromRepresentation.ts +339 -0
- package/src/internal/schema/parser.ts +22 -0
- package/src/internal/schema/schema.ts +45 -46
- package/src/internal/schema/{arbitrary.ts → toArbitrary.ts} +8 -10
- package/src/internal/schema/toCodeDocument.ts +572 -0
- package/src/internal/schema/{equivalence.ts → toEquivalence.ts} +12 -7
- package/src/internal/schema/toJsonSchemaDocument.ts +529 -0
- package/src/internal/schema/toRepresentation.ts +386 -0
- package/src/internal/stackTraceLimit.ts +3 -7
- package/src/internal/trie.ts +10 -11
- package/src/testing/FastCheck.ts +8 -7
- package/src/testing/TestClock.ts +73 -31
- package/src/testing/TestConsole.ts +32 -31
- package/src/testing/TestSchema.ts +29 -29
- package/src/unstable/ai/AiError.ts +100 -122
- package/src/unstable/ai/AnthropicStructuredOutput.ts +103 -334
- package/src/unstable/ai/Chat.ts +132 -97
- package/src/unstable/ai/EmbeddingModel.ts +1 -1
- package/src/unstable/ai/IdGenerator.ts +32 -28
- package/src/unstable/ai/LanguageModel.ts +137 -95
- package/src/unstable/ai/McpProtocol.ts +48 -0
- package/src/unstable/ai/McpSchema.ts +75 -65
- package/src/unstable/ai/McpServer.ts +1045 -303
- package/src/unstable/ai/Model.ts +9 -20
- package/src/unstable/ai/OpenAiStructuredOutput.ts +231 -396
- package/src/unstable/ai/Prompt.ts +145 -43
- package/src/unstable/ai/Response.ts +52 -38
- package/src/unstable/ai/Telemetry.ts +46 -13
- package/src/unstable/ai/Tokenizer.ts +14 -3
- package/src/unstable/ai/Tool.ts +81 -48
- package/src/unstable/ai/Toolkit.ts +45 -15
- package/src/unstable/ai/index.ts +5 -0
- package/src/unstable/ai/internal/codec-transformer.ts +13 -7
- package/src/unstable/ai/internal/mcpProtocol.ts +85 -0
- package/src/unstable/ai/internal/mcpProtocolRegistry.ts +70 -0
- package/src/unstable/ai/internal/structured-output.ts +453 -0
- package/src/unstable/cli/Argument.ts +273 -69
- package/src/unstable/cli/CliError.ts +116 -77
- package/src/unstable/cli/CliOutput.ts +44 -58
- package/src/unstable/cli/Command.ts +709 -111
- package/src/unstable/cli/Flag.ts +418 -138
- package/src/unstable/cli/GlobalFlag.ts +1 -1
- package/src/unstable/cli/HelpDoc.ts +12 -4
- package/src/unstable/cli/Param.ts +295 -81
- package/src/unstable/cli/Primitive.ts +371 -150
- package/src/unstable/cli/Prompt.ts +28 -14
- package/src/unstable/cli/internal/command.ts +13 -5
- package/src/unstable/cli/internal/config.ts +8 -10
- package/src/unstable/cli/internal/lexer.ts +8 -2
- package/src/unstable/cli/internal/parser.ts +2 -2
- package/src/unstable/cluster/ClusterSchema.ts +8 -8
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +8 -4
- package/src/unstable/cluster/Entity.ts +16 -17
- package/src/unstable/cluster/EntityProxy.ts +4 -2
- package/src/unstable/cluster/EntityResource.ts +2 -2
- package/src/unstable/cluster/Envelope.ts +5 -4
- package/src/unstable/cluster/HttpRunner.ts +6 -4
- package/src/unstable/cluster/Message.ts +9 -9
- package/src/unstable/cluster/MessageStorage.ts +15 -15
- package/src/unstable/cluster/Reply.ts +5 -7
- package/src/unstable/cluster/Runner.ts +1 -1
- package/src/unstable/cluster/RunnerAddress.ts +1 -1
- package/src/unstable/cluster/RunnerHealth.ts +1 -1
- package/src/unstable/cluster/RunnerServer.ts +41 -8
- package/src/unstable/cluster/RunnerStorage.ts +2 -2
- package/src/unstable/cluster/Runners.ts +23 -12
- package/src/unstable/cluster/ShardId.ts +1 -1
- package/src/unstable/cluster/Sharding.ts +168 -42
- package/src/unstable/cluster/ShardingConfig.ts +8 -4
- package/src/unstable/cluster/SingleRunner.ts +4 -2
- package/src/unstable/cluster/SingletonAddress.ts +1 -1
- package/src/unstable/cluster/Snowflake.ts +8 -8
- package/src/unstable/cluster/SqlMessageStorage.ts +84 -36
- package/src/unstable/cluster/SqlRunnerStorage.ts +205 -119
- package/src/unstable/cluster/internal/entityManager.ts +42 -25
- package/src/unstable/cluster/internal/shardLock.ts +9 -0
- package/src/unstable/devtools/DevToolsSchema.ts +10 -5
- package/src/unstable/encoding/Msgpack.ts +6 -8
- package/src/unstable/encoding/Sse.ts +98 -16
- package/src/unstable/eventlog/Event.ts +20 -20
- package/src/unstable/eventlog/EventGroup.ts +4 -4
- package/src/unstable/eventlog/EventJournal.ts +16 -16
- package/src/unstable/eventlog/EventLog.ts +24 -14
- package/src/unstable/eventlog/EventLogEncryption.ts +2 -2
- package/src/unstable/eventlog/EventLogMessage.ts +12 -5
- package/src/unstable/eventlog/EventLogRemote.ts +1 -1
- package/src/unstable/eventlog/EventLogServer.ts +41 -7
- package/src/unstable/eventlog/EventLogServerEncrypted.ts +13 -5
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +14 -6
- package/src/unstable/eventlog/EventLogSessionAuth.ts +1 -1
- package/src/unstable/eventlog/SqlEventJournal.ts +2 -2
- package/src/unstable/eventlog/SqlEventLogServerEncrypted.ts +1 -1
- package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +6 -3
- package/src/unstable/http/Cookies.ts +64 -45
- package/src/unstable/http/Etag.ts +1 -1
- package/src/unstable/http/FetchHttpClient.ts +3 -1
- package/src/unstable/http/Headers.ts +10 -10
- package/src/unstable/http/HttpBody.ts +20 -5
- package/src/unstable/http/HttpClient.ts +83 -55
- package/src/unstable/http/HttpClientRequest.ts +59 -0
- package/src/unstable/http/HttpClientResponse.ts +4 -4
- package/src/unstable/http/HttpEffect.ts +8 -8
- package/src/unstable/http/HttpMethod.ts +6 -9
- package/src/unstable/http/HttpMiddleware.ts +202 -39
- package/src/unstable/http/HttpPlatform.ts +95 -0
- package/src/unstable/http/HttpRouter.ts +102 -98
- package/src/unstable/http/HttpServer.ts +13 -13
- package/src/unstable/http/HttpServerError.ts +2 -2
- package/src/unstable/http/HttpServerRequest.ts +9 -8
- package/src/unstable/http/HttpServerResponse.ts +30 -0
- package/src/unstable/http/HttpStaticServer.ts +35 -7
- package/src/unstable/http/Multipart.ts +22 -19
- package/src/unstable/http/Template.ts +1 -1
- package/src/unstable/http/Url.ts +33 -63
- package/src/unstable/http/UrlParams.ts +27 -32
- package/src/unstable/http/internal/compression.ts +196 -0
- package/src/unstable/httpapi/HttpApi.ts +3 -3
- package/src/unstable/httpapi/HttpApiBuilder.ts +10 -9
- package/src/unstable/httpapi/HttpApiClient.ts +19 -19
- package/src/unstable/httpapi/HttpApiEndpoint.ts +42 -42
- package/src/unstable/httpapi/HttpApiError.ts +13 -13
- package/src/unstable/httpapi/HttpApiGroup.ts +16 -16
- package/src/unstable/httpapi/HttpApiMiddleware.ts +71 -24
- package/src/unstable/httpapi/HttpApiScalar.ts +0 -12
- package/src/unstable/httpapi/HttpApiSchema.ts +6 -6
- package/src/unstable/httpapi/OpenApi.ts +65 -41
- package/src/unstable/observability/OtlpExporter.ts +126 -10
- package/src/unstable/observability/OtlpLogger.ts +5 -5
- package/src/unstable/observability/OtlpMetrics.ts +12 -5
- package/src/unstable/observability/OtlpResource.ts +26 -17
- package/src/unstable/observability/OtlpTracer.ts +8 -4
- package/src/unstable/observability/PrometheusMetrics.ts +13 -4
- package/src/unstable/observability/internal/otlpEnv.ts +1 -1
- package/src/unstable/observability/internal/protobuf.ts +3 -0
- package/src/unstable/persistence/KeyValueStore.ts +72 -49
- package/src/unstable/persistence/Persistable.ts +11 -10
- package/src/unstable/persistence/PersistedQueue.ts +6 -6
- package/src/unstable/persistence/Persistence.ts +126 -19
- package/src/unstable/persistence/RateLimiter.ts +28 -17
- package/src/unstable/persistence/Redis.ts +4 -4
- package/src/unstable/process/ChildProcess.ts +64 -21
- package/src/unstable/process/ChildProcessSpawner.ts +22 -11
- package/src/unstable/reactivity/AsyncResult.ts +16 -16
- package/src/unstable/reactivity/Atom.ts +117 -22
- package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
- package/src/unstable/reactivity/AtomRegistry.ts +25 -4
- package/src/unstable/reactivity/AtomRpc.ts +5 -4
- package/src/unstable/reactivity/Hydration.ts +1 -1
- package/src/unstable/rpc/Rpc.ts +35 -33
- package/src/unstable/rpc/RpcClient.ts +18 -16
- package/src/unstable/rpc/RpcGroup.ts +8 -8
- package/src/unstable/rpc/RpcMessage.ts +31 -30
- package/src/unstable/rpc/RpcMiddleware.ts +10 -10
- package/src/unstable/rpc/RpcSchema.ts +4 -4
- package/src/unstable/rpc/RpcSerialization.ts +167 -68
- package/src/unstable/rpc/RpcServer.ts +18 -15
- package/src/unstable/rpc/RpcWorker.ts +5 -5
- package/src/unstable/schema/Model.ts +52 -50
- package/src/unstable/schema/VariantSchema.ts +19 -29
- package/src/unstable/socket/Socket.ts +18 -5
- package/src/unstable/sql/SqlClient.ts +5 -6
- package/src/unstable/sql/SqlError.ts +2 -2
- package/src/unstable/sql/SqlModel.ts +2 -2
- package/src/unstable/sql/SqlResolver.ts +5 -5
- package/src/unstable/sql/Statement.ts +31 -29
- package/src/unstable/workers/Transferable.ts +1 -1
- package/src/unstable/workers/Worker.ts +2 -2
- package/src/unstable/workers/WorkerError.ts +7 -7
- package/src/unstable/workers/WorkerRunner.ts +1 -1
- package/src/unstable/workflow/Activity.ts +2 -2
- package/src/unstable/workflow/DurableClock.ts +1 -1
- package/src/unstable/workflow/DurableDeferred.ts +10 -10
- package/src/unstable/workflow/DurableQueue.ts +22 -20
- package/src/unstable/workflow/Workflow.ts +23 -23
- package/src/unstable/workflow/WorkflowEngine.ts +1 -1
- package/src/unstable/workflow/WorkflowProxy.ts +4 -2
- package/dist/SchemaUtils.d.ts +0 -28
- package/dist/SchemaUtils.d.ts.map +0 -1
- package/dist/SchemaUtils.js +0 -45
- package/dist/SchemaUtils.js.map +0 -1
- package/dist/internal/schema/arbitrary.d.ts.map +0 -1
- package/dist/internal/schema/arbitrary.js.map +0 -1
- package/dist/internal/schema/equivalence.d.ts +0 -2
- package/dist/internal/schema/equivalence.d.ts.map +0 -1
- package/dist/internal/schema/equivalence.js.map +0 -1
- package/dist/internal/schema/representation.d.ts +0 -2
- package/dist/internal/schema/representation.d.ts.map +0 -1
- package/dist/internal/schema/representation.js +0 -865
- package/dist/internal/schema/representation.js.map +0 -1
- package/dist/internal/version.d.ts +0 -3
- package/dist/internal/version.d.ts.map +0 -1
- package/dist/internal/version.js +0 -2
- package/dist/internal/version.js.map +0 -1
- package/src/SchemaUtils.ts +0 -51
- package/src/internal/schema/representation.ts +0 -795
- 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 {
|
|
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
|
|
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 {
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
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
|
-
//
|
|
397
|
-
//
|
|
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
|
-
*
|
|
467
|
-
*
|
|
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,
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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 {
|
|
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, ...,
|
|
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 {
|
|
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 {
|
|
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
|
-
*
|
|
892
|
+
* return {
|
|
914
893
|
* count: state.count,
|
|
915
894
|
* min: state.min,
|
|
916
895
|
* max: state.max,
|
|
917
896
|
* sum: state.sum
|
|
918
|
-
* }
|
|
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("
|
|
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
|
-
*
|
|
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 {
|
|
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
|
-
* //
|
|
1102
|
-
* const
|
|
1081
|
+
* // Accept duration strings while recording numeric milliseconds
|
|
1082
|
+
* const durationStringHistogram = Metric.mapInput(
|
|
1103
1083
|
* durationHistogram,
|
|
1104
|
-
* (
|
|
1084
|
+
* (input: string) => Number(input)
|
|
1105
1085
|
* )
|
|
1106
1086
|
*
|
|
1107
1087
|
* const program = Effect.gen(function*() {
|
|
1108
|
-
*
|
|
1109
|
-
* yield* Metric.
|
|
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
|
|
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 {
|
|
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
|
|
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
|
-
*
|
|
1203
|
-
*
|
|
1204
|
-
* const
|
|
1205
|
-
*
|
|
1206
|
-
*
|
|
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
|
|
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 {
|
|
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
|
|
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 {
|
|
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
|
|
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 {
|
|
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
|
-
*
|
|
1340
|
+
* const requestCounter = Metric.counter("http_requests")
|
|
1341
|
+
* const program = Effect.gen(function*() {
|
|
1388
1342
|
* yield* Metric.update(requestCounter, 1)
|
|
1389
|
-
* yield*
|
|
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
|
-
*
|
|
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
|
|
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 {
|
|
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
|
-
*
|
|
1548
|
-
* return value
|
|
1549
|
-
* })
|
|
1433
|
+
* Metric.boundariesFromIterable([-5, 0, 10, 10, 25, 50]) // => [10, 25, 50, Infinity]
|
|
1550
1434
|
* ```
|
|
1551
1435
|
*
|
|
1552
|
-
* @category
|
|
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`
|
|
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 {
|
|
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
|
-
*
|
|
1597
|
-
* return value
|
|
1598
|
-
* })
|
|
1456
|
+
* Metric.linearBoundaries({ start: 10, width: 20, count: 5 }) // => [10, 30, 50, 70, Infinity]
|
|
1599
1457
|
* ```
|
|
1600
1458
|
*
|
|
1601
|
-
* @category
|
|
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
|
|
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 {
|
|
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
|
-
*
|
|
1651
|
-
* return value
|
|
1652
|
-
* })
|
|
1476
|
+
* Metric.exponentialBoundaries({ start: 1, factor: 2, count: 5 }) // => [1, 2, 4, 8, Infinity]
|
|
1653
1477
|
* ```
|
|
1654
1478
|
*
|
|
1655
|
-
* @category
|
|
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 {
|
|
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
|
-
*
|
|
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
|
|
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 {
|
|
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
|
|
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 {
|
|
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
|
-
*
|
|
1812
|
-
*
|
|
1813
|
-
*
|
|
1560
|
+
* [
|
|
1561
|
+
* typeof Metric.FiberRuntimeMetricsImpl.recordFiberStart,
|
|
1562
|
+
* typeof Metric.FiberRuntimeMetricsImpl.recordFiberEnd
|
|
1563
|
+
* ] // => ["function", "function"]
|
|
1814
1564
|
* ```
|
|
1815
1565
|
*
|
|
1816
|
-
* @category
|
|
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 {
|
|
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
|
-
*
|
|
1597
|
+
* const program = Effect.gen(function*() {
|
|
1598
|
+
* const service = yield* Metric.FiberRuntimeMetrics
|
|
1599
|
+
* return service === Metric.FiberRuntimeMetricsImpl
|
|
1907
1600
|
* })
|
|
1908
1601
|
*
|
|
1909
|
-
*
|
|
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
|
|
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 {
|
|
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
|
|
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 {
|
|
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
|
-
*
|
|
1992
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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 {
|
|
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
|
-
*
|
|
2074
|
-
*
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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
|
|
1728
|
+
InternalRecord.assignProperty(acc, key, value);
|
|
2172
1729
|
return acc;
|
|
2173
1730
|
}, {});
|
|
2174
1731
|
}
|