@quiltdata/benchling-webhook 0.7.7-20251114T165315Z → 0.7.7

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.
package/README.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  Connects Benchling lab notebook entries to Quilt data packages via webhooks.
4
4
 
5
+ ## BREAKING CHANGE: v0.7.0
6
+
7
+ Version 0.7.0 introduces a completely new configuration architecture using the industry-standing XDG_CONFIG_HOME.
8
+ If you are upgrading from an earlier version, **you must reconfigure your deployment**.
9
+ Just run the wizard and copy the necessary values from your `.env` file, if any.
10
+
5
11
  ## Prerequisites
6
12
 
7
13
  - Node.js 18+ with `npx` ([download](https://nodejs.org))
@@ -39,10 +45,6 @@ The wizard will:
39
45
 
40
46
  It will list the outputs, including the webhook URL.
41
47
 
42
- NOTE: This version no longer reads your `.env` file.
43
- Instead, it stores your results in the [XDG_CONFIG_HOME](https://wiki.archlinux.org/title/XDG_Base_Directory),
44
- where you can have more than one profile.
45
-
46
48
  ### 3. Configure Webhook URL
47
49
 
48
50
  After deployment, add the webhook URL to your [Benchling app settings](https://docs.benchling.com/docs/getting-started-benchling-apps#installing-your-app).
package/dist/bin/cli.js CHANGED
@@ -14,7 +14,6 @@ const manifest_1 = require("./commands/manifest");
14
14
  const setup_wizard_1 = require("./commands/setup-wizard");
15
15
  const setup_profile_1 = require("./commands/setup-profile");
16
16
  const health_check_1 = require("./commands/health-check");
17
- const config_show_1 = require("./commands/config-show");
18
17
  const install_1 = require("./commands/install");
19
18
  // Load package.json for version
20
19
  // eslint-disable-next-line @typescript-eslint/no-require-imports
@@ -208,20 +207,6 @@ program
208
207
  process.exit(1);
209
208
  }
210
209
  });
211
- // Config show command (for Python interop)
212
- program
213
- .command("config")
214
- .description("Show configuration for a profile as JSON")
215
- .option("--profile <name>", "Configuration profile to show", "default")
216
- .action(async (options) => {
217
- try {
218
- await (0, config_show_1.configShowCommand)(options);
219
- }
220
- catch (error) {
221
- console.error(chalk_1.default.red(error.message));
222
- process.exit(1);
223
- }
224
- });
225
210
  // Run install command when no command provided (but not for help/version flags)
226
211
  const args = process.argv.slice(2);
227
212
  const isHelpOrVersion = args.some(arg => arg === "--help" || arg === "-h" || arg === "--version" || arg === "-v");
@@ -251,9 +236,6 @@ if ((!args.length || (args.length > 0 && args[0].startsWith("--") && !isHelpOrVe
251
236
  options.awsProfile = args[i + 1];
252
237
  i++;
253
238
  }
254
- else if (args[i] === "--skip-validation") {
255
- options.skipValidation = true;
256
- }
257
239
  }
258
240
  (0, install_1.installCommand)(options)
259
241
  .then(() => process.exit(0))
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Get environment configuration from a Quilt catalog's config.json
4
+ *
5
+ * This script fetches config.json from a Quilt catalog URL and attempts to:
6
+ * 1. Parse the configuration
7
+ * 2. Query AWS CloudFormation to find the stack using resource identifiers
8
+ * 3. Extract stack outputs and parameters
9
+ * 4. Generate environment variables for .env
10
+ *
11
+ * Usage:
12
+ * node bin/get-env.ts https://quilt-catalog.yourcompany.com
13
+ * node bin/get-env.ts https://quilt-catalog.yourcompany.com --write
14
+ */
15
+ export * from "../../lib/utils/stack-inference";
16
+ //# sourceMappingURL=get-env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-env.d.ts","sourceRoot":"","sources":["../../../bin/commands/get-env.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AA+KH,cAAc,iCAAiC,CAAC"}
@@ -0,0 +1,210 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * Get environment configuration from a Quilt catalog's config.json
5
+ *
6
+ * This script fetches config.json from a Quilt catalog URL and attempts to:
7
+ * 1. Parse the configuration
8
+ * 2. Query AWS CloudFormation to find the stack using resource identifiers
9
+ * 3. Extract stack outputs and parameters
10
+ * 4. Generate environment variables for .env
11
+ *
12
+ * Usage:
13
+ * node bin/get-env.ts https://quilt-catalog.yourcompany.com
14
+ * node bin/get-env.ts https://quilt-catalog.yourcompany.com --write
15
+ */
16
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ var desc = Object.getOwnPropertyDescriptor(m, k);
19
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
20
+ desc = { enumerable: true, get: function() { return m[k]; } };
21
+ }
22
+ Object.defineProperty(o, k2, desc);
23
+ }) : (function(o, m, k, k2) {
24
+ if (k2 === undefined) k2 = k;
25
+ o[k2] = m[k];
26
+ }));
27
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
28
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
29
+ }) : function(o, v) {
30
+ o["default"] = v;
31
+ });
32
+ var __importStar = (this && this.__importStar) || (function () {
33
+ var ownKeys = function(o) {
34
+ ownKeys = Object.getOwnPropertyNames || function (o) {
35
+ var ar = [];
36
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
37
+ return ar;
38
+ };
39
+ return ownKeys(o);
40
+ };
41
+ return function (mod) {
42
+ if (mod && mod.__esModule) return mod;
43
+ var result = {};
44
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
45
+ __setModuleDefault(result, mod);
46
+ return result;
47
+ };
48
+ })();
49
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
50
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ const fs = __importStar(require("fs"));
54
+ const path = __importStar(require("path"));
55
+ // Import utility functions from lib/utils
56
+ const stack_inference_1 = require("../../lib/utils/stack-inference");
57
+ // Parse command line arguments (only when run directly)
58
+ let args;
59
+ let catalogUrl;
60
+ let outputFile;
61
+ let writeFile;
62
+ if (require.main === module) {
63
+ args = process.argv.slice(2);
64
+ catalogUrl = args.find((arg) => !arg.startsWith("--"));
65
+ outputFile = args.find((arg) => arg.startsWith("--output="))?.split("=")[1];
66
+ writeFile = args.includes("--write");
67
+ if (!catalogUrl || args.includes("--help") || args.includes("-h")) {
68
+ printHelp();
69
+ process.exit(catalogUrl ? 0 : 1);
70
+ }
71
+ }
72
+ // CLI-specific functions moved to lib/utils/stack-inference.ts
73
+ // Re-export for backward compatibility if needed
74
+ /**
75
+ * Format environment variables for output
76
+ */
77
+ function formatEnvVars(vars) {
78
+ const lines = [];
79
+ lines.push("# ==============================================================================");
80
+ lines.push("# INFERRED CONFIGURATION");
81
+ lines.push("# ==============================================================================");
82
+ lines.push("# Generated by: bin/get-env.ts");
83
+ lines.push("# Date: " + new Date().toISOString());
84
+ lines.push("#");
85
+ lines.push("# ⚠️ IMPORTANT: Review and verify all values before using!");
86
+ lines.push("# Some values may need manual verification or completion.");
87
+ lines.push("# ==============================================================================");
88
+ lines.push("");
89
+ for (const [key, value] of Object.entries(vars)) {
90
+ if (key.startsWith("#")) {
91
+ lines.push(`${key}: ${value}`);
92
+ }
93
+ else {
94
+ lines.push(`${key}=${value}`);
95
+ }
96
+ }
97
+ lines.push("");
98
+ lines.push("# ==============================================================================");
99
+ lines.push("# REQUIRED VALUES NOT INFERRED - Must be filled manually");
100
+ lines.push("# ==============================================================================");
101
+ lines.push("PREFIX=benchling-webhook");
102
+ lines.push("BENCHLING_TENANT=your-tenant");
103
+ lines.push("BENCHLING_CLIENT_ID=your-client-id");
104
+ lines.push("BENCHLING_CLIENT_SECRET=your-client-secret");
105
+ lines.push("BENCHLING_APP=benchling-webhook");
106
+ lines.push("BENCHLING_API_KEY=your-api-key");
107
+ lines.push("BENCHLING_APP_DEFINITION_ID=appdef_your_id_here");
108
+ lines.push("ENABLE_WEBHOOK_VERIFICATION=true");
109
+ lines.push("BENCHLING_TEST_ENTRY=etr_123456789");
110
+ lines.push("");
111
+ return lines.join("\n");
112
+ }
113
+ /**
114
+ * Print help
115
+ */
116
+ function printHelp() {
117
+ console.log("Usage: node bin/get-env.ts <catalog-url> [options]");
118
+ console.log("");
119
+ console.log("Arguments:");
120
+ console.log(" catalog-url URL of Quilt catalog (e.g., https://quilt-catalog.yourcompany.com)");
121
+ console.log("");
122
+ console.log("Options:");
123
+ console.log(" --output=FILE Write output to FILE instead of stdout");
124
+ console.log(" --write Write to env.inferred by default (without dot - user-visible)");
125
+ console.log(" --help, -h Show this help message");
126
+ console.log("");
127
+ console.log("Examples:");
128
+ console.log(" node bin/get-env.ts https://nightly.quilttest.com");
129
+ console.log(" node bin/get-env.ts https://nightly.quilttest.com --write");
130
+ console.log(" node bin/get-env.ts https://nightly.quilttest.com --output=env.staging");
131
+ console.log("");
132
+ console.log("Description:");
133
+ console.log(" This script fetches config.json from a Quilt catalog and infers");
134
+ console.log(" environment variables needed for benchling-webhook deployment by:");
135
+ console.log(" 1. Parsing the catalog configuration");
136
+ console.log(" 2. Querying AWS CloudFormation to find the associated stack");
137
+ console.log(" 3. Extracting stack outputs and parameters");
138
+ console.log(" 4. Generating environment variable assignments");
139
+ console.log("");
140
+ console.log("Requirements:");
141
+ console.log(" - AWS CLI installed and configured");
142
+ console.log(" - AWS credentials with CloudFormation read permissions");
143
+ console.log(" - Network access to the catalog URL");
144
+ }
145
+ /**
146
+ * Main execution
147
+ */
148
+ async function main() {
149
+ if (!catalogUrl) {
150
+ throw new Error("Catalog URL is required");
151
+ }
152
+ try {
153
+ const result = await (0, stack_inference_1.inferStackConfig)(catalogUrl);
154
+ // Format output
155
+ const output = formatEnvVars(result.inferredVars);
156
+ // Print summary
157
+ console.log("=".repeat(80));
158
+ console.log("INFERRED CONFIGURATION");
159
+ console.log("=".repeat(80));
160
+ console.log("");
161
+ console.log(output);
162
+ console.log("");
163
+ // Write to file if requested
164
+ const targetFile = outputFile || (writeFile ? "env.inferred" : null);
165
+ if (targetFile) {
166
+ const fullPath = path.resolve(targetFile);
167
+ // Check if .env already exists and warn before proceeding
168
+ const envPath = path.resolve(".env");
169
+ if (fs.existsSync(envPath)) {
170
+ console.log("⚠️ NOTICE: A .env file already exists!");
171
+ console.log(` Writing to ${targetFile} instead to avoid overwriting your configuration.`);
172
+ console.log("");
173
+ }
174
+ fs.writeFileSync(fullPath, output);
175
+ console.log("=".repeat(80));
176
+ console.log(`✓ Configuration written to: ${fullPath}`);
177
+ console.log("=".repeat(80));
178
+ console.log("");
179
+ console.log("Next steps:");
180
+ console.log(" 1. Review the generated file and verify all values");
181
+ console.log(" 2. Fill in the REQUIRED VALUES section with your Benchling credentials");
182
+ if (fs.existsSync(envPath)) {
183
+ console.log(" 3. Carefully merge with your existing .env file (DO NOT overwrite!)");
184
+ console.log(" Compare: diff .env env.inferred");
185
+ }
186
+ else {
187
+ console.log(" 3. Copy to .env when ready: cp env.inferred .env");
188
+ }
189
+ console.log("");
190
+ }
191
+ else {
192
+ console.log("=".repeat(80));
193
+ console.log("To save this configuration, run:");
194
+ console.log(` node bin/get-env.ts ${catalogUrl} --write`);
195
+ console.log("=".repeat(80));
196
+ console.log("");
197
+ }
198
+ }
199
+ catch (error) {
200
+ const err = error;
201
+ console.error("Error:", err.message);
202
+ process.exit(1);
203
+ }
204
+ }
205
+ if (require.main === module) {
206
+ main();
207
+ }
208
+ // For backward compatibility, re-export from the new location
209
+ __exportStar(require("../../lib/utils/stack-inference"), exports);
210
+ //# sourceMappingURL=get-env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-env.js","sourceRoot":"","sources":["../../../bin/commands/get-env.ts"],"names":[],"mappings":"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"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quiltdata/benchling-webhook",
3
- "version": "0.7.7-20251114T165315Z",
3
+ "version": "0.7.7",
4
4
  "description": "AWS CDK deployment for Benchling webhook processing using Fargate - Deploy directly with npx",
5
5
  "main": "dist/lib/index.js",
6
6
  "types": "dist/lib/index.d.ts",
@@ -8,7 +8,8 @@
8
8
  "dist/",
9
9
  "cdk.json",
10
10
  "README.md",
11
- "LICENSE"
11
+ "LICENSE",
12
+ "env.template"
12
13
  ],
13
14
  "bin": {
14
15
  "benchling-webhook": "./dist/bin/cli.js"
@@ -37,7 +38,7 @@
37
38
  "test": "npm run build:typecheck && npm run test:ts && npm run test:python",
38
39
  "test:ci": "npm run build:typecheck && npm run test:ts",
39
40
  "test:dev": "make -C docker test-deployed-dev PROFILE=dev",
40
- "test:local": "make -C docker build && make -C docker test-local PROFILE=dev",
41
+ "test:local": "make -C docker build && make -C docker test-local",
41
42
  "test:prod": "make -C docker test-deployed-prod",
42
43
  "test:python": "make -C docker test-unit",
43
44
  "test:ts": "cross-env NODE_ENV=test jest --maxWorkers=50%",
package/env.template ADDED
@@ -0,0 +1,79 @@
1
+ #
2
+ # ALWAYS REQUIRED PARAMETERS
3
+ #
4
+
5
+ # --- Benchling OAuth Configuration ---
6
+ # Tenant: Use XXX if you login at XXX.benchling.com
7
+ BENCHLING_TENANT=your-tenant
8
+
9
+ # OAuth credentials from your Benchling app
10
+ BENCHLING_CLIENT_ID=your-client-id
11
+ BENCHLING_CLIENT_SECRET=your-client-secret
12
+
13
+ # App definition ID from Benchling app manifest
14
+ BENCHLING_APP_DEFINITION_ID=appdef_your_id_here
15
+
16
+ # S3 bucket for storing Benchling exports (YOUR data bucket)
17
+ BENCHLING_PKG_BUCKET=your-data-bucket # (without s3:// prefix)
18
+
19
+ #
20
+ # POSSIBLY REQUIRED PARAMETERS
21
+ #
22
+
23
+ QUILT_CATALOG=quilt-stack.your-company.com
24
+ # Required UNLESS available from 'quilt3 config'
25
+
26
+ BENCHLING_TEST_ENTRY=etr_123456789
27
+ # Actual entry ID from your tenant, needed to run integration tests
28
+
29
+ #
30
+ # Optional PARAMETERS
31
+ #
32
+
33
+ # --- Package Configuration ---
34
+ # Prefix for Quilt package names (e.g., "benchling/my-experiment")
35
+ BENCHLING_PKG_PREFIX=benchling
36
+
37
+ # Metadata key to link Benchling entries to packages
38
+ BENCHLING_PKG_KEY=experiment_id
39
+
40
+
41
+ # --- Application Configuration (Required) ---
42
+ # Logging level: DEBUG, INFO, WARNING, ERROR, CRITICAL
43
+ BENCHLING_LOG_LEVEL=INFO
44
+
45
+ # Enable/disable webhook signature verification (true/false)
46
+ BENCHLING_ENABLE_WEBHOOK_VERIFICATION=true
47
+
48
+ # Comma-separated list of allowed source IPs (leave empty to allow all)
49
+ # Example: 34.216.192.90,34.217.183.162
50
+ BENCHLING_WEBHOOK_ALLOW_LIST=
51
+
52
+ # ==============================================================================
53
+ # NOTES
54
+ # ==============================================================================
55
+ #
56
+ # Quick Start:
57
+ # 1. Copy this file to .env: cp env.template .env
58
+ # 2. Fill in BENCHLING_* variables (section 2)
59
+ # 3. Create secret: npm run config
60
+ # 4. Fill in QuiltStackARN (section 1)
61
+ # 5. Deploy: npm run deploy
62
+ #
63
+ # Configuration at Runtime:
64
+ # The deployed stack resolves ALL configuration from just 2 sources:
65
+ # - QuiltStackARN → gets Quilt catalog, database, SQS queue from CloudFormation
66
+ # - BenchlingSecret → gets all Benchling credentials and app config from Secrets Manager
67
+ #
68
+ # No other environment variables are needed for production deployment.
69
+ #
70
+ # Local Development:
71
+ # For testing locally without AWS:
72
+ # - make -C docker run-local (starts Flask with mocked AWS)
73
+ # - make -C docker test-local (runs tests against local server)
74
+ #
75
+ # For More Information:
76
+ # - See docs/PARAMETERS.md for parameter reference
77
+ # - See README.md for complete setup guide
78
+ # - Run: npm run cli -- --help
79
+ #
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quiltdata/benchling-webhook",
3
- "version": "0.7.7-20251114T165315Z",
3
+ "version": "0.7.7",
4
4
  "description": "AWS CDK deployment for Benchling webhook processing using Fargate - Deploy directly with npx",
5
5
  "main": "dist/lib/index.js",
6
6
  "types": "dist/lib/index.d.ts",
@@ -8,7 +8,8 @@
8
8
  "dist/",
9
9
  "cdk.json",
10
10
  "README.md",
11
- "LICENSE"
11
+ "LICENSE",
12
+ "env.template"
12
13
  ],
13
14
  "bin": {
14
15
  "benchling-webhook": "./dist/bin/cli.js"
@@ -37,7 +38,7 @@
37
38
  "test": "npm run build:typecheck && npm run test:ts && npm run test:python",
38
39
  "test:ci": "npm run build:typecheck && npm run test:ts",
39
40
  "test:dev": "make -C docker test-deployed-dev PROFILE=dev",
40
- "test:local": "make -C docker build && make -C docker test-local PROFILE=dev",
41
+ "test:local": "make -C docker build && make -C docker test-local",
41
42
  "test:prod": "make -C docker test-deployed-prod",
42
43
  "test:python": "make -C docker test-unit",
43
44
  "test:ts": "cross-env NODE_ENV=test jest --maxWorkers=50%",
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Config Show Command
4
- *
5
- * Outputs the complete configuration for a profile as JSON.
6
- * This is used by Python code to avoid config logic duplication.
7
- */
8
- interface ConfigShowOptions {
9
- profile?: string;
10
- json?: boolean;
11
- }
12
- export declare function configShowCommand(options: ConfigShowOptions): Promise<void>;
13
- export {};
14
- //# sourceMappingURL=config-show.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-show.d.ts","sourceRoot":"","sources":["../../../bin/commands/config-show.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAIH,UAAU,iBAAiB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAejF"}
@@ -1,24 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- /**
4
- * Config Show Command
5
- *
6
- * Outputs the complete configuration for a profile as JSON.
7
- * This is used by Python code to avoid config logic duplication.
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.configShowCommand = configShowCommand;
11
- const xdg_config_1 = require("../../lib/xdg-config");
12
- async function configShowCommand(options) {
13
- const profile = options.profile || "default";
14
- const xdg = new xdg_config_1.XDGConfig();
15
- // Check if profile exists
16
- if (!xdg.profileExists(profile)) {
17
- throw new Error(`Profile does not exist: ${profile}`);
18
- }
19
- // Read the profile configuration
20
- const config = xdg.readProfile(profile);
21
- // Always output as JSON (for Python consumption)
22
- console.log(JSON.stringify(config, null, 2));
23
- }
24
- //# sourceMappingURL=config-show.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-show.js","sourceRoot":"","sources":["../../../bin/commands/config-show.ts"],"names":[],"mappings":";;AACA;;;;;GAKG;;AASH,8CAeC;AAtBD,qDAAiD;AAO1C,KAAK,UAAU,iBAAiB,CAAC,OAA0B;IAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC;IAE7C,MAAM,GAAG,GAAG,IAAI,sBAAS,EAAE,CAAC;IAE5B,0BAA0B;IAC1B,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,iCAAiC;IACjC,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAExC,iDAAiD;IACjD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC"}