effect 4.0.0-rc.112 → 4.0.0-rc.113
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +24 -9
- package/CLAUDE.md +24 -9
- package/ai-docs/package.json +2 -2
- package/ai-docs/src/01_effect/01_basics/02_effect-fn.ts +18 -5
- package/ai-docs/src/01_effect/01_basics/index.md +5 -3
- package/ai-docs/src/01_effect/03_services/20_layer-composition.ts +1 -1
- package/ai-docs/src/01_effect/03_services/20_layer-unwrap.ts +2 -2
- package/ai-docs/src/01_effect/05_resources/10_acquire-release.ts +2 -2
- package/ai-docs/src/03_stream/30_encoding.ts +5 -7
- package/ai-docs/src/08_observability/10_logging.ts +1 -1
- package/ai-docs/src/70_cli/10_basics.ts +7 -7
- package/ai-docs/src/71_ai/10_language-model.ts +2 -2
- package/ai-docs/src/71_ai/20_tools.ts +1 -1
- package/ai-docs/src/71_ai/30_chat.ts +1 -1
- package/dist/Array.d.ts +86 -50
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +58 -32
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +5 -1
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +40 -23
- package/dist/BigDecimal.js.map +1 -1
- package/dist/ByteSize.d.ts +633 -0
- package/dist/ByteSize.d.ts.map +1 -0
- package/dist/ByteSize.js +524 -0
- package/dist/ByteSize.js.map +1 -0
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +17 -3
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +1 -1
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Channel.d.ts +97 -24
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +66 -39
- package/dist/Channel.js.map +1 -1
- package/dist/Chunk.d.ts +49 -28
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +27 -18
- package/dist/Chunk.js.map +1 -1
- package/dist/Config.d.ts +162 -201
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +103 -212
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +4 -4
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +7 -7
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Context.d.ts +31 -0
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +2 -2
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +2 -2
- package/dist/Cron.js.map +1 -1
- package/dist/Crypto.d.ts +1 -1
- package/dist/Crypto.d.ts.map +1 -1
- package/dist/Crypto.js +3 -2
- package/dist/Crypto.js.map +1 -1
- package/dist/DateTime.d.ts +2 -2
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +6 -6
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +1 -1
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +1 -1
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +220 -113
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +27 -26
- package/dist/Effect.js.map +1 -1
- package/dist/Effectable.d.ts +58 -2
- package/dist/Effectable.d.ts.map +1 -1
- package/dist/Effectable.js +58 -6
- package/dist/Effectable.js.map +1 -1
- package/dist/Encoding.d.ts +3 -1
- package/dist/Encoding.d.ts.map +1 -1
- package/dist/Encoding.js +40 -10
- package/dist/Encoding.js.map +1 -1
- package/dist/Equal.d.ts +1 -1
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +1 -1
- package/dist/Equal.js.map +1 -1
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +1 -0
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Fiber.d.ts +32 -8
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.js +3 -3
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +12 -6
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +11 -6
- package/dist/FiberMap.js.map +1 -1
- package/dist/FileSystem.d.ts +42 -210
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +16 -148
- package/dist/FileSystem.js.map +1 -1
- package/dist/Formatter.d.ts +1 -0
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +19 -3
- package/dist/Formatter.js.map +1 -1
- package/dist/Graph.d.ts +48 -20
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +20 -5
- package/dist/Graph.js.map +1 -1
- package/dist/Hash.d.ts +1 -1
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +5 -14
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +1 -1
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashRing.d.ts +6 -1
- package/dist/HashRing.d.ts.map +1 -1
- package/dist/HashRing.js +9 -2
- package/dist/HashRing.js.map +1 -1
- package/dist/HashSet.d.ts +1 -1
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js.map +1 -1
- package/dist/Iterable.d.ts +33 -15
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +58 -45
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.js +4 -4
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +68 -4
- package/dist/JsonPointer.d.ts.map +1 -1
- package/dist/JsonPointer.js +90 -4
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.js +8 -22
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Layer.d.ts +47 -4
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +4 -6
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +1 -3
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +7 -5
- package/dist/LayerMap.js.map +1 -1
- package/dist/LayerRef.d.ts.map +1 -1
- package/dist/LayerRef.js +7 -5
- package/dist/LayerRef.js.map +1 -1
- package/dist/Logger.d.ts +114 -9
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +109 -9
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.js +1 -1
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Match.d.ts +43 -31
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +5 -2
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +11 -4
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +14 -18
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +1 -1
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +1 -1
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableHashSet.d.ts +1 -1
- package/dist/MutableHashSet.d.ts.map +1 -1
- package/dist/MutableHashSet.js +1 -1
- package/dist/MutableHashSet.js.map +1 -1
- package/dist/MutableList.d.ts +13 -2
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +18 -2
- package/dist/MutableList.js.map +1 -1
- package/dist/Number.d.ts +6 -0
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +3 -1
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +5 -4
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +1 -1
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +1 -1
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +1 -0
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +3 -1
- package/dist/Order.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +1 -2
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts +1 -1
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +1 -1
- package/dist/Path.js.map +1 -1
- package/dist/PlatformError.d.ts +1 -1
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +1 -1
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +38 -1
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +81 -5
- package/dist/Pool.js.map +1 -1
- package/dist/PrimaryKey.d.ts +1 -1
- package/dist/PrimaryKey.d.ts.map +1 -1
- package/dist/PrimaryKey.js +1 -1
- package/dist/PrimaryKey.js.map +1 -1
- package/dist/PubSub.d.ts +21 -9
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +18 -14
- package/dist/PubSub.js.map +1 -1
- package/dist/Queue.d.ts +82 -6
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +116 -27
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +17 -4
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +1 -1
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +15 -9
- package/dist/RcMap.js.map +1 -1
- package/dist/Redacted.d.ts +1 -1
- package/dist/Redacted.d.ts.map +1 -1
- package/dist/Redacted.js +1 -1
- package/dist/Redacted.js.map +1 -1
- package/dist/RequestResolver.d.ts +15 -9
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +33 -15
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Result.d.ts +1 -1
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +1 -1
- package/dist/Result.js.map +1 -1
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +19 -10
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +2155 -2415
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +2755 -4174
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +354 -183
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +277 -601
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +46 -22
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +56 -53
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +122 -188
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +48 -263
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.js +2 -9
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +1099 -16
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +1341 -20
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +49 -16
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +75 -98
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +10 -3
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Sink.d.ts +9 -4
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +49 -31
- package/dist/Sink.js.map +1 -1
- package/dist/Stream.d.ts +221 -35
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +168 -84
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +16 -6
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +12 -5
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +7 -4
- package/dist/Struct.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +3 -2
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Terminal.d.ts +3 -3
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +3 -3
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +27 -7
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +38 -13
- package/dist/Tracer.js.map +1 -1
- package/dist/Trie.d.ts +1 -1
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Tuple.d.ts +2 -1
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js.map +1 -1
- package/dist/TxChunk.d.ts +1 -1
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +1 -1
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +1 -1
- package/dist/TxDeferred.d.ts.map +1 -1
- package/dist/TxDeferred.js +1 -1
- package/dist/TxDeferred.js.map +1 -1
- package/dist/TxHashMap.d.ts +1 -1
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +1 -1
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +1 -1
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +1 -1
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +1 -1
- package/dist/TxPriorityQueue.d.ts.map +1 -1
- package/dist/TxPriorityQueue.js +1 -1
- package/dist/TxPriorityQueue.js.map +1 -1
- package/dist/TxPubSub.d.ts +1 -1
- package/dist/TxPubSub.d.ts.map +1 -1
- package/dist/TxPubSub.js +1 -1
- package/dist/TxPubSub.js.map +1 -1
- package/dist/TxQueue.d.ts +9 -9
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +93 -86
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +29 -1
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +29 -1
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +1 -1
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +1 -1
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +1 -1
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +1 -1
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +1 -1
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +1 -1
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +33 -19
- package/dist/Types.d.ts.map +1 -1
- package/dist/Utils.d.ts.map +1 -1
- package/dist/Utils.js +2 -1
- package/dist/Utils.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/arbitrary/model.d.ts +2 -0
- package/dist/internal/arbitrary/model.d.ts.map +1 -0
- package/dist/internal/arbitrary/model.js +495 -0
- package/dist/internal/arbitrary/model.js.map +1 -0
- package/dist/internal/arbitrary/regexp.d.ts +2 -0
- package/dist/internal/arbitrary/regexp.d.ts.map +1 -0
- package/dist/internal/arbitrary/regexp.js +789 -0
- package/dist/internal/arbitrary/regexp.js.map +1 -0
- package/dist/internal/arbitrary/runner.d.ts +2 -0
- package/dist/internal/arbitrary/runner.d.ts.map +1 -0
- package/dist/internal/arbitrary/runner.js +496 -0
- package/dist/internal/arbitrary/runner.js.map +1 -0
- package/dist/internal/arbitrary/schema.d.ts.map +1 -0
- package/dist/internal/arbitrary/schema.js +1340 -0
- package/dist/internal/arbitrary/schema.js.map +1 -0
- package/dist/internal/core.js +27 -13
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/count.d.ts +2 -0
- package/dist/internal/count.d.ts.map +1 -0
- package/dist/internal/count.js +14 -0
- package/dist/internal/count.js.map +1 -0
- package/dist/internal/dateTime.js +4 -10
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +386 -251
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/graph.js +3 -1
- package/dist/internal/graph.js.map +1 -1
- package/dist/internal/hashMap.js +5 -3
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/hashSet.js +1 -1
- package/dist/internal/hashSet.js.map +1 -1
- package/dist/internal/matcher.js +1 -1
- package/dist/internal/matcher.js.map +1 -1
- package/dist/internal/metric.js +1 -1
- package/dist/internal/metric.js.map +1 -1
- package/dist/internal/option.js +6 -5
- package/dist/internal/option.js.map +1 -1
- package/dist/internal/random.js +17 -0
- package/dist/internal/random.js.map +1 -1
- package/dist/internal/rcRef.js +10 -7
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/references.js +1 -0
- package/dist/internal/references.js.map +1 -1
- package/dist/internal/request.js +13 -6
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/result.js +11 -9
- package/dist/internal/result.js.map +1 -1
- package/dist/internal/schema/annotations.js +1 -1
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.js +14 -12
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/fromRepresentation.js +5 -5
- package/dist/internal/schema/fromRepresentation.js.map +1 -1
- package/dist/internal/schema/make.d.ts +2 -0
- package/dist/internal/schema/make.d.ts.map +1 -0
- package/dist/internal/schema/{schema.js → make.js} +1 -25
- package/dist/internal/schema/make.js.map +1 -0
- package/dist/internal/schema/parser.d.ts +0 -12
- package/dist/internal/schema/parser.d.ts.map +1 -1
- package/dist/internal/schema/parser.js +7 -0
- package/dist/internal/schema/parser.js.map +1 -1
- package/dist/internal/schema/standardSchema.d.ts +2 -0
- package/dist/internal/schema/standardSchema.d.ts.map +1 -0
- package/dist/internal/schema/standardSchema.js +112 -0
- package/dist/internal/schema/standardSchema.js.map +1 -0
- package/dist/internal/schema/toCodeDocument.js +34 -22
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toCodec.d.ts +2 -0
- package/dist/internal/schema/toCodec.d.ts.map +1 -0
- package/dist/internal/schema/toCodec.js +242 -0
- package/dist/internal/schema/toCodec.js.map +1 -0
- package/dist/internal/schema/toDifferJsonPatch.d.ts +2 -0
- package/dist/internal/schema/toDifferJsonPatch.d.ts.map +1 -0
- package/dist/internal/schema/toDifferJsonPatch.js +20 -0
- package/dist/internal/schema/toDifferJsonPatch.js.map +1 -0
- package/dist/internal/schema/toEncoderXml.d.ts +2 -0
- package/dist/internal/schema/toEncoderXml.d.ts.map +1 -0
- package/dist/internal/schema/toEncoderXml.js +104 -0
- package/dist/internal/schema/toEncoderXml.js.map +1 -0
- package/dist/internal/schema/toEquivalence.js +66 -0
- package/dist/internal/schema/toEquivalence.js.map +1 -1
- package/dist/internal/schema/toFormatter.d.ts +2 -0
- package/dist/internal/schema/toFormatter.d.ts.map +1 -0
- package/dist/internal/schema/toFormatter.js +227 -0
- package/dist/internal/schema/toFormatter.js.map +1 -0
- package/dist/internal/schema/toIso.d.ts +2 -0
- package/dist/internal/schema/toIso.d.ts.map +1 -0
- package/dist/internal/schema/toIso.js +17 -0
- package/dist/internal/schema/toIso.js.map +1 -0
- package/dist/internal/schema/toJsonSchemaDocument.js +122 -71
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toRepresentation.js +3 -1
- package/dist/internal/schema/toRepresentation.js.map +1 -1
- package/dist/internal/schemaError.d.ts +4 -0
- package/dist/internal/schemaError.d.ts.map +1 -0
- package/dist/internal/schemaError.js +6 -0
- package/dist/internal/schemaError.js.map +1 -0
- package/dist/internal/stream.js +5 -6
- package/dist/internal/stream.js.map +1 -1
- package/dist/internal/tracer.d.ts +1 -3
- package/dist/internal/tracer.d.ts.map +1 -1
- package/dist/internal/tracer.js +6 -0
- package/dist/internal/tracer.js.map +1 -1
- package/dist/internal/trie.js +2 -2
- package/dist/internal/trie.js.map +1 -1
- package/dist/internal/uuid.d.ts +1 -2
- package/dist/internal/uuid.d.ts.map +1 -1
- package/dist/internal/uuid.js +2 -0
- package/dist/internal/uuid.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +9 -11
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +20 -18
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/testing/index.d.ts +0 -4
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +0 -4
- package/dist/testing/index.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +74 -23
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +59 -5
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +2 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +27 -32
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +10 -13
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +23 -16
- package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.js +13 -11
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +48 -37
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +150 -47
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +2 -2
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +21 -12
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +2 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +1 -1
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +15 -4
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +37 -94
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +46 -96
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +4 -5
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +38 -20
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +27 -1
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +1 -1
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +30 -18
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/internal/structured-output.js +8 -5
- package/dist/unstable/ai/internal/structured-output.js.map +1 -1
- package/dist/unstable/arbitrary/Arbitrary.d.ts +626 -0
- package/dist/unstable/arbitrary/Arbitrary.d.ts.map +1 -0
- package/dist/unstable/arbitrary/Arbitrary.js +238 -0
- package/dist/unstable/arbitrary/Arbitrary.js.map +1 -0
- package/dist/unstable/arbitrary/index.d.ts +8 -0
- package/dist/unstable/arbitrary/index.d.ts.map +1 -0
- package/dist/unstable/arbitrary/index.js +9 -0
- package/dist/unstable/arbitrary/index.js.map +1 -0
- package/dist/unstable/cli/Argument.d.ts +104 -108
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js +56 -57
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +2 -0
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +2 -0
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.js +26 -3
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +73 -73
- package/dist/unstable/cli/Command.js +18 -18
- package/dist/unstable/cli/Completions.d.ts +4 -4
- package/dist/unstable/cli/Completions.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.d.ts +150 -161
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +79 -90
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +3 -3
- package/dist/unstable/cli/GlobalFlag.js +13 -13
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/Param.d.ts +118 -126
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +104 -113
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +69 -58
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +65 -66
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.d.ts +23 -24
- package/dist/unstable/cli/Prompt.d.ts.map +1 -1
- package/dist/unstable/cli/Prompt.js +68 -63
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/internal/completions/descriptor.js +23 -11
- package/dist/unstable/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/unstable/cli/internal/completions/zsh.js +2 -2
- package/dist/unstable/cli/internal/completions/zsh.js.map +1 -1
- package/dist/unstable/cli/internal/config.js +4 -4
- package/dist/unstable/cli/internal/parser.js +1 -1
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cli/internal/wizard.d.ts.map +1 -1
- package/dist/unstable/cli/internal/wizard.js +14 -13
- package/dist/unstable/cli/internal/wizard.js.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts +13 -0
- package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.js +16 -1
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +57 -14
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +2 -0
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.d.ts +2 -2
- package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +4 -4
- package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.js +2 -3
- package/dist/unstable/cluster/Envelope.js.map +1 -1
- package/dist/unstable/cluster/HttpRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/HttpRunner.js +5 -2
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +34 -4
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +28 -9
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +1 -1
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +32 -17
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +23 -23
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SocketRunner.d.ts +2 -2
- package/dist/unstable/cluster/SocketRunner.d.ts.map +1 -1
- package/dist/unstable/cluster/SocketRunner.js +4 -3
- package/dist/unstable/cluster/SocketRunner.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +11 -8
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +11 -4
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/clusterAbandon.d.ts +5 -0
- package/dist/unstable/cluster/internal/clusterAbandon.d.ts.map +1 -0
- package/dist/unstable/cluster/internal/clusterAbandon.js +9 -0
- package/dist/unstable/cluster/internal/clusterAbandon.js.map +1 -0
- package/dist/unstable/cluster/internal/entityManager.js +7 -4
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/interruptors.js +30 -1
- package/dist/unstable/cluster/internal/interruptors.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +12 -7
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +12 -7
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/encoding/Ini.d.ts +2 -0
- package/dist/unstable/encoding/Ini.d.ts.map +1 -1
- package/dist/unstable/encoding/Ini.js +2 -0
- package/dist/unstable/encoding/Ini.js.map +1 -1
- package/dist/unstable/encoding/SchemaBinary.d.ts +27 -3
- package/dist/unstable/encoding/SchemaBinary.d.ts.map +1 -1
- package/dist/unstable/encoding/SchemaBinary.js +108 -39
- package/dist/unstable/encoding/SchemaBinary.js.map +1 -1
- package/dist/unstable/encoding/Sse.js +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/encoding/Toml.d.ts +2 -0
- package/dist/unstable/encoding/Toml.d.ts.map +1 -1
- package/dist/unstable/encoding/Toml.js +6 -4
- package/dist/unstable/encoding/Toml.js.map +1 -1
- package/dist/unstable/encoding/Yaml.d.ts +2 -0
- package/dist/unstable/encoding/Yaml.d.ts.map +1 -1
- package/dist/unstable/encoding/Yaml.js +16 -5
- package/dist/unstable/encoding/Yaml.js.map +1 -1
- package/dist/unstable/encoding/index.d.ts +0 -4
- package/dist/unstable/encoding/index.d.ts.map +1 -1
- package/dist/unstable/encoding/index.js +0 -4
- package/dist/unstable/encoding/index.js.map +1 -1
- package/dist/unstable/eventlog/Event.d.ts +5 -5
- package/dist/unstable/eventlog/Event.d.ts.map +1 -1
- package/dist/unstable/eventlog/Event.js +3 -3
- package/dist/unstable/eventlog/Event.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +7 -7
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +9 -9
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +4 -4
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.d.ts +11 -5
- package/dist/unstable/eventlog/EventLogMessage.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogMessage.js +25 -15
- package/dist/unstable/eventlog/EventLogMessage.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +7 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js +13 -3
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +2 -2
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/SqlEventJournal.js +26 -13
- package/dist/unstable/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js +5 -1
- package/dist/unstable/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/http/Cookies.d.ts +1 -45
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +2 -64
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js +1 -1
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/FindMyWay/internal/router.js +124 -33
- package/dist/unstable/http/FindMyWay/internal/router.js.map +1 -1
- package/dist/unstable/http/FindMyWay.d.ts +15 -5
- package/dist/unstable/http/FindMyWay.d.ts.map +1 -1
- package/dist/unstable/http/FindMyWay.js +3 -1
- package/dist/unstable/http/FindMyWay.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +0 -22
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +3 -34
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +41 -10
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +64 -10
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +1 -1
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +28 -18
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +28 -6
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +8 -19
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpClientResponse.d.ts +6 -1
- package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientResponse.js +10 -6
- package/dist/unstable/http/HttpClientResponse.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +16 -0
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +121 -65
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts +3 -3
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js +1 -13
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +29 -21
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +12 -11
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +36 -10
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +5 -1
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +22 -8
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +11 -42
- package/dist/unstable/http/HttpServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpServer.js +16 -20
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +11 -11
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +1 -1
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +9 -13
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +34 -44
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/HttpStaticServer.d.ts +2 -2
- package/dist/unstable/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpStaticServer.js +19 -19
- package/dist/unstable/http/HttpStaticServer.js.map +1 -1
- package/dist/unstable/http/Mime.d.ts +28 -0
- package/dist/unstable/http/Mime.d.ts.map +1 -0
- package/dist/unstable/http/Mime.js +72 -0
- package/dist/unstable/http/Mime.js.map +1 -0
- package/dist/unstable/http/Multipart.d.ts +22 -9
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +26 -10
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/MultipartParser/internal/multipart.d.ts +1 -1
- package/dist/unstable/http/MultipartParser/internal/multipart.d.ts.map +1 -1
- package/dist/unstable/http/MultipartParser/internal/multipart.js +8 -3
- package/dist/unstable/http/MultipartParser/internal/multipart.js.map +1 -1
- package/dist/unstable/http/MultipartParser.d.ts +4 -3
- package/dist/unstable/http/MultipartParser.d.ts.map +1 -1
- package/dist/unstable/http/MultipartParser.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +0 -97
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +3 -104
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/index.d.ts +4 -0
- package/dist/unstable/http/index.d.ts.map +1 -1
- package/dist/unstable/http/index.js +4 -0
- package/dist/unstable/http/index.js.map +1 -1
- package/dist/unstable/http/internal/compression.js +8 -11
- package/dist/unstable/http/internal/compression.js.map +1 -1
- package/dist/unstable/http/internal/headers.d.ts +2 -0
- package/dist/unstable/http/internal/headers.d.ts.map +1 -0
- package/dist/unstable/http/internal/headers.js +5 -0
- package/dist/unstable/http/internal/headers.js.map +1 -0
- package/dist/unstable/http/internal/httpBody.js +8 -0
- package/dist/unstable/http/internal/httpBody.js.map +1 -1
- package/dist/unstable/http/internal/mimeTypes.d.ts +361 -0
- package/dist/unstable/http/internal/mimeTypes.d.ts.map +1 -0
- package/dist/unstable/http/internal/mimeTypes.js +363 -0
- package/dist/unstable/http/internal/mimeTypes.js.map +1 -0
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +13 -0
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +23 -6
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +4 -3
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +25 -13
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +8 -3
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +9 -6
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +3 -1
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +7 -5
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +12 -0
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js +8 -10
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiTest.js +8 -2
- package/dist/unstable/httpapi/HttpApiTest.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +31 -20
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/net/IpInterface.d.ts +140 -0
- package/dist/unstable/net/IpInterface.d.ts.map +1 -0
- package/dist/unstable/net/IpInterface.js +149 -0
- package/dist/unstable/net/IpInterface.js.map +1 -0
- package/dist/unstable/net/IpNetwork.d.ts +227 -0
- package/dist/unstable/net/IpNetwork.d.ts.map +1 -0
- package/dist/unstable/net/IpNetwork.js +239 -0
- package/dist/unstable/net/IpNetwork.js.map +1 -0
- package/dist/unstable/net/NetAddress.d.ts +705 -0
- package/dist/unstable/net/NetAddress.d.ts.map +1 -0
- package/dist/unstable/net/NetAddress.js +956 -0
- package/dist/unstable/net/NetAddress.js.map +1 -0
- package/dist/unstable/net/index.d.ts +16 -0
- package/dist/unstable/net/index.d.ts.map +1 -0
- package/dist/unstable/net/index.js +17 -0
- package/dist/unstable/net/index.js.map +1 -0
- package/dist/unstable/observability/OtlpExporter.d.ts +1 -0
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +4 -6
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +9 -9
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js +9 -8
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpResource.js +2 -2
- package/dist/unstable/observability/OtlpResource.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js +82 -55
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/internal/otlpEnv.d.ts +1 -1
- package/dist/unstable/observability/internal/otlpEnv.d.ts.map +1 -1
- package/dist/unstable/observability/internal/otlpEnv.js +5 -9
- package/dist/unstable/observability/internal/otlpEnv.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +1 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +114 -14
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +799 -234
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +28 -15
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +33 -41
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +8 -2
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +7 -2
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +6 -3
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +3 -6
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +6 -3
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +2 -3
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +2 -2
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +1 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +6 -4
- package/dist/unstable/reactivity/Hydration.d.ts.map +1 -1
- package/dist/unstable/reactivity/Hydration.js +20 -6
- package/dist/unstable/reactivity/Hydration.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.d.ts +26 -26
- package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js +10 -12
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +64 -64
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.d.ts +1 -1
- package/dist/unstable/rpc/RpcMessage.d.ts +3 -1
- package/dist/unstable/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMessage.js +1 -1
- package/dist/unstable/rpc/RpcMessage.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js +7 -5
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +5 -39
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +22 -115
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +104 -57
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/Model.js +7 -6
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +3 -0
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +287 -102
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +408 -215
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +5 -32
- package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
- package/dist/unstable/socket/SocketServer.js +3 -3
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +20 -0
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +14 -7
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.d.ts +15 -0
- package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +1 -1
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +13 -5
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +29 -15
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Transferable.js +1 -1
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +3 -1
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +7 -0
- package/dist/unstable/workflow/Activity.d.ts.map +1 -1
- package/dist/unstable/workflow/Activity.js +14 -4
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +1 -1
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +2 -2
- package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/DurableQueue.d.ts +8 -0
- package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableQueue.js +8 -0
- package/dist/unstable/workflow/DurableQueue.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +5 -0
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +70 -12
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +6 -0
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +11 -0
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +7 -9
- package/src/Array.ts +118 -67
- package/src/BigDecimal.ts +50 -28
- package/src/ByteSize.ts +838 -0
- package/src/Cache.ts +17 -3
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +183 -48
- package/src/Chunk.ts +65 -36
- package/src/Config.ts +237 -248
- package/src/ConfigProvider.ts +7 -8
- package/src/Context.ts +31 -0
- package/src/Cron.ts +2 -2
- package/src/Crypto.ts +3 -2
- package/src/Deferred.ts +7 -6
- package/src/Duration.ts +1 -1
- package/src/Effect.ts +226 -122
- package/src/Effectable.ts +78 -9
- package/src/Encoding.ts +101 -11
- package/src/Equal.ts +1 -1
- package/src/ExecutionPlan.ts +3 -0
- package/src/Fiber.ts +33 -8
- package/src/FiberHandle.ts +3 -3
- package/src/FiberMap.ts +19 -10
- package/src/FileSystem.ts +55 -230
- package/src/Formatter.ts +21 -3
- package/src/Graph.ts +55 -25
- package/src/Hash.ts +5 -16
- package/src/HashRing.ts +9 -2
- package/src/HashSet.ts +56 -0
- package/src/Iterable.ts +66 -41
- package/src/JsonPatch.ts +4 -4
- package/src/JsonPointer.ts +97 -4
- package/src/JsonSchema.ts +8 -26
- package/src/Layer.ts +59 -18
- package/src/LayerMap.ts +8 -6
- package/src/LayerRef.ts +7 -5
- package/src/Logger.ts +125 -18
- package/src/ManagedRuntime.ts +1 -1
- package/src/Match.ts +33 -14
- package/src/Metric.ts +24 -21
- package/src/MutableHashMap.ts +1 -1
- package/src/MutableHashSet.ts +1 -1
- package/src/MutableList.ts +18 -2
- package/src/Number.ts +7 -1
- package/src/Optic.ts +8 -4
- package/src/Option.ts +1 -1
- package/src/Order.ts +3 -1
- package/src/PartitionedSemaphore.ts +1 -2
- package/src/Path.ts +1 -1
- package/src/PlatformError.ts +1 -1
- package/src/Pool.ts +125 -8
- package/src/PrimaryKey.ts +1 -1
- package/src/PubSub.ts +32 -20
- package/src/Queue.ts +119 -28
- package/src/Random.ts +20 -6
- package/src/RcMap.ts +20 -13
- package/src/Redacted.ts +1 -1
- package/src/RequestResolver.ts +49 -26
- package/src/Result.ts +1 -1
- package/src/Scheduler.ts +21 -11
- package/src/Schema.ts +4809 -6368
- package/src/SchemaAST.ts +1031 -284
- package/src/SchemaGetter.ts +75 -21
- package/src/SchemaIssue.ts +259 -15
- package/src/SchemaParser.ts +2 -12
- package/src/SchemaRepresentation.ts +1593 -29
- package/src/SchemaTransformation.ts +145 -22
- package/src/ScopedCache.ts +10 -3
- package/src/Sink.ts +31 -15
- package/src/Stream.ts +294 -76
- package/src/String.ts +20 -9
- package/src/Struct.ts +8 -4
- package/src/SynchronizedRef.ts +3 -5
- package/src/Terminal.ts +3 -3
- package/src/Tracer.ts +43 -14
- package/src/Tuple.ts +3 -1
- package/src/TxChunk.ts +1 -1
- package/src/TxDeferred.ts +1 -1
- package/src/TxHashMap.ts +1 -1
- package/src/TxHashSet.ts +92 -11
- package/src/TxPriorityQueue.ts +1 -1
- package/src/TxPubSub.ts +1 -1
- package/src/TxQueue.ts +22 -17
- package/src/TxReentrantLock.ts +29 -1
- package/src/TxRef.ts +1 -1
- package/src/TxSemaphore.ts +1 -1
- package/src/TxSubscriptionRef.ts +1 -1
- package/src/Types.ts +40 -17
- package/src/Utils.ts +3 -1
- package/src/index.ts +5 -0
- package/src/internal/arbitrary/model.ts +701 -0
- package/src/internal/arbitrary/regexp.ts +855 -0
- package/src/internal/arbitrary/runner.ts +608 -0
- package/src/internal/arbitrary/schema.ts +1800 -0
- package/src/internal/core.ts +48 -22
- package/src/internal/count.ts +14 -0
- package/src/internal/dateTime.ts +8 -10
- package/src/internal/effect.ts +475 -295
- package/src/internal/graph.ts +6 -1
- package/src/internal/hashMap.ts +5 -3
- package/src/internal/hashSet.ts +1 -1
- package/src/internal/matcher.ts +34 -19
- package/src/internal/metric.ts +1 -1
- package/src/internal/option.ts +8 -6
- package/src/internal/random.ts +20 -7
- package/src/internal/rcRef.ts +10 -7
- package/src/internal/references.ts +1 -0
- package/src/internal/request.ts +12 -7
- package/src/internal/result.ts +15 -11
- package/src/internal/schema/annotations.ts +3 -3
- package/src/internal/schema/fromJsonSchemaDocument.ts +14 -29
- package/src/internal/schema/fromRepresentation.ts +5 -3
- package/src/internal/schema/{schema.ts → make.ts} +0 -40
- package/src/internal/schema/parser.ts +8 -0
- package/src/internal/schema/standardSchema.ts +125 -0
- package/src/internal/schema/toCodeDocument.ts +58 -44
- package/src/internal/schema/toCodec.ts +312 -0
- package/src/internal/schema/toDifferJsonPatch.ts +24 -0
- package/src/internal/schema/toEncoderXml.ts +110 -0
- package/src/internal/schema/toEquivalence.ts +76 -0
- package/src/internal/schema/toFormatter.ts +230 -0
- package/src/internal/schema/toIso.ts +20 -0
- package/src/internal/schema/toJsonSchemaDocument.ts +125 -67
- package/src/internal/schema/toRepresentation.ts +1 -1
- package/src/internal/schemaError.ts +8 -0
- package/src/internal/stream.ts +14 -6
- package/src/internal/tracer.ts +4 -0
- package/src/internal/trie.ts +5 -2
- package/src/internal/uuid.ts +4 -0
- package/src/testing/TestSchema.ts +36 -30
- package/src/testing/index.ts +0 -5
- package/src/unstable/ai/AiError.ts +69 -5
- package/src/unstable/ai/AnthropicStructuredOutput.ts +4 -1
- package/src/unstable/ai/Chat.ts +35 -36
- package/src/unstable/ai/EmbeddingModel.ts +27 -15
- package/src/unstable/ai/LanguageModel.ts +283 -100
- package/src/unstable/ai/McpServer.ts +36 -20
- package/src/unstable/ai/OpenAiStructuredOutput.ts +4 -1
- package/src/unstable/ai/Prompt.ts +19 -4
- package/src/unstable/ai/Response.ts +107 -189
- package/src/unstable/ai/Tokenizer.ts +4 -5
- package/src/unstable/ai/Tool.ts +58 -35
- package/src/unstable/ai/Toolkit.ts +43 -37
- package/src/unstable/ai/internal/structured-output.ts +5 -5
- package/src/unstable/arbitrary/Arbitrary.ts +715 -0
- package/src/unstable/arbitrary/index.ts +10 -0
- package/src/unstable/cli/Argument.ts +111 -115
- package/src/unstable/cli/CliError.ts +2 -0
- package/src/unstable/cli/CliOutput.ts +40 -3
- package/src/unstable/cli/Command.ts +74 -74
- package/src/unstable/cli/Completions.ts +4 -4
- package/src/unstable/cli/Flag.ts +158 -169
- package/src/unstable/cli/GlobalFlag.ts +13 -13
- package/src/unstable/cli/Param.ts +150 -159
- package/src/unstable/cli/Primitive.ts +75 -76
- package/src/unstable/cli/Prompt.ts +88 -87
- package/src/unstable/cli/internal/completions/descriptor.ts +23 -11
- package/src/unstable/cli/internal/completions/zsh.ts +2 -2
- package/src/unstable/cli/internal/config.ts +4 -4
- package/src/unstable/cli/internal/parser.ts +1 -1
- package/src/unstable/cli/internal/wizard.ts +18 -13
- package/src/unstable/cluster/ClusterSchema.ts +19 -1
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +66 -16
- package/src/unstable/cluster/Entity.ts +3 -0
- package/src/unstable/cluster/EntityProxyServer.ts +6 -2
- package/src/unstable/cluster/Envelope.ts +3 -3
- package/src/unstable/cluster/HttpRunner.ts +7 -2
- package/src/unstable/cluster/MessageStorage.ts +62 -21
- package/src/unstable/cluster/Reply.ts +2 -2
- package/src/unstable/cluster/Sharding.ts +44 -19
- package/src/unstable/cluster/ShardingConfig.ts +23 -23
- package/src/unstable/cluster/SocketRunner.ts +5 -4
- package/src/unstable/cluster/SqlMessageStorage.ts +12 -8
- package/src/unstable/cluster/SqlRunnerStorage.ts +18 -10
- package/src/unstable/cluster/internal/clusterAbandon.ts +14 -0
- package/src/unstable/cluster/internal/entityManager.ts +12 -4
- package/src/unstable/cluster/internal/interruptors.ts +58 -1
- package/src/unstable/cluster/internal/resourceRef.ts +15 -7
- package/src/unstable/devtools/DevToolsClient.ts +13 -3
- package/src/unstable/encoding/Ini.ts +2 -0
- package/src/unstable/encoding/SchemaBinary.ts +150 -44
- package/src/unstable/encoding/Sse.ts +1 -1
- package/src/unstable/encoding/Toml.ts +7 -5
- package/src/unstable/encoding/Yaml.ts +18 -5
- package/src/unstable/encoding/index.ts +0 -5
- package/src/unstable/eventlog/Event.ts +7 -7
- package/src/unstable/eventlog/EventJournal.ts +9 -9
- package/src/unstable/eventlog/EventLog.ts +5 -5
- package/src/unstable/eventlog/EventLogMessage.ts +25 -15
- package/src/unstable/eventlog/EventLogRemote.ts +15 -4
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +2 -2
- package/src/unstable/eventlog/SqlEventJournal.ts +32 -9
- package/src/unstable/eventlog/SqlEventLogServerUnencrypted.ts +11 -1
- package/src/unstable/http/Cookies.ts +2 -102
- package/src/unstable/http/FetchHttpClient.ts +1 -1
- package/src/unstable/http/FindMyWay/internal/router.ts +139 -33
- package/src/unstable/http/FindMyWay.ts +15 -5
- package/src/unstable/http/Headers.ts +3 -48
- package/src/unstable/http/HttpBody.ts +107 -36
- package/src/unstable/http/HttpClient.ts +41 -30
- package/src/unstable/http/HttpClientRequest.ts +32 -18
- package/src/unstable/http/HttpClientResponse.ts +16 -3
- package/src/unstable/http/HttpEffect.ts +145 -73
- package/src/unstable/http/HttpIncomingMessage.ts +4 -4
- package/src/unstable/http/HttpMiddleware.ts +43 -24
- package/src/unstable/http/HttpPlatform.ts +62 -20
- package/src/unstable/http/HttpRouter.ts +27 -16
- package/src/unstable/http/HttpServer.ts +18 -57
- package/src/unstable/http/HttpServerRequest.ts +17 -15
- package/src/unstable/http/HttpServerRespondable.ts +1 -1
- package/src/unstable/http/HttpServerResponse.ts +49 -40
- package/src/unstable/http/HttpStaticServer.ts +30 -28
- package/src/unstable/http/Mime.ts +76 -0
- package/src/unstable/http/Multipart.ts +35 -18
- package/src/unstable/http/MultipartParser/internal/multipart.ts +10 -3
- package/src/unstable/http/MultipartParser.ts +4 -3
- package/src/unstable/http/UrlParams.ts +3 -161
- package/src/unstable/http/index.ts +5 -0
- package/src/unstable/http/internal/compression.ts +11 -12
- package/src/unstable/http/internal/headers.ts +7 -0
- package/src/unstable/http/internal/httpBody.ts +9 -0
- package/src/unstable/http/internal/mimeTypes.ts +395 -0
- package/src/unstable/httpapi/HttpApiBuilder.ts +52 -6
- package/src/unstable/httpapi/HttpApiClient.ts +44 -24
- package/src/unstable/httpapi/HttpApiEndpoint.ts +24 -11
- package/src/unstable/httpapi/HttpApiError.ts +3 -1
- package/src/unstable/httpapi/HttpApiMiddleware.ts +7 -5
- package/src/unstable/httpapi/HttpApiSchema.ts +14 -7
- package/src/unstable/httpapi/HttpApiTest.ts +6 -1
- package/src/unstable/httpapi/OpenApi.ts +32 -22
- package/src/unstable/net/IpInterface.ts +242 -0
- package/src/unstable/net/IpNetwork.ts +357 -0
- package/src/unstable/net/NetAddress.ts +1271 -0
- package/src/unstable/net/index.ts +20 -0
- package/src/unstable/observability/OtlpExporter.ts +5 -6
- package/src/unstable/observability/OtlpLogger.ts +9 -9
- package/src/unstable/observability/OtlpMetrics.ts +9 -8
- package/src/unstable/observability/OtlpResource.ts +5 -4
- package/src/unstable/observability/OtlpTracer.ts +103 -81
- package/src/unstable/observability/internal/otlpEnv.ts +10 -13
- package/src/unstable/persistence/PersistedCache.ts +1 -1
- package/src/unstable/persistence/PersistedQueue.ts +1100 -291
- package/src/unstable/persistence/RateLimiter.ts +64 -58
- package/src/unstable/process/ChildProcess.ts +15 -4
- package/src/unstable/process/ChildProcessSpawner.ts +1 -1
- package/src/unstable/reactivity/Atom.ts +6 -3
- package/src/unstable/reactivity/AtomHttpApi.ts +21 -10
- package/src/unstable/reactivity/AtomRegistry.ts +2 -4
- package/src/unstable/reactivity/AtomRpc.ts +6 -5
- package/src/unstable/reactivity/Hydration.ts +26 -7
- package/src/unstable/reactivity/Reactivity.ts +49 -36
- package/src/unstable/rpc/RpcClient.ts +62 -59
- package/src/unstable/rpc/RpcMessage.ts +3 -1
- package/src/unstable/rpc/RpcMiddleware.ts +7 -5
- package/src/unstable/rpc/RpcSerialization.ts +27 -117
- package/src/unstable/rpc/RpcServer.ts +143 -80
- package/src/unstable/schema/Model.ts +8 -7
- package/src/unstable/schema/VariantSchema.ts +3 -0
- package/src/unstable/socket/Socket.ts +714 -383
- package/src/unstable/socket/SocketServer.ts +5 -35
- package/src/unstable/sql/SqlClient.ts +42 -7
- package/src/unstable/sql/SqlConnection.ts +18 -0
- package/src/unstable/sql/SqlModel.ts +1 -1
- package/src/unstable/sql/Statement.ts +46 -20
- package/src/unstable/workers/Transferable.ts +1 -1
- package/src/unstable/workers/Worker.ts +3 -1
- package/src/unstable/workflow/Activity.ts +20 -9
- package/src/unstable/workflow/DurableClock.ts +1 -1
- package/src/unstable/workflow/DurableDeferred.ts +6 -0
- package/src/unstable/workflow/DurableQueue.ts +8 -0
- package/src/unstable/workflow/Workflow.ts +105 -28
- package/src/unstable/workflow/WorkflowEngine.ts +22 -0
- package/dist/internal/schema/schema.d.ts.map +0 -1
- package/dist/internal/schema/schema.js.map +0 -1
- package/dist/internal/schema/toArbitrary.d.ts +0 -2
- package/dist/internal/schema/toArbitrary.d.ts.map +0 -1
- package/dist/internal/schema/toArbitrary.js +0 -705
- package/dist/internal/schema/toArbitrary.js.map +0 -1
- package/dist/testing/FastCheck.d.ts +0 -90
- package/dist/testing/FastCheck.d.ts.map +0 -1
- package/dist/testing/FastCheck.js +0 -90
- package/dist/testing/FastCheck.js.map +0 -1
- package/dist/unstable/encoding/Msgpack.d.ts +0 -185
- package/dist/unstable/encoding/Msgpack.d.ts.map +0 -1
- package/dist/unstable/encoding/Msgpack.js +0 -227
- package/dist/unstable/encoding/Msgpack.js.map +0 -1
- package/src/internal/schema/toArbitrary.ts +0 -843
- package/src/testing/FastCheck.ts +0 -90
- package/src/unstable/encoding/Msgpack.ts +0 -432
- /package/dist/internal/{schema → arbitrary}/schema.d.ts +0 -0
package/dist/internal/effect.js
CHANGED
|
@@ -29,7 +29,6 @@ import { addSpanStackTrace, makeStackCleaner } from "./tracer.js";
|
|
|
29
29
|
// ----------------------------------------------------------------------------
|
|
30
30
|
/** @internal */
|
|
31
31
|
export class Interrupt extends ReasonBase {
|
|
32
|
-
fiberId;
|
|
33
32
|
constructor(fiberId, annotations = constEmptyAnnotations) {
|
|
34
33
|
super("Interrupt", annotations, "Interrupted");
|
|
35
34
|
this.fiberId = fiberId;
|
|
@@ -127,6 +126,25 @@ export const causeAnnotations = self => {
|
|
|
127
126
|
}
|
|
128
127
|
return Context.makeUnsafe(map);
|
|
129
128
|
};
|
|
129
|
+
const dedupeReasons = (self, that) => {
|
|
130
|
+
// Keep deduplication local so causeCombine does not retain Array.ts in the core bundle.
|
|
131
|
+
// Snapshot both arrays before invoking user-defined hash or equality methods.
|
|
132
|
+
const buckets = new Map();
|
|
133
|
+
const out = [];
|
|
134
|
+
for (const reason of self.concat(that)) {
|
|
135
|
+
const hash = Hash.hash(reason);
|
|
136
|
+
const bucket = buckets.get(hash);
|
|
137
|
+
if (bucket === undefined) {
|
|
138
|
+
buckets.set(hash, [reason]);
|
|
139
|
+
} else if (bucket.some(previous => Equal.equals(previous, reason))) {
|
|
140
|
+
continue;
|
|
141
|
+
} else {
|
|
142
|
+
bucket.push(reason);
|
|
143
|
+
}
|
|
144
|
+
out.push(reason);
|
|
145
|
+
}
|
|
146
|
+
return out;
|
|
147
|
+
};
|
|
130
148
|
/** @internal */
|
|
131
149
|
export const causeCombine = /*#__PURE__*/dual(2, (self, that) => {
|
|
132
150
|
if (self.reasons.length === 0) {
|
|
@@ -134,7 +152,7 @@ export const causeCombine = /*#__PURE__*/dual(2, (self, that) => {
|
|
|
134
152
|
} else if (that.reasons.length === 0) {
|
|
135
153
|
return self;
|
|
136
154
|
}
|
|
137
|
-
const newCause = new CauseImpl(
|
|
155
|
+
const newCause = new CauseImpl(dedupeReasons(self.reasons, that.reasons));
|
|
138
156
|
return Equal.equals(self, newCause) ? self : newCause;
|
|
139
157
|
});
|
|
140
158
|
/** @internal */
|
|
@@ -179,7 +197,7 @@ export const causePrettyErrors = (self, options) => {
|
|
|
179
197
|
const interrupts = [];
|
|
180
198
|
if (self.reasons.length === 0) return errors;
|
|
181
199
|
const prevStackLimit = getStackTraceLimit();
|
|
182
|
-
setStackTraceLimit(1);
|
|
200
|
+
if (prevStackLimit !== 0) setStackTraceLimit(1);
|
|
183
201
|
for (const failure of self.reasons) {
|
|
184
202
|
if (failure._tag === "Interrupt") {
|
|
185
203
|
interrupts.push(failure);
|
|
@@ -198,7 +216,7 @@ export const causePrettyErrors = (self, options) => {
|
|
|
198
216
|
error.stack = `${error.name}: ${error.message}`;
|
|
199
217
|
errors.push(causePrettyError(error, interrupts[0].annotations, options));
|
|
200
218
|
}
|
|
201
|
-
setStackTraceLimit(prevStackLimit);
|
|
219
|
+
if (prevStackLimit !== 0) setStackTraceLimit(prevStackLimit);
|
|
202
220
|
return errors;
|
|
203
221
|
};
|
|
204
222
|
/** @internal */
|
|
@@ -335,14 +353,15 @@ export class FiberImpl {
|
|
|
335
353
|
this.currentOpCount = 0;
|
|
336
354
|
this.interruptible = interruptible;
|
|
337
355
|
this._stack = [];
|
|
338
|
-
this._observers =
|
|
356
|
+
this._observers = undefined;
|
|
339
357
|
this._exit = undefined;
|
|
340
358
|
this._children = undefined;
|
|
341
359
|
this._interruptedCause = undefined;
|
|
342
360
|
this._yielded = undefined;
|
|
343
361
|
this._running = false;
|
|
344
362
|
this._deferredInterrupt = false;
|
|
345
|
-
this.
|
|
363
|
+
this._parent = undefined;
|
|
364
|
+
this.cache.runtimeMetrics?.recordFiberStart(this.context);
|
|
346
365
|
}
|
|
347
366
|
[FiberTypeId];
|
|
348
367
|
id;
|
|
@@ -356,20 +375,13 @@ export class FiberImpl {
|
|
|
356
375
|
_yielded;
|
|
357
376
|
_running;
|
|
358
377
|
_deferredInterrupt;
|
|
378
|
+
_parent;
|
|
359
379
|
// set in setContext
|
|
360
380
|
context;
|
|
361
|
-
|
|
362
|
-
currentTracerContext;
|
|
363
|
-
currentSpan;
|
|
364
|
-
currentLogLevel;
|
|
365
|
-
minimumLogLevel;
|
|
366
|
-
currentStackFrame;
|
|
367
|
-
runtimeMetrics;
|
|
368
|
-
maxOpsBeforeYield;
|
|
369
|
-
currentPreventYield;
|
|
381
|
+
cache;
|
|
370
382
|
_dispatcher = undefined;
|
|
371
383
|
get currentDispatcher() {
|
|
372
|
-
return this._dispatcher ??= this.
|
|
384
|
+
return this._dispatcher ??= this.cache.scheduler.makeDispatcher();
|
|
373
385
|
}
|
|
374
386
|
getRef(ref) {
|
|
375
387
|
return Context.get(this.context, ref);
|
|
@@ -379,9 +391,13 @@ export class FiberImpl {
|
|
|
379
391
|
cb(this._exit);
|
|
380
392
|
return constVoid;
|
|
381
393
|
}
|
|
382
|
-
this._observers
|
|
394
|
+
if (this._observers === undefined) {
|
|
395
|
+
this._observers = [cb];
|
|
396
|
+
} else {
|
|
397
|
+
this._observers.push(cb);
|
|
398
|
+
}
|
|
383
399
|
return () => {
|
|
384
|
-
if (this._exit) return;
|
|
400
|
+
if (this._exit || this._observers === undefined) return;
|
|
385
401
|
const index = this._observers.indexOf(cb);
|
|
386
402
|
if (index >= 0) {
|
|
387
403
|
this._observers.splice(index, 1);
|
|
@@ -393,8 +409,8 @@ export class FiberImpl {
|
|
|
393
409
|
return;
|
|
394
410
|
}
|
|
395
411
|
let cause = causeInterrupt(fiberId);
|
|
396
|
-
if (this.
|
|
397
|
-
cause = causeAnnotate(cause, Context.make(CauseStackTrace, this.
|
|
412
|
+
if (this.cache.stackFrame) {
|
|
413
|
+
cause = causeAnnotate(cause, Context.make(CauseStackTrace, this.cache.stackFrame));
|
|
398
414
|
}
|
|
399
415
|
if (annotations) {
|
|
400
416
|
cause = causeAnnotate(cause, annotations);
|
|
@@ -430,11 +446,18 @@ export class FiberImpl {
|
|
|
430
446
|
return this.evaluate(flatMap(interruptChildren, () => exit));
|
|
431
447
|
}
|
|
432
448
|
this._exit = exit;
|
|
433
|
-
this.runtimeMetrics?.recordFiberEnd(this.context, this._exit);
|
|
434
|
-
|
|
435
|
-
this.
|
|
449
|
+
this.cache.runtimeMetrics?.recordFiberEnd(this.context, this._exit);
|
|
450
|
+
if (this._parent) {
|
|
451
|
+
this._parent._children?.delete(this);
|
|
452
|
+
this._parent = undefined;
|
|
453
|
+
}
|
|
454
|
+
if (this._observers !== undefined) {
|
|
455
|
+
const observers = this._observers;
|
|
456
|
+
this._observers = undefined;
|
|
457
|
+
for (let i = 0; i < observers.length; i++) {
|
|
458
|
+
observers[i](exit);
|
|
459
|
+
}
|
|
436
460
|
}
|
|
437
|
-
this._observers.length = 0;
|
|
438
461
|
this._stack.length = 0;
|
|
439
462
|
this._children = undefined;
|
|
440
463
|
this.context = Context.empty();
|
|
@@ -454,12 +477,14 @@ export class FiberImpl {
|
|
|
454
477
|
current = failCause(this._interruptedCause);
|
|
455
478
|
}
|
|
456
479
|
this.currentOpCount++;
|
|
457
|
-
|
|
480
|
+
// Refresh the cache because a primitive can replace the fiber context.
|
|
481
|
+
const cache = this.cache;
|
|
482
|
+
if (!yielding && !cache.preventYield && cache.scheduler.shouldYield(this)) {
|
|
458
483
|
yielding = true;
|
|
459
484
|
const prev = current;
|
|
460
485
|
current = flatMap(yieldNow, () => prev);
|
|
461
486
|
}
|
|
462
|
-
current =
|
|
487
|
+
current = cache.tracerContext ? cache.tracerContext(current, this) : current[evaluate](this);
|
|
463
488
|
if (current === Yield) {
|
|
464
489
|
const yielded = this._yielded;
|
|
465
490
|
if (ExitTypeId in yielded) {
|
|
@@ -492,11 +517,14 @@ export class FiberImpl {
|
|
|
492
517
|
while (true) {
|
|
493
518
|
const op = this._stack.pop();
|
|
494
519
|
if (!op) return undefined;
|
|
495
|
-
const
|
|
496
|
-
if (
|
|
497
|
-
;
|
|
498
|
-
cont
|
|
499
|
-
|
|
520
|
+
const all = op[contAll];
|
|
521
|
+
if (all !== undefined) {
|
|
522
|
+
const cont = all.call(op, this);
|
|
523
|
+
if (cont) {
|
|
524
|
+
;
|
|
525
|
+
cont[symbol] = cont;
|
|
526
|
+
return cont;
|
|
527
|
+
}
|
|
500
528
|
}
|
|
501
529
|
if (op[symbol]) return op;
|
|
502
530
|
}
|
|
@@ -517,27 +545,39 @@ export class FiberImpl {
|
|
|
517
545
|
// Every key cached below opts in to Context caching, so contexts related
|
|
518
546
|
// only by non-caching adds cannot have changed any of them
|
|
519
547
|
if (previous !== undefined && Context.hasSameCache(previous, context)) return;
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
548
|
+
// Contexts sharing a cacheRoot resolve every cached key identically, so
|
|
549
|
+
// the derived cache object is computed once per root and shared by all
|
|
550
|
+
// fibers running with that root (forked fibers reuse the parent's).
|
|
551
|
+
const root = context.cacheRoot;
|
|
552
|
+
const cache = root._fiberCache ??= makeFiberContextCache(context);
|
|
553
|
+
if (this.cache !== undefined && this.cache.scheduler !== cache.scheduler) {
|
|
523
554
|
this._dispatcher = undefined;
|
|
524
555
|
}
|
|
525
|
-
|
|
526
|
-
// tracer behind Tracer.Tracer's default) out of every bundle
|
|
527
|
-
this.currentSpan = Context.getOrUndefinedUnsafe(context, Tracer.ParentSpanKey);
|
|
528
|
-
this.currentLogLevel = this.getRef(CurrentLogLevel);
|
|
529
|
-
this.minimumLogLevel = this.getRef(MinimumLogLevel);
|
|
530
|
-
this.currentStackFrame = this.getRef(CurrentStackFrame);
|
|
531
|
-
this.maxOpsBeforeYield = this.getRef(Scheduler.MaxOpsBeforeYield);
|
|
532
|
-
this.currentPreventYield = this.getRef(Scheduler.PreventSchedulerYield);
|
|
533
|
-
this.runtimeMetrics = Context.getOrUndefinedUnsafe(context, InternalMetric.FiberRuntimeMetricsKey);
|
|
534
|
-
const currentTracer = Context.getOrUndefinedUnsafe(context, Tracer.TracerKey);
|
|
535
|
-
this.currentTracerContext = currentTracer ? currentTracer["context"] : undefined;
|
|
556
|
+
this.cache = cache;
|
|
536
557
|
}
|
|
537
558
|
get currentSpanLocal() {
|
|
538
|
-
|
|
559
|
+
const span = this.cache.span;
|
|
560
|
+
return span?._tag === "Span" ? span : undefined;
|
|
539
561
|
}
|
|
540
562
|
}
|
|
563
|
+
const makeFiberContextCache = context => {
|
|
564
|
+
// The string-keyed lookups keep the Tracer key values (and the native
|
|
565
|
+
// tracer behind Tracer.Tracer's default) out of every bundle
|
|
566
|
+
const currentTracer = Context.getOrUndefinedUnsafe(context, Tracer.TracerKey);
|
|
567
|
+
return {
|
|
568
|
+
scheduler: Context.get(context, Scheduler.Scheduler),
|
|
569
|
+
tracer: currentTracer,
|
|
570
|
+
tracerContext: currentTracer ? currentTracer["context"] : undefined,
|
|
571
|
+
tracerEnabled: Context.get(context, TracerEnabled),
|
|
572
|
+
span: Context.getOrUndefinedUnsafe(context, Tracer.ParentSpanKey),
|
|
573
|
+
logLevel: Context.get(context, CurrentLogLevel),
|
|
574
|
+
minimumLogLevel: Context.get(context, MinimumLogLevel),
|
|
575
|
+
stackFrame: Context.get(context, CurrentStackFrame),
|
|
576
|
+
runtimeMetrics: Context.getOrUndefinedUnsafe(context, InternalMetric.FiberRuntimeMetricsKey),
|
|
577
|
+
maxOpsBeforeYield: Context.get(context, Scheduler.MaxOpsBeforeYield),
|
|
578
|
+
preventYield: Context.get(context, Scheduler.PreventSchedulerYield)
|
|
579
|
+
};
|
|
580
|
+
};
|
|
541
581
|
const deferredInterruptCont = {
|
|
542
582
|
[contA](_value, fiber) {
|
|
543
583
|
return failCause(fiber._interruptedCause);
|
|
@@ -550,9 +590,9 @@ const fiberMiddleware = {
|
|
|
550
590
|
interruptChildren: undefined
|
|
551
591
|
};
|
|
552
592
|
const fiberStackAnnotations = fiber => {
|
|
553
|
-
if (!fiber.
|
|
593
|
+
if (!fiber.cache.stackFrame) return undefined;
|
|
554
594
|
const annotations = new Map();
|
|
555
|
-
annotations.set(InterruptorStackTrace.key, fiber.
|
|
595
|
+
annotations.set(InterruptorStackTrace.key, fiber.cache.stackFrame);
|
|
556
596
|
return Context.makeUnsafe(annotations);
|
|
557
597
|
};
|
|
558
598
|
const fiberInterruptChildren = fiber => {
|
|
@@ -766,39 +806,48 @@ export const withFiberId = f => withFiber(fiber => f(fiber.id));
|
|
|
766
806
|
export const fiber = /*#__PURE__*/withFiber(succeed);
|
|
767
807
|
/** @internal */
|
|
768
808
|
export const fiberId = /*#__PURE__*/withFiberId(succeed);
|
|
769
|
-
const callbackOptions = /*#__PURE__*/
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
809
|
+
const callbackOptions = /*#__PURE__*/function () {
|
|
810
|
+
const Proto = /*#__PURE__*/makePrimitiveProto({
|
|
811
|
+
op: "Async",
|
|
812
|
+
[evaluate](fiber) {
|
|
813
|
+
const register = internalCall(() => this.register.bind(fiber.cache.scheduler));
|
|
814
|
+
let resumed = false;
|
|
815
|
+
let yielded = false;
|
|
816
|
+
const controller = this.withSignal ? new AbortController() : undefined;
|
|
817
|
+
const onCancel = register(effect => {
|
|
818
|
+
if (resumed) return;
|
|
819
|
+
resumed = true;
|
|
820
|
+
if (yielded) {
|
|
821
|
+
fiber.evaluate(effect);
|
|
822
|
+
} else {
|
|
823
|
+
yielded = effect;
|
|
824
|
+
}
|
|
825
|
+
}, controller?.signal);
|
|
826
|
+
if (yielded !== false) return yielded;
|
|
827
|
+
yielded = true;
|
|
828
|
+
fiber._yielded = () => {
|
|
829
|
+
resumed = true;
|
|
830
|
+
};
|
|
831
|
+
if (controller === undefined && onCancel === undefined) {
|
|
832
|
+
return Yield;
|
|
784
833
|
}
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
};
|
|
791
|
-
if (controller === undefined && onCancel === undefined) {
|
|
834
|
+
fiber._stack.push(asyncFinalizer(() => {
|
|
835
|
+
resumed = true;
|
|
836
|
+
controller?.abort();
|
|
837
|
+
return onCancel ?? exitVoid;
|
|
838
|
+
}));
|
|
792
839
|
return Yield;
|
|
793
840
|
}
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
841
|
+
});
|
|
842
|
+
const AsyncImpl = function (register, withSignal) {
|
|
843
|
+
this.register = register;
|
|
844
|
+
this.withSignal = withSignal;
|
|
845
|
+
};
|
|
846
|
+
AsyncImpl.prototype = Proto;
|
|
847
|
+
return function (register, withSignal) {
|
|
848
|
+
return new AsyncImpl(register, withSignal);
|
|
849
|
+
};
|
|
850
|
+
}();
|
|
802
851
|
const asyncFinalizer = /*#__PURE__*/makePrimitive({
|
|
803
852
|
op: "AsyncFinalizer",
|
|
804
853
|
[contAll](fiber) {
|
|
@@ -816,7 +865,14 @@ export const callback = register => callbackOptions(register, register.length >=
|
|
|
816
865
|
/** @internal */
|
|
817
866
|
export const never = /*#__PURE__*/callback(constVoid);
|
|
818
867
|
/** @internal */
|
|
819
|
-
export const gen = (...args) =>
|
|
868
|
+
export const gen = (...args) => {
|
|
869
|
+
if (args.length === 1) {
|
|
870
|
+
const body = args[0];
|
|
871
|
+
return suspend(() => fromIteratorUnsafe(body()));
|
|
872
|
+
}
|
|
873
|
+
const [options, body] = args;
|
|
874
|
+
return suspend(() => fromIteratorUnsafe(body.call(options.self)));
|
|
875
|
+
};
|
|
820
876
|
/** @internal */
|
|
821
877
|
export const fnUntraced = (body, ...pipeables) => {
|
|
822
878
|
const fn = pipeables.length === 0 ? function () {
|
|
@@ -841,9 +897,12 @@ export const fn = function () {
|
|
|
841
897
|
const name = nameFirst ? arguments[0] : "Effect.fn";
|
|
842
898
|
const spanOptions = nameFirst ? arguments[1] : undefined;
|
|
843
899
|
const prevLimit = getStackTraceLimit();
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
900
|
+
let defError;
|
|
901
|
+
if (prevLimit !== 0) {
|
|
902
|
+
setStackTraceLimit(2);
|
|
903
|
+
defError = new globalThis.Error();
|
|
904
|
+
setStackTraceLimit(prevLimit);
|
|
905
|
+
}
|
|
847
906
|
if (nameFirst) {
|
|
848
907
|
return (body, ...pipeables) => makeFn(name, body, defError, pipeables, nameFirst, spanOptions);
|
|
849
908
|
}
|
|
@@ -863,15 +922,18 @@ const makeFn = (name, bodyOrOptions, defError, pipeables, addSpan, spanOptions)
|
|
|
863
922
|
return result;
|
|
864
923
|
}
|
|
865
924
|
const prevLimit = getStackTraceLimit();
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
925
|
+
let callError;
|
|
926
|
+
if (prevLimit !== 0) {
|
|
927
|
+
setStackTraceLimit(2);
|
|
928
|
+
callError = new globalThis.Error();
|
|
929
|
+
setStackTraceLimit(prevLimit);
|
|
930
|
+
}
|
|
869
931
|
return updateService(addSpan ? useSpan(name, spanOptions, span => provideParentSpan(result, span)) : result, CurrentStackFrame, prev => ({
|
|
870
932
|
name,
|
|
871
|
-
stack: fnStackCleaner(() => callError.stack),
|
|
933
|
+
stack: callError ? fnStackCleaner(() => callError.stack) : constUndefined,
|
|
872
934
|
parent: {
|
|
873
935
|
name: `${name} (definition)`,
|
|
874
|
-
stack: fnStackCleaner(() => defError.stack),
|
|
936
|
+
stack: defError ? fnStackCleaner(() => defError.stack) : constUndefined,
|
|
875
937
|
parent: prev
|
|
876
938
|
}
|
|
877
939
|
}));
|
|
@@ -883,7 +945,7 @@ export const fnUntracedEager = (body, ...pipeables) => defineFunctionLength(body
|
|
|
883
945
|
} : function () {
|
|
884
946
|
let effect = fromIteratorEagerUnsafe(() => body.apply(this, arguments));
|
|
885
947
|
for (const pipeable of pipeables) {
|
|
886
|
-
effect = pipeable(effect);
|
|
948
|
+
effect = pipeable(effect, ...arguments);
|
|
887
949
|
}
|
|
888
950
|
return effect;
|
|
889
951
|
});
|
|
@@ -919,35 +981,82 @@ const fromIteratorEagerUnsafe = evaluate => {
|
|
|
919
981
|
return die(error);
|
|
920
982
|
}
|
|
921
983
|
};
|
|
922
|
-
const fromIteratorUnsafe = /*#__PURE__*/
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
984
|
+
const fromIteratorUnsafe = /*#__PURE__*/function () {
|
|
985
|
+
const Proto = /*#__PURE__*/makePrimitiveProto({
|
|
986
|
+
op: "Iterator",
|
|
987
|
+
[contA](value, fiber) {
|
|
988
|
+
const iter = this.iterator;
|
|
989
|
+
while (true) {
|
|
990
|
+
const state = iter.next(value);
|
|
991
|
+
if (state.done) return succeed(state.value);
|
|
992
|
+
if (!effectIsExit(state.value)) {
|
|
993
|
+
fiber._stack.push(this);
|
|
994
|
+
return state.value;
|
|
995
|
+
} else if (state.value._tag === "Failure") {
|
|
996
|
+
return state.value;
|
|
997
|
+
}
|
|
998
|
+
value = state.value.value;
|
|
935
999
|
}
|
|
936
|
-
|
|
1000
|
+
},
|
|
1001
|
+
[evaluate](fiber) {
|
|
1002
|
+
return this[contA](this.initial, fiber);
|
|
937
1003
|
}
|
|
938
|
-
}
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
}
|
|
1004
|
+
});
|
|
1005
|
+
const IteratorImpl = function (iterator, initial) {
|
|
1006
|
+
this.iterator = iterator;
|
|
1007
|
+
this.initial = initial;
|
|
1008
|
+
};
|
|
1009
|
+
IteratorImpl.prototype = Proto;
|
|
1010
|
+
return function (iterator, initial) {
|
|
1011
|
+
return new IteratorImpl(iterator, initial);
|
|
1012
|
+
};
|
|
1013
|
+
}();
|
|
943
1014
|
// ----------------------------------------------------------------------------
|
|
944
1015
|
// mapping & sequencing
|
|
945
1016
|
// ----------------------------------------------------------------------------
|
|
946
1017
|
/** @internal */
|
|
947
|
-
export const as = /*#__PURE__*/dual(2, (self, value) =>
|
|
948
|
-
|
|
949
|
-
|
|
1018
|
+
export const as = /*#__PURE__*/dual(2, (self, value) => new ContImpl(self, returnPayload, succeed(value)));
|
|
1019
|
+
const evaluateCont = function (fiber) {
|
|
1020
|
+
fiber._stack.push(this);
|
|
1021
|
+
return this[args];
|
|
1022
|
+
};
|
|
1023
|
+
const OnSuccessProto = /*#__PURE__*/makePrimitiveProto({
|
|
1024
|
+
op: "OnSuccess",
|
|
1025
|
+
[evaluate]: evaluateCont
|
|
950
1026
|
});
|
|
1027
|
+
const OnSuccessImpl = function (self, f) {
|
|
1028
|
+
this[args] = self;
|
|
1029
|
+
this[contA] = f;
|
|
1030
|
+
};
|
|
1031
|
+
OnSuccessImpl.prototype = OnSuccessProto;
|
|
1032
|
+
// A success continuation with an extra payload slot. The stored continuation
|
|
1033
|
+
// receives the primitive as `this` and reads `this.payload`, so combinators
|
|
1034
|
+
// like map / as / tap / andThen can share module-level continuation functions
|
|
1035
|
+
// instead of allocating a closure per call.
|
|
1036
|
+
const ContImpl = function (self, cont, payload) {
|
|
1037
|
+
this[args] = self;
|
|
1038
|
+
this[contA] = cont;
|
|
1039
|
+
this.payload = payload;
|
|
1040
|
+
};
|
|
1041
|
+
ContImpl.prototype = OnSuccessProto;
|
|
1042
|
+
const returnPayload = function () {
|
|
1043
|
+
return this.payload;
|
|
1044
|
+
};
|
|
1045
|
+
const mapCont = function (value) {
|
|
1046
|
+
const f = this.payload;
|
|
1047
|
+
return succeed(internalCall(() => f(value)));
|
|
1048
|
+
};
|
|
1049
|
+
const andThenCont = function (value) {
|
|
1050
|
+
const f = this.payload;
|
|
1051
|
+
return internalCall(() => f(value));
|
|
1052
|
+
};
|
|
1053
|
+
const tapCont = function (value) {
|
|
1054
|
+
const f = this.payload;
|
|
1055
|
+
return new ContImpl(internalCall(() => f(value)), returnPayload, exitSucceed(value));
|
|
1056
|
+
};
|
|
1057
|
+
const tapEffectCont = function (value) {
|
|
1058
|
+
return new ContImpl(this.payload, returnPayload, exitSucceed(value));
|
|
1059
|
+
};
|
|
951
1060
|
/** @internal */
|
|
952
1061
|
export const asSome = self => map(self, Option.some);
|
|
953
1062
|
/** @internal */
|
|
@@ -956,11 +1065,11 @@ export const flip = self => matchEffect(self, {
|
|
|
956
1065
|
onSuccess: fail
|
|
957
1066
|
});
|
|
958
1067
|
/** @internal */
|
|
959
|
-
export const andThen = /*#__PURE__*/dual(2, (self, f) =>
|
|
1068
|
+
export const andThen = /*#__PURE__*/dual(2, (self, f) => new ContImpl(self, isEffect(f) ? returnPayload : andThenCont, f));
|
|
960
1069
|
/** @internal */
|
|
961
|
-
export const tap = /*#__PURE__*/dual(2, (self, f) =>
|
|
1070
|
+
export const tap = /*#__PURE__*/dual(2, (self, f) => new ContImpl(self, isEffect(f) ? tapEffectCont : tapCont, f));
|
|
962
1071
|
/** @internal */
|
|
963
|
-
export const asVoid = self =>
|
|
1072
|
+
export const asVoid = self => new ContImpl(self, returnPayload, exitVoid);
|
|
964
1073
|
/** @internal */
|
|
965
1074
|
export const sandbox = self => catchCause(self, fail);
|
|
966
1075
|
/** @internal */
|
|
@@ -1036,19 +1145,7 @@ export const race = /*#__PURE__*/dual(args => isEffect(args[1]), (self, that, op
|
|
|
1036
1145
|
/** @internal */
|
|
1037
1146
|
export const raceFirst = /*#__PURE__*/dual(args => isEffect(args[1]), (self, that, options) => raceAllFirst([self, that], options));
|
|
1038
1147
|
/** @internal */
|
|
1039
|
-
export const flatMap = /*#__PURE__*/dual(2, (self, f) =>
|
|
1040
|
-
const onSuccess = Object.create(OnSuccessProto);
|
|
1041
|
-
onSuccess[args] = self;
|
|
1042
|
-
onSuccess[contA] = f.length !== 1 ? a => f(a) : f;
|
|
1043
|
-
return onSuccess;
|
|
1044
|
-
});
|
|
1045
|
-
const OnSuccessProto = /*#__PURE__*/makePrimitiveProto({
|
|
1046
|
-
op: "OnSuccess",
|
|
1047
|
-
[evaluate](fiber) {
|
|
1048
|
-
fiber._stack.push(this);
|
|
1049
|
-
return this[args];
|
|
1050
|
-
}
|
|
1051
|
-
});
|
|
1148
|
+
export const flatMap = /*#__PURE__*/dual(2, (self, f) => new OnSuccessImpl(self, f.length !== 1 ? a => f(a) : f));
|
|
1052
1149
|
/** @internal */
|
|
1053
1150
|
export const matchCauseEffectEager = /*#__PURE__*/dual(2, (self, options) => {
|
|
1054
1151
|
if (effectIsExit(self)) {
|
|
@@ -1057,7 +1154,7 @@ export const matchCauseEffectEager = /*#__PURE__*/dual(2, (self, options) => {
|
|
|
1057
1154
|
return matchCauseEffect(self, options);
|
|
1058
1155
|
});
|
|
1059
1156
|
/** @internal */
|
|
1060
|
-
export const effectIsExit = effect => ExitTypeId
|
|
1157
|
+
export const effectIsExit = effect => effect[ExitTypeId] !== undefined;
|
|
1061
1158
|
/** @internal */
|
|
1062
1159
|
export const flatMapEager = /*#__PURE__*/dual(2, (self, f) => {
|
|
1063
1160
|
if (effectIsExit(self)) {
|
|
@@ -1071,7 +1168,7 @@ export const flatMapEager = /*#__PURE__*/dual(2, (self, f) => {
|
|
|
1071
1168
|
/** @internal */
|
|
1072
1169
|
export const flatten = self => flatMap(self, identity);
|
|
1073
1170
|
/** @internal */
|
|
1074
|
-
export const map = /*#__PURE__*/dual(2, (self, f) =>
|
|
1171
|
+
export const map = /*#__PURE__*/dual(2, (self, f) => new ContImpl(self, mapCont, f));
|
|
1075
1172
|
/** @internal */
|
|
1076
1173
|
export const mapEager = /*#__PURE__*/dual(2, (self, f) => effectIsExit(self) ? exitMap(self, f) : map(self, f));
|
|
1077
1174
|
/** @internal */
|
|
@@ -1193,7 +1290,9 @@ export const updateServiceScoped = (service, update, options) => uninterruptible
|
|
|
1193
1290
|
const updated = update(original);
|
|
1194
1291
|
fiber.setContext(Context.add(fiber.context, service, updated));
|
|
1195
1292
|
return scopeAddFinalizerExit(Context.getUnsafe(fiber.context, scopeTag), _ => {
|
|
1196
|
-
const
|
|
1293
|
+
const currentOption = Context.getOption(fiber.context, service);
|
|
1294
|
+
if (Option.isNone(currentOption)) return void_;
|
|
1295
|
+
const current = currentOption.value;
|
|
1197
1296
|
let next;
|
|
1198
1297
|
if (options?.reset === undefined) {
|
|
1199
1298
|
if (current !== updated) return void_;
|
|
@@ -1241,7 +1340,7 @@ export const zipWith = /*#__PURE__*/dual(args => isEffect(args[1]), (self, that,
|
|
|
1241
1340
|
// ----------------------------------------------------------------------------
|
|
1242
1341
|
// filtering & conditionals
|
|
1243
1342
|
// ----------------------------------------------------------------------------
|
|
1244
|
-
|
|
1343
|
+
/** @internal */
|
|
1245
1344
|
export const filterOrFail = /*#__PURE__*/dual(args => isEffect(args[0]), (self, predicate, orFailWith) => filterOrElse(self, predicate, orFailWith ? a => fail(orFailWith(a)) : () => fail(new NoSuchElementError())));
|
|
1246
1345
|
/** @internal */
|
|
1247
1346
|
export const when = /*#__PURE__*/dual(2, (self, condition) => flatMap(condition, pass => pass ? asSome(self) : succeedNone));
|
|
@@ -1264,19 +1363,16 @@ export const forever = /*#__PURE__*/dual(args => isEffect(args[0]), (self, optio
|
|
|
1264
1363
|
// error handling
|
|
1265
1364
|
// ----------------------------------------------------------------------------
|
|
1266
1365
|
/** @internal */
|
|
1267
|
-
export const catchCause = /*#__PURE__*/dual(2, (self, f) =>
|
|
1268
|
-
const onFailure = Object.create(OnFailureProto);
|
|
1269
|
-
onFailure[args] = self;
|
|
1270
|
-
onFailure[contE] = f.length !== 1 ? cause => f(cause) : f;
|
|
1271
|
-
return onFailure;
|
|
1272
|
-
});
|
|
1366
|
+
export const catchCause = /*#__PURE__*/dual(2, (self, f) => new OnFailureImpl(self, f.length !== 1 ? cause => f(cause) : f));
|
|
1273
1367
|
const OnFailureProto = /*#__PURE__*/makePrimitiveProto({
|
|
1274
1368
|
op: "OnFailure",
|
|
1275
|
-
[evaluate]
|
|
1276
|
-
fiber._stack.push(this);
|
|
1277
|
-
return this[args];
|
|
1278
|
-
}
|
|
1369
|
+
[evaluate]: evaluateCont
|
|
1279
1370
|
});
|
|
1371
|
+
const OnFailureImpl = function (self, f) {
|
|
1372
|
+
this[args] = self;
|
|
1373
|
+
this[contE] = f;
|
|
1374
|
+
};
|
|
1375
|
+
OnFailureImpl.prototype = OnFailureProto;
|
|
1280
1376
|
/** @internal */
|
|
1281
1377
|
export const catchCauseIf = /*#__PURE__*/dual(3, (self, predicate, f) => catchCause(self, cause => {
|
|
1282
1378
|
if (!predicate(cause)) {
|
|
@@ -1352,7 +1448,7 @@ export const catchTags = /*#__PURE__*/dual(args => isEffect(args[0]), (self, cas
|
|
|
1352
1448
|
}, e => internalCall(() => cases[e["_tag"]](e)), orElse);
|
|
1353
1449
|
});
|
|
1354
1450
|
/** @internal */
|
|
1355
|
-
export const catchReason = /*#__PURE__*/dual(args => isEffect(args[0]), (self, errorTag, reasonTag, f, orElse) => catchIf(self, e => isTagged(e, errorTag) && hasProperty(e, "reason"), e => {
|
|
1451
|
+
export const catchReason = /*#__PURE__*/dual(args => isEffect(args[0]), (self, errorTag, reasonTag, f, orElse) => catchIf(self, e => isTagged(e, errorTag) && hasProperty(e, "reason") && (orElse !== undefined || isTagged(e.reason, reasonTag)), e => {
|
|
1356
1452
|
const reason = e.reason;
|
|
1357
1453
|
if (isTagged(reason, reasonTag)) return f(reason, e);
|
|
1358
1454
|
return orElse ? internalCall(() => orElse(reason, e)) : fail(e);
|
|
@@ -1360,7 +1456,7 @@ export const catchReason = /*#__PURE__*/dual(args => isEffect(args[0]), (self, e
|
|
|
1360
1456
|
/** @internal */
|
|
1361
1457
|
export const catchReasons = /*#__PURE__*/dual(args => isEffect(args[0]), (self, errorTag, cases, orElse) => {
|
|
1362
1458
|
let keys;
|
|
1363
|
-
return catchIf(self, e => isTagged(e, errorTag) && hasProperty(e, "reason") && hasProperty(e.reason, "_tag") && isString(e.reason._tag), e => {
|
|
1459
|
+
return catchIf(self, e => isTagged(e, errorTag) && hasProperty(e, "reason") && hasProperty(e.reason, "_tag") && isString(e.reason._tag) && (orElse !== undefined || (keys ??= Object.keys(cases)).includes(e.reason._tag)), e => {
|
|
1364
1460
|
const reason = e.reason;
|
|
1365
1461
|
keys ??= Object.keys(cases);
|
|
1366
1462
|
if (keys.includes(reason._tag)) {
|
|
@@ -1378,7 +1474,7 @@ export const unwrapReason = /*#__PURE__*/dual(2, (self, errorTag) => catchFilter
|
|
|
1378
1474
|
}, fail));
|
|
1379
1475
|
/** @internal */
|
|
1380
1476
|
export const mapError = /*#__PURE__*/dual(2, (self, f) => catch_(self, error => failSync(() => f(error))));
|
|
1381
|
-
|
|
1477
|
+
/** @internal */
|
|
1382
1478
|
export const mapBoth = /*#__PURE__*/dual(2, (self, options) => matchEffect(self, {
|
|
1383
1479
|
onFailure: e => failSync(() => options.onFailure(e)),
|
|
1384
1480
|
onSuccess: a => sync(() => options.onSuccess(a))
|
|
@@ -1448,20 +1544,17 @@ export const result = self => matchEager(self, {
|
|
|
1448
1544
|
// pattern matching
|
|
1449
1545
|
// ----------------------------------------------------------------------------
|
|
1450
1546
|
/** @internal */
|
|
1451
|
-
export const matchCauseEffect = /*#__PURE__*/dual(2, (self, options) =>
|
|
1452
|
-
const primitive = Object.create(OnSuccessAndFailureProto);
|
|
1453
|
-
primitive[args] = self;
|
|
1454
|
-
primitive[contA] = options.onSuccess.length !== 1 ? a => options.onSuccess(a) : options.onSuccess;
|
|
1455
|
-
primitive[contE] = options.onFailure.length !== 1 ? cause => options.onFailure(cause) : options.onFailure;
|
|
1456
|
-
return primitive;
|
|
1457
|
-
});
|
|
1547
|
+
export const matchCauseEffect = /*#__PURE__*/dual(2, (self, options) => new OnSuccessAndFailureImpl(self, options.onSuccess.length !== 1 ? a => options.onSuccess(a) : options.onSuccess, options.onFailure.length !== 1 ? cause => options.onFailure(cause) : options.onFailure));
|
|
1458
1548
|
const OnSuccessAndFailureProto = /*#__PURE__*/makePrimitiveProto({
|
|
1459
1549
|
op: "OnSuccessAndFailure",
|
|
1460
|
-
[evaluate]
|
|
1461
|
-
fiber._stack.push(this);
|
|
1462
|
-
return this[args];
|
|
1463
|
-
}
|
|
1550
|
+
[evaluate]: evaluateCont
|
|
1464
1551
|
});
|
|
1552
|
+
const OnSuccessAndFailureImpl = function (self, onSuccess, onFailure) {
|
|
1553
|
+
this[args] = self;
|
|
1554
|
+
this[contA] = onSuccess;
|
|
1555
|
+
this[contE] = onFailure;
|
|
1556
|
+
};
|
|
1557
|
+
OnSuccessAndFailureImpl.prototype = OnSuccessAndFailureProto;
|
|
1465
1558
|
/** @internal */
|
|
1466
1559
|
export const matchCause = /*#__PURE__*/dual(2, (self, options) => matchCauseEffect(self, {
|
|
1467
1560
|
onFailure: cause => sync(() => options.onFailure(cause)),
|
|
@@ -1532,12 +1625,17 @@ export const isSuccess = /*#__PURE__*/matchEager({
|
|
|
1532
1625
|
/** @internal */
|
|
1533
1626
|
export const delay = /*#__PURE__*/dual(2, (self, duration) => andThen(sleep(duration), self));
|
|
1534
1627
|
/** @internal */
|
|
1535
|
-
export const timeoutOrElse = /*#__PURE__*/dual(2, (self, options) =>
|
|
1628
|
+
export const timeoutOrElse = /*#__PURE__*/dual(2, (self, options) => flatMap(timeoutOption(self, options.duration), option => Option.isNone(option) ? options.orElse() : succeed(option.value)));
|
|
1536
1629
|
/** @internal */
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1630
|
+
const timeoutErrorFromDuration = duration => new TimeoutError(`Operation timed out after '${Duration.format(duration)}'`);
|
|
1631
|
+
/** @internal */
|
|
1632
|
+
export const timeout = /*#__PURE__*/dual(2, (self, duration) => {
|
|
1633
|
+
const decoded = Duration.fromInputUnsafe(duration);
|
|
1634
|
+
return timeoutOrElse(self, {
|
|
1635
|
+
duration: decoded,
|
|
1636
|
+
orElse: () => fail(timeoutErrorFromDuration(decoded))
|
|
1637
|
+
});
|
|
1638
|
+
});
|
|
1541
1639
|
/** @internal */
|
|
1542
1640
|
export const timeoutOption = /*#__PURE__*/dual(2, (self, duration) => raceFirst(asSome(self), as(sleep(duration), Option.none())));
|
|
1543
1641
|
/** @internal */
|
|
@@ -1701,30 +1799,40 @@ export const acquireRelease = (acquire, release, options) => contextWith(context
|
|
|
1701
1799
|
/** @internal */
|
|
1702
1800
|
export const addFinalizer = finalizer => flatMap(scope, scope => contextWith(context => scopeAddFinalizerExit(scope, exit => provideContext(finalizer(exit), context))));
|
|
1703
1801
|
/** @internal */
|
|
1704
|
-
export const onExitPrimitive = /*#__PURE__*/
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1802
|
+
export const onExitPrimitive = /*#__PURE__*/function () {
|
|
1803
|
+
const Proto = /*#__PURE__*/makePrimitiveProto({
|
|
1804
|
+
op: "OnExit",
|
|
1805
|
+
[evaluate](fiber) {
|
|
1806
|
+
fiber._stack.push(this);
|
|
1807
|
+
return this.effect;
|
|
1808
|
+
},
|
|
1809
|
+
[contAll](fiber) {
|
|
1810
|
+
if (fiber.interruptible && this.interruptible !== true) {
|
|
1811
|
+
fiber._stack.push(setInterruptibleTrue);
|
|
1812
|
+
fiber.interruptible = false;
|
|
1813
|
+
}
|
|
1814
|
+
},
|
|
1815
|
+
[contA](value, _, exit) {
|
|
1816
|
+
exit ??= exitSucceed(value);
|
|
1817
|
+
const eff = this.onExit(exit);
|
|
1818
|
+
return eff ? flatMap(eff, _ => exit) : exit;
|
|
1819
|
+
},
|
|
1820
|
+
[contE](cause, _, exit) {
|
|
1821
|
+
exit ??= exitFailCause(cause);
|
|
1822
|
+
const eff = this.onExit(exit);
|
|
1823
|
+
return eff ? flatMap(combineFinalizerCause(exit, eff), _ => exit) : exit;
|
|
1715
1824
|
}
|
|
1716
|
-
}
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
}
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
});
|
|
1825
|
+
});
|
|
1826
|
+
const OnExitImpl = function (effect, onExit, interruptible) {
|
|
1827
|
+
this.effect = effect;
|
|
1828
|
+
this.onExit = onExit;
|
|
1829
|
+
this.interruptible = interruptible;
|
|
1830
|
+
};
|
|
1831
|
+
OnExitImpl.prototype = Proto;
|
|
1832
|
+
return function (effect, onExit, interruptible) {
|
|
1833
|
+
return new OnExitImpl(effect, onExit, interruptible);
|
|
1834
|
+
};
|
|
1835
|
+
}();
|
|
1728
1836
|
/** @internal */
|
|
1729
1837
|
export const onExit = /*#__PURE__*/dual(2, onExitPrimitive);
|
|
1730
1838
|
/** @internal */
|
|
@@ -1761,7 +1869,7 @@ export const onErrorFilter = /*#__PURE__*/dual(3, (self, filter, f) => onExit(se
|
|
|
1761
1869
|
/** @internal */
|
|
1762
1870
|
export const onInterrupt = /*#__PURE__*/dual(2, (self, finalizer) => onErrorFilter(causeFilterInterruptors, finalizer)(self));
|
|
1763
1871
|
/** @internal */
|
|
1764
|
-
export const acquireUseRelease = (acquire, use, release) => uninterruptibleMask(restore => flatMap(acquire, a => onExitPrimitive(restore(use(a)), exit => release(a, exit), true)));
|
|
1872
|
+
export const acquireUseRelease = (acquire, use, release) => uninterruptibleMask(restore => flatMap(acquire, a => onExitPrimitive(suspend(() => restore(use(a))), exit => release(a, exit), true)));
|
|
1765
1873
|
/** @internal */
|
|
1766
1874
|
export const acquireDisposable = acquire => acquireRelease(acquire, resource => hasProperty(resource, Symbol.asyncDispose) ? promise(() => resource[Symbol.asyncDispose]()) : sync(() => resource[Symbol.dispose]()));
|
|
1767
1875
|
// ----------------------------------------------------------------------------
|
|
@@ -1798,7 +1906,21 @@ export const cachedInvalidateWithTTL = /*#__PURE__*/dual(2, (self, ttl) => sync(
|
|
|
1798
1906
|
/** @internal */
|
|
1799
1907
|
export const cachedWithTTL = /*#__PURE__*/dual(2, (self, timeToLive) => map(cachedInvalidateWithTTL(self, timeToLive), tuple => tuple[0]));
|
|
1800
1908
|
/** @internal */
|
|
1801
|
-
export const cached = self =>
|
|
1909
|
+
export const cached = self => sync(() => {
|
|
1910
|
+
const latch = makeLatchUnsafe(false);
|
|
1911
|
+
let started = false;
|
|
1912
|
+
let exit;
|
|
1913
|
+
const wait = flatMap(latch.await, () => exit);
|
|
1914
|
+
return suspend(() => {
|
|
1915
|
+
if (exit !== undefined) return exit;
|
|
1916
|
+
if (started) return wait;
|
|
1917
|
+
started = true;
|
|
1918
|
+
return onExit(self, result => sync(() => {
|
|
1919
|
+
exit = result;
|
|
1920
|
+
latch.openUnsafe();
|
|
1921
|
+
}));
|
|
1922
|
+
});
|
|
1923
|
+
});
|
|
1802
1924
|
// ----------------------------------------------------------------------------
|
|
1803
1925
|
// interruption
|
|
1804
1926
|
// ----------------------------------------------------------------------------
|
|
@@ -1827,6 +1949,30 @@ const setFiberInterruptible = fiber => {
|
|
|
1827
1949
|
fiber._stack.push(setInterruptibleFalse);
|
|
1828
1950
|
if (fiber._interruptedCause) return failCause(fiber._interruptedCause);
|
|
1829
1951
|
};
|
|
1952
|
+
/**
|
|
1953
|
+
* Makes the current fiber uninterruptible for the returned effect without an
|
|
1954
|
+
* extra primitive. Call only within `withFiber`.
|
|
1955
|
+
*
|
|
1956
|
+
* @internal
|
|
1957
|
+
*/
|
|
1958
|
+
export const fiberEnterUninterruptibleUnsafe = fiber => {
|
|
1959
|
+
const impl = fiber;
|
|
1960
|
+
if (!impl.interruptible) return;
|
|
1961
|
+
impl.interruptible = false;
|
|
1962
|
+
impl._stack.push(setInterruptibleTrue);
|
|
1963
|
+
};
|
|
1964
|
+
/**
|
|
1965
|
+
* Makes the current fiber interruptible for the returned effect without an
|
|
1966
|
+
* extra primitive. Call only within `withFiber` and return any pending
|
|
1967
|
+
* interruption it produces.
|
|
1968
|
+
*
|
|
1969
|
+
* @internal
|
|
1970
|
+
*/
|
|
1971
|
+
export const fiberEnterInterruptibleUnsafe = fiber => {
|
|
1972
|
+
const impl = fiber;
|
|
1973
|
+
if (impl.interruptible) return undefined;
|
|
1974
|
+
return setFiberInterruptible(impl);
|
|
1975
|
+
};
|
|
1830
1976
|
/** @internal */
|
|
1831
1977
|
export const interruptible = self => withFiber(fiber => {
|
|
1832
1978
|
if (fiber.interruptible) return self;
|
|
@@ -1955,8 +2101,7 @@ export const whileLoop = /*#__PURE__*/makePrimitive({
|
|
|
1955
2101
|
});
|
|
1956
2102
|
/** @internal */
|
|
1957
2103
|
export const forEach = /*#__PURE__*/dual(args => typeof args[1] === "function", (iterable, f, options) => suspend(() => {
|
|
1958
|
-
const
|
|
1959
|
-
const concurrency = concurrencyOption === "unbounded" ? Number.POSITIVE_INFINITY : Math.max(1, concurrencyOption);
|
|
2104
|
+
const concurrency = resolveConcurrency(options?.concurrency);
|
|
1960
2105
|
if (concurrency === 1) {
|
|
1961
2106
|
return forEachSequential(iterable, f, options);
|
|
1962
2107
|
}
|
|
@@ -1993,10 +2138,13 @@ const forEachSequential = (iterable, f, options) => suspend(() => {
|
|
|
1993
2138
|
}
|
|
1994
2139
|
}), out);
|
|
1995
2140
|
});
|
|
1996
|
-
|
|
2141
|
+
/** @internal */
|
|
2142
|
+
export const resolveConcurrency = concurrency => concurrency === "unbounded" ? Number.POSITIVE_INFINITY : Math.max(1, concurrency ?? 1);
|
|
2143
|
+
/** @internal */
|
|
2144
|
+
export const iterateEager = () => options => {
|
|
1997
2145
|
const onItem = options.onItem;
|
|
1998
2146
|
const step = options.step;
|
|
1999
|
-
const runSequential = (state, items, index, end) => {
|
|
2147
|
+
const runSequential = (state, items, index = 0, end = items.length) => {
|
|
2000
2148
|
for (; index < end; index++) {
|
|
2001
2149
|
const item = items[index];
|
|
2002
2150
|
const effect = onItem(state, item, index);
|
|
@@ -2007,14 +2155,15 @@ const iterateEagerImpl = options => {
|
|
|
2007
2155
|
if (terminal) return terminal._tag === "Failure" ? terminal : undefined;
|
|
2008
2156
|
}
|
|
2009
2157
|
};
|
|
2158
|
+
return runSequential;
|
|
2159
|
+
};
|
|
2160
|
+
const iterateConcurrentImpl = options => {
|
|
2161
|
+
const onItem = options.onItem;
|
|
2162
|
+
const step = options.step;
|
|
2010
2163
|
return (state, items, opts) => {
|
|
2011
2164
|
let index = 0;
|
|
2012
|
-
const end = opts
|
|
2013
|
-
const concurrency = opts
|
|
2014
|
-
if (concurrency === 1) {
|
|
2015
|
-
return runSequential(state, items, 0, end);
|
|
2016
|
-
}
|
|
2017
|
-
const orderedStep = opts?.orderedStep === true;
|
|
2165
|
+
const end = opts.end ?? items.length;
|
|
2166
|
+
const concurrency = opts.concurrency;
|
|
2018
2167
|
let done = false;
|
|
2019
2168
|
let parentFiber;
|
|
2020
2169
|
let fibers;
|
|
@@ -2022,8 +2171,6 @@ const iterateEagerImpl = options => {
|
|
|
2022
2171
|
let interrupted = false;
|
|
2023
2172
|
let terminal;
|
|
2024
2173
|
let effect;
|
|
2025
|
-
let nextIndex = index;
|
|
2026
|
-
const exits = orderedStep ? new Array(end) : undefined;
|
|
2027
2174
|
const failDefect = error => {
|
|
2028
2175
|
const defect = exitDie(error);
|
|
2029
2176
|
terminal = defect;
|
|
@@ -2031,19 +2178,6 @@ const iterateEagerImpl = options => {
|
|
|
2031
2178
|
interrupted = true;
|
|
2032
2179
|
return fibers && fibers.size > 0 ? flatMap(uninterruptible(fiberInterruptAll(Array.from(fibers))), () => defect) : defect;
|
|
2033
2180
|
};
|
|
2034
|
-
const runStep = (item, exit, currentIndex) => {
|
|
2035
|
-
if (!orderedStep) return step(state, item, exit, currentIndex);
|
|
2036
|
-
if (terminal) return terminal;
|
|
2037
|
-
exits[currentIndex] = exit;
|
|
2038
|
-
while (nextIndex < end) {
|
|
2039
|
-
const nextExit = exits[nextIndex];
|
|
2040
|
-
if (nextExit === undefined) return;
|
|
2041
|
-
exits[nextIndex] = undefined;
|
|
2042
|
-
const index = nextIndex++;
|
|
2043
|
-
const result = step(state, items[index], nextExit, index);
|
|
2044
|
-
if (result) return result;
|
|
2045
|
-
}
|
|
2046
|
-
};
|
|
2047
2181
|
const go = () => {
|
|
2048
2182
|
let paused = false;
|
|
2049
2183
|
for (; !terminal && index < end; index++) {
|
|
@@ -2051,7 +2185,7 @@ const iterateEagerImpl = options => {
|
|
|
2051
2185
|
const eff = effect ?? onItem(state, item, index);
|
|
2052
2186
|
// fast case (already an exit)
|
|
2053
2187
|
if (effectIsExit(eff)) {
|
|
2054
|
-
terminal =
|
|
2188
|
+
terminal = step(state, item, eff, index);
|
|
2055
2189
|
if (terminal) break;
|
|
2056
2190
|
// We have an effect, so enter "async" mode
|
|
2057
2191
|
} else if (!parentFiber) {
|
|
@@ -2079,7 +2213,7 @@ const iterateEagerImpl = options => {
|
|
|
2079
2213
|
effect = undefined;
|
|
2080
2214
|
const fiber = forkUnsafe(parentFiber, eff, true, true, "inherit");
|
|
2081
2215
|
if (fiber._exit) {
|
|
2082
|
-
terminal =
|
|
2216
|
+
terminal = step(state, item, fiber._exit, index);
|
|
2083
2217
|
if (terminal) break;
|
|
2084
2218
|
continue;
|
|
2085
2219
|
}
|
|
@@ -2101,7 +2235,7 @@ const iterateEagerImpl = options => {
|
|
|
2101
2235
|
}
|
|
2102
2236
|
}
|
|
2103
2237
|
} else {
|
|
2104
|
-
const result =
|
|
2238
|
+
const result = step(state, item, exit, currentIndex);
|
|
2105
2239
|
if (result) {
|
|
2106
2240
|
terminal = result._tag === "Failure" ? exitFailCause(causeFromReasons(result.cause.reasons.slice())) : result;
|
|
2107
2241
|
go();
|
|
@@ -2146,8 +2280,8 @@ const iterateEagerImpl = options => {
|
|
|
2146
2280
|
};
|
|
2147
2281
|
};
|
|
2148
2282
|
/** @internal */
|
|
2149
|
-
export const
|
|
2150
|
-
const forEachConcurrent = /*#__PURE__*/
|
|
2283
|
+
export const iterateConcurrent = () => options => iterateConcurrentImpl(options);
|
|
2284
|
+
const forEachConcurrent = /*#__PURE__*/iterateConcurrentImpl({
|
|
2151
2285
|
onItem(state, item, index) {
|
|
2152
2286
|
return state.f(item, index);
|
|
2153
2287
|
},
|
|
@@ -2157,14 +2291,14 @@ const forEachConcurrent = /*#__PURE__*/iterateEagerImpl({
|
|
|
2157
2291
|
}
|
|
2158
2292
|
}
|
|
2159
2293
|
});
|
|
2160
|
-
|
|
2294
|
+
/** @internal */
|
|
2161
2295
|
export const filterOrElse = /*#__PURE__*/dual(3, (self, predicate, orElse) => flatMap(self, a => predicate(a) ? succeed(a) : orElse(a)));
|
|
2162
2296
|
/** @internal */
|
|
2163
2297
|
export const filterMapOrElse = /*#__PURE__*/dual(3, (self, filter, orElse) => flatMap(self, a => {
|
|
2164
2298
|
const result = filter(a);
|
|
2165
2299
|
return Result.isFailure(result) ? orElse(result.failure) : succeed(result.success);
|
|
2166
2300
|
}));
|
|
2167
|
-
|
|
2301
|
+
/** @internal */
|
|
2168
2302
|
export const filterMapOrFail = /*#__PURE__*/dual(args => isEffect(args[0]), (self, filter, orFailWith) => filterMapOrElse(self, filter, orFailWith ? x => fail(orFailWith(x)) : () => fail(new NoSuchElementError())));
|
|
2169
2303
|
/** @internal */
|
|
2170
2304
|
export const filter = /*#__PURE__*/dual(args => isIterable(args[0]) && !isEffect(args[0]), (elements, predicate, options) => suspend(() => {
|
|
@@ -2241,7 +2375,7 @@ export const forkUnsafe = (parent, effect, immediate = false, daemon = false, un
|
|
|
2241
2375
|
}
|
|
2242
2376
|
if (!daemon && !child._exit) {
|
|
2243
2377
|
parentRuntime.children().add(child);
|
|
2244
|
-
child.
|
|
2378
|
+
child._parent = parentRuntime;
|
|
2245
2379
|
}
|
|
2246
2380
|
return child;
|
|
2247
2381
|
};
|
|
@@ -2508,7 +2642,7 @@ const filterDisablePropagation = span => {
|
|
|
2508
2642
|
/** @internal */
|
|
2509
2643
|
export const makeSpanUnsafe = (fiber, name, options) => {
|
|
2510
2644
|
const disablePropagation = !fiber.getRef(TracerEnabled) || options?.annotations && Context.get(options.annotations, Tracer.DisablePropagation);
|
|
2511
|
-
const parent = options?.parent !== undefined ? Option.some(options.parent) : options?.root ? Option.none() : filterDisablePropagation(fiber.
|
|
2645
|
+
const parent = options?.parent !== undefined ? Option.some(options.parent) : options?.root ? Option.none() : filterDisablePropagation(fiber.cache.span);
|
|
2512
2646
|
let span;
|
|
2513
2647
|
if (disablePropagation) {
|
|
2514
2648
|
span = noopSpan({
|
|
@@ -2529,7 +2663,7 @@ export const makeSpanUnsafe = (fiber, name, options) => {
|
|
|
2529
2663
|
parent,
|
|
2530
2664
|
annotations: options?.annotations ?? Context.empty(),
|
|
2531
2665
|
links,
|
|
2532
|
-
startTime: timingEnabled ? clock.currentTimeNanosUnsafe() :
|
|
2666
|
+
startTime: timingEnabled ? clock.currentTimeNanosUnsafe() : bigint0,
|
|
2533
2667
|
kind: options?.kind ?? "internal",
|
|
2534
2668
|
root: options?.root ?? Option.isNone(parent),
|
|
2535
2669
|
sampled: options?.sampled ?? (Option.isSome(parent) && parent.value.sampled === false ? false : !isLogLevelGreaterThan(fiber.getRef(Tracer.MinimumTraceLevel), level))
|
|
@@ -2600,7 +2734,7 @@ export const useSpan = (name, ...args) => {
|
|
|
2600
2734
|
const span = makeSpanUnsafe(fiber, name, options);
|
|
2601
2735
|
const clock = fiber.getRef(ClockRef);
|
|
2602
2736
|
const timingEnabled = fiber.getRef(TracerTimingEnabled);
|
|
2603
|
-
return onExit(internalCall(() => evaluate(span)), exit => endSpan(span, exit, clock, timingEnabled));
|
|
2737
|
+
return onExit(suspend(() => internalCall(() => evaluate(span))), exit => endSpan(span, exit, clock, timingEnabled));
|
|
2604
2738
|
});
|
|
2605
2739
|
};
|
|
2606
2740
|
const provideParentSpan = /*#__PURE__*/provideService(Tracer.ParentSpan);
|
|
@@ -2821,7 +2955,7 @@ export class UnknownError extends /*#__PURE__*/TaggedError("UnknownError") {
|
|
|
2821
2955
|
// Console
|
|
2822
2956
|
// ----------------------------------------------------------------------------
|
|
2823
2957
|
/** @internal */
|
|
2824
|
-
export const ConsoleRef = /*#__PURE__*/Context.Reference("effect/Console
|
|
2958
|
+
export const ConsoleRef = /*#__PURE__*/Context.Reference("effect/Console", {
|
|
2825
2959
|
defaultValue: () => globalThis.console
|
|
2826
2960
|
});
|
|
2827
2961
|
// ----------------------------------------------------------------------------
|
|
@@ -2856,7 +2990,7 @@ export const isLogLevelGreaterThan = /*#__PURE__*/Order.isGreaterThan(LogLevelOr
|
|
|
2856
2990
|
// Logger
|
|
2857
2991
|
// ----------------------------------------------------------------------------
|
|
2858
2992
|
/** @internal */
|
|
2859
|
-
export const CurrentLoggers = /*#__PURE__*/Context.Reference("effect/
|
|
2993
|
+
export const CurrentLoggers = /*#__PURE__*/Context.Reference("effect/Logger/CurrentLoggers", {
|
|
2860
2994
|
defaultValue: () => new Set([defaultLogger, tracerLogger])
|
|
2861
2995
|
});
|
|
2862
2996
|
/** @internal */
|
|
@@ -2883,7 +3017,7 @@ export const annotateLogsScoped = function () {
|
|
|
2883
3017
|
};
|
|
2884
3018
|
for (let i = 0; i < entries.length; i++) {
|
|
2885
3019
|
const [key, value] = entries[i];
|
|
2886
|
-
if (current[key] !== value) continue;
|
|
3020
|
+
if (current[key] !== value && !Object.is(current[key], value)) continue;
|
|
2887
3021
|
if (Object.hasOwn(prev, key)) {
|
|
2888
3022
|
InternalRecord.assignProperty(next, key, prev[key]);
|
|
2889
3023
|
} else {
|
|
@@ -2962,8 +3096,8 @@ export const logWithLevel = level => (...message) => {
|
|
|
2962
3096
|
cause = causeEmpty;
|
|
2963
3097
|
}
|
|
2964
3098
|
return withFiber(fiber => {
|
|
2965
|
-
const logLevel = level ?? fiber.
|
|
2966
|
-
if (isLogLevelGreaterThan(fiber.minimumLogLevel, logLevel)) {
|
|
3099
|
+
const logLevel = level ?? fiber.cache.logLevel;
|
|
3100
|
+
if (isLogLevelGreaterThan(fiber.cache.minimumLogLevel, logLevel)) {
|
|
2967
3101
|
return void_;
|
|
2968
3102
|
}
|
|
2969
3103
|
const clock = fiber.getRef(ClockRef);
|
|
@@ -3030,24 +3164,22 @@ export const consolePretty = options => {
|
|
|
3030
3164
|
// property accesses, which bundlers must retain as possible side effects
|
|
3031
3165
|
const process = globalThis.process;
|
|
3032
3166
|
const hasProcessStdout = typeof process?.stdout === "object" && process.stdout !== null;
|
|
3033
|
-
const
|
|
3034
|
-
const
|
|
3035
|
-
const
|
|
3036
|
-
|
|
3037
|
-
const isBrowser = mode === "browser";
|
|
3038
|
-
const showColors = typeof options?.colors === "boolean" ? options.colors : processStdoutIsTTY || isBrowser;
|
|
3039
|
-
const formatDate = options?.formatDate ?? defaultDateFormat;
|
|
3040
|
-
return isBrowser ? prettyLoggerBrowser({
|
|
3041
|
-
colors: showColors,
|
|
3042
|
-
formatDate
|
|
3043
|
-
}) : prettyLoggerTty({
|
|
3044
|
-
colors: showColors,
|
|
3045
|
-
formatDate
|
|
3046
|
-
});
|
|
3167
|
+
const isDeno = "Deno" in globalThis;
|
|
3168
|
+
const mode = options?.mode ?? "auto";
|
|
3169
|
+
const isTtyLogger = mode === "auto" ? hasProcessStdout || isDeno : mode === "tty";
|
|
3170
|
+
return isTtyLogger ? prettyLoggerTty(options) : prettyLoggerBrowser(options);
|
|
3047
3171
|
};
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
const
|
|
3172
|
+
/** @internal */
|
|
3173
|
+
export const prettyLoggerTty = options => {
|
|
3174
|
+
const formatDate = options?.formatDate ?? defaultDateFormat;
|
|
3175
|
+
// evaluated lazily so the module-level bundle stays free of `process`
|
|
3176
|
+
// property accesses, which bundlers must retain as possible side effects
|
|
3177
|
+
const process = globalThis.process;
|
|
3178
|
+
const hasProcessStdout = typeof process?.stdout === "object" && process.stdout !== null;
|
|
3179
|
+
const processStdoutIsTTY = hasProcessStdout && process.stdout.isTTY === true;
|
|
3180
|
+
const showColors = typeof options?.colors === "boolean" ? options.colors : processStdoutIsTTY;
|
|
3181
|
+
const color = showColors ? withColor : withColorNoop;
|
|
3182
|
+
const processIsBun = process?.isBun === true;
|
|
3051
3183
|
return loggerMake(({
|
|
3052
3184
|
cause,
|
|
3053
3185
|
date,
|
|
@@ -3059,7 +3191,7 @@ const prettyLoggerTty = options => {
|
|
|
3059
3191
|
// oxlint-disable-next-line no-console
|
|
3060
3192
|
const log = fiber.getRef(LogToStderr) ? console.error : console.log;
|
|
3061
3193
|
const message = Array.isArray(message_) ? message_.slice() : [message_];
|
|
3062
|
-
let firstLine = color(`[${
|
|
3194
|
+
let firstLine = color(`[${formatDate(date)}]`, colors.white) + ` ${color(logLevel.toUpperCase(), ...logLevelColors[logLevel])}` + ` (#${fiber.id})`;
|
|
3063
3195
|
const now = date.getTime();
|
|
3064
3196
|
const spans = fiber.getRef(CurrentLogSpans);
|
|
3065
3197
|
for (const span of spans) {
|
|
@@ -3093,8 +3225,11 @@ const prettyLoggerTty = options => {
|
|
|
3093
3225
|
if (!processIsBun) console.groupEnd();
|
|
3094
3226
|
});
|
|
3095
3227
|
};
|
|
3096
|
-
|
|
3097
|
-
|
|
3228
|
+
/** @internal */
|
|
3229
|
+
export const prettyLoggerBrowser = options => {
|
|
3230
|
+
const showColors = options?.colors !== false;
|
|
3231
|
+
const color = showColors ? "%c" : "";
|
|
3232
|
+
const formatDate = options?.formatDate ?? defaultDateFormat;
|
|
3098
3233
|
return loggerMake(({
|
|
3099
3234
|
cause,
|
|
3100
3235
|
date,
|
|
@@ -3104,13 +3239,13 @@ const prettyLoggerBrowser = options => {
|
|
|
3104
3239
|
}) => {
|
|
3105
3240
|
const console = fiber.getRef(ConsoleRef);
|
|
3106
3241
|
const message = Array.isArray(message_) ? message_.slice() : [message_];
|
|
3107
|
-
let firstLine = `${color}[${
|
|
3242
|
+
let firstLine = `${color}[${formatDate(date)}]`;
|
|
3108
3243
|
const firstParams = [];
|
|
3109
|
-
if (
|
|
3244
|
+
if (showColors) {
|
|
3110
3245
|
firstParams.push("color:gray");
|
|
3111
3246
|
}
|
|
3112
3247
|
firstLine += ` ${color}${logLevel.toUpperCase()}${color} (#${fiber.id})`;
|
|
3113
|
-
if (
|
|
3248
|
+
if (showColors) {
|
|
3114
3249
|
firstParams.push(logLevelStyle[logLevel], "");
|
|
3115
3250
|
}
|
|
3116
3251
|
const now = date.getTime();
|
|
@@ -3124,7 +3259,7 @@ const prettyLoggerBrowser = options => {
|
|
|
3124
3259
|
const firstMaybeString = structuredMessage(message[0]);
|
|
3125
3260
|
if (typeof firstMaybeString === "string") {
|
|
3126
3261
|
firstLine += ` ${color}${firstMaybeString}`;
|
|
3127
|
-
if (
|
|
3262
|
+
if (showColors) {
|
|
3128
3263
|
firstParams.push("color:deepskyblue");
|
|
3129
3264
|
}
|
|
3130
3265
|
messageIndex++;
|
|
@@ -3145,7 +3280,7 @@ const prettyLoggerBrowser = options => {
|
|
|
3145
3280
|
const annotations = fiber.getRef(CurrentLogAnnotations);
|
|
3146
3281
|
for (const [key, value] of Object.entries(annotations)) {
|
|
3147
3282
|
const redacted = redact(value);
|
|
3148
|
-
if (
|
|
3283
|
+
if (showColors) {
|
|
3149
3284
|
// oxlint-disable-next-line no-console
|
|
3150
3285
|
console.log(`%c${key}:`, "color:gray", redacted);
|
|
3151
3286
|
} else {
|
|
@@ -3193,7 +3328,7 @@ export const tracerLogger = /*#__PURE__*/loggerMake(({
|
|
|
3193
3328
|
}) => {
|
|
3194
3329
|
const clock = fiber.getRef(ClockRef);
|
|
3195
3330
|
const annotations = fiber.getRef(CurrentLogAnnotations);
|
|
3196
|
-
const span = fiber.
|
|
3331
|
+
const span = fiber.cache.span;
|
|
3197
3332
|
if (span === undefined || span._tag === "ExternalSpan") return;
|
|
3198
3333
|
const attributes = {};
|
|
3199
3334
|
for (const [key, value] of Object.entries(annotations)) {
|