alchemy-effect 0.2.0 → 0.4.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/bin/alchemy-effect.js +55354 -8
- package/bin/alchemy-effect.js.map +1 -1
- package/bin/alchemy-effect.ts +266 -10
- package/lib/$.d.ts +5 -0
- package/lib/$.d.ts.map +1 -0
- package/lib/$.js +9 -0
- package/lib/$.js.map +1 -0
- package/lib/app.d.ts +4 -17
- package/lib/app.d.ts.map +1 -1
- package/lib/app.js +0 -20
- package/lib/app.js.map +1 -1
- package/lib/apply.d.ts +15 -75
- package/lib/apply.d.ts.map +1 -1
- package/lib/apply.js +439 -154
- package/lib/apply.js.map +1 -1
- package/lib/assert-never.d.ts +12 -0
- package/lib/assert-never.d.ts.map +1 -0
- package/lib/assert-never.js +11 -0
- package/lib/assert-never.js.map +1 -0
- package/lib/aws/account.d.ts +10 -1
- package/lib/aws/account.d.ts.map +1 -1
- package/lib/aws/account.js +18 -3
- package/lib/aws/account.js.map +1 -1
- package/lib/aws/client.d.ts.map +1 -1
- package/lib/aws/client.js +0 -1
- package/lib/aws/client.js.map +1 -1
- package/lib/aws/config.d.ts +15 -0
- package/lib/aws/config.d.ts.map +1 -0
- package/lib/aws/config.js +1 -0
- package/lib/aws/config.js.map +1 -0
- package/lib/aws/credentials.d.ts +10 -0
- package/lib/aws/credentials.d.ts.map +1 -1
- package/lib/aws/credentials.js +73 -47
- package/lib/aws/credentials.js.map +1 -1
- package/lib/aws/dynamodb/client.d.ts +1 -1
- package/lib/aws/dynamodb/client.d.ts.map +1 -1
- package/lib/aws/dynamodb/index.d.ts +2 -1
- package/lib/aws/dynamodb/index.d.ts.map +1 -1
- package/lib/aws/dynamodb/index.js +1 -2
- package/lib/aws/dynamodb/index.js.map +1 -1
- package/lib/aws/dynamodb/secondary-index.d.ts +5 -4
- package/lib/aws/dynamodb/secondary-index.d.ts.map +1 -1
- package/lib/aws/dynamodb/table.d.ts +23 -20
- package/lib/aws/dynamodb/table.d.ts.map +1 -1
- package/lib/aws/dynamodb/table.get-item.d.ts +8 -6
- package/lib/aws/dynamodb/table.get-item.d.ts.map +1 -1
- package/lib/aws/dynamodb/table.get-item.js +4 -2
- package/lib/aws/dynamodb/table.get-item.js.map +1 -1
- package/lib/aws/dynamodb/table.js.map +1 -1
- package/lib/aws/dynamodb/table.provider.d.ts +3 -4
- package/lib/aws/dynamodb/table.provider.d.ts.map +1 -1
- package/lib/aws/dynamodb/table.provider.js +18 -29
- package/lib/aws/dynamodb/table.provider.js.map +1 -1
- package/lib/aws/ec2/client.d.ts +1 -1
- package/lib/aws/ec2/client.d.ts.map +1 -1
- package/lib/aws/ec2/index.d.ts +11 -0
- package/lib/aws/ec2/index.d.ts.map +1 -1
- package/lib/aws/ec2/index.js +11 -0
- package/lib/aws/ec2/index.js.map +1 -1
- package/lib/aws/ec2/internet-gateway.d.ts +65 -0
- package/lib/aws/ec2/internet-gateway.d.ts.map +1 -0
- package/lib/aws/ec2/internet-gateway.js +4 -0
- package/lib/aws/ec2/internet-gateway.js.map +1 -0
- package/lib/aws/ec2/internet-gateway.provider.d.ts +6 -0
- package/lib/aws/ec2/internet-gateway.provider.d.ts.map +1 -0
- package/lib/aws/ec2/internet-gateway.provider.js +193 -0
- package/lib/aws/ec2/internet-gateway.provider.js.map +1 -0
- package/lib/aws/ec2/route-table-association.d.ts +63 -0
- package/lib/aws/ec2/route-table-association.d.ts.map +1 -0
- package/lib/aws/ec2/route-table-association.js +4 -0
- package/lib/aws/ec2/route-table-association.js.map +1 -0
- package/lib/aws/ec2/route-table-association.provider.d.ts +4 -0
- package/lib/aws/ec2/route-table-association.provider.d.ts.map +1 -0
- package/lib/aws/ec2/route-table-association.provider.js +121 -0
- package/lib/aws/ec2/route-table-association.provider.js.map +1 -0
- package/lib/aws/ec2/route-table.d.ts +159 -0
- package/lib/aws/ec2/route-table.d.ts.map +1 -0
- package/lib/aws/ec2/route-table.js +4 -0
- package/lib/aws/ec2/route-table.js.map +1 -0
- package/lib/aws/ec2/route-table.provider.d.ts +6 -0
- package/lib/aws/ec2/route-table.provider.d.ts.map +1 -0
- package/lib/aws/ec2/route-table.provider.js +213 -0
- package/lib/aws/ec2/route-table.provider.js.map +1 -0
- package/lib/aws/ec2/route.d.ts +155 -0
- package/lib/aws/ec2/route.d.ts.map +1 -0
- package/lib/aws/ec2/route.js +3 -0
- package/lib/aws/ec2/route.js.map +1 -0
- package/lib/aws/ec2/route.provider.d.ts +4 -0
- package/lib/aws/ec2/route.provider.d.ts.map +1 -0
- package/lib/aws/ec2/route.provider.js +166 -0
- package/lib/aws/ec2/route.provider.js.map +1 -0
- package/lib/aws/ec2/subnet.d.ts +175 -0
- package/lib/aws/ec2/subnet.d.ts.map +1 -0
- package/lib/aws/ec2/subnet.js +4 -0
- package/lib/aws/ec2/subnet.js.map +1 -0
- package/lib/aws/ec2/subnet.provider.d.ts +4 -0
- package/lib/aws/ec2/subnet.provider.d.ts.map +1 -0
- package/lib/aws/ec2/subnet.provider.js +250 -0
- package/lib/aws/ec2/subnet.provider.js.map +1 -0
- package/lib/aws/ec2/vpc.d.ts +13 -8
- package/lib/aws/ec2/vpc.d.ts.map +1 -1
- package/lib/aws/ec2/vpc.js +1 -0
- package/lib/aws/ec2/vpc.js.map +1 -1
- package/lib/aws/ec2/vpc.provider.d.ts +1 -2
- package/lib/aws/ec2/vpc.provider.d.ts.map +1 -1
- package/lib/aws/ec2/vpc.provider.js +45 -37
- package/lib/aws/ec2/vpc.provider.js.map +1 -1
- package/lib/aws/index.d.ts +15 -19
- package/lib/aws/index.d.ts.map +1 -1
- package/lib/aws/index.js +8 -10
- package/lib/aws/index.js.map +1 -1
- package/lib/aws/lambda/consume.d.ts +10 -11
- package/lib/aws/lambda/consume.d.ts.map +1 -1
- package/lib/aws/lambda/consume.js +3 -3
- package/lib/aws/lambda/consume.js.map +1 -1
- package/lib/aws/lambda/function.d.ts +7 -7
- package/lib/aws/lambda/function.d.ts.map +1 -1
- package/lib/aws/lambda/function.handler.d.ts +1 -1
- package/lib/aws/lambda/function.handler.d.ts.map +1 -1
- package/lib/aws/lambda/function.handler.js.map +1 -1
- package/lib/aws/lambda/function.invoke.d.ts +6 -4
- package/lib/aws/lambda/function.invoke.d.ts.map +1 -1
- package/lib/aws/lambda/function.invoke.js +3 -1
- package/lib/aws/lambda/function.invoke.js.map +1 -1
- package/lib/aws/lambda/function.js +1 -1
- package/lib/aws/lambda/function.js.map +1 -1
- package/lib/aws/lambda/function.provider.d.ts +3 -2
- package/lib/aws/lambda/function.provider.d.ts.map +1 -1
- package/lib/aws/lambda/function.provider.js +28 -25
- package/lib/aws/lambda/function.provider.js.map +1 -1
- package/lib/aws/lambda/index.d.ts +1 -0
- package/lib/aws/lambda/index.d.ts.map +1 -1
- package/lib/aws/lambda/index.js +1 -0
- package/lib/aws/lambda/index.js.map +1 -1
- package/lib/aws/lambda/serve.d.ts +2 -4
- package/lib/aws/lambda/serve.d.ts.map +1 -1
- package/lib/aws/profile.d.ts +2 -2
- package/lib/aws/profile.d.ts.map +1 -1
- package/lib/aws/profile.js +1 -1
- package/lib/aws/profile.js.map +1 -1
- package/lib/aws/region.d.ts +14 -2
- package/lib/aws/region.d.ts.map +1 -1
- package/lib/aws/region.js +26 -1
- package/lib/aws/region.js.map +1 -1
- package/lib/aws/sqs/client.d.ts +1 -1
- package/lib/aws/sqs/client.d.ts.map +1 -1
- package/lib/aws/sqs/index.d.ts +1 -0
- package/lib/aws/sqs/index.d.ts.map +1 -1
- package/lib/aws/sqs/index.js +1 -0
- package/lib/aws/sqs/index.js.map +1 -1
- package/lib/aws/sqs/queue.consume.d.ts +1 -1
- package/lib/aws/sqs/queue.consume.d.ts.map +1 -1
- package/lib/aws/sqs/queue.consume.js +0 -1
- package/lib/aws/sqs/queue.consume.js.map +1 -1
- package/lib/aws/sqs/queue.d.ts +6 -4
- package/lib/aws/sqs/queue.d.ts.map +1 -1
- package/lib/aws/sqs/queue.event-source.d.ts +8 -6
- package/lib/aws/sqs/queue.event-source.d.ts.map +1 -1
- package/lib/aws/sqs/queue.event-source.js +26 -44
- package/lib/aws/sqs/queue.event-source.js.map +1 -1
- package/lib/aws/sqs/queue.js +1 -1
- package/lib/aws/sqs/queue.js.map +1 -1
- package/lib/aws/sqs/queue.provider.d.ts +2 -2
- package/lib/aws/sqs/queue.provider.d.ts.map +1 -1
- package/lib/aws/sqs/queue.provider.js +2 -1
- package/lib/aws/sqs/queue.provider.js.map +1 -1
- package/lib/aws/sqs/queue.send-message.d.ts +7 -5
- package/lib/aws/sqs/queue.send-message.d.ts.map +1 -1
- package/lib/aws/sqs/queue.send-message.js +4 -2
- package/lib/aws/sqs/queue.send-message.js.map +1 -1
- package/lib/binding.d.ts +12 -12
- package/lib/binding.d.ts.map +1 -1
- package/lib/binding.js.map +1 -1
- package/lib/cli/components/ApprovePlan.d.ts +2 -2
- package/lib/cli/components/ApprovePlan.d.ts.map +1 -1
- package/lib/cli/components/ApprovePlan.js.map +1 -1
- package/lib/cli/components/Plan.d.ts +2 -2
- package/lib/cli/components/Plan.d.ts.map +1 -1
- package/lib/cli/components/Plan.js.map +1 -1
- package/lib/cli/components/PlanProgress.d.ts +8 -4
- package/lib/cli/components/PlanProgress.d.ts.map +1 -1
- package/lib/cli/components/PlanProgress.js +11 -1
- package/lib/cli/components/PlanProgress.js.map +1 -1
- package/lib/cli/index.d.ts +384 -264
- package/lib/cli/index.d.ts.map +1 -1
- package/lib/cli/index.js +57 -65
- package/lib/cli/index.js.map +1 -1
- package/lib/cli/ink-service.d.ts +4 -0
- package/lib/cli/ink-service.d.ts.map +1 -0
- package/lib/cli/ink-service.js +43 -0
- package/lib/cli/ink-service.js.map +1 -0
- package/lib/cli/service.d.ts +21 -0
- package/lib/cli/service.d.ts.map +1 -0
- package/lib/cli/service.js +5 -0
- package/lib/cli/service.js.map +1 -0
- package/lib/cloudflare/account.d.ts +10 -0
- package/lib/cloudflare/account.d.ts.map +1 -0
- package/lib/cloudflare/account.js +24 -0
- package/lib/cloudflare/account.js.map +1 -0
- package/lib/cloudflare/api.d.ts +7 -7
- package/lib/cloudflare/api.d.ts.map +1 -1
- package/lib/cloudflare/api.js +18 -17
- package/lib/cloudflare/api.js.map +1 -1
- package/lib/cloudflare/config.d.ts +9 -0
- package/lib/cloudflare/config.d.ts.map +1 -0
- package/lib/cloudflare/config.js +1 -0
- package/lib/cloudflare/config.js.map +1 -0
- package/lib/cloudflare/index.d.ts +3 -1
- package/lib/cloudflare/index.d.ts.map +1 -1
- package/lib/cloudflare/index.js +3 -0
- package/lib/cloudflare/index.js.map +1 -1
- package/lib/cloudflare/kv/namespace.binding.d.ts +5 -3
- package/lib/cloudflare/kv/namespace.binding.d.ts.map +1 -1
- package/lib/cloudflare/kv/namespace.binding.js +1 -1
- package/lib/cloudflare/kv/namespace.binding.js.map +1 -1
- package/lib/cloudflare/kv/namespace.client.d.ts +1 -1
- package/lib/cloudflare/kv/namespace.d.ts +3 -2
- package/lib/cloudflare/kv/namespace.d.ts.map +1 -1
- package/lib/cloudflare/kv/namespace.js.map +1 -1
- package/lib/cloudflare/kv/namespace.provider.d.ts +3 -2
- package/lib/cloudflare/kv/namespace.provider.d.ts.map +1 -1
- package/lib/cloudflare/kv/namespace.provider.js +9 -7
- package/lib/cloudflare/kv/namespace.provider.js.map +1 -1
- package/lib/cloudflare/live.d.ts +5 -5
- package/lib/cloudflare/live.d.ts.map +1 -1
- package/lib/cloudflare/live.js +5 -8
- package/lib/cloudflare/live.js.map +1 -1
- package/lib/cloudflare/r2/bucket.binding.d.ts +5 -3
- package/lib/cloudflare/r2/bucket.binding.d.ts.map +1 -1
- package/lib/cloudflare/r2/bucket.binding.js +1 -1
- package/lib/cloudflare/r2/bucket.binding.js.map +1 -1
- package/lib/cloudflare/r2/bucket.d.ts +3 -2
- package/lib/cloudflare/r2/bucket.d.ts.map +1 -1
- package/lib/cloudflare/r2/bucket.js.map +1 -1
- package/lib/cloudflare/r2/bucket.provider.d.ts +3 -2
- package/lib/cloudflare/r2/bucket.provider.d.ts.map +1 -1
- package/lib/cloudflare/r2/bucket.provider.js +14 -8
- package/lib/cloudflare/r2/bucket.provider.js.map +1 -1
- package/lib/cloudflare/worker/assets.fetch.d.ts +3 -2
- package/lib/cloudflare/worker/assets.fetch.d.ts.map +1 -1
- package/lib/cloudflare/worker/assets.fetch.js +2 -1
- package/lib/cloudflare/worker/assets.fetch.js.map +1 -1
- package/lib/cloudflare/worker/assets.provider.d.ts +1 -1
- package/lib/cloudflare/worker/assets.provider.d.ts.map +1 -1
- package/lib/cloudflare/worker/index.d.ts +0 -1
- package/lib/cloudflare/worker/index.d.ts.map +1 -1
- package/lib/cloudflare/worker/worker.d.ts +5 -6
- package/lib/cloudflare/worker/worker.d.ts.map +1 -1
- package/lib/cloudflare/worker/worker.handler.d.ts +1 -1
- package/lib/cloudflare/worker/worker.handler.d.ts.map +1 -1
- package/lib/cloudflare/worker/worker.handler.js.map +1 -1
- package/lib/cloudflare/worker/worker.js.map +1 -1
- package/lib/cloudflare/worker/worker.provider.d.ts +3 -2
- package/lib/cloudflare/worker/worker.provider.d.ts.map +1 -1
- package/lib/cloudflare/worker/worker.provider.js +12 -7
- package/lib/cloudflare/worker/worker.provider.js.map +1 -1
- package/lib/cloudflare/worker/worker.serve.d.ts +7 -7
- package/lib/cloudflare/worker/worker.serve.d.ts.map +1 -1
- package/lib/cloudflare/worker/worker.serve.js.map +1 -1
- package/lib/data.d.ts +3 -0
- package/lib/data.d.ts.map +1 -0
- package/lib/data.js +8 -0
- package/lib/data.js.map +1 -0
- package/lib/destroy.d.ts +1 -1
- package/lib/destroy.d.ts.map +1 -1
- package/lib/destroy.js +1 -4
- package/lib/destroy.js.map +1 -1
- package/lib/diff.d.ts +18 -0
- package/lib/diff.d.ts.map +1 -0
- package/lib/diff.js +22 -0
- package/lib/diff.js.map +1 -0
- package/lib/env.d.ts +5 -0
- package/lib/env.d.ts.map +1 -1
- package/lib/env.js +15 -29
- package/lib/env.js.map +1 -1
- package/lib/event.d.ts +1 -1
- package/lib/event.d.ts.map +1 -1
- package/lib/exports.d.ts +9 -0
- package/lib/exports.d.ts.map +1 -0
- package/lib/exports.js +13 -0
- package/lib/exports.js.map +1 -0
- package/lib/index.d.ts +10 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +10 -5
- package/lib/index.js.map +1 -1
- package/lib/input.d.ts +32 -0
- package/lib/input.d.ts.map +1 -0
- package/lib/input.js +1 -0
- package/lib/input.js.map +1 -0
- package/lib/instance-id.d.ts +8 -0
- package/lib/instance-id.d.ts.map +1 -0
- package/lib/instance-id.js +12 -0
- package/lib/instance-id.js.map +1 -0
- package/lib/output.d.ts +145 -0
- package/lib/output.d.ts.map +1 -0
- package/lib/output.js +283 -0
- package/lib/output.js.map +1 -0
- package/lib/physical-name.d.ts +14 -1
- package/lib/physical-name.d.ts.map +1 -1
- package/lib/physical-name.js +41 -2
- package/lib/physical-name.js.map +1 -1
- package/lib/plan.d.ts +84 -58
- package/lib/plan.d.ts.map +1 -1
- package/lib/plan.js +504 -166
- package/lib/plan.js.map +1 -1
- package/lib/policy.d.ts +3 -4
- package/lib/policy.d.ts.map +1 -1
- package/lib/policy.js +0 -1
- package/lib/policy.js.map +1 -1
- package/lib/provider.d.ts +39 -24
- package/lib/provider.d.ts.map +1 -1
- package/lib/provider.js +9 -0
- package/lib/provider.js.map +1 -1
- package/lib/ref.d.ts +14 -0
- package/lib/ref.d.ts.map +1 -0
- package/lib/ref.js +21 -0
- package/lib/ref.js.map +1 -0
- package/lib/resource.d.ts +13 -8
- package/lib/resource.d.ts.map +1 -1
- package/lib/resource.js.map +1 -1
- package/lib/runtime.d.ts +7 -6
- package/lib/runtime.d.ts.map +1 -1
- package/lib/runtime.js.map +1 -1
- package/lib/service.d.ts +9 -6
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js.map +1 -1
- package/lib/stack.d.ts +60 -0
- package/lib/stack.d.ts.map +1 -0
- package/lib/stack.js +11 -0
- package/lib/stack.js.map +1 -0
- package/lib/stage.d.ts +39 -0
- package/lib/stage.d.ts.map +1 -0
- package/lib/stage.js +32 -0
- package/lib/stage.js.map +1 -0
- package/lib/state.d.ts +135 -17
- package/lib/state.d.ts.map +1 -1
- package/lib/state.js +34 -30
- package/lib/state.js.map +1 -1
- package/lib/tags.d.ts +15 -0
- package/lib/tags.d.ts.map +1 -1
- package/lib/tags.js +27 -0
- package/lib/tags.js.map +1 -1
- package/lib/test.d.ts +25 -4
- package/lib/test.d.ts.map +1 -1
- package/lib/test.js +54 -14
- package/lib/test.js.map +1 -1
- package/lib/todo.d.ts +3 -0
- package/lib/todo.d.ts.map +1 -0
- package/lib/todo.js +3 -0
- package/lib/todo.js.map +1 -0
- package/lib/tsconfig.test.tsbuildinfo +1 -1
- package/lib/type.d.ts +3 -0
- package/lib/type.d.ts.map +1 -1
- package/lib/unknown.d.ts +4 -0
- package/lib/unknown.d.ts.map +1 -0
- package/lib/unknown.js +4 -0
- package/lib/unknown.js.map +1 -0
- package/lib/user.d.ts +3 -0
- package/lib/user.d.ts.map +1 -0
- package/lib/user.js +3 -0
- package/lib/user.js.map +1 -0
- package/lib/util.d.ts +6 -0
- package/lib/util.d.ts.map +1 -0
- package/lib/util.js +9 -0
- package/lib/util.js.map +1 -0
- package/package.json +18 -12
- package/src/$.ts +17 -0
- package/src/app.ts +3 -32
- package/src/apply.ts +824 -452
- package/src/assert-never.ts +18 -0
- package/src/aws/account.ts +23 -3
- package/src/aws/client.ts +0 -1
- package/src/aws/config.ts +16 -0
- package/src/aws/credentials.ts +212 -177
- package/src/aws/dynamodb/index.ts +3 -3
- package/src/aws/dynamodb/table.get-item.ts +5 -9
- package/src/aws/dynamodb/table.provider.ts +36 -39
- package/src/aws/dynamodb/table.ts +29 -84
- package/src/aws/ec2/index.ts +12 -0
- package/src/aws/ec2/internet-gateway.provider.ts +316 -0
- package/src/aws/ec2/internet-gateway.ts +79 -0
- package/src/aws/ec2/route-table-association.provider.ts +214 -0
- package/src/aws/ec2/route-table-association.ts +82 -0
- package/src/aws/ec2/route-table.provider.ts +306 -0
- package/src/aws/ec2/route-table.ts +175 -0
- package/src/aws/ec2/route.provider.ts +213 -0
- package/src/aws/ec2/route.ts +192 -0
- package/src/aws/ec2/subnet.provider.ts +358 -0
- package/src/aws/ec2/subnet.ts +213 -0
- package/src/aws/ec2/vpc.provider.ts +58 -50
- package/src/aws/ec2/vpc.ts +21 -8
- package/src/aws/index.ts +49 -40
- package/src/aws/lambda/consume.ts +8 -7
- package/src/aws/lambda/function.handler.ts +1 -1
- package/src/aws/lambda/function.invoke.ts +6 -2
- package/src/aws/lambda/function.provider.ts +41 -32
- package/src/aws/lambda/function.ts +7 -4
- package/src/aws/lambda/index.ts +2 -0
- package/src/aws/profile.ts +1 -4
- package/src/aws/region.ts +42 -3
- package/src/aws/sqs/index.ts +2 -0
- package/src/aws/sqs/queue.consume.ts +1 -1
- package/src/aws/sqs/queue.event-source.ts +29 -55
- package/src/aws/sqs/queue.provider.ts +10 -2
- package/src/aws/sqs/queue.send-message.ts +5 -8
- package/src/aws/sqs/queue.ts +9 -4
- package/src/binding.ts +19 -19
- package/src/cli/components/ApprovePlan.tsx +2 -2
- package/src/cli/components/Plan.tsx +3 -2
- package/src/cli/components/PlanProgress.tsx +32 -14
- package/src/cli/index.ts +2 -6
- package/src/cli/ink-service.tsx +61 -0
- package/src/cli/service.ts +23 -0
- package/src/cloudflare/account.ts +37 -0
- package/src/cloudflare/api.ts +33 -29
- package/src/cloudflare/config.ts +7 -0
- package/src/cloudflare/index.ts +3 -1
- package/src/cloudflare/kv/namespace.binding.ts +3 -1
- package/src/cloudflare/kv/namespace.provider.ts +10 -8
- package/src/cloudflare/kv/namespace.ts +3 -2
- package/src/cloudflare/live.ts +11 -17
- package/src/cloudflare/r2/bucket.binding.ts +3 -1
- package/src/cloudflare/r2/bucket.provider.ts +16 -9
- package/src/cloudflare/r2/bucket.ts +8 -2
- package/src/cloudflare/worker/assets.fetch.ts +3 -1
- package/src/cloudflare/worker/assets.provider.ts +1 -1
- package/src/cloudflare/worker/index.ts +0 -2
- package/src/cloudflare/worker/worker.handler.ts +1 -1
- package/src/cloudflare/worker/worker.provider.ts +21 -14
- package/src/cloudflare/worker/worker.serve.ts +5 -2
- package/src/cloudflare/worker/worker.ts +4 -3
- package/src/data.ts +18 -0
- package/src/destroy.ts +1 -5
- package/src/diff.ts +48 -0
- package/src/env.ts +20 -32
- package/src/event.ts +6 -0
- package/src/exports.ts +21 -0
- package/src/index.ts +10 -5
- package/src/input.ts +81 -0
- package/src/instance-id.ts +16 -0
- package/src/output.ts +542 -0
- package/src/physical-name.ts +57 -2
- package/src/plan.ts +757 -278
- package/src/policy.ts +3 -5
- package/src/provider.ts +70 -31
- package/src/ref.ts +48 -0
- package/src/resource.ts +70 -10
- package/src/runtime.ts +15 -8
- package/src/service.ts +11 -7
- package/src/stack.ts +116 -0
- package/src/stage.ts +85 -0
- package/src/state.ts +269 -76
- package/src/tags.ts +31 -0
- package/src/test.ts +118 -17
- package/src/todo.ts +4 -0
- package/src/type.ts +4 -0
- package/src/unknown.ts +6 -0
- package/src/user.ts +4 -0
- package/src/util.ts +21 -0
- package/lib/approve.d.ts +0 -15
- package/lib/approve.d.ts.map +0 -1
- package/lib/approve.js +0 -7
- package/lib/approve.js.map +0 -1
- package/lib/cli/approve.d.ts +0 -4
- package/lib/cli/approve.d.ts.map +0 -1
- package/lib/cli/approve.js +0 -18
- package/lib/cli/approve.js.map +0 -1
- package/lib/cli/clack.d.ts +0 -14
- package/lib/cli/clack.d.ts.map +0 -1
- package/lib/cli/clack.js +0 -12
- package/lib/cli/clack.js.map +0 -1
- package/lib/cli/main.d.ts +0 -2
- package/lib/cli/main.d.ts.map +0 -1
- package/lib/cli/main.js +0 -1
- package/lib/cli/main.js.map +0 -1
- package/lib/cli/plan.d.ts +0 -13
- package/lib/cli/plan.d.ts.map +0 -1
- package/lib/cli/plan.js +0 -1
- package/lib/cli/plan.js.map +0 -1
- package/lib/cli/progress.d.ts +0 -7
- package/lib/cli/progress.d.ts.map +0 -1
- package/lib/cli/progress.js +0 -30
- package/lib/cli/progress.js.map +0 -1
- package/lib/cli/spinner.d.ts +0 -2
- package/lib/cli/spinner.d.ts.map +0 -1
- package/lib/cli/spinner.js +0 -13
- package/lib/cli/spinner.js.map +0 -1
- package/src/approve.ts +0 -13
- package/src/cli/approve.tsx +0 -30
- package/src/cli/clack.ts +0 -22
- package/src/cli/main.ts +0 -0
- package/src/cli/plan.ts +0 -16
- package/src/cli/progress.tsx +0 -46
- package/src/cli/spinner.ts +0 -14
package/lib/cli/index.d.ts
CHANGED
|
@@ -1,45 +1,149 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import * as Layer from "effect/Layer";
|
|
3
2
|
import * as Effect$1 from "effect/Effect";
|
|
4
3
|
import { Effect } from "effect/Effect";
|
|
5
4
|
import * as Context from "effect/Context";
|
|
6
|
-
import "
|
|
7
|
-
import "@effect/platform/Path";
|
|
5
|
+
import * as Layer from "effect/Layer";
|
|
8
6
|
import * as S from "effect/Schema";
|
|
9
|
-
import * as effect_Types0 from "effect/Types";
|
|
10
|
-
import * as effect_Cause0 from "effect/Cause";
|
|
11
7
|
import { Types } from "effect";
|
|
8
|
+
import "@effect/platform/FileSystem";
|
|
9
|
+
import "@effect/platform/Path";
|
|
12
10
|
|
|
13
|
-
//#region src/
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
attr: Attrs;
|
|
19
|
-
parent: unknown;
|
|
20
|
-
new (): Resource<Type, ID$1, Props, Attrs>;
|
|
11
|
+
//#region src/diff.d.ts
|
|
12
|
+
type Diff = NoopDiff | UpdateDiff | ReplaceDiff;
|
|
13
|
+
interface NoopDiff {
|
|
14
|
+
action: "noop";
|
|
15
|
+
stables?: undefined;
|
|
21
16
|
}
|
|
22
|
-
interface
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
succeed(service: ProviderService<R>): Layer.Layer<Provider<R>>;
|
|
17
|
+
interface UpdateDiff {
|
|
18
|
+
action: "update";
|
|
19
|
+
/** properties that won't change as part of this update */
|
|
20
|
+
stables?: string[];
|
|
27
21
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
interface ReplaceDiff {
|
|
23
|
+
action: "replace";
|
|
24
|
+
deleteFirst?: boolean;
|
|
25
|
+
stables?: undefined;
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region src/data.d.ts
|
|
29
|
+
type Primitive = never | undefined | null | boolean | number | string | bigint | symbol;
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region src/state.d.ts
|
|
32
|
+
type Props$1 = Record<string, any>;
|
|
33
|
+
type Attr = Record<string, any>;
|
|
34
|
+
type ResourceStatus = ResourceState["status"];
|
|
35
|
+
interface BaseResourceState {
|
|
36
|
+
resourceType: string;
|
|
37
|
+
/** Logical ID of the Resource (stable across creates, updates, deletes and replaces) */
|
|
38
|
+
logicalId: string;
|
|
39
|
+
/** A unique randomly generated token used to seed ID generation (only changes when replaced) */
|
|
40
|
+
instanceId: string;
|
|
41
|
+
/** The version of the provider that was used to create/update the resource. */
|
|
42
|
+
providerVersion: number;
|
|
43
|
+
/** Current status of the logical Resource */
|
|
44
|
+
status: ResourceStatus;
|
|
45
|
+
/** List of logical IDs of resources that depend on this resource */
|
|
46
|
+
downstream: string[];
|
|
47
|
+
/** List of Bindings attached to this Resource */
|
|
48
|
+
bindings?: BindNode[];
|
|
49
|
+
/** Desired state (input props) of this Resource */
|
|
50
|
+
props?: Props$1;
|
|
51
|
+
/** The output attributes of this Resource (if it has been created) */
|
|
52
|
+
attr?: Attr;
|
|
53
|
+
}
|
|
54
|
+
interface CreatingResourceState extends BaseResourceState {
|
|
55
|
+
status: "creating";
|
|
56
|
+
/** The new resource properties that are being (or have been) applied. */
|
|
57
|
+
props: Props$1;
|
|
58
|
+
}
|
|
59
|
+
interface CreatedResourceState extends BaseResourceState {
|
|
60
|
+
status: "created";
|
|
61
|
+
/** The new resource properties that have been applied. */
|
|
62
|
+
props: Props$1;
|
|
63
|
+
/** The output attributes of the created resource */
|
|
64
|
+
attr: Attr;
|
|
65
|
+
}
|
|
66
|
+
interface UpdatingReourceState extends BaseResourceState {
|
|
67
|
+
status: "updating";
|
|
68
|
+
/** The new resource properties that are being (or have been) applied. */
|
|
69
|
+
props: Props$1;
|
|
70
|
+
old: {
|
|
71
|
+
/** The old resource properties that have been successfully applied. */
|
|
72
|
+
props: Props$1;
|
|
73
|
+
/** The old output properties that have been successfully applied. */
|
|
74
|
+
attr: Attr;
|
|
31
75
|
};
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
76
|
+
}
|
|
77
|
+
interface UpdatedResourceState extends BaseResourceState {
|
|
78
|
+
status: "updated";
|
|
79
|
+
/** The new resource properties that are being (or have been) applied. */
|
|
80
|
+
props: Props$1;
|
|
81
|
+
/** The output attributes of the created resource */
|
|
82
|
+
attr: Attr;
|
|
83
|
+
}
|
|
84
|
+
interface DeletingResourceState extends BaseResourceState {
|
|
85
|
+
status: "deleting";
|
|
86
|
+
/** Attributes of the resource being deleted */
|
|
87
|
+
attr: Attr | undefined;
|
|
88
|
+
}
|
|
89
|
+
interface ReplacingResourceState extends BaseResourceState {
|
|
90
|
+
status: "replacing";
|
|
91
|
+
/** Desired properties of the new resource (the replacement) */
|
|
92
|
+
props: Props$1;
|
|
93
|
+
/** Reference to the state of the old resource (the one being replaced) */
|
|
94
|
+
old: CreatedResourceState | UpdatedResourceState | CreatingResourceState | UpdatingReourceState | DeletingResourceState;
|
|
95
|
+
/** Whether the resource should be deleted before or after replacements */
|
|
96
|
+
deleteFirst: boolean;
|
|
97
|
+
}
|
|
98
|
+
interface ReplacedResourceState extends BaseResourceState {
|
|
99
|
+
status: "replaced";
|
|
100
|
+
/** Desired properties of the new resource (the replacement) */
|
|
101
|
+
props: Props$1;
|
|
102
|
+
/** Output attributes of the new resource (the replacement) */
|
|
103
|
+
attr: Attr;
|
|
104
|
+
/** Reference to the state of the old resource (the one being replaced) */
|
|
105
|
+
old: CreatingResourceState | CreatedResourceState | UpdatingReourceState | UpdatedResourceState | DeletingResourceState;
|
|
106
|
+
/** Whether the resource should be deleted before or after replacements */
|
|
107
|
+
deleteFirst: boolean;
|
|
108
|
+
}
|
|
109
|
+
type ResourceState = CreatingResourceState | CreatedResourceState | UpdatingReourceState | UpdatedResourceState | DeletingResourceState | ReplacingResourceState | ReplacedResourceState;
|
|
110
|
+
//#endregion
|
|
111
|
+
//#region src/output.d.ts
|
|
112
|
+
interface Output<A = any, Src$1 extends Resource = any, Req$1 = any> {
|
|
113
|
+
readonly kind: string;
|
|
114
|
+
readonly src: Src$1;
|
|
115
|
+
readonly req: Req$1;
|
|
116
|
+
apply<B>(fn: (value: A) => B): Output.Of<B, Src$1, Req$1>;
|
|
117
|
+
effect<B, Req2$1>(fn: (value: A) => Effect$1.Effect<B, never, Req2$1>): Output.Of<B, Src$1, Req$1 | Req2$1>;
|
|
118
|
+
}
|
|
119
|
+
declare namespace Output {
|
|
120
|
+
type Of<A, Src$1 extends Resource = any, Req$1 = never> = [Extract<A, object>] extends [never] ? Output<A, Src$1, Req$1> : [Extract<A, any[]>] extends [never] ? Object$1<{ [attr in keyof A]: A[attr] }, Src$1, Req$1> : Array<Extract<A, any[]>, Src$1, Req$1>;
|
|
121
|
+
}
|
|
122
|
+
type Object$1<A, Src$1 extends Resource, Req$1 = any> = Output<A, Src$1, Req$1> & { [Prop in keyof Exclude<A, undefined>]-?: Output.Of<Exclude<A, undefined>[Prop] | Extract<A, undefined>, Src$1, Req$1> };
|
|
123
|
+
type Array<A extends any[], Src$1 extends Resource, Req$1 = any> = Output<A, Src$1, Req$1> & { [i in Extract<keyof A, number>]: Output.Of<A[i], Src$1, Req$1> };
|
|
124
|
+
//#endregion
|
|
125
|
+
//#region src/input.d.ts
|
|
126
|
+
type Function = (...args: any[]) => any;
|
|
127
|
+
type Constructor = new (...args: any[]) => any;
|
|
128
|
+
type PolicyLike = {
|
|
129
|
+
kind: "alchemy/Policy";
|
|
37
130
|
};
|
|
131
|
+
type Input<T> = T | (T extends S.Schema<any> ? never : Output<T, any, any> | (T extends Primitive ? never : T extends any[] ? number extends T["length"] ? Input<T[number]>[] : Inputs<T> : T extends object ? { [K in keyof T]: Input<T[K]> } : never));
|
|
132
|
+
declare namespace Input {
|
|
133
|
+
type Resolve<T> = T extends Output<infer U> ? U : T extends Primitive | Constructor | Function | S.Schema<any> | PolicyLike ? T : T extends any[] ? ResolveArray<T> : T extends Record<string, any> ? { [k in keyof T]: Input.Resolve<T[k]> } : never;
|
|
134
|
+
type ResolveArray<T extends any[]> = number extends T["length"] ? Resolve<T[number]>[] : ResolveTuple<T>;
|
|
135
|
+
type ResolveTuple<T extends any[], Accum extends any[] = []> = T extends [infer H, ...infer Tail] ? ResolveTuple<Tail, [...Accum, Input.Resolve<H>]> : Accum;
|
|
136
|
+
type ResolveProps<Props$2 extends Record<string, any>> = { [k in keyof Props$2]: Input.Resolve<Props$2[k]> };
|
|
137
|
+
type ResolveOpaque<T> = true extends IsOut<T> ? ResolveOut<T> : Resolve<T>;
|
|
138
|
+
type IsOut<T> = T extends Output<infer U> ? true : never;
|
|
139
|
+
type ResolveOut<T> = T extends Output<infer U> ? U : never;
|
|
140
|
+
}
|
|
141
|
+
type Inputs<T extends any[], Out extends any[] = []> = T extends [infer H, ...infer T] ? Inputs<T, [...Out, Input<H>]> : Out;
|
|
38
142
|
//#endregion
|
|
39
143
|
//#region src/service.d.ts
|
|
40
|
-
interface IService<ID$1 extends string = string, F extends
|
|
41
|
-
props: Props;
|
|
42
|
-
})["attr"]> extends
|
|
144
|
+
interface IService<ID$1 extends string = string, F extends IRuntime = IRuntime, Handler extends RuntimeHandler = RuntimeHandler, Props$2 extends RuntimeProps<F, any> = RuntimeProps<F, any>, Attr$1 = (F & {
|
|
145
|
+
props: Props$2;
|
|
146
|
+
})["attr"], Base = unknown> extends IResource<F["type"], ID$1, Props$2, Attr$1, F> {
|
|
43
147
|
kind: "Service";
|
|
44
148
|
type: F["type"];
|
|
45
149
|
id: ID$1;
|
|
@@ -54,193 +158,146 @@ interface IService<ID$1 extends string = string, F extends Runtime = Runtime, Ha
|
|
|
54
158
|
* An Effect that produces a handler stripped of its Infrastructure-time-only Capabilities.
|
|
55
159
|
*/
|
|
56
160
|
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;
|
|
161
|
+
props: Props$2;
|
|
58
162
|
/** @internal phantom type of this resource's output attributes */
|
|
59
|
-
attr: Attr;
|
|
163
|
+
attr: Attr$1;
|
|
60
164
|
/** @internal phantom type of this resource's parent */
|
|
61
165
|
parent: unknown;
|
|
166
|
+
new (): Service<ID$1, F, Handler, Props$2, Attr$1, Base>;
|
|
62
167
|
}
|
|
63
|
-
interface Service<ID$1 extends string = string, F extends
|
|
64
|
-
props: Props;
|
|
65
|
-
})["attr"]> extends IService<ID$1, F, Handler, 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 {}
|
|
168
|
+
interface Service<ID$1 extends string = string, F extends IRuntime = IRuntime, Handler extends RuntimeHandler = RuntimeHandler, Props$2 extends RuntimeProps<F, any> = RuntimeProps<F, any>, Attr$1 = (F & {
|
|
169
|
+
props: Props$2;
|
|
170
|
+
})["attr"], Base = unknown> extends IService<ID$1, F, Handler, Props$2, Attr$1, Base> {}
|
|
96
171
|
//#endregion
|
|
97
172
|
//#region src/provider.d.ts
|
|
98
|
-
|
|
99
|
-
type Diff = {
|
|
100
|
-
action: "update" | "noop";
|
|
101
|
-
deleteFirst?: undefined;
|
|
102
|
-
} | {
|
|
103
|
-
action: "replace";
|
|
104
|
-
deleteFirst?: boolean;
|
|
105
|
-
};
|
|
173
|
+
interface Provider<R extends Resource | Service> extends Context.TagClass<Provider<R>, R["type"], ProviderService<any>> {}
|
|
106
174
|
type BindingData<Res extends Resource> = [Res] extends [Runtime] ? Res["binding"][] : any[];
|
|
107
|
-
|
|
175
|
+
type Props<Res extends Resource> = Input.ResolveOpaque<Res["props"]>;
|
|
176
|
+
interface ProviderService<Res extends Resource = Resource, ReadReq = never, DiffReq = never, PrecreateReq = never, CreateReq = never, UpdateReq = never, DeleteReq = never> {
|
|
177
|
+
/**
|
|
178
|
+
* The version of the provider.
|
|
179
|
+
*
|
|
180
|
+
* @default 0
|
|
181
|
+
*/
|
|
182
|
+
version?: number;
|
|
108
183
|
read?(input: {
|
|
109
184
|
id: string;
|
|
110
|
-
|
|
185
|
+
instanceId: string;
|
|
186
|
+
olds: Props<Res> | undefined;
|
|
111
187
|
output: Res["attr"] | undefined;
|
|
112
188
|
session: ScopedPlanStatusSession;
|
|
113
189
|
bindings: BindingData<Res>;
|
|
114
|
-
}): Effect$1.Effect<Res["attr"] | undefined, any,
|
|
190
|
+
}): Effect$1.Effect<Res["attr"] | undefined, any, ReadReq>;
|
|
191
|
+
/**
|
|
192
|
+
* Properties that are always stable across any update.
|
|
193
|
+
*/
|
|
194
|
+
stables?: Extract<keyof Res["attr"], string>[];
|
|
115
195
|
diff?(input: {
|
|
116
196
|
id: string;
|
|
117
|
-
olds: Res
|
|
197
|
+
olds: Props<Res>;
|
|
198
|
+
instanceId: string;
|
|
118
199
|
news: Res["props"];
|
|
119
200
|
output: Res["attr"];
|
|
120
|
-
}): Effect$1.Effect<Diff | void, never,
|
|
201
|
+
}): Effect$1.Effect<Diff | void, never, DiffReq>;
|
|
121
202
|
precreate?(input: {
|
|
122
203
|
id: string;
|
|
123
|
-
news: Res
|
|
204
|
+
news: Props<Res>;
|
|
205
|
+
instanceId: string;
|
|
124
206
|
session: ScopedPlanStatusSession;
|
|
125
|
-
}): Effect$1.Effect<Res["attr"], any,
|
|
207
|
+
}): Effect$1.Effect<Res["attr"], any, PrecreateReq>;
|
|
126
208
|
create(input: {
|
|
127
209
|
id: string;
|
|
128
|
-
|
|
210
|
+
instanceId: string;
|
|
211
|
+
news: Props<Res>;
|
|
129
212
|
session: ScopedPlanStatusSession;
|
|
130
213
|
bindings: BindingData<Res>;
|
|
131
|
-
}): Effect$1.Effect<Res["attr"], any,
|
|
214
|
+
}): Effect$1.Effect<Res["attr"], any, CreateReq>;
|
|
132
215
|
update(input: {
|
|
133
216
|
id: string;
|
|
134
|
-
|
|
135
|
-
|
|
217
|
+
instanceId: string;
|
|
218
|
+
news: Props<Res>;
|
|
219
|
+
olds: Props<Res>;
|
|
136
220
|
output: Res["attr"];
|
|
137
221
|
session: ScopedPlanStatusSession;
|
|
138
222
|
bindings: BindingData<Res>;
|
|
139
|
-
}): Effect$1.Effect<Res["attr"], any,
|
|
223
|
+
}): Effect$1.Effect<Res["attr"], any, UpdateReq>;
|
|
140
224
|
delete(input: {
|
|
141
225
|
id: string;
|
|
142
|
-
|
|
226
|
+
instanceId: string;
|
|
227
|
+
olds: Props<Res>;
|
|
143
228
|
output: Res["attr"];
|
|
144
229
|
session: ScopedPlanStatusSession;
|
|
145
230
|
bindings: BindingData<Res>;
|
|
146
|
-
}): Effect$1.Effect<void, any,
|
|
231
|
+
}): Effect$1.Effect<void, any, DeleteReq>;
|
|
147
232
|
}
|
|
148
233
|
//#endregion
|
|
149
|
-
//#region src/
|
|
150
|
-
type
|
|
151
|
-
interface
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
props: Props;
|
|
156
|
-
|
|
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"]>> {
|
|
234
|
+
//#region src/resource.d.ts
|
|
235
|
+
type AnyResource = Resource<string, string, any, any>;
|
|
236
|
+
interface IResource<Type extends string = string, ID$1 extends string = string, Props$2 = unknown, Attrs = unknown, Base = unknown> {
|
|
237
|
+
id: ID$1;
|
|
238
|
+
type: Type;
|
|
239
|
+
Props: unknown;
|
|
240
|
+
props: Props$2;
|
|
241
|
+
base: Base;
|
|
161
242
|
/** @internal phantom */
|
|
162
|
-
|
|
243
|
+
attr: Attrs;
|
|
163
244
|
}
|
|
164
|
-
|
|
165
|
-
|
|
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
|
-
};
|
|
245
|
+
interface Resource<Type extends string = string, ID$1 extends string = string, Props$2 = unknown, Attrs = unknown, Base = unknown> extends IResource<Type, ID$1, Props$2, Attrs, Base> {
|
|
246
|
+
new (): Resource<Type, ID$1, Props$2, Attrs, Base>;
|
|
177
247
|
}
|
|
178
|
-
interface
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
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
|
-
};
|
|
248
|
+
interface ResourceTags<R extends Resource<string, string, any, any>> {
|
|
249
|
+
of<S$1 extends ProviderService<R>>(service: S$1): S$1;
|
|
250
|
+
tag: Provider<R>;
|
|
251
|
+
effect<Err, Req$1, ReadReq = never, DiffReq = never, PrecreateReq = never, CreateReq = never, UpdateReq = never, DeleteReq = never>(eff: Effect<ProviderService<R, ReadReq, DiffReq, PrecreateReq, CreateReq, UpdateReq, DeleteReq>, Err, Req$1>): Layer.Layer<Provider<R>, Err, Req$1 | ReadReq | DiffReq | PrecreateReq | CreateReq | UpdateReq | DeleteReq>;
|
|
252
|
+
succeed<ReadReq = never, DiffReq = never, PrecreateReq = never, CreateReq = never, UpdateReq = never, DeleteReq = never>(service: ProviderService<R, ReadReq, DiffReq, PrecreateReq, CreateReq, UpdateReq, DeleteReq>): Layer.Layer<Provider<R>, never, ReadReq | DiffReq | PrecreateReq | CreateReq | UpdateReq | DeleteReq>;
|
|
193
253
|
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
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"];
|
|
254
|
+
declare const Resource: <Ctor extends (id: string, props: any) => Resource>(type: ReturnType<Ctor>["type"]) => Ctor & {
|
|
255
|
+
new (): ReturnType<Ctor> & {
|
|
256
|
+
parent: ReturnType<Ctor>;
|
|
206
257
|
};
|
|
258
|
+
type: ReturnType<Ctor>["type"];
|
|
259
|
+
parent: ReturnType<Ctor>;
|
|
260
|
+
provider: ResourceTags<ReturnType<Ctor>>;
|
|
261
|
+
} & {
|
|
262
|
+
type: ReturnType<Ctor>["type"];
|
|
263
|
+
provider: ResourceTags<ReturnType<Ctor>>;
|
|
264
|
+
};
|
|
265
|
+
//#endregion
|
|
266
|
+
//#region src/runtime.d.ts
|
|
267
|
+
type RuntimeHandler<Inputs$1 extends any[] = any[], Output$1 = any, Err = any, Req$1 = any> = (...inputs: Inputs$1) => Effect$1.Effect<Output$1, Err, Req$1>;
|
|
268
|
+
declare namespace RuntimeHandler {
|
|
269
|
+
type Caps<H$1 extends RuntimeHandler | unknown> = Extract<Effect$1.Effect.Context<ReturnType<Extract<H$1, RuntimeHandler>>>, Capability>;
|
|
207
270
|
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
target: {
|
|
217
|
-
id: string;
|
|
218
|
-
props: Target["props"];
|
|
219
|
-
attr: Target["attr"];
|
|
271
|
+
declare namespace Runtime {
|
|
272
|
+
type Binding<F, Cap> = F extends {
|
|
273
|
+
readonly Binding: unknown;
|
|
274
|
+
} ? (F & {
|
|
275
|
+
readonly cap: Cap;
|
|
276
|
+
})["Binding"] : {
|
|
277
|
+
readonly F: F;
|
|
278
|
+
readonly cap: Types.Contravariant<Cap>;
|
|
220
279
|
};
|
|
221
280
|
}
|
|
222
|
-
interface
|
|
223
|
-
|
|
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
|
-
};
|
|
281
|
+
interface RuntimeProps<Run extends IRuntime, Req$1> {
|
|
282
|
+
bindings: Policy<Run, Extract<Req$1, Capability>, unknown>;
|
|
235
283
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
}
|
|
284
|
+
interface IRuntime<Type extends string = string, Handler = unknown, Props$2 = unknown> extends IResource<Type, string, Props$2> {
|
|
285
|
+
type: Type;
|
|
286
|
+
props: Props$2;
|
|
287
|
+
handler: Handler;
|
|
288
|
+
binding: unknown;
|
|
289
|
+
/** @internal phantom */
|
|
290
|
+
capability: unknown;
|
|
291
|
+
}
|
|
292
|
+
interface Runtime<Type extends string = string, Handler = unknown, Props$2 = unknown> extends IRuntime<Type, Handler, Props$2>, Resource<Type, string, Props$2> {
|
|
293
|
+
provider: ResourceTags<this>;
|
|
294
|
+
<const ID$1 extends string, Inputs$1 extends any[], Output$1, Err, Req$1, Handler extends RuntimeHandler<Inputs$1, Output$1, Err, Req$1>>(id: ID$1, {
|
|
295
|
+
handle
|
|
296
|
+
}: {
|
|
297
|
+
handle: Handler;
|
|
298
|
+
}): <const Props$2 extends this["props"]>(props: Props$2) => Service<ID$1, this, Handler, Props$2>;
|
|
299
|
+
}
|
|
300
|
+
declare const Runtime: <const Type extends string>(type: Type) => <Self extends Runtime>() => Self;
|
|
244
301
|
//#endregion
|
|
245
302
|
//#region src/policy.d.ts
|
|
246
303
|
/**
|
|
@@ -252,7 +309,8 @@ type BindingService<Target extends Runtime = any, Source extends Resource = Reso
|
|
|
252
309
|
*
|
|
253
310
|
* A Policy is invariant over the set of Capabilities to ensure least-privilege.
|
|
254
311
|
*/
|
|
255
|
-
interface Policy<F extends
|
|
312
|
+
interface Policy<F extends IRuntime, in out Capabilities, Tags = unknown> {
|
|
313
|
+
readonly kind: "alchemy/Policy";
|
|
256
314
|
readonly runtime: F;
|
|
257
315
|
readonly tags: Tags[];
|
|
258
316
|
readonly capabilities: Capabilities[];
|
|
@@ -300,9 +358,9 @@ declare namespace Capability {
|
|
|
300
358
|
resource: c["resource"];
|
|
301
359
|
constraint: Constraint.Simplify<c["constraint"]>;
|
|
302
360
|
})["Reduce"] : never;
|
|
303
|
-
type KeysWithNever<T> = { [K in keyof T]: T[K] extends never | Policy.AnyOf<never> ? K : never }[keyof T];
|
|
361
|
+
type KeysWithNever<T> = { [K in keyof T]: T[K$1] extends never | Policy.AnyOf<never> ? K$1 : never }[keyof T];
|
|
304
362
|
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;
|
|
363
|
+
type Get<T, K$1 extends string | number | symbol> = T extends { [k in K$1]: infer V } ? V : never;
|
|
306
364
|
type Keys<T> = T extends any ? keyof T : never;
|
|
307
365
|
type BoxPolicy<T> = [T] extends [{
|
|
308
366
|
anyOf: (infer U)[];
|
|
@@ -312,44 +370,102 @@ declare namespace Capability {
|
|
|
312
370
|
}
|
|
313
371
|
}
|
|
314
372
|
//#endregion
|
|
315
|
-
//#region src/
|
|
316
|
-
type
|
|
317
|
-
|
|
318
|
-
|
|
373
|
+
//#region src/binding.d.ts
|
|
374
|
+
type AnyBinding<F extends IRuntime = any> = Binding<F, any, any, any, string, boolean>;
|
|
375
|
+
interface Binding<Run extends IRuntime<any, any, any>, Cap extends Capability = Capability, Props$2 = any, Attr$1 extends Run["binding"] = any, Tag extends string = Cap["type"], IsCustom extends boolean = (Cap["type"] extends Tag ? false : true)> {
|
|
376
|
+
runtime: Run;
|
|
377
|
+
capability: Cap;
|
|
378
|
+
tag: Tag;
|
|
379
|
+
props: Props$2;
|
|
380
|
+
attr: Attr$1;
|
|
381
|
+
isCustom: IsCustom;
|
|
319
382
|
}
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
383
|
+
/** Tag for a Service that can bind a Capability to a Runtime */
|
|
384
|
+
interface Bind<F extends IRuntime, Cap extends Capability, Tag extends string> extends Context.Tag<`${F["type"]}(${Cap["type"]}, ${Tag})`, BindingService<F, Extract<Extract<Cap["resource"], Resource>["base"], Resource>, F["props"]>> {
|
|
385
|
+
/** @internal phantom */
|
|
386
|
+
name: Tag;
|
|
387
|
+
}
|
|
388
|
+
declare const Binding: {
|
|
389
|
+
<F extends (resource: any, props?: any) => AnyBinding & {
|
|
390
|
+
isCustom: true;
|
|
391
|
+
}>(runtime: ReturnType<F>["runtime"], type: ReturnType<F>["capability"]["type"], tag: ReturnType<F>["tag"]): F & BindingDeclaration<ReturnType<F>["runtime"], F>;
|
|
392
|
+
<F extends (resource: any, props?: any) => AnyBinding & {
|
|
393
|
+
isCustom: false;
|
|
394
|
+
}>(runtime: ReturnType<F>["runtime"], type: ReturnType<F>["capability"]["type"]): F & BindingDeclaration<ReturnType<F>["runtime"], F>;
|
|
395
|
+
};
|
|
396
|
+
interface BindingDeclaration<Run extends IRuntime, F extends (target: any, props?: any) => AnyBinding<Run>, Tag extends string = ReturnType<F>["tag"], Cap extends Capability = ReturnType<F>["capability"]> {
|
|
397
|
+
provider: {
|
|
398
|
+
effect<Err, Req$1>(eff: Effect<BindingService<Run, Parameters<F>[0], Parameters<F>[1], ReturnType<F>["attr"]>, Err, Req$1>): Layer.Layer<Bind<Run, Cap, Tag>, Err, Req$1>;
|
|
399
|
+
succeed(service: BindingService<Run, Parameters<F>[0], Parameters<F>[1], ReturnType<F>["attr"]>): Layer.Layer<Bind<Run, Cap, Tag>>;
|
|
328
400
|
};
|
|
329
401
|
}
|
|
330
|
-
interface
|
|
331
|
-
|
|
402
|
+
interface BindingDiffProps<Source extends IResource = IResource, Target extends IResource = IResource, Props$2 = any, Attr$1 = any> {
|
|
403
|
+
source: {
|
|
404
|
+
id: string;
|
|
405
|
+
props: Source["props"];
|
|
406
|
+
oldProps?: Source["props"];
|
|
407
|
+
oldAttr?: Source["attr"];
|
|
408
|
+
};
|
|
409
|
+
props: Props$2;
|
|
410
|
+
attr: Attr$1 | undefined;
|
|
411
|
+
target: {
|
|
412
|
+
id: string;
|
|
413
|
+
props: Target["props"];
|
|
414
|
+
oldProps?: Target["props"];
|
|
415
|
+
oldAttr?: Target["attr"];
|
|
416
|
+
};
|
|
332
417
|
}
|
|
333
|
-
interface
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
418
|
+
interface BindingAttachProps<Source extends IResource, Target extends IResource, Props$2, Attr$1> {
|
|
419
|
+
source: {
|
|
420
|
+
id: string;
|
|
421
|
+
attr: Source["attr"];
|
|
422
|
+
props: Source["props"];
|
|
423
|
+
};
|
|
424
|
+
props: Props$2;
|
|
425
|
+
attr: Attr$1 | undefined;
|
|
426
|
+
target: {
|
|
427
|
+
id: string;
|
|
428
|
+
props: Target["props"];
|
|
429
|
+
attr: Target["attr"];
|
|
430
|
+
};
|
|
431
|
+
}
|
|
432
|
+
interface BindingReattachProps<Source extends IResource, Target extends IResource, Props$2, Attr$1> {
|
|
433
|
+
source: {
|
|
434
|
+
id: string;
|
|
435
|
+
attr: Source["attr"];
|
|
436
|
+
props: Source["props"];
|
|
437
|
+
};
|
|
438
|
+
props: Props$2;
|
|
439
|
+
attr: Attr$1;
|
|
440
|
+
target: {
|
|
441
|
+
id: string;
|
|
442
|
+
props: Target["props"];
|
|
443
|
+
attr: Target["attr"];
|
|
444
|
+
};
|
|
345
445
|
}
|
|
346
|
-
|
|
347
|
-
|
|
446
|
+
interface BindingDetachProps<Source extends IResource, Target extends IResource, Props$2, Attr$1> {
|
|
447
|
+
source: {
|
|
448
|
+
id: string;
|
|
449
|
+
attr: Source["attr"];
|
|
450
|
+
props: Source["props"];
|
|
451
|
+
};
|
|
452
|
+
props: Props$2;
|
|
453
|
+
attr: Attr$1 | undefined;
|
|
454
|
+
target: {
|
|
455
|
+
id: string;
|
|
456
|
+
props: Target["props"];
|
|
457
|
+
attr: Target["attr"];
|
|
458
|
+
};
|
|
459
|
+
}
|
|
460
|
+
type BindingService<Target extends IRuntime = any, Source extends IResource = IResource, Props$2 = any, Attr$1 extends Target["binding"] = any, DiffReq = never, PreReattachReq = never, AttachReq = never, ReattachReq = never, DetachReq = never, PostAttachReq = never> = {
|
|
461
|
+
diff?: (props: BindingDiffProps<Source, Target, Props$2>) => Effect<Diff, never, DiffReq>;
|
|
462
|
+
preattach?: (props: BindingAttachProps<Source, Target, Props$2, Attr$1>) => Effect<Partial<Target["attr"]>, never, PreReattachReq>;
|
|
463
|
+
attach: (props: BindingAttachProps<Source, Target, Props$2, Attr$1>) => Effect<Attr$1, never, AttachReq> | Attr$1;
|
|
464
|
+
postattach?: (props: BindingAttachProps<Source, Target, Props$2, Attr$1>) => Effect<Omit<Attr$1, keyof Target["binding"]>, never, PostAttachReq>;
|
|
465
|
+
reattach?: (props: BindingReattachProps<Source, Target, Props$2, Attr$1>) => Effect<Attr$1, never, ReattachReq> | Attr$1;
|
|
466
|
+
detach?: (props: BindingDetachProps<Source, Target, Props$2, Attr$1>) => Effect<void, never, DetachReq> | void;
|
|
348
467
|
};
|
|
349
468
|
//#endregion
|
|
350
|
-
//#region src/phase.d.ts
|
|
351
|
-
type Phase = "update" | "destroy";
|
|
352
|
-
//#endregion
|
|
353
469
|
//#region src/plan.d.ts
|
|
354
470
|
/**
|
|
355
471
|
* A node in the plan that represents a binding operation acting on a resource.
|
|
@@ -377,73 +493,77 @@ type NoopBind<B extends AnyBinding = AnyBinding> = {
|
|
|
377
493
|
binding: B;
|
|
378
494
|
attr: B["attr"];
|
|
379
495
|
};
|
|
380
|
-
|
|
381
|
-
|
|
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";
|
|
496
|
+
type Apply<R extends Resource = AnyResource> = Create<R> | Update<R> | Replace<R> | NoopUpdate<R>;
|
|
497
|
+
interface BaseNode<R extends Resource = AnyResource> {
|
|
386
498
|
resource: R;
|
|
387
|
-
|
|
388
|
-
provider: ProviderService;
|
|
389
|
-
attributes: R["attr"];
|
|
499
|
+
provider: ProviderService<R>;
|
|
390
500
|
bindings: BindNode[];
|
|
391
|
-
|
|
392
|
-
|
|
501
|
+
downstream: string[];
|
|
502
|
+
}
|
|
503
|
+
interface Create<R extends Resource = AnyResource> extends BaseNode<R> {
|
|
504
|
+
action: "create";
|
|
505
|
+
props: any;
|
|
506
|
+
state: CreatingResourceState | undefined;
|
|
507
|
+
}
|
|
508
|
+
interface Update<R extends Resource = AnyResource> extends BaseNode<R> {
|
|
393
509
|
action: "update";
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
provider: ProviderService;
|
|
399
|
-
attributes: R["attr"];
|
|
400
|
-
bindings: BindNode[];
|
|
401
|
-
};
|
|
402
|
-
type Delete<R extends Resource> = {
|
|
510
|
+
props: any;
|
|
511
|
+
state: CreatedResourceState | UpdatedResourceState | UpdatingReourceState | ReplacedResourceState;
|
|
512
|
+
}
|
|
513
|
+
interface Delete<R extends Resource = AnyResource> extends BaseNode<R> {
|
|
403
514
|
action: "delete";
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
provider: ProviderService;
|
|
408
|
-
bindings: BindNode[];
|
|
409
|
-
attributes: R["attr"];
|
|
410
|
-
downstream: string[];
|
|
411
|
-
};
|
|
412
|
-
type NoopUpdate<R extends Resource> = {
|
|
515
|
+
state: ResourceState;
|
|
516
|
+
}
|
|
517
|
+
interface NoopUpdate<R extends Resource = AnyResource> extends BaseNode<R> {
|
|
413
518
|
action: "noop";
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
};
|
|
418
|
-
type Replace<R extends Resource> = {
|
|
519
|
+
state: CreatedResourceState | UpdatedResourceState;
|
|
520
|
+
}
|
|
521
|
+
interface Replace<R extends Resource = AnyResource> extends BaseNode<R> {
|
|
419
522
|
action: "replace";
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
attributes: R["attr"];
|
|
427
|
-
deleteFirst?: boolean;
|
|
428
|
-
};
|
|
429
|
-
type Plan = {
|
|
430
|
-
phase: Phase;
|
|
431
|
-
resources: { [id in string]: CRUD };
|
|
523
|
+
props: any;
|
|
524
|
+
deleteFirst: boolean;
|
|
525
|
+
state: CreatingResourceState | CreatedResourceState | UpdatingReourceState | UpdatedResourceState | ReplacingResourceState | ReplacedResourceState;
|
|
526
|
+
}
|
|
527
|
+
type IPlan = {
|
|
528
|
+
resources: { [id in string]: Apply<any> };
|
|
432
529
|
deletions: { [id in string]?: Delete<Resource> };
|
|
433
530
|
};
|
|
434
531
|
//#endregion
|
|
435
|
-
//#region src/
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
}
|
|
443
|
-
|
|
532
|
+
//#region src/event.d.ts
|
|
533
|
+
type ApplyStatus = "attaching" | "post-attach" | "pending" | "pre-creating" | "creating" | "creating replacement" | "created" | "updating" | "updated" | "deleting" | "deleted" | "replacing" | "replaced" | "success" | "fail";
|
|
534
|
+
type ApplyEvent = AnnotateEvent | StatusChangeEvent;
|
|
535
|
+
interface AnnotateEvent {
|
|
536
|
+
kind: "annotate";
|
|
537
|
+
id: string;
|
|
538
|
+
message: string;
|
|
539
|
+
}
|
|
540
|
+
interface StatusChangeEvent {
|
|
541
|
+
kind: "status-change";
|
|
542
|
+
id: string;
|
|
543
|
+
type: string;
|
|
544
|
+
status: ApplyStatus;
|
|
545
|
+
message?: string;
|
|
546
|
+
bindingId?: string;
|
|
547
|
+
}
|
|
548
|
+
//#endregion
|
|
549
|
+
//#region src/cli/service.d.ts
|
|
550
|
+
interface PlanStatusSession {
|
|
551
|
+
emit: (event: ApplyEvent) => Effect$1.Effect<void>;
|
|
552
|
+
done: () => Effect$1.Effect<void>;
|
|
553
|
+
}
|
|
554
|
+
interface ScopedPlanStatusSession extends PlanStatusSession {
|
|
555
|
+
note: (note: string) => Effect$1.Effect<void>;
|
|
556
|
+
}
|
|
557
|
+
interface CLIService {
|
|
558
|
+
approvePlan: <P$1 extends IPlan>(plan: P$1) => Effect$1.Effect<boolean>;
|
|
559
|
+
displayPlan: <P$1 extends IPlan>(plan: P$1) => Effect$1.Effect<void>;
|
|
560
|
+
startApplySession: <P$1 extends IPlan>(plan: P$1) => Effect$1.Effect<PlanStatusSession>;
|
|
561
|
+
}
|
|
562
|
+
declare const CLI_base: Context.TagClass<CLI, "CLIService", CLIService>;
|
|
563
|
+
declare class CLI extends CLI_base {}
|
|
444
564
|
//#endregion
|
|
445
|
-
//#region src/cli/
|
|
446
|
-
declare const
|
|
565
|
+
//#region src/cli/ink-service.d.ts
|
|
566
|
+
declare const inkCLI: () => Layer.Layer<CLI, never, never>;
|
|
447
567
|
//#endregion
|
|
448
|
-
export {
|
|
568
|
+
export { CLI, CLIService, PlanStatusSession, ScopedPlanStatusSession, inkCLI };
|
|
449
569
|
//# sourceMappingURL=index.d.ts.map
|