alchemy 0.54.0 → 0.55.0

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 (91) hide show
  1. package/lib/aws/ec2/index.d.ts +10 -0
  2. package/lib/aws/ec2/index.d.ts.map +1 -0
  3. package/lib/aws/ec2/index.js +10 -0
  4. package/lib/aws/ec2/index.js.map +1 -0
  5. package/lib/aws/ec2/internet-gateway-attachment.d.ts +150 -0
  6. package/lib/aws/ec2/internet-gateway-attachment.d.ts.map +1 -0
  7. package/lib/aws/ec2/internet-gateway-attachment.js +248 -0
  8. package/lib/aws/ec2/internet-gateway-attachment.js.map +1 -0
  9. package/lib/aws/ec2/internet-gateway.d.ts +132 -0
  10. package/lib/aws/ec2/internet-gateway.d.ts.map +1 -0
  11. package/lib/aws/ec2/internet-gateway.js +311 -0
  12. package/lib/aws/ec2/internet-gateway.js.map +1 -0
  13. package/lib/aws/ec2/nat-gateway.d.ts +145 -0
  14. package/lib/aws/ec2/nat-gateway.d.ts.map +1 -0
  15. package/lib/aws/ec2/nat-gateway.js +618 -0
  16. package/lib/aws/ec2/nat-gateway.js.map +1 -0
  17. package/lib/aws/ec2/route-table-association.d.ts +134 -0
  18. package/lib/aws/ec2/route-table-association.d.ts.map +1 -0
  19. package/lib/aws/ec2/route-table-association.js +364 -0
  20. package/lib/aws/ec2/route-table-association.js.map +1 -0
  21. package/lib/aws/ec2/route-table.d.ts +94 -0
  22. package/lib/aws/ec2/route-table.d.ts.map +1 -0
  23. package/lib/aws/ec2/route-table.js +253 -0
  24. package/lib/aws/ec2/route-table.js.map +1 -0
  25. package/lib/aws/ec2/route.d.ts +130 -0
  26. package/lib/aws/ec2/route.d.ts.map +1 -0
  27. package/lib/aws/ec2/route.js +253 -0
  28. package/lib/aws/ec2/route.js.map +1 -0
  29. package/lib/aws/ec2/security-group-rule.d.ts +84 -0
  30. package/lib/aws/ec2/security-group-rule.d.ts.map +1 -0
  31. package/lib/aws/ec2/security-group-rule.js +123 -0
  32. package/lib/aws/ec2/security-group-rule.js.map +1 -0
  33. package/lib/aws/ec2/security-group.d.ts +84 -0
  34. package/lib/aws/ec2/security-group.d.ts.map +1 -0
  35. package/lib/aws/ec2/security-group.js +207 -0
  36. package/lib/aws/ec2/security-group.js.map +1 -0
  37. package/lib/aws/ec2/subnet.d.ts +110 -0
  38. package/lib/aws/ec2/subnet.d.ts.map +1 -0
  39. package/lib/aws/ec2/subnet.js +336 -0
  40. package/lib/aws/ec2/subnet.js.map +1 -0
  41. package/lib/aws/ec2/utils.d.ts +15 -0
  42. package/lib/aws/ec2/utils.d.ts.map +1 -0
  43. package/lib/aws/ec2/utils.js +79 -0
  44. package/lib/aws/ec2/utils.js.map +1 -0
  45. package/lib/aws/ec2/vpc.d.ts +160 -0
  46. package/lib/aws/ec2/vpc.d.ts.map +1 -0
  47. package/lib/aws/ec2/vpc.js +453 -0
  48. package/lib/aws/ec2/vpc.js.map +1 -0
  49. package/lib/aws/index.d.ts +7 -0
  50. package/lib/aws/index.d.ts.map +1 -1
  51. package/lib/aws/index.js +8 -0
  52. package/lib/aws/index.js.map +1 -1
  53. package/lib/aws/utils.d.ts +25 -0
  54. package/lib/aws/utils.d.ts.map +1 -0
  55. package/lib/aws/utils.js +89 -0
  56. package/lib/aws/utils.js.map +1 -0
  57. package/lib/build-date.d.ts +6 -0
  58. package/lib/build-date.d.ts.map +1 -0
  59. package/lib/build-date.js +8 -0
  60. package/lib/build-date.js.map +1 -0
  61. package/lib/util/params.d.ts +5 -0
  62. package/lib/util/params.d.ts.map +1 -0
  63. package/lib/util/params.js +30 -0
  64. package/lib/util/params.js.map +1 -0
  65. package/lib/util/timeout.d.ts +31 -0
  66. package/lib/util/timeout.d.ts.map +1 -0
  67. package/lib/util/timeout.js +109 -0
  68. package/lib/util/timeout.js.map +1 -0
  69. package/lib/util/xml.d.ts +5 -0
  70. package/lib/util/xml.d.ts.map +1 -0
  71. package/lib/util/xml.js +8 -0
  72. package/lib/util/xml.js.map +1 -0
  73. package/package.json +3 -1
  74. package/src/aws/ec2/index.ts +9 -0
  75. package/src/aws/ec2/internet-gateway-attachment.ts +468 -0
  76. package/src/aws/ec2/internet-gateway.ts +557 -0
  77. package/src/aws/ec2/nat-gateway.ts +1123 -0
  78. package/src/aws/ec2/route-table-association.ts +747 -0
  79. package/src/aws/ec2/route-table.ts +452 -0
  80. package/src/aws/ec2/route.ts +447 -0
  81. package/src/aws/ec2/security-group-rule.ts +229 -0
  82. package/src/aws/ec2/security-group.ts +418 -0
  83. package/src/aws/ec2/subnet.ts +625 -0
  84. package/src/aws/ec2/utils.ts +102 -0
  85. package/src/aws/ec2/vpc.ts +969 -0
  86. package/src/aws/index.ts +9 -0
  87. package/src/aws/utils.ts +137 -0
  88. package/src/build-date.ts +8 -0
  89. package/src/util/params.ts +33 -0
  90. package/src/util/timeout.ts +178 -0
  91. package/src/util/xml.ts +7 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-date.js","sourceRoot":"","sources":["../src/build-date.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,uBAAuB;AAEvB;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Flatten nested parameters for API calls
3
+ */
4
+ export declare function flattenParams(params: Record<string, any>, prefix?: string): Record<string, string>;
5
+ //# sourceMappingURL=params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../src/util/params.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,MAAM,SAAK,GACV,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0BxB"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Flatten nested parameters for API calls
3
+ */
4
+ export function flattenParams(params, prefix = "") {
5
+ const result = {};
6
+ for (const [key, value] of Object.entries(params)) {
7
+ const fullKey = prefix ? `${prefix}.${key}` : key;
8
+ if (value === null || value === undefined) {
9
+ continue;
10
+ }
11
+ if (Array.isArray(value)) {
12
+ value.forEach((item, index) => {
13
+ if (typeof item === "object") {
14
+ Object.assign(result, flattenParams(item, `${fullKey}.${index + 1}`));
15
+ }
16
+ else {
17
+ result[`${fullKey}.${index + 1}`] = String(item);
18
+ }
19
+ });
20
+ }
21
+ else if (typeof value === "object") {
22
+ Object.assign(result, flattenParams(value, fullKey));
23
+ }
24
+ else {
25
+ result[fullKey] = String(value);
26
+ }
27
+ }
28
+ return result;
29
+ }
30
+ //# sourceMappingURL=params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/util/params.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,MAA2B,EAC3B,MAAM,GAAG,EAAE;IAEX,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAElD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,SAAS;QACX,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,GAAG,OAAO,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxE,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GAAG,OAAO,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Timeout configuration interface
3
+ */
4
+ export interface TimeoutConfig {
5
+ maxAttempts: number;
6
+ delayMs: number;
7
+ }
8
+ /**
9
+ * Resource timeout error class
10
+ */
11
+ export declare class ResourceTimeoutError extends Error {
12
+ constructor(resourceType: string, resourceId: string, timeoutMs: number, operation: string);
13
+ }
14
+ /**
15
+ * Validate timeout configuration
16
+ */
17
+ export declare function validateTimeoutConfig(config: TimeoutConfig): void;
18
+ /**
19
+ * Merge default timeout configuration with optional overrides
20
+ */
21
+ export declare function mergeTimeoutConfig(defaultConfig: TimeoutConfig, override?: Partial<TimeoutConfig>): TimeoutConfig;
22
+ /**
23
+ * Wait for a resource to reach a desired state with configurable timeout
24
+ */
25
+ export declare function waitForResourceState<T>(checkFunction: () => Promise<T>, isReady: (result: T) => boolean, config: TimeoutConfig, resourceId: string, resourceType: string, operation?: string): Promise<void>;
26
+ /**
27
+ * Generic function to wait for an operation to complete
28
+ * This is the most flexible version that can handle any type of operation
29
+ */
30
+ export declare function waitForOperation<T>(checkFunction: () => Promise<T>, isComplete: (result: T) => boolean, config: TimeoutConfig, resourceId: string, resourceType: string, operation?: string, onError?: (error: any, attempt: number, maxAttempts: number) => boolean): Promise<void>;
31
+ //# sourceMappingURL=timeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../src/util/timeout.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;gBAE3C,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM;CAOpB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAOjE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,aAAa,EAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAChC,aAAa,CAYf;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,aAAa,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC/B,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,EAC/B,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,SAAS,SAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CA2Cf;AACD;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,aAAa,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC/B,UAAU,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,EAClC,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,SAAS,SAAa,EACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,GACtE,OAAO,CAAC,IAAI,CAAC,CAsDf"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Resource timeout error class
3
+ */
4
+ export class ResourceTimeoutError extends Error {
5
+ constructor(resourceType, resourceId, timeoutMs, operation) {
6
+ super(`${resourceType} ${resourceId} did not complete ${operation} within ${timeoutMs}ms`);
7
+ this.name = "ResourceTimeoutError";
8
+ }
9
+ }
10
+ /**
11
+ * Validate timeout configuration
12
+ */
13
+ export function validateTimeoutConfig(config) {
14
+ if (config.maxAttempts <= 0) {
15
+ throw new Error("maxAttempts must be greater than 0");
16
+ }
17
+ if (config.delayMs <= 0) {
18
+ throw new Error("delayMs must be greater than 0");
19
+ }
20
+ }
21
+ /**
22
+ * Merge default timeout configuration with optional overrides
23
+ */
24
+ export function mergeTimeoutConfig(defaultConfig, override) {
25
+ if (!override) {
26
+ return defaultConfig;
27
+ }
28
+ const merged = {
29
+ maxAttempts: override.maxAttempts ?? defaultConfig.maxAttempts,
30
+ delayMs: override.delayMs ?? defaultConfig.delayMs,
31
+ };
32
+ validateTimeoutConfig(merged);
33
+ return merged;
34
+ }
35
+ /**
36
+ * Wait for a resource to reach a desired state with configurable timeout
37
+ */
38
+ export async function waitForResourceState(checkFunction, isReady, config, resourceId, resourceType, operation = "become ready") {
39
+ validateTimeoutConfig(config);
40
+ const { maxAttempts, delayMs } = config;
41
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
42
+ try {
43
+ const result = await checkFunction();
44
+ if (isReady(result)) {
45
+ return;
46
+ }
47
+ console.log(`${resourceType} ${resourceId} not ready, waiting... (attempt ${attempt}/${maxAttempts})`);
48
+ if (attempt < maxAttempts) {
49
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
50
+ }
51
+ }
52
+ catch (error) {
53
+ console.log(`Error checking ${resourceType} status (attempt ${attempt}/${maxAttempts}):`, error);
54
+ // Check if this is a non-retryable error (contains "NonRetryableError" in the name)
55
+ if (error instanceof Error && error.name.includes("NonRetryableError")) {
56
+ throw error;
57
+ }
58
+ if (attempt === maxAttempts) {
59
+ throw error;
60
+ }
61
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
62
+ }
63
+ }
64
+ const totalTimeMs = maxAttempts * delayMs;
65
+ throw new ResourceTimeoutError(resourceType, resourceId, totalTimeMs, operation);
66
+ }
67
+ /**
68
+ * Generic function to wait for an operation to complete
69
+ * This is the most flexible version that can handle any type of operation
70
+ */
71
+ export async function waitForOperation(checkFunction, isComplete, config, resourceId, resourceType, operation = "complete", onError) {
72
+ validateTimeoutConfig(config);
73
+ const { maxAttempts, delayMs } = config;
74
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
75
+ try {
76
+ const result = await checkFunction();
77
+ if (isComplete(result)) {
78
+ console.log(`${resourceType} ${resourceId} ${operation} completed`);
79
+ return;
80
+ }
81
+ console.log(`${resourceType} ${resourceId} ${operation} in progress... (attempt ${attempt}/${maxAttempts})`);
82
+ if (attempt < maxAttempts) {
83
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
84
+ }
85
+ }
86
+ catch (error) {
87
+ // Allow custom error handling
88
+ if (onError) {
89
+ const shouldContinue = onError(error, attempt, maxAttempts);
90
+ if (!shouldContinue) {
91
+ // If onError returns false, it means the operation completed successfully
92
+ // (e.g., resource was deleted and not found)
93
+ console.log(`${resourceType} ${resourceId} ${operation} completed (via error handling)`);
94
+ return;
95
+ }
96
+ }
97
+ else {
98
+ console.log(`Error checking ${resourceType} ${operation} status (attempt ${attempt}/${maxAttempts}):`, error);
99
+ }
100
+ if (attempt === maxAttempts) {
101
+ throw error;
102
+ }
103
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
104
+ }
105
+ }
106
+ const totalTimeMs = maxAttempts * delayMs;
107
+ throw new ResourceTimeoutError(resourceType, resourceId, totalTimeMs, operation);
108
+ }
109
+ //# sourceMappingURL=timeout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../src/util/timeout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Extract value from XML string
3
+ */
4
+ export declare function extractXmlValue(xml: string, tagName: string): string;
5
+ //# sourceMappingURL=xml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xml.d.ts","sourceRoot":"","sources":["../../src/util/xml.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAGpE"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Extract value from XML string
3
+ */
4
+ export function extractXmlValue(xml, tagName) {
5
+ const match = xml.match(new RegExp(`<${tagName}>(.*?)<\/${tagName}>`));
6
+ return match ? match[1] : "";
7
+ }
8
+ //# sourceMappingURL=xml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xml.js","sourceRoot":"","sources":["../../src/util/xml.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,OAAe;IAC1D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,OAAO,YAAY,OAAO,GAAG,CAAC,CAAC,CAAC;IACvE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "alchemy",
3
- "version": "0.54.0",
3
+ "version": "0.55.0",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Sam Goodwin <sam@alchemy.run>",
6
6
  "homepage": "https://alchemy.run",
@@ -145,6 +145,7 @@
145
145
  "diff": "^8.0.2",
146
146
  "esbuild": "^0.25.1",
147
147
  "fast-json-patch": "^3.1.1",
148
+ "fast-xml-parser": "^5.2.5",
148
149
  "glob": "^10.0.0",
149
150
  "jszip": "^3.0.0",
150
151
  "kleur": "^4.1.5",
@@ -164,6 +165,7 @@
164
165
  "@ai-sdk/openai": "^1.1.9",
165
166
  "@ai-sdk/openai-compatible": "^0.2.2",
166
167
  "@aws-sdk/client-dynamodb": "^3.0.0",
168
+ "@aws-sdk/client-ec2": "^3.0.0",
167
169
  "@aws-sdk/client-iam": "^3.0.0",
168
170
  "@aws-sdk/client-lambda": "^3.0.0",
169
171
  "@aws-sdk/client-s3": "^3.0.0",
@@ -0,0 +1,9 @@
1
+ export * from "./internet-gateway-attachment.ts";
2
+ export * from "./internet-gateway.ts";
3
+ export * from "./nat-gateway.ts";
4
+ export * from "./route-table-association.ts";
5
+ export * from "./route-table.ts";
6
+ export * from "./route.ts";
7
+ export * from "./security-group.ts";
8
+ export * from "./subnet.ts";
9
+ export * from "./vpc.ts";