effect 4.0.4 → 4.0.6
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/src/52_graphql/10_basics.ts +19 -13
- package/ai-docs/src/52_graphql/30_batching.ts +6 -4
- package/ai-docs/src/52_graphql/40_aliased-batching.ts +6 -4
- package/ai-docs/tsconfig.json +3 -1
- package/dist/Array.d.ts +207 -58
- package/dist/Array.d.ts.map +1 -1
- package/dist/Array.js +45 -22
- 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 +187 -14
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +142 -33
- 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 +34 -32
- 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/Duration.d.ts.map +1 -1
- package/dist/Duration.js +58 -21
- package/dist/Duration.js.map +1 -1
- package/dist/Effect.d.ts +548 -182
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +261 -76
- package/dist/Effect.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 +24 -9
- 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 +28 -9
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +3 -0
- package/dist/FileSystem.js.map +1 -1
- package/dist/Graph.d.ts.map +1 -1
- package/dist/Graph.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/JsonSchema.d.ts +9 -3
- package/dist/JsonSchema.d.ts.map +1 -1
- package/dist/JsonSchema.js +19 -3
- 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/Match.d.ts +20 -6
- package/dist/Match.d.ts.map +1 -1
- package/dist/Match.js +2 -2
- package/dist/Match.js.map +1 -1
- package/dist/Metric.d.ts +132 -0
- 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/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/Path.d.ts +37 -5
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +44 -6
- package/dist/Path.js.map +1 -1
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +12 -7
- 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.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.map +1 -1
- package/dist/Schema.d.ts +383 -326
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +338 -17
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts +5 -5
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +24 -8
- 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/SchemaRepresentation.d.ts +56 -1
- package/dist/SchemaRepresentation.d.ts.map +1 -1
- package/dist/SchemaRepresentation.js +18 -0
- package/dist/SchemaRepresentation.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +1 -1
- package/dist/SchemaTransformation.js +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/Sink.d.ts.map +1 -1
- package/dist/Sink.js +6 -2
- 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 +145 -60
- package/dist/Stream.js.map +1 -1
- package/dist/String.d.ts +16 -2
- package/dist/String.d.ts.map +1 -1
- package/dist/String.js +25 -10
- 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/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/TxRef.d.ts.map +1 -1
- package/dist/TxRef.js +3 -2
- package/dist/TxRef.js.map +1 -1
- package/dist/ai/AiError.d.ts +78 -14
- package/dist/ai/AiError.d.ts.map +1 -1
- package/dist/ai/AiError.js +51 -3
- 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 +116 -20
- package/dist/ai/Decision.d.ts.map +1 -1
- package/dist/ai/Decision.js +37 -3
- 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 +183 -95
- 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 +47 -35
- 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 +368 -235
- 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 +6 -52
- package/dist/ai/McpServer.d.ts.map +1 -1
- package/dist/ai/McpServer.js +27 -50
- package/dist/ai/McpServer.js.map +1 -1
- package/dist/ai/Prompt.d.ts +22 -20
- package/dist/ai/Prompt.d.ts.map +1 -1
- package/dist/ai/Prompt.js +23 -1
- package/dist/ai/Prompt.js.map +1 -1
- package/dist/ai/Response.d.ts +148 -4
- package/dist/ai/Response.d.ts.map +1 -1
- package/dist/ai/Response.js +35 -37
- package/dist/ai/Response.js.map +1 -1
- package/dist/ai/Tool.d.ts +12 -4
- package/dist/ai/Tool.d.ts.map +1 -1
- 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 +65 -12
- 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/CliError.d.ts +42 -2
- package/dist/cli/CliError.d.ts.map +1 -1
- package/dist/cli/CliError.js +44 -5
- package/dist/cli/CliError.js.map +1 -1
- package/dist/cli/Command.d.ts +286 -2
- package/dist/cli/Command.d.ts.map +1 -1
- package/dist/cli/Command.js +107 -6
- package/dist/cli/Command.js.map +1 -1
- package/dist/cli/Completions.d.ts +10 -0
- package/dist/cli/Completions.d.ts.map +1 -1
- package/dist/cli/Completions.js.map +1 -1
- package/dist/cli/Flag.d.ts +215 -0
- package/dist/cli/Flag.d.ts.map +1 -1
- package/dist/cli/Flag.js +89 -0
- package/dist/cli/Flag.js.map +1 -1
- package/dist/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/cli/GlobalFlag.js +3 -3
- package/dist/cli/GlobalFlag.js.map +1 -1
- package/dist/cli/Param.d.ts +194 -0
- package/dist/cli/Param.d.ts.map +1 -1
- package/dist/cli/Param.js +86 -0
- package/dist/cli/Param.js.map +1 -1
- package/dist/cli/TerminalCapabilities.d.ts +84 -0
- package/dist/cli/TerminalCapabilities.d.ts.map +1 -0
- package/dist/cli/TerminalCapabilities.js +122 -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 +7 -3
- package/dist/cli/internal/command.js.map +1 -1
- package/dist/cli/internal/completions/bash.js +7 -5
- package/dist/cli/internal/completions/bash.js.map +1 -1
- package/dist/cli/internal/completions/descriptor.js +16 -1
- package/dist/cli/internal/completions/descriptor.js.map +1 -1
- package/dist/cli/internal/completions/fish.js +12 -10
- package/dist/cli/internal/completions/fish.js.map +1 -1
- package/dist/cli/internal/completions/powershell.js +20 -10
- package/dist/cli/internal/completions/powershell.js.map +1 -1
- package/dist/cli/internal/completions/zsh.js +15 -8
- 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 +35 -15
- package/dist/cli/internal/parser.js.map +1 -1
- package/dist/cli/internal/wizard.d.ts.map +1 -1
- package/dist/cli/internal/wizard.js +2 -1
- package/dist/cli/internal/wizard.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 +2 -1
- package/dist/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/cluster/ClusterWorkflowEngine.js +98 -18
- 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 +21 -0
- package/dist/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/cluster/MessageStorage.js +20 -12
- package/dist/cluster/MessageStorage.js.map +1 -1
- package/dist/cluster/Runners.d.ts.map +1 -1
- package/dist/cluster/Runners.js +96 -37
- 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 +95 -32
- package/dist/cluster/Sharding.js.map +1 -1
- package/dist/cluster/ShardingConfig.d.ts +20 -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/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 +10 -4
- package/dist/cluster/SqlRunnerStorage.js.map +1 -1
- package/dist/cluster/internal/entityManager.js +66 -9
- 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 +31 -4
- package/dist/devtools/DevToolsClient.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.js +1 -1
- 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.js +3 -3
- 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 +387 -159
- 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 +47 -0
- package/dist/eventlog/internal/conflicts.d.ts.map +1 -0
- package/dist/eventlog/internal/conflicts.js +92 -0
- package/dist/eventlog/internal/conflicts.js.map +1 -0
- package/dist/graphql/GraphQLClient.d.ts.map +1 -1
- package/dist/graphql/GraphQLClient.js +12 -5
- package/dist/graphql/GraphQLClient.js.map +1 -1
- 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 +252 -11
- package/dist/graphql/GraphQLProtocol.d.ts.map +1 -1
- package/dist/graphql/GraphQLProtocol.js +99 -8
- package/dist/graphql/GraphQLProtocol.js.map +1 -1
- package/dist/graphql/GraphQLResolver.d.ts +3 -1
- package/dist/graphql/GraphQLResolver.d.ts.map +1 -1
- package/dist/graphql/GraphQLResolver.js +91 -19
- package/dist/graphql/GraphQLResolver.js.map +1 -1
- package/dist/http/FetchHttpClient.d.ts +13 -3
- package/dist/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/http/FetchHttpClient.js +56 -6
- package/dist/http/FetchHttpClient.js.map +1 -1
- package/dist/http/FindMyWay/internal/router.js +12 -1
- package/dist/http/FindMyWay/internal/router.js.map +1 -1
- package/dist/http/Headers.d.ts +230 -3
- package/dist/http/Headers.d.ts.map +1 -1
- package/dist/http/Headers.js +267 -5
- package/dist/http/Headers.js.map +1 -1
- package/dist/http/HttpClient.d.ts +105 -0
- package/dist/http/HttpClient.d.ts.map +1 -1
- package/dist/http/HttpClient.js +69 -17
- package/dist/http/HttpClient.js.map +1 -1
- package/dist/http/HttpClientError.d.ts.map +1 -1
- package/dist/http/HttpClientError.js +8 -6
- package/dist/http/HttpClientError.js.map +1 -1
- package/dist/http/HttpClientRequest.d.ts +274 -7
- package/dist/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/http/HttpClientRequest.js +91 -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 +179 -2
- package/dist/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/http/HttpMiddleware.js +226 -18
- package/dist/http/HttpMiddleware.js.map +1 -1
- package/dist/http/HttpRouter.d.ts.map +1 -1
- package/dist/http/HttpRouter.js +58 -14
- 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 +11 -7
- package/dist/http/HttpServerError.js.map +1 -1
- package/dist/http/HttpServerRequest.d.ts +25 -5
- package/dist/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/http/HttpServerRequest.js +38 -12
- 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 +25 -17
- package/dist/http/HttpStaticServer.js.map +1 -1
- package/dist/http/HttpTraceContext.js +1 -1
- package/dist/http/HttpTraceContext.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 +87 -5
- 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 +8 -2
- package/dist/http/Url.js.map +1 -1
- package/dist/http/UrlParams.d.ts +112 -8
- package/dist/http/UrlParams.d.ts.map +1 -1
- package/dist/http/UrlParams.js +141 -14
- package/dist/http/UrlParams.js.map +1 -1
- package/dist/http/internal/compression.d.ts +1 -1
- package/dist/http/internal/compression.d.ts.map +1 -1
- package/dist/http/internal/compression.js +2 -10
- package/dist/http/internal/compression.js.map +1 -1
- package/dist/http/internal/compressionBody.d.ts +2 -0
- package/dist/http/internal/compressionBody.d.ts.map +1 -0
- package/dist/http/internal/compressionBody.js +36 -0
- package/dist/http/internal/compressionBody.js.map +1 -0
- package/dist/http/internal/decompression.d.ts +2 -0
- package/dist/http/internal/decompression.d.ts.map +1 -0
- package/dist/http/internal/decompression.js +168 -0
- package/dist/http/internal/decompression.js.map +1 -0
- 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/tracing.js +14 -4
- package/dist/http/internal/tracing.js.map +1 -1
- package/dist/http/internal/urlParams.d.ts +2 -0
- package/dist/http/internal/urlParams.d.ts.map +1 -0
- package/dist/http/internal/urlParams.js +4 -0
- package/dist/http/internal/urlParams.js.map +1 -0
- 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.js +1 -1
- 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 +121 -18
- package/dist/http-api/HttpApiBuilder.js.map +1 -1
- package/dist/http-api/HttpApiClient.d.ts +29 -4
- package/dist/http-api/HttpApiClient.d.ts.map +1 -1
- package/dist/http-api/HttpApiClient.js +85 -24
- package/dist/http-api/HttpApiClient.js.map +1 -1
- package/dist/http-api/HttpApiEndpoint.d.ts +55 -29
- package/dist/http-api/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/http-api/HttpApiEndpoint.js +49 -5
- 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 +191 -9
- package/dist/http-api/HttpApiSchema.d.ts.map +1 -1
- package/dist/http-api/HttpApiSchema.js +137 -4
- 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 +30 -9
- 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 +57 -32
- 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/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/core.js +18 -2
- 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 +89 -76
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/graphql.js +12 -2
- package/dist/internal/graphql.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/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/fromJsonSchemaDocument.js +136 -126
- package/dist/internal/schema/fromJsonSchemaDocument.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 +34 -33
- package/dist/internal/schema/standardSchema.js.map +1 -1
- package/dist/internal/schema/toCodeDocument.js +7 -2
- package/dist/internal/schema/toCodeDocument.js.map +1 -1
- package/dist/internal/schema/toCodec.js +86 -1
- 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 +60 -38
- package/dist/internal/schema/toJsonSchemaDocument.js.map +1 -1
- 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/Otlp.d.ts +15 -0
- package/dist/observability/Otlp.d.ts.map +1 -1
- package/dist/observability/Otlp.js +3 -0
- package/dist/observability/Otlp.js.map +1 -1
- package/dist/observability/OtlpExporter.d.ts +8 -0
- package/dist/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/observability/OtlpExporter.js +15 -13
- package/dist/observability/OtlpExporter.js.map +1 -1
- package/dist/observability/OtlpLogger.d.ts +17 -0
- package/dist/observability/OtlpLogger.d.ts.map +1 -1
- package/dist/observability/OtlpLogger.js +14 -1
- package/dist/observability/OtlpLogger.js.map +1 -1
- package/dist/observability/OtlpMetrics.d.ts +17 -0
- package/dist/observability/OtlpMetrics.d.ts.map +1 -1
- package/dist/observability/OtlpMetrics.js +18 -3
- package/dist/observability/OtlpMetrics.js.map +1 -1
- 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 +17 -0
- package/dist/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/observability/OtlpTracer.js +15 -2
- package/dist/observability/OtlpTracer.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/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/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 +5 -0
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +5 -0
- package/dist/persistence/index.js.map +1 -1
- package/dist/process/ChildProcess.d.ts +2 -1
- package/dist/process/ChildProcess.d.ts.map +1 -1
- package/dist/process/ChildProcess.js.map +1 -1
- package/dist/reactivity/AsyncResult.d.ts +6 -0
- package/dist/reactivity/AsyncResult.d.ts.map +1 -1
- package/dist/reactivity/AsyncResult.js +28 -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 +47 -10
- 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 +202 -61
- package/dist/rpc/RpcClient.js.map +1 -1
- package/dist/rpc/RpcSerialization.d.ts +15 -0
- package/dist/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/rpc/RpcSerialization.js +21 -5
- package/dist/rpc/RpcSerialization.js.map +1 -1
- package/dist/rpc/RpcServer.d.ts.map +1 -1
- package/dist/rpc/RpcServer.js +9 -18
- package/dist/rpc/RpcServer.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.map +1 -1
- package/dist/sql/Migrator.js +15 -3
- package/dist/sql/Migrator.js.map +1 -1
- package/dist/sql/SqlClient.d.ts +151 -12
- package/dist/sql/SqlClient.d.ts.map +1 -1
- package/dist/sql/SqlClient.js +156 -34
- package/dist/sql/SqlClient.js.map +1 -1
- package/dist/sql/SqlResolver.d.ts +9 -0
- package/dist/sql/SqlResolver.d.ts.map +1 -1
- package/dist/sql/SqlResolver.js +9 -0
- package/dist/sql/SqlResolver.js.map +1 -1
- package/dist/sql/Statement.d.ts +3 -1
- package/dist/sql/Statement.d.ts.map +1 -1
- package/dist/sql/Statement.js +24 -5
- package/dist/sql/Statement.js.map +1 -1
- package/dist/testing/TestClock.d.ts +16 -3
- package/dist/testing/TestClock.d.ts.map +1 -1
- package/dist/testing/TestClock.js +115 -23
- 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/Activity.js +1 -0
- package/dist/workflow/Activity.js.map +1 -1
- package/dist/workflow/Workflow.d.ts +22 -0
- package/dist/workflow/Workflow.d.ts.map +1 -1
- package/dist/workflow/Workflow.js +15 -3
- package/dist/workflow/Workflow.js.map +1 -1
- package/dist/workflow/WorkflowEngine.d.ts +20 -1
- package/dist/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/workflow/WorkflowEngine.js +52 -24
- package/dist/workflow/WorkflowEngine.js.map +1 -1
- package/package.json +13 -3
- package/src/Array.ts +223 -61
- package/src/Bytes.ts +111 -0
- package/src/Channel.ts +287 -439
- package/src/ChannelSchema.ts +1 -49
- package/src/Chunk.ts +55 -61
- package/src/Config.ts +12 -86
- package/src/ConfigProvider.ts +41 -44
- package/src/Cron.ts +6 -3
- package/src/Duration.ts +70 -21
- package/src/Effect.ts +642 -220
- package/src/Equivalence.ts +7 -4
- package/src/Exit.ts +24 -9
- package/src/FiberHandle.ts +10 -9
- package/src/FiberMap.ts +13 -66
- package/src/FileSystem.ts +33 -9
- package/src/Graph.ts +171 -1263
- package/src/HashSet.ts +0 -60
- package/src/Iterable.ts +15 -14
- package/src/JsonSchema.ts +28 -3
- package/src/Layer.ts +2 -2
- package/src/ManagedRuntime.ts +72 -6
- package/src/Match.ts +65 -12
- package/src/Metric.ts +249 -507
- package/src/MutableHashMap.ts +4 -473
- package/src/Number.ts +2 -2
- package/src/Optic.ts +17 -332
- package/src/Path.ts +61 -8
- package/src/PubSub.ts +12 -7
- 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 +7 -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 +2 -94
- package/src/Schema.ts +596 -348
- package/src/SchemaAST.ts +20 -9
- package/src/SchemaGetter.ts +22 -5
- package/src/SchemaIssue.ts +44 -53
- package/src/SchemaRepresentation.ts +64 -1
- package/src/SchemaTransformation.ts +1 -1
- 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/Sink.ts +6 -2
- package/src/Stream.ts +334 -1011
- package/src/String.ts +25 -12
- package/src/TextDiff.ts +766 -0
- package/src/TxHashMap.ts +1 -103
- package/src/TxHashSet.ts +48 -753
- package/src/TxRef.ts +4 -2
- package/src/ai/AiError.ts +69 -5
- package/src/ai/Chat.ts +10 -5
- package/src/ai/Decision.ts +119 -22
- package/src/ai/DecisionModel.ts +265 -109
- package/src/ai/EmbeddingModel.ts +25 -13
- package/src/ai/LanguageModel.ts +57 -51
- 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 +232 -275
- package/src/ai/Prompt.ts +49 -35
- package/src/ai/Response.ts +195 -65
- package/src/ai/Tool.ts +12 -4
- package/src/ai/Toolkit.ts +78 -10
- 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/CliError.ts +49 -4
- package/src/cli/Command.ts +316 -9
- package/src/cli/Completions.ts +10 -0
- package/src/cli/Flag.ts +218 -0
- package/src/cli/GlobalFlag.ts +3 -3
- package/src/cli/Param.ts +218 -0
- package/src/cli/TerminalCapabilities.ts +156 -0
- package/src/cli/index.ts +6 -0
- package/src/cli/internal/command.ts +10 -4
- package/src/cli/internal/completions/bash.ts +7 -5
- package/src/cli/internal/completions/descriptor.ts +20 -1
- package/src/cli/internal/completions/fish.ts +12 -10
- package/src/cli/internal/completions/powershell.ts +25 -13
- package/src/cli/internal/completions/zsh.ts +15 -8
- package/src/cli/internal/formatter.ts +18 -0
- package/src/cli/internal/lexer.ts +12 -5
- package/src/cli/internal/parser.ts +43 -14
- package/src/cli/internal/wizard.ts +2 -1
- package/src/cluster/ClusterCron.ts +94 -35
- package/src/cluster/ClusterMetrics.ts +149 -7
- package/src/cluster/ClusterWorkflowEngine.ts +164 -53
- package/src/cluster/Entity.ts +4 -0
- package/src/cluster/MessageStorage.ts +21 -3
- package/src/cluster/Runners.ts +145 -72
- package/src/cluster/Sharding.ts +118 -38
- package/src/cluster/ShardingConfig.ts +15 -0
- package/src/cluster/SqlMessageStorage.ts +58 -55
- package/src/cluster/SqlRunnerStorage.ts +10 -4
- package/src/cluster/internal/entityManager.ts +81 -11
- package/src/devtools/DevTools.ts +3 -2
- package/src/devtools/DevToolsClient.ts +27 -10
- 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 +1 -1
- package/src/encoding/Tar.ts +1417 -0
- package/src/encoding/Toml.ts +3 -3
- 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 +453 -173
- 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 +123 -0
- package/src/graphql/GraphQLClient.ts +17 -5
- package/src/graphql/GraphQLClientError.ts +5 -12
- package/src/graphql/GraphQLProtocol.ts +277 -20
- package/src/graphql/GraphQLResolver.ts +109 -230
- package/src/http/FetchHttpClient.ts +61 -8
- package/src/http/FindMyWay/internal/router.ts +13 -1
- package/src/http/Headers.ts +343 -163
- package/src/http/HttpClient.ts +144 -136
- package/src/http/HttpClientError.ts +10 -6
- package/src/http/HttpClientRequest.ts +315 -11
- 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 +265 -28
- package/src/http/HttpRouter.ts +67 -14
- package/src/http/HttpServerError.ts +14 -7
- package/src/http/HttpServerRequest.ts +73 -14
- package/src/http/HttpServerResponse.ts +49 -23
- package/src/http/HttpStaticServer.ts +29 -19
- package/src/http/HttpTraceContext.ts +1 -1
- package/src/http/MultipartParser/internal/contentType.ts +107 -6
- package/src/http/MultipartParser/internal/headers.ts +4 -16
- package/src/http/MultipartParser/internal/multipart.ts +10 -32
- package/src/http/Url.ts +8 -2
- package/src/http/UrlParams.ts +225 -26
- package/src/http/internal/compression.ts +3 -17
- package/src/http/internal/compressionBody.ts +56 -0
- package/src/http/internal/decompression.ts +235 -0
- package/src/http/internal/lazyStream.ts +25 -0
- package/src/http/internal/requestState.ts +33 -0
- package/src/http/internal/tracing.ts +21 -4
- package/src/http/internal/urlParams.ts +5 -0
- package/src/http/internal/webResponse.ts +20 -0
- package/src/http-api/HttpApi.ts +1 -1
- package/src/http-api/HttpApiBuilder.ts +151 -23
- package/src/http-api/HttpApiClient.ts +160 -31
- package/src/http-api/HttpApiEndpoint.ts +144 -33
- package/src/http-api/HttpApiError.ts +55 -0
- package/src/http-api/HttpApiScalar.ts +4 -3
- package/src/http-api/HttpApiSchema.ts +275 -13
- package/src/http-api/HttpApiSwagger.ts +11 -4
- package/src/http-api/HttpApiTest.ts +33 -9
- package/src/http-api/OpenApi.ts +84 -42
- package/src/http-api/internal/path.ts +40 -12
- package/src/index.ts +24 -0
- package/src/internal/core.ts +22 -2
- package/src/internal/dateTime.ts +20 -7
- package/src/internal/effect.ts +125 -88
- package/src/internal/graphql.ts +30 -7
- package/src/internal/hashMap.ts +2 -2
- package/src/internal/hydration.ts +15 -0
- package/src/internal/inflate.ts +710 -0
- 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/fromJsonSchemaDocument.ts +262 -193
- package/src/internal/schema/interpreter.ts +58 -45
- package/src/internal/schema/standardSchema.ts +32 -30
- package/src/internal/schema/toCodeDocument.ts +8 -3
- package/src/internal/schema/toCodec.ts +116 -1
- package/src/internal/schema/toFormatter.ts +6 -6
- package/src/internal/schema/toJsonSchemaDocument.ts +69 -39
- 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/Otlp.ts +18 -0
- package/src/observability/OtlpExporter.ts +19 -15
- package/src/observability/OtlpLogger.ts +31 -2
- package/src/observability/OtlpMetrics.ts +35 -4
- package/src/observability/OtlpResource.ts +16 -6
- package/src/observability/OtlpSerialization.ts +17 -3
- package/src/observability/OtlpTracer.ts +32 -3
- package/src/observability/internal/protobuf.ts +2 -10
- 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/UserDirectories.ts +273 -0
- package/src/persistence/index.ts +6 -0
- package/src/process/ChildProcess.ts +2 -1
- package/src/reactivity/AsyncResult.ts +35 -38
- package/src/reactivity/Atom.ts +134 -166
- package/src/reactivity/AtomHttpApi.ts +10 -16
- package/src/reactivity/AtomRegistry.ts +53 -30
- 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 +285 -104
- package/src/rpc/RpcSerialization.ts +21 -5
- package/src/rpc/RpcServer.ts +11 -20
- package/src/schema/VariantSchema.ts +86 -22
- package/src/socket/Socket.ts +45 -20
- package/src/sql/Migrator.ts +19 -9
- package/src/sql/SqlClient.ts +275 -36
- package/src/sql/SqlResolver.ts +9 -0
- package/src/sql/Statement.ts +35 -8
- package/src/testing/TestClock.ts +147 -29
- package/src/testing/TestSchema.ts +9 -3
- package/src/workflow/Activity.ts +1 -0
- package/src/workflow/Workflow.ts +31 -5
- package/src/workflow/WorkflowEngine.ts +93 -31
- 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
|
@@ -15,12 +15,14 @@ import * as Effect from "../Effect.ts"
|
|
|
15
15
|
import * as Exit from "../Exit.ts"
|
|
16
16
|
import * as Fiber from "../Fiber.ts"
|
|
17
17
|
import { constVoid, dual } from "../Function.ts"
|
|
18
|
+
import { shouldHydrate } from "../internal/hydration.ts"
|
|
18
19
|
import * as Layer from "../Layer.ts"
|
|
19
20
|
import * as Option from "../Option.ts"
|
|
20
21
|
import { hasProperty } from "../Predicate.ts"
|
|
21
22
|
import * as Queue from "../Queue.ts"
|
|
22
23
|
import type { Scheduler, SchedulerDispatcher } from "../Scheduler.ts"
|
|
23
24
|
import { MixedScheduler } from "../Scheduler.ts"
|
|
25
|
+
import * as Schema from "../Schema.ts"
|
|
24
26
|
import * as Scope from "../Scope.ts"
|
|
25
27
|
import * as Stream from "../Stream.ts"
|
|
26
28
|
import * as Result from "./AsyncResult.ts"
|
|
@@ -130,7 +132,7 @@ export interface Node<A> {
|
|
|
130
132
|
*/
|
|
131
133
|
export const make = (
|
|
132
134
|
options?: {
|
|
133
|
-
readonly initialValues?: Iterable<readonly [Atom.Atom<any>, any]> | undefined
|
|
135
|
+
readonly initialValues?: Iterable<readonly [Atom.Atom<any>, any, Atom.InitialValueOptions?]> | undefined
|
|
134
136
|
readonly scheduleTask?: ((f: () => void) => () => void) | undefined
|
|
135
137
|
readonly timeoutResolution?: number | undefined
|
|
136
138
|
readonly defaultIdleTTL?: number | undefined
|
|
@@ -170,7 +172,7 @@ export const AtomRegistry = Context.Service<AtomRegistry>(TypeId)
|
|
|
170
172
|
* @since 4.0.0
|
|
171
173
|
*/
|
|
172
174
|
export const layerOptions = (options?: {
|
|
173
|
-
readonly initialValues?: Iterable<readonly [Atom.Atom<any>, any]> | undefined
|
|
175
|
+
readonly initialValues?: Iterable<readonly [Atom.Atom<any>, any, Atom.InitialValueOptions?]> | undefined
|
|
174
176
|
readonly scheduleTask?: ((f: () => void) => () => void) | undefined
|
|
175
177
|
readonly timeoutResolution?: number | undefined
|
|
176
178
|
readonly defaultIdleTTL?: number | undefined
|
|
@@ -251,23 +253,7 @@ export const toStream: {
|
|
|
251
253
|
} = dual(
|
|
252
254
|
2,
|
|
253
255
|
<A>(self: AtomRegistry, atom: Atom.Atom<A>) =>
|
|
254
|
-
Stream.callback
|
|
255
|
-
// conversions
|
|
256
|
-
// -----------------------------------------------------------------------------
|
|
257
|
-
|
|
258
|
-
/**
|
|
259
|
-
* Converts an atom in this registry into a stream.
|
|
260
|
-
*
|
|
261
|
-
* **Details**
|
|
262
|
-
*
|
|
263
|
-
* The stream emits the current value immediately, emits subsequent changes, and
|
|
264
|
-
* unsubscribes from the registry when the stream scope closes.
|
|
265
|
-
*
|
|
266
|
-
* @stability unstable
|
|
267
|
-
* @category converting
|
|
268
|
-
* @since 4.0.0
|
|
269
|
-
*/
|
|
270
|
-
A>((queue) =>
|
|
256
|
+
Stream.callback<A>((queue) =>
|
|
271
257
|
Effect.suspend(() => {
|
|
272
258
|
const fiber = Fiber.getCurrent()!
|
|
273
259
|
const scope = Context.getUnsafe(fiber.context, Scope.Scope)
|
|
@@ -494,7 +480,7 @@ class RegistryImpl implements AtomRegistry {
|
|
|
494
480
|
onNodeRemoved?: ((node: Node<any>) => void) | undefined
|
|
495
481
|
|
|
496
482
|
constructor(
|
|
497
|
-
initialValues?: Iterable<readonly [Atom.Atom<any>, any]>,
|
|
483
|
+
initialValues?: Iterable<readonly [Atom.Atom<any>, any, Atom.InitialValueOptions?]>,
|
|
498
484
|
scheduleTask?: (cb: () => void) => () => void,
|
|
499
485
|
timeoutResolution?: number,
|
|
500
486
|
defaultIdleTTL?: number
|
|
@@ -511,12 +497,12 @@ class RegistryImpl implements AtomRegistry {
|
|
|
511
497
|
this.timeoutResolution = timeoutResolution ?? 1000
|
|
512
498
|
}
|
|
513
499
|
if (initialValues !== undefined) {
|
|
514
|
-
for (const [atom, value] of initialValues) {
|
|
500
|
+
for (const [atom, value, options] of initialValues) {
|
|
515
501
|
let target = atom
|
|
516
502
|
while (target.initialValueTarget) {
|
|
517
503
|
target = target.initialValueTarget
|
|
518
504
|
}
|
|
519
|
-
this.ensureNode(target).setInitialValue(value)
|
|
505
|
+
this.ensureNode(target).setInitialValue(value, options?.skipInitialRun)
|
|
520
506
|
}
|
|
521
507
|
}
|
|
522
508
|
}
|
|
@@ -603,15 +589,21 @@ class RegistryImpl implements AtomRegistry {
|
|
|
603
589
|
if (typeof key === "string" && this.preloadedSerializable.has(key)) {
|
|
604
590
|
const encoded = this.preloadedSerializable.get(key)
|
|
605
591
|
this.preloadedSerializable.delete(key)
|
|
606
|
-
const
|
|
592
|
+
const serializable = (atom as any as Atom.Serializable<any>)[SerializableTypeId]
|
|
593
|
+
let decoded: A
|
|
594
|
+
try {
|
|
595
|
+
decoded = serializable.decode(encoded as Schema.Json)
|
|
596
|
+
} catch (error) {
|
|
597
|
+
if (Schema.isSchemaError(error)) return node
|
|
598
|
+
throw error
|
|
599
|
+
}
|
|
607
600
|
let target = atom
|
|
608
601
|
while (target.initialValueTarget) {
|
|
609
602
|
target = target.initialValueTarget
|
|
610
603
|
}
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
this.ensureNode(target).setInitialValue(decoded)
|
|
604
|
+
const targetNode = target === atom ? node : this.ensureNode(target)
|
|
605
|
+
if (shouldHydrate(targetNode._value, decoded)) {
|
|
606
|
+
targetNode.setInitialValue(decoded, serializable.skipInitialRun)
|
|
615
607
|
}
|
|
616
608
|
}
|
|
617
609
|
return node
|
|
@@ -629,7 +621,9 @@ class RegistryImpl implements AtomRegistry {
|
|
|
629
621
|
}
|
|
630
622
|
|
|
631
623
|
invalidateAtom = <A>(atom: Atom.Atom<A>): void => {
|
|
632
|
-
this.ensureNode(atom)
|
|
624
|
+
const node = this.ensureNode(atom)
|
|
625
|
+
node.skipInitialRun = false
|
|
626
|
+
node.invalidate()
|
|
633
627
|
}
|
|
634
628
|
|
|
635
629
|
scheduleAtomRemoval(atom: Atom.Atom<any>): void {
|
|
@@ -780,6 +774,10 @@ class NodeImpl<A> {
|
|
|
780
774
|
lifetime: Lifetime<A> | undefined
|
|
781
775
|
writeContext: WriteContextImpl<A>
|
|
782
776
|
preserveInitialValueOnBuild = false
|
|
777
|
+
skipInitialRun = false
|
|
778
|
+
// the parents, and their lifetimes, of a build that kept the seed without
|
|
779
|
+
// reaching the effect, such as one waiting for a runtime
|
|
780
|
+
keptParents: Array<readonly [NodeImpl<any>, Lifetime<any> | undefined]> | undefined
|
|
783
781
|
invalidatedDuringBuild = false
|
|
784
782
|
failed = false
|
|
785
783
|
|
|
@@ -866,6 +864,9 @@ class NodeImpl<A> {
|
|
|
866
864
|
if (this.lifetime === lifetime && (this.state & NodeFlags.waitingForValue) !== 0) {
|
|
867
865
|
if (this.preserveInitialValueOnBuild) {
|
|
868
866
|
this.preserveInitialValueOnBuild = false
|
|
867
|
+
if (this.skipInitialRun) {
|
|
868
|
+
this.keptParents = Array.from(this.parents, (parent) => [parent, parent.lifetime] as const)
|
|
869
|
+
}
|
|
869
870
|
this.failed = false
|
|
870
871
|
this.state = NodeState.valid
|
|
871
872
|
} else {
|
|
@@ -939,9 +940,10 @@ class NodeImpl<A> {
|
|
|
939
940
|
return Option.some(this._value)
|
|
940
941
|
}
|
|
941
942
|
|
|
942
|
-
setInitialValue(value: A): void {
|
|
943
|
+
setInitialValue(value: A, skipInitialRun = false): void {
|
|
943
944
|
if ((this.state & NodeFlags.initialized) === 0) {
|
|
944
945
|
this.preserveInitialValueOnBuild = true
|
|
946
|
+
this.skipInitialRun = skipInitialRun
|
|
945
947
|
this.state = NodeState.stale
|
|
946
948
|
this._value = value
|
|
947
949
|
if (this.listeners.size > 0) {
|
|
@@ -967,7 +969,9 @@ class NodeImpl<A> {
|
|
|
967
969
|
this._value = value
|
|
968
970
|
let failure: unknown = noFailure
|
|
969
971
|
try {
|
|
970
|
-
|
|
972
|
+
// A first value cannot replace one held by a dependent. Recovery still
|
|
973
|
+
// retries dependents whose reads failed before this node had a value.
|
|
974
|
+
if (initialized || recovered) this.invalidateChildren()
|
|
971
975
|
} catch (error) {
|
|
972
976
|
failure = error
|
|
973
977
|
}
|
|
@@ -1098,6 +1102,25 @@ class NodeImpl<A> {
|
|
|
1098
1102
|
}
|
|
1099
1103
|
}
|
|
1100
1104
|
|
|
1105
|
+
/**
|
|
1106
|
+
* Whether the build keeps the node's seeded value instead of running its
|
|
1107
|
+
* effect or stream. Consumed by the first run, so later rebuilds run it. A
|
|
1108
|
+
* parent rebuilt since the seed was kept, such as a reconfigured runtime, is a
|
|
1109
|
+
* real change and runs it too.
|
|
1110
|
+
*
|
|
1111
|
+
* @internal
|
|
1112
|
+
*/
|
|
1113
|
+
export const consumeSkipInitialRun = (ctx: Atom.AtomContext): boolean => {
|
|
1114
|
+
const lifetime = ctx as Lifetime<any>
|
|
1115
|
+
const node = lifetime.node
|
|
1116
|
+
if (!node.skipInitialRun) return false
|
|
1117
|
+
const keptParents = node.keptParents
|
|
1118
|
+
node.skipInitialRun = false
|
|
1119
|
+
node.keptParents = undefined
|
|
1120
|
+
return !lifetime.isFn && !Result.isInitial(node._value) &&
|
|
1121
|
+
(keptParents === undefined || keptParents.every(([parent, lifetime]) => parent.lifetime === lifetime))
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1101
1124
|
interface Lifetime<A> extends Atom.AtomContext {
|
|
1102
1125
|
isFn: boolean
|
|
1103
1126
|
readonly node: NodeImpl<A>
|
|
@@ -15,7 +15,6 @@ import * as Duration from "../Duration.ts"
|
|
|
15
15
|
import * as Effect from "../Effect.ts"
|
|
16
16
|
import * as Headers from "../http/Headers.ts"
|
|
17
17
|
import * as Layer from "../Layer.ts"
|
|
18
|
-
import type { ReadonlyRecord } from "../Record.ts"
|
|
19
18
|
import type * as Rpc from "../rpc/Rpc.ts"
|
|
20
19
|
import * as RpcClient from "../rpc/RpcClient.ts"
|
|
21
20
|
import { RpcClientError } from "../rpc/RpcClientError.ts"
|
|
@@ -68,10 +67,7 @@ export interface AtomRpcClient<Self, Id extends string, Rpcs extends Rpc.Any> ex
|
|
|
68
67
|
: Atom.AtomResultFn<
|
|
69
68
|
{
|
|
70
69
|
readonly payload: Rpc.PayloadConstructor<Rpcs>
|
|
71
|
-
readonly reactivityKeys?:
|
|
72
|
-
| ReadonlyArray<unknown>
|
|
73
|
-
| ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
74
|
-
| undefined
|
|
70
|
+
readonly reactivityKeys?: Reactivity.KeysInput | undefined
|
|
75
71
|
readonly headers?: Headers.Input | undefined
|
|
76
72
|
},
|
|
77
73
|
_Success["Type"],
|
|
@@ -84,10 +80,7 @@ export interface AtomRpcClient<Self, Id extends string, Rpcs extends Rpc.Any> ex
|
|
|
84
80
|
payload: Rpc.PayloadConstructor<Rpc.ExtractTag<Rpcs, Tag>>,
|
|
85
81
|
options?: {
|
|
86
82
|
readonly headers?: Headers.Input | undefined
|
|
87
|
-
readonly reactivityKeys?:
|
|
88
|
-
| ReadonlyArray<unknown>
|
|
89
|
-
| ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
90
|
-
| undefined
|
|
83
|
+
readonly reactivityKeys?: Reactivity.KeysInput | undefined
|
|
91
84
|
readonly timeToLive?: Duration.Input | undefined
|
|
92
85
|
readonly serializationKey?: string | undefined
|
|
93
86
|
}
|
|
@@ -196,10 +189,7 @@ export const Service = <Self>() =>
|
|
|
196
189
|
const rpc = options.group.requests.get(tag)! as any as Rpc.AnyWithProps
|
|
197
190
|
return self.runtime.fn<{
|
|
198
191
|
readonly payload: Rpc.PayloadConstructor<Rpc.ExtractTag<Rpcs, Tag>>
|
|
199
|
-
readonly reactivityKeys?:
|
|
200
|
-
| ReadonlyArray<unknown>
|
|
201
|
-
| ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
202
|
-
| undefined
|
|
192
|
+
readonly reactivityKeys?: Reactivity.KeysInput | undefined
|
|
203
193
|
readonly headers?: Headers.Input | undefined
|
|
204
194
|
}>()(
|
|
205
195
|
Effect.fnUntraced(function*({ headers, payload, reactivityKeys }) {
|
|
@@ -211,7 +201,7 @@ export const Service = <Self>() =>
|
|
|
211
201
|
})
|
|
212
202
|
).pipe(
|
|
213
203
|
Atom.serializable({
|
|
214
|
-
key: `AtomRpc:mutation:${tag}`,
|
|
204
|
+
key: `AtomRpc:mutation:${JSON.stringify([id, tag])}`,
|
|
215
205
|
schema: AsyncResult.Schema({
|
|
216
206
|
success: rpc.successSchema,
|
|
217
207
|
error: makeErrorSchema(rpc)
|
|
@@ -264,10 +254,7 @@ export const Service = <Self>() =>
|
|
|
264
254
|
payload: Rpc.PayloadConstructor<Rpc.ExtractTag<Rpcs, Tag>>,
|
|
265
255
|
options?: {
|
|
266
256
|
readonly headers?: Headers.Input | undefined
|
|
267
|
-
readonly reactivityKeys?:
|
|
268
|
-
| ReadonlyArray<unknown>
|
|
269
|
-
| ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
270
|
-
| undefined
|
|
257
|
+
readonly reactivityKeys?: Reactivity.KeysInput | undefined
|
|
271
258
|
readonly timeToLive?: Duration.Input | undefined
|
|
272
259
|
readonly serializationKey?: string | undefined
|
|
273
260
|
}
|
|
@@ -294,10 +281,7 @@ interface QueryKey {
|
|
|
294
281
|
tag: string
|
|
295
282
|
payload: any
|
|
296
283
|
headers: Headers.Headers | undefined
|
|
297
|
-
reactivityKeys:
|
|
298
|
-
| ReadonlyArray<unknown>
|
|
299
|
-
| ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
300
|
-
| undefined
|
|
284
|
+
reactivityKeys: Reactivity.KeysInput | undefined
|
|
301
285
|
timeToLive: Duration.Duration | undefined
|
|
302
286
|
serializationKey: string | undefined
|
|
303
287
|
}
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
* @stability unstable
|
|
12
12
|
* @since 4.0.0
|
|
13
13
|
*/
|
|
14
|
+
import { shouldHydrate } from "../internal/hydration.ts"
|
|
15
|
+
import * as Option from "../Option.ts"
|
|
14
16
|
import * as Schema from "../Schema.ts"
|
|
15
17
|
import * as AsyncResult from "./AsyncResult.ts"
|
|
16
18
|
import * as Atom from "./Atom.ts"
|
|
@@ -61,6 +63,18 @@ const encodeOrSkip = (
|
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
65
|
|
|
66
|
+
const decodeOrSkip = (
|
|
67
|
+
atom: Atom.Serializable<any>,
|
|
68
|
+
value: unknown
|
|
69
|
+
): unknown => {
|
|
70
|
+
try {
|
|
71
|
+
return atom[Atom.SerializableTypeId].decode(value as Schema.Json)
|
|
72
|
+
} catch (error) {
|
|
73
|
+
if (Schema.isSchemaError(error)) return Skipped
|
|
74
|
+
throw error
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
64
78
|
/**
|
|
65
79
|
* Encodes the serializable atoms currently stored in a registry into dehydrated
|
|
66
80
|
* state.
|
|
@@ -156,25 +170,52 @@ export const hydrate = (
|
|
|
156
170
|
for (const datom of (dehydratedState as Iterable<DehydratedAtomValue>)) {
|
|
157
171
|
registry.setSerializable(datom.key, datom.value)
|
|
158
172
|
|
|
173
|
+
// Apply hydration immediately to existing subscribers.
|
|
174
|
+
const existing = registry.getNodes().get(datom.key)
|
|
175
|
+
if (existing !== undefined) registry.ensureNode(existing.atom)
|
|
176
|
+
|
|
159
177
|
// If there's a resultPromise, it means this was in Initial state when dehydrated
|
|
160
178
|
// and we should wait for it to resolve to a non-Initial state, then update the registry
|
|
161
179
|
if (!datom.resultPromise) continue
|
|
162
180
|
datom.resultPromise.then((resolvedValue) => {
|
|
163
|
-
if (resolvedValue === Skipped) return
|
|
164
181
|
// Try to update the existing node directly instead of using setSerializable
|
|
165
|
-
const
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
182
|
+
const node = registry.getNodes().get(datom.key)
|
|
183
|
+
if (resolvedValue !== Skipped) {
|
|
184
|
+
if (node === undefined) {
|
|
185
|
+
// Fallback to setSerializable if node doesn't exist yet
|
|
186
|
+
registry.setSerializable(datom.key, resolvedValue)
|
|
187
|
+
return
|
|
188
|
+
}
|
|
189
|
+
const decoded = decodeOrSkip(node.atom as any, resolvedValue)
|
|
190
|
+
if (decoded !== Skipped) {
|
|
191
|
+
if (shouldHydrate(Option.getOrUndefined(node.valueOption()), decoded)) {
|
|
192
|
+
;(node as any).setValue(decoded)
|
|
193
|
+
}
|
|
194
|
+
return
|
|
173
195
|
}
|
|
174
|
-
} else {
|
|
175
|
-
// Fallback to setSerializable if node doesn't exist yet
|
|
176
|
-
registry.setSerializable(datom.key, resolvedValue)
|
|
177
196
|
}
|
|
197
|
+
|
|
198
|
+
// The result is unusable, so release the hydrated Initial and compute on the client
|
|
199
|
+
registry.preloadedSerializable.delete(datom.key)
|
|
200
|
+
if (node === undefined) return
|
|
201
|
+
let target = node.atom
|
|
202
|
+
while (target.initialValueTarget) {
|
|
203
|
+
target = target.initialValueTarget
|
|
204
|
+
}
|
|
205
|
+
if (target !== node.atom) {
|
|
206
|
+
releaseInitial(registry.ensureNode(target))
|
|
207
|
+
} // Derived atoms may not have read their source yet, so invalidate them directly too
|
|
208
|
+
|
|
209
|
+
releaseInitial(node)
|
|
178
210
|
})
|
|
179
211
|
}
|
|
180
212
|
}
|
|
213
|
+
|
|
214
|
+
const releaseInitial = (node: AtomRegistry.Node<any>): void => {
|
|
215
|
+
const internal = node as any
|
|
216
|
+
// An unbuilt target can hold hydration through preserveInitialValueOnBuild,
|
|
217
|
+
// which valueOption does not expose. Only release an Initial, not newer client results.
|
|
218
|
+
if (!AsyncResult.isAsyncResult(internal._value) || !AsyncResult.isInitial(internal._value)) return
|
|
219
|
+
internal.preserveInitialValueOnBuild = false
|
|
220
|
+
internal.invalidate()
|
|
221
|
+
}
|
|
@@ -40,6 +40,71 @@ export type TypeId = "~effect/reactivity/Reactivity"
|
|
|
40
40
|
*/
|
|
41
41
|
export const TypeId: TypeId = "~effect/reactivity/Reactivity"
|
|
42
42
|
|
|
43
|
+
/**
|
|
44
|
+
* Registry of reactivity keys and the ID type each key accepts.
|
|
45
|
+
*
|
|
46
|
+
* **Details**
|
|
47
|
+
*
|
|
48
|
+
* The registry is empty by default, and every key name and ID is accepted.
|
|
49
|
+
* Once an application declares keys through module augmentation, the public
|
|
50
|
+
* reactivity APIs (`Reactivity.mutation`, `Reactivity.query`,
|
|
51
|
+
* `Reactivity.stream`, `Reactivity.invalidate`, `Atom`, `AtomHttpApi`,
|
|
52
|
+
* `AtomRpc`, `SqlClient.reactive` and `EventLog.groupReactivity`) only accept
|
|
53
|
+
* declared key names, and record IDs must match the declared ID type. Declare
|
|
54
|
+
* a key as `never` if it is only used in array form.
|
|
55
|
+
*
|
|
56
|
+
* **Gotchas**
|
|
57
|
+
*
|
|
58
|
+
* Only applications should augment this interface, never libraries. The
|
|
59
|
+
* augmentation applies to the whole program, so a library declaring keys would
|
|
60
|
+
* switch every consumer to strict keys.
|
|
61
|
+
*
|
|
62
|
+
* Methods on the `Reactivity` service still accept any key, for code that only
|
|
63
|
+
* knows its keys at runtime.
|
|
64
|
+
*
|
|
65
|
+
* **Example** (Declaring reactivity keys)
|
|
66
|
+
*
|
|
67
|
+
* ```ts import.meta.vitest
|
|
68
|
+
* import { Effect } from "effect"
|
|
69
|
+
* import { Reactivity } from "effect/reactivity"
|
|
70
|
+
*
|
|
71
|
+
* declare module "effect/reactivity/Reactivity" {
|
|
72
|
+
* interface Keys {
|
|
73
|
+
* readonly users: number
|
|
74
|
+
* readonly events: never
|
|
75
|
+
* }
|
|
76
|
+
* }
|
|
77
|
+
*
|
|
78
|
+
* // Invalidates the `users` query with ID 1 and every `events` query
|
|
79
|
+
* const program = Effect.succeed("saved").pipe(
|
|
80
|
+
* Reactivity.mutation({ users: [1] }),
|
|
81
|
+
* Effect.andThen(Reactivity.invalidate(["events"]))
|
|
82
|
+
* )
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* @stability unstable
|
|
86
|
+
* @category models
|
|
87
|
+
* @since 4.0.0
|
|
88
|
+
*/
|
|
89
|
+
export interface Keys {}
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Keys accepted by the public reactivity APIs.
|
|
93
|
+
*
|
|
94
|
+
* **Details**
|
|
95
|
+
*
|
|
96
|
+
* With no keys declared in {@link Keys}, any array of keys or record of key IDs
|
|
97
|
+
* is accepted. Once keys are declared, only declared key names and their ID
|
|
98
|
+
* types are accepted.
|
|
99
|
+
*
|
|
100
|
+
* @stability unstable
|
|
101
|
+
* @category models
|
|
102
|
+
* @since 4.0.0
|
|
103
|
+
*/
|
|
104
|
+
export type KeysInput = [keyof Keys] extends [never]
|
|
105
|
+
? ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
106
|
+
: ReadonlyArray<keyof Keys> | { readonly [K in keyof Keys]?: ReadonlyArray<Keys[K]> }
|
|
107
|
+
|
|
43
108
|
/**
|
|
44
109
|
* Registers handlers and reruns queries when their keys are invalidated.
|
|
45
110
|
*
|
|
@@ -96,12 +161,21 @@ export const Reactivity: Context.Service<Reactivity, Reactivity> = Context.Servi
|
|
|
96
161
|
export const make = Effect.sync(() => {
|
|
97
162
|
const handlers = new Map<number | string, Set<() => void>>()
|
|
98
163
|
|
|
164
|
+
const runHandlers = (hashes: Iterable<string | number>): void => {
|
|
165
|
+
const ran = new Set<() => void>()
|
|
166
|
+
for (const hash of hashes) {
|
|
167
|
+
handlers.get(hash)?.forEach((run) => {
|
|
168
|
+
if (ran.has(run)) return
|
|
169
|
+
ran.add(run)
|
|
170
|
+
run()
|
|
171
|
+
})
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
99
175
|
const invalidateUnsafe = (keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>): void => {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
set.forEach((run) => run())
|
|
104
|
-
})
|
|
176
|
+
const hashes = new Set<string | number>()
|
|
177
|
+
keysToHashes(keys, (hash) => hashes.add(hash))
|
|
178
|
+
runHandlers(hashes)
|
|
105
179
|
}
|
|
106
180
|
|
|
107
181
|
const invalidate = (
|
|
@@ -162,9 +236,15 @@ export const make = Effect.sync(() => {
|
|
|
162
236
|
|
|
163
237
|
let running = false
|
|
164
238
|
let pending = false
|
|
239
|
+
let stopped = false
|
|
165
240
|
const handleExit = (exit: Exit.Exit<A, E>) => {
|
|
166
241
|
if (exit._tag === "Failure") {
|
|
242
|
+
stopped = true
|
|
243
|
+
pending = false
|
|
244
|
+
running = false
|
|
245
|
+
cancel()
|
|
167
246
|
Queue.failCauseUnsafe(results, exit.cause)
|
|
247
|
+
return
|
|
168
248
|
} else {
|
|
169
249
|
Queue.offerUnsafe(results, exit.value)
|
|
170
250
|
}
|
|
@@ -177,6 +257,7 @@ export const make = Effect.sync(() => {
|
|
|
177
257
|
}
|
|
178
258
|
|
|
179
259
|
function run() {
|
|
260
|
+
if (stopped) return
|
|
180
261
|
if (running) {
|
|
181
262
|
pending = true
|
|
182
263
|
return
|
|
@@ -206,15 +287,7 @@ export const make = Effect.sync(() => {
|
|
|
206
287
|
const pending = new Set<string | number>()
|
|
207
288
|
return effect.pipe(
|
|
208
289
|
Effect.provideService(PendingInvalidation, pending),
|
|
209
|
-
Effect.onExit((_) =>
|
|
210
|
-
Effect.sync(() => {
|
|
211
|
-
pending.forEach((hash) => {
|
|
212
|
-
const set = handlers.get(hash)
|
|
213
|
-
if (set === undefined) return
|
|
214
|
-
set.forEach((run) => run())
|
|
215
|
-
})
|
|
216
|
-
})
|
|
217
|
-
)
|
|
290
|
+
Effect.onExit((_) => Effect.sync(() => runHandlers(pending)))
|
|
218
291
|
)
|
|
219
292
|
})
|
|
220
293
|
|
|
@@ -257,9 +330,7 @@ export const mutation: {
|
|
|
257
330
|
* @category accessors
|
|
258
331
|
* @since 4.0.0
|
|
259
332
|
*/
|
|
260
|
-
(
|
|
261
|
-
keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
262
|
-
): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R | Reactivity>
|
|
333
|
+
(keys: KeysInput): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R | Reactivity>
|
|
263
334
|
/**
|
|
264
335
|
* Wraps an effect so the supplied keys are invalidated after the effect succeeds.
|
|
265
336
|
*
|
|
@@ -271,13 +342,10 @@ export const mutation: {
|
|
|
271
342
|
* @category accessors
|
|
272
343
|
* @since 4.0.0
|
|
273
344
|
*/
|
|
274
|
-
<A, E, R>(
|
|
275
|
-
effect: Effect.Effect<A, E, R>,
|
|
276
|
-
keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
277
|
-
): Effect.Effect<A, E, R | Reactivity>
|
|
345
|
+
<A, E, R>(effect: Effect.Effect<A, E, R>, keys: KeysInput): Effect.Effect<A, E, R | Reactivity>
|
|
278
346
|
} = dual(2, <A, E, R>(
|
|
279
347
|
effect: Effect.Effect<A, E, R>,
|
|
280
|
-
keys:
|
|
348
|
+
keys: KeysInput
|
|
281
349
|
): Effect.Effect<A, E, R | Reactivity> => Reactivity.use((_) => _.mutation(keys, effect)))
|
|
282
350
|
|
|
283
351
|
/**
|
|
@@ -305,9 +373,7 @@ export const query: {
|
|
|
305
373
|
* @category accessors
|
|
306
374
|
* @since 4.0.0
|
|
307
375
|
*/
|
|
308
|
-
(
|
|
309
|
-
keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
310
|
-
): <A, E, R>(
|
|
376
|
+
(keys: KeysInput): <A, E, R>(
|
|
311
377
|
effect: Effect.Effect<A, E, R>
|
|
312
378
|
) => Effect.Effect<Queue.Dequeue<A, E>, never, R | Scope.Scope | Reactivity>
|
|
313
379
|
/**
|
|
@@ -322,13 +388,10 @@ export const query: {
|
|
|
322
388
|
* @category accessors
|
|
323
389
|
* @since 4.0.0
|
|
324
390
|
*/
|
|
325
|
-
<A, E, R>(
|
|
326
|
-
effect: Effect.Effect<A, E, R>,
|
|
327
|
-
keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
328
|
-
): Effect.Effect<Queue.Dequeue<A, E>, never, R | Scope.Scope | Reactivity>
|
|
391
|
+
<A, E, R>(effect: Effect.Effect<A, E, R>, keys: KeysInput): Effect.Effect<Queue.Dequeue<A, E>, never, R | Scope.Scope | Reactivity>
|
|
329
392
|
} = dual(2, <A, E, R>(
|
|
330
393
|
effect: Effect.Effect<A, E, R>,
|
|
331
|
-
keys:
|
|
394
|
+
keys: KeysInput
|
|
332
395
|
): Effect.Effect<Queue.Dequeue<A, E>, never, R | Scope.Scope | Reactivity> =>
|
|
333
396
|
Reactivity.use((r) => r.query(keys, effect)))
|
|
334
397
|
|
|
@@ -357,9 +420,7 @@ export const stream: {
|
|
|
357
420
|
* @category accessors
|
|
358
421
|
* @since 4.0.0
|
|
359
422
|
*/
|
|
360
|
-
(
|
|
361
|
-
keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
362
|
-
): <A, E, R>(effect: Effect.Effect<A, E, R>) => Stream.Stream<A, E, Exclude<R, Scope.Scope> | Reactivity>
|
|
423
|
+
(keys: KeysInput): <A, E, R>(effect: Effect.Effect<A, E, R>) => Stream.Stream<A, E, Exclude<R, Scope.Scope> | Reactivity>
|
|
363
424
|
/**
|
|
364
425
|
* Runs an effect as a stream of query results tied to the supplied invalidation
|
|
365
426
|
* keys.
|
|
@@ -372,13 +433,10 @@ export const stream: {
|
|
|
372
433
|
* @category accessors
|
|
373
434
|
* @since 4.0.0
|
|
374
435
|
*/
|
|
375
|
-
<A, E, R>(
|
|
376
|
-
effect: Effect.Effect<A, E, R>,
|
|
377
|
-
keys: ReadonlyArray<unknown> | ReadonlyRecord<string, ReadonlyArray<unknown>>
|
|
378
|
-
): Stream.Stream<A, E, Exclude<R, Scope.Scope> | Reactivity>
|
|
436
|
+
<A, E, R>(effect: Effect.Effect<A, E, R>, keys: KeysInput): Stream.Stream<A, E, Exclude<R, Scope.Scope> | Reactivity>
|
|
379
437
|
} = dual(2, <A, E, R>(
|
|
380
438
|
effect: Effect.Effect<A, E, R>,
|
|
381
|
-
keys:
|
|
439
|
+
keys: KeysInput
|
|
382
440
|
): Stream.Stream<A, E, Exclude<R, Scope.Scope> | Reactivity> =>
|
|
383
441
|
Reactivity.use((r) => r.query(keys, effect)).pipe(
|
|
384
442
|
Effect.map(Stream.fromQueue),
|
|
@@ -398,7 +456,7 @@ export const stream: {
|
|
|
398
456
|
* @since 4.0.0
|
|
399
457
|
*/
|
|
400
458
|
export const invalidate = (
|
|
401
|
-
keys:
|
|
459
|
+
keys: KeysInput
|
|
402
460
|
): Effect.Effect<void, never, Reactivity> => Reactivity.use((r) => r.invalidate(keys))
|
|
403
461
|
|
|
404
462
|
/**
|
package/src/rpc/Rpc.ts
CHANGED
|
@@ -23,6 +23,7 @@ import * as Predicate from "../Predicate.ts"
|
|
|
23
23
|
import * as PrimaryKey from "../PrimaryKey.ts"
|
|
24
24
|
import type * as Queue from "../Queue.ts"
|
|
25
25
|
import * as Schema from "../Schema.ts"
|
|
26
|
+
import * as SchemaAST from "../SchemaAST.ts"
|
|
26
27
|
import type { Stream } from "../Stream.ts"
|
|
27
28
|
import type * as Struct from "../Struct.ts"
|
|
28
29
|
import type { NoInfer } from "../Types.ts"
|
|
@@ -1194,6 +1195,26 @@ export const exitSchema = <R extends Any>(
|
|
|
1194
1195
|
return schema as any
|
|
1195
1196
|
}
|
|
1196
1197
|
|
|
1198
|
+
/**
|
|
1199
|
+
* Annotation that sets the schema parse options used by `RpcClient` and
|
|
1200
|
+
* `RpcServer` when encoding and decoding an RPC's payload, success values,
|
|
1201
|
+
* stream chunks, and exits.
|
|
1202
|
+
*
|
|
1203
|
+
* **Details**
|
|
1204
|
+
*
|
|
1205
|
+
* The default value is `SchemaAST.defaultParseOptions`. Set `concurrency` to
|
|
1206
|
+
* parse product elements concurrently, which lets decoding transformations that
|
|
1207
|
+
* call `Effect.request` share `RequestResolver` batches. Annotate a single RPC
|
|
1208
|
+
* with `annotate`, or every RPC in a group with `RpcGroup.annotateRpcs`.
|
|
1209
|
+
*
|
|
1210
|
+
* @stability unstable
|
|
1211
|
+
* @category annotations
|
|
1212
|
+
* @since 4.0.0
|
|
1213
|
+
*/
|
|
1214
|
+
export const ParseOptions = Context.Reference<SchemaAST.ParseOptions>("effect/rpc/Rpc/ParseOptions", {
|
|
1215
|
+
defaultValue: () => SchemaAST.defaultParseOptions
|
|
1216
|
+
})
|
|
1217
|
+
|
|
1197
1218
|
const WrapperTypeId = "~effect/rpc/Rpc/Wrapper"
|
|
1198
1219
|
|
|
1199
1220
|
/**
|