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
package/src/ai/LanguageModel.ts
CHANGED
|
@@ -869,12 +869,7 @@ export const make: (params: {
|
|
|
869
869
|
> =>
|
|
870
870
|
Effect.useSpan(
|
|
871
871
|
"LanguageModel.generateText",
|
|
872
|
-
{
|
|
873
|
-
attributes: {
|
|
874
|
-
concurrency: options.concurrency,
|
|
875
|
-
toolChoice: options.toolChoice
|
|
876
|
-
}
|
|
877
|
-
},
|
|
872
|
+
{ kind: "client" },
|
|
878
873
|
Effect.fnUntraced(
|
|
879
874
|
function*(span) {
|
|
880
875
|
const spanTransformer = yield* getSpanTransformer
|
|
@@ -930,11 +925,8 @@ export const make: (params: {
|
|
|
930
925
|
return Effect.useSpan(
|
|
931
926
|
"LanguageModel.generateObject",
|
|
932
927
|
{
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
concurrency: options.concurrency,
|
|
936
|
-
toolChoice: options.toolChoice
|
|
937
|
-
}
|
|
928
|
+
kind: "client",
|
|
929
|
+
attributes: { "effect.ai.object_name": objectName }
|
|
938
930
|
},
|
|
939
931
|
Effect.fnUntraced(
|
|
940
932
|
function*(span) {
|
|
@@ -1006,12 +998,7 @@ export const make: (params: {
|
|
|
1006
998
|
Tools extends Record<string, Tool.Any>,
|
|
1007
999
|
Options extends NoExcessProperties<GenerateTextOptions<Tools>, Options>
|
|
1008
1000
|
>(options: Options & GenerateTextOptions<Tools>) {
|
|
1009
|
-
const span = yield* Effect.makeSpanScoped("LanguageModel.streamText", {
|
|
1010
|
-
attributes: {
|
|
1011
|
-
concurrency: options.concurrency,
|
|
1012
|
-
toolChoice: options.toolChoice
|
|
1013
|
-
}
|
|
1014
|
-
})
|
|
1001
|
+
const span = yield* Effect.makeSpanScoped("LanguageModel.streamText", { kind: "client" })
|
|
1015
1002
|
|
|
1016
1003
|
const providerOptions: Mutable<ProviderOptions> = {
|
|
1017
1004
|
prompt: Prompt.make(options.prompt),
|
|
@@ -1083,7 +1070,7 @@ export const make: (params: {
|
|
|
1083
1070
|
const tracker = Option.getOrUndefined(yield* Effect.serviceOption(ResponseIdTracker.ResponseIdTracker))
|
|
1084
1071
|
const toolChoice = options.toolChoice ?? "auto"
|
|
1085
1072
|
const concurrency = options.concurrency ?? "unbounded"
|
|
1086
|
-
providerOptions
|
|
1073
|
+
annotateRequestOptions(providerOptions, toolChoice, concurrency)
|
|
1087
1074
|
|
|
1088
1075
|
const generateWithNonIncrementalFallback = () => {
|
|
1089
1076
|
const requestOptions: ProviderOptions = {
|
|
@@ -1336,7 +1323,7 @@ export const make: (params: {
|
|
|
1336
1323
|
const tracker = Option.getOrUndefined(yield* Effect.serviceOption(ResponseIdTracker.ResponseIdTracker))
|
|
1337
1324
|
const toolChoice = options.toolChoice ?? "auto"
|
|
1338
1325
|
const concurrency = options.concurrency ?? "unbounded"
|
|
1339
|
-
providerOptions
|
|
1326
|
+
annotateRequestOptions(providerOptions, toolChoice, concurrency)
|
|
1340
1327
|
|
|
1341
1328
|
const streamWithNonIncrementalFallback = () => {
|
|
1342
1329
|
const requestOptions: ProviderOptions = {
|
|
@@ -2485,6 +2472,16 @@ const resolveToolkit = <Tools extends Record<string, Tool.Any>, E, R>(
|
|
|
2485
2472
|
? toolkit
|
|
2486
2473
|
: Effect.succeed(toolkit as unknown as Toolkit.WithHandler<Tools>)) as any
|
|
2487
2474
|
|
|
2475
|
+
const annotateRequestOptions = (
|
|
2476
|
+
{ responseFormat, span }: ProviderOptions,
|
|
2477
|
+
toolChoice: ToolChoice<any>,
|
|
2478
|
+
concurrency: Concurrency
|
|
2479
|
+
): void => {
|
|
2480
|
+
span.attribute("gen_ai.output.type", responseFormat.type)
|
|
2481
|
+
span.attribute("effect.ai.tool_choice", typeof toolChoice === "string" ? toolChoice : JSON.stringify(toolChoice))
|
|
2482
|
+
span.attribute("effect.ai.concurrency", concurrency)
|
|
2483
|
+
}
|
|
2484
|
+
|
|
2488
2485
|
/**
|
|
2489
2486
|
* @internal
|
|
2490
2487
|
*/
|
package/src/ai/McpServer.ts
CHANGED
|
@@ -654,6 +654,7 @@ const cancelledResponses = new WeakMap<object, string | number>()
|
|
|
654
654
|
const requestKey = (requestId: string | number): string => `${typeof requestId}:${requestId}`
|
|
655
655
|
|
|
656
656
|
interface ActiveRequest {
|
|
657
|
+
readonly requestId: RpcMessage.RequestId
|
|
657
658
|
readonly prepared: McpRuntime.PreparedRequest
|
|
658
659
|
readonly cancelled: boolean
|
|
659
660
|
}
|
|
@@ -805,6 +806,7 @@ const runWithRuntime = Effect.fnUntraced(function*(
|
|
|
805
806
|
payload: { requestId, reason }
|
|
806
807
|
})
|
|
807
808
|
})
|
|
809
|
+
let writeFromClient!: (clientId: number, message: RpcMessage.FromClientEncoded) => Effect.Effect<void>
|
|
808
810
|
const handlers = yield* runtime.installHandlers({
|
|
809
811
|
core: internalState.get(server)!.core,
|
|
810
812
|
subscribeServerNotifications: PubSub.subscribe(serverNotifications),
|
|
@@ -976,8 +978,9 @@ const runWithRuntime = Effect.fnUntraced(function*(
|
|
|
976
978
|
}
|
|
977
979
|
return protocol.send(clientId, response)
|
|
978
980
|
},
|
|
979
|
-
run: (f) =>
|
|
980
|
-
|
|
981
|
+
run: (f) => {
|
|
982
|
+
writeFromClient = f
|
|
983
|
+
return protocol.run((clientId, request_) => {
|
|
981
984
|
const fiber = Fiber.getCurrent()!
|
|
982
985
|
const request = request_ as unknown as
|
|
983
986
|
| RpcMessage.FromServerEncoded
|
|
@@ -1045,11 +1048,13 @@ const runWithRuntime = Effect.fnUntraced(function*(
|
|
|
1045
1048
|
if (httpRequest !== undefined && session !== undefined) {
|
|
1046
1049
|
appendPreResponseHandlerUnsafe(httpRequest, (_, res) =>
|
|
1047
1050
|
Effect.succeed(
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1051
|
+
runtime.resolveRequest(clientId, headers) === undefined
|
|
1052
|
+
? HttpServerResponse.empty({ status: 404 })
|
|
1053
|
+
: HttpServerResponse.setHeader(
|
|
1054
|
+
res,
|
|
1055
|
+
MCP_PROTOCOL_VERSION_HEADER,
|
|
1056
|
+
session.protocol.protocolVersion
|
|
1057
|
+
)
|
|
1053
1058
|
))
|
|
1054
1059
|
}
|
|
1055
1060
|
const routedRequest = runtime.routeClientRequest(selectedProtocol, request)
|
|
@@ -1130,7 +1135,11 @@ const runWithRuntime = Effect.fnUntraced(function*(
|
|
|
1130
1135
|
}
|
|
1131
1136
|
if (request.isNotification !== true) {
|
|
1132
1137
|
const requests = activeRequests.get(clientId) ?? new Map<string, ActiveRequest>()
|
|
1133
|
-
requests.set(requestKey(request.id), {
|
|
1138
|
+
requests.set(requestKey(request.id), {
|
|
1139
|
+
requestId: RpcMessage.RequestId(request.id),
|
|
1140
|
+
prepared,
|
|
1141
|
+
cancelled: false
|
|
1142
|
+
})
|
|
1134
1143
|
activeRequests.set(clientId, requests)
|
|
1135
1144
|
}
|
|
1136
1145
|
const handled = f(clientId, routedRequest)
|
|
@@ -1205,7 +1214,22 @@ const runWithRuntime = Effect.fnUntraced(function*(
|
|
|
1205
1214
|
}
|
|
1206
1215
|
}
|
|
1207
1216
|
})
|
|
1217
|
+
}
|
|
1208
1218
|
})
|
|
1219
|
+
if (isHttp) {
|
|
1220
|
+
// Stop requests that can no longer receive client replies after termination.
|
|
1221
|
+
yield* runtime.onSessionTerminated((binding) => {
|
|
1222
|
+
const interrupts: Array<Effect.Effect<void>> = []
|
|
1223
|
+
for (const [clientId, requests] of activeRequests) {
|
|
1224
|
+
for (const { prepared, requestId } of requests.values()) {
|
|
1225
|
+
if (prepared.binding === binding && cancelRequest(clientId, requestId)) {
|
|
1226
|
+
interrupts.push(writeFromClient(clientId, { _tag: "Interrupt", requestId }))
|
|
1227
|
+
}
|
|
1228
|
+
}
|
|
1229
|
+
}
|
|
1230
|
+
return Effect.all(interrupts, { discard: true })
|
|
1231
|
+
})
|
|
1232
|
+
}
|
|
1209
1233
|
|
|
1210
1234
|
const { notificationDelivery, notifications } = internalState.get(server)!
|
|
1211
1235
|
yield* Effect.acquireRelease(
|
|
@@ -1526,19 +1550,28 @@ const mcpStdioSerialization = (
|
|
|
1526
1550
|
* **Details**
|
|
1527
1551
|
*
|
|
1528
1552
|
* POST serves JSON-RPC and accepted notification-only requests return `202`.
|
|
1529
|
-
*
|
|
1530
|
-
* JSON-RPC errors with status `400
|
|
1531
|
-
* JSON-RPC method-not-found error with
|
|
1532
|
-
*
|
|
1533
|
-
*
|
|
1553
|
+
* Header mismatches, unsupported protocol versions, and invalid session-header
|
|
1554
|
+
* usage return JSON-RPC errors with status `400`.
|
|
1555
|
+
* Unknown modern RPC methods return a JSON-RPC method-not-found error with
|
|
1556
|
+
* status `404`. Session requests without `MCP-Protocol-Version` use the version
|
|
1557
|
+
* negotiated at initialization. Unsupported HTTP methods return `405`.
|
|
1558
|
+
* Requests with an `Origin` header are rejected unless the exact origin
|
|
1559
|
+
* appears in `allowedOrigins`; Origin-less non-browser clients
|
|
1534
1560
|
* remain valid. The surrounding HTTP server remains responsible for binding
|
|
1535
1561
|
* to an appropriate interface and installing authentication.
|
|
1536
1562
|
*
|
|
1563
|
+
* With `allowSessionTermination`, a DELETE carrying `Mcp-Session-Id` ends that
|
|
1564
|
+
* session with `204` and interrupts its in-flight requests; later requests with
|
|
1565
|
+
* that id get `404`. DELETE validates the session and `MCP-Protocol-Version`
|
|
1566
|
+
* headers like POST. Without the option, or when only sessionless revisions
|
|
1567
|
+
* such as `v2026_07_28` are configured, DELETE returns `405`. Any caller
|
|
1568
|
+
* holding a session id can end that session, so authenticate requests in the
|
|
1569
|
+
* surrounding router.
|
|
1570
|
+
*
|
|
1537
1571
|
* `layerHttp` always implements the single-endpoint Streamable HTTP topology.
|
|
1538
1572
|
* Using `v2024_11_05` here is a custom compatibility transport for that
|
|
1539
1573
|
* revision's schema. It does not implement the historical two-endpoint
|
|
1540
|
-
* HTTP+SSE transport, GET SSE, event resumption, session expiry
|
|
1541
|
-
* session termination.
|
|
1574
|
+
* HTTP+SSE transport, GET SSE, event resumption, or session expiry.
|
|
1542
1575
|
*
|
|
1543
1576
|
* @see {@link layerStdio} for exposing the server over stdio
|
|
1544
1577
|
* @see {@link layer} for the base MCP server layer without a transport protocol
|
|
@@ -1558,24 +1591,10 @@ export const layerHttp = (options: {
|
|
|
1558
1591
|
readonly protocols: Arr.NonEmptyReadonlyArray<McpProtocol.ProtocolAdapter>
|
|
1559
1592
|
readonly extensions?: ServerExtensions | undefined
|
|
1560
1593
|
readonly allowedOrigins?: ReadonlyArray<string> | undefined
|
|
1594
|
+
readonly allowSessionTermination?: boolean | undefined
|
|
1561
1595
|
}): Layer.Layer<McpServer | McpServerClient, Cause.IllegalArgumentError, HttpRouter.HttpRouter> => {
|
|
1562
1596
|
const runtime = McpRuntime.layer(options.protocols)
|
|
1563
|
-
|
|
1564
|
-
status: 405,
|
|
1565
|
-
headers: { allow: "POST" }
|
|
1566
|
-
})
|
|
1567
|
-
const methodNotAllowed = (request: HttpServerRequest.HttpServerRequest) =>
|
|
1568
|
-
isAllowedMcpOrigin(request, options.allowedOrigins)
|
|
1569
|
-
? Effect.succeed(methodNotAllowedResponse)
|
|
1570
|
-
: Effect.succeed(HttpServerResponse.empty({ status: 403 }))
|
|
1571
|
-
const routes = Layer.mergeAll(
|
|
1572
|
-
HttpRouter.add("GET", options.path, methodNotAllowed),
|
|
1573
|
-
HttpRouter.add("PUT", options.path, methodNotAllowed),
|
|
1574
|
-
HttpRouter.add("PATCH", options.path, methodNotAllowed),
|
|
1575
|
-
HttpRouter.add("DELETE", options.path, methodNotAllowed),
|
|
1576
|
-
HttpRouter.add("OPTIONS", options.path, methodNotAllowed)
|
|
1577
|
-
)
|
|
1578
|
-
return Layer.merge(layerWithRuntime(options, "http"), routes).pipe(
|
|
1597
|
+
return layerWithRuntime(options, "http").pipe(
|
|
1579
1598
|
Layer.provide(layerMcpProtocolHttp(options)),
|
|
1580
1599
|
Layer.provide(runtime),
|
|
1581
1600
|
Layer.provide(RpcSerialization.layerJsonRpc())
|
|
@@ -1585,6 +1604,7 @@ export const layerHttp = (options: {
|
|
|
1585
1604
|
const layerMcpProtocolHttp = (options: {
|
|
1586
1605
|
readonly path: HttpRouter.PathInput
|
|
1587
1606
|
readonly allowedOrigins?: ReadonlyArray<string> | undefined
|
|
1607
|
+
readonly allowSessionTermination?: boolean | undefined
|
|
1588
1608
|
}): Layer.Layer<
|
|
1589
1609
|
RpcServer.Protocol,
|
|
1590
1610
|
never,
|
|
@@ -1596,6 +1616,29 @@ const layerMcpProtocolHttp = (options: {
|
|
|
1596
1616
|
Effect.provideService(RpcSerialization.RpcSerialization, mcpHttpSerialization)
|
|
1597
1617
|
)
|
|
1598
1618
|
const router = yield* HttpRouter.HttpRouter
|
|
1619
|
+
const allowSessionTermination = options.allowSessionTermination === true &&
|
|
1620
|
+
runtime.protocols.some((protocol) => protocol.runtime._tag === "Stateful")
|
|
1621
|
+
const forbidden = Effect.succeed(HttpServerResponse.empty({ status: 403 }))
|
|
1622
|
+
const withAllowedOrigin = (
|
|
1623
|
+
handler: (request: HttpServerRequest.HttpServerRequest) => Effect.Effect<HttpServerResponse.HttpServerResponse>
|
|
1624
|
+
) =>
|
|
1625
|
+
(request: HttpServerRequest.HttpServerRequest) =>
|
|
1626
|
+
isAllowedMcpOrigin(request, options.allowedOrigins) ? handler(request) : forbidden
|
|
1627
|
+
const methodNotAllowedResponse = Effect.succeed(HttpServerResponse.empty({
|
|
1628
|
+
status: 405,
|
|
1629
|
+
headers: { allow: allowSessionTermination ? "POST, DELETE" : "POST" }
|
|
1630
|
+
}))
|
|
1631
|
+
const methodNotAllowed = withAllowedOrigin(() => methodNotAllowedResponse)
|
|
1632
|
+
for (const method of ["GET", "PUT", "PATCH", "OPTIONS"] as const) {
|
|
1633
|
+
yield* router.add(method, options.path, methodNotAllowed)
|
|
1634
|
+
}
|
|
1635
|
+
yield* router.add(
|
|
1636
|
+
"DELETE",
|
|
1637
|
+
options.path,
|
|
1638
|
+
allowSessionTermination
|
|
1639
|
+
? withAllowedOrigin((request) => runtime.terminateHttpSession(request.headers))
|
|
1640
|
+
: methodNotAllowed
|
|
1641
|
+
)
|
|
1599
1642
|
yield* router.add("POST", options.path, (request) => {
|
|
1600
1643
|
if (!isAllowedMcpOrigin(request, options.allowedOrigins)) {
|
|
1601
1644
|
return Effect.succeed(HttpServerResponse.empty({ status: 403 }))
|
|
@@ -1809,7 +1852,7 @@ export const registerToolkit: <Tools extends Record<string, Tool.Any>>(
|
|
|
1809
1852
|
) => Effect.Effect<
|
|
1810
1853
|
void,
|
|
1811
1854
|
never,
|
|
1812
|
-
McpServer | Tool.HandlersFor<Tools> | Exclude<Tool.HandlerServices<Tools>, McpRequestContext>
|
|
1855
|
+
McpServer | Tool.HandlersFor<Tools> | Exclude<Tool.HandlerServices<Tools[keyof Tools]>, McpRequestContext>
|
|
1813
1856
|
> = Effect.fnUntraced(function*<Tools extends Record<string, Tool.Any>>(
|
|
1814
1857
|
toolkit: Toolkit.Toolkit<Tools>
|
|
1815
1858
|
) {
|
|
@@ -1829,7 +1872,11 @@ export const registerToolkit: <Tools extends Record<string, Tool.Any>>(
|
|
|
1829
1872
|
}
|
|
1830
1873
|
return Context.makeUnsafe(services)
|
|
1831
1874
|
}))
|
|
1832
|
-
const services = omitRequestServices(
|
|
1875
|
+
const services = omitRequestServices(
|
|
1876
|
+
yield* Effect.context<
|
|
1877
|
+
Exclude<Tool.HandlerServices<Tools[keyof Tools]>, McpRequestContext>
|
|
1878
|
+
>()
|
|
1879
|
+
)
|
|
1833
1880
|
const reportCause = (cause: Cause.Cause<unknown>) => Effect.provideContext(ErrorReporter.report(cause), services)
|
|
1834
1881
|
// Interruption propagates; anything else is logged, reported and scrubbed.
|
|
1835
1882
|
const internalToolError = (cause: Cause.Cause<unknown>) => {
|
|
@@ -1973,7 +2020,7 @@ export const toolkit = <Tools extends Record<string, Tool.Any>>(
|
|
|
1973
2020
|
): Layer.Layer<
|
|
1974
2021
|
never,
|
|
1975
2022
|
never,
|
|
1976
|
-
Tool.HandlersFor<Tools> | Exclude<Tool.HandlerServices<Tools>, McpRequestContext>
|
|
2023
|
+
Tool.HandlersFor<Tools> | Exclude<Tool.HandlerServices<Tools[keyof Tools]>, McpRequestContext>
|
|
1977
2024
|
> =>
|
|
1978
2025
|
Layer.effectDiscard(registerToolkit(toolkit)).pipe(
|
|
1979
2026
|
Layer.provide(McpServer.layer)
|
|
@@ -1997,6 +2044,19 @@ export type ValidateCompletions<Completions, Keys extends string> =
|
|
|
1997
2044
|
: never
|
|
1998
2045
|
}
|
|
1999
2046
|
|
|
2047
|
+
/**
|
|
2048
|
+
* Utility type that collects the services required by the handlers of a
|
|
2049
|
+
* completion-handler record, including handlers declared as optional.
|
|
2050
|
+
*
|
|
2051
|
+
* @stability unstable
|
|
2052
|
+
* @category utility types
|
|
2053
|
+
* @since 4.0.0
|
|
2054
|
+
*/
|
|
2055
|
+
export type CompletionServices<Completions> = {
|
|
2056
|
+
[K in keyof Completions]-?: NonNullable<Completions[K]> extends (...args: any) => infer Ret ? Effect.Services<Ret>
|
|
2057
|
+
: never
|
|
2058
|
+
}[keyof Completions]
|
|
2059
|
+
|
|
2000
2060
|
/**
|
|
2001
2061
|
* Completion-handler map for a resource URI template.
|
|
2002
2062
|
*
|
|
@@ -2374,7 +2434,13 @@ export const registerPrompt = <
|
|
|
2374
2434
|
): Effect.Effect<
|
|
2375
2435
|
void,
|
|
2376
2436
|
never,
|
|
2377
|
-
Exclude<
|
|
2437
|
+
| Exclude<
|
|
2438
|
+
| Schema.Struct.DecodingServices<Params>
|
|
2439
|
+
| R
|
|
2440
|
+
| CompletionServices<Completions>,
|
|
2441
|
+
McpRequestContext
|
|
2442
|
+
>
|
|
2443
|
+
| McpServer
|
|
2378
2444
|
> => {
|
|
2379
2445
|
const args = Arr.empty<PromptArgument>()
|
|
2380
2446
|
const props: Record<string, Schema.Constraint> = options.parameters ?? {}
|
|
@@ -2512,7 +2578,12 @@ export const prompt = <
|
|
|
2512
2578
|
): Layer.Layer<
|
|
2513
2579
|
never,
|
|
2514
2580
|
never,
|
|
2515
|
-
Exclude<
|
|
2581
|
+
Exclude<
|
|
2582
|
+
| Schema.Struct.DecodingServices<Params>
|
|
2583
|
+
| R
|
|
2584
|
+
| CompletionServices<Completions>,
|
|
2585
|
+
McpRequestContext
|
|
2586
|
+
>
|
|
2516
2587
|
> =>
|
|
2517
2588
|
Layer.effectDiscard(registerPrompt(options)).pipe(
|
|
2518
2589
|
Layer.provide(McpServer.layer)
|
package/src/ai/Telemetry.ts
CHANGED
|
@@ -27,50 +27,35 @@ import type * as Response from "./Response.ts"
|
|
|
27
27
|
*
|
|
28
28
|
* These attributes follow the OpenTelemetry generative AI semantic
|
|
29
29
|
* conventions:
|
|
30
|
-
* https://
|
|
30
|
+
* https://github.com/open-telemetry/semantic-conventions-genai
|
|
31
31
|
*
|
|
32
32
|
* @stability unstable
|
|
33
33
|
* @category models
|
|
34
34
|
* @since 4.0.0
|
|
35
35
|
*/
|
|
36
36
|
export type GenAITelemetryAttributes = Struct.Simplify<
|
|
37
|
-
& AttributesWithPrefix<
|
|
37
|
+
& AttributesWithPrefix<ProviderAttributes, "gen_ai.provider">
|
|
38
38
|
& AttributesWithPrefix<OperationAttributes, "gen_ai.operation">
|
|
39
|
-
& AttributesWithPrefix<
|
|
39
|
+
& AttributesWithPrefix<OutputAttributes, "gen_ai.output">
|
|
40
40
|
& AttributesWithPrefix<UsageAttributes, "gen_ai.usage">
|
|
41
41
|
& AttributesWithPrefix<RequestAttributes, "gen_ai.request">
|
|
42
42
|
& AttributesWithPrefix<ResponseAttributes, "gen_ai.response">
|
|
43
43
|
>
|
|
44
44
|
|
|
45
|
-
/**
|
|
46
|
-
* All telemetry attributes which are part of the GenAI specification.
|
|
47
|
-
*
|
|
48
|
-
* @stability unstable
|
|
49
|
-
* @category models
|
|
50
|
-
* @since 4.0.0
|
|
51
|
-
*/
|
|
52
|
-
export type AllAttributes =
|
|
53
|
-
& BaseAttributes
|
|
54
|
-
& OperationAttributes
|
|
55
|
-
& TokenAttributes
|
|
56
|
-
& UsageAttributes
|
|
57
|
-
& RequestAttributes
|
|
58
|
-
& ResponseAttributes
|
|
59
|
-
|
|
60
45
|
/**
|
|
61
46
|
* Telemetry attributes which are part of the GenAI specification and are
|
|
62
|
-
* namespaced by `gen_ai`.
|
|
47
|
+
* namespaced by `gen_ai.provider`.
|
|
63
48
|
*
|
|
64
49
|
* @stability unstable
|
|
65
50
|
* @category models
|
|
66
|
-
* @since 4.0.
|
|
51
|
+
* @since 4.0.2
|
|
67
52
|
*/
|
|
68
|
-
export interface
|
|
53
|
+
export interface ProviderAttributes {
|
|
69
54
|
/**
|
|
70
|
-
* The Generative AI
|
|
71
|
-
* instrumentation.
|
|
55
|
+
* The Generative AI provider as identified by the client or server
|
|
56
|
+
* instrumentation, written as `gen_ai.provider.name`.
|
|
72
57
|
*/
|
|
73
|
-
readonly
|
|
58
|
+
readonly name?: (string & {}) | WellKnownProviderName | null | undefined
|
|
74
59
|
}
|
|
75
60
|
|
|
76
61
|
/**
|
|
@@ -87,14 +72,17 @@ export interface OperationAttributes {
|
|
|
87
72
|
|
|
88
73
|
/**
|
|
89
74
|
* Telemetry attributes which are part of the GenAI specification and are
|
|
90
|
-
* namespaced by `gen_ai.
|
|
75
|
+
* namespaced by `gen_ai.output`.
|
|
91
76
|
*
|
|
92
77
|
* @stability unstable
|
|
93
78
|
* @category models
|
|
94
|
-
* @since 4.0.
|
|
79
|
+
* @since 4.0.2
|
|
95
80
|
*/
|
|
96
|
-
export interface
|
|
97
|
-
|
|
81
|
+
export interface OutputAttributes {
|
|
82
|
+
/**
|
|
83
|
+
* The output modality requested by the client.
|
|
84
|
+
*/
|
|
85
|
+
readonly type?: (string & {}) | WellKnownOutputType | null | undefined
|
|
98
86
|
}
|
|
99
87
|
|
|
100
88
|
/**
|
|
@@ -128,15 +116,15 @@ export interface RequestAttributes {
|
|
|
128
116
|
*/
|
|
129
117
|
readonly temperature?: number | null | undefined
|
|
130
118
|
/**
|
|
131
|
-
* The
|
|
119
|
+
* The top_k sampling setting for the GenAI request.
|
|
132
120
|
*/
|
|
133
121
|
readonly topK?: number | null | undefined
|
|
134
122
|
/**
|
|
135
|
-
* The
|
|
123
|
+
* The top_p sampling setting for the GenAI request.
|
|
136
124
|
*/
|
|
137
125
|
readonly topP?: number | null | undefined
|
|
138
126
|
/**
|
|
139
|
-
* The
|
|
127
|
+
* The maximum number of tokens the model may generate.
|
|
140
128
|
*/
|
|
141
129
|
readonly maxTokens?: number | null | undefined
|
|
142
130
|
/**
|
|
@@ -203,7 +191,18 @@ export interface ResponseAttributes {
|
|
|
203
191
|
export type WellKnownOperationName = "chat" | "embeddings" | "text_completion"
|
|
204
192
|
|
|
205
193
|
/**
|
|
206
|
-
* The `gen_ai.
|
|
194
|
+
* The `gen_ai.output.type` attribute has the following list of well-known
|
|
195
|
+
* values.
|
|
196
|
+
*
|
|
197
|
+
* @stability unstable
|
|
198
|
+
* @category models
|
|
199
|
+
* @since 4.0.2
|
|
200
|
+
*/
|
|
201
|
+
export type WellKnownOutputType = "text" | "json" | "image" | "speech"
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* The `gen_ai.provider.name` attribute has the following list of well-known
|
|
205
|
+
* values.
|
|
207
206
|
*
|
|
208
207
|
* **Details**
|
|
209
208
|
*
|
|
@@ -212,23 +211,25 @@ export type WellKnownOperationName = "chat" | "embeddings" | "text_completion"
|
|
|
212
211
|
*
|
|
213
212
|
* @stability unstable
|
|
214
213
|
* @category models
|
|
215
|
-
* @since 4.0.
|
|
214
|
+
* @since 4.0.2
|
|
216
215
|
*/
|
|
217
|
-
export type
|
|
216
|
+
export type WellKnownProviderName =
|
|
218
217
|
| "anthropic"
|
|
219
218
|
| "aws.bedrock"
|
|
220
|
-
| "
|
|
221
|
-
| "
|
|
219
|
+
| "azure.ai.inference"
|
|
220
|
+
| "azure.ai.openai"
|
|
222
221
|
| "cohere"
|
|
223
222
|
| "deepseek"
|
|
224
|
-
| "gemini"
|
|
223
|
+
| "gcp.gemini"
|
|
224
|
+
| "gcp.gen_ai"
|
|
225
|
+
| "gcp.vertex_ai"
|
|
225
226
|
| "groq"
|
|
226
227
|
| "ibm.watsonx.ai"
|
|
227
228
|
| "mistral_ai"
|
|
229
|
+
| "moonshot_ai"
|
|
228
230
|
| "openai"
|
|
229
231
|
| "perplexity"
|
|
230
|
-
| "
|
|
231
|
-
| "xai"
|
|
232
|
+
| "x_ai"
|
|
232
233
|
|
|
233
234
|
/**
|
|
234
235
|
* Utility type for prefixing attribute names with a namespace.
|
|
@@ -375,11 +376,11 @@ export const addSpanAttributes = (
|
|
|
375
376
|
}
|
|
376
377
|
}
|
|
377
378
|
|
|
378
|
-
const
|
|
379
|
+
const addSpanProviderAttributes = addSpanAttributes("gen_ai.provider", String.camelToSnake)<ProviderAttributes>
|
|
379
380
|
const addSpanOperationAttributes = addSpanAttributes("gen_ai.operation", String.camelToSnake)<OperationAttributes>
|
|
381
|
+
const addSpanOutputAttributes = addSpanAttributes("gen_ai.output", String.camelToSnake)<OutputAttributes>
|
|
380
382
|
const addSpanRequestAttributes = addSpanAttributes("gen_ai.request", String.camelToSnake)<RequestAttributes>
|
|
381
383
|
const addSpanResponseAttributes = addSpanAttributes("gen_ai.response", String.camelToSnake)<ResponseAttributes>
|
|
382
|
-
const addSpanTokenAttributes = addSpanAttributes("gen_ai.token", String.camelToSnake)<TokenAttributes>
|
|
383
384
|
const addSpanUsageAttributes = addSpanAttributes("gen_ai.usage", String.camelToSnake)<UsageAttributes>
|
|
384
385
|
|
|
385
386
|
/**
|
|
@@ -387,8 +388,7 @@ const addSpanUsageAttributes = addSpanAttributes("gen_ai.usage", String.camelToS
|
|
|
387
388
|
*
|
|
388
389
|
* **Details**
|
|
389
390
|
*
|
|
390
|
-
*
|
|
391
|
-
* telemetry coverage of AI operations.
|
|
391
|
+
* Groups attributes by their `gen_ai.*` namespace.
|
|
392
392
|
*
|
|
393
393
|
* **Example** (Configuring GenAI telemetry attributes)
|
|
394
394
|
*
|
|
@@ -396,7 +396,7 @@ const addSpanUsageAttributes = addSpanAttributes("gen_ai.usage", String.camelToS
|
|
|
396
396
|
* import type { Telemetry } from "effect/ai"
|
|
397
397
|
*
|
|
398
398
|
* const telemetryOptions: Telemetry.GenAITelemetryAttributeOptions = {
|
|
399
|
-
*
|
|
399
|
+
* provider: { name: "openai" },
|
|
400
400
|
* operation: {
|
|
401
401
|
* name: "chat"
|
|
402
402
|
* },
|
|
@@ -416,18 +416,26 @@ const addSpanUsageAttributes = addSpanAttributes("gen_ai.usage", String.camelToS
|
|
|
416
416
|
* }
|
|
417
417
|
* }
|
|
418
418
|
*
|
|
419
|
-
* const result = [telemetryOptions.
|
|
419
|
+
* const result = [telemetryOptions.provider?.name, telemetryOptions.usage?.inputTokens] // => ["openai", 50]
|
|
420
420
|
* ```
|
|
421
421
|
*
|
|
422
422
|
* @stability unstable
|
|
423
423
|
* @category options
|
|
424
424
|
* @since 4.0.0
|
|
425
425
|
*/
|
|
426
|
-
export type GenAITelemetryAttributeOptions =
|
|
426
|
+
export type GenAITelemetryAttributeOptions = {
|
|
427
|
+
/**
|
|
428
|
+
* Provider attributes (e.g., provider name).
|
|
429
|
+
*/
|
|
430
|
+
readonly provider?: ProviderAttributes | undefined
|
|
427
431
|
/**
|
|
428
432
|
* Operation-specific attributes (e.g., operation name).
|
|
429
433
|
*/
|
|
430
434
|
readonly operation?: OperationAttributes | undefined
|
|
435
|
+
/**
|
|
436
|
+
* Output attributes (e.g., requested output type).
|
|
437
|
+
*/
|
|
438
|
+
readonly output?: OutputAttributes | undefined
|
|
431
439
|
/**
|
|
432
440
|
* Request-specific attributes (e.g., model parameters).
|
|
433
441
|
*/
|
|
@@ -436,10 +444,6 @@ export type GenAITelemetryAttributeOptions = BaseAttributes & {
|
|
|
436
444
|
* Response-specific attributes (e.g., response metadata).
|
|
437
445
|
*/
|
|
438
446
|
readonly response?: ResponseAttributes | undefined
|
|
439
|
-
/**
|
|
440
|
-
* Token-specific attributes.
|
|
441
|
-
*/
|
|
442
|
-
readonly token?: TokenAttributes | undefined
|
|
443
447
|
/**
|
|
444
448
|
* Usage statistics attributes (e.g., token counts).
|
|
445
449
|
*/
|
|
@@ -451,7 +455,7 @@ export type GenAITelemetryAttributeOptions = BaseAttributes & {
|
|
|
451
455
|
*
|
|
452
456
|
* **When to use**
|
|
453
457
|
*
|
|
454
|
-
* Use when you need to write GenAI request, response,
|
|
458
|
+
* Use when you need to write GenAI request, response, or usage
|
|
455
459
|
* attributes onto an existing OpenTelemetry span.
|
|
456
460
|
*
|
|
457
461
|
* **Details**
|
|
@@ -473,7 +477,7 @@ export type GenAITelemetryAttributeOptions = BaseAttributes & {
|
|
|
473
477
|
* const span = yield* Effect.currentSpan
|
|
474
478
|
*
|
|
475
479
|
* Telemetry.addGenAIAnnotations(span, {
|
|
476
|
-
*
|
|
480
|
+
* provider: { name: "openai" },
|
|
477
481
|
* request: { model: "gpt-4", temperature: 0.7 },
|
|
478
482
|
* usage: { inputTokens: 100, outputTokens: 50 }
|
|
479
483
|
* })
|
|
@@ -493,7 +497,7 @@ export const addGenAIAnnotations: {
|
|
|
493
497
|
*
|
|
494
498
|
* **When to use**
|
|
495
499
|
*
|
|
496
|
-
* Use when you need to write GenAI request, response,
|
|
500
|
+
* Use when you need to write GenAI request, response, or usage
|
|
497
501
|
* attributes onto an existing OpenTelemetry span.
|
|
498
502
|
*
|
|
499
503
|
* **Details**
|
|
@@ -515,7 +519,7 @@ export const addGenAIAnnotations: {
|
|
|
515
519
|
* const span = yield* Effect.currentSpan
|
|
516
520
|
*
|
|
517
521
|
* Telemetry.addGenAIAnnotations(span, {
|
|
518
|
-
*
|
|
522
|
+
* provider: { name: "openai" },
|
|
519
523
|
* request: { model: "gpt-4", temperature: 0.7 },
|
|
520
524
|
* usage: { inputTokens: 100, outputTokens: 50 }
|
|
521
525
|
* })
|
|
@@ -535,7 +539,7 @@ export const addGenAIAnnotations: {
|
|
|
535
539
|
*
|
|
536
540
|
* **When to use**
|
|
537
541
|
*
|
|
538
|
-
* Use when you need to write GenAI request, response,
|
|
542
|
+
* Use when you need to write GenAI request, response, or usage
|
|
539
543
|
* attributes onto an existing OpenTelemetry span.
|
|
540
544
|
*
|
|
541
545
|
* **Details**
|
|
@@ -557,7 +561,7 @@ export const addGenAIAnnotations: {
|
|
|
557
561
|
* const span = yield* Effect.currentSpan
|
|
558
562
|
*
|
|
559
563
|
* Telemetry.addGenAIAnnotations(span, {
|
|
560
|
-
*
|
|
564
|
+
* provider: { name: "openai" },
|
|
561
565
|
* request: { model: "gpt-4", temperature: 0.7 },
|
|
562
566
|
* usage: { inputTokens: 100, outputTokens: 50 }
|
|
563
567
|
* })
|
|
@@ -573,11 +577,11 @@ export const addGenAIAnnotations: {
|
|
|
573
577
|
*/
|
|
574
578
|
(span: Span, options: GenAITelemetryAttributeOptions): void
|
|
575
579
|
} = dual(2, (span: Span, options: GenAITelemetryAttributeOptions) => {
|
|
576
|
-
|
|
580
|
+
if (Predicate.isNotNullish(options.provider)) addSpanProviderAttributes(span, options.provider)
|
|
577
581
|
if (Predicate.isNotNullish(options.operation)) addSpanOperationAttributes(span, options.operation)
|
|
582
|
+
if (Predicate.isNotNullish(options.output)) addSpanOutputAttributes(span, options.output)
|
|
578
583
|
if (Predicate.isNotNullish(options.request)) addSpanRequestAttributes(span, options.request)
|
|
579
584
|
if (Predicate.isNotNullish(options.response)) addSpanResponseAttributes(span, options.response)
|
|
580
|
-
if (Predicate.isNotNullish(options.token)) addSpanTokenAttributes(span, options.token)
|
|
581
585
|
if (Predicate.isNotNullish(options.usage)) addSpanUsageAttributes(span, options.usage)
|
|
582
586
|
})
|
|
583
587
|
|