@stacksjs/ts-cloud 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +98 -13
- package/dist/aws/acm.d.ts +129 -0
- package/dist/aws/application-autoscaling.d.ts +282 -0
- package/dist/aws/bedrock.d.ts +2292 -0
- package/dist/aws/client.d.ts +79 -0
- package/dist/aws/cloudformation.d.ts +105 -0
- package/dist/aws/cloudfront.d.ts +265 -0
- package/dist/aws/cloudwatch-logs.d.ts +48 -0
- package/dist/aws/comprehend.d.ts +505 -0
- package/dist/aws/connect.d.ts +377 -0
- package/dist/aws/deploy-imap.d.ts +14 -0
- package/dist/aws/dynamodb.d.ts +176 -0
- package/dist/aws/ec2.d.ts +272 -0
- package/dist/aws/ecr.d.ts +149 -0
- package/dist/aws/ecs.d.ts +162 -0
- package/dist/aws/elasticache.d.ts +71 -0
- package/dist/aws/elbv2.d.ts +248 -0
- package/dist/aws/email.d.ts +175 -0
- package/dist/aws/eventbridge.d.ts +142 -0
- package/dist/aws/iam.d.ts +638 -0
- package/dist/aws/imap-server.d.ts +119 -0
- package/{src/aws/index.ts → dist/aws/index.d.ts} +62 -83
- package/{src/aws/kendra.ts → dist/aws/kendra.d.ts} +71 -386
- package/dist/aws/lambda.d.ts +232 -0
- package/dist/aws/opensearch.d.ts +87 -0
- package/dist/aws/personalize.d.ts +516 -0
- package/dist/aws/polly.d.ts +214 -0
- package/dist/aws/rds.d.ts +240 -0
- package/dist/aws/rekognition.d.ts +543 -0
- package/dist/aws/route53-domains.d.ts +113 -0
- package/dist/aws/route53.d.ts +215 -0
- package/dist/aws/s3.d.ts +212 -0
- package/dist/aws/scheduler.d.ts +140 -0
- package/dist/aws/secrets-manager.d.ts +170 -0
- package/dist/aws/ses.d.ts +288 -0
- package/dist/aws/setup-phone.d.ts +0 -0
- package/dist/aws/setup-sms.d.ts +115 -0
- package/dist/aws/sms.d.ts +304 -0
- package/dist/aws/smtp-server.d.ts +61 -0
- package/dist/aws/sns.d.ts +117 -0
- package/dist/aws/sqs.d.ts +65 -0
- package/dist/aws/ssm.d.ts +179 -0
- package/dist/aws/sts.d.ts +15 -0
- package/dist/aws/support.d.ts +104 -0
- package/dist/aws/test-imap.d.ts +0 -0
- package/dist/aws/textract.d.ts +403 -0
- package/dist/aws/transcribe.d.ts +60 -0
- package/dist/aws/translate.d.ts +358 -0
- package/dist/aws/voice.d.ts +219 -0
- package/dist/bin/cli.js +1724 -0
- package/dist/config.d.ts +7 -0
- package/dist/deploy/index.d.ts +2 -0
- package/dist/deploy/static-site-external-dns.d.ts +51 -0
- package/dist/deploy/static-site.d.ts +71 -0
- package/dist/dns/cloudflare.d.ts +52 -0
- package/dist/dns/godaddy.d.ts +38 -0
- package/dist/dns/index.d.ts +45 -0
- package/dist/dns/porkbun.d.ts +18 -0
- package/dist/dns/route53-adapter.d.ts +38 -0
- package/{src/dns/types.ts → dist/dns/types.d.ts} +26 -63
- package/dist/dns/validator.d.ts +78 -0
- package/dist/generators/index.d.ts +1 -0
- package/dist/generators/infrastructure.d.ts +30 -0
- package/{src/index.ts → dist/index.d.ts} +70 -93
- package/dist/index.js +7881 -0
- package/dist/push/apns.d.ts +60 -0
- package/dist/push/fcm.d.ts +117 -0
- package/dist/push/index.d.ts +14 -0
- package/dist/security/pre-deploy-scanner.d.ts +69 -0
- package/dist/ssl/acme-client.d.ts +67 -0
- package/dist/ssl/index.d.ts +2 -0
- package/dist/ssl/letsencrypt.d.ts +48 -0
- package/dist/types.d.ts +1 -0
- package/dist/utils/cli.d.ts +123 -0
- package/dist/validation/index.d.ts +1 -0
- package/dist/validation/template.d.ts +23 -0
- package/package.json +8 -8
- package/bin/cli.ts +0 -133
- package/bin/commands/analytics.ts +0 -328
- package/bin/commands/api.ts +0 -379
- package/bin/commands/assets.ts +0 -221
- package/bin/commands/audit.ts +0 -501
- package/bin/commands/backup.ts +0 -682
- package/bin/commands/cache.ts +0 -294
- package/bin/commands/cdn.ts +0 -281
- package/bin/commands/config.ts +0 -202
- package/bin/commands/container.ts +0 -105
- package/bin/commands/cost.ts +0 -208
- package/bin/commands/database.ts +0 -401
- package/bin/commands/deploy.ts +0 -674
- package/bin/commands/domain.ts +0 -397
- package/bin/commands/email.ts +0 -423
- package/bin/commands/environment.ts +0 -285
- package/bin/commands/events.ts +0 -424
- package/bin/commands/firewall.ts +0 -145
- package/bin/commands/function.ts +0 -116
- package/bin/commands/generate.ts +0 -280
- package/bin/commands/git.ts +0 -139
- package/bin/commands/iam.ts +0 -464
- package/bin/commands/index.ts +0 -48
- package/bin/commands/init.ts +0 -120
- package/bin/commands/logs.ts +0 -148
- package/bin/commands/network.ts +0 -579
- package/bin/commands/notify.ts +0 -489
- package/bin/commands/queue.ts +0 -407
- package/bin/commands/scheduler.ts +0 -370
- package/bin/commands/secrets.ts +0 -54
- package/bin/commands/server.ts +0 -629
- package/bin/commands/shared.ts +0 -97
- package/bin/commands/ssl.ts +0 -138
- package/bin/commands/stack.ts +0 -325
- package/bin/commands/status.ts +0 -385
- package/bin/commands/storage.ts +0 -450
- package/bin/commands/team.ts +0 -96
- package/bin/commands/tunnel.ts +0 -489
- package/bin/commands/utils.ts +0 -202
- package/build.ts +0 -15
- package/cloud +0 -2
- package/src/aws/acm.ts +0 -768
- package/src/aws/application-autoscaling.ts +0 -845
- package/src/aws/bedrock.ts +0 -4074
- package/src/aws/client.ts +0 -878
- package/src/aws/cloudformation.ts +0 -896
- package/src/aws/cloudfront.ts +0 -1531
- package/src/aws/cloudwatch-logs.ts +0 -154
- package/src/aws/comprehend.ts +0 -839
- package/src/aws/connect.ts +0 -1056
- package/src/aws/deploy-imap.ts +0 -384
- package/src/aws/dynamodb.ts +0 -340
- package/src/aws/ec2.ts +0 -1385
- package/src/aws/ecr.ts +0 -621
- package/src/aws/ecs.ts +0 -615
- package/src/aws/elasticache.ts +0 -301
- package/src/aws/elbv2.ts +0 -942
- package/src/aws/email.ts +0 -928
- package/src/aws/eventbridge.ts +0 -248
- package/src/aws/iam.ts +0 -1689
- package/src/aws/imap-server.ts +0 -2100
- package/src/aws/lambda.ts +0 -786
- package/src/aws/opensearch.ts +0 -158
- package/src/aws/personalize.ts +0 -977
- package/src/aws/polly.ts +0 -559
- package/src/aws/rds.ts +0 -888
- package/src/aws/rekognition.ts +0 -846
- package/src/aws/route53-domains.ts +0 -359
- package/src/aws/route53.ts +0 -1046
- package/src/aws/s3.ts +0 -2318
- package/src/aws/scheduler.ts +0 -571
- package/src/aws/secrets-manager.ts +0 -769
- package/src/aws/ses.ts +0 -1081
- package/src/aws/setup-phone.ts +0 -104
- package/src/aws/setup-sms.ts +0 -580
- package/src/aws/sms.ts +0 -1735
- package/src/aws/smtp-server.ts +0 -531
- package/src/aws/sns.ts +0 -758
- package/src/aws/sqs.ts +0 -382
- package/src/aws/ssm.ts +0 -807
- package/src/aws/sts.ts +0 -92
- package/src/aws/support.ts +0 -391
- package/src/aws/test-imap.ts +0 -86
- package/src/aws/textract.ts +0 -780
- package/src/aws/transcribe.ts +0 -108
- package/src/aws/translate.ts +0 -641
- package/src/aws/voice.ts +0 -1379
- package/src/config.ts +0 -35
- package/src/deploy/index.ts +0 -7
- package/src/deploy/static-site-external-dns.ts +0 -906
- package/src/deploy/static-site.ts +0 -1125
- package/src/dns/godaddy.ts +0 -412
- package/src/dns/index.ts +0 -183
- package/src/dns/porkbun.ts +0 -362
- package/src/dns/route53-adapter.ts +0 -414
- package/src/dns/validator.ts +0 -369
- package/src/generators/index.ts +0 -5
- package/src/generators/infrastructure.ts +0 -1660
- package/src/push/apns.ts +0 -452
- package/src/push/fcm.ts +0 -506
- package/src/push/index.ts +0 -58
- package/src/ssl/acme-client.ts +0 -478
- package/src/ssl/index.ts +0 -7
- package/src/ssl/letsencrypt.ts +0 -747
- package/src/types.ts +0 -2
- package/src/utils/cli.ts +0 -398
- package/src/validation/index.ts +0 -5
- package/src/validation/template.ts +0 -405
- package/test/index.test.ts +0 -128
- package/tsconfig.json +0 -18
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { AWSClient } from './client';
|
|
2
|
+
export declare interface TranscriptionJob {
|
|
3
|
+
TranscriptionJobName: string
|
|
4
|
+
TranscriptionJobStatus: 'QUEUED' | 'IN_PROGRESS' | 'FAILED' | 'COMPLETED'
|
|
5
|
+
LanguageCode?: string
|
|
6
|
+
MediaSampleRateHertz?: number
|
|
7
|
+
MediaFormat?: string
|
|
8
|
+
Media?: {
|
|
9
|
+
MediaFileUri?: string
|
|
10
|
+
}
|
|
11
|
+
Transcript?: {
|
|
12
|
+
TranscriptFileUri?: string
|
|
13
|
+
}
|
|
14
|
+
StartTime?: string
|
|
15
|
+
CreationTime?: string
|
|
16
|
+
CompletionTime?: string
|
|
17
|
+
FailureReason?: string
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Transcribe client for direct API calls
|
|
21
|
+
*/
|
|
22
|
+
export declare class TranscribeClient {
|
|
23
|
+
private client: AWSClient;
|
|
24
|
+
private region: string;
|
|
25
|
+
constructor(region?: string);
|
|
26
|
+
private request<T>(action: string, params: Record<string, any>): Promise<T>;
|
|
27
|
+
startTranscriptionJob(params: {
|
|
28
|
+
TranscriptionJobName: string
|
|
29
|
+
LanguageCode: string
|
|
30
|
+
MediaFormat?: 'mp3' | 'mp4' | 'wav' | 'flac' | 'ogg' | 'amr' | 'webm'
|
|
31
|
+
Media: {
|
|
32
|
+
MediaFileUri: string
|
|
33
|
+
}
|
|
34
|
+
OutputBucketName?: string
|
|
35
|
+
OutputKey?: string
|
|
36
|
+
Settings?: {
|
|
37
|
+
ShowSpeakerLabels?: boolean
|
|
38
|
+
MaxSpeakerLabels?: number
|
|
39
|
+
ChannelIdentification?: boolean
|
|
40
|
+
ShowAlternatives?: boolean
|
|
41
|
+
MaxAlternatives?: number
|
|
42
|
+
}
|
|
43
|
+
}): Promise<{ TranscriptionJob: TranscriptionJob }>;
|
|
44
|
+
getTranscriptionJob(params: {
|
|
45
|
+
TranscriptionJobName: string
|
|
46
|
+
}): Promise<{ TranscriptionJob: TranscriptionJob }>;
|
|
47
|
+
listTranscriptionJobs(params?: {
|
|
48
|
+
Status?: 'QUEUED' | 'IN_PROGRESS' | 'FAILED' | 'COMPLETED'
|
|
49
|
+
JobNameContains?: string
|
|
50
|
+
NextToken?: string
|
|
51
|
+
MaxResults?: number
|
|
52
|
+
}): Promise<{
|
|
53
|
+
Status?: string
|
|
54
|
+
NextToken?: string
|
|
55
|
+
TranscriptionJobSummaries: TranscriptionJob[]
|
|
56
|
+
}>;
|
|
57
|
+
deleteTranscriptionJob(params: {
|
|
58
|
+
TranscriptionJobName: string
|
|
59
|
+
}): Promise<void>;
|
|
60
|
+
}
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
import { AWSClient } from './client';
|
|
2
|
+
/**
|
|
3
|
+
* Quick translation
|
|
4
|
+
*/
|
|
5
|
+
export declare function translate(text: string, targetLanguage: string, options?: {
|
|
6
|
+
sourceLanguage?: string
|
|
7
|
+
region?: string
|
|
8
|
+
}): Promise<string>;
|
|
9
|
+
/**
|
|
10
|
+
* Translate to multiple languages
|
|
11
|
+
*/
|
|
12
|
+
export declare function translateToMultiple(text: string, targetLanguages: string[], options?: {
|
|
13
|
+
sourceLanguage?: string
|
|
14
|
+
region?: string
|
|
15
|
+
}): Promise<Record<string, string>>;
|
|
16
|
+
/**
|
|
17
|
+
* List supported languages
|
|
18
|
+
*/
|
|
19
|
+
export declare function listLanguages(region?: string): Promise<Language[]>;
|
|
20
|
+
// ============================================================================
|
|
21
|
+
// Types
|
|
22
|
+
// ============================================================================
|
|
23
|
+
export declare interface TranslateTextCommandInput {
|
|
24
|
+
Text: string
|
|
25
|
+
SourceLanguageCode: string
|
|
26
|
+
TargetLanguageCode: string
|
|
27
|
+
TerminologyNames?: string[]
|
|
28
|
+
Settings?: {
|
|
29
|
+
Formality?: 'FORMAL' | 'INFORMAL'
|
|
30
|
+
Profanity?: 'MASK'
|
|
31
|
+
Brevity?: 'ON'
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export declare interface TranslatedDocument {
|
|
35
|
+
Content: Uint8Array
|
|
36
|
+
}
|
|
37
|
+
export declare interface AppliedTerminology {
|
|
38
|
+
Name?: string
|
|
39
|
+
Terms?: Array<{
|
|
40
|
+
SourceText?: string
|
|
41
|
+
TargetText?: string
|
|
42
|
+
}>
|
|
43
|
+
}
|
|
44
|
+
export declare interface TranslateTextCommandOutput {
|
|
45
|
+
TranslatedText: string
|
|
46
|
+
SourceLanguageCode: string
|
|
47
|
+
TargetLanguageCode: string
|
|
48
|
+
AppliedTerminologies?: AppliedTerminology[]
|
|
49
|
+
AppliedSettings?: {
|
|
50
|
+
Formality?: 'FORMAL' | 'INFORMAL'
|
|
51
|
+
Profanity?: 'MASK'
|
|
52
|
+
Brevity?: 'ON'
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export declare interface TranslateDocumentCommandInput {
|
|
56
|
+
Document: {
|
|
57
|
+
Content: Uint8Array
|
|
58
|
+
ContentType: 'text/html' | 'text/plain' | 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
|
|
59
|
+
}
|
|
60
|
+
SourceLanguageCode: string
|
|
61
|
+
TargetLanguageCode: string
|
|
62
|
+
TerminologyNames?: string[]
|
|
63
|
+
Settings?: {
|
|
64
|
+
Formality?: 'FORMAL' | 'INFORMAL'
|
|
65
|
+
Profanity?: 'MASK'
|
|
66
|
+
Brevity?: 'ON'
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
export declare interface TranslateDocumentCommandOutput {
|
|
70
|
+
TranslatedDocument: TranslatedDocument
|
|
71
|
+
SourceLanguageCode: string
|
|
72
|
+
TargetLanguageCode: string
|
|
73
|
+
AppliedTerminologies?: AppliedTerminology[]
|
|
74
|
+
AppliedSettings?: {
|
|
75
|
+
Formality?: 'FORMAL' | 'INFORMAL'
|
|
76
|
+
Profanity?: 'MASK'
|
|
77
|
+
Brevity?: 'ON'
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
export declare interface StartTextTranslationJobCommandInput {
|
|
81
|
+
JobName?: string
|
|
82
|
+
InputDataConfig: {
|
|
83
|
+
S3Uri: string
|
|
84
|
+
ContentType: 'text/html' | 'text/plain' | 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' | 'application/vnd.openxmlformats-officedocument.presentationml.presentation' | 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' | 'application/x-xliff+xml'
|
|
85
|
+
}
|
|
86
|
+
OutputDataConfig: {
|
|
87
|
+
S3Uri: string
|
|
88
|
+
EncryptionKey?: {
|
|
89
|
+
Type: 'KMS'
|
|
90
|
+
Id: string
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
DataAccessRoleArn: string
|
|
94
|
+
SourceLanguageCode: string
|
|
95
|
+
TargetLanguageCodes: string[]
|
|
96
|
+
TerminologyNames?: string[]
|
|
97
|
+
ParallelDataNames?: string[]
|
|
98
|
+
ClientToken?: string
|
|
99
|
+
Settings?: {
|
|
100
|
+
Formality?: 'FORMAL' | 'INFORMAL'
|
|
101
|
+
Profanity?: 'MASK'
|
|
102
|
+
Brevity?: 'ON'
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
export declare interface StartTextTranslationJobCommandOutput {
|
|
106
|
+
JobId?: string
|
|
107
|
+
JobStatus?: 'SUBMITTED' | 'IN_PROGRESS' | 'COMPLETED' | 'COMPLETED_WITH_ERROR' | 'FAILED' | 'STOP_REQUESTED' | 'STOPPED'
|
|
108
|
+
}
|
|
109
|
+
export declare interface DescribeTextTranslationJobCommandInput {
|
|
110
|
+
JobId: string
|
|
111
|
+
}
|
|
112
|
+
export declare interface TextTranslationJobProperties {
|
|
113
|
+
JobId?: string
|
|
114
|
+
JobName?: string
|
|
115
|
+
JobStatus?: 'SUBMITTED' | 'IN_PROGRESS' | 'COMPLETED' | 'COMPLETED_WITH_ERROR' | 'FAILED' | 'STOP_REQUESTED' | 'STOPPED'
|
|
116
|
+
JobDetails?: {
|
|
117
|
+
TranslatedDocumentsCount?: number
|
|
118
|
+
DocumentsWithErrorsCount?: number
|
|
119
|
+
InputDocumentsCount?: number
|
|
120
|
+
}
|
|
121
|
+
SourceLanguageCode?: string
|
|
122
|
+
TargetLanguageCodes?: string[]
|
|
123
|
+
TerminologyNames?: string[]
|
|
124
|
+
ParallelDataNames?: string[]
|
|
125
|
+
Message?: string
|
|
126
|
+
SubmittedTime?: string
|
|
127
|
+
EndTime?: string
|
|
128
|
+
InputDataConfig?: {
|
|
129
|
+
S3Uri?: string
|
|
130
|
+
ContentType?: string
|
|
131
|
+
}
|
|
132
|
+
OutputDataConfig?: {
|
|
133
|
+
S3Uri?: string
|
|
134
|
+
EncryptionKey?: {
|
|
135
|
+
Type?: string
|
|
136
|
+
Id?: string
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
DataAccessRoleArn?: string
|
|
140
|
+
Settings?: {
|
|
141
|
+
Formality?: 'FORMAL' | 'INFORMAL'
|
|
142
|
+
Profanity?: 'MASK'
|
|
143
|
+
Brevity?: 'ON'
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
export declare interface DescribeTextTranslationJobCommandOutput {
|
|
147
|
+
TextTranslationJobProperties?: TextTranslationJobProperties
|
|
148
|
+
}
|
|
149
|
+
export declare interface ListTextTranslationJobsCommandInput {
|
|
150
|
+
Filter?: {
|
|
151
|
+
JobName?: string
|
|
152
|
+
JobStatus?: 'SUBMITTED' | 'IN_PROGRESS' | 'COMPLETED' | 'COMPLETED_WITH_ERROR' | 'FAILED' | 'STOP_REQUESTED' | 'STOPPED'
|
|
153
|
+
SubmittedBeforeTime?: string
|
|
154
|
+
SubmittedAfterTime?: string
|
|
155
|
+
}
|
|
156
|
+
NextToken?: string
|
|
157
|
+
MaxResults?: number
|
|
158
|
+
}
|
|
159
|
+
export declare interface ListTextTranslationJobsCommandOutput {
|
|
160
|
+
TextTranslationJobPropertiesList?: TextTranslationJobProperties[]
|
|
161
|
+
NextToken?: string
|
|
162
|
+
}
|
|
163
|
+
export declare interface StopTextTranslationJobCommandInput {
|
|
164
|
+
JobId: string
|
|
165
|
+
}
|
|
166
|
+
export declare interface StopTextTranslationJobCommandOutput {
|
|
167
|
+
JobId?: string
|
|
168
|
+
JobStatus?: 'SUBMITTED' | 'IN_PROGRESS' | 'COMPLETED' | 'COMPLETED_WITH_ERROR' | 'FAILED' | 'STOP_REQUESTED' | 'STOPPED'
|
|
169
|
+
}
|
|
170
|
+
export declare interface ListLanguagesCommandInput {
|
|
171
|
+
DisplayLanguageCode?: string
|
|
172
|
+
NextToken?: string
|
|
173
|
+
MaxResults?: number
|
|
174
|
+
}
|
|
175
|
+
export declare interface Language {
|
|
176
|
+
LanguageName?: string
|
|
177
|
+
LanguageCode?: string
|
|
178
|
+
}
|
|
179
|
+
export declare interface ListLanguagesCommandOutput {
|
|
180
|
+
Languages?: Language[]
|
|
181
|
+
DisplayLanguageCode?: string
|
|
182
|
+
NextToken?: string
|
|
183
|
+
}
|
|
184
|
+
export declare interface ImportTerminologyCommandInput {
|
|
185
|
+
Name: string
|
|
186
|
+
MergeStrategy: 'OVERWRITE'
|
|
187
|
+
Description?: string
|
|
188
|
+
TerminologyData: {
|
|
189
|
+
File: Uint8Array
|
|
190
|
+
Format: 'CSV' | 'TMX' | 'TSV'
|
|
191
|
+
Directionality?: 'UNI' | 'MULTI'
|
|
192
|
+
}
|
|
193
|
+
EncryptionKey?: {
|
|
194
|
+
Type: 'KMS'
|
|
195
|
+
Id: string
|
|
196
|
+
}
|
|
197
|
+
Tags?: Array<{ Key: string; Value: string }>
|
|
198
|
+
}
|
|
199
|
+
export declare interface TerminologyProperties {
|
|
200
|
+
Name?: string
|
|
201
|
+
Description?: string
|
|
202
|
+
Arn?: string
|
|
203
|
+
SourceLanguageCode?: string
|
|
204
|
+
TargetLanguageCodes?: string[]
|
|
205
|
+
EncryptionKey?: {
|
|
206
|
+
Type?: string
|
|
207
|
+
Id?: string
|
|
208
|
+
}
|
|
209
|
+
SizeBytes?: number
|
|
210
|
+
TermCount?: number
|
|
211
|
+
CreatedAt?: string
|
|
212
|
+
LastUpdatedAt?: string
|
|
213
|
+
Directionality?: 'UNI' | 'MULTI'
|
|
214
|
+
Message?: string
|
|
215
|
+
SkippedTermCount?: number
|
|
216
|
+
Format?: 'CSV' | 'TMX' | 'TSV'
|
|
217
|
+
}
|
|
218
|
+
export declare interface ImportTerminologyCommandOutput {
|
|
219
|
+
TerminologyProperties?: TerminologyProperties
|
|
220
|
+
AuxiliaryDataLocation?: {
|
|
221
|
+
RepositoryType?: string
|
|
222
|
+
Location?: string
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
export declare interface GetTerminologyCommandInput {
|
|
226
|
+
Name: string
|
|
227
|
+
TerminologyDataFormat?: 'CSV' | 'TMX' | 'TSV'
|
|
228
|
+
}
|
|
229
|
+
export declare interface GetTerminologyCommandOutput {
|
|
230
|
+
TerminologyProperties?: TerminologyProperties
|
|
231
|
+
TerminologyDataLocation?: {
|
|
232
|
+
RepositoryType?: string
|
|
233
|
+
Location?: string
|
|
234
|
+
}
|
|
235
|
+
AuxiliaryDataLocation?: {
|
|
236
|
+
RepositoryType?: string
|
|
237
|
+
Location?: string
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
export declare interface ListTerminologiesCommandInput {
|
|
241
|
+
NextToken?: string
|
|
242
|
+
MaxResults?: number
|
|
243
|
+
}
|
|
244
|
+
export declare interface ListTerminologiesCommandOutput {
|
|
245
|
+
TerminologyPropertiesList?: TerminologyProperties[]
|
|
246
|
+
NextToken?: string
|
|
247
|
+
}
|
|
248
|
+
export declare interface DeleteTerminologyCommandInput {
|
|
249
|
+
Name: string
|
|
250
|
+
}
|
|
251
|
+
export declare interface DeleteTerminologyCommandOutput {
|
|
252
|
+
|
|
253
|
+
}
|
|
254
|
+
export declare interface CreateParallelDataCommandInput {
|
|
255
|
+
Name: string
|
|
256
|
+
Description?: string
|
|
257
|
+
ParallelDataConfig: {
|
|
258
|
+
S3Uri: string
|
|
259
|
+
Format: 'TSV' | 'CSV' | 'TMX'
|
|
260
|
+
}
|
|
261
|
+
EncryptionKey?: {
|
|
262
|
+
Type: 'KMS'
|
|
263
|
+
Id: string
|
|
264
|
+
}
|
|
265
|
+
ClientToken?: string
|
|
266
|
+
Tags?: Array<{ Key: string; Value: string }>
|
|
267
|
+
}
|
|
268
|
+
export declare interface ParallelDataProperties {
|
|
269
|
+
Name?: string
|
|
270
|
+
Arn?: string
|
|
271
|
+
Description?: string
|
|
272
|
+
Status?: 'CREATING' | 'UPDATING' | 'ACTIVE' | 'DELETING' | 'FAILED'
|
|
273
|
+
SourceLanguageCode?: string
|
|
274
|
+
TargetLanguageCodes?: string[]
|
|
275
|
+
ParallelDataConfig?: {
|
|
276
|
+
S3Uri?: string
|
|
277
|
+
Format?: 'TSV' | 'CSV' | 'TMX'
|
|
278
|
+
}
|
|
279
|
+
Message?: string
|
|
280
|
+
ImportedDataSize?: number
|
|
281
|
+
ImportedRecordCount?: number
|
|
282
|
+
FailedRecordCount?: number
|
|
283
|
+
SkippedRecordCount?: number
|
|
284
|
+
EncryptionKey?: {
|
|
285
|
+
Type?: string
|
|
286
|
+
Id?: string
|
|
287
|
+
}
|
|
288
|
+
CreatedAt?: string
|
|
289
|
+
LastUpdatedAt?: string
|
|
290
|
+
LatestUpdateAttemptStatus?: 'CREATING' | 'UPDATING' | 'ACTIVE' | 'DELETING' | 'FAILED'
|
|
291
|
+
LatestUpdateAttemptAt?: string
|
|
292
|
+
}
|
|
293
|
+
export declare interface CreateParallelDataCommandOutput {
|
|
294
|
+
Name?: string
|
|
295
|
+
Status?: 'CREATING' | 'UPDATING' | 'ACTIVE' | 'DELETING' | 'FAILED'
|
|
296
|
+
}
|
|
297
|
+
export declare interface GetParallelDataCommandInput {
|
|
298
|
+
Name: string
|
|
299
|
+
}
|
|
300
|
+
export declare interface GetParallelDataCommandOutput {
|
|
301
|
+
ParallelDataProperties?: ParallelDataProperties
|
|
302
|
+
DataLocation?: {
|
|
303
|
+
RepositoryType?: string
|
|
304
|
+
Location?: string
|
|
305
|
+
}
|
|
306
|
+
AuxiliaryDataLocation?: {
|
|
307
|
+
RepositoryType?: string
|
|
308
|
+
Location?: string
|
|
309
|
+
}
|
|
310
|
+
LatestUpdateAttemptAuxiliaryDataLocation?: {
|
|
311
|
+
RepositoryType?: string
|
|
312
|
+
Location?: string
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
export declare interface ListParallelDataCommandInput {
|
|
316
|
+
NextToken?: string
|
|
317
|
+
MaxResults?: number
|
|
318
|
+
}
|
|
319
|
+
export declare interface ListParallelDataCommandOutput {
|
|
320
|
+
ParallelDataPropertiesList?: ParallelDataProperties[]
|
|
321
|
+
NextToken?: string
|
|
322
|
+
}
|
|
323
|
+
export declare interface DeleteParallelDataCommandInput {
|
|
324
|
+
Name: string
|
|
325
|
+
}
|
|
326
|
+
export declare interface DeleteParallelDataCommandOutput {
|
|
327
|
+
Name?: string
|
|
328
|
+
Status?: 'CREATING' | 'UPDATING' | 'ACTIVE' | 'DELETING' | 'FAILED'
|
|
329
|
+
}
|
|
330
|
+
// ============================================================================
|
|
331
|
+
// Translate Client
|
|
332
|
+
// ============================================================================
|
|
333
|
+
export declare class TranslateClient {
|
|
334
|
+
private client: AWSClient;
|
|
335
|
+
private region: string;
|
|
336
|
+
constructor(region?: string);
|
|
337
|
+
private request<T>(action: string, params: Record<string, unknown>): Promise<T>;
|
|
338
|
+
translateText(params: TranslateTextCommandInput): Promise<TranslateTextCommandOutput>;
|
|
339
|
+
translateDocument(params: TranslateDocumentCommandInput): Promise<TranslateDocumentCommandOutput>;
|
|
340
|
+
startTextTranslationJob(params: StartTextTranslationJobCommandInput): Promise<StartTextTranslationJobCommandOutput>;
|
|
341
|
+
describeTextTranslationJob(params: DescribeTextTranslationJobCommandInput): Promise<DescribeTextTranslationJobCommandOutput>;
|
|
342
|
+
listTextTranslationJobs(params?: ListTextTranslationJobsCommandInput): Promise<ListTextTranslationJobsCommandOutput>;
|
|
343
|
+
stopTextTranslationJob(params: StopTextTranslationJobCommandInput): Promise<StopTextTranslationJobCommandOutput>;
|
|
344
|
+
listLanguages(params?: ListLanguagesCommandInput): Promise<ListLanguagesCommandOutput>;
|
|
345
|
+
importTerminology(params: ImportTerminologyCommandInput): Promise<ImportTerminologyCommandOutput>;
|
|
346
|
+
getTerminology(params: GetTerminologyCommandInput): Promise<GetTerminologyCommandOutput>;
|
|
347
|
+
listTerminologies(params?: ListTerminologiesCommandInput): Promise<ListTerminologiesCommandOutput>;
|
|
348
|
+
deleteTerminology(params: DeleteTerminologyCommandInput): Promise<DeleteTerminologyCommandOutput>;
|
|
349
|
+
createParallelData(params: CreateParallelDataCommandInput): Promise<CreateParallelDataCommandOutput>;
|
|
350
|
+
getParallelData(params: GetParallelDataCommandInput): Promise<GetParallelDataCommandOutput>;
|
|
351
|
+
listParallelData(params?: ListParallelDataCommandInput): Promise<ListParallelDataCommandOutput>;
|
|
352
|
+
deleteParallelData(params: DeleteParallelDataCommandInput): Promise<DeleteParallelDataCommandOutput>;
|
|
353
|
+
translate(text: string, targetLanguage: string, sourceLanguage?: string): Promise<string>;
|
|
354
|
+
translateFormal(text: string, targetLanguage: string, sourceLanguage?: string, formality?: 'FORMAL' | 'INFORMAL'): Promise<string>;
|
|
355
|
+
translateToMultiple(text: string, targetLanguages: string[], sourceLanguage?: string): Promise<Record<string, string>>;
|
|
356
|
+
waitForJob(jobId: string, options?: { maxWaitMs?: number; pollIntervalMs?: number }): Promise<TextTranslationJobProperties>;
|
|
357
|
+
getSupportedLanguages(): Promise<string[]>;
|
|
358
|
+
}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { ConnectClient } from './connect';
|
|
2
|
+
import { S3Client } from './s3';
|
|
3
|
+
import { TranscribeClient } from './transcribe';
|
|
4
|
+
/**
|
|
5
|
+
* Create a Lambda handler for processing incoming voicemails
|
|
6
|
+
* Use this with Connect's voicemail feature or custom IVR
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* // lambda.ts
|
|
11
|
+
* import { createVoicemailHandler } from 'ts-cloud/aws/voice'
|
|
12
|
+
*
|
|
13
|
+
* export const handler = createVoicemailHandler({
|
|
14
|
+
* bucket: 'my-voicemail-bucket',
|
|
15
|
+
* prefix: 'voicemail/',
|
|
16
|
+
* region: 'us-east-1',
|
|
17
|
+
* })
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare function createVoicemailHandler(config: {
|
|
21
|
+
bucket: string
|
|
22
|
+
prefix?: string
|
|
23
|
+
region?: string
|
|
24
|
+
onVoicemail?: (voicemail: Voicemail) => Promise<void>
|
|
25
|
+
}): void;
|
|
26
|
+
/**
|
|
27
|
+
* Create a Lambda handler for Connect recording events
|
|
28
|
+
* This processes call recordings uploaded to S3 by Connect
|
|
29
|
+
*/
|
|
30
|
+
export declare function createRecordingHandler(config: {
|
|
31
|
+
bucket: string
|
|
32
|
+
prefix?: string
|
|
33
|
+
region?: string
|
|
34
|
+
onRecording?: (recording: CallRecording) => Promise<void>
|
|
35
|
+
}): void;
|
|
36
|
+
/**
|
|
37
|
+
* Convenience function to create a voice client
|
|
38
|
+
*/
|
|
39
|
+
export declare function createVoiceClient(config?: VoiceClientConfig): VoiceClient;
|
|
40
|
+
export declare interface VoiceClientConfig {
|
|
41
|
+
region?: string
|
|
42
|
+
voicemailBucket?: string
|
|
43
|
+
voicemailPrefix?: string
|
|
44
|
+
recordingsPrefix?: string
|
|
45
|
+
connectInstanceId?: string
|
|
46
|
+
connectContactFlowId?: string
|
|
47
|
+
defaultCallerId?: string
|
|
48
|
+
enableTranscription?: boolean
|
|
49
|
+
transcriptionLanguage?: string
|
|
50
|
+
}
|
|
51
|
+
export declare interface Voicemail {
|
|
52
|
+
key: string
|
|
53
|
+
from: string
|
|
54
|
+
to: string
|
|
55
|
+
duration: number
|
|
56
|
+
timestamp: Date
|
|
57
|
+
transcription?: string
|
|
58
|
+
transcriptionStatus?: 'pending' | 'processing' | 'completed' | 'failed'
|
|
59
|
+
transcriptionJobName?: string
|
|
60
|
+
audioUrl?: string
|
|
61
|
+
read?: boolean
|
|
62
|
+
readAt?: Date
|
|
63
|
+
contentType?: string
|
|
64
|
+
size?: number
|
|
65
|
+
raw?: any
|
|
66
|
+
}
|
|
67
|
+
export declare interface CallRecording {
|
|
68
|
+
key: string
|
|
69
|
+
contactId: string
|
|
70
|
+
from?: string
|
|
71
|
+
to?: string
|
|
72
|
+
duration: number
|
|
73
|
+
timestamp: Date
|
|
74
|
+
audioUrl?: string
|
|
75
|
+
contentType?: string
|
|
76
|
+
size?: number
|
|
77
|
+
}
|
|
78
|
+
export declare interface MakeCallOptions {
|
|
79
|
+
to: string
|
|
80
|
+
from?: string
|
|
81
|
+
message?: string
|
|
82
|
+
voiceId?: string
|
|
83
|
+
audioUrl?: string
|
|
84
|
+
contactFlowId?: string
|
|
85
|
+
attributes?: Record<string, string>
|
|
86
|
+
}
|
|
87
|
+
export declare interface SendVoiceMessageOptions {
|
|
88
|
+
to: string
|
|
89
|
+
from?: string
|
|
90
|
+
message: string
|
|
91
|
+
voiceId?: string
|
|
92
|
+
languageCode?: string
|
|
93
|
+
}
|
|
94
|
+
export declare interface VoicemailGreeting {
|
|
95
|
+
id: string
|
|
96
|
+
name: string
|
|
97
|
+
type: 'default' | 'busy' | 'unavailable' | 'custom'
|
|
98
|
+
text?: string
|
|
99
|
+
audioKey?: string
|
|
100
|
+
audioUrl?: string
|
|
101
|
+
voiceId?: string
|
|
102
|
+
languageCode?: string
|
|
103
|
+
isActive: boolean
|
|
104
|
+
createdAt: Date
|
|
105
|
+
updatedAt?: Date
|
|
106
|
+
}
|
|
107
|
+
export declare interface CallForwardingRule {
|
|
108
|
+
id: string
|
|
109
|
+
name: string
|
|
110
|
+
enabled: boolean
|
|
111
|
+
condition: 'always' | 'busy' | 'no_answer' | 'unreachable' | 'after_hours'
|
|
112
|
+
forwardTo: string
|
|
113
|
+
ringTimeout?: number
|
|
114
|
+
businessHours?: {
|
|
115
|
+
timezone: string
|
|
116
|
+
schedule: Array<{
|
|
117
|
+
day: 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun'
|
|
118
|
+
start: string // HH:MM format
|
|
119
|
+
end: string
|
|
120
|
+
}>
|
|
121
|
+
}
|
|
122
|
+
priority: number
|
|
123
|
+
createdAt: Date
|
|
124
|
+
updatedAt?: Date
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Voice Client with S3 voicemail storage
|
|
128
|
+
*/
|
|
129
|
+
export declare class VoiceClient {
|
|
130
|
+
private config: VoiceClientConfig;
|
|
131
|
+
private connect?: ConnectClient;
|
|
132
|
+
private s3?: S3Client;
|
|
133
|
+
private transcribe?: TranscribeClient;
|
|
134
|
+
constructor(config?: VoiceClientConfig);
|
|
135
|
+
call(options: MakeCallOptions): Promise<{ callId: string }>;
|
|
136
|
+
sendVoiceMessage(options: SendVoiceMessageOptions): Promise<{ messageId: string }>;
|
|
137
|
+
speak(to: string, message: string, voiceId?: string): Promise<{ messageId: string }>;
|
|
138
|
+
getVoicemails(options?: {
|
|
139
|
+
prefix?: string
|
|
140
|
+
maxResults?: number
|
|
141
|
+
}): Promise<Voicemail[]>;
|
|
142
|
+
getVoicemail(key: string): Promise<Voicemail | null>;
|
|
143
|
+
getVoicemailAudioUrl(key: string, expiresIn?: number): Promise<string>;
|
|
144
|
+
deleteVoicemail(key: string): Promise<void>;
|
|
145
|
+
archiveVoicemail(key: string): Promise<string>;
|
|
146
|
+
getVoicemailCount(): Promise<number>;
|
|
147
|
+
getUnreadCount(): Promise<number>;
|
|
148
|
+
markAsRead(key: string): Promise<void>;
|
|
149
|
+
markAsUnread(key: string): Promise<void>;
|
|
150
|
+
markManyAsRead(keys: string[]): Promise<void>;
|
|
151
|
+
deleteMany(keys: string[]): Promise<void>;
|
|
152
|
+
transcribeVoicemail(key: string): Promise<{ jobName: string }>;
|
|
153
|
+
getTranscriptionStatus(jobName: string): Promise<{
|
|
154
|
+
status: 'IN_PROGRESS' | 'COMPLETED' | 'FAILED'
|
|
155
|
+
transcription?: string
|
|
156
|
+
}>;
|
|
157
|
+
updateTranscription(key: string, transcription: string): Promise<void>;
|
|
158
|
+
createGreeting(greeting: {
|
|
159
|
+
name: string
|
|
160
|
+
type: 'default' | 'busy' | 'unavailable' | 'custom'
|
|
161
|
+
text?: string
|
|
162
|
+
audioData?: Buffer | string
|
|
163
|
+
voiceId?: string
|
|
164
|
+
languageCode?: string
|
|
165
|
+
setActive?: boolean
|
|
166
|
+
}): Promise<VoicemailGreeting>;
|
|
167
|
+
getGreetings(): Promise<VoicemailGreeting[]>;
|
|
168
|
+
getGreeting(id: string): Promise<VoicemailGreeting | null>;
|
|
169
|
+
getActiveGreeting(type: 'default' | 'busy' | 'unavailable' | 'custom'): Promise<VoicemailGreeting | null>;
|
|
170
|
+
setActiveGreeting(id: string): Promise<void>;
|
|
171
|
+
private deactivateGreetingsOfType(type: string): Promise<void>;
|
|
172
|
+
updateGreeting(id: string, updates: { name?: string; text?: string; audioData?: Buffer | string }): Promise<VoicemailGreeting>;
|
|
173
|
+
deleteGreeting(id: string): Promise<void>;
|
|
174
|
+
getGreetingAudioUrl(id: string, expiresIn?: number): Promise<string | null>;
|
|
175
|
+
createForwardingRule(rule: {
|
|
176
|
+
name: string
|
|
177
|
+
condition: 'always' | 'busy' | 'no_answer' | 'unreachable' | 'after_hours'
|
|
178
|
+
forwardTo: string
|
|
179
|
+
ringTimeout?: number
|
|
180
|
+
businessHours?: CallForwardingRule['businessHours']
|
|
181
|
+
priority?: number
|
|
182
|
+
enabled?: boolean
|
|
183
|
+
}): Promise<CallForwardingRule>;
|
|
184
|
+
getForwardingRules(): Promise<CallForwardingRule[]>;
|
|
185
|
+
getForwardingRule(id: string): Promise<CallForwardingRule | null>;
|
|
186
|
+
updateForwardingRule(id: string, updates: Partial<Omit<CallForwardingRule, 'id' | 'createdAt' | 'updatedAt'>>): Promise<CallForwardingRule>;
|
|
187
|
+
setForwardingRuleEnabled(id: string, enabled: boolean): Promise<void>;
|
|
188
|
+
deleteForwardingRule(id: string): Promise<void>;
|
|
189
|
+
getApplicableForwardingRule(currentConditions?: {
|
|
190
|
+
isBusy?: boolean
|
|
191
|
+
isUnreachable?: boolean
|
|
192
|
+
noAnswer?: boolean
|
|
193
|
+
}): Promise<CallForwardingRule | null>;
|
|
194
|
+
private isWithinBusinessHours(date: Date, businessHours: NonNullable<CallForwardingRule['businessHours']>): boolean;
|
|
195
|
+
getRecordings(options?: {
|
|
196
|
+
prefix?: string
|
|
197
|
+
maxResults?: number
|
|
198
|
+
}): Promise<CallRecording[]>;
|
|
199
|
+
getRecordingUrl(key: string, expiresIn?: number): Promise<string>;
|
|
200
|
+
storeVoicemail(voicemail: {
|
|
201
|
+
from: string
|
|
202
|
+
to: string
|
|
203
|
+
audioData: Buffer | string
|
|
204
|
+
duration?: number
|
|
205
|
+
transcription?: string
|
|
206
|
+
contentType?: string
|
|
207
|
+
timestamp?: Date
|
|
208
|
+
}): Promise<string>;
|
|
209
|
+
storeRecording(recording: {
|
|
210
|
+
contactId: string
|
|
211
|
+
from?: string
|
|
212
|
+
to?: string
|
|
213
|
+
audioData: Buffer | string
|
|
214
|
+
duration?: number
|
|
215
|
+
contentType?: string
|
|
216
|
+
timestamp?: Date
|
|
217
|
+
}): Promise<string>;
|
|
218
|
+
private getVoicemailMetadata(audioKey: string): Promise<Voicemail | null>;
|
|
219
|
+
}
|