alchemy 2.0.0-beta.36 → 2.0.0-beta.38
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/bin/exec.js +646 -104
- package/bin/exec.js.map +1 -1
- package/lib/AWS/AutoScaling/LaunchTemplate.d.ts +1 -1
- package/lib/AWS/CloudWatch/common.d.ts +1 -1
- package/lib/AWS/Credentials.d.ts.map +1 -1
- package/lib/AWS/Credentials.js +1 -2
- package/lib/AWS/Credentials.js.map +1 -1
- package/lib/AWS/DynamoDB/Stream.d.ts.map +1 -1
- package/lib/AWS/DynamoDB/Stream.js +1 -1
- package/lib/AWS/DynamoDB/Stream.js.map +1 -1
- package/lib/AWS/EC2/Instance.d.ts +1 -1
- package/lib/AWS/EC2/hosted.d.ts +1 -1
- package/lib/AWS/EC2/hosted.d.ts.map +1 -1
- package/lib/AWS/EC2/hosted.js +3 -5
- package/lib/AWS/EC2/hosted.js.map +1 -1
- package/lib/AWS/ECS/Task.d.ts +1 -1
- package/lib/AWS/ECS/Task.d.ts.map +1 -1
- package/lib/AWS/ECS/Task.js +3 -5
- package/lib/AWS/ECS/Task.js.map +1 -1
- package/lib/AWS/Endpoint.d.ts.map +1 -1
- package/lib/AWS/Endpoint.js +1 -2
- package/lib/AWS/Endpoint.js.map +1 -1
- package/lib/AWS/Environment.d.ts +2 -2
- package/lib/AWS/EventBridge/EventSource.d.ts.map +1 -1
- package/lib/AWS/EventBridge/EventSource.js +1 -1
- package/lib/AWS/EventBridge/EventSource.js.map +1 -1
- package/lib/AWS/Kinesis/StreamEventSource.d.ts.map +1 -1
- package/lib/AWS/Kinesis/StreamEventSource.js +1 -1
- package/lib/AWS/Kinesis/StreamEventSource.js.map +1 -1
- package/lib/AWS/Lambda/BucketEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/EventBridgeEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/Function.d.ts +1 -1
- package/lib/AWS/Lambda/Function.d.ts.map +1 -1
- package/lib/AWS/Lambda/Function.js +29 -13
- package/lib/AWS/Lambda/Function.js.map +1 -1
- package/lib/AWS/Lambda/QueueEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/StreamEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/TableEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/TopicEventSource.d.ts +1 -1
- package/lib/AWS/Organizations/common.d.ts +1 -1
- package/lib/AWS/Providers.d.ts.map +1 -1
- package/lib/AWS/Providers.js +21 -3
- package/lib/AWS/Providers.js.map +1 -1
- package/lib/AWS/Region.d.ts +1 -1
- package/lib/AWS/Region.d.ts.map +1 -1
- package/lib/AWS/Region.js +2 -3
- package/lib/AWS/Region.js.map +1 -1
- package/lib/AWS/S3/Bucket.d.ts.map +1 -1
- package/lib/AWS/S3/Bucket.js +5 -2
- package/lib/AWS/S3/Bucket.js.map +1 -1
- package/lib/AWS/S3/BucketNotifications.d.ts.map +1 -1
- package/lib/AWS/S3/BucketNotifications.js +1 -1
- package/lib/AWS/S3/BucketNotifications.js.map +1 -1
- package/lib/AWS/SNS/TopicEventSource.d.ts.map +1 -1
- package/lib/AWS/SNS/TopicEventSource.js +1 -1
- package/lib/AWS/SNS/TopicEventSource.js.map +1 -1
- package/lib/AWS/SQS/Queue.d.ts.map +1 -1
- package/lib/AWS/SQS/Queue.js +23 -5
- package/lib/AWS/SQS/Queue.js.map +1 -1
- package/lib/Action.d.ts +77 -0
- package/lib/Action.d.ts.map +1 -0
- package/lib/Action.js +89 -0
- package/lib/Action.js.map +1 -0
- package/lib/AlchemyContext.d.ts +1 -1
- package/lib/Apply.d.ts.map +1 -1
- package/lib/Apply.js +228 -4
- package/lib/Apply.js.map +1 -1
- package/lib/Artifacts.d.ts +1 -1
- package/lib/Artifacts.d.ts.map +1 -1
- package/lib/Artifacts.js +1 -1
- package/lib/Artifacts.js.map +1 -1
- package/lib/Auth/AuthProvider.js +1 -1
- package/lib/Auth/AuthProvider.js.map +1 -1
- package/lib/Auth/Env.d.ts.map +1 -1
- package/lib/Auth/Env.js +4 -12
- package/lib/Auth/Env.js.map +1 -1
- package/lib/Binding.d.ts.map +1 -1
- package/lib/Binding.js +5 -5
- package/lib/Binding.js.map +1 -1
- package/lib/Build/Command.d.ts +1 -1
- package/lib/Build/Memo.d.ts +1 -1
- package/lib/Bundle/Docker.d.ts +3 -3
- package/lib/Bundle/Docker.js +1 -1
- package/lib/Bundle/Docker.js.map +1 -1
- package/lib/Bundle/TempRoot.d.ts +3 -3
- package/lib/Cli/Event.d.ts +1 -1
- package/lib/Cli/Event.d.ts.map +1 -1
- package/lib/Cli/NamespaceTree.d.ts +11 -5
- package/lib/Cli/NamespaceTree.d.ts.map +1 -1
- package/lib/Cli/NamespaceTree.js +28 -1
- package/lib/Cli/NamespaceTree.js.map +1 -1
- package/lib/Cli/commands/_shared.d.ts +1 -1
- package/lib/Cli/commands/_shared.js +2 -2
- package/lib/Cli/commands/_shared.js.map +1 -1
- package/lib/Cli/commands/aws.d.ts +1 -1
- package/lib/Cli/commands/cloudflare.d.ts +2 -2
- package/lib/Cli/commands/cloudflare.d.ts.map +1 -1
- package/lib/Cli/commands/deploy.d.ts +9 -9
- package/lib/Cli/commands/deploy.js +1 -1
- package/lib/Cli/commands/deploy.js.map +1 -1
- package/lib/Cli/commands/login.d.ts +1 -1
- package/lib/Cli/commands/logs.d.ts +1 -1
- package/lib/Cli/commands/logs.js.map +1 -1
- package/lib/Cli/commands/profile.d.ts +1 -3
- package/lib/Cli/commands/profile.d.ts.map +1 -1
- package/lib/Cli/commands/state.d.ts +1 -1
- package/lib/Cli/commands/state.d.ts.map +1 -1
- package/lib/Cli/commands/tail.d.ts +1 -1
- package/lib/Cli/commands/tail.js.map +1 -1
- package/lib/Cli/tui/components/Plan.d.ts.map +1 -1
- package/lib/Cli/tui/components/Plan.js +27 -13
- package/lib/Cli/tui/components/Plan.js.map +1 -1
- package/lib/Cli/tui/components/PlanProgress.d.ts +8 -1
- package/lib/Cli/tui/components/PlanProgress.d.ts.map +1 -1
- package/lib/Cli/tui/components/PlanProgress.js +95 -16
- package/lib/Cli/tui/components/PlanProgress.js.map +1 -1
- package/lib/Cloudflare/Access.js +0 -1
- package/lib/Cloudflare/Access.js.map +1 -1
- package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.d.ts +54 -0
- package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.d.ts.map +1 -0
- package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.js +17 -0
- package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.js.map +1 -0
- package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.d.ts +37 -0
- package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.d.ts.map +1 -0
- package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js +45 -0
- package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js.map +1 -0
- package/lib/Cloudflare/AnalyticsEngine/index.d.ts +3 -0
- package/lib/Cloudflare/AnalyticsEngine/index.d.ts.map +1 -0
- package/lib/Cloudflare/AnalyticsEngine/index.js +3 -0
- package/lib/Cloudflare/AnalyticsEngine/index.js.map +1 -0
- package/lib/Cloudflare/Artifacts/ArtifactsBinding.js +1 -1
- package/lib/Cloudflare/Artifacts/ArtifactsBinding.js.map +1 -1
- package/lib/Cloudflare/CloudflareEnvironment.d.ts +1 -1
- package/lib/Cloudflare/Container/Container.js +0 -1
- package/lib/Cloudflare/Container/Container.js.map +1 -1
- package/lib/Cloudflare/Container/ContainerApplication.d.ts +1 -1
- package/lib/Cloudflare/Container/ContainerApplication.d.ts.map +1 -1
- package/lib/Cloudflare/Container/ContainerApplication.js +4 -6
- package/lib/Cloudflare/Container/ContainerApplication.js.map +1 -1
- package/lib/Cloudflare/Container/ContainerBinding.js +2 -2
- package/lib/Cloudflare/Container/ContainerBinding.js.map +1 -1
- package/lib/Cloudflare/D1/D1Connection.d.ts +47 -3
- package/lib/Cloudflare/D1/D1Connection.d.ts.map +1 -1
- package/lib/Cloudflare/D1/D1Connection.js +62 -5
- package/lib/Cloudflare/D1/D1Connection.js.map +1 -1
- package/lib/Cloudflare/D1/D1Database.d.ts +1 -1
- package/lib/Cloudflare/D1/D1SqlFile.d.ts +2 -2
- package/lib/Cloudflare/Email/EmailAddress.d.ts +45 -0
- package/lib/Cloudflare/Email/EmailAddress.d.ts.map +1 -0
- package/lib/Cloudflare/Email/EmailAddress.js +99 -0
- package/lib/Cloudflare/Email/EmailAddress.js.map +1 -0
- package/lib/Cloudflare/Email/EmailRouting.d.ts +42 -0
- package/lib/Cloudflare/Email/EmailRouting.d.ts.map +1 -0
- package/lib/Cloudflare/Email/EmailRouting.js +89 -0
- package/lib/Cloudflare/Email/EmailRouting.js.map +1 -0
- package/lib/Cloudflare/Email/EmailRule.d.ts +80 -0
- package/lib/Cloudflare/Email/EmailRule.d.ts.map +1 -0
- package/lib/Cloudflare/Email/EmailRule.js +110 -0
- package/lib/Cloudflare/Email/EmailRule.js.map +1 -0
- package/lib/Cloudflare/Email/SendEmail.d.ts +74 -0
- package/lib/Cloudflare/Email/SendEmail.d.ts.map +1 -0
- package/lib/Cloudflare/Email/SendEmail.js +19 -0
- package/lib/Cloudflare/Email/SendEmail.js.map +1 -0
- package/lib/Cloudflare/Email/SendEmailBinding.d.ts +64 -0
- package/lib/Cloudflare/Email/SendEmailBinding.d.ts.map +1 -0
- package/lib/Cloudflare/Email/SendEmailBinding.js +54 -0
- package/lib/Cloudflare/Email/SendEmailBinding.js.map +1 -0
- package/lib/Cloudflare/Email/index.d.ts +6 -0
- package/lib/Cloudflare/Email/index.d.ts.map +1 -0
- package/lib/Cloudflare/Email/index.js +6 -0
- package/lib/Cloudflare/Email/index.js.map +1 -0
- package/lib/Cloudflare/Hyperdrive/Hyperdrive.d.ts +1 -1
- package/lib/Cloudflare/Images/ImagesBinding.js +1 -1
- package/lib/Cloudflare/Images/ImagesBinding.js.map +1 -1
- package/lib/Cloudflare/KV/KVNamespaceBinding.js +1 -1
- package/lib/Cloudflare/KV/KVNamespaceBinding.js.map +1 -1
- package/lib/Cloudflare/Local/Sidecar.d.ts +1 -1
- package/lib/Cloudflare/Local/SidecarHandlers.d.ts +1 -1
- package/lib/Cloudflare/Local/SidecarHandlers.js +9 -1
- package/lib/Cloudflare/Local/SidecarHandlers.js.map +1 -1
- package/lib/Cloudflare/Local/SidecarServer.js +1 -1
- package/lib/Cloudflare/Local/SidecarServer.js.map +1 -1
- package/lib/Cloudflare/Providers.d.ts.map +1 -1
- package/lib/Cloudflare/Providers.js +9 -1
- package/lib/Cloudflare/Providers.js.map +1 -1
- package/lib/Cloudflare/Queue/QueueBinding.js +1 -1
- package/lib/Cloudflare/Queue/QueueBinding.js.map +1 -1
- package/lib/Cloudflare/R2/R2Bucket.d.ts.map +1 -1
- package/lib/Cloudflare/R2/R2Bucket.js +16 -0
- package/lib/Cloudflare/R2/R2Bucket.js.map +1 -1
- package/lib/Cloudflare/R2/R2BucketBinding.js +1 -1
- package/lib/Cloudflare/R2/R2BucketBinding.js.map +1 -1
- package/lib/Cloudflare/SecretsStore/SecretBinding.js +1 -1
- package/lib/Cloudflare/SecretsStore/SecretBinding.js.map +1 -1
- package/lib/Cloudflare/StateStore/Api.d.ts +7 -2
- package/lib/Cloudflare/StateStore/Api.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/Api.js +23 -1
- package/lib/Cloudflare/StateStore/Api.js.map +1 -1
- package/lib/Cloudflare/StateStore/State.d.ts +2 -2
- package/lib/Cloudflare/StateStore/Store.d.ts +16 -1
- package/lib/Cloudflare/StateStore/Store.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/Store.js +22 -5
- package/lib/Cloudflare/StateStore/Store.js.map +1 -1
- package/lib/Cloudflare/Workers/Assets.d.ts +2 -2
- package/lib/Cloudflare/Workers/Assets.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Assets.js +5 -4
- package/lib/Cloudflare/Workers/Assets.js.map +1 -1
- package/lib/Cloudflare/Workers/CronEventSource.d.ts +35 -0
- package/lib/Cloudflare/Workers/CronEventSource.d.ts.map +1 -0
- package/lib/Cloudflare/Workers/CronEventSource.js +55 -0
- package/lib/Cloudflare/Workers/CronEventSource.js.map +1 -0
- package/lib/Cloudflare/Workers/InferEnv.d.ts +37 -2
- package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js +2 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workers/Rpc.d.ts +76 -3
- package/lib/Cloudflare/Workers/Rpc.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Rpc.js +197 -13
- package/lib/Cloudflare/Workers/Rpc.js.map +1 -1
- package/lib/Cloudflare/Workers/Worker.d.ts +24 -4
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js +187 -45
- package/lib/Cloudflare/Workers/Worker.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBundle.d.ts +1 -1
- package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBundle.js +19 -11
- package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerName.d.ts +1 -1
- package/lib/Cloudflare/Workers/Workflow.d.ts +50 -47
- package/lib/Cloudflare/Workers/Workflow.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Workflow.js +43 -37
- package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
- package/lib/Cloudflare/Workers/index.d.ts +1 -0
- package/lib/Cloudflare/Workers/index.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/index.js +1 -0
- package/lib/Cloudflare/Workers/index.js.map +1 -1
- package/lib/Cloudflare/index.d.ts +2 -0
- package/lib/Cloudflare/index.d.ts.map +1 -1
- package/lib/Cloudflare/index.js +2 -0
- package/lib/Cloudflare/index.js.map +1 -1
- package/lib/Construct.d.ts +3 -3
- package/lib/Construct.d.ts.map +1 -1
- package/lib/Construct.js.map +1 -1
- package/lib/Deploy.d.ts +5 -2
- package/lib/Deploy.d.ts.map +1 -1
- package/lib/Deploy.js +2 -2
- package/lib/Deploy.js.map +1 -1
- package/lib/Destroy.d.ts +5 -2
- package/lib/Destroy.d.ts.map +1 -1
- package/lib/Destroy.js +3 -2
- package/lib/Destroy.js.map +1 -1
- package/lib/Drizzle/Providers.d.ts +1 -1
- package/lib/Drizzle/Schema.d.ts +1 -1
- package/lib/GitHub/Providers.d.ts +1 -1
- package/lib/Http.d.ts +1 -1
- package/lib/Http.d.ts.map +1 -1
- package/lib/Http.js +1 -1
- package/lib/Http.js.map +1 -1
- package/lib/Namespace.d.ts.map +1 -1
- package/lib/Namespace.js +3 -4
- package/lib/Namespace.js.map +1 -1
- package/lib/Neon/Branch.d.ts +2 -2
- package/lib/Neon/Branch.d.ts.map +1 -1
- package/lib/Neon/Branch.js +59 -27
- package/lib/Neon/Branch.js.map +1 -1
- package/lib/Neon/Credentials.d.ts +2 -2
- package/lib/Neon/Credentials.d.ts.map +1 -1
- package/lib/Neon/Credentials.js +2 -2
- package/lib/Neon/Credentials.js.map +1 -1
- package/lib/Neon/NeonEnvironment.d.ts +1 -1
- package/lib/Neon/Project.d.ts +25 -1
- package/lib/Neon/Project.d.ts.map +1 -1
- package/lib/Neon/Project.js +121 -42
- package/lib/Neon/Project.js.map +1 -1
- package/lib/Neon/Providers.d.ts +1 -1
- package/lib/Neon/SqlFile.d.ts +2 -2
- package/lib/Output.d.ts +47 -8
- package/lib/Output.d.ts.map +1 -1
- package/lib/Output.js +106 -7
- package/lib/Output.js.map +1 -1
- package/lib/PhysicalName.d.ts +1 -1
- package/lib/Plan.d.ts +36 -1
- package/lib/Plan.d.ts.map +1 -1
- package/lib/Plan.js +284 -37
- package/lib/Plan.js.map +1 -1
- package/lib/Platform.d.ts.map +1 -1
- package/lib/Platform.js +22 -9
- package/lib/Platform.js.map +1 -1
- package/lib/Provider.d.ts +1 -1
- package/lib/Provider.d.ts.map +1 -1
- package/lib/Provider.js +1 -1
- package/lib/Provider.js.map +1 -1
- package/lib/Random.d.ts +1 -1
- package/lib/Random.d.ts.map +1 -1
- package/lib/Random.js +1 -1
- package/lib/Random.js.map +1 -1
- package/lib/Ref.d.ts +4 -1
- package/lib/Ref.d.ts.map +1 -1
- package/lib/Ref.js +1 -1
- package/lib/Ref.js.map +1 -1
- package/lib/Resource.d.ts +8 -0
- package/lib/Resource.d.ts.map +1 -1
- package/lib/Resource.js +12 -25
- package/lib/Resource.js.map +1 -1
- package/lib/Runtime.d.ts +24 -0
- package/lib/Runtime.d.ts.map +1 -0
- package/lib/Runtime.js +31 -0
- package/lib/Runtime.js.map +1 -0
- package/lib/RuntimeContext.d.ts +3 -1
- package/lib/RuntimeContext.d.ts.map +1 -1
- package/lib/RuntimeContext.js.map +1 -1
- package/lib/Secret.d.ts +50 -0
- package/lib/Secret.d.ts.map +1 -0
- package/lib/Secret.js +23 -0
- package/lib/Secret.js.map +1 -0
- package/lib/Serverless/Function.d.ts +9 -1
- package/lib/Serverless/Function.d.ts.map +1 -1
- package/lib/Sidecar/RpcClient.d.ts +1 -1
- package/lib/Sidecar/RpcPaths.d.ts +1 -1
- package/lib/Sidecar/RpcServer.d.ts +1 -1
- package/lib/Sidecar/RpcServices.d.ts +1 -1
- package/lib/Stack.d.ts +20 -6
- package/lib/Stack.d.ts.map +1 -1
- package/lib/Stack.js +35 -23
- package/lib/Stack.js.map +1 -1
- package/lib/State/ActionState.d.ts +48 -0
- package/lib/State/ActionState.d.ts.map +1 -0
- package/lib/State/ActionState.js +1 -0
- package/lib/State/ActionState.js.map +1 -0
- package/lib/State/HttpStateApi.d.ts +15 -1
- package/lib/State/HttpStateApi.d.ts.map +1 -1
- package/lib/State/HttpStateApi.js +11 -0
- package/lib/State/HttpStateApi.js.map +1 -1
- package/lib/State/HttpStateStore.d.ts.map +1 -1
- package/lib/State/HttpStateStore.js +12 -1
- package/lib/State/HttpStateStore.js.map +1 -1
- package/lib/State/InMemoryState.d.ts +2 -2
- package/lib/State/InMemoryState.d.ts.map +1 -1
- package/lib/State/InMemoryState.js +12 -6
- package/lib/State/InMemoryState.js.map +1 -1
- package/lib/State/LocalState.d.ts +2 -2
- package/lib/State/LocalState.d.ts.map +1 -1
- package/lib/State/LocalState.js +11 -2
- package/lib/State/LocalState.js.map +1 -1
- package/lib/State/ResourceState.d.ts +5 -0
- package/lib/State/ResourceState.d.ts.map +1 -1
- package/lib/State/State.d.ts +31 -2
- package/lib/State/State.d.ts.map +1 -1
- package/lib/State/State.js +2 -0
- package/lib/State/State.js.map +1 -1
- package/lib/State/index.d.ts +1 -0
- package/lib/State/index.d.ts.map +1 -1
- package/lib/State/index.js +1 -0
- package/lib/State/index.js.map +1 -1
- package/lib/Test/Bun.d.ts.map +1 -1
- package/lib/Test/Bun.js +30 -7
- package/lib/Test/Bun.js.map +1 -1
- package/lib/Test/Core.d.ts +19 -4
- package/lib/Test/Core.d.ts.map +1 -1
- package/lib/Test/Core.js +33 -12
- package/lib/Test/Core.js.map +1 -1
- package/lib/Test/Vitest.d.ts.map +1 -1
- package/lib/Test/Vitest.js +24 -5
- package/lib/Test/Vitest.js.map +1 -1
- package/lib/Util/FileLogger.d.ts +1 -1
- package/lib/Util/LocalhostDns.d.ts +14 -10
- package/lib/Util/LocalhostDns.d.ts.map +1 -1
- package/lib/Util/LocalhostDns.js +27 -36
- package/lib/Util/LocalhostDns.js.map +1 -1
- package/lib/Util/effect.d.ts +7 -0
- package/lib/Util/effect.d.ts.map +1 -1
- package/lib/Util/effect.js +10 -4
- package/lib/Util/effect.js.map +1 -1
- package/lib/Util/exec.d.ts.map +1 -0
- package/lib/Util/exec.js.map +1 -0
- package/lib/Util/hash.d.ts +8 -0
- package/lib/Util/hash.d.ts.map +1 -0
- package/lib/Util/hash.js +11 -0
- package/lib/Util/hash.js.map +1 -0
- package/lib/Util/ignore.d.ts +40 -0
- package/lib/Util/ignore.d.ts.map +1 -0
- package/lib/Util/ignore.js +591 -0
- package/lib/Util/ignore.js.map +1 -0
- package/lib/Variable.d.ts +29 -0
- package/lib/Variable.d.ts.map +1 -0
- package/lib/Variable.js +9 -0
- package/lib/Variable.js.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -0
- package/lib/index.js.map +1 -1
- package/lib/tsconfig.test.tsbuildinfo +1 -1
- package/package.json +22 -29
- package/src/AWS/Credentials.ts +1 -2
- package/src/AWS/DynamoDB/Stream.ts +1 -4
- package/src/AWS/EC2/hosted.ts +14 -16
- package/src/AWS/ECS/Task.ts +14 -16
- package/src/AWS/Endpoint.ts +2 -5
- package/src/AWS/EventBridge/EventSource.ts +1 -4
- package/src/AWS/Kinesis/StreamEventSource.ts +1 -4
- package/src/AWS/Lambda/Function.ts +47 -23
- package/src/AWS/Providers.ts +22 -3
- package/src/AWS/Region.ts +2 -3
- package/src/AWS/S3/Bucket.ts +7 -2
- package/src/AWS/S3/BucketNotifications.ts +1 -4
- package/src/AWS/SNS/TopicEventSource.ts +1 -4
- package/src/AWS/SQS/Queue.ts +40 -6
- package/src/Action.ts +280 -0
- package/src/Apply.ts +359 -24
- package/src/Artifacts.ts +2 -4
- package/src/Auth/AuthProvider.ts +1 -1
- package/src/Auth/Env.ts +12 -20
- package/src/Binding.ts +5 -9
- package/src/Bundle/Docker.ts +1 -1
- package/src/Cli/Event.ts +4 -0
- package/src/Cli/NamespaceTree.ts +52 -5
- package/src/Cli/commands/_shared.ts +2 -2
- package/src/Cli/commands/deploy.ts +1 -1
- package/src/Cli/commands/logs.ts +4 -4
- package/src/Cli/commands/tail.ts +4 -4
- package/src/Cli/tui/components/Plan.tsx +65 -17
- package/src/Cli/tui/components/PlanProgress.tsx +142 -32
- package/src/Cloudflare/Access.ts +1 -1
- package/src/Cloudflare/AnalyticsEngine/AnalyticsEngineDataset.ts +82 -0
- package/src/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.ts +106 -0
- package/src/Cloudflare/AnalyticsEngine/index.ts +2 -0
- package/src/Cloudflare/Artifacts/ArtifactsBinding.ts +1 -1
- package/src/Cloudflare/Container/Container.ts +1 -1
- package/src/Cloudflare/Container/ContainerApplication.ts +4 -6
- package/src/Cloudflare/Container/ContainerBinding.ts +2 -2
- package/src/Cloudflare/D1/D1Connection.ts +95 -12
- package/src/Cloudflare/Email/EmailAddress.ts +155 -0
- package/src/Cloudflare/Email/EmailRouting.ts +138 -0
- package/src/Cloudflare/Email/EmailRule.ts +210 -0
- package/src/Cloudflare/Email/SendEmail.ts +95 -0
- package/src/Cloudflare/Email/SendEmailBinding.ts +124 -0
- package/src/Cloudflare/Email/index.ts +5 -0
- package/src/Cloudflare/Images/ImagesBinding.ts +1 -1
- package/src/Cloudflare/KV/KVNamespaceBinding.ts +1 -1
- package/src/Cloudflare/Local/SidecarHandlers.ts +9 -1
- package/src/Cloudflare/Local/SidecarServer.ts +1 -1
- package/src/Cloudflare/Providers.ts +14 -0
- package/src/Cloudflare/Queue/QueueBinding.ts +1 -1
- package/src/Cloudflare/R2/R2Bucket.ts +31 -0
- package/src/Cloudflare/R2/R2BucketBinding.ts +1 -1
- package/src/Cloudflare/SecretsStore/SecretBinding.ts +1 -1
- package/src/Cloudflare/StateStore/Api.ts +34 -1
- package/src/Cloudflare/StateStore/Store.ts +40 -10
- package/src/Cloudflare/Workers/Assets.ts +5 -6
- package/src/Cloudflare/Workers/CronEventSource.ts +89 -0
- package/src/Cloudflare/Workers/InferEnv.ts +94 -20
- package/src/Cloudflare/Workers/LocalWorkerProvider.ts +9 -1
- package/src/Cloudflare/Workers/Rpc.ts +227 -18
- package/src/Cloudflare/Workers/Worker.ts +294 -65
- package/src/Cloudflare/Workers/WorkerBundle.ts +19 -11
- package/src/Cloudflare/Workers/Workflow.ts +76 -72
- package/src/Cloudflare/Workers/index.ts +1 -0
- package/src/Cloudflare/index.ts +2 -0
- package/src/Construct.ts +3 -7
- package/src/Deploy.ts +5 -1
- package/src/Destroy.ts +6 -1
- package/src/Http.ts +1 -1
- package/src/Namespace.ts +4 -4
- package/src/Neon/Branch.ts +93 -59
- package/src/Neon/Credentials.ts +2 -2
- package/src/Neon/Project.ts +193 -64
- package/src/Output.ts +129 -18
- package/src/Plan.ts +375 -36
- package/src/Platform.ts +26 -11
- package/src/Provider.ts +8 -3
- package/src/Random.ts +1 -1
- package/src/Ref.ts +10 -5
- package/src/Resource.ts +24 -25
- package/src/Runtime.ts +38 -0
- package/src/RuntimeContext.ts +1 -0
- package/src/Secret.ts +87 -0
- package/src/Serverless/Function.ts +10 -1
- package/src/Stack.ts +62 -35
- package/src/State/ActionState.ts +51 -0
- package/src/State/HttpStateApi.ts +21 -0
- package/src/State/HttpStateStore.ts +27 -2
- package/src/State/InMemoryState.ts +31 -10
- package/src/State/LocalState.ts +28 -4
- package/src/State/ResourceState.ts +5 -0
- package/src/State/State.ts +38 -2
- package/src/State/index.ts +1 -0
- package/src/Test/Bun.ts +43 -7
- package/src/Test/Core.ts +33 -11
- package/src/Test/Vitest.ts +33 -4
- package/src/Util/LocalhostDns.ts +30 -36
- package/src/Util/effect.ts +29 -4
- package/src/Util/hash.ts +14 -0
- package/src/Util/ignore.ts +815 -0
- package/src/Variable.ts +44 -0
- package/src/index.ts +9 -0
- package/lib/Agent/Agent.d.ts +0 -9
- package/lib/Agent/Agent.d.ts.map +0 -1
- package/lib/Agent/Agent.js +0 -10
- package/lib/Agent/Agent.js.map +0 -1
- package/lib/Agent/Aspect.d.ts +0 -51
- package/lib/Agent/Aspect.d.ts.map +0 -1
- package/lib/Agent/Aspect.js +0 -45
- package/lib/Agent/Aspect.js.map +0 -1
- package/lib/Agent/AspectGraph.d.ts +0 -45
- package/lib/Agent/AspectGraph.d.ts.map +0 -1
- package/lib/Agent/AspectGraph.js +0 -39
- package/lib/Agent/AspectGraph.js.map +0 -1
- package/lib/Agent/ContextPlugin.d.ts +0 -8
- package/lib/Agent/ContextPlugin.d.ts.map +0 -1
- package/lib/Agent/ContextPlugin.js +0 -3
- package/lib/Agent/ContextPlugin.js.map +0 -1
- package/lib/Agent/Plugin.d.ts +0 -18
- package/lib/Agent/Plugin.d.ts.map +0 -1
- package/lib/Agent/Plugin.js +0 -8
- package/lib/Agent/Plugin.js.map +0 -1
- package/lib/Agent/chat/channel.d.ts +0 -9
- package/lib/Agent/chat/channel.d.ts.map +0 -1
- package/lib/Agent/chat/channel.js +0 -10
- package/lib/Agent/chat/channel.js.map +0 -1
- package/lib/Agent/chat/event.d.ts +0 -32
- package/lib/Agent/chat/event.d.ts.map +0 -1
- package/lib/Agent/chat/event.js +0 -32
- package/lib/Agent/chat/event.js.map +0 -1
- package/lib/Agent/chat/message.d.ts +0 -22
- package/lib/Agent/chat/message.d.ts.map +0 -1
- package/lib/Agent/chat/message.js +0 -31
- package/lib/Agent/chat/message.js.map +0 -1
- package/lib/Agent/chat/service.d.ts +0 -102
- package/lib/Agent/chat/service.d.ts.map +0 -1
- package/lib/Agent/chat/service.js +0 -79
- package/lib/Agent/chat/service.js.map +0 -1
- package/lib/Agent/chat/thread.d.ts +0 -13
- package/lib/Agent/chat/thread.d.ts.map +0 -1
- package/lib/Agent/chat/thread.js +0 -16
- package/lib/Agent/chat/thread.js.map +0 -1
- package/lib/Agent/coding/bash.d.ts +0 -36
- package/lib/Agent/coding/bash.d.ts.map +0 -1
- package/lib/Agent/coding/bash.js +0 -170
- package/lib/Agent/coding/bash.js.map +0 -1
- package/lib/Agent/coding/edit.d.ts +0 -31
- package/lib/Agent/coding/edit.d.ts.map +0 -1
- package/lib/Agent/coding/edit.js +0 -90
- package/lib/Agent/coding/edit.js.map +0 -1
- package/lib/Agent/coding/glob.d.ts +0 -23
- package/lib/Agent/coding/glob.d.ts.map +0 -1
- package/lib/Agent/coding/glob.js +0 -78
- package/lib/Agent/coding/glob.js.map +0 -1
- package/lib/Agent/coding/grep.d.ts +0 -26
- package/lib/Agent/coding/grep.d.ts.map +0 -1
- package/lib/Agent/coding/grep.js +0 -105
- package/lib/Agent/coding/grep.js.map +0 -1
- package/lib/Agent/coding/index.d.ts +0 -8
- package/lib/Agent/coding/index.d.ts.map +0 -1
- package/lib/Agent/coding/index.js +0 -8
- package/lib/Agent/coding/index.js.map +0 -1
- package/lib/Agent/coding/read.d.ts +0 -27
- package/lib/Agent/coding/read.d.ts.map +0 -1
- package/lib/Agent/coding/read.js +0 -89
- package/lib/Agent/coding/read.js.map +0 -1
- package/lib/Agent/coding/readlints.d.ts +0 -19
- package/lib/Agent/coding/readlints.d.ts.map +0 -1
- package/lib/Agent/coding/readlints.js +0 -53
- package/lib/Agent/coding/readlints.js.map +0 -1
- package/lib/Agent/coding/write.d.ts +0 -22
- package/lib/Agent/coding/write.d.ts.map +0 -1
- package/lib/Agent/coding/write.js +0 -53
- package/lib/Agent/coding/write.js.map +0 -1
- package/lib/Agent/fs/file.d.ts +0 -12
- package/lib/Agent/fs/file.d.ts.map +0 -1
- package/lib/Agent/fs/file.js +0 -8
- package/lib/Agent/fs/file.js.map +0 -1
- package/lib/Agent/fs/folder.d.ts +0 -5
- package/lib/Agent/fs/folder.d.ts.map +0 -1
- package/lib/Agent/fs/folder.js +0 -3
- package/lib/Agent/fs/folder.js.map +0 -1
- package/lib/Agent/index.d.ts +0 -9
- package/lib/Agent/index.d.ts.map +0 -1
- package/lib/Agent/index.js +0 -9
- package/lib/Agent/index.js.map +0 -1
- package/lib/Agent/llm/error.d.ts +0 -208
- package/lib/Agent/llm/error.d.ts.map +0 -1
- package/lib/Agent/llm/error.js +0 -209
- package/lib/Agent/llm/error.js.map +0 -1
- package/lib/Agent/llm/index.d.ts +0 -5
- package/lib/Agent/llm/index.d.ts.map +0 -1
- package/lib/Agent/llm/index.js +0 -5
- package/lib/Agent/llm/index.js.map +0 -1
- package/lib/Agent/llm/llm.d.ts +0 -32
- package/lib/Agent/llm/llm.d.ts.map +0 -1
- package/lib/Agent/llm/llm.js +0 -74
- package/lib/Agent/llm/llm.js.map +0 -1
- package/lib/Agent/llm/stream-collectors.d.ts +0 -46
- package/lib/Agent/llm/stream-collectors.d.ts.map +0 -1
- package/lib/Agent/llm/stream-collectors.js +0 -33
- package/lib/Agent/llm/stream-collectors.js.map +0 -1
- package/lib/Agent/llm/stream-text-part.d.ts +0 -5
- package/lib/Agent/llm/stream-text-part.d.ts.map +0 -1
- package/lib/Agent/llm/stream-text-part.js +0 -4
- package/lib/Agent/llm/stream-text-part.js.map +0 -1
- package/lib/Agent/lsp/client.d.ts +0 -122
- package/lib/Agent/lsp/client.d.ts.map +0 -1
- package/lib/Agent/lsp/client.js +0 -180
- package/lib/Agent/lsp/client.js.map +0 -1
- package/lib/Agent/lsp/diagnostics.d.ts +0 -16
- package/lib/Agent/lsp/diagnostics.d.ts.map +0 -1
- package/lib/Agent/lsp/diagnostics.js +0 -48
- package/lib/Agent/lsp/diagnostics.js.map +0 -1
- package/lib/Agent/lsp/jsonrpc.d.ts +0 -90
- package/lib/Agent/lsp/jsonrpc.d.ts.map +0 -1
- package/lib/Agent/lsp/jsonrpc.js +0 -178
- package/lib/Agent/lsp/jsonrpc.js.map +0 -1
- package/lib/Agent/lsp/manager.d.ts +0 -38
- package/lib/Agent/lsp/manager.d.ts.map +0 -1
- package/lib/Agent/lsp/manager.js +0 -98
- package/lib/Agent/lsp/manager.js.map +0 -1
- package/lib/Agent/lsp/servers.d.ts +0 -28
- package/lib/Agent/lsp/servers.d.ts.map +0 -1
- package/lib/Agent/lsp/servers.js +0 -21
- package/lib/Agent/lsp/servers.js.map +0 -1
- package/lib/Agent/process/driver.d.ts +0 -10
- package/lib/Agent/process/driver.d.ts.map +0 -1
- package/lib/Agent/process/driver.js +0 -153
- package/lib/Agent/process/driver.js.map +0 -1
- package/lib/Agent/process/issue-service.d.ts +0 -44
- package/lib/Agent/process/issue-service.d.ts.map +0 -1
- package/lib/Agent/process/issue-service.js +0 -28
- package/lib/Agent/process/issue-service.js.map +0 -1
- package/lib/Agent/process/issue-tools.d.ts +0 -28
- package/lib/Agent/process/issue-tools.d.ts.map +0 -1
- package/lib/Agent/process/issue-tools.js +0 -28
- package/lib/Agent/process/issue-tools.js.map +0 -1
- package/lib/Agent/process/issue.d.ts +0 -16
- package/lib/Agent/process/issue.d.ts.map +0 -1
- package/lib/Agent/process/issue.js +0 -17
- package/lib/Agent/process/issue.js.map +0 -1
- package/lib/Agent/process/organization.d.ts +0 -4
- package/lib/Agent/process/organization.d.ts.map +0 -1
- package/lib/Agent/process/organization.js +0 -3
- package/lib/Agent/process/organization.js.map +0 -1
- package/lib/Agent/process/process.d.ts +0 -5
- package/lib/Agent/process/process.d.ts.map +0 -1
- package/lib/Agent/process/process.js +0 -3
- package/lib/Agent/process/process.js.map +0 -1
- package/lib/Agent/process/reply.d.ts +0 -16
- package/lib/Agent/process/reply.d.ts.map +0 -1
- package/lib/Agent/process/reply.js +0 -18
- package/lib/Agent/process/reply.js.map +0 -1
- package/lib/Agent/process/task.d.ts +0 -25
- package/lib/Agent/process/task.d.ts.map +0 -1
- package/lib/Agent/process/task.js +0 -26
- package/lib/Agent/process/task.js.map +0 -1
- package/lib/Agent/tool/index.d.ts +0 -4
- package/lib/Agent/tool/index.d.ts.map +0 -1
- package/lib/Agent/tool/index.js +0 -4
- package/lib/Agent/tool/index.js.map +0 -1
- package/lib/Agent/tool/parameter.d.ts +0 -12
- package/lib/Agent/tool/parameter.d.ts.map +0 -1
- package/lib/Agent/tool/parameter.js +0 -6
- package/lib/Agent/tool/parameter.js.map +0 -1
- package/lib/Agent/tool/result.d.ts +0 -17
- package/lib/Agent/tool/result.d.ts.map +0 -1
- package/lib/Agent/tool/result.js +0 -6
- package/lib/Agent/tool/result.js.map +0 -1
- package/lib/Agent/tool/tool.d.ts +0 -32
- package/lib/Agent/tool/tool.d.ts.map +0 -1
- package/lib/Agent/tool/tool.js +0 -16
- package/lib/Agent/tool/tool.js.map +0 -1
- package/lib/Agent/util/command-validator.d.ts +0 -12
- package/lib/Agent/util/command-validator.d.ts.map +0 -1
- package/lib/Agent/util/command-validator.js +0 -74
- package/lib/Agent/util/command-validator.js.map +0 -1
- package/lib/Agent/util/exec.d.ts.map +0 -1
- package/lib/Agent/util/exec.js.map +0 -1
- package/lib/Agent/util/parser.d.ts +0 -5
- package/lib/Agent/util/parser.d.ts.map +0 -1
- package/lib/Agent/util/parser.js +0 -41
- package/lib/Agent/util/parser.js.map +0 -1
- package/lib/Agent/util/replace.d.ts +0 -38
- package/lib/Agent/util/replace.d.ts.map +0 -1
- package/lib/Agent/util/replace.js +0 -458
- package/lib/Agent/util/replace.js.map +0 -1
- package/lib/Agent/util/ripgrep.d.ts +0 -109
- package/lib/Agent/util/ripgrep.d.ts.map +0 -1
- package/lib/Agent/util/ripgrep.js +0 -221
- package/lib/Agent/util/ripgrep.js.map +0 -1
- package/lib/Neon/api.d.ts +0 -258
- package/lib/Neon/api.d.ts.map +0 -1
- package/lib/Neon/api.js +0 -215
- package/lib/Neon/api.js.map +0 -1
- package/src/Agent/Agent.ts +0 -26
- package/src/Agent/Aspect.ts +0 -173
- package/src/Agent/AspectGraph.ts +0 -98
- package/src/Agent/ContextPlugin.ts +0 -18
- package/src/Agent/Plugin.ts +0 -29
- package/src/Agent/chat/channel.ts +0 -26
- package/src/Agent/chat/event.ts +0 -43
- package/src/Agent/chat/message.ts +0 -35
- package/src/Agent/chat/service.ts +0 -133
- package/src/Agent/chat/thread.ts +0 -17
- package/src/Agent/coding/bash.ts +0 -197
- package/src/Agent/coding/edit.ts +0 -152
- package/src/Agent/coding/glob.ts +0 -96
- package/src/Agent/coding/grep.ts +0 -143
- package/src/Agent/coding/index.ts +0 -7
- package/src/Agent/coding/read.ts +0 -119
- package/src/Agent/coding/readlints.ts +0 -78
- package/src/Agent/coding/write.ts +0 -79
- package/src/Agent/fs/file.ts +0 -22
- package/src/Agent/fs/folder.ts +0 -16
- package/src/Agent/index.ts +0 -9
- package/src/Agent/llm/error.ts +0 -330
- package/src/Agent/llm/index.ts +0 -4
- package/src/Agent/llm/llm.ts +0 -131
- package/src/Agent/llm/stream-collectors.ts +0 -58
- package/src/Agent/llm/stream-text-part.ts +0 -7
- package/src/Agent/lsp/client.ts +0 -293
- package/src/Agent/lsp/diagnostics.ts +0 -64
- package/src/Agent/lsp/jsonrpc.ts +0 -317
- package/src/Agent/lsp/manager.ts +0 -213
- package/src/Agent/lsp/servers.ts +0 -37
- package/src/Agent/process/driver.ts +0 -168
- package/src/Agent/process/issue-service.ts +0 -48
- package/src/Agent/process/issue-tools.ts +0 -33
- package/src/Agent/process/issue.ts +0 -22
- package/src/Agent/process/organization.ts +0 -16
- package/src/Agent/process/process.ts +0 -16
- package/src/Agent/process/reply.ts +0 -21
- package/src/Agent/process/task.ts +0 -34
- package/src/Agent/tool/index.ts +0 -3
- package/src/Agent/tool/parameter.ts +0 -35
- package/src/Agent/tool/result.ts +0 -51
- package/src/Agent/tool/tool.ts +0 -74
- package/src/Agent/util/command-validator.ts +0 -98
- package/src/Agent/util/parser.ts +0 -39
- package/src/Agent/util/replace.ts +0 -559
- package/src/Agent/util/ripgrep.ts +0 -256
- package/src/Neon/api.ts +0 -579
- /package/lib/{Agent/util → Util}/exec.d.ts +0 -0
- /package/lib/{Agent/util → Util}/exec.js +0 -0
- /package/src/{Agent/util → Util}/exec.ts +0 -0
|
@@ -13,7 +13,7 @@ declare const RpcServer_base: Context.ServiceClass<RpcServer, "RpcServer", {
|
|
|
13
13
|
}>;
|
|
14
14
|
export declare class RpcServer extends RpcServer_base {
|
|
15
15
|
}
|
|
16
|
-
export declare const makeRpcServer: <T extends RpcHandlers, E, R>(handlersEffect: Effect.Effect<T, E, R>, schema: RpcHandlerEncoders<T>) => Effect.Effect<void, Lock.LockError,
|
|
16
|
+
export declare const makeRpcServer: <T extends RpcHandlers, E, R>(handlersEffect: Effect.Effect<T, E, R>, schema: RpcHandlerEncoders<T>) => Effect.Effect<void, Lock.LockError, Scope.Scope | FileSystem.FileSystem | RpcPaths.RpcPaths | Lock.Lock | RpcServer | R>;
|
|
17
17
|
interface ServerWebSocketLike {
|
|
18
18
|
send: (message: string) => any | Promise<any>;
|
|
19
19
|
close: (code?: number, reason?: string) => void;
|
|
@@ -2,5 +2,5 @@ import * as Layer from "effect/Layer";
|
|
|
2
2
|
import * as AlchemyContext from "../AlchemyContext.ts";
|
|
3
3
|
import * as Lock from "./Lock.ts";
|
|
4
4
|
import * as RpcPaths from "./RpcPaths.ts";
|
|
5
|
-
export declare const layer: (main: string) => Layer.Layer<AlchemyContext.AlchemyContext | RpcPaths.RpcPaths | Lock.Lock | import("./RpcServer.ts").RpcServer, import("effect/PlatformError").PlatformError, import("effect/
|
|
5
|
+
export declare const layer: (main: string) => Layer.Layer<AlchemyContext.AlchemyContext | RpcPaths.RpcPaths | Lock.Lock | import("./RpcServer.ts").RpcServer, import("effect/PlatformError").PlatformError, import("effect/FileSystem").FileSystem | import("effect/Path").Path>;
|
|
6
6
|
//# sourceMappingURL=RpcServices.d.ts.map
|
package/lib/Stack.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import * as Effect from "effect/Effect";
|
|
|
3
3
|
import { FileSystem } from "effect/FileSystem";
|
|
4
4
|
import * as Layer from "effect/Layer";
|
|
5
5
|
import { Path } from "effect/Path";
|
|
6
|
-
import
|
|
6
|
+
import * as Scope from "effect/Scope";
|
|
7
7
|
import type { HttpClient } from "effect/unstable/http/HttpClient";
|
|
8
8
|
import type { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner";
|
|
9
9
|
import { AlchemyContext } from "./AlchemyContext.ts";
|
|
@@ -15,10 +15,11 @@ import type { Input, InputProps } from "./Input.ts";
|
|
|
15
15
|
import * as Output from "./Output.ts";
|
|
16
16
|
import type { ResourceBinding, ResourceLike } from "./Resource.ts";
|
|
17
17
|
import { Stage } from "./Stage.ts";
|
|
18
|
+
import type { ActionLike } from "./Action.ts";
|
|
18
19
|
import type { State } from "./State/State.ts";
|
|
19
20
|
import { PlatformServices } from "./Util/PlatformServices.ts";
|
|
20
|
-
export type StackServices = Stack | Stage | Scope | FileSystem | Path | AlchemyContext | HttpClient | ChildProcessSpawner | AuthProviders | Profile | CredentialsStore | Cli;
|
|
21
|
-
export type StackEffect<A, Err = never, Req = never> = Effect.Effect<A, Err, PlatformServices | HttpClient | Scope | AuthProviders | AlchemyContext | Cli | Profile | CredentialsStore | State | Req>;
|
|
21
|
+
export type StackServices = Stack | Stage | Scope.Scope | FileSystem | Path | AlchemyContext | HttpClient | ChildProcessSpawner | AuthProviders | Profile | CredentialsStore | Cli;
|
|
22
|
+
export type StackEffect<A, Err = never, Req = never> = Effect.Effect<A, Err, PlatformServices | HttpClient | Scope.Scope | AuthProviders | AlchemyContext | Cli | Profile | CredentialsStore | State | Req>;
|
|
22
23
|
export type Stack = Context.ServiceClass.Shape<"Stack", Omit<StackSpec, "output">>;
|
|
23
24
|
export interface StackProps<Req> {
|
|
24
25
|
providers: Layer.Layer<NoInfer<Req>, never, StackServices>;
|
|
@@ -40,7 +41,7 @@ export declare const Stack: Context.ServiceClass<Stack, "Stack", Omit<StackSpec,
|
|
|
40
41
|
Shape: Shape;
|
|
41
42
|
(stackName: string): Effect.Effect<Self> & {
|
|
42
43
|
new (_: never): Output.ToOutput<Shape>;
|
|
43
|
-
make: <A, Req>(effect: Effect.Effect<A, never, Req>) => Effect.Effect<CompiledStack<A>>;
|
|
44
|
+
make: <A, Req>(options: StackProps<NoInfer<Req>>, effect: Effect.Effect<A, never, Req>) => Effect.Effect<CompiledStack<A>>;
|
|
44
45
|
stage: {
|
|
45
46
|
[stage: string]: Effect.Effect<Self>;
|
|
46
47
|
};
|
|
@@ -57,6 +58,10 @@ export interface StackSpec<Output = any> {
|
|
|
57
58
|
bindings: {
|
|
58
59
|
[logicalId: string]: ResourceBinding[];
|
|
59
60
|
};
|
|
61
|
+
/** Tasks registered on the stack, keyed by FQN. */
|
|
62
|
+
actions: {
|
|
63
|
+
[logicalId: string]: ActionLike;
|
|
64
|
+
};
|
|
60
65
|
output: Output;
|
|
61
66
|
}
|
|
62
67
|
export interface CompiledStack<Output = any, Services = any> extends StackSpec<Output> {
|
|
@@ -70,10 +75,19 @@ export interface MakeStackProps<ROut = never> {
|
|
|
70
75
|
/** @internal */
|
|
71
76
|
stack?: StackSpec;
|
|
72
77
|
}
|
|
73
|
-
export declare const make: <ROut = never>(options: MakeStackProps<ROut>) => <A, Err = never, Req extends ROut | StackServices = never>(effect: Effect.Effect<A, Err, Req>) => Effect.Effect<CompiledStack<A, StackServices | ROut>, Err,
|
|
78
|
+
export declare const make: <ROut = never>(options: MakeStackProps<ROut>) => <A, Err = never, Req extends ROut | StackServices = never>(effect: Effect.Effect<A, Err, Req>) => Effect.Effect<CompiledStack<A, StackServices | ROut>, Err, Scope.Scope | ChildProcessSpawner | FileSystem | Path | HttpClient | AlchemyContext | Profile | AuthProviders | CredentialsStore | Cli | Stage | Exclude<Scope.Scope, State | Stack | ROut> | Exclude<ChildProcessSpawner, State | Stack | ROut> | Exclude<FileSystem, State | Stack | ROut> | Exclude<Path, State | Stack | ROut> | Exclude<HttpClient, State | Stack | ROut> | Exclude<AlchemyContext, State | Stack | ROut> | Exclude<Profile, State | Stack | ROut> | Exclude<AuthProviders, State | Stack | ROut> | Exclude<CredentialsStore, State | Stack | ROut> | Exclude<Cli, State | Stack | ROut> | Exclude<Stage, State | Stack | ROut> | Exclude<Stack, State | Stack | ROut> | Exclude<ROut, State | Stack | ROut> | Exclude<Req, State | Stack | ROut>>;
|
|
74
79
|
export declare const CurrentStack: Effect.Effect<Omit<StackSpec<any>, "output"> | undefined, never, never>;
|
|
75
80
|
export declare const evalStack: <A, B, Err, Req>(effect: StackEffect<CompiledStack<A>, Stage | AlchemyContext>, fn: (stack: CompiledStack<A>) => Effect.Effect<B, Err, Req>, options: {
|
|
76
81
|
stage: string;
|
|
77
82
|
dev?: boolean;
|
|
78
|
-
|
|
83
|
+
/**
|
|
84
|
+
* Optional caller-supplied scope. When provided, scoped resources
|
|
85
|
+
* (e.g. the dev sidecar process) live until the caller closes this
|
|
86
|
+
* scope instead of being torn down when `evalStack` resolves. Used
|
|
87
|
+
* by the test harness so the sidecar survives across `beforeAll`,
|
|
88
|
+
* tests, and `afterAll`. When omitted, behaves as before with a
|
|
89
|
+
* private scope closed on completion.
|
|
90
|
+
*/
|
|
91
|
+
scope?: Scope.Scope;
|
|
92
|
+
}) => Effect.Effect<B, AlchemyContext | import("effect/PlatformError").PlatformError | Stage | Err, FileSystem | Path | AlchemyContext | State | Cli>;
|
|
79
93
|
//# sourceMappingURL=Stack.d.ts.map
|
package/lib/Stack.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stack.d.ts","sourceRoot":"","sources":["../src/Stack.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Stack.d.ts","sourceRoot":"","sources":["../src/Stack.ts"],"names":[],"mappings":"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"}
|
package/lib/Stack.js
CHANGED
|
@@ -6,6 +6,7 @@ import * as Layer from "effect/Layer";
|
|
|
6
6
|
import * as Logger from "effect/Logger";
|
|
7
7
|
import * as Option from "effect/Option";
|
|
8
8
|
import { Path } from "effect/Path";
|
|
9
|
+
import * as Scope from "effect/Scope";
|
|
9
10
|
import * as FetchHttpClient from "effect/unstable/http/FetchHttpClient";
|
|
10
11
|
import { AlchemyContext, AlchemyContextLive } from "./AlchemyContext.js";
|
|
11
12
|
import { provideFreshArtifactStore } from "./Artifacts.js";
|
|
@@ -14,24 +15,30 @@ import { CredentialsStore, CredentialsStoreLive } from "./Auth/Credentials.js";
|
|
|
14
15
|
import { Profile, ProfileLive } from "./Auth/Profile.js";
|
|
15
16
|
import { Cli } from "./Cli/Cli.js";
|
|
16
17
|
import * as Output from "./Output.js";
|
|
17
|
-
import { ref } from "./Ref.js";
|
|
18
18
|
import { Stage } from "./Stage.js";
|
|
19
19
|
import { loadConfigProvider } from "./Util/ConfigProvider.js";
|
|
20
|
-
import { taggedFunction } from "./Util/effect.js";
|
|
20
|
+
import { effectClass, taggedFunction } from "./Util/effect.js";
|
|
21
21
|
import { fileLogger } from "./Util/FileLogger.js";
|
|
22
22
|
import { PlatformServices } from "./Util/PlatformServices.js";
|
|
23
|
-
export const Stack = Object.assign(taggedFunction(Context.Service()("Stack"), (stackName, options, eff) =>
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
23
|
+
export const Stack = Object.assign(taggedFunction(Context.Service()("Stack"), (stackName, options, eff) => {
|
|
24
|
+
if (!stackName) {
|
|
25
|
+
return (stackName) => Object.assign(
|
|
26
|
+
// by default, reference the stack at the "current" stage of the importer
|
|
27
|
+
Output.stackRef(stackName).pipe(effectClass), {
|
|
28
|
+
stage: createStageProxy(stackName),
|
|
29
|
+
make: (options, eff) => Stack(stackName, options, eff),
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
return eff.pipe(make({
|
|
33
|
+
name: stackName,
|
|
34
|
+
...options,
|
|
35
|
+
}), (eff) => Object.assign(eff, {
|
|
36
|
+
stage: createStageProxy(stackName),
|
|
37
|
+
}));
|
|
38
|
+
}));
|
|
39
|
+
const createStageProxy = (stackName) => new Proxy({}, {
|
|
40
|
+
get: (_, stage) => Output.stackRef(stackName, { stage }),
|
|
41
|
+
});
|
|
35
42
|
export const StackName = Stack.use((stack) => Effect.succeed(stack.name));
|
|
36
43
|
export const make = (options) => (effect) => Effect.scope.pipe(Effect.flatMap((scope) => {
|
|
37
44
|
if (options.state == null) {
|
|
@@ -51,15 +58,16 @@ export const make = (options) => (effect) => Effect.scope.pipe(Effect.flatMap((s
|
|
|
51
58
|
` state: Cloudflare.state(),\n` +
|
|
52
59
|
` }, ...)`));
|
|
53
60
|
}
|
|
54
|
-
return options.providers.pipe(Layer.provideMerge(options.state), Layer.provideMerge(Layer.effect(Stack, Stage.
|
|
61
|
+
return options.providers.pipe(Layer.provideMerge(options.state), Layer.provideMerge(Layer.effect(Stack, Stage.pipe(Effect.map((stage) => options.stack ?? {
|
|
55
62
|
name: options.name,
|
|
56
63
|
stage,
|
|
57
64
|
resources: {},
|
|
58
65
|
bindings: {},
|
|
66
|
+
actions: {},
|
|
59
67
|
})))), Layer.buildWithScope(scope));
|
|
60
68
|
}), Effect.flatMap((context) => Effect.all([
|
|
61
69
|
effect,
|
|
62
|
-
Stack
|
|
70
|
+
Stack,
|
|
63
71
|
Effect.context(),
|
|
64
72
|
]).pipe(Effect.map(([output, stack, services]) => ({
|
|
65
73
|
...stack,
|
|
@@ -67,7 +75,6 @@ export const make = (options) => (effect) => Effect.scope.pipe(Effect.flatMap((s
|
|
|
67
75
|
services: Context.merge(services, context),
|
|
68
76
|
})), Effect.provideContext(context))));
|
|
69
77
|
export const CurrentStack = Effect.serviceOption(Stack)
|
|
70
|
-
.asEffect()
|
|
71
78
|
.pipe(Effect.map(Option.getOrUndefined));
|
|
72
79
|
const platform = Layer.mergeAll(PlatformServices, FetchHttpClient.layer, Logger.layer([fileLogger("out")], { mergeWithExisting: true }), Layer.provide(ProfileLive, PlatformServices), Layer.provide(CredentialsStoreLive, PlatformServices));
|
|
73
80
|
// override alchemy state store, CLI/reporting, state, and Config
|
|
@@ -75,11 +82,16 @@ const alchemy = (overrides) => Layer.mergeAll(
|
|
|
75
82
|
// CLI.inkCLI(),
|
|
76
83
|
// optional
|
|
77
84
|
overrides?.dev
|
|
78
|
-
? Layer.provide(Layer.effect(AlchemyContext, AlchemyContext.
|
|
85
|
+
? Layer.provide(Layer.effect(AlchemyContext, AlchemyContext.useSync((ctx) => ({ ...ctx, dev: overrides.dev }))), AlchemyContextLive)
|
|
79
86
|
: AlchemyContextLive);
|
|
80
|
-
export const evalStack = (effect, fn, options) =>
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
87
|
+
export const evalStack = (effect, fn, options) => {
|
|
88
|
+
const body = Effect.gen(function* () {
|
|
89
|
+
const stack = yield* effect;
|
|
90
|
+
const configProvider = yield* loadConfigProvider(Option.none());
|
|
91
|
+
return yield* fn(stack).pipe(provideFreshArtifactStore, Effect.provide(stack.services), Effect.provide(Layer.succeed(ConfigProvider, configProvider)));
|
|
92
|
+
}).pipe(Effect.provide(Layer.effect(AuthProviders, Effect.serviceOption(AuthProviders).pipe(Effect.map(Option.getOrElse(() => ({})))))), Effect.provide(Layer.succeed(Stage, options.stage)), Effect.provide(Layer.provideMerge(alchemy({ dev: options.dev }), platform)));
|
|
93
|
+
return options.scope === undefined
|
|
94
|
+
? Effect.scoped(body)
|
|
95
|
+
: Scope.provide(body, options.scope);
|
|
96
|
+
};
|
|
85
97
|
//# sourceMappingURL=Stack.js.map
|
package/lib/Stack.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stack.js","sourceRoot":"","sources":["../src/Stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Stack.js","sourceRoot":"","sources":["../src/Stack.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { NamespaceNode } from "../Namespace.ts";
|
|
2
|
+
/**
|
|
3
|
+
* Persisted state for an {@link Action}. Actions share the same FQN
|
|
4
|
+
* namespace as resources but are discriminated by `kind: "action"`. The
|
|
5
|
+
* engine keys action state in the {@link State} store under the same `fqn`
|
|
6
|
+
* field as resources.
|
|
7
|
+
*/
|
|
8
|
+
export type ActionState = RunningActionState | RanActionState;
|
|
9
|
+
export type ActionStatus = ActionState["status"];
|
|
10
|
+
interface BaseActionState {
|
|
11
|
+
readonly kind: "action";
|
|
12
|
+
/** Type of the Action (e.g. "NightlySync"). Mirrors `resourceType` for resources. */
|
|
13
|
+
actionType: string;
|
|
14
|
+
/** Namespace of the Action. */
|
|
15
|
+
namespace: NamespaceNode | undefined;
|
|
16
|
+
/** Fully qualified name (namespace + logical id). */
|
|
17
|
+
fqn: string;
|
|
18
|
+
/** Logical id of the Action (stable across runs). */
|
|
19
|
+
logicalId: string;
|
|
20
|
+
/** Current status. */
|
|
21
|
+
status: ActionStatus;
|
|
22
|
+
/** FQNs of nodes that depend on this Action's output. */
|
|
23
|
+
downstream: string[];
|
|
24
|
+
/** Hash of the resolved input, used to skip noop runs. */
|
|
25
|
+
inputHash: string;
|
|
26
|
+
/** Resolved input snapshot from the most recent attempt. */
|
|
27
|
+
input: unknown;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The Action body has started but persistence after success has not yet
|
|
31
|
+
* occurred. On resume the engine treats this as "should run" since the
|
|
32
|
+
* effect may have completed but the output wasn't durably recorded.
|
|
33
|
+
*/
|
|
34
|
+
export interface RunningActionState extends BaseActionState {
|
|
35
|
+
status: "running";
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The Action body completed and its output is durably persisted. Future
|
|
39
|
+
* plans skip the body when `inputHash` matches the new resolved input
|
|
40
|
+
* (unless `--force` is set).
|
|
41
|
+
*/
|
|
42
|
+
export interface RanActionState extends BaseActionState {
|
|
43
|
+
status: "ran";
|
|
44
|
+
/** Materialized output value returned by the Action body. */
|
|
45
|
+
output: unknown;
|
|
46
|
+
}
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=ActionState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionState.d.ts","sourceRoot":"","sources":["../../src/State/ActionState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG,cAAc,CAAC;AAE9D,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;AAEjD,UAAU,eAAe;IACvB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,qFAAqF;IACrF,UAAU,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,SAAS,EAAE,aAAa,GAAG,SAAS,CAAC;IACrC,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,yDAAyD;IACzD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,MAAM,EAAE,SAAS,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,MAAM,EAAE,KAAK,CAAC;IACd,6DAA6D;IAC7D,MAAM,EAAE,OAAO,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=ActionState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionState.js","sourceRoot":"","sources":["../../src/State/ActionState.ts"],"names":[],"mappings":""}
|
|
@@ -76,6 +76,14 @@ export declare const GetReplacedResources: HttpApiEndpoint.HttpApiEndpoint<"getR
|
|
|
76
76
|
readonly stack: Schema.String;
|
|
77
77
|
readonly stage: Schema.String;
|
|
78
78
|
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.$Array<Schema.Any>>, HttpApiEndpoint.Json<never>, never, never>;
|
|
79
|
+
export declare const GetStackOutput: HttpApiEndpoint.HttpApiEndpoint<"getStackOutput", "GET", "/state/stacks/:stack/stages/:stage/output", HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
80
|
+
readonly stack: Schema.String;
|
|
81
|
+
readonly stage: Schema.String;
|
|
82
|
+
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.UndefinedOr<Schema.Any>>, HttpApiEndpoint.Json<never>, never, never>;
|
|
83
|
+
export declare const SetStackOutput: HttpApiEndpoint.HttpApiEndpoint<"setStackOutput", "PUT", "/state/stacks/:stack/stages/:stage/output", HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
84
|
+
readonly stack: Schema.String;
|
|
85
|
+
readonly stage: Schema.String;
|
|
86
|
+
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Any>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Any>, HttpApiEndpoint.Json<never>, never, never>;
|
|
79
87
|
/** Response shape for the unauthenticated `/version` probe. */
|
|
80
88
|
export declare const VersionResponse: Schema.Struct<{
|
|
81
89
|
readonly version: Schema.Number;
|
|
@@ -113,7 +121,13 @@ declare const StateGroup_base: HttpApiGroup.HttpApiGroup<"state", HttpApiEndpoin
|
|
|
113
121
|
}>>, HttpApiEndpoint.Json<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<HttpApiSchema.NoContent>, HttpApiEndpoint.Json<never>, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"getReplacedResources", "GET", "/state/stacks/:stack/stages/:stage/replaced-resources", HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
114
122
|
readonly stack: Schema.String;
|
|
115
123
|
readonly stage: Schema.String;
|
|
116
|
-
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.$Array<Schema.Any>>, HttpApiEndpoint.Json<never>, StateAuth, BearerTokenValidator
|
|
124
|
+
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.$Array<Schema.Any>>, HttpApiEndpoint.Json<never>, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"getStackOutput", "GET", "/state/stacks/:stack/stages/:stage/output", HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
125
|
+
readonly stack: Schema.String;
|
|
126
|
+
readonly stage: Schema.String;
|
|
127
|
+
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.UndefinedOr<Schema.Any>>, HttpApiEndpoint.Json<never>, StateAuth, BearerTokenValidator> | HttpApiEndpoint.HttpApiEndpoint<"setStackOutput", "PUT", "/state/stacks/:stack/stages/:stage/output", HttpApiEndpoint.StringTree<Schema.Struct<{
|
|
128
|
+
readonly stack: Schema.String;
|
|
129
|
+
readonly stage: Schema.String;
|
|
130
|
+
}>>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Any>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Any>, HttpApiEndpoint.Json<never>, StateAuth, BearerTokenValidator>, false>;
|
|
117
131
|
export declare class StateGroup extends StateGroup_base {
|
|
118
132
|
}
|
|
119
133
|
declare const VersionGroup_base: HttpApiGroup.HttpApiGroup<"version", HttpApiEndpoint.HttpApiEndpoint<"getVersion", "GET", "/version", HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.StringTree<never>, HttpApiEndpoint.Json<Schema.Struct<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpStateApi.d.ts","sourceRoot":"","sources":["../../src/State/HttpStateApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAC;AAC3D,OAAO,KAAK,eAAe,MAAM,yCAAyC,CAAC;AAC3E,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAC;AACrE,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAC;AACrE,OAAO,KAAK,iBAAiB,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAC;AACvE,OAAO,KAAK,eAAe,MAAM,yCAAyC,CAAC;AAE3E;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,YAA0C,CAAC;;uBAKpD,CACjB,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC;;AALvD,qBAAa,oBAAqB,SAAQ,yBAOD;CAAG;;;;;;;;;;;;;AAE5C,qBAAa,SAAU,SAAQ,cAQ7B;CAAG;AAEL,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CACrC,SAAS,EACT,KAAK,EACL,oBAAoB,CAYrB,CAAC;AAyBF,eAAO,MAAM,UAAU,kTAErB,CAAC;AAEH,eAAO,MAAM,UAAU;;4MAOtB,CAAC;AAEF,eAAO,MAAM,aAAa;;;4MAOzB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;8MAOpB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;yLAQpB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;iMAOvB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;8JAQvB,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;yMAOhC,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,eAAe;;EAE1B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;+CAErB,CAAC
|
|
1
|
+
{"version":3,"file":"HttpStateApi.d.ts","sourceRoot":"","sources":["../../src/State/HttpStateApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAC;AAC3D,OAAO,KAAK,eAAe,MAAM,yCAAyC,CAAC;AAC3E,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAC;AACrE,OAAO,KAAK,YAAY,MAAM,sCAAsC,CAAC;AACrE,OAAO,KAAK,iBAAiB,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAC;AACvE,OAAO,KAAK,eAAe,MAAM,yCAAyC,CAAC;AAE3E;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,YAA0C,CAAC;;uBAKpD,CACjB,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC;;AALvD,qBAAa,oBAAqB,SAAQ,yBAOD;CAAG;;;;;;;;;;;;;AAE5C,qBAAa,SAAU,SAAQ,cAQ7B;CAAG;AAEL,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CACrC,SAAS,EACT,KAAK,EACL,oBAAoB,CAYrB,CAAC;AAyBF,eAAO,MAAM,UAAU,kTAErB,CAAC;AAEH,eAAO,MAAM,UAAU;;4MAOtB,CAAC;AAEF,eAAO,MAAM,aAAa;;;4MAOzB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;8MAOpB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;yLAQpB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;iMAOvB,CAAC;AAEF,eAAO,MAAM,WAAW;;;;8JAQvB,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;yMAOhC,CAAC;AAEF,eAAO,MAAM,cAAc;;;8MAO1B,CAAC;AAEF,eAAO,MAAM,cAAc;;;yLAQ1B,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,eAAe;;EAE1B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;+CAErB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,qBAAa,UAAW,SAAQ,eAWR;CAAG;;;;AAE3B,qBAAa,YAAa,SAAQ,iBAEjC;CAAG;;AAEJ,qBAAa,QAAS,SAAQ,aAEV;CAAG"}
|
|
@@ -94,6 +94,15 @@ export const GetReplacedResources = HttpApiEndpoint.get("getReplacedResources",
|
|
|
94
94
|
params: StackStage,
|
|
95
95
|
success: Schema.Array(ResourceStateSchema),
|
|
96
96
|
});
|
|
97
|
+
export const GetStackOutput = HttpApiEndpoint.get("getStackOutput", "/state/stacks/:stack/stages/:stage/output", {
|
|
98
|
+
params: StackStage,
|
|
99
|
+
success: Schema.UndefinedOr(ResourceStateSchema),
|
|
100
|
+
});
|
|
101
|
+
export const SetStackOutput = HttpApiEndpoint.put("setStackOutput", "/state/stacks/:stack/stages/:stage/output", {
|
|
102
|
+
params: StackStage,
|
|
103
|
+
payload: ResourceStateSchema,
|
|
104
|
+
success: ResourceStateSchema,
|
|
105
|
+
});
|
|
97
106
|
/** Response shape for the unauthenticated `/version` probe. */
|
|
98
107
|
export const VersionResponse = Schema.Struct({
|
|
99
108
|
version: Schema.Number,
|
|
@@ -116,6 +125,8 @@ export class StateGroup extends HttpApiGroup.make("state")
|
|
|
116
125
|
.add(DeleteState)
|
|
117
126
|
.add(GetReplacedResources)
|
|
118
127
|
.add(DeleteStack)
|
|
128
|
+
.add(GetStackOutput)
|
|
129
|
+
.add(SetStackOutput)
|
|
119
130
|
.middleware(StateAuth) {
|
|
120
131
|
}
|
|
121
132
|
export class VersionGroup extends HttpApiGroup.make("version").add(GetVersion) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpStateApi.js","sourceRoot":"","sources":["../../src/State/HttpStateApi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HttpStateApi.js","sourceRoot":"","sources":["../../src/State/HttpStateApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpStateStore.d.ts","sourceRoot":"","sources":["../../src/State/HttpStateStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,iBAAiB,MAAM,wCAAwC,CAAC;AAK5E,OAAO,
|
|
1
|
+
{"version":3,"file":"HttpStateStore.d.ts","sourceRoot":"","sources":["../../src/State/HttpStateStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,iBAAiB,MAAM,wCAAwC,CAAC;AAK5E,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,YAAY,CAAC;AAGpB;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,yBAAyB;IACpE;;;;;OAKG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,CAAC,EAAE,CAChB,MAAM,EAAE,iBAAiB,CAAC,iBAAiB,KACxC,iBAAiB,CAAC,iBAAiB,CAAC;CAC1C;AAED,eAAO,MAAM,kBAAkB,GAAI,0CAKhC,mBAAmB,8DAgHlB,CAAC"}
|
|
@@ -5,7 +5,7 @@ import * as HttpClient from "effect/unstable/http/HttpClient";
|
|
|
5
5
|
import * as HttpClientRequest from "effect/unstable/http/HttpClientRequest";
|
|
6
6
|
import * as HttpApiClient from "effect/unstable/httpapi/HttpApiClient";
|
|
7
7
|
import { StateApi } from "./HttpStateApi.js";
|
|
8
|
-
import { StateStoreError } from "./State.js";
|
|
8
|
+
import { StateStoreError, } from "./State.js";
|
|
9
9
|
import { encodeState, reviveStateRecursive } from "./StateEncoding.js";
|
|
10
10
|
export const makeHttpStateStore = ({ url, authToken, transformClient, id, }) => Effect.gen(function* () {
|
|
11
11
|
const apiClient = yield* HttpApiClient.make(StateApi, {
|
|
@@ -59,6 +59,17 @@ export const makeHttpStateStore = ({ url, authToken, transformClient, id, }) =>
|
|
|
59
59
|
query: request.stage === undefined ? {} : { stage: request.stage },
|
|
60
60
|
})
|
|
61
61
|
.pipe(Effect.asVoid, mapStateStoreError),
|
|
62
|
+
getOutput: (request) => state
|
|
63
|
+
.getStackOutput({
|
|
64
|
+
params: { stack: request.stack, stage: request.stage },
|
|
65
|
+
})
|
|
66
|
+
.pipe(Effect.map((s) => s == null ? undefined : reviveStateRecursive(s)), mapStateStoreError),
|
|
67
|
+
setOutput: (request) => state
|
|
68
|
+
.setStackOutput({
|
|
69
|
+
params: { stack: request.stack, stage: request.stage },
|
|
70
|
+
payload: encodeState(request.value),
|
|
71
|
+
})
|
|
72
|
+
.pipe(Effect.map(() => request.value), mapStateStoreError),
|
|
62
73
|
};
|
|
63
74
|
return service;
|
|
64
75
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpStateStore.js","sourceRoot":"","sources":["../../src/State/HttpStateStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,iBAAiB,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,aAAa,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,
|
|
1
|
+
{"version":3,"file":"HttpStateStore.js","sourceRoot":"","sources":["../../src/State/HttpStateStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { State } from "./State.ts";
|
|
|
4
4
|
type StackId = string;
|
|
5
5
|
type StageId = string;
|
|
6
6
|
type Fqn = string;
|
|
7
|
-
export declare const inMemoryState: (initialState?: Record<StackId, Record<StageId, Record<Fqn, ResourceState
|
|
8
|
-
export declare const InMemoryService: (state?: Record<StackId, Record<StageId, Record<Fqn, ResourceState
|
|
7
|
+
export declare const inMemoryState: (initialState?: Record<StackId, Record<StageId, Record<Fqn, ResourceState>>>, initialOutputs?: Record<StackId, Record<StageId, unknown>>) => Layer.Layer<State, never, never>;
|
|
8
|
+
export declare const InMemoryService: (state?: Record<StackId, Record<StageId, Record<Fqn, ResourceState>>>, outputs?: Record<StackId, Record<StageId, unknown>>) => import("./State.ts").StateService;
|
|
9
9
|
export {};
|
|
10
10
|
//# sourceMappingURL=InMemoryState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InMemoryState.d.ts","sourceRoot":"","sources":["../../src/State/InMemoryState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"InMemoryState.d.ts","sourceRoot":"","sources":["../../src/State/InMemoryState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAuB,MAAM,YAAY,CAAC;AAExD,KAAK,OAAO,GAAG,MAAM,CAAC;AACtB,KAAK,OAAO,GAAG,MAAM,CAAC;AACtB,KAAK,GAAG,GAAG,MAAM,CAAC;AAElB,eAAO,MAAM,aAAa,GACxB,eAAc,MAAM,CAClB,OAAO,EACP,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CACvC,EACN,iBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAM,qCAO7D,CAAC;AAEJ,eAAO,MAAM,eAAe,GAC1B,QAAO,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAM,EACxE,UAAS,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAM,sCAoFrD,CAAC"}
|
|
@@ -2,20 +2,20 @@ import * as Effect from "effect/Effect";
|
|
|
2
2
|
import * as Layer from "effect/Layer";
|
|
3
3
|
import { recordStateStoreInit } from "../Telemetry/Metrics.js";
|
|
4
4
|
import { State } from "./State.js";
|
|
5
|
-
export const inMemoryState = (initialState = {}) => Layer.effect(State, Effect.succeed(InMemoryService(initialState)).pipe(recordStateStoreInit));
|
|
6
|
-
export const InMemoryService = (state = {}) => State.of({
|
|
5
|
+
export const inMemoryState = (initialState = {}, initialOutputs = {}) => Layer.effect(State, Effect.succeed(InMemoryService(initialState, initialOutputs)).pipe(recordStateStoreInit));
|
|
6
|
+
export const InMemoryService = (state = {}, outputs = {}) => State.of({
|
|
7
7
|
id: "inmemory",
|
|
8
8
|
listStacks: () => Effect.succeed(Array.from(Object.keys(state))),
|
|
9
9
|
listStages: (stack) => Effect.succeed(Array.from(stack in state ? Object.keys(state[stack]) : [])),
|
|
10
10
|
get: ({ stack, stage, fqn, }) => Effect.succeed(state[stack]?.[stage]?.[fqn]),
|
|
11
11
|
getReplacedResources: ({ stack, stage, }) => Effect.succeed(Array.from(Object.values(state[stack]?.[stage] ?? {}) ?? []).filter((s) => s.status === "replaced")),
|
|
12
|
-
set: ({ stack, stage, fqn, value, }) => {
|
|
12
|
+
set: ({ stack, stage, fqn, value, }) => Effect.sync(() => {
|
|
13
13
|
const stackState = (state[stack] ??= {});
|
|
14
14
|
const stageState = (stackState[stage] ??= {});
|
|
15
15
|
stageState[fqn] = value;
|
|
16
|
-
return
|
|
17
|
-
},
|
|
18
|
-
delete: ({ stack, stage, fqn, }) => Effect.
|
|
16
|
+
return value;
|
|
17
|
+
}),
|
|
18
|
+
delete: ({ stack, stage, fqn, }) => Effect.sync(() => delete state[stack]?.[stage]?.[fqn]),
|
|
19
19
|
deleteStack: ({ stack, stage }) => Effect.sync(() => {
|
|
20
20
|
if (stage === undefined) {
|
|
21
21
|
delete state[stack];
|
|
@@ -25,5 +25,11 @@ export const InMemoryService = (state = {}) => State.of({
|
|
|
25
25
|
}
|
|
26
26
|
}),
|
|
27
27
|
list: ({ stack, stage }) => Effect.succeed(Array.from(Object.keys(state[stack]?.[stage] ?? {}) ?? [])),
|
|
28
|
+
getOutput: ({ stack, stage }) => Effect.succeed(outputs[stack]?.[stage]),
|
|
29
|
+
setOutput: ({ stack, stage, value, }) => Effect.sync(() => {
|
|
30
|
+
const stackOutputs = (outputs[stack] ??= {});
|
|
31
|
+
stackOutputs[stage] = value;
|
|
32
|
+
return value;
|
|
33
|
+
}),
|
|
28
34
|
});
|
|
29
35
|
//# sourceMappingURL=InMemoryState.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InMemoryState.js","sourceRoot":"","sources":["../../src/State/InMemoryState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"InMemoryState.js","sourceRoot":"","sources":["../../src/State/InMemoryState.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,6 @@ import * as FileSystem from "effect/FileSystem";
|
|
|
3
3
|
import * as Layer from "effect/Layer";
|
|
4
4
|
import * as Path from "effect/Path";
|
|
5
5
|
import { State, type StateService } from "./State.ts";
|
|
6
|
-
export declare const localState: () => Layer.Layer<State, never,
|
|
7
|
-
export declare const makeLocalState: () => Effect.Effect<StateService, never,
|
|
6
|
+
export declare const localState: () => Layer.Layer<State, never, FileSystem.FileSystem | Path.Path>;
|
|
7
|
+
export declare const makeLocalState: () => Effect.Effect<StateService, never, FileSystem.FileSystem | Path.Path>;
|
|
8
8
|
//# sourceMappingURL=LocalState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalState.d.ts","sourceRoot":"","sources":["../../src/State/LocalState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAIpC,OAAO,EAAE,KAAK,EAAmB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAGvE,eAAO,MAAM,UAAU,oEAC2C,CAAC;AAEnE,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"LocalState.d.ts","sourceRoot":"","sources":["../../src/State/LocalState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAIpC,OAAO,EAAE,KAAK,EAAmB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAGvE,eAAO,MAAM,UAAU,oEAC2C,CAAC;AAEnE,eAAO,MAAM,cAAc,6EAgIvB,CAAC"}
|
package/lib/State/LocalState.js
CHANGED
|
@@ -19,6 +19,7 @@ export const makeLocalState = () => Effect.gen(function* () {
|
|
|
19
19
|
const recover = (effect) => effect.pipe(Effect.catchTag("PlatformError", (e) => e.reason._tag === "NotFound" ? Effect.void : fail(e)));
|
|
20
20
|
const stageDir = ({ stack, stage }) => path.join(stateDir, stack, stage);
|
|
21
21
|
const resource = ({ stack, stage, fqn, }) => path.join(stateDir, stack, stage, `${encodeFqn(fqn)}.json`);
|
|
22
|
+
const outputFile = ({ stack, stage }) => path.join(stateDir, stack, stage, `__stack_output__.json`);
|
|
22
23
|
const created = new Set();
|
|
23
24
|
const ensure = (dir) => created.has(dir)
|
|
24
25
|
? Effect.succeed(void 0)
|
|
@@ -44,8 +45,16 @@ export const makeLocalState = () => Effect.gen(function* () {
|
|
|
44
45
|
? path.join(stateDir, stack)
|
|
45
46
|
: stageDir({ stack, stage }), { recursive: true })
|
|
46
47
|
.pipe(recover),
|
|
47
|
-
list: (request) => fs.readDirectory(stageDir(request)).pipe(recover, Effect.map((files) => files
|
|
48
|
-
|
|
48
|
+
list: (request) => fs.readDirectory(stageDir(request)).pipe(recover, Effect.map((files) => (files ?? [])
|
|
49
|
+
// Filter the bookkeeping file before decoding — `decodeFqn`
|
|
50
|
+
// replaces `__` with `/`, which would turn the literal name
|
|
51
|
+
// `__stack_output__` into `/stack_output/` and slip past the
|
|
52
|
+
// filter, leaving the engine to look up a non-existent
|
|
53
|
+
// resource.
|
|
54
|
+
.filter((file) => file !== "__stack_output__.json")
|
|
55
|
+
.map((file) => decodeFqn(file.replace(/\.json$/, ""))))),
|
|
56
|
+
getOutput: (request) => fs.readFile(outputFile(request)).pipe(Effect.map((file) => JSON.parse(file.toString(), reviveState)), recover),
|
|
57
|
+
setOutput: (request) => ensure(stageDir(request)).pipe(Effect.flatMap(() => fs.writeFileString(outputFile(request), JSON.stringify(encodeState(request.value), null, 2))), recover, Effect.map(() => request.value)),
|
|
49
58
|
};
|
|
50
59
|
return state;
|
|
51
60
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalState.js","sourceRoot":"","sources":["../../src/State/LocalState.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"LocalState.js","sourceRoot":"","sources":["../../src/State/LocalState.ts"],"names":[],"mappings":"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"}
|