effect 4.0.5 → 4.0.7
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/ai-docs/package.json +1 -1
- package/ai-docs/src/06_schedule/10_schedules.ts +5 -4
- package/ai-docs/tsconfig.json +3 -1
- package/dist/Arbitrary.d.ts +10 -2
- package/dist/Arbitrary.d.ts.map +1 -1
- package/dist/Arbitrary.js +2 -1
- package/dist/Arbitrary.js.map +1 -1
- package/dist/Array.d.ts +117 -52
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +41 -20
- package/dist/Array.js.map +1 -1
- package/dist/Bytes.d.ts +79 -0
- package/dist/Bytes.d.ts.map +1 -0
- package/dist/Bytes.js +109 -0
- package/dist/Bytes.js.map +1 -0
- package/dist/Channel.d.ts +181 -13
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +144 -34
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +39 -21
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +26 -17
- package/dist/Chunk.js.map +1 -1
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +8 -3
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +2 -1
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Cron.d.ts +2 -2
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +6 -3
- package/dist/Cron.js.map +1 -1
- package/dist/Data.d.ts +54 -235
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js.map +1 -1
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +56 -16
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +488 -164
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +204 -38
- package/dist/Effect.js.map +1 -1
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +8 -1
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +2 -1
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +12 -8
- package/dist/Equivalence.js.map +1 -1
- package/dist/Exit.d.ts +27 -12
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +8 -3
- package/dist/Exit.js.map +1 -1
- package/dist/FiberHandle.d.ts +2 -0
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +9 -4
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +2 -0
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +5 -2
- package/dist/FiberMap.js.map +1 -1
- package/dist/FileSystem.d.ts +5 -0
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +3 -0
- package/dist/FileSystem.js.map +1 -1
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +27 -13
- package/dist/Formatter.js.map +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js.map +1 -1
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +4 -1
- package/dist/Hash.js.map +1 -1
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js.map +1 -1
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +18 -17
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.js +4 -0
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonSchema.d.ts +9 -3
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +32 -43
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +2 -2
- package/dist/Layer.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +19 -1
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +62 -6
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Metric.d.ts +135 -3
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +197 -25
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableList.d.ts +5 -2
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +7 -5
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +7 -0
- package/dist/MutableRef.js.map +1 -1
- package/dist/Number.js +2 -2
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts +2 -1
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +22 -12
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +8 -1
- package/dist/Path.js.map +1 -1
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +77 -27
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +17 -13
- package/dist/PubSub.js.map +1 -1
- package/dist/Queue.d.ts +4 -1
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +4 -1
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +1 -1
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +12 -7
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +9 -6
- package/dist/RcMap.js.map +1 -1
- package/dist/Record.d.ts +51 -0
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +17 -0
- package/dist/Record.js.map +1 -1
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +8 -0
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +5 -4
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +5 -4
- package/dist/References.js.map +1 -1
- package/dist/RequestResolver.d.ts +31 -1
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +39 -4
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.js +1 -1
- package/dist/Resource.js.map +1 -1
- package/dist/Runtime.d.ts +3 -3
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +18 -15
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +1 -1
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +408 -340
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +370 -47
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +9 -7
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +38 -25
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +8 -3
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +15 -5
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +4 -4
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +29 -51
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +48 -22
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +75 -11
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +41 -13
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +5 -2
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +10 -3
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +12 -2
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +5 -0
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts +10 -7
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +9 -5
- package/dist/ScopedCache.js.map +1 -1
- package/dist/SemVer.d.ts +1196 -0
- package/dist/SemVer.d.ts.map +1 -0
- package/dist/SemVer.js +756 -0
- package/dist/SemVer.js.map +1 -0
- package/dist/SemVerRange.d.ts +559 -0
- package/dist/SemVerRange.d.ts.map +1 -0
- package/dist/SemVerRange.js +551 -0
- package/dist/SemVerRange.js.map +1 -0
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +54 -35
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +13 -4
- package/dist/Sink.js.map +1 -1
- package/dist/Stream.d.ts +235 -8
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +167 -70
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +7 -2
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +11 -6
- package/dist/String.js.map +1 -1
- package/dist/TextDiff.d.ts +399 -0
- package/dist/TextDiff.d.ts.map +1 -0
- package/dist/TextDiff.js +634 -0
- package/dist/TextDiff.js.map +1 -0
- package/dist/Tracer.d.ts +11 -1
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +6 -1
- package/dist/Tracer.js.map +1 -1
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js.map +1 -1
- package/dist/ai/AiError.d.ts +68 -4
- package/dist/ai/AiError.d.ts.map +1 -1
- package/dist/ai/AiError.js +50 -2
- package/dist/ai/AiError.js.map +1 -1
- package/dist/ai/Chat.d.ts +1 -2
- package/dist/ai/Chat.d.ts.map +1 -1
- package/dist/ai/Chat.js +6 -3
- package/dist/ai/Chat.js.map +1 -1
- package/dist/ai/Decision.d.ts +46 -1
- package/dist/ai/Decision.d.ts.map +1 -1
- package/dist/ai/Decision.js.map +1 -1
- package/dist/ai/DecisionModel.d.ts +129 -11
- package/dist/ai/DecisionModel.d.ts.map +1 -1
- package/dist/ai/DecisionModel.js +182 -94
- package/dist/ai/DecisionModel.js.map +1 -1
- package/dist/ai/EmbeddingModel.d.ts +10 -0
- package/dist/ai/EmbeddingModel.d.ts.map +1 -1
- package/dist/ai/EmbeddingModel.js +21 -7
- package/dist/ai/EmbeddingModel.js.map +1 -1
- package/dist/ai/LanguageModel.d.ts.map +1 -1
- package/dist/ai/LanguageModel.js +9 -0
- package/dist/ai/LanguageModel.js.map +1 -1
- package/dist/ai/McpClient.d.ts +289 -0
- package/dist/ai/McpClient.d.ts.map +1 -0
- package/dist/ai/McpClient.js +819 -0
- package/dist/ai/McpClient.js.map +1 -0
- package/dist/ai/McpClientError.d.ts +254 -0
- package/dist/ai/McpClientError.d.ts.map +1 -0
- package/dist/ai/McpClientError.js +260 -0
- package/dist/ai/McpClientError.js.map +1 -0
- package/dist/ai/McpProtocol.d.ts +2 -2
- package/dist/ai/McpProtocol.d.ts.map +1 -1
- package/dist/ai/McpSchema.d.ts +258 -125
- package/dist/ai/McpSchema.d.ts.map +1 -1
- package/dist/ai/McpSchema.js +94 -24
- package/dist/ai/McpSchema.js.map +1 -1
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +46 -37
- package/dist/ai/McpServer.js.map +1 -1
- package/dist/ai/Prompt.d.ts +74 -20
- package/dist/ai/Prompt.d.ts.map +1 -1
- package/dist/ai/Prompt.js +61 -1
- package/dist/ai/Prompt.js.map +1 -1
- package/dist/ai/Response.d.ts +160 -3
- package/dist/ai/Response.d.ts.map +1 -1
- package/dist/ai/Response.js +39 -37
- package/dist/ai/Response.js.map +1 -1
- package/dist/ai/Tool.d.ts +36 -4
- package/dist/ai/Tool.d.ts.map +1 -1
- package/dist/ai/Tool.js +5 -2
- package/dist/ai/Tool.js.map +1 -1
- package/dist/ai/Toolkit.d.ts +48 -1
- package/dist/ai/Toolkit.d.ts.map +1 -1
- package/dist/ai/Toolkit.js +73 -13
- package/dist/ai/Toolkit.js.map +1 -1
- package/dist/ai/index.d.ts +10 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +10 -0
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/internal/mcpCore.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js +1 -1
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js +2 -2
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js +2 -2
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js +4 -7
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
- package/dist/ai/internal/mcpProtocol.js +16 -2
- package/dist/ai/internal/mcpProtocol.js.map +1 -1
- package/dist/ai/internal/mcpRuntime.js +3 -4
- package/dist/ai/internal/mcpRuntime.js.map +1 -1
- package/dist/ai/internal/mcpSchema/v2024_11_05.js +19 -13
- package/dist/ai/internal/mcpSchema/v2024_11_05.js.map +1 -1
- package/dist/ai/internal/mcpSchema/v2025_03_26.js +3 -2
- package/dist/ai/internal/mcpSchema/v2025_03_26.js.map +1 -1
- package/dist/ai/internal/mcpSchema/v2025_06_18.js +7 -7
- package/dist/ai/internal/mcpSchema/v2025_06_18.js.map +1 -1
- package/dist/ai/internal/mcpSchema/v2025_11_25.js +8 -8
- package/dist/ai/internal/mcpSchema/v2025_11_25.js.map +1 -1
- package/dist/ai/internal/mcpSchema/v2026_07_28.js +43 -42
- package/dist/ai/internal/mcpSchema/v2026_07_28.js.map +1 -1
- package/dist/cli/Argument.d.ts +15 -0
- package/dist/cli/Argument.d.ts.map +1 -1
- package/dist/cli/Argument.js +5 -0
- package/dist/cli/Argument.js.map +1 -1
- package/dist/cli/CliError.d.ts +120 -2
- package/dist/cli/CliError.d.ts.map +1 -1
- package/dist/cli/CliError.js +106 -5
- package/dist/cli/CliError.js.map +1 -1
- package/dist/cli/CliOutput.d.ts +155 -6
- package/dist/cli/CliOutput.d.ts.map +1 -1
- package/dist/cli/CliOutput.js +62 -6
- package/dist/cli/CliOutput.js.map +1 -1
- package/dist/cli/Command.d.ts +310 -18
- package/dist/cli/Command.d.ts.map +1 -1
- package/dist/cli/Command.js +164 -33
- package/dist/cli/Command.js.map +1 -1
- package/dist/cli/Completions.d.ts +63 -0
- package/dist/cli/Completions.d.ts.map +1 -1
- package/dist/cli/Completions.js +49 -9
- package/dist/cli/Completions.js.map +1 -1
- package/dist/cli/Flag.d.ts +130 -0
- package/dist/cli/Flag.d.ts.map +1 -1
- package/dist/cli/Flag.js +61 -0
- package/dist/cli/Flag.js.map +1 -1
- package/dist/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/cli/GlobalFlag.js +14 -6
- package/dist/cli/GlobalFlag.js.map +1 -1
- package/dist/cli/Param.d.ts +116 -0
- package/dist/cli/Param.d.ts.map +1 -1
- package/dist/cli/Param.js +77 -2
- package/dist/cli/Param.js.map +1 -1
- package/dist/cli/TerminalCapabilities.d.ts +85 -0
- package/dist/cli/TerminalCapabilities.d.ts.map +1 -0
- package/dist/cli/TerminalCapabilities.js +124 -0
- package/dist/cli/TerminalCapabilities.js.map +1 -0
- package/dist/cli/index.d.ts +5 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +5 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/internal/command.d.ts +2 -1
- package/dist/cli/internal/command.d.ts.map +1 -1
- package/dist/cli/internal/command.js +5 -2
- package/dist/cli/internal/command.js.map +1 -1
- package/dist/cli/internal/completions/bash.js +77 -30
- package/dist/cli/internal/completions/bash.js.map +1 -1
- package/dist/cli/internal/completions/descriptor.js +9 -1
- package/dist/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/cli/internal/completions/fish.js +10 -8
- package/dist/cli/internal/completions/fish.js.map +1 -1
- package/dist/cli/internal/completions/powershell.js +18 -9
- package/dist/cli/internal/completions/powershell.js.map +1 -1
- package/dist/cli/internal/completions/zsh.js +8 -5
- package/dist/cli/internal/completions/zsh.js.map +1 -1
- package/dist/cli/internal/formatter.d.ts +2 -0
- package/dist/cli/internal/formatter.d.ts.map +1 -0
- package/dist/cli/internal/formatter.js +15 -0
- package/dist/cli/internal/formatter.js.map +1 -0
- package/dist/cli/internal/lexer.js +24 -10
- package/dist/cli/internal/lexer.js.map +1 -1
- package/dist/cli/internal/parser.js +24 -12
- package/dist/cli/internal/parser.js.map +1 -1
- package/dist/cluster/ClusterCron.d.ts +29 -1
- package/dist/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/cluster/ClusterCron.js +64 -32
- package/dist/cluster/ClusterCron.js.map +1 -1
- package/dist/cluster/ClusterMetrics.d.ts +143 -7
- package/dist/cluster/ClusterMetrics.d.ts.map +1 -1
- package/dist/cluster/ClusterMetrics.js +151 -7
- package/dist/cluster/ClusterMetrics.js.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.d.ts +1 -1
- package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.js +82 -21
- package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cluster/Entity.d.ts +2 -0
- package/dist/cluster/Entity.d.ts.map +1 -1
- package/dist/cluster/Entity.js.map +1 -1
- package/dist/cluster/MessageStorage.d.ts +44 -45
- package/dist/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/cluster/MessageStorage.js +6 -7
- package/dist/cluster/MessageStorage.js.map +1 -1
- package/dist/cluster/Runners.d.ts.map +1 -1
- package/dist/cluster/Runners.js +54 -15
- package/dist/cluster/Runners.js.map +1 -1
- package/dist/cluster/Sharding.d.ts +1 -0
- package/dist/cluster/Sharding.d.ts.map +1 -1
- package/dist/cluster/Sharding.js +155 -52
- package/dist/cluster/Sharding.js.map +1 -1
- package/dist/cluster/ShardingConfig.d.ts +30 -0
- package/dist/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/cluster/ShardingConfig.js +4 -0
- package/dist/cluster/ShardingConfig.js.map +1 -1
- package/dist/cluster/Snowflake.d.ts.map +1 -1
- package/dist/cluster/Snowflake.js +3 -7
- package/dist/cluster/Snowflake.js.map +1 -1
- package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/cluster/SqlMessageStorage.js +40 -50
- package/dist/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/cluster/SqlRunnerStorage.d.ts +2 -2
- package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/cluster/SqlRunnerStorage.js +97 -43
- package/dist/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/cluster/internal/entityManager.js +119 -28
- package/dist/cluster/internal/entityManager.js.map +1 -1
- package/dist/devtools/DevTools.d.ts +3 -2
- package/dist/devtools/DevTools.d.ts.map +1 -1
- package/dist/devtools/DevTools.js +3 -2
- package/dist/devtools/DevTools.js.map +1 -1
- package/dist/devtools/DevToolsClient.d.ts +11 -0
- package/dist/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/devtools/DevToolsClient.js +33 -4
- package/dist/devtools/DevToolsClient.js.map +1 -1
- package/dist/encoding/Base64.js +36 -0
- package/dist/encoding/Base64.js.map +1 -1
- package/dist/encoding/Base64Url.d.ts +29 -0
- package/dist/encoding/Base64Url.d.ts.map +1 -1
- package/dist/encoding/Base64Url.js +29 -0
- package/dist/encoding/Base64Url.js.map +1 -1
- package/dist/encoding/Ini.d.ts.map +1 -1
- package/dist/encoding/Ini.js +3 -0
- package/dist/encoding/Ini.js.map +1 -1
- package/dist/encoding/JsonArray.d.ts +270 -0
- package/dist/encoding/JsonArray.d.ts.map +1 -0
- package/dist/encoding/JsonArray.js +691 -0
- package/dist/encoding/JsonArray.js.map +1 -0
- package/dist/encoding/Ndjson.d.ts +43 -4
- package/dist/encoding/Ndjson.d.ts.map +1 -1
- package/dist/encoding/Ndjson.js +169 -18
- package/dist/encoding/Ndjson.js.map +1 -1
- package/dist/encoding/SchemaBinary.d.ts +9 -1
- package/dist/encoding/SchemaBinary.d.ts.map +1 -1
- package/dist/encoding/SchemaBinary.js +12 -19
- package/dist/encoding/SchemaBinary.js.map +1 -1
- package/dist/encoding/Sse.d.ts.map +1 -1
- package/dist/encoding/Sse.js +3 -3
- package/dist/encoding/Sse.js.map +1 -1
- package/dist/encoding/Tar.d.ts +309 -0
- package/dist/encoding/Tar.d.ts.map +1 -0
- package/dist/encoding/Tar.js +1182 -0
- package/dist/encoding/Tar.js.map +1 -0
- package/dist/encoding/Toml.d.ts.map +1 -1
- package/dist/encoding/Toml.js +24 -19
- package/dist/encoding/Toml.js.map +1 -1
- package/dist/encoding/Xml.d.ts +464 -0
- package/dist/encoding/Xml.d.ts.map +1 -0
- package/dist/encoding/Xml.js +1619 -0
- package/dist/encoding/Xml.js.map +1 -0
- package/dist/encoding/Yaml.d.ts +6 -2
- package/dist/encoding/Yaml.d.ts.map +1 -1
- package/dist/encoding/Yaml.js +97 -34
- package/dist/encoding/Yaml.js.map +1 -1
- package/dist/encoding/Zip.d.ts +413 -0
- package/dist/encoding/Zip.d.ts.map +1 -0
- package/dist/encoding/Zip.js +1255 -0
- package/dist/encoding/Zip.js.map +1 -0
- package/dist/encoding/index.d.ts +20 -0
- package/dist/encoding/index.d.ts.map +1 -1
- package/dist/encoding/index.js +20 -0
- package/dist/encoding/index.js.map +1 -1
- package/dist/eventlog/EventJournal.d.ts +90 -5
- package/dist/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/eventlog/EventJournal.js +488 -228
- package/dist/eventlog/EventJournal.js.map +1 -1
- package/dist/eventlog/EventLog.d.ts +180 -12
- package/dist/eventlog/EventLog.d.ts.map +1 -1
- package/dist/eventlog/EventLog.js +394 -146
- package/dist/eventlog/EventLog.js.map +1 -1
- package/dist/eventlog/EventLogEncryption.d.ts +36 -30
- package/dist/eventlog/EventLogEncryption.d.ts.map +1 -1
- package/dist/eventlog/EventLogEncryption.js +97 -38
- package/dist/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/eventlog/EventLogMessage.d.ts +74 -34
- package/dist/eventlog/EventLogMessage.d.ts.map +1 -1
- package/dist/eventlog/EventLogMessage.js +45 -11
- package/dist/eventlog/EventLogMessage.js.map +1 -1
- package/dist/eventlog/EventLogRemote.d.ts +45 -8
- package/dist/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/eventlog/EventLogRemote.js +51 -14
- package/dist/eventlog/EventLogRemote.js.map +1 -1
- package/dist/eventlog/EventLogServer.d.ts +46 -3
- package/dist/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/eventlog/EventLogServer.js +119 -19
- package/dist/eventlog/EventLogServer.js.map +1 -1
- package/dist/eventlog/EventLogServerEncrypted.d.ts +23 -33
- package/dist/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/eventlog/EventLogServerEncrypted.js +97 -70
- package/dist/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/eventlog/EventLogServerUnencrypted.d.ts +39 -5
- package/dist/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/eventlog/EventLogServerUnencrypted.js +151 -69
- package/dist/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/eventlog/EventRow.d.ts +288 -0
- package/dist/eventlog/EventRow.d.ts.map +1 -0
- package/dist/eventlog/EventRow.js +435 -0
- package/dist/eventlog/EventRow.js.map +1 -0
- package/dist/eventlog/SqlEventJournal.d.ts +18 -18
- package/dist/eventlog/SqlEventJournal.d.ts.map +1 -1
- package/dist/eventlog/SqlEventJournal.js +417 -169
- package/dist/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/eventlog/SqlEventLogServerEncrypted.d.ts +10 -18
- package/dist/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
- package/dist/eventlog/SqlEventLogServerEncrypted.js +179 -69
- package/dist/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +23 -3
- package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.js +102 -51
- package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/eventlog/index.d.ts +5 -0
- package/dist/eventlog/index.d.ts.map +1 -1
- package/dist/eventlog/index.js +5 -0
- package/dist/eventlog/index.js.map +1 -1
- package/dist/eventlog/internal/conflicts.d.ts +46 -0
- package/dist/eventlog/internal/conflicts.d.ts.map +1 -0
- package/dist/eventlog/internal/conflicts.js +89 -0
- package/dist/eventlog/internal/conflicts.js.map +1 -0
- package/dist/graphql/GraphQLClientError.d.ts +2 -2
- package/dist/graphql/GraphQLClientError.d.ts.map +1 -1
- package/dist/graphql/GraphQLClientError.js +4 -18
- package/dist/graphql/GraphQLClientError.js.map +1 -1
- package/dist/graphql/GraphQLProtocol.d.ts +12 -9
- package/dist/graphql/GraphQLProtocol.d.ts.map +1 -1
- package/dist/graphql/GraphQLProtocol.js +4 -3
- package/dist/graphql/GraphQLProtocol.js.map +1 -1
- package/dist/graphql/GraphQLResolver.d.ts +2 -0
- package/dist/graphql/GraphQLResolver.d.ts.map +1 -1
- package/dist/graphql/GraphQLResolver.js +74 -32
- package/dist/graphql/GraphQLResolver.js.map +1 -1
- package/dist/http/Cookies.d.ts.map +1 -1
- package/dist/http/Cookies.js +10 -9
- package/dist/http/Cookies.js.map +1 -1
- package/dist/http/FetchHttpClient.d.ts +8 -1
- package/dist/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/http/FetchHttpClient.js +51 -4
- package/dist/http/FetchHttpClient.js.map +1 -1
- package/dist/http/FindMyWay/internal/router.js +10 -0
- package/dist/http/FindMyWay/internal/router.js.map +1 -1
- package/dist/http/Headers.d.ts +227 -0
- package/dist/http/Headers.d.ts.map +1 -1
- package/dist/http/Headers.js +261 -0
- package/dist/http/Headers.js.map +1 -1
- package/dist/http/HttpClient.d.ts +516 -0
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +286 -23
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/HttpClientError.d.ts +8 -1
- package/dist/http/HttpClientError.d.ts.map +1 -1
- package/dist/http/HttpClientError.js +37 -1
- package/dist/http/HttpClientError.js.map +1 -1
- package/dist/http/HttpClientRequest.d.ts +127 -3
- package/dist/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/http/HttpClientRequest.js +45 -3
- package/dist/http/HttpClientRequest.js.map +1 -1
- package/dist/http/HttpClientResponse.d.ts +53 -0
- package/dist/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/http/HttpClientResponse.js +47 -0
- package/dist/http/HttpClientResponse.js.map +1 -1
- package/dist/http/HttpEffect.d.ts +6 -2
- package/dist/http/HttpEffect.d.ts.map +1 -1
- package/dist/http/HttpEffect.js +21 -17
- package/dist/http/HttpEffect.js.map +1 -1
- package/dist/http/HttpIncomingMessage.d.ts +2 -1
- package/dist/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/http/HttpIncomingMessage.js +3 -23
- package/dist/http/HttpIncomingMessage.js.map +1 -1
- package/dist/http/HttpMiddleware.d.ts +119 -2
- package/dist/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/http/HttpMiddleware.js +173 -29
- package/dist/http/HttpMiddleware.js.map +1 -1
- package/dist/http/HttpRouter.d.ts.map +1 -1
- package/dist/http/HttpRouter.js +9 -3
- package/dist/http/HttpRouter.js.map +1 -1
- package/dist/http/HttpServerError.d.ts +5 -2
- package/dist/http/HttpServerError.d.ts.map +1 -1
- package/dist/http/HttpServerError.js +7 -5
- package/dist/http/HttpServerError.js.map +1 -1
- package/dist/http/HttpServerRequest.d.ts +30 -5
- package/dist/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/http/HttpServerRequest.js +109 -20
- package/dist/http/HttpServerRequest.js.map +1 -1
- package/dist/http/HttpServerResponse.d.ts +17 -8
- package/dist/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/http/HttpServerResponse.js +37 -21
- package/dist/http/HttpServerResponse.js.map +1 -1
- package/dist/http/HttpStaticServer.d.ts +0 -12
- package/dist/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/http/HttpStaticServer.js +65 -24
- package/dist/http/HttpStaticServer.js.map +1 -1
- package/dist/http/MultipartParser/internal/contentType.d.ts +15 -1
- package/dist/http/MultipartParser/internal/contentType.d.ts.map +1 -1
- package/dist/http/MultipartParser/internal/contentType.js +89 -7
- package/dist/http/MultipartParser/internal/contentType.js.map +1 -1
- package/dist/http/MultipartParser/internal/headers.d.ts.map +1 -1
- package/dist/http/MultipartParser/internal/headers.js +4 -12
- package/dist/http/MultipartParser/internal/headers.js.map +1 -1
- package/dist/http/MultipartParser/internal/multipart.d.ts.map +1 -1
- package/dist/http/MultipartParser/internal/multipart.js +6 -27
- package/dist/http/MultipartParser/internal/multipart.js.map +1 -1
- package/dist/http/Url.d.ts.map +1 -1
- package/dist/http/Url.js +6 -1
- package/dist/http/Url.js.map +1 -1
- package/dist/http/UrlParams.d.ts +3 -1
- package/dist/http/UrlParams.d.ts.map +1 -1
- package/dist/http/UrlParams.js +4 -2
- package/dist/http/UrlParams.js.map +1 -1
- package/dist/http/internal/compression.js +4 -5
- package/dist/http/internal/compression.js.map +1 -1
- package/dist/http/internal/decompression.js +20 -11
- package/dist/http/internal/decompression.js.map +1 -1
- package/dist/http/internal/httpBody.js +8 -1
- package/dist/http/internal/httpBody.js.map +1 -1
- package/dist/http/internal/lazyStream.d.ts +2 -0
- package/dist/http/internal/lazyStream.d.ts.map +1 -0
- package/dist/http/internal/lazyStream.js +18 -0
- package/dist/http/internal/lazyStream.js.map +1 -0
- package/dist/http/internal/requestState.d.ts +2 -0
- package/dist/http/internal/requestState.d.ts.map +1 -0
- package/dist/http/internal/requestState.js +28 -0
- package/dist/http/internal/requestState.js.map +1 -0
- package/dist/http/internal/urlParams.js +25 -0
- package/dist/http/internal/urlParams.js.map +1 -1
- package/dist/http/internal/webResponse.d.ts +2 -0
- package/dist/http/internal/webResponse.d.ts.map +1 -0
- package/dist/http/internal/webResponse.js +12 -0
- package/dist/http/internal/webResponse.js.map +1 -0
- package/dist/http-api/HttpApi.d.ts +3 -6
- package/dist/http-api/HttpApi.d.ts.map +1 -1
- package/dist/http-api/HttpApi.js +4 -7
- package/dist/http-api/HttpApi.js.map +1 -1
- package/dist/http-api/HttpApiBuilder.d.ts.map +1 -1
- package/dist/http-api/HttpApiBuilder.js +142 -23
- package/dist/http-api/HttpApiBuilder.js.map +1 -1
- package/dist/http-api/HttpApiClient.d.ts +99 -4
- package/dist/http-api/HttpApiClient.d.ts.map +1 -1
- package/dist/http-api/HttpApiClient.js +218 -60
- package/dist/http-api/HttpApiClient.js.map +1 -1
- package/dist/http-api/HttpApiEndpoint.d.ts +72 -29
- package/dist/http-api/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/http-api/HttpApiEndpoint.js +140 -14
- package/dist/http-api/HttpApiEndpoint.js.map +1 -1
- package/dist/http-api/HttpApiError.d.ts +58 -0
- package/dist/http-api/HttpApiError.d.ts.map +1 -1
- package/dist/http-api/HttpApiError.js +38 -12
- package/dist/http-api/HttpApiError.js.map +1 -1
- package/dist/http-api/HttpApiScalar.d.ts +2 -1
- package/dist/http-api/HttpApiScalar.d.ts.map +1 -1
- package/dist/http-api/HttpApiScalar.js +6 -3
- package/dist/http-api/HttpApiScalar.js.map +1 -1
- package/dist/http-api/HttpApiSchema.d.ts +242 -13
- package/dist/http-api/HttpApiSchema.d.ts.map +1 -1
- package/dist/http-api/HttpApiSchema.js +149 -5
- package/dist/http-api/HttpApiSchema.js.map +1 -1
- package/dist/http-api/HttpApiSwagger.d.ts +5 -0
- package/dist/http-api/HttpApiSwagger.d.ts.map +1 -1
- package/dist/http-api/HttpApiSwagger.js +14 -4
- package/dist/http-api/HttpApiSwagger.js.map +1 -1
- package/dist/http-api/HttpApiTest.d.ts +13 -2
- package/dist/http-api/HttpApiTest.d.ts.map +1 -1
- package/dist/http-api/HttpApiTest.js +33 -11
- package/dist/http-api/HttpApiTest.js.map +1 -1
- package/dist/http-api/OpenApi.d.ts +17 -3
- package/dist/http-api/OpenApi.d.ts.map +1 -1
- package/dist/http-api/OpenApi.js +81 -47
- package/dist/http-api/OpenApi.js.map +1 -1
- package/dist/http-api/internal/path.js +35 -10
- package/dist/http-api/internal/path.js.map +1 -1
- package/dist/http-api/internal/toCodecHttpProperties.d.ts +2 -0
- package/dist/http-api/internal/toCodecHttpProperties.d.ts.map +1 -0
- package/dist/http-api/internal/toCodecHttpProperties.js +38 -0
- package/dist/http-api/internal/toCodecHttpProperties.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/arbitrary/runner.d.ts.map +1 -1
- package/dist/internal/arbitrary/runner.js +120 -44
- package/dist/internal/arbitrary/runner.js.map +1 -1
- package/dist/internal/core.js +3 -1
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +19 -7
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +106 -87
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/equal.js +14 -0
- package/dist/internal/equal.js.map +1 -1
- package/dist/internal/hashMap.js +2 -2
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/hydration.d.ts +2 -0
- package/dist/internal/hydration.d.ts.map +1 -0
- package/dist/internal/hydration.js +15 -0
- package/dist/internal/hydration.js.map +1 -0
- package/dist/internal/inflate.d.ts +2 -0
- package/dist/internal/inflate.d.ts.map +1 -0
- package/dist/internal/inflate.js +680 -0
- package/dist/internal/inflate.js.map +1 -0
- package/dist/internal/jsonSchema.d.ts +2 -0
- package/dist/internal/jsonSchema.d.ts.map +1 -0
- package/dist/internal/jsonSchema.js +28 -0
- package/dist/internal/jsonSchema.js.map +1 -0
- package/dist/internal/matcher.js +1 -1
- package/dist/internal/matcher.js.map +1 -1
- package/dist/internal/record.js +6 -0
- package/dist/internal/record.js.map +1 -1
- package/dist/internal/request.js +20 -7
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schedule.js +17 -22
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/compilerRegistry.js +4 -1
- package/dist/internal/schema/compilerRegistry.js.map +1 -1
- package/dist/internal/schema/content.d.ts +2 -0
- package/dist/internal/schema/content.d.ts.map +1 -0
- package/dist/internal/schema/content.js +13 -0
- package/dist/internal/schema/content.js.map +1 -0
- package/dist/internal/schema/fromJsonSchemaDocument.js +253 -255
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/fromRepresentation.js +2 -1
- package/dist/internal/schema/fromRepresentation.js.map +1 -1
- package/dist/internal/schema/interpreter.js +51 -36
- package/dist/internal/schema/interpreter.js.map +1 -1
- package/dist/internal/schema/standardSchema.js +42 -35
- package/dist/internal/schema/standardSchema.js.map +1 -1
- package/dist/internal/schema/toCodeDocument.js +10 -5
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toCodec.js +99 -17
- package/dist/internal/schema/toCodec.js.map +1 -1
- package/dist/internal/schema/toFormatter.js +5 -5
- package/dist/internal/schema/toFormatter.js.map +1 -1
- package/dist/internal/schema/toJsonSchemaDocument.js +257 -170
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toRepresentation.js +107 -129
- package/dist/internal/schema/toRepresentation.js.map +1 -1
- package/dist/internal/sql.d.ts +2 -0
- package/dist/internal/sql.d.ts.map +1 -0
- package/dist/internal/sql.js +13 -0
- package/dist/internal/sql.js.map +1 -0
- package/dist/internal/trie.js +1 -3
- package/dist/internal/trie.js.map +1 -1
- package/dist/internal/uuid.js +7 -3
- package/dist/internal/uuid.js.map +1 -1
- package/dist/internal/version.js +1 -1
- package/dist/net/NetAddress.d.ts.map +1 -1
- package/dist/net/NetAddress.js +2 -8
- package/dist/net/NetAddress.js.map +1 -1
- package/dist/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/observability/OtlpExporter.js +5 -12
- package/dist/observability/OtlpExporter.js.map +1 -1
- package/dist/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/observability/OtlpMetrics.js +5 -3
- package/dist/observability/OtlpMetrics.js.map +1 -1
- package/dist/observability/OtlpProxy.d.ts +154 -0
- package/dist/observability/OtlpProxy.d.ts.map +1 -0
- package/dist/observability/OtlpProxy.js +235 -0
- package/dist/observability/OtlpProxy.js.map +1 -0
- package/dist/observability/OtlpResource.d.ts +3 -1
- package/dist/observability/OtlpResource.d.ts.map +1 -1
- package/dist/observability/OtlpResource.js +11 -4
- package/dist/observability/OtlpResource.js.map +1 -1
- package/dist/observability/OtlpSerialization.d.ts +5 -0
- package/dist/observability/OtlpSerialization.d.ts.map +1 -1
- package/dist/observability/OtlpSerialization.js +14 -3
- package/dist/observability/OtlpSerialization.js.map +1 -1
- package/dist/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/observability/OtlpTracer.js +4 -0
- package/dist/observability/OtlpTracer.js.map +1 -1
- package/dist/observability/index.d.ts +5 -0
- package/dist/observability/index.d.ts.map +1 -1
- package/dist/observability/index.js +5 -0
- package/dist/observability/index.js.map +1 -1
- package/dist/observability/internal/protobuf.d.ts +0 -9
- package/dist/observability/internal/protobuf.d.ts.map +1 -1
- package/dist/observability/internal/protobuf.js +2 -10
- package/dist/observability/internal/protobuf.js.map +1 -1
- package/dist/persistence/CircuitBreaker.d.ts +897 -0
- package/dist/persistence/CircuitBreaker.d.ts.map +1 -0
- package/dist/persistence/CircuitBreaker.js +1165 -0
- package/dist/persistence/CircuitBreaker.js.map +1 -0
- package/dist/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/persistence/PersistedCache.js +1 -1
- package/dist/persistence/PersistedCache.js.map +1 -1
- package/dist/persistence/PersistedQueue.d.ts +6 -2
- package/dist/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/persistence/PersistedQueue.js +162 -84
- package/dist/persistence/PersistedQueue.js.map +1 -1
- package/dist/persistence/Persistence.d.ts +28 -0
- package/dist/persistence/Persistence.d.ts.map +1 -1
- package/dist/persistence/Persistence.js +36 -8
- package/dist/persistence/Persistence.js.map +1 -1
- package/dist/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/persistence/RateLimiter.js +8 -12
- package/dist/persistence/RateLimiter.js.map +1 -1
- package/dist/persistence/Redis.d.ts +78 -2
- package/dist/persistence/Redis.d.ts.map +1 -1
- package/dist/persistence/Redis.js +62 -7
- package/dist/persistence/Redis.js.map +1 -1
- package/dist/persistence/UserDirectories.d.ts +129 -0
- package/dist/persistence/UserDirectories.d.ts.map +1 -0
- package/dist/persistence/UserDirectories.js +178 -0
- package/dist/persistence/UserDirectories.js.map +1 -0
- package/dist/persistence/index.d.ts +10 -0
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +10 -0
- package/dist/persistence/index.js.map +1 -1
- package/dist/process/ChildProcess.d.ts +32 -5
- package/dist/process/ChildProcess.d.ts.map +1 -1
- package/dist/process/ChildProcess.js.map +1 -1
- package/dist/process/ChildProcessSpawner.d.ts +30 -0
- package/dist/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/process/ChildProcessSpawner.js +5 -2
- package/dist/process/ChildProcessSpawner.js.map +1 -1
- package/dist/reactivity/AsyncResult.d.ts +1 -1
- package/dist/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/reactivity/AsyncResult.js +1 -1
- package/dist/reactivity/AsyncResult.js.map +1 -1
- package/dist/reactivity/Atom.d.ts +69 -30
- package/dist/reactivity/Atom.d.ts.map +1 -1
- package/dist/reactivity/Atom.js +40 -15
- package/dist/reactivity/Atom.js.map +1 -1
- package/dist/reactivity/AtomHttpApi.d.ts +5 -5
- package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/reactivity/AtomHttpApi.js +1 -1
- package/dist/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/reactivity/AtomRegistry.d.ts +2 -2
- package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/reactivity/AtomRegistry.js +44 -9
- package/dist/reactivity/AtomRegistry.js.map +1 -1
- package/dist/reactivity/AtomRpc.d.ts +3 -3
- package/dist/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/reactivity/AtomRpc.js +1 -1
- package/dist/reactivity/AtomRpc.js.map +1 -1
- package/dist/reactivity/Hydration.d.ts.map +1 -1
- package/dist/reactivity/Hydration.js +46 -12
- package/dist/reactivity/Hydration.js.map +1 -1
- package/dist/reactivity/Reactivity.d.ts +71 -7
- package/dist/reactivity/Reactivity.d.ts.map +1 -1
- package/dist/reactivity/Reactivity.js +21 -12
- package/dist/reactivity/Reactivity.js.map +1 -1
- package/dist/rpc/Rpc.d.ts +18 -0
- package/dist/rpc/Rpc.d.ts.map +1 -1
- package/dist/rpc/Rpc.js +20 -0
- package/dist/rpc/Rpc.js.map +1 -1
- package/dist/rpc/RpcClient.d.ts +26 -2
- package/dist/rpc/RpcClient.d.ts.map +1 -1
- package/dist/rpc/RpcClient.js +198 -61
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcSerialization.d.ts +29 -0
- package/dist/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/rpc/RpcSerialization.js +41 -13
- package/dist/rpc/RpcSerialization.js.map +1 -1
- package/dist/rpc/RpcServer.d.ts.map +1 -1
- package/dist/rpc/RpcServer.js +20 -19
- package/dist/rpc/RpcServer.js.map +1 -1
- package/dist/rpc/RpcTest.d.ts +1 -0
- package/dist/rpc/RpcTest.d.ts.map +1 -1
- package/dist/rpc/RpcTest.js +1 -0
- package/dist/rpc/RpcTest.js.map +1 -1
- package/dist/schema/Model.d.ts +1 -1
- package/dist/schema/VariantSchema.d.ts +22 -3
- package/dist/schema/VariantSchema.d.ts.map +1 -1
- package/dist/schema/VariantSchema.js +32 -18
- package/dist/schema/VariantSchema.js.map +1 -1
- package/dist/socket/Socket.d.ts +23 -1
- package/dist/socket/Socket.d.ts.map +1 -1
- package/dist/socket/Socket.js +36 -3
- package/dist/socket/Socket.js.map +1 -1
- package/dist/sql/Migrator.d.ts +2 -1
- package/dist/sql/Migrator.d.ts.map +1 -1
- package/dist/sql/Migrator.js +21 -6
- package/dist/sql/Migrator.js.map +1 -1
- package/dist/sql/SqlClient.d.ts +148 -5
- package/dist/sql/SqlClient.d.ts.map +1 -1
- package/dist/sql/SqlClient.js +155 -27
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/sql/SqlResolver.d.ts +13 -0
- package/dist/sql/SqlResolver.d.ts.map +1 -1
- package/dist/sql/SqlResolver.js +27 -4
- package/dist/sql/SqlResolver.js.map +1 -1
- package/dist/sql/Statement.d.ts +10 -1
- package/dist/sql/Statement.d.ts.map +1 -1
- package/dist/sql/Statement.js +45 -7
- package/dist/sql/Statement.js.map +1 -1
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +4 -2
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +7 -1
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +9 -3
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/workflow/DurableDeferred.js +21 -2
- package/dist/workflow/DurableDeferred.js.map +1 -1
- package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/workflow/WorkflowEngine.js +18 -4
- package/dist/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +13 -3
- package/src/Arbitrary.ts +10 -2
- package/src/Array.ts +128 -55
- package/src/Bytes.ts +111 -0
- package/src/Channel.ts +308 -452
- package/src/ChannelSchema.ts +1 -49
- package/src/Chunk.ts +55 -61
- package/src/Config.ts +12 -86
- package/src/ConfigProvider.ts +2 -1
- package/src/Cron.ts +6 -3
- package/src/Data.ts +60 -265
- package/src/Duration.ts +66 -16
- package/src/Effect.ts +503 -168
- package/src/Equal.ts +8 -1
- package/src/Equivalence.ts +7 -4
- package/src/Exit.ts +27 -12
- package/src/FiberHandle.ts +10 -9
- package/src/FiberMap.ts +13 -66
- package/src/FileSystem.ts +10 -0
- package/src/Formatter.ts +28 -13
- package/src/Graph.ts +171 -1263
- package/src/Hash.ts +4 -1
- package/src/HashSet.ts +0 -60
- package/src/Iterable.ts +15 -14
- package/src/JsonPatch.ts +4 -0
- package/src/JsonSchema.ts +40 -43
- package/src/Layer.ts +2 -2
- package/src/ManagedRuntime.ts +72 -6
- package/src/Metric.ts +252 -510
- package/src/MutableHashMap.ts +4 -473
- package/src/MutableList.ts +7 -5
- package/src/MutableRef.ts +8 -1
- package/src/Number.ts +2 -2
- package/src/Optic.ts +17 -332
- package/src/PartitionedSemaphore.ts +24 -13
- package/src/Path.ts +9 -1
- package/src/Pool.ts +109 -37
- package/src/PubSub.ts +17 -13
- package/src/Queue.ts +5 -37
- package/src/Random.ts +1 -1
- package/src/RcMap.ts +14 -8
- package/src/Record.ts +51 -0
- package/src/Ref.ts +15 -104
- package/src/References.ts +5 -4
- package/src/RequestResolver.ts +46 -87
- package/src/Resource.ts +1 -1
- package/src/Runtime.ts +19 -18
- package/src/Schedule.ts +3 -95
- package/src/Schema.ts +639 -381
- package/src/SchemaAST.ts +40 -29
- package/src/SchemaGetter.ts +22 -5
- package/src/SchemaIssue.ts +44 -53
- package/src/SchemaParser.ts +51 -18
- package/src/SchemaRepresentation.ts +95 -35
- package/src/SchemaTransformation.ts +10 -3
- package/src/Scope.ts +12 -2
- package/src/ScopedCache.ts +17 -142
- package/src/SemVer.ts +1528 -0
- package/src/SemVerRange.ts +883 -0
- package/src/Semaphore.ts +67 -40
- package/src/Sink.ts +21 -4
- package/src/Stream.ts +367 -1027
- package/src/String.ts +11 -8
- package/src/TextDiff.ts +766 -0
- package/src/Tracer.ts +15 -1
- package/src/TxHashMap.ts +1 -103
- package/src/TxHashSet.ts +48 -753
- package/src/ai/AiError.ts +66 -4
- package/src/ai/Chat.ts +10 -5
- package/src/ai/Decision.ts +49 -1
- package/src/ai/DecisionModel.ts +264 -108
- package/src/ai/EmbeddingModel.ts +25 -13
- package/src/ai/LanguageModel.ts +9 -0
- package/src/ai/McpClient.ts +1211 -0
- package/src/ai/McpClientError.ts +329 -0
- package/src/ai/McpProtocol.ts +2 -2
- package/src/ai/McpSchema.ts +153 -35
- package/src/ai/McpServer.ts +231 -233
- package/src/ai/Prompt.ts +114 -35
- package/src/ai/Response.ts +220 -65
- package/src/ai/Tool.ts +50 -6
- package/src/ai/Toolkit.ts +82 -11
- package/src/ai/index.ts +12 -0
- package/src/ai/internal/mcpCore.ts +13 -14
- package/src/ai/internal/mcpProtocol/v2024_11_05.ts +1 -1
- package/src/ai/internal/mcpProtocol/v2025_03_26.ts +1 -1
- package/src/ai/internal/mcpProtocol/v2025_06_18.ts +3 -3
- package/src/ai/internal/mcpProtocol/v2025_11_25.ts +3 -3
- package/src/ai/internal/mcpProtocol/v2026_07_28.ts +12 -14
- package/src/ai/internal/mcpProtocol.ts +22 -2
- package/src/ai/internal/mcpRuntime.ts +3 -4
- package/src/ai/internal/mcpSchema/v2024_11_05.ts +20 -13
- package/src/ai/internal/mcpSchema/v2025_03_26.ts +4 -2
- package/src/ai/internal/mcpSchema/v2025_06_18.ts +7 -7
- package/src/ai/internal/mcpSchema/v2025_11_25.ts +8 -8
- package/src/ai/internal/mcpSchema/v2026_07_28.ts +44 -42
- package/src/cli/Argument.ts +15 -0
- package/src/cli/CliError.ts +136 -4
- package/src/cli/CliOutput.ts +183 -6
- package/src/cli/Command.ts +367 -48
- package/src/cli/Completions.ts +56 -0
- package/src/cli/Flag.ts +132 -0
- package/src/cli/GlobalFlag.ts +5 -6
- package/src/cli/Param.ts +151 -6
- package/src/cli/TerminalCapabilities.ts +159 -0
- package/src/cli/index.ts +6 -0
- package/src/cli/internal/command.ts +8 -3
- package/src/cli/internal/completions/bash.ts +83 -32
- package/src/cli/internal/completions/descriptor.ts +11 -1
- package/src/cli/internal/completions/fish.ts +10 -8
- package/src/cli/internal/completions/powershell.ts +23 -14
- package/src/cli/internal/completions/zsh.ts +8 -5
- package/src/cli/internal/formatter.ts +18 -0
- package/src/cli/internal/lexer.ts +12 -5
- package/src/cli/internal/parser.ts +31 -11
- package/src/cluster/ClusterCron.ts +94 -35
- package/src/cluster/ClusterMetrics.ts +149 -7
- package/src/cluster/ClusterWorkflowEngine.ts +130 -57
- package/src/cluster/Entity.ts +4 -0
- package/src/cluster/MessageStorage.ts +26 -14
- package/src/cluster/Runners.ts +76 -25
- package/src/cluster/Sharding.ts +200 -58
- package/src/cluster/ShardingConfig.ts +20 -0
- package/src/cluster/Snowflake.ts +3 -7
- package/src/cluster/SqlMessageStorage.ts +58 -55
- package/src/cluster/SqlRunnerStorage.ts +120 -51
- package/src/cluster/internal/entityManager.ts +155 -32
- package/src/devtools/DevTools.ts +3 -2
- package/src/devtools/DevToolsClient.ts +29 -10
- package/src/encoding/Base64.ts +38 -0
- package/src/encoding/Base64Url.ts +31 -0
- package/src/encoding/Ini.ts +3 -0
- package/src/encoding/JsonArray.ts +849 -0
- package/src/encoding/Ndjson.ts +211 -20
- package/src/encoding/SchemaBinary.ts +14 -48
- package/src/encoding/Sse.ts +4 -3
- package/src/encoding/Tar.ts +1417 -0
- package/src/encoding/Toml.ts +36 -19
- package/src/encoding/Xml.ts +2037 -0
- package/src/encoding/Yaml.ts +108 -36
- package/src/encoding/Zip.ts +1558 -0
- package/src/encoding/index.ts +24 -0
- package/src/eventlog/EventJournal.ts +611 -227
- package/src/eventlog/EventLog.ts +496 -196
- package/src/eventlog/EventLogEncryption.ts +128 -43
- package/src/eventlog/EventLogMessage.ts +62 -11
- package/src/eventlog/EventLogRemote.ts +77 -21
- package/src/eventlog/EventLogServer.ts +162 -20
- package/src/eventlog/EventLogServerEncrypted.ts +121 -80
- package/src/eventlog/EventLogServerUnencrypted.ts +180 -77
- package/src/eventlog/EventRow.ts +706 -0
- package/src/eventlog/SqlEventJournal.ts +496 -193
- package/src/eventlog/SqlEventLogServerEncrypted.ts +212 -83
- package/src/eventlog/SqlEventLogServerUnencrypted.ts +141 -62
- package/src/eventlog/index.ts +6 -0
- package/src/eventlog/internal/conflicts.ts +119 -0
- package/src/graphql/GraphQLClientError.ts +5 -12
- package/src/graphql/GraphQLProtocol.ts +12 -9
- package/src/graphql/GraphQLResolver.ts +90 -239
- package/src/http/Cookies.ts +10 -11
- package/src/http/FetchHttpClient.ts +56 -6
- package/src/http/FindMyWay/internal/router.ts +11 -0
- package/src/http/Headers.ts +337 -154
- package/src/http/HttpClient.ts +673 -142
- package/src/http/HttpClientError.ts +35 -1
- package/src/http/HttpClientRequest.ts +151 -5
- package/src/http/HttpClientResponse.ts +71 -0
- package/src/http/HttpEffect.ts +25 -33
- package/src/http/HttpIncomingMessage.ts +3 -23
- package/src/http/HttpMiddleware.ts +194 -40
- package/src/http/HttpRouter.ts +10 -3
- package/src/http/HttpServerError.ts +8 -5
- package/src/http/HttpServerRequest.ts +172 -27
- package/src/http/HttpServerResponse.ts +49 -23
- package/src/http/HttpStaticServer.ts +71 -26
- package/src/http/MultipartParser/internal/contentType.ts +109 -8
- package/src/http/MultipartParser/internal/headers.ts +4 -16
- package/src/http/MultipartParser/internal/multipart.ts +10 -32
- package/src/http/Url.ts +6 -1
- package/src/http/UrlParams.ts +6 -1
- package/src/http/internal/compression.ts +4 -5
- package/src/http/internal/decompression.ts +32 -17
- package/src/http/internal/httpBody.ts +10 -2
- package/src/http/internal/lazyStream.ts +25 -0
- package/src/http/internal/requestState.ts +33 -0
- package/src/http/internal/urlParams.ts +29 -0
- package/src/http/internal/webResponse.ts +20 -0
- package/src/http-api/HttpApi.ts +4 -7
- package/src/http-api/HttpApiBuilder.ts +190 -32
- package/src/http-api/HttpApiClient.ts +364 -90
- package/src/http-api/HttpApiEndpoint.ts +248 -46
- package/src/http-api/HttpApiError.ts +55 -0
- package/src/http-api/HttpApiScalar.ts +4 -3
- package/src/http-api/HttpApiSchema.ts +373 -18
- package/src/http-api/HttpApiSwagger.ts +11 -4
- package/src/http-api/HttpApiTest.ts +36 -11
- package/src/http-api/OpenApi.ts +103 -58
- package/src/http-api/internal/path.ts +40 -12
- package/src/http-api/internal/toCodecHttpProperties.ts +56 -0
- package/src/index.ts +24 -0
- package/src/internal/arbitrary/runner.ts +133 -36
- package/src/internal/core.ts +3 -1
- package/src/internal/dateTime.ts +20 -7
- package/src/internal/effect.ts +144 -100
- package/src/internal/equal.ts +17 -0
- package/src/internal/hashMap.ts +2 -2
- package/src/internal/hydration.ts +15 -0
- package/src/internal/inflate.ts +710 -0
- package/src/internal/jsonSchema.ts +27 -0
- package/src/internal/matcher.ts +1 -1
- package/src/internal/record.ts +6 -0
- package/src/internal/request.ts +21 -6
- package/src/internal/schedule.ts +20 -39
- package/src/internal/schema/compilerRegistry.ts +6 -1
- package/src/internal/schema/content.ts +18 -0
- package/src/internal/schema/fromJsonSchemaDocument.ts +458 -351
- package/src/internal/schema/fromRepresentation.ts +2 -1
- package/src/internal/schema/interpreter.ts +58 -45
- package/src/internal/schema/standardSchema.ts +34 -32
- package/src/internal/schema/toCodeDocument.ts +12 -7
- package/src/internal/schema/toCodec.ts +134 -15
- package/src/internal/schema/toFormatter.ts +6 -6
- package/src/internal/schema/toJsonSchemaDocument.ts +246 -194
- package/src/internal/schema/toRepresentation.ts +122 -140
- package/src/internal/sql.ts +14 -0
- package/src/internal/trie.ts +1 -3
- package/src/internal/uuid.ts +15 -10
- package/src/internal/version.ts +1 -1
- package/src/net/NetAddress.ts +2 -9
- package/src/observability/OtlpExporter.ts +5 -12
- package/src/observability/OtlpMetrics.ts +5 -3
- package/src/observability/OtlpProxy.ts +314 -0
- package/src/observability/OtlpResource.ts +16 -6
- package/src/observability/OtlpSerialization.ts +17 -3
- package/src/observability/OtlpTracer.ts +4 -0
- package/src/observability/index.ts +6 -0
- package/src/observability/internal/protobuf.ts +2 -10
- package/src/persistence/CircuitBreaker.ts +1678 -0
- package/src/persistence/PersistedCache.ts +3 -1
- package/src/persistence/PersistedQueue.ts +223 -153
- package/src/persistence/Persistence.ts +64 -30
- package/src/persistence/RateLimiter.ts +18 -21
- package/src/persistence/Redis.ts +129 -8
- package/src/persistence/UserDirectories.ts +273 -0
- package/src/persistence/index.ts +12 -0
- package/src/process/ChildProcess.ts +32 -5
- package/src/process/ChildProcessSpawner.ts +41 -2
- package/src/reactivity/AsyncResult.ts +5 -39
- package/src/reactivity/Atom.ts +134 -166
- package/src/reactivity/AtomHttpApi.ts +10 -16
- package/src/reactivity/AtomRegistry.ts +50 -29
- package/src/reactivity/AtomRpc.ts +6 -22
- package/src/reactivity/Hydration.ts +53 -12
- package/src/reactivity/Reactivity.ts +97 -39
- package/src/rpc/Rpc.ts +21 -0
- package/src/rpc/RpcClient.ts +283 -104
- package/src/rpc/RpcSerialization.ts +53 -14
- package/src/rpc/RpcServer.ts +27 -21
- package/src/rpc/RpcTest.ts +3 -0
- package/src/schema/VariantSchema.ts +86 -22
- package/src/socket/Socket.ts +45 -20
- package/src/sql/Migrator.ts +26 -11
- package/src/sql/SqlClient.ts +273 -29
- package/src/sql/SqlResolver.ts +32 -9
- package/src/sql/Statement.ts +65 -10
- package/src/testing/TestClock.ts +4 -1
- package/src/testing/TestSchema.ts +9 -3
- package/src/workflow/DurableDeferred.ts +23 -6
- package/src/workflow/WorkflowEngine.ts +34 -10
- package/dist/http/internal/preResponseHandler.d.ts +0 -2
- package/dist/http/internal/preResponseHandler.d.ts.map +0 -1
- package/dist/http/internal/preResponseHandler.js +0 -14
- package/dist/http/internal/preResponseHandler.js.map +0 -1
- package/src/http/internal/preResponseHandler.ts +0 -19
package/src/cli/Flag.ts
CHANGED
|
@@ -712,6 +712,123 @@ export const withOptionalValue: {
|
|
|
712
712
|
<A>(self: Flag<A>, value: string): Flag<A>
|
|
713
713
|
} = dual(2, <A>(self: Flag<A>, value: string) => Param.withOptionalValue(self, value))
|
|
714
714
|
|
|
715
|
+
/**
|
|
716
|
+
* Renames the negated form of a boolean flag, which defaults to `--no-<name>`.
|
|
717
|
+
*
|
|
718
|
+
* **Details**
|
|
719
|
+
*
|
|
720
|
+
* The new name replaces the default, so `--no-<name>` is no longer accepted
|
|
721
|
+
* and shell completions offer the new name instead. Has no effect on
|
|
722
|
+
* non-boolean flags.
|
|
723
|
+
*
|
|
724
|
+
* **Example** (Renaming a boolean flag's negation)
|
|
725
|
+
*
|
|
726
|
+
* ```ts import.meta.vitest
|
|
727
|
+
* import { Flag } from "effect/cli"
|
|
728
|
+
*
|
|
729
|
+
* const validate = Flag.Boolean("validate").pipe(
|
|
730
|
+
* Flag.withDefault(true),
|
|
731
|
+
* Flag.withNegation("skip-validate")
|
|
732
|
+
* )
|
|
733
|
+
* // --validate => true
|
|
734
|
+
* // --skip-validate => false
|
|
735
|
+
* // --no-validate => unrecognized flag
|
|
736
|
+
* validate.kind // => "flag"
|
|
737
|
+
* ```
|
|
738
|
+
*
|
|
739
|
+
* @stability unstable
|
|
740
|
+
* @category combinators
|
|
741
|
+
* @since 4.1.0
|
|
742
|
+
*/
|
|
743
|
+
export const withNegation: {
|
|
744
|
+
/**
|
|
745
|
+
* Renames the negated form of a boolean flag, which defaults to `--no-<name>`.
|
|
746
|
+
*
|
|
747
|
+
* **Details**
|
|
748
|
+
*
|
|
749
|
+
* The new name replaces the default, so `--no-<name>` is no longer accepted
|
|
750
|
+
* and shell completions offer the new name instead. Has no effect on
|
|
751
|
+
* non-boolean flags.
|
|
752
|
+
*
|
|
753
|
+
* **Example** (Renaming a boolean flag's negation)
|
|
754
|
+
*
|
|
755
|
+
* ```ts import.meta.vitest
|
|
756
|
+
* import { Flag } from "effect/cli"
|
|
757
|
+
*
|
|
758
|
+
* const validate = Flag.Boolean("validate").pipe(
|
|
759
|
+
* Flag.withDefault(true),
|
|
760
|
+
* Flag.withNegation("skip-validate")
|
|
761
|
+
* )
|
|
762
|
+
* // --validate => true
|
|
763
|
+
* // --skip-validate => false
|
|
764
|
+
* // --no-validate => unrecognized flag
|
|
765
|
+
* validate.kind // => "flag"
|
|
766
|
+
* ```
|
|
767
|
+
*
|
|
768
|
+
* @stability unstable
|
|
769
|
+
* @category combinators
|
|
770
|
+
* @since 4.1.0
|
|
771
|
+
*/
|
|
772
|
+
(name: string): <A>(self: Flag<A>) => Flag<A>
|
|
773
|
+
/**
|
|
774
|
+
* Renames the negated form of a boolean flag, which defaults to `--no-<name>`.
|
|
775
|
+
*
|
|
776
|
+
* **Details**
|
|
777
|
+
*
|
|
778
|
+
* The new name replaces the default, so `--no-<name>` is no longer accepted
|
|
779
|
+
* and shell completions offer the new name instead. Has no effect on
|
|
780
|
+
* non-boolean flags.
|
|
781
|
+
*
|
|
782
|
+
* **Example** (Renaming a boolean flag's negation)
|
|
783
|
+
*
|
|
784
|
+
* ```ts import.meta.vitest
|
|
785
|
+
* import { Flag } from "effect/cli"
|
|
786
|
+
*
|
|
787
|
+
* const validate = Flag.Boolean("validate").pipe(
|
|
788
|
+
* Flag.withDefault(true),
|
|
789
|
+
* Flag.withNegation("skip-validate")
|
|
790
|
+
* )
|
|
791
|
+
* // --validate => true
|
|
792
|
+
* // --skip-validate => false
|
|
793
|
+
* // --no-validate => unrecognized flag
|
|
794
|
+
* validate.kind // => "flag"
|
|
795
|
+
* ```
|
|
796
|
+
*
|
|
797
|
+
* @stability unstable
|
|
798
|
+
* @category combinators
|
|
799
|
+
* @since 4.1.0
|
|
800
|
+
*/
|
|
801
|
+
<A>(self: Flag<A>, name: string): Flag<A>
|
|
802
|
+
} = dual(2, <A>(self: Flag<A>, name: string) => Param.withNegation(self, name))
|
|
803
|
+
|
|
804
|
+
/**
|
|
805
|
+
* Removes the negated `--no-<name>` form of a boolean flag.
|
|
806
|
+
*
|
|
807
|
+
* **Details**
|
|
808
|
+
*
|
|
809
|
+
* The negated form is then rejected as an unrecognized flag and left out of
|
|
810
|
+
* shell completions. Has no effect on non-boolean flags.
|
|
811
|
+
*
|
|
812
|
+
* **Example** (Disabling a boolean flag's negation)
|
|
813
|
+
*
|
|
814
|
+
* ```ts import.meta.vitest
|
|
815
|
+
* import { Flag } from "effect/cli"
|
|
816
|
+
*
|
|
817
|
+
* const unsafe = Flag.Boolean("unsafe").pipe(
|
|
818
|
+
* Flag.withDefault(false),
|
|
819
|
+
* Flag.withoutNegation
|
|
820
|
+
* )
|
|
821
|
+
* // --unsafe => true
|
|
822
|
+
* // --no-unsafe => unrecognized flag
|
|
823
|
+
* unsafe.kind // => "flag"
|
|
824
|
+
* ```
|
|
825
|
+
*
|
|
826
|
+
* @stability unstable
|
|
827
|
+
* @category combinators
|
|
828
|
+
* @since 4.1.0
|
|
829
|
+
*/
|
|
830
|
+
export const withoutNegation = <A>(self: Flag<A>): Flag<A> => Param.withoutNegation(self)
|
|
831
|
+
|
|
715
832
|
// -------------------------------------------------------------------------------------
|
|
716
833
|
// metadata
|
|
717
834
|
// -------------------------------------------------------------------------------------
|
|
@@ -1038,6 +1155,11 @@ export const withFallbackConfig: {
|
|
|
1038
1155
|
/**
|
|
1039
1156
|
* Adds a fallback prompt that is shown when a required flag is missing.
|
|
1040
1157
|
*
|
|
1158
|
+
* **Gotchas**
|
|
1159
|
+
*
|
|
1160
|
+
* When `TerminalCapabilities.canPrompt` is `false`, the prompt is skipped and
|
|
1161
|
+
* the original `MissingOption` error is returned.
|
|
1162
|
+
*
|
|
1041
1163
|
* **Example** (Falling back to prompts)
|
|
1042
1164
|
*
|
|
1043
1165
|
* ```ts import.meta.vitest
|
|
@@ -1057,6 +1179,11 @@ export const withFallbackPrompt: {
|
|
|
1057
1179
|
/**
|
|
1058
1180
|
* Adds a fallback prompt that is shown when a required flag is missing.
|
|
1059
1181
|
*
|
|
1182
|
+
* **Gotchas**
|
|
1183
|
+
*
|
|
1184
|
+
* When `TerminalCapabilities.canPrompt` is `false`, the prompt is skipped and
|
|
1185
|
+
* the original `MissingOption` error is returned.
|
|
1186
|
+
*
|
|
1060
1187
|
* **Example** (Falling back to prompts)
|
|
1061
1188
|
*
|
|
1062
1189
|
* ```ts import.meta.vitest
|
|
@@ -1076,6 +1203,11 @@ export const withFallbackPrompt: {
|
|
|
1076
1203
|
/**
|
|
1077
1204
|
* Adds a fallback prompt that is shown when a required flag is missing.
|
|
1078
1205
|
*
|
|
1206
|
+
* **Gotchas**
|
|
1207
|
+
*
|
|
1208
|
+
* When `TerminalCapabilities.canPrompt` is `false`, the prompt is skipped and
|
|
1209
|
+
* the original `MissingOption` error is returned.
|
|
1210
|
+
*
|
|
1079
1211
|
* **Example** (Falling back to prompts)
|
|
1080
1212
|
*
|
|
1081
1213
|
* ```ts import.meta.vitest
|
package/src/cli/GlobalFlag.ts
CHANGED
|
@@ -21,7 +21,6 @@ import * as CliOutput from "./CliOutput.ts"
|
|
|
21
21
|
import type * as Command from "./Command.ts"
|
|
22
22
|
import * as Completions_ from "./Completions.ts"
|
|
23
23
|
import * as Flag from "./Flag.ts"
|
|
24
|
-
import * as CommandDescriptor from "./internal/completions/descriptor.ts"
|
|
25
24
|
import * as HelpInternal from "./internal/help.ts"
|
|
26
25
|
|
|
27
26
|
/* ========================================================================== */
|
|
@@ -169,9 +168,9 @@ export const Help: Action<boolean> = Action({
|
|
|
169
168
|
Flag.withDefault(false)
|
|
170
169
|
),
|
|
171
170
|
run: Effect.fnUntraced(function*(_, { builtIns, command, commandPath }) {
|
|
172
|
-
const
|
|
171
|
+
const presenter = yield* CliOutput.Presenter
|
|
173
172
|
const helpDoc = yield* HelpInternal.getHelpForCommandPath(command, commandPath, builtIns)
|
|
174
|
-
yield*
|
|
173
|
+
yield* presenter.present({ _tag: "Help", reason: "Requested", commandPath, helpDoc })
|
|
175
174
|
})
|
|
176
175
|
})
|
|
177
176
|
|
|
@@ -193,8 +192,8 @@ export const Version: Action<boolean> = Action({
|
|
|
193
192
|
Flag.withDefault(false)
|
|
194
193
|
),
|
|
195
194
|
run: Effect.fnUntraced(function*(_, { command, version }) {
|
|
196
|
-
const
|
|
197
|
-
yield*
|
|
195
|
+
const presenter = yield* CliOutput.Presenter
|
|
196
|
+
yield* presenter.present({ _tag: "Version", name: command.name, version })
|
|
198
197
|
})
|
|
199
198
|
})
|
|
200
199
|
|
|
@@ -249,7 +248,7 @@ export const Completions: Action<Option.Option<Completions_.Shell>> = Action({
|
|
|
249
248
|
),
|
|
250
249
|
run: Effect.fnUntraced(function*(shell, { command }) {
|
|
251
250
|
if (Option.isNone(shell)) return
|
|
252
|
-
const descriptor =
|
|
251
|
+
const descriptor = Completions_.fromCommand(command)
|
|
253
252
|
yield* Console.log(
|
|
254
253
|
Completions_.generate(command.name, shell.value, descriptor)
|
|
255
254
|
)
|
package/src/cli/Param.ts
CHANGED
|
@@ -25,6 +25,7 @@ import * as CliError from "./CliError.ts"
|
|
|
25
25
|
import type { Environment } from "./Command.ts"
|
|
26
26
|
import * as Primitive from "./Primitive.ts"
|
|
27
27
|
import * as Prompt from "./Prompt.ts"
|
|
28
|
+
import * as TerminalCapabilities from "./TerminalCapabilities.ts"
|
|
28
29
|
|
|
29
30
|
const TypeId = "~effect/cli/Param"
|
|
30
31
|
|
|
@@ -217,6 +218,11 @@ export interface Single<Kind extends ParamKind, out A> extends Param<Kind, A> {
|
|
|
217
218
|
* Raw value used for a bare flag. See `withOptionalValue`.
|
|
218
219
|
*/
|
|
219
220
|
readonly optionalValue?: string | undefined
|
|
221
|
+
/**
|
|
222
|
+
* Long name that sets a boolean flag to `false`. `undefined` means the
|
|
223
|
+
* default `no-<name>`, `false` means no negated form. See `withNegation`.
|
|
224
|
+
*/
|
|
225
|
+
readonly negation?: string | false | undefined
|
|
220
226
|
}
|
|
221
227
|
|
|
222
228
|
/**
|
|
@@ -367,6 +373,7 @@ export const makeSingle = <const Kind extends ParamKind, A>(params: {
|
|
|
367
373
|
readonly aliases?: ReadonlyArray<string> | undefined
|
|
368
374
|
readonly hidden?: boolean | undefined
|
|
369
375
|
readonly optionalValue?: string | undefined
|
|
376
|
+
readonly negation?: string | false | undefined
|
|
370
377
|
}): Single<Kind, A> => {
|
|
371
378
|
const parse: Parse<A> = (args) =>
|
|
372
379
|
params.kind === argumentKind
|
|
@@ -1925,6 +1932,9 @@ export const withFallbackConfig: {
|
|
|
1925
1932
|
*
|
|
1926
1933
|
* This only handles missing options and missing arguments. Invalid values do not
|
|
1927
1934
|
* prompt, and prompt cancellation re-fails with the original missing error.
|
|
1935
|
+
* When `TerminalCapabilities.canPrompt` is `false`, the fallback is skipped
|
|
1936
|
+
* entirely: no prompt is built or shown, and the original missing error is
|
|
1937
|
+
* returned.
|
|
1928
1938
|
*
|
|
1929
1939
|
* @see {@link FallbackPrompt} for accepted fallback prompt forms
|
|
1930
1940
|
* @see {@link withFallbackConfig} for loading a fallback from config
|
|
@@ -1952,6 +1962,9 @@ export const withFallbackPrompt: {
|
|
|
1952
1962
|
*
|
|
1953
1963
|
* This only handles missing options and missing arguments. Invalid values do not
|
|
1954
1964
|
* prompt, and prompt cancellation re-fails with the original missing error.
|
|
1965
|
+
* When `TerminalCapabilities.canPrompt` is `false`, the fallback is skipped
|
|
1966
|
+
* entirely: no prompt is built or shown, and the original missing error is
|
|
1967
|
+
* returned.
|
|
1955
1968
|
*
|
|
1956
1969
|
* @see {@link FallbackPrompt} for accepted fallback prompt forms
|
|
1957
1970
|
* @see {@link withFallbackConfig} for loading a fallback from config
|
|
@@ -1979,6 +1992,9 @@ export const withFallbackPrompt: {
|
|
|
1979
1992
|
*
|
|
1980
1993
|
* This only handles missing options and missing arguments. Invalid values do not
|
|
1981
1994
|
* prompt, and prompt cancellation re-fails with the original missing error.
|
|
1995
|
+
* When `TerminalCapabilities.canPrompt` is `false`, the fallback is skipped
|
|
1996
|
+
* entirely: no prompt is built or shown, and the original missing error is
|
|
1997
|
+
* returned.
|
|
1982
1998
|
*
|
|
1983
1999
|
* @see {@link FallbackPrompt} for accepted fallback prompt forms
|
|
1984
2000
|
* @see {@link withFallbackConfig} for loading a fallback from config
|
|
@@ -1993,11 +2009,16 @@ export const withFallbackPrompt: {
|
|
|
1993
2009
|
self: Param<Kind, A>,
|
|
1994
2010
|
prompt: FallbackPrompt<B>
|
|
1995
2011
|
): Param<Kind, A | B> => {
|
|
1996
|
-
const runPrompt = (
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2012
|
+
const runPrompt = Effect.fnUntraced(function*(
|
|
2013
|
+
error: CliError.MissingOption | CliError.MissingArgument,
|
|
2014
|
+
args: ParsedArgs
|
|
2015
|
+
) {
|
|
2016
|
+
const { canPrompt } = yield* TerminalCapabilities.TerminalCapabilities
|
|
2017
|
+
if (!canPrompt) return yield* Effect.fail(error)
|
|
2018
|
+
const built = Prompt.isPrompt(prompt) ? prompt : yield* prompt
|
|
2019
|
+
const value = yield* Effect.catchTag(Prompt.run(built), "QuitError", () => Effect.fail(error))
|
|
2020
|
+
return [args.arguments, value as A | B] as const
|
|
2021
|
+
})
|
|
2001
2022
|
return transform(
|
|
2002
2023
|
self,
|
|
2003
2024
|
(parse) => (args) =>
|
|
@@ -2760,6 +2781,122 @@ export const withOptionalValue: {
|
|
|
2760
2781
|
optionalValue: value
|
|
2761
2782
|
})))
|
|
2762
2783
|
|
|
2784
|
+
/**
|
|
2785
|
+
* Renames the negated form of a boolean flag, which defaults to `--no-<name>`.
|
|
2786
|
+
*
|
|
2787
|
+
* **Details**
|
|
2788
|
+
*
|
|
2789
|
+
* The new name replaces the default, so `--no-<name>` is no longer accepted.
|
|
2790
|
+
* Has no effect on non-boolean flags.
|
|
2791
|
+
*
|
|
2792
|
+
* **Example** (Renaming a boolean flag's negation)
|
|
2793
|
+
*
|
|
2794
|
+
* ```ts import.meta.vitest
|
|
2795
|
+
* import { Param } from "effect/cli"
|
|
2796
|
+
*
|
|
2797
|
+
* // --validate sets true, --skip-validate sets false
|
|
2798
|
+
* const validate = Param.Boolean(Param.flagKind, "validate").pipe(
|
|
2799
|
+
* Param.withNegation("skip-validate")
|
|
2800
|
+
* )
|
|
2801
|
+
* validate.kind // => "flag"
|
|
2802
|
+
* ```
|
|
2803
|
+
*
|
|
2804
|
+
* @stability unstable
|
|
2805
|
+
* @category combinators
|
|
2806
|
+
* @since 4.1.0
|
|
2807
|
+
*/
|
|
2808
|
+
export const withNegation: {
|
|
2809
|
+
/**
|
|
2810
|
+
* Renames the negated form of a boolean flag, which defaults to `--no-<name>`.
|
|
2811
|
+
*
|
|
2812
|
+
* **Details**
|
|
2813
|
+
*
|
|
2814
|
+
* The new name replaces the default, so `--no-<name>` is no longer accepted.
|
|
2815
|
+
* Has no effect on non-boolean flags.
|
|
2816
|
+
*
|
|
2817
|
+
* **Example** (Renaming a boolean flag's negation)
|
|
2818
|
+
*
|
|
2819
|
+
* ```ts import.meta.vitest
|
|
2820
|
+
* import { Param } from "effect/cli"
|
|
2821
|
+
*
|
|
2822
|
+
* // --validate sets true, --skip-validate sets false
|
|
2823
|
+
* const validate = Param.Boolean(Param.flagKind, "validate").pipe(
|
|
2824
|
+
* Param.withNegation("skip-validate")
|
|
2825
|
+
* )
|
|
2826
|
+
* validate.kind // => "flag"
|
|
2827
|
+
* ```
|
|
2828
|
+
*
|
|
2829
|
+
* @stability unstable
|
|
2830
|
+
* @category combinators
|
|
2831
|
+
* @since 4.1.0
|
|
2832
|
+
*/
|
|
2833
|
+
(name: string): <A>(self: Param<typeof flagKind, A>) => Param<typeof flagKind, A>
|
|
2834
|
+
/**
|
|
2835
|
+
* Renames the negated form of a boolean flag, which defaults to `--no-<name>`.
|
|
2836
|
+
*
|
|
2837
|
+
* **Details**
|
|
2838
|
+
*
|
|
2839
|
+
* The new name replaces the default, so `--no-<name>` is no longer accepted.
|
|
2840
|
+
* Has no effect on non-boolean flags.
|
|
2841
|
+
*
|
|
2842
|
+
* **Example** (Renaming a boolean flag's negation)
|
|
2843
|
+
*
|
|
2844
|
+
* ```ts import.meta.vitest
|
|
2845
|
+
* import { Param } from "effect/cli"
|
|
2846
|
+
*
|
|
2847
|
+
* // --validate sets true, --skip-validate sets false
|
|
2848
|
+
* const validate = Param.Boolean(Param.flagKind, "validate").pipe(
|
|
2849
|
+
* Param.withNegation("skip-validate")
|
|
2850
|
+
* )
|
|
2851
|
+
* validate.kind // => "flag"
|
|
2852
|
+
* ```
|
|
2853
|
+
*
|
|
2854
|
+
* @stability unstable
|
|
2855
|
+
* @category combinators
|
|
2856
|
+
* @since 4.1.0
|
|
2857
|
+
*/
|
|
2858
|
+
<A>(self: Param<typeof flagKind, A>, name: string): Param<typeof flagKind, A>
|
|
2859
|
+
} = dual(2, <A>(
|
|
2860
|
+
self: Param<typeof flagKind, A>,
|
|
2861
|
+
name: string
|
|
2862
|
+
) =>
|
|
2863
|
+
transformSingle(self, (single) =>
|
|
2864
|
+
makeSingle({
|
|
2865
|
+
...single,
|
|
2866
|
+
negation: name
|
|
2867
|
+
})))
|
|
2868
|
+
|
|
2869
|
+
/**
|
|
2870
|
+
* Removes the negated `--no-<name>` form of a boolean flag.
|
|
2871
|
+
*
|
|
2872
|
+
* **Details**
|
|
2873
|
+
*
|
|
2874
|
+
* The negated form is then rejected as an unrecognized flag and left out of
|
|
2875
|
+
* shell completions. Has no effect on non-boolean flags.
|
|
2876
|
+
*
|
|
2877
|
+
* **Example** (Disabling a boolean flag's negation)
|
|
2878
|
+
*
|
|
2879
|
+
* ```ts import.meta.vitest
|
|
2880
|
+
* import { Param } from "effect/cli"
|
|
2881
|
+
*
|
|
2882
|
+
* // --unsafe sets true, --no-unsafe is rejected
|
|
2883
|
+
* const unsafe = Param.Boolean(Param.flagKind, "unsafe").pipe(
|
|
2884
|
+
* Param.withoutNegation
|
|
2885
|
+
* )
|
|
2886
|
+
* unsafe.kind // => "flag"
|
|
2887
|
+
* ```
|
|
2888
|
+
*
|
|
2889
|
+
* @stability unstable
|
|
2890
|
+
* @category combinators
|
|
2891
|
+
* @since 4.1.0
|
|
2892
|
+
*/
|
|
2893
|
+
export const withoutNegation = <A>(self: Param<typeof flagKind, A>): Param<typeof flagKind, A> =>
|
|
2894
|
+
transformSingle(self, (single) =>
|
|
2895
|
+
makeSingle({
|
|
2896
|
+
...single,
|
|
2897
|
+
negation: false
|
|
2898
|
+
}))
|
|
2899
|
+
|
|
2763
2900
|
/**
|
|
2764
2901
|
* Validates parsed values against a Schema, providing detailed error messages.
|
|
2765
2902
|
*
|
|
@@ -3069,7 +3206,15 @@ const parseFlag: <A>(
|
|
|
3069
3206
|
return yield* new CliError.MissingOption({ option: name })
|
|
3070
3207
|
}
|
|
3071
3208
|
|
|
3072
|
-
|
|
3209
|
+
if (providedValues.length > 1) {
|
|
3210
|
+
return yield* new CliError.InvalidValue({
|
|
3211
|
+
option: name,
|
|
3212
|
+
value: `${providedValues.length} occurrences`,
|
|
3213
|
+
expected: "at most 1 value",
|
|
3214
|
+
kind: "flag"
|
|
3215
|
+
})
|
|
3216
|
+
}
|
|
3217
|
+
|
|
3073
3218
|
const arg = providedValues[0]
|
|
3074
3219
|
const value = yield* Effect.mapError(
|
|
3075
3220
|
primitiveType.parse(arg),
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detection of whether a CLI can color, animate, or prompt.
|
|
3
|
+
*
|
|
4
|
+
* The default reads `NO_COLOR`, `FORCE_COLOR`, `TERM`, and the TTY state of
|
|
5
|
+
* the current process. The layer reads the same variables through
|
|
6
|
+
* `ConfigProvider`, plus the TTY state of `Stdio`. Unless a
|
|
7
|
+
* `CliOutput.Formatter` is provided, the built-in help, version, and error
|
|
8
|
+
* output of `Command` follows `canColor`. Fallback prompts added with
|
|
9
|
+
* `Flag.withFallbackPrompt` or `Argument.withFallbackPrompt` only run when
|
|
10
|
+
* `canPrompt` is `true`.
|
|
11
|
+
*
|
|
12
|
+
* @stability unstable
|
|
13
|
+
* @since 4.0.0
|
|
14
|
+
*/
|
|
15
|
+
import * as Config from "../Config.ts"
|
|
16
|
+
import * as Context from "../Context.ts"
|
|
17
|
+
import * as Effect from "../Effect.ts"
|
|
18
|
+
import * as Layer from "../Layer.ts"
|
|
19
|
+
import * as Option from "../Option.ts"
|
|
20
|
+
import * as Stdio from "../Stdio.ts"
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Terminal rendering flags for the current process.
|
|
24
|
+
*
|
|
25
|
+
* **Details**
|
|
26
|
+
*
|
|
27
|
+
* `canColor` says whether styling will be rendered rather than stored as
|
|
28
|
+
* bytes. `canAnimate` says whether output is being watched, so pacing means
|
|
29
|
+
* something. `canPrompt` says whether a question can be asked and answered.
|
|
30
|
+
* The built-in `Command` output reads `canColor`, and fallback prompts for
|
|
31
|
+
* missing flags and arguments are skipped when `canPrompt` is `false`.
|
|
32
|
+
* `canAnimate` is for application code that renders its own output.
|
|
33
|
+
*
|
|
34
|
+
* @stability unstable
|
|
35
|
+
* @category models
|
|
36
|
+
* @since 4.0.0
|
|
37
|
+
*/
|
|
38
|
+
export interface TerminalCapabilities {
|
|
39
|
+
readonly canColor: boolean
|
|
40
|
+
readonly canAnimate: boolean
|
|
41
|
+
readonly canPrompt: boolean
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Reference to the terminal capabilities of the current process.
|
|
46
|
+
*
|
|
47
|
+
* **When to use**
|
|
48
|
+
*
|
|
49
|
+
* Use when application output should share the built-in help, version, and
|
|
50
|
+
* error output's answer. Provide `layer` to detect through
|
|
51
|
+
* `ConfigProvider` and `Stdio`, or provide a value to override detection.
|
|
52
|
+
*
|
|
53
|
+
* **Details**
|
|
54
|
+
*
|
|
55
|
+
* The default is detected from the current process the first time it is
|
|
56
|
+
* read, so later changes to the environment do not affect it. Without a
|
|
57
|
+
* `process` global, every flag is `false`.
|
|
58
|
+
*
|
|
59
|
+
* @stability unstable
|
|
60
|
+
* @category services
|
|
61
|
+
* @since 4.0.0
|
|
62
|
+
*/
|
|
63
|
+
export const TerminalCapabilities: Context.Reference<TerminalCapabilities> = Context.Reference(
|
|
64
|
+
"effect/cli/TerminalCapabilities",
|
|
65
|
+
{ defaultValue: () => fromProcess() }
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
const isPresent = (value: string | undefined): value is string => value !== undefined && value.length > 0
|
|
69
|
+
|
|
70
|
+
const isForcingColor = (value: string | undefined): boolean =>
|
|
71
|
+
isPresent(value) && value !== "0" && value.toLowerCase() !== "false"
|
|
72
|
+
|
|
73
|
+
const detect = (input: {
|
|
74
|
+
readonly noColor: string | undefined
|
|
75
|
+
readonly forceColor: string | undefined
|
|
76
|
+
readonly term: string | undefined
|
|
77
|
+
readonly stdinIsTerminal: boolean
|
|
78
|
+
readonly stdoutIsTerminal: boolean
|
|
79
|
+
}): TerminalCapabilities => {
|
|
80
|
+
if (input.term === "dumb") {
|
|
81
|
+
return { canColor: false, canAnimate: false, canPrompt: false }
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return {
|
|
85
|
+
canColor: !isPresent(input.noColor) && (isForcingColor(input.forceColor) || input.stdoutIsTerminal),
|
|
86
|
+
canAnimate: input.stdoutIsTerminal,
|
|
87
|
+
canPrompt: input.stdinIsTerminal && input.stdoutIsTerminal
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const fromProcess = (): TerminalCapabilities => {
|
|
92
|
+
const process = (globalThis as any).process
|
|
93
|
+
return detect({
|
|
94
|
+
noColor: process?.env?.NO_COLOR,
|
|
95
|
+
forceColor: process?.env?.FORCE_COLOR,
|
|
96
|
+
term: process?.env?.TERM,
|
|
97
|
+
stdinIsTerminal: process?.stdin?.isTTY === true,
|
|
98
|
+
stdoutIsTerminal: process?.stdout?.isTTY === true
|
|
99
|
+
})
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
const environment = Config.all({
|
|
103
|
+
noColor: Config.option(Config.String("NO_COLOR")),
|
|
104
|
+
forceColor: Config.option(Config.String("FORCE_COLOR")),
|
|
105
|
+
term: Config.option(Config.String("TERM"))
|
|
106
|
+
})
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Detects terminal capabilities from `Stdio` and the current `ConfigProvider`.
|
|
110
|
+
*
|
|
111
|
+
* **Details**
|
|
112
|
+
*
|
|
113
|
+
* `TERM=dumb` clears all three flags, because a terminal that cannot move the
|
|
114
|
+
* cursor can neither animate nor redraw a prompt. Otherwise `NO_COLOR`, when
|
|
115
|
+
* set to any non-empty value, disables color and wins over `FORCE_COLOR`.
|
|
116
|
+
* `FORCE_COLOR` forces color even off a TTY, except for `0` and `false`, which
|
|
117
|
+
* mean "not forcing". Empty variables count as unset, matching
|
|
118
|
+
* `ConfigProvider.fromEnv`, so `FORCE_COLOR=` does not force color on.
|
|
119
|
+
* `canPrompt` requires both standard input and standard output to be
|
|
120
|
+
* terminals. A `ConfigProvider` fault is a defect, so the layer never fails.
|
|
121
|
+
*
|
|
122
|
+
* **Example** (NO_COLOR wins over FORCE_COLOR)
|
|
123
|
+
*
|
|
124
|
+
* ```ts import.meta.vitest
|
|
125
|
+
* import { ConfigProvider, Effect, Stdio } from "effect"
|
|
126
|
+
* import { TerminalCapabilities } from "effect/cli"
|
|
127
|
+
*
|
|
128
|
+
* const program = Effect.gen(function*() {
|
|
129
|
+
* const caps = yield* TerminalCapabilities.TerminalCapabilities
|
|
130
|
+
* return caps.canColor
|
|
131
|
+
* }).pipe(
|
|
132
|
+
* Effect.provide(TerminalCapabilities.layer),
|
|
133
|
+
* Effect.provide(Stdio.layerTest({ stdoutIsTerminal: Effect.succeed(true) })),
|
|
134
|
+
* Effect.provideService(
|
|
135
|
+
* ConfigProvider.ConfigProvider,
|
|
136
|
+
* ConfigProvider.fromEnv({ env: { NO_COLOR: "1", FORCE_COLOR: "1" } })
|
|
137
|
+
* )
|
|
138
|
+
* )
|
|
139
|
+
*
|
|
140
|
+
* Effect.runSync(program) // => false
|
|
141
|
+
* ```
|
|
142
|
+
*
|
|
143
|
+
* @stability unstable
|
|
144
|
+
* @category layers
|
|
145
|
+
* @since 4.0.0
|
|
146
|
+
*/
|
|
147
|
+
export const layer: Layer.Layer<never, never, Stdio.Stdio> = Layer.effect(
|
|
148
|
+
TerminalCapabilities
|
|
149
|
+
)(Effect.gen(function*() {
|
|
150
|
+
const stdio = yield* Stdio.Stdio
|
|
151
|
+
const env = yield* Effect.orDie(environment)
|
|
152
|
+
return detect({
|
|
153
|
+
noColor: Option.getOrUndefined(env.noColor),
|
|
154
|
+
forceColor: Option.getOrUndefined(env.forceColor),
|
|
155
|
+
term: Option.getOrUndefined(env.term),
|
|
156
|
+
stdinIsTerminal: yield* stdio.stdinIsTerminal,
|
|
157
|
+
stdoutIsTerminal: yield* stdio.stdoutIsTerminal
|
|
158
|
+
})
|
|
159
|
+
}))
|
package/src/cli/index.ts
CHANGED
|
@@ -48,6 +48,7 @@ export interface CommandInternal<Name extends string, Input, E, R, ContextInput>
|
|
|
48
48
|
commandPath: ReadonlyArray<string>
|
|
49
49
|
) => Effect.Effect<void, E | CliError.CliError, R | Environment>
|
|
50
50
|
readonly buildHelpDoc: (commandPath: ReadonlyArray<string>) => HelpDoc
|
|
51
|
+
readonly resolveExamples: (commandPath: ReadonlyArray<string>) => ReadonlyArray<Command.Example>
|
|
51
52
|
}
|
|
52
53
|
|
|
53
54
|
/* ========================================================================== */
|
|
@@ -99,7 +100,7 @@ export const makeCommand = <const Name extends string, Input, E, R, ContextInput
|
|
|
99
100
|
readonly shortDescription?: string | undefined
|
|
100
101
|
readonly alias?: string | undefined
|
|
101
102
|
readonly unlisted?: boolean | undefined
|
|
102
|
-
readonly
|
|
103
|
+
readonly resolveExamples?: ((commandPath: ReadonlyArray<string>) => ReadonlyArray<Command.Example>) | undefined
|
|
103
104
|
readonly subcommands?: ReadonlyArray<SubcommandGroup> | undefined
|
|
104
105
|
readonly parse?: ((input: ParsedTokens) => Effect.Effect<Input, CliError.CliError, Environment>) | undefined
|
|
105
106
|
readonly parseContext?:
|
|
@@ -115,6 +116,7 @@ export const makeCommand = <const Name extends string, Input, E, R, ContextInput
|
|
|
115
116
|
const annotations = options.annotations ?? Context.empty()
|
|
116
117
|
const globalFlags = options.globalFlags ?? []
|
|
117
118
|
const subcommands = options.subcommands ?? []
|
|
119
|
+
const resolveExamples = options.resolveExamples ?? noExamples
|
|
118
120
|
|
|
119
121
|
const handle = (
|
|
120
122
|
input: Input,
|
|
@@ -188,7 +190,7 @@ export const makeCommand = <const Name extends string, Input, E, R, ContextInput
|
|
|
188
190
|
})
|
|
189
191
|
}
|
|
190
192
|
|
|
191
|
-
const examples: ReadonlyArray<ExampleDoc> =
|
|
193
|
+
const examples: ReadonlyArray<ExampleDoc> = resolveExamples(commandPath)
|
|
192
194
|
|
|
193
195
|
return {
|
|
194
196
|
description: options.description ?? "",
|
|
@@ -204,7 +206,8 @@ export const makeCommand = <const Name extends string, Input, E, R, ContextInput
|
|
|
204
206
|
return Object.assign(Object.create(Proto), {
|
|
205
207
|
[TypeId]: TypeId,
|
|
206
208
|
name: options.name,
|
|
207
|
-
examples: options.
|
|
209
|
+
examples: resolveExamples([options.name]),
|
|
210
|
+
resolveExamples,
|
|
208
211
|
annotations,
|
|
209
212
|
globalFlags,
|
|
210
213
|
subcommands,
|
|
@@ -232,6 +235,8 @@ export const makeCommand = <const Name extends string, Input, E, R, ContextInput
|
|
|
232
235
|
/* Helpers */
|
|
233
236
|
/* ========================================================================== */
|
|
234
237
|
|
|
238
|
+
const noExamples = (): ReadonlyArray<Command.Example> => []
|
|
239
|
+
|
|
235
240
|
/**
|
|
236
241
|
* Converts a single flag param into a FlagDoc for help display.
|
|
237
242
|
*
|