effect 4.0.0-beta.42 → 4.0.0-beta.44
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/dist/Cache.d.ts +12 -43
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +15 -42
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +21 -21
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +89 -10
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +42 -19
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +86 -46
- package/dist/Channel.js.map +1 -1
- package/dist/Clock.d.ts +2 -2
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js.map +1 -1
- package/dist/Config.d.ts +2 -2
- package/dist/ConfigProvider.d.ts +5 -5
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +5 -5
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +2 -2
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +1150 -0
- package/dist/Context.d.ts.map +1 -0
- package/dist/{ServiceMap.js → Context.js} +139 -139
- package/dist/Context.js.map +1 -0
- package/dist/DateTime.d.ts +2 -2
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +2 -2
- package/dist/DateTime.js.map +1 -1
- package/dist/Effect.d.ts +177 -177
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +81 -81
- package/dist/Effect.js.map +1 -1
- package/dist/ErrorReporter.d.ts +3 -3
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +1 -1
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +6 -6
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +4 -4
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Fiber.d.ts +7 -7
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +2 -2
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +4 -4
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +2 -2
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +4 -4
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +2 -2
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +4 -4
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +3 -3
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +3 -3
- package/dist/FileSystem.js.map +1 -1
- package/dist/Layer.d.ts +309 -266
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +156 -132
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +18 -18
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +18 -15
- package/dist/LayerMap.js.map +1 -1
- package/dist/Logger.d.ts +3 -3
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +6 -6
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +18 -21
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Metric.d.ts +19 -19
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +21 -21
- package/dist/Metric.js.map +1 -1
- package/dist/Path.d.ts +2 -2
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +2 -2
- package/dist/Path.js.map +1 -1
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +4 -4
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +3 -3
- package/dist/PubSub.js.map +1 -1
- package/dist/Random.d.ts +2 -2
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +0 -23
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +2 -2
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +12 -12
- package/dist/RcMap.js.map +1 -1
- package/dist/Redactable.d.ts +139 -62
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +59 -55
- package/dist/Redactable.js.map +1 -1
- package/dist/References.d.ts +26 -14
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +0 -12
- package/dist/References.js.map +1 -1
- package/dist/Request.d.ts +5 -5
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +6 -7
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.d.ts +0 -3
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +3 -3
- package/dist/Resource.js.map +1 -1
- package/dist/Schedule.d.ts +2 -2
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +2 -2
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +4 -4
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +7 -4
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +531 -214
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +304 -103
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +5 -15
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +49 -5
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +64 -5
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +145 -0
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +146 -0
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +2 -2
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +4 -4
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Sink.d.ts +6 -6
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +1 -1
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +2 -2
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +2 -2
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +187 -117
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +133 -57
- package/dist/Stream.js.map +1 -1
- package/dist/Terminal.d.ts +3 -3
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +2 -2
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +16 -16
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +11 -8
- package/dist/Tracer.js.map +1 -1
- package/dist/Unify.d.ts +8 -2
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js.map +1 -1
- package/dist/index.d.ts +81 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +81 -15
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/effect.js +74 -74
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/layer.js +3 -3
- package/dist/internal/layer.js.map +1 -1
- package/dist/internal/random.js +2 -2
- package/dist/internal/random.js.map +1 -1
- package/dist/internal/rcRef.js +9 -9
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/references.js +13 -13
- package/dist/internal/references.js.map +1 -1
- package/dist/internal/request.js +6 -6
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schedule.js +1 -1
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/representation.js +11 -1
- package/dist/internal/schema/representation.js.map +1 -1
- package/dist/internal/schema/schema.d.ts +10 -1
- package/dist/internal/schema/schema.d.ts.map +1 -1
- package/dist/internal/schema/schema.js +21 -1
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +3 -3
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +19 -19
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +2 -1
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +5 -2
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +4 -4
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +3 -3
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +6 -6
- package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.js +3 -3
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
- package/dist/unstable/ai/IdGenerator.d.ts +2 -2
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +2 -2
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +2 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +2 -2
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +54 -54
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +15 -8
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +22 -22
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +25 -25
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +3 -3
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +5 -5
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +2 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +6 -9
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +1 -1
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +6 -7
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.d.ts +2 -2
- package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.js +2 -2
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
- package/dist/unstable/ai/Telemetry.d.ts +35 -2
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +2 -2
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts +2 -2
- package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +2 -2
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +16 -16
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +41 -13
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +3 -3
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +10 -10
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js +5 -2
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/cli/Argument.d.ts +2 -3
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +29 -8
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +8 -1
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts +2 -2
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +2 -2
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +14 -14
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +11 -10
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Flag.d.ts +2 -3
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +2 -2
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/unstable/cli/GlobalFlag.js +2 -2
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/HelpDoc.d.ts +8 -8
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +30 -2
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +17 -7
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Prompt.js +8 -2
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +5 -5
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +3 -3
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/parser.js +94 -15
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterError.d.ts +7 -7
- package/dist/unstable/cluster/ClusterSchema.d.ts +12 -9
- package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.js +9 -9
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +1 -0
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +68 -40
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +10 -10
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +25 -20
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.d.ts +2 -2
- package/dist/unstable/cluster/EntityProxy.js +3 -3
- package/dist/unstable/cluster/EntityProxy.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js +4 -4
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityResource.js +2 -2
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +3 -3
- package/dist/unstable/cluster/HttpRunner.js +2 -2
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +4 -4
- package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +2 -2
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +7 -4
- package/dist/unstable/cluster/Message.d.ts.map +1 -1
- package/dist/unstable/cluster/Message.js +5 -5
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +14 -14
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +8 -8
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +2 -2
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +5 -5
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts +2 -2
- package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +2 -2
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +1 -1
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.d.ts +12 -12
- package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.js +3 -3
- package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +3 -3
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +7 -7
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.d.ts +35 -49
- package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardId.js +65 -67
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +21 -21
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +2 -2
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +5 -5
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SingletonAddress.d.ts +2 -2
- package/dist/unstable/cluster/Snowflake.d.ts +2 -2
- package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
- package/dist/unstable/cluster/Snowflake.js +2 -2
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +15 -14
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +2 -2
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceMap.js +3 -3
- package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.d.ts +2 -2
- package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +5 -5
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +4 -4
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +2 -2
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +5 -5
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +18 -18
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +2 -2
- package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +2 -2
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -12
- package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js +2 -2
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.d.ts +3 -3
- package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.js +2 -2
- package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +2 -2
- package/dist/unstable/http/Etag.d.ts.map +1 -1
- package/dist/unstable/http/Etag.js +2 -2
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.d.ts +6 -3
- package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js +5 -5
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +5 -2
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +3 -3
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +8 -6
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +6 -6
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +2 -2
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +4 -4
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +6 -6
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +24 -24
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts +2 -2
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js +2 -2
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +3 -3
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +26 -14
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +2 -2
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +2 -2
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +7 -7
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +29 -29
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +2 -2
- package/dist/unstable/http/HttpServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpServer.js +2 -2
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +3 -3
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +3 -3
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +6 -6
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +2 -2
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +6 -6
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +6 -6
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +7 -7
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.d.ts +9 -9
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +8 -8
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +0 -3
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +20 -20
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +7 -7
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +4 -4
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +8 -8
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js +4 -4
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +6 -6
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +5 -5
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts +9 -6
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js +6 -6
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts +15 -15
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +23 -23
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +5 -5
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js +1 -1
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.d.ts +2 -2
- package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.js +2 -2
- package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts +3 -3
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +4 -33
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +23 -2
- package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +144 -2
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +1 -2
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +10 -11
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +4 -4
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +3 -3
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +4 -4
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +3 -3
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +6 -6
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +3 -3
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +3 -3
- package/dist/unstable/persistence/Redis.d.ts.map +1 -1
- package/dist/unstable/persistence/Redis.js +2 -2
- package/dist/unstable/persistence/Redis.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -2
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +2 -2
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +36 -36
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +9 -9
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +3 -3
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +2 -2
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +2 -2
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +3 -3
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +3 -3
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +2 -2
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.d.ts +2 -2
- package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js +6 -6
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +11 -11
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +4 -4
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +18 -8
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +27 -18
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.d.ts +2 -2
- package/dist/unstable/rpc/RpcGroup.d.ts +7 -7
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcGroup.js +20 -20
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +6 -6
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js +5 -5
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +3 -3
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +3 -3
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +2 -2
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +7 -7
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +2 -2
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +18 -18
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/RpcWorker.d.ts +2 -2
- package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcWorker.js +4 -4
- package/dist/unstable/rpc/RpcWorker.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts +0 -3
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +2 -5
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +10 -10
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +9 -9
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +5 -2
- package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
- package/dist/unstable/socket/SocketServer.js +2 -2
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +5 -5
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +7 -7
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.d.ts +2 -2
- package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
- package/dist/unstable/sql/SqlConnection.js +5 -2
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +12 -12
- package/dist/unstable/sql/SqlModel.d.ts +8 -9
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +9 -35
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.js +11 -11
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +2 -2
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +2 -2
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts +2 -2
- package/dist/unstable/workers/Transferable.d.ts.map +1 -1
- package/dist/unstable/workers/Transferable.js +6 -6
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +3 -3
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +6 -3
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workers/WorkerError.d.ts +5 -5
- package/dist/unstable/workers/WorkerRunner.d.ts +2 -2
- package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
- package/dist/unstable/workers/WorkerRunner.js +5 -2
- package/dist/unstable/workers/WorkerRunner.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +7 -7
- package/dist/unstable/workflow/Activity.d.ts.map +1 -1
- package/dist/unstable/workflow/Activity.js +7 -7
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +0 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +3 -3
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +7 -7
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +9 -9
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +18 -18
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +9 -3
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +14 -5
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js +4 -4
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/package.json +1 -1
- package/src/Cache.ts +18 -46
- package/src/Cause.ts +21 -21
- package/src/Channel.ts +120 -79
- package/src/Clock.ts +2 -2
- package/src/Config.ts +2 -2
- package/src/ConfigProvider.ts +5 -5
- package/src/Console.ts +2 -2
- package/src/{ServiceMap.ts → Context.ts} +337 -340
- package/src/DateTime.ts +2 -2
- package/src/Effect.ts +182 -184
- package/src/ErrorReporter.ts +3 -3
- package/src/ExecutionPlan.ts +8 -9
- package/src/Fiber.ts +7 -7
- package/src/FiberHandle.ts +5 -5
- package/src/FiberMap.ts +5 -5
- package/src/FiberSet.ts +5 -5
- package/src/FileSystem.ts +3 -3
- package/src/Layer.ts +358 -305
- package/src/LayerMap.ts +27 -26
- package/src/Logger.ts +3 -3
- package/src/ManagedRuntime.ts +32 -32
- package/src/Metric.ts +58 -58
- package/src/Path.ts +2 -2
- package/src/Pool.ts +5 -5
- package/src/PubSub.ts +3 -3
- package/src/Random.ts +2 -2
- package/src/RcMap.ts +14 -14
- package/src/Redactable.ts +146 -72
- package/src/References.ts +14 -14
- package/src/Request.ts +5 -5
- package/src/RequestResolver.ts +6 -7
- package/src/Resource.ts +4 -4
- package/src/Schedule.ts +2 -2
- package/src/Scheduler.ts +4 -4
- package/src/Schema.ts +837 -397
- package/src/SchemaAST.ts +5 -14
- package/src/SchemaGetter.ts +69 -11
- package/src/SchemaTransformation.ts +166 -0
- package/src/Scope.ts +2 -2
- package/src/ScopedCache.ts +5 -5
- package/src/Sink.ts +9 -9
- package/src/Stdio.ts +2 -2
- package/src/Stream.ts +234 -158
- package/src/Terminal.ts +3 -3
- package/src/Tracer.ts +17 -17
- package/src/Unify.ts +26 -2
- package/src/index.ts +82 -16
- package/src/internal/core.ts +7 -7
- package/src/internal/effect.ts +106 -106
- package/src/internal/layer.ts +7 -7
- package/src/internal/random.ts +2 -2
- package/src/internal/rcRef.ts +10 -10
- package/src/internal/references.ts +13 -13
- package/src/internal/request.ts +8 -8
- package/src/internal/schedule.ts +3 -1
- package/src/internal/schema/representation.ts +8 -1
- package/src/internal/schema/schema.ts +24 -1
- package/src/testing/TestSchema.ts +3 -3
- package/src/unstable/ai/AiError.ts +3 -2
- package/src/unstable/ai/AnthropicStructuredOutput.ts +3 -3
- package/src/unstable/ai/Chat.ts +3 -3
- package/src/unstable/ai/EmbeddingModel.ts +3 -3
- package/src/unstable/ai/IdGenerator.ts +2 -2
- package/src/unstable/ai/LanguageModel.ts +2 -2
- package/src/unstable/ai/McpSchema.ts +11 -9
- package/src/unstable/ai/McpServer.ts +44 -44
- package/src/unstable/ai/Model.ts +8 -8
- package/src/unstable/ai/OpenAiStructuredOutput.ts +2 -2
- package/src/unstable/ai/Prompt.ts +6 -12
- package/src/unstable/ai/Response.ts +6 -8
- package/src/unstable/ai/ResponseIdTracker.ts +2 -4
- package/src/unstable/ai/Telemetry.ts +2 -2
- package/src/unstable/ai/Tokenizer.ts +2 -2
- package/src/unstable/ai/Tool.ts +25 -25
- package/src/unstable/ai/Toolkit.ts +12 -12
- package/src/unstable/ai/internal/codec-transformer.ts +3 -2
- package/src/unstable/cli/Argument.ts +3 -4
- package/src/unstable/cli/CliError.ts +22 -9
- package/src/unstable/cli/CliOutput.ts +2 -2
- package/src/unstable/cli/Command.ts +36 -30
- package/src/unstable/cli/Flag.ts +3 -4
- package/src/unstable/cli/GlobalFlag.ts +3 -3
- package/src/unstable/cli/HelpDoc.ts +8 -8
- package/src/unstable/cli/Param.ts +39 -16
- package/src/unstable/cli/Prompt.ts +13 -6
- package/src/unstable/cli/internal/command.ts +7 -7
- package/src/unstable/cli/internal/parser.ts +130 -21
- package/src/unstable/cluster/ClusterSchema.ts +12 -12
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +91 -53
- package/src/unstable/cluster/Entity.ts +43 -32
- package/src/unstable/cluster/EntityProxy.ts +3 -3
- package/src/unstable/cluster/EntityProxyServer.ts +4 -4
- package/src/unstable/cluster/EntityResource.ts +2 -2
- package/src/unstable/cluster/HttpRunner.ts +2 -2
- package/src/unstable/cluster/K8sHttpClient.ts +2 -2
- package/src/unstable/cluster/Message.ts +8 -8
- package/src/unstable/cluster/MessageStorage.ts +11 -11
- package/src/unstable/cluster/Reply.ts +7 -7
- package/src/unstable/cluster/RunnerHealth.ts +2 -2
- package/src/unstable/cluster/RunnerServer.ts +1 -1
- package/src/unstable/cluster/RunnerStorage.ts +9 -9
- package/src/unstable/cluster/Runners.ts +7 -7
- package/src/unstable/cluster/ShardId.ts +84 -74
- package/src/unstable/cluster/Sharding.ts +26 -26
- package/src/unstable/cluster/ShardingConfig.ts +5 -5
- package/src/unstable/cluster/Snowflake.ts +2 -2
- package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +27 -23
- package/src/unstable/cluster/internal/entityReaper.ts +2 -2
- package/src/unstable/cluster/internal/resourceMap.ts +3 -3
- package/src/unstable/devtools/DevToolsClient.ts +5 -5
- package/src/unstable/eventlog/EventJournal.ts +2 -2
- package/src/unstable/eventlog/EventLog.ts +21 -21
- package/src/unstable/eventlog/EventLogEncryption.ts +2 -2
- package/src/unstable/eventlog/EventLogRemote.ts +2 -2
- package/src/unstable/eventlog/EventLogServer.ts +2 -2
- package/src/unstable/http/Etag.ts +2 -2
- package/src/unstable/http/FetchHttpClient.ts +5 -5
- package/src/unstable/http/Headers.ts +4 -4
- package/src/unstable/http/HttpClient.ts +9 -8
- package/src/unstable/http/HttpClientRequest.ts +5 -5
- package/src/unstable/http/HttpEffect.ts +35 -35
- package/src/unstable/http/HttpIncomingMessage.ts +2 -2
- package/src/unstable/http/HttpMiddleware.ts +28 -14
- package/src/unstable/http/HttpPlatform.ts +2 -2
- package/src/unstable/http/HttpRouter.ts +37 -37
- package/src/unstable/http/HttpServer.ts +2 -2
- package/src/unstable/http/HttpServerError.ts +4 -4
- package/src/unstable/http/HttpServerRequest.ts +7 -7
- package/src/unstable/http/HttpServerResponse.ts +8 -8
- package/src/unstable/http/Multipart.ts +8 -8
- package/src/unstable/httpapi/HttpApi.ts +18 -18
- package/src/unstable/httpapi/HttpApiBuilder.ts +20 -20
- package/src/unstable/httpapi/HttpApiClient.ts +4 -4
- package/src/unstable/httpapi/HttpApiEndpoint.ts +14 -14
- package/src/unstable/httpapi/HttpApiGroup.ts +16 -16
- package/src/unstable/httpapi/HttpApiMiddleware.ts +14 -14
- package/src/unstable/httpapi/HttpApiSecurity.ts +13 -13
- package/src/unstable/httpapi/OpenApi.ts +29 -31
- package/src/unstable/observability/OtlpExporter.ts +5 -5
- package/src/unstable/observability/OtlpMetrics.ts +1 -1
- package/src/unstable/observability/OtlpSerialization.ts +2 -2
- package/src/unstable/observability/OtlpTracer.ts +2 -2
- package/src/unstable/observability/PrometheusMetrics.ts +5 -5
- package/src/unstable/persistence/KeyValueStore.ts +226 -3
- package/src/unstable/persistence/PersistedCache.ts +20 -17
- package/src/unstable/persistence/PersistedQueue.ts +3 -3
- package/src/unstable/persistence/Persistence.ts +4 -4
- package/src/unstable/persistence/RateLimiter.ts +3 -3
- package/src/unstable/persistence/Redis.ts +2 -2
- package/src/unstable/process/ChildProcessSpawner.ts +46 -2
- package/src/unstable/reactivity/Atom.ts +79 -79
- package/src/unstable/reactivity/AtomHttpApi.ts +4 -4
- package/src/unstable/reactivity/AtomRegistry.ts +4 -4
- package/src/unstable/reactivity/AtomRpc.ts +4 -4
- package/src/unstable/reactivity/Reactivity.ts +6 -6
- package/src/unstable/rpc/Rpc.ts +17 -17
- package/src/unstable/rpc/RpcClient.ts +44 -30
- package/src/unstable/rpc/RpcGroup.ts +30 -30
- package/src/unstable/rpc/RpcMiddleware.ts +14 -14
- package/src/unstable/rpc/RpcSchema.ts +4 -4
- package/src/unstable/rpc/RpcSerialization.ts +7 -7
- package/src/unstable/rpc/RpcServer.ts +19 -19
- package/src/unstable/rpc/RpcWorker.ts +5 -5
- package/src/unstable/rpc/Utils.ts +4 -4
- package/src/unstable/socket/Socket.ts +9 -9
- package/src/unstable/socket/SocketServer.ts +2 -2
- package/src/unstable/sql/SqlClient.ts +11 -11
- package/src/unstable/sql/SqlConnection.ts +2 -2
- package/src/unstable/sql/SqlModel.ts +54 -82
- package/src/unstable/sql/SqlResolver.ts +11 -11
- package/src/unstable/sql/Statement.ts +2 -2
- package/src/unstable/workers/Transferable.ts +6 -6
- package/src/unstable/workers/Worker.ts +4 -4
- package/src/unstable/workers/WorkerRunner.ts +2 -2
- package/src/unstable/workflow/Activity.ts +14 -14
- package/src/unstable/workflow/DurableClock.ts +3 -3
- package/src/unstable/workflow/DurableDeferred.ts +8 -8
- package/src/unstable/workflow/Workflow.ts +23 -23
- package/src/unstable/workflow/WorkflowEngine.ts +28 -6
- package/src/unstable/workflow/WorkflowProxyServer.ts +4 -4
- package/dist/ServiceMap.d.ts +0 -1150
- package/dist/ServiceMap.d.ts.map +0 -1
- package/dist/ServiceMap.js.map +0 -1
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Arr from "../../Array.ts"
|
|
5
5
|
import type * as Cause from "../../Cause.ts"
|
|
6
|
+
import * as Context from "../../Context.ts"
|
|
6
7
|
import * as Data from "../../Data.ts"
|
|
7
8
|
import type * as Duration from "../../Duration.ts"
|
|
8
9
|
import * as Effect from "../../Effect.ts"
|
|
@@ -17,12 +18,12 @@ import * as Predicate from "../../Predicate.ts"
|
|
|
17
18
|
import * as Queue from "../../Queue.ts"
|
|
18
19
|
import type * as Schedule from "../../Schedule.ts"
|
|
19
20
|
import { Scope } from "../../Scope.ts"
|
|
20
|
-
import * as
|
|
21
|
-
import type * as Stream from "../../Stream.ts"
|
|
21
|
+
import * as Stream from "../../Stream.ts"
|
|
22
22
|
import * as Headers from "../http/Headers.ts"
|
|
23
23
|
import * as Rpc from "../rpc/Rpc.ts"
|
|
24
24
|
import * as RpcClient from "../rpc/RpcClient.ts"
|
|
25
25
|
import * as RpcGroup from "../rpc/RpcGroup.ts"
|
|
26
|
+
import * as RpcSchema from "../rpc/RpcSchema.ts"
|
|
26
27
|
import * as RpcServer from "../rpc/RpcServer.ts"
|
|
27
28
|
import type { AlreadyProcessingMessage, MailboxFull, PersistenceError } from "./ClusterError.ts"
|
|
28
29
|
import { Persisted, ShardGroup, Uninterruptible } from "./ClusterSchema.ts"
|
|
@@ -75,22 +76,22 @@ export interface Entity<
|
|
|
75
76
|
/**
|
|
76
77
|
* Annotate the entity with a value.
|
|
77
78
|
*/
|
|
78
|
-
annotate<I, S>(key:
|
|
79
|
+
annotate<I, S>(key: Context.Key<I, S>, value: S): Entity<Type, Rpcs>
|
|
79
80
|
|
|
80
81
|
/**
|
|
81
82
|
* Annotate the Rpc's above this point with a value.
|
|
82
83
|
*/
|
|
83
|
-
annotateRpcs<I, S>(key:
|
|
84
|
+
annotateRpcs<I, S>(key: Context.Key<I, S>, value: S): Entity<Type, Rpcs>
|
|
84
85
|
|
|
85
86
|
/**
|
|
86
87
|
* Annotate the entity with the given annotations.
|
|
87
88
|
*/
|
|
88
|
-
annotateMerge<S>(annotation:
|
|
89
|
+
annotateMerge<S>(annotation: Context.Context<S>): Entity<Type, Rpcs>
|
|
89
90
|
|
|
90
91
|
/**
|
|
91
92
|
* Annotate the Rpc's above this point with a context object.
|
|
92
93
|
*/
|
|
93
|
-
annotateRpcsMerge<S>(context:
|
|
94
|
+
annotateRpcsMerge<S>(context: Context.Context<S>): Entity<Type, Rpcs>
|
|
94
95
|
|
|
95
96
|
/**
|
|
96
97
|
* Create a client for this entity.
|
|
@@ -207,16 +208,16 @@ const Proto = {
|
|
|
207
208
|
[Equal.symbol](this: Entity<string, any>, that: Equal.Equal): boolean {
|
|
208
209
|
return isEntity(that) && this.type === that.type
|
|
209
210
|
},
|
|
210
|
-
annotate<I, S>(this: Entity<string, any>, key:
|
|
211
|
+
annotate<I, S>(this: Entity<string, any>, key: Context.Key<I, S>, value: S) {
|
|
211
212
|
return fromRpcGroup(this.type, this.protocol.annotate(key, value))
|
|
212
213
|
},
|
|
213
|
-
annotateRpcs<I, S>(this: Entity<string, any>, key:
|
|
214
|
+
annotateRpcs<I, S>(this: Entity<string, any>, key: Context.Key<I, S>, value: S) {
|
|
214
215
|
return fromRpcGroup(this.type, this.protocol.annotateRpcs(key, value))
|
|
215
216
|
},
|
|
216
|
-
annotateMerge<S>(this: Entity<string, any>, annotations:
|
|
217
|
+
annotateMerge<S>(this: Entity<string, any>, annotations: Context.Context<S>) {
|
|
217
218
|
return fromRpcGroup(this.type, this.protocol.annotateMerge(annotations))
|
|
218
219
|
},
|
|
219
|
-
annotateRpcsMerge<S>(this: Entity<string, any>, annotations:
|
|
220
|
+
annotateRpcsMerge<S>(this: Entity<string, any>, annotations: Context.Context<S>) {
|
|
220
221
|
return fromRpcGroup(this.type, this.protocol.annotateRpcsMerge(annotations))
|
|
221
222
|
},
|
|
222
223
|
getShardId(this: Entity<string, any>, entityId: EntityId) {
|
|
@@ -296,15 +297,25 @@ const Proto = {
|
|
|
296
297
|
const queue = yield* Queue.make<Envelope.Request<Rpcs>>()
|
|
297
298
|
|
|
298
299
|
// create the rpc handlers for the entity
|
|
299
|
-
const handler = (envelope: any) =>
|
|
300
|
-
|
|
300
|
+
const handler = (envelope: any) =>
|
|
301
|
+
Effect.callback<any, any>((resume) => {
|
|
301
302
|
Queue.offerUnsafe(queue, envelope)
|
|
302
303
|
resumes.set(envelope, resume)
|
|
303
304
|
})
|
|
304
|
-
|
|
305
|
+
const streamHandler = (envelope: any) =>
|
|
306
|
+
Effect.callback<any, any>((resume) => {
|
|
307
|
+
Queue.offerUnsafe(queue, envelope)
|
|
308
|
+
resumes.set(envelope, resume)
|
|
309
|
+
}).pipe(
|
|
310
|
+
Effect.map((streamOrQueue) =>
|
|
311
|
+
Stream.isStream(streamOrQueue) ? streamOrQueue : Stream.fromQueue(streamOrQueue)
|
|
312
|
+
),
|
|
313
|
+
Stream.unwrap
|
|
314
|
+
)
|
|
305
315
|
const handlers: Record<string, any> = {}
|
|
306
|
-
for (const
|
|
307
|
-
|
|
316
|
+
for (const rpc_ of this.protocol.requests.values()) {
|
|
317
|
+
const rpc = rpc_ as any as Rpc.AnyWithProps
|
|
318
|
+
handlers[rpc._tag] = RpcSchema.isStreamSchema(rpc.successSchema) ? streamHandler : handler
|
|
308
319
|
}
|
|
309
320
|
|
|
310
321
|
// make the Replier for the behaviour
|
|
@@ -366,9 +377,9 @@ export const fromRpcGroup = <const Type extends string, Rpcs extends Rpc.Any>(
|
|
|
366
377
|
protocol: RpcGroup.RpcGroup<Rpcs>
|
|
367
378
|
): Entity<Type, Rpcs> => {
|
|
368
379
|
const self = Object.create(Proto)
|
|
369
|
-
self.type = EntityType.
|
|
380
|
+
self.type = EntityType.make(type)
|
|
370
381
|
self.protocol = protocol
|
|
371
|
-
self.getShardGroup =
|
|
382
|
+
self.getShardGroup = Context.get(protocol.annotations, ShardGroup)
|
|
372
383
|
return self
|
|
373
384
|
}
|
|
374
385
|
|
|
@@ -397,7 +408,7 @@ export const make = <const Type extends string, Rpcs extends ReadonlyArray<Rpc.A
|
|
|
397
408
|
* @since 4.0.0
|
|
398
409
|
* @category context
|
|
399
410
|
*/
|
|
400
|
-
export class CurrentAddress extends
|
|
411
|
+
export class CurrentAddress extends Context.Service<
|
|
401
412
|
CurrentAddress,
|
|
402
413
|
EntityAddress
|
|
403
414
|
>()("effect/cluster/Entity/EntityAddress") {}
|
|
@@ -408,7 +419,7 @@ export class CurrentAddress extends ServiceMap.Service<
|
|
|
408
419
|
* @since 4.0.0
|
|
409
420
|
* @category context
|
|
410
421
|
*/
|
|
411
|
-
export class CurrentRunnerAddress extends
|
|
422
|
+
export class CurrentRunnerAddress extends Context.Service<
|
|
412
423
|
CurrentRunnerAddress,
|
|
413
424
|
RunnerAddress
|
|
414
425
|
>()("effect/cluster/Entity/RunnerAddress") {}
|
|
@@ -449,7 +460,7 @@ export declare namespace Replier {
|
|
|
449
460
|
* @category Replier
|
|
450
461
|
*/
|
|
451
462
|
export type Success<R extends Rpc.Any> = Rpc.Success<R> extends Stream.Stream<infer _A, infer _E, infer _R> ?
|
|
452
|
-
Stream.Stream<_A, _E | Rpc.Error<R>, _R> | Queue.Dequeue<_A, _E | Rpc.Error<R
|
|
463
|
+
Stream.Stream<_A, _E | Rpc.Error<R>, _R> | Queue.Dequeue<_A, _E | Rpc.Error<R> | Cause.Done>
|
|
453
464
|
: Rpc.Success<R>
|
|
454
465
|
}
|
|
455
466
|
|
|
@@ -480,7 +491,7 @@ export class Request<Rpc extends Rpc.Any> extends Data.Class<
|
|
|
480
491
|
}
|
|
481
492
|
}
|
|
482
493
|
|
|
483
|
-
const shardingTag =
|
|
494
|
+
const shardingTag = Context.Service<Sharding, Sharding["Service"]>("effect/cluster/Sharding")
|
|
484
495
|
|
|
485
496
|
/**
|
|
486
497
|
* @since 4.0.0
|
|
@@ -506,12 +517,12 @@ export const makeTestClient: <Type extends string, Rpcs extends Rpc.Any, LA, LE,
|
|
|
506
517
|
const snowflakeGen = yield* Snowflake.makeGenerator
|
|
507
518
|
const runnerAddress = new RunnerAddress({ host: "localhost", port: 3000 })
|
|
508
519
|
const entityMap = new Map<string, {
|
|
509
|
-
readonly
|
|
520
|
+
readonly context: Context.Context<
|
|
510
521
|
Rpc.ServicesClient<Rpcs> | Rpc.ServicesServer<Rpcs> | Rpc.Middleware<Rpcs> | LR
|
|
511
522
|
>
|
|
512
523
|
readonly concurrency: number | "unbounded"
|
|
513
524
|
readonly build: Effect.Effect<
|
|
514
|
-
|
|
525
|
+
Context.Context<Rpc.ToHandler<Rpcs>>,
|
|
515
526
|
never,
|
|
516
527
|
Scope | CurrentAddress
|
|
517
528
|
>
|
|
@@ -519,15 +530,15 @@ export const makeTestClient: <Type extends string, Rpcs extends Rpc.Any, LA, LE,
|
|
|
519
530
|
const sharding = shardingTag.of({
|
|
520
531
|
...({} as Sharding["Service"]),
|
|
521
532
|
registerEntity: (entity, handlers, options) =>
|
|
522
|
-
Effect.
|
|
533
|
+
Effect.contextWith((context) => {
|
|
523
534
|
entityMap.set(entity.type, {
|
|
524
|
-
|
|
535
|
+
context: context as any,
|
|
525
536
|
concurrency: options?.concurrency ?? 1,
|
|
526
537
|
build: entity.protocol.toHandlers(handlers as any).pipe(
|
|
527
|
-
Effect.
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
538
|
+
Effect.provideContext(Context.mutate(context, (context) =>
|
|
539
|
+
context.pipe(
|
|
540
|
+
Context.add(CurrentRunnerAddress, runnerAddress),
|
|
541
|
+
Context.omit(Scope)
|
|
531
542
|
)))
|
|
532
543
|
) as any
|
|
533
544
|
})
|
|
@@ -608,9 +619,9 @@ export const keepAlive: (
|
|
|
608
619
|
olatch.value.closeUnsafe()
|
|
609
620
|
yield* Effect.orDie(sharding.sendOutgoing(
|
|
610
621
|
new Message.OutgoingRequest({
|
|
611
|
-
annotations:
|
|
622
|
+
annotations: KeepAliveRpc.annotations,
|
|
612
623
|
rpc: KeepAliveRpc,
|
|
613
|
-
|
|
624
|
+
context: Context.empty() as any,
|
|
614
625
|
envelope: Envelope.makeRequest({
|
|
615
626
|
requestId,
|
|
616
627
|
address,
|
|
@@ -645,6 +656,6 @@ export const KeepAliveRpc = Rpc.make("Cluster/Entity/keepAlive")
|
|
|
645
656
|
* @since 4.0.0
|
|
646
657
|
* @category Keep alive
|
|
647
658
|
*/
|
|
648
|
-
export class KeepAliveLatch extends
|
|
659
|
+
export class KeepAliveLatch extends Context.Service<KeepAliveLatch, Latch.Latch>()(
|
|
649
660
|
"effect/cluster/Entity/KeepAliveLatch"
|
|
650
661
|
) {}
|
|
@@ -60,11 +60,11 @@ export const toRpcGroup = <Type extends string, Rpcs extends Rpc.Any>(
|
|
|
60
60
|
entityId: Schema.String,
|
|
61
61
|
payload: parentRpc.payloadSchema
|
|
62
62
|
})
|
|
63
|
-
const oldMake = payloadSchema.
|
|
64
|
-
payloadSchema.
|
|
63
|
+
const oldMake = payloadSchema.make
|
|
64
|
+
payloadSchema.make = (input: any, options?: Schema.MakeOptions) => {
|
|
65
65
|
return oldMake({
|
|
66
66
|
entityId: input.entityId,
|
|
67
|
-
payload: parentRpc.payloadSchema.
|
|
67
|
+
payload: parentRpc.payloadSchema.make(input.payload, options)
|
|
68
68
|
}, options)
|
|
69
69
|
}
|
|
70
70
|
const rpc = Rpc.make(`${entity.type}.${parentRpc._tag}`, {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
|
+
import * as Context from "../../Context.ts"
|
|
4
5
|
import * as Effect from "../../Effect.ts"
|
|
5
6
|
import * as Layer from "../../Layer.ts"
|
|
6
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
7
7
|
import type * as HttpApi from "../httpapi/HttpApi.ts"
|
|
8
8
|
import * as HttpApiBuilder from "../httpapi/HttpApiBuilder.ts"
|
|
9
9
|
import type * as HttpApiGroup from "../httpapi/HttpApiGroup.ts"
|
|
@@ -81,8 +81,8 @@ export const layerRpcHandlers = <
|
|
|
81
81
|
>(
|
|
82
82
|
entity: Entity.Entity<Type, Rpcs>
|
|
83
83
|
): Layer.Layer<RpcHandlers<Rpcs, Type>, never, Sharding | Rpc.ServicesServer<Rpcs>> =>
|
|
84
|
-
Layer.
|
|
85
|
-
const services = yield* Effect.
|
|
84
|
+
Layer.effectContext(Effect.gen(function*() {
|
|
85
|
+
const services = yield* Effect.context<never>()
|
|
86
86
|
const client = yield* entity.client
|
|
87
87
|
const handlers = new Map<string, Rpc.Handler<string>>()
|
|
88
88
|
for (const parentRpc_ of entity.protocol.requests.values()) {
|
|
@@ -101,7 +101,7 @@ export const layerRpcHandlers = <
|
|
|
101
101
|
(client(entityId) as any)[parentRpc._tag](payload, { discard: true }) as any
|
|
102
102
|
} as any)
|
|
103
103
|
}
|
|
104
|
-
return
|
|
104
|
+
return Context.makeUnsafe(handlers)
|
|
105
105
|
}))
|
|
106
106
|
|
|
107
107
|
/**
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
import type * as v1 from "kubernetes-types/core/v1.d.ts"
|
|
5
|
+
import * as Context from "../../Context.ts"
|
|
5
6
|
import * as Duration from "../../Duration.ts"
|
|
6
7
|
import * as Effect from "../../Effect.ts"
|
|
7
8
|
import { identity } from "../../Function.ts"
|
|
8
9
|
import * as RcRef from "../../RcRef.ts"
|
|
9
10
|
import * as Scope from "../../Scope.ts"
|
|
10
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
11
11
|
import * as Entity from "./Entity.ts"
|
|
12
12
|
import * as K8sHttpClient from "./K8sHttpClient.ts"
|
|
13
13
|
import type { Sharding } from "./Sharding.ts"
|
|
@@ -42,7 +42,7 @@ export interface EntityResource<out A, out E = never> {
|
|
|
42
42
|
* @since 4.0.0
|
|
43
43
|
* @category Scope
|
|
44
44
|
*/
|
|
45
|
-
export class CloseScope extends
|
|
45
|
+
export class CloseScope extends Context.Service<
|
|
46
46
|
CloseScope,
|
|
47
47
|
Scope.Scope
|
|
48
48
|
>()("effect/cluster/EntityResource/CloseScope") {}
|
|
@@ -116,7 +116,7 @@ export const toHttpEffect: Effect.Effect<
|
|
|
116
116
|
return yield* RpcServer.toHttpEffect(Runners.Rpcs, {
|
|
117
117
|
spanPrefix: "RunnerServer",
|
|
118
118
|
disableTracing: true
|
|
119
|
-
}).pipe(Effect.
|
|
119
|
+
}).pipe(Effect.provideContext(handlers))
|
|
120
120
|
})
|
|
121
121
|
|
|
122
122
|
/**
|
|
@@ -132,7 +132,7 @@ export const toHttpEffectWebsocket: Effect.Effect<
|
|
|
132
132
|
return yield* RpcServer.toHttpEffectWebsocket(Runners.Rpcs, {
|
|
133
133
|
spanPrefix: "RunnerServer",
|
|
134
134
|
disableTracing: true
|
|
135
|
-
}).pipe(Effect.
|
|
135
|
+
}).pipe(Effect.provideContext(handlers))
|
|
136
136
|
})
|
|
137
137
|
|
|
138
138
|
/**
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
import type * as v1 from "kubernetes-types/core/v1.d.ts"
|
|
5
|
+
import * as Context from "../../Context.ts"
|
|
5
6
|
import * as Effect from "../../Effect.ts"
|
|
6
7
|
import * as FileSystem from "../../FileSystem.ts"
|
|
7
8
|
import { identity } from "../../Function.ts"
|
|
@@ -10,7 +11,6 @@ import * as Option from "../../Option.ts"
|
|
|
10
11
|
import * as Result from "../../Result.ts"
|
|
11
12
|
import * as Schedule from "../../Schedule.ts"
|
|
12
13
|
import * as Schema from "../../Schema.ts"
|
|
13
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
14
14
|
import * as HttpClient from "../http/HttpClient.ts"
|
|
15
15
|
import * as HttpClientError from "../http/HttpClientError.ts"
|
|
16
16
|
import * as HttpClientRequest from "../http/HttpClientRequest.ts"
|
|
@@ -20,7 +20,7 @@ import * as HttpClientResponse from "../http/HttpClientResponse.ts"
|
|
|
20
20
|
* @since 4.0.0
|
|
21
21
|
* @category Tags
|
|
22
22
|
*/
|
|
23
|
-
export class K8sHttpClient extends
|
|
23
|
+
export class K8sHttpClient extends Context.Service<
|
|
24
24
|
K8sHttpClient,
|
|
25
25
|
HttpClient.HttpClient
|
|
26
26
|
>()("effect/cluster/K8sHttpClient") {}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
|
+
import * as Context from "../../Context.ts"
|
|
4
5
|
import * as Data from "../../Data.ts"
|
|
5
6
|
import * as Effect from "../../Effect.ts"
|
|
6
7
|
import * as Option from "../../Option.ts"
|
|
7
8
|
import * as Schema from "../../Schema.ts"
|
|
8
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
9
9
|
import * as Rpc from "../rpc/Rpc.ts"
|
|
10
10
|
import type { PersistenceError } from "./ClusterError.ts"
|
|
11
11
|
import { MalformedMessage } from "./ClusterError.ts"
|
|
@@ -36,7 +36,7 @@ export const incomingLocalFromOutgoing = <R extends Rpc.Any>(self: Outgoing<R>):
|
|
|
36
36
|
return new IncomingEnvelope({ envelope: self.envelope })
|
|
37
37
|
}
|
|
38
38
|
return new IncomingRequestLocal({
|
|
39
|
-
annotations:
|
|
39
|
+
annotations: Context.get(self.rpc.annotations, ClusterSchema.Dynamic)(
|
|
40
40
|
self.rpc.annotations,
|
|
41
41
|
self.envelope as any
|
|
42
42
|
),
|
|
@@ -64,7 +64,7 @@ export class IncomingRequestLocal<R extends Rpc.Any> extends Data.TaggedClass("I
|
|
|
64
64
|
readonly envelope: Envelope.Request<R>
|
|
65
65
|
readonly lastSentReply: Option.Option<Reply.Reply<R>>
|
|
66
66
|
readonly respond: (reply: Reply.Reply<R>) => Effect.Effect<void, MalformedMessage | PersistenceError>
|
|
67
|
-
readonly annotations:
|
|
67
|
+
readonly annotations: Context.Context<never>
|
|
68
68
|
}> {}
|
|
69
69
|
|
|
70
70
|
/**
|
|
@@ -88,11 +88,11 @@ export type Outgoing<R extends Rpc.Any> = OutgoingRequest<R> | OutgoingEnvelope
|
|
|
88
88
|
*/
|
|
89
89
|
export class OutgoingRequest<R extends Rpc.Any> extends Data.TaggedClass("OutgoingRequest")<{
|
|
90
90
|
readonly envelope: Envelope.Request<R>
|
|
91
|
-
readonly
|
|
91
|
+
readonly context: Context.Context<Rpc.Services<R>>
|
|
92
92
|
readonly lastReceivedReply: Option.Option<Reply.Reply<R>>
|
|
93
93
|
readonly rpc: R
|
|
94
94
|
readonly respond: (reply: Reply.Reply<R>) => Effect.Effect<void>
|
|
95
|
-
readonly annotations:
|
|
95
|
+
readonly annotations: Context.Context<never>
|
|
96
96
|
}> {
|
|
97
97
|
/**
|
|
98
98
|
* @since 4.0.0
|
|
@@ -167,7 +167,7 @@ export const serializeRequest = <Rpc extends Rpc.Any>(
|
|
|
167
167
|
): Effect.Effect<Envelope.PartialRequest, MalformedMessage> => {
|
|
168
168
|
const rpc = self.rpc as any as Rpc.AnyWithProps
|
|
169
169
|
return Schema.encodeEffect(Schema.toCodecJson(rpc.payloadSchema))(self.envelope.payload).pipe(
|
|
170
|
-
Effect.
|
|
170
|
+
Effect.provideContext(self.context),
|
|
171
171
|
MalformedMessage.refail,
|
|
172
172
|
Effect.map((payload) => ({
|
|
173
173
|
...self.envelope,
|
|
@@ -196,7 +196,7 @@ export const deserializeLocal = <Rpc extends Rpc.Any>(
|
|
|
196
196
|
}
|
|
197
197
|
const rpc = self.rpc as any as Rpc.AnyWithProps
|
|
198
198
|
return Schema.decodeEffect(Schema.toCodecJson(rpc.payloadSchema))(encoded.payload).pipe(
|
|
199
|
-
Effect.
|
|
199
|
+
Effect.provideContext(self.context),
|
|
200
200
|
MalformedMessage.refail,
|
|
201
201
|
Effect.map((payload) => {
|
|
202
202
|
const envelope = Envelope.makeRequest({
|
|
@@ -207,7 +207,7 @@ export const deserializeLocal = <Rpc extends Rpc.Any>(
|
|
|
207
207
|
envelope,
|
|
208
208
|
lastSentReply: Option.none(),
|
|
209
209
|
respond: self.respond,
|
|
210
|
-
annotations:
|
|
210
|
+
annotations: Context.get(rpc.annotations, ClusterSchema.Dynamic)(
|
|
211
211
|
rpc.annotations,
|
|
212
212
|
envelope as any
|
|
213
213
|
)
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Arr from "../../Array.ts"
|
|
5
5
|
import { Clock } from "../../Clock.ts"
|
|
6
|
+
import * as Context from "../../Context.ts"
|
|
6
7
|
import * as Data from "../../Data.ts"
|
|
7
8
|
import * as Effect from "../../Effect.ts"
|
|
8
9
|
import * as Exit from "../../Exit.ts"
|
|
@@ -12,7 +13,6 @@ import * as Layer from "../../Layer.ts"
|
|
|
12
13
|
import * as Option from "../../Option.ts"
|
|
13
14
|
import type { Predicate } from "../../Predicate.ts"
|
|
14
15
|
import * as Schema from "../../Schema.ts"
|
|
15
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
16
16
|
import type * as Rpc from "../rpc/Rpc.ts"
|
|
17
17
|
import { EntityNotAssignedToRunner, MalformedMessage, type PersistenceError } from "./ClusterError.ts"
|
|
18
18
|
import * as DeliverAt from "./DeliverAt.ts"
|
|
@@ -20,7 +20,7 @@ import type { EntityAddress } from "./EntityAddress.ts"
|
|
|
20
20
|
import * as Envelope from "./Envelope.ts"
|
|
21
21
|
import * as Message from "./Message.ts"
|
|
22
22
|
import * as Reply from "./Reply.ts"
|
|
23
|
-
import
|
|
23
|
+
import * as ShardId from "./ShardId.ts"
|
|
24
24
|
import type { ShardingConfig } from "./ShardingConfig.ts"
|
|
25
25
|
import * as Snowflake from "./Snowflake.ts"
|
|
26
26
|
|
|
@@ -28,7 +28,7 @@ import * as Snowflake from "./Snowflake.ts"
|
|
|
28
28
|
* @since 4.0.0
|
|
29
29
|
* @category context
|
|
30
30
|
*/
|
|
31
|
-
export class MessageStorage extends
|
|
31
|
+
export class MessageStorage extends Context.Service<MessageStorage, {
|
|
32
32
|
/**
|
|
33
33
|
* Save the provided message and its associated metadata.
|
|
34
34
|
*/
|
|
@@ -98,7 +98,7 @@ export class MessageStorage extends ServiceMap.Service<MessageStorage, {
|
|
|
98
98
|
/**
|
|
99
99
|
* Unregister the reply handlers for the specified ShardId.
|
|
100
100
|
*/
|
|
101
|
-
readonly unregisterShardReplyHandlers: (shardId: ShardId) => Effect.Effect<void>
|
|
101
|
+
readonly unregisterShardReplyHandlers: (shardId: ShardId.ShardId) => Effect.Effect<void>
|
|
102
102
|
|
|
103
103
|
/**
|
|
104
104
|
* Retrieves the unprocessed messages for the specified shards.
|
|
@@ -111,7 +111,7 @@ export class MessageStorage extends ServiceMap.Service<MessageStorage, {
|
|
|
111
111
|
* - All Interrupt's for unprocessed requests
|
|
112
112
|
*/
|
|
113
113
|
readonly unprocessedMessages: (
|
|
114
|
-
shardIds: Iterable<ShardId>
|
|
114
|
+
shardIds: Iterable<ShardId.ShardId>
|
|
115
115
|
) => Effect.Effect<Array<Message.Incoming<any>>, PersistenceError>
|
|
116
116
|
|
|
117
117
|
/**
|
|
@@ -125,7 +125,7 @@ export class MessageStorage extends ServiceMap.Service<MessageStorage, {
|
|
|
125
125
|
* Reset the mailbox state for the provided shards.
|
|
126
126
|
*/
|
|
127
127
|
readonly resetShards: (
|
|
128
|
-
shardIds: Iterable<ShardId>
|
|
128
|
+
shardIds: Iterable<ShardId.ShardId>
|
|
129
129
|
) => Effect.Effect<void, PersistenceError>
|
|
130
130
|
|
|
131
131
|
/**
|
|
@@ -483,7 +483,7 @@ export const makeEncoded: (encoded: Encoded) => Effect.Effect<
|
|
|
483
483
|
const duplicate = result
|
|
484
484
|
const schema = Reply.Reply(message.rpc)
|
|
485
485
|
return Schema.decodeEffect(schema)(result.lastReceivedReply.value).pipe(
|
|
486
|
-
Effect.
|
|
486
|
+
Effect.provideContext(message.context),
|
|
487
487
|
MalformedMessage.refail,
|
|
488
488
|
Effect.map((reply) =>
|
|
489
489
|
SaveResult.Duplicate({
|
|
@@ -630,7 +630,7 @@ export const makeEncoded: (encoded: Encoded) => Effect.Effect<
|
|
|
630
630
|
if (!message) return Effect.void
|
|
631
631
|
const schema = Reply.Reply(message.rpc)
|
|
632
632
|
return Schema.decodeEffect(schema)(reply).pipe(
|
|
633
|
-
Effect.
|
|
633
|
+
Effect.provideContext(message.context)
|
|
634
634
|
) as Effect.Effect<Reply.Reply<any>, Schema.SchemaError>
|
|
635
635
|
}),
|
|
636
636
|
(error) => {
|
|
@@ -699,7 +699,7 @@ export type MemoryEntry = {
|
|
|
699
699
|
* @since 4.0.0
|
|
700
700
|
* @category Memory
|
|
701
701
|
*/
|
|
702
|
-
export const MemoryTransaction =
|
|
702
|
+
export const MemoryTransaction = Context.Reference<boolean>("effect/cluster/MessageStorage/MemoryTransaction", {
|
|
703
703
|
defaultValue: constFalse
|
|
704
704
|
})
|
|
705
705
|
|
|
@@ -707,7 +707,7 @@ export const MemoryTransaction = ServiceMap.Reference<boolean>("effect/cluster/M
|
|
|
707
707
|
* @since 4.0.0
|
|
708
708
|
* @category Memory
|
|
709
709
|
*/
|
|
710
|
-
export class MemoryDriver extends
|
|
710
|
+
export class MemoryDriver extends Context.Service<MemoryDriver>()("effect/cluster/MessageStorage/MemoryDriver", {
|
|
711
711
|
make: Effect.gen(function*() {
|
|
712
712
|
const clock = yield* Clock
|
|
713
713
|
const requests = new Map<string, MemoryEntry>()
|
|
@@ -843,7 +843,7 @@ export class MemoryDriver extends ServiceMap.Service<MemoryDriver>()("effect/clu
|
|
|
843
843
|
}>()
|
|
844
844
|
for (let index = 0; index < journal.length; index++) {
|
|
845
845
|
const envelope = journal[index]
|
|
846
|
-
const shardId = ShardId.
|
|
846
|
+
const shardId = ShardId.make(envelope.address.shardId.group, envelope.address.shardId.id)
|
|
847
847
|
if (!unprocessed.has(envelope as any) || !shardIds.includes(shardId.toString())) {
|
|
848
848
|
continue
|
|
849
849
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
import type { NonEmptyReadonlyArray } from "../../Array.ts"
|
|
5
|
+
import * as Context from "../../Context.ts"
|
|
5
6
|
import * as Data from "../../Data.ts"
|
|
6
7
|
import * as Effect from "../../Effect.ts"
|
|
7
8
|
import * as Exit from "../../Exit.ts"
|
|
@@ -11,7 +12,6 @@ import * as Schema from "../../Schema.ts"
|
|
|
11
12
|
import * as Issue from "../../SchemaIssue.ts"
|
|
12
13
|
import * as Parser from "../../SchemaParser.ts"
|
|
13
14
|
import * as Transformation from "../../SchemaTransformation.ts"
|
|
14
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
15
15
|
import * as Rpc from "../rpc/Rpc.ts"
|
|
16
16
|
import type * as RpcMessage from "../rpc/RpcMessage.ts"
|
|
17
17
|
import type * as RpcSchema from "../rpc/RpcSchema.ts"
|
|
@@ -51,7 +51,7 @@ export const Encoded: Schema.Codec<Encoded> = Schema.Any as any
|
|
|
51
51
|
*/
|
|
52
52
|
export class ReplyWithContext<R extends Rpc.Any> extends Data.TaggedClass("ReplyWithContext")<{
|
|
53
53
|
readonly reply: Reply<R>
|
|
54
|
-
readonly
|
|
54
|
+
readonly context: Context.Context<Rpc.Services<R>>
|
|
55
55
|
readonly rpc: R
|
|
56
56
|
}> {
|
|
57
57
|
/**
|
|
@@ -68,7 +68,7 @@ export class ReplyWithContext<R extends Rpc.Any> extends Data.TaggedClass("Reply
|
|
|
68
68
|
id: options.id,
|
|
69
69
|
exit: Exit.die(Schema.encodeSync(Schema.Defect)(options.defect))
|
|
70
70
|
}),
|
|
71
|
-
|
|
71
|
+
context: Context.empty() as any,
|
|
72
72
|
rpc: neverRpc
|
|
73
73
|
})
|
|
74
74
|
}
|
|
@@ -85,7 +85,7 @@ export class ReplyWithContext<R extends Rpc.Any> extends Data.TaggedClass("Reply
|
|
|
85
85
|
id: options.id,
|
|
86
86
|
exit: Exit.interrupt()
|
|
87
87
|
}),
|
|
88
|
-
|
|
88
|
+
context: Context.empty() as any,
|
|
89
89
|
rpc: neverRpc
|
|
90
90
|
})
|
|
91
91
|
}
|
|
@@ -339,9 +339,9 @@ export const serialize = <R extends Rpc.Any>(
|
|
|
339
339
|
): Effect.Effect<Encoded, MalformedMessage> => {
|
|
340
340
|
const schema = Reply(self.rpc)
|
|
341
341
|
return MalformedMessage.refail(
|
|
342
|
-
Effect.
|
|
342
|
+
Effect.provideContext(
|
|
343
343
|
Schema.encodeEffect(schema)(self.reply),
|
|
344
|
-
self.
|
|
344
|
+
self.context
|
|
345
345
|
)
|
|
346
346
|
)
|
|
347
347
|
}
|
|
@@ -359,7 +359,7 @@ export const serializeLastReceived = <R extends Rpc.Any>(
|
|
|
359
359
|
}
|
|
360
360
|
const schema = Reply(self.rpc)
|
|
361
361
|
return MalformedMessage.refail(
|
|
362
|
-
Effect.
|
|
362
|
+
Effect.provideContext(Schema.encodeEffect(schema)(lastReceivedReply.value), self.context)
|
|
363
363
|
).pipe(
|
|
364
364
|
Effect.map(Option.some)
|
|
365
365
|
)
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
|
+
import * as Context from "../../Context.ts"
|
|
4
5
|
import * as Effect from "../../Effect.ts"
|
|
5
6
|
import * as Layer from "../../Layer.ts"
|
|
6
7
|
import * as Schedule from "../../Schedule.ts"
|
|
7
8
|
import type * as Scope from "../../Scope.ts"
|
|
8
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
9
9
|
import * as K8s from "./K8sHttpClient.ts"
|
|
10
10
|
import type { RunnerAddress } from "./RunnerAddress.ts"
|
|
11
11
|
import * as Runners from "./Runners.ts"
|
|
@@ -20,7 +20,7 @@ import * as Runners from "./Runners.ts"
|
|
|
20
20
|
* @since 4.0.0
|
|
21
21
|
* @category models
|
|
22
22
|
*/
|
|
23
|
-
export class RunnerHealth extends
|
|
23
|
+
export class RunnerHealth extends Context.Service<
|
|
24
24
|
RunnerHealth,
|
|
25
25
|
{
|
|
26
26
|
readonly isAlive: (address: RunnerAddress) => Effect.Effect<boolean>
|
|
@@ -72,7 +72,7 @@ export const layerHandlers = Runners.Rpcs.toLayer(Effect.gen(function*() {
|
|
|
72
72
|
resume(exit as any)
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
-
const runFork = Effect.runForkWith(parent.
|
|
75
|
+
const runFork = Effect.runForkWith(parent.context)
|
|
76
76
|
const fiber = runFork(storage.registerReplyHandler(message))
|
|
77
77
|
fiber.addObserver(onExit)
|
|
78
78
|
runFork(Effect.catchTag(
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
import { isArrayNonEmpty, type NonEmptyArray } from "../../Array.ts"
|
|
5
|
+
import * as Context from "../../Context.ts"
|
|
5
6
|
import * as Effect from "../../Effect.ts"
|
|
6
7
|
import * as Layer from "../../Layer.ts"
|
|
7
8
|
import * as MutableHashMap from "../../MutableHashMap.ts"
|
|
8
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
9
9
|
import type { PersistenceError } from "./ClusterError.ts"
|
|
10
10
|
import * as MachineId from "./MachineId.ts"
|
|
11
11
|
import { Runner } from "./Runner.ts"
|
|
12
12
|
import type { RunnerAddress } from "./RunnerAddress.ts"
|
|
13
|
-
import
|
|
13
|
+
import * as ShardId from "./ShardId.ts"
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Represents a generic interface to the persistent storage required by the
|
|
@@ -19,7 +19,7 @@ import { ShardId } from "./ShardId.ts"
|
|
|
19
19
|
* @since 4.0.0
|
|
20
20
|
* @category models
|
|
21
21
|
*/
|
|
22
|
-
export class RunnerStorage extends
|
|
22
|
+
export class RunnerStorage extends Context.Service<RunnerStorage, {
|
|
23
23
|
/**
|
|
24
24
|
* Register a new runner with the cluster.
|
|
25
25
|
*/
|
|
@@ -47,23 +47,23 @@ export class RunnerStorage extends ServiceMap.Service<RunnerStorage, {
|
|
|
47
47
|
*/
|
|
48
48
|
readonly acquire: (
|
|
49
49
|
address: RunnerAddress,
|
|
50
|
-
shardIds: Iterable<ShardId>
|
|
51
|
-
) => Effect.Effect<Array<ShardId>, PersistenceError>
|
|
50
|
+
shardIds: Iterable<ShardId.ShardId>
|
|
51
|
+
) => Effect.Effect<Array<ShardId.ShardId>, PersistenceError>
|
|
52
52
|
|
|
53
53
|
/**
|
|
54
54
|
* Refresh the locks owned by the given runner.
|
|
55
55
|
*/
|
|
56
56
|
readonly refresh: (
|
|
57
57
|
address: RunnerAddress,
|
|
58
|
-
shardIds: Iterable<ShardId>
|
|
59
|
-
) => Effect.Effect<Array<ShardId>, PersistenceError>
|
|
58
|
+
shardIds: Iterable<ShardId.ShardId>
|
|
59
|
+
) => Effect.Effect<Array<ShardId.ShardId>, PersistenceError>
|
|
60
60
|
|
|
61
61
|
/**
|
|
62
62
|
* Release the given shard ids.
|
|
63
63
|
*/
|
|
64
64
|
readonly release: (
|
|
65
65
|
address: RunnerAddress,
|
|
66
|
-
shardId: ShardId
|
|
66
|
+
shardId: ShardId.ShardId
|
|
67
67
|
) => Effect.Effect<void, PersistenceError>
|
|
68
68
|
|
|
69
69
|
/**
|
|
@@ -181,7 +181,7 @@ export const makeEncoded = (encoded: Encoded) =>
|
|
|
181
181
|
*/
|
|
182
182
|
export const makeMemory = Effect.gen(function*() {
|
|
183
183
|
const runners = MutableHashMap.empty<RunnerAddress, Runner>()
|
|
184
|
-
let acquired: Array<ShardId> = []
|
|
184
|
+
let acquired: Array<ShardId.ShardId> = []
|
|
185
185
|
let id = 0
|
|
186
186
|
|
|
187
187
|
return RunnerStorage.of({
|