effect 4.0.0-beta.2 → 4.0.0-beta.21
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 +127 -299
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +102 -62
- package/dist/Array.js.map +1 -1
- package/dist/Cache.d.ts +2 -2
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +6 -5
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +1 -1
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Channel.d.ts +116 -30
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +82 -37
- package/dist/Channel.js.map +1 -1
- package/dist/Chunk.d.ts +54 -247
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +36 -67
- package/dist/Chunk.js.map +1 -1
- package/dist/Combiner.d.ts +280 -13
- package/dist/Combiner.d.ts.map +1 -1
- package/dist/Combiner.js +198 -7
- package/dist/Combiner.js.map +1 -1
- package/dist/Config.d.ts +165 -9
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +62 -7
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts +1 -1
- package/dist/Cron.d.ts +1 -1
- package/dist/Data.d.ts +534 -365
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js +132 -79
- package/dist/Data.js.map +1 -1
- package/dist/DateTime.d.ts +23 -161
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +6 -51
- package/dist/DateTime.js.map +1 -1
- package/dist/Duration.d.ts +12 -12
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +12 -12
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +829 -692
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +263 -251
- package/dist/Effect.js.map +1 -1
- package/dist/Encoding.d.ts +194 -0
- package/dist/Encoding.d.ts.map +1 -0
- package/dist/Encoding.js +352 -0
- package/dist/Encoding.js.map +1 -0
- package/dist/Equal.d.ts +276 -109
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +124 -48
- package/dist/Equal.js.map +1 -1
- package/dist/ErrorReporter.d.ts +376 -0
- package/dist/ErrorReporter.d.ts.map +1 -0
- package/dist/ErrorReporter.js +246 -0
- package/dist/ErrorReporter.js.map +1 -0
- package/dist/Fiber.d.ts +2 -2
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FileSystem.d.ts +1 -1
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +5 -5
- package/dist/FileSystem.js.map +1 -1
- package/dist/Filter.d.ts +30 -34
- package/dist/Filter.d.ts.map +1 -1
- package/dist/Filter.js +15 -13
- package/dist/Filter.js.map +1 -1
- package/dist/Formatter.d.ts +131 -47
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +229 -51
- package/dist/Formatter.js.map +1 -1
- package/dist/Graph.d.ts +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js +5 -8
- package/dist/Graph.js.map +1 -1
- package/dist/HashMap.d.ts +15 -14
- package/dist/HashMap.d.ts.map +1 -1
- package/dist/HashMap.js +4 -4
- package/dist/HashMap.js.map +1 -1
- package/dist/Iterable.d.ts +40 -39
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +94 -22
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonSchema.d.ts +299 -10
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +323 -4
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Latch.d.ts +109 -0
- package/dist/Latch.d.ts.map +1 -0
- package/dist/Latch.js +72 -0
- package/dist/Latch.js.map +1 -0
- package/dist/Layer.d.ts +9 -9
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +4 -4
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LogLevel.d.ts +32 -0
- package/dist/LogLevel.d.ts.map +1 -1
- package/dist/LogLevel.js +28 -100
- package/dist/LogLevel.js.map +1 -1
- package/dist/Logger.d.ts +29 -95
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js +2 -3
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +1 -1
- package/dist/ManagedRuntime.js +1 -1
- package/dist/Metric.d.ts +2 -2
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +1 -1
- package/dist/Metric.js.map +1 -1
- package/dist/Optic.d.ts +947 -18
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js +454 -5
- package/dist/Optic.js.map +1 -1
- package/dist/Option.d.ts +22 -15
- package/dist/Option.d.ts.map +1 -1
- package/dist/Option.js +14 -7
- package/dist/Option.js.map +1 -1
- package/dist/Pipeable.d.ts +17 -0
- package/dist/Pipeable.d.ts.map +1 -1
- package/dist/Pipeable.js +19 -1
- package/dist/Pipeable.js.map +1 -1
- package/dist/PlatformError.d.ts +10 -9
- package/dist/PlatformError.d.ts.map +1 -1
- package/dist/PlatformError.js +2 -2
- package/dist/PlatformError.js.map +1 -1
- package/dist/Pool.d.ts +6 -4
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +7 -5
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts +3 -2
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +3 -2
- package/dist/PubSub.js.map +1 -1
- package/dist/Pull.d.ts.map +1 -1
- package/dist/Pull.js +1 -1
- package/dist/Pull.js.map +1 -1
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +0 -1
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts +35 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +46 -12
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +2 -2
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +1 -1
- package/dist/RcMap.js.map +1 -1
- package/dist/RcRef.d.ts +1 -1
- package/dist/RcRef.d.ts.map +1 -1
- package/dist/Record.d.ts +24 -120
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +21 -41
- package/dist/Record.js.map +1 -1
- package/dist/Reducer.d.ts +166 -7
- package/dist/Reducer.d.ts.map +1 -1
- package/dist/Reducer.js +135 -1
- package/dist/Reducer.js.map +1 -1
- package/dist/References.d.ts +3 -3
- package/dist/References.d.ts.map +1 -1
- package/dist/Request.d.ts +1 -1
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js +2 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts +6 -26
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +0 -20
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Result.d.ts +12 -0
- package/dist/Result.d.ts.map +1 -1
- package/dist/Result.js +12 -0
- package/dist/Result.js.map +1 -1
- package/dist/Schedule.d.ts +47 -20
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +94 -34
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +266 -50
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +426 -74
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +7 -6
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +2 -2
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +12 -14
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaParser.d.ts +5 -0
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +10 -0
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +44 -43
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +43 -24
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +107 -3
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +159 -4
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/ScopedCache.d.ts +2 -2
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +1 -1
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Semaphore.d.ts +211 -0
- package/dist/Semaphore.d.ts.map +1 -0
- package/dist/{PartitionedSemaphore.js → Semaphore.js} +97 -13
- package/dist/Semaphore.js.map +1 -0
- package/dist/ServiceMap.d.ts +39 -30
- package/dist/ServiceMap.d.ts.map +1 -1
- package/dist/ServiceMap.js +3 -3
- package/dist/ServiceMap.js.map +1 -1
- package/dist/Sink.d.ts +13 -13
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +53 -6
- package/dist/Sink.js.map +1 -1
- package/dist/Stream.d.ts +235 -423
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +124 -77
- package/dist/Stream.js.map +1 -1
- package/dist/Struct.d.ts +16 -0
- package/dist/Struct.d.ts.map +1 -1
- package/dist/Struct.js +22 -0
- package/dist/Struct.js.map +1 -1
- package/dist/SubscriptionRef.d.ts +2 -1
- package/dist/SubscriptionRef.d.ts.map +1 -1
- package/dist/SubscriptionRef.js +2 -1
- package/dist/SubscriptionRef.js.map +1 -1
- package/dist/SynchronizedRef.d.ts +2 -1
- package/dist/SynchronizedRef.d.ts.map +1 -1
- package/dist/SynchronizedRef.js +2 -1
- package/dist/SynchronizedRef.js.map +1 -1
- package/dist/Trie.d.ts +18 -17
- package/dist/Trie.d.ts.map +1 -1
- package/dist/Trie.js +5 -5
- package/dist/Trie.js.map +1 -1
- package/dist/TxChunk.d.ts +37 -37
- package/dist/TxChunk.d.ts.map +1 -1
- package/dist/TxChunk.js +3 -3
- package/dist/TxChunk.js.map +1 -1
- package/dist/TxDeferred.d.ts +328 -0
- package/dist/TxDeferred.d.ts.map +1 -0
- package/dist/TxDeferred.js +196 -0
- package/dist/TxDeferred.js.map +1 -0
- package/dist/TxHashMap.d.ts +84 -83
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js +24 -24
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts +35 -35
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js +14 -14
- package/dist/TxHashSet.js.map +1 -1
- package/dist/TxPriorityQueue.d.ts +609 -0
- package/dist/TxPriorityQueue.d.ts.map +1 -0
- package/dist/TxPriorityQueue.js +415 -0
- package/dist/TxPriorityQueue.js.map +1 -0
- package/dist/TxPubSub.d.ts +585 -0
- package/dist/TxPubSub.d.ts.map +1 -0
- package/dist/TxPubSub.js +521 -0
- package/dist/TxPubSub.js.map +1 -0
- package/dist/TxQueue.d.ts +32 -32
- package/dist/TxQueue.d.ts.map +1 -1
- package/dist/TxQueue.js +26 -26
- package/dist/TxQueue.js.map +1 -1
- package/dist/TxReentrantLock.d.ts +523 -0
- package/dist/TxReentrantLock.d.ts.map +1 -0
- package/dist/TxReentrantLock.js +504 -0
- package/dist/TxReentrantLock.js.map +1 -0
- package/dist/TxRef.d.ts +34 -34
- package/dist/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +21 -14
- package/dist/TxRef.js.map +1 -1
- package/dist/TxSemaphore.d.ts +8 -8
- package/dist/TxSemaphore.d.ts.map +1 -1
- package/dist/TxSemaphore.js +7 -7
- package/dist/TxSemaphore.js.map +1 -1
- package/dist/TxSubscriptionRef.d.ts +508 -0
- package/dist/TxSubscriptionRef.d.ts.map +1 -0
- package/dist/TxSubscriptionRef.js +293 -0
- package/dist/TxSubscriptionRef.js.map +1 -0
- package/dist/Types.d.ts +84 -6
- package/dist/Types.d.ts.map +1 -1
- package/dist/index.d.ts +591 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +591 -20
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js +11 -3
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +3 -11
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +263 -99
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/hashMap.js +5 -4
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/random.d.ts +2 -0
- package/dist/internal/random.d.ts.map +1 -0
- package/dist/internal/random.js +13 -0
- package/dist/internal/random.js.map +1 -0
- package/dist/internal/rcRef.js +3 -2
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/request.js +2 -2
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schema/annotations.js +2 -0
- package/dist/internal/schema/annotations.js.map +1 -1
- package/dist/internal/schema/schema.js +1 -0
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/internal/trie.js +5 -4
- package/dist/internal/trie.js.map +1 -1
- package/dist/testing/TestClock.d.ts +7 -6
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +6 -4
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +8 -8
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +128 -48
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +11 -12
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +3 -3
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +4 -3
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +4 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +86 -14
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +163 -87
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +49 -12
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +1 -1
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +35 -7
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +25 -7
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +22 -6
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts +20 -20
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Response.d.ts +26 -26
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +1 -1
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +19 -3
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +14 -9
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/index.d.ts +1 -1
- package/dist/unstable/ai/index.js +1 -1
- package/dist/unstable/cli/CliError.d.ts +5 -5
- package/dist/unstable/cli/CliOutput.js +59 -6
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +276 -19
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +234 -36
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +125 -0
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -0
- package/dist/unstable/cli/GlobalFlag.js +118 -0
- package/dist/unstable/cli/GlobalFlag.js.map +1 -0
- package/dist/unstable/cli/HelpDoc.d.ts +70 -2
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/index.d.ts +4 -0
- package/dist/unstable/cli/index.d.ts.map +1 -1
- package/dist/unstable/cli/index.js +4 -0
- package/dist/unstable/cli/index.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +17 -8
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +32 -23
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js +7 -2
- package/dist/unstable/cli/internal/completions/CommandDescriptor.js.map +1 -1
- package/dist/unstable/cli/internal/help.d.ts +33 -0
- package/dist/unstable/cli/internal/help.d.ts.map +1 -0
- package/dist/unstable/cli/internal/help.js +107 -0
- package/dist/unstable/cli/internal/help.js.map +1 -0
- package/dist/unstable/cli/internal/parser.js +29 -36
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts +1 -1
- package/dist/unstable/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterCron.js +1 -1
- package/dist/unstable/cluster/ClusterCron.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +4 -3
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +7 -6
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +4 -4
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +10 -10
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +2 -1
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +6 -6
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +4 -3
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +9 -7
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +21 -21
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +20 -20
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js +1 -1
- package/dist/unstable/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +5 -4
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +2 -1
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceRef.js +2 -1
- package/dist/unstable/cluster/internal/resourceRef.js.map +1 -1
- package/dist/unstable/devtools/DevToolsSchema.d.ts +36 -36
- package/dist/unstable/encoding/Msgpack.d.ts +1 -1
- package/dist/unstable/encoding/Ndjson.d.ts +1 -1
- package/dist/unstable/encoding/Sse.d.ts +4 -4
- package/dist/unstable/encoding/Sse.d.ts.map +1 -1
- package/dist/unstable/encoding/Sse.js +1 -1
- package/dist/unstable/encoding/Sse.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +2 -2
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +2 -1
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +6 -6
- package/dist/unstable/http/Cookies.d.ts +3 -3
- package/dist/unstable/http/Cookies.d.ts.map +1 -1
- package/dist/unstable/http/Cookies.js +2 -2
- package/dist/unstable/http/Cookies.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +27 -10
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpBody.d.ts +17 -2
- package/dist/unstable/http/HttpBody.d.ts.map +1 -1
- package/dist/unstable/http/HttpBody.js +28 -1
- package/dist/unstable/http/HttpBody.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +37 -13
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +4 -4
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +7 -7
- package/dist/unstable/http/HttpClientRequest.d.ts +27 -11
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +15 -3
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +3 -8
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +42 -56
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpMethod.d.ts +4 -4
- package/dist/unstable/http/HttpMethod.d.ts.map +1 -1
- package/dist/unstable/http/HttpMethod.js +3 -3
- package/dist/unstable/http/HttpMethod.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +1 -6
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +8 -17
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +20 -33
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +37 -44
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.d.ts +2 -2
- package/dist/unstable/http/HttpServerRespondable.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRespondable.js +5 -5
- package/dist/unstable/http/HttpServerRespondable.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +2 -1
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +3 -1
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +3 -3
- package/dist/unstable/http/UrlParams.d.ts +14 -6
- package/dist/unstable/http/UrlParams.d.ts.map +1 -1
- package/dist/unstable/http/UrlParams.js +1 -1
- package/dist/unstable/http/UrlParams.js.map +1 -1
- package/dist/unstable/http/internal/preResponseHandler.d.ts +2 -0
- package/dist/unstable/http/internal/preResponseHandler.d.ts.map +1 -0
- package/dist/unstable/http/internal/preResponseHandler.js +10 -0
- package/dist/unstable/http/internal/preResponseHandler.js.map +1 -0
- package/dist/unstable/httpapi/HttpApi.d.ts +3 -3
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +11 -5
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +23 -12
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts +7 -2
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +3 -3
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +31 -44
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +15 -24
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +11 -0
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.js +29 -9
- package/dist/unstable/httpapi/HttpApiError.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +3 -3
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +4 -4
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.d.ts +6 -0
- package/dist/unstable/httpapi/HttpApiScalar.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiScalar.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts +2 -2
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +32 -21
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/Otlp.d.ts +12 -12
- package/dist/unstable/observability/Otlp.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts +2 -2
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +1 -1
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpLogger.d.ts +4 -4
- package/dist/unstable/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpLogger.js +7 -4
- package/dist/unstable/observability/OtlpLogger.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.d.ts +4 -4
- package/dist/unstable/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts +4 -4
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +6 -6
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/Persistable.d.ts +2 -2
- package/dist/unstable/persistence/Persistable.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +6 -5
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +2 -1
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +12 -12
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +12 -11
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +1 -1
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +2 -2
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +3 -3
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +1 -1
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/process/ChildProcess.d.ts +5 -128
- package/dist/unstable/process/ChildProcess.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcess.js +1 -65
- package/dist/unstable/process/ChildProcess.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -7
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +21 -1
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +10 -10
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +16 -13
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +8 -8
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +3 -3
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +6 -0
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +24 -7
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +1 -1
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Hydration.d.ts +39 -0
- package/dist/unstable/reactivity/Hydration.d.ts.map +1 -0
- package/dist/unstable/reactivity/Hydration.js +76 -0
- package/dist/unstable/reactivity/Hydration.js.map +1 -0
- package/dist/unstable/reactivity/index.d.ts +4 -0
- package/dist/unstable/reactivity/index.d.ts.map +1 -1
- package/dist/unstable/reactivity/index.js +4 -0
- package/dist/unstable/reactivity/index.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +4 -4
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +5 -26
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +6 -13
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcGroup.d.ts +2 -2
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +3 -3
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +13 -0
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +14 -0
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +34 -9
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +0 -7
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +15 -15
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +2 -1
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/schema/Model.d.ts +1 -1
- package/dist/unstable/schema/Model.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.d.ts +3 -3
- package/dist/unstable/schema/VariantSchema.d.ts.map +1 -1
- package/dist/unstable/schema/VariantSchema.js +3 -3
- package/dist/unstable/schema/VariantSchema.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +4 -4
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +6 -5
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +3 -3
- package/dist/unstable/sql/Migrator.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +1 -1
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +14 -14
- package/dist/unstable/sql/SqlError.d.ts.map +1 -1
- package/dist/unstable/sql/SqlError.js +9 -3
- package/dist/unstable/sql/SqlError.js.map +1 -1
- package/dist/unstable/sql/SqlModel.d.ts +2 -2
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +3 -3
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlSchema.d.ts +16 -5
- package/dist/unstable/sql/SqlSchema.d.ts.map +1 -1
- package/dist/unstable/sql/SqlSchema.js +17 -7
- package/dist/unstable/sql/SqlSchema.js.map +1 -1
- package/dist/unstable/sql/Statement.js +0 -1
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +2 -1
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +3 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +3 -3
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +2 -2
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +3 -3
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +1 -1
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +12 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +137 -1
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +2 -2
- package/src/Array.ts +190 -342
- package/src/Cache.ts +9 -8
- package/src/Cause.ts +1 -1
- package/src/Channel.ts +554 -138
- package/src/Chunk.ts +81 -268
- package/src/Combiner.ts +280 -13
- package/src/Config.ts +183 -21
- package/src/Data.ts +538 -374
- package/src/DateTime.ts +24 -164
- package/src/Duration.ts +15 -15
- package/src/Effect.ts +991 -800
- package/src/Encoding.ts +879 -0
- package/src/Equal.ts +278 -111
- package/src/ErrorReporter.ts +459 -0
- package/src/Fiber.ts +9 -2
- package/src/FileSystem.ts +7 -8
- package/src/Filter.ts +48 -58
- package/src/Formatter.ts +253 -51
- package/src/Graph.ts +24 -11
- package/src/HashMap.ts +15 -14
- package/src/Iterable.ts +105 -50
- package/src/JsonSchema.ts +383 -10
- package/src/Latch.ts +112 -0
- package/src/Layer.ts +11 -15
- package/src/LayerMap.ts +5 -5
- package/src/LogLevel.ts +37 -0
- package/src/Logger.ts +33 -100
- package/src/ManagedRuntime.ts +1 -1
- package/src/Metric.ts +4 -4
- package/src/Optic.ts +948 -19
- package/src/Option.ts +30 -20
- package/src/Pipeable.ts +32 -1
- package/src/PlatformError.ts +5 -5
- package/src/Pool.ts +13 -11
- package/src/PubSub.ts +10 -9
- package/src/Pull.ts +1 -1
- package/src/Queue.ts +0 -1
- package/src/Random.ts +51 -14
- package/src/RcMap.ts +5 -5
- package/src/RcRef.ts +1 -1
- package/src/Record.ts +43 -152
- package/src/Reducer.ts +166 -7
- package/src/References.ts +4 -4
- package/src/Request.ts +3 -2
- package/src/RequestResolver.ts +9 -29
- package/src/Result.ts +13 -0
- package/src/Schedule.ts +318 -160
- package/src/Schema.ts +661 -116
- package/src/SchemaAST.ts +7 -6
- package/src/SchemaGetter.ts +12 -14
- package/src/SchemaParser.ts +11 -0
- package/src/SchemaRepresentation.ts +43 -24
- package/src/SchemaTransformation.ts +189 -4
- package/src/ScopedCache.ts +3 -3
- package/src/Semaphore.ts +356 -0
- package/src/ServiceMap.ts +47 -38
- package/src/Sink.ts +78 -26
- package/src/Stream.ts +566 -601
- package/src/Struct.ts +26 -0
- package/src/SubscriptionRef.ts +3 -2
- package/src/SynchronizedRef.ts +3 -2
- package/src/Trie.ts +18 -17
- package/src/TxChunk.ts +72 -53
- package/src/TxDeferred.ts +394 -0
- package/src/TxHashMap.ts +332 -285
- package/src/TxHashSet.ts +111 -116
- package/src/TxPriorityQueue.ts +767 -0
- package/src/TxPubSub.ts +789 -0
- package/src/TxQueue.ts +241 -251
- package/src/TxReentrantLock.ts +753 -0
- package/src/TxRef.ts +50 -38
- package/src/TxSemaphore.ts +29 -32
- package/src/TxSubscriptionRef.ts +639 -0
- package/src/Types.ts +78 -2
- package/src/index.ts +600 -21
- package/src/internal/core.ts +12 -5
- package/src/internal/dateTime.ts +9 -30
- package/src/internal/effect.ts +744 -265
- package/src/internal/hashMap.ts +9 -7
- package/src/internal/random.ts +20 -0
- package/src/internal/rcRef.ts +4 -3
- package/src/internal/request.ts +2 -2
- package/src/internal/schema/annotations.ts +2 -0
- package/src/internal/schema/schema.ts +1 -0
- package/src/internal/trie.ts +16 -9
- package/src/testing/TestClock.ts +13 -11
- package/src/testing/TestSchema.ts +10 -10
- package/src/unstable/ai/AiError.ts +97 -44
- package/src/unstable/ai/Chat.ts +12 -11
- package/src/unstable/ai/LanguageModel.ts +129 -25
- package/src/unstable/ai/McpSchema.ts +59 -13
- package/src/unstable/ai/McpServer.ts +48 -9
- package/src/unstable/ai/Model.ts +40 -9
- package/src/unstable/ai/Prompt.ts +37 -37
- package/src/unstable/ai/Response.ts +25 -25
- package/src/unstable/ai/Tool.ts +19 -13
- package/src/unstable/ai/index.ts +1 -1
- package/src/unstable/cli/CliOutput.ts +75 -6
- package/src/unstable/cli/Command.ts +501 -60
- package/src/unstable/cli/GlobalFlag.ts +243 -0
- package/src/unstable/cli/HelpDoc.ts +80 -2
- package/src/unstable/cli/index.ts +5 -0
- package/src/unstable/cli/internal/command.ts +50 -34
- package/src/unstable/cli/internal/completions/CommandDescriptor.ts +7 -2
- package/src/unstable/cli/internal/help.ts +146 -0
- package/src/unstable/cli/internal/parser.ts +33 -54
- package/src/unstable/cluster/ClusterCron.ts +2 -2
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +5 -4
- package/src/unstable/cluster/Entity.ts +11 -10
- package/src/unstable/cluster/EntityResource.ts +4 -4
- package/src/unstable/cluster/Envelope.ts +1 -1
- package/src/unstable/cluster/K8sHttpClient.ts +5 -5
- package/src/unstable/cluster/MessageStorage.ts +3 -5
- package/src/unstable/cluster/Runners.ts +6 -5
- package/src/unstable/cluster/Sharding.ts +12 -10
- package/src/unstable/cluster/ShardingConfig.ts +30 -31
- package/src/unstable/cluster/SqlRunnerStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +9 -8
- package/src/unstable/cluster/internal/entityReaper.ts +2 -1
- package/src/unstable/cluster/internal/resourceRef.ts +2 -1
- package/src/unstable/encoding/Sse.ts +3 -5
- package/src/unstable/eventlog/EventLog.ts +2 -1
- package/src/unstable/http/Cookies.ts +3 -3
- package/src/unstable/http/Headers.ts +28 -13
- package/src/unstable/http/HttpBody.ts +42 -1
- package/src/unstable/http/HttpClient.ts +58 -23
- package/src/unstable/http/HttpClientRequest.ts +38 -13
- package/src/unstable/http/HttpEffect.ts +46 -68
- package/src/unstable/http/HttpMethod.ts +16 -4
- package/src/unstable/http/HttpMiddleware.ts +9 -24
- package/src/unstable/http/HttpServerError.ts +42 -45
- package/src/unstable/http/HttpServerRequest.ts +1 -1
- package/src/unstable/http/HttpServerRespondable.ts +6 -6
- package/src/unstable/http/HttpServerResponse.ts +4 -2
- package/src/unstable/http/Multipart.ts +2 -2
- package/src/unstable/http/UrlParams.ts +20 -5
- package/src/unstable/http/internal/preResponseHandler.ts +15 -0
- package/src/unstable/httpapi/HttpApi.ts +5 -5
- package/src/unstable/httpapi/HttpApiBuilder.ts +77 -21
- package/src/unstable/httpapi/HttpApiClient.ts +14 -6
- package/src/unstable/httpapi/HttpApiEndpoint.ts +67 -83
- package/src/unstable/httpapi/HttpApiError.ts +30 -9
- package/src/unstable/httpapi/HttpApiGroup.ts +6 -6
- package/src/unstable/httpapi/HttpApiMiddleware.ts +4 -4
- package/src/unstable/httpapi/HttpApiScalar.ts +6 -0
- package/src/unstable/httpapi/HttpApiSecurity.ts +3 -3
- package/src/unstable/httpapi/OpenApi.ts +41 -23
- package/src/unstable/observability/Otlp.ts +12 -12
- package/src/unstable/observability/OtlpExporter.ts +3 -3
- package/src/unstable/observability/OtlpLogger.ts +13 -9
- package/src/unstable/observability/OtlpMetrics.ts +4 -4
- package/src/unstable/observability/OtlpTracer.ts +4 -4
- package/src/unstable/persistence/KeyValueStore.ts +6 -6
- package/src/unstable/persistence/Persistable.ts +2 -2
- package/src/unstable/persistence/PersistedCache.ts +20 -9
- package/src/unstable/persistence/PersistedQueue.ts +25 -24
- package/src/unstable/persistence/Persistence.ts +3 -3
- package/src/unstable/persistence/RateLimiter.ts +4 -4
- package/src/unstable/process/ChildProcess.ts +6 -208
- package/src/unstable/process/ChildProcessSpawner.ts +75 -14
- package/src/unstable/reactivity/Atom.ts +27 -25
- package/src/unstable/reactivity/AtomHttpApi.ts +21 -20
- package/src/unstable/reactivity/AtomRegistry.ts +31 -7
- package/src/unstable/reactivity/AtomRpc.ts +3 -3
- package/src/unstable/reactivity/Hydration.ts +112 -0
- package/src/unstable/reactivity/index.ts +5 -0
- package/src/unstable/rpc/Rpc.ts +6 -6
- package/src/unstable/rpc/RpcClient.ts +12 -54
- package/src/unstable/rpc/RpcGroup.ts +4 -4
- package/src/unstable/rpc/RpcMiddleware.ts +3 -3
- package/src/unstable/rpc/RpcSchema.ts +17 -0
- package/src/unstable/rpc/RpcSerialization.ts +44 -9
- package/src/unstable/rpc/RpcServer.ts +21 -30
- package/src/unstable/rpc/Utils.ts +2 -1
- package/src/unstable/schema/VariantSchema.ts +6 -6
- package/src/unstable/socket/Socket.ts +16 -17
- package/src/unstable/sql/SqlClient.ts +1 -1
- package/src/unstable/sql/SqlError.ts +11 -9
- package/src/unstable/sql/SqlModel.ts +5 -5
- package/src/unstable/sql/SqlSchema.ts +41 -25
- package/src/unstable/sql/Statement.ts +0 -1
- package/src/unstable/workers/Worker.ts +2 -1
- package/src/unstable/workflow/DurableClock.ts +8 -8
- package/src/unstable/workflow/DurableDeferred.ts +2 -2
- package/src/unstable/workflow/Workflow.ts +6 -2
- package/src/unstable/workflow/WorkflowEngine.ts +185 -2
- package/dist/PartitionedSemaphore.d.ts +0 -52
- package/dist/PartitionedSemaphore.d.ts.map +0 -1
- package/dist/PartitionedSemaphore.js.map +0 -1
- package/dist/encoding/Base64.d.ts +0 -67
- package/dist/encoding/Base64.d.ts.map +0 -1
- package/dist/encoding/Base64.js +0 -146
- package/dist/encoding/Base64.js.map +0 -1
- package/dist/encoding/Base64Url.d.ts +0 -60
- package/dist/encoding/Base64Url.d.ts.map +0 -1
- package/dist/encoding/Base64Url.js +0 -89
- package/dist/encoding/Base64Url.js.map +0 -1
- package/dist/encoding/EncodingError.d.ts +0 -31
- package/dist/encoding/EncodingError.d.ts.map +0 -1
- package/dist/encoding/EncodingError.js +0 -22
- package/dist/encoding/EncodingError.js.map +0 -1
- package/dist/encoding/Hex.d.ts +0 -61
- package/dist/encoding/Hex.d.ts.map +0 -1
- package/dist/encoding/Hex.js +0 -115
- package/dist/encoding/Hex.js.map +0 -1
- package/dist/encoding/index.d.ts +0 -26
- package/dist/encoding/index.d.ts.map +0 -1
- package/dist/encoding/index.js +0 -27
- package/dist/encoding/index.js.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.d.ts +0 -7
- package/dist/unstable/cli/internal/builtInFlags.d.ts.map +0 -1
- package/dist/unstable/cli/internal/builtInFlags.js +0 -44
- package/dist/unstable/cli/internal/builtInFlags.js.map +0 -1
- package/src/PartitionedSemaphore.ts +0 -182
- package/src/encoding/Base64.ts +0 -366
- package/src/encoding/Base64Url.ts +0 -104
- package/src/encoding/EncodingError.ts +0 -35
- package/src/encoding/Hex.ts +0 -390
- package/src/encoding/index.ts +0 -31
- package/src/unstable/cli/internal/builtInFlags.ts +0 -78
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
import * as Arr from "../../Array.ts"
|
|
5
5
|
import type { Brand } from "../../Brand.ts"
|
|
6
6
|
import type { Effect } from "../../Effect.ts"
|
|
7
|
-
import { format } from "../../Formatter.ts"
|
|
8
7
|
import { type Pipeable, pipeArguments } from "../../Pipeable.ts"
|
|
9
8
|
import * as Predicate from "../../Predicate.ts"
|
|
10
9
|
import * as Schema from "../../Schema.ts"
|
|
@@ -71,14 +70,14 @@ export interface HttpApiEndpoint<
|
|
|
71
70
|
readonly name: Name
|
|
72
71
|
readonly path: Path
|
|
73
72
|
readonly method: Method
|
|
74
|
-
readonly params: Schema.
|
|
75
|
-
readonly query: Schema.
|
|
76
|
-
readonly headers: Schema.
|
|
73
|
+
readonly params: Schema.Top | undefined
|
|
74
|
+
readonly query: Schema.Top | undefined
|
|
75
|
+
readonly headers: Schema.Top | undefined
|
|
77
76
|
readonly payload: PayloadMap
|
|
78
77
|
readonly success: ReadonlySet<Schema.Top>
|
|
79
78
|
readonly error: ReadonlySet<Schema.Top>
|
|
80
79
|
readonly annotations: ServiceMap.ServiceMap<never>
|
|
81
|
-
readonly middlewares: ReadonlySet<ServiceMap.
|
|
80
|
+
readonly middlewares: ReadonlySet<ServiceMap.Key<Middleware, any>>
|
|
82
81
|
|
|
83
82
|
/**
|
|
84
83
|
* Add a prefix to the path of the endpoint.
|
|
@@ -102,7 +101,7 @@ export interface HttpApiEndpoint<
|
|
|
102
101
|
/**
|
|
103
102
|
* Add an `HttpApiMiddleware` to the endpoint.
|
|
104
103
|
*/
|
|
105
|
-
middleware<I extends HttpApiMiddleware.AnyId, S>(middleware: ServiceMap.
|
|
104
|
+
middleware<I extends HttpApiMiddleware.AnyId, S>(middleware: ServiceMap.Key<I, S>): HttpApiEndpoint<
|
|
106
105
|
Name,
|
|
107
106
|
Method,
|
|
108
107
|
Path,
|
|
@@ -120,7 +119,7 @@ export interface HttpApiEndpoint<
|
|
|
120
119
|
* Add an annotation on the endpoint.
|
|
121
120
|
*/
|
|
122
121
|
annotate<I, S>(
|
|
123
|
-
key: ServiceMap.
|
|
122
|
+
key: ServiceMap.Key<I, S>,
|
|
124
123
|
value: Types.NoInfer<S>
|
|
125
124
|
): HttpApiEndpoint<
|
|
126
125
|
Name,
|
|
@@ -156,21 +155,6 @@ export interface HttpApiEndpoint<
|
|
|
156
155
|
>
|
|
157
156
|
}
|
|
158
157
|
|
|
159
|
-
/** @internal */
|
|
160
|
-
export function getParamsSchema(endpoint: AnyWithProps): Schema.Top | undefined {
|
|
161
|
-
return endpoint.params ? Schema.Struct(endpoint.params) : undefined
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
/** @internal */
|
|
165
|
-
export function getQuerySchema(endpoint: AnyWithProps): Schema.Top | undefined {
|
|
166
|
-
return endpoint.query ? Schema.Struct(endpoint.query) : undefined
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
/** @internal */
|
|
170
|
-
export function getHeadersSchema(endpoint: AnyWithProps): Schema.Top | undefined {
|
|
171
|
-
return endpoint.headers ? Schema.Struct(endpoint.headers) : undefined
|
|
172
|
-
}
|
|
173
|
-
|
|
174
158
|
/** @internal */
|
|
175
159
|
export function getPayloadSchemas(endpoint: AnyWithProps): Array<Schema.Top> {
|
|
176
160
|
const result: Array<Schema.Top> = []
|
|
@@ -190,7 +174,7 @@ export function getSuccessSchemas(endpoint: AnyWithProps): [Schema.Top, ...Array
|
|
|
190
174
|
export function getErrorSchemas(endpoint: AnyWithProps): [Schema.Top, ...Array<Schema.Top>] {
|
|
191
175
|
const schemas = new Set<Schema.Top>(endpoint.error)
|
|
192
176
|
for (const middleware of endpoint.middlewares) {
|
|
193
|
-
const key = middleware as any as HttpApiMiddleware.
|
|
177
|
+
const key = middleware as any as HttpApiMiddleware.AnyService
|
|
194
178
|
if (key.error !== undefined) {
|
|
195
179
|
schemas.add(key.error)
|
|
196
180
|
}
|
|
@@ -529,8 +513,8 @@ export type ServerServices<Endpoint> = Endpoint extends HttpApiEndpoint<
|
|
|
529
513
|
| _Payload["DecodingServices"]
|
|
530
514
|
| _Headers["DecodingServices"]
|
|
531
515
|
| _Success["EncodingServices"]
|
|
532
|
-
|
|
533
|
-
|
|
516
|
+
| _Error["EncodingServices"]
|
|
517
|
+
| HttpApiMiddleware.ErrorServicesEncode<_M>
|
|
534
518
|
: never
|
|
535
519
|
|
|
536
520
|
/**
|
|
@@ -684,10 +668,19 @@ export type MiddlewareServicesWithName<Endpoints extends Any, Name extends strin
|
|
|
684
668
|
* @since 4.0.0
|
|
685
669
|
* @category models
|
|
686
670
|
*/
|
|
687
|
-
export type
|
|
671
|
+
export type ExcludeProvidedWithName<Endpoints extends Any, Name extends string, R> = ExcludeProvided<
|
|
672
|
+
WithName<Endpoints, Name>,
|
|
673
|
+
R
|
|
674
|
+
>
|
|
675
|
+
|
|
676
|
+
/**
|
|
677
|
+
* @since 4.0.0
|
|
678
|
+
* @category models
|
|
679
|
+
*/
|
|
680
|
+
export type ExcludeProvided<Endpoint extends Any, R> = Exclude<
|
|
688
681
|
R,
|
|
689
682
|
| HttpRouter.Provided
|
|
690
|
-
| HttpApiMiddleware.Provides<
|
|
683
|
+
| HttpApiMiddleware.Provides<Middleware<Endpoint>>
|
|
691
684
|
>
|
|
692
685
|
|
|
693
686
|
/**
|
|
@@ -794,13 +787,13 @@ const Proto = {
|
|
|
794
787
|
path: HttpRouter.prefixPath(this.path, prefix)
|
|
795
788
|
})
|
|
796
789
|
},
|
|
797
|
-
middleware(this: AnyWithProps, middleware: HttpApiMiddleware.
|
|
790
|
+
middleware(this: AnyWithProps, middleware: HttpApiMiddleware.AnyService) {
|
|
798
791
|
return makeProto({
|
|
799
792
|
...this,
|
|
800
793
|
middlewares: new Set([...this.middlewares, middleware as any])
|
|
801
794
|
})
|
|
802
795
|
},
|
|
803
|
-
annotate(this: AnyWithProps, key: ServiceMap.
|
|
796
|
+
annotate(this: AnyWithProps, key: ServiceMap.Key<any, any>, value: any) {
|
|
804
797
|
return makeProto({
|
|
805
798
|
...this,
|
|
806
799
|
annotations: ServiceMap.add(this.annotations, key, value)
|
|
@@ -830,14 +823,14 @@ function makeProto<
|
|
|
830
823
|
readonly name: Name
|
|
831
824
|
readonly path: Path
|
|
832
825
|
readonly method: Method
|
|
833
|
-
readonly params: Schema.
|
|
834
|
-
readonly query: Schema.
|
|
835
|
-
readonly headers: Schema.
|
|
826
|
+
readonly params: Schema.Top | undefined
|
|
827
|
+
readonly query: Schema.Top | undefined
|
|
828
|
+
readonly headers: Schema.Top | undefined
|
|
836
829
|
readonly payload: PayloadMap
|
|
837
830
|
readonly success: ReadonlySet<Schema.Top>
|
|
838
831
|
readonly error: ReadonlySet<Schema.Top>
|
|
839
832
|
readonly annotations: ServiceMap.ServiceMap<never>
|
|
840
|
-
readonly middlewares: ReadonlySet<ServiceMap.
|
|
833
|
+
readonly middlewares: ReadonlySet<ServiceMap.Key<Middleware, any>>
|
|
841
834
|
}): HttpApiEndpoint<
|
|
842
835
|
Name,
|
|
843
836
|
Method,
|
|
@@ -855,32 +848,28 @@ function makeProto<
|
|
|
855
848
|
}
|
|
856
849
|
|
|
857
850
|
/**
|
|
858
|
-
* Params come from the router as `string` (optional params as `undefined`) and
|
|
859
|
-
* must be encodable back into the URL path.
|
|
860
|
-
*
|
|
861
|
-
* We accept "struct fields" (`Record<string, Codec<...>>`) so we can both enforce
|
|
862
|
-
* `Encoded` = `string | undefined` per field and reliably generate OpenAPI
|
|
863
|
-
* `in: path` parameters by iterating object properties.
|
|
864
|
-
*
|
|
865
851
|
* @since 4.0.0
|
|
866
852
|
* @category constraints
|
|
867
853
|
*/
|
|
868
|
-
export type ParamsConstraint =
|
|
854
|
+
export type ParamsConstraint =
|
|
855
|
+
| Record<string, Schema.Encoder<string | undefined, unknown>>
|
|
856
|
+
| Schema.Encoder<Record<string, string | undefined>, unknown>
|
|
869
857
|
|
|
870
858
|
/**
|
|
871
|
-
* URL search params can be repeated, so fields may encode to `string` or
|
|
872
|
-
* `ReadonlyArray<string>` (or be missing).
|
|
873
|
-
*
|
|
874
|
-
* Kept as "struct fields" so OpenAPI can safely expand properties into
|
|
875
|
-
* `in: query` parameters.
|
|
876
|
-
*
|
|
877
859
|
* @since 4.0.0
|
|
878
860
|
* @category constraints
|
|
879
861
|
*/
|
|
880
|
-
export type
|
|
881
|
-
string,
|
|
882
|
-
Schema.Encoder<string
|
|
883
|
-
|
|
862
|
+
export type HeadersConstraint =
|
|
863
|
+
| Record<string, Schema.Encoder<string | undefined, unknown>>
|
|
864
|
+
| Schema.Encoder<Record<string, string | undefined>, unknown>
|
|
865
|
+
|
|
866
|
+
/**
|
|
867
|
+
* @since 4.0.0
|
|
868
|
+
* @category constraints
|
|
869
|
+
*/
|
|
870
|
+
export type QueryConstraint =
|
|
871
|
+
| Record<string, Schema.Encoder<string | ReadonlyArray<string> | undefined, unknown>>
|
|
872
|
+
| Schema.Encoder<Record<string, string | ReadonlyArray<string> | undefined>, unknown>
|
|
884
873
|
|
|
885
874
|
/**
|
|
886
875
|
* Payload schema depends on the HTTP method:
|
|
@@ -893,34 +882,23 @@ export type QuerySchemaConstraint = Record<
|
|
|
893
882
|
* @since 4.0.0
|
|
894
883
|
* @category constraints
|
|
895
884
|
*/
|
|
896
|
-
export type
|
|
885
|
+
export type PayloadConstraint<Method extends HttpMethod> = Method extends HttpMethod.NoBody ? Record<
|
|
897
886
|
string,
|
|
898
887
|
Schema.Encoder<string | ReadonlyArray<string> | undefined, unknown>
|
|
899
888
|
> :
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
/**
|
|
903
|
-
* HTTP headers are string-valued (or missing).
|
|
904
|
-
*
|
|
905
|
-
* Kept as "struct fields" so OpenAPI can safely expand properties into
|
|
906
|
-
* `in: header` parameters.
|
|
907
|
-
*
|
|
908
|
-
* @since 4.0.0
|
|
909
|
-
* @category constraints
|
|
910
|
-
*/
|
|
911
|
-
export type HeadersSchemaConstraint = Record<string, Schema.Encoder<string | undefined, unknown>>
|
|
889
|
+
SuccessConstraint
|
|
912
890
|
|
|
913
891
|
/**
|
|
914
892
|
* @since 4.0.0
|
|
915
893
|
* @category constraints
|
|
916
894
|
*/
|
|
917
|
-
export type
|
|
895
|
+
export type SuccessConstraint = Schema.Top | ReadonlyArray<Schema.Top>
|
|
918
896
|
|
|
919
897
|
/**
|
|
920
898
|
* @since 4.0.0
|
|
921
899
|
* @category constraints
|
|
922
900
|
*/
|
|
923
|
-
export type
|
|
901
|
+
export type ErrorConstraint = Schema.Top | ReadonlyArray<Schema.Top>
|
|
924
902
|
|
|
925
903
|
/**
|
|
926
904
|
* @since 4.0.0
|
|
@@ -931,11 +909,11 @@ export const make = <Method extends HttpMethod>(method: Method) =>
|
|
|
931
909
|
const Name extends string,
|
|
932
910
|
const Path extends HttpRouter.PathInput,
|
|
933
911
|
Params extends ParamsConstraint = never,
|
|
934
|
-
Query extends
|
|
935
|
-
Payload extends
|
|
936
|
-
Headers extends
|
|
937
|
-
const Success extends
|
|
938
|
-
const Error extends
|
|
912
|
+
Query extends QueryConstraint = never,
|
|
913
|
+
Payload extends PayloadConstraint<Method> = never,
|
|
914
|
+
Headers extends HeadersConstraint = never,
|
|
915
|
+
const Success extends SuccessConstraint = HttpApiSchema.NoContent,
|
|
916
|
+
const Error extends ErrorConstraint = never
|
|
939
917
|
>(
|
|
940
918
|
name: Name,
|
|
941
919
|
path: Path,
|
|
@@ -964,8 +942,8 @@ export const make = <Method extends HttpMethod>(method: Method) =>
|
|
|
964
942
|
name,
|
|
965
943
|
path,
|
|
966
944
|
method,
|
|
967
|
-
params: options?.params,
|
|
968
|
-
query: options?.query,
|
|
945
|
+
params: getParams(options?.params),
|
|
946
|
+
query: getQuery(options?.query),
|
|
969
947
|
headers: getHeaders(options?.headers),
|
|
970
948
|
payload: getPayload(options?.payload),
|
|
971
949
|
success: getSuccess(options?.success),
|
|
@@ -975,17 +953,23 @@ export const make = <Method extends HttpMethod>(method: Method) =>
|
|
|
975
953
|
})
|
|
976
954
|
}
|
|
977
955
|
|
|
956
|
+
function getParams(params: ParamsConstraint | undefined): Schema.Top | undefined {
|
|
957
|
+
if (params === undefined) return undefined
|
|
958
|
+
if (Schema.isSchema(params)) return params
|
|
959
|
+
return Schema.Struct(params)
|
|
960
|
+
}
|
|
961
|
+
|
|
962
|
+
function getQuery(query: QueryConstraint | undefined): Schema.Top | undefined {
|
|
963
|
+
if (query === undefined) return undefined
|
|
964
|
+
if (Schema.isSchema(query)) return query
|
|
965
|
+
return Schema.Struct(query)
|
|
966
|
+
}
|
|
967
|
+
|
|
978
968
|
// all keys should be lowercase
|
|
979
|
-
function getHeaders(headers:
|
|
980
|
-
if (headers
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
if (key !== lowerKey) {
|
|
984
|
-
throw new Error(`Header keys must be lowercase, got ${format(key)} (use ${format(lowerKey)})`)
|
|
985
|
-
}
|
|
986
|
-
}
|
|
987
|
-
return headers
|
|
988
|
-
}
|
|
969
|
+
function getHeaders(headers: HeadersConstraint | undefined): Schema.Top | undefined {
|
|
970
|
+
if (headers === undefined) return undefined
|
|
971
|
+
if (Schema.isSchema(headers)) return headers
|
|
972
|
+
return Schema.Struct(headers)
|
|
989
973
|
}
|
|
990
974
|
|
|
991
975
|
function getPayload(
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
|
+
import * as ErrorReporter from "../../ErrorReporter.ts"
|
|
4
5
|
import * as Schema from "../../Schema.ts"
|
|
5
6
|
import * as HttpApiSchema from "./HttpApiSchema.ts"
|
|
6
7
|
|
|
@@ -21,6 +22,8 @@ export class HttpApiSchemaError extends Schema.ErrorClass<HttpApiSchemaError>("e
|
|
|
21
22
|
static fromSchemaError(error: Schema.SchemaError): HttpApiSchemaError {
|
|
22
23
|
return new HttpApiSchemaError({ message: error.message })
|
|
23
24
|
}
|
|
25
|
+
|
|
26
|
+
override readonly [ErrorReporter.ignore] = true
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
/**
|
|
@@ -32,7 +35,9 @@ export class BadRequest extends Schema.ErrorClass<BadRequest>("effect/HttpApiErr
|
|
|
32
35
|
}, {
|
|
33
36
|
description: "BadRequest",
|
|
34
37
|
httpApiStatus: 400
|
|
35
|
-
}) {
|
|
38
|
+
}) {
|
|
39
|
+
override readonly [ErrorReporter.ignore] = true
|
|
40
|
+
}
|
|
36
41
|
|
|
37
42
|
/**
|
|
38
43
|
* @category NoContent errors
|
|
@@ -51,7 +56,9 @@ export class Unauthorized extends Schema.ErrorClass<Unauthorized>("effect/HttpAp
|
|
|
51
56
|
}, {
|
|
52
57
|
description: "Unauthorized",
|
|
53
58
|
httpApiStatus: 401
|
|
54
|
-
}) {
|
|
59
|
+
}) {
|
|
60
|
+
override readonly [ErrorReporter.ignore] = true
|
|
61
|
+
}
|
|
55
62
|
|
|
56
63
|
/**
|
|
57
64
|
* @category NoContent errors
|
|
@@ -70,7 +77,9 @@ export class Forbidden extends Schema.ErrorClass<Forbidden>("effect/HttpApiError
|
|
|
70
77
|
}, {
|
|
71
78
|
description: "Forbidden",
|
|
72
79
|
httpApiStatus: 403
|
|
73
|
-
}) {
|
|
80
|
+
}) {
|
|
81
|
+
override readonly [ErrorReporter.ignore] = true
|
|
82
|
+
}
|
|
74
83
|
|
|
75
84
|
/**
|
|
76
85
|
* @category NoContent errors
|
|
@@ -89,7 +98,9 @@ export class NotFound extends Schema.ErrorClass<NotFound>("effect/HttpApiError/N
|
|
|
89
98
|
}, {
|
|
90
99
|
description: "NotFound",
|
|
91
100
|
httpApiStatus: 404
|
|
92
|
-
}) {
|
|
101
|
+
}) {
|
|
102
|
+
override readonly [ErrorReporter.ignore] = true
|
|
103
|
+
}
|
|
93
104
|
|
|
94
105
|
/**
|
|
95
106
|
* @category NoContent errors
|
|
@@ -108,7 +119,9 @@ export class MethodNotAllowed extends Schema.ErrorClass<MethodNotAllowed>("effec
|
|
|
108
119
|
}, {
|
|
109
120
|
description: "MethodNotAllowed",
|
|
110
121
|
httpApiStatus: 405
|
|
111
|
-
}) {
|
|
122
|
+
}) {
|
|
123
|
+
override readonly [ErrorReporter.ignore] = true
|
|
124
|
+
}
|
|
112
125
|
|
|
113
126
|
/**
|
|
114
127
|
* @category NoContent errors
|
|
@@ -127,7 +140,9 @@ export class NotAcceptable extends Schema.ErrorClass<NotAcceptable>("effect/Http
|
|
|
127
140
|
}, {
|
|
128
141
|
description: "NotAcceptable",
|
|
129
142
|
httpApiStatus: 406
|
|
130
|
-
}) {
|
|
143
|
+
}) {
|
|
144
|
+
override readonly [ErrorReporter.ignore] = true
|
|
145
|
+
}
|
|
131
146
|
|
|
132
147
|
/**
|
|
133
148
|
* @category NoContent errors
|
|
@@ -146,7 +161,9 @@ export class RequestTimeout extends Schema.ErrorClass<RequestTimeout>("effect/Ht
|
|
|
146
161
|
}, {
|
|
147
162
|
description: "RequestTimeout",
|
|
148
163
|
httpApiStatus: 408
|
|
149
|
-
}) {
|
|
164
|
+
}) {
|
|
165
|
+
override readonly [ErrorReporter.ignore] = true
|
|
166
|
+
}
|
|
150
167
|
|
|
151
168
|
/**
|
|
152
169
|
* @category NoContent errors
|
|
@@ -165,7 +182,9 @@ export class Conflict extends Schema.ErrorClass<Conflict>("effect/HttpApiError/C
|
|
|
165
182
|
}, {
|
|
166
183
|
description: "Conflict",
|
|
167
184
|
httpApiStatus: 409
|
|
168
|
-
}) {
|
|
185
|
+
}) {
|
|
186
|
+
override readonly [ErrorReporter.ignore] = true
|
|
187
|
+
}
|
|
169
188
|
|
|
170
189
|
/**
|
|
171
190
|
* @since 4.0.0
|
|
@@ -184,7 +203,9 @@ export class Gone extends Schema.ErrorClass<Gone>("effect/HttpApiError/Gone")({
|
|
|
184
203
|
}, {
|
|
185
204
|
description: "Gone",
|
|
186
205
|
httpApiStatus: 410
|
|
187
|
-
}) {
|
|
206
|
+
}) {
|
|
207
|
+
override readonly [ErrorReporter.ignore] = true
|
|
208
|
+
}
|
|
188
209
|
|
|
189
210
|
/**
|
|
190
211
|
* @category NoContent errors
|
|
@@ -61,7 +61,7 @@ export interface HttpApiGroup<
|
|
|
61
61
|
* Endpoints added after this api is called **will not** have the middleware
|
|
62
62
|
* applied.
|
|
63
63
|
*/
|
|
64
|
-
middleware<I extends HttpApiMiddleware.AnyId, S>(middleware: ServiceMap.
|
|
64
|
+
middleware<I extends HttpApiMiddleware.AnyId, S>(middleware: ServiceMap.Key<I, S>): HttpApiGroup<
|
|
65
65
|
Id,
|
|
66
66
|
HttpApiEndpoint.AddMiddleware<Endpoints, I>,
|
|
67
67
|
TopLevel
|
|
@@ -75,7 +75,7 @@ export interface HttpApiGroup<
|
|
|
75
75
|
/**
|
|
76
76
|
* Add an annotation to an `HttpApiGroup`.
|
|
77
77
|
*/
|
|
78
|
-
annotate<I, S>(key: ServiceMap.
|
|
78
|
+
annotate<I, S>(key: ServiceMap.Key<I, S>, value: S): HttpApiGroup<Id, Endpoints, TopLevel>
|
|
79
79
|
|
|
80
80
|
/**
|
|
81
81
|
* For each endpoint in an `HttpApiGroup`, update the annotations with a new
|
|
@@ -91,7 +91,7 @@ export interface HttpApiGroup<
|
|
|
91
91
|
* Note that this will only add the annotation to the endpoints before this api
|
|
92
92
|
* is called.
|
|
93
93
|
*/
|
|
94
|
-
annotateEndpoints<I, S>(key: ServiceMap.
|
|
94
|
+
annotateEndpoints<I, S>(key: ServiceMap.Key<I, S>, value: S): HttpApiGroup<Id, Endpoints, TopLevel>
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
/**
|
|
@@ -238,7 +238,7 @@ const Proto = {
|
|
|
238
238
|
annotations: this.annotations
|
|
239
239
|
})
|
|
240
240
|
},
|
|
241
|
-
middleware(this: AnyWithProps, middleware: HttpApiMiddleware.
|
|
241
|
+
middleware(this: AnyWithProps, middleware: HttpApiMiddleware.AnyService) {
|
|
242
242
|
return makeProto({
|
|
243
243
|
identifier: this.identifier,
|
|
244
244
|
topLevel: this.topLevel,
|
|
@@ -254,7 +254,7 @@ const Proto = {
|
|
|
254
254
|
annotations: ServiceMap.merge(this.annotations, annotations)
|
|
255
255
|
})
|
|
256
256
|
},
|
|
257
|
-
annotate<I, S>(this: AnyWithProps, annotation: ServiceMap.
|
|
257
|
+
annotate<I, S>(this: AnyWithProps, annotation: ServiceMap.Key<I, S>, value: S) {
|
|
258
258
|
return makeProto({
|
|
259
259
|
identifier: this.identifier,
|
|
260
260
|
topLevel: this.topLevel,
|
|
@@ -270,7 +270,7 @@ const Proto = {
|
|
|
270
270
|
annotations: this.annotations
|
|
271
271
|
})
|
|
272
272
|
},
|
|
273
|
-
annotateEndpoints<I, S>(this: AnyWithProps, annotation: ServiceMap.
|
|
273
|
+
annotateEndpoints<I, S>(this: AnyWithProps, annotation: ServiceMap.Key<I, S>, value: S) {
|
|
274
274
|
return makeProto({
|
|
275
275
|
identifier: this.identifier,
|
|
276
276
|
topLevel: this.topLevel,
|
|
@@ -25,7 +25,7 @@ const SecurityTypeId = "~effect/httpapi/HttpApiMiddleware/Security"
|
|
|
25
25
|
* @since 4.0.0
|
|
26
26
|
* @category guards
|
|
27
27
|
*/
|
|
28
|
-
export const isSecurity = (u:
|
|
28
|
+
export const isSecurity = (u: AnyService): u is AnyServiceSecurity => hasProperty(u, SecurityTypeId)
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
31
|
* @since 4.0.0
|
|
@@ -87,7 +87,7 @@ export interface ForClient<Id> {
|
|
|
87
87
|
* @since 4.0.0
|
|
88
88
|
* @category models
|
|
89
89
|
*/
|
|
90
|
-
export interface
|
|
90
|
+
export interface AnyService extends ServiceMap.Key<any, any> {
|
|
91
91
|
readonly [TypeId]: typeof TypeId
|
|
92
92
|
readonly provides: any
|
|
93
93
|
readonly error: Schema.Top
|
|
@@ -99,7 +99,7 @@ export interface AnyKey extends ServiceMap.Service<any, any> {
|
|
|
99
99
|
* @since 4.0.0
|
|
100
100
|
* @category models
|
|
101
101
|
*/
|
|
102
|
-
export interface
|
|
102
|
+
export interface AnyServiceSecurity extends AnyService {
|
|
103
103
|
readonly [SecurityTypeId]: typeof SecurityTypeId
|
|
104
104
|
readonly security: Record<string, HttpApiSecurity.HttpApiSecurity>
|
|
105
105
|
}
|
|
@@ -297,7 +297,7 @@ export const Service = <
|
|
|
297
297
|
* @category client
|
|
298
298
|
*/
|
|
299
299
|
export const layerClient = <Id extends AnyId, S, R, EX = never, RX = never>(
|
|
300
|
-
tag: ServiceMap.
|
|
300
|
+
tag: ServiceMap.Key<Id, S>,
|
|
301
301
|
service:
|
|
302
302
|
| HttpApiMiddlewareClient<Id[typeof TypeId]["error"]["Type"], Id[typeof TypeId]["clientError"], R>
|
|
303
303
|
| Effect.Effect<
|
|
@@ -98,6 +98,12 @@ export type ScalarConfig = {
|
|
|
98
98
|
* Default: `false`
|
|
99
99
|
*/
|
|
100
100
|
defaultOpenAllTags?: boolean
|
|
101
|
+
/**
|
|
102
|
+
* Whether to display the operation ID in the operation reference.
|
|
103
|
+
*
|
|
104
|
+
* Default: `false`
|
|
105
|
+
*/
|
|
106
|
+
showOperationId?: boolean
|
|
101
107
|
}
|
|
102
108
|
|
|
103
109
|
type ScalarSource =
|
|
@@ -161,15 +161,15 @@ export const annotate: {
|
|
|
161
161
|
* @since 4.0.0
|
|
162
162
|
* @category annotations
|
|
163
163
|
*/
|
|
164
|
-
<I, S>(service: ServiceMap.
|
|
164
|
+
<I, S>(service: ServiceMap.Key<I, S>, value: S): <A extends HttpApiSecurity>(self: A) => A
|
|
165
165
|
/**
|
|
166
166
|
* @since 4.0.0
|
|
167
167
|
* @category annotations
|
|
168
168
|
*/
|
|
169
|
-
<A extends HttpApiSecurity, I, S>(self: A, service: ServiceMap.
|
|
169
|
+
<A extends HttpApiSecurity, I, S>(self: A, service: ServiceMap.Key<I, S>, value: S): A
|
|
170
170
|
} = dual(
|
|
171
171
|
3,
|
|
172
|
-
<A extends HttpApiSecurity, I, S>(self: A, service: ServiceMap.
|
|
172
|
+
<A extends HttpApiSecurity, I, S>(self: A, service: ServiceMap.Key<I, S>, value: S): A =>
|
|
173
173
|
Object.assign(Object.create(Proto), {
|
|
174
174
|
...self,
|
|
175
175
|
annotations: ServiceMap.add(self.annotations, service, value)
|
|
@@ -111,7 +111,7 @@ export class Transform extends ServiceMap.Service<
|
|
|
111
111
|
(openApiSpec: Record<string, any>) => Record<string, any>
|
|
112
112
|
>()("effect/httpapi/OpenApi/Transform") {}
|
|
113
113
|
|
|
114
|
-
const servicesPartial = <Tags extends Record<string, ServiceMap.
|
|
114
|
+
const servicesPartial = <Tags extends Record<string, ServiceMap.Key<any, any> | ServiceMap.Key<never, any>>>(
|
|
115
115
|
tags: Tags
|
|
116
116
|
): (
|
|
117
117
|
options: {
|
|
@@ -175,7 +175,7 @@ const apiCache = new WeakMap<HttpApi.Any, OpenAPISpec>()
|
|
|
175
175
|
*/
|
|
176
176
|
function processAnnotation<Services, S, I>(
|
|
177
177
|
ctx: ServiceMap.ServiceMap<Services>,
|
|
178
|
-
annotation: ServiceMap.
|
|
178
|
+
annotation: ServiceMap.Key<I, S>,
|
|
179
179
|
f: (s: S) => void
|
|
180
180
|
) {
|
|
181
181
|
const o = ServiceMap.getOption(ctx, annotation)
|
|
@@ -351,10 +351,9 @@ export function fromApi<Id extends string, Groups extends HttpApiGroup.Any>(
|
|
|
351
351
|
ast: toEncodingAST(ast, encoding),
|
|
352
352
|
path: ["paths", path, method, "responses", String(status), "content", contentType, "schema"]
|
|
353
353
|
})
|
|
354
|
-
op.responses[status].content
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
}
|
|
354
|
+
op.responses[status].content ??= {}
|
|
355
|
+
op.responses[status].content[contentType] = {
|
|
356
|
+
schema: {}
|
|
358
357
|
}
|
|
359
358
|
})
|
|
360
359
|
})
|
|
@@ -362,20 +361,23 @@ export function fromApi<Id extends string, Groups extends HttpApiGroup.Any>(
|
|
|
362
361
|
}
|
|
363
362
|
}
|
|
364
363
|
|
|
365
|
-
function processParameters(
|
|
366
|
-
if (
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
364
|
+
function processParameters(schema: Schema.Top | undefined, i: OpenAPISpecParameter["in"]) {
|
|
365
|
+
if (schema) {
|
|
366
|
+
const ast = AST.toEncoded(schema.ast)
|
|
367
|
+
if (AST.isObjects(ast)) {
|
|
368
|
+
for (const ps of ast.propertySignatures) {
|
|
369
|
+
op.parameters.push({
|
|
370
|
+
name: String(ps.name),
|
|
371
|
+
in: i,
|
|
372
|
+
schema: {},
|
|
373
|
+
required: i === "path" || !AST.isOptional(ps.type)
|
|
374
|
+
})
|
|
375
|
+
pathOps.push({
|
|
376
|
+
_tag: "parameter",
|
|
377
|
+
ast: ps.type,
|
|
378
|
+
path: ["paths", path, method, "parameters", String(op.parameters.length - 1), "schema"]
|
|
379
|
+
})
|
|
380
|
+
}
|
|
379
381
|
}
|
|
380
382
|
}
|
|
381
383
|
}
|
|
@@ -421,8 +423,7 @@ export function fromApi<Id extends string, Groups extends HttpApiGroup.Any>(
|
|
|
421
423
|
processParameters(endpoint.params, "path")
|
|
422
424
|
if (!hasBody && endpoint.payload.size === 1) {
|
|
423
425
|
const entry = endpoint.payload.values().next().value!
|
|
424
|
-
|
|
425
|
-
processParameters(schema.fields, "query")
|
|
426
|
+
processParameters(entry.schemas[0], "query")
|
|
426
427
|
}
|
|
427
428
|
processParameters(endpoint.headers, "header")
|
|
428
429
|
processParameters(endpoint.query, "query")
|
|
@@ -634,9 +635,26 @@ function toEncodingAST(ast: AST.AST, _tag: HttpApiSchema.Encoding["_tag"]): AST.
|
|
|
634
635
|
return Schema.String.ast
|
|
635
636
|
case "FormUrlEncoded":
|
|
636
637
|
case "Json":
|
|
637
|
-
case "Multipart":
|
|
638
638
|
return ast
|
|
639
|
+
case "Multipart":
|
|
640
|
+
return persistedFileToBinaryEncoding(ast)
|
|
641
|
+
}
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
function persistedFileToBinaryEncoding(ast: AST.AST): AST.AST {
|
|
645
|
+
if (
|
|
646
|
+
AST.isDeclaration(ast) &&
|
|
647
|
+
((ast.annotations as (Schema.Annotations.Declaration<unknown, readonly []> | undefined))?.typeConstructor?._tag ===
|
|
648
|
+
"effect/http/PersistedFile")
|
|
649
|
+
) {
|
|
650
|
+
return Uint8ArrayEncoding.ast
|
|
639
651
|
}
|
|
652
|
+
|
|
653
|
+
if (typeof (ast as any)?.recur === "function") {
|
|
654
|
+
return (ast as any).recur(persistedFileToBinaryEncoding)
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
return ast
|
|
640
658
|
}
|
|
641
659
|
|
|
642
660
|
const makeSecurityScheme = (security: HttpApiSecurity): OpenAPISecurityScheme => {
|