@quiltdata/benchling-webhook 0.7.4-20251107T053446Z → 0.7.4-20251113T165616Z

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 (62) hide show
  1. package/README.md +6 -4
  2. package/dist/bin/cli.js +34 -24
  3. package/dist/bin/cli.js.map +1 -1
  4. package/dist/bin/commands/get-env.d.ts +16 -0
  5. package/dist/bin/commands/get-env.d.ts.map +1 -0
  6. package/dist/bin/commands/get-env.js +210 -0
  7. package/dist/bin/commands/get-env.js.map +1 -0
  8. package/dist/bin/commands/infer-quilt-config.d.ts +3 -2
  9. package/dist/bin/commands/infer-quilt-config.d.ts.map +1 -1
  10. package/dist/bin/commands/infer-quilt-config.js +39 -65
  11. package/dist/bin/commands/infer-quilt-config.js.map +1 -1
  12. package/dist/bin/commands/install.d.ts +57 -0
  13. package/dist/bin/commands/install.d.ts.map +1 -0
  14. package/dist/bin/commands/install.js +166 -0
  15. package/dist/bin/commands/install.js.map +1 -0
  16. package/dist/bin/commands/setup-wizard.d.ts +12 -2
  17. package/dist/bin/commands/setup-wizard.d.ts.map +1 -1
  18. package/dist/bin/commands/setup-wizard.js +123 -131
  19. package/dist/bin/commands/setup-wizard.js.map +1 -1
  20. package/dist/bin/commands/sync-secrets.d.ts +6 -3
  21. package/dist/bin/commands/sync-secrets.d.ts.map +1 -1
  22. package/dist/bin/commands/sync-secrets.js +14 -6
  23. package/dist/bin/commands/sync-secrets.js.map +1 -1
  24. package/dist/lib/context-detector.d.ts +33 -0
  25. package/dist/lib/context-detector.d.ts.map +1 -0
  26. package/dist/lib/context-detector.js +224 -0
  27. package/dist/lib/context-detector.js.map +1 -0
  28. package/dist/lib/interfaces/config-storage.d.ts +80 -0
  29. package/dist/lib/interfaces/config-storage.d.ts.map +1 -0
  30. package/dist/lib/interfaces/config-storage.js +9 -0
  31. package/dist/lib/interfaces/config-storage.js.map +1 -0
  32. package/dist/lib/next-steps-generator.d.ts +53 -0
  33. package/dist/lib/next-steps-generator.d.ts.map +1 -0
  34. package/dist/lib/next-steps-generator.js +180 -0
  35. package/dist/lib/next-steps-generator.js.map +1 -0
  36. package/dist/lib/types/next-steps.d.ts +93 -0
  37. package/dist/lib/types/next-steps.d.ts.map +1 -0
  38. package/dist/lib/types/next-steps.js +8 -0
  39. package/dist/lib/types/next-steps.js.map +1 -0
  40. package/dist/lib/utils/stack-inference.d.ts +28 -0
  41. package/dist/lib/utils/stack-inference.d.ts.map +1 -1
  42. package/dist/lib/utils/stack-inference.js +61 -0
  43. package/dist/lib/utils/stack-inference.js.map +1 -1
  44. package/dist/lib/xdg-base.d.ts +306 -0
  45. package/dist/lib/xdg-base.d.ts.map +1 -0
  46. package/dist/lib/xdg-base.js +440 -0
  47. package/dist/lib/xdg-base.js.map +1 -0
  48. package/dist/lib/xdg-config.d.ts +54 -187
  49. package/dist/lib/xdg-config.d.ts.map +1 -1
  50. package/dist/lib/xdg-config.js +83 -342
  51. package/dist/lib/xdg-config.js.map +1 -1
  52. package/dist/package.json +5 -4
  53. package/dist/scripts/list-quilt-stacks.d.ts +14 -0
  54. package/dist/scripts/list-quilt-stacks.d.ts.map +1 -0
  55. package/dist/scripts/list-quilt-stacks.js +96 -0
  56. package/dist/scripts/list-quilt-stacks.js.map +1 -0
  57. package/env.template +79 -0
  58. package/package.json +5 -4
  59. package/dist/bin/commands/config-show.d.ts +0 -14
  60. package/dist/bin/commands/config-show.d.ts.map +0 -1
  61. package/dist/bin/commands/config-show.js +0 -24
  62. package/dist/bin/commands/config-show.js.map +0 -1
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Next steps message generator
3
+ *
4
+ * Generates context-appropriate command suggestions after setup completion.
5
+ * Supports both repository context (npm scripts) and npx context, and handles
6
+ * deployment results for Phase 3 command chaining.
7
+ *
8
+ * @module lib/next-steps-generator
9
+ */
10
+ import { NextStepsOptions } from "./types/next-steps";
11
+ /**
12
+ * Generate next steps message after setup completion
13
+ *
14
+ * Produces context-appropriate command suggestions based on the
15
+ * deployment profile, execution context, and deployment results.
16
+ * Commands are formatted differently for repository context (npm scripts)
17
+ * vs npx context.
18
+ *
19
+ * @param options - Configuration for next steps generation
20
+ * @param options.profile - Deployment profile name (default, dev, prod, or custom)
21
+ * @param options.stage - Deployment stage (optional)
22
+ * @param options.context - Execution context (optional, auto-detected if not provided)
23
+ * @param options.deployment - Deployment result (optional, for post-deploy next steps)
24
+ * @param options.skipDeployment - Whether deployment was skipped (optional)
25
+ * @returns Formatted next steps message with commands
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * // After setup only (no deployment)
30
+ * const steps = generateNextSteps({ profile: 'default', skipDeployment: true });
31
+ * console.log(steps);
32
+ * // Output:
33
+ * // Next steps:
34
+ * // 1. Deploy to AWS: npm run deploy
35
+ * // 2. Test integration: npm run test
36
+ *
37
+ * // After successful deployment
38
+ * const steps = generateNextSteps({
39
+ * profile: 'default',
40
+ * deployment: {
41
+ * success: true,
42
+ * webhookUrl: 'https://example.com/webhook'
43
+ * }
44
+ * });
45
+ * // Output:
46
+ * // Webhook URL: https://example.com/webhook
47
+ * // Next steps:
48
+ * // 1. Configure webhook URL in Benchling
49
+ * // 2. Test webhook: npm run test
50
+ * ```
51
+ */
52
+ export declare function generateNextSteps(options: NextStepsOptions): string;
53
+ //# sourceMappingURL=next-steps-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-steps-generator.d.ts","sourceRoot":"","sources":["../../lib/next-steps-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CA8CnE"}
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ /**
3
+ * Next steps message generator
4
+ *
5
+ * Generates context-appropriate command suggestions after setup completion.
6
+ * Supports both repository context (npm scripts) and npx context, and handles
7
+ * deployment results for Phase 3 command chaining.
8
+ *
9
+ * @module lib/next-steps-generator
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.generateNextSteps = generateNextSteps;
13
+ const context_detector_1 = require("./context-detector");
14
+ /**
15
+ * Generate next steps message after setup completion
16
+ *
17
+ * Produces context-appropriate command suggestions based on the
18
+ * deployment profile, execution context, and deployment results.
19
+ * Commands are formatted differently for repository context (npm scripts)
20
+ * vs npx context.
21
+ *
22
+ * @param options - Configuration for next steps generation
23
+ * @param options.profile - Deployment profile name (default, dev, prod, or custom)
24
+ * @param options.stage - Deployment stage (optional)
25
+ * @param options.context - Execution context (optional, auto-detected if not provided)
26
+ * @param options.deployment - Deployment result (optional, for post-deploy next steps)
27
+ * @param options.skipDeployment - Whether deployment was skipped (optional)
28
+ * @returns Formatted next steps message with commands
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * // After setup only (no deployment)
33
+ * const steps = generateNextSteps({ profile: 'default', skipDeployment: true });
34
+ * console.log(steps);
35
+ * // Output:
36
+ * // Next steps:
37
+ * // 1. Deploy to AWS: npm run deploy
38
+ * // 2. Test integration: npm run test
39
+ *
40
+ * // After successful deployment
41
+ * const steps = generateNextSteps({
42
+ * profile: 'default',
43
+ * deployment: {
44
+ * success: true,
45
+ * webhookUrl: 'https://example.com/webhook'
46
+ * }
47
+ * });
48
+ * // Output:
49
+ * // Webhook URL: https://example.com/webhook
50
+ * // Next steps:
51
+ * // 1. Configure webhook URL in Benchling
52
+ * // 2. Test webhook: npm run test
53
+ * ```
54
+ */
55
+ function generateNextSteps(options) {
56
+ const { profile = "default", deployment, skipDeployment = false, context } = options;
57
+ // Auto-detect context if not provided (backward compatibility)
58
+ const execContext = context || (0, context_detector_1.detectExecutionContext)();
59
+ const lines = [];
60
+ // Handle deployment results (Phase 3)
61
+ if (deployment) {
62
+ if (deployment.success && deployment.webhookUrl) {
63
+ // Successful deployment - show webhook URL
64
+ lines.push("");
65
+ lines.push(`Webhook URL: ${deployment.webhookUrl}`);
66
+ lines.push("");
67
+ lines.push("Next steps:");
68
+ lines.push(" 1. Configure webhook URL in Benchling app settings");
69
+ lines.push(` 2. Test webhook: ${formatTestCommand(profile, execContext)}`);
70
+ lines.push(` 3. Check logs: ${formatHealthCheckCommand(profile, execContext)}`);
71
+ }
72
+ else if (!deployment.success) {
73
+ // Failed deployment - show recovery steps
74
+ lines.push("");
75
+ lines.push("Setup was successful, but deployment failed.");
76
+ if (deployment.error) {
77
+ lines.push(`Error: ${deployment.error}`);
78
+ }
79
+ lines.push("");
80
+ lines.push("Next steps:");
81
+ lines.push(" 1. Fix the error above");
82
+ lines.push(` 2. Retry deployment: ${formatDeployCommand(profile, execContext)}`);
83
+ lines.push(` 3. Check configuration: ${formatHealthCheckCommand(profile, execContext)}`);
84
+ }
85
+ }
86
+ else if (skipDeployment) {
87
+ // Setup complete, deployment skipped - show deploy command
88
+ lines.push("Next steps:");
89
+ lines.push(` 1. Deploy to AWS: ${formatDeployCommand(profile, execContext)}`);
90
+ lines.push(` 2. Test integration: ${formatTestCommand(profile, execContext)}`);
91
+ lines.push(` 3. Check configuration: ${formatHealthCheckCommand(profile, execContext)}`);
92
+ }
93
+ else {
94
+ // Default: setup complete without deployment info (backward compatibility)
95
+ lines.push("Next steps:");
96
+ lines.push(` 1. Deploy to AWS: ${formatDeployCommand(profile, execContext)}`);
97
+ lines.push(` 2. Test integration: ${formatTestCommand(profile, execContext)}`);
98
+ }
99
+ return lines.join("\n");
100
+ }
101
+ /**
102
+ * Format deploy command for given profile and context
103
+ *
104
+ * @param profile - Profile name
105
+ * @param context - Execution context
106
+ * @returns Formatted deploy command
107
+ */
108
+ function formatDeployCommand(profile, context) {
109
+ if (context.isRepository) {
110
+ // Repository context - use npm scripts
111
+ if (profile === "default")
112
+ return "npm run deploy";
113
+ if (profile === "dev")
114
+ return "npm run deploy:dev";
115
+ if (profile === "prod")
116
+ return "npm run deploy:prod";
117
+ return `npm run deploy -- --profile ${profile} --stage ${profile}`;
118
+ }
119
+ else {
120
+ // NPX context - use npx commands
121
+ if (profile === "default")
122
+ return `npx ${context.packageName} deploy`;
123
+ if (profile === "dev")
124
+ return `npx ${context.packageName} deploy --profile ${profile} --stage dev`;
125
+ if (profile === "prod")
126
+ return `npx ${context.packageName} deploy --profile ${profile} --stage prod`;
127
+ return `npx ${context.packageName} deploy --profile ${profile} --stage ${profile}`;
128
+ }
129
+ }
130
+ /**
131
+ * Format test/logs command for given profile and context
132
+ *
133
+ * @param profile - Profile name
134
+ * @param context - Execution context
135
+ * @returns Formatted test or logs command
136
+ */
137
+ function formatTestCommand(profile, context) {
138
+ if (context.isRepository) {
139
+ // Repository context - use npm scripts
140
+ if (profile === "default")
141
+ return "npm run test";
142
+ if (profile === "dev")
143
+ return "npm run test:dev";
144
+ if (profile === "prod")
145
+ return "npm run test:prod";
146
+ return `npx ts-node scripts/check-logs.ts --profile ${profile}`;
147
+ }
148
+ else {
149
+ // NPX context - use npx commands
150
+ if (profile === "default")
151
+ return `npx ${context.packageName} test`;
152
+ if (profile === "dev")
153
+ return `npx ${context.packageName} test --profile ${profile}`;
154
+ if (profile === "prod")
155
+ return `npx ${context.packageName} test --profile ${profile}`;
156
+ return `npx ${context.packageName} test --profile ${profile}`;
157
+ }
158
+ }
159
+ /**
160
+ * Format health check command for given profile and context
161
+ *
162
+ * @param profile - Profile name
163
+ * @param context - Execution context
164
+ * @returns Formatted health check command
165
+ */
166
+ function formatHealthCheckCommand(profile, context) {
167
+ if (context.isRepository) {
168
+ // Repository context - use npm scripts
169
+ if (profile === "default")
170
+ return "npm run setup:health";
171
+ return `npm run setup:health -- --profile ${profile}`;
172
+ }
173
+ else {
174
+ // NPX context - use npx commands
175
+ if (profile === "default")
176
+ return `npx ${context.packageName} health-check`;
177
+ return `npx ${context.packageName} health-check --profile ${profile}`;
178
+ }
179
+ }
180
+ //# sourceMappingURL=next-steps-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-steps-generator.js","sourceRoot":"","sources":["../../lib/next-steps-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Type definitions for next steps generation
3
+ *
4
+ * @module types/next-steps
5
+ */
6
+ /**
7
+ * Execution context for command suggestions
8
+ *
9
+ * Determines whether to show npm script commands (repository context)
10
+ * or npx commands (package user context).
11
+ */
12
+ export interface ExecutionContext {
13
+ /**
14
+ * True if running in repository (has matching package.json with source files)
15
+ */
16
+ isRepository: boolean;
17
+ /**
18
+ * True if running via npx (installed as package)
19
+ */
20
+ isNpx: boolean;
21
+ /**
22
+ * Package name for npx commands
23
+ * @example "@quiltdata/benchling-webhook"
24
+ */
25
+ packageName: string;
26
+ /**
27
+ * Available npm scripts (if repository context)
28
+ * @example ["deploy", "deploy:dev", "deploy:prod", "test", "test:dev"]
29
+ */
30
+ availableScripts: string[];
31
+ }
32
+ /**
33
+ * Deployment result information
34
+ *
35
+ * Contains outputs from a deployment operation for display in next steps.
36
+ */
37
+ export interface DeploymentResult {
38
+ /**
39
+ * Whether deployment succeeded
40
+ */
41
+ success: boolean;
42
+ /**
43
+ * Webhook URL (if deployment succeeded)
44
+ * @example "https://abc123.execute-api.us-east-1.amazonaws.com/prod/webhook"
45
+ */
46
+ webhookUrl?: string;
47
+ /**
48
+ * CloudFormation stack ARN
49
+ * @example "arn:aws:cloudformation:us-east-1:123456789012:stack/BenchlingWebhook/abc123"
50
+ */
51
+ stackArn?: string;
52
+ /**
53
+ * AWS region where deployed
54
+ * @example "us-east-1"
55
+ */
56
+ region?: string;
57
+ /**
58
+ * Error message (if deployment failed)
59
+ */
60
+ error?: string;
61
+ }
62
+ /**
63
+ * Options for generating next steps message
64
+ */
65
+ export interface NextStepsOptions {
66
+ /**
67
+ * Profile name (default, dev, prod, or custom)
68
+ */
69
+ profile: string;
70
+ /**
71
+ * Deployment stage (dev or prod)
72
+ * @default Inferred from profile
73
+ */
74
+ stage?: string;
75
+ /**
76
+ * Execution context (optional in Phase 1, required in Phase 2)
77
+ *
78
+ * If not provided, defaults to repository context for backward compatibility.
79
+ */
80
+ context?: ExecutionContext;
81
+ /**
82
+ * Deployment result (optional, for Phase 3)
83
+ *
84
+ * If provided, next steps will include deployment-specific information.
85
+ */
86
+ deployment?: DeploymentResult;
87
+ /**
88
+ * Whether deployment was skipped
89
+ * @default false
90
+ */
91
+ skipDeployment?: boolean;
92
+ }
93
+ //# sourceMappingURL=next-steps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-steps.d.ts","sourceRoot":"","sources":["../../../lib/types/next-steps.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAE3B;;;;OAIG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Type definitions for next steps generation
4
+ *
5
+ * @module types/next-steps
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=next-steps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-steps.js","sourceRoot":"","sources":["../../../lib/types/next-steps.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -26,6 +26,20 @@ export interface InferredStackInfo {
26
26
  stackDetails: StackDetails;
27
27
  inferredVars: Record<string, string>;
28
28
  }
29
+ export interface QuiltStack {
30
+ StackName: string;
31
+ StackStatus: string;
32
+ Outputs?: Array<{
33
+ OutputKey: string;
34
+ OutputValue: string;
35
+ }>;
36
+ }
37
+ export interface StackSummary {
38
+ StackName: string;
39
+ StackStatus: string;
40
+ CreationTime: string;
41
+ LastUpdatedTime?: string;
42
+ }
29
43
  /**
30
44
  * Fetch JSON from a URL using native Node.js modules
31
45
  */
@@ -50,6 +64,20 @@ export declare function extractApiGatewayId(endpoint: string): string | null;
50
64
  * Find CloudFormation stack using API Gateway ID
51
65
  */
52
66
  export declare function findStack(region: string, apiGatewayId: string | null, verbose?: boolean): string | null;
67
+ /**
68
+ * List all CloudFormation stacks in a region
69
+ */
70
+ export declare function listAllStacks(region: string): StackSummary[];
71
+ /**
72
+ * Check if a stack has the QuiltWebHost output (identifying it as a Quilt catalog stack)
73
+ * This is the canonical way to identify Quilt stacks vs other CloudFormation stacks.
74
+ */
75
+ export declare function isQuiltStack(region: string, stackName: string): boolean;
76
+ /**
77
+ * Find all Quilt catalog stacks in a region
78
+ * Returns an array of stacks that have the QuiltWebHost output
79
+ */
80
+ export declare function findAllQuiltStacks(region: string, verbose?: boolean): QuiltStack[];
53
81
  /**
54
82
  * Build inferred configuration from stack details
55
83
  */
@@ -1 +1 @@
1
- {"version":3,"file":"stack-inference.d.ts","sourceRoot":"","sources":["../../../lib/utils/stack-inference.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,UAAU,EAAE,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAuC7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWrF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,CAsB/E;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAS/C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGnE;AAGD;;GAEG;AACH,wBAAgB,SAAS,CACrB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,OAAO,UAAO,GACf,MAAM,GAAG,IAAI,CAaf;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,aAAa,EAAE,MAAM,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkDxB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAClC,UAAU,EAAE,MAAM,EAClB,OAAO,UAAO,GACf,OAAO,CAAC,iBAAiB,CAAC,CAoI5B"}
1
+ {"version":3,"file":"stack-inference.d.ts","sourceRoot":"","sources":["../../../lib/utils/stack-inference.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,UAAU,EAAE,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,UAAU;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,YAAY;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAuC7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWrF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,CAsB/E;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,GAAG,IAAI,CAS/C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGnE;AAGD;;GAEG;AACH,wBAAgB,SAAS,CACrB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,OAAO,UAAO,GACf,MAAM,GAAG,IAAI,CAaf;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,CAiB5D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAUvE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,UAAU,EAAE,CA0BhF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,aAAa,EAAE,MAAM,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkDxB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAClC,UAAU,EAAE,MAAM,EAClB,OAAO,UAAO,GACf,OAAO,CAAC,iBAAiB,CAAC,CAoI5B"}
@@ -43,6 +43,9 @@ exports.getStackDetails = getStackDetails;
43
43
  exports.getAwsAccountId = getAwsAccountId;
44
44
  exports.extractApiGatewayId = extractApiGatewayId;
45
45
  exports.findStack = findStack;
46
+ exports.listAllStacks = listAllStacks;
47
+ exports.isQuiltStack = isQuiltStack;
48
+ exports.findAllQuiltStacks = findAllQuiltStacks;
46
49
  exports.buildInferredConfig = buildInferredConfig;
47
50
  exports.inferStackConfig = inferStackConfig;
48
51
  const child_process_1 = require("child_process");
@@ -152,6 +155,64 @@ function findStack(region, apiGatewayId, verbose = true) {
152
155
  }
153
156
  return stackName;
154
157
  }
158
+ /**
159
+ * List all CloudFormation stacks in a region
160
+ */
161
+ function listAllStacks(region) {
162
+ const statusFilters = [
163
+ "CREATE_COMPLETE",
164
+ "UPDATE_COMPLETE",
165
+ "UPDATE_ROLLBACK_COMPLETE",
166
+ ].join(" ");
167
+ try {
168
+ const result = (0, child_process_1.execSync)(`aws cloudformation list-stacks --region ${region} --stack-status-filter ${statusFilters} --query 'StackSummaries' --output json`, { encoding: "utf-8" });
169
+ return JSON.parse(result);
170
+ }
171
+ catch (error) {
172
+ console.error(`Error listing stacks: ${error.message}`);
173
+ return [];
174
+ }
175
+ }
176
+ /**
177
+ * Check if a stack has the QuiltWebHost output (identifying it as a Quilt catalog stack)
178
+ * This is the canonical way to identify Quilt stacks vs other CloudFormation stacks.
179
+ */
180
+ function isQuiltStack(region, stackName) {
181
+ try {
182
+ const result = (0, child_process_1.execSync)(`aws cloudformation describe-stacks --region ${region} --stack-name "${stackName}" --query 'Stacks[0].Outputs[?OutputKey==\`QuiltWebHost\`] | length(@)' --output text 2>/dev/null`, { encoding: "utf-8" });
183
+ return parseInt(result.trim()) > 0;
184
+ }
185
+ catch {
186
+ return false;
187
+ }
188
+ }
189
+ /**
190
+ * Find all Quilt catalog stacks in a region
191
+ * Returns an array of stacks that have the QuiltWebHost output
192
+ */
193
+ function findAllQuiltStacks(region, verbose = false) {
194
+ if (verbose) {
195
+ console.log(`Searching for Quilt stacks in ${region}...`);
196
+ }
197
+ const allStacks = listAllStacks(region);
198
+ const quiltStacks = [];
199
+ for (const stackSummary of allStacks) {
200
+ if (isQuiltStack(region, stackSummary.StackName)) {
201
+ const details = getStackDetails(region, stackSummary.StackName);
202
+ if (details) {
203
+ quiltStacks.push({
204
+ StackName: stackSummary.StackName,
205
+ StackStatus: stackSummary.StackStatus,
206
+ Outputs: details.outputs,
207
+ });
208
+ }
209
+ }
210
+ }
211
+ if (verbose) {
212
+ console.log(`Found ${quiltStacks.length} Quilt stack(s)`);
213
+ }
214
+ return quiltStacks;
215
+ }
155
216
  /**
156
217
  * Build inferred configuration from stack details
157
218
  */
@@ -1 +1 @@
1
- {"version":3,"file":"stack-inference.js","sourceRoot":"","sources":["../../../lib/utils/stack-inference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stack-inference.js","sourceRoot":"","sources":["../../../lib/utils/stack-inference.ts"],"names":[],"mappings":"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"}