effect 4.0.0-beta.73 → 4.0.0-beta.75
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 +745 -627
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +277 -217
- 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 +10 -10
- package/dist/Boolean.js +6 -6
- 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 +282 -72
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +108 -28
- 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 +86 -33
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +48 -13
- 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 +63 -75
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +29 -33
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +6 -6
- package/dist/Cron.js +6 -6
- 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 +61 -52
- package/dist/Deferred.d.ts.map +1 -1
- package/dist/Deferred.js +21 -18
- package/dist/Deferred.js.map +1 -1
- package/dist/Duration.d.ts +50 -37
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +24 -13
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +574 -474
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +273 -213
- 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 +28 -41
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +12 -19
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +72 -100
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +54 -74
- package/dist/Equivalence.js.map +1 -1
- package/dist/ErrorReporter.d.ts +1 -1
- package/dist/ErrorReporter.js +1 -1
- package/dist/ExecutionPlan.d.ts +2 -2
- package/dist/ExecutionPlan.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/FileSystem.d.ts +6 -6
- package/dist/FileSystem.js +2 -2
- 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 +20 -21
- package/dist/Function.d.ts.map +1 -1
- package/dist/Function.js +14 -15
- package/dist/Function.js.map +1 -1
- package/dist/Graph.d.ts +13 -13
- package/dist/Graph.js +7 -7
- package/dist/HKT.d.ts +3 -3
- 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 +18 -3
- 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/HashSet.d.ts +1 -1
- package/dist/Iterable.d.ts +39 -27
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +21 -11
- 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 +108 -130
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +43 -51
- package/dist/Layer.js.map +1 -1
- package/dist/Logger.d.ts +16 -19
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +15 -18
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +2 -2
- package/dist/Match.d.ts +22 -22
- package/dist/Match.js +18 -18
- package/dist/Metric.d.ts +105 -125
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +54 -64
- 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 +232 -204
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +113 -96
- package/dist/Option.js.map +1 -1
- package/dist/Order.d.ts +119 -180
- package/dist/Order.d.ts.map +1 -1
- package/dist/Order.js +93 -145
- 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 +3 -3
- package/dist/Path.js +3 -3
- package/dist/Pipeable.d.ts +3 -3
- package/dist/Pipeable.js +3 -3
- 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 +279 -268
- 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 +33 -23
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +21 -11
- 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 +70 -31
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +66 -27
- 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/Record.d.ts +15 -15
- package/dist/Record.js +5 -5
- package/dist/Redactable.d.ts +2 -2
- package/dist/Redactable.js +2 -2
- package/dist/Redacted.d.ts +5 -5
- package/dist/Redacted.js +4 -4
- 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 +23 -22
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +21 -20
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +4 -4
- package/dist/References.js +4 -4
- package/dist/RegExp.d.ts +1 -1
- package/dist/RegExp.js +1 -1
- package/dist/Request.d.ts +22 -22
- package/dist/Request.js +6 -6
- package/dist/RequestResolver.d.ts +6 -6
- package/dist/RequestResolver.js +2 -2
- package/dist/Resource.d.ts +3 -3
- package/dist/Resource.js +3 -3
- package/dist/Result.d.ts +95 -51
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +53 -30
- 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 +151 -89
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +59 -47
- 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 +620 -830
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +543 -452
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +43 -22
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +80 -59
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +139 -119
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +133 -113
- 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 +75 -156
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +75 -148
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +30 -21
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +26 -22
- 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 +183 -159
- 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 +16 -1
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +16 -1
- 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 +18 -18
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +12 -12
- 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 +376 -99
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +158 -43
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +11 -14
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +5 -6
- package/dist/String.js.map +1 -1
- package/dist/Struct.d.ts +23 -21
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +14 -12
- 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 +145 -120
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +51 -42
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Terminal.d.ts +1 -1
- package/dist/Terminal.js +1 -1
- package/dist/Tracer.d.ts +9 -9
- package/dist/Tracer.js +6 -6
- 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 +39 -33
- package/dist/Tuple.d.ts.map +1 -1
- package/dist/Tuple.js +23 -19
- package/dist/Tuple.js.map +1 -1
- package/dist/TxHashMap.d.ts +3 -3
- package/dist/TxHashSet.d.ts +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 +9 -9
- package/dist/Unify.js +1 -1
- 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 +14 -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/TestClock.d.ts +5 -5
- package/dist/testing/TestClock.js +4 -4
- package/dist/testing/TestConsole.d.ts +3 -3
- package/dist/testing/TestConsole.js +3 -3
- 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 +6 -7
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +6 -7
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +5 -5
- package/dist/unstable/ai/EmbeddingModel.js +4 -4
- package/dist/unstable/ai/IdGenerator.d.ts +4 -5
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +3 -4
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +7 -6
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +6 -5
- 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 +19 -17
- 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 +17 -17
- package/dist/unstable/ai/Prompt.js +4 -4
- 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 +26 -11
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +9 -4
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts +1 -1
- package/dist/unstable/ai/Tokenizer.js +1 -1
- package/dist/unstable/ai/Tool.d.ts +13 -12
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +14 -13
- 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/Command.d.ts +37 -16
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +16 -9
- 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 +4 -4
- 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 +6 -5
- package/dist/unstable/cli/Primitive.d.ts.map +1 -1
- package/dist/unstable/cli/Primitive.js +4 -3
- package/dist/unstable/cli/Primitive.js.map +1 -1
- package/dist/unstable/cli/Prompt.d.ts +11 -11
- package/dist/unstable/cli/internal/parser.js +145 -10
- package/dist/unstable/cli/internal/parser.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/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/Entity.d.ts +1 -1
- package/dist/unstable/cluster/Entity.js +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/HttpRunner.d.ts +2 -2
- package/dist/unstable/cluster/HttpRunner.js +2 -2
- package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +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 +12 -12
- 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 +4 -4
- package/dist/unstable/cluster/Runners.js +4 -4
- package/dist/unstable/cluster/ShardId.js +3 -3
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +4 -4
- package/dist/unstable/cluster/Sharding.js +4 -4
- package/dist/unstable/cluster/ShardingConfig.d.ts +4 -4
- package/dist/unstable/cluster/ShardingConfig.js +4 -4
- package/dist/unstable/cluster/SingletonAddress.d.ts +1 -1
- package/dist/unstable/cluster/SingletonAddress.js +1 -1
- package/dist/unstable/cluster/Snowflake.d.ts +6 -6
- package/dist/unstable/cluster/Snowflake.js +8 -8
- 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/DevToolsClient.d.ts +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +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 +4 -4
- package/dist/unstable/eventlog/EventLog.js +4 -4
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js +1 -1
- 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 +8 -10
- package/dist/unstable/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServerUnencrypted.js +8 -10
- 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.d.ts +1 -1
- package/dist/unstable/http/Cookies.js +4 -4
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +3 -4
- package/dist/unstable/http/Etag.d.ts.map +1 -1
- package/dist/unstable/http/Etag.js +3 -4
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.d.ts +2 -2
- package/dist/unstable/http/FetchHttpClient.js +2 -2
- 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 +3 -3
- package/dist/unstable/http/HttpClient.js +3 -3
- package/dist/unstable/http/HttpClientRequest.d.ts +32 -5
- 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/HttpMiddleware.d.ts +1 -1
- package/dist/unstable/http/HttpMiddleware.js +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +1 -1
- package/dist/unstable/http/HttpPlatform.js +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +5 -5
- package/dist/unstable/http/HttpRouter.js +5 -5
- package/dist/unstable/http/HttpServerResponse.d.ts +28 -23
- 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/Url.d.ts +33 -33
- package/dist/unstable/http/Url.js +11 -11
- 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 +4 -3
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +4 -3
- 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/HttpApiError.d.ts +13 -13
- package/dist/unstable/httpapi/HttpApiError.js +13 -13
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +3 -3
- package/dist/unstable/httpapi/HttpApiMiddleware.js +3 -3
- 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 +8 -6
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +6 -4
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +3 -3
- package/dist/unstable/persistence/KeyValueStore.js +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.js +2 -2
- package/dist/unstable/persistence/PersistedQueue.d.ts +8 -8
- package/dist/unstable/persistence/PersistedQueue.js +8 -8
- package/dist/unstable/persistence/RateLimiter.d.ts +1 -1
- package/dist/unstable/persistence/RateLimiter.js +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +5 -5
- package/dist/unstable/process/ChildProcess.js +2 -2
- package/dist/unstable/reactivity/AsyncResult.d.ts +4 -4
- package/dist/unstable/reactivity/AsyncResult.js +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +4 -4
- package/dist/unstable/reactivity/Atom.js +4 -4
- package/dist/unstable/reactivity/AtomRegistry.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +1 -1
- package/dist/unstable/reactivity/Reactivity.d.ts +1 -1
- package/dist/unstable/reactivity/Reactivity.js +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +5 -5
- package/dist/unstable/rpc/Rpc.js +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +5 -5
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +2 -2
- package/dist/unstable/rpc/RpcSerialization.d.ts +2 -2
- package/dist/unstable/rpc/RpcSerialization.js +2 -2
- package/dist/unstable/schema/Model.d.ts +2 -2
- package/dist/unstable/schema/Model.js +6 -6
- 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.d.ts +3 -3
- package/dist/unstable/socket/Socket.js +3 -3
- package/dist/unstable/socket/SocketServer.d.ts +1 -1
- package/dist/unstable/socket/SocketServer.js +1 -1
- package/dist/unstable/sql/Migrator.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +3 -3
- package/dist/unstable/sql/SqlClient.js +2 -2
- package/dist/unstable/sql/SqlConnection.d.ts +1 -1
- package/dist/unstable/sql/SqlConnection.js +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +4 -4
- package/dist/unstable/sql/SqlSchema.js +4 -4
- package/dist/unstable/sql/Statement.d.ts +2 -2
- package/dist/unstable/sql/Statement.js +2 -2
- package/dist/unstable/workers/Transferable.d.ts +3 -3
- package/dist/unstable/workers/Transferable.d.ts.map +1 -1
- package/dist/unstable/workers/Transferable.js +6 -6
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +1 -1
- package/dist/unstable/workers/Worker.js +1 -1
- package/dist/unstable/workflow/Activity.d.ts +1 -1
- package/dist/unstable/workflow/Activity.js +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +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 +94 -72
- 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 +745 -627
- package/src/BigDecimal.ts +37 -30
- package/src/BigInt.ts +34 -40
- package/src/Boolean.ts +10 -10
- package/src/Brand.ts +16 -14
- package/src/Cause.ts +21 -23
- package/src/Channel.ts +316 -76
- package/src/ChannelSchema.ts +11 -11
- package/src/Chunk.ts +87 -34
- 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 +64 -76
- package/src/Cron.ts +6 -6
- package/src/Crypto.ts +4 -4
- package/src/Data.ts +21 -15
- package/src/DateTime.ts +35 -16
- package/src/Deferred.ts +61 -52
- package/src/Duration.ts +50 -37
- package/src/Effect.ts +574 -474
- package/src/Encoding.ts +5 -0
- package/src/Equal.ts +28 -41
- package/src/Equivalence.ts +72 -100
- package/src/ErrorReporter.ts +1 -1
- package/src/ExecutionPlan.ts +2 -2
- 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/FileSystem.ts +6 -6
- package/src/Filter.ts +4 -4
- package/src/Formatter.ts +14 -19
- package/src/Function.ts +20 -21
- package/src/Graph.ts +13 -13
- package/src/HKT.ts +3 -3
- package/src/Hash.ts +2 -1
- package/src/HashMap.ts +18 -3
- package/src/HashRing.ts +9 -9
- package/src/HashSet.ts +1 -1
- package/src/Iterable.ts +39 -27
- 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 +108 -130
- package/src/Logger.ts +22 -25
- package/src/ManagedRuntime.ts +2 -2
- package/src/Match.ts +22 -22
- package/src/Metric.ts +129 -157
- 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 +232 -204
- package/src/Order.ts +119 -180
- package/src/PartitionedSemaphore.ts +14 -14
- package/src/Path.ts +3 -3
- package/src/Pipeable.ts +3 -3
- package/src/PlatformError.ts +4 -4
- package/src/Pool.ts +7 -11
- package/src/Predicate.ts +279 -268
- package/src/PubSub.ts +33 -23
- package/src/Pull.ts +4 -4
- package/src/Queue.ts +70 -31
- package/src/RcRef.ts +0 -4
- package/src/Record.ts +15 -15
- package/src/Redactable.ts +2 -2
- package/src/Redacted.ts +5 -5
- package/src/Reducer.ts +2 -3
- package/src/Ref.ts +61 -58
- package/src/References.ts +4 -4
- package/src/RegExp.ts +1 -1
- package/src/Request.ts +22 -22
- package/src/RequestResolver.ts +8 -8
- package/src/Resource.ts +3 -3
- package/src/Result.ts +105 -51
- package/src/Runtime.ts +11 -8
- package/src/Schedule.ts +157 -90
- package/src/Scheduler.ts +6 -4
- package/src/Schema.ts +1020 -1108
- package/src/SchemaAST.ts +149 -118
- package/src/SchemaGetter.ts +155 -134
- package/src/SchemaIssue.ts +39 -41
- package/src/SchemaParser.ts +176 -232
- package/src/SchemaRepresentation.ts +38 -28
- package/src/SchemaTransformation.ts +233 -207
- package/src/SchemaUtils.ts +2 -2
- package/src/Scope.ts +16 -1
- package/src/ScopedCache.ts +1 -1
- package/src/ScopedRef.ts +14 -18
- package/src/Semaphore.ts +9 -9
- package/src/Sink.ts +18 -18
- package/src/Stdio.ts +4 -5
- package/src/Stream.ts +411 -114
- package/src/String.ts +11 -14
- package/src/Struct.ts +23 -21
- package/src/SubscriptionRef.ts +24 -19
- package/src/SynchronizedRef.ts +145 -120
- package/src/Terminal.ts +1 -1
- package/src/Tracer.ts +9 -9
- package/src/Trie.ts +15 -0
- package/src/Tuple.ts +39 -33
- package/src/TxHashMap.ts +3 -3
- package/src/TxHashSet.ts +1 -1
- 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 +9 -9
- 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 +23 -23
- package/src/internal/schema/schema.ts +17 -17
- package/src/testing/TestClock.ts +5 -5
- package/src/testing/TestConsole.ts +3 -3
- 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 +6 -7
- package/src/unstable/ai/EmbeddingModel.ts +5 -5
- package/src/unstable/ai/IdGenerator.ts +4 -5
- package/src/unstable/ai/LanguageModel.ts +9 -8
- package/src/unstable/ai/McpSchema.ts +19 -17
- package/src/unstable/ai/McpServer.ts +14 -7
- package/src/unstable/ai/OpenAiStructuredOutput.ts +72 -61
- package/src/unstable/ai/Prompt.ts +20 -20
- package/src/unstable/ai/ResponseIdTracker.ts +3 -2
- package/src/unstable/ai/Telemetry.ts +26 -11
- package/src/unstable/ai/Tokenizer.ts +1 -1
- package/src/unstable/ai/Tool.ts +17 -16
- package/src/unstable/ai/Toolkit.ts +2 -2
- package/src/unstable/cli/Command.ts +42 -17
- 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 +24 -19
- package/src/unstable/cli/Primitive.ts +6 -5
- package/src/unstable/cli/Prompt.ts +11 -11
- package/src/unstable/cli/internal/parser.ts +204 -10
- package/src/unstable/cluster/ClusterCron.ts +1 -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/Entity.ts +1 -1
- package/src/unstable/cluster/EntityResource.ts +10 -0
- package/src/unstable/cluster/Envelope.ts +3 -3
- package/src/unstable/cluster/HttpRunner.ts +2 -2
- package/src/unstable/cluster/K8sHttpClient.ts +1 -1
- package/src/unstable/cluster/Reply.ts +14 -12
- package/src/unstable/cluster/RunnerHealth.ts +2 -1
- package/src/unstable/cluster/RunnerServer.ts +2 -2
- package/src/unstable/cluster/Runners.ts +4 -4
- package/src/unstable/cluster/ShardId.ts +3 -3
- package/src/unstable/cluster/Sharding.ts +4 -4
- package/src/unstable/cluster/ShardingConfig.ts +4 -4
- package/src/unstable/cluster/SingletonAddress.ts +1 -1
- package/src/unstable/cluster/Snowflake.ts +8 -8
- package/src/unstable/cluster/internal/entityManager.ts +2 -2
- package/src/unstable/devtools/DevToolsClient.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 +4 -4
- package/src/unstable/eventlog/EventLogEncryption.ts +1 -1
- package/src/unstable/eventlog/EventLogRemote.ts +1 -1
- package/src/unstable/eventlog/EventLogServerEncrypted.ts +2 -3
- package/src/unstable/eventlog/EventLogServerUnencrypted.ts +8 -10
- package/src/unstable/eventlog/EventLogSessionAuth.ts +4 -4
- package/src/unstable/http/Cookies.ts +5 -5
- package/src/unstable/http/Etag.ts +3 -4
- package/src/unstable/http/FetchHttpClient.ts +2 -2
- package/src/unstable/http/Headers.ts +2 -2
- package/src/unstable/http/HttpBody.ts +2 -2
- package/src/unstable/http/HttpClient.ts +3 -3
- package/src/unstable/http/HttpClientRequest.ts +32 -5
- package/src/unstable/http/HttpMiddleware.ts +1 -1
- package/src/unstable/http/HttpPlatform.ts +1 -1
- package/src/unstable/http/HttpRouter.ts +5 -5
- package/src/unstable/http/HttpServerResponse.ts +28 -23
- package/src/unstable/http/Multipart.ts +3 -3
- package/src/unstable/http/Url.ts +33 -33
- package/src/unstable/http/UrlParams.ts +36 -6
- package/src/unstable/httpapi/HttpApi.ts +6 -5
- package/src/unstable/httpapi/HttpApiBuilder.ts +14 -13
- package/src/unstable/httpapi/HttpApiClient.ts +16 -16
- package/src/unstable/httpapi/HttpApiError.ts +13 -13
- package/src/unstable/httpapi/HttpApiMiddleware.ts +3 -3
- 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 +8 -6
- package/src/unstable/persistence/KeyValueStore.ts +3 -3
- package/src/unstable/persistence/Persistable.ts +2 -2
- package/src/unstable/persistence/PersistedQueue.ts +8 -8
- package/src/unstable/persistence/RateLimiter.ts +1 -1
- package/src/unstable/process/ChildProcess.ts +5 -5
- package/src/unstable/reactivity/AsyncResult.ts +4 -4
- package/src/unstable/reactivity/Atom.ts +4 -4
- package/src/unstable/reactivity/AtomRegistry.ts +1 -1
- package/src/unstable/reactivity/Reactivity.ts +1 -1
- package/src/unstable/rpc/Rpc.ts +5 -5
- package/src/unstable/rpc/RpcMiddleware.ts +1 -1
- package/src/unstable/rpc/RpcSchema.ts +5 -5
- package/src/unstable/rpc/RpcSerialization.ts +2 -2
- package/src/unstable/schema/Model.ts +7 -7
- package/src/unstable/schema/VariantSchema.ts +2 -2
- package/src/unstable/socket/Socket.ts +3 -3
- package/src/unstable/socket/SocketServer.ts +1 -1
- package/src/unstable/sql/Migrator.ts +1 -1
- package/src/unstable/sql/SqlClient.ts +3 -3
- package/src/unstable/sql/SqlConnection.ts +1 -1
- package/src/unstable/sql/SqlSchema.ts +4 -4
- package/src/unstable/sql/Statement.ts +2 -2
- package/src/unstable/workers/Transferable.ts +7 -7
- package/src/unstable/workers/Worker.ts +1 -1
- 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 +159 -114
- 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))
|
|
@@ -66,7 +66,7 @@ const serviceUnavailableResponse = HttpServerResponse.empty({ status: 503 })
|
|
|
66
66
|
* Built-in HTTP API error for a `400 Bad Request` response. When used directly as
|
|
67
67
|
* a server response, it renders as an empty response with status 400.
|
|
68
68
|
*
|
|
69
|
-
* @category
|
|
69
|
+
* @category errors
|
|
70
70
|
* @since 4.0.0
|
|
71
71
|
*/
|
|
72
72
|
export class BadRequest extends Schema.ErrorClass<BadRequest>("effect/HttpApiError/BadRequest")({
|
|
@@ -97,7 +97,7 @@ export const BadRequestNoContent = BadRequest.pipe(HttpApiSchema.asNoContent({
|
|
|
97
97
|
* Built-in HTTP API error for a `401 Unauthorized` response. When used directly as
|
|
98
98
|
* a server response, it renders as an empty response with status 401.
|
|
99
99
|
*
|
|
100
|
-
* @category
|
|
100
|
+
* @category errors
|
|
101
101
|
* @since 4.0.0
|
|
102
102
|
*/
|
|
103
103
|
export class Unauthorized extends Schema.ErrorClass<Unauthorized>("effect/HttpApiError/Unauthorized")({
|
|
@@ -127,7 +127,7 @@ export const UnauthorizedNoContent = Unauthorized.pipe(HttpApiSchema.asNoContent
|
|
|
127
127
|
* Built-in HTTP API error for a `403 Forbidden` response. When used directly as a
|
|
128
128
|
* server response, it renders as an empty response with status 403.
|
|
129
129
|
*
|
|
130
|
-
* @category
|
|
130
|
+
* @category errors
|
|
131
131
|
* @since 4.0.0
|
|
132
132
|
*/
|
|
133
133
|
export class Forbidden extends Schema.ErrorClass<Forbidden>("effect/HttpApiError/Forbidden")({
|
|
@@ -157,7 +157,7 @@ export const ForbiddenNoContent = Forbidden.pipe(HttpApiSchema.asNoContent({
|
|
|
157
157
|
* Built-in HTTP API error for a `404 Not Found` response. When used directly as a
|
|
158
158
|
* server response, it renders as an empty response with status 404.
|
|
159
159
|
*
|
|
160
|
-
* @category
|
|
160
|
+
* @category errors
|
|
161
161
|
* @since 4.0.0
|
|
162
162
|
*/
|
|
163
163
|
export class NotFound extends Schema.ErrorClass<NotFound>("effect/HttpApiError/NotFound")({
|
|
@@ -187,7 +187,7 @@ export const NotFoundNoContent = NotFound.pipe(HttpApiSchema.asNoContent({
|
|
|
187
187
|
* Built-in HTTP API error for a `405 Method Not Allowed` response. When used
|
|
188
188
|
* directly as a server response, it renders as an empty response with status 405.
|
|
189
189
|
*
|
|
190
|
-
* @category
|
|
190
|
+
* @category errors
|
|
191
191
|
* @since 4.0.0
|
|
192
192
|
*/
|
|
193
193
|
export class MethodNotAllowed extends Schema.ErrorClass<MethodNotAllowed>("effect/HttpApiError/MethodNotAllowed")({
|
|
@@ -217,7 +217,7 @@ export const MethodNotAllowedNoContent = MethodNotAllowed.pipe(HttpApiSchema.asN
|
|
|
217
217
|
* Built-in HTTP API error for a `406 Not Acceptable` response. When used directly
|
|
218
218
|
* as a server response, it renders as an empty response with status 406.
|
|
219
219
|
*
|
|
220
|
-
* @category
|
|
220
|
+
* @category errors
|
|
221
221
|
* @since 4.0.0
|
|
222
222
|
*/
|
|
223
223
|
export class NotAcceptable extends Schema.ErrorClass<NotAcceptable>("effect/HttpApiError/NotAcceptable")({
|
|
@@ -247,7 +247,7 @@ export const NotAcceptableNoContent = NotAcceptable.pipe(HttpApiSchema.asNoConte
|
|
|
247
247
|
* Built-in HTTP API error for a `408 Request Timeout` response. When used directly
|
|
248
248
|
* as a server response, it renders as an empty response with status 408.
|
|
249
249
|
*
|
|
250
|
-
* @category
|
|
250
|
+
* @category errors
|
|
251
251
|
* @since 4.0.0
|
|
252
252
|
*/
|
|
253
253
|
export class RequestTimeout extends Schema.ErrorClass<RequestTimeout>("effect/HttpApiError/RequestTimeout")({
|
|
@@ -277,7 +277,7 @@ export const RequestTimeoutNoContent = RequestTimeout.pipe(HttpApiSchema.asNoCon
|
|
|
277
277
|
* Built-in HTTP API error for a `409 Conflict` response. When used directly as a
|
|
278
278
|
* server response, it renders as an empty response with status 409.
|
|
279
279
|
*
|
|
280
|
-
* @category
|
|
280
|
+
* @category errors
|
|
281
281
|
* @since 4.0.0
|
|
282
282
|
*/
|
|
283
283
|
export class Conflict extends Schema.ErrorClass<Conflict>("effect/HttpApiError/Conflict")({
|
|
@@ -307,7 +307,7 @@ export const ConflictNoContent = Conflict.pipe(HttpApiSchema.asNoContent({
|
|
|
307
307
|
* Built-in HTTP API error for a `410 Gone` response. When used directly as a
|
|
308
308
|
* server response, it renders as an empty response with status 410.
|
|
309
309
|
*
|
|
310
|
-
* @category
|
|
310
|
+
* @category errors
|
|
311
311
|
* @since 4.0.0
|
|
312
312
|
*/
|
|
313
313
|
export class Gone extends Schema.ErrorClass<Gone>("effect/HttpApiError/Gone")({
|
|
@@ -337,7 +337,7 @@ export const GoneNoContent = Gone.pipe(HttpApiSchema.asNoContent({
|
|
|
337
337
|
* Built-in HTTP API error for a `500 Internal Server Error` response. When used
|
|
338
338
|
* directly as a server response, it renders as an empty response with status 500.
|
|
339
339
|
*
|
|
340
|
-
* @category
|
|
340
|
+
* @category errors
|
|
341
341
|
* @since 4.0.0
|
|
342
342
|
*/
|
|
343
343
|
export class InternalServerError
|
|
@@ -368,7 +368,7 @@ export const InternalServerErrorNoContent = InternalServerError.pipe(HttpApiSche
|
|
|
368
368
|
* Built-in HTTP API error for a `501 Not Implemented` response. When used directly
|
|
369
369
|
* as a server response, it renders as an empty response with status 501.
|
|
370
370
|
*
|
|
371
|
-
* @category
|
|
371
|
+
* @category errors
|
|
372
372
|
* @since 4.0.0
|
|
373
373
|
*/
|
|
374
374
|
export class NotImplemented extends Schema.ErrorClass<NotImplemented>("effect/HttpApiError/NotImplemented")({
|
|
@@ -397,7 +397,7 @@ export const NotImplementedNoContent = NotImplemented.pipe(HttpApiSchema.asNoCon
|
|
|
397
397
|
* Built-in HTTP API error for a `503 Service Unavailable` response. When used
|
|
398
398
|
* directly as a server response, it renders as an empty response with status 503.
|
|
399
399
|
*
|
|
400
|
-
* @category
|
|
400
|
+
* @category errors
|
|
401
401
|
* @since 4.0.0
|
|
402
402
|
*/
|
|
403
403
|
export class ServiceUnavailable
|
|
@@ -445,7 +445,7 @@ export const HttpApiSchemaErrorTypeId: HttpApiSchemaErrorTypeId = "~effect/httpa
|
|
|
445
445
|
* which component failed and responds as an empty `400 Bad Request` when rendered
|
|
446
446
|
* as a server response.
|
|
447
447
|
*
|
|
448
|
-
* @category
|
|
448
|
+
* @category errors
|
|
449
449
|
* @since 4.0.0
|
|
450
450
|
*/
|
|
451
451
|
export class HttpApiSchemaError extends Data.TaggedClass("HttpApiSchemaError")<{
|
|
@@ -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
|
|
@@ -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.
|
|
@@ -72,7 +72,7 @@ export type MetricNameMapper = (name: string) => string
|
|
|
72
72
|
/**
|
|
73
73
|
* Options for formatting metrics.
|
|
74
74
|
*
|
|
75
|
-
* @category
|
|
75
|
+
* @category options
|
|
76
76
|
* @since 4.0.0
|
|
77
77
|
*/
|
|
78
78
|
export interface FormatOptions {
|
|
@@ -90,7 +90,7 @@ export interface FormatOptions {
|
|
|
90
90
|
/**
|
|
91
91
|
* Options for exporting Prometheus metrics over HTTP.
|
|
92
92
|
*
|
|
93
|
-
* @category
|
|
93
|
+
* @category options
|
|
94
94
|
* @since 4.0.0
|
|
95
95
|
*/
|
|
96
96
|
export interface HttpOptions extends FormatOptions {
|
|
@@ -128,7 +128,7 @@ export interface HttpOptions extends FormatOptions {
|
|
|
128
128
|
* })
|
|
129
129
|
* ```
|
|
130
130
|
*
|
|
131
|
-
* @category
|
|
131
|
+
* @category formatting
|
|
132
132
|
* @since 4.0.0
|
|
133
133
|
*/
|
|
134
134
|
export const format: (options?: FormatOptions | undefined) => Effect.Effect<string> = Effect.fnUntraced(
|
|
@@ -143,10 +143,12 @@ 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
|
-
* @category
|
|
151
|
+
* @category formatting
|
|
150
152
|
* @since 4.0.0
|
|
151
153
|
*/
|
|
152
154
|
export const formatUnsafe = (
|
|
@@ -114,7 +114,7 @@ export interface KeyValueStore {
|
|
|
114
114
|
* Primitive operations are required, while helpers such as `has`, `isEmpty`,
|
|
115
115
|
* and `modify` can be supplied to override the defaults.
|
|
116
116
|
*
|
|
117
|
-
* @category
|
|
117
|
+
* @category options
|
|
118
118
|
* @since 4.0.0
|
|
119
119
|
*/
|
|
120
120
|
export type MakeOptions = Partial<KeyValueStore> & {
|
|
@@ -153,7 +153,7 @@ export type MakeOptions = Partial<KeyValueStore> & {
|
|
|
153
153
|
* Implementation callbacks for adapting a string-only backing store into a
|
|
154
154
|
* `KeyValueStore`.
|
|
155
155
|
*
|
|
156
|
-
* @category
|
|
156
|
+
* @category options
|
|
157
157
|
* @since 4.0.0
|
|
158
158
|
*/
|
|
159
159
|
export type MakeStringOptions = Partial<Omit<KeyValueStore, "set">> & {
|
|
@@ -214,7 +214,7 @@ export class KeyValueStoreError extends Data.TaggedError("KeyValueStoreError")<{
|
|
|
214
214
|
* Use to access or provide the persistence store used for lightweight durable
|
|
215
215
|
* state.
|
|
216
216
|
*
|
|
217
|
-
* @category
|
|
217
|
+
* @category services
|
|
218
218
|
* @since 4.0.0
|
|
219
219
|
*/
|
|
220
220
|
export const KeyValueStore: Context.Service<
|
|
@@ -235,7 +235,7 @@ const exitSchemaCache = new WeakMap<Persistable<any, any>, Schema.Exit<any, any,
|
|
|
235
235
|
* Encodes an `Exit` for a persistable request using its success and error
|
|
236
236
|
* schemas.
|
|
237
237
|
*
|
|
238
|
-
* @category
|
|
238
|
+
* @category serialization
|
|
239
239
|
* @since 4.0.0
|
|
240
240
|
*/
|
|
241
241
|
export const serializeExit = <A extends Schema.Top, E extends Schema.Top>(
|
|
@@ -250,7 +250,7 @@ export const serializeExit = <A extends Schema.Top, E extends Schema.Top>(
|
|
|
250
250
|
* Decodes a persisted value into an `Exit` for a persistable request using its
|
|
251
251
|
* success and error schemas.
|
|
252
252
|
*
|
|
253
|
-
* @category
|
|
253
|
+
* @category serialization
|
|
254
254
|
* @since 4.0.0
|
|
255
255
|
*/
|
|
256
256
|
export const deserializeExit = <A extends Schema.Top, E extends Schema.Top>(
|