@quiltdata/benchling-webhook 0.7.7 → 0.7.8-20251115T063729Z

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 (81) hide show
  1. package/README.md +24 -11
  2. package/dist/bin/cli.js +77 -3
  3. package/dist/bin/cli.js.map +1 -1
  4. package/dist/bin/commands/config-show.d.ts +14 -0
  5. package/dist/bin/commands/config-show.d.ts.map +1 -0
  6. package/dist/bin/commands/config-show.js +24 -0
  7. package/dist/bin/commands/config-show.js.map +1 -0
  8. package/dist/bin/commands/deploy.d.ts +14 -0
  9. package/dist/bin/commands/deploy.d.ts.map +1 -1
  10. package/dist/bin/commands/deploy.js +1 -0
  11. package/dist/bin/commands/deploy.js.map +1 -1
  12. package/dist/bin/commands/infer-quilt-config.d.ts +3 -0
  13. package/dist/bin/commands/infer-quilt-config.d.ts.map +1 -1
  14. package/dist/bin/commands/infer-quilt-config.js +74 -8
  15. package/dist/bin/commands/infer-quilt-config.js.map +1 -1
  16. package/dist/bin/commands/install.d.ts.map +1 -1
  17. package/dist/bin/commands/install.js +40 -7
  18. package/dist/bin/commands/install.js.map +1 -1
  19. package/dist/bin/commands/manifest.d.ts +20 -3
  20. package/dist/bin/commands/manifest.d.ts.map +1 -1
  21. package/dist/bin/commands/manifest.js +23 -7
  22. package/dist/bin/commands/manifest.js.map +1 -1
  23. package/dist/bin/commands/setup-wizard.d.ts +67 -13
  24. package/dist/bin/commands/setup-wizard.d.ts.map +1 -1
  25. package/dist/bin/commands/setup-wizard.js +239 -742
  26. package/dist/bin/commands/setup-wizard.js.map +1 -1
  27. package/dist/bin/commands/sync-secrets.d.ts +7 -7
  28. package/dist/bin/commands/sync-secrets.d.ts.map +1 -1
  29. package/dist/bin/commands/sync-secrets.js +55 -15
  30. package/dist/bin/commands/sync-secrets.js.map +1 -1
  31. package/dist/bin/commands/validate.d.ts +18 -3
  32. package/dist/bin/commands/validate.d.ts.map +1 -1
  33. package/dist/bin/commands/validate.js +103 -69
  34. package/dist/bin/commands/validate.js.map +1 -1
  35. package/dist/lib/types/config.d.ts +13 -0
  36. package/dist/lib/types/config.d.ts.map +1 -1
  37. package/dist/lib/types/config.js +1 -0
  38. package/dist/lib/types/config.js.map +1 -1
  39. package/dist/lib/utils/config.d.ts +14 -17
  40. package/dist/lib/utils/config.d.ts.map +1 -1
  41. package/dist/lib/utils/config.js +6 -88
  42. package/dist/lib/utils/config.js.map +1 -1
  43. package/dist/lib/wizard/phase1-catalog-discovery.d.ts +41 -0
  44. package/dist/lib/wizard/phase1-catalog-discovery.d.ts.map +1 -0
  45. package/dist/lib/wizard/phase1-catalog-discovery.js +206 -0
  46. package/dist/lib/wizard/phase1-catalog-discovery.js.map +1 -0
  47. package/dist/lib/wizard/phase2-stack-query.d.ts +35 -0
  48. package/dist/lib/wizard/phase2-stack-query.d.ts.map +1 -0
  49. package/dist/lib/wizard/phase2-stack-query.js +99 -0
  50. package/dist/lib/wizard/phase2-stack-query.js.map +1 -0
  51. package/dist/lib/wizard/phase3-parameter-collection.d.ts +24 -0
  52. package/dist/lib/wizard/phase3-parameter-collection.d.ts.map +1 -0
  53. package/dist/lib/wizard/phase3-parameter-collection.js +399 -0
  54. package/dist/lib/wizard/phase3-parameter-collection.js.map +1 -0
  55. package/dist/lib/wizard/phase4-validation.d.ts +22 -0
  56. package/dist/lib/wizard/phase4-validation.d.ts.map +1 -0
  57. package/dist/lib/wizard/phase4-validation.js +294 -0
  58. package/dist/lib/wizard/phase4-validation.js.map +1 -0
  59. package/dist/lib/wizard/phase5-mode-decision.d.ts +22 -0
  60. package/dist/lib/wizard/phase5-mode-decision.d.ts.map +1 -0
  61. package/dist/lib/wizard/phase5-mode-decision.js +65 -0
  62. package/dist/lib/wizard/phase5-mode-decision.js.map +1 -0
  63. package/dist/lib/wizard/phase6-integrated-mode.d.ts +24 -0
  64. package/dist/lib/wizard/phase6-integrated-mode.d.ts.map +1 -0
  65. package/dist/lib/wizard/phase6-integrated-mode.js +131 -0
  66. package/dist/lib/wizard/phase6-integrated-mode.js.map +1 -0
  67. package/dist/lib/wizard/phase7-standalone-mode.d.ts +25 -0
  68. package/dist/lib/wizard/phase7-standalone-mode.d.ts.map +1 -0
  69. package/dist/lib/wizard/phase7-standalone-mode.js +210 -0
  70. package/dist/lib/wizard/phase7-standalone-mode.js.map +1 -0
  71. package/dist/lib/wizard/types.d.ts +175 -0
  72. package/dist/lib/wizard/types.d.ts.map +1 -0
  73. package/dist/lib/wizard/types.js +11 -0
  74. package/dist/lib/wizard/types.js.map +1 -0
  75. package/dist/package.json +3 -4
  76. package/package.json +3 -4
  77. package/dist/bin/commands/get-env.d.ts +0 -16
  78. package/dist/bin/commands/get-env.d.ts.map +0 -1
  79. package/dist/bin/commands/get-env.js +0 -210
  80. package/dist/bin/commands/get-env.js.map +0 -1
  81. package/env.template +0 -79
@@ -1,210 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-env.js","sourceRoot":"","sources":["../../../bin/commands/get-env.ts"],"names":[],"mappings":"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"}
package/env.template DELETED
@@ -1,79 +0,0 @@
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
- #