effect 4.0.1 → 4.0.2
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/ai-docs/package.json +2 -2
- package/ai-docs/tsconfig.json +2 -1
- package/dist/Array.d.ts +339 -0
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +143 -3
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +88 -0
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +44 -0
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +68 -0
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +36 -0
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +34 -0
- package/dist/Boolean.d.ts.map +1 -1
- package/dist/Boolean.js +18 -0
- package/dist/Boolean.js.map +1 -1
- package/dist/Brand.d.ts +9 -0
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +6 -0
- package/dist/Brand.js.map +1 -1
- package/dist/ByteSize.d.ts +86 -0
- package/dist/ByteSize.d.ts.map +1 -1
- package/dist/ByteSize.js +51 -0
- package/dist/ByteSize.js.map +1 -1
- package/dist/Cache.d.ts +38 -1
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +27 -7
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +82 -0
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +60 -0
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +327 -4
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +168 -8
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts +11 -0
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js +6 -0
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +192 -0
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +78 -0
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +7 -0
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js +5 -0
- package/dist/Clock.js.map +1 -1
- package/dist/Combiner.d.ts +10 -0
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +8 -0
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +52 -12
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +55 -5
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +28 -0
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +19 -0
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +22 -0
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js +20 -0
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +50 -0
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +21 -0
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +16 -0
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +26 -1
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +5 -0
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +3 -0
- package/dist/Crypto.js.map +1 -1
- package/dist/Data.d.ts +13 -0
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +5 -0
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +171 -0
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +89 -0
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +51 -0
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +22 -0
- package/dist/Deferred.js.map +1 -1
- package/dist/Differ.d.ts +2 -0
- package/dist/Differ.d.ts.map +1 -1
- package/dist/Differ.js +1 -0
- package/dist/Duration.d.ts +90 -0
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +53 -0
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +527 -0
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +240 -5
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.d.ts +4 -0
- package/dist/Effectable.d.ts.map +1 -1
- package/dist/Effectable.js +3 -0
- package/dist/Effectable.js.map +1 -1
- package/dist/Equal.d.ts +8 -0
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +9 -1
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +21 -0
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +16 -0
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +36 -0
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +11 -0
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +49 -8
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +7 -0
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Exit.d.ts +40 -0
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +27 -0
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +20 -0
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js +11 -0
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +21 -0
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +21 -4
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +35 -0
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +19 -0
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +20 -0
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +14 -0
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +15 -0
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +8 -0
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +55 -0
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +28 -0
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +3 -0
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +39 -1
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +30 -0
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +20 -0
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +247 -12
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +149 -28
- package/dist/Graph.js.map +1 -1
- package/dist/HKT.d.ts +5 -0
- package/dist/HKT.d.ts.map +1 -1
- package/dist/Hash.d.ts +14 -0
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +12 -0
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +91 -0
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +39 -0
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts +17 -0
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +9 -0
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +49 -0
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js +19 -0
- package/dist/HashSet.js.map +1 -1
- package/dist/Inspectable.d.ts +7 -0
- package/dist/Inspectable.d.ts.map +1 -1
- package/dist/Inspectable.js +6 -0
- package/dist/Inspectable.js.map +1 -1
- package/dist/Iterable.d.ts +127 -0
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +51 -0
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +4 -0
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +3 -0
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +5 -0
- package/dist/JsonPointer.d.ts.map +1 -1
- package/dist/JsonPointer.js +5 -0
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.d.ts +16 -0
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +11 -0
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +14 -0
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +10 -0
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +100 -0
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +45 -1
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +7 -0
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +4 -0
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts +5 -0
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +3 -0
- package/dist/LayerRef.js.map +1 -1
- package/dist/LogLevel.d.ts +20 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +9 -0
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +25 -0
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +30 -4
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +5 -0
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +9 -1
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +51 -0
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +39 -0
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +59 -0
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +31 -0
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +32 -0
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +16 -0
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +16 -0
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +10 -0
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +20 -0
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +18 -0
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts +31 -0
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +17 -0
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +9 -0
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js +6 -0
- package/dist/Newtype.js.map +1 -1
- package/dist/NonEmptyIterable.d.ts +4 -0
- package/dist/NonEmptyIterable.d.ts.map +1 -1
- package/dist/NonEmptyIterable.js +2 -0
- package/dist/NonEmptyIterable.js.map +1 -1
- package/dist/Number.d.ts +61 -0
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +31 -0
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +41 -0
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +20 -0
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +134 -0
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +61 -0
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +29 -0
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +24 -0
- package/dist/Order.js.map +1 -1
- package/dist/Ordering.d.ts +7 -0
- package/dist/Ordering.d.ts.map +1 -1
- package/dist/Ordering.js +3 -0
- package/dist/Ordering.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts +24 -0
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +47 -21
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +6 -0
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +4 -0
- package/dist/Path.js.map +1 -1
- package/dist/Pipeable.d.ts +7 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +5 -0
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +8 -0
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +7 -0
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +19 -0
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +8 -1
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +84 -0
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +48 -0
- package/dist/Predicate.js.map +1 -1
- package/dist/PrimaryKey.d.ts +5 -0
- package/dist/PrimaryKey.d.ts.map +1 -1
- package/dist/PrimaryKey.js +4 -0
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +67 -5
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +60 -8
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts +20 -0
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +10 -0
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts +60 -0
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +58 -8
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +13 -0
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +9 -0
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +23 -0
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +8 -0
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +6 -0
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RcRef.js +3 -0
- package/dist/RcRef.js.map +1 -1
- package/dist/Record.d.ts +100 -0
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +43 -0
- package/dist/Record.js.map +1 -1
- package/dist/Redactable.d.ts +6 -0
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +4 -0
- package/dist/Redactable.js.map +1 -1
- package/dist/Redacted.d.ts +8 -0
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +6 -0
- package/dist/Redacted.js.map +1 -1
- package/dist/Reducer.d.ts +4 -0
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +3 -0
- package/dist/Reducer.js.map +1 -1
- package/dist/Ref.d.ts +20 -0
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +16 -0
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +21 -0
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +19 -0
- package/dist/References.js.map +1 -1
- package/dist/RegExp.d.ts +3 -0
- package/dist/RegExp.d.ts.map +1 -1
- package/dist/RegExp.js +4 -0
- package/dist/RegExp.js.map +1 -1
- package/dist/Request.d.ts +32 -0
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +12 -0
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +42 -0
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +27 -6
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.d.ts +6 -0
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +6 -0
- package/dist/Resource.js.map +1 -1
- package/dist/Result.d.ts +91 -0
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +41 -0
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +9 -0
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +7 -0
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +57 -0
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +32 -0
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +7 -0
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +5 -0
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +496 -1
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +280 -1
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +107 -0
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +81 -1
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +69 -2
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +63 -4
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +33 -0
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +18 -0
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +25 -0
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +26 -0
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +147 -0
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +99 -0
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +53 -0
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +46 -0
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +19 -0
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +12 -0
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts +34 -0
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +26 -3
- package/dist/ScopedCache.js.map +1 -1
- package/dist/ScopedRef.d.ts +9 -0
- package/dist/ScopedRef.d.ts.map +1 -1
- package/dist/ScopedRef.js +6 -0
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Semaphore.d.ts +26 -0
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +10 -0
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts +125 -1
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +75 -1
- package/dist/Sink.js.map +1 -1
- package/dist/StandardSchema.d.ts +1 -0
- package/dist/StandardSchema.d.ts.map +1 -1
- package/dist/StandardSchema.js +1 -0
- package/dist/Stdio.d.ts +7 -0
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +5 -0
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +558 -0
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +261 -13
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +87 -0
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +61 -0
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +46 -0
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +19 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +65 -0
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +25 -0
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/Symbol.d.ts +2 -0
- package/dist/Symbol.d.ts.map +1 -1
- package/dist/Symbol.js +2 -0
- package/dist/Symbol.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +63 -0
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +24 -0
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Take.d.ts +3 -0
- package/dist/Take.d.ts.map +1 -1
- package/dist/Take.js +1 -0
- package/dist/Take.js.map +1 -1
- package/dist/Terminal.d.ts +8 -0
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +4 -0
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +23 -0
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +12 -0
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +68 -0
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +28 -0
- package/dist/Trie.js.map +1 -1
- package/dist/Tuple.d.ts +38 -0
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +18 -0
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +52 -0
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +23 -0
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +15 -0
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +8 -0
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +83 -0
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +52 -7
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +51 -0
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +29 -4
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +30 -0
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +22 -1
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +25 -0
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +19 -0
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +51 -0
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +30 -0
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +24 -0
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +32 -18
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +14 -0
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +7 -0
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +25 -0
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +29 -13
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +25 -0
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +12 -0
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +36 -0
- package/dist/Types.d.ts.map +1 -1
- package/dist/Types.js +1 -0
- package/dist/UndefinedOr.d.ts +15 -0
- package/dist/UndefinedOr.d.ts.map +1 -1
- package/dist/UndefinedOr.js +9 -0
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +15 -0
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js +2 -0
- package/dist/Unify.js.map +1 -1
- package/dist/Utils.d.ts +4 -0
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +1 -0
- package/dist/Utils.js.map +1 -1
- package/dist/Version.d.ts +26 -0
- package/dist/Version.d.ts.map +1 -0
- package/dist/Version.js +36 -0
- package/dist/Version.js.map +1 -0
- package/dist/ai/Chat.js +1 -1
- package/dist/ai/Chat.js.map +1 -1
- package/dist/ai/DecisionModel.d.ts +22 -0
- package/dist/ai/DecisionModel.d.ts.map +1 -1
- package/dist/ai/DecisionModel.js +22 -4
- package/dist/ai/DecisionModel.js.map +1 -1
- package/dist/ai/LanguageModel.d.ts.map +1 -1
- package/dist/ai/LanguageModel.js +14 -13
- package/dist/ai/LanguageModel.js.map +1 -1
- package/dist/ai/McpServer.d.ts +32 -11
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +213 -169
- package/dist/ai/McpServer.js.map +1 -1
- package/dist/ai/Telemetry.d.ts +49 -41
- package/dist/ai/Telemetry.d.ts.map +1 -1
- package/dist/ai/Telemetry.js +6 -8
- package/dist/ai/Telemetry.js.map +1 -1
- package/dist/ai/internal/mcpRuntime.js +79 -46
- package/dist/ai/internal/mcpRuntime.js.map +1 -1
- package/dist/ai/internal/mcpStatefulRuntime.js +1 -0
- package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
- package/dist/cluster/K8sHttpClient.d.ts.map +1 -1
- package/dist/cluster/K8sHttpClient.js +5 -2
- package/dist/cluster/K8sHttpClient.js.map +1 -1
- package/dist/encoding/Base64.d.ts +4 -0
- package/dist/encoding/Base64.d.ts.map +1 -1
- package/dist/encoding/Base64.js +4 -0
- package/dist/encoding/Base64.js.map +1 -1
- package/dist/encoding/Base64Url.d.ts +4 -0
- package/dist/encoding/Base64Url.d.ts.map +1 -1
- package/dist/encoding/Base64Url.js +4 -0
- package/dist/encoding/Base64Url.js.map +1 -1
- package/dist/encoding/EncodingError.d.ts +4 -0
- package/dist/encoding/EncodingError.d.ts.map +1 -1
- package/dist/encoding/EncodingError.js +4 -0
- package/dist/encoding/EncodingError.js.map +1 -1
- package/dist/encoding/Hex.d.ts +5 -0
- package/dist/encoding/Hex.d.ts.map +1 -1
- package/dist/encoding/Hex.js +5 -0
- package/dist/encoding/Hex.js.map +1 -1
- package/dist/encoding/Toml.js +2 -2
- package/dist/encoding/Toml.js.map +1 -1
- package/dist/encoding/Yaml.d.ts.map +1 -1
- package/dist/encoding/Yaml.js +6 -4
- package/dist/encoding/Yaml.js.map +1 -1
- package/dist/encoding/index.d.ts +4 -0
- package/dist/encoding/index.d.ts.map +1 -1
- package/dist/encoding/index.js +4 -0
- package/dist/encoding/index.js.map +1 -1
- package/dist/eventlog/SqlEventJournal.js +8 -4
- package/dist/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +27 -10
- package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.js +49 -7
- package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/http/Headers.d.ts +3 -1
- package/dist/http/Headers.d.ts.map +1 -1
- package/dist/http/Headers.js +4 -2
- package/dist/http/Headers.js.map +1 -1
- package/dist/http/HttpClient.d.ts +9 -0
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +40 -21
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/HttpClientResponse.js +3 -1
- package/dist/http/HttpClientResponse.js.map +1 -1
- package/dist/http/HttpEffect.d.ts +3 -0
- package/dist/http/HttpEffect.d.ts.map +1 -1
- package/dist/http/HttpEffect.js +5 -2
- package/dist/http/HttpEffect.js.map +1 -1
- package/dist/http/HttpMiddleware.d.ts +17 -0
- package/dist/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/http/HttpMiddleware.js +56 -39
- package/dist/http/HttpMiddleware.js.map +1 -1
- package/dist/http/HttpServer.d.ts +1 -1
- package/dist/http/HttpServer.d.ts.map +1 -1
- package/dist/http/internal/tracing.d.ts +2 -0
- package/dist/http/internal/tracing.d.ts.map +1 -0
- package/dist/http/internal/tracing.js +37 -0
- package/dist/http/internal/tracing.js.map +1 -0
- package/dist/http-api/HttpApiBuilder.js +2 -1
- package/dist/http-api/HttpApiBuilder.js.map +1 -1
- package/dist/http-api/HttpApiClient.d.ts +12 -3
- package/dist/http-api/HttpApiClient.d.ts.map +1 -1
- package/dist/http-api/HttpApiClient.js.map +1 -1
- package/dist/http-api/HttpApiError.d.ts +4 -3
- package/dist/http-api/HttpApiError.d.ts.map +1 -1
- package/dist/http-api/HttpApiError.js +7 -4
- package/dist/http-api/HttpApiError.js.map +1 -1
- package/dist/http-api/HttpApiSecurity.d.ts +8 -8
- package/dist/http-api/HttpApiSecurity.js +8 -8
- package/dist/index.d.ts +155 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +155 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/arbitrary/array.js +3 -3
- package/dist/internal/arbitrary/array.js.map +1 -1
- package/dist/internal/arbitrary/model.js +26 -11
- package/dist/internal/arbitrary/model.js.map +1 -1
- package/dist/internal/arbitrary/runner.js +8 -8
- package/dist/internal/arbitrary/runner.js.map +1 -1
- package/dist/internal/arbitrary/schema.js +4 -5
- package/dist/internal/arbitrary/schema.js.map +1 -1
- package/dist/internal/effect.js +41 -39
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/schedule.js +7 -5
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/standardSchema.js +2 -2
- package/dist/internal/schema/standardSchema.js.map +1 -1
- package/dist/internal/version.d.ts +2 -0
- package/dist/internal/version.d.ts.map +1 -0
- package/dist/internal/version.js +3 -0
- package/dist/internal/version.js.map +1 -0
- package/dist/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/observability/OtlpExporter.js +5 -6
- package/dist/observability/OtlpExporter.js.map +1 -1
- package/dist/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/observability/OtlpLogger.js +23 -27
- package/dist/observability/OtlpLogger.js.map +1 -1
- package/dist/observability/OtlpMetrics.d.ts +5 -3
- package/dist/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/observability/OtlpMetrics.js +21 -94
- package/dist/observability/OtlpMetrics.js.map +1 -1
- package/dist/observability/OtlpResource.d.ts +4 -3
- package/dist/observability/OtlpResource.d.ts.map +1 -1
- package/dist/observability/OtlpResource.js +20 -23
- package/dist/observability/OtlpResource.js.map +1 -1
- package/dist/observability/OtlpTracer.d.ts +1 -0
- package/dist/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/observability/OtlpTracer.js +32 -36
- package/dist/observability/OtlpTracer.js.map +1 -1
- package/dist/observability/internal/otlpProtobuf.js +32 -1
- package/dist/observability/internal/otlpProtobuf.js.map +1 -1
- package/dist/reactivity/AsyncResult.d.ts +1 -1
- package/dist/reactivity/Atom.d.ts +5 -5
- package/dist/reactivity/Atom.d.ts.map +1 -1
- package/dist/reactivity/Atom.js +9 -5
- package/dist/reactivity/Atom.js.map +1 -1
- package/dist/reactivity/AtomHttpApi.d.ts +2 -2
- package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/reactivity/AtomRegistry.d.ts +8 -0
- package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/reactivity/AtomRegistry.js.map +1 -1
- package/dist/rpc/RpcClient.d.ts +21 -3
- package/dist/rpc/RpcClient.d.ts.map +1 -1
- package/dist/rpc/RpcClient.js +38 -20
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcServer.d.ts.map +1 -1
- package/dist/rpc/RpcServer.js +18 -21
- package/dist/rpc/RpcServer.js.map +1 -1
- package/dist/rpc/internal/tracing.d.ts +2 -0
- package/dist/rpc/internal/tracing.d.ts.map +1 -0
- package/dist/rpc/internal/tracing.js +18 -0
- package/dist/rpc/internal/tracing.js.map +1 -0
- package/dist/schema/SchemaCompiler/runtime.js +9 -1
- package/dist/schema/SchemaCompiler/runtime.js.map +1 -1
- package/dist/sql/SqlClient.js +4 -4
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/sql/Statement.d.ts +21 -1
- package/dist/sql/Statement.d.ts.map +1 -1
- package/dist/sql/Statement.js +55 -7
- package/dist/sql/Statement.js.map +1 -1
- package/dist/testing/TestClock.d.ts +8 -0
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +7 -0
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestConsole.d.ts +7 -0
- package/dist/testing/TestConsole.d.ts.map +1 -1
- package/dist/testing/TestConsole.js +6 -0
- package/dist/testing/TestConsole.js.map +1 -1
- package/dist/testing/index.d.ts +3 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +3 -0
- package/dist/testing/index.js.map +1 -1
- package/package.json +3 -3
- package/src/Array.ts +351 -3
- package/src/BigDecimal.ts +88 -0
- package/src/BigInt.ts +68 -0
- package/src/Boolean.ts +34 -0
- package/src/Brand.ts +10 -0
- package/src/ByteSize.ts +87 -0
- package/src/Cache.ts +50 -8
- package/src/Cause.ts +82 -0
- package/src/Channel.ts +368 -18
- package/src/ChannelSchema.ts +13 -0
- package/src/Chunk.ts +193 -0
- package/src/Clock.ts +7 -0
- package/src/Combiner.ts +10 -0
- package/src/Config.ts +82 -8
- package/src/ConfigProvider.ts +28 -0
- package/src/Console.ts +26 -0
- package/src/Context.ts +50 -0
- package/src/Cron.ts +32 -1
- package/src/Crypto.ts +5 -0
- package/src/Data.ts +13 -0
- package/src/DateTime.ts +171 -0
- package/src/Deferred.ts +51 -0
- package/src/Differ.ts +2 -0
- package/src/Duration.ts +90 -0
- package/src/Effect.ts +539 -5
- package/src/Effectable.ts +4 -0
- package/src/Equal.ts +12 -1
- package/src/Equivalence.ts +22 -0
- package/src/ErrorReporter.ts +36 -0
- package/src/ExecutionPlan.ts +58 -14
- package/src/Exit.ts +40 -0
- package/src/Fiber.ts +20 -0
- package/src/FiberHandle.ts +29 -4
- package/src/FiberMap.ts +38 -0
- package/src/FiberSet.ts +21 -0
- package/src/FileSystem.ts +16 -0
- package/src/Filter.ts +55 -0
- package/src/Formatter.ts +42 -1
- package/src/Function.ts +30 -0
- package/src/Graph.ts +317 -36
- package/src/HKT.ts +5 -0
- package/src/Hash.ts +15 -0
- package/src/HashMap.ts +91 -0
- package/src/HashRing.ts +18 -0
- package/src/HashSet.ts +53 -0
- package/src/Inspectable.ts +8 -0
- package/src/Iterable.ts +127 -0
- package/src/JsonPatch.ts +5 -0
- package/src/JsonPointer.ts +5 -0
- package/src/JsonSchema.ts +17 -0
- package/src/Latch.ts +14 -0
- package/src/Layer.ts +101 -1
- package/src/LayerMap.ts +7 -0
- package/src/LayerRef.ts +5 -0
- package/src/LogLevel.ts +20 -0
- package/src/Logger.ts +41 -5
- package/src/ManagedRuntime.ts +12 -1
- package/src/Match.ts +52 -0
- package/src/Metric.ts +69 -0
- package/src/MutableHashMap.ts +44 -0
- package/src/MutableHashSet.ts +17 -0
- package/src/MutableList.ts +21 -0
- package/src/MutableRef.ts +32 -0
- package/src/Newtype.ts +9 -0
- package/src/NonEmptyIterable.ts +4 -0
- package/src/Number.ts +61 -0
- package/src/Optic.ts +57 -0
- package/src/Option.ts +134 -0
- package/src/Order.ts +30 -0
- package/src/Ordering.ts +7 -0
- package/src/PartitionedSemaphore.ts +61 -22
- package/src/Path.ts +6 -0
- package/src/Pipeable.ts +7 -0
- package/src/PlatformError.ts +8 -0
- package/src/Pool.ts +20 -1
- package/src/Predicate.ts +85 -0
- package/src/PrimaryKey.ts +5 -0
- package/src/PubSub.ts +90 -9
- package/src/Pull.ts +20 -0
- package/src/Queue.ts +80 -10
- package/src/Random.ts +13 -0
- package/src/RcMap.ts +23 -0
- package/src/RcRef.ts +6 -0
- package/src/Record.ts +100 -0
- package/src/Redactable.ts +6 -0
- package/src/Redacted.ts +8 -0
- package/src/Reducer.ts +4 -0
- package/src/Ref.ts +42 -0
- package/src/References.ts +21 -0
- package/src/RegExp.ts +4 -0
- package/src/Request.ts +32 -0
- package/src/RequestResolver.ts +59 -10
- package/src/Resource.ts +7 -0
- package/src/Result.ts +93 -0
- package/src/Runtime.ts +10 -0
- package/src/Schedule.ts +61 -0
- package/src/Scheduler.ts +7 -0
- package/src/Schema.ts +499 -4
- package/src/SchemaAST.ts +115 -1
- package/src/SchemaGetter.ts +80 -4
- package/src/SchemaIssue.ts +34 -0
- package/src/SchemaParser.ts +26 -0
- package/src/SchemaRepresentation.ts +148 -0
- package/src/SchemaTransformation.ts +53 -0
- package/src/Scope.ts +19 -0
- package/src/ScopedCache.ts +55 -3
- package/src/ScopedRef.ts +9 -0
- package/src/Semaphore.ts +26 -0
- package/src/Sink.ts +126 -2
- package/src/StandardSchema.ts +1 -0
- package/src/Stdio.ts +7 -0
- package/src/Stream.ts +622 -15
- package/src/String.ts +87 -0
- package/src/Struct.ts +46 -0
- package/src/SubscriptionRef.ts +65 -0
- package/src/Symbol.ts +2 -0
- package/src/SynchronizedRef.ts +63 -0
- package/src/Take.ts +3 -0
- package/src/Terminal.ts +8 -0
- package/src/Tracer.ts +23 -0
- package/src/Trie.ts +68 -0
- package/src/Tuple.ts +38 -0
- package/src/TxChunk.ts +52 -0
- package/src/TxDeferred.ts +15 -0
- package/src/TxHashMap.ts +97 -6
- package/src/TxHashSet.ts +83 -3
- package/src/TxPriorityQueue.ts +34 -2
- package/src/TxPubSub.ts +26 -0
- package/src/TxQueue.ts +51 -0
- package/src/TxReentrantLock.ts +53 -36
- package/src/TxRef.ts +14 -0
- package/src/TxSemaphore.ts +47 -31
- package/src/TxSubscriptionRef.ts +25 -0
- package/src/Types.ts +36 -0
- package/src/UndefinedOr.ts +15 -0
- package/src/Unify.ts +15 -0
- package/src/Utils.ts +4 -0
- package/src/Version.ts +38 -0
- package/src/ai/Chat.ts +1 -1
- package/src/ai/DecisionModel.ts +42 -1
- package/src/ai/LanguageModel.ts +16 -19
- package/src/ai/McpServer.ts +107 -36
- package/src/ai/Telemetry.ts +62 -58
- package/src/ai/internal/mcpRuntime.ts +84 -43
- package/src/ai/internal/mcpStatefulRuntime.ts +2 -0
- package/src/cluster/K8sHttpClient.ts +12 -2
- package/src/encoding/Base64.ts +4 -0
- package/src/encoding/Base64Url.ts +4 -0
- package/src/encoding/EncodingError.ts +5 -0
- package/src/encoding/Hex.ts +5 -0
- package/src/encoding/Toml.ts +2 -2
- package/src/encoding/Yaml.ts +8 -4
- package/src/encoding/index.ts +4 -0
- package/src/eventlog/SqlEventJournal.ts +18 -4
- package/src/eventlog/SqlEventLogServerUnencrypted.ts +282 -235
- package/src/http/Headers.ts +8 -2
- package/src/http/HttpClient.ts +44 -27
- package/src/http/HttpClientResponse.ts +3 -1
- package/src/http/HttpEffect.ts +11 -2
- package/src/http/HttpMiddleware.ts +60 -45
- package/src/http/HttpServer.ts +1 -1
- package/src/http/internal/tracing.ts +52 -0
- package/src/http-api/HttpApiBuilder.ts +5 -1
- package/src/http-api/HttpApiClient.ts +13 -4
- package/src/http-api/HttpApiError.ts +8 -4
- package/src/http-api/HttpApiSecurity.ts +8 -8
- package/src/index.ts +156 -0
- package/src/internal/arbitrary/array.ts +3 -3
- package/src/internal/arbitrary/model.ts +37 -14
- package/src/internal/arbitrary/runner.ts +7 -7
- package/src/internal/arbitrary/schema.ts +4 -3
- package/src/internal/effect.ts +47 -45
- package/src/internal/schedule.ts +23 -17
- package/src/internal/schema/standardSchema.ts +2 -2
- package/src/internal/version.ts +2 -0
- package/src/observability/OtlpExporter.ts +9 -6
- package/src/observability/OtlpLogger.ts +20 -21
- package/src/observability/OtlpMetrics.ts +34 -93
- package/src/observability/OtlpResource.ts +18 -27
- package/src/observability/OtlpTracer.ts +34 -40
- package/src/observability/internal/otlpProtobuf.ts +60 -0
- package/src/reactivity/AsyncResult.ts +1 -1
- package/src/reactivity/Atom.ts +10 -6
- package/src/reactivity/AtomHttpApi.ts +2 -4
- package/src/reactivity/AtomRegistry.ts +7 -0
- package/src/rpc/RpcClient.ts +48 -24
- package/src/rpc/RpcServer.ts +26 -24
- package/src/rpc/internal/tracing.ts +22 -0
- package/src/schema/SchemaCompiler/runtime.ts +4 -1
- package/src/sql/SqlClient.ts +4 -4
- package/src/sql/Statement.ts +59 -7
- package/src/testing/TestClock.ts +9 -0
- package/src/testing/TestConsole.ts +8 -0
- package/src/testing/index.ts +3 -0
|
@@ -54,13 +54,13 @@ function rebuild<A>(
|
|
|
54
54
|
}
|
|
55
55
|
if (index >= elementStart) itemShrinks ??= children[index].shrinks?.()
|
|
56
56
|
if (itemShrinks !== undefined) {
|
|
57
|
-
return Effect.
|
|
58
|
-
onFailure: () => {
|
|
57
|
+
return Effect.matchCauseEffect(itemShrinks, {
|
|
58
|
+
onFailure: Model.onTypedFailure(() => {
|
|
59
59
|
itemShrinks = undefined
|
|
60
60
|
removable = undefined
|
|
61
61
|
index++
|
|
62
62
|
return loop()
|
|
63
|
-
},
|
|
63
|
+
}),
|
|
64
64
|
onSuccess: (item): Effect.Effect<Model.Attempt<Array<A>>> => {
|
|
65
65
|
if (item._tag === "Discarded") return Effect.succeed(item)
|
|
66
66
|
return Effect.succeed(rebuild(InternalArray.replaceAt(children, index, item), shape, index))
|
|
@@ -1,12 +1,32 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as Cause from "../../Cause.ts"
|
|
2
2
|
import * as Effect from "../../Effect.ts"
|
|
3
3
|
import * as Option from "../../Option.ts"
|
|
4
|
+
import * as Result from "../../Result.ts"
|
|
4
5
|
import * as InternalArray from "../array.ts"
|
|
5
6
|
import { done } from "../core.ts"
|
|
6
7
|
|
|
7
8
|
/** @internal */
|
|
8
9
|
export type ShrinkPull<A> = Effect.Effect<A, Cause.Done>
|
|
9
10
|
|
|
11
|
+
/**
|
|
12
|
+
* Builds a cause handler that recovers typed failures, or propagates only
|
|
13
|
+
* defects and interruptions, preserving their original annotations.
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export const onTypedFailure = <E, A, E2, R>(
|
|
18
|
+
f: (error: E) => Effect.Effect<A, E2, R>
|
|
19
|
+
) =>
|
|
20
|
+
(cause: Cause.Cause<E>): Effect.Effect<A, E2, R> => {
|
|
21
|
+
if (!cause.reasons.every(Cause.isFailReason)) {
|
|
22
|
+
return Effect.failCause(Cause.fromReasons<never>(cause.reasons.filter(
|
|
23
|
+
(reason): reason is Cause.Die | Cause.Interrupt => reason._tag !== "Fail"
|
|
24
|
+
)))
|
|
25
|
+
}
|
|
26
|
+
const error = Cause.findError(cause)
|
|
27
|
+
return Result.isFailure(error) ? Effect.failCause(error.failure) : f(error.success)
|
|
28
|
+
}
|
|
29
|
+
|
|
10
30
|
/** @internal */
|
|
11
31
|
export interface Sample<out A> {
|
|
12
32
|
readonly _tag: "Generated"
|
|
@@ -129,10 +149,13 @@ export function concatPulls<A>(pulls: ReadonlyArray<ShrinkPull<A>>): ShrinkPull<
|
|
|
129
149
|
Effect.suspend(() =>
|
|
130
150
|
index >= pulls.length
|
|
131
151
|
? done()
|
|
132
|
-
: Effect.
|
|
133
|
-
index
|
|
134
|
-
|
|
135
|
-
|
|
152
|
+
: Effect.catchCause(
|
|
153
|
+
pulls[index],
|
|
154
|
+
onTypedFailure(() => {
|
|
155
|
+
index++
|
|
156
|
+
return loop()
|
|
157
|
+
})
|
|
158
|
+
)
|
|
136
159
|
)
|
|
137
160
|
return loop()
|
|
138
161
|
}
|
|
@@ -182,11 +205,11 @@ export function retain<A>(sample: Sample<A>): Retained<A> {
|
|
|
182
205
|
return Effect.suspend(() => {
|
|
183
206
|
if (history !== undefined && index < history.length) return Effect.succeed(history[index++])
|
|
184
207
|
if (ended) return done()
|
|
185
|
-
return Effect.
|
|
186
|
-
onFailure: () => {
|
|
208
|
+
return Effect.matchCauseEffect(source, {
|
|
209
|
+
onFailure: onTypedFailure(() => {
|
|
187
210
|
ended = true
|
|
188
211
|
return done()
|
|
189
|
-
},
|
|
212
|
+
}),
|
|
190
213
|
onSuccess: (attempt) => {
|
|
191
214
|
const item = attempt._tag === "Discarded" ? attempt : retain(attempt)
|
|
192
215
|
history ??= []
|
|
@@ -288,11 +311,11 @@ function filterMapPull<A, B>(
|
|
|
288
311
|
Effect.suspend(() => {
|
|
289
312
|
const current = stack[stack.length - 1]
|
|
290
313
|
if (current === undefined) return done()
|
|
291
|
-
return Effect.
|
|
292
|
-
onFailure: () => {
|
|
314
|
+
return Effect.matchCauseEffect(current, {
|
|
315
|
+
onFailure: onTypedFailure(() => {
|
|
293
316
|
stack.pop()
|
|
294
317
|
return loop()
|
|
295
|
-
},
|
|
318
|
+
}),
|
|
296
319
|
onSuccess: (attempt) => {
|
|
297
320
|
if (attempt._tag === "Discarded") return Effect.succeed<Attempt<B>>(attempt)
|
|
298
321
|
const sample = attempt
|
|
@@ -318,11 +341,11 @@ function filterPull<A>(source: ShrinkPull<Attempt<A>>, predicate: (value: A) =>
|
|
|
318
341
|
Effect.suspend(() => {
|
|
319
342
|
const current = stack[stack.length - 1]
|
|
320
343
|
if (current === undefined) return done()
|
|
321
|
-
return Effect.
|
|
322
|
-
onFailure: () => {
|
|
344
|
+
return Effect.matchCauseEffect(current, {
|
|
345
|
+
onFailure: onTypedFailure(() => {
|
|
323
346
|
stack.pop()
|
|
324
347
|
return loop()
|
|
325
|
-
},
|
|
348
|
+
}),
|
|
326
349
|
onSuccess: (attempt) => {
|
|
327
350
|
if (attempt._tag === "Discarded") return Effect.succeed<Attempt<A>>(attempt)
|
|
328
351
|
const sample = attempt
|
|
@@ -383,11 +383,11 @@ function flatMapSourcePull<A, B>(
|
|
|
383
383
|
Effect.suspend(() => {
|
|
384
384
|
const current = stack[stack.length - 1]
|
|
385
385
|
if (current === undefined) return done()
|
|
386
|
-
return Effect.
|
|
387
|
-
onFailure: () => {
|
|
386
|
+
return Effect.matchCauseEffect(current, {
|
|
387
|
+
onFailure: Model.onTypedFailure(() => {
|
|
388
388
|
stack.pop()
|
|
389
389
|
return loop()
|
|
390
|
-
},
|
|
390
|
+
}),
|
|
391
391
|
onSuccess: (sourceAttempt) => {
|
|
392
392
|
if (sourceAttempt._tag === "Discarded") return Effect.succeed<Model.Attempt<B>>(sourceAttempt)
|
|
393
393
|
const sourceSample = sourceAttempt
|
|
@@ -505,14 +505,14 @@ const evaluateProperty = <A, E, R>(
|
|
|
505
505
|
): Effect.Effect<typeof passedProperty | PropertyFailure<E>, never, R> => {
|
|
506
506
|
const output = property(value)
|
|
507
507
|
if (!Effect.isEffect(output)) return Effect.succeed(output === true ? passedProperty : returnedFalse)
|
|
508
|
-
return Effect.
|
|
509
|
-
onFailure: (error
|
|
510
|
-
onSuccess: (success) => success === true ? passedProperty : returnedFalse
|
|
508
|
+
return Effect.matchCauseEffectEager(output, {
|
|
509
|
+
onFailure: Model.onTypedFailure((error: E) => Effect.succeed<PropertyError<E>>({ _tag: "PropertyError", error })),
|
|
510
|
+
onSuccess: (success) => Effect.succeed(success === true ? passedProperty : returnedFalse)
|
|
511
511
|
})
|
|
512
512
|
}
|
|
513
513
|
|
|
514
514
|
const pullNext = <A>(pull: Model.ShrinkPull<Model.Attempt<A>>): Effect.Effect<Model.Attempt<A> | undefined> =>
|
|
515
|
-
Effect.
|
|
515
|
+
Effect.catchCause(pull, Model.onTypedFailure(() => Effect.succeed(undefined)))
|
|
516
516
|
|
|
517
517
|
const shrink = Effect.fnUntraced(function*<A, E, R>(
|
|
518
518
|
initial: Model.Sample<A>,
|
|
@@ -30,10 +30,11 @@ interface Checks {
|
|
|
30
30
|
|
|
31
31
|
const infinity = Number.POSITIVE_INFINITY
|
|
32
32
|
const finiteNumberConstraint: FilterConstraint = { number: "finite" }
|
|
33
|
-
const optionMatch = { onFailure: Option.none, onSuccess: Option.some }
|
|
34
|
-
|
|
35
33
|
const optionComputation = <A, E, R>(self: Effect.Effect<A, E, R>): Model.Computation<Option.Option<A>> => {
|
|
36
|
-
const result = Effect.
|
|
34
|
+
const result = Effect.matchCauseEffectEager(self, {
|
|
35
|
+
onFailure: Model.onTypedFailure(() => Effect.succeedNone),
|
|
36
|
+
onSuccess: Effect.succeedSome
|
|
37
|
+
}) as Effect.Effect<Option.Option<A>>
|
|
37
38
|
return effectIsExit(result) && result._tag === "Success" ? result.value : result
|
|
38
39
|
}
|
|
39
40
|
|
package/src/internal/effect.ts
CHANGED
|
@@ -345,6 +345,8 @@ export const causePrettyError = (
|
|
|
345
345
|
error = new globalThis.Error(
|
|
346
346
|
!original ? `Unknown error: ${original}` : kind === "string" ? original as any : formatJson(original)
|
|
347
347
|
)
|
|
348
|
+
const stack = `${error.name}: ${error.message}`
|
|
349
|
+
error.stack = annotations ? addStackAnnotations(stack, annotations) : stack
|
|
348
350
|
}
|
|
349
351
|
return error
|
|
350
352
|
}
|
|
@@ -629,44 +631,46 @@ export class FiberImpl<A = any, E = any> implements Fiber.Fiber<A, E> {
|
|
|
629
631
|
this.currentOpCount = 0
|
|
630
632
|
try {
|
|
631
633
|
while (true) {
|
|
632
|
-
|
|
633
|
-
this._deferredInterrupt
|
|
634
|
-
current = failCause(this._interruptedCause!) as any
|
|
635
|
-
}
|
|
636
|
-
this.currentOpCount++
|
|
637
|
-
// Refresh the cache because a primitive can replace the fiber context.
|
|
638
|
-
const cache = this.cache
|
|
639
|
-
if (
|
|
640
|
-
!yielding &&
|
|
641
|
-
!cache.preventYield &&
|
|
642
|
-
cache.scheduler.shouldYield(this as any)
|
|
643
|
-
) {
|
|
644
|
-
yielding = true
|
|
645
|
-
const prev = current
|
|
646
|
-
current = flatMap(yieldNow, () => prev as any) as any
|
|
647
|
-
}
|
|
648
|
-
current = cache.tracerContext
|
|
649
|
-
? cache.tracerContext(current as any, this)
|
|
650
|
-
: (current as any)[evaluate](this)
|
|
651
|
-
if (current === Yield) {
|
|
652
|
-
const yielded = this._yielded!
|
|
653
|
-
if (ExitTypeId in yielded) {
|
|
634
|
+
try {
|
|
635
|
+
if (this._deferredInterrupt) {
|
|
654
636
|
this._deferredInterrupt = false
|
|
655
|
-
this.
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
637
|
+
current = failCause(this._interruptedCause!) as any
|
|
638
|
+
}
|
|
639
|
+
this.currentOpCount++
|
|
640
|
+
// Refresh the cache because a primitive can replace the fiber context.
|
|
641
|
+
const cache = this.cache
|
|
642
|
+
if (
|
|
643
|
+
!yielding &&
|
|
644
|
+
!cache.preventYield &&
|
|
645
|
+
cache.scheduler.shouldYield(this as any)
|
|
646
|
+
) {
|
|
647
|
+
yielding = true
|
|
648
|
+
const prev = current
|
|
649
|
+
current = flatMap(yieldNow, () => prev as any) as any
|
|
650
|
+
}
|
|
651
|
+
current = cache.tracerContext
|
|
652
|
+
? cache.tracerContext(current as any, this)
|
|
653
|
+
: (current as any)[evaluate](this)
|
|
654
|
+
if (current === Yield) {
|
|
655
|
+
const yielded = this._yielded!
|
|
656
|
+
if (ExitTypeId in yielded) {
|
|
657
|
+
this._deferredInterrupt = false
|
|
658
|
+
this._yielded = undefined
|
|
659
|
+
return yielded
|
|
660
|
+
} else if (this._deferredInterrupt) {
|
|
661
|
+
this._yielded = undefined
|
|
662
|
+
yielded()
|
|
663
|
+
continue
|
|
664
|
+
}
|
|
665
|
+
return Yield
|
|
666
|
+
}
|
|
667
|
+
} catch (error) {
|
|
668
|
+
if (!hasProperty(current, evaluate)) {
|
|
669
|
+
return exitDie(`Fiber.runLoop: Not a valid effect: ${String(current)}`)
|
|
661
670
|
}
|
|
662
|
-
|
|
671
|
+
current = exitDie(error) as any
|
|
663
672
|
}
|
|
664
673
|
}
|
|
665
|
-
} catch (error) {
|
|
666
|
-
if (!hasProperty(current, evaluate)) {
|
|
667
|
-
return exitDie(`Fiber.runLoop: Not a valid effect: ${String(current)}`)
|
|
668
|
-
}
|
|
669
|
-
return this.runLoop(exitDie(error) as any)
|
|
670
674
|
} finally {
|
|
671
675
|
this._running = prevRunning
|
|
672
676
|
;(globalThis as any)[currentFiberTypeId] = prevFiber
|
|
@@ -3928,10 +3932,8 @@ export const scopeTag: Context.Service<Scope.Scope, Scope.Scope> = Context.Servi
|
|
|
3928
3932
|
/** @internal */
|
|
3929
3933
|
export const scopeClose = <A, E>(self: Scope.Scope, exit_: Exit.Exit<A, E>) =>
|
|
3930
3934
|
withFiber((fiber) => {
|
|
3931
|
-
const close = scopeCloseUnsafe(self, exit_)
|
|
3932
|
-
if (close === undefined) return void_
|
|
3933
3935
|
fiberEnterUninterruptibleUnsafe(fiber)
|
|
3934
|
-
return
|
|
3936
|
+
return scopeCloseUnsafe(self, exit_) ?? void_
|
|
3935
3937
|
})
|
|
3936
3938
|
|
|
3937
3939
|
/** @internal */
|
|
@@ -5524,6 +5526,10 @@ export const forkUnsafe = <FA, FE, A, E, R>(
|
|
|
5524
5526
|
const parentRuntime = parent as FiberImpl<FA, FE>
|
|
5525
5527
|
const interruptible = uninterruptible === "inherit" ? parentRuntime.interruptible : !uninterruptible
|
|
5526
5528
|
const child = new FiberImpl<A, E>(parentRuntime.context, interruptible)
|
|
5529
|
+
if (!daemon) {
|
|
5530
|
+
parentRuntime.children().add(child)
|
|
5531
|
+
child._parent = parentRuntime
|
|
5532
|
+
}
|
|
5527
5533
|
if (immediate) {
|
|
5528
5534
|
child.evaluate(effect as any)
|
|
5529
5535
|
} else {
|
|
@@ -5531,10 +5537,6 @@ export const forkUnsafe = <FA, FE, A, E, R>(
|
|
|
5531
5537
|
child._asyncContext = captureAsyncContext()
|
|
5532
5538
|
parentRuntime.currentDispatcher.scheduleTask(() => child.evaluate(effect as any), 0)
|
|
5533
5539
|
}
|
|
5534
|
-
if (!daemon && !child._exit) {
|
|
5535
|
-
parentRuntime.children().add(child)
|
|
5536
|
-
child._parent = parentRuntime
|
|
5537
|
-
}
|
|
5538
5540
|
return child
|
|
5539
5541
|
}
|
|
5540
5542
|
|
|
@@ -5711,9 +5713,9 @@ export const fiberRunIn: {
|
|
|
5711
5713
|
self.interruptUnsafe(self.id)
|
|
5712
5714
|
return self
|
|
5713
5715
|
}
|
|
5714
|
-
|
|
5715
|
-
scopeAddFinalizerUnsafe(scope,
|
|
5716
|
-
self.addObserver(() => scopeRemoveFinalizerUnsafe(scope,
|
|
5716
|
+
scopeRemoveFinalizerUnsafe(scope, self)
|
|
5717
|
+
scopeAddFinalizerUnsafe(scope, self, () => fiberInterrupt(self))
|
|
5718
|
+
self.addObserver(() => scopeRemoveFinalizerUnsafe(scope, self))
|
|
5717
5719
|
return self
|
|
5718
5720
|
})
|
|
5719
5721
|
|
|
@@ -6026,7 +6028,7 @@ export const makeSpanUnsafe = <XA, XE>(
|
|
|
6026
6028
|
links,
|
|
6027
6029
|
startTime: timingEnabled ? clock.currentTimeNanosUnsafe() : bigint0,
|
|
6028
6030
|
kind: options?.kind ?? "internal",
|
|
6029
|
-
root: options?.root ??
|
|
6031
|
+
root: options?.root ?? false,
|
|
6030
6032
|
sampled: options?.sampled ??
|
|
6031
6033
|
(Option.isSome(parent) && parent.value.sampled === false
|
|
6032
6034
|
? false
|
package/src/internal/schedule.ts
CHANGED
|
@@ -3,12 +3,16 @@ import type { Effect, Repeat, Retry } from "../Effect.ts"
|
|
|
3
3
|
import { constant, constTrue, dual, identity } from "../Function.ts"
|
|
4
4
|
import * as Option from "../Option.ts"
|
|
5
5
|
import * as Pull from "../Pull.ts"
|
|
6
|
+
import * as Result from "../Result.ts"
|
|
6
7
|
import * as Schedule from "../Schedule.ts"
|
|
7
8
|
import type { NoInfer } from "../Types.ts"
|
|
8
9
|
import { internalCall } from "../Utils.ts"
|
|
9
10
|
import * as core from "./core.ts"
|
|
10
11
|
import * as effect from "./effect.ts"
|
|
11
12
|
|
|
13
|
+
const findErrorOnly = <E>(cause: Cause.Cause<E>): Result.Result<E, Cause.Cause<never>> =>
|
|
14
|
+
cause.reasons.every(core.isFailReason) ? effect.findError(cause) : Result.fail(cause as Cause.Cause<never>)
|
|
15
|
+
|
|
12
16
|
/** @internal */
|
|
13
17
|
export const repeatOrElse: {
|
|
14
18
|
<R2, A, B, E, E2, E3, R3>(
|
|
@@ -29,21 +33,22 @@ export const repeatOrElse: {
|
|
|
29
33
|
): Effect<B, E3, R | R2 | R3> =>
|
|
30
34
|
effect.flatMap(Schedule.toStepWithMetadata(schedule), (step) => {
|
|
31
35
|
let meta = Schedule.CurrentMetadata.defaultValue()
|
|
32
|
-
return effect.
|
|
33
|
-
|
|
34
|
-
effect.
|
|
35
|
-
effect.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
return effect.catchCauseFilter(
|
|
37
|
+
Pull.catchDone(
|
|
38
|
+
effect.forever(
|
|
39
|
+
effect.tap(
|
|
40
|
+
effect.flatMap(effect.suspend(() => effect.provideService(self, Schedule.CurrentMetadata, meta)), step),
|
|
41
|
+
(meta_) =>
|
|
42
|
+
effect.sync(() => {
|
|
43
|
+
meta = meta_
|
|
44
|
+
})
|
|
45
|
+
),
|
|
46
|
+
{ disableYield: true }
|
|
40
47
|
),
|
|
41
|
-
|
|
48
|
+
(out) => effect.succeed(out as B)
|
|
42
49
|
),
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
? effect.succeed(error.value as B)
|
|
46
|
-
: orElse(error as E | E2, meta.attempt === 0 ? Option.none() : Option.some(meta as any))
|
|
50
|
+
findErrorOnly,
|
|
51
|
+
(error) => orElse(error, meta.attempt === 0 ? Option.none() : Option.some(meta as any))
|
|
47
52
|
)
|
|
48
53
|
}))
|
|
49
54
|
|
|
@@ -66,8 +71,9 @@ export const retryOrElse: {
|
|
|
66
71
|
effect.flatMap(Schedule.toStepWithMetadata(policy), (step) => {
|
|
67
72
|
let meta = Schedule.CurrentMetadata.defaultValue()
|
|
68
73
|
let lastError!: E
|
|
69
|
-
const loop: Effect<A, E1 | Cause.Done<A1>, R | R1> = effect.
|
|
74
|
+
const loop: Effect<A, E1 | Cause.Done<A1>, R | R1> = effect.catchCauseFilter(
|
|
70
75
|
effect.suspend(() => effect.provideService(self, Schedule.CurrentMetadata, meta)),
|
|
76
|
+
findErrorOnly,
|
|
71
77
|
(error) => {
|
|
72
78
|
lastError = error
|
|
73
79
|
return effect.flatMap(step(error), (meta_) => {
|
|
@@ -198,7 +204,7 @@ export const scheduleFrom = dual<
|
|
|
198
204
|
effect.flatMap(Schedule.toStepWithMetadata(schedule), (step) => {
|
|
199
205
|
let meta = Schedule.CurrentMetadata.defaultValue()
|
|
200
206
|
const selfWithMeta = effect.suspend(() => effect.provideService(self, Schedule.CurrentMetadata, meta))
|
|
201
|
-
return
|
|
207
|
+
return Pull.catchDone(
|
|
202
208
|
effect.flatMap(
|
|
203
209
|
step(initial),
|
|
204
210
|
(meta_) => {
|
|
@@ -210,10 +216,10 @@ export const scheduleFrom = dual<
|
|
|
210
216
|
step(meta_) {
|
|
211
217
|
meta = meta_
|
|
212
218
|
}
|
|
213
|
-
}) as Effect<never, E
|
|
219
|
+
}) as Effect<never, E | Error | Cause.Done<Output>, R | Env>
|
|
214
220
|
}
|
|
215
221
|
),
|
|
216
|
-
(
|
|
222
|
+
(out) => effect.succeed(out as Output)
|
|
217
223
|
)
|
|
218
224
|
}))
|
|
219
225
|
|
|
@@ -53,7 +53,7 @@ export function toStandardSchemaV1<S extends Schema.ConstraintDecoder<unknown>>(
|
|
|
53
53
|
})
|
|
54
54
|
})
|
|
55
55
|
}
|
|
56
|
-
if ("~standard"
|
|
56
|
+
if (Object.hasOwn(self, "~standard")) {
|
|
57
57
|
const out = self as any
|
|
58
58
|
if ("validate" in out["~standard"]) return out
|
|
59
59
|
Object.assign(out["~standard"], { validate })
|
|
@@ -109,7 +109,7 @@ export function toStandardJSONSchemaV1<S extends Schema.Constraint>(
|
|
|
109
109
|
return toBaseStandardJSONSchemaV1(SchemaAST.toType(self.ast), options.target)
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
if ("~standard"
|
|
112
|
+
if (Object.hasOwn(self, "~standard")) {
|
|
113
113
|
const out = self as any
|
|
114
114
|
if ("jsonSchema" in out["~standard"]) return out
|
|
115
115
|
Object.assign(out["~standard"], { jsonSchema })
|
|
@@ -26,6 +26,7 @@ import * as Num from "../Number.ts"
|
|
|
26
26
|
import * as Option from "../Option.ts"
|
|
27
27
|
import * as Schedule from "../Schedule.ts"
|
|
28
28
|
import * as Scope from "../Scope.ts"
|
|
29
|
+
import * as Version from "../Version.ts"
|
|
29
30
|
|
|
30
31
|
const retryAfterDelay = (value: string | undefined): Effect.Effect<Duration.Duration> => {
|
|
31
32
|
const seconds = Option.fromUndefinedOr(value).pipe(Option.flatMap(Num.parse))
|
|
@@ -194,12 +195,14 @@ export const make: (
|
|
|
194
195
|
HttpClient.retryTransient({ schedule: policy, times: 3 })
|
|
195
196
|
)
|
|
196
197
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
198
|
+
const exporterUserAgent = `OTel-OTLP-Exporter-JavaScript-Effect-${options.label}/${Version.getCurrentVersion()}`
|
|
199
|
+
const userHeaders = Headers.fromInput(options.headers)
|
|
200
|
+
const userAgent = userHeaders["user-agent"]
|
|
201
|
+
const headers = Headers.set(
|
|
202
|
+
userHeaders,
|
|
203
|
+
"user-agent",
|
|
204
|
+
userAgent ? `${userAgent} ${exporterUserAgent}` : exporterUserAgent
|
|
205
|
+
)
|
|
203
206
|
|
|
204
207
|
const request = HttpClientRequest.post(options.url, { headers })
|
|
205
208
|
let buffer: Array<any> = []
|
|
@@ -23,6 +23,7 @@ import type * as LogLevel from "../LogLevel.ts"
|
|
|
23
23
|
import * as Option from "../Option.ts"
|
|
24
24
|
import { CurrentLogAnnotations, CurrentLogSpans } from "../References.ts"
|
|
25
25
|
import type * as Scope from "../Scope.ts"
|
|
26
|
+
import * as Version from "../Version.ts"
|
|
26
27
|
import * as OtlpEnv from "./internal/otlpEnv.ts"
|
|
27
28
|
import * as Exporter from "./OtlpExporter.ts"
|
|
28
29
|
import type { AnyValue, Fixed64, KeyValue, Resource } from "./OtlpResource.ts"
|
|
@@ -64,7 +65,8 @@ export const make: (
|
|
|
64
65
|
const serialization = yield* OtlpSerialization
|
|
65
66
|
const otelResource = yield* OtlpResource.fromConfig(options.resource)
|
|
66
67
|
const scope: IInstrumentationScope = {
|
|
67
|
-
name:
|
|
68
|
+
name: "effect",
|
|
69
|
+
version: Version.getCurrentVersion()
|
|
68
70
|
}
|
|
69
71
|
|
|
70
72
|
const exporter = yield* Exporter.make({
|
|
@@ -192,32 +194,29 @@ export interface LogsData {
|
|
|
192
194
|
|
|
193
195
|
// internal
|
|
194
196
|
|
|
197
|
+
const nanosPerMilli = BigInt(1_000_000)
|
|
198
|
+
|
|
195
199
|
const makeLogRecord = (options: Logger.Options<unknown>, opts: {
|
|
196
200
|
readonly excludeLogSpans: boolean
|
|
197
201
|
readonly clock: Clock
|
|
198
202
|
}): ILogRecord => {
|
|
199
|
-
const
|
|
200
|
-
const
|
|
201
|
-
const
|
|
203
|
+
const observedTime = opts.clock.currentTimeNanosUnsafe().toString()
|
|
204
|
+
const eventMillis = options.date.getTime()
|
|
205
|
+
const eventTime = (BigInt(eventMillis) * nanosPerMilli).toString()
|
|
202
206
|
|
|
203
|
-
const attributes =
|
|
204
|
-
attributes.
|
|
205
|
-
key: "fiberId",
|
|
206
|
-
value: { intValue: options.fiber.id }
|
|
207
|
-
})
|
|
207
|
+
const attributes: Record<string, unknown> = { ...options.fiber.getRef(CurrentLogAnnotations) }
|
|
208
|
+
attributes["effect.fiberId"] = options.fiber.id
|
|
208
209
|
if (!opts.excludeLogSpans) {
|
|
210
|
+
// Outermost spans win duplicate labels.
|
|
209
211
|
for (const [label, startTime] of options.fiber.getRef(CurrentLogSpans)) {
|
|
210
|
-
attributes.
|
|
211
|
-
key: `logSpan.${label}`,
|
|
212
|
-
value: { stringValue: `${nowMillis - startTime}ms` }
|
|
213
|
-
})
|
|
212
|
+
attributes[`effect.log_span.${label}`] = eventMillis - startTime
|
|
214
213
|
}
|
|
215
214
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
215
|
+
const errors = Cause.prettyErrors(options.cause, { includeCauseInStack: true })
|
|
216
|
+
if (errors.length > 0) {
|
|
217
|
+
attributes["exception.type"] = errors[0].name
|
|
218
|
+
attributes["exception.message"] = errors[0].message
|
|
219
|
+
attributes["exception.stacktrace"] = errors.map((error) => error.stack).join("\n")
|
|
221
220
|
}
|
|
222
221
|
|
|
223
222
|
const message = Arr.ensure(options.message)
|
|
@@ -225,9 +224,9 @@ const makeLogRecord = (options: Logger.Options<unknown>, opts: {
|
|
|
225
224
|
const logRecord: ILogRecord = {
|
|
226
225
|
severityNumber: logLevelToSeverityNumber(options.logLevel),
|
|
227
226
|
severityText: options.logLevel,
|
|
228
|
-
timeUnixNano:
|
|
229
|
-
observedTimeUnixNano:
|
|
230
|
-
attributes,
|
|
227
|
+
timeUnixNano: eventTime,
|
|
228
|
+
observedTimeUnixNano: observedTime,
|
|
229
|
+
attributes: OtlpResource.entriesToAttributes(Object.entries(attributes)),
|
|
231
230
|
body: OtlpResource.unknownToAttributeValue(message.length === 1 ? message[0] : message),
|
|
232
231
|
droppedAttributesCount: 0
|
|
233
232
|
}
|