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
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import type { NonEmptyReadonlyArray } from "../../Array.ts"
|
|
5
5
|
import * as Cause from "../../Cause.ts"
|
|
6
6
|
import { Clock } from "../../Clock.ts"
|
|
7
|
+
import * as Context from "../../Context.ts"
|
|
7
8
|
import * as Duration from "../../Duration.ts"
|
|
8
9
|
import * as Effect from "../../Effect.ts"
|
|
9
10
|
import * as Fiber from "../../Fiber.ts"
|
|
@@ -17,7 +18,6 @@ import * as Ref from "../../Ref.ts"
|
|
|
17
18
|
import * as Result from "../../Result.ts"
|
|
18
19
|
import * as Schedule from "../../Schedule.ts"
|
|
19
20
|
import type * as Scope from "../../Scope.ts"
|
|
20
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
21
21
|
import * as Stream from "../../Stream.ts"
|
|
22
22
|
import * as Tracer from "../../Tracer.ts"
|
|
23
23
|
import type { EqualsWith, ExcludeTag, ExtractTag, NoExcessProperties, NoInfer, Tags } from "../../Types.ts"
|
|
@@ -113,7 +113,7 @@ export declare namespace HttpClient {
|
|
|
113
113
|
* @since 4.0.0
|
|
114
114
|
* @category tags
|
|
115
115
|
*/
|
|
116
|
-
export const HttpClient:
|
|
116
|
+
export const HttpClient: Context.Service<HttpClient, HttpClient> = Context.Service<HttpClient, HttpClient>(
|
|
117
117
|
"effect/HttpClient"
|
|
118
118
|
)
|
|
119
119
|
|
|
@@ -874,6 +874,7 @@ export declare namespace Retry {
|
|
|
874
874
|
*/
|
|
875
875
|
export type Return<R, E, O extends NoExcessProperties<Effect.Retry.Options<E>, O>> = HttpClient.With<
|
|
876
876
|
| (O extends { schedule: Schedule.Schedule<infer _O, infer _I, infer _E, infer _R> } ? E | _E
|
|
877
|
+
: O extends { times: number } ? E
|
|
877
878
|
: O extends { until: Predicate.Refinement<E, infer E2> } ? E2
|
|
878
879
|
: E)
|
|
879
880
|
| (O extends { while: (...args: Array<any>) => Effect.Effect<infer _A, infer E, infer _R> } ? E : never)
|
|
@@ -1589,7 +1590,7 @@ export const followRedirects: {
|
|
|
1589
1590
|
* @since 4.0.0
|
|
1590
1591
|
* @category References
|
|
1591
1592
|
*/
|
|
1592
|
-
export const TracerDisabledWhen =
|
|
1593
|
+
export const TracerDisabledWhen = Context.Reference<
|
|
1593
1594
|
Predicate.Predicate<HttpClientRequest.HttpClientRequest>
|
|
1594
1595
|
>("effect/http/HttpClient/TracerDisabledWhen", {
|
|
1595
1596
|
defaultValue: () => constFalse
|
|
@@ -1599,7 +1600,7 @@ export const TracerDisabledWhen = ServiceMap.Reference<
|
|
|
1599
1600
|
* @since 4.0.0
|
|
1600
1601
|
* @category References
|
|
1601
1602
|
*/
|
|
1602
|
-
export const TracerPropagationEnabled =
|
|
1603
|
+
export const TracerPropagationEnabled = Context.Reference<boolean>("effect/HttpClient/TracerPropagationEnabled", {
|
|
1603
1604
|
defaultValue: constTrue
|
|
1604
1605
|
})
|
|
1605
1606
|
|
|
@@ -1607,7 +1608,7 @@ export const TracerPropagationEnabled = ServiceMap.Reference<boolean>("effect/Ht
|
|
|
1607
1608
|
* @since 4.0.0
|
|
1608
1609
|
* @category References
|
|
1609
1610
|
*/
|
|
1610
|
-
export const SpanNameGenerator =
|
|
1611
|
+
export const SpanNameGenerator = Context.Reference<
|
|
1611
1612
|
(request: HttpClientRequest.HttpClientRequest) => string
|
|
1612
1613
|
>("effect/http/HttpClient/SpanNameGenerator", {
|
|
1613
1614
|
defaultValue: () => (request) => `http.client ${request.method}`
|
|
@@ -1616,15 +1617,15 @@ export const SpanNameGenerator = ServiceMap.Reference<
|
|
|
1616
1617
|
/**
|
|
1617
1618
|
* @since 4.0.0
|
|
1618
1619
|
*/
|
|
1619
|
-
export const
|
|
1620
|
+
export const layerMergedContext = <E, R>(
|
|
1620
1621
|
effect: Effect.Effect<HttpClient, E, R>
|
|
1621
1622
|
): Layer.Layer<HttpClient, E, R> =>
|
|
1622
1623
|
Layer.effect(HttpClient)(
|
|
1623
|
-
Effect.
|
|
1624
|
+
Effect.contextWith((context: Context.Context<never>) =>
|
|
1624
1625
|
Effect.map(effect, (client) =>
|
|
1625
1626
|
transformResponse(
|
|
1626
1627
|
client,
|
|
1627
|
-
Effect.
|
|
1628
|
+
Effect.updateContext((input: Context.Context<never>) => Context.merge(context, input))
|
|
1628
1629
|
))
|
|
1629
1630
|
)
|
|
1630
1631
|
)
|
|
@@ -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 { dual } from "../../Function.ts"
|
|
@@ -15,7 +16,6 @@ import type * as Redacted from "../../Redacted.ts"
|
|
|
15
16
|
import * as Result from "../../Result.ts"
|
|
16
17
|
import type * as Schema from "../../Schema.ts"
|
|
17
18
|
import type { ParseOptions } from "../../SchemaAST.ts"
|
|
18
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
19
19
|
import * as Stream from "../../Stream.ts"
|
|
20
20
|
import * as Headers from "./Headers.ts"
|
|
21
21
|
import * as HttpBody from "./HttpBody.ts"
|
|
@@ -994,7 +994,7 @@ const parseContentLength = (contentLength: string | null): number | undefined =>
|
|
|
994
994
|
*/
|
|
995
995
|
export const toWebResult = (self: HttpClientRequest, options?: {
|
|
996
996
|
readonly signal?: AbortSignal | undefined
|
|
997
|
-
readonly
|
|
997
|
+
readonly context?: Context.Context<never> | undefined
|
|
998
998
|
}): Result.Result<Request, UrlParams.UrlParamsError> => {
|
|
999
999
|
const url = UrlParams.makeUrl(self.url, self.urlParams, Option.getOrUndefined(self.hash))
|
|
1000
1000
|
if (Result.isFailure(url)) {
|
|
@@ -1028,7 +1028,7 @@ export const toWebResult = (self: HttpClientRequest, options?: {
|
|
|
1028
1028
|
break
|
|
1029
1029
|
}
|
|
1030
1030
|
case "Stream": {
|
|
1031
|
-
requestInit.body = Stream.toReadableStreamWith(self.body.stream, options?.
|
|
1031
|
+
requestInit.body = Stream.toReadableStreamWith(self.body.stream, options?.context ?? Context.empty())
|
|
1032
1032
|
;(requestInit as any).duplex = "half"
|
|
1033
1033
|
break
|
|
1034
1034
|
}
|
|
@@ -1050,9 +1050,9 @@ const isReadableStream = (u: unknown): u is ReadableStream<Uint8Array> =>
|
|
|
1050
1050
|
export const toWeb = (self: HttpClientRequest, options?: {
|
|
1051
1051
|
readonly signal?: AbortSignal | undefined
|
|
1052
1052
|
}): Effect.Effect<Request, UrlParams.UrlParamsError> =>
|
|
1053
|
-
Effect.
|
|
1053
|
+
Effect.contextWith((context) =>
|
|
1054
1054
|
toWebResult(self, {
|
|
1055
|
-
|
|
1055
|
+
context: context,
|
|
1056
1056
|
signal: options?.signal
|
|
1057
1057
|
}).asEffect()
|
|
1058
1058
|
)
|
|
@@ -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 & {
|