effect 4.0.0-beta.43 → 4.0.0-beta.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Cache.d.ts +12 -43
- package/dist/Cache.d.ts.map +1 -1
- package/dist/Cache.js +15 -42
- package/dist/Cache.js.map +1 -1
- package/dist/Cause.d.ts +21 -21
- package/dist/Cause.d.ts.map +1 -1
- package/dist/Cause.js +89 -10
- package/dist/Cause.js.map +1 -1
- package/dist/Channel.d.ts +42 -19
- package/dist/Channel.d.ts.map +1 -1
- package/dist/Channel.js +86 -46
- package/dist/Channel.js.map +1 -1
- package/dist/Clock.d.ts +2 -2
- package/dist/Clock.d.ts.map +1 -1
- package/dist/Clock.js.map +1 -1
- package/dist/Config.d.ts +2 -2
- package/dist/ConfigProvider.d.ts +5 -5
- package/dist/ConfigProvider.d.ts.map +1 -1
- package/dist/ConfigProvider.js +5 -5
- package/dist/ConfigProvider.js.map +1 -1
- package/dist/Console.d.ts +2 -2
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.js.map +1 -1
- package/dist/Context.d.ts +1150 -0
- package/dist/Context.d.ts.map +1 -0
- package/dist/{ServiceMap.js → Context.js} +139 -139
- package/dist/Context.js.map +1 -0
- package/dist/DateTime.d.ts +2 -2
- package/dist/DateTime.d.ts.map +1 -1
- package/dist/DateTime.js +2 -2
- package/dist/DateTime.js.map +1 -1
- package/dist/Effect.d.ts +177 -177
- package/dist/Effect.d.ts.map +1 -1
- package/dist/Effect.js +81 -81
- package/dist/Effect.js.map +1 -1
- package/dist/ErrorReporter.d.ts +3 -3
- package/dist/ErrorReporter.d.ts.map +1 -1
- package/dist/ErrorReporter.js +1 -1
- package/dist/ErrorReporter.js.map +1 -1
- package/dist/ExecutionPlan.d.ts +6 -6
- package/dist/ExecutionPlan.d.ts.map +1 -1
- package/dist/ExecutionPlan.js +4 -4
- package/dist/ExecutionPlan.js.map +1 -1
- package/dist/Fiber.d.ts +7 -7
- package/dist/Fiber.d.ts.map +1 -1
- package/dist/Fiber.js.map +1 -1
- package/dist/FiberHandle.d.ts +2 -2
- package/dist/FiberHandle.d.ts.map +1 -1
- package/dist/FiberHandle.js +4 -4
- package/dist/FiberHandle.js.map +1 -1
- package/dist/FiberMap.d.ts +2 -2
- package/dist/FiberMap.d.ts.map +1 -1
- package/dist/FiberMap.js +4 -4
- package/dist/FiberMap.js.map +1 -1
- package/dist/FiberSet.d.ts +2 -2
- package/dist/FiberSet.d.ts.map +1 -1
- package/dist/FiberSet.js +4 -4
- package/dist/FiberSet.js.map +1 -1
- package/dist/FileSystem.d.ts +3 -3
- package/dist/FileSystem.d.ts.map +1 -1
- package/dist/FileSystem.js +3 -3
- package/dist/FileSystem.js.map +1 -1
- package/dist/Layer.d.ts +286 -268
- package/dist/Layer.d.ts.map +1 -1
- package/dist/Layer.js +133 -134
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMap.d.ts +18 -18
- package/dist/LayerMap.d.ts.map +1 -1
- package/dist/LayerMap.js +18 -15
- package/dist/LayerMap.js.map +1 -1
- package/dist/Logger.d.ts +3 -3
- package/dist/Logger.d.ts.map +1 -1
- package/dist/Logger.js.map +1 -1
- package/dist/ManagedRuntime.d.ts +6 -6
- package/dist/ManagedRuntime.d.ts.map +1 -1
- package/dist/ManagedRuntime.js +18 -21
- package/dist/ManagedRuntime.js.map +1 -1
- package/dist/Metric.d.ts +19 -19
- package/dist/Metric.d.ts.map +1 -1
- package/dist/Metric.js +21 -21
- package/dist/Metric.js.map +1 -1
- package/dist/Path.d.ts +2 -2
- package/dist/Path.d.ts.map +1 -1
- package/dist/Path.js +2 -2
- package/dist/Path.js.map +1 -1
- package/dist/Pool.d.ts.map +1 -1
- package/dist/Pool.js +4 -4
- package/dist/Pool.js.map +1 -1
- package/dist/PubSub.d.ts.map +1 -1
- package/dist/PubSub.js +3 -3
- package/dist/PubSub.js.map +1 -1
- package/dist/Random.d.ts +2 -2
- package/dist/Random.d.ts.map +1 -1
- package/dist/Random.js +0 -23
- package/dist/Random.js.map +1 -1
- package/dist/RcMap.d.ts +2 -2
- package/dist/RcMap.d.ts.map +1 -1
- package/dist/RcMap.js +12 -12
- package/dist/RcMap.js.map +1 -1
- package/dist/Redactable.d.ts +139 -62
- package/dist/Redactable.d.ts.map +1 -1
- package/dist/Redactable.js +59 -55
- package/dist/Redactable.js.map +1 -1
- package/dist/References.d.ts +26 -14
- package/dist/References.d.ts.map +1 -1
- package/dist/References.js +0 -12
- package/dist/References.js.map +1 -1
- package/dist/Request.d.ts +5 -5
- package/dist/Request.d.ts.map +1 -1
- package/dist/Request.js.map +1 -1
- package/dist/RequestResolver.d.ts.map +1 -1
- package/dist/RequestResolver.js +6 -7
- package/dist/RequestResolver.js.map +1 -1
- package/dist/Resource.d.ts +0 -3
- package/dist/Resource.d.ts.map +1 -1
- package/dist/Resource.js +3 -3
- package/dist/Resource.js.map +1 -1
- package/dist/Schedule.d.ts +2 -2
- package/dist/Schedule.d.ts.map +1 -1
- package/dist/Schedule.js +2 -2
- package/dist/Schedule.js.map +1 -1
- package/dist/Scheduler.d.ts +4 -4
- package/dist/Scheduler.d.ts.map +1 -1
- package/dist/Scheduler.js +7 -4
- package/dist/Scheduler.js.map +1 -1
- package/dist/Schema.d.ts +531 -214
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +304 -103
- package/dist/Schema.js.map +1 -1
- package/dist/SchemaAST.d.ts.map +1 -1
- package/dist/SchemaAST.js +5 -15
- package/dist/SchemaAST.js.map +1 -1
- package/dist/SchemaGetter.d.ts +49 -5
- package/dist/SchemaGetter.d.ts.map +1 -1
- package/dist/SchemaGetter.js +64 -5
- package/dist/SchemaGetter.js.map +1 -1
- package/dist/SchemaTransformation.d.ts +145 -0
- package/dist/SchemaTransformation.d.ts.map +1 -1
- package/dist/SchemaTransformation.js +146 -0
- package/dist/SchemaTransformation.js.map +1 -1
- package/dist/Scope.d.ts +2 -2
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js.map +1 -1
- package/dist/ScopedCache.d.ts.map +1 -1
- package/dist/ScopedCache.js +4 -4
- package/dist/ScopedCache.js.map +1 -1
- package/dist/Sink.d.ts +6 -6
- package/dist/Sink.d.ts.map +1 -1
- package/dist/Sink.js +1 -1
- package/dist/Sink.js.map +1 -1
- package/dist/Stdio.d.ts +2 -2
- package/dist/Stdio.d.ts.map +1 -1
- package/dist/Stdio.js +2 -2
- package/dist/Stdio.js.map +1 -1
- package/dist/Stream.d.ts +187 -117
- package/dist/Stream.d.ts.map +1 -1
- package/dist/Stream.js +133 -57
- package/dist/Stream.js.map +1 -1
- package/dist/Terminal.d.ts +3 -3
- package/dist/Terminal.d.ts.map +1 -1
- package/dist/Terminal.js +2 -2
- package/dist/Terminal.js.map +1 -1
- package/dist/Tracer.d.ts +16 -16
- package/dist/Tracer.d.ts.map +1 -1
- package/dist/Tracer.js +11 -8
- package/dist/Tracer.js.map +1 -1
- package/dist/Unify.d.ts +8 -2
- package/dist/Unify.d.ts.map +1 -1
- package/dist/Unify.js.map +1 -1
- package/dist/index.d.ts +81 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +81 -15
- package/dist/index.js.map +1 -1
- package/dist/internal/core.js.map +1 -1
- package/dist/internal/effect.js +74 -74
- package/dist/internal/effect.js.map +1 -1
- package/dist/internal/layer.js +3 -3
- package/dist/internal/layer.js.map +1 -1
- package/dist/internal/random.js +2 -2
- package/dist/internal/random.js.map +1 -1
- package/dist/internal/rcRef.js +9 -9
- package/dist/internal/rcRef.js.map +1 -1
- package/dist/internal/references.js +13 -13
- package/dist/internal/references.js.map +1 -1
- package/dist/internal/request.js +6 -6
- package/dist/internal/request.js.map +1 -1
- package/dist/internal/schedule.js +1 -1
- package/dist/internal/schedule.js.map +1 -1
- package/dist/internal/schema/representation.js +11 -1
- package/dist/internal/schema/representation.js.map +1 -1
- package/dist/internal/schema/schema.d.ts +10 -1
- package/dist/internal/schema/schema.d.ts.map +1 -1
- package/dist/internal/schema/schema.js +21 -1
- package/dist/internal/schema/schema.js.map +1 -1
- package/dist/testing/TestSchema.d.ts +3 -3
- package/dist/testing/TestSchema.d.ts.map +1 -1
- package/dist/testing/TestSchema.js.map +1 -1
- package/dist/unstable/ai/AiError.d.ts +19 -19
- package/dist/unstable/ai/AiError.d.ts.map +1 -1
- package/dist/unstable/ai/AiError.js +2 -1
- package/dist/unstable/ai/AiError.js.map +1 -1
- package/dist/unstable/ai/Chat.d.ts +4 -4
- package/dist/unstable/ai/Chat.d.ts.map +1 -1
- package/dist/unstable/ai/Chat.js +3 -3
- package/dist/unstable/ai/Chat.js.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.d.ts +6 -6
- package/dist/unstable/ai/EmbeddingModel.d.ts.map +1 -1
- package/dist/unstable/ai/EmbeddingModel.js +3 -3
- package/dist/unstable/ai/EmbeddingModel.js.map +1 -1
- package/dist/unstable/ai/IdGenerator.d.ts +2 -2
- package/dist/unstable/ai/IdGenerator.d.ts.map +1 -1
- package/dist/unstable/ai/IdGenerator.js +2 -2
- package/dist/unstable/ai/IdGenerator.js.map +1 -1
- package/dist/unstable/ai/LanguageModel.d.ts +2 -2
- package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
- package/dist/unstable/ai/LanguageModel.js +2 -2
- package/dist/unstable/ai/LanguageModel.js.map +1 -1
- package/dist/unstable/ai/McpSchema.d.ts +54 -54
- package/dist/unstable/ai/McpSchema.d.ts.map +1 -1
- package/dist/unstable/ai/McpSchema.js +15 -8
- package/dist/unstable/ai/McpSchema.js.map +1 -1
- package/dist/unstable/ai/McpServer.d.ts +22 -22
- package/dist/unstable/ai/McpServer.d.ts.map +1 -1
- package/dist/unstable/ai/McpServer.js +25 -25
- package/dist/unstable/ai/McpServer.js.map +1 -1
- package/dist/unstable/ai/Model.d.ts +3 -3
- package/dist/unstable/ai/Model.d.ts.map +1 -1
- package/dist/unstable/ai/Model.js +5 -5
- package/dist/unstable/ai/Model.js.map +1 -1
- package/dist/unstable/ai/Prompt.d.ts.map +1 -1
- package/dist/unstable/ai/Prompt.js +6 -9
- package/dist/unstable/ai/Prompt.js.map +1 -1
- package/dist/unstable/ai/Response.d.ts +1 -1
- package/dist/unstable/ai/Response.d.ts.map +1 -1
- package/dist/unstable/ai/Response.js +6 -7
- package/dist/unstable/ai/Response.js.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.d.ts +2 -2
- package/dist/unstable/ai/ResponseIdTracker.d.ts.map +1 -1
- package/dist/unstable/ai/ResponseIdTracker.js +2 -2
- package/dist/unstable/ai/ResponseIdTracker.js.map +1 -1
- package/dist/unstable/ai/Telemetry.d.ts +35 -2
- package/dist/unstable/ai/Telemetry.d.ts.map +1 -1
- package/dist/unstable/ai/Telemetry.js +2 -2
- package/dist/unstable/ai/Telemetry.js.map +1 -1
- package/dist/unstable/ai/Tokenizer.d.ts +2 -2
- package/dist/unstable/ai/Tokenizer.d.ts.map +1 -1
- package/dist/unstable/ai/Tokenizer.js +2 -2
- package/dist/unstable/ai/Tokenizer.js.map +1 -1
- package/dist/unstable/ai/Tool.d.ts +16 -16
- package/dist/unstable/ai/Tool.d.ts.map +1 -1
- package/dist/unstable/ai/Tool.js +41 -13
- package/dist/unstable/ai/Tool.js.map +1 -1
- package/dist/unstable/ai/Toolkit.d.ts +3 -3
- package/dist/unstable/ai/Toolkit.d.ts.map +1 -1
- package/dist/unstable/ai/Toolkit.js +10 -10
- package/dist/unstable/ai/Toolkit.js.map +1 -1
- package/dist/unstable/cli/Argument.d.ts +2 -3
- package/dist/unstable/cli/Argument.d.ts.map +1 -1
- package/dist/unstable/cli/Argument.js.map +1 -1
- package/dist/unstable/cli/CliError.d.ts +29 -8
- package/dist/unstable/cli/CliError.d.ts.map +1 -1
- package/dist/unstable/cli/CliError.js +8 -1
- package/dist/unstable/cli/CliError.js.map +1 -1
- package/dist/unstable/cli/CliOutput.d.ts +2 -2
- package/dist/unstable/cli/CliOutput.d.ts.map +1 -1
- package/dist/unstable/cli/CliOutput.js +2 -2
- package/dist/unstable/cli/CliOutput.js.map +1 -1
- package/dist/unstable/cli/Command.d.ts +14 -14
- package/dist/unstable/cli/Command.d.ts.map +1 -1
- package/dist/unstable/cli/Command.js +11 -10
- package/dist/unstable/cli/Command.js.map +1 -1
- package/dist/unstable/cli/Flag.d.ts +2 -3
- package/dist/unstable/cli/Flag.d.ts.map +1 -1
- package/dist/unstable/cli/Flag.js.map +1 -1
- package/dist/unstable/cli/GlobalFlag.d.ts +2 -2
- package/dist/unstable/cli/GlobalFlag.d.ts.map +1 -1
- package/dist/unstable/cli/GlobalFlag.js +2 -2
- package/dist/unstable/cli/GlobalFlag.js.map +1 -1
- package/dist/unstable/cli/HelpDoc.d.ts +8 -8
- package/dist/unstable/cli/HelpDoc.d.ts.map +1 -1
- package/dist/unstable/cli/Param.d.ts +30 -2
- package/dist/unstable/cli/Param.d.ts.map +1 -1
- package/dist/unstable/cli/Param.js +17 -7
- package/dist/unstable/cli/Param.js.map +1 -1
- package/dist/unstable/cli/Prompt.js +8 -2
- package/dist/unstable/cli/Prompt.js.map +1 -1
- package/dist/unstable/cli/internal/command.d.ts +5 -5
- package/dist/unstable/cli/internal/command.d.ts.map +1 -1
- package/dist/unstable/cli/internal/command.js +3 -3
- package/dist/unstable/cli/internal/command.js.map +1 -1
- package/dist/unstable/cli/internal/parser.js +94 -15
- package/dist/unstable/cli/internal/parser.js.map +1 -1
- package/dist/unstable/cluster/ClusterError.d.ts +7 -7
- package/dist/unstable/cluster/ClusterSchema.d.ts +12 -9
- package/dist/unstable/cluster/ClusterSchema.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterSchema.js +9 -9
- package/dist/unstable/cluster/ClusterSchema.js.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/cluster/ClusterWorkflowEngine.js +13 -14
- package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
- package/dist/unstable/cluster/Entity.d.ts +8 -8
- package/dist/unstable/cluster/Entity.d.ts.map +1 -1
- package/dist/unstable/cluster/Entity.js +12 -12
- package/dist/unstable/cluster/Entity.js.map +1 -1
- package/dist/unstable/cluster/EntityAddress.d.ts +2 -2
- package/dist/unstable/cluster/EntityProxy.js +3 -3
- package/dist/unstable/cluster/EntityProxy.js.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityProxyServer.js +4 -4
- package/dist/unstable/cluster/EntityProxyServer.js.map +1 -1
- package/dist/unstable/cluster/EntityResource.d.ts +2 -2
- package/dist/unstable/cluster/EntityResource.d.ts.map +1 -1
- package/dist/unstable/cluster/EntityResource.js +2 -2
- package/dist/unstable/cluster/EntityResource.js.map +1 -1
- package/dist/unstable/cluster/Envelope.d.ts +3 -3
- package/dist/unstable/cluster/HttpRunner.js +2 -2
- package/dist/unstable/cluster/HttpRunner.js.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.d.ts +4 -4
- package/dist/unstable/cluster/K8sHttpClient.d.ts.map +1 -1
- package/dist/unstable/cluster/K8sHttpClient.js +2 -2
- package/dist/unstable/cluster/K8sHttpClient.js.map +1 -1
- package/dist/unstable/cluster/Message.d.ts +7 -4
- package/dist/unstable/cluster/Message.d.ts.map +1 -1
- package/dist/unstable/cluster/Message.js +5 -5
- package/dist/unstable/cluster/Message.js.map +1 -1
- package/dist/unstable/cluster/MessageStorage.d.ts +14 -14
- package/dist/unstable/cluster/MessageStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/MessageStorage.js +8 -8
- package/dist/unstable/cluster/MessageStorage.js.map +1 -1
- package/dist/unstable/cluster/Reply.d.ts +2 -2
- package/dist/unstable/cluster/Reply.d.ts.map +1 -1
- package/dist/unstable/cluster/Reply.js +5 -5
- package/dist/unstable/cluster/Reply.js.map +1 -1
- package/dist/unstable/cluster/Runner.d.ts +1 -1
- package/dist/unstable/cluster/RunnerAddress.d.ts +1 -1
- package/dist/unstable/cluster/RunnerHealth.d.ts +2 -2
- package/dist/unstable/cluster/RunnerHealth.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerHealth.js +2 -2
- package/dist/unstable/cluster/RunnerHealth.js.map +1 -1
- package/dist/unstable/cluster/RunnerServer.js +1 -1
- package/dist/unstable/cluster/RunnerServer.js.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.d.ts +12 -12
- package/dist/unstable/cluster/RunnerStorage.d.ts.map +1 -1
- package/dist/unstable/cluster/RunnerStorage.js +3 -3
- package/dist/unstable/cluster/RunnerStorage.js.map +1 -1
- package/dist/unstable/cluster/Runners.d.ts +3 -3
- package/dist/unstable/cluster/Runners.d.ts.map +1 -1
- package/dist/unstable/cluster/Runners.js +7 -7
- package/dist/unstable/cluster/Runners.js.map +1 -1
- package/dist/unstable/cluster/ShardId.d.ts +35 -49
- package/dist/unstable/cluster/ShardId.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardId.js +65 -67
- package/dist/unstable/cluster/ShardId.js.map +1 -1
- package/dist/unstable/cluster/Sharding.d.ts +2 -2
- package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
- package/dist/unstable/cluster/Sharding.js +21 -21
- package/dist/unstable/cluster/Sharding.js.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.d.ts +2 -2
- package/dist/unstable/cluster/ShardingConfig.d.ts.map +1 -1
- package/dist/unstable/cluster/ShardingConfig.js +5 -5
- package/dist/unstable/cluster/ShardingConfig.js.map +1 -1
- package/dist/unstable/cluster/SingletonAddress.d.ts +2 -2
- package/dist/unstable/cluster/Snowflake.d.ts +2 -2
- package/dist/unstable/cluster/Snowflake.d.ts.map +1 -1
- package/dist/unstable/cluster/Snowflake.js +2 -2
- package/dist/unstable/cluster/Snowflake.js.map +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js +1 -1
- package/dist/unstable/cluster/SqlMessageStorage.js.map +1 -1
- package/dist/unstable/cluster/internal/entityManager.js +15 -14
- package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
- package/dist/unstable/cluster/internal/entityReaper.js +2 -2
- package/dist/unstable/cluster/internal/entityReaper.js.map +1 -1
- package/dist/unstable/cluster/internal/resourceMap.js +3 -3
- package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.d.ts +2 -2
- package/dist/unstable/devtools/DevToolsClient.d.ts.map +1 -1
- package/dist/unstable/devtools/DevToolsClient.js +5 -5
- package/dist/unstable/devtools/DevToolsClient.js.map +1 -1
- package/dist/unstable/eventlog/EventJournal.d.ts +4 -4
- package/dist/unstable/eventlog/EventJournal.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventJournal.js +2 -2
- package/dist/unstable/eventlog/EventJournal.js.map +1 -1
- package/dist/unstable/eventlog/EventLog.d.ts +5 -5
- package/dist/unstable/eventlog/EventLog.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLog.js +18 -18
- package/dist/unstable/eventlog/EventLog.js.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.d.ts +2 -2
- package/dist/unstable/eventlog/EventLogEncryption.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogEncryption.js +2 -2
- package/dist/unstable/eventlog/EventLogEncryption.js.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.d.ts +15 -12
- package/dist/unstable/eventlog/EventLogRemote.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogRemote.js +2 -2
- package/dist/unstable/eventlog/EventLogRemote.js.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.d.ts +3 -3
- package/dist/unstable/eventlog/EventLogServer.d.ts.map +1 -1
- package/dist/unstable/eventlog/EventLogServer.js +2 -2
- package/dist/unstable/eventlog/EventLogServer.js.map +1 -1
- package/dist/unstable/http/Etag.d.ts +2 -2
- package/dist/unstable/http/Etag.d.ts.map +1 -1
- package/dist/unstable/http/Etag.js +2 -2
- package/dist/unstable/http/Etag.js.map +1 -1
- package/dist/unstable/http/FetchHttpClient.d.ts +6 -3
- package/dist/unstable/http/FetchHttpClient.d.ts.map +1 -1
- package/dist/unstable/http/FetchHttpClient.js +5 -5
- package/dist/unstable/http/FetchHttpClient.js.map +1 -1
- package/dist/unstable/http/Headers.d.ts +5 -2
- package/dist/unstable/http/Headers.d.ts.map +1 -1
- package/dist/unstable/http/Headers.js +3 -3
- package/dist/unstable/http/Headers.js.map +1 -1
- package/dist/unstable/http/HttpClient.d.ts +8 -6
- package/dist/unstable/http/HttpClient.d.ts.map +1 -1
- package/dist/unstable/http/HttpClient.js +6 -6
- package/dist/unstable/http/HttpClient.js.map +1 -1
- package/dist/unstable/http/HttpClientError.d.ts +1 -1
- package/dist/unstable/http/HttpClientRequest.d.ts +2 -2
- package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpClientRequest.js +4 -4
- package/dist/unstable/http/HttpClientRequest.js.map +1 -1
- package/dist/unstable/http/HttpEffect.d.ts +6 -6
- package/dist/unstable/http/HttpEffect.d.ts.map +1 -1
- package/dist/unstable/http/HttpEffect.js +24 -24
- package/dist/unstable/http/HttpEffect.js.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.d.ts +2 -2
- package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
- package/dist/unstable/http/HttpIncomingMessage.js +2 -2
- package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
- package/dist/unstable/http/HttpMiddleware.d.ts +3 -3
- package/dist/unstable/http/HttpMiddleware.d.ts.map +1 -1
- package/dist/unstable/http/HttpMiddleware.js +26 -14
- package/dist/unstable/http/HttpMiddleware.js.map +1 -1
- package/dist/unstable/http/HttpPlatform.d.ts +2 -2
- package/dist/unstable/http/HttpPlatform.d.ts.map +1 -1
- package/dist/unstable/http/HttpPlatform.js +2 -2
- package/dist/unstable/http/HttpPlatform.js.map +1 -1
- package/dist/unstable/http/HttpRouter.d.ts +7 -7
- package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
- package/dist/unstable/http/HttpRouter.js +29 -29
- package/dist/unstable/http/HttpRouter.js.map +1 -1
- package/dist/unstable/http/HttpServer.d.ts +2 -2
- package/dist/unstable/http/HttpServer.d.ts.map +1 -1
- package/dist/unstable/http/HttpServer.js +2 -2
- package/dist/unstable/http/HttpServer.js.map +1 -1
- package/dist/unstable/http/HttpServerError.d.ts +3 -3
- package/dist/unstable/http/HttpServerError.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerError.js +3 -3
- package/dist/unstable/http/HttpServerError.js.map +1 -1
- package/dist/unstable/http/HttpServerRequest.d.ts +4 -4
- package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerRequest.js +6 -6
- package/dist/unstable/http/HttpServerRequest.js.map +1 -1
- package/dist/unstable/http/HttpServerResponse.d.ts +2 -2
- package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
- package/dist/unstable/http/HttpServerResponse.js +6 -6
- package/dist/unstable/http/HttpServerResponse.js.map +1 -1
- package/dist/unstable/http/Multipart.d.ts +6 -6
- package/dist/unstable/http/Multipart.d.ts.map +1 -1
- package/dist/unstable/http/Multipart.js +7 -7
- package/dist/unstable/http/Multipart.js.map +1 -1
- package/dist/unstable/httpapi/HttpApi.d.ts +9 -9
- package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApi.js +8 -8
- package/dist/unstable/httpapi/HttpApi.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts +0 -3
- package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiBuilder.js +20 -20
- package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js +1 -1
- package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +7 -7
- package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiEndpoint.js +4 -4
- package/dist/unstable/httpapi/HttpApiEndpoint.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiError.d.ts +13 -13
- package/dist/unstable/httpapi/HttpApiError.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.d.ts +8 -8
- package/dist/unstable/httpapi/HttpApiGroup.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiGroup.js +4 -4
- package/dist/unstable/httpapi/HttpApiGroup.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts +6 -6
- package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiMiddleware.js +5 -5
- package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts +9 -6
- package/dist/unstable/httpapi/HttpApiSecurity.d.ts.map +1 -1
- package/dist/unstable/httpapi/HttpApiSecurity.js +6 -6
- package/dist/unstable/httpapi/HttpApiSecurity.js.map +1 -1
- package/dist/unstable/httpapi/OpenApi.d.ts +15 -15
- package/dist/unstable/httpapi/OpenApi.d.ts.map +1 -1
- package/dist/unstable/httpapi/OpenApi.js +23 -23
- package/dist/unstable/httpapi/OpenApi.js.map +1 -1
- package/dist/unstable/observability/OtlpExporter.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpExporter.js +5 -5
- package/dist/unstable/observability/OtlpExporter.js.map +1 -1
- package/dist/unstable/observability/OtlpMetrics.js +1 -1
- package/dist/unstable/observability/OtlpMetrics.js.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.d.ts +2 -2
- package/dist/unstable/observability/OtlpSerialization.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpSerialization.js +2 -2
- package/dist/unstable/observability/OtlpSerialization.js.map +1 -1
- package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
- package/dist/unstable/observability/OtlpTracer.js.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.d.ts +3 -3
- package/dist/unstable/observability/PrometheusMetrics.d.ts.map +1 -1
- package/dist/unstable/observability/PrometheusMetrics.js +4 -33
- package/dist/unstable/observability/PrometheusMetrics.js.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.d.ts +23 -2
- package/dist/unstable/persistence/KeyValueStore.d.ts.map +1 -1
- package/dist/unstable/persistence/KeyValueStore.js +144 -2
- package/dist/unstable/persistence/KeyValueStore.js.map +1 -1
- package/dist/unstable/persistence/PersistedCache.d.ts +1 -2
- package/dist/unstable/persistence/PersistedCache.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedCache.js +10 -11
- package/dist/unstable/persistence/PersistedCache.js.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.d.ts +4 -4
- package/dist/unstable/persistence/PersistedQueue.d.ts.map +1 -1
- package/dist/unstable/persistence/PersistedQueue.js +3 -3
- package/dist/unstable/persistence/PersistedQueue.js.map +1 -1
- package/dist/unstable/persistence/Persistence.d.ts +4 -4
- package/dist/unstable/persistence/Persistence.d.ts.map +1 -1
- package/dist/unstable/persistence/Persistence.js +3 -3
- package/dist/unstable/persistence/Persistence.js.map +1 -1
- package/dist/unstable/persistence/RateLimiter.d.ts +6 -6
- package/dist/unstable/persistence/RateLimiter.d.ts.map +1 -1
- package/dist/unstable/persistence/RateLimiter.js +3 -3
- package/dist/unstable/persistence/RateLimiter.js.map +1 -1
- package/dist/unstable/persistence/Redis.d.ts +3 -3
- package/dist/unstable/persistence/Redis.d.ts.map +1 -1
- package/dist/unstable/persistence/Redis.js +2 -2
- package/dist/unstable/persistence/Redis.js.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.d.ts +45 -2
- package/dist/unstable/process/ChildProcessSpawner.d.ts.map +1 -1
- package/dist/unstable/process/ChildProcessSpawner.js +2 -2
- package/dist/unstable/process/ChildProcessSpawner.js.map +1 -1
- package/dist/unstable/reactivity/Atom.d.ts +36 -36
- package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
- package/dist/unstable/reactivity/Atom.js +9 -9
- package/dist/unstable/reactivity/Atom.js.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.d.ts +3 -3
- package/dist/unstable/reactivity/AtomHttpApi.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomHttpApi.js +2 -2
- package/dist/unstable/reactivity/AtomHttpApi.js.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.d.ts +2 -2
- package/dist/unstable/reactivity/AtomRegistry.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRegistry.js +3 -3
- package/dist/unstable/reactivity/AtomRegistry.js.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.d.ts +3 -3
- package/dist/unstable/reactivity/AtomRpc.d.ts.map +1 -1
- package/dist/unstable/reactivity/AtomRpc.js +2 -2
- package/dist/unstable/reactivity/AtomRpc.js.map +1 -1
- package/dist/unstable/reactivity/Reactivity.d.ts +2 -2
- package/dist/unstable/reactivity/Reactivity.d.ts.map +1 -1
- package/dist/unstable/reactivity/Reactivity.js +6 -6
- package/dist/unstable/reactivity/Reactivity.js.map +1 -1
- package/dist/unstable/rpc/Rpc.d.ts +11 -11
- package/dist/unstable/rpc/Rpc.d.ts.map +1 -1
- package/dist/unstable/rpc/Rpc.js +4 -4
- package/dist/unstable/rpc/Rpc.js.map +1 -1
- package/dist/unstable/rpc/RpcClient.d.ts +18 -8
- package/dist/unstable/rpc/RpcClient.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcClient.js +27 -18
- package/dist/unstable/rpc/RpcClient.js.map +1 -1
- package/dist/unstable/rpc/RpcClientError.d.ts +2 -2
- package/dist/unstable/rpc/RpcGroup.d.ts +7 -7
- package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcGroup.js +20 -20
- package/dist/unstable/rpc/RpcGroup.js.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.d.ts +6 -6
- package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcMiddleware.js +5 -5
- package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
- package/dist/unstable/rpc/RpcSchema.d.ts +3 -3
- package/dist/unstable/rpc/RpcSchema.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSchema.js +3 -3
- package/dist/unstable/rpc/RpcSchema.js.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.d.ts +2 -2
- package/dist/unstable/rpc/RpcSerialization.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcSerialization.js +2 -2
- package/dist/unstable/rpc/RpcSerialization.js.map +1 -1
- package/dist/unstable/rpc/RpcServer.d.ts +2 -2
- package/dist/unstable/rpc/RpcServer.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcServer.js +18 -18
- package/dist/unstable/rpc/RpcServer.js.map +1 -1
- package/dist/unstable/rpc/RpcWorker.d.ts +2 -2
- package/dist/unstable/rpc/RpcWorker.d.ts.map +1 -1
- package/dist/unstable/rpc/RpcWorker.js +4 -4
- package/dist/unstable/rpc/RpcWorker.js.map +1 -1
- package/dist/unstable/rpc/Utils.d.ts +0 -3
- package/dist/unstable/rpc/Utils.d.ts.map +1 -1
- package/dist/unstable/rpc/Utils.js +2 -5
- package/dist/unstable/rpc/Utils.js.map +1 -1
- package/dist/unstable/socket/Socket.d.ts +10 -10
- package/dist/unstable/socket/Socket.d.ts.map +1 -1
- package/dist/unstable/socket/Socket.js +9 -9
- package/dist/unstable/socket/Socket.js.map +1 -1
- package/dist/unstable/socket/SocketServer.d.ts +5 -2
- package/dist/unstable/socket/SocketServer.d.ts.map +1 -1
- package/dist/unstable/socket/SocketServer.js +2 -2
- package/dist/unstable/socket/SocketServer.js.map +1 -1
- package/dist/unstable/sql/SqlClient.d.ts +5 -5
- package/dist/unstable/sql/SqlClient.d.ts.map +1 -1
- package/dist/unstable/sql/SqlClient.js +7 -7
- package/dist/unstable/sql/SqlClient.js.map +1 -1
- package/dist/unstable/sql/SqlConnection.d.ts +2 -2
- package/dist/unstable/sql/SqlConnection.d.ts.map +1 -1
- package/dist/unstable/sql/SqlConnection.js +5 -2
- package/dist/unstable/sql/SqlConnection.js.map +1 -1
- package/dist/unstable/sql/SqlError.d.ts +12 -12
- package/dist/unstable/sql/SqlModel.d.ts +8 -9
- package/dist/unstable/sql/SqlModel.d.ts.map +1 -1
- package/dist/unstable/sql/SqlModel.js +9 -35
- package/dist/unstable/sql/SqlModel.js.map +1 -1
- package/dist/unstable/sql/SqlResolver.js +11 -11
- package/dist/unstable/sql/SqlResolver.js.map +1 -1
- package/dist/unstable/sql/Statement.d.ts +2 -2
- package/dist/unstable/sql/Statement.d.ts.map +1 -1
- package/dist/unstable/sql/Statement.js +2 -2
- package/dist/unstable/sql/Statement.js.map +1 -1
- package/dist/unstable/workers/Transferable.d.ts +2 -2
- package/dist/unstable/workers/Transferable.d.ts.map +1 -1
- package/dist/unstable/workers/Transferable.js +6 -6
- package/dist/unstable/workers/Transferable.js.map +1 -1
- package/dist/unstable/workers/Worker.d.ts +3 -3
- package/dist/unstable/workers/Worker.d.ts.map +1 -1
- package/dist/unstable/workers/Worker.js +6 -3
- package/dist/unstable/workers/Worker.js.map +1 -1
- package/dist/unstable/workers/WorkerError.d.ts +5 -5
- package/dist/unstable/workers/WorkerRunner.d.ts +2 -2
- package/dist/unstable/workers/WorkerRunner.d.ts.map +1 -1
- package/dist/unstable/workers/WorkerRunner.js +5 -2
- package/dist/unstable/workers/WorkerRunner.js.map +1 -1
- package/dist/unstable/workflow/Activity.d.ts +7 -7
- package/dist/unstable/workflow/Activity.d.ts.map +1 -1
- package/dist/unstable/workflow/Activity.js +7 -7
- package/dist/unstable/workflow/Activity.js.map +1 -1
- package/dist/unstable/workflow/DurableClock.d.ts +0 -3
- package/dist/unstable/workflow/DurableClock.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableClock.js +3 -3
- package/dist/unstable/workflow/DurableClock.js.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts +1 -1
- package/dist/unstable/workflow/DurableDeferred.d.ts.map +1 -1
- package/dist/unstable/workflow/DurableDeferred.js +7 -7
- package/dist/unstable/workflow/DurableDeferred.js.map +1 -1
- package/dist/unstable/workflow/Workflow.d.ts +9 -9
- package/dist/unstable/workflow/Workflow.d.ts.map +1 -1
- package/dist/unstable/workflow/Workflow.js +18 -18
- package/dist/unstable/workflow/Workflow.js.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.d.ts +3 -3
- package/dist/unstable/workflow/WorkflowEngine.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowEngine.js +5 -5
- package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.d.ts.map +1 -1
- package/dist/unstable/workflow/WorkflowProxyServer.js +4 -4
- package/dist/unstable/workflow/WorkflowProxyServer.js.map +1 -1
- package/package.json +1 -1
- package/src/Cache.ts +18 -46
- package/src/Cause.ts +21 -21
- package/src/Channel.ts +120 -79
- package/src/Clock.ts +2 -2
- package/src/Config.ts +2 -2
- package/src/ConfigProvider.ts +5 -5
- package/src/Console.ts +2 -2
- package/src/{ServiceMap.ts → Context.ts} +337 -340
- package/src/DateTime.ts +2 -2
- package/src/Effect.ts +182 -184
- package/src/ErrorReporter.ts +3 -3
- package/src/ExecutionPlan.ts +8 -9
- package/src/Fiber.ts +7 -7
- package/src/FiberHandle.ts +5 -5
- package/src/FiberMap.ts +5 -5
- package/src/FiberSet.ts +5 -5
- package/src/FileSystem.ts +3 -3
- package/src/Layer.ts +333 -307
- package/src/LayerMap.ts +27 -26
- package/src/Logger.ts +3 -3
- package/src/ManagedRuntime.ts +32 -32
- package/src/Metric.ts +58 -58
- package/src/Path.ts +2 -2
- package/src/Pool.ts +5 -5
- package/src/PubSub.ts +3 -3
- package/src/Random.ts +2 -2
- package/src/RcMap.ts +14 -14
- package/src/Redactable.ts +146 -72
- package/src/References.ts +14 -14
- package/src/Request.ts +5 -5
- package/src/RequestResolver.ts +6 -7
- package/src/Resource.ts +4 -4
- package/src/Schedule.ts +2 -2
- package/src/Scheduler.ts +4 -4
- package/src/Schema.ts +837 -397
- package/src/SchemaAST.ts +5 -14
- package/src/SchemaGetter.ts +69 -11
- package/src/SchemaTransformation.ts +166 -0
- package/src/Scope.ts +2 -2
- package/src/ScopedCache.ts +5 -5
- package/src/Sink.ts +9 -9
- package/src/Stdio.ts +2 -2
- package/src/Stream.ts +234 -158
- package/src/Terminal.ts +3 -3
- package/src/Tracer.ts +17 -17
- package/src/Unify.ts +26 -2
- package/src/index.ts +82 -16
- package/src/internal/core.ts +7 -7
- package/src/internal/effect.ts +106 -106
- package/src/internal/layer.ts +7 -7
- package/src/internal/random.ts +2 -2
- package/src/internal/rcRef.ts +10 -10
- package/src/internal/references.ts +13 -13
- package/src/internal/request.ts +8 -8
- package/src/internal/schedule.ts +3 -1
- package/src/internal/schema/representation.ts +8 -1
- package/src/internal/schema/schema.ts +24 -1
- package/src/testing/TestSchema.ts +3 -3
- package/src/unstable/ai/AiError.ts +3 -2
- package/src/unstable/ai/Chat.ts +3 -3
- package/src/unstable/ai/EmbeddingModel.ts +3 -3
- package/src/unstable/ai/IdGenerator.ts +2 -2
- package/src/unstable/ai/LanguageModel.ts +2 -2
- package/src/unstable/ai/McpSchema.ts +11 -9
- package/src/unstable/ai/McpServer.ts +44 -44
- package/src/unstable/ai/Model.ts +8 -8
- package/src/unstable/ai/Prompt.ts +6 -12
- package/src/unstable/ai/Response.ts +6 -8
- package/src/unstable/ai/ResponseIdTracker.ts +2 -4
- package/src/unstable/ai/Telemetry.ts +2 -2
- package/src/unstable/ai/Tokenizer.ts +2 -2
- package/src/unstable/ai/Tool.ts +25 -25
- package/src/unstable/ai/Toolkit.ts +12 -12
- package/src/unstable/cli/Argument.ts +3 -4
- package/src/unstable/cli/CliError.ts +22 -9
- package/src/unstable/cli/CliOutput.ts +2 -2
- package/src/unstable/cli/Command.ts +36 -30
- package/src/unstable/cli/Flag.ts +3 -4
- package/src/unstable/cli/GlobalFlag.ts +3 -3
- package/src/unstable/cli/HelpDoc.ts +8 -8
- package/src/unstable/cli/Param.ts +39 -16
- package/src/unstable/cli/Prompt.ts +13 -6
- package/src/unstable/cli/internal/command.ts +7 -7
- package/src/unstable/cli/internal/parser.ts +130 -21
- package/src/unstable/cluster/ClusterSchema.ts +12 -12
- package/src/unstable/cluster/ClusterWorkflowEngine.ts +14 -15
- package/src/unstable/cluster/Entity.ts +25 -25
- package/src/unstable/cluster/EntityProxy.ts +3 -3
- package/src/unstable/cluster/EntityProxyServer.ts +4 -4
- package/src/unstable/cluster/EntityResource.ts +2 -2
- package/src/unstable/cluster/HttpRunner.ts +2 -2
- package/src/unstable/cluster/K8sHttpClient.ts +2 -2
- package/src/unstable/cluster/Message.ts +8 -8
- package/src/unstable/cluster/MessageStorage.ts +11 -11
- package/src/unstable/cluster/Reply.ts +7 -7
- package/src/unstable/cluster/RunnerHealth.ts +2 -2
- package/src/unstable/cluster/RunnerServer.ts +1 -1
- package/src/unstable/cluster/RunnerStorage.ts +9 -9
- package/src/unstable/cluster/Runners.ts +7 -7
- package/src/unstable/cluster/ShardId.ts +84 -74
- package/src/unstable/cluster/Sharding.ts +26 -26
- package/src/unstable/cluster/ShardingConfig.ts +5 -5
- package/src/unstable/cluster/Snowflake.ts +2 -2
- package/src/unstable/cluster/SqlMessageStorage.ts +1 -1
- package/src/unstable/cluster/internal/entityManager.ts +27 -23
- package/src/unstable/cluster/internal/entityReaper.ts +2 -2
- package/src/unstable/cluster/internal/resourceMap.ts +3 -3
- package/src/unstable/devtools/DevToolsClient.ts +5 -5
- package/src/unstable/eventlog/EventJournal.ts +2 -2
- package/src/unstable/eventlog/EventLog.ts +21 -21
- package/src/unstable/eventlog/EventLogEncryption.ts +2 -2
- package/src/unstable/eventlog/EventLogRemote.ts +2 -2
- package/src/unstable/eventlog/EventLogServer.ts +2 -2
- package/src/unstable/http/Etag.ts +2 -2
- package/src/unstable/http/FetchHttpClient.ts +5 -5
- package/src/unstable/http/Headers.ts +4 -4
- package/src/unstable/http/HttpClient.ts +9 -8
- package/src/unstable/http/HttpClientRequest.ts +5 -5
- package/src/unstable/http/HttpEffect.ts +35 -35
- package/src/unstable/http/HttpIncomingMessage.ts +2 -2
- package/src/unstable/http/HttpMiddleware.ts +28 -14
- package/src/unstable/http/HttpPlatform.ts +2 -2
- package/src/unstable/http/HttpRouter.ts +37 -37
- package/src/unstable/http/HttpServer.ts +2 -2
- package/src/unstable/http/HttpServerError.ts +4 -4
- package/src/unstable/http/HttpServerRequest.ts +7 -7
- package/src/unstable/http/HttpServerResponse.ts +8 -8
- package/src/unstable/http/Multipart.ts +8 -8
- package/src/unstable/httpapi/HttpApi.ts +18 -18
- package/src/unstable/httpapi/HttpApiBuilder.ts +20 -20
- package/src/unstable/httpapi/HttpApiClient.ts +4 -4
- package/src/unstable/httpapi/HttpApiEndpoint.ts +14 -14
- package/src/unstable/httpapi/HttpApiGroup.ts +16 -16
- package/src/unstable/httpapi/HttpApiMiddleware.ts +14 -14
- package/src/unstable/httpapi/HttpApiSecurity.ts +13 -13
- package/src/unstable/httpapi/OpenApi.ts +29 -31
- package/src/unstable/observability/OtlpExporter.ts +5 -5
- package/src/unstable/observability/OtlpMetrics.ts +1 -1
- package/src/unstable/observability/OtlpSerialization.ts +2 -2
- package/src/unstable/observability/OtlpTracer.ts +2 -2
- package/src/unstable/observability/PrometheusMetrics.ts +5 -5
- package/src/unstable/persistence/KeyValueStore.ts +226 -3
- package/src/unstable/persistence/PersistedCache.ts +20 -17
- package/src/unstable/persistence/PersistedQueue.ts +3 -3
- package/src/unstable/persistence/Persistence.ts +4 -4
- package/src/unstable/persistence/RateLimiter.ts +3 -3
- package/src/unstable/persistence/Redis.ts +2 -2
- package/src/unstable/process/ChildProcessSpawner.ts +46 -2
- package/src/unstable/reactivity/Atom.ts +79 -79
- package/src/unstable/reactivity/AtomHttpApi.ts +4 -4
- package/src/unstable/reactivity/AtomRegistry.ts +4 -4
- package/src/unstable/reactivity/AtomRpc.ts +4 -4
- package/src/unstable/reactivity/Reactivity.ts +6 -6
- package/src/unstable/rpc/Rpc.ts +17 -17
- package/src/unstable/rpc/RpcClient.ts +44 -30
- package/src/unstable/rpc/RpcGroup.ts +30 -30
- package/src/unstable/rpc/RpcMiddleware.ts +14 -14
- package/src/unstable/rpc/RpcSchema.ts +4 -4
- package/src/unstable/rpc/RpcSerialization.ts +2 -2
- package/src/unstable/rpc/RpcServer.ts +19 -19
- package/src/unstable/rpc/RpcWorker.ts +5 -5
- package/src/unstable/rpc/Utils.ts +4 -4
- package/src/unstable/socket/Socket.ts +9 -9
- package/src/unstable/socket/SocketServer.ts +2 -2
- package/src/unstable/sql/SqlClient.ts +11 -11
- package/src/unstable/sql/SqlConnection.ts +2 -2
- package/src/unstable/sql/SqlModel.ts +54 -82
- package/src/unstable/sql/SqlResolver.ts +11 -11
- package/src/unstable/sql/Statement.ts +2 -2
- package/src/unstable/workers/Transferable.ts +6 -6
- package/src/unstable/workers/Worker.ts +4 -4
- package/src/unstable/workers/WorkerRunner.ts +2 -2
- package/src/unstable/workflow/Activity.ts +14 -14
- package/src/unstable/workflow/DurableClock.ts +3 -3
- package/src/unstable/workflow/DurableDeferred.ts +8 -8
- package/src/unstable/workflow/Workflow.ts +23 -23
- package/src/unstable/workflow/WorkflowEngine.ts +6 -6
- package/src/unstable/workflow/WorkflowProxyServer.ts +4 -4
- package/dist/ServiceMap.d.ts +0 -1150
- package/dist/ServiceMap.d.ts.map +0 -1
- package/dist/ServiceMap.js.map +0 -1
package/src/unstable/cli/Flag.ts
CHANGED
|
@@ -11,7 +11,6 @@ import type * as Schema from "../../Schema.ts"
|
|
|
11
11
|
import type * as CliError from "./CliError.ts"
|
|
12
12
|
import * as Param from "./Param.ts"
|
|
13
13
|
import type * as Primitive from "./Primitive.ts"
|
|
14
|
-
import type * as Prompt from "./Prompt.ts"
|
|
15
14
|
|
|
16
15
|
// -------------------------------------------------------------------------------------
|
|
17
16
|
// models
|
|
@@ -775,7 +774,7 @@ export const withFallbackPrompt: {
|
|
|
775
774
|
* @since 4.0.0
|
|
776
775
|
* @category combinators
|
|
777
776
|
*/
|
|
778
|
-
<B>(prompt:
|
|
777
|
+
<B>(prompt: Param.FallbackPrompt<B>): <A>(self: Flag<A>) => Flag<A | B>
|
|
779
778
|
/**
|
|
780
779
|
* Adds a fallback prompt that is shown when a required flag is missing.
|
|
781
780
|
*
|
|
@@ -791,8 +790,8 @@ export const withFallbackPrompt: {
|
|
|
791
790
|
* @since 4.0.0
|
|
792
791
|
* @category combinators
|
|
793
792
|
*/
|
|
794
|
-
<A, B>(self: Flag<A>, prompt:
|
|
795
|
-
} = dual(2, <A, B>(self: Flag<A>, prompt:
|
|
793
|
+
<A, B>(self: Flag<A>, prompt: Param.FallbackPrompt<B>): Flag<A | B>
|
|
794
|
+
} = dual(2, <A, B>(self: Flag<A>, prompt: Param.FallbackPrompt<B>) => Param.withFallbackPrompt(self, prompt))
|
|
796
795
|
|
|
797
796
|
/**
|
|
798
797
|
* Transforms the parsed value of a flag using a mapping function.
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
import * as Console from "../../Console.ts"
|
|
6
|
+
import * as Context from "../../Context.ts"
|
|
6
7
|
import * as Effect from "../../Effect.ts"
|
|
7
8
|
import type { LogLevel as LogLevelType } from "../../LogLevel.ts"
|
|
8
9
|
import * as Option from "../../Option.ts"
|
|
9
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
10
10
|
import * as CliOutput from "./CliOutput.ts"
|
|
11
11
|
import type * as Command from "./Command.ts"
|
|
12
12
|
import * as Completions_ from "./Completions.ts"
|
|
@@ -51,7 +51,7 @@ export interface Action<A> {
|
|
|
51
51
|
* @since 4.0.0
|
|
52
52
|
* @category models
|
|
53
53
|
*/
|
|
54
|
-
export interface Setting<Id extends string, A> extends
|
|
54
|
+
export interface Setting<Id extends string, A> extends Context.Service<Setting.Identifier<Id>, A> {
|
|
55
55
|
readonly _tag: "Setting"
|
|
56
56
|
readonly id: Id
|
|
57
57
|
readonly flag: Flag.Flag<A>
|
|
@@ -111,7 +111,7 @@ export const setting = <const Id extends string>(
|
|
|
111
111
|
readonly flag: Flag.Flag<A>
|
|
112
112
|
}): Setting<Id, A> => {
|
|
113
113
|
settingIdCounter += 1
|
|
114
|
-
const ref =
|
|
114
|
+
const ref = Context.Service<Setting.Identifier<Id>, A>(
|
|
115
115
|
`effect/unstable/cli/GlobalFlag/${id}/${settingIdCounter}`
|
|
116
116
|
)
|
|
117
117
|
return Object.assign(ref, {
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
import type { NonEmptyReadonlyArray } from "../../Array.ts"
|
|
6
|
+
import type * as Context from "../../Context.ts"
|
|
6
7
|
import type * as Option from "../../Option.ts"
|
|
7
|
-
import type * as ServiceMap from "../../ServiceMap.ts"
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Structured representation of help documentation for a command.
|
|
@@ -13,13 +13,13 @@ import type * as ServiceMap from "../../ServiceMap.ts"
|
|
|
13
13
|
*
|
|
14
14
|
* @example
|
|
15
15
|
* ```ts
|
|
16
|
-
* import { Option as O,
|
|
16
|
+
* import { Option as O, Context } from "effect"
|
|
17
17
|
* import type * as HelpDoc from "effect/unstable/cli/HelpDoc"
|
|
18
18
|
*
|
|
19
19
|
* const deployCommandHelp: HelpDoc.HelpDoc = {
|
|
20
20
|
* description: "Deploy your application to the cloud",
|
|
21
21
|
* usage: "myapp deploy [options] <target>",
|
|
22
|
-
* annotations:
|
|
22
|
+
* annotations: Context.empty(),
|
|
23
23
|
* flags: [
|
|
24
24
|
* {
|
|
25
25
|
* name: "verbose",
|
|
@@ -76,7 +76,7 @@ export interface HelpDoc {
|
|
|
76
76
|
/**
|
|
77
77
|
* Custom command annotations.
|
|
78
78
|
*/
|
|
79
|
-
readonly annotations:
|
|
79
|
+
readonly annotations: Context.Context<never>
|
|
80
80
|
|
|
81
81
|
/**
|
|
82
82
|
* List of positional arguments for this command
|
|
@@ -172,7 +172,7 @@ export interface FlagDoc {
|
|
|
172
172
|
*
|
|
173
173
|
* @example
|
|
174
174
|
* ```ts
|
|
175
|
-
* import { Option as O,
|
|
175
|
+
* import { Option as O, Context } from "effect"
|
|
176
176
|
* import type { HelpDoc } from "effect/unstable/cli"
|
|
177
177
|
*
|
|
178
178
|
* const deploySubcommand: HelpDoc.SubcommandDoc = {
|
|
@@ -193,7 +193,7 @@ export interface FlagDoc {
|
|
|
193
193
|
* const mainCommandHelp: HelpDoc.HelpDoc = {
|
|
194
194
|
* description: "Cloud deployment tool",
|
|
195
195
|
* usage: "myapp <command> [options]",
|
|
196
|
-
* annotations:
|
|
196
|
+
* annotations: Context.empty(),
|
|
197
197
|
* flags: [],
|
|
198
198
|
* subcommands: [{
|
|
199
199
|
* group: undefined,
|
|
@@ -251,7 +251,7 @@ export interface SubcommandGroupDoc {
|
|
|
251
251
|
*
|
|
252
252
|
* @example
|
|
253
253
|
* ```ts
|
|
254
|
-
* import { Option as O,
|
|
254
|
+
* import { Option as O, Context } from "effect"
|
|
255
255
|
* import type { HelpDoc } from "effect/unstable/cli"
|
|
256
256
|
*
|
|
257
257
|
* const sourceArg: HelpDoc.ArgDoc = {
|
|
@@ -274,7 +274,7 @@ export interface SubcommandGroupDoc {
|
|
|
274
274
|
* const copyCommandHelp: HelpDoc.HelpDoc = {
|
|
275
275
|
* description: "Copy files from source to destination",
|
|
276
276
|
* usage: "copy <source> [files...]",
|
|
277
|
-
* annotations:
|
|
277
|
+
* annotations: Context.empty(),
|
|
278
278
|
* flags: [],
|
|
279
279
|
* args: [sourceArg, filesArg]
|
|
280
280
|
* }
|
|
@@ -139,6 +139,17 @@ export interface ParsedArgs {
|
|
|
139
139
|
readonly arguments: ReadonlyArray<string>
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
+
/**
|
|
143
|
+
* Represents a fallback prompt that can either be provided directly or
|
|
144
|
+
* computed effectfully when the parameter is missing.
|
|
145
|
+
*
|
|
146
|
+
* @since 4.0.0
|
|
147
|
+
* @category models
|
|
148
|
+
*/
|
|
149
|
+
export type FallbackPrompt<A> =
|
|
150
|
+
| Prompt.Prompt<A>
|
|
151
|
+
| Effect.Effect<Prompt.Prompt<A>, CliError.CliError, Environment>
|
|
152
|
+
|
|
142
153
|
/**
|
|
143
154
|
* @since 4.0.0
|
|
144
155
|
* @category models
|
|
@@ -851,7 +862,7 @@ const FLAG_DASH_REGEXP = /^-+/
|
|
|
851
862
|
*
|
|
852
863
|
* const force = Param.boolean(Param.flagKind, "force").pipe(
|
|
853
864
|
* Param.withAlias("-f"),
|
|
854
|
-
* Param.withAlias("
|
|
865
|
+
* Param.withAlias("-F")
|
|
855
866
|
* )
|
|
856
867
|
*
|
|
857
868
|
* // Also works on composed params:
|
|
@@ -882,7 +893,7 @@ export const withAlias: {
|
|
|
882
893
|
*
|
|
883
894
|
* const force = Param.boolean(Param.flagKind, "force").pipe(
|
|
884
895
|
* Param.withAlias("-f"),
|
|
885
|
-
* Param.withAlias("
|
|
896
|
+
* Param.withAlias("-F")
|
|
886
897
|
* )
|
|
887
898
|
*
|
|
888
899
|
* // Also works on composed params:
|
|
@@ -913,7 +924,7 @@ export const withAlias: {
|
|
|
913
924
|
*
|
|
914
925
|
* const force = Param.boolean(Param.flagKind, "force").pipe(
|
|
915
926
|
* Param.withAlias("-f"),
|
|
916
|
-
* Param.withAlias("
|
|
927
|
+
* Param.withAlias("-F")
|
|
917
928
|
* )
|
|
918
929
|
*
|
|
919
930
|
* // Also works on composed params:
|
|
@@ -1307,8 +1318,6 @@ export const mapTryCatch: {
|
|
|
1307
1318
|
* ```ts
|
|
1308
1319
|
* import * as Param from "effect/unstable/cli/Param"
|
|
1309
1320
|
*
|
|
1310
|
-
* // @internal - this module is not exported publicly
|
|
1311
|
-
*
|
|
1312
1321
|
* // Create an optional port option
|
|
1313
1322
|
* // - When not provided: returns Option.none()
|
|
1314
1323
|
* // - When provided: returns Option.some(parsedValue)
|
|
@@ -1321,15 +1330,29 @@ export const mapTryCatch: {
|
|
|
1321
1330
|
export const optional = <Kind extends ParamKind, A>(
|
|
1322
1331
|
param: Param<Kind, A>
|
|
1323
1332
|
): Param<Kind, Option.Option<A>> => {
|
|
1324
|
-
const parse: Parse<Option.Option<A>> = (args)
|
|
1325
|
-
param
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1333
|
+
const parse: Parse<Option.Option<A>> = Effect.fnUntraced(function*(args) {
|
|
1334
|
+
const single = getUnderlyingSingleOrThrow(param)
|
|
1335
|
+
|
|
1336
|
+
// Handle boolean params that are explicitly marked as optional (i.e. the
|
|
1337
|
+
// end user wants to return `Option.none()` instead of `false` when the
|
|
1338
|
+
// flag (or its negated variant) are not present on the command line
|
|
1339
|
+
if (
|
|
1340
|
+
isFlagParam(single) &&
|
|
1341
|
+
Primitive.isBoolean(single.primitiveType) &&
|
|
1342
|
+
![single.name, ...single.aliases].some((name) => (args.flags[name] ?? []).length > 0)
|
|
1343
|
+
) {
|
|
1344
|
+
return [args.arguments, Option.none()] as const
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
return yield* param.parse(args).pipe(
|
|
1348
|
+
Effect.map(([leftover, value]) => [leftover, Option.some(value)] as const),
|
|
1329
1349
|
// Catch both MissingOption (for flags) and MissingArgument (for positional arguments)
|
|
1330
|
-
Effect.
|
|
1331
|
-
|
|
1350
|
+
Effect.catchTags({
|
|
1351
|
+
MissingOption: () => Effect.succeed([args.arguments, Option.none()] as const),
|
|
1352
|
+
MissingArgument: () => Effect.succeed([args.arguments, Option.none()] as const)
|
|
1353
|
+
})
|
|
1332
1354
|
)
|
|
1355
|
+
})
|
|
1333
1356
|
return Object.assign(Object.create(Proto), {
|
|
1334
1357
|
_tag: "Optional",
|
|
1335
1358
|
kind: param.kind,
|
|
@@ -1512,20 +1535,20 @@ export const withFallbackPrompt: {
|
|
|
1512
1535
|
* @since 4.0.0
|
|
1513
1536
|
* @category combinators
|
|
1514
1537
|
*/
|
|
1515
|
-
<B>(prompt:
|
|
1538
|
+
<B>(prompt: FallbackPrompt<B>): <Kind extends ParamKind, A>(self: Param<Kind, A>) => Param<Kind, A | B>
|
|
1516
1539
|
/**
|
|
1517
1540
|
* Adds a fallback prompt that is shown when a required parameter is missing.
|
|
1518
1541
|
*
|
|
1519
1542
|
* @since 4.0.0
|
|
1520
1543
|
* @category combinators
|
|
1521
1544
|
*/
|
|
1522
|
-
<Kind extends ParamKind, A, B>(self: Param<Kind, A>, prompt:
|
|
1545
|
+
<Kind extends ParamKind, A, B>(self: Param<Kind, A>, prompt: FallbackPrompt<B>): Param<Kind, A | B>
|
|
1523
1546
|
} = dual(2, <Kind extends ParamKind, A, B>(
|
|
1524
1547
|
self: Param<Kind, A>,
|
|
1525
|
-
prompt:
|
|
1548
|
+
prompt: FallbackPrompt<B>
|
|
1526
1549
|
): Param<Kind, A | B> => {
|
|
1527
1550
|
const runPrompt = (error: CliError.MissingOption | CliError.MissingArgument, args: ParsedArgs) =>
|
|
1528
|
-
Prompt.
|
|
1551
|
+
Effect.flatMap(Prompt.isPrompt(prompt) ? Effect.succeed(prompt) : prompt, Prompt.run).pipe(
|
|
1529
1552
|
Effect.map((value) => [args.arguments, value as A | B] as const),
|
|
1530
1553
|
Effect.catchTag("QuitError", () => Effect.fail(error))
|
|
1531
1554
|
)
|
|
@@ -2309,6 +2309,17 @@ const renderChoiceDescription = <A>(
|
|
|
2309
2309
|
|
|
2310
2310
|
const metaOptionsCount = 2
|
|
2311
2311
|
|
|
2312
|
+
const renderMultiSelectTitle = (
|
|
2313
|
+
title: string,
|
|
2314
|
+
isHighlighted: boolean,
|
|
2315
|
+
renderOptions?: RenderOptions | undefined
|
|
2316
|
+
) => {
|
|
2317
|
+
if (renderOptions?.plain === true || !isHighlighted) {
|
|
2318
|
+
return title
|
|
2319
|
+
}
|
|
2320
|
+
return Ansi.annotate(title, Ansi.combine(Ansi.underlined, Ansi.cyanBright))
|
|
2321
|
+
}
|
|
2322
|
+
|
|
2312
2323
|
const renderMultiSelectChoices = <A>(
|
|
2313
2324
|
state: MultiSelectState,
|
|
2314
2325
|
options: SelectOptionsReq<A> & MultiSelectOptionsReq,
|
|
@@ -2344,9 +2355,7 @@ const renderMultiSelectChoices = <A>(
|
|
|
2344
2355
|
}
|
|
2345
2356
|
if (index < metaOptions.length) {
|
|
2346
2357
|
// Meta options
|
|
2347
|
-
const title = isHighlighted
|
|
2348
|
-
? Ansi.annotate(choice.title, Ansi.cyanBright)
|
|
2349
|
-
: choice.title
|
|
2358
|
+
const title = renderMultiSelectTitle(choice.title, isHighlighted, renderOptions)
|
|
2350
2359
|
documents.push(prefix + " " + title)
|
|
2351
2360
|
} else {
|
|
2352
2361
|
// Regular choices
|
|
@@ -2356,9 +2365,7 @@ const renderMultiSelectChoices = <A>(
|
|
|
2356
2365
|
const annotatedCheckbox = isHighlighted && renderOptions?.plain !== true
|
|
2357
2366
|
? Ansi.annotate(checkbox, Ansi.cyanBright)
|
|
2358
2367
|
: checkbox
|
|
2359
|
-
const title = isHighlighted
|
|
2360
|
-
? Ansi.annotate(choice.title, Ansi.cyanBright)
|
|
2361
|
-
: choice.title
|
|
2368
|
+
const title = renderMultiSelectTitle(choice.title, isHighlighted, renderOptions)
|
|
2362
2369
|
const description = renderChoiceDescription(choice as SelectChoice<A>, isHighlighted, renderOptions)
|
|
2363
2370
|
documents.push(prefix + " " + annotatedCheckbox + " " + title + " " + description)
|
|
2364
2371
|
}
|
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
* Public API is in ../Command.ts
|
|
7
7
|
*/
|
|
8
8
|
import * as Arr from "../../../Array.ts"
|
|
9
|
+
import * as Context from "../../../Context.ts"
|
|
9
10
|
import * as Effect from "../../../Effect.ts"
|
|
10
11
|
import { YieldableProto } from "../../../internal/core.ts"
|
|
11
12
|
import * as Option from "../../../Option.ts"
|
|
12
13
|
import { pipeArguments } from "../../../Pipeable.ts"
|
|
13
14
|
import * as Predicate from "../../../Predicate.ts"
|
|
14
|
-
import * as ServiceMap from "../../../ServiceMap.ts"
|
|
15
15
|
import * as CliError from "../CliError.ts"
|
|
16
16
|
import type * as GlobalFlag from "../GlobalFlag.ts"
|
|
17
17
|
import type { ArgDoc, ExampleDoc, FlagDoc, HelpDoc, SubcommandGroupDoc } from "../HelpDoc.ts"
|
|
@@ -39,8 +39,8 @@ export interface CommandInternal<Name extends string, Input, E, R, ContextInput>
|
|
|
39
39
|
{
|
|
40
40
|
readonly config: ConfigInternal
|
|
41
41
|
readonly contextConfig: ConfigInternal
|
|
42
|
-
readonly service:
|
|
43
|
-
readonly annotations:
|
|
42
|
+
readonly service: Context.Key<CommandContext<Name>, ContextInput>
|
|
43
|
+
readonly annotations: Context.Context<never>
|
|
44
44
|
readonly globalFlags: ReadonlyArray<GlobalFlag.GlobalFlag<any>>
|
|
45
45
|
readonly parse: (input: ParsedTokens) => Effect.Effect<Input, CliError.CliError, Environment>
|
|
46
46
|
readonly parseContext: (input: ParsedTokens) => Effect.Effect<ContextInput, CliError.CliError, Environment>
|
|
@@ -94,8 +94,8 @@ export const makeCommand = <const Name extends string, Input, E, R, ContextInput
|
|
|
94
94
|
readonly name: Name
|
|
95
95
|
readonly config: ConfigInternal
|
|
96
96
|
readonly contextConfig?: ConfigInternal | undefined
|
|
97
|
-
readonly service?:
|
|
98
|
-
readonly annotations?:
|
|
97
|
+
readonly service?: Context.Key<CommandContext<Name>, ContextInput> | undefined
|
|
98
|
+
readonly annotations?: Context.Context<never> | undefined
|
|
99
99
|
readonly globalFlags?: ReadonlyArray<GlobalFlag.GlobalFlag<any>> | undefined
|
|
100
100
|
readonly description?: string | undefined
|
|
101
101
|
readonly shortDescription?: string | undefined
|
|
@@ -112,8 +112,8 @@ export const makeCommand = <const Name extends string, Input, E, R, ContextInput
|
|
|
112
112
|
}): Command<Name, Input, ContextInput, E, R> => {
|
|
113
113
|
const config = options.config
|
|
114
114
|
const contextConfig = options.contextConfig ?? emptyConfig
|
|
115
|
-
const service = options.service ??
|
|
116
|
-
const annotations = options.annotations ??
|
|
115
|
+
const service = options.service ?? Context.Service<CommandContext<Name>, ContextInput>(`${TypeId}/${options.name}`)
|
|
116
|
+
const annotations = options.annotations ?? Context.empty()
|
|
117
117
|
const globalFlags = options.globalFlags ?? []
|
|
118
118
|
const subcommands = options.subcommands ?? []
|
|
119
119
|
|
|
@@ -50,7 +50,7 @@ export const parseArgs = (
|
|
|
50
50
|
lexResult: LexResult,
|
|
51
51
|
command: Command.Any,
|
|
52
52
|
commandPath: ReadonlyArray<string> = []
|
|
53
|
-
): Effect.Effect<ParsedTokens,
|
|
53
|
+
): Effect.Effect<ParsedTokens, never, Param.Environment> =>
|
|
54
54
|
Effect.gen(function*() {
|
|
55
55
|
const { tokens, trailingOperands: afterEndOfOptions } = lexResult
|
|
56
56
|
const newCommandPath = [...commandPath, command.name]
|
|
@@ -161,7 +161,7 @@ type ParseMode =
|
|
|
161
161
|
type ParseState = {
|
|
162
162
|
readonly flags: FlagAccumulator
|
|
163
163
|
readonly arguments: Array<string>
|
|
164
|
-
readonly errors: Array<CliError.
|
|
164
|
+
readonly errors: Array<CliError.NonShowHelpErrors>
|
|
165
165
|
mode: ParseMode
|
|
166
166
|
}
|
|
167
167
|
|
|
@@ -179,7 +179,7 @@ type LeafResult = {
|
|
|
179
179
|
readonly _tag: "Leaf"
|
|
180
180
|
readonly flags: Readonly<FlagMap>
|
|
181
181
|
readonly arguments: ReadonlyArray<string>
|
|
182
|
-
readonly errors: ReadonlyArray<CliError.
|
|
182
|
+
readonly errors: ReadonlyArray<CliError.NonShowHelpErrors>
|
|
183
183
|
}
|
|
184
184
|
|
|
185
185
|
/**
|
|
@@ -190,7 +190,7 @@ type SubcommandResult = {
|
|
|
190
190
|
readonly flags: Readonly<FlagMap>
|
|
191
191
|
readonly sub: Command<string, unknown, unknown, unknown, unknown>
|
|
192
192
|
readonly childTokens: ReadonlyArray<Token>
|
|
193
|
-
readonly errors: ReadonlyArray<CliError.
|
|
193
|
+
readonly errors: ReadonlyArray<CliError.NonShowHelpErrors>
|
|
194
194
|
}
|
|
195
195
|
|
|
196
196
|
type LevelResult = LeafResult | SubcommandResult
|
|
@@ -317,11 +317,70 @@ const createFlagAccumulator = (params: ReadonlyArray<FlagParam>): FlagAccumulato
|
|
|
317
317
|
/* ========================================================================== */
|
|
318
318
|
|
|
319
319
|
type FlagToken = Extract<Token, { _tag: "LongOption" | "ShortOption" }>
|
|
320
|
+
type ResolvedFlag = {
|
|
321
|
+
readonly param: FlagParam
|
|
322
|
+
readonly negated: boolean
|
|
323
|
+
}
|
|
324
|
+
type ConsumedFlagValue =
|
|
325
|
+
| {
|
|
326
|
+
readonly _tag: "Value"
|
|
327
|
+
readonly value: string | undefined
|
|
328
|
+
}
|
|
329
|
+
| {
|
|
330
|
+
readonly _tag: "Error"
|
|
331
|
+
readonly error: CliError.InvalidValue
|
|
332
|
+
}
|
|
320
333
|
|
|
321
334
|
const isFlagToken = (t: Token): t is FlagToken => t._tag === "LongOption" || t._tag === "ShortOption"
|
|
322
335
|
|
|
323
336
|
const getFlagName = (t: FlagToken): string => t._tag === "LongOption" ? t.name : t.flag
|
|
324
337
|
|
|
338
|
+
const resolveFlag = (
|
|
339
|
+
token: FlagToken,
|
|
340
|
+
registry: FlagRegistry
|
|
341
|
+
): ResolvedFlag | undefined => {
|
|
342
|
+
const tokenName = getFlagName(token)
|
|
343
|
+
const direct = registry.index.get(tokenName)
|
|
344
|
+
if (direct && direct.name === tokenName) {
|
|
345
|
+
return {
|
|
346
|
+
param: direct,
|
|
347
|
+
negated: false
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
if (token._tag === "LongOption" && token.name.startsWith("no-")) {
|
|
352
|
+
const canonicalName = token.name.slice(3)
|
|
353
|
+
const param = registry.index.get(canonicalName)
|
|
354
|
+
if (param && param.name === canonicalName && Primitive.isBoolean(param.primitiveType)) {
|
|
355
|
+
return {
|
|
356
|
+
param,
|
|
357
|
+
negated: true
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
if (direct) {
|
|
363
|
+
return {
|
|
364
|
+
param: direct,
|
|
365
|
+
negated: false
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
return undefined
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
const invalidNegatedFlagValue = (
|
|
373
|
+
token: FlagToken,
|
|
374
|
+
spec: FlagParam,
|
|
375
|
+
value: string
|
|
376
|
+
): CliError.InvalidValue =>
|
|
377
|
+
new CliError.InvalidValue({
|
|
378
|
+
option: spec.name,
|
|
379
|
+
value,
|
|
380
|
+
expected: `omit the value and use ${token.raw} by itself to set --${spec.name} to false`,
|
|
381
|
+
kind: "flag"
|
|
382
|
+
})
|
|
383
|
+
|
|
325
384
|
/**
|
|
326
385
|
* Checks if a token is a boolean literal value.
|
|
327
386
|
* Recognizes: true/false, yes/no, on/off, 1/0
|
|
@@ -346,28 +405,64 @@ const asBooleanLiteral = (token: Token | undefined): string | undefined =>
|
|
|
346
405
|
const consumeFlagValue = (
|
|
347
406
|
cursor: TokenCursor,
|
|
348
407
|
token: FlagToken,
|
|
349
|
-
spec: FlagParam
|
|
350
|
-
|
|
408
|
+
spec: FlagParam,
|
|
409
|
+
negated = false
|
|
410
|
+
): ConsumedFlagValue => {
|
|
351
411
|
// Inline value has highest priority
|
|
412
|
+
if (negated) {
|
|
413
|
+
if (token.value !== undefined) {
|
|
414
|
+
return {
|
|
415
|
+
_tag: "Error",
|
|
416
|
+
error: invalidNegatedFlagValue(token, spec, token.value)
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
const literal = asBooleanLiteral(cursor.peek())
|
|
421
|
+
if (literal !== undefined) {
|
|
422
|
+
cursor.take()
|
|
423
|
+
return {
|
|
424
|
+
_tag: "Error",
|
|
425
|
+
error: invalidNegatedFlagValue(token, spec, literal)
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
return {
|
|
430
|
+
_tag: "Value",
|
|
431
|
+
value: "false"
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
|
|
352
435
|
if (token.value !== undefined) {
|
|
353
|
-
return
|
|
436
|
+
return {
|
|
437
|
+
_tag: "Value",
|
|
438
|
+
value: token.value
|
|
439
|
+
}
|
|
354
440
|
}
|
|
355
441
|
|
|
356
442
|
// Boolean flags: check for explicit literal or default to "true"
|
|
357
443
|
if (Primitive.isBoolean(spec.primitiveType)) {
|
|
358
444
|
const literal = asBooleanLiteral(cursor.peek())
|
|
359
445
|
if (literal !== undefined) cursor.take()
|
|
360
|
-
return
|
|
446
|
+
return {
|
|
447
|
+
_tag: "Value",
|
|
448
|
+
value: literal ?? "true"
|
|
449
|
+
}
|
|
361
450
|
}
|
|
362
451
|
|
|
363
452
|
// Non-boolean: try to consume next Value token
|
|
364
453
|
const next = cursor.peek()
|
|
365
454
|
if (next?._tag === "Value") {
|
|
366
455
|
cursor.take()
|
|
367
|
-
return
|
|
456
|
+
return {
|
|
457
|
+
_tag: "Value",
|
|
458
|
+
value: next.value
|
|
459
|
+
}
|
|
368
460
|
}
|
|
369
461
|
|
|
370
|
-
return
|
|
462
|
+
return {
|
|
463
|
+
_tag: "Value",
|
|
464
|
+
value: undefined
|
|
465
|
+
}
|
|
371
466
|
}
|
|
372
467
|
|
|
373
468
|
/**
|
|
@@ -379,9 +474,10 @@ const consumeFlagValue = (
|
|
|
379
474
|
export const consumeKnownFlags = (
|
|
380
475
|
tokens: ReadonlyArray<Token>,
|
|
381
476
|
registry: FlagRegistry
|
|
382
|
-
): { flagMap: FlagMap; remainder: ReadonlyArray<Token> } => {
|
|
477
|
+
): { flagMap: FlagMap; remainder: ReadonlyArray<Token>; errors: ReadonlyArray<CliError.InvalidValue> } => {
|
|
383
478
|
const flagMap = createEmptyFlagMap(registry.params)
|
|
384
479
|
const remainder: Array<Token> = []
|
|
480
|
+
const errors: Array<CliError.InvalidValue> = []
|
|
385
481
|
const cursor = makeCursor(tokens)
|
|
386
482
|
|
|
387
483
|
for (let t = cursor.take(); t; t = cursor.take()) {
|
|
@@ -390,19 +486,23 @@ export const consumeKnownFlags = (
|
|
|
390
486
|
continue
|
|
391
487
|
}
|
|
392
488
|
|
|
393
|
-
const
|
|
394
|
-
if (!
|
|
489
|
+
const resolved = resolveFlag(t, registry)
|
|
490
|
+
if (!resolved) {
|
|
395
491
|
remainder.push(t)
|
|
396
492
|
continue
|
|
397
493
|
}
|
|
398
494
|
|
|
399
|
-
const
|
|
400
|
-
if (
|
|
401
|
-
|
|
495
|
+
const consumed = consumeFlagValue(cursor, t, resolved.param, resolved.negated)
|
|
496
|
+
if (consumed._tag === "Error") {
|
|
497
|
+
errors.push(consumed.error)
|
|
498
|
+
continue
|
|
499
|
+
}
|
|
500
|
+
if (consumed.value !== undefined) {
|
|
501
|
+
flagMap[resolved.param.name].push(consumed.value)
|
|
402
502
|
}
|
|
403
503
|
}
|
|
404
504
|
|
|
405
|
-
return { flagMap, remainder }
|
|
505
|
+
return { flagMap, remainder, errors }
|
|
406
506
|
}
|
|
407
507
|
|
|
408
508
|
/* ========================================================================== */
|
|
@@ -419,6 +519,9 @@ const createUnrecognizedFlagError = (
|
|
|
419
519
|
|
|
420
520
|
for (const p of params) {
|
|
421
521
|
validNames.push(p.name)
|
|
522
|
+
if (Primitive.isBoolean(p.primitiveType)) {
|
|
523
|
+
validNames.push(`no-${p.name}`)
|
|
524
|
+
}
|
|
422
525
|
for (const alias of p.aliases) {
|
|
423
526
|
validNames.push(alias)
|
|
424
527
|
}
|
|
@@ -498,6 +601,7 @@ const resolveFirstValue = (
|
|
|
498
601
|
// npm-style: inherited parent flags can appear after subcommand name
|
|
499
602
|
const tail = consumeKnownFlags(cursor.rest(), inheritedFlagRegistry)
|
|
500
603
|
state.flags.merge(tail.flagMap)
|
|
604
|
+
state.errors.push(...tail.errors)
|
|
501
605
|
|
|
502
606
|
return {
|
|
503
607
|
_tag: "Subcommand",
|
|
@@ -542,15 +646,20 @@ const processFlag = (
|
|
|
542
646
|
state: ParseState
|
|
543
647
|
): void => {
|
|
544
648
|
const { commandPath, flagRegistry } = context
|
|
545
|
-
const
|
|
546
|
-
const spec = flagRegistry.index.get(name)
|
|
649
|
+
const resolved = resolveFlag(token, flagRegistry)
|
|
547
650
|
|
|
548
|
-
if (!
|
|
651
|
+
if (!resolved) {
|
|
549
652
|
state.errors.push(createUnrecognizedFlagError(token, flagRegistry.params, commandPath))
|
|
550
653
|
return
|
|
551
654
|
}
|
|
552
655
|
|
|
553
|
-
|
|
656
|
+
const consumed = consumeFlagValue(cursor, token, resolved.param, resolved.negated)
|
|
657
|
+
if (consumed._tag === "Error") {
|
|
658
|
+
state.errors.push(consumed.error)
|
|
659
|
+
return
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
state.flags.add(resolved.param.name, consumed.value)
|
|
554
663
|
}
|
|
555
664
|
|
|
556
665
|
/**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @since 4.0.0
|
|
3
3
|
*/
|
|
4
|
+
import * as Context from "../../Context.ts"
|
|
4
5
|
import { constFalse, constTrue, identity } from "../../Function.ts"
|
|
5
|
-
import * as ServiceMap from "../../ServiceMap.ts"
|
|
6
6
|
import type * as Rpc from "../rpc/Rpc.ts"
|
|
7
7
|
import type { EntityId } from "./EntityId.ts"
|
|
8
8
|
import type { Request } from "./Envelope.ts"
|
|
@@ -11,7 +11,7 @@ import type { Request } from "./Envelope.ts"
|
|
|
11
11
|
* @since 4.0.0
|
|
12
12
|
* @category Annotations
|
|
13
13
|
*/
|
|
14
|
-
export const Persisted =
|
|
14
|
+
export const Persisted = Context.Reference<boolean>("effect/cluster/ClusterSchema/Persisted", {
|
|
15
15
|
defaultValue: constFalse
|
|
16
16
|
})
|
|
17
17
|
|
|
@@ -22,7 +22,7 @@ export const Persisted = ServiceMap.Reference<boolean>("effect/cluster/ClusterSc
|
|
|
22
22
|
* @since 4.0.0
|
|
23
23
|
* @category Annotations
|
|
24
24
|
*/
|
|
25
|
-
export const WithTransaction =
|
|
25
|
+
export const WithTransaction = Context.Reference<boolean>(
|
|
26
26
|
"effect/cluster/ClusterSchema/WithTransaction",
|
|
27
27
|
{ defaultValue: constFalse }
|
|
28
28
|
)
|
|
@@ -31,7 +31,7 @@ export const WithTransaction = ServiceMap.Reference<boolean>(
|
|
|
31
31
|
* @since 4.0.0
|
|
32
32
|
* @category Annotations
|
|
33
33
|
*/
|
|
34
|
-
export const Uninterruptible =
|
|
34
|
+
export const Uninterruptible = Context.Reference<boolean | "client" | "server">(
|
|
35
35
|
"effect/cluster/ClusterSchema/Uninterruptible",
|
|
36
36
|
{ defaultValue: constFalse }
|
|
37
37
|
)
|
|
@@ -40,8 +40,8 @@ export const Uninterruptible = ServiceMap.Reference<boolean | "client" | "server
|
|
|
40
40
|
* @since 4.0.0
|
|
41
41
|
* @category Annotations
|
|
42
42
|
*/
|
|
43
|
-
export const isUninterruptibleForServer = (context:
|
|
44
|
-
const value =
|
|
43
|
+
export const isUninterruptibleForServer = (context: Context.Context<never>): boolean => {
|
|
44
|
+
const value = Context.get(context, Uninterruptible)
|
|
45
45
|
return value === true || value === "server"
|
|
46
46
|
}
|
|
47
47
|
|
|
@@ -49,8 +49,8 @@ export const isUninterruptibleForServer = (context: ServiceMap.ServiceMap<never>
|
|
|
49
49
|
* @since 4.0.0
|
|
50
50
|
* @category Annotations
|
|
51
51
|
*/
|
|
52
|
-
export const isUninterruptibleForClient = (context:
|
|
53
|
-
const value =
|
|
52
|
+
export const isUninterruptibleForClient = (context: Context.Context<never>): boolean => {
|
|
53
|
+
const value = Context.get(context, Uninterruptible)
|
|
54
54
|
return value === true || value === "client"
|
|
55
55
|
}
|
|
56
56
|
|
|
@@ -58,7 +58,7 @@ export const isUninterruptibleForClient = (context: ServiceMap.ServiceMap<never>
|
|
|
58
58
|
* @since 4.0.0
|
|
59
59
|
* @category Annotations
|
|
60
60
|
*/
|
|
61
|
-
export const ShardGroup =
|
|
61
|
+
export const ShardGroup = Context.Reference<(entityId: EntityId) => string>(
|
|
62
62
|
"effect/cluster/ClusterSchema/ShardGroup",
|
|
63
63
|
{ defaultValue: () => (_) => "default" }
|
|
64
64
|
)
|
|
@@ -67,7 +67,7 @@ export const ShardGroup = ServiceMap.Reference<(entityId: EntityId) => string>(
|
|
|
67
67
|
* @since 4.0.0
|
|
68
68
|
* @category Annotations
|
|
69
69
|
*/
|
|
70
|
-
export const ClientTracingEnabled =
|
|
70
|
+
export const ClientTracingEnabled = Context.Reference<boolean>("effect/cluster/ClusterSchema/ClientTracingEnabled", {
|
|
71
71
|
defaultValue: constTrue
|
|
72
72
|
})
|
|
73
73
|
|
|
@@ -78,8 +78,8 @@ export const ClientTracingEnabled = ServiceMap.Reference<boolean>("effect/cluste
|
|
|
78
78
|
* @since 4.0.0
|
|
79
79
|
* @category Annotations
|
|
80
80
|
*/
|
|
81
|
-
export const Dynamic =
|
|
82
|
-
(annotations:
|
|
81
|
+
export const Dynamic = Context.Reference<
|
|
82
|
+
(annotations: Context.Context<never>, request: Request<Rpc.AnyWithProps>) => Context.Context<never>
|
|
83
83
|
>(
|
|
84
84
|
"effect/cluster/ClusterSchema/Dynamic",
|
|
85
85
|
{ defaultValue: () => identity }
|