effect 4.0.5 → 4.0.7
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/ai-docs/package.json +1 -1
- package/ai-docs/src/06_schedule/10_schedules.ts +5 -4
- package/ai-docs/tsconfig.json +3 -1
- package/dist/Arbitrary.d.ts +10 -2
- package/dist/Arbitrary.d.ts.map +1 -1
- package/dist/Arbitrary.js +2 -1
- package/dist/Arbitrary.js.map +1 -1
- package/dist/Array.d.ts +117 -52
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +41 -20
- package/dist/Array.js.map +1 -1
- package/dist/Bytes.d.ts +79 -0
- package/dist/Bytes.d.ts.map +1 -0
- package/dist/Bytes.js +109 -0
- package/dist/Bytes.js.map +1 -0
- package/dist/Channel.d.ts +181 -13
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +144 -34
- package/dist/Channel.js.map +1 -1
- package/dist/ChannelSchema.d.ts.map +1 -1
- package/dist/ChannelSchema.js.map +1 -1
- package/dist/Chunk.d.ts +39 -21
- package/dist/Chunk.d.ts.map +1 -1
- package/dist/Chunk.js +26 -17
- package/dist/Chunk.js.map +1 -1
- package/dist/Config.d.ts.map +1 -1
- package/dist/Config.js +8 -3
- package/dist/Config.js.map +1 -1
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +2 -1
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Cron.d.ts +2 -2
- package/dist/Cron.d.ts.map +1 -1
- package/dist/Cron.js +6 -3
- package/dist/Cron.js.map +1 -1
- package/dist/Data.d.ts +54 -235
- package/dist/Data.d.ts.map +1 -1
- package/dist/Data.js.map +1 -1
- package/dist/Duration.d.ts.map +1 -1
- package/dist/Duration.js +56 -16
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +488 -164
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +204 -38
- package/dist/Effect.js.map +1 -1
- package/dist/Equal.d.ts.map +1 -1
- package/dist/Equal.js +8 -1
- package/dist/Equal.js.map +1 -1
- package/dist/Equivalence.d.ts +2 -1
- package/dist/Equivalence.d.ts.map +1 -1
- package/dist/Equivalence.js +12 -8
- package/dist/Equivalence.js.map +1 -1
- package/dist/Exit.d.ts +27 -12
- package/dist/Exit.d.ts.map +1 -1
- package/dist/Exit.js +8 -3
- package/dist/Exit.js.map +1 -1
- package/dist/FiberHandle.d.ts +2 -0
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +9 -4
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +2 -0
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +5 -2
- package/dist/FiberMap.js.map +1 -1
- package/dist/FileSystem.d.ts +5 -0
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +3 -0
- package/dist/FileSystem.js.map +1 -1
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +27 -13
- package/dist/Formatter.js.map +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.js.map +1 -1
- package/dist/Hash.d.ts.map +1 -1
- package/dist/Hash.js +4 -1
- package/dist/Hash.js.map +1 -1
- package/dist/HashSet.d.ts.map +1 -1
- package/dist/HashSet.js.map +1 -1
- package/dist/Iterable.d.ts.map +1 -1
- package/dist/Iterable.js +18 -17
- package/dist/Iterable.js.map +1 -1
- package/dist/JsonPatch.js +4 -0
- package/dist/JsonPatch.js.map +1 -1
- package/dist/JsonSchema.d.ts +9 -3
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +32 -43
- package/dist/JsonSchema.js.map +1 -1
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +2 -2
- package/dist/Layer.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +19 -1
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +62 -6
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Metric.d.ts +135 -3
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +197 -25
- package/dist/Metric.js.map +1 -1
- package/dist/MutableHashMap.d.ts.map +1 -1
- package/dist/MutableHashMap.js.map +1 -1
- package/dist/MutableList.d.ts +5 -2
- package/dist/MutableList.d.ts.map +1 -1
- package/dist/MutableList.js +7 -5
- package/dist/MutableList.js.map +1 -1
- package/dist/MutableRef.d.ts.map +1 -1
- package/dist/MutableRef.js +7 -0
- package/dist/MutableRef.js.map +1 -1
- package/dist/Number.js +2 -2
- package/dist/Number.js.map +1 -1
- package/dist/Optic.d.ts.map +1 -1
- package/dist/Optic.js.map +1 -1
- package/dist/PartitionedSemaphore.d.ts +2 -1
- package/dist/PartitionedSemaphore.d.ts.map +1 -1
- package/dist/PartitionedSemaphore.js +22 -12
- package/dist/PartitionedSemaphore.js.map +1 -1
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +8 -1
- package/dist/Path.js.map +1 -1
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +77 -27
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +17 -13
- package/dist/PubSub.js.map +1 -1
- package/dist/Queue.d.ts +4 -1
- package/dist/Queue.d.ts.map +1 -1
- package/dist/Queue.js +4 -1
- package/dist/Queue.js.map +1 -1
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +1 -1
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +12 -7
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +9 -6
- package/dist/RcMap.js.map +1 -1
- package/dist/Record.d.ts +51 -0
- package/dist/Record.d.ts.map +1 -1
- package/dist/Record.js +17 -0
- package/dist/Record.js.map +1 -1
- package/dist/Ref.d.ts.map +1 -1
- package/dist/Ref.js +8 -0
- package/dist/Ref.js.map +1 -1
- package/dist/References.d.ts +5 -4
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +5 -4
- package/dist/References.js.map +1 -1
- package/dist/RequestResolver.d.ts +31 -1
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +39 -4
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.js +1 -1
- package/dist/Resource.js.map +1 -1
- package/dist/Runtime.d.ts +3 -3
- package/dist/Runtime.d.ts.map +1 -1
- package/dist/Runtime.js +18 -15
- package/dist/Runtime.js.map +1 -1
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +1 -1
- package/dist/Schedule.js.map +1 -1
- package/dist/Schema.d.ts +408 -340
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +370 -47
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +9 -7
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +38 -25
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +8 -3
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +15 -5
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaIssue.d.ts +4 -4
- package/dist/SchemaIssue.d.ts.map +1 -1
- package/dist/SchemaIssue.js +29 -51
- package/dist/SchemaIssue.js.map +1 -1
- package/dist/SchemaParser.d.ts.map +1 -1
- package/dist/SchemaParser.js +48 -22
- package/dist/SchemaParser.js.map +1 -1
- package/dist/SchemaRepresentation.d.ts +75 -11
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +41 -13
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +5 -2
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +10 -3
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +12 -2
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +5 -0
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts +10 -7
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +9 -5
- package/dist/ScopedCache.js.map +1 -1
- package/dist/SemVer.d.ts +1196 -0
- package/dist/SemVer.d.ts.map +1 -0
- package/dist/SemVer.js +756 -0
- package/dist/SemVer.js.map +1 -0
- package/dist/SemVerRange.d.ts +559 -0
- package/dist/SemVerRange.d.ts.map +1 -0
- package/dist/SemVerRange.js +551 -0
- package/dist/SemVerRange.js.map +1 -0
- package/dist/Semaphore.d.ts.map +1 -1
- package/dist/Semaphore.js +54 -35
- package/dist/Semaphore.js.map +1 -1
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +13 -4
- package/dist/Sink.js.map +1 -1
- package/dist/Stream.d.ts +235 -8
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +167 -70
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +7 -2
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +11 -6
- package/dist/String.js.map +1 -1
- package/dist/TextDiff.d.ts +399 -0
- package/dist/TextDiff.d.ts.map +1 -0
- package/dist/TextDiff.js +634 -0
- package/dist/TextDiff.js.map +1 -0
- package/dist/Tracer.d.ts +11 -1
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +6 -1
- package/dist/Tracer.js.map +1 -1
- package/dist/TxHashMap.d.ts.map +1 -1
- package/dist/TxHashMap.js.map +1 -1
- package/dist/TxHashSet.d.ts.map +1 -1
- package/dist/TxHashSet.js.map +1 -1
- package/dist/ai/AiError.d.ts +68 -4
- package/dist/ai/AiError.d.ts.map +1 -1
- package/dist/ai/AiError.js +50 -2
- package/dist/ai/AiError.js.map +1 -1
- package/dist/ai/Chat.d.ts +1 -2
- package/dist/ai/Chat.d.ts.map +1 -1
- package/dist/ai/Chat.js +6 -3
- package/dist/ai/Chat.js.map +1 -1
- package/dist/ai/Decision.d.ts +46 -1
- package/dist/ai/Decision.d.ts.map +1 -1
- package/dist/ai/Decision.js.map +1 -1
- package/dist/ai/DecisionModel.d.ts +129 -11
- package/dist/ai/DecisionModel.d.ts.map +1 -1
- package/dist/ai/DecisionModel.js +182 -94
- package/dist/ai/DecisionModel.js.map +1 -1
- package/dist/ai/EmbeddingModel.d.ts +10 -0
- package/dist/ai/EmbeddingModel.d.ts.map +1 -1
- package/dist/ai/EmbeddingModel.js +21 -7
- package/dist/ai/EmbeddingModel.js.map +1 -1
- package/dist/ai/LanguageModel.d.ts.map +1 -1
- package/dist/ai/LanguageModel.js +9 -0
- package/dist/ai/LanguageModel.js.map +1 -1
- package/dist/ai/McpClient.d.ts +289 -0
- package/dist/ai/McpClient.d.ts.map +1 -0
- package/dist/ai/McpClient.js +819 -0
- package/dist/ai/McpClient.js.map +1 -0
- package/dist/ai/McpClientError.d.ts +254 -0
- package/dist/ai/McpClientError.d.ts.map +1 -0
- package/dist/ai/McpClientError.js +260 -0
- package/dist/ai/McpClientError.js.map +1 -0
- package/dist/ai/McpProtocol.d.ts +2 -2
- package/dist/ai/McpProtocol.d.ts.map +1 -1
- package/dist/ai/McpSchema.d.ts +258 -125
- package/dist/ai/McpSchema.d.ts.map +1 -1
- package/dist/ai/McpSchema.js +94 -24
- package/dist/ai/McpSchema.js.map +1 -1
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +46 -37
- package/dist/ai/McpServer.js.map +1 -1
- package/dist/ai/Prompt.d.ts +74 -20
- package/dist/ai/Prompt.d.ts.map +1 -1
- package/dist/ai/Prompt.js +61 -1
- package/dist/ai/Prompt.js.map +1 -1
- package/dist/ai/Response.d.ts +160 -3
- package/dist/ai/Response.d.ts.map +1 -1
- package/dist/ai/Response.js +39 -37
- package/dist/ai/Response.js.map +1 -1
- package/dist/ai/Tool.d.ts +36 -4
- package/dist/ai/Tool.d.ts.map +1 -1
- package/dist/ai/Tool.js +5 -2
- package/dist/ai/Tool.js.map +1 -1
- package/dist/ai/Toolkit.d.ts +48 -1
- package/dist/ai/Toolkit.d.ts.map +1 -1
- package/dist/ai/Toolkit.js +73 -13
- package/dist/ai/Toolkit.js.map +1 -1
- package/dist/ai/index.d.ts +10 -0
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +10 -0
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/internal/mcpCore.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js +1 -1
- package/dist/ai/internal/mcpProtocol/v2024_11_05.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_03_26.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js +2 -2
- package/dist/ai/internal/mcpProtocol/v2025_06_18.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js +2 -2
- package/dist/ai/internal/mcpProtocol/v2025_11_25.js.map +1 -1
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js +4 -7
- package/dist/ai/internal/mcpProtocol/v2026_07_28.js.map +1 -1
- package/dist/ai/internal/mcpProtocol.js +16 -2
- package/dist/ai/internal/mcpProtocol.js.map +1 -1
- package/dist/ai/internal/mcpRuntime.js +3 -4
- package/dist/ai/internal/mcpRuntime.js.map +1 -1
- package/dist/ai/internal/mcpSchema/v2024_11_05.js +19 -13
- package/dist/ai/internal/mcpSchema/v2024_11_05.js.map +1 -1
- package/dist/ai/internal/mcpSchema/v2025_03_26.js +3 -2
- package/dist/ai/internal/mcpSchema/v2025_03_26.js.map +1 -1
- package/dist/ai/internal/mcpSchema/v2025_06_18.js +7 -7
- package/dist/ai/internal/mcpSchema/v2025_06_18.js.map +1 -1
- package/dist/ai/internal/mcpSchema/v2025_11_25.js +8 -8
- package/dist/ai/internal/mcpSchema/v2025_11_25.js.map +1 -1
- package/dist/ai/internal/mcpSchema/v2026_07_28.js +43 -42
- package/dist/ai/internal/mcpSchema/v2026_07_28.js.map +1 -1
- package/dist/cli/Argument.d.ts +15 -0
- package/dist/cli/Argument.d.ts.map +1 -1
- package/dist/cli/Argument.js +5 -0
- package/dist/cli/Argument.js.map +1 -1
- package/dist/cli/CliError.d.ts +120 -2
- package/dist/cli/CliError.d.ts.map +1 -1
- package/dist/cli/CliError.js +106 -5
- package/dist/cli/CliError.js.map +1 -1
- package/dist/cli/CliOutput.d.ts +155 -6
- package/dist/cli/CliOutput.d.ts.map +1 -1
- package/dist/cli/CliOutput.js +62 -6
- package/dist/cli/CliOutput.js.map +1 -1
- package/dist/cli/Command.d.ts +310 -18
- package/dist/cli/Command.d.ts.map +1 -1
- package/dist/cli/Command.js +164 -33
- package/dist/cli/Command.js.map +1 -1
- package/dist/cli/Completions.d.ts +63 -0
- package/dist/cli/Completions.d.ts.map +1 -1
- package/dist/cli/Completions.js +49 -9
- package/dist/cli/Completions.js.map +1 -1
- package/dist/cli/Flag.d.ts +130 -0
- package/dist/cli/Flag.d.ts.map +1 -1
- package/dist/cli/Flag.js +61 -0
- package/dist/cli/Flag.js.map +1 -1
- package/dist/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/cli/GlobalFlag.js +14 -6
- package/dist/cli/GlobalFlag.js.map +1 -1
- package/dist/cli/Param.d.ts +116 -0
- package/dist/cli/Param.d.ts.map +1 -1
- package/dist/cli/Param.js +77 -2
- package/dist/cli/Param.js.map +1 -1
- package/dist/cli/TerminalCapabilities.d.ts +85 -0
- package/dist/cli/TerminalCapabilities.d.ts.map +1 -0
- package/dist/cli/TerminalCapabilities.js +124 -0
- package/dist/cli/TerminalCapabilities.js.map +1 -0
- package/dist/cli/index.d.ts +5 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +5 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/internal/command.d.ts +2 -1
- package/dist/cli/internal/command.d.ts.map +1 -1
- package/dist/cli/internal/command.js +5 -2
- package/dist/cli/internal/command.js.map +1 -1
- package/dist/cli/internal/completions/bash.js +77 -30
- package/dist/cli/internal/completions/bash.js.map +1 -1
- package/dist/cli/internal/completions/descriptor.js +9 -1
- package/dist/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/cli/internal/completions/fish.js +10 -8
- package/dist/cli/internal/completions/fish.js.map +1 -1
- package/dist/cli/internal/completions/powershell.js +18 -9
- package/dist/cli/internal/completions/powershell.js.map +1 -1
- package/dist/cli/internal/completions/zsh.js +8 -5
- package/dist/cli/internal/completions/zsh.js.map +1 -1
- package/dist/cli/internal/formatter.d.ts +2 -0
- package/dist/cli/internal/formatter.d.ts.map +1 -0
- package/dist/cli/internal/formatter.js +15 -0
- package/dist/cli/internal/formatter.js.map +1 -0
- package/dist/cli/internal/lexer.js +24 -10
- package/dist/cli/internal/lexer.js.map +1 -1
- package/dist/cli/internal/parser.js +24 -12
- package/dist/cli/internal/parser.js.map +1 -1
- package/dist/cluster/ClusterCron.d.ts +29 -1
- package/dist/cluster/ClusterCron.d.ts.map +1 -1
- package/dist/cluster/ClusterCron.js +64 -32
- package/dist/cluster/ClusterCron.js.map +1 -1
- package/dist/cluster/ClusterMetrics.d.ts +143 -7
- package/dist/cluster/ClusterMetrics.d.ts.map +1 -1
- package/dist/cluster/ClusterMetrics.js +151 -7
- package/dist/cluster/ClusterMetrics.js.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.d.ts +1 -1
- package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.js +82 -21
- package/dist/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cluster/Entity.d.ts +2 -0
- package/dist/cluster/Entity.d.ts.map +1 -1
- package/dist/cluster/Entity.js.map +1 -1
- package/dist/cluster/MessageStorage.d.ts +44 -45
- package/dist/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/cluster/MessageStorage.js +6 -7
- package/dist/cluster/MessageStorage.js.map +1 -1
- package/dist/cluster/Runners.d.ts.map +1 -1
- package/dist/cluster/Runners.js +54 -15
- package/dist/cluster/Runners.js.map +1 -1
- package/dist/cluster/Sharding.d.ts +1 -0
- package/dist/cluster/Sharding.d.ts.map +1 -1
- package/dist/cluster/Sharding.js +155 -52
- package/dist/cluster/Sharding.js.map +1 -1
- package/dist/cluster/ShardingConfig.d.ts +30 -0
- 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/Snowflake.d.ts.map +1 -1
- package/dist/cluster/Snowflake.js +3 -7
- package/dist/cluster/Snowflake.js.map +1 -1
- package/dist/cluster/SqlMessageStorage.d.ts.map +1 -1
- package/dist/cluster/SqlMessageStorage.js +40 -50
- package/dist/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/cluster/SqlRunnerStorage.d.ts +2 -2
- package/dist/cluster/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/cluster/SqlRunnerStorage.js +97 -43
- package/dist/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/cluster/internal/entityManager.js +119 -28
- package/dist/cluster/internal/entityManager.js.map +1 -1
- package/dist/devtools/DevTools.d.ts +3 -2
- package/dist/devtools/DevTools.d.ts.map +1 -1
- package/dist/devtools/DevTools.js +3 -2
- package/dist/devtools/DevTools.js.map +1 -1
- package/dist/devtools/DevToolsClient.d.ts +11 -0
- package/dist/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/devtools/DevToolsClient.js +33 -4
- package/dist/devtools/DevToolsClient.js.map +1 -1
- package/dist/encoding/Base64.js +36 -0
- package/dist/encoding/Base64.js.map +1 -1
- package/dist/encoding/Base64Url.d.ts +29 -0
- package/dist/encoding/Base64Url.d.ts.map +1 -1
- package/dist/encoding/Base64Url.js +29 -0
- package/dist/encoding/Base64Url.js.map +1 -1
- package/dist/encoding/Ini.d.ts.map +1 -1
- package/dist/encoding/Ini.js +3 -0
- package/dist/encoding/Ini.js.map +1 -1
- package/dist/encoding/JsonArray.d.ts +270 -0
- package/dist/encoding/JsonArray.d.ts.map +1 -0
- package/dist/encoding/JsonArray.js +691 -0
- package/dist/encoding/JsonArray.js.map +1 -0
- package/dist/encoding/Ndjson.d.ts +43 -4
- package/dist/encoding/Ndjson.d.ts.map +1 -1
- package/dist/encoding/Ndjson.js +169 -18
- package/dist/encoding/Ndjson.js.map +1 -1
- package/dist/encoding/SchemaBinary.d.ts +9 -1
- package/dist/encoding/SchemaBinary.d.ts.map +1 -1
- package/dist/encoding/SchemaBinary.js +12 -19
- package/dist/encoding/SchemaBinary.js.map +1 -1
- package/dist/encoding/Sse.d.ts.map +1 -1
- package/dist/encoding/Sse.js +3 -3
- package/dist/encoding/Sse.js.map +1 -1
- package/dist/encoding/Tar.d.ts +309 -0
- package/dist/encoding/Tar.d.ts.map +1 -0
- package/dist/encoding/Tar.js +1182 -0
- package/dist/encoding/Tar.js.map +1 -0
- package/dist/encoding/Toml.d.ts.map +1 -1
- package/dist/encoding/Toml.js +24 -19
- package/dist/encoding/Toml.js.map +1 -1
- package/dist/encoding/Xml.d.ts +464 -0
- package/dist/encoding/Xml.d.ts.map +1 -0
- package/dist/encoding/Xml.js +1619 -0
- package/dist/encoding/Xml.js.map +1 -0
- package/dist/encoding/Yaml.d.ts +6 -2
- package/dist/encoding/Yaml.d.ts.map +1 -1
- package/dist/encoding/Yaml.js +97 -34
- package/dist/encoding/Yaml.js.map +1 -1
- package/dist/encoding/Zip.d.ts +413 -0
- package/dist/encoding/Zip.d.ts.map +1 -0
- package/dist/encoding/Zip.js +1255 -0
- package/dist/encoding/Zip.js.map +1 -0
- package/dist/encoding/index.d.ts +20 -0
- package/dist/encoding/index.d.ts.map +1 -1
- package/dist/encoding/index.js +20 -0
- package/dist/encoding/index.js.map +1 -1
- package/dist/eventlog/EventJournal.d.ts +90 -5
- package/dist/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/eventlog/EventJournal.js +488 -228
- package/dist/eventlog/EventJournal.js.map +1 -1
- package/dist/eventlog/EventLog.d.ts +180 -12
- package/dist/eventlog/EventLog.d.ts.map +1 -1
- package/dist/eventlog/EventLog.js +394 -146
- package/dist/eventlog/EventLog.js.map +1 -1
- package/dist/eventlog/EventLogEncryption.d.ts +36 -30
- package/dist/eventlog/EventLogEncryption.d.ts.map +1 -1
- package/dist/eventlog/EventLogEncryption.js +97 -38
- package/dist/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/eventlog/EventLogMessage.d.ts +74 -34
- package/dist/eventlog/EventLogMessage.d.ts.map +1 -1
- package/dist/eventlog/EventLogMessage.js +45 -11
- package/dist/eventlog/EventLogMessage.js.map +1 -1
- package/dist/eventlog/EventLogRemote.d.ts +45 -8
- package/dist/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/eventlog/EventLogRemote.js +51 -14
- package/dist/eventlog/EventLogRemote.js.map +1 -1
- package/dist/eventlog/EventLogServer.d.ts +46 -3
- package/dist/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/eventlog/EventLogServer.js +119 -19
- package/dist/eventlog/EventLogServer.js.map +1 -1
- package/dist/eventlog/EventLogServerEncrypted.d.ts +23 -33
- package/dist/eventlog/EventLogServerEncrypted.d.ts.map +1 -1
- package/dist/eventlog/EventLogServerEncrypted.js +97 -70
- package/dist/eventlog/EventLogServerEncrypted.js.map +1 -1
- package/dist/eventlog/EventLogServerUnencrypted.d.ts +39 -5
- package/dist/eventlog/EventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/eventlog/EventLogServerUnencrypted.js +151 -69
- package/dist/eventlog/EventLogServerUnencrypted.js.map +1 -1
- package/dist/eventlog/EventRow.d.ts +288 -0
- package/dist/eventlog/EventRow.d.ts.map +1 -0
- package/dist/eventlog/EventRow.js +435 -0
- package/dist/eventlog/EventRow.js.map +1 -0
- package/dist/eventlog/SqlEventJournal.d.ts +18 -18
- package/dist/eventlog/SqlEventJournal.d.ts.map +1 -1
- package/dist/eventlog/SqlEventJournal.js +417 -169
- package/dist/eventlog/SqlEventJournal.js.map +1 -1
- package/dist/eventlog/SqlEventLogServerEncrypted.d.ts +10 -18
- package/dist/eventlog/SqlEventLogServerEncrypted.d.ts.map +1 -1
- package/dist/eventlog/SqlEventLogServerEncrypted.js +179 -69
- package/dist/eventlog/SqlEventLogServerEncrypted.js.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts +23 -3
- package/dist/eventlog/SqlEventLogServerUnencrypted.d.ts.map +1 -1
- package/dist/eventlog/SqlEventLogServerUnencrypted.js +102 -51
- package/dist/eventlog/SqlEventLogServerUnencrypted.js.map +1 -1
- package/dist/eventlog/index.d.ts +5 -0
- package/dist/eventlog/index.d.ts.map +1 -1
- package/dist/eventlog/index.js +5 -0
- package/dist/eventlog/index.js.map +1 -1
- package/dist/eventlog/internal/conflicts.d.ts +46 -0
- package/dist/eventlog/internal/conflicts.d.ts.map +1 -0
- package/dist/eventlog/internal/conflicts.js +89 -0
- package/dist/eventlog/internal/conflicts.js.map +1 -0
- package/dist/graphql/GraphQLClientError.d.ts +2 -2
- package/dist/graphql/GraphQLClientError.d.ts.map +1 -1
- package/dist/graphql/GraphQLClientError.js +4 -18
- package/dist/graphql/GraphQLClientError.js.map +1 -1
- package/dist/graphql/GraphQLProtocol.d.ts +12 -9
- package/dist/graphql/GraphQLProtocol.d.ts.map +1 -1
- package/dist/graphql/GraphQLProtocol.js +4 -3
- package/dist/graphql/GraphQLProtocol.js.map +1 -1
- package/dist/graphql/GraphQLResolver.d.ts +2 -0
- package/dist/graphql/GraphQLResolver.d.ts.map +1 -1
- package/dist/graphql/GraphQLResolver.js +74 -32
- package/dist/graphql/GraphQLResolver.js.map +1 -1
- package/dist/http/Cookies.d.ts.map +1 -1
- package/dist/http/Cookies.js +10 -9
- package/dist/http/Cookies.js.map +1 -1
- package/dist/http/FetchHttpClient.d.ts +8 -1
- package/dist/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/http/FetchHttpClient.js +51 -4
- package/dist/http/FetchHttpClient.js.map +1 -1
- package/dist/http/FindMyWay/internal/router.js +10 -0
- package/dist/http/FindMyWay/internal/router.js.map +1 -1
- package/dist/http/Headers.d.ts +227 -0
- package/dist/http/Headers.d.ts.map +1 -1
- package/dist/http/Headers.js +261 -0
- package/dist/http/Headers.js.map +1 -1
- package/dist/http/HttpClient.d.ts +516 -0
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +286 -23
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/HttpClientError.d.ts +8 -1
- package/dist/http/HttpClientError.d.ts.map +1 -1
- package/dist/http/HttpClientError.js +37 -1
- package/dist/http/HttpClientError.js.map +1 -1
- package/dist/http/HttpClientRequest.d.ts +127 -3
- package/dist/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/http/HttpClientRequest.js +45 -3
- package/dist/http/HttpClientRequest.js.map +1 -1
- package/dist/http/HttpClientResponse.d.ts +53 -0
- package/dist/http/HttpClientResponse.d.ts.map +1 -1
- package/dist/http/HttpClientResponse.js +47 -0
- package/dist/http/HttpClientResponse.js.map +1 -1
- package/dist/http/HttpEffect.d.ts +6 -2
- package/dist/http/HttpEffect.d.ts.map +1 -1
- package/dist/http/HttpEffect.js +21 -17
- package/dist/http/HttpEffect.js.map +1 -1
- package/dist/http/HttpIncomingMessage.d.ts +2 -1
- package/dist/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/http/HttpIncomingMessage.js +3 -23
- package/dist/http/HttpIncomingMessage.js.map +1 -1
- package/dist/http/HttpMiddleware.d.ts +119 -2
- package/dist/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/http/HttpMiddleware.js +173 -29
- package/dist/http/HttpMiddleware.js.map +1 -1
- package/dist/http/HttpRouter.d.ts.map +1 -1
- package/dist/http/HttpRouter.js +9 -3
- package/dist/http/HttpRouter.js.map +1 -1
- package/dist/http/HttpServerError.d.ts +5 -2
- package/dist/http/HttpServerError.d.ts.map +1 -1
- package/dist/http/HttpServerError.js +7 -5
- package/dist/http/HttpServerError.js.map +1 -1
- package/dist/http/HttpServerRequest.d.ts +30 -5
- package/dist/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/http/HttpServerRequest.js +109 -20
- package/dist/http/HttpServerRequest.js.map +1 -1
- package/dist/http/HttpServerResponse.d.ts +17 -8
- package/dist/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/http/HttpServerResponse.js +37 -21
- package/dist/http/HttpServerResponse.js.map +1 -1
- package/dist/http/HttpStaticServer.d.ts +0 -12
- package/dist/http/HttpStaticServer.d.ts.map +1 -1
- package/dist/http/HttpStaticServer.js +65 -24
- package/dist/http/HttpStaticServer.js.map +1 -1
- package/dist/http/MultipartParser/internal/contentType.d.ts +15 -1
- package/dist/http/MultipartParser/internal/contentType.d.ts.map +1 -1
- package/dist/http/MultipartParser/internal/contentType.js +89 -7
- package/dist/http/MultipartParser/internal/contentType.js.map +1 -1
- package/dist/http/MultipartParser/internal/headers.d.ts.map +1 -1
- package/dist/http/MultipartParser/internal/headers.js +4 -12
- package/dist/http/MultipartParser/internal/headers.js.map +1 -1
- package/dist/http/MultipartParser/internal/multipart.d.ts.map +1 -1
- package/dist/http/MultipartParser/internal/multipart.js +6 -27
- package/dist/http/MultipartParser/internal/multipart.js.map +1 -1
- package/dist/http/Url.d.ts.map +1 -1
- package/dist/http/Url.js +6 -1
- package/dist/http/Url.js.map +1 -1
- package/dist/http/UrlParams.d.ts +3 -1
- package/dist/http/UrlParams.d.ts.map +1 -1
- package/dist/http/UrlParams.js +4 -2
- package/dist/http/UrlParams.js.map +1 -1
- package/dist/http/internal/compression.js +4 -5
- package/dist/http/internal/compression.js.map +1 -1
- package/dist/http/internal/decompression.js +20 -11
- package/dist/http/internal/decompression.js.map +1 -1
- package/dist/http/internal/httpBody.js +8 -1
- package/dist/http/internal/httpBody.js.map +1 -1
- package/dist/http/internal/lazyStream.d.ts +2 -0
- package/dist/http/internal/lazyStream.d.ts.map +1 -0
- package/dist/http/internal/lazyStream.js +18 -0
- package/dist/http/internal/lazyStream.js.map +1 -0
- package/dist/http/internal/requestState.d.ts +2 -0
- package/dist/http/internal/requestState.d.ts.map +1 -0
- package/dist/http/internal/requestState.js +28 -0
- package/dist/http/internal/requestState.js.map +1 -0
- package/dist/http/internal/urlParams.js +25 -0
- package/dist/http/internal/urlParams.js.map +1 -1
- package/dist/http/internal/webResponse.d.ts +2 -0
- package/dist/http/internal/webResponse.d.ts.map +1 -0
- package/dist/http/internal/webResponse.js +12 -0
- package/dist/http/internal/webResponse.js.map +1 -0
- package/dist/http-api/HttpApi.d.ts +3 -6
- package/dist/http-api/HttpApi.d.ts.map +1 -1
- package/dist/http-api/HttpApi.js +4 -7
- package/dist/http-api/HttpApi.js.map +1 -1
- package/dist/http-api/HttpApiBuilder.d.ts.map +1 -1
- package/dist/http-api/HttpApiBuilder.js +142 -23
- package/dist/http-api/HttpApiBuilder.js.map +1 -1
- package/dist/http-api/HttpApiClient.d.ts +99 -4
- package/dist/http-api/HttpApiClient.d.ts.map +1 -1
- package/dist/http-api/HttpApiClient.js +218 -60
- package/dist/http-api/HttpApiClient.js.map +1 -1
- package/dist/http-api/HttpApiEndpoint.d.ts +72 -29
- package/dist/http-api/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/http-api/HttpApiEndpoint.js +140 -14
- package/dist/http-api/HttpApiEndpoint.js.map +1 -1
- package/dist/http-api/HttpApiError.d.ts +58 -0
- package/dist/http-api/HttpApiError.d.ts.map +1 -1
- package/dist/http-api/HttpApiError.js +38 -12
- package/dist/http-api/HttpApiError.js.map +1 -1
- package/dist/http-api/HttpApiScalar.d.ts +2 -1
- package/dist/http-api/HttpApiScalar.d.ts.map +1 -1
- package/dist/http-api/HttpApiScalar.js +6 -3
- package/dist/http-api/HttpApiScalar.js.map +1 -1
- package/dist/http-api/HttpApiSchema.d.ts +242 -13
- package/dist/http-api/HttpApiSchema.d.ts.map +1 -1
- package/dist/http-api/HttpApiSchema.js +149 -5
- package/dist/http-api/HttpApiSchema.js.map +1 -1
- package/dist/http-api/HttpApiSwagger.d.ts +5 -0
- package/dist/http-api/HttpApiSwagger.d.ts.map +1 -1
- package/dist/http-api/HttpApiSwagger.js +14 -4
- package/dist/http-api/HttpApiSwagger.js.map +1 -1
- package/dist/http-api/HttpApiTest.d.ts +13 -2
- package/dist/http-api/HttpApiTest.d.ts.map +1 -1
- package/dist/http-api/HttpApiTest.js +33 -11
- package/dist/http-api/HttpApiTest.js.map +1 -1
- package/dist/http-api/OpenApi.d.ts +17 -3
- package/dist/http-api/OpenApi.d.ts.map +1 -1
- package/dist/http-api/OpenApi.js +81 -47
- package/dist/http-api/OpenApi.js.map +1 -1
- package/dist/http-api/internal/path.js +35 -10
- package/dist/http-api/internal/path.js.map +1 -1
- package/dist/http-api/internal/toCodecHttpProperties.d.ts +2 -0
- package/dist/http-api/internal/toCodecHttpProperties.d.ts.map +1 -0
- package/dist/http-api/internal/toCodecHttpProperties.js +38 -0
- package/dist/http-api/internal/toCodecHttpProperties.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/arbitrary/runner.d.ts.map +1 -1
- package/dist/internal/arbitrary/runner.js +120 -44
- package/dist/internal/arbitrary/runner.js.map +1 -1
- package/dist/internal/core.js +3 -1
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/dateTime.js +19 -7
- package/dist/internal/dateTime.js.map +1 -1
- package/dist/internal/effect.js +106 -87
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/equal.js +14 -0
- package/dist/internal/equal.js.map +1 -1
- package/dist/internal/hashMap.js +2 -2
- package/dist/internal/hashMap.js.map +1 -1
- package/dist/internal/hydration.d.ts +2 -0
- package/dist/internal/hydration.d.ts.map +1 -0
- package/dist/internal/hydration.js +15 -0
- package/dist/internal/hydration.js.map +1 -0
- package/dist/internal/inflate.d.ts +2 -0
- package/dist/internal/inflate.d.ts.map +1 -0
- package/dist/internal/inflate.js +680 -0
- package/dist/internal/inflate.js.map +1 -0
- package/dist/internal/jsonSchema.d.ts +2 -0
- package/dist/internal/jsonSchema.d.ts.map +1 -0
- package/dist/internal/jsonSchema.js +28 -0
- package/dist/internal/jsonSchema.js.map +1 -0
- package/dist/internal/matcher.js +1 -1
- package/dist/internal/matcher.js.map +1 -1
- package/dist/internal/record.js +6 -0
- package/dist/internal/record.js.map +1 -1
- package/dist/internal/request.js +20 -7
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schedule.js +17 -22
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/compilerRegistry.js +4 -1
- package/dist/internal/schema/compilerRegistry.js.map +1 -1
- package/dist/internal/schema/content.d.ts +2 -0
- package/dist/internal/schema/content.d.ts.map +1 -0
- package/dist/internal/schema/content.js +13 -0
- package/dist/internal/schema/content.js.map +1 -0
- package/dist/internal/schema/fromJsonSchemaDocument.js +253 -255
- package/dist/internal/schema/fromJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/fromRepresentation.js +2 -1
- package/dist/internal/schema/fromRepresentation.js.map +1 -1
- package/dist/internal/schema/interpreter.js +51 -36
- package/dist/internal/schema/interpreter.js.map +1 -1
- package/dist/internal/schema/standardSchema.js +42 -35
- package/dist/internal/schema/standardSchema.js.map +1 -1
- package/dist/internal/schema/toCodeDocument.js +10 -5
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toCodec.js +99 -17
- package/dist/internal/schema/toCodec.js.map +1 -1
- package/dist/internal/schema/toFormatter.js +5 -5
- package/dist/internal/schema/toFormatter.js.map +1 -1
- package/dist/internal/schema/toJsonSchemaDocument.js +257 -170
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
- package/dist/internal/schema/toRepresentation.js +107 -129
- package/dist/internal/schema/toRepresentation.js.map +1 -1
- package/dist/internal/sql.d.ts +2 -0
- package/dist/internal/sql.d.ts.map +1 -0
- package/dist/internal/sql.js +13 -0
- package/dist/internal/sql.js.map +1 -0
- package/dist/internal/trie.js +1 -3
- package/dist/internal/trie.js.map +1 -1
- package/dist/internal/uuid.js +7 -3
- package/dist/internal/uuid.js.map +1 -1
- package/dist/internal/version.js +1 -1
- package/dist/net/NetAddress.d.ts.map +1 -1
- package/dist/net/NetAddress.js +2 -8
- package/dist/net/NetAddress.js.map +1 -1
- package/dist/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/observability/OtlpExporter.js +5 -12
- package/dist/observability/OtlpExporter.js.map +1 -1
- package/dist/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/observability/OtlpMetrics.js +5 -3
- package/dist/observability/OtlpMetrics.js.map +1 -1
- package/dist/observability/OtlpProxy.d.ts +154 -0
- package/dist/observability/OtlpProxy.d.ts.map +1 -0
- package/dist/observability/OtlpProxy.js +235 -0
- package/dist/observability/OtlpProxy.js.map +1 -0
- package/dist/observability/OtlpResource.d.ts +3 -1
- package/dist/observability/OtlpResource.d.ts.map +1 -1
- package/dist/observability/OtlpResource.js +11 -4
- package/dist/observability/OtlpResource.js.map +1 -1
- package/dist/observability/OtlpSerialization.d.ts +5 -0
- package/dist/observability/OtlpSerialization.d.ts.map +1 -1
- package/dist/observability/OtlpSerialization.js +14 -3
- package/dist/observability/OtlpSerialization.js.map +1 -1
- package/dist/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/observability/OtlpTracer.js +4 -0
- package/dist/observability/OtlpTracer.js.map +1 -1
- package/dist/observability/index.d.ts +5 -0
- package/dist/observability/index.d.ts.map +1 -1
- package/dist/observability/index.js +5 -0
- package/dist/observability/index.js.map +1 -1
- package/dist/observability/internal/protobuf.d.ts +0 -9
- package/dist/observability/internal/protobuf.d.ts.map +1 -1
- package/dist/observability/internal/protobuf.js +2 -10
- package/dist/observability/internal/protobuf.js.map +1 -1
- package/dist/persistence/CircuitBreaker.d.ts +897 -0
- package/dist/persistence/CircuitBreaker.d.ts.map +1 -0
- package/dist/persistence/CircuitBreaker.js +1165 -0
- package/dist/persistence/CircuitBreaker.js.map +1 -0
- package/dist/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/persistence/PersistedCache.js +1 -1
- package/dist/persistence/PersistedCache.js.map +1 -1
- package/dist/persistence/PersistedQueue.d.ts +6 -2
- package/dist/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/persistence/PersistedQueue.js +162 -84
- package/dist/persistence/PersistedQueue.js.map +1 -1
- package/dist/persistence/Persistence.d.ts +28 -0
- package/dist/persistence/Persistence.d.ts.map +1 -1
- package/dist/persistence/Persistence.js +36 -8
- package/dist/persistence/Persistence.js.map +1 -1
- package/dist/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/persistence/RateLimiter.js +8 -12
- package/dist/persistence/RateLimiter.js.map +1 -1
- package/dist/persistence/Redis.d.ts +78 -2
- package/dist/persistence/Redis.d.ts.map +1 -1
- package/dist/persistence/Redis.js +62 -7
- package/dist/persistence/Redis.js.map +1 -1
- package/dist/persistence/UserDirectories.d.ts +129 -0
- package/dist/persistence/UserDirectories.d.ts.map +1 -0
- package/dist/persistence/UserDirectories.js +178 -0
- package/dist/persistence/UserDirectories.js.map +1 -0
- package/dist/persistence/index.d.ts +10 -0
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +10 -0
- package/dist/persistence/index.js.map +1 -1
- package/dist/process/ChildProcess.d.ts +32 -5
- package/dist/process/ChildProcess.d.ts.map +1 -1
- package/dist/process/ChildProcess.js.map +1 -1
- package/dist/process/ChildProcessSpawner.d.ts +30 -0
- package/dist/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/process/ChildProcessSpawner.js +5 -2
- package/dist/process/ChildProcessSpawner.js.map +1 -1
- package/dist/reactivity/AsyncResult.d.ts +1 -1
- package/dist/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/reactivity/AsyncResult.js +1 -1
- package/dist/reactivity/AsyncResult.js.map +1 -1
- package/dist/reactivity/Atom.d.ts +69 -30
- package/dist/reactivity/Atom.d.ts.map +1 -1
- package/dist/reactivity/Atom.js +40 -15
- package/dist/reactivity/Atom.js.map +1 -1
- package/dist/reactivity/AtomHttpApi.d.ts +5 -5
- package/dist/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/reactivity/AtomHttpApi.js +1 -1
- package/dist/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/reactivity/AtomRegistry.d.ts +2 -2
- package/dist/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/reactivity/AtomRegistry.js +44 -9
- package/dist/reactivity/AtomRegistry.js.map +1 -1
- package/dist/reactivity/AtomRpc.d.ts +3 -3
- package/dist/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/reactivity/AtomRpc.js +1 -1
- package/dist/reactivity/AtomRpc.js.map +1 -1
- package/dist/reactivity/Hydration.d.ts.map +1 -1
- package/dist/reactivity/Hydration.js +46 -12
- package/dist/reactivity/Hydration.js.map +1 -1
- package/dist/reactivity/Reactivity.d.ts +71 -7
- package/dist/reactivity/Reactivity.d.ts.map +1 -1
- package/dist/reactivity/Reactivity.js +21 -12
- package/dist/reactivity/Reactivity.js.map +1 -1
- package/dist/rpc/Rpc.d.ts +18 -0
- package/dist/rpc/Rpc.d.ts.map +1 -1
- package/dist/rpc/Rpc.js +20 -0
- package/dist/rpc/Rpc.js.map +1 -1
- package/dist/rpc/RpcClient.d.ts +26 -2
- package/dist/rpc/RpcClient.d.ts.map +1 -1
- package/dist/rpc/RpcClient.js +198 -61
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcSerialization.d.ts +29 -0
- package/dist/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/rpc/RpcSerialization.js +41 -13
- package/dist/rpc/RpcSerialization.js.map +1 -1
- package/dist/rpc/RpcServer.d.ts.map +1 -1
- package/dist/rpc/RpcServer.js +20 -19
- package/dist/rpc/RpcServer.js.map +1 -1
- package/dist/rpc/RpcTest.d.ts +1 -0
- package/dist/rpc/RpcTest.d.ts.map +1 -1
- package/dist/rpc/RpcTest.js +1 -0
- package/dist/rpc/RpcTest.js.map +1 -1
- package/dist/schema/Model.d.ts +1 -1
- package/dist/schema/VariantSchema.d.ts +22 -3
- package/dist/schema/VariantSchema.d.ts.map +1 -1
- package/dist/schema/VariantSchema.js +32 -18
- package/dist/schema/VariantSchema.js.map +1 -1
- package/dist/socket/Socket.d.ts +23 -1
- package/dist/socket/Socket.d.ts.map +1 -1
- package/dist/socket/Socket.js +36 -3
- package/dist/socket/Socket.js.map +1 -1
- package/dist/sql/Migrator.d.ts +2 -1
- package/dist/sql/Migrator.d.ts.map +1 -1
- package/dist/sql/Migrator.js +21 -6
- package/dist/sql/Migrator.js.map +1 -1
- package/dist/sql/SqlClient.d.ts +148 -5
- package/dist/sql/SqlClient.d.ts.map +1 -1
- package/dist/sql/SqlClient.js +155 -27
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/sql/SqlResolver.d.ts +13 -0
- package/dist/sql/SqlResolver.d.ts.map +1 -1
- package/dist/sql/SqlResolver.js +27 -4
- package/dist/sql/SqlResolver.js.map +1 -1
- package/dist/sql/Statement.d.ts +10 -1
- package/dist/sql/Statement.d.ts.map +1 -1
- package/dist/sql/Statement.js +45 -7
- package/dist/sql/Statement.js.map +1 -1
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +4 -2
- package/dist/testing/TestClock.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +7 -1
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js +9 -3
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/workflow/DurableDeferred.js +21 -2
- package/dist/workflow/DurableDeferred.js.map +1 -1
- package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/workflow/WorkflowEngine.js +18 -4
- package/dist/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +13 -3
- package/src/Arbitrary.ts +10 -2
- package/src/Array.ts +128 -55
- package/src/Bytes.ts +111 -0
- package/src/Channel.ts +308 -452
- package/src/ChannelSchema.ts +1 -49
- package/src/Chunk.ts +55 -61
- package/src/Config.ts +12 -86
- package/src/ConfigProvider.ts +2 -1
- package/src/Cron.ts +6 -3
- package/src/Data.ts +60 -265
- package/src/Duration.ts +66 -16
- package/src/Effect.ts +503 -168
- package/src/Equal.ts +8 -1
- package/src/Equivalence.ts +7 -4
- package/src/Exit.ts +27 -12
- package/src/FiberHandle.ts +10 -9
- package/src/FiberMap.ts +13 -66
- package/src/FileSystem.ts +10 -0
- package/src/Formatter.ts +28 -13
- package/src/Graph.ts +171 -1263
- package/src/Hash.ts +4 -1
- package/src/HashSet.ts +0 -60
- package/src/Iterable.ts +15 -14
- package/src/JsonPatch.ts +4 -0
- package/src/JsonSchema.ts +40 -43
- package/src/Layer.ts +2 -2
- package/src/ManagedRuntime.ts +72 -6
- package/src/Metric.ts +252 -510
- package/src/MutableHashMap.ts +4 -473
- package/src/MutableList.ts +7 -5
- package/src/MutableRef.ts +8 -1
- package/src/Number.ts +2 -2
- package/src/Optic.ts +17 -332
- package/src/PartitionedSemaphore.ts +24 -13
- package/src/Path.ts +9 -1
- package/src/Pool.ts +109 -37
- package/src/PubSub.ts +17 -13
- package/src/Queue.ts +5 -37
- package/src/Random.ts +1 -1
- package/src/RcMap.ts +14 -8
- package/src/Record.ts +51 -0
- package/src/Ref.ts +15 -104
- package/src/References.ts +5 -4
- package/src/RequestResolver.ts +46 -87
- package/src/Resource.ts +1 -1
- package/src/Runtime.ts +19 -18
- package/src/Schedule.ts +3 -95
- package/src/Schema.ts +639 -381
- package/src/SchemaAST.ts +40 -29
- package/src/SchemaGetter.ts +22 -5
- package/src/SchemaIssue.ts +44 -53
- package/src/SchemaParser.ts +51 -18
- package/src/SchemaRepresentation.ts +95 -35
- package/src/SchemaTransformation.ts +10 -3
- package/src/Scope.ts +12 -2
- package/src/ScopedCache.ts +17 -142
- package/src/SemVer.ts +1528 -0
- package/src/SemVerRange.ts +883 -0
- package/src/Semaphore.ts +67 -40
- package/src/Sink.ts +21 -4
- package/src/Stream.ts +367 -1027
- package/src/String.ts +11 -8
- package/src/TextDiff.ts +766 -0
- package/src/Tracer.ts +15 -1
- package/src/TxHashMap.ts +1 -103
- package/src/TxHashSet.ts +48 -753
- package/src/ai/AiError.ts +66 -4
- package/src/ai/Chat.ts +10 -5
- package/src/ai/Decision.ts +49 -1
- package/src/ai/DecisionModel.ts +264 -108
- package/src/ai/EmbeddingModel.ts +25 -13
- package/src/ai/LanguageModel.ts +9 -0
- package/src/ai/McpClient.ts +1211 -0
- package/src/ai/McpClientError.ts +329 -0
- package/src/ai/McpProtocol.ts +2 -2
- package/src/ai/McpSchema.ts +153 -35
- package/src/ai/McpServer.ts +231 -233
- package/src/ai/Prompt.ts +114 -35
- package/src/ai/Response.ts +220 -65
- package/src/ai/Tool.ts +50 -6
- package/src/ai/Toolkit.ts +82 -11
- package/src/ai/index.ts +12 -0
- package/src/ai/internal/mcpCore.ts +13 -14
- package/src/ai/internal/mcpProtocol/v2024_11_05.ts +1 -1
- package/src/ai/internal/mcpProtocol/v2025_03_26.ts +1 -1
- package/src/ai/internal/mcpProtocol/v2025_06_18.ts +3 -3
- package/src/ai/internal/mcpProtocol/v2025_11_25.ts +3 -3
- package/src/ai/internal/mcpProtocol/v2026_07_28.ts +12 -14
- package/src/ai/internal/mcpProtocol.ts +22 -2
- package/src/ai/internal/mcpRuntime.ts +3 -4
- package/src/ai/internal/mcpSchema/v2024_11_05.ts +20 -13
- package/src/ai/internal/mcpSchema/v2025_03_26.ts +4 -2
- package/src/ai/internal/mcpSchema/v2025_06_18.ts +7 -7
- package/src/ai/internal/mcpSchema/v2025_11_25.ts +8 -8
- package/src/ai/internal/mcpSchema/v2026_07_28.ts +44 -42
- package/src/cli/Argument.ts +15 -0
- package/src/cli/CliError.ts +136 -4
- package/src/cli/CliOutput.ts +183 -6
- package/src/cli/Command.ts +367 -48
- package/src/cli/Completions.ts +56 -0
- package/src/cli/Flag.ts +132 -0
- package/src/cli/GlobalFlag.ts +5 -6
- package/src/cli/Param.ts +151 -6
- package/src/cli/TerminalCapabilities.ts +159 -0
- package/src/cli/index.ts +6 -0
- package/src/cli/internal/command.ts +8 -3
- package/src/cli/internal/completions/bash.ts +83 -32
- package/src/cli/internal/completions/descriptor.ts +11 -1
- package/src/cli/internal/completions/fish.ts +10 -8
- package/src/cli/internal/completions/powershell.ts +23 -14
- package/src/cli/internal/completions/zsh.ts +8 -5
- package/src/cli/internal/formatter.ts +18 -0
- package/src/cli/internal/lexer.ts +12 -5
- package/src/cli/internal/parser.ts +31 -11
- package/src/cluster/ClusterCron.ts +94 -35
- package/src/cluster/ClusterMetrics.ts +149 -7
- package/src/cluster/ClusterWorkflowEngine.ts +130 -57
- package/src/cluster/Entity.ts +4 -0
- package/src/cluster/MessageStorage.ts +26 -14
- package/src/cluster/Runners.ts +76 -25
- package/src/cluster/Sharding.ts +200 -58
- package/src/cluster/ShardingConfig.ts +20 -0
- package/src/cluster/Snowflake.ts +3 -7
- package/src/cluster/SqlMessageStorage.ts +58 -55
- package/src/cluster/SqlRunnerStorage.ts +120 -51
- package/src/cluster/internal/entityManager.ts +155 -32
- package/src/devtools/DevTools.ts +3 -2
- package/src/devtools/DevToolsClient.ts +29 -10
- package/src/encoding/Base64.ts +38 -0
- package/src/encoding/Base64Url.ts +31 -0
- package/src/encoding/Ini.ts +3 -0
- package/src/encoding/JsonArray.ts +849 -0
- package/src/encoding/Ndjson.ts +211 -20
- package/src/encoding/SchemaBinary.ts +14 -48
- package/src/encoding/Sse.ts +4 -3
- package/src/encoding/Tar.ts +1417 -0
- package/src/encoding/Toml.ts +36 -19
- package/src/encoding/Xml.ts +2037 -0
- package/src/encoding/Yaml.ts +108 -36
- package/src/encoding/Zip.ts +1558 -0
- package/src/encoding/index.ts +24 -0
- package/src/eventlog/EventJournal.ts +611 -227
- package/src/eventlog/EventLog.ts +496 -196
- package/src/eventlog/EventLogEncryption.ts +128 -43
- package/src/eventlog/EventLogMessage.ts +62 -11
- package/src/eventlog/EventLogRemote.ts +77 -21
- package/src/eventlog/EventLogServer.ts +162 -20
- package/src/eventlog/EventLogServerEncrypted.ts +121 -80
- package/src/eventlog/EventLogServerUnencrypted.ts +180 -77
- package/src/eventlog/EventRow.ts +706 -0
- package/src/eventlog/SqlEventJournal.ts +496 -193
- package/src/eventlog/SqlEventLogServerEncrypted.ts +212 -83
- package/src/eventlog/SqlEventLogServerUnencrypted.ts +141 -62
- package/src/eventlog/index.ts +6 -0
- package/src/eventlog/internal/conflicts.ts +119 -0
- package/src/graphql/GraphQLClientError.ts +5 -12
- package/src/graphql/GraphQLProtocol.ts +12 -9
- package/src/graphql/GraphQLResolver.ts +90 -239
- package/src/http/Cookies.ts +10 -11
- package/src/http/FetchHttpClient.ts +56 -6
- package/src/http/FindMyWay/internal/router.ts +11 -0
- package/src/http/Headers.ts +337 -154
- package/src/http/HttpClient.ts +673 -142
- package/src/http/HttpClientError.ts +35 -1
- package/src/http/HttpClientRequest.ts +151 -5
- package/src/http/HttpClientResponse.ts +71 -0
- package/src/http/HttpEffect.ts +25 -33
- package/src/http/HttpIncomingMessage.ts +3 -23
- package/src/http/HttpMiddleware.ts +194 -40
- package/src/http/HttpRouter.ts +10 -3
- package/src/http/HttpServerError.ts +8 -5
- package/src/http/HttpServerRequest.ts +172 -27
- package/src/http/HttpServerResponse.ts +49 -23
- package/src/http/HttpStaticServer.ts +71 -26
- package/src/http/MultipartParser/internal/contentType.ts +109 -8
- package/src/http/MultipartParser/internal/headers.ts +4 -16
- package/src/http/MultipartParser/internal/multipart.ts +10 -32
- package/src/http/Url.ts +6 -1
- package/src/http/UrlParams.ts +6 -1
- package/src/http/internal/compression.ts +4 -5
- package/src/http/internal/decompression.ts +32 -17
- package/src/http/internal/httpBody.ts +10 -2
- package/src/http/internal/lazyStream.ts +25 -0
- package/src/http/internal/requestState.ts +33 -0
- package/src/http/internal/urlParams.ts +29 -0
- package/src/http/internal/webResponse.ts +20 -0
- package/src/http-api/HttpApi.ts +4 -7
- package/src/http-api/HttpApiBuilder.ts +190 -32
- package/src/http-api/HttpApiClient.ts +364 -90
- package/src/http-api/HttpApiEndpoint.ts +248 -46
- package/src/http-api/HttpApiError.ts +55 -0
- package/src/http-api/HttpApiScalar.ts +4 -3
- package/src/http-api/HttpApiSchema.ts +373 -18
- package/src/http-api/HttpApiSwagger.ts +11 -4
- package/src/http-api/HttpApiTest.ts +36 -11
- package/src/http-api/OpenApi.ts +103 -58
- package/src/http-api/internal/path.ts +40 -12
- package/src/http-api/internal/toCodecHttpProperties.ts +56 -0
- package/src/index.ts +24 -0
- package/src/internal/arbitrary/runner.ts +133 -36
- package/src/internal/core.ts +3 -1
- package/src/internal/dateTime.ts +20 -7
- package/src/internal/effect.ts +144 -100
- package/src/internal/equal.ts +17 -0
- package/src/internal/hashMap.ts +2 -2
- package/src/internal/hydration.ts +15 -0
- package/src/internal/inflate.ts +710 -0
- package/src/internal/jsonSchema.ts +27 -0
- package/src/internal/matcher.ts +1 -1
- package/src/internal/record.ts +6 -0
- package/src/internal/request.ts +21 -6
- package/src/internal/schedule.ts +20 -39
- package/src/internal/schema/compilerRegistry.ts +6 -1
- package/src/internal/schema/content.ts +18 -0
- package/src/internal/schema/fromJsonSchemaDocument.ts +458 -351
- package/src/internal/schema/fromRepresentation.ts +2 -1
- package/src/internal/schema/interpreter.ts +58 -45
- package/src/internal/schema/standardSchema.ts +34 -32
- package/src/internal/schema/toCodeDocument.ts +12 -7
- package/src/internal/schema/toCodec.ts +134 -15
- package/src/internal/schema/toFormatter.ts +6 -6
- package/src/internal/schema/toJsonSchemaDocument.ts +246 -194
- package/src/internal/schema/toRepresentation.ts +122 -140
- package/src/internal/sql.ts +14 -0
- package/src/internal/trie.ts +1 -3
- package/src/internal/uuid.ts +15 -10
- package/src/internal/version.ts +1 -1
- package/src/net/NetAddress.ts +2 -9
- package/src/observability/OtlpExporter.ts +5 -12
- package/src/observability/OtlpMetrics.ts +5 -3
- package/src/observability/OtlpProxy.ts +314 -0
- package/src/observability/OtlpResource.ts +16 -6
- package/src/observability/OtlpSerialization.ts +17 -3
- package/src/observability/OtlpTracer.ts +4 -0
- package/src/observability/index.ts +6 -0
- package/src/observability/internal/protobuf.ts +2 -10
- package/src/persistence/CircuitBreaker.ts +1678 -0
- package/src/persistence/PersistedCache.ts +3 -1
- package/src/persistence/PersistedQueue.ts +223 -153
- package/src/persistence/Persistence.ts +64 -30
- package/src/persistence/RateLimiter.ts +18 -21
- package/src/persistence/Redis.ts +129 -8
- package/src/persistence/UserDirectories.ts +273 -0
- package/src/persistence/index.ts +12 -0
- package/src/process/ChildProcess.ts +32 -5
- package/src/process/ChildProcessSpawner.ts +41 -2
- package/src/reactivity/AsyncResult.ts +5 -39
- package/src/reactivity/Atom.ts +134 -166
- package/src/reactivity/AtomHttpApi.ts +10 -16
- package/src/reactivity/AtomRegistry.ts +50 -29
- package/src/reactivity/AtomRpc.ts +6 -22
- package/src/reactivity/Hydration.ts +53 -12
- package/src/reactivity/Reactivity.ts +97 -39
- package/src/rpc/Rpc.ts +21 -0
- package/src/rpc/RpcClient.ts +283 -104
- package/src/rpc/RpcSerialization.ts +53 -14
- package/src/rpc/RpcServer.ts +27 -21
- package/src/rpc/RpcTest.ts +3 -0
- package/src/schema/VariantSchema.ts +86 -22
- package/src/socket/Socket.ts +45 -20
- package/src/sql/Migrator.ts +26 -11
- package/src/sql/SqlClient.ts +273 -29
- package/src/sql/SqlResolver.ts +32 -9
- package/src/sql/Statement.ts +65 -10
- package/src/testing/TestClock.ts +4 -1
- package/src/testing/TestSchema.ts +9 -3
- package/src/workflow/DurableDeferred.ts +23 -6
- package/src/workflow/WorkflowEngine.ts +34 -10
- package/dist/http/internal/preResponseHandler.d.ts +0 -2
- package/dist/http/internal/preResponseHandler.d.ts.map +0 -1
- package/dist/http/internal/preResponseHandler.js +0 -14
- package/dist/http/internal/preResponseHandler.js.map +0 -1
- package/src/http/internal/preResponseHandler.ts +0 -19
package/src/ai/DecisionModel.ts
CHANGED
|
@@ -2,15 +2,19 @@
|
|
|
2
2
|
* Defines the provider-neutral service for structured decisions.
|
|
3
3
|
* `decide` encodes one input as JSON, sends its named decisions in one provider
|
|
4
4
|
* call, and validates the answers. Failures are reported as `AiError` values.
|
|
5
|
+
* `decideSettled` makes the same call but reports each decision separately, so
|
|
6
|
+
* valid answers survive when others are missing, refused, or invalid.
|
|
5
7
|
* @stability unstable
|
|
6
8
|
* @since 4.0.0
|
|
7
9
|
*/
|
|
8
10
|
import * as Context from "../Context.ts"
|
|
9
11
|
import * as Effect from "../Effect.ts"
|
|
10
12
|
import * as Predicate from "../Predicate.ts"
|
|
13
|
+
import * as Result from "../Result.ts"
|
|
11
14
|
import * as Schema from "../Schema.ts"
|
|
12
15
|
import * as AiError from "./AiError.ts"
|
|
13
16
|
import type * as Decision from "./Decision.ts"
|
|
17
|
+
import type * as Response from "./Response.ts"
|
|
14
18
|
|
|
15
19
|
/**
|
|
16
20
|
* Service key for answering decisions about an input. Create implementations
|
|
@@ -87,7 +91,17 @@ export interface Image {
|
|
|
87
91
|
}
|
|
88
92
|
|
|
89
93
|
/**
|
|
90
|
-
*
|
|
94
|
+
* Provider-specific response metadata keyed by provider name. Provider
|
|
95
|
+
* packages augment this interface.
|
|
96
|
+
*
|
|
97
|
+
* @stability unstable
|
|
98
|
+
* @category models
|
|
99
|
+
* @since 4.0.6
|
|
100
|
+
*/
|
|
101
|
+
export interface DecideResponseMetadata extends Response.ProviderMetadata {}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Answers for every decision in a definition with usage and response metadata.
|
|
91
105
|
*
|
|
92
106
|
* @see {@link DecisionUsage} for token usage metadata
|
|
93
107
|
*
|
|
@@ -98,6 +112,43 @@ export interface Image {
|
|
|
98
112
|
export interface DecideResponse<Decisions extends Record<string, Decision.Any>> {
|
|
99
113
|
readonly answers: Decision.Answers<Decisions>
|
|
100
114
|
readonly usage: DecisionUsage
|
|
115
|
+
/**
|
|
116
|
+
* Response id reported by the provider.
|
|
117
|
+
*
|
|
118
|
+
* @since 4.0.6
|
|
119
|
+
*/
|
|
120
|
+
readonly id?: string | undefined
|
|
121
|
+
/**
|
|
122
|
+
* Model that answered. Can differ from the requested model when the
|
|
123
|
+
* provider resolves an alias.
|
|
124
|
+
*
|
|
125
|
+
* @since 4.0.6
|
|
126
|
+
*/
|
|
127
|
+
readonly modelId?: string | undefined
|
|
128
|
+
/**
|
|
129
|
+
* Provider-specific metadata, such as reported cost.
|
|
130
|
+
*
|
|
131
|
+
* @since 4.0.6
|
|
132
|
+
*/
|
|
133
|
+
readonly metadata: DecideResponseMetadata
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Per-decision outcomes, token usage, and response metadata for the whole
|
|
138
|
+
* request.
|
|
139
|
+
*
|
|
140
|
+
* @see {@link decideSettled} for producing this response
|
|
141
|
+
*
|
|
142
|
+
* @stability unstable
|
|
143
|
+
* @category models
|
|
144
|
+
* @since 4.0.6
|
|
145
|
+
*/
|
|
146
|
+
export interface DecideSettledResponse<Decisions extends Record<string, Decision.Any>> {
|
|
147
|
+
readonly outcomes: Decision.Outcomes<Decisions>
|
|
148
|
+
readonly usage: DecisionUsage
|
|
149
|
+
readonly id?: string | undefined
|
|
150
|
+
readonly modelId?: string | undefined
|
|
151
|
+
readonly metadata: DecideResponseMetadata
|
|
101
152
|
}
|
|
102
153
|
|
|
103
154
|
/**
|
|
@@ -117,7 +168,7 @@ export interface ProviderOptions {
|
|
|
117
168
|
}
|
|
118
169
|
|
|
119
170
|
/**
|
|
120
|
-
* Provider answer
|
|
171
|
+
* Provider classify answer. Omit `probabilities` when no distribution is available.
|
|
121
172
|
*
|
|
122
173
|
* @stability unstable
|
|
123
174
|
* @category models
|
|
@@ -126,14 +177,13 @@ export interface ProviderOptions {
|
|
|
126
177
|
export interface ProviderClassifyAnswer {
|
|
127
178
|
readonly _tag: "Classify"
|
|
128
179
|
readonly label: string
|
|
129
|
-
readonly probabilities
|
|
180
|
+
readonly probabilities?: Readonly<Record<string, number>> | undefined
|
|
130
181
|
readonly confidence?: number | undefined
|
|
131
182
|
}
|
|
132
183
|
|
|
133
184
|
/**
|
|
134
|
-
* Provider answer
|
|
135
|
-
*
|
|
136
|
-
* first criteria entry on ties.
|
|
185
|
+
* Provider rate answer. The highest probability determines the label, with
|
|
186
|
+
* ties going to the first criterion. Omit `probabilities` when unavailable.
|
|
137
187
|
*
|
|
138
188
|
* @stability unstable
|
|
139
189
|
* @category models
|
|
@@ -142,7 +192,7 @@ export interface ProviderClassifyAnswer {
|
|
|
142
192
|
export interface ProviderRateAnswer {
|
|
143
193
|
readonly _tag: "Rate"
|
|
144
194
|
readonly rating: number
|
|
145
|
-
readonly probabilities
|
|
195
|
+
readonly probabilities?: Readonly<Record<string, number>> | undefined
|
|
146
196
|
readonly confidence?: number | undefined
|
|
147
197
|
}
|
|
148
198
|
|
|
@@ -158,6 +208,17 @@ export interface ProviderProbabilityAnswer {
|
|
|
158
208
|
readonly probability: number
|
|
159
209
|
}
|
|
160
210
|
|
|
211
|
+
/**
|
|
212
|
+
* Provider refusal to answer a decision.
|
|
213
|
+
*
|
|
214
|
+
* @stability unstable
|
|
215
|
+
* @category models
|
|
216
|
+
* @since 4.0.6
|
|
217
|
+
*/
|
|
218
|
+
export interface ProviderRefusalAnswer {
|
|
219
|
+
readonly _tag: "Refusal"
|
|
220
|
+
}
|
|
221
|
+
|
|
161
222
|
/**
|
|
162
223
|
* Provider answer for any decision kind.
|
|
163
224
|
*
|
|
@@ -165,12 +226,18 @@ export interface ProviderProbabilityAnswer {
|
|
|
165
226
|
* @category models
|
|
166
227
|
* @since 4.0.0
|
|
167
228
|
*/
|
|
168
|
-
export type ProviderAnswer =
|
|
229
|
+
export type ProviderAnswer =
|
|
230
|
+
| ProviderClassifyAnswer
|
|
231
|
+
| ProviderRateAnswer
|
|
232
|
+
| ProviderProbabilityAnswer
|
|
233
|
+
| ProviderRefusalAnswer
|
|
169
234
|
|
|
170
235
|
/**
|
|
171
236
|
* Provider response for a decision request.
|
|
172
237
|
* `answers` is keyed like the requested decisions. Each answer is validated
|
|
173
|
-
* against its decision before it is returned to the caller.
|
|
238
|
+
* against its decision before it is returned to the caller. Omit the key of a
|
|
239
|
+
* decision the provider did not answer. `id`, `modelId` and `metadata` are
|
|
240
|
+
* passed through; `metadata` defaults to `{}`.
|
|
174
241
|
*
|
|
175
242
|
* @stability unstable
|
|
176
243
|
* @category models
|
|
@@ -182,6 +249,9 @@ export interface ProviderResponse {
|
|
|
182
249
|
readonly inputTokens: number | undefined
|
|
183
250
|
readonly outputTokens: number | undefined
|
|
184
251
|
}
|
|
252
|
+
readonly id?: string | undefined
|
|
253
|
+
readonly modelId?: string | undefined
|
|
254
|
+
readonly metadata?: DecideResponseMetadata | undefined
|
|
185
255
|
}
|
|
186
256
|
|
|
187
257
|
/**
|
|
@@ -197,14 +267,21 @@ export interface DecisionModel {
|
|
|
197
267
|
definition: Decision.Definition<Input, Decisions>,
|
|
198
268
|
options: DecideOptions<Input>
|
|
199
269
|
) => Effect.Effect<DecideResponse<Decisions>, AiError.AiError, Input["EncodingServices"]>
|
|
270
|
+
readonly decideSettled: <Input extends Schema.Constraint, Decisions extends Record<string, Decision.Any>>(
|
|
271
|
+
definition: Decision.Definition<Input, Decisions>,
|
|
272
|
+
options: DecideOptions<Input>
|
|
273
|
+
) => Effect.Effect<DecideSettledResponse<Decisions>, AiError.AiError, Input["EncodingServices"]>
|
|
200
274
|
}
|
|
201
275
|
|
|
202
|
-
const
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
276
|
+
const unanswered = (
|
|
277
|
+
reason: Decision.Unanswered["reason"],
|
|
278
|
+
description: string
|
|
279
|
+
): Result.Result<never, Decision.Unanswered> => Result.fail({ _tag: "Unanswered", reason, description })
|
|
280
|
+
|
|
281
|
+
const invalid = (description: string) => unanswered("Invalid", description)
|
|
282
|
+
|
|
283
|
+
const aiError = (method: "decide" | "decideSettled", reason: AiError.AiErrorReason): AiError.AiError =>
|
|
284
|
+
AiError.make({ module: "DecisionModel", method, reason })
|
|
208
285
|
|
|
209
286
|
const isFiniteNumber = (value: unknown): value is number => Predicate.isNumber(value) && Number.isFinite(value)
|
|
210
287
|
|
|
@@ -222,41 +299,41 @@ const validateDistribution = (
|
|
|
222
299
|
labels: ReadonlyArray<string>,
|
|
223
300
|
answer: Record<string, unknown>,
|
|
224
301
|
roundingError: number
|
|
225
|
-
): Record<string, number
|
|
302
|
+
): Result.Result<Record<string, number>, Decision.Unanswered> => {
|
|
226
303
|
const raw = answer.probabilities
|
|
227
304
|
if (!Predicate.isObject(raw)) {
|
|
228
|
-
return
|
|
305
|
+
return unanswered("NoDistribution", `Provider returned no probabilities for decision "${key}"`)
|
|
229
306
|
}
|
|
230
307
|
const probabilities: Record<string, number> = Object.create(null)
|
|
231
308
|
let total = 0
|
|
232
309
|
for (const label of labels) {
|
|
233
310
|
const value = raw[label]
|
|
234
311
|
if (!isUnitInterval(value)) {
|
|
235
|
-
return
|
|
312
|
+
return invalid(`Provider returned no probability for label "${label}" of decision "${key}"`)
|
|
236
313
|
}
|
|
237
314
|
probabilities[label] = value
|
|
238
315
|
total += value
|
|
239
316
|
}
|
|
240
317
|
const drift = Math.abs(total - 1)
|
|
241
318
|
if (total === 0 || drift > labels.length * roundingError + sumTolerance) {
|
|
242
|
-
return
|
|
319
|
+
return invalid(`Provider returned probabilities that do not sum to 1 for decision "${key}"`)
|
|
243
320
|
}
|
|
244
321
|
if (drift > sumTolerance) {
|
|
245
322
|
for (const label of labels) probabilities[label] /= total
|
|
246
323
|
}
|
|
247
|
-
return probabilities
|
|
324
|
+
return Result.succeed(probabilities)
|
|
248
325
|
}
|
|
249
326
|
|
|
250
327
|
const validateConfidence = (
|
|
251
328
|
key: string,
|
|
252
329
|
answer: Record<string, unknown>
|
|
253
|
-
): number | undefined
|
|
330
|
+
): Result.Result<number | undefined, Decision.Unanswered> => {
|
|
254
331
|
if (answer.confidence === undefined) {
|
|
255
|
-
return undefined
|
|
332
|
+
return Result.succeed(undefined)
|
|
256
333
|
}
|
|
257
334
|
return isUnitInterval(answer.confidence)
|
|
258
|
-
? answer.confidence
|
|
259
|
-
:
|
|
335
|
+
? Result.succeed(answer.confidence)
|
|
336
|
+
: invalid(`Provider returned confidence outside [0, 1] for decision "${key}"`)
|
|
260
337
|
}
|
|
261
338
|
|
|
262
339
|
const validateAnswer = (
|
|
@@ -264,83 +341,105 @@ const validateAnswer = (
|
|
|
264
341
|
decision: Decision.Any,
|
|
265
342
|
answer: unknown,
|
|
266
343
|
roundingError: number
|
|
267
|
-
): Decision.
|
|
344
|
+
): Decision.Outcome<Decision.Any> => {
|
|
268
345
|
if (!Predicate.isObject(answer)) {
|
|
269
|
-
return
|
|
346
|
+
return unanswered("Missing", `Provider returned no answer for decision "${key}"`)
|
|
347
|
+
}
|
|
348
|
+
if (answer._tag === "Refusal") {
|
|
349
|
+
return unanswered("Refused", `Provider refused to answer decision "${key}"`)
|
|
270
350
|
}
|
|
271
351
|
if (answer._tag !== decision._tag) {
|
|
272
|
-
return
|
|
352
|
+
return invalid(
|
|
273
353
|
`Provider returned a "${String(answer._tag)}" answer for decision "${key}", expected "${decision._tag}"`
|
|
274
354
|
)
|
|
275
355
|
}
|
|
276
356
|
switch (decision._tag) {
|
|
277
357
|
case "Classify": {
|
|
278
358
|
const labels = Object.keys(decision.criteria)
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
const confidence = validateConfidence(key, answer)
|
|
283
|
-
if (AiError.isAiError(confidence)) {
|
|
284
|
-
return confidence
|
|
285
|
-
}
|
|
286
|
-
const probabilities = validateDistribution(key, labels, answer, roundingError)
|
|
287
|
-
if (AiError.isAiError(probabilities)) {
|
|
288
|
-
return probabilities
|
|
359
|
+
const label = answer.label
|
|
360
|
+
if (!Predicate.isString(label) || !labels.includes(label)) {
|
|
361
|
+
return invalid(`Provider returned an unknown label for decision "${key}"`)
|
|
289
362
|
}
|
|
290
|
-
return
|
|
363
|
+
return Result.gen(function*() {
|
|
364
|
+
const confidence = yield* validateConfidence(key, answer)
|
|
365
|
+
const probabilities = yield* validateDistribution(key, labels, answer, roundingError)
|
|
366
|
+
return { label, probabilities, ...(confidence === undefined ? undefined : { confidence }) }
|
|
367
|
+
})
|
|
291
368
|
}
|
|
292
369
|
case "Rate": {
|
|
293
370
|
const levels = decision.criteria.map((level) => level.label)
|
|
294
|
-
|
|
295
|
-
|
|
371
|
+
const rating = answer.rating
|
|
372
|
+
if (!isFiniteNumber(rating) || rating < 0 || rating > levels.length - 1) {
|
|
373
|
+
return invalid(`Provider returned a rating outside [0, ${levels.length - 1}] for decision "${key}"`)
|
|
296
374
|
}
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
let label = levels[0]
|
|
306
|
-
for (let i = 1; i < levels.length; i++) {
|
|
307
|
-
if (probabilities[levels[i]] > probabilities[label]) {
|
|
308
|
-
label = levels[i]
|
|
375
|
+
return Result.gen(function*() {
|
|
376
|
+
const confidence = yield* validateConfidence(key, answer)
|
|
377
|
+
const probabilities = yield* validateDistribution(key, levels, answer, roundingError)
|
|
378
|
+
let label = levels[0]
|
|
379
|
+
for (let i = 1; i < levels.length; i++) {
|
|
380
|
+
if (probabilities[levels[i]] > probabilities[label]) {
|
|
381
|
+
label = levels[i]
|
|
382
|
+
}
|
|
309
383
|
}
|
|
310
|
-
|
|
311
|
-
|
|
384
|
+
return { rating, label, probabilities, ...(confidence === undefined ? undefined : { confidence }) }
|
|
385
|
+
})
|
|
312
386
|
}
|
|
313
387
|
case "Probability": {
|
|
314
388
|
if (!isUnitInterval(answer.probability)) {
|
|
315
|
-
return
|
|
389
|
+
return invalid(`Provider returned a probability outside [0, 1] for decision "${key}"`)
|
|
316
390
|
}
|
|
317
|
-
return { probability: answer.probability }
|
|
391
|
+
return Result.succeed({ probability: answer.probability })
|
|
318
392
|
}
|
|
319
393
|
}
|
|
320
394
|
}
|
|
321
395
|
|
|
322
|
-
const
|
|
396
|
+
const settleAnswers = <Decisions extends Record<string, Decision.Any>>(
|
|
323
397
|
decisions: Decisions,
|
|
324
398
|
answers: Readonly<Record<string, ProviderAnswer>>,
|
|
325
399
|
roundingError: number
|
|
326
|
-
):
|
|
327
|
-
const
|
|
400
|
+
): Decision.Outcomes<Decisions> => {
|
|
401
|
+
const outcomes: Record<string, Decision.Outcome<Decision.Any>> = Object.create(null)
|
|
328
402
|
for (const key of Object.keys(decisions)) {
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
403
|
+
outcomes[key] = validateAnswer(key, decisions[key], answers[key], roundingError)
|
|
404
|
+
}
|
|
405
|
+
return outcomes as Decision.Outcomes<Decisions>
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
const requireAnswers = <Decisions extends Record<string, Decision.Any>>(
|
|
409
|
+
outcomes: Decision.Outcomes<Decisions>
|
|
410
|
+
): Effect.Effect<Decision.Answers<Decisions>, AiError.AiError> => {
|
|
411
|
+
const answers: Record<string, Decision.Answer<Decision.Any>> = Object.create(null)
|
|
412
|
+
const refused: Array<string> = []
|
|
413
|
+
let firstUnanswered: Decision.Unanswered | undefined
|
|
414
|
+
for (const [key, outcome] of Object.entries(outcomes) as Array<[string, Decision.Outcome<Decision.Any>]>) {
|
|
415
|
+
if (Result.isSuccess(outcome)) {
|
|
416
|
+
answers[key] = outcome.success
|
|
417
|
+
} else if (outcome.failure.reason === "Refused") {
|
|
418
|
+
refused.push(`"${key}"`)
|
|
419
|
+
} else {
|
|
420
|
+
firstUnanswered ??= outcome.failure
|
|
332
421
|
}
|
|
333
|
-
validated[key] = answer
|
|
334
422
|
}
|
|
335
|
-
|
|
423
|
+
if (refused.length > 0) {
|
|
424
|
+
return Effect.fail(aiError(
|
|
425
|
+
"decide",
|
|
426
|
+
new AiError.ContentPolicyError({ description: `Provider refused to answer decisions ${refused.join(", ")}` })
|
|
427
|
+
))
|
|
428
|
+
}
|
|
429
|
+
if (firstUnanswered !== undefined) {
|
|
430
|
+
return Effect.fail(aiError("decide", new AiError.InvalidOutputError({ description: firstUnanswered.description })))
|
|
431
|
+
}
|
|
432
|
+
return Effect.succeed(answers as Decision.Answers<Decisions>)
|
|
336
433
|
}
|
|
337
434
|
|
|
338
435
|
/**
|
|
339
436
|
* Creates a `DecisionModel` that encodes inputs as JSON and validates provider answers.
|
|
340
437
|
* Answers must cover every decision and use its labels. Distributions must
|
|
341
438
|
* sum to 1 within `1e-6`, optional confidence must be in `[0, 1]`, and ratings must be
|
|
342
|
-
* in `[0, criteria.length - 1]`.
|
|
343
|
-
* `AiError.
|
|
439
|
+
* in `[0, criteria.length - 1]`. With `decide`, refused decisions fail with
|
|
440
|
+
* `AiError.ContentPolicyError` and other unanswered decisions fail with
|
|
441
|
+
* `AiError.InvalidOutputError`; `decideSettled` reports them per decision
|
|
442
|
+
* instead. Encoding failures use `AiError.InvalidUserInputError`.
|
|
344
443
|
*
|
|
345
444
|
* **Details**
|
|
346
445
|
*
|
|
@@ -367,52 +466,52 @@ export const make = (params: {
|
|
|
367
466
|
}): Effect.Effect<DecisionModel> =>
|
|
368
467
|
Effect.sync(() => {
|
|
369
468
|
const roundingError = params.probabilityPrecision === undefined ? 0 : 0.5 * 10 ** -params.probabilityPrecision
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
)
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
Effect.flatMap((state) => {
|
|
385
|
-
const images = options.images?.length ? options.images : undefined
|
|
386
|
-
if (images !== undefined && params.supportsImages !== true) {
|
|
387
|
-
return Effect.fail(
|
|
388
|
-
AiError.make({
|
|
389
|
-
module: "DecisionModel",
|
|
390
|
-
method: "decide",
|
|
391
|
-
reason: new AiError.InvalidUserInputError({
|
|
392
|
-
description: "This decision model does not accept images"
|
|
393
|
-
})
|
|
394
|
-
})
|
|
469
|
+
const settle = <Input extends Schema.Constraint, Decisions extends Record<string, Decision.Any>>(
|
|
470
|
+
method: "decide" | "decideSettled",
|
|
471
|
+
definition: Decision.Definition<Input, Decisions>,
|
|
472
|
+
options: DecideOptions<Input>
|
|
473
|
+
): Effect.Effect<DecideSettledResponse<Decisions>, AiError.AiError, Input["EncodingServices"]> =>
|
|
474
|
+
Schema.encodeEffect(Schema.toCodecJson(definition.input))(options.input).pipe(
|
|
475
|
+
Effect.mapError((error) => aiError(method, new AiError.InvalidUserInputError({ description: error.message }))),
|
|
476
|
+
Effect.flatMap((state) => {
|
|
477
|
+
const images = options.images?.length ? options.images : undefined
|
|
478
|
+
if (images !== undefined && params.supportsImages !== true) {
|
|
479
|
+
return Effect.fail(
|
|
480
|
+
aiError(
|
|
481
|
+
method,
|
|
482
|
+
new AiError.InvalidUserInputError({ description: "This decision model does not accept images" })
|
|
395
483
|
)
|
|
396
|
-
}
|
|
397
|
-
return params.decide({
|
|
398
|
-
state,
|
|
399
|
-
decisions: definition.decisions,
|
|
400
|
-
...(images === undefined ? undefined : { images })
|
|
401
|
-
})
|
|
402
|
-
}),
|
|
403
|
-
Effect.flatMap((response) =>
|
|
404
|
-
Effect.map(
|
|
405
|
-
validateAnswers(definition.decisions, response.answers, roundingError),
|
|
406
|
-
(answers): DecideResponse<Decisions> => ({
|
|
407
|
-
answers,
|
|
408
|
-
usage: new DecisionUsage({
|
|
409
|
-
inputTokens: response.usage.inputTokens,
|
|
410
|
-
outputTokens: response.usage.outputTokens
|
|
411
|
-
})
|
|
412
|
-
})
|
|
413
484
|
)
|
|
485
|
+
}
|
|
486
|
+
return params.decide({
|
|
487
|
+
state,
|
|
488
|
+
decisions: definition.decisions,
|
|
489
|
+
...(images === undefined ? undefined : { images })
|
|
490
|
+
})
|
|
491
|
+
}),
|
|
492
|
+
Effect.map((response): DecideSettledResponse<Decisions> => ({
|
|
493
|
+
outcomes: settleAnswers(definition.decisions, response.answers, roundingError),
|
|
494
|
+
usage: new DecisionUsage({
|
|
495
|
+
inputTokens: response.usage.inputTokens,
|
|
496
|
+
outputTokens: response.usage.outputTokens
|
|
497
|
+
}),
|
|
498
|
+
...(response.id === undefined ? undefined : { id: response.id }),
|
|
499
|
+
...(response.modelId === undefined ? undefined : { modelId: response.modelId }),
|
|
500
|
+
metadata: response.metadata ?? {}
|
|
501
|
+
}))
|
|
502
|
+
)
|
|
503
|
+
return DecisionModel.of({
|
|
504
|
+
[TypeId]: TypeId,
|
|
505
|
+
decide: (definition, options) =>
|
|
506
|
+
settle("decide", definition, options).pipe(
|
|
507
|
+
Effect.flatMap(({ outcomes, ...response }) =>
|
|
508
|
+
Effect.map(requireAnswers(outcomes), (answers) => ({ answers, ...response }))
|
|
414
509
|
),
|
|
415
510
|
(effect) => Effect.withSpan(effect, "DecisionModel.decide", { captureStackTrace: false })
|
|
511
|
+
),
|
|
512
|
+
decideSettled: (definition, options) =>
|
|
513
|
+
settle("decideSettled", definition, options).pipe(
|
|
514
|
+
(effect) => Effect.withSpan(effect, "DecisionModel.decideSettled", { captureStackTrace: false })
|
|
416
515
|
)
|
|
417
516
|
})
|
|
418
517
|
})
|
|
@@ -423,6 +522,9 @@ export const make = (params: {
|
|
|
423
522
|
* Explicit `undefined` fields become `null`; absent fields stay absent.
|
|
424
523
|
* Custom declarations need a JSON codec annotation or encoding fails.
|
|
425
524
|
* Returned answers and probability dictionaries have null prototypes.
|
|
525
|
+
* Fails with `AiError.ContentPolicyError` if the provider refuses any decision,
|
|
526
|
+
* and otherwise with `AiError.InvalidOutputError` for the first unanswered
|
|
527
|
+
* decision in definition order.
|
|
426
528
|
*
|
|
427
529
|
* **Example** (Triaging a ticket)
|
|
428
530
|
*
|
|
@@ -449,6 +551,7 @@ export const make = (params: {
|
|
|
449
551
|
* ```
|
|
450
552
|
*
|
|
451
553
|
* @see {@link DecisionModel} for the service this function requires
|
|
554
|
+
* @see {@link decideSettled} for keeping valid answers when others fail
|
|
452
555
|
*
|
|
453
556
|
* @stability unstable
|
|
454
557
|
* @category decisions
|
|
@@ -459,3 +562,56 @@ export const decide = <Input extends Schema.Constraint, Decisions extends Record
|
|
|
459
562
|
options: DecideOptions<Input>
|
|
460
563
|
): Effect.Effect<DecideResponse<Decisions>, AiError.AiError, DecisionModel | Input["EncodingServices"]> =>
|
|
461
564
|
DecisionModel.use((model) => model.decide(definition, options))
|
|
565
|
+
|
|
566
|
+
/**
|
|
567
|
+
* Answers each decision with a `Result` containing a validated answer or a
|
|
568
|
+
* `Decision.Unanswered` reason. Input encoding and provider failures still
|
|
569
|
+
* fail the effect. Token usage covers the whole call.
|
|
570
|
+
*
|
|
571
|
+
* **Details**
|
|
572
|
+
*
|
|
573
|
+
* Provider response decoding errors fail the whole call. Per-decision reasons
|
|
574
|
+
* reflect the first failed validation check; `"NoDistribution"` requires an
|
|
575
|
+
* otherwise valid answer.
|
|
576
|
+
*
|
|
577
|
+
* **Example** (Falling back for unanswered decisions)
|
|
578
|
+
*
|
|
579
|
+
* ```ts
|
|
580
|
+
* import { Effect, Result, Schema } from "effect"
|
|
581
|
+
* import { Decision, DecisionModel } from "effect/ai"
|
|
582
|
+
*
|
|
583
|
+
* const TicketTriage = Decision.make({
|
|
584
|
+
* input: Schema.String,
|
|
585
|
+
* decisions: {
|
|
586
|
+
* department: Decision.classify({
|
|
587
|
+
* instructions: "Which team should handle this",
|
|
588
|
+
* criteria: { billing: "payments", technical: "bugs" }
|
|
589
|
+
* }),
|
|
590
|
+
* urgent: Decision.probability({ instructions: "The message is time-sensitive" })
|
|
591
|
+
* }
|
|
592
|
+
* })
|
|
593
|
+
*
|
|
594
|
+
* const program = Effect.gen(function*() {
|
|
595
|
+
* const { outcomes } = yield* DecisionModel.decideSettled(TicketTriage, {
|
|
596
|
+
* input: "My card was charged twice, please fix this today"
|
|
597
|
+
* })
|
|
598
|
+
* const department = Result.isSuccess(outcomes.department) &&
|
|
599
|
+
* outcomes.department.success.probabilities.billing >= 0.8
|
|
600
|
+
* ? "billing"
|
|
601
|
+
* : "needs review"
|
|
602
|
+
* const urgent = Result.isSuccess(outcomes.urgent) ? outcomes.urgent.success.probability : undefined
|
|
603
|
+
* return { department, urgent }
|
|
604
|
+
* })
|
|
605
|
+
* ```
|
|
606
|
+
*
|
|
607
|
+
* @see {@link decide} for failing unless every decision is answered
|
|
608
|
+
*
|
|
609
|
+
* @stability unstable
|
|
610
|
+
* @category decisions
|
|
611
|
+
* @since 4.0.6
|
|
612
|
+
*/
|
|
613
|
+
export const decideSettled = <Input extends Schema.Constraint, Decisions extends Record<string, Decision.Any>>(
|
|
614
|
+
definition: Decision.Definition<Input, Decisions>,
|
|
615
|
+
options: DecideOptions<Input>
|
|
616
|
+
): Effect.Effect<DecideSettledResponse<Decisions>, AiError.AiError, DecisionModel | Input["EncodingServices"]> =>
|
|
617
|
+
DecisionModel.use((model) => model.decideSettled(definition, options))
|
package/src/ai/EmbeddingModel.ts
CHANGED
|
@@ -209,8 +209,17 @@ const invalidProviderResponse = (description: string): AiError.AiError =>
|
|
|
209
209
|
* provider, while `embedMany([])` returns an empty response without calling the
|
|
210
210
|
* provider.
|
|
211
211
|
*
|
|
212
|
+
* Concurrent `embed` calls share one `embedMany` call when `batchKey` returns
|
|
213
|
+
* equal keys under `Equal.equals`. The batch runs with the first caller's
|
|
214
|
+
* context, so return every value `embedMany` reads from that context. Without
|
|
215
|
+
* `batchKey`, all callers share one batch.
|
|
216
|
+
*
|
|
212
217
|
* **Gotchas**
|
|
213
218
|
*
|
|
219
|
+
* Context that `batchKey` does not return is not isolated. Per-call
|
|
220
|
+
* `FetchHttpClient.RequestInit`, or any service read by an injected HTTP
|
|
221
|
+
* client, takes the first caller's value for the whole batch.
|
|
222
|
+
*
|
|
214
223
|
* Provider responses are interpreted positionally and must contain exactly one
|
|
215
224
|
* result for each requested input. If the provider returns a different number
|
|
216
225
|
* of results, `embed` and `embedMany` fail with `AiError.InvalidOutputError`.
|
|
@@ -225,20 +234,23 @@ const invalidProviderResponse = (description: string): AiError.AiError =>
|
|
|
225
234
|
*/
|
|
226
235
|
export const make: (params: {
|
|
227
236
|
readonly embedMany: (options: ProviderOptions) => Effect.Effect<ProviderResponse, AiError.AiError>
|
|
237
|
+
readonly batchKey?: ((context: Context.Context<never>) => unknown) | undefined
|
|
228
238
|
}) => Effect.Effect<EmbeddingModel> = Effect.fnUntraced(function*(params) {
|
|
229
|
-
const resolver = RequestResolver.
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
239
|
+
const resolver = RequestResolver.makeGrouped<EmbeddingRequest, unknown>({
|
|
240
|
+
key: ({ context }) => params.batchKey?.(context),
|
|
241
|
+
resolver: (entries) =>
|
|
242
|
+
Effect.flatMap(
|
|
243
|
+
params.embedMany({
|
|
244
|
+
inputs: entries.map((entry) => entry.request.input)
|
|
245
|
+
}),
|
|
246
|
+
(response) =>
|
|
247
|
+
Effect.map(mapProviderResults(entries.length, response.results), (embeddings) => {
|
|
248
|
+
for (let i = 0; i < entries.length; i++) {
|
|
249
|
+
entries[i].completeUnsafe(Exit.succeed(embeddings[i]))
|
|
250
|
+
}
|
|
251
|
+
})
|
|
252
|
+
)
|
|
253
|
+
}).pipe(
|
|
242
254
|
RequestResolver.withSpan("EmbeddingModel.resolver")
|
|
243
255
|
)
|
|
244
256
|
|
package/src/ai/LanguageModel.ts
CHANGED
|
@@ -1553,6 +1553,7 @@ export const make: (params: {
|
|
|
1553
1553
|
preliminary: false,
|
|
1554
1554
|
result: r.encodedResult,
|
|
1555
1555
|
encodedResult: r.encodedResult,
|
|
1556
|
+
...modelOutputField(r.modelOutput),
|
|
1556
1557
|
isFailure: r.isFailure
|
|
1557
1558
|
}) as Response.StreamPart<Tools>
|
|
1558
1559
|
)
|
|
@@ -1680,6 +1681,7 @@ export const make: (params: {
|
|
|
1680
1681
|
providerExecuted: false,
|
|
1681
1682
|
result: result.result,
|
|
1682
1683
|
encodedResult: result.encodedResult,
|
|
1684
|
+
...modelOutputField(result.modelOutput),
|
|
1683
1685
|
isFailure: result.isFailure,
|
|
1684
1686
|
preliminary: result.preliminary
|
|
1685
1687
|
}) as Response.StreamPart<Tools>
|
|
@@ -2268,6 +2270,7 @@ const executeApprovedToolCalls = <Tools extends Record<string, Tool.Any>>(
|
|
|
2268
2270
|
name: toolCall.name,
|
|
2269
2271
|
result: terminalResult.result,
|
|
2270
2272
|
encodedResult: terminalResult.encodedResult,
|
|
2273
|
+
...modelOutputField(terminalResult.modelOutput),
|
|
2271
2274
|
isFailure: terminalResult.isFailure,
|
|
2272
2275
|
preliminary: terminalResult.preliminary,
|
|
2273
2276
|
providerExecuted: false
|
|
@@ -2347,6 +2350,10 @@ const makeInterruptedToolResult = (
|
|
|
2347
2350
|
})
|
|
2348
2351
|
}
|
|
2349
2352
|
|
|
2353
|
+
// Omits the key entirely so unmapped tool result parts keep their shape.
|
|
2354
|
+
const modelOutputField = (modelOutput: ReadonlyArray<Prompt.ToolModelOutputPart> | undefined) =>
|
|
2355
|
+
modelOutput === undefined ? undefined : { modelOutput }
|
|
2356
|
+
|
|
2350
2357
|
type ToolResolutionResult<Tools extends Record<string, Tool.Any>> =
|
|
2351
2358
|
| Response.ToolResultPart<
|
|
2352
2359
|
Tool.Name<Tools[keyof Tools]>,
|
|
@@ -2417,6 +2424,7 @@ const resolveToolCalls = <Tools extends Record<string, Tool.Any>>(
|
|
|
2417
2424
|
providerExecuted: false,
|
|
2418
2425
|
result: result.result,
|
|
2419
2426
|
encodedResult: result.encodedResult,
|
|
2427
|
+
...modelOutputField(result.modelOutput),
|
|
2420
2428
|
isFailure: result.isFailure,
|
|
2421
2429
|
preliminary: result.preliminary
|
|
2422
2430
|
}) as ToolResolutionResult<Tools>
|
|
@@ -2446,6 +2454,7 @@ const resolveToolCalls = <Tools extends Record<string, Tool.Any>>(
|
|
|
2446
2454
|
providerExecuted: false,
|
|
2447
2455
|
result: result.result,
|
|
2448
2456
|
encodedResult: result.encodedResult,
|
|
2457
|
+
...modelOutputField(result.modelOutput),
|
|
2449
2458
|
isFailure: result.isFailure,
|
|
2450
2459
|
preliminary: result.preliminary
|
|
2451
2460
|
}) as ToolResolutionResult<Tools>
|