alchemy 2.0.0-beta.37 → 2.0.0-beta.39
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 +488 -69
- 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 +7 -11
- 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 +222 -3
- 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/AnalyticsEngineDatasetBinding.js +1 -1
- package/lib/Cloudflare/AnalyticsEngine/AnalyticsEngineDatasetBinding.js.map +1 -1
- 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/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/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 +6 -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/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 +1 -1
- package/lib/Cloudflare/StateStore/State.d.ts +2 -2
- 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/HttpServer.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/HttpServer.js +25 -3
- package/lib/Cloudflare/Workers/HttpServer.js.map +1 -1
- package/lib/Cloudflare/Workers/InferEnv.d.ts +1 -1
- package/lib/Cloudflare/Workers/InferEnv.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.d.ts +4 -3
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js +67 -32
- 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 +4 -6
- package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerName.d.ts +1 -1
- package/lib/Cloudflare/Workers/Workflow.js +2 -2
- package/lib/Cloudflare/Workers/Workflow.js.map +1 -1
- package/lib/Cloudflare/index.d.ts +1 -0
- package/lib/Cloudflare/index.d.ts.map +1 -1
- package/lib/Cloudflare/index.js +1 -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 +1 -1
- package/lib/Destroy.d.ts +1 -1
- package/lib/Destroy.d.ts.map +1 -1
- package/lib/Destroy.js +1 -0
- 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 +3 -4
- package/lib/Output.d.ts.map +1 -1
- package/lib/Output.js +7 -4
- 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 +197 -31
- package/lib/Plan.js.map +1 -1
- package/lib/Platform.js +6 -6
- 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/Resource.d.ts.map +1 -1
- package/lib/Resource.js +2 -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/Secret.js +1 -1
- package/lib/Secret.js.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 +7 -2
- package/lib/Stack.d.ts.map +1 -1
- package/lib/Stack.js +4 -4
- 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/HttpStateStore.d.ts.map +1 -1
- package/lib/State/HttpStateStore.js +1 -1
- package/lib/State/HttpStateStore.js.map +1 -1
- package/lib/State/InMemoryState.d.ts.map +1 -1
- package/lib/State/InMemoryState.js.map +1 -1
- package/lib/State/LocalState.d.ts +2 -2
- package/lib/State/ResourceState.d.ts +5 -0
- package/lib/State/ResourceState.d.ts.map +1 -1
- package/lib/State/State.d.ts +10 -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/Core.d.ts +2 -2
- package/lib/Test/Core.d.ts.map +1 -1
- package/lib/Test/Core.js +4 -1
- package/lib/Test/Core.js.map +1 -1
- package/lib/Util/FileLogger.d.ts +1 -1
- package/lib/Util/effect.js +4 -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/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/tsconfig.test.tsbuildinfo +1 -1
- package/package.json +22 -28
- 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 +31 -35
- 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 +351 -23
- 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/AnalyticsEngineDatasetBinding.ts +1 -1
- 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/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/SidecarServer.ts +1 -1
- package/src/Cloudflare/Providers.ts +9 -0
- package/src/Cloudflare/Queue/QueueBinding.ts +1 -1
- package/src/Cloudflare/R2/R2BucketBinding.ts +1 -1
- package/src/Cloudflare/SecretsStore/SecretBinding.ts +1 -1
- package/src/Cloudflare/Workers/Assets.ts +5 -6
- package/src/Cloudflare/Workers/HttpServer.ts +37 -5
- package/src/Cloudflare/Workers/InferEnv.ts +15 -11
- package/src/Cloudflare/Workers/Worker.ts +78 -36
- package/src/Cloudflare/Workers/WorkerBundle.ts +4 -6
- package/src/Cloudflare/Workers/Workflow.ts +2 -2
- package/src/Cloudflare/index.ts +1 -0
- package/src/Construct.ts +3 -7
- package/src/Destroy.ts +1 -0
- 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 +9 -7
- package/src/Plan.ts +303 -53
- package/src/Platform.ts +7 -7
- package/src/Provider.ts +8 -3
- package/src/Random.ts +1 -1
- package/src/Resource.ts +2 -25
- package/src/Runtime.ts +38 -0
- package/src/Secret.ts +1 -1
- package/src/Stack.ts +10 -6
- package/src/State/ActionState.ts +51 -0
- package/src/State/HttpStateStore.ts +6 -2
- package/src/State/InMemoryState.ts +3 -3
- package/src/State/ResourceState.ts +5 -0
- package/src/State/State.ts +17 -2
- package/src/State/index.ts +1 -0
- package/src/Test/Core.ts +4 -3
- package/src/Util/effect.ts +4 -4
- package/src/Util/hash.ts +14 -0
- package/src/Util/ignore.ts +815 -0
- package/src/index.ts +6 -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
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "alchemy",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.39",
|
|
4
4
|
"homepage": "https://alchemy.run",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Sam Goodwin <sam@alchemy.run>",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "git+https://github.com/alchemy-run/alchemy-effect.git",
|
|
10
|
-
"directory": "
|
|
10
|
+
"directory": "packages/alchemy"
|
|
11
11
|
},
|
|
12
12
|
"bin": {
|
|
13
13
|
"alchemy": "./bin/cli.js"
|
|
@@ -40,12 +40,6 @@
|
|
|
40
40
|
"worker": "./src/*.ts",
|
|
41
41
|
"import": "./lib/*.js"
|
|
42
42
|
},
|
|
43
|
-
"./Agent": {
|
|
44
|
-
"types": "./lib/Agent/index.d.ts",
|
|
45
|
-
"bun": "./src/Agent/index.ts",
|
|
46
|
-
"worker": "./src/Agent/index.ts",
|
|
47
|
-
"import": "./lib/Agent/index.js"
|
|
48
|
-
},
|
|
49
43
|
"./Auth": {
|
|
50
44
|
"types": "./lib/Auth/index.d.ts",
|
|
51
45
|
"bun": "./src/Auth/index.ts",
|
|
@@ -196,6 +190,12 @@
|
|
|
196
190
|
"worker": "./src/Output.ts",
|
|
197
191
|
"import": "./lib/Output.js"
|
|
198
192
|
},
|
|
193
|
+
"./Runtime": {
|
|
194
|
+
"types": "./lib/Runtime.d.ts",
|
|
195
|
+
"bun": "./src/Runtime.ts",
|
|
196
|
+
"worker": "./src/Runtime.ts",
|
|
197
|
+
"import": "./lib/Runtime.js"
|
|
198
|
+
},
|
|
199
199
|
"./Process": {
|
|
200
200
|
"types": "./lib/Process/index.d.ts",
|
|
201
201
|
"bun": "./src/Process/index.ts",
|
|
@@ -270,34 +270,29 @@
|
|
|
270
270
|
"access": "public"
|
|
271
271
|
},
|
|
272
272
|
"dependencies": {
|
|
273
|
-
"@ai-sdk/anthropic": "^3.0.31",
|
|
274
|
-
"@ai-sdk/openai": "^3.0.23",
|
|
275
|
-
"@ai-sdk/provider": "^3.0.8",
|
|
276
273
|
"@aws-sdk/credential-providers": "^3.0.0",
|
|
277
274
|
"@clack/prompts": "^0.11.0",
|
|
278
|
-
"@distilled.cloud/aws": "^0.
|
|
279
|
-
"@distilled.cloud/axiom": "^0.
|
|
280
|
-
"@distilled.cloud/cloudflare": "^0.
|
|
275
|
+
"@distilled.cloud/aws": "^0.20.1",
|
|
276
|
+
"@distilled.cloud/axiom": "^0.20.1",
|
|
277
|
+
"@distilled.cloud/cloudflare": "^0.20.1",
|
|
281
278
|
"@distilled.cloud/cloudflare-rolldown-plugin": "0.3.0",
|
|
282
279
|
"@distilled.cloud/cloudflare-runtime": "0.3.2",
|
|
283
280
|
"@distilled.cloud/cloudflare-vite-plugin": "0.2.0",
|
|
284
|
-
"@distilled.cloud/core": "^0.
|
|
285
|
-
"@distilled.cloud/neon": "^0.
|
|
281
|
+
"@distilled.cloud/core": "^0.20.1",
|
|
282
|
+
"@distilled.cloud/neon": "^0.20.1",
|
|
286
283
|
"pg": "^8.13.0",
|
|
287
|
-
"@effect/vitest": ">=4.0.0-beta.
|
|
284
|
+
"@effect/vitest": ">=4.0.0-beta.66 || >=4.0.0",
|
|
288
285
|
"@libsql/client": "^0.17.0",
|
|
289
286
|
"@octokit/rest": "^22.0.1",
|
|
290
287
|
"@smithy/node-config-provider": "^4.0.0",
|
|
291
288
|
"@smithy/shared-ini-file-loader": "^4.3.4",
|
|
292
289
|
"@smithy/types": "^4.8.1",
|
|
293
290
|
"@types/aws-lambda": "^8.10.152",
|
|
294
|
-
"ai": "^6.0.62",
|
|
295
291
|
"aws4fetch": "^1.0.20",
|
|
296
292
|
"capnweb": "^0.6.1",
|
|
297
293
|
"fast-glob": "^3.3.2",
|
|
298
294
|
"fast-xml-parser": "^5.3.4",
|
|
299
295
|
"foreground-child": "^4.0.3",
|
|
300
|
-
"ignore": "^7.0.5",
|
|
301
296
|
"ink": "^6.3.1",
|
|
302
297
|
"jszip": "^3.10.1",
|
|
303
298
|
"libsodium-wrappers": "^0.8.3",
|
|
@@ -309,15 +304,14 @@
|
|
|
309
304
|
"rolldown": "1.0.0-rc.17",
|
|
310
305
|
"sonda": "^0.11.1",
|
|
311
306
|
"undici": "^7.16.0",
|
|
312
|
-
"web-tree-sitter": "0.25.10",
|
|
313
307
|
"yaml": "^2.0.0"
|
|
314
308
|
},
|
|
315
309
|
"devDependencies": {
|
|
316
310
|
"@clack/prompts": "^0.11.0",
|
|
317
311
|
"@cloudflare/workers-types": "^4.20250805.0",
|
|
318
|
-
"@effect/platform-bun": ">=4.0.0-beta.
|
|
319
|
-
"@effect/platform-node": ">=4.0.0-beta.
|
|
320
|
-
"@effect/platform-node-shared": ">=4.0.0-beta.
|
|
312
|
+
"@effect/platform-bun": ">=4.0.0-beta.66 || >=4.0.0",
|
|
313
|
+
"@effect/platform-node": ">=4.0.0-beta.66 || >=4.0.0",
|
|
314
|
+
"@effect/platform-node-shared": ">=4.0.0-beta.66 || >=4.0.0",
|
|
321
315
|
"@oxc-project/types": "^0.127.0",
|
|
322
316
|
"@types/pg": "^8.11.0",
|
|
323
317
|
"@types/aws-lambda": "^8.10.152",
|
|
@@ -328,7 +322,7 @@
|
|
|
328
322
|
"@types/react": "^19.2.2",
|
|
329
323
|
"@types/ws": "^8.18.1",
|
|
330
324
|
"better-auth": "^1.6.2",
|
|
331
|
-
"effect": ">=4.0.0-beta.
|
|
325
|
+
"effect": ">=4.0.0-beta.66 || >=4.0.0",
|
|
332
326
|
"react-devtools-core": "^7.0.1",
|
|
333
327
|
"solid-js": "latest",
|
|
334
328
|
"tsconfig-paths": "^4.2.0",
|
|
@@ -338,12 +332,12 @@
|
|
|
338
332
|
"ws": "^8.20.0"
|
|
339
333
|
},
|
|
340
334
|
"peerDependencies": {
|
|
341
|
-
"@effect/platform-bun": ">=4.0.0-beta.
|
|
342
|
-
"@effect/platform-node": ">=4.0.0-beta.
|
|
343
|
-
"@effect/sql-pg": ">=4.0.0-beta.
|
|
335
|
+
"@effect/platform-bun": ">=4.0.0-beta.66 || >=4.0.0",
|
|
336
|
+
"@effect/platform-node": ">=4.0.0-beta.66 || >=4.0.0",
|
|
337
|
+
"@effect/sql-pg": ">=4.0.0-beta.66 || >=4.0.0",
|
|
344
338
|
"drizzle-kit": ">=1.0.0-rc.1",
|
|
345
339
|
"drizzle-orm": ">=1.0.0-rc.1",
|
|
346
|
-
"effect": ">=4.0.0-beta.
|
|
340
|
+
"effect": ">=4.0.0-beta.66 || >=4.0.0",
|
|
347
341
|
"vite": "^8.0.7",
|
|
348
342
|
"ws": "^8.20.0"
|
|
349
343
|
},
|
package/src/AWS/Credentials.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Credentials } from "@distilled.cloud/aws/Credentials";
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
2
|
import * as Layer from "effect/Layer";
|
|
4
3
|
import { AWSEnvironment } from "./Environment.ts";
|
|
5
4
|
|
|
@@ -12,5 +11,5 @@ export { Credentials } from "@distilled.cloud/aws/Credentials";
|
|
|
12
11
|
*/
|
|
13
12
|
export const fromEnvironment = Layer.effect(
|
|
14
13
|
Credentials,
|
|
15
|
-
|
|
14
|
+
AWSEnvironment.useSync((env) => env.credentials),
|
|
16
15
|
);
|
|
@@ -87,8 +87,5 @@ export const stream = <T extends Table>(
|
|
|
87
87
|
process: (
|
|
88
88
|
stream: Stream.Stream<StreamRecord<Data>, never, StreamReq>,
|
|
89
89
|
) => Effect.Effect<void, never, Req>,
|
|
90
|
-
) =>
|
|
91
|
-
TableEventSource.asEffect().pipe(
|
|
92
|
-
Effect.flatMap((source) => source(table, props, process)),
|
|
93
|
-
),
|
|
90
|
+
) => TableEventSource.use((source) => source(table, props, process)),
|
|
94
91
|
});
|
package/src/AWS/EC2/hosted.ts
CHANGED
|
@@ -96,23 +96,21 @@ export const createEc2HostRuntimeContext =
|
|
|
96
96
|
return key;
|
|
97
97
|
}),
|
|
98
98
|
get: <T>(key: string) =>
|
|
99
|
-
Config.string(key)
|
|
100
|
-
.
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
99
|
+
Config.string(key).pipe(
|
|
100
|
+
Effect.flatMap((value) =>
|
|
101
|
+
Effect.try({
|
|
102
|
+
try: () => JSON.parse(value) as T,
|
|
103
|
+
catch: (error) => error as Error,
|
|
104
|
+
}),
|
|
105
|
+
),
|
|
106
|
+
Effect.catch((cause) =>
|
|
107
|
+
Effect.die(
|
|
108
|
+
new Error(`Failed to get environment variable: ${key}`, {
|
|
109
|
+
cause,
|
|
106
110
|
}),
|
|
107
111
|
),
|
|
108
|
-
Effect.catch((cause) =>
|
|
109
|
-
Effect.die(
|
|
110
|
-
new Error(`Failed to get environment variable: ${key}`, {
|
|
111
|
-
cause,
|
|
112
|
-
}),
|
|
113
|
-
),
|
|
114
|
-
),
|
|
115
112
|
),
|
|
113
|
+
),
|
|
116
114
|
run: (effect: Effect.Effect<void, never, any>) =>
|
|
117
115
|
Effect.sync(() => {
|
|
118
116
|
runners.push(effect);
|
|
@@ -247,8 +245,8 @@ const program = handler.pipe(
|
|
|
247
245
|
Layer.effect(
|
|
248
246
|
Stack,
|
|
249
247
|
Effect.all([
|
|
250
|
-
Config.string("ALCHEMY_STACK_NAME")
|
|
251
|
-
Config.string("ALCHEMY_STAGE")
|
|
248
|
+
Config.string("ALCHEMY_STACK_NAME"),
|
|
249
|
+
Config.string("ALCHEMY_STAGE")
|
|
252
250
|
]).pipe(
|
|
253
251
|
Effect.map(([name, stage]) => ({
|
|
254
252
|
name,
|
package/src/AWS/ECS/Task.ts
CHANGED
|
@@ -191,23 +191,21 @@ export const Task: Platform<Task, TaskServices, TaskShape, TaskRuntimeContext> =
|
|
|
191
191
|
return key;
|
|
192
192
|
}),
|
|
193
193
|
get: <T>(key: string) =>
|
|
194
|
-
Config.string(key)
|
|
195
|
-
.
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
194
|
+
Config.string(key).pipe(
|
|
195
|
+
Effect.flatMap((value) =>
|
|
196
|
+
Effect.try({
|
|
197
|
+
try: () => JSON.parse(value) as T,
|
|
198
|
+
catch: (error) => error as Error,
|
|
199
|
+
}),
|
|
200
|
+
),
|
|
201
|
+
Effect.catch((cause) =>
|
|
202
|
+
Effect.die(
|
|
203
|
+
new Error(`Failed to get environment variable: ${key}`, {
|
|
204
|
+
cause,
|
|
201
205
|
}),
|
|
202
206
|
),
|
|
203
|
-
Effect.catch((cause) =>
|
|
204
|
-
Effect.die(
|
|
205
|
-
new Error(`Failed to get environment variable: ${key}`, {
|
|
206
|
-
cause,
|
|
207
|
-
}),
|
|
208
|
-
),
|
|
209
|
-
),
|
|
210
207
|
),
|
|
208
|
+
),
|
|
211
209
|
run: (effect: Effect.Effect<void, never, any>) =>
|
|
212
210
|
Effect.sync(() => {
|
|
213
211
|
runners.push(effect);
|
|
@@ -508,8 +506,8 @@ const program = handler.pipe(
|
|
|
508
506
|
Layer.effect(
|
|
509
507
|
Stack,
|
|
510
508
|
Effect.all([
|
|
511
|
-
Config.string("ALCHEMY_STACK_NAME")
|
|
512
|
-
Config.string("ALCHEMY_STAGE")
|
|
509
|
+
Config.string("ALCHEMY_STACK_NAME"),
|
|
510
|
+
Config.string("ALCHEMY_STAGE")
|
|
513
511
|
]).pipe(
|
|
514
512
|
Effect.map(([name, stage]) => ({
|
|
515
513
|
name,
|
package/src/AWS/Endpoint.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Endpoint } from "@distilled.cloud/aws";
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
2
|
import * as Layer from "effect/Layer";
|
|
4
3
|
import { AWSEnvironment } from "./Environment.ts";
|
|
5
4
|
|
|
@@ -12,9 +11,7 @@ export const of = (endpoint: string) =>
|
|
|
12
11
|
* Layer is empty (the SDK uses its default endpoint resolver).
|
|
13
12
|
*/
|
|
14
13
|
export const fromEnvironment = Layer.unwrap(
|
|
15
|
-
AWSEnvironment.
|
|
16
|
-
|
|
17
|
-
env.endpoint === undefined ? Layer.empty : of(env.endpoint),
|
|
18
|
-
),
|
|
14
|
+
AWSEnvironment.useSync((env) =>
|
|
15
|
+
env.endpoint === undefined ? Layer.empty : of(env.endpoint),
|
|
19
16
|
),
|
|
20
17
|
);
|
|
@@ -68,10 +68,7 @@ export const events = (...args: any[]) => {
|
|
|
68
68
|
process: (
|
|
69
69
|
events: Stream.Stream<EventRecord<Detail>, never, StreamReq>,
|
|
70
70
|
) => Effect.Effect<void, never, Req>,
|
|
71
|
-
) =>
|
|
72
|
-
EventSource.asEffect().pipe(
|
|
73
|
-
Effect.flatMap((source) => source(descriptor, process)),
|
|
74
|
-
),
|
|
71
|
+
) => EventSource.use((source) => source(descriptor, process)),
|
|
75
72
|
toLambda: (fn: LambdaFunction, props: LambdaRouteTargetProps = {}) =>
|
|
76
73
|
createLambdaRoute(descriptor, fn, props),
|
|
77
74
|
toQueue: (queue: Queue, props: QueueRouteTargetProps = {}) =>
|
|
@@ -99,8 +99,5 @@ export const records = <S extends KinesisStream>(
|
|
|
99
99
|
process: (
|
|
100
100
|
stream: Stream.Stream<KinesisEventRecord, never, StreamReq>,
|
|
101
101
|
) => Effect.Effect<void, never, Req>,
|
|
102
|
-
) =>
|
|
103
|
-
StreamEventSource.asEffect().pipe(
|
|
104
|
-
Effect.flatMap((source) => source(stream, props, process)),
|
|
105
|
-
),
|
|
102
|
+
) => StreamEventSource.use((source) => source(stream, props, process)),
|
|
106
103
|
});
|
|
@@ -387,36 +387,34 @@ export const Function: Platform<
|
|
|
387
387
|
return key;
|
|
388
388
|
}),
|
|
389
389
|
get: <T>(key: string) =>
|
|
390
|
-
Config.string(key)
|
|
391
|
-
.
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
390
|
+
Config.string(key).pipe(
|
|
391
|
+
Effect.flatMap((val) =>
|
|
392
|
+
Effect.try({
|
|
393
|
+
try: () => {
|
|
394
|
+
const value = JSON.parse(val);
|
|
395
|
+
if (
|
|
396
|
+
value !== null &&
|
|
397
|
+
typeof value === "object" &&
|
|
398
|
+
(value as { _tag?: unknown })._tag === "Redacted" &&
|
|
399
|
+
"value" in (value as object)
|
|
400
|
+
) {
|
|
401
|
+
return Redacted.make(
|
|
402
|
+
(value as { value: unknown }).value,
|
|
403
|
+
) as unknown as T;
|
|
404
|
+
}
|
|
405
|
+
return value as T;
|
|
406
|
+
},
|
|
407
|
+
catch: () => val, // assume it's just a string
|
|
408
|
+
}),
|
|
409
|
+
),
|
|
410
|
+
Effect.catch((cause) =>
|
|
411
|
+
Effect.die(
|
|
412
|
+
new Error(`Failed to get environment variable: ${key}`, {
|
|
413
|
+
cause,
|
|
410
414
|
}),
|
|
411
415
|
),
|
|
412
|
-
Effect.catch((cause) =>
|
|
413
|
-
Effect.die(
|
|
414
|
-
new Error(`Failed to get environment variable: ${key}`, {
|
|
415
|
-
cause,
|
|
416
|
-
}),
|
|
417
|
-
),
|
|
418
|
-
),
|
|
419
416
|
),
|
|
417
|
+
),
|
|
420
418
|
serve: (handler: HttpEffect) =>
|
|
421
419
|
ctx.listen(makeFunctionHttpHandler(handler)),
|
|
422
420
|
listen: ((
|
|
@@ -669,6 +667,7 @@ export const FunctionProvider = () =>
|
|
|
669
667
|
(importPath) => `
|
|
670
668
|
import { layer as nodeServicesLayer } from "@effect/platform-node/NodeServices";
|
|
671
669
|
import { Stack } from "alchemy/Stack";
|
|
670
|
+
import { makeEntrypointLayer } from "alchemy/Runtime";
|
|
672
671
|
import * as Config from "effect/Config";
|
|
673
672
|
import * as ConfigProvider from "effect/ConfigProvider";
|
|
674
673
|
import * as Credentials from "@distilled.cloud/aws/Credentials";
|
|
@@ -680,13 +679,10 @@ import * as Region from "@distilled.cloud/aws/Region";
|
|
|
680
679
|
import * as Context from "effect/Context";
|
|
681
680
|
import { MinimumLogLevel } from "effect/References";
|
|
682
681
|
|
|
683
|
-
import
|
|
682
|
+
import entrypoint from "${importPath}";
|
|
684
683
|
|
|
685
684
|
const tag = Context.Service("${Self.key}")
|
|
686
|
-
const layer =
|
|
687
|
-
typeof entry?.build === "function"
|
|
688
|
-
? entry
|
|
689
|
-
: Layer.effect(tag, typeof entry?.asEffect === "function" ? entry.asEffect() : entry);
|
|
685
|
+
const layer = makeEntrypointLayer(tag, entrypoint);
|
|
690
686
|
|
|
691
687
|
const platform = Layer.mergeAll(
|
|
692
688
|
nodeServicesLayer,
|
|
@@ -698,8 +694,8 @@ const platform = Layer.mergeAll(
|
|
|
698
694
|
const stack = Layer.effect(
|
|
699
695
|
Stack,
|
|
700
696
|
Effect.all([
|
|
701
|
-
Config.string("ALCHEMY_STACK_NAME")
|
|
702
|
-
Config.string("ALCHEMY_STAGE")
|
|
697
|
+
Config.string("ALCHEMY_STACK_NAME"),
|
|
698
|
+
Config.string("ALCHEMY_STAGE")
|
|
703
699
|
]).pipe(
|
|
704
700
|
Effect.map(([name, stage]) => ({
|
|
705
701
|
name,
|
|
@@ -710,7 +706,7 @@ const stack = Layer.effect(
|
|
|
710
706
|
)
|
|
711
707
|
);
|
|
712
708
|
|
|
713
|
-
const handlerEffect = tag.
|
|
709
|
+
const handlerEffect = tag.pipe(
|
|
714
710
|
Effect.flatMap(func => func.RuntimeContext.exports),
|
|
715
711
|
Effect.flatMap(exports => exports.handler),
|
|
716
712
|
Effect.provide(
|
package/src/AWS/Providers.ts
CHANGED
|
@@ -15,13 +15,14 @@ import { pipe } from "effect/Function";
|
|
|
15
15
|
import * as Layer from "effect/Layer";
|
|
16
16
|
import * as Ref from "effect/Ref";
|
|
17
17
|
import * as Schedule from "effect/Schedule";
|
|
18
|
+
import * as HttpClientError from "effect/unstable/http/HttpClientError";
|
|
19
|
+
import { CredentialsStoreLive } from "../Auth/Credentials.ts";
|
|
18
20
|
import { Command, CommandProvider } from "../Build/Command.ts";
|
|
19
21
|
import * as Provider from "../Provider.ts";
|
|
20
22
|
import { Random, RandomProvider } from "../Random.ts";
|
|
21
23
|
import * as ACM from "./ACM/index.ts";
|
|
22
24
|
import * as ApiGateway from "./ApiGateway/index.ts";
|
|
23
25
|
import * as Assets from "./Assets.ts";
|
|
24
|
-
import { CredentialsStoreLive } from "../Auth/Credentials.ts";
|
|
25
26
|
import { AwsAuth } from "./AuthProvider.ts";
|
|
26
27
|
import * as AutoScaling from "./AutoScaling/index.ts";
|
|
27
28
|
import * as CloudFront from "./CloudFront/index.ts";
|
|
@@ -34,6 +35,7 @@ import * as ECS from "./ECS/index.ts";
|
|
|
34
35
|
import * as EKS from "./EKS/index.ts";
|
|
35
36
|
import * as ELBv2 from "./ELBv2/index.ts";
|
|
36
37
|
import * as Endpoint from "./Endpoint.ts";
|
|
38
|
+
import { Default as DefaultEnvironment } from "./Environment.ts";
|
|
37
39
|
import * as EventBridge from "./EventBridge/index.ts";
|
|
38
40
|
import * as IAM from "./IAM/index.ts";
|
|
39
41
|
import * as IdentityCenter from "./IdentityCenter/index.ts";
|
|
@@ -50,7 +52,6 @@ import * as Scheduler from "./Scheduler/index.ts";
|
|
|
50
52
|
import * as SecretsManager from "./SecretsManager/index.ts";
|
|
51
53
|
import * as SNS from "./SNS/index.ts";
|
|
52
54
|
import * as SQS from "./SQS/index.ts";
|
|
53
|
-
import { Default as DefaultEnvironment } from "./Environment.ts";
|
|
54
55
|
import * as Website from "./Website/index.ts";
|
|
55
56
|
|
|
56
57
|
export class Providers extends Provider.ProviderCollection<Providers>()(
|
|
@@ -591,9 +592,27 @@ export const providers = () =>
|
|
|
591
592
|
Layer.orDie,
|
|
592
593
|
);
|
|
593
594
|
|
|
595
|
+
// TODO(sam): remove this once it's upstreamed to distilled
|
|
596
|
+
const isHttpTransportError = (error: unknown): boolean => {
|
|
597
|
+
if (!HttpClientError.isHttpClientError(error)) return false;
|
|
598
|
+
const tag = error.reason._tag;
|
|
599
|
+
if (tag === "TransportError") return true;
|
|
600
|
+
if (
|
|
601
|
+
tag === "StatusCodeError" &&
|
|
602
|
+
"response" in error.reason &&
|
|
603
|
+
error.reason.response.status >= 500
|
|
604
|
+
) {
|
|
605
|
+
return true;
|
|
606
|
+
}
|
|
607
|
+
return false;
|
|
608
|
+
};
|
|
609
|
+
|
|
594
610
|
const awsRetryFactory: RetryFactory = (lastError) => ({
|
|
595
611
|
while: (error) =>
|
|
596
|
-
isTransientError(error) ||
|
|
612
|
+
isTransientError(error) ||
|
|
613
|
+
isThrottlingError(error) ||
|
|
614
|
+
isRetryable(error) ||
|
|
615
|
+
isHttpTransportError(error),
|
|
597
616
|
schedule: pipe(
|
|
598
617
|
Schedule.exponential(Duration.millis(200), 2),
|
|
599
618
|
Schedule.modifyDelay(
|
package/src/AWS/Region.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import * as Region from "@distilled.cloud/aws/Region";
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
2
|
import * as Layer from "effect/Layer";
|
|
4
3
|
import { AWSEnvironment } from "./Environment.ts";
|
|
5
4
|
|
|
6
|
-
export { Region } from "@distilled.cloud/aws/Region";
|
|
7
5
|
export { AWS_REGION, type RegionID } from "./Environment.ts";
|
|
6
|
+
export { Region } from "@distilled.cloud/aws/Region";
|
|
8
7
|
|
|
9
8
|
export const of = (region: string) => Layer.succeed(Region.Region, region);
|
|
10
9
|
|
|
@@ -16,5 +15,5 @@ export const fromEnvOrElse = (region: string) =>
|
|
|
16
15
|
*/
|
|
17
16
|
export const fromEnvironment = Layer.effect(
|
|
18
17
|
Region.Region,
|
|
19
|
-
|
|
18
|
+
AWSEnvironment.useSync((env) => env.region),
|
|
20
19
|
);
|
package/src/AWS/S3/Bucket.ts
CHANGED
|
@@ -564,12 +564,17 @@ export const BucketProvider = () =>
|
|
|
564
564
|
yield* Effect.logInfo(
|
|
565
565
|
`S3 Bucket delete: bucket=${output.bucketName} forceDestroy=${olds.forceDestroy ?? false}`,
|
|
566
566
|
);
|
|
567
|
-
// If forceDestroy is enabled, delete all objects first
|
|
567
|
+
// If forceDestroy is enabled, delete all objects first. The bucket
|
|
568
|
+
// may already be gone (deleted out-of-band, or a previous destroy
|
|
569
|
+
// partially succeeded) — treat NoSuchBucket as a no-op so the
|
|
570
|
+
// overall delete still converges.
|
|
568
571
|
if (olds.forceDestroy) {
|
|
569
572
|
yield* session.note(
|
|
570
573
|
`Force destroying bucket: ${output.bucketName} - deleting all objects...`,
|
|
571
574
|
);
|
|
572
|
-
yield* deleteAllObjects(output.bucketName)
|
|
575
|
+
yield* deleteAllObjects(output.bucketName).pipe(
|
|
576
|
+
Effect.catchTag("NoSuchBucket", () => Effect.void),
|
|
577
|
+
);
|
|
573
578
|
}
|
|
574
579
|
|
|
575
580
|
yield* s3
|
|
@@ -70,8 +70,5 @@ export const notifications = <
|
|
|
70
70
|
process: (
|
|
71
71
|
stream: Stream.Stream<BucketNotification, never, StreamReq>,
|
|
72
72
|
) => Effect.Effect<void, never, Req>,
|
|
73
|
-
) =>
|
|
74
|
-
BucketEventSource.asEffect().pipe(
|
|
75
|
-
Effect.flatMap((source) => source(bucket, props, process)),
|
|
76
|
-
),
|
|
73
|
+
) => BucketEventSource.use((source) => source(bucket, props, process)),
|
|
77
74
|
});
|
|
@@ -35,8 +35,5 @@ export const notifications = <T extends Topic>(
|
|
|
35
35
|
process: (
|
|
36
36
|
stream: Stream.Stream<TopicNotification, never, StreamReq>,
|
|
37
37
|
) => Effect.Effect<void, never, Req>,
|
|
38
|
-
) =>
|
|
39
|
-
TopicEventSource.asEffect().pipe(
|
|
40
|
-
Effect.flatMap((source) => source(topic, props, process)),
|
|
41
|
-
),
|
|
38
|
+
) => TopicEventSource.use((source) => source(topic, props, process)),
|
|
42
39
|
});
|
package/src/AWS/SQS/Queue.ts
CHANGED
|
@@ -313,12 +313,24 @@ export const QueueProvider = () =>
|
|
|
313
313
|
// apply only the delta. SQS returns all attribute values as strings,
|
|
314
314
|
// and `desiredAttributes` is already string-shaped, so equality
|
|
315
315
|
// comparison is direct.
|
|
316
|
+
// SQS is eventually consistent: a freshly-created queue can return
|
|
317
|
+
// `QueueDoesNotExist` from `getQueueAttributes` for a few seconds
|
|
318
|
+
// even after `createQueue` succeeded. Retry briefly so the
|
|
319
|
+
// reconciler converges instead of failing the first deploy.
|
|
316
320
|
const currentAttributes = yield* sqs
|
|
317
321
|
.getQueueAttributes({
|
|
318
322
|
QueueUrl: queueUrl,
|
|
319
323
|
AttributeNames: ["All"],
|
|
320
324
|
})
|
|
321
|
-
.pipe(
|
|
325
|
+
.pipe(
|
|
326
|
+
Effect.retry({
|
|
327
|
+
while: (e) => e._tag === "QueueDoesNotExist",
|
|
328
|
+
schedule: Schedule.fixed(1000).pipe(
|
|
329
|
+
Schedule.both(Schedule.recurs(30)),
|
|
330
|
+
),
|
|
331
|
+
}),
|
|
332
|
+
Effect.map((r) => r.Attributes ?? {}),
|
|
333
|
+
);
|
|
322
334
|
|
|
323
335
|
const attributeDelta: Record<string, string> = {};
|
|
324
336
|
for (const [key, value] of Object.entries(desiredAttributes)) {
|
|
@@ -330,10 +342,19 @@ export const QueueProvider = () =>
|
|
|
330
342
|
}
|
|
331
343
|
}
|
|
332
344
|
if (Object.keys(attributeDelta).length > 0) {
|
|
333
|
-
yield* sqs
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
345
|
+
yield* sqs
|
|
346
|
+
.setQueueAttributes({
|
|
347
|
+
QueueUrl: queueUrl,
|
|
348
|
+
Attributes: attributeDelta,
|
|
349
|
+
})
|
|
350
|
+
.pipe(
|
|
351
|
+
Effect.retry({
|
|
352
|
+
while: (e) => e._tag === "QueueDoesNotExist",
|
|
353
|
+
schedule: Schedule.fixed(1000).pipe(
|
|
354
|
+
Schedule.both(Schedule.recurs(30)),
|
|
355
|
+
),
|
|
356
|
+
}),
|
|
357
|
+
);
|
|
337
358
|
}
|
|
338
359
|
|
|
339
360
|
// Sync alchemy-owned tags. The `tags` parameter on `createQueue`
|
|
@@ -342,6 +363,12 @@ export const QueueProvider = () =>
|
|
|
342
363
|
const currentTags = yield* sqs
|
|
343
364
|
.listQueueTags({ QueueUrl: queueUrl })
|
|
344
365
|
.pipe(
|
|
366
|
+
Effect.retry({
|
|
367
|
+
while: (e) => e._tag === "QueueDoesNotExist",
|
|
368
|
+
schedule: Schedule.fixed(1000).pipe(
|
|
369
|
+
Schedule.both(Schedule.recurs(30)),
|
|
370
|
+
),
|
|
371
|
+
}),
|
|
345
372
|
Effect.map((r) => r.Tags ?? {}),
|
|
346
373
|
Effect.catch(() => Effect.succeed({} as Record<string, string>)),
|
|
347
374
|
);
|
|
@@ -352,7 +379,14 @@ export const QueueProvider = () =>
|
|
|
352
379
|
}
|
|
353
380
|
}
|
|
354
381
|
if (Object.keys(tagDelta).length > 0) {
|
|
355
|
-
yield* sqs.tagQueue({ QueueUrl: queueUrl, Tags: tagDelta })
|
|
382
|
+
yield* sqs.tagQueue({ QueueUrl: queueUrl, Tags: tagDelta }).pipe(
|
|
383
|
+
Effect.retry({
|
|
384
|
+
while: (e) => e._tag === "QueueDoesNotExist",
|
|
385
|
+
schedule: Schedule.fixed(1000).pipe(
|
|
386
|
+
Schedule.both(Schedule.recurs(30)),
|
|
387
|
+
),
|
|
388
|
+
}),
|
|
389
|
+
);
|
|
356
390
|
}
|
|
357
391
|
|
|
358
392
|
yield* session.note(queueUrl);
|