effect 4.0.0-beta.43 → 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 +286 -268
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +133 -134
- 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/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/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/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.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +13 -14
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +8 -8
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +12 -12
- 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 +2 -2
- 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 +3 -3
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +5 -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 +333 -307
- 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/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/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/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 +14 -15
- package/src/unstable/cluster/Entity.ts +25 -25
- 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 +2 -2
- 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 +6 -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
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
|
+
import * as Context from "../../Context.ts"
|
|
4
5
|
import * as DateTime from "../../DateTime.ts"
|
|
5
6
|
import * as Duration from "../../Duration.ts"
|
|
6
7
|
import * as Effect from "../../Effect.ts"
|
|
7
8
|
import * as Exit from "../../Exit.ts"
|
|
8
9
|
import * as Fiber from "../../Fiber.ts"
|
|
9
|
-
import { constFalse } from "../../Function.ts"
|
|
10
10
|
import * as Latch from "../../Latch.ts"
|
|
11
11
|
import * as Layer from "../../Layer.ts"
|
|
12
12
|
import * as Option from "../../Option.ts"
|
|
@@ -16,7 +16,6 @@ import type * as Record from "../../Record.ts"
|
|
|
16
16
|
import * as Schedule from "../../Schedule.ts"
|
|
17
17
|
import * as Schema from "../../Schema.ts"
|
|
18
18
|
import type * as Scope from "../../Scope.ts"
|
|
19
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
20
19
|
import * as Rpc from "../rpc/Rpc.ts"
|
|
21
20
|
import { ClientAbort } from "../rpc/RpcSchema.ts"
|
|
22
21
|
import * as Activity from "../workflow/Activity.ts"
|
|
@@ -110,7 +109,7 @@ export const make = Effect.gen(function*() {
|
|
|
110
109
|
|
|
111
110
|
const activities = new Map<string, {
|
|
112
111
|
readonly activity: Activity.Any
|
|
113
|
-
readonly
|
|
112
|
+
readonly context: Context.Context<any>
|
|
114
113
|
}>()
|
|
115
114
|
const interruptedActivities = new Set<string>()
|
|
116
115
|
const activityLatches = new Map<string, Latch.Latch>()
|
|
@@ -138,7 +137,7 @@ export const make = Effect.gen(function*() {
|
|
|
138
137
|
readonly entityType: string
|
|
139
138
|
readonly executionId: string
|
|
140
139
|
}) => {
|
|
141
|
-
const shardGroup =
|
|
140
|
+
const shardGroup = Context.get(options.workflow.annotations, ClusterSchema.ShardGroup)(
|
|
142
141
|
options.executionId as EntityId.EntityId
|
|
143
142
|
)
|
|
144
143
|
const entityId = EntityId.make(options.executionId)
|
|
@@ -211,7 +210,7 @@ export const make = Effect.gen(function*() {
|
|
|
211
210
|
readonly workflow: Workflow.Any
|
|
212
211
|
readonly executionId: string
|
|
213
212
|
}) {
|
|
214
|
-
const shardGroup =
|
|
213
|
+
const shardGroup = Context.get(options.workflow.annotations, ClusterSchema.ShardGroup)(
|
|
215
214
|
options.executionId as EntityId.EntityId
|
|
216
215
|
)
|
|
217
216
|
const entityId = EntityId.make(options.executionId)
|
|
@@ -319,9 +318,9 @@ export const make = Effect.gen(function*() {
|
|
|
319
318
|
if (payload[payloadParentKey]) {
|
|
320
319
|
parent = payload[payloadParentKey]
|
|
321
320
|
}
|
|
322
|
-
return execute(workflow.payloadSchema.
|
|
321
|
+
return execute(workflow.payloadSchema.make(payload) as object, executionId).pipe(
|
|
323
322
|
Effect.onExit((exit) => {
|
|
324
|
-
const suspendOnFailure =
|
|
323
|
+
const suspendOnFailure = Context.get(workflow.annotations, Workflow.SuspendOnFailure)
|
|
325
324
|
if (!instance.suspended && !(suspendOnFailure && exit._tag === "Failure")) {
|
|
326
325
|
return parent ? ensureSuccess(sendResumeParent(parent)) : Effect.void
|
|
327
326
|
}
|
|
@@ -358,11 +357,11 @@ export const make = Effect.gen(function*() {
|
|
|
358
357
|
yield* latch.await
|
|
359
358
|
entry = activities.get(activityId)
|
|
360
359
|
}
|
|
361
|
-
const contextMap = new Map(entry.
|
|
360
|
+
const contextMap = new Map(entry.context.mapUnsafe)
|
|
362
361
|
contextMap.set(Activity.CurrentAttempt.key, payload.attempt)
|
|
363
362
|
contextMap.set(WorkflowEngine.WorkflowInstance.key, instance)
|
|
364
363
|
return yield* entry.activity.executeEncoded.pipe(
|
|
365
|
-
Effect.
|
|
364
|
+
Effect.provideContext(Context.makeUnsafe(contextMap))
|
|
366
365
|
)
|
|
367
366
|
}).pipe(
|
|
368
367
|
Workflow.intoResult,
|
|
@@ -463,14 +462,14 @@ export const make = Effect.gen(function*() {
|
|
|
463
462
|
|
|
464
463
|
activityExecute: Effect.fnUntraced(
|
|
465
464
|
function*(activity, attempt) {
|
|
466
|
-
const services = yield* Effect.
|
|
467
|
-
const instance =
|
|
465
|
+
const services = yield* Effect.context<WorkflowEngine.WorkflowInstance>()
|
|
466
|
+
const instance = Context.get(services, WorkflowEngine.WorkflowInstance)
|
|
468
467
|
yield* Effect.annotateCurrentSpan("executionId", instance.executionId)
|
|
469
468
|
const activityId = `${instance.executionId}/${activity.name}`
|
|
470
469
|
const client = (yield* RcMap.get(clientsPartial, instance.workflow.name))(instance.executionId)
|
|
471
470
|
while (true) {
|
|
472
471
|
if (!activities.has(activityId)) {
|
|
473
|
-
activities.set(activityId, { activity, services })
|
|
472
|
+
activities.set(activityId, { activity, context: services })
|
|
474
473
|
const latch = activityLatches.get(activityId)
|
|
475
474
|
if (latch) {
|
|
476
475
|
yield* latch.release
|
|
@@ -481,7 +480,7 @@ export const make = Effect.gen(function*() {
|
|
|
481
480
|
client.activity({
|
|
482
481
|
name: activity.name,
|
|
483
482
|
attempt,
|
|
484
|
-
withTransaction:
|
|
483
|
+
withTransaction: Context.get(activity.annotations, ClusterSchema.WithTransaction)
|
|
485
484
|
})
|
|
486
485
|
)
|
|
487
486
|
// If the activity has suspended and did not execute, we need to resume
|
|
@@ -582,7 +581,7 @@ const ActivityRpc = Rpc.make("activity", {
|
|
|
582
581
|
name: Schema.String,
|
|
583
582
|
attempt: Schema.Number,
|
|
584
583
|
withTransaction: Schema.Boolean.pipe(
|
|
585
|
-
Schema.withDecodingDefault(
|
|
584
|
+
Schema.withDecodingDefault(Effect.succeed(false))
|
|
586
585
|
)
|
|
587
586
|
},
|
|
588
587
|
primaryKey: ({ attempt, name }) => activityPrimaryKey(name, attempt),
|
|
@@ -596,7 +595,7 @@ const ActivityRpc = Rpc.make("activity", {
|
|
|
596
595
|
ClusterSchema.Dynamic,
|
|
597
596
|
(annotations, request) =>
|
|
598
597
|
(request.payload as any).withTransaction
|
|
599
|
-
?
|
|
598
|
+
? Context.add(annotations, ClusterSchema.WithTransaction, true)
|
|
600
599
|
: annotations
|
|
601
600
|
)
|
|
602
601
|
|
|
@@ -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,7 +18,6 @@ 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 ServiceMap from "../../ServiceMap.ts"
|
|
21
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"
|
|
@@ -76,22 +76,22 @@ export interface Entity<
|
|
|
76
76
|
/**
|
|
77
77
|
* Annotate the entity with a value.
|
|
78
78
|
*/
|
|
79
|
-
annotate<I, S>(key:
|
|
79
|
+
annotate<I, S>(key: Context.Key<I, S>, value: S): Entity<Type, Rpcs>
|
|
80
80
|
|
|
81
81
|
/**
|
|
82
82
|
* Annotate the Rpc's above this point with a value.
|
|
83
83
|
*/
|
|
84
|
-
annotateRpcs<I, S>(key:
|
|
84
|
+
annotateRpcs<I, S>(key: Context.Key<I, S>, value: S): Entity<Type, Rpcs>
|
|
85
85
|
|
|
86
86
|
/**
|
|
87
87
|
* Annotate the entity with the given annotations.
|
|
88
88
|
*/
|
|
89
|
-
annotateMerge<S>(annotation:
|
|
89
|
+
annotateMerge<S>(annotation: Context.Context<S>): Entity<Type, Rpcs>
|
|
90
90
|
|
|
91
91
|
/**
|
|
92
92
|
* Annotate the Rpc's above this point with a context object.
|
|
93
93
|
*/
|
|
94
|
-
annotateRpcsMerge<S>(context:
|
|
94
|
+
annotateRpcsMerge<S>(context: Context.Context<S>): Entity<Type, Rpcs>
|
|
95
95
|
|
|
96
96
|
/**
|
|
97
97
|
* Create a client for this entity.
|
|
@@ -208,16 +208,16 @@ const Proto = {
|
|
|
208
208
|
[Equal.symbol](this: Entity<string, any>, that: Equal.Equal): boolean {
|
|
209
209
|
return isEntity(that) && this.type === that.type
|
|
210
210
|
},
|
|
211
|
-
annotate<I, S>(this: Entity<string, any>, key:
|
|
211
|
+
annotate<I, S>(this: Entity<string, any>, key: Context.Key<I, S>, value: S) {
|
|
212
212
|
return fromRpcGroup(this.type, this.protocol.annotate(key, value))
|
|
213
213
|
},
|
|
214
|
-
annotateRpcs<I, S>(this: Entity<string, any>, key:
|
|
214
|
+
annotateRpcs<I, S>(this: Entity<string, any>, key: Context.Key<I, S>, value: S) {
|
|
215
215
|
return fromRpcGroup(this.type, this.protocol.annotateRpcs(key, value))
|
|
216
216
|
},
|
|
217
|
-
annotateMerge<S>(this: Entity<string, any>, annotations:
|
|
217
|
+
annotateMerge<S>(this: Entity<string, any>, annotations: Context.Context<S>) {
|
|
218
218
|
return fromRpcGroup(this.type, this.protocol.annotateMerge(annotations))
|
|
219
219
|
},
|
|
220
|
-
annotateRpcsMerge<S>(this: Entity<string, any>, annotations:
|
|
220
|
+
annotateRpcsMerge<S>(this: Entity<string, any>, annotations: Context.Context<S>) {
|
|
221
221
|
return fromRpcGroup(this.type, this.protocol.annotateRpcsMerge(annotations))
|
|
222
222
|
},
|
|
223
223
|
getShardId(this: Entity<string, any>, entityId: EntityId) {
|
|
@@ -377,9 +377,9 @@ export const fromRpcGroup = <const Type extends string, Rpcs extends Rpc.Any>(
|
|
|
377
377
|
protocol: RpcGroup.RpcGroup<Rpcs>
|
|
378
378
|
): Entity<Type, Rpcs> => {
|
|
379
379
|
const self = Object.create(Proto)
|
|
380
|
-
self.type = EntityType.
|
|
380
|
+
self.type = EntityType.make(type)
|
|
381
381
|
self.protocol = protocol
|
|
382
|
-
self.getShardGroup =
|
|
382
|
+
self.getShardGroup = Context.get(protocol.annotations, ShardGroup)
|
|
383
383
|
return self
|
|
384
384
|
}
|
|
385
385
|
|
|
@@ -408,7 +408,7 @@ export const make = <const Type extends string, Rpcs extends ReadonlyArray<Rpc.A
|
|
|
408
408
|
* @since 4.0.0
|
|
409
409
|
* @category context
|
|
410
410
|
*/
|
|
411
|
-
export class CurrentAddress extends
|
|
411
|
+
export class CurrentAddress extends Context.Service<
|
|
412
412
|
CurrentAddress,
|
|
413
413
|
EntityAddress
|
|
414
414
|
>()("effect/cluster/Entity/EntityAddress") {}
|
|
@@ -419,7 +419,7 @@ export class CurrentAddress extends ServiceMap.Service<
|
|
|
419
419
|
* @since 4.0.0
|
|
420
420
|
* @category context
|
|
421
421
|
*/
|
|
422
|
-
export class CurrentRunnerAddress extends
|
|
422
|
+
export class CurrentRunnerAddress extends Context.Service<
|
|
423
423
|
CurrentRunnerAddress,
|
|
424
424
|
RunnerAddress
|
|
425
425
|
>()("effect/cluster/Entity/RunnerAddress") {}
|
|
@@ -491,7 +491,7 @@ export class Request<Rpc extends Rpc.Any> extends Data.Class<
|
|
|
491
491
|
}
|
|
492
492
|
}
|
|
493
493
|
|
|
494
|
-
const shardingTag =
|
|
494
|
+
const shardingTag = Context.Service<Sharding, Sharding["Service"]>("effect/cluster/Sharding")
|
|
495
495
|
|
|
496
496
|
/**
|
|
497
497
|
* @since 4.0.0
|
|
@@ -517,12 +517,12 @@ export const makeTestClient: <Type extends string, Rpcs extends Rpc.Any, LA, LE,
|
|
|
517
517
|
const snowflakeGen = yield* Snowflake.makeGenerator
|
|
518
518
|
const runnerAddress = new RunnerAddress({ host: "localhost", port: 3000 })
|
|
519
519
|
const entityMap = new Map<string, {
|
|
520
|
-
readonly
|
|
520
|
+
readonly context: Context.Context<
|
|
521
521
|
Rpc.ServicesClient<Rpcs> | Rpc.ServicesServer<Rpcs> | Rpc.Middleware<Rpcs> | LR
|
|
522
522
|
>
|
|
523
523
|
readonly concurrency: number | "unbounded"
|
|
524
524
|
readonly build: Effect.Effect<
|
|
525
|
-
|
|
525
|
+
Context.Context<Rpc.ToHandler<Rpcs>>,
|
|
526
526
|
never,
|
|
527
527
|
Scope | CurrentAddress
|
|
528
528
|
>
|
|
@@ -530,15 +530,15 @@ export const makeTestClient: <Type extends string, Rpcs extends Rpc.Any, LA, LE,
|
|
|
530
530
|
const sharding = shardingTag.of({
|
|
531
531
|
...({} as Sharding["Service"]),
|
|
532
532
|
registerEntity: (entity, handlers, options) =>
|
|
533
|
-
Effect.
|
|
533
|
+
Effect.contextWith((context) => {
|
|
534
534
|
entityMap.set(entity.type, {
|
|
535
|
-
|
|
535
|
+
context: context as any,
|
|
536
536
|
concurrency: options?.concurrency ?? 1,
|
|
537
537
|
build: entity.protocol.toHandlers(handlers as any).pipe(
|
|
538
|
-
Effect.
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
538
|
+
Effect.provideContext(Context.mutate(context, (context) =>
|
|
539
|
+
context.pipe(
|
|
540
|
+
Context.add(CurrentRunnerAddress, runnerAddress),
|
|
541
|
+
Context.omit(Scope)
|
|
542
542
|
)))
|
|
543
543
|
) as any
|
|
544
544
|
})
|
|
@@ -619,9 +619,9 @@ export const keepAlive: (
|
|
|
619
619
|
olatch.value.closeUnsafe()
|
|
620
620
|
yield* Effect.orDie(sharding.sendOutgoing(
|
|
621
621
|
new Message.OutgoingRequest({
|
|
622
|
-
annotations:
|
|
622
|
+
annotations: KeepAliveRpc.annotations,
|
|
623
623
|
rpc: KeepAliveRpc,
|
|
624
|
-
|
|
624
|
+
context: Context.empty() as any,
|
|
625
625
|
envelope: Envelope.makeRequest({
|
|
626
626
|
requestId,
|
|
627
627
|
address,
|
|
@@ -656,6 +656,6 @@ export const KeepAliveRpc = Rpc.make("Cluster/Entity/keepAlive")
|
|
|
656
656
|
* @since 4.0.0
|
|
657
657
|
* @category Keep alive
|
|
658
658
|
*/
|
|
659
|
-
export class KeepAliveLatch extends
|
|
659
|
+
export class KeepAliveLatch extends Context.Service<KeepAliveLatch, Latch.Latch>()(
|
|
660
660
|
"effect/cluster/Entity/KeepAliveLatch"
|
|
661
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(
|