@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
|
File without changes
|
|
@@ -1,32 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Preview Environments
|
|
3
|
-
* Ephemeral environments for PR/branch previews
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
export {
|
|
7
|
-
PreviewEnvironmentManager,
|
|
8
|
-
previewManager,
|
|
9
|
-
} from './manager'
|
|
10
|
-
|
|
11
1
|
export type {
|
|
12
2
|
PreviewEnvironment,
|
|
13
3
|
PreviewEnvironmentOptions,
|
|
14
4
|
PreviewCleanupOptions,
|
|
15
|
-
} from './manager'
|
|
16
|
-
|
|
17
|
-
export {
|
|
18
|
-
generatePreviewWorkflow,
|
|
19
|
-
generateCleanupWorkflow,
|
|
20
|
-
generateCostReportWorkflow,
|
|
21
|
-
} from './github'
|
|
22
|
-
|
|
23
|
-
export type { GitHubWorkflowOptions } from './github'
|
|
24
|
-
|
|
25
|
-
export {
|
|
26
|
-
PreviewNotificationService,
|
|
27
|
-
previewNotifications,
|
|
28
|
-
} from './notifications'
|
|
29
|
-
|
|
5
|
+
} from './manager';
|
|
6
|
+
export type { GitHubWorkflowOptions } from './github';
|
|
30
7
|
export type {
|
|
31
8
|
NotificationChannel,
|
|
32
9
|
SlackConfig,
|
|
@@ -34,4 +11,17 @@ export type {
|
|
|
34
11
|
EmailConfig,
|
|
35
12
|
WebhookConfig,
|
|
36
13
|
NotificationEvent,
|
|
37
|
-
} from './notifications'
|
|
14
|
+
} from './notifications';
|
|
15
|
+
export {
|
|
16
|
+
PreviewEnvironmentManager,
|
|
17
|
+
previewManager,
|
|
18
|
+
} from './manager';
|
|
19
|
+
export {
|
|
20
|
+
generatePreviewWorkflow,
|
|
21
|
+
generateCleanupWorkflow,
|
|
22
|
+
generateCostReportWorkflow,
|
|
23
|
+
} from './github';
|
|
24
|
+
export {
|
|
25
|
+
PreviewNotificationService,
|
|
26
|
+
previewNotifications,
|
|
27
|
+
} from './notifications';
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { CloudConfig } from '@stacksjs/ts-cloud-types';
|
|
2
|
+
/**
|
|
3
|
+
* Global preview environment manager instance
|
|
4
|
+
*/
|
|
5
|
+
export declare const previewManager: PreviewEnvironmentManager;
|
|
6
|
+
export declare interface PreviewEnvironment {
|
|
7
|
+
id: string
|
|
8
|
+
name: string
|
|
9
|
+
branch: string
|
|
10
|
+
pr?: number
|
|
11
|
+
commitSha: string
|
|
12
|
+
createdAt: Date
|
|
13
|
+
expiresAt: Date
|
|
14
|
+
url?: string
|
|
15
|
+
status: 'creating' | 'active' | 'failed' | 'destroying' | 'destroyed'
|
|
16
|
+
stackName: string
|
|
17
|
+
region: string
|
|
18
|
+
resources: string[]
|
|
19
|
+
cost?: number
|
|
20
|
+
}
|
|
21
|
+
export declare interface PreviewEnvironmentOptions {
|
|
22
|
+
branch: string
|
|
23
|
+
pr?: number
|
|
24
|
+
commitSha: string
|
|
25
|
+
ttl?: number
|
|
26
|
+
baseConfig: CloudConfig
|
|
27
|
+
region?: string
|
|
28
|
+
}
|
|
29
|
+
export declare interface PreviewCleanupOptions {
|
|
30
|
+
maxAge?: number
|
|
31
|
+
keepCount?: number
|
|
32
|
+
dryRun?: boolean
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Preview Environment Manager
|
|
36
|
+
*/
|
|
37
|
+
export declare class PreviewEnvironmentManager {
|
|
38
|
+
private environments: Map<string, PreviewEnvironment>;
|
|
39
|
+
createPreviewEnvironment(options: PreviewEnvironmentOptions): Promise<PreviewEnvironment>;
|
|
40
|
+
destroyPreviewEnvironment(id: string): Promise<void>;
|
|
41
|
+
getPreviewEnvironment(id: string): PreviewEnvironment | undefined;
|
|
42
|
+
getPreviewEnvironmentByBranch(branch: string): PreviewEnvironment | undefined;
|
|
43
|
+
getPreviewEnvironmentByPR(pr: number): PreviewEnvironment | undefined;
|
|
44
|
+
listPreviewEnvironments(): PreviewEnvironment[];
|
|
45
|
+
listActivePreviewEnvironments(): PreviewEnvironment[];
|
|
46
|
+
cleanupExpiredEnvironments(options?: PreviewCleanupOptions): Promise<{
|
|
47
|
+
destroyed: string[]
|
|
48
|
+
failed: string[]
|
|
49
|
+
}>;
|
|
50
|
+
updatePreviewEnvironment(id: string, commitSha: string): Promise<PreviewEnvironment>;
|
|
51
|
+
getPreviewEnvironmentsCost(): Promise<{
|
|
52
|
+
total: number
|
|
53
|
+
byEnvironment: Record<string, number>
|
|
54
|
+
}>;
|
|
55
|
+
private generatePreviewId(branch: string, pr?: number, commitSha?: string): string;
|
|
56
|
+
private generatePreviewName(branch: string, pr?: number): string;
|
|
57
|
+
private createPreviewConfig(baseConfig: CloudConfig, name: string): CloudConfig;
|
|
58
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { PreviewEnvironment } from './manager';
|
|
2
|
+
/**
|
|
3
|
+
* Global notification service instance
|
|
4
|
+
*/
|
|
5
|
+
export declare const previewNotifications: PreviewNotificationService;
|
|
6
|
+
export declare interface NotificationChannel {
|
|
7
|
+
type: 'slack' | 'discord' | 'email' | 'webhook'
|
|
8
|
+
config: SlackConfig | DiscordConfig | EmailConfig | WebhookConfig
|
|
9
|
+
}
|
|
10
|
+
export declare interface SlackConfig {
|
|
11
|
+
webhookUrl: string
|
|
12
|
+
channel?: string
|
|
13
|
+
username?: string
|
|
14
|
+
iconEmoji?: string
|
|
15
|
+
}
|
|
16
|
+
export declare interface DiscordConfig {
|
|
17
|
+
webhookUrl: string
|
|
18
|
+
username?: string
|
|
19
|
+
avatarUrl?: string
|
|
20
|
+
}
|
|
21
|
+
export declare interface EmailConfig {
|
|
22
|
+
from: string
|
|
23
|
+
to: string[]
|
|
24
|
+
smtpHost: string
|
|
25
|
+
smtpPort: number
|
|
26
|
+
smtpUser?: string
|
|
27
|
+
smtpPassword?: string
|
|
28
|
+
}
|
|
29
|
+
export declare interface WebhookConfig {
|
|
30
|
+
url: string
|
|
31
|
+
method?: 'POST' | 'GET'
|
|
32
|
+
headers?: Record<string, string>
|
|
33
|
+
}
|
|
34
|
+
export declare interface NotificationEvent {
|
|
35
|
+
type: 'created' | 'updated' | 'destroyed' | 'failed' | 'expired'
|
|
36
|
+
environment: PreviewEnvironment
|
|
37
|
+
timestamp: Date
|
|
38
|
+
metadata?: Record<string, any>
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Preview environment notification service
|
|
42
|
+
*/
|
|
43
|
+
export declare class PreviewNotificationService {
|
|
44
|
+
private channels: NotificationChannel[];
|
|
45
|
+
addChannel(channel: NotificationChannel): void;
|
|
46
|
+
removeChannel(type: NotificationChannel['type']): void;
|
|
47
|
+
notify(event: NotificationEvent): Promise<void>;
|
|
48
|
+
private sendToChannel(channel: NotificationChannel, event: NotificationEvent): Promise<void>;
|
|
49
|
+
private sendToSlack(config: SlackConfig, event: NotificationEvent): Promise<void>;
|
|
50
|
+
private formatSlackMessage(event: NotificationEvent, config: SlackConfig): any;
|
|
51
|
+
private sendToDiscord(config: DiscordConfig, event: NotificationEvent): Promise<void>;
|
|
52
|
+
private formatDiscordMessage(event: NotificationEvent, config: DiscordConfig): any;
|
|
53
|
+
private sendToEmail(config: EmailConfig, event: NotificationEvent): Promise<void>;
|
|
54
|
+
private sendToWebhook(config: WebhookConfig, event: NotificationEvent): Promise<void>;
|
|
55
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global batch processing manager instance
|
|
3
|
+
*/
|
|
4
|
+
export declare const batchProcessingManager: BatchProcessingManager;
|
|
5
|
+
/**
|
|
6
|
+
* SQS Batch Processing
|
|
7
|
+
* Batch operations, parallel processing, and throughput optimization
|
|
8
|
+
*/
|
|
9
|
+
export declare interface BatchConfig {
|
|
10
|
+
id: string
|
|
11
|
+
queueUrl: string
|
|
12
|
+
batchSize: number
|
|
13
|
+
maxWaitTime: number
|
|
14
|
+
parallelProcessors: number
|
|
15
|
+
retryAttempts: number
|
|
16
|
+
visibilityTimeout: number
|
|
17
|
+
}
|
|
18
|
+
export declare interface BatchJob {
|
|
19
|
+
id: string
|
|
20
|
+
configId: string
|
|
21
|
+
messages: BatchMessage[]
|
|
22
|
+
status: 'pending' | 'processing' | 'completed' | 'failed'
|
|
23
|
+
startedAt?: Date
|
|
24
|
+
completedAt?: Date
|
|
25
|
+
processedCount: number
|
|
26
|
+
failedCount: number
|
|
27
|
+
}
|
|
28
|
+
export declare interface BatchMessage {
|
|
29
|
+
id: string
|
|
30
|
+
messageId: string
|
|
31
|
+
body: string
|
|
32
|
+
receiptHandle: string
|
|
33
|
+
attributes: Record<string, any>
|
|
34
|
+
status: 'pending' | 'processing' | 'success' | 'failed'
|
|
35
|
+
processingTime?: number
|
|
36
|
+
error?: string
|
|
37
|
+
}
|
|
38
|
+
export declare interface ProcessorMetrics {
|
|
39
|
+
id: string
|
|
40
|
+
configId: string
|
|
41
|
+
timestamp: Date
|
|
42
|
+
messagesProcessed: number
|
|
43
|
+
averageProcessingTime: number
|
|
44
|
+
throughput: number
|
|
45
|
+
errorRate: number
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Batch processing manager
|
|
49
|
+
*/
|
|
50
|
+
export declare class BatchProcessingManager {
|
|
51
|
+
private configs: Map<string, BatchConfig>;
|
|
52
|
+
private jobs: Map<string, BatchJob>;
|
|
53
|
+
private metrics: Map<string, ProcessorMetrics[]>;
|
|
54
|
+
private configCounter: any;
|
|
55
|
+
private jobCounter: any;
|
|
56
|
+
private metricsCounter: any;
|
|
57
|
+
createBatchConfig(config: Omit<BatchConfig, 'id'>): BatchConfig;
|
|
58
|
+
createHighThroughputConfig(options: {
|
|
59
|
+
queueUrl: string
|
|
60
|
+
}): BatchConfig;
|
|
61
|
+
createLowLatencyConfig(options: {
|
|
62
|
+
queueUrl: string
|
|
63
|
+
}): BatchConfig;
|
|
64
|
+
createBatchJob(options: {
|
|
65
|
+
configId: string
|
|
66
|
+
messageCount: number
|
|
67
|
+
}): BatchJob;
|
|
68
|
+
processBatchJob(jobId: string): Promise<BatchJob>;
|
|
69
|
+
private processBatch(messages: BatchMessage[], config: BatchConfig): Promise<void>;
|
|
70
|
+
private processMessage(message: BatchMessage, config: BatchConfig): Promise<void>;
|
|
71
|
+
private chunkArray<T>(array: T[], chunkSize: number): T[][];
|
|
72
|
+
private collectProcessorMetrics(configId: string, job: BatchJob): void;
|
|
73
|
+
getBatchStatistics(configId: string): {
|
|
74
|
+
totalJobsProcessed: number
|
|
75
|
+
totalMessagesProcessed: number
|
|
76
|
+
averageThroughput: number
|
|
77
|
+
averageErrorRate: number
|
|
78
|
+
averageProcessingTime: number
|
|
79
|
+
};
|
|
80
|
+
optimizeBatchConfig(configId: string): BatchConfig;
|
|
81
|
+
getConfig(id: string): BatchConfig | undefined;
|
|
82
|
+
listConfigs(): BatchConfig[];
|
|
83
|
+
getJob(id: string): BatchJob | undefined;
|
|
84
|
+
listJobs(configId?: string): BatchJob[];
|
|
85
|
+
generateBatchProcessorCF(config: BatchConfig): any;
|
|
86
|
+
clear(): void;
|
|
87
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global DLQ monitoring manager instance
|
|
3
|
+
*/
|
|
4
|
+
export declare const dlqMonitoringManager: DLQMonitoringManager;
|
|
5
|
+
/**
|
|
6
|
+
* SQS Dead Letter Queue Monitoring
|
|
7
|
+
* DLQ monitoring, alerts, and automated reprocessing
|
|
8
|
+
*/
|
|
9
|
+
export declare interface DLQMonitor {
|
|
10
|
+
id: string
|
|
11
|
+
name: string
|
|
12
|
+
queueUrl: string
|
|
13
|
+
sourceQueues: string[]
|
|
14
|
+
maxReceiveCount: number
|
|
15
|
+
alarmThreshold: number
|
|
16
|
+
autoReprocess: boolean
|
|
17
|
+
reprocessStrategy: 'immediate' | 'scheduled' | 'manual'
|
|
18
|
+
notificationTopicArn?: string
|
|
19
|
+
}
|
|
20
|
+
export declare interface DLQMetrics {
|
|
21
|
+
id: string
|
|
22
|
+
queueUrl: string
|
|
23
|
+
timestamp: Date
|
|
24
|
+
approximateNumberOfMessages: number
|
|
25
|
+
approximateAgeOfOldestMessage: number
|
|
26
|
+
messagesReceived: number
|
|
27
|
+
messagesDeleted: number
|
|
28
|
+
messagesReprocessed: number
|
|
29
|
+
}
|
|
30
|
+
export declare interface DLQAlert {
|
|
31
|
+
id: string
|
|
32
|
+
monitorId: string
|
|
33
|
+
alertType: 'threshold_exceeded' | 'old_message' | 'high_receive_count'
|
|
34
|
+
severity: 'low' | 'medium' | 'high' | 'critical'
|
|
35
|
+
message: string
|
|
36
|
+
timestamp: Date
|
|
37
|
+
acknowledged: boolean
|
|
38
|
+
}
|
|
39
|
+
export declare interface ReprocessJob {
|
|
40
|
+
id: string
|
|
41
|
+
queueUrl: string
|
|
42
|
+
messageId: string
|
|
43
|
+
attempts: number
|
|
44
|
+
status: 'pending' | 'processing' | 'success' | 'failed'
|
|
45
|
+
startedAt?: Date
|
|
46
|
+
completedAt?: Date
|
|
47
|
+
error?: string
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* DLQ monitoring manager
|
|
51
|
+
*/
|
|
52
|
+
export declare class DLQMonitoringManager {
|
|
53
|
+
private monitors: Map<string, DLQMonitor>;
|
|
54
|
+
private metrics: Map<string, DLQMetrics[]>;
|
|
55
|
+
private alerts: Map<string, DLQAlert>;
|
|
56
|
+
private reprocessJobs: Map<string, ReprocessJob>;
|
|
57
|
+
private monitorCounter: any;
|
|
58
|
+
private metricsCounter: any;
|
|
59
|
+
private alertCounter: any;
|
|
60
|
+
private jobCounter: any;
|
|
61
|
+
createDLQMonitor(monitor: Omit<DLQMonitor, 'id'>): DLQMonitor;
|
|
62
|
+
createAutomatedMonitor(options: {
|
|
63
|
+
name: string
|
|
64
|
+
queueUrl: string
|
|
65
|
+
sourceQueues: string[]
|
|
66
|
+
notificationTopicArn: string
|
|
67
|
+
}): DLQMonitor;
|
|
68
|
+
collectMetrics(queueUrl: string): DLQMetrics;
|
|
69
|
+
private checkForAlerts(queueUrl: string, metrics: DLQMetrics): void;
|
|
70
|
+
private createAlert(alert: Omit<DLQAlert, 'id' | 'timestamp' | 'acknowledged'>): DLQAlert;
|
|
71
|
+
acknowledgeAlert(alertId: string): DLQAlert;
|
|
72
|
+
createReprocessJob(options: {
|
|
73
|
+
queueUrl: string
|
|
74
|
+
messageId: string
|
|
75
|
+
}): ReprocessJob;
|
|
76
|
+
executeReprocessJob(jobId: string): Promise<ReprocessJob>;
|
|
77
|
+
batchReprocess(options: {
|
|
78
|
+
queueUrl: string
|
|
79
|
+
maxMessages: number
|
|
80
|
+
}): Promise<ReprocessJob[]>;
|
|
81
|
+
getDLQStatistics(queueUrl: string, hours?: number): {
|
|
82
|
+
totalMessages: number
|
|
83
|
+
avgAge: number
|
|
84
|
+
messagesReceived: number
|
|
85
|
+
messagesDeleted: number
|
|
86
|
+
messagesReprocessed: number
|
|
87
|
+
successRate: number
|
|
88
|
+
};
|
|
89
|
+
getMonitor(id: string): DLQMonitor | undefined;
|
|
90
|
+
listMonitors(): DLQMonitor[];
|
|
91
|
+
getAlerts(monitorId?: string, acknowledged?: boolean): DLQAlert[];
|
|
92
|
+
getReprocessJobs(queueUrl?: string): ReprocessJob[];
|
|
93
|
+
generateDLQAlarmCF(monitor: DLQMonitor): any;
|
|
94
|
+
clear(): void;
|
|
95
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global FIFO queue manager instance
|
|
3
|
+
*/
|
|
4
|
+
export declare const fifoQueueManager: FIFOQueueManager;
|
|
5
|
+
/**
|
|
6
|
+
* SQS FIFO Queue Management
|
|
7
|
+
* First-In-First-Out queues with message ordering and deduplication
|
|
8
|
+
*/
|
|
9
|
+
export declare interface FIFOQueue {
|
|
10
|
+
id: string
|
|
11
|
+
name: string
|
|
12
|
+
queueUrl: string
|
|
13
|
+
contentBasedDeduplication: boolean
|
|
14
|
+
deduplicationScope: 'queue' | 'messageGroup'
|
|
15
|
+
fifoThroughputLimit: 'perQueue' | 'perMessageGroupId'
|
|
16
|
+
messageRetentionPeriod: number
|
|
17
|
+
visibilityTimeout: number
|
|
18
|
+
receiveMessageWaitTime: number
|
|
19
|
+
deadLetterTargetArn?: string
|
|
20
|
+
maxReceiveCount?: number
|
|
21
|
+
}
|
|
22
|
+
export declare interface MessageGroup {
|
|
23
|
+
id: string
|
|
24
|
+
messageGroupId: string
|
|
25
|
+
queueId: string
|
|
26
|
+
messagesInFlight: number
|
|
27
|
+
lastMessageTimestamp?: Date
|
|
28
|
+
}
|
|
29
|
+
export declare interface DeduplicationConfig {
|
|
30
|
+
id: string
|
|
31
|
+
queueId: string
|
|
32
|
+
deduplicationInterval: number
|
|
33
|
+
contentBasedDeduplication: boolean
|
|
34
|
+
deduplicationHashes: Map<string, Date>
|
|
35
|
+
}
|
|
36
|
+
export declare interface FIFOMessage {
|
|
37
|
+
id: string
|
|
38
|
+
messageId: string
|
|
39
|
+
messageGroupId: string
|
|
40
|
+
messageDeduplicationId?: string
|
|
41
|
+
body: string
|
|
42
|
+
attributes: Record<string, any>
|
|
43
|
+
sentTimestamp: Date
|
|
44
|
+
sequenceNumber: string
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* FIFO queue manager
|
|
48
|
+
*/
|
|
49
|
+
export declare class FIFOQueueManager {
|
|
50
|
+
private queues: Map<string, FIFOQueue>;
|
|
51
|
+
private messageGroups: Map<string, MessageGroup>;
|
|
52
|
+
private deduplicationConfigs: Map<string, DeduplicationConfig>;
|
|
53
|
+
private messages: Map<string, FIFOMessage>;
|
|
54
|
+
private queueCounter: any;
|
|
55
|
+
private groupCounter: any;
|
|
56
|
+
private deduplicationCounter: any;
|
|
57
|
+
private messageCounter: any;
|
|
58
|
+
private sequenceCounter: any;
|
|
59
|
+
createFIFOQueue(queue: Omit<FIFOQueue, 'id' | 'queueUrl'>): FIFOQueue;
|
|
60
|
+
createHighThroughputFIFO(options: {
|
|
61
|
+
name: string
|
|
62
|
+
contentBasedDeduplication?: boolean
|
|
63
|
+
}): FIFOQueue;
|
|
64
|
+
createStandardFIFO(options: {
|
|
65
|
+
name: string
|
|
66
|
+
contentBasedDeduplication?: boolean
|
|
67
|
+
}): FIFOQueue;
|
|
68
|
+
private createDeduplicationConfig(config: {
|
|
69
|
+
queueId: string
|
|
70
|
+
contentBasedDeduplication: boolean
|
|
71
|
+
deduplicationInterval: number
|
|
72
|
+
}): DeduplicationConfig;
|
|
73
|
+
sendMessage(options: {
|
|
74
|
+
queueId: string
|
|
75
|
+
messageGroupId: string
|
|
76
|
+
messageBody: string
|
|
77
|
+
messageDeduplicationId?: string
|
|
78
|
+
messageAttributes?: Record<string, any>
|
|
79
|
+
}): FIFOMessage | null;
|
|
80
|
+
private isDuplicate(config: DeduplicationConfig, deduplicationId: string): boolean;
|
|
81
|
+
private generateHash(content: string): string;
|
|
82
|
+
private generateSequenceNumber(): string;
|
|
83
|
+
private updateMessageGroup(queueId: string, messageGroupId: string): void;
|
|
84
|
+
getMessageGroups(queueId: string): MessageGroup[];
|
|
85
|
+
getQueue(id: string): FIFOQueue | undefined;
|
|
86
|
+
listQueues(): FIFOQueue[];
|
|
87
|
+
getMessages(queueId: string, messageGroupId?: string): FIFOMessage[];
|
|
88
|
+
generateFIFOQueueCF(queue: FIFOQueue): any;
|
|
89
|
+
clear(): void;
|
|
90
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global queue management manager instance
|
|
3
|
+
*/
|
|
4
|
+
export declare const queueManagementManager: QueueManagementManager;
|
|
5
|
+
/**
|
|
6
|
+
* SQS Queue Management
|
|
7
|
+
* Retention policies, delay queues, and queue operations
|
|
8
|
+
*/
|
|
9
|
+
export declare interface QueueManagement {
|
|
10
|
+
id: string
|
|
11
|
+
queueUrl: string
|
|
12
|
+
queueName: string
|
|
13
|
+
messageRetentionPeriod: number
|
|
14
|
+
delaySeconds: number
|
|
15
|
+
maximumMessageSize: number
|
|
16
|
+
receiveMessageWaitTime: number
|
|
17
|
+
purgeInProgress: boolean
|
|
18
|
+
}
|
|
19
|
+
export declare interface RetentionPolicy {
|
|
20
|
+
id: string
|
|
21
|
+
queueId: string
|
|
22
|
+
retentionPeriod: number
|
|
23
|
+
autoCleanup: boolean
|
|
24
|
+
cleanupSchedule?: string
|
|
25
|
+
archiveExpiredMessages: boolean
|
|
26
|
+
archiveS3Bucket?: string
|
|
27
|
+
}
|
|
28
|
+
export declare interface DelayQueue {
|
|
29
|
+
id: string
|
|
30
|
+
queueUrl: string
|
|
31
|
+
defaultDelay: number
|
|
32
|
+
perMessageDelay: boolean
|
|
33
|
+
maxDelay: number
|
|
34
|
+
}
|
|
35
|
+
export declare interface PurgeOperation {
|
|
36
|
+
id: string
|
|
37
|
+
queueUrl: string
|
|
38
|
+
status: 'pending' | 'in_progress' | 'completed' | 'failed'
|
|
39
|
+
messagesPurged?: number
|
|
40
|
+
startedAt?: Date
|
|
41
|
+
completedAt?: Date
|
|
42
|
+
}
|
|
43
|
+
export declare interface QueueMetrics {
|
|
44
|
+
id: string
|
|
45
|
+
queueUrl: string
|
|
46
|
+
timestamp: Date
|
|
47
|
+
approximateNumberOfMessages: number
|
|
48
|
+
approximateNumberOfMessagesNotVisible: number
|
|
49
|
+
approximateNumberOfMessagesDelayed: number
|
|
50
|
+
oldestMessageAge?: number
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Queue management manager
|
|
54
|
+
*/
|
|
55
|
+
export declare class QueueManagementManager {
|
|
56
|
+
private queues: Map<string, QueueManagement>;
|
|
57
|
+
private retentionPolicies: Map<string, RetentionPolicy>;
|
|
58
|
+
private delayQueues: Map<string, DelayQueue>;
|
|
59
|
+
private purgeOperations: Map<string, PurgeOperation>;
|
|
60
|
+
private metrics: Map<string, QueueMetrics[]>;
|
|
61
|
+
private queueCounter: any;
|
|
62
|
+
private retentionCounter: any;
|
|
63
|
+
private delayCounter: any;
|
|
64
|
+
private purgeCounter: any;
|
|
65
|
+
private metricsCounter: any;
|
|
66
|
+
createQueue(queue: Omit<QueueManagement, 'id' | 'purgeInProgress'>): QueueManagement;
|
|
67
|
+
createStandardQueue(options: {
|
|
68
|
+
queueName: string
|
|
69
|
+
messageRetentionDays?: number
|
|
70
|
+
}): QueueManagement;
|
|
71
|
+
createLongPollingQueue(options: {
|
|
72
|
+
queueName: string
|
|
73
|
+
waitTimeSeconds?: number
|
|
74
|
+
}): QueueManagement;
|
|
75
|
+
createRetentionPolicy(policy: Omit<RetentionPolicy, 'id'>): RetentionPolicy;
|
|
76
|
+
createShortRetentionPolicy(options: {
|
|
77
|
+
queueId: string
|
|
78
|
+
retentionHours: number
|
|
79
|
+
}): RetentionPolicy;
|
|
80
|
+
createArchivalRetentionPolicy(options: {
|
|
81
|
+
queueId: string
|
|
82
|
+
retentionDays: number
|
|
83
|
+
s3Bucket: string
|
|
84
|
+
}): RetentionPolicy;
|
|
85
|
+
createDelayQueue(delay: Omit<DelayQueue, 'id'>): DelayQueue;
|
|
86
|
+
createScheduledDelayQueue(options: {
|
|
87
|
+
queueUrl: string
|
|
88
|
+
delayMinutes: number
|
|
89
|
+
}): DelayQueue;
|
|
90
|
+
purgeQueue(queueId: string): Promise<PurgeOperation>;
|
|
91
|
+
collectQueueMetrics(queueUrl: string): QueueMetrics;
|
|
92
|
+
getQueueHealth(queueUrl: string): {
|
|
93
|
+
status: 'healthy' | 'warning' | 'critical'
|
|
94
|
+
issues: string[]
|
|
95
|
+
recommendations: string[]
|
|
96
|
+
};
|
|
97
|
+
getQueue(id: string): QueueManagement | undefined;
|
|
98
|
+
listQueues(): QueueManagement[];
|
|
99
|
+
getRetentionPolicy(id: string): RetentionPolicy | undefined;
|
|
100
|
+
listRetentionPolicies(): RetentionPolicy[];
|
|
101
|
+
getPurgeOperations(queueUrl?: string): PurgeOperation[];
|
|
102
|
+
generateQueueCF(queue: QueueManagement): any;
|
|
103
|
+
generateCleanupRuleCF(policy: RetentionPolicy): any;
|
|
104
|
+
clear(): void;
|
|
105
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export declare const resourceManagementManager: ResourceManagementManager;
|
|
2
|
+
/**
|
|
3
|
+
* Resource Management - Tagging strategies, cost allocation, resource groups
|
|
4
|
+
*/
|
|
5
|
+
export declare interface TaggingStrategy {
|
|
6
|
+
id: string
|
|
7
|
+
tags: Record<string, string>
|
|
8
|
+
resources: string[]
|
|
9
|
+
}
|
|
10
|
+
export declare interface CostAllocation {
|
|
11
|
+
id: string
|
|
12
|
+
tagKey: string
|
|
13
|
+
allocations: Array<{ tagValue: string; cost: number }>
|
|
14
|
+
}
|
|
15
|
+
export declare interface ResourceGroup {
|
|
16
|
+
id: string
|
|
17
|
+
name: string
|
|
18
|
+
query: { resourceTypeFilters: string[]; tagFilters: Array<{ key: string; values: string[] }> }
|
|
19
|
+
}
|
|
20
|
+
export declare class ResourceManagementManager {
|
|
21
|
+
private strategies: any;
|
|
22
|
+
private allocations: any;
|
|
23
|
+
private groups: any;
|
|
24
|
+
private counter: any;
|
|
25
|
+
createTaggingStrategy(tags: Record<string, string>, resources: string[]): TaggingStrategy;
|
|
26
|
+
createCostAllocation(tagKey: string, allocations: Array<{ tagValue: string; cost: number }>): CostAllocation;
|
|
27
|
+
createResourceGroup(name: string, resourceTypeFilters: string[], tagFilters: Array<{ key: string; values: string[] }>): ResourceGroup;
|
|
28
|
+
clear(): void;
|
|
29
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { EnvironmentType } from '@stacksjs/ts-cloud-types';
|
|
2
|
+
/**
|
|
3
|
+
* Generate a consistent resource name following the naming convention:
|
|
4
|
+
* {slug}-{environment}-{resourceType}-{timestamp}
|
|
5
|
+
*/
|
|
6
|
+
export declare function generateResourceName(options: NamingOptions): string;
|
|
7
|
+
/**
|
|
8
|
+
* Generate a logical ID for CloudFormation resources
|
|
9
|
+
* Converts to PascalCase and removes hyphens
|
|
10
|
+
*/
|
|
11
|
+
export declare function generateLogicalId(name: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* Get current timestamp for resource naming
|
|
14
|
+
*/
|
|
15
|
+
export declare function getTimestamp(): string;
|
|
16
|
+
/**
|
|
17
|
+
* Sanitize a name to be CloudFormation-compatible
|
|
18
|
+
*/
|
|
19
|
+
export declare function sanitizeName(name: string): string;
|
|
20
|
+
export declare interface NamingOptions {
|
|
21
|
+
slug: string
|
|
22
|
+
environment: EnvironmentType
|
|
23
|
+
timestamp?: string
|
|
24
|
+
resourceType: string
|
|
25
|
+
suffix?: string
|
|
26
|
+
}
|