@quiltdata/benchling-webhook 0.6.3-20251104T170954Z → 0.7.2-20251106T003353Z

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 (141) hide show
  1. package/README.md +166 -5
  2. package/dist/bin/benchling-webhook.d.ts +2 -16
  3. package/dist/bin/benchling-webhook.d.ts.map +1 -1
  4. package/dist/bin/benchling-webhook.js +98 -158
  5. package/dist/bin/benchling-webhook.js.map +1 -1
  6. package/dist/bin/cli.js +96 -8
  7. package/dist/bin/cli.js.map +1 -1
  8. package/dist/bin/{config-profiles.d.ts → commands/config-profiles.d.ts} +10 -9
  9. package/dist/bin/commands/config-profiles.d.ts.map +1 -0
  10. package/dist/bin/{config-profiles.js → commands/config-profiles.js} +110 -102
  11. package/dist/bin/commands/config-profiles.js.map +1 -0
  12. package/dist/bin/commands/create-secret.d.ts.map +1 -0
  13. package/dist/bin/commands/create-secret.js.map +1 -0
  14. package/dist/bin/commands/deploy.d.ts +11 -0
  15. package/dist/bin/commands/deploy.d.ts.map +1 -1
  16. package/dist/bin/commands/deploy.js +65 -110
  17. package/dist/bin/commands/deploy.js.map +1 -1
  18. package/dist/bin/{get-env.d.ts → commands/get-env.d.ts} +1 -1
  19. package/dist/bin/commands/get-env.d.ts.map +1 -0
  20. package/dist/bin/{get-env.js → commands/get-env.js} +2 -2
  21. package/dist/bin/commands/get-env.js.map +1 -0
  22. package/dist/bin/commands/health-check.d.ts +47 -0
  23. package/dist/bin/commands/health-check.d.ts.map +1 -0
  24. package/dist/bin/commands/health-check.js +357 -0
  25. package/dist/bin/commands/health-check.js.map +1 -0
  26. package/dist/bin/commands/infer-quilt-config.d.ts +50 -0
  27. package/dist/bin/commands/infer-quilt-config.d.ts.map +1 -0
  28. package/dist/bin/commands/infer-quilt-config.js +356 -0
  29. package/dist/bin/commands/infer-quilt-config.js.map +1 -0
  30. package/dist/bin/commands/init.d.ts.map +1 -1
  31. package/dist/bin/commands/init.js +2 -32
  32. package/dist/bin/commands/init.js.map +1 -1
  33. package/dist/bin/commands/manifest.d.ts +11 -0
  34. package/dist/bin/commands/manifest.d.ts.map +1 -1
  35. package/dist/bin/commands/manifest.js +22 -8
  36. package/dist/bin/commands/manifest.js.map +1 -1
  37. package/dist/bin/commands/publish.d.ts.map +1 -0
  38. package/dist/bin/{publish.js → commands/publish.js} +2 -2
  39. package/dist/bin/commands/publish.js.map +1 -0
  40. package/dist/bin/commands/setup-profile.d.ts +29 -0
  41. package/dist/bin/commands/setup-profile.d.ts.map +1 -0
  42. package/dist/bin/commands/setup-profile.js +220 -0
  43. package/dist/bin/commands/setup-profile.js.map +1 -0
  44. package/dist/bin/commands/setup-wizard.d.ts +26 -11
  45. package/dist/bin/commands/setup-wizard.d.ts.map +1 -1
  46. package/dist/bin/commands/setup-wizard.js +844 -46
  47. package/dist/bin/commands/setup-wizard.js.map +1 -1
  48. package/dist/{scripts → bin/commands}/sync-secrets.d.ts +6 -1
  49. package/dist/bin/commands/sync-secrets.d.ts.map +1 -0
  50. package/dist/{scripts → bin/commands}/sync-secrets.js +159 -55
  51. package/dist/bin/commands/sync-secrets.js.map +1 -0
  52. package/dist/bin/commands/validate.d.ts.map +1 -1
  53. package/dist/bin/commands/validate.js +2 -12
  54. package/dist/bin/commands/validate.js.map +1 -1
  55. package/dist/lib/alb-api-gateway.d.ts +7 -1
  56. package/dist/lib/alb-api-gateway.d.ts.map +1 -1
  57. package/dist/lib/alb-api-gateway.js +9 -6
  58. package/dist/lib/alb-api-gateway.js.map +1 -1
  59. package/dist/lib/benchling-webhook-stack.d.ts +13 -12
  60. package/dist/lib/benchling-webhook-stack.d.ts.map +1 -1
  61. package/dist/lib/benchling-webhook-stack.js +43 -30
  62. package/dist/lib/benchling-webhook-stack.js.map +1 -1
  63. package/dist/lib/configuration-saver.d.ts +4 -16
  64. package/dist/lib/configuration-saver.d.ts.map +1 -1
  65. package/dist/lib/configuration-saver.js +14 -54
  66. package/dist/lib/configuration-saver.js.map +1 -1
  67. package/dist/lib/fargate-service.d.ts +11 -21
  68. package/dist/lib/fargate-service.d.ts.map +1 -1
  69. package/dist/lib/fargate-service.js +79 -176
  70. package/dist/lib/fargate-service.js.map +1 -1
  71. package/dist/lib/types/config.d.ts +591 -224
  72. package/dist/lib/types/config.d.ts.map +1 -1
  73. package/dist/lib/types/config.js +134 -3
  74. package/dist/lib/types/config.js.map +1 -1
  75. package/dist/lib/utils/config.d.ts.map +1 -1
  76. package/dist/lib/utils/config.js.map +1 -1
  77. package/dist/lib/xdg-config.d.ts +222 -106
  78. package/dist/lib/xdg-config.d.ts.map +1 -1
  79. package/dist/lib/xdg-config.js +448 -387
  80. package/dist/lib/xdg-config.js.map +1 -1
  81. package/dist/package.json +16 -13
  82. package/dist/scripts/check-logs.d.ts +12 -0
  83. package/dist/scripts/check-logs.d.ts.map +1 -0
  84. package/dist/{bin → scripts}/check-logs.js +65 -15
  85. package/dist/scripts/check-logs.js.map +1 -0
  86. package/dist/scripts/check-webhook-verification.d.ts +3 -0
  87. package/dist/scripts/check-webhook-verification.d.ts.map +1 -0
  88. package/dist/{bin/test-invalid-signature.js → scripts/check-webhook-verification.js} +1 -1
  89. package/dist/scripts/check-webhook-verification.js.map +1 -0
  90. package/dist/scripts/infer-quilt-config.d.ts +23 -26
  91. package/dist/scripts/infer-quilt-config.d.ts.map +1 -1
  92. package/dist/scripts/infer-quilt-config.js +58 -96
  93. package/dist/scripts/infer-quilt-config.js.map +1 -1
  94. package/dist/scripts/send-event.d.ts.map +1 -0
  95. package/dist/scripts/send-event.js.map +1 -0
  96. package/dist/{bin → scripts}/version.d.ts +3 -1
  97. package/dist/scripts/version.d.ts.map +1 -0
  98. package/dist/{bin → scripts}/version.js +95 -9
  99. package/dist/scripts/version.js.map +1 -0
  100. package/package.json +16 -13
  101. package/dist/bin/check-logs.d.ts +0 -7
  102. package/dist/bin/check-logs.d.ts.map +0 -1
  103. package/dist/bin/check-logs.js.map +0 -1
  104. package/dist/bin/config-profiles.d.ts.map +0 -1
  105. package/dist/bin/config-profiles.js.map +0 -1
  106. package/dist/bin/create-secret.d.ts.map +0 -1
  107. package/dist/bin/create-secret.js.map +0 -1
  108. package/dist/bin/dev-deploy.d.ts +0 -20
  109. package/dist/bin/dev-deploy.d.ts.map +0 -1
  110. package/dist/bin/dev-deploy.js +0 -289
  111. package/dist/bin/dev-deploy.js.map +0 -1
  112. package/dist/bin/get-env.d.ts.map +0 -1
  113. package/dist/bin/get-env.js.map +0 -1
  114. package/dist/bin/publish.d.ts.map +0 -1
  115. package/dist/bin/publish.js.map +0 -1
  116. package/dist/bin/release.d.ts +0 -11
  117. package/dist/bin/release.d.ts.map +0 -1
  118. package/dist/bin/release.js +0 -141
  119. package/dist/bin/release.js.map +0 -1
  120. package/dist/bin/send-event.d.ts.map +0 -1
  121. package/dist/bin/send-event.js.map +0 -1
  122. package/dist/bin/test-invalid-signature.d.ts +0 -3
  123. package/dist/bin/test-invalid-signature.d.ts.map +0 -1
  124. package/dist/bin/test-invalid-signature.js.map +0 -1
  125. package/dist/bin/version.d.ts.map +0 -1
  126. package/dist/bin/version.js.map +0 -1
  127. package/dist/scripts/config-health-check.d.ts +0 -84
  128. package/dist/scripts/config-health-check.d.ts.map +0 -1
  129. package/dist/scripts/config-health-check.js +0 -659
  130. package/dist/scripts/config-health-check.js.map +0 -1
  131. package/dist/scripts/install-wizard.d.ts +0 -34
  132. package/dist/scripts/install-wizard.d.ts.map +0 -1
  133. package/dist/scripts/install-wizard.js +0 -719
  134. package/dist/scripts/install-wizard.js.map +0 -1
  135. package/dist/scripts/sync-secrets.d.ts.map +0 -1
  136. package/dist/scripts/sync-secrets.js.map +0 -1
  137. /package/dist/bin/{create-secret.d.ts → commands/create-secret.d.ts} +0 -0
  138. /package/dist/bin/{create-secret.js → commands/create-secret.js} +0 -0
  139. /package/dist/bin/{publish.d.ts → commands/publish.d.ts} +0 -0
  140. /package/dist/{bin → scripts}/send-event.d.ts +0 -0
  141. /package/dist/{bin → scripts}/send-event.js +0 -0
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+ /**
3
+ * Setup Profile Command (v0.7.0)
4
+ *
5
+ * Creates a new profile for multi-environment deployment with support for
6
+ * profile inheritance. Profiles enable separate configurations for dev,
7
+ * staging, and production environments.
8
+ *
9
+ * @module commands/setup-profile
10
+ * @version 0.7.0
11
+ */
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.setupProfileCommand = setupProfileCommand;
17
+ const chalk_1 = __importDefault(require("chalk"));
18
+ const inquirer_1 = __importDefault(require("inquirer"));
19
+ const xdg_config_1 = require("../../lib/xdg-config");
20
+ /**
21
+ * Setup profile command handler
22
+ *
23
+ * Creates a new profile configuration by:
24
+ * 1. Loading the base profile (default or specified) as a template
25
+ * 2. Prompting for profile-specific values
26
+ * 3. Supporting profile inheritance via _inherits field
27
+ * 4. Saving profile configuration
28
+ *
29
+ * @param profileName - Name of the profile to create (e.g., "dev", "staging", "prod")
30
+ * @param options - Command options
31
+ * @returns Promise that resolves when profile is created
32
+ * @throws Error if base profile doesn't exist or if profile creation fails
33
+ */
34
+ async function setupProfileCommand(profileName, options) {
35
+ console.log(chalk_1.default.bold.cyan(`\n📋 Creating Profile: ${profileName}\n`));
36
+ // Validate profile name
37
+ if (!profileName || profileName.trim().length === 0) {
38
+ throw new Error("Profile name cannot be empty");
39
+ }
40
+ if (profileName === "default" && !options?.force) {
41
+ throw new Error("Cannot create a profile named 'default' - it already exists as the base profile");
42
+ }
43
+ // Sanitize profile name (alphanumeric, hyphens, underscores only)
44
+ if (!/^[a-zA-Z0-9-_]+$/.test(profileName)) {
45
+ throw new Error("Profile name can only contain letters, numbers, hyphens, and underscores");
46
+ }
47
+ const xdg = new xdg_config_1.XDGConfig();
48
+ // Check if profile already exists
49
+ if (xdg.profileExists(profileName) && !options?.force) {
50
+ const { overwrite } = await inquirer_1.default.prompt([
51
+ {
52
+ type: "confirm",
53
+ name: "overwrite",
54
+ message: chalk_1.default.yellow(`Profile '${profileName}' already exists. Overwrite?`),
55
+ default: false,
56
+ },
57
+ ]);
58
+ if (!overwrite) {
59
+ console.log(chalk_1.default.dim("\nProfile creation cancelled"));
60
+ return;
61
+ }
62
+ }
63
+ // Determine base profile for inheritance
64
+ const baseProfile = options?.inheritFrom || "default";
65
+ // Load base profile as template
66
+ let baseConfig;
67
+ try {
68
+ baseConfig = xdg.readProfile(baseProfile);
69
+ console.log(chalk_1.default.green(`✓ Loaded '${baseProfile}' profile as template\n`));
70
+ }
71
+ catch (error) {
72
+ throw new Error(`Cannot create profile: base profile '${baseProfile}' not found.\n` +
73
+ " Run 'npm run setup' first to create the default profile.\n" +
74
+ ` Error: ${error.message}`);
75
+ }
76
+ // Validate that base config has required fields
77
+ if (!baseConfig.benchling?.tenant) {
78
+ throw new Error(`Base profile '${baseProfile}' is missing required field: benchling.tenant\n` +
79
+ " Run 'npm run setup' to configure the base profile properly.");
80
+ }
81
+ // Prompt for profile-specific values
82
+ console.log(chalk_1.default.dim(`This profile will inherit settings from '${baseProfile}' profile.`));
83
+ console.log(chalk_1.default.dim("You can customize environment-specific values below.\n"));
84
+ const answers = await inquirer_1.default.prompt([
85
+ {
86
+ type: "confirm",
87
+ name: "useInheritance",
88
+ message: `Use profile inheritance (inherit from '${baseProfile}')?`,
89
+ default: true,
90
+ },
91
+ {
92
+ type: "input",
93
+ name: "appDefinitionId",
94
+ message: `Benchling App Definition ID (${profileName}):`,
95
+ default: baseConfig.benchling.appDefinitionId,
96
+ validate: (input) => input.trim().length > 0 || "App Definition ID is required",
97
+ },
98
+ {
99
+ type: "input",
100
+ name: "imageTag",
101
+ message: "Docker image tag:",
102
+ default: profileName === "dev" ? "latest" : baseConfig.deployment.imageTag || "0.7.0",
103
+ validate: (input) => input.trim().length > 0 || "Image tag is required",
104
+ },
105
+ {
106
+ type: "confirm",
107
+ name: "customizeQuiltStack",
108
+ message: "Use a different Quilt stack for this profile?",
109
+ default: false,
110
+ },
111
+ {
112
+ type: "confirm",
113
+ name: "customizeSecretArn",
114
+ message: "Use a different Secrets Manager ARN for this profile?",
115
+ default: false,
116
+ },
117
+ ]);
118
+ // Optionally prompt for custom Quilt stack ARN
119
+ let quiltStackArn = baseConfig.quilt.stackArn;
120
+ if (answers.customizeQuiltStack) {
121
+ const stackAnswer = await inquirer_1.default.prompt([
122
+ {
123
+ type: "input",
124
+ name: "quiltStackArn",
125
+ message: "Quilt Stack ARN:",
126
+ default: baseConfig.quilt.stackArn,
127
+ validate: (input) => {
128
+ if (!input || input.trim().length === 0) {
129
+ return "Quilt Stack ARN is required";
130
+ }
131
+ if (!input.startsWith("arn:aws:cloudformation:")) {
132
+ return "Must be a valid CloudFormation stack ARN";
133
+ }
134
+ return true;
135
+ },
136
+ },
137
+ ]);
138
+ quiltStackArn = stackAnswer.quiltStackArn;
139
+ }
140
+ // Optionally prompt for custom secret ARN
141
+ let secretArn = baseConfig.benchling.secretArn;
142
+ if (answers.customizeSecretArn) {
143
+ const secretAnswer = await inquirer_1.default.prompt([
144
+ {
145
+ type: "input",
146
+ name: "secretArn",
147
+ message: "AWS Secrets Manager ARN:",
148
+ default: baseConfig.benchling.secretArn,
149
+ validate: (input) => {
150
+ if (!input || input.trim().length === 0) {
151
+ return "Secret ARN is required";
152
+ }
153
+ if (!input.startsWith("arn:aws:secretsmanager:")) {
154
+ return "Must be a valid Secrets Manager ARN";
155
+ }
156
+ return true;
157
+ },
158
+ },
159
+ ]);
160
+ secretArn = secretAnswer.secretArn;
161
+ }
162
+ // Create profile config
163
+ const profileConfig = {
164
+ quilt: {
165
+ ...baseConfig.quilt,
166
+ stackArn: quiltStackArn,
167
+ },
168
+ benchling: {
169
+ ...baseConfig.benchling,
170
+ appDefinitionId: answers.appDefinitionId,
171
+ secretArn: secretArn,
172
+ },
173
+ packages: {
174
+ ...baseConfig.packages,
175
+ },
176
+ deployment: {
177
+ ...baseConfig.deployment,
178
+ imageTag: answers.imageTag,
179
+ },
180
+ logging: baseConfig.logging,
181
+ security: baseConfig.security,
182
+ _metadata: {
183
+ version: "0.7.0",
184
+ createdAt: new Date().toISOString(),
185
+ updatedAt: new Date().toISOString(),
186
+ source: "cli",
187
+ profile: profileName,
188
+ basedOn: baseProfile,
189
+ },
190
+ };
191
+ // Add inheritance if requested
192
+ if (answers.useInheritance) {
193
+ profileConfig._inherits = baseProfile;
194
+ }
195
+ // Save profile configuration
196
+ try {
197
+ xdg.writeProfile(profileName, profileConfig);
198
+ console.log(chalk_1.default.green(`\n✓ Profile '${profileName}' created successfully`));
199
+ const configPath = `~/.config/benchling-webhook/${profileName}/config.json`;
200
+ console.log(chalk_1.default.dim(` Configuration saved to: ${configPath}\n`));
201
+ // Display next steps
202
+ console.log(chalk_1.default.bold("Next steps:"));
203
+ console.log(chalk_1.default.cyan(` 1. Sync secrets: npm run setup:sync-secrets -- --profile ${profileName}`));
204
+ console.log(chalk_1.default.cyan(` 2. Deploy: npm run deploy:${profileName === "dev" ? "dev" : "prod"} -- --profile ${profileName}`));
205
+ console.log(chalk_1.default.cyan(` 3. Test: npm run test:${profileName === "dev" ? "dev" : "prod"}\n`));
206
+ console.log(chalk_1.default.dim("Profile configuration:"));
207
+ if (profileConfig._inherits) {
208
+ console.log(chalk_1.default.dim(` Inherits from: ${profileConfig._inherits}`));
209
+ }
210
+ console.log(chalk_1.default.dim(` App Definition ID: ${profileConfig.benchling.appDefinitionId}`));
211
+ console.log(chalk_1.default.dim(` Image Tag: ${profileConfig.deployment.imageTag}`));
212
+ console.log(chalk_1.default.dim(` Secret ARN: ${profileConfig.benchling.secretArn}`));
213
+ console.log(chalk_1.default.dim(` Quilt Stack: ${profileConfig.quilt.stackArn}`));
214
+ console.log();
215
+ }
216
+ catch (error) {
217
+ throw new Error(`Failed to save profile configuration: ${error.message}`);
218
+ }
219
+ }
220
+ //# sourceMappingURL=setup-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-profile.js","sourceRoot":"","sources":["../../../bin/commands/setup-profile.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,37 @@
1
+ #!/usr/bin/env node
1
2
  /**
2
- * Setup Wizard Command
3
+ * Interactive Configuration Wizard (v0.7.0)
3
4
  *
4
- * Launches the interactive setup wizard when npx is run without arguments.
5
- * This provides a guided experience for first-time users to configure and
6
- * deploy the Benchling webhook integration.
5
+ * Complete setup wizard that orchestrates:
6
+ * 1. Quilt configuration inference
7
+ * 2. Interactive configuration prompts
8
+ * 3. Configuration validation
9
+ * 4. Profile persistence via XDGConfig
10
+ *
11
+ * Consolidated from scripts/install-wizard.ts, scripts/config/wizard.ts,
12
+ * and scripts/config/validator.ts.
7
13
  *
8
14
  * @module commands/setup-wizard
9
15
  */
16
+ /**
17
+ * Install wizard options
18
+ */
19
+ export interface InstallWizardOptions {
20
+ profile?: string;
21
+ inheritFrom?: string;
22
+ nonInteractive?: boolean;
23
+ skipValidation?: boolean;
24
+ skipSecretsSync?: boolean;
25
+ skipDeployment?: boolean;
26
+ deployStage?: "dev" | "prod";
27
+ awsProfile?: string;
28
+ awsRegion?: string;
29
+ }
10
30
  /**
11
31
  * Setup wizard command handler
12
32
  *
13
- * Provides guided setup experience:
14
- * 1. Welcome message and prerequisites check
15
- * 2. Configuration collection via install-wizard
16
- * 3. Automatic deployment (optional)
17
- * 4. Integration testing (optional)
18
- *
33
+ * @param options - Wizard options
19
34
  * @returns Promise that resolves when wizard completes
20
35
  */
21
- export declare function setupWizardCommand(): Promise<void>;
36
+ export declare function setupWizardCommand(options?: InstallWizardOptions): Promise<void>;
22
37
  //# sourceMappingURL=setup-wizard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../../../bin/commands/setup-wizard.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CA4CxD"}
1
+ {"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../../../bin/commands/setup-wizard.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG;AAmxBH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AA0PD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1F"}