@stacksjs/ts-cloud-core 0.1.6 → 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.
Files changed (225) hide show
  1. package/dist/advanced-features.test.d.ts +0 -0
  2. package/dist/aws/cloudformation.d.ts +69 -0
  3. package/dist/aws/cloudfront.d.ts +21 -0
  4. package/dist/aws/credentials.d.ts +66 -0
  5. package/dist/aws/credentials.test.d.ts +0 -0
  6. package/dist/aws/index.d.ts +73 -0
  7. package/dist/aws/s3.d.ts +130 -0
  8. package/dist/aws/s3.test.d.ts +0 -0
  9. package/dist/aws/signature.d.ts +101 -0
  10. package/dist/aws/signature.test.d.ts +0 -0
  11. package/dist/backup/disaster-recovery.d.ts +98 -0
  12. package/dist/backup/disaster-recovery.test.d.ts +0 -0
  13. package/dist/backup/index.d.ts +24 -0
  14. package/dist/backup/manager.d.ts +112 -0
  15. package/dist/backup/manager.test.d.ts +0 -0
  16. package/dist/cicd/circleci.d.ts +47 -0
  17. package/dist/cicd/github-actions.d.ts +55 -0
  18. package/dist/cicd/gitlab-ci.d.ts +46 -0
  19. package/dist/cicd/index.d.ts +3 -0
  20. package/dist/cli/history.d.ts +66 -0
  21. package/dist/cli/index.d.ts +5 -0
  22. package/dist/cli/progress.d.ts +97 -0
  23. package/dist/cli/repl.d.ts +76 -0
  24. package/dist/cli/suggestions.d.ts +67 -0
  25. package/dist/cli/table.d.ts +70 -0
  26. package/dist/cli/table.test.d.ts +0 -0
  27. package/dist/cloudformation/builder.d.ts +59 -0
  28. package/dist/cloudformation/builder.test.d.ts +0 -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 +66 -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 +36 -0
  37. package/dist/cloudformation/builders/network.d.ts +14 -0
  38. package/dist/cloudformation/builders/queue.d.ts +8 -0
  39. package/dist/cloudformation/builders/security.d.ts +31 -0
  40. package/dist/cloudformation/builders/storage.d.ts +8 -0
  41. package/dist/cloudformation/index.d.ts +24 -0
  42. package/dist/cloudformation/types.d.ts +132 -0
  43. package/dist/compliance/aws-config.d.ts +88 -0
  44. package/dist/compliance/cloudtrail.d.ts +96 -0
  45. package/dist/compliance/compliance.test.d.ts +0 -0
  46. package/dist/compliance/guardduty.d.ts +110 -0
  47. package/dist/compliance/index.d.ts +50 -0
  48. package/dist/compliance/security-hub.d.ts +110 -0
  49. package/dist/containers/build-optimization.d.ts +110 -0
  50. package/dist/containers/containers.test.d.ts +0 -0
  51. package/dist/containers/image-scanning.d.ts +96 -0
  52. package/dist/containers/index.d.ts +4 -0
  53. package/dist/containers/registry.d.ts +99 -0
  54. package/dist/containers/service-mesh.d.ts +206 -0
  55. package/dist/database/database.test.d.ts +0 -0
  56. package/dist/database/index.d.ts +4 -0
  57. package/dist/database/migrations.d.ts +102 -0
  58. package/dist/database/performance.d.ts +168 -0
  59. package/dist/database/replicas.d.ts +146 -0
  60. package/dist/database/users.d.ts +102 -0
  61. package/dist/dependency-graph.d.ts +19 -0
  62. package/dist/deployment/ab-testing.d.ts +114 -0
  63. package/dist/deployment/blue-green.d.ts +98 -0
  64. package/dist/deployment/canary.d.ts +103 -0
  65. package/dist/deployment/deployment.test.d.ts +0 -0
  66. package/dist/deployment/index.d.ts +45 -0
  67. package/dist/deployment/progressive.d.ts +34 -0
  68. package/dist/dns/dns.test.d.ts +0 -0
  69. package/dist/dns/dnssec.d.ts +75 -0
  70. package/dist/dns/index.d.ts +3 -0
  71. package/dist/dns/resolver.d.ts +150 -0
  72. package/dist/dns/routing.d.ts +217 -0
  73. package/dist/email/advanced/analytics.d.ts +78 -0
  74. package/dist/email/advanced/index.d.ts +7 -0
  75. package/dist/email/advanced/rules.d.ts +60 -0
  76. package/dist/email/advanced/scheduling.d.ts +63 -0
  77. package/dist/email/advanced/search.d.ts +76 -0
  78. package/dist/email/advanced/shared-mailboxes.d.ts +66 -0
  79. package/dist/email/advanced/templates.d.ts +39 -0
  80. package/dist/email/advanced/threading.d.ts +53 -0
  81. package/dist/email/analytics.d.ts +144 -0
  82. package/dist/email/bounce-handling.d.ts +120 -0
  83. package/dist/email/email.test.d.ts +0 -0
  84. package/dist/email/handlers/__tests__/inbound.test.d.ts +0 -0
  85. package/dist/email/handlers/__tests__/outbound.test.d.ts +0 -0
  86. package/dist/email/handlers/converter.d.ts +225 -0
  87. package/dist/email/handlers/feedback.d.ts +226 -0
  88. package/dist/email/handlers/inbound.d.ts +167 -0
  89. package/dist/email/handlers/outbound.d.ts +176 -0
  90. package/dist/email/index.d.ts +6 -0
  91. package/dist/email/reputation.d.ts +97 -0
  92. package/dist/email/templates.d.ts +82 -0
  93. package/dist/errors/index.d.ts +186 -0
  94. package/dist/errors/index.test.d.ts +0 -0
  95. package/dist/health-checks/index.d.ts +35 -0
  96. package/dist/index.d.ts +256 -0
  97. package/dist/index.js +63499 -0
  98. package/dist/intrinsic-functions.d.ts +37 -0
  99. package/dist/lambda/concurrency.d.ts +98 -0
  100. package/dist/lambda/destinations.d.ts +99 -0
  101. package/dist/lambda/dlq.d.ts +109 -0
  102. package/dist/lambda/index.d.ts +6 -0
  103. package/dist/lambda/lambda.test.d.ts +0 -0
  104. package/dist/lambda/layers.d.ts +81 -0
  105. package/dist/lambda/versions.d.ts +91 -0
  106. package/dist/lambda/vpc.d.ts +116 -0
  107. package/dist/local/config.d.ts +44 -0
  108. package/dist/local/index.d.ts +2 -0
  109. package/dist/local/mock-aws.d.ts +60 -0
  110. package/dist/modules/ai.d.ts +47 -0
  111. package/dist/modules/api.d.ts +98 -0
  112. package/dist/modules/auth.d.ts +165 -0
  113. package/dist/modules/cache.d.ts +73 -0
  114. package/dist/modules/cdn.d.ts +125 -0
  115. package/dist/modules/communication.d.ts +98 -0
  116. package/dist/modules/compute.d.ts +309 -0
  117. package/dist/modules/database.d.ts +105 -0
  118. package/dist/modules/deployment.d.ts +181 -0
  119. package/dist/modules/dns.d.ts +45 -0
  120. package/dist/modules/email.d.ts +217 -0
  121. package/dist/modules/filesystem.d.ts +94 -0
  122. package/dist/modules/index.d.ts +27 -0
  123. package/dist/modules/messaging.d.ts +108 -0
  124. package/dist/modules/monitoring.d.ts +127 -0
  125. package/dist/modules/network.d.ts +102 -0
  126. package/dist/modules/parameter-store.d.ts +33 -0
  127. package/dist/modules/permissions.d.ts +132 -0
  128. package/dist/modules/phone.d.ts +80 -0
  129. package/dist/modules/queue.d.ts +210 -0
  130. package/dist/modules/redirects.d.ts +59 -0
  131. package/dist/modules/registry.d.ts +73 -0
  132. package/dist/modules/search.d.ts +56 -0
  133. package/dist/modules/secrets.d.ts +80 -0
  134. package/dist/modules/security.d.ts +100 -0
  135. package/dist/modules/sms.d.ts +52 -0
  136. package/dist/modules/storage.d.ts +160 -0
  137. package/dist/modules/workflow.d.ts +205 -0
  138. package/dist/multi-account/config.d.ts +315 -0
  139. package/dist/multi-account/index.d.ts +2 -0
  140. package/dist/multi-account/manager.d.ts +100 -0
  141. package/dist/multi-region/cross-region.d.ts +114 -0
  142. package/dist/multi-region/index.d.ts +3 -0
  143. package/dist/multi-region/manager.d.ts +72 -0
  144. package/dist/multi-region/regions.d.ts +98 -0
  145. package/dist/network-security/index.d.ts +39 -0
  146. package/dist/observability/index.d.ts +4 -0
  147. package/dist/observability/logs.d.ts +129 -0
  148. package/dist/observability/metrics.d.ts +153 -0
  149. package/dist/observability/observability.test.d.ts +0 -0
  150. package/dist/observability/synthetics.d.ts +146 -0
  151. package/dist/observability/xray.d.ts +129 -0
  152. package/dist/phone/advanced/analytics.d.ts +66 -0
  153. package/dist/phone/advanced/callbacks.d.ts +50 -0
  154. package/dist/phone/advanced/index.d.ts +4 -0
  155. package/dist/phone/advanced/ivr-builder.d.ts +83 -0
  156. package/dist/phone/advanced/recording.d.ts +48 -0
  157. package/dist/phone/handlers/__tests__/incoming-call.test.d.ts +0 -0
  158. package/dist/phone/handlers/incoming-call.d.ts +115 -0
  159. package/dist/phone/handlers/missed-call.d.ts +114 -0
  160. package/dist/phone/handlers/voicemail.d.ts +177 -0
  161. package/dist/phone/index.d.ts +2 -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 +0 -0
  166. package/dist/presets/fullstack-app.d.ts +12 -0
  167. package/dist/presets/index.d.ts +24 -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 +0 -0
  179. package/dist/preview/index.d.ts +27 -0
  180. package/dist/preview/manager.d.ts +58 -0
  181. package/dist/preview/manager.test.d.ts +0 -0
  182. package/dist/preview/notifications.d.ts +55 -0
  183. package/dist/preview/notifications.test.d.ts +0 -0
  184. package/dist/queue/batch-processing.d.ts +87 -0
  185. package/dist/queue/dlq-monitoring.d.ts +95 -0
  186. package/dist/queue/fifo.d.ts +90 -0
  187. package/dist/queue/index.d.ts +4 -0
  188. package/dist/queue/management.d.ts +105 -0
  189. package/dist/queue/queue.test.d.ts +0 -0
  190. package/dist/resource-mgmt/index.d.ts +29 -0
  191. package/dist/resource-naming.d.ts +26 -0
  192. package/dist/s3/index.d.ts +173 -0
  193. package/dist/schema/index.d.ts +9 -0
  194. package/dist/security/certificate-manager.d.ts +121 -0
  195. package/dist/security/index.d.ts +4 -0
  196. package/dist/security/scanning.d.ts +147 -0
  197. package/dist/security/secrets-manager.d.ts +144 -0
  198. package/dist/security/secrets-rotation.d.ts +115 -0
  199. package/dist/security/security.test.d.ts +0 -0
  200. package/dist/sms/advanced/ab-testing.d.ts +54 -0
  201. package/dist/sms/advanced/analytics.d.ts +56 -0
  202. package/dist/sms/advanced/campaigns.d.ts +82 -0
  203. package/dist/sms/advanced/chatbot.d.ts +48 -0
  204. package/dist/sms/advanced/index.d.ts +6 -0
  205. package/dist/sms/advanced/link-tracking.d.ts +42 -0
  206. package/dist/sms/advanced/mms.d.ts +35 -0
  207. package/dist/sms/handlers/__tests__/send.test.d.ts +0 -0
  208. package/dist/sms/handlers/delivery-status.d.ts +131 -0
  209. package/dist/sms/handlers/receive.d.ts +160 -0
  210. package/dist/sms/handlers/send.d.ts +172 -0
  211. package/dist/sms/index.d.ts +2 -0
  212. package/dist/stack-diff.d.ts +34 -0
  213. package/dist/static-site/index.d.ts +49 -0
  214. package/dist/template-builder.d.ts +14 -0
  215. package/dist/template-validator.d.ts +24 -0
  216. package/dist/utils/cache.d.ts +55 -0
  217. package/dist/utils/diff.d.ts +48 -0
  218. package/dist/utils/hash.d.ts +58 -0
  219. package/dist/utils/index.d.ts +4 -0
  220. package/dist/utils/parallel.d.ts +60 -0
  221. package/dist/validators/credentials.d.ts +23 -0
  222. package/dist/validators/credentials.test.d.ts +0 -0
  223. package/dist/validators/quotas.d.ts +60 -0
  224. package/dist/validators/quotas.test.d.ts +0 -0
  225. package/package.json +4 -4
@@ -0,0 +1,39 @@
1
+ export declare const networkSecurityManager: NetworkSecurityManager;
2
+ /**
3
+ * Network Security - WAF, Shield, security groups, NACLs
4
+ */
5
+ export declare interface WAFRule {
6
+ id: string
7
+ name: string
8
+ priority: number
9
+ action: 'allow' | 'block' | 'count'
10
+ conditions: string[]
11
+ }
12
+ export declare interface ShieldProtection {
13
+ id: string
14
+ resourceArn: string
15
+ protectionType: 'standard' | 'advanced'
16
+ }
17
+ export declare interface SecurityGroup {
18
+ id: string
19
+ name: string
20
+ vpcId: string
21
+ rules: Array<{ protocol: string; port: number; source: string }>
22
+ }
23
+ export declare interface NACL {
24
+ id: string
25
+ vpcId: string
26
+ rules: Array<{ ruleNumber: number; protocol: string; action: 'allow' | 'deny' }>
27
+ }
28
+ export declare class NetworkSecurityManager {
29
+ private wafRules: any;
30
+ private shieldProtections: any;
31
+ private securityGroups: any;
32
+ private nacls: any;
33
+ private counter: any;
34
+ createWAFRule(name: string, priority: number, action: 'allow' | 'block' | 'count', conditions: string[]): WAFRule;
35
+ enableShield(resourceArn: string, protectionType?: 'standard' | 'advanced'): ShieldProtection;
36
+ createSecurityGroup(name: string, vpcId: string, rules: Array<{ protocol: string; port: number; source: string }>): SecurityGroup;
37
+ createNACL(vpcId: string, rules: Array<{ ruleNumber: number; protocol: string; action: 'allow' | 'deny' }>): NACL;
38
+ clear(): void;
39
+ }
@@ -0,0 +1,4 @@
1
+ export * from './xray';
2
+ export * from './metrics';
3
+ export * from './logs';
4
+ export * from './synthetics';
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Global logs manager instance
3
+ */
4
+ export declare const logsManager: LogsManager;
5
+ /**
6
+ * Log Aggregation
7
+ * Centralized logging across services with CloudWatch Logs
8
+ */
9
+ export declare interface LogGroup {
10
+ id: string
11
+ name: string
12
+ retentionDays?: number
13
+ kmsKeyId?: string
14
+ logStreams?: LogStream[]
15
+ metricFilters?: MetricFilter[]
16
+ subscriptionFilters?: SubscriptionFilter[]
17
+ }
18
+ export declare interface LogStream {
19
+ id: string
20
+ name: string
21
+ logGroupName: string
22
+ creationTime: Date
23
+ lastEventTime?: Date
24
+ }
25
+ export declare interface MetricFilter {
26
+ id: string
27
+ name: string
28
+ filterPattern: string
29
+ metricTransformations: MetricTransformation[]
30
+ }
31
+ export declare interface MetricTransformation {
32
+ metricName: string
33
+ metricNamespace: string
34
+ metricValue: string
35
+ defaultValue?: number
36
+ unit?: string
37
+ dimensions?: Record<string, string>
38
+ }
39
+ export declare interface SubscriptionFilter {
40
+ id: string
41
+ name: string
42
+ logGroupName: string
43
+ filterPattern: string
44
+ destinationArn: string
45
+ roleArn?: string
46
+ distribution?: 'Random' | 'ByLogStream'
47
+ }
48
+ export declare interface LogQuery {
49
+ id: string
50
+ name: string
51
+ queryString: string
52
+ logGroupNames: string[]
53
+ startTime?: Date
54
+ endTime?: Date
55
+ }
56
+ export declare interface LogInsightsQuery {
57
+ id: string
58
+ name: string
59
+ description?: string
60
+ query: string
61
+ logGroupNames: string[]
62
+ schedule?: string
63
+ }
64
+ /**
65
+ * Logs manager
66
+ */
67
+ export declare class LogsManager {
68
+ private logGroups: Map<string, LogGroup>;
69
+ private queries: Map<string, LogQuery>;
70
+ private insightsQueries: Map<string, LogInsightsQuery>;
71
+ private logGroupCounter: any;
72
+ private filterCounter: any;
73
+ private queryCounter: any;
74
+ createLogGroup(group: Omit<LogGroup, 'id'>): LogGroup;
75
+ createLambdaLogGroup(functionName: string, retentionDays?: number): LogGroup;
76
+ createECSLogGroup(options: {
77
+ clusterName: string
78
+ serviceName: string
79
+ retentionDays?: number
80
+ }): LogGroup;
81
+ createAPIGatewayLogGroup(apiName: string, stage: string, retentionDays?: number): LogGroup;
82
+ createApplicationLogGroup(options: {
83
+ appName: string
84
+ environment: string
85
+ retentionDays?: number
86
+ kmsKeyId?: string
87
+ }): LogGroup;
88
+ createMetricFilter(logGroupId: string, filter: Omit<MetricFilter, 'id'>): MetricFilter;
89
+ createErrorCountFilter(logGroupId: string, namespace: string): MetricFilter;
90
+ createLatencyFilter(logGroupId: string, namespace: string): MetricFilter;
91
+ createCustomPatternFilter(options: {
92
+ logGroupId: string
93
+ name: string
94
+ pattern: string
95
+ metricName: string
96
+ namespace: string
97
+ }): MetricFilter;
98
+ createSubscriptionFilter(logGroupId: string, filter: Omit<SubscriptionFilter, 'id'>): SubscriptionFilter;
99
+ createKinesisSubscription(options: {
100
+ logGroupId: string
101
+ kinesisStreamArn: string
102
+ roleArn: string
103
+ filterPattern?: string
104
+ }): SubscriptionFilter;
105
+ createLambdaSubscription(options: {
106
+ logGroupId: string
107
+ lambdaFunctionArn: string
108
+ filterPattern?: string
109
+ }): SubscriptionFilter;
110
+ createInsightsQuery(query: Omit<LogInsightsQuery, 'id'>): LogInsightsQuery;
111
+ createErrorAnalysisQuery(logGroupNames: string[]): LogInsightsQuery;
112
+ createLatencyAnalysisQuery(logGroupNames: string[]): LogInsightsQuery;
113
+ createTopErrorsQuery(logGroupNames: string[]): LogInsightsQuery;
114
+ getLogGroup(id: string): LogGroup | undefined;
115
+ listLogGroups(): LogGroup[];
116
+ getInsightsQuery(id: string): LogInsightsQuery | undefined;
117
+ listInsightsQueries(): LogInsightsQuery[];
118
+ generateLogGroupCF(group: LogGroup): any;
119
+ generateMetricFilterCF(logGroup: LogGroup, filter: MetricFilter): any;
120
+ generateSubscriptionFilterCF(filter: SubscriptionFilter): any;
121
+ generateQueryDefinitionCF(query: LogInsightsQuery): any;
122
+ createLogAggregation(logGroup: string, filters: Array<{ pattern: string; metric: string }>, retention?: any): {
123
+ id: string
124
+ logGroup: string
125
+ filters: Array<{ pattern: string; metric: string }>
126
+ retention: number
127
+ };
128
+ clear(): void;
129
+ }
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Global metrics manager instance
3
+ */
4
+ export declare const metricsManager: MetricsManager;
5
+ /**
6
+ * Custom CloudWatch Metrics
7
+ * Application and business metrics collection
8
+ */
9
+ export declare interface MetricNamespace {
10
+ id: string
11
+ name: string
12
+ description?: string
13
+ metrics: CustomMetric[]
14
+ }
15
+ export declare interface CustomMetric {
16
+ id: string
17
+ name: string
18
+ namespace: string
19
+ unit: MetricUnit
20
+ dimensions?: MetricDimension[]
21
+ statisticValues?: MetricStatistic[]
22
+ alarms?: MetricAlarm[]
23
+ }
24
+ export declare interface MetricDimension {
25
+ name: string
26
+ value: string
27
+ }
28
+ export declare interface MetricStatistic {
29
+ sampleCount: number
30
+ sum: number
31
+ minimum: number
32
+ maximum: number
33
+ timestamp: Date
34
+ }
35
+ export declare interface MetricAlarm {
36
+ id: string
37
+ name: string
38
+ description?: string
39
+ comparisonOperator: 'GreaterThanThreshold' | 'GreaterThanOrEqualToThreshold' | 'LessThanThreshold' | 'LessThanOrEqualToThreshold'
40
+ evaluationPeriods: number
41
+ threshold: number
42
+ period: number
43
+ statistic: 'Average' | 'Sum' | 'Minimum' | 'Maximum' | 'SampleCount'
44
+ treatMissingData?: 'notBreaching' | 'breaching' | 'ignore' | 'missing'
45
+ actionsEnabled?: boolean
46
+ alarmActions?: string[]
47
+ okActions?: string[]
48
+ insufficientDataActions?: string[]
49
+ }
50
+ export type MetricUnit = | 'Seconds'
51
+ | 'Microseconds'
52
+ | 'Milliseconds'
53
+ | 'Bytes'
54
+ | 'Kilobytes'
55
+ | 'Megabytes'
56
+ | 'Gigabytes'
57
+ | 'Terabytes'
58
+ | 'Bits'
59
+ | 'Kilobits'
60
+ | 'Megabits'
61
+ | 'Gigabits'
62
+ | 'Terabits'
63
+ | 'Percent'
64
+ | 'Count'
65
+ | 'Bytes/Second'
66
+ | 'Kilobytes/Second'
67
+ | 'Megabytes/Second'
68
+ | 'Gigabytes/Second'
69
+ | 'Terabytes/Second'
70
+ | 'Bits/Second'
71
+ | 'Kilobits/Second'
72
+ | 'Megabits/Second'
73
+ | 'Gigabits/Second'
74
+ | 'Terabits/Second'
75
+ | 'Count/Second'
76
+ | 'None'
77
+ /**
78
+ * Metrics manager
79
+ */
80
+ export declare class MetricsManager {
81
+ private namespaces: Map<string, MetricNamespace>;
82
+ private metrics: Map<string, CustomMetric>;
83
+ private namespaceCounter: any;
84
+ private metricCounter: any;
85
+ private alarmCounter: any;
86
+ createNamespace(namespace: Omit<MetricNamespace, 'id'>): MetricNamespace;
87
+ createMetric(metric: Omit<CustomMetric, 'id'>): CustomMetric;
88
+ createBusinessMetric(options: {
89
+ name: string
90
+ namespace: string
91
+ unit: MetricUnit
92
+ description?: string
93
+ }): CustomMetric;
94
+ createApplicationMetric(options: {
95
+ name: string
96
+ namespace: string
97
+ unit: MetricUnit
98
+ serviceName: string
99
+ }): CustomMetric;
100
+ createPerformanceMetric(options: {
101
+ name: string
102
+ namespace: string
103
+ operation: string
104
+ }): CustomMetric;
105
+ createErrorMetric(options: {
106
+ name: string
107
+ namespace: string
108
+ errorType: string
109
+ }): CustomMetric;
110
+ createAlarm(metricId: string, alarm: Omit<MetricAlarm, 'id'>): MetricAlarm;
111
+ createErrorRateAlarm(options: {
112
+ metricId: string
113
+ name: string
114
+ threshold: number // errors per minute
115
+ snsTopicArn?: string
116
+ }): MetricAlarm;
117
+ createLatencyAlarm(options: {
118
+ metricId: string
119
+ name: string
120
+ thresholdMs: number
121
+ snsTopicArn?: string
122
+ }): MetricAlarm;
123
+ createThroughputAlarm(options: {
124
+ metricId: string
125
+ name: string
126
+ minimumThreshold: number
127
+ snsTopicArn?: string
128
+ }): MetricAlarm;
129
+ createCompositeAlarm(options: {
130
+ name: string
131
+ description?: string
132
+ alarmRule: string
133
+ actionsEnabled?: boolean
134
+ alarmActions?: string[]
135
+ }): any;
136
+ getNamespace(id: string): MetricNamespace | undefined;
137
+ listNamespaces(): MetricNamespace[];
138
+ getMetric(id: string): CustomMetric | undefined;
139
+ listMetrics(): CustomMetric[];
140
+ generateAlarmCF(metric: CustomMetric, alarm: MetricAlarm): any;
141
+ generateCompositeAlarmCF(alarm: any): any;
142
+ generateDashboardWidget(metric: CustomMetric): any;
143
+ publishCustomMetric(namespace: string, name: string, value: number, dimensions?: Record<string, string>, unit?: string): {
144
+ id: string
145
+ namespace: string
146
+ name: string
147
+ dimensions: Record<string, string>
148
+ value: number
149
+ unit: string
150
+ timestamp: Date
151
+ };
152
+ clear(): void;
153
+ }
File without changes
@@ -0,0 +1,146 @@
1
+ /**
2
+ * Global synthetics manager instance
3
+ */
4
+ export declare const syntheticsManager: SyntheticsManager;
5
+ /**
6
+ * Synthetic Monitoring
7
+ * CloudWatch Synthetics Canaries for proactive monitoring
8
+ */
9
+ export declare interface SyntheticCanary {
10
+ id: string
11
+ name: string
12
+ description?: string
13
+ runtimeVersion: string
14
+ handler: string
15
+ code: CanaryCode
16
+ schedule: CanarySchedule
17
+ runConfig?: CanaryRunConfig
18
+ vpcConfig?: VpcConfig
19
+ artifactS3Location: string
20
+ successRetentionPeriod?: number
21
+ failureRetentionPeriod?: number
22
+ alarms?: CanaryAlarm[]
23
+ }
24
+ export declare interface CanaryCode {
25
+ type: 'script' | 's3'
26
+ script?: string
27
+ s3Bucket?: string
28
+ s3Key?: string
29
+ s3Version?: string
30
+ }
31
+ export declare interface CanarySchedule {
32
+ expression: string
33
+ durationInSeconds?: number
34
+ }
35
+ export declare interface CanaryRunConfig {
36
+ timeoutInSeconds: number
37
+ memoryInMB: number
38
+ environmentVariables?: Record<string, string>
39
+ activeTracing?: boolean
40
+ }
41
+ export declare interface VpcConfig {
42
+ subnetIds: string[]
43
+ securityGroupIds: string[]
44
+ }
45
+ export declare interface CanaryAlarm {
46
+ id: string
47
+ name: string
48
+ metric: 'SuccessPercent' | 'Duration' | 'Failed'
49
+ threshold: number
50
+ evaluationPeriods: number
51
+ snsTopicArn?: string
52
+ }
53
+ export declare interface HeartbeatMonitor {
54
+ id: string
55
+ name: string
56
+ url: string
57
+ interval: number
58
+ timeout: number
59
+ expectedStatus?: number
60
+ }
61
+ export declare interface ApiMonitor {
62
+ id: string
63
+ name: string
64
+ baseUrl: string
65
+ endpoints: ApiEndpoint[]
66
+ headers?: Record<string, string>
67
+ interval: number
68
+ }
69
+ export declare interface ApiEndpoint {
70
+ path: string
71
+ method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'
72
+ expectedStatus: number
73
+ body?: any
74
+ assertions?: ApiAssertion[]
75
+ }
76
+ export declare interface ApiAssertion {
77
+ type: 'status' | 'header' | 'body' | 'latency'
78
+ field?: string
79
+ operator: 'equals' | 'contains' | 'lessThan' | 'greaterThan'
80
+ value: any
81
+ }
82
+ /**
83
+ * Workflow step interface
84
+ */
85
+ export declare interface WorkflowStep {
86
+ description: string
87
+ url: string
88
+ actions?: WorkflowAction[]
89
+ }
90
+ /**
91
+ * Workflow action interface
92
+ */
93
+ export declare interface WorkflowAction {
94
+ type: 'click' | 'type' | 'wait' | 'waitForSelector'
95
+ selector?: string
96
+ value?: string
97
+ duration?: number
98
+ }
99
+ /**
100
+ * Synthetics manager
101
+ */
102
+ export declare class SyntheticsManager {
103
+ private canaries: Map<string, SyntheticCanary>;
104
+ private heartbeats: Map<string, HeartbeatMonitor>;
105
+ private apiMonitors: Map<string, ApiMonitor>;
106
+ private canaryCounter: any;
107
+ private heartbeatCounter: any;
108
+ private apiMonitorCounter: any;
109
+ private alarmCounter: any;
110
+ static readonly RuntimeVersions: any;
111
+ createCanary(canary: Omit<SyntheticCanary, 'id'>): SyntheticCanary;
112
+ createHeartbeatCanary(options: {
113
+ name: string
114
+ url: string
115
+ interval: number // minutes
116
+ s3Bucket: string
117
+ }): SyntheticCanary;
118
+ createAPICanary(options: {
119
+ name: string
120
+ baseUrl: string
121
+ endpoints: ApiEndpoint[]
122
+ interval: number
123
+ s3Bucket: string
124
+ }): SyntheticCanary;
125
+ createVisualRegressionCanary(options: {
126
+ name: string
127
+ url: string
128
+ screenshotName: string
129
+ interval: number
130
+ s3Bucket: string
131
+ }): SyntheticCanary;
132
+ createWorkflowCanary(options: {
133
+ name: string
134
+ description: string
135
+ steps: WorkflowStep[]
136
+ interval: number
137
+ s3Bucket: string
138
+ }): SyntheticCanary;
139
+ private generateActionScript(action: WorkflowAction): string;
140
+ createAlarm(canaryId: string, alarm: Omit<CanaryAlarm, 'id'>): CanaryAlarm;
141
+ getCanary(id: string): SyntheticCanary | undefined;
142
+ listCanaries(): SyntheticCanary[];
143
+ generateCanaryCF(canary: SyntheticCanary): any;
144
+ generateCanaryRoleCF(): any;
145
+ clear(): void;
146
+ }
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Global X-Ray manager instance
3
+ */
4
+ export declare const xrayManager: XRayManager;
5
+ /**
6
+ * AWS X-Ray Integration
7
+ * Distributed tracing for microservices and serverless applications
8
+ */
9
+ export declare interface XRayConfig {
10
+ id: string
11
+ name: string
12
+ serviceName: string
13
+ samplingRate: number
14
+ enableActiveTracing: boolean
15
+ segmentDocuments?: SegmentDocument[]
16
+ }
17
+ export declare interface SegmentDocument {
18
+ id: string
19
+ name: string
20
+ startTime: number
21
+ endTime?: number
22
+ subsegments?: SubSegment[]
23
+ annotations?: Record<string, string | number | boolean>
24
+ metadata?: Record<string, any>
25
+ http?: HttpData
26
+ aws?: AWSData
27
+ error?: boolean
28
+ fault?: boolean
29
+ throttle?: boolean
30
+ }
31
+ export declare interface SubSegment {
32
+ id: string
33
+ name: string
34
+ startTime: number
35
+ endTime?: number
36
+ namespace?: 'aws' | 'remote'
37
+ http?: HttpData
38
+ sql?: SqlData
39
+ annotations?: Record<string, string | number | boolean>
40
+ metadata?: Record<string, any>
41
+ }
42
+ export declare interface HttpData {
43
+ request?: {
44
+ method?: string
45
+ url?: string
46
+ userAgent?: string
47
+ clientIp?: string
48
+ }
49
+ response?: {
50
+ status?: number
51
+ contentLength?: number
52
+ }
53
+ }
54
+ export declare interface AWSData {
55
+ accountId?: string
56
+ operation?: string
57
+ region?: string
58
+ requestId?: string
59
+ queueUrl?: string
60
+ tableName?: string
61
+ }
62
+ export declare interface SqlData {
63
+ url?: string
64
+ preparation?: 'statement' | 'call'
65
+ databaseType?: string
66
+ databaseVersion?: string
67
+ driverVersion?: string
68
+ user?: string
69
+ sanitizedQuery?: string
70
+ }
71
+ export declare interface SamplingRule {
72
+ id: string
73
+ ruleName: string
74
+ priority: number
75
+ fixedRate: number
76
+ reservoirSize: number
77
+ serviceName: string
78
+ serviceType: string
79
+ host: string
80
+ httpMethod: string
81
+ urlPath: string
82
+ version: number
83
+ }
84
+ /**
85
+ * X-Ray manager
86
+ */
87
+ export declare class XRayManager {
88
+ private configs: Map<string, XRayConfig>;
89
+ private samplingRules: Map<string, SamplingRule>;
90
+ private configCounter: any;
91
+ private ruleCounter: any;
92
+ createConfig(config: Omit<XRayConfig, 'id'>): XRayConfig;
93
+ createLambdaConfig(options: {
94
+ functionName: string
95
+ samplingRate?: number
96
+ }): XRayConfig;
97
+ createECSConfig(options: {
98
+ serviceName: string
99
+ clusterName: string
100
+ samplingRate?: number
101
+ }): XRayConfig;
102
+ createAPIGatewayConfig(options: {
103
+ apiName: string
104
+ stage: string
105
+ samplingRate?: number
106
+ }): XRayConfig;
107
+ createSamplingRule(rule: Omit<SamplingRule, 'id'>): SamplingRule;
108
+ createHighPrioritySamplingRule(options: {
109
+ ruleName: string
110
+ serviceName: string
111
+ urlPath: string
112
+ }): SamplingRule;
113
+ createErrorSamplingRule(serviceName: string): SamplingRule;
114
+ createDefaultSamplingRule(serviceName: string, samplingRate?: number): SamplingRule;
115
+ getConfig(id: string): XRayConfig | undefined;
116
+ listConfigs(): XRayConfig[];
117
+ getSamplingRule(id: string): SamplingRule | undefined;
118
+ listSamplingRules(): SamplingRule[];
119
+ generateLambdaXRayCF(config: XRayConfig): any;
120
+ generateAPIGatewayXRayCF(config: XRayConfig): any;
121
+ generateECSXRaySidecarCF(): any;
122
+ generateSamplingRuleCF(rule: SamplingRule): any;
123
+ createTrace(traceId: string, spans: Array<{ spanId: string; name: string; duration: number; tags: Record<string, any> }>): {
124
+ id: string
125
+ traceId: string
126
+ spans: Array<{ spanId: string; name: string; duration: number; tags: Record<string, any> }>
127
+ };
128
+ clear(): void;
129
+ }
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Call Analytics and Reporting
3
+ *
4
+ * Provides call metrics, reporting, and insights
5
+ */
6
+ export declare interface CallMetrics {
7
+ period: string
8
+ totalCalls: number
9
+ answeredCalls: number
10
+ missedCalls: number
11
+ abandonedCalls: number
12
+ voicemails: number
13
+ averageWaitTime: number
14
+ averageHandleTime: number
15
+ averageTalkTime: number
16
+ serviceLevel: number
17
+ abandonRate: number
18
+ answerRate: number
19
+ }
20
+ export declare interface AgentMetrics {
21
+ agentId: string
22
+ agentName: string
23
+ callsHandled: number
24
+ averageHandleTime: number
25
+ averageTalkTime: number
26
+ averageHoldTime: number
27
+ occupancy: number
28
+ availability: number
29
+ }
30
+ export declare interface QueueMetrics {
31
+ queueId: string
32
+ queueName: string
33
+ callsInQueue: number
34
+ oldestCallWaitTime: number
35
+ averageWaitTime: number
36
+ agentsAvailable: number
37
+ agentsOnCall: number
38
+ }
39
+ export declare interface CallInsight {
40
+ callId: string
41
+ sentiment: 'positive' | 'neutral' | 'negative'
42
+ topics: string[]
43
+ keywords: string[]
44
+ issues: string[]
45
+ resolution: boolean
46
+ customerSatisfaction?: number
47
+ }
48
+ /**
49
+ * Call Analytics Module
50
+ */
51
+ export declare class CallAnalytics {
52
+ static MetricsAggregatorCode: any;
53
+ static QueueMetricsCode: any;
54
+ static createMetricsTable(config: { slug: string }): Record<string, any>;
55
+ static createMetricsAggregatorLambda(config: {
56
+ slug: string
57
+ roleArn: string
58
+ callLogTable: string
59
+ metricsTable: string
60
+ }): Record<string, any>;
61
+ static createMetricsSchedule(config: {
62
+ slug: string
63
+ lambdaArn: string
64
+ }): Record<string, any>;
65
+ }
66
+ export default CallAnalytics;