@stacksjs/ts-cloud 0.2.3 → 0.2.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.
- package/dist/aws/acm.d.ts +215 -0
- package/dist/aws/application-autoscaling.d.ts +345 -0
- package/dist/aws/bedrock.d.ts +2672 -0
- package/dist/aws/client.d.ts +181 -0
- package/dist/aws/cloudformation.d.ts +187 -0
- package/dist/aws/cloudfront.d.ts +416 -0
- package/dist/aws/cloudwatch-logs.d.ts +70 -0
- package/dist/aws/comprehend.d.ts +616 -0
- package/dist/aws/connect.d.ts +533 -0
- package/dist/aws/deploy-imap.d.ts +26 -0
- package/dist/aws/dynamodb.d.ts +270 -0
- package/dist/aws/ec2.d.ts +545 -0
- package/dist/aws/ecr.d.ts +240 -0
- package/dist/aws/ecs.d.ts +267 -0
- package/dist/aws/efs.d.ts +36 -0
- package/dist/aws/elasticache.d.ts +112 -0
- package/dist/aws/elbv2.d.ts +389 -0
- package/dist/aws/email.d.ts +260 -0
- package/dist/aws/eventbridge.d.ts +197 -0
- package/dist/aws/iam.d.ts +1013 -0
- package/dist/aws/imap-server.d.ts +298 -0
- package/dist/aws/index.d.ts +53 -0
- package/dist/aws/kendra.d.ts +831 -0
- package/dist/aws/lambda.d.ts +319 -0
- package/dist/aws/opensearch.d.ts +121 -0
- package/dist/aws/personalize.d.ts +586 -0
- package/dist/aws/polly.d.ts +243 -0
- package/dist/aws/rds.d.ts +346 -0
- package/dist/aws/rekognition.d.ts +691 -0
- package/dist/aws/route53-domains.d.ts +161 -0
- package/dist/aws/route53.d.ts +330 -0
- package/dist/aws/s3.d.ts +535 -0
- package/dist/aws/scheduler.d.ts +224 -0
- package/dist/aws/secrets-manager.d.ts +267 -0
- package/dist/aws/ses.d.ts +441 -0
- package/dist/aws/setup-phone.d.ts +1 -0
- package/dist/aws/setup-sms.d.ts +116 -0
- package/dist/aws/sms.d.ts +477 -0
- package/dist/aws/smtp-server.d.ts +108 -0
- package/dist/aws/sns.d.ts +224 -0
- package/dist/aws/sqs.d.ts +107 -0
- package/dist/aws/ssm.d.ts +311 -0
- package/dist/aws/sts.d.ts +21 -0
- package/dist/aws/support.d.ts +139 -0
- package/dist/aws/test-imap.d.ts +15 -0
- package/dist/aws/textract.d.ts +477 -0
- package/dist/aws/transcribe.d.ts +79 -0
- package/dist/aws/translate.d.ts +424 -0
- package/dist/aws/voice.d.ts +361 -0
- package/dist/bin/cli.js +4480 -804
- package/dist/config.d.ts +5 -0
- package/dist/deploy/index.d.ts +6 -0
- package/dist/deploy/static-site-external-dns.d.ts +70 -0
- package/dist/deploy/static-site.d.ts +110 -0
- package/dist/dns/cloudflare.d.ts +74 -0
- package/dist/dns/godaddy.d.ts +63 -0
- package/dist/dns/index.d.ts +67 -0
- package/dist/dns/porkbun.d.ts +43 -0
- package/dist/dns/route53-adapter.d.ts +67 -0
- package/dist/dns/types.d.ts +100 -0
- package/dist/dns/validator.d.ts +105 -0
- package/dist/generators/index.d.ts +4 -0
- package/dist/generators/infrastructure.d.ts +115 -0
- package/dist/index.d.ts +9 -165
- package/dist/index.js +4971 -6013
- package/dist/push/apns.d.ts +140 -0
- package/dist/push/fcm.d.ts +205 -0
- package/dist/push/index.d.ts +44 -0
- package/dist/security/pre-deploy-scanner.d.ts +97 -0
- package/dist/ssl/acme-client.d.ts +133 -0
- package/dist/ssl/index.d.ts +6 -0
- package/dist/ssl/letsencrypt.d.ts +96 -0
- package/dist/utils/cli.d.ts +121 -0
- package/dist/validation/index.d.ts +4 -0
- package/dist/validation/template.d.ts +27 -0
- package/package.json +6 -6
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Support API Operations
|
|
3
|
+
* Automates support ticket creation for service limit increases and sandbox exits
|
|
4
|
+
*/
|
|
5
|
+
export interface SupportCase {
|
|
6
|
+
caseId?: string;
|
|
7
|
+
displayId?: string;
|
|
8
|
+
subject?: string;
|
|
9
|
+
status?: string;
|
|
10
|
+
serviceCode?: string;
|
|
11
|
+
categoryCode?: string;
|
|
12
|
+
severityCode?: string;
|
|
13
|
+
submittedBy?: string;
|
|
14
|
+
timeCreated?: string;
|
|
15
|
+
recentCommunications?: {
|
|
16
|
+
communications?: Array<{
|
|
17
|
+
body?: string;
|
|
18
|
+
submittedBy?: string;
|
|
19
|
+
timeCreated?: string;
|
|
20
|
+
}>;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export interface CreateCaseParams {
|
|
24
|
+
subject: string;
|
|
25
|
+
communicationBody: string;
|
|
26
|
+
serviceCode: string;
|
|
27
|
+
categoryCode: string;
|
|
28
|
+
severityCode?: 'low' | 'normal' | 'high' | 'urgent' | 'critical';
|
|
29
|
+
ccEmailAddresses?: string[];
|
|
30
|
+
language?: string;
|
|
31
|
+
issueType?: 'customer-service' | 'technical';
|
|
32
|
+
attachmentSetId?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface SupportService {
|
|
35
|
+
code: string;
|
|
36
|
+
name: string;
|
|
37
|
+
categories?: Array<{
|
|
38
|
+
code: string;
|
|
39
|
+
name: string;
|
|
40
|
+
}>;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* AWS Support client for creating and managing support cases
|
|
44
|
+
*/
|
|
45
|
+
export declare class SupportClient {
|
|
46
|
+
private client;
|
|
47
|
+
private region;
|
|
48
|
+
constructor(region?: string);
|
|
49
|
+
/**
|
|
50
|
+
* Create a new support case
|
|
51
|
+
*/
|
|
52
|
+
createCase(params: CreateCaseParams): Promise<{
|
|
53
|
+
caseId?: string;
|
|
54
|
+
}>;
|
|
55
|
+
/**
|
|
56
|
+
* Get details of a support case
|
|
57
|
+
*/
|
|
58
|
+
describeCase(caseId: string): Promise<SupportCase | null>;
|
|
59
|
+
/**
|
|
60
|
+
* List all support cases
|
|
61
|
+
*/
|
|
62
|
+
listCases(options?: {
|
|
63
|
+
includeResolved?: boolean;
|
|
64
|
+
maxResults?: number;
|
|
65
|
+
nextToken?: string;
|
|
66
|
+
}): Promise<{
|
|
67
|
+
cases: SupportCase[];
|
|
68
|
+
nextToken?: string;
|
|
69
|
+
}>;
|
|
70
|
+
/**
|
|
71
|
+
* Add a communication to an existing case
|
|
72
|
+
*/
|
|
73
|
+
addCommunication(caseId: string, message: string, ccEmailAddresses?: string[]): Promise<boolean>;
|
|
74
|
+
/**
|
|
75
|
+
* Resolve a support case
|
|
76
|
+
*/
|
|
77
|
+
resolveCase(caseId: string): Promise<{
|
|
78
|
+
initialCaseStatus?: string;
|
|
79
|
+
finalCaseStatus?: string;
|
|
80
|
+
}>;
|
|
81
|
+
/**
|
|
82
|
+
* Get available services and categories for support cases
|
|
83
|
+
*/
|
|
84
|
+
describeServices(serviceCodeList?: string[]): Promise<SupportService[]>;
|
|
85
|
+
/**
|
|
86
|
+
* Get available severity levels
|
|
87
|
+
*/
|
|
88
|
+
describeSeverityLevels(): Promise<Array<{
|
|
89
|
+
code: string;
|
|
90
|
+
name: string;
|
|
91
|
+
}>>;
|
|
92
|
+
}
|
|
93
|
+
export interface SmsSandboxExitParams {
|
|
94
|
+
companyName: string;
|
|
95
|
+
useCase: string;
|
|
96
|
+
expectedMonthlyVolume: number;
|
|
97
|
+
websiteUrl?: string;
|
|
98
|
+
}
|
|
99
|
+
export interface SmsSpendLimitIncreaseParams {
|
|
100
|
+
companyName: string;
|
|
101
|
+
currentLimit: number;
|
|
102
|
+
requestedLimit: number;
|
|
103
|
+
useCase: string;
|
|
104
|
+
}
|
|
105
|
+
export interface SesSandboxExitParams {
|
|
106
|
+
companyName: string;
|
|
107
|
+
websiteUrl: string;
|
|
108
|
+
useCase: string;
|
|
109
|
+
expectedDailyVolume: number;
|
|
110
|
+
}
|
|
111
|
+
export interface ConnectPhoneNumberIncreaseParams {
|
|
112
|
+
companyName: string;
|
|
113
|
+
instanceId: string;
|
|
114
|
+
currentLimit: number;
|
|
115
|
+
requestedLimit: number;
|
|
116
|
+
useCase: string;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Pre-built support case templates for common requests
|
|
120
|
+
*/
|
|
121
|
+
export declare const SupportTemplates: {
|
|
122
|
+
/**
|
|
123
|
+
* Request to exit SMS sandbox
|
|
124
|
+
*/
|
|
125
|
+
smsSandboxExit: (params: SmsSandboxExitParams) => CreateCaseParams;
|
|
126
|
+
/**
|
|
127
|
+
* Request to increase SMS spending limit
|
|
128
|
+
*/
|
|
129
|
+
smsSpendLimitIncrease: (params: SmsSpendLimitIncreaseParams) => CreateCaseParams;
|
|
130
|
+
/**
|
|
131
|
+
* Request SES production access (exit sandbox)
|
|
132
|
+
*/
|
|
133
|
+
sesSandboxExit: (params: SesSandboxExitParams) => CreateCaseParams;
|
|
134
|
+
/**
|
|
135
|
+
* Request Connect phone number limit increase
|
|
136
|
+
*/
|
|
137
|
+
connectPhoneNumberIncrease: (params: ConnectPhoneNumberIncreaseParams) => CreateCaseParams;
|
|
138
|
+
};
|
|
139
|
+
export default SupportClient;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
/**
|
|
3
|
+
* Test script to run the IMAP server locally
|
|
4
|
+
* This reads emails from S3 and serves them via IMAP
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* bun run src/aws/test-imap.ts
|
|
8
|
+
*
|
|
9
|
+
* Then configure Mail.app:
|
|
10
|
+
* IMAP Server: localhost
|
|
11
|
+
* Port: 1143 (or 143 if running as root)
|
|
12
|
+
* Username: chris
|
|
13
|
+
* Password: test123
|
|
14
|
+
*/
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,477 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Textract Client
|
|
3
|
+
* Document OCR, form extraction, table extraction
|
|
4
|
+
* No external SDK dependencies - implements AWS Signature V4 directly
|
|
5
|
+
*/
|
|
6
|
+
export interface S3Object {
|
|
7
|
+
Bucket?: string;
|
|
8
|
+
Name?: string;
|
|
9
|
+
Version?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface Document {
|
|
12
|
+
Bytes?: Uint8Array;
|
|
13
|
+
S3Object?: S3Object;
|
|
14
|
+
}
|
|
15
|
+
export interface BoundingBox {
|
|
16
|
+
Width?: number;
|
|
17
|
+
Height?: number;
|
|
18
|
+
Left?: number;
|
|
19
|
+
Top?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface Point {
|
|
22
|
+
X?: number;
|
|
23
|
+
Y?: number;
|
|
24
|
+
}
|
|
25
|
+
export interface Geometry {
|
|
26
|
+
BoundingBox?: BoundingBox;
|
|
27
|
+
Polygon?: Point[];
|
|
28
|
+
}
|
|
29
|
+
export interface Relationship {
|
|
30
|
+
Type?: 'VALUE' | 'CHILD' | 'COMPLEX_FEATURES' | 'MERGED_CELL' | 'TITLE' | 'ANSWER' | 'TABLE' | 'TABLE_TITLE' | 'TABLE_FOOTER';
|
|
31
|
+
Ids?: string[];
|
|
32
|
+
}
|
|
33
|
+
export interface Block {
|
|
34
|
+
BlockType?: 'KEY_VALUE_SET' | 'PAGE' | 'LINE' | 'WORD' | 'TABLE' | 'CELL' | 'SELECTION_ELEMENT' | 'MERGED_CELL' | 'TITLE' | 'QUERY' | 'QUERY_RESULT' | 'SIGNATURE' | 'TABLE_TITLE' | 'TABLE_FOOTER' | 'LAYOUT_TEXT' | 'LAYOUT_TITLE' | 'LAYOUT_HEADER' | 'LAYOUT_FOOTER' | 'LAYOUT_SECTION_HEADER' | 'LAYOUT_PAGE_NUMBER' | 'LAYOUT_LIST' | 'LAYOUT_FIGURE' | 'LAYOUT_TABLE' | 'LAYOUT_KEY_VALUE';
|
|
35
|
+
Confidence?: number;
|
|
36
|
+
Text?: string;
|
|
37
|
+
TextType?: 'HANDWRITING' | 'PRINTED';
|
|
38
|
+
RowIndex?: number;
|
|
39
|
+
ColumnIndex?: number;
|
|
40
|
+
RowSpan?: number;
|
|
41
|
+
ColumnSpan?: number;
|
|
42
|
+
Geometry?: Geometry;
|
|
43
|
+
Id?: string;
|
|
44
|
+
Relationships?: Relationship[];
|
|
45
|
+
EntityTypes?: ('KEY' | 'VALUE' | 'COLUMN_HEADER' | 'TABLE_TITLE' | 'TABLE_FOOTER' | 'TABLE_SECTION_TITLE' | 'TABLE_SUMMARY' | 'STRUCTURED_TABLE' | 'SEMI_STRUCTURED_TABLE')[];
|
|
46
|
+
SelectionStatus?: 'SELECTED' | 'NOT_SELECTED';
|
|
47
|
+
Page?: number;
|
|
48
|
+
Query?: {
|
|
49
|
+
Text: string;
|
|
50
|
+
Alias?: string;
|
|
51
|
+
Pages?: string[];
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export interface DocumentMetadata {
|
|
55
|
+
Pages?: number;
|
|
56
|
+
}
|
|
57
|
+
export interface Warning {
|
|
58
|
+
ErrorCode?: string;
|
|
59
|
+
Pages?: number[];
|
|
60
|
+
}
|
|
61
|
+
export interface DetectDocumentTextCommandInput {
|
|
62
|
+
Document: Document;
|
|
63
|
+
}
|
|
64
|
+
export interface DetectDocumentTextCommandOutput {
|
|
65
|
+
DocumentMetadata?: DocumentMetadata;
|
|
66
|
+
Blocks?: Block[];
|
|
67
|
+
DetectDocumentTextModelVersion?: string;
|
|
68
|
+
}
|
|
69
|
+
export interface AnalyzeDocumentCommandInput {
|
|
70
|
+
Document: Document;
|
|
71
|
+
FeatureTypes: ('TABLES' | 'FORMS' | 'QUERIES' | 'SIGNATURES' | 'LAYOUT')[];
|
|
72
|
+
HumanLoopConfig?: {
|
|
73
|
+
HumanLoopName: string;
|
|
74
|
+
FlowDefinitionArn: string;
|
|
75
|
+
DataAttributes?: {
|
|
76
|
+
ContentClassifiers?: ('FreeOfPersonallyIdentifiableInformation' | 'FreeOfAdultContent')[];
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
QueriesConfig?: {
|
|
80
|
+
Queries: Array<{
|
|
81
|
+
Text: string;
|
|
82
|
+
Alias?: string;
|
|
83
|
+
Pages?: string[];
|
|
84
|
+
}>;
|
|
85
|
+
};
|
|
86
|
+
AdaptersConfig?: {
|
|
87
|
+
Adapters: Array<{
|
|
88
|
+
AdapterId: string;
|
|
89
|
+
Pages?: string[];
|
|
90
|
+
Version: string;
|
|
91
|
+
}>;
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
export interface AnalyzeDocumentCommandOutput {
|
|
95
|
+
DocumentMetadata?: DocumentMetadata;
|
|
96
|
+
Blocks?: Block[];
|
|
97
|
+
HumanLoopActivationOutput?: {
|
|
98
|
+
HumanLoopArn?: string;
|
|
99
|
+
HumanLoopActivationReasons?: string[];
|
|
100
|
+
HumanLoopActivationConditionsEvaluationResults?: string;
|
|
101
|
+
};
|
|
102
|
+
AnalyzeDocumentModelVersion?: string;
|
|
103
|
+
}
|
|
104
|
+
export interface AnalyzeExpenseCommandInput {
|
|
105
|
+
Document: Document;
|
|
106
|
+
}
|
|
107
|
+
export interface ExpenseField {
|
|
108
|
+
Type?: {
|
|
109
|
+
Text?: string;
|
|
110
|
+
Confidence?: number;
|
|
111
|
+
};
|
|
112
|
+
LabelDetection?: {
|
|
113
|
+
Text?: string;
|
|
114
|
+
Geometry?: Geometry;
|
|
115
|
+
Confidence?: number;
|
|
116
|
+
};
|
|
117
|
+
ValueDetection?: {
|
|
118
|
+
Text?: string;
|
|
119
|
+
Geometry?: Geometry;
|
|
120
|
+
Confidence?: number;
|
|
121
|
+
};
|
|
122
|
+
PageNumber?: number;
|
|
123
|
+
Currency?: {
|
|
124
|
+
Code?: string;
|
|
125
|
+
Confidence?: number;
|
|
126
|
+
};
|
|
127
|
+
GroupProperties?: Array<{
|
|
128
|
+
Types?: string[];
|
|
129
|
+
Id?: string;
|
|
130
|
+
}>;
|
|
131
|
+
}
|
|
132
|
+
export interface LineItemGroup {
|
|
133
|
+
LineItemGroupIndex?: number;
|
|
134
|
+
LineItems?: Array<{
|
|
135
|
+
LineItemExpenseFields?: ExpenseField[];
|
|
136
|
+
}>;
|
|
137
|
+
}
|
|
138
|
+
export interface ExpenseDocument {
|
|
139
|
+
ExpenseIndex?: number;
|
|
140
|
+
SummaryFields?: ExpenseField[];
|
|
141
|
+
LineItemGroups?: LineItemGroup[];
|
|
142
|
+
Blocks?: Block[];
|
|
143
|
+
}
|
|
144
|
+
export interface AnalyzeExpenseCommandOutput {
|
|
145
|
+
DocumentMetadata?: DocumentMetadata;
|
|
146
|
+
ExpenseDocuments?: ExpenseDocument[];
|
|
147
|
+
}
|
|
148
|
+
export interface AnalyzeIDCommandInput {
|
|
149
|
+
DocumentPages: Document[];
|
|
150
|
+
}
|
|
151
|
+
export interface IdentityDocument {
|
|
152
|
+
DocumentIndex?: number;
|
|
153
|
+
IdentityDocumentFields?: Array<{
|
|
154
|
+
Type?: {
|
|
155
|
+
Text?: string;
|
|
156
|
+
Confidence?: number;
|
|
157
|
+
};
|
|
158
|
+
ValueDetection?: {
|
|
159
|
+
Text?: string;
|
|
160
|
+
NormalizedValue?: {
|
|
161
|
+
Value?: string;
|
|
162
|
+
ValueType?: 'DATE';
|
|
163
|
+
};
|
|
164
|
+
Confidence?: number;
|
|
165
|
+
};
|
|
166
|
+
}>;
|
|
167
|
+
Blocks?: Block[];
|
|
168
|
+
}
|
|
169
|
+
export interface AnalyzeIDCommandOutput {
|
|
170
|
+
IdentityDocuments?: IdentityDocument[];
|
|
171
|
+
DocumentMetadata?: DocumentMetadata;
|
|
172
|
+
AnalyzeIDModelVersion?: string;
|
|
173
|
+
}
|
|
174
|
+
export interface StartDocumentTextDetectionCommandInput {
|
|
175
|
+
DocumentLocation: {
|
|
176
|
+
S3Object?: S3Object;
|
|
177
|
+
};
|
|
178
|
+
ClientRequestToken?: string;
|
|
179
|
+
JobTag?: string;
|
|
180
|
+
NotificationChannel?: {
|
|
181
|
+
SNSTopicArn: string;
|
|
182
|
+
RoleArn: string;
|
|
183
|
+
};
|
|
184
|
+
OutputConfig?: {
|
|
185
|
+
S3Bucket: string;
|
|
186
|
+
S3Prefix?: string;
|
|
187
|
+
};
|
|
188
|
+
KMSKeyId?: string;
|
|
189
|
+
}
|
|
190
|
+
export interface StartDocumentTextDetectionCommandOutput {
|
|
191
|
+
JobId?: string;
|
|
192
|
+
}
|
|
193
|
+
export interface GetDocumentTextDetectionCommandInput {
|
|
194
|
+
JobId: string;
|
|
195
|
+
MaxResults?: number;
|
|
196
|
+
NextToken?: string;
|
|
197
|
+
}
|
|
198
|
+
export interface GetDocumentTextDetectionCommandOutput {
|
|
199
|
+
DocumentMetadata?: DocumentMetadata;
|
|
200
|
+
JobStatus?: 'IN_PROGRESS' | 'SUCCEEDED' | 'FAILED' | 'PARTIAL_SUCCESS';
|
|
201
|
+
NextToken?: string;
|
|
202
|
+
Blocks?: Block[];
|
|
203
|
+
Warnings?: Warning[];
|
|
204
|
+
StatusMessage?: string;
|
|
205
|
+
DetectDocumentTextModelVersion?: string;
|
|
206
|
+
}
|
|
207
|
+
export interface StartDocumentAnalysisCommandInput {
|
|
208
|
+
DocumentLocation: {
|
|
209
|
+
S3Object?: S3Object;
|
|
210
|
+
};
|
|
211
|
+
FeatureTypes: ('TABLES' | 'FORMS' | 'QUERIES' | 'SIGNATURES' | 'LAYOUT')[];
|
|
212
|
+
ClientRequestToken?: string;
|
|
213
|
+
JobTag?: string;
|
|
214
|
+
NotificationChannel?: {
|
|
215
|
+
SNSTopicArn: string;
|
|
216
|
+
RoleArn: string;
|
|
217
|
+
};
|
|
218
|
+
OutputConfig?: {
|
|
219
|
+
S3Bucket: string;
|
|
220
|
+
S3Prefix?: string;
|
|
221
|
+
};
|
|
222
|
+
KMSKeyId?: string;
|
|
223
|
+
QueriesConfig?: {
|
|
224
|
+
Queries: Array<{
|
|
225
|
+
Text: string;
|
|
226
|
+
Alias?: string;
|
|
227
|
+
Pages?: string[];
|
|
228
|
+
}>;
|
|
229
|
+
};
|
|
230
|
+
AdaptersConfig?: {
|
|
231
|
+
Adapters: Array<{
|
|
232
|
+
AdapterId: string;
|
|
233
|
+
Pages?: string[];
|
|
234
|
+
Version: string;
|
|
235
|
+
}>;
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
export interface StartDocumentAnalysisCommandOutput {
|
|
239
|
+
JobId?: string;
|
|
240
|
+
}
|
|
241
|
+
export interface GetDocumentAnalysisCommandInput {
|
|
242
|
+
JobId: string;
|
|
243
|
+
MaxResults?: number;
|
|
244
|
+
NextToken?: string;
|
|
245
|
+
}
|
|
246
|
+
export interface GetDocumentAnalysisCommandOutput {
|
|
247
|
+
DocumentMetadata?: DocumentMetadata;
|
|
248
|
+
JobStatus?: 'IN_PROGRESS' | 'SUCCEEDED' | 'FAILED' | 'PARTIAL_SUCCESS';
|
|
249
|
+
NextToken?: string;
|
|
250
|
+
Blocks?: Block[];
|
|
251
|
+
Warnings?: Warning[];
|
|
252
|
+
StatusMessage?: string;
|
|
253
|
+
AnalyzeDocumentModelVersion?: string;
|
|
254
|
+
}
|
|
255
|
+
export interface StartExpenseAnalysisCommandInput {
|
|
256
|
+
DocumentLocation: {
|
|
257
|
+
S3Object?: S3Object;
|
|
258
|
+
};
|
|
259
|
+
ClientRequestToken?: string;
|
|
260
|
+
JobTag?: string;
|
|
261
|
+
NotificationChannel?: {
|
|
262
|
+
SNSTopicArn: string;
|
|
263
|
+
RoleArn: string;
|
|
264
|
+
};
|
|
265
|
+
OutputConfig?: {
|
|
266
|
+
S3Bucket: string;
|
|
267
|
+
S3Prefix?: string;
|
|
268
|
+
};
|
|
269
|
+
KMSKeyId?: string;
|
|
270
|
+
}
|
|
271
|
+
export interface StartExpenseAnalysisCommandOutput {
|
|
272
|
+
JobId?: string;
|
|
273
|
+
}
|
|
274
|
+
export interface GetExpenseAnalysisCommandInput {
|
|
275
|
+
JobId: string;
|
|
276
|
+
MaxResults?: number;
|
|
277
|
+
NextToken?: string;
|
|
278
|
+
}
|
|
279
|
+
export interface GetExpenseAnalysisCommandOutput {
|
|
280
|
+
DocumentMetadata?: DocumentMetadata;
|
|
281
|
+
JobStatus?: 'IN_PROGRESS' | 'SUCCEEDED' | 'FAILED' | 'PARTIAL_SUCCESS';
|
|
282
|
+
NextToken?: string;
|
|
283
|
+
ExpenseDocuments?: ExpenseDocument[];
|
|
284
|
+
Warnings?: Warning[];
|
|
285
|
+
StatusMessage?: string;
|
|
286
|
+
AnalyzeExpenseModelVersion?: string;
|
|
287
|
+
}
|
|
288
|
+
export interface StartLendingAnalysisCommandInput {
|
|
289
|
+
DocumentLocation: {
|
|
290
|
+
S3Object?: S3Object;
|
|
291
|
+
};
|
|
292
|
+
ClientRequestToken?: string;
|
|
293
|
+
JobTag?: string;
|
|
294
|
+
NotificationChannel?: {
|
|
295
|
+
SNSTopicArn: string;
|
|
296
|
+
RoleArn: string;
|
|
297
|
+
};
|
|
298
|
+
OutputConfig?: {
|
|
299
|
+
S3Bucket: string;
|
|
300
|
+
S3Prefix?: string;
|
|
301
|
+
};
|
|
302
|
+
KMSKeyId?: string;
|
|
303
|
+
}
|
|
304
|
+
export interface StartLendingAnalysisCommandOutput {
|
|
305
|
+
JobId?: string;
|
|
306
|
+
}
|
|
307
|
+
export interface GetLendingAnalysisCommandInput {
|
|
308
|
+
JobId: string;
|
|
309
|
+
MaxResults?: number;
|
|
310
|
+
NextToken?: string;
|
|
311
|
+
}
|
|
312
|
+
export interface LendingDocument {
|
|
313
|
+
LendingFields?: Array<{
|
|
314
|
+
Type?: string;
|
|
315
|
+
KeyDetection?: {
|
|
316
|
+
Text?: string;
|
|
317
|
+
Geometry?: Geometry;
|
|
318
|
+
Confidence?: number;
|
|
319
|
+
};
|
|
320
|
+
ValueDetections?: Array<{
|
|
321
|
+
Text?: string;
|
|
322
|
+
Geometry?: Geometry;
|
|
323
|
+
Confidence?: number;
|
|
324
|
+
SelectionStatus?: 'SELECTED' | 'NOT_SELECTED';
|
|
325
|
+
}>;
|
|
326
|
+
}>;
|
|
327
|
+
SignatureDetections?: Array<{
|
|
328
|
+
Confidence?: number;
|
|
329
|
+
Geometry?: Geometry;
|
|
330
|
+
}>;
|
|
331
|
+
}
|
|
332
|
+
export interface LendingResult {
|
|
333
|
+
Page?: number;
|
|
334
|
+
PageClassification?: {
|
|
335
|
+
PageType?: Array<{
|
|
336
|
+
Value?: string;
|
|
337
|
+
Confidence?: number;
|
|
338
|
+
}>;
|
|
339
|
+
PageNumber?: Array<{
|
|
340
|
+
Value?: string;
|
|
341
|
+
Confidence?: number;
|
|
342
|
+
}>;
|
|
343
|
+
};
|
|
344
|
+
Extractions?: Array<{
|
|
345
|
+
LendingDocument?: LendingDocument;
|
|
346
|
+
ExpenseDocument?: ExpenseDocument;
|
|
347
|
+
IdentityDocument?: IdentityDocument;
|
|
348
|
+
}>;
|
|
349
|
+
}
|
|
350
|
+
export interface GetLendingAnalysisCommandOutput {
|
|
351
|
+
DocumentMetadata?: DocumentMetadata;
|
|
352
|
+
JobStatus?: 'IN_PROGRESS' | 'SUCCEEDED' | 'FAILED' | 'PARTIAL_SUCCESS';
|
|
353
|
+
NextToken?: string;
|
|
354
|
+
Results?: LendingResult[];
|
|
355
|
+
Warnings?: Warning[];
|
|
356
|
+
StatusMessage?: string;
|
|
357
|
+
AnalyzeLendingModelVersion?: string;
|
|
358
|
+
}
|
|
359
|
+
export declare class TextractClient {
|
|
360
|
+
private client;
|
|
361
|
+
private region;
|
|
362
|
+
constructor(region?: string);
|
|
363
|
+
private request;
|
|
364
|
+
/**
|
|
365
|
+
* Detect text in a document (OCR)
|
|
366
|
+
*/
|
|
367
|
+
detectDocumentText(params: DetectDocumentTextCommandInput): Promise<DetectDocumentTextCommandOutput>;
|
|
368
|
+
/**
|
|
369
|
+
* Analyze a document (forms, tables, queries)
|
|
370
|
+
*/
|
|
371
|
+
analyzeDocument(params: AnalyzeDocumentCommandInput): Promise<AnalyzeDocumentCommandOutput>;
|
|
372
|
+
/**
|
|
373
|
+
* Analyze expense document (receipts, invoices)
|
|
374
|
+
*/
|
|
375
|
+
analyzeExpense(params: AnalyzeExpenseCommandInput): Promise<AnalyzeExpenseCommandOutput>;
|
|
376
|
+
/**
|
|
377
|
+
* Analyze ID document (driver's license, passport)
|
|
378
|
+
*/
|
|
379
|
+
analyzeID(params: AnalyzeIDCommandInput): Promise<AnalyzeIDCommandOutput>;
|
|
380
|
+
/**
|
|
381
|
+
* Start async text detection job
|
|
382
|
+
*/
|
|
383
|
+
startDocumentTextDetection(params: StartDocumentTextDetectionCommandInput): Promise<StartDocumentTextDetectionCommandOutput>;
|
|
384
|
+
/**
|
|
385
|
+
* Get results of text detection job
|
|
386
|
+
*/
|
|
387
|
+
getDocumentTextDetection(params: GetDocumentTextDetectionCommandInput): Promise<GetDocumentTextDetectionCommandOutput>;
|
|
388
|
+
/**
|
|
389
|
+
* Start async document analysis job
|
|
390
|
+
*/
|
|
391
|
+
startDocumentAnalysis(params: StartDocumentAnalysisCommandInput): Promise<StartDocumentAnalysisCommandOutput>;
|
|
392
|
+
/**
|
|
393
|
+
* Get results of document analysis job
|
|
394
|
+
*/
|
|
395
|
+
getDocumentAnalysis(params: GetDocumentAnalysisCommandInput): Promise<GetDocumentAnalysisCommandOutput>;
|
|
396
|
+
/**
|
|
397
|
+
* Start async expense analysis job
|
|
398
|
+
*/
|
|
399
|
+
startExpenseAnalysis(params: StartExpenseAnalysisCommandInput): Promise<StartExpenseAnalysisCommandOutput>;
|
|
400
|
+
/**
|
|
401
|
+
* Get results of expense analysis job
|
|
402
|
+
*/
|
|
403
|
+
getExpenseAnalysis(params: GetExpenseAnalysisCommandInput): Promise<GetExpenseAnalysisCommandOutput>;
|
|
404
|
+
/**
|
|
405
|
+
* Start async lending analysis job
|
|
406
|
+
*/
|
|
407
|
+
startLendingAnalysis(params: StartLendingAnalysisCommandInput): Promise<StartLendingAnalysisCommandOutput>;
|
|
408
|
+
/**
|
|
409
|
+
* Get results of lending analysis job
|
|
410
|
+
*/
|
|
411
|
+
getLendingAnalysis(params: GetLendingAnalysisCommandInput): Promise<GetLendingAnalysisCommandOutput>;
|
|
412
|
+
/**
|
|
413
|
+
* Extract all text from a document
|
|
414
|
+
*/
|
|
415
|
+
extractText(document: Document): Promise<string[]>;
|
|
416
|
+
/**
|
|
417
|
+
* Extract text from S3 document
|
|
418
|
+
*/
|
|
419
|
+
extractTextFromS3(bucket: string, key: string): Promise<string[]>;
|
|
420
|
+
/**
|
|
421
|
+
* Extract key-value pairs (forms) from a document
|
|
422
|
+
*/
|
|
423
|
+
extractForms(document: Document): Promise<Array<{
|
|
424
|
+
key: string;
|
|
425
|
+
value: string;
|
|
426
|
+
confidence: number;
|
|
427
|
+
}>>;
|
|
428
|
+
/**
|
|
429
|
+
* Extract tables from a document
|
|
430
|
+
*/
|
|
431
|
+
extractTables(document: Document): Promise<Array<{
|
|
432
|
+
rows: string[][];
|
|
433
|
+
}>>;
|
|
434
|
+
/**
|
|
435
|
+
* Extract expense summary from receipt/invoice
|
|
436
|
+
*/
|
|
437
|
+
extractExpenseSummary(document: Document): Promise<{
|
|
438
|
+
vendor?: string;
|
|
439
|
+
total?: string;
|
|
440
|
+
date?: string;
|
|
441
|
+
items: Array<{
|
|
442
|
+
description?: string;
|
|
443
|
+
quantity?: string;
|
|
444
|
+
price?: string;
|
|
445
|
+
}>;
|
|
446
|
+
}>;
|
|
447
|
+
/**
|
|
448
|
+
* Answer questions about a document
|
|
449
|
+
*/
|
|
450
|
+
queryDocument(document: Document, questions: string[]): Promise<Array<{
|
|
451
|
+
question: string;
|
|
452
|
+
answer: string;
|
|
453
|
+
confidence: number;
|
|
454
|
+
}>>;
|
|
455
|
+
/**
|
|
456
|
+
* Wait for async job to complete
|
|
457
|
+
*/
|
|
458
|
+
waitForJob(jobId: string, getJob: (jobId: string) => Promise<{
|
|
459
|
+
JobStatus?: string;
|
|
460
|
+
}>, options?: {
|
|
461
|
+
maxWaitMs?: number;
|
|
462
|
+
pollIntervalMs?: number;
|
|
463
|
+
}): Promise<void>;
|
|
464
|
+
private getBlockText;
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* Quick text extraction from S3 document
|
|
468
|
+
*/
|
|
469
|
+
export declare function extractTextFromS3(bucket: string, key: string, region?: string): Promise<string>;
|
|
470
|
+
/**
|
|
471
|
+
* Quick form extraction from S3 document
|
|
472
|
+
*/
|
|
473
|
+
export declare function extractFormsFromS3(bucket: string, key: string, region?: string): Promise<Record<string, string>>;
|
|
474
|
+
/**
|
|
475
|
+
* Quick table extraction from S3 document
|
|
476
|
+
*/
|
|
477
|
+
export declare function extractTablesFromS3(bucket: string, key: string, region?: string): Promise<string[][][]>;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS Transcribe Client
|
|
3
|
+
* Direct API calls for Transcribe operations
|
|
4
|
+
*/
|
|
5
|
+
export interface TranscriptionJob {
|
|
6
|
+
TranscriptionJobName: string;
|
|
7
|
+
TranscriptionJobStatus: 'QUEUED' | 'IN_PROGRESS' | 'FAILED' | 'COMPLETED';
|
|
8
|
+
LanguageCode?: string;
|
|
9
|
+
MediaSampleRateHertz?: number;
|
|
10
|
+
MediaFormat?: string;
|
|
11
|
+
Media?: {
|
|
12
|
+
MediaFileUri?: string;
|
|
13
|
+
};
|
|
14
|
+
Transcript?: {
|
|
15
|
+
TranscriptFileUri?: string;
|
|
16
|
+
};
|
|
17
|
+
StartTime?: string;
|
|
18
|
+
CreationTime?: string;
|
|
19
|
+
CompletionTime?: string;
|
|
20
|
+
FailureReason?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Transcribe client for direct API calls
|
|
24
|
+
*/
|
|
25
|
+
export declare class TranscribeClient {
|
|
26
|
+
private client;
|
|
27
|
+
private region;
|
|
28
|
+
constructor(region?: string);
|
|
29
|
+
private request;
|
|
30
|
+
/**
|
|
31
|
+
* Start a transcription job
|
|
32
|
+
*/
|
|
33
|
+
startTranscriptionJob(params: {
|
|
34
|
+
TranscriptionJobName: string;
|
|
35
|
+
LanguageCode: string;
|
|
36
|
+
MediaFormat?: 'mp3' | 'mp4' | 'wav' | 'flac' | 'ogg' | 'amr' | 'webm';
|
|
37
|
+
Media: {
|
|
38
|
+
MediaFileUri: string;
|
|
39
|
+
};
|
|
40
|
+
OutputBucketName?: string;
|
|
41
|
+
OutputKey?: string;
|
|
42
|
+
Settings?: {
|
|
43
|
+
ShowSpeakerLabels?: boolean;
|
|
44
|
+
MaxSpeakerLabels?: number;
|
|
45
|
+
ChannelIdentification?: boolean;
|
|
46
|
+
ShowAlternatives?: boolean;
|
|
47
|
+
MaxAlternatives?: number;
|
|
48
|
+
};
|
|
49
|
+
}): Promise<{
|
|
50
|
+
TranscriptionJob: TranscriptionJob;
|
|
51
|
+
}>;
|
|
52
|
+
/**
|
|
53
|
+
* Get transcription job details
|
|
54
|
+
*/
|
|
55
|
+
getTranscriptionJob(params: {
|
|
56
|
+
TranscriptionJobName: string;
|
|
57
|
+
}): Promise<{
|
|
58
|
+
TranscriptionJob: TranscriptionJob;
|
|
59
|
+
}>;
|
|
60
|
+
/**
|
|
61
|
+
* List transcription jobs
|
|
62
|
+
*/
|
|
63
|
+
listTranscriptionJobs(params?: {
|
|
64
|
+
Status?: 'QUEUED' | 'IN_PROGRESS' | 'FAILED' | 'COMPLETED';
|
|
65
|
+
JobNameContains?: string;
|
|
66
|
+
NextToken?: string;
|
|
67
|
+
MaxResults?: number;
|
|
68
|
+
}): Promise<{
|
|
69
|
+
Status?: string;
|
|
70
|
+
NextToken?: string;
|
|
71
|
+
TranscriptionJobSummaries: TranscriptionJob[];
|
|
72
|
+
}>;
|
|
73
|
+
/**
|
|
74
|
+
* Delete a transcription job
|
|
75
|
+
*/
|
|
76
|
+
deleteTranscriptionJob(params: {
|
|
77
|
+
TranscriptionJobName: string;
|
|
78
|
+
}): Promise<void>;
|
|
79
|
+
}
|