effect 4.0.6 → 4.1.0
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/README.md +1 -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/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +3 -0
- package/dist/BigDecimal.js.map +1 -1
- package/dist/Channel.d.ts +12 -6
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +30 -9
- package/dist/Channel.js.map +1 -1
- package/dist/Config.d.ts +7 -1
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js.map +1 -1
- package/dist/Context.d.ts +18 -1
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +27 -8
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +81 -11
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +101 -26
- 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 +78 -0
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +123 -0
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +165 -8
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +12 -2
- 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/Exit.d.ts +3 -3
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js.map +1 -1
- package/dist/FileSystem.d.ts +59 -4
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +9 -2
- 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/Glob.d.ts +165 -0
- package/dist/Glob.d.ts.map +1 -0
- package/dist/Glob.js +127 -0
- package/dist/Glob.js.map +1 -0
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +4 -1
- package/dist/Hash.js.map +1 -1
- package/dist/JsonPatch.js +4 -0
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +13 -40
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Match.d.ts +86 -0
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +72 -0
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +3 -3
- 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/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/Pool.d.ts +51 -0
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +136 -36
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +5 -6
- package/dist/PubSub.js.map +1 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +3 -3
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +8 -2
- package/dist/RcMap.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/Schedule.d.ts +18 -1
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +8 -3
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +690 -49
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +687 -28
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +4 -2
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +14 -17
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +6 -1
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +22 -11
- package/dist/SchemaGetter.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 +33 -10
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +39 -13
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +12 -4
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +15 -5
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +5 -7
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Semaphore.d.ts +130 -0
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +94 -35
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +7 -2
- package/dist/Sink.js.map +1 -1
- package/dist/Stream.d.ts +13 -4
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +31 -10
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +3 -0
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +3 -0
- package/dist/String.js.map +1 -1
- package/dist/Terminal.d.ts +18 -1
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +1 -1
- package/dist/Terminal.js.map +1 -1
- 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/ai/AiError.d.ts +43 -116
- package/dist/ai/AiError.d.ts.map +1 -1
- package/dist/ai/AiError.js +53 -72
- package/dist/ai/AiError.js.map +1 -1
- package/dist/ai/Decision.d.ts +196 -15
- package/dist/ai/Decision.d.ts.map +1 -1
- package/dist/ai/Decision.js +130 -0
- package/dist/ai/Decision.js.map +1 -1
- package/dist/ai/DecisionModel.d.ts +54 -13
- package/dist/ai/DecisionModel.d.ts.map +1 -1
- package/dist/ai/DecisionModel.js +123 -12
- package/dist/ai/DecisionModel.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/McpSchema.d.ts +110 -110
- package/dist/ai/McpSchema.d.ts.map +1 -1
- package/dist/ai/McpServer.d.ts +630 -29
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +583 -131
- package/dist/ai/McpServer.js.map +1 -1
- package/dist/ai/McpTest.d.ts +130 -0
- package/dist/ai/McpTest.d.ts.map +1 -0
- package/dist/ai/McpTest.js +237 -0
- package/dist/ai/McpTest.js.map +1 -0
- package/dist/ai/Prompt.d.ts +52 -0
- package/dist/ai/Prompt.d.ts.map +1 -1
- package/dist/ai/Prompt.js +38 -0
- package/dist/ai/Prompt.js.map +1 -1
- package/dist/ai/Response.d.ts +17 -28
- package/dist/ai/Response.d.ts.map +1 -1
- package/dist/ai/Response.js +5 -10
- package/dist/ai/Response.js.map +1 -1
- package/dist/ai/Tool.d.ts +43 -1
- 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.map +1 -1
- package/dist/ai/Toolkit.js +8 -1
- package/dist/ai/Toolkit.js.map +1 -1
- package/dist/ai/index.d.ts +5 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +5 -0
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/internal/mcpCore.js +17 -12
- package/dist/ai/internal/mcpCore.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js +4 -5
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js +4 -5
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js +4 -5
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js +4 -5
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js +18 -10
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
- package/dist/ai/internal/mcpProtocol.js +13 -0
- package/dist/ai/internal/mcpProtocol.js.map +1 -1
- package/dist/ai/internal/mcpRuntime.js +5 -3
- package/dist/ai/internal/mcpRuntime.js.map +1 -1
- package/dist/ai/internal/mcpStatefulRuntime.js +6 -1
- package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
- package/dist/cli/Argument.d.ts +21 -0
- package/dist/cli/Argument.d.ts.map +1 -1
- package/dist/cli/Argument.js +7 -0
- package/dist/cli/Argument.js.map +1 -1
- package/dist/cli/CliError.d.ts +78 -0
- package/dist/cli/CliError.d.ts.map +1 -1
- package/dist/cli/CliError.js +65 -3
- package/dist/cli/CliError.js.map +1 -1
- package/dist/cli/CliOutput.d.ts +220 -7
- package/dist/cli/CliOutput.d.ts.map +1 -1
- package/dist/cli/CliOutput.js +156 -43
- package/dist/cli/CliOutput.js.map +1 -1
- package/dist/cli/Command.d.ts +47 -16
- package/dist/cli/Command.d.ts.map +1 -1
- package/dist/cli/Command.js +67 -29
- package/dist/cli/Command.js.map +1 -1
- package/dist/cli/Completions.d.ts +58 -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 +122 -0
- package/dist/cli/Flag.d.ts.map +1 -1
- package/dist/cli/Flag.js +42 -0
- package/dist/cli/Flag.js.map +1 -1
- package/dist/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/cli/GlobalFlag.js +15 -7
- package/dist/cli/GlobalFlag.js.map +1 -1
- package/dist/cli/HelpDoc.d.ts +15 -1
- package/dist/cli/HelpDoc.d.ts.map +1 -1
- package/dist/cli/Param.d.ts +15 -0
- package/dist/cli/Param.d.ts.map +1 -1
- package/dist/cli/Param.js +23 -2
- package/dist/cli/Param.js.map +1 -1
- package/dist/cli/Primitive.d.ts +14 -0
- package/dist/cli/Primitive.d.ts.map +1 -1
- package/dist/cli/Primitive.js +15 -1
- package/dist/cli/Primitive.js.map +1 -1
- package/dist/cli/Prompt.d.ts +1 -0
- package/dist/cli/Prompt.d.ts.map +1 -1
- package/dist/cli/Prompt.js +1 -0
- package/dist/cli/Prompt.js.map +1 -1
- package/dist/cli/TerminalCapabilities.d.ts +3 -2
- package/dist/cli/TerminalCapabilities.d.ts.map +1 -1
- package/dist/cli/TerminalCapabilities.js +3 -1
- package/dist/cli/TerminalCapabilities.js.map +1 -1
- package/dist/cli/internal/completions/bash.js +73 -27
- package/dist/cli/internal/completions/bash.js.map +1 -1
- package/dist/cli/internal/help.d.ts.map +1 -1
- package/dist/cli/internal/help.js +17 -10
- package/dist/cli/internal/help.js.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.js +45 -10
- package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cluster/MessageStorage.d.ts +23 -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/Sharding.d.ts.map +1 -1
- package/dist/cluster/Sharding.js +151 -49
- package/dist/cluster/Sharding.js.map +1 -1
- package/dist/cluster/ShardingConfig.d.ts +76 -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/SingleRunner.d.ts +3 -3
- package/dist/cluster/SingleRunner.d.ts.map +1 -1
- package/dist/cluster/SingleRunner.js +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 +37 -6
- package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/cluster/SqlMessageStorage.js +34 -7
- package/dist/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/cluster/SqlRunnerStorage.js +109 -46
- package/dist/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/cluster/internal/entityManager.js +54 -20
- package/dist/cluster/internal/entityManager.js.map +1 -1
- package/dist/crypto/Aead.d.ts +322 -0
- package/dist/crypto/Aead.d.ts.map +1 -0
- package/dist/crypto/Aead.js +331 -0
- package/dist/crypto/Aead.js.map +1 -0
- package/dist/crypto/Cipher.d.ts +235 -0
- package/dist/crypto/Cipher.d.ts.map +1 -0
- package/dist/crypto/Cipher.js +233 -0
- package/dist/crypto/Cipher.js.map +1 -0
- package/dist/crypto/CryptoError.d.ts +212 -0
- package/dist/crypto/CryptoError.d.ts.map +1 -0
- package/dist/crypto/CryptoError.js +202 -0
- package/dist/crypto/CryptoError.js.map +1 -0
- package/dist/crypto/Digest.d.ts +143 -0
- package/dist/crypto/Digest.d.ts.map +1 -0
- package/dist/crypto/Digest.js +146 -0
- package/dist/crypto/Digest.js.map +1 -0
- package/dist/crypto/Kdf.d.ts +220 -0
- package/dist/crypto/Kdf.d.ts.map +1 -0
- package/dist/crypto/Kdf.js +212 -0
- package/dist/crypto/Kdf.js.map +1 -0
- package/dist/crypto/KeyAgreement.d.ts +323 -0
- package/dist/crypto/KeyAgreement.d.ts.map +1 -0
- package/dist/crypto/KeyAgreement.js +303 -0
- package/dist/crypto/KeyAgreement.js.map +1 -0
- package/dist/crypto/KeyFormat.d.ts +309 -0
- package/dist/crypto/KeyFormat.d.ts.map +1 -0
- package/dist/crypto/KeyFormat.js +556 -0
- package/dist/crypto/KeyFormat.js.map +1 -0
- package/dist/crypto/KeyWrap.d.ts +389 -0
- package/dist/crypto/KeyWrap.d.ts.map +1 -0
- package/dist/crypto/KeyWrap.js +381 -0
- package/dist/crypto/KeyWrap.js.map +1 -0
- package/dist/crypto/Mac.d.ts +277 -0
- package/dist/crypto/Mac.d.ts.map +1 -0
- package/dist/crypto/Mac.js +288 -0
- package/dist/crypto/Mac.js.map +1 -0
- package/dist/crypto/SecureRandom.d.ts +340 -0
- package/dist/crypto/SecureRandom.d.ts.map +1 -0
- package/dist/crypto/SecureRandom.js +257 -0
- package/dist/crypto/SecureRandom.js.map +1 -0
- package/dist/crypto/Signature.d.ts +448 -0
- package/dist/crypto/Signature.d.ts.map +1 -0
- package/dist/crypto/Signature.js +484 -0
- package/dist/crypto/Signature.js.map +1 -0
- package/dist/crypto/WebCrypto.d.ts +61 -0
- package/dist/crypto/WebCrypto.d.ts.map +1 -0
- package/dist/crypto/WebCrypto.js +63 -0
- package/dist/crypto/WebCrypto.js.map +1 -0
- package/dist/crypto/index.d.ts +65 -0
- package/dist/crypto/index.d.ts.map +1 -0
- package/dist/crypto/index.js +66 -0
- package/dist/crypto/index.js.map +1 -0
- package/dist/crypto/internal/asymmetric.d.ts +2 -0
- package/dist/crypto/internal/asymmetric.d.ts.map +1 -0
- package/dist/crypto/internal/asymmetric.js +210 -0
- package/dist/crypto/internal/asymmetric.js.map +1 -0
- package/dist/crypto/internal/chacha.d.ts +46 -0
- package/dist/crypto/internal/chacha.d.ts.map +1 -0
- package/dist/crypto/internal/chacha.js +885 -0
- package/dist/crypto/internal/chacha.js.map +1 -0
- package/dist/crypto/internal/der.d.ts +6 -0
- package/dist/crypto/internal/der.d.ts.map +1 -0
- package/dist/crypto/internal/der.js +86 -0
- package/dist/crypto/internal/der.js.map +1 -0
- package/dist/crypto/internal/digest.d.ts +2 -0
- package/dist/crypto/internal/digest.d.ts.map +1 -0
- package/dist/crypto/internal/digest.js +15 -0
- package/dist/crypto/internal/digest.js.map +1 -0
- package/dist/crypto/internal/key.d.ts +2 -0
- package/dist/crypto/internal/key.d.ts.map +1 -0
- package/dist/crypto/internal/key.js +170 -0
- package/dist/crypto/internal/key.js.map +1 -0
- package/dist/crypto/internal/md5.d.ts +39 -0
- package/dist/crypto/internal/md5.d.ts.map +1 -0
- package/dist/crypto/internal/md5.js +179 -0
- package/dist/crypto/internal/md5.js.map +1 -0
- package/dist/crypto/internal/webCrypto.d.ts +2 -0
- package/dist/crypto/internal/webCrypto.d.ts.map +1 -0
- package/dist/crypto/internal/webCrypto.js +111 -0
- package/dist/crypto/internal/webCrypto.js.map +1 -0
- package/dist/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/devtools/DevToolsClient.js +2 -0
- 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.map +1 -1
- package/dist/encoding/Base64Url.js +3 -2
- package/dist/encoding/Base64Url.js.map +1 -1
- package/dist/encoding/Csv.d.ts +608 -0
- package/dist/encoding/Csv.d.ts.map +1 -0
- package/dist/encoding/Csv.js +718 -0
- package/dist/encoding/Csv.js.map +1 -0
- package/dist/encoding/Hex.d.ts +3 -2
- package/dist/encoding/Hex.d.ts.map +1 -1
- package/dist/encoding/Hex.js +3 -2
- package/dist/encoding/Hex.js.map +1 -1
- package/dist/encoding/SchemaBinary.d.ts.map +1 -1
- package/dist/encoding/SchemaBinary.js +42 -4
- 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/Toml.d.ts +17 -3
- package/dist/encoding/Toml.d.ts.map +1 -1
- package/dist/encoding/Toml.js +124 -31
- package/dist/encoding/Toml.js.map +1 -1
- package/dist/encoding/Yaml.d.ts +8 -1
- package/dist/encoding/Yaml.d.ts.map +1 -1
- package/dist/encoding/Yaml.js +54 -18
- package/dist/encoding/Yaml.js.map +1 -1
- package/dist/encoding/index.d.ts +5 -0
- package/dist/encoding/index.d.ts.map +1 -1
- package/dist/encoding/index.js +5 -0
- package/dist/encoding/index.js.map +1 -1
- package/dist/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/eventlog/EventJournal.js +6 -3
- package/dist/eventlog/EventJournal.js.map +1 -1
- package/dist/eventlog/EventLog.d.ts +119 -4
- package/dist/eventlog/EventLog.d.ts.map +1 -1
- package/dist/eventlog/EventLog.js +200 -12
- package/dist/eventlog/EventLog.js.map +1 -1
- package/dist/eventlog/EventLogEncryption.d.ts +41 -4
- package/dist/eventlog/EventLogEncryption.d.ts.map +1 -1
- package/dist/eventlog/EventLogEncryption.js +83 -64
- package/dist/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/eventlog/EventLogMessage.d.ts +279 -0
- package/dist/eventlog/EventLogMessage.d.ts.map +1 -1
- package/dist/eventlog/EventLogMessage.js +217 -1
- package/dist/eventlog/EventLogMessage.js.map +1 -1
- package/dist/eventlog/EventLogRemote.d.ts +200 -28
- package/dist/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/eventlog/EventLogRemote.js +186 -16
- package/dist/eventlog/EventLogRemote.js.map +1 -1
- package/dist/eventlog/EventLogServer.d.ts +3 -0
- package/dist/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/eventlog/EventLogServer.js +18 -10
- package/dist/eventlog/EventLogServer.js.map +1 -1
- package/dist/eventlog/EventLogServerEncrypted.d.ts +326 -5
- package/dist/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/eventlog/EventLogServerEncrypted.js +769 -14
- package/dist/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/eventlog/EventLogSessionAuth.d.ts +5 -3
- package/dist/eventlog/EventLogSessionAuth.d.ts.map +1 -1
- package/dist/eventlog/EventLogSessionAuth.js +41 -64
- package/dist/eventlog/EventLogSessionAuth.js.map +1 -1
- package/dist/eventlog/EventRow.d.ts +4 -0
- package/dist/eventlog/EventRow.d.ts.map +1 -1
- package/dist/eventlog/EventRow.js +12 -2
- package/dist/eventlog/EventRow.js.map +1 -1
- package/dist/eventlog/SqlEventJournal.d.ts.map +1 -1
- package/dist/eventlog/SqlEventJournal.js +47 -27
- package/dist/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/eventlog/SqlEventLogServerEncrypted.d.ts +21 -5
- package/dist/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
- package/dist/eventlog/SqlEventLogServerEncrypted.js +1048 -113
- package/dist/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.js +2 -2
- package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/eventlog/internal/batches.d.ts +12 -0
- package/dist/eventlog/internal/batches.d.ts.map +1 -0
- package/dist/eventlog/internal/batches.js +26 -0
- package/dist/eventlog/internal/batches.js.map +1 -0
- package/dist/eventlog/internal/compaction.d.ts +38 -0
- package/dist/eventlog/internal/compaction.d.ts.map +1 -0
- package/dist/eventlog/internal/compaction.js +33 -0
- package/dist/eventlog/internal/compaction.js.map +1 -0
- package/dist/eventlog/internal/conflicts.d.ts +0 -1
- package/dist/eventlog/internal/conflicts.d.ts.map +1 -1
- package/dist/eventlog/internal/conflicts.js +0 -3
- package/dist/eventlog/internal/conflicts.js.map +1 -1
- package/dist/eventlog/internal/identityRootSecretDerivation.js +66 -67
- package/dist/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
- package/dist/eventlog/internal/remoteCompaction.d.ts +31 -0
- package/dist/eventlog/internal/remoteCompaction.d.ts.map +1 -0
- package/dist/eventlog/internal/remoteCompaction.js +76 -0
- package/dist/eventlog/internal/remoteCompaction.js.map +1 -0
- package/dist/http/Cookies.d.ts +172 -0
- package/dist/http/Cookies.d.ts.map +1 -1
- package/dist/http/Cookies.js +153 -10
- package/dist/http/Cookies.js.map +1 -1
- package/dist/http/FetchHttpClient.d.ts +26 -2
- package/dist/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/http/FetchHttpClient.js +78 -15
- package/dist/http/FetchHttpClient.js.map +1 -1
- package/dist/http/HttpClient.d.ts +502 -8
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +296 -12
- 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 +9 -5
- package/dist/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/http/HttpClientRequest.js +3 -4
- package/dist/http/HttpClientRequest.js.map +1 -1
- package/dist/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/http/HttpClientResponse.js +3 -2
- package/dist/http/HttpClientResponse.js.map +1 -1
- package/dist/http/HttpMethod.d.ts +7 -1
- package/dist/http/HttpMethod.d.ts.map +1 -1
- package/dist/http/HttpMethod.js +3 -8
- package/dist/http/HttpMethod.js.map +1 -1
- package/dist/http/HttpMiddleware.d.ts +1 -1
- package/dist/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/http/HttpMiddleware.js +14 -16
- package/dist/http/HttpMiddleware.js.map +1 -1
- package/dist/http/HttpRouter.d.ts.map +1 -1
- package/dist/http/HttpRouter.js +2 -1
- package/dist/http/HttpRouter.js.map +1 -1
- package/dist/http/HttpServerError.js +2 -2
- package/dist/http/HttpServerError.js.map +1 -1
- package/dist/http/HttpServerRequest.d.ts +11 -3
- package/dist/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/http/HttpServerRequest.js +77 -25
- package/dist/http/HttpServerRequest.js.map +1 -1
- package/dist/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/http/HttpServerResponse.js +3 -2
- package/dist/http/HttpServerResponse.js.map +1 -1
- package/dist/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/http/HttpStaticServer.js +48 -21
- package/dist/http/HttpStaticServer.js.map +1 -1
- package/dist/http/HttpTraceContext.d.ts +2 -1
- package/dist/http/HttpTraceContext.d.ts.map +1 -1
- package/dist/http/HttpTraceContext.js +7 -5
- package/dist/http/HttpTraceContext.js.map +1 -1
- package/dist/http/MultipartParser/internal/contentType.js +3 -3
- package/dist/http/ProblemDetails.d.ts +96 -0
- package/dist/http/ProblemDetails.d.ts.map +1 -0
- package/dist/http/ProblemDetails.js +98 -0
- package/dist/http/ProblemDetails.js.map +1 -0
- 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/index.d.ts +5 -0
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +5 -0
- package/dist/http/index.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 +6 -2
- 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/urlParams.js +33 -0
- package/dist/http/internal/urlParams.js.map +1 -1
- 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 +3 -6
- 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 +43 -13
- package/dist/http-api/HttpApiBuilder.js.map +1 -1
- package/dist/http-api/HttpApiClient.d.ts +140 -7
- package/dist/http-api/HttpApiClient.d.ts.map +1 -1
- package/dist/http-api/HttpApiClient.js +193 -44
- package/dist/http-api/HttpApiClient.js.map +1 -1
- package/dist/http-api/HttpApiEndpoint.d.ts +24 -7
- package/dist/http-api/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/http-api/HttpApiEndpoint.js +123 -32
- package/dist/http-api/HttpApiEndpoint.js.map +1 -1
- package/dist/http-api/HttpApiError.d.ts +185 -13
- package/dist/http-api/HttpApiError.d.ts.map +1 -1
- package/dist/http-api/HttpApiError.js +128 -0
- package/dist/http-api/HttpApiError.js.map +1 -1
- package/dist/http-api/HttpApiMiddleware.d.ts +64 -17
- package/dist/http-api/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/http-api/HttpApiMiddleware.js +85 -1
- package/dist/http-api/HttpApiMiddleware.js.map +1 -1
- package/dist/http-api/HttpApiSchema.d.ts +142 -33
- package/dist/http-api/HttpApiSchema.d.ts.map +1 -1
- package/dist/http-api/HttpApiSchema.js +123 -59
- package/dist/http-api/HttpApiSchema.js.map +1 -1
- package/dist/http-api/HttpApiTest.d.ts.map +1 -1
- package/dist/http-api/HttpApiTest.js +3 -2
- package/dist/http-api/HttpApiTest.js.map +1 -1
- package/dist/http-api/OpenApi.d.ts.map +1 -1
- package/dist/http-api/OpenApi.js +25 -16
- package/dist/http-api/OpenApi.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 +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- 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 +2 -0
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/effect.js +46 -27
- 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/glob.d.ts +2 -0
- package/dist/internal/glob.d.ts.map +1 -0
- package/dist/internal/glob.js +630 -0
- package/dist/internal/glob.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 +11 -1
- package/dist/internal/matcher.js.map +1 -1
- package/dist/internal/persistence.js +9 -0
- package/dist/internal/persistence.js.map +1 -1
- package/dist/internal/rcRef.js +4 -1
- package/dist/internal/rcRef.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 +173 -185
- 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/standardSchema.js +8 -2
- package/dist/internal/schema/standardSchema.js.map +1 -1
- package/dist/internal/schema/toCodeDocument.js +9 -6
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toCodec.js +21 -24
- package/dist/internal/schema/toCodec.js.map +1 -1
- package/dist/internal/schema/toJsonSchemaDocument.js +205 -140
- 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 +42 -13
- package/dist/internal/trie.js.map +1 -1
- package/dist/internal/ulid.js +41 -0
- package/dist/internal/ulid.js.map +1 -1
- package/dist/internal/uuid.js +52 -8
- package/dist/internal/uuid.js.map +1 -1
- package/dist/internal/version.js +1 -1
- package/dist/observability/Otlp.d.ts +15 -4
- package/dist/observability/Otlp.d.ts.map +1 -1
- package/dist/observability/Otlp.js +10 -0
- package/dist/observability/Otlp.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 +7 -0
- package/dist/observability/OtlpResource.d.ts.map +1 -1
- package/dist/observability/OtlpResource.js +11 -1
- package/dist/observability/OtlpResource.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/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/KeyValueStore.d.ts +47 -2
- package/dist/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/persistence/KeyValueStore.js +129 -18
- package/dist/persistence/KeyValueStore.js.map +1 -1
- package/dist/persistence/PersistedQueue.d.ts +9 -0
- package/dist/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/persistence/PersistedQueue.js +94 -52
- package/dist/persistence/PersistedQueue.js.map +1 -1
- package/dist/persistence/Persistence.d.ts +10 -4
- package/dist/persistence/Persistence.d.ts.map +1 -1
- package/dist/persistence/Persistence.js +18 -11
- package/dist/persistence/Persistence.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/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 +237 -71
- package/dist/process/ChildProcess.d.ts.map +1 -1
- package/dist/process/ChildProcess.js +56 -158
- package/dist/process/ChildProcess.js.map +1 -1
- package/dist/process/ChildProcessSpawner.d.ts +35 -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/process/CommandLine.d.ts +294 -0
- package/dist/process/CommandLine.d.ts.map +1 -0
- package/dist/process/CommandLine.js +481 -0
- package/dist/process/CommandLine.js.map +1 -0
- package/dist/process/index.d.ts +5 -0
- package/dist/process/index.d.ts.map +1 -1
- package/dist/process/index.js +5 -0
- package/dist/process/index.js.map +1 -1
- package/dist/reactivity/AsyncResult.d.ts +1 -1
- package/dist/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/reactivity/Atom.d.ts +2 -1
- package/dist/reactivity/Atom.d.ts.map +1 -1
- package/dist/reactivity/Atom.js +3 -4
- package/dist/reactivity/Atom.js.map +1 -1
- package/dist/reactivity/AtomRegistry.js.map +1 -1
- package/dist/rpc/RpcClient.d.ts +16 -1
- package/dist/rpc/RpcClient.d.ts.map +1 -1
- package/dist/rpc/RpcClient.js +59 -24
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcMessage.d.ts +10 -1
- package/dist/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/rpc/RpcMessage.js +1 -0
- package/dist/rpc/RpcMessage.js.map +1 -1
- package/dist/rpc/RpcSerialization.d.ts +14 -0
- package/dist/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/rpc/RpcSerialization.js +26 -8
- package/dist/rpc/RpcSerialization.js.map +1 -1
- package/dist/rpc/RpcServer.d.ts +31 -0
- package/dist/rpc/RpcServer.d.ts.map +1 -1
- package/dist/rpc/RpcServer.js +139 -56
- 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 +14 -0
- package/dist/schema/Model.d.ts.map +1 -1
- package/dist/schema/Model.js +18 -3
- package/dist/schema/Model.js.map +1 -1
- package/dist/sql/Migrator.d.ts +2 -20
- package/dist/sql/Migrator.d.ts.map +1 -1
- package/dist/sql/Migrator.js +13 -55
- package/dist/sql/Migrator.js.map +1 -1
- package/dist/sql/MigratorFileSystem.d.ts +21 -0
- package/dist/sql/MigratorFileSystem.d.ts.map +1 -0
- package/dist/sql/MigratorFileSystem.js +57 -0
- package/dist/sql/MigratorFileSystem.js.map +1 -0
- package/dist/sql/SqlClient.d.ts +9 -4
- package/dist/sql/SqlClient.d.ts.map +1 -1
- package/dist/sql/SqlClient.js +13 -10
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/sql/SqlResolver.d.ts +4 -0
- package/dist/sql/SqlResolver.d.ts.map +1 -1
- package/dist/sql/SqlResolver.js +18 -4
- package/dist/sql/SqlResolver.js.map +1 -1
- package/dist/sql/Statement.d.ts +27 -6
- package/dist/sql/Statement.d.ts.map +1 -1
- package/dist/sql/Statement.js +21 -15
- package/dist/sql/Statement.js.map +1 -1
- package/dist/sql/index.js +1 -1
- package/dist/testing/index.d.ts +0 -5
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +0 -5
- package/dist/testing/index.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/internal/crypto.js +9 -8
- package/dist/workflow/internal/crypto.js.map +1 -1
- package/package.json +3 -1
- package/src/Arbitrary.ts +10 -2
- package/src/BigDecimal.ts +3 -0
- package/src/Channel.ts +64 -29
- package/src/Config.ts +7 -1
- package/src/Context.ts +34 -10
- package/src/Cron.ts +178 -29
- package/src/Data.ts +60 -265
- package/src/Duration.ts +140 -0
- package/src/Effect.ts +915 -86
- package/src/Equal.ts +8 -1
- package/src/Exit.ts +3 -3
- package/src/FileSystem.ts +65 -4
- package/src/Formatter.ts +28 -13
- package/src/Glob.ts +205 -0
- package/src/Hash.ts +4 -1
- package/src/JsonPatch.ts +4 -0
- package/src/JsonSchema.ts +12 -40
- package/src/Match.ts +127 -0
- package/src/Metric.ts +3 -3
- package/src/MutableList.ts +7 -5
- package/src/MutableRef.ts +8 -1
- package/src/PartitionedSemaphore.ts +24 -13
- package/src/Pool.ts +182 -52
- package/src/PubSub.ts +5 -6
- package/src/Random.ts +3 -3
- package/src/RcMap.ts +5 -1
- package/src/Ref.ts +8 -0
- package/src/Schedule.ts +27 -4
- package/src/Schema.ts +1237 -87
- package/src/SchemaAST.ts +20 -20
- package/src/SchemaGetter.ts +27 -11
- package/src/SchemaParser.ts +51 -18
- package/src/SchemaRepresentation.ts +50 -34
- package/src/SchemaTransformation.ts +17 -5
- package/src/ScopedCache.ts +5 -9
- package/src/Semaphore.ts +208 -40
- package/src/Sink.ts +15 -2
- package/src/Stream.ts +48 -22
- package/src/String.ts +3 -0
- package/src/Terminal.ts +19 -1
- package/src/Tracer.ts +15 -1
- package/src/ai/AiError.ts +56 -80
- package/src/ai/Decision.ts +257 -6
- package/src/ai/DecisionModel.ts +171 -28
- package/src/ai/LanguageModel.ts +9 -0
- package/src/ai/McpServer.ts +1283 -299
- package/src/ai/McpTest.ts +380 -0
- package/src/ai/Prompt.ts +65 -0
- package/src/ai/Response.ts +36 -31
- package/src/ai/Tool.ts +65 -10
- package/src/ai/Toolkit.ts +4 -1
- package/src/ai/index.ts +6 -0
- package/src/ai/internal/mcpCore.ts +78 -44
- package/src/ai/internal/mcpProtocol/v2024_11_05.ts +4 -7
- package/src/ai/internal/mcpProtocol/v2025_03_26.ts +4 -7
- package/src/ai/internal/mcpProtocol/v2025_06_18.ts +4 -7
- package/src/ai/internal/mcpProtocol/v2025_11_25.ts +4 -7
- package/src/ai/internal/mcpProtocol/v2026_07_28.ts +15 -10
- package/src/ai/internal/mcpProtocol.ts +29 -0
- package/src/ai/internal/mcpRuntime.ts +9 -5
- package/src/ai/internal/mcpStatefulRuntime.ts +14 -2
- package/src/cli/Argument.ts +21 -0
- package/src/cli/CliError.ts +90 -3
- package/src/cli/CliOutput.ts +300 -55
- package/src/cli/Command.ts +76 -41
- package/src/cli/Completions.ts +51 -0
- package/src/cli/Flag.ts +122 -0
- package/src/cli/GlobalFlag.ts +6 -7
- package/src/cli/HelpDoc.ts +18 -1
- package/src/cli/Param.ts +35 -6
- package/src/cli/Primitive.ts +16 -1
- package/src/cli/Prompt.ts +1 -0
- package/src/cli/TerminalCapabilities.ts +6 -3
- package/src/cli/internal/completions/bash.ts +79 -29
- package/src/cli/internal/help.ts +21 -9
- package/src/cluster/ClusterWorkflowEngine.ts +46 -16
- package/src/cluster/MessageStorage.ts +19 -14
- package/src/cluster/Sharding.ts +176 -47
- package/src/cluster/ShardingConfig.ts +43 -0
- package/src/cluster/SingleRunner.ts +3 -3
- package/src/cluster/Snowflake.ts +3 -7
- package/src/cluster/SqlMessageStorage.ts +49 -17
- package/src/cluster/SqlRunnerStorage.ts +143 -70
- package/src/cluster/internal/entityManager.ts +75 -22
- package/src/crypto/Aead.ts +517 -0
- package/src/crypto/Cipher.ts +326 -0
- package/src/crypto/CryptoError.ts +242 -0
- package/src/crypto/Digest.ts +167 -0
- package/src/crypto/Kdf.ts +315 -0
- package/src/crypto/KeyAgreement.ts +489 -0
- package/src/crypto/KeyFormat.ts +712 -0
- package/src/crypto/KeyWrap.ts +639 -0
- package/src/crypto/Mac.ts +386 -0
- package/src/crypto/SecureRandom.ts +459 -0
- package/src/crypto/Signature.ts +673 -0
- package/src/crypto/WebCrypto.ts +64 -0
- package/src/crypto/index.ts +78 -0
- package/src/crypto/internal/asymmetric.ts +329 -0
- package/src/crypto/internal/chacha.ts +1088 -0
- package/src/crypto/internal/der.ts +110 -0
- package/src/crypto/internal/digest.ts +16 -0
- package/src/crypto/internal/key.ts +235 -0
- package/src/crypto/internal/md5.ts +170 -0
- package/src/crypto/internal/webCrypto.ts +150 -0
- package/src/devtools/DevToolsClient.ts +2 -0
- package/src/encoding/Base64.ts +38 -0
- package/src/encoding/Base64Url.ts +5 -2
- package/src/encoding/Csv.ts +1298 -0
- package/src/encoding/Hex.ts +3 -2
- package/src/encoding/SchemaBinary.ts +40 -4
- package/src/encoding/Sse.ts +4 -3
- package/src/encoding/Toml.ts +117 -35
- package/src/encoding/Yaml.ts +61 -18
- package/src/encoding/index.ts +6 -0
- package/src/eventlog/EventJournal.ts +4 -3
- package/src/eventlog/EventLog.ts +340 -15
- package/src/eventlog/EventLogEncryption.ts +118 -110
- package/src/eventlog/EventLogMessage.ts +273 -1
- package/src/eventlog/EventLogRemote.ts +367 -23
- package/src/eventlog/EventLogServer.ts +23 -8
- package/src/eventlog/EventLogServerEncrypted.ts +1130 -67
- package/src/eventlog/EventLogSessionAuth.ts +56 -70
- package/src/eventlog/EventRow.ts +12 -3
- package/src/eventlog/SqlEventJournal.ts +68 -45
- package/src/eventlog/SqlEventLogServerEncrypted.ts +1244 -136
- package/src/eventlog/SqlEventLogServerUnencrypted.ts +2 -2
- package/src/eventlog/internal/batches.ts +30 -0
- package/src/eventlog/internal/compaction.ts +64 -0
- package/src/eventlog/internal/conflicts.ts +0 -4
- package/src/eventlog/internal/identityRootSecretDerivation.ts +93 -123
- package/src/eventlog/internal/remoteCompaction.ts +92 -0
- package/src/http/Cookies.ts +291 -12
- package/src/http/FetchHttpClient.ts +88 -16
- package/src/http/HttpClient.ts +636 -29
- package/src/http/HttpClientError.ts +35 -1
- package/src/http/HttpClientRequest.ts +21 -10
- package/src/http/HttpClientResponse.ts +3 -2
- package/src/http/HttpMethod.ts +10 -2
- package/src/http/HttpMiddleware.ts +15 -18
- package/src/http/HttpRouter.ts +2 -1
- package/src/http/HttpServerError.ts +2 -2
- package/src/http/HttpServerRequest.ts +101 -30
- package/src/http/HttpServerResponse.ts +3 -2
- package/src/http/HttpStaticServer.ts +51 -22
- package/src/http/HttpTraceContext.ts +7 -4
- package/src/http/MultipartParser/internal/contentType.ts +3 -3
- package/src/http/ProblemDetails.ts +149 -0
- package/src/http/UrlParams.ts +6 -1
- package/src/http/index.ts +6 -0
- package/src/http/internal/compression.ts +4 -5
- package/src/http/internal/decompression.ts +10 -4
- package/src/http/internal/httpBody.ts +10 -2
- package/src/http/internal/urlParams.ts +37 -0
- package/src/http-api/HttpApi.ts +3 -6
- package/src/http-api/HttpApiBuilder.ts +61 -19
- package/src/http-api/HttpApiClient.ts +284 -72
- package/src/http-api/HttpApiEndpoint.ts +135 -35
- package/src/http-api/HttpApiError.ts +250 -0
- package/src/http-api/HttpApiMiddleware.ts +95 -1
- package/src/http-api/HttpApiSchema.ts +236 -52
- package/src/http-api/HttpApiTest.ts +3 -2
- package/src/http-api/OpenApi.ts +20 -17
- package/src/http-api/internal/toCodecHttpProperties.ts +56 -0
- package/src/index.ts +6 -6
- package/src/internal/arbitrary/runner.ts +133 -36
- package/src/internal/core.ts +2 -0
- package/src/internal/effect.ts +58 -34
- package/src/internal/equal.ts +17 -0
- package/src/internal/glob.ts +736 -0
- package/src/internal/jsonSchema.ts +27 -0
- package/src/internal/matcher.ts +18 -1
- package/src/internal/persistence.ts +11 -0
- package/src/internal/rcRef.ts +4 -1
- package/src/internal/schema/compilerRegistry.ts +6 -1
- package/src/internal/schema/content.ts +18 -0
- package/src/internal/schema/fromJsonSchemaDocument.ts +228 -190
- package/src/internal/schema/fromRepresentation.ts +2 -1
- package/src/internal/schema/standardSchema.ts +2 -2
- package/src/internal/schema/toCodeDocument.ts +11 -7
- package/src/internal/schema/toCodec.ts +26 -22
- package/src/internal/schema/toJsonSchemaDocument.ts +189 -167
- package/src/internal/schema/toRepresentation.ts +122 -140
- package/src/internal/sql.ts +14 -0
- package/src/internal/trie.ts +43 -14
- package/src/internal/ulid.ts +44 -0
- package/src/internal/uuid.ts +57 -16
- package/src/internal/version.ts +1 -1
- package/src/observability/Otlp.ts +21 -4
- package/src/observability/OtlpProxy.ts +314 -0
- package/src/observability/OtlpResource.ts +9 -1
- package/src/observability/OtlpTracer.ts +4 -0
- package/src/observability/index.ts +6 -0
- package/src/persistence/CircuitBreaker.ts +1678 -0
- package/src/persistence/KeyValueStore.ts +219 -22
- package/src/persistence/PersistedQueue.ts +128 -59
- package/src/persistence/Persistence.ts +20 -13
- package/src/persistence/Redis.ts +129 -8
- package/src/persistence/index.ts +6 -0
- package/src/process/ChildProcess.ts +285 -264
- package/src/process/ChildProcessSpawner.ts +46 -2
- package/src/process/CommandLine.ts +630 -0
- package/src/process/index.ts +6 -0
- package/src/reactivity/AsyncResult.ts +1 -1
- package/src/reactivity/Atom.ts +5 -5
- package/src/reactivity/AtomRegistry.ts +1 -1
- package/src/rpc/RpcClient.ts +75 -36
- package/src/rpc/RpcMessage.ts +10 -1
- package/src/rpc/RpcSerialization.ts +35 -9
- package/src/rpc/RpcServer.ts +176 -63
- package/src/rpc/RpcTest.ts +3 -0
- package/src/schema/Model.ts +26 -3
- package/src/sql/Migrator.ts +15 -69
- package/src/sql/MigratorFileSystem.ts +71 -0
- package/src/sql/SqlClient.ts +13 -20
- package/src/sql/SqlResolver.ts +23 -9
- package/src/sql/Statement.ts +38 -9
- package/src/sql/index.ts +1 -1
- package/src/testing/index.ts +0 -6
- package/src/workflow/DurableDeferred.ts +23 -6
- package/src/workflow/internal/crypto.ts +15 -11
- package/dist/Crypto.d.ts +0 -244
- package/dist/Crypto.d.ts.map +0 -1
- package/dist/Crypto.js +0 -139
- package/dist/Crypto.js.map +0 -1
- package/dist/testing/TestCrypto.d.ts +0 -73
- package/dist/testing/TestCrypto.d.ts.map +0 -1
- package/dist/testing/TestCrypto.js +0 -87
- package/dist/testing/TestCrypto.js.map +0 -1
- package/src/Crypto.ts +0 -347
- package/src/testing/TestCrypto.ts +0 -94
package/src/cli/GlobalFlag.ts
CHANGED
|
@@ -17,11 +17,10 @@ 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"
|
|
20
21
|
import type * as Command from "./Command.ts"
|
|
21
22
|
import * as Completions_ from "./Completions.ts"
|
|
22
23
|
import * as Flag from "./Flag.ts"
|
|
23
|
-
import * as CommandDescriptor from "./internal/completions/descriptor.ts"
|
|
24
|
-
import { resolveFormatter } from "./internal/formatter.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/HelpDoc.ts
CHANGED
|
@@ -82,10 +82,27 @@ export interface HelpDoc {
|
|
|
82
82
|
readonly flags: ReadonlyArray<FlagDoc>
|
|
83
83
|
|
|
84
84
|
/**
|
|
85
|
-
*
|
|
85
|
+
* Shared flags inherited from ancestor commands.
|
|
86
|
+
*/
|
|
87
|
+
readonly inheritedFlags?: ReadonlyArray<FlagDoc>
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Global flags active at this command, including built-ins (e.g., --help).
|
|
86
91
|
*/
|
|
87
92
|
readonly globalFlags?: ReadonlyArray<FlagDoc>
|
|
88
93
|
|
|
94
|
+
/**
|
|
95
|
+
* Root-to-command path of the nearest ancestor (or this command) declaring
|
|
96
|
+
* global flags. Defaults to the root for built-ins.
|
|
97
|
+
*/
|
|
98
|
+
readonly globalFlagsScope?: ReadonlyArray<string>
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Command names from the root command to this command, e.g.
|
|
102
|
+
* `["myapp", "deploy"]`.
|
|
103
|
+
*/
|
|
104
|
+
readonly commandPath?: ReadonlyArray<string>
|
|
105
|
+
|
|
89
106
|
/**
|
|
90
107
|
* Custom command annotations.
|
|
91
108
|
*/
|
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
|
|
|
@@ -1299,6 +1300,7 @@ const transform = <Kind extends ParamKind, A, B>(
|
|
|
1299
1300
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
1300
1301
|
* columns: Effect.succeed(80),
|
|
1301
1302
|
* rows: Effect.succeed(24),
|
|
1303
|
+
* size: Effect.die("unused"),
|
|
1302
1304
|
* readInput: Effect.die("unused"),
|
|
1303
1305
|
* readLine: Effect.die("unused"),
|
|
1304
1306
|
* display: () => Effect.void
|
|
@@ -1355,6 +1357,7 @@ export const mapEffect: {
|
|
|
1355
1357
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
1356
1358
|
* columns: Effect.succeed(80),
|
|
1357
1359
|
* rows: Effect.succeed(24),
|
|
1360
|
+
* size: Effect.die("unused"),
|
|
1358
1361
|
* readInput: Effect.die("unused"),
|
|
1359
1362
|
* readLine: Effect.die("unused"),
|
|
1360
1363
|
* display: () => Effect.void
|
|
@@ -1411,6 +1414,7 @@ export const mapEffect: {
|
|
|
1411
1414
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
1412
1415
|
* columns: Effect.succeed(80),
|
|
1413
1416
|
* rows: Effect.succeed(24),
|
|
1417
|
+
* size: Effect.die("unused"),
|
|
1414
1418
|
* readInput: Effect.die("unused"),
|
|
1415
1419
|
* readLine: Effect.die("unused"),
|
|
1416
1420
|
* display: () => Effect.void
|
|
@@ -1484,6 +1488,7 @@ export const mapEffect: {
|
|
|
1484
1488
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
1485
1489
|
* columns: Effect.succeed(80),
|
|
1486
1490
|
* rows: Effect.succeed(24),
|
|
1491
|
+
* size: Effect.die("unused"),
|
|
1487
1492
|
* readInput: Effect.die("unused"),
|
|
1488
1493
|
* readLine: Effect.die("unused"),
|
|
1489
1494
|
* display: () => Effect.void
|
|
@@ -1534,6 +1539,7 @@ export const mapTryCatch: {
|
|
|
1534
1539
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
1535
1540
|
* columns: Effect.succeed(80),
|
|
1536
1541
|
* rows: Effect.succeed(24),
|
|
1542
|
+
* size: Effect.die("unused"),
|
|
1537
1543
|
* readInput: Effect.die("unused"),
|
|
1538
1544
|
* readLine: Effect.die("unused"),
|
|
1539
1545
|
* display: () => Effect.void
|
|
@@ -1584,6 +1590,7 @@ export const mapTryCatch: {
|
|
|
1584
1590
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
1585
1591
|
* columns: Effect.succeed(80),
|
|
1586
1592
|
* rows: Effect.succeed(24),
|
|
1593
|
+
* size: Effect.die("unused"),
|
|
1587
1594
|
* readInput: Effect.die("unused"),
|
|
1588
1595
|
* readLine: Effect.die("unused"),
|
|
1589
1596
|
* display: () => Effect.void
|
|
@@ -1931,6 +1938,9 @@ export const withFallbackConfig: {
|
|
|
1931
1938
|
*
|
|
1932
1939
|
* This only handles missing options and missing arguments. Invalid values do not
|
|
1933
1940
|
* prompt, and prompt cancellation re-fails with the original missing error.
|
|
1941
|
+
* When `TerminalCapabilities.canPrompt` is `false`, the fallback is skipped
|
|
1942
|
+
* entirely: no prompt is built or shown, and the original missing error is
|
|
1943
|
+
* returned.
|
|
1934
1944
|
*
|
|
1935
1945
|
* @see {@link FallbackPrompt} for accepted fallback prompt forms
|
|
1936
1946
|
* @see {@link withFallbackConfig} for loading a fallback from config
|
|
@@ -1958,6 +1968,9 @@ export const withFallbackPrompt: {
|
|
|
1958
1968
|
*
|
|
1959
1969
|
* This only handles missing options and missing arguments. Invalid values do not
|
|
1960
1970
|
* prompt, and prompt cancellation re-fails with the original missing error.
|
|
1971
|
+
* When `TerminalCapabilities.canPrompt` is `false`, the fallback is skipped
|
|
1972
|
+
* entirely: no prompt is built or shown, and the original missing error is
|
|
1973
|
+
* returned.
|
|
1961
1974
|
*
|
|
1962
1975
|
* @see {@link FallbackPrompt} for accepted fallback prompt forms
|
|
1963
1976
|
* @see {@link withFallbackConfig} for loading a fallback from config
|
|
@@ -1985,6 +1998,9 @@ export const withFallbackPrompt: {
|
|
|
1985
1998
|
*
|
|
1986
1999
|
* This only handles missing options and missing arguments. Invalid values do not
|
|
1987
2000
|
* prompt, and prompt cancellation re-fails with the original missing error.
|
|
2001
|
+
* When `TerminalCapabilities.canPrompt` is `false`, the fallback is skipped
|
|
2002
|
+
* entirely: no prompt is built or shown, and the original missing error is
|
|
2003
|
+
* returned.
|
|
1988
2004
|
*
|
|
1989
2005
|
* @see {@link FallbackPrompt} for accepted fallback prompt forms
|
|
1990
2006
|
* @see {@link withFallbackConfig} for loading a fallback from config
|
|
@@ -1999,11 +2015,16 @@ export const withFallbackPrompt: {
|
|
|
1999
2015
|
self: Param<Kind, A>,
|
|
2000
2016
|
prompt: FallbackPrompt<B>
|
|
2001
2017
|
): Param<Kind, A | B> => {
|
|
2002
|
-
const runPrompt = (
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2018
|
+
const runPrompt = Effect.fnUntraced(function*(
|
|
2019
|
+
error: CliError.MissingOption | CliError.MissingArgument,
|
|
2020
|
+
args: ParsedArgs
|
|
2021
|
+
) {
|
|
2022
|
+
const { canPrompt } = yield* TerminalCapabilities.TerminalCapabilities
|
|
2023
|
+
if (!canPrompt) return yield* Effect.fail(error)
|
|
2024
|
+
const built = Prompt.isPrompt(prompt) ? prompt : yield* prompt
|
|
2025
|
+
const value = yield* Effect.catchTag(Prompt.run(built), "QuitError", () => Effect.fail(error))
|
|
2026
|
+
return [args.arguments, value as A | B] as const
|
|
2027
|
+
})
|
|
2007
2028
|
return transform(
|
|
2008
2029
|
self,
|
|
2009
2030
|
(parse) => (args) =>
|
|
@@ -3191,7 +3212,15 @@ const parseFlag: <A>(
|
|
|
3191
3212
|
return yield* new CliError.MissingOption({ option: name })
|
|
3192
3213
|
}
|
|
3193
3214
|
|
|
3194
|
-
|
|
3215
|
+
if (providedValues.length > 1) {
|
|
3216
|
+
return yield* new CliError.InvalidValue({
|
|
3217
|
+
option: name,
|
|
3218
|
+
value: `${providedValues.length} occurrences`,
|
|
3219
|
+
expected: "at most 1 value",
|
|
3220
|
+
kind: "flag"
|
|
3221
|
+
})
|
|
3222
|
+
}
|
|
3223
|
+
|
|
3195
3224
|
const arg = providedValues[0]
|
|
3196
3225
|
const value = yield* Effect.mapError(
|
|
3197
3226
|
primitiveType.parse(arg),
|
package/src/cli/Primitive.ts
CHANGED
|
@@ -20,6 +20,7 @@ import { format } from "../Formatter.ts"
|
|
|
20
20
|
import { identity } from "../Function.ts"
|
|
21
21
|
import * as Path_ from "../Path.ts"
|
|
22
22
|
import * as Redacted_ from "../Redacted.ts"
|
|
23
|
+
import * as Result from "../Result.ts"
|
|
23
24
|
import * as Schema from "../Schema.ts"
|
|
24
25
|
import type { Formatter } from "../SchemaIssue.ts"
|
|
25
26
|
import type * as Struct from "../Struct.ts"
|
|
@@ -45,6 +46,7 @@ const TypeId = "~effect/cli/Primitive"
|
|
|
45
46
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
46
47
|
* columns: Effect.succeed(80),
|
|
47
48
|
* rows: Effect.succeed(24),
|
|
49
|
+
* size: Effect.die("unused"),
|
|
48
50
|
* readInput: Effect.die("unused"),
|
|
49
51
|
* readLine: Effect.die("unused"),
|
|
50
52
|
* display: () => Effect.void
|
|
@@ -157,6 +159,7 @@ const makeSchemaPrimitive = <T>(
|
|
|
157
159
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
158
160
|
* columns: Effect.succeed(80),
|
|
159
161
|
* rows: Effect.succeed(24),
|
|
162
|
+
* size: Effect.die("unused"),
|
|
160
163
|
* readInput: Effect.die("unused"),
|
|
161
164
|
* readLine: Effect.die("unused"),
|
|
162
165
|
* display: () => Effect.void
|
|
@@ -203,6 +206,7 @@ export const Boolean: Primitive<boolean> = makeSchemaPrimitive(
|
|
|
203
206
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
204
207
|
* columns: Effect.succeed(80),
|
|
205
208
|
* rows: Effect.succeed(24),
|
|
209
|
+
* size: Effect.die("unused"),
|
|
206
210
|
* readInput: Effect.die("unused"),
|
|
207
211
|
* readLine: Effect.die("unused"),
|
|
208
212
|
* display: () => Effect.void
|
|
@@ -248,6 +252,7 @@ export const Finite: Primitive<number> = makeSchemaPrimitive(
|
|
|
248
252
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
249
253
|
* columns: Effect.succeed(80),
|
|
250
254
|
* rows: Effect.succeed(24),
|
|
255
|
+
* size: Effect.die("unused"),
|
|
251
256
|
* readInput: Effect.die("unused"),
|
|
252
257
|
* readLine: Effect.die("unused"),
|
|
253
258
|
* display: () => Effect.void
|
|
@@ -293,6 +298,7 @@ export const Int: Primitive<number> = makeSchemaPrimitive(
|
|
|
293
298
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
294
299
|
* columns: Effect.succeed(80),
|
|
295
300
|
* rows: Effect.succeed(24),
|
|
301
|
+
* size: Effect.die("unused"),
|
|
296
302
|
* readInput: Effect.die("unused"),
|
|
297
303
|
* readLine: Effect.die("unused"),
|
|
298
304
|
* display: () => Effect.void
|
|
@@ -337,6 +343,7 @@ export const Date: Primitive<globalThis.Date> = makeSchemaPrimitive(
|
|
|
337
343
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
338
344
|
* columns: Effect.succeed(80),
|
|
339
345
|
* rows: Effect.succeed(24),
|
|
346
|
+
* size: Effect.die("unused"),
|
|
340
347
|
* readInput: Effect.die("unused"),
|
|
341
348
|
* readLine: Effect.die("unused"),
|
|
342
349
|
* display: () => Effect.void
|
|
@@ -379,6 +386,7 @@ export const String: Primitive<string> = makePrimitive("String", (value) => Effe
|
|
|
379
386
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
380
387
|
* columns: Effect.succeed(80),
|
|
381
388
|
* rows: Effect.succeed(24),
|
|
389
|
+
* size: Effect.die("unused"),
|
|
382
390
|
* readInput: Effect.die("unused"),
|
|
383
391
|
* readLine: Effect.die("unused"),
|
|
384
392
|
* display: () => Effect.void
|
|
@@ -470,6 +478,7 @@ export type PathType = "file" | "directory" | "either"
|
|
|
470
478
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
471
479
|
* columns: Effect.succeed(80),
|
|
472
480
|
* rows: Effect.succeed(24),
|
|
481
|
+
* size: Effect.die("unused"),
|
|
473
482
|
* readInput: Effect.die("unused"),
|
|
474
483
|
* readLine: Effect.die("unused"),
|
|
475
484
|
* display: () => Effect.void
|
|
@@ -560,6 +569,7 @@ export const Path = (
|
|
|
560
569
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
561
570
|
* columns: Effect.succeed(80),
|
|
562
571
|
* rows: Effect.succeed(24),
|
|
572
|
+
* size: Effect.die("unused"),
|
|
563
573
|
* readInput: Effect.die("unused"),
|
|
564
574
|
* readLine: Effect.die("unused"),
|
|
565
575
|
* display: () => Effect.void
|
|
@@ -608,6 +618,7 @@ export const Redacted: Primitive<Redacted_.Redacted<string>> = makePrimitive(
|
|
|
608
618
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
609
619
|
* columns: Effect.succeed(80),
|
|
610
620
|
* rows: Effect.succeed(24),
|
|
621
|
+
* size: Effect.die("unused"),
|
|
611
622
|
* readInput: Effect.die("unused"),
|
|
612
623
|
* readLine: Effect.die("unused"),
|
|
613
624
|
* display: () => Effect.void
|
|
@@ -686,7 +697,7 @@ export type FileParseOptions = {
|
|
|
686
697
|
const fileParsers: Record<string, (content: string) => unknown> = {
|
|
687
698
|
ini: (content: string) => Ini.parse(content),
|
|
688
699
|
json: (content: string) => JSON.parse(content),
|
|
689
|
-
toml: (content: string) => Toml.parse(content),
|
|
700
|
+
toml: (content: string) => Result.getOrThrow(Toml.parse(content)),
|
|
690
701
|
yml: (content: string) => Yaml.parse(content),
|
|
691
702
|
yaml: (content: string) => Yaml.parse(content)
|
|
692
703
|
}
|
|
@@ -718,6 +729,7 @@ const fileParsers: Record<string, (content: string) => unknown> = {
|
|
|
718
729
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
719
730
|
* columns: Effect.succeed(80),
|
|
720
731
|
* rows: Effect.succeed(24),
|
|
732
|
+
* size: Effect.die("unused"),
|
|
721
733
|
* readInput: Effect.die("unused"),
|
|
722
734
|
* readLine: Effect.die("unused"),
|
|
723
735
|
* display: () => Effect.void
|
|
@@ -795,6 +807,7 @@ export type FileSchemaOptions = Struct.Simplify<
|
|
|
795
807
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
796
808
|
* columns: Effect.succeed(80),
|
|
797
809
|
* rows: Effect.succeed(24),
|
|
810
|
+
* size: Effect.die("unused"),
|
|
798
811
|
* readInput: Effect.die("unused"),
|
|
799
812
|
* readLine: Effect.die("unused"),
|
|
800
813
|
* display: () => Effect.void
|
|
@@ -862,6 +875,7 @@ export const FileSchema = <A>(
|
|
|
862
875
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
863
876
|
* columns: Effect.succeed(80),
|
|
864
877
|
* rows: Effect.succeed(24),
|
|
878
|
+
* size: Effect.die("unused"),
|
|
865
879
|
* readInput: Effect.die("unused"),
|
|
866
880
|
* readLine: Effect.die("unused"),
|
|
867
881
|
* display: () => Effect.void
|
|
@@ -923,6 +937,7 @@ export const KeyValuePair: Primitive<Record<string, string>> = makePrimitive(
|
|
|
923
937
|
* Layer.succeed(Terminal.Terminal, Terminal.make({
|
|
924
938
|
* columns: Effect.succeed(80),
|
|
925
939
|
* rows: Effect.succeed(24),
|
|
940
|
+
* size: Effect.die("unused"),
|
|
926
941
|
* readInput: Effect.die("unused"),
|
|
927
942
|
* readLine: Effect.die("unused"),
|
|
928
943
|
* display: () => Effect.void
|
package/src/cli/Prompt.ts
CHANGED
|
@@ -791,6 +791,7 @@ export declare namespace All {
|
|
|
791
791
|
* const terminal = Terminal.make({
|
|
792
792
|
* columns: Effect.succeed(80),
|
|
793
793
|
* rows: Effect.succeed(24),
|
|
794
|
+
* size: Effect.die("unused"),
|
|
794
795
|
* readInput: Effect.succeed({} as never),
|
|
795
796
|
* readLine: Effect.die("unused"),
|
|
796
797
|
* display: () => Effect.void
|
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
* the current process. The layer reads the same variables through
|
|
6
6
|
* `ConfigProvider`, plus the TTY state of `Stdio`. Unless a
|
|
7
7
|
* `CliOutput.Formatter` is provided, the built-in help, version, and error
|
|
8
|
-
* output of `Command` follows `canColor`.
|
|
8
|
+
* output of `Command` follows `canColor`. Fallback prompts added with
|
|
9
|
+
* `Flag.withFallbackPrompt` or `Argument.withFallbackPrompt` only run when
|
|
10
|
+
* `canPrompt` is `true`.
|
|
9
11
|
*
|
|
10
12
|
* @stability unstable
|
|
11
13
|
* @since 4.0.0
|
|
@@ -25,8 +27,9 @@ import * as Stdio from "../Stdio.ts"
|
|
|
25
27
|
* `canColor` says whether styling will be rendered rather than stored as
|
|
26
28
|
* bytes. `canAnimate` says whether output is being watched, so pacing means
|
|
27
29
|
* something. `canPrompt` says whether a question can be asked and answered.
|
|
28
|
-
*
|
|
29
|
-
*
|
|
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.
|
|
30
33
|
*
|
|
31
34
|
* @stability unstable
|
|
32
35
|
* @category models
|
|
@@ -51,6 +51,10 @@ const buildFlagGroupDeclarations = (
|
|
|
51
51
|
lines.push(``)
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
// Quoting these substitutions breaks quote matching on Bash 3.2.
|
|
55
|
+
const removeQuotes = (variable: string): string =>
|
|
56
|
+
[`\\\\`, `\\"`, `\\'`].map((quote) => `${variable}=\${${variable}//${quote}/}`).join("; ")
|
|
57
|
+
|
|
54
58
|
/**
|
|
55
59
|
* Complete choices without `compgen -W`, which reparses quoted values. Escape
|
|
56
60
|
* only the portion readline replaces for the active quote context.
|
|
@@ -71,9 +75,8 @@ const choicesHelper = (helperName: string, lines: Array<string>): void => {
|
|
|
71
75
|
lines.push(` esac`)
|
|
72
76
|
lines.push(``)
|
|
73
77
|
lines.push(` local _prefix="$_cur" _committed="$_head"`)
|
|
74
|
-
|
|
75
|
-
lines.push(`
|
|
76
|
-
lines.push(` _committed=\${_committed//\\\\/}; _committed=\${_committed//\\"/}; _committed=\${_committed//\\'/}`)
|
|
78
|
+
lines.push(` ${removeQuotes("_prefix")}`)
|
|
79
|
+
lines.push(` ${removeQuotes("_committed")}`)
|
|
77
80
|
lines.push(``)
|
|
78
81
|
lines.push(` COMPREPLY=()`)
|
|
79
82
|
lines.push(` local _choice _rest _match`)
|
|
@@ -111,30 +114,76 @@ const choicesHelper = (helperName: string, lines: Array<string>): void => {
|
|
|
111
114
|
lines.push(``)
|
|
112
115
|
}
|
|
113
116
|
|
|
114
|
-
|
|
115
|
-
|
|
117
|
+
interface Helpers {
|
|
118
|
+
readonly choices: string
|
|
119
|
+
readonly paths: string
|
|
120
|
+
}
|
|
116
121
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
}
|
|
122
|
+
/**
|
|
123
|
+
* Complete paths through the choice helper, one `compgen` line per candidate.
|
|
124
|
+
* The typed directory is kept as written so expansions in it still apply; only
|
|
125
|
+
* the completed name is quoted.
|
|
126
|
+
*/
|
|
127
|
+
const pathsHelper = (helpers: Helpers, lines: Array<string>): void => {
|
|
128
|
+
lines.push(`${helpers.paths}()`)
|
|
129
|
+
lines.push(`{`)
|
|
130
|
+
lines.push(` local _kind="$1" _cur="$2" _word="$3"`)
|
|
131
|
+
lines.push(``)
|
|
132
|
+
lines.push(` local _prefix="$_cur" _committed="\${_cur%"$_word"}"`)
|
|
133
|
+
lines.push(` ${removeQuotes("_prefix")}`)
|
|
134
|
+
lines.push(` ${removeQuotes("_committed")}`)
|
|
135
|
+
lines.push(``)
|
|
136
|
+
// Track a quote the typed directory leaves open.
|
|
137
|
+
lines.push(` local _typed="" _dir="$_committed" _open="" _i`)
|
|
138
|
+
lines.push(` if [[ "$_word" == */* ]]; then`)
|
|
139
|
+
lines.push(` _typed="\${_word%/*}/"`)
|
|
140
|
+
lines.push(` _dir="\${_prefix%/*}/"`)
|
|
141
|
+
lines.push(` if [[ "$_cur" == "$_word" ]]; then`)
|
|
142
|
+
lines.push(` for ((_i = 0; _i < \${#_typed}; _i++)); do`)
|
|
143
|
+
lines.push(` case "$_open\${_typed:_i:1}" in`)
|
|
144
|
+
lines.push(` \\\\|\\"\\\\) ((_i += 1)) ;;`)
|
|
145
|
+
lines.push(` \\"|\\') _open="\${_typed:_i:1}" ;;`)
|
|
146
|
+
lines.push(` \\"\\"|\\'\\') _open="" ;;`)
|
|
147
|
+
lines.push(` esac`)
|
|
148
|
+
lines.push(` done`)
|
|
149
|
+
lines.push(` fi`)
|
|
150
|
+
lines.push(` fi`)
|
|
151
|
+
lines.push(``)
|
|
152
|
+
lines.push(` local _path _names=() _rest="\${_word#"$_typed"}"`)
|
|
153
|
+
lines.push(` while IFS= read -r _path; do`)
|
|
154
|
+
lines.push(` if [[ "$_path" == "$_dir"* ]]; then`)
|
|
155
|
+
lines.push(` _names+=("$_committed\${_path#"$_dir"}")`)
|
|
156
|
+
lines.push(` elif [[ -z "$_committed" ]]; then`)
|
|
157
|
+
// Bash 3.2 returns expanded paths, which replace the whole word.
|
|
158
|
+
lines.push(` _names+=("$_path")`)
|
|
159
|
+
lines.push(` _typed="" _rest="" _open=""`)
|
|
160
|
+
lines.push(` fi`)
|
|
161
|
+
lines.push(` done < <(compgen "$_kind" -- "$_prefix")`)
|
|
162
|
+
// Close the quote before the name so a common prefix stays balanced.
|
|
163
|
+
lines.push(` if [[ -n "$_open" ]]; then`)
|
|
164
|
+
lines.push(` _typed+="$_open"`)
|
|
165
|
+
lines.push(` _rest="\${_prefix##*/}"`)
|
|
166
|
+
lines.push(` fi`)
|
|
167
|
+
lines.push(``)
|
|
168
|
+
lines.push(` ${helpers.choices} "\${_cur%"$_word"}$_rest" "$_rest" "\${_names[@]}"`)
|
|
169
|
+
lines.push(` for ((_i = 0; _i < \${#COMPREPLY[@]}; _i++)); do`)
|
|
170
|
+
lines.push(` COMPREPLY[_i]="$_typed\${COMPREPLY[_i]}"`)
|
|
171
|
+
lines.push(` done`)
|
|
172
|
+
lines.push(`}`)
|
|
173
|
+
lines.push(``)
|
|
129
174
|
}
|
|
130
175
|
|
|
131
|
-
const
|
|
176
|
+
const valueCompletion = (
|
|
177
|
+
type: Completions.FlagType | Completions.ArgumentType,
|
|
178
|
+
helpers: Helpers
|
|
179
|
+
): string | undefined => {
|
|
132
180
|
switch (type._tag) {
|
|
133
|
-
case "Choice":
|
|
134
|
-
|
|
181
|
+
case "Choice": {
|
|
182
|
+
const values = type.values.map((value) => `'${escapeForBash(value)}'`).join(" ")
|
|
183
|
+
return `${helpers.choices} "$cur" "$_comp_word" ${values}`
|
|
184
|
+
}
|
|
135
185
|
case "Path":
|
|
136
|
-
|
|
137
|
-
return `COMPREPLY=( $(compgen -f -- "$cur") )`
|
|
186
|
+
return `${helpers.paths} ${type.pathType === "directory" ? "-d" : "-f"} "$cur" "$_comp_word"`
|
|
138
187
|
default:
|
|
139
188
|
return undefined
|
|
140
189
|
}
|
|
@@ -148,7 +197,7 @@ const generateFunction = (
|
|
|
148
197
|
descriptor: Completions.CommandDescriptor,
|
|
149
198
|
parentPath: ReadonlyArray<string>,
|
|
150
199
|
lines: Array<string>,
|
|
151
|
-
|
|
200
|
+
helpers: Helpers
|
|
152
201
|
): void => {
|
|
153
202
|
const currentPath = [...parentPath, descriptor.name]
|
|
154
203
|
const funcName = `_${currentPath.map(sanitizeFunctionName).join("_")}`
|
|
@@ -175,7 +224,7 @@ const generateFunction = (
|
|
|
175
224
|
for (const alias of flag.aliases) {
|
|
176
225
|
longNames.push(alias.length === 1 ? `-${alias}` : `--${alias}`)
|
|
177
226
|
}
|
|
178
|
-
const completion =
|
|
227
|
+
const completion = valueCompletion(flag.type, helpers)
|
|
179
228
|
if (completion) {
|
|
180
229
|
lines.push(` ${longNames.join("|")})`)
|
|
181
230
|
lines.push(` ${completion}`)
|
|
@@ -231,7 +280,7 @@ const generateFunction = (
|
|
|
231
280
|
|
|
232
281
|
// Positional argument completion
|
|
233
282
|
const argsWithCompletions = descriptor.arguments.flatMap((argument, index) => {
|
|
234
|
-
const completion =
|
|
283
|
+
const completion = valueCompletion(argument.type, helpers)
|
|
235
284
|
return completion === undefined ? [] : [{ argument, completion, index }]
|
|
236
285
|
})
|
|
237
286
|
if (argsWithCompletions.length > 0) {
|
|
@@ -287,7 +336,7 @@ const generateFunction = (
|
|
|
287
336
|
|
|
288
337
|
// Recurse into subcommands
|
|
289
338
|
for (const sub of descriptor.subcommands) {
|
|
290
|
-
generateFunction(sub, currentPath, lines,
|
|
339
|
+
generateFunction(sub, currentPath, lines, helpers)
|
|
291
340
|
}
|
|
292
341
|
}
|
|
293
342
|
|
|
@@ -301,7 +350,7 @@ export const generate = (
|
|
|
301
350
|
const lines: Array<string> = []
|
|
302
351
|
const safeName = sanitizeFunctionName(executableName)
|
|
303
352
|
// Sanitized command names cannot contain `-`.
|
|
304
|
-
const
|
|
353
|
+
const helpers: Helpers = { choices: `_${safeName}--choices`, paths: `_${safeName}--paths` }
|
|
305
354
|
|
|
306
355
|
lines.push(`###-begin-${escapeForBash(executableName)}-completions-###`)
|
|
307
356
|
lines.push(`#`)
|
|
@@ -341,8 +390,9 @@ export const generate = (
|
|
|
341
390
|
lines.push(`fi`)
|
|
342
391
|
lines.push(``)
|
|
343
392
|
|
|
344
|
-
choicesHelper(
|
|
345
|
-
|
|
393
|
+
choicesHelper(helpers.choices, lines)
|
|
394
|
+
pathsHelper(helpers, lines)
|
|
395
|
+
generateFunction(descriptor, [], lines, helpers)
|
|
346
396
|
|
|
347
397
|
lines.push(`complete -F _${safeName} ${escapeForBash(executableName)}`)
|
|
348
398
|
lines.push(`###-end-${escapeForBash(executableName)}-completions-###`)
|
package/src/cli/internal/help.ts
CHANGED
|
@@ -96,7 +96,7 @@ const collectDeclaredGlobalFlags = (command: Command.Any): ReadonlyArray<GlobalF
|
|
|
96
96
|
return dedupeGlobalFlags(collected)
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
const
|
|
99
|
+
const getInheritedFlagsForCommandPath = (
|
|
100
100
|
commands: ReadonlyArray<Command.Any>,
|
|
101
101
|
currentFlags: ReadonlyArray<FlagDoc>
|
|
102
102
|
): ReadonlyArray<FlagDoc> => {
|
|
@@ -105,7 +105,7 @@ const getSharedFlagsForCommandPath = (
|
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
const seen = new Set(currentFlags.map((flag) => flag.name))
|
|
108
|
-
const
|
|
108
|
+
const inheritedFlags: Array<FlagDoc> = []
|
|
109
109
|
|
|
110
110
|
for (const ancestor of commands.slice(0, -1)) {
|
|
111
111
|
const ancestorImpl = toImpl(ancestor)
|
|
@@ -116,19 +116,16 @@ const getSharedFlagsForCommandPath = (
|
|
|
116
116
|
if (seen.has(single.name)) {
|
|
117
117
|
continue
|
|
118
118
|
}
|
|
119
|
-
// Hidden ancestor flags are excluded from the shared-flags section
|
|
120
|
-
// of subcommand help, the same way they're excluded from the owning
|
|
121
|
-
// command's own help output.
|
|
122
119
|
if (single.hidden) {
|
|
123
120
|
continue
|
|
124
121
|
}
|
|
125
122
|
seen.add(single.name)
|
|
126
|
-
|
|
123
|
+
inheritedFlags.push(toFlagDoc(single, metadata))
|
|
127
124
|
}
|
|
128
125
|
}
|
|
129
126
|
}
|
|
130
127
|
|
|
131
|
-
return
|
|
128
|
+
return inheritedFlags
|
|
132
129
|
}
|
|
133
130
|
|
|
134
131
|
/**
|
|
@@ -160,7 +157,7 @@ export const getHelpForCommandPath = <Name extends string, Input, E, R, ContextI
|
|
|
160
157
|
|
|
161
158
|
const baseDoc = toImpl(currentCommand).buildHelpDoc(commandPath)
|
|
162
159
|
|
|
163
|
-
const
|
|
160
|
+
const inheritedFlags = getInheritedFlagsForCommandPath(commands, baseDoc.flags)
|
|
164
161
|
|
|
165
162
|
const flags = getGlobalFlagsForCommandPath(command, commandPath, builtIns)
|
|
166
163
|
const globalFlagDocs: Array<FlagDoc> = []
|
|
@@ -179,5 +176,20 @@ export const getHelpForCommandPath = <Name extends string, Input, E, R, ContextI
|
|
|
179
176
|
}
|
|
180
177
|
}
|
|
181
178
|
|
|
182
|
-
|
|
179
|
+
// Globals accumulate along the path, so the deepest declaring scope lists them all.
|
|
180
|
+
let scopeLength = 1
|
|
181
|
+
for (let i = commands.length - 1; i > 0; i--) {
|
|
182
|
+
if (toImpl(commands[i]).globalFlags.length > 0) {
|
|
183
|
+
scopeLength = i + 1
|
|
184
|
+
break
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
return {
|
|
189
|
+
...baseDoc,
|
|
190
|
+
inheritedFlags,
|
|
191
|
+
globalFlags: globalFlagDocs,
|
|
192
|
+
globalFlagsScope: commandPath.slice(0, scopeLength),
|
|
193
|
+
commandPath
|
|
194
|
+
}
|
|
183
195
|
})
|