@quiltdata/benchling-webhook 0.5.4-20251102T020826Z → 0.5.4-20251103T180145Z

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/README.md +26 -17
  2. package/dist/bin/benchling-webhook.d.ts +1 -1
  3. package/dist/bin/benchling-webhook.d.ts.map +1 -1
  4. package/dist/bin/benchling-webhook.js +8 -23
  5. package/dist/bin/benchling-webhook.js.map +1 -1
  6. package/dist/bin/cdk-dev.js +51 -0
  7. package/dist/bin/cli.js +8 -22
  8. package/dist/bin/cli.js.map +1 -1
  9. package/dist/bin/commands/deploy.d.ts +4 -2
  10. package/dist/bin/commands/deploy.d.ts.map +1 -1
  11. package/dist/bin/commands/deploy.js +88 -300
  12. package/dist/bin/commands/deploy.js.map +1 -1
  13. package/dist/bin/config-profiles.d.ts +59 -0
  14. package/dist/bin/config-profiles.d.ts.map +1 -0
  15. package/dist/bin/config-profiles.js +272 -0
  16. package/dist/bin/config-profiles.js.map +1 -0
  17. package/dist/bin/create-secret.d.ts +3 -0
  18. package/dist/bin/create-secret.d.ts.map +1 -1
  19. package/dist/bin/create-secret.js +51 -48
  20. package/dist/bin/create-secret.js.map +1 -1
  21. package/dist/lib/benchling-auth-validator.d.ts +65 -0
  22. package/dist/lib/benchling-auth-validator.d.ts.map +1 -0
  23. package/dist/lib/benchling-auth-validator.js +213 -0
  24. package/dist/lib/benchling-auth-validator.js.map +1 -0
  25. package/dist/lib/benchling-webhook-stack.d.ts +5 -23
  26. package/dist/lib/benchling-webhook-stack.d.ts.map +1 -1
  27. package/dist/lib/benchling-webhook-stack.js +25 -145
  28. package/dist/lib/benchling-webhook-stack.js.map +1 -1
  29. package/dist/lib/config-logger.d.ts +191 -0
  30. package/dist/lib/config-logger.d.ts.map +1 -0
  31. package/dist/lib/config-logger.js +372 -0
  32. package/dist/lib/config-logger.js.map +1 -0
  33. package/dist/lib/configuration-saver.d.ts +75 -0
  34. package/dist/lib/configuration-saver.d.ts.map +1 -0
  35. package/dist/lib/configuration-saver.js +145 -0
  36. package/dist/lib/configuration-saver.js.map +1 -0
  37. package/dist/lib/configuration-validator.d.ts +63 -0
  38. package/dist/lib/configuration-validator.d.ts.map +1 -0
  39. package/dist/lib/configuration-validator.js +136 -0
  40. package/dist/lib/configuration-validator.js.map +1 -0
  41. package/dist/lib/configuration-wizard.d.ts +52 -0
  42. package/dist/lib/configuration-wizard.d.ts.map +1 -0
  43. package/dist/lib/configuration-wizard.js +193 -0
  44. package/dist/lib/configuration-wizard.js.map +1 -0
  45. package/dist/lib/quilt-config-resolver.d.ts +53 -0
  46. package/dist/lib/quilt-config-resolver.d.ts.map +1 -0
  47. package/dist/lib/quilt-config-resolver.js +100 -0
  48. package/dist/lib/quilt-config-resolver.js.map +1 -0
  49. package/dist/lib/s3-bucket-validator.d.ts +76 -0
  50. package/dist/lib/s3-bucket-validator.d.ts.map +1 -0
  51. package/dist/lib/s3-bucket-validator.js +237 -0
  52. package/dist/lib/s3-bucket-validator.js.map +1 -0
  53. package/dist/lib/types/config.d.ts +398 -0
  54. package/dist/lib/types/config.d.ts.map +1 -0
  55. package/dist/lib/types/config.js +11 -0
  56. package/dist/lib/types/config.js.map +1 -0
  57. package/dist/lib/utils/config-loader.js.map +1 -1
  58. package/dist/lib/utils/config-resolver.d.ts +26 -26
  59. package/dist/lib/utils/config-resolver.d.ts.map +1 -1
  60. package/dist/lib/utils/config-resolver.js +29 -29
  61. package/dist/lib/utils/config-resolver.js.map +1 -1
  62. package/dist/lib/utils/config.d.ts +2 -0
  63. package/dist/lib/utils/config.d.ts.map +1 -1
  64. package/dist/lib/utils/config.js.map +1 -1
  65. package/dist/lib/xdg-cli-wrapper.d.ts +113 -0
  66. package/dist/lib/xdg-cli-wrapper.d.ts.map +1 -0
  67. package/dist/lib/xdg-cli-wrapper.js +288 -0
  68. package/dist/lib/xdg-cli-wrapper.js.map +1 -0
  69. package/dist/lib/xdg-config.d.ts +187 -0
  70. package/dist/lib/xdg-config.d.ts.map +1 -0
  71. package/dist/lib/xdg-config.js +562 -0
  72. package/dist/lib/xdg-config.js.map +1 -0
  73. package/dist/package.json +38 -26
  74. package/dist/scripts/config-health-check.d.ts +78 -0
  75. package/dist/scripts/config-health-check.d.ts.map +1 -0
  76. package/dist/scripts/config-health-check.js +559 -0
  77. package/dist/scripts/config-health-check.js.map +1 -0
  78. package/dist/scripts/infer-quilt-config.d.ts +50 -0
  79. package/dist/scripts/infer-quilt-config.d.ts.map +1 -0
  80. package/dist/scripts/infer-quilt-config.js +353 -0
  81. package/dist/scripts/infer-quilt-config.js.map +1 -0
  82. package/dist/scripts/install-wizard.d.ts +34 -0
  83. package/dist/scripts/install-wizard.d.ts.map +1 -0
  84. package/dist/scripts/install-wizard.js +719 -0
  85. package/dist/scripts/install-wizard.js.map +1 -0
  86. package/dist/scripts/sync-secrets.d.ts +63 -0
  87. package/dist/scripts/sync-secrets.d.ts.map +1 -0
  88. package/dist/scripts/sync-secrets.js +424 -0
  89. package/dist/scripts/sync-secrets.js.map +1 -0
  90. package/env.template +60 -47
  91. package/package.json +38 -26
@@ -0,0 +1,272 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * Configuration Profile Management CLI
5
+ *
6
+ * Provides commands for creating, listing, and managing configuration profiles.
7
+ * Supports AWS profile integration and profile validation.
8
+ *
9
+ * Usage:
10
+ * npx ts-node bin/config-profiles.ts list
11
+ * npx ts-node bin/config-profiles.ts create <profile-name>
12
+ * npx ts-node bin/config-profiles.ts show <profile-name>
13
+ * npx ts-node bin/config-profiles.ts validate <profile-name>
14
+ *
15
+ * @module bin/config-profiles
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.ProfileManager = void 0;
19
+ const xdg_config_1 = require("../lib/xdg-config");
20
+ const commander_1 = require("commander");
21
+ /**
22
+ * Profile Manager
23
+ *
24
+ * Manages configuration profiles with validation and AWS integration.
25
+ */
26
+ class ProfileManager {
27
+ constructor() {
28
+ this.xdgConfig = new xdg_config_1.XDGConfig();
29
+ }
30
+ /**
31
+ * Lists all available profiles
32
+ */
33
+ listProfiles() {
34
+ console.log("Available configuration profiles:\n");
35
+ const profiles = this.xdgConfig.listProfiles();
36
+ if (profiles.length === 0) {
37
+ console.log(" No profiles found.");
38
+ console.log("\n Run 'config-profiles create <name>' to create a new profile.");
39
+ return;
40
+ }
41
+ profiles.forEach((profileName) => {
42
+ const exists = this.xdgConfig.profileExists(profileName);
43
+ const status = exists ? "✓" : "✗";
44
+ const marker = profileName === "default" ? " (default)" : "";
45
+ console.log(` ${status} ${profileName}${marker}`);
46
+ // Show configuration status
47
+ if (exists) {
48
+ const profile = this.xdgConfig.loadProfile(profileName);
49
+ const hasUser = profile.user ? "user" : "";
50
+ const hasDerived = profile.derived ? "derived" : "";
51
+ const hasDeploy = profile.deploy ? "deploy" : "";
52
+ const configs = [hasUser, hasDerived, hasDeploy].filter(Boolean).join(", ");
53
+ if (configs) {
54
+ console.log(` Configs: ${configs}`);
55
+ }
56
+ }
57
+ });
58
+ console.log();
59
+ }
60
+ /**
61
+ * Creates a new profile
62
+ *
63
+ * @param profileName - Name of the profile to create
64
+ * @param options - Creation options
65
+ */
66
+ createProfile(profileName, options = {}) {
67
+ console.log(`Creating profile: ${profileName}\n`);
68
+ // Check if profile already exists
69
+ if (this.xdgConfig.profileExists(profileName)) {
70
+ console.error(`Error: Profile '${profileName}' already exists.`);
71
+ process.exit(1);
72
+ }
73
+ // Ensure directories exist
74
+ this.xdgConfig.ensureProfileDirectories(profileName);
75
+ // Create initial user configuration
76
+ const userConfig = {
77
+ awsProfile: options.awsProfile,
78
+ _metadata: {
79
+ savedAt: new Date().toISOString(),
80
+ source: "cli",
81
+ version: "0.6.0",
82
+ },
83
+ };
84
+ // Write user configuration
85
+ this.xdgConfig.writeProfileConfig("user", userConfig, profileName);
86
+ const paths = this.xdgConfig.getProfilePaths(profileName);
87
+ console.log(`Profile '${profileName}' created successfully!`);
88
+ console.log("\nConfiguration files:");
89
+ console.log(` User config: ${paths.userConfig}`);
90
+ console.log(` Derived config: ${paths.derivedConfig}`);
91
+ console.log(` Deploy config: ${paths.deployConfig}`);
92
+ console.log();
93
+ }
94
+ /**
95
+ * Shows detailed information about a profile
96
+ *
97
+ * @param profileName - Name of the profile to show
98
+ */
99
+ showProfile(profileName) {
100
+ if (!this.xdgConfig.profileExists(profileName)) {
101
+ console.error(`Error: Profile '${profileName}' does not exist.`);
102
+ process.exit(1);
103
+ }
104
+ console.log(`Profile: ${profileName}\n`);
105
+ const profile = this.xdgConfig.loadProfile(profileName);
106
+ const paths = this.xdgConfig.getProfilePaths(profileName);
107
+ // Show paths
108
+ console.log("Configuration files:");
109
+ console.log(` User config: ${paths.userConfig}`);
110
+ console.log(` Derived config: ${paths.derivedConfig}`);
111
+ console.log(` Deploy config: ${paths.deployConfig}`);
112
+ console.log();
113
+ // Show user configuration
114
+ if (profile.user) {
115
+ console.log("User Configuration:");
116
+ this.printConfig(profile.user);
117
+ console.log();
118
+ }
119
+ // Show derived configuration
120
+ if (profile.derived) {
121
+ console.log("Derived Configuration:");
122
+ this.printConfig(profile.derived);
123
+ console.log();
124
+ }
125
+ // Show deployment configuration
126
+ if (profile.deploy) {
127
+ console.log("Deployment Configuration:");
128
+ this.printConfig(profile.deploy);
129
+ console.log();
130
+ }
131
+ }
132
+ /**
133
+ * Validates a profile configuration
134
+ *
135
+ * @param profileName - Name of the profile to validate
136
+ */
137
+ validateProfile(profileName) {
138
+ console.log(`Validating profile: ${profileName}\n`);
139
+ if (!this.xdgConfig.profileExists(profileName)) {
140
+ console.error(`Error: Profile '${profileName}' does not exist.`);
141
+ process.exit(1);
142
+ }
143
+ const profile = this.xdgConfig.loadProfile(profileName);
144
+ const errors = [];
145
+ const warnings = [];
146
+ // Validate user configuration
147
+ if (!profile.user) {
148
+ errors.push("Missing user configuration");
149
+ }
150
+ else {
151
+ // Check required fields
152
+ const required = [
153
+ "benchlingTenant",
154
+ "benchlingClientId",
155
+ "quiltCatalog",
156
+ "quiltUserBucket",
157
+ ];
158
+ required.forEach((field) => {
159
+ if (!profile.user[field]) {
160
+ errors.push(`Missing required field in user config: ${field}`);
161
+ }
162
+ });
163
+ // Check AWS profile
164
+ if (!profile.user.awsProfile) {
165
+ warnings.push("No AWS profile specified");
166
+ }
167
+ }
168
+ // Validate derived configuration
169
+ if (profile.derived) {
170
+ if (!profile.derived.catalogUrl) {
171
+ warnings.push("Derived config missing catalogUrl");
172
+ }
173
+ }
174
+ else {
175
+ warnings.push("No derived configuration found");
176
+ }
177
+ // Report results
178
+ if (errors.length === 0 && warnings.length === 0) {
179
+ console.log("✓ Profile validation passed!");
180
+ return;
181
+ }
182
+ if (errors.length > 0) {
183
+ console.log("Errors:");
184
+ errors.forEach((error) => console.log(` ✗ ${error}`));
185
+ console.log();
186
+ }
187
+ if (warnings.length > 0) {
188
+ console.log("Warnings:");
189
+ warnings.forEach((warning) => console.log(` ⚠ ${warning}`));
190
+ console.log();
191
+ }
192
+ if (errors.length > 0) {
193
+ process.exit(1);
194
+ }
195
+ }
196
+ /**
197
+ * Prints configuration object in a readable format
198
+ *
199
+ * @param config - Configuration object to print
200
+ */
201
+ printConfig(config) {
202
+ const entries = Object.entries(config).filter(([key]) => key !== "_metadata");
203
+ if (entries.length === 0) {
204
+ console.log(" (empty)");
205
+ return;
206
+ }
207
+ entries.forEach(([key, value]) => {
208
+ if (key.toLowerCase().includes("secret") && typeof value === "string") {
209
+ // Mask secrets
210
+ console.log(` ${key}: ${value.substring(0, 4)}****`);
211
+ }
212
+ else if (typeof value === "object") {
213
+ console.log(` ${key}: ${JSON.stringify(value, null, 2)}`);
214
+ }
215
+ else {
216
+ console.log(` ${key}: ${value}`);
217
+ }
218
+ });
219
+ }
220
+ }
221
+ exports.ProfileManager = ProfileManager;
222
+ /**
223
+ * Main CLI program
224
+ */
225
+ function main() {
226
+ const program = new commander_1.Command();
227
+ const manager = new ProfileManager();
228
+ program
229
+ .name("config-profiles")
230
+ .description("Configuration Profile Management for Benchling Webhook")
231
+ .version("0.6.0");
232
+ // List command
233
+ program
234
+ .command("list")
235
+ .description("List all available configuration profiles")
236
+ .action(() => {
237
+ manager.listProfiles();
238
+ });
239
+ // Create command
240
+ program
241
+ .command("create <profile-name>")
242
+ .description("Create a new configuration profile")
243
+ .option("--aws-profile <profile>", "AWS profile to associate with this configuration")
244
+ .option("--description <text>", "Profile description")
245
+ .action((profileName, options) => {
246
+ manager.createProfile(profileName, options);
247
+ });
248
+ // Show command
249
+ program
250
+ .command("show <profile-name>")
251
+ .description("Show detailed information about a profile")
252
+ .action((profileName) => {
253
+ manager.showProfile(profileName);
254
+ });
255
+ // Validate command
256
+ program
257
+ .command("validate <profile-name>")
258
+ .description("Validate a profile configuration")
259
+ .action((profileName) => {
260
+ manager.validateProfile(profileName);
261
+ });
262
+ program.parse(process.argv);
263
+ // Show help if no command provided
264
+ if (!process.argv.slice(2).length) {
265
+ program.outputHelp();
266
+ }
267
+ }
268
+ // Run CLI
269
+ if (require.main === module) {
270
+ main();
271
+ }
272
+ //# sourceMappingURL=config-profiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-profiles.js","sourceRoot":"","sources":["../../bin/config-profiles.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,12 @@
3
3
  * Create or update Benchling webhook secret in AWS Secrets Manager
4
4
  *
5
5
  * Usage:
6
+ * npm run config
6
7
  * npm run config -- --secret-name benchling-webhook-dev --region us-east-1
7
8
  * npm run config -- --secret-name benchling-webhook-prod --region us-east-1 --env-file .env.prod
8
9
  *
10
+ * Default secret name: @quiltdata/benchling-webhook (package name)
11
+ *
9
12
  * Required parameters (from .env file or environment):
10
13
  * BENCHLING_TENANT
11
14
  * BENCHLING_CLIENT_ID
@@ -1 +1 @@
1
- {"version":3,"file":"create-secret.d.ts","sourceRoot":"","sources":["../../bin/create-secret.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;GAkBG"}
1
+ {"version":3,"file":"create-secret.d.ts","sourceRoot":"","sources":["../../bin/create-secret.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG"}
@@ -4,9 +4,12 @@
4
4
  * Create or update Benchling webhook secret in AWS Secrets Manager
5
5
  *
6
6
  * Usage:
7
+ * npm run config
7
8
  * npm run config -- --secret-name benchling-webhook-dev --region us-east-1
8
9
  * npm run config -- --secret-name benchling-webhook-prod --region us-east-1 --env-file .env.prod
9
10
  *
11
+ * Default secret name: @quiltdata/benchling-webhook (package name)
12
+ *
10
13
  * Required parameters (from .env file or environment):
11
14
  * BENCHLING_TENANT
12
15
  * BENCHLING_CLIENT_ID
@@ -63,20 +66,20 @@ const client_secrets_manager_1 = require("@aws-sdk/client-secrets-manager");
63
66
  const fs = __importStar(require("fs"));
64
67
  const chalk_1 = __importDefault(require("chalk"));
65
68
  const REQUIRED_PARAMS = [
66
- 'BENCHLING_TENANT',
67
- 'BENCHLING_CLIENT_ID',
68
- 'BENCHLING_CLIENT_SECRET',
69
- 'BENCHLING_APP_DEFINITION_ID',
70
- 'BENCHLING_PKG_PREFIX',
71
- 'BENCHLING_PKG_KEY',
72
- 'BENCHLING_USER_BUCKET',
73
- 'BENCHLING_LOG_LEVEL',
74
- 'BENCHLING_ENABLE_WEBHOOK_VERIFICATION',
75
- 'BENCHLING_WEBHOOK_ALLOW_LIST',
69
+ "BENCHLING_TENANT",
70
+ "BENCHLING_CLIENT_ID",
71
+ "BENCHLING_CLIENT_SECRET",
72
+ "BENCHLING_APP_DEFINITION_ID",
73
+ "BENCHLING_PKG_PREFIX",
74
+ "BENCHLING_PKG_KEY",
75
+ "BENCHLING_USER_BUCKET",
76
+ "BENCHLING_LOG_LEVEL",
77
+ "BENCHLING_ENABLE_WEBHOOK_VERIFICATION",
78
+ "BENCHLING_WEBHOOK_ALLOW_LIST",
76
79
  ];
77
- const VALID_LOG_LEVELS = ['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'];
80
+ const VALID_LOG_LEVELS = ["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"];
78
81
  function loadEnvFile(envFile) {
79
- const envPath = envFile || '.env';
82
+ const envPath = envFile || ".env";
80
83
  if (!fs.existsSync(envPath)) {
81
84
  console.log(chalk_1.default.yellow(`ℹ️ No .env file found at ${envPath}, using environment variables only`));
82
85
  return;
@@ -89,17 +92,17 @@ function validateParameters(params) {
89
92
  // WEBHOOK_ALLOW_LIST can be empty string (no restrictions)
90
93
  // All others must be non-empty
91
94
  const missing = REQUIRED_PARAMS.filter(param => {
92
- if (param === 'BENCHLING_WEBHOOK_ALLOW_LIST') {
95
+ if (param === "BENCHLING_WEBHOOK_ALLOW_LIST") {
93
96
  return params[param] === undefined; // Only fail if undefined, not empty string
94
97
  }
95
98
  return !params[param];
96
99
  });
97
100
  if (missing.length > 0) {
98
- console.error(chalk_1.default.red(`❌ Missing required parameters: ${missing.join(', ')}`));
99
- console.log(chalk_1.default.yellow('\nExpected parameters (from .env or environment):'));
101
+ console.error(chalk_1.default.red(`❌ Missing required parameters: ${missing.join(", ")}`));
102
+ console.log(chalk_1.default.yellow("\nExpected parameters (from .env or environment):"));
100
103
  REQUIRED_PARAMS.forEach(param => {
101
104
  const value = params[param];
102
- const status = value !== undefined ? '' : '';
105
+ const status = value !== undefined ? "" : "";
103
106
  console.log(chalk_1.default.yellow(` ${param}=${status}`));
104
107
  });
105
108
  process.exit(1);
@@ -108,14 +111,14 @@ function validateParameters(params) {
108
111
  const logLevel = params.BENCHLING_LOG_LEVEL.toUpperCase();
109
112
  if (!VALID_LOG_LEVELS.includes(logLevel)) {
110
113
  console.error(chalk_1.default.red(`❌ Invalid log level: ${params.BENCHLING_LOG_LEVEL}`));
111
- console.log(chalk_1.default.yellow(`Valid levels: ${VALID_LOG_LEVELS.join(', ')}`));
114
+ console.log(chalk_1.default.yellow(`Valid levels: ${VALID_LOG_LEVELS.join(", ")}`));
112
115
  process.exit(1);
113
116
  }
114
117
  // Validate boolean
115
118
  const verification = params.BENCHLING_ENABLE_WEBHOOK_VERIFICATION.toLowerCase();
116
- if (!['true', 'false', '1', '0'].includes(verification)) {
119
+ if (!["true", "false", "1", "0"].includes(verification)) {
117
120
  console.error(chalk_1.default.red(`❌ Invalid boolean value for BENCHLING_ENABLE_WEBHOOK_VERIFICATION: ${params.BENCHLING_ENABLE_WEBHOOK_VERIFICATION}`));
118
- console.log(chalk_1.default.yellow(`Valid values: true, false, 1, 0`));
121
+ console.log(chalk_1.default.yellow("Valid values: true, false, 1, 0"));
119
122
  process.exit(1);
120
123
  }
121
124
  // Build secret data (convert SCREAMING_SNAKE_CASE to snake_case)
@@ -148,10 +151,10 @@ async function createOrUpdateSecret(secretName, region, secretData, dryRun) {
148
151
  const client = new client_secrets_manager_1.SecretsManagerClient({ region });
149
152
  const secretString = JSON.stringify(secretData, null, 2);
150
153
  if (dryRun) {
151
- console.log(chalk_1.default.blue('\n🔍 DRY RUN MODE - No changes will be made\n'));
152
- console.log(chalk_1.default.cyan('Secret Name:'), secretName);
153
- console.log(chalk_1.default.cyan('Region:'), region);
154
- console.log(chalk_1.default.cyan('Secret Content:'));
154
+ console.log(chalk_1.default.blue("\n🔍 DRY RUN MODE - No changes will be made\n"));
155
+ console.log(chalk_1.default.cyan("Secret Name:"), secretName);
156
+ console.log(chalk_1.default.cyan("Region:"), region);
157
+ console.log(chalk_1.default.cyan("Secret Content:"));
155
158
  console.log(chalk_1.default.gray(secretString));
156
159
  return;
157
160
  }
@@ -162,36 +165,36 @@ async function createOrUpdateSecret(secretName, region, secretData, dryRun) {
162
165
  SecretId: secretName,
163
166
  SecretString: secretString,
164
167
  }));
165
- console.log(chalk_1.default.green(`✅ Secret updated successfully`));
168
+ console.log(chalk_1.default.green("✅ Secret updated successfully"));
166
169
  }
167
170
  else {
168
171
  console.log(chalk_1.default.blue(`🆕 Creating new secret: ${secretName}`));
169
172
  const result = await client.send(new client_secrets_manager_1.CreateSecretCommand({
170
173
  Name: secretName,
171
- Description: 'Benchling webhook runtime configuration (10 parameters)',
174
+ Description: "Benchling webhook runtime configuration (10 parameters)",
172
175
  SecretString: secretString,
173
176
  }));
174
- console.log(chalk_1.default.green(`✅ Secret created successfully`));
177
+ console.log(chalk_1.default.green("✅ Secret created successfully"));
175
178
  console.log(chalk_1.default.cyan(`ARN: ${result.ARN}`));
176
179
  }
177
- console.log(chalk_1.default.green(`\n✨ Secret ${exists ? 'updated' : 'created'}: ${secretName}`));
178
- console.log(chalk_1.default.yellow(`\nTo use this secret in deployment:`));
179
- console.log(chalk_1.default.gray(` npm run cli -- deploy \\`));
180
- console.log(chalk_1.default.gray(` --quilt-stack-arn <your-quilt-stack-arn> \\`));
180
+ console.log(chalk_1.default.green(`\n✨ Secret ${exists ? "updated" : "created"}: ${secretName}`));
181
+ console.log(chalk_1.default.yellow("\nTo use this secret in deployment:"));
182
+ console.log(chalk_1.default.gray(" npm run cli -- deploy \\"));
183
+ console.log(chalk_1.default.gray(" --quilt-stack-arn <your-quilt-stack-arn> \\"));
181
184
  console.log(chalk_1.default.gray(` --benchling-secret ${secretName}`));
182
185
  }
183
186
  async function main() {
184
187
  const program = new commander_1.Command();
185
188
  program
186
- .name('npm run config')
187
- .description('Create or update Benchling webhook secret in AWS Secrets Manager')
188
- .requiredOption('-s, --secret-name <name>', 'Secret name (e.g., benchling-webhook-dev)')
189
- .option('-r, --region <region>', 'AWS region', 'us-east-1')
190
- .option('-e, --env-file <path>', '.env file path', '.env')
191
- .option('-d, --dry-run', 'Show what would be created without making changes', false)
189
+ .name("npm run config")
190
+ .description("Create or update Benchling webhook secret in AWS Secrets Manager")
191
+ .option("-s, --secret-name <name>", "Secret name (defaults to package name)", "@quiltdata/benchling-webhook")
192
+ .option("-r, --region <region>", "AWS region", "us-east-1")
193
+ .option("-e, --env-file <path>", ".env file path", ".env")
194
+ .option("-d, --dry-run", "Show what would be created without making changes", false)
192
195
  .parse(process.argv);
193
196
  const options = program.opts();
194
- console.log(chalk_1.default.bold.blue('\n🔐 Benchling Webhook Secret Configuration\n'));
197
+ console.log(chalk_1.default.bold.blue("\n🔐 Benchling Webhook Secret Configuration\n"));
195
198
  // Load environment
196
199
  loadEnvFile(options.envFile);
197
200
  // Gather parameters from environment
@@ -199,37 +202,37 @@ async function main() {
199
202
  REQUIRED_PARAMS.forEach(param => {
200
203
  const value = process.env[param];
201
204
  // Special handling for WEBHOOK_ALLOW_LIST - allow empty string
202
- if (param === 'BENCHLING_WEBHOOK_ALLOW_LIST' && value === undefined) {
203
- params[param] = ''; // Default to empty string for allowlist
205
+ if (param === "BENCHLING_WEBHOOK_ALLOW_LIST" && value === undefined) {
206
+ params[param] = ""; // Default to empty string for allowlist
204
207
  }
205
208
  else {
206
- params[param] = value || '';
209
+ params[param] = value || "";
207
210
  }
208
211
  });
209
212
  // Validate and build secret data
210
213
  const secretData = validateParameters(params);
211
- console.log(chalk_1.default.green('\n✓ All parameters validated'));
212
- console.log(chalk_1.default.blue(`\nParameters to be stored in secret:`));
214
+ console.log(chalk_1.default.green("\n✓ All parameters validated"));
215
+ console.log(chalk_1.default.blue("\nParameters to be stored in secret:"));
213
216
  console.log(chalk_1.default.gray(` tenant: ${secretData.tenant}`));
214
217
  console.log(chalk_1.default.gray(` client_id: ${secretData.client_id.substring(0, 4)}***`));
215
- console.log(chalk_1.default.gray(` client_secret: ***`));
218
+ console.log(chalk_1.default.gray(" client_secret: ***"));
216
219
  console.log(chalk_1.default.gray(` app_definition_id: ${secretData.app_definition_id}`));
217
220
  console.log(chalk_1.default.gray(` pkg_prefix: ${secretData.pkg_prefix}`));
218
221
  console.log(chalk_1.default.gray(` pkg_key: ${secretData.pkg_key}`));
219
222
  console.log(chalk_1.default.gray(` user_bucket: ${secretData.user_bucket}`));
220
223
  console.log(chalk_1.default.gray(` log_level: ${secretData.log_level}`));
221
224
  console.log(chalk_1.default.gray(` enable_webhook_verification: ${secretData.enable_webhook_verification}`));
222
- console.log(chalk_1.default.gray(` webhook_allow_list: ${secretData.webhook_allow_list || '(empty)'}`));
225
+ console.log(chalk_1.default.gray(` webhook_allow_list: ${secretData.webhook_allow_list || "(empty)"}`));
223
226
  // Create or update secret
224
227
  await createOrUpdateSecret(options.secretName, options.region, secretData, options.dryRun);
225
228
  }
226
229
  main().catch(error => {
227
230
  console.error(chalk_1.default.red(`\n❌ Error: ${error.message}`));
228
- if (error.code === 'ResourceNotFoundException') {
229
- console.log(chalk_1.default.yellow('\nMake sure the AWS region is correct and you have necessary permissions.'));
231
+ if (error.code === "ResourceNotFoundException") {
232
+ console.log(chalk_1.default.yellow("\nMake sure the AWS region is correct and you have necessary permissions."));
230
233
  }
231
- else if (error.name === 'CredentialsProviderError') {
232
- console.log(chalk_1.default.yellow('\nAWS credentials not found. Please configure AWS CLI or set environment variables.'));
234
+ else if (error.name === "CredentialsProviderError") {
235
+ console.log(chalk_1.default.yellow("\nAWS credentials not found. Please configure AWS CLI or set environment variables."));
233
236
  }
234
237
  process.exit(1);
235
238
  });
@@ -1 +1 @@
1
- {"version":3,"file":"create-secret.js","sourceRoot":"","sources":["../../bin/create-secret.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-secret.js","sourceRoot":"","sources":["../../bin/create-secret.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,yCAAoC;AACpC,mCAAgD;AAChD,iDAAuD;AACvD,4EAMyC;AACzC,uCAAyB;AACzB,kDAA0B;AAe1B,MAAM,eAAe,GAAG;IACpB,kBAAkB;IAClB,qBAAqB;IACrB,yBAAyB;IACzB,6BAA6B;IAC7B,sBAAsB;IACtB,mBAAmB;IACnB,uBAAuB;IACvB,qBAAqB;IACrB,uCAAuC;IACvC,8BAA8B;CACjC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAE3E,SAAS,WAAW,CAAC,OAAgB;IACjC,MAAM,OAAO,GAAG,OAAO,IAAI,MAAM,CAAC;IAElC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,6BAA6B,OAAO,oCAAoC,CAAC,CAAC,CAAC;QACpG,OAAO;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,IAAA,eAAY,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9C,IAAA,sBAAY,EAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA8B;IACtD,2DAA2D;IAC3D,+BAA+B;IAC/B,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC3C,IAAI,KAAK,KAAK,8BAA8B,EAAE,CAAC;YAC3C,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,2CAA2C;QACnF,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,kCAAkC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAC/E,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,qBAAqB;IACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;IAC1D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,wBAAwB,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,iBAAiB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,mBAAmB;IACnB,MAAM,YAAY,GAAG,MAAM,CAAC,qCAAqC,CAAC,WAAW,EAAE,CAAC;IAChF,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,sEAAsE,MAAM,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;QAC/I,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,iEAAiE;IACjE,OAAO;QACH,MAAM,EAAE,MAAM,CAAC,gBAAgB;QAC/B,SAAS,EAAE,MAAM,CAAC,mBAAmB;QACrC,aAAa,EAAE,MAAM,CAAC,uBAAuB;QAC7C,iBAAiB,EAAE,MAAM,CAAC,2BAA2B;QACrD,UAAU,EAAE,MAAM,CAAC,oBAAoB;QACvC,OAAO,EAAE,MAAM,CAAC,iBAAiB;QACjC,WAAW,EAAE,MAAM,CAAC,qBAAqB;QACzC,SAAS,EAAE,QAAQ;QACnB,2BAA2B,EAAE,YAAY;QACzC,kBAAkB,EAAE,MAAM,CAAC,4BAA4B;KAC1D,CAAC;AACN,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,MAA4B,EAAE,UAAkB;IACxE,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,8CAAqB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,KAAK,YAAY,kDAAyB,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC;AAED,KAAK,UAAU,oBAAoB,CAC/B,UAAkB,EAClB,MAAc,EACd,UAA+B,EAC/B,MAAe;IAEf,MAAM,MAAM,GAAG,IAAI,6CAAoB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAEzD,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACtC,OAAO;IACX,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAEtD,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gCAAgC,UAAU,EAAE,CAAC,CAAC,CAAC;QACtE,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,4CAAmB,CAAC;YACtC,QAAQ,EAAE,UAAU;YACpB,YAAY,EAAE,YAAY;SAC7B,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,4CAAmB,CAAC;YACrD,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,yDAAyD;YACtE,YAAY,EAAE,YAAY;SAC7B,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,cAAc,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC;IACxF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,KAAK,UAAU,IAAI;IACf,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;IAE9B,OAAO;SACF,IAAI,CAAC,gBAAgB,CAAC;SACtB,WAAW,CAAC,kEAAkE,CAAC;SAC/E,MAAM,CAAC,0BAA0B,EAAE,wCAAwC,EAAE,8BAA8B,CAAC;SAC5G,MAAM,CAAC,uBAAuB,EAAE,YAAY,EAAE,WAAW,CAAC;SAC1D,MAAM,CAAC,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,CAAC;SACzD,MAAM,CAAC,eAAe,EAAE,mDAAmD,EAAE,KAAK,CAAC;SACnF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAE/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAC;IAE9E,mBAAmB;IACnB,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7B,qCAAqC;IACrC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,+DAA+D;QAC/D,IAAI,KAAK,KAAK,8BAA8B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAClE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,wCAAwC;QAChE,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QAChC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,iCAAiC;IACjC,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE9C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iBAAiB,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kCAAkC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;IACpG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yBAAyB,UAAU,CAAC,kBAAkB,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC;IAE/F,0BAA0B;IAC1B,MAAM,oBAAoB,CACtB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,MAAM,EACd,UAAU,EACV,OAAO,CAAC,MAAM,CACjB,CAAC;AACN,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACxD,IAAI,KAAK,CAAC,IAAI,KAAK,2BAA2B,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2EAA2E,CAAC,CAAC,CAAC;IAC3G,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,qFAAqF,CAAC,CAAC,CAAC;IACrH,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Benchling credentials for authentication
3
+ */
4
+ export interface BenchlingCredentials {
5
+ tenant: string;
6
+ clientId: string;
7
+ clientSecret: string;
8
+ }
9
+ /**
10
+ * Validation result from Benchling authentication
11
+ */
12
+ export interface ValidationResult {
13
+ isValid: boolean;
14
+ hasRequiredPermissions?: boolean;
15
+ errors: string[];
16
+ warnings?: string[];
17
+ }
18
+ /**
19
+ * Benchling authentication validator
20
+ *
21
+ * Validates Benchling credentials by attempting OAuth authentication
22
+ * and checking required permissions.
23
+ */
24
+ export declare class BenchlingAuthValidator {
25
+ /**
26
+ * Required OAuth scopes for the webhook integration
27
+ */
28
+ private static readonly REQUIRED_SCOPES;
29
+ /**
30
+ * Validate Benchling credentials
31
+ *
32
+ * @param credentials - Benchling credentials to validate
33
+ * @returns Validation result with errors and warnings
34
+ */
35
+ static validate(credentials: BenchlingCredentials): Promise<ValidationResult>;
36
+ /**
37
+ * Validate tenant format
38
+ *
39
+ * @param tenant - Benchling tenant name
40
+ * @returns True if tenant format is valid
41
+ */
42
+ static validateTenant(tenant: string): Promise<boolean>;
43
+ /**
44
+ * Validate credentials completeness
45
+ *
46
+ * @param credentials - Credentials to validate
47
+ * @returns True if all required fields are present
48
+ */
49
+ static validateCredentials(credentials: BenchlingCredentials): boolean;
50
+ /**
51
+ * Authenticate with Benchling OAuth API
52
+ *
53
+ * @param credentials - Benchling credentials
54
+ * @returns Token response from Benchling
55
+ */
56
+ private static authenticate;
57
+ /**
58
+ * Check if OAuth scopes include required permissions
59
+ *
60
+ * @param scope - OAuth scope string
61
+ * @returns True if all required scopes are present
62
+ */
63
+ private static checkPermissions;
64
+ }
65
+ //# sourceMappingURL=benchling-auth-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"benchling-auth-validator.d.ts","sourceRoot":"","sources":["../../lib/benchling-auth-validator.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAWD;;;;;GAKG;AACH,qBAAa,sBAAsB;IAC/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAqB;IAE5D;;;;;OAKG;WACiB,QAAQ,CAAC,WAAW,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqE1F;;;;;OAKG;WACiB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAapE;;;;;OAKG;WACW,mBAAmB,CAAC,WAAW,EAAE,oBAAoB,GAAG,OAAO;IAW7E;;;;;OAKG;mBACkB,YAAY;IAqDjC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAMlC"}