alchemy 0.62.3 → 0.63.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.js +1516 -1202
- package/bin/commands/deploy.ts +2 -0
- package/bin/commands/dev.ts +2 -0
- package/bin/services/execute-alchemy.ts +11 -0
- package/bin/services/template-manager.ts +2 -0
- package/bin/types.ts +2 -1
- package/lib/alchemy.d.ts +6 -22
- package/lib/alchemy.d.ts.map +1 -1
- package/lib/alchemy.js +65 -169
- package/lib/alchemy.js.map +1 -1
- package/lib/apply.d.ts +0 -2
- package/lib/apply.d.ts.map +1 -1
- package/lib/apply.js +2 -16
- package/lib/apply.js.map +1 -1
- package/lib/aws/account-id.d.ts.map +1 -1
- package/lib/aws/account-id.js +3 -2
- package/lib/aws/account-id.js.map +1 -1
- package/lib/aws/bucket.d.ts +8 -2
- package/lib/aws/bucket.d.ts.map +1 -1
- package/lib/aws/bucket.js +21 -14
- package/lib/aws/bucket.js.map +1 -1
- package/lib/aws/ec2/security-group.d.ts +8 -2
- package/lib/aws/ec2/security-group.d.ts.map +1 -1
- package/lib/aws/ec2/security-group.js +7 -2
- package/lib/aws/ec2/security-group.js.map +1 -1
- package/lib/aws/function.d.ts +9 -3
- package/lib/aws/function.d.ts.map +1 -1
- package/lib/aws/function.js +35 -26
- package/lib/aws/function.js.map +1 -1
- package/lib/aws/policy-attachment.d.ts.map +1 -1
- package/lib/aws/policy-attachment.js +2 -1
- package/lib/aws/policy-attachment.js.map +1 -1
- package/lib/aws/policy.d.ts +8 -2
- package/lib/aws/policy.d.ts.map +1 -1
- package/lib/aws/policy.js +13 -4
- package/lib/aws/policy.js.map +1 -1
- package/lib/aws/queue.d.ts +8 -2
- package/lib/aws/queue.d.ts.map +1 -1
- package/lib/aws/queue.js +22 -14
- package/lib/aws/queue.js.map +1 -1
- package/lib/aws/role.d.ts +8 -2
- package/lib/aws/role.d.ts.map +1 -1
- package/lib/aws/role.js +10 -3
- package/lib/aws/role.js.map +1 -1
- package/lib/aws/ses.d.ts +1 -1
- package/lib/aws/ses.d.ts.map +1 -1
- package/lib/aws/ses.js +2 -1
- package/lib/aws/ses.js.map +1 -1
- package/lib/aws/ssm-parameter.d.ts +8 -2
- package/lib/aws/ssm-parameter.d.ts.map +1 -1
- package/lib/aws/ssm-parameter.js +15 -10
- package/lib/aws/ssm-parameter.js.map +1 -1
- package/lib/aws/table.d.ts +8 -2
- package/lib/aws/table.d.ts.map +1 -1
- package/lib/aws/table.js +17 -9
- package/lib/aws/table.js.map +1 -1
- package/lib/cloudflare/account-api-token.d.ts +2 -2
- package/lib/cloudflare/account-api-token.d.ts.map +1 -1
- package/lib/cloudflare/account-api-token.js +7 -6
- package/lib/cloudflare/account-api-token.js.map +1 -1
- package/lib/cloudflare/ai-gateway.d.ts +9 -4
- package/lib/cloudflare/ai-gateway.d.ts.map +1 -1
- package/lib/cloudflare/ai-gateway.js +20 -24
- package/lib/cloudflare/ai-gateway.js.map +1 -1
- package/lib/cloudflare/api-schema.d.ts +2 -2
- package/lib/cloudflare/api-schema.d.ts.map +1 -1
- package/lib/cloudflare/api-schema.js +6 -2
- package/lib/cloudflare/api-schema.js.map +1 -1
- package/lib/cloudflare/api-shield.d.ts +5 -1
- package/lib/cloudflare/api-shield.d.ts.map +1 -1
- package/lib/cloudflare/api-shield.js +6 -1
- package/lib/cloudflare/api-shield.js.map +1 -1
- package/lib/cloudflare/assets.d.ts +1 -1
- package/lib/cloudflare/assets.d.ts.map +1 -1
- package/lib/cloudflare/astro/astro.d.ts.map +1 -1
- package/lib/cloudflare/astro/astro.js +3 -1
- package/lib/cloudflare/astro/astro.js.map +1 -1
- package/lib/cloudflare/astro/plugin.d.ts +2 -1
- package/lib/cloudflare/astro/plugin.d.ts.map +1 -1
- package/lib/cloudflare/astro/plugin.js.map +1 -1
- package/lib/cloudflare/bindings.d.ts +2 -2
- package/lib/cloudflare/bindings.d.ts.map +1 -1
- package/lib/cloudflare/bound.d.ts +1 -1
- package/lib/cloudflare/bound.d.ts.map +1 -1
- package/lib/cloudflare/bucket.d.ts +120 -1
- package/lib/cloudflare/bucket.d.ts.map +1 -1
- package/lib/cloudflare/bucket.js +80 -2
- package/lib/cloudflare/bucket.js.map +1 -1
- package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
- package/lib/cloudflare/compatibility-date.gen.js +1 -1
- package/lib/cloudflare/container.d.ts +10 -4
- package/lib/cloudflare/container.d.ts.map +1 -1
- package/lib/cloudflare/container.js +12 -9
- package/lib/cloudflare/container.js.map +1 -1
- package/lib/cloudflare/custom-domain.js +2 -1
- package/lib/cloudflare/custom-domain.js.map +1 -1
- package/lib/cloudflare/d1-database.d.ts +1 -1
- package/lib/cloudflare/d1-database.d.ts.map +1 -1
- package/lib/cloudflare/d1-database.js +6 -2
- package/lib/cloudflare/d1-database.js.map +1 -1
- package/lib/cloudflare/dispatch-namespace.d.ts +2 -0
- package/lib/cloudflare/dispatch-namespace.d.ts.map +1 -1
- package/lib/cloudflare/dispatch-namespace.js +7 -5
- package/lib/cloudflare/dispatch-namespace.js.map +1 -1
- package/lib/cloudflare/hyperdrive.d.ts +7 -1
- package/lib/cloudflare/hyperdrive.d.ts.map +1 -1
- package/lib/cloudflare/hyperdrive.js +2 -1
- package/lib/cloudflare/hyperdrive.js.map +1 -1
- package/lib/cloudflare/kv-namespace.d.ts +3 -0
- package/lib/cloudflare/kv-namespace.d.ts.map +1 -1
- package/lib/cloudflare/kv-namespace.js +11 -2
- package/lib/cloudflare/kv-namespace.js.map +1 -1
- package/lib/cloudflare/miniflare/miniflare-worker-proxy.js +3 -1
- package/lib/cloudflare/miniflare/miniflare-worker-proxy.js.map +1 -1
- package/lib/cloudflare/miniflare/paths.d.ts +4 -0
- package/lib/cloudflare/miniflare/paths.d.ts.map +1 -1
- package/lib/cloudflare/miniflare/paths.js +11 -0
- package/lib/cloudflare/miniflare/paths.js.map +1 -1
- package/lib/cloudflare/pipeline.d.ts +14 -3
- package/lib/cloudflare/pipeline.d.ts.map +1 -1
- package/lib/cloudflare/pipeline.js +31 -2
- package/lib/cloudflare/pipeline.js.map +1 -1
- package/lib/cloudflare/queue-consumer.js +1 -1
- package/lib/cloudflare/queue-consumer.js.map +1 -1
- package/lib/cloudflare/queue.d.ts +4 -2
- package/lib/cloudflare/queue.d.ts.map +1 -1
- package/lib/cloudflare/queue.js +13 -9
- package/lib/cloudflare/queue.js.map +1 -1
- package/lib/cloudflare/react-router/plugin.d.ts +1 -1
- package/lib/cloudflare/react-router/plugin.d.ts.map +1 -1
- package/lib/cloudflare/react-router/react-router.d.ts.map +1 -1
- package/lib/cloudflare/react-router/react-router.js +32 -2
- package/lib/cloudflare/react-router/react-router.js.map +1 -1
- package/lib/cloudflare/redwood/plugin.d.ts +2 -1
- package/lib/cloudflare/redwood/plugin.d.ts.map +1 -1
- package/lib/cloudflare/redwood/plugin.js.map +1 -1
- package/lib/cloudflare/route.js +1 -1
- package/lib/cloudflare/route.js.map +1 -1
- package/lib/cloudflare/ruleset.d.ts +3 -1
- package/lib/cloudflare/ruleset.d.ts.map +1 -1
- package/lib/cloudflare/ruleset.js +3 -2
- package/lib/cloudflare/ruleset.js.map +1 -1
- package/lib/cloudflare/secret.d.ts +6 -23
- package/lib/cloudflare/secret.d.ts.map +1 -1
- package/lib/cloudflare/secret.js +8 -4
- package/lib/cloudflare/secret.js.map +1 -1
- package/lib/cloudflare/secrets-store.d.ts +1 -1
- package/lib/cloudflare/secrets-store.d.ts.map +1 -1
- package/lib/cloudflare/secrets-store.js +5 -2
- package/lib/cloudflare/secrets-store.js.map +1 -1
- package/lib/cloudflare/tunnel.d.ts +5 -1
- package/lib/cloudflare/tunnel.d.ts.map +1 -1
- package/lib/cloudflare/tunnel.js +5 -1
- package/lib/cloudflare/tunnel.js.map +1 -1
- package/lib/cloudflare/vectorize-index.d.ts +7 -1
- package/lib/cloudflare/vectorize-index.d.ts.map +1 -1
- package/lib/cloudflare/vectorize-index.js +5 -2
- package/lib/cloudflare/vectorize-index.js.map +1 -1
- package/lib/cloudflare/vite/plugin.d.ts +2 -1
- package/lib/cloudflare/vite/plugin.d.ts.map +1 -1
- package/lib/cloudflare/vite/plugin.js.map +1 -1
- package/lib/cloudflare/website.js +1 -1
- package/lib/cloudflare/website.js.map +1 -1
- package/lib/cloudflare/worker.d.ts +1 -1
- package/lib/cloudflare/worker.d.ts.map +1 -1
- package/lib/cloudflare/worker.js +12 -7
- package/lib/cloudflare/worker.js.map +1 -1
- package/lib/cloudflare/wrangler.json.d.ts +1 -1
- package/lib/cloudflare/wrangler.json.d.ts.map +1 -1
- package/lib/cloudflare/wrangler.json.js +5 -3
- package/lib/cloudflare/wrangler.json.js.map +1 -1
- package/lib/docker/container.d.ts +6 -0
- package/lib/docker/container.d.ts.map +1 -1
- package/lib/docker/container.js +5 -1
- package/lib/docker/container.js.map +1 -1
- package/lib/docker/network.d.ts +8 -2
- package/lib/docker/network.d.ts.map +1 -1
- package/lib/docker/network.js +7 -2
- package/lib/docker/network.js.map +1 -1
- package/lib/docker/volume.d.ts +8 -2
- package/lib/docker/volume.d.ts.map +1 -1
- package/lib/docker/volume.js +6 -4
- package/lib/docker/volume.js.map +1 -1
- package/lib/esbuild/bundle.d.ts +1 -1
- package/lib/fs/index.d.ts +0 -8
- package/lib/fs/index.d.ts.map +1 -1
- package/lib/fs/index.js +0 -8
- package/lib/fs/index.js.map +1 -1
- package/lib/github/client.d.ts +1 -1
- package/lib/github/client.d.ts.map +1 -1
- package/lib/github/client.js +2 -1
- package/lib/github/client.js.map +1 -1
- package/lib/github/repository-environment.d.ts +8 -2
- package/lib/github/repository-environment.d.ts.map +1 -1
- package/lib/github/repository-environment.js +16 -12
- package/lib/github/repository-environment.js.map +1 -1
- package/lib/neon/project.d.ts +7 -1
- package/lib/neon/project.d.ts.map +1 -1
- package/lib/neon/project.js +10 -6
- package/lib/neon/project.js.map +1 -1
- package/lib/planetscale/branch.d.ts +4 -2
- package/lib/planetscale/branch.d.ts.map +1 -1
- package/lib/planetscale/branch.js +18 -12
- package/lib/planetscale/branch.js.map +1 -1
- package/lib/planetscale/database.d.ts +8 -2
- package/lib/planetscale/database.d.ts.map +1 -1
- package/lib/planetscale/database.js +24 -16
- package/lib/planetscale/database.js.map +1 -1
- package/lib/planetscale/password.d.ts +8 -2
- package/lib/planetscale/password.d.ts.map +1 -1
- package/lib/planetscale/password.js +2 -2
- package/lib/planetscale/password.js.map +1 -1
- package/lib/resource.d.ts +0 -2
- package/lib/resource.d.ts.map +1 -1
- package/lib/resource.js +1 -9
- package/lib/resource.js.map +1 -1
- package/lib/scope.d.ts +9 -3
- package/lib/scope.d.ts.map +1 -1
- package/lib/scope.js +21 -34
- package/lib/scope.js.map +1 -1
- package/lib/sentry/client-key.d.ts +7 -1
- package/lib/sentry/client-key.d.ts.map +1 -1
- package/lib/sentry/client-key.js +45 -6
- package/lib/sentry/client-key.js.map +1 -1
- package/lib/sentry/project.d.ts +8 -2
- package/lib/sentry/project.d.ts.map +1 -1
- package/lib/sentry/project.js +35 -5
- package/lib/sentry/project.js.map +1 -1
- package/lib/sentry/team.d.ts +8 -2
- package/lib/sentry/team.d.ts.map +1 -1
- package/lib/sentry/team.js +36 -6
- package/lib/sentry/team.js.map +1 -1
- package/lib/serde.d.ts +0 -5
- package/lib/serde.d.ts.map +1 -1
- package/lib/serde.js +0 -28
- package/lib/serde.js.map +1 -1
- package/lib/state/d1-state-store.d.ts +1 -1
- package/lib/state/d1-state-store.d.ts.map +1 -1
- package/lib/state/d1-state-store.js +5 -5
- package/lib/state/d1-state-store.js.map +1 -1
- package/lib/state/sqlite-state-store.d.ts.map +1 -1
- package/lib/state/sqlite-state-store.js +7 -11
- package/lib/state/sqlite-state-store.js.map +1 -1
- package/lib/stripe/card.d.ts.map +1 -1
- package/lib/stripe/card.js +3 -2
- package/lib/stripe/card.js.map +1 -1
- package/lib/stripe/client.d.ts +2 -2
- package/lib/stripe/client.d.ts.map +1 -1
- package/lib/stripe/client.js +4 -3
- package/lib/stripe/client.js.map +1 -1
- package/lib/stripe/coupon.d.ts.map +1 -1
- package/lib/stripe/coupon.js +4 -3
- package/lib/stripe/coupon.js.map +1 -1
- package/lib/stripe/customer.js +2 -2
- package/lib/stripe/customer.js.map +1 -1
- package/lib/stripe/entitlements-feature.d.ts.map +1 -1
- package/lib/stripe/entitlements-feature.js +3 -2
- package/lib/stripe/entitlements-feature.js.map +1 -1
- package/lib/stripe/file.d.ts.map +1 -1
- package/lib/stripe/file.js +3 -2
- package/lib/stripe/file.js.map +1 -1
- package/lib/stripe/meter.js +2 -2
- package/lib/stripe/meter.js.map +1 -1
- package/lib/stripe/portal-configuration.d.ts.map +1 -1
- package/lib/stripe/portal-configuration.js +3 -2
- package/lib/stripe/portal-configuration.js.map +1 -1
- package/lib/stripe/price.d.ts.map +1 -1
- package/lib/stripe/price.js +3 -2
- package/lib/stripe/price.js.map +1 -1
- package/lib/stripe/product-feature.d.ts.map +1 -1
- package/lib/stripe/product-feature.js +3 -2
- package/lib/stripe/product-feature.js.map +1 -1
- package/lib/stripe/product.d.ts.map +1 -1
- package/lib/stripe/product.js +3 -2
- package/lib/stripe/product.js.map +1 -1
- package/lib/stripe/promotion-code.d.ts.map +1 -1
- package/lib/stripe/promotion-code.js +3 -2
- package/lib/stripe/promotion-code.js.map +1 -1
- package/lib/stripe/shipping-rate.d.ts.map +1 -1
- package/lib/stripe/shipping-rate.js +4 -3
- package/lib/stripe/shipping-rate.js.map +1 -1
- package/lib/stripe/tax-rate.d.ts.map +1 -1
- package/lib/stripe/tax-rate.js +3 -2
- package/lib/stripe/tax-rate.js.map +1 -1
- package/lib/stripe/webhook.d.ts.map +1 -1
- package/lib/stripe/webhook.js +4 -3
- package/lib/stripe/webhook.js.map +1 -1
- package/lib/test/vitest.d.ts.map +1 -1
- package/lib/test/vitest.js +1 -0
- package/lib/test/vitest.js.map +1 -1
- package/lib/upstash/redis.d.ts +8 -2
- package/lib/upstash/redis.d.ts.map +1 -1
- package/lib/upstash/redis.js +5 -4
- package/lib/upstash/redis.js.map +1 -1
- package/lib/util/ignore-matcher.d.ts.map +1 -1
- package/lib/util/ignore-matcher.js +3 -1
- package/lib/util/ignore-matcher.js.map +1 -1
- package/lib/util/peer.d.ts +10 -0
- package/lib/util/peer.d.ts.map +1 -0
- package/lib/util/peer.js +42 -0
- package/lib/util/peer.js.map +1 -0
- package/lib/vercel/project.d.ts +7 -1
- package/lib/vercel/project.d.ts.map +1 -1
- package/lib/vercel/project.js +28 -0
- package/lib/vercel/project.js.map +1 -1
- package/package.json +88 -74
- package/src/alchemy.ts +76 -222
- package/src/apply.ts +6 -19
- package/src/aws/account-id.ts +6 -3
- package/src/aws/bucket.ts +43 -32
- package/src/aws/ec2/security-group.ts +15 -3
- package/src/aws/function.ts +65 -39
- package/src/aws/policy-attachment.ts +10 -6
- package/src/aws/policy.ts +33 -15
- package/src/aws/queue.ts +50 -29
- package/src/aws/role.ts +37 -20
- package/src/aws/ses.ts +24 -20
- package/src/aws/ssm-parameter.ts +40 -20
- package/src/aws/table.ts +35 -17
- package/src/cloudflare/account-api-token.ts +9 -7
- package/src/cloudflare/ai-gateway.ts +37 -34
- package/src/cloudflare/api-schema.ts +33 -26
- package/src/cloudflare/api-shield.ts +15 -2
- package/src/cloudflare/astro/astro.ts +5 -1
- package/src/cloudflare/astro/plugin.ts +2 -1
- package/src/cloudflare/bindings.ts +2 -2
- package/src/cloudflare/bound.ts +1 -1
- package/src/cloudflare/bucket.ts +242 -3
- package/src/cloudflare/compatibility-date.gen.ts +1 -1
- package/src/cloudflare/container.ts +23 -12
- package/src/cloudflare/custom-domain.ts +2 -2
- package/src/cloudflare/d1-database.ts +10 -3
- package/src/cloudflare/dispatch-namespace.ts +10 -7
- package/src/cloudflare/hyperdrive.ts +13 -3
- package/src/cloudflare/kv-namespace.ts +25 -2
- package/src/cloudflare/miniflare/miniflare-worker-proxy.ts +3 -1
- package/src/cloudflare/miniflare/paths.ts +13 -0
- package/src/cloudflare/pipeline.ts +76 -28
- package/src/cloudflare/queue-consumer.ts +1 -1
- package/src/cloudflare/queue.ts +26 -14
- package/src/cloudflare/react-router/react-router.ts +28 -2
- package/src/cloudflare/redwood/plugin.ts +3 -2
- package/src/cloudflare/route.ts +1 -1
- package/src/cloudflare/ruleset.ts +7 -2
- package/src/cloudflare/secret.ts +20 -31
- package/src/cloudflare/secrets-store.ts +7 -3
- package/src/cloudflare/tunnel.ts +13 -2
- package/src/cloudflare/vectorize-index.ts +14 -3
- package/src/cloudflare/vite/plugin.ts +3 -2
- package/src/cloudflare/website.ts +1 -1
- package/src/cloudflare/worker.ts +35 -23
- package/src/cloudflare/wrangler.json.ts +7 -4
- package/src/docker/container.ts +13 -1
- package/src/docker/network.ts +18 -3
- package/src/docker/volume.ts +17 -6
- package/src/fs/index.ts +0 -8
- package/src/github/client.ts +6 -2
- package/src/github/repository-environment.ts +27 -13
- package/src/neon/project.ts +20 -6
- package/src/planetscale/branch.ts +24 -13
- package/src/planetscale/database.ts +38 -17
- package/src/planetscale/password.ts +10 -3
- package/src/resource.ts +1 -10
- package/src/scope.ts +29 -38
- package/src/sentry/client-key.ts +74 -6
- package/src/sentry/project.ts +59 -6
- package/src/sentry/team.ts +55 -7
- package/src/serde.ts +0 -44
- package/src/state/d1-state-store.ts +13 -6
- package/src/state/sqlite-state-store.ts +16 -17
- package/src/stripe/card.ts +5 -2
- package/src/stripe/client.ts +10 -3
- package/src/stripe/coupon.ts +4 -3
- package/src/stripe/customer.ts +2 -2
- package/src/stripe/entitlements-feature.ts +5 -2
- package/src/stripe/file.ts +3 -2
- package/src/stripe/meter.ts +2 -2
- package/src/stripe/portal-configuration.ts +5 -2
- package/src/stripe/price.ts +3 -2
- package/src/stripe/product-feature.ts +5 -2
- package/src/stripe/product.ts +3 -2
- package/src/stripe/promotion-code.ts +3 -2
- package/src/stripe/shipping-rate.ts +4 -3
- package/src/stripe/tax-rate.ts +3 -2
- package/src/stripe/webhook.ts +4 -3
- package/src/test/vitest.ts +1 -0
- package/src/upstash/redis.ts +15 -5
- package/src/util/ignore-matcher.ts +3 -1
- package/src/util/peer.ts +53 -0
- package/src/vercel/project.ts +46 -1
- package/templates/hono/README.md +19 -0
- package/templates/hono/_env +1 -0
- package/templates/hono/_env.example +1 -0
- package/templates/hono/_gitignore +34 -0
- package/templates/hono/alchemy.run.ts +22 -0
- package/templates/hono/package.json +18 -0
- package/templates/hono/src/index.ts +17 -0
- package/templates/hono/tsconfig.json +13 -0
- package/templates/hono/types/env.d.ts +16 -0
- package/templates/react-router/vite.config.ts +5 -3
- package/workers/cloudflare-state-store.js +69 -74
- package/workers/dofs-state-store.js +1 -1
- package/bin/bootstrap-s3.ts +0 -255
- package/lib/ai/ark.d.ts +0 -12
- package/lib/ai/ark.d.ts.map +0 -1
- package/lib/ai/ark.js +0 -87
- package/lib/ai/ark.js.map +0 -1
- package/lib/ai/astro-file.d.ts +0 -138
- package/lib/ai/astro-file.d.ts.map +0 -1
- package/lib/ai/astro-file.js +0 -158
- package/lib/ai/astro-file.js.map +0 -1
- package/lib/ai/client.d.ts +0 -51
- package/lib/ai/client.d.ts.map +0 -1
- package/lib/ai/client.js +0 -58
- package/lib/ai/client.js.map +0 -1
- package/lib/ai/css-file.d.ts +0 -132
- package/lib/ai/css-file.d.ts.map +0 -1
- package/lib/ai/css-file.js +0 -142
- package/lib/ai/css-file.js.map +0 -1
- package/lib/ai/data.d.ts +0 -152
- package/lib/ai/data.d.ts.map +0 -1
- package/lib/ai/data.js +0 -120
- package/lib/ai/data.js.map +0 -1
- package/lib/ai/document.d.ts +0 -208
- package/lib/ai/document.d.ts.map +0 -1
- package/lib/ai/document.js +0 -206
- package/lib/ai/document.js.map +0 -1
- package/lib/ai/html-file.d.ts +0 -129
- package/lib/ai/html-file.d.ts.map +0 -1
- package/lib/ai/html-file.js +0 -139
- package/lib/ai/html-file.js.map +0 -1
- package/lib/ai/index.d.ts +0 -11
- package/lib/ai/index.d.ts.map +0 -1
- package/lib/ai/index.js +0 -11
- package/lib/ai/index.js.map +0 -1
- package/lib/ai/json-file.d.ts +0 -161
- package/lib/ai/json-file.d.ts.map +0 -1
- package/lib/ai/json-file.js +0 -188
- package/lib/ai/json-file.js.map +0 -1
- package/lib/ai/typescript-file.d.ts +0 -140
- package/lib/ai/typescript-file.d.ts.map +0 -1
- package/lib/ai/typescript-file.js +0 -146
- package/lib/ai/typescript-file.js.map +0 -1
- package/lib/ai/vue-file.d.ts +0 -127
- package/lib/ai/vue-file.d.ts.map +0 -1
- package/lib/ai/vue-file.js +0 -137
- package/lib/ai/vue-file.js.map +0 -1
- package/lib/ai/yaml-file.d.ts +0 -170
- package/lib/ai/yaml-file.d.ts.map +0 -1
- package/lib/ai/yaml-file.js +0 -201
- package/lib/ai/yaml-file.js.map +0 -1
- package/lib/fs/static-astro-file.d.ts +0 -35
- package/lib/fs/static-astro-file.d.ts.map +0 -1
- package/lib/fs/static-astro-file.js +0 -40
- package/lib/fs/static-astro-file.js.map +0 -1
- package/lib/fs/static-css-file.d.ts +0 -25
- package/lib/fs/static-css-file.d.ts.map +0 -1
- package/lib/fs/static-css-file.js +0 -30
- package/lib/fs/static-css-file.js.map +0 -1
- package/lib/fs/static-html-file.d.ts +0 -32
- package/lib/fs/static-html-file.d.ts.map +0 -1
- package/lib/fs/static-html-file.js +0 -37
- package/lib/fs/static-html-file.js.map +0 -1
- package/lib/fs/static-json-file.d.ts +0 -18
- package/lib/fs/static-json-file.d.ts.map +0 -1
- package/lib/fs/static-json-file.js +0 -19
- package/lib/fs/static-json-file.js.map +0 -1
- package/lib/fs/static-text-file.d.ts +0 -13
- package/lib/fs/static-text-file.d.ts.map +0 -1
- package/lib/fs/static-text-file.js +0 -9
- package/lib/fs/static-text-file.js.map +0 -1
- package/lib/fs/static-typescript-file.d.ts +0 -20
- package/lib/fs/static-typescript-file.d.ts.map +0 -1
- package/lib/fs/static-typescript-file.js +0 -16
- package/lib/fs/static-typescript-file.js.map +0 -1
- package/lib/fs/static-vue-file.d.ts +0 -29
- package/lib/fs/static-vue-file.d.ts.map +0 -1
- package/lib/fs/static-vue-file.js +0 -34
- package/lib/fs/static-vue-file.js.map +0 -1
- package/lib/fs/static-yaml-file.d.ts +0 -23
- package/lib/fs/static-yaml-file.d.ts.map +0 -1
- package/lib/fs/static-yaml-file.js +0 -10
- package/lib/fs/static-yaml-file.js.map +0 -1
- package/lib/internal/docs/providers.d.ts +0 -34
- package/lib/internal/docs/providers.d.ts.map +0 -1
- package/lib/internal/docs/providers.js +0 -200
- package/lib/internal/docs/providers.js.map +0 -1
- package/lib/runtime/bind.d.ts +0 -25
- package/lib/runtime/bind.d.ts.map +0 -1
- package/lib/runtime/bind.js +0 -76
- package/lib/runtime/bind.js.map +0 -1
- package/lib/runtime/global.d.ts +0 -8
- package/lib/runtime/global.d.ts.map +0 -1
- package/lib/runtime/global.js +0 -3
- package/lib/runtime/global.js.map +0 -1
- package/lib/runtime/plugin.d.ts +0 -35
- package/lib/runtime/plugin.d.ts.map +0 -1
- package/lib/runtime/plugin.js +0 -134
- package/lib/runtime/plugin.js.map +0 -1
- package/lib/runtime/shims.d.ts +0 -6
- package/lib/runtime/shims.d.ts.map +0 -1
- package/lib/runtime/shims.js +0 -27
- package/lib/runtime/shims.js.map +0 -1
- package/lib/runtime/state.d.ts +0 -5
- package/lib/runtime/state.d.ts.map +0 -1
- package/lib/runtime/state.js +0 -4
- package/lib/runtime/state.js.map +0 -1
- package/lib/web/astro.d.ts +0 -148
- package/lib/web/astro.d.ts.map +0 -1
- package/lib/web/astro.js +0 -419
- package/lib/web/astro.js.map +0 -1
- package/lib/web/shadcn-component.d.ts +0 -30
- package/lib/web/shadcn-component.d.ts.map +0 -1
- package/lib/web/shadcn-component.js +0 -25
- package/lib/web/shadcn-component.js.map +0 -1
- package/lib/web/shadcn.d.ts +0 -98
- package/lib/web/shadcn.d.ts.map +0 -1
- package/lib/web/shadcn.js +0 -102
- package/lib/web/shadcn.js.map +0 -1
- package/lib/web/tailwind.d.ts +0 -65
- package/lib/web/tailwind.d.ts.map +0 -1
- package/lib/web/tailwind.js +0 -98
- package/lib/web/tailwind.js.map +0 -1
- package/lib/web/vite.d.ts +0 -96
- package/lib/web/vite.d.ts.map +0 -1
- package/lib/web/vite.js +0 -232
- package/lib/web/vite.js.map +0 -1
- package/lib/web/vitepress/config.d.ts +0 -12
- package/lib/web/vitepress/config.d.ts.map +0 -1
- package/lib/web/vitepress/config.js +0 -33
- package/lib/web/vitepress/config.js.map +0 -1
- package/lib/web/vitepress/custom-theme.d.ts +0 -174
- package/lib/web/vitepress/custom-theme.d.ts.map +0 -1
- package/lib/web/vitepress/custom-theme.js +0 -337
- package/lib/web/vitepress/custom-theme.js.map +0 -1
- package/lib/web/vitepress/dependencies.d.ts +0 -13
- package/lib/web/vitepress/dependencies.d.ts.map +0 -1
- package/lib/web/vitepress/dependencies.js +0 -37
- package/lib/web/vitepress/dependencies.js.map +0 -1
- package/lib/web/vitepress/home-page.d.ts +0 -247
- package/lib/web/vitepress/home-page.d.ts.map +0 -1
- package/lib/web/vitepress/home-page.js +0 -146
- package/lib/web/vitepress/home-page.js.map +0 -1
- package/lib/web/vitepress/index.d.ts +0 -6
- package/lib/web/vitepress/index.d.ts.map +0 -1
- package/lib/web/vitepress/index.js +0 -6
- package/lib/web/vitepress/index.js.map +0 -1
- package/lib/web/vitepress/process-front-matter-files.d.ts +0 -19
- package/lib/web/vitepress/process-front-matter-files.d.ts.map +0 -1
- package/lib/web/vitepress/process-front-matter-files.js +0 -73
- package/lib/web/vitepress/process-front-matter-files.js.map +0 -1
- package/lib/web/vitepress/vitepress.d.ts +0 -75
- package/lib/web/vitepress/vitepress.d.ts.map +0 -1
- package/lib/web/vitepress/vitepress.js +0 -254
- package/lib/web/vitepress/vitepress.js.map +0 -1
- package/src/ai/ark.ts +0 -118
- package/src/ai/astro-file.ts +0 -270
- package/src/ai/client.ts +0 -117
- package/src/ai/css-file.ts +0 -247
- package/src/ai/data.ts +0 -221
- package/src/ai/document.ts +0 -367
- package/src/ai/html-file.ts +0 -244
- package/src/ai/index.ts +0 -10
- package/src/ai/json-file.ts +0 -325
- package/src/ai/typescript-file.ts +0 -259
- package/src/ai/vue-file.ts +0 -242
- package/src/ai/yaml-file.ts +0 -328
- package/src/fs/static-astro-file.ts +0 -45
- package/src/fs/static-css-file.ts +0 -35
- package/src/fs/static-html-file.ts +0 -42
- package/src/fs/static-json-file.ts +0 -38
- package/src/fs/static-text-file.ts +0 -23
- package/src/fs/static-typescript-file.ts +0 -37
- package/src/fs/static-vue-file.ts +0 -39
- package/src/fs/static-yaml-file.ts +0 -33
- package/src/internal/docs/providers.ts +0 -286
- package/src/runtime/bind.ts +0 -95
- package/src/runtime/global.ts +0 -10
- package/src/runtime/plugin.ts +0 -163
- package/src/runtime/shims.js +0 -34
- package/src/runtime/state.ts +0 -9
- package/src/web/astro.ts +0 -643
- package/src/web/shadcn-component.ts +0 -72
- package/src/web/shadcn.ts +0 -221
- package/src/web/tailwind.ts +0 -167
- package/src/web/vite.ts +0 -407
- package/src/web/vitepress/config.ts +0 -50
- package/src/web/vitepress/custom-theme.ts +0 -514
- package/src/web/vitepress/dependencies.ts +0 -69
- package/src/web/vitepress/home-page.ts +0 -378
- package/src/web/vitepress/index.ts +0 -5
- package/src/web/vitepress/process-front-matter-files.ts +0 -107
- package/src/web/vitepress/vitepress.ts +0 -372
- package/templates/sveltekit/bun.lock +0 -1099
|
@@ -88,7 +88,7 @@ export interface AccountApiTokenProps extends CloudflareApiOptions {
|
|
|
88
88
|
/**
|
|
89
89
|
* Name of the token
|
|
90
90
|
*/
|
|
91
|
-
name
|
|
91
|
+
name?: string;
|
|
92
92
|
|
|
93
93
|
/**
|
|
94
94
|
* Policies that define what the token can access
|
|
@@ -252,12 +252,14 @@ export const AccountApiToken = Resource(
|
|
|
252
252
|
"cloudflare::AccountApiToken",
|
|
253
253
|
async function (
|
|
254
254
|
this: Context<AccountApiToken>,
|
|
255
|
-
|
|
255
|
+
id: string,
|
|
256
256
|
props: AccountApiTokenProps,
|
|
257
257
|
): Promise<AccountApiToken> {
|
|
258
258
|
// Create Cloudflare API client with automatic account discovery
|
|
259
259
|
const api = await createCloudflareApi(props);
|
|
260
260
|
|
|
261
|
+
const tokenName = props.name ?? this.scope.createPhysicalName(id);
|
|
262
|
+
|
|
261
263
|
if (this.phase === "delete") {
|
|
262
264
|
// Delete token if we have an ID
|
|
263
265
|
if (this.output?.id) {
|
|
@@ -270,10 +272,10 @@ export const AccountApiToken = Resource(
|
|
|
270
272
|
const errorData: any = await deleteResponse.json().catch(() => ({
|
|
271
273
|
errors: [{ message: deleteResponse.statusText }],
|
|
272
274
|
}));
|
|
273
|
-
logger.error(`Error deleting token '${
|
|
275
|
+
logger.error(`Error deleting token '${tokenName}':`, errorData);
|
|
274
276
|
}
|
|
275
277
|
} catch (error) {
|
|
276
|
-
logger.error(`Error deleting token '${
|
|
278
|
+
logger.error(`Error deleting token '${tokenName}':`, error);
|
|
277
279
|
}
|
|
278
280
|
}
|
|
279
281
|
|
|
@@ -288,7 +290,7 @@ export const AccountApiToken = Resource(
|
|
|
288
290
|
|
|
289
291
|
// Transform our properties to API format
|
|
290
292
|
const apiPayload = {
|
|
291
|
-
name:
|
|
293
|
+
name: tokenName,
|
|
292
294
|
policies: props.policies.map((policy) => ({
|
|
293
295
|
effect: policy.effect,
|
|
294
296
|
permission_groups: policy.permissionGroups.map((pg) =>
|
|
@@ -362,7 +364,7 @@ export const AccountApiToken = Resource(
|
|
|
362
364
|
}));
|
|
363
365
|
|
|
364
366
|
throw new Error(
|
|
365
|
-
`Error ${this.phase === "update" ? "updating" : "creating"} token '${
|
|
367
|
+
`Error ${this.phase === "update" ? "updating" : "creating"} token '${tokenName}': ${
|
|
366
368
|
errorData.errors?.[0]?.message || response.statusText
|
|
367
369
|
}`,
|
|
368
370
|
);
|
|
@@ -376,7 +378,7 @@ export const AccountApiToken = Resource(
|
|
|
376
378
|
} else {
|
|
377
379
|
if (!this.output?.value) {
|
|
378
380
|
throw new Error(
|
|
379
|
-
`Token '${
|
|
381
|
+
`Token '${tokenName}' was created but we have no record of its value. Try deleting and recreating the token.`,
|
|
380
382
|
);
|
|
381
383
|
}
|
|
382
384
|
tokenValue = this.output?.value;
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import type { Context } from "../context.ts";
|
|
2
2
|
import { Resource } from "../resource.ts";
|
|
3
|
-
import { bind } from "../runtime/bind.ts";
|
|
4
3
|
import { logger } from "../util/logger.ts";
|
|
5
4
|
import { handleApiError } from "./api-error.ts";
|
|
6
5
|
import { createCloudflareApi, type CloudflareApiOptions } from "./api.ts";
|
|
7
|
-
import type { Bound } from "./bound.ts";
|
|
8
6
|
|
|
9
7
|
/**
|
|
10
8
|
* Properties for creating or updating a Cloudflare AI Gateway.
|
|
11
9
|
*/
|
|
12
10
|
export interface AiGatewayProps extends CloudflareApiOptions {
|
|
11
|
+
/**
|
|
12
|
+
* Name of the AI Gateway.
|
|
13
|
+
*
|
|
14
|
+
* @default ${app.name}-${app.stage}-${id}
|
|
15
|
+
*/
|
|
16
|
+
gatewayName?: string;
|
|
13
17
|
/**
|
|
14
18
|
* Invalidate cache on update.
|
|
15
19
|
* @default true
|
|
@@ -88,7 +92,7 @@ export interface AiGatewayProps extends CloudflareApiOptions {
|
|
|
88
92
|
* Output returned after Cloudflare AI Gateway creation/update.
|
|
89
93
|
* IMPORTANT: The interface name MUST match the exported resource name.
|
|
90
94
|
*/
|
|
91
|
-
export interface
|
|
95
|
+
export interface AiGateway
|
|
92
96
|
extends Resource<"cloudflare::AiGateway">,
|
|
93
97
|
AiGatewayProps {
|
|
94
98
|
/**
|
|
@@ -128,8 +132,6 @@ export interface AiGatewayResource
|
|
|
128
132
|
type: "ai_gateway";
|
|
129
133
|
}
|
|
130
134
|
|
|
131
|
-
export type AiGateway = AiGatewayResource & Bound<AiGatewayResource>;
|
|
132
|
-
|
|
133
135
|
/**
|
|
134
136
|
* Represents a Cloudflare AI Gateway.
|
|
135
137
|
*
|
|
@@ -154,30 +156,25 @@ export type AiGateway = AiGatewayResource & Bound<AiGatewayResource>;
|
|
|
154
156
|
* logpushPublicKey: "mypublickey..." // Replace with actual public key
|
|
155
157
|
* });
|
|
156
158
|
*/
|
|
157
|
-
export
|
|
158
|
-
name: string,
|
|
159
|
-
props: AiGatewayProps = {},
|
|
160
|
-
): Promise<AiGateway> {
|
|
161
|
-
const gateway = await AiGatewayResource(name, props);
|
|
162
|
-
const binding = await bind(gateway);
|
|
163
|
-
return {
|
|
164
|
-
...gateway,
|
|
165
|
-
getLog: binding.getLog,
|
|
166
|
-
getUrl: binding.getUrl,
|
|
167
|
-
patchLog: binding.patchLog,
|
|
168
|
-
run: binding.run,
|
|
169
|
-
} as AiGateway;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
const AiGatewayResource = Resource(
|
|
159
|
+
export const AiGateway = Resource(
|
|
173
160
|
"cloudflare::AiGateway",
|
|
174
161
|
async function (
|
|
175
|
-
this: Context<
|
|
162
|
+
this: Context<AiGateway>,
|
|
176
163
|
id: string,
|
|
177
164
|
props: AiGatewayProps = {},
|
|
178
|
-
): Promise<
|
|
165
|
+
): Promise<AiGateway> {
|
|
179
166
|
const api = await createCloudflareApi(props);
|
|
180
|
-
const
|
|
167
|
+
const gatewayName =
|
|
168
|
+
props.gatewayName ??
|
|
169
|
+
this.output?.gatewayName ??
|
|
170
|
+
this.output?.id ?? // name and ID are the same
|
|
171
|
+
this.scope.createPhysicalName(id);
|
|
172
|
+
|
|
173
|
+
if (this.phase === "update" && this.output?.id !== gatewayName) {
|
|
174
|
+
this.replace();
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
const gatewayPath = `/accounts/${api.accountId}/ai-gateway/gateways/${gatewayName}`;
|
|
181
178
|
const gatewaysPath = `/accounts/${api.accountId}/ai-gateway/gateways`;
|
|
182
179
|
|
|
183
180
|
if (this.phase === "delete") {
|
|
@@ -185,10 +182,15 @@ const AiGatewayResource = Resource(
|
|
|
185
182
|
const deleteResponse = await api.delete(gatewayPath);
|
|
186
183
|
// Only swallow 404 Not Found errors, all other errors should be handled
|
|
187
184
|
if (!deleteResponse.ok && deleteResponse.status !== 404) {
|
|
188
|
-
await handleApiError(
|
|
185
|
+
await handleApiError(
|
|
186
|
+
deleteResponse,
|
|
187
|
+
"delete",
|
|
188
|
+
"ai gateway",
|
|
189
|
+
gatewayName,
|
|
190
|
+
);
|
|
189
191
|
}
|
|
190
192
|
} catch (error) {
|
|
191
|
-
logger.error(`Error deleting AI Gateway ${
|
|
193
|
+
logger.error(`Error deleting AI Gateway ${gatewayName}:`, error);
|
|
192
194
|
throw error;
|
|
193
195
|
}
|
|
194
196
|
return this.destroy();
|
|
@@ -211,37 +213,37 @@ const AiGatewayResource = Resource(
|
|
|
211
213
|
try {
|
|
212
214
|
if (this.phase === "update") {
|
|
213
215
|
// Update existing gateway (PUT request)
|
|
214
|
-
const requestBody = mapPropsToApi(
|
|
216
|
+
const requestBody = mapPropsToApi(gatewayName, mergedProps, false);
|
|
215
217
|
response = await api.put(gatewayPath, requestBody);
|
|
216
218
|
} else {
|
|
217
|
-
// Check if gateway exists before creating (to
|
|
219
|
+
// Check if gateway exists before creating (to avogatewayName conflict)
|
|
218
220
|
const getResponse = await api.get(gatewayPath);
|
|
219
221
|
if (getResponse.status === 200) {
|
|
220
222
|
// Gateway exists, treat as update (PUT)
|
|
221
223
|
logger.log(
|
|
222
|
-
`AI Gateway '${
|
|
224
|
+
`AI Gateway '${gatewayName}' already exists. Updating existing resource.`,
|
|
223
225
|
);
|
|
224
|
-
const requestBody = mapPropsToApi(
|
|
226
|
+
const requestBody = mapPropsToApi(gatewayName, mergedProps, false);
|
|
225
227
|
response = await api.put(gatewayPath, requestBody);
|
|
226
228
|
} else if (getResponse.status === 404) {
|
|
227
229
|
// Gateway doesn't exist, create new (POST request)
|
|
228
|
-
const requestBody = mapPropsToApi(
|
|
230
|
+
const requestBody = mapPropsToApi(gatewayName, mergedProps, true); // Include 'gatewayName' in POST body
|
|
229
231
|
response = await api.post(gatewaysPath, requestBody);
|
|
230
232
|
} else {
|
|
231
233
|
// Unexpected error during GET check
|
|
232
|
-
await handleApiError(getResponse, "get", "ai gateway",
|
|
234
|
+
await handleApiError(getResponse, "get", "ai gateway", gatewayName);
|
|
233
235
|
}
|
|
234
236
|
}
|
|
235
237
|
|
|
236
238
|
if (!response?.ok) {
|
|
237
239
|
const action = this.phase === "update" ? "update" : "create";
|
|
238
|
-
await handleApiError(response!, action, "ai gateway",
|
|
240
|
+
await handleApiError(response!, action, "ai gateway", gatewayName);
|
|
239
241
|
}
|
|
240
242
|
|
|
241
243
|
const data: { result: Record<string, any> } = await response!.json();
|
|
242
244
|
apiResource = data.result;
|
|
243
245
|
} catch (error) {
|
|
244
|
-
logger.error(`Error ${this.phase} AI Gateway '${
|
|
246
|
+
logger.error(`Error ${this.phase} AI Gateway '${gatewayName}':`, error);
|
|
245
247
|
throw error; // Re-throw the error to fail the deployment
|
|
246
248
|
}
|
|
247
249
|
|
|
@@ -249,6 +251,7 @@ const AiGatewayResource = Resource(
|
|
|
249
251
|
return this({
|
|
250
252
|
...mergedProps, // Start with the input props (including defaults)
|
|
251
253
|
id: apiResource.id,
|
|
254
|
+
gatewayName,
|
|
252
255
|
accountId: apiResource.account_id,
|
|
253
256
|
accountTag: apiResource.account_tag,
|
|
254
257
|
createdAt: apiResource.created_at,
|
|
@@ -48,33 +48,33 @@ export interface APISchemaProps<S extends OpenAPIV3.Document>
|
|
|
48
48
|
/**
|
|
49
49
|
* APISchema resource attributes.
|
|
50
50
|
*/
|
|
51
|
-
export
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
51
|
+
export type APISchema<S extends OpenAPIV3.Document = OpenAPIV3.Document> =
|
|
52
|
+
Resource<"cloudflare::APISchema"> & {
|
|
53
|
+
/**
|
|
54
|
+
* Schema ID
|
|
55
|
+
*/
|
|
56
|
+
id: string;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Name for the schema
|
|
60
|
+
*/
|
|
61
|
+
name: string;
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
63
|
+
/**
|
|
64
|
+
* The API Schema
|
|
65
|
+
*/
|
|
66
|
+
schema: S;
|
|
67
67
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
/**
|
|
69
|
+
* Source of the schema
|
|
70
|
+
*/
|
|
71
|
+
source: string;
|
|
72
72
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
73
|
+
/**
|
|
74
|
+
* Whether validation is enabled
|
|
75
|
+
*/
|
|
76
|
+
enabled: boolean;
|
|
77
|
+
};
|
|
78
78
|
|
|
79
79
|
/**
|
|
80
80
|
* Cloudflare API Gateway Schema manages OpenAPI v3 schemas for API validation.
|
|
@@ -160,10 +160,17 @@ export const APISchema = Resource("cloudflare::APISchema", async function <
|
|
|
160
160
|
|
|
161
161
|
let schemaDetails: CloudflareSchemaDetails;
|
|
162
162
|
|
|
163
|
+
const schemaName =
|
|
164
|
+
props.name ?? this.output?.name ?? this.scope.createPhysicalName(id);
|
|
165
|
+
|
|
166
|
+
if (this.phase === "update" && this.output?.name !== schemaName) {
|
|
167
|
+
this.replace();
|
|
168
|
+
}
|
|
169
|
+
|
|
163
170
|
if (this.phase === "update" && this.output?.id) {
|
|
164
171
|
// Check if we need to replace due to name, schema content change, or disabling validation
|
|
165
172
|
if (
|
|
166
|
-
|
|
173
|
+
schemaName !== this.output.name ||
|
|
167
174
|
JSON.stringify(parsedSchema) !== JSON.stringify(this.output.schema) ||
|
|
168
175
|
(this.output.enabled === true && props.enabled === false)
|
|
169
176
|
) {
|
|
@@ -179,7 +186,7 @@ export const APISchema = Resource("cloudflare::APISchema", async function <
|
|
|
179
186
|
// Create new schema
|
|
180
187
|
schemaDetails = await uploadSchema(api, zoneId, {
|
|
181
188
|
file: yaml.stringify(parsedSchema),
|
|
182
|
-
name:
|
|
189
|
+
name: schemaName,
|
|
183
190
|
validation_enabled: props.enabled !== false,
|
|
184
191
|
});
|
|
185
192
|
}
|
|
@@ -28,7 +28,7 @@ export interface APIShieldProps<S extends string | URL | OpenAPIV3.Document>
|
|
|
28
28
|
/**
|
|
29
29
|
* The name of the schema validation
|
|
30
30
|
*
|
|
31
|
-
* @default id
|
|
31
|
+
* @default ${app.name}-${app.stage}-${id}
|
|
32
32
|
*/
|
|
33
33
|
name?: string;
|
|
34
34
|
|
|
@@ -165,6 +165,11 @@ export interface ValidationSettings {
|
|
|
165
165
|
*/
|
|
166
166
|
export interface APIShield<S extends OpenAPIV3.Document = OpenAPIV3.Document>
|
|
167
167
|
extends Resource<"cloudflare::APIShield"> {
|
|
168
|
+
/**
|
|
169
|
+
* Name of the API Shield.
|
|
170
|
+
*/
|
|
171
|
+
name: string;
|
|
172
|
+
|
|
168
173
|
/**
|
|
169
174
|
* The schema resource
|
|
170
175
|
*/
|
|
@@ -409,6 +414,13 @@ const _APIShield = Resource(
|
|
|
409
414
|
return this.destroy();
|
|
410
415
|
}
|
|
411
416
|
|
|
417
|
+
const schemaName =
|
|
418
|
+
props.name ?? this.output?.name ?? this.scope.createPhysicalName(id);
|
|
419
|
+
|
|
420
|
+
if (this.phase === "update" && this.output?.name !== schemaName) {
|
|
421
|
+
this.replace();
|
|
422
|
+
}
|
|
423
|
+
|
|
412
424
|
// Update global settings
|
|
413
425
|
const defaultAction = props.defaultMitigation || "none";
|
|
414
426
|
await updateGlobalSettings(api, zoneId, {
|
|
@@ -419,7 +431,7 @@ const _APIShield = Resource(
|
|
|
419
431
|
const schema = await APISchema("schema", {
|
|
420
432
|
schema: props.schema,
|
|
421
433
|
zone: props.zone,
|
|
422
|
-
name:
|
|
434
|
+
name: schemaName,
|
|
423
435
|
enabled: props.enabled,
|
|
424
436
|
accountId: props.accountId,
|
|
425
437
|
apiKey: props.apiKey,
|
|
@@ -431,6 +443,7 @@ const _APIShield = Resource(
|
|
|
431
443
|
return this({
|
|
432
444
|
zoneId,
|
|
433
445
|
schema,
|
|
446
|
+
name: schemaName,
|
|
434
447
|
operations: await Promise.all(
|
|
435
448
|
parseSchemaOperations(schema.schema).map(async (parsedOp) => {
|
|
436
449
|
let operationAction = defaultAction;
|
|
@@ -2,6 +2,7 @@ import { join, resolve } from "node:path";
|
|
|
2
2
|
import { getPackageManagerRunner } from "../../util/detect-package-manager.ts";
|
|
3
3
|
import type { Assets } from "../assets.ts";
|
|
4
4
|
import type { Bindings } from "../bindings.ts";
|
|
5
|
+
import { withSkipPathValidation } from "../miniflare/paths.ts";
|
|
5
6
|
import { Website, type WebsiteProps } from "../website.ts";
|
|
6
7
|
import type { Worker } from "../worker.ts";
|
|
7
8
|
|
|
@@ -80,6 +81,7 @@ export async function Astro<B extends Bindings>(
|
|
|
80
81
|
props.entrypoint ??
|
|
81
82
|
(output === "server" ? "dist/_worker.js/index.js" : undefined),
|
|
82
83
|
assets: props.assets ?? "dist",
|
|
84
|
+
spa: false,
|
|
83
85
|
});
|
|
84
86
|
}
|
|
85
87
|
|
|
@@ -92,7 +94,9 @@ async function resolveOutputType(cwd: string): Promise<"server" | "static"> {
|
|
|
92
94
|
];
|
|
93
95
|
for (const candidate of candidates) {
|
|
94
96
|
try {
|
|
95
|
-
const config = await
|
|
97
|
+
const config = await withSkipPathValidation(
|
|
98
|
+
() => import(join(cwd, candidate)),
|
|
99
|
+
);
|
|
96
100
|
if (
|
|
97
101
|
typeof config.default === "object" &&
|
|
98
102
|
config.default &&
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import cloudflare, { type Options } from "@astrojs/cloudflare";
|
|
2
|
+
import type { AstroIntegration } from "astro";
|
|
2
3
|
import { getPlatformProxyOptions } from "../cloudflare-env-proxy.ts";
|
|
3
4
|
|
|
4
|
-
const alchemy = (options?: Options) => {
|
|
5
|
+
const alchemy = (options?: Options): AstroIntegration => {
|
|
5
6
|
return cloudflare({
|
|
6
7
|
platformProxy: getPlatformProxyOptions(options?.platformProxy),
|
|
7
8
|
...options,
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* https://developers.cloudflare.com/api/resources/workers/subresources/scripts/methods/update/
|
|
5
5
|
*/
|
|
6
6
|
import type { Secret } from "../secret.ts";
|
|
7
|
-
import type {
|
|
7
|
+
import type { AiGateway } from "./ai-gateway.ts";
|
|
8
8
|
import type { Ai } from "./ai.ts";
|
|
9
9
|
import type { AnalyticsEngineDataset } from "./analytics-engine.ts";
|
|
10
10
|
import type { Assets } from "./assets.ts";
|
|
@@ -45,7 +45,7 @@ export declare namespace Bindings {
|
|
|
45
45
|
*/
|
|
46
46
|
export type Binding =
|
|
47
47
|
| Ai
|
|
48
|
-
|
|
|
48
|
+
| AiGateway
|
|
49
49
|
| Assets
|
|
50
50
|
| Container
|
|
51
51
|
| CloudflareSecret
|
package/src/cloudflare/bound.ts
CHANGED
|
@@ -21,7 +21,7 @@ import type {
|
|
|
21
21
|
} from "@cloudflare/workers-types";
|
|
22
22
|
import type { Pipeline } from "cloudflare:pipelines";
|
|
23
23
|
import type { Secret } from "../secret.ts";
|
|
24
|
-
import type {
|
|
24
|
+
import type { AiGateway as _AiGateway } from "./ai-gateway.ts";
|
|
25
25
|
import type { Ai as _Ai } from "./ai.ts";
|
|
26
26
|
import type { AnalyticsEngineDataset as _AnalyticsEngineDataset } from "./analytics-engine.ts";
|
|
27
27
|
import type { Assets } from "./assets.ts";
|