effect 4.0.0-beta.3 → 4.0.0-beta.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Array.d.ts +126 -299
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +102 -62
- package/dist/Array.js.map +1 -1
- package/dist/Brand.d.ts +1 -1
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +1 -1
- package/dist/Brand.js.map +1 -1
- package/dist/Cache.d.ts +2 -2
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +6 -5
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +2 -2
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Channel.d.ts +118 -32
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +82 -37
- package/dist/Channel.js.map +1 -1
- package/dist/Chunk.d.ts +54 -247
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +36 -67
- package/dist/Chunk.js.map +1 -1
- package/dist/Combiner.d.ts +280 -13
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +198 -7
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +165 -9
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +65 -10
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +1 -1
- package/dist/Cron.d.ts +1 -1
- package/dist/Cron.js +3 -3
- package/dist/Cron.js.map +1 -1
- package/dist/Data.d.ts +535 -366
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +132 -79
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +56 -238
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +7 -52
- package/dist/DateTime.js.map +1 -1
- package/dist/Duration.d.ts +39 -11
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +88 -59
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +1206 -924
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +390 -329
- package/dist/Effect.js.map +1 -1
- package/dist/Encoding.d.ts +194 -0
- package/dist/Encoding.d.ts.map +1 -0
- package/dist/Encoding.js +352 -0
- package/dist/Encoding.js.map +1 -0
- package/dist/Equal.d.ts +276 -109
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +124 -48
- package/dist/Equal.js.map +1 -1
- package/dist/ErrorReporter.d.ts +374 -0
- package/dist/ErrorReporter.d.ts.map +1 -0
- package/dist/ErrorReporter.js +244 -0
- package/dist/ErrorReporter.js.map +1 -0
- package/dist/Exit.d.ts +24 -12
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +8 -4
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +3 -2
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FileSystem.d.ts +1 -1
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +5 -5
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +34 -38
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +15 -13
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +131 -47
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +229 -51
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +1 -9
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +2 -10
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +5 -8
- package/dist/Graph.js.map +1 -1
- package/dist/HashMap.d.ts +15 -14
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +4 -4
- package/dist/HashMap.js.map +1 -1
- package/dist/Iterable.d.ts +39 -39
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +94 -22
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonSchema.d.ts +299 -10
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +323 -4
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +109 -0
- package/dist/Latch.d.ts.map +1 -0
- package/dist/Latch.js +72 -0
- package/dist/Latch.js.map +1 -0
- package/dist/Layer.d.ts +217 -127
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +51 -46
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +8 -8
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +3 -3
- package/dist/LogLevel.d.ts +32 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +28 -100
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +29 -95
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +2 -3
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +2 -2
- package/dist/ManagedRuntime.js +2 -2
- package/dist/Metric.d.ts +4 -6
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +3 -5
- package/dist/Metric.js.map +1 -1
- package/dist/Newtype.d.ts +291 -0
- package/dist/Newtype.d.ts.map +1 -0
- package/dist/Newtype.js +161 -0
- package/dist/Newtype.js.map +1 -0
- package/dist/Optic.d.ts +947 -18
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +454 -5
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +23 -16
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +15 -9
- package/dist/Option.js.map +1 -1
- package/dist/Pipeable.d.ts +17 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +19 -1
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +10 -9
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +2 -2
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +6 -4
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +7 -5
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts +3 -2
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +3 -2
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +1 -1
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +0 -1
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +35 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +46 -12
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +2 -2
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +1 -1
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +1 -1
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/Record.d.ts +23 -120
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +21 -41
- package/dist/Record.js.map +1 -1
- package/dist/Reducer.d.ts +166 -7
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +135 -1
- package/dist/Reducer.js.map +1 -1
- package/dist/References.d.ts +9 -4
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +6 -1
- package/dist/References.js.map +1 -1
- package/dist/Request.d.ts +1 -1
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +2 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +25 -45
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +10 -30
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Result.d.ts +1 -1
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +1 -2
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +66 -0
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +79 -6
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +191 -102
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +152 -66
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +9 -0
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +11 -0
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +2647 -224
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +1863 -209
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +2 -2
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +131 -25
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +5 -5
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +12 -14
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaParser.d.ts +5 -0
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +10 -0
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +46 -45
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +49 -24
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +107 -3
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +159 -4
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/ScopedCache.d.ts +2 -2
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Semaphore.d.ts +211 -0
- package/dist/Semaphore.d.ts.map +1 -0
- package/dist/{PartitionedSemaphore.js → Semaphore.js} +97 -13
- package/dist/Semaphore.js.map +1 -0
- package/dist/ServiceMap.d.ts +41 -31
- package/dist/ServiceMap.d.ts.map +1 -1
- package/dist/ServiceMap.js +3 -3
- package/dist/ServiceMap.js.map +1 -1
- package/dist/Sink.d.ts +13 -13
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +53 -6
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +16 -4
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +18 -0
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +250 -428
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +137 -82
- package/dist/Stream.js.map +1 -1
- package/dist/Struct.d.ts +16 -0
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +22 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +2 -1
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +2 -1
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +2 -1
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +2 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Trie.d.ts +18 -17
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +5 -5
- package/dist/Trie.js.map +1 -1
- package/dist/TxChunk.d.ts +37 -37
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +3 -3
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +328 -0
- package/dist/TxDeferred.d.ts.map +1 -0
- package/dist/TxDeferred.js +196 -0
- package/dist/TxDeferred.js.map +1 -0
- package/dist/TxHashMap.d.ts +84 -83
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +24 -24
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +35 -35
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +14 -14
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +609 -0
- package/dist/TxPriorityQueue.d.ts.map +1 -0
- package/dist/TxPriorityQueue.js +415 -0
- package/dist/TxPriorityQueue.js.map +1 -0
- package/dist/TxPubSub.d.ts +585 -0
- package/dist/TxPubSub.d.ts.map +1 -0
- package/dist/TxPubSub.js +521 -0
- package/dist/TxPubSub.js.map +1 -0
- package/dist/TxQueue.d.ts +32 -32
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +26 -26
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +523 -0
- package/dist/TxReentrantLock.d.ts.map +1 -0
- package/dist/TxReentrantLock.js +504 -0
- package/dist/TxReentrantLock.js.map +1 -0
- package/dist/TxRef.d.ts +34 -34
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +21 -14
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +8 -8
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +7 -7
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +508 -0
- package/dist/TxSubscriptionRef.d.ts.map +1 -0
- package/dist/TxSubscriptionRef.js +293 -0
- package/dist/TxSubscriptionRef.js.map +1 -0
- package/dist/Types.d.ts +80 -23
- package/dist/Types.d.ts.map +1 -1
- package/dist/Utils.d.ts +137 -65
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +38 -66
- package/dist/Utils.js.map +1 -1
- package/dist/index.d.ts +718 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +718 -23
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js +11 -3
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +60 -61
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +265 -127
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js +5 -4
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/random.d.ts +2 -0
- package/dist/internal/random.d.ts.map +1 -0
- package/dist/internal/random.js +13 -0
- package/dist/internal/random.js.map +1 -0
- package/dist/internal/rcRef.js +3 -2
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/request.js +2 -2
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schema/annotations.js +2 -0
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/representation.js +47 -106
- package/dist/internal/schema/representation.js.map +1 -1
- package/dist/internal/schema/schema.js +1 -0
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/schema/to-codec.js +7 -10
- package/dist/internal/schema/to-codec.js.map +1 -1
- package/dist/internal/trie.js +5 -4
- package/dist/internal/trie.js.map +1 -1
- package/dist/testing/TestClock.d.ts +8 -7
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +6 -4
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +266 -32
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +296 -23
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.d.ts +64 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +64 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +134 -51
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +19 -16
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +7 -8
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +38 -44
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +45 -45
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +107 -124
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +183 -88
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +57 -12
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +66 -13
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +193 -51
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +25 -7
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +22 -6
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +20 -20
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Response.d.ts +26 -26
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +1 -1
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +20 -4
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +14 -9
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +1 -1
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +4 -11
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +1 -1
- package/dist/unstable/ai/index.js +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js +0 -5
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +27 -60
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +25 -57
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.js +59 -6
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +368 -56
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +325 -64
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.d.ts +16 -0
- package/dist/unstable/cli/Completions.d.ts.map +1 -0
- package/dist/unstable/cli/Completions.js +23 -0
- package/dist/unstable/cli/Completions.js.map +1 -0
- package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
- package/dist/unstable/cli/GlobalFlag.js +118 -0
- package/dist/unstable/cli/GlobalFlag.js.map +1 -0
- package/dist/unstable/cli/HelpDoc.d.ts +70 -2
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +1 -1
- package/dist/unstable/cli/Primitive.js +1 -1
- package/dist/unstable/cli/Prompt.js +35 -8
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/index.d.ts +8 -0
- package/dist/unstable/cli/index.d.ts.map +1 -1
- package/dist/unstable/cli/index.js +8 -0
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +40 -14
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +72 -46
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js +7 -2
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
- package/dist/unstable/cli/internal/config.js +42 -0
- package/dist/unstable/cli/internal/config.js.map +1 -1
- package/dist/unstable/cli/internal/help.d.ts +33 -0
- package/dist/unstable/cli/internal/help.d.ts.map +1 -0
- package/dist/unstable/cli/internal/help.js +125 -0
- package/dist/unstable/cli/internal/help.js.map +1 -0
- package/dist/unstable/cli/internal/parser.js +55 -42
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +5 -4
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/DeliverAt.js +1 -1
- package/dist/unstable/cluster/DeliverAt.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +7 -6
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +4 -4
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +10 -10
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +2 -1
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +6 -6
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +4 -3
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +9 -7
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +20 -20
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +5 -4
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +2 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +2 -1
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +36 -36
- package/dist/unstable/encoding/Msgpack.d.ts +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +9 -9
- package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
- package/dist/unstable/encoding/Ndjson.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +4 -4
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +2 -1
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
- package/dist/unstable/http/Cookies.d.ts +47 -3
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +24 -2
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +16 -0
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +38 -10
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +3 -3
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +6 -6
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +117 -15
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +189 -12
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +7 -7
- package/dist/unstable/http/HttpClientRequest.d.ts +16 -11
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +31 -20
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +2 -1
- package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientResponse.js +4 -0
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +7 -5
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +46 -54
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +4 -4
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +3 -3
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +8 -17
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +20 -33
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +37 -44
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +12 -1
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +291 -1
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
- package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +5 -5
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +50 -3
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +234 -1
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +69 -0
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -0
- package/dist/unstable/http/HttpStaticServer.js +353 -0
- package/dist/unstable/http/HttpStaticServer.js.map +1 -0
- package/dist/unstable/http/Multipart.d.ts +3 -3
- package/dist/unstable/http/UrlParams.d.ts +14 -6
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +1 -1
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.d.ts +4 -0
- package/dist/unstable/http/index.d.ts.map +1 -1
- package/dist/unstable/http/index.js +4 -0
- package/dist/unstable/http/index.js.map +1 -1
- package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
- package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js +10 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
- package/dist/unstable/httpapi/HttpApi.d.ts +4 -4
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +11 -5
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +28 -18
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +66 -6
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +40 -3
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +41 -54
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +17 -26
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +16 -14
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +44 -29
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +4 -3
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +4 -4
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts +2 -2
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +32 -21
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/Otlp.d.ts +12 -12
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +1 -1
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +7 -4
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +6 -6
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistable.js +1 -1
- package/dist/unstable/persistence/Persistable.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +2 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +12 -11
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +1 -1
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +2 -2
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +1 -1
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +5 -128
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +1 -65
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -7
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +21 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +73 -12
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +107 -20
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +10 -12
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +42 -12
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +50 -9
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +9 -9
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +47 -21
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +39 -0
- package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
- package/dist/unstable/reactivity/Hydration.js +76 -0
- package/dist/unstable/reactivity/Hydration.js.map +1 -0
- package/dist/unstable/reactivity/index.d.ts +4 -0
- package/dist/unstable/reactivity/index.d.ts.map +1 -1
- package/dist/unstable/reactivity/index.js +4 -0
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +5 -5
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +5 -26
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +6 -13
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +3 -5
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +8 -8
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +13 -0
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +14 -0
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +34 -9
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +5 -9
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +17 -17
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +3 -2
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +22 -1
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +15 -0
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +5 -5
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +6 -6
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +4 -4
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +6 -5
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +3 -3
- package/dist/unstable/sql/Migrator.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +14 -14
- package/dist/unstable/sql/SqlError.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.js +9 -3
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +3 -3
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
- package/dist/unstable/sql/SqlResolver.js +17 -8
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +17 -6
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +17 -7
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/Statement.js +0 -1
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +2 -1
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +3 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +3 -3
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +2 -2
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +3 -3
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +1 -1
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +12 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +137 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +2 -2
- package/src/Array.ts +192 -342
- package/src/Brand.ts +1 -1
- package/src/Cache.ts +9 -8
- package/src/Cause.ts +2 -2
- package/src/Channel.ts +557 -141
- package/src/Chunk.ts +81 -268
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +186 -24
- package/src/Cron.ts +3 -3
- package/src/Data.ts +539 -376
- package/src/DateTime.ts +59 -241
- package/src/Duration.ts +91 -36
- package/src/Effect.ts +1477 -1126
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- package/src/ErrorReporter.ts +457 -0
- package/src/Exit.ts +24 -12
- package/src/Fiber.ts +10 -2
- package/src/FileSystem.ts +7 -8
- package/src/Filter.ts +52 -63
- package/src/Formatter.ts +253 -51
- package/src/Function.ts +2 -10
- package/src/Graph.ts +24 -11
- package/src/HashMap.ts +15 -14
- package/src/Iterable.ts +104 -50
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +112 -0
- package/src/Layer.ts +245 -150
- package/src/LayerMap.ts +9 -9
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +33 -100
- package/src/ManagedRuntime.ts +2 -2
- package/src/Metric.ts +6 -8
- package/src/Newtype.ts +308 -0
- package/src/Optic.ts +948 -19
- package/src/Option.ts +32 -24
- package/src/Pipeable.ts +32 -1
- package/src/PlatformError.ts +5 -5
- package/src/Pool.ts +13 -11
- package/src/PubSub.ts +10 -9
- package/src/Pull.ts +1 -1
- package/src/Queue.ts +0 -1
- package/src/Random.ts +51 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Record.ts +42 -152
- package/src/Reducer.ts +166 -7
- package/src/References.ts +10 -5
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +29 -49
- package/src/Result.ts +2 -4
- package/src/Runtime.ts +102 -6
- package/src/Schedule.ts +462 -242
- package/src/Scheduler.ts +12 -0
- package/src/Schema.ts +3116 -312
- package/src/SchemaAST.ts +166 -33
- package/src/SchemaGetter.ts +15 -17
- package/src/SchemaParser.ts +11 -0
- package/src/SchemaRepresentation.ts +51 -26
- package/src/SchemaTransformation.ts +189 -4
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +356 -0
- package/src/ServiceMap.ts +50 -40
- package/src/Sink.ts +78 -26
- package/src/Stdio.ts +27 -4
- package/src/Stream.ts +586 -608
- package/src/Struct.ts +26 -0
- package/src/SubscriptionRef.ts +3 -2
- package/src/SynchronizedRef.ts +3 -2
- package/src/Trie.ts +18 -17
- package/src/TxChunk.ts +72 -53
- package/src/TxDeferred.ts +394 -0
- package/src/TxHashMap.ts +332 -285
- package/src/TxHashSet.ts +111 -116
- package/src/TxPriorityQueue.ts +767 -0
- package/src/TxPubSub.ts +789 -0
- package/src/TxQueue.ts +241 -251
- package/src/TxReentrantLock.ts +753 -0
- package/src/TxRef.ts +50 -38
- package/src/TxSemaphore.ts +29 -32
- package/src/TxSubscriptionRef.ts +639 -0
- package/src/Types.ts +73 -19
- package/src/Utils.ts +137 -111
- package/src/index.ts +728 -24
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +69 -81
- package/src/internal/effect.ts +775 -302
- package/src/internal/hashMap.ts +8 -7
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +4 -3
- package/src/internal/request.ts +2 -2
- package/src/internal/schema/annotations.ts +2 -0
- package/src/internal/schema/representation.ts +45 -94
- package/src/internal/schema/schema.ts +1 -0
- package/src/internal/schema/to-codec.ts +7 -17
- package/src/internal/trie.ts +15 -9
- package/src/testing/TestClock.ts +13 -11
- package/src/testing/TestSchema.ts +332 -35
- package/src/testing/index.ts +64 -1
- package/src/unstable/ai/AiError.ts +105 -48
- package/src/unstable/ai/Chat.ts +58 -74
- package/src/unstable/ai/LanguageModel.ts +294 -158
- package/src/unstable/ai/McpSchema.ts +73 -13
- package/src/unstable/ai/McpServer.ts +271 -61
- package/src/unstable/ai/Model.ts +40 -9
- package/src/unstable/ai/Prompt.ts +37 -37
- package/src/unstable/ai/Response.ts +25 -25
- package/src/unstable/ai/Tool.ts +20 -14
- package/src/unstable/ai/Toolkit.ts +5 -14
- package/src/unstable/ai/index.ts +1 -1
- package/src/unstable/ai/internal/codec-transformer.ts +0 -7
- package/src/unstable/cli/CliError.ts +47 -59
- package/src/unstable/cli/CliOutput.ts +75 -6
- package/src/unstable/cli/Command.ts +796 -187
- package/src/unstable/cli/Completions.ts +36 -0
- package/src/unstable/cli/GlobalFlag.ts +242 -0
- package/src/unstable/cli/HelpDoc.ts +80 -2
- package/src/unstable/cli/Primitive.ts +1 -1
- package/src/unstable/cli/Prompt.ts +31 -9
- package/src/unstable/cli/index.ts +10 -0
- package/src/unstable/cli/internal/command.ts +109 -63
- package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
- package/src/unstable/cli/internal/config.ts +49 -0
- package/src/unstable/cli/internal/help.ts +171 -0
- package/src/unstable/cli/internal/parser.ts +66 -61
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +6 -5
- package/src/unstable/cluster/DeliverAt.ts +1 -1
- package/src/unstable/cluster/Entity.ts +11 -10
- package/src/unstable/cluster/EntityResource.ts +4 -4
- package/src/unstable/cluster/Envelope.ts +1 -1
- package/src/unstable/cluster/K8sHttpClient.ts +5 -5
- package/src/unstable/cluster/MessageStorage.ts +3 -5
- package/src/unstable/cluster/Runners.ts +6 -5
- package/src/unstable/cluster/Sharding.ts +12 -10
- package/src/unstable/cluster/ShardingConfig.ts +30 -31
- package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +9 -8
- package/src/unstable/cluster/internal/entityReaper.ts +2 -1
- package/src/unstable/cluster/internal/resourceRef.ts +2 -1
- package/src/unstable/encoding/Ndjson.ts +17 -17
- package/src/unstable/encoding/Sse.ts +3 -5
- package/src/unstable/eventlog/EventLog.ts +2 -1
- package/src/unstable/http/Cookies.ts +87 -3
- package/src/unstable/http/Headers.ts +62 -13
- package/src/unstable/http/HttpBody.ts +6 -6
- package/src/unstable/http/HttpClient.ts +374 -33
- package/src/unstable/http/HttpClientRequest.ts +38 -30
- package/src/unstable/http/HttpClientResponse.ts +9 -4
- package/src/unstable/http/HttpEffect.ts +54 -68
- package/src/unstable/http/HttpIncomingMessage.ts +1 -1
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +9 -24
- package/src/unstable/http/HttpServerError.ts +42 -45
- package/src/unstable/http/HttpServerRequest.ts +391 -4
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +337 -4
- package/src/unstable/http/HttpStaticServer.ts +456 -0
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/UrlParams.ts +20 -5
- package/src/unstable/http/index.ts +5 -0
- package/src/unstable/http/internal/preResponseHandler.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +6 -6
- package/src/unstable/httpapi/HttpApiBuilder.ts +83 -30
- package/src/unstable/httpapi/HttpApiClient.ts +100 -11
- package/src/unstable/httpapi/HttpApiEndpoint.ts +71 -87
- package/src/unstable/httpapi/HttpApiError.ts +51 -28
- package/src/unstable/httpapi/HttpApiGroup.ts +7 -6
- package/src/unstable/httpapi/HttpApiMiddleware.ts +4 -4
- package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
- package/src/unstable/httpapi/HttpApiSecurity.ts +3 -3
- package/src/unstable/httpapi/OpenApi.ts +41 -23
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +3 -3
- package/src/unstable/observability/OtlpLogger.ts +13 -9
- package/src/unstable/observability/OtlpMetrics.ts +4 -4
- package/src/unstable/observability/OtlpTracer.ts +4 -4
- package/src/unstable/persistence/KeyValueStore.ts +6 -6
- package/src/unstable/persistence/Persistable.ts +3 -3
- package/src/unstable/persistence/PersistedCache.ts +20 -9
- package/src/unstable/persistence/PersistedQueue.ts +25 -24
- package/src/unstable/persistence/Persistence.ts +3 -3
- package/src/unstable/persistence/RateLimiter.ts +4 -4
- package/src/unstable/process/ChildProcess.ts +6 -208
- package/src/unstable/process/ChildProcessSpawner.ts +75 -14
- package/src/unstable/reactivity/Atom.ts +211 -50
- package/src/unstable/reactivity/AtomHttpApi.ts +66 -31
- package/src/unstable/reactivity/AtomRegistry.ts +61 -9
- package/src/unstable/reactivity/AtomRpc.ts +51 -20
- package/src/unstable/reactivity/Hydration.ts +112 -0
- package/src/unstable/reactivity/index.ts +5 -0
- package/src/unstable/rpc/Rpc.ts +7 -9
- package/src/unstable/rpc/RpcClient.ts +12 -54
- package/src/unstable/rpc/RpcGroup.ts +7 -7
- package/src/unstable/rpc/RpcMiddleware.ts +15 -9
- package/src/unstable/rpc/RpcSchema.ts +17 -0
- package/src/unstable/rpc/RpcSerialization.ts +44 -9
- package/src/unstable/rpc/RpcServer.ts +28 -32
- package/src/unstable/rpc/Utils.ts +3 -2
- package/src/unstable/schema/Model.ts +31 -0
- package/src/unstable/schema/VariantSchema.ts +9 -9
- package/src/unstable/socket/Socket.ts +16 -17
- package/src/unstable/sql/SqlClient.ts +1 -1
- package/src/unstable/sql/SqlError.ts +11 -9
- package/src/unstable/sql/SqlModel.ts +5 -5
- package/src/unstable/sql/SqlResolver.ts +17 -7
- package/src/unstable/sql/SqlSchema.ts +42 -26
- package/src/unstable/sql/Statement.ts +0 -1
- package/src/unstable/workers/Worker.ts +2 -1
- package/src/unstable/workflow/DurableClock.ts +8 -8
- package/src/unstable/workflow/DurableDeferred.ts +2 -2
- package/src/unstable/workflow/Workflow.ts +6 -2
- package/src/unstable/workflow/WorkflowEngine.ts +185 -2
- package/dist/PartitionedSemaphore.d.ts +0 -52
- package/dist/PartitionedSemaphore.d.ts.map +0 -1
- package/dist/PartitionedSemaphore.js.map +0 -1
- package/dist/encoding/Base64.d.ts +0 -67
- package/dist/encoding/Base64.d.ts.map +0 -1
- package/dist/encoding/Base64.js +0 -146
- package/dist/encoding/Base64.js.map +0 -1
- package/dist/encoding/Base64Url.d.ts +0 -60
- package/dist/encoding/Base64Url.d.ts.map +0 -1
- package/dist/encoding/Base64Url.js +0 -89
- package/dist/encoding/Base64Url.js.map +0 -1
- package/dist/encoding/EncodingError.d.ts +0 -31
- package/dist/encoding/EncodingError.d.ts.map +0 -1
- package/dist/encoding/EncodingError.js +0 -22
- package/dist/encoding/EncodingError.js.map +0 -1
- package/dist/encoding/Hex.d.ts +0 -61
- package/dist/encoding/Hex.d.ts.map +0 -1
- package/dist/encoding/Hex.js +0 -115
- package/dist/encoding/Hex.js.map +0 -1
- package/dist/encoding/index.d.ts +0 -26
- package/dist/encoding/index.d.ts.map +0 -1
- package/dist/encoding/index.js +0 -27
- package/dist/encoding/index.js.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
- package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.js +0 -44
- package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
- package/dist/unstable/cli/internal/completions/Completions.d.ts +0 -2
- package/dist/unstable/cli/internal/completions/Completions.d.ts.map +0 -1
- package/dist/unstable/cli/internal/completions/Completions.js +0 -23
- package/dist/unstable/cli/internal/completions/Completions.js.map +0 -1
- package/src/PartitionedSemaphore.ts +0 -182
- package/src/encoding/Base64.ts +0 -366
- package/src/encoding/Base64Url.ts +0 -104
- package/src/encoding/EncodingError.ts +0 -35
- package/src/encoding/Hex.ts +0 -390
- package/src/encoding/index.ts +0 -31
- package/src/unstable/cli/internal/builtInFlags.ts +0 -78
- package/src/unstable/cli/internal/completions/Completions.ts +0 -31
|
@@ -135,7 +135,7 @@ export interface Service {
|
|
|
135
135
|
*/
|
|
136
136
|
readonly generateObject: <
|
|
137
137
|
ObjectEncoded extends Record<string, any>,
|
|
138
|
-
StructuredOutputSchema extends Schema.
|
|
138
|
+
StructuredOutputSchema extends Schema.Encoder<ObjectEncoded, unknown>,
|
|
139
139
|
Options extends NoExcessProperties<
|
|
140
140
|
GenerateObjectOptions<any, StructuredOutputSchema>,
|
|
141
141
|
Options
|
|
@@ -180,22 +180,6 @@ export type CodecTransformer = <T, E, RD, RE>(schema: Schema.Codec<T, E, RD, RE>
|
|
|
180
180
|
readonly jsonSchema: JsonSchema.JsonSchema
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
-
/**
|
|
184
|
-
* A `ServiceMap.Reference` that holds the current `CodecTransformer` used by
|
|
185
|
-
* `LanguageModel.generateObject` to adapt structured output schemas for the
|
|
186
|
-
* active provider.
|
|
187
|
-
*
|
|
188
|
-
* By default, this is the identity function (no transformation). Provider
|
|
189
|
-
* packages (e.g. `@effect/ai-anthropic`) override this reference with a
|
|
190
|
-
* provider-specific transformer so that schemas are automatically rewritten
|
|
191
|
-
* before being sent to the model as well as before decoding the generated value.
|
|
192
|
-
*
|
|
193
|
-
* @since 4.0.0
|
|
194
|
-
* @category services
|
|
195
|
-
*/
|
|
196
|
-
export const CurrentCodecTransformer: ServiceMap.Reference<CodecTransformer> =
|
|
197
|
-
InternalCodecTransformer.CurrentCodecTransformer
|
|
198
|
-
|
|
199
183
|
/**
|
|
200
184
|
* The default codec transformer that passes schemas through without
|
|
201
185
|
* provider-specific rewrites.
|
|
@@ -221,15 +205,7 @@ export interface GenerateTextOptions<Tools extends Record<string, Tool.Any>> {
|
|
|
221
205
|
* A toolkit containing both the tools and the tool call handler to use to
|
|
222
206
|
* augment text generation.
|
|
223
207
|
*/
|
|
224
|
-
readonly toolkit?:
|
|
225
|
-
| Toolkit.WithHandler<Tools>
|
|
226
|
-
| Effect.Yieldable<
|
|
227
|
-
Toolkit.Toolkit<Tools>,
|
|
228
|
-
Toolkit.WithHandler<Tools>,
|
|
229
|
-
never,
|
|
230
|
-
any
|
|
231
|
-
>
|
|
232
|
-
| undefined
|
|
208
|
+
readonly toolkit?: ToolkitOption<Tools> | undefined
|
|
233
209
|
|
|
234
210
|
/**
|
|
235
211
|
* The tool choice mode for the language model.
|
|
@@ -483,6 +459,89 @@ export class GenerateObjectResponse<
|
|
|
483
459
|
// Utility Types
|
|
484
460
|
// =============================================================================
|
|
485
461
|
|
|
462
|
+
/**
|
|
463
|
+
* The supported toolkit option shapes for language model operations.
|
|
464
|
+
*
|
|
465
|
+
* @since 4.0.0
|
|
466
|
+
* @category utility types
|
|
467
|
+
*/
|
|
468
|
+
export type ToolkitOption<
|
|
469
|
+
Tools extends Record<string, Tool.Any>,
|
|
470
|
+
E = never,
|
|
471
|
+
R = any
|
|
472
|
+
> = Tools extends any ? (
|
|
473
|
+
| Toolkit.WithHandler<Tools>
|
|
474
|
+
| Effect.Yieldable<
|
|
475
|
+
Toolkit.Toolkit<Tools>,
|
|
476
|
+
Toolkit.WithHandler<Tools>,
|
|
477
|
+
E,
|
|
478
|
+
R
|
|
479
|
+
>
|
|
480
|
+
)
|
|
481
|
+
: never
|
|
482
|
+
|
|
483
|
+
type ExtractToolsFromToolkitOption<ToolkitValue> = ToolkitValue extends Toolkit.WithHandler<infer Tools> ? Tools
|
|
484
|
+
: ToolkitValue extends Effect.Yieldable<
|
|
485
|
+
Toolkit.Toolkit<infer Tools>,
|
|
486
|
+
Toolkit.WithHandler<infer _Tools>,
|
|
487
|
+
infer _E,
|
|
488
|
+
infer _R
|
|
489
|
+
> ? Tools
|
|
490
|
+
: never
|
|
491
|
+
|
|
492
|
+
/**
|
|
493
|
+
* Utility type that extracts the toolset from LanguageModel options.
|
|
494
|
+
*
|
|
495
|
+
* @since 4.0.0
|
|
496
|
+
* @category utility types
|
|
497
|
+
*/
|
|
498
|
+
export type ExtractTools<Options> = Options extends {
|
|
499
|
+
readonly toolkit: infer ToolkitValue
|
|
500
|
+
} ? ExtractToolsFromToolkitOption<Exclude<ToolkitValue, undefined>>
|
|
501
|
+
: {}
|
|
502
|
+
|
|
503
|
+
type ExtractErrorFromToolkitOption<ToolkitValue, DisableToolCallResolution extends boolean> = ToolkitValue extends
|
|
504
|
+
Toolkit.WithHandler<infer Tools> ?
|
|
505
|
+
| AiError.AiError
|
|
506
|
+
| (DisableToolCallResolution extends true ? never : Tool.HandlerError<Tools[keyof Tools]>)
|
|
507
|
+
: ToolkitValue extends Effect.Yieldable<
|
|
508
|
+
Toolkit.Toolkit<infer Tools>,
|
|
509
|
+
Toolkit.WithHandler<infer _Tools>,
|
|
510
|
+
infer E,
|
|
511
|
+
infer _R
|
|
512
|
+
> ? AiError.AiError | E | (DisableToolCallResolution extends true ? never : Tool.HandlerError<Tools[keyof Tools]>)
|
|
513
|
+
: AiError.AiError
|
|
514
|
+
|
|
515
|
+
type ExtractServicesFromToolkitOption<ToolkitValue> = ToolkitValue extends Toolkit.WithHandler<infer Tools> ?
|
|
516
|
+
| Tool.HandlerServices<Tools[keyof Tools]>
|
|
517
|
+
| Tool.ResultDecodingServices<Tools[keyof Tools]>
|
|
518
|
+
: ToolkitValue extends Effect.Yieldable<
|
|
519
|
+
Toolkit.Toolkit<infer Tools>,
|
|
520
|
+
Toolkit.WithHandler<infer _Tools>,
|
|
521
|
+
infer _E,
|
|
522
|
+
infer R
|
|
523
|
+
> ?
|
|
524
|
+
| Tool.HandlerServices<Tools[keyof Tools]>
|
|
525
|
+
| Tool.ResultDecodingServices<Tools[keyof Tools]>
|
|
526
|
+
| R
|
|
527
|
+
: never
|
|
528
|
+
|
|
529
|
+
type ExtractToolkitResolutionError<ToolkitValue> = ToolkitValue extends Effect.Yieldable<
|
|
530
|
+
Toolkit.Toolkit<infer _Tools>,
|
|
531
|
+
Toolkit.WithHandler<infer _Tools>,
|
|
532
|
+
infer E,
|
|
533
|
+
infer _R
|
|
534
|
+
> ? E
|
|
535
|
+
: never
|
|
536
|
+
|
|
537
|
+
type ExtractToolkitResolutionServices<ToolkitValue> = ToolkitValue extends Effect.Yieldable<
|
|
538
|
+
Toolkit.Toolkit<infer _Tools>,
|
|
539
|
+
Toolkit.WithHandler<infer _Tools>,
|
|
540
|
+
infer _E,
|
|
541
|
+
infer R
|
|
542
|
+
> ? R
|
|
543
|
+
: never
|
|
544
|
+
|
|
486
545
|
/**
|
|
487
546
|
* Utility type that extracts the error type from LanguageModel options.
|
|
488
547
|
*
|
|
@@ -493,29 +552,15 @@ export class GenerateObjectResponse<
|
|
|
493
552
|
* @category utility types
|
|
494
553
|
*/
|
|
495
554
|
export type ExtractError<Options> = Options extends {
|
|
496
|
-
readonly toolkit: Toolkit.WithHandler<infer _Tools>
|
|
497
555
|
readonly disableToolCallResolution: true
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
readonly toolkit: Effect.Yieldable<
|
|
501
|
-
Toolkit.Toolkit<infer _Tools>,
|
|
502
|
-
Toolkit.WithHandler<infer _Tools>,
|
|
503
|
-
infer _E,
|
|
504
|
-
infer _R
|
|
505
|
-
>
|
|
506
|
-
readonly disableToolCallResolution: true
|
|
507
|
-
} ? AiError.AiError | _E
|
|
556
|
+
readonly toolkit: infer ToolkitValue
|
|
557
|
+
} ? ExtractErrorFromToolkitOption<Exclude<ToolkitValue, undefined>, true>
|
|
508
558
|
: Options extends {
|
|
509
|
-
readonly toolkit:
|
|
510
|
-
} ?
|
|
559
|
+
readonly toolkit: infer ToolkitValue
|
|
560
|
+
} ? ExtractErrorFromToolkitOption<Exclude<ToolkitValue, undefined>, false>
|
|
511
561
|
: Options extends {
|
|
512
|
-
readonly
|
|
513
|
-
|
|
514
|
-
Toolkit.WithHandler<infer _Tools>,
|
|
515
|
-
infer _E,
|
|
516
|
-
infer _R
|
|
517
|
-
>
|
|
518
|
-
} ? AiError.AiError | Tool.HandlerError<_Tools[keyof _Tools]> | _E
|
|
562
|
+
readonly disableToolCallResolution: true
|
|
563
|
+
} ? AiError.AiError
|
|
519
564
|
: AiError.AiError
|
|
520
565
|
|
|
521
566
|
/**
|
|
@@ -527,27 +572,11 @@ export type ExtractError<Options> = Options extends {
|
|
|
527
572
|
* @category utility types
|
|
528
573
|
*/
|
|
529
574
|
export type ExtractServices<Options> = Options extends {
|
|
530
|
-
readonly
|
|
531
|
-
}
|
|
532
|
-
// Required for tool call execution
|
|
533
|
-
?
|
|
534
|
-
| Tool.ResultEncodingServices<_Tools[keyof _Tools]>
|
|
535
|
-
// Required for decoding large language model responses
|
|
536
|
-
| Tool.ResultDecodingServices<_Tools[keyof _Tools]>
|
|
575
|
+
readonly disableToolCallResolution: true
|
|
576
|
+
} ? never
|
|
537
577
|
: Options extends {
|
|
538
|
-
readonly toolkit:
|
|
539
|
-
|
|
540
|
-
Toolkit.WithHandler<infer _Tools>,
|
|
541
|
-
infer _E,
|
|
542
|
-
infer _R
|
|
543
|
-
>
|
|
544
|
-
}
|
|
545
|
-
// Required for tool call execution
|
|
546
|
-
?
|
|
547
|
-
| Tool.ResultEncodingServices<_Tools[keyof _Tools]>
|
|
548
|
-
// Required for decoding large language model responses
|
|
549
|
-
| Tool.ResultDecodingServices<_Tools[keyof _Tools]>
|
|
550
|
-
| _R
|
|
578
|
+
readonly toolkit: infer Toolkit
|
|
579
|
+
} ? ExtractServicesFromToolkitOption<Exclude<Toolkit, undefined>>
|
|
551
580
|
: never
|
|
552
581
|
|
|
553
582
|
// =============================================================================
|
|
@@ -622,12 +651,15 @@ export interface ProviderOptions {
|
|
|
622
651
|
}
|
|
623
652
|
|
|
624
653
|
/**
|
|
625
|
-
*
|
|
654
|
+
* Creates a LanguageModel service from provider-specific implementations.
|
|
655
|
+
*
|
|
656
|
+
* This constructor takes provider-specific implementations for text generation
|
|
657
|
+
* and streaming text generation and returns a LanguageModel service.
|
|
626
658
|
*
|
|
627
659
|
* @since 4.0.0
|
|
628
|
-
* @category
|
|
660
|
+
* @category constructors
|
|
629
661
|
*/
|
|
630
|
-
export
|
|
662
|
+
export const make: (params: {
|
|
631
663
|
/**
|
|
632
664
|
* A method which requests text generation from the large language model
|
|
633
665
|
* provider.
|
|
@@ -648,19 +680,14 @@ export interface ConstructorParams {
|
|
|
648
680
|
readonly streamText: (
|
|
649
681
|
options: ProviderOptions
|
|
650
682
|
) => Stream.Stream<Response.StreamPartEncoded, AiError.AiError, IdGenerator>
|
|
651
|
-
}
|
|
652
683
|
|
|
653
|
-
/**
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
*
|
|
659
|
-
|
|
660
|
-
* @category constructors
|
|
661
|
-
*/
|
|
662
|
-
export const make: (params: ConstructorParams) => Effect.Effect<Service> = Effect.fnUntraced(function*(params) {
|
|
663
|
-
const codecTransformer = yield* InternalCodecTransformer.CurrentCodecTransformer
|
|
684
|
+
/**
|
|
685
|
+
* A function that transforms a `Schema.Codec` into a provider-compatible form
|
|
686
|
+
* for structured output generation.
|
|
687
|
+
*/
|
|
688
|
+
readonly codecTransformer?: CodecTransformer | undefined
|
|
689
|
+
}) => Effect.Effect<Service> = Effect.fnUntraced(function*(params) {
|
|
690
|
+
const codecTransformer = params.codecTransformer ?? defaultCodecTransformer
|
|
664
691
|
|
|
665
692
|
const parentSpanTransformer = yield* Effect.serviceOption(
|
|
666
693
|
CurrentSpanTransformer
|
|
@@ -721,14 +748,13 @@ export const make: (params: ConstructorParams) => Effect.Effect<Service> = Effec
|
|
|
721
748
|
})
|
|
722
749
|
)),
|
|
723
750
|
(effect, span) => Effect.withParentSpan(effect, span, { captureStackTrace: false }),
|
|
724
|
-
Effect.provideService(IdGenerator, idGenerator)
|
|
725
|
-
Effect.provideService(InternalCodecTransformer.CurrentCodecTransformer, codecTransformer)
|
|
751
|
+
Effect.provideService(IdGenerator, idGenerator)
|
|
726
752
|
)
|
|
727
753
|
) as any
|
|
728
754
|
|
|
729
755
|
const generateObject = <
|
|
730
756
|
ObjectEncoded extends Record<string, any>,
|
|
731
|
-
StructuredOutputSchema extends Schema.
|
|
757
|
+
StructuredOutputSchema extends Schema.Encoder<ObjectEncoded, unknown>,
|
|
732
758
|
Options extends NoExcessProperties<
|
|
733
759
|
GenerateObjectOptions<any, StructuredOutputSchema>,
|
|
734
760
|
Options
|
|
@@ -800,8 +826,7 @@ export const make: (params: ConstructorParams) => Effect.Effect<Service> = Effec
|
|
|
800
826
|
})
|
|
801
827
|
)),
|
|
802
828
|
(effect, span) => Effect.withParentSpan(effect, span, { captureStackTrace: false }),
|
|
803
|
-
Effect.provideService(IdGenerator, idGenerator)
|
|
804
|
-
Effect.provideService(InternalCodecTransformer.CurrentCodecTransformer, codecTransformer)
|
|
829
|
+
Effect.provideService(IdGenerator, idGenerator)
|
|
805
830
|
)
|
|
806
831
|
) as any
|
|
807
832
|
}
|
|
@@ -872,8 +897,7 @@ export const make: (params: ConstructorParams) => Effect.Effect<Service> = Effec
|
|
|
872
897
|
})
|
|
873
898
|
: error
|
|
874
899
|
),
|
|
875
|
-
Stream.provideService(IdGenerator, idGenerator)
|
|
876
|
-
Stream.provideService(InternalCodecTransformer.CurrentCodecTransformer, codecTransformer)
|
|
900
|
+
Stream.provideService(IdGenerator, idGenerator)
|
|
877
901
|
) as any
|
|
878
902
|
|
|
879
903
|
const generateContent: <
|
|
@@ -949,9 +973,8 @@ export const make: (params: ConstructorParams) => Effect.Effect<Service> = Effec
|
|
|
949
973
|
return content as Array<Response.Part<Tools>>
|
|
950
974
|
}
|
|
951
975
|
|
|
952
|
-
// Pre-resolve tool approvals before calling the LLM
|
|
976
|
+
// Pre-resolve pending tool approvals before calling the LLM
|
|
953
977
|
if (hasPendingApprovals) {
|
|
954
|
-
// Validate all approved tools exist in the toolkit
|
|
955
978
|
for (const approval of approved) {
|
|
956
979
|
if (approval.toolCall && !toolkit.tools[approval.toolCall.name]) {
|
|
957
980
|
return yield* AiError.make({
|
|
@@ -965,7 +988,6 @@ export const make: (params: ConstructorParams) => Effect.Effect<Service> = Effec
|
|
|
965
988
|
}
|
|
966
989
|
}
|
|
967
990
|
|
|
968
|
-
// Execute approved tools and create denial results
|
|
969
991
|
const approvedResults = yield* executeApprovedToolCalls(
|
|
970
992
|
approved,
|
|
971
993
|
toolkit,
|
|
@@ -974,18 +996,29 @@ export const make: (params: ConstructorParams) => Effect.Effect<Service> = Effec
|
|
|
974
996
|
const deniedResults = createDenialResults(denied)
|
|
975
997
|
const preResolvedResults = [...approvedResults, ...deniedResults]
|
|
976
998
|
|
|
977
|
-
// Add pre-resolved results to the prompt
|
|
978
999
|
if (preResolvedResults.length > 0) {
|
|
979
|
-
const toolMessage = Prompt.makeMessage("tool", {
|
|
980
|
-
content: preResolvedResults
|
|
981
|
-
})
|
|
982
1000
|
providerOptions.prompt = Prompt.fromMessages([
|
|
983
1001
|
...providerOptions.prompt.content,
|
|
984
|
-
|
|
1002
|
+
Prompt.makeMessage("tool", { content: preResolvedResults })
|
|
985
1003
|
])
|
|
986
1004
|
}
|
|
987
1005
|
}
|
|
988
1006
|
|
|
1007
|
+
// Strip all resolved approval artifacts (both current and from previous
|
|
1008
|
+
// rounds) in a single pass before sending to the provider.
|
|
1009
|
+
{
|
|
1010
|
+
const { approved: allResolved, denied: allDenied } = collectToolApprovals(
|
|
1011
|
+
providerOptions.prompt.content
|
|
1012
|
+
)
|
|
1013
|
+
if (allResolved.length > 0 || allDenied.length > 0) {
|
|
1014
|
+
providerOptions.prompt = stripResolvedApprovals(
|
|
1015
|
+
providerOptions.prompt,
|
|
1016
|
+
allResolved,
|
|
1017
|
+
allDenied
|
|
1018
|
+
)
|
|
1019
|
+
}
|
|
1020
|
+
}
|
|
1021
|
+
|
|
989
1022
|
const tools = typeof toolChoice === "object" && "oneOf" in toolChoice
|
|
990
1023
|
? Object.values(toolkit.tools).filter((tool) => toolChoice.oneOf.includes(tool.name))
|
|
991
1024
|
: Object.values(toolkit.tools)
|
|
@@ -1040,21 +1073,11 @@ export const make: (params: ConstructorParams) => Effect.Effect<Service> = Effec
|
|
|
1040
1073
|
AiError.AiError | Schema.SchemaError,
|
|
1041
1074
|
IdGenerator
|
|
1042
1075
|
>,
|
|
1043
|
-
Options extends {
|
|
1044
|
-
|
|
1045
|
-
Toolkit.WithHandler<Tools>,
|
|
1046
|
-
infer _E,
|
|
1047
|
-
infer _R
|
|
1048
|
-
>
|
|
1049
|
-
} ? _E
|
|
1076
|
+
Options extends { readonly toolkit: infer ToolkitValue } ?
|
|
1077
|
+
ExtractToolkitResolutionError<Exclude<ToolkitValue, undefined>>
|
|
1050
1078
|
: never,
|
|
1051
|
-
Options extends {
|
|
1052
|
-
|
|
1053
|
-
Toolkit.WithHandler<Tools>,
|
|
1054
|
-
infer _E,
|
|
1055
|
-
infer _R
|
|
1056
|
-
>
|
|
1057
|
-
} ? _R
|
|
1079
|
+
Options extends { readonly toolkit: infer ToolkitValue } ?
|
|
1080
|
+
ExtractToolkitResolutionServices<Exclude<ToolkitValue, undefined>>
|
|
1058
1081
|
: never
|
|
1059
1082
|
> = Effect.fnUntraced(function*<
|
|
1060
1083
|
Tools extends Record<string, Tool.Any>,
|
|
@@ -1099,9 +1122,7 @@ export const make: (params: ConstructorParams) => Effect.Effect<Service> = Effec
|
|
|
1099
1122
|
}
|
|
1100
1123
|
|
|
1101
1124
|
// If there is a toolkit resolve and apply it to the provider options
|
|
1102
|
-
const toolkit =
|
|
1103
|
-
? yield* options.toolkit
|
|
1104
|
-
: options.toolkit
|
|
1125
|
+
const toolkit = yield* resolveToolkit<Tools, any, any>(options.toolkit)
|
|
1105
1126
|
|
|
1106
1127
|
// If the toolkit is empty, return immediately
|
|
1107
1128
|
if (Object.values(toolkit.tools).length === 0) {
|
|
@@ -1130,9 +1151,10 @@ export const make: (params: ConstructorParams) => Effect.Effect<Service> = Effec
|
|
|
1130
1151
|
>
|
|
1131
1152
|
}
|
|
1132
1153
|
|
|
1133
|
-
// Pre-resolve tool approvals before calling the LLM
|
|
1154
|
+
// Pre-resolve pending tool approvals before calling the LLM
|
|
1155
|
+
let preResolvedStreamParts: Array<Response.StreamPart<Tools>> = []
|
|
1156
|
+
|
|
1134
1157
|
if (hasPendingApprovals) {
|
|
1135
|
-
// Validate all approved tools exist in the toolkit
|
|
1136
1158
|
for (const approval of pendingApproved) {
|
|
1137
1159
|
if (approval.toolCall && !toolkit.tools[approval.toolCall.name]) {
|
|
1138
1160
|
return yield* AiError.make({
|
|
@@ -1146,7 +1168,6 @@ export const make: (params: ConstructorParams) => Effect.Effect<Service> = Effec
|
|
|
1146
1168
|
}
|
|
1147
1169
|
}
|
|
1148
1170
|
|
|
1149
|
-
// Execute approved tools and create denial results
|
|
1150
1171
|
const approvedResults = yield* executeApprovedToolCalls(
|
|
1151
1172
|
pendingApproved,
|
|
1152
1173
|
toolkit,
|
|
@@ -1155,16 +1176,44 @@ export const make: (params: ConstructorParams) => Effect.Effect<Service> = Effec
|
|
|
1155
1176
|
const deniedResults = createDenialResults(pendingDenied)
|
|
1156
1177
|
const preResolvedResults = [...approvedResults, ...deniedResults]
|
|
1157
1178
|
|
|
1158
|
-
// Add pre-resolved results to the prompt
|
|
1159
1179
|
if (preResolvedResults.length > 0) {
|
|
1160
|
-
const toolMessage = Prompt.makeMessage("tool", {
|
|
1161
|
-
content: preResolvedResults
|
|
1162
|
-
})
|
|
1163
1180
|
providerOptions.prompt = Prompt.fromMessages([
|
|
1164
1181
|
...providerOptions.prompt.content,
|
|
1165
|
-
|
|
1182
|
+
Prompt.makeMessage("tool", { content: preResolvedResults })
|
|
1166
1183
|
])
|
|
1167
1184
|
}
|
|
1185
|
+
|
|
1186
|
+
// Emit pre-resolved tool-results as stream parts so Chat.streamText
|
|
1187
|
+
// persists them to history. This lets collectToolApprovals find them
|
|
1188
|
+
// on subsequent rounds and skip the now-resolved approvals.
|
|
1189
|
+
// Note: r.result is already encoded (from executeApprovedToolCalls /
|
|
1190
|
+
// createDenialResults), so it goes into both result and encodedResult.
|
|
1191
|
+
for (const r of preResolvedResults) {
|
|
1192
|
+
preResolvedStreamParts.push(
|
|
1193
|
+
Response.makePart("tool-result", {
|
|
1194
|
+
id: r.id,
|
|
1195
|
+
name: r.name,
|
|
1196
|
+
providerExecuted: false,
|
|
1197
|
+
preliminary: false,
|
|
1198
|
+
result: r.result,
|
|
1199
|
+
encodedResult: r.result,
|
|
1200
|
+
isFailure: r.isFailure
|
|
1201
|
+
}) as Response.StreamPart<Tools>
|
|
1202
|
+
)
|
|
1203
|
+
}
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
// Strip all resolved approval artifacts (both current and from previous
|
|
1207
|
+
// rounds) in a single pass before sending to the provider.
|
|
1208
|
+
const { approved: allResolved, denied: allDenied } = collectToolApprovals(
|
|
1209
|
+
providerOptions.prompt.content
|
|
1210
|
+
)
|
|
1211
|
+
if (allResolved.length > 0 || allDenied.length > 0) {
|
|
1212
|
+
providerOptions.prompt = stripResolvedApprovals(
|
|
1213
|
+
providerOptions.prompt,
|
|
1214
|
+
allResolved,
|
|
1215
|
+
allDenied
|
|
1216
|
+
)
|
|
1168
1217
|
}
|
|
1169
1218
|
|
|
1170
1219
|
const tools = typeof toolChoice === "object" && "oneOf" in toolChoice
|
|
@@ -1196,11 +1245,17 @@ export const make: (params: ConstructorParams) => Effect.Effect<Service> = Effec
|
|
|
1196
1245
|
const queue = yield* Queue.make<
|
|
1197
1246
|
Response.StreamPart<Tools>,
|
|
1198
1247
|
| AiError.AiError
|
|
1199
|
-
| AiError.AiErrorReason
|
|
1200
1248
|
| Cause.Done
|
|
1201
1249
|
| Schema.SchemaError
|
|
1202
1250
|
>()
|
|
1203
1251
|
|
|
1252
|
+
// Emit pre-resolved tool results so Chat.streamText persists them to
|
|
1253
|
+
// history. This ensures collectToolApprovals({ excludeResolved }) can
|
|
1254
|
+
// find the corresponding tool-results on future rounds.
|
|
1255
|
+
if (preResolvedStreamParts.length > 0) {
|
|
1256
|
+
yield* Queue.offerAll(queue, preResolvedStreamParts)
|
|
1257
|
+
}
|
|
1258
|
+
|
|
1204
1259
|
// FiberSet to track concurrent tool call handlers
|
|
1205
1260
|
const toolCallFibers = yield* FiberSet.make<void, AiError.AiError>()
|
|
1206
1261
|
|
|
@@ -1310,20 +1365,27 @@ export const make: (params: ConstructorParams) => Effect.Effect<Service> = Effec
|
|
|
1310
1365
|
* @since 4.0.0
|
|
1311
1366
|
* @category text generation
|
|
1312
1367
|
*/
|
|
1313
|
-
export
|
|
1314
|
-
Options extends NoExcessProperties<GenerateTextOptions<any>, Options
|
|
1315
|
-
Tools extends Record<string, Tool.Any> = {}
|
|
1368
|
+
export function generateText<
|
|
1369
|
+
Options extends NoExcessProperties<GenerateTextOptions<any>, Options>
|
|
1316
1370
|
>(
|
|
1317
|
-
options: Options & GenerateTextOptions<
|
|
1371
|
+
options: Options & GenerateTextOptions<ExtractTools<Options>>
|
|
1318
1372
|
): Effect.Effect<
|
|
1319
|
-
GenerateTextResponse<
|
|
1373
|
+
GenerateTextResponse<ExtractTools<Options>>,
|
|
1320
1374
|
ExtractError<Options>,
|
|
1321
1375
|
LanguageModel | ExtractServices<Options>
|
|
1322
|
-
>
|
|
1323
|
-
|
|
1376
|
+
>
|
|
1377
|
+
export function generateText(
|
|
1378
|
+
options: GenerateTextOptions<any>
|
|
1379
|
+
): Effect.Effect<
|
|
1380
|
+
GenerateTextResponse<any>,
|
|
1381
|
+
AiError.AiError,
|
|
1382
|
+
LanguageModel
|
|
1383
|
+
> {
|
|
1384
|
+
return Effect.flatMap(
|
|
1324
1385
|
Effect.service(LanguageModel),
|
|
1325
|
-
(model) => model.generateText(options)
|
|
1386
|
+
(model) => model.generateText(options as any)
|
|
1326
1387
|
)
|
|
1388
|
+
}
|
|
1327
1389
|
|
|
1328
1390
|
/**
|
|
1329
1391
|
* Generate a structured object from a schema using a language model.
|
|
@@ -1357,25 +1419,32 @@ export const generateText = <
|
|
|
1357
1419
|
* @since 4.0.0
|
|
1358
1420
|
* @category object generation
|
|
1359
1421
|
*/
|
|
1360
|
-
export
|
|
1422
|
+
export function generateObject<
|
|
1361
1423
|
ObjectEncoded extends Record<string, any>,
|
|
1362
|
-
StructuredOutputSchema extends Schema.
|
|
1424
|
+
StructuredOutputSchema extends Schema.Encoder<ObjectEncoded, unknown>,
|
|
1363
1425
|
Options extends NoExcessProperties<
|
|
1364
1426
|
GenerateObjectOptions<any, StructuredOutputSchema>,
|
|
1365
1427
|
Options
|
|
1366
|
-
|
|
1367
|
-
Tools extends Record<string, Tool.Any> = {}
|
|
1428
|
+
>
|
|
1368
1429
|
>(
|
|
1369
|
-
options: Options & GenerateObjectOptions<
|
|
1430
|
+
options: Options & GenerateObjectOptions<ExtractTools<Options>, StructuredOutputSchema>
|
|
1370
1431
|
): Effect.Effect<
|
|
1371
|
-
GenerateObjectResponse<
|
|
1432
|
+
GenerateObjectResponse<ExtractTools<Options>, StructuredOutputSchema["Type"]>,
|
|
1372
1433
|
ExtractError<Options>,
|
|
1373
1434
|
ExtractServices<Options> | StructuredOutputSchema["DecodingServices"] | LanguageModel
|
|
1374
|
-
>
|
|
1375
|
-
|
|
1435
|
+
>
|
|
1436
|
+
export function generateObject(
|
|
1437
|
+
options: GenerateObjectOptions<any, Schema.Top>
|
|
1438
|
+
): Effect.Effect<
|
|
1439
|
+
GenerateObjectResponse<any, any>,
|
|
1440
|
+
AiError.AiError,
|
|
1441
|
+
LanguageModel
|
|
1442
|
+
> {
|
|
1443
|
+
return Effect.flatMap(
|
|
1376
1444
|
Effect.service(LanguageModel),
|
|
1377
|
-
(model) => model.generateObject(options)
|
|
1378
|
-
)
|
|
1445
|
+
(model) => model.generateObject(options as any)
|
|
1446
|
+
) as any
|
|
1447
|
+
}
|
|
1379
1448
|
|
|
1380
1449
|
/**
|
|
1381
1450
|
* Generate text using a language model with streaming output.
|
|
@@ -1401,20 +1470,27 @@ export const generateObject = <
|
|
|
1401
1470
|
* @since 4.0.0
|
|
1402
1471
|
* @category text generation
|
|
1403
1472
|
*/
|
|
1404
|
-
export
|
|
1405
|
-
Options extends NoExcessProperties<GenerateTextOptions<any>, Options
|
|
1406
|
-
Tools extends Record<string, Tool.Any> = {}
|
|
1473
|
+
export function streamText<
|
|
1474
|
+
Options extends NoExcessProperties<GenerateTextOptions<any>, Options>
|
|
1407
1475
|
>(
|
|
1408
|
-
options: Options & GenerateTextOptions<
|
|
1476
|
+
options: Options & GenerateTextOptions<ExtractTools<Options>>
|
|
1409
1477
|
): Stream.Stream<
|
|
1410
|
-
Response.StreamPart<
|
|
1478
|
+
Response.StreamPart<ExtractTools<Options>>,
|
|
1411
1479
|
ExtractError<Options>,
|
|
1412
1480
|
ExtractServices<Options> | LanguageModel
|
|
1413
|
-
>
|
|
1414
|
-
|
|
1481
|
+
>
|
|
1482
|
+
export function streamText(
|
|
1483
|
+
options: GenerateTextOptions<any>
|
|
1484
|
+
): Stream.Stream<
|
|
1485
|
+
Response.StreamPart<any>,
|
|
1486
|
+
AiError.AiError,
|
|
1487
|
+
LanguageModel
|
|
1488
|
+
> {
|
|
1489
|
+
return Stream.unwrap(Effect.map(
|
|
1415
1490
|
Effect.service(LanguageModel),
|
|
1416
|
-
(model) => model.streamText(options)
|
|
1417
|
-
))
|
|
1491
|
+
(model) => model.streamText(options as any)
|
|
1492
|
+
)) as any
|
|
1493
|
+
}
|
|
1418
1494
|
|
|
1419
1495
|
// =============================================================================
|
|
1420
1496
|
// Tool Approval Helpers
|
|
@@ -1506,6 +1582,63 @@ const collectToolApprovals = (
|
|
|
1506
1582
|
return { approved, denied }
|
|
1507
1583
|
}
|
|
1508
1584
|
|
|
1585
|
+
/**
|
|
1586
|
+
* Strip resolved approval artifacts from the prompt before sending to the
|
|
1587
|
+
* provider. After pre-resolving approvals (executing approved tools and
|
|
1588
|
+
* creating denial results), the original `tool-approval-request` parts in
|
|
1589
|
+
* assistant messages and `tool-approval-response` parts in tool messages are
|
|
1590
|
+
* no longer needed. Leaving them in causes provider-specific errors (e.g.
|
|
1591
|
+
* OpenAI rejects `mcp_approval_response` items that reference approval
|
|
1592
|
+
* requests it never issued).
|
|
1593
|
+
*/
|
|
1594
|
+
const stripResolvedApprovals = (
|
|
1595
|
+
prompt: Prompt.Prompt,
|
|
1596
|
+
approved: ReadonlyArray<ApprovalResult>,
|
|
1597
|
+
denied: ReadonlyArray<ApprovalResult>
|
|
1598
|
+
): Prompt.Prompt => {
|
|
1599
|
+
const resolvedApprovalIds = new Set<string>()
|
|
1600
|
+
for (const a of approved) resolvedApprovalIds.add(a.approvalId)
|
|
1601
|
+
for (const d of denied) resolvedApprovalIds.add(d.approvalId)
|
|
1602
|
+
|
|
1603
|
+
const cleanedMessages: Array<Prompt.Message> = []
|
|
1604
|
+
|
|
1605
|
+
for (const message of prompt.content) {
|
|
1606
|
+
if (message.role === "assistant") {
|
|
1607
|
+
const filteredContent = message.content.filter(
|
|
1608
|
+
(part) =>
|
|
1609
|
+
part.type !== "tool-approval-request" ||
|
|
1610
|
+
!resolvedApprovalIds.has(part.approvalId)
|
|
1611
|
+
)
|
|
1612
|
+
if (filteredContent.length > 0) {
|
|
1613
|
+
cleanedMessages.push(
|
|
1614
|
+
Prompt.makeMessage("assistant", {
|
|
1615
|
+
content: filteredContent,
|
|
1616
|
+
options: message.options
|
|
1617
|
+
})
|
|
1618
|
+
)
|
|
1619
|
+
}
|
|
1620
|
+
} else if (message.role === "tool") {
|
|
1621
|
+
const filteredContent = message.content.filter(
|
|
1622
|
+
(part) =>
|
|
1623
|
+
part.type !== "tool-approval-response" ||
|
|
1624
|
+
!resolvedApprovalIds.has(part.approvalId)
|
|
1625
|
+
)
|
|
1626
|
+
if (filteredContent.length > 0) {
|
|
1627
|
+
cleanedMessages.push(
|
|
1628
|
+
Prompt.makeMessage("tool", {
|
|
1629
|
+
content: filteredContent,
|
|
1630
|
+
options: message.options
|
|
1631
|
+
})
|
|
1632
|
+
)
|
|
1633
|
+
}
|
|
1634
|
+
} else {
|
|
1635
|
+
cleanedMessages.push(message)
|
|
1636
|
+
}
|
|
1637
|
+
}
|
|
1638
|
+
|
|
1639
|
+
return Prompt.fromMessages(cleanedMessages)
|
|
1640
|
+
}
|
|
1641
|
+
|
|
1509
1642
|
const isApprovalNeeded = Effect.fnUntraced(function*<T extends Tool.Any>(
|
|
1510
1643
|
tool: T,
|
|
1511
1644
|
toolCall: Response.ToolCallPartEncoded,
|
|
@@ -1734,11 +1867,11 @@ const resolveToolCalls = <Tools extends Record<string, Tool.Any>>(
|
|
|
1734
1867
|
// =============================================================================
|
|
1735
1868
|
|
|
1736
1869
|
const resolveToolkit = <Tools extends Record<string, Tool.Any>, E, R>(
|
|
1737
|
-
toolkit:
|
|
1738
|
-
| Toolkit.WithHandler<Tools>
|
|
1739
|
-
| Effect.Yieldable<Toolkit.Toolkit<any>, Toolkit.WithHandler<Tools>, E, R>
|
|
1870
|
+
toolkit: ToolkitOption<Tools, E, R>
|
|
1740
1871
|
): Effect.Effect<Toolkit.WithHandler<Tools>, E, R> =>
|
|
1741
|
-
"asEffect" in toolkit
|
|
1872
|
+
("asEffect" in toolkit
|
|
1873
|
+
? toolkit.asEffect()
|
|
1874
|
+
: Effect.succeed(toolkit as unknown as Toolkit.WithHandler<Tools>)) as any
|
|
1742
1875
|
|
|
1743
1876
|
/** @internal */
|
|
1744
1877
|
export const getObjectName = <StructuredOutputSchema extends Schema.Top>(
|
|
@@ -1761,29 +1894,32 @@ export const getObjectName = <StructuredOutputSchema extends Schema.Top>(
|
|
|
1761
1894
|
const resolveStructuredOutput = Effect.fnUntraced(function*<
|
|
1762
1895
|
StructuredOutputSchema extends Schema.Top
|
|
1763
1896
|
>(response: ReadonlyArray<Response.AllParts<any>>, schema: StructuredOutputSchema) {
|
|
1764
|
-
const
|
|
1897
|
+
const texts: Array<string> = []
|
|
1765
1898
|
for (const part of response) {
|
|
1766
1899
|
if (part.type === "text") {
|
|
1767
|
-
|
|
1900
|
+
texts.push(part.text)
|
|
1768
1901
|
}
|
|
1769
1902
|
}
|
|
1770
1903
|
|
|
1904
|
+
const text = texts.join("")
|
|
1905
|
+
|
|
1771
1906
|
if (text.length === 0) {
|
|
1772
1907
|
return yield* AiError.make({
|
|
1773
1908
|
module: "LanguageModel",
|
|
1774
1909
|
method: "generateObject",
|
|
1775
1910
|
reason: new AiError.StructuredOutputError({
|
|
1776
|
-
description: "No text content in response"
|
|
1911
|
+
description: "No text content in response",
|
|
1912
|
+
responseText: text
|
|
1777
1913
|
})
|
|
1778
1914
|
})
|
|
1779
1915
|
}
|
|
1780
1916
|
|
|
1781
1917
|
const decode = Schema.decodeEffect(Schema.fromJsonString(schema))
|
|
1782
|
-
return yield* Effect.mapError(decode(text
|
|
1918
|
+
return yield* Effect.mapError(decode(text), (error) =>
|
|
1783
1919
|
AiError.make({
|
|
1784
1920
|
module: "LanguageModel",
|
|
1785
1921
|
method: "generateObject",
|
|
1786
|
-
reason: AiError.StructuredOutputError.fromSchemaError(error)
|
|
1922
|
+
reason: AiError.StructuredOutputError.fromSchemaError(error, text)
|
|
1787
1923
|
}))
|
|
1788
1924
|
})
|
|
1789
1925
|
|