@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
@@ -1,340 +0,0 @@
1
- /**
2
- * AWS DynamoDB Client
3
- * Direct API calls for DynamoDB operations
4
- */
5
-
6
- import { AWSClient } from './client'
7
-
8
- export interface AttributeValue {
9
- S?: string
10
- N?: string
11
- B?: string
12
- SS?: string[]
13
- NS?: string[]
14
- BS?: string[]
15
- M?: Record<string, AttributeValue>
16
- L?: AttributeValue[]
17
- NULL?: boolean
18
- BOOL?: boolean
19
- }
20
-
21
- export interface KeySchemaElement {
22
- AttributeName: string
23
- KeyType: 'HASH' | 'RANGE'
24
- }
25
-
26
- export interface AttributeDefinition {
27
- AttributeName: string
28
- AttributeType: 'S' | 'N' | 'B'
29
- }
30
-
31
- export interface GlobalSecondaryIndex {
32
- IndexName: string
33
- KeySchema: KeySchemaElement[]
34
- Projection: {
35
- ProjectionType: 'ALL' | 'KEYS_ONLY' | 'INCLUDE'
36
- NonKeyAttributes?: string[]
37
- }
38
- ProvisionedThroughput?: {
39
- ReadCapacityUnits: number
40
- WriteCapacityUnits: number
41
- }
42
- }
43
-
44
- export interface TableDescription {
45
- TableName: string
46
- TableStatus: 'CREATING' | 'UPDATING' | 'DELETING' | 'ACTIVE' | 'INACCESSIBLE_ENCRYPTION_CREDENTIALS' | 'ARCHIVING' | 'ARCHIVED'
47
- TableArn: string
48
- ItemCount: number
49
- TableSizeBytes: number
50
- CreationDateTime: string
51
- KeySchema: KeySchemaElement[]
52
- AttributeDefinitions: AttributeDefinition[]
53
- GlobalSecondaryIndexes?: GlobalSecondaryIndex[]
54
- }
55
-
56
- /**
57
- * DynamoDB client for direct API calls
58
- */
59
- export class DynamoDBClient {
60
- private client: AWSClient
61
- private region: string
62
-
63
- constructor(region: string = 'us-east-1') {
64
- this.region = region
65
- this.client = new AWSClient()
66
- }
67
-
68
- private async request<T>(action: string, params: Record<string, any>): Promise<T> {
69
- return this.client.request({
70
- service: 'dynamodb',
71
- region: this.region,
72
- method: 'POST',
73
- path: '/',
74
- headers: {
75
- 'Content-Type': 'application/x-amz-json-1.0',
76
- 'X-Amz-Target': `DynamoDB_20120810.${action}`,
77
- },
78
- body: JSON.stringify(params),
79
- })
80
- }
81
-
82
- /**
83
- * Create a new DynamoDB table
84
- */
85
- async createTable(params: {
86
- TableName: string
87
- KeySchema: KeySchemaElement[]
88
- AttributeDefinitions: AttributeDefinition[]
89
- BillingMode?: 'PROVISIONED' | 'PAY_PER_REQUEST'
90
- ProvisionedThroughput?: {
91
- ReadCapacityUnits: number
92
- WriteCapacityUnits: number
93
- }
94
- GlobalSecondaryIndexes?: GlobalSecondaryIndex[]
95
- Tags?: Array<{ Key: string; Value: string }>
96
- TimeToLiveSpecification?: {
97
- AttributeName: string
98
- Enabled: boolean
99
- }
100
- }): Promise<{ TableDescription: TableDescription }> {
101
- return this.request('CreateTable', params)
102
- }
103
-
104
- /**
105
- * Delete a DynamoDB table
106
- */
107
- async deleteTable(params: { TableName: string }): Promise<{ TableDescription: TableDescription }> {
108
- return this.request('DeleteTable', params)
109
- }
110
-
111
- /**
112
- * Describe a DynamoDB table
113
- */
114
- async describeTable(params: { TableName: string }): Promise<{ Table: TableDescription }> {
115
- return this.request('DescribeTable', params)
116
- }
117
-
118
- /**
119
- * List all DynamoDB tables
120
- */
121
- async listTables(params?: {
122
- ExclusiveStartTableName?: string
123
- Limit?: number
124
- }): Promise<{ TableNames: string[]; LastEvaluatedTableName?: string }> {
125
- return this.request('ListTables', params || {})
126
- }
127
-
128
- /**
129
- * Put an item into a table
130
- */
131
- async putItem(params: {
132
- TableName: string
133
- Item: Record<string, AttributeValue>
134
- ConditionExpression?: string
135
- ExpressionAttributeNames?: Record<string, string>
136
- ExpressionAttributeValues?: Record<string, AttributeValue>
137
- ReturnValues?: 'NONE' | 'ALL_OLD'
138
- }): Promise<{ Attributes?: Record<string, AttributeValue> }> {
139
- return this.request('PutItem', params)
140
- }
141
-
142
- /**
143
- * Get an item from a table
144
- */
145
- async getItem(params: {
146
- TableName: string
147
- Key: Record<string, AttributeValue>
148
- ProjectionExpression?: string
149
- ExpressionAttributeNames?: Record<string, string>
150
- ConsistentRead?: boolean
151
- }): Promise<{ Item?: Record<string, AttributeValue> }> {
152
- return this.request('GetItem', params)
153
- }
154
-
155
- /**
156
- * Update an item in a table
157
- */
158
- async updateItem(params: {
159
- TableName: string
160
- Key: Record<string, AttributeValue>
161
- UpdateExpression: string
162
- ConditionExpression?: string
163
- ExpressionAttributeNames?: Record<string, string>
164
- ExpressionAttributeValues?: Record<string, AttributeValue>
165
- ReturnValues?: 'NONE' | 'ALL_OLD' | 'UPDATED_OLD' | 'ALL_NEW' | 'UPDATED_NEW'
166
- }): Promise<{ Attributes?: Record<string, AttributeValue> }> {
167
- return this.request('UpdateItem', params)
168
- }
169
-
170
- /**
171
- * Delete an item from a table
172
- */
173
- async deleteItem(params: {
174
- TableName: string
175
- Key: Record<string, AttributeValue>
176
- ConditionExpression?: string
177
- ExpressionAttributeNames?: Record<string, string>
178
- ExpressionAttributeValues?: Record<string, AttributeValue>
179
- ReturnValues?: 'NONE' | 'ALL_OLD'
180
- }): Promise<{ Attributes?: Record<string, AttributeValue> }> {
181
- return this.request('DeleteItem', params)
182
- }
183
-
184
- /**
185
- * Query items from a table
186
- */
187
- async query(params: {
188
- TableName: string
189
- IndexName?: string
190
- KeyConditionExpression: string
191
- FilterExpression?: string
192
- ProjectionExpression?: string
193
- ExpressionAttributeNames?: Record<string, string>
194
- ExpressionAttributeValues?: Record<string, AttributeValue>
195
- Limit?: number
196
- ExclusiveStartKey?: Record<string, AttributeValue>
197
- ScanIndexForward?: boolean
198
- ConsistentRead?: boolean
199
- }): Promise<{
200
- Items: Array<Record<string, AttributeValue>>
201
- Count: number
202
- ScannedCount: number
203
- LastEvaluatedKey?: Record<string, AttributeValue>
204
- }> {
205
- return this.request('Query', params)
206
- }
207
-
208
- /**
209
- * Scan items from a table
210
- */
211
- async scan(params: {
212
- TableName: string
213
- IndexName?: string
214
- FilterExpression?: string
215
- ProjectionExpression?: string
216
- ExpressionAttributeNames?: Record<string, string>
217
- ExpressionAttributeValues?: Record<string, AttributeValue>
218
- Limit?: number
219
- ExclusiveStartKey?: Record<string, AttributeValue>
220
- ConsistentRead?: boolean
221
- }): Promise<{
222
- Items: Array<Record<string, AttributeValue>>
223
- Count: number
224
- ScannedCount: number
225
- LastEvaluatedKey?: Record<string, AttributeValue>
226
- }> {
227
- return this.request('Scan', params)
228
- }
229
-
230
- /**
231
- * Batch write items
232
- */
233
- async batchWriteItem(params: {
234
- RequestItems: Record<string, Array<{
235
- PutRequest?: { Item: Record<string, AttributeValue> }
236
- DeleteRequest?: { Key: Record<string, AttributeValue> }
237
- }>>
238
- }): Promise<{
239
- UnprocessedItems: Record<string, Array<{
240
- PutRequest?: { Item: Record<string, AttributeValue> }
241
- DeleteRequest?: { Key: Record<string, AttributeValue> }
242
- }>>
243
- }> {
244
- return this.request('BatchWriteItem', params)
245
- }
246
-
247
- /**
248
- * Batch get items
249
- */
250
- async batchGetItem(params: {
251
- RequestItems: Record<string, {
252
- Keys: Array<Record<string, AttributeValue>>
253
- ProjectionExpression?: string
254
- ExpressionAttributeNames?: Record<string, string>
255
- ConsistentRead?: boolean
256
- }>
257
- }): Promise<{
258
- Responses: Record<string, Array<Record<string, AttributeValue>>>
259
- UnprocessedKeys: Record<string, {
260
- Keys: Array<Record<string, AttributeValue>>
261
- }>
262
- }> {
263
- return this.request('BatchGetItem', params)
264
- }
265
-
266
- /**
267
- * Update time to live settings
268
- */
269
- async updateTimeToLive(params: {
270
- TableName: string
271
- TimeToLiveSpecification: {
272
- AttributeName: string
273
- Enabled: boolean
274
- }
275
- }): Promise<{ TimeToLiveSpecification: { AttributeName: string; Enabled: boolean } }> {
276
- return this.request('UpdateTimeToLive', params)
277
- }
278
-
279
- /**
280
- * Helper: Marshal a JavaScript object to DynamoDB format
281
- */
282
- static marshal(obj: Record<string, any>): Record<string, AttributeValue> {
283
- const result: Record<string, AttributeValue> = {}
284
- for (const [key, value] of Object.entries(obj)) {
285
- result[key] = DynamoDBClient.marshalValue(value)
286
- }
287
- return result
288
- }
289
-
290
- /**
291
- * Helper: Marshal a single value to DynamoDB format
292
- */
293
- static marshalValue(value: any): AttributeValue {
294
- if (value === null || value === undefined) {
295
- return { NULL: true }
296
- }
297
- if (typeof value === 'string') {
298
- return { S: value }
299
- }
300
- if (typeof value === 'number') {
301
- return { N: String(value) }
302
- }
303
- if (typeof value === 'boolean') {
304
- return { BOOL: value }
305
- }
306
- if (Array.isArray(value)) {
307
- return { L: value.map(v => DynamoDBClient.marshalValue(v)) }
308
- }
309
- if (typeof value === 'object') {
310
- return { M: DynamoDBClient.marshal(value) }
311
- }
312
- return { S: String(value) }
313
- }
314
-
315
- /**
316
- * Helper: Unmarshal DynamoDB format to JavaScript object
317
- */
318
- static unmarshal(item: Record<string, AttributeValue>): Record<string, any> {
319
- const result: Record<string, any> = {}
320
- for (const [key, value] of Object.entries(item)) {
321
- result[key] = DynamoDBClient.unmarshalValue(value)
322
- }
323
- return result
324
- }
325
-
326
- /**
327
- * Helper: Unmarshal a single DynamoDB value
328
- */
329
- static unmarshalValue(value: AttributeValue): any {
330
- if (value.S !== undefined) return value.S
331
- if (value.N !== undefined) return Number(value.N)
332
- if (value.BOOL !== undefined) return value.BOOL
333
- if (value.NULL !== undefined) return null
334
- if (value.L !== undefined) return value.L.map(v => DynamoDBClient.unmarshalValue(v))
335
- if (value.M !== undefined) return DynamoDBClient.unmarshal(value.M)
336
- if (value.SS !== undefined) return value.SS
337
- if (value.NS !== undefined) return value.NS.map(Number)
338
- return null
339
- }
340
- }