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/ai/Tool.ts
CHANGED
|
@@ -290,6 +290,12 @@ export interface Tool<
|
|
|
290
290
|
*/
|
|
291
291
|
readonly needsApproval?: boolean | NeedsApprovalFunction<any> | undefined
|
|
292
292
|
|
|
293
|
+
/**
|
|
294
|
+
* Maps a successful tool result to the content sent to the model in place
|
|
295
|
+
* of the encoded result. `setSuccess` removes the mapping.
|
|
296
|
+
*/
|
|
297
|
+
readonly toModelOutput?: ((result: any) => ReadonlyArray<Prompt.ToolModelOutputPart>) | undefined
|
|
298
|
+
|
|
293
299
|
/**
|
|
294
300
|
* Set whether user approval is required before executing this tool.
|
|
295
301
|
*/
|
|
@@ -912,17 +918,36 @@ export type ResultEncoded<T> = SuccessEncoded<T> | FailureResultEncoded<T>
|
|
|
912
918
|
* @category utility types
|
|
913
919
|
* @since 4.0.0
|
|
914
920
|
*/
|
|
915
|
-
export type HandlerServices<T> = T
|
|
921
|
+
export type HandlerServices<T> = SchemaServices<T> | Requirements<T>
|
|
922
|
+
|
|
923
|
+
/**
|
|
924
|
+
* A utility type to extract the request-level dependencies a `Tool` declares
|
|
925
|
+
* with `dependencies` or `Tool.addDependency`.
|
|
926
|
+
*
|
|
927
|
+
* @stability unstable
|
|
928
|
+
* @category utility types
|
|
929
|
+
* @since 4.0.0
|
|
930
|
+
*/
|
|
931
|
+
export type Requirements<T> = T extends Tool<
|
|
932
|
+
infer _Name,
|
|
933
|
+
infer _Config,
|
|
934
|
+
infer _Requirements
|
|
935
|
+
> ? _Requirements
|
|
936
|
+
: never
|
|
937
|
+
|
|
938
|
+
/**
|
|
939
|
+
* A utility type to extract the services needed to decode the parameters of a
|
|
940
|
+
* `Tool` call and encode its result, whether success or failure.
|
|
941
|
+
*
|
|
942
|
+
* @stability unstable
|
|
943
|
+
* @category utility types
|
|
944
|
+
* @since 4.0.0
|
|
945
|
+
*/
|
|
946
|
+
export type SchemaServices<T> = T extends Tool<
|
|
916
947
|
infer _Name,
|
|
917
948
|
infer _Config,
|
|
918
949
|
infer _Requirements
|
|
919
|
-
> ?
|
|
920
|
-
| _Config["parameters"]["DecodingServices"]
|
|
921
|
-
// A tool call `result`, whether success or failure, is encoded and returned
|
|
922
|
-
// as the `encodedResult` along with the `result`
|
|
923
|
-
| ResultEncodingServices<T>
|
|
924
|
-
// Per-request requirements
|
|
925
|
-
| _Requirements
|
|
950
|
+
> ? _Config["parameters"]["DecodingServices"] | ResultEncodingServices<T>
|
|
926
951
|
: never
|
|
927
952
|
|
|
928
953
|
/**
|
|
@@ -955,6 +980,20 @@ export type ResultDecodingServices<T> = T extends Tool<
|
|
|
955
980
|
> ? _Config["success"]["DecodingServices"] | _Config["failure"]["DecodingServices"]
|
|
956
981
|
: never
|
|
957
982
|
|
|
983
|
+
/**
|
|
984
|
+
* Extracts the services required to decode tool parameters.
|
|
985
|
+
*
|
|
986
|
+
* @stability unstable
|
|
987
|
+
* @category utility types
|
|
988
|
+
* @since 4.0.0
|
|
989
|
+
*/
|
|
990
|
+
export type ParametersDecodingServices<T> = T extends Tool<
|
|
991
|
+
infer _Name,
|
|
992
|
+
infer _Config,
|
|
993
|
+
infer _Requirements
|
|
994
|
+
> ? _Config["parameters"]["DecodingServices"]
|
|
995
|
+
: never
|
|
996
|
+
|
|
958
997
|
/**
|
|
959
998
|
* Extracts the services required to encode tool parameters.
|
|
960
999
|
*
|
|
@@ -1016,6 +1055,10 @@ export interface HandlerResult<Tool extends Any> {
|
|
|
1016
1055
|
* into subsequent requests to the large language model.
|
|
1017
1056
|
*/
|
|
1018
1057
|
readonly encodedResult: unknown
|
|
1058
|
+
/**
|
|
1059
|
+
* The output of the tool's `toModelOutput` mapping for a successful result.
|
|
1060
|
+
*/
|
|
1061
|
+
readonly modelOutput?: ReadonlyArray<Prompt.ToolModelOutputPart> | undefined
|
|
1019
1062
|
/**
|
|
1020
1063
|
* Whether the result of executing the tool call handler was an error or not.
|
|
1021
1064
|
*/
|
|
@@ -1117,7 +1160,7 @@ const Proto = {
|
|
|
1117
1160
|
return clone(this, { parametersSchema, jsonSchema: undefined })
|
|
1118
1161
|
},
|
|
1119
1162
|
setSuccess(this: Any, successSchema: Schema.Constraint) {
|
|
1120
|
-
return clone(this, { successSchema })
|
|
1163
|
+
return clone(this, { successSchema, toModelOutput: undefined })
|
|
1121
1164
|
},
|
|
1122
1165
|
setFailure(this: Any, failureSchema: Schema.Constraint) {
|
|
1123
1166
|
return clone(this, { failureSchema })
|
|
@@ -1158,6 +1201,7 @@ const userDefinedProto = <
|
|
|
1158
1201
|
readonly annotations: Context.Context<never>
|
|
1159
1202
|
readonly failureMode: Mode
|
|
1160
1203
|
readonly needsApproval?: NeedsApproval<Parameters> | undefined
|
|
1204
|
+
readonly toModelOutput?: ((result: any) => ReadonlyArray<Prompt.ToolModelOutputPart>) | undefined
|
|
1161
1205
|
}): Tool<
|
|
1162
1206
|
Name,
|
|
1163
1207
|
{
|
|
@@ -1220,6 +1264,7 @@ const dynamicProto = <
|
|
|
1220
1264
|
readonly annotations: Context.Context<never>
|
|
1221
1265
|
readonly failureMode: Mode
|
|
1222
1266
|
readonly needsApproval?: NeedsApproval<any> | undefined
|
|
1267
|
+
readonly toModelOutput?: ((result: any) => ReadonlyArray<Prompt.ToolModelOutputPart>) | undefined
|
|
1223
1268
|
readonly jsonSchema: JsonSchema.JsonSchema | undefined
|
|
1224
1269
|
}): Dynamic<
|
|
1225
1270
|
Name,
|
|
@@ -1319,6 +1364,12 @@ export const make = <
|
|
|
1319
1364
|
* dynamically determine if approval is needed.
|
|
1320
1365
|
*/
|
|
1321
1366
|
readonly needsApproval?: NeedsApproval<Parameters> | undefined
|
|
1367
|
+
/**
|
|
1368
|
+
* Maps a successful tool result to the content sent to the model in place
|
|
1369
|
+
* of the encoded result, such as images or files. The application still
|
|
1370
|
+
* receives the typed result.
|
|
1371
|
+
*/
|
|
1372
|
+
readonly toModelOutput?: ((result: Success["Type"]) => ReadonlyArray<Prompt.ToolModelOutputPart>) | undefined
|
|
1322
1373
|
}): Tool<
|
|
1323
1374
|
Name,
|
|
1324
1375
|
{
|
|
@@ -1339,7 +1390,8 @@ export const make = <
|
|
|
1339
1390
|
failureSchema,
|
|
1340
1391
|
failureMode: options?.failureMode ?? "error",
|
|
1341
1392
|
annotations: Context.empty(),
|
|
1342
|
-
needsApproval: options?.needsApproval as any
|
|
1393
|
+
needsApproval: options?.needsApproval as any,
|
|
1394
|
+
toModelOutput: options?.toModelOutput
|
|
1343
1395
|
}) as any
|
|
1344
1396
|
}
|
|
1345
1397
|
|
|
@@ -1447,6 +1499,7 @@ export const dynamic: {
|
|
|
1447
1499
|
readonly failure?: Schema.Constraint | undefined
|
|
1448
1500
|
readonly failureMode?: FailureMode | undefined
|
|
1449
1501
|
readonly needsApproval?: NeedsApproval<any> | undefined
|
|
1502
|
+
readonly toModelOutput?: ((result: any) => ReadonlyArray<Prompt.ToolModelOutputPart>) | undefined
|
|
1450
1503
|
}
|
|
1451
1504
|
>(name: Name, options?: Options): Dynamic<
|
|
1452
1505
|
Name,
|
|
@@ -1471,6 +1524,7 @@ export const dynamic: {
|
|
|
1471
1524
|
readonly failure?: Schema.Constraint | undefined
|
|
1472
1525
|
readonly failureMode?: FailureMode | undefined
|
|
1473
1526
|
readonly needsApproval?: NeedsApproval<any> | undefined
|
|
1527
|
+
readonly toModelOutput?: ((result: any) => ReadonlyArray<Prompt.ToolModelOutputPart>) | undefined
|
|
1474
1528
|
}
|
|
1475
1529
|
>(name: Name, options?: Options): any => {
|
|
1476
1530
|
const successSchema = options?.success ?? Schema.Unknown
|
|
@@ -1488,6 +1542,7 @@ export const dynamic: {
|
|
|
1488
1542
|
failureMode: options?.failureMode ?? "error",
|
|
1489
1543
|
annotations: Context.empty(),
|
|
1490
1544
|
needsApproval: options?.needsApproval,
|
|
1545
|
+
toModelOutput: options?.toModelOutput,
|
|
1491
1546
|
jsonSchema
|
|
1492
1547
|
})
|
|
1493
1548
|
}
|
package/src/ai/Toolkit.ts
CHANGED
|
@@ -525,7 +525,10 @@ const Proto = {
|
|
|
525
525
|
),
|
|
526
526
|
Stream.mapEffect(Effect.fnUntraced(function*(output) {
|
|
527
527
|
const encodedResult = yield* encodeResult(output.result, output.isFailure)
|
|
528
|
-
|
|
528
|
+
if (output.isFailure || output.preliminary || tool.toModelOutput === undefined) {
|
|
529
|
+
return { ...output, encodedResult }
|
|
530
|
+
}
|
|
531
|
+
return { ...output, encodedResult, modelOutput: tool.toModelOutput(output.result) }
|
|
529
532
|
})),
|
|
530
533
|
Stream.ensuring(Fiber.interrupt(fiber))
|
|
531
534
|
) satisfies Stream.Stream<Tool.HandlerResult<any>, any>
|
package/src/ai/index.ts
CHANGED
|
@@ -83,6 +83,12 @@ export * as McpSchema from "./McpSchema.ts"
|
|
|
83
83
|
*/
|
|
84
84
|
export * as McpServer from "./McpServer.ts"
|
|
85
85
|
|
|
86
|
+
/**
|
|
87
|
+
* @stability unstable
|
|
88
|
+
* @since 4.0.0
|
|
89
|
+
*/
|
|
90
|
+
export * as McpTest from "./McpTest.ts"
|
|
91
|
+
|
|
86
92
|
/**
|
|
87
93
|
* @stability unstable
|
|
88
94
|
* @since 4.0.0
|
|
@@ -149,6 +149,20 @@ export class UnsupportedByProtocol extends Data.TaggedError("UnsupportedByProtoc
|
|
|
149
149
|
readonly feature: string
|
|
150
150
|
}> {}
|
|
151
151
|
|
|
152
|
+
/**
|
|
153
|
+
* A request rejected outside the handler, for example by MCP middleware.
|
|
154
|
+
* Adapters send it as a JSON-RPC error with its code, message and data, never
|
|
155
|
+
* as a tool result. `error` keeps the original failure for in-process callers.
|
|
156
|
+
*
|
|
157
|
+
* @internal
|
|
158
|
+
*/
|
|
159
|
+
export class RequestRejected extends Data.TaggedError("RequestRejected")<{
|
|
160
|
+
readonly code: number
|
|
161
|
+
readonly message: string
|
|
162
|
+
readonly data?: unknown
|
|
163
|
+
readonly error: McpSchema.McpErrorBase
|
|
164
|
+
}> {}
|
|
165
|
+
|
|
152
166
|
/**
|
|
153
167
|
* @internal
|
|
154
168
|
*/
|
|
@@ -157,6 +171,7 @@ export type ToolError =
|
|
|
157
171
|
| InvalidToolInput
|
|
158
172
|
| InvalidToolContinuation
|
|
159
173
|
| ToolExecutionError
|
|
174
|
+
| RequestRejected
|
|
160
175
|
|
|
161
176
|
/**
|
|
162
177
|
* @internal
|
|
@@ -166,12 +181,13 @@ export interface ToolRegistration {
|
|
|
166
181
|
// `tool.title ?? tool.annotations?.title` at the public boundary.
|
|
167
182
|
readonly descriptor: McpSchema.Tool
|
|
168
183
|
readonly isVisible: (profile: NegotiatedProtocolProfile<string>) => boolean
|
|
184
|
+
readonly visible?: Visible | undefined
|
|
169
185
|
readonly handle: (
|
|
170
186
|
call: typeof McpSchema.CallTool.payloadSchema.Type,
|
|
171
187
|
invocation: McpInvocation
|
|
172
188
|
) => Effect.Effect<
|
|
173
189
|
OperationOutcome<McpSchema.CallToolResult>,
|
|
174
|
-
InvalidToolInput | InvalidToolContinuation | ToolExecutionError,
|
|
190
|
+
ToolNotFound | InvalidToolInput | InvalidToolContinuation | ToolExecutionError | RequestRejected,
|
|
175
191
|
never
|
|
176
192
|
>
|
|
177
193
|
}
|
|
@@ -184,8 +200,13 @@ export interface Tools {
|
|
|
184
200
|
registration: ToolRegistration
|
|
185
201
|
) => Effect.Effect<void>
|
|
186
202
|
readonly list: (
|
|
203
|
+
invocation: McpInvocation
|
|
204
|
+
) => Effect.Effect<ReadonlyArray<McpSchema.Tool>, RequestRejected>
|
|
205
|
+
// Skips request-level visibility checks.
|
|
206
|
+
readonly find: (
|
|
207
|
+
name: string,
|
|
187
208
|
profile: NegotiatedProtocolProfile<string>
|
|
188
|
-
) =>
|
|
209
|
+
) => McpSchema.Tool | undefined
|
|
189
210
|
readonly call: (
|
|
190
211
|
call: typeof McpSchema.CallTool.payloadSchema.Type,
|
|
191
212
|
invocation: McpInvocation
|
|
@@ -198,9 +219,10 @@ export interface Tools {
|
|
|
198
219
|
export interface ResourceRegistration {
|
|
199
220
|
readonly descriptor: McpSchema.Resource
|
|
200
221
|
readonly isVisible: (profile: NegotiatedProtocolProfile<string>) => boolean
|
|
222
|
+
readonly visible?: Visible | undefined
|
|
201
223
|
readonly read: (
|
|
202
224
|
invocation: McpInvocation
|
|
203
|
-
) => Effect.Effect<McpSchema.ReadResourceResult, McpSchema.InternalError>
|
|
225
|
+
) => Effect.Effect<McpSchema.ReadResourceResult, ResourceNotFound | McpSchema.InternalError | RequestRejected>
|
|
204
226
|
}
|
|
205
227
|
|
|
206
228
|
/**
|
|
@@ -209,12 +231,16 @@ export interface ResourceRegistration {
|
|
|
209
231
|
export interface ResourceTemplateRegistration {
|
|
210
232
|
readonly descriptor: McpSchema.ResourceTemplate
|
|
211
233
|
readonly isVisible: (profile: NegotiatedProtocolProfile<string>) => boolean
|
|
234
|
+
readonly visible?: Visible | undefined
|
|
212
235
|
readonly match: (uri: string) => ReadonlyArray<string> | undefined
|
|
213
236
|
readonly read: (
|
|
214
237
|
uri: string,
|
|
215
238
|
params: ReadonlyArray<string>,
|
|
216
239
|
invocation: McpInvocation
|
|
217
|
-
) => Effect.Effect<
|
|
240
|
+
) => Effect.Effect<
|
|
241
|
+
McpSchema.ReadResourceResult,
|
|
242
|
+
ResourceNotFound | McpSchema.InvalidParams | McpSchema.InternalError | RequestRejected
|
|
243
|
+
>
|
|
218
244
|
}
|
|
219
245
|
|
|
220
246
|
/**
|
|
@@ -224,17 +250,17 @@ export interface Resources {
|
|
|
224
250
|
readonly register: (registration: ResourceRegistration) => Effect.Effect<void>
|
|
225
251
|
readonly registerTemplate: (registration: ResourceTemplateRegistration) => Effect.Effect<void>
|
|
226
252
|
readonly list: (
|
|
227
|
-
|
|
228
|
-
) => Effect.Effect<ReadonlyArray<McpSchema.Resource
|
|
253
|
+
invocation: McpInvocation
|
|
254
|
+
) => Effect.Effect<ReadonlyArray<McpSchema.Resource>, RequestRejected>
|
|
229
255
|
readonly listTemplates: (
|
|
230
|
-
|
|
231
|
-
) => Effect.Effect<ReadonlyArray<McpSchema.ResourceTemplate
|
|
256
|
+
invocation: McpInvocation
|
|
257
|
+
) => Effect.Effect<ReadonlyArray<McpSchema.ResourceTemplate>, RequestRejected>
|
|
232
258
|
readonly read: (
|
|
233
259
|
uri: string,
|
|
234
260
|
invocation: McpInvocation
|
|
235
261
|
) => Effect.Effect<
|
|
236
262
|
McpSchema.ReadResourceResult,
|
|
237
|
-
ResourceNotFound | McpSchema.InvalidParams | McpSchema.InternalError
|
|
263
|
+
ResourceNotFound | McpSchema.InvalidParams | McpSchema.InternalError | RequestRejected
|
|
238
264
|
>
|
|
239
265
|
}
|
|
240
266
|
|
|
@@ -251,10 +277,14 @@ export class PromptNotFound extends Data.TaggedError("PromptNotFound")<{
|
|
|
251
277
|
export interface PromptRegistration {
|
|
252
278
|
readonly descriptor: McpSchema.Prompt
|
|
253
279
|
readonly isVisible: (profile: NegotiatedProtocolProfile<string>) => boolean
|
|
280
|
+
readonly visible?: Visible | undefined
|
|
254
281
|
readonly get: (
|
|
255
282
|
args: Readonly<Record<string, string>>,
|
|
256
283
|
invocation: McpInvocation
|
|
257
|
-
) => Effect.Effect<
|
|
284
|
+
) => Effect.Effect<
|
|
285
|
+
OperationOutcome<McpSchema.GetPromptResult>,
|
|
286
|
+
PromptNotFound | McpSchema.InvalidParams | McpSchema.InternalError | RequestRejected
|
|
287
|
+
>
|
|
258
288
|
}
|
|
259
289
|
|
|
260
290
|
/**
|
|
@@ -263,15 +293,15 @@ export interface PromptRegistration {
|
|
|
263
293
|
export interface Prompts {
|
|
264
294
|
readonly register: (registration: PromptRegistration) => Effect.Effect<void>
|
|
265
295
|
readonly list: (
|
|
266
|
-
|
|
267
|
-
) => Effect.Effect<ReadonlyArray<McpSchema.Prompt
|
|
296
|
+
invocation: McpInvocation
|
|
297
|
+
) => Effect.Effect<ReadonlyArray<McpSchema.Prompt>, RequestRejected>
|
|
268
298
|
readonly get: (
|
|
269
299
|
name: string,
|
|
270
300
|
args: Readonly<Record<string, string>>,
|
|
271
301
|
invocation: McpInvocation
|
|
272
302
|
) => Effect.Effect<
|
|
273
303
|
OperationOutcome<McpSchema.GetPromptResult>,
|
|
274
|
-
PromptNotFound | McpSchema.InvalidParams | McpSchema.InternalError
|
|
304
|
+
PromptNotFound | McpSchema.InvalidParams | McpSchema.InternalError | RequestRejected
|
|
275
305
|
>
|
|
276
306
|
}
|
|
277
307
|
|
|
@@ -314,12 +344,12 @@ export interface Completions {
|
|
|
314
344
|
complete: (
|
|
315
345
|
request: CompletionRequest,
|
|
316
346
|
invocation: McpInvocation
|
|
317
|
-
) => Effect.Effect<CompletionResult, McpSchema.InvalidParams | McpSchema.InternalError>
|
|
347
|
+
) => Effect.Effect<CompletionResult, McpSchema.InvalidParams | McpSchema.InternalError | RequestRejected>
|
|
318
348
|
) => Effect.Effect<void>
|
|
319
349
|
readonly complete: (
|
|
320
350
|
request: CompletionRequest,
|
|
321
351
|
invocation: McpInvocation
|
|
322
|
-
) => Effect.Effect<CompletionResult, McpSchema.InvalidParams | McpSchema.InternalError>
|
|
352
|
+
) => Effect.Effect<CompletionResult, McpSchema.InvalidParams | McpSchema.InternalError | RequestRejected>
|
|
323
353
|
}
|
|
324
354
|
|
|
325
355
|
/**
|
|
@@ -400,6 +430,14 @@ export interface McpCore {
|
|
|
400
430
|
}>
|
|
401
431
|
}
|
|
402
432
|
|
|
433
|
+
/**
|
|
434
|
+
* Runs the request-level visibility checks of a registration on a list
|
|
435
|
+
* request, after `isVisible` passed.
|
|
436
|
+
*
|
|
437
|
+
* @internal
|
|
438
|
+
*/
|
|
439
|
+
export type Visible = (invocation: McpInvocation) => Effect.Effect<boolean, RequestRejected>
|
|
440
|
+
|
|
403
441
|
/**
|
|
404
442
|
* @internal
|
|
405
443
|
*/
|
|
@@ -413,24 +451,35 @@ export const make: Effect.Effect<McpCore> = Effect.sync(() => {
|
|
|
413
451
|
(
|
|
414
452
|
request: CompletionRequest,
|
|
415
453
|
invocation: McpInvocation
|
|
416
|
-
) => Effect.Effect<CompletionResult, McpSchema.InvalidParams | McpSchema.InternalError>
|
|
454
|
+
) => Effect.Effect<CompletionResult, McpSchema.InvalidParams | McpSchema.InternalError | RequestRejected>
|
|
417
455
|
>()
|
|
418
456
|
|
|
457
|
+
const filterList = <D>(
|
|
458
|
+
registrations: Iterable<{
|
|
459
|
+
readonly descriptor: D
|
|
460
|
+
readonly isVisible: ToolRegistration["isVisible"]
|
|
461
|
+
readonly visible?: Visible | undefined
|
|
462
|
+
}>,
|
|
463
|
+
invocation: McpInvocation
|
|
464
|
+
): Effect.Effect<ReadonlyArray<D>, RequestRejected> =>
|
|
465
|
+
Effect.map(
|
|
466
|
+
Effect.filter(
|
|
467
|
+
Arr.filter(registrations, (entry) => entry.isVisible(invocation.protocol)),
|
|
468
|
+
(entry) => entry.visible === undefined ? Effect.succeed(true) : entry.visible(invocation)
|
|
469
|
+
),
|
|
470
|
+
(entries) => entries.map((entry) => entry.descriptor)
|
|
471
|
+
)
|
|
472
|
+
|
|
419
473
|
const tools: Tools = {
|
|
420
474
|
register: (registration) =>
|
|
421
475
|
Effect.sync(() => {
|
|
422
476
|
registrations.set(registration.descriptor.name, registration)
|
|
423
477
|
}),
|
|
424
|
-
list: (
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
descriptors.push(registration.descriptor)
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
return descriptors
|
|
433
|
-
}),
|
|
478
|
+
list: (invocation) => filterList(registrations.values(), invocation),
|
|
479
|
+
find: (name, profile) => {
|
|
480
|
+
const registration = registrations.get(name)
|
|
481
|
+
return registration !== undefined && registration.isVisible(profile) ? registration.descriptor : undefined
|
|
482
|
+
},
|
|
434
483
|
call: (call, invocation) =>
|
|
435
484
|
Effect.suspend((): Effect.Effect<OperationOutcome<McpSchema.CallToolResult>, ToolError> => {
|
|
436
485
|
const registration = registrations.get(call.name)
|
|
@@ -465,18 +514,8 @@ export const make: Effect.Effect<McpCore> = Effect.sync(() => {
|
|
|
465
514
|
resourceTemplateRegistrations[index] = registration
|
|
466
515
|
}
|
|
467
516
|
}),
|
|
468
|
-
list: (
|
|
469
|
-
|
|
470
|
-
resourceRegistrations
|
|
471
|
-
.filter((entry) => entry.isVisible(profile))
|
|
472
|
-
.map((entry) => entry.descriptor)
|
|
473
|
-
),
|
|
474
|
-
listTemplates: (profile) =>
|
|
475
|
-
Effect.sync(() =>
|
|
476
|
-
resourceTemplateRegistrations
|
|
477
|
-
.filter((entry) => entry.isVisible(profile))
|
|
478
|
-
.map((entry) => entry.descriptor)
|
|
479
|
-
),
|
|
517
|
+
list: (invocation) => filterList(resourceRegistrations, invocation),
|
|
518
|
+
listTemplates: (invocation) => filterList(resourceTemplateRegistrations, invocation),
|
|
480
519
|
read: Effect.fnUntraced(function*(uri, invocation) {
|
|
481
520
|
const resource = resourceRegistrations.find((entry) => entry.descriptor.uri === uri)
|
|
482
521
|
if (resource !== undefined && resource.isVisible(invocation.protocol)) {
|
|
@@ -497,12 +536,7 @@ export const make: Effect.Effect<McpCore> = Effect.sync(() => {
|
|
|
497
536
|
Effect.sync(() => {
|
|
498
537
|
promptRegistrations.set(registration.descriptor.name, registration)
|
|
499
538
|
}),
|
|
500
|
-
list: (
|
|
501
|
-
Effect.sync(() =>
|
|
502
|
-
Array.from(promptRegistrations.values())
|
|
503
|
-
.filter((entry) => entry.isVisible(profile))
|
|
504
|
-
.map((entry) => entry.descriptor)
|
|
505
|
-
),
|
|
539
|
+
list: (invocation) => filterList(promptRegistrations.values(), invocation),
|
|
506
540
|
get: Effect.fnUntraced(function*(name, args, invocation) {
|
|
507
541
|
const registration = promptRegistrations.get(name)
|
|
508
542
|
if (registration === undefined || !registration.isVisible(invocation.protocol)) {
|
|
@@ -154,12 +154,10 @@ export const protocol = McpProtocol.make({
|
|
|
154
154
|
"notifications/roots/list_changed": (_, { client, headers }) =>
|
|
155
155
|
lifecycle.clientNotification(McpCore.ClientNotification.RootsChanged(), client.id, headers),
|
|
156
156
|
"resources/list": (_pageRequest) =>
|
|
157
|
-
|
|
157
|
+
McpProtocol.listForClient(core.resources.list)
|
|
158
158
|
.pipe(Effect.map((resources) => McpSchema.ListResourcesResult.make({ resources }))),
|
|
159
159
|
"resources/templates/list": (_pageRequest) =>
|
|
160
|
-
|
|
161
|
-
core.resources.listTemplates(McpProtocol.profileFromClient(request))
|
|
162
|
-
).pipe(
|
|
160
|
+
McpProtocol.listForClient(core.resources.listTemplates).pipe(
|
|
163
161
|
Effect.map((resourceTemplates) => McpSchema.ListResourceTemplatesResult.make({ resourceTemplates }))
|
|
164
162
|
),
|
|
165
163
|
"resources/read": Effect.fnUntraced(function*({ uri }) {
|
|
@@ -189,7 +187,7 @@ export const protocol = McpProtocol.make({
|
|
|
189
187
|
"resources/unsubscribe": ({ uri }, { client, headers }) =>
|
|
190
188
|
lifecycle.unsubscribe(uri, client.id, headers).pipe(Effect.as({})),
|
|
191
189
|
"prompts/list": () =>
|
|
192
|
-
|
|
190
|
+
McpProtocol.listForClient(core.prompts.list)
|
|
193
191
|
.pipe(
|
|
194
192
|
Effect.map((prompts) =>
|
|
195
193
|
McpSchema.ListPromptsResult.make({
|
|
@@ -249,8 +247,7 @@ export const protocol = McpProtocol.make({
|
|
|
249
247
|
})
|
|
250
248
|
}),
|
|
251
249
|
"tools/list": Effect.fnUntraced(function*() {
|
|
252
|
-
|
|
253
|
-
return yield* core.tools.list(McpProtocol.profileFromClient(request)).pipe(
|
|
250
|
+
return yield* McpProtocol.listForClient(core.tools.list).pipe(
|
|
254
251
|
Effect.map((tools) =>
|
|
255
252
|
McpSchema.ListToolsResult.make({
|
|
256
253
|
tools: tools.map((tool) =>
|
|
@@ -166,7 +166,7 @@ export const protocol = McpProtocol.make({
|
|
|
166
166
|
"notifications/roots/list_changed": (_, { client, headers }) =>
|
|
167
167
|
lifecycle.clientNotification(McpCore.ClientNotification.RootsChanged(), client.id, headers),
|
|
168
168
|
"resources/list": (_pageRequest) =>
|
|
169
|
-
|
|
169
|
+
McpProtocol.listForClient(core.resources.list)
|
|
170
170
|
.pipe(
|
|
171
171
|
Effect.map((resources) =>
|
|
172
172
|
McpSchema.ListResourcesResult.make({
|
|
@@ -182,9 +182,7 @@ export const protocol = McpProtocol.make({
|
|
|
182
182
|
)
|
|
183
183
|
),
|
|
184
184
|
"resources/templates/list": (_pageRequest) =>
|
|
185
|
-
|
|
186
|
-
core.resources.listTemplates(McpProtocol.profileFromClient(request))
|
|
187
|
-
).pipe(
|
|
185
|
+
McpProtocol.listForClient(core.resources.listTemplates).pipe(
|
|
188
186
|
Effect.map((resourceTemplates) =>
|
|
189
187
|
McpSchema.ListResourceTemplatesResult.make({
|
|
190
188
|
resourceTemplates: resourceTemplates.map((template) => ({
|
|
@@ -212,7 +210,7 @@ export const protocol = McpProtocol.make({
|
|
|
212
210
|
"resources/unsubscribe": ({ uri }, { client, headers }) =>
|
|
213
211
|
lifecycle.unsubscribe(uri, client.id, headers).pipe(Effect.as({})),
|
|
214
212
|
"prompts/list": (_pageRequest) =>
|
|
215
|
-
|
|
213
|
+
McpProtocol.listForClient(core.prompts.list)
|
|
216
214
|
.pipe(
|
|
217
215
|
Effect.map((prompts) =>
|
|
218
216
|
McpSchema.ListPromptsResult.make({
|
|
@@ -272,8 +270,7 @@ export const protocol = McpProtocol.make({
|
|
|
272
270
|
})
|
|
273
271
|
}),
|
|
274
272
|
"tools/list": Effect.fnUntraced(function*() {
|
|
275
|
-
const
|
|
276
|
-
const tools = yield* core.tools.list(McpProtocol.profileFromClient(request))
|
|
273
|
+
const tools = yield* McpProtocol.listForClient(core.tools.list)
|
|
277
274
|
return McpSchema.ListToolsResult.make({
|
|
278
275
|
tools: tools.map((tool) =>
|
|
279
276
|
McpSchema.Tool.make({
|
|
@@ -182,14 +182,12 @@ export const protocol = McpProtocol.make({
|
|
|
182
182
|
"notifications/roots/list_changed": (_, { client, headers }) =>
|
|
183
183
|
lifecycle.clientNotification(McpCore.ClientNotification.RootsChanged(), client.id, headers),
|
|
184
184
|
"resources/list": (_pageRequest) =>
|
|
185
|
-
|
|
185
|
+
McpProtocol.listForClient(core.resources.list)
|
|
186
186
|
.pipe(
|
|
187
187
|
Effect.map((resources) => McpSchema.ListResourcesResult.make({ resources }))
|
|
188
188
|
),
|
|
189
189
|
"resources/templates/list": (_pageRequest) =>
|
|
190
|
-
|
|
191
|
-
core.resources.listTemplates(McpProtocol.profileFromClient(request))
|
|
192
|
-
).pipe(
|
|
190
|
+
McpProtocol.listForClient(core.resources.listTemplates).pipe(
|
|
193
191
|
Effect.map((resourceTemplates) => McpSchema.ListResourceTemplatesResult.make({ resourceTemplates }))
|
|
194
192
|
),
|
|
195
193
|
"resources/read": Effect.fnUntraced(function*({ uri }) {
|
|
@@ -207,7 +205,7 @@ export const protocol = McpProtocol.make({
|
|
|
207
205
|
"resources/unsubscribe": ({ uri }, { client, headers }) =>
|
|
208
206
|
lifecycle.unsubscribe(uri, client.id, headers).pipe(Effect.as({})),
|
|
209
207
|
"prompts/list": (_pageRequest) =>
|
|
210
|
-
|
|
208
|
+
McpProtocol.listForClient(core.prompts.list)
|
|
211
209
|
.pipe(
|
|
212
210
|
Effect.map((prompts) => McpSchema.ListPromptsResult.make({ prompts }))
|
|
213
211
|
),
|
|
@@ -262,8 +260,7 @@ export const protocol = McpProtocol.make({
|
|
|
262
260
|
})
|
|
263
261
|
}),
|
|
264
262
|
"tools/list": Effect.fnUntraced(function*() {
|
|
265
|
-
const
|
|
266
|
-
const tools = yield* core.tools.list(McpProtocol.profileFromClient(request))
|
|
263
|
+
const tools = yield* McpProtocol.listForClient(core.tools.list)
|
|
267
264
|
return McpSchema.ListToolsResult.make({
|
|
268
265
|
tools: tools.map((tool) =>
|
|
269
266
|
McpSchema.Tool.make({
|
|
@@ -177,7 +177,7 @@ export const protocol = McpProtocol.make({
|
|
|
177
177
|
"notifications/roots/list_changed": (_, { client, headers }) =>
|
|
178
178
|
lifecycle.clientNotification(McpCore.ClientNotification.RootsChanged(), client.id, headers),
|
|
179
179
|
"resources/list": () =>
|
|
180
|
-
|
|
180
|
+
McpProtocol.listForClient(core.resources.list)
|
|
181
181
|
.pipe(
|
|
182
182
|
Effect.map((resources) =>
|
|
183
183
|
McpSchema.ListResourcesResult.make({
|
|
@@ -186,9 +186,7 @@ export const protocol = McpProtocol.make({
|
|
|
186
186
|
)
|
|
187
187
|
),
|
|
188
188
|
"resources/templates/list": () =>
|
|
189
|
-
|
|
190
|
-
core.resources.listTemplates(McpProtocol.profileFromClient(request))
|
|
191
|
-
).pipe(
|
|
189
|
+
McpProtocol.listForClient(core.resources.listTemplates).pipe(
|
|
192
190
|
Effect.map((resourceTemplates) =>
|
|
193
191
|
McpSchema.ListResourceTemplatesResult.make({
|
|
194
192
|
resourceTemplates: resourceTemplates.map((resourceTemplate) =>
|
|
@@ -226,7 +224,7 @@ export const protocol = McpProtocol.make({
|
|
|
226
224
|
"resources/unsubscribe": ({ uri }, { client, headers }) =>
|
|
227
225
|
lifecycle.unsubscribe(uri, client.id, headers).pipe(Effect.as({})),
|
|
228
226
|
"prompts/list": () =>
|
|
229
|
-
|
|
227
|
+
McpProtocol.listForClient(core.prompts.list)
|
|
230
228
|
.pipe(
|
|
231
229
|
Effect.map((prompts) =>
|
|
232
230
|
McpSchema.ListPromptsResult.make({
|
|
@@ -285,8 +283,7 @@ export const protocol = McpProtocol.make({
|
|
|
285
283
|
})
|
|
286
284
|
}),
|
|
287
285
|
"tools/list": Effect.fnUntraced(function*() {
|
|
288
|
-
const
|
|
289
|
-
const tools = yield* core.tools.list(McpProtocol.profileFromClient(request))
|
|
286
|
+
const tools = yield* McpProtocol.listForClient(core.tools.list)
|
|
290
287
|
return McpSchema.ListToolsResult.make({
|
|
291
288
|
tools: tools.map((tool) =>
|
|
292
289
|
McpSchema.Tool.make({
|
|
@@ -327,6 +327,11 @@ export const makeHandlers = (
|
|
|
327
327
|
context.serverInfo.extensions,
|
|
328
328
|
(value): value is Readonly<Record<string, unknown>> => Predicate.isReadonlyObject(value)
|
|
329
329
|
)
|
|
330
|
+
// Project only the wire fields; structurally compatible hints can carry extra properties.
|
|
331
|
+
const cacheHint = (family: keyof McpProtocol.CacheHints) => {
|
|
332
|
+
const hint = context.serverInfo.cacheHints?.[family]
|
|
333
|
+
return hint === undefined ? privateStaleCache : { ttlMs: hint.ttlMs, cacheScope: hint.cacheScope }
|
|
334
|
+
}
|
|
330
335
|
const getDiscovery = Effect.map(context.registrationPresence, (presence) => {
|
|
331
336
|
const capabilities: Types.Mutable<typeof McpSchema.ServerCapabilities.Type> = { completions: {}, logging: {} }
|
|
332
337
|
if (extensions !== undefined) capabilities.extensions = extensions
|
|
@@ -483,7 +488,7 @@ export const makeHandlers = (
|
|
|
483
488
|
) {
|
|
484
489
|
const discovery = yield* getDiscovery
|
|
485
490
|
const result = yield* projectCompleteResult({
|
|
486
|
-
...
|
|
491
|
+
...cacheHint("discover"),
|
|
487
492
|
supportedVersions: Array.from(discovery.supportedVersions),
|
|
488
493
|
capabilities: discovery.capabilities,
|
|
489
494
|
instructions: context.serverInfo.instructions
|
|
@@ -494,9 +499,9 @@ export const makeHandlers = (
|
|
|
494
499
|
_request: typeof McpSchema.ListResources.payloadSchema.Type
|
|
495
500
|
) {
|
|
496
501
|
const invocation = yield* getInvocation
|
|
497
|
-
const resources = yield* core.resources.list(invocation
|
|
502
|
+
const resources = yield* core.resources.list(invocation)
|
|
498
503
|
const result = yield* projectCompleteResult({
|
|
499
|
-
...
|
|
504
|
+
...cacheHint("resources"),
|
|
500
505
|
resources: resources.map(projectResource)
|
|
501
506
|
}, context.serverInfo)
|
|
502
507
|
return yield* decodeListResourcesResult(result)
|
|
@@ -505,9 +510,9 @@ export const makeHandlers = (
|
|
|
505
510
|
_request: typeof McpSchema.ListResourceTemplates.payloadSchema.Type
|
|
506
511
|
) {
|
|
507
512
|
const invocation = yield* getInvocation
|
|
508
|
-
const resourceTemplates = yield* core.resources.listTemplates(invocation
|
|
513
|
+
const resourceTemplates = yield* core.resources.listTemplates(invocation)
|
|
509
514
|
const result = yield* projectCompleteResult({
|
|
510
|
-
...
|
|
515
|
+
...cacheHint("resourceTemplates"),
|
|
511
516
|
resourceTemplates: resourceTemplates.map(projectResourceTemplate)
|
|
512
517
|
}, context.serverInfo)
|
|
513
518
|
return yield* decodeListResourceTemplatesResult(result)
|
|
@@ -537,10 +542,10 @@ export const makeHandlers = (
|
|
|
537
542
|
)
|
|
538
543
|
}
|
|
539
544
|
const invocation = yield* getInvocation
|
|
540
|
-
const prompts = yield* core.prompts.list(invocation
|
|
545
|
+
const prompts = yield* core.prompts.list(invocation)
|
|
541
546
|
const projectedPrompts = yield* Effect.forEach(prompts, projectPrompt)
|
|
542
547
|
const result = yield* projectCompleteResult({
|
|
543
|
-
...
|
|
548
|
+
...cacheHint("prompts"),
|
|
544
549
|
prompts: projectedPrompts
|
|
545
550
|
}, context.serverInfo)
|
|
546
551
|
return yield* decodeListPromptsResult(result)
|
|
@@ -593,17 +598,17 @@ export const makeHandlers = (
|
|
|
593
598
|
_request: typeof McpSchema.ListTools.payloadSchema.Type
|
|
594
599
|
) {
|
|
595
600
|
const invocation = yield* getInvocation
|
|
596
|
-
const tools = yield* core.tools.list(invocation
|
|
601
|
+
const tools = yield* core.tools.list(invocation)
|
|
597
602
|
const projectedTools = yield* Effect.forEach(tools, projectTool)
|
|
598
603
|
const result = yield* projectCompleteResult({
|
|
599
|
-
...
|
|
604
|
+
...cacheHint("tools"),
|
|
600
605
|
tools: projectedTools
|
|
601
606
|
}, context.serverInfo)
|
|
602
607
|
return yield* decodeListToolsResult(result)
|
|
603
608
|
}, Effect.mapError(projectError)),
|
|
604
609
|
"tools/call": Effect.fnUntraced(function*(request: typeof McpSchema.CallTool.payloadSchema.Type) {
|
|
605
610
|
const invocation = yield* getInputInvocation(request)
|
|
606
|
-
const tool =
|
|
611
|
+
const tool = core.tools.find(request.name, invocation.protocol)
|
|
607
612
|
const httpRequest = yield* Effect.serviceOption(HttpServerRequest.HttpServerRequest)
|
|
608
613
|
|
|
609
614
|
if (tool !== undefined && Option.isSome(httpRequest)) {
|