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
package/dist/internal/version.js
CHANGED
|
@@ -14,6 +14,7 @@ import type * as Headers from "../http/Headers.ts";
|
|
|
14
14
|
import type * as HttpClient from "../http/HttpClient.ts";
|
|
15
15
|
import * as Layer from "../Layer.ts";
|
|
16
16
|
import type * as Tracer from "../Tracer.ts";
|
|
17
|
+
import type * as OtlpExporter from "./OtlpExporter.ts";
|
|
17
18
|
import type { AggregationTemporality } from "./OtlpMetrics.ts";
|
|
18
19
|
import * as OtlpSerialization from "./OtlpSerialization.ts";
|
|
19
20
|
/**
|
|
@@ -24,6 +25,10 @@ import * as OtlpSerialization from "./OtlpSerialization.ts";
|
|
|
24
25
|
* The layer sends data to `/v1/logs`, `/v1/metrics`, and `/v1/traces` below
|
|
25
26
|
* `baseUrl` and requires an `OtlpSerialization` implementation.
|
|
26
27
|
*
|
|
28
|
+
* The layer provides the `OtlpExporter.Flusher` shared by all three signals,
|
|
29
|
+
* so one `flush` exports their buffered telemetry, for example before a
|
|
30
|
+
* serverless instance is suspended.
|
|
31
|
+
*
|
|
27
32
|
* @stability unstable
|
|
28
33
|
* @category layers
|
|
29
34
|
* @since 4.0.0
|
|
@@ -50,11 +55,17 @@ export declare const layer: (options: {
|
|
|
50
55
|
readonly metricsTemporality?: AggregationTemporality | undefined;
|
|
51
56
|
readonly tracerExportInterval?: Duration.Input | undefined;
|
|
52
57
|
readonly shutdownTimeout?: Duration.Input | undefined;
|
|
53
|
-
}) => Layer.Layer<
|
|
58
|
+
}) => Layer.Layer<OtlpExporter.Flusher, never, HttpClient.HttpClient | OtlpSerialization.OtlpSerialization>;
|
|
54
59
|
/**
|
|
55
60
|
* Creates a combined OTLP layer for logs, metrics, and traces from
|
|
56
61
|
* OpenTelemetry configuration.
|
|
57
62
|
*
|
|
63
|
+
* **Details**
|
|
64
|
+
*
|
|
65
|
+
* The layer provides the `OtlpExporter.Flusher` shared by all enabled signals.
|
|
66
|
+
* It is provided even when configuration disables every signal, in which case
|
|
67
|
+
* `flush` is a no-op.
|
|
68
|
+
*
|
|
58
69
|
* @stability unstable
|
|
59
70
|
* @category layers
|
|
60
71
|
* @since 4.0.0
|
|
@@ -69,7 +80,7 @@ export declare const layerFromConfig: (options?: {
|
|
|
69
80
|
readonly tracerContext?: (<X>(primitive: Tracer.EffectPrimitive<X>, span: Tracer.AnySpan) => X) | undefined;
|
|
70
81
|
readonly loggerExcludeLogSpans?: boolean | undefined;
|
|
71
82
|
readonly loggerMergeWithExisting?: boolean | undefined;
|
|
72
|
-
}) => Layer.Layer<
|
|
83
|
+
}) => Layer.Layer<OtlpExporter.Flusher, never, HttpClient.HttpClient | OtlpSerialization.OtlpSerialization>;
|
|
73
84
|
/**
|
|
74
85
|
* Creates the combined OTLP logs, metrics, and traces layer using JSON
|
|
75
86
|
* serialization.
|
|
@@ -100,7 +111,7 @@ export declare const layerJson: (options: {
|
|
|
100
111
|
readonly metricsTemporality?: AggregationTemporality | undefined;
|
|
101
112
|
readonly tracerExportInterval?: Duration.Input | undefined;
|
|
102
113
|
readonly shutdownTimeout?: Duration.Input | undefined;
|
|
103
|
-
}) => Layer.Layer<
|
|
114
|
+
}) => Layer.Layer<OtlpExporter.Flusher, never, HttpClient.HttpClient>;
|
|
104
115
|
/**
|
|
105
116
|
* Creates the combined OTLP logs, metrics, and traces layer using protobuf
|
|
106
117
|
* serialization.
|
|
@@ -131,5 +142,5 @@ export declare const layerProtobuf: (options: {
|
|
|
131
142
|
readonly metricsTemporality?: AggregationTemporality | undefined;
|
|
132
143
|
readonly tracerExportInterval?: Duration.Input | undefined;
|
|
133
144
|
readonly shutdownTimeout?: Duration.Input | undefined;
|
|
134
|
-
}) => Layer.Layer<
|
|
145
|
+
}) => Layer.Layer<OtlpExporter.Flusher, never, HttpClient.HttpClient>;
|
|
135
146
|
//# sourceMappingURL=Otlp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Otlp.d.ts","sourceRoot":"","sources":["../../src/observability/Otlp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,KAAK,QAAQ,MAAM,gBAAgB,CAAA;AAE/C,OAAO,KAAK,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,KAAK,UAAU,MAAM,uBAAuB,CAAA;AAExD,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"Otlp.d.ts","sourceRoot":"","sources":["../../src/observability/Otlp.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,10 @@ import * as OtlpTracer from "./OtlpTracer.js";
|
|
|
13
13
|
* The layer sends data to `/v1/logs`, `/v1/metrics`, and `/v1/traces` below
|
|
14
14
|
* `baseUrl` and requires an `OtlpSerialization` implementation.
|
|
15
15
|
*
|
|
16
|
+
* The layer provides the `OtlpExporter.Flusher` shared by all three signals,
|
|
17
|
+
* so one `flush` exports their buffered telemetry, for example before a
|
|
18
|
+
* serverless instance is suspended.
|
|
19
|
+
*
|
|
16
20
|
* @stability unstable
|
|
17
21
|
* @category layers
|
|
18
22
|
* @since 4.0.0
|
|
@@ -53,6 +57,12 @@ export const layer = options => {
|
|
|
53
57
|
* Creates a combined OTLP layer for logs, metrics, and traces from
|
|
54
58
|
* OpenTelemetry configuration.
|
|
55
59
|
*
|
|
60
|
+
* **Details**
|
|
61
|
+
*
|
|
62
|
+
* The layer provides the `OtlpExporter.Flusher` shared by all enabled signals.
|
|
63
|
+
* It is provided even when configuration disables every signal, in which case
|
|
64
|
+
* `flush` is a no-op.
|
|
65
|
+
*
|
|
56
66
|
* @stability unstable
|
|
57
67
|
* @category layers
|
|
58
68
|
* @since 4.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Otlp.js","names":[],"sources":["../../src/observability/Otlp.ts"],"sourcesContent":[null],"mappings":"AAYA,SAAS,IAAI,QAAQ,gBAAgB;AAGrC,OAAO,KAAK,iBAAiB,MAAM,8BAA8B;AACjE,OAAO,KAAK,KAAK,MAAM,aAAa;
|
|
1
|
+
{"version":3,"file":"Otlp.js","names":[],"sources":["../../src/observability/Otlp.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -49,6 +49,13 @@ export declare const make: (options: {
|
|
|
49
49
|
* precedence over matching attributes in `OTEL_RESOURCE_ATTRIBUTES`. Missing
|
|
50
50
|
* required configuration is converted to a defect.
|
|
51
51
|
*
|
|
52
|
+
* Keys and values in `OTEL_RESOURCE_ATTRIBUTES` are trimmed, then
|
|
53
|
+
* percent-decoded. Entries with an empty value are kept as `""`; entries
|
|
54
|
+
* without `=` or with an empty key are skipped. When a key is repeated as
|
|
55
|
+
* written, the last entry wins and the earlier ones are not decoded. Invalid
|
|
56
|
+
* percent-encoding in the remaining entries is a `ConfigError` and is
|
|
57
|
+
* converted to a defect.
|
|
58
|
+
*
|
|
52
59
|
* @stability unstable
|
|
53
60
|
* @category constructors
|
|
54
61
|
* @since 4.0.0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OtlpResource.d.ts","sourceRoot":"","sources":["../../src/observability/OtlpResource.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAKtC;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,0BAA0B;IAC1B,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC3B,sCAAsC;IACtC,sBAAsB,EAAE,MAAM,CAAA;CAC/B;AAID;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,IAAI,YAAa;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CAC1D,KAAG,QAUF,CAAA;AAEF
|
|
1
|
+
{"version":3,"file":"OtlpResource.d.ts","sourceRoot":"","sources":["../../src/observability/OtlpResource.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAKtC;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,0BAA0B;IAC1B,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC3B,sCAAsC;IACtC,sBAAsB,EAAE,MAAM,CAAA;CAC/B;AAID;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,IAAI,YAAa;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CAC1D,KAAG,QAUF,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,UAAU,EAAE,CACvB,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CAC1D,GAAG,SAAS,KACV,MAAM,CAAC,MAAM,CAAC,QAAQ,CAoCX,CAAA;AAEhB;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,aAAc,QAAQ,KAAG,MAQtD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,YAAa,QAAQ,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAG,KAAK,CAAC,QAAQ,CASxF,CAAA;AAKD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB,UAAW,OAAO,KAAG,QAuCxD,CAAA;AAED;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,mBAAmB;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,qBAAqB;IACrB,KAAK,EAAE,QAAQ,CAAA;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;IAC1B,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IACjC,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,YAAY,CAAA;IAC1B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;;;GAMG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA"}
|
|
@@ -62,12 +62,22 @@ export const make = options => ({
|
|
|
62
62
|
* precedence over matching attributes in `OTEL_RESOURCE_ATTRIBUTES`. Missing
|
|
63
63
|
* required configuration is converted to a defect.
|
|
64
64
|
*
|
|
65
|
+
* Keys and values in `OTEL_RESOURCE_ATTRIBUTES` are trimmed, then
|
|
66
|
+
* percent-decoded. Entries with an empty value are kept as `""`; entries
|
|
67
|
+
* without `=` or with an empty key are skipped. When a key is repeated as
|
|
68
|
+
* written, the last entry wins and the earlier ones are not decoded. Invalid
|
|
69
|
+
* percent-encoding in the remaining entries is a `ConfigError` and is
|
|
70
|
+
* converted to a defect.
|
|
71
|
+
*
|
|
65
72
|
* @stability unstable
|
|
66
73
|
* @category constructors
|
|
67
74
|
* @since 4.0.0
|
|
68
75
|
*/
|
|
69
76
|
export const fromConfig = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
70
|
-
const env = yield* Config.Record(Schema.StringFromUriComponent, Schema.StringFromUriComponent, "OTEL_RESOURCE_ATTRIBUTES"
|
|
77
|
+
const env = yield* Config.Record(Schema.StringFromUriComponent, Schema.StringFromUriComponent, "OTEL_RESOURCE_ATTRIBUTES", {
|
|
78
|
+
trim: true,
|
|
79
|
+
keepEmptyValues: true
|
|
80
|
+
}).pipe(Config.withDefault(undefined));
|
|
71
81
|
const serviceName = options?.serviceName ?? options?.attributes?.["service.name"] ?? (yield* Config.schema(Schema.UndefinedOr(Schema.String), "OTEL_SERVICE_NAME")) ?? env?.["service.name"] ?? (yield* Config.String("OTEL_SERVICE_NAME"));
|
|
72
82
|
const serviceVersion = options?.serviceVersion ?? options?.attributes?.["service.version"] ?? (yield* Config.schema(Schema.UndefinedOr(Schema.String), "OTEL_SERVICE_VERSION")) ?? env?.["service.version"];
|
|
73
83
|
const attributes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OtlpResource.js","names":[],"sources":["../../src/observability/OtlpResource.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;AAWA,OAAO,KAAK,MAAM,MAAM,cAAc;AACtC,OAAO,KAAK,MAAM,MAAM,cAAc;AACtC,SAAS,MAAM,QAAQ,iBAAiB;AACxC,OAAO,KAAK,MAAM,MAAM,cAAc;AACtC,OAAO,KAAK,OAAO,MAAM,eAAe;AAgBxC,MAAM,SAAS,GAAG,QAAQ,IAAI,UAAU,IAAI,eAAe,IAAI,UAAU;AAEzE;;;;;;;;;;;;;AAaA,OAAO,MAAM,IAAI,GAAI,OAIpB,KAAgB;EACf,UAAU,EAAE,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7C,oBAAoB,EAAE,QAAQ;IAC9B,wBAAwB,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ;IACxD,uBAAuB,EAAE,OAAO,CAAC,iBAAiB,EAAE;IACpD,GAAG,OAAO,CAAC,UAAU;IACrB,IAAI,OAAO,CAAC,WAAW,GAAG;MAAE,cAAc,EAAE,OAAO,CAAC;IAAW,CAAE,GAAG,SAAS,CAAC;IAC9E,IAAI,OAAO,CAAC,cAAc,GAAG;MAAE,iBAAiB,EAAE,OAAO,CAAC;IAAc,CAAE,GAAG,SAAS;GACvF,CAAC,CAAC;EACH,sBAAsB,EAAE;CACzB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"OtlpResource.js","names":[],"sources":["../../src/observability/OtlpResource.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -51,10 +51,18 @@ export interface KeyValueStore {
|
|
|
51
51
|
* Removes all entries.
|
|
52
52
|
*/
|
|
53
53
|
readonly clear: Effect.Effect<void, KeyValueStoreError>;
|
|
54
|
+
/**
|
|
55
|
+
* Removes all entries whose key starts with the specified prefix.
|
|
56
|
+
*/
|
|
57
|
+
readonly clearPrefix: (prefix: string) => Effect.Effect<void, KeyValueStoreError>;
|
|
54
58
|
/**
|
|
55
59
|
* Returns the number of entries.
|
|
56
60
|
*/
|
|
57
61
|
readonly size: Effect.Effect<number, KeyValueStoreError>;
|
|
62
|
+
/**
|
|
63
|
+
* Returns a snapshot of the keys in the store. The order is unspecified.
|
|
64
|
+
*/
|
|
65
|
+
readonly keys: Effect.Effect<ReadonlyArray<string>, KeyValueStoreError>;
|
|
58
66
|
/**
|
|
59
67
|
* Updates the value of the specified key if it exists.
|
|
60
68
|
*/
|
|
@@ -109,6 +117,10 @@ export type MakeOptions = Partial<KeyValueStore> & {
|
|
|
109
117
|
* Returns the number of entries.
|
|
110
118
|
*/
|
|
111
119
|
readonly size: Effect.Effect<number, KeyValueStoreError>;
|
|
120
|
+
/**
|
|
121
|
+
* Returns a snapshot of the keys in the store. The order is unspecified.
|
|
122
|
+
*/
|
|
123
|
+
readonly keys: Effect.Effect<ReadonlyArray<string>, KeyValueStoreError>;
|
|
112
124
|
};
|
|
113
125
|
/**
|
|
114
126
|
* Implementation callbacks for adapting a string-only backing store into a
|
|
@@ -139,6 +151,10 @@ export type MakeStringOptions = Partial<Omit<KeyValueStore, "set">> & {
|
|
|
139
151
|
* Returns the number of entries.
|
|
140
152
|
*/
|
|
141
153
|
readonly size: Effect.Effect<number, KeyValueStoreError>;
|
|
154
|
+
/**
|
|
155
|
+
* Returns a snapshot of the keys in the store. The order is unspecified.
|
|
156
|
+
*/
|
|
157
|
+
readonly keys: Effect.Effect<ReadonlyArray<string>, KeyValueStoreError>;
|
|
142
158
|
};
|
|
143
159
|
declare const ErrorTypeId: "~effect/persistence/KeyValueStore/KeyValueStoreError";
|
|
144
160
|
declare const KeyValueStoreError_base: new <A extends Record<string, any> = {}>(args: import("../Types.ts").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("../Cause.ts").YieldableError & {
|
|
@@ -184,8 +200,12 @@ export declare const KeyValueStore: Context.Service<KeyValueStore, KeyValueStore
|
|
|
184
200
|
*
|
|
185
201
|
* **Details**
|
|
186
202
|
*
|
|
187
|
-
* Default implementations are derived for `has`, `isEmpty`, `
|
|
188
|
-
* `modifyUint8Array` unless they are provided in the options.
|
|
203
|
+
* Default implementations are derived for `has`, `isEmpty`, `clearPrefix`,
|
|
204
|
+
* `modify`, and `modifyUint8Array` unless they are provided in the options.
|
|
205
|
+
*
|
|
206
|
+
* If `clearPrefix` is not provided, it delegates to `clear` for an empty prefix
|
|
207
|
+
* and otherwise removes each key returned by `keys` that starts with the
|
|
208
|
+
* prefix.
|
|
189
209
|
*
|
|
190
210
|
* @stability unstable
|
|
191
211
|
* @category constructors
|
|
@@ -209,6 +229,13 @@ export declare const makeStringOnly: (options: MakeStringOptions) => KeyValueSto
|
|
|
209
229
|
* Returns a view of a `KeyValueStore` that prepends the given prefix to every
|
|
210
230
|
* key.
|
|
211
231
|
*
|
|
232
|
+
* **Details**
|
|
233
|
+
*
|
|
234
|
+
* `keys`, `size`, `isEmpty`, and `clear` only see entries whose key starts
|
|
235
|
+
* with the prefix, and `keys` returns them with the prefix removed. `keys`,
|
|
236
|
+
* `size`, and `isEmpty` list every key in the underlying store and filter the
|
|
237
|
+
* result, while `clear` delegates to `clearPrefix`.
|
|
238
|
+
*
|
|
212
239
|
* @stability unstable
|
|
213
240
|
* @category combinators
|
|
214
241
|
* @since 4.0.0
|
|
@@ -218,6 +245,13 @@ export declare const prefix: {
|
|
|
218
245
|
* Returns a view of a `KeyValueStore` that prepends the given prefix to every
|
|
219
246
|
* key.
|
|
220
247
|
*
|
|
248
|
+
* **Details**
|
|
249
|
+
*
|
|
250
|
+
* `keys`, `size`, `isEmpty`, and `clear` only see entries whose key starts
|
|
251
|
+
* with the prefix, and `keys` returns them with the prefix removed. `keys`,
|
|
252
|
+
* `size`, and `isEmpty` list every key in the underlying store and filter the
|
|
253
|
+
* result, while `clear` delegates to `clearPrefix`.
|
|
254
|
+
*
|
|
221
255
|
* @stability unstable
|
|
222
256
|
* @category combinators
|
|
223
257
|
* @since 4.0.0
|
|
@@ -227,6 +261,13 @@ export declare const prefix: {
|
|
|
227
261
|
* Returns a view of a `KeyValueStore` that prepends the given prefix to every
|
|
228
262
|
* key.
|
|
229
263
|
*
|
|
264
|
+
* **Details**
|
|
265
|
+
*
|
|
266
|
+
* `keys`, `size`, `isEmpty`, and `clear` only see entries whose key starts
|
|
267
|
+
* with the prefix, and `keys` returns them with the prefix removed. `keys`,
|
|
268
|
+
* `size`, and `isEmpty` list every key in the underlying store and filter the
|
|
269
|
+
* result, while `clear` delegates to `clearPrefix`.
|
|
270
|
+
*
|
|
230
271
|
* @stability unstable
|
|
231
272
|
* @category combinators
|
|
232
273
|
* @since 4.0.0
|
|
@@ -316,6 +357,10 @@ export interface SchemaStore<S extends Schema.Constraint> {
|
|
|
316
357
|
* Returns the number of entries.
|
|
317
358
|
*/
|
|
318
359
|
readonly size: Effect.Effect<number, KeyValueStoreError>;
|
|
360
|
+
/**
|
|
361
|
+
* Returns a snapshot of the keys in the store. The order is unspecified.
|
|
362
|
+
*/
|
|
363
|
+
readonly keys: Effect.Effect<ReadonlyArray<string>, KeyValueStoreError>;
|
|
319
364
|
/**
|
|
320
365
|
* Updates the value of the specified key if it exists.
|
|
321
366
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyValueStore.d.ts","sourceRoot":"","sources":["../../src/persistence/KeyValueStore.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"KeyValueStore.d.ts","sourceRoot":"","sources":["../../src/persistence/KeyValueStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,8 +62,12 @@ export const KeyValueStore = /*#__PURE__*/Context.Service("effect/persistence/Ke
|
|
|
62
62
|
*
|
|
63
63
|
* **Details**
|
|
64
64
|
*
|
|
65
|
-
* Default implementations are derived for `has`, `isEmpty`, `
|
|
66
|
-
* `modifyUint8Array` unless they are provided in the options.
|
|
65
|
+
* Default implementations are derived for `has`, `isEmpty`, `clearPrefix`,
|
|
66
|
+
* `modify`, and `modifyUint8Array` unless they are provided in the options.
|
|
67
|
+
*
|
|
68
|
+
* If `clearPrefix` is not provided, it delegates to `clear` for an empty prefix
|
|
69
|
+
* and otherwise removes each key returned by `keys` that starts with the
|
|
70
|
+
* prefix.
|
|
67
71
|
*
|
|
68
72
|
* @stability unstable
|
|
69
73
|
* @category constructors
|
|
@@ -73,6 +77,9 @@ export const make = options => KeyValueStore.of({
|
|
|
73
77
|
[TypeId]: TypeId,
|
|
74
78
|
has: key => Effect.map(options.get(key), Predicate.isNotUndefined),
|
|
75
79
|
isEmpty: Effect.map(options.size, size => size === 0),
|
|
80
|
+
clearPrefix: prefix => prefix.length === 0 ? options.clear : Effect.flatMap(options.keys, keys => Effect.forEach(keys, key => key.startsWith(prefix) ? options.remove(key) : Effect.void, {
|
|
81
|
+
discard: true
|
|
82
|
+
})),
|
|
76
83
|
modify: (key, f) => Effect.flatMap(options.get(key), o => {
|
|
77
84
|
if (o === undefined) {
|
|
78
85
|
return Effect.undefined;
|
|
@@ -116,20 +123,35 @@ export const makeStringOnly = options => {
|
|
|
116
123
|
* Returns a view of a `KeyValueStore` that prepends the given prefix to every
|
|
117
124
|
* key.
|
|
118
125
|
*
|
|
126
|
+
* **Details**
|
|
127
|
+
*
|
|
128
|
+
* `keys`, `size`, `isEmpty`, and `clear` only see entries whose key starts
|
|
129
|
+
* with the prefix, and `keys` returns them with the prefix removed. `keys`,
|
|
130
|
+
* `size`, and `isEmpty` list every key in the underlying store and filter the
|
|
131
|
+
* result, while `clear` delegates to `clearPrefix`.
|
|
132
|
+
*
|
|
119
133
|
* @stability unstable
|
|
120
134
|
* @category combinators
|
|
121
135
|
* @since 4.0.0
|
|
122
136
|
*/
|
|
123
|
-
export const prefix = /*#__PURE__*/dual(2, (self, prefix) =>
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
})
|
|
137
|
+
export const prefix = /*#__PURE__*/dual(2, (self, prefix) => {
|
|
138
|
+
const keys = Effect.map(self.keys, keys => keys.flatMap(key => key.startsWith(prefix) ? [key.slice(prefix.length)] : []));
|
|
139
|
+
return {
|
|
140
|
+
...self,
|
|
141
|
+
get: key => self.get(`${prefix}${key}`),
|
|
142
|
+
getUint8Array: key => self.getUint8Array(`${prefix}${key}`),
|
|
143
|
+
set: (key, value) => self.set(`${prefix}${key}`, value),
|
|
144
|
+
remove: key => self.remove(`${prefix}${key}`),
|
|
145
|
+
clear: self.clearPrefix(prefix),
|
|
146
|
+
clearPrefix: key => self.clearPrefix(`${prefix}${key}`),
|
|
147
|
+
keys,
|
|
148
|
+
size: Effect.map(keys, keys => keys.length),
|
|
149
|
+
isEmpty: Effect.map(keys, keys => keys.length === 0),
|
|
150
|
+
has: key => self.has(`${prefix}${key}`),
|
|
151
|
+
modify: (key, f) => self.modify(`${prefix}${key}`, f),
|
|
152
|
+
modifyUint8Array: (key, f) => self.modifyUint8Array(`${prefix}${key}`, f)
|
|
153
|
+
};
|
|
154
|
+
});
|
|
133
155
|
/**
|
|
134
156
|
* Provides a process-local in-memory `KeyValueStore` backed by a `Map`.
|
|
135
157
|
*
|
|
@@ -152,7 +174,13 @@ export const layerMemory = /*#__PURE__*/Layer.sync(KeyValueStore)(() => {
|
|
|
152
174
|
set: (key, value) => Effect.sync(() => store.set(key, value)),
|
|
153
175
|
remove: key => Effect.sync(() => store.delete(key)),
|
|
154
176
|
clear: Effect.sync(() => store.clear()),
|
|
155
|
-
|
|
177
|
+
clearPrefix: prefix => Effect.sync(() => {
|
|
178
|
+
for (const key of store.keys()) {
|
|
179
|
+
if (key.startsWith(prefix)) store.delete(key);
|
|
180
|
+
}
|
|
181
|
+
}),
|
|
182
|
+
size: Effect.sync(() => store.size),
|
|
183
|
+
keys: Effect.sync(() => Array.from(store.keys()))
|
|
156
184
|
});
|
|
157
185
|
});
|
|
158
186
|
/**
|
|
@@ -203,7 +231,9 @@ export const layerFileSystem = directory => Layer.effect(KeyValueStore)(Effect.g
|
|
|
203
231
|
message: `Unable to set item with key ${key}`,
|
|
204
232
|
cause
|
|
205
233
|
}))),
|
|
206
|
-
remove: key => withKeyPath("remove", key, path => Effect.mapError(fs.remove(path
|
|
234
|
+
remove: key => withKeyPath("remove", key, path => Effect.mapError(fs.remove(path, {
|
|
235
|
+
force: true
|
|
236
|
+
}), cause => new KeyValueStoreError({
|
|
207
237
|
method: "remove",
|
|
208
238
|
key,
|
|
209
239
|
message: `Unable to remove item with key ${key}`,
|
|
@@ -224,6 +254,14 @@ export const layerFileSystem = directory => Layer.effect(KeyValueStore)(Effect.g
|
|
|
224
254
|
message: `Unable to clear storage`,
|
|
225
255
|
cause
|
|
226
256
|
})),
|
|
257
|
+
clearPrefix: prefix => fs.readDirectory(directory).pipe(Effect.flatMap(files => Effect.forEach(files.filter(file => decodeFileKey(file)?.startsWith(prefix)), file => Effect.catchTag(fs.remove(path.join(directory, file)), "PlatformError", cause => cause.reason._tag === "NotFound" ? Effect.void : Effect.fail(cause)), {
|
|
258
|
+
discard: true
|
|
259
|
+
})), Effect.mapError(cause => new KeyValueStoreError({
|
|
260
|
+
method: "clearPrefix",
|
|
261
|
+
key: prefix,
|
|
262
|
+
message: `Unable to clear items with prefix ${prefix}`,
|
|
263
|
+
cause
|
|
264
|
+
}))),
|
|
227
265
|
size: Effect.matchEffect(fs.readDirectory(directory), {
|
|
228
266
|
onSuccess: files => Effect.succeed(files.length),
|
|
229
267
|
onFailure: cause => Effect.fail(new KeyValueStoreError({
|
|
@@ -231,9 +269,22 @@ export const layerFileSystem = directory => Layer.effect(KeyValueStore)(Effect.g
|
|
|
231
269
|
message: `Unable to get size`,
|
|
232
270
|
cause
|
|
233
271
|
}))
|
|
234
|
-
})
|
|
272
|
+
}),
|
|
273
|
+
keys: fs.readDirectory(directory).pipe(Effect.flatMap(files => Effect.try(() => files.map(decodeURIComponent))), Effect.mapError(cause => new KeyValueStoreError({
|
|
274
|
+
method: "keys",
|
|
275
|
+
message: `Unable to get keys`,
|
|
276
|
+
cause
|
|
277
|
+
})))
|
|
235
278
|
});
|
|
236
279
|
}));
|
|
280
|
+
const decodeFileKey = file => {
|
|
281
|
+
try {
|
|
282
|
+
return decodeURIComponent(file);
|
|
283
|
+
} catch {
|
|
284
|
+
return undefined;
|
|
285
|
+
}
|
|
286
|
+
};
|
|
287
|
+
const escapeLike = prefix => `${prefix.replace(/[!%_[\]]/g, "!$&")}%`;
|
|
237
288
|
/**
|
|
238
289
|
* Provides a SQL-backed `KeyValueStore`.
|
|
239
290
|
*
|
|
@@ -248,7 +299,8 @@ export const layerFileSystem = directory => Layer.effect(KeyValueStore)(Effect.g
|
|
|
248
299
|
*/
|
|
249
300
|
export const layerSql = (options = {}) => Layer.effect(KeyValueStore)(Effect.gen(function* () {
|
|
250
301
|
const sql = (yield* SqlClient.SqlClient).withoutTransforms();
|
|
251
|
-
const
|
|
302
|
+
const tableName = options.table ?? "effect_key_value_store";
|
|
303
|
+
const table = sql(tableName);
|
|
252
304
|
yield* sql.onDialectOrElse({
|
|
253
305
|
mysql: () => sql`
|
|
254
306
|
CREATE TABLE IF NOT EXISTS ${table} (
|
|
@@ -265,7 +317,7 @@ export const layerSql = (options = {}) => Layer.effect(KeyValueStore)(Effect.gen
|
|
|
265
317
|
)
|
|
266
318
|
`,
|
|
267
319
|
mssql: () => sql`
|
|
268
|
-
IF NOT EXISTS (SELECT * FROM sysobjects WHERE name=${
|
|
320
|
+
IF NOT EXISTS (SELECT * FROM sysobjects WHERE name=${tableName} AND xtype='U')
|
|
269
321
|
CREATE TABLE ${table} (
|
|
270
322
|
id NVARCHAR(450) PRIMARY KEY,
|
|
271
323
|
value VARBINARY(MAX) NOT NULL,
|
|
@@ -304,6 +356,22 @@ export const layerSql = (options = {}) => Layer.effect(KeyValueStore)(Effect.gen
|
|
|
304
356
|
ON CONFLICT(id) DO UPDATE SET value=excluded.value, value_type=excluded.value_type
|
|
305
357
|
`.unprepared
|
|
306
358
|
});
|
|
359
|
+
// The first LIKE uses the primary key index. On mysql and mssql it follows
|
|
360
|
+
// the column collation, which is usually case / accent-insensitive, so a
|
|
361
|
+
// second binary LIKE keeps only exact prefix matches.
|
|
362
|
+
const deleteByPrefix = sql.onDialectOrElse({
|
|
363
|
+
// sqlite LIKE is case-insensitive, so compare the leading characters
|
|
364
|
+
orElse: () => prefix => sql`DELETE FROM ${table} WHERE substr(id, 1, length(${prefix})) = ${prefix}`,
|
|
365
|
+
pg: () => prefix => sql`DELETE FROM ${table} WHERE id LIKE ${escapeLike(prefix)} ESCAPE '!'`,
|
|
366
|
+
mysql: () => prefix => {
|
|
367
|
+
const pattern = escapeLike(prefix);
|
|
368
|
+
return sql`DELETE FROM ${table} WHERE id LIKE ${pattern} ESCAPE '!' AND CONVERT(id USING utf8mb4) COLLATE utf8mb4_bin LIKE ${pattern} ESCAPE '!'`;
|
|
369
|
+
},
|
|
370
|
+
mssql: () => prefix => {
|
|
371
|
+
const pattern = escapeLike(prefix);
|
|
372
|
+
return sql`DELETE FROM ${table} WHERE id LIKE ${pattern} ESCAPE '!' AND id COLLATE Latin1_General_100_BIN2 LIKE ${pattern} ESCAPE '!'`;
|
|
373
|
+
}
|
|
374
|
+
});
|
|
307
375
|
const encoder = new TextEncoder();
|
|
308
376
|
const decoder = new TextDecoder();
|
|
309
377
|
const ValueTypeString = 0;
|
|
@@ -376,11 +444,22 @@ export const layerSql = (options = {}) => Layer.effect(KeyValueStore)(Effect.gen
|
|
|
376
444
|
message: `Unable to clear storage`,
|
|
377
445
|
cause
|
|
378
446
|
})), Effect.asVoid),
|
|
447
|
+
clearPrefix: prefix => deleteByPrefix(prefix).pipe(Effect.mapError(cause => new KeyValueStoreError({
|
|
448
|
+
method: "clearPrefix",
|
|
449
|
+
key: prefix,
|
|
450
|
+
message: `Unable to clear items with prefix ${prefix}`,
|
|
451
|
+
cause
|
|
452
|
+
})), Effect.asVoid),
|
|
379
453
|
size: sql`SELECT COUNT(*) as count FROM ${table}`.pipe(Effect.mapError(cause => new KeyValueStoreError({
|
|
380
454
|
method: "size",
|
|
381
455
|
message: `Unable to get size`,
|
|
382
456
|
cause
|
|
383
|
-
})), Effect.map(rows => rows.length === 0 ? 0 : Number(rows[0].count)))
|
|
457
|
+
})), Effect.map(rows => rows.length === 0 ? 0 : Number(rows[0].count))),
|
|
458
|
+
keys: sql`SELECT id FROM ${table}`.pipe(Effect.mapError(cause => new KeyValueStoreError({
|
|
459
|
+
method: "keys",
|
|
460
|
+
message: `Unable to get keys`,
|
|
461
|
+
cause
|
|
462
|
+
})), Effect.map(rows => rows.map(row => row.id)))
|
|
384
463
|
});
|
|
385
464
|
}));
|
|
386
465
|
const SchemaStoreTypeId = "~effect/persistence/KeyValueStore/SchemaStore";
|
|
@@ -416,6 +495,7 @@ export const toSchemaStore = (self, schema) => {
|
|
|
416
495
|
remove: self.remove,
|
|
417
496
|
clear: self.clear,
|
|
418
497
|
size: self.size,
|
|
498
|
+
keys: self.keys,
|
|
419
499
|
has: self.has,
|
|
420
500
|
isEmpty: self.isEmpty
|
|
421
501
|
};
|
|
@@ -471,6 +551,22 @@ export const layerStorage = evaluate => Layer.sync(KeyValueStore)(() => {
|
|
|
471
551
|
cause
|
|
472
552
|
})
|
|
473
553
|
}),
|
|
554
|
+
clearPrefix: prefix => Effect.try({
|
|
555
|
+
try: () => {
|
|
556
|
+
const keys = [];
|
|
557
|
+
for (let i = 0; i < storage.length; i++) {
|
|
558
|
+
const key = storage.key(i);
|
|
559
|
+
if (key !== null && key.startsWith(prefix)) keys.push(key);
|
|
560
|
+
}
|
|
561
|
+
for (const key of keys) storage.removeItem(key);
|
|
562
|
+
},
|
|
563
|
+
catch: cause => new KeyValueStoreError({
|
|
564
|
+
key: prefix,
|
|
565
|
+
method: "clearPrefix",
|
|
566
|
+
message: `Unable to clear items with prefix ${prefix}`,
|
|
567
|
+
cause
|
|
568
|
+
})
|
|
569
|
+
}),
|
|
474
570
|
size: Effect.try({
|
|
475
571
|
try: () => storage.length,
|
|
476
572
|
catch: cause => new KeyValueStoreError({
|
|
@@ -478,6 +574,21 @@ export const layerStorage = evaluate => Layer.sync(KeyValueStore)(() => {
|
|
|
478
574
|
message: `Unable to get size`,
|
|
479
575
|
cause
|
|
480
576
|
})
|
|
577
|
+
}),
|
|
578
|
+
keys: Effect.try({
|
|
579
|
+
try: () => {
|
|
580
|
+
const keys = [];
|
|
581
|
+
for (let i = 0; i < storage.length; i++) {
|
|
582
|
+
const key = storage.key(i);
|
|
583
|
+
if (key !== null) keys.push(key);
|
|
584
|
+
}
|
|
585
|
+
return keys;
|
|
586
|
+
},
|
|
587
|
+
catch: cause => new KeyValueStoreError({
|
|
588
|
+
method: "keys",
|
|
589
|
+
message: `Unable to get keys`,
|
|
590
|
+
cause
|
|
591
|
+
})
|
|
481
592
|
})
|
|
482
593
|
});
|
|
483
594
|
});
|