effect 4.0.0-rc.112 → 4.0.0-rc.113
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/AGENTS.md +24 -9
- package/CLAUDE.md +24 -9
- package/ai-docs/package.json +2 -2
- package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +18 -5
- package/ai-docs/src/01_effect/01_basics/index.md +5 -3
- package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +1 -1
- package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +2 -2
- package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +2 -2
- package/ai-docs/src/03_stream/30_encoding.ts +5 -7
- package/ai-docs/src/08_observability/10_logging.ts +1 -1
- package/ai-docs/src/70_cli/10_basics.ts +7 -7
- package/ai-docs/src/71_ai/10_language-model.ts +2 -2
- package/ai-docs/src/71_ai/20_tools.ts +1 -1
- package/ai-docs/src/71_ai/30_chat.ts +1 -1
- package/dist/Array.d.ts +86 -50
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +58 -32
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +5 -1
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +40 -23
- package/dist/BigDecimal.js.map +1 -1
- package/dist/ByteSize.d.ts +633 -0
- package/dist/ByteSize.d.ts.map +1 -0
- package/dist/ByteSize.js +524 -0
- package/dist/ByteSize.js.map +1 -0
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +17 -3
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +1 -1
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Channel.d.ts +97 -24
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +66 -39
- package/dist/Channel.js.map +1 -1
- package/dist/Chunk.d.ts +49 -28
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +27 -18
- package/dist/Chunk.js.map +1 -1
- package/dist/Config.d.ts +162 -201
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +103 -212
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +4 -4
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +7 -7
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Context.d.ts +31 -0
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +2 -2
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +2 -2
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +1 -1
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +3 -2
- package/dist/Crypto.js.map +1 -1
- package/dist/DateTime.d.ts +2 -2
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +6 -6
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +1 -1
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +1 -1
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +220 -113
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +27 -26
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.d.ts +58 -2
- package/dist/Effectable.d.ts.map +1 -1
- package/dist/Effectable.js +58 -6
- package/dist/Effectable.js.map +1 -1
- package/dist/Encoding.d.ts +3 -1
- package/dist/Encoding.d.ts.map +1 -1
- package/dist/Encoding.js +40 -10
- package/dist/Encoding.js.map +1 -1
- package/dist/Equal.d.ts +1 -1
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +1 -1
- package/dist/Equal.js.map +1 -1
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +1 -0
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Fiber.d.ts +32 -8
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.js +3 -3
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +12 -6
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +11 -6
- package/dist/FiberMap.js.map +1 -1
- package/dist/FileSystem.d.ts +42 -210
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +16 -148
- package/dist/FileSystem.js.map +1 -1
- package/dist/Formatter.d.ts +1 -0
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +19 -3
- package/dist/Formatter.js.map +1 -1
- package/dist/Graph.d.ts +48 -20
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +20 -5
- package/dist/Graph.js.map +1 -1
- package/dist/Hash.d.ts +1 -1
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +5 -14
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +1 -1
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashRing.d.ts +6 -1
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +9 -2
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +1 -1
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js.map +1 -1
- package/dist/Iterable.d.ts +33 -15
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +58 -45
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.js +4 -4
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +68 -4
- package/dist/JsonPointer.d.ts.map +1 -1
- package/dist/JsonPointer.js +90 -4
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.js +8 -22
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Layer.d.ts +47 -4
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +4 -6
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +1 -3
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +7 -5
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +7 -5
- package/dist/LayerRef.js.map +1 -1
- package/dist/Logger.d.ts +114 -9
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +109 -9
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.js +1 -1
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +43 -31
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +5 -2
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +11 -4
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +14 -18
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +1 -1
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +1 -1
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +1 -1
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +1 -1
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +13 -2
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +18 -2
- package/dist/MutableList.js.map +1 -1
- package/dist/Number.d.ts +6 -0
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +3 -1
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +5 -4
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +1 -1
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +1 -1
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +1 -0
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +3 -1
- package/dist/Order.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +1 -2
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +1 -1
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +1 -1
- package/dist/Path.js.map +1 -1
- package/dist/PlatformError.d.ts +1 -1
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +1 -1
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +38 -1
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +81 -5
- package/dist/Pool.js.map +1 -1
- package/dist/PrimaryKey.d.ts +1 -1
- package/dist/PrimaryKey.d.ts.map +1 -1
- package/dist/PrimaryKey.js +1 -1
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +21 -9
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +18 -14
- package/dist/PubSub.js.map +1 -1
- package/dist/Queue.d.ts +82 -6
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +116 -27
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +17 -4
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +1 -1
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +15 -9
- package/dist/RcMap.js.map +1 -1
- package/dist/Redacted.d.ts +1 -1
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +1 -1
- package/dist/Redacted.js.map +1 -1
- package/dist/RequestResolver.d.ts +15 -9
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +33 -15
- 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 -1
- package/dist/Result.js.map +1 -1
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +19 -10
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +2155 -2415
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +2755 -4174
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +354 -183
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +277 -601
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +46 -22
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +56 -53
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +122 -188
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +48 -263
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.js +2 -9
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +1099 -16
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +1341 -20
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +49 -16
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +75 -98
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +10 -3
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Sink.d.ts +9 -4
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +49 -31
- package/dist/Sink.js.map +1 -1
- package/dist/Stream.d.ts +221 -35
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +168 -84
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +16 -6
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +12 -5
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +7 -4
- package/dist/Struct.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +3 -2
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Terminal.d.ts +3 -3
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +3 -3
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +27 -7
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +38 -13
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +1 -1
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Tuple.d.ts +2 -1
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +1 -1
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +1 -1
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +1 -1
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +1 -1
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +1 -1
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +1 -1
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +1 -1
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +1 -1
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +1 -1
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +1 -1
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +1 -1
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +1 -1
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +9 -9
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +93 -86
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +29 -1
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +29 -1
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +1 -1
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +1 -1
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +1 -1
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +1 -1
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +1 -1
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +1 -1
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +33 -19
- package/dist/Types.d.ts.map +1 -1
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +2 -1
- package/dist/Utils.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/arbitrary/model.d.ts +2 -0
- package/dist/internal/arbitrary/model.d.ts.map +1 -0
- package/dist/internal/arbitrary/model.js +495 -0
- package/dist/internal/arbitrary/model.js.map +1 -0
- package/dist/internal/arbitrary/regexp.d.ts +2 -0
- package/dist/internal/arbitrary/regexp.d.ts.map +1 -0
- package/dist/internal/arbitrary/regexp.js +789 -0
- package/dist/internal/arbitrary/regexp.js.map +1 -0
- package/dist/internal/arbitrary/runner.d.ts +2 -0
- package/dist/internal/arbitrary/runner.d.ts.map +1 -0
- package/dist/internal/arbitrary/runner.js +496 -0
- package/dist/internal/arbitrary/runner.js.map +1 -0
- package/dist/internal/arbitrary/schema.d.ts.map +1 -0
- package/dist/internal/arbitrary/schema.js +1340 -0
- package/dist/internal/arbitrary/schema.js.map +1 -0
- package/dist/internal/core.js +27 -13
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/count.d.ts +2 -0
- package/dist/internal/count.d.ts.map +1 -0
- package/dist/internal/count.js +14 -0
- package/dist/internal/count.js.map +1 -0
- package/dist/internal/dateTime.js +4 -10
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +386 -251
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/graph.js +3 -1
- package/dist/internal/graph.js.map +1 -1
- package/dist/internal/hashMap.js +5 -3
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/hashSet.js +1 -1
- package/dist/internal/hashSet.js.map +1 -1
- package/dist/internal/matcher.js +1 -1
- package/dist/internal/matcher.js.map +1 -1
- package/dist/internal/metric.js +1 -1
- package/dist/internal/metric.js.map +1 -1
- package/dist/internal/option.js +6 -5
- package/dist/internal/option.js.map +1 -1
- package/dist/internal/random.js +17 -0
- package/dist/internal/random.js.map +1 -1
- package/dist/internal/rcRef.js +10 -7
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/references.js +1 -0
- package/dist/internal/references.js.map +1 -1
- package/dist/internal/request.js +13 -6
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/result.js +11 -9
- package/dist/internal/result.js.map +1 -1
- package/dist/internal/schema/annotations.js +1 -1
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.js +14 -12
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/fromRepresentation.js +5 -5
- package/dist/internal/schema/fromRepresentation.js.map +1 -1
- package/dist/internal/schema/make.d.ts +2 -0
- package/dist/internal/schema/make.d.ts.map +1 -0
- package/dist/internal/schema/{schema.js → make.js} +1 -25
- package/dist/internal/schema/make.js.map +1 -0
- package/dist/internal/schema/parser.d.ts +0 -12
- package/dist/internal/schema/parser.d.ts.map +1 -1
- package/dist/internal/schema/parser.js +7 -0
- package/dist/internal/schema/parser.js.map +1 -1
- package/dist/internal/schema/standardSchema.d.ts +2 -0
- package/dist/internal/schema/standardSchema.d.ts.map +1 -0
- package/dist/internal/schema/standardSchema.js +112 -0
- package/dist/internal/schema/standardSchema.js.map +1 -0
- package/dist/internal/schema/toCodeDocument.js +34 -22
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toCodec.d.ts +2 -0
- package/dist/internal/schema/toCodec.d.ts.map +1 -0
- package/dist/internal/schema/toCodec.js +242 -0
- package/dist/internal/schema/toCodec.js.map +1 -0
- package/dist/internal/schema/toDifferJsonPatch.d.ts +2 -0
- package/dist/internal/schema/toDifferJsonPatch.d.ts.map +1 -0
- package/dist/internal/schema/toDifferJsonPatch.js +20 -0
- package/dist/internal/schema/toDifferJsonPatch.js.map +1 -0
- package/dist/internal/schema/toEncoderXml.d.ts +2 -0
- package/dist/internal/schema/toEncoderXml.d.ts.map +1 -0
- package/dist/internal/schema/toEncoderXml.js +104 -0
- package/dist/internal/schema/toEncoderXml.js.map +1 -0
- package/dist/internal/schema/toEquivalence.js +66 -0
- package/dist/internal/schema/toEquivalence.js.map +1 -1
- package/dist/internal/schema/toFormatter.d.ts +2 -0
- package/dist/internal/schema/toFormatter.d.ts.map +1 -0
- package/dist/internal/schema/toFormatter.js +227 -0
- package/dist/internal/schema/toFormatter.js.map +1 -0
- package/dist/internal/schema/toIso.d.ts +2 -0
- package/dist/internal/schema/toIso.d.ts.map +1 -0
- package/dist/internal/schema/toIso.js +17 -0
- package/dist/internal/schema/toIso.js.map +1 -0
- package/dist/internal/schema/toJsonSchemaDocument.js +122 -71
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toRepresentation.js +3 -1
- package/dist/internal/schema/toRepresentation.js.map +1 -1
- package/dist/internal/schemaError.d.ts +4 -0
- package/dist/internal/schemaError.d.ts.map +1 -0
- package/dist/internal/schemaError.js +6 -0
- package/dist/internal/schemaError.js.map +1 -0
- package/dist/internal/stream.js +5 -6
- package/dist/internal/stream.js.map +1 -1
- package/dist/internal/tracer.d.ts +1 -3
- package/dist/internal/tracer.d.ts.map +1 -1
- package/dist/internal/tracer.js +6 -0
- package/dist/internal/tracer.js.map +1 -1
- package/dist/internal/trie.js +2 -2
- package/dist/internal/trie.js.map +1 -1
- package/dist/internal/uuid.d.ts +1 -2
- package/dist/internal/uuid.d.ts.map +1 -1
- package/dist/internal/uuid.js +2 -0
- package/dist/internal/uuid.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +9 -11
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +20 -18
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.d.ts +0 -4
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +0 -4
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +74 -23
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +59 -5
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +2 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +27 -32
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +10 -13
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +23 -16
- package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.js +13 -11
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +48 -37
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +150 -47
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +2 -2
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +21 -12
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +2 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +1 -1
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +15 -4
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +37 -94
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +46 -96
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +4 -5
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +38 -20
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +27 -1
- 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 +30 -18
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/internal/structured-output.js +8 -5
- package/dist/unstable/ai/internal/structured-output.js.map +1 -1
- package/dist/unstable/arbitrary/Arbitrary.d.ts +626 -0
- package/dist/unstable/arbitrary/Arbitrary.d.ts.map +1 -0
- package/dist/unstable/arbitrary/Arbitrary.js +238 -0
- package/dist/unstable/arbitrary/Arbitrary.js.map +1 -0
- package/dist/unstable/arbitrary/index.d.ts +8 -0
- package/dist/unstable/arbitrary/index.d.ts.map +1 -0
- package/dist/unstable/arbitrary/index.js +9 -0
- package/dist/unstable/arbitrary/index.js.map +1 -0
- package/dist/unstable/cli/Argument.d.ts +104 -108
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +56 -57
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +2 -0
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +2 -0
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.js +26 -3
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +73 -73
- package/dist/unstable/cli/Command.js +18 -18
- package/dist/unstable/cli/Completions.d.ts +4 -4
- package/dist/unstable/cli/Completions.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.d.ts +150 -161
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +79 -90
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +3 -3
- package/dist/unstable/cli/GlobalFlag.js +13 -13
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/Param.d.ts +118 -126
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +104 -113
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +69 -58
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +65 -66
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.d.ts +23 -24
- package/dist/unstable/cli/Prompt.d.ts.map +1 -1
- package/dist/unstable/cli/Prompt.js +68 -63
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/internal/completions/descriptor.js +23 -11
- package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/unstable/cli/internal/completions/zsh.js +2 -2
- package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
- package/dist/unstable/cli/internal/config.js +4 -4
- package/dist/unstable/cli/internal/parser.js +1 -1
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cli/internal/wizard.d.ts.map +1 -1
- package/dist/unstable/cli/internal/wizard.js +14 -13
- package/dist/unstable/cli/internal/wizard.js.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts +13 -0
- package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.js +16 -1
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +57 -14
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +2 -0
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.d.ts +2 -2
- package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +4 -4
- package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.js +2 -3
- package/dist/unstable/cluster/Envelope.js.map +1 -1
- package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/HttpRunner.js +5 -2
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +34 -4
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +28 -9
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +1 -1
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +32 -17
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +23 -23
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SocketRunner.d.ts +2 -2
- package/dist/unstable/cluster/SocketRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/SocketRunner.js +4 -3
- package/dist/unstable/cluster/SocketRunner.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +11 -8
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +11 -4
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/clusterAbandon.d.ts +5 -0
- package/dist/unstable/cluster/internal/clusterAbandon.d.ts.map +1 -0
- package/dist/unstable/cluster/internal/clusterAbandon.js +9 -0
- package/dist/unstable/cluster/internal/clusterAbandon.js.map +1 -0
- package/dist/unstable/cluster/internal/entityManager.js +7 -4
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/interruptors.js +30 -1
- package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +12 -7
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +12 -7
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/encoding/Ini.d.ts +2 -0
- package/dist/unstable/encoding/Ini.d.ts.map +1 -1
- package/dist/unstable/encoding/Ini.js +2 -0
- package/dist/unstable/encoding/Ini.js.map +1 -1
- package/dist/unstable/encoding/SchemaBinary.d.ts +27 -3
- package/dist/unstable/encoding/SchemaBinary.d.ts.map +1 -1
- package/dist/unstable/encoding/SchemaBinary.js +108 -39
- package/dist/unstable/encoding/SchemaBinary.js.map +1 -1
- package/dist/unstable/encoding/Sse.js +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/encoding/Toml.d.ts +2 -0
- package/dist/unstable/encoding/Toml.d.ts.map +1 -1
- package/dist/unstable/encoding/Toml.js +6 -4
- package/dist/unstable/encoding/Toml.js.map +1 -1
- package/dist/unstable/encoding/Yaml.d.ts +2 -0
- package/dist/unstable/encoding/Yaml.d.ts.map +1 -1
- package/dist/unstable/encoding/Yaml.js +16 -5
- package/dist/unstable/encoding/Yaml.js.map +1 -1
- package/dist/unstable/encoding/index.d.ts +0 -4
- package/dist/unstable/encoding/index.d.ts.map +1 -1
- package/dist/unstable/encoding/index.js +0 -4
- package/dist/unstable/encoding/index.js.map +1 -1
- package/dist/unstable/eventlog/Event.d.ts +5 -5
- package/dist/unstable/eventlog/Event.d.ts.map +1 -1
- package/dist/unstable/eventlog/Event.js +3 -3
- package/dist/unstable/eventlog/Event.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +7 -7
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +9 -9
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +4 -4
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +11 -5
- package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.js +25 -15
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +7 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js +13 -3
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +2 -2
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.js +26 -13
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +5 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +1 -45
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +2 -64
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js +1 -1
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/FindMyWay/internal/router.js +124 -33
- package/dist/unstable/http/FindMyWay/internal/router.js.map +1 -1
- package/dist/unstable/http/FindMyWay.d.ts +15 -5
- package/dist/unstable/http/FindMyWay.d.ts.map +1 -1
- package/dist/unstable/http/FindMyWay.js +3 -1
- package/dist/unstable/http/FindMyWay.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +0 -22
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +3 -34
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +41 -10
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +64 -10
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +1 -1
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +28 -18
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +28 -6
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +8 -19
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +6 -1
- package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientResponse.js +10 -6
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +16 -0
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +121 -65
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts +3 -3
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js +1 -13
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +29 -21
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +12 -11
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +36 -10
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +5 -1
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +22 -8
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +11 -42
- package/dist/unstable/http/HttpServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpServer.js +16 -20
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +11 -11
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +1 -1
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +9 -13
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +34 -44
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +2 -2
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpStaticServer.js +19 -19
- package/dist/unstable/http/HttpStaticServer.js.map +1 -1
- package/dist/unstable/http/Mime.d.ts +28 -0
- package/dist/unstable/http/Mime.d.ts.map +1 -0
- package/dist/unstable/http/Mime.js +72 -0
- package/dist/unstable/http/Mime.js.map +1 -0
- package/dist/unstable/http/Multipart.d.ts +22 -9
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +26 -10
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/MultipartParser/internal/multipart.d.ts +1 -1
- package/dist/unstable/http/MultipartParser/internal/multipart.d.ts.map +1 -1
- package/dist/unstable/http/MultipartParser/internal/multipart.js +8 -3
- package/dist/unstable/http/MultipartParser/internal/multipart.js.map +1 -1
- package/dist/unstable/http/MultipartParser.d.ts +4 -3
- package/dist/unstable/http/MultipartParser.d.ts.map +1 -1
- package/dist/unstable/http/MultipartParser.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +0 -97
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +3 -104
- 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/compression.js +8 -11
- package/dist/unstable/http/internal/compression.js.map +1 -1
- package/dist/unstable/http/internal/headers.d.ts +2 -0
- package/dist/unstable/http/internal/headers.d.ts.map +1 -0
- package/dist/unstable/http/internal/headers.js +5 -0
- package/dist/unstable/http/internal/headers.js.map +1 -0
- package/dist/unstable/http/internal/httpBody.js +8 -0
- package/dist/unstable/http/internal/httpBody.js.map +1 -1
- package/dist/unstable/http/internal/mimeTypes.d.ts +361 -0
- package/dist/unstable/http/internal/mimeTypes.d.ts.map +1 -0
- package/dist/unstable/http/internal/mimeTypes.js +363 -0
- package/dist/unstable/http/internal/mimeTypes.js.map +1 -0
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +13 -0
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +23 -6
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -3
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +25 -13
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +8 -3
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +9 -6
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +3 -1
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +7 -5
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +12 -0
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js +8 -10
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.js +8 -2
- package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +31 -20
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/net/IpInterface.d.ts +140 -0
- package/dist/unstable/net/IpInterface.d.ts.map +1 -0
- package/dist/unstable/net/IpInterface.js +149 -0
- package/dist/unstable/net/IpInterface.js.map +1 -0
- package/dist/unstable/net/IpNetwork.d.ts +227 -0
- package/dist/unstable/net/IpNetwork.d.ts.map +1 -0
- package/dist/unstable/net/IpNetwork.js +239 -0
- package/dist/unstable/net/IpNetwork.js.map +1 -0
- package/dist/unstable/net/NetAddress.d.ts +705 -0
- package/dist/unstable/net/NetAddress.d.ts.map +1 -0
- package/dist/unstable/net/NetAddress.js +956 -0
- package/dist/unstable/net/NetAddress.js.map +1 -0
- package/dist/unstable/net/index.d.ts +16 -0
- package/dist/unstable/net/index.d.ts.map +1 -0
- package/dist/unstable/net/index.js +17 -0
- package/dist/unstable/net/index.js.map +1 -0
- package/dist/unstable/observability/OtlpExporter.d.ts +1 -0
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +4 -6
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +9 -9
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js +9 -8
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpResource.js +2 -2
- package/dist/unstable/observability/OtlpResource.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js +82 -55
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/internal/otlpEnv.d.ts +1 -1
- package/dist/unstable/observability/internal/otlpEnv.d.ts.map +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js +5 -9
- package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +1 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +114 -14
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +799 -234
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +28 -15
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +33 -41
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +8 -2
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +7 -2
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +6 -3
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +3 -6
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +6 -3
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +2 -3
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +2 -2
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +1 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +6 -4
- package/dist/unstable/reactivity/Hydration.d.ts.map +1 -1
- package/dist/unstable/reactivity/Hydration.js +20 -6
- package/dist/unstable/reactivity/Hydration.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.d.ts +26 -26
- package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js +10 -12
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +64 -64
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.d.ts +1 -1
- package/dist/unstable/rpc/RpcMessage.d.ts +3 -1
- package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMessage.js +1 -1
- package/dist/unstable/rpc/RpcMessage.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js +7 -5
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +5 -39
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +22 -115
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +104 -57
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +7 -6
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +3 -0
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +287 -102
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +408 -215
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +5 -32
- package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
- package/dist/unstable/socket/SocketServer.js +3 -3
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +20 -0
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +14 -7
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.d.ts +15 -0
- package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +1 -1
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +13 -5
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +29 -15
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Transferable.js +1 -1
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +3 -1
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +7 -0
- package/dist/unstable/workflow/Activity.d.ts.map +1 -1
- package/dist/unstable/workflow/Activity.js +14 -4
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +1 -1
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +2 -2
- package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/DurableQueue.d.ts +8 -0
- package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableQueue.js +8 -0
- package/dist/unstable/workflow/DurableQueue.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +5 -0
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +70 -12
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +6 -0
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +11 -0
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +7 -9
- package/src/Array.ts +118 -67
- package/src/BigDecimal.ts +50 -28
- package/src/ByteSize.ts +838 -0
- package/src/Cache.ts +17 -3
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +183 -48
- package/src/Chunk.ts +65 -36
- package/src/Config.ts +237 -248
- package/src/ConfigProvider.ts +7 -8
- package/src/Context.ts +31 -0
- package/src/Cron.ts +2 -2
- package/src/Crypto.ts +3 -2
- package/src/Deferred.ts +7 -6
- package/src/Duration.ts +1 -1
- package/src/Effect.ts +226 -122
- package/src/Effectable.ts +78 -9
- package/src/Encoding.ts +101 -11
- package/src/Equal.ts +1 -1
- package/src/ExecutionPlan.ts +3 -0
- package/src/Fiber.ts +33 -8
- package/src/FiberHandle.ts +3 -3
- package/src/FiberMap.ts +19 -10
- package/src/FileSystem.ts +55 -230
- package/src/Formatter.ts +21 -3
- package/src/Graph.ts +55 -25
- package/src/Hash.ts +5 -16
- package/src/HashRing.ts +9 -2
- package/src/HashSet.ts +56 -0
- package/src/Iterable.ts +66 -41
- package/src/JsonPatch.ts +4 -4
- package/src/JsonPointer.ts +97 -4
- package/src/JsonSchema.ts +8 -26
- package/src/Layer.ts +59 -18
- package/src/LayerMap.ts +8 -6
- package/src/LayerRef.ts +7 -5
- package/src/Logger.ts +125 -18
- package/src/ManagedRuntime.ts +1 -1
- package/src/Match.ts +33 -14
- package/src/Metric.ts +24 -21
- package/src/MutableHashMap.ts +1 -1
- package/src/MutableHashSet.ts +1 -1
- package/src/MutableList.ts +18 -2
- package/src/Number.ts +7 -1
- package/src/Optic.ts +8 -4
- package/src/Option.ts +1 -1
- package/src/Order.ts +3 -1
- package/src/PartitionedSemaphore.ts +1 -2
- package/src/Path.ts +1 -1
- package/src/PlatformError.ts +1 -1
- package/src/Pool.ts +125 -8
- package/src/PrimaryKey.ts +1 -1
- package/src/PubSub.ts +32 -20
- package/src/Queue.ts +119 -28
- package/src/Random.ts +20 -6
- package/src/RcMap.ts +20 -13
- package/src/Redacted.ts +1 -1
- package/src/RequestResolver.ts +49 -26
- package/src/Result.ts +1 -1
- package/src/Scheduler.ts +21 -11
- package/src/Schema.ts +4809 -6368
- package/src/SchemaAST.ts +1031 -284
- package/src/SchemaGetter.ts +75 -21
- package/src/SchemaIssue.ts +259 -15
- package/src/SchemaParser.ts +2 -12
- package/src/SchemaRepresentation.ts +1593 -29
- package/src/SchemaTransformation.ts +145 -22
- package/src/ScopedCache.ts +10 -3
- package/src/Sink.ts +31 -15
- package/src/Stream.ts +294 -76
- package/src/String.ts +20 -9
- package/src/Struct.ts +8 -4
- package/src/SynchronizedRef.ts +3 -5
- package/src/Terminal.ts +3 -3
- package/src/Tracer.ts +43 -14
- package/src/Tuple.ts +3 -1
- package/src/TxChunk.ts +1 -1
- package/src/TxDeferred.ts +1 -1
- package/src/TxHashMap.ts +1 -1
- package/src/TxHashSet.ts +92 -11
- package/src/TxPriorityQueue.ts +1 -1
- package/src/TxPubSub.ts +1 -1
- package/src/TxQueue.ts +22 -17
- package/src/TxReentrantLock.ts +29 -1
- package/src/TxRef.ts +1 -1
- package/src/TxSemaphore.ts +1 -1
- package/src/TxSubscriptionRef.ts +1 -1
- package/src/Types.ts +40 -17
- package/src/Utils.ts +3 -1
- package/src/index.ts +5 -0
- package/src/internal/arbitrary/model.ts +701 -0
- package/src/internal/arbitrary/regexp.ts +855 -0
- package/src/internal/arbitrary/runner.ts +608 -0
- package/src/internal/arbitrary/schema.ts +1800 -0
- package/src/internal/core.ts +48 -22
- package/src/internal/count.ts +14 -0
- package/src/internal/dateTime.ts +8 -10
- package/src/internal/effect.ts +475 -295
- package/src/internal/graph.ts +6 -1
- package/src/internal/hashMap.ts +5 -3
- package/src/internal/hashSet.ts +1 -1
- package/src/internal/matcher.ts +34 -19
- package/src/internal/metric.ts +1 -1
- package/src/internal/option.ts +8 -6
- package/src/internal/random.ts +20 -7
- package/src/internal/rcRef.ts +10 -7
- package/src/internal/references.ts +1 -0
- package/src/internal/request.ts +12 -7
- package/src/internal/result.ts +15 -11
- package/src/internal/schema/annotations.ts +3 -3
- package/src/internal/schema/fromJsonSchemaDocument.ts +14 -29
- package/src/internal/schema/fromRepresentation.ts +5 -3
- package/src/internal/schema/{schema.ts → make.ts} +0 -40
- package/src/internal/schema/parser.ts +8 -0
- package/src/internal/schema/standardSchema.ts +125 -0
- package/src/internal/schema/toCodeDocument.ts +58 -44
- package/src/internal/schema/toCodec.ts +312 -0
- package/src/internal/schema/toDifferJsonPatch.ts +24 -0
- package/src/internal/schema/toEncoderXml.ts +110 -0
- package/src/internal/schema/toEquivalence.ts +76 -0
- package/src/internal/schema/toFormatter.ts +230 -0
- package/src/internal/schema/toIso.ts +20 -0
- package/src/internal/schema/toJsonSchemaDocument.ts +125 -67
- package/src/internal/schema/toRepresentation.ts +1 -1
- package/src/internal/schemaError.ts +8 -0
- package/src/internal/stream.ts +14 -6
- package/src/internal/tracer.ts +4 -0
- package/src/internal/trie.ts +5 -2
- package/src/internal/uuid.ts +4 -0
- package/src/testing/TestSchema.ts +36 -30
- package/src/testing/index.ts +0 -5
- package/src/unstable/ai/AiError.ts +69 -5
- package/src/unstable/ai/AnthropicStructuredOutput.ts +4 -1
- package/src/unstable/ai/Chat.ts +35 -36
- package/src/unstable/ai/EmbeddingModel.ts +27 -15
- package/src/unstable/ai/LanguageModel.ts +283 -100
- package/src/unstable/ai/McpServer.ts +36 -20
- package/src/unstable/ai/OpenAiStructuredOutput.ts +4 -1
- package/src/unstable/ai/Prompt.ts +19 -4
- package/src/unstable/ai/Response.ts +107 -189
- package/src/unstable/ai/Tokenizer.ts +4 -5
- package/src/unstable/ai/Tool.ts +58 -35
- package/src/unstable/ai/Toolkit.ts +43 -37
- package/src/unstable/ai/internal/structured-output.ts +5 -5
- package/src/unstable/arbitrary/Arbitrary.ts +715 -0
- package/src/unstable/arbitrary/index.ts +10 -0
- package/src/unstable/cli/Argument.ts +111 -115
- package/src/unstable/cli/CliError.ts +2 -0
- package/src/unstable/cli/CliOutput.ts +40 -3
- package/src/unstable/cli/Command.ts +74 -74
- package/src/unstable/cli/Completions.ts +4 -4
- package/src/unstable/cli/Flag.ts +158 -169
- package/src/unstable/cli/GlobalFlag.ts +13 -13
- package/src/unstable/cli/Param.ts +150 -159
- package/src/unstable/cli/Primitive.ts +75 -76
- package/src/unstable/cli/Prompt.ts +88 -87
- package/src/unstable/cli/internal/completions/descriptor.ts +23 -11
- package/src/unstable/cli/internal/completions/zsh.ts +2 -2
- package/src/unstable/cli/internal/config.ts +4 -4
- package/src/unstable/cli/internal/parser.ts +1 -1
- package/src/unstable/cli/internal/wizard.ts +18 -13
- package/src/unstable/cluster/ClusterSchema.ts +19 -1
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +66 -16
- package/src/unstable/cluster/Entity.ts +3 -0
- package/src/unstable/cluster/EntityProxyServer.ts +6 -2
- package/src/unstable/cluster/Envelope.ts +3 -3
- package/src/unstable/cluster/HttpRunner.ts +7 -2
- package/src/unstable/cluster/MessageStorage.ts +62 -21
- package/src/unstable/cluster/Reply.ts +2 -2
- package/src/unstable/cluster/Sharding.ts +44 -19
- package/src/unstable/cluster/ShardingConfig.ts +23 -23
- package/src/unstable/cluster/SocketRunner.ts +5 -4
- package/src/unstable/cluster/SqlMessageStorage.ts +12 -8
- package/src/unstable/cluster/SqlRunnerStorage.ts +18 -10
- package/src/unstable/cluster/internal/clusterAbandon.ts +14 -0
- package/src/unstable/cluster/internal/entityManager.ts +12 -4
- package/src/unstable/cluster/internal/interruptors.ts +58 -1
- package/src/unstable/cluster/internal/resourceRef.ts +15 -7
- package/src/unstable/devtools/DevToolsClient.ts +13 -3
- package/src/unstable/encoding/Ini.ts +2 -0
- package/src/unstable/encoding/SchemaBinary.ts +150 -44
- package/src/unstable/encoding/Sse.ts +1 -1
- package/src/unstable/encoding/Toml.ts +7 -5
- package/src/unstable/encoding/Yaml.ts +18 -5
- package/src/unstable/encoding/index.ts +0 -5
- package/src/unstable/eventlog/Event.ts +7 -7
- package/src/unstable/eventlog/EventJournal.ts +9 -9
- package/src/unstable/eventlog/EventLog.ts +5 -5
- package/src/unstable/eventlog/EventLogMessage.ts +25 -15
- package/src/unstable/eventlog/EventLogRemote.ts +15 -4
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +2 -2
- package/src/unstable/eventlog/SqlEventJournal.ts +32 -9
- package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +11 -1
- package/src/unstable/http/Cookies.ts +2 -102
- package/src/unstable/http/FetchHttpClient.ts +1 -1
- package/src/unstable/http/FindMyWay/internal/router.ts +139 -33
- package/src/unstable/http/FindMyWay.ts +15 -5
- package/src/unstable/http/Headers.ts +3 -48
- package/src/unstable/http/HttpBody.ts +107 -36
- package/src/unstable/http/HttpClient.ts +41 -30
- package/src/unstable/http/HttpClientRequest.ts +32 -18
- package/src/unstable/http/HttpClientResponse.ts +16 -3
- package/src/unstable/http/HttpEffect.ts +145 -73
- package/src/unstable/http/HttpIncomingMessage.ts +4 -4
- package/src/unstable/http/HttpMiddleware.ts +43 -24
- package/src/unstable/http/HttpPlatform.ts +62 -20
- package/src/unstable/http/HttpRouter.ts +27 -16
- package/src/unstable/http/HttpServer.ts +18 -57
- package/src/unstable/http/HttpServerRequest.ts +17 -15
- package/src/unstable/http/HttpServerRespondable.ts +1 -1
- package/src/unstable/http/HttpServerResponse.ts +49 -40
- package/src/unstable/http/HttpStaticServer.ts +30 -28
- package/src/unstable/http/Mime.ts +76 -0
- package/src/unstable/http/Multipart.ts +35 -18
- package/src/unstable/http/MultipartParser/internal/multipart.ts +10 -3
- package/src/unstable/http/MultipartParser.ts +4 -3
- package/src/unstable/http/UrlParams.ts +3 -161
- package/src/unstable/http/index.ts +5 -0
- package/src/unstable/http/internal/compression.ts +11 -12
- package/src/unstable/http/internal/headers.ts +7 -0
- package/src/unstable/http/internal/httpBody.ts +9 -0
- package/src/unstable/http/internal/mimeTypes.ts +395 -0
- package/src/unstable/httpapi/HttpApiBuilder.ts +52 -6
- package/src/unstable/httpapi/HttpApiClient.ts +44 -24
- package/src/unstable/httpapi/HttpApiEndpoint.ts +24 -11
- package/src/unstable/httpapi/HttpApiError.ts +3 -1
- package/src/unstable/httpapi/HttpApiMiddleware.ts +7 -5
- package/src/unstable/httpapi/HttpApiSchema.ts +14 -7
- package/src/unstable/httpapi/HttpApiTest.ts +6 -1
- package/src/unstable/httpapi/OpenApi.ts +32 -22
- package/src/unstable/net/IpInterface.ts +242 -0
- package/src/unstable/net/IpNetwork.ts +357 -0
- package/src/unstable/net/NetAddress.ts +1271 -0
- package/src/unstable/net/index.ts +20 -0
- package/src/unstable/observability/OtlpExporter.ts +5 -6
- package/src/unstable/observability/OtlpLogger.ts +9 -9
- package/src/unstable/observability/OtlpMetrics.ts +9 -8
- package/src/unstable/observability/OtlpResource.ts +5 -4
- package/src/unstable/observability/OtlpTracer.ts +103 -81
- package/src/unstable/observability/internal/otlpEnv.ts +10 -13
- package/src/unstable/persistence/PersistedCache.ts +1 -1
- package/src/unstable/persistence/PersistedQueue.ts +1100 -291
- package/src/unstable/persistence/RateLimiter.ts +64 -58
- package/src/unstable/process/ChildProcess.ts +15 -4
- package/src/unstable/process/ChildProcessSpawner.ts +1 -1
- package/src/unstable/reactivity/Atom.ts +6 -3
- package/src/unstable/reactivity/AtomHttpApi.ts +21 -10
- package/src/unstable/reactivity/AtomRegistry.ts +2 -4
- package/src/unstable/reactivity/AtomRpc.ts +6 -5
- package/src/unstable/reactivity/Hydration.ts +26 -7
- package/src/unstable/reactivity/Reactivity.ts +49 -36
- package/src/unstable/rpc/RpcClient.ts +62 -59
- package/src/unstable/rpc/RpcMessage.ts +3 -1
- package/src/unstable/rpc/RpcMiddleware.ts +7 -5
- package/src/unstable/rpc/RpcSerialization.ts +27 -117
- package/src/unstable/rpc/RpcServer.ts +143 -80
- package/src/unstable/schema/Model.ts +8 -7
- package/src/unstable/schema/VariantSchema.ts +3 -0
- package/src/unstable/socket/Socket.ts +714 -383
- package/src/unstable/socket/SocketServer.ts +5 -35
- package/src/unstable/sql/SqlClient.ts +42 -7
- package/src/unstable/sql/SqlConnection.ts +18 -0
- package/src/unstable/sql/SqlModel.ts +1 -1
- package/src/unstable/sql/Statement.ts +46 -20
- package/src/unstable/workers/Transferable.ts +1 -1
- package/src/unstable/workers/Worker.ts +3 -1
- package/src/unstable/workflow/Activity.ts +20 -9
- package/src/unstable/workflow/DurableClock.ts +1 -1
- package/src/unstable/workflow/DurableDeferred.ts +6 -0
- package/src/unstable/workflow/DurableQueue.ts +8 -0
- package/src/unstable/workflow/Workflow.ts +105 -28
- package/src/unstable/workflow/WorkflowEngine.ts +22 -0
- package/dist/internal/schema/schema.d.ts.map +0 -1
- package/dist/internal/schema/schema.js.map +0 -1
- package/dist/internal/schema/toArbitrary.d.ts +0 -2
- package/dist/internal/schema/toArbitrary.d.ts.map +0 -1
- package/dist/internal/schema/toArbitrary.js +0 -705
- package/dist/internal/schema/toArbitrary.js.map +0 -1
- package/dist/testing/FastCheck.d.ts +0 -90
- package/dist/testing/FastCheck.d.ts.map +0 -1
- package/dist/testing/FastCheck.js +0 -90
- package/dist/testing/FastCheck.js.map +0 -1
- package/dist/unstable/encoding/Msgpack.d.ts +0 -185
- package/dist/unstable/encoding/Msgpack.d.ts.map +0 -1
- package/dist/unstable/encoding/Msgpack.js +0 -227
- package/dist/unstable/encoding/Msgpack.js.map +0 -1
- package/src/internal/schema/toArbitrary.ts +0 -843
- package/src/testing/FastCheck.ts +0 -90
- package/src/unstable/encoding/Msgpack.ts +0 -432
- /package/dist/internal/{schema → arbitrary}/schema.d.ts +0 -0
|
@@ -38,17 +38,8 @@ import { CurrentSpanTransformer } from "./Telemetry.ts"
|
|
|
38
38
|
import type * as Tool from "./Tool.ts"
|
|
39
39
|
import * as Toolkit from "./Toolkit.ts"
|
|
40
40
|
|
|
41
|
-
// =============================================================================
|
|
42
|
-
// Service Definition
|
|
43
|
-
// =============================================================================
|
|
44
|
-
|
|
45
41
|
/**
|
|
46
|
-
* Service
|
|
47
|
-
*
|
|
48
|
-
* **When to use**
|
|
49
|
-
*
|
|
50
|
-
* Use to access or provide text generation, streaming generation, structured
|
|
51
|
-
* output, and tool-calling capabilities through the Effect context.
|
|
42
|
+
* Service key for text generation, structured output, and tool calls.
|
|
52
43
|
*
|
|
53
44
|
* **Example** (Accessing the language model service)
|
|
54
45
|
*
|
|
@@ -82,17 +73,35 @@ import * as Toolkit from "./Toolkit.ts"
|
|
|
82
73
|
* @category services
|
|
83
74
|
* @since 4.0.0
|
|
84
75
|
*/
|
|
85
|
-
export
|
|
76
|
+
export const LanguageModel: Context.Service<LanguageModel, LanguageModel> = Context.Service(
|
|
86
77
|
"effect/unstable/ai/LanguageModel"
|
|
87
|
-
)
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Brand type for `LanguageModel`.
|
|
82
|
+
*
|
|
83
|
+
* @category type IDs
|
|
84
|
+
* @since 4.0.0
|
|
85
|
+
*/
|
|
86
|
+
export type TypeId = "~effect/ai/LanguageModel"
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Brand for `LanguageModel` implementations.
|
|
90
|
+
*
|
|
91
|
+
* @category type IDs
|
|
92
|
+
* @since 4.0.0
|
|
93
|
+
*/
|
|
94
|
+
export const TypeId: TypeId = "~effect/ai/LanguageModel"
|
|
88
95
|
|
|
89
96
|
/**
|
|
90
|
-
*
|
|
97
|
+
* Text generation, streaming, and structured output operations.
|
|
91
98
|
*
|
|
92
99
|
* @category models
|
|
93
100
|
* @since 4.0.0
|
|
94
101
|
*/
|
|
95
|
-
export interface
|
|
102
|
+
export interface LanguageModel {
|
|
103
|
+
readonly [TypeId]: TypeId
|
|
104
|
+
|
|
96
105
|
/**
|
|
97
106
|
* Generate text using the language model.
|
|
98
107
|
*/
|
|
@@ -115,7 +124,7 @@ export interface Service {
|
|
|
115
124
|
>(
|
|
116
125
|
options: Options & GenerateTextOptions<Tools> & { readonly toolkit: ToolkitInput<Tools> }
|
|
117
126
|
): Effect.Effect<
|
|
118
|
-
GenerateTextResponse<Tools,
|
|
127
|
+
GenerateTextResponse<Tools, ExtractToolParametersMode<Options>>,
|
|
119
128
|
ExtractError<Options>,
|
|
120
129
|
ExtractServices<Options>
|
|
121
130
|
>
|
|
@@ -127,7 +136,7 @@ export interface Service {
|
|
|
127
136
|
>(
|
|
128
137
|
options: Options & GenerateTextOptions<ExtractTools<Options>> & { readonly toolkit: Options["toolkit"] }
|
|
129
138
|
): Effect.Effect<
|
|
130
|
-
GenerateTextResponse<ExtractTools<Options>,
|
|
139
|
+
GenerateTextResponse<ExtractTools<Options>, ExtractToolParametersMode<Options>>,
|
|
131
140
|
ExtractError<Options>,
|
|
132
141
|
ExtractServices<Options>
|
|
133
142
|
>
|
|
@@ -147,7 +156,7 @@ export interface Service {
|
|
|
147
156
|
>(
|
|
148
157
|
options: Options & GenerateObjectOptions<Tools, StructuredOutputSchema>
|
|
149
158
|
) => Effect.Effect<
|
|
150
|
-
GenerateObjectResponse<Tools, StructuredOutputSchema["Type"],
|
|
159
|
+
GenerateObjectResponse<Tools, StructuredOutputSchema["Type"], ExtractToolParametersMode<Options>>,
|
|
151
160
|
ExtractError<Options>,
|
|
152
161
|
ExtractServices<Options> | StructuredOutputSchema["DecodingServices"]
|
|
153
162
|
>
|
|
@@ -174,7 +183,7 @@ export interface Service {
|
|
|
174
183
|
>(
|
|
175
184
|
options: Options & GenerateTextOptions<Tools> & { readonly toolkit: ToolkitInput<Tools> }
|
|
176
185
|
): Stream.Stream<
|
|
177
|
-
Response.StreamPart<Tools,
|
|
186
|
+
Response.StreamPart<Tools, ExtractToolParametersMode<Options>>,
|
|
178
187
|
ExtractError<Options>,
|
|
179
188
|
ExtractServices<Options>
|
|
180
189
|
>
|
|
@@ -186,7 +195,7 @@ export interface Service {
|
|
|
186
195
|
>(
|
|
187
196
|
options: Options & GenerateTextOptions<ExtractTools<Options>> & { readonly toolkit: Options["toolkit"] }
|
|
188
197
|
): Stream.Stream<
|
|
189
|
-
Response.StreamPart<ExtractTools<Options>,
|
|
198
|
+
Response.StreamPart<ExtractTools<Options>, ExtractToolParametersMode<Options>>,
|
|
190
199
|
ExtractError<Options>,
|
|
191
200
|
ExtractServices<Options>
|
|
192
201
|
>
|
|
@@ -366,11 +375,11 @@ export type ToolChoice<ToolName extends string> =
|
|
|
366
375
|
*/
|
|
367
376
|
export class GenerateTextResponse<
|
|
368
377
|
Tools extends Record<string, Tool.Any>,
|
|
369
|
-
|
|
378
|
+
ParametersMode extends Response.ToolParametersMode = "decoded"
|
|
370
379
|
> {
|
|
371
|
-
readonly content: Array<Response.Part<Tools,
|
|
380
|
+
readonly content: Array<Response.Part<Tools, ParametersMode>>
|
|
372
381
|
|
|
373
|
-
constructor(content: Array<Response.Part<Tools,
|
|
382
|
+
constructor(content: Array<Response.Part<Tools, ParametersMode>>) {
|
|
374
383
|
this.content = content
|
|
375
384
|
}
|
|
376
385
|
|
|
@@ -410,7 +419,7 @@ export class GenerateTextResponse<
|
|
|
410
419
|
/**
|
|
411
420
|
* Returns all tool call parts from the response.
|
|
412
421
|
*/
|
|
413
|
-
get toolCalls(): Array<Response.ToolCallParts<Tools,
|
|
422
|
+
get toolCalls(): Array<Response.ToolCallParts<Tools, ParametersMode>> {
|
|
414
423
|
return this.content.filter((part) => part.type === "tool-call")
|
|
415
424
|
}
|
|
416
425
|
|
|
@@ -476,14 +485,14 @@ export class GenerateTextResponse<
|
|
|
476
485
|
export class GenerateObjectResponse<
|
|
477
486
|
Tools extends Record<string, Tool.Any>,
|
|
478
487
|
A,
|
|
479
|
-
|
|
480
|
-
> extends GenerateTextResponse<Tools,
|
|
488
|
+
ParametersMode extends Response.ToolParametersMode = "decoded"
|
|
489
|
+
> extends GenerateTextResponse<Tools, ParametersMode> {
|
|
481
490
|
/**
|
|
482
491
|
* The parsed structured object that conforms to the provided schema.
|
|
483
492
|
*/
|
|
484
493
|
readonly value: A
|
|
485
494
|
|
|
486
|
-
constructor(value: A, content: Array<Response.Part<Tools,
|
|
495
|
+
constructor(value: A, content: Array<Response.Part<Tools, ParametersMode>>) {
|
|
487
496
|
super(content)
|
|
488
497
|
this.value = value
|
|
489
498
|
}
|
|
@@ -558,16 +567,16 @@ export type ExtractTools<Options> = Options extends {
|
|
|
558
567
|
: {}
|
|
559
568
|
|
|
560
569
|
/**
|
|
561
|
-
*
|
|
562
|
-
*
|
|
570
|
+
* Resolves to `"encoded"` when tool call resolution is
|
|
571
|
+
* disabled, otherwise `"opaque"`.
|
|
563
572
|
*
|
|
564
573
|
* @category utility types
|
|
565
574
|
* @since 4.0.0
|
|
566
575
|
*/
|
|
567
|
-
export type
|
|
576
|
+
export type ExtractToolParametersMode<Options> = Options extends {
|
|
568
577
|
readonly disableToolCallResolution: true
|
|
569
|
-
} ?
|
|
570
|
-
:
|
|
578
|
+
} ? "encoded"
|
|
579
|
+
: "opaque"
|
|
571
580
|
|
|
572
581
|
type ExtractErrorFromToolkitOption<ToolkitValue, DisableToolCallResolution extends boolean> = ToolkitValue extends
|
|
573
582
|
Toolkit.WithHandler<infer Tools> ?
|
|
@@ -583,6 +592,7 @@ type ExtractErrorFromToolkitOption<ToolkitValue, DisableToolCallResolution exten
|
|
|
583
592
|
type ExtractServicesFromToolkitOption<ToolkitValue> = ToolkitValue extends Toolkit.WithHandler<infer Tools> ?
|
|
584
593
|
| Tool.HandlerServices<Tools[keyof Tools]>
|
|
585
594
|
| Tool.ResultDecodingServices<Tools[keyof Tools]>
|
|
595
|
+
| Tool.ParametersEncodingServices<Tools[keyof Tools]>
|
|
586
596
|
: ToolkitValue extends Effect.Effect<
|
|
587
597
|
Toolkit.WithHandler<infer Tools>,
|
|
588
598
|
infer _E,
|
|
@@ -590,9 +600,22 @@ type ExtractServicesFromToolkitOption<ToolkitValue> = ToolkitValue extends Toolk
|
|
|
590
600
|
> ?
|
|
591
601
|
| Tool.HandlerServices<Tools[keyof Tools]>
|
|
592
602
|
| Tool.ResultDecodingServices<Tools[keyof Tools]>
|
|
603
|
+
| Tool.ParametersEncodingServices<Tools[keyof Tools]>
|
|
593
604
|
| R
|
|
594
605
|
: never
|
|
595
606
|
|
|
607
|
+
// Disabled resolution needs parameter encoding but not handlers or result
|
|
608
|
+
// decoding. Match Toolkit before Effect to omit its handler requirement.
|
|
609
|
+
type ExtractDisabledResolutionServicesFromToolkitOption<ToolkitValue> = ToolkitValue extends
|
|
610
|
+
Toolkit.WithHandler<infer Tools> ? Tool.ParametersEncodingServices<Tools[keyof Tools]>
|
|
611
|
+
: ToolkitValue extends Toolkit.Toolkit<infer Tools> ? Tool.ParametersEncodingServices<Tools[keyof Tools]>
|
|
612
|
+
: ToolkitValue extends Effect.Effect<
|
|
613
|
+
Toolkit.WithHandler<infer Tools>,
|
|
614
|
+
infer _E,
|
|
615
|
+
infer R
|
|
616
|
+
> ? Tool.ParametersEncodingServices<Tools[keyof Tools]> | R
|
|
617
|
+
: never
|
|
618
|
+
|
|
596
619
|
type ExtractToolkitResolutionError<ToolkitValue> = ToolkitValue extends Effect.Effect<
|
|
597
620
|
Toolkit.WithHandler<infer _Tools>,
|
|
598
621
|
infer E,
|
|
@@ -642,10 +665,13 @@ export type ExtractError<Options> = Options extends {
|
|
|
642
665
|
*/
|
|
643
666
|
export type ExtractServices<Options> = Options extends {
|
|
644
667
|
readonly disableToolCallResolution: true
|
|
645
|
-
} ?
|
|
668
|
+
} ? Options extends {
|
|
669
|
+
readonly toolkit: infer ToolkitValue
|
|
670
|
+
} ? ExtractDisabledResolutionServicesFromToolkitOption<Exclude<ToolkitValue, undefined>>
|
|
671
|
+
: never
|
|
646
672
|
: Options extends {
|
|
647
|
-
readonly toolkit: infer
|
|
648
|
-
} ? ExtractServicesFromToolkitOption<Exclude<
|
|
673
|
+
readonly toolkit: infer ToolkitValue
|
|
674
|
+
} ? ExtractServicesFromToolkitOption<Exclude<ToolkitValue, undefined>>
|
|
649
675
|
: never
|
|
650
676
|
|
|
651
677
|
// =============================================================================
|
|
@@ -754,7 +780,7 @@ export interface ProviderOptions {
|
|
|
754
780
|
* response format prepared in `ProviderOptions`; invalid parts fail decoding as
|
|
755
781
|
* `AiError.InvalidOutputError`.
|
|
756
782
|
*
|
|
757
|
-
* @see {@link
|
|
783
|
+
* @see {@link LanguageModel} for the returned service contract
|
|
758
784
|
* @see {@link ProviderOptions} for the normalized options passed to provider hooks
|
|
759
785
|
* @see {@link defaultCodecTransformer} for the default structured-output schema transformer
|
|
760
786
|
*
|
|
@@ -781,7 +807,7 @@ export const make: (params: {
|
|
|
781
807
|
* for structured output generation.
|
|
782
808
|
*/
|
|
783
809
|
readonly codecTransformer?: CodecTransformer | undefined
|
|
784
|
-
}) => Effect.Effect<
|
|
810
|
+
}) => Effect.Effect<LanguageModel> = Effect.fnUntraced(function*(params) {
|
|
785
811
|
const codecTransformer = params.codecTransformer ?? defaultCodecTransformer
|
|
786
812
|
|
|
787
813
|
const parentSpanTransformer = yield* Effect.serviceOption(
|
|
@@ -860,7 +886,7 @@ export const make: (params: {
|
|
|
860
886
|
>(
|
|
861
887
|
options: Options & GenerateObjectOptions<Tools, StructuredOutputSchema>
|
|
862
888
|
): Effect.Effect<
|
|
863
|
-
GenerateObjectResponse<Tools, StructuredOutputSchema["Type"]
|
|
889
|
+
GenerateObjectResponse<Tools, StructuredOutputSchema["Type"], ExtractToolParametersMode<Options>>,
|
|
864
890
|
ExtractError<Options>,
|
|
865
891
|
ExtractServices<Options> | StructuredOutputSchema["DecodingServices"]
|
|
866
892
|
> => {
|
|
@@ -1122,6 +1148,7 @@ export const make: (params: {
|
|
|
1122
1148
|
}
|
|
1123
1149
|
|
|
1124
1150
|
// Pre-resolve pending tool approvals before calling the LLM
|
|
1151
|
+
let preResolvedResults: Array<Response.ToolResultPart<string, unknown, unknown>> = []
|
|
1125
1152
|
if (hasPendingApprovals) {
|
|
1126
1153
|
for (const approval of approved) {
|
|
1127
1154
|
if (approval.toolCall && !toolkit.tools[approval.toolCall.name]) {
|
|
@@ -1142,12 +1169,12 @@ export const make: (params: {
|
|
|
1142
1169
|
concurrency
|
|
1143
1170
|
)
|
|
1144
1171
|
const deniedResults = createDenialResults(denied)
|
|
1145
|
-
|
|
1172
|
+
preResolvedResults = [...approvedResults, ...deniedResults]
|
|
1146
1173
|
|
|
1147
1174
|
if (preResolvedResults.length > 0) {
|
|
1148
1175
|
providerOptions.prompt = Prompt.fromMessages([
|
|
1149
1176
|
...providerOptions.prompt.content,
|
|
1150
|
-
Prompt.
|
|
1177
|
+
...Prompt.fromResponseParts(preResolvedResults).content
|
|
1151
1178
|
])
|
|
1152
1179
|
}
|
|
1153
1180
|
}
|
|
@@ -1181,10 +1208,10 @@ export const make: (params: {
|
|
|
1181
1208
|
}
|
|
1182
1209
|
}
|
|
1183
1210
|
|
|
1184
|
-
// Construct the response schema with the tools from the toolkit, keeping
|
|
1185
|
-
// tool call parameters encoded when tool call resolution is disabled
|
|
1186
1211
|
const ResponseSchema = Schema.mutable(Schema.Array(Response.Part(
|
|
1187
|
-
options.disableToolCallResolution === true
|
|
1212
|
+
options.disableToolCallResolution === true
|
|
1213
|
+
? makeToolkitWithEncodedParameters(toolkit)
|
|
1214
|
+
: makeToolkitWithOpaqueParameters(toolkit)
|
|
1188
1215
|
)))
|
|
1189
1216
|
|
|
1190
1217
|
// If tool call resolution is disabled, return the response without
|
|
@@ -1198,27 +1225,40 @@ export const make: (params: {
|
|
|
1198
1225
|
tracker.markParts(providerOptions.prompt.content, responseMetadata.id)
|
|
1199
1226
|
}
|
|
1200
1227
|
}
|
|
1201
|
-
return content as Array<Response.Part<Tools>>
|
|
1228
|
+
return [...preResolvedResults, ...content] as Array<Response.Part<Tools>>
|
|
1202
1229
|
}
|
|
1203
1230
|
|
|
1204
1231
|
const rawContent = yield* generateWithNonIncrementalFallback()
|
|
1205
1232
|
|
|
1206
|
-
//
|
|
1207
|
-
const toolResults = yield* resolveToolCalls(
|
|
1208
|
-
rawContent,
|
|
1209
|
-
toolkit,
|
|
1210
|
-
providerOptions.prompt.content,
|
|
1211
|
-
concurrency
|
|
1212
|
-
).pipe(
|
|
1213
|
-
Stream.filter(
|
|
1214
|
-
(result) =>
|
|
1215
|
-
result.type === "tool-approval-request" ||
|
|
1216
|
-
result.preliminary === false
|
|
1217
|
-
),
|
|
1218
|
-
Stream.runCollect
|
|
1219
|
-
)
|
|
1220
|
-
|
|
1233
|
+
// Validate before running tool handlers.
|
|
1221
1234
|
const content = yield* Schema.decodeEffect(ResponseSchema)(rawContent)
|
|
1235
|
+
yield* validateProviderExecutedToolCalls(toolkit, rawContent)
|
|
1236
|
+
|
|
1237
|
+
// Resolve the generated tool calls. When the finish reason indicates an
|
|
1238
|
+
// incomplete response, handlers do not run and every executable tool call
|
|
1239
|
+
// gets a synthesized failure result instead.
|
|
1240
|
+
const incompleteFinishReason = findIncompleteFinishReason(rawContent)
|
|
1241
|
+
const toolResults = incompleteFinishReason !== undefined
|
|
1242
|
+
? rawContent
|
|
1243
|
+
.filter((part): part is Response.ToolCallPartEncoded =>
|
|
1244
|
+
part.type === "tool-call" &&
|
|
1245
|
+
part.providerExecuted !== true &&
|
|
1246
|
+
toolkit.tools[part.name] !== undefined
|
|
1247
|
+
)
|
|
1248
|
+
.map((part) => makeInterruptedToolResult(part, incompleteFinishReason) as ToolResolutionResult<Tools>)
|
|
1249
|
+
: yield* resolveToolCalls(
|
|
1250
|
+
rawContent,
|
|
1251
|
+
toolkit,
|
|
1252
|
+
providerOptions.prompt.content,
|
|
1253
|
+
concurrency
|
|
1254
|
+
).pipe(
|
|
1255
|
+
Stream.filter(
|
|
1256
|
+
(result) =>
|
|
1257
|
+
result.type === "tool-approval-request" ||
|
|
1258
|
+
result.preliminary === false
|
|
1259
|
+
),
|
|
1260
|
+
Stream.runCollect
|
|
1261
|
+
)
|
|
1222
1262
|
|
|
1223
1263
|
if (tracker) {
|
|
1224
1264
|
const responseMetadata = content.find((part) => part.type === "response-metadata")
|
|
@@ -1227,8 +1267,8 @@ export const make: (params: {
|
|
|
1227
1267
|
}
|
|
1228
1268
|
}
|
|
1229
1269
|
|
|
1230
|
-
//
|
|
1231
|
-
return [...content, ...toolResults] as Array<Response.Part<Tools>>
|
|
1270
|
+
// Retain pre-resolved results so Chat can recognize completed approvals on later turns.
|
|
1271
|
+
return [...preResolvedResults, ...content, ...toolResults] as Array<Response.Part<Tools>>
|
|
1232
1272
|
})
|
|
1233
1273
|
|
|
1234
1274
|
const streamContent: <
|
|
@@ -1272,9 +1312,21 @@ export const make: (params: {
|
|
|
1272
1312
|
incrementalPrompt: undefined,
|
|
1273
1313
|
previousResponseId: undefined
|
|
1274
1314
|
}
|
|
1315
|
+
// Only response parts with content count as emitted - a lone
|
|
1316
|
+
// response-metadata part must not disable the full-prompt fallback.
|
|
1317
|
+
let emitted = false
|
|
1275
1318
|
return requestOptions.incrementalPrompt
|
|
1276
1319
|
? params.streamText(requestOptions).pipe(
|
|
1277
|
-
Stream.
|
|
1320
|
+
Stream.tap((part) =>
|
|
1321
|
+
Effect.sync(() => {
|
|
1322
|
+
if (part.type !== "response-metadata") emitted = true
|
|
1323
|
+
})
|
|
1324
|
+
),
|
|
1325
|
+
Stream.catchReason(
|
|
1326
|
+
"AiError",
|
|
1327
|
+
"InvalidRequestError",
|
|
1328
|
+
(_, error) => emitted ? Stream.fail(error) : params.streamText(fallbackOptions)
|
|
1329
|
+
)
|
|
1278
1330
|
)
|
|
1279
1331
|
: params.streamText(requestOptions)
|
|
1280
1332
|
}
|
|
@@ -1408,15 +1460,14 @@ export const make: (params: {
|
|
|
1408
1460
|
if (preResolvedResults.length > 0) {
|
|
1409
1461
|
providerOptions.prompt = Prompt.fromMessages([
|
|
1410
1462
|
...providerOptions.prompt.content,
|
|
1411
|
-
Prompt.
|
|
1463
|
+
...Prompt.fromResponseParts(preResolvedResults).content
|
|
1412
1464
|
])
|
|
1413
1465
|
}
|
|
1414
1466
|
|
|
1415
1467
|
// Emit pre-resolved tool-results as stream parts so Chat.streamText
|
|
1416
1468
|
// persists them to history. This lets collectToolApprovals find them
|
|
1417
1469
|
// on subsequent rounds and skip the now-resolved approvals.
|
|
1418
|
-
//
|
|
1419
|
-
// createDenialResults), so it goes into both result and encodedResult.
|
|
1470
|
+
// Preserve the existing encoded result representation for streaming approvals.
|
|
1420
1471
|
for (const r of preResolvedResults) {
|
|
1421
1472
|
preResolvedStreamParts.push(
|
|
1422
1473
|
Response.makePart("tool-result", {
|
|
@@ -1424,8 +1475,8 @@ export const make: (params: {
|
|
|
1424
1475
|
name: r.name,
|
|
1425
1476
|
providerExecuted: false,
|
|
1426
1477
|
preliminary: false,
|
|
1427
|
-
result: r.
|
|
1428
|
-
encodedResult: r.
|
|
1478
|
+
result: r.encodedResult,
|
|
1479
|
+
encodedResult: r.encodedResult,
|
|
1429
1480
|
isFailure: r.isFailure
|
|
1430
1481
|
}) as Response.StreamPart<Tools>
|
|
1431
1482
|
)
|
|
@@ -1459,10 +1510,10 @@ export const make: (params: {
|
|
|
1459
1510
|
}
|
|
1460
1511
|
}
|
|
1461
1512
|
|
|
1462
|
-
// Construct the response schema with the tools from the toolkit, keeping
|
|
1463
|
-
// tool call parameters encoded when tool call resolution is disabled
|
|
1464
1513
|
const ResponseSchema = Schema.NonEmptyArray(Response.StreamPart(
|
|
1465
|
-
options.disableToolCallResolution === true
|
|
1514
|
+
options.disableToolCallResolution === true
|
|
1515
|
+
? makeToolkitWithEncodedParameters(toolkit)
|
|
1516
|
+
: makeToolkitWithOpaqueParameters(toolkit)
|
|
1466
1517
|
))
|
|
1467
1518
|
const decodeParts = Schema.decodeEffect(ResponseSchema)
|
|
1468
1519
|
|
|
@@ -1512,6 +1563,15 @@ export const make: (params: {
|
|
|
1512
1563
|
const toolCallSemaphore = concurrency === "unbounded"
|
|
1513
1564
|
? undefined
|
|
1514
1565
|
: yield* Semaphore.make(concurrency)
|
|
1566
|
+
// Tool calls that have been observed but not yet resolved with a final
|
|
1567
|
+
// result or approval request (id -> tool name)
|
|
1568
|
+
const pendingToolCalls = new Map<string, string>()
|
|
1569
|
+
// One-chunk lookahead buffer: a tool call's handler only starts once the
|
|
1570
|
+
// stream has moved past the call (the next chunk arrives, or the stream
|
|
1571
|
+
// ends with a complete finish). Providers emit a truncating finish
|
|
1572
|
+
// back-to-back with the last tool call, so this window is what lets an
|
|
1573
|
+
// incomplete finish prevent handlers from starting at all.
|
|
1574
|
+
const bufferedToolCalls: Array<Response.ToolCallPartEncoded> = []
|
|
1515
1575
|
|
|
1516
1576
|
// Helper function to handle tool calls with approval logic
|
|
1517
1577
|
const handleToolCall = Effect.fnUntraced(function*(part: Response.ToolCallPartEncoded) {
|
|
@@ -1531,7 +1591,8 @@ export const make: (params: {
|
|
|
1531
1591
|
approvalId,
|
|
1532
1592
|
toolCallId: part.id
|
|
1533
1593
|
}) as Response.StreamPart<Tools>
|
|
1534
|
-
|
|
1594
|
+
Queue.offerUnsafe(queue, approvalPart)
|
|
1595
|
+
pendingToolCalls.delete(part.id)
|
|
1535
1596
|
return
|
|
1536
1597
|
}
|
|
1537
1598
|
|
|
@@ -1544,15 +1605,36 @@ export const make: (params: {
|
|
|
1544
1605
|
providerExecuted: false,
|
|
1545
1606
|
...result
|
|
1546
1607
|
}) as Response.StreamPart<Tools>
|
|
1547
|
-
return
|
|
1608
|
+
return Effect.sync(() => {
|
|
1609
|
+
Queue.offerUnsafe(queue, toolResultPart)
|
|
1610
|
+
if (result.preliminary !== true) {
|
|
1611
|
+
pendingToolCalls.delete(part.id)
|
|
1612
|
+
}
|
|
1613
|
+
})
|
|
1548
1614
|
})
|
|
1549
1615
|
)
|
|
1550
1616
|
})
|
|
1551
1617
|
|
|
1618
|
+
const forkBufferedToolCalls = Effect.suspend(() => {
|
|
1619
|
+
if (bufferedToolCalls.length === 0) return Effect.void
|
|
1620
|
+
return Effect.forEach(
|
|
1621
|
+
bufferedToolCalls.splice(0),
|
|
1622
|
+
(part) => {
|
|
1623
|
+
const effect = handleToolCall(part)
|
|
1624
|
+
return FiberSet.run(
|
|
1625
|
+
toolCallFibers,
|
|
1626
|
+
toolCallSemaphore ? toolCallSemaphore.withPermit(effect) : effect
|
|
1627
|
+
)
|
|
1628
|
+
},
|
|
1629
|
+
{ discard: true }
|
|
1630
|
+
)
|
|
1631
|
+
})
|
|
1632
|
+
|
|
1552
1633
|
yield* streamWithNonIncrementalFallback().pipe(
|
|
1553
1634
|
Stream.runForEachArray(
|
|
1554
1635
|
Effect.fnUntraced(function*(chunk) {
|
|
1555
|
-
const parts = yield* decodeParts(chunk)
|
|
1636
|
+
const parts = (yield* decodeParts(chunk)) as ReadonlyArray<Response.StreamPart<Tools>>
|
|
1637
|
+
yield* validateProviderExecutedToolCalls(toolkit, chunk)
|
|
1556
1638
|
if (tracker) {
|
|
1557
1639
|
for (const part of parts) {
|
|
1558
1640
|
if (part.type === "response-metadata" && part.id) {
|
|
@@ -1573,14 +1655,22 @@ export const make: (params: {
|
|
|
1573
1655
|
if (immediateParts.length > 0) {
|
|
1574
1656
|
yield* Queue.offerAll(queue, immediateParts)
|
|
1575
1657
|
}
|
|
1576
|
-
//
|
|
1658
|
+
// The stream has moved past any previously buffered tool calls, so
|
|
1659
|
+
// start their handlers now - unless a finish part (possibly
|
|
1660
|
+
// recorded just above) reports an incomplete response, in which
|
|
1661
|
+
// case they stay pending and resolve with synthesized failure
|
|
1662
|
+
// results.
|
|
1663
|
+
if (findIncompleteFinishReason(deferredFinishParts) === undefined) {
|
|
1664
|
+
yield* forkBufferedToolCalls
|
|
1665
|
+
}
|
|
1666
|
+
// Buffer this chunk's tool calls until the next chunk or the end of
|
|
1667
|
+
// the stream - use the raw chunk for encoded params
|
|
1577
1668
|
for (const part of chunk) {
|
|
1578
1669
|
if (part.type === "tool-call" && part.providerExecuted !== true) {
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
)
|
|
1670
|
+
if (toolkit.tools[part.name] !== undefined) {
|
|
1671
|
+
pendingToolCalls.set(part.id, part.name)
|
|
1672
|
+
}
|
|
1673
|
+
bufferedToolCalls.push(part)
|
|
1584
1674
|
}
|
|
1585
1675
|
}
|
|
1586
1676
|
})
|
|
@@ -1588,11 +1678,31 @@ export const make: (params: {
|
|
|
1588
1678
|
// Wait for all tool calls to either:
|
|
1589
1679
|
// - complete (FiberSet.awaitEmpty)
|
|
1590
1680
|
// - fail (FiberSet.join)
|
|
1681
|
+
// If the provider reported an incomplete finish, interrupt any handlers
|
|
1682
|
+
// that are still running instead and emit synthesized failure results
|
|
1683
|
+
// for the tool calls left without one, so the response leaves no tool
|
|
1684
|
+
// call unanswered.
|
|
1591
1685
|
Effect.andThen(
|
|
1592
|
-
Effect.
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1686
|
+
Effect.suspend(() => {
|
|
1687
|
+
const incompleteFinishReason = findIncompleteFinishReason(deferredFinishParts)
|
|
1688
|
+
if (incompleteFinishReason === undefined) {
|
|
1689
|
+
return forkBufferedToolCalls.pipe(
|
|
1690
|
+
Effect.andThen(Effect.raceFirst(
|
|
1691
|
+
FiberSet.join(toolCallFibers),
|
|
1692
|
+
FiberSet.awaitEmpty(toolCallFibers)
|
|
1693
|
+
))
|
|
1694
|
+
)
|
|
1695
|
+
}
|
|
1696
|
+
return FiberSet.clear(toolCallFibers).pipe(
|
|
1697
|
+
Effect.andThen(Effect.suspend(() =>
|
|
1698
|
+
Queue.offerAll(
|
|
1699
|
+
queue,
|
|
1700
|
+
Array.from(pendingToolCalls, ([id, name]) =>
|
|
1701
|
+
makeInterruptedToolResult({ id, name }, incompleteFinishReason) as Response.StreamPart<Tools>)
|
|
1702
|
+
)
|
|
1703
|
+
))
|
|
1704
|
+
)
|
|
1705
|
+
})
|
|
1596
1706
|
),
|
|
1597
1707
|
Effect.andThen(
|
|
1598
1708
|
Queue.offerAll(queue, deferredFinishParts)
|
|
@@ -1606,11 +1716,12 @@ export const make: (params: {
|
|
|
1606
1716
|
return Stream.fromQueue(queue)
|
|
1607
1717
|
}) as any
|
|
1608
1718
|
|
|
1609
|
-
return {
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1719
|
+
return LanguageModel.of({
|
|
1720
|
+
[TypeId]: TypeId,
|
|
1721
|
+
generateText: generateText as LanguageModel["generateText"],
|
|
1722
|
+
generateObject: generateObject as LanguageModel["generateObject"],
|
|
1723
|
+
streamText: streamText as LanguageModel["streamText"]
|
|
1724
|
+
})
|
|
1614
1725
|
})
|
|
1615
1726
|
|
|
1616
1727
|
// =============================================================================
|
|
@@ -1682,7 +1793,7 @@ export const generateText: {
|
|
|
1682
1793
|
>(
|
|
1683
1794
|
options: Options & GenerateTextOptions<Tools> & { readonly toolkit: ToolkitInput<Tools> }
|
|
1684
1795
|
): Effect.Effect<
|
|
1685
|
-
GenerateTextResponse<Tools,
|
|
1796
|
+
GenerateTextResponse<Tools, ExtractToolParametersMode<Options>>,
|
|
1686
1797
|
ExtractError<Options>,
|
|
1687
1798
|
LanguageModel | ExtractServices<Options>
|
|
1688
1799
|
>
|
|
@@ -1694,12 +1805,12 @@ export const generateText: {
|
|
|
1694
1805
|
>(
|
|
1695
1806
|
options: Options & GenerateTextOptions<ExtractTools<Options>> & { readonly toolkit: Options["toolkit"] }
|
|
1696
1807
|
): Effect.Effect<
|
|
1697
|
-
GenerateTextResponse<ExtractTools<Options>,
|
|
1808
|
+
GenerateTextResponse<ExtractTools<Options>, ExtractToolParametersMode<Options>>,
|
|
1698
1809
|
ExtractError<Options>,
|
|
1699
1810
|
ExtractServices<Options> | LanguageModel
|
|
1700
1811
|
>
|
|
1701
1812
|
} = (options: GenerateTextOptions<any>): Effect.Effect<
|
|
1702
|
-
GenerateTextResponse<any>,
|
|
1813
|
+
GenerateTextResponse<any, any>,
|
|
1703
1814
|
AiError.AiError,
|
|
1704
1815
|
LanguageModel
|
|
1705
1816
|
> =>
|
|
@@ -1763,7 +1874,7 @@ export const generateObject = <
|
|
|
1763
1874
|
GenerateObjectResponse<
|
|
1764
1875
|
ExtractTools<Options>,
|
|
1765
1876
|
StructuredOutputSchema["Type"],
|
|
1766
|
-
|
|
1877
|
+
ExtractToolParametersMode<Options>
|
|
1767
1878
|
>,
|
|
1768
1879
|
ExtractError<Options>,
|
|
1769
1880
|
ExtractServices<Options> | StructuredOutputSchema["DecodingServices"] | LanguageModel
|
|
@@ -1830,7 +1941,7 @@ export const streamText: {
|
|
|
1830
1941
|
>(
|
|
1831
1942
|
options: Options & GenerateTextOptions<Tools> & { readonly toolkit: ToolkitInput<Tools> }
|
|
1832
1943
|
): Stream.Stream<
|
|
1833
|
-
Response.StreamPart<Tools,
|
|
1944
|
+
Response.StreamPart<Tools, ExtractToolParametersMode<Options>>,
|
|
1834
1945
|
ExtractError<Options>,
|
|
1835
1946
|
ExtractServices<Options> | LanguageModel
|
|
1836
1947
|
>
|
|
@@ -1842,7 +1953,7 @@ export const streamText: {
|
|
|
1842
1953
|
>(
|
|
1843
1954
|
options: Options & GenerateTextOptions<ExtractTools<Options>> & { readonly toolkit: Options["toolkit"] }
|
|
1844
1955
|
): Stream.Stream<
|
|
1845
|
-
Response.StreamPart<ExtractTools<Options>,
|
|
1956
|
+
Response.StreamPart<ExtractTools<Options>, ExtractToolParametersMode<Options>>,
|
|
1846
1957
|
ExtractError<Options>,
|
|
1847
1958
|
ExtractServices<Options> | LanguageModel
|
|
1848
1959
|
>
|
|
@@ -2033,7 +2144,7 @@ const executeApprovedToolCalls = <Tools extends Record<string, Tool.Any>>(
|
|
|
2033
2144
|
toolkit: Toolkit.WithHandler<Tools>,
|
|
2034
2145
|
concurrency: Concurrency
|
|
2035
2146
|
): Effect.Effect<
|
|
2036
|
-
Array<
|
|
2147
|
+
Array<Response.ToolResultPart<string, unknown, unknown>>,
|
|
2037
2148
|
Tool.HandlerError<Tools[keyof Tools]> | AiError.AiError,
|
|
2038
2149
|
Tool.HandlerServices<Tools[keyof Tools]>
|
|
2039
2150
|
> => {
|
|
@@ -2074,11 +2185,10 @@ const executeApprovedToolCalls = <Tools extends Record<string, Tool.Any>>(
|
|
|
2074
2185
|
)
|
|
2075
2186
|
)
|
|
2076
2187
|
|
|
2077
|
-
return
|
|
2188
|
+
return Response.makePart("tool-result", {
|
|
2078
2189
|
id: approval.toolCallId,
|
|
2079
2190
|
name: toolCall.name,
|
|
2080
|
-
|
|
2081
|
-
result: terminalResult.encodedResult,
|
|
2191
|
+
...terminalResult,
|
|
2082
2192
|
providerExecuted: false
|
|
2083
2193
|
})
|
|
2084
2194
|
})
|
|
@@ -2090,16 +2200,18 @@ const executeApprovedToolCalls = <Tools extends Record<string, Tool.Any>>(
|
|
|
2090
2200
|
|
|
2091
2201
|
const createDenialResults = (
|
|
2092
2202
|
denials: ReadonlyArray<ApprovalResult>
|
|
2093
|
-
): ReadonlyArray<
|
|
2094
|
-
const results: Array<
|
|
2203
|
+
): ReadonlyArray<Response.ToolResultPart<string, unknown, unknown>> => {
|
|
2204
|
+
const results: Array<Response.ToolResultPart<string, unknown, unknown>> = []
|
|
2095
2205
|
for (const denial of denials) {
|
|
2096
2206
|
if (Predicate.isNotUndefined(denial.toolCall)) {
|
|
2097
2207
|
results.push(
|
|
2098
|
-
|
|
2208
|
+
Response.makePart("tool-result", {
|
|
2099
2209
|
id: denial.toolCallId,
|
|
2100
2210
|
name: denial.toolCall.name,
|
|
2101
2211
|
isFailure: true,
|
|
2102
2212
|
result: { type: "execution-denied", reason: denial.reason },
|
|
2213
|
+
encodedResult: { type: "execution-denied", reason: denial.reason },
|
|
2214
|
+
preliminary: false,
|
|
2103
2215
|
providerExecuted: false
|
|
2104
2216
|
})
|
|
2105
2217
|
)
|
|
@@ -2112,6 +2224,48 @@ const createDenialResults = (
|
|
|
2112
2224
|
// Tool Call Resolution
|
|
2113
2225
|
// =============================================================================
|
|
2114
2226
|
|
|
2227
|
+
// Finish reasons that indicate the provider completed the response. Anything
|
|
2228
|
+
// else (including "unknown", "other", and future reasons) fails safe and
|
|
2229
|
+
// prevents tool handlers from running.
|
|
2230
|
+
const completeFinishReasons: ReadonlyArray<Response.FinishReason> = ["stop", "tool-calls", "pause"]
|
|
2231
|
+
|
|
2232
|
+
const findIncompleteFinishReason = (
|
|
2233
|
+
content: ReadonlyArray<{ readonly type: string; readonly reason?: unknown }>
|
|
2234
|
+
): string | undefined => {
|
|
2235
|
+
for (const part of content) {
|
|
2236
|
+
if (
|
|
2237
|
+
part.type === "finish" &&
|
|
2238
|
+
!completeFinishReasons.includes(part.reason as Response.FinishReason)
|
|
2239
|
+
) {
|
|
2240
|
+
return typeof part.reason === "string" ? part.reason : "unknown"
|
|
2241
|
+
}
|
|
2242
|
+
}
|
|
2243
|
+
return undefined
|
|
2244
|
+
}
|
|
2245
|
+
|
|
2246
|
+
// Synthesized failure result for a tool call whose handler was interrupted or
|
|
2247
|
+
// never started because the response finished with an incomplete reason. This
|
|
2248
|
+
// keeps the tool call resolved so the conversation history stays well-formed
|
|
2249
|
+
// for subsequent provider requests.
|
|
2250
|
+
const makeInterruptedToolResult = (
|
|
2251
|
+
toolCall: { readonly id: string; readonly name: string },
|
|
2252
|
+
finishReason: string
|
|
2253
|
+
) => {
|
|
2254
|
+
const result = {
|
|
2255
|
+
type: "execution-interrupted",
|
|
2256
|
+
reason: `Tool call execution was interrupted because the response finished with reason "${finishReason}"`
|
|
2257
|
+
}
|
|
2258
|
+
return Response.makePart("tool-result", {
|
|
2259
|
+
id: toolCall.id,
|
|
2260
|
+
name: toolCall.name,
|
|
2261
|
+
providerExecuted: false,
|
|
2262
|
+
preliminary: false,
|
|
2263
|
+
result,
|
|
2264
|
+
encodedResult: result,
|
|
2265
|
+
isFailure: true
|
|
2266
|
+
})
|
|
2267
|
+
}
|
|
2268
|
+
|
|
2115
2269
|
type ToolResolutionResult<Tools extends Record<string, Tool.Any>> =
|
|
2116
2270
|
| Response.ToolResultPart<
|
|
2117
2271
|
Tool.Name<Tools[keyof Tools]>,
|
|
@@ -2227,6 +2381,35 @@ const makeToolkitWithEncodedParameters = <Tools extends Record<string, Tool.Any>
|
|
|
2227
2381
|
...Object.values(toolkit.tools).map((tool) => tool.setParameters(Schema.toEncoded(tool.parametersSchema)))
|
|
2228
2382
|
)
|
|
2229
2383
|
|
|
2384
|
+
const makeToolkitWithOpaqueParameters = <Tools extends Record<string, Tool.Any>>(
|
|
2385
|
+
toolkit: Toolkit.WithHandler<Tools>
|
|
2386
|
+
): Toolkit.Any =>
|
|
2387
|
+
Toolkit.make(
|
|
2388
|
+
...Object.values(toolkit.tools).map((tool) => tool.setParameters(Schema.Unknown))
|
|
2389
|
+
)
|
|
2390
|
+
|
|
2391
|
+
// Provider-executed tools bypass Toolkit, so validate their parameters here.
|
|
2392
|
+
const validateProviderExecutedToolCalls = <Tools extends Record<string, Tool.Any>>(
|
|
2393
|
+
toolkit: Toolkit.WithHandler<Tools>,
|
|
2394
|
+
parts: ReadonlyArray<Response.PartEncoded | Response.StreamPartEncoded>
|
|
2395
|
+
): Effect.Effect<void, Schema.SchemaError> =>
|
|
2396
|
+
Effect.forEach(
|
|
2397
|
+
parts,
|
|
2398
|
+
(part) => {
|
|
2399
|
+
if (part.type !== "tool-call" || part.providerExecuted !== true) {
|
|
2400
|
+
return Effect.void
|
|
2401
|
+
}
|
|
2402
|
+
const tool = toolkit.tools[part.name]
|
|
2403
|
+
if (Predicate.isUndefined(tool) || !Schema.isSchema(tool.parametersSchema)) {
|
|
2404
|
+
return Effect.void
|
|
2405
|
+
}
|
|
2406
|
+
return Effect.asVoid(
|
|
2407
|
+
Schema.decodeUnknownEffect(tool.parametersSchema)(part.params)
|
|
2408
|
+
) as Effect.Effect<void, Schema.SchemaError>
|
|
2409
|
+
},
|
|
2410
|
+
{ discard: true }
|
|
2411
|
+
)
|
|
2412
|
+
|
|
2230
2413
|
const resolveToolkit = <Tools extends Record<string, Tool.Any>, E, R>(
|
|
2231
2414
|
toolkit: ToolkitInput<Tools, E, R>
|
|
2232
2415
|
): Effect.Effect<Toolkit.WithHandler<Tools>, E, R> =>
|