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
package/src/unstable/rpc/Rpc.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
import type * as Cause from "../../Cause.ts"
|
|
5
|
+
import * as Context from "../../Context.ts"
|
|
5
6
|
import type { Effect } from "../../Effect.ts"
|
|
6
7
|
import type { Exit as Exit_ } from "../../Exit.ts"
|
|
7
8
|
import * as Option from "../../Option.ts"
|
|
@@ -10,7 +11,6 @@ import * as Predicate from "../../Predicate.ts"
|
|
|
10
11
|
import * as PrimaryKey from "../../PrimaryKey.ts"
|
|
11
12
|
import type * as Queue from "../../Queue.ts"
|
|
12
13
|
import * as Schema from "../../Schema.ts"
|
|
13
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
14
14
|
import type { Stream } from "../../Stream.ts"
|
|
15
15
|
import type * as Struct from "../../Struct.ts"
|
|
16
16
|
import type { Headers } from "../http/Headers.ts"
|
|
@@ -32,9 +32,9 @@ export const isRpc = (u: unknown): u is Rpc<any, any, any> => Predicate.hasPrope
|
|
|
32
32
|
*/
|
|
33
33
|
export interface DefectSchema extends Schema.Top {
|
|
34
34
|
readonly Type: unknown
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
make(input: null, options?: Schema.MakeOptions): unknown
|
|
36
|
+
make(input: undefined, options?: Schema.MakeOptions): unknown
|
|
37
|
+
make(input: {}, options?: Schema.MakeOptions): unknown
|
|
38
38
|
readonly DecodingServices: never
|
|
39
39
|
readonly EncodingServices: never
|
|
40
40
|
}
|
|
@@ -63,7 +63,7 @@ export interface Rpc<
|
|
|
63
63
|
readonly successSchema: Success
|
|
64
64
|
readonly errorSchema: Error
|
|
65
65
|
readonly defectSchema: Schema.Top
|
|
66
|
-
readonly annotations:
|
|
66
|
+
readonly annotations: Context.Context<never>
|
|
67
67
|
readonly middlewares: ReadonlySet<Middleware>
|
|
68
68
|
readonly "~requires": Requires
|
|
69
69
|
|
|
@@ -133,7 +133,7 @@ export interface Rpc<
|
|
|
133
133
|
* Add an annotation on the rpc.
|
|
134
134
|
*/
|
|
135
135
|
annotate<I, S>(
|
|
136
|
-
tag:
|
|
136
|
+
tag: Context.Key<I, S>,
|
|
137
137
|
value: S
|
|
138
138
|
): Rpc<Tag, Payload, Success, Error, Middleware, Requires>
|
|
139
139
|
|
|
@@ -141,7 +141,7 @@ export interface Rpc<
|
|
|
141
141
|
* Merge the annotations of the rpc with the provided annotations.
|
|
142
142
|
*/
|
|
143
143
|
annotateMerge<I>(
|
|
144
|
-
annotations:
|
|
144
|
+
annotations: Context.Context<I>
|
|
145
145
|
): Rpc<Tag, Payload, Success, Error, Middleware, Requires>
|
|
146
146
|
}
|
|
147
147
|
|
|
@@ -160,7 +160,7 @@ export interface Handler<Tag extends string> {
|
|
|
160
160
|
readonly headers: Headers
|
|
161
161
|
readonly rpc: Any
|
|
162
162
|
}) => Effect<any, any> | Stream<any, any>
|
|
163
|
-
readonly
|
|
163
|
+
readonly context: Context.Context<never>
|
|
164
164
|
}
|
|
165
165
|
|
|
166
166
|
/**
|
|
@@ -171,7 +171,7 @@ export interface Any extends Pipeable {
|
|
|
171
171
|
readonly [TypeId]: typeof TypeId
|
|
172
172
|
readonly _tag: string
|
|
173
173
|
readonly key: string
|
|
174
|
-
readonly annotations:
|
|
174
|
+
readonly annotations: Context.Context<never>
|
|
175
175
|
}
|
|
176
176
|
|
|
177
177
|
/**
|
|
@@ -186,7 +186,7 @@ export interface AnyWithProps extends Pipeable {
|
|
|
186
186
|
readonly successSchema: Schema.Top
|
|
187
187
|
readonly errorSchema: Schema.Top
|
|
188
188
|
readonly defectSchema: Schema.Top
|
|
189
|
-
readonly annotations:
|
|
189
|
+
readonly annotations: Context.Context<never>
|
|
190
190
|
readonly middlewares: ReadonlySet<RpcMiddleware.AnyServiceWithProps>
|
|
191
191
|
readonly "~requires": any
|
|
192
192
|
}
|
|
@@ -394,7 +394,7 @@ export type Middleware<R> = R extends Rpc<
|
|
|
394
394
|
infer _Error,
|
|
395
395
|
infer _Middleware,
|
|
396
396
|
infer _Requires
|
|
397
|
-
> ?
|
|
397
|
+
> ? Context.Service.Identifier<_Middleware>
|
|
398
398
|
: never
|
|
399
399
|
|
|
400
400
|
/**
|
|
@@ -660,7 +660,7 @@ const Proto = {
|
|
|
660
660
|
middlewares: this.middlewares
|
|
661
661
|
})
|
|
662
662
|
},
|
|
663
|
-
annotate(this: AnyWithProps, tag:
|
|
663
|
+
annotate(this: AnyWithProps, tag: Context.Key<any, any>, value: any) {
|
|
664
664
|
return makeProto({
|
|
665
665
|
_tag: this._tag,
|
|
666
666
|
payloadSchema: this.payloadSchema,
|
|
@@ -668,10 +668,10 @@ const Proto = {
|
|
|
668
668
|
errorSchema: this.errorSchema,
|
|
669
669
|
defectSchema: this.defectSchema,
|
|
670
670
|
middlewares: this.middlewares,
|
|
671
|
-
annotations:
|
|
671
|
+
annotations: Context.add(this.annotations, tag, value)
|
|
672
672
|
})
|
|
673
673
|
},
|
|
674
|
-
annotateMerge(this: AnyWithProps, context:
|
|
674
|
+
annotateMerge(this: AnyWithProps, context: Context.Context<any>) {
|
|
675
675
|
return makeProto({
|
|
676
676
|
_tag: this._tag,
|
|
677
677
|
payloadSchema: this.payloadSchema,
|
|
@@ -679,7 +679,7 @@ const Proto = {
|
|
|
679
679
|
errorSchema: this.errorSchema,
|
|
680
680
|
defectSchema: this.defectSchema,
|
|
681
681
|
middlewares: this.middlewares,
|
|
682
|
-
annotations:
|
|
682
|
+
annotations: Context.merge(this.annotations, context)
|
|
683
683
|
})
|
|
684
684
|
}
|
|
685
685
|
}
|
|
@@ -697,7 +697,7 @@ const makeProto = <
|
|
|
697
697
|
readonly successSchema: Success
|
|
698
698
|
readonly errorSchema: Error
|
|
699
699
|
readonly defectSchema: Schema.Top
|
|
700
|
-
readonly annotations:
|
|
700
|
+
readonly annotations: Context.Context<never>
|
|
701
701
|
readonly middlewares: ReadonlySet<Middleware>
|
|
702
702
|
}): Rpc<Tag, Payload, Success, Error, Middleware, Requires> => {
|
|
703
703
|
function Rpc() {}
|
|
@@ -758,7 +758,7 @@ export const make = <
|
|
|
758
758
|
successSchema,
|
|
759
759
|
errorSchema: options?.stream ? Schema.Never : errorSchema,
|
|
760
760
|
defectSchema,
|
|
761
|
-
annotations:
|
|
761
|
+
annotations: Context.empty(),
|
|
762
762
|
middlewares: new Set<never>()
|
|
763
763
|
}) as any
|
|
764
764
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { NonEmptyReadonlyArray } from "../../Array.ts"
|
|
5
5
|
import * as Cause from "../../Cause.ts"
|
|
6
|
+
import * as Context from "../../Context.ts"
|
|
6
7
|
import type * as Duration from "../../Duration.ts"
|
|
7
8
|
import * as Effect from "../../Effect.ts"
|
|
8
9
|
import * as Exit from "../../Exit.ts"
|
|
@@ -17,7 +18,6 @@ import * as Result from "../../Result.ts"
|
|
|
17
18
|
import * as Schedule from "../../Schedule.ts"
|
|
18
19
|
import * as Schema from "../../Schema.ts"
|
|
19
20
|
import * as Scope from "../../Scope.ts"
|
|
20
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
21
21
|
import * as Stream from "../../Stream.ts"
|
|
22
22
|
import type * as Struct from "../../Struct.ts"
|
|
23
23
|
import type { Span } from "../../Tracer.ts"
|
|
@@ -66,11 +66,11 @@ export declare namespace RpcClient {
|
|
|
66
66
|
readonly asQueue?: AsQueue | undefined
|
|
67
67
|
readonly streamBufferSize?: number | undefined
|
|
68
68
|
readonly headers?: Headers.Input | undefined
|
|
69
|
-
readonly context?:
|
|
69
|
+
readonly context?: Context.Context<never> | undefined
|
|
70
70
|
} :
|
|
71
71
|
{
|
|
72
72
|
readonly headers?: Headers.Input | undefined
|
|
73
|
-
readonly context?:
|
|
73
|
+
readonly context?: Context.Context<never> | undefined
|
|
74
74
|
readonly discard?: Discard | undefined
|
|
75
75
|
}
|
|
76
76
|
) => Current extends Rpc.Rpc<
|
|
@@ -129,11 +129,11 @@ export declare namespace RpcClient {
|
|
|
129
129
|
readonly asQueue?: AsQueue | undefined
|
|
130
130
|
readonly streamBufferSize?: number | undefined
|
|
131
131
|
readonly headers?: Headers.Input | undefined
|
|
132
|
-
readonly context?:
|
|
132
|
+
readonly context?: Context.Context<never> | undefined
|
|
133
133
|
} :
|
|
134
134
|
{
|
|
135
135
|
readonly headers?: Headers.Input | undefined
|
|
136
|
-
readonly context?:
|
|
136
|
+
readonly context?: Context.Context<never> | undefined
|
|
137
137
|
readonly discard?: Discard | undefined
|
|
138
138
|
}
|
|
139
139
|
) => Rpc.ExtractTag<Rpcs, Tag> extends Rpc.Rpc<
|
|
@@ -192,7 +192,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
192
192
|
readonly onFromClient: (
|
|
193
193
|
options: {
|
|
194
194
|
readonly message: FromClient<Rpcs>
|
|
195
|
-
readonly context:
|
|
195
|
+
readonly context: Context.Context<never>
|
|
196
196
|
readonly discard: boolean
|
|
197
197
|
}
|
|
198
198
|
) => Effect.Effect<void, E>
|
|
@@ -216,7 +216,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
216
216
|
readonly onFromClient: (
|
|
217
217
|
options: {
|
|
218
218
|
readonly message: FromClient<Rpcs>
|
|
219
|
-
readonly context:
|
|
219
|
+
readonly context: Context.Context<never>
|
|
220
220
|
readonly discard: boolean
|
|
221
221
|
}
|
|
222
222
|
) => Effect.Effect<void, E>
|
|
@@ -233,20 +233,20 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
233
233
|
const disableTracing = options?.disableTracing ?? false
|
|
234
234
|
const generateRequestId = options?.generateRequestId ?? (() => requestIdCounter++ as RequestId)
|
|
235
235
|
|
|
236
|
-
const services = yield* Effect.
|
|
237
|
-
const scope =
|
|
236
|
+
const services = yield* Effect.context<Rpc.MiddlewareClient<Rpcs> | Scope.Scope>()
|
|
237
|
+
const scope = Context.get(services, Scope.Scope)
|
|
238
238
|
|
|
239
239
|
type ClientEntry = {
|
|
240
240
|
readonly _tag: "Effect"
|
|
241
241
|
readonly rpc: Rpc.AnyWithProps
|
|
242
|
-
readonly context:
|
|
242
|
+
readonly context: Context.Context<never>
|
|
243
243
|
resume: (_: Exit.Exit<any, any>) => void
|
|
244
244
|
} | {
|
|
245
245
|
readonly _tag: "Queue"
|
|
246
246
|
readonly rpc: Rpc.AnyWithProps
|
|
247
247
|
readonly queue: Queue.Queue<any, any>
|
|
248
248
|
readonly scope: Scope.Scope
|
|
249
|
-
readonly context:
|
|
249
|
+
readonly context: Context.Context<never>
|
|
250
250
|
}
|
|
251
251
|
const entries = new Map<RequestId, ClientEntry>()
|
|
252
252
|
|
|
@@ -279,18 +279,18 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
279
279
|
readonly asQueue?: boolean | undefined
|
|
280
280
|
readonly streamBufferSize?: number | undefined
|
|
281
281
|
readonly headers?: Headers.Input | undefined
|
|
282
|
-
readonly context?:
|
|
282
|
+
readonly context?: Context.Context<never> | undefined
|
|
283
283
|
readonly discard?: boolean | undefined
|
|
284
284
|
}) => {
|
|
285
285
|
const headers = opts?.headers ? Headers.fromInput(opts.headers) : Headers.empty
|
|
286
|
-
const context = opts?.context ??
|
|
286
|
+
const context = opts?.context ?? Context.empty()
|
|
287
287
|
if (!isStream) {
|
|
288
288
|
const onRequest = (span: Span | undefined) =>
|
|
289
289
|
onEffectRequest(
|
|
290
290
|
rpc,
|
|
291
291
|
middleware,
|
|
292
292
|
span,
|
|
293
|
-
rpc.payloadSchema.
|
|
293
|
+
rpc.payloadSchema.make(payload),
|
|
294
294
|
headers,
|
|
295
295
|
context,
|
|
296
296
|
opts?.discard ?? false
|
|
@@ -304,7 +304,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
304
304
|
const queue = onStreamRequest(
|
|
305
305
|
rpc,
|
|
306
306
|
middleware,
|
|
307
|
-
rpc.payloadSchema.
|
|
307
|
+
rpc.payloadSchema.make(payload),
|
|
308
308
|
headers,
|
|
309
309
|
opts?.streamBufferSize ?? 16,
|
|
310
310
|
context
|
|
@@ -323,7 +323,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
323
323
|
span: Span | undefined,
|
|
324
324
|
payload: any,
|
|
325
325
|
headers: Headers.Headers,
|
|
326
|
-
context:
|
|
326
|
+
context: Context.Context<never>,
|
|
327
327
|
discard: boolean
|
|
328
328
|
) =>
|
|
329
329
|
Effect.withFiber<any, any, any>((parentFiber) => {
|
|
@@ -375,7 +375,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
375
375
|
entries.set(id, entry)
|
|
376
376
|
fiber = send.pipe(
|
|
377
377
|
span ? Effect.withParentSpan(span, { captureStackTrace: false }) : identity,
|
|
378
|
-
Effect.runForkWith(parentFiber.
|
|
378
|
+
Effect.runForkWith(parentFiber.context)
|
|
379
379
|
)
|
|
380
380
|
fiber.addObserver((exit) => {
|
|
381
381
|
if (exit._tag === "Failure") {
|
|
@@ -402,7 +402,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
402
402
|
payload: any,
|
|
403
403
|
headers: Headers.Headers,
|
|
404
404
|
streamBufferSize: number,
|
|
405
|
-
context:
|
|
405
|
+
context: Context.Context<never>
|
|
406
406
|
) {
|
|
407
407
|
if (isShutdown) {
|
|
408
408
|
return yield* Effect.interrupt
|
|
@@ -414,7 +414,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
414
414
|
const fiber = Fiber.getCurrent()!
|
|
415
415
|
const id = generateRequestId()
|
|
416
416
|
|
|
417
|
-
const scope =
|
|
417
|
+
const scope = Context.getUnsafe(fiber.context, Scope.Scope)
|
|
418
418
|
yield* Scope.addFinalizerExit(
|
|
419
419
|
scope,
|
|
420
420
|
(exit) => {
|
|
@@ -508,7 +508,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
508
508
|
const sendInterrupt = (
|
|
509
509
|
requestId: RequestId,
|
|
510
510
|
interruptors: ReadonlyArray<number>,
|
|
511
|
-
context:
|
|
511
|
+
context: Context.Context<never>
|
|
512
512
|
): Effect.Effect<void> =>
|
|
513
513
|
Effect.callback<void>((resume) => {
|
|
514
514
|
const parentFiber = Fiber.getCurrent()!
|
|
@@ -518,7 +518,7 @@ export const makeNoSerialization: <Rpcs extends Rpc.Any, E, const Flatten extend
|
|
|
518
518
|
discard: false
|
|
519
519
|
}).pipe(
|
|
520
520
|
Effect.timeout(1000),
|
|
521
|
-
Effect.runForkWith(parentFiber.
|
|
521
|
+
Effect.runForkWith(parentFiber.context)
|
|
522
522
|
)
|
|
523
523
|
fiber.addObserver(() => {
|
|
524
524
|
resume(Effect.void)
|
|
@@ -618,7 +618,7 @@ export const make: <Rpcs extends Rpc.Any, const Flatten extends boolean = false>
|
|
|
618
618
|
|
|
619
619
|
type ClientEntry = {
|
|
620
620
|
readonly rpc: Rpc.AnyWithProps
|
|
621
|
-
readonly context:
|
|
621
|
+
readonly context: Context.Context<never>
|
|
622
622
|
readonly schemas: RpcSchemas
|
|
623
623
|
}
|
|
624
624
|
const entries = new Map<RequestId, ClientEntry>()
|
|
@@ -636,13 +636,13 @@ export const make: <Rpcs extends Rpc.Any, const Flatten extends boolean = false>
|
|
|
636
636
|
|
|
637
637
|
const entry: ClientEntry = {
|
|
638
638
|
rpc,
|
|
639
|
-
context: collector ?
|
|
639
|
+
context: collector ? Context.add(fiber.context, Transferable.Collector, collector) : fiber.context,
|
|
640
640
|
schemas: rpcSchemas(rpc)
|
|
641
641
|
}
|
|
642
642
|
entries.set(message.id, entry)
|
|
643
643
|
|
|
644
644
|
return entry.schemas.encodePayload(message.payload).pipe(
|
|
645
|
-
Effect.
|
|
645
|
+
Effect.provideContext(entry.context),
|
|
646
646
|
Effect.orDie,
|
|
647
647
|
Effect.flatMap((payload) =>
|
|
648
648
|
send({
|
|
@@ -685,7 +685,7 @@ export const make: <Rpcs extends Rpc.Any, const Flatten extends boolean = false>
|
|
|
685
685
|
const entry = entries.get(requestId)
|
|
686
686
|
if (!entry || Option.isNone(entry.schemas.decodeChunk)) return Effect.void
|
|
687
687
|
return entry.schemas.decodeChunk.value(message.values).pipe(
|
|
688
|
-
Effect.
|
|
688
|
+
Effect.provideContext(entry.context),
|
|
689
689
|
Effect.orDie,
|
|
690
690
|
Effect.flatMap((chunk) =>
|
|
691
691
|
write({ _tag: "Chunk", clientId: 0, requestId: RequestId(message.requestId), values: chunk })
|
|
@@ -706,7 +706,7 @@ export const make: <Rpcs extends Rpc.Any, const Flatten extends boolean = false>
|
|
|
706
706
|
if (!entry) return Effect.void
|
|
707
707
|
entries.delete(requestId)
|
|
708
708
|
return entry.schemas.decodeExit(message.exit).pipe(
|
|
709
|
-
Effect.
|
|
709
|
+
Effect.provideContext(entry.context),
|
|
710
710
|
Effect.orDie,
|
|
711
711
|
Effect.matchCauseEffect({
|
|
712
712
|
onSuccess: (exit) => write({ _tag: "Exit", clientId: 0, requestId, exit }),
|
|
@@ -767,7 +767,7 @@ const rpcSchemas = (rpc: Rpc.AnyWithProps) => {
|
|
|
767
767
|
* @since 4.0.0
|
|
768
768
|
* @category headers
|
|
769
769
|
*/
|
|
770
|
-
export const CurrentHeaders =
|
|
770
|
+
export const CurrentHeaders = Context.Reference<Headers.Headers>("effect/rpc/RpcClient/CurrentHeaders", {
|
|
771
771
|
defaultValue: () => Headers.empty
|
|
772
772
|
})
|
|
773
773
|
|
|
@@ -796,7 +796,7 @@ export const withHeaders: {
|
|
|
796
796
|
* @since 4.0.0
|
|
797
797
|
* @category protocol
|
|
798
798
|
*/
|
|
799
|
-
export class Protocol extends
|
|
799
|
+
export class Protocol extends Context.Service<Protocol, {
|
|
800
800
|
readonly run: (
|
|
801
801
|
f: (data: FromServerEncoded) => Effect.Effect<void>
|
|
802
802
|
) => Effect.Effect<never>
|
|
@@ -934,6 +934,7 @@ export const makeProtocolSocket = (options?: {
|
|
|
934
934
|
Protocol.make(Effect.fnUntraced(function*(writeResponse) {
|
|
935
935
|
const socket = yield* Socket.Socket
|
|
936
936
|
const serialization = yield* RpcSerialization.RpcSerialization
|
|
937
|
+
const hooks = yield* Effect.serviceOption(ConnectionHooks)
|
|
937
938
|
|
|
938
939
|
const write = yield* socket.writer
|
|
939
940
|
|
|
@@ -941,8 +942,9 @@ export const makeProtocolSocket = (options?: {
|
|
|
941
942
|
|
|
942
943
|
const pinger = yield* makePinger(write(parser.encode(constPing)!))
|
|
943
944
|
let currentError: RpcClientError | undefined
|
|
944
|
-
const
|
|
945
|
+
const onOpen = Effect.suspend(() => {
|
|
945
946
|
currentError = undefined
|
|
947
|
+
return Option.isSome(hooks) ? hooks.value.onConnect : Effect.void
|
|
946
948
|
})
|
|
947
949
|
|
|
948
950
|
yield* Effect.suspend(() => {
|
|
@@ -975,7 +977,7 @@ export const makeProtocolSocket = (options?: {
|
|
|
975
977
|
})
|
|
976
978
|
})
|
|
977
979
|
}
|
|
978
|
-
}, { onOpen
|
|
980
|
+
}, { onOpen }).pipe(
|
|
979
981
|
Effect.raceFirst(Effect.flatMap(
|
|
980
982
|
pinger.timeout,
|
|
981
983
|
() =>
|
|
@@ -993,6 +995,7 @@ export const makeProtocolSocket = (options?: {
|
|
|
993
995
|
Effect.flatMap(() =>
|
|
994
996
|
Effect.fail(new Socket.SocketError({ reason: new Socket.SocketCloseError({ code: 1000 }) }))
|
|
995
997
|
),
|
|
998
|
+
Option.isSome(hooks) ? Effect.ensuring(hooks.value.onDisconnect) : identity,
|
|
996
999
|
Effect.tapCause((cause) => {
|
|
997
1000
|
const error = Cause.findError(cause)
|
|
998
1001
|
const hasError = Result.isSuccess(error)
|
|
@@ -1101,6 +1104,7 @@ export const makeProtocolWorker = (
|
|
|
1101
1104
|
const scope = yield* Effect.scope
|
|
1102
1105
|
let workerId = 0
|
|
1103
1106
|
const initialMessage = yield* Effect.serviceOption(RpcWorker.InitialMessage)
|
|
1107
|
+
const hooks = yield* Effect.serviceOption(ConnectionHooks)
|
|
1104
1108
|
|
|
1105
1109
|
const entries = new Map<string, {
|
|
1106
1110
|
readonly worker: Worker.Worker<FromServerEncoded, FromClientEncoded | RpcWorker.InitialMessage.Encoded>
|
|
@@ -1215,6 +1219,7 @@ export const makeProtocolWorker = (
|
|
|
1215
1219
|
}
|
|
1216
1220
|
|
|
1217
1221
|
yield* Effect.scoped(Pool.get(pool))
|
|
1222
|
+
if (Option.isSome(hooks)) yield* hooks.value.onConnect
|
|
1218
1223
|
|
|
1219
1224
|
return {
|
|
1220
1225
|
send,
|
|
@@ -1245,6 +1250,15 @@ export const layerProtocolWorker: (
|
|
|
1245
1250
|
Worker.WorkerPlatform | Worker.Spawner
|
|
1246
1251
|
> = flow(makeProtocolWorker, Layer.effect(Protocol))
|
|
1247
1252
|
|
|
1253
|
+
/**
|
|
1254
|
+
* @since 4.0.0
|
|
1255
|
+
* @category ConnectionHooks
|
|
1256
|
+
*/
|
|
1257
|
+
export class ConnectionHooks extends Context.Service<ConnectionHooks, {
|
|
1258
|
+
readonly onConnect: Effect.Effect<void>
|
|
1259
|
+
readonly onDisconnect: Effect.Effect<void>
|
|
1260
|
+
}>()("effect/rpc/RpcClient/ConnectionHooks") {}
|
|
1261
|
+
|
|
1248
1262
|
// internal
|
|
1249
1263
|
|
|
1250
1264
|
const decodeDefect = Schema.decodeSync(Schema.Defect)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
import type * as Cause from "../../Cause.ts"
|
|
5
|
+
import * as Context from "../../Context.ts"
|
|
5
6
|
import * as Effect from "../../Effect.ts"
|
|
6
7
|
import { identity } from "../../Function.ts"
|
|
7
8
|
import * as Layer from "../../Layer.ts"
|
|
@@ -9,7 +10,6 @@ import type { Pipeable } from "../../Pipeable.ts"
|
|
|
9
10
|
import type * as Queue from "../../Queue.ts"
|
|
10
11
|
import type * as Record from "../../Record.ts"
|
|
11
12
|
import type { Scope } from "../../Scope.ts"
|
|
12
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
13
13
|
import * as Stream from "../../Stream.ts"
|
|
14
14
|
import type { Headers } from "../http/Headers.ts"
|
|
15
15
|
import * as Rpc from "./Rpc.ts"
|
|
@@ -27,7 +27,7 @@ export interface RpcGroup<in out R extends Rpc.Any> extends Pipeable {
|
|
|
27
27
|
|
|
28
28
|
readonly [TypeId]: typeof TypeId
|
|
29
29
|
readonly requests: ReadonlyMap<string, R>
|
|
30
|
-
readonly annotations:
|
|
30
|
+
readonly annotations: Context.Context<never>
|
|
31
31
|
|
|
32
32
|
/**
|
|
33
33
|
* Add one or more procedures to the group.
|
|
@@ -66,7 +66,7 @@ export interface RpcGroup<in out R extends Rpc.Any> extends Pipeable {
|
|
|
66
66
|
| Handlers
|
|
67
67
|
| Effect.Effect<Handlers, EX, RX>
|
|
68
68
|
): Effect.Effect<
|
|
69
|
-
|
|
69
|
+
Context.Context<Rpc.ToHandler<R>>,
|
|
70
70
|
EX,
|
|
71
71
|
| RX
|
|
72
72
|
| HandlersServices<R, Handlers>
|
|
@@ -131,22 +131,22 @@ export interface RpcGroup<in out R extends Rpc.Any> extends Pipeable {
|
|
|
131
131
|
/**
|
|
132
132
|
* Annotate the group with a value.
|
|
133
133
|
*/
|
|
134
|
-
annotate<I, S>(service:
|
|
134
|
+
annotate<I, S>(service: Context.Key<I, S>, value: S): RpcGroup<R>
|
|
135
135
|
|
|
136
136
|
/**
|
|
137
137
|
* Annotate the Rpc's above this point with a value.
|
|
138
138
|
*/
|
|
139
|
-
annotateRpcs<I, S>(service:
|
|
139
|
+
annotateRpcs<I, S>(service: Context.Key<I, S>, value: S): RpcGroup<R>
|
|
140
140
|
|
|
141
141
|
/**
|
|
142
142
|
* Annotate the group with the provided annotations.
|
|
143
143
|
*/
|
|
144
|
-
annotateMerge<S>(annotations:
|
|
144
|
+
annotateMerge<S>(annotations: Context.Context<S>): RpcGroup<R>
|
|
145
145
|
|
|
146
146
|
/**
|
|
147
147
|
* Annotate the Rpc's above this point with the provided annotations.
|
|
148
148
|
*/
|
|
149
|
-
annotateRpcsMerge<S>(annotations:
|
|
149
|
+
annotateRpcsMerge<S>(annotations: Context.Context<S>): RpcGroup<R>
|
|
150
150
|
}
|
|
151
151
|
|
|
152
152
|
/**
|
|
@@ -239,7 +239,7 @@ const RpcGroupProto = {
|
|
|
239
239
|
|
|
240
240
|
return makeProto({
|
|
241
241
|
requests,
|
|
242
|
-
annotations:
|
|
242
|
+
annotations: Context.makeUnsafe(annotations)
|
|
243
243
|
})
|
|
244
244
|
},
|
|
245
245
|
middleware(this: RpcGroup<any>, middleware: RpcMiddleware.AnyService) {
|
|
@@ -256,7 +256,7 @@ const RpcGroupProto = {
|
|
|
256
256
|
// oxlint-disable-next-line no-this-alias
|
|
257
257
|
const self = this
|
|
258
258
|
return Effect.gen(function*() {
|
|
259
|
-
const services = yield* Effect.
|
|
259
|
+
const services = yield* Effect.context<never>()
|
|
260
260
|
const handlers = Effect.isEffect(build) ? yield* build : build
|
|
261
261
|
const contextMap = new Map<string, unknown>()
|
|
262
262
|
for (const [tag, handler] of Object.entries(handlers)) {
|
|
@@ -264,10 +264,10 @@ const RpcGroupProto = {
|
|
|
264
264
|
contextMap.set(rpc.key, {
|
|
265
265
|
tag: rpc._tag,
|
|
266
266
|
handler,
|
|
267
|
-
services
|
|
267
|
+
context: services
|
|
268
268
|
})
|
|
269
269
|
}
|
|
270
|
-
return
|
|
270
|
+
return Context.makeUnsafe(contextMap)
|
|
271
271
|
})
|
|
272
272
|
},
|
|
273
273
|
prefix<const Prefix extends string>(this: RpcGroup<any>, prefix: Prefix) {
|
|
@@ -282,57 +282,57 @@ const RpcGroupProto = {
|
|
|
282
282
|
})
|
|
283
283
|
},
|
|
284
284
|
toLayer(this: RpcGroup<any>, build: Effect.Effect<Record<string, (request: any) => any>>) {
|
|
285
|
-
return Layer.
|
|
285
|
+
return Layer.effectContext(this.toHandlers(build))
|
|
286
286
|
},
|
|
287
287
|
of: identity,
|
|
288
288
|
toLayerHandler(this: RpcGroup<any>, service: string, build: Effect.Effect<Record<string, (request: any) => any>>) {
|
|
289
289
|
// oxlint-disable-next-line no-this-alias
|
|
290
290
|
const self = this
|
|
291
|
-
return Layer.
|
|
292
|
-
const services = yield* Effect.
|
|
291
|
+
return Layer.effectContext(Effect.gen(function*() {
|
|
292
|
+
const services = yield* Effect.context<never>()
|
|
293
293
|
const handler = Effect.isEffect(build) ? yield* build : build
|
|
294
294
|
const contextMap = new Map<string, unknown>()
|
|
295
295
|
const rpc = self.requests.get(service)!
|
|
296
296
|
contextMap.set(rpc.key, {
|
|
297
297
|
handler,
|
|
298
|
-
services
|
|
298
|
+
context: services
|
|
299
299
|
})
|
|
300
|
-
return
|
|
300
|
+
return Context.makeUnsafe(contextMap)
|
|
301
301
|
}))
|
|
302
302
|
},
|
|
303
303
|
accessHandler(this: RpcGroup<any>, service: string) {
|
|
304
|
-
return Effect.
|
|
304
|
+
return Effect.contextWith((parentContext: Context.Context<any>) => {
|
|
305
305
|
const rpc = this.requests.get(service)!
|
|
306
|
-
const { handler,
|
|
306
|
+
const { handler, context } = parentContext.mapUnsafe.get(rpc.key) as Rpc.Handler<any>
|
|
307
307
|
return Effect.succeed((payload: Rpc.Payload<any>, options: any) => {
|
|
308
308
|
options.rpc = rpc
|
|
309
309
|
const result = handler(payload, options)
|
|
310
310
|
const effectOrStream = Rpc.isWrapper(result) ? result.value : result
|
|
311
311
|
return Effect.isEffect(effectOrStream)
|
|
312
|
-
? Effect.provide(effectOrStream,
|
|
313
|
-
: Stream.
|
|
312
|
+
? Effect.provide(effectOrStream, context)
|
|
313
|
+
: Stream.provideContext(effectOrStream, context)
|
|
314
314
|
})
|
|
315
315
|
})
|
|
316
316
|
},
|
|
317
|
-
annotate(this: RpcGroup<any>, service:
|
|
317
|
+
annotate(this: RpcGroup<any>, service: Context.Key<any, any>, value: any) {
|
|
318
318
|
return makeProto({
|
|
319
319
|
requests: this.requests,
|
|
320
|
-
annotations:
|
|
320
|
+
annotations: Context.add(this.annotations, service, value)
|
|
321
321
|
})
|
|
322
322
|
},
|
|
323
|
-
annotateRpcs(this: RpcGroup<any>, service:
|
|
324
|
-
return this.annotateRpcsMerge(
|
|
323
|
+
annotateRpcs(this: RpcGroup<any>, service: Context.Key<any, any>, value: any) {
|
|
324
|
+
return this.annotateRpcsMerge(Context.make(service, value))
|
|
325
325
|
},
|
|
326
|
-
annotateMerge(this: RpcGroup<any>, context:
|
|
326
|
+
annotateMerge(this: RpcGroup<any>, context: Context.Context<any>) {
|
|
327
327
|
return makeProto({
|
|
328
328
|
requests: this.requests,
|
|
329
|
-
annotations:
|
|
329
|
+
annotations: Context.merge(this.annotations, context)
|
|
330
330
|
})
|
|
331
331
|
},
|
|
332
|
-
annotateRpcsMerge(this: RpcGroup<any>,
|
|
332
|
+
annotateRpcsMerge(this: RpcGroup<any>, context: Context.Context<any>) {
|
|
333
333
|
const requests = new Map<string, any>()
|
|
334
334
|
for (const [tag, rpc] of this.requests) {
|
|
335
|
-
requests.set(tag, rpc.annotateMerge(
|
|
335
|
+
requests.set(tag, rpc.annotateMerge(Context.merge(context, rpc.annotations)))
|
|
336
336
|
}
|
|
337
337
|
return makeProto({
|
|
338
338
|
requests,
|
|
@@ -343,7 +343,7 @@ const RpcGroupProto = {
|
|
|
343
343
|
|
|
344
344
|
const makeProto = <Rpcs extends Rpc.Any>(options: {
|
|
345
345
|
readonly requests: ReadonlyMap<string, Rpcs>
|
|
346
|
-
readonly annotations:
|
|
346
|
+
readonly annotations: Context.Context<never>
|
|
347
347
|
}): RpcGroup<Rpcs> =>
|
|
348
348
|
Object.assign(function() {}, RpcGroupProto, {
|
|
349
349
|
requests: options.requests,
|
|
@@ -359,5 +359,5 @@ export const make = <const Rpcs extends ReadonlyArray<Rpc.Any>>(
|
|
|
359
359
|
): RpcGroup<Rpcs[number]> =>
|
|
360
360
|
makeProto({
|
|
361
361
|
requests: new Map(rpcs.map((rpc) => [rpc._tag, rpc])),
|
|
362
|
-
annotations:
|
|
362
|
+
annotations: Context.empty()
|
|
363
363
|
})
|