alchemy-effect 0.0.0 → 0.2.0
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/README.md +179 -0
- package/bin/alchemy-effect.js +15 -0
- package/bin/alchemy-effect.js.map +1 -0
- package/bin/alchemy-effect.ts +10 -0
- package/lib/app.d.ts +7 -2
- package/lib/app.d.ts.map +1 -1
- package/lib/app.js +1 -0
- package/lib/app.js.map +1 -1
- package/lib/apply.d.ts +57 -1
- package/lib/apply.d.ts.map +1 -1
- package/lib/apply.js +141 -55
- package/lib/apply.js.map +1 -1
- package/lib/aws/account.d.ts +18 -0
- package/lib/aws/account.d.ts.map +1 -0
- package/lib/aws/account.js +18 -0
- package/lib/aws/account.js.map +1 -0
- package/lib/aws/arn.d.ts +2 -0
- package/lib/aws/arn.d.ts.map +1 -0
- package/lib/aws/arn.js +1 -0
- package/lib/aws/arn.js.map +1 -0
- package/lib/aws/assets.d.ts +8 -0
- package/lib/aws/assets.d.ts.map +1 -0
- package/lib/aws/assets.js +4 -0
- package/lib/aws/assets.js.map +1 -0
- package/lib/aws/bundle.d.ts +4 -0
- package/lib/aws/bundle.d.ts.map +1 -0
- package/lib/aws/bundle.js +4 -0
- package/lib/aws/bundle.js.map +1 -0
- package/lib/aws/client.d.ts +8 -0
- package/lib/aws/client.d.ts.map +1 -0
- package/lib/aws/client.js +28 -0
- package/lib/aws/client.js.map +1 -0
- package/lib/aws/credentials.d.ts +146 -0
- package/lib/aws/credentials.d.ts.map +1 -0
- package/lib/aws/credentials.js +170 -0
- package/lib/aws/credentials.js.map +1 -0
- package/lib/aws/dynamodb/attribute-value.d.ts +20 -0
- package/lib/aws/dynamodb/attribute-value.d.ts.map +1 -0
- package/lib/aws/dynamodb/attribute-value.js +217 -0
- package/lib/aws/dynamodb/attribute-value.js.map +1 -0
- package/lib/aws/dynamodb/client.d.ts +12 -0
- package/lib/aws/dynamodb/client.d.ts.map +1 -0
- package/lib/aws/dynamodb/client.js +11 -0
- package/lib/aws/dynamodb/client.js.map +1 -0
- package/lib/aws/dynamodb/expr.d.ts +41 -0
- package/lib/aws/dynamodb/expr.d.ts.map +1 -0
- package/lib/aws/dynamodb/expr.js +1 -0
- package/lib/aws/dynamodb/expr.js.map +1 -0
- package/lib/aws/dynamodb/index.d.ts +9 -0
- package/lib/aws/dynamodb/index.d.ts.map +1 -0
- package/lib/aws/dynamodb/index.js +10 -0
- package/lib/aws/dynamodb/index.js.map +1 -0
- package/lib/aws/dynamodb/projection.d.ts +25 -0
- package/lib/aws/dynamodb/projection.d.ts.map +1 -0
- package/lib/aws/dynamodb/projection.js +1 -0
- package/lib/aws/dynamodb/projection.js.map +1 -0
- package/lib/aws/dynamodb/secondary-index.d.ts +25 -0
- package/lib/aws/dynamodb/secondary-index.d.ts.map +1 -0
- package/lib/aws/dynamodb/secondary-index.js +4 -0
- package/lib/aws/dynamodb/secondary-index.js.map +1 -0
- package/lib/aws/dynamodb/table.d.ts +56 -0
- package/lib/aws/dynamodb/table.d.ts.map +1 -0
- package/lib/aws/dynamodb/table.get-item.d.ts +55 -0
- package/lib/aws/dynamodb/table.get-item.d.ts.map +1 -0
- package/lib/aws/dynamodb/table.get-item.js +75 -0
- package/lib/aws/dynamodb/table.get-item.js.map +1 -0
- package/lib/aws/dynamodb/table.js +4 -0
- package/lib/aws/dynamodb/table.js.map +1 -0
- package/lib/aws/dynamodb/table.provider.d.ts +8 -0
- package/lib/aws/dynamodb/table.provider.d.ts.map +1 -0
- package/lib/aws/dynamodb/table.provider.js +199 -0
- package/lib/aws/dynamodb/table.provider.js.map +1 -0
- package/lib/aws/ec2/client.d.ts +12 -0
- package/lib/aws/ec2/client.d.ts.map +1 -0
- package/lib/aws/ec2/client.js +11 -0
- package/lib/aws/ec2/client.js.map +1 -0
- package/lib/aws/ec2/index.d.ts +4 -0
- package/lib/aws/ec2/index.d.ts.map +1 -0
- package/lib/aws/ec2/index.js +4 -0
- package/lib/aws/ec2/index.js.map +1 -0
- package/lib/aws/ec2/vpc.d.ts +131 -0
- package/lib/aws/ec2/vpc.d.ts.map +1 -0
- package/lib/aws/ec2/vpc.js +3 -0
- package/lib/aws/ec2/vpc.js.map +1 -0
- package/lib/aws/ec2/vpc.provider.d.ts +7 -0
- package/lib/aws/ec2/vpc.provider.d.ts.map +1 -0
- package/lib/aws/ec2/vpc.provider.js +198 -0
- package/lib/aws/ec2/vpc.provider.js.map +1 -0
- package/lib/aws/iam.d.ts +23 -0
- package/lib/aws/iam.d.ts.map +1 -0
- package/lib/aws/iam.js +7 -0
- package/lib/aws/iam.js.map +1 -0
- package/lib/aws/index.d.ts +32 -0
- package/lib/aws/index.d.ts.map +1 -0
- package/lib/aws/index.js +23 -0
- package/lib/aws/index.js.map +1 -0
- package/lib/aws/lambda/client.d.ts +8 -0
- package/lib/aws/lambda/client.d.ts.map +1 -0
- package/lib/aws/lambda/client.js +7 -0
- package/lib/aws/lambda/client.js.map +1 -0
- package/lib/aws/lambda/consume.d.ts +17 -0
- package/lib/aws/lambda/consume.d.ts.map +1 -0
- package/lib/aws/lambda/consume.js +30 -0
- package/lib/aws/lambda/consume.js.map +1 -0
- package/lib/aws/lambda/function.d.ts +41 -0
- package/lib/aws/lambda/function.d.ts.map +1 -0
- package/lib/aws/lambda/function.handler.d.ts +7 -0
- package/lib/aws/lambda/function.handler.d.ts.map +1 -0
- package/lib/aws/lambda/function.handler.js +8 -0
- package/lib/aws/lambda/function.handler.js.map +1 -0
- package/lib/aws/lambda/function.invoke.d.ts +10 -0
- package/lib/aws/lambda/function.invoke.d.ts.map +1 -0
- package/lib/aws/lambda/function.invoke.js +31 -0
- package/lib/aws/lambda/function.invoke.js.map +1 -0
- package/lib/aws/lambda/function.js +3 -0
- package/lib/aws/lambda/function.js.map +1 -0
- package/lib/aws/lambda/function.provider.d.ts +9 -0
- package/lib/aws/lambda/function.provider.d.ts.map +1 -0
- package/lib/aws/lambda/function.provider.js +465 -0
- package/lib/aws/lambda/function.provider.js.map +1 -0
- package/lib/aws/lambda/index.d.ts +8 -0
- package/lib/aws/lambda/index.d.ts.map +1 -0
- package/lib/aws/lambda/index.js +9 -0
- package/lib/aws/lambda/index.js.map +1 -0
- package/lib/aws/lambda/serve.d.ts +14 -0
- package/lib/aws/lambda/serve.d.ts.map +1 -0
- package/lib/aws/lambda/serve.js +7 -0
- package/lib/aws/lambda/serve.js.map +1 -0
- package/lib/aws/parse-ini.d.ts +4 -0
- package/lib/aws/parse-ini.d.ts.map +1 -0
- package/lib/aws/parse-ini.js +67 -0
- package/lib/aws/parse-ini.js.map +1 -0
- package/lib/aws/profile.d.ts +6 -0
- package/lib/aws/profile.d.ts.map +1 -0
- package/lib/aws/profile.js +4 -0
- package/lib/aws/profile.js.map +1 -0
- package/lib/aws/region.d.ts +19 -0
- package/lib/aws/region.d.ts.map +1 -0
- package/lib/aws/region.js +21 -0
- package/lib/aws/region.js.map +1 -0
- package/lib/aws/s3.d.ts +8 -0
- package/lib/aws/s3.d.ts.map +1 -0
- package/lib/aws/s3.js +7 -0
- package/lib/aws/s3.js.map +1 -0
- package/lib/aws/sqs/client.d.ts +12 -0
- package/lib/aws/sqs/client.d.ts.map +1 -0
- package/lib/aws/sqs/client.js +11 -0
- package/lib/aws/sqs/client.js.map +1 -0
- package/lib/aws/sqs/index.d.ts +7 -0
- package/lib/aws/sqs/index.d.ts.map +1 -0
- package/lib/aws/sqs/index.js +7 -0
- package/lib/aws/sqs/index.js.map +1 -0
- package/lib/aws/sqs/queue.consume.d.ts +12 -0
- package/lib/aws/sqs/queue.consume.d.ts.map +1 -0
- package/lib/aws/sqs/queue.consume.js +3 -0
- package/lib/aws/sqs/queue.consume.js.map +1 -0
- package/lib/aws/sqs/queue.d.ts +79 -0
- package/lib/aws/sqs/queue.d.ts.map +1 -0
- package/lib/aws/sqs/queue.event-source.d.ts +20 -0
- package/lib/aws/sqs/queue.event-source.d.ts.map +1 -0
- package/lib/aws/sqs/queue.event-source.js +148 -0
- package/lib/aws/sqs/queue.event-source.js.map +1 -0
- package/lib/aws/sqs/queue.js +3 -0
- package/lib/aws/sqs/queue.js.map +1 -0
- package/lib/aws/sqs/queue.provider.d.ts +7 -0
- package/lib/aws/sqs/queue.provider.d.ts.map +1 -0
- package/lib/aws/sqs/queue.provider.js +79 -0
- package/lib/aws/sqs/queue.provider.js.map +1 -0
- package/lib/aws/sqs/queue.send-message.d.ts +11 -0
- package/lib/aws/sqs/queue.send-message.d.ts.map +1 -0
- package/lib/aws/sqs/queue.send-message.js +32 -0
- package/lib/aws/sqs/queue.send-message.js.map +1 -0
- package/lib/aws/sts.d.ts +8 -0
- package/lib/aws/sts.d.ts.map +1 -0
- package/lib/aws/sts.js +7 -0
- package/lib/aws/sts.js.map +1 -0
- package/lib/aws/zip.d.ts +3 -0
- package/lib/aws/zip.d.ts.map +1 -0
- package/lib/aws/zip.js +12 -0
- package/lib/aws/zip.js.map +1 -0
- package/lib/binding.d.ts +70 -22
- package/lib/binding.d.ts.map +1 -1
- package/lib/binding.js.map +1 -1
- package/lib/capability.d.ts +38 -0
- package/lib/capability.d.ts.map +1 -1
- package/lib/cli/approve.d.ts +4 -0
- package/lib/cli/approve.d.ts.map +1 -0
- package/lib/cli/approve.js +18 -0
- package/lib/cli/approve.js.map +1 -0
- package/lib/cli/clack.d.ts +14 -0
- package/lib/cli/clack.d.ts.map +1 -0
- package/lib/cli/clack.js +12 -0
- package/lib/cli/clack.js.map +1 -0
- package/lib/cli/components/ApprovePlan.d.ts +8 -0
- package/lib/cli/components/ApprovePlan.d.ts.map +1 -0
- package/lib/cli/components/ApprovePlan.js +30 -0
- package/lib/cli/components/ApprovePlan.js.map +1 -0
- package/lib/cli/components/Plan.d.ts +7 -0
- package/lib/cli/components/Plan.d.ts.map +1 -0
- package/lib/cli/components/Plan.js +100 -0
- package/lib/cli/components/Plan.js.map +1 -0
- package/lib/cli/components/PlanProgress.d.ts +9 -0
- package/lib/cli/components/PlanProgress.d.ts.map +1 -0
- package/lib/cli/components/PlanProgress.js +166 -0
- package/lib/cli/components/PlanProgress.js.map +1 -0
- package/lib/cli/index.d.ts +449 -0
- package/lib/cli/index.d.ts.map +1 -0
- package/lib/cli/index.js +39912 -0
- package/lib/cli/index.js.map +1 -0
- package/lib/cli/main.d.ts +2 -0
- package/lib/cli/main.d.ts.map +1 -0
- package/lib/cli/main.js +1 -0
- package/lib/cli/main.js.map +1 -0
- package/lib/cli/plan.d.ts +13 -0
- package/lib/cli/plan.d.ts.map +1 -0
- package/lib/cli/plan.js +1 -0
- package/lib/cli/plan.js.map +1 -0
- package/lib/cli/progress.d.ts +7 -0
- package/lib/cli/progress.d.ts.map +1 -0
- package/lib/cli/progress.js +30 -0
- package/lib/cli/progress.js.map +1 -0
- package/lib/cli/spinner.d.ts +2 -0
- package/lib/cli/spinner.d.ts.map +1 -0
- package/lib/cli/spinner.js +13 -0
- package/lib/cli/spinner.js.map +1 -0
- package/lib/cloudflare/api.d.ts +36 -0
- package/lib/cloudflare/api.d.ts.map +1 -0
- package/lib/cloudflare/api.js +99 -0
- package/lib/cloudflare/api.js.map +1 -0
- package/lib/cloudflare/context.d.ts +27 -0
- package/lib/cloudflare/context.d.ts.map +1 -0
- package/lib/cloudflare/context.js +24 -0
- package/lib/cloudflare/context.js.map +1 -0
- package/lib/cloudflare/index.d.ts +6 -0
- package/lib/cloudflare/index.d.ts.map +1 -0
- package/lib/cloudflare/index.js +5 -0
- package/lib/cloudflare/index.js.map +1 -0
- package/lib/cloudflare/kv/index.d.ts +4 -0
- package/lib/cloudflare/kv/index.d.ts.map +1 -0
- package/lib/cloudflare/kv/index.js +4 -0
- package/lib/cloudflare/kv/index.js.map +1 -0
- package/lib/cloudflare/kv/namespace.binding.d.ts +8 -0
- package/lib/cloudflare/kv/namespace.binding.d.ts.map +1 -0
- package/lib/cloudflare/kv/namespace.binding.js +15 -0
- package/lib/cloudflare/kv/namespace.binding.js.map +1 -0
- package/lib/cloudflare/kv/namespace.client.d.ts +11 -0
- package/lib/cloudflare/kv/namespace.client.d.ts.map +1 -0
- package/lib/cloudflare/kv/namespace.client.js +31 -0
- package/lib/cloudflare/kv/namespace.client.js.map +1 -0
- package/lib/cloudflare/kv/namespace.d.ts +23 -0
- package/lib/cloudflare/kv/namespace.d.ts.map +1 -0
- package/lib/cloudflare/kv/namespace.js +3 -0
- package/lib/cloudflare/kv/namespace.js.map +1 -0
- package/lib/cloudflare/kv/namespace.provider.d.ts +5 -0
- package/lib/cloudflare/kv/namespace.provider.d.ts.map +1 -0
- package/lib/cloudflare/kv/namespace.provider.js +80 -0
- package/lib/cloudflare/kv/namespace.provider.js.map +1 -0
- package/lib/cloudflare/live.d.ts +11 -0
- package/lib/cloudflare/live.d.ts.map +1 -0
- package/lib/cloudflare/live.js +18 -0
- package/lib/cloudflare/live.js.map +1 -0
- package/lib/cloudflare/r2/bucket.binding.d.ts +8 -0
- package/lib/cloudflare/r2/bucket.binding.d.ts.map +1 -0
- package/lib/cloudflare/r2/bucket.binding.js +18 -0
- package/lib/cloudflare/r2/bucket.binding.js.map +1 -0
- package/lib/cloudflare/r2/bucket.client.d.ts +8 -0
- package/lib/cloudflare/r2/bucket.client.d.ts.map +1 -0
- package/lib/cloudflare/r2/bucket.client.js +9 -0
- package/lib/cloudflare/r2/bucket.client.js.map +1 -0
- package/lib/cloudflare/r2/bucket.d.ts +32 -0
- package/lib/cloudflare/r2/bucket.d.ts.map +1 -0
- package/lib/cloudflare/r2/bucket.del.d.ts +4 -0
- package/lib/cloudflare/r2/bucket.del.d.ts.map +1 -0
- package/lib/cloudflare/r2/bucket.del.js +7 -0
- package/lib/cloudflare/r2/bucket.del.js.map +1 -0
- package/lib/cloudflare/r2/bucket.get.d.ts +5 -0
- package/lib/cloudflare/r2/bucket.get.d.ts.map +1 -0
- package/lib/cloudflare/r2/bucket.get.js +7 -0
- package/lib/cloudflare/r2/bucket.get.js.map +1 -0
- package/lib/cloudflare/r2/bucket.head.d.ts +4 -0
- package/lib/cloudflare/r2/bucket.head.d.ts.map +1 -0
- package/lib/cloudflare/r2/bucket.head.js +7 -0
- package/lib/cloudflare/r2/bucket.head.js.map +1 -0
- package/lib/cloudflare/r2/bucket.js +3 -0
- package/lib/cloudflare/r2/bucket.js.map +1 -0
- package/lib/cloudflare/r2/bucket.list.d.ts +5 -0
- package/lib/cloudflare/r2/bucket.list.d.ts.map +1 -0
- package/lib/cloudflare/r2/bucket.list.js +7 -0
- package/lib/cloudflare/r2/bucket.list.js.map +1 -0
- package/lib/cloudflare/r2/bucket.multipart.d.ts +19 -0
- package/lib/cloudflare/r2/bucket.multipart.d.ts.map +1 -0
- package/lib/cloudflare/r2/bucket.multipart.js +25 -0
- package/lib/cloudflare/r2/bucket.multipart.js.map +1 -0
- package/lib/cloudflare/r2/bucket.provider.d.ts +5 -0
- package/lib/cloudflare/r2/bucket.provider.d.ts.map +1 -0
- package/lib/cloudflare/r2/bucket.provider.js +66 -0
- package/lib/cloudflare/r2/bucket.provider.js.map +1 -0
- package/lib/cloudflare/r2/bucket.put.d.ts +6 -0
- package/lib/cloudflare/r2/bucket.put.d.ts.map +1 -0
- package/lib/cloudflare/r2/bucket.put.js +8 -0
- package/lib/cloudflare/r2/bucket.put.js.map +1 -0
- package/lib/cloudflare/r2/index.d.ts +10 -0
- package/lib/cloudflare/r2/index.d.ts.map +1 -0
- package/lib/cloudflare/r2/index.js +10 -0
- package/lib/cloudflare/r2/index.js.map +1 -0
- package/lib/cloudflare/stream.d.ts +10 -0
- package/lib/cloudflare/stream.d.ts.map +1 -0
- package/lib/cloudflare/stream.js +16 -0
- package/lib/cloudflare/stream.js.map +1 -0
- package/lib/cloudflare/worker/assets.fetch.d.ts +8 -0
- package/lib/cloudflare/worker/assets.fetch.d.ts.map +1 -0
- package/lib/cloudflare/worker/assets.fetch.js +11 -0
- package/lib/cloudflare/worker/assets.fetch.js.map +1 -0
- package/lib/cloudflare/worker/assets.provider.d.ts +66 -0
- package/lib/cloudflare/worker/assets.provider.d.ts.map +1 -0
- package/lib/cloudflare/worker/assets.provider.js +145 -0
- package/lib/cloudflare/worker/assets.provider.js.map +1 -0
- package/lib/cloudflare/worker/index.d.ts +6 -0
- package/lib/cloudflare/worker/index.d.ts.map +1 -0
- package/lib/cloudflare/worker/index.js +5 -0
- package/lib/cloudflare/worker/index.js.map +1 -0
- package/lib/cloudflare/worker/worker.d.ts +67 -0
- package/lib/cloudflare/worker/worker.d.ts.map +1 -0
- package/lib/cloudflare/worker/worker.handler.d.ts +11 -0
- package/lib/cloudflare/worker/worker.handler.d.ts.map +1 -0
- package/lib/cloudflare/worker/worker.handler.js +15 -0
- package/lib/cloudflare/worker/worker.handler.js.map +1 -0
- package/lib/cloudflare/worker/worker.js +4 -0
- package/lib/cloudflare/worker/worker.js.map +1 -0
- package/lib/cloudflare/worker/worker.provider.d.ts +10 -0
- package/lib/cloudflare/worker/worker.provider.d.ts.map +1 -0
- package/lib/cloudflare/worker/worker.provider.js +193 -0
- package/lib/cloudflare/worker/worker.provider.js.map +1 -0
- package/lib/cloudflare/worker/worker.serve.d.ts +39 -0
- package/lib/cloudflare/worker/worker.serve.d.ts.map +1 -0
- package/lib/cloudflare/worker/worker.serve.js +4 -0
- package/lib/cloudflare/worker/worker.serve.js.map +1 -0
- package/lib/destroy.d.ts +1 -3
- package/lib/destroy.d.ts.map +1 -1
- package/lib/destroy.js +5 -0
- package/lib/destroy.js.map +1 -1
- package/lib/dot-alchemy.d.ts +3 -2
- package/lib/dot-alchemy.d.ts.map +1 -1
- package/lib/dot-alchemy.js +3 -2
- package/lib/dot-alchemy.js.map +1 -1
- package/lib/esbuild.d.ts +28 -0
- package/lib/esbuild.d.ts.map +1 -0
- package/lib/esbuild.js +63 -0
- package/lib/esbuild.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -0
- package/lib/index.js.map +1 -1
- package/lib/plan.d.ts +19 -8
- package/lib/plan.d.ts.map +1 -1
- package/lib/plan.js +144 -72
- package/lib/plan.js.map +1 -1
- package/lib/policy.d.ts +19 -1
- package/lib/policy.d.ts.map +1 -1
- package/lib/policy.js +10 -1
- package/lib/policy.js.map +1 -1
- package/lib/provider.d.ts +2 -2
- package/lib/provider.d.ts.map +1 -1
- package/lib/resource.d.ts +2 -10
- package/lib/resource.d.ts.map +1 -1
- package/lib/resource.js +1 -0
- package/lib/resource.js.map +1 -1
- package/lib/runtime.d.ts +1 -1
- package/lib/runtime.d.ts.map +1 -1
- package/lib/schema.d.ts +37 -0
- package/lib/schema.d.ts.map +1 -0
- package/lib/schema.js +61 -0
- package/lib/schema.js.map +1 -0
- package/lib/sha256.d.ts +5 -0
- package/lib/sha256.d.ts.map +1 -0
- package/lib/sha256.js +16 -0
- package/lib/sha256.js.map +1 -0
- package/lib/state.d.ts +3 -2
- package/lib/state.d.ts.map +1 -1
- package/lib/state.js +3 -2
- package/lib/state.js.map +1 -1
- package/lib/tags.d.ts +17 -0
- package/lib/tags.d.ts.map +1 -0
- package/lib/tags.js +22 -0
- package/lib/tags.js.map +1 -0
- package/lib/test.d.ts +14 -0
- package/lib/test.d.ts.map +1 -0
- package/lib/test.js +28 -0
- package/lib/test.js.map +1 -0
- package/lib/tsconfig.test.tsbuildinfo +1 -0
- package/lib/type.d.ts +3 -0
- package/lib/type.d.ts.map +1 -0
- package/lib/type.js +3 -0
- package/lib/type.js.map +1 -0
- package/package.json +115 -3
- package/src/app.ts +8 -7
- package/src/apply.ts +251 -93
- package/src/aws/account.ts +37 -0
- package/src/aws/arn.ts +1 -0
- package/src/aws/assets.ts +8 -0
- package/src/aws/bundle.ts +5 -0
- package/src/aws/client.ts +47 -0
- package/src/aws/credentials.ts +409 -0
- package/src/aws/dynamodb/attribute-value.ts +240 -0
- package/src/aws/dynamodb/client.ts +20 -0
- package/src/aws/dynamodb/expr.ts +90 -0
- package/src/aws/dynamodb/index.ts +12 -0
- package/src/aws/dynamodb/projection.ts +159 -0
- package/src/aws/dynamodb/secondary-index.ts +45 -0
- package/src/aws/dynamodb/table.get-item.ts +177 -0
- package/src/aws/dynamodb/table.provider.ts +280 -0
- package/src/aws/dynamodb/table.ts +156 -0
- package/src/aws/ec2/client.ts +20 -0
- package/src/aws/ec2/index.ts +3 -0
- package/src/aws/ec2/vpc.provider.ts +285 -0
- package/src/aws/ec2/vpc.ts +152 -0
- package/src/aws/iam.ts +30 -0
- package/src/aws/index.ts +54 -0
- package/src/aws/lambda/client.ts +14 -0
- package/src/aws/lambda/consume.ts +63 -0
- package/src/aws/lambda/function.handler.ts +30 -0
- package/src/aws/lambda/function.invoke.ts +40 -0
- package/src/aws/lambda/function.provider.ts +655 -0
- package/src/aws/lambda/function.ts +45 -0
- package/src/aws/lambda/index.ts +9 -0
- package/src/aws/lambda/serve.ts +29 -0
- package/src/aws/parse-ini.ts +80 -0
- package/src/aws/profile.ts +6 -0
- package/src/aws/region.ts +37 -0
- package/src/aws/s3.ts +10 -0
- package/src/aws/sqs/client.ts +20 -0
- package/src/aws/sqs/index.ts +6 -0
- package/src/aws/sqs/queue.consume.ts +13 -0
- package/src/aws/sqs/queue.event-source.ts +253 -0
- package/src/aws/sqs/queue.provider.ts +94 -0
- package/src/aws/sqs/queue.send-message.ts +51 -0
- package/src/aws/sqs/queue.ts +86 -0
- package/src/aws/sts.ts +13 -0
- package/src/aws/zip.ts +17 -0
- package/src/binding.ts +121 -25
- package/src/capability.ts +44 -0
- package/src/cli/approve.tsx +30 -0
- package/src/cli/clack.ts +22 -0
- package/src/cli/components/ApprovePlan.tsx +44 -0
- package/src/cli/components/Plan.tsx +154 -0
- package/src/cli/components/PlanProgress.tsx +206 -0
- package/src/cli/index.ts +6 -0
- package/src/cli/main.ts +0 -0
- package/src/cli/plan.ts +16 -0
- package/src/cli/progress.tsx +46 -0
- package/src/cli/spinner.ts +14 -0
- package/src/cloudflare/api.ts +152 -0
- package/src/cloudflare/context.ts +49 -0
- package/src/cloudflare/index.ts +6 -0
- package/src/cloudflare/kv/index.ts +3 -0
- package/src/cloudflare/kv/namespace.binding.ts +25 -0
- package/src/cloudflare/kv/namespace.client.ts +70 -0
- package/src/cloudflare/kv/namespace.provider.ts +99 -0
- package/src/cloudflare/kv/namespace.ts +29 -0
- package/src/cloudflare/live.ts +38 -0
- package/src/cloudflare/r2/bucket.binding.ts +27 -0
- package/src/cloudflare/r2/bucket.client.ts +22 -0
- package/src/cloudflare/r2/bucket.del.ts +11 -0
- package/src/cloudflare/r2/bucket.get.ts +13 -0
- package/src/cloudflare/r2/bucket.head.ts +11 -0
- package/src/cloudflare/r2/bucket.list.ts +12 -0
- package/src/cloudflare/r2/bucket.multipart.ts +55 -0
- package/src/cloudflare/r2/bucket.provider.ts +83 -0
- package/src/cloudflare/r2/bucket.put.ts +17 -0
- package/src/cloudflare/r2/bucket.ts +38 -0
- package/src/cloudflare/r2/index.ts +9 -0
- package/src/cloudflare/stream.ts +21 -0
- package/src/cloudflare/worker/assets.fetch.ts +27 -0
- package/src/cloudflare/worker/assets.provider.ts +249 -0
- package/src/cloudflare/worker/index.ts +6 -0
- package/src/cloudflare/worker/worker.handler.ts +39 -0
- package/src/cloudflare/worker/worker.provider.ts +246 -0
- package/src/cloudflare/worker/worker.serve.ts +19 -0
- package/src/cloudflare/worker/worker.ts +76 -0
- package/src/destroy.ts +6 -3
- package/src/dot-alchemy.ts +3 -2
- package/src/esbuild.ts +98 -0
- package/src/index.ts +5 -0
- package/src/plan.ts +233 -120
- package/src/policy.ts +55 -2
- package/src/provider.ts +2 -2
- package/src/resource.ts +3 -2
- package/src/runtime.ts +1 -1
- package/src/schema.ts +102 -0
- package/src/sha256.ts +23 -0
- package/src/state.ts +3 -2
- package/src/tags.ts +38 -0
- package/src/test.ts +71 -0
- package/src/type.ts +2 -0
|
@@ -0,0 +1,449 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import * as Layer from "effect/Layer";
|
|
3
|
+
import * as Effect$1 from "effect/Effect";
|
|
4
|
+
import { Effect } from "effect/Effect";
|
|
5
|
+
import * as Context from "effect/Context";
|
|
6
|
+
import "@effect/platform/FileSystem";
|
|
7
|
+
import "@effect/platform/Path";
|
|
8
|
+
import * as S from "effect/Schema";
|
|
9
|
+
import * as effect_Types0 from "effect/Types";
|
|
10
|
+
import * as effect_Cause0 from "effect/Cause";
|
|
11
|
+
import { Types } from "effect";
|
|
12
|
+
|
|
13
|
+
//#region src/resource.d.ts
|
|
14
|
+
interface Resource<Type extends string = string, ID$1 extends string = string, Props = unknown, Attrs = unknown> {
|
|
15
|
+
id: ID$1;
|
|
16
|
+
type: Type;
|
|
17
|
+
props: Props;
|
|
18
|
+
attr: Attrs;
|
|
19
|
+
parent: unknown;
|
|
20
|
+
new (): Resource<Type, ID$1, Props, Attrs>;
|
|
21
|
+
}
|
|
22
|
+
interface ResourceTags<R extends Resource> {
|
|
23
|
+
of<S$1 extends ProviderService<R>>(service: S$1): S$1;
|
|
24
|
+
tag: Context.TagClass<Provider<R>, R["type"], ProviderService<R>>;
|
|
25
|
+
effect<Err, Req>(eff: Effect<ProviderService<R>, Err, Req>): Layer.Layer<Provider<R>, Err, Req>;
|
|
26
|
+
succeed(service: ProviderService<R>): Layer.Layer<Provider<R>>;
|
|
27
|
+
}
|
|
28
|
+
declare const Resource: <Ctor extends (id: string, props: any) => Resource>(type: ReturnType<Ctor>["type"]) => Ctor & {
|
|
29
|
+
new (): ReturnType<Ctor> & {
|
|
30
|
+
parent: ReturnType<Ctor>;
|
|
31
|
+
};
|
|
32
|
+
type: ReturnType<Ctor>["type"];
|
|
33
|
+
provider: ResourceTags<ReturnType<Ctor>>;
|
|
34
|
+
} & {
|
|
35
|
+
type: ReturnType<Ctor>["type"];
|
|
36
|
+
provider: ResourceTags<ReturnType<Ctor>>;
|
|
37
|
+
};
|
|
38
|
+
//#endregion
|
|
39
|
+
//#region src/service.d.ts
|
|
40
|
+
interface IService<ID$1 extends string = string, F extends Runtime = Runtime, Handler extends RuntimeHandler = RuntimeHandler, Props extends RuntimeProps<F, any> = RuntimeProps<F, any>, Attr = (F & {
|
|
41
|
+
props: Props;
|
|
42
|
+
})["attr"]> extends Resource<F["type"], ID$1, Props, Attr> {
|
|
43
|
+
kind: "Service";
|
|
44
|
+
type: F["type"];
|
|
45
|
+
id: ID$1;
|
|
46
|
+
runtime: F;
|
|
47
|
+
/**
|
|
48
|
+
* The raw handler function as passed in to the Runtime.
|
|
49
|
+
*
|
|
50
|
+
* @internal phantom type
|
|
51
|
+
*/
|
|
52
|
+
impl: Handler;
|
|
53
|
+
/**
|
|
54
|
+
* An Effect that produces a handler stripped of its Infrastructure-time-only Capabilities.
|
|
55
|
+
*/
|
|
56
|
+
handler: Effect<(...inputs: Parameters<Handler>) => Effect<Effect.Success<ReturnType<Handler>>, Effect.Error<ReturnType<Handler>>, never>, never, Exclude<Effect.Context<ReturnType<Handler>>, Capability>>;
|
|
57
|
+
props: Props;
|
|
58
|
+
/** @internal phantom type of this resource's output attributes */
|
|
59
|
+
attr: Attr;
|
|
60
|
+
/** @internal phantom type of this resource's parent */
|
|
61
|
+
parent: unknown;
|
|
62
|
+
}
|
|
63
|
+
interface Service<ID$1 extends string = string, F extends Runtime = Runtime, Handler extends RuntimeHandler = RuntimeHandler, Props extends RuntimeProps<F, any> = RuntimeProps<F, any>, Attr = (F & {
|
|
64
|
+
props: Props;
|
|
65
|
+
})["attr"]> extends IService<ID$1, F, Handler, Props, Attr>, Resource<F["type"], ID$1, Props, Attr> {}
|
|
66
|
+
//#endregion
|
|
67
|
+
//#region src/event.d.ts
|
|
68
|
+
type ApplyStatus = "pending" | "creating" | "created" | "updating" | "updated" | "deleting" | "deleted" | "success" | "fail";
|
|
69
|
+
type ApplyEvent = AnnotateEvent | StatusChangeEvent;
|
|
70
|
+
interface AnnotateEvent {
|
|
71
|
+
kind: "annotate";
|
|
72
|
+
id: string;
|
|
73
|
+
message: string;
|
|
74
|
+
}
|
|
75
|
+
interface StatusChangeEvent {
|
|
76
|
+
kind: "status-change";
|
|
77
|
+
id: string;
|
|
78
|
+
type: string;
|
|
79
|
+
status: ApplyStatus;
|
|
80
|
+
message?: string;
|
|
81
|
+
bindingId?: string;
|
|
82
|
+
}
|
|
83
|
+
//#endregion
|
|
84
|
+
//#region src/apply.d.ts
|
|
85
|
+
interface PlanStatusSession {
|
|
86
|
+
emit: (event: ApplyEvent) => Effect$1.Effect<void>;
|
|
87
|
+
done: () => Effect$1.Effect<void>;
|
|
88
|
+
}
|
|
89
|
+
interface ScopedPlanStatusSession extends PlanStatusSession {
|
|
90
|
+
note: (note: string) => Effect$1.Effect<void>;
|
|
91
|
+
}
|
|
92
|
+
declare const PlanStatusReporter_base: Context.TagClass<PlanStatusReporter, "PlanStatusReporter", {
|
|
93
|
+
start(plan: Plan): Effect$1.Effect<PlanStatusSession, never>;
|
|
94
|
+
}>;
|
|
95
|
+
declare class PlanStatusReporter extends PlanStatusReporter_base {}
|
|
96
|
+
//#endregion
|
|
97
|
+
//#region src/provider.d.ts
|
|
98
|
+
type Provider<R extends Resource> = Context.TagClass<Provider<R>, R["type"], ProviderService<R>>;
|
|
99
|
+
type Diff = {
|
|
100
|
+
action: "update" | "noop";
|
|
101
|
+
deleteFirst?: undefined;
|
|
102
|
+
} | {
|
|
103
|
+
action: "replace";
|
|
104
|
+
deleteFirst?: boolean;
|
|
105
|
+
};
|
|
106
|
+
type BindingData<Res extends Resource> = [Res] extends [Runtime] ? Res["binding"][] : any[];
|
|
107
|
+
interface ProviderService<Res extends Resource = Resource> {
|
|
108
|
+
read?(input: {
|
|
109
|
+
id: string;
|
|
110
|
+
olds: Res["props"] | undefined;
|
|
111
|
+
output: Res["attr"] | undefined;
|
|
112
|
+
session: ScopedPlanStatusSession;
|
|
113
|
+
bindings: BindingData<Res>;
|
|
114
|
+
}): Effect$1.Effect<Res["attr"] | undefined, any, never>;
|
|
115
|
+
diff?(input: {
|
|
116
|
+
id: string;
|
|
117
|
+
olds: Res["props"];
|
|
118
|
+
news: Res["props"];
|
|
119
|
+
output: Res["attr"];
|
|
120
|
+
}): Effect$1.Effect<Diff | void, never, never>;
|
|
121
|
+
precreate?(input: {
|
|
122
|
+
id: string;
|
|
123
|
+
news: Res["props"];
|
|
124
|
+
session: ScopedPlanStatusSession;
|
|
125
|
+
}): Effect$1.Effect<Res["attr"], any, never>;
|
|
126
|
+
create(input: {
|
|
127
|
+
id: string;
|
|
128
|
+
news: Res["props"];
|
|
129
|
+
session: ScopedPlanStatusSession;
|
|
130
|
+
bindings: BindingData<Res>;
|
|
131
|
+
}): Effect$1.Effect<Res["attr"], any, never>;
|
|
132
|
+
update(input: {
|
|
133
|
+
id: string;
|
|
134
|
+
news: Res["props"];
|
|
135
|
+
olds: Res["props"];
|
|
136
|
+
output: Res["attr"];
|
|
137
|
+
session: ScopedPlanStatusSession;
|
|
138
|
+
bindings: BindingData<Res>;
|
|
139
|
+
}): Effect$1.Effect<Res["attr"], any, never>;
|
|
140
|
+
delete(input: {
|
|
141
|
+
id: string;
|
|
142
|
+
olds: Res["props"];
|
|
143
|
+
output: Res["attr"];
|
|
144
|
+
session: ScopedPlanStatusSession;
|
|
145
|
+
bindings: BindingData<Res>;
|
|
146
|
+
}): Effect$1.Effect<void, any, never>;
|
|
147
|
+
}
|
|
148
|
+
//#endregion
|
|
149
|
+
//#region src/binding.d.ts
|
|
150
|
+
type AnyBinding<F extends Runtime = any> = Binding<F, any, any, any, string, boolean>;
|
|
151
|
+
interface Binding<Run extends Runtime<any, any, any>, Cap extends Capability = Capability, Props = any, Attr extends Run["binding"] = any, Tag extends string = Cap["type"], IsCustom extends boolean = (Cap["type"] extends Tag ? false : true)> {
|
|
152
|
+
runtime: Run;
|
|
153
|
+
capability: Cap;
|
|
154
|
+
tag: Tag;
|
|
155
|
+
props: Props;
|
|
156
|
+
attr: Attr;
|
|
157
|
+
isCustom: IsCustom;
|
|
158
|
+
}
|
|
159
|
+
/** Tag for a Service that can bind a Capability to a Runtime */
|
|
160
|
+
interface Bind<F extends Runtime, Cap extends Capability, Tag extends string> extends Context.Tag<`${F["type"]}(${Cap["type"]}, ${Tag})`, BindingService<F, Extract<Extract<Cap["resource"], Resource>["parent"], Resource>, F["props"]>> {
|
|
161
|
+
/** @internal phantom */
|
|
162
|
+
name: Tag;
|
|
163
|
+
}
|
|
164
|
+
declare const Binding: {
|
|
165
|
+
<F extends (resource: any, props?: any) => AnyBinding & {
|
|
166
|
+
isCustom: true;
|
|
167
|
+
}>(runtime: ReturnType<F>["runtime"], type: ReturnType<F>["capability"]["type"], tag: ReturnType<F>["tag"]): F & BindingDeclaration<ReturnType<F>["runtime"], F>;
|
|
168
|
+
<F extends (resource: any, props?: any) => AnyBinding & {
|
|
169
|
+
isCustom: false;
|
|
170
|
+
}>(runtime: ReturnType<F>["runtime"], type: ReturnType<F>["capability"]["type"]): F & BindingDeclaration<ReturnType<F>["runtime"], F>;
|
|
171
|
+
};
|
|
172
|
+
interface BindingDeclaration<Run extends Runtime, F extends (target: any, props?: any) => AnyBinding<Run>, Tag extends string = ReturnType<F>["tag"], Cap extends Capability = ReturnType<F>["capability"]> {
|
|
173
|
+
provider: {
|
|
174
|
+
effect<Err, Req>(eff: Effect<BindingService<Run, Parameters<F>[0], Parameters<F>[1], ReturnType<F>["attr"]>, Err, Req>): Layer.Layer<Bind<Run, Cap, Tag>, Err, Req>;
|
|
175
|
+
succeed(service: BindingService<Run, Parameters<F>[0], Parameters<F>[1], ReturnType<F>["attr"]>): Layer.Layer<Bind<Run, Cap, Tag>>;
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
interface BindingDiffProps<Source extends Resource = Resource, Target extends Resource = Resource, Props = any, Attr = any> {
|
|
179
|
+
source: {
|
|
180
|
+
id: string;
|
|
181
|
+
props: Source["props"];
|
|
182
|
+
oldProps?: Source["props"];
|
|
183
|
+
oldAttr?: Source["attr"];
|
|
184
|
+
};
|
|
185
|
+
props: Props;
|
|
186
|
+
attr: Attr | undefined;
|
|
187
|
+
target: {
|
|
188
|
+
id: string;
|
|
189
|
+
props: Target["props"];
|
|
190
|
+
oldProps?: Target["props"];
|
|
191
|
+
oldAttr?: Target["attr"];
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
interface BindingAttachProps<Source extends Resource, Target extends Resource, Props, Attr> {
|
|
195
|
+
source: {
|
|
196
|
+
id: string;
|
|
197
|
+
attr: Source["attr"];
|
|
198
|
+
props: Source["props"];
|
|
199
|
+
};
|
|
200
|
+
props: Props;
|
|
201
|
+
attr: Attr | undefined;
|
|
202
|
+
target: {
|
|
203
|
+
id: string;
|
|
204
|
+
props: Target["props"];
|
|
205
|
+
attr: Target["attr"];
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
interface BindingReattachProps<Source extends Resource, Target extends Resource, Props, Attr> {
|
|
209
|
+
source: {
|
|
210
|
+
id: string;
|
|
211
|
+
attr: Source["attr"];
|
|
212
|
+
props: Source["props"];
|
|
213
|
+
};
|
|
214
|
+
props: Props;
|
|
215
|
+
attr: Attr;
|
|
216
|
+
target: {
|
|
217
|
+
id: string;
|
|
218
|
+
props: Target["props"];
|
|
219
|
+
attr: Target["attr"];
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
interface BindingDetachProps<Source extends Resource, Target extends Resource, Props, Attr> {
|
|
223
|
+
source: {
|
|
224
|
+
id: string;
|
|
225
|
+
attr: Source["attr"];
|
|
226
|
+
props: Source["props"];
|
|
227
|
+
};
|
|
228
|
+
props: Props;
|
|
229
|
+
attr: Attr | undefined;
|
|
230
|
+
target: {
|
|
231
|
+
id: string;
|
|
232
|
+
props: Target["props"];
|
|
233
|
+
attr: Target["attr"];
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
type BindingService<Target extends Runtime = any, Source extends Resource = Resource, Props = any, Attr extends Target["binding"] = any, DiffReq = never, PreReattachReq = never, AttachReq = never, ReattachReq = never, DetachReq = never, PostAttachReq = never> = {
|
|
237
|
+
diff?: (props: BindingDiffProps<Source, Target, Props>) => Effect<Diff, never, DiffReq>;
|
|
238
|
+
preattach?: (props: BindingAttachProps<Source, Target, Props, Attr>) => Effect<Partial<Target["attr"]>, never, PreReattachReq>;
|
|
239
|
+
attach: (props: BindingAttachProps<Source, Target, Props, Attr>) => Effect<Attr, never, AttachReq> | Attr;
|
|
240
|
+
postattach?: (props: BindingAttachProps<Source, Target, Props, Attr>) => Effect<Omit<Attr, keyof Target["binding"]>, never, PostAttachReq>;
|
|
241
|
+
reattach?: (props: BindingReattachProps<Source, Target, Props, Attr>) => Effect<Attr, never, ReattachReq> | Attr;
|
|
242
|
+
detach?: (props: BindingDetachProps<Source, Target, Props, Attr>) => Effect<void, never, DetachReq> | void;
|
|
243
|
+
};
|
|
244
|
+
//#endregion
|
|
245
|
+
//#region src/policy.d.ts
|
|
246
|
+
/**
|
|
247
|
+
* A Policy binds a set of Capbilities (e.g SQS.SendMessage, SQS.Consume, etc.) to a
|
|
248
|
+
* specific Runtime (e.g. AWS Lambda Function, Cloudflare Worker, etc.).
|
|
249
|
+
*
|
|
250
|
+
* It brings with it a set of upstream Tags containing the required Provider services
|
|
251
|
+
* to deploy the infrastructure, e.g. (BindingTag<AWS.Lambda.Function, SendMessage<Queue>>)
|
|
252
|
+
*
|
|
253
|
+
* A Policy is invariant over the set of Capabilities to ensure least-privilege.
|
|
254
|
+
*/
|
|
255
|
+
interface Policy<F extends Runtime, in out Capabilities, Tags = unknown> {
|
|
256
|
+
readonly runtime: F;
|
|
257
|
+
readonly tags: Tags[];
|
|
258
|
+
readonly capabilities: Capabilities[];
|
|
259
|
+
/** Add more Capabilities to a Policy */
|
|
260
|
+
and<B extends AnyBinding[]>(...bindings: B): Policy<F, B[number]["capability"] | Capabilities, BindingTags<B[number]> | Exclude<Tags, unknown>>;
|
|
261
|
+
}
|
|
262
|
+
type BindingTags<B extends AnyBinding> = B extends any ? Bind<B["runtime"], B["capability"], Extract<B["tag"], string>> : never;
|
|
263
|
+
declare function Policy<F extends Runtime>(): Policy<F, never, never>;
|
|
264
|
+
declare function Policy<B extends AnyBinding[]>(...capabilities: B): Policy<B[number]["runtime"], B[number]["capability"], BindingTags<B[number]>>;
|
|
265
|
+
declare namespace Policy {
|
|
266
|
+
export interface AnyOf<in out T> {
|
|
267
|
+
readonly anyOf: T[];
|
|
268
|
+
}
|
|
269
|
+
type Generalize<T> = T extends S.Schema<infer U> ? U : T;
|
|
270
|
+
export const anyOf: <const T>(...anyOf: T[]) => AnyOf<Generalize<T>>;
|
|
271
|
+
export const join: <const Strings extends readonly string[], const Delimiter extends string>(strings: Strings, delimiter: Delimiter) => Join<Strings, Delimiter>;
|
|
272
|
+
type Join<T extends readonly string[], Delimiter extends string> = T extends readonly [infer First extends string] ? First : T extends readonly [infer First extends string, ...infer Rest extends readonly string[]] ? `${First}${Delimiter}${Join<Rest, Delimiter>}` : T extends string[] ? string : "";
|
|
273
|
+
export type Constraint<T> = Pick<T, { [k in keyof T]: T[k] extends never ? never : T[k] extends AnyOf<never> ? never : k }[keyof T]>;
|
|
274
|
+
export const infer: <T>() => T;
|
|
275
|
+
export {};
|
|
276
|
+
}
|
|
277
|
+
//#endregion
|
|
278
|
+
//#region src/capability.d.ts
|
|
279
|
+
interface ICapability<Type extends string = string, Resource$1 = unknown, Constraint = unknown> {
|
|
280
|
+
type: Type;
|
|
281
|
+
resource: Resource$1;
|
|
282
|
+
constraint: Constraint;
|
|
283
|
+
sid: string;
|
|
284
|
+
label: string;
|
|
285
|
+
}
|
|
286
|
+
interface Capability<Type extends string = string, Resource$1 = unknown, Constraint = unknown> extends ICapability<Type, Resource$1, Constraint> {
|
|
287
|
+
new (): {};
|
|
288
|
+
}
|
|
289
|
+
declare namespace Capability {
|
|
290
|
+
type Simplify<C> = [C] extends [{
|
|
291
|
+
Constructor: {
|
|
292
|
+
Reduce: any;
|
|
293
|
+
};
|
|
294
|
+
}] ? _Simplify<C> : C;
|
|
295
|
+
type _Simplify<C> = [C] extends [infer c extends {
|
|
296
|
+
Constructor: any;
|
|
297
|
+
resource: any;
|
|
298
|
+
constraint: any;
|
|
299
|
+
}] ? (c["Constructor"] & {
|
|
300
|
+
resource: c["resource"];
|
|
301
|
+
constraint: Constraint.Simplify<c["constraint"]>;
|
|
302
|
+
})["Reduce"] : never;
|
|
303
|
+
type KeysWithNever<T> = { [K in keyof T]: T[K] extends never | Policy.AnyOf<never> ? K : never }[keyof T];
|
|
304
|
+
type DropIrrelevant<T> = T extends any ? { [k in keyof Omit<T, KeysWithNever<T>>]: Omit<T, KeysWithNever<T>>[k] } : never;
|
|
305
|
+
type Get<T, K extends string | number | symbol> = T extends { [k in K]: infer V } ? V : never;
|
|
306
|
+
type Keys<T> = T extends any ? keyof T : never;
|
|
307
|
+
type BoxPolicy<T> = [T] extends [{
|
|
308
|
+
anyOf: (infer U)[];
|
|
309
|
+
}] ? Policy.AnyOf<U> : never;
|
|
310
|
+
namespace Constraint {
|
|
311
|
+
type Simplify<Constraint> = { [k in Keys<DropIrrelevant<Constraint>>]: BoxPolicy<Get<Constraint, k>> };
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
//#endregion
|
|
315
|
+
//#region src/runtime.d.ts
|
|
316
|
+
type RuntimeHandler<Inputs extends any[] = any[], Output = any, Err = any, Req = any> = (...inputs: Inputs) => Effect$1.Effect<Output, Err, Req>;
|
|
317
|
+
declare namespace RuntimeHandler {
|
|
318
|
+
type Caps<H extends RuntimeHandler | unknown> = Extract<Effect$1.Effect.Context<ReturnType<Extract<H, RuntimeHandler>>>, Capability>;
|
|
319
|
+
}
|
|
320
|
+
declare namespace Runtime {
|
|
321
|
+
type Binding<F, Cap> = F extends {
|
|
322
|
+
readonly Binding: unknown;
|
|
323
|
+
} ? (F & {
|
|
324
|
+
readonly cap: Cap;
|
|
325
|
+
})["Binding"] : {
|
|
326
|
+
readonly F: F;
|
|
327
|
+
readonly cap: Types.Contravariant<Cap>;
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
interface RuntimeProps<Run extends Runtime, Req> {
|
|
331
|
+
bindings: Policy<Run, Extract<Req, Capability>, unknown>;
|
|
332
|
+
}
|
|
333
|
+
interface Runtime<Type extends string = string, Handler = unknown, Props = unknown> extends Resource<Type, string, Props, unknown> {
|
|
334
|
+
type: Type;
|
|
335
|
+
props: Props;
|
|
336
|
+
handler: Handler;
|
|
337
|
+
binding: unknown;
|
|
338
|
+
/** @internal phantom */
|
|
339
|
+
capability: unknown;
|
|
340
|
+
<const ID$1 extends string, Inputs extends any[], Output, Err, Req, Handler extends RuntimeHandler<Inputs, Output, Err, Req>>(id: ID$1, {
|
|
341
|
+
handle
|
|
342
|
+
}: {
|
|
343
|
+
handle: Handler;
|
|
344
|
+
}): <const Props extends this["props"]>(props: Props) => Service<ID$1, this, Handler, Props>;
|
|
345
|
+
}
|
|
346
|
+
declare const Runtime: <const Type extends string>(type: Type) => <Self extends Runtime>() => Self & {
|
|
347
|
+
provider: ResourceTags<Self>;
|
|
348
|
+
};
|
|
349
|
+
//#endregion
|
|
350
|
+
//#region src/phase.d.ts
|
|
351
|
+
type Phase = "update" | "destroy";
|
|
352
|
+
//#endregion
|
|
353
|
+
//#region src/plan.d.ts
|
|
354
|
+
/**
|
|
355
|
+
* A node in the plan that represents a binding operation acting on a resource.
|
|
356
|
+
*/
|
|
357
|
+
type BindNode<B extends AnyBinding = AnyBinding> = Attach<B> | Reattach<B> | Detach<B> | NoopBind<B>;
|
|
358
|
+
type Attach<B extends AnyBinding = AnyBinding> = {
|
|
359
|
+
action: "attach";
|
|
360
|
+
binding: B;
|
|
361
|
+
olds: BindNode | undefined;
|
|
362
|
+
attr: B["attr"] | undefined;
|
|
363
|
+
};
|
|
364
|
+
type Reattach<B extends AnyBinding = AnyBinding> = {
|
|
365
|
+
action: "reattach";
|
|
366
|
+
binding: B;
|
|
367
|
+
olds: BindNode;
|
|
368
|
+
attr: B["attr"];
|
|
369
|
+
};
|
|
370
|
+
type Detach<B extends AnyBinding = AnyBinding> = {
|
|
371
|
+
action: "detach";
|
|
372
|
+
binding: B;
|
|
373
|
+
attr: B["attr"] | undefined;
|
|
374
|
+
};
|
|
375
|
+
type NoopBind<B extends AnyBinding = AnyBinding> = {
|
|
376
|
+
action: "noop";
|
|
377
|
+
binding: B;
|
|
378
|
+
attr: B["attr"];
|
|
379
|
+
};
|
|
380
|
+
/**
|
|
381
|
+
* A node in the plan that represents a resource CRUD operation.
|
|
382
|
+
*/
|
|
383
|
+
type CRUD<R extends Resource = Resource> = Create<R> | Update<R> | Delete<R> | Replace<R> | NoopUpdate<R>;
|
|
384
|
+
type Create<R extends Resource> = {
|
|
385
|
+
action: "create";
|
|
386
|
+
resource: R;
|
|
387
|
+
news: any;
|
|
388
|
+
provider: ProviderService;
|
|
389
|
+
attributes: R["attr"];
|
|
390
|
+
bindings: BindNode[];
|
|
391
|
+
};
|
|
392
|
+
type Update<R extends Resource> = {
|
|
393
|
+
action: "update";
|
|
394
|
+
resource: R;
|
|
395
|
+
olds: any;
|
|
396
|
+
news: any;
|
|
397
|
+
output: any;
|
|
398
|
+
provider: ProviderService;
|
|
399
|
+
attributes: R["attr"];
|
|
400
|
+
bindings: BindNode[];
|
|
401
|
+
};
|
|
402
|
+
type Delete<R extends Resource> = {
|
|
403
|
+
action: "delete";
|
|
404
|
+
resource: R;
|
|
405
|
+
olds: any;
|
|
406
|
+
output: any;
|
|
407
|
+
provider: ProviderService;
|
|
408
|
+
bindings: BindNode[];
|
|
409
|
+
attributes: R["attr"];
|
|
410
|
+
downstream: string[];
|
|
411
|
+
};
|
|
412
|
+
type NoopUpdate<R extends Resource> = {
|
|
413
|
+
action: "noop";
|
|
414
|
+
resource: R;
|
|
415
|
+
attributes: R["attr"];
|
|
416
|
+
bindings: BindNode[];
|
|
417
|
+
};
|
|
418
|
+
type Replace<R extends Resource> = {
|
|
419
|
+
action: "replace";
|
|
420
|
+
resource: R;
|
|
421
|
+
olds: any;
|
|
422
|
+
news: any;
|
|
423
|
+
output: any;
|
|
424
|
+
provider: ProviderService;
|
|
425
|
+
bindings: BindNode[];
|
|
426
|
+
attributes: R["attr"];
|
|
427
|
+
deleteFirst?: boolean;
|
|
428
|
+
};
|
|
429
|
+
type Plan = {
|
|
430
|
+
phase: Phase;
|
|
431
|
+
resources: { [id in string]: CRUD };
|
|
432
|
+
deletions: { [id in string]?: Delete<Resource> };
|
|
433
|
+
};
|
|
434
|
+
//#endregion
|
|
435
|
+
//#region src/approve.d.ts
|
|
436
|
+
declare const PlanRejected_base: new <A extends Record<string, any> = {}>(args: effect_Types0.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }) => effect_Cause0.YieldableError & {
|
|
437
|
+
readonly _tag: "PlanRejected";
|
|
438
|
+
} & Readonly<A>;
|
|
439
|
+
declare class PlanRejected extends PlanRejected_base<{}> {}
|
|
440
|
+
declare const PlanReviewer_base: Context.TagClass<PlanReviewer, "PlanReviewer", {
|
|
441
|
+
approve: <P$1 extends Plan>(plan: P$1) => Effect$1.Effect<void, PlanRejected>;
|
|
442
|
+
}>;
|
|
443
|
+
declare class PlanReviewer extends PlanReviewer_base {}
|
|
444
|
+
//#endregion
|
|
445
|
+
//#region src/cli/index.d.ts
|
|
446
|
+
declare const layer: Layer.Layer<PlanReviewer | PlanStatusReporter, never, never>;
|
|
447
|
+
//#endregion
|
|
448
|
+
export { layer };
|
|
449
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/resource.ts","../../src/service.ts","../../src/event.ts","../../src/apply.ts","../../src/provider.ts","../../src/binding.ts","../../src/policy.ts","../../src/capability.ts","../../src/runtime.ts","../../src/phase.ts","../../src/plan.ts","../../src/approve.ts","../../src/cli/index.ts"],"sourcesContent":[],"mappings":"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AAA,EImMnB,kBJnMmB,CImMA,MJnMA,EImMQ,MJnMR,EImMgB,KJnMhB,EImMuB,IJnMvB,CAAA,EAAA,GIoMvB,MJpMuB,CIoMhB,OJpMgB,CIoMR,MJpMQ,CAAA,MAAA,CAAA,CAAA,EAAA,KAAA,EIoMgB,cJpMhB,CAAA;EAAX,MAAA,EAAA,CAAA,KAAA,EIsMR,kBJtMQ,CIsMW,MJtMX,EIsMmB,MJtMnB,EIsM2B,KJtM3B,EIsMkC,IJtMlC,CAAA,EAAA,GIuMZ,MJvMY,CIuML,IJvMK,EAAA,KAAA,EIuMQ,SJvMR,CAAA,GIuMqB,IJvMrB;EAAb,UAAO,CAAA,EAAA,CAAA,KAAA,EIyMF,kBJzME,CIyMiB,MJzMjB,EIyMyB,MJzMzB,EIyMiC,KJzMjC,EIyMwC,IJzMxC,CAAA,EAAA,GI0MN,MJ1MM,CI0MC,IJ1MD,CI0MM,IJ1MN,EAAA,MI0MkB,MJ1MlB,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,EI0M6C,aJ1M7C,CAAA;EAFJ,QAAA,CAAA,EAAA,CAAA,KAAA,EI8ME,oBJ9MF,CI8MuB,MJ9MvB,EI8M+B,MJ9M/B,EI8MuC,KJ9MvC,EI8M8C,IJ9M9C,CAAA,EAAA,GI+MF,MJ/ME,CI+MK,IJ/ML,EAAA,KAAA,EI+MkB,WJ/MlB,CAAA,GI+MiC,IJ/MjC;EAM6B,MAAA,CAAA,EAAA,CAAA,KAAA,EI2M3B,kBJ3M2B,CI2MR,MJ3MQ,EI2MA,MJ3MA,EI2MQ,KJ3MR,EI2Me,IJ3Mf,CAAA,EAAA,GI4M/B,MJ5M+B,CAAA,IAAA,EAAA,KAAA,EI4MX,SJ5MW,CAAA,GAAA,IAAA;CAAX;;;;;;;;;;;ADvB3B;AAMM,UMDW,MNCX,CAAA,UMAM,ONAN,EAAA,mBAAA,EAAA,OAAA,OAAA,CAAA,CAAA;EACE,SAAA,OAAA,EMGY,CNHZ;EACC,SAAA,IAAA,EMGQ,INHR,EAAA;EACD,SAAA,YAAA,EMGiB,YNHjB,EAAA;EAGW;EAAM,GAAA,CAAA,UMIT,UNJS,EAAA,CAAA,CAAA,GAAA,QAAA,EMKR,CNLQ,CAAA,EMMpB,MNNoB,CMOrB,CNPqB,EMQrB,CNRqB,CAAA,MAAA,CAAA,CAAA,YAAA,CAA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"}
|