effect 4.0.4 → 4.0.6
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/src/52_graphql/10_basics.ts +19 -13
- package/ai-docs/src/52_graphql/30_batching.ts +6 -4
- package/ai-docs/src/52_graphql/40_aliased-batching.ts +6 -4
- package/ai-docs/tsconfig.json +3 -1
- package/dist/Array.d.ts +207 -58
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +45 -22
- 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 +187 -14
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +142 -33
- 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 +34 -32
- 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/Duration.d.ts.map +1 -1
- package/dist/Duration.js +58 -21
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +548 -182
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +261 -76
- package/dist/Effect.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 +24 -9
- 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 +28 -9
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +3 -0
- package/dist/FileSystem.js.map +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.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/JsonSchema.d.ts +9 -3
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +19 -3
- 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/Match.d.ts +20 -6
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +2 -2
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +132 -0
- 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/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/Path.d.ts +37 -5
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +44 -6
- package/dist/Path.js.map +1 -1
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +12 -7
- 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.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.map +1 -1
- package/dist/Schema.d.ts +383 -326
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +338 -17
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +5 -5
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +24 -8
- 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/SchemaRepresentation.d.ts +56 -1
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +18 -0
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +1 -1
- package/dist/SchemaTransformation.js +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/Sink.d.ts.map +1 -1
- package/dist/Sink.js +6 -2
- 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 +145 -60
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +16 -2
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +25 -10
- 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/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/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +3 -2
- package/dist/TxRef.js.map +1 -1
- package/dist/ai/AiError.d.ts +78 -14
- package/dist/ai/AiError.d.ts.map +1 -1
- package/dist/ai/AiError.js +51 -3
- 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 +116 -20
- package/dist/ai/Decision.d.ts.map +1 -1
- package/dist/ai/Decision.js +37 -3
- 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 +183 -95
- 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 +47 -35
- 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 +368 -235
- 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 +6 -52
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +27 -50
- package/dist/ai/McpServer.js.map +1 -1
- package/dist/ai/Prompt.d.ts +22 -20
- package/dist/ai/Prompt.d.ts.map +1 -1
- package/dist/ai/Prompt.js +23 -1
- package/dist/ai/Prompt.js.map +1 -1
- package/dist/ai/Response.d.ts +148 -4
- package/dist/ai/Response.d.ts.map +1 -1
- package/dist/ai/Response.js +35 -37
- package/dist/ai/Response.js.map +1 -1
- package/dist/ai/Tool.d.ts +12 -4
- package/dist/ai/Tool.d.ts.map +1 -1
- 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 +65 -12
- 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/CliError.d.ts +42 -2
- package/dist/cli/CliError.d.ts.map +1 -1
- package/dist/cli/CliError.js +44 -5
- package/dist/cli/CliError.js.map +1 -1
- package/dist/cli/Command.d.ts +286 -2
- package/dist/cli/Command.d.ts.map +1 -1
- package/dist/cli/Command.js +107 -6
- package/dist/cli/Command.js.map +1 -1
- package/dist/cli/Completions.d.ts +10 -0
- package/dist/cli/Completions.d.ts.map +1 -1
- package/dist/cli/Completions.js.map +1 -1
- package/dist/cli/Flag.d.ts +215 -0
- package/dist/cli/Flag.d.ts.map +1 -1
- package/dist/cli/Flag.js +89 -0
- package/dist/cli/Flag.js.map +1 -1
- package/dist/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/cli/GlobalFlag.js +3 -3
- package/dist/cli/GlobalFlag.js.map +1 -1
- package/dist/cli/Param.d.ts +194 -0
- package/dist/cli/Param.d.ts.map +1 -1
- package/dist/cli/Param.js +86 -0
- package/dist/cli/Param.js.map +1 -1
- package/dist/cli/TerminalCapabilities.d.ts +84 -0
- package/dist/cli/TerminalCapabilities.d.ts.map +1 -0
- package/dist/cli/TerminalCapabilities.js +122 -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 +7 -3
- package/dist/cli/internal/command.js.map +1 -1
- package/dist/cli/internal/completions/bash.js +7 -5
- package/dist/cli/internal/completions/bash.js.map +1 -1
- package/dist/cli/internal/completions/descriptor.js +16 -1
- package/dist/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/cli/internal/completions/fish.js +12 -10
- package/dist/cli/internal/completions/fish.js.map +1 -1
- package/dist/cli/internal/completions/powershell.js +20 -10
- package/dist/cli/internal/completions/powershell.js.map +1 -1
- package/dist/cli/internal/completions/zsh.js +15 -8
- 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 +35 -15
- package/dist/cli/internal/parser.js.map +1 -1
- package/dist/cli/internal/wizard.d.ts.map +1 -1
- package/dist/cli/internal/wizard.js +2 -1
- package/dist/cli/internal/wizard.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 +2 -1
- package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.js +98 -18
- 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 +21 -0
- package/dist/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/cluster/MessageStorage.js +20 -12
- package/dist/cluster/MessageStorage.js.map +1 -1
- package/dist/cluster/Runners.d.ts.map +1 -1
- package/dist/cluster/Runners.js +96 -37
- 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 +95 -32
- package/dist/cluster/Sharding.js.map +1 -1
- package/dist/cluster/ShardingConfig.d.ts +20 -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/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 +10 -4
- package/dist/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/cluster/internal/entityManager.js +66 -9
- 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 +31 -4
- package/dist/devtools/DevToolsClient.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.js +1 -1
- 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.js +3 -3
- 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 +387 -159
- 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 +47 -0
- package/dist/eventlog/internal/conflicts.d.ts.map +1 -0
- package/dist/eventlog/internal/conflicts.js +92 -0
- package/dist/eventlog/internal/conflicts.js.map +1 -0
- package/dist/graphql/GraphQLClient.d.ts.map +1 -1
- package/dist/graphql/GraphQLClient.js +12 -5
- package/dist/graphql/GraphQLClient.js.map +1 -1
- 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 +252 -11
- package/dist/graphql/GraphQLProtocol.d.ts.map +1 -1
- package/dist/graphql/GraphQLProtocol.js +99 -8
- package/dist/graphql/GraphQLProtocol.js.map +1 -1
- package/dist/graphql/GraphQLResolver.d.ts +3 -1
- package/dist/graphql/GraphQLResolver.d.ts.map +1 -1
- package/dist/graphql/GraphQLResolver.js +91 -19
- package/dist/graphql/GraphQLResolver.js.map +1 -1
- package/dist/http/FetchHttpClient.d.ts +13 -3
- package/dist/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/http/FetchHttpClient.js +56 -6
- package/dist/http/FetchHttpClient.js.map +1 -1
- package/dist/http/FindMyWay/internal/router.js +12 -1
- package/dist/http/FindMyWay/internal/router.js.map +1 -1
- package/dist/http/Headers.d.ts +230 -3
- package/dist/http/Headers.d.ts.map +1 -1
- package/dist/http/Headers.js +267 -5
- package/dist/http/Headers.js.map +1 -1
- package/dist/http/HttpClient.d.ts +105 -0
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +69 -17
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/HttpClientError.d.ts.map +1 -1
- package/dist/http/HttpClientError.js +8 -6
- package/dist/http/HttpClientError.js.map +1 -1
- package/dist/http/HttpClientRequest.d.ts +274 -7
- package/dist/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/http/HttpClientRequest.js +91 -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 +179 -2
- package/dist/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/http/HttpMiddleware.js +226 -18
- package/dist/http/HttpMiddleware.js.map +1 -1
- package/dist/http/HttpRouter.d.ts.map +1 -1
- package/dist/http/HttpRouter.js +58 -14
- 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 +11 -7
- package/dist/http/HttpServerError.js.map +1 -1
- package/dist/http/HttpServerRequest.d.ts +25 -5
- package/dist/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/http/HttpServerRequest.js +38 -12
- 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 +25 -17
- package/dist/http/HttpStaticServer.js.map +1 -1
- package/dist/http/HttpTraceContext.js +1 -1
- package/dist/http/HttpTraceContext.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 +87 -5
- 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 +8 -2
- package/dist/http/Url.js.map +1 -1
- package/dist/http/UrlParams.d.ts +112 -8
- package/dist/http/UrlParams.d.ts.map +1 -1
- package/dist/http/UrlParams.js +141 -14
- package/dist/http/UrlParams.js.map +1 -1
- package/dist/http/internal/compression.d.ts +1 -1
- package/dist/http/internal/compression.d.ts.map +1 -1
- package/dist/http/internal/compression.js +2 -10
- package/dist/http/internal/compression.js.map +1 -1
- package/dist/http/internal/compressionBody.d.ts +2 -0
- package/dist/http/internal/compressionBody.d.ts.map +1 -0
- package/dist/http/internal/compressionBody.js +36 -0
- package/dist/http/internal/compressionBody.js.map +1 -0
- package/dist/http/internal/decompression.d.ts +2 -0
- package/dist/http/internal/decompression.d.ts.map +1 -0
- package/dist/http/internal/decompression.js +168 -0
- package/dist/http/internal/decompression.js.map +1 -0
- 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/tracing.js +14 -4
- package/dist/http/internal/tracing.js.map +1 -1
- package/dist/http/internal/urlParams.d.ts +2 -0
- package/dist/http/internal/urlParams.d.ts.map +1 -0
- package/dist/http/internal/urlParams.js +4 -0
- package/dist/http/internal/urlParams.js.map +1 -0
- 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.js +1 -1
- 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 +121 -18
- package/dist/http-api/HttpApiBuilder.js.map +1 -1
- package/dist/http-api/HttpApiClient.d.ts +29 -4
- package/dist/http-api/HttpApiClient.d.ts.map +1 -1
- package/dist/http-api/HttpApiClient.js +85 -24
- package/dist/http-api/HttpApiClient.js.map +1 -1
- package/dist/http-api/HttpApiEndpoint.d.ts +55 -29
- package/dist/http-api/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/http-api/HttpApiEndpoint.js +49 -5
- 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 +191 -9
- package/dist/http-api/HttpApiSchema.d.ts.map +1 -1
- package/dist/http-api/HttpApiSchema.js +137 -4
- 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 +30 -9
- 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 +57 -32
- 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/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/core.js +18 -2
- 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 +89 -76
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/graphql.js +12 -2
- package/dist/internal/graphql.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/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/fromJsonSchemaDocument.js +136 -126
- package/dist/internal/schema/fromJsonSchemaDocument.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 +34 -33
- package/dist/internal/schema/standardSchema.js.map +1 -1
- package/dist/internal/schema/toCodeDocument.js +7 -2
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toCodec.js +86 -1
- 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 +60 -38
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
- 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/Otlp.d.ts +15 -0
- package/dist/observability/Otlp.d.ts.map +1 -1
- package/dist/observability/Otlp.js +3 -0
- package/dist/observability/Otlp.js.map +1 -1
- package/dist/observability/OtlpExporter.d.ts +8 -0
- package/dist/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/observability/OtlpExporter.js +15 -13
- package/dist/observability/OtlpExporter.js.map +1 -1
- package/dist/observability/OtlpLogger.d.ts +17 -0
- package/dist/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/observability/OtlpLogger.js +14 -1
- package/dist/observability/OtlpLogger.js.map +1 -1
- package/dist/observability/OtlpMetrics.d.ts +17 -0
- package/dist/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/observability/OtlpMetrics.js +18 -3
- package/dist/observability/OtlpMetrics.js.map +1 -1
- 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 +17 -0
- package/dist/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/observability/OtlpTracer.js +15 -2
- package/dist/observability/OtlpTracer.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/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/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 +5 -0
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +5 -0
- package/dist/persistence/index.js.map +1 -1
- package/dist/process/ChildProcess.d.ts +2 -1
- package/dist/process/ChildProcess.d.ts.map +1 -1
- package/dist/process/ChildProcess.js.map +1 -1
- package/dist/reactivity/AsyncResult.d.ts +6 -0
- package/dist/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/reactivity/AsyncResult.js +28 -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 +47 -10
- 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 +202 -61
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcSerialization.d.ts +15 -0
- package/dist/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/rpc/RpcSerialization.js +21 -5
- package/dist/rpc/RpcSerialization.js.map +1 -1
- package/dist/rpc/RpcServer.d.ts.map +1 -1
- package/dist/rpc/RpcServer.js +9 -18
- package/dist/rpc/RpcServer.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.map +1 -1
- package/dist/sql/Migrator.js +15 -3
- package/dist/sql/Migrator.js.map +1 -1
- package/dist/sql/SqlClient.d.ts +151 -12
- package/dist/sql/SqlClient.d.ts.map +1 -1
- package/dist/sql/SqlClient.js +156 -34
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/sql/SqlResolver.d.ts +9 -0
- package/dist/sql/SqlResolver.d.ts.map +1 -1
- package/dist/sql/SqlResolver.js +9 -0
- package/dist/sql/SqlResolver.js.map +1 -1
- package/dist/sql/Statement.d.ts +3 -1
- package/dist/sql/Statement.d.ts.map +1 -1
- package/dist/sql/Statement.js +24 -5
- package/dist/sql/Statement.js.map +1 -1
- package/dist/testing/TestClock.d.ts +16 -3
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +115 -23
- 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/Activity.js +1 -0
- package/dist/workflow/Activity.js.map +1 -1
- package/dist/workflow/Workflow.d.ts +22 -0
- package/dist/workflow/Workflow.d.ts.map +1 -1
- package/dist/workflow/Workflow.js +15 -3
- package/dist/workflow/Workflow.js.map +1 -1
- package/dist/workflow/WorkflowEngine.d.ts +20 -1
- package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/workflow/WorkflowEngine.js +52 -24
- package/dist/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +13 -3
- package/src/Array.ts +223 -61
- package/src/Bytes.ts +111 -0
- package/src/Channel.ts +287 -439
- package/src/ChannelSchema.ts +1 -49
- package/src/Chunk.ts +55 -61
- package/src/Config.ts +12 -86
- package/src/ConfigProvider.ts +41 -44
- package/src/Cron.ts +6 -3
- package/src/Duration.ts +70 -21
- package/src/Effect.ts +642 -220
- package/src/Equivalence.ts +7 -4
- package/src/Exit.ts +24 -9
- package/src/FiberHandle.ts +10 -9
- package/src/FiberMap.ts +13 -66
- package/src/FileSystem.ts +33 -9
- package/src/Graph.ts +171 -1263
- package/src/HashSet.ts +0 -60
- package/src/Iterable.ts +15 -14
- package/src/JsonSchema.ts +28 -3
- package/src/Layer.ts +2 -2
- package/src/ManagedRuntime.ts +72 -6
- package/src/Match.ts +65 -12
- package/src/Metric.ts +249 -507
- package/src/MutableHashMap.ts +4 -473
- package/src/Number.ts +2 -2
- package/src/Optic.ts +17 -332
- package/src/Path.ts +61 -8
- package/src/PubSub.ts +12 -7
- 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 +7 -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 +2 -94
- package/src/Schema.ts +596 -348
- package/src/SchemaAST.ts +20 -9
- package/src/SchemaGetter.ts +22 -5
- package/src/SchemaIssue.ts +44 -53
- package/src/SchemaRepresentation.ts +64 -1
- package/src/SchemaTransformation.ts +1 -1
- 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/Sink.ts +6 -2
- package/src/Stream.ts +334 -1011
- package/src/String.ts +25 -12
- package/src/TextDiff.ts +766 -0
- package/src/TxHashMap.ts +1 -103
- package/src/TxHashSet.ts +48 -753
- package/src/TxRef.ts +4 -2
- package/src/ai/AiError.ts +69 -5
- package/src/ai/Chat.ts +10 -5
- package/src/ai/Decision.ts +119 -22
- package/src/ai/DecisionModel.ts +265 -109
- package/src/ai/EmbeddingModel.ts +25 -13
- package/src/ai/LanguageModel.ts +57 -51
- 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 +232 -275
- package/src/ai/Prompt.ts +49 -35
- package/src/ai/Response.ts +195 -65
- package/src/ai/Tool.ts +12 -4
- package/src/ai/Toolkit.ts +78 -10
- 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/CliError.ts +49 -4
- package/src/cli/Command.ts +316 -9
- package/src/cli/Completions.ts +10 -0
- package/src/cli/Flag.ts +218 -0
- package/src/cli/GlobalFlag.ts +3 -3
- package/src/cli/Param.ts +218 -0
- package/src/cli/TerminalCapabilities.ts +156 -0
- package/src/cli/index.ts +6 -0
- package/src/cli/internal/command.ts +10 -4
- package/src/cli/internal/completions/bash.ts +7 -5
- package/src/cli/internal/completions/descriptor.ts +20 -1
- package/src/cli/internal/completions/fish.ts +12 -10
- package/src/cli/internal/completions/powershell.ts +25 -13
- package/src/cli/internal/completions/zsh.ts +15 -8
- package/src/cli/internal/formatter.ts +18 -0
- package/src/cli/internal/lexer.ts +12 -5
- package/src/cli/internal/parser.ts +43 -14
- package/src/cli/internal/wizard.ts +2 -1
- package/src/cluster/ClusterCron.ts +94 -35
- package/src/cluster/ClusterMetrics.ts +149 -7
- package/src/cluster/ClusterWorkflowEngine.ts +164 -53
- package/src/cluster/Entity.ts +4 -0
- package/src/cluster/MessageStorage.ts +21 -3
- package/src/cluster/Runners.ts +145 -72
- package/src/cluster/Sharding.ts +118 -38
- package/src/cluster/ShardingConfig.ts +15 -0
- package/src/cluster/SqlMessageStorage.ts +58 -55
- package/src/cluster/SqlRunnerStorage.ts +10 -4
- package/src/cluster/internal/entityManager.ts +81 -11
- package/src/devtools/DevTools.ts +3 -2
- package/src/devtools/DevToolsClient.ts +27 -10
- 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 +1 -1
- package/src/encoding/Tar.ts +1417 -0
- package/src/encoding/Toml.ts +3 -3
- 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 +453 -173
- 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 +123 -0
- package/src/graphql/GraphQLClient.ts +17 -5
- package/src/graphql/GraphQLClientError.ts +5 -12
- package/src/graphql/GraphQLProtocol.ts +277 -20
- package/src/graphql/GraphQLResolver.ts +109 -230
- package/src/http/FetchHttpClient.ts +61 -8
- package/src/http/FindMyWay/internal/router.ts +13 -1
- package/src/http/Headers.ts +343 -163
- package/src/http/HttpClient.ts +144 -136
- package/src/http/HttpClientError.ts +10 -6
- package/src/http/HttpClientRequest.ts +315 -11
- 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 +265 -28
- package/src/http/HttpRouter.ts +67 -14
- package/src/http/HttpServerError.ts +14 -7
- package/src/http/HttpServerRequest.ts +73 -14
- package/src/http/HttpServerResponse.ts +49 -23
- package/src/http/HttpStaticServer.ts +29 -19
- package/src/http/HttpTraceContext.ts +1 -1
- package/src/http/MultipartParser/internal/contentType.ts +107 -6
- package/src/http/MultipartParser/internal/headers.ts +4 -16
- package/src/http/MultipartParser/internal/multipart.ts +10 -32
- package/src/http/Url.ts +8 -2
- package/src/http/UrlParams.ts +225 -26
- package/src/http/internal/compression.ts +3 -17
- package/src/http/internal/compressionBody.ts +56 -0
- package/src/http/internal/decompression.ts +235 -0
- package/src/http/internal/lazyStream.ts +25 -0
- package/src/http/internal/requestState.ts +33 -0
- package/src/http/internal/tracing.ts +21 -4
- package/src/http/internal/urlParams.ts +5 -0
- package/src/http/internal/webResponse.ts +20 -0
- package/src/http-api/HttpApi.ts +1 -1
- package/src/http-api/HttpApiBuilder.ts +151 -23
- package/src/http-api/HttpApiClient.ts +160 -31
- package/src/http-api/HttpApiEndpoint.ts +144 -33
- package/src/http-api/HttpApiError.ts +55 -0
- package/src/http-api/HttpApiScalar.ts +4 -3
- package/src/http-api/HttpApiSchema.ts +275 -13
- package/src/http-api/HttpApiSwagger.ts +11 -4
- package/src/http-api/HttpApiTest.ts +33 -9
- package/src/http-api/OpenApi.ts +84 -42
- package/src/http-api/internal/path.ts +40 -12
- package/src/index.ts +24 -0
- package/src/internal/core.ts +22 -2
- package/src/internal/dateTime.ts +20 -7
- package/src/internal/effect.ts +125 -88
- package/src/internal/graphql.ts +30 -7
- package/src/internal/hashMap.ts +2 -2
- package/src/internal/hydration.ts +15 -0
- package/src/internal/inflate.ts +710 -0
- 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/fromJsonSchemaDocument.ts +262 -193
- package/src/internal/schema/interpreter.ts +58 -45
- package/src/internal/schema/standardSchema.ts +32 -30
- package/src/internal/schema/toCodeDocument.ts +8 -3
- package/src/internal/schema/toCodec.ts +116 -1
- package/src/internal/schema/toFormatter.ts +6 -6
- package/src/internal/schema/toJsonSchemaDocument.ts +69 -39
- 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/Otlp.ts +18 -0
- package/src/observability/OtlpExporter.ts +19 -15
- package/src/observability/OtlpLogger.ts +31 -2
- package/src/observability/OtlpMetrics.ts +35 -4
- package/src/observability/OtlpResource.ts +16 -6
- package/src/observability/OtlpSerialization.ts +17 -3
- package/src/observability/OtlpTracer.ts +32 -3
- package/src/observability/internal/protobuf.ts +2 -10
- 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/UserDirectories.ts +273 -0
- package/src/persistence/index.ts +6 -0
- package/src/process/ChildProcess.ts +2 -1
- package/src/reactivity/AsyncResult.ts +35 -38
- package/src/reactivity/Atom.ts +134 -166
- package/src/reactivity/AtomHttpApi.ts +10 -16
- package/src/reactivity/AtomRegistry.ts +53 -30
- 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 +285 -104
- package/src/rpc/RpcSerialization.ts +21 -5
- package/src/rpc/RpcServer.ts +11 -20
- package/src/schema/VariantSchema.ts +86 -22
- package/src/socket/Socket.ts +45 -20
- package/src/sql/Migrator.ts +19 -9
- package/src/sql/SqlClient.ts +275 -36
- package/src/sql/SqlResolver.ts +9 -0
- package/src/sql/Statement.ts +35 -8
- package/src/testing/TestClock.ts +147 -29
- package/src/testing/TestSchema.ts +9 -3
- package/src/workflow/Activity.ts +1 -0
- package/src/workflow/Workflow.ts +31 -5
- package/src/workflow/WorkflowEngine.ts +93 -31
- 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/Command.ts
CHANGED
|
@@ -30,10 +30,10 @@ import * as Terminal from "../Terminal.ts"
|
|
|
30
30
|
import type { Contravariant, Covariant, NoInfer, Simplify } from "../Types.ts"
|
|
31
31
|
import * as CliConfig from "./CliConfig.ts"
|
|
32
32
|
import * as CliError from "./CliError.ts"
|
|
33
|
-
import * as CliOutput from "./CliOutput.ts"
|
|
34
33
|
import * as GlobalFlag from "./GlobalFlag.ts"
|
|
35
34
|
import { checkForDuplicateFlags, makeCommand, makeParser, toImpl, TypeId } from "./internal/command.ts"
|
|
36
35
|
import { mergeConfig, parseConfig } from "./internal/config.ts"
|
|
36
|
+
import { resolveFormatter } from "./internal/formatter.ts"
|
|
37
37
|
import { getGlobalFlagsForCommandPath, getGlobalFlagsForCommandTree, getHelpForCommandPath } from "./internal/help.ts"
|
|
38
38
|
import * as Lexer from "./internal/lexer.ts"
|
|
39
39
|
import * as Parser from "./internal/parser.ts"
|
|
@@ -1121,6 +1121,247 @@ export const withHandler: {
|
|
|
1121
1121
|
): Command<Name, A, ContextInput, E, Exclude<R, BuiltInSettingContext>> =>
|
|
1122
1122
|
makeCommand({ ...toImpl(self), handle: handler } as any))
|
|
1123
1123
|
|
|
1124
|
+
/**
|
|
1125
|
+
* Validates the parsed input of a command before the handler runs.
|
|
1126
|
+
*
|
|
1127
|
+
* **Details**
|
|
1128
|
+
*
|
|
1129
|
+
* Use this for rules that involve several flags or arguments, such as
|
|
1130
|
+
* mutually exclusive flags. The validation receives the same input as the
|
|
1131
|
+
* handler, with defaults, prompts and the wizard already applied. A failure
|
|
1132
|
+
* is shown with the command help, like a parse error, and the handler does
|
|
1133
|
+
* not run. Fail with `CliError.ValidationError` to supply the message, or
|
|
1134
|
+
* with any other `CliError`. Validations run in the order they were added and
|
|
1135
|
+
* stop at the first failure. Adding a handler later with `withHandler` keeps
|
|
1136
|
+
* them.
|
|
1137
|
+
*
|
|
1138
|
+
* A validation sees only the input that exists where it is applied. Add it
|
|
1139
|
+
* after `withSharedFlags` to see the shared flags. Added after
|
|
1140
|
+
* `withSubcommands`, it also runs when a subcommand is selected, with the
|
|
1141
|
+
* parent's shared flags as input.
|
|
1142
|
+
*
|
|
1143
|
+
* **Example** (Rejecting mutually exclusive flags)
|
|
1144
|
+
*
|
|
1145
|
+
* ```ts import.meta.vitest
|
|
1146
|
+
* import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
|
|
1147
|
+
* import { CliError, Command, Flag } from "effect/cli"
|
|
1148
|
+
* import { ChildProcessSpawner } from "effect/process"
|
|
1149
|
+
* import { TestConsole } from "effect/testing"
|
|
1150
|
+
*
|
|
1151
|
+
* const CliTestLayer = Layer.mergeAll(
|
|
1152
|
+
* FileSystem.layerNoop({}),
|
|
1153
|
+
* Path.layer,
|
|
1154
|
+
* Stdio.layerTest({}),
|
|
1155
|
+
* TestConsole.layer,
|
|
1156
|
+
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
1157
|
+
* columns: Effect.succeed(80),
|
|
1158
|
+
* rows: Effect.succeed(24),
|
|
1159
|
+
* readInput: Effect.die("unused"),
|
|
1160
|
+
* readLine: Effect.die("unused"),
|
|
1161
|
+
* display: () => Effect.void
|
|
1162
|
+
* })),
|
|
1163
|
+
* Layer.succeed(
|
|
1164
|
+
* ChildProcessSpawner.ChildProcessSpawner,
|
|
1165
|
+
* ChildProcessSpawner.make(() => Effect.die("unused"))
|
|
1166
|
+
* )
|
|
1167
|
+
* )
|
|
1168
|
+
*
|
|
1169
|
+
* const download = Command.make("download", {
|
|
1170
|
+
* useApi: Flag.Boolean("use-api").pipe(Flag.withDefault(false)),
|
|
1171
|
+
* useDocker: Flag.Boolean("use-docker").pipe(Flag.withDefault(false))
|
|
1172
|
+
* }, () => Effect.void).pipe(
|
|
1173
|
+
* Command.validate(({ useApi, useDocker }) =>
|
|
1174
|
+
* useApi && useDocker
|
|
1175
|
+
* ? Effect.fail(
|
|
1176
|
+
* new CliError.ValidationError({
|
|
1177
|
+
* message: "--use-api and --use-docker are mutually exclusive"
|
|
1178
|
+
* })
|
|
1179
|
+
* )
|
|
1180
|
+
* : Effect.void
|
|
1181
|
+
* )
|
|
1182
|
+
* )
|
|
1183
|
+
*
|
|
1184
|
+
* const error = await Effect.runPromise(
|
|
1185
|
+
* Command.runWith(download, { version: "1.0.0" })(["--use-api", "--use-docker"]).pipe(
|
|
1186
|
+
* Effect.flip,
|
|
1187
|
+
* Effect.provide(CliTestLayer)
|
|
1188
|
+
* )
|
|
1189
|
+
* )
|
|
1190
|
+
* error._tag // => "ShowHelp"
|
|
1191
|
+
* error.errors[0].message // => "--use-api and --use-docker are mutually exclusive"
|
|
1192
|
+
* ```
|
|
1193
|
+
*
|
|
1194
|
+
* @stability unstable
|
|
1195
|
+
* @category combinators
|
|
1196
|
+
* @since 4.1.0
|
|
1197
|
+
*/
|
|
1198
|
+
export const validate: {
|
|
1199
|
+
/**
|
|
1200
|
+
* Validates the parsed input of a command before the handler runs.
|
|
1201
|
+
*
|
|
1202
|
+
* **Details**
|
|
1203
|
+
*
|
|
1204
|
+
* Use this for rules that involve several flags or arguments, such as
|
|
1205
|
+
* mutually exclusive flags. The validation receives the same input as the
|
|
1206
|
+
* handler, with defaults, prompts and the wizard already applied. A failure
|
|
1207
|
+
* is shown with the command help, like a parse error, and the handler does
|
|
1208
|
+
* not run. Fail with `CliError.ValidationError` to supply the message, or
|
|
1209
|
+
* with any other `CliError`. Validations run in the order they were added and
|
|
1210
|
+
* stop at the first failure. Adding a handler later with `withHandler` keeps
|
|
1211
|
+
* them.
|
|
1212
|
+
*
|
|
1213
|
+
* A validation sees only the input that exists where it is applied. Add it
|
|
1214
|
+
* after `withSharedFlags` to see the shared flags. Added after
|
|
1215
|
+
* `withSubcommands`, it also runs when a subcommand is selected, with the
|
|
1216
|
+
* parent's shared flags as input.
|
|
1217
|
+
*
|
|
1218
|
+
* **Example** (Rejecting mutually exclusive flags)
|
|
1219
|
+
*
|
|
1220
|
+
* ```ts import.meta.vitest
|
|
1221
|
+
* import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
|
|
1222
|
+
* import { CliError, Command, Flag } from "effect/cli"
|
|
1223
|
+
* import { ChildProcessSpawner } from "effect/process"
|
|
1224
|
+
* import { TestConsole } from "effect/testing"
|
|
1225
|
+
*
|
|
1226
|
+
* const CliTestLayer = Layer.mergeAll(
|
|
1227
|
+
* FileSystem.layerNoop({}),
|
|
1228
|
+
* Path.layer,
|
|
1229
|
+
* Stdio.layerTest({}),
|
|
1230
|
+
* TestConsole.layer,
|
|
1231
|
+
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
1232
|
+
* columns: Effect.succeed(80),
|
|
1233
|
+
* rows: Effect.succeed(24),
|
|
1234
|
+
* readInput: Effect.die("unused"),
|
|
1235
|
+
* readLine: Effect.die("unused"),
|
|
1236
|
+
* display: () => Effect.void
|
|
1237
|
+
* })),
|
|
1238
|
+
* Layer.succeed(
|
|
1239
|
+
* ChildProcessSpawner.ChildProcessSpawner,
|
|
1240
|
+
* ChildProcessSpawner.make(() => Effect.die("unused"))
|
|
1241
|
+
* )
|
|
1242
|
+
* )
|
|
1243
|
+
*
|
|
1244
|
+
* const download = Command.make("download", {
|
|
1245
|
+
* useApi: Flag.Boolean("use-api").pipe(Flag.withDefault(false)),
|
|
1246
|
+
* useDocker: Flag.Boolean("use-docker").pipe(Flag.withDefault(false))
|
|
1247
|
+
* }, () => Effect.void).pipe(
|
|
1248
|
+
* Command.validate(({ useApi, useDocker }) =>
|
|
1249
|
+
* useApi && useDocker
|
|
1250
|
+
* ? Effect.fail(
|
|
1251
|
+
* new CliError.ValidationError({
|
|
1252
|
+
* message: "--use-api and --use-docker are mutually exclusive"
|
|
1253
|
+
* })
|
|
1254
|
+
* )
|
|
1255
|
+
* : Effect.void
|
|
1256
|
+
* )
|
|
1257
|
+
* )
|
|
1258
|
+
*
|
|
1259
|
+
* const error = await Effect.runPromise(
|
|
1260
|
+
* Command.runWith(download, { version: "1.0.0" })(["--use-api", "--use-docker"]).pipe(
|
|
1261
|
+
* Effect.flip,
|
|
1262
|
+
* Effect.provide(CliTestLayer)
|
|
1263
|
+
* )
|
|
1264
|
+
* )
|
|
1265
|
+
* error._tag // => "ShowHelp"
|
|
1266
|
+
* error.errors[0].message // => "--use-api and --use-docker are mutually exclusive"
|
|
1267
|
+
* ```
|
|
1268
|
+
*
|
|
1269
|
+
* @stability unstable
|
|
1270
|
+
* @category combinators
|
|
1271
|
+
* @since 4.1.0
|
|
1272
|
+
*/
|
|
1273
|
+
<Input>(f: (input: Input) => Effect.Effect<void, CliError.CliError, Environment>): <Name extends string, ContextInput, E, R>(
|
|
1274
|
+
self: Command<Name, Input, ContextInput, E, R>
|
|
1275
|
+
) => Command<Name, Input, ContextInput, E, R>
|
|
1276
|
+
/**
|
|
1277
|
+
* Validates the parsed input of a command before the handler runs.
|
|
1278
|
+
*
|
|
1279
|
+
* **Details**
|
|
1280
|
+
*
|
|
1281
|
+
* Use this for rules that involve several flags or arguments, such as
|
|
1282
|
+
* mutually exclusive flags. The validation receives the same input as the
|
|
1283
|
+
* handler, with defaults, prompts and the wizard already applied. A failure
|
|
1284
|
+
* is shown with the command help, like a parse error, and the handler does
|
|
1285
|
+
* not run. Fail with `CliError.ValidationError` to supply the message, or
|
|
1286
|
+
* with any other `CliError`. Validations run in the order they were added and
|
|
1287
|
+
* stop at the first failure. Adding a handler later with `withHandler` keeps
|
|
1288
|
+
* them.
|
|
1289
|
+
*
|
|
1290
|
+
* A validation sees only the input that exists where it is applied. Add it
|
|
1291
|
+
* after `withSharedFlags` to see the shared flags. Added after
|
|
1292
|
+
* `withSubcommands`, it also runs when a subcommand is selected, with the
|
|
1293
|
+
* parent's shared flags as input.
|
|
1294
|
+
*
|
|
1295
|
+
* **Example** (Rejecting mutually exclusive flags)
|
|
1296
|
+
*
|
|
1297
|
+
* ```ts import.meta.vitest
|
|
1298
|
+
* import { Effect, FileSystem, Layer, Path, Stdio, Terminal } from "effect"
|
|
1299
|
+
* import { CliError, Command, Flag } from "effect/cli"
|
|
1300
|
+
* import { ChildProcessSpawner } from "effect/process"
|
|
1301
|
+
* import { TestConsole } from "effect/testing"
|
|
1302
|
+
*
|
|
1303
|
+
* const CliTestLayer = Layer.mergeAll(
|
|
1304
|
+
* FileSystem.layerNoop({}),
|
|
1305
|
+
* Path.layer,
|
|
1306
|
+
* Stdio.layerTest({}),
|
|
1307
|
+
* TestConsole.layer,
|
|
1308
|
+
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
1309
|
+
* columns: Effect.succeed(80),
|
|
1310
|
+
* rows: Effect.succeed(24),
|
|
1311
|
+
* readInput: Effect.die("unused"),
|
|
1312
|
+
* readLine: Effect.die("unused"),
|
|
1313
|
+
* display: () => Effect.void
|
|
1314
|
+
* })),
|
|
1315
|
+
* Layer.succeed(
|
|
1316
|
+
* ChildProcessSpawner.ChildProcessSpawner,
|
|
1317
|
+
* ChildProcessSpawner.make(() => Effect.die("unused"))
|
|
1318
|
+
* )
|
|
1319
|
+
* )
|
|
1320
|
+
*
|
|
1321
|
+
* const download = Command.make("download", {
|
|
1322
|
+
* useApi: Flag.Boolean("use-api").pipe(Flag.withDefault(false)),
|
|
1323
|
+
* useDocker: Flag.Boolean("use-docker").pipe(Flag.withDefault(false))
|
|
1324
|
+
* }, () => Effect.void).pipe(
|
|
1325
|
+
* Command.validate(({ useApi, useDocker }) =>
|
|
1326
|
+
* useApi && useDocker
|
|
1327
|
+
* ? Effect.fail(
|
|
1328
|
+
* new CliError.ValidationError({
|
|
1329
|
+
* message: "--use-api and --use-docker are mutually exclusive"
|
|
1330
|
+
* })
|
|
1331
|
+
* )
|
|
1332
|
+
* : Effect.void
|
|
1333
|
+
* )
|
|
1334
|
+
* )
|
|
1335
|
+
*
|
|
1336
|
+
* const error = await Effect.runPromise(
|
|
1337
|
+
* Command.runWith(download, { version: "1.0.0" })(["--use-api", "--use-docker"]).pipe(
|
|
1338
|
+
* Effect.flip,
|
|
1339
|
+
* Effect.provide(CliTestLayer)
|
|
1340
|
+
* )
|
|
1341
|
+
* )
|
|
1342
|
+
* error._tag // => "ShowHelp"
|
|
1343
|
+
* error.errors[0].message // => "--use-api and --use-docker are mutually exclusive"
|
|
1344
|
+
* ```
|
|
1345
|
+
*
|
|
1346
|
+
* @stability unstable
|
|
1347
|
+
* @category combinators
|
|
1348
|
+
* @since 4.1.0
|
|
1349
|
+
*/
|
|
1350
|
+
<Name extends string, Input, ContextInput, E, R>(
|
|
1351
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1352
|
+
f: (input: Input) => Effect.Effect<void, CliError.CliError, Environment>
|
|
1353
|
+
): Command<Name, Input, ContextInput, E, R>
|
|
1354
|
+
} = dual(2, <Name extends string, Input, ContextInput, E, R>(
|
|
1355
|
+
self: Command<Name, Input, ContextInput, E, R>,
|
|
1356
|
+
f: (input: Input) => Effect.Effect<void, CliError.CliError, Environment>
|
|
1357
|
+
): Command<Name, Input, ContextInput, E, R> => {
|
|
1358
|
+
const impl = toImpl(self)
|
|
1359
|
+
return makeCommand({
|
|
1360
|
+
...impl,
|
|
1361
|
+
parse: (raw) => Effect.tap(impl.parse(raw), f)
|
|
1362
|
+
}) as any
|
|
1363
|
+
})
|
|
1364
|
+
|
|
1124
1365
|
interface SubcommandGroupInternal {
|
|
1125
1366
|
readonly group: string | undefined
|
|
1126
1367
|
readonly commands: NonEmptyReadonlyArray<Command.Any>
|
|
@@ -1475,7 +1716,7 @@ export const withSubcommands: {
|
|
|
1475
1716
|
unlisted: impl.unlisted,
|
|
1476
1717
|
annotations: impl.annotations,
|
|
1477
1718
|
globalFlags: impl.globalFlags,
|
|
1478
|
-
|
|
1719
|
+
resolveExamples: impl.resolveExamples,
|
|
1479
1720
|
service: impl.service,
|
|
1480
1721
|
subcommands: normalized.groups,
|
|
1481
1722
|
parse,
|
|
@@ -1597,7 +1838,7 @@ export const withSharedFlags: {
|
|
|
1597
1838
|
unlisted: impl.unlisted,
|
|
1598
1839
|
annotations: impl.annotations,
|
|
1599
1840
|
globalFlags: impl.globalFlags,
|
|
1600
|
-
|
|
1841
|
+
resolveExamples: impl.resolveExamples,
|
|
1601
1842
|
service: impl.service as Context.Key<CommandContext<Name>, NextContextInput>,
|
|
1602
1843
|
subcommands: impl.subcommands,
|
|
1603
1844
|
parse,
|
|
@@ -2163,6 +2404,10 @@ export const annotateMerge: {
|
|
|
2163
2404
|
* Examples are exposed in structured `HelpDoc` data and rendered by the
|
|
2164
2405
|
* default formatter in an `EXAMPLES` section.
|
|
2165
2406
|
*
|
|
2407
|
+
* Pass a function to build examples from the `commandPath` shown in help, so
|
|
2408
|
+
* they stay correct wherever the command is mounted. The `examples` field
|
|
2409
|
+
* resolves the function with the command's own name as the path.
|
|
2410
|
+
*
|
|
2166
2411
|
* **Example** (Adding usage examples)
|
|
2167
2412
|
*
|
|
2168
2413
|
* ```ts import.meta.vitest
|
|
@@ -2178,6 +2423,20 @@ export const annotateMerge: {
|
|
|
2178
2423
|
* login.examples.map((example) => example.command) // => ["myapp login", "myapp login --token sbp_abc123"]
|
|
2179
2424
|
* ```
|
|
2180
2425
|
*
|
|
2426
|
+
* **Example** (Deriving examples from the command path)
|
|
2427
|
+
*
|
|
2428
|
+
* ```ts import.meta.vitest
|
|
2429
|
+
* import { Command } from "effect/cli"
|
|
2430
|
+
*
|
|
2431
|
+
* const deploy = Command.make("deploy").pipe(
|
|
2432
|
+
* Command.withExamples(({ commandPath }) => [
|
|
2433
|
+
* { command: `${commandPath.join(" ")} --yes`, description: "Take every default" }
|
|
2434
|
+
* ])
|
|
2435
|
+
* )
|
|
2436
|
+
*
|
|
2437
|
+
* deploy.examples.map((example) => example.command) // => ["deploy --yes"]
|
|
2438
|
+
* ```
|
|
2439
|
+
*
|
|
2181
2440
|
* @stability unstable
|
|
2182
2441
|
* @category combinators
|
|
2183
2442
|
* @since 4.0.0
|
|
@@ -2191,6 +2450,10 @@ export const withExamples: {
|
|
|
2191
2450
|
* Examples are exposed in structured `HelpDoc` data and rendered by the
|
|
2192
2451
|
* default formatter in an `EXAMPLES` section.
|
|
2193
2452
|
*
|
|
2453
|
+
* Pass a function to build examples from the `commandPath` shown in help, so
|
|
2454
|
+
* they stay correct wherever the command is mounted. The `examples` field
|
|
2455
|
+
* resolves the function with the command's own name as the path.
|
|
2456
|
+
*
|
|
2194
2457
|
* **Example** (Adding usage examples)
|
|
2195
2458
|
*
|
|
2196
2459
|
* ```ts import.meta.vitest
|
|
@@ -2206,11 +2469,29 @@ export const withExamples: {
|
|
|
2206
2469
|
* login.examples.map((example) => example.command) // => ["myapp login", "myapp login --token sbp_abc123"]
|
|
2207
2470
|
* ```
|
|
2208
2471
|
*
|
|
2472
|
+
* **Example** (Deriving examples from the command path)
|
|
2473
|
+
*
|
|
2474
|
+
* ```ts import.meta.vitest
|
|
2475
|
+
* import { Command } from "effect/cli"
|
|
2476
|
+
*
|
|
2477
|
+
* const deploy = Command.make("deploy").pipe(
|
|
2478
|
+
* Command.withExamples(({ commandPath }) => [
|
|
2479
|
+
* { command: `${commandPath.join(" ")} --yes`, description: "Take every default" }
|
|
2480
|
+
* ])
|
|
2481
|
+
* )
|
|
2482
|
+
*
|
|
2483
|
+
* deploy.examples.map((example) => example.command) // => ["deploy --yes"]
|
|
2484
|
+
* ```
|
|
2485
|
+
*
|
|
2209
2486
|
* @stability unstable
|
|
2210
2487
|
* @category combinators
|
|
2211
2488
|
* @since 4.0.0
|
|
2212
2489
|
*/
|
|
2213
|
-
(
|
|
2490
|
+
(
|
|
2491
|
+
examples:
|
|
2492
|
+
| ReadonlyArray<Command.Example>
|
|
2493
|
+
| ((context: { readonly commandPath: ReadonlyArray<string> }) => ReadonlyArray<Command.Example>)
|
|
2494
|
+
): <const Name extends string, Input, E, R, ContextInput>(
|
|
2214
2495
|
self: Command<Name, Input, ContextInput, E, R>
|
|
2215
2496
|
) => Command<Name, Input, ContextInput, E, R>
|
|
2216
2497
|
/**
|
|
@@ -2221,6 +2502,10 @@ export const withExamples: {
|
|
|
2221
2502
|
* Examples are exposed in structured `HelpDoc` data and rendered by the
|
|
2222
2503
|
* default formatter in an `EXAMPLES` section.
|
|
2223
2504
|
*
|
|
2505
|
+
* Pass a function to build examples from the `commandPath` shown in help, so
|
|
2506
|
+
* they stay correct wherever the command is mounted. The `examples` field
|
|
2507
|
+
* resolves the function with the command's own name as the path.
|
|
2508
|
+
*
|
|
2224
2509
|
* **Example** (Adding usage examples)
|
|
2225
2510
|
*
|
|
2226
2511
|
* ```ts import.meta.vitest
|
|
@@ -2236,18 +2521,40 @@ export const withExamples: {
|
|
|
2236
2521
|
* login.examples.map((example) => example.command) // => ["myapp login", "myapp login --token sbp_abc123"]
|
|
2237
2522
|
* ```
|
|
2238
2523
|
*
|
|
2524
|
+
* **Example** (Deriving examples from the command path)
|
|
2525
|
+
*
|
|
2526
|
+
* ```ts import.meta.vitest
|
|
2527
|
+
* import { Command } from "effect/cli"
|
|
2528
|
+
*
|
|
2529
|
+
* const deploy = Command.make("deploy").pipe(
|
|
2530
|
+
* Command.withExamples(({ commandPath }) => [
|
|
2531
|
+
* { command: `${commandPath.join(" ")} --yes`, description: "Take every default" }
|
|
2532
|
+
* ])
|
|
2533
|
+
* )
|
|
2534
|
+
*
|
|
2535
|
+
* deploy.examples.map((example) => example.command) // => ["deploy --yes"]
|
|
2536
|
+
* ```
|
|
2537
|
+
*
|
|
2239
2538
|
* @stability unstable
|
|
2240
2539
|
* @category combinators
|
|
2241
2540
|
* @since 4.0.0
|
|
2242
2541
|
*/
|
|
2243
2542
|
<const Name extends string, Input, E, R, ContextInput>(
|
|
2244
2543
|
self: Command<Name, Input, ContextInput, E, R>,
|
|
2245
|
-
examples:
|
|
2544
|
+
examples:
|
|
2545
|
+
| ReadonlyArray<Command.Example>
|
|
2546
|
+
| ((context: { readonly commandPath: ReadonlyArray<string> }) => ReadonlyArray<Command.Example>)
|
|
2246
2547
|
): Command<Name, Input, ContextInput, E, R>
|
|
2247
2548
|
} = dual(2, <const Name extends string, Input, E, R, ContextInput>(
|
|
2248
2549
|
self: Command<Name, Input, ContextInput, E, R>,
|
|
2249
|
-
examples:
|
|
2250
|
-
|
|
2550
|
+
examples:
|
|
2551
|
+
| ReadonlyArray<Command.Example>
|
|
2552
|
+
| ((context: { readonly commandPath: ReadonlyArray<string> }) => ReadonlyArray<Command.Example>)
|
|
2553
|
+
) =>
|
|
2554
|
+
makeCommand({
|
|
2555
|
+
...toImpl(self),
|
|
2556
|
+
resolveExamples: Predicate.isFunction(examples) ? (commandPath) => examples({ commandPath }) : () => examples
|
|
2557
|
+
}))
|
|
2251
2558
|
|
|
2252
2559
|
/* ========================================================================== */
|
|
2253
2560
|
/* Providing Services */
|
|
@@ -2755,7 +3062,7 @@ const showHelp = <Name extends string, Input, E, R, ContextInput>(
|
|
|
2755
3062
|
): Effect.Effect<void, CliError.CliError, Environment> =>
|
|
2756
3063
|
Effect.gen(function*() {
|
|
2757
3064
|
const { builtIns } = yield* CliConfig.CliConfig
|
|
2758
|
-
const formatter = yield*
|
|
3065
|
+
const formatter = yield* resolveFormatter
|
|
2759
3066
|
const helpDoc = yield* getHelpForCommandPath(command, error.commandPath, builtIns)
|
|
2760
3067
|
yield* Console.log(formatter.formatHelpDoc(helpDoc))
|
|
2761
3068
|
if (renderErrors && error.errors.length > 0) {
|
|
@@ -2765,7 +3072,7 @@ const showHelp = <Name extends string, Input, E, R, ContextInput>(
|
|
|
2765
3072
|
|
|
2766
3073
|
const showUserError = (error: CliError.UserError): Effect.Effect<void> =>
|
|
2767
3074
|
Effect.gen(function*() {
|
|
2768
|
-
const formatter = yield*
|
|
3075
|
+
const formatter = yield* resolveFormatter
|
|
2769
3076
|
yield* Console.error(formatter.formatError(error))
|
|
2770
3077
|
error[Runtime.errorReported] = false
|
|
2771
3078
|
})
|
package/src/cli/Completions.ts
CHANGED
|
@@ -48,6 +48,16 @@ export interface FlagDescriptor {
|
|
|
48
48
|
readonly aliases: ReadonlyArray<string>
|
|
49
49
|
readonly description: string | undefined
|
|
50
50
|
readonly type: FlagType
|
|
51
|
+
/**
|
|
52
|
+
* Whether the flag's value is optional. Its value can only be attached with
|
|
53
|
+
* `=` (`--name=value`), never given as the next word.
|
|
54
|
+
*/
|
|
55
|
+
readonly optionalValue?: boolean | undefined
|
|
56
|
+
/**
|
|
57
|
+
* Long name that sets a boolean flag to `false`. Defaults to `no-<name>`;
|
|
58
|
+
* `false` means the flag has no negated form.
|
|
59
|
+
*/
|
|
60
|
+
readonly negation?: string | false | undefined
|
|
51
61
|
}
|
|
52
62
|
|
|
53
63
|
/**
|
package/src/cli/Flag.ts
CHANGED
|
@@ -611,6 +611,224 @@ export const withDescription: {
|
|
|
611
611
|
<A>(self: Flag<A>, description: string): Flag<A>
|
|
612
612
|
} = dual(2, <A>(self: Flag<A>, description: string) => Param.withDescription(self, description))
|
|
613
613
|
|
|
614
|
+
/**
|
|
615
|
+
* Lets a flag be given without a value, in which case `value` is used.
|
|
616
|
+
*
|
|
617
|
+
* **Details**
|
|
618
|
+
*
|
|
619
|
+
* Follows GNU-style optional values, like `--color[=WHEN]`. An explicit value
|
|
620
|
+
* must be attached with `=` (`--watch=until-done` or `-w=until-done`). A bare
|
|
621
|
+
* `--watch` is parsed as `--watch=<value>`, so `value` is validated like any
|
|
622
|
+
* other input. The flag never consumes the next token, so in `--watch build`,
|
|
623
|
+
* `build` stays a positional argument or subcommand. The flag is still
|
|
624
|
+
* required unless it is made optional or given a default.
|
|
625
|
+
*
|
|
626
|
+
* **Example** (Flag with an optional value)
|
|
627
|
+
*
|
|
628
|
+
* ```ts import.meta.vitest
|
|
629
|
+
* import { Flag } from "effect/cli"
|
|
630
|
+
*
|
|
631
|
+
* const watch = Flag.Literals("watch", ["first-failure", "until-done"]).pipe(
|
|
632
|
+
* Flag.withOptionalValue("first-failure"),
|
|
633
|
+
* Flag.optional
|
|
634
|
+
* )
|
|
635
|
+
* // --watch => Option.some("first-failure")
|
|
636
|
+
* // --watch=until-done => Option.some("until-done")
|
|
637
|
+
* // (absent) => Option.none()
|
|
638
|
+
* // In help: --watch [=choice]
|
|
639
|
+
* watch.kind // => "flag"
|
|
640
|
+
* ```
|
|
641
|
+
*
|
|
642
|
+
* @stability unstable
|
|
643
|
+
* @category combinators
|
|
644
|
+
* @since 4.1.0
|
|
645
|
+
*/
|
|
646
|
+
export const withOptionalValue: {
|
|
647
|
+
/**
|
|
648
|
+
* Lets a flag be given without a value, in which case `value` is used.
|
|
649
|
+
*
|
|
650
|
+
* **Details**
|
|
651
|
+
*
|
|
652
|
+
* Follows GNU-style optional values, like `--color[=WHEN]`. An explicit value
|
|
653
|
+
* must be attached with `=` (`--watch=until-done` or `-w=until-done`). A bare
|
|
654
|
+
* `--watch` is parsed as `--watch=<value>`, so `value` is validated like any
|
|
655
|
+
* other input. The flag never consumes the next token, so in `--watch build`,
|
|
656
|
+
* `build` stays a positional argument or subcommand. The flag is still
|
|
657
|
+
* required unless it is made optional or given a default.
|
|
658
|
+
*
|
|
659
|
+
* **Example** (Flag with an optional value)
|
|
660
|
+
*
|
|
661
|
+
* ```ts import.meta.vitest
|
|
662
|
+
* import { Flag } from "effect/cli"
|
|
663
|
+
*
|
|
664
|
+
* const watch = Flag.Literals("watch", ["first-failure", "until-done"]).pipe(
|
|
665
|
+
* Flag.withOptionalValue("first-failure"),
|
|
666
|
+
* Flag.optional
|
|
667
|
+
* )
|
|
668
|
+
* // --watch => Option.some("first-failure")
|
|
669
|
+
* // --watch=until-done => Option.some("until-done")
|
|
670
|
+
* // (absent) => Option.none()
|
|
671
|
+
* // In help: --watch [=choice]
|
|
672
|
+
* watch.kind // => "flag"
|
|
673
|
+
* ```
|
|
674
|
+
*
|
|
675
|
+
* @stability unstable
|
|
676
|
+
* @category combinators
|
|
677
|
+
* @since 4.1.0
|
|
678
|
+
*/
|
|
679
|
+
(value: string): <A>(self: Flag<A>) => Flag<A>
|
|
680
|
+
/**
|
|
681
|
+
* Lets a flag be given without a value, in which case `value` is used.
|
|
682
|
+
*
|
|
683
|
+
* **Details**
|
|
684
|
+
*
|
|
685
|
+
* Follows GNU-style optional values, like `--color[=WHEN]`. An explicit value
|
|
686
|
+
* must be attached with `=` (`--watch=until-done` or `-w=until-done`). A bare
|
|
687
|
+
* `--watch` is parsed as `--watch=<value>`, so `value` is validated like any
|
|
688
|
+
* other input. The flag never consumes the next token, so in `--watch build`,
|
|
689
|
+
* `build` stays a positional argument or subcommand. The flag is still
|
|
690
|
+
* required unless it is made optional or given a default.
|
|
691
|
+
*
|
|
692
|
+
* **Example** (Flag with an optional value)
|
|
693
|
+
*
|
|
694
|
+
* ```ts import.meta.vitest
|
|
695
|
+
* import { Flag } from "effect/cli"
|
|
696
|
+
*
|
|
697
|
+
* const watch = Flag.Literals("watch", ["first-failure", "until-done"]).pipe(
|
|
698
|
+
* Flag.withOptionalValue("first-failure"),
|
|
699
|
+
* Flag.optional
|
|
700
|
+
* )
|
|
701
|
+
* // --watch => Option.some("first-failure")
|
|
702
|
+
* // --watch=until-done => Option.some("until-done")
|
|
703
|
+
* // (absent) => Option.none()
|
|
704
|
+
* // In help: --watch [=choice]
|
|
705
|
+
* watch.kind // => "flag"
|
|
706
|
+
* ```
|
|
707
|
+
*
|
|
708
|
+
* @stability unstable
|
|
709
|
+
* @category combinators
|
|
710
|
+
* @since 4.1.0
|
|
711
|
+
*/
|
|
712
|
+
<A>(self: Flag<A>, value: string): Flag<A>
|
|
713
|
+
} = dual(2, <A>(self: Flag<A>, value: string) => Param.withOptionalValue(self, value))
|
|
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
|
+
|
|
614
832
|
// -------------------------------------------------------------------------------------
|
|
615
833
|
// metadata
|
|
616
834
|
// -------------------------------------------------------------------------------------
|
package/src/cli/GlobalFlag.ts
CHANGED
|
@@ -17,11 +17,11 @@ import * as Context from "../Context.ts"
|
|
|
17
17
|
import * as Effect from "../Effect.ts"
|
|
18
18
|
import type { LogLevel as LogLevelType } from "../LogLevel.ts"
|
|
19
19
|
import * as Option from "../Option.ts"
|
|
20
|
-
import * as CliOutput from "./CliOutput.ts"
|
|
21
20
|
import type * as Command from "./Command.ts"
|
|
22
21
|
import * as Completions_ from "./Completions.ts"
|
|
23
22
|
import * as Flag from "./Flag.ts"
|
|
24
23
|
import * as CommandDescriptor from "./internal/completions/descriptor.ts"
|
|
24
|
+
import { resolveFormatter } from "./internal/formatter.ts"
|
|
25
25
|
import * as HelpInternal from "./internal/help.ts"
|
|
26
26
|
|
|
27
27
|
/* ========================================================================== */
|
|
@@ -169,7 +169,7 @@ export const Help: Action<boolean> = Action({
|
|
|
169
169
|
Flag.withDefault(false)
|
|
170
170
|
),
|
|
171
171
|
run: Effect.fnUntraced(function*(_, { builtIns, command, commandPath }) {
|
|
172
|
-
const formatter = yield*
|
|
172
|
+
const formatter = yield* resolveFormatter
|
|
173
173
|
const helpDoc = yield* HelpInternal.getHelpForCommandPath(command, commandPath, builtIns)
|
|
174
174
|
yield* Console.log(formatter.formatHelpDoc(helpDoc))
|
|
175
175
|
})
|
|
@@ -193,7 +193,7 @@ export const Version: Action<boolean> = Action({
|
|
|
193
193
|
Flag.withDefault(false)
|
|
194
194
|
),
|
|
195
195
|
run: Effect.fnUntraced(function*(_, { command, version }) {
|
|
196
|
-
const formatter = yield*
|
|
196
|
+
const formatter = yield* resolveFormatter
|
|
197
197
|
yield* Console.log(formatter.formatVersion(command.name, version))
|
|
198
198
|
})
|
|
199
199
|
})
|