effect 4.0.7 → 4.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -1
- package/THIRD_PARTY_NOTICES.md +62 -0
- package/dist/BigDecimal.d.ts +139 -7
- package/dist/BigDecimal.d.ts.map +1 -1
- package/dist/BigDecimal.js +86 -14
- package/dist/BigDecimal.js.map +1 -1
- package/dist/Channel.d.ts +12 -6
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +9 -3
- package/dist/Channel.js.map +1 -1
- package/dist/Config.d.ts +7 -1
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js.map +1 -1
- package/dist/Context.d.ts +18 -1
- package/dist/Context.d.ts.map +1 -1
- package/dist/Context.js +27 -8
- package/dist/Context.js.map +1 -1
- package/dist/Cron.d.ts +81 -11
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +101 -26
- package/dist/Cron.js.map +1 -1
- package/dist/Duration.d.ts +78 -0
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +123 -0
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +164 -7
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +11 -1
- package/dist/Effect.js.map +1 -1
- package/dist/Equal.d.ts +2 -2
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +3 -3
- package/dist/Equal.js.map +1 -1
- package/dist/FileSystem.d.ts +59 -4
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +9 -2
- package/dist/FileSystem.js.map +1 -1
- package/dist/Glob.d.ts +165 -0
- package/dist/Glob.d.ts.map +1 -0
- package/dist/Glob.js +127 -0
- package/dist/Glob.js.map +1 -0
- package/dist/Hash.d.ts +3 -2
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +5 -4
- package/dist/Hash.js.map +1 -1
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +11 -8
- package/dist/Iterable.js.map +1 -1
- package/dist/Match.d.ts +86 -0
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +72 -0
- package/dist/Match.js.map +1 -1
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +5 -1
- package/dist/Path.js.map +1 -1
- package/dist/Pool.d.ts +51 -0
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +61 -10
- package/dist/Pool.js.map +1 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +3 -3
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +8 -2
- package/dist/RcMap.js.map +1 -1
- package/dist/Schedule.d.ts +18 -1
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +7 -2
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +668 -42
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +652 -1
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaGetter.d.ts +6 -1
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +22 -11
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +18 -2
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +20 -2
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +10 -5
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +8 -5
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +5 -7
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Semaphore.d.ts +130 -0
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +40 -0
- package/dist/Semaphore.js.map +1 -1
- package/dist/Stream.d.ts +13 -4
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +9 -0
- package/dist/Stream.js.map +1 -1
- package/dist/Terminal.d.ts +18 -1
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +1 -1
- package/dist/Terminal.js.map +1 -1
- package/dist/ai/AiError.d.ts +43 -116
- package/dist/ai/AiError.d.ts.map +1 -1
- package/dist/ai/AiError.js +53 -72
- package/dist/ai/AiError.js.map +1 -1
- package/dist/ai/Decision.d.ts +196 -15
- package/dist/ai/Decision.d.ts.map +1 -1
- package/dist/ai/Decision.js +130 -0
- package/dist/ai/Decision.js.map +1 -1
- package/dist/ai/DecisionModel.d.ts +54 -13
- package/dist/ai/DecisionModel.d.ts.map +1 -1
- package/dist/ai/DecisionModel.js +123 -12
- package/dist/ai/DecisionModel.js.map +1 -1
- package/dist/ai/McpClient.d.ts +171 -19
- package/dist/ai/McpClient.d.ts.map +1 -1
- package/dist/ai/McpClient.js +277 -66
- package/dist/ai/McpClient.js.map +1 -1
- package/dist/ai/McpSchema.d.ts +108 -0
- package/dist/ai/McpSchema.d.ts.map +1 -1
- package/dist/ai/McpSchema.js +99 -0
- package/dist/ai/McpSchema.js.map +1 -1
- package/dist/ai/McpServer.d.ts +744 -29
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +763 -136
- package/dist/ai/McpServer.js.map +1 -1
- package/dist/ai/McpTest.d.ts +130 -0
- package/dist/ai/McpTest.d.ts.map +1 -0
- package/dist/ai/McpTest.js +237 -0
- package/dist/ai/McpTest.js.map +1 -0
- package/dist/ai/Prompt.d.ts.map +1 -1
- package/dist/ai/Prompt.js +20 -11
- package/dist/ai/Prompt.js.map +1 -1
- package/dist/ai/Response.d.ts +1 -25
- package/dist/ai/Response.d.ts.map +1 -1
- package/dist/ai/Response.js +1 -10
- package/dist/ai/Response.js.map +1 -1
- package/dist/ai/Tool.d.ts +19 -1
- package/dist/ai/Tool.d.ts.map +1 -1
- package/dist/ai/Tool.js +5 -7
- package/dist/ai/Tool.js.map +1 -1
- package/dist/ai/index.d.ts +5 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +5 -0
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/internal/mcpCore.js +89 -15
- package/dist/ai/internal/mcpCore.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js +7 -6
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js +7 -6
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js +7 -6
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js +7 -6
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js +60 -17
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
- package/dist/ai/internal/mcpProtocol.js +25 -0
- package/dist/ai/internal/mcpProtocol.js.map +1 -1
- package/dist/ai/internal/mcpRuntime.js +8 -6
- package/dist/ai/internal/mcpRuntime.js.map +1 -1
- package/dist/ai/internal/mcpSkills.d.ts +2 -0
- package/dist/ai/internal/mcpSkills.d.ts.map +1 -0
- package/dist/ai/internal/mcpSkills.js +428 -0
- package/dist/ai/internal/mcpSkills.js.map +1 -0
- package/dist/ai/internal/mcpStatefulRuntime.js +6 -1
- package/dist/ai/internal/mcpStatefulRuntime.js.map +1 -1
- package/dist/cli/Argument.d.ts +6 -0
- package/dist/cli/Argument.d.ts.map +1 -1
- package/dist/cli/Argument.js +2 -0
- package/dist/cli/Argument.js.map +1 -1
- package/dist/cli/CliOutput.d.ts +65 -1
- package/dist/cli/CliOutput.d.ts.map +1 -1
- package/dist/cli/CliOutput.js +94 -37
- package/dist/cli/CliOutput.js.map +1 -1
- package/dist/cli/Command.d.ts +23 -0
- package/dist/cli/Command.d.ts.map +1 -1
- package/dist/cli/Command.js +8 -0
- package/dist/cli/Command.js.map +1 -1
- package/dist/cli/Flag.d.ts +107 -0
- package/dist/cli/Flag.d.ts.map +1 -1
- package/dist/cli/Flag.js +37 -0
- package/dist/cli/Flag.js.map +1 -1
- package/dist/cli/HelpDoc.d.ts +15 -1
- package/dist/cli/HelpDoc.d.ts.map +1 -1
- package/dist/cli/Param.d.ts +6 -0
- package/dist/cli/Param.d.ts.map +1 -1
- package/dist/cli/Param.js +2 -0
- package/dist/cli/Param.js.map +1 -1
- package/dist/cli/Primitive.d.ts +14 -0
- package/dist/cli/Primitive.d.ts.map +1 -1
- package/dist/cli/Primitive.js +15 -1
- package/dist/cli/Primitive.js.map +1 -1
- package/dist/cli/Prompt.d.ts +1 -0
- package/dist/cli/Prompt.d.ts.map +1 -1
- package/dist/cli/Prompt.js +1 -0
- package/dist/cli/Prompt.js.map +1 -1
- package/dist/cli/internal/help.d.ts.map +1 -1
- package/dist/cli/internal/help.js +17 -10
- package/dist/cli/internal/help.js.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.js +15 -5
- package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cluster/Reply.d.ts +1 -1
- package/dist/cluster/Reply.d.ts.map +1 -1
- package/dist/cluster/Reply.js.map +1 -1
- package/dist/cluster/Sharding.d.ts.map +1 -1
- package/dist/cluster/Sharding.js +93 -28
- package/dist/cluster/Sharding.js.map +1 -1
- package/dist/cluster/ShardingConfig.d.ts +72 -6
- package/dist/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/cluster/ShardingConfig.js +4 -0
- package/dist/cluster/ShardingConfig.js.map +1 -1
- package/dist/cluster/SingleRunner.d.ts +3 -3
- package/dist/cluster/SingleRunner.d.ts.map +1 -1
- package/dist/cluster/SingleRunner.js +1 -1
- package/dist/cluster/SqlMessageStorage.d.ts +37 -6
- package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/cluster/SqlMessageStorage.js +34 -7
- package/dist/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/cluster/SqlRunnerStorage.js +23 -8
- package/dist/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/cluster/internal/entityManager.js +15 -7
- package/dist/cluster/internal/entityManager.js.map +1 -1
- package/dist/crypto/Aead.d.ts +323 -0
- package/dist/crypto/Aead.d.ts.map +1 -0
- package/dist/crypto/Aead.js +331 -0
- package/dist/crypto/Aead.js.map +1 -0
- package/dist/crypto/Cipher.d.ts +236 -0
- package/dist/crypto/Cipher.d.ts.map +1 -0
- package/dist/crypto/Cipher.js +233 -0
- package/dist/crypto/Cipher.js.map +1 -0
- package/dist/crypto/CryptoError.d.ts +212 -0
- package/dist/crypto/CryptoError.d.ts.map +1 -0
- package/dist/crypto/CryptoError.js +202 -0
- package/dist/crypto/CryptoError.js.map +1 -0
- package/dist/crypto/Digest.d.ts +143 -0
- package/dist/crypto/Digest.d.ts.map +1 -0
- package/dist/crypto/Digest.js +146 -0
- package/dist/crypto/Digest.js.map +1 -0
- package/dist/crypto/Kdf.d.ts +220 -0
- package/dist/crypto/Kdf.d.ts.map +1 -0
- package/dist/crypto/Kdf.js +212 -0
- package/dist/crypto/Kdf.js.map +1 -0
- package/dist/crypto/KeyAgreement.d.ts +324 -0
- package/dist/crypto/KeyAgreement.d.ts.map +1 -0
- package/dist/crypto/KeyAgreement.js +303 -0
- package/dist/crypto/KeyAgreement.js.map +1 -0
- package/dist/crypto/KeyFormat.d.ts +341 -0
- package/dist/crypto/KeyFormat.d.ts.map +1 -0
- package/dist/crypto/KeyFormat.js +556 -0
- package/dist/crypto/KeyFormat.js.map +1 -0
- package/dist/crypto/KeyWrap.d.ts +390 -0
- package/dist/crypto/KeyWrap.d.ts.map +1 -0
- package/dist/crypto/KeyWrap.js +381 -0
- package/dist/crypto/KeyWrap.js.map +1 -0
- package/dist/crypto/Mac.d.ts +278 -0
- package/dist/crypto/Mac.d.ts.map +1 -0
- package/dist/crypto/Mac.js +288 -0
- package/dist/crypto/Mac.js.map +1 -0
- package/dist/crypto/SecureRandom.d.ts +340 -0
- package/dist/crypto/SecureRandom.d.ts.map +1 -0
- package/dist/crypto/SecureRandom.js +257 -0
- package/dist/crypto/SecureRandom.js.map +1 -0
- package/dist/crypto/Signature.d.ts +449 -0
- package/dist/crypto/Signature.d.ts.map +1 -0
- package/dist/crypto/Signature.js +484 -0
- package/dist/crypto/Signature.js.map +1 -0
- package/dist/crypto/WebCrypto.d.ts +80 -0
- package/dist/crypto/WebCrypto.d.ts.map +1 -0
- package/dist/crypto/WebCrypto.js +63 -0
- package/dist/crypto/WebCrypto.js.map +1 -0
- package/dist/crypto/index.d.ts +65 -0
- package/dist/crypto/index.d.ts.map +1 -0
- package/dist/crypto/index.js +66 -0
- package/dist/crypto/index.js.map +1 -0
- package/dist/crypto/internal/asymmetric.d.ts +2 -0
- package/dist/crypto/internal/asymmetric.d.ts.map +1 -0
- package/dist/crypto/internal/asymmetric.js +210 -0
- package/dist/crypto/internal/asymmetric.js.map +1 -0
- package/dist/crypto/internal/chacha.d.ts +46 -0
- package/dist/crypto/internal/chacha.d.ts.map +1 -0
- package/dist/crypto/internal/chacha.js +885 -0
- package/dist/crypto/internal/chacha.js.map +1 -0
- package/dist/crypto/internal/der.d.ts +6 -0
- package/dist/crypto/internal/der.d.ts.map +1 -0
- package/dist/crypto/internal/der.js +86 -0
- package/dist/crypto/internal/der.js.map +1 -0
- package/dist/crypto/internal/digest.d.ts +2 -0
- package/dist/crypto/internal/digest.d.ts.map +1 -0
- package/dist/crypto/internal/digest.js +15 -0
- package/dist/crypto/internal/digest.js.map +1 -0
- package/dist/crypto/internal/key.d.ts +2 -0
- package/dist/crypto/internal/key.d.ts.map +1 -0
- package/dist/crypto/internal/key.js +171 -0
- package/dist/crypto/internal/key.js.map +1 -0
- package/dist/crypto/internal/md5.d.ts +39 -0
- package/dist/crypto/internal/md5.d.ts.map +1 -0
- package/dist/crypto/internal/md5.js +179 -0
- package/dist/crypto/internal/md5.js.map +1 -0
- package/dist/crypto/internal/webCrypto.d.ts +2 -0
- package/dist/crypto/internal/webCrypto.d.ts.map +1 -0
- package/dist/crypto/internal/webCrypto.js +111 -0
- package/dist/crypto/internal/webCrypto.js.map +1 -0
- package/dist/encoding/Base64Url.d.ts.map +1 -1
- package/dist/encoding/Base64Url.js +29 -5
- package/dist/encoding/Base64Url.js.map +1 -1
- package/dist/encoding/Csv.d.ts +608 -0
- package/dist/encoding/Csv.d.ts.map +1 -0
- package/dist/encoding/Csv.js +718 -0
- package/dist/encoding/Csv.js.map +1 -0
- package/dist/encoding/Hex.d.ts +3 -2
- package/dist/encoding/Hex.d.ts.map +1 -1
- package/dist/encoding/Hex.js +3 -2
- package/dist/encoding/Hex.js.map +1 -1
- package/dist/encoding/Ndjson.d.ts +5 -4
- package/dist/encoding/Ndjson.d.ts.map +1 -1
- package/dist/encoding/Ndjson.js +6 -5
- package/dist/encoding/Ndjson.js.map +1 -1
- package/dist/encoding/SchemaBinary.d.ts.map +1 -1
- package/dist/encoding/SchemaBinary.js +42 -4
- package/dist/encoding/SchemaBinary.js.map +1 -1
- package/dist/encoding/Sse.d.ts +3 -1
- package/dist/encoding/Sse.d.ts.map +1 -1
- package/dist/encoding/Sse.js +5 -3
- package/dist/encoding/Sse.js.map +1 -1
- package/dist/encoding/Toml.d.ts +17 -3
- package/dist/encoding/Toml.d.ts.map +1 -1
- package/dist/encoding/Toml.js +104 -16
- package/dist/encoding/Toml.js.map +1 -1
- package/dist/encoding/Yaml.d.ts +8 -1
- package/dist/encoding/Yaml.d.ts.map +1 -1
- package/dist/encoding/Yaml.js +54 -18
- package/dist/encoding/Yaml.js.map +1 -1
- package/dist/encoding/index.d.ts +5 -0
- package/dist/encoding/index.d.ts.map +1 -1
- package/dist/encoding/index.js +5 -0
- package/dist/encoding/index.js.map +1 -1
- package/dist/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/eventlog/EventJournal.js +6 -3
- package/dist/eventlog/EventJournal.js.map +1 -1
- package/dist/eventlog/EventLog.d.ts +126 -4
- package/dist/eventlog/EventLog.d.ts.map +1 -1
- package/dist/eventlog/EventLog.js +207 -12
- package/dist/eventlog/EventLog.js.map +1 -1
- package/dist/eventlog/EventLogEncryption.d.ts +41 -4
- package/dist/eventlog/EventLogEncryption.d.ts.map +1 -1
- package/dist/eventlog/EventLogEncryption.js +83 -64
- package/dist/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/eventlog/EventLogMessage.d.ts +279 -0
- package/dist/eventlog/EventLogMessage.d.ts.map +1 -1
- package/dist/eventlog/EventLogMessage.js +217 -1
- package/dist/eventlog/EventLogMessage.js.map +1 -1
- package/dist/eventlog/EventLogRemote.d.ts +200 -28
- package/dist/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/eventlog/EventLogRemote.js +186 -16
- package/dist/eventlog/EventLogRemote.js.map +1 -1
- package/dist/eventlog/EventLogServer.d.ts +10 -1
- package/dist/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/eventlog/EventLogServer.js +45 -22
- package/dist/eventlog/EventLogServer.js.map +1 -1
- package/dist/eventlog/EventLogServerEncrypted.d.ts +336 -5
- package/dist/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/eventlog/EventLogServerEncrypted.js +769 -14
- package/dist/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/eventlog/EventLogServerUnencrypted.d.ts +17 -0
- package/dist/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/eventlog/EventLogServerUnencrypted.js +14 -2
- package/dist/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/eventlog/EventLogSessionAuth.d.ts +26 -3
- package/dist/eventlog/EventLogSessionAuth.d.ts.map +1 -1
- package/dist/eventlog/EventLogSessionAuth.js +63 -64
- package/dist/eventlog/EventLogSessionAuth.js.map +1 -1
- package/dist/eventlog/EventRow.d.ts +4 -0
- package/dist/eventlog/EventRow.d.ts.map +1 -1
- package/dist/eventlog/EventRow.js +12 -2
- package/dist/eventlog/EventRow.js.map +1 -1
- package/dist/eventlog/SqlEventJournal.js +2 -2
- package/dist/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/eventlog/SqlEventLogServerEncrypted.d.ts +21 -5
- package/dist/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
- package/dist/eventlog/SqlEventLogServerEncrypted.js +1048 -113
- package/dist/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.js +2 -2
- package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/eventlog/internal/batches.d.ts +12 -0
- package/dist/eventlog/internal/batches.d.ts.map +1 -0
- package/dist/eventlog/internal/batches.js +26 -0
- package/dist/eventlog/internal/batches.js.map +1 -0
- package/dist/eventlog/internal/compaction.d.ts +38 -0
- package/dist/eventlog/internal/compaction.d.ts.map +1 -0
- package/dist/eventlog/internal/compaction.js +33 -0
- package/dist/eventlog/internal/compaction.js.map +1 -0
- package/dist/eventlog/internal/identityRootSecretDerivation.js +66 -67
- package/dist/eventlog/internal/identityRootSecretDerivation.js.map +1 -1
- package/dist/eventlog/internal/remoteCompaction.d.ts +31 -0
- package/dist/eventlog/internal/remoteCompaction.d.ts.map +1 -0
- package/dist/eventlog/internal/remoteCompaction.js +76 -0
- package/dist/eventlog/internal/remoteCompaction.js.map +1 -0
- package/dist/graphql/GraphQLClient.d.ts +3 -1
- package/dist/graphql/GraphQLClient.d.ts.map +1 -1
- package/dist/graphql/GraphQLClient.js.map +1 -1
- package/dist/graphql/GraphQLClientError.d.ts +14 -9
- package/dist/graphql/GraphQLClientError.d.ts.map +1 -1
- package/dist/graphql/GraphQLClientError.js +14 -21
- package/dist/graphql/GraphQLClientError.js.map +1 -1
- package/dist/graphql/GraphQLProtocol.d.ts +12 -3
- package/dist/graphql/GraphQLProtocol.d.ts.map +1 -1
- package/dist/graphql/GraphQLProtocol.js +4 -1
- package/dist/graphql/GraphQLProtocol.js.map +1 -1
- package/dist/http/Cookies.d.ts +172 -0
- package/dist/http/Cookies.d.ts.map +1 -1
- package/dist/http/Cookies.js +143 -1
- package/dist/http/Cookies.js.map +1 -1
- package/dist/http/FetchHttpClient.d.ts +26 -2
- package/dist/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/http/FetchHttpClient.js +78 -15
- package/dist/http/FetchHttpClient.js.map +1 -1
- package/dist/http/HttpClient.d.ts +268 -15
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +140 -7
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/HttpClientRequest.d.ts +9 -5
- package/dist/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/http/HttpClientRequest.js +2 -3
- package/dist/http/HttpClientRequest.js.map +1 -1
- package/dist/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/http/HttpClientResponse.js +3 -2
- package/dist/http/HttpClientResponse.js.map +1 -1
- package/dist/http/HttpMethod.d.ts +7 -1
- package/dist/http/HttpMethod.d.ts.map +1 -1
- package/dist/http/HttpMethod.js +3 -8
- package/dist/http/HttpMethod.js.map +1 -1
- package/dist/http/HttpServerRequest.d.ts +5 -2
- package/dist/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/http/HttpServerRequest.js +44 -39
- package/dist/http/HttpServerRequest.js.map +1 -1
- package/dist/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/http/HttpServerResponse.js +3 -2
- package/dist/http/HttpServerResponse.js.map +1 -1
- package/dist/http/HttpTraceContext.d.ts +2 -1
- package/dist/http/HttpTraceContext.d.ts.map +1 -1
- package/dist/http/HttpTraceContext.js +7 -5
- package/dist/http/HttpTraceContext.js.map +1 -1
- package/dist/http/ProblemDetails.d.ts +96 -0
- package/dist/http/ProblemDetails.d.ts.map +1 -0
- package/dist/http/ProblemDetails.js +98 -0
- package/dist/http/ProblemDetails.js.map +1 -0
- package/dist/http/index.d.ts +5 -0
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +5 -0
- package/dist/http/index.js.map +1 -1
- package/dist/http/internal/decompression.js +3 -2
- package/dist/http/internal/decompression.js.map +1 -1
- package/dist/http/internal/mimeTypes.d.ts +4 -1
- package/dist/http/internal/mimeTypes.d.ts.map +1 -1
- package/dist/http/internal/mimeTypes.js +4 -1
- package/dist/http/internal/mimeTypes.js.map +1 -1
- package/dist/http/internal/urlParams.js +8 -0
- package/dist/http/internal/urlParams.js.map +1 -1
- package/dist/http-api/HttpApiBuilder.js +19 -5
- package/dist/http-api/HttpApiBuilder.js.map +1 -1
- package/dist/http-api/HttpApiClient.d.ts +63 -0
- package/dist/http-api/HttpApiClient.d.ts.map +1 -1
- package/dist/http-api/HttpApiClient.js +51 -0
- package/dist/http-api/HttpApiClient.js.map +1 -1
- package/dist/http-api/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/http-api/HttpApiEndpoint.js +14 -5
- package/dist/http-api/HttpApiEndpoint.js.map +1 -1
- package/dist/http-api/HttpApiError.d.ts +185 -13
- package/dist/http-api/HttpApiError.d.ts.map +1 -1
- package/dist/http-api/HttpApiError.js +128 -0
- package/dist/http-api/HttpApiError.js.map +1 -1
- package/dist/http-api/HttpApiMiddleware.d.ts +64 -17
- package/dist/http-api/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/http-api/HttpApiMiddleware.js +85 -1
- package/dist/http-api/HttpApiMiddleware.js.map +1 -1
- package/dist/http-api/HttpApiSchema.d.ts +76 -14
- package/dist/http-api/HttpApiSchema.d.ts.map +1 -1
- package/dist/http-api/HttpApiSchema.js +54 -1
- package/dist/http-api/HttpApiSchema.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/internal/dateTime.js +49 -24
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +35 -14
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/glob.d.ts +2 -0
- package/dist/internal/glob.d.ts.map +1 -0
- package/dist/internal/glob.js +808 -0
- package/dist/internal/glob.js.map +1 -0
- package/dist/internal/graphql.js +21 -7
- package/dist/internal/graphql.js.map +1 -1
- package/dist/internal/graphqlHeaders.d.ts +7 -0
- package/dist/internal/graphqlHeaders.d.ts.map +1 -1
- package/dist/internal/graphqlHeaders.js +11 -0
- package/dist/internal/graphqlHeaders.js.map +1 -1
- package/dist/internal/matcher.js +10 -0
- package/dist/internal/matcher.js.map +1 -1
- package/dist/internal/persistence.js +9 -0
- package/dist/internal/persistence.js.map +1 -1
- package/dist/internal/rcRef.js +4 -1
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/request.js +29 -42
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schema/fromJsonSchemaDocument.js +7 -8
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toCodeDocument.js +6 -3
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/trie.js +42 -13
- package/dist/internal/trie.js.map +1 -1
- package/dist/internal/ulid.js +41 -0
- package/dist/internal/ulid.js.map +1 -1
- package/dist/internal/uuid.js +52 -8
- package/dist/internal/uuid.js.map +1 -1
- package/dist/internal/version.js +1 -1
- package/dist/jose/JoseError.d.ts +285 -0
- package/dist/jose/JoseError.d.ts.map +1 -0
- package/dist/jose/JoseError.js +269 -0
- package/dist/jose/JoseError.js.map +1 -0
- package/dist/jose/Jwe.d.ts +128 -0
- package/dist/jose/Jwe.d.ts.map +1 -0
- package/dist/jose/Jwe.js +134 -0
- package/dist/jose/Jwe.js.map +1 -0
- package/dist/jose/Jwk.d.ts +597 -0
- package/dist/jose/Jwk.d.ts.map +1 -0
- package/dist/jose/Jwk.js +503 -0
- package/dist/jose/Jwk.js.map +1 -0
- package/dist/jose/Jwks.d.ts +236 -0
- package/dist/jose/Jwks.d.ts.map +1 -0
- package/dist/jose/Jwks.js +306 -0
- package/dist/jose/Jwks.js.map +1 -0
- package/dist/jose/Jws.d.ts +177 -0
- package/dist/jose/Jws.d.ts.map +1 -0
- package/dist/jose/Jws.js +183 -0
- package/dist/jose/Jws.js.map +1 -0
- package/dist/jose/Jwt.d.ts +270 -0
- package/dist/jose/Jwt.d.ts.map +1 -0
- package/dist/jose/Jwt.js +293 -0
- package/dist/jose/Jwt.js.map +1 -0
- package/dist/jose/index.d.ts +51 -0
- package/dist/jose/index.d.ts.map +1 -0
- package/dist/jose/index.js +52 -0
- package/dist/jose/index.js.map +1 -0
- package/dist/jose/internal/compact.d.ts +2 -0
- package/dist/jose/internal/compact.d.ts.map +1 -0
- package/dist/jose/internal/compact.js +179 -0
- package/dist/jose/internal/compact.js.map +1 -0
- package/dist/net/Host.d.ts.map +1 -1
- package/dist/net/Host.js +5 -10
- package/dist/net/Host.js.map +1 -1
- package/dist/observability/Otlp.d.ts +15 -4
- package/dist/observability/Otlp.d.ts.map +1 -1
- package/dist/observability/Otlp.js +10 -0
- package/dist/observability/Otlp.js.map +1 -1
- package/dist/observability/OtlpResource.d.ts +7 -0
- package/dist/observability/OtlpResource.d.ts.map +1 -1
- package/dist/observability/OtlpResource.js +11 -1
- package/dist/observability/OtlpResource.js.map +1 -1
- package/dist/observability/OtlpSerialization.d.ts +1 -1
- package/dist/observability/OtlpSerialization.d.ts.map +1 -1
- package/dist/observability/OtlpSerialization.js +10 -4
- package/dist/observability/OtlpSerialization.js.map +1 -1
- package/dist/observability/internal/otlpProtobuf.js +3 -3
- package/dist/observability/internal/otlpProtobuf.js.map +1 -1
- package/dist/observability/internal/protobuf.js +6 -0
- package/dist/observability/internal/protobuf.js.map +1 -1
- package/dist/persistence/CircuitBreaker.d.ts +98 -38
- package/dist/persistence/CircuitBreaker.d.ts.map +1 -1
- package/dist/persistence/CircuitBreaker.js +67 -29
- package/dist/persistence/CircuitBreaker.js.map +1 -1
- package/dist/persistence/KeyValueStore.d.ts +47 -2
- package/dist/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/persistence/KeyValueStore.js +129 -18
- package/dist/persistence/KeyValueStore.js.map +1 -1
- package/dist/persistence/PersistedQueue.d.ts +9 -0
- package/dist/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/persistence/PersistedQueue.js +94 -52
- package/dist/persistence/PersistedQueue.js.map +1 -1
- package/dist/persistence/Persistence.d.ts +10 -4
- package/dist/persistence/Persistence.d.ts.map +1 -1
- package/dist/persistence/Persistence.js +18 -11
- package/dist/persistence/Persistence.js.map +1 -1
- package/dist/persistence/RateLimiter.d.ts +8 -0
- package/dist/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/persistence/RateLimiter.js +63 -12
- package/dist/persistence/RateLimiter.js.map +1 -1
- package/dist/persistence/index.d.ts +1 -1
- package/dist/persistence/index.js +1 -1
- package/dist/process/ChildProcess.d.ts +207 -67
- package/dist/process/ChildProcess.d.ts.map +1 -1
- package/dist/process/ChildProcess.js +56 -158
- package/dist/process/ChildProcess.js.map +1 -1
- package/dist/process/ChildProcessSpawner.d.ts +5 -0
- package/dist/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/process/ChildProcessSpawner.js.map +1 -1
- package/dist/process/CommandLine.d.ts +294 -0
- package/dist/process/CommandLine.d.ts.map +1 -0
- package/dist/process/CommandLine.js +481 -0
- package/dist/process/CommandLine.js.map +1 -0
- package/dist/process/index.d.ts +5 -0
- package/dist/process/index.d.ts.map +1 -1
- package/dist/process/index.js +5 -0
- package/dist/process/index.js.map +1 -1
- package/dist/reactivity/Atom.d.ts +2 -1
- package/dist/reactivity/Atom.d.ts.map +1 -1
- package/dist/reactivity/Atom.js +3 -4
- package/dist/reactivity/Atom.js.map +1 -1
- package/dist/reactivity/AtomRegistry.js +17 -7
- package/dist/reactivity/AtomRegistry.js.map +1 -1
- package/dist/rpc/Rpc.d.ts +1 -1
- package/dist/rpc/Rpc.d.ts.map +1 -1
- package/dist/rpc/Rpc.js.map +1 -1
- package/dist/rpc/RpcClient.d.ts +28 -1
- package/dist/rpc/RpcClient.d.ts.map +1 -1
- package/dist/rpc/RpcClient.js +78 -27
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcMessage.d.ts +13 -3
- package/dist/rpc/RpcMessage.d.ts.map +1 -1
- package/dist/rpc/RpcMessage.js +1 -0
- package/dist/rpc/RpcMessage.js.map +1 -1
- package/dist/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/rpc/RpcSerialization.js +6 -0
- package/dist/rpc/RpcSerialization.js.map +1 -1
- package/dist/rpc/RpcServer.d.ts +31 -0
- package/dist/rpc/RpcServer.d.ts.map +1 -1
- package/dist/rpc/RpcServer.js +139 -66
- package/dist/rpc/RpcServer.js.map +1 -1
- package/dist/schema/Model.d.ts +14 -0
- package/dist/schema/Model.d.ts.map +1 -1
- package/dist/schema/Model.js +18 -3
- package/dist/schema/Model.js.map +1 -1
- package/dist/sql/Migrator.d.ts +9 -20
- package/dist/sql/Migrator.d.ts.map +1 -1
- package/dist/sql/Migrator.js +20 -53
- package/dist/sql/Migrator.js.map +1 -1
- package/dist/sql/MigratorFileSystem.d.ts +21 -0
- package/dist/sql/MigratorFileSystem.d.ts.map +1 -0
- package/dist/sql/MigratorFileSystem.js +57 -0
- package/dist/sql/MigratorFileSystem.js.map +1 -0
- package/dist/sql/SqlClient.d.ts +38 -3
- package/dist/sql/SqlClient.d.ts.map +1 -1
- package/dist/sql/SqlClient.js +9 -12
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/sql/Statement.d.ts +61 -9
- package/dist/sql/Statement.d.ts.map +1 -1
- package/dist/sql/Statement.js +24 -33
- package/dist/sql/Statement.js.map +1 -1
- package/dist/sql/index.js +1 -1
- package/dist/testing/index.d.ts +0 -5
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +0 -5
- package/dist/testing/index.js.map +1 -1
- package/dist/workflow/Workflow.d.ts +4 -0
- package/dist/workflow/Workflow.d.ts.map +1 -1
- package/dist/workflow/Workflow.js.map +1 -1
- package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/workflow/WorkflowEngine.js +5 -0
- package/dist/workflow/WorkflowEngine.js.map +1 -1
- package/dist/workflow/internal/crypto.js +9 -8
- package/dist/workflow/internal/crypto.js.map +1 -1
- package/package.json +7 -1
- package/src/BigDecimal.ts +173 -16
- package/src/Channel.ts +17 -11
- package/src/Config.ts +7 -1
- package/src/Context.ts +34 -10
- package/src/Cron.ts +178 -29
- package/src/Duration.ts +140 -0
- package/src/Effect.ts +914 -85
- package/src/Equal.ts +3 -3
- package/src/FileSystem.ts +65 -4
- package/src/Glob.ts +205 -0
- package/src/Hash.ts +5 -4
- package/src/Iterable.ts +8 -5
- package/src/Match.ts +127 -0
- package/src/Path.ts +6 -1
- package/src/Pool.ts +75 -16
- package/src/Random.ts +3 -3
- package/src/RcMap.ts +5 -1
- package/src/Schedule.ts +26 -3
- package/src/Schema.ts +1191 -63
- package/src/SchemaGetter.ts +27 -11
- package/src/SchemaRepresentation.ts +23 -2
- package/src/SchemaTransformation.ts +10 -5
- package/src/ScopedCache.ts +5 -9
- package/src/Semaphore.ts +141 -0
- package/src/Stream.ts +15 -6
- package/src/Terminal.ts +19 -1
- package/src/ai/AiError.ts +56 -80
- package/src/ai/Decision.ts +257 -6
- package/src/ai/DecisionModel.ts +171 -28
- package/src/ai/McpClient.ts +488 -91
- package/src/ai/McpSchema.ts +119 -0
- package/src/ai/McpServer.ts +1525 -319
- package/src/ai/McpTest.ts +380 -0
- package/src/ai/Prompt.ts +16 -11
- package/src/ai/Response.ts +2 -22
- package/src/ai/Tool.ts +32 -18
- package/src/ai/index.ts +6 -0
- package/src/ai/internal/mcpCore.ts +243 -56
- package/src/ai/internal/mcpProtocol/v2024_11_05.ts +7 -8
- package/src/ai/internal/mcpProtocol/v2025_03_26.ts +7 -8
- package/src/ai/internal/mcpProtocol/v2025_06_18.ts +7 -8
- package/src/ai/internal/mcpProtocol/v2025_11_25.ts +7 -8
- package/src/ai/internal/mcpProtocol/v2026_07_28.ts +56 -17
- package/src/ai/internal/mcpProtocol.ts +44 -0
- package/src/ai/internal/mcpRuntime.ts +15 -8
- package/src/ai/internal/mcpSkills.ts +480 -0
- package/src/ai/internal/mcpStatefulRuntime.ts +14 -2
- package/src/cli/Argument.ts +6 -0
- package/src/cli/CliOutput.ts +117 -49
- package/src/cli/Command.ts +23 -0
- package/src/cli/Flag.ts +107 -0
- package/src/cli/HelpDoc.ts +18 -1
- package/src/cli/Param.ts +6 -0
- package/src/cli/Primitive.ts +16 -1
- package/src/cli/Prompt.ts +1 -0
- package/src/cli/internal/help.ts +21 -9
- package/src/cluster/ClusterWorkflowEngine.ts +22 -8
- package/src/cluster/Reply.ts +1 -1
- package/src/cluster/Sharding.ts +96 -26
- package/src/cluster/ShardingConfig.ts +41 -3
- package/src/cluster/SingleRunner.ts +3 -3
- package/src/cluster/SqlMessageStorage.ts +49 -17
- package/src/cluster/SqlRunnerStorage.ts +37 -27
- package/src/cluster/internal/entityManager.ts +24 -10
- package/src/crypto/Aead.ts +517 -0
- package/src/crypto/Cipher.ts +326 -0
- package/src/crypto/CryptoError.ts +242 -0
- package/src/crypto/Digest.ts +167 -0
- package/src/crypto/Kdf.ts +315 -0
- package/src/crypto/KeyAgreement.ts +489 -0
- package/src/crypto/KeyFormat.ts +741 -0
- package/src/crypto/KeyWrap.ts +639 -0
- package/src/crypto/Mac.ts +386 -0
- package/src/crypto/SecureRandom.ts +459 -0
- package/src/crypto/Signature.ts +673 -0
- package/src/crypto/WebCrypto.ts +84 -0
- package/src/crypto/index.ts +78 -0
- package/src/crypto/internal/asymmetric.ts +330 -0
- package/src/crypto/internal/chacha.ts +1088 -0
- package/src/crypto/internal/der.ts +110 -0
- package/src/crypto/internal/digest.ts +16 -0
- package/src/crypto/internal/key.ts +242 -0
- package/src/crypto/internal/md5.ts +170 -0
- package/src/crypto/internal/webCrypto.ts +150 -0
- package/src/encoding/Base64Url.ts +32 -5
- package/src/encoding/Csv.ts +1298 -0
- package/src/encoding/Hex.ts +3 -2
- package/src/encoding/Ndjson.ts +6 -5
- package/src/encoding/SchemaBinary.ts +40 -4
- package/src/encoding/Sse.ts +5 -3
- package/src/encoding/Toml.ts +85 -20
- package/src/encoding/Yaml.ts +61 -18
- package/src/encoding/index.ts +6 -0
- package/src/eventlog/EventJournal.ts +4 -3
- package/src/eventlog/EventLog.ts +347 -15
- package/src/eventlog/EventLogEncryption.ts +118 -110
- package/src/eventlog/EventLogMessage.ts +273 -1
- package/src/eventlog/EventLogRemote.ts +367 -23
- package/src/eventlog/EventLogServer.ts +54 -20
- package/src/eventlog/EventLogServerEncrypted.ts +1135 -67
- package/src/eventlog/EventLogServerUnencrypted.ts +19 -2
- package/src/eventlog/EventLogSessionAuth.ts +82 -70
- package/src/eventlog/EventRow.ts +12 -3
- package/src/eventlog/SqlEventJournal.ts +2 -2
- package/src/eventlog/SqlEventLogServerEncrypted.ts +1244 -136
- package/src/eventlog/SqlEventLogServerUnencrypted.ts +2 -2
- package/src/eventlog/internal/batches.ts +30 -0
- package/src/eventlog/internal/compaction.ts +64 -0
- package/src/eventlog/internal/identityRootSecretDerivation.ts +93 -123
- package/src/eventlog/internal/remoteCompaction.ts +92 -0
- package/src/graphql/GraphQLClient.ts +3 -1
- package/src/graphql/GraphQLClientError.ts +15 -22
- package/src/graphql/GraphQLProtocol.ts +12 -3
- package/src/http/Cookies.ts +281 -1
- package/src/http/FetchHttpClient.ts +88 -16
- package/src/http/HttpClient.ts +299 -33
- package/src/http/HttpClientRequest.ts +12 -9
- package/src/http/HttpClientResponse.ts +3 -2
- package/src/http/HttpMethod.ts +10 -2
- package/src/http/HttpServerRequest.ts +76 -53
- package/src/http/HttpServerResponse.ts +3 -2
- package/src/http/HttpTraceContext.ts +7 -4
- package/src/http/ProblemDetails.ts +149 -0
- package/src/http/index.ts +6 -0
- package/src/http/internal/decompression.ts +4 -4
- package/src/http/internal/mimeTypes.ts +4 -1
- package/src/http/internal/urlParams.ts +8 -0
- package/src/http-api/HttpApiBuilder.ts +24 -12
- package/src/http-api/HttpApiClient.ts +67 -1
- package/src/http-api/HttpApiEndpoint.ts +14 -5
- package/src/http-api/HttpApiError.ts +250 -0
- package/src/http-api/HttpApiMiddleware.ts +95 -1
- package/src/http-api/HttpApiSchema.ts +106 -15
- package/src/index.ts +6 -6
- package/src/internal/dateTime.ts +54 -24
- package/src/internal/effect.ts +40 -18
- package/src/internal/glob.ts +952 -0
- package/src/internal/graphql.ts +27 -9
- package/src/internal/graphqlHeaders.ts +13 -0
- package/src/internal/matcher.ts +17 -0
- package/src/internal/persistence.ts +11 -0
- package/src/internal/rcRef.ts +4 -1
- package/src/internal/request.ts +51 -58
- package/src/internal/schema/fromJsonSchemaDocument.ts +11 -10
- package/src/internal/schema/toCodeDocument.ts +7 -3
- package/src/internal/trie.ts +43 -14
- package/src/internal/ulid.ts +44 -0
- package/src/internal/uuid.ts +57 -16
- package/src/internal/version.ts +1 -1
- package/src/jose/JoseError.ts +329 -0
- package/src/jose/Jwe.ts +196 -0
- package/src/jose/Jwk.ts +777 -0
- package/src/jose/Jwks.ts +418 -0
- package/src/jose/Jws.ts +312 -0
- package/src/jose/Jwt.ts +493 -0
- package/src/jose/index.ts +58 -0
- package/src/jose/internal/compact.ts +195 -0
- package/src/net/Host.ts +5 -10
- package/src/observability/Otlp.ts +21 -4
- package/src/observability/OtlpResource.ts +9 -1
- package/src/observability/OtlpSerialization.ts +13 -5
- package/src/observability/internal/otlpProtobuf.ts +6 -6
- package/src/observability/internal/protobuf.ts +10 -0
- package/src/persistence/CircuitBreaker.ts +113 -48
- package/src/persistence/KeyValueStore.ts +219 -22
- package/src/persistence/PersistedQueue.ts +128 -59
- package/src/persistence/Persistence.ts +20 -13
- package/src/persistence/RateLimiter.ts +84 -15
- package/src/persistence/index.ts +1 -1
- package/src/process/ChildProcess.ts +255 -260
- package/src/process/ChildProcessSpawner.ts +5 -0
- package/src/process/CommandLine.ts +630 -0
- package/src/process/index.ts +6 -0
- package/src/reactivity/Atom.ts +5 -5
- package/src/reactivity/AtomRegistry.ts +20 -9
- package/src/rpc/Rpc.ts +3 -1
- package/src/rpc/RpcClient.ts +94 -38
- package/src/rpc/RpcMessage.ts +13 -3
- package/src/rpc/RpcSerialization.ts +3 -0
- package/src/rpc/RpcServer.ts +176 -78
- package/src/schema/Model.ts +26 -3
- package/src/sql/Migrator.ts +38 -80
- package/src/sql/MigratorFileSystem.ts +71 -0
- package/src/sql/SqlClient.ts +45 -24
- package/src/sql/Statement.ts +60 -29
- package/src/sql/index.ts +1 -1
- package/src/testing/index.ts +0 -6
- package/src/workflow/Workflow.ts +4 -0
- package/src/workflow/WorkflowEngine.ts +5 -0
- package/src/workflow/internal/crypto.ts +15 -11
- package/dist/Crypto.d.ts +0 -244
- package/dist/Crypto.d.ts.map +0 -1
- package/dist/Crypto.js +0 -139
- package/dist/Crypto.js.map +0 -1
- package/dist/testing/TestCrypto.d.ts +0 -73
- package/dist/testing/TestCrypto.d.ts.map +0 -1
- package/dist/testing/TestCrypto.js +0 -87
- package/dist/testing/TestCrypto.js.map +0 -1
- package/src/Crypto.ts +0 -347
- package/src/testing/TestCrypto.ts +0 -94
package/dist/Context.js
CHANGED
|
@@ -116,11 +116,10 @@ const ServiceProto = {
|
|
|
116
116
|
const cacheKeys = /*#__PURE__*/new Set();
|
|
117
117
|
const ReferenceTypeId = "~effect/Context/Reference";
|
|
118
118
|
const TypeId = "~effect/Context";
|
|
119
|
-
const MaxDepth = 8;
|
|
120
119
|
// Keep small bases cheap to read; larger bases are worth copying only after
|
|
121
120
|
// enough fall-throughs to amortize the copy.
|
|
122
121
|
const FlattenAfterBaseHits = 8;
|
|
123
|
-
const makeImpl = (cacheRoot, base, overlay, depth) => {
|
|
122
|
+
const makeImpl = (cacheRoot, base, overlay, depth, maxDepth) => {
|
|
124
123
|
const self = Object.create(Proto);
|
|
125
124
|
self.cacheRoot = cacheRoot ?? self;
|
|
126
125
|
self.base = base;
|
|
@@ -128,6 +127,7 @@ const makeImpl = (cacheRoot, base, overlay, depth) => {
|
|
|
128
127
|
self.depth = depth;
|
|
129
128
|
self._flat = undefined;
|
|
130
129
|
self.baseHits = 0;
|
|
130
|
+
self.maxDepth = maxDepth;
|
|
131
131
|
return self;
|
|
132
132
|
};
|
|
133
133
|
const applyOverlays = (map, overlay) => {
|
|
@@ -145,7 +145,7 @@ const flatten = self => {
|
|
|
145
145
|
const withFlat = (self, f) => {
|
|
146
146
|
const map = new Map(self.mapUnsafe);
|
|
147
147
|
f(map);
|
|
148
|
-
return
|
|
148
|
+
return makeImpl(undefined, map, undefined, 0, self.maxDepth);
|
|
149
149
|
};
|
|
150
150
|
// A private symbol so user code cannot forge a value that reads as absent
|
|
151
151
|
const notFound = /*#__PURE__*/Symbol();
|
|
@@ -174,8 +174,23 @@ const lookup = (self, key) => {
|
|
|
174
174
|
* Use when constructing a low-level `Context` from a trusted map whose lifecycle
|
|
175
175
|
* you control.
|
|
176
176
|
*
|
|
177
|
+
* **Details**
|
|
178
|
+
*
|
|
179
|
+
* `options.maxDepth` sets how many `add` calls are kept as overlays before the
|
|
180
|
+
* context is rebased into a flat map (default `8`). Lower values make lookups
|
|
181
|
+
* cheaper, higher values make additions to a large base cheaper. Invalid
|
|
182
|
+
* values fall back to the default.
|
|
183
|
+
*
|
|
184
|
+
* Contexts derived with `add`, `pick`, `omit`, and `merge` keep the setting
|
|
185
|
+
* (`merge` from its first non-empty argument). `make`, `empty`, and `mergeAll`
|
|
186
|
+
* use the default. Layers are combined with `mergeAll`, so apply it to the
|
|
187
|
+
* final context rather than inside a layer.
|
|
188
|
+
*
|
|
177
189
|
* **Gotchas**
|
|
178
190
|
*
|
|
191
|
+
* Excessively large `maxDepth` values can cause stack overflow when overlays
|
|
192
|
+
* are materialized or rebased. Choose a modest value.
|
|
193
|
+
*
|
|
179
194
|
* The provided map is retained without copying and must not be mutated after
|
|
180
195
|
* construction. Prefer `empty`, `make`, `add`, or `merge` for normal Context
|
|
181
196
|
* construction.
|
|
@@ -198,7 +213,11 @@ const lookup = (self, key) => {
|
|
|
198
213
|
* @category constructors
|
|
199
214
|
* @since 4.0.0
|
|
200
215
|
*/
|
|
201
|
-
export const makeUnsafe =
|
|
216
|
+
export const makeUnsafe = (mapUnsafe, options) => {
|
|
217
|
+
const maxDepth = options?.maxDepth;
|
|
218
|
+
// NaN or Infinity would never trigger a rebase, so fall back to the default
|
|
219
|
+
return makeImpl(undefined, mapUnsafe, undefined, 0, Number.isInteger(maxDepth) && maxDepth >= 0 ? maxDepth : 8);
|
|
220
|
+
};
|
|
202
221
|
const Proto = {
|
|
203
222
|
get mapUnsafe() {
|
|
204
223
|
return flatten(this);
|
|
@@ -385,18 +404,18 @@ export const add = /*#__PURE__*/dual(3, (self, key, service) => addUnsafe(self,
|
|
|
385
404
|
export const addUnsafe = (self, key, service) => {
|
|
386
405
|
const impl = self;
|
|
387
406
|
const cacheRoot = cacheKeys.has(key) ? undefined : impl.cacheRoot;
|
|
388
|
-
if (impl.depth >=
|
|
407
|
+
if (impl.depth >= impl.maxDepth) {
|
|
389
408
|
// Avoid mapUnsafe: it would flatten the parent before copying.
|
|
390
409
|
const map = new Map(impl._flat ?? impl.base);
|
|
391
410
|
if (!impl._flat) applyOverlays(map, impl.overlay);
|
|
392
411
|
map.set(key, service);
|
|
393
|
-
return makeImpl(cacheRoot, map, undefined, 0);
|
|
412
|
+
return makeImpl(cacheRoot, map, undefined, 0, impl.maxDepth);
|
|
394
413
|
}
|
|
395
414
|
return makeImpl(cacheRoot, impl.base, {
|
|
396
415
|
key,
|
|
397
416
|
value: service,
|
|
398
417
|
parent: impl.overlay
|
|
399
|
-
}, impl.depth + 1);
|
|
418
|
+
}, impl.depth + 1, impl.maxDepth);
|
|
400
419
|
};
|
|
401
420
|
/**
|
|
402
421
|
* Adds or removes a service depending on an `Option`.
|
|
@@ -774,7 +793,7 @@ export const pick = (...services) => self => {
|
|
|
774
793
|
const value = lookup(self, key);
|
|
775
794
|
if (value !== notFound) map.set(key, value);
|
|
776
795
|
}
|
|
777
|
-
return
|
|
796
|
+
return makeImpl(undefined, map, undefined, 0, self.maxDepth);
|
|
778
797
|
}
|
|
779
798
|
const keep = new Set(services.map(key => key.key));
|
|
780
799
|
return withFlat(self, map => map.forEach((_, key) => {
|
package/dist/Context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","names":[],"sources":["../src/Context.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Context.js","names":[],"sources":["../src/Context.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/Cron.d.ts
CHANGED
|
@@ -6,6 +6,59 @@ import * as Option from "./Option.ts";
|
|
|
6
6
|
import { type Pipeable } from "./Pipeable.ts";
|
|
7
7
|
import * as Result from "./Result.ts";
|
|
8
8
|
declare const TypeId = "~effect/Cron";
|
|
9
|
+
/**
|
|
10
|
+
* Chooses which occurrences of a repeated wall-clock time a `Cron` schedule
|
|
11
|
+
* includes.
|
|
12
|
+
*
|
|
13
|
+
* **When to use**
|
|
14
|
+
*
|
|
15
|
+
* Use to control how a schedule behaves when clocks fall back, for example at
|
|
16
|
+
* the end of daylight saving time, and a range of local times occurs twice.
|
|
17
|
+
*
|
|
18
|
+
* **Details**
|
|
19
|
+
*
|
|
20
|
+
* Despite the name, the policy applies to every repeated local time, not only
|
|
21
|
+
* those caused by daylight saving time. For example, Antarctica/Casey repeated
|
|
22
|
+
* 00:00-02:59 on 2023-03-09 when its standard offset changed from +11:00 to
|
|
23
|
+
* +08:00.
|
|
24
|
+
*
|
|
25
|
+
* - `"earlier"` (default) includes only the first occurrence, before the
|
|
26
|
+
* offset change.
|
|
27
|
+
* - `"later"` includes only the second occurrence, after the offset change.
|
|
28
|
+
* - `"both"` includes both occurrences, in chronological order.
|
|
29
|
+
*
|
|
30
|
+
* Time zones without repeated times, such as UTC or fixed offsets, behave the
|
|
31
|
+
* same under every policy.
|
|
32
|
+
*
|
|
33
|
+
* **Gotchas**
|
|
34
|
+
*
|
|
35
|
+
* The policy does not apply to local times skipped when clocks move forward. A
|
|
36
|
+
* matching time inside such a gap resolves to the instant after the gap, the
|
|
37
|
+
* same under every policy, and near a gap `next` and `prev` are not guaranteed
|
|
38
|
+
* to return the nearest matching instant.
|
|
39
|
+
*
|
|
40
|
+
* **Example** (Running every occurrence of a repeated hour)
|
|
41
|
+
*
|
|
42
|
+
* ```ts import.meta.vitest
|
|
43
|
+
* import { Cron } from "effect"
|
|
44
|
+
*
|
|
45
|
+
* // Europe/Berlin repeats 02:00-02:59 on 2026-10-25, first at +02:00
|
|
46
|
+
* // (00:30Z) and again at +01:00 (01:30Z)
|
|
47
|
+
* const earlier = Cron.parseUnsafe("30 2 * * *", "Europe/Berlin")
|
|
48
|
+
* const both = Cron.parseUnsafe("30 2 * * *", "Europe/Berlin", { onDstOverlap: "both" })
|
|
49
|
+
*
|
|
50
|
+
* Cron.next(earlier, "2026-10-25T00:30:00Z").toISOString() // => "2026-10-26T01:30:00.000Z"
|
|
51
|
+
* Cron.next(both, "2026-10-25T00:30:00Z").toISOString() // => "2026-10-25T01:30:00.000Z"
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* @see {@link make} for setting the policy from explicit field constraints
|
|
55
|
+
* @see {@link parse} for setting the policy when parsing an expression
|
|
56
|
+
*
|
|
57
|
+
* @stability stable
|
|
58
|
+
* @category models
|
|
59
|
+
* @since 4.1.0
|
|
60
|
+
*/
|
|
61
|
+
export type DstOverlapPolicy = "earlier" | "later" | "both";
|
|
9
62
|
/**
|
|
10
63
|
* Represents a cron schedule with time constraints and timezone information.
|
|
11
64
|
*
|
|
@@ -57,6 +110,7 @@ export interface Cron extends Pipeable, Equal.Equal, Inspectable {
|
|
|
57
110
|
readonly days: ReadonlySet<number>;
|
|
58
111
|
readonly months: ReadonlySet<number>;
|
|
59
112
|
readonly weekdays: ReadonlySet<number>;
|
|
113
|
+
readonly onDstOverlap: DstOverlapPolicy;
|
|
60
114
|
}
|
|
61
115
|
/**
|
|
62
116
|
* Checks whether a given value is a Cron instance.
|
|
@@ -111,8 +165,9 @@ export declare const isCron: (u: unknown) => u is Cron;
|
|
|
111
165
|
* time unit unrestricted. If only days or weekdays are restricted, that field
|
|
112
166
|
* must match. When both are restricted, the default matches either field; set
|
|
113
167
|
* `and: true` to require both fields to match. Weekdays range from `0` (Sunday)
|
|
114
|
-
* to `7` (also Sunday).
|
|
115
|
-
*
|
|
168
|
+
* to `7` (also Sunday). `onDstOverlap` chooses which occurrences of repeated
|
|
169
|
+
* local times are included and defaults to `"earlier"`. The constructor throws a
|
|
170
|
+
* `RangeError` when a field contains a non-integer or out-of-range value.
|
|
116
171
|
*
|
|
117
172
|
* **Example** (Creating schedules from constraints)
|
|
118
173
|
*
|
|
@@ -192,6 +247,7 @@ export declare const make: (values: {
|
|
|
192
247
|
readonly weekdays: Iterable<number>;
|
|
193
248
|
readonly and?: boolean | undefined;
|
|
194
249
|
readonly tz?: DateTime.TimeZone | undefined;
|
|
250
|
+
readonly onDstOverlap?: DstOverlapPolicy | undefined;
|
|
195
251
|
}) => Cron;
|
|
196
252
|
declare const CronParseErrorTypeId = "~effect/Cron/CronParseError";
|
|
197
253
|
declare const CronParseError_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 & {
|
|
@@ -283,6 +339,8 @@ export declare const isCronParseError: (u: unknown) => u is CronParseError;
|
|
|
283
339
|
* `CronParseError`. When both the day-of-month and weekday fields are
|
|
284
340
|
* restricted, a date matches if either field matches. When either field starts
|
|
285
341
|
* with `*`, both fields must match; an unrestricted field always matches.
|
|
342
|
+
* `options.onDstOverlap` chooses which occurrences of repeated local times are
|
|
343
|
+
* included and defaults to `"earlier"`.
|
|
286
344
|
*
|
|
287
345
|
* **Example** (Parsing cron expressions)
|
|
288
346
|
*
|
|
@@ -303,7 +361,9 @@ export declare const isCronParseError: (u: unknown) => u is CronParseError;
|
|
|
303
361
|
* @category constructors
|
|
304
362
|
* @since 2.0.0
|
|
305
363
|
*/
|
|
306
|
-
export declare const parse: (cron: string, tz?: DateTime.TimeZone | string
|
|
364
|
+
export declare const parse: (cron: string, tz?: DateTime.TimeZone | string, options?: {
|
|
365
|
+
readonly onDstOverlap?: DstOverlapPolicy | undefined;
|
|
366
|
+
}) => Result.Result<Cron, CronParseError>;
|
|
307
367
|
/**
|
|
308
368
|
* Parses a cron expression into a `Cron` instance, throwing on failure.
|
|
309
369
|
*
|
|
@@ -333,7 +393,9 @@ export declare const parse: (cron: string, tz?: DateTime.TimeZone | string) => R
|
|
|
333
393
|
* @category constructors
|
|
334
394
|
* @since 4.0.0
|
|
335
395
|
*/
|
|
336
|
-
export declare const parseUnsafe: (cron: string, tz?: DateTime.TimeZone | string
|
|
396
|
+
export declare const parseUnsafe: (cron: string, tz?: DateTime.TimeZone | string, options?: {
|
|
397
|
+
readonly onDstOverlap?: DstOverlapPolicy | undefined;
|
|
398
|
+
}) => Cron;
|
|
337
399
|
/**
|
|
338
400
|
* Formats a `Cron` instance as a cron expression.
|
|
339
401
|
*
|
|
@@ -344,8 +406,8 @@ export declare const parseUnsafe: (cron: string, tz?: DateTime.TimeZone | string
|
|
|
344
406
|
*
|
|
345
407
|
* **Gotchas**
|
|
346
408
|
*
|
|
347
|
-
* Formatting drops the timezone information
|
|
348
|
-
* days and weekdays. Parsing the result is therefore not guaranteed to produce
|
|
409
|
+
* Formatting drops the timezone information, the `onDstOverlap` policy, and
|
|
410
|
+
* the `and` restriction between days and weekdays. Parsing the result is therefore not guaranteed to produce
|
|
349
411
|
* an equivalent schedule.
|
|
350
412
|
*
|
|
351
413
|
* **Example** (Formatting a cron expression)
|
|
@@ -416,7 +478,9 @@ export declare const match: (cron: Cron, date: DateTime.DateTime.Input) => boole
|
|
|
416
478
|
*
|
|
417
479
|
* Searches for the next date and time when the cron schedule should trigger,
|
|
418
480
|
* starting after the specified date/time or after the current time when no
|
|
419
|
-
* date is provided.
|
|
481
|
+
* date is provided. The result is always strictly after the starting point.
|
|
482
|
+
* Repeated local times are included according to the schedule's
|
|
483
|
+
* `onDstOverlap` policy.
|
|
420
484
|
*
|
|
421
485
|
* **Example** (Finding the next occurrence)
|
|
422
486
|
*
|
|
@@ -448,6 +512,8 @@ export declare const next: (cron: Cron, now?: DateTime.DateTime.Input) => Date;
|
|
|
448
512
|
* **Details**
|
|
449
513
|
*
|
|
450
514
|
* When no date/time is provided, the search starts from the current time.
|
|
515
|
+
* Repeated local times are included according to the schedule's
|
|
516
|
+
* `onDstOverlap` policy.
|
|
451
517
|
*
|
|
452
518
|
* **Gotchas**
|
|
453
519
|
*
|
|
@@ -514,7 +580,8 @@ export declare const sequence: (cron: Cron, now?: DateTime.DateTime.Input) => It
|
|
|
514
580
|
* **Details**
|
|
515
581
|
*
|
|
516
582
|
* This comparison checks the optional timezone, the `and` day-matching mode,
|
|
517
|
-
* seconds, minutes, hours, days, months, and
|
|
583
|
+
* the `onDstOverlap` policy, seconds, minutes, hours, days, months, and
|
|
584
|
+
* weekdays.
|
|
518
585
|
*
|
|
519
586
|
* **Example** (Comparing schedules with equivalence)
|
|
520
587
|
*
|
|
@@ -559,7 +626,8 @@ export declare const Equivalence: Equ.Equivalence<Cron>;
|
|
|
559
626
|
* **Details**
|
|
560
627
|
*
|
|
561
628
|
* The comparison checks the optional timezone, the `and` day-matching mode,
|
|
562
|
-
* seconds, minutes, hours, days, months, and
|
|
629
|
+
* the `onDstOverlap` policy, seconds, minutes, hours, days, months, and
|
|
630
|
+
* weekdays.
|
|
563
631
|
*
|
|
564
632
|
* **Example** (Checking schedule equality)
|
|
565
633
|
*
|
|
@@ -605,7 +673,8 @@ export declare const equals: {
|
|
|
605
673
|
* **Details**
|
|
606
674
|
*
|
|
607
675
|
* The comparison checks the optional timezone, the `and` day-matching mode,
|
|
608
|
-
* seconds, minutes, hours, days, months, and
|
|
676
|
+
* the `onDstOverlap` policy, seconds, minutes, hours, days, months, and
|
|
677
|
+
* weekdays.
|
|
609
678
|
*
|
|
610
679
|
* **Example** (Checking schedule equality)
|
|
611
680
|
*
|
|
@@ -651,7 +720,8 @@ export declare const equals: {
|
|
|
651
720
|
* **Details**
|
|
652
721
|
*
|
|
653
722
|
* The comparison checks the optional timezone, the `and` day-matching mode,
|
|
654
|
-
* seconds, minutes, hours, days, months, and
|
|
723
|
+
* the `onDstOverlap` policy, seconds, minutes, hours, days, months, and
|
|
724
|
+
* weekdays.
|
|
655
725
|
*
|
|
656
726
|
* **Example** (Checking schedule equality)
|
|
657
727
|
*
|
package/dist/Cron.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cron.d.ts","sourceRoot":"","sources":["../src/Cron.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,KAAK,QAAQ,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAA;AAIvC,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,kBAAkB,CAAA;AAGtE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,KAAK,QAAQ,EAAiB,MAAM,eAAe,CAAA;AAE5D,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAIrC,QAAA,MAAM,MAAM,iBAAiB,CAAA;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,WAAW,IAAK,SAAQ,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,WAAW;IAC9D,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,MAAM,CAAA;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC7C,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACrC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACrC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACnC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Cron.d.ts","sourceRoot":"","sources":["../src/Cron.ts"],"names":[],"mappings":"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"}
|
package/dist/Cron.js
CHANGED
|
@@ -33,7 +33,8 @@ function toPojo(cron) {
|
|
|
33
33
|
hours: Arr.fromIterable(cron.hours),
|
|
34
34
|
days: Arr.fromIterable(cron.days),
|
|
35
35
|
months: Arr.fromIterable(cron.months),
|
|
36
|
-
weekdays: Arr.fromIterable(cron.weekdays)
|
|
36
|
+
weekdays: Arr.fromIterable(cron.weekdays),
|
|
37
|
+
onDstOverlap: cron.onDstOverlap
|
|
37
38
|
};
|
|
38
39
|
return out;
|
|
39
40
|
}
|
|
@@ -43,7 +44,7 @@ const CronProto = {
|
|
|
43
44
|
return isCron(that) && equals(this, that);
|
|
44
45
|
},
|
|
45
46
|
[Hash.symbol]() {
|
|
46
|
-
return pipe(Hash.hash(this.tz), Hash.combine(Hash.hash(this.and)), Hash.combine(Hash.array(Arr.fromIterable(this.seconds))), Hash.combine(Hash.array(Arr.fromIterable(this.minutes))), Hash.combine(Hash.array(Arr.fromIterable(this.hours))), Hash.combine(Hash.array(Arr.fromIterable(this.days))), Hash.combine(Hash.array(Arr.fromIterable(this.months))), Hash.combine(Hash.array(Arr.fromIterable(this.weekdays))));
|
|
47
|
+
return pipe(Hash.hash(this.tz), Hash.combine(Hash.hash(this.and)), Hash.combine(Hash.array(Arr.fromIterable(this.seconds))), Hash.combine(Hash.array(Arr.fromIterable(this.minutes))), Hash.combine(Hash.array(Arr.fromIterable(this.hours))), Hash.combine(Hash.array(Arr.fromIterable(this.days))), Hash.combine(Hash.array(Arr.fromIterable(this.months))), Hash.combine(Hash.array(Arr.fromIterable(this.weekdays))), Hash.combine(Hash.hash(this.onDstOverlap)));
|
|
47
48
|
},
|
|
48
49
|
toObject() {
|
|
49
50
|
return toPojo(this);
|
|
@@ -116,8 +117,9 @@ export const isCron = u => hasProperty(u, TypeId);
|
|
|
116
117
|
* time unit unrestricted. If only days or weekdays are restricted, that field
|
|
117
118
|
* must match. When both are restricted, the default matches either field; set
|
|
118
119
|
* `and: true` to require both fields to match. Weekdays range from `0` (Sunday)
|
|
119
|
-
* to `7` (also Sunday).
|
|
120
|
-
*
|
|
120
|
+
* to `7` (also Sunday). `onDstOverlap` chooses which occurrences of repeated
|
|
121
|
+
* local times are included and defaults to `"earlier"`. The constructor throws a
|
|
122
|
+
* `RangeError` when a field contains a non-integer or out-of-range value.
|
|
121
123
|
*
|
|
122
124
|
* **Example** (Creating schedules from constraints)
|
|
123
125
|
*
|
|
@@ -198,6 +200,7 @@ export const make = values => {
|
|
|
198
200
|
o.weekdays = restrictions.weekdays(values.weekdays);
|
|
199
201
|
o.and = values.and === true;
|
|
200
202
|
o.tz = Option.fromUndefinedOr(values.tz);
|
|
203
|
+
o.onDstOverlap = values.onDstOverlap ?? "earlier";
|
|
201
204
|
const seconds = Array.from(o.seconds);
|
|
202
205
|
const minutes = Array.from(o.minutes);
|
|
203
206
|
const hours = Array.from(o.hours);
|
|
@@ -383,6 +386,8 @@ export const isCronParseError = u => hasProperty(u, CronParseErrorTypeId);
|
|
|
383
386
|
* `CronParseError`. When both the day-of-month and weekday fields are
|
|
384
387
|
* restricted, a date matches if either field matches. When either field starts
|
|
385
388
|
* with `*`, both fields must match; an unrestricted field always matches.
|
|
389
|
+
* `options.onDstOverlap` chooses which occurrences of repeated local times are
|
|
390
|
+
* included and defaults to `"earlier"`.
|
|
386
391
|
*
|
|
387
392
|
* **Example** (Parsing cron expressions)
|
|
388
393
|
*
|
|
@@ -403,7 +408,7 @@ export const isCronParseError = u => hasProperty(u, CronParseErrorTypeId);
|
|
|
403
408
|
* @category constructors
|
|
404
409
|
* @since 2.0.0
|
|
405
410
|
*/
|
|
406
|
-
export const parse = (cron, tz) => {
|
|
411
|
+
export const parse = (cron, tz, options) => {
|
|
407
412
|
const segments = cron.trim().split(/\s+/).filter(String.isNonEmpty);
|
|
408
413
|
if (segments.length !== 5 && segments.length !== 6) {
|
|
409
414
|
return Result.fail(new CronParseError({
|
|
@@ -443,7 +448,8 @@ export const parse = (cron, tz) => {
|
|
|
443
448
|
days: days.values,
|
|
444
449
|
months: months.values,
|
|
445
450
|
weekdays: weekdays.values,
|
|
446
|
-
and: (days.wildcard || weekdays.wildcard) && days.values.size !== 0 && weekdays.values.size !== 0
|
|
451
|
+
and: (days.wildcard || weekdays.wildcard) && days.values.size !== 0 && weekdays.values.size !== 0,
|
|
452
|
+
onDstOverlap: options?.onDstOverlap
|
|
447
453
|
})));
|
|
448
454
|
};
|
|
449
455
|
/**
|
|
@@ -475,7 +481,7 @@ export const parse = (cron, tz) => {
|
|
|
475
481
|
* @category constructors
|
|
476
482
|
* @since 4.0.0
|
|
477
483
|
*/
|
|
478
|
-
export const parseUnsafe = (cron, tz) => Result.getOrThrow(parse(cron, tz));
|
|
484
|
+
export const parseUnsafe = (cron, tz, options) => Result.getOrThrow(parse(cron, tz, options));
|
|
479
485
|
/**
|
|
480
486
|
* Formats a `Cron` instance as a cron expression.
|
|
481
487
|
*
|
|
@@ -486,8 +492,8 @@ export const parseUnsafe = (cron, tz) => Result.getOrThrow(parse(cron, tz));
|
|
|
486
492
|
*
|
|
487
493
|
* **Gotchas**
|
|
488
494
|
*
|
|
489
|
-
* Formatting drops the timezone information
|
|
490
|
-
* days and weekdays. Parsing the result is therefore not guaranteed to produce
|
|
495
|
+
* Formatting drops the timezone information, the `onDstOverlap` policy, and
|
|
496
|
+
* the `and` restriction between days and weekdays. Parsing the result is therefore not guaranteed to produce
|
|
491
497
|
* an equivalent schedule.
|
|
492
498
|
*
|
|
493
499
|
* **Example** (Formatting a cron expression)
|
|
@@ -613,7 +619,9 @@ const daysInMonth = date => new Date(Date.UTC(date.getUTCFullYear(), date.getUTC
|
|
|
613
619
|
*
|
|
614
620
|
* Searches for the next date and time when the cron schedule should trigger,
|
|
615
621
|
* starting after the specified date/time or after the current time when no
|
|
616
|
-
* date is provided.
|
|
622
|
+
* date is provided. The result is always strictly after the starting point.
|
|
623
|
+
* Repeated local times are included according to the schedule's
|
|
624
|
+
* `onDstOverlap` policy.
|
|
617
625
|
*
|
|
618
626
|
* **Example** (Finding the next occurrence)
|
|
619
627
|
*
|
|
@@ -647,6 +655,8 @@ export const next = (cron, now) => {
|
|
|
647
655
|
* **Details**
|
|
648
656
|
*
|
|
649
657
|
* When no date/time is provided, the search starts from the current time.
|
|
658
|
+
* Repeated local times are included according to the schedule's
|
|
659
|
+
* `onDstOverlap` policy.
|
|
650
660
|
*
|
|
651
661
|
* **Gotchas**
|
|
652
662
|
*
|
|
@@ -663,8 +673,22 @@ export const prev = (cron, now) => {
|
|
|
663
673
|
return stepCron(cron, now, "prev");
|
|
664
674
|
};
|
|
665
675
|
const stepCron = (cron, now, direction) => {
|
|
676
|
+
const start = now ?? new Date();
|
|
677
|
+
if (cron.onDstOverlap !== "both") {
|
|
678
|
+
return searchCron(cron, start, direction, cron.onDstOverlap);
|
|
679
|
+
}
|
|
680
|
+
// Both occurrences are eligible, so the result is the nearest of the two
|
|
681
|
+
// single-occurrence searches in the search direction.
|
|
682
|
+
const earlier = searchCron(cron, start, direction, "earlier");
|
|
683
|
+
const later = searchCron(cron, start, direction, "later");
|
|
684
|
+
if (direction === "next") {
|
|
685
|
+
return earlier <= later ? earlier : later;
|
|
686
|
+
}
|
|
687
|
+
return earlier >= later ? earlier : later;
|
|
688
|
+
};
|
|
689
|
+
const searchCron = (cron, now, direction, onDstOverlap) => {
|
|
666
690
|
const tz = Option.getOrUndefined(cron.tz);
|
|
667
|
-
const zoned = dateTime.makeZonedUnsafe(now
|
|
691
|
+
const zoned = dateTime.makeZonedUnsafe(now, {
|
|
668
692
|
timeZone: tz
|
|
669
693
|
});
|
|
670
694
|
const reverse = direction === "prev";
|
|
@@ -673,24 +697,71 @@ const stepCron = (cron, now, direction) => {
|
|
|
673
697
|
const boundary = reverse ? cron.last : cron.first;
|
|
674
698
|
const needsStep = reverse ? (next, current) => next < current : (next, current) => next > current;
|
|
675
699
|
const utc = tz !== undefined && dateTime.isTimeZoneNamed(tz) && tz.id === "UTC";
|
|
676
|
-
|
|
700
|
+
// Going backward, a candidate inside a gap is left in place: it resolves to
|
|
701
|
+
// the instant after the gap, and the range check below rejects it when that
|
|
702
|
+
// instant is not before the input.
|
|
703
|
+
const adjustDst = utc || reverse ? constVoid : current => {
|
|
677
704
|
const adjusted = dateTime.makeZonedUnsafe(current, {
|
|
678
705
|
timeZone: zoned.zone,
|
|
679
|
-
adjustForTimeZone: true
|
|
680
|
-
disambiguation: reverse ? "later" : undefined
|
|
706
|
+
adjustForTimeZone: true
|
|
681
707
|
}).pipe(dateTime.toDate);
|
|
682
708
|
const drift = current.getTime() - adjusted.getTime();
|
|
683
|
-
if (
|
|
684
|
-
current.setTime(
|
|
709
|
+
if (drift > 0) {
|
|
710
|
+
current.setTime(current.getTime() + drift);
|
|
685
711
|
}
|
|
686
712
|
};
|
|
687
|
-
// Repeated wall times resolve to
|
|
688
|
-
//
|
|
689
|
-
const
|
|
713
|
+
// Repeated wall times resolve to the occurrence chosen by the policy. Gaps
|
|
714
|
+
// resolve to the instant after the gap under either disambiguation.
|
|
715
|
+
const disambiguation = onDstOverlap === "later" ? "later" : "compatible";
|
|
716
|
+
const resolve = wallMillis => dateTime.makeZonedUnsafe(wallMillis, {
|
|
690
717
|
timeZone: zoned.zone,
|
|
691
|
-
adjustForTimeZone: true
|
|
692
|
-
|
|
718
|
+
adjustForTimeZone: true,
|
|
719
|
+
disambiguation
|
|
720
|
+
}).epochMilliseconds;
|
|
721
|
+
// Inside a fold, wall-clock order differs from instant order, so a candidate
|
|
722
|
+
// can resolve to an instant on the wrong side of the input.
|
|
723
|
+
const isOutOfRange = utc ? constFalse : reverse ? wallMillis => resolve(wallMillis) >= zoned.epochMilliseconds : wallMillis => resolve(wallMillis) <= zoned.epochMilliseconds;
|
|
724
|
+
// A fold near the input shows as a larger offset a day before it than a day
|
|
725
|
+
// after it (DateTime disambiguation assumes the same single transition).
|
|
726
|
+
// Inside a fold the resolved instant moves in the same direction as the wall
|
|
727
|
+
// time, so the rejected candidates form one interval no longer than the
|
|
728
|
+
// fold: when the wall time one fold length ahead is in range, binary search
|
|
729
|
+
// for the first second in range instead of stepping through the interval.
|
|
730
|
+
// Gaps break that ordering, so they keep stepping one second at a time.
|
|
731
|
+
let foldSeconds;
|
|
732
|
+
const skipOutOfRange = current => {
|
|
733
|
+
if (foldSeconds === undefined) {
|
|
734
|
+
const offsetAt = millis => dateTime.zonedOffset(dateTime.makeZonedUnsafe(millis, {
|
|
735
|
+
timeZone: zoned.zone
|
|
736
|
+
}));
|
|
737
|
+
foldSeconds = Math.floor((offsetAt(zoned.epochMilliseconds - 86_400_000) - offsetAt(zoned.epochMilliseconds + 86_400_000)) / 1000);
|
|
738
|
+
}
|
|
739
|
+
const after = seconds => current.getTime() + tick * seconds * 1000;
|
|
740
|
+
let outOfRange = 0;
|
|
741
|
+
let inRange = 1;
|
|
742
|
+
if (foldSeconds > 0 && !isOutOfRange(after(foldSeconds))) {
|
|
743
|
+
inRange = foldSeconds;
|
|
744
|
+
while (inRange - outOfRange > 1) {
|
|
745
|
+
const mid = outOfRange + Math.floor((inRange - outOfRange) / 2);
|
|
746
|
+
if (isOutOfRange(after(mid))) {
|
|
747
|
+
outOfRange = mid;
|
|
748
|
+
} else {
|
|
749
|
+
inRange = mid;
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
current.setTime(after(inRange));
|
|
754
|
+
};
|
|
693
755
|
const result = dateTime.mutate(zoned, current => {
|
|
756
|
+
// When the input is in the occurrence the policy excludes, eligible
|
|
757
|
+
// instants of the same fold can lie behind its wall time in the search
|
|
758
|
+
// direction. Start from the wall time of the input under the policy's
|
|
759
|
+
// offset so they are visited; candidates that resolve on the wrong side
|
|
760
|
+
// of the input are skipped below.
|
|
761
|
+
const shift = utc ? 0 : zoned.epochMilliseconds - resolve(current.getTime());
|
|
762
|
+
if (reverse ? shift > 0 : shift < 0) {
|
|
763
|
+
current.setTime(current.getTime() + shift);
|
|
764
|
+
}
|
|
694
765
|
// Start from the nearest whole second strictly past the input in the search
|
|
695
766
|
// direction. Going backward, a fractional input already has one.
|
|
696
767
|
const offset = reverse && current.getUTCMilliseconds() > 0 ? 0 : tick;
|
|
@@ -825,14 +896,16 @@ const stepCron = (cron, now, direction) => {
|
|
|
825
896
|
continue;
|
|
826
897
|
}
|
|
827
898
|
}
|
|
828
|
-
if (
|
|
829
|
-
|
|
899
|
+
if (isOutOfRange(current.getTime())) {
|
|
900
|
+
skipOutOfRange(current);
|
|
830
901
|
i = -1; // skipped fold candidates do not count against the search budget
|
|
831
902
|
continue;
|
|
832
903
|
}
|
|
833
904
|
return;
|
|
834
905
|
}
|
|
835
906
|
throw new Error("Unable to find cron date");
|
|
907
|
+
}, {
|
|
908
|
+
disambiguation
|
|
836
909
|
});
|
|
837
910
|
return dateTime.toDateUtc(result);
|
|
838
911
|
};
|
|
@@ -893,7 +966,8 @@ export const sequence = function* (cron, now) {
|
|
|
893
966
|
* **Details**
|
|
894
967
|
*
|
|
895
968
|
* This comparison checks the optional timezone, the `and` day-matching mode,
|
|
896
|
-
* seconds, minutes, hours, days, months, and
|
|
969
|
+
* the `onDstOverlap` policy, seconds, minutes, hours, days, months, and
|
|
970
|
+
* weekdays.
|
|
897
971
|
*
|
|
898
972
|
* **Example** (Comparing schedules with equivalence)
|
|
899
973
|
*
|
|
@@ -925,7 +999,7 @@ export const sequence = function* (cron, now) {
|
|
|
925
999
|
* @category instances
|
|
926
1000
|
* @since 2.0.0
|
|
927
1001
|
*/
|
|
928
|
-
export const Equivalence = /*#__PURE__*/Equ.make((self, that) => Equal.equals(self.tz, that.tz) && self.and === that.and && restrictionsEquals(self.seconds, that.seconds) && restrictionsEquals(self.minutes, that.minutes) && restrictionsEquals(self.hours, that.hours) && restrictionsEquals(self.days, that.days) && restrictionsEquals(self.months, that.months) && restrictionsEquals(self.weekdays, that.weekdays));
|
|
1002
|
+
export const Equivalence = /*#__PURE__*/Equ.make((self, that) => Equal.equals(self.tz, that.tz) && self.and === that.and && self.onDstOverlap === that.onDstOverlap && restrictionsEquals(self.seconds, that.seconds) && restrictionsEquals(self.minutes, that.minutes) && restrictionsEquals(self.hours, that.hours) && restrictionsEquals(self.days, that.days) && restrictionsEquals(self.months, that.months) && restrictionsEquals(self.weekdays, that.weekdays));
|
|
929
1003
|
const restrictionsArrayEquals = /*#__PURE__*/Equ.Array(/*#__PURE__*/Equ.strictEqual());
|
|
930
1004
|
const restrictionsEquals = (self, that) => restrictionsArrayEquals(Arr.fromIterable(self), Arr.fromIterable(that));
|
|
931
1005
|
/**
|
|
@@ -940,7 +1014,8 @@ const restrictionsEquals = (self, that) => restrictionsArrayEquals(Arr.fromItera
|
|
|
940
1014
|
* **Details**
|
|
941
1015
|
*
|
|
942
1016
|
* The comparison checks the optional timezone, the `and` day-matching mode,
|
|
943
|
-
* seconds, minutes, hours, days, months, and
|
|
1017
|
+
* the `onDstOverlap` policy, seconds, minutes, hours, days, months, and
|
|
1018
|
+
* weekdays.
|
|
944
1019
|
*
|
|
945
1020
|
* **Example** (Checking schedule equality)
|
|
946
1021
|
*
|