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
package/src/http/HttpClient.ts
CHANGED
|
@@ -1335,6 +1335,208 @@ export const retryTransient: {
|
|
|
1335
1335
|
}
|
|
1336
1336
|
)
|
|
1337
1337
|
|
|
1338
|
+
/**
|
|
1339
|
+
* Fails requests that do not receive a response within the given duration.
|
|
1340
|
+
*
|
|
1341
|
+
* **When to use**
|
|
1342
|
+
*
|
|
1343
|
+
* Use to configure a timeout once on the client, for example when providing
|
|
1344
|
+
* the `HttpClient` service, while keeping the standard `HttpClientError` error
|
|
1345
|
+
* model.
|
|
1346
|
+
*
|
|
1347
|
+
* **Details**
|
|
1348
|
+
*
|
|
1349
|
+
* A timed out request is interrupted and fails with an `HttpClientError` whose
|
|
1350
|
+
* reason is a `TransportError` with a `Cause.TimeoutError` cause.
|
|
1351
|
+
* `retryTransient` treats it as transient. Interrupting a request aborts the
|
|
1352
|
+
* underlying transport, unless the request is attached to a scope with
|
|
1353
|
+
* `withScope`, in which case it stays open until the scope closes.
|
|
1354
|
+
*
|
|
1355
|
+
* The timer starts after request preprocessing and covers everything the
|
|
1356
|
+
* wrapped client does to produce a response. For a plain client this ends when
|
|
1357
|
+
* the response headers arrive, but response middleware applied before
|
|
1358
|
+
* `timeout`, such as `tap` or `retryTransient`, runs inside the budget,
|
|
1359
|
+
* including any body reads it performs. Composition order therefore decides
|
|
1360
|
+
* how it interacts with retries: applying `timeout` before `retryTransient`
|
|
1361
|
+
* gives each attempt its own budget, while applying it after bounds the whole
|
|
1362
|
+
* retry loop.
|
|
1363
|
+
*
|
|
1364
|
+
* **Gotchas**
|
|
1365
|
+
*
|
|
1366
|
+
* Body reads outside the timed client are not covered, including those made
|
|
1367
|
+
* by response middleware applied after `timeout` and by consumers of the
|
|
1368
|
+
* `HttpClient` service. Apply a separate timeout to body reads such as
|
|
1369
|
+
* `response.json` or `response.stream` when needed.
|
|
1370
|
+
*
|
|
1371
|
+
* **Example** (Timing out each attempt)
|
|
1372
|
+
*
|
|
1373
|
+
* ```ts
|
|
1374
|
+
* import { Effect, Layer } from "effect"
|
|
1375
|
+
* import { FetchHttpClient, HttpClient } from "effect/http"
|
|
1376
|
+
*
|
|
1377
|
+
* const TimedHttpClient = Layer.effect(
|
|
1378
|
+
* HttpClient.HttpClient,
|
|
1379
|
+
* Effect.map(
|
|
1380
|
+
* HttpClient.HttpClient,
|
|
1381
|
+
* HttpClient.timeout("5 seconds")
|
|
1382
|
+
* )
|
|
1383
|
+
* ).pipe(Layer.provide(FetchHttpClient.layer))
|
|
1384
|
+
*
|
|
1385
|
+
* const program = Effect.gen(function*() {
|
|
1386
|
+
* const client = (yield* HttpClient.HttpClient).pipe(
|
|
1387
|
+
* HttpClient.retryTransient({ times: 3 })
|
|
1388
|
+
* )
|
|
1389
|
+
* return yield* client.get("https://example.com")
|
|
1390
|
+
* }).pipe(Effect.provide(TimedHttpClient))
|
|
1391
|
+
* ```
|
|
1392
|
+
*
|
|
1393
|
+
* @stability unstable
|
|
1394
|
+
* @category error handling
|
|
1395
|
+
* @since 4.1.0
|
|
1396
|
+
*/
|
|
1397
|
+
export const timeout: {
|
|
1398
|
+
/**
|
|
1399
|
+
* Fails requests that do not receive a response within the given duration.
|
|
1400
|
+
*
|
|
1401
|
+
* **When to use**
|
|
1402
|
+
*
|
|
1403
|
+
* Use to configure a timeout once on the client, for example when providing
|
|
1404
|
+
* the `HttpClient` service, while keeping the standard `HttpClientError` error
|
|
1405
|
+
* model.
|
|
1406
|
+
*
|
|
1407
|
+
* **Details**
|
|
1408
|
+
*
|
|
1409
|
+
* A timed out request is interrupted and fails with an `HttpClientError` whose
|
|
1410
|
+
* reason is a `TransportError` with a `Cause.TimeoutError` cause.
|
|
1411
|
+
* `retryTransient` treats it as transient. Interrupting a request aborts the
|
|
1412
|
+
* underlying transport, unless the request is attached to a scope with
|
|
1413
|
+
* `withScope`, in which case it stays open until the scope closes.
|
|
1414
|
+
*
|
|
1415
|
+
* The timer starts after request preprocessing and covers everything the
|
|
1416
|
+
* wrapped client does to produce a response. For a plain client this ends when
|
|
1417
|
+
* the response headers arrive, but response middleware applied before
|
|
1418
|
+
* `timeout`, such as `tap` or `retryTransient`, runs inside the budget,
|
|
1419
|
+
* including any body reads it performs. Composition order therefore decides
|
|
1420
|
+
* how it interacts with retries: applying `timeout` before `retryTransient`
|
|
1421
|
+
* gives each attempt its own budget, while applying it after bounds the whole
|
|
1422
|
+
* retry loop.
|
|
1423
|
+
*
|
|
1424
|
+
* **Gotchas**
|
|
1425
|
+
*
|
|
1426
|
+
* Body reads outside the timed client are not covered, including those made
|
|
1427
|
+
* by response middleware applied after `timeout` and by consumers of the
|
|
1428
|
+
* `HttpClient` service. Apply a separate timeout to body reads such as
|
|
1429
|
+
* `response.json` or `response.stream` when needed.
|
|
1430
|
+
*
|
|
1431
|
+
* **Example** (Timing out each attempt)
|
|
1432
|
+
*
|
|
1433
|
+
* ```ts
|
|
1434
|
+
* import { Effect, Layer } from "effect"
|
|
1435
|
+
* import { FetchHttpClient, HttpClient } from "effect/http"
|
|
1436
|
+
*
|
|
1437
|
+
* const TimedHttpClient = Layer.effect(
|
|
1438
|
+
* HttpClient.HttpClient,
|
|
1439
|
+
* Effect.map(
|
|
1440
|
+
* HttpClient.HttpClient,
|
|
1441
|
+
* HttpClient.timeout("5 seconds")
|
|
1442
|
+
* )
|
|
1443
|
+
* ).pipe(Layer.provide(FetchHttpClient.layer))
|
|
1444
|
+
*
|
|
1445
|
+
* const program = Effect.gen(function*() {
|
|
1446
|
+
* const client = (yield* HttpClient.HttpClient).pipe(
|
|
1447
|
+
* HttpClient.retryTransient({ times: 3 })
|
|
1448
|
+
* )
|
|
1449
|
+
* return yield* client.get("https://example.com")
|
|
1450
|
+
* }).pipe(Effect.provide(TimedHttpClient))
|
|
1451
|
+
* ```
|
|
1452
|
+
*
|
|
1453
|
+
* @stability unstable
|
|
1454
|
+
* @category error handling
|
|
1455
|
+
* @since 4.1.0
|
|
1456
|
+
*/
|
|
1457
|
+
(duration: Duration.Input): <E, R>(self: HttpClient.With<E, R>) => HttpClient.With<E | Error.HttpClientError, R>
|
|
1458
|
+
/**
|
|
1459
|
+
* Fails requests that do not receive a response within the given duration.
|
|
1460
|
+
*
|
|
1461
|
+
* **When to use**
|
|
1462
|
+
*
|
|
1463
|
+
* Use to configure a timeout once on the client, for example when providing
|
|
1464
|
+
* the `HttpClient` service, while keeping the standard `HttpClientError` error
|
|
1465
|
+
* model.
|
|
1466
|
+
*
|
|
1467
|
+
* **Details**
|
|
1468
|
+
*
|
|
1469
|
+
* A timed out request is interrupted and fails with an `HttpClientError` whose
|
|
1470
|
+
* reason is a `TransportError` with a `Cause.TimeoutError` cause.
|
|
1471
|
+
* `retryTransient` treats it as transient. Interrupting a request aborts the
|
|
1472
|
+
* underlying transport, unless the request is attached to a scope with
|
|
1473
|
+
* `withScope`, in which case it stays open until the scope closes.
|
|
1474
|
+
*
|
|
1475
|
+
* The timer starts after request preprocessing and covers everything the
|
|
1476
|
+
* wrapped client does to produce a response. For a plain client this ends when
|
|
1477
|
+
* the response headers arrive, but response middleware applied before
|
|
1478
|
+
* `timeout`, such as `tap` or `retryTransient`, runs inside the budget,
|
|
1479
|
+
* including any body reads it performs. Composition order therefore decides
|
|
1480
|
+
* how it interacts with retries: applying `timeout` before `retryTransient`
|
|
1481
|
+
* gives each attempt its own budget, while applying it after bounds the whole
|
|
1482
|
+
* retry loop.
|
|
1483
|
+
*
|
|
1484
|
+
* **Gotchas**
|
|
1485
|
+
*
|
|
1486
|
+
* Body reads outside the timed client are not covered, including those made
|
|
1487
|
+
* by response middleware applied after `timeout` and by consumers of the
|
|
1488
|
+
* `HttpClient` service. Apply a separate timeout to body reads such as
|
|
1489
|
+
* `response.json` or `response.stream` when needed.
|
|
1490
|
+
*
|
|
1491
|
+
* **Example** (Timing out each attempt)
|
|
1492
|
+
*
|
|
1493
|
+
* ```ts
|
|
1494
|
+
* import { Effect, Layer } from "effect"
|
|
1495
|
+
* import { FetchHttpClient, HttpClient } from "effect/http"
|
|
1496
|
+
*
|
|
1497
|
+
* const TimedHttpClient = Layer.effect(
|
|
1498
|
+
* HttpClient.HttpClient,
|
|
1499
|
+
* Effect.map(
|
|
1500
|
+
* HttpClient.HttpClient,
|
|
1501
|
+
* HttpClient.timeout("5 seconds")
|
|
1502
|
+
* )
|
|
1503
|
+
* ).pipe(Layer.provide(FetchHttpClient.layer))
|
|
1504
|
+
*
|
|
1505
|
+
* const program = Effect.gen(function*() {
|
|
1506
|
+
* const client = (yield* HttpClient.HttpClient).pipe(
|
|
1507
|
+
* HttpClient.retryTransient({ times: 3 })
|
|
1508
|
+
* )
|
|
1509
|
+
* return yield* client.get("https://example.com")
|
|
1510
|
+
* }).pipe(Effect.provide(TimedHttpClient))
|
|
1511
|
+
* ```
|
|
1512
|
+
*
|
|
1513
|
+
* @stability unstable
|
|
1514
|
+
* @category error handling
|
|
1515
|
+
* @since 4.1.0
|
|
1516
|
+
*/
|
|
1517
|
+
<E, R>(self: HttpClient.With<E, R>, duration: Duration.Input): HttpClient.With<E | Error.HttpClientError, R>
|
|
1518
|
+
} = dual(
|
|
1519
|
+
2,
|
|
1520
|
+
<E, R>(self: HttpClient.With<E, R>, duration: Duration.Input): HttpClient.With<E | Error.HttpClientError, R> => {
|
|
1521
|
+
const decoded = Duration.fromInputUnsafe(duration)
|
|
1522
|
+
const description = `timed out after ${Duration.format(decoded)}`
|
|
1523
|
+
return transform(self, (effect, request) =>
|
|
1524
|
+
Effect.timeoutOrElse(effect, {
|
|
1525
|
+
duration: decoded,
|
|
1526
|
+
orElse: () =>
|
|
1527
|
+
Effect.fail(
|
|
1528
|
+
new Error.HttpClientError({
|
|
1529
|
+
reason: new Error.TransportError({
|
|
1530
|
+
request,
|
|
1531
|
+
cause: new Cause.TimeoutError(`Operation ${description}`),
|
|
1532
|
+
description
|
|
1533
|
+
})
|
|
1534
|
+
})
|
|
1535
|
+
)
|
|
1536
|
+
}))
|
|
1537
|
+
}
|
|
1538
|
+
)
|
|
1539
|
+
|
|
1338
1540
|
/**
|
|
1339
1541
|
* Namespace containing configuration types for `withRateLimiter`.
|
|
1340
1542
|
*
|
|
@@ -1680,7 +1882,7 @@ export const withRateLimiter: {
|
|
|
1680
1882
|
* Namespace containing configuration types for `withCircuitBreaker`.
|
|
1681
1883
|
*
|
|
1682
1884
|
* @stability experimental
|
|
1683
|
-
* @since 4.0.
|
|
1885
|
+
* @since 4.0.7
|
|
1684
1886
|
*/
|
|
1685
1887
|
export declare namespace WithCircuitBreaker {
|
|
1686
1888
|
/**
|
|
@@ -1688,7 +1890,7 @@ export declare namespace WithCircuitBreaker {
|
|
|
1688
1890
|
*
|
|
1689
1891
|
* @stability experimental
|
|
1690
1892
|
* @category circuit breaking
|
|
1691
|
-
* @since 4.0.
|
|
1893
|
+
* @since 4.0.7
|
|
1692
1894
|
*/
|
|
1693
1895
|
export interface Options<E, R2 = never> {
|
|
1694
1896
|
/**
|
|
@@ -1703,13 +1905,10 @@ export declare namespace WithCircuitBreaker {
|
|
|
1703
1905
|
readonly key?: string | ((request: HttpClientRequest.HttpClientRequest) => string) | undefined
|
|
1704
1906
|
/**
|
|
1705
1907
|
* Classifies the `Exit` of each request that the breaker admitted.
|
|
1908
|
+
* `context.probe` is `true` when the request is the HalfOpen probe.
|
|
1706
1909
|
* Defaults to `circuitBreakerClassifier`.
|
|
1707
1910
|
*/
|
|
1708
|
-
readonly classify?:
|
|
1709
|
-
| ((
|
|
1710
|
-
exit: Exit.Exit<HttpClientResponse.HttpClientResponse, E>
|
|
1711
|
-
) => CircuitBreaker.Outcome | Effect.Effect<CircuitBreaker.Outcome, never, R2>)
|
|
1712
|
-
| undefined
|
|
1911
|
+
readonly classify?: CircuitBreaker.Classifier<HttpClientResponse.HttpClientResponse, E, R2> | undefined
|
|
1713
1912
|
}
|
|
1714
1913
|
}
|
|
1715
1914
|
|
|
@@ -1830,7 +2029,7 @@ export declare namespace WithCircuitBreaker {
|
|
|
1830
2029
|
*
|
|
1831
2030
|
* @stability experimental
|
|
1832
2031
|
* @category circuit breaking
|
|
1833
|
-
* @since 4.0.
|
|
2032
|
+
* @since 4.0.7
|
|
1834
2033
|
*/
|
|
1835
2034
|
export const withCircuitBreaker: {
|
|
1836
2035
|
/**
|
|
@@ -1950,7 +2149,7 @@ export const withCircuitBreaker: {
|
|
|
1950
2149
|
*
|
|
1951
2150
|
* @stability experimental
|
|
1952
2151
|
* @category circuit breaking
|
|
1953
|
-
* @since 4.0.
|
|
2152
|
+
* @since 4.0.7
|
|
1954
2153
|
*/
|
|
1955
2154
|
<E, R2 = never>(options: WithCircuitBreaker.Options<E, R2>): <R>(
|
|
1956
2155
|
self: HttpClient.With<E, R>
|
|
@@ -2072,7 +2271,7 @@ export const withCircuitBreaker: {
|
|
|
2072
2271
|
*
|
|
2073
2272
|
* @stability experimental
|
|
2074
2273
|
* @category circuit breaking
|
|
2075
|
-
* @since 4.0.
|
|
2274
|
+
* @since 4.0.7
|
|
2076
2275
|
*/
|
|
2077
2276
|
<E, R, R2 = never>(self: HttpClient.With<E, R>, options: WithCircuitBreaker.Options<E, R2>): HttpClient.With<E | CircuitBreaker.CircuitBreakerError, R | R2>
|
|
2078
2277
|
} = dual(2, <E, R, R2>(
|
|
@@ -2120,7 +2319,7 @@ const requestOrigin = (request: HttpClientRequest.HttpClientRequest): string =>
|
|
|
2120
2319
|
*
|
|
2121
2320
|
* @stability experimental
|
|
2122
2321
|
* @category circuit breaking
|
|
2123
|
-
* @since 4.0.
|
|
2322
|
+
* @since 4.0.7
|
|
2124
2323
|
*/
|
|
2125
2324
|
export const circuitBreakerClassifier = <E>(
|
|
2126
2325
|
exit: Exit.Exit<HttpClientResponse.HttpClientResponse, E>
|
|
@@ -2456,12 +2655,20 @@ export const tapRequest: {
|
|
|
2456
2655
|
)
|
|
2457
2656
|
|
|
2458
2657
|
/**
|
|
2459
|
-
* Adds a `Ref` of cookies to the client for handling cookies across
|
|
2658
|
+
* Adds a `Ref` of stored cookies to the client for handling cookies across
|
|
2659
|
+
* requests.
|
|
2460
2660
|
*
|
|
2461
2661
|
* **When to use**
|
|
2462
2662
|
*
|
|
2463
2663
|
* Use to add shared cookie storage to a client so response cookies are retained
|
|
2464
|
-
* and sent by later requests.
|
|
2664
|
+
* and sent by later requests to a matching host, path, and scheme.
|
|
2665
|
+
*
|
|
2666
|
+
* **Details**
|
|
2667
|
+
*
|
|
2668
|
+
* Response cookies are merged into the ref with `Cookies.mergeIntoArray` for
|
|
2669
|
+
* the response URL. Before each request, `Cookies.toRequestCookieHeader` selects
|
|
2670
|
+
* the cookies for the request URL and sets them as the `cookie` header. Expiry
|
|
2671
|
+
* uses the current `Clock`.
|
|
2465
2672
|
*
|
|
2466
2673
|
* @stability unstable
|
|
2467
2674
|
* @category cookies
|
|
@@ -2469,52 +2676,66 @@ export const tapRequest: {
|
|
|
2469
2676
|
*/
|
|
2470
2677
|
export const withCookiesRef: {
|
|
2471
2678
|
/**
|
|
2472
|
-
* Adds a `Ref` of cookies to the client for handling cookies across
|
|
2679
|
+
* Adds a `Ref` of stored cookies to the client for handling cookies across
|
|
2680
|
+
* requests.
|
|
2473
2681
|
*
|
|
2474
2682
|
* **When to use**
|
|
2475
2683
|
*
|
|
2476
2684
|
* Use to add shared cookie storage to a client so response cookies are retained
|
|
2477
|
-
* and sent by later requests.
|
|
2685
|
+
* and sent by later requests to a matching host, path, and scheme.
|
|
2686
|
+
*
|
|
2687
|
+
* **Details**
|
|
2688
|
+
*
|
|
2689
|
+
* Response cookies are merged into the ref with `Cookies.mergeIntoArray` for
|
|
2690
|
+
* the response URL. Before each request, `Cookies.toRequestCookieHeader` selects
|
|
2691
|
+
* the cookies for the request URL and sets them as the `cookie` header. Expiry
|
|
2692
|
+
* uses the current `Clock`.
|
|
2478
2693
|
*
|
|
2479
2694
|
* @stability unstable
|
|
2480
2695
|
* @category cookies
|
|
2481
2696
|
* @since 4.0.0
|
|
2482
2697
|
*/
|
|
2483
|
-
(ref: Ref.Ref<Cookies.
|
|
2698
|
+
(ref: Ref.Ref<ReadonlyArray<Cookies.Cookie>>): <E, R>(self: HttpClient.With<E, R>) => HttpClient.With<E, R>
|
|
2484
2699
|
/**
|
|
2485
|
-
* Adds a `Ref` of cookies to the client for handling cookies across
|
|
2700
|
+
* Adds a `Ref` of stored cookies to the client for handling cookies across
|
|
2701
|
+
* requests.
|
|
2486
2702
|
*
|
|
2487
2703
|
* **When to use**
|
|
2488
2704
|
*
|
|
2489
2705
|
* Use to add shared cookie storage to a client so response cookies are retained
|
|
2490
|
-
* and sent by later requests.
|
|
2706
|
+
* and sent by later requests to a matching host, path, and scheme.
|
|
2707
|
+
*
|
|
2708
|
+
* **Details**
|
|
2709
|
+
*
|
|
2710
|
+
* Response cookies are merged into the ref with `Cookies.mergeIntoArray` for
|
|
2711
|
+
* the response URL. Before each request, `Cookies.toRequestCookieHeader` selects
|
|
2712
|
+
* the cookies for the request URL and sets them as the `cookie` header. Expiry
|
|
2713
|
+
* uses the current `Clock`.
|
|
2491
2714
|
*
|
|
2492
2715
|
* @stability unstable
|
|
2493
2716
|
* @category cookies
|
|
2494
2717
|
* @since 4.0.0
|
|
2495
2718
|
*/
|
|
2496
|
-
<E, R>(self: HttpClient.With<E, R>, ref: Ref.Ref<Cookies.
|
|
2719
|
+
<E, R>(self: HttpClient.With<E, R>, ref: Ref.Ref<ReadonlyArray<Cookies.Cookie>>): HttpClient.With<E, R>
|
|
2497
2720
|
} = dual(
|
|
2498
2721
|
2,
|
|
2499
2722
|
<E, R>(
|
|
2500
2723
|
self: HttpClient.With<E, R>,
|
|
2501
|
-
ref: Ref.Ref<Cookies.
|
|
2724
|
+
ref: Ref.Ref<ReadonlyArray<Cookies.Cookie>>
|
|
2502
2725
|
): HttpClient.With<E, R> =>
|
|
2503
2726
|
makeWith(
|
|
2504
2727
|
(request: Effect.Effect<HttpClientRequest.HttpClientRequest, E, R>) =>
|
|
2505
|
-
Effect.tap(
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
),
|
|
2728
|
+
Effect.tap(self.postprocess(request), (response) => {
|
|
2729
|
+
const now = Fiber.getCurrent()!.getRef(Clock).currentTimeMillisUnsafe()
|
|
2730
|
+
return Ref.update(ref, Cookies.mergeIntoArray(response.url, response.cookies, now))
|
|
2731
|
+
}),
|
|
2509
2732
|
(request) =>
|
|
2510
2733
|
Effect.flatMap(self.preprocess(request), (request) =>
|
|
2511
|
-
Effect.map(
|
|
2512
|
-
|
|
2513
|
-
(cookies)
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
: HttpClientRequest.setHeader(request, "cookie", Cookies.toCookieHeader(cookies))
|
|
2517
|
-
))
|
|
2734
|
+
Effect.map(Ref.get(ref), (cookies) => {
|
|
2735
|
+
const now = Fiber.getCurrent()!.getRef(Clock).currentTimeMillisUnsafe()
|
|
2736
|
+
const header = Cookies.toRequestCookieHeader(cookies, request.url, now)
|
|
2737
|
+
return header === undefined ? request : HttpClientRequest.setHeader(request, "cookie", header)
|
|
2738
|
+
}))
|
|
2518
2739
|
)
|
|
2519
2740
|
)
|
|
2520
2741
|
|
|
@@ -2980,7 +3201,38 @@ class InterruptibleResponse implements HttpClientResponse.HttpClientResponse, Pi
|
|
|
2980
3201
|
}
|
|
2981
3202
|
}
|
|
2982
3203
|
|
|
2983
|
-
|
|
3204
|
+
/**
|
|
3205
|
+
* Returns `true` for an error that `retryTransient` retries by default: a
|
|
3206
|
+
* timeout, a transport error, or a status code error with a transient response.
|
|
3207
|
+
*
|
|
3208
|
+
* **When to use**
|
|
3209
|
+
*
|
|
3210
|
+
* Use to classify failures the same way `retryTransient` does, for example in a
|
|
3211
|
+
* custom retry policy or a circuit breaker.
|
|
3212
|
+
*
|
|
3213
|
+
* **Example** (Classifying client errors)
|
|
3214
|
+
*
|
|
3215
|
+
* ```ts import.meta.vitest
|
|
3216
|
+
* import { Cause } from "effect"
|
|
3217
|
+
* import { HttpClient, HttpClientError, HttpClientRequest } from "effect/http"
|
|
3218
|
+
*
|
|
3219
|
+
* const request = HttpClientRequest.get("https://example.com")
|
|
3220
|
+
* const transportError = new HttpClientError.HttpClientError({
|
|
3221
|
+
* reason: new HttpClientError.TransportError({ request })
|
|
3222
|
+
* })
|
|
3223
|
+
*
|
|
3224
|
+
* HttpClient.isTransientError(transportError) // => true
|
|
3225
|
+
* HttpClient.isTransientError(new Cause.TimeoutError()) // => true
|
|
3226
|
+
* HttpClient.isTransientError(new Error("boom")) // => false
|
|
3227
|
+
* ```
|
|
3228
|
+
*
|
|
3229
|
+
* @see {@link isTransientResponse} for the response statuses it accepts
|
|
3230
|
+
* @see {@link retryTransient} for the retry policy that uses it
|
|
3231
|
+
* @stability unstable
|
|
3232
|
+
* @category predicates
|
|
3233
|
+
* @since 4.1.0
|
|
3234
|
+
*/
|
|
3235
|
+
export const isTransientError = (error: unknown): boolean => Cause.isTimeoutError(error) || isTransientHttpError(error)
|
|
2984
3236
|
|
|
2985
3237
|
const isTransientHttpError = (error: unknown) =>
|
|
2986
3238
|
Error.isHttpClientError(error) &&
|
|
@@ -3014,7 +3266,21 @@ const isTooManyRequestsHttpClientError = (
|
|
|
3014
3266
|
): error is Error.HttpClientError & { readonly reason: Error.StatusCodeError } =>
|
|
3015
3267
|
Error.isHttpClientError(error) && error.reason._tag === "StatusCodeError" && error.reason.response.status === 429
|
|
3016
3268
|
|
|
3017
|
-
|
|
3269
|
+
/**
|
|
3270
|
+
* Returns `true` for a response whose status `retryTransient` retries by
|
|
3271
|
+
* default: 408, 429, 500, 502, 503 or 504.
|
|
3272
|
+
*
|
|
3273
|
+
* **When to use**
|
|
3274
|
+
*
|
|
3275
|
+
* Use to retry the same responses as `retryTransient` in a custom retry policy.
|
|
3276
|
+
*
|
|
3277
|
+
* @see {@link isTransientError} for the matching error predicate
|
|
3278
|
+
* @see {@link retryTransient} for the retry policy that uses it
|
|
3279
|
+
* @stability unstable
|
|
3280
|
+
* @category predicates
|
|
3281
|
+
* @since 4.1.0
|
|
3282
|
+
*/
|
|
3283
|
+
export const isTransientResponse = (response: HttpClientResponse.HttpClientResponse): boolean =>
|
|
3018
3284
|
response.status === 408 ||
|
|
3019
3285
|
response.status === 429 ||
|
|
3020
3286
|
response.status === 500 ||
|
|
@@ -56,7 +56,11 @@ export const isHttpClientRequest = (u: unknown): u is HttpClientRequest => hasPr
|
|
|
56
56
|
*/
|
|
57
57
|
export interface HttpClientRequest extends Inspectable.Inspectable, Pipeable {
|
|
58
58
|
readonly [TypeId]: typeof TypeId
|
|
59
|
-
|
|
59
|
+
/**
|
|
60
|
+
* The request method, which may be a method outside the known `HttpMethod`
|
|
61
|
+
* literals when the request was converted from a Web or server request.
|
|
62
|
+
*/
|
|
63
|
+
readonly method: string
|
|
60
64
|
readonly url: string
|
|
61
65
|
readonly urlParams: UrlParams.UrlParams
|
|
62
66
|
readonly hash: Option.Option<string>
|
|
@@ -126,7 +130,7 @@ const Proto = {
|
|
|
126
130
|
* @since 4.0.0
|
|
127
131
|
*/
|
|
128
132
|
export function makeWith(
|
|
129
|
-
method:
|
|
133
|
+
method: string,
|
|
130
134
|
url: string,
|
|
131
135
|
urlParams: UrlParams.Input,
|
|
132
136
|
hash: Option.Option<string>,
|
|
@@ -1171,7 +1175,7 @@ export interface CompressionOptions {
|
|
|
1171
1175
|
* `Content-Length`. The compressed body does not retain the original lazy text.
|
|
1172
1176
|
* Stream bodies are compressed lazily and have their content length removed.
|
|
1173
1177
|
* They still require a client runtime that supports streaming request bodies
|
|
1174
|
-
* (
|
|
1178
|
+
* (stable Safari and Firefox do not; see `FetchHttpClient.StreamBodyFallback`).
|
|
1175
1179
|
*
|
|
1176
1180
|
* Returns the original request unchanged for empty, FormData, and raw bodies,
|
|
1177
1181
|
* bodies with a known length below `options.minSize`, or requests with any
|
|
@@ -1203,7 +1207,7 @@ export const compressBody: {
|
|
|
1203
1207
|
* `Content-Length`. The compressed body does not retain the original lazy text.
|
|
1204
1208
|
* Stream bodies are compressed lazily and have their content length removed.
|
|
1205
1209
|
* They still require a client runtime that supports streaming request bodies
|
|
1206
|
-
* (
|
|
1210
|
+
* (stable Safari and Firefox do not; see `FetchHttpClient.StreamBodyFallback`).
|
|
1207
1211
|
*
|
|
1208
1212
|
* Returns the original request unchanged for empty, FormData, and raw bodies,
|
|
1209
1213
|
* bodies with a known length below `options.minSize`, or requests with any
|
|
@@ -1235,7 +1239,7 @@ export const compressBody: {
|
|
|
1235
1239
|
* `Content-Length`. The compressed body does not retain the original lazy text.
|
|
1236
1240
|
* Stream bodies are compressed lazily and have their content length removed.
|
|
1237
1241
|
* They still require a client runtime that supports streaming request bodies
|
|
1238
|
-
* (
|
|
1242
|
+
* (stable Safari and Firefox do not; see `FetchHttpClient.StreamBodyFallback`).
|
|
1239
1243
|
*
|
|
1240
1244
|
* Returns the original request unchanged for empty, FormData, and raw bodies,
|
|
1241
1245
|
* bodies with a known length below `options.minSize`, or requests with any
|
|
@@ -1694,16 +1698,15 @@ export function toUrl(self: HttpClientRequest): Option.Option<URL> {
|
|
|
1694
1698
|
* @since 4.0.0
|
|
1695
1699
|
*/
|
|
1696
1700
|
export const fromWeb = (request: globalThis.Request): HttpClientRequest => {
|
|
1697
|
-
const method = request.method.toUpperCase()
|
|
1698
|
-
return modify(empty, {
|
|
1699
|
-
method,
|
|
1701
|
+
const method = request.method.toUpperCase()
|
|
1702
|
+
return modify(makeWith(method, "", UrlParams.empty, Option.none(), Headers.empty, HttpBody.empty), {
|
|
1700
1703
|
url: new URL(request.url),
|
|
1701
1704
|
headers: request.headers,
|
|
1702
1705
|
body: fromWebBody(request, method)
|
|
1703
1706
|
})
|
|
1704
1707
|
}
|
|
1705
1708
|
|
|
1706
|
-
const fromWebBody = (request: globalThis.Request, method:
|
|
1709
|
+
const fromWebBody = (request: globalThis.Request, method: string): HttpBody.HttpBody => {
|
|
1707
1710
|
if (!hasBody(method) || request.body === null) {
|
|
1708
1711
|
return HttpBody.empty
|
|
1709
1712
|
}
|
|
@@ -25,6 +25,7 @@ import * as Headers from "./Headers.ts"
|
|
|
25
25
|
import * as Error from "./HttpClientError.ts"
|
|
26
26
|
import * as HttpClientRequest from "./HttpClientRequest.ts"
|
|
27
27
|
import * as HttpIncomingMessage from "./HttpIncomingMessage.ts"
|
|
28
|
+
import * as internalUrlParams from "./internal/urlParams.ts"
|
|
28
29
|
import { getWebSource, WebSourceSymbol } from "./internal/webResponse.ts"
|
|
29
30
|
import * as UrlParams from "./UrlParams.ts"
|
|
30
31
|
|
|
@@ -454,9 +455,9 @@ class WebHttpClientResponse extends Inspectable.Class implements HttpClientRespo
|
|
|
454
455
|
}
|
|
455
456
|
|
|
456
457
|
get urlParamsBody(): Effect.Effect<UrlParams.UrlParams, Error.HttpClientError> {
|
|
457
|
-
return Effect.flatMap(this.
|
|
458
|
+
return Effect.flatMap(this.arrayBuffer, (bytes) =>
|
|
458
459
|
Effect.try({
|
|
459
|
-
try: () => UrlParams.fromInput(
|
|
460
|
+
try: () => UrlParams.fromInput(internalUrlParams.fromBody(bytes)),
|
|
460
461
|
catch: (cause) =>
|
|
461
462
|
new Error.HttpClientError({
|
|
462
463
|
reason: new Error.DecodeError({
|
package/src/http/HttpMethod.ts
CHANGED
|
@@ -57,12 +57,20 @@ export declare namespace HttpMethod {
|
|
|
57
57
|
/**
|
|
58
58
|
* Returns `true` when a method can carry a request body and narrows it to `HttpMethod.WithBody`.
|
|
59
59
|
*
|
|
60
|
+
* **Details**
|
|
61
|
+
*
|
|
62
|
+
* Methods outside the known `HttpMethod` literals, such as a received
|
|
63
|
+
* `"PROPFIND"`, are treated as capable of carrying a body but are not narrowed.
|
|
64
|
+
*
|
|
60
65
|
* @stability unstable
|
|
61
66
|
* @category guards
|
|
62
67
|
* @since 4.0.0
|
|
63
68
|
*/
|
|
64
|
-
export
|
|
65
|
-
|
|
69
|
+
export function hasBody(method: HttpMethod): method is HttpMethod.WithBody
|
|
70
|
+
export function hasBody(method: string): boolean
|
|
71
|
+
export function hasBody(method: string): boolean {
|
|
72
|
+
return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE"
|
|
73
|
+
}
|
|
66
74
|
|
|
67
75
|
/**
|
|
68
76
|
* Provides a readonly set containing every supported `HttpMethod` literal.
|