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/Equal.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import type { Equivalence } from "./Equivalence.ts"
|
|
14
14
|
import * as Hash from "./Hash.ts"
|
|
15
|
-
import { byReferenceInstances, getAllObjectKeys, viewBytes } from "./internal/equal.ts"
|
|
15
|
+
import { bufferBytes, byReferenceInstances, getAllObjectKeys, isArrayBufferLike, viewBytes } from "./internal/equal.ts"
|
|
16
16
|
import { hasProperty } from "./Predicate.ts"
|
|
17
17
|
|
|
18
18
|
/**
|
|
@@ -257,6 +257,13 @@ function compareStructure(self: object, that: object): boolean {
|
|
|
257
257
|
return false
|
|
258
258
|
}
|
|
259
259
|
return compareArrays(self, that)
|
|
260
|
+
} else if (isArrayBufferLike(self)) {
|
|
261
|
+
if (!isArrayBufferLike(that) || (self instanceof ArrayBuffer) !== (that instanceof ArrayBuffer)) {
|
|
262
|
+
return false
|
|
263
|
+
}
|
|
264
|
+
const selfBytes = bufferBytes(self)
|
|
265
|
+
const thatBytes = bufferBytes(that)
|
|
266
|
+
return selfBytes !== undefined && thatBytes !== undefined && compareTypedArrays(selfBytes, thatBytes)
|
|
260
267
|
} else if (ArrayBuffer.isView(self)) {
|
|
261
268
|
const selfIsDataView = self instanceof DataView
|
|
262
269
|
if (
|
package/src/Exit.ts
CHANGED
|
@@ -463,7 +463,7 @@ export const isFailure: <A, E>(self: Exit<A, E>) => self is Failure<A, E> = effe
|
|
|
463
463
|
* @category guards
|
|
464
464
|
* @since 4.0.0
|
|
465
465
|
*/
|
|
466
|
-
export const hasFails: <A, E>(self: Exit<A, E>) =>
|
|
466
|
+
export const hasFails: <A, E>(self: Exit<A, E>) => boolean = effect.exitHasFails
|
|
467
467
|
|
|
468
468
|
/**
|
|
469
469
|
* Checks whether a failed Exit contains defects (Die reasons).
|
|
@@ -494,7 +494,7 @@ export const hasFails: <A, E>(self: Exit<A, E>) => self is Failure<A, E> = effec
|
|
|
494
494
|
* @category guards
|
|
495
495
|
* @since 4.0.0
|
|
496
496
|
*/
|
|
497
|
-
export const hasDies: <A, E>(self: Exit<A, E>) =>
|
|
497
|
+
export const hasDies: <A, E>(self: Exit<A, E>) => boolean = effect.exitHasDies
|
|
498
498
|
|
|
499
499
|
/**
|
|
500
500
|
* Checks whether a failed Exit contains interruptions (Interrupt reasons).
|
|
@@ -525,7 +525,7 @@ export const hasDies: <A, E>(self: Exit<A, E>) => self is Failure<A, E> = effect
|
|
|
525
525
|
* @category guards
|
|
526
526
|
* @since 4.0.0
|
|
527
527
|
*/
|
|
528
|
-
export const hasInterrupts: <A, E>(self: Exit<A, E>) =>
|
|
528
|
+
export const hasInterrupts: <A, E>(self: Exit<A, E>) => boolean = effect.exitHasInterrupts
|
|
529
529
|
|
|
530
530
|
/**
|
|
531
531
|
* Extracts the Success variant from an Exit as a Result.
|
package/src/FileSystem.ts
CHANGED
|
@@ -17,6 +17,7 @@ import * as Cause from "./Cause.ts"
|
|
|
17
17
|
import * as Context from "./Context.ts"
|
|
18
18
|
import * as Effect from "./Effect.ts"
|
|
19
19
|
import { pipe } from "./Function.ts"
|
|
20
|
+
import * as Glob from "./internal/glob.ts"
|
|
20
21
|
import * as Layer from "./Layer.ts"
|
|
21
22
|
import * as Option from "./Option.ts"
|
|
22
23
|
import { badArgument, type PlatformError, systemError } from "./PlatformError.ts"
|
|
@@ -130,13 +131,36 @@ export interface FileSystem {
|
|
|
130
131
|
gid: number
|
|
131
132
|
) => Effect.Effect<void, PlatformError>
|
|
132
133
|
/**
|
|
133
|
-
*
|
|
134
|
+
* Finds paths under `root` that match a glob pattern.
|
|
135
|
+
*
|
|
136
|
+
* **Details**
|
|
137
|
+
*
|
|
138
|
+
* Patterns follow `Glob.make`: wildcards skip names that start with `.`
|
|
139
|
+
* unless the pattern segment starts with `.` or `dot` is `true`, and
|
|
140
|
+
* `dir/**` includes `dir` itself. Results are `/`-separated paths relative
|
|
141
|
+
* to `root` (or absolute for an absolute pattern), visited depth-first with
|
|
142
|
+
* each directory's entries sorted by name. `**` does not traverse symbolic
|
|
143
|
+
* links to directories, but a link named by another segment is followed.
|
|
144
|
+
* Paths that match an `exclude` pattern are dropped, and excluded
|
|
145
|
+
* directories are not read. Entries whose type cannot be determined, such
|
|
146
|
+
* as broken links, are treated as files.
|
|
147
|
+
*
|
|
148
|
+
* Read failures at the root or a leading literal directory propagate. Missing
|
|
149
|
+
* paths return an empty result; unreadable wildcard-reached directories are
|
|
150
|
+
* skipped.
|
|
151
|
+
*
|
|
152
|
+
* **Gotchas**
|
|
153
|
+
*
|
|
154
|
+
* Wildcard matching is case-sensitive. Leading literal segments use `stat`,
|
|
155
|
+
* so their case sensitivity follows the file system and results retain the
|
|
156
|
+
* pattern's spelling.
|
|
134
157
|
*/
|
|
135
158
|
readonly glob: (
|
|
136
159
|
pattern: string,
|
|
137
160
|
options?: {
|
|
138
161
|
readonly root?: string | undefined
|
|
139
162
|
readonly exclude?: ReadonlyArray<string> | undefined
|
|
163
|
+
readonly dot?: boolean | undefined
|
|
140
164
|
}
|
|
141
165
|
) => Effect.Effect<Array<string>, PlatformError>
|
|
142
166
|
/**
|
|
@@ -254,6 +278,22 @@ export interface FileSystem {
|
|
|
254
278
|
readonly recursive?: boolean | undefined
|
|
255
279
|
}
|
|
256
280
|
) => Effect.Effect<Array<string>, PlatformError>
|
|
281
|
+
/**
|
|
282
|
+
* Lists a directory with the type of each entry.
|
|
283
|
+
*
|
|
284
|
+
* **Details**
|
|
285
|
+
*
|
|
286
|
+
* Returns the same bare names as `readDirectory(path)`, excluding `.` and
|
|
287
|
+
* `..`, in no particular order. Types describe entries, not symlink targets.
|
|
288
|
+
* `"Unknown"` is allowed when the listing cannot determine the type, and
|
|
289
|
+
* `glob` then falls back to `stat`.
|
|
290
|
+
*
|
|
291
|
+
* **Gotchas**
|
|
292
|
+
*
|
|
293
|
+
* Wrappers that change `readDirectory`, such as by prefixing paths, must
|
|
294
|
+
* apply the same change here for `glob` to list the correct directory.
|
|
295
|
+
*/
|
|
296
|
+
readonly readDirectoryEntries: (path: string) => Effect.Effect<ReadonlyArray<DirectoryEntry>, PlatformError>
|
|
257
297
|
/**
|
|
258
298
|
* Read the contents of a file.
|
|
259
299
|
*/
|
|
@@ -485,6 +525,21 @@ export type OpenFlag =
|
|
|
485
525
|
*/
|
|
486
526
|
export const FileSystem: Context.Service<FileSystem, FileSystem> = Context.Service("effect/FileSystem")
|
|
487
527
|
|
|
528
|
+
/**
|
|
529
|
+
* A directory entry with its type, independent of any symlink target.
|
|
530
|
+
* `"Unknown"` means the listing could not determine the type.
|
|
531
|
+
*
|
|
532
|
+
* @see {@link FileSystem} `readDirectoryEntries`, which returns these entries
|
|
533
|
+
*
|
|
534
|
+
* @stability unstable
|
|
535
|
+
* @category models
|
|
536
|
+
* @since 4.0.0
|
|
537
|
+
*/
|
|
538
|
+
export interface DirectoryEntry {
|
|
539
|
+
readonly name: string
|
|
540
|
+
readonly type: File.Type
|
|
541
|
+
}
|
|
542
|
+
|
|
488
543
|
/**
|
|
489
544
|
* Creates a FileSystem implementation from a partial implementation.
|
|
490
545
|
*
|
|
@@ -497,8 +552,10 @@ export const FileSystem: Context.Service<FileSystem, FileSystem> = Context.Servi
|
|
|
497
552
|
* **Details**
|
|
498
553
|
*
|
|
499
554
|
* This function takes a partial FileSystem implementation and automatically provides
|
|
500
|
-
* default implementations for `exists`, `readFileString`, `stream`, `sink`,
|
|
501
|
-
* `writeFileString` methods based on the provided core methods.
|
|
555
|
+
* default implementations for `exists`, `glob`, `readFileString`, `stream`, `sink`,
|
|
556
|
+
* and `writeFileString` methods based on the provided core methods. `glob` walks
|
|
557
|
+
* the tree with `readDirectoryEntries`, using `stat` and `readLink` for entries
|
|
558
|
+
* whose type is `"Unknown"`.
|
|
502
559
|
*
|
|
503
560
|
* @see {@link makeNoop} for a testing stub that accepts method overrides without requiring a complete implementation
|
|
504
561
|
* @see {@link layerNoop} for providing a no-op `FileSystem` as a `Layer` in tests
|
|
@@ -508,11 +565,12 @@ export const FileSystem: Context.Service<FileSystem, FileSystem> = Context.Servi
|
|
|
508
565
|
* @since 4.0.0
|
|
509
566
|
*/
|
|
510
567
|
export const make = (
|
|
511
|
-
impl: Omit<FileSystem, typeof TypeId | "exists" | "readFileString" | "stream" | "sink" | "writeFileString">
|
|
568
|
+
impl: Omit<FileSystem, typeof TypeId | "exists" | "glob" | "readFileString" | "stream" | "sink" | "writeFileString">
|
|
512
569
|
): FileSystem =>
|
|
513
570
|
FileSystem.of({
|
|
514
571
|
...impl,
|
|
515
572
|
[TypeId]: TypeId,
|
|
573
|
+
glob: Glob.make(impl),
|
|
516
574
|
exists: (path) =>
|
|
517
575
|
pipe(
|
|
518
576
|
impl.access(path),
|
|
@@ -702,6 +760,9 @@ export const makeNoop = (fileSystem: Partial<FileSystem>): FileSystem =>
|
|
|
702
760
|
readDirectory(path) {
|
|
703
761
|
return Effect.fail(notFound("readDirectory", path))
|
|
704
762
|
},
|
|
763
|
+
readDirectoryEntries(path) {
|
|
764
|
+
return Effect.fail(notFound("readDirectoryEntries", path))
|
|
765
|
+
},
|
|
705
766
|
readFile(path) {
|
|
706
767
|
return Effect.fail(notFound("readFile", path))
|
|
707
768
|
},
|
package/src/Formatter.ts
CHANGED
|
@@ -309,10 +309,11 @@ export function formatJson(input: unknown, options?: {
|
|
|
309
309
|
readonly space?: number | string | undefined
|
|
310
310
|
}): string {
|
|
311
311
|
const ancestors: Array<object> = []
|
|
312
|
+
const sources = new WeakMap<object, object>()
|
|
312
313
|
return JSON.stringify(
|
|
313
314
|
input,
|
|
314
315
|
function(this: object, key: string, value: unknown) {
|
|
315
|
-
const original = Object.getOwnPropertyDescriptor(this, key)?.value
|
|
316
|
+
const original = Object.getOwnPropertyDescriptor(sources.get(this) ?? this, key)?.value
|
|
316
317
|
const redacted = Predicate.hasProperty(original, symbolRedactable)
|
|
317
318
|
? redact(original)
|
|
318
319
|
: redact(value)
|
|
@@ -339,18 +340,10 @@ export function formatJson(input: unknown, options?: {
|
|
|
339
340
|
if (!hasGetter(current) || isJsonPrimitiveWrapper(current)) {
|
|
340
341
|
return current
|
|
341
342
|
}
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
const serialized = new Proxy(current, {
|
|
347
|
-
get(target, key) {
|
|
348
|
-
const value = Reflect.get(target, key, target)
|
|
349
|
-
return Object.getOwnPropertyDescriptor(target, key)?.get !== undefined ? redact(value) : value
|
|
350
|
-
}
|
|
351
|
-
})
|
|
352
|
-
ancestors.push(serialized)
|
|
353
|
-
return serialized
|
|
343
|
+
const view = redactingView(current)
|
|
344
|
+
sources.set(view, current)
|
|
345
|
+
ancestors.push(view)
|
|
346
|
+
return view
|
|
354
347
|
},
|
|
355
348
|
options?.space
|
|
356
349
|
) ?? "null"
|
|
@@ -365,6 +358,28 @@ function hasGetter(object: object): boolean {
|
|
|
365
358
|
return false
|
|
366
359
|
}
|
|
367
360
|
|
|
361
|
+
// JSON.stringify reads a getter once, then calls toJSON on the result before
|
|
362
|
+
// the replacer sees it, so getter results are redacted at the read. A Proxy
|
|
363
|
+
// would do, but not every engine has one, so each key becomes a getter that
|
|
364
|
+
// reads the source lazily, with the source as receiver.
|
|
365
|
+
function redactingView(object: object): object {
|
|
366
|
+
const view = Array.isArray(object) ? [] : {}
|
|
367
|
+
// JSON.stringify reads every array index, regardless of enumerability
|
|
368
|
+
const keys = Array.isArray(object)
|
|
369
|
+
? Array.from({ length: object.length }, (_, i) => String(i))
|
|
370
|
+
: Object.keys(object)
|
|
371
|
+
for (const key of keys) {
|
|
372
|
+
Object.defineProperty(view, key, {
|
|
373
|
+
enumerable: true,
|
|
374
|
+
get: () => {
|
|
375
|
+
const value = Reflect.get(object, key)
|
|
376
|
+
return Object.getOwnPropertyDescriptor(object, key)?.get !== undefined ? redact(value) : value
|
|
377
|
+
}
|
|
378
|
+
})
|
|
379
|
+
}
|
|
380
|
+
return view
|
|
381
|
+
}
|
|
382
|
+
|
|
368
383
|
function isJsonPrimitiveWrapper(object: object): boolean {
|
|
369
384
|
// Built-in valueOf checks internal slots across realms without calling user code.
|
|
370
385
|
for (const valueOf of [Number.prototype.valueOf, Boolean.prototype.valueOf, String.prototype.valueOf]) {
|
package/src/Glob.ts
ADDED
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Matches `/`-separated paths without accessing the file system, using the
|
|
3
|
+
* same pattern syntax as `FileSystem.glob`.
|
|
4
|
+
*
|
|
5
|
+
* @stability experimental
|
|
6
|
+
* @since 4.0.0
|
|
7
|
+
*/
|
|
8
|
+
import { format } from "./Formatter.ts"
|
|
9
|
+
import { dual } from "./Function.ts"
|
|
10
|
+
import { type Inspectable, NodeInspectSymbol } from "./Inspectable.ts"
|
|
11
|
+
import * as internal from "./internal/glob.ts"
|
|
12
|
+
import { type Pipeable, pipeArguments } from "./Pipeable.ts"
|
|
13
|
+
|
|
14
|
+
const TypeId = "~effect/Glob"
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* A compiled glob pattern.
|
|
18
|
+
*
|
|
19
|
+
* **Details**
|
|
20
|
+
*
|
|
21
|
+
* `pattern` is the source text and `dot` records whether wildcards match names
|
|
22
|
+
* that start with `.`. Match paths against it with {@link match}.
|
|
23
|
+
*
|
|
24
|
+
* @see {@link make} for compiling a pattern
|
|
25
|
+
*
|
|
26
|
+
* @stability experimental
|
|
27
|
+
* @category models
|
|
28
|
+
* @since 4.0.0
|
|
29
|
+
*/
|
|
30
|
+
export interface Glob extends Pipeable, Inspectable {
|
|
31
|
+
readonly [TypeId]: typeof TypeId
|
|
32
|
+
readonly pattern: string
|
|
33
|
+
readonly dot: boolean
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
interface GlobImpl extends Glob {
|
|
37
|
+
readonly compiled: internal.Compiled
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const GlobProto = {
|
|
41
|
+
[TypeId]: TypeId,
|
|
42
|
+
toJSON(this: Glob) {
|
|
43
|
+
return { _id: "Glob", pattern: this.pattern, dot: this.dot }
|
|
44
|
+
},
|
|
45
|
+
toString(this: Glob) {
|
|
46
|
+
return `Glob(${format(this.toJSON())})`
|
|
47
|
+
},
|
|
48
|
+
[NodeInspectSymbol](this: Glob) {
|
|
49
|
+
return this.toJSON()
|
|
50
|
+
},
|
|
51
|
+
pipe() {
|
|
52
|
+
return pipeArguments(this, arguments)
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Compiles a glob pattern into a reusable `Glob`.
|
|
58
|
+
*
|
|
59
|
+
* **Details**
|
|
60
|
+
*
|
|
61
|
+
* Patterns use `/` as the separator. `*` matches any run of characters within
|
|
62
|
+
* one path segment, `?` matches one character, and `[...]` matches one
|
|
63
|
+
* character from a set, with `!` or `^` negating it and POSIX classes such as
|
|
64
|
+
* `[[:digit:]]` allowed. `{a,b}` expands to each alternative and may nest. A
|
|
65
|
+
* segment that is exactly `**` matches zero or more whole segments. A trailing
|
|
66
|
+
* `/` matches only directories, and `\` makes the next character literal.
|
|
67
|
+
*
|
|
68
|
+
* **Gotchas**
|
|
69
|
+
*
|
|
70
|
+
* Wildcards and `**` skip names that start with `.` unless the pattern segment
|
|
71
|
+
* itself starts with `.` or `dot` is `true`; they never match `.` or `..`.
|
|
72
|
+
* `x/.` is the same as `x/`, and a `.` or `..` segment after `**` makes the
|
|
73
|
+
* pattern match nothing, as does the empty pattern. UNC patterns and paths
|
|
74
|
+
* such as `//server/share` are not supported and never match. Braces and
|
|
75
|
+
* commas inside `[...]` are class members. Extended glob syntax and leading
|
|
76
|
+
* `!` negation are not interpreted, but ordinary wildcards still apply within
|
|
77
|
+
* them (for example, `?(a)` matches `x(a)`). Malformed syntax, such as an
|
|
78
|
+
* unclosed `[`, matches literally. Braces also stay literal if expansion would
|
|
79
|
+
* exceed 10,000 alternatives.
|
|
80
|
+
*
|
|
81
|
+
* **Example** (Matching source files)
|
|
82
|
+
*
|
|
83
|
+
* ```ts import.meta.vitest
|
|
84
|
+
* import { Glob } from "effect"
|
|
85
|
+
*
|
|
86
|
+
* const sources = Glob.make("src/**\/*.{ts,tsx}")
|
|
87
|
+
*
|
|
88
|
+
* Glob.match(sources, "src/index.ts") // => true
|
|
89
|
+
* Glob.match(sources, "src/ui/Button.tsx") // => true
|
|
90
|
+
* Glob.match(sources, "src/.cache/index.ts") // => false
|
|
91
|
+
* Glob.match(sources, "test/index.ts") // => false
|
|
92
|
+
* ```
|
|
93
|
+
*
|
|
94
|
+
* @stability experimental
|
|
95
|
+
* @category constructors
|
|
96
|
+
* @since 4.0.0
|
|
97
|
+
*/
|
|
98
|
+
export const make = (pattern: string, options?: {
|
|
99
|
+
/** Whether wildcards and `**` match names that start with `.`. */
|
|
100
|
+
readonly dot?: boolean | undefined
|
|
101
|
+
}): Glob => {
|
|
102
|
+
const dot = options?.dot ?? false
|
|
103
|
+
const self = Object.create(GlobProto)
|
|
104
|
+
self.pattern = pattern
|
|
105
|
+
self.dot = dot
|
|
106
|
+
self.compiled = internal.compile([pattern], dot)
|
|
107
|
+
return self
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Tests whether a `/`-separated path matches a `Glob`.
|
|
112
|
+
*
|
|
113
|
+
* **Details**
|
|
114
|
+
*
|
|
115
|
+
* Empty segments and `./` segments in the path are ignored. A trailing `/`
|
|
116
|
+
* marks the path as a directory, which a pattern ending in `/` requires.
|
|
117
|
+
*
|
|
118
|
+
* **Example** (Filtering paths)
|
|
119
|
+
*
|
|
120
|
+
* ```ts import.meta.vitest
|
|
121
|
+
* import { Glob, pipe } from "effect"
|
|
122
|
+
*
|
|
123
|
+
* const tests = Glob.make("**\/*.test.ts")
|
|
124
|
+
* const paths = ["src/a.ts", "src/a.test.ts", "test/b.test.ts"]
|
|
125
|
+
*
|
|
126
|
+
* paths.filter((path) => Glob.match(tests, path)) // => ["src/a.test.ts", "test/b.test.ts"]
|
|
127
|
+
* pipe(tests, Glob.match("./src/a.test.ts")) // => true
|
|
128
|
+
* ```
|
|
129
|
+
*
|
|
130
|
+
* @stability experimental
|
|
131
|
+
* @category predicates
|
|
132
|
+
* @since 4.0.0
|
|
133
|
+
*/
|
|
134
|
+
export const match: {
|
|
135
|
+
/**
|
|
136
|
+
* Tests whether a `/`-separated path matches a `Glob`.
|
|
137
|
+
*
|
|
138
|
+
* **Details**
|
|
139
|
+
*
|
|
140
|
+
* Empty segments and `./` segments in the path are ignored. A trailing `/`
|
|
141
|
+
* marks the path as a directory, which a pattern ending in `/` requires.
|
|
142
|
+
*
|
|
143
|
+
* **Example** (Filtering paths)
|
|
144
|
+
*
|
|
145
|
+
* ```ts import.meta.vitest
|
|
146
|
+
* import { Glob, pipe } from "effect"
|
|
147
|
+
*
|
|
148
|
+
* const tests = Glob.make("**\/*.test.ts")
|
|
149
|
+
* const paths = ["src/a.ts", "src/a.test.ts", "test/b.test.ts"]
|
|
150
|
+
*
|
|
151
|
+
* paths.filter((path) => Glob.match(tests, path)) // => ["src/a.test.ts", "test/b.test.ts"]
|
|
152
|
+
* pipe(tests, Glob.match("./src/a.test.ts")) // => true
|
|
153
|
+
* ```
|
|
154
|
+
*
|
|
155
|
+
* @stability experimental
|
|
156
|
+
* @category predicates
|
|
157
|
+
* @since 4.0.0
|
|
158
|
+
*/
|
|
159
|
+
(path: string): (self: Glob) => boolean
|
|
160
|
+
/**
|
|
161
|
+
* Tests whether a `/`-separated path matches a `Glob`.
|
|
162
|
+
*
|
|
163
|
+
* **Details**
|
|
164
|
+
*
|
|
165
|
+
* Empty segments and `./` segments in the path are ignored. A trailing `/`
|
|
166
|
+
* marks the path as a directory, which a pattern ending in `/` requires.
|
|
167
|
+
*
|
|
168
|
+
* **Example** (Filtering paths)
|
|
169
|
+
*
|
|
170
|
+
* ```ts import.meta.vitest
|
|
171
|
+
* import { Glob, pipe } from "effect"
|
|
172
|
+
*
|
|
173
|
+
* const tests = Glob.make("**\/*.test.ts")
|
|
174
|
+
* const paths = ["src/a.ts", "src/a.test.ts", "test/b.test.ts"]
|
|
175
|
+
*
|
|
176
|
+
* paths.filter((path) => Glob.match(tests, path)) // => ["src/a.test.ts", "test/b.test.ts"]
|
|
177
|
+
* pipe(tests, Glob.match("./src/a.test.ts")) // => true
|
|
178
|
+
* ```
|
|
179
|
+
*
|
|
180
|
+
* @stability experimental
|
|
181
|
+
* @category predicates
|
|
182
|
+
* @since 4.0.0
|
|
183
|
+
*/
|
|
184
|
+
(self: Glob, path: string): boolean
|
|
185
|
+
} = dual(2, (self: Glob, path: string): boolean => internal.match((self as GlobImpl).compiled, path))
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Escapes glob syntax so a string matches only itself.
|
|
189
|
+
*
|
|
190
|
+
* **Example** (Matching a literal file name)
|
|
191
|
+
*
|
|
192
|
+
* ```ts import.meta.vitest
|
|
193
|
+
* import { Glob } from "effect"
|
|
194
|
+
*
|
|
195
|
+
* const name = "report[1].txt"
|
|
196
|
+
*
|
|
197
|
+
* Glob.match(Glob.make(name), name) // => false
|
|
198
|
+
* Glob.match(Glob.make(Glob.escape(name)), name) // => true
|
|
199
|
+
* ```
|
|
200
|
+
*
|
|
201
|
+
* @stability experimental
|
|
202
|
+
* @category utils
|
|
203
|
+
* @since 4.0.0
|
|
204
|
+
*/
|
|
205
|
+
export const escape = (input: string): string => input.replace(/[\\*?[\]{}]/g, "\\$&")
|
package/src/Hash.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* @since 2.0.0
|
|
12
12
|
*/
|
|
13
13
|
import { dual } from "./Function.ts"
|
|
14
|
-
import { byReferenceInstances, getAllObjectKeys, viewBytes } from "./internal/equal.ts"
|
|
14
|
+
import { bufferBytes, byReferenceInstances, getAllObjectKeys, isArrayBufferLike, viewBytes } from "./internal/equal.ts"
|
|
15
15
|
import { addBackEdge, backEdges } from "./internal/hash.ts"
|
|
16
16
|
import { hasProperty } from "./Predicate.ts"
|
|
17
17
|
|
|
@@ -144,6 +144,9 @@ export const hash: <A>(self: A) => number = <A>(self: A) => {
|
|
|
144
144
|
h = (self as Hash)[symbol]()
|
|
145
145
|
} else if (typeof self === "function") {
|
|
146
146
|
h = random(self)
|
|
147
|
+
} else if (isArrayBufferLike(self)) {
|
|
148
|
+
const bytes = bufferBytes(self)
|
|
149
|
+
h = bytes === undefined ? random(self) : array(bytes)
|
|
147
150
|
} else if (self instanceof DataView) {
|
|
148
151
|
h = array(viewBytes(self))
|
|
149
152
|
} else if (Array.isArray(self) || ArrayBuffer.isView(self)) {
|
package/src/JsonPatch.ts
CHANGED
|
@@ -303,12 +303,16 @@ function isJsonObject(value: unknown): value is Schema.JsonObject {
|
|
|
303
303
|
*
|
|
304
304
|
* - `""` (empty pointer) refers to the root and returns `[]`
|
|
305
305
|
* - Non-empty pointers must start with `/`
|
|
306
|
+
* - `~` must be followed by `0` or `1`
|
|
306
307
|
*/
|
|
307
308
|
function tokenize(pointer: string): Array<string> {
|
|
308
309
|
if (pointer === "") return []
|
|
309
310
|
if (pointer.charCodeAt(0) !== 47 /* "/" */) {
|
|
310
311
|
throw new Error(`Invalid JSON Pointer, it must start with "/": ${JSON.stringify(pointer)}`)
|
|
311
312
|
}
|
|
313
|
+
if (/~(?![01])/.test(pointer)) {
|
|
314
|
+
throw new Error(`Invalid JSON Pointer escape: ${JSON.stringify(pointer)}`)
|
|
315
|
+
}
|
|
312
316
|
return pointer.split("/").slice(1).map(unescapeToken)
|
|
313
317
|
}
|
|
314
318
|
|
package/src/JsonSchema.ts
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* @stability stable
|
|
10
10
|
* @since 4.0.0
|
|
11
11
|
*/
|
|
12
|
+
import * as InternalJsonSchema from "./internal/jsonSchema.ts"
|
|
12
13
|
import * as InternalRecord from "./internal/record.ts"
|
|
13
14
|
import { formatUriFragment, parseUriFragment } from "./JsonPointer.ts"
|
|
14
15
|
import * as Predicate from "./Predicate.ts"
|
|
@@ -725,30 +726,14 @@ function transformSchema(
|
|
|
725
726
|
for (const key of Object.keys(node)) {
|
|
726
727
|
const value = node[key]
|
|
727
728
|
let transformed = value
|
|
728
|
-
switch (key) {
|
|
729
|
-
case "
|
|
730
|
-
case "properties":
|
|
731
|
-
case "patternProperties":
|
|
732
|
-
case "dependentSchemas":
|
|
729
|
+
switch (InternalJsonSchema.getSubschemaKind(key)) {
|
|
730
|
+
case "map":
|
|
733
731
|
transformed = mapObject(value, (value) => walk(value, inEmbeddedResource)) ?? value
|
|
734
732
|
break
|
|
735
|
-
case "
|
|
736
|
-
case "anyOf":
|
|
737
|
-
case "oneOf":
|
|
738
|
-
case "prefixItems":
|
|
733
|
+
case "array":
|
|
739
734
|
transformed = Array.isArray(value) ? value.map((value) => walk(value, inEmbeddedResource)) : value
|
|
740
735
|
break
|
|
741
|
-
case "
|
|
742
|
-
case "additionalProperties":
|
|
743
|
-
case "propertyNames":
|
|
744
|
-
case "unevaluatedProperties":
|
|
745
|
-
case "items":
|
|
746
|
-
case "contains":
|
|
747
|
-
case "unevaluatedItems":
|
|
748
|
-
case "if":
|
|
749
|
-
case "then":
|
|
750
|
-
case "else":
|
|
751
|
-
case "contentSchema":
|
|
736
|
+
case "schema":
|
|
752
737
|
transformed = walk(value, inEmbeddedResource)
|
|
753
738
|
}
|
|
754
739
|
InternalRecord.assignProperty(out, key, transformed)
|
|
@@ -1236,6 +1221,7 @@ function draft07Adapter(source: JsonSchema, context: Context): JsonSchema {
|
|
|
1236
1221
|
case "unevaluatedItems":
|
|
1237
1222
|
unsupported(key, "Draft-07", "the target dialect has no equivalent")
|
|
1238
1223
|
case "required":
|
|
1224
|
+
case "enum":
|
|
1239
1225
|
if (Array.isArray(value) && value.length === 0) break
|
|
1240
1226
|
InternalRecord.assignProperty(out, key, value)
|
|
1241
1227
|
break
|
|
@@ -1261,6 +1247,8 @@ function draft07Adapter(source: JsonSchema, context: Context): JsonSchema {
|
|
|
1261
1247
|
convertDependencies(source, out, context, "draft-07")
|
|
1262
1248
|
convertLegacyId(source, out, "$id", "Draft-07")
|
|
1263
1249
|
|
|
1250
|
+
if (Array.isArray(source.enum) && source.enum.length === 0) appendAllOf(out, { not: {} })
|
|
1251
|
+
|
|
1264
1252
|
convertReference(out, reference, context)
|
|
1265
1253
|
|
|
1266
1254
|
return out
|
|
@@ -1559,30 +1547,14 @@ function hasSchemaIdentifier(node: unknown): boolean {
|
|
|
1559
1547
|
if (Object.hasOwn(node, "$id") || Object.hasOwn(node, "$anchor")) return true
|
|
1560
1548
|
for (const key of Object.keys(node)) {
|
|
1561
1549
|
const value = node[key]
|
|
1562
|
-
switch (key) {
|
|
1563
|
-
case "
|
|
1564
|
-
case "properties":
|
|
1565
|
-
case "patternProperties":
|
|
1566
|
-
case "dependentSchemas":
|
|
1550
|
+
switch (InternalJsonSchema.getSubschemaKind(key)) {
|
|
1551
|
+
case "map":
|
|
1567
1552
|
if (Predicate.isObject(value) && Object.values(value).some(hasSchemaIdentifier)) return true
|
|
1568
1553
|
break
|
|
1569
|
-
case "
|
|
1570
|
-
case "anyOf":
|
|
1571
|
-
case "oneOf":
|
|
1572
|
-
case "prefixItems":
|
|
1554
|
+
case "array":
|
|
1573
1555
|
if (Array.isArray(value) && value.some(hasSchemaIdentifier)) return true
|
|
1574
1556
|
break
|
|
1575
|
-
case "
|
|
1576
|
-
case "additionalProperties":
|
|
1577
|
-
case "propertyNames":
|
|
1578
|
-
case "unevaluatedProperties":
|
|
1579
|
-
case "items":
|
|
1580
|
-
case "contains":
|
|
1581
|
-
case "unevaluatedItems":
|
|
1582
|
-
case "if":
|
|
1583
|
-
case "then":
|
|
1584
|
-
case "else":
|
|
1585
|
-
case "contentSchema":
|
|
1557
|
+
case "schema":
|
|
1586
1558
|
if (hasSchemaIdentifier(value)) return true
|
|
1587
1559
|
}
|
|
1588
1560
|
}
|