effect 4.0.7 → 4.1.1
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 +31 -1
- package/THIRD_PARTY_NOTICES.md +62 -0
- package/dist/BigDecimal.d.ts +139 -7
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +86 -14
- 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 +9 -3
- 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/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 +164 -7
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +11 -1
- package/dist/Effect.js.map +1 -1
- package/dist/Equal.d.ts +2 -2
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +3 -3
- package/dist/Equal.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/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 +3 -2
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +5 -4
- package/dist/Hash.js.map +1 -1
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +11 -8
- package/dist/Iterable.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/Path.d.ts.map +1 -1
- package/dist/Path.js +5 -1
- package/dist/Path.js.map +1 -1
- package/dist/Pool.d.ts +51 -0
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +61 -10
- package/dist/Pool.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/Schedule.d.ts +18 -1
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +7 -2
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +668 -42
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +652 -1
- package/dist/Schema.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/SchemaRepresentation.d.ts +18 -2
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +20 -2
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +10 -5
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +8 -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 +40 -0
- package/dist/Semaphore.js.map +1 -1
- package/dist/Stream.d.ts +13 -4
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +9 -0
- package/dist/Stream.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/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/McpClient.d.ts +171 -19
- package/dist/ai/McpClient.d.ts.map +1 -1
- package/dist/ai/McpClient.js +277 -66
- package/dist/ai/McpClient.js.map +1 -1
- package/dist/ai/McpSchema.d.ts +108 -0
- package/dist/ai/McpSchema.d.ts.map +1 -1
- package/dist/ai/McpSchema.js +99 -0
- package/dist/ai/McpSchema.js.map +1 -1
- package/dist/ai/McpServer.d.ts +744 -29
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +763 -136
- 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.map +1 -1
- package/dist/ai/Prompt.js +20 -11
- package/dist/ai/Prompt.js.map +1 -1
- package/dist/ai/Response.d.ts +1 -25
- package/dist/ai/Response.d.ts.map +1 -1
- package/dist/ai/Response.js +1 -10
- package/dist/ai/Response.js.map +1 -1
- package/dist/ai/Tool.d.ts +19 -1
- package/dist/ai/Tool.d.ts.map +1 -1
- package/dist/ai/Tool.js +5 -7
- package/dist/ai/Tool.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 +89 -15
- package/dist/ai/internal/mcpCore.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js +7 -6
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js +7 -6
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js +7 -6
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js +7 -6
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js +60 -17
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
- package/dist/ai/internal/mcpProtocol.js +25 -0
- package/dist/ai/internal/mcpProtocol.js.map +1 -1
- package/dist/ai/internal/mcpRuntime.js +8 -6
- package/dist/ai/internal/mcpRuntime.js.map +1 -1
- package/dist/ai/internal/mcpSkills.d.ts +2 -0
- package/dist/ai/internal/mcpSkills.d.ts.map +1 -0
- package/dist/ai/internal/mcpSkills.js +428 -0
- package/dist/ai/internal/mcpSkills.js.map +1 -0
- package/dist/ai/internal/mcpStatefulRuntime.js +6 -1
- package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
- package/dist/cli/Argument.d.ts +6 -0
- package/dist/cli/Argument.d.ts.map +1 -1
- package/dist/cli/Argument.js +2 -0
- package/dist/cli/Argument.js.map +1 -1
- package/dist/cli/CliOutput.d.ts +65 -1
- package/dist/cli/CliOutput.d.ts.map +1 -1
- package/dist/cli/CliOutput.js +94 -37
- package/dist/cli/CliOutput.js.map +1 -1
- package/dist/cli/Command.d.ts +23 -0
- package/dist/cli/Command.d.ts.map +1 -1
- package/dist/cli/Command.js +8 -0
- package/dist/cli/Command.js.map +1 -1
- package/dist/cli/Flag.d.ts +107 -0
- package/dist/cli/Flag.d.ts.map +1 -1
- package/dist/cli/Flag.js +37 -0
- package/dist/cli/Flag.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 +6 -0
- package/dist/cli/Param.d.ts.map +1 -1
- package/dist/cli/Param.js +2 -0
- 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/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 +15 -5
- package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cluster/Reply.d.ts +1 -1
- package/dist/cluster/Reply.d.ts.map +1 -1
- package/dist/cluster/Reply.js.map +1 -1
- package/dist/cluster/Sharding.d.ts.map +1 -1
- package/dist/cluster/Sharding.js +93 -28
- package/dist/cluster/Sharding.js.map +1 -1
- package/dist/cluster/ShardingConfig.d.ts +72 -6
- 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/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 +23 -8
- package/dist/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/cluster/internal/entityManager.js +15 -7
- package/dist/cluster/internal/entityManager.js.map +1 -1
- package/dist/crypto/Aead.d.ts +323 -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 +236 -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 +324 -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 +341 -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 +390 -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 +278 -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 +449 -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 +80 -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 +171 -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/encoding/Base64Url.d.ts.map +1 -1
- package/dist/encoding/Base64Url.js +29 -5
- 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/Ndjson.d.ts +5 -4
- package/dist/encoding/Ndjson.d.ts.map +1 -1
- package/dist/encoding/Ndjson.js +6 -5
- package/dist/encoding/Ndjson.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 +3 -1
- package/dist/encoding/Sse.d.ts.map +1 -1
- package/dist/encoding/Sse.js +5 -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 +104 -16
- 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 +126 -4
- package/dist/eventlog/EventLog.d.ts.map +1 -1
- package/dist/eventlog/EventLog.js +207 -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 +10 -1
- package/dist/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/eventlog/EventLogServer.js +45 -22
- package/dist/eventlog/EventLogServer.js.map +1 -1
- package/dist/eventlog/EventLogServerEncrypted.d.ts +336 -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/EventLogServerUnencrypted.d.ts +17 -0
- package/dist/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/eventlog/EventLogServerUnencrypted.js +14 -2
- package/dist/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/eventlog/EventLogSessionAuth.d.ts +26 -3
- package/dist/eventlog/EventLogSessionAuth.d.ts.map +1 -1
- package/dist/eventlog/EventLogSessionAuth.js +63 -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.js +2 -2
- 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/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/graphql/GraphQLClient.d.ts +3 -1
- package/dist/graphql/GraphQLClient.d.ts.map +1 -1
- package/dist/graphql/GraphQLClient.js.map +1 -1
- package/dist/graphql/GraphQLClientError.d.ts +14 -9
- package/dist/graphql/GraphQLClientError.d.ts.map +1 -1
- package/dist/graphql/GraphQLClientError.js +14 -21
- package/dist/graphql/GraphQLClientError.js.map +1 -1
- package/dist/graphql/GraphQLProtocol.d.ts +12 -3
- package/dist/graphql/GraphQLProtocol.d.ts.map +1 -1
- package/dist/graphql/GraphQLProtocol.js +4 -1
- package/dist/graphql/GraphQLProtocol.js.map +1 -1
- package/dist/http/Cookies.d.ts +172 -0
- package/dist/http/Cookies.d.ts.map +1 -1
- package/dist/http/Cookies.js +143 -1
- 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 +268 -15
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +140 -7
- package/dist/http/HttpClient.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 +2 -3
- 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/HttpServerRequest.d.ts +5 -2
- package/dist/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/http/HttpServerRequest.js +44 -39
- 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/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/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/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/decompression.js +3 -2
- package/dist/http/internal/decompression.js.map +1 -1
- package/dist/http/internal/mimeTypes.d.ts +4 -1
- package/dist/http/internal/mimeTypes.d.ts.map +1 -1
- package/dist/http/internal/mimeTypes.js +4 -1
- package/dist/http/internal/mimeTypes.js.map +1 -1
- package/dist/http/internal/urlParams.js +8 -0
- package/dist/http/internal/urlParams.js.map +1 -1
- package/dist/http-api/HttpApiBuilder.js +19 -5
- package/dist/http-api/HttpApiBuilder.js.map +1 -1
- package/dist/http-api/HttpApiClient.d.ts +63 -0
- package/dist/http-api/HttpApiClient.d.ts.map +1 -1
- package/dist/http-api/HttpApiClient.js +51 -0
- package/dist/http-api/HttpApiClient.js.map +1 -1
- package/dist/http-api/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/http-api/HttpApiEndpoint.js +14 -5
- 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 +76 -14
- package/dist/http-api/HttpApiSchema.d.ts.map +1 -1
- package/dist/http-api/HttpApiSchema.js +54 -1
- package/dist/http-api/HttpApiSchema.js.map +1 -1
- 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/dateTime.js +49 -24
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +35 -14
- package/dist/internal/effect.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 +808 -0
- package/dist/internal/glob.js.map +1 -0
- package/dist/internal/graphql.js +21 -7
- package/dist/internal/graphql.js.map +1 -1
- package/dist/internal/graphqlHeaders.d.ts +7 -0
- package/dist/internal/graphqlHeaders.d.ts.map +1 -1
- package/dist/internal/graphqlHeaders.js +11 -0
- package/dist/internal/graphqlHeaders.js.map +1 -1
- package/dist/internal/matcher.js +10 -0
- 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/request.js +29 -42
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.js +7 -8
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toCodeDocument.js +6 -3
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- 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/jose/JoseError.d.ts +285 -0
- package/dist/jose/JoseError.d.ts.map +1 -0
- package/dist/jose/JoseError.js +269 -0
- package/dist/jose/JoseError.js.map +1 -0
- package/dist/jose/Jwe.d.ts +128 -0
- package/dist/jose/Jwe.d.ts.map +1 -0
- package/dist/jose/Jwe.js +134 -0
- package/dist/jose/Jwe.js.map +1 -0
- package/dist/jose/Jwk.d.ts +597 -0
- package/dist/jose/Jwk.d.ts.map +1 -0
- package/dist/jose/Jwk.js +503 -0
- package/dist/jose/Jwk.js.map +1 -0
- package/dist/jose/Jwks.d.ts +236 -0
- package/dist/jose/Jwks.d.ts.map +1 -0
- package/dist/jose/Jwks.js +306 -0
- package/dist/jose/Jwks.js.map +1 -0
- package/dist/jose/Jws.d.ts +177 -0
- package/dist/jose/Jws.d.ts.map +1 -0
- package/dist/jose/Jws.js +183 -0
- package/dist/jose/Jws.js.map +1 -0
- package/dist/jose/Jwt.d.ts +270 -0
- package/dist/jose/Jwt.d.ts.map +1 -0
- package/dist/jose/Jwt.js +293 -0
- package/dist/jose/Jwt.js.map +1 -0
- package/dist/jose/index.d.ts +51 -0
- package/dist/jose/index.d.ts.map +1 -0
- package/dist/jose/index.js +52 -0
- package/dist/jose/index.js.map +1 -0
- package/dist/jose/internal/compact.d.ts +2 -0
- package/dist/jose/internal/compact.d.ts.map +1 -0
- package/dist/jose/internal/compact.js +179 -0
- package/dist/jose/internal/compact.js.map +1 -0
- package/dist/net/Host.d.ts.map +1 -1
- package/dist/net/Host.js +5 -10
- package/dist/net/Host.js.map +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/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/OtlpSerialization.d.ts +1 -1
- package/dist/observability/OtlpSerialization.d.ts.map +1 -1
- package/dist/observability/OtlpSerialization.js +10 -4
- package/dist/observability/OtlpSerialization.js.map +1 -1
- package/dist/observability/internal/otlpProtobuf.js +3 -3
- package/dist/observability/internal/otlpProtobuf.js.map +1 -1
- package/dist/observability/internal/protobuf.js +6 -0
- package/dist/observability/internal/protobuf.js.map +1 -1
- package/dist/persistence/CircuitBreaker.d.ts +98 -38
- package/dist/persistence/CircuitBreaker.d.ts.map +1 -1
- package/dist/persistence/CircuitBreaker.js +67 -29
- package/dist/persistence/CircuitBreaker.js.map +1 -1
- 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/RateLimiter.d.ts +8 -0
- package/dist/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/persistence/RateLimiter.js +63 -12
- package/dist/persistence/RateLimiter.js.map +1 -1
- package/dist/persistence/index.d.ts +1 -1
- package/dist/persistence/index.js +1 -1
- package/dist/process/ChildProcess.d.ts +207 -67
- 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 +5 -0
- package/dist/process/ChildProcessSpawner.d.ts.map +1 -1
- 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/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 +17 -7
- package/dist/reactivity/AtomRegistry.js.map +1 -1
- package/dist/rpc/Rpc.d.ts +1 -1
- package/dist/rpc/Rpc.d.ts.map +1 -1
- package/dist/rpc/Rpc.js.map +1 -1
- package/dist/rpc/RpcClient.d.ts +28 -1
- package/dist/rpc/RpcClient.d.ts.map +1 -1
- package/dist/rpc/RpcClient.js +78 -27
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcMessage.d.ts +13 -3
- 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.map +1 -1
- package/dist/rpc/RpcSerialization.js +6 -0
- 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 -66
- package/dist/rpc/RpcServer.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 +9 -20
- package/dist/sql/Migrator.d.ts.map +1 -1
- package/dist/sql/Migrator.js +20 -53
- 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 +38 -3
- package/dist/sql/SqlClient.d.ts.map +1 -1
- package/dist/sql/SqlClient.js +9 -12
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/sql/Statement.d.ts +61 -9
- package/dist/sql/Statement.d.ts.map +1 -1
- package/dist/sql/Statement.js +24 -33
- 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/Workflow.d.ts +4 -0
- package/dist/workflow/Workflow.d.ts.map +1 -1
- package/dist/workflow/Workflow.js.map +1 -1
- package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/workflow/WorkflowEngine.js +5 -0
- package/dist/workflow/WorkflowEngine.js.map +1 -1
- package/dist/workflow/internal/crypto.js +9 -8
- package/dist/workflow/internal/crypto.js.map +1 -1
- package/package.json +7 -1
- package/src/BigDecimal.ts +173 -16
- package/src/Channel.ts +17 -11
- package/src/Config.ts +7 -1
- package/src/Context.ts +34 -10
- package/src/Cron.ts +178 -29
- package/src/Duration.ts +140 -0
- package/src/Effect.ts +914 -85
- package/src/Equal.ts +3 -3
- package/src/FileSystem.ts +65 -4
- package/src/Glob.ts +205 -0
- package/src/Hash.ts +5 -4
- package/src/Iterable.ts +8 -5
- package/src/Match.ts +127 -0
- package/src/Path.ts +6 -1
- package/src/Pool.ts +75 -16
- package/src/Random.ts +3 -3
- package/src/RcMap.ts +5 -1
- package/src/Schedule.ts +26 -3
- package/src/Schema.ts +1191 -63
- package/src/SchemaGetter.ts +27 -11
- package/src/SchemaRepresentation.ts +23 -2
- package/src/SchemaTransformation.ts +10 -5
- package/src/ScopedCache.ts +5 -9
- package/src/Semaphore.ts +141 -0
- package/src/Stream.ts +15 -6
- package/src/Terminal.ts +19 -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/McpClient.ts +488 -91
- package/src/ai/McpSchema.ts +119 -0
- package/src/ai/McpServer.ts +1525 -319
- package/src/ai/McpTest.ts +380 -0
- package/src/ai/Prompt.ts +16 -11
- package/src/ai/Response.ts +2 -22
- package/src/ai/Tool.ts +32 -18
- package/src/ai/index.ts +6 -0
- package/src/ai/internal/mcpCore.ts +243 -56
- package/src/ai/internal/mcpProtocol/v2024_11_05.ts +7 -8
- package/src/ai/internal/mcpProtocol/v2025_03_26.ts +7 -8
- package/src/ai/internal/mcpProtocol/v2025_06_18.ts +7 -8
- package/src/ai/internal/mcpProtocol/v2025_11_25.ts +7 -8
- package/src/ai/internal/mcpProtocol/v2026_07_28.ts +56 -17
- package/src/ai/internal/mcpProtocol.ts +44 -0
- package/src/ai/internal/mcpRuntime.ts +15 -8
- package/src/ai/internal/mcpSkills.ts +480 -0
- package/src/ai/internal/mcpStatefulRuntime.ts +14 -2
- package/src/cli/Argument.ts +6 -0
- package/src/cli/CliOutput.ts +117 -49
- package/src/cli/Command.ts +23 -0
- package/src/cli/Flag.ts +107 -0
- package/src/cli/HelpDoc.ts +18 -1
- package/src/cli/Param.ts +6 -0
- package/src/cli/Primitive.ts +16 -1
- package/src/cli/Prompt.ts +1 -0
- package/src/cli/internal/help.ts +21 -9
- package/src/cluster/ClusterWorkflowEngine.ts +22 -8
- package/src/cluster/Reply.ts +1 -1
- package/src/cluster/Sharding.ts +96 -26
- package/src/cluster/ShardingConfig.ts +41 -3
- package/src/cluster/SingleRunner.ts +3 -3
- package/src/cluster/SqlMessageStorage.ts +49 -17
- package/src/cluster/SqlRunnerStorage.ts +37 -27
- package/src/cluster/internal/entityManager.ts +24 -10
- 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 +741 -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 +84 -0
- package/src/crypto/index.ts +78 -0
- package/src/crypto/internal/asymmetric.ts +330 -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 +242 -0
- package/src/crypto/internal/md5.ts +170 -0
- package/src/crypto/internal/webCrypto.ts +150 -0
- package/src/encoding/Base64Url.ts +32 -5
- package/src/encoding/Csv.ts +1298 -0
- package/src/encoding/Hex.ts +3 -2
- package/src/encoding/Ndjson.ts +6 -5
- package/src/encoding/SchemaBinary.ts +40 -4
- package/src/encoding/Sse.ts +5 -3
- package/src/encoding/Toml.ts +85 -20
- 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 +347 -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 +54 -20
- package/src/eventlog/EventLogServerEncrypted.ts +1135 -67
- package/src/eventlog/EventLogServerUnencrypted.ts +19 -2
- package/src/eventlog/EventLogSessionAuth.ts +82 -70
- package/src/eventlog/EventRow.ts +12 -3
- package/src/eventlog/SqlEventJournal.ts +2 -2
- 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/identityRootSecretDerivation.ts +93 -123
- package/src/eventlog/internal/remoteCompaction.ts +92 -0
- package/src/graphql/GraphQLClient.ts +3 -1
- package/src/graphql/GraphQLClientError.ts +15 -22
- package/src/graphql/GraphQLProtocol.ts +12 -3
- package/src/http/Cookies.ts +281 -1
- package/src/http/FetchHttpClient.ts +88 -16
- package/src/http/HttpClient.ts +299 -33
- package/src/http/HttpClientRequest.ts +12 -9
- package/src/http/HttpClientResponse.ts +3 -2
- package/src/http/HttpMethod.ts +10 -2
- package/src/http/HttpServerRequest.ts +76 -53
- package/src/http/HttpServerResponse.ts +3 -2
- package/src/http/HttpTraceContext.ts +7 -4
- package/src/http/ProblemDetails.ts +149 -0
- package/src/http/index.ts +6 -0
- package/src/http/internal/decompression.ts +4 -4
- package/src/http/internal/mimeTypes.ts +4 -1
- package/src/http/internal/urlParams.ts +8 -0
- package/src/http-api/HttpApiBuilder.ts +24 -12
- package/src/http-api/HttpApiClient.ts +67 -1
- package/src/http-api/HttpApiEndpoint.ts +14 -5
- package/src/http-api/HttpApiError.ts +250 -0
- package/src/http-api/HttpApiMiddleware.ts +95 -1
- package/src/http-api/HttpApiSchema.ts +106 -15
- package/src/index.ts +6 -6
- package/src/internal/dateTime.ts +54 -24
- package/src/internal/effect.ts +40 -18
- package/src/internal/glob.ts +952 -0
- package/src/internal/graphql.ts +27 -9
- package/src/internal/graphqlHeaders.ts +13 -0
- package/src/internal/matcher.ts +17 -0
- package/src/internal/persistence.ts +11 -0
- package/src/internal/rcRef.ts +4 -1
- package/src/internal/request.ts +51 -58
- package/src/internal/schema/fromJsonSchemaDocument.ts +11 -10
- package/src/internal/schema/toCodeDocument.ts +7 -3
- 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/jose/JoseError.ts +329 -0
- package/src/jose/Jwe.ts +196 -0
- package/src/jose/Jwk.ts +777 -0
- package/src/jose/Jwks.ts +418 -0
- package/src/jose/Jws.ts +312 -0
- package/src/jose/Jwt.ts +493 -0
- package/src/jose/index.ts +58 -0
- package/src/jose/internal/compact.ts +195 -0
- package/src/net/Host.ts +5 -10
- package/src/observability/Otlp.ts +21 -4
- package/src/observability/OtlpResource.ts +9 -1
- package/src/observability/OtlpSerialization.ts +13 -5
- package/src/observability/internal/otlpProtobuf.ts +6 -6
- package/src/observability/internal/protobuf.ts +10 -0
- package/src/persistence/CircuitBreaker.ts +113 -48
- package/src/persistence/KeyValueStore.ts +219 -22
- package/src/persistence/PersistedQueue.ts +128 -59
- package/src/persistence/Persistence.ts +20 -13
- package/src/persistence/RateLimiter.ts +84 -15
- package/src/persistence/index.ts +1 -1
- package/src/process/ChildProcess.ts +255 -260
- package/src/process/ChildProcessSpawner.ts +5 -0
- package/src/process/CommandLine.ts +630 -0
- package/src/process/index.ts +6 -0
- package/src/reactivity/Atom.ts +5 -5
- package/src/reactivity/AtomRegistry.ts +20 -9
- package/src/rpc/Rpc.ts +3 -1
- package/src/rpc/RpcClient.ts +94 -38
- package/src/rpc/RpcMessage.ts +13 -3
- package/src/rpc/RpcSerialization.ts +3 -0
- package/src/rpc/RpcServer.ts +176 -78
- package/src/schema/Model.ts +26 -3
- package/src/sql/Migrator.ts +38 -80
- package/src/sql/MigratorFileSystem.ts +71 -0
- package/src/sql/SqlClient.ts +45 -24
- package/src/sql/Statement.ts +60 -29
- package/src/sql/index.ts +1 -1
- package/src/testing/index.ts +0 -6
- package/src/workflow/Workflow.ts +4 -0
- package/src/workflow/WorkflowEngine.ts +5 -0
- 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
|
@@ -553,9 +553,15 @@ class RegistryImpl implements AtomRegistry {
|
|
|
553
553
|
const node = this.ensureNode(atom)
|
|
554
554
|
if (options?.immediate) {
|
|
555
555
|
f(node.value())
|
|
556
|
-
} else
|
|
557
|
-
//
|
|
558
|
-
|
|
556
|
+
} else {
|
|
557
|
+
// build the node so the listener hears its next change. A failed build
|
|
558
|
+
// is left for the next read to report; an error raised after the value
|
|
559
|
+
// is committed has no later read to report it, so it is rethrown
|
|
560
|
+
try {
|
|
561
|
+
node.value()
|
|
562
|
+
} catch (error) {
|
|
563
|
+
if ((node.state & NodeFlags.waitingForValue) === 0) throw error
|
|
564
|
+
}
|
|
559
565
|
}
|
|
560
566
|
const remove = node.subscribe(function() {
|
|
561
567
|
f(node._value)
|
|
@@ -587,7 +593,7 @@ class RegistryImpl implements AtomRegistry {
|
|
|
587
593
|
this.removeNodeTimeout(node)
|
|
588
594
|
}
|
|
589
595
|
if (typeof key === "string" && this.preloadedSerializable.has(key)) {
|
|
590
|
-
const encoded = this.preloadedSerializable.get(key)
|
|
596
|
+
const encoded = this.preloadedSerializable.get(key) as Schema.Json
|
|
591
597
|
this.preloadedSerializable.delete(key)
|
|
592
598
|
const serializable = (atom as any as Atom.Serializable<any>)[SerializableTypeId]
|
|
593
599
|
let decoded: A
|
|
@@ -842,11 +848,15 @@ class NodeImpl<A> {
|
|
|
842
848
|
}
|
|
843
849
|
|
|
844
850
|
build(): void {
|
|
845
|
-
// a lifetime still attached to a node that needs a value belongs to a
|
|
846
|
-
// build that failed, or to one that is running and is now superseded
|
|
847
|
-
this.disposeLifetime()
|
|
848
|
-
this.invalidatedDuringBuild = false
|
|
849
851
|
const lifetime = makeLifetime(this)
|
|
852
|
+
// release a failed or superseded build; its finalizers run only once, so
|
|
853
|
+
// their failure is rethrown once this build commits
|
|
854
|
+
try {
|
|
855
|
+
this.disposeLifetime()
|
|
856
|
+
} catch (error) {
|
|
857
|
+
lifetime.failure = error
|
|
858
|
+
}
|
|
859
|
+
this.invalidatedDuringBuild = false
|
|
850
860
|
this.lifetime = lifetime
|
|
851
861
|
let value: A
|
|
852
862
|
let read = false
|
|
@@ -1126,7 +1136,8 @@ interface Lifetime<A> extends Atom.AtomContext {
|
|
|
1126
1136
|
readonly node: NodeImpl<A>
|
|
1127
1137
|
// the parents read so far by the build; `undefined` once the build has returned
|
|
1128
1138
|
reads: Set<NodeImpl<any>> | undefined
|
|
1129
|
-
//
|
|
1139
|
+
// rethrown once the build commits: a failure from releasing the previous
|
|
1140
|
+
// lifetime, or from reading a parent that still produced its value
|
|
1130
1141
|
failure: unknown
|
|
1131
1142
|
finalizers: Array<() => void> | undefined
|
|
1132
1143
|
disposed: boolean
|
package/src/rpc/Rpc.ts
CHANGED
|
@@ -363,7 +363,9 @@ export type SuccessExit<R> = Success<R> extends infer T ? T extends Stream<infer
|
|
|
363
363
|
* @category utility types
|
|
364
364
|
* @since 4.0.0
|
|
365
365
|
*/
|
|
366
|
-
export type SuccessChunk<R> =
|
|
366
|
+
export type SuccessChunk<R> = R extends Any ?
|
|
367
|
+
SuccessSchema<R> extends RpcSchema.Stream<infer _A, infer _E> ? _A["Type"] : never
|
|
368
|
+
: never
|
|
367
369
|
|
|
368
370
|
/**
|
|
369
371
|
* Extracts the RPC error schema, including error schemas contributed by
|
package/src/rpc/RpcClient.ts
CHANGED
|
@@ -107,6 +107,15 @@ export declare namespace RpcClient {
|
|
|
107
107
|
{
|
|
108
108
|
readonly headers?: Headers.Input | undefined
|
|
109
109
|
readonly context?: Context.Context<never> | undefined
|
|
110
|
+
/**
|
|
111
|
+
* Completes once the server acknowledges the call as its handler starts,
|
|
112
|
+
* after the middleware has run, instead of waiting for the result. The
|
|
113
|
+
* handler's result and error are not returned, but transport errors,
|
|
114
|
+
* middleware errors and failures before the handler starts still fail the
|
|
115
|
+
* call. Over HTTP and workers the call completes after the handler has
|
|
116
|
+
* finished. A protocol that only delivers requests acknowledges the call
|
|
117
|
+
* itself once it has delivered the request.
|
|
118
|
+
*/
|
|
110
119
|
readonly discard?: Discard | undefined
|
|
111
120
|
}
|
|
112
121
|
) => Current extends Rpc.Rpc<
|
|
@@ -174,6 +183,15 @@ export declare namespace RpcClient {
|
|
|
174
183
|
{
|
|
175
184
|
readonly headers?: Headers.Input | undefined
|
|
176
185
|
readonly context?: Context.Context<never> | undefined
|
|
186
|
+
/**
|
|
187
|
+
* Completes once the server acknowledges the call as its handler starts,
|
|
188
|
+
* after the middleware has run, instead of waiting for the result. The
|
|
189
|
+
* handler's result and error are not returned, but transport errors,
|
|
190
|
+
* middleware errors and failures before the handler starts still fail the
|
|
191
|
+
* call. Over HTTP and workers the call completes after the handler has
|
|
192
|
+
* finished. A protocol that only delivers requests acknowledges the call
|
|
193
|
+
* itself once it has delivered the request.
|
|
194
|
+
*/
|
|
177
195
|
readonly discard?: Discard | undefined
|
|
178
196
|
}
|
|
179
197
|
) => Rpcs extends Rpc.Rpc<
|
|
@@ -242,7 +260,6 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
242
260
|
options: {
|
|
243
261
|
readonly message: FromClient<Rpcs>
|
|
244
262
|
readonly context: Context.Context<never>
|
|
245
|
-
readonly discard: boolean
|
|
246
263
|
}
|
|
247
264
|
) => Effect.Effect<void, E>
|
|
248
265
|
readonly supportsAck?: boolean | undefined
|
|
@@ -266,7 +283,6 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
266
283
|
options: {
|
|
267
284
|
readonly message: FromClient<Rpcs>
|
|
268
285
|
readonly context: Context.Context<never>
|
|
269
|
-
readonly discard: boolean
|
|
270
286
|
}
|
|
271
287
|
) => Effect.Effect<void, E>
|
|
272
288
|
readonly supportsAck?: boolean | undefined
|
|
@@ -384,12 +400,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
384
400
|
}
|
|
385
401
|
const id = generateRequestId()
|
|
386
402
|
const send = middleware(
|
|
387
|
-
(message) =>
|
|
388
|
-
options.onFromClient({
|
|
389
|
-
message,
|
|
390
|
-
context,
|
|
391
|
-
discard
|
|
392
|
-
}),
|
|
403
|
+
(message) => options.onFromClient({ message, context }),
|
|
393
404
|
{
|
|
394
405
|
_tag: "Request",
|
|
395
406
|
id,
|
|
@@ -402,20 +413,27 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
402
413
|
sampled: span.sampled
|
|
403
414
|
} :
|
|
404
415
|
{}),
|
|
405
|
-
headers: Headers.merge(parentFiber.getRef(CurrentHeaders), headers)
|
|
416
|
+
headers: Headers.merge(parentFiber.getRef(CurrentHeaders), headers),
|
|
417
|
+
...(discard ? { discard: true as const } : {})
|
|
406
418
|
}
|
|
407
419
|
)
|
|
408
|
-
if (discard) {
|
|
409
|
-
return send
|
|
410
|
-
}
|
|
411
420
|
let fiber: Fiber.Fiber<any, any>
|
|
412
421
|
return Effect.onInterrupt(
|
|
413
422
|
Effect.callback<any, any>((resume) => {
|
|
423
|
+
let acked = false
|
|
414
424
|
const entry: ClientEntry = {
|
|
415
425
|
_tag: "Effect",
|
|
416
426
|
rpc,
|
|
417
427
|
context,
|
|
418
428
|
resume(exit) {
|
|
429
|
+
if (discard && exit._tag === "Success") {
|
|
430
|
+
// A successful acknowledgement waits for the send to finish, as
|
|
431
|
+
// interrupting the send could cancel the call: an HTTP handler
|
|
432
|
+
// is scoped to its request. Failures complete the call at once.
|
|
433
|
+
acked = true
|
|
434
|
+
if (fiber?.pollUnsafe()) resume(Exit.void)
|
|
435
|
+
return
|
|
436
|
+
}
|
|
419
437
|
resume(exit)
|
|
420
438
|
if (fiber && !fiber.pollUnsafe()) {
|
|
421
439
|
parentFiber.currentDispatcher.scheduleTask(() => {
|
|
@@ -433,6 +451,8 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
433
451
|
if (exit._tag === "Failure") {
|
|
434
452
|
entries.delete(id)
|
|
435
453
|
return resume(exit)
|
|
454
|
+
} else if (acked) {
|
|
455
|
+
return resume(Exit.void)
|
|
436
456
|
}
|
|
437
457
|
})
|
|
438
458
|
}),
|
|
@@ -495,12 +515,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
495
515
|
})
|
|
496
516
|
|
|
497
517
|
yield* middleware(
|
|
498
|
-
(message) =>
|
|
499
|
-
options.onFromClient({
|
|
500
|
-
message,
|
|
501
|
-
context,
|
|
502
|
-
discard: false
|
|
503
|
-
}),
|
|
518
|
+
(message) => options.onFromClient({ message, context }),
|
|
504
519
|
{
|
|
505
520
|
_tag: "Request",
|
|
506
521
|
id,
|
|
@@ -572,8 +587,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
572
587
|
const parentFiber = Fiber.getCurrent()!
|
|
573
588
|
const fiber = options.onFromClient({
|
|
574
589
|
message: { _tag: "Interrupt", requestId, interruptors },
|
|
575
|
-
context
|
|
576
|
-
discard: false
|
|
590
|
+
context
|
|
577
591
|
}).pipe(
|
|
578
592
|
Effect.timeout(1000),
|
|
579
593
|
Effect.runForkWith(parentFiber.context)
|
|
@@ -591,11 +605,12 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
591
605
|
if (!entry || entry._tag !== "Queue") return Effect.void
|
|
592
606
|
return Queue.offerAll(entry.queue, message.values).pipe(
|
|
593
607
|
supportsAck
|
|
594
|
-
? Effect.flatMap(() =>
|
|
595
|
-
|
|
608
|
+
? Effect.flatMap((dropped) =>
|
|
609
|
+
// values are dropped when the queue was shutdown by an interrupted
|
|
610
|
+
// consumer, so the server should not be asked for more
|
|
611
|
+
dropped.length > 0 ? Effect.void : options.onFromClient({
|
|
596
612
|
message: { _tag: "Ack", requestId: message.requestId },
|
|
597
|
-
context: entry.context
|
|
598
|
-
discard: false
|
|
613
|
+
context: entry.context
|
|
599
614
|
})
|
|
600
615
|
)
|
|
601
616
|
: identity,
|
|
@@ -687,6 +702,7 @@ export const make: <Rpcs extends Rpc.Any, const Flatten extends boolean = false>
|
|
|
687
702
|
readonly rpc: Rpc.AnyWithProps
|
|
688
703
|
readonly context: Context.Context<never>
|
|
689
704
|
readonly schemas: RpcSchemas
|
|
705
|
+
readonly discard: boolean
|
|
690
706
|
}
|
|
691
707
|
const entries = new Map<RequestId, ClientEntry>()
|
|
692
708
|
// Completed before the protocol stops running this client, so requests made
|
|
@@ -713,7 +729,8 @@ export const make: <Rpcs extends Rpc.Any, const Flatten extends boolean = false>
|
|
|
713
729
|
const entry: ClientEntry = {
|
|
714
730
|
rpc,
|
|
715
731
|
context: collector ? Context.add(fiber.context, Transferable.Collector, collector) : fiber.context,
|
|
716
|
-
schemas: rpcSchemas(rpc)
|
|
732
|
+
schemas: rpcSchemas(rpc),
|
|
733
|
+
discard: message.discard === true
|
|
717
734
|
}
|
|
718
735
|
entries.set(message.id, entry)
|
|
719
736
|
|
|
@@ -795,7 +812,13 @@ export const make: <Rpcs extends Rpc.Any, const Flatten extends boolean = false>
|
|
|
795
812
|
const entry = entries.get(requestId)
|
|
796
813
|
if (!entry) return Effect.void
|
|
797
814
|
entries.delete(requestId)
|
|
798
|
-
|
|
815
|
+
// the success of a discarded call is its acknowledgement, which has no
|
|
816
|
+
// value, and an older server may send the handler result instead
|
|
817
|
+
if (entry.discard && message.exit._tag === "Success") {
|
|
818
|
+
return write({ _tag: "Exit", clientId: 0, requestId, exit: Exit.void as any })
|
|
819
|
+
}
|
|
820
|
+
const decodeExit = entry.discard ? entry.schemas.decodeDiscardExit : entry.schemas.decodeExit
|
|
821
|
+
return decodeExit(message.exit).pipe(
|
|
799
822
|
Effect.provideContext(entry.context),
|
|
800
823
|
Effect.orDie,
|
|
801
824
|
Effect.matchCauseEffect({
|
|
@@ -811,8 +834,10 @@ export const make: <Rpcs extends Rpc.Any, const Flatten extends boolean = false>
|
|
|
811
834
|
}
|
|
812
835
|
case "ClientProtocolError": {
|
|
813
836
|
const exit = Exit.fail(message.error)
|
|
814
|
-
const requestIds =
|
|
815
|
-
|
|
837
|
+
const requestIds = message.requestIds === undefined
|
|
838
|
+
? Array.from(entries.keys())
|
|
839
|
+
: message.requestIds.map(RequestId).filter((requestId) => entries.has(requestId))
|
|
840
|
+
for (const requestId of requestIds) entries.delete(requestId)
|
|
816
841
|
return Effect.forEach(
|
|
817
842
|
requestIds,
|
|
818
843
|
(requestId) => write({ _tag: "Exit", clientId: 0, requestId, exit: exit as any })
|
|
@@ -839,6 +864,7 @@ interface RpcSchemas {
|
|
|
839
864
|
>
|
|
840
865
|
readonly encodePayload: (payload: any) => Effect.Effect<any, Schema.SchemaError, unknown>
|
|
841
866
|
readonly decodeExit: (encoded: unknown) => Effect.Effect<Exit.Exit<any, any>, Schema.SchemaError, unknown>
|
|
867
|
+
readonly decodeDiscardExit: (encoded: unknown) => Effect.Effect<Exit.Exit<any, any>, Schema.SchemaError, unknown>
|
|
842
868
|
}
|
|
843
869
|
// Codecs are compiled per client, because two protocols can fill the message
|
|
844
870
|
// holes with different codecs.
|
|
@@ -851,6 +877,8 @@ const makeRpcSchemas = (codecFor: RpcSerialization.CodecFor) => {
|
|
|
851
877
|
}
|
|
852
878
|
const streamSchemas = RpcSchema.getStreamSchemas(rpc.successSchema)
|
|
853
879
|
const parseOptions = Context.get(rpc.annotations, Rpc.ParseOptions)
|
|
880
|
+
const exitSchema = Rpc.exitSchema(rpc as any)
|
|
881
|
+
let decodeDiscardExit: RpcSchemas["decodeDiscardExit"] | undefined
|
|
854
882
|
entry = {
|
|
855
883
|
decodeChunk: Option.map(
|
|
856
884
|
streamSchemas,
|
|
@@ -858,7 +886,13 @@ const makeRpcSchemas = (codecFor: RpcSerialization.CodecFor) => {
|
|
|
858
886
|
Schema.decodeUnknownEffect(codecFor(Schema.NonEmptyArray(streamSchemas.success)), parseOptions)
|
|
859
887
|
),
|
|
860
888
|
encodePayload: Schema.encodeEffect(codecFor(rpc.payloadSchema), parseOptions),
|
|
861
|
-
decodeExit: Schema.decodeUnknownEffect(codecFor(
|
|
889
|
+
decodeExit: Schema.decodeUnknownEffect(codecFor(exitSchema), parseOptions),
|
|
890
|
+
// the server encodes the Exits of a discarded call with a void success
|
|
891
|
+
decodeDiscardExit: (encoded) =>
|
|
892
|
+
(decodeDiscardExit ??= Schema.decodeUnknownEffect(
|
|
893
|
+
codecFor(Schema.Exit(Schema.Void, exitSchema.error, exitSchema.defect)),
|
|
894
|
+
parseOptions
|
|
895
|
+
))(encoded)
|
|
862
896
|
}
|
|
863
897
|
cache.set(rpc, entry)
|
|
864
898
|
return entry
|
|
@@ -924,6 +958,16 @@ export const withHeaders: {
|
|
|
924
958
|
* Use to provide the transport boundary for RPC clients over HTTP, WebSocket,
|
|
925
959
|
* workers, sockets, or custom protocols.
|
|
926
960
|
*
|
|
961
|
+
* **Details**
|
|
962
|
+
*
|
|
963
|
+
* A `Request` that `send` accepts stays pending until a reply names its id: an
|
|
964
|
+
* `Exit`, or a `ClientProtocolError` that lists it in `requestIds`. Until then
|
|
965
|
+
* the client keeps the request and the caller's context, unless the caller is
|
|
966
|
+
* interrupted, the client closes or the connection fails. A transport that
|
|
967
|
+
* only delivers requests, such as a message queue, writes a void `Exit` for a
|
|
968
|
+
* `discard` request once the request is delivered, and fails `send` with an
|
|
969
|
+
* `RpcClientError` for any other request.
|
|
970
|
+
*
|
|
927
971
|
* @stability unstable
|
|
928
972
|
* @category services
|
|
929
973
|
* @since 4.0.0
|
|
@@ -1570,21 +1614,26 @@ export const makeProtocolWorker = (
|
|
|
1570
1614
|
undefined
|
|
1571
1615
|
}).pipe(
|
|
1572
1616
|
Effect.tapCause((cause) => {
|
|
1617
|
+
const requestIdsByClient = new Map<number, Array<string | number>>()
|
|
1573
1618
|
for (const [requestId, entry] of entries) {
|
|
1574
1619
|
if (entry.worker !== backing) continue
|
|
1575
1620
|
entries.delete(requestId)
|
|
1576
1621
|
entry.latch.openUnsafe()
|
|
1622
|
+
const requestIds = requestIdsByClient.get(entry.clientId)
|
|
1623
|
+
if (requestIds) requestIds.push(requestId)
|
|
1624
|
+
else requestIdsByClient.set(entry.clientId, [requestId])
|
|
1577
1625
|
}
|
|
1578
|
-
const
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
message: "Error in worker",
|
|
1584
|
-
cause: Cause.squash(cause)
|
|
1585
|
-
})
|
|
1626
|
+
const found = Cause.findError(cause)
|
|
1627
|
+
const error = new RpcClientError({
|
|
1628
|
+
reason: Result.isSuccess(found) ? found.success.reason : new RpcClientDefect({
|
|
1629
|
+
message: "Error in worker",
|
|
1630
|
+
cause: Cause.squash(cause)
|
|
1586
1631
|
})
|
|
1587
1632
|
})
|
|
1633
|
+
return Effect.forEach(
|
|
1634
|
+
requestIdsByClient,
|
|
1635
|
+
([clientId, requestIds]) => writeResponse(clientId, { _tag: "ClientProtocolError", error, requestIds })
|
|
1636
|
+
)
|
|
1588
1637
|
}),
|
|
1589
1638
|
Effect.retry(Schedule.spaced(1000)),
|
|
1590
1639
|
Effect.annotateLogs({
|
|
@@ -1635,7 +1684,14 @@ export const makeProtocolWorker = (
|
|
|
1635
1684
|
Effect.flatMap((worker) => {
|
|
1636
1685
|
const latch = Latch.makeUnsafe(false)
|
|
1637
1686
|
entries.set(request.id, { clientId, worker, latch })
|
|
1638
|
-
|
|
1687
|
+
// the pool counts a worker as busy until the Exit arrives, so a
|
|
1688
|
+
// discarded call is sent without its marker to get the handler Exit
|
|
1689
|
+
let message = request
|
|
1690
|
+
if (request.discard === true) {
|
|
1691
|
+
const { discard: _, ...rest } = request
|
|
1692
|
+
message = rest
|
|
1693
|
+
}
|
|
1694
|
+
return Effect.flatMap(worker.send(message, transferables), () => latch.await)
|
|
1639
1695
|
}),
|
|
1640
1696
|
Effect.scoped,
|
|
1641
1697
|
Effect.orDie
|
package/src/rpc/RpcMessage.ts
CHANGED
|
@@ -62,7 +62,12 @@ export const RequestId = (id: string | number): RequestId => id as RequestId
|
|
|
62
62
|
* **Details**
|
|
63
63
|
*
|
|
64
64
|
* Requests flow in both directions: servers use them for server-originated
|
|
65
|
-
* requests and, with `isNotification` set, for
|
|
65
|
+
* requests and, with `isNotification` set, for requests that get no reply,
|
|
66
|
+
* such as server notifications and inbound JSON-RPC notifications.
|
|
67
|
+
*
|
|
68
|
+
* A client call made with `discard` sets `discard` instead. It keeps its id,
|
|
69
|
+
* and the server acknowledges it with a successful `Exit` once the handler
|
|
70
|
+
* starts, then sends nothing more for it.
|
|
66
71
|
*
|
|
67
72
|
* @stability unstable
|
|
68
73
|
* @category models
|
|
@@ -75,6 +80,7 @@ export interface RequestEncoded {
|
|
|
75
80
|
readonly payload: unknown
|
|
76
81
|
readonly headers: ReadonlyArray<[string, string]>
|
|
77
82
|
readonly isNotification?: true
|
|
83
|
+
readonly discard?: true
|
|
78
84
|
readonly traceId?: string
|
|
79
85
|
readonly spanId?: string
|
|
80
86
|
readonly sampled?: boolean
|
|
@@ -94,6 +100,8 @@ export interface Request<A extends Rpc.Any> {
|
|
|
94
100
|
readonly tag: Rpc.Tag<A>
|
|
95
101
|
readonly payload: Rpc.Payload<A>
|
|
96
102
|
readonly headers: Headers
|
|
103
|
+
readonly isNotification?: true
|
|
104
|
+
readonly discard?: true
|
|
97
105
|
readonly traceId?: string
|
|
98
106
|
readonly spanId?: string
|
|
99
107
|
readonly sampled?: boolean
|
|
@@ -317,8 +325,8 @@ export interface ResponseExitEncoded {
|
|
|
317
325
|
}
|
|
318
326
|
|
|
319
327
|
/**
|
|
320
|
-
* A server-to-client protocol message
|
|
321
|
-
*
|
|
328
|
+
* A server-to-client protocol message failing in-flight requests with a client
|
|
329
|
+
* protocol error: those in `requestIds`, or all of them when it is omitted.
|
|
322
330
|
*
|
|
323
331
|
* @stability unstable
|
|
324
332
|
* @category models
|
|
@@ -327,6 +335,7 @@ export interface ResponseExitEncoded {
|
|
|
327
335
|
export interface ClientProtocolError {
|
|
328
336
|
readonly _tag: "ClientProtocolError"
|
|
329
337
|
readonly error: RpcClientError
|
|
338
|
+
readonly requestIds?: ReadonlyArray<string | number>
|
|
330
339
|
}
|
|
331
340
|
|
|
332
341
|
/**
|
|
@@ -453,6 +462,7 @@ const RequestEncodedSchema = Schema.Struct({
|
|
|
453
462
|
payload: Schema.Uint8Array,
|
|
454
463
|
headers: Schema.Array(Schema.Tuple([Schema.String, Schema.String])),
|
|
455
464
|
isNotification: Schema.optional(Schema.Literal(true)),
|
|
465
|
+
discard: Schema.optional(Schema.Literal(true)),
|
|
456
466
|
traceId: Schema.optional(Schema.String),
|
|
457
467
|
spanId: Schema.optional(Schema.String),
|
|
458
468
|
sampled: Schema.optional(Schema.Boolean)
|
|
@@ -374,6 +374,7 @@ function decodeJsonRpcMessage(
|
|
|
374
374
|
payload: request.params ?? null,
|
|
375
375
|
headers: request.headers ?? [],
|
|
376
376
|
...(Predicate.hasProperty(request, "id") ? {} : { isNotification: true as const }),
|
|
377
|
+
...(request.discard === true ? { discard: true as const } : {}),
|
|
377
378
|
...(request.spanId ?
|
|
378
379
|
{
|
|
379
380
|
traceId: request.traceId,
|
|
@@ -490,6 +491,7 @@ function encodeJsonRpcMessage(response: RpcMessage.FromServerEncoded | RpcMessag
|
|
|
490
491
|
// a JSON-RPC notification is a request without an id
|
|
491
492
|
...(response.isNotification ? {} : { id: response.id }),
|
|
492
493
|
...(response.headers?.length > 0 ? { headers: response.headers } : {}),
|
|
494
|
+
...(response.discard ? { discard: true } : {}),
|
|
493
495
|
traceId: response.traceId,
|
|
494
496
|
spanId: response.spanId,
|
|
495
497
|
sampled: response.sampled
|
|
@@ -560,6 +562,7 @@ interface JsonRpcRequest {
|
|
|
560
562
|
readonly method: string
|
|
561
563
|
readonly params?: unknown
|
|
562
564
|
readonly headers?: ReadonlyArray<[string, string]>
|
|
565
|
+
readonly discard?: true
|
|
563
566
|
readonly traceId?: string
|
|
564
567
|
readonly spanId?: string
|
|
565
568
|
readonly sampled?: boolean
|