effect 4.0.0-rc.111 → 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 +109 -52
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +65 -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 +68 -41
- 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 +56 -17
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +65 -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.d.ts +67 -94
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +752 -397
- 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 +24 -3
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +9 -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 +137 -10
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +332 -75
- 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 +137 -0
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +72 -9
- package/dist/RcMap.js.map +1 -1
- package/dist/Record.d.ts +13 -0
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.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 +2200 -2433
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +2797 -4184
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +359 -176
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +373 -630
- 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 +123 -200
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +59 -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 +1276 -172
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +1371 -29
- 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/Scope.d.ts +9 -2
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.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/StandardSchema.d.ts +125 -0
- package/dist/StandardSchema.d.ts.map +1 -0
- package/dist/StandardSchema.js +9 -0
- package/dist/StandardSchema.js.map +1 -0
- 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 +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -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 +416 -258
- 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 +238 -132
- 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 +98 -23
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +98 -6
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +5 -16
- 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 +87 -78
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +3 -14
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +2 -2
- 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/codec-transformer.js +2 -2
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/ai/internal/structured-output.js +28 -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 +27 -4
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +73 -73
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +22 -22
- package/dist/unstable/cli/Command.js.map +1 -1
- 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 +113 -59
- package/dist/unstable/cli/Prompt.d.ts.map +1 -1
- package/dist/unstable/cli/Prompt.js +391 -327
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/internal/completions/bash.js +109 -38
- package/dist/unstable/cli/internal/completions/bash.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/fish.js +15 -7
- package/dist/unstable/cli/internal/completions/fish.js.map +1 -1
- package/dist/unstable/cli/internal/completions/zsh.js +6 -4
- 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 +5 -1
- package/dist/unstable/cli/internal/wizard.d.ts.map +1 -1
- package/dist/unstable/cli/internal/wizard.js +34 -26
- 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 +22 -5
- package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.js +23 -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 +32 -13
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +17 -5
- package/dist/unstable/cluster/Message.d.ts.map +1 -1
- package/dist/unstable/cluster/Message.js +21 -8
- package/dist/unstable/cluster/Message.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 +33 -12
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +5 -4
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +21 -12
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +12 -6
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +11 -5
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +56 -35
- package/dist/unstable/cluster/Runners.js.map +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 +10 -6
- 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 +273 -0
- package/dist/unstable/encoding/SchemaBinary.d.ts.map +1 -0
- package/dist/unstable/encoding/SchemaBinary.js +4573 -0
- package/dist/unstable/encoding/SchemaBinary.js.map +1 -0
- 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 +2 -2
- package/dist/unstable/encoding/index.d.ts.map +1 -1
- package/dist/unstable/encoding/index.js +2 -2
- 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 +15 -9
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +26 -12
- 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 +13 -9
- 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 +0 -10
- package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.js +29 -14
- 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 +28 -11
- 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/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js +15 -12
- package/dist/unstable/httpapi/HttpApiScalar.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/HttpApiSwagger.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSwagger.js +6 -3
- package/dist/unstable/httpapi/HttpApiSwagger.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 +5 -0
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +94 -81
- 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 +66 -7
- package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMessage.js +68 -9
- 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 +28 -33
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +56 -92
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +25 -0
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +125 -68
- 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/dist/unstable/workflow/WorkflowProxy.d.ts +2 -2
- package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.js +4 -2
- package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
- package/package.json +8 -10
- package/src/Array.ts +142 -70
- 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 +185 -50
- 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 +90 -44
- package/src/JsonPatch.ts +4 -4
- package/src/JsonPointer.ts +97 -4
- package/src/JsonSchema.ts +998 -476
- package/src/Layer.ts +59 -18
- package/src/LayerMap.ts +38 -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 +535 -134
- 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 +176 -13
- package/src/Record.ts +15 -0
- 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 +5032 -6518
- package/src/SchemaAST.ts +1156 -316
- package/src/SchemaGetter.ts +75 -21
- package/src/SchemaIssue.ts +260 -16
- package/src/SchemaParser.ts +2 -12
- package/src/SchemaRepresentation.ts +1774 -189
- package/src/SchemaTransformation.ts +145 -22
- package/src/Scope.ts +9 -2
- package/src/ScopedCache.ts +10 -3
- package/src/Sink.ts +31 -15
- package/src/StandardSchema.ts +207 -0
- 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 +10 -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 +510 -301
- 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 +326 -160
- 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 +126 -6
- package/src/unstable/ai/AnthropicStructuredOutput.ts +8 -5
- 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 +105 -92
- package/src/unstable/ai/OpenAiStructuredOutput.ts +6 -3
- package/src/unstable/ai/Prompt.ts +20 -5
- 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/codec-transformer.ts +3 -2
- package/src/unstable/ai/internal/structured-output.ts +29 -6
- 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 +41 -4
- package/src/unstable/cli/Command.ts +79 -78
- 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 +543 -408
- package/src/unstable/cli/internal/completions/bash.ts +113 -38
- package/src/unstable/cli/internal/completions/descriptor.ts +23 -11
- package/src/unstable/cli/internal/completions/fish.ts +17 -9
- package/src/unstable/cli/internal/completions/zsh.ts +7 -4
- 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 +60 -32
- 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 +32 -3
- package/src/unstable/cluster/HttpRunner.ts +52 -25
- package/src/unstable/cluster/Message.ts +35 -13
- package/src/unstable/cluster/MessageStorage.ts +69 -24
- package/src/unstable/cluster/Reply.ts +36 -19
- package/src/unstable/cluster/RunnerServer.ts +21 -11
- package/src/unstable/cluster/Runners.ts +93 -80
- 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 +15 -6
- 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 +5308 -0
- 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 +2 -2
- package/src/unstable/eventlog/Event.ts +7 -7
- package/src/unstable/eventlog/EventJournal.ts +22 -15
- package/src/unstable/eventlog/EventLog.ts +24 -14
- 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 +35 -10
- 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 +63 -11
- 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/HttpApiScalar.ts +30 -27
- package/src/unstable/httpapi/HttpApiSchema.ts +14 -7
- package/src/unstable/httpapi/HttpApiSwagger.ts +6 -3
- 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 +100 -82
- package/src/unstable/rpc/RpcMessage.ts +78 -11
- package/src/unstable/rpc/RpcMiddleware.ts +7 -5
- package/src/unstable/rpc/RpcSerialization.ts +82 -92
- package/src/unstable/rpc/RpcServer.ts +171 -93
- 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/src/unstable/workflow/WorkflowProxy.ts +8 -4
- 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
|
@@ -29,7 +29,7 @@ import * as HttpBody from "../http/HttpBody.ts"
|
|
|
29
29
|
import * as HttpClient from "../http/HttpClient.ts"
|
|
30
30
|
import * as HttpClientError from "../http/HttpClientError.ts"
|
|
31
31
|
import * as HttpClientRequest from "../http/HttpClientRequest.ts"
|
|
32
|
-
import * as HttpClientResponse from "../http/HttpClientResponse.ts"
|
|
32
|
+
import type * as HttpClientResponse from "../http/HttpClientResponse.ts"
|
|
33
33
|
import * as HttpMethod from "../http/HttpMethod.ts"
|
|
34
34
|
import * as UrlParams from "../http/UrlParams.ts"
|
|
35
35
|
import * as HttpApi from "./HttpApi.ts"
|
|
@@ -164,8 +164,9 @@ export declare namespace Client {
|
|
|
164
164
|
|
|
165
165
|
/**
|
|
166
166
|
* The typed function generated for an endpoint, accepting the endpoint request
|
|
167
|
-
* shape
|
|
168
|
-
* the endpoint schemas, middleware, and
|
|
167
|
+
* shape, including optional per-call SSE decoding options. The returned effect's success,
|
|
168
|
+
* error, and service channels reflect the endpoint schemas, middleware, and
|
|
169
|
+
* selected response mode.
|
|
169
170
|
*
|
|
170
171
|
* @category models
|
|
171
172
|
* @since 4.0.0
|
|
@@ -330,11 +331,7 @@ export const makeClient = <ApiId extends string, Groups extends HttpApiGroup.Con
|
|
|
330
331
|
onEndpoint(onEndpointOptions) {
|
|
331
332
|
const { group, endpoint, errors, successes } = onEndpointOptions
|
|
332
333
|
const makeUrl = compilePath(endpoint.path)
|
|
333
|
-
const decodeMap: Record<
|
|
334
|
-
number | "orElse",
|
|
335
|
-
(response: HttpClientResponse.HttpClientResponse) => Effect.Effect<unknown, unknown, unknown>
|
|
336
|
-
> = { orElse: statusOrElse }
|
|
337
|
-
const decodeResponse = HttpClientResponse.matchStatus(decodeMap)
|
|
334
|
+
const decodeMap: Record<number | "orElse", ResponseDecoder> = { orElse: statusOrElse }
|
|
338
335
|
const errorAlternatives = new Map<number, Array<ResponseAlternative>>()
|
|
339
336
|
for (const [status, schemas] of errors.entries()) {
|
|
340
337
|
const grouped = groupSchemasByContentType(schemas)
|
|
@@ -404,6 +401,7 @@ export const makeClient = <ApiId extends string, Groups extends HttpApiGroup.Con
|
|
|
404
401
|
readonly payload: unknown
|
|
405
402
|
readonly headers: Record<string, string> | undefined
|
|
406
403
|
readonly responseMode?: HttpApiEndpoint.ClientResponseMode
|
|
404
|
+
readonly sseOptions?: Sse.DecodeOptions | undefined
|
|
407
405
|
} | undefined
|
|
408
406
|
) {
|
|
409
407
|
let httpRequest = HttpClientRequest.make(endpoint.method)(endpoint.path)
|
|
@@ -455,9 +453,10 @@ export const makeClient = <ApiId extends string, Groups extends HttpApiGroup.Con
|
|
|
455
453
|
return response
|
|
456
454
|
}
|
|
457
455
|
|
|
456
|
+
const decoded = (decodeMap[response.status] ?? decodeMap.orElse)(response, request?.sseOptions)
|
|
458
457
|
const value = yield* (options.transformResponse === undefined
|
|
459
|
-
?
|
|
460
|
-
: options.transformResponse(
|
|
458
|
+
? decoded
|
|
459
|
+
: options.transformResponse(decoded))
|
|
461
460
|
|
|
462
461
|
return request?.responseMode === "decoded-and-response" ? [value, response] : value
|
|
463
462
|
})
|
|
@@ -687,9 +686,20 @@ export const urlBuilder = <Api extends HttpApi.Constraint>(api: Api, options?: {
|
|
|
687
686
|
const queryInput = request?.query === undefined
|
|
688
687
|
? undefined
|
|
689
688
|
: (encodeQuery === undefined ? request.query : encodeQuery(request.query)) as UrlParams.Input
|
|
690
|
-
const
|
|
691
|
-
|
|
692
|
-
|
|
689
|
+
const urlParams = queryInput === undefined ? UrlParams.empty : UrlParams.fromInput(queryInput)
|
|
690
|
+
if (options?.baseUrl === undefined) {
|
|
691
|
+
const query = UrlParams.toString(urlParams)
|
|
692
|
+
return query === "" ? path : `${path}?${query}`
|
|
693
|
+
}
|
|
694
|
+
const url = new URL(
|
|
695
|
+
HttpClientRequest.prependUrl(HttpClientRequest.get(path), options.baseUrl.toString()).url
|
|
696
|
+
)
|
|
697
|
+
for (const [key, value] of urlParams.params) {
|
|
698
|
+
if (value !== undefined) {
|
|
699
|
+
url.searchParams.append(key, value)
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
return url.toString()
|
|
693
703
|
}
|
|
694
704
|
InternalRecord.assignProperty(
|
|
695
705
|
group.topLevel ? builder : builder[group.identifier],
|
|
@@ -767,7 +777,10 @@ function toCodecArrayBufferWithHeaders(schema: Schema.Constraint): Schema.Top {
|
|
|
767
777
|
)
|
|
768
778
|
}
|
|
769
779
|
|
|
770
|
-
type ResponseDecoder = (
|
|
780
|
+
type ResponseDecoder = (
|
|
781
|
+
response: HttpClientResponse.HttpClientResponse,
|
|
782
|
+
sseOptions?: Sse.DecodeOptions
|
|
783
|
+
) => Effect.Effect<unknown, unknown, unknown>
|
|
771
784
|
|
|
772
785
|
interface ResponseAlternative {
|
|
773
786
|
readonly contentType: string
|
|
@@ -794,12 +807,12 @@ function makeResponseDecoder(alternatives: ReadonlyArray<ResponseAlternative>):
|
|
|
794
807
|
if (alternatives.length === 1 && first !== undefined) {
|
|
795
808
|
return first.decode
|
|
796
809
|
}
|
|
797
|
-
return (response) => {
|
|
810
|
+
return (response, sseOptions) => {
|
|
798
811
|
const contentType = MediaType.normalize(response.headers["content-type"] ?? "")
|
|
799
812
|
const alternative = alternatives.find((alternative) => alternative.contentType === contentType)
|
|
800
813
|
return alternative === undefined
|
|
801
814
|
? failUnsupportedContentType(response, contentType, alternatives)
|
|
802
|
-
: alternative.decode(response)
|
|
815
|
+
: alternative.decode(response, sseOptions)
|
|
803
816
|
}
|
|
804
817
|
}
|
|
805
818
|
|
|
@@ -871,21 +884,21 @@ function streamToResponse(successSchema: StreamSuccessSchema) {
|
|
|
871
884
|
declaration: streamSchema,
|
|
872
885
|
decoder: makeSseDecoder(streamSchema)
|
|
873
886
|
}
|
|
874
|
-
const toStream = (response
|
|
887
|
+
const toStream: ResponseDecoder = (response, sseOptions) =>
|
|
875
888
|
Effect.map(Effect.context<never>(), (context) =>
|
|
876
889
|
Stream.provideContext(
|
|
877
890
|
sse === undefined ?
|
|
878
891
|
response.stream :
|
|
879
|
-
decodeSseStream(response.stream, sse.declaration, sse.decoder),
|
|
892
|
+
decodeSseStream(response.stream, sse.declaration, sse.decoder(sseOptions)),
|
|
880
893
|
context as Context.Context<unknown>
|
|
881
894
|
))
|
|
882
895
|
if (!isWithHeaders) return toStream
|
|
883
896
|
|
|
884
897
|
const decodeHeaders = Schema.decodeUnknownEffect(successSchema.headers)
|
|
885
|
-
return (response: HttpClientResponse.HttpClientResponse) =>
|
|
898
|
+
return (response: HttpClientResponse.HttpClientResponse, sseOptions?: Sse.DecodeOptions) =>
|
|
886
899
|
Effect.flatMap(
|
|
887
900
|
decodeHeaders(response.headers),
|
|
888
|
-
(headers) => Effect.map(toStream(response), (body) => HttpApiSchema.withHeaders({ body, headers }))
|
|
901
|
+
(headers) => Effect.map(toStream(response, sseOptions), (body) => HttpApiSchema.withHeaders({ body, headers }))
|
|
889
902
|
)
|
|
890
903
|
}
|
|
891
904
|
|
|
@@ -899,13 +912,14 @@ function makeSseDecoder(
|
|
|
899
912
|
}),
|
|
900
913
|
declaration.events
|
|
901
914
|
])
|
|
902
|
-
|
|
915
|
+
const defaultDecoder = Sse.decodeSchema(Event)
|
|
916
|
+
return (options?: Sse.DecodeOptions) => options === undefined ? defaultDecoder : Sse.decodeSchema(Event, options)
|
|
903
917
|
}
|
|
904
918
|
|
|
905
919
|
function decodeSseStream(
|
|
906
920
|
stream: Stream.Stream<Uint8Array, HttpClientError.HttpClientError>,
|
|
907
921
|
declaration: HttpApiSchema.StreamSse<Sse.EventCodec, Schema.Constraint, unknown>,
|
|
908
|
-
decoder: ReturnType<typeof makeSseDecoder
|
|
922
|
+
decoder: ReturnType<ReturnType<typeof makeSseDecoder>>
|
|
909
923
|
): Stream.Stream<unknown, unknown, unknown> {
|
|
910
924
|
const events = Stream.transformPull(
|
|
911
925
|
stream.pipe(
|
|
@@ -1023,7 +1037,13 @@ function fromArrayBuffer(schema: Schema.Constraint): Schema.Top {
|
|
|
1023
1037
|
: UnknownFromArrayBuffer
|
|
1024
1038
|
}
|
|
1025
1039
|
case "FormUrlEncoded":
|
|
1026
|
-
return StringFromArrayBuffer.pipe(Schema.decodeTo(
|
|
1040
|
+
return StringFromArrayBuffer.pipe(Schema.decodeTo(
|
|
1041
|
+
Schema.RecordFromUrlParams,
|
|
1042
|
+
SchemaTransformation.transform({
|
|
1043
|
+
decode: (text) => UrlParams.fromInput(new URLSearchParams(text)),
|
|
1044
|
+
encode: UrlParams.toString
|
|
1045
|
+
})
|
|
1046
|
+
))
|
|
1027
1047
|
case "Uint8Array":
|
|
1028
1048
|
return Uint8ArrayFromArrayBuffer
|
|
1029
1049
|
case "Text":
|
|
@@ -1064,7 +1084,7 @@ function getEncodePayloadSchemaFromBody(
|
|
|
1064
1084
|
const encoding = HttpApiSchema.getPayloadEncoding(ast, method)
|
|
1065
1085
|
const out = $HttpBody.pipe(Schema.decodeTo(
|
|
1066
1086
|
schema,
|
|
1067
|
-
SchemaTransformation.
|
|
1087
|
+
SchemaTransformation.transformEffect<unknown, HttpBody.HttpBody>({
|
|
1068
1088
|
decode(input, options) {
|
|
1069
1089
|
return Effect.fail(
|
|
1070
1090
|
new SchemaIssue.Forbidden({ message: "Encode only schema" }, input, options)
|
|
@@ -15,7 +15,7 @@ import * as Arr from "../../Array.ts"
|
|
|
15
15
|
import type { Brand } from "../../Brand.ts"
|
|
16
16
|
import * as Context from "../../Context.ts"
|
|
17
17
|
import type { Effect } from "../../Effect.ts"
|
|
18
|
-
import { identity } from "../../Function.ts"
|
|
18
|
+
import { identity, memoize } from "../../Function.ts"
|
|
19
19
|
import { type Pipeable, pipeArguments } from "../../Pipeable.ts"
|
|
20
20
|
import * as Predicate from "../../Predicate.ts"
|
|
21
21
|
import * as Schema from "../../Schema.ts"
|
|
@@ -23,6 +23,7 @@ import * as AST from "../../SchemaAST.ts"
|
|
|
23
23
|
import type * as Stream from "../../Stream.ts"
|
|
24
24
|
import type { Simplify } from "../../Struct.ts"
|
|
25
25
|
import type * as Types from "../../Types.ts"
|
|
26
|
+
import type * as Sse from "../encoding/Sse.ts"
|
|
26
27
|
import type { HttpMethod } from "../http/HttpMethod.ts"
|
|
27
28
|
import * as HttpRouter from "../http/HttpRouter.ts"
|
|
28
29
|
import type { HttpServerRequest } from "../http/HttpServerRequest.ts"
|
|
@@ -187,6 +188,7 @@ export interface HttpApiEndpoint<
|
|
|
187
188
|
readonly error: ReadonlySet<Schema.Top>
|
|
188
189
|
readonly annotations: Context.Context<never>
|
|
189
190
|
readonly middlewares: ReadonlySet<Context.Key<Middleware, any>>
|
|
191
|
+
readonly disableCodecs: boolean
|
|
190
192
|
|
|
191
193
|
/**
|
|
192
194
|
* Add a prefix to the path of the endpoint.
|
|
@@ -282,10 +284,11 @@ export function getSuccessSchemas(endpoint: Top): [Schema.Top, ...Array<Schema.T
|
|
|
282
284
|
/** @internal */
|
|
283
285
|
export function getErrorSchemas(endpoint: Top): Array<Schema.Top> {
|
|
284
286
|
const schemas = new Set<Schema.Top>(endpoint.error)
|
|
287
|
+
const transform = endpoint.disableCodecs ? identity : transformResponseSchema
|
|
285
288
|
for (const middleware of endpoint.middlewares) {
|
|
286
289
|
const key = middleware as any as HttpApiMiddleware.AnyService
|
|
287
290
|
for (const schema of key.error) {
|
|
288
|
-
schemas.add(schema)
|
|
291
|
+
schemas.add(transform(schema))
|
|
289
292
|
}
|
|
290
293
|
}
|
|
291
294
|
return Array.from(schemas)
|
|
@@ -484,9 +487,10 @@ export type RequestRaw<Endpoint> = Endpoint extends ConstraintRequest ? Endpoint
|
|
|
484
487
|
: {}
|
|
485
488
|
|
|
486
489
|
/**
|
|
487
|
-
* Builds the request object accepted by a generated client method, including
|
|
488
|
-
*
|
|
489
|
-
*
|
|
490
|
+
* Builds the request object accepted by a generated client method, including the
|
|
491
|
+
* params, query, headers, and payload required by the endpoint, plus optional
|
|
492
|
+
* response mode and SSE decoding options. Multipart payloads are supplied as
|
|
493
|
+
* `FormData`.
|
|
490
494
|
*
|
|
491
495
|
* @category utility types
|
|
492
496
|
* @since 4.0.0
|
|
@@ -507,8 +511,14 @@ export type ClientRequest<
|
|
|
507
511
|
? { readonly payload: FormData }
|
|
508
512
|
: { readonly payload: Payload["Type"] }
|
|
509
513
|
: { readonly payload: Payload["Type"] })
|
|
510
|
-
) extends infer Req ? keyof Req extends never ? (void | {
|
|
511
|
-
|
|
514
|
+
) extends infer Req ? keyof Req extends never ? (void | {
|
|
515
|
+
readonly responseMode?: ResponseMode
|
|
516
|
+
readonly sseOptions?: Sse.DecodeOptions | undefined
|
|
517
|
+
}) :
|
|
518
|
+
Req & {
|
|
519
|
+
readonly responseMode?: ResponseMode
|
|
520
|
+
readonly sseOptions?: Sse.DecodeOptions | undefined
|
|
521
|
+
} :
|
|
512
522
|
void
|
|
513
523
|
|
|
514
524
|
/**
|
|
@@ -833,7 +843,8 @@ const optionsFromEndpoint = (endpoint: Top) => ({
|
|
|
833
843
|
success: endpoint.success,
|
|
834
844
|
error: endpoint.error,
|
|
835
845
|
annotations: endpoint.annotations,
|
|
836
|
-
middlewares: endpoint.middlewares
|
|
846
|
+
middlewares: endpoint.middlewares,
|
|
847
|
+
disableCodecs: endpoint.disableCodecs
|
|
837
848
|
})
|
|
838
849
|
|
|
839
850
|
function makeProto<
|
|
@@ -860,6 +871,7 @@ function makeProto<
|
|
|
860
871
|
readonly error: ReadonlySet<Schema.Top>
|
|
861
872
|
readonly annotations: Context.Context<never>
|
|
862
873
|
readonly middlewares: ReadonlySet<Context.Key<Middleware, any>>
|
|
874
|
+
readonly disableCodecs: boolean
|
|
863
875
|
}): HttpApiEndpoint<
|
|
864
876
|
Identifier,
|
|
865
877
|
Method,
|
|
@@ -1090,7 +1102,8 @@ export const make = <Method extends HttpMethod>(method: Method): {
|
|
|
1090
1102
|
success: getSuccessResponse(options?.success, method, disableCodecs),
|
|
1091
1103
|
error: getErrorResponse(options?.error, disableCodecs),
|
|
1092
1104
|
annotations: Context.empty(),
|
|
1093
|
-
middlewares: new Set()
|
|
1105
|
+
middlewares: new Set(),
|
|
1106
|
+
disableCodecs
|
|
1094
1107
|
})
|
|
1095
1108
|
}
|
|
1096
1109
|
|
|
@@ -1157,7 +1170,7 @@ function getSuccessResponse(
|
|
|
1157
1170
|
return new Set(disableCodecs ? schemas : schemas.map(transformResponseSchema))
|
|
1158
1171
|
}
|
|
1159
1172
|
|
|
1160
|
-
|
|
1173
|
+
const transformResponseSchema = memoize((schema: Schema.Top): Schema.Top => {
|
|
1161
1174
|
if (HttpApiSchema.isStreamSchema(schema)) return schema
|
|
1162
1175
|
if (HttpApiSchema.isWithHeaders(schema)) {
|
|
1163
1176
|
const inner = HttpApiSchema.isStreamSchema(schema.schema)
|
|
@@ -1166,7 +1179,7 @@ function transformResponseSchema(schema: Schema.Top): Schema.Top {
|
|
|
1166
1179
|
return HttpApiSchema.rebuildWithHeaders(schema, inner, Schema.toCodecStringTree(schema.headers))
|
|
1167
1180
|
}
|
|
1168
1181
|
return transformResponse(schema)
|
|
1169
|
-
}
|
|
1182
|
+
})
|
|
1170
1183
|
|
|
1171
1184
|
function getErrorResponse(
|
|
1172
1185
|
error: Schema.Top | ReadonlyArray<Schema.Top> | undefined,
|
|
@@ -458,7 +458,9 @@ export class HttpApiSchemaError extends Data.TaggedClass("HttpApiSchemaError")<{
|
|
|
458
458
|
kind: HttpApiSchemaError["kind"],
|
|
459
459
|
effect: Effect.Effect<A, Schema.SchemaError, R>
|
|
460
460
|
): Effect.Effect<A, HttpApiSchemaError, R> {
|
|
461
|
-
return
|
|
461
|
+
// Decoders return completed Exit values for synchronous results, so map
|
|
462
|
+
// eagerly and skip the error wrapper when nothing remains to run.
|
|
463
|
+
return Effect.mapErrorEager(effect, (error) => new HttpApiSchemaError({ kind, cause: error }))
|
|
462
464
|
}
|
|
463
465
|
|
|
464
466
|
readonly name = "HttpApiSchemaError"
|
|
@@ -352,17 +352,19 @@ export const Service = <
|
|
|
352
352
|
readonly requiredForClient?: boolean | undefined
|
|
353
353
|
} | undefined
|
|
354
354
|
) => {
|
|
355
|
-
const Err = globalThis.Error as any
|
|
356
355
|
const limit = getStackTraceLimit()
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
356
|
+
let creationError: globalThis.Error | undefined
|
|
357
|
+
if (limit !== 0) {
|
|
358
|
+
setStackTraceLimit(2)
|
|
359
|
+
creationError = new globalThis.Error()
|
|
360
|
+
setStackTraceLimit(limit)
|
|
361
|
+
}
|
|
360
362
|
|
|
361
363
|
class Service extends Context.Service<Self, any>()(id) {}
|
|
362
364
|
const self = Service as any
|
|
363
365
|
Object.defineProperty(Service, "stack", {
|
|
364
366
|
get() {
|
|
365
|
-
return creationError
|
|
367
|
+
return creationError?.stack
|
|
366
368
|
}
|
|
367
369
|
})
|
|
368
370
|
self[TypeId] = TypeId
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* @since 4.0.0
|
|
10
10
|
*/
|
|
11
11
|
import * as Effect from "../../Effect.ts"
|
|
12
|
+
import * as Function from "../../Function.ts"
|
|
12
13
|
import type * as Layer from "../../Layer.ts"
|
|
13
14
|
import * as HttpRouter from "../http/HttpRouter.ts"
|
|
14
15
|
import * as HttpServerResponse from "../http/HttpServerResponse.ts"
|
|
@@ -144,36 +145,37 @@ const makeHandler = <Id extends string, Groups extends HttpApiGroup.Constraint>(
|
|
|
144
145
|
readonly source: ScalarSource
|
|
145
146
|
readonly scalar: ScalarConfig | undefined
|
|
146
147
|
}) => {
|
|
147
|
-
const
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
148
|
+
const makeResponse = Function.memoize((api: HttpApi.HttpApi<Id, Groups>) => {
|
|
149
|
+
const spec = OpenApi.fromApi(api)
|
|
150
|
+
const { customFetch, ...scalar } = options.scalar ?? {}
|
|
151
|
+
const scalarConfig = {
|
|
152
|
+
_integration: "html",
|
|
153
|
+
...scalar
|
|
154
|
+
}
|
|
155
|
+
const scalarScript = options.source._tag === "Cdn"
|
|
156
|
+
? `<script src="${
|
|
157
|
+
Html.escapeAttribute(
|
|
158
|
+
`https://cdn.jsdelivr.net/npm/@scalar/api-reference@${
|
|
159
|
+
encodeURIComponent(options.source.version ?? "latest")
|
|
160
|
+
}/dist/browser/standalone.min.js`
|
|
161
|
+
)
|
|
162
|
+
}" crossorigin></script>`
|
|
163
|
+
: `<script>${options.source.source}</script>`
|
|
164
|
+
return HttpServerResponse.html(`<!doctype html>
|
|
163
165
|
<html>
|
|
164
166
|
<head>
|
|
165
167
|
<meta charset="utf-8" />
|
|
166
168
|
<title>${Html.escape(spec.info.title)}</title>
|
|
167
169
|
${
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
170
|
+
!spec.info.description
|
|
171
|
+
? ""
|
|
172
|
+
: `<meta name="description" content="${Html.escapeAttribute(spec.info.description)}"/>`
|
|
173
|
+
}
|
|
172
174
|
${
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
175
|
+
!spec.info.description
|
|
176
|
+
? ""
|
|
177
|
+
: `<meta name="og:description" content="${Html.escapeAttribute(spec.info.description)}"/>`
|
|
178
|
+
}
|
|
177
179
|
<meta
|
|
178
180
|
name="viewport"
|
|
179
181
|
content="width=device-width, initial-scale=1" />
|
|
@@ -185,14 +187,15 @@ const makeHandler = <Id extends string, Groups extends HttpApiGroup.Constraint>(
|
|
|
185
187
|
window.Scalar.createApiReference(document.getElementById('api-reference-container'), {
|
|
186
188
|
...${Html.escapeJson(scalarConfig)},
|
|
187
189
|
content: ${Html.escapeJson(spec)}${
|
|
188
|
-
|
|
190
|
+
customFetch === undefined ? "" : `,
|
|
189
191
|
customFetch: ${customFetch}`
|
|
190
|
-
|
|
192
|
+
}
|
|
191
193
|
})
|
|
192
194
|
</script>
|
|
193
195
|
</body>
|
|
194
196
|
</html>`)
|
|
195
|
-
|
|
197
|
+
})
|
|
198
|
+
return Effect.sync(() => makeResponse(options.api))
|
|
196
199
|
}
|
|
197
200
|
|
|
198
201
|
/**
|
|
@@ -518,6 +518,8 @@ export interface WithHeaders<S extends Schema.Top, H extends Schema.Top> extends
|
|
|
518
518
|
* The Type of a `WithHeaders` schema: what handlers return and what the
|
|
519
519
|
* client resolves to, constructed via {@link withHeaders}.
|
|
520
520
|
*
|
|
521
|
+
* **Details**
|
|
522
|
+
*
|
|
521
523
|
* `body` is the inner success value. For stream success schemas it is the
|
|
522
524
|
* `Stream` itself, so headers are decided before the body starts streaming.
|
|
523
525
|
*
|
|
@@ -539,9 +541,13 @@ const withHeadersValueSchema = Schema.declare(isWithHeadersValue)
|
|
|
539
541
|
/**
|
|
540
542
|
* Wraps a success schema with a response headers schema.
|
|
541
543
|
*
|
|
544
|
+
* **Details**
|
|
545
|
+
*
|
|
542
546
|
* Headers accept either a schema or a fields shorthand, mirroring the
|
|
543
547
|
* request-side headers option.
|
|
544
548
|
*
|
|
549
|
+
* **Example** (Adding response headers to a success schema)
|
|
550
|
+
*
|
|
545
551
|
* ```ts import.meta.vitest
|
|
546
552
|
* import { Schema } from "effect"
|
|
547
553
|
* import { HttpApiSchema } from "effect/unstable/httpapi"
|
|
@@ -587,6 +593,8 @@ export function WithHeaders(
|
|
|
587
593
|
/**
|
|
588
594
|
* Constructs a `WithHeaders` response value from a body and headers.
|
|
589
595
|
*
|
|
596
|
+
* **Details**
|
|
597
|
+
*
|
|
590
598
|
* The returned value is branded so servers and clients can detect it exactly,
|
|
591
599
|
* including in mixed success unions. The same shape is used on both sides: a
|
|
592
600
|
* value received from a client can be returned from another handler unchanged.
|
|
@@ -609,6 +617,8 @@ export const withHeaders = <A, H>(options: {
|
|
|
609
617
|
/**
|
|
610
618
|
* Returns `true` when a schema is a `WithHeaders` response schema.
|
|
611
619
|
*
|
|
620
|
+
* **Example** (Detecting a response headers schema)
|
|
621
|
+
*
|
|
612
622
|
* ```ts import.meta.vitest
|
|
613
623
|
* import { Schema } from "effect"
|
|
614
624
|
* import { HttpApiSchema } from "effect/unstable/httpapi"
|
|
@@ -679,6 +689,8 @@ export interface encodeToWithHeaders<
|
|
|
679
689
|
* defects on the client. Stream responses should use {@link WithHeaders},
|
|
680
690
|
* which preserves the body stream's error channel in the generated client.
|
|
681
691
|
*
|
|
692
|
+
* **Example** (Encoding an error with headers)
|
|
693
|
+
*
|
|
682
694
|
* ```ts import.meta.vitest
|
|
683
695
|
* import { Schema } from "effect"
|
|
684
696
|
* import { HttpApiSchema } from "effect/unstable/httpapi"
|
|
@@ -739,8 +751,8 @@ export function encodeToWithHeaders<
|
|
|
739
751
|
)
|
|
740
752
|
).annotate({
|
|
741
753
|
"~httpApiWithHeaders": { body, headers, headersCodec: Schema.toEncoded(headers) },
|
|
742
|
-
|
|
743
|
-
|
|
754
|
+
httpApiStatus: status,
|
|
755
|
+
"~httpApiEncoding": encoding
|
|
744
756
|
})
|
|
745
757
|
}
|
|
746
758
|
}
|
|
@@ -1000,11 +1012,6 @@ export function getResponseEncodingSchema(schema: Schema.Constraint): ResponseEn
|
|
|
1000
1012
|
return getResponseEncoding(schema.ast)
|
|
1001
1013
|
}
|
|
1002
1014
|
|
|
1003
|
-
/** @internal */
|
|
1004
|
-
export function getStatusStream(self: StreamSchema): number {
|
|
1005
|
-
return getStatusSuccess(self.ast)
|
|
1006
|
-
}
|
|
1007
|
-
|
|
1008
1015
|
/** @internal */
|
|
1009
1016
|
export function getStatusError(self: SchemaAST.AST): number {
|
|
1010
1017
|
return resolveHttpApiStatus(self) ?? 500
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* @since 4.0.0
|
|
10
10
|
*/
|
|
11
11
|
import * as Effect from "../../Effect.ts"
|
|
12
|
+
import * as Function from "../../Function.ts"
|
|
12
13
|
import type * as Layer from "../../Layer.ts"
|
|
13
14
|
import * as HttpRouter from "../http/HttpRouter.ts"
|
|
14
15
|
import * as HttpServerResponse from "../http/HttpServerResponse.ts"
|
|
@@ -21,8 +22,9 @@ import * as OpenApi from "./OpenApi.ts"
|
|
|
21
22
|
const makeHandler = <Id extends string, Groups extends HttpApiGroup.Constraint>(options: {
|
|
22
23
|
readonly api: HttpApi.HttpApi<Id, Groups>
|
|
23
24
|
}) => {
|
|
24
|
-
const
|
|
25
|
-
|
|
25
|
+
const makeResponse = Function.memoize((api: HttpApi.HttpApi<Id, Groups>) => {
|
|
26
|
+
const spec = OpenApi.fromApi(api)
|
|
27
|
+
return HttpServerResponse.html(`<!DOCTYPE html>
|
|
26
28
|
<html lang="en">
|
|
27
29
|
<head>
|
|
28
30
|
<meta charset="utf-8" />
|
|
@@ -46,7 +48,8 @@ const makeHandler = <Id extends string, Groups extends HttpApiGroup.Constraint>(
|
|
|
46
48
|
</script>
|
|
47
49
|
</body>
|
|
48
50
|
</html>`)
|
|
49
|
-
|
|
51
|
+
})
|
|
52
|
+
return Effect.sync(() => makeResponse(options.api))
|
|
50
53
|
}
|
|
51
54
|
|
|
52
55
|
/**
|
|
@@ -20,6 +20,7 @@ import type { HttpPlatform } from "../http/HttpPlatform.ts"
|
|
|
20
20
|
import * as HttpRouter from "../http/HttpRouter.ts"
|
|
21
21
|
import * as HttpServerRequest from "../http/HttpServerRequest.ts"
|
|
22
22
|
import * as HttpServerResponse from "../http/HttpServerResponse.ts"
|
|
23
|
+
import * as preResponseHandler from "../http/internal/preResponseHandler.ts"
|
|
23
24
|
import type * as HttpApi from "./HttpApi.ts"
|
|
24
25
|
import type { HandlerRuntime } from "./HttpApiBuilder.ts"
|
|
25
26
|
import * as HttpApiBuilder from "./HttpApiBuilder.ts"
|
|
@@ -100,10 +101,14 @@ export const groups = Effect.fnUntraced(function*<
|
|
|
100
101
|
const httpClient = HttpClient.make(Effect.fnUntraced(function*(request) {
|
|
101
102
|
const serverRequest = HttpServerRequest.fromClientRequest(request)
|
|
102
103
|
const response = yield* handler.pipe(
|
|
104
|
+
Effect.flatMap((response) => {
|
|
105
|
+
const preResponse = preResponseHandler.requestPreResponseHandlers.get(serverRequest.source)
|
|
106
|
+
return preResponse === undefined ? Effect.succeed(response) : preResponse(serverRequest, response)
|
|
107
|
+
}),
|
|
103
108
|
Effect.provideService(HttpServerRequest.HttpServerRequest, serverRequest),
|
|
104
109
|
Effect.orDie
|
|
105
110
|
)
|
|
106
|
-
return HttpServerResponse.toClientResponse(response)
|
|
111
|
+
return HttpServerResponse.toClientResponse(response, { request })
|
|
107
112
|
}, Effect.scoped))
|
|
108
113
|
|
|
109
114
|
return yield* HttpApiClient.makeWith(api, {
|
|
@@ -14,6 +14,7 @@ import * as Context from "../../Context.ts"
|
|
|
14
14
|
import * as Equal from "../../Equal.ts"
|
|
15
15
|
import { constFalse } from "../../Function.ts"
|
|
16
16
|
import * as InternalRecord from "../../internal/record.ts"
|
|
17
|
+
import * as InternalToCodec from "../../internal/schema/toCodec.ts"
|
|
17
18
|
import * as InternalToJsonSchemaDocument from "../../internal/schema/toJsonSchemaDocument.ts"
|
|
18
19
|
import * as InternalToRepresentation from "../../internal/schema/toRepresentation.ts"
|
|
19
20
|
import * as JsonPatch from "../../JsonPatch.ts"
|
|
@@ -328,6 +329,7 @@ function makeOpenApi<Id extends string, Groups extends HttpApiGroup.Constraint>(
|
|
|
328
329
|
> = []
|
|
329
330
|
const pathOperations = new Set<string>()
|
|
330
331
|
const operationIds = new Set<string>()
|
|
332
|
+
const finalizeOperations: Array<() => void> = []
|
|
331
333
|
|
|
332
334
|
processAnnotation(api.annotations, Title, (title) => {
|
|
333
335
|
spec.info.title = title
|
|
@@ -378,7 +380,7 @@ function makeOpenApi<Id extends string, Groups extends HttpApiGroup.Constraint>(
|
|
|
378
380
|
if (Context.get(mergedAnnotations, Exclude)) {
|
|
379
381
|
return
|
|
380
382
|
}
|
|
381
|
-
|
|
383
|
+
const op: OpenAPISpecOperation = {
|
|
382
384
|
tags: [Context.getOrElse(group.annotations, Title, () => group.identifier)],
|
|
383
385
|
operationId: Context.getOrElse(
|
|
384
386
|
endpoint.annotations,
|
|
@@ -422,7 +424,7 @@ function makeOpenApi<Id extends string, Groups extends HttpApiGroup.Constraint>(
|
|
|
422
424
|
content.forEach((map, encoding) => {
|
|
423
425
|
map.forEach((schemas, contentType) => {
|
|
424
426
|
const asts = Array.from(schemas, SchemaAST.getAST)
|
|
425
|
-
const ast = asts.length === 1 ? asts[0] : new SchemaAST.Union(asts
|
|
427
|
+
const ast = asts.length === 1 ? asts[0] : new SchemaAST.Union(asts)
|
|
426
428
|
|
|
427
429
|
pathOps.push({
|
|
428
430
|
_tag: "schema",
|
|
@@ -583,7 +585,7 @@ function makeOpenApi<Id extends string, Groups extends HttpApiGroup.Constraint>(
|
|
|
583
585
|
const content: OpenApiSpecContent = {}
|
|
584
586
|
for (const [contentType, { encoding, schemas }] of schemasByContentType) {
|
|
585
587
|
const asts = schemas.map(SchemaAST.getAST)
|
|
586
|
-
const ast = asts.length === 1 ? asts[0] : new SchemaAST.Union(asts
|
|
588
|
+
const ast = asts.length === 1 ? asts[0] : new SchemaAST.Union(asts)
|
|
587
589
|
pathOps.push({
|
|
588
590
|
_tag: "schema",
|
|
589
591
|
ast: toEncodingAST(ast, encoding._tag),
|
|
@@ -618,32 +620,35 @@ function makeOpenApi<Id extends string, Groups extends HttpApiGroup.Constraint>(
|
|
|
618
620
|
() => "Error"
|
|
619
621
|
)
|
|
620
622
|
|
|
621
|
-
processAnnotation(endpoint.annotations, Override, (override) => {
|
|
622
|
-
// OpenAPI documents are JSON, so symbol keys are intentionally ignored.
|
|
623
|
-
for (const [key, value] of Object.entries(override)) {
|
|
624
|
-
InternalRecord.assignProperty(op as any, key, value)
|
|
625
|
-
}
|
|
626
|
-
})
|
|
627
|
-
processAnnotation(endpoint.annotations, Transform, (transformFn) => {
|
|
628
|
-
op = transformFn(op) as OpenAPISpecOperation
|
|
629
|
-
})
|
|
630
|
-
|
|
631
623
|
const pathOperation = `${method} ${path.replace(/\{[^}]+\}/g, "{}")}`
|
|
632
624
|
if (pathOperations.has(pathOperation)) {
|
|
633
625
|
throw new globalThis.Error(`Duplicate OpenAPI operation for ${endpoint.method} ${path}`)
|
|
634
626
|
}
|
|
635
|
-
const operationId = op.operationId
|
|
636
|
-
if (operationId !== undefined) {
|
|
637
|
-
if (operationIds.has(operationId)) {
|
|
638
|
-
throw new globalThis.Error(`Duplicate OpenAPI operationId: ${operationId}`)
|
|
639
|
-
}
|
|
640
|
-
operationIds.add(operationId)
|
|
641
|
-
}
|
|
642
627
|
pathOperations.add(pathOperation)
|
|
643
628
|
if (!Object.hasOwn(spec.paths, path)) {
|
|
644
629
|
InternalRecord.assignProperty(spec.paths, path, {})
|
|
645
630
|
}
|
|
646
631
|
spec.paths[path][method] = op
|
|
632
|
+
finalizeOperations.push(() => {
|
|
633
|
+
let op = spec.paths[path][method]!
|
|
634
|
+
processAnnotation(endpoint.annotations, Override, (override) => {
|
|
635
|
+
// OpenAPI documents are JSON, so symbol keys are intentionally ignored.
|
|
636
|
+
for (const [key, value] of Object.entries(override)) {
|
|
637
|
+
InternalRecord.assignProperty(op as any, key, value)
|
|
638
|
+
}
|
|
639
|
+
})
|
|
640
|
+
processAnnotation(endpoint.annotations, Transform, (transformFn) => {
|
|
641
|
+
op = transformFn(op) as OpenAPISpecOperation
|
|
642
|
+
})
|
|
643
|
+
const operationId = op.operationId
|
|
644
|
+
if (operationId !== undefined) {
|
|
645
|
+
if (operationIds.has(operationId)) {
|
|
646
|
+
throw new globalThis.Error(`Duplicate OpenAPI operationId: ${operationId}`)
|
|
647
|
+
}
|
|
648
|
+
operationIds.add(operationId)
|
|
649
|
+
}
|
|
650
|
+
spec.paths[path][method] = op
|
|
651
|
+
})
|
|
647
652
|
}
|
|
648
653
|
})
|
|
649
654
|
|
|
@@ -672,9 +677,10 @@ function makeOpenApi<Id extends string, Groups extends HttpApiGroup.Constraint>(
|
|
|
672
677
|
const jsonSchemaMultiDocument = JsonSchema.toMultiDocumentOpenApi3_1(
|
|
673
678
|
InternalToJsonSchemaDocument.toJsonSchemaMultiDocument(
|
|
674
679
|
InternalToRepresentation.toRepresentations(
|
|
675
|
-
Arr.map(pathOps, (op) =>
|
|
680
|
+
Arr.map(pathOps, (op) => InternalToCodec.toCodecJsonAST(op.ast)),
|
|
676
681
|
options
|
|
677
|
-
)
|
|
682
|
+
),
|
|
683
|
+
{ onExcessProperty: "error" }
|
|
678
684
|
)
|
|
679
685
|
)
|
|
680
686
|
const patchOps: Array<JsonPatch.JsonPatchOperation> = pathOps.map((op, i) => {
|
|
@@ -698,6 +704,10 @@ function makeOpenApi<Id extends string, Groups extends HttpApiGroup.Constraint>(
|
|
|
698
704
|
spec = JsonPatch.apply(patchOps, spec as any) as any
|
|
699
705
|
}
|
|
700
706
|
|
|
707
|
+
for (const finalize of finalizeOperations) {
|
|
708
|
+
finalize()
|
|
709
|
+
}
|
|
710
|
+
|
|
701
711
|
Object.keys(spec.components.schemas).forEach((key) => {
|
|
702
712
|
if (!JsonSchema.VALID_OPEN_API_COMPONENTS_SCHEMAS_KEY_REGEXP.test(key)) {
|
|
703
713
|
throw new globalThis.Error(`Invalid component schema key: ${key}`)
|