@ts-cloud/core 0.2.2 → 0.2.4

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.
Files changed (226) hide show
  1. package/dist/advanced-features.test.d.ts +1 -0
  2. package/dist/aws/cloudformation.d.ts +136 -0
  3. package/dist/aws/cloudfront.d.ts +45 -0
  4. package/dist/aws/credentials.d.ts +77 -0
  5. package/dist/aws/credentials.test.d.ts +4 -0
  6. package/dist/aws/index.d.ts +10 -0
  7. package/dist/aws/s3.d.ts +256 -0
  8. package/dist/aws/s3.test.d.ts +4 -0
  9. package/dist/aws/signature.d.ts +142 -0
  10. package/dist/aws/signature.test.d.ts +4 -0
  11. package/dist/backup/disaster-recovery.d.ts +140 -0
  12. package/dist/backup/disaster-recovery.test.d.ts +1 -0
  13. package/dist/backup/index.d.ts +8 -0
  14. package/dist/backup/manager.d.ts +172 -0
  15. package/dist/backup/manager.test.d.ts +1 -0
  16. package/dist/cicd/circleci.d.ts +50 -0
  17. package/dist/cicd/github-actions.d.ts +62 -0
  18. package/dist/cicd/gitlab-ci.d.ts +50 -0
  19. package/dist/cicd/index.d.ts +7 -0
  20. package/dist/cli/history.d.ts +137 -0
  21. package/dist/cli/index.d.ts +9 -0
  22. package/dist/cli/progress.d.ts +193 -0
  23. package/dist/cli/repl.d.ts +148 -0
  24. package/dist/cli/suggestions.d.ts +74 -0
  25. package/dist/cli/table.d.ts +73 -0
  26. package/dist/cli/table.test.d.ts +1 -0
  27. package/dist/cloudformation/builder.d.ts +93 -0
  28. package/dist/cloudformation/builder.test.d.ts +4 -0
  29. package/dist/cloudformation/builders/api-gateway.d.ts +30 -0
  30. package/dist/cloudformation/builders/cache.d.ts +35 -0
  31. package/dist/cloudformation/builders/cdn.d.ts +34 -0
  32. package/dist/cloudformation/builders/compute.d.ts +68 -0
  33. package/dist/cloudformation/builders/database.d.ts +61 -0
  34. package/dist/cloudformation/builders/functions.d.ts +32 -0
  35. package/dist/cloudformation/builders/messaging.d.ts +17 -0
  36. package/dist/cloudformation/builders/monitoring.d.ts +39 -0
  37. package/dist/cloudformation/builders/network.d.ts +14 -0
  38. package/dist/cloudformation/builders/queue.d.ts +16 -0
  39. package/dist/cloudformation/builders/security.d.ts +31 -0
  40. package/dist/cloudformation/builders/storage.d.ts +36 -0
  41. package/dist/cloudformation/index.d.ts +10 -0
  42. package/dist/cloudformation/types.d.ts +200 -0
  43. package/dist/compliance/aws-config.d.ts +175 -0
  44. package/dist/compliance/cloudtrail.d.ts +132 -0
  45. package/dist/compliance/compliance.test.d.ts +1 -0
  46. package/dist/compliance/guardduty.d.ts +176 -0
  47. package/dist/compliance/index.d.ts +12 -0
  48. package/dist/compliance/security-hub.d.ts +178 -0
  49. package/dist/containers/build-optimization.d.ts +155 -0
  50. package/dist/containers/containers.test.d.ts +1 -0
  51. package/dist/containers/image-scanning.d.ts +144 -0
  52. package/dist/containers/index.d.ts +8 -0
  53. package/dist/containers/registry.d.ts +129 -0
  54. package/dist/containers/service-mesh.d.ts +254 -0
  55. package/dist/database/database.test.d.ts +1 -0
  56. package/dist/database/index.d.ts +8 -0
  57. package/dist/database/migrations.d.ts +153 -0
  58. package/dist/database/performance.d.ts +219 -0
  59. package/dist/database/replicas.d.ts +218 -0
  60. package/dist/database/users.d.ts +165 -0
  61. package/dist/dependency-graph.d.ts +37 -0
  62. package/dist/deployment/ab-testing.d.ts +165 -0
  63. package/dist/deployment/blue-green.d.ts +140 -0
  64. package/dist/deployment/canary.d.ts +165 -0
  65. package/dist/deployment/deployment.test.d.ts +1 -0
  66. package/dist/deployment/index.d.ts +12 -0
  67. package/dist/deployment/progressive.d.ts +50 -0
  68. package/dist/dns/dns.test.d.ts +1 -0
  69. package/dist/dns/dnssec.d.ts +120 -0
  70. package/dist/dns/index.d.ts +7 -0
  71. package/dist/dns/resolver.d.ts +216 -0
  72. package/dist/dns/routing.d.ts +277 -0
  73. package/dist/email/advanced/analytics.d.ts +107 -0
  74. package/dist/email/advanced/index.d.ts +10 -0
  75. package/dist/email/advanced/rules.d.ts +131 -0
  76. package/dist/email/advanced/scheduling.d.ts +81 -0
  77. package/dist/email/advanced/search.d.ts +91 -0
  78. package/dist/email/advanced/shared-mailboxes.d.ts +109 -0
  79. package/dist/email/advanced/templates.d.ts +95 -0
  80. package/dist/email/advanced/threading.d.ts +65 -0
  81. package/dist/email/analytics.d.ts +189 -0
  82. package/dist/email/bounce-handling.d.ts +171 -0
  83. package/dist/email/email.test.d.ts +1 -0
  84. package/dist/email/handlers/__tests__/inbound.test.d.ts +1 -0
  85. package/dist/email/handlers/__tests__/outbound.test.d.ts +1 -0
  86. package/dist/email/handlers/converter.d.ts +11 -0
  87. package/dist/email/handlers/feedback.d.ts +11 -0
  88. package/dist/email/handlers/inbound.d.ts +13 -0
  89. package/dist/email/handlers/outbound.d.ts +13 -0
  90. package/dist/email/index.d.ts +10 -0
  91. package/dist/email/reputation.d.ts +133 -0
  92. package/dist/email/templates.d.ts +124 -0
  93. package/dist/errors/index.d.ts +177 -0
  94. package/dist/errors/index.test.d.ts +4 -0
  95. package/dist/health-checks/index.d.ts +35 -0
  96. package/dist/index.d.ts +15 -256
  97. package/dist/index.js +228 -80
  98. package/dist/intrinsic-functions.d.ts +77 -0
  99. package/dist/lambda/concurrency.d.ts +146 -0
  100. package/dist/lambda/destinations.d.ts +141 -0
  101. package/dist/lambda/dlq.d.ts +160 -0
  102. package/dist/lambda/index.d.ts +10 -0
  103. package/dist/lambda/lambda.test.d.ts +1 -0
  104. package/dist/lambda/layers.d.ts +117 -0
  105. package/dist/lambda/versions.d.ts +145 -0
  106. package/dist/lambda/vpc.d.ts +164 -0
  107. package/dist/local/config.d.ts +44 -0
  108. package/dist/local/index.d.ts +5 -0
  109. package/dist/local/mock-aws.d.ts +69 -0
  110. package/dist/modules/ai.d.ts +108 -0
  111. package/dist/modules/api.d.ts +157 -0
  112. package/dist/modules/auth.d.ts +262 -0
  113. package/dist/modules/cache.d.ts +108 -0
  114. package/dist/modules/cdn.d.ts +305 -0
  115. package/dist/modules/communication.d.ts +117 -0
  116. package/dist/modules/compute.d.ts +1376 -0
  117. package/dist/modules/database.d.ts +144 -0
  118. package/dist/modules/deployment.d.ts +372 -0
  119. package/dist/modules/dns.d.ts +143 -0
  120. package/dist/modules/email.d.ts +314 -0
  121. package/dist/modules/filesystem.d.ts +132 -0
  122. package/dist/modules/index.d.ts +31 -0
  123. package/dist/modules/messaging.d.ts +210 -0
  124. package/dist/modules/monitoring.d.ts +574 -0
  125. package/dist/modules/network.d.ts +148 -0
  126. package/dist/modules/parameter-store.d.ts +143 -0
  127. package/dist/modules/permissions.d.ts +245 -0
  128. package/dist/modules/phone.d.ts +125 -0
  129. package/dist/modules/queue.d.ts +411 -0
  130. package/dist/modules/redirects.d.ts +140 -0
  131. package/dist/modules/registry.d.ts +189 -0
  132. package/dist/modules/search.d.ts +135 -0
  133. package/dist/modules/secrets.d.ts +149 -0
  134. package/dist/modules/security.d.ts +219 -0
  135. package/dist/modules/sms.d.ts +130 -0
  136. package/dist/modules/storage.d.ts +344 -0
  137. package/dist/modules/workflow.d.ts +288 -0
  138. package/dist/multi-account/config.d.ts +166 -0
  139. package/dist/multi-account/index.d.ts +6 -0
  140. package/dist/multi-account/manager.d.ts +181 -0
  141. package/dist/multi-region/cross-region.d.ts +204 -0
  142. package/dist/multi-region/index.d.ts +7 -0
  143. package/dist/multi-region/manager.d.ts +136 -0
  144. package/dist/multi-region/regions.d.ts +98 -0
  145. package/dist/network-security/index.d.ts +55 -0
  146. package/dist/observability/index.d.ts +8 -0
  147. package/dist/observability/logs.d.ts +213 -0
  148. package/dist/observability/metrics.d.ts +187 -0
  149. package/dist/observability/observability.test.d.ts +1 -0
  150. package/dist/observability/synthetics.d.ts +189 -0
  151. package/dist/observability/xray.d.ts +193 -0
  152. package/dist/phone/advanced/analytics.d.ts +83 -0
  153. package/dist/phone/advanced/callbacks.d.ts +67 -0
  154. package/dist/phone/advanced/index.d.ts +7 -0
  155. package/dist/phone/advanced/ivr-builder.d.ts +130 -0
  156. package/dist/phone/advanced/recording.d.ts +62 -0
  157. package/dist/phone/handlers/__tests__/incoming-call.test.d.ts +1 -0
  158. package/dist/phone/handlers/incoming-call.d.ts +10 -0
  159. package/dist/phone/handlers/missed-call.d.ts +9 -0
  160. package/dist/phone/handlers/voicemail.d.ts +10 -0
  161. package/dist/phone/index.d.ts +5 -0
  162. package/dist/presets/api-backend.d.ts +11 -0
  163. package/dist/presets/data-pipeline.d.ts +11 -0
  164. package/dist/presets/extend.d.ts +194 -0
  165. package/dist/presets/extend.test.d.ts +4 -0
  166. package/dist/presets/fullstack-app.d.ts +12 -0
  167. package/dist/presets/index.d.ts +13 -0
  168. package/dist/presets/jamstack.d.ts +12 -0
  169. package/dist/presets/microservices.d.ts +18 -0
  170. package/dist/presets/ml-api.d.ts +13 -0
  171. package/dist/presets/nodejs-server.d.ts +14 -0
  172. package/dist/presets/nodejs-serverless.d.ts +14 -0
  173. package/dist/presets/realtime-app.d.ts +11 -0
  174. package/dist/presets/static-site.d.ts +12 -0
  175. package/dist/presets/traditional-web-app.d.ts +16 -0
  176. package/dist/presets/wordpress.d.ts +12 -0
  177. package/dist/preview/github.d.ts +32 -0
  178. package/dist/preview/github.test.d.ts +1 -0
  179. package/dist/preview/index.d.ts +10 -0
  180. package/dist/preview/manager.d.ts +101 -0
  181. package/dist/preview/manager.test.d.ts +1 -0
  182. package/dist/preview/notifications.d.ts +89 -0
  183. package/dist/preview/notifications.test.d.ts +1 -0
  184. package/dist/queue/batch-processing.d.ts +138 -0
  185. package/dist/queue/dlq-monitoring.d.ts +143 -0
  186. package/dist/queue/fifo.d.ts +131 -0
  187. package/dist/queue/index.d.ts +8 -0
  188. package/dist/queue/management.d.ts +162 -0
  189. package/dist/queue/queue.test.d.ts +1 -0
  190. package/dist/resource-mgmt/index.d.ts +44 -0
  191. package/dist/resource-naming.d.ts +26 -0
  192. package/dist/s3/index.d.ts +227 -0
  193. package/dist/schema/index.d.ts +12 -0
  194. package/dist/security/certificate-manager.d.ts +184 -0
  195. package/dist/security/index.d.ts +8 -0
  196. package/dist/security/scanning.d.ts +196 -0
  197. package/dist/security/secrets-manager.d.ts +204 -0
  198. package/dist/security/secrets-rotation.d.ts +167 -0
  199. package/dist/security/security.test.d.ts +1 -0
  200. package/dist/sms/advanced/ab-testing.d.ts +74 -0
  201. package/dist/sms/advanced/analytics.d.ts +75 -0
  202. package/dist/sms/advanced/campaigns.d.ts +96 -0
  203. package/dist/sms/advanced/chatbot.d.ts +67 -0
  204. package/dist/sms/advanced/index.d.ts +9 -0
  205. package/dist/sms/advanced/link-tracking.d.ts +60 -0
  206. package/dist/sms/advanced/mms.d.ts +60 -0
  207. package/dist/sms/handlers/__tests__/send.test.d.ts +1 -0
  208. package/dist/sms/handlers/delivery-status.d.ts +10 -0
  209. package/dist/sms/handlers/receive.d.ts +10 -0
  210. package/dist/sms/handlers/send.d.ts +10 -0
  211. package/dist/sms/index.d.ts +5 -0
  212. package/dist/stack-diff.d.ts +38 -0
  213. package/dist/static-site/index.d.ts +49 -0
  214. package/dist/template-builder.d.ts +42 -0
  215. package/dist/template-validator.d.ts +28 -0
  216. package/dist/types.d.ts +2514 -0
  217. package/dist/utils/cache.d.ts +117 -0
  218. package/dist/utils/diff.d.ts +52 -0
  219. package/dist/utils/hash.d.ts +73 -0
  220. package/dist/utils/index.d.ts +7 -0
  221. package/dist/utils/parallel.d.ts +78 -0
  222. package/dist/validators/credentials.d.ts +30 -0
  223. package/dist/validators/credentials.test.d.ts +4 -0
  224. package/dist/validators/quotas.d.ts +64 -0
  225. package/dist/validators/quotas.test.d.ts +4 -0
  226. package/package.json +2 -2
@@ -0,0 +1,138 @@
1
+ /**
2
+ * SQS Batch Processing
3
+ * Batch operations, parallel processing, and throughput optimization
4
+ */
5
+ export interface BatchConfig {
6
+ id: string;
7
+ queueUrl: string;
8
+ batchSize: number;
9
+ maxWaitTime: number;
10
+ parallelProcessors: number;
11
+ retryAttempts: number;
12
+ visibilityTimeout: number;
13
+ }
14
+ export interface BatchJob {
15
+ id: string;
16
+ configId: string;
17
+ messages: BatchMessage[];
18
+ status: 'pending' | 'processing' | 'completed' | 'failed';
19
+ startedAt?: Date;
20
+ completedAt?: Date;
21
+ processedCount: number;
22
+ failedCount: number;
23
+ }
24
+ export interface BatchMessage {
25
+ id: string;
26
+ messageId: string;
27
+ body: string;
28
+ receiptHandle: string;
29
+ attributes: Record<string, any>;
30
+ status: 'pending' | 'processing' | 'success' | 'failed';
31
+ processingTime?: number;
32
+ error?: string;
33
+ }
34
+ export interface ProcessorMetrics {
35
+ id: string;
36
+ configId: string;
37
+ timestamp: Date;
38
+ messagesProcessed: number;
39
+ averageProcessingTime: number;
40
+ throughput: number;
41
+ errorRate: number;
42
+ }
43
+ /**
44
+ * Batch processing manager
45
+ */
46
+ export declare class BatchProcessingManager {
47
+ private configs;
48
+ private jobs;
49
+ private metrics;
50
+ private configCounter;
51
+ private jobCounter;
52
+ private metricsCounter;
53
+ /**
54
+ * Create batch config
55
+ */
56
+ createBatchConfig(config: Omit<BatchConfig, 'id'>): BatchConfig;
57
+ /**
58
+ * Create high-throughput batch config
59
+ */
60
+ createHighThroughputConfig(options: {
61
+ queueUrl: string;
62
+ }): BatchConfig;
63
+ /**
64
+ * Create low-latency batch config
65
+ */
66
+ createLowLatencyConfig(options: {
67
+ queueUrl: string;
68
+ }): BatchConfig;
69
+ /**
70
+ * Create batch job
71
+ */
72
+ createBatchJob(options: {
73
+ configId: string;
74
+ messageCount: number;
75
+ }): BatchJob;
76
+ /**
77
+ * Process batch job
78
+ */
79
+ processBatchJob(jobId: string): Promise<BatchJob>;
80
+ /**
81
+ * Process single batch
82
+ */
83
+ private processBatch;
84
+ /**
85
+ * Process single message
86
+ */
87
+ private processMessage;
88
+ /**
89
+ * Chunk array into batches
90
+ */
91
+ private chunkArray;
92
+ /**
93
+ * Collect processor metrics
94
+ */
95
+ private collectProcessorMetrics;
96
+ /**
97
+ * Get batch statistics
98
+ */
99
+ getBatchStatistics(configId: string): {
100
+ totalJobsProcessed: number;
101
+ totalMessagesProcessed: number;
102
+ averageThroughput: number;
103
+ averageErrorRate: number;
104
+ averageProcessingTime: number;
105
+ };
106
+ /**
107
+ * Optimize batch config
108
+ */
109
+ optimizeBatchConfig(configId: string): BatchConfig;
110
+ /**
111
+ * Get config
112
+ */
113
+ getConfig(id: string): BatchConfig | undefined;
114
+ /**
115
+ * List configs
116
+ */
117
+ listConfigs(): BatchConfig[];
118
+ /**
119
+ * Get job
120
+ */
121
+ getJob(id: string): BatchJob | undefined;
122
+ /**
123
+ * List jobs
124
+ */
125
+ listJobs(configId?: string): BatchJob[];
126
+ /**
127
+ * Generate CloudFormation for Lambda batch processor
128
+ */
129
+ generateBatchProcessorCF(config: BatchConfig): any;
130
+ /**
131
+ * Clear all data
132
+ */
133
+ clear(): void;
134
+ }
135
+ /**
136
+ * Global batch processing manager instance
137
+ */
138
+ export declare const batchProcessingManager: BatchProcessingManager;
@@ -0,0 +1,143 @@
1
+ /**
2
+ * SQS Dead Letter Queue Monitoring
3
+ * DLQ monitoring, alerts, and automated reprocessing
4
+ */
5
+ export interface DLQMonitor {
6
+ id: string;
7
+ name: string;
8
+ queueUrl: string;
9
+ sourceQueues: string[];
10
+ maxReceiveCount: number;
11
+ alarmThreshold: number;
12
+ autoReprocess: boolean;
13
+ reprocessStrategy: 'immediate' | 'scheduled' | 'manual';
14
+ notificationTopicArn?: string;
15
+ }
16
+ export interface DLQMetrics {
17
+ id: string;
18
+ queueUrl: string;
19
+ timestamp: Date;
20
+ approximateNumberOfMessages: number;
21
+ approximateAgeOfOldestMessage: number;
22
+ messagesReceived: number;
23
+ messagesDeleted: number;
24
+ messagesReprocessed: number;
25
+ }
26
+ export interface DLQAlert {
27
+ id: string;
28
+ monitorId: string;
29
+ alertType: 'threshold_exceeded' | 'old_message' | 'high_receive_count';
30
+ severity: 'low' | 'medium' | 'high' | 'critical';
31
+ message: string;
32
+ timestamp: Date;
33
+ acknowledged: boolean;
34
+ }
35
+ export interface ReprocessJob {
36
+ id: string;
37
+ queueUrl: string;
38
+ messageId: string;
39
+ attempts: number;
40
+ status: 'pending' | 'processing' | 'success' | 'failed';
41
+ startedAt?: Date;
42
+ completedAt?: Date;
43
+ error?: string;
44
+ }
45
+ /**
46
+ * DLQ monitoring manager
47
+ */
48
+ export declare class DLQMonitoringManager {
49
+ private monitors;
50
+ private metrics;
51
+ private alerts;
52
+ private reprocessJobs;
53
+ private monitorCounter;
54
+ private metricsCounter;
55
+ private alertCounter;
56
+ private jobCounter;
57
+ /**
58
+ * Create DLQ monitor
59
+ */
60
+ createDLQMonitor(monitor: Omit<DLQMonitor, 'id'>): DLQMonitor;
61
+ /**
62
+ * Create automated DLQ monitor
63
+ */
64
+ createAutomatedMonitor(options: {
65
+ name: string;
66
+ queueUrl: string;
67
+ sourceQueues: string[];
68
+ notificationTopicArn: string;
69
+ }): DLQMonitor;
70
+ /**
71
+ * Collect DLQ metrics
72
+ */
73
+ collectMetrics(queueUrl: string): DLQMetrics;
74
+ /**
75
+ * Check for alerts
76
+ */
77
+ private checkForAlerts;
78
+ /**
79
+ * Create alert
80
+ */
81
+ private createAlert;
82
+ /**
83
+ * Acknowledge alert
84
+ */
85
+ acknowledgeAlert(alertId: string): DLQAlert;
86
+ /**
87
+ * Create reprocess job
88
+ */
89
+ createReprocessJob(options: {
90
+ queueUrl: string;
91
+ messageId: string;
92
+ }): ReprocessJob;
93
+ /**
94
+ * Execute reprocess job
95
+ */
96
+ executeReprocessJob(jobId: string): Promise<ReprocessJob>;
97
+ /**
98
+ * Batch reprocess DLQ messages
99
+ */
100
+ batchReprocess(options: {
101
+ queueUrl: string;
102
+ maxMessages: number;
103
+ }): Promise<ReprocessJob[]>;
104
+ /**
105
+ * Get DLQ statistics
106
+ */
107
+ getDLQStatistics(queueUrl: string, hours?: number): {
108
+ totalMessages: number;
109
+ avgAge: number;
110
+ messagesReceived: number;
111
+ messagesDeleted: number;
112
+ messagesReprocessed: number;
113
+ successRate: number;
114
+ };
115
+ /**
116
+ * Get monitor
117
+ */
118
+ getMonitor(id: string): DLQMonitor | undefined;
119
+ /**
120
+ * List monitors
121
+ */
122
+ listMonitors(): DLQMonitor[];
123
+ /**
124
+ * Get alerts
125
+ */
126
+ getAlerts(monitorId?: string, acknowledged?: boolean): DLQAlert[];
127
+ /**
128
+ * Get reprocess jobs
129
+ */
130
+ getReprocessJobs(queueUrl?: string): ReprocessJob[];
131
+ /**
132
+ * Generate CloudFormation for DLQ alarm
133
+ */
134
+ generateDLQAlarmCF(monitor: DLQMonitor): any;
135
+ /**
136
+ * Clear all data
137
+ */
138
+ clear(): void;
139
+ }
140
+ /**
141
+ * Global DLQ monitoring manager instance
142
+ */
143
+ export declare const dlqMonitoringManager: DLQMonitoringManager;
@@ -0,0 +1,131 @@
1
+ /**
2
+ * SQS FIFO Queue Management
3
+ * First-In-First-Out queues with message ordering and deduplication
4
+ */
5
+ export interface FIFOQueue {
6
+ id: string;
7
+ name: string;
8
+ queueUrl: string;
9
+ contentBasedDeduplication: boolean;
10
+ deduplicationScope: 'queue' | 'messageGroup';
11
+ fifoThroughputLimit: 'perQueue' | 'perMessageGroupId';
12
+ messageRetentionPeriod: number;
13
+ visibilityTimeout: number;
14
+ receiveMessageWaitTime: number;
15
+ deadLetterTargetArn?: string;
16
+ maxReceiveCount?: number;
17
+ }
18
+ export interface MessageGroup {
19
+ id: string;
20
+ messageGroupId: string;
21
+ queueId: string;
22
+ messagesInFlight: number;
23
+ lastMessageTimestamp?: Date;
24
+ }
25
+ export interface DeduplicationConfig {
26
+ id: string;
27
+ queueId: string;
28
+ deduplicationInterval: number;
29
+ contentBasedDeduplication: boolean;
30
+ deduplicationHashes: Map<string, Date>;
31
+ }
32
+ export interface FIFOMessage {
33
+ id: string;
34
+ messageId: string;
35
+ messageGroupId: string;
36
+ messageDeduplicationId?: string;
37
+ body: string;
38
+ attributes: Record<string, any>;
39
+ sentTimestamp: Date;
40
+ sequenceNumber: string;
41
+ }
42
+ /**
43
+ * FIFO queue manager
44
+ */
45
+ export declare class FIFOQueueManager {
46
+ private queues;
47
+ private messageGroups;
48
+ private deduplicationConfigs;
49
+ private messages;
50
+ private queueCounter;
51
+ private groupCounter;
52
+ private deduplicationCounter;
53
+ private messageCounter;
54
+ private sequenceCounter;
55
+ /**
56
+ * Create FIFO queue
57
+ */
58
+ createFIFOQueue(queue: Omit<FIFOQueue, 'id' | 'queueUrl'>): FIFOQueue;
59
+ /**
60
+ * Create high-throughput FIFO queue
61
+ */
62
+ createHighThroughputFIFO(options: {
63
+ name: string;
64
+ contentBasedDeduplication?: boolean;
65
+ }): FIFOQueue;
66
+ /**
67
+ * Create standard FIFO queue
68
+ */
69
+ createStandardFIFO(options: {
70
+ name: string;
71
+ contentBasedDeduplication?: boolean;
72
+ }): FIFOQueue;
73
+ /**
74
+ * Create deduplication config
75
+ */
76
+ private createDeduplicationConfig;
77
+ /**
78
+ * Send message to FIFO queue
79
+ */
80
+ sendMessage(options: {
81
+ queueId: string;
82
+ messageGroupId: string;
83
+ messageBody: string;
84
+ messageDeduplicationId?: string;
85
+ messageAttributes?: Record<string, any>;
86
+ }): FIFOMessage | null;
87
+ /**
88
+ * Check if message is duplicate
89
+ */
90
+ private isDuplicate;
91
+ /**
92
+ * Generate message hash
93
+ */
94
+ private generateHash;
95
+ /**
96
+ * Generate sequence number
97
+ */
98
+ private generateSequenceNumber;
99
+ /**
100
+ * Update message group
101
+ */
102
+ private updateMessageGroup;
103
+ /**
104
+ * Get message groups for queue
105
+ */
106
+ getMessageGroups(queueId: string): MessageGroup[];
107
+ /**
108
+ * Get queue
109
+ */
110
+ getQueue(id: string): FIFOQueue | undefined;
111
+ /**
112
+ * List queues
113
+ */
114
+ listQueues(): FIFOQueue[];
115
+ /**
116
+ * Get messages
117
+ */
118
+ getMessages(queueId: string, messageGroupId?: string): FIFOMessage[];
119
+ /**
120
+ * Generate CloudFormation for FIFO queue
121
+ */
122
+ generateFIFOQueueCF(queue: FIFOQueue): any;
123
+ /**
124
+ * Clear all data
125
+ */
126
+ clear(): void;
127
+ }
128
+ /**
129
+ * Global FIFO queue manager instance
130
+ */
131
+ export declare const fifoQueueManager: FIFOQueueManager;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Queue Advanced Features
3
+ * FIFO queues, DLQ monitoring, batch processing, and queue management
4
+ */
5
+ export * from './fifo';
6
+ export * from './dlq-monitoring';
7
+ export * from './batch-processing';
8
+ export * from './management';
@@ -0,0 +1,162 @@
1
+ /**
2
+ * SQS Queue Management
3
+ * Retention policies, delay queues, and queue operations
4
+ */
5
+ export interface QueueManagement {
6
+ id: string;
7
+ queueUrl: string;
8
+ queueName: string;
9
+ messageRetentionPeriod: number;
10
+ delaySeconds: number;
11
+ maximumMessageSize: number;
12
+ receiveMessageWaitTime: number;
13
+ purgeInProgress: boolean;
14
+ }
15
+ export interface RetentionPolicy {
16
+ id: string;
17
+ queueId: string;
18
+ retentionPeriod: number;
19
+ autoCleanup: boolean;
20
+ cleanupSchedule?: string;
21
+ archiveExpiredMessages: boolean;
22
+ archiveS3Bucket?: string;
23
+ }
24
+ export interface DelayQueue {
25
+ id: string;
26
+ queueUrl: string;
27
+ defaultDelay: number;
28
+ perMessageDelay: boolean;
29
+ maxDelay: number;
30
+ }
31
+ export interface PurgeOperation {
32
+ id: string;
33
+ queueUrl: string;
34
+ status: 'pending' | 'in_progress' | 'completed' | 'failed';
35
+ messagesPurged?: number;
36
+ startedAt?: Date;
37
+ completedAt?: Date;
38
+ }
39
+ export interface QueueMetrics {
40
+ id: string;
41
+ queueUrl: string;
42
+ timestamp: Date;
43
+ approximateNumberOfMessages: number;
44
+ approximateNumberOfMessagesNotVisible: number;
45
+ approximateNumberOfMessagesDelayed: number;
46
+ oldestMessageAge?: number;
47
+ }
48
+ /**
49
+ * Queue management manager
50
+ */
51
+ export declare class QueueManagementManager {
52
+ private queues;
53
+ private retentionPolicies;
54
+ private delayQueues;
55
+ private purgeOperations;
56
+ private metrics;
57
+ private queueCounter;
58
+ private retentionCounter;
59
+ private delayCounter;
60
+ private purgeCounter;
61
+ private metricsCounter;
62
+ /**
63
+ * Create queue
64
+ */
65
+ createQueue(queue: Omit<QueueManagement, 'id' | 'purgeInProgress'>): QueueManagement;
66
+ /**
67
+ * Create standard queue
68
+ */
69
+ createStandardQueue(options: {
70
+ queueName: string;
71
+ messageRetentionDays?: number;
72
+ }): QueueManagement;
73
+ /**
74
+ * Create long polling queue
75
+ */
76
+ createLongPollingQueue(options: {
77
+ queueName: string;
78
+ waitTimeSeconds?: number;
79
+ }): QueueManagement;
80
+ /**
81
+ * Create retention policy
82
+ */
83
+ createRetentionPolicy(policy: Omit<RetentionPolicy, 'id'>): RetentionPolicy;
84
+ /**
85
+ * Create short retention policy
86
+ */
87
+ createShortRetentionPolicy(options: {
88
+ queueId: string;
89
+ retentionHours: number;
90
+ }): RetentionPolicy;
91
+ /**
92
+ * Create archival retention policy
93
+ */
94
+ createArchivalRetentionPolicy(options: {
95
+ queueId: string;
96
+ retentionDays: number;
97
+ s3Bucket: string;
98
+ }): RetentionPolicy;
99
+ /**
100
+ * Create delay queue
101
+ */
102
+ createDelayQueue(delay: Omit<DelayQueue, 'id'>): DelayQueue;
103
+ /**
104
+ * Create scheduled delay queue
105
+ */
106
+ createScheduledDelayQueue(options: {
107
+ queueUrl: string;
108
+ delayMinutes: number;
109
+ }): DelayQueue;
110
+ /**
111
+ * Purge queue
112
+ */
113
+ purgeQueue(queueId: string): Promise<PurgeOperation>;
114
+ /**
115
+ * Collect queue metrics
116
+ */
117
+ collectQueueMetrics(queueUrl: string): QueueMetrics;
118
+ /**
119
+ * Get queue health
120
+ */
121
+ getQueueHealth(queueUrl: string): {
122
+ status: 'healthy' | 'warning' | 'critical';
123
+ issues: string[];
124
+ recommendations: string[];
125
+ };
126
+ /**
127
+ * Get queue
128
+ */
129
+ getQueue(id: string): QueueManagement | undefined;
130
+ /**
131
+ * List queues
132
+ */
133
+ listQueues(): QueueManagement[];
134
+ /**
135
+ * Get retention policy
136
+ */
137
+ getRetentionPolicy(id: string): RetentionPolicy | undefined;
138
+ /**
139
+ * List retention policies
140
+ */
141
+ listRetentionPolicies(): RetentionPolicy[];
142
+ /**
143
+ * Get purge operations
144
+ */
145
+ getPurgeOperations(queueUrl?: string): PurgeOperation[];
146
+ /**
147
+ * Generate CloudFormation for queue
148
+ */
149
+ generateQueueCF(queue: QueueManagement): any;
150
+ /**
151
+ * Generate CloudFormation for EventBridge rule for cleanup
152
+ */
153
+ generateCleanupRuleCF(policy: RetentionPolicy): any;
154
+ /**
155
+ * Clear all data
156
+ */
157
+ clear(): void;
158
+ }
159
+ /**
160
+ * Global queue management manager instance
161
+ */
162
+ export declare const queueManagementManager: QueueManagementManager;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Resource Management - Tagging strategies, cost allocation, resource groups
3
+ */
4
+ export interface TaggingStrategy {
5
+ id: string;
6
+ tags: Record<string, string>;
7
+ resources: string[];
8
+ }
9
+ export interface CostAllocation {
10
+ id: string;
11
+ tagKey: string;
12
+ allocations: Array<{
13
+ tagValue: string;
14
+ cost: number;
15
+ }>;
16
+ }
17
+ export interface ResourceGroup {
18
+ id: string;
19
+ name: string;
20
+ query: {
21
+ resourceTypeFilters: string[];
22
+ tagFilters: Array<{
23
+ key: string;
24
+ values: string[];
25
+ }>;
26
+ };
27
+ }
28
+ export declare class ResourceManagementManager {
29
+ private strategies;
30
+ private allocations;
31
+ private groups;
32
+ private counter;
33
+ createTaggingStrategy(tags: Record<string, string>, resources: string[]): TaggingStrategy;
34
+ createCostAllocation(tagKey: string, allocations: Array<{
35
+ tagValue: string;
36
+ cost: number;
37
+ }>): CostAllocation;
38
+ createResourceGroup(name: string, resourceTypeFilters: string[], tagFilters: Array<{
39
+ key: string;
40
+ values: string[];
41
+ }>): ResourceGroup;
42
+ clear(): void;
43
+ }
44
+ export declare const resourceManagementManager: ResourceManagementManager;
@@ -0,0 +1,26 @@
1
+ import type { EnvironmentType } from './types';
2
+ export interface NamingOptions {
3
+ slug: string;
4
+ environment: EnvironmentType;
5
+ timestamp?: string;
6
+ resourceType: string;
7
+ suffix?: string;
8
+ }
9
+ /**
10
+ * Generate a consistent resource name following the naming convention:
11
+ * {slug}-{environment}-{resourceType}-{timestamp}
12
+ */
13
+ export declare function generateResourceName(options: NamingOptions): string;
14
+ /**
15
+ * Generate a logical ID for CloudFormation resources
16
+ * Converts to PascalCase and removes hyphens
17
+ */
18
+ export declare function generateLogicalId(name: string): string;
19
+ /**
20
+ * Get current timestamp for resource naming
21
+ */
22
+ export declare function getTimestamp(): string;
23
+ /**
24
+ * Sanitize a name to be CloudFormation-compatible
25
+ */
26
+ export declare function sanitizeName(name: string): string;