@stacksjs/ts-cloud 0.1.3 → 0.1.6

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 (187) hide show
  1. package/README.md +98 -13
  2. package/dist/aws/acm.d.ts +129 -0
  3. package/dist/aws/application-autoscaling.d.ts +282 -0
  4. package/dist/aws/bedrock.d.ts +2292 -0
  5. package/dist/aws/client.d.ts +79 -0
  6. package/dist/aws/cloudformation.d.ts +105 -0
  7. package/dist/aws/cloudfront.d.ts +265 -0
  8. package/dist/aws/cloudwatch-logs.d.ts +48 -0
  9. package/dist/aws/comprehend.d.ts +505 -0
  10. package/dist/aws/connect.d.ts +377 -0
  11. package/dist/aws/deploy-imap.d.ts +14 -0
  12. package/dist/aws/dynamodb.d.ts +176 -0
  13. package/dist/aws/ec2.d.ts +272 -0
  14. package/dist/aws/ecr.d.ts +149 -0
  15. package/dist/aws/ecs.d.ts +162 -0
  16. package/dist/aws/elasticache.d.ts +71 -0
  17. package/dist/aws/elbv2.d.ts +248 -0
  18. package/dist/aws/email.d.ts +175 -0
  19. package/dist/aws/eventbridge.d.ts +142 -0
  20. package/dist/aws/iam.d.ts +638 -0
  21. package/dist/aws/imap-server.d.ts +119 -0
  22. package/{src/aws/index.ts → dist/aws/index.d.ts} +62 -83
  23. package/{src/aws/kendra.ts → dist/aws/kendra.d.ts} +71 -386
  24. package/dist/aws/lambda.d.ts +232 -0
  25. package/dist/aws/opensearch.d.ts +87 -0
  26. package/dist/aws/personalize.d.ts +516 -0
  27. package/dist/aws/polly.d.ts +214 -0
  28. package/dist/aws/rds.d.ts +240 -0
  29. package/dist/aws/rekognition.d.ts +543 -0
  30. package/dist/aws/route53-domains.d.ts +113 -0
  31. package/dist/aws/route53.d.ts +215 -0
  32. package/dist/aws/s3.d.ts +212 -0
  33. package/dist/aws/scheduler.d.ts +140 -0
  34. package/dist/aws/secrets-manager.d.ts +170 -0
  35. package/dist/aws/ses.d.ts +288 -0
  36. package/dist/aws/setup-phone.d.ts +0 -0
  37. package/dist/aws/setup-sms.d.ts +115 -0
  38. package/dist/aws/sms.d.ts +304 -0
  39. package/dist/aws/smtp-server.d.ts +61 -0
  40. package/dist/aws/sns.d.ts +117 -0
  41. package/dist/aws/sqs.d.ts +65 -0
  42. package/dist/aws/ssm.d.ts +179 -0
  43. package/dist/aws/sts.d.ts +15 -0
  44. package/dist/aws/support.d.ts +104 -0
  45. package/dist/aws/test-imap.d.ts +0 -0
  46. package/dist/aws/textract.d.ts +403 -0
  47. package/dist/aws/transcribe.d.ts +60 -0
  48. package/dist/aws/translate.d.ts +358 -0
  49. package/dist/aws/voice.d.ts +219 -0
  50. package/dist/bin/cli.js +1724 -0
  51. package/dist/config.d.ts +7 -0
  52. package/dist/deploy/index.d.ts +2 -0
  53. package/dist/deploy/static-site-external-dns.d.ts +51 -0
  54. package/dist/deploy/static-site.d.ts +71 -0
  55. package/dist/dns/cloudflare.d.ts +52 -0
  56. package/dist/dns/godaddy.d.ts +38 -0
  57. package/dist/dns/index.d.ts +45 -0
  58. package/dist/dns/porkbun.d.ts +18 -0
  59. package/dist/dns/route53-adapter.d.ts +38 -0
  60. package/{src/dns/types.ts → dist/dns/types.d.ts} +26 -63
  61. package/dist/dns/validator.d.ts +78 -0
  62. package/dist/generators/index.d.ts +1 -0
  63. package/dist/generators/infrastructure.d.ts +30 -0
  64. package/{src/index.ts → dist/index.d.ts} +70 -93
  65. package/dist/index.js +7881 -0
  66. package/dist/push/apns.d.ts +60 -0
  67. package/dist/push/fcm.d.ts +117 -0
  68. package/dist/push/index.d.ts +14 -0
  69. package/dist/security/pre-deploy-scanner.d.ts +69 -0
  70. package/dist/ssl/acme-client.d.ts +67 -0
  71. package/dist/ssl/index.d.ts +2 -0
  72. package/dist/ssl/letsencrypt.d.ts +48 -0
  73. package/dist/types.d.ts +1 -0
  74. package/dist/utils/cli.d.ts +123 -0
  75. package/dist/validation/index.d.ts +1 -0
  76. package/dist/validation/template.d.ts +23 -0
  77. package/package.json +8 -8
  78. package/bin/cli.ts +0 -133
  79. package/bin/commands/analytics.ts +0 -328
  80. package/bin/commands/api.ts +0 -379
  81. package/bin/commands/assets.ts +0 -221
  82. package/bin/commands/audit.ts +0 -501
  83. package/bin/commands/backup.ts +0 -682
  84. package/bin/commands/cache.ts +0 -294
  85. package/bin/commands/cdn.ts +0 -281
  86. package/bin/commands/config.ts +0 -202
  87. package/bin/commands/container.ts +0 -105
  88. package/bin/commands/cost.ts +0 -208
  89. package/bin/commands/database.ts +0 -401
  90. package/bin/commands/deploy.ts +0 -674
  91. package/bin/commands/domain.ts +0 -397
  92. package/bin/commands/email.ts +0 -423
  93. package/bin/commands/environment.ts +0 -285
  94. package/bin/commands/events.ts +0 -424
  95. package/bin/commands/firewall.ts +0 -145
  96. package/bin/commands/function.ts +0 -116
  97. package/bin/commands/generate.ts +0 -280
  98. package/bin/commands/git.ts +0 -139
  99. package/bin/commands/iam.ts +0 -464
  100. package/bin/commands/index.ts +0 -48
  101. package/bin/commands/init.ts +0 -120
  102. package/bin/commands/logs.ts +0 -148
  103. package/bin/commands/network.ts +0 -579
  104. package/bin/commands/notify.ts +0 -489
  105. package/bin/commands/queue.ts +0 -407
  106. package/bin/commands/scheduler.ts +0 -370
  107. package/bin/commands/secrets.ts +0 -54
  108. package/bin/commands/server.ts +0 -629
  109. package/bin/commands/shared.ts +0 -97
  110. package/bin/commands/ssl.ts +0 -138
  111. package/bin/commands/stack.ts +0 -325
  112. package/bin/commands/status.ts +0 -385
  113. package/bin/commands/storage.ts +0 -450
  114. package/bin/commands/team.ts +0 -96
  115. package/bin/commands/tunnel.ts +0 -489
  116. package/bin/commands/utils.ts +0 -202
  117. package/build.ts +0 -15
  118. package/cloud +0 -2
  119. package/src/aws/acm.ts +0 -768
  120. package/src/aws/application-autoscaling.ts +0 -845
  121. package/src/aws/bedrock.ts +0 -4074
  122. package/src/aws/client.ts +0 -878
  123. package/src/aws/cloudformation.ts +0 -896
  124. package/src/aws/cloudfront.ts +0 -1531
  125. package/src/aws/cloudwatch-logs.ts +0 -154
  126. package/src/aws/comprehend.ts +0 -839
  127. package/src/aws/connect.ts +0 -1056
  128. package/src/aws/deploy-imap.ts +0 -384
  129. package/src/aws/dynamodb.ts +0 -340
  130. package/src/aws/ec2.ts +0 -1385
  131. package/src/aws/ecr.ts +0 -621
  132. package/src/aws/ecs.ts +0 -615
  133. package/src/aws/elasticache.ts +0 -301
  134. package/src/aws/elbv2.ts +0 -942
  135. package/src/aws/email.ts +0 -928
  136. package/src/aws/eventbridge.ts +0 -248
  137. package/src/aws/iam.ts +0 -1689
  138. package/src/aws/imap-server.ts +0 -2100
  139. package/src/aws/lambda.ts +0 -786
  140. package/src/aws/opensearch.ts +0 -158
  141. package/src/aws/personalize.ts +0 -977
  142. package/src/aws/polly.ts +0 -559
  143. package/src/aws/rds.ts +0 -888
  144. package/src/aws/rekognition.ts +0 -846
  145. package/src/aws/route53-domains.ts +0 -359
  146. package/src/aws/route53.ts +0 -1046
  147. package/src/aws/s3.ts +0 -2318
  148. package/src/aws/scheduler.ts +0 -571
  149. package/src/aws/secrets-manager.ts +0 -769
  150. package/src/aws/ses.ts +0 -1081
  151. package/src/aws/setup-phone.ts +0 -104
  152. package/src/aws/setup-sms.ts +0 -580
  153. package/src/aws/sms.ts +0 -1735
  154. package/src/aws/smtp-server.ts +0 -531
  155. package/src/aws/sns.ts +0 -758
  156. package/src/aws/sqs.ts +0 -382
  157. package/src/aws/ssm.ts +0 -807
  158. package/src/aws/sts.ts +0 -92
  159. package/src/aws/support.ts +0 -391
  160. package/src/aws/test-imap.ts +0 -86
  161. package/src/aws/textract.ts +0 -780
  162. package/src/aws/transcribe.ts +0 -108
  163. package/src/aws/translate.ts +0 -641
  164. package/src/aws/voice.ts +0 -1379
  165. package/src/config.ts +0 -35
  166. package/src/deploy/index.ts +0 -7
  167. package/src/deploy/static-site-external-dns.ts +0 -906
  168. package/src/deploy/static-site.ts +0 -1125
  169. package/src/dns/godaddy.ts +0 -412
  170. package/src/dns/index.ts +0 -183
  171. package/src/dns/porkbun.ts +0 -362
  172. package/src/dns/route53-adapter.ts +0 -414
  173. package/src/dns/validator.ts +0 -369
  174. package/src/generators/index.ts +0 -5
  175. package/src/generators/infrastructure.ts +0 -1660
  176. package/src/push/apns.ts +0 -452
  177. package/src/push/fcm.ts +0 -506
  178. package/src/push/index.ts +0 -58
  179. package/src/ssl/acme-client.ts +0 -478
  180. package/src/ssl/index.ts +0 -7
  181. package/src/ssl/letsencrypt.ts +0 -747
  182. package/src/types.ts +0 -2
  183. package/src/utils/cli.ts +0 -398
  184. package/src/validation/index.ts +0 -5
  185. package/src/validation/template.ts +0 -405
  186. package/test/index.test.ts +0 -128
  187. package/tsconfig.json +0 -18
@@ -0,0 +1,377 @@
1
+ import { AWSClient } from './client';
2
+ export declare interface ConnectInstance {
3
+ Id?: string
4
+ Arn?: string
5
+ IdentityManagementType?: 'SAML' | 'CONNECT_MANAGED' | 'EXISTING_DIRECTORY'
6
+ InstanceAlias?: string
7
+ CreatedTime?: string
8
+ ServiceRole?: string
9
+ InstanceStatus?: 'CREATION_IN_PROGRESS' | 'ACTIVE' | 'CREATION_FAILED'
10
+ InboundCallsEnabled?: boolean
11
+ OutboundCallsEnabled?: boolean
12
+ }
13
+ export declare interface PhoneNumber {
14
+ PhoneNumberId?: string
15
+ PhoneNumberArn?: string
16
+ PhoneNumber?: string
17
+ PhoneNumberCountryCode?: string
18
+ PhoneNumberType?: 'TOLL_FREE' | 'DID' | 'UIFN' | 'SHARED' | 'THIRD_PARTY_TF' | 'THIRD_PARTY_DID'
19
+ PhoneNumberDescription?: string
20
+ TargetArn?: string
21
+ InstanceId?: string
22
+ Tags?: Record<string, string>
23
+ }
24
+ export declare interface ContactFlow {
25
+ Id?: string
26
+ Arn?: string
27
+ Name?: string
28
+ Type?: 'CONTACT_FLOW' | 'CUSTOMER_QUEUE' | 'CUSTOMER_HOLD' | 'CUSTOMER_WHISPER' | 'AGENT_HOLD' | 'AGENT_WHISPER' | 'OUTBOUND_WHISPER' | 'AGENT_TRANSFER' | 'QUEUE_TRANSFER'
29
+ State?: 'ACTIVE' | 'ARCHIVED'
30
+ Description?: string
31
+ Content?: string
32
+ Tags?: Record<string, string>
33
+ }
34
+ export declare interface Queue {
35
+ QueueId?: string
36
+ QueueArn?: string
37
+ Name?: string
38
+ Description?: string
39
+ HoursOfOperationId?: string
40
+ MaxContacts?: number
41
+ Status?: 'ENABLED' | 'DISABLED'
42
+ Tags?: Record<string, string>
43
+ }
44
+ export declare interface AvailablePhoneNumber {
45
+ PhoneNumber?: string
46
+ PhoneNumberCountryCode?: string
47
+ PhoneNumberType?: string
48
+ }
49
+ /**
50
+ * Amazon Connect client for phone/voice operations
51
+ */
52
+ export declare class ConnectClient {
53
+ private client: AWSClient;
54
+ private region: string;
55
+ constructor(region?: string);
56
+ createInstance(params: {
57
+ InstanceAlias: string
58
+ IdentityManagementType?: 'SAML' | 'CONNECT_MANAGED' | 'EXISTING_DIRECTORY'
59
+ InboundCallsEnabled?: boolean
60
+ OutboundCallsEnabled?: boolean
61
+ DirectoryId?: string
62
+ ClientToken?: string
63
+ Tags?: Record<string, string>
64
+ }): Promise<{ Id?: string, Arn?: string }>;
65
+ deleteInstance(instanceId: string): Promise<void>;
66
+ describeInstance(instanceId: string): Promise<ConnectInstance>;
67
+ listInstances(params?: {
68
+ MaxResults?: number
69
+ NextToken?: string
70
+ }): Promise<{ InstanceSummaryList?: ConnectInstance[], NextToken?: string }>;
71
+ searchAvailablePhoneNumbers(params: {
72
+ TargetArn: string
73
+ PhoneNumberCountryCode: string
74
+ PhoneNumberType: 'TOLL_FREE' | 'DID' | 'UIFN'
75
+ PhoneNumberPrefix?: string
76
+ MaxResults?: number
77
+ NextToken?: string
78
+ }): Promise<{ AvailableNumbersList?: AvailablePhoneNumber[], NextToken?: string }>;
79
+ claimPhoneNumber(params: {
80
+ TargetArn: string
81
+ PhoneNumber: string
82
+ PhoneNumberDescription?: string
83
+ Tags?: Record<string, string>
84
+ ClientToken?: string
85
+ }): Promise<{ PhoneNumberId?: string, PhoneNumberArn?: string }>;
86
+ releasePhoneNumber(phoneNumberId: string, clientToken?: string): Promise<void>;
87
+ listPhoneNumbers(params: {
88
+ TargetArn?: string
89
+ InstanceId?: string
90
+ PhoneNumberTypes?: string[]
91
+ PhoneNumberCountryCodes?: string[]
92
+ MaxResults?: number
93
+ NextToken?: string
94
+ }): Promise<{ ListPhoneNumbersSummaryList?: PhoneNumber[], NextToken?: string }>;
95
+ createContactFlow(params: {
96
+ InstanceId: string
97
+ Name: string
98
+ Type: 'CONTACT_FLOW' | 'CUSTOMER_QUEUE' | 'CUSTOMER_HOLD' | 'CUSTOMER_WHISPER' | 'AGENT_HOLD' | 'AGENT_WHISPER' | 'OUTBOUND_WHISPER' | 'AGENT_TRANSFER' | 'QUEUE_TRANSFER'
99
+ Content: string
100
+ Description?: string
101
+ Tags?: Record<string, string>
102
+ }): Promise<{ ContactFlowId?: string, ContactFlowArn?: string }>;
103
+ updateContactFlowContent(params: {
104
+ InstanceId: string
105
+ ContactFlowId: string
106
+ Content: string
107
+ }): Promise<void>;
108
+ listContactFlows(params: {
109
+ InstanceId: string
110
+ ContactFlowTypes?: string[]
111
+ MaxResults?: number
112
+ NextToken?: string
113
+ }): Promise<{ ContactFlowSummaryList?: ContactFlow[], NextToken?: string }>;
114
+ createQueue(params: {
115
+ InstanceId: string
116
+ Name: string
117
+ Description?: string
118
+ HoursOfOperationId: string
119
+ MaxContacts?: number
120
+ OutboundCallerConfig?: {
121
+ OutboundCallerIdName?: string
122
+ OutboundCallerIdNumberId?: string
123
+ OutboundFlowId?: string
124
+ }
125
+ Tags?: Record<string, string>
126
+ }): Promise<{ QueueId?: string, QueueArn?: string }>;
127
+ createHoursOfOperation(params: {
128
+ InstanceId: string
129
+ Name: string
130
+ TimeZone: string
131
+ Config: Array<{
132
+ Day: 'SUNDAY' | 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY'
133
+ StartTime: { Hours: number, Minutes: number }
134
+ EndTime: { Hours: number, Minutes: number }
135
+ }>
136
+ Description?: string
137
+ Tags?: Record<string, string>
138
+ }): Promise<{ HoursOfOperationId?: string, HoursOfOperationArn?: string }>;
139
+ associatePhoneNumberContactFlow(params: {
140
+ PhoneNumberId: string
141
+ InstanceId: string
142
+ ContactFlowId: string
143
+ }): Promise<void>;
144
+ createRoutingProfile(params: {
145
+ InstanceId: string
146
+ Name: string
147
+ Description?: string
148
+ DefaultOutboundQueueId: string
149
+ MediaConcurrencies: Array<{
150
+ Channel: 'VOICE' | 'CHAT' | 'TASK'
151
+ Concurrency: number
152
+ CrossChannelBehavior?: {
153
+ BehaviorType: 'ROUTE_CURRENT_CHANNEL_ONLY' | 'ROUTE_ANY_CHANNEL'
154
+ }
155
+ }>
156
+ QueueConfigs?: Array<{
157
+ QueueReference: {
158
+ QueueId: string
159
+ Channel: 'VOICE' | 'CHAT' | 'TASK'
160
+ }
161
+ Priority: number
162
+ Delay: number
163
+ }>
164
+ Tags?: Record<string, string>
165
+ }): Promise<{ RoutingProfileId?: string, RoutingProfileArn?: string }>;
166
+ instanceExists(instanceAlias: string): Promise<boolean>;
167
+ startOutboundVoiceContact(params: {
168
+ InstanceId: string
169
+ ContactFlowId: string
170
+ DestinationPhoneNumber: string
171
+ SourcePhoneNumber?: string
172
+ QueueId?: string
173
+ Attributes?: Record<string, string>
174
+ AnswerMachineDetectionConfig?: {
175
+ EnableAnswerMachineDetection?: boolean
176
+ AwaitAnswerMachinePrompt?: boolean
177
+ }
178
+ CampaignId?: string
179
+ TrafficType?: 'GENERAL' | 'CAMPAIGN'
180
+ ClientToken?: string
181
+ }): Promise<{ ContactId?: string }>;
182
+ makeCall(params: {
183
+ instanceId: string
184
+ contactFlowId: string
185
+ to: string
186
+ from?: string
187
+ attributes?: Record<string, string>
188
+ }): Promise<{ ContactId?: string }>;
189
+ stopContact(params: {
190
+ InstanceId: string
191
+ ContactId: string
192
+ }): Promise<void>;
193
+ describeContact(params: {
194
+ InstanceId: string
195
+ ContactId: string
196
+ }): Promise<{
197
+ Contact?: {
198
+ Arn?: string
199
+ Id?: string
200
+ InitialContactId?: string
201
+ PreviousContactId?: string
202
+ InitiationMethod?: 'INBOUND' | 'OUTBOUND' | 'TRANSFER' | 'QUEUE_TRANSFER' | 'CALLBACK' | 'API' | 'DISCONNECT' | 'MONITOR' | 'EXTERNAL_OUTBOUND'
203
+ Name?: string
204
+ Description?: string
205
+ Channel?: 'VOICE' | 'CHAT' | 'TASK'
206
+ QueueInfo?: {
207
+ Id?: string
208
+ EnqueueTimestamp?: string
209
+ }
210
+ AgentInfo?: {
211
+ Id?: string
212
+ ConnectedToAgentTimestamp?: string
213
+ }
214
+ InitiationTimestamp?: string
215
+ DisconnectTimestamp?: string
216
+ ScheduledTimestamp?: string
217
+ }
218
+ }>;
219
+ updateContactAttributes(params: {
220
+ InstanceId: string
221
+ InitialContactId: string
222
+ Attributes: Record<string, string>
223
+ }): Promise<void>;
224
+ createUser(params: {
225
+ InstanceId: string
226
+ Username: string
227
+ Password?: string
228
+ IdentityInfo?: {
229
+ FirstName?: string
230
+ LastName?: string
231
+ Email?: string
232
+ SecondaryEmail?: string
233
+ Mobile?: string
234
+ }
235
+ PhoneConfig: {
236
+ PhoneType: 'SOFT_PHONE' | 'DESK_PHONE'
237
+ AutoAccept?: boolean
238
+ AfterContactWorkTimeLimit?: number
239
+ DeskPhoneNumber?: string
240
+ }
241
+ DirectoryUserId?: string
242
+ SecurityProfileIds: string[]
243
+ RoutingProfileId: string
244
+ HierarchyGroupId?: string
245
+ Tags?: Record<string, string>
246
+ }): Promise<{ UserId?: string, UserArn?: string }>;
247
+ deleteUser(params: {
248
+ InstanceId: string
249
+ UserId: string
250
+ }): Promise<void>;
251
+ listUsers(params: {
252
+ InstanceId: string
253
+ NextToken?: string
254
+ MaxResults?: number
255
+ }): Promise<{
256
+ UserSummaryList?: Array<{
257
+ Id?: string
258
+ Arn?: string
259
+ Username?: string
260
+ }>
261
+ NextToken?: string
262
+ }>;
263
+ createPrompt(params: {
264
+ InstanceId: string
265
+ Name: string
266
+ S3Uri: string
267
+ Description?: string
268
+ Tags?: Record<string, string>
269
+ }): Promise<{ PromptId?: string, PromptArn?: string }>;
270
+ listPrompts(params: {
271
+ InstanceId: string
272
+ NextToken?: string
273
+ MaxResults?: number
274
+ }): Promise<{
275
+ PromptSummaryList?: Array<{
276
+ Id?: string
277
+ Arn?: string
278
+ Name?: string
279
+ }>
280
+ NextToken?: string
281
+ }>;
282
+ createQuickConnect(params: {
283
+ InstanceId: string
284
+ Name: string
285
+ Description?: string
286
+ QuickConnectConfig: {
287
+ QuickConnectType: 'USER' | 'QUEUE' | 'PHONE_NUMBER'
288
+ UserConfig?: {
289
+ UserId: string
290
+ ContactFlowId: string
291
+ }
292
+ QueueConfig?: {
293
+ QueueId: string
294
+ ContactFlowId: string
295
+ }
296
+ PhoneConfig?: {
297
+ PhoneNumber: string
298
+ }
299
+ }
300
+ Tags?: Record<string, string>
301
+ }): Promise<{ QuickConnectId?: string, QuickConnectArn?: string }>;
302
+ startChatContact(params: {
303
+ InstanceId: string
304
+ ContactFlowId: string
305
+ ParticipantDetails: {
306
+ DisplayName: string
307
+ }
308
+ Attributes?: Record<string, string>
309
+ InitialMessage?: {
310
+ ContentType: string
311
+ Content: string
312
+ }
313
+ ClientToken?: string
314
+ ChatDurationInMinutes?: number
315
+ SupportedMessagingContentTypes?: string[]
316
+ }): Promise<{
317
+ ContactId?: string
318
+ ParticipantId?: string
319
+ ParticipantToken?: string
320
+ }>;
321
+ startTaskContact(params: {
322
+ InstanceId: string
323
+ ContactFlowId?: string
324
+ PreviousContactId?: string
325
+ Attributes?: Record<string, string>
326
+ Name: string
327
+ Description?: string
328
+ References?: Record<string, {
329
+ Value: string
330
+ Type: 'URL' | 'ATTACHMENT' | 'NUMBER' | 'STRING' | 'DATE' | 'EMAIL'
331
+ }>
332
+ ClientToken?: string
333
+ ScheduledTime?: string
334
+ TaskTemplateId?: string
335
+ QuickConnectId?: string
336
+ RelatedContactId?: string
337
+ }): Promise<{ ContactId?: string }>;
338
+ createOutboundIvrFlow(params: {
339
+ message: string
340
+ voiceId?: string
341
+ }): string;
342
+ createInputCollectionFlow(params: {
343
+ promptMessage: string
344
+ inputTimeout?: number
345
+ maxDigits?: number
346
+ successNextAction?: string
347
+ voiceId?: string
348
+ }): string;
349
+ getCurrentMetricData(params: {
350
+ InstanceId: string
351
+ Filters: {
352
+ Queues?: string[]
353
+ Channels?: Array<'VOICE' | 'CHAT' | 'TASK'>
354
+ RoutingProfiles?: string[]
355
+ }
356
+ CurrentMetrics: Array<{
357
+ Name: 'AGENTS_ONLINE' | 'AGENTS_AVAILABLE' | 'AGENTS_ON_CALL' | 'AGENTS_NON_PRODUCTIVE' | 'AGENTS_AFTER_CONTACT_WORK' | 'AGENTS_ERROR' | 'AGENTS_STAFFED' | 'CONTACTS_IN_QUEUE' | 'OLDEST_CONTACT_AGE' | 'CONTACTS_SCHEDULED' | 'AGENTS_ON_CONTACT' | 'SLOTS_ACTIVE' | 'SLOTS_AVAILABLE'
358
+ Unit?: 'SECONDS' | 'COUNT' | 'PERCENT'
359
+ }>
360
+ Groupings?: Array<'QUEUE' | 'CHANNEL' | 'ROUTING_PROFILE'>
361
+ MaxResults?: number
362
+ NextToken?: string
363
+ }): Promise<{
364
+ MetricResults?: Array<{
365
+ Dimensions?: {
366
+ Queue?: { Id?: string; Arn?: string }
367
+ Channel?: 'VOICE' | 'CHAT' | 'TASK'
368
+ }
369
+ Collections?: Array<{
370
+ Metric?: { Name?: string; Unit?: string }
371
+ Value?: number
372
+ }>
373
+ }>
374
+ NextToken?: string
375
+ ApproximateTotalCount?: number
376
+ }>;
377
+ }
@@ -0,0 +1,14 @@
1
+ export declare function deployImapServer(config?: MailServerDeployConfig): Promise<void>;
2
+ export declare interface MailboxConfig {
3
+ email: string
4
+ password?: string
5
+ }
6
+ export declare interface MailServerDeployConfig {
7
+ instanceId: string
8
+ region: string
9
+ secretName: string
10
+ domain: string
11
+ bucket: string
12
+ prefix: string
13
+ mailboxes: Array<string | MailboxConfig>
14
+ }
@@ -0,0 +1,176 @@
1
+ import { AWSClient } from './client';
2
+ export declare interface AttributeValue {
3
+ S?: string
4
+ N?: string
5
+ B?: string
6
+ SS?: string[]
7
+ NS?: string[]
8
+ BS?: string[]
9
+ M?: Record<string, AttributeValue>
10
+ L?: AttributeValue[]
11
+ NULL?: boolean
12
+ BOOL?: boolean
13
+ }
14
+ export declare interface KeySchemaElement {
15
+ AttributeName: string
16
+ KeyType: 'HASH' | 'RANGE'
17
+ }
18
+ export declare interface AttributeDefinition {
19
+ AttributeName: string
20
+ AttributeType: 'S' | 'N' | 'B'
21
+ }
22
+ export declare interface GlobalSecondaryIndex {
23
+ IndexName: string
24
+ KeySchema: KeySchemaElement[]
25
+ Projection: {
26
+ ProjectionType: 'ALL' | 'KEYS_ONLY' | 'INCLUDE'
27
+ NonKeyAttributes?: string[]
28
+ }
29
+ ProvisionedThroughput?: {
30
+ ReadCapacityUnits: number
31
+ WriteCapacityUnits: number
32
+ }
33
+ }
34
+ export declare interface TableDescription {
35
+ TableName: string
36
+ TableStatus: 'CREATING' | 'UPDATING' | 'DELETING' | 'ACTIVE' | 'INACCESSIBLE_ENCRYPTION_CREDENTIALS' | 'ARCHIVING' | 'ARCHIVED'
37
+ TableArn: string
38
+ ItemCount: number
39
+ TableSizeBytes: number
40
+ CreationDateTime: string
41
+ KeySchema: KeySchemaElement[]
42
+ AttributeDefinitions: AttributeDefinition[]
43
+ GlobalSecondaryIndexes?: GlobalSecondaryIndex[]
44
+ }
45
+ /**
46
+ * DynamoDB client for direct API calls
47
+ */
48
+ export declare class DynamoDBClient {
49
+ private client: AWSClient;
50
+ private region: string;
51
+ constructor(region?: string);
52
+ private request<T>(action: string, params: Record<string, any>): Promise<T>;
53
+ createTable(params: {
54
+ TableName: string
55
+ KeySchema: KeySchemaElement[]
56
+ AttributeDefinitions: AttributeDefinition[]
57
+ BillingMode?: 'PROVISIONED' | 'PAY_PER_REQUEST'
58
+ ProvisionedThroughput?: {
59
+ ReadCapacityUnits: number
60
+ WriteCapacityUnits: number
61
+ }
62
+ GlobalSecondaryIndexes?: GlobalSecondaryIndex[]
63
+ Tags?: Array<{ Key: string; Value: string }>
64
+ TimeToLiveSpecification?: {
65
+ AttributeName: string
66
+ Enabled: boolean
67
+ }
68
+ }): Promise<{ TableDescription: TableDescription }>;
69
+ deleteTable(params: { TableName: string }): Promise<{ TableDescription: TableDescription }>;
70
+ describeTable(params: { TableName: string }): Promise<{ Table: TableDescription }>;
71
+ listTables(params?: {
72
+ ExclusiveStartTableName?: string
73
+ Limit?: number
74
+ }): Promise<{ TableNames: string[]; LastEvaluatedTableName?: string }>;
75
+ putItem(params: {
76
+ TableName: string
77
+ Item: Record<string, AttributeValue>
78
+ ConditionExpression?: string
79
+ ExpressionAttributeNames?: Record<string, string>
80
+ ExpressionAttributeValues?: Record<string, AttributeValue>
81
+ ReturnValues?: 'NONE' | 'ALL_OLD'
82
+ }): Promise<{ Attributes?: Record<string, AttributeValue> }>;
83
+ getItem(params: {
84
+ TableName: string
85
+ Key: Record<string, AttributeValue>
86
+ ProjectionExpression?: string
87
+ ExpressionAttributeNames?: Record<string, string>
88
+ ConsistentRead?: boolean
89
+ }): Promise<{ Item?: Record<string, AttributeValue> }>;
90
+ updateItem(params: {
91
+ TableName: string
92
+ Key: Record<string, AttributeValue>
93
+ UpdateExpression: string
94
+ ConditionExpression?: string
95
+ ExpressionAttributeNames?: Record<string, string>
96
+ ExpressionAttributeValues?: Record<string, AttributeValue>
97
+ ReturnValues?: 'NONE' | 'ALL_OLD' | 'UPDATED_OLD' | 'ALL_NEW' | 'UPDATED_NEW'
98
+ }): Promise<{ Attributes?: Record<string, AttributeValue> }>;
99
+ deleteItem(params: {
100
+ TableName: string
101
+ Key: Record<string, AttributeValue>
102
+ ConditionExpression?: string
103
+ ExpressionAttributeNames?: Record<string, string>
104
+ ExpressionAttributeValues?: Record<string, AttributeValue>
105
+ ReturnValues?: 'NONE' | 'ALL_OLD'
106
+ }): Promise<{ Attributes?: Record<string, AttributeValue> }>;
107
+ query(params: {
108
+ TableName: string
109
+ IndexName?: string
110
+ KeyConditionExpression: string
111
+ FilterExpression?: string
112
+ ProjectionExpression?: string
113
+ ExpressionAttributeNames?: Record<string, string>
114
+ ExpressionAttributeValues?: Record<string, AttributeValue>
115
+ Limit?: number
116
+ ExclusiveStartKey?: Record<string, AttributeValue>
117
+ ScanIndexForward?: boolean
118
+ ConsistentRead?: boolean
119
+ }): Promise<{
120
+ Items: Array<Record<string, AttributeValue>>
121
+ Count: number
122
+ ScannedCount: number
123
+ LastEvaluatedKey?: Record<string, AttributeValue>
124
+ }>;
125
+ scan(params: {
126
+ TableName: string
127
+ IndexName?: string
128
+ FilterExpression?: string
129
+ ProjectionExpression?: string
130
+ ExpressionAttributeNames?: Record<string, string>
131
+ ExpressionAttributeValues?: Record<string, AttributeValue>
132
+ Limit?: number
133
+ ExclusiveStartKey?: Record<string, AttributeValue>
134
+ ConsistentRead?: boolean
135
+ }): Promise<{
136
+ Items: Array<Record<string, AttributeValue>>
137
+ Count: number
138
+ ScannedCount: number
139
+ LastEvaluatedKey?: Record<string, AttributeValue>
140
+ }>;
141
+ batchWriteItem(params: {
142
+ RequestItems: Record<string, Array<{
143
+ PutRequest?: { Item: Record<string, AttributeValue> }
144
+ DeleteRequest?: { Key: Record<string, AttributeValue> }
145
+ }>>
146
+ }): Promise<{
147
+ UnprocessedItems: Record<string, Array<{
148
+ PutRequest?: { Item: Record<string, AttributeValue> }
149
+ DeleteRequest?: { Key: Record<string, AttributeValue> }
150
+ }>>
151
+ }>;
152
+ batchGetItem(params: {
153
+ RequestItems: Record<string, {
154
+ Keys: Array<Record<string, AttributeValue>>
155
+ ProjectionExpression?: string
156
+ ExpressionAttributeNames?: Record<string, string>
157
+ ConsistentRead?: boolean
158
+ }>
159
+ }): Promise<{
160
+ Responses: Record<string, Array<Record<string, AttributeValue>>>
161
+ UnprocessedKeys: Record<string, {
162
+ Keys: Array<Record<string, AttributeValue>>
163
+ }>
164
+ }>;
165
+ updateTimeToLive(params: {
166
+ TableName: string
167
+ TimeToLiveSpecification: {
168
+ AttributeName: string
169
+ Enabled: boolean
170
+ }
171
+ }): Promise<{ TimeToLiveSpecification: { AttributeName: string; Enabled: boolean } }>;
172
+ static marshal(obj: Record<string, any>): Record<string, AttributeValue>;
173
+ static marshalValue(value: any): AttributeValue;
174
+ static unmarshal(item: Record<string, AttributeValue>): Record<string, any>;
175
+ static unmarshalValue(value: AttributeValue): any;
176
+ }