effect 4.0.0-rc.112 → 4.0.0-rc.113
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +24 -9
- package/CLAUDE.md +24 -9
- package/ai-docs/package.json +2 -2
- package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +18 -5
- package/ai-docs/src/01_effect/01_basics/index.md +5 -3
- package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +1 -1
- package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +2 -2
- package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +2 -2
- package/ai-docs/src/03_stream/30_encoding.ts +5 -7
- package/ai-docs/src/08_observability/10_logging.ts +1 -1
- package/ai-docs/src/70_cli/10_basics.ts +7 -7
- package/ai-docs/src/71_ai/10_language-model.ts +2 -2
- package/ai-docs/src/71_ai/20_tools.ts +1 -1
- package/ai-docs/src/71_ai/30_chat.ts +1 -1
- package/dist/Array.d.ts +86 -50
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +58 -32
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +5 -1
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +40 -23
- package/dist/BigDecimal.js.map +1 -1
- package/dist/ByteSize.d.ts +633 -0
- package/dist/ByteSize.d.ts.map +1 -0
- package/dist/ByteSize.js +524 -0
- package/dist/ByteSize.js.map +1 -0
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +17 -3
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +1 -1
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Channel.d.ts +97 -24
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +66 -39
- package/dist/Channel.js.map +1 -1
- package/dist/Chunk.d.ts +49 -28
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +27 -18
- package/dist/Chunk.js.map +1 -1
- package/dist/Config.d.ts +162 -201
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +103 -212
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +4 -4
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +7 -7
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Context.d.ts +31 -0
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +2 -2
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +2 -2
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +1 -1
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +3 -2
- package/dist/Crypto.js.map +1 -1
- package/dist/DateTime.d.ts +2 -2
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +6 -6
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +1 -1
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +1 -1
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +220 -113
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +27 -26
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.d.ts +58 -2
- package/dist/Effectable.d.ts.map +1 -1
- package/dist/Effectable.js +58 -6
- package/dist/Effectable.js.map +1 -1
- package/dist/Encoding.d.ts +3 -1
- package/dist/Encoding.d.ts.map +1 -1
- package/dist/Encoding.js +40 -10
- package/dist/Encoding.js.map +1 -1
- package/dist/Equal.d.ts +1 -1
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +1 -1
- package/dist/Equal.js.map +1 -1
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +1 -0
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Fiber.d.ts +32 -8
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.js +3 -3
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +12 -6
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +11 -6
- package/dist/FiberMap.js.map +1 -1
- package/dist/FileSystem.d.ts +42 -210
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +16 -148
- package/dist/FileSystem.js.map +1 -1
- package/dist/Formatter.d.ts +1 -0
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +19 -3
- package/dist/Formatter.js.map +1 -1
- package/dist/Graph.d.ts +48 -20
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +20 -5
- package/dist/Graph.js.map +1 -1
- package/dist/Hash.d.ts +1 -1
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +5 -14
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +1 -1
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashRing.d.ts +6 -1
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +9 -2
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +1 -1
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js.map +1 -1
- package/dist/Iterable.d.ts +33 -15
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +58 -45
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.js +4 -4
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +68 -4
- package/dist/JsonPointer.d.ts.map +1 -1
- package/dist/JsonPointer.js +90 -4
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.js +8 -22
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Layer.d.ts +47 -4
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +4 -6
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +1 -3
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +7 -5
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +7 -5
- package/dist/LayerRef.js.map +1 -1
- package/dist/Logger.d.ts +114 -9
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +109 -9
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.js +1 -1
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +43 -31
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +5 -2
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +11 -4
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +14 -18
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +1 -1
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +1 -1
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +1 -1
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +1 -1
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +13 -2
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +18 -2
- package/dist/MutableList.js.map +1 -1
- package/dist/Number.d.ts +6 -0
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +3 -1
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +5 -4
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +1 -1
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +1 -1
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +1 -0
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +3 -1
- package/dist/Order.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +1 -2
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +1 -1
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +1 -1
- package/dist/Path.js.map +1 -1
- package/dist/PlatformError.d.ts +1 -1
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +1 -1
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +38 -1
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +81 -5
- package/dist/Pool.js.map +1 -1
- package/dist/PrimaryKey.d.ts +1 -1
- package/dist/PrimaryKey.d.ts.map +1 -1
- package/dist/PrimaryKey.js +1 -1
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +21 -9
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +18 -14
- package/dist/PubSub.js.map +1 -1
- package/dist/Queue.d.ts +82 -6
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +116 -27
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +17 -4
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +1 -1
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +15 -9
- package/dist/RcMap.js.map +1 -1
- package/dist/Redacted.d.ts +1 -1
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +1 -1
- package/dist/Redacted.js.map +1 -1
- package/dist/RequestResolver.d.ts +15 -9
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +33 -15
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Result.d.ts +1 -1
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +1 -1
- package/dist/Result.js.map +1 -1
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +19 -10
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +2155 -2415
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +2755 -4174
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +354 -183
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +277 -601
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +46 -22
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +56 -53
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +122 -188
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +48 -263
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.js +2 -9
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +1099 -16
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +1341 -20
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +49 -16
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +75 -98
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +10 -3
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Sink.d.ts +9 -4
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +49 -31
- package/dist/Sink.js.map +1 -1
- package/dist/Stream.d.ts +221 -35
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +168 -84
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +16 -6
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +12 -5
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +7 -4
- package/dist/Struct.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +3 -2
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Terminal.d.ts +3 -3
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +3 -3
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +27 -7
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +38 -13
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +1 -1
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Tuple.d.ts +2 -1
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +1 -1
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +1 -1
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +1 -1
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +1 -1
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +1 -1
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +1 -1
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +1 -1
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +1 -1
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +1 -1
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +1 -1
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +1 -1
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +1 -1
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +9 -9
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +93 -86
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +29 -1
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +29 -1
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +1 -1
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +1 -1
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +1 -1
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +1 -1
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +1 -1
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +1 -1
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +33 -19
- package/dist/Types.d.ts.map +1 -1
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +2 -1
- package/dist/Utils.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/arbitrary/model.d.ts +2 -0
- package/dist/internal/arbitrary/model.d.ts.map +1 -0
- package/dist/internal/arbitrary/model.js +495 -0
- package/dist/internal/arbitrary/model.js.map +1 -0
- package/dist/internal/arbitrary/regexp.d.ts +2 -0
- package/dist/internal/arbitrary/regexp.d.ts.map +1 -0
- package/dist/internal/arbitrary/regexp.js +789 -0
- package/dist/internal/arbitrary/regexp.js.map +1 -0
- package/dist/internal/arbitrary/runner.d.ts +2 -0
- package/dist/internal/arbitrary/runner.d.ts.map +1 -0
- package/dist/internal/arbitrary/runner.js +496 -0
- package/dist/internal/arbitrary/runner.js.map +1 -0
- package/dist/internal/arbitrary/schema.d.ts.map +1 -0
- package/dist/internal/arbitrary/schema.js +1340 -0
- package/dist/internal/arbitrary/schema.js.map +1 -0
- package/dist/internal/core.js +27 -13
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/count.d.ts +2 -0
- package/dist/internal/count.d.ts.map +1 -0
- package/dist/internal/count.js +14 -0
- package/dist/internal/count.js.map +1 -0
- package/dist/internal/dateTime.js +4 -10
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +386 -251
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/graph.js +3 -1
- package/dist/internal/graph.js.map +1 -1
- package/dist/internal/hashMap.js +5 -3
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/hashSet.js +1 -1
- package/dist/internal/hashSet.js.map +1 -1
- package/dist/internal/matcher.js +1 -1
- package/dist/internal/matcher.js.map +1 -1
- package/dist/internal/metric.js +1 -1
- package/dist/internal/metric.js.map +1 -1
- package/dist/internal/option.js +6 -5
- package/dist/internal/option.js.map +1 -1
- package/dist/internal/random.js +17 -0
- package/dist/internal/random.js.map +1 -1
- package/dist/internal/rcRef.js +10 -7
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/references.js +1 -0
- package/dist/internal/references.js.map +1 -1
- package/dist/internal/request.js +13 -6
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/result.js +11 -9
- package/dist/internal/result.js.map +1 -1
- package/dist/internal/schema/annotations.js +1 -1
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.js +14 -12
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/fromRepresentation.js +5 -5
- package/dist/internal/schema/fromRepresentation.js.map +1 -1
- package/dist/internal/schema/make.d.ts +2 -0
- package/dist/internal/schema/make.d.ts.map +1 -0
- package/dist/internal/schema/{schema.js → make.js} +1 -25
- package/dist/internal/schema/make.js.map +1 -0
- package/dist/internal/schema/parser.d.ts +0 -12
- package/dist/internal/schema/parser.d.ts.map +1 -1
- package/dist/internal/schema/parser.js +7 -0
- package/dist/internal/schema/parser.js.map +1 -1
- package/dist/internal/schema/standardSchema.d.ts +2 -0
- package/dist/internal/schema/standardSchema.d.ts.map +1 -0
- package/dist/internal/schema/standardSchema.js +112 -0
- package/dist/internal/schema/standardSchema.js.map +1 -0
- package/dist/internal/schema/toCodeDocument.js +34 -22
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toCodec.d.ts +2 -0
- package/dist/internal/schema/toCodec.d.ts.map +1 -0
- package/dist/internal/schema/toCodec.js +242 -0
- package/dist/internal/schema/toCodec.js.map +1 -0
- package/dist/internal/schema/toDifferJsonPatch.d.ts +2 -0
- package/dist/internal/schema/toDifferJsonPatch.d.ts.map +1 -0
- package/dist/internal/schema/toDifferJsonPatch.js +20 -0
- package/dist/internal/schema/toDifferJsonPatch.js.map +1 -0
- package/dist/internal/schema/toEncoderXml.d.ts +2 -0
- package/dist/internal/schema/toEncoderXml.d.ts.map +1 -0
- package/dist/internal/schema/toEncoderXml.js +104 -0
- package/dist/internal/schema/toEncoderXml.js.map +1 -0
- package/dist/internal/schema/toEquivalence.js +66 -0
- package/dist/internal/schema/toEquivalence.js.map +1 -1
- package/dist/internal/schema/toFormatter.d.ts +2 -0
- package/dist/internal/schema/toFormatter.d.ts.map +1 -0
- package/dist/internal/schema/toFormatter.js +227 -0
- package/dist/internal/schema/toFormatter.js.map +1 -0
- package/dist/internal/schema/toIso.d.ts +2 -0
- package/dist/internal/schema/toIso.d.ts.map +1 -0
- package/dist/internal/schema/toIso.js +17 -0
- package/dist/internal/schema/toIso.js.map +1 -0
- package/dist/internal/schema/toJsonSchemaDocument.js +122 -71
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toRepresentation.js +3 -1
- package/dist/internal/schema/toRepresentation.js.map +1 -1
- package/dist/internal/schemaError.d.ts +4 -0
- package/dist/internal/schemaError.d.ts.map +1 -0
- package/dist/internal/schemaError.js +6 -0
- package/dist/internal/schemaError.js.map +1 -0
- package/dist/internal/stream.js +5 -6
- package/dist/internal/stream.js.map +1 -1
- package/dist/internal/tracer.d.ts +1 -3
- package/dist/internal/tracer.d.ts.map +1 -1
- package/dist/internal/tracer.js +6 -0
- package/dist/internal/tracer.js.map +1 -1
- package/dist/internal/trie.js +2 -2
- package/dist/internal/trie.js.map +1 -1
- package/dist/internal/uuid.d.ts +1 -2
- package/dist/internal/uuid.d.ts.map +1 -1
- package/dist/internal/uuid.js +2 -0
- package/dist/internal/uuid.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +9 -11
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +20 -18
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.d.ts +0 -4
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +0 -4
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +74 -23
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +59 -5
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +2 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +27 -32
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +10 -13
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +23 -16
- package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.js +13 -11
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +48 -37
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +150 -47
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +2 -2
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +21 -12
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +2 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +1 -1
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +15 -4
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +37 -94
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +46 -96
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +4 -5
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +38 -20
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +27 -1
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +1 -1
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +30 -18
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/internal/structured-output.js +8 -5
- package/dist/unstable/ai/internal/structured-output.js.map +1 -1
- package/dist/unstable/arbitrary/Arbitrary.d.ts +626 -0
- package/dist/unstable/arbitrary/Arbitrary.d.ts.map +1 -0
- package/dist/unstable/arbitrary/Arbitrary.js +238 -0
- package/dist/unstable/arbitrary/Arbitrary.js.map +1 -0
- package/dist/unstable/arbitrary/index.d.ts +8 -0
- package/dist/unstable/arbitrary/index.d.ts.map +1 -0
- package/dist/unstable/arbitrary/index.js +9 -0
- package/dist/unstable/arbitrary/index.js.map +1 -0
- package/dist/unstable/cli/Argument.d.ts +104 -108
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +56 -57
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +2 -0
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +2 -0
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.js +26 -3
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +73 -73
- package/dist/unstable/cli/Command.js +18 -18
- package/dist/unstable/cli/Completions.d.ts +4 -4
- package/dist/unstable/cli/Completions.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.d.ts +150 -161
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +79 -90
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +3 -3
- package/dist/unstable/cli/GlobalFlag.js +13 -13
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/Param.d.ts +118 -126
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +104 -113
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +69 -58
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +65 -66
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.d.ts +23 -24
- package/dist/unstable/cli/Prompt.d.ts.map +1 -1
- package/dist/unstable/cli/Prompt.js +68 -63
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/internal/completions/descriptor.js +23 -11
- package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/unstable/cli/internal/completions/zsh.js +2 -2
- package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
- package/dist/unstable/cli/internal/config.js +4 -4
- package/dist/unstable/cli/internal/parser.js +1 -1
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cli/internal/wizard.d.ts.map +1 -1
- package/dist/unstable/cli/internal/wizard.js +14 -13
- package/dist/unstable/cli/internal/wizard.js.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts +13 -0
- package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.js +16 -1
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +57 -14
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +2 -0
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.d.ts +2 -2
- package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +4 -4
- package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.js +2 -3
- package/dist/unstable/cluster/Envelope.js.map +1 -1
- package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/HttpRunner.js +5 -2
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +34 -4
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +28 -9
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +1 -1
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +32 -17
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +23 -23
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SocketRunner.d.ts +2 -2
- package/dist/unstable/cluster/SocketRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/SocketRunner.js +4 -3
- package/dist/unstable/cluster/SocketRunner.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +11 -8
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +11 -4
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/clusterAbandon.d.ts +5 -0
- package/dist/unstable/cluster/internal/clusterAbandon.d.ts.map +1 -0
- package/dist/unstable/cluster/internal/clusterAbandon.js +9 -0
- package/dist/unstable/cluster/internal/clusterAbandon.js.map +1 -0
- package/dist/unstable/cluster/internal/entityManager.js +7 -4
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/interruptors.js +30 -1
- package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +12 -7
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +12 -7
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/encoding/Ini.d.ts +2 -0
- package/dist/unstable/encoding/Ini.d.ts.map +1 -1
- package/dist/unstable/encoding/Ini.js +2 -0
- package/dist/unstable/encoding/Ini.js.map +1 -1
- package/dist/unstable/encoding/SchemaBinary.d.ts +27 -3
- package/dist/unstable/encoding/SchemaBinary.d.ts.map +1 -1
- package/dist/unstable/encoding/SchemaBinary.js +108 -39
- package/dist/unstable/encoding/SchemaBinary.js.map +1 -1
- package/dist/unstable/encoding/Sse.js +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/encoding/Toml.d.ts +2 -0
- package/dist/unstable/encoding/Toml.d.ts.map +1 -1
- package/dist/unstable/encoding/Toml.js +6 -4
- package/dist/unstable/encoding/Toml.js.map +1 -1
- package/dist/unstable/encoding/Yaml.d.ts +2 -0
- package/dist/unstable/encoding/Yaml.d.ts.map +1 -1
- package/dist/unstable/encoding/Yaml.js +16 -5
- package/dist/unstable/encoding/Yaml.js.map +1 -1
- package/dist/unstable/encoding/index.d.ts +0 -4
- package/dist/unstable/encoding/index.d.ts.map +1 -1
- package/dist/unstable/encoding/index.js +0 -4
- package/dist/unstable/encoding/index.js.map +1 -1
- package/dist/unstable/eventlog/Event.d.ts +5 -5
- package/dist/unstable/eventlog/Event.d.ts.map +1 -1
- package/dist/unstable/eventlog/Event.js +3 -3
- package/dist/unstable/eventlog/Event.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +7 -7
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +9 -9
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +4 -4
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +11 -5
- package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.js +25 -15
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +7 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js +13 -3
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +2 -2
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.js +26 -13
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +5 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +1 -45
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +2 -64
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js +1 -1
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/FindMyWay/internal/router.js +124 -33
- package/dist/unstable/http/FindMyWay/internal/router.js.map +1 -1
- package/dist/unstable/http/FindMyWay.d.ts +15 -5
- package/dist/unstable/http/FindMyWay.d.ts.map +1 -1
- package/dist/unstable/http/FindMyWay.js +3 -1
- package/dist/unstable/http/FindMyWay.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +0 -22
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +3 -34
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +41 -10
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +64 -10
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +1 -1
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +28 -18
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +28 -6
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +8 -19
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +6 -1
- package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientResponse.js +10 -6
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +16 -0
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +121 -65
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts +3 -3
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js +1 -13
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +29 -21
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +12 -11
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +36 -10
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +5 -1
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +22 -8
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +11 -42
- package/dist/unstable/http/HttpServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpServer.js +16 -20
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +11 -11
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +1 -1
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +9 -13
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +34 -44
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +2 -2
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpStaticServer.js +19 -19
- package/dist/unstable/http/HttpStaticServer.js.map +1 -1
- package/dist/unstable/http/Mime.d.ts +28 -0
- package/dist/unstable/http/Mime.d.ts.map +1 -0
- package/dist/unstable/http/Mime.js +72 -0
- package/dist/unstable/http/Mime.js.map +1 -0
- package/dist/unstable/http/Multipart.d.ts +22 -9
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +26 -10
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/MultipartParser/internal/multipart.d.ts +1 -1
- package/dist/unstable/http/MultipartParser/internal/multipart.d.ts.map +1 -1
- package/dist/unstable/http/MultipartParser/internal/multipart.js +8 -3
- package/dist/unstable/http/MultipartParser/internal/multipart.js.map +1 -1
- package/dist/unstable/http/MultipartParser.d.ts +4 -3
- package/dist/unstable/http/MultipartParser.d.ts.map +1 -1
- package/dist/unstable/http/MultipartParser.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +0 -97
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +3 -104
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.d.ts +4 -0
- package/dist/unstable/http/index.d.ts.map +1 -1
- package/dist/unstable/http/index.js +4 -0
- package/dist/unstable/http/index.js.map +1 -1
- package/dist/unstable/http/internal/compression.js +8 -11
- package/dist/unstable/http/internal/compression.js.map +1 -1
- package/dist/unstable/http/internal/headers.d.ts +2 -0
- package/dist/unstable/http/internal/headers.d.ts.map +1 -0
- package/dist/unstable/http/internal/headers.js +5 -0
- package/dist/unstable/http/internal/headers.js.map +1 -0
- package/dist/unstable/http/internal/httpBody.js +8 -0
- package/dist/unstable/http/internal/httpBody.js.map +1 -1
- package/dist/unstable/http/internal/mimeTypes.d.ts +361 -0
- package/dist/unstable/http/internal/mimeTypes.d.ts.map +1 -0
- package/dist/unstable/http/internal/mimeTypes.js +363 -0
- package/dist/unstable/http/internal/mimeTypes.js.map +1 -0
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +13 -0
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +23 -6
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -3
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +25 -13
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +8 -3
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +9 -6
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +3 -1
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +7 -5
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +12 -0
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js +8 -10
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.js +8 -2
- package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +31 -20
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/net/IpInterface.d.ts +140 -0
- package/dist/unstable/net/IpInterface.d.ts.map +1 -0
- package/dist/unstable/net/IpInterface.js +149 -0
- package/dist/unstable/net/IpInterface.js.map +1 -0
- package/dist/unstable/net/IpNetwork.d.ts +227 -0
- package/dist/unstable/net/IpNetwork.d.ts.map +1 -0
- package/dist/unstable/net/IpNetwork.js +239 -0
- package/dist/unstable/net/IpNetwork.js.map +1 -0
- package/dist/unstable/net/NetAddress.d.ts +705 -0
- package/dist/unstable/net/NetAddress.d.ts.map +1 -0
- package/dist/unstable/net/NetAddress.js +956 -0
- package/dist/unstable/net/NetAddress.js.map +1 -0
- package/dist/unstable/net/index.d.ts +16 -0
- package/dist/unstable/net/index.d.ts.map +1 -0
- package/dist/unstable/net/index.js +17 -0
- package/dist/unstable/net/index.js.map +1 -0
- package/dist/unstable/observability/OtlpExporter.d.ts +1 -0
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +4 -6
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +9 -9
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js +9 -8
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpResource.js +2 -2
- package/dist/unstable/observability/OtlpResource.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js +82 -55
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/internal/otlpEnv.d.ts +1 -1
- package/dist/unstable/observability/internal/otlpEnv.d.ts.map +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js +5 -9
- package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +1 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +114 -14
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +799 -234
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +28 -15
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +33 -41
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +8 -2
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +7 -2
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +6 -3
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +3 -6
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +6 -3
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +2 -3
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +2 -2
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +1 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +6 -4
- package/dist/unstable/reactivity/Hydration.d.ts.map +1 -1
- package/dist/unstable/reactivity/Hydration.js +20 -6
- package/dist/unstable/reactivity/Hydration.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.d.ts +26 -26
- package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js +10 -12
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +64 -64
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.d.ts +1 -1
- package/dist/unstable/rpc/RpcMessage.d.ts +3 -1
- package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMessage.js +1 -1
- package/dist/unstable/rpc/RpcMessage.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js +7 -5
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +5 -39
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +22 -115
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +104 -57
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +7 -6
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +3 -0
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +287 -102
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +408 -215
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +5 -32
- package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
- package/dist/unstable/socket/SocketServer.js +3 -3
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +20 -0
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +14 -7
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.d.ts +15 -0
- package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +1 -1
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +13 -5
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +29 -15
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Transferable.js +1 -1
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +3 -1
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +7 -0
- package/dist/unstable/workflow/Activity.d.ts.map +1 -1
- package/dist/unstable/workflow/Activity.js +14 -4
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +1 -1
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +2 -2
- package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/DurableQueue.d.ts +8 -0
- package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableQueue.js +8 -0
- package/dist/unstable/workflow/DurableQueue.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +5 -0
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +70 -12
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +6 -0
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +11 -0
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +7 -9
- package/src/Array.ts +118 -67
- package/src/BigDecimal.ts +50 -28
- package/src/ByteSize.ts +838 -0
- package/src/Cache.ts +17 -3
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +183 -48
- package/src/Chunk.ts +65 -36
- package/src/Config.ts +237 -248
- package/src/ConfigProvider.ts +7 -8
- package/src/Context.ts +31 -0
- package/src/Cron.ts +2 -2
- package/src/Crypto.ts +3 -2
- package/src/Deferred.ts +7 -6
- package/src/Duration.ts +1 -1
- package/src/Effect.ts +226 -122
- package/src/Effectable.ts +78 -9
- package/src/Encoding.ts +101 -11
- package/src/Equal.ts +1 -1
- package/src/ExecutionPlan.ts +3 -0
- package/src/Fiber.ts +33 -8
- package/src/FiberHandle.ts +3 -3
- package/src/FiberMap.ts +19 -10
- package/src/FileSystem.ts +55 -230
- package/src/Formatter.ts +21 -3
- package/src/Graph.ts +55 -25
- package/src/Hash.ts +5 -16
- package/src/HashRing.ts +9 -2
- package/src/HashSet.ts +56 -0
- package/src/Iterable.ts +66 -41
- package/src/JsonPatch.ts +4 -4
- package/src/JsonPointer.ts +97 -4
- package/src/JsonSchema.ts +8 -26
- package/src/Layer.ts +59 -18
- package/src/LayerMap.ts +8 -6
- package/src/LayerRef.ts +7 -5
- package/src/Logger.ts +125 -18
- package/src/ManagedRuntime.ts +1 -1
- package/src/Match.ts +33 -14
- package/src/Metric.ts +24 -21
- package/src/MutableHashMap.ts +1 -1
- package/src/MutableHashSet.ts +1 -1
- package/src/MutableList.ts +18 -2
- package/src/Number.ts +7 -1
- package/src/Optic.ts +8 -4
- package/src/Option.ts +1 -1
- package/src/Order.ts +3 -1
- package/src/PartitionedSemaphore.ts +1 -2
- package/src/Path.ts +1 -1
- package/src/PlatformError.ts +1 -1
- package/src/Pool.ts +125 -8
- package/src/PrimaryKey.ts +1 -1
- package/src/PubSub.ts +32 -20
- package/src/Queue.ts +119 -28
- package/src/Random.ts +20 -6
- package/src/RcMap.ts +20 -13
- package/src/Redacted.ts +1 -1
- package/src/RequestResolver.ts +49 -26
- package/src/Result.ts +1 -1
- package/src/Scheduler.ts +21 -11
- package/src/Schema.ts +4809 -6368
- package/src/SchemaAST.ts +1031 -284
- package/src/SchemaGetter.ts +75 -21
- package/src/SchemaIssue.ts +259 -15
- package/src/SchemaParser.ts +2 -12
- package/src/SchemaRepresentation.ts +1593 -29
- package/src/SchemaTransformation.ts +145 -22
- package/src/ScopedCache.ts +10 -3
- package/src/Sink.ts +31 -15
- package/src/Stream.ts +294 -76
- package/src/String.ts +20 -9
- package/src/Struct.ts +8 -4
- package/src/SynchronizedRef.ts +3 -5
- package/src/Terminal.ts +3 -3
- package/src/Tracer.ts +43 -14
- package/src/Tuple.ts +3 -1
- package/src/TxChunk.ts +1 -1
- package/src/TxDeferred.ts +1 -1
- package/src/TxHashMap.ts +1 -1
- package/src/TxHashSet.ts +92 -11
- package/src/TxPriorityQueue.ts +1 -1
- package/src/TxPubSub.ts +1 -1
- package/src/TxQueue.ts +22 -17
- package/src/TxReentrantLock.ts +29 -1
- package/src/TxRef.ts +1 -1
- package/src/TxSemaphore.ts +1 -1
- package/src/TxSubscriptionRef.ts +1 -1
- package/src/Types.ts +40 -17
- package/src/Utils.ts +3 -1
- package/src/index.ts +5 -0
- package/src/internal/arbitrary/model.ts +701 -0
- package/src/internal/arbitrary/regexp.ts +855 -0
- package/src/internal/arbitrary/runner.ts +608 -0
- package/src/internal/arbitrary/schema.ts +1800 -0
- package/src/internal/core.ts +48 -22
- package/src/internal/count.ts +14 -0
- package/src/internal/dateTime.ts +8 -10
- package/src/internal/effect.ts +475 -295
- package/src/internal/graph.ts +6 -1
- package/src/internal/hashMap.ts +5 -3
- package/src/internal/hashSet.ts +1 -1
- package/src/internal/matcher.ts +34 -19
- package/src/internal/metric.ts +1 -1
- package/src/internal/option.ts +8 -6
- package/src/internal/random.ts +20 -7
- package/src/internal/rcRef.ts +10 -7
- package/src/internal/references.ts +1 -0
- package/src/internal/request.ts +12 -7
- package/src/internal/result.ts +15 -11
- package/src/internal/schema/annotations.ts +3 -3
- package/src/internal/schema/fromJsonSchemaDocument.ts +14 -29
- package/src/internal/schema/fromRepresentation.ts +5 -3
- package/src/internal/schema/{schema.ts → make.ts} +0 -40
- package/src/internal/schema/parser.ts +8 -0
- package/src/internal/schema/standardSchema.ts +125 -0
- package/src/internal/schema/toCodeDocument.ts +58 -44
- package/src/internal/schema/toCodec.ts +312 -0
- package/src/internal/schema/toDifferJsonPatch.ts +24 -0
- package/src/internal/schema/toEncoderXml.ts +110 -0
- package/src/internal/schema/toEquivalence.ts +76 -0
- package/src/internal/schema/toFormatter.ts +230 -0
- package/src/internal/schema/toIso.ts +20 -0
- package/src/internal/schema/toJsonSchemaDocument.ts +125 -67
- package/src/internal/schema/toRepresentation.ts +1 -1
- package/src/internal/schemaError.ts +8 -0
- package/src/internal/stream.ts +14 -6
- package/src/internal/tracer.ts +4 -0
- package/src/internal/trie.ts +5 -2
- package/src/internal/uuid.ts +4 -0
- package/src/testing/TestSchema.ts +36 -30
- package/src/testing/index.ts +0 -5
- package/src/unstable/ai/AiError.ts +69 -5
- package/src/unstable/ai/AnthropicStructuredOutput.ts +4 -1
- package/src/unstable/ai/Chat.ts +35 -36
- package/src/unstable/ai/EmbeddingModel.ts +27 -15
- package/src/unstable/ai/LanguageModel.ts +283 -100
- package/src/unstable/ai/McpServer.ts +36 -20
- package/src/unstable/ai/OpenAiStructuredOutput.ts +4 -1
- package/src/unstable/ai/Prompt.ts +19 -4
- package/src/unstable/ai/Response.ts +107 -189
- package/src/unstable/ai/Tokenizer.ts +4 -5
- package/src/unstable/ai/Tool.ts +58 -35
- package/src/unstable/ai/Toolkit.ts +43 -37
- package/src/unstable/ai/internal/structured-output.ts +5 -5
- package/src/unstable/arbitrary/Arbitrary.ts +715 -0
- package/src/unstable/arbitrary/index.ts +10 -0
- package/src/unstable/cli/Argument.ts +111 -115
- package/src/unstable/cli/CliError.ts +2 -0
- package/src/unstable/cli/CliOutput.ts +40 -3
- package/src/unstable/cli/Command.ts +74 -74
- package/src/unstable/cli/Completions.ts +4 -4
- package/src/unstable/cli/Flag.ts +158 -169
- package/src/unstable/cli/GlobalFlag.ts +13 -13
- package/src/unstable/cli/Param.ts +150 -159
- package/src/unstable/cli/Primitive.ts +75 -76
- package/src/unstable/cli/Prompt.ts +88 -87
- package/src/unstable/cli/internal/completions/descriptor.ts +23 -11
- package/src/unstable/cli/internal/completions/zsh.ts +2 -2
- package/src/unstable/cli/internal/config.ts +4 -4
- package/src/unstable/cli/internal/parser.ts +1 -1
- package/src/unstable/cli/internal/wizard.ts +18 -13
- package/src/unstable/cluster/ClusterSchema.ts +19 -1
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +66 -16
- package/src/unstable/cluster/Entity.ts +3 -0
- package/src/unstable/cluster/EntityProxyServer.ts +6 -2
- package/src/unstable/cluster/Envelope.ts +3 -3
- package/src/unstable/cluster/HttpRunner.ts +7 -2
- package/src/unstable/cluster/MessageStorage.ts +62 -21
- package/src/unstable/cluster/Reply.ts +2 -2
- package/src/unstable/cluster/Sharding.ts +44 -19
- package/src/unstable/cluster/ShardingConfig.ts +23 -23
- package/src/unstable/cluster/SocketRunner.ts +5 -4
- package/src/unstable/cluster/SqlMessageStorage.ts +12 -8
- package/src/unstable/cluster/SqlRunnerStorage.ts +18 -10
- package/src/unstable/cluster/internal/clusterAbandon.ts +14 -0
- package/src/unstable/cluster/internal/entityManager.ts +12 -4
- package/src/unstable/cluster/internal/interruptors.ts +58 -1
- package/src/unstable/cluster/internal/resourceRef.ts +15 -7
- package/src/unstable/devtools/DevToolsClient.ts +13 -3
- package/src/unstable/encoding/Ini.ts +2 -0
- package/src/unstable/encoding/SchemaBinary.ts +150 -44
- package/src/unstable/encoding/Sse.ts +1 -1
- package/src/unstable/encoding/Toml.ts +7 -5
- package/src/unstable/encoding/Yaml.ts +18 -5
- package/src/unstable/encoding/index.ts +0 -5
- package/src/unstable/eventlog/Event.ts +7 -7
- package/src/unstable/eventlog/EventJournal.ts +9 -9
- package/src/unstable/eventlog/EventLog.ts +5 -5
- package/src/unstable/eventlog/EventLogMessage.ts +25 -15
- package/src/unstable/eventlog/EventLogRemote.ts +15 -4
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +2 -2
- package/src/unstable/eventlog/SqlEventJournal.ts +32 -9
- package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +11 -1
- package/src/unstable/http/Cookies.ts +2 -102
- package/src/unstable/http/FetchHttpClient.ts +1 -1
- package/src/unstable/http/FindMyWay/internal/router.ts +139 -33
- package/src/unstable/http/FindMyWay.ts +15 -5
- package/src/unstable/http/Headers.ts +3 -48
- package/src/unstable/http/HttpBody.ts +107 -36
- package/src/unstable/http/HttpClient.ts +41 -30
- package/src/unstable/http/HttpClientRequest.ts +32 -18
- package/src/unstable/http/HttpClientResponse.ts +16 -3
- package/src/unstable/http/HttpEffect.ts +145 -73
- package/src/unstable/http/HttpIncomingMessage.ts +4 -4
- package/src/unstable/http/HttpMiddleware.ts +43 -24
- package/src/unstable/http/HttpPlatform.ts +62 -20
- package/src/unstable/http/HttpRouter.ts +27 -16
- package/src/unstable/http/HttpServer.ts +18 -57
- package/src/unstable/http/HttpServerRequest.ts +17 -15
- package/src/unstable/http/HttpServerRespondable.ts +1 -1
- package/src/unstable/http/HttpServerResponse.ts +49 -40
- package/src/unstable/http/HttpStaticServer.ts +30 -28
- package/src/unstable/http/Mime.ts +76 -0
- package/src/unstable/http/Multipart.ts +35 -18
- package/src/unstable/http/MultipartParser/internal/multipart.ts +10 -3
- package/src/unstable/http/MultipartParser.ts +4 -3
- package/src/unstable/http/UrlParams.ts +3 -161
- package/src/unstable/http/index.ts +5 -0
- package/src/unstable/http/internal/compression.ts +11 -12
- package/src/unstable/http/internal/headers.ts +7 -0
- package/src/unstable/http/internal/httpBody.ts +9 -0
- package/src/unstable/http/internal/mimeTypes.ts +395 -0
- package/src/unstable/httpapi/HttpApiBuilder.ts +52 -6
- package/src/unstable/httpapi/HttpApiClient.ts +44 -24
- package/src/unstable/httpapi/HttpApiEndpoint.ts +24 -11
- package/src/unstable/httpapi/HttpApiError.ts +3 -1
- package/src/unstable/httpapi/HttpApiMiddleware.ts +7 -5
- package/src/unstable/httpapi/HttpApiSchema.ts +14 -7
- package/src/unstable/httpapi/HttpApiTest.ts +6 -1
- package/src/unstable/httpapi/OpenApi.ts +32 -22
- package/src/unstable/net/IpInterface.ts +242 -0
- package/src/unstable/net/IpNetwork.ts +357 -0
- package/src/unstable/net/NetAddress.ts +1271 -0
- package/src/unstable/net/index.ts +20 -0
- package/src/unstable/observability/OtlpExporter.ts +5 -6
- package/src/unstable/observability/OtlpLogger.ts +9 -9
- package/src/unstable/observability/OtlpMetrics.ts +9 -8
- package/src/unstable/observability/OtlpResource.ts +5 -4
- package/src/unstable/observability/OtlpTracer.ts +103 -81
- package/src/unstable/observability/internal/otlpEnv.ts +10 -13
- package/src/unstable/persistence/PersistedCache.ts +1 -1
- package/src/unstable/persistence/PersistedQueue.ts +1100 -291
- package/src/unstable/persistence/RateLimiter.ts +64 -58
- package/src/unstable/process/ChildProcess.ts +15 -4
- package/src/unstable/process/ChildProcessSpawner.ts +1 -1
- package/src/unstable/reactivity/Atom.ts +6 -3
- package/src/unstable/reactivity/AtomHttpApi.ts +21 -10
- package/src/unstable/reactivity/AtomRegistry.ts +2 -4
- package/src/unstable/reactivity/AtomRpc.ts +6 -5
- package/src/unstable/reactivity/Hydration.ts +26 -7
- package/src/unstable/reactivity/Reactivity.ts +49 -36
- package/src/unstable/rpc/RpcClient.ts +62 -59
- package/src/unstable/rpc/RpcMessage.ts +3 -1
- package/src/unstable/rpc/RpcMiddleware.ts +7 -5
- package/src/unstable/rpc/RpcSerialization.ts +27 -117
- package/src/unstable/rpc/RpcServer.ts +143 -80
- package/src/unstable/schema/Model.ts +8 -7
- package/src/unstable/schema/VariantSchema.ts +3 -0
- package/src/unstable/socket/Socket.ts +714 -383
- package/src/unstable/socket/SocketServer.ts +5 -35
- package/src/unstable/sql/SqlClient.ts +42 -7
- package/src/unstable/sql/SqlConnection.ts +18 -0
- package/src/unstable/sql/SqlModel.ts +1 -1
- package/src/unstable/sql/Statement.ts +46 -20
- package/src/unstable/workers/Transferable.ts +1 -1
- package/src/unstable/workers/Worker.ts +3 -1
- package/src/unstable/workflow/Activity.ts +20 -9
- package/src/unstable/workflow/DurableClock.ts +1 -1
- package/src/unstable/workflow/DurableDeferred.ts +6 -0
- package/src/unstable/workflow/DurableQueue.ts +8 -0
- package/src/unstable/workflow/Workflow.ts +105 -28
- package/src/unstable/workflow/WorkflowEngine.ts +22 -0
- package/dist/internal/schema/schema.d.ts.map +0 -1
- package/dist/internal/schema/schema.js.map +0 -1
- package/dist/internal/schema/toArbitrary.d.ts +0 -2
- package/dist/internal/schema/toArbitrary.d.ts.map +0 -1
- package/dist/internal/schema/toArbitrary.js +0 -705
- package/dist/internal/schema/toArbitrary.js.map +0 -1
- package/dist/testing/FastCheck.d.ts +0 -90
- package/dist/testing/FastCheck.d.ts.map +0 -1
- package/dist/testing/FastCheck.js +0 -90
- package/dist/testing/FastCheck.js.map +0 -1
- package/dist/unstable/encoding/Msgpack.d.ts +0 -185
- package/dist/unstable/encoding/Msgpack.d.ts.map +0 -1
- package/dist/unstable/encoding/Msgpack.js +0 -227
- package/dist/unstable/encoding/Msgpack.js.map +0 -1
- package/src/internal/schema/toArbitrary.ts +0 -843
- package/src/testing/FastCheck.ts +0 -90
- package/src/unstable/encoding/Msgpack.ts +0 -432
- /package/dist/internal/{schema → arbitrary}/schema.d.ts +0 -0
|
@@ -1,2 +1,59 @@
|
|
|
1
|
+
import * as Effect from "../../../Effect.ts"
|
|
2
|
+
import type { EntityAddress } from "../EntityAddress.ts"
|
|
3
|
+
import type { ShardId } from "../ShardId.ts"
|
|
4
|
+
|
|
5
|
+
const counts = new Map<string, number>()
|
|
6
|
+
|
|
7
|
+
const acquire = (key: string) => {
|
|
8
|
+
counts.set(key, (counts.get(key) ?? 0) + 1)
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const release = (key: string) => {
|
|
12
|
+
const n = counts.get(key)
|
|
13
|
+
if (n === undefined) return
|
|
14
|
+
if (n <= 1) counts.delete(key)
|
|
15
|
+
else counts.set(key, n - 1)
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const around = <A, E, R>(key: string, effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R> =>
|
|
19
|
+
Effect.suspend(() => {
|
|
20
|
+
acquire(key)
|
|
21
|
+
return Effect.ensuring(effect, Effect.sync(() => release(key)))
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
const entityKey = (address: EntityAddress): string =>
|
|
25
|
+
`entity:${address.entityType}:${address.entityId}:${address.shardId.toString()}`
|
|
26
|
+
|
|
27
|
+
const shardKey = (shardId: ShardId): string => `shard:${shardId.toString()}`
|
|
28
|
+
|
|
29
|
+
const entityTypeKey = (entityType: string): string => `type:${entityType}`
|
|
30
|
+
|
|
1
31
|
/** @internal */
|
|
2
|
-
export const
|
|
32
|
+
export const acquireEntity = (address: EntityAddress): void => acquire(entityKey(address))
|
|
33
|
+
|
|
34
|
+
/** @internal */
|
|
35
|
+
export const releaseEntity = (address: EntityAddress): void => release(entityKey(address))
|
|
36
|
+
|
|
37
|
+
/** @internal */
|
|
38
|
+
export const acquireEntityType = (entityType: string): void => acquire(entityTypeKey(entityType))
|
|
39
|
+
|
|
40
|
+
/** @internal */
|
|
41
|
+
export const releaseEntityType = (entityType: string): void => release(entityTypeKey(entityType))
|
|
42
|
+
|
|
43
|
+
/** @internal */
|
|
44
|
+
export const aroundShard = <A, E, R>(
|
|
45
|
+
shardId: ShardId,
|
|
46
|
+
effect: Effect.Effect<A, E, R>
|
|
47
|
+
): Effect.Effect<A, E, R> => around(shardKey(shardId), effect)
|
|
48
|
+
|
|
49
|
+
/** @internal */
|
|
50
|
+
export const aroundEntityType = <A, E, R>(
|
|
51
|
+
entityType: string,
|
|
52
|
+
effect: Effect.Effect<A, E, R>
|
|
53
|
+
): Effect.Effect<A, E, R> => around(entityTypeKey(entityType), effect)
|
|
54
|
+
|
|
55
|
+
/** @internal */
|
|
56
|
+
export const isActive = (address: EntityAddress): boolean =>
|
|
57
|
+
counts.has(entityKey(address)) ||
|
|
58
|
+
counts.has(shardKey(address.shardId)) ||
|
|
59
|
+
counts.has(entityTypeKey(address.entityType))
|
|
@@ -5,7 +5,8 @@ import * as Latch from "../../../Latch.ts"
|
|
|
5
5
|
import * as MutableRef from "../../../MutableRef.ts"
|
|
6
6
|
import * as Option from "../../../Option.ts"
|
|
7
7
|
import * as Scope from "../../../Scope.ts"
|
|
8
|
-
import {
|
|
8
|
+
import type { EntityAddress } from "../EntityAddress.ts"
|
|
9
|
+
import { acquireEntity, releaseEntity } from "./interruptors.ts"
|
|
9
10
|
|
|
10
11
|
/** @internal */
|
|
11
12
|
export type State<A, E> = {
|
|
@@ -27,7 +28,8 @@ export type State<A, E> = {
|
|
|
27
28
|
export class ResourceRef<A, E = never> {
|
|
28
29
|
static from = Effect.fnUntraced(function*<A, E>(
|
|
29
30
|
parentScope: Scope.Scope,
|
|
30
|
-
acquire: (scope: Scope.Scope) => Effect.Effect<A, E
|
|
31
|
+
acquire: (scope: Scope.Scope) => Effect.Effect<A, E>,
|
|
32
|
+
teardownAddress?: EntityAddress
|
|
31
33
|
) {
|
|
32
34
|
const state = MutableRef.make<State<A, E>>({ _tag: "Closed" })
|
|
33
35
|
|
|
@@ -46,17 +48,20 @@ export class ResourceRef<A, E = never> {
|
|
|
46
48
|
const value = yield* acquire(scope)
|
|
47
49
|
MutableRef.set(state, { _tag: "Acquired", scope, value })
|
|
48
50
|
|
|
49
|
-
return new ResourceRef(state, acquire)
|
|
51
|
+
return new ResourceRef(state, acquire, teardownAddress)
|
|
50
52
|
})
|
|
51
53
|
|
|
52
54
|
readonly state: MutableRef.MutableRef<State<A, E>>
|
|
53
55
|
readonly acquire: (scope: Scope.Scope) => Effect.Effect<A, E>
|
|
56
|
+
readonly teardownAddress: EntityAddress | undefined
|
|
54
57
|
constructor(
|
|
55
58
|
state: MutableRef.MutableRef<State<A, E>>,
|
|
56
|
-
acquire: (scope: Scope.Scope) => Effect.Effect<A, E
|
|
59
|
+
acquire: (scope: Scope.Scope) => Effect.Effect<A, E>,
|
|
60
|
+
teardownAddress?: EntityAddress
|
|
57
61
|
) {
|
|
58
62
|
this.state = state
|
|
59
63
|
this.acquire = acquire
|
|
64
|
+
this.teardownAddress = teardownAddress
|
|
60
65
|
}
|
|
61
66
|
|
|
62
67
|
latch = Latch.makeUnsafe(true)
|
|
@@ -77,9 +82,12 @@ export class ResourceRef<A, E = never> {
|
|
|
77
82
|
const scope = Scope.makeUnsafe()
|
|
78
83
|
this.latch.closeUnsafe()
|
|
79
84
|
MutableRef.set(this.state, { _tag: "Acquiring", scope })
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
85
|
+
const teardownAddress = this.teardownAddress
|
|
86
|
+
return Effect.suspend(() => {
|
|
87
|
+
const close = Scope.close(prevScope, Exit.void)
|
|
88
|
+
if (!teardownAddress) return close
|
|
89
|
+
acquireEntity(teardownAddress)
|
|
90
|
+
return Effect.ensuring(close, Effect.sync(() => releaseEntity(teardownAddress)))
|
|
83
91
|
}).pipe(
|
|
84
92
|
Effect.andThen(this.acquire(scope)),
|
|
85
93
|
Effect.flatMap((value) => {
|
|
@@ -177,6 +177,17 @@ export const make: Effect.Effect<
|
|
|
177
177
|
*/
|
|
178
178
|
export const layer: Layer.Layer<DevToolsClient, never, Socket.Socket> = Layer.effect(DevToolsClient, make)
|
|
179
179
|
|
|
180
|
+
const spanSnapshot = (span: Tracer.Span): DevToolsSchema.Span => ({
|
|
181
|
+
_tag: "Span",
|
|
182
|
+
spanId: span.spanId,
|
|
183
|
+
traceId: span.traceId,
|
|
184
|
+
name: span.name,
|
|
185
|
+
sampled: span.sampled,
|
|
186
|
+
attributes: new Map(span.attributes),
|
|
187
|
+
status: span.status,
|
|
188
|
+
parent: span.parent
|
|
189
|
+
})
|
|
190
|
+
|
|
180
191
|
const makeTracerEffect = Effect.gen(function*() {
|
|
181
192
|
const client = yield* DevToolsClient
|
|
182
193
|
const currentTracer = yield* Effect.tracer
|
|
@@ -184,8 +195,7 @@ const makeTracerEffect = Effect.gen(function*() {
|
|
|
184
195
|
return Tracer.make({
|
|
185
196
|
span(options) {
|
|
186
197
|
const span = currentTracer.span(options)
|
|
187
|
-
|
|
188
|
-
client.sendUnsafe({ ...span })
|
|
198
|
+
client.sendUnsafe(spanSnapshot(span))
|
|
189
199
|
const oldEvent = span.event
|
|
190
200
|
span.event = function(this: Tracer.Span, name, startTime, attributes) {
|
|
191
201
|
client.sendUnsafe({
|
|
@@ -202,7 +212,7 @@ const makeTracerEffect = Effect.gen(function*() {
|
|
|
202
212
|
const oldEnd = span.end
|
|
203
213
|
span.end = function(this: Tracer.Span, endTime, exit) {
|
|
204
214
|
oldEnd.call(this, endTime, exit)
|
|
205
|
-
client.sendUnsafe(
|
|
215
|
+
client.sendUnsafe(spanSnapshot(span))
|
|
206
216
|
}
|
|
207
217
|
|
|
208
218
|
return span
|
|
@@ -82,6 +82,8 @@ const unquote = (input: string | undefined): string => {
|
|
|
82
82
|
/**
|
|
83
83
|
* Parses an INI document into a null-prototype record.
|
|
84
84
|
*
|
|
85
|
+
* **Details**
|
|
86
|
+
*
|
|
85
87
|
* Section names separated by dots become nested records, repeated keys ending
|
|
86
88
|
* in `[]` become arrays, and the scalar values `true`, `false`, and `null` are
|
|
87
89
|
* decoded. Other scalar values remain strings.
|
|
@@ -23,7 +23,7 @@ import { dual, memoize } from "../../Function.ts"
|
|
|
23
23
|
import * as HashMap from "../../HashMap.ts"
|
|
24
24
|
import * as HashSet from "../../HashSet.ts"
|
|
25
25
|
import { assignProperty } from "../../internal/record.ts"
|
|
26
|
-
import * as
|
|
26
|
+
import * as InternalParserProtocol from "../../internal/schema/parser.ts"
|
|
27
27
|
import * as Option from "../../Option.ts"
|
|
28
28
|
import * as Predicate from "../../Predicate.ts"
|
|
29
29
|
import * as Pull from "../../Pull.ts"
|
|
@@ -38,6 +38,8 @@ import * as SchemaTransformation from "../../SchemaTransformation.ts"
|
|
|
38
38
|
/**
|
|
39
39
|
* Selects the wire mode.
|
|
40
40
|
*
|
|
41
|
+
* **Details**
|
|
42
|
+
*
|
|
41
43
|
* The default mode supports compatible schema evolution. `fingerprint: true`
|
|
42
44
|
* uses positional layouts and an 8-byte layout hash for smaller frames, but
|
|
43
45
|
* requires peers to use the same schema definition.
|
|
@@ -47,6 +49,8 @@ import * as SchemaTransformation from "../../SchemaTransformation.ts"
|
|
|
47
49
|
*/
|
|
48
50
|
export interface Options {
|
|
49
51
|
/**
|
|
52
|
+
* Uses a compact positional layout with a schema fingerprint.
|
|
53
|
+
*
|
|
50
54
|
* @since 4.0.0
|
|
51
55
|
*/
|
|
52
56
|
readonly fingerprint?: boolean | undefined
|
|
@@ -67,16 +71,24 @@ export interface toCodec<S extends Schema.Constraint> extends
|
|
|
67
71
|
>
|
|
68
72
|
{}
|
|
69
73
|
|
|
74
|
+
const codecCache = new WeakMap<Schema.Constraint, toCodec<any>>()
|
|
75
|
+
const fingerprintCodecCache = new WeakMap<Schema.Constraint, toCodec<any>>()
|
|
76
|
+
const directCodecCache = new WeakMap<Schema.Constraint, toCodec<any>>()
|
|
77
|
+
const directFingerprintCodecCache = new WeakMap<Schema.Constraint, toCodec<any>>()
|
|
78
|
+
|
|
70
79
|
/**
|
|
71
80
|
* Derives a compact binary codec from a schema.
|
|
72
81
|
*
|
|
82
|
+
* **Details**
|
|
83
|
+
*
|
|
73
84
|
* The wire layout is compiled from the encoded side of the schema. Each
|
|
74
85
|
* encode/decode handles exactly one frame; use {@link parser} for streams.
|
|
86
|
+
* Derived codecs are memoized by schema identity and wire mode.
|
|
75
87
|
*
|
|
76
88
|
* Encoded results are arena-backed views and may share a larger buffer. Use
|
|
77
89
|
* `bytes.slice()` when independent ownership is required.
|
|
78
90
|
*
|
|
79
|
-
* **Example**
|
|
91
|
+
* **Example** (Deriving a binary codec)
|
|
80
92
|
*
|
|
81
93
|
* ```ts
|
|
82
94
|
* import { Schema } from "effect"
|
|
@@ -93,15 +105,20 @@ export interface toCodec<S extends Schema.Constraint> extends
|
|
|
93
105
|
* @since 4.0.0
|
|
94
106
|
*/
|
|
95
107
|
export function toCodec<S extends Schema.Constraint>(schema: S, options?: Options): toCodec<S> {
|
|
108
|
+
const cache = options?.fingerprint === true ? fingerprintCodecCache : codecCache
|
|
109
|
+
const cached = cache.get(schema)
|
|
110
|
+
if (cached !== undefined) return cached
|
|
96
111
|
const { exact, layout, recursive, target } = compileTarget(schema)
|
|
97
112
|
const mode = compileMode(layout, options?.fingerprint)
|
|
98
113
|
const trusted: Trusted | undefined = exact ? { value: undefined } : undefined
|
|
99
|
-
|
|
114
|
+
const codec = assembleCodec<S>(
|
|
100
115
|
trusted === undefined ? target : withTrustedDecode(target, trusted, !recursive),
|
|
101
116
|
layout,
|
|
102
117
|
mode,
|
|
103
118
|
trusted
|
|
104
119
|
)
|
|
120
|
+
cache.set(schema, codec)
|
|
121
|
+
return codec
|
|
105
122
|
}
|
|
106
123
|
|
|
107
124
|
/**
|
|
@@ -111,24 +128,37 @@ export function toCodec<S extends Schema.Constraint>(schema: S, options?: Option
|
|
|
111
128
|
* Only schemas the binary layer already validates on its own take the direct
|
|
112
129
|
* path; anything else falls back to {@link toCodec}. A direct codec encodes and
|
|
113
130
|
* decodes the same values as {@link toCodec} but is not a sound `Schema.is`
|
|
114
|
-
* guard, so it is only for callers that never guard on it.
|
|
131
|
+
* guard, so it is only for callers that never guard on it. Derived codecs are
|
|
132
|
+
* memoized by schema identity and wire mode.
|
|
115
133
|
*
|
|
116
134
|
* @internal
|
|
117
135
|
*/
|
|
118
136
|
export function toCodecDirect<S extends Schema.Constraint>(schema: S, options?: Options): toCodec<S> {
|
|
137
|
+
const cache = options?.fingerprint === true ? directFingerprintCodecCache : directCodecCache
|
|
138
|
+
const cached = cache.get(schema)
|
|
139
|
+
if (cached !== undefined) return cached
|
|
119
140
|
const { exact, exitSuccess, layout, target } = compileTarget(schema)
|
|
120
141
|
if (!exact) {
|
|
121
142
|
if (!exitSuccess) return toCodec(schema, options)
|
|
122
143
|
const trusted: Trusted = { value: undefined }
|
|
123
|
-
|
|
144
|
+
const codec = assembleCodec<S>(
|
|
124
145
|
withExitSuccessDecode(target, trusted),
|
|
125
146
|
layout,
|
|
126
147
|
compileMode(layout, options?.fingerprint),
|
|
127
148
|
trusted,
|
|
128
149
|
true
|
|
129
150
|
)
|
|
151
|
+
cache.set(schema, codec)
|
|
152
|
+
return codec
|
|
130
153
|
}
|
|
131
|
-
|
|
154
|
+
const codec = assembleCodec<S>(
|
|
155
|
+
passThrough(target),
|
|
156
|
+
layout,
|
|
157
|
+
compileMode(layout, options?.fingerprint),
|
|
158
|
+
undefined
|
|
159
|
+
)
|
|
160
|
+
cache.set(schema, codec)
|
|
161
|
+
return codec
|
|
132
162
|
}
|
|
133
163
|
|
|
134
164
|
function assembleCodec<S extends Schema.Constraint>(
|
|
@@ -159,7 +189,7 @@ export function encodeUnknownSync<S extends Schema.Constraint>(
|
|
|
159
189
|
const { exact, exitSuccess, layout } = compileTarget(schema)
|
|
160
190
|
const mode = compileMode(layout, options?.fingerprint)
|
|
161
191
|
const parseOptions: SchemaAST.ParseOptions = options ?? SchemaAST.defaultParseOptions
|
|
162
|
-
if (!exact) {
|
|
192
|
+
if (!exact || parseOptions.onExcessProperty === "error") {
|
|
163
193
|
const fallback = Schema.encodeUnknownSync(
|
|
164
194
|
toCodec(schema, options) as unknown as Schema.ConstraintEncoder<unknown, never>,
|
|
165
195
|
options
|
|
@@ -197,12 +227,12 @@ export function encodeManyUnknownSync<S extends Schema.Constraint>(
|
|
|
197
227
|
options?: SchemaAST.ParseOptions & Options
|
|
198
228
|
): (values: ReadonlyArray<unknown>) => Uint8Array<ArrayBuffer> {
|
|
199
229
|
const { exact, layout } = compileTarget(schema)
|
|
200
|
-
|
|
230
|
+
const parseOptions: SchemaAST.ParseOptions = options ?? SchemaAST.defaultParseOptions
|
|
231
|
+
if (!exact || parseOptions.onExcessProperty === "error") {
|
|
201
232
|
const encode = encodeUnknownSync(schema, options)
|
|
202
233
|
return (values) => concatFrames(values.map(encode))
|
|
203
234
|
}
|
|
204
235
|
const mode = compileMode(layout, options?.fingerprint)
|
|
205
|
-
const parseOptions: SchemaAST.ParseOptions = options ?? SchemaAST.defaultParseOptions
|
|
206
236
|
return (values) => {
|
|
207
237
|
try {
|
|
208
238
|
return encodeFrames(layout, values, parseOptions, mode)
|
|
@@ -233,18 +263,26 @@ function concatFrames(frames: ReadonlyArray<Uint8Array<ArrayBuffer>>): Uint8Arra
|
|
|
233
263
|
*/
|
|
234
264
|
export interface Parser<T> {
|
|
235
265
|
/**
|
|
266
|
+
* Feeds another chunk into the parser and returns any completed values.
|
|
267
|
+
*
|
|
236
268
|
* @since 4.0.0
|
|
237
269
|
*/
|
|
238
270
|
feed(chunk: Uint8Array): Effect.Effect<ReadonlyArray<T>, Schema.SchemaError>
|
|
239
271
|
/**
|
|
272
|
+
* Feeds another chunk into the parser synchronously.
|
|
273
|
+
*
|
|
240
274
|
* @since 4.0.0
|
|
241
275
|
*/
|
|
242
276
|
feedSync(chunk: Uint8Array): ReadonlyArray<T>
|
|
243
277
|
/**
|
|
278
|
+
* Finishes parsing and fails if an incomplete frame remains.
|
|
279
|
+
*
|
|
244
280
|
* @since 4.0.0
|
|
245
281
|
*/
|
|
246
282
|
end: Effect.Effect<void, Schema.SchemaError>
|
|
247
283
|
/**
|
|
284
|
+
* Finishes parsing synchronously and throws for an incomplete frame.
|
|
285
|
+
*
|
|
248
286
|
* @since 4.0.0
|
|
249
287
|
*/
|
|
250
288
|
endSync(): void
|
|
@@ -253,6 +291,8 @@ export interface Parser<T> {
|
|
|
253
291
|
/**
|
|
254
292
|
* Creates a stateful parser for a stream of concatenated frames.
|
|
255
293
|
*
|
|
294
|
+
* **Details**
|
|
295
|
+
*
|
|
256
296
|
* Values completed before a failure remain observable. After a failure, the
|
|
257
297
|
* parser rejects further calls. Use `maxFrameSize` to limit buffered frames.
|
|
258
298
|
*
|
|
@@ -294,6 +334,8 @@ export interface StreamOptions {
|
|
|
294
334
|
* it. Frames stop standing alone: they only decode through the parser that
|
|
295
335
|
* saw the frames before them, in order.
|
|
296
336
|
*
|
|
337
|
+
* **Gotchas**
|
|
338
|
+
*
|
|
297
339
|
* Both ends have to set it. A schema the binary layer does not fully
|
|
298
340
|
* validate on its own cannot use it, and asking for it throws.
|
|
299
341
|
*
|
|
@@ -322,13 +364,19 @@ export function encoder<S extends Schema.Constraint>(
|
|
|
322
364
|
schema: S,
|
|
323
365
|
options?: SchemaAST.ParseOptions & Options & StreamOptions
|
|
324
366
|
): Encoder {
|
|
325
|
-
const { exact, layout } = compileTarget(schema)
|
|
367
|
+
const { exact, layout, target } = compileTarget(schema)
|
|
326
368
|
const dictionary = requireDictionary(exact, options)
|
|
327
369
|
const encode = encodeUnknownSync(schema, options)
|
|
328
370
|
const encodeMany = encodeManyUnknownSync(schema, options)
|
|
329
371
|
if (!dictionary) return { encode, encodeMany }
|
|
330
372
|
const mode = compileMode(layout, options?.fingerprint)
|
|
331
373
|
const parseOptions: SchemaAST.ParseOptions = options ?? SchemaAST.defaultParseOptions
|
|
374
|
+
const validate = parseOptions.onExcessProperty === "error"
|
|
375
|
+
? Schema.encodeUnknownSync(
|
|
376
|
+
target as Schema.ConstraintEncoder<unknown, never>,
|
|
377
|
+
options
|
|
378
|
+
) as (value: unknown) => unknown
|
|
379
|
+
: undefined
|
|
332
380
|
const dict = makeDictWrite()
|
|
333
381
|
const run = <A>(f: () => A): A => {
|
|
334
382
|
try {
|
|
@@ -338,8 +386,18 @@ export function encoder<S extends Schema.Constraint>(
|
|
|
338
386
|
}
|
|
339
387
|
}
|
|
340
388
|
return {
|
|
341
|
-
encode: (value) =>
|
|
342
|
-
|
|
389
|
+
encode: (value) =>
|
|
390
|
+
run(() => encodeFrame(layout, validate === undefined ? value : validate(value), parseOptions, mode, dict)),
|
|
391
|
+
encodeMany: (values) =>
|
|
392
|
+
run(() =>
|
|
393
|
+
encodeFrames(
|
|
394
|
+
layout,
|
|
395
|
+
validate === undefined ? values : values.map(validate),
|
|
396
|
+
parseOptions,
|
|
397
|
+
mode,
|
|
398
|
+
dict
|
|
399
|
+
)
|
|
400
|
+
)
|
|
343
401
|
}
|
|
344
402
|
}
|
|
345
403
|
|
|
@@ -594,7 +652,7 @@ export const encode = <S extends Schema.Constraint>(
|
|
|
594
652
|
return Effect.die(e)
|
|
595
653
|
}
|
|
596
654
|
}
|
|
597
|
-
if (exact) {
|
|
655
|
+
if (exact && parseOptions.onExcessProperty !== "error") {
|
|
598
656
|
return Channel.fromTransform((upstream, _scope) => Effect.sync(() => Effect.flatMap(upstream, write)))
|
|
599
657
|
}
|
|
600
658
|
// One schema pass per chunk brings the values to the binary-adjusted encoded
|
|
@@ -861,10 +919,15 @@ export const duplex: {
|
|
|
861
919
|
/**
|
|
862
920
|
* Assigns an explicit wire field id to a struct property.
|
|
863
921
|
*
|
|
864
|
-
*
|
|
922
|
+
* **When to use**
|
|
923
|
+
*
|
|
924
|
+
* Use to preserve the wire id across a rename or resolve a hash collision.
|
|
925
|
+
*
|
|
926
|
+
* **Details**
|
|
927
|
+
*
|
|
865
928
|
* Valid ids are integers from 1 through 4294967295.
|
|
866
929
|
*
|
|
867
|
-
* **Example**
|
|
930
|
+
* **Example** (Assigning a wire field id)
|
|
868
931
|
*
|
|
869
932
|
* ```ts
|
|
870
933
|
* import { Schema } from "effect"
|
|
@@ -906,7 +969,7 @@ const BIGINT_U32_MASK = BigInt(0xFFFFFFFF)
|
|
|
906
969
|
const BIGINT_THIRTY_TWO = BigInt(32)
|
|
907
970
|
|
|
908
971
|
const utf8Encode = new TextEncoder()
|
|
909
|
-
const utf8DecodeFatal = new TextDecoder("utf-8", { fatal: true })
|
|
972
|
+
const utf8DecodeFatal = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true })
|
|
910
973
|
|
|
911
974
|
// General numbers use up to seven varint bytes, a varint mantissa with a
|
|
912
975
|
// decimal scale byte, or an eight-byte f64.
|
|
@@ -921,6 +984,15 @@ const NUMBER_RUN_F64 = 0
|
|
|
921
984
|
const NUMBER_RUN_VARINT = 1
|
|
922
985
|
const NUMBER_RUN_DECIMAL = 2
|
|
923
986
|
|
|
987
|
+
// Recursive layouts must fail before the JavaScript stack does. This is high
|
|
988
|
+
// enough for practical payloads while keeping the decoder's stack bounded.
|
|
989
|
+
const MAX_NESTING_DEPTH = 512
|
|
990
|
+
|
|
991
|
+
// Variable-width elements must be backed by frame bytes apart from a bounded
|
|
992
|
+
// allowance. Provably zero-width elements need their own absolute bound.
|
|
993
|
+
const ARRAY_ALLOCATION_SLACK = 1_048_576
|
|
994
|
+
const ZERO_WIDTH_ARRAY_MAX = 4_194_304
|
|
995
|
+
|
|
924
996
|
// Struct field tags pack the field id with enough information to skip the
|
|
925
997
|
// payload without consulting the schema. Decimal is a sign-magnitude mantissa
|
|
926
998
|
// varint followed by an unsigned scale varint.
|
|
@@ -1467,6 +1539,7 @@ const EMPTY_READER_VIEW = new DataView(EMPTY_READER_ARRAY_BUFFER)
|
|
|
1467
1539
|
|
|
1468
1540
|
class Reader {
|
|
1469
1541
|
pos = 0
|
|
1542
|
+
nesting = 0
|
|
1470
1543
|
buf: Uint8Array = EMPTY_READER_BUFFER
|
|
1471
1544
|
// Frames of varints and strings never need a view, so it is built on demand
|
|
1472
1545
|
// and reused while the reader stays on one buffer.
|
|
@@ -1493,6 +1566,7 @@ class Reader {
|
|
|
1493
1566
|
positional: boolean,
|
|
1494
1567
|
dict: DictRead | undefined
|
|
1495
1568
|
) {
|
|
1569
|
+
this.nesting = 0
|
|
1496
1570
|
this.view = undefined
|
|
1497
1571
|
this.buf = buf
|
|
1498
1572
|
this.pos = start
|
|
@@ -1504,7 +1578,7 @@ class Reader {
|
|
|
1504
1578
|
this.dict = dict
|
|
1505
1579
|
}
|
|
1506
1580
|
release() {
|
|
1507
|
-
this.pos = this.end = 0
|
|
1581
|
+
this.pos = this.end = this.nesting = 0
|
|
1508
1582
|
this.buf = EMPTY_READER_BUFFER
|
|
1509
1583
|
this.view = undefined
|
|
1510
1584
|
this.viewCache = EMPTY_READER_VIEW
|
|
@@ -1931,6 +2005,10 @@ function isInlineSlot(layout: Layout): boolean {
|
|
|
1931
2005
|
layout._ === "null" || layout._ === "undefined"
|
|
1932
2006
|
}
|
|
1933
2007
|
|
|
2008
|
+
function isZeroWidthSlot(layout: Layout): boolean {
|
|
2009
|
+
return layout._ === "literal" ? isZeroWidthSlot(layout.leaf) : layout._ === "null" || layout._ === "undefined"
|
|
2010
|
+
}
|
|
2011
|
+
|
|
1934
2012
|
// One registry row per natively supported declaration: its wire kind and
|
|
1935
2013
|
// whether the binary layer validates it exactly on its own (`true`) or exactly
|
|
1936
2014
|
// when its type parameters are ("parameters"). `compileDeclaration` holds the
|
|
@@ -2080,6 +2158,12 @@ function resolveSuspend(ast: SchemaAST.AST): SchemaAST.AST {
|
|
|
2080
2158
|
return ast
|
|
2081
2159
|
}
|
|
2082
2160
|
|
|
2161
|
+
function enumsToLiterals(ast: SchemaAST.Enum): SchemaAST.Union<SchemaAST.Literal> {
|
|
2162
|
+
return new SchemaAST.Union(
|
|
2163
|
+
ast.enums.map((e) => new SchemaAST.Literal(e[1], { title: e[0] }))
|
|
2164
|
+
)
|
|
2165
|
+
}
|
|
2166
|
+
|
|
2083
2167
|
function flattenMembers(union: SchemaAST.Union): Array<SchemaAST.AST> {
|
|
2084
2168
|
const out: Array<SchemaAST.AST> = []
|
|
2085
2169
|
const seen = new Set<SchemaAST.AST>()
|
|
@@ -2094,7 +2178,7 @@ function flattenMembers(union: SchemaAST.Union): Array<SchemaAST.AST> {
|
|
|
2094
2178
|
resolved.types.forEach(go)
|
|
2095
2179
|
return
|
|
2096
2180
|
case "Enum":
|
|
2097
|
-
|
|
2181
|
+
enumsToLiterals(resolved).types.forEach(go)
|
|
2098
2182
|
return
|
|
2099
2183
|
default:
|
|
2100
2184
|
out.push(resolved)
|
|
@@ -2233,7 +2317,7 @@ function compileLayout(root: SchemaAST.AST): CompiledLayout {
|
|
|
2233
2317
|
case "Never":
|
|
2234
2318
|
return { _: "never", ast }
|
|
2235
2319
|
case "Enum":
|
|
2236
|
-
return compileUnion(ast, flattenMembers(
|
|
2320
|
+
return compileUnion(ast, flattenMembers(enumsToLiterals(ast)))
|
|
2237
2321
|
case "Suspend": {
|
|
2238
2322
|
recursive = true
|
|
2239
2323
|
const layout = compile(ast.thunk())
|
|
@@ -2588,8 +2672,7 @@ function isExact(root: SchemaAST.AST): boolean {
|
|
|
2588
2672
|
const exact = (ast: SchemaAST.AST): boolean => {
|
|
2589
2673
|
if (
|
|
2590
2674
|
ast.encoding !== undefined || ast.checks !== undefined ||
|
|
2591
|
-
(ast as { readonly encodingChecks?: SchemaAST.Checks }).encodingChecks !== undefined
|
|
2592
|
-
ast.annotations?.parseOptions !== undefined
|
|
2675
|
+
(ast as { readonly encodingChecks?: SchemaAST.Checks }).encodingChecks !== undefined
|
|
2593
2676
|
) {
|
|
2594
2677
|
return false
|
|
2595
2678
|
}
|
|
@@ -2623,7 +2706,7 @@ function isExact(root: SchemaAST.AST): boolean {
|
|
|
2623
2706
|
signature.parameter._tag === "String" && exact(signature.parameter) && exact(signature.type)
|
|
2624
2707
|
)
|
|
2625
2708
|
case "Union":
|
|
2626
|
-
return ast.mode === "anyOf" && ast.types.every(exact)
|
|
2709
|
+
return (ast.options?.mode ?? "anyOf") === "anyOf" && ast.types.every(exact)
|
|
2627
2710
|
// The layout compiles straight through a suspend, so the binary layer
|
|
2628
2711
|
// validates whatever the thunk returns. Only decoding gets to act on
|
|
2629
2712
|
// this: encoding a recursive schema still needs the cycle walk, which is
|
|
@@ -2656,7 +2739,6 @@ function isExitWithExactSuccess(root: SchemaAST.AST): boolean {
|
|
|
2656
2739
|
return root._tag === "Declaration" &&
|
|
2657
2740
|
root.encoding === undefined && root.checks === undefined &&
|
|
2658
2741
|
(root as { readonly encodingChecks?: SchemaAST.Checks }).encodingChecks === undefined &&
|
|
2659
|
-
root.annotations?.parseOptions === undefined &&
|
|
2660
2742
|
representationId(root) === "effect/schema/Exit" &&
|
|
2661
2743
|
isExact(root.typeParameters[0])
|
|
2662
2744
|
}
|
|
@@ -3697,7 +3779,7 @@ function encodeArray(ctx: EncodeContext, layout: ArrayLayout, arr: ReadonlyArray
|
|
|
3697
3779
|
const uniform = layout.uniform
|
|
3698
3780
|
if (uniform !== undefined) {
|
|
3699
3781
|
if (layout.uniformNumbers) {
|
|
3700
|
-
encodeNumberRun(arr, count, w)
|
|
3782
|
+
encodeNumberRun(ctx, arr, count, w)
|
|
3701
3783
|
return
|
|
3702
3784
|
}
|
|
3703
3785
|
// Only a run field holding an array of strings hands over an intern table.
|
|
@@ -3738,22 +3820,23 @@ function encodeArray(ctx: EncodeContext, layout: ArrayLayout, arr: ReadonlyArray
|
|
|
3738
3820
|
// synchronous `encodeNumberRun` call.
|
|
3739
3821
|
const numberRunScales: Array<number> = []
|
|
3740
3822
|
|
|
3741
|
-
function encodeNumberRun(arr: ReadonlyArray<unknown>, count: number, w: Writer) {
|
|
3823
|
+
function encodeNumberRun(ctx: EncodeContext, arr: ReadonlyArray<unknown>, count: number, w: Writer) {
|
|
3742
3824
|
let varint = true
|
|
3743
3825
|
let decimal = true
|
|
3744
3826
|
for (let i = 0; i < count; i++) {
|
|
3745
3827
|
const value = arr[i]
|
|
3828
|
+
if (typeof value !== "number") {
|
|
3829
|
+
issuePath[issuePathLen++] = i
|
|
3830
|
+
encodeFail("a number", value, ctx.options)
|
|
3831
|
+
}
|
|
3746
3832
|
if (isVarintNumber(value)) {
|
|
3747
|
-
const magnitude =
|
|
3833
|
+
const magnitude = value < 0 ? -value : value
|
|
3748
3834
|
if (magnitude > DECIMAL_MANTISSA_MAX) decimal = false
|
|
3749
3835
|
} else {
|
|
3750
3836
|
varint = false
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
if (scale === 0) decimal = false
|
|
3755
|
-
else numberRunScales[i] = scale
|
|
3756
|
-
}
|
|
3837
|
+
const scale = decimalScale(value)
|
|
3838
|
+
if (scale === 0) decimal = false
|
|
3839
|
+
else numberRunScales[i] = scale
|
|
3757
3840
|
}
|
|
3758
3841
|
if (!varint && !decimal) break
|
|
3759
3842
|
}
|
|
@@ -4198,6 +4281,7 @@ function decodeExtraPair(
|
|
|
4198
4281
|
const key = keys === undefined
|
|
4199
4282
|
? r.readUtf8(keyCode)
|
|
4200
4283
|
: decodeExtraKey(keys, code, keyCode, r)
|
|
4284
|
+
if (layout.names.has(key)) invalid("an extra key distinct from declared fields", key, r.options)
|
|
4201
4285
|
if (seenKey(seen, key)) invalid("unique extra keys", undefined, r.options)
|
|
4202
4286
|
const signature = layout.extraAll ??
|
|
4203
4287
|
(r.indexSignatures ??= new IndexSignatureCache(r.options)).find(layout, key)
|
|
@@ -4477,8 +4561,15 @@ function decodeInterned(table: Array<unknown>, layout: Layout, r: Reader): unkno
|
|
|
4477
4561
|
if (ref >= table.length) invalid("a known back-reference", undefined, r.options)
|
|
4478
4562
|
return table[ref]
|
|
4479
4563
|
}
|
|
4480
|
-
//
|
|
4564
|
+
// Plain strings consume their whole region, so they skip the reader window.
|
|
4481
4565
|
if (layout._ === "string") {
|
|
4566
|
+
if (r.dict !== undefined) {
|
|
4567
|
+
const saved = r.enter(code / 2)
|
|
4568
|
+
const value = decodeChecked(layout, r)
|
|
4569
|
+
r.exit(saved)
|
|
4570
|
+
table.push(value)
|
|
4571
|
+
return value
|
|
4572
|
+
}
|
|
4482
4573
|
const value = r.readUtf8(code / 2)
|
|
4483
4574
|
table.push(value)
|
|
4484
4575
|
return value
|
|
@@ -4641,10 +4732,6 @@ function decodeRunSlot(
|
|
|
4641
4732
|
function decodeArray(layout: ArrayLayout, r: Reader): unknown {
|
|
4642
4733
|
const elementLen = layout.elements.length
|
|
4643
4734
|
const count = layout.hasCount ? r.uvarint() : elementLen
|
|
4644
|
-
// Cap allocation amplification from zero-width slots.
|
|
4645
|
-
if (layout.hasCount && count > r.remaining + 1_048_576) {
|
|
4646
|
-
invalid("array count within allocation limit", count, r.options)
|
|
4647
|
-
}
|
|
4648
4735
|
if (layout.rest.length === 0 && count > elementLen) {
|
|
4649
4736
|
issuePath[issuePathLen++] = elementLen
|
|
4650
4737
|
throw issueError(new SchemaIssue.UnexpectedKey(layout.ast, undefined, r.options))
|
|
@@ -4653,6 +4740,12 @@ function decodeArray(layout: ArrayLayout, r: Reader): unknown {
|
|
|
4653
4740
|
issuePath[issuePathLen++] = count
|
|
4654
4741
|
throw issueError(new SchemaIssue.MissingKey(undefined))
|
|
4655
4742
|
}
|
|
4743
|
+
if (layout.hasCount) {
|
|
4744
|
+
const allocationLimit = layout.rest.length > 0 && isZeroWidthSlot(layout.rest[0])
|
|
4745
|
+
? ZERO_WIDTH_ARRAY_MAX
|
|
4746
|
+
: r.remaining + ARRAY_ALLOCATION_SLACK
|
|
4747
|
+
if (count > allocationLimit) invalid("array count within allocation limit", count, r.options)
|
|
4748
|
+
}
|
|
4656
4749
|
if (count > 0) {
|
|
4657
4750
|
const plan = runPlan(layout)
|
|
4658
4751
|
if (plan !== null) return decodeStructRun(plan, count, r)
|
|
@@ -4686,7 +4779,7 @@ function decodeArray(layout: ArrayLayout, r: Reader): unknown {
|
|
|
4686
4779
|
if (uniform._ === "string") {
|
|
4687
4780
|
for (let i = 0; i < count; i++) {
|
|
4688
4781
|
issuePath[issuePathLen++] = i
|
|
4689
|
-
out[i] = r.readUtf8(r.uvarint())
|
|
4782
|
+
out[i] = r.dict === undefined ? r.readUtf8(r.uvarint()) : decodeSized(uniform, r)
|
|
4690
4783
|
issuePathLen--
|
|
4691
4784
|
}
|
|
4692
4785
|
return out
|
|
@@ -4821,6 +4914,18 @@ function requirePresent(value: unknown): unknown {
|
|
|
4821
4914
|
}
|
|
4822
4915
|
|
|
4823
4916
|
function decodeValue(layout: Layout, r: Reader): unknown {
|
|
4917
|
+
if (r.nesting >= MAX_NESTING_DEPTH) {
|
|
4918
|
+
invalid(`nesting depth at most ${MAX_NESTING_DEPTH}`, r.nesting + 1, r.options)
|
|
4919
|
+
}
|
|
4920
|
+
r.nesting++
|
|
4921
|
+
try {
|
|
4922
|
+
return decodeValueUnchecked(layout, r)
|
|
4923
|
+
} finally {
|
|
4924
|
+
r.nesting--
|
|
4925
|
+
}
|
|
4926
|
+
}
|
|
4927
|
+
|
|
4928
|
+
function decodeValueUnchecked(layout: Layout, r: Reader): unknown {
|
|
4824
4929
|
switch (layout._) {
|
|
4825
4930
|
case "literal": {
|
|
4826
4931
|
const value = decodeValue(layout.leaf, r)
|
|
@@ -4866,10 +4971,11 @@ function decodeValue(layout: Layout, r: Reader): unknown {
|
|
|
4866
4971
|
case "int64": {
|
|
4867
4972
|
if (r.remaining !== 8) invalid("int64", undefined, r.options)
|
|
4868
4973
|
const millis = Number(r.i64())
|
|
4869
|
-
if (layout.flavor !== "date") return DateTime.makeUnsafe(millis)
|
|
4870
4974
|
const date = new Date(millis)
|
|
4871
|
-
if (Number.isNaN(date.getTime()))
|
|
4872
|
-
|
|
4975
|
+
if (Number.isNaN(date.getTime())) {
|
|
4976
|
+
invalid(layout.flavor === "date" ? "a valid Date" : "a valid DateTime", millis, r.options)
|
|
4977
|
+
}
|
|
4978
|
+
return layout.flavor === "date" ? date : DateTime.makeUnsafe(millis)
|
|
4873
4979
|
}
|
|
4874
4980
|
case "dateTimeZoned": {
|
|
4875
4981
|
const millis = Number(r.i64())
|
|
@@ -5019,7 +5125,7 @@ function makeTransformation(
|
|
|
5019
5125
|
trusted: Trusted | undefined,
|
|
5020
5126
|
successOnly = false
|
|
5021
5127
|
): SchemaTransformation.Transformation<unknown, Uint8Array<ArrayBuffer>> {
|
|
5022
|
-
return SchemaTransformation.
|
|
5128
|
+
return SchemaTransformation.transformEffect({
|
|
5023
5129
|
decode: (bytes: Uint8Array<ArrayBuffer>, options) => {
|
|
5024
5130
|
try {
|
|
5025
5131
|
const value = decodeOneShot(layout, bytes, options, mode)
|
|
@@ -5098,9 +5204,9 @@ function bypassPass(
|
|
|
5098
5204
|
// says without allocating one per call.
|
|
5099
5205
|
const run = (
|
|
5100
5206
|
accept: (input: unknown, options: SchemaAST.ParseOptions) => boolean
|
|
5101
|
-
): SchemaAST.
|
|
5207
|
+
): SchemaAST.Declaration["run"] =>
|
|
5102
5208
|
() =>
|
|
5103
|
-
(input, _ast, options) => accept(input, options) ?
|
|
5209
|
+
(input, _ast, options) => accept(input, options) ? InternalParserProtocol.sameExit : parse(input, options)
|
|
5104
5210
|
return Schema.make(
|
|
5105
5211
|
new SchemaAST.Declaration(
|
|
5106
5212
|
[type.ast],
|