effect 4.0.0-beta.42 → 4.0.0-beta.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Cache.d.ts +12 -43
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +15 -42
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +21 -21
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +89 -10
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +42 -19
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +86 -46
- package/dist/Channel.js.map +1 -1
- package/dist/Clock.d.ts +2 -2
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js.map +1 -1
- package/dist/Config.d.ts +2 -2
- package/dist/ConfigProvider.d.ts +5 -5
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +5 -5
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +2 -2
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +1150 -0
- package/dist/Context.d.ts.map +1 -0
- package/dist/{ServiceMap.js → Context.js} +139 -139
- package/dist/Context.js.map +1 -0
- package/dist/DateTime.d.ts +2 -2
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +2 -2
- package/dist/DateTime.js.map +1 -1
- package/dist/Effect.d.ts +177 -177
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +81 -81
- package/dist/Effect.js.map +1 -1
- package/dist/ErrorReporter.d.ts +3 -3
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +1 -1
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +6 -6
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +4 -4
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Fiber.d.ts +7 -7
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +2 -2
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +4 -4
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +2 -2
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +4 -4
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +2 -2
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +4 -4
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +3 -3
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +3 -3
- package/dist/FileSystem.js.map +1 -1
- package/dist/Layer.d.ts +309 -266
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +156 -132
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +18 -18
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +18 -15
- package/dist/LayerMap.js.map +1 -1
- package/dist/Logger.d.ts +3 -3
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +6 -6
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +18 -21
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Metric.d.ts +19 -19
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +21 -21
- package/dist/Metric.js.map +1 -1
- package/dist/Path.d.ts +2 -2
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +2 -2
- package/dist/Path.js.map +1 -1
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +4 -4
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +3 -3
- package/dist/PubSub.js.map +1 -1
- package/dist/Random.d.ts +2 -2
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +0 -23
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +2 -2
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +12 -12
- package/dist/RcMap.js.map +1 -1
- package/dist/Redactable.d.ts +139 -62
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +59 -55
- package/dist/Redactable.js.map +1 -1
- package/dist/References.d.ts +26 -14
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +0 -12
- package/dist/References.js.map +1 -1
- package/dist/Request.d.ts +5 -5
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +6 -7
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.d.ts +0 -3
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +3 -3
- package/dist/Resource.js.map +1 -1
- package/dist/Schedule.d.ts +2 -2
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +2 -2
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +4 -4
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +7 -4
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +531 -214
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +304 -103
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +5 -15
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +49 -5
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +64 -5
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +145 -0
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +146 -0
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +2 -2
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +4 -4
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Sink.d.ts +6 -6
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +1 -1
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +2 -2
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +2 -2
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +187 -117
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +133 -57
- package/dist/Stream.js.map +1 -1
- package/dist/Terminal.d.ts +3 -3
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +2 -2
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +16 -16
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +11 -8
- package/dist/Tracer.js.map +1 -1
- package/dist/Unify.d.ts +8 -2
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js.map +1 -1
- package/dist/index.d.ts +81 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +81 -15
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/effect.js +74 -74
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/layer.js +3 -3
- package/dist/internal/layer.js.map +1 -1
- package/dist/internal/random.js +2 -2
- package/dist/internal/random.js.map +1 -1
- package/dist/internal/rcRef.js +9 -9
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/references.js +13 -13
- package/dist/internal/references.js.map +1 -1
- package/dist/internal/request.js +6 -6
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schedule.js +1 -1
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/representation.js +11 -1
- package/dist/internal/schema/representation.js.map +1 -1
- package/dist/internal/schema/schema.d.ts +10 -1
- package/dist/internal/schema/schema.d.ts.map +1 -1
- package/dist/internal/schema/schema.js +21 -1
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +3 -3
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +19 -19
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +2 -1
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/AnthropicStructuredOutput.js +5 -2
- package/dist/unstable/ai/AnthropicStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +4 -4
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +3 -3
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +6 -6
- package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.js +3 -3
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
- package/dist/unstable/ai/IdGenerator.d.ts +2 -2
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +2 -2
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +2 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +2 -2
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +54 -54
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +15 -8
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +22 -22
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +25 -25
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +3 -3
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +5 -5
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.d.ts.map +1 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js +2 -1
- package/dist/unstable/ai/OpenAiStructuredOutput.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +6 -9
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +1 -1
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +6 -7
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.d.ts +2 -2
- package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.js +2 -2
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
- package/dist/unstable/ai/Telemetry.d.ts +35 -2
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +2 -2
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts +2 -2
- package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +2 -2
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +16 -16
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +41 -13
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +3 -3
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +10 -10
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/ai/internal/codec-transformer.js +5 -2
- package/dist/unstable/ai/internal/codec-transformer.js.map +1 -1
- package/dist/unstable/cli/Argument.d.ts +2 -3
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +29 -8
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +8 -1
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts +2 -2
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +2 -2
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +14 -14
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +11 -10
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Flag.d.ts +2 -3
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +2 -2
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/unstable/cli/GlobalFlag.js +2 -2
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/HelpDoc.d.ts +8 -8
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +30 -2
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +17 -7
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Prompt.js +8 -2
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +5 -5
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +3 -3
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/parser.js +94 -15
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterError.d.ts +7 -7
- package/dist/unstable/cluster/ClusterSchema.d.ts +12 -9
- package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.js +9 -9
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts +1 -0
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +68 -40
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +10 -10
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +25 -20
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.d.ts +2 -2
- package/dist/unstable/cluster/EntityProxy.js +3 -3
- package/dist/unstable/cluster/EntityProxy.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js +4 -4
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityResource.js +2 -2
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +3 -3
- package/dist/unstable/cluster/HttpRunner.js +2 -2
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +4 -4
- package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +2 -2
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +7 -4
- package/dist/unstable/cluster/Message.d.ts.map +1 -1
- package/dist/unstable/cluster/Message.js +5 -5
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +14 -14
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +8 -8
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +2 -2
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +5 -5
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts +2 -2
- package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +2 -2
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +1 -1
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.d.ts +12 -12
- package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.js +3 -3
- package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +3 -3
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +7 -7
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.d.ts +35 -49
- package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardId.js +65 -67
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +21 -21
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +2 -2
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +5 -5
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SingletonAddress.d.ts +2 -2
- package/dist/unstable/cluster/Snowflake.d.ts +2 -2
- package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
- package/dist/unstable/cluster/Snowflake.js +2 -2
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +15 -14
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +2 -2
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceMap.js +3 -3
- package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.d.ts +2 -2
- package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +5 -5
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +4 -4
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +2 -2
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +5 -5
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +18 -18
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +2 -2
- package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +2 -2
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -12
- package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js +2 -2
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.d.ts +3 -3
- package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.js +2 -2
- package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +2 -2
- package/dist/unstable/http/Etag.d.ts.map +1 -1
- package/dist/unstable/http/Etag.js +2 -2
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.d.ts +6 -3
- package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js +5 -5
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +5 -2
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +3 -3
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +8 -6
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +6 -6
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +2 -2
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +4 -4
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +6 -6
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +24 -24
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts +2 -2
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js +2 -2
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +3 -3
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +26 -14
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +2 -2
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +2 -2
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +7 -7
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +29 -29
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +2 -2
- package/dist/unstable/http/HttpServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpServer.js +2 -2
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +3 -3
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +3 -3
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +6 -6
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +2 -2
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +6 -6
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +6 -6
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +7 -7
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.d.ts +9 -9
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +8 -8
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +0 -3
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +20 -20
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +7 -7
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +4 -4
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +8 -8
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js +4 -4
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +6 -6
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +5 -5
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts +9 -6
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js +6 -6
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts +15 -15
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +23 -23
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +5 -5
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js +1 -1
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.d.ts +2 -2
- package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.js +2 -2
- package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts +3 -3
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +4 -33
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +23 -2
- package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +144 -2
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +1 -2
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +10 -11
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +4 -4
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +3 -3
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +4 -4
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +3 -3
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +6 -6
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +3 -3
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +3 -3
- package/dist/unstable/persistence/Redis.d.ts.map +1 -1
- package/dist/unstable/persistence/Redis.js +2 -2
- package/dist/unstable/persistence/Redis.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -2
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +2 -2
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +36 -36
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +9 -9
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +3 -3
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +2 -2
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +2 -2
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +3 -3
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +3 -3
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +2 -2
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.d.ts +2 -2
- package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js +6 -6
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +11 -11
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +4 -4
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +18 -8
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +27 -18
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.d.ts +2 -2
- package/dist/unstable/rpc/RpcGroup.d.ts +7 -7
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcGroup.js +20 -20
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +6 -6
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js +5 -5
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +3 -3
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +3 -3
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +2 -2
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +7 -7
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +2 -2
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +18 -18
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/RpcWorker.d.ts +2 -2
- package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcWorker.js +4 -4
- package/dist/unstable/rpc/RpcWorker.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts +0 -3
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +2 -5
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +10 -10
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +9 -9
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +5 -2
- package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
- package/dist/unstable/socket/SocketServer.js +2 -2
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +5 -5
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +7 -7
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.d.ts +2 -2
- package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
- package/dist/unstable/sql/SqlConnection.js +5 -2
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +12 -12
- package/dist/unstable/sql/SqlModel.d.ts +8 -9
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +9 -35
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.js +11 -11
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +2 -2
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +2 -2
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts +2 -2
- package/dist/unstable/workers/Transferable.d.ts.map +1 -1
- package/dist/unstable/workers/Transferable.js +6 -6
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +3 -3
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +6 -3
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workers/WorkerError.d.ts +5 -5
- package/dist/unstable/workers/WorkerRunner.d.ts +2 -2
- package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
- package/dist/unstable/workers/WorkerRunner.js +5 -2
- package/dist/unstable/workers/WorkerRunner.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +7 -7
- package/dist/unstable/workflow/Activity.d.ts.map +1 -1
- package/dist/unstable/workflow/Activity.js +7 -7
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +0 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +3 -3
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +7 -7
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +9 -9
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +18 -18
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +9 -3
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +14 -5
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js +4 -4
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/package.json +1 -1
- package/src/Cache.ts +18 -46
- package/src/Cause.ts +21 -21
- package/src/Channel.ts +120 -79
- package/src/Clock.ts +2 -2
- package/src/Config.ts +2 -2
- package/src/ConfigProvider.ts +5 -5
- package/src/Console.ts +2 -2
- package/src/{ServiceMap.ts → Context.ts} +337 -340
- package/src/DateTime.ts +2 -2
- package/src/Effect.ts +182 -184
- package/src/ErrorReporter.ts +3 -3
- package/src/ExecutionPlan.ts +8 -9
- package/src/Fiber.ts +7 -7
- package/src/FiberHandle.ts +5 -5
- package/src/FiberMap.ts +5 -5
- package/src/FiberSet.ts +5 -5
- package/src/FileSystem.ts +3 -3
- package/src/Layer.ts +358 -305
- package/src/LayerMap.ts +27 -26
- package/src/Logger.ts +3 -3
- package/src/ManagedRuntime.ts +32 -32
- package/src/Metric.ts +58 -58
- package/src/Path.ts +2 -2
- package/src/Pool.ts +5 -5
- package/src/PubSub.ts +3 -3
- package/src/Random.ts +2 -2
- package/src/RcMap.ts +14 -14
- package/src/Redactable.ts +146 -72
- package/src/References.ts +14 -14
- package/src/Request.ts +5 -5
- package/src/RequestResolver.ts +6 -7
- package/src/Resource.ts +4 -4
- package/src/Schedule.ts +2 -2
- package/src/Scheduler.ts +4 -4
- package/src/Schema.ts +837 -397
- package/src/SchemaAST.ts +5 -14
- package/src/SchemaGetter.ts +69 -11
- package/src/SchemaTransformation.ts +166 -0
- package/src/Scope.ts +2 -2
- package/src/ScopedCache.ts +5 -5
- package/src/Sink.ts +9 -9
- package/src/Stdio.ts +2 -2
- package/src/Stream.ts +234 -158
- package/src/Terminal.ts +3 -3
- package/src/Tracer.ts +17 -17
- package/src/Unify.ts +26 -2
- package/src/index.ts +82 -16
- package/src/internal/core.ts +7 -7
- package/src/internal/effect.ts +106 -106
- package/src/internal/layer.ts +7 -7
- package/src/internal/random.ts +2 -2
- package/src/internal/rcRef.ts +10 -10
- package/src/internal/references.ts +13 -13
- package/src/internal/request.ts +8 -8
- package/src/internal/schedule.ts +3 -1
- package/src/internal/schema/representation.ts +8 -1
- package/src/internal/schema/schema.ts +24 -1
- package/src/testing/TestSchema.ts +3 -3
- package/src/unstable/ai/AiError.ts +3 -2
- package/src/unstable/ai/AnthropicStructuredOutput.ts +3 -3
- package/src/unstable/ai/Chat.ts +3 -3
- package/src/unstable/ai/EmbeddingModel.ts +3 -3
- package/src/unstable/ai/IdGenerator.ts +2 -2
- package/src/unstable/ai/LanguageModel.ts +2 -2
- package/src/unstable/ai/McpSchema.ts +11 -9
- package/src/unstable/ai/McpServer.ts +44 -44
- package/src/unstable/ai/Model.ts +8 -8
- package/src/unstable/ai/OpenAiStructuredOutput.ts +2 -2
- package/src/unstable/ai/Prompt.ts +6 -12
- package/src/unstable/ai/Response.ts +6 -8
- package/src/unstable/ai/ResponseIdTracker.ts +2 -4
- package/src/unstable/ai/Telemetry.ts +2 -2
- package/src/unstable/ai/Tokenizer.ts +2 -2
- package/src/unstable/ai/Tool.ts +25 -25
- package/src/unstable/ai/Toolkit.ts +12 -12
- package/src/unstable/ai/internal/codec-transformer.ts +3 -2
- package/src/unstable/cli/Argument.ts +3 -4
- package/src/unstable/cli/CliError.ts +22 -9
- package/src/unstable/cli/CliOutput.ts +2 -2
- package/src/unstable/cli/Command.ts +36 -30
- package/src/unstable/cli/Flag.ts +3 -4
- package/src/unstable/cli/GlobalFlag.ts +3 -3
- package/src/unstable/cli/HelpDoc.ts +8 -8
- package/src/unstable/cli/Param.ts +39 -16
- package/src/unstable/cli/Prompt.ts +13 -6
- package/src/unstable/cli/internal/command.ts +7 -7
- package/src/unstable/cli/internal/parser.ts +130 -21
- package/src/unstable/cluster/ClusterSchema.ts +12 -12
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +91 -53
- package/src/unstable/cluster/Entity.ts +43 -32
- package/src/unstable/cluster/EntityProxy.ts +3 -3
- package/src/unstable/cluster/EntityProxyServer.ts +4 -4
- package/src/unstable/cluster/EntityResource.ts +2 -2
- package/src/unstable/cluster/HttpRunner.ts +2 -2
- package/src/unstable/cluster/K8sHttpClient.ts +2 -2
- package/src/unstable/cluster/Message.ts +8 -8
- package/src/unstable/cluster/MessageStorage.ts +11 -11
- package/src/unstable/cluster/Reply.ts +7 -7
- package/src/unstable/cluster/RunnerHealth.ts +2 -2
- package/src/unstable/cluster/RunnerServer.ts +1 -1
- package/src/unstable/cluster/RunnerStorage.ts +9 -9
- package/src/unstable/cluster/Runners.ts +7 -7
- package/src/unstable/cluster/ShardId.ts +84 -74
- package/src/unstable/cluster/Sharding.ts +26 -26
- package/src/unstable/cluster/ShardingConfig.ts +5 -5
- package/src/unstable/cluster/Snowflake.ts +2 -2
- package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +27 -23
- package/src/unstable/cluster/internal/entityReaper.ts +2 -2
- package/src/unstable/cluster/internal/resourceMap.ts +3 -3
- package/src/unstable/devtools/DevToolsClient.ts +5 -5
- package/src/unstable/eventlog/EventJournal.ts +2 -2
- package/src/unstable/eventlog/EventLog.ts +21 -21
- package/src/unstable/eventlog/EventLogEncryption.ts +2 -2
- package/src/unstable/eventlog/EventLogRemote.ts +2 -2
- package/src/unstable/eventlog/EventLogServer.ts +2 -2
- package/src/unstable/http/Etag.ts +2 -2
- package/src/unstable/http/FetchHttpClient.ts +5 -5
- package/src/unstable/http/Headers.ts +4 -4
- package/src/unstable/http/HttpClient.ts +9 -8
- package/src/unstable/http/HttpClientRequest.ts +5 -5
- package/src/unstable/http/HttpEffect.ts +35 -35
- package/src/unstable/http/HttpIncomingMessage.ts +2 -2
- package/src/unstable/http/HttpMiddleware.ts +28 -14
- package/src/unstable/http/HttpPlatform.ts +2 -2
- package/src/unstable/http/HttpRouter.ts +37 -37
- package/src/unstable/http/HttpServer.ts +2 -2
- package/src/unstable/http/HttpServerError.ts +4 -4
- package/src/unstable/http/HttpServerRequest.ts +7 -7
- package/src/unstable/http/HttpServerResponse.ts +8 -8
- package/src/unstable/http/Multipart.ts +8 -8
- package/src/unstable/httpapi/HttpApi.ts +18 -18
- package/src/unstable/httpapi/HttpApiBuilder.ts +20 -20
- package/src/unstable/httpapi/HttpApiClient.ts +4 -4
- package/src/unstable/httpapi/HttpApiEndpoint.ts +14 -14
- package/src/unstable/httpapi/HttpApiGroup.ts +16 -16
- package/src/unstable/httpapi/HttpApiMiddleware.ts +14 -14
- package/src/unstable/httpapi/HttpApiSecurity.ts +13 -13
- package/src/unstable/httpapi/OpenApi.ts +29 -31
- package/src/unstable/observability/OtlpExporter.ts +5 -5
- package/src/unstable/observability/OtlpMetrics.ts +1 -1
- package/src/unstable/observability/OtlpSerialization.ts +2 -2
- package/src/unstable/observability/OtlpTracer.ts +2 -2
- package/src/unstable/observability/PrometheusMetrics.ts +5 -5
- package/src/unstable/persistence/KeyValueStore.ts +226 -3
- package/src/unstable/persistence/PersistedCache.ts +20 -17
- package/src/unstable/persistence/PersistedQueue.ts +3 -3
- package/src/unstable/persistence/Persistence.ts +4 -4
- package/src/unstable/persistence/RateLimiter.ts +3 -3
- package/src/unstable/persistence/Redis.ts +2 -2
- package/src/unstable/process/ChildProcessSpawner.ts +46 -2
- package/src/unstable/reactivity/Atom.ts +79 -79
- package/src/unstable/reactivity/AtomHttpApi.ts +4 -4
- package/src/unstable/reactivity/AtomRegistry.ts +4 -4
- package/src/unstable/reactivity/AtomRpc.ts +4 -4
- package/src/unstable/reactivity/Reactivity.ts +6 -6
- package/src/unstable/rpc/Rpc.ts +17 -17
- package/src/unstable/rpc/RpcClient.ts +44 -30
- package/src/unstable/rpc/RpcGroup.ts +30 -30
- package/src/unstable/rpc/RpcMiddleware.ts +14 -14
- package/src/unstable/rpc/RpcSchema.ts +4 -4
- package/src/unstable/rpc/RpcSerialization.ts +7 -7
- package/src/unstable/rpc/RpcServer.ts +19 -19
- package/src/unstable/rpc/RpcWorker.ts +5 -5
- package/src/unstable/rpc/Utils.ts +4 -4
- package/src/unstable/socket/Socket.ts +9 -9
- package/src/unstable/socket/SocketServer.ts +2 -2
- package/src/unstable/sql/SqlClient.ts +11 -11
- package/src/unstable/sql/SqlConnection.ts +2 -2
- package/src/unstable/sql/SqlModel.ts +54 -82
- package/src/unstable/sql/SqlResolver.ts +11 -11
- package/src/unstable/sql/Statement.ts +2 -2
- package/src/unstable/workers/Transferable.ts +6 -6
- package/src/unstable/workers/Worker.ts +4 -4
- package/src/unstable/workers/WorkerRunner.ts +2 -2
- package/src/unstable/workflow/Activity.ts +14 -14
- package/src/unstable/workflow/DurableClock.ts +3 -3
- package/src/unstable/workflow/DurableDeferred.ts +8 -8
- package/src/unstable/workflow/Workflow.ts +23 -23
- package/src/unstable/workflow/WorkflowEngine.ts +28 -6
- package/src/unstable/workflow/WorkflowProxyServer.ts +4 -4
- package/dist/ServiceMap.d.ts +0 -1150
- package/dist/ServiceMap.d.ts.map +0 -1
- package/dist/ServiceMap.js.map +0 -1
|
@@ -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 * as Exit from "../../Exit.ts"
|
|
7
8
|
import * as Fiber from "../../Fiber.ts"
|
|
@@ -9,7 +10,6 @@ import { dual } from "../../Function.ts"
|
|
|
9
10
|
import { reportCauseUnsafe } from "../../internal/effect.ts"
|
|
10
11
|
import * as Layer from "../../Layer.ts"
|
|
11
12
|
import * as Scope from "../../Scope.ts"
|
|
12
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
13
13
|
import * as Stream from "../../Stream.ts"
|
|
14
14
|
import * as HttpBody from "./HttpBody.ts"
|
|
15
15
|
import { type HttpMiddleware, tracer } from "./HttpMiddleware.ts"
|
|
@@ -36,7 +36,7 @@ export const toHandled = <E, R, EH, RH>(
|
|
|
36
36
|
Effect.flatMapEager(causeResponse(cause), ([response, cause]) => {
|
|
37
37
|
const fiber = Fiber.getCurrent()!
|
|
38
38
|
reportCauseUnsafe(fiber, cause)
|
|
39
|
-
const request =
|
|
39
|
+
const request = Context.getUnsafe(fiber.context, HttpServerRequest)
|
|
40
40
|
const handler = requestPreResponseHandlers.get(request.source)
|
|
41
41
|
const cont = cause.reasons.length === 0 ? Effect.succeed(response) : Effect.failCause(cause)
|
|
42
42
|
if (handler === undefined) {
|
|
@@ -59,7 +59,7 @@ export const toHandled = <E, R, EH, RH>(
|
|
|
59
59
|
const responded = Effect.matchCauseEffect(self, {
|
|
60
60
|
onSuccess: (response) => {
|
|
61
61
|
const fiber = Fiber.getCurrent()!
|
|
62
|
-
const request =
|
|
62
|
+
const request = Context.getUnsafe(fiber.context, HttpServerRequest)
|
|
63
63
|
const handler = requestPreResponseHandlers.get(request.source)
|
|
64
64
|
if (handler === undefined) {
|
|
65
65
|
;(request as any)[handledSymbol] = true
|
|
@@ -83,7 +83,7 @@ export const toHandled = <E, R, EH, RH>(
|
|
|
83
83
|
onFailure(cause): Effect.Effect<void, EH, RH> {
|
|
84
84
|
const fiber = Fiber.getCurrent()!
|
|
85
85
|
reportCauseUnsafe(fiber, cause)
|
|
86
|
-
const request =
|
|
86
|
+
const request = Context.getUnsafe(fiber.context, HttpServerRequest)
|
|
87
87
|
if (handledSymbol in request) return Effect.void
|
|
88
88
|
return Effect.matchCauseEffectEager(causeResponse(cause), {
|
|
89
89
|
onFailure(_) {
|
|
@@ -96,7 +96,7 @@ export const toHandled = <E, R, EH, RH>(
|
|
|
96
96
|
},
|
|
97
97
|
onSuccess(response): Effect.Effect<void, EH, RH> {
|
|
98
98
|
const fiber = Fiber.getCurrent()!
|
|
99
|
-
const request =
|
|
99
|
+
const request = Context.getUnsafe(fiber.context, Request.HttpServerRequest)
|
|
100
100
|
return handledSymbol in request ? Effect.void : handleResponse(request, response)
|
|
101
101
|
}
|
|
102
102
|
})
|
|
@@ -128,7 +128,7 @@ export const scopeTransferToStream = (
|
|
|
128
128
|
return response
|
|
129
129
|
}
|
|
130
130
|
const fiber = Fiber.getCurrent()!
|
|
131
|
-
const scope =
|
|
131
|
+
const scope = Context.getUnsafe(fiber.context, Scope.Scope) as Scope.Closeable
|
|
132
132
|
scopeDisableClose(scope)
|
|
133
133
|
return Response.setBody(
|
|
134
134
|
response,
|
|
@@ -145,10 +145,10 @@ const scopeEjected = Symbol.for("effect/http/HttpEffect/scopeEjected")
|
|
|
145
145
|
const scoped = <A, E, R>(effect: Effect.Effect<A, E, R>) =>
|
|
146
146
|
Effect.withFiber((fiber) => {
|
|
147
147
|
const scope = Scope.makeUnsafe()
|
|
148
|
-
const prevServices = fiber.
|
|
149
|
-
fiber.
|
|
148
|
+
const prevServices = fiber.context
|
|
149
|
+
fiber.setContext(Context.add(fiber.context, Scope.Scope, scope))
|
|
150
150
|
return Effect.onExitPrimitive(effect, (exit) => {
|
|
151
|
-
fiber.
|
|
151
|
+
fiber.setContext(prevServices)
|
|
152
152
|
if (scopeEjected in scope) return undefined
|
|
153
153
|
return Scope.closeUnsafe(scope, exit)
|
|
154
154
|
}, true)
|
|
@@ -218,35 +218,35 @@ export const withPreResponseHandler: {
|
|
|
218
218
|
* @category conversions
|
|
219
219
|
*/
|
|
220
220
|
export const toWebHandlerWith = <Provided, R = never, ReqR = Exclude<R, Provided | Scope.Scope | HttpServerRequest>>(
|
|
221
|
-
|
|
221
|
+
context: Context.Context<Provided>
|
|
222
222
|
) =>
|
|
223
223
|
<E>(
|
|
224
224
|
self: Effect.Effect<HttpServerResponse, E, R>,
|
|
225
225
|
middleware?: HttpMiddleware | undefined
|
|
226
226
|
): [ReqR] extends [never] ?
|
|
227
|
-
(request: Request,
|
|
228
|
-
: (request: Request,
|
|
227
|
+
(request: Request, context?: Context.Context<never> | undefined) => Promise<globalThis.Response>
|
|
228
|
+
: (request: Request, context: Context.Context<ReqR>) => Promise<globalThis.Response> =>
|
|
229
229
|
{
|
|
230
230
|
const resolveSymbol = Symbol.for("@effect/platform/HttpApp/resolve")
|
|
231
231
|
const httpApp = toHandled(self, (request, response) => {
|
|
232
232
|
response = scopeTransferToStream(response)
|
|
233
233
|
;(request as any)[resolveSymbol](
|
|
234
|
-
Response.toWeb(response, { withoutBody: request.method === "HEAD",
|
|
234
|
+
Response.toWeb(response, { withoutBody: request.method === "HEAD", context })
|
|
235
235
|
)
|
|
236
236
|
return Effect.void
|
|
237
237
|
}, middleware)
|
|
238
|
-
return (request: Request,
|
|
238
|
+
return (request: Request, reqContext?: Context.Context<never> | undefined): Promise<globalThis.Response> =>
|
|
239
239
|
new Promise((resolve) => {
|
|
240
|
-
const contextMap = new Map<string, any>(
|
|
241
|
-
if (
|
|
242
|
-
for (const [key, value] of
|
|
240
|
+
const contextMap = new Map<string, any>(context.mapUnsafe)
|
|
241
|
+
if (Context.isContext(reqContext)) {
|
|
242
|
+
for (const [key, value] of reqContext.mapUnsafe) {
|
|
243
243
|
contextMap.set(key, value)
|
|
244
244
|
}
|
|
245
245
|
}
|
|
246
246
|
const httpServerRequest = Request.fromWeb(request)
|
|
247
247
|
contextMap.set(HttpServerRequest.key, httpServerRequest)
|
|
248
248
|
;(httpServerRequest as any)[resolveSymbol] = resolve
|
|
249
|
-
const fiber = Effect.runForkWith(
|
|
249
|
+
const fiber = Effect.runForkWith(Context.makeUnsafe(contextMap))(httpApp as any)
|
|
250
250
|
request.signal?.addEventListener("abort", () => {
|
|
251
251
|
fiber.interruptUnsafe(undefined, ClientAbort.annotation)
|
|
252
252
|
}, { once: true })
|
|
@@ -260,8 +260,8 @@ export const toWebHandlerWith = <Provided, R = never, ReqR = Exclude<R, Provided
|
|
|
260
260
|
export const toWebHandler: <E>(
|
|
261
261
|
self: Effect.Effect<HttpServerResponse, E, HttpServerRequest | Scope.Scope>,
|
|
262
262
|
middleware?: HttpMiddleware | undefined
|
|
263
|
-
) => (request: Request,
|
|
264
|
-
toWebHandlerWith(
|
|
263
|
+
) => (request: Request, context?: Context.Context<never> | undefined) => Promise<globalThis.Response> =
|
|
264
|
+
toWebHandlerWith(Context.empty())
|
|
265
265
|
|
|
266
266
|
/**
|
|
267
267
|
* @since 4.0.0
|
|
@@ -277,7 +277,7 @@ export const toWebHandlerLayerWith = <
|
|
|
277
277
|
layer: Layer.Layer<Provided, LE>,
|
|
278
278
|
options: {
|
|
279
279
|
readonly toHandler: (
|
|
280
|
-
|
|
280
|
+
context: Context.Context<Provided>
|
|
281
281
|
) => Effect.Effect<Effect.Effect<HttpServerResponse, E, R>, LE>
|
|
282
282
|
readonly middleware?: HttpMiddleware | undefined
|
|
283
283
|
readonly memoMap?: Layer.MemoMap | undefined
|
|
@@ -286,39 +286,39 @@ export const toWebHandlerLayerWith = <
|
|
|
286
286
|
readonly dispose: () => Promise<void>
|
|
287
287
|
readonly handler: [ReqR] extends [never] ? (
|
|
288
288
|
request: Request,
|
|
289
|
-
|
|
289
|
+
context?: Context.Context<never> | undefined
|
|
290
290
|
) => Promise<globalThis.Response>
|
|
291
291
|
: (
|
|
292
292
|
request: Request,
|
|
293
|
-
|
|
293
|
+
context: Context.Context<ReqR>
|
|
294
294
|
) => Promise<globalThis.Response>
|
|
295
295
|
} => {
|
|
296
296
|
const scope = Scope.makeUnsafe()
|
|
297
297
|
const dispose = () => Effect.runPromise(Scope.close(scope, Exit.void))
|
|
298
298
|
|
|
299
299
|
let handlerCache:
|
|
300
|
-
| ((request: Request,
|
|
300
|
+
| ((request: Request, context?: Context.Context<ReqR> | undefined) => Promise<globalThis.Response>)
|
|
301
301
|
| undefined
|
|
302
302
|
let handlerPromise:
|
|
303
|
-
| Promise<(request: Request,
|
|
303
|
+
| Promise<(request: Request, context?: Context.Context<ReqR> | undefined) => Promise<globalThis.Response>>
|
|
304
304
|
| undefined
|
|
305
305
|
function handler(
|
|
306
306
|
request: Request,
|
|
307
|
-
|
|
307
|
+
context?: Context.Context<ReqR> | undefined
|
|
308
308
|
): Promise<globalThis.Response> {
|
|
309
309
|
if (handlerCache) {
|
|
310
|
-
return handlerCache(request,
|
|
310
|
+
return handlerCache(request, context)
|
|
311
311
|
}
|
|
312
312
|
handlerPromise ??= Effect.runPromise(Effect.gen(function*() {
|
|
313
|
-
const
|
|
313
|
+
const context = yield* (options.memoMap
|
|
314
314
|
? Layer.buildWithMemoMap(layer, options.memoMap, scope)
|
|
315
315
|
: Layer.buildWithScope(layer, scope))
|
|
316
|
-
return handlerCache = toWebHandlerWith<Provided, R>(
|
|
317
|
-
yield* options.toHandler(
|
|
316
|
+
return handlerCache = toWebHandlerWith<Provided, R>(context)(
|
|
317
|
+
yield* options.toHandler(context),
|
|
318
318
|
options.middleware
|
|
319
319
|
) as any
|
|
320
320
|
}))
|
|
321
|
-
return handlerPromise.then((f) => f(request,
|
|
321
|
+
return handlerPromise.then((f) => f(request, context))
|
|
322
322
|
}
|
|
323
323
|
return { dispose, handler: handler as any } as const
|
|
324
324
|
}
|
|
@@ -337,10 +337,10 @@ export const toWebHandlerLayer = <E, R, Provided, LE, ReqR = Exclude<R, Provided
|
|
|
337
337
|
): {
|
|
338
338
|
readonly dispose: () => Promise<void>
|
|
339
339
|
readonly handler: [ReqR] extends [never]
|
|
340
|
-
? (request: Request,
|
|
340
|
+
? (request: Request, context?: Context.Context<never> | undefined) => Promise<globalThis.Response>
|
|
341
341
|
: (
|
|
342
342
|
request: Request,
|
|
343
|
-
|
|
343
|
+
context: Context.Context<ReqR>
|
|
344
344
|
) => Promise<globalThis.Response>
|
|
345
345
|
} =>
|
|
346
346
|
toWebHandlerLayerWith(layer, {
|
|
@@ -357,10 +357,10 @@ export const fromWebHandler = (
|
|
|
357
357
|
): Effect.Effect<HttpServerResponse, HttpServerError, HttpServerRequest> =>
|
|
358
358
|
Effect.callback((resume, signal) => {
|
|
359
359
|
const fiber = Fiber.getCurrent()!
|
|
360
|
-
const request =
|
|
360
|
+
const request = Context.getUnsafe(fiber.context, HttpServerRequest)
|
|
361
361
|
const requestResult = Request.toWebResult(request, {
|
|
362
362
|
signal,
|
|
363
|
-
|
|
363
|
+
context: fiber.context
|
|
364
364
|
})
|
|
365
365
|
if (requestResult._tag === "Failure") {
|
|
366
366
|
return resume(Effect.fail(new HttpServerError({ reason: requestResult.failure })))
|
|
@@ -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 type * as FileSystem from "../../FileSystem.ts"
|
|
6
7
|
import type * as Inspectable from "../../Inspectable.ts"
|
|
@@ -9,7 +10,6 @@ import { hasProperty } from "../../Predicate.ts"
|
|
|
9
10
|
import { redact } from "../../Redactable.ts"
|
|
10
11
|
import * as Schema from "../../Schema.ts"
|
|
11
12
|
import type { ParseOptions } from "../../SchemaAST.ts"
|
|
12
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
13
13
|
import type * as Stream from "../../Stream.ts"
|
|
14
14
|
import type * as Headers from "./Headers.ts"
|
|
15
15
|
import * as UrlParams from "./UrlParams.ts"
|
|
@@ -90,7 +90,7 @@ export const schemaHeaders = <A, I extends Readonly<Record<string, string | unde
|
|
|
90
90
|
* @since 4.0.0
|
|
91
91
|
* @category References
|
|
92
92
|
*/
|
|
93
|
-
export const MaxBodySize =
|
|
93
|
+
export const MaxBodySize = Context.Reference<FileSystem.Size | undefined>(
|
|
94
94
|
"effect/http/HttpIncomingMessage/MaxBodySize",
|
|
95
95
|
{ defaultValue: () => undefined }
|
|
96
96
|
)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
import { Clock } from "../../Clock.ts"
|
|
5
|
+
import * as Context from "../../Context.ts"
|
|
5
6
|
import * as Effect from "../../Effect.ts"
|
|
6
7
|
import { constant, constFalse } from "../../Function.ts"
|
|
7
8
|
import * as internalEffect from "../../internal/effect.ts"
|
|
@@ -10,7 +11,6 @@ import * as Option from "../../Option.ts"
|
|
|
10
11
|
import type { Predicate } from "../../Predicate.ts"
|
|
11
12
|
import type { ReadonlyRecord } from "../../Record.ts"
|
|
12
13
|
import { TracerEnabled } from "../../References.ts"
|
|
13
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
14
14
|
import { ParentSpan } from "../../Tracer.ts"
|
|
15
15
|
import * as Headers from "./Headers.ts"
|
|
16
16
|
import { causeResponseStripped, exitResponse } from "./HttpServerError.ts"
|
|
@@ -49,13 +49,26 @@ export const make = <M extends HttpMiddleware>(middleware: M): M => middleware
|
|
|
49
49
|
|
|
50
50
|
const loggerDisabledRequests = new WeakSet<object>()
|
|
51
51
|
|
|
52
|
+
const stripSearchAndHash = (url: string): string => {
|
|
53
|
+
const queryIndex = url.indexOf("?")
|
|
54
|
+
const hashIndex = url.indexOf("#")
|
|
55
|
+
|
|
56
|
+
if (queryIndex === -1) {
|
|
57
|
+
return hashIndex === -1 ? url : url.slice(0, hashIndex)
|
|
58
|
+
}
|
|
59
|
+
if (hashIndex === -1) {
|
|
60
|
+
return url.slice(0, queryIndex)
|
|
61
|
+
}
|
|
62
|
+
return url.slice(0, Math.min(queryIndex, hashIndex))
|
|
63
|
+
}
|
|
64
|
+
|
|
52
65
|
/**
|
|
53
66
|
* @since 4.0.0
|
|
54
67
|
* @category Logger
|
|
55
68
|
*/
|
|
56
69
|
export const withLoggerDisabled = <A, E, R>(self: Effect.Effect<A, E, R>): Effect.Effect<A, E, R | HttpServerRequest> =>
|
|
57
70
|
Effect.withFiber((fiber) => {
|
|
58
|
-
const request =
|
|
71
|
+
const request = Context.getUnsafe(fiber.context, HttpServerRequest)
|
|
59
72
|
loggerDisabledRequests.add(request.source)
|
|
60
73
|
return self
|
|
61
74
|
})
|
|
@@ -64,7 +77,7 @@ export const withLoggerDisabled = <A, E, R>(self: Effect.Effect<A, E, R>): Effec
|
|
|
64
77
|
* @since 4.0.0
|
|
65
78
|
* @category Tracer
|
|
66
79
|
*/
|
|
67
|
-
export const TracerDisabledWhen =
|
|
80
|
+
export const TracerDisabledWhen = Context.Reference<Predicate<HttpServerRequest>>(
|
|
68
81
|
"effect/http/HttpMiddleware/TracerDisabledWhen",
|
|
69
82
|
{ defaultValue: () => constFalse }
|
|
70
83
|
)
|
|
@@ -81,7 +94,7 @@ export const layerTracerDisabledForUrls = (
|
|
|
81
94
|
* @since 4.0.0
|
|
82
95
|
* @category Tracer
|
|
83
96
|
*/
|
|
84
|
-
export const SpanNameGenerator =
|
|
97
|
+
export const SpanNameGenerator = Context.Reference<(request: HttpServerRequest) => string>(
|
|
85
98
|
"@effect/platform/HttpMiddleware/SpanNameGenerator",
|
|
86
99
|
{ defaultValue: () => (request) => `http.server ${request.method}` }
|
|
87
100
|
)
|
|
@@ -95,7 +108,8 @@ export const logger: <E, R>(
|
|
|
95
108
|
) => Effect.Effect<HttpServerResponse, E, HttpServerRequest | R> = make((httpApp) => {
|
|
96
109
|
let counter = 0
|
|
97
110
|
return Effect.withFiber((fiber) => {
|
|
98
|
-
const request =
|
|
111
|
+
const request = Context.getUnsafe(fiber.context, HttpServerRequest)
|
|
112
|
+
const path = stripSearchAndHash(request.url)
|
|
99
113
|
return Effect.withLogSpan(
|
|
100
114
|
Effect.flatMap(Effect.exit(httpApp), (exit) => {
|
|
101
115
|
if (loggerDisabledRequests.has(request.source)) {
|
|
@@ -105,7 +119,7 @@ export const logger: <E, R>(
|
|
|
105
119
|
return Effect.andThen(
|
|
106
120
|
Effect.annotateLogs(Effect.log(Option.getOrElse(cause, () => "Sent HTTP Response")), {
|
|
107
121
|
"http.method": request.method,
|
|
108
|
-
"http.url":
|
|
122
|
+
"http.url": path,
|
|
109
123
|
"http.status": response.status
|
|
110
124
|
}),
|
|
111
125
|
exit
|
|
@@ -114,7 +128,7 @@ export const logger: <E, R>(
|
|
|
114
128
|
return Effect.andThen(
|
|
115
129
|
Effect.annotateLogs(Effect.log("Sent HTTP response"), {
|
|
116
130
|
"http.method": request.method,
|
|
117
|
-
"http.url":
|
|
131
|
+
"http.url": path,
|
|
118
132
|
"http.status": exit.value.status
|
|
119
133
|
}),
|
|
120
134
|
exit
|
|
@@ -133,7 +147,7 @@ export const tracer: <E, R>(
|
|
|
133
147
|
httpApp: Effect.Effect<HttpServerResponse, E, HttpServerRequest | R>
|
|
134
148
|
) => Effect.Effect<HttpServerResponse, E, HttpServerRequest | R> = make((httpApp) =>
|
|
135
149
|
Effect.withFiber((fiber) => {
|
|
136
|
-
const request =
|
|
150
|
+
const request = Context.getUnsafe(fiber.context, HttpServerRequest)
|
|
137
151
|
const disabled = !fiber.getRef(TracerEnabled) || fiber.getRef(TracerDisabledWhen)(request)
|
|
138
152
|
if (disabled) {
|
|
139
153
|
return httpApp
|
|
@@ -143,10 +157,10 @@ export const tracer: <E, R>(
|
|
|
143
157
|
parent: Option.getOrUndefined(TraceContext.fromHeaders(request.headers)),
|
|
144
158
|
kind: "server"
|
|
145
159
|
})
|
|
146
|
-
const prevServices = fiber.
|
|
147
|
-
fiber.
|
|
160
|
+
const prevServices = fiber.context
|
|
161
|
+
fiber.setContext(Context.add(fiber.context, ParentSpan, span))
|
|
148
162
|
return Effect.onExitPrimitive(httpApp, (exit) => {
|
|
149
|
-
fiber.
|
|
163
|
+
fiber.setContext(prevServices)
|
|
150
164
|
const endTime = fiber.getRef(Clock).currentTimeNanosUnsafe()
|
|
151
165
|
fiber.currentDispatcher.scheduleTask(() => {
|
|
152
166
|
const url = Request.toURL(request)
|
|
@@ -214,8 +228,8 @@ export const searchParamsParser = <E, R>(
|
|
|
214
228
|
httpApp: Effect.Effect<HttpServerResponse, E, R>
|
|
215
229
|
): Effect.Effect<Response.HttpServerResponse, E, HttpServerRequest | Exclude<R, Request.ParsedSearchParams>> =>
|
|
216
230
|
Effect.withFiber((fiber) => {
|
|
217
|
-
const services = fiber.
|
|
218
|
-
const request =
|
|
231
|
+
const services = fiber.context
|
|
232
|
+
const request = Context.getUnsafe(services, HttpServerRequest)
|
|
219
233
|
const params = Request.searchParamsFromURL(new URL(request.originalUrl))
|
|
220
234
|
return Effect.provideService(
|
|
221
235
|
httpApp,
|
|
@@ -332,7 +346,7 @@ export const cors = (options?: {
|
|
|
332
346
|
httpApp: Effect.Effect<HttpServerResponse, E, R>
|
|
333
347
|
): Effect.Effect<HttpServerResponse, E, R | HttpServerRequest> =>
|
|
334
348
|
Effect.withFiber((fiber) => {
|
|
335
|
-
const request =
|
|
349
|
+
const request = Context.getUnsafe(fiber.context, HttpServerRequest)
|
|
336
350
|
if (request.method === "OPTIONS") {
|
|
337
351
|
return Effect.succeed(Response.empty({
|
|
338
352
|
status: 204,
|
|
@@ -1,13 +1,13 @@
|
|
|
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 FileSystem from "../../FileSystem.ts"
|
|
6
7
|
import { identity } from "../../Function.ts"
|
|
7
8
|
import * as Layer from "../../Layer.ts"
|
|
8
9
|
import * as Option from "../../Option.ts"
|
|
9
10
|
import type { PlatformError } from "../../PlatformError.ts"
|
|
10
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
11
11
|
import * as Stream from "../../Stream.ts"
|
|
12
12
|
import * as Etag from "./Etag.ts"
|
|
13
13
|
import * as Headers from "./Headers.ts"
|
|
@@ -18,7 +18,7 @@ import * as Response from "./HttpServerResponse.ts"
|
|
|
18
18
|
* @since 4.0.0
|
|
19
19
|
* @category tags
|
|
20
20
|
*/
|
|
21
|
-
export class HttpPlatform extends
|
|
21
|
+
export class HttpPlatform extends Context.Service<HttpPlatform, {
|
|
22
22
|
readonly fileResponse: (
|
|
23
23
|
path: string,
|
|
24
24
|
options?: Response.Options.WithContent & {
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
4
|
import * as Arr from "../../Array.ts"
|
|
5
|
+
import * as Context from "../../Context.ts"
|
|
5
6
|
import * as Effect from "../../Effect.ts"
|
|
6
7
|
import { compose, dual, identity } from "../../Function.ts"
|
|
7
8
|
import * as Layer from "../../Layer.ts"
|
|
@@ -10,7 +11,6 @@ import type { ReadonlyRecord } from "../../Record.ts"
|
|
|
10
11
|
import * as Schema from "../../Schema.ts"
|
|
11
12
|
import type { ParseOptions } from "../../SchemaAST.ts"
|
|
12
13
|
import * as Scope from "../../Scope.ts"
|
|
13
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
14
14
|
import * as Tracer from "../../Tracer.ts"
|
|
15
15
|
import type * as Types from "../../Types.ts"
|
|
16
16
|
import * as FindMyWay from "./FindMyWay.ts"
|
|
@@ -80,7 +80,7 @@ export interface HttpRouter {
|
|
|
80
80
|
* @since 4.0.0
|
|
81
81
|
* @category HttpRouter
|
|
82
82
|
*/
|
|
83
|
-
export const HttpRouter:
|
|
83
|
+
export const HttpRouter: Context.Service<HttpRouter, HttpRouter> = Context.Service<HttpRouter>(
|
|
84
84
|
"effect/http/HttpRouter"
|
|
85
85
|
)
|
|
86
86
|
|
|
@@ -100,8 +100,8 @@ export const make = Effect.gen(function*() {
|
|
|
100
100
|
| Request.From<"Requires", Exclude<Route.Context<Routes[number]>, Provided>>
|
|
101
101
|
| Request.From<"Error", Route.Error<Routes[number]>>
|
|
102
102
|
> =>
|
|
103
|
-
Effect.
|
|
104
|
-
const middleware = getMiddleware(
|
|
103
|
+
Effect.contextWith((context: Context.Context<never>) => {
|
|
104
|
+
const middleware = getMiddleware(context)
|
|
105
105
|
const applyMiddleware = (effect: Effect.Effect<HttpServerResponse.HttpServerResponse>) => {
|
|
106
106
|
for (let i = 0; i < middleware.length; i++) {
|
|
107
107
|
effect = middleware[i](effect)
|
|
@@ -163,7 +163,7 @@ export const make = Effect.gen(function*() {
|
|
|
163
163
|
}),
|
|
164
164
|
asHttpEffect() {
|
|
165
165
|
let handler = Effect.withFiber<HttpServerResponse.HttpServerResponse, unknown>((fiber) => {
|
|
166
|
-
const contextMap = new Map(fiber.
|
|
166
|
+
const contextMap = new Map(fiber.context.mapUnsafe)
|
|
167
167
|
const request = contextMap.get(HttpServerRequest.HttpServerRequest.key) as HttpServerRequest.HttpServerRequest
|
|
168
168
|
let result = router.find(request.method, request.url)
|
|
169
169
|
if (result === undefined && request.method === "HEAD") {
|
|
@@ -190,14 +190,14 @@ export const make = Effect.gen(function*() {
|
|
|
190
190
|
if (span && span._tag === "Span") {
|
|
191
191
|
span.attribute("http.route", route.path)
|
|
192
192
|
}
|
|
193
|
-
return Effect.
|
|
193
|
+
return Effect.provideContext(
|
|
194
194
|
(route.uninterruptible ?
|
|
195
195
|
route.handler :
|
|
196
196
|
Effect.interruptible(route.handler)) as Effect.Effect<
|
|
197
197
|
HttpServerResponse.HttpServerResponse,
|
|
198
198
|
unknown
|
|
199
199
|
>,
|
|
200
|
-
|
|
200
|
+
Context.makeUnsafe(contextMap)
|
|
201
201
|
)
|
|
202
202
|
})
|
|
203
203
|
if (middleware.size === 0) return handler
|
|
@@ -218,7 +218,7 @@ function sliceRequestUrl(request: HttpServerRequest.HttpServerRequest, prefix: s
|
|
|
218
218
|
* @since 4.0.0
|
|
219
219
|
* @category Configuration
|
|
220
220
|
*/
|
|
221
|
-
export const RouterConfig =
|
|
221
|
+
export const RouterConfig = Context.Reference<Partial<FindMyWay.RouterConfig>>(
|
|
222
222
|
"effect/http/HttpRouter/RouterConfig",
|
|
223
223
|
{ defaultValue: () => ({}) }
|
|
224
224
|
)
|
|
@@ -227,7 +227,7 @@ export const RouterConfig = ServiceMap.Reference<Partial<FindMyWay.RouterConfig>
|
|
|
227
227
|
* @since 4.0.0
|
|
228
228
|
* @category RouteContext
|
|
229
229
|
*/
|
|
230
|
-
export class RouteContext extends
|
|
230
|
+
export class RouteContext extends Context.Service<RouteContext, {
|
|
231
231
|
readonly params: Readonly<Record<string, string | undefined>>
|
|
232
232
|
readonly route: Route<unknown, unknown>
|
|
233
233
|
}>()("effect/http/HttpRouter/RouteContext") {}
|
|
@@ -268,15 +268,15 @@ export const schemaJson = <
|
|
|
268
268
|
HttpServerRequest.HttpServerRequest | HttpServerRequest.ParsedSearchParams | RouteContext | RD
|
|
269
269
|
> => {
|
|
270
270
|
const parse = Schema.decodeUnknownEffect(schema)
|
|
271
|
-
return Effect.
|
|
271
|
+
return Effect.contextWith(
|
|
272
272
|
(
|
|
273
|
-
|
|
273
|
+
context: Context.Context<
|
|
274
274
|
HttpServerRequest.HttpServerRequest | HttpServerRequest.ParsedSearchParams | RouteContext
|
|
275
275
|
>
|
|
276
276
|
) => {
|
|
277
|
-
const request =
|
|
278
|
-
const searchParams =
|
|
279
|
-
const routeContext =
|
|
277
|
+
const request = Context.get(context, HttpServerRequest.HttpServerRequest)
|
|
278
|
+
const searchParams = Context.get(context, HttpServerRequest.ParsedSearchParams)
|
|
279
|
+
const routeContext = Context.get(context, RouteContext)
|
|
280
280
|
return Effect.flatMap(request.json, (body) =>
|
|
281
281
|
parse({
|
|
282
282
|
method: request.method,
|
|
@@ -316,15 +316,15 @@ export const schemaNoBody = <
|
|
|
316
316
|
HttpServerRequest.HttpServerRequest | HttpServerRequest.ParsedSearchParams | RouteContext | RD
|
|
317
317
|
> => {
|
|
318
318
|
const parse = Schema.decodeUnknownEffect(schema)
|
|
319
|
-
return Effect.
|
|
319
|
+
return Effect.contextWith(
|
|
320
320
|
(
|
|
321
|
-
|
|
321
|
+
context: Context.Context<
|
|
322
322
|
HttpServerRequest.HttpServerRequest | HttpServerRequest.ParsedSearchParams | RouteContext
|
|
323
323
|
>
|
|
324
324
|
) => {
|
|
325
|
-
const request =
|
|
326
|
-
const searchParams =
|
|
327
|
-
const routeContext =
|
|
325
|
+
const request = Context.get(context, HttpServerRequest.HttpServerRequest)
|
|
326
|
+
const searchParams = Context.get(context, HttpServerRequest.ParsedSearchParams)
|
|
327
|
+
const routeContext = Context.get(context, RouteContext)
|
|
328
328
|
return parse({
|
|
329
329
|
method: request.method,
|
|
330
330
|
url: request.url,
|
|
@@ -346,9 +346,9 @@ export const schemaParams = <A, I extends Readonly<Record<string, string | Reado
|
|
|
346
346
|
options?: ParseOptions | undefined
|
|
347
347
|
): Effect.Effect<A, Schema.SchemaError, HttpServerRequest.ParsedSearchParams | RouteContext | RD> => {
|
|
348
348
|
const parse = Schema.decodeUnknownEffect(schema)
|
|
349
|
-
return Effect.
|
|
350
|
-
const searchParams =
|
|
351
|
-
const routeContext =
|
|
349
|
+
return Effect.contextWith((context: Context.Context<HttpServerRequest.ParsedSearchParams | RouteContext>) => {
|
|
350
|
+
const searchParams = Context.get(context, HttpServerRequest.ParsedSearchParams)
|
|
351
|
+
const routeContext = Context.get(context, RouteContext)
|
|
352
352
|
return parse({ ...searchParams, ...routeContext.params }, options)
|
|
353
353
|
})
|
|
354
354
|
}
|
|
@@ -484,7 +484,7 @@ export const toHttpEffect = <A, E, R>(
|
|
|
484
484
|
> =>
|
|
485
485
|
Effect.gen(function*() {
|
|
486
486
|
const context = yield* Layer.build(Layer.provideMerge(appLayer, layer))
|
|
487
|
-
const router =
|
|
487
|
+
const router = Context.get(context, HttpRouter)
|
|
488
488
|
// @effect-diagnostics effect/returnEffectInGen:off
|
|
489
489
|
return router.asHttpEffect()
|
|
490
490
|
}) as any
|
|
@@ -737,7 +737,7 @@ export interface Middleware<
|
|
|
737
737
|
* ```ts
|
|
738
738
|
* import { Effect } from "effect"
|
|
739
739
|
* import * as Layer from "effect/Layer"
|
|
740
|
-
* import * as
|
|
740
|
+
* import * as Context from "effect/Context"
|
|
741
741
|
* import * as HttpMiddleware from "effect/unstable/http/HttpMiddleware"
|
|
742
742
|
* import * as HttpRouter from "effect/unstable/http/HttpRouter"
|
|
743
743
|
* import * as HttpServerResponse from "effect/unstable/http/HttpServerResponse"
|
|
@@ -746,7 +746,7 @@ export interface Middleware<
|
|
|
746
746
|
* const CorsMiddleware = HttpRouter.middleware(HttpMiddleware.cors()).layer
|
|
747
747
|
* // You can also use HttpRouter.cors() to create a CORS middleware
|
|
748
748
|
*
|
|
749
|
-
* class CurrentSession extends
|
|
749
|
+
* class CurrentSession extends Context.Service<CurrentSession, {
|
|
750
750
|
* readonly token: string
|
|
751
751
|
* }>()("CurrentSession") {}
|
|
752
752
|
*
|
|
@@ -815,8 +815,8 @@ const makeMiddleware = (middleware: any, options?: {
|
|
|
815
815
|
}))
|
|
816
816
|
: new MiddlewareImpl(
|
|
817
817
|
Effect.isEffect(middleware) ?
|
|
818
|
-
Layer.
|
|
819
|
-
Layer.
|
|
818
|
+
Layer.effectContext(Effect.map(middleware, (fn) => Context.makeUnsafe(new Map([[fnContextKey, fn]])))) :
|
|
819
|
+
Layer.succeedContext(Context.makeUnsafe(new Map([[fnContextKey, middleware]]))) as any
|
|
820
820
|
)
|
|
821
821
|
|
|
822
822
|
let middlewareId = 0
|
|
@@ -844,16 +844,16 @@ class MiddlewareImpl<
|
|
|
844
844
|
this.layerFn = layerFn
|
|
845
845
|
this.dependencies = dependencies
|
|
846
846
|
const contextKey = `effect/http/HttpRouter/Middleware-${++middlewareId}` as const
|
|
847
|
-
this.layer = Layer.
|
|
848
|
-
const context = yield* Effect.
|
|
847
|
+
this.layer = Layer.effectContext(Effect.gen({ self: this }, function*() {
|
|
848
|
+
const context = yield* Effect.context<Scope.Scope>()
|
|
849
849
|
const stack = [context.mapUnsafe.get(fnContextKey)]
|
|
850
850
|
if (this.dependencies) {
|
|
851
851
|
const memoMap = yield* Layer.CurrentMemoMap
|
|
852
|
-
const scope =
|
|
852
|
+
const scope = Context.get(context, Scope.Scope)
|
|
853
853
|
const depsContext = yield* Layer.buildWithMemoMap(this.dependencies, memoMap, scope)
|
|
854
854
|
stack.push(...getMiddleware(depsContext))
|
|
855
855
|
}
|
|
856
|
-
return
|
|
856
|
+
return Context.makeUnsafe<never>(new Map([[contextKey, stack]]))
|
|
857
857
|
})).pipe(Layer.provide(this.layerFn))
|
|
858
858
|
}
|
|
859
859
|
|
|
@@ -876,8 +876,8 @@ class MiddlewareImpl<
|
|
|
876
876
|
}
|
|
877
877
|
}
|
|
878
878
|
|
|
879
|
-
const middlewareCache = new WeakMap<
|
|
880
|
-
const getMiddleware = (context:
|
|
879
|
+
const middlewareCache = new WeakMap<Context.Context<never>, any>()
|
|
880
|
+
const getMiddleware = (context: Context.Context<never>): Array<middleware.Fn> => {
|
|
881
881
|
let arr = middlewareCache.get(context)
|
|
882
882
|
if (arr) return arr
|
|
883
883
|
const topLevel = Arr.empty<Array<middleware.Fn>>()
|
|
@@ -1062,7 +1062,7 @@ export const provideRequest =
|
|
|
1062
1062
|
middleware<{ provides: A2 }>()(Effect.gen(function*() {
|
|
1063
1063
|
const services = yield* Layer.build(layer as Layer.Layer<A2>)
|
|
1064
1064
|
return (effect) =>
|
|
1065
|
-
Effect.
|
|
1065
|
+
Effect.provideContext(effect, services) as Effect.Effect<
|
|
1066
1066
|
HttpServerResponse.HttpServerResponse,
|
|
1067
1067
|
Types.unhandled
|
|
1068
1068
|
>
|
|
@@ -1172,8 +1172,8 @@ export const toWebHandler = <
|
|
|
1172
1172
|
}
|
|
1173
1173
|
): {
|
|
1174
1174
|
readonly handler: [HR] extends [never]
|
|
1175
|
-
? ((request: globalThis.Request, context?:
|
|
1176
|
-
: ((request: globalThis.Request, context:
|
|
1175
|
+
? ((request: globalThis.Request, context?: Context.Context<never> | undefined) => Promise<Response>)
|
|
1176
|
+
: ((request: globalThis.Request, context: Context.Context<HR>) => Promise<Response>)
|
|
1177
1177
|
readonly dispose: () => Promise<void>
|
|
1178
1178
|
} => {
|
|
1179
1179
|
let middleware: any = options?.middleware
|
|
@@ -1184,7 +1184,7 @@ export const toWebHandler = <
|
|
|
1184
1184
|
? Layer.provide(layer, Layer.succeed(RouterConfig)(options.routerConfig))
|
|
1185
1185
|
: layer
|
|
1186
1186
|
return HttpEffect.toWebHandlerLayerWith(Layer.provideMerge(appLayer, RouterLayer) as Layer.Layer<A | HttpRouter, E>, {
|
|
1187
|
-
toHandler: (s) => Effect.succeed(
|
|
1187
|
+
toHandler: (s) => Effect.succeed(Context.get(s, HttpRouter).asHttpEffect()),
|
|
1188
1188
|
middleware,
|
|
1189
1189
|
memoMap: options?.memoMap
|
|
1190
1190
|
})
|
|
@@ -1,13 +1,13 @@
|
|
|
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 FileSystem from "../../FileSystem.ts"
|
|
6
7
|
import { dual } from "../../Function.ts"
|
|
7
8
|
import * as Layer from "../../Layer.ts"
|
|
8
9
|
import * as Path from "../../Path.ts"
|
|
9
10
|
import type * as Scope from "../../Scope.ts"
|
|
10
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
11
11
|
import * as Etag from "./Etag.ts"
|
|
12
12
|
import * as HttpClient from "./HttpClient.ts"
|
|
13
13
|
import * as ClientRequest from "./HttpClientRequest.ts"
|
|
@@ -20,7 +20,7 @@ import type { HttpServerResponse } from "./HttpServerResponse.ts"
|
|
|
20
20
|
* @since 4.0.0
|
|
21
21
|
* @category models
|
|
22
22
|
*/
|
|
23
|
-
export class HttpServer extends
|
|
23
|
+
export class HttpServer extends Context.Service<HttpServer, {
|
|
24
24
|
readonly serve: {
|
|
25
25
|
<E, R>(effect: Effect.Effect<HttpServerResponse, E, R>): Effect.Effect<
|
|
26
26
|
void,
|