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
|
@@ -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({
|
|
@@ -1,6 +1,7 @@
|
|
|
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 Exit from "../../Exit.ts"
|
|
6
7
|
import * as Latch from "../../Latch.ts"
|
|
@@ -10,7 +11,6 @@ import * as Queue from "../../Queue.ts"
|
|
|
10
11
|
import * as RcMap from "../../RcMap.ts"
|
|
11
12
|
import * as Schema from "../../Schema.ts"
|
|
12
13
|
import type { Scope } from "../../Scope.ts"
|
|
13
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
14
14
|
import * as Rpc from "../rpc/Rpc.ts"
|
|
15
15
|
import * as RpcClient_ from "../rpc/RpcClient.ts"
|
|
16
16
|
import type { RpcClientError } from "../rpc/RpcClientError.ts"
|
|
@@ -31,7 +31,7 @@ import * as Snowflake from "./Snowflake.ts"
|
|
|
31
31
|
* @since 1.0.0
|
|
32
32
|
* @category context
|
|
33
33
|
*/
|
|
34
|
-
export class Runners extends
|
|
34
|
+
export class Runners extends Context.Service<Runners, {
|
|
35
35
|
/**
|
|
36
36
|
* Checks if a Runner is responsive.
|
|
37
37
|
*/
|
|
@@ -132,7 +132,7 @@ export const make: (options: Omit<Runners["Service"], "sendLocal" | "notifyLocal
|
|
|
132
132
|
afterPersist: (message: Message.Outgoing<any>, isDuplicate: boolean) => Effect.Effect<void, E>
|
|
133
133
|
): Effect.Effect<void, E | PersistenceError> {
|
|
134
134
|
const rpc = message.rpc as any as Rpc.AnyWithProps
|
|
135
|
-
const persisted =
|
|
135
|
+
const persisted = Context.get(rpc.annotations, Persisted)
|
|
136
136
|
if (!persisted) {
|
|
137
137
|
return Effect.die("Runners.notify only supports persisted messages")
|
|
138
138
|
}
|
|
@@ -505,7 +505,7 @@ export const makeRpc: Effect.Effect<
|
|
|
505
505
|
},
|
|
506
506
|
send({ address, message }) {
|
|
507
507
|
const rpc = message.rpc as any as Rpc.AnyWithProps
|
|
508
|
-
const isPersisted =
|
|
508
|
+
const isPersisted = Context.get(rpc.annotations, Persisted)
|
|
509
509
|
if (message._tag === "OutgoingEnvelope") {
|
|
510
510
|
return RcMap.get(clients, address).pipe(
|
|
511
511
|
Effect.flatMap((client) =>
|
|
@@ -533,7 +533,7 @@ export const makeRpc: Effect.Effect<
|
|
|
533
533
|
Effect.catchTag("RpcClientError", Effect.die),
|
|
534
534
|
Effect.flatMap((reply) =>
|
|
535
535
|
Schema.decodeEffect(Reply.Reply(message.rpc))(reply).pipe(
|
|
536
|
-
Effect.
|
|
536
|
+
Effect.provideContext(message.context),
|
|
537
537
|
Effect.orDie
|
|
538
538
|
)
|
|
539
539
|
),
|
|
@@ -567,7 +567,7 @@ export const makeRpc: Effect.Effect<
|
|
|
567
567
|
Effect.flatMap(message.respond),
|
|
568
568
|
Effect.forever,
|
|
569
569
|
Effect.catchTag("RpcClientError", Effect.die),
|
|
570
|
-
Effect.
|
|
570
|
+
Effect.provideContext(message.context),
|
|
571
571
|
Effect.catchTag("Done", (_) => Effect.void),
|
|
572
572
|
Effect.catchDefect(() => Effect.fail(new RunnerUnavailable({ address })))
|
|
573
573
|
)
|
|
@@ -615,7 +615,7 @@ export const layerRpc: Layer.Layer<
|
|
|
615
615
|
* @since 1.0.0
|
|
616
616
|
* @category Client
|
|
617
617
|
*/
|
|
618
|
-
export class RpcClientProtocol extends
|
|
618
|
+
export class RpcClientProtocol extends Context.Service<
|
|
619
619
|
RpcClientProtocol,
|
|
620
620
|
(address: RunnerAddress) => Effect.Effect<RpcClient_.Protocol["Service"], never, Scope>
|
|
621
621
|
>()("effect/cluster/Runners/RpcClientProtocol") {}
|
|
@@ -3,12 +3,46 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Equal from "../../Equal.ts"
|
|
5
5
|
import * as Hash from "../../Hash.ts"
|
|
6
|
+
import { hasProperty } from "../../Predicate.ts"
|
|
6
7
|
import * as PrimaryKey from "../../PrimaryKey.ts"
|
|
7
8
|
import * as S from "../../Schema.ts"
|
|
9
|
+
import * as Getter from "../../SchemaGetter.ts"
|
|
8
10
|
|
|
9
11
|
const TypeId = "~effect/cluster/ShardId"
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
/**
|
|
14
|
+
* @since 4.0.0
|
|
15
|
+
* @category Models
|
|
16
|
+
*/
|
|
17
|
+
export interface ShardId extends Equal.Equal, Hash.Hash, PrimaryKey.PrimaryKey {
|
|
18
|
+
readonly [TypeId]: typeof TypeId
|
|
19
|
+
readonly group: string
|
|
20
|
+
readonly id: number
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @since 4.0.0
|
|
25
|
+
* @category Guards
|
|
26
|
+
*/
|
|
27
|
+
export const isShardId = (u: unknown): u is ShardId => hasProperty(u, TypeId)
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @since 4.0.0
|
|
31
|
+
* @category Schema
|
|
32
|
+
*/
|
|
33
|
+
export const ShardId = S.declare(isShardId, {
|
|
34
|
+
toCodecJson: () =>
|
|
35
|
+
S.link<ShardId>()(
|
|
36
|
+
S.Struct({
|
|
37
|
+
group: S.String,
|
|
38
|
+
id: S.Number
|
|
39
|
+
}),
|
|
40
|
+
{
|
|
41
|
+
decode: Getter.transform(({ group, id }) => make(group, id)),
|
|
42
|
+
encode: Getter.passthrough()
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
})
|
|
12
46
|
|
|
13
47
|
/**
|
|
14
48
|
* @since 4.0.0
|
|
@@ -18,7 +52,7 @@ export const make = (group: string, id: number): ShardId => {
|
|
|
18
52
|
const key = `${group}:${id}`
|
|
19
53
|
let shardId = shardIdCache.get(key)
|
|
20
54
|
if (!shardId) {
|
|
21
|
-
shardId =
|
|
55
|
+
shardId = makeProto(group, id)
|
|
22
56
|
shardIdCache.set(key, shardId)
|
|
23
57
|
}
|
|
24
58
|
return shardId
|
|
@@ -26,86 +60,62 @@ export const make = (group: string, id: number): ShardId => {
|
|
|
26
60
|
|
|
27
61
|
const shardIdCache = new Map<string, ShardId>()
|
|
28
62
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
id: S.Int
|
|
36
|
-
}) {
|
|
37
|
-
/**
|
|
38
|
-
* @since 4.0.0
|
|
39
|
-
*/
|
|
40
|
-
static readonly make = make
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* @since 4.0.0
|
|
44
|
-
*/
|
|
45
|
-
readonly [TypeId] = TypeId;
|
|
63
|
+
const makeProto = (group: string, id: number): ShardId => {
|
|
64
|
+
const self = Object.create(ShardIdProto)
|
|
65
|
+
self.group = group
|
|
66
|
+
self.id = id
|
|
67
|
+
return self
|
|
68
|
+
}
|
|
46
69
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
[Equal.symbol](that: ShardId): boolean {
|
|
70
|
+
const ShardIdProto = {
|
|
71
|
+
[TypeId]: TypeId,
|
|
72
|
+
[Equal.symbol](this: ShardId, that: ShardId): boolean {
|
|
51
73
|
return this.group === that.group && this.id === that.id
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* @since 4.0.0
|
|
56
|
-
*/
|
|
57
|
-
[Hash.symbol](): number {
|
|
74
|
+
},
|
|
75
|
+
[Hash.symbol](this: ShardId): number {
|
|
58
76
|
return Hash.string(this.toString())
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* @since 4.0.0
|
|
63
|
-
*/
|
|
64
|
-
[PrimaryKey.symbol](): string {
|
|
77
|
+
},
|
|
78
|
+
[PrimaryKey.symbol](this: ShardId): string {
|
|
65
79
|
return this.toString()
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* @since 4.0.0
|
|
70
|
-
*/
|
|
71
|
-
override toString(): string {
|
|
80
|
+
},
|
|
81
|
+
toString(this: ShardId): string {
|
|
72
82
|
return `${this.group}:${this.id}`
|
|
73
83
|
}
|
|
84
|
+
}
|
|
74
85
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
86
|
+
/**
|
|
87
|
+
* @since 4.0.0
|
|
88
|
+
* @category Conversions
|
|
89
|
+
*/
|
|
90
|
+
export const toString = (shardId: {
|
|
91
|
+
readonly group: string
|
|
92
|
+
readonly id: number
|
|
93
|
+
}): string => {
|
|
94
|
+
return `${shardId.group}:${shardId.id}`
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* @since 4.0.0
|
|
98
|
+
*/
|
|
99
|
+
export function fromStringEncoded(s: string): {
|
|
100
|
+
readonly group: string
|
|
101
|
+
readonly id: number
|
|
102
|
+
} {
|
|
103
|
+
const index = s.lastIndexOf(":")
|
|
104
|
+
if (index === -1) {
|
|
105
|
+
throw new Error(`Invalid ShardId format`)
|
|
83
106
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
static fromStringEncoded(s: string): {
|
|
89
|
-
readonly group: string
|
|
90
|
-
readonly id: number
|
|
91
|
-
} {
|
|
92
|
-
const index = s.lastIndexOf(":")
|
|
93
|
-
if (index === -1) {
|
|
94
|
-
throw new Error(`Invalid ShardId format`)
|
|
95
|
-
}
|
|
96
|
-
const group = s.substring(0, index)
|
|
97
|
-
const id = Number(s.substring(index + 1))
|
|
98
|
-
if (isNaN(id)) {
|
|
99
|
-
throw new Error(`ShardId id must be a number`)
|
|
100
|
-
}
|
|
101
|
-
return { group, id }
|
|
107
|
+
const group = s.substring(0, index)
|
|
108
|
+
const id = Number(s.substring(index + 1))
|
|
109
|
+
if (isNaN(id)) {
|
|
110
|
+
throw new Error(`ShardId id must be a number`)
|
|
102
111
|
}
|
|
112
|
+
return { group, id }
|
|
113
|
+
}
|
|
103
114
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
115
|
+
/**
|
|
116
|
+
* @since 4.0.0
|
|
117
|
+
*/
|
|
118
|
+
export function fromString(s: string): ShardId {
|
|
119
|
+
const encoded = fromStringEncoded(s)
|
|
120
|
+
return make(encoded.group, encoded.id)
|
|
111
121
|
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import * as Arr from "../../Array.ts"
|
|
5
5
|
import * as Cause from "../../Cause.ts"
|
|
6
6
|
import { Clock } from "../../Clock.ts"
|
|
7
|
+
import * as Context from "../../Context.ts"
|
|
7
8
|
import type { Input } from "../../Duration.ts"
|
|
8
9
|
import * as Duration from "../../Duration.ts"
|
|
9
10
|
import * as Effect from "../../Effect.ts"
|
|
@@ -25,7 +26,6 @@ import * as Result from "../../Result.ts"
|
|
|
25
26
|
import * as Schedule from "../../Schedule.ts"
|
|
26
27
|
import * as Scope from "../../Scope.ts"
|
|
27
28
|
import * as Semaphore from "../../Semaphore.ts"
|
|
28
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
29
29
|
import * as Stream from "../../Stream.ts"
|
|
30
30
|
import type * as Rpc from "../rpc/Rpc.ts"
|
|
31
31
|
import * as RpcClient from "../rpc/RpcClient.ts"
|
|
@@ -65,7 +65,7 @@ import * as Snowflake from "./Snowflake.ts"
|
|
|
65
65
|
* @since 4.0.0
|
|
66
66
|
* @category models
|
|
67
67
|
*/
|
|
68
|
-
export class Sharding extends
|
|
68
|
+
export class Sharding extends Context.Service<Sharding, {
|
|
69
69
|
/**
|
|
70
70
|
* Returns a stream of events that occur when the runner registers entities or
|
|
71
71
|
* singletons.
|
|
@@ -207,7 +207,7 @@ const make = Effect.gen(function*() {
|
|
|
207
207
|
const snowflakeGen = yield* Snowflake.Generator
|
|
208
208
|
const shardingScope = yield* Effect.scope
|
|
209
209
|
const isShutdown = MutableRef.make(false)
|
|
210
|
-
const services =
|
|
210
|
+
const services = Context.omit(Scope.Scope)(yield* Effect.context<ShardingConfig>())
|
|
211
211
|
const runFork = flow(
|
|
212
212
|
Effect.runForkWith(services),
|
|
213
213
|
Fiber.runIn(shardingScope)
|
|
@@ -357,7 +357,7 @@ const make = Effect.gen(function*() {
|
|
|
357
357
|
yield* Effect.forkIn(syncSingletons, shardingScope)
|
|
358
358
|
|
|
359
359
|
// update metrics
|
|
360
|
-
ClusterMetrics.shards.updateUnsafe(BigInt(MutableHashSet.size(acquiredShards)),
|
|
360
|
+
ClusterMetrics.shards.updateUnsafe(BigInt(MutableHashSet.size(acquiredShards)), Context.empty())
|
|
361
361
|
}
|
|
362
362
|
yield* Effect.sleep(1000)
|
|
363
363
|
activeShardsLatch.openUnsafe()
|
|
@@ -820,7 +820,7 @@ const make = Effect.gen(function*() {
|
|
|
820
820
|
return Effect.catchFilter(
|
|
821
821
|
Effect.suspend(() => {
|
|
822
822
|
const address = message.envelope.address
|
|
823
|
-
const isPersisted =
|
|
823
|
+
const isPersisted = Context.get(
|
|
824
824
|
message._tag === "OutgoingRequest" ? message.annotations : message.rpc.annotations,
|
|
825
825
|
Persisted
|
|
826
826
|
)
|
|
@@ -881,8 +881,8 @@ const make = Effect.gen(function*() {
|
|
|
881
881
|
|
|
882
882
|
// update metrics
|
|
883
883
|
if (selfRunner) {
|
|
884
|
-
ClusterMetrics.runners.updateUnsafe(BigInt(1),
|
|
885
|
-
ClusterMetrics.runnersHealthy.updateUnsafe(BigInt(1),
|
|
884
|
+
ClusterMetrics.runners.updateUnsafe(BigInt(1), Context.empty())
|
|
885
|
+
ClusterMetrics.runnersHealthy.updateUnsafe(BigInt(1), Context.empty())
|
|
886
886
|
}
|
|
887
887
|
|
|
888
888
|
yield* Effect.gen(function*() {
|
|
@@ -973,7 +973,7 @@ const make = Effect.gen(function*() {
|
|
|
973
973
|
if (selfRunner) {
|
|
974
974
|
ClusterMetrics.runnersHealthy.updateUnsafe(
|
|
975
975
|
BigInt(MutableHashSet.has(healthyRunners, selfRunner) ? 1 : 0),
|
|
976
|
-
|
|
976
|
+
Context.empty()
|
|
977
977
|
)
|
|
978
978
|
}
|
|
979
979
|
}
|
|
@@ -1002,7 +1002,7 @@ const make = Effect.gen(function*() {
|
|
|
1002
1002
|
|
|
1003
1003
|
type ClientRequestEntry = {
|
|
1004
1004
|
readonly rpc: Rpc.AnyWithProps
|
|
1005
|
-
readonly
|
|
1005
|
+
readonly context: Context.Context<never>
|
|
1006
1006
|
readonly message: Message.OutgoingRequest<any>
|
|
1007
1007
|
lastChunkId?: Snowflake.Snowflake
|
|
1008
1008
|
}
|
|
@@ -1018,7 +1018,7 @@ const make = Effect.gen(function*() {
|
|
|
1018
1018
|
> = yield* ResourceMap.make(Effect.fnUntraced(function*(entity: Entity<string, any>) {
|
|
1019
1019
|
const client = yield* RpcClient.makeNoSerialization(entity.protocol, {
|
|
1020
1020
|
spanPrefix: `${entity.type}.client`,
|
|
1021
|
-
disableTracing: !
|
|
1021
|
+
disableTracing: !Context.get(entity.protocol.annotations, ClusterSchema.ClientTracingEnabled),
|
|
1022
1022
|
supportsAck: true,
|
|
1023
1023
|
generateRequestId: () => RequestId(snowflakeGen.nextUnsafe()),
|
|
1024
1024
|
flatten: true,
|
|
@@ -1026,7 +1026,7 @@ const make = Effect.gen(function*() {
|
|
|
1026
1026
|
void,
|
|
1027
1027
|
MailboxFull | AlreadyProcessingMessage | PersistenceError
|
|
1028
1028
|
> {
|
|
1029
|
-
const address =
|
|
1029
|
+
const address = Context.getUnsafe(options.context, ClientAddressTag)
|
|
1030
1030
|
switch (options.message._tag) {
|
|
1031
1031
|
case "Request": {
|
|
1032
1032
|
const fiber = Fiber.getCurrent()!
|
|
@@ -1047,9 +1047,9 @@ const make = Effect.gen(function*() {
|
|
|
1047
1047
|
envelope,
|
|
1048
1048
|
lastReceivedReply: Option.none(),
|
|
1049
1049
|
rpc,
|
|
1050
|
-
|
|
1050
|
+
context: fiber.context as Context.Context<any>,
|
|
1051
1051
|
respond: (reply) => respond(reply),
|
|
1052
|
-
annotations:
|
|
1052
|
+
annotations: Context.get(rpc.annotations, ClusterSchema.Dynamic)(
|
|
1053
1053
|
rpc.annotations,
|
|
1054
1054
|
envelope as any
|
|
1055
1055
|
)
|
|
@@ -1057,7 +1057,7 @@ const make = Effect.gen(function*() {
|
|
|
1057
1057
|
if (!options.discard) {
|
|
1058
1058
|
const entry: ClientRequestEntry = {
|
|
1059
1059
|
rpc: rpc as any,
|
|
1060
|
-
|
|
1060
|
+
context: fiber.currentContext,
|
|
1061
1061
|
message
|
|
1062
1062
|
}
|
|
1063
1063
|
clientRequests.set(id, entry)
|
|
@@ -1096,7 +1096,7 @@ const make = Effect.gen(function*() {
|
|
|
1096
1096
|
// result of a shard being resassigned
|
|
1097
1097
|
const isTransientInterrupt = MutableRef.get(isShutdown) ||
|
|
1098
1098
|
options.message.interruptors.some((id) => internalInterruptors.has(id))
|
|
1099
|
-
if (isTransientInterrupt &&
|
|
1099
|
+
if (isTransientInterrupt && Context.get(entry.message.annotations, Persisted)) {
|
|
1100
1100
|
return Effect.void
|
|
1101
1101
|
}
|
|
1102
1102
|
return Effect.ignore(sendOutgoing(
|
|
@@ -1127,15 +1127,15 @@ const make = Effect.gen(function*() {
|
|
|
1127
1127
|
|
|
1128
1128
|
return (entityId: string) => {
|
|
1129
1129
|
const id = makeEntityId(entityId)
|
|
1130
|
-
const address = ClientAddressTag.
|
|
1130
|
+
const address = ClientAddressTag.context(makeEntityAddress({
|
|
1131
1131
|
shardId: getShardId(id, entity.getShardGroup(entityId as EntityId)),
|
|
1132
1132
|
entityId: id,
|
|
1133
1133
|
entityType: entity.type
|
|
1134
1134
|
}))
|
|
1135
1135
|
const clientFn = function(tag: string, payload: any, options?: {
|
|
1136
|
-
readonly context?:
|
|
1136
|
+
readonly context?: Context.Context<never>
|
|
1137
1137
|
}) {
|
|
1138
|
-
const context = options?.context ?
|
|
1138
|
+
const context = options?.context ? Context.merge(options.context, address) : address
|
|
1139
1139
|
return client.client(tag, payload, {
|
|
1140
1140
|
...options,
|
|
1141
1141
|
context
|
|
@@ -1216,12 +1216,12 @@ const make = Effect.gen(function*() {
|
|
|
1216
1216
|
return yield* Effect.die(`Singleton '${name}' is already registered`)
|
|
1217
1217
|
}
|
|
1218
1218
|
|
|
1219
|
-
const services = yield* Effect.
|
|
1219
|
+
const services = yield* Effect.context<never>()
|
|
1220
1220
|
const wrappedRun = run.pipe(
|
|
1221
1221
|
Effect.andThen(Effect.never),
|
|
1222
1222
|
Effect.scoped,
|
|
1223
1223
|
Effect.provideService(CurrentLogAnnotations, {}),
|
|
1224
|
-
Effect.
|
|
1224
|
+
Effect.provideContext(services),
|
|
1225
1225
|
Effect.orDie,
|
|
1226
1226
|
Effect.interruptible
|
|
1227
1227
|
) as Effect.Effect<never>
|
|
@@ -1261,7 +1261,7 @@ const make = Effect.gen(function*() {
|
|
|
1261
1261
|
}
|
|
1262
1262
|
ClusterMetrics.singletons.updateUnsafe(
|
|
1263
1263
|
BigInt(yield* FiberMap.size(singletonFibers)),
|
|
1264
|
-
|
|
1264
|
+
Context.empty()
|
|
1265
1265
|
)
|
|
1266
1266
|
}))
|
|
1267
1267
|
|
|
@@ -1287,11 +1287,11 @@ const make = Effect.gen(function*() {
|
|
|
1287
1287
|
runnerAddress,
|
|
1288
1288
|
sharding
|
|
1289
1289
|
}).pipe(
|
|
1290
|
-
Effect.
|
|
1290
|
+
Effect.provideContext(Context.mutate(services, (services) =>
|
|
1291
1291
|
services.pipe(
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1292
|
+
Context.add(EntityReaper, reaper),
|
|
1293
|
+
Context.add(Scope.Scope, scope),
|
|
1294
|
+
Context.add(Snowflake.Generator, snowflakeGen)
|
|
1295
1295
|
)))
|
|
1296
1296
|
) as Effect.Effect<EntityManager.EntityManager>
|
|
1297
1297
|
const state: EntityManagerState = {
|
|
@@ -1443,4 +1443,4 @@ export const layer: Layer.Layer<
|
|
|
1443
1443
|
|
|
1444
1444
|
// Utilities
|
|
1445
1445
|
|
|
1446
|
-
const ClientAddressTag =
|
|
1446
|
+
const ClientAddressTag = Context.Service<EntityAddress>("effect/cluster/Sharding/ClientAddress")
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import * as Config from "../../Config.ts"
|
|
5
5
|
import * as ConfigProvider from "../../ConfigProvider.ts"
|
|
6
|
+
import * as Context from "../../Context.ts"
|
|
6
7
|
import * as Duration from "../../Duration.ts"
|
|
7
8
|
import * as Effect from "../../Effect.ts"
|
|
8
9
|
import * as Layer from "../../Layer.ts"
|
|
9
10
|
import * as Option from "../../Option.ts"
|
|
10
11
|
import * as Schema from "../../Schema.ts"
|
|
11
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
12
12
|
import { RunnerAddress } from "./RunnerAddress.ts"
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -17,7 +17,7 @@ import { RunnerAddress } from "./RunnerAddress.ts"
|
|
|
17
17
|
* @since 4.0.0
|
|
18
18
|
* @category models
|
|
19
19
|
*/
|
|
20
|
-
export class ShardingConfig extends
|
|
20
|
+
export class ShardingConfig extends Context.Service<ShardingConfig, {
|
|
21
21
|
/**
|
|
22
22
|
* The address for the current runner that other runners can use to
|
|
23
23
|
* communicate with it.
|
|
@@ -122,7 +122,7 @@ export class ShardingConfig extends ServiceMap.Service<ShardingConfig, {
|
|
|
122
122
|
readonly simulateRemoteSerialization: boolean
|
|
123
123
|
}>()("effect/cluster/ShardingConfig") {}
|
|
124
124
|
|
|
125
|
-
const defaultRunnerAddress = RunnerAddress.
|
|
125
|
+
const defaultRunnerAddress = RunnerAddress.make({ host: "localhost", port: 34431 })
|
|
126
126
|
|
|
127
127
|
/**
|
|
128
128
|
* @since 4.0.0
|
|
@@ -177,7 +177,7 @@ export const config: Config.Config<ShardingConfig["Service"]> = Config.all({
|
|
|
177
177
|
Config.withDefault(defaultRunnerAddress.port)
|
|
178
178
|
// Config.withDescription("The port used for inter-runner communication.")
|
|
179
179
|
)
|
|
180
|
-
}).pipe(Config.map((options) => RunnerAddress.
|
|
180
|
+
}).pipe(Config.map((options) => RunnerAddress.make(options)), Config.option),
|
|
181
181
|
runnerListenAddress: Config.all({
|
|
182
182
|
host: Config.string("listenHost"),
|
|
183
183
|
// Config.withDescription("The host to listen on.")
|
|
@@ -185,7 +185,7 @@ export const config: Config.Config<ShardingConfig["Service"]> = Config.all({
|
|
|
185
185
|
Config.withDefault(defaultRunnerAddress.port)
|
|
186
186
|
// Config.withDescription("The port to listen on.")
|
|
187
187
|
)
|
|
188
|
-
}).pipe(Config.map((options) => RunnerAddress.
|
|
188
|
+
}).pipe(Config.map((options) => RunnerAddress.make(options)), Config.option),
|
|
189
189
|
runnerShardWeight: Config.int("runnerShardWeight").pipe(
|
|
190
190
|
Config.withDefault(defaults.runnerShardWeight)
|
|
191
191
|
// Config.withDescription("A number that determines how many shards this runner will be assigned relative to other runners.")
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type * as Brand from "../../Brand.ts"
|
|
5
5
|
import { Clock } from "../../Clock.ts"
|
|
6
|
+
import * as Context from "../../Context.ts"
|
|
6
7
|
import * as DateTime from "../../DateTime.ts"
|
|
7
8
|
import * as Effect from "../../Effect.ts"
|
|
8
9
|
import { identity } from "../../Function.ts"
|
|
9
10
|
import * as Layer from "../../Layer.ts"
|
|
10
11
|
import * as Schema from "../../Schema.ts"
|
|
11
12
|
import * as Transformation from "../../SchemaTransformation.ts"
|
|
12
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
13
13
|
import type { MachineId } from "./MachineId.ts"
|
|
14
14
|
|
|
15
15
|
/**
|
|
@@ -192,7 +192,7 @@ export const makeGenerator: Effect.Effect<Snowflake.Generator> = Effect.gen(func
|
|
|
192
192
|
* @since 4.0.0
|
|
193
193
|
* @category Generator
|
|
194
194
|
*/
|
|
195
|
-
export class Generator extends
|
|
195
|
+
export class Generator extends Context.Service<
|
|
196
196
|
Generator,
|
|
197
197
|
Snowflake.Generator
|
|
198
198
|
>()("effect/cluster/Snowflake/Generator") {}
|
|
@@ -15,7 +15,7 @@ import type * as Envelope from "./Envelope.ts"
|
|
|
15
15
|
import * as MessageStorage from "./MessageStorage.ts"
|
|
16
16
|
import { SaveResultEncoded } from "./MessageStorage.ts"
|
|
17
17
|
import type * as Reply from "./Reply.ts"
|
|
18
|
-
import
|
|
18
|
+
import * as ShardId from "./ShardId.ts"
|
|
19
19
|
import type { ShardingConfig } from "./ShardingConfig.ts"
|
|
20
20
|
import * as Snowflake from "./Snowflake.ts"
|
|
21
21
|
|