alchemy 2.0.0-beta.34 → 2.0.0-beta.36
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/cli.js +8 -7
- package/bin/exec.js +253 -52
- package/bin/exec.js.map +1 -1
- package/lib/AWS/AuthProvider.d.ts +7 -6
- package/lib/AWS/AuthProvider.d.ts.map +1 -1
- package/lib/AWS/AuthProvider.js +143 -134
- package/lib/AWS/AuthProvider.js.map +1 -1
- package/lib/AWS/Bootstrap.d.ts +2 -2
- package/lib/AWS/Bootstrap.d.ts.map +1 -1
- package/lib/AWS/EC2/hosted.d.ts +1 -1
- package/lib/AWS/Environment.d.ts +25 -3
- package/lib/AWS/Environment.d.ts.map +1 -1
- package/lib/AWS/Environment.js +47 -3
- package/lib/AWS/Environment.js.map +1 -1
- package/lib/AWS/IAM/OpenIDConnectProvider.d.ts +14 -6
- package/lib/AWS/IAM/OpenIDConnectProvider.d.ts.map +1 -1
- package/lib/AWS/IAM/OpenIDConnectProvider.js +6 -3
- package/lib/AWS/IAM/OpenIDConnectProvider.js.map +1 -1
- package/lib/AWS/IAM/Policy.d.ts +1 -1
- package/lib/AWS/IAM/Policy.d.ts.map +1 -1
- package/lib/AWS/IAM/Policy.js.map +1 -1
- package/lib/AWS/Lambda/BucketEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/BucketEventSource.d.ts.map +1 -1
- package/lib/AWS/Lambda/EventBridgeEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/EventBridgeEventSource.d.ts.map +1 -1
- package/lib/AWS/Lambda/QueueEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/QueueEventSource.d.ts.map +1 -1
- package/lib/AWS/Lambda/StreamEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/StreamEventSource.d.ts.map +1 -1
- package/lib/AWS/Lambda/TableEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/TableEventSource.d.ts.map +1 -1
- package/lib/AWS/Lambda/TopicEventSource.d.ts +1 -1
- package/lib/AWS/Lambda/TopicEventSource.d.ts.map +1 -1
- package/lib/AWS/Providers.d.ts +1 -1
- package/lib/AWS/Providers.d.ts.map +1 -1
- package/lib/AWS/Providers.js +2 -1
- package/lib/AWS/Providers.js.map +1 -1
- package/lib/Auth/Credentials.d.ts +21 -6
- package/lib/Auth/Credentials.d.ts.map +1 -1
- package/lib/Auth/Credentials.js +30 -31
- package/lib/Auth/Credentials.js.map +1 -1
- package/lib/Auth/Profile.d.ts +31 -34
- package/lib/Auth/Profile.d.ts.map +1 -1
- package/lib/Auth/Profile.js +46 -31
- package/lib/Auth/Profile.js.map +1 -1
- package/lib/Axiom/AuthProvider.d.ts +2 -1
- package/lib/Axiom/AuthProvider.d.ts.map +1 -1
- package/lib/Axiom/AuthProvider.js +149 -143
- package/lib/Axiom/AuthProvider.js.map +1 -1
- package/lib/Axiom/Credentials.d.ts +2 -1
- package/lib/Axiom/Credentials.d.ts.map +1 -1
- package/lib/Axiom/Credentials.js +4 -4
- package/lib/Axiom/Credentials.js.map +1 -1
- package/lib/Axiom/Providers.d.ts +1 -1
- package/lib/Axiom/Providers.d.ts.map +1 -1
- package/lib/Axiom/Providers.js +3 -1
- package/lib/Axiom/Providers.js.map +1 -1
- package/lib/Cli/LoggingCli.d.ts.map +1 -1
- package/lib/Cli/LoggingCli.js +105 -7
- package/lib/Cli/LoggingCli.js.map +1 -1
- package/lib/Cli/checkVersion.d.ts +13 -0
- package/lib/Cli/checkVersion.d.ts.map +1 -0
- package/lib/Cli/checkVersion.js +47 -0
- package/lib/Cli/checkVersion.js.map +1 -0
- package/lib/Cli/commands/_shared.d.ts +2 -2
- package/lib/Cli/commands/_shared.d.ts.map +1 -1
- package/lib/Cli/commands/_shared.js +3 -3
- package/lib/Cli/commands/_shared.js.map +1 -1
- package/lib/Cli/commands/aws.d.ts +6 -0
- package/lib/Cli/commands/aws.d.ts.map +1 -0
- package/lib/Cli/commands/aws.js +63 -0
- package/lib/Cli/commands/aws.js.map +1 -0
- package/lib/Cli/commands/cloudflare.d.ts +17 -0
- package/lib/Cli/commands/cloudflare.d.ts.map +1 -0
- package/lib/Cli/commands/cloudflare.js +111 -0
- package/lib/Cli/commands/cloudflare.js.map +1 -0
- package/lib/Cli/commands/deploy.d.ts +6 -5
- package/lib/Cli/commands/deploy.d.ts.map +1 -1
- package/lib/Cli/commands/deploy.js +10 -10
- package/lib/Cli/commands/deploy.js.map +1 -1
- package/lib/Cli/commands/dev.d.ts.map +1 -1
- package/lib/Cli/commands/dev.js +16 -16
- package/lib/Cli/commands/dev.js.map +1 -1
- package/lib/Cli/commands/login.d.ts +2 -1
- package/lib/Cli/commands/login.d.ts.map +1 -1
- package/lib/Cli/commands/login.js +9 -8
- package/lib/Cli/commands/login.js.map +1 -1
- package/lib/Cli/commands/logs.d.ts +1 -1
- package/lib/Cli/commands/logs.d.ts.map +1 -1
- package/lib/Cli/commands/logs.js +7 -7
- package/lib/Cli/commands/logs.js.map +1 -1
- package/lib/Cli/commands/profile.d.ts +3 -1
- package/lib/Cli/commands/profile.d.ts.map +1 -1
- package/lib/Cli/commands/profile.js +14 -11
- package/lib/Cli/commands/profile.js.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/state.js +8 -8
- package/lib/Cli/commands/state.js.map +1 -1
- package/lib/Cli/commands/tail.d.ts +1 -1
- package/lib/Cli/commands/tail.d.ts.map +1 -1
- package/lib/Cli/commands/tail.js +7 -7
- package/lib/Cli/commands/tail.js.map +1 -1
- package/lib/Cli/exec.d.ts.map +1 -1
- package/lib/Cli/exec.js +5 -3
- package/lib/Cli/exec.js.map +1 -1
- package/lib/Cli/main.d.ts.map +1 -1
- package/lib/Cli/main.js +19 -5
- package/lib/Cli/main.js.map +1 -1
- package/lib/Cli/selectCli.d.ts +12 -0
- package/lib/Cli/selectCli.d.ts.map +1 -0
- package/lib/Cli/selectCli.js +32 -0
- package/lib/Cli/selectCli.js.map +1 -0
- package/lib/Cloudflare/Auth/AuthProvider.d.ts +2 -1
- package/lib/Cloudflare/Auth/AuthProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Auth/AuthProvider.js +235 -214
- package/lib/Cloudflare/Auth/AuthProvider.js.map +1 -1
- package/lib/Cloudflare/CloudflareEnvironment.d.ts +2 -1
- package/lib/Cloudflare/CloudflareEnvironment.d.ts.map +1 -1
- package/lib/Cloudflare/CloudflareEnvironment.js +3 -2
- package/lib/Cloudflare/CloudflareEnvironment.js.map +1 -1
- package/lib/Cloudflare/Credentials.d.ts +2 -1
- package/lib/Cloudflare/Credentials.d.ts.map +1 -1
- package/lib/Cloudflare/Credentials.js +4 -4
- package/lib/Cloudflare/Credentials.js.map +1 -1
- package/lib/Cloudflare/D1/D1Clone.d.ts +2 -1
- package/lib/Cloudflare/D1/D1Clone.d.ts.map +1 -1
- package/lib/Cloudflare/D1/D1Database.d.ts +2 -1
- package/lib/Cloudflare/D1/D1Database.d.ts.map +1 -1
- package/lib/Cloudflare/D1/D1Import.d.ts +3 -1
- package/lib/Cloudflare/D1/D1Import.d.ts.map +1 -1
- package/lib/Cloudflare/Images/Images.d.ts +103 -0
- package/lib/Cloudflare/Images/Images.d.ts.map +1 -0
- package/lib/Cloudflare/Images/Images.js +82 -0
- package/lib/Cloudflare/Images/Images.js.map +1 -0
- package/lib/Cloudflare/Images/ImagesBinding.d.ts +73 -0
- package/lib/Cloudflare/Images/ImagesBinding.d.ts.map +1 -0
- package/lib/Cloudflare/Images/ImagesBinding.js +83 -0
- package/lib/Cloudflare/Images/ImagesBinding.js.map +1 -0
- package/lib/Cloudflare/Images/index.d.ts +3 -0
- package/lib/Cloudflare/Images/index.d.ts.map +1 -0
- package/lib/Cloudflare/Images/index.js +3 -0
- package/lib/Cloudflare/Images/index.js.map +1 -0
- package/lib/Cloudflare/Local/Sidecar.d.ts +11 -4
- package/lib/Cloudflare/Local/Sidecar.d.ts.map +1 -1
- package/lib/Cloudflare/Local/Sidecar.js +8 -6
- package/lib/Cloudflare/Local/Sidecar.js.map +1 -1
- package/lib/Cloudflare/Local/SidecarHandlers.d.ts.map +1 -1
- package/lib/Cloudflare/Local/SidecarHandlers.js +1 -5
- package/lib/Cloudflare/Local/SidecarHandlers.js.map +1 -1
- package/lib/Cloudflare/Local/SidecarServer.js +5 -2
- package/lib/Cloudflare/Local/SidecarServer.js.map +1 -1
- package/lib/Cloudflare/Logs.d.ts +5 -0
- package/lib/Cloudflare/Logs.d.ts.map +1 -1
- package/lib/Cloudflare/Logs.js +70 -1
- package/lib/Cloudflare/Logs.js.map +1 -1
- package/lib/Cloudflare/Providers.d.ts +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/Queue.d.ts +1 -1
- package/lib/Cloudflare/Queue/Queue.js +1 -1
- package/lib/Cloudflare/Queue/QueueConsumer.d.ts +6 -2
- package/lib/Cloudflare/Queue/QueueConsumer.d.ts.map +1 -1
- package/lib/Cloudflare/Queue/QueueConsumer.js +194 -53
- package/lib/Cloudflare/Queue/QueueConsumer.js.map +1 -1
- package/lib/Cloudflare/Queue/QueueEventSource.d.ts +106 -0
- package/lib/Cloudflare/Queue/QueueEventSource.d.ts.map +1 -0
- package/lib/Cloudflare/Queue/QueueEventSource.js +145 -0
- package/lib/Cloudflare/Queue/QueueEventSource.js.map +1 -0
- package/lib/Cloudflare/Queue/index.d.ts +1 -0
- package/lib/Cloudflare/Queue/index.d.ts.map +1 -1
- package/lib/Cloudflare/Queue/index.js +1 -0
- package/lib/Cloudflare/Queue/index.js.map +1 -1
- package/lib/Cloudflare/R2/R2Bucket.d.ts +229 -0
- package/lib/Cloudflare/R2/R2Bucket.d.ts.map +1 -1
- package/lib/Cloudflare/R2/R2Bucket.js +309 -2
- package/lib/Cloudflare/R2/R2Bucket.js.map +1 -1
- package/lib/Cloudflare/StateStore/State.d.ts +4 -3
- package/lib/Cloudflare/StateStore/State.d.ts.map +1 -1
- package/lib/Cloudflare/StateStore/State.js +16 -8
- package/lib/Cloudflare/StateStore/State.js.map +1 -1
- package/lib/Cloudflare/VpcService/VpcServiceRef.d.ts +1 -1
- package/lib/Cloudflare/VpcService/VpcServiceRef.d.ts.map +1 -1
- package/lib/Cloudflare/Website/StaticSite.d.ts.map +1 -1
- package/lib/Cloudflare/Website/StaticSite.js +10 -1
- package/lib/Cloudflare/Website/StaticSite.js.map +1 -1
- package/lib/Cloudflare/Workers/Assets.d.ts +1 -1
- package/lib/Cloudflare/Workers/Assets.d.ts.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/LocalWorkerProvider.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js +11 -1
- package/lib/Cloudflare/Workers/LocalWorkerProvider.js.map +1 -1
- package/lib/Cloudflare/Workers/Worker.d.ts +14 -12
- package/lib/Cloudflare/Workers/Worker.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/Worker.js +96 -165
- package/lib/Cloudflare/Workers/Worker.js.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBundle.d.ts +2 -0
- package/lib/Cloudflare/Workers/WorkerBundle.d.ts.map +1 -1
- package/lib/Cloudflare/Workers/WorkerBundle.js +21 -7
- package/lib/Cloudflare/Workers/WorkerBundle.js.map +1 -1
- package/lib/Cloudflare/Zone.d.ts +14 -0
- package/lib/Cloudflare/Zone.d.ts.map +1 -0
- package/lib/Cloudflare/Zone.js +44 -0
- package/lib/Cloudflare/Zone.js.map +1 -0
- 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/Drizzle/Schema.d.ts.map +1 -1
- package/lib/Drizzle/Schema.js +20 -5
- package/lib/Drizzle/Schema.js.map +1 -1
- package/lib/GitHub/AuthProvider.d.ts +3 -1
- package/lib/GitHub/AuthProvider.d.ts.map +1 -1
- package/lib/GitHub/AuthProvider.js +114 -108
- package/lib/GitHub/AuthProvider.js.map +1 -1
- package/lib/GitHub/Credentials.d.ts +2 -1
- package/lib/GitHub/Credentials.d.ts.map +1 -1
- package/lib/GitHub/Credentials.js +4 -4
- package/lib/GitHub/Credentials.js.map +1 -1
- package/lib/GitHub/Providers.d.ts +1 -1
- package/lib/GitHub/Providers.d.ts.map +1 -1
- package/lib/GitHub/Providers.js +3 -1
- package/lib/GitHub/Providers.js.map +1 -1
- package/lib/GitHub/Secrets.d.ts.map +1 -1
- package/lib/GitHub/Secrets.js +14 -1
- package/lib/GitHub/Secrets.js.map +1 -1
- package/lib/GitHub/Variables.d.ts +40 -0
- package/lib/GitHub/Variables.d.ts.map +1 -0
- package/lib/GitHub/Variables.js +28 -0
- package/lib/GitHub/Variables.js.map +1 -0
- package/lib/GitHub/index.d.ts +1 -0
- package/lib/GitHub/index.d.ts.map +1 -1
- package/lib/GitHub/index.js +1 -0
- package/lib/GitHub/index.js.map +1 -1
- package/lib/Neon/AuthProvider.d.ts +3 -1
- package/lib/Neon/AuthProvider.d.ts.map +1 -1
- package/lib/Neon/AuthProvider.js +87 -80
- package/lib/Neon/AuthProvider.js.map +1 -1
- package/lib/Neon/Credentials.d.ts +2 -1
- package/lib/Neon/Credentials.d.ts.map +1 -1
- package/lib/Neon/Credentials.js +4 -4
- package/lib/Neon/Credentials.js.map +1 -1
- package/lib/Neon/NeonEnvironment.d.ts +2 -1
- package/lib/Neon/NeonEnvironment.d.ts.map +1 -1
- package/lib/Neon/NeonEnvironment.js +3 -2
- package/lib/Neon/NeonEnvironment.js.map +1 -1
- package/lib/Neon/Project.d.ts +16 -0
- package/lib/Neon/Project.d.ts.map +1 -1
- package/lib/Neon/Project.js +25 -0
- package/lib/Neon/Project.js.map +1 -1
- package/lib/Neon/Providers.d.ts +1 -1
- package/lib/Neon/Providers.d.ts.map +1 -1
- package/lib/Neon/Providers.js +3 -1
- package/lib/Neon/Providers.js.map +1 -1
- package/lib/Neon/api.d.ts +1 -0
- package/lib/Neon/api.d.ts.map +1 -1
- package/lib/Neon/api.js +1 -0
- package/lib/Neon/api.js.map +1 -1
- package/lib/Sidecar/RpcClient.d.ts.map +1 -1
- package/lib/Sidecar/RpcClient.js +8 -5
- package/lib/Sidecar/RpcClient.js.map +1 -1
- package/lib/Sidecar/RpcPaths.d.ts +5 -0
- package/lib/Sidecar/RpcPaths.d.ts.map +1 -1
- package/lib/Sidecar/RpcPaths.js +10 -1
- package/lib/Sidecar/RpcPaths.js.map +1 -1
- package/lib/Sidecar/RpcServer.d.ts +24 -4
- package/lib/Sidecar/RpcServer.d.ts.map +1 -1
- package/lib/Sidecar/RpcServer.js +70 -15
- package/lib/Sidecar/RpcServer.js.map +1 -1
- package/lib/Sidecar/RpcServerBun.d.ts +4 -0
- package/lib/Sidecar/RpcServerBun.d.ts.map +1 -0
- package/lib/Sidecar/RpcServerBun.js +28 -0
- package/lib/Sidecar/RpcServerBun.js.map +1 -0
- package/lib/Sidecar/RpcServerNode.d.ts +4 -0
- package/lib/Sidecar/RpcServerNode.d.ts.map +1 -0
- package/lib/Sidecar/RpcServerNode.js +39 -0
- package/lib/Sidecar/RpcServerNode.js.map +1 -0
- package/lib/Sidecar/RpcServices.d.ts +6 -0
- package/lib/Sidecar/RpcServices.d.ts.map +1 -0
- package/lib/Sidecar/RpcServices.js +29 -0
- package/lib/Sidecar/RpcServices.js.map +1 -0
- package/lib/Stack.d.ts +5 -3
- package/lib/Stack.d.ts.map +1 -1
- package/lib/Stack.js +3 -1
- package/lib/Stack.js.map +1 -1
- package/lib/Test/Core.d.ts.map +1 -1
- package/lib/Test/Core.js +5 -4
- package/lib/Test/Core.js.map +1 -1
- package/lib/Test/Vitest.d.ts.map +1 -1
- package/lib/Test/Vitest.js +2 -0
- package/lib/Test/Vitest.js.map +1 -1
- package/lib/Util/LocalhostDns.d.ts +19 -0
- package/lib/Util/LocalhostDns.d.ts.map +1 -0
- package/lib/Util/LocalhostDns.js +55 -0
- package/lib/Util/LocalhostDns.js.map +1 -0
- package/lib/Util/PlatformServices.d.ts.map +1 -1
- package/lib/Util/PlatformServices.js +3 -1
- package/lib/Util/PlatformServices.js.map +1 -1
- package/lib/tsconfig.test.tsbuildinfo +1 -1
- package/package.json +16 -12
- package/src/AWS/AuthProvider.ts +269 -259
- package/src/AWS/Environment.ts +57 -3
- package/src/AWS/IAM/OpenIDConnectProvider.ts +19 -8
- package/src/AWS/IAM/Policy.ts +1 -1
- package/src/AWS/Providers.ts +2 -0
- package/src/Auth/Credentials.ts +82 -46
- package/src/Auth/Profile.ts +123 -69
- package/src/Axiom/AuthProvider.ts +263 -255
- package/src/Axiom/Credentials.ts +3 -4
- package/src/Axiom/Providers.ts +4 -0
- package/src/Cli/LoggingCli.ts +127 -11
- package/src/Cli/checkVersion.ts +57 -0
- package/src/Cli/commands/_shared.ts +4 -4
- package/src/Cli/commands/aws.ts +127 -0
- package/src/Cli/commands/cloudflare.ts +222 -0
- package/src/Cli/commands/deploy.ts +11 -10
- package/src/Cli/commands/dev.ts +28 -33
- package/src/Cli/commands/login.ts +9 -12
- package/src/Cli/commands/logs.ts +8 -8
- package/src/Cli/commands/profile.ts +14 -16
- package/src/Cli/commands/state.ts +8 -8
- package/src/Cli/commands/tail.ts +8 -8
- package/src/Cli/exec.ts +7 -3
- package/src/Cli/main.ts +23 -5
- package/src/Cli/selectCli.ts +33 -0
- package/src/Cloudflare/Auth/AuthProvider.ts +445 -430
- package/src/Cloudflare/CloudflareEnvironment.ts +3 -2
- package/src/Cloudflare/Credentials.ts +3 -4
- package/src/Cloudflare/Images/Images.ts +121 -0
- package/src/Cloudflare/Images/ImagesBinding.ts +192 -0
- package/src/Cloudflare/Images/index.ts +2 -0
- package/src/Cloudflare/Local/Sidecar.ts +13 -10
- package/src/Cloudflare/Local/SidecarHandlers.ts +8 -13
- package/src/Cloudflare/Local/SidecarServer.ts +6 -1
- package/src/Cloudflare/Logs.ts +115 -1
- package/src/Cloudflare/Providers.ts +9 -0
- package/src/Cloudflare/Queue/Queue.ts +1 -1
- package/src/Cloudflare/Queue/QueueConsumer.ts +262 -60
- package/src/Cloudflare/Queue/QueueEventSource.ts +234 -0
- package/src/Cloudflare/Queue/index.ts +1 -0
- package/src/Cloudflare/R2/R2Bucket.ts +570 -2
- package/src/Cloudflare/StateStore/State.ts +25 -16
- package/src/Cloudflare/Website/StaticSite.ts +11 -1
- package/src/Cloudflare/Workers/InferEnv.ts +7 -3
- package/src/Cloudflare/Workers/LocalWorkerProvider.ts +9 -1
- package/src/Cloudflare/Workers/Worker.ts +130 -231
- package/src/Cloudflare/Workers/WorkerBundle.ts +38 -12
- package/src/Cloudflare/Zone.ts +88 -0
- package/src/Cloudflare/index.ts +1 -0
- package/src/Drizzle/Schema.ts +21 -5
- package/src/GitHub/AuthProvider.ts +221 -217
- package/src/GitHub/Credentials.ts +3 -4
- package/src/GitHub/Providers.ts +4 -0
- package/src/GitHub/Secrets.ts +25 -1
- package/src/GitHub/Variables.ts +54 -0
- package/src/GitHub/index.ts +1 -0
- package/src/Neon/AuthProvider.ts +160 -154
- package/src/Neon/Credentials.ts +3 -4
- package/src/Neon/NeonEnvironment.ts +3 -2
- package/src/Neon/Project.ts +42 -0
- package/src/Neon/Providers.ts +4 -0
- package/src/Neon/api.ts +2 -0
- package/src/Sidecar/RpcClient.ts +8 -7
- package/src/Sidecar/RpcPaths.ts +11 -1
- package/src/Sidecar/RpcServer.ts +97 -24
- package/src/Sidecar/RpcServerBun.ts +41 -0
- package/src/Sidecar/RpcServerNode.ts +51 -0
- package/src/Sidecar/RpcServices.ts +48 -0
- package/src/Stack.ts +8 -0
- package/src/Test/Core.ts +10 -4
- package/src/Test/Vitest.ts +3 -0
- package/src/Util/LocalhostDns.ts +58 -0
- package/src/Util/PlatformServices.ts +3 -1
- package/lib/Cli/commands/bootstrap.d.ts +0 -20
- package/lib/Cli/commands/bootstrap.d.ts.map +0 -1
- package/lib/Cli/commands/bootstrap.js +0 -107
- package/lib/Cli/commands/bootstrap.js.map +0 -1
- package/lib/Sidecar/RpcTransport.d.ts +0 -22
- package/lib/Sidecar/RpcTransport.d.ts.map +0 -1
- package/lib/Sidecar/RpcTransport.js +0 -81
- package/lib/Sidecar/RpcTransport.js.map +0 -1
- package/lib/Test/TestCli.d.ts +0 -19
- package/lib/Test/TestCli.d.ts.map +0 -1
- package/lib/Test/TestCli.js +0 -175
- package/lib/Test/TestCli.js.map +0 -1
- package/src/Cli/commands/bootstrap.ts +0 -216
- package/src/Sidecar/RpcTransport.ts +0 -85
- package/src/Test/TestCli.ts +0 -221
|
@@ -4,7 +4,9 @@ import * as FileSystem from "effect/FileSystem";
|
|
|
4
4
|
import { flow } from "effect/Function";
|
|
5
5
|
import type * as Path from "effect/Path";
|
|
6
6
|
import * as Stream from "effect/Stream";
|
|
7
|
+
import { fileURLToPath } from "node:url";
|
|
7
8
|
import type * as rolldown from "rolldown";
|
|
9
|
+
import Sonda from "sonda/rolldown";
|
|
8
10
|
import * as Artifacts from "../../Artifacts.ts";
|
|
9
11
|
import * as Bundle from "../../Bundle/Bundle.ts";
|
|
10
12
|
import { findCwdForBundle } from "../../Bundle/TempRoot.ts";
|
|
@@ -13,6 +15,7 @@ import {
|
|
|
13
15
|
isDurableObjectExport,
|
|
14
16
|
type DurableObjectExport,
|
|
15
17
|
} from "./DurableObjectNamespace.ts";
|
|
18
|
+
import type { WorkerProps } from "./Worker.ts";
|
|
16
19
|
import { isWorkflowExport, type WorkflowExport } from "./Workflow.ts";
|
|
17
20
|
|
|
18
21
|
export interface WorkerBundleOptions {
|
|
@@ -31,6 +34,7 @@ export interface WorkerBundleOptions {
|
|
|
31
34
|
exports: Record<string, DurableObjectExport | WorkflowExport>;
|
|
32
35
|
};
|
|
33
36
|
stack: { name: string; stage: string };
|
|
37
|
+
userOptions: WorkerProps["build"] | undefined;
|
|
34
38
|
}
|
|
35
39
|
|
|
36
40
|
export const WorkerBundle = Effect.gen(function* () {
|
|
@@ -41,15 +45,7 @@ export const WorkerBundle = Effect.gen(function* () {
|
|
|
41
45
|
const makeOptions = Effect.fnUntraced(function* (
|
|
42
46
|
options: WorkerBundleOptions,
|
|
43
47
|
) {
|
|
44
|
-
const realMain = yield*
|
|
45
|
-
Effect.mapError(
|
|
46
|
-
(cause) =>
|
|
47
|
-
new Bundle.BundleError({
|
|
48
|
-
message: `Failed to find real path for bundle: ${options.main}`,
|
|
49
|
-
cause,
|
|
50
|
-
}),
|
|
51
|
-
),
|
|
52
|
-
);
|
|
48
|
+
const realMain = yield* sanitizeMain(options.main);
|
|
53
49
|
const inputOptions: rolldown.InputOptions = {
|
|
54
50
|
input: realMain,
|
|
55
51
|
cwd: yield* findCwdForBundle(realMain).pipe(
|
|
@@ -72,6 +68,7 @@ export const WorkerBundle = Effect.gen(function* () {
|
|
|
72
68
|
makeEffectVirtualEntry(options.entry.exports, options.stack),
|
|
73
69
|
)
|
|
74
70
|
: undefined,
|
|
71
|
+
...(options.userOptions?.metafile ? [Sonda({ open: false })] : []),
|
|
75
72
|
],
|
|
76
73
|
checks: {
|
|
77
74
|
// Suppress unresolved import warnings for unrelated AWS packages
|
|
@@ -85,14 +82,39 @@ export const WorkerBundle = Effect.gen(function* () {
|
|
|
85
82
|
keepNames: true,
|
|
86
83
|
dir: `.alchemy/bundles/${options.id}`,
|
|
87
84
|
};
|
|
88
|
-
|
|
85
|
+
const extraOptions: Bundle.BundleExtraOptions = {
|
|
86
|
+
pure: options.userOptions?.pure,
|
|
87
|
+
};
|
|
88
|
+
return { inputOptions, outputOptions, extraOptions };
|
|
89
89
|
});
|
|
90
90
|
|
|
91
|
+
const sanitizeMain = (main: string) =>
|
|
92
|
+
Effect.sync(() => {
|
|
93
|
+
try {
|
|
94
|
+
return fileURLToPath(main);
|
|
95
|
+
} catch {
|
|
96
|
+
return main;
|
|
97
|
+
}
|
|
98
|
+
}).pipe(
|
|
99
|
+
Effect.flatMap((path) => fs.realPath(path)),
|
|
100
|
+
Effect.mapError(
|
|
101
|
+
(cause) =>
|
|
102
|
+
new Bundle.BundleError({
|
|
103
|
+
message: `Failed to find real path for bundle: ${main}`,
|
|
104
|
+
cause,
|
|
105
|
+
}),
|
|
106
|
+
),
|
|
107
|
+
);
|
|
108
|
+
|
|
91
109
|
return {
|
|
92
110
|
build: flow(
|
|
93
111
|
makeOptions,
|
|
94
112
|
Effect.flatMap((resolved) =>
|
|
95
|
-
Bundle.build(
|
|
113
|
+
Bundle.build(
|
|
114
|
+
resolved.inputOptions,
|
|
115
|
+
resolved.outputOptions,
|
|
116
|
+
resolved.extraOptions,
|
|
117
|
+
),
|
|
96
118
|
),
|
|
97
119
|
Artifacts.cached("build"),
|
|
98
120
|
),
|
|
@@ -100,7 +122,11 @@ export const WorkerBundle = Effect.gen(function* () {
|
|
|
100
122
|
makeOptions,
|
|
101
123
|
Stream.fromEffect,
|
|
102
124
|
Stream.flatMap((resolved) =>
|
|
103
|
-
Bundle.watch(
|
|
125
|
+
Bundle.watch(
|
|
126
|
+
resolved.inputOptions,
|
|
127
|
+
resolved.outputOptions,
|
|
128
|
+
resolved.extraOptions,
|
|
129
|
+
),
|
|
104
130
|
),
|
|
105
131
|
),
|
|
106
132
|
};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Credentials,
|
|
3
|
+
formatHeaders,
|
|
4
|
+
} from "@distilled.cloud/cloudflare/Credentials";
|
|
5
|
+
import * as Effect from "effect/Effect";
|
|
6
|
+
|
|
7
|
+
export type ZoneReference = string | { zoneId: string; name?: string };
|
|
8
|
+
|
|
9
|
+
export const isZoneId = (zone: string): boolean => /^[a-f0-9]{32}$/i.test(zone);
|
|
10
|
+
|
|
11
|
+
export const matchesZoneHostname = (
|
|
12
|
+
zoneName: string,
|
|
13
|
+
hostname: string,
|
|
14
|
+
): boolean => hostname === zoneName || hostname.endsWith(`.${zoneName}`);
|
|
15
|
+
|
|
16
|
+
export const resolveZoneId = ({
|
|
17
|
+
accountId,
|
|
18
|
+
zone,
|
|
19
|
+
hostname,
|
|
20
|
+
}: {
|
|
21
|
+
accountId: string;
|
|
22
|
+
zone: ZoneReference | undefined;
|
|
23
|
+
hostname: string;
|
|
24
|
+
}) =>
|
|
25
|
+
Effect.gen(function* () {
|
|
26
|
+
if (typeof zone === "object") return zone.zoneId;
|
|
27
|
+
if (typeof zone === "string" && isZoneId(zone)) return zone;
|
|
28
|
+
|
|
29
|
+
const lookup = zone ?? hostname;
|
|
30
|
+
for (const candidate of zoneNameCandidates(lookup)) {
|
|
31
|
+
const match = yield* findZoneByName({ accountId, name: candidate });
|
|
32
|
+
if (match) return match.id;
|
|
33
|
+
}
|
|
34
|
+
return yield* Effect.fail(
|
|
35
|
+
new Error(`Cloudflare zone not found for ${lookup}`),
|
|
36
|
+
);
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
type ZoneListResponse = {
|
|
40
|
+
success: boolean;
|
|
41
|
+
errors?: { message?: string }[];
|
|
42
|
+
result?: { id: string; name: string; account: { id?: string | null } }[];
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
const findZoneByName = ({
|
|
46
|
+
accountId,
|
|
47
|
+
name,
|
|
48
|
+
}: {
|
|
49
|
+
accountId: string;
|
|
50
|
+
name: string;
|
|
51
|
+
}) =>
|
|
52
|
+
Effect.gen(function* () {
|
|
53
|
+
const credentialsEffect = yield* Credentials;
|
|
54
|
+
const credentials = yield* credentialsEffect;
|
|
55
|
+
const url = new URL(`${credentials.apiBaseUrl}/zones`);
|
|
56
|
+
url.searchParams.set("account.id", accountId);
|
|
57
|
+
url.searchParams.set("name", name);
|
|
58
|
+
url.searchParams.set("per_page", "1");
|
|
59
|
+
|
|
60
|
+
const json = yield* Effect.tryPromise({
|
|
61
|
+
try: async () => {
|
|
62
|
+
const response = await fetch(url, {
|
|
63
|
+
headers: formatHeaders(credentials),
|
|
64
|
+
});
|
|
65
|
+
return (await response.json()) as ZoneListResponse;
|
|
66
|
+
},
|
|
67
|
+
catch: (cause) => new Error(`Failed to list Cloudflare zones`, { cause }),
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
if (!json.success) {
|
|
71
|
+
return yield* Effect.fail(
|
|
72
|
+
new Error(
|
|
73
|
+
json.errors?.map((error) => error.message).join(", ") ??
|
|
74
|
+
`Failed to list Cloudflare zones`,
|
|
75
|
+
),
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return json.result?.find(
|
|
80
|
+
(candidate) =>
|
|
81
|
+
candidate.name === name && candidate.account.id === accountId,
|
|
82
|
+
);
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
const zoneNameCandidates = (hostname: string): string[] => {
|
|
86
|
+
const parts = hostname.split(".");
|
|
87
|
+
return parts.slice(0, -1).map((_, index) => parts.slice(index).join("."));
|
|
88
|
+
};
|
package/src/Cloudflare/index.ts
CHANGED
|
@@ -6,6 +6,7 @@ export * from "./Container/index.ts";
|
|
|
6
6
|
export * from "./D1/index.ts";
|
|
7
7
|
export * from "./EdgeSession.ts";
|
|
8
8
|
export * from "./Hyperdrive/index.ts";
|
|
9
|
+
export * from "./Images/index.ts";
|
|
9
10
|
export * from "./KV/index.ts";
|
|
10
11
|
export * from "./Providers.ts";
|
|
11
12
|
export * from "./Queue/index.ts";
|
package/src/Drizzle/Schema.ts
CHANGED
|
@@ -170,10 +170,12 @@ export const SchemaProvider = () =>
|
|
|
170
170
|
});
|
|
171
171
|
|
|
172
172
|
/**
|
|
173
|
-
*
|
|
174
|
-
*
|
|
173
|
+
* Run drizzle-kit's diff against the latest stored snapshot and
|
|
174
|
+
* return whether any SQL statements would be emitted. Used by both
|
|
175
|
+
* `diff` (to decide whether the resource actually needs an update)
|
|
176
|
+
* and `regenerate` (to decide whether to write a new migration dir).
|
|
175
177
|
*/
|
|
176
|
-
const
|
|
178
|
+
const detectDrift = (props: SchemaProps) =>
|
|
177
179
|
Effect.gen(function* () {
|
|
178
180
|
const out = resolveOut(props);
|
|
179
181
|
const dialect = props.dialect ?? "postgres";
|
|
@@ -203,6 +205,16 @@ export const SchemaProvider = () =>
|
|
|
203
205
|
catch: (cause) =>
|
|
204
206
|
new Error(`drizzle-kit generateMigration failed: ${cause}`),
|
|
205
207
|
});
|
|
208
|
+
return { out, cur, prevEntry, sqlStatements };
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Generate a new migration directory if the schema has drifted from
|
|
213
|
+
* the latest snapshot. Returns the new state regardless.
|
|
214
|
+
*/
|
|
215
|
+
const regenerate = (props: SchemaProps) =>
|
|
216
|
+
Effect.gen(function* () {
|
|
217
|
+
const { out, cur, sqlStatements } = yield* detectDrift(props);
|
|
206
218
|
|
|
207
219
|
if (sqlStatements.length > 0) {
|
|
208
220
|
yield* fs.makeDirectory(out, { recursive: true });
|
|
@@ -231,8 +243,12 @@ export const SchemaProvider = () =>
|
|
|
231
243
|
diff: Effect.fn(function* ({ news, output }) {
|
|
232
244
|
if (!isResolved(news)) return undefined;
|
|
233
245
|
if (!output) return undefined;
|
|
234
|
-
//
|
|
235
|
-
//
|
|
246
|
+
// Only flag an update when drizzle-kit would emit new SQL —
|
|
247
|
+
// otherwise downstream resources (e.g. Neon.Branch) would see
|
|
248
|
+
// `schema.out` as an unresolved Output during plan and cascade
|
|
249
|
+
// into spurious updates of their own.
|
|
250
|
+
const { sqlStatements } = yield* detectDrift(news);
|
|
251
|
+
if (sqlStatements.length === 0) return undefined;
|
|
236
252
|
return { action: "update" } as const;
|
|
237
253
|
}),
|
|
238
254
|
read: Effect.fn(function* ({ olds, output }) {
|