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/ai/Decision.d.ts
CHANGED
|
@@ -1,16 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Defines decisions that a `DecisionModel` answers over a single input.
|
|
3
|
-
* Pair an input schema with named classification, rating, or probability
|
|
4
|
-
* decisions using `make`, then answer them with `DecisionModel.decide`, or
|
|
5
|
-
* with `DecisionModel.decideSettled` to keep valid answers when others fail.
|
|
6
|
-
*
|
|
7
|
-
* @see {@link make} for building a definition from an input schema and decisions
|
|
8
|
-
*
|
|
9
|
-
* @stability unstable
|
|
10
|
-
* @since 4.0.0
|
|
11
|
-
*/
|
|
12
1
|
import type * as Result from "../Result.ts";
|
|
13
|
-
import
|
|
2
|
+
import * as Schema from "../Schema.ts";
|
|
3
|
+
import type * as DecisionModel from "./DecisionModel.ts";
|
|
14
4
|
/**
|
|
15
5
|
* Brand type for decision definitions.
|
|
16
6
|
*
|
|
@@ -98,6 +88,119 @@ export interface Probability {
|
|
|
98
88
|
readonly true: Description;
|
|
99
89
|
} | undefined;
|
|
100
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Decision that finds one target in an image field of the input.
|
|
93
|
+
* `image` is the field's path in the encoded input, such as `"photo"` or
|
|
94
|
+
* `"frames[2].frame"`. The answer is a bounding box around the target.
|
|
95
|
+
*
|
|
96
|
+
* @see {@link locate} for the constructor
|
|
97
|
+
* @see {@link LocateAnswer} for the answer produced by this decision
|
|
98
|
+
*
|
|
99
|
+
* @stability unstable
|
|
100
|
+
* @category models
|
|
101
|
+
* @since 4.1.0
|
|
102
|
+
*/
|
|
103
|
+
export interface Locate<Field extends string = string> {
|
|
104
|
+
readonly _tag: "Locate";
|
|
105
|
+
readonly image: Field;
|
|
106
|
+
readonly instructions: string;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Key that marks an encoded {@link Image}.
|
|
110
|
+
*
|
|
111
|
+
* @stability unstable
|
|
112
|
+
* @category models
|
|
113
|
+
* @since 4.1.0
|
|
114
|
+
*/
|
|
115
|
+
export declare const ImageKey = "~effect/ai/Decision/Image";
|
|
116
|
+
/**
|
|
117
|
+
* JSON encoding of an {@link Image}: base64 data or a URL with its media type,
|
|
118
|
+
* under {@link ImageKey}.
|
|
119
|
+
*
|
|
120
|
+
* @stability unstable
|
|
121
|
+
* @category models
|
|
122
|
+
* @since 4.1.0
|
|
123
|
+
*/
|
|
124
|
+
export interface ImageEncoded {
|
|
125
|
+
readonly [ImageKey]: {
|
|
126
|
+
readonly mediaType: string;
|
|
127
|
+
readonly base64: string;
|
|
128
|
+
} | {
|
|
129
|
+
readonly mediaType: string;
|
|
130
|
+
readonly url: string;
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Type-level representation of the {@link Image} schema.
|
|
135
|
+
*
|
|
136
|
+
* @stability unstable
|
|
137
|
+
* @category models
|
|
138
|
+
* @since 4.1.0
|
|
139
|
+
*/
|
|
140
|
+
export interface Image extends Schema.decodeTo<Schema.declare<DecisionModel.Image>, Schema.Struct<{
|
|
141
|
+
readonly [ImageKey]: Schema.Union<readonly [
|
|
142
|
+
Schema.Struct<{
|
|
143
|
+
readonly mediaType: Schema.String;
|
|
144
|
+
readonly base64: Schema.String;
|
|
145
|
+
}>,
|
|
146
|
+
Schema.Struct<{
|
|
147
|
+
readonly mediaType: Schema.String;
|
|
148
|
+
readonly url: Schema.URLFromString;
|
|
149
|
+
}>
|
|
150
|
+
]>;
|
|
151
|
+
}>> {
|
|
152
|
+
readonly "Rebuild": Image;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Schema for an image input field. Its type is `DecisionModel.Image`: a
|
|
156
|
+
* media type with base64 data, bytes, or a URL. Decisions refer to the image
|
|
157
|
+
* by the field's path, like any other field.
|
|
158
|
+
*
|
|
159
|
+
* **Details**
|
|
160
|
+
*
|
|
161
|
+
* The field encodes to an {@link ImageEncoded} object. `DecisionModel.decide`
|
|
162
|
+
* replaces each one in the encoded input with a reference string and sends the
|
|
163
|
+
* images to the provider separately; an image used in several fields is sent
|
|
164
|
+
* once. The encoded shape also appears in JSON Schema generated from the input.
|
|
165
|
+
*
|
|
166
|
+
* **Example** (Declaring an image field)
|
|
167
|
+
*
|
|
168
|
+
* ```ts
|
|
169
|
+
* import { Schema } from "effect"
|
|
170
|
+
* import { Decision } from "effect/ai"
|
|
171
|
+
*
|
|
172
|
+
* const Listing = Schema.Struct({
|
|
173
|
+
* title: Schema.String,
|
|
174
|
+
* photo: Decision.Image
|
|
175
|
+
* })
|
|
176
|
+
* ```
|
|
177
|
+
*
|
|
178
|
+
* @stability unstable
|
|
179
|
+
* @category schemas
|
|
180
|
+
* @since 4.1.0
|
|
181
|
+
*/
|
|
182
|
+
export declare const Image: Image;
|
|
183
|
+
type PrevDepth = [never, 0, 1, 2, 3, 4];
|
|
184
|
+
type ImagePathSuffixes<A, Depth extends number> = [Depth] extends [never] ? never : A extends ImageEncoded ? "" : A extends ReadonlyArray<unknown> ? number extends A["length"] ? `[${number}]${ImagePathSuffixes<A[number], PrevDepth[Depth]>}` : {
|
|
185
|
+
[K in keyof A & `${number}`]: `[${K}]${ImagePathSuffixes<A[K], PrevDepth[Depth]>}`;
|
|
186
|
+
}[keyof A & `${number}`] : A extends object ? {
|
|
187
|
+
[K in keyof A & string]-?: K extends `${string}.${string}` | `${string}[${string}` ? never : {} extends Pick<A, K> ? never : `.${K}${ImagePathSuffixes<A[K], PrevDepth[Depth]>}`;
|
|
188
|
+
}[keyof A & string] : never;
|
|
189
|
+
/**
|
|
190
|
+
* Paths to the required {@link Image} fields of an encoded input type, as
|
|
191
|
+
* accepted by {@link locate}. Object keys are joined with `.`, and array
|
|
192
|
+
* elements use `[index]`: exact indices for tuples, any number for arrays.
|
|
193
|
+
*
|
|
194
|
+
* **Details**
|
|
195
|
+
*
|
|
196
|
+
* Paths reach four levels deep. Optional fields and keys containing `.` or
|
|
197
|
+
* `[` are excluded.
|
|
198
|
+
*
|
|
199
|
+
* @stability unstable
|
|
200
|
+
* @category utility types
|
|
201
|
+
* @since 4.1.0
|
|
202
|
+
*/
|
|
203
|
+
export type ImagePaths<A> = ImagePathSuffixes<A, 4> extends infer Path extends string ? Path extends "" ? never : Path extends `.${infer Rest}` ? Rest : Path : never;
|
|
101
204
|
/**
|
|
102
205
|
* Union of every decision kind.
|
|
103
206
|
*
|
|
@@ -105,7 +208,7 @@ export interface Probability {
|
|
|
105
208
|
* @category models
|
|
106
209
|
* @since 4.0.0
|
|
107
210
|
*/
|
|
108
|
-
export type Any = Classify<string> | Rate<string> | Probability;
|
|
211
|
+
export type Any = Classify<string> | Rate<string> | Probability | Locate;
|
|
109
212
|
/**
|
|
110
213
|
* Answer to a {@link Classify} decision.
|
|
111
214
|
* `label` is chosen by the provider and need not have the highest probability.
|
|
@@ -152,6 +255,36 @@ export interface RateAnswer<Level extends string> {
|
|
|
152
255
|
export interface ProbabilityAnswer {
|
|
153
256
|
readonly probability: number;
|
|
154
257
|
}
|
|
258
|
+
/**
|
|
259
|
+
* Smallest rectangle that contains a located target. Each edge is a fraction
|
|
260
|
+
* of the image's size measured from the top-left corner: `left` and `right`
|
|
261
|
+
* of its width, `top` and `bottom` of its height. Edges are in `[0, 1]`, with
|
|
262
|
+
* `left <= right` and `top <= bottom`.
|
|
263
|
+
*
|
|
264
|
+
* @stability unstable
|
|
265
|
+
* @category models
|
|
266
|
+
* @since 4.1.0
|
|
267
|
+
*/
|
|
268
|
+
export interface BoundingBox {
|
|
269
|
+
readonly left: number;
|
|
270
|
+
readonly top: number;
|
|
271
|
+
readonly right: number;
|
|
272
|
+
readonly bottom: number;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Answer to a {@link Locate} decision.
|
|
276
|
+
* There is no "not found" answer: a target absent from the image still gets a
|
|
277
|
+
* box. Pair the decision with a {@link Probability} that the target is present.
|
|
278
|
+
* `confidence` is an optional, provider-defined measure in `[0, 1]`.
|
|
279
|
+
*
|
|
280
|
+
* @stability unstable
|
|
281
|
+
* @category models
|
|
282
|
+
* @since 4.1.0
|
|
283
|
+
*/
|
|
284
|
+
export interface LocateAnswer {
|
|
285
|
+
readonly box: BoundingBox;
|
|
286
|
+
readonly confidence?: number | undefined;
|
|
287
|
+
}
|
|
155
288
|
/**
|
|
156
289
|
* Answer type for a single decision.
|
|
157
290
|
*
|
|
@@ -159,7 +292,7 @@ export interface ProbabilityAnswer {
|
|
|
159
292
|
* @category utility types
|
|
160
293
|
* @since 4.0.0
|
|
161
294
|
*/
|
|
162
|
-
export type Answer<D extends Any> = D extends Classify<infer Label> ? ClassifyAnswer<Label> : D extends Rate<infer Level> ? RateAnswer<Level> : D extends Probability ? ProbabilityAnswer : never;
|
|
295
|
+
export type Answer<D extends Any> = D extends Classify<infer Label> ? ClassifyAnswer<Label> : D extends Rate<infer Level> ? RateAnswer<Level> : D extends Probability ? ProbabilityAnswer : D extends Locate ? LocateAnswer : never;
|
|
163
296
|
/**
|
|
164
297
|
* Answers keyed by decision name.
|
|
165
298
|
*
|
|
@@ -356,6 +489,53 @@ export declare const probability: (options: {
|
|
|
356
489
|
readonly true: Description;
|
|
357
490
|
} | undefined;
|
|
358
491
|
}) => Probability;
|
|
492
|
+
/**
|
|
493
|
+
* Creates a decision that finds one target in an image field of the input.
|
|
494
|
+
* `image` is the field's path in the encoded input: keys joined with `.` and
|
|
495
|
+
* array indices in brackets, such as `"frames[2].frame"`. The model must be
|
|
496
|
+
* created with `supportsLocate: true`.
|
|
497
|
+
*
|
|
498
|
+
* **Details**
|
|
499
|
+
*
|
|
500
|
+
* Paths use encoded key names, so a key renamed with `Schema.encodeKeys` is
|
|
501
|
+
* targeted by its encoded name. `make` accepts only paths to required
|
|
502
|
+
* {@link Image} fields, and `DecisionModel.decide` fails with
|
|
503
|
+
* `AiError.InvalidUserInputError` when the path holds no image, such as an
|
|
504
|
+
* index past the end of an array.
|
|
505
|
+
*
|
|
506
|
+
* The answer is always one box, even when the target is absent. Pair the
|
|
507
|
+
* decision with a {@link probability} decision that the target is present.
|
|
508
|
+
*
|
|
509
|
+
* **Gotchas**
|
|
510
|
+
*
|
|
511
|
+
* - For a generic input schema, the compiler error for an invalid path names
|
|
512
|
+
* the whole decision type rather than the path.
|
|
513
|
+
*
|
|
514
|
+
* **Example** (Finding a mug in a photo)
|
|
515
|
+
*
|
|
516
|
+
* ```ts
|
|
517
|
+
* import { Schema } from "effect"
|
|
518
|
+
* import { Decision } from "effect/ai"
|
|
519
|
+
*
|
|
520
|
+
* const FindMug = Decision.make({
|
|
521
|
+
* input: Schema.Struct({ photo: Decision.Image }),
|
|
522
|
+
* decisions: {
|
|
523
|
+
* present: Decision.probability({ instructions: "`photo` shows a coffee mug" }),
|
|
524
|
+
* mug: Decision.locate({ image: "photo", instructions: "the coffee mug" })
|
|
525
|
+
* }
|
|
526
|
+
* })
|
|
527
|
+
* ```
|
|
528
|
+
*
|
|
529
|
+
* @see {@link LocateAnswer} for the answer
|
|
530
|
+
*
|
|
531
|
+
* @stability unstable
|
|
532
|
+
* @category constructors
|
|
533
|
+
* @since 4.1.0
|
|
534
|
+
*/
|
|
535
|
+
export declare const locate: <const Field extends string>(options: {
|
|
536
|
+
readonly image: Field;
|
|
537
|
+
readonly instructions: string;
|
|
538
|
+
}) => Locate<Field>;
|
|
359
539
|
/**
|
|
360
540
|
* Creates a decision definition from an input schema and named decisions.
|
|
361
541
|
* `DecisionModel.decide` encodes the input with `Schema.toCodecJson` before
|
|
@@ -394,8 +574,9 @@ export declare const probability: (options: {
|
|
|
394
574
|
* @category constructors
|
|
395
575
|
* @since 4.0.0
|
|
396
576
|
*/
|
|
397
|
-
export declare const make: <Input extends Schema.Constraint, Decisions extends Record<string,
|
|
577
|
+
export declare const make: <Input extends Schema.Constraint, Decisions extends Record<string, Classify<string> | Rate<string> | Probability | Locate<ImagePaths<Input["Encoded"]>>>>(options: {
|
|
398
578
|
readonly input: Input;
|
|
399
579
|
readonly decisions: Decisions;
|
|
400
580
|
}) => Definition<Input, Decisions>;
|
|
581
|
+
export {};
|
|
401
582
|
//# sourceMappingURL=Decision.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Decision.d.ts","sourceRoot":"","sources":["../../src/ai/Decision.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Decision.d.ts","sourceRoot":"","sources":["../../src/ai/Decision.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/Decision.js
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines decisions that a `DecisionModel` answers over a single input.
|
|
3
|
+
* Pair an input schema with named classification, rating, probability, or
|
|
4
|
+
* locate decisions using `make`, then answer them with `DecisionModel.decide`,
|
|
5
|
+
* or with `DecisionModel.decideSettled` to keep valid answers when others fail.
|
|
6
|
+
*
|
|
7
|
+
* @see {@link make} for building a definition from an input schema and decisions
|
|
8
|
+
*
|
|
9
|
+
* @stability unstable
|
|
10
|
+
* @since 4.0.0
|
|
11
|
+
*/
|
|
12
|
+
import * as Base64 from "../encoding/Base64.js";
|
|
13
|
+
import * as Predicate from "../Predicate.js";
|
|
14
|
+
import * as Schema from "../Schema.js";
|
|
15
|
+
import * as SchemaTransformation from "../SchemaTransformation.js";
|
|
1
16
|
/**
|
|
2
17
|
* Brand for decision definitions.
|
|
3
18
|
*
|
|
@@ -6,6 +21,73 @@
|
|
|
6
21
|
* @since 4.0.0
|
|
7
22
|
*/
|
|
8
23
|
export const TypeId = "~effect/ai/Decision";
|
|
24
|
+
/**
|
|
25
|
+
* Key that marks an encoded {@link Image}.
|
|
26
|
+
*
|
|
27
|
+
* @stability unstable
|
|
28
|
+
* @category models
|
|
29
|
+
* @since 4.1.0
|
|
30
|
+
*/
|
|
31
|
+
export const ImageKey = "~effect/ai/Decision/Image";
|
|
32
|
+
const isImage = u => Predicate.isObject(u) && Predicate.isString(u.mediaType) && (Predicate.isString(u.data) || u.data instanceof globalThis.Uint8Array || u.data instanceof globalThis.URL);
|
|
33
|
+
/**
|
|
34
|
+
* Schema for an image input field. Its type is `DecisionModel.Image`: a
|
|
35
|
+
* media type with base64 data, bytes, or a URL. Decisions refer to the image
|
|
36
|
+
* by the field's path, like any other field.
|
|
37
|
+
*
|
|
38
|
+
* **Details**
|
|
39
|
+
*
|
|
40
|
+
* The field encodes to an {@link ImageEncoded} object. `DecisionModel.decide`
|
|
41
|
+
* replaces each one in the encoded input with a reference string and sends the
|
|
42
|
+
* images to the provider separately; an image used in several fields is sent
|
|
43
|
+
* once. The encoded shape also appears in JSON Schema generated from the input.
|
|
44
|
+
*
|
|
45
|
+
* **Example** (Declaring an image field)
|
|
46
|
+
*
|
|
47
|
+
* ```ts
|
|
48
|
+
* import { Schema } from "effect"
|
|
49
|
+
* import { Decision } from "effect/ai"
|
|
50
|
+
*
|
|
51
|
+
* const Listing = Schema.Struct({
|
|
52
|
+
* title: Schema.String,
|
|
53
|
+
* photo: Decision.Image
|
|
54
|
+
* })
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* @stability unstable
|
|
58
|
+
* @category schemas
|
|
59
|
+
* @since 4.1.0
|
|
60
|
+
*/
|
|
61
|
+
export const Image = /*#__PURE__*/Schema.Struct({
|
|
62
|
+
[ImageKey]: Schema.Union([Schema.Struct({
|
|
63
|
+
mediaType: Schema.String,
|
|
64
|
+
base64: Schema.String
|
|
65
|
+
}), Schema.Struct({
|
|
66
|
+
mediaType: Schema.String,
|
|
67
|
+
url: Schema.URLFromString
|
|
68
|
+
})])
|
|
69
|
+
}).pipe(/*#__PURE__*/Schema.decodeTo(/*#__PURE__*/Schema.declare(isImage, {
|
|
70
|
+
expected: "DecisionModel.Image"
|
|
71
|
+
}), /*#__PURE__*/SchemaTransformation.transform({
|
|
72
|
+
decode: ({
|
|
73
|
+
[ImageKey]: image
|
|
74
|
+
}) => ({
|
|
75
|
+
mediaType: image.mediaType,
|
|
76
|
+
data: "base64" in image ? image.base64 : image.url
|
|
77
|
+
}),
|
|
78
|
+
encode: ({
|
|
79
|
+
mediaType,
|
|
80
|
+
data
|
|
81
|
+
}) => ({
|
|
82
|
+
[ImageKey]: data instanceof globalThis.URL ? {
|
|
83
|
+
mediaType,
|
|
84
|
+
url: data
|
|
85
|
+
} : {
|
|
86
|
+
mediaType,
|
|
87
|
+
base64: typeof data === "string" ? data : Base64.encode(data)
|
|
88
|
+
}
|
|
89
|
+
})
|
|
90
|
+
})));
|
|
9
91
|
/**
|
|
10
92
|
* Creates a classification decision from labelled criteria.
|
|
11
93
|
* Descriptions can be `null` when the label needs no explanation.
|
|
@@ -149,6 +231,54 @@ export const probability = options => ({
|
|
|
149
231
|
instructions: options.instructions,
|
|
150
232
|
criteria: options.criteria
|
|
151
233
|
});
|
|
234
|
+
/**
|
|
235
|
+
* Creates a decision that finds one target in an image field of the input.
|
|
236
|
+
* `image` is the field's path in the encoded input: keys joined with `.` and
|
|
237
|
+
* array indices in brackets, such as `"frames[2].frame"`. The model must be
|
|
238
|
+
* created with `supportsLocate: true`.
|
|
239
|
+
*
|
|
240
|
+
* **Details**
|
|
241
|
+
*
|
|
242
|
+
* Paths use encoded key names, so a key renamed with `Schema.encodeKeys` is
|
|
243
|
+
* targeted by its encoded name. `make` accepts only paths to required
|
|
244
|
+
* {@link Image} fields, and `DecisionModel.decide` fails with
|
|
245
|
+
* `AiError.InvalidUserInputError` when the path holds no image, such as an
|
|
246
|
+
* index past the end of an array.
|
|
247
|
+
*
|
|
248
|
+
* The answer is always one box, even when the target is absent. Pair the
|
|
249
|
+
* decision with a {@link probability} decision that the target is present.
|
|
250
|
+
*
|
|
251
|
+
* **Gotchas**
|
|
252
|
+
*
|
|
253
|
+
* - For a generic input schema, the compiler error for an invalid path names
|
|
254
|
+
* the whole decision type rather than the path.
|
|
255
|
+
*
|
|
256
|
+
* **Example** (Finding a mug in a photo)
|
|
257
|
+
*
|
|
258
|
+
* ```ts
|
|
259
|
+
* import { Schema } from "effect"
|
|
260
|
+
* import { Decision } from "effect/ai"
|
|
261
|
+
*
|
|
262
|
+
* const FindMug = Decision.make({
|
|
263
|
+
* input: Schema.Struct({ photo: Decision.Image }),
|
|
264
|
+
* decisions: {
|
|
265
|
+
* present: Decision.probability({ instructions: "`photo` shows a coffee mug" }),
|
|
266
|
+
* mug: Decision.locate({ image: "photo", instructions: "the coffee mug" })
|
|
267
|
+
* }
|
|
268
|
+
* })
|
|
269
|
+
* ```
|
|
270
|
+
*
|
|
271
|
+
* @see {@link LocateAnswer} for the answer
|
|
272
|
+
*
|
|
273
|
+
* @stability unstable
|
|
274
|
+
* @category constructors
|
|
275
|
+
* @since 4.1.0
|
|
276
|
+
*/
|
|
277
|
+
export const locate = options => ({
|
|
278
|
+
_tag: "Locate",
|
|
279
|
+
image: options.image,
|
|
280
|
+
instructions: options.instructions
|
|
281
|
+
});
|
|
152
282
|
/**
|
|
153
283
|
* Creates a decision definition from an input schema and named decisions.
|
|
154
284
|
* `DecisionModel.decide` encodes the input with `Schema.toCodecJson` before
|
package/dist/ai/Decision.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Decision.js","names":[],"sources":["../../src/ai/Decision.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"Decision.js","names":[],"sources":["../../src/ai/Decision.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -11,7 +11,7 @@ import * as Context from "../Context.ts";
|
|
|
11
11
|
import * as Effect from "../Effect.ts";
|
|
12
12
|
import * as Schema from "../Schema.ts";
|
|
13
13
|
import * as AiError from "./AiError.ts";
|
|
14
|
-
import
|
|
14
|
+
import * as Decision from "./Decision.ts";
|
|
15
15
|
import type * as Response from "./Response.ts";
|
|
16
16
|
/**
|
|
17
17
|
* Service key for answering decisions about an input. Create implementations
|
|
@@ -62,13 +62,9 @@ export declare class DecisionUsage extends DecisionUsage_base {
|
|
|
62
62
|
*/
|
|
63
63
|
export interface DecideOptions<Input extends Schema.Constraint> {
|
|
64
64
|
readonly input: Input["Type"];
|
|
65
|
-
/**
|
|
66
|
-
* Images to include with the input.
|
|
67
|
-
*/
|
|
68
|
-
readonly images?: ReadonlyArray<Image> | undefined;
|
|
69
65
|
}
|
|
70
66
|
/**
|
|
71
|
-
* An image
|
|
67
|
+
* An image in the input, declared with a `Decision.Image` field.
|
|
72
68
|
* `data` is a base64 string, a byte array, or a URL.
|
|
73
69
|
*
|
|
74
70
|
* @stability unstable
|
|
@@ -79,6 +75,23 @@ export interface Image {
|
|
|
79
75
|
readonly mediaType: string;
|
|
80
76
|
readonly data: string | Uint8Array | URL;
|
|
81
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* An image extracted from the encoded input. `state` holds `reference` where
|
|
80
|
+
* the image was, and `path` is where it was first found. `data` is a base64
|
|
81
|
+
* string or a URL.
|
|
82
|
+
*
|
|
83
|
+
* @stability unstable
|
|
84
|
+
* @category models
|
|
85
|
+
* @since 4.1.0
|
|
86
|
+
*/
|
|
87
|
+
export interface ProviderImage {
|
|
88
|
+
readonly reference: string;
|
|
89
|
+
readonly path: ReadonlyArray<string | number>;
|
|
90
|
+
readonly image: {
|
|
91
|
+
readonly mediaType: string;
|
|
92
|
+
readonly data: string | URL;
|
|
93
|
+
};
|
|
94
|
+
}
|
|
82
95
|
/**
|
|
83
96
|
* Provider-specific response metadata keyed by provider name. Provider
|
|
84
97
|
* packages augment this interface.
|
|
@@ -142,16 +155,18 @@ export interface DecideSettledResponse<Decisions extends Record<string, Decision
|
|
|
142
155
|
* Provider input options for a decision request.
|
|
143
156
|
* `state` is encoded with `Schema.toCodecJson`, not stringified.
|
|
144
157
|
* All `decisions` must be answered in one call.
|
|
145
|
-
* `images`
|
|
158
|
+
* `images` holds the `Decision.Image` values found in the input and is omitted
|
|
159
|
+
* when there are none.
|
|
160
|
+
* `Decisions` is the union of decision kinds the provider receives.
|
|
146
161
|
*
|
|
147
162
|
* @stability unstable
|
|
148
163
|
* @category options
|
|
149
164
|
* @since 4.0.0
|
|
150
165
|
*/
|
|
151
|
-
export interface ProviderOptions {
|
|
166
|
+
export interface ProviderOptions<Decisions extends Decision.Any = Decision.Any> {
|
|
152
167
|
readonly state: Schema.Json;
|
|
153
|
-
readonly decisions: Record<string,
|
|
154
|
-
readonly images?: ReadonlyArray<
|
|
168
|
+
readonly decisions: Record<string, Decisions>;
|
|
169
|
+
readonly images?: ReadonlyArray<ProviderImage> | undefined;
|
|
155
170
|
}
|
|
156
171
|
/**
|
|
157
172
|
* Provider classify answer. Omit `probabilities` when no distribution is available.
|
|
@@ -201,6 +216,18 @@ export interface ProviderProbabilityAnswer {
|
|
|
201
216
|
export interface ProviderRefusalAnswer {
|
|
202
217
|
readonly _tag: "Refusal";
|
|
203
218
|
}
|
|
219
|
+
/**
|
|
220
|
+
* Provider answer for a locate decision.
|
|
221
|
+
*
|
|
222
|
+
* @stability unstable
|
|
223
|
+
* @category models
|
|
224
|
+
* @since 4.1.0
|
|
225
|
+
*/
|
|
226
|
+
export interface ProviderLocateAnswer {
|
|
227
|
+
readonly _tag: "Locate";
|
|
228
|
+
readonly box: Decision.BoundingBox;
|
|
229
|
+
readonly confidence?: number | undefined;
|
|
230
|
+
}
|
|
204
231
|
/**
|
|
205
232
|
* Provider answer for any decision kind.
|
|
206
233
|
*
|
|
@@ -208,7 +235,7 @@ export interface ProviderRefusalAnswer {
|
|
|
208
235
|
* @category models
|
|
209
236
|
* @since 4.0.0
|
|
210
237
|
*/
|
|
211
|
-
export type ProviderAnswer = ProviderClassifyAnswer | ProviderRateAnswer | ProviderProbabilityAnswer | ProviderRefusalAnswer;
|
|
238
|
+
export type ProviderAnswer = ProviderClassifyAnswer | ProviderRateAnswer | ProviderProbabilityAnswer | ProviderRefusalAnswer | ProviderLocateAnswer;
|
|
212
239
|
/**
|
|
213
240
|
* Provider response for a decision request.
|
|
214
241
|
* `answers` is keyed like the requested decisions. Each answer is validated
|
|
@@ -246,16 +273,24 @@ export interface DecisionModel {
|
|
|
246
273
|
* Creates a `DecisionModel` that encodes inputs as JSON and validates provider answers.
|
|
247
274
|
* Answers must cover every decision and use its labels. Distributions must
|
|
248
275
|
* sum to 1 within `1e-6`, optional confidence must be in `[0, 1]`, and ratings must be
|
|
249
|
-
* in `[0, criteria.length - 1]
|
|
276
|
+
* in `[0, criteria.length - 1]`, and boxes must have edges in `[0, 1]` that do
|
|
277
|
+
* not cross. With `decide`, refused decisions fail with
|
|
250
278
|
* `AiError.ContentPolicyError` and other unanswered decisions fail with
|
|
251
279
|
* `AiError.InvalidOutputError`; `decideSettled` reports them per decision
|
|
252
280
|
* instead. Encoding failures use `AiError.InvalidUserInputError`.
|
|
253
281
|
*
|
|
254
282
|
* **Details**
|
|
255
283
|
*
|
|
256
|
-
*
|
|
284
|
+
* After encoding, each `Decision.Image` in the input is replaced with a
|
|
285
|
+
* reference string, and the provider receives the images in `images`. Set
|
|
286
|
+
* `supportsImages: true` to accept images. Otherwise, an input with images
|
|
257
287
|
* fails with `AiError.InvalidUserInputError`.
|
|
258
288
|
*
|
|
289
|
+
* Set `supportsLocate: true` to accept locate decisions; only then does
|
|
290
|
+
* `decide` receive them. Otherwise, a definition with a locate decision fails
|
|
291
|
+
* with `AiError.InvalidUserInputError`, as does a locate decision whose path
|
|
292
|
+
* holds no image.
|
|
293
|
+
*
|
|
259
294
|
* Providers that round each probability to `probabilityPrecision` decimal
|
|
260
295
|
* places may return distributions whose sum drifts from 1 by up to half a unit
|
|
261
296
|
* of the last place per label. Setting `probabilityPrecision` accepts that
|
|
@@ -270,9 +305,15 @@ export interface DecisionModel {
|
|
|
270
305
|
* @since 4.0.0
|
|
271
306
|
*/
|
|
272
307
|
export declare const make: (params: {
|
|
308
|
+
readonly decide: (options: ProviderOptions<Exclude<Decision.Any, Decision.Locate>>) => Effect.Effect<ProviderResponse, AiError.AiError>;
|
|
309
|
+
readonly probabilityPrecision?: number | undefined;
|
|
310
|
+
readonly supportsImages?: boolean | undefined;
|
|
311
|
+
readonly supportsLocate?: false | undefined;
|
|
312
|
+
} | {
|
|
273
313
|
readonly decide: (options: ProviderOptions) => Effect.Effect<ProviderResponse, AiError.AiError>;
|
|
274
314
|
readonly probabilityPrecision?: number | undefined;
|
|
275
315
|
readonly supportsImages?: boolean | undefined;
|
|
316
|
+
readonly supportsLocate: true;
|
|
276
317
|
}) => Effect.Effect<DecisionModel>;
|
|
277
318
|
/**
|
|
278
319
|
* Answers a decision definition using the current `DecisionModel` service.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DecisionModel.d.ts","sourceRoot":"","sources":["../../src/ai/DecisionModel.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"DecisionModel.d.ts","sourceRoot":"","sources":["../../src/ai/DecisionModel.ts"],"names":[],"mappings":"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"}
|