@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,99 @@
1
+ /**
2
+ * Global container registry manager instance
3
+ */
4
+ export declare const containerRegistryManager: ContainerRegistryManager;
5
+ /**
6
+ * Private Container Registry
7
+ * ECR repository management and access control
8
+ */
9
+ export declare interface ContainerRegistry {
10
+ id: string
11
+ name: string
12
+ registryType: 'ecr' | 'dockerhub' | 'gcr' | 'acr'
13
+ repositoryUri: string
14
+ region?: string
15
+ encryption?: RegistryEncryption
16
+ scanning?: ScanningConfig
17
+ lifecycle?: LifecyclePolicy
18
+ replication?: ReplicationConfig
19
+ }
20
+ export declare interface RegistryEncryption {
21
+ encryptionType: 'AES256' | 'KMS'
22
+ kmsKeyId?: string
23
+ }
24
+ export declare interface ScanningConfig {
25
+ scanOnPush: boolean
26
+ scanFilters?: ScanFilter[]
27
+ }
28
+ export declare interface ScanFilter {
29
+ tagPattern: string
30
+ scanFrequency: 'on_push' | 'daily' | 'weekly'
31
+ }
32
+ export declare interface LifecyclePolicy {
33
+ id: string
34
+ rules: LifecycleRule[]
35
+ }
36
+ export declare interface LifecycleRule {
37
+ rulePriority: number
38
+ description: string
39
+ selection: {
40
+ tagStatus: 'tagged' | 'untagged' | 'any'
41
+ tagPrefixList?: string[]
42
+ countType: 'imageCountMoreThan' | 'sinceImagePushed'
43
+ countNumber: number
44
+ countUnit?: 'days'
45
+ }
46
+ action: {
47
+ type: 'expire'
48
+ }
49
+ }
50
+ export declare interface ReplicationConfig {
51
+ enabled: boolean
52
+ destinations: ReplicationDestination[]
53
+ rules?: ReplicationRule[]
54
+ }
55
+ export declare interface ReplicationDestination {
56
+ region: string
57
+ registryId?: string
58
+ }
59
+ export declare interface ReplicationRule {
60
+ repositoryFilter: string[]
61
+ destinations: ReplicationDestination[]
62
+ }
63
+ export declare interface RegistryCredentials {
64
+ id: string
65
+ registryId: string
66
+ username: string
67
+ passwordSecretArn: string
68
+ expiresAt?: Date
69
+ }
70
+ /**
71
+ * Container registry manager
72
+ */
73
+ export declare class ContainerRegistryManager {
74
+ private registries: Map<string, ContainerRegistry>;
75
+ private credentials: Map<string, RegistryCredentials>;
76
+ private registryCounter: any;
77
+ private credentialsCounter: any;
78
+ createRegistry(registry: Omit<ContainerRegistry, 'id'>): ContainerRegistry;
79
+ createECRRepository(options: {
80
+ name: string
81
+ region?: string
82
+ scanOnPush?: boolean
83
+ encryption?: 'AES256' | 'KMS'
84
+ kmsKeyId?: string
85
+ }): ContainerRegistry;
86
+ createManagedRepository(options: {
87
+ name: string
88
+ region?: string
89
+ maxImageCount?: number
90
+ maxImageAgeDays?: number
91
+ }): ContainerRegistry;
92
+ enableReplication(registryId: string, destinations: ReplicationDestination[]): ContainerRegistry;
93
+ createCredentials(credentials: Omit<RegistryCredentials, 'id'>): RegistryCredentials;
94
+ getRegistry(id: string): ContainerRegistry | undefined;
95
+ listRegistries(): ContainerRegistry[];
96
+ generateECRRepositoryCF(registry: ContainerRegistry): any;
97
+ generateReplicationConfigCF(replication: ReplicationConfig): any;
98
+ clear(): void;
99
+ }
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Global service mesh manager instance
3
+ */
4
+ export declare const serviceMeshManager: ServiceMeshManager;
5
+ /**
6
+ * Service Mesh Integration
7
+ * AWS App Mesh configuration for microservices
8
+ */
9
+ export declare interface ServiceMesh {
10
+ id: string
11
+ name: string
12
+ meshType: 'app_mesh' | 'istio' | 'linkerd'
13
+ services: MeshService[]
14
+ virtualNodes?: VirtualNode[]
15
+ virtualRouters?: VirtualRouter[]
16
+ virtualGateways?: VirtualGateway[]
17
+ }
18
+ export declare interface MeshService {
19
+ id: string
20
+ name: string
21
+ namespace: string
22
+ port: number
23
+ protocol: 'http' | 'http2' | 'grpc' | 'tcp'
24
+ backends?: string[]
25
+ healthCheck?: HealthCheck
26
+ }
27
+ export declare interface VirtualNode {
28
+ id: string
29
+ name: string
30
+ serviceName: string
31
+ listeners: Listener[]
32
+ backends?: Backend[]
33
+ serviceDiscovery: ServiceDiscovery
34
+ }
35
+ export declare interface Listener {
36
+ port: number
37
+ protocol: 'http' | 'http2' | 'grpc' | 'tcp'
38
+ healthCheck?: HealthCheck
39
+ timeout?: Timeout
40
+ tls?: TLSConfig
41
+ }
42
+ export declare interface HealthCheck {
43
+ protocol: 'http' | 'tcp' | 'grpc'
44
+ path?: string
45
+ port?: number
46
+ interval: number
47
+ timeout: number
48
+ healthyThreshold: number
49
+ unhealthyThreshold: number
50
+ }
51
+ export declare interface Timeout {
52
+ perRequest?: number
53
+ idle?: number
54
+ }
55
+ export declare interface TLSConfig {
56
+ mode: 'STRICT' | 'PERMISSIVE' | 'DISABLED'
57
+ certificate?: {
58
+ acm?: string
59
+ file?: {
60
+ certificateChain: string
61
+ privateKey: string
62
+ }
63
+ }
64
+ validation?: {
65
+ trust: {
66
+ acm?: string[]
67
+ file?: {
68
+ certificateChain: string
69
+ }
70
+ }
71
+ }
72
+ }
73
+ export declare interface Backend {
74
+ virtualServiceName: string
75
+ clientPolicy?: ClientPolicy
76
+ }
77
+ export declare interface ClientPolicy {
78
+ tls?: {
79
+ enforce: boolean
80
+ ports?: number[]
81
+ validation: {
82
+ trust: {
83
+ acm?: string[]
84
+ }
85
+ }
86
+ }
87
+ }
88
+ export declare interface ServiceDiscovery {
89
+ type: 'aws_cloud_map' | 'dns'
90
+ namespace?: string
91
+ serviceName?: string
92
+ hostname?: string
93
+ }
94
+ export declare interface VirtualRouter {
95
+ id: string
96
+ name: string
97
+ listeners: RouterListener[]
98
+ routes: Route[]
99
+ }
100
+ export declare interface RouterListener {
101
+ port: number
102
+ protocol: 'http' | 'http2' | 'grpc' | 'tcp'
103
+ }
104
+ export declare interface Route {
105
+ name: string
106
+ match: RouteMatch
107
+ action: RouteAction
108
+ priority?: number
109
+ retryPolicy?: RetryPolicy
110
+ }
111
+ export declare interface RouteMatch {
112
+ prefix?: string
113
+ path?: string
114
+ headers?: HeaderMatch[]
115
+ method?: string
116
+ }
117
+ export declare interface HeaderMatch {
118
+ name: string
119
+ match?: {
120
+ exact?: string
121
+ prefix?: string
122
+ suffix?: string
123
+ regex?: string
124
+ }
125
+ }
126
+ export declare interface RouteAction {
127
+ weightedTargets: WeightedTarget[]
128
+ }
129
+ export declare interface WeightedTarget {
130
+ virtualNode: string
131
+ weight: number
132
+ port?: number
133
+ }
134
+ export declare interface RetryPolicy {
135
+ maxRetries: number
136
+ perRetryTimeout: number
137
+ httpRetryEvents?: string[]
138
+ tcpRetryEvents?: string[]
139
+ }
140
+ export declare interface VirtualGateway {
141
+ id: string
142
+ name: string
143
+ listeners: GatewayListener[]
144
+ logging?: {
145
+ accessLog?: {
146
+ file?: {
147
+ path: string
148
+ }
149
+ }
150
+ }
151
+ }
152
+ export declare interface GatewayListener {
153
+ port: number
154
+ protocol: 'http' | 'http2' | 'grpc'
155
+ healthCheck?: HealthCheck
156
+ tls?: TLSConfig
157
+ }
158
+ /**
159
+ * Service mesh manager
160
+ */
161
+ export declare class ServiceMeshManager {
162
+ private meshes: Map<string, ServiceMesh>;
163
+ private virtualNodes: Map<string, VirtualNode>;
164
+ private virtualRouters: Map<string, VirtualRouter>;
165
+ private virtualGateways: Map<string, VirtualGateway>;
166
+ private meshCounter: any;
167
+ private nodeCounter: any;
168
+ private routerCounter: any;
169
+ private gatewayCounter: any;
170
+ createMesh(mesh: Omit<ServiceMesh, 'id'>): ServiceMesh;
171
+ createAppMesh(options: {
172
+ name: string
173
+ services: MeshService[]
174
+ }): ServiceMesh;
175
+ createVirtualNode(node: Omit<VirtualNode, 'id'>): VirtualNode;
176
+ createHTTPVirtualNode(options: {
177
+ name: string
178
+ serviceName: string
179
+ port: number
180
+ namespace: string
181
+ }): VirtualNode;
182
+ createVirtualRouter(router: Omit<VirtualRouter, 'id'>): VirtualRouter;
183
+ createCanaryRoute(options: {
184
+ name: string
185
+ port: number
186
+ protocol: 'http' | 'http2' | 'grpc'
187
+ stableTarget: string
188
+ canaryTarget: string
189
+ canaryWeight: number // 0-100
190
+ }): VirtualRouter;
191
+ createVirtualGateway(gateway: Omit<VirtualGateway, 'id'>): VirtualGateway;
192
+ createIngressGateway(options: {
193
+ name: string
194
+ port: number
195
+ enableTLS?: boolean
196
+ certificateArn?: string
197
+ }): VirtualGateway;
198
+ getMesh(id: string): ServiceMesh | undefined;
199
+ listMeshes(): ServiceMesh[];
200
+ getVirtualNode(id: string): VirtualNode | undefined;
201
+ listVirtualNodes(): VirtualNode[];
202
+ generateMeshCF(mesh: ServiceMesh): any;
203
+ generateVirtualNodeCF(node: VirtualNode, meshName: string): any;
204
+ generateVirtualRouterCF(router: VirtualRouter, meshName: string): any;
205
+ clear(): void;
206
+ }
File without changes
@@ -0,0 +1,4 @@
1
+ export * from './migrations';
2
+ export * from './replicas';
3
+ export * from './performance';
4
+ export * from './users';
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Global migration manager instance
3
+ */
4
+ export declare const migrationManager: MigrationManager;
5
+ /**
6
+ * Database Migration Management
7
+ * Version-controlled schema changes with rollback support
8
+ */
9
+ export declare interface Migration {
10
+ id: string
11
+ version: string
12
+ name: string
13
+ description?: string
14
+ up: string
15
+ down: string
16
+ checksum: string
17
+ appliedAt?: Date
18
+ rolledBackAt?: Date
19
+ executionTimeMs?: number
20
+ }
21
+ export declare interface MigrationPlan {
22
+ id: string
23
+ name: string
24
+ database: DatabaseTarget
25
+ migrations: Migration[]
26
+ autoApply?: boolean
27
+ backupBeforeMigration?: boolean
28
+ testMigrations?: boolean
29
+ validateRollback?: boolean
30
+ }
31
+ export declare interface DatabaseTarget {
32
+ type: 'rds' | 'aurora' | 'dynamodb'
33
+ identifier: string
34
+ engine?: 'postgres' | 'mysql' | 'mariadb'
35
+ endpoint?: string
36
+ database?: string
37
+ }
38
+ export declare interface MigrationResult {
39
+ success: boolean
40
+ version: string
41
+ appliedMigrations: string[]
42
+ failedMigrations: string[]
43
+ executionTimeMs: number
44
+ error?: string
45
+ rollbackPerformed?: boolean
46
+ }
47
+ export declare interface MigrationStatus {
48
+ currentVersion: string
49
+ pendingMigrations: Migration[]
50
+ appliedMigrations: Migration[]
51
+ lastMigration?: Migration
52
+ }
53
+ /**
54
+ * Schema change types
55
+ */
56
+ export declare interface SchemaChange {
57
+ type: 'add_column' | 'drop_column' | 'modify_column' | 'add_index' | 'drop_index'
58
+ columnName?: string
59
+ columnType?: string
60
+ newType?: string
61
+ nullable?: boolean
62
+ defaultValue?: string
63
+ indexName?: string
64
+ columns?: string[]
65
+ }
66
+ /**
67
+ * Migration manager
68
+ */
69
+ export declare class MigrationManager {
70
+ private plans: Map<string, MigrationPlan>;
71
+ private migrations: Map<string, Migration>;
72
+ private planCounter: any;
73
+ private migrationCounter: any;
74
+ createPlan(plan: Omit<MigrationPlan, 'id'>): MigrationPlan;
75
+ createMigration(migration: Omit<Migration, 'id' | 'checksum'>): Migration;
76
+ createSchemaMigration(options: {
77
+ version: string
78
+ name: string
79
+ tableName: string
80
+ changes: SchemaChange[]
81
+ engine?: 'postgres' | 'mysql'
82
+ }): Migration;
83
+ createDataMigration(options: {
84
+ version: string
85
+ name: string
86
+ description?: string
87
+ upSQL: string
88
+ downSQL: string
89
+ }): Migration;
90
+ addMigrationToPlan(planId: string, migration: Migration): void;
91
+ executePlan(planId: string, dryRun?: boolean): Promise<MigrationResult>;
92
+ private rollbackMigrations(versions: string[], plan: MigrationPlan): Promise<void>;
93
+ getMigrationStatus(planId: string): MigrationStatus;
94
+ private generateSchemaSQL(changes: SchemaChange[], tableName: string, engine?: 'postgres' | 'mysql'): { up: string; down: string };
95
+ private generateChecksum(content: string): string;
96
+ validatePlan(planId: string): { valid: boolean; errors: string[] };
97
+ getPlan(id: string): MigrationPlan | undefined;
98
+ listPlans(): MigrationPlan[];
99
+ getMigration(id: string): Migration | undefined;
100
+ listMigrations(): Migration[];
101
+ clear(): void;
102
+ }
@@ -0,0 +1,168 @@
1
+ /**
2
+ * Global performance manager instance
3
+ */
4
+ export declare const performanceManager: PerformanceManager;
5
+ /**
6
+ * Database Performance Monitoring
7
+ * Query performance insights, slow query detection, and optimization
8
+ */
9
+ export declare interface PerformanceInsights {
10
+ id: string
11
+ name: string
12
+ databaseIdentifier: string
13
+ enabled: boolean
14
+ retentionPeriod: number
15
+ kmsKeyId?: string
16
+ }
17
+ export declare interface SlowQueryLog {
18
+ id: string
19
+ name: string
20
+ databaseIdentifier: string
21
+ enabled: boolean
22
+ logDestination: 'cloudwatch' | 's3'
23
+ cloudwatchLogGroup?: string
24
+ s3Bucket?: string
25
+ s3Prefix?: string
26
+ minExecutionTime?: number
27
+ }
28
+ export declare interface QueryMetric {
29
+ id: string
30
+ queryId: string
31
+ sql: string
32
+ executionCount: number
33
+ avgExecutionTime: number
34
+ maxExecutionTime: number
35
+ minExecutionTime: number
36
+ totalCPUTime: number
37
+ totalIOWait: number
38
+ totalLockWait: number
39
+ rowsExamined: number
40
+ rowsReturned: number
41
+ timestamp: Date
42
+ }
43
+ export declare interface PerformanceReport {
44
+ id: string
45
+ name: string
46
+ databaseIdentifier: string
47
+ reportType: 'daily' | 'weekly' | 'monthly'
48
+ metrics: PerformanceMetrics
49
+ topQueries: QueryMetric[]
50
+ slowQueries: QueryMetric[]
51
+ recommendations: PerformanceRecommendation[]
52
+ generatedAt: Date
53
+ }
54
+ export declare interface PerformanceMetrics {
55
+ avgCPU: number
56
+ maxCPU: number
57
+ avgConnections: number
58
+ maxConnections: number
59
+ avgReadIOPS: number
60
+ avgWriteIOPS: number
61
+ avgReadThroughput: number
62
+ avgWriteThroughput: number
63
+ avgReadLatency: number
64
+ avgWriteLatency: number
65
+ cacheHitRatio: number
66
+ deadlocks: number
67
+ longRunningTransactions: number
68
+ }
69
+ export declare interface PerformanceRecommendation {
70
+ type: 'index' | 'query' | 'schema' | 'configuration' | 'scaling'
71
+ severity: 'high' | 'medium' | 'low'
72
+ title: string
73
+ description: string
74
+ impact: string
75
+ effort: 'low' | 'medium' | 'high'
76
+ sqlExample?: string
77
+ }
78
+ export declare interface IndexRecommendation {
79
+ id: string
80
+ tableName: string
81
+ columns: string[]
82
+ reason: string
83
+ estimatedImprovement: number
84
+ estimatedSize: number
85
+ createSQL: string
86
+ }
87
+ export declare interface QueryAnalysis {
88
+ id: string
89
+ queryId: string
90
+ sql: string
91
+ executionPlan: ExecutionPlanNode[]
92
+ bottlenecks: Bottleneck[]
93
+ recommendations: string[]
94
+ estimatedCost: number
95
+ }
96
+ export declare interface ExecutionPlanNode {
97
+ id: number
98
+ operation: string
99
+ table?: string
100
+ rows: number
101
+ cost: number
102
+ children?: ExecutionPlanNode[]
103
+ }
104
+ export declare interface Bottleneck {
105
+ type: 'full_table_scan' | 'missing_index' | 'suboptimal_join' | 'high_cardinality'
106
+ severity: 'critical' | 'warning' | 'info'
107
+ description: string
108
+ tableName?: string
109
+ columnName?: string
110
+ }
111
+ /**
112
+ * Performance manager
113
+ */
114
+ export declare class PerformanceManager {
115
+ private insights: Map<string, PerformanceInsights>;
116
+ private slowQueryLogs: Map<string, SlowQueryLog>;
117
+ private queryMetrics: Map<string, QueryMetric>;
118
+ private reports: Map<string, PerformanceReport>;
119
+ private indexRecommendations: Map<string, IndexRecommendation>;
120
+ private insightsCounter: any;
121
+ private logCounter: any;
122
+ private metricCounter: any;
123
+ private reportCounter: any;
124
+ private recommendationCounter: any;
125
+ enablePerformanceInsights(options: {
126
+ name: string
127
+ databaseIdentifier: string
128
+ retentionPeriod?: number
129
+ kmsKeyId?: string
130
+ }): PerformanceInsights;
131
+ enableSlowQueryLog(options: {
132
+ name: string
133
+ databaseIdentifier: string
134
+ logDestination: 'cloudwatch' | 's3'
135
+ cloudwatchLogGroup?: string
136
+ s3Bucket?: string
137
+ minExecutionTime?: number
138
+ }): SlowQueryLog;
139
+ recordQueryMetric(metric: Omit<QueryMetric, 'id' | 'timestamp'>): QueryMetric;
140
+ generatePerformanceReport(options: {
141
+ name: string
142
+ databaseIdentifier: string
143
+ reportType: 'daily' | 'weekly' | 'monthly'
144
+ }): PerformanceReport;
145
+ private generateRecommendations(metrics: PerformanceMetrics, slowQueries: QueryMetric[]): PerformanceRecommendation[];
146
+ analyzeQuery(sql: string): QueryAnalysis;
147
+ recommendIndex(options: {
148
+ tableName: string
149
+ columns: string[]
150
+ reason: string
151
+ estimatedImprovement?: number
152
+ }): IndexRecommendation;
153
+ getInsights(id: string): PerformanceInsights | undefined;
154
+ listInsights(): PerformanceInsights[];
155
+ getSlowQueryLog(id: string): SlowQueryLog | undefined;
156
+ listSlowQueryLogs(): SlowQueryLog[];
157
+ getReport(id: string): PerformanceReport | undefined;
158
+ listReports(): PerformanceReport[];
159
+ listIndexRecommendations(): IndexRecommendation[];
160
+ generatePerformanceInsightsCF(insights: PerformanceInsights): any;
161
+ generateSlowQueryAlarmCF(options: {
162
+ alarmName: string
163
+ logGroupName: string
164
+ threshold: number
165
+ snsTopicArn?: string
166
+ }): any;
167
+ clear(): void;
168
+ }