effect 4.0.7 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +3 -0
- package/dist/BigDecimal.js.map +1 -1
- package/dist/Channel.d.ts +12 -6
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +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/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/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/Pool.d.ts +51 -0
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +59 -9
- 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 +666 -41
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +650 -0
- 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 +14 -0
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +16 -0
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +8 -3
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +6 -3
- 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/McpServer.d.ts +630 -29
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +562 -116
- 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/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.map +1 -1
- package/dist/ai/index.d.ts +5 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +5 -0
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/internal/mcpCore.js +17 -12
- package/dist/ai/internal/mcpCore.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js +4 -5
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js +4 -5
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js +4 -5
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js +4 -5
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js +18 -10
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
- package/dist/ai/internal/mcpProtocol.js +13 -0
- package/dist/ai/internal/mcpProtocol.js.map +1 -1
- package/dist/ai/internal/mcpRuntime.js +5 -3
- package/dist/ai/internal/mcpRuntime.js.map +1 -1
- package/dist/ai/internal/mcpStatefulRuntime.js +6 -1
- package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
- package/dist/cli/Argument.d.ts +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/Sharding.d.ts.map +1 -1
- package/dist/cluster/Sharding.js +90 -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/crypto/Aead.d.ts +322 -0
- package/dist/crypto/Aead.d.ts.map +1 -0
- package/dist/crypto/Aead.js +331 -0
- package/dist/crypto/Aead.js.map +1 -0
- package/dist/crypto/Cipher.d.ts +235 -0
- package/dist/crypto/Cipher.d.ts.map +1 -0
- package/dist/crypto/Cipher.js +233 -0
- package/dist/crypto/Cipher.js.map +1 -0
- package/dist/crypto/CryptoError.d.ts +212 -0
- package/dist/crypto/CryptoError.d.ts.map +1 -0
- package/dist/crypto/CryptoError.js +202 -0
- package/dist/crypto/CryptoError.js.map +1 -0
- package/dist/crypto/Digest.d.ts +143 -0
- package/dist/crypto/Digest.d.ts.map +1 -0
- package/dist/crypto/Digest.js +146 -0
- package/dist/crypto/Digest.js.map +1 -0
- package/dist/crypto/Kdf.d.ts +220 -0
- package/dist/crypto/Kdf.d.ts.map +1 -0
- package/dist/crypto/Kdf.js +212 -0
- package/dist/crypto/Kdf.js.map +1 -0
- package/dist/crypto/KeyAgreement.d.ts +323 -0
- package/dist/crypto/KeyAgreement.d.ts.map +1 -0
- package/dist/crypto/KeyAgreement.js +303 -0
- package/dist/crypto/KeyAgreement.js.map +1 -0
- package/dist/crypto/KeyFormat.d.ts +309 -0
- package/dist/crypto/KeyFormat.d.ts.map +1 -0
- package/dist/crypto/KeyFormat.js +556 -0
- package/dist/crypto/KeyFormat.js.map +1 -0
- package/dist/crypto/KeyWrap.d.ts +389 -0
- package/dist/crypto/KeyWrap.d.ts.map +1 -0
- package/dist/crypto/KeyWrap.js +381 -0
- package/dist/crypto/KeyWrap.js.map +1 -0
- package/dist/crypto/Mac.d.ts +277 -0
- package/dist/crypto/Mac.d.ts.map +1 -0
- package/dist/crypto/Mac.js +288 -0
- package/dist/crypto/Mac.js.map +1 -0
- package/dist/crypto/SecureRandom.d.ts +340 -0
- package/dist/crypto/SecureRandom.d.ts.map +1 -0
- package/dist/crypto/SecureRandom.js +257 -0
- package/dist/crypto/SecureRandom.js.map +1 -0
- package/dist/crypto/Signature.d.ts +448 -0
- package/dist/crypto/Signature.d.ts.map +1 -0
- package/dist/crypto/Signature.js +484 -0
- package/dist/crypto/Signature.js.map +1 -0
- package/dist/crypto/WebCrypto.d.ts +61 -0
- package/dist/crypto/WebCrypto.d.ts.map +1 -0
- package/dist/crypto/WebCrypto.js +63 -0
- package/dist/crypto/WebCrypto.js.map +1 -0
- package/dist/crypto/index.d.ts +65 -0
- package/dist/crypto/index.d.ts.map +1 -0
- package/dist/crypto/index.js +66 -0
- package/dist/crypto/index.js.map +1 -0
- package/dist/crypto/internal/asymmetric.d.ts +2 -0
- package/dist/crypto/internal/asymmetric.d.ts.map +1 -0
- package/dist/crypto/internal/asymmetric.js +210 -0
- package/dist/crypto/internal/asymmetric.js.map +1 -0
- package/dist/crypto/internal/chacha.d.ts +46 -0
- package/dist/crypto/internal/chacha.d.ts.map +1 -0
- package/dist/crypto/internal/chacha.js +885 -0
- package/dist/crypto/internal/chacha.js.map +1 -0
- package/dist/crypto/internal/der.d.ts +6 -0
- package/dist/crypto/internal/der.d.ts.map +1 -0
- package/dist/crypto/internal/der.js +86 -0
- package/dist/crypto/internal/der.js.map +1 -0
- package/dist/crypto/internal/digest.d.ts +2 -0
- package/dist/crypto/internal/digest.d.ts.map +1 -0
- package/dist/crypto/internal/digest.js +15 -0
- package/dist/crypto/internal/digest.js.map +1 -0
- package/dist/crypto/internal/key.d.ts +2 -0
- package/dist/crypto/internal/key.d.ts.map +1 -0
- package/dist/crypto/internal/key.js +170 -0
- package/dist/crypto/internal/key.js.map +1 -0
- package/dist/crypto/internal/md5.d.ts +39 -0
- package/dist/crypto/internal/md5.d.ts.map +1 -0
- package/dist/crypto/internal/md5.js +179 -0
- package/dist/crypto/internal/md5.js.map +1 -0
- package/dist/crypto/internal/webCrypto.d.ts +2 -0
- package/dist/crypto/internal/webCrypto.d.ts.map +1 -0
- package/dist/crypto/internal/webCrypto.js +111 -0
- package/dist/crypto/internal/webCrypto.js.map +1 -0
- package/dist/encoding/Base64Url.d.ts.map +1 -1
- package/dist/encoding/Base64Url.js +3 -2
- package/dist/encoding/Base64Url.js.map +1 -1
- package/dist/encoding/Csv.d.ts +608 -0
- package/dist/encoding/Csv.d.ts.map +1 -0
- package/dist/encoding/Csv.js +718 -0
- package/dist/encoding/Csv.js.map +1 -0
- package/dist/encoding/Hex.d.ts +3 -2
- package/dist/encoding/Hex.d.ts.map +1 -1
- package/dist/encoding/Hex.js +3 -2
- package/dist/encoding/Hex.js.map +1 -1
- package/dist/encoding/SchemaBinary.d.ts.map +1 -1
- package/dist/encoding/SchemaBinary.js +42 -4
- package/dist/encoding/SchemaBinary.js.map +1 -1
- package/dist/encoding/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 +119 -4
- package/dist/eventlog/EventLog.d.ts.map +1 -1
- package/dist/eventlog/EventLog.js +200 -12
- package/dist/eventlog/EventLog.js.map +1 -1
- package/dist/eventlog/EventLogEncryption.d.ts +41 -4
- package/dist/eventlog/EventLogEncryption.d.ts.map +1 -1
- package/dist/eventlog/EventLogEncryption.js +83 -64
- package/dist/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/eventlog/EventLogMessage.d.ts +279 -0
- package/dist/eventlog/EventLogMessage.d.ts.map +1 -1
- package/dist/eventlog/EventLogMessage.js +217 -1
- package/dist/eventlog/EventLogMessage.js.map +1 -1
- package/dist/eventlog/EventLogRemote.d.ts +200 -28
- package/dist/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/eventlog/EventLogRemote.js +186 -16
- package/dist/eventlog/EventLogRemote.js.map +1 -1
- package/dist/eventlog/EventLogServer.d.ts +3 -0
- package/dist/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/eventlog/EventLogServer.js +18 -10
- package/dist/eventlog/EventLogServer.js.map +1 -1
- package/dist/eventlog/EventLogServerEncrypted.d.ts +326 -5
- package/dist/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/eventlog/EventLogServerEncrypted.js +769 -14
- package/dist/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/eventlog/EventLogSessionAuth.d.ts +5 -3
- package/dist/eventlog/EventLogSessionAuth.d.ts.map +1 -1
- package/dist/eventlog/EventLogSessionAuth.js +41 -64
- package/dist/eventlog/EventLogSessionAuth.js.map +1 -1
- package/dist/eventlog/EventRow.d.ts +4 -0
- package/dist/eventlog/EventRow.d.ts.map +1 -1
- package/dist/eventlog/EventRow.js +12 -2
- package/dist/eventlog/EventRow.js.map +1 -1
- package/dist/eventlog/SqlEventJournal.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/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 +79 -8
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +65 -5
- 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 +6 -17
- 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/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 +53 -0
- 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/effect.js +25 -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 +630 -0
- package/dist/internal/glob.js.map +1 -0
- 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/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/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/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/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.map +1 -1
- package/dist/rpc/RpcClient.d.ts +16 -1
- package/dist/rpc/RpcClient.d.ts.map +1 -1
- package/dist/rpc/RpcClient.js +50 -16
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcMessage.d.ts +10 -1
- package/dist/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/rpc/RpcMessage.js +1 -0
- package/dist/rpc/RpcMessage.js.map +1 -1
- package/dist/rpc/RpcSerialization.d.ts.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 +0 -19
- package/dist/sql/Migrator.d.ts.map +1 -1
- package/dist/sql/Migrator.js +3 -48
- 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.map +1 -1
- package/dist/sql/SqlClient.js +5 -9
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/sql/Statement.d.ts +20 -6
- package/dist/sql/Statement.d.ts.map +1 -1
- package/dist/sql/Statement.js +0 -13
- 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/internal/crypto.js +9 -8
- package/dist/workflow/internal/crypto.js.map +1 -1
- package/package.json +3 -1
- package/src/BigDecimal.ts +3 -0
- 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/FileSystem.ts +65 -4
- package/src/Glob.ts +205 -0
- package/src/Match.ts +127 -0
- package/src/Pool.ts +73 -15
- package/src/Random.ts +3 -3
- package/src/RcMap.ts +5 -1
- package/src/Schedule.ts +26 -3
- package/src/Schema.ts +1189 -62
- package/src/SchemaGetter.ts +27 -11
- package/src/SchemaRepresentation.ts +19 -0
- package/src/SchemaTransformation.ts +8 -3
- 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/McpServer.ts +1269 -286
- package/src/ai/McpTest.ts +380 -0
- package/src/ai/Response.ts +2 -22
- package/src/ai/Tool.ts +27 -8
- package/src/ai/index.ts +6 -0
- package/src/ai/internal/mcpCore.ts +78 -44
- package/src/ai/internal/mcpProtocol/v2024_11_05.ts +4 -7
- package/src/ai/internal/mcpProtocol/v2025_03_26.ts +4 -7
- package/src/ai/internal/mcpProtocol/v2025_06_18.ts +4 -7
- package/src/ai/internal/mcpProtocol/v2025_11_25.ts +4 -7
- package/src/ai/internal/mcpProtocol/v2026_07_28.ts +15 -10
- package/src/ai/internal/mcpProtocol.ts +29 -0
- package/src/ai/internal/mcpRuntime.ts +9 -5
- package/src/ai/internal/mcpStatefulRuntime.ts +14 -2
- package/src/cli/Argument.ts +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/Sharding.ts +93 -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/crypto/Aead.ts +517 -0
- package/src/crypto/Cipher.ts +326 -0
- package/src/crypto/CryptoError.ts +242 -0
- package/src/crypto/Digest.ts +167 -0
- package/src/crypto/Kdf.ts +315 -0
- package/src/crypto/KeyAgreement.ts +489 -0
- package/src/crypto/KeyFormat.ts +712 -0
- package/src/crypto/KeyWrap.ts +639 -0
- package/src/crypto/Mac.ts +386 -0
- package/src/crypto/SecureRandom.ts +459 -0
- package/src/crypto/Signature.ts +673 -0
- package/src/crypto/WebCrypto.ts +64 -0
- package/src/crypto/index.ts +78 -0
- package/src/crypto/internal/asymmetric.ts +329 -0
- package/src/crypto/internal/chacha.ts +1088 -0
- package/src/crypto/internal/der.ts +110 -0
- package/src/crypto/internal/digest.ts +16 -0
- package/src/crypto/internal/key.ts +235 -0
- package/src/crypto/internal/md5.ts +170 -0
- package/src/crypto/internal/webCrypto.ts +150 -0
- package/src/encoding/Base64Url.ts +5 -2
- package/src/encoding/Csv.ts +1298 -0
- package/src/encoding/Hex.ts +3 -2
- package/src/encoding/SchemaBinary.ts +40 -4
- package/src/encoding/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 +340 -15
- package/src/eventlog/EventLogEncryption.ts +118 -110
- package/src/eventlog/EventLogMessage.ts +273 -1
- package/src/eventlog/EventLogRemote.ts +367 -23
- package/src/eventlog/EventLogServer.ts +23 -8
- package/src/eventlog/EventLogServerEncrypted.ts +1130 -67
- package/src/eventlog/EventLogSessionAuth.ts +56 -70
- package/src/eventlog/EventRow.ts +12 -3
- package/src/eventlog/SqlEventJournal.ts +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/http/Cookies.ts +281 -1
- package/src/http/FetchHttpClient.ts +88 -16
- package/src/http/HttpClient.ts +89 -22
- 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 +15 -30
- 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/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 +105 -14
- package/src/index.ts +6 -6
- package/src/internal/effect.ts +34 -18
- package/src/internal/glob.ts +736 -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/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/observability/Otlp.ts +21 -4
- package/src/observability/OtlpResource.ts +9 -1
- package/src/persistence/KeyValueStore.ts +219 -22
- package/src/persistence/PersistedQueue.ts +128 -59
- package/src/persistence/Persistence.ts +20 -13
- 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 +1 -1
- package/src/rpc/RpcClient.ts +62 -26
- package/src/rpc/RpcMessage.ts +10 -1
- 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 +4 -63
- package/src/sql/MigratorFileSystem.ts +71 -0
- package/src/sql/SqlClient.ts +2 -16
- package/src/sql/Statement.ts +8 -7
- package/src/sql/index.ts +1 -1
- package/src/testing/index.ts +0 -6
- package/src/workflow/internal/crypto.ts +15 -11
- package/dist/Crypto.d.ts +0 -244
- package/dist/Crypto.d.ts.map +0 -1
- package/dist/Crypto.js +0 -139
- package/dist/Crypto.js.map +0 -1
- package/dist/testing/TestCrypto.d.ts +0 -73
- package/dist/testing/TestCrypto.d.ts.map +0 -1
- package/dist/testing/TestCrypto.js +0 -87
- package/dist/testing/TestCrypto.js.map +0 -1
- package/src/Crypto.ts +0 -347
- package/src/testing/TestCrypto.ts +0 -94
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyValueStore.js","names":[],"sources":["../../src/persistence/KeyValueStore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"KeyValueStore.js","names":[],"sources":["../../src/persistence/KeyValueStore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -331,6 +331,15 @@ export declare const layerStoreMemory: Layer.Layer<PersistedQueueStore>;
|
|
|
331
331
|
* queue. Delayed offers share the retry sorted set: they are scored with the
|
|
332
332
|
* offering process's clock and released by the polling worker's clock, so
|
|
333
333
|
* clock skew between hosts shifts their delivery.
|
|
334
|
+
* A handler whose lock lapsed can still settle or renew its claim until a
|
|
335
|
+
* reset recovers the element.
|
|
336
|
+
*
|
|
337
|
+
* **Gotchas**
|
|
338
|
+
*
|
|
339
|
+
* The lock format is incompatible with older workers on the same prefix: their
|
|
340
|
+
* settlements are not fenced and can corrupt newer claims. Stop every old
|
|
341
|
+
* worker and let its locks expire before starting upgraded workers. Keep the
|
|
342
|
+
* existing Redis data rather than flushing it.
|
|
334
343
|
*
|
|
335
344
|
* @stability unstable
|
|
336
345
|
* @category constructors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersistedQueue.d.ts","sourceRoot":"","sources":["../../src/persistence/PersistedQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAEpC,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"PersistedQueue.d.ts","sourceRoot":"","sources":["../../src/persistence/PersistedQueue.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
import * as Cause from "../Cause.js";
|
|
18
18
|
import * as Clock from "../Clock.js";
|
|
19
19
|
import * as Context from "../Context.js";
|
|
20
|
+
import * as SecureRandom from "../crypto/SecureRandom.js";
|
|
20
21
|
import * as Duration from "../Duration.js";
|
|
21
22
|
import * as Effect from "../Effect.js";
|
|
22
23
|
import { flow } from "../Function.js";
|
|
@@ -125,7 +126,7 @@ export const makeFactory = /*#__PURE__*/Effect.gen(function* () {
|
|
|
125
126
|
return Effect.succeed({
|
|
126
127
|
[TypeId]: TypeId,
|
|
127
128
|
offer: (value, opts) => Effect.suspend(() => {
|
|
128
|
-
const id = opts?.id ??
|
|
129
|
+
const id = opts?.id ?? SecureRandom.uuidV4Unsafe();
|
|
129
130
|
const delay = positiveDelay(opts?.delay);
|
|
130
131
|
if (delay !== undefined && !Duration.isFinite(delay)) {
|
|
131
132
|
return Effect.succeed(id);
|
|
@@ -420,6 +421,15 @@ export const layerStoreMemory = /*#__PURE__*/Layer.effect(PersistedQueueStore, /
|
|
|
420
421
|
* queue. Delayed offers share the retry sorted set: they are scored with the
|
|
421
422
|
* offering process's clock and released by the polling worker's clock, so
|
|
422
423
|
* clock skew between hosts shifts their delivery.
|
|
424
|
+
* A handler whose lock lapsed can still settle or renew its claim until a
|
|
425
|
+
* reset recovers the element.
|
|
426
|
+
*
|
|
427
|
+
* **Gotchas**
|
|
428
|
+
*
|
|
429
|
+
* The lock format is incompatible with older workers on the same prefix: their
|
|
430
|
+
* settlements are not fenced and can corrupt newer claims. Stop every old
|
|
431
|
+
* worker and let its locks expire before starting upgraded workers. Keep the
|
|
432
|
+
* existing Redis data rather than flushing it.
|
|
423
433
|
*
|
|
424
434
|
* @stability unstable
|
|
425
435
|
* @category constructors
|
|
@@ -432,16 +442,15 @@ export const makeStoreRedis = /*#__PURE__*/Effect.fnUntraced(function* (options)
|
|
|
432
442
|
const lockRefreshMillis = Math.max(options?.lockRefreshInterval ? Duration.toMillis(Duration.fromInputUnsafe(options.lockRefreshInterval)) : 30_000, 1);
|
|
433
443
|
const lockExpirationMillis = Math.max(options?.lockExpiration ? Duration.toMillis(Duration.fromInputUnsafe(options.lockExpiration)) : 90_000, 1);
|
|
434
444
|
const prefix = options?.prefix ?? "effectq:";
|
|
435
|
-
const keyLock = id => `${prefix}${id}:lock`;
|
|
436
445
|
const keysFor = name => ({
|
|
437
446
|
queue: `${prefix}${name}`,
|
|
438
447
|
pending: `${prefix}${name}:pending`,
|
|
439
448
|
failed: `${prefix}${name}:failed`,
|
|
440
449
|
delayed: `${prefix}${name}:delayed`,
|
|
441
450
|
attempts: `${prefix}${name}:attempts`,
|
|
442
|
-
ids: `${prefix}${name}:ids
|
|
451
|
+
ids: `${prefix}${name}:ids`,
|
|
452
|
+
owners: `${prefix}${name}:owners`
|
|
443
453
|
});
|
|
444
|
-
const workerId = crypto.randomUUID();
|
|
445
454
|
const ackRetrySchedule = makeAckRetrySchedule(lockExpirationMillis);
|
|
446
455
|
const requeue = redis.eval(requeueRedis);
|
|
447
456
|
const complete = redis.eval(completeRedis);
|
|
@@ -462,12 +471,12 @@ export const makeStoreRedis = /*#__PURE__*/Effect.fnUntraced(function* (options)
|
|
|
462
471
|
const pollLatch = Latch.makeUnsafe();
|
|
463
472
|
const takenLatch = Latch.makeUnsafe();
|
|
464
473
|
const state = queueStates.get(name);
|
|
465
|
-
yield* Effect.addFinalizer(() => Effect.orDie(Effect.flatMap(Queue.clear(queue), elements => Effect.forEach(elements, element => requeue(keys.queue, keys.pending,
|
|
474
|
+
yield* Effect.addFinalizer(() => Effect.orDie(Effect.flatMap(Queue.clear(queue), elements => Effect.forEach(elements, element => requeue(keys.queue, keys.pending, element.lock, keys.attempts, keys.owners, element.id, element.payload), {
|
|
466
475
|
concurrency: "unbounded",
|
|
467
476
|
discard: true
|
|
468
477
|
}))));
|
|
469
|
-
yield* Effect.suspend(() => resetQueue(keys.queue, keys.pending, keys.attempts, keys.failed, keys.ids,
|
|
470
|
-
const poll = size => Effect.suspend(() => take(keys.queue, keys.pending, keys.delayed, keys.attempts,
|
|
478
|
+
yield* Effect.suspend(() => resetQueue(keys.queue, keys.pending, keys.attempts, keys.failed, keys.ids, keys.owners, state.maxAttempts, clock.currentTimeMillisUnsafe())).pipe(Effect.andThen(Effect.sleep(lockRefreshMillis)), Effect.forever, Effect.forkScoped);
|
|
479
|
+
const poll = size => Effect.suspend(() => take(keys.queue, keys.pending, keys.delayed, keys.attempts, keys.owners, `${prefix}lock:${SecureRandom.uuidV4Unsafe()}:`, size, lockExpirationMillis, clock.currentTimeMillisUnsafe()));
|
|
471
480
|
yield* Effect.gen(function* () {
|
|
472
481
|
while (true) {
|
|
473
482
|
yield* pollLatch.await;
|
|
@@ -480,14 +489,15 @@ export const makeStoreRedis = /*#__PURE__*/Effect.fnUntraced(function* (options)
|
|
|
480
489
|
}
|
|
481
490
|
takenLatch.closeUnsafe();
|
|
482
491
|
const elements = [];
|
|
483
|
-
for (let i = 0; i < results.length; i +=
|
|
492
|
+
for (let i = 0; i < results.length; i += 3) {
|
|
484
493
|
const payload = results[i];
|
|
485
494
|
const parsed = JSON.parse(payload);
|
|
486
495
|
elements.push({
|
|
487
496
|
id: parsed.id,
|
|
488
497
|
element: parsed.element,
|
|
489
498
|
attempts: Number(results[i + 1]),
|
|
490
|
-
payload
|
|
499
|
+
payload,
|
|
500
|
+
lock: results[i + 2]
|
|
491
501
|
});
|
|
492
502
|
}
|
|
493
503
|
yield* Queue.offerAll(queue, elements);
|
|
@@ -504,11 +514,11 @@ export const makeStoreRedis = /*#__PURE__*/Effect.fnUntraced(function* (options)
|
|
|
504
514
|
}),
|
|
505
515
|
idleTimeToLive: Duration.seconds(30)
|
|
506
516
|
});
|
|
507
|
-
const
|
|
517
|
+
const activeLocks = new Map();
|
|
508
518
|
yield* Effect.gen(function* () {
|
|
509
519
|
while (true) {
|
|
510
520
|
yield* Effect.sleep(lockRefreshMillis);
|
|
511
|
-
yield* Effect.ignore(expireAll(
|
|
521
|
+
yield* Effect.ignore(expireAll(activeLocks, lockExpirationMillis));
|
|
512
522
|
}
|
|
513
523
|
}).pipe(Effect.forkScoped, Effect.interruptible, Effect.annotateLogs({
|
|
514
524
|
module: "effect/persistence/PersistedQueue",
|
|
@@ -582,16 +592,19 @@ export const makeStoreRedis = /*#__PURE__*/Effect.fnUntraced(function* (options)
|
|
|
582
592
|
}));
|
|
583
593
|
}), Effect.scoped, Effect.tap(element => {
|
|
584
594
|
const keys = keysFor(options.name);
|
|
585
|
-
const lock =
|
|
586
|
-
|
|
587
|
-
|
|
595
|
+
const lock = element.lock;
|
|
596
|
+
activeLocks.set(lock, {
|
|
597
|
+
owners: keys.owners,
|
|
598
|
+
id: element.id
|
|
599
|
+
});
|
|
600
|
+
const ack = effect => effect.pipe(Effect.retry(ackRetrySchedule), Effect.orDie, Effect.ensuring(Effect.sync(() => activeLocks.delete(lock))));
|
|
588
601
|
return Effect.addFinalizer(exit => Effect.suspend(() => {
|
|
589
602
|
const now = clock.currentTimeMillisUnsafe();
|
|
590
603
|
if (exit._tag === "Success") {
|
|
591
|
-
return ack(complete(keys.pending, lock, keys.attempts, keys.ids, element.id, now));
|
|
604
|
+
return ack(complete(keys.pending, lock, keys.attempts, keys.ids, keys.owners, element.id, now));
|
|
592
605
|
}
|
|
593
606
|
const dead = deadLetterFromCause(exit.cause);
|
|
594
|
-
const failElement = cause => ack(failed(keys.pending, lock, keys.failed, keys.attempts, keys.ids, element.id, JSON.stringify({
|
|
607
|
+
const failElement = cause => ack(failed(keys.pending, lock, keys.failed, keys.attempts, keys.ids, keys.owners, element.id, JSON.stringify({
|
|
595
608
|
id: element.id,
|
|
596
609
|
element: element.element,
|
|
597
610
|
attempts: element.attempts,
|
|
@@ -602,12 +615,12 @@ export const makeStoreRedis = /*#__PURE__*/Effect.fnUntraced(function* (options)
|
|
|
602
615
|
return failElement(dead.cause);
|
|
603
616
|
}
|
|
604
617
|
if (Cause.hasInterruptsOnly(exit.cause)) {
|
|
605
|
-
return ack(requeue(keys.queue, keys.pending, lock, keys.attempts, element.id, element.payload));
|
|
618
|
+
return ack(requeue(keys.queue, keys.pending, lock, keys.attempts, keys.owners, element.id, element.payload));
|
|
606
619
|
}
|
|
607
620
|
if (element.attempts >= options.maxAttempts) {
|
|
608
621
|
return failElement(exit.cause);
|
|
609
622
|
}
|
|
610
|
-
return Effect.flatMap(options.retryDelay(element.attempts), delay => ack(retry(keys.pending, lock, keys.delayed, element.id, element.payload, now + Duration.toMillis(delay))));
|
|
623
|
+
return Effect.flatMap(options.retryDelay(element.attempts), delay => ack(retry(keys.pending, lock, keys.delayed, keys.owners, element.id, element.payload, now + Duration.toMillis(delay))));
|
|
611
624
|
}));
|
|
612
625
|
}));
|
|
613
626
|
}),
|
|
@@ -680,17 +693,17 @@ local key_pending = KEYS[2]
|
|
|
680
693
|
local key_attempts = KEYS[3]
|
|
681
694
|
local key_failed = KEYS[4]
|
|
682
695
|
local key_ids = KEYS[5]
|
|
683
|
-
local
|
|
684
|
-
local max_attempts = tonumber(ARGV[
|
|
685
|
-
local now = ARGV[
|
|
696
|
+
local key_owners = KEYS[6]
|
|
697
|
+
local max_attempts = tonumber(ARGV[1])
|
|
698
|
+
local now = ARGV[2]
|
|
686
699
|
|
|
687
700
|
local entries = redis.call("HGETALL", key_pending)
|
|
701
|
+
-- recovery revokes ownership, so late settlements from the old claim are no-ops
|
|
688
702
|
for i = 1, #entries, 2 do
|
|
689
703
|
local id = entries[i]
|
|
690
704
|
local payload = entries[i + 1]
|
|
691
|
-
local
|
|
692
|
-
|
|
693
|
-
if exists == 0 then
|
|
705
|
+
local key_lock = redis.call("HGET", key_owners, id)
|
|
706
|
+
if not key_lock or redis.call("EXISTS", key_lock) == 0 then
|
|
694
707
|
local attempts = tonumber(redis.call("HGET", key_attempts, id) or "0")
|
|
695
708
|
if attempts >= max_attempts then
|
|
696
709
|
-- compose the failed record by hand so the element payload does not go
|
|
@@ -705,30 +718,41 @@ for i = 1, #entries, 2 do
|
|
|
705
718
|
else
|
|
706
719
|
redis.call("RPUSH", key_queue, payload)
|
|
707
720
|
end
|
|
721
|
+
redis.call("HDEL", key_owners, id)
|
|
708
722
|
redis.call("HDEL", key_pending, id)
|
|
709
723
|
end
|
|
710
724
|
end
|
|
711
725
|
`,
|
|
712
|
-
numberOfKeys:
|
|
726
|
+
numberOfKeys: 6
|
|
713
727
|
});
|
|
728
|
+
// Settlements are fenced on the acquisition's lock key, so a handler whose claim
|
|
729
|
+
// was recovered cannot release a newer claim on the same id.
|
|
730
|
+
const releaseClaimLua = `if redis.call("HGET", key_owners, id) ~= key_lock then
|
|
731
|
+
return 0
|
|
732
|
+
end
|
|
733
|
+
|
|
734
|
+
redis.call("HDEL", key_owners, id)
|
|
735
|
+
redis.call("DEL", key_lock)
|
|
736
|
+
redis.call("HDEL", key_pending, id)
|
|
737
|
+
`;
|
|
714
738
|
const requeueRedis = /*#__PURE__*/Redis.script((...args) => args, {
|
|
715
739
|
lua: `
|
|
716
740
|
local key_queue = KEYS[1]
|
|
717
741
|
local key_pending = KEYS[2]
|
|
718
742
|
local key_lock = KEYS[3]
|
|
719
743
|
local key_attempts = KEYS[4]
|
|
744
|
+
local key_owners = KEYS[5]
|
|
720
745
|
local id = ARGV[1]
|
|
721
746
|
local payload = ARGV[2]
|
|
722
747
|
|
|
723
|
-
|
|
724
|
-
redis.call("HDEL", key_pending, id)
|
|
748
|
+
${releaseClaimLua}
|
|
725
749
|
local attempts = redis.call("HINCRBY", key_attempts, id, -1)
|
|
726
750
|
if attempts <= 0 then
|
|
727
751
|
redis.call("HDEL", key_attempts, id)
|
|
728
752
|
end
|
|
729
753
|
redis.call("RPUSH", key_queue, payload)
|
|
730
754
|
`,
|
|
731
|
-
numberOfKeys:
|
|
755
|
+
numberOfKeys: 5
|
|
732
756
|
});
|
|
733
757
|
const completeRedis = /*#__PURE__*/Redis.script((...args) => args, {
|
|
734
758
|
lua: `
|
|
@@ -736,30 +760,30 @@ local key_pending = KEYS[1]
|
|
|
736
760
|
local key_lock = KEYS[2]
|
|
737
761
|
local key_attempts = KEYS[3]
|
|
738
762
|
local key_ids = KEYS[4]
|
|
763
|
+
local key_owners = KEYS[5]
|
|
739
764
|
local id = ARGV[1]
|
|
740
765
|
local now = ARGV[2]
|
|
741
766
|
|
|
742
|
-
|
|
743
|
-
redis.call("HDEL", key_pending, id)
|
|
767
|
+
${releaseClaimLua}
|
|
744
768
|
redis.call("HDEL", key_attempts, id)
|
|
745
769
|
redis.call("ZADD", key_ids, "XX", now, id)
|
|
746
770
|
`,
|
|
747
|
-
numberOfKeys:
|
|
771
|
+
numberOfKeys: 5
|
|
748
772
|
});
|
|
749
773
|
const retryRedis = /*#__PURE__*/Redis.script((...args) => args, {
|
|
750
774
|
lua: `
|
|
751
775
|
local key_pending = KEYS[1]
|
|
752
776
|
local key_lock = KEYS[2]
|
|
753
777
|
local key_delayed = KEYS[3]
|
|
778
|
+
local key_owners = KEYS[4]
|
|
754
779
|
local id = ARGV[1]
|
|
755
780
|
local payload = ARGV[2]
|
|
756
781
|
local visible_at = ARGV[3]
|
|
757
782
|
|
|
758
|
-
|
|
759
|
-
redis.call("HDEL", key_pending, id)
|
|
783
|
+
${releaseClaimLua}
|
|
760
784
|
redis.call("ZADD", key_delayed, visible_at, payload)
|
|
761
785
|
`,
|
|
762
|
-
numberOfKeys:
|
|
786
|
+
numberOfKeys: 4
|
|
763
787
|
});
|
|
764
788
|
const failedRedis = /*#__PURE__*/Redis.script((...args) => args, {
|
|
765
789
|
lua: `
|
|
@@ -768,18 +792,18 @@ local key_lock = KEYS[2]
|
|
|
768
792
|
local key_failed = KEYS[3]
|
|
769
793
|
local key_attempts = KEYS[4]
|
|
770
794
|
local key_ids = KEYS[5]
|
|
795
|
+
local key_owners = KEYS[6]
|
|
771
796
|
local id = ARGV[1]
|
|
772
797
|
local payload = ARGV[2]
|
|
773
798
|
|
|
774
|
-
|
|
775
|
-
redis.call("HDEL", key_pending, id)
|
|
799
|
+
${releaseClaimLua}
|
|
776
800
|
redis.call("HDEL", key_attempts, id)
|
|
777
801
|
redis.call("RPUSH", key_failed, payload)
|
|
778
802
|
-- failed ids keep their dedupe entry until failedTimeToLive removes the
|
|
779
803
|
-- dead-letter record, so park them outside the timeToLive trim range
|
|
780
804
|
redis.call("ZADD", key_ids, "XX", "+inf", id)
|
|
781
805
|
`,
|
|
782
|
-
numberOfKeys:
|
|
806
|
+
numberOfKeys: 6
|
|
783
807
|
});
|
|
784
808
|
// Every record starts with {"id":"...". Decode only the id, since Redis cjson
|
|
785
809
|
// rejects lone UTF-16 surrogates that JSON.stringify can emit in the element.
|
|
@@ -807,11 +831,11 @@ local key_queue = KEYS[1]
|
|
|
807
831
|
local key_pending = KEYS[2]
|
|
808
832
|
local key_delayed = KEYS[3]
|
|
809
833
|
local key_attempts = KEYS[4]
|
|
810
|
-
local
|
|
811
|
-
local
|
|
812
|
-
local batch_size = tonumber(ARGV[
|
|
813
|
-
local pttl = ARGV[
|
|
814
|
-
local now = ARGV[
|
|
834
|
+
local key_owners = KEYS[5]
|
|
835
|
+
local lock_prefix = ARGV[1]
|
|
836
|
+
local batch_size = tonumber(ARGV[2])
|
|
837
|
+
local pttl = ARGV[3]
|
|
838
|
+
local now = ARGV[4]
|
|
815
839
|
|
|
816
840
|
${queueRecordIdRedis}
|
|
817
841
|
|
|
@@ -838,24 +862,42 @@ redis.call("LTRIM", key_queue, #payloads, -1)
|
|
|
838
862
|
local result = {}
|
|
839
863
|
for i, id in ipairs(ids) do
|
|
840
864
|
local payload = payloads[i]
|
|
841
|
-
|
|
842
|
-
|
|
865
|
+
-- the lock key is unique per acquisition and doubles as the ownership token
|
|
866
|
+
local key_lock = lock_prefix .. i
|
|
867
|
+
redis.call("SET", key_lock, 1, "PX", pttl)
|
|
868
|
+
redis.call("HSET", key_owners, id, key_lock)
|
|
843
869
|
redis.call("HSET", key_pending, id, payload)
|
|
844
870
|
local attempts = redis.call("HINCRBY", key_attempts, id, 1)
|
|
845
|
-
result[i *
|
|
846
|
-
result[i *
|
|
871
|
+
result[i * 3 - 2] = payload
|
|
872
|
+
result[i * 3 - 1] = attempts
|
|
873
|
+
result[i * 3] = key_lock
|
|
847
874
|
end
|
|
848
875
|
|
|
849
876
|
return result
|
|
850
877
|
`,
|
|
851
|
-
numberOfKeys:
|
|
878
|
+
numberOfKeys: 5
|
|
852
879
|
}).withReturnType();
|
|
853
|
-
const expireAllRedis = /*#__PURE__*/Redis.script((
|
|
854
|
-
|
|
880
|
+
const expireAllRedis = /*#__PURE__*/Redis.script((claims, ttl) => {
|
|
881
|
+
const keys = [];
|
|
882
|
+
const ids = [];
|
|
883
|
+
for (const [lock, {
|
|
884
|
+
id,
|
|
885
|
+
owners
|
|
886
|
+
}] of claims) {
|
|
887
|
+
keys.push(lock, owners);
|
|
888
|
+
ids.push(id);
|
|
889
|
+
}
|
|
890
|
+
return [...keys, ttl, ...ids];
|
|
891
|
+
}, {
|
|
892
|
+
numberOfKeys: claims => claims.size * 2,
|
|
855
893
|
lua: `
|
|
856
894
|
local ttl = ARGV[1]
|
|
857
|
-
|
|
858
|
-
|
|
895
|
+
-- a lapsed lock can be recreated only while the claim has not been recovered
|
|
896
|
+
for i = 2, #ARGV do
|
|
897
|
+
local key_lock = KEYS[i * 2 - 3]
|
|
898
|
+
if redis.call("HGET", KEYS[i * 2 - 2], ARGV[i]) == key_lock then
|
|
899
|
+
redis.call("SET", key_lock, 1, "PX", ttl)
|
|
900
|
+
end
|
|
859
901
|
end
|
|
860
902
|
`
|
|
861
903
|
});
|
|
@@ -1184,7 +1226,7 @@ export const makeStoreSql = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
1184
1226
|
yield* pollLatch.await;
|
|
1185
1227
|
yield* Effect.yieldNow;
|
|
1186
1228
|
nudge.closeUnsafe();
|
|
1187
|
-
const lock =
|
|
1229
|
+
const lock = SecureRandom.uuidV4Unsafe();
|
|
1188
1230
|
const results = takers.current === 0 ? [] : yield* poll(takers.current, stringLiteral(lock));
|
|
1189
1231
|
if (results.length === 0) {
|
|
1190
1232
|
yield* Effect.race(Effect.sleep(pollInterval), nudge.await);
|