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
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
|
+
import type { NonEmptyArray, NonEmptyReadonlyArray } from "../../Array.ts"
|
|
4
5
|
import * as Console from "../../Console.ts"
|
|
5
6
|
import * as Effect from "../../Effect.ts"
|
|
6
7
|
import type * as FileSystem from "../../FileSystem.ts"
|
|
7
8
|
import { dual } from "../../Function.ts"
|
|
8
9
|
import type * as Layer from "../../Layer.ts"
|
|
10
|
+
import * as Option from "../../Option.ts"
|
|
9
11
|
import type * as Path from "../../Path.ts"
|
|
10
12
|
import type { Pipeable } from "../../Pipeable.ts"
|
|
11
13
|
import * as Predicate from "../../Predicate.ts"
|
|
12
14
|
import * as References from "../../References.ts"
|
|
13
15
|
import * as Result from "../../Result.ts"
|
|
14
|
-
import
|
|
16
|
+
import * as ServiceMap from "../../ServiceMap.ts"
|
|
15
17
|
import * as Terminal from "../../Terminal.ts"
|
|
16
|
-
import type { Simplify } from "../../Types.ts"
|
|
18
|
+
import type { NoInfer, Simplify } from "../../Types.ts"
|
|
17
19
|
import type { ChildProcessSpawner } from "../process/ChildProcessSpawner.ts"
|
|
18
20
|
import * as CliError from "./CliError.ts"
|
|
19
21
|
import * as CliOutput from "./CliOutput.ts"
|
|
20
|
-
import
|
|
21
|
-
import
|
|
22
|
-
import * as Completions from "./internal/completions/Completions.ts"
|
|
22
|
+
import * as GlobalFlag from "./GlobalFlag.ts"
|
|
23
|
+
import { checkForDuplicateFlags, makeCommand, toImpl, TypeId } from "./internal/command.ts"
|
|
23
24
|
import { parseConfig } from "./internal/config.ts"
|
|
25
|
+
import { getGlobalFlagsForCommandPath, getGlobalFlagsForCommandTree, getHelpForCommandPath } from "./internal/help.ts"
|
|
24
26
|
import * as Lexer from "./internal/lexer.ts"
|
|
25
27
|
import * as Parser from "./internal/parser.ts"
|
|
26
|
-
import
|
|
28
|
+
import * as Param from "./Param.ts"
|
|
27
29
|
|
|
28
30
|
/* ========================================================================== */
|
|
29
31
|
/* Public Types */
|
|
@@ -94,16 +96,50 @@ export interface Command<Name extends string, Input, E = never, R = never> exten
|
|
|
94
96
|
*/
|
|
95
97
|
readonly description: string | undefined
|
|
96
98
|
|
|
99
|
+
/**
|
|
100
|
+
* An optional short description used when listing subcommands.
|
|
101
|
+
*/
|
|
102
|
+
readonly shortDescription: string | undefined
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* An optional alias that can be used as a shorter command name.
|
|
106
|
+
*/
|
|
107
|
+
readonly alias: string | undefined
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Optional usage examples for the command.
|
|
111
|
+
*/
|
|
112
|
+
readonly examples: ReadonlyArray<Command.Example>
|
|
113
|
+
|
|
97
114
|
/**
|
|
98
115
|
* The subcommands available under this command.
|
|
99
116
|
*/
|
|
100
|
-
readonly subcommands: ReadonlyArray<
|
|
117
|
+
readonly subcommands: ReadonlyArray<{
|
|
118
|
+
readonly group: string | undefined
|
|
119
|
+
readonly commands: NonEmptyReadonlyArray<Command.Any>
|
|
120
|
+
}>
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Custom annotations associated with this command.
|
|
124
|
+
*/
|
|
125
|
+
readonly annotations: ServiceMap.ServiceMap<never>
|
|
101
126
|
}
|
|
102
127
|
|
|
103
128
|
/**
|
|
104
129
|
* @since 4.0.0
|
|
105
130
|
*/
|
|
106
131
|
export declare namespace Command {
|
|
132
|
+
/**
|
|
133
|
+
* Represents a concrete usage example for a command.
|
|
134
|
+
*
|
|
135
|
+
* @since 4.0.0
|
|
136
|
+
* @category models
|
|
137
|
+
*/
|
|
138
|
+
export interface Example {
|
|
139
|
+
readonly command: string
|
|
140
|
+
readonly description?: string | undefined
|
|
141
|
+
}
|
|
142
|
+
|
|
107
143
|
/**
|
|
108
144
|
* Configuration object for defining command flags, arguments, and nested structures.
|
|
109
145
|
*
|
|
@@ -209,6 +245,25 @@ export declare namespace Command {
|
|
|
209
245
|
* @category models
|
|
210
246
|
*/
|
|
211
247
|
export type Any = Command<string, unknown, unknown, unknown>
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* A grouped set of subcommands used by `Command.withSubcommands`.
|
|
251
|
+
*
|
|
252
|
+
* @since 4.0.0
|
|
253
|
+
* @category models
|
|
254
|
+
*/
|
|
255
|
+
export interface SubcommandGroup<Commands extends ReadonlyArray<Any> = ReadonlyArray<Any>> {
|
|
256
|
+
readonly group: string
|
|
257
|
+
readonly commands: Commands
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* Entry type accepted by `Command.withSubcommands`.
|
|
262
|
+
*
|
|
263
|
+
* @since 4.0.0
|
|
264
|
+
* @category models
|
|
265
|
+
*/
|
|
266
|
+
export type SubcommandEntry = Any | SubcommandGroup<ReadonlyArray<Any>>
|
|
212
267
|
}
|
|
213
268
|
|
|
214
269
|
/**
|
|
@@ -533,7 +588,7 @@ export const make: {
|
|
|
533
588
|
name: Name,
|
|
534
589
|
config: Config,
|
|
535
590
|
handler: (config: Command.Config.Infer<Config>) => Effect.Effect<void, E, R>
|
|
536
|
-
): Command<Name, Command.Config.Infer<Config>, E, R
|
|
591
|
+
): Command<Name, Command.Config.Infer<Config>, E, Exclude<R, GlobalFlag.BuiltInSettingContext>>
|
|
537
592
|
} = ((
|
|
538
593
|
name: string,
|
|
539
594
|
config?: Command.Config,
|
|
@@ -606,7 +661,7 @@ export const withHandler: {
|
|
|
606
661
|
*/
|
|
607
662
|
<A, R, E>(handler: (value: A) => Effect.Effect<void, E, R>): <Name extends string, XR, XE>(
|
|
608
663
|
self: Command<Name, A, XE, XR>
|
|
609
|
-
) => Command<Name, A, E, R
|
|
664
|
+
) => Command<Name, A, E, Exclude<R, GlobalFlag.BuiltInSettingContext>>
|
|
610
665
|
/* ========================================================================== */
|
|
611
666
|
/* Combinators */
|
|
612
667
|
/* ========================================================================== */
|
|
@@ -638,11 +693,63 @@ export const withHandler: {
|
|
|
638
693
|
<Name extends string, A, XR, XE, R, E>(
|
|
639
694
|
self: Command<Name, A, XE, XR>,
|
|
640
695
|
handler: (value: A) => Effect.Effect<void, E, R>
|
|
641
|
-
): Command<Name, A, E, R
|
|
696
|
+
): Command<Name, A, E, Exclude<R, GlobalFlag.BuiltInSettingContext>>
|
|
642
697
|
} = dual(2, <Name extends string, A, XR, XE, R, E>(
|
|
643
698
|
self: Command<Name, A, XE, XR>,
|
|
644
699
|
handler: (value: A) => Effect.Effect<void, E, R>
|
|
645
|
-
): Command<Name, A, E, R
|
|
700
|
+
): Command<Name, A, E, Exclude<R, GlobalFlag.BuiltInSettingContext>> =>
|
|
701
|
+
makeCommand({ ...toImpl(self), handle: handler }))
|
|
702
|
+
|
|
703
|
+
interface SubcommandGroupInternal {
|
|
704
|
+
readonly group: string | undefined
|
|
705
|
+
readonly commands: NonEmptyReadonlyArray<Command.Any>
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
const normalizeSubcommandEntries = (
|
|
709
|
+
entries: ReadonlyArray<Command.SubcommandEntry>
|
|
710
|
+
): {
|
|
711
|
+
readonly flat: ReadonlyArray<Command.Any>
|
|
712
|
+
readonly groups: ReadonlyArray<SubcommandGroupInternal>
|
|
713
|
+
} => {
|
|
714
|
+
const flat: Array<Command.Any> = []
|
|
715
|
+
const grouped = new Map<string | undefined, NonEmptyArray<Command.Any>>()
|
|
716
|
+
|
|
717
|
+
const addToGroup = (group: string | undefined, command: Command.Any): void => {
|
|
718
|
+
flat.push(command)
|
|
719
|
+
const existing = grouped.get(group)
|
|
720
|
+
if (existing) {
|
|
721
|
+
existing.push(command)
|
|
722
|
+
} else {
|
|
723
|
+
grouped.set(group, [command])
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
for (const entry of entries) {
|
|
728
|
+
if (isCommand(entry)) {
|
|
729
|
+
addToGroup(undefined, entry)
|
|
730
|
+
continue
|
|
731
|
+
}
|
|
732
|
+
for (const command of entry.commands) {
|
|
733
|
+
addToGroup(entry.group, command)
|
|
734
|
+
}
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
const groups: Array<SubcommandGroupInternal> = []
|
|
738
|
+
const ungroupedCommands = grouped.get(undefined)
|
|
739
|
+
|
|
740
|
+
if (ungroupedCommands && ungroupedCommands.length > 0) {
|
|
741
|
+
groups.push({ group: undefined, commands: ungroupedCommands })
|
|
742
|
+
}
|
|
743
|
+
|
|
744
|
+
for (const [group, commands] of grouped) {
|
|
745
|
+
if (group === undefined) {
|
|
746
|
+
continue
|
|
747
|
+
}
|
|
748
|
+
groups.push({ group, commands })
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
return { flat, groups }
|
|
752
|
+
}
|
|
646
753
|
|
|
647
754
|
/**
|
|
648
755
|
* Adds subcommands to a command, creating a hierarchical command structure.
|
|
@@ -717,7 +824,7 @@ export const withSubcommands: {
|
|
|
717
824
|
* @since 4.0.0
|
|
718
825
|
* @category combinators
|
|
719
826
|
*/
|
|
720
|
-
<const Subcommands extends ReadonlyArray<Command
|
|
827
|
+
<const Subcommands extends ReadonlyArray<Command.SubcommandEntry>>(subcommands: Subcommands): <Name extends string, Input, E, R>(
|
|
721
828
|
self: Command<Name, Input, E, R>
|
|
722
829
|
) => Command<
|
|
723
830
|
Name,
|
|
@@ -766,7 +873,7 @@ export const withSubcommands: {
|
|
|
766
873
|
Input,
|
|
767
874
|
E,
|
|
768
875
|
R,
|
|
769
|
-
const Subcommands extends ReadonlyArray<Command
|
|
876
|
+
const Subcommands extends ReadonlyArray<Command.SubcommandEntry>
|
|
770
877
|
>(self: Command<Name, Input, E, R>, subcommands: Subcommands): Command<
|
|
771
878
|
Name,
|
|
772
879
|
Input,
|
|
@@ -778,7 +885,7 @@ export const withSubcommands: {
|
|
|
778
885
|
Input,
|
|
779
886
|
E,
|
|
780
887
|
R,
|
|
781
|
-
const Subcommands extends ReadonlyArray<Command
|
|
888
|
+
const Subcommands extends ReadonlyArray<Command.SubcommandEntry>
|
|
782
889
|
>(
|
|
783
890
|
self: Command<Name, Input, E, R>,
|
|
784
891
|
subcommands: Subcommands
|
|
@@ -788,10 +895,11 @@ export const withSubcommands: {
|
|
|
788
895
|
E | ExtractSubcommandErrors<Subcommands>,
|
|
789
896
|
R | Exclude<ExtractSubcommandContext<Subcommands>, CommandContext<Name>>
|
|
790
897
|
> => {
|
|
791
|
-
|
|
898
|
+
const normalized = normalizeSubcommandEntries(subcommands)
|
|
899
|
+
checkForDuplicateFlags(self, normalized.flat)
|
|
792
900
|
|
|
793
901
|
const impl = toImpl(self)
|
|
794
|
-
const byName = new Map(
|
|
902
|
+
const byName = new Map(normalized.flat.map((s) => [s.name, toImpl(s)] as const))
|
|
795
903
|
|
|
796
904
|
// Internal type for routing - not exposed in public type
|
|
797
905
|
type SubcommandInfo = { readonly name: string; readonly result: unknown }
|
|
@@ -832,16 +940,69 @@ export const withSubcommands: {
|
|
|
832
940
|
name: impl.name,
|
|
833
941
|
config: impl.config,
|
|
834
942
|
description: impl.description,
|
|
943
|
+
shortDescription: impl.shortDescription,
|
|
944
|
+
alias: impl.alias,
|
|
945
|
+
annotations: impl.annotations,
|
|
946
|
+
globalFlags: impl.globalFlags,
|
|
947
|
+
examples: impl.examples,
|
|
835
948
|
service: impl.service,
|
|
836
|
-
subcommands,
|
|
949
|
+
subcommands: normalized.groups,
|
|
837
950
|
parse,
|
|
838
951
|
handle
|
|
839
952
|
})
|
|
840
953
|
})
|
|
841
954
|
|
|
955
|
+
/**
|
|
956
|
+
* Declares global flags for a command scope.
|
|
957
|
+
*
|
|
958
|
+
* Declared global flags apply to the command and all of its descendants.
|
|
959
|
+
*
|
|
960
|
+
* @since 4.0.0
|
|
961
|
+
* @category combinators
|
|
962
|
+
*/
|
|
963
|
+
export const withGlobalFlags: {
|
|
964
|
+
/**
|
|
965
|
+
* Declares global flags for a command scope.
|
|
966
|
+
*
|
|
967
|
+
* Declared global flags apply to the command and all of its descendants.
|
|
968
|
+
*
|
|
969
|
+
* @since 4.0.0
|
|
970
|
+
* @category combinators
|
|
971
|
+
*/
|
|
972
|
+
<const GlobalFlags extends ReadonlyArray<GlobalFlag.GlobalFlag<any>>>(globalFlags: GlobalFlags): <Name extends string, Input, E, R>(
|
|
973
|
+
self: Command<Name, Input, E, R>
|
|
974
|
+
) => Command<Name, Input, E, Exclude<R, ExtractGlobalFlagContext<GlobalFlags>>>
|
|
975
|
+
/**
|
|
976
|
+
* Declares global flags for a command scope.
|
|
977
|
+
*
|
|
978
|
+
* Declared global flags apply to the command and all of its descendants.
|
|
979
|
+
*
|
|
980
|
+
* @since 4.0.0
|
|
981
|
+
* @category combinators
|
|
982
|
+
*/
|
|
983
|
+
<Name extends string, Input, E, R, const GlobalFlags extends ReadonlyArray<GlobalFlag.GlobalFlag<any>>>(self: Command<Name, Input, E, R>, globalFlags: GlobalFlags): Command<Name, Input, E, Exclude<R, ExtractGlobalFlagContext<GlobalFlags>>>
|
|
984
|
+
} = dual(
|
|
985
|
+
2,
|
|
986
|
+
<Name extends string, Input, E, R, const GlobalFlags extends ReadonlyArray<GlobalFlag.GlobalFlag<any>>>(
|
|
987
|
+
self: Command<Name, Input, E, R>,
|
|
988
|
+
globalFlags: GlobalFlags
|
|
989
|
+
): Command<Name, Input, E, Exclude<R, ExtractGlobalFlagContext<GlobalFlags>>> => {
|
|
990
|
+
const impl = toImpl(self)
|
|
991
|
+
const next = Array.from(new Set([...impl.globalFlags, ...globalFlags]))
|
|
992
|
+
return makeCommand({ ...impl, globalFlags: next })
|
|
993
|
+
}
|
|
994
|
+
)
|
|
995
|
+
|
|
842
996
|
// Type extractors for subcommand arrays - T[number] gives union of all elements
|
|
843
|
-
type
|
|
844
|
-
|
|
997
|
+
type ExtractGlobalFlagContext<T extends ReadonlyArray<GlobalFlag.GlobalFlag<any>>> = T[number] extends infer F
|
|
998
|
+
? F extends GlobalFlag.Setting<infer Id, any> ? GlobalFlag.Setting.Identifier<Id>
|
|
999
|
+
: never
|
|
1000
|
+
: never
|
|
1001
|
+
type ExtractSubcommand<T> = T extends Command<any, any, any, any> ? T
|
|
1002
|
+
: T extends Command.SubcommandGroup<infer Commands> ? Commands[number]
|
|
1003
|
+
: never
|
|
1004
|
+
type ExtractSubcommandErrors<T extends ReadonlyArray<Command.SubcommandEntry>> = Error<ExtractSubcommand<T[number]>>
|
|
1005
|
+
type ExtractSubcommandContext<T extends ReadonlyArray<Command.SubcommandEntry>> = ExtractSubcommand<T[number]> extends
|
|
845
1006
|
Command<any, any, any, infer R> ? R : never
|
|
846
1007
|
|
|
847
1008
|
/**
|
|
@@ -926,6 +1087,223 @@ export const withDescription: {
|
|
|
926
1087
|
description: string
|
|
927
1088
|
) => makeCommand({ ...toImpl(self), description }))
|
|
928
1089
|
|
|
1090
|
+
/**
|
|
1091
|
+
* Sets a short description for a command.
|
|
1092
|
+
*
|
|
1093
|
+
* Short descriptions are used when listing subcommands in help output and
|
|
1094
|
+
* shell completions. If no short description is provided, the full
|
|
1095
|
+
* `description` is used as a fallback.
|
|
1096
|
+
*
|
|
1097
|
+
* @since 4.0.0
|
|
1098
|
+
* @category combinators
|
|
1099
|
+
*/
|
|
1100
|
+
export const withShortDescription: {
|
|
1101
|
+
/**
|
|
1102
|
+
* Sets a short description for a command.
|
|
1103
|
+
*
|
|
1104
|
+
* Short descriptions are used when listing subcommands in help output and
|
|
1105
|
+
* shell completions. If no short description is provided, the full
|
|
1106
|
+
* `description` is used as a fallback.
|
|
1107
|
+
*
|
|
1108
|
+
* @since 4.0.0
|
|
1109
|
+
* @category combinators
|
|
1110
|
+
*/
|
|
1111
|
+
(shortDescription: string): <const Name extends string, Input, E, R>(
|
|
1112
|
+
self: Command<Name, Input, E, R>
|
|
1113
|
+
) => Command<Name, Input, E, R>
|
|
1114
|
+
/**
|
|
1115
|
+
* Sets a short description for a command.
|
|
1116
|
+
*
|
|
1117
|
+
* Short descriptions are used when listing subcommands in help output and
|
|
1118
|
+
* shell completions. If no short description is provided, the full
|
|
1119
|
+
* `description` is used as a fallback.
|
|
1120
|
+
*
|
|
1121
|
+
* @since 4.0.0
|
|
1122
|
+
* @category combinators
|
|
1123
|
+
*/
|
|
1124
|
+
<const Name extends string, Input, E, R>(self: Command<Name, Input, E, R>, shortDescription: string): Command<Name, Input, E, R>
|
|
1125
|
+
} = dual(2, <const Name extends string, Input, E, R>(
|
|
1126
|
+
self: Command<Name, Input, E, R>,
|
|
1127
|
+
shortDescription: string
|
|
1128
|
+
) => makeCommand({ ...toImpl(self), shortDescription }))
|
|
1129
|
+
|
|
1130
|
+
/**
|
|
1131
|
+
* Sets an alias for a command.
|
|
1132
|
+
*
|
|
1133
|
+
* Aliases are accepted as alternate subcommand names during parsing and are
|
|
1134
|
+
* shown in help output as `name, alias`.
|
|
1135
|
+
*
|
|
1136
|
+
* @since 4.0.0
|
|
1137
|
+
* @category combinators
|
|
1138
|
+
*/
|
|
1139
|
+
export const withAlias: {
|
|
1140
|
+
/**
|
|
1141
|
+
* Sets an alias for a command.
|
|
1142
|
+
*
|
|
1143
|
+
* Aliases are accepted as alternate subcommand names during parsing and are
|
|
1144
|
+
* shown in help output as `name, alias`.
|
|
1145
|
+
*
|
|
1146
|
+
* @since 4.0.0
|
|
1147
|
+
* @category combinators
|
|
1148
|
+
*/
|
|
1149
|
+
(alias: string): <const Name extends string, Input, E, R>(
|
|
1150
|
+
self: Command<Name, Input, E, R>
|
|
1151
|
+
) => Command<Name, Input, E, R>
|
|
1152
|
+
/**
|
|
1153
|
+
* Sets an alias for a command.
|
|
1154
|
+
*
|
|
1155
|
+
* Aliases are accepted as alternate subcommand names during parsing and are
|
|
1156
|
+
* shown in help output as `name, alias`.
|
|
1157
|
+
*
|
|
1158
|
+
* @since 4.0.0
|
|
1159
|
+
* @category combinators
|
|
1160
|
+
*/
|
|
1161
|
+
<const Name extends string, Input, E, R>(self: Command<Name, Input, E, R>, alias: string): Command<Name, Input, E, R>
|
|
1162
|
+
} = dual(2, <const Name extends string, Input, E, R>(
|
|
1163
|
+
self: Command<Name, Input, E, R>,
|
|
1164
|
+
alias: string
|
|
1165
|
+
) => makeCommand({ ...toImpl(self), alias }))
|
|
1166
|
+
|
|
1167
|
+
/**
|
|
1168
|
+
* Adds a custom annotation to a command.
|
|
1169
|
+
*
|
|
1170
|
+
* @since 4.0.0
|
|
1171
|
+
* @category combinators
|
|
1172
|
+
*/
|
|
1173
|
+
export const annotate: {
|
|
1174
|
+
/**
|
|
1175
|
+
* Adds a custom annotation to a command.
|
|
1176
|
+
*
|
|
1177
|
+
* @since 4.0.0
|
|
1178
|
+
* @category combinators
|
|
1179
|
+
*/
|
|
1180
|
+
<I, S>(service: ServiceMap.Key<I, S>, value: NoInfer<S>): <Name extends string, Input, E, R>(
|
|
1181
|
+
self: Command<Name, Input, E, R>
|
|
1182
|
+
) => Command<Name, Input, E, R>
|
|
1183
|
+
/**
|
|
1184
|
+
* Adds a custom annotation to a command.
|
|
1185
|
+
*
|
|
1186
|
+
* @since 4.0.0
|
|
1187
|
+
* @category combinators
|
|
1188
|
+
*/
|
|
1189
|
+
<Name extends string, Input, E, R, I, S>(
|
|
1190
|
+
self: Command<Name, Input, E, R>,
|
|
1191
|
+
service: ServiceMap.Key<I, S>,
|
|
1192
|
+
value: NoInfer<S>
|
|
1193
|
+
): Command<Name, Input, E, R>
|
|
1194
|
+
} = dual(3, <Name extends string, Input, E, R, I, S>(
|
|
1195
|
+
self: Command<Name, Input, E, R>,
|
|
1196
|
+
service: ServiceMap.Key<I, S>,
|
|
1197
|
+
value: NoInfer<S>
|
|
1198
|
+
) => {
|
|
1199
|
+
const impl = toImpl(self)
|
|
1200
|
+
return makeCommand({ ...impl, annotations: ServiceMap.add(impl.annotations, service, value) })
|
|
1201
|
+
})
|
|
1202
|
+
|
|
1203
|
+
/**
|
|
1204
|
+
* Merges a ServiceMap of annotations into a command.
|
|
1205
|
+
*
|
|
1206
|
+
* @since 4.0.0
|
|
1207
|
+
* @category combinators
|
|
1208
|
+
*/
|
|
1209
|
+
export const annotateMerge: {
|
|
1210
|
+
/**
|
|
1211
|
+
* Merges a ServiceMap of annotations into a command.
|
|
1212
|
+
*
|
|
1213
|
+
* @since 4.0.0
|
|
1214
|
+
* @category combinators
|
|
1215
|
+
*/
|
|
1216
|
+
<I>(annotations: ServiceMap.ServiceMap<I>): <Name extends string, Input, E, R>(
|
|
1217
|
+
self: Command<Name, Input, E, R>
|
|
1218
|
+
) => Command<Name, Input, E, R>
|
|
1219
|
+
/**
|
|
1220
|
+
* Merges a ServiceMap of annotations into a command.
|
|
1221
|
+
*
|
|
1222
|
+
* @since 4.0.0
|
|
1223
|
+
* @category combinators
|
|
1224
|
+
*/
|
|
1225
|
+
<Name extends string, Input, E, R, I>(self: Command<Name, Input, E, R>, annotations: ServiceMap.ServiceMap<I>): Command<Name, Input, E, R>
|
|
1226
|
+
} = dual(2, <Name extends string, Input, E, R, I>(
|
|
1227
|
+
self: Command<Name, Input, E, R>,
|
|
1228
|
+
annotations: ServiceMap.ServiceMap<I>
|
|
1229
|
+
) => {
|
|
1230
|
+
const impl = toImpl(self)
|
|
1231
|
+
return makeCommand({ ...impl, annotations: ServiceMap.merge(impl.annotations, annotations) })
|
|
1232
|
+
})
|
|
1233
|
+
|
|
1234
|
+
/**
|
|
1235
|
+
* Sets usage examples for a command.
|
|
1236
|
+
*
|
|
1237
|
+
* Examples are exposed in structured `HelpDoc` data and rendered by the
|
|
1238
|
+
* default formatter in an `EXAMPLES` section.
|
|
1239
|
+
*
|
|
1240
|
+
* @example
|
|
1241
|
+
* ```ts
|
|
1242
|
+
* import { Command } from "effect/unstable/cli"
|
|
1243
|
+
*
|
|
1244
|
+
* const login = Command.make("login").pipe(
|
|
1245
|
+
* Command.withExamples([
|
|
1246
|
+
* { command: "myapp login", description: "Log in with browser OAuth" },
|
|
1247
|
+
* { command: "myapp login --token sbp_abc123", description: "Log in with a token" }
|
|
1248
|
+
* ])
|
|
1249
|
+
* )
|
|
1250
|
+
* ```
|
|
1251
|
+
*
|
|
1252
|
+
* @since 4.0.0
|
|
1253
|
+
* @category combinators
|
|
1254
|
+
*/
|
|
1255
|
+
export const withExamples: {
|
|
1256
|
+
/**
|
|
1257
|
+
* Sets usage examples for a command.
|
|
1258
|
+
*
|
|
1259
|
+
* Examples are exposed in structured `HelpDoc` data and rendered by the
|
|
1260
|
+
* default formatter in an `EXAMPLES` section.
|
|
1261
|
+
*
|
|
1262
|
+
* @example
|
|
1263
|
+
* ```ts
|
|
1264
|
+
* import { Command } from "effect/unstable/cli"
|
|
1265
|
+
*
|
|
1266
|
+
* const login = Command.make("login").pipe(
|
|
1267
|
+
* Command.withExamples([
|
|
1268
|
+
* { command: "myapp login", description: "Log in with browser OAuth" },
|
|
1269
|
+
* { command: "myapp login --token sbp_abc123", description: "Log in with a token" }
|
|
1270
|
+
* ])
|
|
1271
|
+
* )
|
|
1272
|
+
* ```
|
|
1273
|
+
*
|
|
1274
|
+
* @since 4.0.0
|
|
1275
|
+
* @category combinators
|
|
1276
|
+
*/
|
|
1277
|
+
(examples: ReadonlyArray<Command.Example>): <const Name extends string, Input, E, R>(
|
|
1278
|
+
self: Command<Name, Input, E, R>
|
|
1279
|
+
) => Command<Name, Input, E, R>
|
|
1280
|
+
/**
|
|
1281
|
+
* Sets usage examples for a command.
|
|
1282
|
+
*
|
|
1283
|
+
* Examples are exposed in structured `HelpDoc` data and rendered by the
|
|
1284
|
+
* default formatter in an `EXAMPLES` section.
|
|
1285
|
+
*
|
|
1286
|
+
* @example
|
|
1287
|
+
* ```ts
|
|
1288
|
+
* import { Command } from "effect/unstable/cli"
|
|
1289
|
+
*
|
|
1290
|
+
* const login = Command.make("login").pipe(
|
|
1291
|
+
* Command.withExamples([
|
|
1292
|
+
* { command: "myapp login", description: "Log in with browser OAuth" },
|
|
1293
|
+
* { command: "myapp login --token sbp_abc123", description: "Log in with a token" }
|
|
1294
|
+
* ])
|
|
1295
|
+
* )
|
|
1296
|
+
* ```
|
|
1297
|
+
*
|
|
1298
|
+
* @since 4.0.0
|
|
1299
|
+
* @category combinators
|
|
1300
|
+
*/
|
|
1301
|
+
<const Name extends string, Input, E, R>(self: Command<Name, Input, E, R>, examples: ReadonlyArray<Command.Example>): Command<Name, Input, E, R>
|
|
1302
|
+
} = dual(2, <const Name extends string, Input, E, R>(
|
|
1303
|
+
self: Command<Name, Input, E, R>,
|
|
1304
|
+
examples: ReadonlyArray<Command.Example>
|
|
1305
|
+
) => makeCommand({ ...toImpl(self), examples }))
|
|
1306
|
+
|
|
929
1307
|
/* ========================================================================== */
|
|
930
1308
|
/* Providing Services */
|
|
931
1309
|
/* ========================================================================== */
|
|
@@ -1088,10 +1466,7 @@ export const provideSync: {
|
|
|
1088
1466
|
* @since 4.0.0
|
|
1089
1467
|
* @category providing services
|
|
1090
1468
|
*/
|
|
1091
|
-
<I, S, Input>(
|
|
1092
|
-
service: ServiceMap.Service<I, S>,
|
|
1093
|
-
implementation: S | ((input: Input) => S)
|
|
1094
|
-
): <const Name extends string, E, R>(
|
|
1469
|
+
<I, S, Input>(service: ServiceMap.Key<I, S>, implementation: S | ((input: Input) => S)): <const Name extends string, E, R>(
|
|
1095
1470
|
self: Command<Name, Input, E, R>
|
|
1096
1471
|
) => Command<Name, Input, E, Exclude<R, I>>
|
|
1097
1472
|
/**
|
|
@@ -1103,12 +1478,12 @@ export const provideSync: {
|
|
|
1103
1478
|
*/
|
|
1104
1479
|
<const Name extends string, Input, E, R, I, S>(
|
|
1105
1480
|
self: Command<Name, Input, E, R>,
|
|
1106
|
-
service: ServiceMap.
|
|
1481
|
+
service: ServiceMap.Key<I, S>,
|
|
1107
1482
|
implementation: S | ((input: Input) => S)
|
|
1108
1483
|
): Command<Name, Input, E, Exclude<R, I>>
|
|
1109
1484
|
} = dual(3, <const Name extends string, Input, E, R, I, S>(
|
|
1110
1485
|
self: Command<Name, Input, E, R>,
|
|
1111
|
-
service: ServiceMap.
|
|
1486
|
+
service: ServiceMap.Key<I, S>,
|
|
1112
1487
|
implementation: S | ((input: Input) => S)
|
|
1113
1488
|
) =>
|
|
1114
1489
|
mapHandler(self, (handler, input) =>
|
|
@@ -1134,7 +1509,7 @@ export const provideEffect: {
|
|
|
1134
1509
|
* @category providing services
|
|
1135
1510
|
*/
|
|
1136
1511
|
<I, S, Input, R2, E2>(
|
|
1137
|
-
service: ServiceMap.
|
|
1512
|
+
service: ServiceMap.Key<I, S>,
|
|
1138
1513
|
effect: Effect.Effect<S, E2, R2> | ((input: Input) => Effect.Effect<S, E2, R2>)
|
|
1139
1514
|
): <const Name extends string, E, R>(
|
|
1140
1515
|
self: Command<Name, Input, E, R>
|
|
@@ -1148,12 +1523,12 @@ export const provideEffect: {
|
|
|
1148
1523
|
*/
|
|
1149
1524
|
<const Name extends string, Input, E, R, I, S, R2, E2>(
|
|
1150
1525
|
self: Command<Name, Input, E, R>,
|
|
1151
|
-
service: ServiceMap.
|
|
1526
|
+
service: ServiceMap.Key<I, S>,
|
|
1152
1527
|
effect: Effect.Effect<S, E2, R2> | ((input: Input) => Effect.Effect<S, E2, R2>)
|
|
1153
1528
|
): Command<Name, Input, E | E2, Exclude<R, I> | R2>
|
|
1154
1529
|
} = dual(3, <const Name extends string, Input, E, R, I, S, R2, E2>(
|
|
1155
1530
|
self: Command<Name, Input, E, R>,
|
|
1156
|
-
service: ServiceMap.
|
|
1531
|
+
service: ServiceMap.Key<I, S>,
|
|
1157
1532
|
effect: Effect.Effect<S, E2, R2> | ((input: Input) => Effect.Effect<S, E2, R2>)
|
|
1158
1533
|
) =>
|
|
1159
1534
|
mapHandler(
|
|
@@ -1203,6 +1578,45 @@ export const provideEffectDiscard: {
|
|
|
1203
1578
|
/* Execution */
|
|
1204
1579
|
/* ========================================================================== */
|
|
1205
1580
|
|
|
1581
|
+
const getOutOfScopeGlobalFlagErrors = (
|
|
1582
|
+
allFlags: ReadonlyArray<GlobalFlag.GlobalFlag<any>>,
|
|
1583
|
+
activeFlags: ReadonlyArray<GlobalFlag.GlobalFlag<any>>,
|
|
1584
|
+
flagMap: Record<string, ReadonlyArray<string>>,
|
|
1585
|
+
commandPath: ReadonlyArray<string>
|
|
1586
|
+
): ReadonlyArray<CliError.CliError> => {
|
|
1587
|
+
const activeSet = new Set(activeFlags)
|
|
1588
|
+
const errors: Array<CliError.CliError> = []
|
|
1589
|
+
const seen = new Set<string>()
|
|
1590
|
+
|
|
1591
|
+
for (const flag of allFlags) {
|
|
1592
|
+
if (activeSet.has(flag)) {
|
|
1593
|
+
continue
|
|
1594
|
+
}
|
|
1595
|
+
|
|
1596
|
+
const singles = Param.extractSingleParams(flag.flag)
|
|
1597
|
+
for (const single of singles) {
|
|
1598
|
+
const entries = flagMap[single.name]
|
|
1599
|
+
if (!entries || entries.length === 0) {
|
|
1600
|
+
continue
|
|
1601
|
+
}
|
|
1602
|
+
const option = `--${single.name}`
|
|
1603
|
+
if (seen.has(option)) {
|
|
1604
|
+
continue
|
|
1605
|
+
}
|
|
1606
|
+
seen.add(option)
|
|
1607
|
+
errors.push(
|
|
1608
|
+
new CliError.UnrecognizedOption({
|
|
1609
|
+
option,
|
|
1610
|
+
suggestions: [],
|
|
1611
|
+
command: commandPath
|
|
1612
|
+
})
|
|
1613
|
+
)
|
|
1614
|
+
}
|
|
1615
|
+
}
|
|
1616
|
+
|
|
1617
|
+
return errors
|
|
1618
|
+
}
|
|
1619
|
+
|
|
1206
1620
|
const showHelp = <Name extends string, Input, E, R>(
|
|
1207
1621
|
command: Command<Name, Input, E, R>,
|
|
1208
1622
|
commandPath: ReadonlyArray<string>,
|
|
@@ -1210,7 +1624,7 @@ const showHelp = <Name extends string, Input, E, R>(
|
|
|
1210
1624
|
): Effect.Effect<void, never, Environment> =>
|
|
1211
1625
|
Effect.gen(function*() {
|
|
1212
1626
|
const formatter = yield* CliOutput.Formatter
|
|
1213
|
-
const helpDoc = getHelpForCommandPath(command, commandPath)
|
|
1627
|
+
const helpDoc = yield* getHelpForCommandPath(command, commandPath, GlobalFlag.BuiltIns)
|
|
1214
1628
|
yield* Console.log(formatter.formatHelpDoc(helpDoc))
|
|
1215
1629
|
if (errors && errors.length > 0) {
|
|
1216
1630
|
yield* Console.error(formatter.formatErrors(errors))
|
|
@@ -1266,12 +1680,13 @@ export const run: {
|
|
|
1266
1680
|
* @since 4.0.0
|
|
1267
1681
|
* @category command execution
|
|
1268
1682
|
*/
|
|
1269
|
-
|
|
1270
|
-
command: Command<Name, Input, E, R>,
|
|
1683
|
+
(
|
|
1271
1684
|
config: {
|
|
1272
1685
|
readonly version: string
|
|
1273
1686
|
}
|
|
1274
|
-
):
|
|
1687
|
+
): <Name extends string, Input, E, R>(
|
|
1688
|
+
command: Command<Name, Input, E, R>
|
|
1689
|
+
) => Effect.Effect<void, E | CliError.CliError, R | Environment>
|
|
1275
1690
|
/**
|
|
1276
1691
|
* Runs a command with the provided input arguments.
|
|
1277
1692
|
*
|
|
@@ -1296,13 +1711,12 @@ export const run: {
|
|
|
1296
1711
|
* @since 4.0.0
|
|
1297
1712
|
* @category command execution
|
|
1298
1713
|
*/
|
|
1299
|
-
(
|
|
1714
|
+
<Name extends string, Input, E, R>(
|
|
1715
|
+
command: Command<Name, Input, E, R>,
|
|
1300
1716
|
config: {
|
|
1301
1717
|
readonly version: string
|
|
1302
1718
|
}
|
|
1303
|
-
): <
|
|
1304
|
-
command: Command<Name, Input, E, R>
|
|
1305
|
-
) => Effect.Effect<void, E | CliError.CliError, R | Environment>
|
|
1719
|
+
): Effect.Effect<void, E | CliError.CliError, R | Environment>
|
|
1306
1720
|
} = dual(2, <Name extends string, Input, E, R>(
|
|
1307
1721
|
command: Command<Name, Input, E, R>,
|
|
1308
1722
|
config: {
|
|
@@ -1365,29 +1779,45 @@ export const runWith = <const Name extends string, Input, E, R>(
|
|
|
1365
1779
|
const commandImpl = toImpl(command)
|
|
1366
1780
|
return Effect.fnUntraced(
|
|
1367
1781
|
function*(args: ReadonlyArray<string>) {
|
|
1368
|
-
// Lex and extract built-in flags
|
|
1369
1782
|
const { tokens, trailingOperands } = Lexer.lex(args)
|
|
1370
|
-
|
|
1783
|
+
|
|
1784
|
+
// 1. Collect known global flags from the command tree
|
|
1785
|
+
const allFlags = getGlobalFlagsForCommandTree(command, GlobalFlag.BuiltIns)
|
|
1786
|
+
|
|
1787
|
+
// 2. Extract global flag tokens
|
|
1788
|
+
const allFlagParams = allFlags.flatMap((f) => Param.extractSingleParams(f.flag))
|
|
1789
|
+
const globalRegistry = Parser.createFlagRegistry(allFlagParams.filter(Param.isFlagParam))
|
|
1790
|
+
const { flagMap, remainder } = Parser.consumeKnownFlags(tokens, globalRegistry)
|
|
1791
|
+
const emptyArgs: Param.ParsedArgs = { flags: flagMap, arguments: [] }
|
|
1792
|
+
|
|
1793
|
+
// 3. Parse command arguments from remaining tokens
|
|
1371
1794
|
const parsedArgs = yield* Parser.parseArgs({ tokens: remainder, trailingOperands }, command)
|
|
1372
1795
|
const commandPath = [command.name, ...Parser.getCommandPath(parsedArgs)] as const
|
|
1373
|
-
const
|
|
1796
|
+
const handlerCtx: GlobalFlag.HandlerContext = { command, commandPath, version: config.version }
|
|
1797
|
+
const activeFlags = getGlobalFlagsForCommandPath(command, commandPath, GlobalFlag.BuiltIns)
|
|
1374
1798
|
|
|
1375
|
-
//
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
if (completions !== undefined) {
|
|
1381
|
-
const descriptor = CommandDescriptor.fromCommand(command)
|
|
1382
|
-
yield* Console.log(Completions.generate(command.name, completions, descriptor))
|
|
1383
|
-
return
|
|
1799
|
+
// 4. Reject globals that were passed outside the active command scope
|
|
1800
|
+
const outOfScopeErrors = getOutOfScopeGlobalFlagErrors(allFlags, activeFlags, flagMap, commandPath)
|
|
1801
|
+
if (outOfScopeErrors.length > 0) {
|
|
1802
|
+
const parseErrors = parsedArgs.errors ?? []
|
|
1803
|
+
return yield* showHelp(command, commandPath, [...outOfScopeErrors, ...parseErrors])
|
|
1384
1804
|
}
|
|
1385
|
-
|
|
1386
|
-
|
|
1805
|
+
|
|
1806
|
+
// 5. Process action flags — first present action wins, then exit
|
|
1807
|
+
for (const flag of activeFlags) {
|
|
1808
|
+
if (flag._tag !== "Action") continue
|
|
1809
|
+
const singles = Param.extractSingleParams(flag.flag)
|
|
1810
|
+
const hasEntry = singles.some((s) => {
|
|
1811
|
+
const entries = flagMap[s.name]
|
|
1812
|
+
return entries !== undefined && entries.length > 0
|
|
1813
|
+
})
|
|
1814
|
+
if (!hasEntry) continue
|
|
1815
|
+
const [, value] = yield* flag.flag.parse(emptyArgs)
|
|
1816
|
+
yield* flag.run(value, handlerCtx)
|
|
1387
1817
|
return
|
|
1388
1818
|
}
|
|
1389
1819
|
|
|
1390
|
-
// Handle parsing errors
|
|
1820
|
+
// 6. Handle parsing errors
|
|
1391
1821
|
if (parsedArgs.errors && parsedArgs.errors.length > 0) {
|
|
1392
1822
|
return yield* showHelp(command, commandPath, parsedArgs.errors)
|
|
1393
1823
|
}
|
|
@@ -1395,24 +1825,35 @@ export const runWith = <const Name extends string, Input, E, R>(
|
|
|
1395
1825
|
if (parseResult._tag === "Failure") {
|
|
1396
1826
|
return yield* showHelp(command, commandPath, [parseResult.failure])
|
|
1397
1827
|
}
|
|
1398
|
-
const parsed = parseResult.success
|
|
1399
1828
|
|
|
1400
|
-
//
|
|
1401
|
-
|
|
1402
|
-
const
|
|
1403
|
-
|
|
1404
|
-
|
|
1829
|
+
// 7. Provide setting values
|
|
1830
|
+
let program = commandImpl.handle(parseResult.success, [command.name])
|
|
1831
|
+
for (const flag of activeFlags) {
|
|
1832
|
+
if (flag._tag !== "Setting") continue
|
|
1833
|
+
const [, value] = yield* flag.flag.parse(emptyArgs)
|
|
1834
|
+
program = Effect.provideService(program, flag, value)
|
|
1835
|
+
}
|
|
1836
|
+
|
|
1837
|
+
const [, logLevel] = yield* GlobalFlag.LogLevel.flag.parse(emptyArgs)
|
|
1838
|
+
program = Effect.provideService(program, GlobalFlag.LogLevel, logLevel)
|
|
1839
|
+
|
|
1840
|
+
// 8. Apply built-in setting behavior
|
|
1841
|
+
const services = Option.match(logLevel, {
|
|
1842
|
+
onNone: () => ServiceMap.empty(),
|
|
1843
|
+
onSome: (level) => ServiceMap.make(References.MinimumLogLevel, level)
|
|
1844
|
+
})
|
|
1405
1845
|
|
|
1406
|
-
|
|
1846
|
+
// 9. Run command handler with composed context
|
|
1847
|
+
yield* Effect.provideServices(program, services)
|
|
1407
1848
|
},
|
|
1408
|
-
Effect.
|
|
1849
|
+
Effect.catchFilter(
|
|
1409
1850
|
((error: any) =>
|
|
1410
1851
|
CliError.isCliError(error) && error._tag === "ShowHelp"
|
|
1411
1852
|
? Result.succeed(error)
|
|
1412
1853
|
: Result.fail(error)) as any,
|
|
1413
1854
|
(error: any) => showHelp(command, error.commandPath)
|
|
1414
1855
|
),
|
|
1415
|
-
Effect.
|
|
1856
|
+
Effect.catchFilter(
|
|
1416
1857
|
(e) =>
|
|
1417
1858
|
Terminal.isQuitError(e)
|
|
1418
1859
|
? Result.succeed(e)
|