@stacksjs/ts-cloud-core 0.1.3 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +98 -13
- package/dist/advanced-features.test.d.ts +0 -0
- package/dist/aws/cloudformation.d.ts +69 -0
- package/dist/aws/cloudfront.d.ts +21 -0
- package/dist/aws/credentials.d.ts +66 -0
- package/dist/aws/credentials.test.d.ts +0 -0
- package/{src/aws/index.ts → dist/aws/index.d.ts} +37 -51
- package/dist/aws/s3.d.ts +130 -0
- package/dist/aws/s3.test.d.ts +0 -0
- package/dist/aws/signature.d.ts +101 -0
- package/dist/aws/signature.test.d.ts +0 -0
- package/dist/backup/disaster-recovery.d.ts +98 -0
- package/dist/backup/disaster-recovery.test.d.ts +0 -0
- package/{src/backup/index.ts → dist/backup/index.d.ts} +10 -20
- package/dist/backup/manager.d.ts +112 -0
- package/dist/backup/manager.test.d.ts +0 -0
- package/dist/cicd/circleci.d.ts +47 -0
- package/dist/cicd/github-actions.d.ts +55 -0
- package/dist/cicd/gitlab-ci.d.ts +46 -0
- package/dist/cicd/index.d.ts +3 -0
- package/dist/cli/history.d.ts +66 -0
- package/dist/cli/index.d.ts +5 -0
- package/dist/cli/progress.d.ts +97 -0
- package/dist/cli/repl.d.ts +76 -0
- package/dist/cli/suggestions.d.ts +67 -0
- package/dist/cli/table.d.ts +70 -0
- package/dist/cli/table.test.d.ts +0 -0
- package/dist/cloudformation/builder.d.ts +59 -0
- package/dist/cloudformation/builder.test.d.ts +0 -0
- package/dist/cloudformation/builders/api-gateway.d.ts +30 -0
- package/dist/cloudformation/builders/cache.d.ts +35 -0
- package/dist/cloudformation/builders/cdn.d.ts +34 -0
- package/dist/cloudformation/builders/compute.d.ts +66 -0
- package/dist/cloudformation/builders/database.d.ts +61 -0
- package/dist/cloudformation/builders/functions.d.ts +32 -0
- package/dist/cloudformation/builders/messaging.d.ts +17 -0
- package/dist/cloudformation/builders/monitoring.d.ts +36 -0
- package/dist/cloudformation/builders/network.d.ts +14 -0
- package/dist/cloudformation/builders/queue.d.ts +8 -0
- package/dist/cloudformation/builders/security.d.ts +31 -0
- package/dist/cloudformation/builders/storage.d.ts +8 -0
- package/dist/cloudformation/index.d.ts +24 -0
- package/dist/cloudformation/types.d.ts +132 -0
- package/dist/compliance/aws-config.d.ts +88 -0
- package/dist/compliance/cloudtrail.d.ts +96 -0
- package/dist/compliance/compliance.test.d.ts +0 -0
- package/dist/compliance/guardduty.d.ts +110 -0
- package/{src/compliance/index.ts → dist/compliance/index.d.ts} +20 -36
- package/dist/compliance/security-hub.d.ts +110 -0
- package/dist/containers/build-optimization.d.ts +110 -0
- package/dist/containers/containers.test.d.ts +0 -0
- package/dist/containers/image-scanning.d.ts +96 -0
- package/dist/containers/index.d.ts +4 -0
- package/dist/containers/registry.d.ts +99 -0
- package/dist/containers/service-mesh.d.ts +206 -0
- package/dist/database/database.test.d.ts +0 -0
- package/dist/database/index.d.ts +4 -0
- package/dist/database/migrations.d.ts +102 -0
- package/dist/database/performance.d.ts +168 -0
- package/dist/database/replicas.d.ts +146 -0
- package/dist/database/users.d.ts +102 -0
- package/dist/dependency-graph.d.ts +19 -0
- package/dist/deployment/ab-testing.d.ts +114 -0
- package/dist/deployment/blue-green.d.ts +98 -0
- package/dist/deployment/canary.d.ts +103 -0
- package/dist/deployment/deployment.test.d.ts +0 -0
- package/{src/deployment/index.ts → dist/deployment/index.d.ts} +20 -36
- package/dist/deployment/progressive.d.ts +34 -0
- package/dist/dns/dns.test.d.ts +0 -0
- package/dist/dns/dnssec.d.ts +75 -0
- package/dist/dns/index.d.ts +3 -0
- package/dist/dns/resolver.d.ts +150 -0
- package/dist/dns/routing.d.ts +217 -0
- package/dist/email/advanced/analytics.d.ts +78 -0
- package/dist/email/advanced/index.d.ts +7 -0
- package/dist/email/advanced/rules.d.ts +60 -0
- package/dist/email/advanced/scheduling.d.ts +63 -0
- package/dist/email/advanced/search.d.ts +76 -0
- package/dist/email/advanced/shared-mailboxes.d.ts +66 -0
- package/dist/email/advanced/templates.d.ts +39 -0
- package/dist/email/advanced/threading.d.ts +53 -0
- package/dist/email/analytics.d.ts +144 -0
- package/dist/email/bounce-handling.d.ts +120 -0
- package/dist/email/email.test.d.ts +0 -0
- package/dist/email/handlers/__tests__/inbound.test.d.ts +0 -0
- package/dist/email/handlers/__tests__/outbound.test.d.ts +0 -0
- package/{src/email/handlers/converter.ts → dist/email/handlers/converter.d.ts} +3 -5
- package/{src/email/handlers/feedback.ts → dist/email/handlers/feedback.d.ts} +3 -5
- package/{src/email/handlers/inbound.ts → dist/email/handlers/inbound.d.ts} +3 -5
- package/{src/email/handlers/outbound.ts → dist/email/handlers/outbound.d.ts} +3 -5
- package/dist/email/index.d.ts +6 -0
- package/dist/email/reputation.d.ts +97 -0
- package/dist/email/templates.d.ts +82 -0
- package/dist/errors/index.d.ts +186 -0
- package/dist/errors/index.test.d.ts +0 -0
- package/dist/health-checks/index.d.ts +35 -0
- package/dist/index.d.ts +256 -0
- package/dist/index.js +63499 -0
- package/dist/intrinsic-functions.d.ts +37 -0
- package/dist/lambda/concurrency.d.ts +98 -0
- package/dist/lambda/destinations.d.ts +99 -0
- package/dist/lambda/dlq.d.ts +109 -0
- package/dist/lambda/index.d.ts +6 -0
- package/dist/lambda/lambda.test.d.ts +0 -0
- package/dist/lambda/layers.d.ts +81 -0
- package/dist/lambda/versions.d.ts +91 -0
- package/dist/lambda/vpc.d.ts +116 -0
- package/dist/local/config.d.ts +44 -0
- package/dist/local/index.d.ts +2 -0
- package/dist/local/mock-aws.d.ts +60 -0
- package/dist/modules/ai.d.ts +47 -0
- package/dist/modules/api.d.ts +98 -0
- package/dist/modules/auth.d.ts +165 -0
- package/dist/modules/cache.d.ts +73 -0
- package/dist/modules/cdn.d.ts +125 -0
- package/dist/modules/communication.d.ts +98 -0
- package/dist/modules/compute.d.ts +309 -0
- package/dist/modules/database.d.ts +105 -0
- package/dist/modules/deployment.d.ts +181 -0
- package/dist/modules/dns.d.ts +45 -0
- package/dist/modules/email.d.ts +217 -0
- package/dist/modules/filesystem.d.ts +94 -0
- package/dist/modules/index.d.ts +27 -0
- package/dist/modules/messaging.d.ts +108 -0
- package/dist/modules/monitoring.d.ts +127 -0
- package/dist/modules/network.d.ts +102 -0
- package/dist/modules/parameter-store.d.ts +33 -0
- package/dist/modules/permissions.d.ts +132 -0
- package/dist/modules/phone.d.ts +80 -0
- package/dist/modules/queue.d.ts +210 -0
- package/dist/modules/redirects.d.ts +59 -0
- package/dist/modules/registry.d.ts +73 -0
- package/dist/modules/search.d.ts +56 -0
- package/dist/modules/secrets.d.ts +80 -0
- package/dist/modules/security.d.ts +100 -0
- package/dist/modules/sms.d.ts +52 -0
- package/dist/modules/storage.d.ts +160 -0
- package/dist/modules/workflow.d.ts +205 -0
- package/dist/multi-account/config.d.ts +315 -0
- package/dist/multi-account/index.d.ts +2 -0
- package/dist/multi-account/manager.d.ts +100 -0
- package/dist/multi-region/cross-region.d.ts +114 -0
- package/dist/multi-region/index.d.ts +3 -0
- package/dist/multi-region/manager.d.ts +72 -0
- package/dist/multi-region/regions.d.ts +98 -0
- package/dist/network-security/index.d.ts +39 -0
- package/dist/observability/index.d.ts +4 -0
- package/dist/observability/logs.d.ts +129 -0
- package/dist/observability/metrics.d.ts +153 -0
- package/dist/observability/observability.test.d.ts +0 -0
- package/dist/observability/synthetics.d.ts +146 -0
- package/dist/observability/xray.d.ts +129 -0
- package/dist/phone/advanced/analytics.d.ts +66 -0
- package/dist/phone/advanced/callbacks.d.ts +50 -0
- package/dist/phone/advanced/index.d.ts +4 -0
- package/dist/phone/advanced/ivr-builder.d.ts +83 -0
- package/dist/phone/advanced/recording.d.ts +48 -0
- package/dist/phone/handlers/__tests__/incoming-call.test.d.ts +0 -0
- package/{src/phone/handlers/incoming-call.ts → dist/phone/handlers/incoming-call.d.ts} +3 -5
- package/{src/phone/handlers/missed-call.ts → dist/phone/handlers/missed-call.d.ts} +3 -5
- package/{src/phone/handlers/voicemail.ts → dist/phone/handlers/voicemail.d.ts} +3 -5
- package/dist/phone/index.d.ts +2 -0
- package/dist/presets/api-backend.d.ts +11 -0
- package/dist/presets/data-pipeline.d.ts +11 -0
- package/{src/presets/extend.ts → dist/presets/extend.d.ts} +11 -114
- package/dist/presets/extend.test.d.ts +0 -0
- package/dist/presets/fullstack-app.d.ts +12 -0
- package/dist/presets/index.d.ts +24 -0
- package/dist/presets/jamstack.d.ts +12 -0
- package/dist/presets/microservices.d.ts +18 -0
- package/dist/presets/ml-api.d.ts +13 -0
- package/dist/presets/nodejs-server.d.ts +14 -0
- package/dist/presets/nodejs-serverless.d.ts +14 -0
- package/dist/presets/realtime-app.d.ts +11 -0
- package/dist/presets/static-site.d.ts +12 -0
- package/dist/presets/traditional-web-app.d.ts +16 -0
- package/dist/presets/wordpress.d.ts +12 -0
- package/dist/preview/github.d.ts +32 -0
- package/dist/preview/github.test.d.ts +0 -0
- package/{src/preview/index.ts → dist/preview/index.d.ts} +16 -26
- package/dist/preview/manager.d.ts +58 -0
- package/dist/preview/manager.test.d.ts +0 -0
- package/dist/preview/notifications.d.ts +55 -0
- package/dist/preview/notifications.test.d.ts +0 -0
- package/dist/queue/batch-processing.d.ts +87 -0
- package/dist/queue/dlq-monitoring.d.ts +95 -0
- package/dist/queue/fifo.d.ts +90 -0
- package/dist/queue/index.d.ts +4 -0
- package/dist/queue/management.d.ts +105 -0
- package/dist/queue/queue.test.d.ts +0 -0
- package/dist/resource-mgmt/index.d.ts +29 -0
- package/dist/resource-naming.d.ts +26 -0
- package/dist/s3/index.d.ts +173 -0
- package/dist/schema/index.d.ts +9 -0
- package/dist/security/certificate-manager.d.ts +121 -0
- package/dist/security/index.d.ts +4 -0
- package/dist/security/scanning.d.ts +147 -0
- package/dist/security/secrets-manager.d.ts +144 -0
- package/dist/security/secrets-rotation.d.ts +115 -0
- package/dist/security/security.test.d.ts +0 -0
- package/dist/sms/advanced/ab-testing.d.ts +54 -0
- package/dist/sms/advanced/analytics.d.ts +56 -0
- package/dist/sms/advanced/campaigns.d.ts +82 -0
- package/dist/sms/advanced/chatbot.d.ts +48 -0
- package/dist/sms/advanced/index.d.ts +6 -0
- package/dist/sms/advanced/link-tracking.d.ts +42 -0
- package/dist/sms/advanced/mms.d.ts +35 -0
- package/dist/sms/handlers/__tests__/send.test.d.ts +0 -0
- package/{src/sms/handlers/delivery-status.ts → dist/sms/handlers/delivery-status.d.ts} +3 -5
- package/{src/sms/handlers/receive.ts → dist/sms/handlers/receive.d.ts} +3 -5
- package/{src/sms/handlers/send.ts → dist/sms/handlers/send.d.ts} +3 -5
- package/dist/sms/index.d.ts +2 -0
- package/dist/stack-diff.d.ts +34 -0
- package/dist/static-site/index.d.ts +49 -0
- package/dist/template-builder.d.ts +14 -0
- package/dist/template-validator.d.ts +24 -0
- package/dist/utils/cache.d.ts +55 -0
- package/dist/utils/diff.d.ts +48 -0
- package/dist/utils/hash.d.ts +58 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/parallel.d.ts +60 -0
- package/dist/validators/credentials.d.ts +23 -0
- package/dist/validators/credentials.test.d.ts +0 -0
- package/dist/validators/quotas.d.ts +60 -0
- package/dist/validators/quotas.test.d.ts +0 -0
- package/package.json +13 -4
- package/src/advanced-features.test.ts +0 -465
- package/src/aws/cloudformation.ts +0 -421
- package/src/aws/cloudfront.ts +0 -158
- package/src/aws/credentials.test.ts +0 -132
- package/src/aws/credentials.ts +0 -545
- package/src/aws/s3.test.ts +0 -188
- package/src/aws/s3.ts +0 -1088
- package/src/aws/signature.test.ts +0 -670
- package/src/aws/signature.ts +0 -1155
- package/src/backup/disaster-recovery.test.ts +0 -726
- package/src/backup/disaster-recovery.ts +0 -500
- package/src/backup/manager.test.ts +0 -498
- package/src/backup/manager.ts +0 -432
- package/src/cicd/circleci.ts +0 -430
- package/src/cicd/github-actions.ts +0 -424
- package/src/cicd/gitlab-ci.ts +0 -255
- package/src/cicd/index.ts +0 -8
- package/src/cli/history.ts +0 -396
- package/src/cli/index.ts +0 -10
- package/src/cli/progress.ts +0 -458
- package/src/cli/repl.ts +0 -454
- package/src/cli/suggestions.ts +0 -327
- package/src/cli/table.test.ts +0 -319
- package/src/cli/table.ts +0 -332
- package/src/cloudformation/builder.test.ts +0 -327
- package/src/cloudformation/builder.ts +0 -378
- package/src/cloudformation/builders/api-gateway.ts +0 -449
- package/src/cloudformation/builders/cache.ts +0 -334
- package/src/cloudformation/builders/cdn.ts +0 -278
- package/src/cloudformation/builders/compute.ts +0 -485
- package/src/cloudformation/builders/database.ts +0 -392
- package/src/cloudformation/builders/functions.ts +0 -343
- package/src/cloudformation/builders/messaging.ts +0 -140
- package/src/cloudformation/builders/monitoring.ts +0 -300
- package/src/cloudformation/builders/network.ts +0 -264
- package/src/cloudformation/builders/queue.ts +0 -147
- package/src/cloudformation/builders/security.ts +0 -399
- package/src/cloudformation/builders/storage.ts +0 -285
- package/src/cloudformation/index.ts +0 -30
- package/src/cloudformation/types.ts +0 -173
- package/src/compliance/aws-config.ts +0 -543
- package/src/compliance/cloudtrail.ts +0 -376
- package/src/compliance/compliance.test.ts +0 -423
- package/src/compliance/guardduty.ts +0 -446
- package/src/compliance/security-hub.ts +0 -456
- package/src/containers/build-optimization.ts +0 -416
- package/src/containers/containers.test.ts +0 -508
- package/src/containers/image-scanning.ts +0 -360
- package/src/containers/index.ts +0 -9
- package/src/containers/registry.ts +0 -293
- package/src/containers/service-mesh.ts +0 -520
- package/src/database/database.test.ts +0 -762
- package/src/database/index.ts +0 -9
- package/src/database/migrations.ts +0 -444
- package/src/database/performance.ts +0 -528
- package/src/database/replicas.ts +0 -534
- package/src/database/users.ts +0 -494
- package/src/dependency-graph.ts +0 -143
- package/src/deployment/ab-testing.ts +0 -582
- package/src/deployment/blue-green.ts +0 -452
- package/src/deployment/canary.ts +0 -500
- package/src/deployment/deployment.test.ts +0 -526
- package/src/deployment/progressive.ts +0 -62
- package/src/dns/dns.test.ts +0 -641
- package/src/dns/dnssec.ts +0 -315
- package/src/dns/index.ts +0 -8
- package/src/dns/resolver.ts +0 -496
- package/src/dns/routing.ts +0 -593
- package/src/email/advanced/analytics.ts +0 -445
- package/src/email/advanced/index.ts +0 -11
- package/src/email/advanced/rules.ts +0 -465
- package/src/email/advanced/scheduling.ts +0 -352
- package/src/email/advanced/search.ts +0 -412
- package/src/email/advanced/shared-mailboxes.ts +0 -404
- package/src/email/advanced/templates.ts +0 -455
- package/src/email/advanced/threading.ts +0 -281
- package/src/email/analytics.ts +0 -467
- package/src/email/bounce-handling.ts +0 -425
- package/src/email/email.test.ts +0 -431
- package/src/email/handlers/__tests__/inbound.test.ts +0 -38
- package/src/email/handlers/__tests__/outbound.test.ts +0 -37
- package/src/email/index.ts +0 -15
- package/src/email/reputation.ts +0 -303
- package/src/email/templates.ts +0 -352
- package/src/errors/index.test.ts +0 -434
- package/src/errors/index.ts +0 -416
- package/src/health-checks/index.ts +0 -40
- package/src/index.ts +0 -360
- package/src/intrinsic-functions.ts +0 -118
- package/src/lambda/concurrency.ts +0 -330
- package/src/lambda/destinations.ts +0 -345
- package/src/lambda/dlq.ts +0 -425
- package/src/lambda/index.ts +0 -11
- package/src/lambda/lambda.test.ts +0 -840
- package/src/lambda/layers.ts +0 -263
- package/src/lambda/versions.ts +0 -376
- package/src/lambda/vpc.ts +0 -399
- package/src/local/config.ts +0 -114
- package/src/local/index.ts +0 -6
- package/src/local/mock-aws.ts +0 -351
- package/src/modules/ai.ts +0 -340
- package/src/modules/api.ts +0 -478
- package/src/modules/auth.ts +0 -805
- package/src/modules/cache.ts +0 -417
- package/src/modules/cdn.ts +0 -1062
- package/src/modules/communication.ts +0 -1094
- package/src/modules/compute.ts +0 -3348
- package/src/modules/database.ts +0 -554
- package/src/modules/deployment.ts +0 -1079
- package/src/modules/dns.ts +0 -337
- package/src/modules/email.ts +0 -1538
- package/src/modules/filesystem.ts +0 -515
- package/src/modules/index.ts +0 -32
- package/src/modules/messaging.ts +0 -486
- package/src/modules/monitoring.ts +0 -2086
- package/src/modules/network.ts +0 -664
- package/src/modules/parameter-store.ts +0 -325
- package/src/modules/permissions.ts +0 -1081
- package/src/modules/phone.ts +0 -494
- package/src/modules/queue.ts +0 -1260
- package/src/modules/redirects.ts +0 -464
- package/src/modules/registry.ts +0 -699
- package/src/modules/search.ts +0 -401
- package/src/modules/secrets.ts +0 -416
- package/src/modules/security.ts +0 -731
- package/src/modules/sms.ts +0 -389
- package/src/modules/storage.ts +0 -1120
- package/src/modules/workflow.ts +0 -680
- package/src/multi-account/config.ts +0 -521
- package/src/multi-account/index.ts +0 -7
- package/src/multi-account/manager.ts +0 -427
- package/src/multi-region/cross-region.ts +0 -410
- package/src/multi-region/index.ts +0 -8
- package/src/multi-region/manager.ts +0 -483
- package/src/multi-region/regions.ts +0 -435
- package/src/network-security/index.ts +0 -48
- package/src/observability/index.ts +0 -9
- package/src/observability/logs.ts +0 -522
- package/src/observability/metrics.ts +0 -460
- package/src/observability/observability.test.ts +0 -782
- package/src/observability/synthetics.ts +0 -568
- package/src/observability/xray.ts +0 -358
- package/src/phone/advanced/analytics.ts +0 -349
- package/src/phone/advanced/callbacks.ts +0 -428
- package/src/phone/advanced/index.ts +0 -8
- package/src/phone/advanced/ivr-builder.ts +0 -504
- package/src/phone/advanced/recording.ts +0 -310
- package/src/phone/handlers/__tests__/incoming-call.test.ts +0 -40
- package/src/phone/index.ts +0 -9
- package/src/presets/api-backend.ts +0 -134
- package/src/presets/data-pipeline.ts +0 -204
- package/src/presets/extend.test.ts +0 -295
- package/src/presets/fullstack-app.ts +0 -144
- package/src/presets/index.ts +0 -27
- package/src/presets/jamstack.ts +0 -135
- package/src/presets/microservices.ts +0 -167
- package/src/presets/ml-api.ts +0 -208
- package/src/presets/nodejs-server.ts +0 -104
- package/src/presets/nodejs-serverless.ts +0 -114
- package/src/presets/realtime-app.ts +0 -184
- package/src/presets/static-site.ts +0 -64
- package/src/presets/traditional-web-app.ts +0 -339
- package/src/presets/wordpress.ts +0 -138
- package/src/preview/github.test.ts +0 -249
- package/src/preview/github.ts +0 -297
- package/src/preview/manager.test.ts +0 -440
- package/src/preview/manager.ts +0 -326
- package/src/preview/notifications.test.ts +0 -582
- package/src/preview/notifications.ts +0 -341
- package/src/queue/batch-processing.ts +0 -402
- package/src/queue/dlq-monitoring.ts +0 -402
- package/src/queue/fifo.ts +0 -342
- package/src/queue/index.ts +0 -9
- package/src/queue/management.ts +0 -428
- package/src/queue/queue.test.ts +0 -429
- package/src/resource-mgmt/index.ts +0 -39
- package/src/resource-naming.ts +0 -62
- package/src/s3/index.ts +0 -523
- package/src/schema/cloud-config.schema.json +0 -554
- package/src/schema/index.ts +0 -68
- package/src/security/certificate-manager.ts +0 -492
- package/src/security/index.ts +0 -9
- package/src/security/scanning.ts +0 -545
- package/src/security/secrets-manager.ts +0 -476
- package/src/security/secrets-rotation.ts +0 -456
- package/src/security/security.test.ts +0 -738
- package/src/sms/advanced/ab-testing.ts +0 -389
- package/src/sms/advanced/analytics.ts +0 -336
- package/src/sms/advanced/campaigns.ts +0 -523
- package/src/sms/advanced/chatbot.ts +0 -224
- package/src/sms/advanced/index.ts +0 -10
- package/src/sms/advanced/link-tracking.ts +0 -248
- package/src/sms/advanced/mms.ts +0 -308
- package/src/sms/handlers/__tests__/send.test.ts +0 -40
- package/src/sms/index.ts +0 -9
- package/src/stack-diff.ts +0 -389
- package/src/static-site/index.ts +0 -85
- package/src/template-builder.ts +0 -110
- package/src/template-validator.ts +0 -574
- package/src/utils/cache.ts +0 -291
- package/src/utils/diff.ts +0 -269
- package/src/utils/hash.ts +0 -227
- package/src/utils/index.ts +0 -8
- package/src/utils/parallel.ts +0 -294
- package/src/validators/credentials.test.ts +0 -274
- package/src/validators/credentials.ts +0 -233
- package/src/validators/quotas.test.ts +0 -434
- package/src/validators/quotas.ts +0 -217
- package/test/ai.test.ts +0 -327
- package/test/api.test.ts +0 -511
- package/test/auth.test.ts +0 -632
- package/test/cache.test.ts +0 -406
- package/test/cdn.test.ts +0 -247
- package/test/compute.test.ts +0 -861
- package/test/database.test.ts +0 -523
- package/test/deployment.test.ts +0 -499
- package/test/dns.test.ts +0 -270
- package/test/email.test.ts +0 -439
- package/test/filesystem.test.ts +0 -382
- package/test/integration.test.ts +0 -350
- package/test/messaging.test.ts +0 -514
- package/test/monitoring.test.ts +0 -634
- package/test/network.test.ts +0 -425
- package/test/permissions.test.ts +0 -488
- package/test/queue.test.ts +0 -484
- package/test/registry.test.ts +0 -306
- package/test/security.test.ts +0 -462
- package/test/storage.test.ts +0 -463
- package/test/template-validator.test.ts +0 -559
- package/test/workflow.test.ts +0 -592
- package/tsconfig.json +0 -16
- package/tsconfig.tsbuildinfo +0 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Callback Requests and Queue Management
|
|
3
|
+
*
|
|
4
|
+
* Provides callback scheduling and queue management
|
|
5
|
+
*/
|
|
6
|
+
export declare interface CallbackRequest {
|
|
7
|
+
id: string
|
|
8
|
+
phoneNumber: string
|
|
9
|
+
customerName?: string
|
|
10
|
+
reason?: string
|
|
11
|
+
preferredTime?: string
|
|
12
|
+
queueId?: string
|
|
13
|
+
priority: number
|
|
14
|
+
status: 'pending' | 'scheduled' | 'in-progress' | 'completed' | 'failed' | 'cancelled'
|
|
15
|
+
attempts: number
|
|
16
|
+
maxAttempts: number
|
|
17
|
+
createdAt: string
|
|
18
|
+
scheduledFor?: string
|
|
19
|
+
completedAt?: string
|
|
20
|
+
notes?: string
|
|
21
|
+
}
|
|
22
|
+
export declare interface QueuePosition {
|
|
23
|
+
position: number
|
|
24
|
+
estimatedWaitTime: number
|
|
25
|
+
callersAhead: number
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Callback Module
|
|
29
|
+
*/
|
|
30
|
+
export declare class Callbacks {
|
|
31
|
+
static CallbackRequestCode: any;
|
|
32
|
+
static CallbackProcessorCode: any;
|
|
33
|
+
static createCallbacksTable(config: { slug: string }): Record<string, any>;
|
|
34
|
+
static createCallbackRequestLambda(config: {
|
|
35
|
+
slug: string
|
|
36
|
+
roleArn: string
|
|
37
|
+
callbacksTable: string
|
|
38
|
+
notificationTopicArn?: string
|
|
39
|
+
}): Record<string, any>;
|
|
40
|
+
static createCallbackProcessorLambda(config: {
|
|
41
|
+
slug: string
|
|
42
|
+
roleArn: string
|
|
43
|
+
callbacksTable: string
|
|
44
|
+
connectInstanceId: string
|
|
45
|
+
contactFlowId: string
|
|
46
|
+
sourcePhoneNumber: string
|
|
47
|
+
queueId?: string
|
|
48
|
+
}): Record<string, any>;
|
|
49
|
+
}
|
|
50
|
+
export default Callbacks;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IVR Builder (Visual Contact Flow Editor)
|
|
3
|
+
*
|
|
4
|
+
* Provides a programmatic way to build Amazon Connect contact flows
|
|
5
|
+
*/
|
|
6
|
+
export declare interface IVRFlow {
|
|
7
|
+
id: string
|
|
8
|
+
name: string
|
|
9
|
+
description?: string
|
|
10
|
+
nodes: IVRNode[]
|
|
11
|
+
connections: IVRConnection[]
|
|
12
|
+
startNodeId: string
|
|
13
|
+
version: number
|
|
14
|
+
createdAt: string
|
|
15
|
+
updatedAt: string
|
|
16
|
+
}
|
|
17
|
+
export declare interface IVRNode {
|
|
18
|
+
id: string
|
|
19
|
+
type: IVRNodeType
|
|
20
|
+
position: { x: number; y: number }
|
|
21
|
+
config: Record<string, any>
|
|
22
|
+
label?: string
|
|
23
|
+
}
|
|
24
|
+
export declare interface IVRConnection {
|
|
25
|
+
id: string
|
|
26
|
+
sourceNodeId: string
|
|
27
|
+
targetNodeId: string
|
|
28
|
+
sourcePort: string
|
|
29
|
+
label?: string
|
|
30
|
+
}
|
|
31
|
+
export type IVRNodeType = | 'start'
|
|
32
|
+
| 'play-prompt'
|
|
33
|
+
| 'get-input'
|
|
34
|
+
| 'menu'
|
|
35
|
+
| 'transfer-queue'
|
|
36
|
+
| 'transfer-agent'
|
|
37
|
+
| 'transfer-phone'
|
|
38
|
+
| 'invoke-lambda'
|
|
39
|
+
| 'set-attribute'
|
|
40
|
+
| 'check-attribute'
|
|
41
|
+
| 'check-hours'
|
|
42
|
+
| 'check-queue'
|
|
43
|
+
| 'record-voicemail'
|
|
44
|
+
| 'disconnect'
|
|
45
|
+
| 'loop'
|
|
46
|
+
| 'wait'
|
|
47
|
+
/**
|
|
48
|
+
* IVR Builder Module
|
|
49
|
+
*/
|
|
50
|
+
export declare class IVRBuilder {
|
|
51
|
+
private nodes: IVRNode[];
|
|
52
|
+
private connections: IVRConnection[];
|
|
53
|
+
private startNodeId: string;
|
|
54
|
+
static create(name: string): IVRBuilder;
|
|
55
|
+
start(): this;
|
|
56
|
+
playPrompt(text: string, options?: { ssml?: boolean; voice?: string }): this;
|
|
57
|
+
getInput(prompt: string, options?: {
|
|
58
|
+
maxDigits?: number
|
|
59
|
+
timeout?: number
|
|
60
|
+
errorPrompt?: string
|
|
61
|
+
}): this;
|
|
62
|
+
menu(prompt: string, options: Record<string, string>): this;
|
|
63
|
+
transferToQueue(queueArn: string, options?: { priority?: number }): this;
|
|
64
|
+
transferToPhone(phoneNumber: string): this;
|
|
65
|
+
invokeLambda(functionArn: string, options?: { timeout?: number }): this;
|
|
66
|
+
setAttribute(key: string, value: string): this;
|
|
67
|
+
checkHours(hoursOfOperationArn: string): this;
|
|
68
|
+
recordVoicemail(options?: {
|
|
69
|
+
maxDuration?: number
|
|
70
|
+
greeting?: string
|
|
71
|
+
beep?: boolean
|
|
72
|
+
}): this;
|
|
73
|
+
wait(seconds: number): this;
|
|
74
|
+
disconnect(): this;
|
|
75
|
+
build(): IVRFlow;
|
|
76
|
+
toContactFlow(): string;
|
|
77
|
+
private nodeToAction(node: IVRNode, nodeMap: Map<string, IVRNode>): any;
|
|
78
|
+
private connectToLast(targetId: string): void;
|
|
79
|
+
private getNextNodeId(nodeId: string): string | null;
|
|
80
|
+
private generateId(): string;
|
|
81
|
+
static readonly Templates: any;
|
|
82
|
+
}
|
|
83
|
+
export default IVRBuilder;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Call Recording with Transcription
|
|
3
|
+
*
|
|
4
|
+
* Provides call recording storage and transcription
|
|
5
|
+
*/
|
|
6
|
+
export declare interface CallRecording {
|
|
7
|
+
recordingId: string
|
|
8
|
+
contactId: string
|
|
9
|
+
startTime: string
|
|
10
|
+
endTime: string
|
|
11
|
+
duration: number
|
|
12
|
+
participants: string[]
|
|
13
|
+
recordingUrl: string
|
|
14
|
+
transcription?: CallTranscription
|
|
15
|
+
status: 'recording' | 'processing' | 'completed' | 'failed'
|
|
16
|
+
createdAt: string
|
|
17
|
+
}
|
|
18
|
+
export declare interface CallTranscription {
|
|
19
|
+
transcriptId: string
|
|
20
|
+
text: string
|
|
21
|
+
segments: TranscriptionSegment[]
|
|
22
|
+
language: string
|
|
23
|
+
confidence: number
|
|
24
|
+
status: 'pending' | 'processing' | 'completed' | 'failed'
|
|
25
|
+
}
|
|
26
|
+
export declare interface TranscriptionSegment {
|
|
27
|
+
speaker: string
|
|
28
|
+
startTime: number
|
|
29
|
+
endTime: number
|
|
30
|
+
text: string
|
|
31
|
+
confidence: number
|
|
32
|
+
sentiment?: 'positive' | 'neutral' | 'negative'
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Call Recording Module
|
|
36
|
+
*/
|
|
37
|
+
export declare class CallRecording {
|
|
38
|
+
static RecordingProcessorCode: any;
|
|
39
|
+
static TranscriptionCompleteCode: any;
|
|
40
|
+
static createRecordingsTable(config: { slug: string }): Record<string, any>;
|
|
41
|
+
static createRecordingProcessorLambda(config: {
|
|
42
|
+
slug: string
|
|
43
|
+
roleArn: string
|
|
44
|
+
recordingBucket: string
|
|
45
|
+
recordingsTable: string
|
|
46
|
+
}): Record<string, any>;
|
|
47
|
+
}
|
|
48
|
+
export default CallRecording;
|
|
File without changes
|
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
* - Sends notifications (SNS, webhook)
|
|
7
7
|
* - Routes based on caller ID
|
|
8
8
|
*/
|
|
9
|
-
|
|
10
|
-
export const handler = `
|
|
9
|
+
export declare const handler: `
|
|
11
10
|
const { SNSClient, PublishCommand } = require('@aws-sdk/client-sns');
|
|
12
11
|
const { DynamoDBClient, PutItemCommand } = require('@aws-sdk/client-dynamodb');
|
|
13
12
|
|
|
@@ -112,6 +111,5 @@ exports.handler = async (event) => {
|
|
|
112
111
|
};
|
|
113
112
|
}
|
|
114
113
|
};
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
export default handler
|
|
114
|
+
`;
|
|
115
|
+
export default handler;
|
|
@@ -5,8 +5,7 @@
|
|
|
5
5
|
* - Logs missed call
|
|
6
6
|
* - Sends notification
|
|
7
7
|
*/
|
|
8
|
-
|
|
9
|
-
export const handler = `
|
|
8
|
+
export declare const handler: `
|
|
10
9
|
const { SNSClient, PublishCommand } = require('@aws-sdk/client-sns');
|
|
11
10
|
const { DynamoDBClient, UpdateItemCommand } = require('@aws-sdk/client-dynamodb');
|
|
12
11
|
|
|
@@ -111,6 +110,5 @@ exports.handler = async (event) => {
|
|
|
111
110
|
};
|
|
112
111
|
}
|
|
113
112
|
};
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
export default handler
|
|
113
|
+
`;
|
|
114
|
+
export default handler;
|
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
* - Transcribes using Amazon Transcribe
|
|
7
7
|
* - Sends notification with transcription
|
|
8
8
|
*/
|
|
9
|
-
|
|
10
|
-
export const handler = `
|
|
9
|
+
export declare const handler: `
|
|
11
10
|
const { S3Client, GetObjectCommand, PutObjectCommand } = require('@aws-sdk/client-s3');
|
|
12
11
|
const { TranscribeClient, StartTranscriptionJobCommand, GetTranscriptionJobCommand } = require('@aws-sdk/client-transcribe');
|
|
13
12
|
const { SNSClient, PublishCommand } = require('@aws-sdk/client-sns');
|
|
@@ -174,6 +173,5 @@ exports.handler = async (event) => {
|
|
|
174
173
|
|
|
175
174
|
return { statusCode: 200, body: 'OK' };
|
|
176
175
|
};
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
export default handler
|
|
176
|
+
`;
|
|
177
|
+
export default handler;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CloudConfig } from '@stacksjs/ts-cloud-types';
|
|
2
|
+
/**
|
|
3
|
+
* API-Only Backend Preset
|
|
4
|
+
* Perfect for: REST APIs, GraphQL APIs, mobile backends
|
|
5
|
+
* Includes: API Gateway + Lambda functions + DynamoDB
|
|
6
|
+
*/
|
|
7
|
+
export declare function createApiBackendPreset(options: {
|
|
8
|
+
name: string
|
|
9
|
+
slug: string
|
|
10
|
+
domain?: string
|
|
11
|
+
}): Partial<CloudConfig>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CloudConfig } from '@stacksjs/ts-cloud-types';
|
|
2
|
+
/**
|
|
3
|
+
* Data Pipeline Preset
|
|
4
|
+
* Perfect for: ETL pipelines, data processing, analytics workflows
|
|
5
|
+
* Includes: Kinesis + Lambda + S3 + Athena + Glue
|
|
6
|
+
*/
|
|
7
|
+
export declare function createDataPipelinePreset(options: {
|
|
8
|
+
name: string
|
|
9
|
+
slug: string
|
|
10
|
+
retentionDays?: number
|
|
11
|
+
}): Partial<CloudConfig>;
|
|
@@ -1,43 +1,4 @@
|
|
|
1
|
-
import type { CloudConfig } from '@stacksjs/ts-cloud-types'
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Deep merge utility for combining CloudConfig objects
|
|
5
|
-
*/
|
|
6
|
-
function deepMerge<T extends Record<string, any>>(target: T, source: Partial<T>): T {
|
|
7
|
-
const result = { ...target }
|
|
8
|
-
|
|
9
|
-
for (const key in source) {
|
|
10
|
-
const sourceValue = source[key]
|
|
11
|
-
const targetValue = result[key]
|
|
12
|
-
|
|
13
|
-
if (sourceValue === undefined) {
|
|
14
|
-
continue
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
if (Array.isArray(sourceValue) && Array.isArray(targetValue)) {
|
|
18
|
-
// Merge arrays by concatenating
|
|
19
|
-
result[key] = [...targetValue, ...sourceValue] as any
|
|
20
|
-
}
|
|
21
|
-
else if (
|
|
22
|
-
typeof sourceValue === 'object'
|
|
23
|
-
&& sourceValue !== null
|
|
24
|
-
&& !Array.isArray(sourceValue)
|
|
25
|
-
&& typeof targetValue === 'object'
|
|
26
|
-
&& targetValue !== null
|
|
27
|
-
&& !Array.isArray(targetValue)
|
|
28
|
-
) {
|
|
29
|
-
// Recursively merge objects
|
|
30
|
-
result[key] = deepMerge(targetValue, sourceValue)
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
// Override primitive values
|
|
34
|
-
result[key] = sourceValue as any
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return result
|
|
39
|
-
}
|
|
40
|
-
|
|
1
|
+
import type { CloudConfig } from '@stacksjs/ts-cloud-types';
|
|
41
2
|
/**
|
|
42
3
|
* Extend a base preset with custom configuration
|
|
43
4
|
*
|
|
@@ -65,13 +26,7 @@ function deepMerge<T extends Record<string, any>>(target: T, source: Partial<T>)
|
|
|
65
26
|
* )
|
|
66
27
|
* ```
|
|
67
28
|
*/
|
|
68
|
-
export function extendPreset(
|
|
69
|
-
basePreset: Partial<CloudConfig>,
|
|
70
|
-
extensions: Partial<CloudConfig>,
|
|
71
|
-
): Partial<CloudConfig> {
|
|
72
|
-
return deepMerge(basePreset as Record<string, any>, extensions as Record<string, any>) as Partial<CloudConfig>
|
|
73
|
-
}
|
|
74
|
-
|
|
29
|
+
export declare function extendPreset(basePreset: Partial<CloudConfig>, extensions: Partial<CloudConfig>): Partial<CloudConfig>;
|
|
75
30
|
/**
|
|
76
31
|
* Compose multiple presets together
|
|
77
32
|
* Later presets override earlier ones
|
|
@@ -92,15 +47,7 @@ export function extendPreset(
|
|
|
92
47
|
* )
|
|
93
48
|
* ```
|
|
94
49
|
*/
|
|
95
|
-
export function composePresets(
|
|
96
|
-
...presets: Partial<CloudConfig>[]
|
|
97
|
-
): Partial<CloudConfig> {
|
|
98
|
-
return presets.reduce(
|
|
99
|
-
(acc, preset) => deepMerge(acc as Record<string, any>, preset as Record<string, any>),
|
|
100
|
-
{} as Record<string, any>,
|
|
101
|
-
) as Partial<CloudConfig>
|
|
102
|
-
}
|
|
103
|
-
|
|
50
|
+
export declare function composePresets(...presets: Partial<CloudConfig>[]): Partial<CloudConfig>;
|
|
104
51
|
/**
|
|
105
52
|
* Create a custom preset by extending an existing one
|
|
106
53
|
*
|
|
@@ -124,21 +71,7 @@ export function composePresets(
|
|
|
124
71
|
* const myPreset = createMyCustomPreset({ name: 'App', slug: 'app' })
|
|
125
72
|
* ```
|
|
126
73
|
*/
|
|
127
|
-
export function createPreset<TOptions extends Record<string, any>>(
|
|
128
|
-
basePresetFn: (options: TOptions) => Partial<CloudConfig>,
|
|
129
|
-
extensions: Partial<CloudConfig> | ((config: Partial<CloudConfig>, options: TOptions) => Partial<CloudConfig>),
|
|
130
|
-
): (options: TOptions) => Partial<CloudConfig> {
|
|
131
|
-
return (options: TOptions) => {
|
|
132
|
-
const baseConfig = basePresetFn(options)
|
|
133
|
-
|
|
134
|
-
if (typeof extensions === 'function') {
|
|
135
|
-
return extendPreset(baseConfig, extensions(baseConfig, options))
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
return extendPreset(baseConfig, extensions)
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
74
|
+
export declare function createPreset<TOptions extends Record<string, any>>(basePresetFn: (options: TOptions) => Partial<CloudConfig>, extensions: Partial<CloudConfig> | ((config: Partial<CloudConfig>, options: TOptions) => Partial<CloudConfig>)): (options: TOptions) => Partial<CloudConfig>;
|
|
142
75
|
/**
|
|
143
76
|
* Merge infrastructure configurations selectively
|
|
144
77
|
* Useful for adding specific infrastructure to existing presets
|
|
@@ -160,14 +93,7 @@ export function createPreset<TOptions extends Record<string, any>>(
|
|
|
160
93
|
* )
|
|
161
94
|
* ```
|
|
162
95
|
*/
|
|
163
|
-
export function mergeInfrastructure(
|
|
164
|
-
infrastructure: Partial<CloudConfig['infrastructure']>,
|
|
165
|
-
): Partial<CloudConfig> {
|
|
166
|
-
return {
|
|
167
|
-
infrastructure,
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
|
|
96
|
+
export declare function mergeInfrastructure(infrastructure: Partial<CloudConfig['infrastructure']>): Partial<CloudConfig>;
|
|
171
97
|
/**
|
|
172
98
|
* Add monitoring configuration to any preset
|
|
173
99
|
*
|
|
@@ -182,12 +108,7 @@ export function mergeInfrastructure(
|
|
|
182
108
|
* )
|
|
183
109
|
* ```
|
|
184
110
|
*/
|
|
185
|
-
export function withMonitoring(
|
|
186
|
-
monitoring: NonNullable<CloudConfig['infrastructure']>['monitoring'],
|
|
187
|
-
): Partial<CloudConfig> {
|
|
188
|
-
return mergeInfrastructure({ monitoring })
|
|
189
|
-
}
|
|
190
|
-
|
|
111
|
+
export declare function withMonitoring(monitoring: NonNullable<CloudConfig['infrastructure']>['monitoring']): Partial<CloudConfig>;
|
|
191
112
|
/**
|
|
192
113
|
* Add security configuration to any preset
|
|
193
114
|
*
|
|
@@ -201,12 +122,7 @@ export function withMonitoring(
|
|
|
201
122
|
* )
|
|
202
123
|
* ```
|
|
203
124
|
*/
|
|
204
|
-
export function withSecurity(
|
|
205
|
-
security: NonNullable<CloudConfig['infrastructure']>['security'],
|
|
206
|
-
): Partial<CloudConfig> {
|
|
207
|
-
return mergeInfrastructure({ security })
|
|
208
|
-
}
|
|
209
|
-
|
|
125
|
+
export declare function withSecurity(security: NonNullable<CloudConfig['infrastructure']>['security']): Partial<CloudConfig>;
|
|
210
126
|
/**
|
|
211
127
|
* Add database configuration to any preset
|
|
212
128
|
*
|
|
@@ -225,12 +141,7 @@ export function withSecurity(
|
|
|
225
141
|
* )
|
|
226
142
|
* ```
|
|
227
143
|
*/
|
|
228
|
-
export function withDatabase(
|
|
229
|
-
databases: NonNullable<CloudConfig['infrastructure']>['databases'],
|
|
230
|
-
): Partial<CloudConfig> {
|
|
231
|
-
return mergeInfrastructure({ databases })
|
|
232
|
-
}
|
|
233
|
-
|
|
144
|
+
export declare function withDatabase(databases: NonNullable<CloudConfig['infrastructure']>['databases']): Partial<CloudConfig>;
|
|
234
145
|
/**
|
|
235
146
|
* Add cache configuration to any preset
|
|
236
147
|
*
|
|
@@ -247,12 +158,7 @@ export function withDatabase(
|
|
|
247
158
|
* )
|
|
248
159
|
* ```
|
|
249
160
|
*/
|
|
250
|
-
export function withCache(
|
|
251
|
-
cache: NonNullable<CloudConfig['infrastructure']>['cache'],
|
|
252
|
-
): Partial<CloudConfig> {
|
|
253
|
-
return mergeInfrastructure({ cache })
|
|
254
|
-
}
|
|
255
|
-
|
|
161
|
+
export declare function withCache(cache: NonNullable<CloudConfig['infrastructure']>['cache']): Partial<CloudConfig>;
|
|
256
162
|
/**
|
|
257
163
|
* Add CDN configuration to any preset
|
|
258
164
|
*
|
|
@@ -268,12 +174,7 @@ export function withCache(
|
|
|
268
174
|
* )
|
|
269
175
|
* ```
|
|
270
176
|
*/
|
|
271
|
-
export function withCDN(
|
|
272
|
-
cdn: NonNullable<CloudConfig['infrastructure']>['cdn'],
|
|
273
|
-
): Partial<CloudConfig> {
|
|
274
|
-
return mergeInfrastructure({ cdn })
|
|
275
|
-
}
|
|
276
|
-
|
|
177
|
+
export declare function withCDN(cdn: NonNullable<CloudConfig['infrastructure']>['cdn']): Partial<CloudConfig>;
|
|
277
178
|
/**
|
|
278
179
|
* Add queue configuration to any preset
|
|
279
180
|
*
|
|
@@ -290,8 +191,4 @@ export function withCDN(
|
|
|
290
191
|
* )
|
|
291
192
|
* ```
|
|
292
193
|
*/
|
|
293
|
-
export function withQueue(
|
|
294
|
-
queues: NonNullable<CloudConfig['infrastructure']>['queues'],
|
|
295
|
-
): Partial<CloudConfig> {
|
|
296
|
-
return mergeInfrastructure({ queues })
|
|
297
|
-
}
|
|
194
|
+
export declare function withQueue(queues: NonNullable<CloudConfig['infrastructure']>['queues']): Partial<CloudConfig>;
|
|
File without changes
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { CloudConfig } from '@stacksjs/ts-cloud-types';
|
|
2
|
+
/**
|
|
3
|
+
* Full Stack App Preset
|
|
4
|
+
* Perfect for: Complete web applications with frontend and API
|
|
5
|
+
* Includes: S3 + CloudFront (frontend) + ECS Fargate (API) + RDS + Redis
|
|
6
|
+
*/
|
|
7
|
+
export declare function createFullStackAppPreset(options: {
|
|
8
|
+
name: string
|
|
9
|
+
slug: string
|
|
10
|
+
domain: string
|
|
11
|
+
apiSubdomain?: string
|
|
12
|
+
}): Partial<CloudConfig>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export { createStaticSitePreset } from './static-site';
|
|
2
|
+
export { createNodeJsServerPreset } from './nodejs-server';
|
|
3
|
+
export { createNodeJsServerlessPreset } from './nodejs-serverless';
|
|
4
|
+
export { createFullStackAppPreset } from './fullstack-app';
|
|
5
|
+
export { createApiBackendPreset } from './api-backend';
|
|
6
|
+
export { createWordPressPreset } from './wordpress';
|
|
7
|
+
export { createJamstackPreset } from './jamstack';
|
|
8
|
+
export { createMicroservicesPreset } from './microservices';
|
|
9
|
+
export { createRealtimeAppPreset } from './realtime-app';
|
|
10
|
+
export { createDataPipelinePreset } from './data-pipeline';
|
|
11
|
+
export { createMLApiPreset } from './ml-api';
|
|
12
|
+
export { createTraditionalWebAppPreset } from './traditional-web-app';
|
|
13
|
+
export {
|
|
14
|
+
extendPreset,
|
|
15
|
+
composePresets,
|
|
16
|
+
createPreset,
|
|
17
|
+
mergeInfrastructure,
|
|
18
|
+
withMonitoring,
|
|
19
|
+
withSecurity,
|
|
20
|
+
withDatabase,
|
|
21
|
+
withCache,
|
|
22
|
+
withCDN,
|
|
23
|
+
withQueue,
|
|
24
|
+
} from './extend';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { CloudConfig } from '@stacksjs/ts-cloud-types';
|
|
2
|
+
/**
|
|
3
|
+
* Jamstack Site Preset
|
|
4
|
+
* Perfect for: Modern static sites with API routes, Next.js, Astro, SvelteKit
|
|
5
|
+
* Includes: S3 + CloudFront + Lambda@Edge for SSR/ISR
|
|
6
|
+
*/
|
|
7
|
+
export declare function createJamstackPreset(options: {
|
|
8
|
+
name: string
|
|
9
|
+
slug: string
|
|
10
|
+
domain: string
|
|
11
|
+
apiDomain?: string
|
|
12
|
+
}): Partial<CloudConfig>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CloudConfig } from '@stacksjs/ts-cloud-types';
|
|
2
|
+
/**
|
|
3
|
+
* Microservices Preset
|
|
4
|
+
* Perfect for: Service-oriented architectures, distributed systems
|
|
5
|
+
* Includes: Multiple ECS services + API Gateway + Service Discovery + DynamoDB
|
|
6
|
+
*/
|
|
7
|
+
export declare function createMicroservicesPreset(options: {
|
|
8
|
+
name: string
|
|
9
|
+
slug: string
|
|
10
|
+
domain: string
|
|
11
|
+
services: Array<{
|
|
12
|
+
name: string
|
|
13
|
+
port: number
|
|
14
|
+
cpu?: string
|
|
15
|
+
memory?: string
|
|
16
|
+
desiredCount?: number
|
|
17
|
+
}>
|
|
18
|
+
}): Partial<CloudConfig>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CloudConfig } from '@stacksjs/ts-cloud-types';
|
|
2
|
+
/**
|
|
3
|
+
* Machine Learning API Preset
|
|
4
|
+
* Perfect for: ML inference APIs, AI-powered applications
|
|
5
|
+
* Includes: SageMaker + API Gateway + Lambda + S3
|
|
6
|
+
*/
|
|
7
|
+
export declare function createMLApiPreset(options: {
|
|
8
|
+
name: string
|
|
9
|
+
slug: string
|
|
10
|
+
domain?: string
|
|
11
|
+
modelS3Path?: string
|
|
12
|
+
instanceType?: string
|
|
13
|
+
}): Partial<CloudConfig>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CloudConfig } from '@stacksjs/ts-cloud-types';
|
|
2
|
+
/**
|
|
3
|
+
* Node.js Server Preset
|
|
4
|
+
* Perfect for: Traditional Node.js applications, API servers
|
|
5
|
+
* Includes: EC2 instances + ALB + Auto Scaling + RDS + Redis
|
|
6
|
+
*/
|
|
7
|
+
export declare function createNodeJsServerPreset(options: {
|
|
8
|
+
name: string
|
|
9
|
+
slug: string
|
|
10
|
+
domain?: string
|
|
11
|
+
instanceType?: string
|
|
12
|
+
minInstances?: number
|
|
13
|
+
maxInstances?: number
|
|
14
|
+
}): Partial<CloudConfig>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CloudConfig } from '@stacksjs/ts-cloud-types';
|
|
2
|
+
/**
|
|
3
|
+
* Node.js Serverless Preset
|
|
4
|
+
* Perfect for: Serverless APIs, microservices
|
|
5
|
+
* Includes: ECS Fargate + ALB + DynamoDB + Lambda functions
|
|
6
|
+
*/
|
|
7
|
+
export declare function createNodeJsServerlessPreset(options: {
|
|
8
|
+
name: string
|
|
9
|
+
slug: string
|
|
10
|
+
domain?: string
|
|
11
|
+
taskCpu?: string
|
|
12
|
+
taskMemory?: string
|
|
13
|
+
desiredCount?: number
|
|
14
|
+
}): Partial<CloudConfig>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CloudConfig } from '@stacksjs/ts-cloud-types';
|
|
2
|
+
/**
|
|
3
|
+
* Real-time App Preset
|
|
4
|
+
* Perfect for: Chat apps, collaborative tools, live dashboards, gaming backends
|
|
5
|
+
* Includes: API Gateway WebSocket + Lambda + DynamoDB Streams
|
|
6
|
+
*/
|
|
7
|
+
export declare function createRealtimeAppPreset(options: {
|
|
8
|
+
name: string
|
|
9
|
+
slug: string
|
|
10
|
+
domain?: string
|
|
11
|
+
}): Partial<CloudConfig>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { CloudConfig } from '@stacksjs/ts-cloud-types';
|
|
2
|
+
/**
|
|
3
|
+
* Static Site Preset
|
|
4
|
+
* Perfect for: Static websites, SPAs, documentation sites
|
|
5
|
+
* Includes: S3 bucket + CloudFront CDN
|
|
6
|
+
*/
|
|
7
|
+
export declare function createStaticSitePreset(options: {
|
|
8
|
+
name: string
|
|
9
|
+
slug: string
|
|
10
|
+
domain?: string
|
|
11
|
+
subdomain?: string
|
|
12
|
+
}): Partial<CloudConfig>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { CloudConfig } from '@stacksjs/ts-cloud-types';
|
|
2
|
+
/**
|
|
3
|
+
* Traditional Web App Preset
|
|
4
|
+
* Perfect for: Server-rendered web apps, CMS platforms, admin panels
|
|
5
|
+
* Includes: EC2 + ALB + RDS + Redis + EFS (for session storage and uploads)
|
|
6
|
+
*/
|
|
7
|
+
export declare function createTraditionalWebAppPreset(options: {
|
|
8
|
+
name: string
|
|
9
|
+
slug: string
|
|
10
|
+
domain?: string
|
|
11
|
+
instanceType?: string
|
|
12
|
+
minInstances?: number
|
|
13
|
+
maxInstances?: number
|
|
14
|
+
databaseEngine?: 'mysql' | 'postgres'
|
|
15
|
+
sessionStore?: 'redis' | 'database'
|
|
16
|
+
}): Partial<CloudConfig>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { CloudConfig } from '@stacksjs/ts-cloud-types';
|
|
2
|
+
/**
|
|
3
|
+
* WordPress Preset
|
|
4
|
+
* Perfect for: WordPress sites, blogs, CMS-based sites
|
|
5
|
+
* Includes: EC2 + RDS MySQL + EFS + CloudFront
|
|
6
|
+
*/
|
|
7
|
+
export declare function createWordPressPreset(options: {
|
|
8
|
+
name: string
|
|
9
|
+
slug: string
|
|
10
|
+
domain: string
|
|
11
|
+
instanceType?: string
|
|
12
|
+
}): Partial<CloudConfig>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate GitHub Actions workflow for preview environments
|
|
3
|
+
*/
|
|
4
|
+
export declare function generatePreviewWorkflow(options?: GitHubWorkflowOptions): string;
|
|
5
|
+
/**
|
|
6
|
+
* Generate scheduled cleanup workflow
|
|
7
|
+
*/
|
|
8
|
+
export declare function generateCleanupWorkflow(options?: {
|
|
9
|
+
schedule?: string
|
|
10
|
+
maxAge?: number
|
|
11
|
+
keepCount?: number
|
|
12
|
+
}): string;
|
|
13
|
+
/**
|
|
14
|
+
* Generate cost report workflow
|
|
15
|
+
*/
|
|
16
|
+
export declare function generateCostReportWorkflow(options?: {
|
|
17
|
+
schedule?: string
|
|
18
|
+
webhookUrl?: string
|
|
19
|
+
}): string;
|
|
20
|
+
/**
|
|
21
|
+
* GitHub integration for preview environments
|
|
22
|
+
* Generates GitHub Actions workflows for automated preview deployments
|
|
23
|
+
*/
|
|
24
|
+
export declare interface GitHubWorkflowOptions {
|
|
25
|
+
workflowName?: string
|
|
26
|
+
trigger?: 'pull_request' | 'push' | 'workflow_dispatch'
|
|
27
|
+
branches?: string[]
|
|
28
|
+
awsRegion?: string
|
|
29
|
+
awsRole?: string
|
|
30
|
+
configFile?: string
|
|
31
|
+
ttl?: number
|
|
32
|
+
}
|