@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,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global secrets rotation manager instance
|
|
3
|
+
*/
|
|
4
|
+
export declare const secretsRotationManager: SecretsRotationManager;
|
|
5
|
+
/**
|
|
6
|
+
* Automated Secrets Rotation
|
|
7
|
+
* Automatic rotation for RDS credentials, API keys, and other secrets
|
|
8
|
+
*/
|
|
9
|
+
export declare interface SecretRotation {
|
|
10
|
+
id: string
|
|
11
|
+
secretId: string
|
|
12
|
+
secretType: SecretType
|
|
13
|
+
rotationEnabled: boolean
|
|
14
|
+
rotationDays: number
|
|
15
|
+
rotationLambdaArn?: string
|
|
16
|
+
lastRotated?: Date
|
|
17
|
+
nextRotation?: Date
|
|
18
|
+
versionStages?: string[]
|
|
19
|
+
}
|
|
20
|
+
export declare interface RotationConfig {
|
|
21
|
+
automaticallyAfterDays: number
|
|
22
|
+
rotationLambda?: RotationLambda
|
|
23
|
+
requireMasterPassword?: boolean
|
|
24
|
+
excludeCharacters?: string
|
|
25
|
+
passwordLength?: number
|
|
26
|
+
}
|
|
27
|
+
export declare interface RotationLambda {
|
|
28
|
+
functionArn: string
|
|
29
|
+
functionName: string
|
|
30
|
+
runtime: string
|
|
31
|
+
handler: string
|
|
32
|
+
}
|
|
33
|
+
export declare interface RotationSchedule {
|
|
34
|
+
id: string
|
|
35
|
+
name: string
|
|
36
|
+
secrets: string[]
|
|
37
|
+
schedule: string
|
|
38
|
+
enabled: boolean
|
|
39
|
+
lastRun?: Date
|
|
40
|
+
nextRun?: Date
|
|
41
|
+
}
|
|
42
|
+
export declare interface RotationResult {
|
|
43
|
+
success: boolean
|
|
44
|
+
secretId: string
|
|
45
|
+
oldVersion: string
|
|
46
|
+
newVersion: string
|
|
47
|
+
rotatedAt: Date
|
|
48
|
+
error?: string
|
|
49
|
+
}
|
|
50
|
+
export declare interface RDSRotationConfig {
|
|
51
|
+
secretArn: string
|
|
52
|
+
databaseIdentifier: string
|
|
53
|
+
engine: 'postgres' | 'mysql' | 'sqlserver' | 'oracle'
|
|
54
|
+
masterSecretArn?: string
|
|
55
|
+
superuserSecretArn?: string
|
|
56
|
+
}
|
|
57
|
+
export type SecretType = | 'rds_credentials'
|
|
58
|
+
| 'api_key'
|
|
59
|
+
| 'oauth_token'
|
|
60
|
+
| 'ssh_key'
|
|
61
|
+
| 'certificate'
|
|
62
|
+
| 'generic'
|
|
63
|
+
/**
|
|
64
|
+
* Secrets rotation manager
|
|
65
|
+
*/
|
|
66
|
+
export declare class SecretsRotationManager {
|
|
67
|
+
private rotations: Map<string, SecretRotation>;
|
|
68
|
+
private schedules: Map<string, RotationSchedule>;
|
|
69
|
+
private rotationCounter: any;
|
|
70
|
+
private scheduleCounter: any;
|
|
71
|
+
createRotation(rotation: Omit<SecretRotation, 'id'>): SecretRotation;
|
|
72
|
+
enableRDSRotation(options: {
|
|
73
|
+
secretId: string
|
|
74
|
+
databaseIdentifier: string
|
|
75
|
+
engine: 'postgres' | 'mysql' | 'sqlserver' | 'oracle'
|
|
76
|
+
rotationDays?: number
|
|
77
|
+
masterSecretArn?: string
|
|
78
|
+
}): SecretRotation;
|
|
79
|
+
enableAPIKeyRotation(options: {
|
|
80
|
+
secretId: string
|
|
81
|
+
rotationDays?: number
|
|
82
|
+
rotationLambdaArn?: string
|
|
83
|
+
}): SecretRotation;
|
|
84
|
+
enableOAuthRotation(options: {
|
|
85
|
+
secretId: string
|
|
86
|
+
rotationDays?: number
|
|
87
|
+
rotationLambdaArn: string
|
|
88
|
+
}): SecretRotation;
|
|
89
|
+
enableSSHKeyRotation(options: {
|
|
90
|
+
secretId: string
|
|
91
|
+
rotationDays?: number
|
|
92
|
+
rotationLambdaArn: string
|
|
93
|
+
}): SecretRotation;
|
|
94
|
+
createSchedule(schedule: Omit<RotationSchedule, 'id'>): RotationSchedule;
|
|
95
|
+
executeRotation(rotationId: string): Promise<RotationResult>;
|
|
96
|
+
needsRotation(rotationId: string): boolean;
|
|
97
|
+
getSecretsNeedingRotation(): SecretRotation[];
|
|
98
|
+
private generateRDSRotationLambdaArn(engine: string): string;
|
|
99
|
+
getRotation(id: string): SecretRotation | undefined;
|
|
100
|
+
listRotations(): SecretRotation[];
|
|
101
|
+
getSchedule(id: string): RotationSchedule | undefined;
|
|
102
|
+
listSchedules(): RotationSchedule[];
|
|
103
|
+
generateRotationCF(rotation: SecretRotation): any;
|
|
104
|
+
generateRotationLambdaCF(options: {
|
|
105
|
+
functionName: string
|
|
106
|
+
secretType: SecretType
|
|
107
|
+
vpcConfig?: {
|
|
108
|
+
subnetIds: string[]
|
|
109
|
+
securityGroupIds: string[]
|
|
110
|
+
}
|
|
111
|
+
}): any;
|
|
112
|
+
generateRotationLambdaRoleCF(): any;
|
|
113
|
+
generateRotationScheduleCF(schedule: RotationSchedule): any;
|
|
114
|
+
clear(): void;
|
|
115
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A/B Testing for SMS Content
|
|
3
|
+
*
|
|
4
|
+
* Provides A/B testing capabilities for SMS campaigns
|
|
5
|
+
*/
|
|
6
|
+
export declare interface AbTest {
|
|
7
|
+
id: string
|
|
8
|
+
name: string
|
|
9
|
+
status: 'draft' | 'running' | 'completed' | 'cancelled'
|
|
10
|
+
variants: AbVariant[]
|
|
11
|
+
trafficSplit: number[]
|
|
12
|
+
winningCriteria: 'delivery_rate' | 'click_rate' | 'reply_rate' | 'conversion_rate'
|
|
13
|
+
sampleSize: number
|
|
14
|
+
currentSample: number
|
|
15
|
+
winner?: string
|
|
16
|
+
createdAt: string
|
|
17
|
+
startedAt?: string
|
|
18
|
+
completedAt?: string
|
|
19
|
+
}
|
|
20
|
+
export declare interface AbVariant {
|
|
21
|
+
id: string
|
|
22
|
+
name: string
|
|
23
|
+
message: string
|
|
24
|
+
stats: VariantStats
|
|
25
|
+
}
|
|
26
|
+
export declare interface VariantStats {
|
|
27
|
+
sent: number
|
|
28
|
+
delivered: number
|
|
29
|
+
clicked: number
|
|
30
|
+
replied: number
|
|
31
|
+
converted: number
|
|
32
|
+
deliveryRate: number
|
|
33
|
+
clickRate: number
|
|
34
|
+
replyRate: number
|
|
35
|
+
conversionRate: number
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* A/B Testing Module
|
|
39
|
+
*/
|
|
40
|
+
export declare class AbTesting {
|
|
41
|
+
static AbTestManagerCode: any;
|
|
42
|
+
static createAbTestsTable(config: { slug: string }): Record<string, any>;
|
|
43
|
+
static createAbTestManagerLambda(config: {
|
|
44
|
+
slug: string
|
|
45
|
+
roleArn: string
|
|
46
|
+
abTestsTable: string
|
|
47
|
+
}): Record<string, any>;
|
|
48
|
+
static selectVariant(test: AbTest, recipientId: string): AbVariant;
|
|
49
|
+
static determineWinner(test: AbTest): AbVariant | null;
|
|
50
|
+
static calculateSignificance(variantA: AbVariant, variantB: AbVariant, criteria: string): number;
|
|
51
|
+
static private getMetricValue(variant: AbVariant, criteria: string): number;
|
|
52
|
+
static private hashString(str: string): number;
|
|
53
|
+
}
|
|
54
|
+
export default AbTesting;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMS Analytics
|
|
3
|
+
*
|
|
4
|
+
* Provides delivery rates, engagement metrics, and reporting
|
|
5
|
+
*/
|
|
6
|
+
export declare interface SmsMetrics {
|
|
7
|
+
period: string
|
|
8
|
+
sent: number
|
|
9
|
+
delivered: number
|
|
10
|
+
failed: number
|
|
11
|
+
pending: number
|
|
12
|
+
optedOut: number
|
|
13
|
+
deliveryRate: number
|
|
14
|
+
failureRate: number
|
|
15
|
+
averageDeliveryTime: number
|
|
16
|
+
cost: number
|
|
17
|
+
}
|
|
18
|
+
export declare interface SmsEngagement {
|
|
19
|
+
messageId: string
|
|
20
|
+
delivered: boolean
|
|
21
|
+
deliveredAt?: string
|
|
22
|
+
clicked?: boolean
|
|
23
|
+
clickedAt?: string
|
|
24
|
+
replied?: boolean
|
|
25
|
+
repliedAt?: string
|
|
26
|
+
replyContent?: string
|
|
27
|
+
optedOut?: boolean
|
|
28
|
+
optedOutAt?: string
|
|
29
|
+
}
|
|
30
|
+
export declare interface DeliveryReport {
|
|
31
|
+
messageId: string
|
|
32
|
+
to: string
|
|
33
|
+
status: 'PENDING' | 'SUCCESSFUL' | 'FAILED' | 'UNKNOWN'
|
|
34
|
+
statusCode?: string
|
|
35
|
+
statusMessage?: string
|
|
36
|
+
carrier?: string
|
|
37
|
+
countryCode?: string
|
|
38
|
+
priceInMillicents?: number
|
|
39
|
+
timestamp: string
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* SMS Analytics Module
|
|
43
|
+
*/
|
|
44
|
+
export declare class SmsAnalytics {
|
|
45
|
+
static AnalyticsAggregatorCode: any;
|
|
46
|
+
static DeliveryTrackerCode: any;
|
|
47
|
+
static createAnalyticsTable(config: { slug: string }): Record<string, any>;
|
|
48
|
+
static createDeliveryReportsTable(config: { slug: string }): Record<string, any>;
|
|
49
|
+
static createAnalyticsAggregatorLambda(config: {
|
|
50
|
+
slug: string
|
|
51
|
+
roleArn: string
|
|
52
|
+
messageLogTable: string
|
|
53
|
+
analyticsTable: string
|
|
54
|
+
}): Record<string, any>;
|
|
55
|
+
}
|
|
56
|
+
export default SmsAnalytics;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMS Campaigns and Scheduling
|
|
3
|
+
*
|
|
4
|
+
* Provides campaign management and scheduled SMS sending
|
|
5
|
+
*/
|
|
6
|
+
export declare interface SmsCampaign {
|
|
7
|
+
id: string
|
|
8
|
+
name: string
|
|
9
|
+
description?: string
|
|
10
|
+
status: 'draft' | 'scheduled' | 'running' | 'paused' | 'completed' | 'cancelled'
|
|
11
|
+
message: {
|
|
12
|
+
body: string
|
|
13
|
+
template?: string
|
|
14
|
+
variables?: string[]
|
|
15
|
+
}
|
|
16
|
+
audience: CampaignAudience
|
|
17
|
+
schedule: CampaignSchedule
|
|
18
|
+
settings: CampaignSettings
|
|
19
|
+
stats: CampaignStats
|
|
20
|
+
createdAt: string
|
|
21
|
+
updatedAt: string
|
|
22
|
+
startedAt?: string
|
|
23
|
+
completedAt?: string
|
|
24
|
+
}
|
|
25
|
+
export declare interface CampaignAudience {
|
|
26
|
+
type: 'list' | 'segment' | 'all'
|
|
27
|
+
listId?: string
|
|
28
|
+
segmentId?: string
|
|
29
|
+
filters?: AudienceFilter[]
|
|
30
|
+
estimatedSize?: number
|
|
31
|
+
}
|
|
32
|
+
export declare interface AudienceFilter {
|
|
33
|
+
field: string
|
|
34
|
+
operator: 'equals' | 'not-equals' | 'contains' | 'greater-than' | 'less-than'
|
|
35
|
+
value: string
|
|
36
|
+
}
|
|
37
|
+
export declare interface CampaignSchedule {
|
|
38
|
+
type: 'immediate' | 'scheduled' | 'recurring'
|
|
39
|
+
scheduledFor?: string
|
|
40
|
+
timezone?: string
|
|
41
|
+
recurrence?: {
|
|
42
|
+
frequency: 'daily' | 'weekly' | 'monthly'
|
|
43
|
+
interval: number
|
|
44
|
+
endDate?: string
|
|
45
|
+
maxOccurrences?: number
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export declare interface CampaignSettings {
|
|
49
|
+
messageType: 'TRANSACTIONAL' | 'PROMOTIONAL'
|
|
50
|
+
senderId?: string
|
|
51
|
+
originationNumber?: string
|
|
52
|
+
throttleRate?: number
|
|
53
|
+
quietHours?: {
|
|
54
|
+
start: string // HH:MM
|
|
55
|
+
end: string
|
|
56
|
+
timezone: string
|
|
57
|
+
}
|
|
58
|
+
optOutHandling: boolean
|
|
59
|
+
}
|
|
60
|
+
export declare interface CampaignStats {
|
|
61
|
+
totalRecipients: number
|
|
62
|
+
sent: number
|
|
63
|
+
delivered: number
|
|
64
|
+
failed: number
|
|
65
|
+
optedOut: number
|
|
66
|
+
deliveryRate: number
|
|
67
|
+
cost: number
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* SMS Campaigns Module
|
|
71
|
+
*/
|
|
72
|
+
export declare class SmsCampaigns {
|
|
73
|
+
static CampaignManagerCode: any;
|
|
74
|
+
static CampaignExecutorCode: any;
|
|
75
|
+
static createCampaignsTable(config: { slug: string }): Record<string, any>;
|
|
76
|
+
static createCampaignManagerLambda(config: {
|
|
77
|
+
slug: string
|
|
78
|
+
roleArn: string
|
|
79
|
+
campaignsTable: string
|
|
80
|
+
}): Record<string, any>;
|
|
81
|
+
}
|
|
82
|
+
export default SmsCampaigns;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SMS Chatbot Integration
|
|
3
|
+
*
|
|
4
|
+
* Provides conversational SMS with AI/rule-based responses
|
|
5
|
+
*/
|
|
6
|
+
export declare interface ChatbotConfig {
|
|
7
|
+
enabled: boolean
|
|
8
|
+
provider: 'rules' | 'bedrock' | 'openai' | 'custom'
|
|
9
|
+
welcomeMessage?: string
|
|
10
|
+
fallbackMessage?: string
|
|
11
|
+
sessionTimeout?: number
|
|
12
|
+
maxTurns?: number
|
|
13
|
+
}
|
|
14
|
+
export declare interface ChatSession {
|
|
15
|
+
sessionId: string
|
|
16
|
+
phoneNumber: string
|
|
17
|
+
startedAt: string
|
|
18
|
+
lastMessageAt: string
|
|
19
|
+
turnCount: number
|
|
20
|
+
context: Record<string, any>
|
|
21
|
+
status: 'active' | 'ended' | 'timeout'
|
|
22
|
+
}
|
|
23
|
+
export declare interface ChatRule {
|
|
24
|
+
id: string
|
|
25
|
+
priority: number
|
|
26
|
+
patterns: string[]
|
|
27
|
+
response: string
|
|
28
|
+
action?: 'respond' | 'transfer' | 'end' | 'webhook'
|
|
29
|
+
actionParams?: Record<string, any>
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* SMS Chatbot Module
|
|
33
|
+
*/
|
|
34
|
+
export declare class SmsChatbot {
|
|
35
|
+
static ChatbotProcessorCode: string;
|
|
36
|
+
static createSessionsTable(config: { slug: string }): Record<string, any>;
|
|
37
|
+
static createRulesTable(config: { slug: string }): Record<string, any>;
|
|
38
|
+
static createChatbotProcessorLambda(config: {
|
|
39
|
+
slug: string
|
|
40
|
+
roleArn: string
|
|
41
|
+
sessionsTable: string
|
|
42
|
+
rulesTable: string
|
|
43
|
+
chatbotConfig: ChatbotConfig
|
|
44
|
+
originationNumber?: string
|
|
45
|
+
}): Record<string, any>;
|
|
46
|
+
static readonly DefaultRules: ChatRule[];
|
|
47
|
+
}
|
|
48
|
+
export default SmsChatbot;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Link Shortening and Tracking
|
|
3
|
+
*
|
|
4
|
+
* Provides URL shortening and click tracking for SMS
|
|
5
|
+
*/
|
|
6
|
+
export declare interface ShortenedLink {
|
|
7
|
+
id: string
|
|
8
|
+
originalUrl: string
|
|
9
|
+
shortUrl: string
|
|
10
|
+
campaignId?: string
|
|
11
|
+
messageId?: string
|
|
12
|
+
clicks: number
|
|
13
|
+
uniqueClicks: number
|
|
14
|
+
createdAt: string
|
|
15
|
+
expiresAt?: string
|
|
16
|
+
}
|
|
17
|
+
export declare interface LinkClick {
|
|
18
|
+
linkId: string
|
|
19
|
+
clickedAt: string
|
|
20
|
+
userAgent?: string
|
|
21
|
+
ipAddress?: string
|
|
22
|
+
country?: string
|
|
23
|
+
device?: string
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Link Tracking Module
|
|
27
|
+
*/
|
|
28
|
+
export declare class LinkTracking {
|
|
29
|
+
static LinkShortenerCode: any;
|
|
30
|
+
static createLinksTable(config: { slug: string }): Record<string, any>;
|
|
31
|
+
static createLinkShortenerLambda(config: {
|
|
32
|
+
slug: string
|
|
33
|
+
roleArn: string
|
|
34
|
+
linksTable: string
|
|
35
|
+
shortDomain?: string
|
|
36
|
+
}): Record<string, any>;
|
|
37
|
+
static shortenUrlsInMessage(message: string, shortDomain: string, linkIdPrefix: string): {
|
|
38
|
+
message: string
|
|
39
|
+
links: Array<{ original: string; short: string; id: string }>
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export default LinkTracking;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MMS Support (Images, Media)
|
|
3
|
+
*
|
|
4
|
+
* Provides multimedia messaging capabilities
|
|
5
|
+
*/
|
|
6
|
+
export declare interface MmsMessage {
|
|
7
|
+
to: string
|
|
8
|
+
body?: string
|
|
9
|
+
mediaUrls: string[]
|
|
10
|
+
mediaType?: 'image' | 'video' | 'audio' | 'document'
|
|
11
|
+
fallbackSms?: string
|
|
12
|
+
}
|
|
13
|
+
export declare interface MmsMedia {
|
|
14
|
+
url: string
|
|
15
|
+
contentType: string
|
|
16
|
+
size: number
|
|
17
|
+
filename?: string
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* MMS Module
|
|
21
|
+
*/
|
|
22
|
+
export declare class MmsSupport {
|
|
23
|
+
static MmsSenderCode: any;
|
|
24
|
+
static createMediaBucket(config: { slug: string }): Record<string, any>;
|
|
25
|
+
static createMmsSenderLambda(config: {
|
|
26
|
+
slug: string
|
|
27
|
+
roleArn: string
|
|
28
|
+
mediaBucket: string
|
|
29
|
+
messageLogTable: string
|
|
30
|
+
originationNumber?: string
|
|
31
|
+
}): Record<string, any>;
|
|
32
|
+
static readonly SupportedMediaTypes: any;
|
|
33
|
+
static readonly MediaSizeLimits: { image: number, video: number, audio: number };
|
|
34
|
+
}
|
|
35
|
+
export default MmsSupport;
|
|
File without changes
|
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
* - Update message status
|
|
7
7
|
* - Handle failures
|
|
8
8
|
*/
|
|
9
|
-
|
|
10
|
-
export const handler = `
|
|
9
|
+
export declare const handler: `
|
|
11
10
|
const { DynamoDBClient, UpdateItemCommand } = require('@aws-sdk/client-dynamodb');
|
|
12
11
|
const { SNSClient, PublishCommand } = require('@aws-sdk/client-sns');
|
|
13
12
|
|
|
@@ -128,6 +127,5 @@ exports.handler = async (event) => {
|
|
|
128
127
|
|
|
129
128
|
return { statusCode: 200, body: 'OK' };
|
|
130
129
|
};
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
export default handler
|
|
130
|
+
`;
|
|
131
|
+
export default handler;
|
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
* - Handle opt-out keywords
|
|
7
7
|
* - Forward to webhook
|
|
8
8
|
*/
|
|
9
|
-
|
|
10
|
-
export const handler = `
|
|
9
|
+
export declare const handler: `
|
|
11
10
|
const { DynamoDBClient, PutItemCommand, GetItemCommand, DeleteItemCommand } = require('@aws-sdk/client-dynamodb');
|
|
12
11
|
const { SNSClient, PublishCommand } = require('@aws-sdk/client-sns');
|
|
13
12
|
|
|
@@ -157,6 +156,5 @@ exports.handler = async (event) => {
|
|
|
157
156
|
|
|
158
157
|
return { statusCode: 200, body: 'OK' };
|
|
159
158
|
};
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
export default handler
|
|
159
|
+
`;
|
|
160
|
+
export default handler;
|
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
* - Handle templated messages
|
|
7
7
|
* - Track delivery status
|
|
8
8
|
*/
|
|
9
|
-
|
|
10
|
-
export const handler = `
|
|
9
|
+
export declare const handler: `
|
|
11
10
|
const { PinpointClient, SendMessagesCommand } = require('@aws-sdk/client-pinpoint');
|
|
12
11
|
const { SNSClient, PublishCommand } = require('@aws-sdk/client-sns');
|
|
13
12
|
const { DynamoDBClient, PutItemCommand } = require('@aws-sdk/client-dynamodb');
|
|
@@ -169,6 +168,5 @@ function resolveTemplate(template, data) {
|
|
|
169
168
|
}
|
|
170
169
|
return result;
|
|
171
170
|
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
export default handler
|
|
171
|
+
`;
|
|
172
|
+
export default handler;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { CloudFormationTemplate } from '@stacksjs/ts-cloud-aws-types';
|
|
2
|
+
/**
|
|
3
|
+
* Analyze differences between two CloudFormation templates
|
|
4
|
+
*/
|
|
5
|
+
export declare function analyzeStackDiff(oldTemplate: CloudFormationTemplate, newTemplate: CloudFormationTemplate): StackDiff;
|
|
6
|
+
/**
|
|
7
|
+
* Format diff for display
|
|
8
|
+
*/
|
|
9
|
+
export declare function formatDiff(diff: StackDiff): string;
|
|
10
|
+
export declare interface ResourceDiff {
|
|
11
|
+
logicalId: string
|
|
12
|
+
action: 'add' | 'remove' | 'update' | 'replace'
|
|
13
|
+
resourceType: string
|
|
14
|
+
changes?: PropertyChange[]
|
|
15
|
+
reason?: string
|
|
16
|
+
}
|
|
17
|
+
export declare interface PropertyChange {
|
|
18
|
+
path: string
|
|
19
|
+
oldValue: any
|
|
20
|
+
newValue: any
|
|
21
|
+
requiresReplacement?: boolean
|
|
22
|
+
}
|
|
23
|
+
export declare interface StackDiff {
|
|
24
|
+
added: ResourceDiff[]
|
|
25
|
+
removed: ResourceDiff[]
|
|
26
|
+
updated: ResourceDiff[]
|
|
27
|
+
replaced: ResourceDiff[]
|
|
28
|
+
unchanged: string[]
|
|
29
|
+
summary: {
|
|
30
|
+
totalChanges: number
|
|
31
|
+
requiresReplacement: boolean
|
|
32
|
+
dangerousChanges: string[]
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export declare const staticSiteManager: StaticSiteManager;
|
|
2
|
+
/**
|
|
3
|
+
* Static Site Advanced Features
|
|
4
|
+
* Asset optimization, image optimization, SSG support, and prerendering
|
|
5
|
+
*/
|
|
6
|
+
export declare interface AssetOptimization {
|
|
7
|
+
id: string
|
|
8
|
+
name: string
|
|
9
|
+
minify: boolean
|
|
10
|
+
compress: boolean
|
|
11
|
+
compressionType: 'gzip' | 'brotli' | 'both'
|
|
12
|
+
sourceMaps: boolean
|
|
13
|
+
cacheControl: string
|
|
14
|
+
}
|
|
15
|
+
export declare interface ImageOptimization {
|
|
16
|
+
id: string
|
|
17
|
+
formats: Array<'webp' | 'avif' | 'jpeg' | 'png'>
|
|
18
|
+
quality: number
|
|
19
|
+
responsive: boolean
|
|
20
|
+
lazy: boolean
|
|
21
|
+
sizes: number[]
|
|
22
|
+
}
|
|
23
|
+
export declare interface SSGConfig {
|
|
24
|
+
id: string
|
|
25
|
+
framework: 'next' | 'gatsby' | 'astro' | 'hugo' | 'eleventy'
|
|
26
|
+
outputDir: string
|
|
27
|
+
buildCommand: string
|
|
28
|
+
routes: string[]
|
|
29
|
+
}
|
|
30
|
+
export declare interface PrerenderConfig {
|
|
31
|
+
id: string
|
|
32
|
+
routes: string[]
|
|
33
|
+
fallback: 'blocking' | 'static' | false
|
|
34
|
+
revalidate?: number
|
|
35
|
+
}
|
|
36
|
+
export declare class StaticSiteManager {
|
|
37
|
+
private optimizations: Map<string, AssetOptimization>;
|
|
38
|
+
private imageConfigs: Map<string, ImageOptimization>;
|
|
39
|
+
private ssgConfigs: Map<string, SSGConfig>;
|
|
40
|
+
private prerenderConfigs: Map<string, PrerenderConfig>;
|
|
41
|
+
private counter: any;
|
|
42
|
+
createAssetOptimization(config: Omit<AssetOptimization, 'id'>): AssetOptimization;
|
|
43
|
+
createImageOptimization(config: Omit<ImageOptimization, 'id'>): ImageOptimization;
|
|
44
|
+
createSSGConfig(config: Omit<SSGConfig, 'id'>): SSGConfig;
|
|
45
|
+
createPrerenderConfig(config: Omit<PrerenderConfig, 'id'>): PrerenderConfig;
|
|
46
|
+
listOptimizations(): AssetOptimization[];
|
|
47
|
+
listImageConfigs(): ImageOptimization[];
|
|
48
|
+
clear(): void;
|
|
49
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CloudFormationResource, CloudFormationTemplate } from '@stacksjs/ts-cloud-aws-types';
|
|
2
|
+
export declare class TemplateBuilder {
|
|
3
|
+
private template: CloudFormationTemplate;
|
|
4
|
+
constructor(description?: string);
|
|
5
|
+
addResource(logicalId: string, resource: CloudFormationResource): this;
|
|
6
|
+
addResources(resources: Record<string, CloudFormationResource>): this;
|
|
7
|
+
addParameter(name: string, parameter: NonNullable<CloudFormationTemplate['Parameters']>[string]): this;
|
|
8
|
+
addOutput(name: string, output: NonNullable<CloudFormationTemplate['Outputs']>[string]): this;
|
|
9
|
+
getResources(): Record<string, CloudFormationResource>;
|
|
10
|
+
build(): CloudFormationTemplate;
|
|
11
|
+
toJSON(pretty?: any): string;
|
|
12
|
+
toYAML(): string;
|
|
13
|
+
private convertToYAML(obj: any, indent?: any): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { CloudFormationTemplate } from '@stacksjs/ts-cloud-aws-types';
|
|
2
|
+
/**
|
|
3
|
+
* Validate a CloudFormation template
|
|
4
|
+
*/
|
|
5
|
+
export declare function validateTemplate(template: CloudFormationTemplate): ValidationResult;
|
|
6
|
+
/**
|
|
7
|
+
* Validate template size
|
|
8
|
+
*/
|
|
9
|
+
export declare function validateTemplateSize(templateJson: string): ValidationResult;
|
|
10
|
+
/**
|
|
11
|
+
* Validate resource limits
|
|
12
|
+
*/
|
|
13
|
+
export declare function validateResourceLimits(template: CloudFormationTemplate): ValidationResult;
|
|
14
|
+
export declare interface ValidationError {
|
|
15
|
+
path: string
|
|
16
|
+
message: string
|
|
17
|
+
severity: 'error' | 'warning' | 'info'
|
|
18
|
+
}
|
|
19
|
+
export declare interface ValidationResult {
|
|
20
|
+
valid: boolean
|
|
21
|
+
errors: ValidationError[]
|
|
22
|
+
warnings: ValidationError[]
|
|
23
|
+
info: ValidationError[]
|
|
24
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global template cache instance
|
|
3
|
+
*/
|
|
4
|
+
export declare const templateCache: TemplateCache;
|
|
5
|
+
export declare interface CacheOptions {
|
|
6
|
+
ttl?: number
|
|
7
|
+
maxSize?: number
|
|
8
|
+
}
|
|
9
|
+
export declare interface CacheEntry<T> {
|
|
10
|
+
value: T
|
|
11
|
+
timestamp: number
|
|
12
|
+
hash?: string
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Simple in-memory cache with TTL support
|
|
16
|
+
*/
|
|
17
|
+
export declare class Cache<T = any> {
|
|
18
|
+
private cache: Map<string, CacheEntry<T>>;
|
|
19
|
+
private ttl: number;
|
|
20
|
+
private maxSize: number;
|
|
21
|
+
constructor(options?: CacheOptions);
|
|
22
|
+
get(key: string): T | undefined;
|
|
23
|
+
set(key: string, value: T, hash?: string): void;
|
|
24
|
+
has(key: string): boolean;
|
|
25
|
+
clear(): void;
|
|
26
|
+
prune(): void;
|
|
27
|
+
stats(): { size: number, ttl: number, maxSize: number };
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* File-based cache for persistent caching
|
|
31
|
+
*/
|
|
32
|
+
export declare class FileCache<T = any> {
|
|
33
|
+
private cacheDir: string;
|
|
34
|
+
private ttl: number;
|
|
35
|
+
constructor(cacheDir: string, options?: CacheOptions);
|
|
36
|
+
private getCachePath(key: string): string;
|
|
37
|
+
get(key: string): T | undefined;
|
|
38
|
+
set(key: string, value: T, hash?: string): void;
|
|
39
|
+
has(key: string): boolean;
|
|
40
|
+
clear(): void;
|
|
41
|
+
prune(): void;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Template cache for CloudFormation templates
|
|
45
|
+
*/
|
|
46
|
+
export declare class TemplateCache {
|
|
47
|
+
private cache: FileCache<string>;
|
|
48
|
+
constructor(cacheDir?: string);
|
|
49
|
+
getTemplate(stackName: string): string | undefined;
|
|
50
|
+
setTemplate(stackName: string, template: string): void;
|
|
51
|
+
hasChanged(stackName: string, newTemplate: string): boolean;
|
|
52
|
+
private hashTemplate(template: string): string;
|
|
53
|
+
clear(): void;
|
|
54
|
+
prune(): void;
|
|
55
|
+
}
|