effect 4.0.0-beta.74 → 4.0.0-beta.76
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/dist/Array.d.ts +729 -611
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +273 -213
- package/dist/Array.js.map +1 -1
- package/dist/BigDecimal.d.ts +37 -30
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +19 -16
- package/dist/BigDecimal.js.map +1 -1
- package/dist/BigInt.d.ts +34 -40
- package/dist/BigInt.d.ts.map +1 -1
- package/dist/BigInt.js +16 -16
- package/dist/BigInt.js.map +1 -1
- package/dist/Boolean.d.ts +8 -8
- package/dist/Boolean.js +4 -4
- package/dist/Brand.d.ts +13 -11
- package/dist/Brand.d.ts.map +1 -1
- package/dist/Brand.js +10 -8
- package/dist/Brand.js.map +1 -1
- package/dist/Cause.d.ts +21 -23
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +21 -23
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +219 -9
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +83 -3
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts +11 -11
- package/dist/ChannelSchema.js +5 -5
- package/dist/Chunk.d.ts +69 -16
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +43 -8
- package/dist/Chunk.js.map +1 -1
- package/dist/Clock.d.ts +3 -3
- package/dist/Clock.js +3 -3
- package/dist/Combiner.d.ts +9 -13
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +9 -13
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +49 -56
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +40 -43
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +34 -44
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +24 -32
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +2 -2
- package/dist/Console.js +2 -2
- package/dist/Context.d.ts +60 -72
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +28 -32
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +2 -2
- package/dist/Cron.js +2 -2
- package/dist/Crypto.d.ts +4 -4
- package/dist/Crypto.js +4 -4
- package/dist/Data.d.ts +21 -15
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +7 -7
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +35 -16
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +35 -8
- package/dist/DateTime.js.map +1 -1
- package/dist/Deferred.d.ts +24 -15
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +8 -5
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +44 -31
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +22 -11
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +516 -416
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +234 -174
- package/dist/Effect.js.map +1 -1
- package/dist/Encoding.d.ts +5 -0
- package/dist/Encoding.d.ts.map +1 -1
- package/dist/Encoding.js +5 -0
- package/dist/Encoding.js.map +1 -1
- package/dist/Equal.d.ts +26 -39
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +10 -17
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +71 -99
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +53 -73
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +1 -1
- package/dist/ErrorReporter.js +1 -1
- package/dist/Exit.d.ts +79 -96
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +57 -64
- package/dist/Exit.js.map +1 -1
- package/dist/Fiber.d.ts +8 -6
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js +8 -6
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +25 -0
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +15 -0
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +35 -0
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +15 -0
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +20 -0
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +10 -0
- package/dist/FiberSet.js.map +1 -1
- package/dist/Filter.d.ts +4 -4
- package/dist/Filter.js +4 -4
- package/dist/Formatter.d.ts +14 -19
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +14 -19
- package/dist/Formatter.js.map +1 -1
- package/dist/Function.d.ts +15 -16
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +9 -10
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +2 -2
- package/dist/Graph.js +2 -2
- package/dist/HKT.d.ts +2 -2
- package/dist/Hash.d.ts +2 -1
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +2 -1
- package/dist/Hash.js.map +1 -1
- package/dist/HashMap.d.ts +15 -0
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +5 -0
- package/dist/HashMap.js.map +1 -1
- package/dist/HashRing.d.ts +9 -9
- package/dist/HashRing.js +3 -3
- package/dist/Iterable.d.ts +24 -12
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +16 -6
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.d.ts +2 -3
- package/dist/JsonPatch.d.ts.map +1 -1
- package/dist/JsonPatch.js +2 -3
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonPointer.d.ts +2 -6
- package/dist/JsonPointer.d.ts.map +1 -1
- package/dist/JsonPointer.js +2 -6
- package/dist/JsonPointer.js.map +1 -1
- package/dist/JsonSchema.d.ts +17 -13
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +17 -13
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +4 -3
- package/dist/Latch.d.ts.map +1 -1
- package/dist/Latch.js +4 -3
- package/dist/Latch.js.map +1 -1
- package/dist/Layer.d.ts +92 -114
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +38 -46
- package/dist/Layer.js.map +1 -1
- package/dist/Logger.d.ts +11 -14
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +11 -14
- package/dist/Logger.js.map +1 -1
- package/dist/Match.d.ts +2 -2
- package/dist/Match.js +2 -2
- package/dist/Metric.d.ts +89 -109
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +51 -61
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts +21 -12
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js +7 -4
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableList.d.ts +15 -0
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +15 -0
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts +56 -42
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +28 -22
- package/dist/MutableRef.js.map +1 -1
- package/dist/Newtype.d.ts +10 -7
- package/dist/Newtype.d.ts.map +1 -1
- package/dist/Newtype.js +10 -7
- package/dist/Newtype.js.map +1 -1
- package/dist/Number.d.ts +23 -11
- package/dist/Number.d.ts.map +1 -1
- package/dist/Number.js +9 -5
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts +16 -16
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +10 -9
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +196 -168
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +96 -79
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +118 -179
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +92 -144
- package/dist/Order.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts +14 -14
- package/dist/PartitionedSemaphore.js +6 -6
- package/dist/Path.d.ts +2 -2
- package/dist/Path.js +2 -2
- package/dist/Pipeable.d.ts +2 -2
- package/dist/Pipeable.js +2 -2
- package/dist/PlatformError.d.ts +4 -4
- package/dist/PlatformError.js +4 -4
- package/dist/Pool.d.ts +7 -11
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +3 -5
- package/dist/Pool.js.map +1 -1
- package/dist/Predicate.d.ts +274 -263
- package/dist/Predicate.d.ts.map +1 -1
- package/dist/Predicate.js +128 -123
- package/dist/Predicate.js.map +1 -1
- package/dist/PubSub.d.ts +24 -14
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +16 -6
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts +4 -4
- package/dist/Pull.js +4 -4
- package/dist/Queue.d.ts +46 -7
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +46 -7
- package/dist/Queue.js.map +1 -1
- package/dist/RcRef.d.ts +0 -4
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/RcRef.js.map +1 -1
- package/dist/Redactable.d.ts +2 -2
- package/dist/Redactable.js +2 -2
- package/dist/Redacted.d.ts +3 -3
- package/dist/Redacted.js +3 -3
- package/dist/Reducer.d.ts +2 -3
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +2 -3
- package/dist/Reducer.js.map +1 -1
- package/dist/Ref.d.ts +17 -16
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +15 -14
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +4 -4
- package/dist/References.js +4 -4
- package/dist/Request.d.ts +18 -18
- package/dist/Request.js +6 -6
- package/dist/Resource.d.ts +2 -2
- package/dist/Resource.js +2 -2
- package/dist/Result.d.ts +77 -33
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +42 -19
- package/dist/Result.js.map +1 -1
- package/dist/Runtime.d.ts +11 -8
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +11 -8
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts +107 -45
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +41 -29
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +6 -4
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +6 -4
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +545 -411
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +662 -500
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +42 -21
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +81 -59
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +126 -106
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +121 -101
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +37 -39
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +16 -17
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts +72 -153
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +72 -145
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +40 -22
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +38 -27
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +169 -145
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +240 -177
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/SchemaUtils.js +2 -2
- package/dist/SchemaUtils.js.map +1 -1
- package/dist/Scope.d.ts +15 -0
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +15 -0
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedRef.d.ts +14 -18
- package/dist/ScopedRef.d.ts.map +1 -1
- package/dist/ScopedRef.js +6 -8
- package/dist/ScopedRef.js.map +1 -1
- package/dist/Semaphore.d.ts +9 -9
- package/dist/Semaphore.js +3 -3
- package/dist/Sink.d.ts +13 -13
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +9 -9
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +4 -5
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +4 -5
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +321 -44
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +137 -22
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +6 -9
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +2 -3
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +15 -13
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +11 -9
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +24 -19
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +12 -7
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +88 -63
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +32 -23
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Tracer.d.ts +4 -4
- package/dist/Tracer.js +4 -4
- package/dist/Trie.d.ts +15 -0
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +5 -0
- package/dist/Trie.js.map +1 -1
- package/dist/Tuple.d.ts +25 -19
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +17 -13
- package/dist/Tuple.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +6 -3
- package/dist/TxReentrantLock.d.ts.map +1 -1
- package/dist/TxReentrantLock.js +2 -1
- package/dist/TxReentrantLock.js.map +1 -1
- package/dist/TxRef.d.ts +16 -16
- package/dist/TxRef.js +8 -8
- package/dist/TxSubscriptionRef.d.ts +43 -27
- package/dist/TxSubscriptionRef.d.ts.map +1 -1
- package/dist/TxSubscriptionRef.js +19 -13
- package/dist/TxSubscriptionRef.js.map +1 -1
- package/dist/Types.d.ts +12 -38
- package/dist/Types.d.ts.map +1 -1
- package/dist/Types.js +0 -2
- package/dist/UndefinedOr.d.ts +15 -14
- package/dist/UndefinedOr.d.ts.map +1 -1
- package/dist/UndefinedOr.js +11 -10
- package/dist/UndefinedOr.js.map +1 -1
- package/dist/Unify.d.ts +2 -2
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/arbitrary.js +9 -9
- package/dist/internal/schema/arbitrary.js.map +1 -1
- package/dist/internal/schema/equivalence.js +9 -9
- package/dist/internal/schema/equivalence.js.map +1 -1
- package/dist/internal/schema/representation.js +15 -14
- package/dist/internal/schema/representation.js.map +1 -1
- package/dist/internal/schema/schema.js +11 -11
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +10 -10
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +9 -9
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +4 -2
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +4 -2
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +17 -20
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +36 -39
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +4 -5
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +4 -5
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +4 -4
- package/dist/unstable/ai/EmbeddingModel.js +4 -4
- package/dist/unstable/ai/IdGenerator.d.ts +2 -3
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +2 -3
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +3 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +5 -4
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +14 -12
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +20 -18
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +11 -4
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +8 -5
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +20 -18
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +45 -43
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +2 -2
- package/dist/unstable/ai/Prompt.js +3 -3
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.d.ts +3 -2
- package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.js +3 -2
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
- package/dist/unstable/ai/Telemetry.d.ts +21 -6
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +7 -2
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +7 -6
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +8 -7
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +2 -2
- package/dist/unstable/ai/Toolkit.js +2 -2
- package/dist/unstable/cli/CliError.js +1 -1
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +37 -16
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +15 -8
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Completions.d.ts +1 -1
- package/dist/unstable/cli/Completions.js +1 -1
- package/dist/unstable/cli/Flag.d.ts +7 -6
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js +7 -6
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +6 -1
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/unstable/cli/GlobalFlag.js +7 -2
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/Param.d.ts +3 -3
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +13 -10
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Primitive.d.ts +3 -2
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +3 -2
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -2
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterError.js +2 -2
- package/dist/unstable/cluster/ClusterError.js.map +1 -1
- package/dist/unstable/cluster/ClusterMetrics.d.ts +5 -0
- package/dist/unstable/cluster/ClusterMetrics.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterMetrics.js +5 -0
- package/dist/unstable/cluster/ClusterMetrics.js.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.d.ts +3 -3
- package/dist/unstable/cluster/ClusterSchema.js +3 -3
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +15 -15
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +10 -0
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityResource.js +10 -0
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +2 -2
- package/dist/unstable/cluster/Envelope.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.js +2 -2
- package/dist/unstable/cluster/Envelope.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +2 -2
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +13 -13
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts +2 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +2 -1
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.d.ts +2 -2
- package/dist/unstable/cluster/RunnerServer.js +2 -2
- package/dist/unstable/cluster/Runners.d.ts +3 -3
- package/dist/unstable/cluster/Runners.js +3 -3
- package/dist/unstable/cluster/ShardId.js +3 -3
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +3 -3
- package/dist/unstable/cluster/Sharding.js +3 -3
- package/dist/unstable/cluster/ShardingConfig.d.ts +4 -4
- package/dist/unstable/cluster/ShardingConfig.js +4 -4
- package/dist/unstable/cluster/Snowflake.d.ts +1 -1
- package/dist/unstable/cluster/Snowflake.js +3 -3
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +2 -2
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.js +5 -1
- package/dist/unstable/devtools/DevToolsSchema.js.map +1 -1
- package/dist/unstable/encoding/Msgpack.d.ts +2 -2
- package/dist/unstable/encoding/Msgpack.d.ts.map +1 -1
- package/dist/unstable/encoding/Msgpack.js +5 -5
- package/dist/unstable/encoding/Msgpack.js.map +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +5 -0
- package/dist/unstable/encoding/Ndjson.d.ts.map +1 -1
- package/dist/unstable/encoding/Ndjson.js +5 -0
- package/dist/unstable/encoding/Ndjson.js.map +1 -1
- package/dist/unstable/encoding/Sse.d.ts +2 -2
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +2 -2
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/EventGroup.d.ts +2 -1
- package/dist/unstable/eventlog/EventGroup.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventGroup.js +2 -1
- package/dist/unstable/eventlog/EventGroup.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +10 -0
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +10 -0
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +3 -3
- package/dist/unstable/eventlog/EventLog.js +3 -3
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts +2 -3
- package/dist/unstable/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerEncrypted.js +2 -3
- package/dist/unstable/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts +5 -7
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +5 -7
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/unstable/eventlog/EventLogSessionAuth.d.ts +4 -4
- package/dist/unstable/eventlog/EventLogSessionAuth.js +4 -4
- package/dist/unstable/http/Cookies.js +4 -4
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +2 -3
- package/dist/unstable/http/Etag.d.ts.map +1 -1
- package/dist/unstable/http/Etag.js +2 -3
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/Headers.js +2 -2
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.js +2 -2
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +2 -2
- package/dist/unstable/http/HttpClient.js +2 -2
- package/dist/unstable/http/HttpClientError.js +1 -1
- package/dist/unstable/http/HttpClientError.js.map +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +30 -3
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +10 -1
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +1 -1
- package/dist/unstable/http/HttpRouter.js +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +25 -20
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +13 -8
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/Multipart.js +3 -3
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/http/UrlParams.d.ts +30 -0
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +16 -6
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.d.ts +3 -2
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +3 -2
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +10 -8
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +15 -15
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +3 -3
- package/dist/unstable/httpapi/HttpApiMiddleware.js +3 -3
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +2 -0
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js +12 -6
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.d.ts +2 -2
- package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSchema.js +9 -9
- package/dist/unstable/httpapi/HttpApiSchema.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +11 -11
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/OtlpResource.d.ts +5 -0
- package/dist/unstable/observability/OtlpResource.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpResource.js +5 -0
- package/dist/unstable/observability/OtlpResource.js.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts +4 -2
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +4 -2
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/persistence/Persistable.js +1 -1
- package/dist/unstable/persistence/Persistable.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +1 -1
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.js +1 -1
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +1 -1
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.js +1 -1
- package/dist/unstable/persistence/Redis.js.map +1 -1
- package/dist/unstable/reactivity/AsyncResult.js +1 -1
- package/dist/unstable/reactivity/AsyncResult.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +3 -3
- package/dist/unstable/reactivity/Atom.js +3 -3
- package/dist/unstable/rpc/Rpc.d.ts +1 -1
- package/dist/unstable/rpc/Rpc.js +2 -2
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +1 -1
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.js +1 -1
- package/dist/unstable/rpc/RpcClientError.js.map +1 -1
- package/dist/unstable/rpc/RpcMessage.d.ts +2 -2
- package/dist/unstable/rpc/RpcMessage.js +3 -3
- package/dist/unstable/rpc/RpcMessage.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +2 -2
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +2 -2
- package/dist/unstable/rpc/RpcSerialization.js +2 -2
- package/dist/unstable/schema/Model.js +5 -5
- package/dist/unstable/schema/Model.js.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +2 -2
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +3 -3
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/sql/SqlError.js +1 -1
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +4 -4
- package/dist/unstable/sql/SqlSchema.js +4 -4
- package/dist/unstable/workers/Transferable.d.ts +2 -2
- package/dist/unstable/workers/Transferable.d.ts.map +1 -1
- package/dist/unstable/workers/Transferable.js +5 -5
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/WorkerError.js +4 -4
- package/dist/unstable/workers/WorkerError.js.map +1 -1
- package/dist/unstable/workflow/Activity.js +1 -1
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +8 -8
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/DurableQueue.d.ts +1 -2
- package/dist/unstable/workflow/DurableQueue.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableQueue.js +1 -2
- package/dist/unstable/workflow/DurableQueue.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +35 -15
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +96 -74
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +10 -2
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +16 -8
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.d.ts +2 -4
- package/dist/unstable/workflow/WorkflowProxy.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxy.js +9 -11
- package/dist/unstable/workflow/WorkflowProxy.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js +7 -7
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/package.json +1 -1
- package/src/Array.ts +729 -611
- package/src/BigDecimal.ts +37 -30
- package/src/BigInt.ts +34 -40
- package/src/Boolean.ts +8 -8
- package/src/Brand.ts +16 -14
- package/src/Cause.ts +21 -23
- package/src/Channel.ts +249 -9
- package/src/ChannelSchema.ts +11 -11
- package/src/Chunk.ts +69 -16
- package/src/Clock.ts +3 -3
- package/src/Combiner.ts +9 -13
- package/src/Config.ts +60 -67
- package/src/ConfigProvider.ts +34 -44
- package/src/Console.ts +2 -2
- package/src/Context.ts +60 -72
- package/src/Cron.ts +2 -2
- package/src/Crypto.ts +4 -4
- package/src/Data.ts +21 -15
- package/src/DateTime.ts +35 -16
- package/src/Deferred.ts +24 -15
- package/src/Duration.ts +44 -31
- package/src/Effect.ts +516 -416
- package/src/Encoding.ts +5 -0
- package/src/Equal.ts +26 -39
- package/src/Equivalence.ts +71 -99
- package/src/ErrorReporter.ts +1 -1
- package/src/Exit.ts +79 -96
- package/src/Fiber.ts +8 -6
- package/src/FiberHandle.ts +25 -0
- package/src/FiberMap.ts +35 -0
- package/src/FiberSet.ts +20 -0
- package/src/Filter.ts +4 -4
- package/src/Formatter.ts +14 -19
- package/src/Function.ts +15 -16
- package/src/Graph.ts +2 -2
- package/src/HKT.ts +2 -2
- package/src/Hash.ts +2 -1
- package/src/HashMap.ts +15 -0
- package/src/HashRing.ts +9 -9
- package/src/Iterable.ts +24 -12
- package/src/JsonPatch.ts +2 -3
- package/src/JsonPointer.ts +2 -6
- package/src/JsonSchema.ts +17 -13
- package/src/Latch.ts +4 -3
- package/src/Layer.ts +92 -114
- package/src/Logger.ts +15 -18
- package/src/Match.ts +2 -2
- package/src/Metric.ts +109 -137
- package/src/MutableHashMap.ts +35 -20
- package/src/MutableList.ts +15 -0
- package/src/MutableRef.ts +56 -42
- package/src/Newtype.ts +10 -7
- package/src/Number.ts +23 -11
- package/src/Optic.ts +25 -22
- package/src/Option.ts +196 -168
- package/src/Order.ts +118 -179
- package/src/PartitionedSemaphore.ts +14 -14
- package/src/Path.ts +2 -2
- package/src/Pipeable.ts +2 -2
- package/src/PlatformError.ts +4 -4
- package/src/Pool.ts +7 -11
- package/src/Predicate.ts +274 -263
- package/src/PubSub.ts +24 -14
- package/src/Pull.ts +4 -4
- package/src/Queue.ts +46 -7
- package/src/RcRef.ts +0 -4
- package/src/Redactable.ts +2 -2
- package/src/Redacted.ts +3 -3
- package/src/Reducer.ts +2 -3
- package/src/Ref.ts +43 -40
- package/src/References.ts +4 -4
- package/src/Request.ts +18 -18
- package/src/Resource.ts +2 -2
- package/src/Result.ts +87 -33
- package/src/Runtime.ts +11 -8
- package/src/Schedule.ts +112 -45
- package/src/Scheduler.ts +6 -4
- package/src/Schema.ts +1015 -759
- package/src/SchemaAST.ts +150 -117
- package/src/SchemaGetter.ts +142 -121
- package/src/SchemaIssue.ts +39 -41
- package/src/SchemaParser.ts +173 -229
- package/src/SchemaRepresentation.ts +50 -32
- package/src/SchemaTransformation.ts +308 -232
- package/src/SchemaUtils.ts +2 -2
- package/src/Scope.ts +15 -0
- package/src/ScopedCache.ts +1 -1
- package/src/ScopedRef.ts +14 -18
- package/src/Semaphore.ts +9 -9
- package/src/Sink.ts +13 -13
- package/src/Stdio.ts +4 -5
- package/src/Stream.ts +354 -57
- package/src/String.ts +6 -9
- package/src/Struct.ts +15 -13
- package/src/SubscriptionRef.ts +24 -19
- package/src/SynchronizedRef.ts +88 -63
- package/src/Tracer.ts +4 -4
- package/src/Trie.ts +15 -0
- package/src/Tuple.ts +25 -19
- package/src/TxReentrantLock.ts +6 -3
- package/src/TxRef.ts +16 -16
- package/src/TxSubscriptionRef.ts +43 -27
- package/src/Types.ts +12 -39
- package/src/UndefinedOr.ts +15 -14
- package/src/Unify.ts +2 -2
- package/src/internal/schema/annotations.ts +4 -4
- package/src/internal/schema/arbitrary.ts +16 -16
- package/src/internal/schema/equivalence.ts +11 -11
- package/src/internal/schema/representation.ts +24 -23
- package/src/internal/schema/schema.ts +17 -17
- package/src/testing/TestSchema.ts +20 -20
- package/src/unstable/ai/AiError.ts +4 -2
- package/src/unstable/ai/AnthropicStructuredOutput.ts +59 -56
- package/src/unstable/ai/Chat.ts +4 -5
- package/src/unstable/ai/EmbeddingModel.ts +4 -4
- package/src/unstable/ai/IdGenerator.ts +2 -3
- package/src/unstable/ai/LanguageModel.ts +5 -4
- package/src/unstable/ai/McpSchema.ts +20 -18
- package/src/unstable/ai/McpServer.ts +14 -7
- package/src/unstable/ai/OpenAiStructuredOutput.ts +72 -61
- package/src/unstable/ai/Prompt.ts +5 -5
- package/src/unstable/ai/ResponseIdTracker.ts +3 -2
- package/src/unstable/ai/Telemetry.ts +21 -6
- package/src/unstable/ai/Tool.ts +11 -10
- package/src/unstable/ai/Toolkit.ts +2 -2
- package/src/unstable/cli/CliError.ts +1 -1
- package/src/unstable/cli/Command.ts +37 -16
- package/src/unstable/cli/Completions.ts +1 -1
- package/src/unstable/cli/Flag.ts +7 -6
- package/src/unstable/cli/GlobalFlag.ts +7 -1
- package/src/unstable/cli/Param.ts +23 -18
- package/src/unstable/cli/Primitive.ts +3 -2
- package/src/unstable/cluster/ClusterCron.ts +1 -2
- package/src/unstable/cluster/ClusterError.ts +2 -2
- package/src/unstable/cluster/ClusterMetrics.ts +5 -0
- package/src/unstable/cluster/ClusterSchema.ts +3 -3
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +15 -15
- package/src/unstable/cluster/EntityResource.ts +10 -0
- package/src/unstable/cluster/Envelope.ts +3 -3
- package/src/unstable/cluster/Reply.ts +15 -13
- package/src/unstable/cluster/RunnerHealth.ts +2 -1
- package/src/unstable/cluster/RunnerServer.ts +2 -2
- package/src/unstable/cluster/Runners.ts +3 -3
- package/src/unstable/cluster/ShardId.ts +3 -3
- package/src/unstable/cluster/Sharding.ts +3 -3
- package/src/unstable/cluster/ShardingConfig.ts +4 -4
- package/src/unstable/cluster/Snowflake.ts +3 -3
- package/src/unstable/cluster/internal/entityManager.ts +2 -2
- package/src/unstable/devtools/DevToolsSchema.ts +1 -1
- package/src/unstable/encoding/Msgpack.ts +6 -6
- package/src/unstable/encoding/Ndjson.ts +5 -0
- package/src/unstable/encoding/Sse.ts +2 -2
- package/src/unstable/eventlog/EventGroup.ts +2 -1
- package/src/unstable/eventlog/EventJournal.ts +10 -0
- package/src/unstable/eventlog/EventLog.ts +3 -3
- package/src/unstable/eventlog/EventLogServerEncrypted.ts +2 -3
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +5 -7
- package/src/unstable/eventlog/EventLogSessionAuth.ts +4 -4
- package/src/unstable/http/Cookies.ts +4 -4
- package/src/unstable/http/Etag.ts +2 -3
- package/src/unstable/http/Headers.ts +2 -2
- package/src/unstable/http/HttpBody.ts +2 -2
- package/src/unstable/http/HttpClient.ts +2 -2
- package/src/unstable/http/HttpClientError.ts +1 -1
- package/src/unstable/http/HttpClientRequest.ts +30 -3
- package/src/unstable/http/HttpRouter.ts +1 -1
- package/src/unstable/http/HttpServerResponse.ts +25 -20
- package/src/unstable/http/Multipart.ts +3 -3
- package/src/unstable/http/UrlParams.ts +36 -6
- package/src/unstable/httpapi/HttpApi.ts +5 -4
- package/src/unstable/httpapi/HttpApiBuilder.ts +14 -13
- package/src/unstable/httpapi/HttpApiClient.ts +16 -16
- package/src/unstable/httpapi/HttpApiMiddleware.ts +3 -3
- package/src/unstable/httpapi/HttpApiScalar.ts +14 -7
- package/src/unstable/httpapi/HttpApiSchema.ts +15 -15
- package/src/unstable/httpapi/OpenApi.ts +18 -18
- package/src/unstable/observability/OtlpResource.ts +5 -0
- package/src/unstable/observability/PrometheusMetrics.ts +4 -2
- package/src/unstable/persistence/Persistable.ts +1 -1
- package/src/unstable/persistence/PersistedQueue.ts +1 -1
- package/src/unstable/persistence/Persistence.ts +1 -1
- package/src/unstable/persistence/RateLimiter.ts +1 -1
- package/src/unstable/persistence/Redis.ts +1 -1
- package/src/unstable/reactivity/AsyncResult.ts +1 -1
- package/src/unstable/reactivity/Atom.ts +3 -3
- package/src/unstable/rpc/Rpc.ts +3 -3
- package/src/unstable/rpc/RpcClient.ts +1 -1
- package/src/unstable/rpc/RpcClientError.ts +1 -1
- package/src/unstable/rpc/RpcMessage.ts +3 -3
- package/src/unstable/rpc/RpcSchema.ts +2 -2
- package/src/unstable/rpc/RpcSerialization.ts +2 -2
- package/src/unstable/schema/Model.ts +5 -5
- package/src/unstable/schema/VariantSchema.ts +2 -2
- package/src/unstable/socket/Socket.ts +3 -3
- package/src/unstable/sql/SqlError.ts +1 -1
- package/src/unstable/sql/SqlSchema.ts +4 -4
- package/src/unstable/workers/Transferable.ts +6 -6
- package/src/unstable/workers/WorkerError.ts +4 -4
- package/src/unstable/workflow/Activity.ts +1 -1
- package/src/unstable/workflow/DurableDeferred.ts +8 -8
- package/src/unstable/workflow/DurableQueue.ts +1 -2
- package/src/unstable/workflow/Workflow.ts +161 -116
- package/src/unstable/workflow/WorkflowEngine.ts +16 -8
- package/src/unstable/workflow/WorkflowProxy.ts +9 -11
- package/src/unstable/workflow/WorkflowProxyServer.ts +7 -7
|
@@ -56,9 +56,9 @@ import { type Pipeable, pipeArguments } from "../../Pipeable.ts"
|
|
|
56
56
|
import * as Redacted from "../../Redacted.ts"
|
|
57
57
|
import * as Result from "../../Result.ts"
|
|
58
58
|
import * as Schema from "../../Schema.ts"
|
|
59
|
-
import * as
|
|
60
|
-
import * as
|
|
61
|
-
import * as
|
|
59
|
+
import * as SchemaAST from "../../SchemaAST.ts"
|
|
60
|
+
import * as SchemaIssue from "../../SchemaIssue.ts"
|
|
61
|
+
import * as SchemaTransformation from "../../SchemaTransformation.ts"
|
|
62
62
|
import * as Scope from "../../Scope.ts"
|
|
63
63
|
import * as Stream from "../../Stream.ts"
|
|
64
64
|
import type { Covariant, NoInfer } from "../../Types.ts"
|
|
@@ -446,7 +446,8 @@ export const securityDecode = <Security extends HttpApiSecurity.HttpApiSecurity>
|
|
|
446
446
|
case "Http": {
|
|
447
447
|
return Effect.map(
|
|
448
448
|
HttpServerRequest,
|
|
449
|
-
|
|
449
|
+
// schemeLength + space
|
|
450
|
+
(request) => Redacted.make((request.headers.authorization ?? "").slice(self.schemeLength + 1)) as any
|
|
450
451
|
)
|
|
451
452
|
}
|
|
452
453
|
case "ApiKey": {
|
|
@@ -596,7 +597,7 @@ function buildPayloadDecoders(
|
|
|
596
597
|
result.set(contentType, {
|
|
597
598
|
_tag: encoding._tag,
|
|
598
599
|
decode,
|
|
599
|
-
nullOnEmpty: schemas.some((s) =>
|
|
600
|
+
nullOnEmpty: schemas.some((s) => SchemaAST.isNull(SchemaAST.toEncoded(s.ast)))
|
|
600
601
|
})
|
|
601
602
|
}
|
|
602
603
|
})
|
|
@@ -828,8 +829,8 @@ function makeErrorSchema(endpoint: HttpApiEndpoint.AnyWithProps): Schema.Encoder
|
|
|
828
829
|
return schemas.length === 1 ? schemas[0] : Schema.Union(schemas)
|
|
829
830
|
}
|
|
830
831
|
|
|
831
|
-
function toResponseSchema(getStatus: (ast:
|
|
832
|
-
const cache = new WeakMap<
|
|
832
|
+
function toResponseSchema(getStatus: (ast: SchemaAST.AST) => number) {
|
|
833
|
+
const cache = new WeakMap<SchemaAST.AST, Schema.Top>()
|
|
833
834
|
|
|
834
835
|
return (schema: Schema.Top): Schema.Encoder<HttpServerResponse, unknown> => {
|
|
835
836
|
const cached = cache.get(schema.ast)
|
|
@@ -845,9 +846,9 @@ function toResponseSchema(getStatus: (ast: AST.AST) => number) {
|
|
|
845
846
|
}
|
|
846
847
|
|
|
847
848
|
function getResponseTransformation(
|
|
848
|
-
getStatus: (ast:
|
|
849
|
+
getStatus: (ast: SchemaAST.AST) => number,
|
|
849
850
|
schema: Schema.Top
|
|
850
|
-
):
|
|
851
|
+
): SchemaTransformation.Transformation<unknown, Response.HttpServerResponse> {
|
|
851
852
|
const ast = schema.ast
|
|
852
853
|
const encode = getResponseEncode(
|
|
853
854
|
getStatus(ast),
|
|
@@ -855,8 +856,8 @@ function getResponseTransformation(
|
|
|
855
856
|
HttpApiSchema.isNoContent(ast)
|
|
856
857
|
)
|
|
857
858
|
|
|
858
|
-
return
|
|
859
|
-
decode: (res) => Effect.fail(new
|
|
859
|
+
return SchemaTransformation.transformOrFail({
|
|
860
|
+
decode: (res) => Effect.fail(new SchemaIssue.Forbidden(Option.some(res), { message: "Encode only schema" })),
|
|
860
861
|
encode
|
|
861
862
|
})
|
|
862
863
|
}
|
|
@@ -865,7 +866,7 @@ function getResponseEncode<E>(
|
|
|
865
866
|
status: number,
|
|
866
867
|
encoding: HttpApiSchema.ResponseEncoding,
|
|
867
868
|
isNoContent: boolean
|
|
868
|
-
): (e: E) => Effect.Effect<Response.HttpServerResponse,
|
|
869
|
+
): (e: E) => Effect.Effect<Response.HttpServerResponse, SchemaIssue.InvalidValue, never> {
|
|
869
870
|
switch (encoding._tag) {
|
|
870
871
|
case "Json": {
|
|
871
872
|
return ((e) => {
|
|
@@ -876,7 +877,7 @@ function getResponseEncode<E>(
|
|
|
876
877
|
const s = JSON.stringify(e)
|
|
877
878
|
return Effect.succeed(Response.text(s, { status, contentType: encoding.contentType }))
|
|
878
879
|
} catch (error) {
|
|
879
|
-
return Effect.fail(new
|
|
880
|
+
return Effect.fail(new SchemaIssue.InvalidValue(Option.some(e), { message: globalThis.String(error) }))
|
|
880
881
|
}
|
|
881
882
|
})
|
|
882
883
|
}
|
|
@@ -42,9 +42,9 @@ import { identity } from "../../Function.ts"
|
|
|
42
42
|
import * as Option from "../../Option.ts"
|
|
43
43
|
import * as Predicate from "../../Predicate.ts"
|
|
44
44
|
import * as Schema from "../../Schema.ts"
|
|
45
|
-
import * as
|
|
46
|
-
import * as
|
|
47
|
-
import * as
|
|
45
|
+
import * as SchemaAST from "../../SchemaAST.ts"
|
|
46
|
+
import * as SchemaIssue from "../../SchemaIssue.ts"
|
|
47
|
+
import * as SchemaTransformation from "../../SchemaTransformation.ts"
|
|
48
48
|
import type { Simplify } from "../../Types.ts"
|
|
49
49
|
import * as UndefinedOr from "../../UndefinedOr.ts"
|
|
50
50
|
import * as HttpBody from "../http/HttpBody.ts"
|
|
@@ -679,7 +679,7 @@ const ArrayBuffer = Schema.instanceOf(globalThis.ArrayBuffer, {
|
|
|
679
679
|
const Uint8ArrayFromArrayBuffer = ArrayBuffer.pipe(
|
|
680
680
|
Schema.decodeTo(
|
|
681
681
|
Schema.Uint8Array as Schema.instanceOf<Uint8Array<ArrayBuffer>>,
|
|
682
|
-
|
|
682
|
+
SchemaTransformation.transform({
|
|
683
683
|
decode(fromA) {
|
|
684
684
|
return new Uint8Array(fromA)
|
|
685
685
|
},
|
|
@@ -696,7 +696,7 @@ const Uint8ArrayFromArrayBuffer = ArrayBuffer.pipe(
|
|
|
696
696
|
const StringFromArrayBuffer = ArrayBuffer.pipe(
|
|
697
697
|
Schema.decodeTo(
|
|
698
698
|
Schema.String,
|
|
699
|
-
|
|
699
|
+
SchemaTransformation.transform({
|
|
700
700
|
decode(fromA) {
|
|
701
701
|
return new TextDecoder().decode(fromA)
|
|
702
702
|
},
|
|
@@ -716,7 +716,7 @@ const UnknownFromArrayBuffer = StringFromArrayBuffer.pipe(Schema.decodeTo(
|
|
|
716
716
|
// Handle No Content
|
|
717
717
|
Schema.Literal("").pipe(Schema.decodeTo(
|
|
718
718
|
Schema.Undefined,
|
|
719
|
-
|
|
719
|
+
SchemaTransformation.transform({
|
|
720
720
|
decode: () => undefined,
|
|
721
721
|
encode: () => ""
|
|
722
722
|
})
|
|
@@ -733,11 +733,11 @@ function toCodecArrayBuffer(schemas: readonly [Schema.Top, ...Array<Schema.Top>]
|
|
|
733
733
|
switch (encoding._tag) {
|
|
734
734
|
case "Json": {
|
|
735
735
|
// handle json codecs that transform void schemas to null
|
|
736
|
-
const encodedIsNull =
|
|
736
|
+
const encodedIsNull = SchemaAST.isNull(SchemaAST.toEncoded(schema.ast))
|
|
737
737
|
return UnknownFromArrayBuffer.pipe(Schema.decodeTo(
|
|
738
738
|
schema,
|
|
739
739
|
encodedIsNull ?
|
|
740
|
-
|
|
740
|
+
SchemaTransformation.transform({
|
|
741
741
|
decode: (a) => a === undefined ? null : a,
|
|
742
742
|
encode: (a) => a === null ? undefined : a
|
|
743
743
|
}) as any :
|
|
@@ -776,7 +776,7 @@ function getEncodePayloadSchema(
|
|
|
776
776
|
return Schema.Union(schemas.map((s) => getEncodePayloadSchemaFromBody(s, method)))
|
|
777
777
|
}
|
|
778
778
|
|
|
779
|
-
const bodyFromPayloadCache = new WeakMap<
|
|
779
|
+
const bodyFromPayloadCache = new WeakMap<SchemaAST.AST, Schema.Top>()
|
|
780
780
|
|
|
781
781
|
function getEncodePayloadSchemaFromBody(
|
|
782
782
|
schema: Schema.Top,
|
|
@@ -790,40 +790,40 @@ function getEncodePayloadSchemaFromBody(
|
|
|
790
790
|
const encoding = HttpApiSchema.getPayloadEncoding(ast, method)
|
|
791
791
|
const out = $HttpBody.pipe(Schema.decodeTo(
|
|
792
792
|
schema,
|
|
793
|
-
|
|
793
|
+
SchemaTransformation.transformOrFail<unknown, HttpBody.HttpBody>({
|
|
794
794
|
decode(httpBody) {
|
|
795
|
-
return Effect.fail(new
|
|
795
|
+
return Effect.fail(new SchemaIssue.Forbidden(Option.some(httpBody), { message: "Encode only schema" }))
|
|
796
796
|
},
|
|
797
797
|
encode(t) {
|
|
798
798
|
switch (encoding._tag) {
|
|
799
799
|
case "Multipart":
|
|
800
|
-
return Effect.fail(new
|
|
800
|
+
return Effect.fail(new SchemaIssue.Forbidden(Option.some(t), { message: "Payload must be a FormData" }))
|
|
801
801
|
case "Json": {
|
|
802
802
|
try {
|
|
803
803
|
const body = JSON.stringify(t)
|
|
804
804
|
return Effect.succeed(HttpBody.text(body, encoding.contentType))
|
|
805
805
|
} catch (error) {
|
|
806
|
-
return Effect.fail(new
|
|
806
|
+
return Effect.fail(new SchemaIssue.InvalidValue(Option.some(t), { message: globalThis.String(error) }))
|
|
807
807
|
}
|
|
808
808
|
}
|
|
809
809
|
case "Text": {
|
|
810
810
|
if (typeof t !== "string") {
|
|
811
811
|
return Effect.fail(
|
|
812
|
-
new
|
|
812
|
+
new SchemaIssue.InvalidValue(Option.some(t), { message: "Expected a string" })
|
|
813
813
|
)
|
|
814
814
|
}
|
|
815
815
|
return Effect.succeed(HttpBody.text(t, encoding.contentType))
|
|
816
816
|
}
|
|
817
817
|
case "FormUrlEncoded": {
|
|
818
818
|
if (!Predicate.isObject(t)) {
|
|
819
|
-
return Effect.fail(new
|
|
819
|
+
return Effect.fail(new SchemaIssue.InvalidValue(Option.some(t), { message: "Expected a record" }))
|
|
820
820
|
}
|
|
821
821
|
return Effect.succeed(HttpBody.urlParams(UrlParams.fromInput(t as any)))
|
|
822
822
|
}
|
|
823
823
|
case "Uint8Array": {
|
|
824
824
|
if (!(t instanceof Uint8Array)) {
|
|
825
825
|
return Effect.fail(
|
|
826
|
-
new
|
|
826
|
+
new SchemaIssue.InvalidValue(Option.some(t), { message: "Expected a Uint8Array" })
|
|
827
827
|
)
|
|
828
828
|
}
|
|
829
829
|
return Effect.succeed(HttpBody.uint8Array(t, encoding.contentType))
|
|
@@ -348,9 +348,9 @@ export type ServiceClass<
|
|
|
348
348
|
*
|
|
349
349
|
* **When to use**
|
|
350
350
|
*
|
|
351
|
-
* Use when you
|
|
352
|
-
* typed error schemas, security schemes,
|
|
353
|
-
*
|
|
351
|
+
* Use when you need an HTTP API middleware service whose configuration declares
|
|
352
|
+
* required services, provided services, typed error schemas, security schemes,
|
|
353
|
+
* client errors, or a matching client middleware requirement.
|
|
354
354
|
*
|
|
355
355
|
* @category schemas
|
|
356
356
|
* @since 4.0.0
|
|
@@ -80,6 +80,8 @@ export type ScalarConfig = {
|
|
|
80
80
|
layout?: "modern" | "classic"
|
|
81
81
|
/** URL to a request proxy for the API client */
|
|
82
82
|
proxyUrl?: string
|
|
83
|
+
/** Browser JavaScript function expression used by Scalar for documents and test requests */
|
|
84
|
+
customFetch?: string
|
|
83
85
|
/** Whether to show the sidebar */
|
|
84
86
|
showSidebar?: boolean
|
|
85
87
|
/**
|
|
@@ -179,9 +181,10 @@ const makeHandler = <Id extends string, Groups extends HttpApiGroup.Any>(options
|
|
|
179
181
|
readonly scalar: ScalarConfig | undefined
|
|
180
182
|
}) => {
|
|
181
183
|
const spec = OpenApi.fromApi(options.api)
|
|
184
|
+
const { customFetch, ...scalar } = options.scalar ?? {}
|
|
182
185
|
const scalarConfig = {
|
|
183
186
|
_integration: "html",
|
|
184
|
-
...
|
|
187
|
+
...scalar
|
|
185
188
|
}
|
|
186
189
|
const response = HttpServerResponse.html(`<!doctype html>
|
|
187
190
|
<html>
|
|
@@ -203,12 +206,7 @@ const makeHandler = <Id extends string, Groups extends HttpApiGroup.Any>(options
|
|
|
203
206
|
content="width=device-width, initial-scale=1" />
|
|
204
207
|
</head>
|
|
205
208
|
<body>
|
|
206
|
-
<
|
|
207
|
-
${Html.escapeJson(spec)}
|
|
208
|
-
</script>
|
|
209
|
-
<script>
|
|
210
|
-
document.getElementById('api-reference').dataset.configuration = JSON.stringify(${Html.escapeJson(scalarConfig)})
|
|
211
|
-
</script>
|
|
209
|
+
<div id="api-reference-container"></div>
|
|
212
210
|
${
|
|
213
211
|
options.source._tag === "Cdn"
|
|
214
212
|
? `<script src="${`https://cdn.jsdelivr.net/npm/@scalar/api-reference@${
|
|
@@ -216,6 +214,15 @@ const makeHandler = <Id extends string, Groups extends HttpApiGroup.Any>(options
|
|
|
216
214
|
}/dist/browser/standalone.min.js`}" crossorigin></script>`
|
|
217
215
|
: `<script>${options.source.source}</script>`
|
|
218
216
|
}
|
|
217
|
+
<script>
|
|
218
|
+
window.Scalar.createApiReference(document.getElementById('api-reference-container'), {
|
|
219
|
+
...${Html.escapeJson(scalarConfig)},
|
|
220
|
+
content: ${Html.escapeJson(spec)}${
|
|
221
|
+
customFetch === undefined ? "" : `,
|
|
222
|
+
customFetch: ${customFetch}`
|
|
223
|
+
}
|
|
224
|
+
})
|
|
225
|
+
</script>
|
|
219
226
|
</body>
|
|
220
227
|
</html>`)
|
|
221
228
|
return Effect.succeed(response)
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
*/
|
|
44
44
|
import { constVoid, type LazyArg } from "../../Function.ts"
|
|
45
45
|
import * as Schema from "../../Schema.ts"
|
|
46
|
-
import * as
|
|
47
|
-
import * as
|
|
46
|
+
import * as SchemaAST from "../../SchemaAST.ts"
|
|
47
|
+
import * as SchemaTransformation from "../../SchemaTransformation.ts"
|
|
48
48
|
import { hasBody, type HttpMethod } from "../http/HttpMethod.ts"
|
|
49
49
|
import type * as Multipart_ from "../http/Multipart.ts"
|
|
50
50
|
|
|
@@ -274,7 +274,7 @@ export function asNoContent<S extends Schema.Top>(options: {
|
|
|
274
274
|
return Schema.Void.pipe(
|
|
275
275
|
Schema.decodeTo(
|
|
276
276
|
Schema.toType(self),
|
|
277
|
-
|
|
277
|
+
SchemaTransformation.transform({
|
|
278
278
|
decode: options.decode,
|
|
279
279
|
encode: constVoid
|
|
280
280
|
})
|
|
@@ -472,18 +472,18 @@ export function asUint8Array(options?: {
|
|
|
472
472
|
* @category predicates
|
|
473
473
|
* @since 4.0.0
|
|
474
474
|
*/
|
|
475
|
-
export const isNoContent = (ast:
|
|
476
|
-
if (
|
|
477
|
-
const encoded =
|
|
478
|
-
if (
|
|
475
|
+
export const isNoContent = (ast: SchemaAST.AST): boolean => {
|
|
476
|
+
if (SchemaAST.isVoid(ast)) return true
|
|
477
|
+
const encoded = SchemaAST.toEncoded(ast)
|
|
478
|
+
if (SchemaAST.isVoid(encoded)) return true
|
|
479
479
|
const target = ast.encoding?.[0].to
|
|
480
480
|
if (target === undefined) return false
|
|
481
|
-
return
|
|
481
|
+
return SchemaAST.isVoid(target)
|
|
482
482
|
}
|
|
483
483
|
|
|
484
|
-
const resolveHttpApiEncoding =
|
|
484
|
+
const resolveHttpApiEncoding = SchemaAST.resolveAt<Encoding>("~httpApiEncoding")
|
|
485
485
|
|
|
486
|
-
const resolveHttpApiStatus =
|
|
486
|
+
const resolveHttpApiStatus = SchemaAST.resolveAt<number>("httpApiStatus")
|
|
487
487
|
|
|
488
488
|
const defaultJsonEncoding: Encoding = {
|
|
489
489
|
_tag: "Json",
|
|
@@ -494,19 +494,19 @@ const defaultUrlEncodedEncoding: Encoding = {
|
|
|
494
494
|
contentType: "application/x-www-form-urlencoded"
|
|
495
495
|
}
|
|
496
496
|
|
|
497
|
-
function getEncoding(ast:
|
|
497
|
+
function getEncoding(ast: SchemaAST.AST): Encoding {
|
|
498
498
|
return resolveHttpApiEncoding(ast) ?? defaultJsonEncoding
|
|
499
499
|
}
|
|
500
500
|
|
|
501
501
|
/** @internal */
|
|
502
|
-
export function getPayloadEncoding(ast:
|
|
502
|
+
export function getPayloadEncoding(ast: SchemaAST.AST, method: HttpMethod): PayloadEncoding {
|
|
503
503
|
const encoding = resolveHttpApiEncoding(ast)
|
|
504
504
|
if (encoding) return encoding
|
|
505
505
|
return hasBody(method) ? defaultJsonEncoding : defaultUrlEncodedEncoding
|
|
506
506
|
}
|
|
507
507
|
|
|
508
508
|
/** @internal */
|
|
509
|
-
export function getResponseEncoding(ast:
|
|
509
|
+
export function getResponseEncoding(ast: SchemaAST.AST): ResponseEncoding {
|
|
510
510
|
const out = getEncoding(ast)
|
|
511
511
|
if (out._tag === "Multipart") {
|
|
512
512
|
throw new Error("Multipart is not supported in response")
|
|
@@ -515,11 +515,11 @@ export function getResponseEncoding(ast: AST.AST): ResponseEncoding {
|
|
|
515
515
|
}
|
|
516
516
|
|
|
517
517
|
/** @internal */
|
|
518
|
-
export function getStatusSuccess(self:
|
|
518
|
+
export function getStatusSuccess(self: SchemaAST.AST): number {
|
|
519
519
|
return resolveHttpApiStatus(self) ?? 200
|
|
520
520
|
}
|
|
521
521
|
|
|
522
522
|
/** @internal */
|
|
523
|
-
export function getStatusError(self:
|
|
523
|
+
export function getStatusError(self: SchemaAST.AST): number {
|
|
524
524
|
return resolveHttpApiStatus(self) ?? 500
|
|
525
525
|
}
|
|
@@ -51,7 +51,7 @@ import { escapeToken } from "../../JsonPointer.ts"
|
|
|
51
51
|
import * as JsonSchema from "../../JsonSchema.ts"
|
|
52
52
|
import * as Option from "../../Option.ts"
|
|
53
53
|
import * as Schema from "../../Schema.ts"
|
|
54
|
-
import * as
|
|
54
|
+
import * as SchemaAST from "../../SchemaAST.ts"
|
|
55
55
|
import * as SchemaRepresentation from "../../SchemaRepresentation.ts"
|
|
56
56
|
import * as HttpMethod from "../http/HttpMethod.ts"
|
|
57
57
|
import * as HttpApi from "./HttpApi.ts"
|
|
@@ -305,11 +305,11 @@ export function fromApi<Id extends string, Groups extends HttpApiGroup.Any>(
|
|
|
305
305
|
const pathOps: Array<
|
|
306
306
|
{
|
|
307
307
|
readonly _tag: "schema"
|
|
308
|
-
readonly ast:
|
|
308
|
+
readonly ast: SchemaAST.AST
|
|
309
309
|
readonly path: ReadonlyArray<string>
|
|
310
310
|
} | {
|
|
311
311
|
readonly _tag: "parameter"
|
|
312
|
-
readonly ast:
|
|
312
|
+
readonly ast: SchemaAST.AST
|
|
313
313
|
readonly path: ReadonlyArray<string>
|
|
314
314
|
}
|
|
315
315
|
> = []
|
|
@@ -383,8 +383,8 @@ export function fromApi<Id extends string, Groups extends HttpApiGroup.Any>(
|
|
|
383
383
|
const filtered = schemas.filter((s) => !HttpApiSchema.isNoContent(s.ast))
|
|
384
384
|
if (filtered.length === 0) return
|
|
385
385
|
hasContent = true
|
|
386
|
-
const asts = filtered.map(
|
|
387
|
-
const ast = asts.length === 1 ? asts[0] : new
|
|
386
|
+
const asts = filtered.map(SchemaAST.getAST)
|
|
387
|
+
const ast = asts.length === 1 ? asts[0] : new SchemaAST.Union(asts, "anyOf")
|
|
388
388
|
pathOps.push({
|
|
389
389
|
_tag: "schema",
|
|
390
390
|
ast: toEncodingAST(ast, encoding._tag),
|
|
@@ -409,8 +409,8 @@ export function fromApi<Id extends string, Groups extends HttpApiGroup.Any>(
|
|
|
409
409
|
if (content !== undefined) {
|
|
410
410
|
content.forEach((map, encoding) => {
|
|
411
411
|
map.forEach((schemas, contentType) => {
|
|
412
|
-
const asts = Array.from(schemas,
|
|
413
|
-
const ast = asts.length === 1 ? asts[0] : new
|
|
412
|
+
const asts = Array.from(schemas, SchemaAST.getAST)
|
|
413
|
+
const ast = asts.length === 1 ? asts[0] : new SchemaAST.Union(asts, "anyOf")
|
|
414
414
|
|
|
415
415
|
pathOps.push({
|
|
416
416
|
_tag: "schema",
|
|
@@ -429,14 +429,14 @@ export function fromApi<Id extends string, Groups extends HttpApiGroup.Any>(
|
|
|
429
429
|
|
|
430
430
|
function processParameters(schema: Schema.Top | undefined, i: OpenAPISpecParameter["in"]) {
|
|
431
431
|
if (schema) {
|
|
432
|
-
const ast =
|
|
433
|
-
if (
|
|
432
|
+
const ast = SchemaAST.getLastEncoding(schema.ast)
|
|
433
|
+
if (SchemaAST.isObjects(ast)) {
|
|
434
434
|
for (const ps of ast.propertySignatures) {
|
|
435
435
|
op.parameters.push({
|
|
436
436
|
name: String(ps.name),
|
|
437
437
|
in: i,
|
|
438
438
|
schema: {},
|
|
439
|
-
required: i === "path" || !
|
|
439
|
+
required: i === "path" || !SchemaAST.isOptional(ps.type)
|
|
440
440
|
})
|
|
441
441
|
pathOps.push({
|
|
442
442
|
_tag: "parameter",
|
|
@@ -528,7 +528,7 @@ export function fromApi<Id extends string, Groups extends HttpApiGroup.Any>(
|
|
|
528
528
|
|
|
529
529
|
processAnnotation(api.annotations, HttpApi.AdditionalSchemas, (componentSchemas) => {
|
|
530
530
|
componentSchemas.forEach((componentSchema) => {
|
|
531
|
-
const identifier =
|
|
531
|
+
const identifier = SchemaAST.resolveIdentifier(componentSchema.ast)
|
|
532
532
|
if (identifier !== undefined) {
|
|
533
533
|
if (identifier in spec.components.schemas) {
|
|
534
534
|
throw new globalThis.Error(`Duplicate component schema identifier: ${identifier}`)
|
|
@@ -603,8 +603,8 @@ type ResponseBodies = Map<
|
|
|
603
603
|
|
|
604
604
|
function extractResponseBodies(
|
|
605
605
|
schemas: Array<Schema.Top>,
|
|
606
|
-
getStatus: (ast:
|
|
607
|
-
getDescription: (ast:
|
|
606
|
+
getStatus: (ast: SchemaAST.AST) => number,
|
|
607
|
+
getDescription: (ast: SchemaAST.AST) => string | undefined
|
|
608
608
|
): ResponseBodies {
|
|
609
609
|
const map = new Map<number, {
|
|
610
610
|
descriptions: Set<string>
|
|
@@ -671,8 +671,8 @@ function extractResponseBodies(
|
|
|
671
671
|
}
|
|
672
672
|
}
|
|
673
673
|
|
|
674
|
-
function resolveDescriptionOrIdentifier(ast:
|
|
675
|
-
return
|
|
674
|
+
function resolveDescriptionOrIdentifier(ast: SchemaAST.AST): string | undefined {
|
|
675
|
+
return SchemaAST.resolveDescription(ast) ?? SchemaAST.resolveIdentifier(ast)
|
|
676
676
|
}
|
|
677
677
|
|
|
678
678
|
type Content = Map<
|
|
@@ -687,7 +687,7 @@ const Uint8ArrayEncoding = Schema.String.annotate({
|
|
|
687
687
|
format: "binary"
|
|
688
688
|
})
|
|
689
689
|
|
|
690
|
-
function toEncodingAST(ast:
|
|
690
|
+
function toEncodingAST(ast: SchemaAST.AST, _tag: HttpApiSchema.Encoding["_tag"]): SchemaAST.AST {
|
|
691
691
|
switch (_tag) {
|
|
692
692
|
case "Uint8Array":
|
|
693
693
|
return Uint8ArrayEncoding.ast
|
|
@@ -701,9 +701,9 @@ function toEncodingAST(ast: AST.AST, _tag: HttpApiSchema.Encoding["_tag"]): AST.
|
|
|
701
701
|
}
|
|
702
702
|
}
|
|
703
703
|
|
|
704
|
-
function persistedFileToBinaryEncoding(ast:
|
|
704
|
+
function persistedFileToBinaryEncoding(ast: SchemaAST.AST): SchemaAST.AST {
|
|
705
705
|
if (
|
|
706
|
-
|
|
706
|
+
SchemaAST.isDeclaration(ast) &&
|
|
707
707
|
((ast.annotations as (Schema.Annotations.Declaration<unknown, readonly []> | undefined))?.typeConstructor?._tag ===
|
|
708
708
|
"effect/http/PersistedFile")
|
|
709
709
|
) {
|
|
@@ -143,6 +143,11 @@ export const fromConfig: (
|
|
|
143
143
|
/**
|
|
144
144
|
* Returns the `service.name` attribute from an OTLP resource.
|
|
145
145
|
*
|
|
146
|
+
* **When to use**
|
|
147
|
+
*
|
|
148
|
+
* Use when an OTLP resource is known to contain a string `service.name` and
|
|
149
|
+
* throwing is acceptable if that invariant is broken.
|
|
150
|
+
*
|
|
146
151
|
* **Gotchas**
|
|
147
152
|
*
|
|
148
153
|
* Throws if the resource does not contain a string `service.name` attribute.
|
|
@@ -143,8 +143,10 @@ export const format: (options?: FormatOptions | undefined) => Effect.Effect<stri
|
|
|
143
143
|
*
|
|
144
144
|
* **When to use**
|
|
145
145
|
*
|
|
146
|
-
* Use when you
|
|
147
|
-
*
|
|
146
|
+
* Use when you already have access to the context and need low-level
|
|
147
|
+
* synchronous formatting.
|
|
148
|
+
*
|
|
149
|
+
* @see {@link format} for effectful formatting from the current context
|
|
148
150
|
*
|
|
149
151
|
* @category formatting
|
|
150
152
|
* @since 4.0.0
|
|
@@ -224,7 +224,7 @@ export const exitSchema = <A extends Schema.Top, E extends Schema.Top>(
|
|
|
224
224
|
): Schema.Exit<A, E, Schema.Defect> => {
|
|
225
225
|
let schema = exitSchemaCache.get(self)
|
|
226
226
|
if (schema) return schema as Schema.Exit<A, E, Schema.Defect>
|
|
227
|
-
schema = Schema.Exit(self[symbol].success, self[symbol].error, Schema.Defect)
|
|
227
|
+
schema = Schema.Exit(self[symbol].success, self[symbol].error, Schema.Defect())
|
|
228
228
|
exitSchemaCache.set(self, schema)
|
|
229
229
|
return schema as Schema.Exit<A, E, Schema.Defect>
|
|
230
230
|
}
|
|
@@ -244,7 +244,7 @@ export class PersistedQueueError extends Schema.ErrorClass<PersistedQueueError>(
|
|
|
244
244
|
)({
|
|
245
245
|
_tag: Schema.tag("PersistedQueueError"),
|
|
246
246
|
message: Schema.String,
|
|
247
|
-
cause: Schema.optional(Schema.Defect)
|
|
247
|
+
cause: Schema.optional(Schema.Defect())
|
|
248
248
|
}) {
|
|
249
249
|
/**
|
|
250
250
|
* Marks this value as a persisted queue error for runtime guards.
|
|
@@ -52,7 +52,7 @@ const ErrorTypeId = "~effect/persistence/Persistence/PersistenceError" as const
|
|
|
52
52
|
export class PersistenceError extends Schema.ErrorClass<PersistenceError>(ErrorTypeId)({
|
|
53
53
|
_tag: Schema.tag("PersistenceError"),
|
|
54
54
|
message: Schema.String,
|
|
55
|
-
cause: Schema.optional(Schema.Defect)
|
|
55
|
+
cause: Schema.optional(Schema.Defect())
|
|
56
56
|
}) {
|
|
57
57
|
/**
|
|
58
58
|
* Marks this value as a persistence error for runtime guards.
|
|
@@ -396,7 +396,7 @@ export class RateLimitStoreError extends Schema.ErrorClass<RateLimitStoreError>(
|
|
|
396
396
|
)({
|
|
397
397
|
_tag: Schema.tag("RateLimitStoreError"),
|
|
398
398
|
message: Schema.String,
|
|
399
|
-
cause: Schema.optional(Schema.Defect)
|
|
399
|
+
cause: Schema.optional(Schema.Defect())
|
|
400
400
|
}) {}
|
|
401
401
|
|
|
402
402
|
/**
|
|
@@ -115,7 +115,7 @@ const ErrorTypeId: ErrorTypeId = "~effect/persistence/Redis/RedisError"
|
|
|
115
115
|
*/
|
|
116
116
|
export class RedisError extends Schema.ErrorClass<RedisError>(ErrorTypeId)({
|
|
117
117
|
_tag: Schema.tag("RedisError"),
|
|
118
|
-
cause: Schema.Defect
|
|
118
|
+
cause: Schema.Defect()
|
|
119
119
|
}) {
|
|
120
120
|
/**
|
|
121
121
|
* Marks this value as a Redis persistence error for runtime guards.
|
|
@@ -1129,7 +1129,7 @@ export const Schema = <
|
|
|
1129
1129
|
AsyncResult<A["Type"], E["Type"]>,
|
|
1130
1130
|
AsyncResult<A["Encoded"], E["Encoded"]>
|
|
1131
1131
|
>()(
|
|
1132
|
-
[success_, Schema_.Cause(error, Schema_.Defect)],
|
|
1132
|
+
[success_, Schema_.Cause(error, Schema_.Defect())],
|
|
1133
1133
|
([value, cause]) => (input, ast, options) => {
|
|
1134
1134
|
if (!isAsyncResult(input)) {
|
|
1135
1135
|
return Effect.fail(new SchemaIssue.InvalidType(ast, Option.some(input)))
|
|
@@ -1246,8 +1246,8 @@ export interface AtomResultFn<Arg, A, E = never>
|
|
|
1246
1246
|
*
|
|
1247
1247
|
* **When to use**
|
|
1248
1248
|
*
|
|
1249
|
-
* Use
|
|
1250
|
-
* result and
|
|
1249
|
+
* Use when you need an `AtomResultFn` write value that clears the current async
|
|
1250
|
+
* result and returns it to the initial state.
|
|
1251
1251
|
*
|
|
1252
1252
|
* @category symbols
|
|
1253
1253
|
* @since 4.0.0
|
|
@@ -1267,7 +1267,7 @@ export type Reset = typeof Reset
|
|
|
1267
1267
|
*
|
|
1268
1268
|
* **When to use**
|
|
1269
1269
|
*
|
|
1270
|
-
* Use
|
|
1270
|
+
* Use when you need an `AtomResultFn` write value that interrupts the currently
|
|
1271
1271
|
* running async computation.
|
|
1272
1272
|
*
|
|
1273
1273
|
* @category symbols
|
package/src/unstable/rpc/Rpc.ts
CHANGED
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
* - Streaming RPCs store element and stream-error schemas in
|
|
36
36
|
* `RpcSchema.Stream`; the immediate exit success is `void` and the ordinary
|
|
37
37
|
* RPC error schema is `Schema.Never`
|
|
38
|
-
* - Defects use a separate defect schema, defaulting to `Schema.Defect`; custom
|
|
38
|
+
* - Defects use a separate defect schema, defaulting to `Schema.Defect()`; custom
|
|
39
39
|
* defect schemas must not require decoding or encoding services
|
|
40
40
|
* - Schema services are directional: clients encode payloads and decode
|
|
41
41
|
* responses, while servers decode payloads and encode responses
|
|
@@ -956,7 +956,7 @@ export const make = <
|
|
|
956
956
|
> => {
|
|
957
957
|
const successSchema = options?.success ?? Schema.Void
|
|
958
958
|
const errorSchema = options?.error ?? Schema.Never
|
|
959
|
-
const defectSchema = options?.defect ?? Schema.Defect
|
|
959
|
+
const defectSchema = options?.defect ?? Schema.Defect()
|
|
960
960
|
let payloadSchema: any
|
|
961
961
|
if (options?.primaryKey) {
|
|
962
962
|
payloadSchema = class Payload extends Schema.Class<Payload>(`effect/rpc/Rpc/${tag}`)(options.payload as any) {
|
|
@@ -1058,7 +1058,7 @@ export const custom = <Def extends Custom>(
|
|
|
1058
1058
|
> => {
|
|
1059
1059
|
const success = options?.success ?? Schema.Void
|
|
1060
1060
|
const error = options?.error ?? Schema.Never
|
|
1061
|
-
const defect = options?.defect ?? Schema.Defect
|
|
1061
|
+
const defect = options?.defect ?? Schema.Defect()
|
|
1062
1062
|
const out = f({
|
|
1063
1063
|
success,
|
|
1064
1064
|
error,
|
|
@@ -48,7 +48,7 @@ const TypeId = "~effect/rpc/RpcClientError"
|
|
|
48
48
|
export class RpcClientDefect extends Schema.ErrorClass<RpcClientDefect>("effect/rpc/RpcClientError/RpcClientDefect")({
|
|
49
49
|
_tag: Schema.tag("RpcClientDefect"),
|
|
50
50
|
message: Schema.String,
|
|
51
|
-
cause: Schema.Defect
|
|
51
|
+
cause: Schema.Defect()
|
|
52
52
|
}) {}
|
|
53
53
|
|
|
54
54
|
/**
|
|
@@ -350,11 +350,11 @@ export interface ResponseDefectEncoded {
|
|
|
350
350
|
readonly defect: unknown
|
|
351
351
|
}
|
|
352
352
|
|
|
353
|
-
const encodeDefect = Schema.encodeSync(Schema.Defect)
|
|
353
|
+
const encodeDefect = Schema.encodeSync(Schema.Defect())
|
|
354
354
|
|
|
355
355
|
/**
|
|
356
356
|
* Creates an encoded terminal response for a request whose exit is a defect
|
|
357
|
-
* encoded with `Schema.Defect`.
|
|
357
|
+
* encoded with `Schema.Defect()`.
|
|
358
358
|
*
|
|
359
359
|
* @category response
|
|
360
360
|
* @since 4.0.0
|
|
@@ -376,7 +376,7 @@ export const ResponseExitDieEncoded = (options: {
|
|
|
376
376
|
|
|
377
377
|
/**
|
|
378
378
|
* Creates a transport-encoded defect response by encoding the input with
|
|
379
|
-
* `Schema.Defect`.
|
|
379
|
+
* `Schema.Defect()`.
|
|
380
380
|
*
|
|
381
381
|
* @category response
|
|
382
382
|
* @since 4.0.0
|
|
@@ -39,7 +39,7 @@ import { constUndefined } from "../../Function.ts"
|
|
|
39
39
|
import * as Option from "../../Option.ts"
|
|
40
40
|
import * as Predicate from "../../Predicate.ts"
|
|
41
41
|
import * as Schema from "../../Schema.ts"
|
|
42
|
-
import type * as
|
|
42
|
+
import type * as SchemaAST from "../../SchemaAST.ts"
|
|
43
43
|
import * as Stream_ from "../../Stream.ts"
|
|
44
44
|
|
|
45
45
|
const StreamSchemaTypeId = "~effect/rpc/RpcSchema/StreamSchema"
|
|
@@ -81,7 +81,7 @@ export interface Stream<A extends Schema.Top, E extends Schema.Top> extends
|
|
|
81
81
|
Stream_.Stream<A["Encoded"], E["Encoded"]>,
|
|
82
82
|
A["DecodingServices"] | E["DecodingServices"],
|
|
83
83
|
A["EncodingServices"] | E["EncodingServices"],
|
|
84
|
-
|
|
84
|
+
SchemaAST.Declaration,
|
|
85
85
|
Stream<A, E>
|
|
86
86
|
>
|
|
87
87
|
{
|