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
package/src/PrimaryKey.ts
CHANGED
|
@@ -24,7 +24,7 @@ import { hasProperty } from "./Predicate.ts"
|
|
|
24
24
|
* @category symbols
|
|
25
25
|
* @since 2.0.0
|
|
26
26
|
*/
|
|
27
|
-
export const symbol = "~effect/
|
|
27
|
+
export const symbol = "~effect/PrimaryKey"
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
30
|
* An interface for objects that can provide a string-based primary key.
|
package/src/PubSub.ts
CHANGED
|
@@ -17,6 +17,7 @@ import * as Effect from "./Effect.ts"
|
|
|
17
17
|
import * as Exit from "./Exit.ts"
|
|
18
18
|
import type { LazyArg } from "./Function.ts"
|
|
19
19
|
import { dual, identity } from "./Function.ts"
|
|
20
|
+
import * as Count from "./internal/count.ts"
|
|
20
21
|
import * as Latch from "./Latch.ts"
|
|
21
22
|
import * as MutableList from "./MutableList.ts"
|
|
22
23
|
import * as MutableRef from "./MutableRef.ts"
|
|
@@ -1461,7 +1462,9 @@ const pollForItem = <A>(self: Subscription<A>) => {
|
|
|
1461
1462
|
}
|
|
1462
1463
|
|
|
1463
1464
|
/**
|
|
1464
|
-
* Takes up to the specified number of messages from the subscription without
|
|
1465
|
+
* Takes up to the specified number of messages from the subscription without
|
|
1466
|
+
* suspending. Finite fractional values are rounded down, while `NaN` and
|
|
1467
|
+
* non-positive values are treated as `0`.
|
|
1465
1468
|
*
|
|
1466
1469
|
* **Example** (Taking up to a maximum number of messages)
|
|
1467
1470
|
*
|
|
@@ -1496,7 +1499,9 @@ const pollForItem = <A>(self: Subscription<A>) => {
|
|
|
1496
1499
|
*/
|
|
1497
1500
|
export const takeUpTo: {
|
|
1498
1501
|
/**
|
|
1499
|
-
* Takes up to the specified number of messages from the subscription without
|
|
1502
|
+
* Takes up to the specified number of messages from the subscription without
|
|
1503
|
+
* suspending. Finite fractional values are rounded down, while `NaN` and
|
|
1504
|
+
* non-positive values are treated as `0`.
|
|
1500
1505
|
*
|
|
1501
1506
|
* **Example** (Taking up to a maximum number of messages)
|
|
1502
1507
|
*
|
|
@@ -1531,7 +1536,9 @@ export const takeUpTo: {
|
|
|
1531
1536
|
*/
|
|
1532
1537
|
(max: number): <A>(self: Subscription<A>) => Effect.Effect<Array<A>>
|
|
1533
1538
|
/**
|
|
1534
|
-
* Takes up to the specified number of messages from the subscription without
|
|
1539
|
+
* Takes up to the specified number of messages from the subscription without
|
|
1540
|
+
* suspending. Finite fractional values are rounded down, while `NaN` and
|
|
1541
|
+
* non-positive values are treated as `0`.
|
|
1535
1542
|
*
|
|
1536
1543
|
* **Example** (Taking up to a maximum number of messages)
|
|
1537
1544
|
*
|
|
@@ -1568,6 +1575,7 @@ export const takeUpTo: {
|
|
|
1568
1575
|
} = dual(2, <A>(self: Subscription<A>, max: number): Effect.Effect<Array<A>> =>
|
|
1569
1576
|
Effect.suspend(() => {
|
|
1570
1577
|
if (self.shutdownFlag.current) return Effect.interrupt
|
|
1578
|
+
max = Count.normalize(max)
|
|
1571
1579
|
let replay: Array<A> | undefined = undefined
|
|
1572
1580
|
if (self.replayWindow.remaining >= max) {
|
|
1573
1581
|
return Effect.succeed(self.replayWindow.takeN(max))
|
|
@@ -1583,8 +1591,10 @@ export const takeUpTo: {
|
|
|
1583
1591
|
}))
|
|
1584
1592
|
|
|
1585
1593
|
/**
|
|
1586
|
-
* Takes between the specified minimum and maximum number of messages from the
|
|
1587
|
-
*
|
|
1594
|
+
* Takes between the specified minimum and maximum number of messages from the
|
|
1595
|
+
* subscription. Finite fractional bounds are rounded down, while `NaN` and
|
|
1596
|
+
* non-positive bounds are treated as `0`. Will suspend if the normalized
|
|
1597
|
+
* minimum number is not immediately available.
|
|
1588
1598
|
*
|
|
1589
1599
|
* **Example** (Taking between a minimum and maximum)
|
|
1590
1600
|
*
|
|
@@ -1615,8 +1625,10 @@ export const takeUpTo: {
|
|
|
1615
1625
|
*/
|
|
1616
1626
|
export const takeBetween: {
|
|
1617
1627
|
/**
|
|
1618
|
-
* Takes between the specified minimum and maximum number of messages from the
|
|
1619
|
-
*
|
|
1628
|
+
* Takes between the specified minimum and maximum number of messages from the
|
|
1629
|
+
* subscription. Finite fractional bounds are rounded down, while `NaN` and
|
|
1630
|
+
* non-positive bounds are treated as `0`. Will suspend if the normalized
|
|
1631
|
+
* minimum number is not immediately available.
|
|
1620
1632
|
*
|
|
1621
1633
|
* **Example** (Taking between a minimum and maximum)
|
|
1622
1634
|
*
|
|
@@ -1647,8 +1659,10 @@ export const takeBetween: {
|
|
|
1647
1659
|
*/
|
|
1648
1660
|
(min: number, max: number): <A>(self: Subscription<A>) => Effect.Effect<Array<A>>
|
|
1649
1661
|
/**
|
|
1650
|
-
* Takes between the specified minimum and maximum number of messages from the
|
|
1651
|
-
*
|
|
1662
|
+
* Takes between the specified minimum and maximum number of messages from the
|
|
1663
|
+
* subscription. Finite fractional bounds are rounded down, while `NaN` and
|
|
1664
|
+
* non-positive bounds are treated as `0`. Will suspend if the normalized
|
|
1665
|
+
* minimum number is not immediately available.
|
|
1652
1666
|
*
|
|
1653
1667
|
* **Example** (Taking between a minimum and maximum)
|
|
1654
1668
|
*
|
|
@@ -1681,7 +1695,7 @@ export const takeBetween: {
|
|
|
1681
1695
|
} = dual(
|
|
1682
1696
|
3,
|
|
1683
1697
|
<A>(self: Subscription<A>, min: number, max: number): Effect.Effect<Array<A>> =>
|
|
1684
|
-
Effect.suspend(() => takeRemainderLoop(self, min, max, []))
|
|
1698
|
+
Effect.suspend(() => takeRemainderLoop(self, Count.normalize(min), Count.normalize(max), []))
|
|
1685
1699
|
)
|
|
1686
1700
|
|
|
1687
1701
|
const takeRemainderLoop = <A>(
|
|
@@ -2006,6 +2020,7 @@ class BoundedPubSubArbSubscription<in out A> implements PubSub.BackingSubscripti
|
|
|
2006
2020
|
}
|
|
2007
2021
|
|
|
2008
2022
|
pollUpTo(n: number): Array<A> {
|
|
2023
|
+
n = Count.normalize(n)
|
|
2009
2024
|
if (this.unsubscribed) {
|
|
2010
2025
|
return []
|
|
2011
2026
|
}
|
|
@@ -2202,6 +2217,7 @@ class BoundedPubSubPow2Subscription<in out A> implements PubSub.BackingSubscript
|
|
|
2202
2217
|
}
|
|
2203
2218
|
|
|
2204
2219
|
pollUpTo(n: number): Array<A> {
|
|
2220
|
+
n = Count.normalize(n)
|
|
2205
2221
|
if (this.unsubscribed) {
|
|
2206
2222
|
return []
|
|
2207
2223
|
}
|
|
@@ -2364,28 +2380,22 @@ class BoundedPubSubSingleSubscription<in out A> implements PubSub.BackingSubscri
|
|
|
2364
2380
|
if (this.self.subscribers === 0) {
|
|
2365
2381
|
this.self.value = AbsentValue as unknown as A
|
|
2366
2382
|
}
|
|
2367
|
-
this.subscriberIndex
|
|
2383
|
+
this.subscriberIndex = this.self.publisherIndex
|
|
2368
2384
|
return elem
|
|
2369
2385
|
}
|
|
2370
2386
|
|
|
2371
2387
|
pollUpTo(n: number): Array<A> {
|
|
2372
|
-
if (
|
|
2388
|
+
if (Count.normalize(n) < 1 || this.isEmpty()) {
|
|
2373
2389
|
return []
|
|
2374
2390
|
}
|
|
2375
|
-
|
|
2376
|
-
this.self.subscribers -= 1
|
|
2377
|
-
if (this.self.subscribers === 0) {
|
|
2378
|
-
this.self.value = AbsentValue as unknown as A
|
|
2379
|
-
}
|
|
2380
|
-
this.subscriberIndex += 1
|
|
2381
|
-
return [a]
|
|
2391
|
+
return [this.poll() as A]
|
|
2382
2392
|
}
|
|
2383
2393
|
|
|
2384
2394
|
unsubscribe(): void {
|
|
2385
2395
|
if (!this.unsubscribed) {
|
|
2386
2396
|
this.unsubscribed = true
|
|
2387
2397
|
this.self.subscriberCount -= 1
|
|
2388
|
-
if (this.subscriberIndex !== this.self.publisherIndex) {
|
|
2398
|
+
if (this.self.subscribers !== 0 && this.subscriberIndex !== this.self.publisherIndex) {
|
|
2389
2399
|
this.self.subscribers -= 1
|
|
2390
2400
|
if (this.self.subscribers === 0) {
|
|
2391
2401
|
this.self.value = AbsentValue as unknown as A
|
|
@@ -2562,6 +2572,7 @@ class UnboundedPubSubSubscription<in out A> implements PubSub.BackingSubscriptio
|
|
|
2562
2572
|
}
|
|
2563
2573
|
|
|
2564
2574
|
pollUpTo(n: number): Array<A> {
|
|
2575
|
+
n = Count.normalize(n)
|
|
2565
2576
|
const builder: Array<A> = []
|
|
2566
2577
|
let i = 0
|
|
2567
2578
|
while (i !== n) {
|
|
@@ -3143,6 +3154,7 @@ class ReplayWindowImpl<A> implements PubSub.ReplayWindow<A> {
|
|
|
3143
3154
|
return value as A
|
|
3144
3155
|
}
|
|
3145
3156
|
takeN(n: number): Array<A> {
|
|
3157
|
+
n = Count.normalize(n)
|
|
3146
3158
|
const len = Math.min(n, this.remaining)
|
|
3147
3159
|
const items = new Array(len)
|
|
3148
3160
|
for (let i = 0; i < len; i++) {
|
package/src/Queue.ts
CHANGED
|
@@ -16,6 +16,7 @@ import { constant, constTrue, dual, identity } from "./Function.ts"
|
|
|
16
16
|
import type { Inspectable } from "./Inspectable.ts"
|
|
17
17
|
import * as core from "./internal/core.ts"
|
|
18
18
|
import { PipeInspectableProto } from "./internal/core.ts"
|
|
19
|
+
import * as Count from "./internal/count.ts"
|
|
19
20
|
import * as internalEffect from "./internal/effect.ts"
|
|
20
21
|
import * as MutableList from "./MutableList.ts"
|
|
21
22
|
import * as Option from "./Option.ts"
|
|
@@ -1348,9 +1349,10 @@ export const collect = <A, E>(self: Dequeue<A, E | Done>): Effect<Array<A>, Pull
|
|
|
1348
1349
|
* **Details**
|
|
1349
1350
|
*
|
|
1350
1351
|
* The operation may wait until enough messages are available to satisfy the
|
|
1351
|
-
* queue's batching rules.
|
|
1352
|
-
*
|
|
1353
|
-
* taken, the effect fails with
|
|
1352
|
+
* queue's batching rules. Finite fractional values of `n` are rounded down.
|
|
1353
|
+
* If `n` is `NaN` or non-positive, it succeeds with an empty array. If the
|
|
1354
|
+
* queue completes or fails before messages can be taken, the effect fails with
|
|
1355
|
+
* the queue's terminal error.
|
|
1354
1356
|
*
|
|
1355
1357
|
* **Example** (Taking a fixed number of values)
|
|
1356
1358
|
*
|
|
@@ -1391,9 +1393,10 @@ export const takeN = <A, E>(
|
|
|
1391
1393
|
* **Details**
|
|
1392
1394
|
*
|
|
1393
1395
|
* The operation waits when fewer than the required minimum messages are
|
|
1394
|
-
* available. It returns at most `max` messages.
|
|
1395
|
-
*
|
|
1396
|
-
*
|
|
1396
|
+
* available. It returns at most `max` messages. Finite fractional bounds are
|
|
1397
|
+
* rounded down, while `NaN` and non-positive bounds are treated as `0`. If the
|
|
1398
|
+
* queue completes or fails before the minimum can be satisfied, the effect
|
|
1399
|
+
* fails with the queue's terminal error.
|
|
1397
1400
|
*
|
|
1398
1401
|
* **Example** (Taking a bounded batch of values)
|
|
1399
1402
|
*
|
|
@@ -1427,10 +1430,13 @@ export const takeBetween = <A, E>(
|
|
|
1427
1430
|
self: Dequeue<A, E>,
|
|
1428
1431
|
min: number,
|
|
1429
1432
|
max: number
|
|
1430
|
-
): Effect<Array<A>, E> =>
|
|
1431
|
-
|
|
1433
|
+
): Effect<Array<A>, E> => {
|
|
1434
|
+
min = Count.normalize(min)
|
|
1435
|
+
max = Count.normalize(max)
|
|
1436
|
+
return internalEffect.suspend(() =>
|
|
1432
1437
|
takeBetweenUnsafe(self, min, max) ?? internalEffect.andThen(awaitTake(self), takeBetween(self, 1, max))
|
|
1433
1438
|
)
|
|
1439
|
+
}
|
|
1434
1440
|
|
|
1435
1441
|
/**
|
|
1436
1442
|
* Takes a single message from the queue, or wait for a message to be
|
|
@@ -1612,16 +1618,89 @@ export const takeUnsafe = <A, E>(self: Dequeue<A, E>): Exit<A, E> | undefined =>
|
|
|
1612
1618
|
releaseCapacity(self)
|
|
1613
1619
|
return core.exitSucceed(message)
|
|
1614
1620
|
} else if (self.capacity <= 0 && self.state.offers.size > 0) {
|
|
1615
|
-
|
|
1616
|
-
releaseCapacity(self)
|
|
1617
|
-
self.capacity = 0
|
|
1618
|
-
const message = MutableList.take(self.messages)!
|
|
1621
|
+
const message = takeOfferUnsafe(self.state.offers)
|
|
1619
1622
|
releaseCapacity(self)
|
|
1620
1623
|
return core.exitSucceed(message)
|
|
1621
1624
|
}
|
|
1622
1625
|
return undefined
|
|
1623
1626
|
}
|
|
1624
1627
|
|
|
1628
|
+
/**
|
|
1629
|
+
* Manually releases current queue takers synchronously.
|
|
1630
|
+
*
|
|
1631
|
+
* **When to use**
|
|
1632
|
+
*
|
|
1633
|
+
* Use when synchronous offers should release waiting consumers immediately
|
|
1634
|
+
* instead of waiting for the scheduled release task.
|
|
1635
|
+
*
|
|
1636
|
+
* **Details**
|
|
1637
|
+
*
|
|
1638
|
+
* This immediately runs the queue's taker-release pass instead of waiting for
|
|
1639
|
+
* its scheduled task. It does not complete the queue or resume fibers waiting
|
|
1640
|
+
* on `Queue.await`.
|
|
1641
|
+
*
|
|
1642
|
+
* **Example** (Releasing a waiting taker synchronously)
|
|
1643
|
+
*
|
|
1644
|
+
* ```ts import.meta.vitest
|
|
1645
|
+
* import { Effect, Fiber, Queue } from "effect"
|
|
1646
|
+
*
|
|
1647
|
+
* const program = Effect.gen(function*() {
|
|
1648
|
+
* const queue = yield* Queue.unbounded<number>()
|
|
1649
|
+
* const taker = yield* Queue.take(queue).pipe(Effect.forkChild)
|
|
1650
|
+
* yield* Effect.yieldNow
|
|
1651
|
+
*
|
|
1652
|
+
* Queue.offerUnsafe(queue, 1)
|
|
1653
|
+
* Queue.flushUnsafe(queue)
|
|
1654
|
+
*
|
|
1655
|
+
* return yield* Fiber.join(taker)
|
|
1656
|
+
* })
|
|
1657
|
+
*
|
|
1658
|
+
* await Effect.runPromise(program) // => 1
|
|
1659
|
+
* ```
|
|
1660
|
+
*
|
|
1661
|
+
* @category offering
|
|
1662
|
+
* @since 4.0.0
|
|
1663
|
+
*/
|
|
1664
|
+
export const flushUnsafe = <A, E>(self: Enqueue<A, E>): void => releaseTakers(self)
|
|
1665
|
+
|
|
1666
|
+
/**
|
|
1667
|
+
* Manually releases current queue takers.
|
|
1668
|
+
*
|
|
1669
|
+
* **When to use**
|
|
1670
|
+
*
|
|
1671
|
+
* Use when synchronous offers should release waiting consumers through an
|
|
1672
|
+
* `Effect` instead of waiting for the scheduled release task.
|
|
1673
|
+
*
|
|
1674
|
+
* **Details**
|
|
1675
|
+
*
|
|
1676
|
+
* This immediately runs the queue's taker-release pass instead of waiting for
|
|
1677
|
+
* its scheduled task. It does not complete the queue or resume fibers waiting
|
|
1678
|
+
* on `Queue.await`.
|
|
1679
|
+
*
|
|
1680
|
+
* **Example** (Releasing a waiting taker)
|
|
1681
|
+
*
|
|
1682
|
+
* ```ts import.meta.vitest
|
|
1683
|
+
* import { Effect, Fiber, Queue } from "effect"
|
|
1684
|
+
*
|
|
1685
|
+
* const program = Effect.gen(function*() {
|
|
1686
|
+
* const queue = yield* Queue.unbounded<number>()
|
|
1687
|
+
* const taker = yield* Queue.take(queue).pipe(Effect.forkChild)
|
|
1688
|
+
* yield* Effect.yieldNow
|
|
1689
|
+
*
|
|
1690
|
+
* Queue.offerUnsafe(queue, 1)
|
|
1691
|
+
* yield* Queue.flush(queue)
|
|
1692
|
+
*
|
|
1693
|
+
* return yield* Fiber.join(taker)
|
|
1694
|
+
* })
|
|
1695
|
+
*
|
|
1696
|
+
* await Effect.runPromise(program) // => 1
|
|
1697
|
+
* ```
|
|
1698
|
+
*
|
|
1699
|
+
* @category offering
|
|
1700
|
+
* @since 4.0.0
|
|
1701
|
+
*/
|
|
1702
|
+
export const flush = <A, E>(self: Enqueue<A, E>): Effect<void> => internalEffect.sync(() => flushUnsafe(self))
|
|
1703
|
+
|
|
1625
1704
|
const await_ = <A, E>(self: Dequeue<A, E>): Effect<void, Exclude<E, Done>> =>
|
|
1626
1705
|
internalEffect.callback<void, Exclude<E, Done>>((resume) => {
|
|
1627
1706
|
const awaiter = (effect: Effect<void, E>) => resume(Pull.catchDone(effect, () => internalEffect.exitVoid))
|
|
@@ -1953,7 +2032,6 @@ const exitFailDone = core.exitFail(core.Done()) as Failure<never, Done>
|
|
|
1953
2032
|
const exitInterrupt = internalEffect.exitInterrupt() as Failure<never, never>
|
|
1954
2033
|
|
|
1955
2034
|
const releaseTakers = <A, E>(self: Enqueue<A, E>) => {
|
|
1956
|
-
self.scheduleRunning = false
|
|
1957
2035
|
if (self.state._tag === "Done" || self.state.takers.size === 0) {
|
|
1958
2036
|
return
|
|
1959
2037
|
}
|
|
@@ -1971,7 +2049,10 @@ const scheduleReleaseTaker = <A, E>(self: Enqueue<A, E>) => {
|
|
|
1971
2049
|
return
|
|
1972
2050
|
}
|
|
1973
2051
|
self.scheduleRunning = true
|
|
1974
|
-
self.dispatcher.scheduleTask(() =>
|
|
2052
|
+
self.dispatcher.scheduleTask(() => {
|
|
2053
|
+
self.scheduleRunning = false
|
|
2054
|
+
releaseTakers(self)
|
|
2055
|
+
}, 0)
|
|
1975
2056
|
}
|
|
1976
2057
|
|
|
1977
2058
|
const takeBetweenUnsafe = <A, E>(
|
|
@@ -1983,11 +2064,8 @@ const takeBetweenUnsafe = <A, E>(
|
|
|
1983
2064
|
return self.state.exit
|
|
1984
2065
|
} else if (max <= 0 || min <= 0) {
|
|
1985
2066
|
return core.exitSucceed([])
|
|
1986
|
-
} else if (self.capacity <= 0 && self.state.offers.size > 0) {
|
|
1987
|
-
|
|
1988
|
-
releaseCapacity(self)
|
|
1989
|
-
self.capacity = 0
|
|
1990
|
-
const messages = [MutableList.take(self.messages)!]
|
|
2067
|
+
} else if (self.capacity <= 0 && self.messages.length === 0 && self.state.offers.size > 0) {
|
|
2068
|
+
const messages = [takeOfferUnsafe(self.state.offers)]
|
|
1991
2069
|
releaseCapacity(self)
|
|
1992
2070
|
return core.exitSucceed(messages)
|
|
1993
2071
|
}
|
|
@@ -2034,6 +2112,22 @@ const offerRemainingArray = <A, E>(self: Enqueue<A, E>, remaining: Array<A>) =>
|
|
|
2034
2112
|
})
|
|
2035
2113
|
}
|
|
2036
2114
|
|
|
2115
|
+
// Reserve a pending message for the consumer before the producer can reenter.
|
|
2116
|
+
const takeOfferUnsafe = <A>(offers: Set<Queue.OfferEntry<A>>): A => {
|
|
2117
|
+
const entry = offers.values().next().value!
|
|
2118
|
+
if (entry._tag === "Single") {
|
|
2119
|
+
offers.delete(entry)
|
|
2120
|
+
entry.resume(exitTrue)
|
|
2121
|
+
return entry.message
|
|
2122
|
+
}
|
|
2123
|
+
const message = entry.remaining[entry.offset++]
|
|
2124
|
+
if (entry.offset === entry.remaining.length) {
|
|
2125
|
+
offers.delete(entry)
|
|
2126
|
+
entry.resume(core.exitSucceed([]))
|
|
2127
|
+
}
|
|
2128
|
+
return message
|
|
2129
|
+
}
|
|
2130
|
+
|
|
2037
2131
|
const releaseCapacity = <A, E>(self: Dequeue<A, E>): boolean => {
|
|
2038
2132
|
if (self.state._tag === "Done") {
|
|
2039
2133
|
return Pull.isDoneCause(self.state.exit.cause)
|
|
@@ -2047,22 +2141,22 @@ const releaseCapacity = <A, E>(self: Dequeue<A, E>): boolean => {
|
|
|
2047
2141
|
}
|
|
2048
2142
|
return false
|
|
2049
2143
|
}
|
|
2050
|
-
|
|
2144
|
+
// Resuming a producer can synchronously take, offer, or shut down this queue.
|
|
2051
2145
|
for (const entry of self.state.offers) {
|
|
2052
|
-
|
|
2146
|
+
let n = self.capacity - self.messages.length
|
|
2147
|
+
if (n <= 0) break
|
|
2053
2148
|
else if (entry._tag === "Single") {
|
|
2054
2149
|
MutableList.append(self.messages, entry.message)
|
|
2055
|
-
n--
|
|
2056
|
-
entry.resume(exitTrue)
|
|
2057
2150
|
self.state.offers.delete(entry)
|
|
2151
|
+
entry.resume(exitTrue)
|
|
2058
2152
|
} else {
|
|
2059
2153
|
for (; entry.offset < entry.remaining.length; entry.offset++) {
|
|
2060
2154
|
if (n === 0) return false
|
|
2061
2155
|
MutableList.append(self.messages, entry.remaining[entry.offset])
|
|
2062
2156
|
n--
|
|
2063
2157
|
}
|
|
2064
|
-
entry.resume(core.exitSucceed([]))
|
|
2065
2158
|
self.state.offers.delete(entry)
|
|
2159
|
+
entry.resume(core.exitSucceed([]))
|
|
2066
2160
|
}
|
|
2067
2161
|
}
|
|
2068
2162
|
return false
|
|
@@ -2087,10 +2181,7 @@ const takeAllUnsafe = <A, E>(self: Dequeue<A, E>) => {
|
|
|
2087
2181
|
releaseCapacity(self)
|
|
2088
2182
|
return messages
|
|
2089
2183
|
} else if (self.state._tag !== "Done" && self.state.offers.size > 0) {
|
|
2090
|
-
|
|
2091
|
-
releaseCapacity(self)
|
|
2092
|
-
self.capacity = 0
|
|
2093
|
-
const messages = [MutableList.take(self.messages)!]
|
|
2184
|
+
const messages = [takeOfferUnsafe(self.state.offers)]
|
|
2094
2185
|
releaseCapacity(self)
|
|
2095
2186
|
return messages
|
|
2096
2187
|
}
|
package/src/Random.ts
CHANGED
|
@@ -17,6 +17,23 @@ import * as random from "./internal/random.ts"
|
|
|
17
17
|
import type * as NonEmptyIterable from "./NonEmptyIterable.ts"
|
|
18
18
|
import * as Predicate from "./Predicate.ts"
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
* The service used to generate pseudo-random numbers.
|
|
22
|
+
*
|
|
23
|
+
* @category services
|
|
24
|
+
* @since 4.0.0
|
|
25
|
+
*/
|
|
26
|
+
export interface Random {
|
|
27
|
+
/**
|
|
28
|
+
* Generates a random safe integer.
|
|
29
|
+
*/
|
|
30
|
+
nextIntUnsafe(): number
|
|
31
|
+
/**
|
|
32
|
+
* Generates a random number between 0 (inclusive) and 1 (exclusive).
|
|
33
|
+
*/
|
|
34
|
+
nextDoubleUnsafe(): number
|
|
35
|
+
}
|
|
36
|
+
|
|
20
37
|
/**
|
|
21
38
|
* Represents a service for generating pseudo-random numbers.
|
|
22
39
|
*
|
|
@@ -49,12 +66,9 @@ import * as Predicate from "./Predicate.ts"
|
|
|
49
66
|
* @category services
|
|
50
67
|
* @since 2.0.0
|
|
51
68
|
*/
|
|
52
|
-
export const Random: Context.Reference<
|
|
53
|
-
nextIntUnsafe(): number
|
|
54
|
-
nextDoubleUnsafe(): number
|
|
55
|
-
}> = random.Random
|
|
69
|
+
export const Random: Context.Reference<Random> = random.Random
|
|
56
70
|
|
|
57
|
-
const randomWith = <A>(f: (random:
|
|
71
|
+
const randomWith = <A>(f: (random: Random) => A): Effect.Effect<A> =>
|
|
58
72
|
Effect.withFiber((fiber) => Effect.succeed(f(fiber.getRef(Random))))
|
|
59
73
|
|
|
60
74
|
/**
|
|
@@ -139,7 +153,7 @@ export const nextInt: Effect.Effect<number> = randomWith((r) => r.nextIntUnsafe(
|
|
|
139
153
|
* @since 4.0.0
|
|
140
154
|
*/
|
|
141
155
|
export const nextBetween = (min: number, max: number): Effect.Effect<number> =>
|
|
142
|
-
randomWith((r) =>
|
|
156
|
+
randomWith((r) => random.nextBetween(min, max, r.nextDoubleUnsafe()))
|
|
143
157
|
|
|
144
158
|
/**
|
|
145
159
|
* Generates a random integer between `min` and `max`.
|
package/src/RcMap.ts
CHANGED
|
@@ -21,6 +21,7 @@ import * as Exit from "./Exit.ts"
|
|
|
21
21
|
import * as Fiber from "./Fiber.ts"
|
|
22
22
|
import { constant, dual, flow } from "./Function.ts"
|
|
23
23
|
import * as MutableHashMap from "./MutableHashMap.ts"
|
|
24
|
+
import type * as Option from "./Option.ts"
|
|
24
25
|
import type { Pipeable } from "./Pipeable.ts"
|
|
25
26
|
import { pipeArguments } from "./Pipeable.ts"
|
|
26
27
|
import * as Scope from "./Scope.ts"
|
|
@@ -379,7 +380,7 @@ export const make: {
|
|
|
379
380
|
self.state = { _tag: "Closed" }
|
|
380
381
|
return Effect.forEach(
|
|
381
382
|
map,
|
|
382
|
-
([, entry]) => Effect.exit(
|
|
383
|
+
([, entry]) => Effect.exit(closeEntry(entry))
|
|
383
384
|
).pipe(
|
|
384
385
|
Effect.tap(() =>
|
|
385
386
|
Effect.sync(() => {
|
|
@@ -565,7 +566,7 @@ export const get: {
|
|
|
565
566
|
context.set(key, value)
|
|
566
567
|
})
|
|
567
568
|
context.set(Scope.Scope.key, entry.scope)
|
|
568
|
-
self.lookup(key).pipe(
|
|
569
|
+
Effect.suspend(() => self.lookup(key)).pipe(
|
|
569
570
|
Effect.runForkWith(Context.makeUnsafe(context)),
|
|
570
571
|
Fiber.runIn(entry.scope)
|
|
571
572
|
).addObserver((exit) => Deferred.doneUnsafe(entry.deferred, exit))
|
|
@@ -577,20 +578,181 @@ export const get: {
|
|
|
577
578
|
})
|
|
578
579
|
)
|
|
579
580
|
|
|
581
|
+
/**
|
|
582
|
+
* Retains and returns an existing resource without invoking the map's lookup
|
|
583
|
+
* function when the key is missing.
|
|
584
|
+
*
|
|
585
|
+
* **When to use**
|
|
586
|
+
*
|
|
587
|
+
* Use when you only want to acquire a reference to a resource that is currently
|
|
588
|
+
* cached.
|
|
589
|
+
*
|
|
590
|
+
* **Details**
|
|
591
|
+
*
|
|
592
|
+
* Returns `Option.none` when the key is not currently stored or the map is
|
|
593
|
+
* closed. If an entry exists, its reference count is incremented for the current
|
|
594
|
+
* `Scope` before awaiting its result. A successful entry returns
|
|
595
|
+
* `Option.some(value)`, while an in-flight or cached failure fails with the same
|
|
596
|
+
* error as `get`.
|
|
597
|
+
*
|
|
598
|
+
* **Example** (Retaining only cached resources)
|
|
599
|
+
*
|
|
600
|
+
* ```ts import.meta.vitest
|
|
601
|
+
* import { Effect, Option, RcMap } from "effect"
|
|
602
|
+
*
|
|
603
|
+
* const program = Effect.gen(function*() {
|
|
604
|
+
* const map = yield* RcMap.make({
|
|
605
|
+
* lookup: (key: string) => Effect.succeed(`Resource: ${key}`),
|
|
606
|
+
* idleTimeToLive: "1 minute"
|
|
607
|
+
* })
|
|
608
|
+
*
|
|
609
|
+
* const missing = yield* RcMap.getOption(map, "database")
|
|
610
|
+
* yield* Effect.scoped(RcMap.get(map, "database"))
|
|
611
|
+
* const cached = yield* Effect.scoped(RcMap.getOption("database")(map))
|
|
612
|
+
*
|
|
613
|
+
* return [missing, cached] as const
|
|
614
|
+
* })
|
|
615
|
+
*
|
|
616
|
+
* await Effect.runPromise(Effect.scoped(program)) // => [Option.none(), Option.some("Resource: database")]
|
|
617
|
+
* ```
|
|
618
|
+
*
|
|
619
|
+
* @see {@link get} for acquiring a resource when the key is missing
|
|
620
|
+
* @see {@link has} for checking presence without retaining or awaiting the entry
|
|
621
|
+
*
|
|
622
|
+
* @category combinators
|
|
623
|
+
* @since 4.0.0
|
|
624
|
+
*/
|
|
625
|
+
export const getOption: {
|
|
626
|
+
/**
|
|
627
|
+
* Retains and returns an existing resource without invoking the map's lookup
|
|
628
|
+
* function when the key is missing.
|
|
629
|
+
*
|
|
630
|
+
* **When to use**
|
|
631
|
+
*
|
|
632
|
+
* Use when you only want to acquire a reference to a resource that is currently
|
|
633
|
+
* cached.
|
|
634
|
+
*
|
|
635
|
+
* **Details**
|
|
636
|
+
*
|
|
637
|
+
* Returns `Option.none` when the key is not currently stored or the map is
|
|
638
|
+
* closed. If an entry exists, its reference count is incremented for the current
|
|
639
|
+
* `Scope` before awaiting its result. A successful entry returns
|
|
640
|
+
* `Option.some(value)`, while an in-flight or cached failure fails with the same
|
|
641
|
+
* error as `get`.
|
|
642
|
+
*
|
|
643
|
+
* **Example** (Retaining only cached resources)
|
|
644
|
+
*
|
|
645
|
+
* ```ts import.meta.vitest
|
|
646
|
+
* import { Effect, Option, RcMap } from "effect"
|
|
647
|
+
*
|
|
648
|
+
* const program = Effect.gen(function*() {
|
|
649
|
+
* const map = yield* RcMap.make({
|
|
650
|
+
* lookup: (key: string) => Effect.succeed(`Resource: ${key}`),
|
|
651
|
+
* idleTimeToLive: "1 minute"
|
|
652
|
+
* })
|
|
653
|
+
*
|
|
654
|
+
* const missing = yield* RcMap.getOption(map, "database")
|
|
655
|
+
* yield* Effect.scoped(RcMap.get(map, "database"))
|
|
656
|
+
* const cached = yield* Effect.scoped(RcMap.getOption("database")(map))
|
|
657
|
+
*
|
|
658
|
+
* return [missing, cached] as const
|
|
659
|
+
* })
|
|
660
|
+
*
|
|
661
|
+
* await Effect.runPromise(Effect.scoped(program)) // => [Option.none(), Option.some("Resource: database")]
|
|
662
|
+
* ```
|
|
663
|
+
*
|
|
664
|
+
* @see {@link get} for acquiring a resource when the key is missing
|
|
665
|
+
* @see {@link has} for checking presence without retaining or awaiting the entry
|
|
666
|
+
*
|
|
667
|
+
* @category combinators
|
|
668
|
+
* @since 4.0.0
|
|
669
|
+
*/
|
|
670
|
+
<K>(key: K): <A, E>(self: RcMap<K, A, E>) => Effect.Effect<Option.Option<A>, E, Scope.Scope>
|
|
671
|
+
/**
|
|
672
|
+
* Retains and returns an existing resource without invoking the map's lookup
|
|
673
|
+
* function when the key is missing.
|
|
674
|
+
*
|
|
675
|
+
* **When to use**
|
|
676
|
+
*
|
|
677
|
+
* Use when you only want to acquire a reference to a resource that is currently
|
|
678
|
+
* cached.
|
|
679
|
+
*
|
|
680
|
+
* **Details**
|
|
681
|
+
*
|
|
682
|
+
* Returns `Option.none` when the key is not currently stored or the map is
|
|
683
|
+
* closed. If an entry exists, its reference count is incremented for the current
|
|
684
|
+
* `Scope` before awaiting its result. A successful entry returns
|
|
685
|
+
* `Option.some(value)`, while an in-flight or cached failure fails with the same
|
|
686
|
+
* error as `get`.
|
|
687
|
+
*
|
|
688
|
+
* **Example** (Retaining only cached resources)
|
|
689
|
+
*
|
|
690
|
+
* ```ts import.meta.vitest
|
|
691
|
+
* import { Effect, Option, RcMap } from "effect"
|
|
692
|
+
*
|
|
693
|
+
* const program = Effect.gen(function*() {
|
|
694
|
+
* const map = yield* RcMap.make({
|
|
695
|
+
* lookup: (key: string) => Effect.succeed(`Resource: ${key}`),
|
|
696
|
+
* idleTimeToLive: "1 minute"
|
|
697
|
+
* })
|
|
698
|
+
*
|
|
699
|
+
* const missing = yield* RcMap.getOption(map, "database")
|
|
700
|
+
* yield* Effect.scoped(RcMap.get(map, "database"))
|
|
701
|
+
* const cached = yield* Effect.scoped(RcMap.getOption("database")(map))
|
|
702
|
+
*
|
|
703
|
+
* return [missing, cached] as const
|
|
704
|
+
* })
|
|
705
|
+
*
|
|
706
|
+
* await Effect.runPromise(Effect.scoped(program)) // => [Option.none(), Option.some("Resource: database")]
|
|
707
|
+
* ```
|
|
708
|
+
*
|
|
709
|
+
* @see {@link get} for acquiring a resource when the key is missing
|
|
710
|
+
* @see {@link has} for checking presence without retaining or awaiting the entry
|
|
711
|
+
*
|
|
712
|
+
* @category combinators
|
|
713
|
+
* @since 4.0.0
|
|
714
|
+
*/
|
|
715
|
+
<K, A, E>(self: RcMap<K, A, E>, key: K): Effect.Effect<Option.Option<A>, E, Scope.Scope>
|
|
716
|
+
} = dual(
|
|
717
|
+
2,
|
|
718
|
+
<K, A, E>(self: RcMap<K, A, E>, key: K): Effect.Effect<Option.Option<A>, E, Scope.Scope> =>
|
|
719
|
+
Effect.uninterruptibleMask((restore) => {
|
|
720
|
+
if (self.state._tag === "Closed") {
|
|
721
|
+
return Effect.succeedNone
|
|
722
|
+
}
|
|
723
|
+
const o = MutableHashMap.get(self.state.map, key)
|
|
724
|
+
if (o._tag === "None") {
|
|
725
|
+
return Effect.succeedNone
|
|
726
|
+
}
|
|
727
|
+
const entry = o.value
|
|
728
|
+
entry.refCount++
|
|
729
|
+
const scope = Context.getUnsafe(Fiber.getCurrent()!.context, Scope.Scope)
|
|
730
|
+
return Scope.addFinalizer(scope, entry.finalizer).pipe(
|
|
731
|
+
Effect.andThen(Effect.asSome(restore(Deferred.await(entry.deferred))))
|
|
732
|
+
)
|
|
733
|
+
})
|
|
734
|
+
)
|
|
735
|
+
|
|
736
|
+
const closeEntry = <A, E>(entry: State.Entry<A, E>) =>
|
|
737
|
+
entry.fiber
|
|
738
|
+
? Fiber.interrupt(entry.fiber).pipe(Effect.andThen(Scope.close(entry.scope, Exit.void)))
|
|
739
|
+
: Scope.close(entry.scope, Exit.void)
|
|
740
|
+
|
|
580
741
|
const release = <K, A, E>(self: RcMap<K, A, E>, key: K, entry: State.Entry<A, E>) =>
|
|
581
742
|
Effect.withFiber((fiber) => {
|
|
582
743
|
entry.refCount--
|
|
583
744
|
if (entry.refCount > 0) {
|
|
584
745
|
return Effect.void
|
|
585
|
-
} else if (
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
)
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
746
|
+
} else if (self.state._tag === "Closed") {
|
|
747
|
+
return closeEntry(entry)
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
const o = MutableHashMap.get(self.state.map, key)
|
|
751
|
+
if (o._tag === "None" || o.value !== entry) {
|
|
752
|
+
return closeEntry(entry)
|
|
753
|
+
} else if (Duration.isZero(entry.idleTimeToLive)) {
|
|
754
|
+
MutableHashMap.remove(self.state.map, key)
|
|
755
|
+
return closeEntry(entry)
|
|
594
756
|
} else if (!Duration.isFinite(entry.idleTimeToLive)) {
|
|
595
757
|
return Effect.void
|
|
596
758
|
}
|
|
@@ -604,6 +766,8 @@ const release = <K, A, E>(self: RcMap<K, A, E>, key: K, entry: State.Entry<A, E>
|
|
|
604
766
|
const remaining = entry.expiresAt - now
|
|
605
767
|
if (remaining <= 0) {
|
|
606
768
|
if (self.state._tag === "Closed" || entry.refCount > 0) return Effect.void
|
|
769
|
+
const o = MutableHashMap.get(self.state.map, key)
|
|
770
|
+
if (o._tag === "None" || o.value !== entry) return Effect.void
|
|
607
771
|
MutableHashMap.remove(self.state.map, key)
|
|
608
772
|
return restore(Scope.close(entry.scope, Exit.void))
|
|
609
773
|
}
|
|
@@ -810,8 +974,7 @@ export const invalidate: {
|
|
|
810
974
|
const entry = o.value
|
|
811
975
|
MutableHashMap.remove(self.state.map, key)
|
|
812
976
|
if (entry.refCount > 0) return
|
|
813
|
-
|
|
814
|
-
yield* Scope.close(entry.scope, Exit.void)
|
|
977
|
+
yield* closeEntry(entry)
|
|
815
978
|
}, Effect.uninterruptible)
|
|
816
979
|
)
|
|
817
980
|
|