effect 4.0.0-beta.102 → 4.0.0-beta.103
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Array.d.ts +971 -1037
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +381 -407
- 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 +514 -440
- 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 +225 -173
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +336 -265
- 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 +115 -80
- 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 +16 -23
- 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 +2841 -3247
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +1322 -1546
- 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 +106 -73
- 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 +228 -306
- 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 +44 -102
- 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 +297 -234
- 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 +204 -450
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +7 -5
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +7 -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 +198 -642
- 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 +187 -290
- 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 +211 -392
- 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.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 +291 -488
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +111 -202
- 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 -168
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +102 -168
- 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 +16 -13
- 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 +133 -217
- 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 +644 -642
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +491 -527
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +27 -50
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +366 -279
- 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 +7 -6
- package/dist/SchemaError.js.map +1 -1
- package/dist/SchemaGetter.d.ts +217 -174
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +218 -185
- 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 +73 -265
- 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 -75
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +22 -36
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +20 -26
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +114 -74
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +120 -85
- 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 +96 -10
- 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 +2415 -2949
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +1078 -1381
- 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 +41 -50
- 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 +126 -67
- 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.js.map +1 -1
- package/dist/internal/array.js.map +1 -1
- package/dist/internal/core.js +1 -1
- 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 +77 -40
- 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.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.js.map +1 -1
- package/dist/internal/redacted.js.map +1 -1
- package/dist/internal/references.js +3 -0
- 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.map +1 -1
- package/dist/internal/schema/cause.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.js +13 -11
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/fromRepresentation.js +8 -15
- package/dist/internal/schema/fromRepresentation.js.map +1 -1
- 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.map +1 -1
- package/dist/internal/schema/toArbitrary.js.map +1 -1
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toEquivalence.js.map +1 -1
- package/dist/internal/schema/toJsonSchemaDocument.js +48 -6
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toRepresentation.js +87 -107
- package/dist/internal/schema/toRepresentation.js.map +1 -1
- 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 +50 -18
- 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 +95 -118
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +94 -117
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +1 -1
- 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.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 +107 -67
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +104 -64
- 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 +141 -75
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +58 -50
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +68 -59
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +694 -241
- 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 +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +1 -1
- 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 +28 -14
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +9 -4
- 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 +59 -44
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +48 -39
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +26 -8
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +18 -4
- 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.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.js +14 -15
- package/dist/unstable/ai/internal/structured-output.js.map +1 -1
- 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 +69 -76
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +57 -61
- 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 +238 -42
- 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 +128 -46
- 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 +344 -136
- 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.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.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 +5 -1
- 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 +8 -8
- 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.js +3 -3
- 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 +4 -4
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.js.map +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.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +3 -2
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +3 -3
- 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.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.js +1 -1
- 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 +20 -5
- 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 +5 -5
- 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.js.map +1 -1
- package/dist/unstable/devtools/DevTools.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- 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 +15 -15
- package/dist/unstable/eventlog/EventJournal.js +13 -13
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +3 -3
- package/dist/unstable/eventlog/EventLog.js +3 -3
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +2 -2
- package/dist/unstable/eventlog/EventLogMessage.js +1 -1
- 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.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
- 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 +30 -18
- 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 +2 -2
- 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.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +2 -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.js +4 -4
- 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.js +5 -5
- package/dist/unstable/http/Multipart.js.map +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 +9 -17
- 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.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 +11 -13
- 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.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.js +13 -13
- 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 +12 -14
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +17 -4
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- 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.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.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 +26 -15
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +24 -13
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +2 -2
- package/dist/unstable/persistence/Redis.js +1 -1
- 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 +1 -1
- 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 +10 -10
- package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +25 -22
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +14 -13
- 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 +24 -3
- 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 +12 -11
- 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 +5 -5
- package/dist/unstable/schema/VariantSchema.js +2 -2
- 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 +11 -3
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +9 -4
- 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.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.js +15 -15
- 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 +982 -1045
- 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 +891 -816
- 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 +615 -332
- package/src/ConfigProvider.ts +214 -120
- 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 +60 -80
- package/src/DateTime.ts +564 -660
- package/src/Deferred.ts +253 -256
- package/src/Duration.ts +216 -308
- package/src/Effect.ts +2893 -3279
- 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 +152 -105
- 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 +620 -786
- package/src/JsonPatch.ts +58 -112
- package/src/JsonPointer.ts +8 -8
- package/src/JsonSchema.ts +402 -244
- 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 +344 -697
- package/src/ManagedRuntime.ts +7 -5
- package/src/Match.ts +217 -252
- package/src/Metric.ts +516 -1089
- 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 +243 -383
- package/src/Option.ts +447 -812
- package/src/Order.ts +109 -109
- package/src/Ordering.ts +20 -23
- 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 +291 -488
- 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 -168
- package/src/RegExp.ts +10 -14
- package/src/Request.ts +31 -21
- package/src/RequestResolver.ts +202 -91
- package/src/Result.ts +312 -484
- package/src/Runtime.ts +50 -75
- package/src/Schedule.ts +308 -1734
- package/src/Scheduler.ts +20 -7
- package/src/Schema.ts +716 -745
- package/src/SchemaAST.ts +466 -358
- package/src/SchemaError.ts +7 -6
- package/src/SchemaGetter.ts +242 -190
- package/src/SchemaIssue.ts +89 -275
- package/src/SchemaParser.ts +180 -93
- package/src/SchemaRepresentation.ts +22 -40
- package/src/SchemaTransformation.ts +129 -88
- package/src/Scope.ts +123 -151
- package/src/ScopedRef.ts +4 -4
- package/src/Semaphore.ts +152 -51
- package/src/Sink.ts +128 -113
- package/src/Stdio.ts +1 -1
- package/src/Stream.ts +2602 -3123
- package/src/String.ts +275 -312
- package/src/Struct.ts +109 -114
- 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 +126 -67
- package/src/Unify.ts +45 -65
- package/src/Utils.ts +23 -16
- package/src/internal/core.ts +2 -2
- package/src/internal/dateTime.ts +6 -0
- package/src/internal/effect.ts +93 -48
- package/src/internal/persistence.ts +2 -0
- package/src/internal/references.ts +3 -2
- package/src/internal/schema/fromJsonSchemaDocument.ts +15 -13
- package/src/internal/schema/fromRepresentation.ts +10 -16
- package/src/internal/schema/parser.ts +22 -0
- package/src/internal/schema/toJsonSchemaDocument.ts +60 -6
- package/src/internal/schema/toRepresentation.ts +104 -119
- package/src/internal/trie.ts +10 -11
- package/src/testing/FastCheck.ts +8 -7
- package/src/testing/TestClock.ts +72 -30
- package/src/testing/TestConsole.ts +32 -31
- package/src/testing/TestSchema.ts +29 -29
- package/src/unstable/ai/AiError.ts +95 -118
- package/src/unstable/ai/AnthropicStructuredOutput.ts +1 -1
- package/src/unstable/ai/Chat.ts +132 -97
- package/src/unstable/ai/IdGenerator.ts +32 -28
- package/src/unstable/ai/LanguageModel.ts +107 -67
- package/src/unstable/ai/McpProtocol.ts +48 -0
- package/src/unstable/ai/McpSchema.ts +60 -50
- package/src/unstable/ai/McpServer.ts +930 -304
- package/src/unstable/ai/Model.ts +9 -20
- package/src/unstable/ai/OpenAiStructuredOutput.ts +1 -1
- package/src/unstable/ai/Prompt.ts +145 -43
- package/src/unstable/ai/Response.ts +28 -14
- package/src/unstable/ai/Telemetry.ts +46 -13
- package/src/unstable/ai/Tokenizer.ts +14 -3
- package/src/unstable/ai/Tool.ts +59 -44
- package/src/unstable/ai/Toolkit.ts +26 -8
- package/src/unstable/ai/index.ts +5 -0
- 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 +13 -18
- package/src/unstable/cli/Argument.ts +273 -69
- package/src/unstable/cli/CliError.ts +69 -76
- package/src/unstable/cli/CliOutput.ts +44 -58
- package/src/unstable/cli/Command.ts +705 -107
- 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 +292 -78
- package/src/unstable/cli/Primitive.ts +370 -149
- package/src/unstable/cli/Prompt.ts +28 -14
- 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 +5 -1
- package/src/unstable/cluster/Entity.ts +15 -16
- package/src/unstable/cluster/EntityProxy.ts +4 -2
- package/src/unstable/cluster/EntityResource.ts +2 -2
- package/src/unstable/cluster/Envelope.ts +3 -3
- 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 +4 -6
- 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/Sharding.ts +7 -8
- package/src/unstable/cluster/ShardingConfig.ts +3 -3
- package/src/unstable/cluster/SingletonAddress.ts +1 -1
- package/src/unstable/cluster/Snowflake.ts +8 -8
- package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
- package/src/unstable/cluster/SqlRunnerStorage.ts +21 -5
- package/src/unstable/cluster/internal/entityManager.ts +11 -15
- 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 +15 -15
- package/src/unstable/eventlog/EventLog.ts +3 -3
- package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
- package/src/unstable/eventlog/EventLogMessage.ts +2 -2
- 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/http/Cookies.ts +35 -21
- package/src/unstable/http/Etag.ts +1 -1
- package/src/unstable/http/FetchHttpClient.ts +3 -1
- package/src/unstable/http/Headers.ts +2 -2
- package/src/unstable/http/HttpBody.ts +20 -5
- package/src/unstable/http/HttpClient.ts +83 -55
- package/src/unstable/http/HttpClientRequest.ts +2 -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 +4 -4
- package/src/unstable/http/HttpServerResponse.ts +30 -0
- package/src/unstable/http/HttpStaticServer.ts +35 -7
- package/src/unstable/http/Multipart.ts +6 -6
- package/src/unstable/http/Url.ts +33 -63
- package/src/unstable/http/UrlParams.ts +10 -18
- package/src/unstable/http/internal/compression.ts +196 -0
- package/src/unstable/httpapi/HttpApiBuilder.ts +10 -9
- package/src/unstable/httpapi/HttpApiClient.ts +14 -14
- package/src/unstable/httpapi/HttpApiEndpoint.ts +42 -42
- package/src/unstable/httpapi/HttpApiError.ts +13 -13
- package/src/unstable/httpapi/HttpApiGroup.ts +15 -15
- 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 +13 -13
- package/src/unstable/observability/OtlpExporter.ts +31 -19
- package/src/unstable/observability/OtlpMetrics.ts +4 -1
- package/src/unstable/observability/OtlpResource.ts +26 -17
- 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 +8 -8
- package/src/unstable/persistence/PersistedQueue.ts +6 -6
- package/src/unstable/persistence/Persistence.ts +126 -19
- package/src/unstable/persistence/RateLimiter.ts +26 -15
- package/src/unstable/persistence/Redis.ts +2 -2
- package/src/unstable/process/ChildProcess.ts +64 -21
- package/src/unstable/process/ChildProcessSpawner.ts +21 -10
- package/src/unstable/reactivity/AsyncResult.ts +12 -13
- package/src/unstable/reactivity/Atom.ts +28 -25
- package/src/unstable/reactivity/AtomHttpApi.ts +5 -4
- package/src/unstable/reactivity/AtomRegistry.ts +24 -3
- 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 +16 -15
- 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 +5 -5
- package/src/unstable/socket/Socket.ts +17 -4
- package/src/unstable/sql/SqlClient.ts +5 -6
- package/src/unstable/sql/SqlModel.ts +2 -2
- package/src/unstable/sql/SqlResolver.ts +5 -5
- package/src/unstable/sql/Statement.ts +24 -23
- 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/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/internal/version.ts +0 -2
package/dist/Metric.js
CHANGED
|
@@ -27,12 +27,8 @@ import * as _String from "./String.js";
|
|
|
27
27
|
*
|
|
28
28
|
* **Example** (Accessing the current metric attributes key)
|
|
29
29
|
*
|
|
30
|
-
* ```ts
|
|
31
|
-
* import {
|
|
32
|
-
*
|
|
33
|
-
* class AttributesKeyError extends Data.TaggedError("AttributesKeyError")<{
|
|
34
|
-
* readonly operation: string
|
|
35
|
-
* }> {}
|
|
30
|
+
* ```ts import.meta.vitest
|
|
31
|
+
* import { Effect, Metric } from "effect"
|
|
36
32
|
*
|
|
37
33
|
* const program = Effect.gen(function*() {
|
|
38
34
|
* // The key is used internally by the Effect runtime to manage metric attributes
|
|
@@ -66,9 +62,12 @@ import * as _String from "./String.js";
|
|
|
66
62
|
* isConstant: key === "effect/Metric/CurrentMetricAttributes" // true
|
|
67
63
|
* }
|
|
68
64
|
* })
|
|
65
|
+
*
|
|
66
|
+
* const result = await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map()))
|
|
67
|
+
* const key = result // => { keyValue: "effect/Metric/CurrentMetricAttributes", keyType: "string", isConstant: true }
|
|
69
68
|
* ```
|
|
70
69
|
*
|
|
71
|
-
* @category
|
|
70
|
+
* @category constants
|
|
72
71
|
* @since 4.0.0
|
|
73
72
|
*/
|
|
74
73
|
export const CurrentMetricAttributesKey = "effect/Metric/CurrentMetricAttributes";
|
|
@@ -89,17 +88,12 @@ export const CurrentMetricAttributesKey = "effect/Metric/CurrentMetricAttributes
|
|
|
89
88
|
*
|
|
90
89
|
* **Example** (Providing current metric attributes)
|
|
91
90
|
*
|
|
92
|
-
* ```ts
|
|
93
|
-
* import {
|
|
94
|
-
*
|
|
95
|
-
* class AttributesError extends Data.TaggedError("AttributesError")<{
|
|
96
|
-
* readonly operation: string
|
|
97
|
-
* }> {}
|
|
91
|
+
* ```ts import.meta.vitest
|
|
92
|
+
* import { Effect, Metric } from "effect"
|
|
98
93
|
*
|
|
99
94
|
* const program = Effect.gen(function*() {
|
|
100
95
|
* // Access current metric attributes
|
|
101
|
-
*
|
|
102
|
-
* console.log("Current attributes:", attributes)
|
|
96
|
+
* yield* Metric.CurrentMetricAttributes
|
|
103
97
|
*
|
|
104
98
|
* // Set new attributes context
|
|
105
99
|
* const newAttributes = { service: "api", version: "1.0" }
|
|
@@ -114,9 +108,12 @@ export const CurrentMetricAttributesKey = "effect/Metric/CurrentMetricAttributes
|
|
|
114
108
|
*
|
|
115
109
|
* return result
|
|
116
110
|
* })
|
|
111
|
+
*
|
|
112
|
+
* const attributes = await Effect.runPromise(program)
|
|
113
|
+
* const actual = attributes // => { service: "api", version: "1.0" }
|
|
117
114
|
* ```
|
|
118
115
|
*
|
|
119
|
-
* @category
|
|
116
|
+
* @category services
|
|
120
117
|
* @since 4.0.0
|
|
121
118
|
*/
|
|
122
119
|
export const CurrentMetricAttributes = /*#__PURE__*/Context.Reference(CurrentMetricAttributesKey, {
|
|
@@ -146,7 +143,7 @@ const MetricRegistryKey = "~effect/observability/Metric/MetricRegistryKey";
|
|
|
146
143
|
* @see {@link snapshot} for reading all registered metrics from the current `Effect` context
|
|
147
144
|
* @see {@link snapshotUnsafe} for reading all registered metrics from an explicit `Context`
|
|
148
145
|
*
|
|
149
|
-
* @category
|
|
146
|
+
* @category services
|
|
150
147
|
* @since 4.0.0
|
|
151
148
|
*/
|
|
152
149
|
export const MetricRegistry = /*#__PURE__*/Context.Reference(MetricRegistryKey, {
|
|
@@ -394,8 +391,8 @@ class SummaryMetric extends Metric$ {
|
|
|
394
391
|
return sortedQuantiles.map(q => [q, undefined]);
|
|
395
392
|
}
|
|
396
393
|
// Compute the value of the quantile in terms of rank:
|
|
397
|
-
//
|
|
398
|
-
//
|
|
394
|
+
// For a given quantile `q`, return the maximum value `v` such that at
|
|
395
|
+
// most `q * n` values are less than or equal to `v`.
|
|
399
396
|
return sortedQuantiles.map(q => {
|
|
400
397
|
if (q <= 0) return [q, samples[0]];
|
|
401
398
|
if (q >= 1) return [q, samples[sampleSize - 1]];
|
|
@@ -461,23 +458,17 @@ class MetricTransform extends Metric$ {
|
|
|
461
458
|
*
|
|
462
459
|
* **Example** (Checking metric values)
|
|
463
460
|
*
|
|
464
|
-
* ```ts
|
|
461
|
+
* ```ts import.meta.vitest
|
|
465
462
|
* import { Metric } from "effect"
|
|
466
463
|
*
|
|
467
|
-
*
|
|
468
|
-
*
|
|
469
|
-
* const notAMetric = { name: "fake-metric" }
|
|
470
|
-
*
|
|
471
|
-
* console.log(Metric.isMetric(counter)) // true
|
|
472
|
-
* console.log(Metric.isMetric(gauge)) // true
|
|
473
|
-
* console.log(Metric.isMetric(notAMetric)) // false
|
|
474
|
-
* console.log(Metric.isMetric(null)) // false
|
|
464
|
+
* Metric.isMetric(Metric.counter("requests")) // => true
|
|
465
|
+
* Metric.isMetric({ name: "requests" }) // => false
|
|
475
466
|
* ```
|
|
476
467
|
*
|
|
477
468
|
* @category guards
|
|
478
469
|
* @since 4.0.0
|
|
479
470
|
*/
|
|
480
|
-
export const isMetric = u => Predicate.hasProperty(u,
|
|
471
|
+
export const isMetric = u => Predicate.hasProperty(u, TypeId) && u[TypeId] === TypeId;
|
|
481
472
|
/**
|
|
482
473
|
* Represents a Counter metric that tracks cumulative numerical values over
|
|
483
474
|
* time. Counters can be incremented and decremented and provide a running total
|
|
@@ -492,12 +483,8 @@ export const isMetric = u => Predicate.hasProperty(u, "~effect/Metric") && u["~e
|
|
|
492
483
|
*
|
|
493
484
|
* **Example** (Creating counter metrics)
|
|
494
485
|
*
|
|
495
|
-
* ```ts
|
|
496
|
-
* import {
|
|
497
|
-
*
|
|
498
|
-
* class CounterError extends Data.TaggedError("CounterError")<{
|
|
499
|
-
* readonly operation: string
|
|
500
|
-
* }> {}
|
|
486
|
+
* ```ts import.meta.vitest
|
|
487
|
+
* import { Effect, Metric } from "effect"
|
|
501
488
|
*
|
|
502
489
|
* const program = Effect.gen(function*() {
|
|
503
490
|
* // Create a basic counter for tracking requests
|
|
@@ -531,6 +518,9 @@ export const isMetric = u => Predicate.hasProperty(u, "~effect/Metric") && u["~e
|
|
|
531
518
|
*
|
|
532
519
|
* return { requestValue, eventValue, bytesValue }
|
|
533
520
|
* })
|
|
521
|
+
*
|
|
522
|
+
* const result = await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map()))
|
|
523
|
+
* const counts = [result.requestValue.count, result.eventValue.count, result.bytesValue.count] // => [6, 1, 1024n]
|
|
534
524
|
* ```
|
|
535
525
|
*
|
|
536
526
|
* @category constructors
|
|
@@ -554,12 +544,8 @@ export const counter = (name, options) => new CounterMetric(name, options);
|
|
|
554
544
|
*
|
|
555
545
|
* **Example** (Creating gauge metrics)
|
|
556
546
|
*
|
|
557
|
-
* ```ts
|
|
558
|
-
* import {
|
|
559
|
-
*
|
|
560
|
-
* class GaugeError extends Data.TaggedError("GaugeError")<{
|
|
561
|
-
* readonly operation: string
|
|
562
|
-
* }> {}
|
|
547
|
+
* ```ts import.meta.vitest
|
|
548
|
+
* import { Effect, Metric } from "effect"
|
|
563
549
|
*
|
|
564
550
|
* const program = Effect.gen(function*() {
|
|
565
551
|
* // Create a gauge for tracking memory usage
|
|
@@ -598,6 +584,9 @@ export const counter = (name, options) => new CounterMetric(name, options);
|
|
|
598
584
|
*
|
|
599
585
|
* return { memoryValue, cpuValue, diskValue }
|
|
600
586
|
* })
|
|
587
|
+
*
|
|
588
|
+
* const result = await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map()))
|
|
589
|
+
* const values = [result.memoryValue.value, result.cpuValue.value, result.diskValue.value] // => [800, 75, 1024000000n]
|
|
601
590
|
* ```
|
|
602
591
|
*
|
|
603
592
|
* @category constructors
|
|
@@ -621,12 +610,8 @@ export const gauge = (name, options) => new GaugeMetric(name, options);
|
|
|
621
610
|
*
|
|
622
611
|
* **Example** (Creating frequency metrics)
|
|
623
612
|
*
|
|
624
|
-
* ```ts
|
|
625
|
-
* import {
|
|
626
|
-
*
|
|
627
|
-
* class FrequencyError extends Data.TaggedError("FrequencyError")<{
|
|
628
|
-
* readonly operation: string
|
|
629
|
-
* }> {}
|
|
613
|
+
* ```ts import.meta.vitest
|
|
614
|
+
* import { Effect, Metric } from "effect"
|
|
630
615
|
*
|
|
631
616
|
* const program = Effect.gen(function*() {
|
|
632
617
|
* // Create a frequency metric for HTTP status codes
|
|
@@ -676,6 +661,14 @@ export const gauge = (name, options) => new GaugeMetric(name, options);
|
|
|
676
661
|
*
|
|
677
662
|
* return { statusCounts, actionCounts, errorCounts }
|
|
678
663
|
* })
|
|
664
|
+
*
|
|
665
|
+
* const result = await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map()))
|
|
666
|
+
* const counts = [
|
|
667
|
+
* result.statusCounts.occurrences.get("200"),
|
|
668
|
+
* result.actionCounts.occurrences.get("login"),
|
|
669
|
+
* result.errorCounts.occurrences.get("ValidationError")
|
|
670
|
+
* ]
|
|
671
|
+
* counts // => [3, 2, 2]
|
|
679
672
|
* ```
|
|
680
673
|
*
|
|
681
674
|
* @category constructors
|
|
@@ -698,19 +691,15 @@ export const frequency = (name, options) => new FrequencyMetric(name, options);
|
|
|
698
691
|
*
|
|
699
692
|
* **Example** (Creating histogram metrics)
|
|
700
693
|
*
|
|
701
|
-
* ```ts
|
|
702
|
-
* import {
|
|
703
|
-
*
|
|
704
|
-
* class HistogramError extends Data.TaggedError("HistogramError")<{
|
|
705
|
-
* readonly operation: string
|
|
706
|
-
* }> {}
|
|
694
|
+
* ```ts import.meta.vitest
|
|
695
|
+
* import { Effect, Metric } from "effect"
|
|
707
696
|
*
|
|
708
697
|
* const program = Effect.gen(function*() {
|
|
709
698
|
* // Create a histogram for API response times
|
|
710
699
|
* const responseTimeHistogram = Metric.histogram("api_response_time", {
|
|
711
700
|
* description: "Distribution of API response times in milliseconds",
|
|
712
701
|
* boundaries: Metric.linearBoundaries({ start: 0, width: 50, count: 10 })
|
|
713
|
-
* // Creates buckets: 0-50ms, 50-100ms, 100-150ms, ...,
|
|
702
|
+
* // Creates buckets: 0-50ms, 50-100ms, 100-150ms, ..., 350-400ms, 400ms+
|
|
714
703
|
* })
|
|
715
704
|
*
|
|
716
705
|
* // Create a histogram for request payload sizes
|
|
@@ -750,6 +739,10 @@ export const frequency = (name, options) => new FrequencyMetric(name, options);
|
|
|
750
739
|
*
|
|
751
740
|
* return { responseTimeState, payloadSizeState }
|
|
752
741
|
* })
|
|
742
|
+
*
|
|
743
|
+
* const result = await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map()))
|
|
744
|
+
* const values = [result.responseTimeState.count, result.responseTimeState.sum, result.payloadSizeState.count]
|
|
745
|
+
* values // => [5, 500, 3]
|
|
753
746
|
* ```
|
|
754
747
|
*
|
|
755
748
|
* @category constructors
|
|
@@ -774,12 +767,8 @@ export const histogram = (name, options) => new HistogramMetric(name, options);
|
|
|
774
767
|
*
|
|
775
768
|
* **Example** (Creating summary metrics)
|
|
776
769
|
*
|
|
777
|
-
* ```ts
|
|
778
|
-
* import {
|
|
779
|
-
*
|
|
780
|
-
* class SummaryError extends Data.TaggedError("SummaryError")<{
|
|
781
|
-
* readonly operation: string
|
|
782
|
-
* }> {}
|
|
770
|
+
* ```ts import.meta.vitest
|
|
771
|
+
* import { Duration, Effect, Metric } from "effect"
|
|
783
772
|
*
|
|
784
773
|
* const program = Effect.gen(function*() {
|
|
785
774
|
* // Create a summary for API response times
|
|
@@ -815,24 +804,16 @@ export const histogram = (name, options) => new HistogramMetric(name, options);
|
|
|
815
804
|
* const responseStats = yield* Metric.value(responseTimeSummary)
|
|
816
805
|
* const payloadStats = yield* Metric.value(payloadSizeSummary)
|
|
817
806
|
*
|
|
818
|
-
* console.log({
|
|
819
|
-
* count: responseStats.count,
|
|
820
|
-
* min: responseStats.min,
|
|
821
|
-
* max: responseStats.max,
|
|
822
|
-
* sum: responseStats.sum
|
|
823
|
-
* }) // { count: 8, min: 82, max: 240, sum: 1155 }
|
|
824
|
-
*
|
|
825
|
-
* console.log({
|
|
826
|
-
* count: payloadStats.count,
|
|
827
|
-
* min: payloadStats.min,
|
|
828
|
-
* max: payloadStats.max,
|
|
829
|
-
* sum: payloadStats.sum
|
|
830
|
-
* }) // { count: 4, min: 1.2, max: 15.6, sum: 26 }
|
|
831
|
-
*
|
|
832
807
|
* // Both summaries include quantile information for their configured windows.
|
|
833
808
|
*
|
|
834
809
|
* return { responseStats, payloadStats }
|
|
835
810
|
* })
|
|
811
|
+
*
|
|
812
|
+
* const result = await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map()))
|
|
813
|
+
* const response = result.responseStats
|
|
814
|
+
* const payload = result.payloadStats
|
|
815
|
+
* const responseValues = [response.count, response.min, response.max, response.sum] // => [8, 82, 240, 1155]
|
|
816
|
+
* const payloadValues = [payload.count, payload.min, payload.max, payload.sum] // => [4, 1.2, 15.6, 26]
|
|
836
817
|
* ```
|
|
837
818
|
*
|
|
838
819
|
* @category constructors
|
|
@@ -860,7 +841,7 @@ export const summary = (name, options) => mapInput(summaryWithTimestamp(name, op
|
|
|
860
841
|
*
|
|
861
842
|
* **Example** (Creating summaries with explicit timestamps)
|
|
862
843
|
*
|
|
863
|
-
* ```ts
|
|
844
|
+
* ```ts import.meta.vitest
|
|
864
845
|
* import { Metric } from "effect"
|
|
865
846
|
*
|
|
866
847
|
* const responseTimesSummary = Metric.summaryWithTimestamp(
|
|
@@ -872,6 +853,7 @@ export const summary = (name, options) => mapInput(summaryWithTimestamp(name, op
|
|
|
872
853
|
* quantiles: [0.5, 0.9, 0.99] // Calculate 50th, 90th, and 99th quantiles.
|
|
873
854
|
* }
|
|
874
855
|
* )
|
|
856
|
+
* const metadata = [responseTimesSummary.id, responseTimesSummary.type] // => ["response_times_summary", "Summary"]
|
|
875
857
|
* ```
|
|
876
858
|
*
|
|
877
859
|
* @category constructors
|
|
@@ -892,12 +874,8 @@ export const summaryWithTimestamp = (name, options) => new SummaryMetric(name, o
|
|
|
892
874
|
*
|
|
893
875
|
* **Example** (Recording durations with a timer)
|
|
894
876
|
*
|
|
895
|
-
* ```ts
|
|
896
|
-
* import {
|
|
897
|
-
*
|
|
898
|
-
* class TimerError extends Data.TaggedError("TimerError")<{
|
|
899
|
-
* readonly operation: string
|
|
900
|
-
* }> {}
|
|
877
|
+
* ```ts import.meta.vitest
|
|
878
|
+
* import { Duration, Effect, Metric } from "effect"
|
|
901
879
|
*
|
|
902
880
|
* // Create a timer metric to track API request durations
|
|
903
881
|
* const apiRequestTimer = Metric.timer("api_request_duration", {
|
|
@@ -911,13 +889,17 @@ export const summaryWithTimestamp = (name, options) => new SummaryMetric(name, o
|
|
|
911
889
|
* yield* Metric.update(apiRequestTimer, duration)
|
|
912
890
|
*
|
|
913
891
|
* const state = yield* Metric.value(apiRequestTimer)
|
|
914
|
-
*
|
|
892
|
+
* return {
|
|
915
893
|
* count: state.count,
|
|
916
894
|
* min: state.min,
|
|
917
895
|
* max: state.max,
|
|
918
896
|
* sum: state.sum
|
|
919
|
-
* }
|
|
897
|
+
* }
|
|
920
898
|
* })
|
|
899
|
+
*
|
|
900
|
+
* await Effect.runPromise(
|
|
901
|
+
* Effect.provideService(apiOperation, Metric.MetricRegistry, new Map())
|
|
902
|
+
* ) // => { count: 1, min: 120, max: 120, sum: 120 }
|
|
921
903
|
* ```
|
|
922
904
|
*
|
|
923
905
|
* @category constructors
|
|
@@ -953,10 +935,10 @@ export const timer = (name, options) => {
|
|
|
953
935
|
*
|
|
954
936
|
* **Example** (Reading metric state)
|
|
955
937
|
*
|
|
956
|
-
* ```ts
|
|
938
|
+
* ```ts import.meta.vitest
|
|
957
939
|
* import { Effect, Metric } from "effect"
|
|
958
940
|
*
|
|
959
|
-
* const requestCounter = Metric.counter("
|
|
941
|
+
* const requestCounter = Metric.counter("modify_requests")
|
|
960
942
|
* const responseTime = Metric.histogram("response_time", {
|
|
961
943
|
* boundaries: [100, 500, 1000, 2000]
|
|
962
944
|
* })
|
|
@@ -968,16 +950,19 @@ export const timer = (name, options) => {
|
|
|
968
950
|
*
|
|
969
951
|
* // Get current values
|
|
970
952
|
* const counterState = yield* Metric.value(requestCounter)
|
|
971
|
-
* console.log(`Request count: ${counterState.count}`)
|
|
972
|
-
*
|
|
973
953
|
* const histogramState = yield* Metric.value(responseTime)
|
|
974
|
-
*
|
|
954
|
+
* return {
|
|
955
|
+
* requestCount: counterState.count,
|
|
975
956
|
* count: histogramState.count,
|
|
976
957
|
* min: histogramState.min,
|
|
977
958
|
* max: histogramState.max,
|
|
978
959
|
* average: histogramState.sum / histogramState.count
|
|
979
|
-
* }
|
|
960
|
+
* }
|
|
980
961
|
* })
|
|
962
|
+
*
|
|
963
|
+
* await Effect.runPromise(
|
|
964
|
+
* Effect.provideService(program, Metric.MetricRegistry, new Map())
|
|
965
|
+
* ) // => { requestCount: 1, count: 1, min: 750, max: 750, average: 750 }
|
|
981
966
|
* ```
|
|
982
967
|
*
|
|
983
968
|
* @category getters
|
|
@@ -997,7 +982,7 @@ export const value = self => InternalEffect.flatMap(InternalEffect.context(), co
|
|
|
997
982
|
*
|
|
998
983
|
* **Example** (Modifying metric values)
|
|
999
984
|
*
|
|
1000
|
-
* ```ts
|
|
985
|
+
* ```ts import.meta.vitest
|
|
1001
986
|
* import { Effect, Metric } from "effect"
|
|
1002
987
|
*
|
|
1003
988
|
* const temperatureGauge = Metric.gauge("temperature")
|
|
@@ -1017,10 +1002,10 @@ export const value = self => InternalEffect.flatMap(InternalEffect.context(), co
|
|
|
1017
1002
|
*
|
|
1018
1003
|
* const temp = yield* Metric.value(temperatureGauge)
|
|
1019
1004
|
* const requests = yield* Metric.value(requestCounter)
|
|
1020
|
-
*
|
|
1021
|
-
* console.log(`Temperature: ${temp.value}°C`) // 22°C
|
|
1022
|
-
* console.log(`Requests: ${requests.count}`) // 15
|
|
1005
|
+
* return [temp.value, requests.count] as const
|
|
1023
1006
|
* })
|
|
1007
|
+
*
|
|
1008
|
+
* await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map())) // => [22, 15]
|
|
1024
1009
|
* ```
|
|
1025
1010
|
*
|
|
1026
1011
|
* @category mutations
|
|
@@ -1040,7 +1025,7 @@ export const modify = /*#__PURE__*/dual(2, (self, input) => InternalEffect.flatM
|
|
|
1040
1025
|
*
|
|
1041
1026
|
* **Example** (Updating metric values)
|
|
1042
1027
|
*
|
|
1043
|
-
* ```ts
|
|
1028
|
+
* ```ts import.meta.vitest
|
|
1044
1029
|
* import { Effect, Metric } from "effect"
|
|
1045
1030
|
*
|
|
1046
1031
|
* const cpuUsage = Metric.gauge("cpu_usage_percent")
|
|
@@ -1068,11 +1053,10 @@ export const modify = /*#__PURE__*/dual(2, (self, input) => InternalEffect.flatM
|
|
|
1068
1053
|
* const cpu = yield* Metric.value(cpuUsage)
|
|
1069
1054
|
* const statuses = yield* Metric.value(httpStatus)
|
|
1070
1055
|
* const times = yield* Metric.value(responseTime)
|
|
1071
|
-
*
|
|
1072
|
-
* console.log(`CPU Usage: ${cpu.value}%`)
|
|
1073
|
-
* console.log(`Status 200 count: ${statuses.occurrences.get("200")}`) // 2
|
|
1074
|
-
* console.log(`Response time samples: ${times.count}`) // 3
|
|
1056
|
+
* return [cpu.value, statuses.occurrences.get("200"), times.count] as const
|
|
1075
1057
|
* })
|
|
1058
|
+
*
|
|
1059
|
+
* await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map())) // => [67.8, 2, 3]
|
|
1076
1060
|
* ```
|
|
1077
1061
|
*
|
|
1078
1062
|
* @category mutations
|
|
@@ -1086,36 +1070,30 @@ export const update = /*#__PURE__*/dual(2, (self, input) => InternalEffect.conte
|
|
|
1086
1070
|
*
|
|
1087
1071
|
* **Example** (Mapping metric inputs)
|
|
1088
1072
|
*
|
|
1089
|
-
* ```ts
|
|
1090
|
-
* import {
|
|
1091
|
-
*
|
|
1092
|
-
* class MetricError extends Data.TaggedError("MetricError")<{
|
|
1093
|
-
* readonly operation: string
|
|
1094
|
-
* }> {}
|
|
1073
|
+
* ```ts import.meta.vitest
|
|
1074
|
+
* import { Effect, Metric } from "effect"
|
|
1095
1075
|
*
|
|
1096
|
-
* // Create a histogram that expects Duration values
|
|
1097
1076
|
* const durationHistogram = Metric.histogram("request_duration_ms", {
|
|
1098
1077
|
* description: "Request duration in milliseconds",
|
|
1099
1078
|
* boundaries: Metric.linearBoundaries({ start: 0, width: 100, count: 10 })
|
|
1100
1079
|
* })
|
|
1101
1080
|
*
|
|
1102
|
-
* //
|
|
1103
|
-
* const
|
|
1081
|
+
* // Accept duration strings while recording numeric milliseconds
|
|
1082
|
+
* const durationStringHistogram = Metric.mapInput(
|
|
1104
1083
|
* durationHistogram,
|
|
1105
|
-
* (
|
|
1084
|
+
* (input: string) => Number(input)
|
|
1106
1085
|
* )
|
|
1107
1086
|
*
|
|
1108
1087
|
* const program = Effect.gen(function*() {
|
|
1109
|
-
*
|
|
1110
|
-
* yield* Metric.
|
|
1111
|
-
*
|
|
1112
|
-
* // Get metric value to see the recorded state
|
|
1113
|
-
* const value = yield* Metric.value(numberHistogram)
|
|
1114
|
-
* return value
|
|
1088
|
+
* yield* Metric.update(durationStringHistogram, "250")
|
|
1089
|
+
* return yield* Metric.value(durationStringHistogram)
|
|
1115
1090
|
* })
|
|
1091
|
+
*
|
|
1092
|
+
* const value = await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map()))
|
|
1093
|
+
* const values = [value.count, value.sum] // => [1, 250]
|
|
1116
1094
|
* ```
|
|
1117
1095
|
*
|
|
1118
|
-
* @category
|
|
1096
|
+
* @category annotations
|
|
1119
1097
|
* @since 2.0.0
|
|
1120
1098
|
*/
|
|
1121
1099
|
export const mapInput = /*#__PURE__*/dual(2, (self, f) => new MetricTransform(self, context => self.valueUnsafe(context), (input, context) => self.updateUnsafe(f(input, context), context), (input, context) => self.modifyUnsafe(f(input, context), context)));
|
|
@@ -1126,12 +1104,8 @@ export const mapInput = /*#__PURE__*/dual(2, (self, f) => new MetricTransform(se
|
|
|
1126
1104
|
*
|
|
1127
1105
|
* **Example** (Ignoring inputs with a constant value)
|
|
1128
1106
|
*
|
|
1129
|
-
* ```ts
|
|
1130
|
-
* import {
|
|
1131
|
-
*
|
|
1132
|
-
* class MetricError extends Data.TaggedError("MetricError")<{
|
|
1133
|
-
* readonly operation: string
|
|
1134
|
-
* }> {}
|
|
1107
|
+
* ```ts import.meta.vitest
|
|
1108
|
+
* import { Effect, Metric } from "effect"
|
|
1135
1109
|
*
|
|
1136
1110
|
* // Create a counter that normally expects a number increment
|
|
1137
1111
|
* const requestCounter = Metric.counter("total_requests", {
|
|
@@ -1150,9 +1124,12 @@ export const mapInput = /*#__PURE__*/dual(2, (self, f) => new MetricTransform(se
|
|
|
1150
1124
|
* const value = yield* Metric.value(simpleRequestCounter)
|
|
1151
1125
|
* return value // Counter state will show count: 3
|
|
1152
1126
|
* })
|
|
1127
|
+
*
|
|
1128
|
+
* const value = await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map()))
|
|
1129
|
+
* const count = value.count // => 3
|
|
1153
1130
|
* ```
|
|
1154
1131
|
*
|
|
1155
|
-
* @category
|
|
1132
|
+
* @category mapping
|
|
1156
1133
|
* @since 2.0.0
|
|
1157
1134
|
*/
|
|
1158
1135
|
export const withConstantInput = /*#__PURE__*/dual(2, (self, input) => mapInput(self, () => input));
|
|
@@ -1167,7 +1144,7 @@ export const withConstantInput = /*#__PURE__*/dual(2, (self, input) => mapInput(
|
|
|
1167
1144
|
*
|
|
1168
1145
|
* **Example** (Applying metric attributes)
|
|
1169
1146
|
*
|
|
1170
|
-
* ```ts
|
|
1147
|
+
* ```ts import.meta.vitest
|
|
1171
1148
|
* import { Effect, Metric } from "effect"
|
|
1172
1149
|
*
|
|
1173
1150
|
* const requestCounter = Metric.counter("http_requests_total", {
|
|
@@ -1200,18 +1177,17 @@ export const withConstantInput = /*#__PURE__*/dual(2, (self, input) => mapInput(
|
|
|
1200
1177
|
* yield* Metric.update(taggedMetric, 1) // http_requests_total{service="user-api", version="v1"}
|
|
1201
1178
|
* })
|
|
1202
1179
|
*
|
|
1203
|
-
*
|
|
1204
|
-
*
|
|
1205
|
-
* const
|
|
1206
|
-
*
|
|
1207
|
-
*
|
|
1208
|
-
* console.log(`${metric.id}`, metric.attributes, metric.state)
|
|
1209
|
-
* }
|
|
1210
|
-
* }
|
|
1180
|
+
* const result = Effect.gen(function*() {
|
|
1181
|
+
* yield* program
|
|
1182
|
+
* const get = yield* Metric.value(getRequests)
|
|
1183
|
+
* const post = yield* Metric.value(postRequests)
|
|
1184
|
+
* return [get.count, post.count] as const
|
|
1211
1185
|
* })
|
|
1186
|
+
*
|
|
1187
|
+
* await Effect.runPromise(Effect.provideService(result, Metric.MetricRegistry, new Map())) // => [2, 1]
|
|
1212
1188
|
* ```
|
|
1213
1189
|
*
|
|
1214
|
-
* @category
|
|
1190
|
+
* @category mapping
|
|
1215
1191
|
* @since 4.0.0
|
|
1216
1192
|
*/
|
|
1217
1193
|
export const withAttributes = /*#__PURE__*/dual(2, (self, attributes) => new MetricTransform(self, context => self.valueUnsafe(addAttributesToContext(context, attributes)), (input, context) => self.updateUnsafe(input, addAttributesToContext(context, attributes)), (input, context) => self.modifyUnsafe(input, addAttributesToContext(context, attributes))));
|
|
@@ -1226,12 +1202,8 @@ export const withAttributes = /*#__PURE__*/dual(2, (self, attributes) => new Met
|
|
|
1226
1202
|
*
|
|
1227
1203
|
* **Example** (Capturing metric snapshots)
|
|
1228
1204
|
*
|
|
1229
|
-
* ```ts
|
|
1230
|
-
* import {
|
|
1231
|
-
*
|
|
1232
|
-
* class SnapshotError extends Data.TaggedError("SnapshotError")<{
|
|
1233
|
-
* readonly operation: string
|
|
1234
|
-
* }> {}
|
|
1205
|
+
* ```ts import.meta.vitest
|
|
1206
|
+
* import { Effect, Metric } from "effect"
|
|
1235
1207
|
*
|
|
1236
1208
|
* const program = Effect.gen(function*() {
|
|
1237
1209
|
* // Create and update some metrics
|
|
@@ -1252,19 +1224,16 @@ export const withAttributes = /*#__PURE__*/dual(2, (self, attributes) => new Met
|
|
|
1252
1224
|
* // Take a snapshot of all metrics
|
|
1253
1225
|
* const snapshots = yield* Metric.snapshot
|
|
1254
1226
|
*
|
|
1255
|
-
* // Examine the snapshots
|
|
1256
|
-
* for (const snapshot of snapshots) {
|
|
1257
|
-
* yield* Console.log(`Metric: ${snapshot.id}`)
|
|
1258
|
-
* yield* Console.log(`Description: ${snapshot.description}`)
|
|
1259
|
-
* yield* Console.log(`Type: ${snapshot.type}`)
|
|
1260
|
-
* yield* Console.log(`State:`, snapshot.state)
|
|
1261
|
-
* }
|
|
1262
|
-
*
|
|
1263
1227
|
* return snapshots
|
|
1264
1228
|
* })
|
|
1229
|
+
*
|
|
1230
|
+
* const snapshots = await Effect.runPromise(
|
|
1231
|
+
* Effect.provideService(program, Metric.MetricRegistry, new Map())
|
|
1232
|
+
* )
|
|
1233
|
+
* const ids = snapshots.map((snapshot) => snapshot.id).sort() // => ["http_requests", "response_time_ms"]
|
|
1265
1234
|
* ```
|
|
1266
1235
|
*
|
|
1267
|
-
* @category
|
|
1236
|
+
* @category snapshotting
|
|
1268
1237
|
* @since 2.0.0
|
|
1269
1238
|
*/
|
|
1270
1239
|
export const snapshot = /*#__PURE__*/InternalEffect.map(/*#__PURE__*/InternalEffect.context(), context => snapshotUnsafe(context));
|
|
@@ -1280,12 +1249,8 @@ export const snapshot = /*#__PURE__*/InternalEffect.map(/*#__PURE__*/InternalEff
|
|
|
1280
1249
|
*
|
|
1281
1250
|
* **Example** (Dumping metrics as text)
|
|
1282
1251
|
*
|
|
1283
|
-
* ```ts
|
|
1284
|
-
* import {
|
|
1285
|
-
*
|
|
1286
|
-
* class DumpError extends Data.TaggedError("DumpError")<{
|
|
1287
|
-
* readonly operation: string
|
|
1288
|
-
* }> {}
|
|
1252
|
+
* ```ts import.meta.vitest
|
|
1253
|
+
* import { Effect, Metric } from "effect"
|
|
1289
1254
|
*
|
|
1290
1255
|
* const program = Effect.gen(function*() {
|
|
1291
1256
|
* // Create and update some metrics for demonstration
|
|
@@ -1309,20 +1274,21 @@ export const snapshot = /*#__PURE__*/InternalEffect.map(/*#__PURE__*/InternalEff
|
|
|
1309
1274
|
*
|
|
1310
1275
|
* // Get formatted dump of all metrics
|
|
1311
1276
|
* const metricsReport = yield* Metric.dump
|
|
1312
|
-
* yield* Console.log("Current Metrics:")
|
|
1313
|
-
* yield* Console.log(metricsReport)
|
|
1314
|
-
*
|
|
1315
|
-
* // Output will look like a formatted table:
|
|
1316
|
-
* // Name Description Type State
|
|
1317
|
-
* // http_requests_total Total HTTP requests Counter [count: 2]
|
|
1318
|
-
* // response_time_ms Current response time in milliseconds Gauge [value: 125]
|
|
1319
|
-
* // http_status_codes Frequency of HTTP status codes Frequency [occurrences: 200 -> 2, 404 -> 1]
|
|
1320
|
-
*
|
|
1321
1277
|
* return metricsReport
|
|
1322
1278
|
* })
|
|
1279
|
+
*
|
|
1280
|
+
* const report = await Effect.runPromise(
|
|
1281
|
+
* Effect.provideService(program, Metric.MetricRegistry, new Map())
|
|
1282
|
+
* )
|
|
1283
|
+
* const included = [
|
|
1284
|
+
* report.includes("http_requests_total"),
|
|
1285
|
+
* report.includes("response_time_ms"),
|
|
1286
|
+
* report.includes("http_status_codes")
|
|
1287
|
+
* ]
|
|
1288
|
+
* included // => [true, true, true]
|
|
1323
1289
|
* ```
|
|
1324
1290
|
*
|
|
1325
|
-
* @category
|
|
1291
|
+
* @category formatting
|
|
1326
1292
|
* @since 4.0.0
|
|
1327
1293
|
*/
|
|
1328
1294
|
export const dump = /*#__PURE__*/InternalEffect.flatMap(/*#__PURE__*/InternalEffect.context(), context => {
|
|
@@ -1368,56 +1334,20 @@ export const dump = /*#__PURE__*/InternalEffect.flatMap(/*#__PURE__*/InternalEff
|
|
|
1368
1334
|
*
|
|
1369
1335
|
* **Example** (Capturing snapshots from a context)
|
|
1370
1336
|
*
|
|
1371
|
-
* ```ts
|
|
1372
|
-
* import {
|
|
1373
|
-
*
|
|
1374
|
-
* class UnsafeSnapshotError extends Data.TaggedError("UnsafeSnapshotError")<{
|
|
1375
|
-
* readonly operation: string
|
|
1376
|
-
* }> {}
|
|
1377
|
-
*
|
|
1378
|
-
* // Use unsafeSnapshot in performance-critical scenarios or internal implementations
|
|
1379
|
-
* const performanceMetricsExporter = Effect.gen(function*() {
|
|
1380
|
-
* // Create some metrics first
|
|
1381
|
-
* const requestCounter = Metric.counter("http_requests", {
|
|
1382
|
-
* description: "Total HTTP requests"
|
|
1383
|
-
* })
|
|
1384
|
-
* const responseTime = Metric.gauge("response_time_ms", {
|
|
1385
|
-
* description: "Current response time"
|
|
1386
|
-
* })
|
|
1337
|
+
* ```ts import.meta.vitest
|
|
1338
|
+
* import { Effect, Metric } from "effect"
|
|
1387
1339
|
*
|
|
1388
|
-
*
|
|
1340
|
+
* const requestCounter = Metric.counter("http_requests")
|
|
1341
|
+
* const program = Effect.gen(function*() {
|
|
1389
1342
|
* yield* Metric.update(requestCounter, 1)
|
|
1390
|
-
* yield*
|
|
1391
|
-
*
|
|
1392
|
-
* // Get services context for unsafe operations
|
|
1393
|
-
* const services = yield* Effect.context()
|
|
1394
|
-
*
|
|
1395
|
-
* // Use snapshotUnsafe for direct, synchronous access
|
|
1396
|
-
* const snapshots = Metric.snapshotUnsafe(services)
|
|
1397
|
-
* const exportBatchCreatedAt = 1_700_000_000_000
|
|
1398
|
-
*
|
|
1399
|
-
* // Process snapshots immediately (useful for exporters, debugging tools)
|
|
1400
|
-
* const exportData = snapshots.map((snapshot) => ({
|
|
1401
|
-
* name: snapshot.id,
|
|
1402
|
-
* type: snapshot.type,
|
|
1403
|
-
* value: snapshot.state,
|
|
1404
|
-
* timestamp: exportBatchCreatedAt
|
|
1405
|
-
* }))
|
|
1406
|
-
*
|
|
1407
|
-
* // This is synchronous and doesn't involve Effect overhead
|
|
1408
|
-
* // Useful for performance-critical metric export operations
|
|
1409
|
-
* return exportData
|
|
1343
|
+
* const context = yield* Effect.context()
|
|
1344
|
+
* return Metric.snapshotUnsafe(context).map((snapshot) => snapshot.id)
|
|
1410
1345
|
* })
|
|
1411
1346
|
*
|
|
1412
|
-
*
|
|
1413
|
-
* const safeSnapshotExample = Effect.gen(function*() {
|
|
1414
|
-
* // This automatically handles the services context
|
|
1415
|
-
* const snapshots = yield* Metric.snapshot
|
|
1416
|
-
* return snapshots
|
|
1417
|
-
* })
|
|
1347
|
+
* await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map())) // => ["http_requests"]
|
|
1418
1348
|
* ```
|
|
1419
1349
|
*
|
|
1420
|
-
* @category
|
|
1350
|
+
* @category snapshotting
|
|
1421
1351
|
* @since 4.0.0
|
|
1422
1352
|
*/
|
|
1423
1353
|
export const snapshotUnsafe = context => {
|
|
@@ -1497,60 +1427,13 @@ const attributesToString = attributes => {
|
|
|
1497
1427
|
*
|
|
1498
1428
|
* **Example** (Creating boundaries from values)
|
|
1499
1429
|
*
|
|
1500
|
-
* ```ts
|
|
1501
|
-
* import {
|
|
1502
|
-
*
|
|
1503
|
-
* class BoundaryError extends Data.TaggedError("BoundaryError")<{
|
|
1504
|
-
* readonly operation: string
|
|
1505
|
-
* }> {}
|
|
1506
|
-
*
|
|
1507
|
-
* // Create boundaries from an array of custom values
|
|
1508
|
-
* const customBoundaries = Metric.boundariesFromIterable([
|
|
1509
|
-
* 10,
|
|
1510
|
-
* 25,
|
|
1511
|
-
* 50,
|
|
1512
|
-
* 100,
|
|
1513
|
-
* 250,
|
|
1514
|
-
* 500,
|
|
1515
|
-
* 1000
|
|
1516
|
-
* ])
|
|
1517
|
-
* console.log(customBoundaries) // [10, 25, 50, 100, 250, 500, 1000, Infinity]
|
|
1518
|
-
*
|
|
1519
|
-
* // Automatically removes duplicates and negative values
|
|
1520
|
-
* const messyBoundaries = Metric.boundariesFromIterable([
|
|
1521
|
-
* -5,
|
|
1522
|
-
* 0,
|
|
1523
|
-
* 10,
|
|
1524
|
-
* 10,
|
|
1525
|
-
* 25,
|
|
1526
|
-
* 25,
|
|
1527
|
-
* 50,
|
|
1528
|
-
* -1
|
|
1529
|
-
* ])
|
|
1530
|
-
* console.log(messyBoundaries) // [10, 25, 50, Infinity]
|
|
1531
|
-
*
|
|
1532
|
-
* // Works with any iterable (Set, generator functions, etc.)
|
|
1533
|
-
* const setBoundaries = Metric.boundariesFromIterable(
|
|
1534
|
-
* new Set([100, 200, 300, 200, 100])
|
|
1535
|
-
* )
|
|
1536
|
-
* console.log(setBoundaries) // [100, 200, 300, Infinity]
|
|
1537
|
-
*
|
|
1538
|
-
* // Use with histogram metric
|
|
1539
|
-
* const responseTimeHistogram = Metric.histogram("response_times", {
|
|
1540
|
-
* description: "API response time distribution",
|
|
1541
|
-
* boundaries: customBoundaries
|
|
1542
|
-
* })
|
|
1543
|
-
*
|
|
1544
|
-
* const program = Effect.gen(function*() {
|
|
1545
|
-
* yield* Metric.update(responseTimeHistogram, 75) // Goes in 50-100ms bucket
|
|
1546
|
-
* yield* Metric.update(responseTimeHistogram, 150) // Goes in 100-250ms bucket
|
|
1430
|
+
* ```ts import.meta.vitest
|
|
1431
|
+
* import { Metric } from "effect"
|
|
1547
1432
|
*
|
|
1548
|
-
*
|
|
1549
|
-
* return value
|
|
1550
|
-
* })
|
|
1433
|
+
* Metric.boundariesFromIterable([-5, 0, 10, 10, 25, 50]) // => [10, 25, 50, Infinity]
|
|
1551
1434
|
* ```
|
|
1552
1435
|
*
|
|
1553
|
-
* @category
|
|
1436
|
+
* @category constructors
|
|
1554
1437
|
* @since 4.0.0
|
|
1555
1438
|
*/
|
|
1556
1439
|
export const boundariesFromIterable = iterable => Arr.append(Arr.filter(new Set(iterable), n => n > 0), Number.POSITIVE_INFINITY);
|
|
@@ -1560,49 +1443,23 @@ export const boundariesFromIterable = iterable => Arr.append(Arr.filter(new Set(
|
|
|
1560
1443
|
*
|
|
1561
1444
|
* **Details**
|
|
1562
1445
|
*
|
|
1563
|
-
* Generates `count - 1`
|
|
1446
|
+
* Generates `count - 1` candidate boundaries using `start + index * width` for
|
|
1564
1447
|
* each zero-based index, then applies the same normalization as
|
|
1565
1448
|
* `boundariesFromIterable`: non-positive values are removed, duplicates are
|
|
1566
1449
|
* collapsed, and `Infinity` is appended.
|
|
1567
1450
|
*
|
|
1568
1451
|
* **Example** (Creating linear boundaries)
|
|
1569
1452
|
*
|
|
1570
|
-
* ```ts
|
|
1571
|
-
* import {
|
|
1572
|
-
*
|
|
1573
|
-
* class BoundaryError extends Data.TaggedError("BoundaryError")<{
|
|
1574
|
-
* readonly operation: string
|
|
1575
|
-
* }> {}
|
|
1576
|
-
*
|
|
1577
|
-
* // Create boundaries for response time histogram
|
|
1578
|
-
* const responseBoundaries = Metric.linearBoundaries({
|
|
1579
|
-
* start: 0, // Starting point
|
|
1580
|
-
* width: 100, // Offset used for the first boundary
|
|
1581
|
-
* count: 5 // Creates 4 boundaries + infinity
|
|
1582
|
-
* })
|
|
1583
|
-
* console.log(responseBoundaries) // [100, 101, 102, 103, Infinity]
|
|
1584
|
-
*
|
|
1585
|
-
* // Create a histogram using these boundaries
|
|
1586
|
-
* const responseTimeHistogram = Metric.histogram("api_response_time", {
|
|
1587
|
-
* description: "API response time distribution",
|
|
1588
|
-
* boundaries: responseBoundaries
|
|
1589
|
-
* })
|
|
1590
|
-
*
|
|
1591
|
-
* const program = Effect.gen(function*() {
|
|
1592
|
-
* // Record some response times
|
|
1593
|
-
* yield* Metric.update(responseTimeHistogram, 85)
|
|
1594
|
-
* yield* Metric.update(responseTimeHistogram, 101)
|
|
1595
|
-
* yield* Metric.update(responseTimeHistogram, 450)
|
|
1453
|
+
* ```ts import.meta.vitest
|
|
1454
|
+
* import { Metric } from "effect"
|
|
1596
1455
|
*
|
|
1597
|
-
*
|
|
1598
|
-
* return value
|
|
1599
|
-
* })
|
|
1456
|
+
* Metric.linearBoundaries({ start: 10, width: 20, count: 5 }) // => [10, 30, 50, 70, Infinity]
|
|
1600
1457
|
* ```
|
|
1601
1458
|
*
|
|
1602
|
-
* @category
|
|
1459
|
+
* @category constructors
|
|
1603
1460
|
* @since 4.0.0
|
|
1604
1461
|
*/
|
|
1605
|
-
export const linearBoundaries = options => boundariesFromIterable(Arr.makeBy(options.count - 1, n => options.start + n
|
|
1462
|
+
export const linearBoundaries = options => boundariesFromIterable(Arr.makeBy(options.count - 1, n => options.start + n * options.width));
|
|
1606
1463
|
/**
|
|
1607
1464
|
* Creates histogram bucket boundaries with exponentially increasing values.
|
|
1608
1465
|
*
|
|
@@ -1613,47 +1470,13 @@ export const linearBoundaries = options => boundariesFromIterable(Arr.makeBy(opt
|
|
|
1613
1470
|
*
|
|
1614
1471
|
* **Example** (Creating exponential boundaries)
|
|
1615
1472
|
*
|
|
1616
|
-
* ```ts
|
|
1617
|
-
* import {
|
|
1618
|
-
*
|
|
1619
|
-
* class BoundaryError extends Data.TaggedError("BoundaryError")<{
|
|
1620
|
-
* readonly operation: string
|
|
1621
|
-
* }> {}
|
|
1622
|
-
*
|
|
1623
|
-
* // Create exponential boundaries for request size histogram
|
|
1624
|
-
* // Buckets: 0-1KB, 1-2KB, 2-4KB, 4-8KB, 8KB+
|
|
1625
|
-
* const sizeBoundaries = Metric.exponentialBoundaries({
|
|
1626
|
-
* start: 1, // Starting at 1KB
|
|
1627
|
-
* factor: 2, // Each boundary doubles the previous
|
|
1628
|
-
* count: 5 // Creates 4 boundaries + infinity
|
|
1629
|
-
* })
|
|
1630
|
-
* console.log(sizeBoundaries) // [1, 2, 4, 8, Infinity]
|
|
1631
|
-
*
|
|
1632
|
-
* // Create a histogram for tracking request payload sizes
|
|
1633
|
-
* const requestSizeHistogram = Metric.histogram("request_size_kb", {
|
|
1634
|
-
* description: "Request payload size distribution in KB",
|
|
1635
|
-
* boundaries: sizeBoundaries
|
|
1636
|
-
* })
|
|
1637
|
-
*
|
|
1638
|
-
* // For very wide ranges, use larger factors
|
|
1639
|
-
* const latencyBoundaries = Metric.exponentialBoundaries({
|
|
1640
|
-
* start: 0.1, // Start at 0.1ms
|
|
1641
|
-
* factor: 10, // Each boundary is 10x larger
|
|
1642
|
-
* count: 6 // Creates ranges: 0.1ms, 1ms, 10ms, 100ms, 1000ms+
|
|
1643
|
-
* })
|
|
1644
|
-
*
|
|
1645
|
-
* const program = Effect.gen(function*() {
|
|
1646
|
-
* // Record different request sizes
|
|
1647
|
-
* yield* Metric.update(requestSizeHistogram, 1.5) // Goes in 1-2KB bucket
|
|
1648
|
-
* yield* Metric.update(requestSizeHistogram, 3.2) // Goes in 2-4KB bucket
|
|
1649
|
-
* yield* Metric.update(requestSizeHistogram, 12) // Goes in 8KB+ bucket
|
|
1473
|
+
* ```ts import.meta.vitest
|
|
1474
|
+
* import { Metric } from "effect"
|
|
1650
1475
|
*
|
|
1651
|
-
*
|
|
1652
|
-
* return value
|
|
1653
|
-
* })
|
|
1476
|
+
* Metric.exponentialBoundaries({ start: 1, factor: 2, count: 5 }) // => [1, 2, 4, 8, Infinity]
|
|
1654
1477
|
* ```
|
|
1655
1478
|
*
|
|
1656
|
-
* @category
|
|
1479
|
+
* @category constructors
|
|
1657
1480
|
* @since 4.0.0
|
|
1658
1481
|
*/
|
|
1659
1482
|
export const exponentialBoundaries = options => boundariesFromIterable(Arr.makeBy(options.count - 1, i => options.start * Math.pow(options.factor, i)));
|
|
@@ -1678,36 +1501,13 @@ const fiberFailures = /*#__PURE__*/counter("child_fiber_failures", {
|
|
|
1678
1501
|
*
|
|
1679
1502
|
* **Example** (Accessing the fiber runtime metrics key)
|
|
1680
1503
|
*
|
|
1681
|
-
* ```ts
|
|
1682
|
-
* import {
|
|
1683
|
-
*
|
|
1684
|
-
* class MetricsError extends Data.TaggedError("MetricsError")<{
|
|
1685
|
-
* readonly operation: string
|
|
1686
|
-
* }> {}
|
|
1687
|
-
*
|
|
1688
|
-
* const program = Effect.gen(function*() {
|
|
1689
|
-
* // The key is used internally by the Effect runtime to manage fiber metrics
|
|
1690
|
-
* const key = Metric.FiberRuntimeMetricsKey
|
|
1691
|
-
* console.log("Fiber metrics key:", key)
|
|
1692
|
-
*
|
|
1693
|
-
* // Enable runtime metrics using the key
|
|
1694
|
-
* const layer = Layer.succeed(Metric.FiberRuntimeMetrics)(
|
|
1695
|
-
* Metric.FiberRuntimeMetricsImpl
|
|
1696
|
-
* )
|
|
1697
|
-
*
|
|
1698
|
-
* return yield* Effect.gen(function*() {
|
|
1699
|
-
* // This Effect will have fiber metrics automatically collected
|
|
1700
|
-
* yield* Effect.sleep("100 millis")
|
|
1504
|
+
* ```ts import.meta.vitest
|
|
1505
|
+
* import { Metric } from "effect"
|
|
1701
1506
|
*
|
|
1702
|
-
*
|
|
1703
|
-
* const testCounter = Metric.counter("test_counter")
|
|
1704
|
-
* yield* Metric.update(testCounter, 1)
|
|
1705
|
-
* return yield* Metric.value(testCounter)
|
|
1706
|
-
* }).pipe(Effect.provide(layer))
|
|
1707
|
-
* })
|
|
1507
|
+
* Metric.FiberRuntimeMetricsKey // => "effect/observability/Metric/FiberRuntimeMetricsKey"
|
|
1708
1508
|
* ```
|
|
1709
1509
|
*
|
|
1710
|
-
* @category
|
|
1510
|
+
* @category constants
|
|
1711
1511
|
* @since 4.0.0
|
|
1712
1512
|
*/
|
|
1713
1513
|
export const FiberRuntimeMetricsKey = InternalMetric.FiberRuntimeMetricsKey;
|
|
@@ -1728,48 +1528,25 @@ export const FiberRuntimeMetricsKey = InternalMetric.FiberRuntimeMetricsKey;
|
|
|
1728
1528
|
*
|
|
1729
1529
|
* **Example** (Accessing the fiber runtime metrics service)
|
|
1730
1530
|
*
|
|
1731
|
-
* ```ts
|
|
1732
|
-
* import {
|
|
1733
|
-
*
|
|
1734
|
-
* class MetricsError extends Data.TaggedError("MetricsError")<{
|
|
1735
|
-
* readonly operation: string
|
|
1736
|
-
* }> {}
|
|
1531
|
+
* ```ts import.meta.vitest
|
|
1532
|
+
* import { Effect, Metric } from "effect"
|
|
1737
1533
|
*
|
|
1738
1534
|
* const program = Effect.gen(function*() {
|
|
1739
|
-
* // Access the fiber runtime metrics service
|
|
1740
1535
|
* const metricsService = yield* Metric.FiberRuntimeMetrics
|
|
1741
|
-
*
|
|
1742
|
-
* if (metricsService) {
|
|
1743
|
-
* console.log("Runtime metrics are enabled")
|
|
1744
|
-
* } else {
|
|
1745
|
-
* console.log("Runtime metrics are disabled")
|
|
1746
|
-
* }
|
|
1747
|
-
*
|
|
1748
|
-
* // Enable runtime metrics for the application
|
|
1749
|
-
* const enabledLayer = Metric.enableRuntimeMetricsLayer
|
|
1750
|
-
*
|
|
1751
|
-
* return yield* Effect.gen(function*() {
|
|
1752
|
-
* // Create some concurrent fibers to see metrics in action
|
|
1753
|
-
* yield* Effect.all([
|
|
1754
|
-
* Effect.sleep("100 millis"),
|
|
1755
|
-
* Effect.sleep("200 millis"),
|
|
1756
|
-
* Effect.sleep("300 millis")
|
|
1757
|
-
* ], { concurrency: "unbounded" })
|
|
1758
|
-
*
|
|
1759
|
-
* // Create test metrics to demonstrate the service
|
|
1760
|
-
* const testCounter = Metric.counter("test_counter")
|
|
1761
|
-
* yield* Metric.update(testCounter, 5)
|
|
1762
|
-
* const counterValue = yield* Metric.value(testCounter)
|
|
1763
|
-
*
|
|
1764
|
-
* return { counterValue, metricsEnabled: true }
|
|
1765
|
-
* }).pipe(Effect.provide(enabledLayer))
|
|
1536
|
+
* return metricsService === Metric.FiberRuntimeMetricsImpl
|
|
1766
1537
|
* })
|
|
1538
|
+
*
|
|
1539
|
+
* const result = await Effect.runPromise(
|
|
1540
|
+
* Effect.provideService(program, Metric.FiberRuntimeMetrics, Metric.FiberRuntimeMetricsImpl)
|
|
1541
|
+
* )
|
|
1542
|
+
* const isDefault = result // => true
|
|
1767
1543
|
* ```
|
|
1768
1544
|
*
|
|
1769
|
-
* @category
|
|
1545
|
+
* @category services
|
|
1770
1546
|
* @since 4.0.0
|
|
1771
1547
|
*/
|
|
1772
1548
|
export const FiberRuntimeMetrics = /*#__PURE__*/Context.Reference(InternalMetric.FiberRuntimeMetricsKey, {
|
|
1549
|
+
fiberCached: true,
|
|
1773
1550
|
defaultValue: constUndefined
|
|
1774
1551
|
});
|
|
1775
1552
|
/**
|
|
@@ -1777,44 +1554,16 @@ export const FiberRuntimeMetrics = /*#__PURE__*/Context.Reference(InternalMetric
|
|
|
1777
1554
|
*
|
|
1778
1555
|
* **Example** (Accessing the default fiber metrics implementation)
|
|
1779
1556
|
*
|
|
1780
|
-
* ```ts
|
|
1781
|
-
* import {
|
|
1782
|
-
*
|
|
1783
|
-
* class MetricsError extends Data.TaggedError("MetricsError")<{
|
|
1784
|
-
* readonly operation: string
|
|
1785
|
-
* }> {}
|
|
1786
|
-
*
|
|
1787
|
-
* const program = Effect.gen(function*() {
|
|
1788
|
-
* // Use the default metrics implementation
|
|
1789
|
-
* const metrics = Metric.FiberRuntimeMetricsImpl
|
|
1790
|
-
* console.log("Metrics implementation:", metrics)
|
|
1791
|
-
*
|
|
1792
|
-
* // Enable runtime metrics using the default implementation
|
|
1793
|
-
* const layer = Layer.succeed(Metric.FiberRuntimeMetrics)(metrics)
|
|
1794
|
-
*
|
|
1795
|
-
* return yield* Effect.gen(function*() {
|
|
1796
|
-
* // Run some Effects to trigger metric collection
|
|
1797
|
-
* yield* Effect.forkChild(Effect.sleep("50 millis"))
|
|
1798
|
-
* yield* Effect.forkChild(Effect.sleep("100 millis"))
|
|
1799
|
-
*
|
|
1800
|
-
* // Wait a bit and check the metrics
|
|
1801
|
-
* yield* Effect.sleep("200 millis")
|
|
1802
|
-
*
|
|
1803
|
-
* // Create test metrics to demonstrate the implementation
|
|
1804
|
-
* const testCounter = Metric.counter("test_counter")
|
|
1805
|
-
* const testGauge = Metric.gauge("test_gauge")
|
|
1806
|
-
* yield* Metric.update(testCounter, 3)
|
|
1807
|
-
* yield* Metric.update(testGauge, 42)
|
|
1808
|
-
*
|
|
1809
|
-
* const counterValue = yield* Metric.value(testCounter)
|
|
1810
|
-
* const gaugeValue = yield* Metric.value(testGauge)
|
|
1557
|
+
* ```ts import.meta.vitest
|
|
1558
|
+
* import { Metric } from "effect"
|
|
1811
1559
|
*
|
|
1812
|
-
*
|
|
1813
|
-
*
|
|
1814
|
-
*
|
|
1560
|
+
* [
|
|
1561
|
+
* typeof Metric.FiberRuntimeMetricsImpl.recordFiberStart,
|
|
1562
|
+
* typeof Metric.FiberRuntimeMetricsImpl.recordFiberEnd
|
|
1563
|
+
* ] // => ["function", "function"]
|
|
1815
1564
|
* ```
|
|
1816
1565
|
*
|
|
1817
|
-
* @category
|
|
1566
|
+
* @category services
|
|
1818
1567
|
* @since 4.0.0
|
|
1819
1568
|
*/
|
|
1820
1569
|
export const FiberRuntimeMetricsImpl = {
|
|
@@ -1842,91 +1591,18 @@ export const FiberRuntimeMetricsImpl = {
|
|
|
1842
1591
|
*
|
|
1843
1592
|
* **Example** (Enabling runtime metrics with a layer)
|
|
1844
1593
|
*
|
|
1845
|
-
* ```ts
|
|
1846
|
-
* import {
|
|
1847
|
-
*
|
|
1848
|
-
* class AppError extends Data.TaggedError("AppError")<{
|
|
1849
|
-
* readonly operation: string
|
|
1850
|
-
* }> {}
|
|
1851
|
-
*
|
|
1852
|
-
* // Define your application logic
|
|
1853
|
-
* const userService = Effect.gen(function*() {
|
|
1854
|
-
* // Simulate user operations with concurrent processing
|
|
1855
|
-
* const fetchUser = (id: number) =>
|
|
1856
|
-
* Effect.gen(function*() {
|
|
1857
|
-
* yield* Effect.sleep(`${50 + id * 10} millis`)
|
|
1858
|
-
* if (id % 7 === 0) {
|
|
1859
|
-
* return yield* new AppError({ operation: `fetch-user-${id}` })
|
|
1860
|
-
* }
|
|
1861
|
-
* return { id, name: `User ${id}`, email: `user${id}@example.com` }
|
|
1862
|
-
* })
|
|
1863
|
-
*
|
|
1864
|
-
* // Process multiple users concurrently (ignoring failures for demo)
|
|
1865
|
-
* const userIds = Array.from({ length: 10 }, (_, i) => i + 1)
|
|
1866
|
-
* const userTasks = userIds.map((id) =>
|
|
1867
|
-
* fetchUser(id).pipe(Effect.catchTag("AppError", () => Effect.succeed(null)))
|
|
1868
|
-
* )
|
|
1869
|
-
* const allUsers = yield* Effect.all(userTasks, { concurrency: 4 })
|
|
1870
|
-
* const successfulUsers = allUsers.filter((user) => user !== null)
|
|
1871
|
-
* return successfulUsers
|
|
1872
|
-
* })
|
|
1873
|
-
*
|
|
1874
|
-
* const analyticsService = Effect.gen(function*() {
|
|
1875
|
-
* // Simulate analytics processing
|
|
1876
|
-
* const tasks = Array.from({ length: 8 }, (_, i) =>
|
|
1877
|
-
* Effect.gen(function*() {
|
|
1878
|
-
* yield* Effect.sleep(`${100 + i * 25} millis`)
|
|
1879
|
-
* return `Analytics task ${i} completed`
|
|
1880
|
-
* }))
|
|
1881
|
-
* return yield* Effect.all(tasks, { concurrency: 3 })
|
|
1882
|
-
* })
|
|
1883
|
-
*
|
|
1884
|
-
* // Main application that uses multiple services
|
|
1885
|
-
* const application = Effect.gen(function*() {
|
|
1886
|
-
* yield* Console.log("Starting application with runtime metrics...")
|
|
1887
|
-
*
|
|
1888
|
-
* // Run services concurrently
|
|
1889
|
-
* const [users, analytics] = yield* Effect.all([
|
|
1890
|
-
* userService,
|
|
1891
|
-
* analyticsService
|
|
1892
|
-
* ], { concurrency: 2 })
|
|
1893
|
-
*
|
|
1894
|
-
* yield* Console.log(
|
|
1895
|
-
* `Processed ${users.length} users and ${analytics.length} analytics tasks`
|
|
1896
|
-
* )
|
|
1897
|
-
*
|
|
1898
|
-
* // Inspect the automatically collected runtime metrics
|
|
1899
|
-
* const metrics = yield* Metric.snapshot
|
|
1900
|
-
* const runtimeMetrics = metrics.filter((m) => m.id.startsWith("child_fiber"))
|
|
1901
|
-
*
|
|
1902
|
-
* yield* Console.log("Runtime Metrics Collected:")
|
|
1903
|
-
* for (const metric of runtimeMetrics) {
|
|
1904
|
-
* yield* Console.log(` ${metric.id}: ${JSON.stringify(metric.state)}`)
|
|
1905
|
-
* }
|
|
1594
|
+
* ```ts import.meta.vitest
|
|
1595
|
+
* import { Effect, Metric } from "effect"
|
|
1906
1596
|
*
|
|
1907
|
-
*
|
|
1597
|
+
* const program = Effect.gen(function*() {
|
|
1598
|
+
* const service = yield* Metric.FiberRuntimeMetrics
|
|
1599
|
+
* return service === Metric.FiberRuntimeMetricsImpl
|
|
1908
1600
|
* })
|
|
1909
1601
|
*
|
|
1910
|
-
*
|
|
1911
|
-
* const AppLayer = Layer.empty // Add your application layers here (database, HTTP, etc.)
|
|
1912
|
-
*
|
|
1913
|
-
* // Add runtime metrics layer at the end
|
|
1914
|
-
* const AppLayerWithMetrics = AppLayer.pipe(
|
|
1915
|
-
* Layer.provide(Metric.enableRuntimeMetricsLayer)
|
|
1916
|
-
* )
|
|
1917
|
-
*
|
|
1918
|
-
* // Run the application with runtime metrics enabled
|
|
1919
|
-
* const program = application.pipe(
|
|
1920
|
-
* Effect.provide(AppLayerWithMetrics)
|
|
1921
|
-
* )
|
|
1922
|
-
*
|
|
1923
|
-
* // Alternative: Provide runtime metrics directly to the application
|
|
1924
|
-
* const programWithDirectMetrics = application.pipe(
|
|
1925
|
-
* Effect.provide(Metric.enableRuntimeMetricsLayer)
|
|
1926
|
-
* )
|
|
1602
|
+
* await Effect.runPromise(Effect.provide(program, Metric.enableRuntimeMetricsLayer)) // => true
|
|
1927
1603
|
* ```
|
|
1928
1604
|
*
|
|
1929
|
-
* @category
|
|
1605
|
+
* @category layers
|
|
1930
1606
|
* @since 4.0.0
|
|
1931
1607
|
*/
|
|
1932
1608
|
export const enableRuntimeMetricsLayer = /*#__PURE__*/Layer.succeed(FiberRuntimeMetrics)(FiberRuntimeMetricsImpl);
|
|
@@ -1935,12 +1611,8 @@ export const enableRuntimeMetricsLayer = /*#__PURE__*/Layer.succeed(FiberRuntime
|
|
|
1935
1611
|
*
|
|
1936
1612
|
* **Example** (Disabling runtime metrics with a layer)
|
|
1937
1613
|
*
|
|
1938
|
-
* ```ts
|
|
1939
|
-
* import {
|
|
1940
|
-
*
|
|
1941
|
-
* class MetricsError extends Data.TaggedError("MetricsError")<{
|
|
1942
|
-
* readonly operation: string
|
|
1943
|
-
* }> {}
|
|
1614
|
+
* ```ts import.meta.vitest
|
|
1615
|
+
* import { Effect, Metric } from "effect"
|
|
1944
1616
|
*
|
|
1945
1617
|
* const program = Effect.gen(function*() {
|
|
1946
1618
|
* // Disable runtime metrics collection
|
|
@@ -1949,7 +1621,6 @@ export const enableRuntimeMetricsLayer = /*#__PURE__*/Layer.succeed(FiberRuntime
|
|
|
1949
1621
|
* return yield* Effect.gen(function*() {
|
|
1950
1622
|
* // Check that metrics service is disabled
|
|
1951
1623
|
* const metricsService = yield* Metric.FiberRuntimeMetrics
|
|
1952
|
-
* console.log("Metrics enabled:", metricsService !== undefined) // false
|
|
1953
1624
|
*
|
|
1954
1625
|
* // Run some Effects - no metrics will be collected
|
|
1955
1626
|
* yield* Effect.forkChild(Effect.sleep("50 millis"))
|
|
@@ -1964,9 +1635,12 @@ export const enableRuntimeMetricsLayer = /*#__PURE__*/Layer.succeed(FiberRuntime
|
|
|
1964
1635
|
* return { counterValue, metricsEnabled: metricsService !== undefined }
|
|
1965
1636
|
* }).pipe(Effect.provide(disabledLayer))
|
|
1966
1637
|
* })
|
|
1638
|
+
*
|
|
1639
|
+
* const result = await Effect.runPromise(Effect.provideService(program, Metric.MetricRegistry, new Map()))
|
|
1640
|
+
* const values = [result.counterValue.count, result.metricsEnabled] // => [1, false]
|
|
1967
1641
|
* ```
|
|
1968
1642
|
*
|
|
1969
|
-
* @category
|
|
1643
|
+
* @category layers
|
|
1970
1644
|
* @since 4.0.0
|
|
1971
1645
|
*/
|
|
1972
1646
|
export const disableRuntimeMetricsLayer = /*#__PURE__*/Layer.succeed(FiberRuntimeMetrics)(undefined);
|
|
@@ -1981,75 +1655,18 @@ export const disableRuntimeMetricsLayer = /*#__PURE__*/Layer.succeed(FiberRuntim
|
|
|
1981
1655
|
*
|
|
1982
1656
|
* **Example** (Enabling runtime metrics for an effect)
|
|
1983
1657
|
*
|
|
1984
|
-
* ```ts
|
|
1985
|
-
* import {
|
|
1986
|
-
*
|
|
1987
|
-
* class RuntimeMetricsError extends Data.TaggedError("RuntimeMetricsError")<{
|
|
1988
|
-
* readonly operation: string
|
|
1989
|
-
* }> {}
|
|
1658
|
+
* ```ts import.meta.vitest
|
|
1659
|
+
* import { Effect, Metric } from "effect"
|
|
1990
1660
|
*
|
|
1991
1661
|
* const program = Effect.gen(function*() {
|
|
1992
|
-
*
|
|
1993
|
-
*
|
|
1994
|
-
* // Simulate concurrent operations
|
|
1995
|
-
* const tasks = Array.from({ length: 10 }, (_, i) =>
|
|
1996
|
-
* Effect.gen(function*() {
|
|
1997
|
-
* yield* Effect.sleep(`${100 + i * 50} millis`)
|
|
1998
|
-
* if (i % 4 === 0) {
|
|
1999
|
-
* // Simulate some failures
|
|
2000
|
-
* return yield* new RuntimeMetricsError({ operation: `task-${i}` })
|
|
2001
|
-
* }
|
|
2002
|
-
* return `Task ${i} completed`
|
|
2003
|
-
* }).pipe(
|
|
2004
|
-
* Effect.catchTag("RuntimeMetricsError", () =>
|
|
2005
|
-
* Effect.succeed(`Task ${i} failed`))
|
|
2006
|
-
* ))
|
|
2007
|
-
*
|
|
2008
|
-
* // Run tasks concurrently
|
|
2009
|
-
* const results = yield* Effect.all(tasks, { concurrency: 5 })
|
|
2010
|
-
* return results
|
|
2011
|
-
* })
|
|
2012
|
-
*
|
|
2013
|
-
* // Enable runtime metrics collection for our workload
|
|
2014
|
-
* const workloadWithMetrics = Metric.enableRuntimeMetrics(heavyWorkload)
|
|
2015
|
-
*
|
|
2016
|
-
* // Execute the workload
|
|
2017
|
-
* const results = yield* workloadWithMetrics
|
|
2018
|
-
*
|
|
2019
|
-
* // After execution, we can inspect the runtime metrics
|
|
2020
|
-
* // The following metrics are automatically collected:
|
|
2021
|
-
* // - child_fibers_active: Current number of active child fibers (Gauge)
|
|
2022
|
-
* // - child_fibers_started: Total child fibers started (Counter, incremental)
|
|
2023
|
-
* // - child_fiber_successes: Total successful child fibers (Counter, incremental)
|
|
2024
|
-
* // - child_fiber_failures: Total failed child fibers (Counter, incremental)
|
|
2025
|
-
*
|
|
2026
|
-
* yield* Console.log(`Workload completed with ${results.length} results`)
|
|
2027
|
-
*
|
|
2028
|
-
* // Get all metrics including the runtime metrics
|
|
2029
|
-
* const allMetrics = yield* Metric.snapshot
|
|
2030
|
-
* const runtimeMetrics = allMetrics.filter((m) =>
|
|
2031
|
-
* m.id.startsWith("child_fiber") || m.id.includes("fiber")
|
|
2032
|
-
* )
|
|
2033
|
-
*
|
|
2034
|
-
* yield* Console.log("Runtime Metrics:")
|
|
2035
|
-
* for (const metric of runtimeMetrics) {
|
|
2036
|
-
* yield* Console.log(` ${metric.id}: ${JSON.stringify(metric.state)}`)
|
|
2037
|
-
* }
|
|
2038
|
-
*
|
|
2039
|
-
* return results
|
|
1662
|
+
* const service = yield* Metric.FiberRuntimeMetrics
|
|
1663
|
+
* return service === Metric.FiberRuntimeMetricsImpl
|
|
2040
1664
|
* })
|
|
2041
1665
|
*
|
|
2042
|
-
*
|
|
2043
|
-
* const BaseAppLayer = Layer.empty // Your base application layers
|
|
2044
|
-
* const AppLayerWithMetrics = BaseAppLayer.pipe(
|
|
2045
|
-
* Layer.provide(Metric.enableRuntimeMetricsLayer)
|
|
2046
|
-
* )
|
|
2047
|
-
* const programWithLayer = program.pipe(
|
|
2048
|
-
* Effect.provide(AppLayerWithMetrics)
|
|
2049
|
-
* )
|
|
1666
|
+
* await Effect.runPromise(Metric.enableRuntimeMetrics(program)) // => true
|
|
2050
1667
|
* ```
|
|
2051
1668
|
*
|
|
2052
|
-
* @category
|
|
1669
|
+
* @category providing services
|
|
2053
1670
|
* @since 4.0.0
|
|
2054
1671
|
*/
|
|
2055
1672
|
export const enableRuntimeMetrics = /*#__PURE__*/InternalEffect.provideService(FiberRuntimeMetrics, FiberRuntimeMetricsImpl);
|
|
@@ -2063,76 +1680,18 @@ export const enableRuntimeMetrics = /*#__PURE__*/InternalEffect.provideService(F
|
|
|
2063
1680
|
*
|
|
2064
1681
|
* **Example** (Disabling runtime metrics for an effect)
|
|
2065
1682
|
*
|
|
2066
|
-
* ```ts
|
|
2067
|
-
* import {
|
|
2068
|
-
*
|
|
2069
|
-
* class DisableMetricsError extends Data.TaggedError("DisableMetricsError")<{
|
|
2070
|
-
* readonly operation: string
|
|
2071
|
-
* }> {}
|
|
1683
|
+
* ```ts import.meta.vitest
|
|
1684
|
+
* import { Effect, Metric } from "effect"
|
|
2072
1685
|
*
|
|
2073
1686
|
* const program = Effect.gen(function*() {
|
|
2074
|
-
*
|
|
2075
|
-
*
|
|
2076
|
-
* const tasks = Array.from({ length: 5 }, (_, i) =>
|
|
2077
|
-
* Effect.gen(function*() {
|
|
2078
|
-
* yield* Effect.sleep(`${100 + i * 20} millis`)
|
|
2079
|
-
* return `Normal task ${i} completed`
|
|
2080
|
-
* }))
|
|
2081
|
-
* return yield* Effect.all(tasks, { concurrency: 3 })
|
|
2082
|
-
* })
|
|
2083
|
-
*
|
|
2084
|
-
* // This section will have runtime metrics disabled for performance
|
|
2085
|
-
* const highPerformanceOperation = Metric.disableRuntimeMetrics(
|
|
2086
|
-
* Effect.gen(function*() {
|
|
2087
|
-
* // Performance-critical code where metrics overhead should be avoided
|
|
2088
|
-
* const hotPath = Array.from(
|
|
2089
|
-
* { length: 1000 },
|
|
2090
|
-
* (_, i) =>
|
|
2091
|
-
* Effect.gen(function*() {
|
|
2092
|
-
* // Simulate intensive computation
|
|
2093
|
-
* const result = i * i + (i % 10) / 10
|
|
2094
|
-
* return result
|
|
2095
|
-
* })
|
|
2096
|
-
* )
|
|
2097
|
-
* return yield* Effect.all(hotPath, { concurrency: 100 })
|
|
2098
|
-
* })
|
|
2099
|
-
* )
|
|
2100
|
-
*
|
|
2101
|
-
* yield* Console.log("Running operations with selective metrics...")
|
|
2102
|
-
*
|
|
2103
|
-
* // Run both operations
|
|
2104
|
-
* const [normalResults, performanceResults] = yield* Effect.all([
|
|
2105
|
-
* normalOperation, // Will generate fiber metrics
|
|
2106
|
-
* highPerformanceOperation // Will NOT generate fiber metrics
|
|
2107
|
-
* ])
|
|
2108
|
-
*
|
|
2109
|
-
* // Check collected metrics - should only see metrics from normalOperation
|
|
2110
|
-
* const metrics = yield* Metric.snapshot
|
|
2111
|
-
* const runtimeMetrics = metrics.filter((m) => m.id.startsWith("child_fiber"))
|
|
2112
|
-
*
|
|
2113
|
-
* yield* Console.log(`Normal operation results: ${normalResults.length}`)
|
|
2114
|
-
* yield* Console.log(
|
|
2115
|
-
* `Performance operation results: ${performanceResults.length}`
|
|
2116
|
-
* )
|
|
2117
|
-
* yield* Console.log(`Runtime metrics collected: ${runtimeMetrics.length}`)
|
|
2118
|
-
*
|
|
2119
|
-
* // The runtime metrics will only reflect the fibers from normalOperation
|
|
2120
|
-
* // The highPerformanceOperation fibers were not tracked due to disableRuntimeMetrics
|
|
2121
|
-
*
|
|
2122
|
-
* return { normalResults, performanceResults, runtimeMetrics }
|
|
1687
|
+
* const service = yield* Metric.FiberRuntimeMetrics
|
|
1688
|
+
* return service === undefined
|
|
2123
1689
|
* })
|
|
2124
1690
|
*
|
|
2125
|
-
*
|
|
2126
|
-
* const BaseAppLayer = Layer.empty // Your base application layers
|
|
2127
|
-
* const AppLayerWithMetrics = BaseAppLayer.pipe(
|
|
2128
|
-
* Layer.provide(Metric.enableRuntimeMetricsLayer)
|
|
2129
|
-
* )
|
|
2130
|
-
* const finalProgram = program.pipe(
|
|
2131
|
-
* Effect.provide(AppLayerWithMetrics)
|
|
2132
|
-
* )
|
|
1691
|
+
* await Effect.runPromise(Metric.disableRuntimeMetrics(program)) // => true
|
|
2133
1692
|
* ```
|
|
2134
1693
|
*
|
|
2135
|
-
* @category
|
|
1694
|
+
* @category providing services
|
|
2136
1695
|
* @since 4.0.0
|
|
2137
1696
|
*/
|
|
2138
1697
|
export const disableRuntimeMetrics = /*#__PURE__*/InternalEffect.provideService(FiberRuntimeMetrics, undefined);
|
|
@@ -2155,10 +1714,7 @@ function makeHooks(get, update, modify) {
|
|
|
2155
1714
|
};
|
|
2156
1715
|
}
|
|
2157
1716
|
function serializeAttributes(attributes) {
|
|
2158
|
-
return
|
|
2159
|
-
}
|
|
2160
|
-
function serializeEntries(entries) {
|
|
2161
|
-
return entries.map(([key, value]) => `${key}=${value}`).join(",");
|
|
1717
|
+
return JSON.stringify(Array.isArray(attributes) ? attributes : Object.entries(attributes));
|
|
2162
1718
|
}
|
|
2163
1719
|
function mergeAttributes(self, other) {
|
|
2164
1720
|
return {
|